sketchbook: bouncy game music

Here’s another quick piece done quickly for a purpose: my friend Switchbreak spent the weekend developing a short Flash game for the So Many Rooms game jam, where each developer had 36 hours to produce a game that challenges the player to get from a starting door to an ending door, using whatever obstacles or gameplay mechanics they like. Switchbreak’s game is full of bouncing balls, so when he asked me to produce a quick tune for him, I made sure that it was appropriately bouncy.

This was whipped up on Sunday night mostly in Qtractor, with Hydrogen for the drums, and my Blofeld for all the other sounds. I’d normally record everything in to Ardour and mix it there, but I stayed in Qtractor for this one, and it did a fine job; I had no trouble replicating my usual trick of running the drums on to separate tracks so that I can apply individual effects to each, for instance. The result is a bit trite, but it’s fun, it loops pretty smoothly, and I think it suits the game well.

mp3 | vorbis | flac | 1:18

sketchbook: tunestorm 04

There was another Tunestorm challenge earlier this month, and in the finest tradition of such things, I threw together an entry at the last minute. The challenge this time was to make a piece using a sample taken from a spinning hard drive, which sounded just like a sine wave that slowly dropped in pitch.

You could use other sounds, too, but I chose not to — I loaded a chunk of the original sound in to a sampler (Specimen), ran it through some distortion effects, then through PHASEX, where I tweaked away on the filter in real-time using my Korg nanoKONTROL, and finally through some spatial effects. The result was some throbbing, unsettling ambient art-wankery that I call “pulse”.

mp3 | vorbis | flac | 2:50

new studio toys

In the last few weeks I’ve added two great bits of gear to my home studio. The first, which I actually received for Christmas, is the Korg nanoKONTROL (Amazon link), a brilliant little MIDI controller that I think just everyone could find a use for.

Korg nanoKONTROL

Korg's nanoKONTROL is a brilliant, affordable MIDI controller

The nanoKONTROL is part of Korg’s nano series of tiny, laptop-friendly controllers which also includes the nanoPAD, with 12 drum pads and an X/Y touch controller, and the nanoKEY, a 25-key keyboard (of sorts). While I don’t think much of the nanoKEY — Akai’s LPK25 (Amazon link), while slightly larger, looks far more practical — the nanoPAD looks good, but I still think the nanoKONTROL is the pick of the bunch.

Its layout, with nine faders, nine knobs, and eighteen buttons, along with a set of transport controls, certainly lends itself to DAW mixer control, but it’s flexible enough to control just about anything. It did a fine job of handling synth parameters on PHASEX, for instance — using PHASEX’s MIDI learn features (just right-click on a control and move the appropriate MIDI controller) I was quickly able to set up the nanoKONTROL’s faders to configure the amp and filter envelopes, and the knobs to control filter cutoff, resonance, and envelope amount, among other things. It’s also brilliant as a SooperLooper controller, letting you pan, fade, and mute individual loops on-the-fly.

As a class-compliant USB MIDI device, it goes without saying that it works perfectly under Linux, but I’ll say it anyway — the nanoKONTROL works perfectly under Linux, with true plug-and-play simplicity. If you want to reconfigure the device, to change the MIDI messages that each controller sends, there’s a native app for that, called Nano-Basket, but Korg’s official app runs flawlessly under Wine, too.

Korg has announced updated versions of its nano controllers, but there’s no hard word on when they’ll be available yet. The nanoKONTROL2 adds a third set of buttons but loses one fader and knob, so I’m glad to have the original.

The Saffire PRO 40 has 8 inputs with preamps, 8 line outs, and ADAT expandability

The other new addition is somewhat bigger: it’s a Focusrite Saffire PRO 40 (Amazon link), a Firewire audio interface with eight channels of analogue I/O. Each input is a combo XLR/TRS jack with a preamp and phantom power, so it can handle up to eight condenser mics, but it’s just as happy handling line inputs from synths. In addition to the analogue I/O, there are S/PDIF and ADAT ports, which can add up to another 10 inputs and outputs.

As a sysadmin I’m quite familiar with how big standard 19″ rackmounted gear is, but for some reason, I was still surprised when I got it home — this thing is big! Now that I’ve made room for it, though, it’s fine, and beacuse it’s replacing not just my old PCI sound card, but also my Behringer mixer, it doesn’t actually take up much more space than my old setup did. Having to run just a single Firewire cable down to the PC is great — I certainly won’t miss running 3.5mm audio cables between my mixer and my PC’s back panel.

Like all supported Firewire audio devices, the PRO 40 uses drivers from the FFADO project, but support for the PRO 40 (as well as the smaller PRO 24, and some competing devices that use the same DICE chipset) is only available in the development FFADO code from Subversion. The current FFADO build in Ubuntu 10.10 is actually a Subversion build that’s recent enough to handle the PRO 40, but before I realised that I’d already installed the drivers manually. It wasn’t exactly plug-and-play, but once I switched to the old Firewire stack (playback doesn’t work on DICE devices with the new stack right now), and got the PRO 40 talking to my Firewire controller successfully (annoyingly, turning everything off and on again helped with this), getting it running with JACK was actually fairly straightforward.

