![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Psychoacoustic Bass Enhancement | |
David McClain Member |
![]() ![]() ![]()
This Sound takes advantage of psychoacoustic phenomena to make your mind think it is hearing mega-bass even when your headphones or speaker system couldn't possibly produce that much low frequency energy. Since the ears are nonlinear, they produce a multitude of harmonics of strong sounds -- particularly bass frequencies. Secondly, when a high frequency carrier is modulated by a low frequency tone, your mind detects that low frequency tone in addition to the high frequency carrier. The idea here is that we artificially manufacture those harmonics in then same amplitudes expected as when you really do hear mega-bass, but without introducing excessive bass amplification. Even good headphones can't do much below 80 Hz, so pumping more energy into them below this frequency merely heats up the coils, and it also depletes your headroom on the mixer. So by producing the frequencies we would expect to hear when listening to mega-bass, we fool the mind into thinking that it is really hearing that mega-bass, even though it is completely absent. (try this sound on a big pipe-organ piece!!) So this sound combines a processed mono signal with the original stereo signal (inputs on channels 3&4 -- so change them as needed). The processed signal is low-pass filtered with an adjustable cutoff, typically 100 Hz or lower. This signal is used as a zero-crossing trigger on a pulse, one sample wide, and with a repitition frequency chosen relatively incommensurate with low frequencies of interest (here 150 ms period). By virtue of something known as "stochastic resonance" these pulses triggering every so often on a zero crossing of the low frequency sound produce a whole bunch of harmonics of the original low frequency sound. Now that we have this quasi-periodic pulse stream, it is fed into a Kyma Filterbank Sound with 20 channels ranging from 50 Hz to 240 Hz in 10 Hz spacings. The bandwidth of these filters is set narrow enough to cause them to ring at their characteristic frequencies when hit by the pulse stream. Make the bandwidth too wide and you will hear the pulses themselves. We want the filters to ring. We also want enough filters so that the original frequency's harmonics go through without too much coloration from the filters themselves. Use too few filters and the sounds are out of tune with the music. Dense filterbanks work best here. Finally, the output of the filterbank is gain adjusted and multiplied by the envelope of the low frequency input, using a time constant of about 5 ms on the envelope follower. That allows the follower to track signals up to about 60 Hz pretty faithfully (3 time constants = period = 1/frequency). By multiplying the output of the parallel narrowband filterbank with this low frequency envelope we make the output harmonics match the incoming amplitude of the low frequency signal, as well as producing that multiplicative effect mentioned above. There is a bypass button so that you can A/B the effect. It will knock your socks off, without blowing any speakers or saturating your recording channels! Enjoy! - DM [This message has been edited by David McClain (edited 24 March 2003).] IP: Logged | |
David McClain Member |
![]() ![]() ![]()
The improvement consists of getting rid of the pulse generator in favor of a unipolar zero-crossing detector whose output is 1 for 1 sample period. This is created by means of a Threshold against 0 with no hysteresis, followed by a pseudo-differentiator, and finally a comparison for equality to 1. The idea here is much like a Class-C amplifier for you radio buffs, or a SCR light dimmer, where we want to capture the positive going zero crossings in the low frequency signal and output as narrow a pulse as possible. This generates a very broad spectrum of pure harmonics of the underlying signal, regardless of its frequency composition. That's what the unipolar zero crossing detector does for us here. Another possible alteration might be to replace the Filterbank sound with a high order FFT pair, blocking out all but the frequencies of interest (or else an FIR filter -- same thing). But we want a bank of "filters" that are very narrow, and I'm not sure this approach would be better than the Filterbank Sound block. At any rate, the harmonics being generated now are true to the underlying signal and there is no need to play games with pulse generators and hold-off periods. Here we truly get the harmonics of the low frequency signal itself. - DM IP: Logged | |
David McClain Member |
![]() ![]() ![]() ... it turns out that you can do a very credible job of this much more easily... Instead of creating a zero-crossing pulse into a filterbank of a bunch of narrrowband filters, you could just produce a half-wave rectified lowpass signal and feed it into a ganged low-pass filter tuned to 250 Hz, and a high-pass filter tuned to the lower cutoff of around 50-100 Hz. That same cutoff frequency is used in the low-pass filter for deriving the low-frequency bass. Do this, add some gain to the filtered+rectified low frequencies, and mix back with the original signal. You can create a half-wave rectifier in Kyma by sending a signal into a Difference block, subtract the constant 1, then scale and offset by 1 and 1 respectively. This simply forces the output to clip at the zero level by subtracting 1, then repositions the signal to the zero level by adding back 1. (A dumb DSP trick...) Anyway, this gets rid of the filter bank, the pulse generator, and the need to multiply the output with an amplitude follower. The half-wave rectified signal already has its amplitude envelope controlled by the input signal, and it generates harmonics of the incoming signal, but less harshly than a pulse generator. There is a consequent roll-off in the harmonics as might be expected from natural non-linearities in the human ear. Because so much more sonic energy exists in the half-wave rectified signal, even in the harmonics, it is necessary to use much less gain on the result before mixing back with the original signal. Typically 3 dB gives considerable bass boost. We are still taking advantage of human psychoacoustic response because we produce the harmonics that would be expected in the human ear as a response to a loud low bass signal, even though that bass signal isn't really present at that loudness level. Filtering harmonics and adding back to the original signal also produces a centered bass enhancement, which is appropriate since the human ear is not very capable of localizing low frequency sounds. The original signal remains in stereo, with a mono enhancement to the bass. - DM - DM IP: Logged | |
David McClain Member |
![]() ![]() ![]()
I began to wonder why the rectified bass sounds should sound good? When you rectify with a half-wave rectifier, you are essentially multiplying the low frequency waveforms by a square wave. Hence only even harmonics are present -- as verified by spectrum analyzer tests here in the lab. If we have a bass frequency of 40 Hz, then the rectified output should exhibit 40, 80, 160, 240, etc. We filter away all below 100 Hz and above 250 Hz. But most importantly the odd harmonics at 120 and 200 are missing. So I set up a test with 3 oscillators and looked at what happens when you introduce odd harmonics as well. The results were not very pleasing. This was puzzling to me... The beat frequencies in the ear should be the difference between any two spectral components. The odd harmonics allow the ear to generate the 40 Hz tone, but the even only harmonics do not.... Along the way I discovered that if I multiply the low pass filtered signal by its half-wave rectification then the results become even more convincing. That's what I attached here. So now, this points out that the AM effect is even more important to our minds than the generation of harmonics. In retrospect this seems reasonable since we are not generating harmonics of huge amplitude. Hence the ears never really get the chance to go very nonlinear. By modulating the harmonics with the original bass waveforms we give our minds the opportunity to detect that low bass note on top of the harmonics that our minds believe should exist. The bass frequencies passed through the bandpass filter are not very present, but the amplitude modulated harmonics are. Our minds detect the modulation envelope as one more piece of evidence for the existence of a bass that isn't really physically present in the headphones. - DM IP: Logged | |
David McClain Member |
![]() ![]() ![]() I performed some measurements with a spectrum analyzer, trying to understand why the rectified bass with post-multiplication sounds so compelling over other alternatives. What I find is consistent with the mathematics of a Fourier series analysis. This product-rectified bass exhibits only the fundamental (which is usually filtered away by the following high-pass filter), 2nd harmonic, 3rd harmonic, 5th and 7th harmonics. No 4th harmonic!! The 5th and 7th are waaay down in amplitude and probably contribute little if any to the sound. But the 2nd and 3rd harmonics are present -- which could produce the beat note at the fundamental. But more importantly, the use of post-multiplication following the rectifier, makes these harmonic additions nonlinear in a pleasing way. The amplitudes of these harmonics goes as the square of the bass input. If the bass rises by 10 dB, these harmonics all rise by 20 dB. Just like you might expect the ear to respond! Measurements indicate 2nd and 3rd order IMD intercepts of +2 dBFS and +12 dBFS, respectively. That is to say... if you could drive the bass boost circuit hard enough, the amplitudes of these harmonics would surpass that of the driving fundamental above these input levels. Of course you can't drive our DSP's beyond 0 dBFS. [Measurements were made with a Sinewave oscillator at 27.5 Hz feeding the bass boost circuit with a boost post-gain of +20 dB. In order to hear this note -- the lowest on the piano keyboard, the boost high pass filter needs to have its cutoff lowered to 50 Hz, 4th order Butterworth. The input lowpass filter is likewise a 100 Hz cutoff 4th order Butterworth. The high frequency rolloff of the boost is provided by a 1st order low pass filter with a cutoff of 250 Hz. The input lowpass filter is necessary to prevent the parasitic harmonic generation of non-bass mid-range tones.] But the importance of these IMD measurements is that, from previous experiments on human hearing, I found that 2nd and 3rd order IMD intercepts for our ears rests around the loudest listening levels that we routinely afford. So in some sense, this bass boost provides comparable behavior. It produces what you might expect our hearing to produce had we been given a strong bass note. Our speaker systems and headphones pare away most of this luscious bass. The bass enhancement with bass rectification followed by multiplication by the bass signal restores much of what we never get the chance to hear. We artificially insert the sounds that our ears would had they been granted the opportunity. I love it when things become more self-consistent. Here is a great example of such a condition. [Of course, a famous physicist once said that "one ought to be doubly suspicious when things work out too consistently!"]. - DM [This message has been edited by David McClain (edited 01 April 2003).] 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.