![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Ultimate Radio Accessory | |
David McClain Member |
![]() ![]() ![]()
The Zip is about 450 KBytes. The "Ultimate" takes some serious DSP horsepower to run. It scoops up all 12 of my Capy DSP's, although you can reduce this hunger somewhat by dropping the FFT size in the rightmost scripts of each subsound. Also, the composition of the whitener stage and the noise reduction stage could be made more efficient by incorporating the whitener inside the same FFT stage as the noise reduction. Starting at the audio input, the sample is pushed through a "brick wall" low-pass filter. I found that the Capy played by 8 KHz sample rate files with a fair amount of imaging. This filters cuts out those images. Next it goes into a spectral whitener stage, described previously. The whitener and noise removal stages are self settling so that as the input level changes they accommodate the change without requiring manual adjustment. To do that the mean spectral level in the whitener is tracked by a long time-constant amplitude follower and then gain adjusted for the difference between the 4 KHz bandwidth of the audio and the Capy processing bandwidth. After whitening, the sound is passed through another brick wall low-pass filter with a 4 KHz cutoff to remove those frequencies artificially boosted by the whitening. The whitening stage can be switched on/off from the VCS. Try it and see how much difference it makes to pre-whiten the audio spectrum ahead of noise removal. Next the sound goes into a noise reduction stage. The incoming whitened spectrum is sent through a pair of band-reject filters tuned to reject 2-6 Hz on each of the real and imaginary spectral components. That gives me a better base spectral estimate for each amplitude sans the components varying at important speech frequencies. Following the speech filter, it goes into a log-amplitude mean floor estimator which is used to establish a threshold for use in a downward expanding gain expander. Any sound riding above the threshold is passed unchanged. Sound below this self adjusting threshold is diminished by an expansion ratio of 3:1. The threshold from the amplitude follower is adjusted for the difference in audio and Capy bandwidths as was done in the whitening stage. The threshold of the noise removal stage is set initially to 3 standard deviations in the whitened noise spectrum. You can adjust this up or down from the VCS. This sound can't work miracles, but mighty close to it... Try switching on/off the voice filter VF in the VCS and notice that when it is running the sibillance is more apparent leading to better intelligibility in speech. Enjoy! - DM IP: Logged | |
David McClain Member |
![]() ![]() ![]()
For kicks and testing, I added a square wave oscillator to the input, for simulating heterodyne interference. As you can see, use of the spectral whitener knocks this and the harmonics down by as much as 36 dB. [In fact, the self-tracking threshold is unnecessary in the whitener stage. I also split out the WAV sample file from the Kyma sounds in the Zip so the Zip is very small now.] - DM [This message has been edited by David McClain (edited 13 July 2001).] IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.