Code Monkey home page Code Monkey logo

6dof-auraliser's Introduction

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.

6dof-auraliser's People

Contributors

leomccormack avatar zamirbh86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.