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:
default: The standard Bauer crossfeed configuration. It uses a 700 Hz cutoff frequency and a 4.5 dB feed level. This is a balanced setting suitable for most audio.cmoy: A simulation of the Chu Moy headphone amplifier circuit. It uses a 700 Hz cutoff frequency and a 6.0 dB feed level, offering a slightly stronger crossfeed effect than the default.jmeier: A simulation of the Jan Meier enhanced crossfeed circuit. It uses a 650 Hz cutoff frequency and a 9.5 dB feed level, resulting in a highly pronounced crossfeed effect.
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.mp3To use the Jan Meier circuit profile instead, modify the command as follows:
ffmpeg -i input.mp3 -af bs2b=profile=jmeier output.mp3Custom 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):
fcut: Sets the low-pass filter cutoff frequency in Hz. The valid range is from 385 Hz to 1000 Hz.feed: Sets the feed level for low frequencies in decibels (dB), which controls the strength of the crossfeed. The valid range is from 1 dB to 15 dB.
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.mp3Note 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.