Export & Project Management
This section covers exporting filters, total impulse responses, and managing your LinFIR projects.
Filter Export
Overview
LinFIR allows you to export processed FIR filter coefficients for use in external DSP systems, hardware amplifiers, or room correction software. You can export:
- Individual Driver FIR Filters: Per-driver crossover and correction filters (Loudspeaker Design mode only)
- Global FIR Correction: System-wide magnitude and phase correction filters
- Total Impulse Response: The complete processed system impulse at the listening position
Access: Menu > Export Filters
Export File Formats
LinFIR supports multiple export formats to ensure compatibility with various DSP platforms:
Binary Formats
- FLOAT32LE (
.bin): IEEE 754 32-bit little endian float- Standard format for CamillaDSP and MiniDSP
- Raw binary data, no header
- Each sample is 4 bytes
- FLOAT64LE (
.bin): IEEE 754 64-bit little endian float- Higher precision for demanding applications
- Raw binary data, no header
- Each sample is 8 bytes
Text Formats
- CSV row (
.csv): Comma-separated values in a single row - CSV column (
.csv): One coefficient per line - Text decimal (
.txt): Decimal format, one coefficient per line:0.123456 - Text scientific (
.txt): Scientific notation format, one coefficient per line:1.2345600000000000e-01
Audio Formats
- WAV 16-bit (mono) (
.wav): 16-bit integer PCM- Auto-normalized: Coefficients are automatically normalized to prevent clipping if max(abs(value)) > 1.0
- Range: -32768 to 32767 (maps to -1.0 to 1.0)
- Single channel audio file
- WAV 24-bit (mono) (
.wav): 24-bit integer PCM- Auto-normalized: Coefficients are automatically normalized to prevent clipping if max(abs(value)) > 1.0
- Range: -8388608 to 8388607 (maps to -1.0 to 1.0)
- Single channel audio file
- WAV 32-bit float (mono) (
.wav): 32-bit floating point- Raw coefficients: No normalization, values preserved as-is (can exceed ±1.0)
- Same data as FLOAT32LE binary format, but with WAV header
- Single channel audio file
- WAV 16-bit (stereo) (
.wav): 16-bit integer PCM stereo- Auto-normalized: Coefficients are automatically normalized to prevent clipping if max(abs(value)) > 1.0
- Range: -32768 to 32767 (maps to -1.0 to 1.0)
- Dual channel audio file with identical left/right channels (mono signal duplicated)
- WAV 24-bit (stereo) (
.wav): 24-bit integer PCM stereo- Auto-normalized: Coefficients are automatically normalized to prevent clipping if max(abs(value)) > 1.0
- Range: -8388608 to 8388607 (maps to -1.0 to 1.0)
- Dual channel audio file with identical left/right channels (mono signal duplicated)
- WAV 32-bit float (stereo) (
.wav): 32-bit floating point stereo- Raw coefficients: No normalization, values preserved as-is (can exceed ±1.0)
- Dual channel audio file with identical left/right channels (mono signal duplicated)
Note on Normalization: FIR filter coefficients can have values outside the ±1.0 range. WAV PCM formats (16-bit, 24-bit) automatically normalize coefficients to fit their limited integer range while preserving the filter’s frequency response shape. WAV 32-bit float and binary formats (FLOAT32LE/FLOAT64LE) preserve raw coefficient values without normalization.
Note on Stereo Formats: Stereo WAV formats duplicate the mono FIR filter signal to both left and right channels. The actual filter data is identical in both channels.
Platform-Specific Formats
- Text - Powersoft Armonia (
.txt): Format for Powersoft amplifiers. Usually requires 48 kHz to be set as target sampling frequency.
FIR Export Process
When exporting FIR filters (Menu > Export Filters):
- Driver Selection: In Loudspeaker Design mode, LinFIR exports each enabled driver with active FIR filters (HP, LP, or correction)
- Only enabled drivers are exported (drivers with the Enabled button toggled on in the Drivers toolbar)
- Disabled drivers are automatically skipped during export
- Global Filter: If global FIR correction is enabled, it’s exported as a separate file
- Room Calibration Mode: Only global filters are exported (no per-driver files)
- File Naming: Each filter gets a descriptive name with complete parameter details by default
Filter Naming Convention
Exported filter names include all relevant parameters for complete traceability:
Driver FIR Example:
Tweeter_4096taps_96000Hz_HPLR4-2500Hz_CORR(MAG+PH_R30dB_G-2.5dB_MinPhase).wav
Components:
Tweeter: Driver name (from imported IR filename)4096taps: Filter length (including padding)96000Hz: Sample rateHPLR4-2500Hz: High-pass Linkwitz-Riley 4th-order at 2500 Hz- Format:
HPorLP+ filter type abbreviation + order (if not brick-wall) +-+ frequency - Types: Brick-wall (no order),
BW(Butterworth),LR(Linkwitz-Riley),BE(Bessel)
- Format:
CORR(...): Correction filter details (only if correction is enabled)MAG+PH: Both magnitude and phase correction enabledMAGorPH: Only one correction type enabledR30dB: 30 dB correction range (magnitude only)G-2.5dB: -2.5 dB post-gain (magnitude only, only if gain ≠ 0)MinPhase: Minimum-phase causality (causality ≥ 0.99)C75%: Mixed causality at 75% (causality 0.01-0.98)- No causality suffix = Linear-phase (causality = 0.0)
Global FIR Example:
GlobalFIR_8192taps_96000Hz_MAG_R40dB_C50%_200-18000Hz.wav
Components:
GlobalFIR: Global correction identifier8192taps: Filter length (including padding)96000Hz: Sample rateMAGorPHorMAG+PH: Correction type enabledR40dB: 40 dB correction range (magnitude only)G+2.5dB: Post-gain in dB (only if gain ≠ 0)MinPhase: Minimum-phase (causality ≥ 0.99)C50%: Mixed causality at 50% (0.01-0.98)- No causality suffix = Linear-phase (causality = 0.0)
200-18000Hz: Frequency range (only if f_min > 20 Hz or f_max < Nyquist - 100 Hz)
Padding and Filter Length
Exported filters include:
- Base taps: The configured filter length (N taps)
- Padding taps: Additional zero-padding if configured
Padding ensures compatibility with DSP systems that require a specific fixed tap count (e.g., Hypex amplifiers and DSPs require specific lengths).
Room Calibration Export Behavior
In Room Calibration mode:
- Only global filters are exported (no per-driver FIR files)
- The global FIR represents the averaged correction across all measurement positions
- Individual driver controls are disabled in this mode
- Export focuses on the overall room response correction
IIR Filter Export
Overview
LinFIR can export IIR filters (digital biquad coefficients) in four formats:
- FQG Format (
.txt): Text-based frequency/Q/gain lists - CamillaDSP Format (
.yml): YAML configuration for CamillaDSP - Q-SYS Format (
.csv): CSV biquad coefficients for Q-SYS IIR Custom Filter - MiniDSP Format (
.txt): Compact biquad coefficients for MiniDSP devices
Note: Only IIR filters from enabled drivers are exported. Disabled drivers are automatically skipped.
IIR export is available for:
- Global IIR filters (system-wide EQ and crossovers)
- Per-driver IIR filters (individual driver EQ, in Loudspeaker Design mode)
Export Formats
FQG Format (Text)
Simple text format listing filter parameters:
# Global IIR Filters (FQG Format)
# Sample Rate: 96000 Hz
# Format: Type [Pass] Frequency [Order] [Q] [Gain]
Butterworth HP 80.0 4
Butterworth LP 20000.0 4
PEQ 1200.0 2.500 -3.50
LowShelf 200.0 0.707 2.00
HighShelf 10000.0 0.707 -1.50
Allpass2 3000.0 1.414
Allpass1 500.0
Format Details:
- Butterworth/LR/Bessel:
Type Pass Frequency Order- Pass:
HP(high-pass) orLP(low-pass)
- Pass:
- PEQ:
PEQ Frequency Q Gain - Low/High Shelf:
LowShelf/HighShelf Frequency Q Gain - Allpass2:
Allpass2 Frequency Q(second-order) - Allpass1:
Allpass1 Frequency(first-order)
CamillaDSP Format (YAML)
Full YAML configuration with native CamillaDSP filter types:
# Global IIR Filters (CamillaDSP Format)
# Sample Rate: 96000 Hz
filters:
filter_1:
type: BiquadCombo
parameters:
type: ButterworthHighpass
freq: 80.0
order: 4
filter_2:
type: Biquad
parameters:
type: Peaking
freq: 1200.0
gain: -3.50
q: 2.500
filter_3:
type: Biquad
parameters:
type: Lowshelf
freq: 200.0
gain: 2.00
q: 0.707
CamillaDSP Native Types:
ButterworthLowpass/ButterworthHighpassLinkwitzRileyLowpass/LinkwitzRileyHighpassPeaking(PEQ)Lowshelf/HighshelfAllpass(second-order)AllpassFO(first-order)
Bessel Filters: CamillaDSP doesn’t natively support Bessel filters, so they’re exported as Free biquad sections with explicitly calculated coefficients:
filter_1_1_bessel:
type: Biquad
parameters:
type: Free
b0: 0.9876543210123456
b1: -1.9753086420246912
b2: 0.9876543210123456
a1: -1.9750000000000000
a2: 0.9755086580370370
Q-SYS Format (CSV)
CSV format for Q-SYS IIR Custom Filter components. Each line represents one biquad section with coefficients in the order: b0, b1, b2, a0, a1, a2.
0.0040888760000000, 0.0081777519000000, 0.0040888760000000, 1.0000000000000000, -1.8954199260000000, 0.9117754299000000,
0.0040888760000000, 0.0081777519000000, 0.0040888760000000, 1.0000000000000000, -1.8954199260000000, 0.9117754299000000,
0.0033894348000000, 0.0067788696000000, 0.0033894348000000, 1.0000000000000000, -1.7990948390000000, 0.8126525782000000,
Format Specification:
- One biquad section per line
- Coefficients:
b0, b1, b2, a0, a1, a2,(trailing comma optional) - Coefficient
a0must be non-zero (normalized to 1.0 by LinFIR) - 16 decimal places precision for maximum accuracy
- Compatible with Q-SYS Designer IIR Custom Filter component
Usage in Q-SYS:
- Export filters from LinFIR in Q-SYS format
- In Q-SYS Designer, add an IIR Custom Filter component
- Set the component’s Section Count property to match the number of lines in your CSV file
- Close and reopen the component’s control panel
- Load the CSV file using the Coefficient File property
Important Notes:
- Each filter in LinFIR may generate multiple biquad sections (see Biquad Count Reference below)
- High-order filters (e.g., Butterworth 8th order) will create multiple CSV lines
- Total biquad count = sum of all lines in the CSV file
MiniDSP Format (Text)
Compact text format with biquad coefficients for MiniDSP hardware processors. Each biquad section is labeled and coefficients are provided in normalized form.
biquad1,
b0=0.9876543210123456
b1=-1.9753086420246912
b2=0.9876543210123456
a1=-1.9750000000000000
a2=0.9755086580370370
biquad2,
b0=1.0123456789012345
b1=-2.0246913578024690
b2=1.0123456789012345
a1=-1.9980000000000000
a2=0.9960493580246914
Format Specification:
- Each biquad section starts with
biquadN,where N is the section number (1, 2, 3, …) - Coefficients are listed one per line in the order:
b0,b1,b2,a1,a2 - Note:
a0is omitted (assumed to be 1.0 after normalization) - Format:
coefficient_name=valuewith no spaces around the=sign - 16 decimal places precision for maximum accuracy
Important Notes:
- Each filter in LinFIR may generate multiple biquad sections (see Biquad Count Reference below)
- MiniDSP devices have limited biquad slots
- High-order filters will consume multiple biquad slots
- Check your device’s specifications for maximum biquad count before exporting complex filter chains
Biquad Count Reference
Understanding biquad counts is essential when exporting to hardware with limited DSP resources (e.g., Hypex FA series amplifiers with a 15-biquad limit):
| Filter Type | Order | Biquad Count |
|---|---|---|
| Butterworth/Bessel LP/HP | 1 | 1 |
| Butterworth/Bessel LP/HP | 2 | 1 |
| Butterworth/Bessel LP/HP | 3 | 2 |
| Butterworth/Bessel LP/HP | 4 | 2 |
| Butterworth/Bessel LP/HP | 5 | 3 |
| Butterworth/Bessel LP/HP | 6 | 3 |
| Butterworth/Bessel LP/HP | 7 | 4 |
| Butterworth/Bessel LP/HP | 8 | 4 |
| Butterworth/Bessel LP/HP | 9 | 5 |
| Butterworth/Bessel LP/HP | 10 | 5 |
| Linkwitz-Riley LP/HP | 2 (LR2) | 2 |
| Linkwitz-Riley LP/HP | 4 (LR4) | 2 |
| Linkwitz-Riley LP/HP | 8 (LR8) | 4 |
| Linkwitz-Riley LP/HP | 10 (LR10) | 5 |
| PEQ (Parametric EQ) | - | 1 |
| Low/High Shelf | - | 1 |
| Allpass2 (2nd-order) | - | 1 |
| Allpass1 (1st-order) | - | 1 |
Linkwitz-Riley Formula: LR filters are implemented as cascaded Butterworth sections:
- LR order = 2 × Butterworth order
- LR2 = 2× Butterworth 1st-order = 2 biquads
- LR4 = 2× Butterworth 2nd-order = 2 biquads
- LR8 = 2× Butterworth 4th-order = 4 biquads
Butterworth/Bessel Formula: Biquad count = ⌈order / 2⌉ (ceiling of order divided by 2)
Export Process
- Open Menu > Export IIR Filters
- Select export format (FQG, CamillaDSP, Q-SYS, or MiniDSP)
- LinFIR identifies all enabled IIR filter chains:
- Global IIR (if enabled)
- Per-driver IIR (if enabled, Loudspeaker Design mode only)
- For each filter chain, specify output filename
- Files are generated with complete filter specifications
Room Calibration Mode: Only global IIR filters are exported (no per-driver files).
HFD Export (Hypex FA Series)
Overview
LinFIR can generate complete configuration files (.hfd) for Hypex FA series amplifiers:
- FA251, FA501 (1-channel with DSP)
- FA122, FA252, FA502 (2-channel with DSP)
- FA123, FA253, FA503 (3-channel with DSP)
This integration enables direct deployment of your loudspeaker designs to Hypex amplifiers without manual coefficient transfer.
Supported Device Models
| Model | Channels | Max FIR (Input) | Max FIR (Output/ch) | Max IIR (biquads/ch) |
|---|---|---|---|---|
| FA122 | 2 | 4500 taps | 1500 taps | 15 |
| FA123 | 3 | 4500 taps | 1500 taps | 15 |
| FA251 | 1 | 4500 taps | 1500 taps | 15 |
| FA252 | 2 | 4500 taps | 1500 taps | 15 |
| FA253 | 3 | 4500 taps | 1500 taps | 15 |
| FA501 | 1 | 4500 taps | 1500 taps | 15 |
| FA502 | 2 | 4500 taps | 1500 taps | 15 |
| FA503 | 3 | 4500 taps | 1500 taps | 15 |
Requirements
Sample Rate: HFD export requires 93.75 kHz sample rate
- FA series amplifiers operate at 93.75 kHz internally
- If your LinFIR project uses a different sample rate, you must change it before HFD export
- Set Sampling Frequency to 93.75 kHz in Target DSP Settings
Biquad Limit: Maximum 15 biquads per channel
- LinFIR automatically counts biquads when exporting
- Global IIR filters + driver IIR filters must not exceed 15 biquads per output channel
- See Biquad Count Reference for calculation details
FIR Position: Choose between two FIR filter placement options:
-
Input FIR (Global, 4500 taps maximum):
- Single FIR filter applied to the input signal before channel routing
- Suitable for global room correction or full-range equalization
- More efficient for shared corrections across all channels
-
Output FIR (Per-channel, 1500 taps maximum per channel):
- Independent FIR filters for each output channel
- Suitable for per-driver crossover and correction filters
Export Workflow
1. Configure HFD Settings
Open Menu > Export HFD to access the HFD export window:

