Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

IR Management

The IR (Impulse Response) Management window provides comprehensive tools for obtaining, processing, and managing impulse responses for each driver or measurement position in your system.

IR Management Window IR Management Window

Accessing IR Management

Loudspeaker Design Mode:

  • To open: Driver → Manage IR
  • Purpose: Import, capture, and process driver impulse responses at multiple angles

Room Calibration Mode:

  • To open: Measurements → Manage IR
  • Purpose: Capture IR at a given in room position

Driver/Measurement Name

Manually enter a descriptive name for the impulse response.

  • Label: “Driver Name” (Loudspeaker Design) or “Measurement Name” (Room Calibration)
  • Purpose: Identify IRs in project and exports
  • Persistence: Names are saved with the project
  • Optional: Empty names default to “Driver X” or “Measurement X”
  • Best practice: Use descriptive names like “Woofer_Left”, “Tweeter_RefXYZ”, “Position_Center”

Capturing IR

Button: 🎤 Measure

Triggers a measurement sweep with the configured parameters to capture the impulse response.

Features:

  • Exponential sine sweep generation with configurable parameters
  • Automatic harmonic distortion analysis (THD)
  • Timing reference support for multi-driver measurements

For complete documentation on sweep parameters, driver protection, measurement workflow, and best practices, see Sweep Measurements.


Off-Axis Measurements 🔒

Available in: Loudspeaker Design mode only
License required: Valid LinFIR license needed for off-axis measurements

Overview

Off-axis measurements enable directivity analysis by capturing impulse responses at different horizontal and vertical angles. These measurements are essential for understanding speaker radiation patterns and optimizing crossover design for consistent off-axis response.

Measurement Organization

Measurements are displayed in two columns:

  • Horizontal column: Measurements with vertical angle = 0°, varying horizontal angle

    • Example: -90°, -60°, -30°, 0°, +30°, +60°, +90°
  • Vertical column: Measurements with horizontal angle = 0°, varying vertical angle

    • Example: -60°, -40°, -20°, 0°, +20°, +40°, +60°

On-axis reference: The (0°, 0°) measurement appears in both columns.

Axis Selection

Before importing or capturing an off-axis measurement, select the measurement axis:

  • Horizontal button: Measurements along horizontal axis (left/right)
  • Vertical button: Measurements along vertical axis (up/down)

The selected axis determines whether the angle applies to horizontal or vertical position.

Measurement Angle

Field: “Measurement angle”
Range: -180° to +180°
Indicates: Angle for next import or capture operation

How it works:

  • If Horizontal axis selected: angle applies to horizontal position (vertical = 0°)
  • If Vertical axis selected: angle applies to vertical position (horizontal = 0°)
  • The field shows which axis is active: “(horizontal)” or “(vertical)”

Restrictions:

  • Disabled until on-axis (0°, 0°) measurement exists
  • Requires valid LinFIR license
  • Must import on-axis measurement first before adding off-axis angles

Per-Measurement Actions

Each measurement in the table has two action buttons:

Export Button (⬇)

Click to export this specific measurement:

  1. Opens export format dialog
  2. Choose WAV or TXT format
  3. Option to include distortion metadata
  4. File is saved with angle suffix (e.g., Driver1_v0h30.wav, Driver1_v-15h0.wav)

Delete Button (❌)

Remove a measurement from the driver:

  • Off-axis measurements: Can be deleted freely
  • On-axis (0°, 0°) measurement: Can only be deleted if all off-axis measurements are removed first
    • This restriction exists because the on-axis measurement serves as the reference for all filter calculations

Tooltip guidance:

  • Enabled: “Delete measurement”
  • Disabled: “Delete all off-axis measurements first”

Export All Button

Button: ⬇ Export All
Location: Above “Measurement angle” field
Purpose: Export all measurements in a single operation

How it works:

  1. Click “⬇ Export All”
  2. Select output directory in file dialog
  3. All measurements are exported as WAV files
  4. Files use consistent naming: DriverName_v{vertical}h{horizontal}.wav

File naming examples:

  • On-axis: Driver 1_v0h0.wav
  • Horizontal +30°: Driver 1_v0h30.wav
  • Vertical -15°: Driver 1_v-15h0.wav
  • Horizontal -45°: Driver 1_v0h-45.wav

Format:

  • All files exported as WAV (32-bit float, mono)
  • Sample rate matches original measurement or importation sample rate
  • Distortion metadata option applies to all files
  • No individual format selection (always WAV)

Benefits:

  • Fast export of complete measurement sets
  • Consistent naming for re-import or external processing
  • Files can be re-imported via batch import with automatic angle detection

Use cases:

  • Archiving complete measurement sets
  • Sharing measurements with collaborators
  • Processing measurements in external tools (FIR Designer, Matlab, etc.)

Symmetry Tool

Button: ⚖ Symmetry
Location: Below each column
Purpose: Automatically duplicate measurements to opposite angles

How it works:

  • Horizontal Symmetry: If you have +30°, creates -30° by mirroring the measurement
  • Vertical Symmetry: If you have +20°, creates -20° by mirroring the measurement

Use case: Save measurement time by capturing one side and mirroring to the other side, assuming the speaker has symmetric radiation.

Workflow for Off-Axis Measurements

  1. Import or capture on-axis measurement (0°, 0°) first
  2. Select axis (Horizontal or Vertical)
  3. Set measurement angle (e.g., +30°)
  4. Import file or capture measurement
  5. Repeat for additional angles
  6. Use Symmetry tool to fill opposite angles (optional)
  7. Analyze directivity patterns in main application graphs

Import from File

Load impulse responses from external files.

LinFIR works internally with impulse responses (IRs). All imported files are ultimately converted to an IR before being used for filter design. Two import paths exist:

  • Direct IR formats (WAV, TXT, TMD): Files already contain time-domain impulse response samples. They are resampled to the project sample rate and loaded directly.
  • Frequency-domain format (FRD): Files contain frequency response data (magnitude + phase). LinFIR reconstructs an impulse response via the FRD to IR Converter window before proceeding.

Supported Formats

WAV Files

  • Channels: Mono or stereo (left channel used for stereo files)
  • Bit depth: 16-bit, 24-bit, or 32-bit PCM
  • Automatic resampling: The IR is resampled to match the project sample rate for processing. The original samples are preserved internally at their native rate, so changing the project sample rate later does not cause quality loss from successive resamplings. This is handled transparently in the background.

With distortion metadata:

  • If WAV contains custom ‘dist’ chunk (exported from LinFIR with “Include dist.” option)
  • Enables THD (Total Harmonic Distortion) computation

