approximating realism: drumming with linuxsampler

It may be the silly season, but I’ve still had plenty of time to work on a new track. It’s coming along well I think, but it’s been quite a challenge, mainly beacuse it’s a very “back to basics” track, with a minimal, piano-based arrangement. You’d think that would make things easy, but it’s quite the opposite! With just a few instruments in the mix, the quality of the performances and mixing, and the authenticty of the sounds, will be paramount. With Pianoteq taking care of the piano, the drums have been my main focus so far.

My first instinct was to load up Hydrogen, sequenced from Qtractor, with one of the few big Hydrogen kits around. The Big Mono kit from Analogue Drums sat nicely with the feel of the track, but they’re recorded in mono (as the name suggests), and they have a lot of room sound, too. They also push Hydrogen hard — with 210MB of samples loaded, it needs 400-500MB of RAM to run. If I wanted to go with even better sounds, Hydrogen wasn’t going to work.

The answer, then, was LinuxSampler, which laughs heartily at gigabyte-sized sound sets. I took the plunge and spent a whole $25 on another Analogue Drums kit, called RockStock — it has more drums than Big Mono, and they’re all recorded in stereo, with separate close mic and room mic recordings of each. Thanks to some third-party SFZ mappings, it works beautifully in LinuxSampler, and despite having 870MB of samples, it uses just 200-300MB.

One question in using LinuxSampler that I haven’t quite answered yet is how I’m going to mix it, since there’s no way to get separate per-drum JACK outputs from it. You can load the same sound set in to LinuxSampler multiple times, though, with little additional overhead, so there’s nothing stopping me from loading RockStock five or six times for each of the different drums I want to use. Those separate instances can then be routed to separate JACK outputs. I just need to make sure that I split my MIDI drum tracks up in the same way.

I have some basic drum parts written, using just two groups of drums (kick/snare/toms, and hats/cymbals) routed to two instances of RockStock in LinuxSampler, and it’s sounding pretty good — not quite there, but hopefully not too far off. With more attention to detail in the programming (it feels like I’m slowly learning the drums, just without the drums!), and some appropriate treatment in the mixdown (EQ, compression, etc.), I think I’ll be able to produce some solid, convincing drum parts.

6 thoughts on “approximating realism: drumming with linuxsampler

  1. A little question about Linuxsampler and the Kit_BigMono-LinuxSampler.sfz file.

    Am I supposed to load it as instrument selected from file in the Jsampler engine pannel ?

    Have tried to launch it everywhere in Jsampler, and nothing works !

  2. If you’re using the “classic” JSampler, you’ll have to download the Fantasia GUI instead. In that, after you’ve created your instrument, click on where it says “GIG engine” and change that to “SFZ engine”, and then load the instrument in the normal way.

    If you still have trouble loading the file, the problem might be that the SFZ file isn’t in the right place, compared to the actual BigMono sample files. It needs to be in its own directory, alongside the “Wav” directory that holds the samples.

  3. It’s Fantasia GUI used.
    But w/click the orange GIG engine no SFZ appears.
    Did I have to add an option w/confiure Linuxsampler ?

  4. I’d forgotten that you’re using LinuxSampler 1.0, sorry — in order to get SFZ support, you need to run the latest code from Subversion instead.

  5. Oups ! Good new, it’s not because of me that it don’t work !!!

    Thank you LSD.

  6. First, thanks for sharing your thoughts and experiences here on woo, tangent! Your tidbits have been a great help to me on my journey into linux music making!

    A note on multi outputs – its actually not hard with linuxsampler, in fact there are at least 2 ways – you mentioned loading multiple kits – if you rebuild those kits with the subset you want on a particular output channel, then they can all share a midi in, and you get a playable, multi-out instrument.

    An example lscp file for the Salamander drum kit (using his 7 individual sfz files) can be found here to explain what I mean
    https://www.dropbox.com/s/c0741pxha70201k/SalamanderDrums7StereoOut.lscp

    Would be nicer if LS’s SFZ implementation implemented the “output” opcode and allowed it to direct different sounds to different outs.. but not currently.. but there are good workarounds!

Leave a Reply

Your email address will not be published. Required fields are marked *