In this tutorial, explore key functionality of the Impulse Response Measurer. The Impulse Response Measurer app enables you to
Configure your audio I/O system.
Acquire impulse response (IR) measurements using either the Exponential Swept Sine or Maximum Length Sequences methods.
View and manage captured IR data.
Export the data to a file, workspace, or other app for further study.
To begin, open the Impulse Response Measurer app by selecting the icon from the app gallery.
The Impulse Response Measurer app enables you to specify an audio device, sample rate, player channel, and recorder channel. The audio device must be a real or virtual device enabled for simultaneous playback and recording (full-duplex mode) and must use a supported driver. Supported drivers are platform-specific:
Windows® –– ASIO™
Mac –– CoreAudio
Linux® –– ALSA
Valid sample rates depend on your specified audio device.
You can use the level monitor to verify the configuration of your audio I/O system.
To configure your IR acquisition method, use the Method and Method Settings sections of the toolstrip.
You can select the method to acquire IR measurements as either:
Maximum Length Sequences (MLS)
Exponential Swept Sine (Exponential Swept Sine)
Both methods for IR acquisition have the same basic settings, including:
Number of Runs –– Number of times the excitation signal is sent within a single capture. Multiple runs are used to average individual impulse response captures to reduce measurement noise.
Duration per Run (s) –– Total time of each run in seconds.
Excitation Level (dBFS) –– The level of the excitation signal in dBFS.
Both methods for IR acquisition also have the same advanced run settings, including:
Wait before first run –– Delay before starting first run. The delay allows time for any last-minute tasks, such as exiting a room before testing its acoustics.
Pause between runs –– Duration of pause between runs. During a pause, the excitation signal is not sent, and audio is not recorded. When using the Exponential Swept Sine method, include a pause between runs to avoid buildup of reverberations. Pause between runs is always zero for the MLS method.
Number of warmup runs –– Number of times to output the excitation signal before acquisition. The MLS method assumes the signal it acquires is a combination of the excitation signal and its impulse response. Use warmup runs to remove transients.
The total capture time is a sum of run durations, pauses, and the initial wait:
The Exponential Swept Sine method has additional Advanced Settings to control the excitation signal, including:
Sweep start frequency
Sweep stop frequency
Sweep duration
End silence duration
When using the Exponential Swept Sine method, the Run Duration is divided into Sweep duration and End silence duration. During the end silence, the app continues to record audio, enabling acquisition of the response over the entire range of the frequency sweep.
For this example, use the MLS method with default settings. Once you have your audio device set up, click Capture. A dialog box opens that displays the progress of your capture. IR Measurements are captured twice.
After the capture, the Impulse Response Measurer app stores the
captured data locally. The Data Browser displays the title of
the captured data, the colors used for plotting, and information about the settings
used to acquire the data. You can double-click a color in the Data
Browser to choose which color you want associated with each impulse
response. You can also double-click the title to rename your captured data. Rename
your captures as FirstCapture
and
SecondCapture
, and change the colors to pink and green. To
make one impulse response plot appear on top of the other, select the title in the
Data Browser. Select the capture you relabeled
FirstCapture
.
By default, the impulse response and magnitude response are plotted. You can view any combination of the impulse response, magnitude, and phase response using the Layout button. Minimize the Data Browser, then select the phase response plot for inclusion.
You can toggle the relative size of the plot by moving the dividers. You can zoom in and out by selecting the plus and minus icons on the UI. The icons appear when your pointer is over the plot. Zooming in and out of either the magnitude response or the phase response updates the other. Zoom in on the impulse response plot and in the range 100–1000 Hz of your frequency response plots.
To view export options for further analysis or use, select the Export button.
Export the data to your workspace. The data is saved as a table. To inspect how the data is saved, display the table you exported.
irdata_172519
irdata_172519 = 2×14 table TimeOfCapture ImpulseResponse MagnitudeResponse PhaseResponse Device SampleRate PlayerChannel RecorderChannel Method NumRuns DurationPerRun ExcitationLevel RawAudioData OtherMetaData __________________________ _______________ _________________ _____________ _____________ __________ _____________ _______________ ______ _______ ______________ _______________ ____________ _____________ FirstCapture 21-Dec-2017 16:40:31 -0500 [1x1 struct] [1x1 struct] [1x1 struct] "ASIO4ALL v2" 44100 1 1 "MLS" 2 0.5 -6 [1x1 struct] [1x1 struct] SecondCapture 21-Dec-2017 16:42:18 -0500 [1x1 struct] [1x1 struct] [1x1 struct] "ASIO4ALL v2" 44100 1 1 "MLS" 2 0.5 -6 [1x1 struct] [1x1 struct]
When you export the data as a MAT-file, the same table is saved as when you export
to the workspace. When you select to export the data as a WAV file, each impulse
response is saved as a separate WAV file. The title of the capture as the name of
the WAV file. In this example, selecting to export data to audio WAV file places two
WAV files in the specified folder, FirstCapture.wav
and
SecondCapture.wav
.
To analyze your captured data further, view the data in the Filter Visualization Tool
or Signal Analyzer app.
audioPlayerRecorder
| Impulse Response
Measurer | reverberator
| splMeter