Skip to content

An auralisation system that takes a head-worn microphone array recordings as input and renders the audio for binaural playback; taking into account both the listener's head-orientation and relative position from the recording point.

License

Notifications You must be signed in to change notification settings

facebookresearch/6DoF-Auraliser

Repository files navigation

6DoF-Auraliser

An auralisation system that takes a head-worn microphone array recordings as input and renders the audio for binaural playback; taking into account both the listener's head-orientation and relative position from the recording point.

The system is realised as a real-time VST audio plugin, which supports:

  • Loading ATFs and HRTFs via the SOFA standard
  • The ability to change the balance between the directional and ambient rendering streams per frequency band.

A video demonstrating the 6DoF rendering with the various approaches is available here.

Developed using JUCE and the Spatial_Audio_Framework.

Documentation

Doxygen based documentation may be generated with the following command:

cd docs/doxygen
doxygen doxygen_config

This can then be viewed in your browser by opening: docs/doxygen/html/index.html

How to compile?

The instructions for building the plugin are the same as those for building the SPARTA plugins

The TL;DR: the plug-ins may be built with CMake (version 3.15 or higher).

MacOS: To build a universal (ARM and x86_64 compatible) version of the audio plugin and unit testing program:

mkdir build
cmake -S . -B build -DSAF_PERFORMANCE_LIB=SAF_USE_APPLE_ACCELERATE -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" 
cd build
make

Windows (x86_64):

cmake -S . -B build -G "Visual Studio 15 2017" -DCMAKE_GENERATOR_PLATFORM=x64 -DSAF_PERFORMANCE_LIB=SAF_USE_INTEL_MKL_LP64
cd build
msbuild ALL_BUILD.vcxproj /p:Configuration=Release /m

Note: Windows versions require intalling Intel's OneAPI (specifically for Intel MKL), and running the build scripts found in extern/Spatial_Audio_Framework/scripts.

Linux: (x86_64) using Intel MKL:

mkdir build
cmake -S . -B build -DSAF_PERFORMANCE_LIB=SAF_USE_INTEL_MKL_LP64
cd build
make

Note: this require intalling Intel's OneAPI (specifically for Intel MKL), and running the build scripts found in extern/Spatial_Audio_Framework/scripts.

Linux: (x86_64) using OpenBLAS:

mkdir build
cmake -S . -B build -DSAF_PERFORMANCE_LIB=SAF_USE_OPEN_BLAS_AND_LAPACKE
cd build
make

Note: this require intalling OpenBLAS and LAPACKE with e.g.:

sudo apt-get install liblapack3 liblapack-dev libopenblas-base libopenblas-dev liblapacke-dev

Developers

Reference

McCormack, L., Meyer-Kahlen, N., Alon, D.L., Ben-Hur, Z., Amengual Garí, S.V., and Robinson, P.W. 2023. Six-Degrees-of-Freedom Binaural Reproduction of Head-Worn Microphone Array Capture. Journal of the Audio Engineering Society, 71(10), pp.638-649.

@article{mccormack2023six,
  title={Six-Degrees-of-Freedom Binaural Reproduction of Head-Worn Microphone Array Capture},
  author={McCormack, Leo and Meyer-Kahlen, Nils and Alon, David Lou and Ben-Hur, Zamir and Amengual Gar{\'\i}, Sebasti{\`a} V and Robinson, Philip W},
  journal={Journal of the Audio Engineering Society},
  volume={71},
  number={10},
  pages={638--649},
  year={2023},
  publisher={Audio Engineering Society}
}

License

The majority of 6DoF-Auraliser is licensed under GNU General Public License v.3 license, however portions of the project are available under separate license terms: COMPASS-ref and portions of Spatial_Audio_Framework are licensed under the GNU General Public License v2.0 license; Spherical-Harmonic-Transform, Spherical-Array-Processing, Higher-Order-Ambisonics, Vector-Base-Amplitude-Panning, Array-Response-Simulator, HO-SIRR, shoebox-roomsim are licensed under the BSD 3-Clause "New" or "Revised" License; afSTFT is licensed under the MIT license; portions of Spatial_Audio_Framework are licensed under the ISC license.

About

An auralisation system that takes a head-worn microphone array recordings as input and renders the audio for binaural playback; taking into account both the listener's head-orientation and relative position from the recording point.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published