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:
- Generate a Test Signal
- Record the signal through the space or device you want to capture.
- Create an Impulse Response from the test signal and the measurement recording.
- 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.
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.