Files
codename-206/src/dsp/mod.rs
T
Mikkeli Matlock f6c45123fa Stage 4a: base-rate look-ahead brickwall limiter
Adds the output limiter stage after the 'All' channel. Guarantees the output
never exceeds the ceiling: fixed 1.5 ms look-ahead, stereo-linked sliding-max
peak detection over the look-ahead window -> gain = ceiling/window_max, decoupled
smoothing (fast attack / user release), and a final clamp as the hard guarantee.

- src/dsp/limiter.rs: Limiter (sample-peak; true-peak via oversampling is 4b)
- src/lib.rs: wired as final stage; new globals output_ceiling_db (-24..0) and
  limiter_release_ms; latency now the constant three-stage total (bands+All+limiter);
  two UI sliders added to the global row
- 14 unit tests (4 new: ceiling guarantee on spikes, loud-sine limiting,
  transparency below ceiling, latency)
- README/docs updated (Stage 4 split into 4a done / 4b oversampling)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 14:45:26 +09:00

11 lines
366 B
Rust

//! DSP building blocks for Codename 206.
//!
//! Stage 2 introduces the full-band compressor (also the engine that will be reused
//! per band and for the 'All' aggregate channel — see README.md). Later stages add the
//! crossover filterbank, output limiter, and oversampler alongside it.
pub mod biquad;
pub mod compressor;
pub mod crossover;
pub mod limiter;