Without distortion metadata:

  • Standard WAV import
  • Only practical/cropped IR available
  • THD computation not available

TXT Files

Plain text files containing impulse response samples, one value per line or space/comma-separated. LinFIR auto-detects this format.

Note: .txt files containing FRD-formatted data (3 columns: frequency, magnitude, phase) are automatically detected and processed as FRD files (see FRD Files section below).

TMD Files

MATAA (Mat’s Audio Analyzer) time-domain data format. Each line encodes a sample with its timestamp, allowing the sample rate to be derived from the data itself.

  • Format: Two-column text file (time in seconds, amplitude)
  • Comments: Lines starting with * are metadata/comments
  • Sample rate: Inferred from the time intervals between samples. If the result is within 1% of a standard rate (44.1, 48, 88.2, 96, 176.4, 192, 384 kHz, etc.), LinFIR snaps to that exact rate to correct for the systematic sample rate error introduced by limited timestamp precision.
  • Timestamp precision: Timestamps must have enough decimal places for accurate sample rate inference (e.g. 9 digits for 96 kHz). Insufficient precision can produce a slightly off sample rate that will still be corrected if it falls within the 1% snapping tolerance.
  • Precision: Full floating-point precision (no bit-depth limitations)

Example TMD file:

* TMD data written by MATAA
* Measurement description
0.000000000	0.000000
0.000020833	0.125000
0.000041667	0.850000
...

CLIO Files

Time-domain impulse response exports from CLIO (Audiomatica) measurement software. These are plain .txt files with three columns.

  • Format: Text file with a header row followed by data rows
    • Column 1 — Time[s]: sample timestamp in seconds
    • Column 2 — Real[Pa]: signal amplitude (used as the IR)
    • Column 3 — Imag[Pa]: imaginary part (ignored by LinFIR)
  • Header line: the first non-empty line must start with Time (case-insensitive)
  • Sample rate: inferred from the time intervals between samples, then snapped to the nearest standard rate within 1% tolerance (same algorithm as TMD)
  • Precision: full floating-point precision

Example CLIO file:

Time[s]         Real[Pa]        Imag[Pa]
0.000000E+00    -4.790139E-03   -4.583853E-10
2.083333E-05     4.526122E-03   -8.076313E-10
4.166667E-05     3.454284E-04    1.007265E-10
...

FRD Files

Frequency response data files (commonly exported by REW, VituixCAD, or provided by manufacturers). These files do not contain an impulse response directly—LinFIR reconstructs one via the FRD to IR Converter window (see dedicated section below).

Format:

  • 3 columns per line: Frequency (Hz), Magnitude (dB), Phase (degrees)
  • Text-based, space or tab delimited
  • Can use either .frd extension or .txt extension (auto-detected)

Processing:

  • Automatic interpolation to required frequency points using PCHIP (Piecewise Cubic Hermite Interpolating Polynomial)
  • Configurable magnitude extrapolation for DC and high-frequency regions
  • Phase handling with group delay compensation

Extrapolation Modes:

When importing FRD files, LinFIR opens the FRD to IR Converter window with the following extrapolation controls:

  • DC Extrapolation: Controls how magnitude is extended below the lowest measured frequency

    • Constant: Flat extrapolation (holds the lowest measured value)
    • Roll-off: Applies a 12 dB/octave high-pass roll-off for realistic loudspeaker behavior
    • Default: Roll-off
  • High Frequency Extrapolation: Controls how magnitude is extended above the highest measured frequency toward Nyquist

    • Constant: Flat extrapolation (holds the highest measured value)
    • Roll-off: Applies a 12 dB/octave low-pass roll-off, automatically compensates for upward slopes
    • Default: Constant

Benefits of Roll-off mode:

  • More realistic impulse responses from incomplete FRD data
  • DC roll-off mimics natural loudspeaker low-frequency limitations
  • HF roll-off prevents artifacts from measurements that don’t extend to Nyquist
  • Adaptive: compensates for incorrect slope trends in measured data

Important notes:

  • FRD files are sparse (often logarithmically spaced frequency points)
  • Requires complex interpolation, potentially introducing artifacts
  • Generally do not contain the time of flight required to properly time align drivers
  • Recommendation: Prefer importing impulse responses (WAV) whenever possible

Automatic Noise Truncation

Once an impulse response has been imported or reconstructed (from any format), LinFIR automatically truncates it to optimize file length and processing performance. This is an internal post-processing step applied uniformly to all IR data before it is stored in the project.

Truncation Algorithm:

  1. Peak detection: Locates the main impulse peak (maximum absolute value in the IR)
  2. 5-second limit: Truncates the IR to 5 seconds maximum after the peak
    • Corresponds to approximately 1.7 km acoustic distance
    • Sufficient for capturing full decay in most practical scenarios
  3. Noise threshold: Removes trailing samples below 0.1% of peak amplitude
    • Adaptive threshold based on the actual signal level
    • Eliminates noise floor without affecting useful signal
  4. Minimum duration: Always preserves at least 1.0 seconds of the IR
    • Ensures sufficient data for low-frequency analysis

Benefits:

  • Reduces processing load for FFT operations and convolutions
  • Decreases file sizes for project saving and export
  • Removes unnecessary noise floor that doesn’t contribute to filter design

What gets removed:

  • Excessive silence beyond 5 seconds after the main impulse
  • Noise floor below the 0.1% threshold (≈ -60 dB relative to peak)
  • Applies to both anechoic and in-room measurements

What is preserved:

  • The complete main impulse and initial decay
  • At least 1.0 seconds of IR data regardless of noise level
  • All frequency content relevant for crossover design
  • Sufficient time-domain information for phase analysis

Impulse Response Timing Requirements

Peak delay limit: LinFIR rejects impulse responses where the main peak is located more than 200 ms after the start of the file.

Why this limit exists:

LinFIR performs extensive signal processing operations—FFT transformations, convolutions, resampling, and real-time filter preview—that must remain responsive. These operations scale with impulse response length, and excessive zero padding before the actual signal significantly impacts performance without adding useful information.

Physical context:

A 200 ms delay corresponds to approximately 68 meters of acoustic travel distance. In practical loudspeaker measurement and room calibration scenarios, such excessive delays indicate that no timing reference method was used during capture (loopback trigger, electrical reference, or pre-alignment in the measurement software).

Impact on workflow:

Without proper timing reference, relative time alignment between drivers becomes unreliable, as the arbitrary delays vary unpredictably between measurements. This compromises crossover phase coherence and summation accuracy—core functions of LinFIR.

Best practice:

When capturing impulse responses, use measurement software that provides:

  • Loopback triggering (audio interface output → input reference)
  • Electrical reference triggering (synchronized start)
  • Pre-alignment features that position the IR peak near the beginning of the recording

