Skip to content

Repository files navigation

DecayCore — FIR Room Correction and Acoustic Measurement

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

Correction with restraint

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.

From measurement to playback

  1. Measure your room. Use the built-in measurement workflow in the packaged release. Compatible REW-style measurement data can also be used.
  2. Build your correction. Choose your target and filter settings, then generate FIR filters from your measurements.
  3. 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.

Choose your version

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.

Screenshots

Files tab — load measurement files, inspect metadata, and set output format

Measure tab — configure capture devices and run guided room measurements

Basic tab — choose operating mode, FIR engine, and sample rate

Target tab — shape the target curve, leveling, and gain behavior

Advanced tab — refine correction shaping, bass protection, and confidence controls

IR Window & Decay Control tab — control export windowing and temporal processing

XO tab — define crossover filters between bands

Start / Results tab — launch correction and follow its progress

Documentation

Download

Ready to hear what correction can do in your room?

Download the packaged app and follow the getting started guide.

Contact

Questions, feedback, or something that could work better? Write to vilho.valittu@gmail.com.

Python and dependency baseline

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.6
  • scipy==1.17.1
  • nicegui==3.13.0
  • plotly==6.8.0

numba was removed in v1.1.6. Public source builds may optionally compile the decaycore-dsp Rust 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.

License

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.

About

Free FIR room correction tool — generates WAV FIR filters for CamillaDSP, Roon, Equalizer APO, and any FIR-capable DSP engine. Acoustic measurement, phase-aware correction, and automatic target optimization.

Topics

Resources

Stars

30 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages