Impulse Response Creator

Welcome to my little collection of impulse response tools. They are all free and hopefully easy to use.

Creating Impulse Responses

If you would like to create an impulse response and can play a bit of audio through the space or device you want to capture:

  1. Generate a Test Signal
  2. Record the signal through the space or device you want to capture.
  3. Create an Impulse Response from the test signal and the measurement recording.
  4. Use the impulse response you just created with your favorite convolution reverb or IR loader.
Tone Matching Impulse Responses

If you can't use a test signal for instance because you are trying to match a tone to a recording, you can use the Tone Match tool instead.

Tone Matching only requires two similar recordings to work and will create an IR to match one to the other.

Note that tone matching only captures the EQ changes. It can't be used to capture reverbs where phase is critical.

Generate Test Signal
Needs to match to sample rate with which you will capture the response.
Advanced Parameters
The start frequency determines the lowest frequncy response that can be measured. Usually around 20 Hz.
The duration of the test signal.
Create Impulse Response

Create an impulse response by deconvolving the response to a test signal.

The test signal used, must be a .wav.
The response of the device being tested to the test signal.Should be longer than the test signal. Must be a .wav.
Advanced Parameters
Tone Match Impulse Response

Creates an impulse response to match the source audio to the target.

Advanced Parameters
Length of the impulse response to create.
Combine Impulse Responses
Must in the .wav format.
Must in the .wav format.
Transform to Minimum Phase
Must in the .wav format.
Analyze Impulse Response
Select a wav file.
Help
Getting Started

Impulse responses can capture a snapshot of the acoustics of a room, reverb, a speaker cabinet or the EQ of a piece of audio equipment.

Impulse responses can only capture linear and time invariant behavior. Non linear effects like distortion and compression as well as effects that change over time like chorus and other types of modulation can't be fully captured using an IR.

To create an impulse response you need to run a test signal through the device or room you want to capture and record the output. The output then needs to be processed to extract the the impulse response. This process is called deconvolution.

Tone matching makes it possible to create an impulse response to make two audio files more similar in terms of their frequency response. This works even if you can't play back a test signal through the system you want to capture. Tone matching can be used to match your guitar tone to a recording, or to make the piezo pickup of your acoustic guitar sound more like a recording created with a microphone.

Using Impulse Responses

Impulse responses can be used in convolution reverbs, guitar amp simulators, speaker cabinet simulators and other audio processing software.

Many DAW and Effects Processors include support for loading IR already:

If the DAW you are using doesn't support using impulse responses directly you can use a plugin:

Generating a Test Signal

Generating a test signal using the generate test signal tool is easy. Just enter the sample rate you want to use and hit generate.

Matching the sample rate of the test signal to the one you will use for playback and recording is recommended to avoid problems.

Parameters
Sample Rate
The sample rate of the test signal. Higher sample rates can capture higher frequencies. Usually 44100 Hz or 48000 Hz are used. Anything above that is unnecessary unless you are working with ultrasonic frequencies.
Advanced Parameters

Clicking on Advanced Parameters will reveal the following additional parameters.

Start Frequency
The lowest frequency of the test signal. This should be lower than the lowest frequency you want to capture in the impulse response. 20 Hz should be fine unless you are working with infrasound.
End Frequency
The highest frequency of the test signal. Usually setting this to half the sample rate is a good idea. This is also known as the Nyquist frequency. Values greater than half the sample rate cannot be generated.
Duration
The duration of the sine wave in test signal. A brief moment of silence is added at the beginning and end of the test signal to help with processing. The longer the test signal the less noise will be in the impulse response. A duration of 10 second is usually enough.
Creating an Impulse Response

To create an impulse response using the generated test signal you need to play it back through the signal chain you want to capture and record the result. This recording is referred to as the measurement.

The measurement should be long enough to capture the full response of the system you are measuring. The means it should be longer than the test signal. If you want to capture a 4 second IR the measurement should be at least 4 seconds longer than the test signal.