These methods ensure minimal file length while preserving the precise time-of-flight information needed for accurate driver alignment and filter design.

If your measurement contains a valid signal buried in initial silence, pre-process the file to remove leading zeros before importing into LinFIR.

Import Workflow

  1. Click “📁 Import” button
  2. Select WAV, TXT or FRD file
  3. File is automatically detected and processed:
    • WAV: Resampled to project sample rate, metadata extracted
    • TXT (impulse samples): Either auto-imported (with metadata) or user prompted for sample rate
    • TXT/FRD (frequency data): Opens FRD to IR Converter window
  4. IR appears in impulse response graph
  5. Manually enter IR name in text field
  6. Apply windowing if necessary (see Time Windowing section)

Special case for FRD files: When importing .frd or FRD-formatted .txt files, the FRD to IR Converter window opens automatically. See the dedicated section below for details.

⚠️ Display Mode Check: If the imported impulse response does not appear in the graphs, verify that Drivers/Measurements display mode is selected in the graph toolbar (not FIR, IIR, or FIR+IIR modes which only show filter responses). The graph title and legend clearly indicate which mode is active.


Batch Import of Multiple Measurements

Available in: Loudspeaker Design mode (off-axis measurements)
License required: Valid LinFIR license needed for off-axis measurements

Overview

Batch import enables importing multiple measurement files simultaneously with automatic angle detection from filenames. This significantly speeds up the workflow when importing multi-angle measurement sets from tools like VituixCAD, ARTA, or REW.

Filename Angle Parsing

LinFIR automatically detects measurement angles from filenames using conventions from other measurement software.

Important: Angle patterns must be at the end of the filename (before extension). If the axis marker (h/v) has a prefix format (like h30), it must not be preceded by a letter. This prevents false detection in cases like “Driverh30” while allowing “SIG270-4h30” or “Driver 2_h30”.

Format with single axis specification (H = Horizontal, V = Vertical):

  • H30, h30, H-20 → Horizontal axis, angles: +30°, +30°, -20°
  • V15, v15, V-45 → Vertical axis, angles: +15°, +15°, -45°
  • 30H, 30h, -20H → Horizontal axis, angles: +30°, +30°, -20°
  • 15V, 15v, -45V → Vertical axis, angles: +15°, +15°, -45°

Format without axis (@ marker):

  • @30, @-20, Tweeter@15 → Angle detected, axis must be specified by user
  • When files use @ notation, a dialog prompts you to select Horizontal or Vertical axis

MF 2D format (both H and V in filename):

  • v0h30, V0H30, v000h030 → Horizontal +30° (horizontal plane: V=0)
  • v30h0, V30H0, v030h000 → Vertical +30° (vertical plane: H=0)
  • h30v0, H30V0, h030v000 → Horizontal +30° (order-independent)
  • h0v30, H0V30, h00v030 → Vertical +30° (order-independent)
  • v0h0, V0H0, v000h000 → On-axis (0°, 0°)
  • v30h50Rejected (out-of-plane measurement)

Note: Leading zeros are supported (e.g., 030 = 30)

Note on MF 2D format: Only measurements in a plane are accepted (one angle must be 0). Files with both H and V non-zero are ignored as they represent oblique measurements that can’t be represented in LinFIR’s horizontal/vertical coordinate system. The order of h/v doesn’t matter.

Examples of valid filenames:

  • Tweeter_h0.wav → On-axis (0°, 0°)
  • Tweeter_h30.wav → Horizontal +30°
  • Tweeter_v-20.frd → Vertical -20°
  • Woofer@15.txt → Angle +15° (user selects axis)
  • measurement_30h.wav → Horizontal +30°
  • Left_-45v.frd → Vertical -45°
  • Driver_v0h45.frd → Horizontal +45° (MF 2D format)
  • Tweeter_v20h0.txt → Vertical +20° (MF 2D format)
  • SIG270-4h30.frd → Horizontal +30° (number before axis letter is OK)
  • SIG270-4v0h30.frd → Horizontal +30° (MF 2D with number prefix)

Examples of rejected filenames:

  • Driverh30.wavRejected (letter “r” directly before “h”)
  • Testh30v0.frdRejected (letter “t” directly before “h”)

Files without angle markers:

  • Imported as on-axis (0°, 0°) measurement
  • You can still manually set the angle before importing if needed

Batch Import Workflow

1. Multi-File Selection

  1. Click “📁 Import” button
  2. Select multiple files in the file dialog (Ctrl+Click or Shift+Click)
  3. Click Open

2. Automatic Processing

LinFIR automatically analyzes all selected files:

If all files have explicit axis (H/V in filename):

  • Files are processed immediately
  • Each file imported at the angle specified in its filename
  • No user interaction needed

If files use @ notation (ambiguous axis):

  • Axis Selection Dialog appears
  • Select either Horizontal or Vertical axis
  • Click Continue
  • Selected axis applies to all @ files in the batch

3. FRD Converter Integration

If the batch includes FRD files:

  1. LinFIR opens the FRD Converter for the on-axis FRD file (if present)
  2. Configure conversion parameters (sample rate, delay, extrapolation modes)
  3. Click “Use This Impulse Response”
  4. All remaining FRD files automatically use the same parameters
  5. No need to configure each file individually

How it works:

  • Parameters are configured using the on-axis measurement (0°, 0°)
  • Same delay and extrapolation settings applied to all off-axis FRD files
  • Ensures consistent conversion across the measurement set

⚠️ Important Limitation - Missing Relative Time Delays:

FRD files contain frequency response data only (magnitude and phase) without encoding the relative time delays between different measurement angles. When importing multiple FRD files at different angles, all files use the same delay parameter configured on the on-axis measurement.

Why this matters for off-axis measurements:

In real loudspeakers, off-axis measurements have different acoustic path lengths and interference patterns compared to on-axis:

  • Sound from tweeter and woofer arrives at different relative times depending on measurement angle
  • These time differences create frequency-dependent interference (comb filtering)
  • Proper time alignment between drivers varies with angle

Consequence:

  • Batch-imported FRD files will have identical relative timing at all angles
  • Phase relationships between drivers won’t reflect actual acoustic behavior
  • Directivity analysis and crossover optimization will be inaccurate
  • Simulated off-axis response won’t match real-world interference patterns

Recommendation:

  • Prefer WAV impulse response files for multi-angle measurements whenever possible
  • WAV files preserve the actual time-of-flight at each angle
  • Only use FRD batch import for preliminary analysis or when WAV files aren’t available
  • If using FRD files, be aware that off-axis crossover behavior won’t be accurately modeled

