View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Room Impulse Response Generator

5.0 | 9 ratings Rate this file 31 Downloads (last 30 days) File Size: 2.04 KB File ID: #5116 Version: 1.3
image thumbnail

Room Impulse Response Generator



06 Jun 2004 (Updated )

This program calculates the acoustical impulse response of a rectangular room

| Watch this File

File Information

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
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.

MATLAB release MATLAB 5.3 (R11)
Other requirements Large values of N will use large amounts of memory. I have 256MB of RAM. I usualy just set N=10, and the calculation is finished in under a second.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (9)
06 Jul 2016 Augusto Carvalho de Sousa

Nice one!

I have a question: after I make the simulation, I want to make a .WAV file of tie IR I generated. I am trying to use audiowrite but it is not working. Any thoughts?


01 Dec 2011 Ali Rakhman

very good , but i really need the paper, the link that the author mentions isn't working, can anybody give me the paper , thx

01 Nov 2010 Juanlo Alonso

13 Oct 2009 nguyen

nguyen (view profile)

10 Sep 2007 Jie Yang

It's so very useful for acoustic simulation.

10 May 2007 Ismail Al Anshori

There's some restrictions in the physical modelling, but I think this is good enough.

27 Nov 2006 John Smith

20 May 2006 Mark Cooke

very good IRs when used as audio processing for music.

03 Feb 2006 Karin Vogt

Super good documentation togehter with a paper on the formulas

10 Jun 2004

Fix a hyperlink in the m-file, clarify what the copyright symbol means.

12 Jul 2004

Fix a hyperlink in the m-file.

13 Jul 2004

Reference my paper.
Fix grammar.

09 Aug 2004

Want to see if removing the "screen shot" will increase number of downloads.

Add some notes.

29 Dec 2004

Add more to built-in help file in the M-file.

Correct an error in the description.

Add more to the description.

27 Feb 2006

Fix long standing errors.

02 Dec 2011 1.2

URLs for paper changed.

02 Jan 2013 1.3

updated description.

Contact us