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!

jconvolver, inserts, and sends: a triple-header tutorial

Earlier today, when I was setting up another quick impulse response recording that I made, it occured to me that some of this stuff is really non-obvious — setting up Jconvolver takes some work, and using sends to share a single reverb within Ardour instead of using a separate reverb on each track can be a bit of a leap, too. Here, then, is a three-part tutorial that covers:

  • Setting up Jconvolver
  • Connecting Jconvolver in to Ardour as an insert effect
  • Using sends effects within Ardour

There’s a lot to get through, so let’s get cracking!
Continue reading

sketchbook: ghetto convolution reverb

Convolution reverb is a hell of a trick — it lets you record the reverb of a real-world environment (or a hardware reverb unit) and apply that reverb to a signal, with amazingly realistic results. Normally, those reverbs are recorded very carefully using high quality equipment, but I wanted to see what I could manage with something more modest: my phone.
Continue reading