frankl's stereo utilities [We support real

[Overview] [Player] [RACE] [LoCo] [DRC]

RACE: cross talk cancelling

When stereo recordings are played via speakers we have the problem that the sound of the left speaker is first heard with the left ear and a bit later also with the right ear, and the other way round (cross talk).

In Ambiophonics two speakers are placed closely together and a "virtual wall" is constructed by playing the sound of the left speaker attenuated, inverted and with a delay also through the right speaker (and vice versa) such that the wrong signal from the left speaker and this delayed inverted signal from the right speaker cancel each other in the ear. This must be applied recursively to the correction signal as well. This leads to an IIR filter and the algorithm is called RACE and is described on the Ambiophonics website.

I have experimented with Ambiophonics for a while, but it worked reasonably well only with few recordings, and even then I found the 3D sound effect quite artificial.

Nevertheless, I'm still using the RACE algorithm, but with a standard stereo triangle and much different parameters (compared to ambiophonics). The delay is about 0.3 ms and the attenuation between 12dB and 40dB depending on the recording. An implementation is available in the volrace programm, see here.

The cross talk effect is certainly frequency dependend, while the compensation in my implementation is not. Here is room for future experiments and improvements.