PDA

View Full Version : Can someone explain "Impulse Response"


gp81
08-10-2009, 05:06 PM
I used "Recabinet" software running on Logic convolution reverb on a recording recently and it sounds great. Can someone explain with any technical accuracy how impulse responce technology is used to create these realistic cabinet and mic sounds? How does it work?

Bussman
08-10-2009, 06:33 PM
A brief input signal (impulse) is captured through the system to be sampled (speaker, mic, room etc.) This sample describes the complex dynamic behaviour of the system.

The impulse response is then mathematically combined with the input signal by your convolution engine of choice to create the processed output.

Wikipedia has good articles on Impulse Response (http://en.wikipedia.org/wiki/Impulse_response) and Convolution Reverb (http://en.wikipedia.org/wiki/Convolution_reverb).

jchan
08-10-2009, 07:58 PM
Generally speaking, an impulse or very short duration time vs amplitude pulse has a very flat and broad frequency spectrum (amplitude vs frequency). That approximates a bandwidth of all frequencies of common amplitude. By analyzing a systems response to a broad band signal like that, you get a snapshot of its frequency response at any frequency. You can capture that response and use it to model the circuit or system. You are basically getting a snapshot of its frequency response at all frequencies.

drfrankencopter
08-11-2009, 09:53 AM
Here's a cut-and paste of some notes on impulse response/convolution that I wrote for another newsgroup (Emu Paris group) about 6-7 years ago. It was before Sintefex and other 'Non-linear' convolution engines were developed, and when CPU was highly limited when doing real-time convoltion. Also, the text has a reverb focus, but the idea is the same for speaker/cab modelling.

Hope it helps...

----------
I'll try and remove all the math that's involved, but the general theory is that any linear system can be characterized by it's impulse response (it's response to a pulse, or shock). This can be applied to anything from automobile suspensions to aircraft to room reverb (the application we're interested in).

There's a mathematical process called convolution, which can be used to apply the impulse response of a given system to an input signal. In the case of an automobile suspension, this would give us the position of the suspension for a particular road surface contour (input signal). In the case of reverb, we just take our room's impulse response (I'll talk about how to get that later), and convolve it with our input signal (our aux send, or whatever we want 'reverbed'). The result is a signal that sounds just like it was coming from the room (or device) from which the impulse response was generated. So, if you can generate a bunch of impulse responses of classic studio reverb boxes, it's like having a bunch of them at your disposal.

Pluggins like Acoustic Modeler, and Altiverb (on Mac), and programs like cool edit pro and samplitude take care of the convolution for you, and work as an interface to the 'ugly math'. It's about as transparent to the user as selecting a preset (or more correctly an impulse response), and possibly changing it's decay time/predelay, or frequency content, and listening to the result.

Alllright, it sounds great right....what's the catch? Well, there are a few catches:

(1) Speed...our CPU's aren't really designed for fast convolution operations (that's more of a custom DSP type application). So, most people process the convolution reverb off-line, and bring the result back (100% wet) into their multitrack as a pair of reverb tracks. Then you can EQ/mix the reverb to-taste. This is how I use it with paris. I open wavelab with my .paf file, play around with acoustic modeler until I have the sound I think I want, then apply the result, and save it to a new file. Then I import it into paris on a pair of new tracks. It may be easier with paris v3.0 and its render function (I dunno, I'm on 2.2).
(2) You can't model everyting...convolution assumes a linear system, and if there's something non-linear about the device or system you're trying to model, it won't be captured. For example, if there is compression in the reverb you're modelling it will not come through in the convolution. Same goes for overdrive, and level dependant stuff. If there is random modulation in the reverb tails (as is the case on most lexicon reverbs) it will not be captured. It's a small price to pay.... besides, once you have the tracks back in paris, you can add compression to simulate the reverb's compression, or chorus to modulate the tails.
(3) Quality...the quality is entirely dependant on the quality of the impulse responses. If the responses were not captured in a pure environment with high S/N ratio, they will sound grainy. If it's a real room being captured, if the mics are in the wrong spot, that will be reflected (pun intended) on the reverb sound.
(4) There are also some other issues regarding parallel mono and parallel stereo processors, but that's kinda 'out there' in terms of detail.

OK, so that's the good and the bad...here's the ugly...how to generate impulse responses.

Basically, you hook up your reverb through paris, and play a test tone into it (I'm still researching what will make the best test tone). Some common test tones include starter pistol 'bang', pulse sequences, white noise, hand claps, or sine sweeps.
The output should be recorded full wet to a new file. Then, you open up the file in a wav editor, and trim the start and end. Next, (in acoustic modeller anyways) you select 'package impulse response', and tell it what the test tone file used was, and what the output file is. It will work out what the impulse response is by removing the test tone from the output (which leaves you with the impulse response). What you end up with is a .wav that sounds like you just clapped your hands into a reverb box.
Next, you have to open up the impulse response in a wav editor
to do some final trimming. Basically, you trim the start so that the impulse response begins right away (this is like removing 'predelay' from the impulse response...no point in doing heavy duty convolution on something that is easily modelled by a delay).

Next, the tail is faded out (and possibly dithered, I'm still researching that). The reason for this is that the length of the impulse response determines how much math has to be performed (i.e. CPU time). There's no point in having a 20 second long impulse response if the signal has dropped into the noise floor after 3 seconds. So, we use the wav editor and fade out the tail when it hits the noise floor, and trim the end of the impulse. Generally, impulses less than 3 seconds can be previewed in real time with good quality, whereas implulses greater than 3 seconds require you to drop the quality down while previewing. However you can pop the quality back up to full when you render.

At any rate, it's a cool little tool....great for modelling reverbs, and acoustic spaces, and cool for speaker modelling too.

Hope this helps!

Cheers,

Kris

Ben R
08-13-2009, 01:38 PM
I used "Recabinet" software running on Logic convolution reverb on a recording recently and it sounds great. Can someone explain with any technical accuracy how impulse responce technology is used to create these realistic cabinet and mic sounds? How does it work?

I can't provide much of the really technical explanation, but for those wondering what the basic idea is, I can offer some insight in layman's terms... It's a sampling of how sound behaves with a given thing. In the world of guitar speakers and cabinets, it's capturing a sample of how a guitar speaker or cabinet shapes or alters a sound signal that's passed through it. It's basically a snapshot of what a speaker / cabinet does to the signal being sent through it. You sample the effect it has on the sound and then use that "impulse response" digitally to apply that same effect to the sound that goes through your processor or equipment.

The concept goes hand in hand with playing your guitar through a "Full Range Flat Response" (FRFR) sound system. Specifically, that usually means listening to it direct (using NO guitar cabinets) into a system with the end result being monitors, PA speakers, or any sound system output that has tweeters in it. This is obvious as the point of an impulse response in the AXE FX is to not need a traditional guitar cabinet. Guitar cabinets don't have tweeters. The AXE FX guitar speaker / cabinet "modeling" (or these "impulse responses") in the unit essentially simulates what happens to an amplified guitar signal as it passes through a traditional guitar speaker / cabinet, which (again) has NO tweeters. It cuts those high frequencies which are normally never heard - as a result of guitar cabinets not having them. The impulse responses from different cabinets do this in slightly different ways and with slightly different sound frequencies, which gives each one its unique sound.

So, again, people who say they're running their system "FRFR" are obviously not using traditional guitar cabinets. They're usually using powered monitors of some kind (with tweeters in them) and going direct into the PA system - or, they're going direct into a recording device with their line level signal right out of the AXE FX, which has the cabinet simulation turned "on". These simulators are using the various stock or custom impulse responses that people make to simulate what those cabinets do to (in this case) a guitar signal.