Skip to content

Commit d99587b

Browse files
happycubeclaude
andcommitted
Add CX audio expander (IEC 60857 Appendix B decoder)
Implement the CBS CX noise-reduction expander as a standalone post-processor for ld-decode's analog audio, plus the mirror-image compressor for round-trip testing (lddecode/cx.py). Single njit control-path loop (500 Hz sidechain HPF, full-wave rectifier + knee clamp, fast/slow followers on a common capacitor, attack compensator, reciprocal VCA), runtime self-calibration of V_CR from the implemented detector, streaming state, and a CLI. V_CR is anchored to the fast-follower mean at 40 kHz (settles in ~50 ms) rather than an integrator-settled tone, which the from-below operating equilibrium matches exactly (ratio 2.5000); the seeded-integrator calibration in the plan under-settles ~4.5% and skews the static curve. Validated (see cx-decoder-plan.md sec. 8b): static curve within +/-0.12 dB off-knee, round-trip envelope error 0.002 dB, and on the real he010 dual-track disc post-expansion slope 1.01 vs the EFM digital twin (mean tracking error 0.95 dB) at ~236x realtime. Tests in tests/test_cx.py cover T1/T2/T3, calibration ratios and streaming bit-identicality. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 98465ad commit d99587b

3 files changed

Lines changed: 1074 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)