Audio Special Effects
| Band # | Low Frequency (Hz) | High Frequency (Hz) |
|---|---|---|
| 1 | 0 | 200 |
| 2 | 200 | 400 |
| 3 | 400 | 800 |
| 4 | 800 | 1,600 |
| 5 | 1,600 | 3,200 |
| 6 | 3,200 | 6,400 |
| 7 | 6,400 | 12,800 |
| 8 | 12,800 | 22,050 |
Next I designed an ideal linear phase FIR filter. This ideal linear phase FIR filter would give a model to design the actual FIR filter by the use of a window function.
For the graphic equalizer I needed to complete the following steps:
Then I needed to pick which window function I would use in my filter design. I experimented with numerous window functions, including Bartlett, Blackman, Chebychev, Hamming, Hanning, and Kaiser. After all was said and done, I found that the Kaiser window gave the best results, when compared to the ideal plot. For all the other windows that I tried, (except for Blackman), I found that there was to much ringing for audio. Upon closer examination I found my best results were obtained for the Kaiser window with beta=9. (Both the kaiser window plot and ideal plot were for an arbitrary band equalizer.)
Finally, to prevent the possibility of signal clipping due to over amplification, the signal was normalized and then multiplied by the max value.
Sample Audio Sounds:
Here are a few examples of my equalizer at work, I used two
different signals:
Part b) Artificial Reverb Generator:
When looking to design an artificial reverberation generator you need to look at the 2 important properties, RD and RT. RD, the reverberation density, is a measure of the number of echos per second. RT, the reverberation time, is the time is takes the energy to decay to -60dB. By varying these two values, (RD & RT), one can get the type of reverberation that you are looking. Since I know that the first 160ms of decay will give an inclination to the value of RT, I split the filter into a sum of a FIR Filter, and an IIR Filter as follows:

Reverb Design:
First I need to create a Graphical User Interface so the values of RT and RD could be easily changed. Both RT and RD were controlled by sliders. RD could vary from 10 to 1000 (log scale) , and RT could vary from 0 to 5 seconds.
Next I needed to find the decay constant for the exponential. With X as the original signal, and a value of zero at -60dB, or .001*X, must do is solve the following equation:
.001*X=X*e^(a/RT)
Solving this equation produces a=-6.9/RT. Using this value, along with
the notion that the FIR part will last 160ms, (.16 frequency samples),
one can create the equation for the output of the FIR Filter Yf, (see
rev.m).
Now we need to create the IIR part. Since I already know the decay rate
of the signal is, (see above), I must shift my IIR filter 160ms to the
right to account for it starting at 160ms, not at zero, (again see
rev.m).
Finally I added together my FIR and IIR parts to come up with my
combination filter.
Sample Audio Sounds:
Here are a few examples of my reverb generator at work, I used two
different signals, (both are sound bites from CaddyShack the movie).
Part c) Conclusion:
Part d) Code: