Code covered by the BSD License

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

### Highlights from Room Impulse Response Generator

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

# Room Impulse Response Generator

### Stephen McGovern (view profile)

06 Jun 2004 (Updated )

This program calculates the acoustical impulse response of a rectangular room

File Information
Description

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.

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.
Comments and Ratings (9)
06 Jul 2016 Augusto Carvalho de Sousa

### Augusto Carvalho de Sousa (view profile)

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?

Cheers!

01 Dec 2011 Ali Rakhman

### Ali Rakhman (view profile)

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

### Juanlo Alonso (view profile)

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.

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.