RoomAcoustiC++ Documentation
Welcome to the official RoomAcoustiC++ (RAC) documentation site. The original version of RAC can be found here, and this software is an extension of it.
RAC is a C++ library for real-time room acoustic modelling designed for psychoacoustic research and immersive audio applications. It uses the image-edge model (IEM) for early reflections and low-order diffraction, and feedback delay networks (FDN) for convolution-free late reverberation. Two late reverberation models are implemented. Firstly, the modal decomposition of acoustic radiance transfer (MoD-ART) that is suitable for indoor, outdoor and complex multi-room environments and a single FDN approach (similar to RAZR) suitable for simple single room environments
The library provides a simple API interface for controlling source and listener positions, room geometry, and acoustic parameters.
Quick start
- RoomAcoustiC++: If you are looking to learn more about the RoomAcoustiC++ library and the underlying acoustic models.
- C++ Interface: If you are building a C++ audio program you can integrate the RAC library into your own application that handles the appropriate function calls to the API.
- Unity Interface: If you are a researcher or developer looking to use RAC you can use the Unity or (soon to be released) Unreal interface for efficient and simple control of the acoustic model (suitable for users with no or minimal coding experience).
Credits
This software was developed by
- Joshua Mannall (Institute of Sound Recording, University of Surrey). Contact: jmannall@outlook.com
- Matteo Scerbo (Department of Electrical and Photonics Engineering, Technical University of Denmark). Contact: mattes@dtu.dk
- Daniel Sass. Contact: dan@sass.org
- Enzo De Sena (Institute of Sound Recording, University of Surrey). Contact: e.desena@surrey.ac.uk
- Randall Ali (Institute of Sound Recording, University of Surrey). Contact: r.ali@surrey.ac.uk
Joshua is the original developer of RAC, and is responsible for the IEM components as well as most of the digital signal processing. Matteo is responsible for the MoD-ART components.
Daniel is responsible for most of the optimization work.
Enzo and Randy assisted in the development of the MoD-ART model.
License
RoomAcoustiC++ is distributed under the GPL v3, a popular open-source license with strong copyleft conditions license.
If you license RoomAcoustiCpp under GPL v3, there is no license fee or signed license agreement: you just need to comply with the GPL v3 terms and conditions. See the license files on the GitHub repository for more information.
Acknowledgements
The project utilises the 3D-TuneIn Toolkit (3DTI) for spatialisation. The forked 3dti_AudioToolkit repository (included as a submodule) includes all the required files for use with RAC.
The lock-free queue concurrentqueue is used for multithreaded audio processing.