What’s new in 4.0.3
This version is a significant step forward, especially in automatic optimization, usability, performance, and UI architecture.
Fully matured Automatic Mode
Automatic mode has evolved from a “good starting point” into something much closer to a complete end-to-end solution:
Multi-stage optimization (target preselection → refinement → Pareto selection)
Better handling of difficult rooms (room modes, uneven decay)
More stable and repeatable results across runs
Built-in safety constraints (no more “over-optimizing into nonsense”)
In practice:

You can now trust Auto Mode to produce final-use filters, not just drafts.
Major Automatic Mode speed improvements
Automatic Mode has been significantly optimized:
Faster optimization cycles
More efficient search and pruning
Reduced unnecessary evaluations
Result:

Noticeably shorter run times, especially on complex datasets

Makes iterative workflows much more practical
Smarter DSP decisions (less user babysitting)
Several internal improvements reduce the need for manual tweaking:
Confidence-weighted correction (less correction where measurement is unreliable)
Temporal Decay Control (TDC) integrated more tightly into optimization
Improved bass handling (less boom / less overcorrection)
Better balance between:
flatness
ripple control
total boost
perceived sound quality
Result: more “room-safe” filters without killing dynamics.
Mixed-phase & phase control improvements
More consistent phase behavior in automatic runs
Better low-frequency phase handling
Reduced risk of excessive group delay artifacts
This was one of the weaker areas in early versions — now it’s much more predictable.
Migration to NiceGUI (major UI upgrade)
The UI has been migrated to NiceGUI, which is a significant architectural improvement:
More responsive and modern UI behavior
Better foundation for interactive features (live previews, future drag controls, etc.)
Cleaner separation between UI and DSP logic
Easier to maintain and extend going forward
This is not just a visual change — it enables faster iteration and more advanced UX improvements in future versions.
UI / workflow improvements
On top of the new UI foundation:
Clearer separation between Basic vs Advanced
More meaningful defaults (less need to touch advanced parameters)
Better feedback in results / summaries
Cleaner workflow from measurement → filter
Still technical, but much closer to a “tool” than a parameter playground.
Reproducibility & stability
A big focus in recent versions:
Same input → much more consistent output
Less randomness in optimization outcomes
Improved internal scoring and ranking logic
This matters especially when comparing filters or iterating setups.
What this means in practice
Compared to earlier versions (like 2.x / early 3.x):
Less manual tuning needed
Faster iteration cycles
Fewer “weird” filters
More consistent bass behavior
Better results in imperfect measurement conditions
In many cases, Auto Mode now gets surprisingly close to what you’d manually dial in after multiple iterations.
Positioning vs other solutions
CamillaFIR is still very much a DIY / transparent DSP tool, not a black box.
But with 4.0.3:
It starts to approach the ease-of-use of automated systems
While keeping full control and visibility
Try it
GitHub:
Latest release: 4.0.3
Feedback welcome
As always, feedback from real systems (especially difficult rooms) is extremely valuable.
If you try it:
share measurements
share results
share what sounds wrong (that’s the most useful)