Valid use cases for batch FRD import:

  • Quick magnitude response comparison across angles
  • Preliminary directivity visualization
  • Single-driver systems where relative timing isn’t critical
  • When no impulse response measurements are available

Practical Example

Scenario: You have a set of horizontal measurements exported from REW:

Tweeter_h0.frd
Tweeter_h15.frd
Tweeter_h30.frd
Tweeter_h45.frd
Tweeter_h60.frd

Workflow:

  1. Select all 5 files in file dialog
  2. FRD Converter opens for Tweeter_H0.frd (on-axis)
  3. Set sample rate to 96000 Hz, delay to 5 ms
  4. Choose DC extrapolation: Roll-off
  5. Click “Use This Impulse Response”
  6. Files H15, H30, H45, H60 automatically converted with same settings
  7. All 5 measurements appear in the horizontal column

Result:

  • All angles have same delay (5 ms) configured on on-axis measurement
  • ⚠️ Relative time-of-flight differences between angles are lost
  • For accurate crossover modeling, prefer WAV impulse response files

Limitations

  • Batch import only works with files having consistent format (all WAV, all FRD, or mixed)
  • Files must follow supported angle naming conventions
  • On-axis measurement (0°, 0°) should be included when importing FRD files for optimal parameter configuration
  • If mixing WAV and FRD formats, FRD files must include on-axis or parameters will use defaults
  • FRD files don’t preserve relative time delays between angles—prefer WAV files for multi-angle measurements

Tips

Consistent naming convention:

  • Use descriptive base names: Tweeter_h30.wav instead of just h30.wav
  • Include driver name in filename for easier identification
  • Use lowercase h/v for consistency with LinFIR exports
  • MF 2D format is order-independent: v0h30 = h30v0

Large measurement sets:

  • Import horizontal and vertical measurements separately if you have both
  • Use Symmetry tool after batch import to fill missing opposite angles
  • Verify measurement table after import to ensure correct angle assignment

FRD files:

  • ⚠️ Not recommended for off-axis measurements (missing relative time delays)
  • Always include on-axis (H0 or V0) measurement in batch for parameter reference
  • Configure extrapolation modes carefully for first file—settings propagate to all
  • Verify impulse response quality after batch conversion
  • Consider this a preliminary workflow—prefer WAV files for accurate directivity analysis

Recommended format priority:

  1. WAV files: Best option—preserves all timing information
  2. TXT with metadata: Acceptable if exported from LinFIR
  3. FRD files: Only for magnitude analysis—timing not preserved

FRD to IR Converter

When importing FRD files, LinFIR opens a dedicated conversion window with advanced tools for interpolation, visualization, and quality assessment.

FRD to IR Converter Window FRD to IR Converter Window

Overview

The FRD to IR Converter transforms sparse frequency-domain data into time-domain impulse responses using sophisticated interpolation and extrapolation techniques. It provides real-time visualization and quality metrics to help you assess the conversion quality.

Conversion Parameters

Sample Rate

Options: 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz, 176.4 kHz, 192 kHz
Default: 96 kHz

Target sampling frequency for the resulting impulse response.

Considerations:

  • Higher sample rates provide better frequency resolution
  • Must match or exceed your project’s sample rate
  • FRD data is interpolated to fill all frequency bins from DC up to Nyquist

Delay Compensation

Range: 0.0 to 100.0 ms
Default: 5.0 ms

Time offset applied to the impulse response to allow for pre-ringing visualization and processing.

Purpose:

  • Provides time buffer before the main impulse
  • Essential when FRD data contains non-minimum phase characteristics
  • Allows visualization of pre-ringing artifacts

Warning indicator: If pre-ringing duration exceeds the delay setting, a warning appears suggesting either:

  • Increase delay to accommodate pre-ringing
  • Enable Minimum Phase transformation

Minimum Phase Transformation

Default: Disabled

Applies Hilbert transform to convert the impulse response to minimum phase, eliminating all pre-ringing.

When to use:

  • FRD data shows significant pre-ringing (> 5% energy before peak)
  • Phase data is corrupted, smoothed, or contains wrapping errors
  • You need a causal, physically realizable impulse response
  • Time-domain alignment is critical

Effects:

  • Removes all energy before the main peak
  • Preserves magnitude response
  • Changes phase response to minimum phase equivalent
  • Results in a causal system (no pre-ringing)

Note: Pre-ringing in FRD-derived impulses is often an artifact of measurement or file creation, not a physical characteristic of the device.

DC Extrapolation

Modes: Constant, Roll-off
Default: Roll-off

Controls how magnitude is extended below the lowest measured frequency toward DC (0 Hz).

Constant mode:

  • Flat extrapolation using the lowest measured value
  • Use when FRD data already reaches very low frequencies

Roll-off mode (recommended):

  • Applies 12 dB/octave high-pass characteristic
  • Mimics natural loudspeaker low-frequency roll-off
  • More physically realistic for incomplete low-frequency data

High Frequency Extrapolation

Modes: Constant, Roll-off
Default: Constant

Controls how magnitude is extended above the highest measured frequency toward Nyquist.

Constant mode (recommended):

  • Flat extrapolation using the highest measured value
  • Maintains adequate signal level to Nyquist
  • Minimizes noise amplification

Roll-off mode:

  • Applies 12 dB/octave low-pass characteristic
  • Automatically compensates for upward slope trends
  • Use when FRD data shows unrealistic high-frequency behavior

Driver Offset Compensation

The FRD to IR Converter provides Driver Offset controls to compensate for the physical displacement of the driver relative to the reference point (typically the front baffle center or another driver).

Parameters:

  • X (Horizontal): Driver offset in the horizontal direction, in millimeters
  • Y (Vertical): Driver offset in the vertical direction, in millimeters
  • Located below the Extrapolation controls in the converter window

Coordinate System and Geometry:

Driver Offset Coordinate System

Reference Point (Origin):

The reference point (X=0, Y=0) represents the desired acoustic axis of the loudspeaker system. In the diagram example:

  • The tweeter is positioned at the origin (0, 0) — it defines the acoustic axis
  • The woofer is offset by -200 mm vertically (0, -200)

Note for designers: The choice of origin is not necessarily the center of a driver — it’s an engineering decision. You could choose:

  • The acoustic center of a specific driver (as shown in the example)
  • A point between drivers (e.g., midway between tweeter and woofer)
  • Any other reference point that makes sense for your design goals

What matters is consistency: all driver offsets are measured relative to this chosen origin.

Important: For off-axis measurements, only a driver with offset (woofer in the example) will have geometric delay applied. A driver at the origin (tweeter in the example) has no delay added or subtracted for off-axis angles — it remains the reference. This delay difference is then used to calculate interference patterns between drivers at off-axis angles.

How it works:

The driver offset introduces an additional geometric delay for off-axis measurements, calculated using the far-field approximation with Euclidean distance:

$$\Delta t = \frac{\sqrt{(x \cdot \sin\theta)^2 + (y \cdot \sin\varphi)^2}}{c}$$

Where:

  • \(x\) = horizontal driver offset (mm)
  • \(y\) = vertical driver offset (mm)
  • \(\theta\) = horizontal measurement angle (degrees)
  • \(\varphi\) = vertical measurement angle (degrees)
  • \(c\) = speed of sound ≈ 343,000 mm/s

In practice (measurements in a single plane):

Since LinFIR only supports measurements in the horizontal plane (\(\theta \neq 0\), \(\varphi = 0\)) or vertical plane (\(\theta = 0\), \(\varphi \neq 0\)), the formula simplifies:

  • Horizontal plane: \(\Delta t = \frac{x \cdot \sin\theta}{c}\) (only x offset matters)
  • Vertical plane: \(\Delta t = \frac{y \cdot \sin\varphi}{c}\) (only y offset matters)

The Euclidean formula is used in the code to be mathematically correct and future-proof should oblique measurements be supported.

This geometric delay is added to the user-configured delay before converting the FRD data to an impulse response.

Example:

  • Tweeter at origin (0, 0): no geometric delay applied at any angle
  • Woofer offset: X = 0 mm, Y = -200 mm
  • Measurement at vertical -30° (30° below axis)
  • Geometric delay for woofer: \(200 \times \sin(30°)/343000 \approx 0.291\) ms
  • This delay difference creates the correct interference pattern between tweeter and woofer at -30°

Purpose and Far-Field Approximation:

⚠️ Purpose: Driver offsets are used to predict far-field interference patterns between drivers when the listener is in the far field (listening distance >> driver spacing).

Key insight: Since typical FRD data has its phase recalculated (constant delay removed), the original measurement conditions don’t matter. What matters is modeling the acoustic geometry at the listening position.

When to use driver offsets:

  • Listening distance ≥ 10× driver spacing (far-field condition for the listener)
  • Example: For drivers spaced 200 mm apart, listener at ≥ 2 meters
  • Typical home listening (2-4m) and studio monitoring (2-3m) scenarios
  • Predicting directivity and off-axis response in real-world use

Geometric assumption:

The formula assumes acoustic rays are parallel at the listening position:

  • Valid when listener distance >> driver spacing
  • Path difference depends only on driver offset and angle

Near-field listening considerations:

For close listening distances (< 1m), the parallel ray approximation becomes less accurate for the direct sound, and the predicted response will deviate more from reality as you get closer to the drivers.

However, the approximation remains valid for the reflected sound field since walls, floor, and ceiling are typically far enough that the acoustic path length is much larger than driver spacing. This is important because off-axis directivity affects how sound interacts with room boundaries.

Best practice:

  • Use driver offsets in most scenarios, including near-field listening
  • The approximation is excellent for far-field listening (≥ 2m)
  • For near-field use (< 1m), understand that direct sound predictions will be approximate, but reflected field modeling remains valid
  • Leaving offsets at 0 mm corresponds to a coaxial driver configuration (all drivers at the same point)

Display Parameters

These parameters control visualization only and do not affect the conversion.

IR Start / Stop Time

Range: 0.0 ms to impulse duration
Purpose: Zoom into specific time region of the impulse response graph

Useful for examining:

  • Pre-ringing characteristics
  • Main peak detail

Frequency Min / Max

Range: 1 Hz to 48000 Hz
Purpose: Set frequency range for magnitude and phase graphs

Allows focusing on:

  • Specific frequency bands of interest
  • Problem areas in the response
  • Comparison between original and interpolated data

Wrap Phase

Default: Disabled

Toggles between wrapped (-180° to +180°) and unwrapped phase display.

Wrapped:

  • Phase limited to -180° to +180° range
  • Shows discontinuities at ±180° boundaries
  • Familiar format for some users

Unwrapped:

  • Continuous phase (can exceed ±180°)
  • Shows true phase accumulation
  • Better for assessing group delay trends

Remove Delay Phase

Default: Disabled

Removes the linear phase component corresponding to the delay setting.

When enabled:

  • Subtracts linear phase = -360° × f × delay
  • Reveals underlying phase structure
  • Useful for comparing final phase response with the original one

Data Quality Assessment

The converter displays comprehensive quality metrics to help you evaluate the FRD data.

Coverage Metric

Format: “X / Y frequency points (Z% coverage)”

  • X: Number of frequency points in FRD file (within 0 Hz to Nyquist)
  • Y: Expected number of points for complete FFT coverage
  • Z: Coverage percentage = (X / Y) × 100

Quality indicators:

  • Good (≥ 50%): Green - Sufficient data density
  • ⚠️ Moderate (20-50%): Yellow - Acceptable but sparse
  • Low (< 20%): Red - Very sparse, heavy interpolation required

FFT bin calculation: Based on sample rate and FFT size (4× next power of 2)

Info Button - Detailed Diagnostics

Click the ℹ Info button to open the Data Quality Information window with detailed analysis.

Missing DC (0 Hz):

  • Impact: Low-frequency extrapolation required
  • Consequence: Uncertainty in bass response below lowest measured frequency
  • Solution: Use Roll-off extrapolation for DC

Missing Nyquist Data:

  • Impact: High-frequency extrapolation required
  • Consequence: Uncertainty in high-frequency response
  • Recommended: FRD should extend to at least Nyquist frequency

Sparse Frequency Data:

  • Threshold: < 50% coverage
  • Impact: Heavy interpolation between measured points
  • Risk: Artifacts from PCHIP interpolation of widely-spaced points
  • Note: Shows exact percentage of missing data points

Pre-ringing Detection:

Analyzed automatically after conversion. Three severity levels:

  • Minor (0.1% - 0.5% energy before peak):

    • Blue indicator
    • May indicate slight phase smoothing or measurement artifacts
    • Usually acceptable for most applications
  • Moderate (0.5% - 1.0% energy before peak):

    • Yellow/Orange warning
    • Phase data likely smoothed or contains wrapping errors
    • Consider minimum phase transformation
  • Significant (≥ 1.0% energy before peak):

    • Red warning
    • Severe phase corruption or non-physical characteristics
    • Strongly recommended: Enable Minimum Phase transformation
    • Will affect transient response and phase correction accuracy

Pre-ring duration: Time span from first significant energy to main peak

