Kyma Forum
  Kyma Sound Exchange
  11 Band EQ

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   11 Band EQ
David McClain
Member
posted 20 April 2001 04:28         Edit/Delete Message   Reply w/Quote

blkffteq.zip

 
Here is a graphic EQ inspired by the RIAA thread on Block FFT Spectral Modification. I implemented only 11 bands here, but you could implement more bands. Attached Zip file contains the 11 Band EQ Sound, the program used to construct the band templates (AIF files), the 11 AIF templates, and the spectral joiner AIF.

This EQ is absolutely phase flat, like all good FIR filters. The FFT's are 1024 long. Hence at 48 KHz or 44.1 KHz sample rates, this is not quite long enough to capture the lowest frequencies, so you find that the bottom two bands at 20 Hz and 40 Hz don't respond very well to the attenuators.

But all the rest of the bands work just fine, starting at around 80 Hz, then 160 Hz, 320 Hz, 640 Hz, 1280 Hz, 2560 Hz, 5120 Hz, 10240 Hz, and 16 KHz+. These are approximate band centers. The included program generates them at logarithmic intervals of 0.3 starting at 20 Hz.

The VCS has been preset to work the faders in 0.1 dB increments down to -40 dB. You can use whatever values you like here.

- DM

IP: Logged

John Dunn
Member
posted 20 April 2001 12:27         Edit/Delete Message   Reply w/Quote
Very nice. I'll give it a try this weekend with the RIAA settings. Again, thanks!

IP: Logged

David McClain
Member
posted 21 April 2001 12:00         Edit/Delete Message   Reply w/Quote

blkffteq.zip

 
Here is an improved version plus the original one posted earlier. The improvement comes about by "Windowing" each filter. This gives approximately 20 dB more out-of-band rejection than without windowing. With these windowed filters I have measured the stop-band rejection at around -60 dB (= 0.001)! These filters are real "brick walls"!

Windowing these filters presents a bit of a challenge because the actual filter shape used depends on the interpolated filter banks based on the length of the FFT's in use. Change the length of the FFT and you would have to recompute windowed filterbanks.

But Kyma allows us to compute a broad shape only once and then have it read out at whatever rate we desire, along with linear interpolation. This means that we can compute the unwindowed filter bank shapes, and have Kyma present them at the correct size.

If we could window these now correctly sized filter banks then we're in business!

This version uses a "cheap trick" to allow you to compute the filter banks only once and still have them windowed correctly, no matter what size FFT you want to use. The trick comes from noting that windowing the filters is equivalent to convolving their shapes with the Fourier Transform of the windowing function. But a convolution is simply a weighted sum of shifted series.

In this case we are using a Hanning window, whose transform is a 3-prong series of delta functions with weights (0.25, 0.5, 0.25). Convolving this against the filter banks is achieved by adding shifted versions of the filter banks with shifts of (0, 1, 2) samples corresponding to these weights.

However, this shifing displaces the center frequency of the filter bank by one sample, so we need to shift the convolution result by -1 sample to get everything aligned properly in frequency space with the FFT's of the incoming signal.

In modulo arithmetic parlance, a shift of -1 sample is equivalent to a shift by N-1 samples where N is the filter-bank length (in this case N=512 samples). So just after the filter bank convolution sum we shift the result by 511 samples. The windowed filter-bank is now ready to impose its spectral shape on the incoming signal spectrum.

Other windowing functions could be used at the expense of a bit more complexity, but the basic idea remains the same.

Why not just window the incoming signal data? Well, if you did that, then the resulting output from this filter bank would have the window's shape imposed periodically on the signal causing a low hum AM modulation distortion. No, we really do need to window the filter bank, not the signal, when doing block FFT spectral modification like this.

- DM

[This message has been edited by David McClain (edited 21 April 2001).]

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c