Loudspeaker Measurement Import | Supported File Formats
Eclipse Audio software tools can import loudspeaker measurements in a variety of text based and binary file formats. Files can be in the form of impulse response sample vectors or transfer functions (freq/mag/phase/coherence).
This page provides file formats & loading instructions for the following brands as well as more generic file formats (Wave, FRD, Text & CSV).
Measurements in any file format can be averaged within FIR Designer and FIR Designer M (or by using the stand-alone Averager tool); an unlimited number or imported measurements can be combined into a single measurement for use in filter design (subject to computer memory limits).
Smaart®
Smaart Control
FIR Creator EX, FIR Designer and FIR Designer M have built-in Smaart Control. Smaart Control enables loudspeaker measurements in Rational Acoustic’s Smaart software to be controlled by FIR Designer, captured in real-time & seamlessly integrated into the FIR Designer workflow for use in filter & preset creation. With Smaart open locally or on any networked computer, the ‘Smaart Control’ dialog can live-stream any available Smaart Spectrum or Transfer Function measurement. Smaart’s signal generator on/off and measurement magnitude & phase banding or smoothing can all be controlled remotely. A snapshot of a measurement, live streaming from Smaart, can taken and stored locally in a ‘grabbed’ measurement list. Then any selected measurement can be transferred with one-click to FIR Designer’s ‘Import’ tab for use in FIR Designer’s workflow.
Smaart Spectrum (*.srf)
Smaart spectrum files – both single channel and average – contain a magnitude only spectrum.
The magnitude spectrum is loaded as frequency (Hz) and magnitude (dB) and the phase is set to 0 (degrees).
The file does not contain coherence.
Smaart Transfer Function (*.trf)
Smaart transfer function files contain various data elements including the complex spectrum.
The complex spectrum is loaded as frequency (Hz), magnitude (dB) and phase (degrees).
The coherence spectrum is also loaded.
Smaart is a registered trademark of Rational Acoustics LLC, Connecticut, USA.
Text (*.txt) and CSV (*.csv)
The following checks are run when importing text files.
- If the file contains only 1 or 2 columns of numbers, the file is assumed to contain impulse response samples.
- If the file contains 3 to 9 columns, the columns are assumed to start with frequency, magnitude, phase and optionally coherence.
- If the file contains 10 or more columns, the 1st line is assumed to contain impulse response samples.
Values should be separated by a ” ” (space) or “,” (comma).
The decimal mark should be a “.” (dot, full-stop or period) and not a “,” (comma).
Optional comment lines, before the data, can begin with “#” or “/*” (without the quotes) and are ignored.
Columns | Rows | Data Description | Comments |
---|---|---|---|
1 | – | Impulse response samples (-1.0 to 1.0) | See notes 1 and 2. |
2 | – | Column 1 : Ignored.
Column 2 : Impulse response samples (-1.0 to 1.0) |
See notes 1 and 2. |
3-9 | – | Column 1 : Frequency (Hz)
Column 2 : Magnitude (dB) Column 3 : Phase (degrees) Column 4 (optional) : Coherence (0.0 to 1.0) |
Columns 5 to 9, if present, are ignored. |
– | 1 | Impulse response samples (-1.0 to 1.0) | See notes 1 and 2.
Any subsequent rows are ignored. |
Note 1: FIR Designer & Creator use the “Design sample rate” value at the moment of importing. After importing, the “Design sample rate” can be changed to the desired rate for the FIR filter design.
Note 2: The impulse response samples are loaded in one of two ways:
- If the filename ends in an integer number, for example “my measurement 213.txt”, the number is used as the [zero-based] sample index for time=0. During importing, the measurement is time-advanced or shifted by the sample index. Also, the import process loads impulse response samples from N/2 samples before the sample index, or the first sample of the impulse response – whichever is closer to the sample index.
- If the filename does not end in an integer number, the import process finds the sample index of the peak in the impulse response, then loads samples starting from 1500 samples before the peak, or the start of the impulse response – whichever is closer to the peak. Time=0 is assumed to be the first sample loaded; i.e. no time advancement or shift is applied.
This “filename ends in an integer number” is useful for maintaining time alignment of measurements when designing filters for a multi-way loudspeaker. To maintain relative time alignment between measurements (and prevent peak finding), ensure the filenames have the same integer number. (“0” is also valid.)
Wave (*.WAV)
FIR Designer & Creator can import 16, 24 and 32 bit integer, and 32 bit float WAV files.
Only the first channel is loaded. Other channels are ignored.
Note: The impulse response samples are loaded in one of two ways:
- If the filename ends in an integer number, for example “my measurement 213.wav”, the number is used as the [zero-based] sample index for time=0. During importing, the measurement is time-advanced or shifted by the sample index. Also, the import process loads impulse response samples from N/2 samples before the sample index, or the first sample of the impulse response – whichever is closer to the sample index.
- If the filename does not end in an integer number, the import process finds the sample index of the peak in the impulse response, then loads samples starting from 1500 samples before the peak, or the start of the impulse response – whichever is closer to the peak. Time=0 is assumed to be the first sample loaded; i.e. no time advancement or shift is applied.
This “filename ends in an integer number” is useful for maintaining time alignment of measurements when designing filters for a multi-way loudspeaker. To maintain relative time alignment between measurements (and prevent peak finding), ensure the filenames have the same integer number. (“0” is also valid.)
FRD (*.frd)
FRD text files contains columns of frequency (Hz), magnitude (dB), phase (deg) and (optionally) coherence; similar to column TXT and CSV files (above).
The complex spectrum is loaded from this data.
A variety of measurement tools output this format including Open Sound Meter.
SysTune Overlay (*.sto)
SysTune overlay files contains measurement, reference and impulse response data along with metadata including the measurement sample rate.
The impulse response data is loaded as is; that is, with no time adjustment.
The coherence spectrum is also loaded.
(Since the SysTune impulse response is the result of a DFT/FFT calculation, the last 5% of the impulse response is moved to the end of the FIR Designer internal transform, to ensure the SysTune impulse response lead-in (prior to time=0) is maintained correctly.)
EASERA Measurement (*.etm, *.efr)
EASERA ETM files contain various data elements and metadata; including the measured impulse data and the sample rate.
The impulse response data is loaded as is; that is, with no time adjustment.
(Since the EASERA impulse response is the result of a DFT/FFT calculation, the last 5% of the impulse response is moved to the end of the FIR Designer internal transform, to ensure the EASERA impulse response lead-in (prior to time=0) is maintained correctly.)
Klippel Impulse Response text (*.txt)
Two different methods are supported.
1. Impulse Response
To load a loudspeaker measurement from Klippel‘s dB-Lab software into FIR Designer….
In dB-Lab, open an “Impulse response h(t)” plot. Right-click on the plot and in the pop-up menu, select “Customise…”
In the “Impulse Response h(t) Customization…” Dialog, select the “Subsets” tab and select either “Measured” or “Windowed.” Press “Apply” and “Ok” to close the dialog.
Rick-click on the plot and in the pop-up menu, select “Export & Print…” In the “Export Graph” dialog, select Export “txt (For excel import)” and To “File.” Press “Save…” to save the text file.
In FIR Designer, load the txt file on the “Import” tab.
2. Transfer Function Mag and Phase
From dB-Lab, separately copy Mag and Phase data into a TXT file via the Windows clipboard. (The order is not important.) The TXT file will look like:
SourceDesc='dB-Lab_Clipboard_data'; GraphTitle = 'Setup - TRF transfer function - Magnitude'; GraphColor = 8355584; GraphLineType = 9; Data_Legend = 'Setup - TRF transfer function - Magnitude'; Data_Format = 'LevelDB'; Data_Domain = 'Frequency'; Data_AbscUnit = 'Hz'; Data_BaseUnit = 'SCI'; Curve = [ 52.734375 96.369041 55.664063 97.268364 58.59375 98.123604 61.523438 98.936913 64.453125 99.710037 67.382813 100.44443 ... 19989.258 109.37486 19992.188 109.37121 19995.117 109.36765 19998.047 109.36416]; SourceDesc='dB-Lab_Clipboard_data'; GraphTitle = 'Setup - TRF transfer function - Phase'; GraphColor = 8355584; GraphLineType = 5; Data_Legend = 'Setup - TRF transfer function - Phase'; Data_Format = 'LevelDB'; Data_Domain = 'Frequency'; Data_AbscUnit = 'Hz'; Data_BaseUnit = 'deg'; Curve = [ 52.734375 71.145462 55.664063 65.04187 58.59375 59.046017 61.523438 53.160267 64.453125 47.386101 67.382813 41.724197 ... 19983.398 -376.05197 19986.328 -376.0488 19989.258 -376.04559 19992.188 -376.04227 19995.117 -376.03882 19998.047 -376.03522];
Four Audio – Monkey Forest Measurement (*.spk)
Monkey Forest measurement files contain various elements including the complex spectrum.
The complex spectrum is loaded as frequency (Hz), real and imaginary data.
The file does not contain coherence.
miniDSP Binary (*.bin)
Binary files, compatible with miniDSP FIR importing, contain an impulse response as a sample vector of 32bit floats.
The impulse response samples are loaded directly and at the “Design sample rate”.
Room EQ Wizard – REW – impulse response (*.txt)
Example follows below. The “start time” is used to align the IR peak to time=0.
* Impulse Response data saved by REW V5.20 Beta 27 * IR is normalised * IR window has not been applied * IR is not the min phase version * Source: ASIO Yamaha Steinberg USB ASIO, UR22mkII Input 1 * Dated: 08 Oct 2019 1:09:42 AM * Measurement: SW REF * Excitation: 128k Log Swept Sine, 1 sweep at -24.5 dBFS Using a loopback as a timing reference * Response measured over: 5.1 to 20,000.2 Hz 0.0014201122103258967 // Peak value before normalisation 48000 // Peak index 131072 // Response length 2.0833333333333333E-5 // Sample interval (seconds) -0.9840179036458333 // Start time (seconds) * Data start 0.0010222907 0.002079226 -0.0021840518 0.0015959048 0.0018568245 -0.003428314 -0.006229863 -0.0054652207 0.008093421 -0.0042044367 0.0053430125 -0.0034052574 0.0064650467 ... ...
Room EQ Wizard – REW – magnitude phase (*.txt)
Example follows below. Phase is missing from the example but the phase column is loaded if present.
* Measurement data measured by REW V5.20.5 * Source: EQ window target shape * Format: * Dated: Feb 27, 2022 11:39:39 AM * REW Settings: * C-weighting compensation: Off * Target level: 75.0 dB * Note: * Measurement: Target Main Native * Smoothing: 1/48 octave * Frequency Step: 96 ppo * Start Frequency: 2.5 Hz * * Freq(Hz), dBFS(dBFS) 2.500000, -125.155 2.518116, -124.904 2.536363, -124.653 2.554743, -124.402 2.573256, -124.151 2.591902, -123.900 2.610684, -123.649 2.629602, -123.399 2.648658, -123.148 2.667851, -122.897 2.687183, -122.646 2.706656, -122.395 2.726269, -122.144 2.746025, -121.893 2.765924, -121.643 2.785967, -121.392 2.806155, -121.141 2.826489, -120.890 2.846971, -120.639 2.867602, -120.388 ... ...
FIR Designer cannot directly import *.MDAT measurement files from Room EQ Wizard (REW).
In REW select “Export -> Measurement as Text”, save the file, then import the *.txt file into FIR Designer.
FIR Designer Target (*.fdt)
This is an intermediate file format specifically for use in FIR Designer and FIR Creator. FIR filters can be designed in “Direct Design” mode, exported in this format, and re-imported on the Target tab in the default mode or workflow.
The format includes the sample rate and the bulk impulse response delay – the peak index of the FIR filter impulse response – so that the bulk delay can be removed.
This file format can be exported and imported even when FIR Designer/Creator is unlicensed; that is, when running trial or demo mode.