Physical interpretation: Real loudspeakers cannot produce energy before the stimulus arrives. Pre-ringing in FRD files indicates:

  • Phase data smoothing in measurement software
  • Phase wrapping/unwrapping errors
  • File export artifacts
  • Non-minimum phase processing applied to data

Impact Warnings

The Data Quality Information window provides context on how issues affect the conversion:

Missing Data Effects:

  • Artifacts in reconstructed impulse response
  • Estimated information through interpolation/extrapolation
  • Final impulse may not fully represent original system

Best Practices for FRD Files:

  • Include DC (0 Hz) measurement point
  • Extend data to at least Nyquist frequency
  • Aim for > 50% frequency coverage
  • Prefer linear frequency spacing over logarithmic
  • Avoid phase smoothing in export settings

Time-Domain Preference:

The converter emphasizes: When possible, import impulse responses (WAV files) instead of FRD.

Advantages of time-domain data:

  • No interpolation artifacts
  • Preserves time-of-flight information (with proper timing reference)
  • Essential for proper driver alignment in crossover design
  • Natural representation of system behavior

FRD limitations for crossover design:

  • Often lacks time-of-flight data
  • Driver motors may not be coplanar
  • Diaphragm geometry affects acoustic center
  • Horn loading adds group delay
  • Relative delays between drivers are essential

Visualization Graphs

The converter displays three synchronized graphs:

1. FRD Data (Original + Interpolated):

  • Left: Magnitude response
  • Right: Phase response
  • Red curve: Original FRD measurements
  • Dashed blue curve: PCHIP interpolated curve

2. Impulse Response:

  • Reconstructed time-domain impulse
  • Zoom using IR Start/Stop controls
  • Shows pre-ringing and overall IR structure

3. Reconstructed Frequency Response:

  • Left: Magnitude computed from impulse via FFT
  • Right: Phase computed from impulse via FFT
  • Validation: Should closely match interpolated FRD (with Remove Delay Phase button enabled)
  • Differences indicate reconstruction issues

Workflow

  1. Import FRD file - Converter window opens automatically
  2. Review quality metrics - Check coverage and warnings
  3. Adjust extrapolation - Set DC and HF modes as needed
  4. Set sample rate - Match or exceed project sample rate
  5. Configure delay - Ensure adequate pre-ringing buffer
  6. Enable minimum phase - If pre-ringing > 1% or phase corrupted
  7. Inspect graphs - Verify interpolation and reconstruction quality
  8. Click “Use This Impulse Response” - Apply to selected measurement angle

The converted impulse is automatically stored in the driver’s measurement at the specified horizontal/vertical angle.


Microphone Calibration

Microphone Calibration Selection Microphone Calibration Selection

Apply frequency response and sensitivity calibration corrections for your measurement microphone.

Overview

Each driver or room measurement can be assigned a microphone calibration that compensates for:

  • Frequency response deviation from ideal flat response
  • Sensitivity factor (dB conversion from microphone output to SPL)

Calibration management:

  • Calibration files are managed in Settings → Mic Calibration (see Settings → Mic Calibration)
  • Default calibration can be set for new drivers
  • Each driver/measurement can use a different calibration or none at all

Calibration Dropdown

Location: Below the Driver/Measurement Name field

Options:

  • None: No calibration applied (use for reference microphones or pre-calibrated measurements)
  • [Calibration file names]: All imported calibration files from Settings → Mic Calibration

Behavior:

  • Selection is saved with the project file
  • Calibration data is stored in application settings, not in project files
  • Changing the selection immediately recomputes the driver’s windowed IR and all filter responses

How Calibration is Applied

Processing pipeline:

  1. Measurement is imported and windowed (see Time Windowing)
  2. Microphone calibration correction applied (if selected)
    • Minimum-phase FIR filter created from frequency response data
    • Sensitivity factor (dB) applied as gain adjustment
    • Frequencies below 5 Hz filtered out before processing
  3. Corrected IR used for all subsequent filtering (crossovers, correction filters, etc.)

Phase behavior:

  • Correction uses minimum-phase reconstruction, affecting both magnitude and phase
  • This is physically accurate for measurement microphones, which exhibit mainly minimum-phase behavior

Real-time updates:

  • Calibration is recomputed whenever you change the windowing parameters
  • Filter responses update automatically when you change calibration selection

When to Use Calibrations

Apply calibration when:

  • Using consumer or measurement microphones with non-flat response
  • You have calibration data from the manufacturer or third-party calibration service
  • Measurements were taken with the same microphone used for the calibration file

Use “None” when:

  • Measurements were taken with an already-flat reference microphone
  • Importing measurements already compensated externally

Per-Driver vs. Default Calibration

Per-driver assignment (this window):

  • Overrides any default set in Settings
  • Useful when combining measurements from different microphones in one project
  • Saved with the project file

Default calibration (Settings → Mic Calibration):

  • Automatically applied to newly created drivers/measurements
  • Does not affect existing drivers
  • See Settings → Mic Calibration for configuration

Time Windowing

Isolate the direct sound from an impulse response and exclude reflections or noise.

Note: Time windowing is not available in Room Calibration mode. This is intentional: Room Calibration mode is designed to capture the full speaker-plus-room response, including reflections and room decay. Applying a time window would produce an anechoic-like impulse response — corrections derived from it would be wrong for the actual listening environment — what you hear is the direct sound from the speakers combined with all the reflections that follow, and the correction filters must account for that full response.

IR Windowing and Delay Compensation IR Windowing and Delay Compensation

Parameters

Start Time

Beginning of the time window in milliseconds.

  • Purpose: Remove pre-ringing or early noise
  • Typical: 0.0 to 5.0 ms before main peak
  • Effect: Sets the beginning of the extracted portion

Stop Time

End of the time window in milliseconds.

  • Purpose: Exclude late reflections or room decay
  • Typical: 5.0 to 100.0 ms after main peak
  • Effect: Sets the end of the extracted portion

Duration Display

Wndow duration (Stop Time - Start Time).

Auto Set Window

Click “Auto Set Window” to automatically detect and configure optimal window boundaries.

How It Works:

The algorithm analyzes the on-axis measurement (0°, 0°) and automatically sets the start and stop times:

  1. Detect main peak: Locates the largest absolute amplitude in the impulse response
  2. Compute Hilbert envelope: Calculates the amplitude envelope for robust reflection detection
  3. Adaptive threshold: Adjusts detection sensitivity based on signal-to-noise ratio (3-8% of peak)
  4. Set start time: Places window start 3 ms before the main peak (clamped to 0.0 minimum)
    • This margin accounts for off-axis measurements where the sound path may be shorter (gives a margin of ~1m)
    • Prevents truncation of the direct sound in off-axis measurements
  5. Search for reflections: Scans the envelope for the first significant reflection/echo after the main peak:
    • Must occur at least 3 ms after the main peak
    • Must exceed the adaptive threshold
    • Must be a local maximum in the envelope
  6. Set stop time: Places window stop 0.5 ms before the first detected reflection

