FFmpeg 3.3.9
Since* 3.0
#

SOFAlizer uses head-related transfer functions (HRTFs) to create virtual loudspeakers around the user for binaural listening via headphones (audio formats up to 9 channels supported). The HRTFs are stored in SOFA files (see http://www.sofacoustics.org/ for a database). SOFAlizer is developed at the Acoustics Research Institute (ARI) of the Austrian Academy of Sciences.

To enable compilation of this filter you need to configure FFmpeg with --enable-netcdf.

The filter accepts the following options:

sofa

Set the SOFA file used for rendering.

gain

Set gain applied to audio. Value is in dB. Default is 0.

rotation

Set rotation of virtual loudspeakers in deg. Default is 0.

elevation

Set elevation of virtual speakers in deg. Default is 0.

radius

Set distance in meters between loudspeakers and the listener with near-field HRTFs. Default is 1.

type

Set processing type. Can be time or freq. time is processing audio in time domain which is slow. freq is processing audio in frequency domain which is fast. Default is freq.

speakers

Set custom positions of virtual loudspeakers. Syntax for this option is: <CH> <AZIM> <ELEV>[|<CH> <AZIM> <ELEV>|...]. Each virtual loudspeaker is described with short channel name following with azimuth and elevation in degreees. Each virtual loudspeaker description is separated by ’|’. For example to override front left and front right channel positions use: ’speakers=FL 45 15|FR 345 15’. Descriptions with unrecognised channel names are ignored.

#

Examples

  • Using ClubFritz6 sofa file:

    sofalizer=sofa=/path/to/ClubFritz6.sofa:type=freq:radius=1
  • Using ClubFritz12 sofa file and bigger radius with small rotation:

    sofalizer=sofa=/path/to/ClubFritz12.sofa:type=freq:radius=2:rotation=5
  • Similar as above but with custom speaker positions for front left, front right, back left and back right and also with custom gain:

    "sofalizer=sofa=/path/to/ClubFritz6.sofa:type=freq:radius=2:speakers=FL 45|FR 315|BL 135|BR 225:gain=28"