Articles / Convolution
by Muied Lumens
Convolution, also known as cross-synthesis, is a great tool for new experimental sounds. It is particularly suited to making electronic instruments sound alive and can give them an "acoustic" flavour, or dare I say organic even. Indeed, convolution is most commonly used for "realistic" reverbs and it is great for this, but this article will focus on the more experimental aspects of cross-synthesis and how to make use of it as a tool for new sounds.
How does it work?
It may not be immediately obvious how cross-synthesis works so lets start there. It would be easy to compare it to a vocoder, and while that is not entirely correct, it will give you an idea of the principles of it. Like a vocoder, you use two sounds which you combine into one. The spectral (frequency) envelope of one sound is applied to the other. Unlike a vocoder though, one huge difference is that the length of the two files are added together, which is makes convolution so useful as a reverb. This process is what makes the "tail" of the reverb ring out, and you get what we call time smeared effects - sounds get spread out in time, as if we used a lot of delays.
When using convolution as a reverb, the recording of an impulse, or a wide band transient sound (ok, a loud bang) of a real acoustic space is often used, and this recording is called an impulse response (or IR for short). An other method of getting the IR of a room is by using a swept sine wave, but in this article I won't cover the details on capturing a proper IR. What's important is that the sound of an instrument or voice convolved with this particular IR will then sound like it originated in that space. The benefit is that it will often sound more realistic than what traditional digital studio reverb effects can achieve.
Convolution is a mulitplicative process, which has a copule of important implications. Firstly, it means that if one sound contains silence only, the output will be silence. Also, in theory, if the IR consists of a single sine wave at 1000 hz, and the treated audio a 500 hz sine, the result will be silence. Only frequencies common to both files will sound out. The other implication is that, as you learned in school, when multiplying, order does not matter - it does not matter which comes first or last - this means that you can load a drum loop into your convolution reverb plugin and the IR on your track and you will get exactly the same result as if you did it the other way around (you will have to repeat the IR on every bar of course - or you could use different ones on every bar).
Do not confuse this with multiplying two waveforms together, which creates a completely different effect (called ring modulation). Convolution is directly related to filtering. Reverb, which can be seen as a kind of filtering, is just one aspect of it. By using short impulses you will not have much time smearing, but the frequency caracteristics of the impulse will still be applied to the sound you are convolving.
With a few notable exceptions, convolution is static. You load up an IR and everything that goes through it will be processed exactly in the same way. You can't use it to frequency sweep at will like you can do with a classic analog filter. This means that you can't normally "play" the effect like you can so many others. In addition, it is quite taxing on the computer so in many cases it has been set up to not be meant to be played, and clicks and glitches happen if you try to automate or change parameters in real time. By all means try this before you take my word for it though!
The exceptions? These are normally plugins that employ various techniques to deal with dynamics emulation (compression and expansion) which are restricted to very short impulses and not so useful for the scope of this article. Other techniques involve live update of the IR that can be achieved with modular software like Kyma, Supercollider and probably Max/MSP.
What is it good for?
Rooms and halls are normally static (with tiny changes), and so are the vast majority of instrument bodies. Using instrument impulses are useful for making electronic sounds more "alive" or acoustic sounding, as a part of other processing. Also using highly complex static filtering like sounds from images is one of its strengths, as is strange sounding delays and in-between effects that have no distinct category. Impulses from musical notes will easily result in drones and ambient music, if you are into that. You can also partially restrict audio to a certain scale by sampling a huge chord, but be aware that the harmonics will also add to the tonal character of the processed sound. Perhaps using sine waves only will give more predictable results.
When mixing, you often set the EQ's on tracks for the duration of the song, so convolution is very useful here too. You can use very short impulses for this, and even instruments, like a hihat sample can work well, or a snippet (or time-compressed part) of a crash symbal. In fact, any situation where you have a static filter or delay or reverb will apply to convolution as well. To capture the impulse of a EQ filter, you can "draw" a short impulse and record it through an old Pultec equalizer if you are so lucky. There are various freely downloadable impulses online of famous EQ's if you care to look, and if you are interested in exploring this further, you need to create what is called Dirac Impulse. In simplified terms this is a very short pulse of samples at normalised volume. Do a search for Dirac Delta Function if you feel adventurous and ready for the maths.
Making your own
First of all, if you know anything about how impulse responses are made professionally, throw all that knowledge out the window! It is time to stop thinking and employ everything you have to make new sounds. Keeping in mind that the output is the combined spectra of both files, anything is fair game. After some experimenting you should start forming an intuition about how files will work together. You can get impulses from rooms by clapping, bursting a balloon or using a couple of planks as clappers. As with feedback you get more of the room modes (the resonant frequencies) of the room if the impulse is fairly loud. But you do not have to restrict yourself - you could also use a bunch of metal objects that you thow on the floor, or break bricks, or hit things with a bat, break glass etc.... Experiment with different mic positions and get a few of the same type of impulses if you can, to experiment with later.
Likewise you can get impulses from instruments by tapping or knocking them, obviously not too hard, and making your synth "take on the quality" of that acoustic instrument. The piano is a great, non-moving target for lush reverb, push that pedal down and hit it in different places and ways. An acoustic guitar is also an obvious victim, as are all types of drums. Come to think of it, any rigid surface could harbour potential for good impulses. So does your voice, field recordings or the radio.
There is nothing stopping you from using electronic sound sources either. Pink or brown noise in stereo makes very lush reverbs after having an appropriate envelope applied to it, and you could experiment with further processing on the noise before convolving it. Getting advanced, you can start processing loops with other loops and all sorts of morphing musical frankensteinian combinations too. Crossing arpeggios is interesting, but often requires some patience to get working in my experience.
Lfohead in the foums suggests using single cycle waveforms as IR's. He even supplied an example which you can listen to here:
I hope that establishes how easy it is to roll your own! You can employ all sorts of techniques and hopefully break all the rules on your way there. You are much more likely to get good results from experimentation than you are from trying to learn how to capture a "proper" impulse response from any given space, item or situation. I will outline some rough guidelines that will more quickly give you the desired results though.
Employ the full dynamic range
This applies to acoustic recordings of spaces and instruments, more than samples already in your personal library, but it's not a hard rule. If you have a lot of noise in your recording it will act as reverb when convolved.
Be aware of the (spectral) envelope and bandwidth
A noise signal with a slow attack in the treble will affect the end result in the same way, so don't be surprised if the top end of transients get lost this way. The same applies to the full envelope of both signals, and starts making sense after you gain some experience with this behaviour. Having the impulse fade out will often make it less dense.
Since it is very processor intensive, the longer the IR the more DSP power it will require. Reducing the sample rate will help with long impulses, or pitching it up for processing, then back down after which has the same effect.
EQ away big overloads from resonating peaks
With arbitrary files you can often get peaks where specific resonances add together, espescially with home made sounds, so be sure to chisel the sounds a bit where needed. Do this before processing with convolution rather than after, as this is easier and more managable.
Be aware of the limitations
Convolution is not suited to emulating dynamically changing effects, like chorus or compression, or even distortion. You can still use these effects in creating your own material of course, but they will behave in a different way once processed.
Convolution reverb plugins are often included with DAW's these days, and there are many more in plugin form for all formats, even free, too many to start listing here. Instead of me trying to recommend any particular plugins, this is what you should be looking for:
Most, if not all, alternatives out there should have these features built in alongside more advanced options, and this will make the experimentation more immediate as you don't have to load up your IR in an other program or track to reshape it. There are many different methods and algorithms in use as well, so it does not hurt to listen around and have more than just one in your arsenal.
As a final thought, let me add that I believe the static nature of most convolution processors is a limitation that often has to be overcome. You could make an hour of improvised piano and cross it with a sample of Humpback whale song, but even if your playing was good in the first place it tends to get boring. It works best as a tool out of many, an addition to your expanding box of sound design tricks.
Here is my rather weak performance on a piano that was left in a park for people to play a few years ago, followed by a short recording of a child's call, then the two convolved together. Note how the frequency spectrum of the kidcall file is applied to the piano. The kind of ethereal mush that follows from this is an example of how simple it is to make new sounds out of existing ones. For less time smearing, use shorter sounds in place of the IR.
That's it. Have fun!
If you want to read more on this subject, check out this article.