So far, the performance has been fantastic. I haven’t given its preamps a good test with my mic yet, but recordings of my Blofeld via line-in were very clean and noise-free. Even my analogue delay pedal, which I know is a bit noisy, sounds much quieter than before, and with eight ins and outs on the one device, it’s very easy to hook up that delay pedal, send audio to it from Ardour, and then receive the output back in to Ardour. Even with Ubuntu 10.10’s stock generic kernel, I’m running pretty solidly at 8ms latency, which is low enough for my needs.

IR: the convolution plugin i’ve been waiting for

It’s not every day that you wake up to find something that you’ve always wanted, but it happened this morning when I read the announcement for IR, an LV2 plugin that combines the convolution engine from Jconvolver with a slick, powerful user interface. It doesn’t do anything you couldn’t already do under Linux, but its ease (and speed) of use takes convolution under Linux to an entirely new level.

IR plugin

IR gives you incredibly quick access to your convolution reverbs

It’s great that IR runs as a plugin (it’s certainly easier than using Jconvoler as an insert via JACK), but its greatest feature is its file browser, which lets you browse through collections of impulse response files with ease, and load new files for auditioning with a single click. It’s hard to overstate how handy this is; finding the right IR file for a particular job is often a case of trial and error, and IR’s file browser lets you test your options and narrow the possibilities very, very quickly. IR automatically resamples your IR files to your session’s sample rate as they’re loaded, too.

IR also borrows some reverb-shaping ideas from its proprietary Windows and Mac OS X counterparts, like SIR2 and Altiverb. Beyond simply adjusting the wet/dry gains (so you can use it on individual instruments, or on a send bus) and adding pre-delay, you can actually shape your impulse respones: you can stretch and shrink their length, and use envelope controls to shape their volume over time. That means that if you find an impulse response that sounds great, but isn’t quite the right length, you can trim or extend it to match your needs with ease.

The envelope and length controls let you shape your reverbs

To me, IR is a great example of open-source at its best. Plugin author Tom Szilagyi (who, uncoincidentally, is also the author of the excellent TAP plugin suite) wanted a convolution reverb plugin, so he built one! Normally that’d be a massive undertaking, but by “standing on the shoulders of giants” — building on top of Jconvolver’s “zita-convolver” library, as wel; as libsamplerate for audio resampling and libsndfile for reading the audio files — he was able to put it together in just a few weeks.

If you want to try IR yourself (and if you don’t, I haven’t done my job properly), it may be worth waiting a few days — the current version has some minor issues, including a potential memory leak on multi-core systems. It’s definitely a project to keep an eye on, though!


One thing I did get up to on the holidays was appearing at random on local community radio! I’ve been on my fair share of podcasts, but there’s definitely something more real about going in to a studio and going out live over the airwaves, even if you know there’s probably not that many people listening.

The even was SYN FM’s Geekageddon, a celebration of all things geeky, with 30 geek guests across 30 hours. A friend of ours that’s staying with us got asked to fill an early-morning spot on the first day, and when she did, there were still slots open toward the end; I ended up with midnight, the 25th hour of the show, which I filled with talk of music production under Linux. For someone who’d been on the air for 25 straight hours and who knew nothing of the topic, I think he did a great job, and I got to play some of my tracks for the audience, which was great fun.

Hopefully the entire show will be up in MP3 format at some point; once it is, I’ll be sure to link it up!

back from the break

It’s a new year! I’m back at work this week, after too short a break, but I decided to keep my leave days up my sleeve for later on in the year rather than use them now. It’s always problematic heading off at the same time as other people, anyway, so I’d rather wait until I can take time off while others are around to cover me as much as possible.

It wasn’t a long break, but it was good, even though I didn’t feel great for much of it. I was hoping to get the track that I’m working on finished by the end of 2010, and that didn’t happen, but I had time to relax between hanging out with friends and catching up with the family. I also got some great Xmas loot — as well as a bunch of fun stuff, including Thinkgeek’s synth T-shirt (with actual working synth keyboard), a super-cute Android plushie, and some totally awesome GLaDOS core module plushies (which talk!), I got the very practical and awesome Korg nanoKONTROL MIDI controller, which I’m sure I’ll talk about more in the future.

Last year’s New Year’s resolution of sorts was to write at least one proper song with lyrics, and while I didn’t quite get there, that is what I’m working on at the moment, so it’ll definitely be done by the end of this year! I did release four tracks and one cover, though, so I think I did okay. I still don’t have lyrics finalised for the new track, but the backing track arrangement is mostly done now, so once I have the lyrics it should all come together pretty quickly.