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
Getting Started#
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.
Installation#
Use pip to install sofar
pip install sofar
(Requires Python >= 3.8)
If the installation fails, please check out the help section.
Contributing#
Refer to the contribution guidelines for more information.
References#
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