Room Correction
Your room, corrected.
Every frequency, in every seat.
Measure your room's acoustic response with precision sweep signals, generate minimum-phase FIR correction filters, and apply them transparently to all audio playback in real time.
How it works
Measure
Play a logarithmic sine sweep through your speakers while recording with a calibrated microphone. Take multiple measurements across different positions for spatial averaging.
Analyze
The sweep recording is deconvolved via FFT to extract your room's impulse response. Spatial positions are averaged and frequency-smoothed into a stable correction target.
Correct
A minimum-phase FIR filter is generated to bring your room's response toward the target curve. Applied in real time via a custom CoreAudio driver with zero per-sample allocation.
Features
Sweep Measurement
Log sine sweep generation from 20 Hz to 20 kHz with an inverse filter. Simultaneous playback and microphone recording with configurable gain.
Spatial Averaging
Combine impulse responses from multiple listening positions to produce a spatially averaged correction that works across your entire room.
Mic Calibration
Import .cal microphone calibration files to compensate for measurement microphone frequency response deviations before generating filters.
Target Curves
Choose from Flat, Harman Speaker, or B&K professional reference curves. Or draw your own with editable control points and log-linear interpolation.
FIR Filter Generation
Minimum-phase FIR filters generated via the cepstral method. Configurable tap count (default 4096). Separate left/right channel filters.
Real-Time Convolution
Partitioned overlap-save FIR convolution engine built with Accelerate/vDSP. Zero per-sample heap allocation on the audio thread.
Bypass & A/B
Toggle correction on/off instantly for A/B comparison. Atomic filter hot-swap with no audio interruption.
Profile Management
Save and recall named correction profiles. Each profile stores filter coefficients, target curve, device config, and measurement metadata.
Specifications
| Sweep Range | 20 Hz – 20 kHz (log sine) |
| IR Extraction | FFT-based deconvolution |
| Spatial Averaging | Multiple positions, configurable |
| Filter Type | Minimum-phase FIR (cepstral method) |
| Filter Length | 4096 taps (default), configurable |
| Convolution | Partitioned overlap-save (Accelerate/vDSP) |
| Target Curves | Flat, Harman Speaker, B&K, Custom |
| Mic Calibration | .cal format support |
| Driver | Custom CoreAudio AudioServerPlugin |
| Platforms | macOS 13+, Apple Silicon & Intel |