• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

LinFIR – DSP Software for FIR/IIR Filter Design and Speaker Correction

I would suggest you clearly spell out the "read only" nature of the trial-demo. You can't really test the effectiveness of a filter if you can't create the filter (file). I realize other demos also take the read-only approach (as long as it's clear upfront).
Good point — I’ve just added a note on the website to make that clearer. Thanks for the suggestion!
 
To give ASR members a chance to explore LinFIR hands-on, I’m providing a temporary reviewer license:
  • Activation limit: 10
  • Valid until: October 31, 2025
  • Key type: Shared license – this is a single key for all trial users, so please don’t abuse it to allow others to benefit.
How to get it: Available only via DM on ASR. The license allows testing all design and visualization features, but is temporary and will expire automatically.

Note: Lemon Squeezy does not allow creating temporary trial licenses without a subscription, which I refuse to implement on principle. If they ever provide a proper pre-purchase trial for a perpetual license, I will implement it.
 
Would you prefer public or private feedback?
Private feedback for now, please. The app will likely need a few adjustments here and there. Receiving feedback privately helps me address issues on a case-by-case basis without cluttering the main thread.
For example, I just realized that Windows doesn’t allow auto-updates due to write permissions, so the Windows version will be updated through the Store only.
 
Last edited:
Hey everyone,

I’ve just uploaded a new video showing how to design a 4-way speaker system using LinFIR, with linear-phase FIR crossovers from start to finish:

The tutorial covers:
  • Importing and windowing impulse responses
  • Automatic EQ with IIR filters
  • FIR crossover setup at 120 Hz, 600 Hz, and 4 kHz
  • Time and level alignment without trial and error
  • Group delay and phase correction
  • Exporting FIR coefficients for your DSP
The voice-over is AI-generated — I spared you my glorious French accent
 
Last edited:
Thanks Arnaud, I'm liking your program. It fits my DIY multi-way speaker building very well. Haven't had a chance to make any sweeps yet, but I do already know I like the filter functionality and workflow logic I'm sure to be one of this month's early bird purchasers. :)

Sorry I haven't provided any feedback via PM yet....I'm deep into another DIY project, a kitchen renovation, that has my home near destroyed lol.
Audio has been temporarily pushed aside....

best, Mark
 
Version 1.0.7 is out!

This update addresses several audio handling quirks on Windows and introduces two new features:
• Export the full impulse response as WAV or TXT
• Import frequency responses from FRD files

A few notes:
Audio on Windows remains challenging due to scheduler jitter and device management quirks. Achieving stable timing references can be tricky, with software-induced delays sometimes reaching tens of milliseconds. Feedback from users experiencing these issues is extremely valuable, as it helps guide improvements.

FRD files are often limited in bandwidth and use a logarithmic frequency scale. Their phase data can also be poorly wrapped, particularly in some Dayton Audio files, which may contain discontinuities.
Because the impulse response is reconstructed via complex interpolation, results should be interpreted carefully. Partial data and phase wrapping artefacts in FRD files can create ghost resonances that affect the reconstructed magnitude.

Looking ahead: I’m currently working on implementing a timing reference system that will be available in version 1.0.8, which should improve measurement accuracy and consistency on Windows.
 
After some careful thought, I’ve decided to make LinFIR completely free for the moment.

There are two main reasons for this:
• Managing both the software sales and my custom loudspeaker work has proven more complex than I expected.
• I originally built LinFIR as an accessible alternative to prohibitively expensive tools, and I realized I had drifted away from that philosophy.

A new update will be released soon to remove the registration process entirely.

Those who have already purchased the software will, of course, be fully refunded. I’m deeply grateful for their early support and feedback, which have been invaluable in shaping LinFIR.

A Linux version will also come quickly (and feedback will be welcome to debug it!).
 
After some careful thought, I’ve decided to make LinFIR completely free for the moment.

There are two main reasons for this:
• Managing both the software sales and my custom loudspeaker work has proven more complex than I expected.
• I originally built LinFIR as an accessible alternative to prohibitively expensive tools, and I realized I had drifted away from that philosophy.

A new update will be released soon to remove the registration process entirely.

Those who have already purchased the software will, of course, be fully refunded. I’m deeply grateful for their early support and feedback, which have been invaluable in shaping LinFIR.

A Linux version will also come quickly (and feedback will be welcome to debug it!).
That's...incredibly generous of you.
 

LinFIR v1.0.9 is out​

This update brings a few long-awaited improvements — mostly around timing, phase, and filter export.

What’s new:
  • Timing reference – Choose between loopback (electric) or pre-chirp (acoustic) modes for precise delay alignment.
  • Phase graph – Now shows wrapped or unwrapped phase.
  • IR Delay compensation – Adjustable directly in the IR Window, so you can correct raw impulse offsets easily.
  • IIR export – New export options under File → Export:
    • FQG (txt) format (simple text: Frequency, Q, Gain)
    • CamillaDSP YAML – ready to drop into your config
Thanks to everyone who tested, broke things, and sent feedback — this release exists because of you.

Otherwise, here is a temporary link to download the Linux version:

I’m not sure if it has an icon and/or if the audio is functioning.

This is the version 1.0.9 which introduces timing reference for measurements.
 
LinFIR v1.1.1

We’re excited to announce the release of LinFIR v1.1.1! This update brings more flexibility and clarity to your measurement workflow:

