I just took another close look at my ancient HdphX system. It wasn’t as credible as I wanted. So I spent some time researching and trying new things.
HdhpX has always worked by taking an attenuated, filtered, and delayed Side channel and subtracting it from the current Side channel. But I wasn’t filtering properly.
We humans really can’t locate bass sounds very well. They seem to fill the space around us and mostly seem like they are coming from directly in front of us. HdphX wasn’t properly respecting that condition.
Then too, modern music, especially modern electronic music, resorts to really extreme Left/Right separation. How extreme? Can you be any more extreme that simply panning all the way to the left or right? Well, yes, you can become even more extreme than that.
What happens in modern electronic music is that some sounds are panned all the way to one side and then the same sound is “subtracted” from the other side. That causes your ears to hear some serious pulling to one side or the other. It is more than panned to one side.
It happens, usually, as a result of delayed signals that were previously correlated in time. The delay causes an inversion between the channels. Delays come from either overt digital delay effects, or oftentimes from reverb effects.
But if you listen to such music through loudspeakers, you don’t get the same effect as when listening through headphones. The sounds from each speaker enter the room and mix together in the air between the speakers and your ears. Both ears hear substantially from both speakers, with the amount being dependent on the separation of the speakers and your distance from them. But you certainly don’t hear only the left channel in your left ear.
Inside the computer, we can compensate for the extreme separation by moderating the amount of Side channel information being blended with the Mid channel.
For the bass region, say below 150 Hz (about the pitch of a grown man’s voice, or about D below middle-C), we should high pass filter the Side channel, leaving mostly Mid channel. Filtering is not abrupt and the transition is smooth, being strongest at the deep bass notes down around 20-60 Hz, and only slight reduction at 150 Hz.
And for what remains of the extreme separation we should diminish the overall remaining Side channel a bit, until there is no longer the polarity inversion being heard. It turns out that 3 dB reduction is a bit too much, and 2 dB isn’t quite enough. So a good compromise is around 2.5 dB reduction of Side level sound.
Finally we have Haas-effect delayed crossover from Left to Right, and vice versa. This enhances the sensation that sounds come from one side or the other. It provides temporal cues, in place of extreme amplitude separation and polarity inversion, for a better feeling listening experience through headphones.
So HdphX has been upgraded:
- Bass has a gradual decrease in Side channel information, below 150 Hz, as the frequency tends toward deep bass.
- The remaining Side channel information is attenuated slightly, by about 2.5 dB, to overcome the effects of extreme separation polarity inversion at various frequencies.
- That diminished Side channel is added back the the Mid channel, and a delayed, attenuated, version of the Side channel is subtracted from the result. This has the effect of feeding Left information to Right, and vice versa, and the delay helps us sense directionality as a result of the Haas-effect.
The delay is about 250 microseconds, corresponding to speakers at +/-30 degree angular separation, and an ear separation distance of about 6 inches. Sound travels, in average listening conditions, about 1 foot per millisecond. And the angular projection from the speakers to the baseline connecting each ear causes about half their separation in spatial delay. The crossover attenuation is about 6 dB.
The end result is that when you enable HdphX in Crescendo, it becomes a very similar experience to listening through loudspeakers. No more weird pounding in the head due to extreme mixing channel separation.
If you download Crescendo again you will get the updated version of HdphX in both the vTuning.component (aka Crescendo) and the CLAS.component.