new track: texel

After a few last-minute tweaks, I’m finally ready to release my new track. The plan is for this to be the first track of an EP that will be available for download from Bandcamp, but I’m sure that won’t happen for several months, so I wanted to post the track here early to give everyone a chance to hear it. It’s a downbeat, ambient techno-kinda thing I call “Texel”:


mp3 | ogg | flac | 3 minutes 16 seconds

I talked a little about the production in an earlier post, but I have included some further details after the jump.
Continue reading

everything you always wanted to know about linuxsampler

LinuxSampler is an odd beast — it can be tricky to install, and confusing to configure, but it’s undoubtedly the best tool for working with large sampled instruments under Linux. With its next release adding support for the increasingly popular SFZ format, and the fact that it’s one of the few LV2 synth plugins ready for use with Ardour 3, I think it’s about to get a lot more important.

Let’s not get too far ahead of ourselves, though. What exactly is LinuxSampler, what’s it useful for, and perhaps most importantly, how do we use it?

LinuxSampler GUI

LinuxSampler handles large sampled instruments with ease

LinuxSampler basics

LinuxSampler is a sample-based synth that lets you use very large sampled instruments. Rather than loading the entire instrument in to RAM, LinuxSampler loads just the start of each sample, and then reads the rest from disk as it’s needed. Because of this, it can load instruments much larger than your system would be able to handle with other software, such as Hydrogen or Fluidsynth/Qsynth.

Realistic piano sounds are perhaps the classic use for LinuxSampler — a good piano, like the Salamander Grand Piano, can reach 2GB or more in size — but it works just as well for electric pianos, guitars, violins, trumpets, drum kits (a personal favourite), or any other instrument that calls for large samples, or a lot of samples, to provide a realistic result.

LinuxSampler can be run standalone — it supports ALSA and JACK for both MIDI input and audio output, and can handle an arbitrary number of inputs and outputs mapped to different instruments. It can also run as a plugin; the LV2 plugin runs well under both Ardour 3 and Qtractor.

File formats

The inspiration for LinuxSampler was a Windows app called Gigasampler, which was the first sampler to incorporate on-demand streaming of sample data. It’s a standard feature in professional samplers today, and Gigasampler itself has been defunct for some time, but its legacy lives on in the “.gig” file format, which is also LinuxSampler’s primary file format.

You can still find some great commercial sample libraries in .gig format, but it’s definitely falling out of favour today. To address that, the development branch of LinuxSampler has added support for a new format called SFZ. It’s a young format, but it’s growing in popularity thanks to the availability of free SFZ plugins across all platforms. Also, because of its design (the SFZ file itself is a simple text file, separate from the actual sample data), you can download third-party SFZ mappings for some commercial instruments.

Even though .gig is fading away commercially, it’s still useful for bundling your own sounds. The LinuxSampler project includes a .gig editor called “gigedit”, which you can use to create your own instruments.

Hopefully you now have an idea of what LinuxSampler is and what it can do for you. Now all that remains is to learn how to install and configure it!

sonatina symphonic orchestra, a CC orchestral sample pack

For a long time, the free culture world has lacked a decent set of orchestral samples. Various projects have produced or compiled samples of instruments, but often just in their raw form, requiring the user to assemble them in to something useful. It would take a hell of a lot of work to pull in samples from these various sources and turn them in to not just usable instruments, but a usable collection of instruments with a consistent sound, but that’s exactly what Mattias Westlund and some helpers have done, in the form of the Sonatina Symphonic Orchestra.

SSO (as I’ll refer to it) covers all the basics: the common brass, woodwind, and string instruments, in sections and as solo instruments, with a few important articulations (like staccato and pizzicato notes on the violin sections, for example), along with piano, chorus, and percussion instruments. They’re all bundled in to a single 440MB download (via BitTorrent) with a Creative Commons Sampling Plus licence, and the instruments themselves are all in SFZ format, so they’re compatible with the current LinuxSampler development code from CVS.

Now, at 440MB, it’s not going to rival VSL (it’s individual instruments are several times as large!), but it’s far better than anything I’ve heard from the traditional free options, such as the Fluid GM library. The demo on the SSO website is well worth a listen: it does show the library’s limitations at times, but it also shows just how good it can sound. Scoring believable orchestral parts is as much in the programming as it is in the sounds themselves, but SSO gives us all a solid, Linux-compatible base to work from.

One last word on Linux compatibility — some of the SFZ files in the collection play a bit loose with the cases on the filenames of the samples they link to, which causes problems when loading them in LinuxSampler. The authors are aware of the issue and I’m sure it’ll be addressed before the next release, but for now, I’ve uploaded a complete set of corrected SFZ files. Extract those over the top of the SFZ files from the distribution, and you shouldn’t get any trouble from LinuxSampler.

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.