It is important that the measurement lines up with the test file. If the measurement starts later you will get a delayed impulse response. That's not so bad. If the measurement starts earlier you will get a truncated impulse response or artifacts. It's usually best to disable latency compensation in your DAW when recording the measurement to avoid accidentaly introducing a negative delay.

To avoid artifacts, the measurement and playback should be done using the same audio interface, or to be more precise, the same clock source. The sample rate of the measurement should also be the same as the test signal.

Parameters
Test Signal
The test signal you used to record the measurement. The test signal should be generated using the Generate Test Signal tool.
Measurement
The measurement you have recorded. This is the signal you have recorded after playing the test signal through the system you want to capture. The duration of the measurement determines the length of the impulse response captured. It needs to be longer than the test signal and should capture the full response of what ever it is your are measuring. To avoid artifacts the measurement should be recorded at the same sample rate as the test signal.
Advanced Parameters

Clicking on Advanced Parameters will reveal the following additional parameters.

Auto Align
Creating an impulse response from the measurement is only possible if the measurement is the response to the test signal. If the signals are misaligned and the measurement starts before the test signal the impulse response will be incorrect. If enabled auto align feature will attempt to detect and fix this issue. It has it's limits, especially if the measurement contains early refelctions before the main response.
Wiener Deconvolution
Normally an optimized deconvolution algorithm is used when the test signal has been generated with the test signal generator included in this tool. If this option is enabled a variation on Wiener deconvolution will always be used. Wiener deconvolution can be more resistant to noise but can also introduce artifacts especially in the presence of distortion. When in doubt try both.
Fade Out
Smoothly fades out the very end of the impulse response to avoid artifacts.
Normalize
If enabled the impulse response is normalized to have a peak amplitude of 1. This is usually a good idea for compatibility with various impulse response loaders.
Trim
If enabled the impulse response is trimmed to remove silence at the beginning and end. Because the measurement usually contains noise this is not very reliable and disabled by default.
Tone Matching an Impulse Response

If you have an impulse response and you would like to optimize it's phase response you can use the convert to minimum phase tool.

Parameters
Source
The audio file whose tone you would like to change to sound more like target.
Target
The audio file whose tone you would like to match.
Advanced Parameters
IR Length
The length of the impulse response. Longer impulse responses will be more accurate, especially in the low frequencies.
Start Frequency
The frequency from which the matching should start. Before the start frequency the frequency response will quickly decay to zero.
End Frequency
The frequency at which the matching should end. After the end frequency the frequency response will quickly decay to zero.
Smoothing
The amount of smoothing applied to the correction. Less smoothing will be more accurate but might also lead to more artifacts.
Strength
The strength of the correction. A value of 1 will match the target as much as possible, while a value of 0 will leave the source unchanged.
Normalize
If enabled the impulse response is normalized to have a peak amplitude of 1. This is usually a good idea for compatibility with various impulse response loaders.
Combining Impulse Responses

Sometimes it is useful to combine two impulses into one. An example could be combining two reverbs or combining a room impulse response with a speaker impulse response. The result will be a new impulse response that behaves as if both impulses were applied in sequence. Note that the order of the impulse responses does not matter.

Parameters
Impulse Response A
The first impulse response you would like to combine.
Impulse Response B
The second impulse response you would like to combine.

If the sample rate of B is different from A, B will be resampled to match A.

Transforming an Impulse to Minimum Phase

Converting an impulse to minimum phase can reduce latency and make mixing impulse responses easier. Do not convert reverb impulses to minimum phase. Phase is essential for reverb.

Parameters
Impulse Response
The impulse response you would like to transform to minimum phase. The impulse response must be in the .wav format.
Analyze an Impulse Response

The analyze tool will either show a frequency response plot or a spectrogram of the impulse response depending on the length.

Parameters
Impulse Response
The impulse response you would like to analyze. The impulse response must be in the .wav format.
About

The 29a Impulse Response Creator is a project by Jonas Wagner. It's a collection of tools I've built for my own use bundled into a hopefully easy to use website.

You can learn more about my other projects on my main website.

Feedback and bug reports are always most welcome. You can find my contact details on the about page.