pyfar: Python Packages for Acoustics Research
The Python programming language is increasingly used in scientific applications due to its broad ecosystem of third party packages and open source license allowing for good reproducibility of research results. Although many Python packages provide signal processing methods, plotting functionality, and interfacing with audio devices and instrumentation, a unified and comprehensive framework for acoustic research is not yet available. The Python Packages for Acoustics Research (pyfar) are an effort to close this gap. The functionality is distributed across multiple packages. The pyfar base package defines container-classes for storing audio data, coordinate points and orientations, and provides functionality for digital audio signal processing, data visualization as well as basic reading/writing of common audio file formats. Related packages provide functionality for specific applications such as spherical array processing, transfer function measurements or room acoustics. To ensure good usability, the pyfar ecosystem is developed with a strong focus on documentation. Test driven development and continuous integration ensure stable and reliable code. Pyfar packages are provided under the MIT open source license allowing unrestricted educational and commercial use and is developed by an open community that welcomes contributions. To get started with using pyfar or to contribute, please visit pyfar.org.