Configure FFmpeg bs2b Filter Profile

This article provides a step-by-step guide on how to configure the bs2b (Bauer stereophonic-to-binaural) audio filter in FFmpeg. You will learn about the available preset profiles, how to apply them to your audio files, and how to customize the frequency cutoff and feed parameters to improve your headphone listening experience.

The bs2b filter is an acoustic simulator designed to reduce headphone listening fatigue. It does this by mixing the left and right stereo channels (crossfeed) to replicate the way human ears perceive sound coming from physical loudspeakers.

Using Predefined Profiles

The easiest way to use the bs2b filter is by selecting one of its three predefined profiles. These profiles dictate how the crossfeed is applied:

To apply a profile using FFmpeg, use the -af (audio filter) flag with the bs2b filter and specify the profile parameter:

ffmpeg -i input.mp3 -af bs2b=profile=default output.mp3

To use the Jan Meier circuit profile instead, modify the command as follows:

ffmpeg -i input.mp3 -af bs2b=profile=jmeier output.mp3

Custom Configuration (Manual Tuning)

If the predefined profiles do not fit your preferences, you can configure the filter manually. This is done by omitting the profile parameter and directly specifying the frequency cutoff (fcut) and feed level (feed):

To manually configure a custom filter with a 750 Hz cutoff frequency and a 5.5 dB feed level, use the following syntax:

ffmpeg -i input.mp3 -af bs2b=fcut=750:feed=5.5 output.mp3

Note that if you attempt to mix the profile parameter with manual fcut or feed parameters, the predefined profile values will take precedence and override your manual settings. Use one method or the other for predictable results.