The bs2b (Bauer stereophonic-to-binaural DSP) effect is an audio processing technique which consists in blending the left and right channels of a stereo audio file. This technique aims to make the sound produced by headphones more natural by emulating the speaker setup.

The bs2b crossfeed effect is useful for those who use headphones over a prolonged period of time.

First, make sure you have installed the bs2b library:

sudo apt-get install libbs2b0

To enable this effect for all Gstreamer players (e.g. Rhythmbox, Banshee, Clementine, Totem), you need to install the gstreamer0.10-bs2b package which I have already uploaded to a PPA (Precise and Quantal):

sudo add-apt-repository ppa:beebarss-saj-ma/misc
sudo apt-get update
sudo apt-get install gstreamer0.10-bs2b

Type the following line into a terminal window to see if the effect works:

gst-launch-0.10 audiotestsrc ! crossfeed ! autoaudiosink

Once you have checked that everything is working correctly, you need to set a global pipeline to enable the crossfeed effect for all Gstreamer players:

gconftool --type string --set /system/gstreamer/0.10/default/musicaudiosink "crossfeed preset=YOURPRESET ! autoaudiosink"

The bs2b library provides three presets:

  • preset=0 / Closest to virtual speaker placement (30°, 3 meter)
  • preset=1 / (Cmoy) Close to Chu Moy's crossfeeder (popular)
  • preset=2 / (Jmeier) Close to Jan Meier's CORDA amplifiers (little change)

Example: Activate the Cmoy preset

gconftool --type string --set /system/gstreamer/0.10/default/musicaudiosink "crossfeed preset=1 ! autoaudiosink"

To view your settings, use the following command:

gconftool-2 -a /system/gstreamer/0.10/default

NOTE: You can disable the bs2b effect by executing the following command:

gconftool --unset /system/gstreamer/0.10/default/musicaudiosink

Some parts are inspired by Quod Libet wiki / The Gstreamer-bs2b plugin was developed by Lazka (See the plugin home page for more details)