Room Impulse Response Generator

This program calculates the acoustical impulse response of a rectangular room
11.1K Downloads
Updated 2 Jan 2013

View License

This function calculates a room's impulse response for an arbitrarily positioned sound source in an arbitrarily dimensioned rectangular room, as it would be heard at an arbitrary position. The output of RIR.m is a vector and can be used as an FIR filter to produce a reverb effect. To implement this filter you will need to do a fast convolution. I have another program, FCONV.m that performs this task. It is available on the Mathworks File Exchange.

For instructions on how to use this function, put RIR.m in your Matlab work folder and type "help rir."

The physics theory used by this function is not perfect. However, the function was intended to be used for space rendering in audio productions, and for this it works pretty well. For an article detailing the theory used go to http://www.sgm-audio.com/research/rir/rir.html.

Some Additional Notes:

The following was taken from an email. It regards the input variable N.

"...During the computation, the end of the reverb tail gets cut off. The variable N relates to how long the tail is prior to the cut off. If N=6 then some echoes that have undergone more than 6 reflections and will be unaccounted for. Additionally no echoes that have undergone more than 3*N=18 reflections will be accounted for. You may use any value of N you like. However, small N may mean that the impulse response is shorter than the Sabine reverb time, and large N may mean that it is longer..."

As for the reflection coefficient R, I usually use a positive value. However, a negative value for R will produce an output that more closely resembles more traditional impulse response calculations.

Cite As

Stephen McGovern (2024). Room Impulse Response Generator (https://www.mathworks.com/matlabcentral/fileexchange/5116-room-impulse-response-generator), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R11
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

updated description.

1.2.0.0

URLs for paper changed.

1.0.0.0

Change category