Added:
  • Preferences for default values
  • Configurable sweep frequency range: set custom lower and upper limits for measurement sweeps.
    • Default: 0.1 Hz – Nyquist (full bandwidth)
    • Manual controls: start frequency adjustable from 0.1 Hz to 20 kHz; end frequency up to Nyquist
    • “Reset Range” button to quickly return to full bandwidth
    • Automatic Nyquist limiting based on current sample rate
    • Typical use cases:
      • Subwoofers: 20–200 Hz
      • Tweeters: 2–20 kHz
      • Full-range: 20–20 kHz
    • Frequency values automatically rounded for optimal phase coherence
Improved:
  • FIR delay now displayed directly in graph legends for a cleaner UI
  • Support for up to 10 speakers in complex setups
  • Improved layout and refined labels for a clearer interface
We’ve been releasing versions in quick succession to incorporate user feedback — a big thank you to everyone who’s shared suggestions! Development pace will soon slow down as we approach a more mature, stable release.
 
Wow, just found this one.
Looks very nice and I hope I can use it for my next project.

Thanks a lot, Arnwald !
 
Version 1.1.2 is now available

This release brings a number of improvements and refinements across the app, many of them based on recent feedback. Thanks to everyone who took the time to share observations and suggestions, they’ve been very helpful in shaping this update.

New features
  • Added a “Compensate FIR delay on graphs” option in the Global FIR Correction window. This shifts the displayed impulse response to visually remove the delay introduced by the global FIR filter, making it easier to compare time-aligned driver responses. This only affects the display, exported filters remain unchanged.
  • Added a Reset Application Settings option in the Settings menu. It restores the app to factory defaults, clearing all preferences and cache, useful for troubleshooting or starting with a clean configuration.
Fixes and improvements
  • Phase response now correctly reflects polarity inversion, including for phase correction filters.
  • The Clear Filters action now properly resets all IIR and FIR+IIR plots to flat.
  • Manually added filters in the AutoEQ tab are now automatically enabled and correctly applied before running the optimization.
  • Changing an IIR filter type immediately updates its response on the graph.
  • Documentation has been reorganized for greater clarity and better alignment with the app’s workflow.
  • All windows now use the native OS window system, improving behavior on multi-monitor setups.
  • Lockable filters are now available in the Manual tab. Locked filters remain in place when clearing the filter list.
  • AutoEQ now respects locked filters by incorporating high-pass and low-pass filters into the optimization target. This allows you to preserve intended crossover behavior while the algorithm smooths local irregularities.
Overall, this version focuses on stability, clarity, and workflow consistency, addressing several small but important points raised by users.

Thanks again for your detailed feedback, it’s helping make the software more reliable and pleasant to work with.
 
Version 1.1.3

This update introduces new control parameters for AutoEQ, improves usability, and fixes several issues affecting FIR+IIR processing and graph rendering.
  • Added EQ Boost Cap to prevent excessive stacking of filters at the same frequency.
  • Added Gain Offset to adjust target level before optimization.
  • Option to disable clipping warnings in General Settings.
  • Improved FIR delay compensation to preserve pre-ringing accuracy.
  • Fixed issues with FIR+IIR response rendering and clipping indicators.
Overall, this release refines AutoEQ behavior and improves reliability across all analysis and visualization tools.
 
Naming something 'AutoEQ' might cause some confusion since there is already an AutoEq used as a source of headphone EQ profiles by several other EQ packages - especially if it's something you might want to integrate yourself later.
 
LinFIR v1.1.5 is now available

This update introduces direct Hypex Filter Design (HFD) project export for the Hypex FA amplifier series (FA122, FA123, FA251, FA252, FA253, FA501, FA502, FA503).
LinFIR can now generate complete HFD configuration files, including input and output FIR filters, IIR filters (up to 15 biquads per channel), and preset management with patch mode for updating existing projects.
The export process includes full validation of sample rate, FIR tap length, and biquad count to ensure compatibility with Hypex DSP requirements.

The update also adds configurable group delay and phase truncation, allowing users to limit plots to the relevant frequency range and reduce visual clutter when analyzing system behavior.

As always, thanks to everyone for the feedback and suggestions that helped shape this release.

Note: version 1.1.4 was skipped as it only included minor fixes.
 

Attachments

  • Capture d’écran 2025-10-27 à 21.47.13.png
    Capture d’écran 2025-10-27 à 21.47.13.png
    738.4 KB · Views: 22
LinFIR v1.1.8 released

This update mainly improves accuracy and usability based on user feedback.

Improvements:
  • Much more accurate phase and group delay extraction from imported FRD files.
  • Simplified IIR and FIR+IIR graph views, removing unnecessary global curves for a cleaner display.
  • Added microphone calibration file import and input gain compensation (useful for UMIK-1 users on macOS).
  • Added “Open recent projects” menu for faster workflow.
  • Added a confirmation dialog before starting measurements, to help avoid accidental sweeps (can be disabled).
As always, feedback is welcome, these refinements came directly from community input.
 
LinFIR v1.1.11 – Major interface update

This update brings a major interface upgrade and several workflow improvements.
New features:
  • Time and frequency-domain sync: new “Sync X-axis” toggle links all time and frequency axes on plots.
  • Driver management: new “All” button complements “Solo” for rapid workflow switching
  • IR peak info: displays time position of the impulse peak
  • Notes per driver: up to 1000 characters per driver to store hardware / measurement details
  • Default sweeps parameters in settings: duration, level, and frequency range configurable in Settings
  • Graph configuration: reorder, chose default graphs
  • 256 audio channels: up to 256 audio inputs/outputs supported instead of only 8, for large interfaces.
Improved:
  • Fixed Y-axis width for all plots -> aligned y-axes
  • Cleaned up clipping notifications
This is a substantial interface update, feedback from users has driven many of these changes.

Download at: https://linfir.demaudio.com
 
Back
Top Bottom