HISE Logo Forum
    • Categories
    • Register
    • Login

    For doing a drumkit - 1 sampler for the whole kit, or multiple samplers?

    Scheduled Pinned Locked Moved General Questions
    3 Posts 3 Posters 153 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      Orvillain
      last edited by Orvillain

      I just wanted to put out a thought experiment. If I was gonna make a small drumkit plugin, would it be better to have 1 sampler or multiple samplers?

      If we said the spec was something as basic as:

      • Ability to switch between different kick, snare, tom, or cymbal drums.
      • Ability to load/save a custom selection of drums.
      • Ability to have proper hihat open>closed choking behaviour.

      To my mind the 1 sampler approach would require:

      • Custom function to clear away all samples mapped to a known list of keys for a particular drum.
      • Custom function to load all samples required for a particular drum.
      • Ability to perform RRgroup assignment as part of this load operation.
      • Ability to perform velocity split assignment as part of this load operation.

      But the limitations of this approach would be:

      • Inability to adjust the routing of multi-mic channels where you have channel mismatches across the drums (kick doesn't have a snare channel for example)
      • It isn't immediately clear to me how the choking behaviour would work when wanting to choke keys for a single sampler.

      Whereas the multi sampler approach would potentially be a bit simpler:

      • One sampler per drumkit slot.
      • Each slot could have custom max and soft limits to bring memory usage down.
      • Each slot gets its own envelope, which would be beneficial because not all drums need to have the same super long envelope tails.
      • Clearing and loading individual drums become simple calls to the sample map clear/load functions for the sampler.
      • Loading an entire drumkit is an array of sampler id's and samplemap names that get processed in a loop. Pretty simple code.

      But the limitations of this approach would be:

      • Higher RAM usage because of the multiple samplers. Although it isn't clear to me how serious an issue this would be.
      • No dynamic allocation of the number of drum slots.

      It is worth bearing in mind that drum sample libraries quite often do not have the same channels for every single drum. Sometimes you don't have bleed channels, sometimes you don't have a cymbal direct channel, sometimes you don't have a specific room channel for a specific drum, etc etc.

      Just thinking aloud really, but what do you think would be the best approach??

      1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey
        last edited by

        Multiple samplers

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        Christoph HartC 1 Reply Last reply Reply Quote 1
        • Christoph HartC
          Christoph Hart @d.healey
          last edited by

          Definitely multiple samplers with a reduced voice count per instance (depending on the decay time of the drum, a voice between 16 and 64 should be enough).

          Having 8-12 sampler modules is totally fine.

          1 Reply Last reply Reply Quote 1
          • First post
            Last post

          39

          Online

          1.7k

          Users

          11.7k

          Topics

          102.2k

          Posts