- Device Model: Select your Hypex FA amplifier model
- FIR Position: Choose Input (global) or Output (per-channel) FIR placement
- Group-to-Driver Mapping: Map Hypex output groups to LinFIR drivers
2. Map Drivers to Output Groups
The mapping table allows you to assign LinFIR drivers to Hypex amplifier output channels:
| HFD Group | LinFIR Driver | Notes |
|---|---|---|
| Group 1 | Driver 1 (Tweeter) | Output channel 1 |
| Group 2 | Driver 2 (Mid) | Output channel 2 |
| Group 3 | Driver 3 (Woofer) | Output channel 3 |
Mapping Validation:
- LinFIR checks that all mappings are valid before export
- Warnings appear if biquad count exceeds 15 for any channel
- FIR length validation ensures compliance with Input (4500) or Output (1500) tap limits
3. Select Presets to Export
Hypex FA amplifiers support multiple configuration presets (typically 3). Choose which presets to include in the exported HFD file:
- ☑ Preset 1: Main tuning
- ☑ Preset 2: Alternate voicing
- ☐ Preset 3: (Skip)
Uncheck presets you don’t want to modify in the existing configuration.
4. Patch Mode (Update Existing Configuration)
Patch Mode allows you to update an existing HFD configuration file instead of creating a new one from scratch:
- Enable Patch Mode
- Load Existing HFD: Select the current configuration file on your disk
- LinFIR will:
- Auto-detect the FIR position (Input or Output)
- Parse existing presets and group configurations
- Lock FIR position to match the loaded file
- Update Selected Presets: Only the presets you’ve checked will be modified
- Other presets and settings remain unchanged
Use Cases for Patch Mode:
- Update filter coefficients after design refinements
- Safely modify one preset without affecting others
- Create different presets (boosted bass, different voicing etc.)
5. Validation and Export
Before exporting, LinFIR performs comprehensive validation:
Biquad Count Check:
Tweeter has 18 biquads but HFD supports max 15 biquads per channel
Reduce IIR or Auto-EQ filter count for this driver.
FIR Length Check - Position Input:
Global FIR has 6000 taps but Input position supports max 4500 taps
Reduce global FIR length or switch to Output position.
FIR Length Check - Position Output:
Woofer has 2000 taps but Output position supports max 1500 taps per channel
Reduce driver tap count or switch to Input position.
Sample Rate Check:
HFD export requires 93.75 kHz sampling rate. Current: 96000 Hz
Change sample rate to 93.75 kHz in Settings.
If validation passes, click Export HFD and save the .hfd file.
6. Load Configuration to Amplifier
Use Hypex Filter Design (HFD) to upload the exported .hfd file to your FA series amplifier:
- Connect amplifier via USB
- Open HFD
- Load exported
.hfdfile - Upload to Device
Total Impulse Response Export
Overview
Export the complete processed impulse response at the listening position (acoustic sum of all enabled drivers + global filters).
This is useful for:
- External room correction systems (e.g., Audiolense, Acourate, etc.)
- Validation and measurement (import into REW, Matlab, etc.)
- Archival and comparison (document before/after tuning)
Export Options
Menu > Export Predicted Total IR (TXT/WAV)
WAV Export
- Format: 32-bit float WAV (single channel)
- Sample Rate: Choose target sample rate (can differ from project sample rate)
- LinFIR will resample automatically if needed
- Common rates: 44.1 kHz, 48 kHz, 96 kHz, 192 kHz
Example: Export at 48 kHz for compatibility with external room correction software, even if your project is at 96 kHz.
TXT Export
- Format: Plain text, one sample per line (decimal)
- Sample Rate: Choose target sample rate (with automatic resampling)
- Use Cases: Import into Matlab, Python (numpy), or custom DSP tools
Resampling Behavior
If the target sample rate differs from your project sample rate:
- LinFIR uses high-quality resampling (sinc interpolation)
- The exported impulse maintains accurate time-domain characteristics
- No manual resampling required
Example Workflow:
- LinFIR project at 96 kHz (high precision for design)
- Export total impulse at 48 kHz (target hardware sample rate)
- LinFIR handles resampling transparently
Project Management
Saving Projects
LinFIR projects are saved as .lnf files containing:
- Driver configurations (impulse responses, filters, gain, delay, polarity)
- Global FIR and IIR filter settings
- Display preferences and graph states
- Project mode (Loudspeaker Design or Room Calibration)
- Measurement data (including off-axis measurements)
Save Shortcut: Cmd+S (macOS) / Ctrl+S (Windows/Linux)
Save Options
- Menu File/Save (or Cmd+S): Overwrites the current project file
- Menu File/Export/LinFIR Project: Creates a new project file with a specified name
- Auto-Save: Enabled by default
- Automatically saves every 60 seconds if changes detected
- Runs in background without blocking the UI
Loading Projects
Menu > File/Load Project
LinFIR supports:
- New format (
.lnf): Current project structure with full multi-angle measurement support - Legacy format: Older LinFIR project files (automatically migrated on load)
Legacy Migration: When loading an old project file:
- LinFIR converts the structure to the new format
- A notification confirms successful migration
- Re-save the project to preserve the new format
Drag & Drop
Drag .lnf files directly onto the LinFIR window to open projects.
Unsaved Changes Protection:
- If you have unsaved changes, LinFIR prompts:
You have unsaved changes. Save before opening? [Save] [Don't Save] [Cancel]
Recent Projects
Access recently opened projects from Menu > Recent Projects:
- Up to 20 recent projects listed
- Click to open instantly
- List persists across sessions
Related Documentation
- Driver Processing - FIR crossovers and correction filters
- System Processing - Global FIR and IIR filters
- Keyboard Shortcuts - Complete shortcut reference