• 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!

CamillaFIR v2.5.3 - Automated Mixed Phase FIR Generator (Python/WebUI)

Status
Not open for further replies.

VilhoValittu

Member
Joined
Jan 6, 2026
Messages
60
Likes
125
Hi everyone,

I wanted to share a tool I've been developing called CamillaFIR. This started as a hobby project to solve my own DSP needs, but I decided to polish it up and share it with the community in hopes it might help others too.

It is a Python-based utility designed to automate the creation of high-precision FIR correction filters based on acoustic measurements (REW exports).

While originally designed for the CamillaDSP workflow, the tool generates standard IEEE 32-bit float .wav and .txt impulse response files. This means the filters are universally compatible with almost any convolution engine (MiniDSP, Roon, Equalizer APO, Volumio, etc.) and now even hardware DSPs like SigmaStudio/ADAU1701.

Key Features in v2.5.3:

  • Advanced Phase Strategies: Supports Linear Phase, Minimum Phase, and a sophisticated Mixed Phase reconstruction (Linear Phase bass for timing + Minimum Phase treble for natural decay).
  • Time-of-Flight (TOF) Correction: The DSP engine automatically detects and removes acoustic delay (distance-based phase slope) before calculating excess phase. This ensures the correction targets actual group delay distortions, not just distance.
  • Frequency-Dependent Regularization: Prevents over-correction. It allows aggressive modal correction in the bass (<200Hz) while applying heavy regularization in the treble to prevent "phasiness" and preserve the natural sound signature.
  • Hardware DSP Support (SigmaStudio): Version 2.5.x adds support for low tap counts (512/1024) and .txt coefficient export, making it possible to import filters directly into Analog Devices SigmaStudio (ADAU1701, etc.).
  • Automated Workflow: Just upload your L/R measurements, select your target curve (Harman, Toole, etc.), and the tool generates filters for all common sample rates (44.1k - 192k).
Inspiration:This project is heavily inspired by the work of OCA (Obsessive Compulsive Audiophile): https://www.youtube.com/@ocaudiophile

Downloads & Links:

Installation (Source):Requires Python 3.10+. Clone the repo, install requirements (pip install numpy scipy pywebio matplotlib requests), and run python CamillaFIR.py.

Feedback is welcome!

(Disclaimer: This text was structured and generated by AI. As English is not my native language, I find technical writing challenging. However, the code and the acoustic logic are my own work/implementation.)
 
Is there a straight-forward way to adjust the colors to something readable when it initially looks like this?
 

Attachments

  • Cam-1.jpg
    Cam-1.jpg
    78.4 KB · Views: 69
  • Cam-2.jpg
    Cam-2.jpg
    65.4 KB · Views: 74
Is there a straight-forward way to adjust the colors to something readable when it initially looks like this?
This is something strange. Try first newest version (4.2.1). I will investigate what's behind that. Do you use extensions on your browser?
 
I will add light-theme to version 4.2.2. User can choose which one to use from right top-corner.
 
V4.2.1 is aborting on startup for reasons TBD. Unlike v4.1.0, it is asking to (further) unzip some folders when starting the app. When I reply [Yes} it does some (more) unzipping and then eventually aborts without starting the UI.
 
When cmd-console refers to NiceGUI and several external IP addresses....must the local Firewall allow access to these in order to execute correctly? ie allow Public/Private?

CamillaFIR FW requests.png
 
Last edited:
When cmd-console shows NiceGUI and several external IP addresses....must the local Firewall allow access to these in order to execute correctly? ie allow Public/Private?
Yes, you must allow firewall access because program runs on internal server. Private should be ok.
 
Unfortunately, v4.2.2 gave me the theme (color) options of gray (bad) and white (worse). I'll try on a different Win-11 system and compare.
 
Thats really really strange. You are only one that has reported this kind behaviour. Do you have some custom icc-profile on your display?
 
The issue turned out to depend on the default browser that the app was binding to. MS-Edge works as expected. Google-Chrome has the strange theme colors (IME). I didn't try any other browsers. Thanks for your assistance.
 
On Android my "default browser" is a popup that asks what I want to use for that URL

Maybe Windoze has something similar?
 
After taking one test drive I'm very impressed with this tool. The amount of effort that went into it is incredible!

So far, only one tiny suggestion about where to download the resultant graphs for review (see attached). The plotly button is hidden off-screen and so it doesn't jump out at you.

CamillaFIR graph DL comment.jpg
 
Last edited:
Status
Not open for further replies.
Back
Top Bottom