Analyze, visualize and process sound field data recorded by spherical microphone arrays.
The sound_field_analysis toolbox (short: sfa) is a Python port of the Sound Field Analysis Toolbox (SOFiA) toolbox, originally by Benjamin Bernschütz . The main goal of the sfa toolbox is to analyze, visualize and process sound field data recorded by spherical microphone arrays. Furthermore, various types of test-data may be generated to evaluate the implemented functions. It is an essential building block of ReTiSAR, an implementation of real time binaural rendering of spherical microphone array data.
We use Python 3.7 for development. Chances are that earlier version will work too but this is currently untested.
The following external libraries are required:
For performance and convenience reasons we highly recommend to use Conda (miniconda for simplicity) to manage your Python installation. Once installed, you can use the following steps to receive and use sfa, depending on your use case:
Install into an existing environment (without example Jupyter Notebooks): pip install sound_field_analysis
By cloning (or downloading) the repository and setting up a new environment:
git clone https://github.com/AppliedAcousticsChalmers/sound_field_analysis-py.git
Create a new Conda environment from the specified requirements: conda env create --file environment.yml
Activate the environment: source activate sfa
Optional: Install additional requirements in case you want to locally run the Jupyter Notebooks with examples: conda env update --file environment_jupyter.yml
Find the full documentation at https://appliedacousticschalmers.github.io/sound_field_analysis-py/.
Exp1: Ideal plane wave
Ideal unity plane wave simulation and 3D plot.
Exp2: Measured plane wave
A measured plane wave from AZ=180°, EL=90° in the anechoic chamber using a cardioid mic.
- Update of README and PyPI package
- Update of internal documentation and string formatting
- Change of version number scheme to CalVer
- Improvement of Exp4
- Update of read_SOFA_file
- Update of 2D plotting functions
- Improvement of write_SSR_IRs
- Improved environment setup for jupyter notebook
- Update of miro_to_struct
- 2019-07-30 v0.9
- Implement SOFA import
- Update Exp4 to contain SOFA import
- Delete obsolete Exp3
- Add named tuple HRIRSignal
- Implement cart2sph and sph2cart utility functions
- Add conda environment file for convenient installation of required packages
- 2019-07-11 v0.8
- Implement Spherical Harmonics coefficients tapering
- Adaption of associated Spherical Head Filter
- 2019-06-17 v0.7
- Implement Bandwidth Extension for Microphone Arrays (BEMA)
- Edit read_miro_struct, named tuple ArraySignal and miro_to_struct.m to load center measurements
- 2019-06-11 v0.6
- Port of Radial Filter Improvement from SOFiA
- 2019-05-23 v0.5
- Implement Spherical Head Filter
- Implement Spherical Fourier Transform using pseudo-inverse
- Extract real time capable Spatial Fourier Transform
- Outsource reversed m index function (Exp4)
The sound_field_analysis toolbox is based on the Matlab/C++ Sound Field Analysis Toolbox (SOFiA) toolbox by Benjamin Bernschütz. For more information you may refer to the original publication:
The Lebedev grid generation was adapted from an implementation by Richard P. Muller.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size sound_field_analysis-2020.1.30-py3-none-any.whl (37.7 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size sound_field_analysis-2020.1.30.tar.gz (43.5 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for sound_field_analysis-2020.1.30-py3-none-any.whl
Hashes for sound_field_analysis-2020.1.30.tar.gz