Your speakers play the music. Your room leaves its mark. Bass builds up. Some notes linger. Others disappear at the listening seat.
DecayCore helps you measure what is happening and build FIR correction filters for your system. Measure your room, choose a target, and export filters ready to load into your DSP. The packaged app brings measurement and filter generation together in one workflow, free for non-commercial use.
Download DecayCore · Getting started · Documentation
A deep dip in a measurement can tempt you to turn up the gain. Room acoustics rarely makes it that simple.
DecayCore puts controlled cuts first. It keeps correction within defined frequency bands and allows limited boost only where the measurement supports it. Deep nulls and uncertain regions are guarded against excessive correction.
You can use automatic target optimization in the packaged app or take control with Basic and Advanced manual filtering. Linear Phase, Minimum Phase, Mixed Phase and Asymmetric FIR filters let you choose an approach for your system. Phase-aware correction and Temporal Decay Control add tools for addressing timing and low-frequency decay.
- Measure your room. Use the built-in measurement workflow in the packaged release. Compatible REW-style measurement data can also be used.
- Build your correction. Choose your target and filter settings, then generate FIR filters from your measurements.
- Load the filters and listen. Export convolution-ready WAV files for CamillaDSP, Roon convolution, Equalizer APO, MiniDSP, or another FIR-capable DSP engine.
The app runs locally on your computer, with controls in your web browser. No cloud service is involved.
The packaged release includes integrated measurement and the automatic-mode decision engine. Download it from GitHub Releases for the complete workflow.
For sound quality, the packaged release is in a different league. Its proprietary Rust engine is the reason to choose it over the public Python version. Think of the public version as the demo tape and the packaged app as the finished record. Same band. A very different listening experience.
The public source provides filter generation with Basic and Advanced manual controls for non-commercial use. The measurement engine, automatic-mode decision engine, and related packaged workflows are proprietary and are not included in the public source tree. See the source repository and the license terms below.
DecayCore was formerly called CamillaFIR. The name changed to avoid confusion with CamillaDSP; full CamillaDSP compatibility remains.
Ready to hear what correction can do in your room?
Download the packaged app and follow the getting started guide.
Questions, feedback, or something that could work better? Write to vilho.valittu@gmail.com.
All DecayCore versions released and documented in this repository are based on Python 3.12.3.
The main source environment currently documented by requirements.txt uses these pinned package versions:
numpy==2.4.6scipy==1.17.1nicegui==3.13.0plotly==6.8.0
numbawas removed in v1.1.6. Public source builds may optionally compile thedecaycore-dspRust extension for faster manual filtering. Automatic mode uses a separate native decision engine that is available only in packaged releases; source builds provide the full Basic and Advanced manual-filtering workflow. See the Installation guide for steps.
DecayCore is source-available for personal, educational, research, and other non-commercial use under the terms of the LICENSE file.
The measurement engine, automatic-mode decision engine, and related packaged workflows are not included in this repository and remain proprietary.
Commercial use, integration into commercial audio/DSP products, hosted services, paid filtering services, or paid measurement/calibration workflows requires separate written permission.