If no significant reflection is detected, the stop time is set to the end of the search window or IR length.

Detection Method:

The algorithm uses Hilbert envelope analysis to detect reflections. This provides more robust detection than simple amplitude analysis by following the overall energy contour of the signal, making it less sensitive to oscillations within the waveform.

Window Margins:

  • Start margin (3 ms): Ensures off-axis measurements are not truncated when rotating large loudspeakers. At the speed of sound (~343 m/s), 3 ms corresponds to approximately 1 meter of path length difference. During rotation, drivers may move closer to or further from the microphone—this margin provides sufficient safety for rotations of large cabinet.
  • Stop margin (0.5 ms): Small margin before the detected reflection to avoid including the beginning of the echo.

Best Use Cases:

  • Quasi-anechoic measurements: Ideal for measurements with clear, isolated reflections (e.g., outdoor, treated rooms, gated measurements)
  • Controlled environments: Works well when the direct sound is clearly separated from reflections
  • Multi-angle measurements: The 3ms start margin prevents truncation of off-axis measurements
  • Time-saving: Quick initial window setup that can be manually refined if needed

Limitations:

  • Reverberant environments: Not suitable for highly reflective rooms where reflections arrive continuously
  • Dense reflection patterns: May not detect the first reflection correctly if multiple reflections arrive in quick succession
  • Room measurements: For full-room measurements including reflections, manual windowing is more appropriate

Recommendation:

Use “Auto Set Window” as a starting point in quasi-anechoic conditions, then verify and adjust the window boundaries manually while observing the impulse response graph. In reverberant environments, set window parameters manually based on your measurement conditions.

Windowing Purpose

  • Anechoic approximation: Simulate anechoic conditions from room measurements
  • Reflection gating: Remove floor, ceiling, and wall reflections
  • Crossover and correction design: Essential for accurate filter design using measured data
  • Clean response: Isolate direct driver response

Window Function

LinFIR uses a Tukey window (tapered cosine/raised cosine) for smooth fade-in and fade-out transitions. This prevents spectral artifacts and high-frequency ringing caused by abrupt signal truncation.

Windowing Convention:

The fade-out starts at the stop parameter:

  • Fade-in: [start → start + taper]
  • Full signal: [start + taper → stop]
  • Fade-out: [stop → stop + taper]

Taper Duration: 0.5 ms for both simple and adaptive windowing

Preview

The impulse response graph shows the windowed result in real-time as you adjust start and stop times. The window boundaries are visually indicated.


Adaptive Window

Advanced frequency-dependent windowing that preserves low-frequency response while gating high-frequency reflections.

How It Works

When enabled, LinFIR uses a wavelet transform to apply different window lengths for different frequencies:

  • Start parameter: Applied uniformly to all frequencies
  • Stop parameter: Applied with frequency-dependent extensions
    • Lower frequencies get longer decay times
    • Higher frequencies use shorter windows

Examples of automatic extensions:

  • 30 Hz: +33 ms beyond stop time
  • 480 Hz: +2 ms beyond stop time
  • 7.5 kHz: +0.1 ms beyond stop time
  • 18 kHz: +0.06 ms beyond stop time

This reflects the physical reality that longer wavelengths make it difficult to temporally separate direct sound from reflections.

Benefits

  • Preserves bass response: Low frequencies automatically get the time they need
  • Avoids bass roll-off: Short windows don’t unnaturally cut off bass
  • Frequency-aware gating: Removes high-frequency reflections while keeping bass intact
  • No phase distortion: Maintains natural phase relationships

When to Use

Use Adaptive Window when:

  • Gating reflections but need to preserve bass response
  • Using short measurement windows where bass would be compromised
  • Simple windowing causes unnatural bass attenuation
  • You want frequency-dependent decay times matching physical acoustics

Don’t use Adaptive Window when:

  • Working with anechoic or quasi-anechoic measurements with very clean direct sound (simple window is cleaner)
  • You have sufficient window length for all frequencies uniformly
  • You prefer uniform windowing for consistency

Enabling

Check the “Adaptive Window” checkbox in the IR Windowing section.


Delay Compensation

Shift the impulse response earlier in time without truncating data.

How It Works

  • Non-destructive: IR data remains intact in memory
  • Display offset: Delay applied as metadata for display and calculations
  • Purpose: Bring acoustic peak closer to time zero to flatten the phase

Auto Detect Delay

Click “Auto Detect Delay” to automatically detect and apply optimal delay compensation across all drivers:

Behavior:

  1. Detects the peak position for each driver (based on on-axis measurements)
  2. Finds the minimum detected delay across all drivers
  3. Applies this minimum delay to all drivers simultaneously

Advantages:

  • Preserves temporal alignment: All drivers maintain their relative timing relationships
  • Removes common delay: Eliminates the shared propagation delay from all measurements
  • Prevents errors: Ensures consistent delay compensation across all drivers automatically

Detection Method:

  • Locates the position of the main peak in the impulse response
  • Uses on-axis measurement (0°, 0°) as reference for each driver
  • Aligns all driver peaks precisely at time zero

Manual Adjustment

Manually enter delay value in milliseconds to fine-tune compensation for individual drivers.

Sync Toggle (enabled by default):

When the Sync toggle is enabled, any manual delay adjustment automatically applies to all drivers in the project. This ensures consistent compensation across all drivers without needing to adjust each one individually.

  • Enabled: Changes to the delay parameter propagate to all drivers automatically
  • Disabled: Changes only affect the current driver, allowing independent delay values
  • Activating Sync: If Sync is currently disabled and you enable it, an automatic delay detection is triggered to ensure all drivers have coherent delay values

When to use independently (Sync disabled):

  • Only when drivers were measured with significantly different microphone positions
  • Even then, prefer fixing microphone position and re-measuring rather than relying on delay compensation

Purpose and Limitations

What delay compensation is FOR:

  • Removing the time of flight of sound from the measurement (optional, depends on personal preference)
  • Correcting for different microphone positions between measurements

What delay compensation is NOT for:

  • ❌ Time-aligning drivers during crossover design (this is handled separately by the Time Delay parameter)
  • ❌ A tool for precise multi-driver coherence (proper crossover phase design is required instead)

Important: Microphone Position Corrections

Delay compensation can correct for microphone position differences, but this method has significant limitations:

⚠️ High-frequency measurement errors scale with wavelength:

  • 10 cm microphone position difference → Errors above ~3400 Hz
  • 5 cm microphone position difference → Errors above ~6900 Hz
  • Ultra-short wavelengths (high frequencies) amplify measurement uncertainties

Best practice:

  • ✅ Prefer re-measuring with fixed microphone placement rather than compensating for position differences
  • ✅ Maintain consistent microphone position across all measurements when possible
  • ✅ Delay compensation cannot replace careful measurement technique

Off-Axis Measurements:

  • The selected delay compensation applies uniformly to all off-axis measurements (cannot vary by angle)
  • This affects the relative timing between different measurement angles consistently

Measurement Notes

Section: Collapsible header (default closed)
Purpose: Document measurement conditions and hardware setup

Measurement Notes Measurement Notes

Overview

The Measurement Notes field provides a space to record important information about your measurement setup, hardware configuration, environmental conditions, and any other relevant details.

Features

  • Multi-line text editor: Supports up to 1000 characters
  • Auto-save: Notes are saved with the project
  • Hint text: Helpful placeholder text suggests what information to include
  • Character counter: Live display of character count (e.g., “127/1000 characters”)

What to Document

Hardware configuration:

  • Microphone model and serial number
  • Audio interface model and settings
  • Amplifier configuration
  • Cable connections and routing

Measurement conditions:

  • Date and time of measurement
  • Room conditions (temperature, humidity if relevant)
  • Microphone position and distance
  • Driver orientation and mounting

Reference information:

  • Calibration file version used
  • Sample rate and sweep settings
  • Any unusual conditions or observations
  • Version of measurements for tracking

Example Notes

Microphone: UMIK-1 (S/N: 123456) with cal file v2.3
Interface: Focusrite Scarlett 2i2 (48kHz, 512 buffer)
Distance: 1m on-axis, driver mounted in baffle
Room: Semi-anechoic (windows gated at 10ms)
Date: 2025-12-14
Notes: First measurement after driver break-in period

Best Practices

  • Be specific: Include model numbers and serial numbers when relevant
  • Date your measurements: Track when measurements were taken
  • Note calibration: Record which calibration file was used
  • Document changes: If re-measuring, note what changed
  • Reference conditions: Record anything that might affect comparisons

Exporting Impulse Responses

Impulse responses can be exported individually or in batch using two methods:

Individual Export (Per-Measurement)

For each measurement (horizontal and vertical angles):

  1. Click the ⬇ (Export) button next to the measurement angle
  2. Export dialog appears with format options
  3. Choose export format (WAV or TXT) and options
  4. File is saved with automatic angle suffix

File naming format:

  • Format: DriverName_v{vertical}h{horizontal}.extension
  • Examples:
    • On-axis (0°, 0°): Driver 1_v0h0.wav
    • Horizontal +30°: Driver 1_v0h30.wav
    • Vertical -15°: Driver 1_v-15h0.wav
    • Horizontal -45°: Driver 1_v0h-45.wav

Room Calibration mode (no angles):

  • Format: MeasurementName.extension
  • Example: Measurement 1.wav

Batch Export (All Measurements)

Button: ⬇ Export All (above “Measurement angle” field)

Process:

  1. Click “⬇ Export All” button
  2. Select output directory in folder picker
  3. All measurements exported simultaneously as WAV files
  4. Files use consistent v{vertical}h{horizontal} naming

Format (batch export):

  • All files exported as WAV (32-bit float, mono)
  • Sample rate matches project sample rate
  • “Include distortion” option applies to all files
  • No format selection (always WAV for batch)

Benefits:

  • Fast export of complete measurement sets
  • Consistent naming for re-import compatibility
  • Files can be re-imported via batch import with automatic angle detection
  • Compatible with external tools

Use cases:

  • Archiving complete measurement sets
  • Sharing measurements with collaborators
  • External processing (FIR Designer, Matlab, REW)
  • Backing up measurements before making changes

Export Format Options

When you click the export button, a dialog presents two format options:

WAV Format

File format:

  • Channels: Mono
  • Bit depth: 32-bit PCM float
  • Sample rate: Project sample rate

Include Distortion Metadata option:

When checked:

  • Exports full deconvolved IR plus custom ‘dist’ metadata chunk
  • File name automatically gets _dist.wav suffix
  • Enables THD computation when re-imported into LinFIR
  • Contains sweep parameters: start frequency, end frequency, duration

When unchecked:

  • Exports only the active (cropped/windowed) working IR
  • Standard WAV file without metadata
  • Cannot be used for THD computation upon re-import

TXT Format

File format:

  • One sample per line in scientific notation (e.g., 1.234567e-03)
  • Metadata stored as comment lines starting with #:
    • # fs=<value> - Sample rate in Hz
    • # IR data: - Marks the start of sample data
  • Compatible with external tools (e.g., Matlab, Python)
  • Can be re-imported into LinFIR

Include Distortion option:

TXT export does NOT support distortion export:

  • The “Export as TXT” button is disabled when “Include distortion” is checked
  • TXT format can only export the cropped IR (main impulse only)
  • For distortion data export, use WAV format which supports embedded metadata

THD Availability

Total Harmonic Distortion (THD) graphs are only available when:

  • IR was captured directly via LinFIR’s built-in sweep, or
  • IR was imported from WAV with ‘dist’ metadata chunk (exported with “Include dist.” option in LinFIR)

Plain WAV files without ‘dist’ chunk or TXT files cannot produce THD curves.


Best Practices

For Captures

  • Use proper gain staging to avoid clipping
  • Monitor levels during sweep - aim for -6 dB to -12 dB peak
  • Save captures with “Include dist.” for future THD analysis

For Windowing

  • Use anechoic or quasi-anechoic measurements when possible
  • Apply windowing before designing correction filters
  • Check impulse response graphs to verify proper window placement
  • Use Adaptive Window cautiously - verify bass response is realistic

For File Management

  • Use descriptive IR names for organization
  • Export with distortion metadata if you need THD analysis later
  • Keep original unprocessed captures as backups
  • Document measurement conditions (position, distance, etc.)

Quick Reference

ActionResult
Import WAVLoad IR from WAV file (with or without ‘dist’ metadata)
Import FRDConvert frequency response data to impulse response
Capture SweepBuilt-in measurement with automatic THD support
Time WindowingExtract portion of IR, exclude reflections
Adaptive WindowFrequency-dependent windowing for bass preservation
Delay CompensationShift IR in time (non-destructive)
Export WAVSave IR to WAV (with optional distortion metadata)
Export TXTExport coefficients to text file