[music-dsp]   Splitting audio signal into N frequency bands

Thilo Köhler koehlerthilo at gmx.de
Wed Nov 2 08:09:48 EDT 2011

Hello Thomas, Wen!

Thank you for the quick input on this.

1. I found that in the 3-band case, splitting up 
the low and high band from the input and then 
generating the mid band by subtracting them
works much better than the "salami" stategy
(chopping off slices with a LP).

> Subtracting the LP part makes sense only if the LP filter is zero-phase.
I dont know if my filters are zero phase, I am not that deep
into the filter math to tell you straight away. It is an IIRC taken from

This one seems to work best for my purposes, but that is just
from subjective listening wihtout any mathematical evidence.

Is this a butterworth filter like Thomas suggests? (sorry if the question
sounds like a noob...) In the comment they call it biquad, i dont know
if a biquad can be butterworth or this is mutual exclusive.

I have also tried:

Doesnt work well for low cutoff frequencies, like <150Hz.
I am using single precision.

Seems to be too flat, not steep enough.

Seems to be too flat, not steep enough.

I think in the use case of a mulit-band compressor, perfect
reconstruction is important. That is my I want to create
the band by subtracting and not with independent filters.
I assume this is a good strategy, no?



> I  believe the typical way is to directly construct a series of steep
> band-pass  filters to cover the whole frequency range. This is very
> flexible but  usually means the individual parts do not accurately add up
> to the original  signal. On the other hand, if perfect sum is desirable
> you may wish to take  a look at mirror filters, such as QMF. These are
> pairs of LP and HP filters  designed to guarantee perfect reconstruction.
> --------------------------------------------------
> From: "Thilo K?hler" <koehlerthilo at gmx.de>
> Sent: Monday, October 31, 2011 10:47 AM
> To: <music-dsp at music.columbia.edu>
> Subject: [music-dsp] Splitting audio signal into N frequency bands
>> Hello all!
>> I have implemented a multi-band compressor (3 bands).
>> However, I am not really satisfied with the splitting of the bands,
>> they have quite a large overlap.
>> What I do is taking the input singal, perfoming a low pass filter
>> (say 250Hz) and use the result for the low band#1.
>> Then I subtract the LP result from the original input and do
>> a lowepass again with a higher frequency (say 4000Hz).
>> The result is my mid band#2, and after subtracting again the remaining
>> signal is my highest band#3.
>> I assume this proceedure is appropriate, please tell me otherwise
>> The question is now the choise of the filter.
>> I have tried various filters from the music-dsp code archive,
>> but i still havent found a satisfiying filter.
>> I need a steep LP filter (12db/oct or more),
>> without resonance and fewest ringing possible.
>> The result subtracted from the input must works as a HP filter.
>> Are there any concrete suggestions how such a LP filter should look
>> like, or is there even a different, better way to split the audio signal
>> into 3 bands (or N bands)?
>> I know I can use FFT, but for speed reasons, I want to avoid FFT.
>> Regards,
>> Thilo Koehler

More information about the music-dsp mailing list