Sofar is maybe the most complete Python package for the SOFA file format so far. SOFA files store spatially distributed acoustic data such as impulse responses or transfer functions. They are defined by the AES69-2022 standard (see references). These are the key features of sofar
- Read, edit, and write SOFA files
- Add custom attributes to SOFA files
- Full Verification of the content of a SOFA files against AES69-2022
- Upgrade data that uses outdated SOFA conventions
- Open license allows unrestricted use
- sofar is tested using continuous integration on
- Uses a complete definition of the AES69-2022 standard (see references) maintained at sofa_conventions
The sofar and SOFA notebook
gives an overview of the most important sofar functionality and is a good starting point. For processing and visualizing data
inside SOFA files, we recommend the pyfar package that can read SOFA files through
pyfar.io.read_sofa
and the in-depth examples contained in the
pyfar example gallery. Check out
read the docs for a complete documentation of sofar. A more detailed introduction to the SOFA
file format is given by Majdak et. al. 2022 (see references below). All information is also bundled at pyfar.org.
Use pip to install sofar
pip install sofar
(Requires Python >= 3.8)
If the installation fails, please check out the help section.
Refer to the contribution guidelines for more information.
AES69-2022: AES standard for file exchange - Spatial acoustic data file format, Audio Engineering Society, Inc., New York, NY, USA. (https://www.aes.org/publications/standards/search.cfm?docID=99)
P. Majdak, F. Zotter, F. Brinkmann, J. De Muynke, M. Mihocic, and M. Noisternig, "Spatially Oriented Format for Acoustics 2.1: Introduction and Recent Advances", J. Audio Eng. Soc., vol. 70, no. 7/8, pp. 565-584, Jul. 2022. DOI: https://doi.org/10.17743/jaes.2022.0026