Simple sound filter bank

I am new to sound filters, so please excuse me if I say something wrong.

I like to write code that can divide the sound stored in PCM samples into two or three frequency bands and do some manipulations (for example, change their sound levels) or analyze them and then restore the sound samples from the output.

As far as I read on the Internet for this task, I could use FFT-IFFT and manipulate a complex shape or use a filter based on the time domain, which, for example, is used in the MP2 audio encoding format. Perhaps a filter bank is the best choice, at least I read somewhere that it might be more useful to use the CPU in real-time streaming environments. However, it is difficult for me to understand the mathematical material behind the filter. I am trying to find some source code (preferably in Java or C / C ++) about this topic, so far without success.

Can someone provide me with tips or links that can bring me closer to a sample filter bank?

+3
source share
3 answers

FFT .

Linkwitz-Riley. .

, , . , .

, . , 100 2000 , :

low  = linkwitz-riley-low (100, input-samples)
temp = linkwitz-riley-high (100, input-samples)

mids = linkwitz-riley-low (2000, temp)
highs = linkwitz-riley-high (2000, temp);

..

, , : , , , .

IIR-. Google "Linkwitz-Riley digital IIR" .

http://en.wikipedia.org/wiki/Linkwitz-Riley_filter

+6

, . , FIR-, .

. , . - , - , . , . .

+3

There is a lot of filter source code here

+2
source

All Articles