Hi,
I have a set of Dolby speaker tuning parameters (bottom of this message) which I want to turn into an impulse response so I can use it in Linux (EasyEffects/Pipewire).
Currently I load a flat response (i.e. 0 dB at 5 different frequencies) as my target, fit a set of parametric biquad filters to my IEQ data (House curve) in the EQ window, generate measurement from filters, then generate an impulse response from the new measurement.
I noticed that this person generates the impulse response directly from the IEQ data using FFT:
//
FIR generation
The script generates minimum-phase FIR filters via cepstral processing:
https://github.com/antoinecellerier/speaker-tuning-to-easyeffects
Is this a good way of generating an impulse function?
IEQ Data
(Hz, dB)
47, -2.97
141, 0.33
234, 4.84
328, 2.44
469, -0.91
656, 0.54
844, 2.58
1031, 0.58
1313, -0.69
1688, 0.09
2250, 0.84
3000, -0.05
3750, 3.99
4688, 3.45
5813, 1.60
7125, 0.83
9000, 1.17
11250, 1.08
13875, -0.84
19688, -2.77
I have a set of Dolby speaker tuning parameters (bottom of this message) which I want to turn into an impulse response so I can use it in Linux (EasyEffects/Pipewire).
Currently I load a flat response (i.e. 0 dB at 5 different frequencies) as my target, fit a set of parametric biquad filters to my IEQ data (House curve) in the EQ window, generate measurement from filters, then generate an impulse response from the new measurement.
I noticed that this person generates the impulse response directly from the IEQ data using FFT:
//
FIR generation
The script generates minimum-phase FIR filters via cepstral processing:
- Interpolate the IEQ to FFT frequency bins
- Compute the real cepstrum (IFFT of log-magnitude)
- Apply causal windowing to get minimum-phase cepstrum
- Reconstruct via FFT → exp → IFFT
- Normalize so peak frequency response = 0 dB
https://github.com/antoinecellerier/speaker-tuning-to-easyeffects
Is this a good way of generating an impulse function?
IEQ Data
(Hz, dB)
47, -2.97
141, 0.33
234, 4.84
328, 2.44
469, -0.91
656, 0.54
844, 2.58
1031, 0.58
1313, -0.69
1688, 0.09
2250, 0.84
3000, -0.05
3750, 3.99
4688, 3.45
5813, 1.60
7125, 0.83
9000, 1.17
11250, 1.08
13875, -0.84
19688, -2.77





