SOFASonix is an advanced Python API for the Spatially-Oriented Format for Acoustics (SOFA Format) as defined by AES69-2015 - www.sofaconventions.org.
SOFASonix was initially developed as a supplementary tool for usage alongside an undergraduate project at Southampton University's Institute of Sound and Vibration Research (ISVR). The enhanced and refined version of this is now the official SOFASonix API.
Features
- Support for the majority of standardised and stable SOFA conventions.
- Reading/Writing of SOFA Files for each of the supported conventions.
- Built-in convention-specific validation to ensure correct file format for export!
- Powered by the lightweight and powerful SQLite3, providing support for different versions of each convention.
- Simple syntax for quickly generating / reading SOFA files.
Installation
SOFASonix can be installed as a PyPI package using
pip install sofasonix
Supported Conventions
The following conventions are currently supported by SOFASonix for reading and writing, as per the SOFAConventions website:
| Convention | Version | SOFAConventionsVersion |
|---|---|---|
| GeneralFIR | 1.0 | 1.0 |
| GeneralTF | 1.0 | 1.0 |
| 0.5 | 0.1 | |
| SimpleFreeFieldHRIR | 1.0 | 1.0 |
| 0.6 | 0.4 | |
| 0.5 | 0.3 | |
| GeneralFIRE | 1.0 | 1.0 |
| 0.6 | 0.1 | |
| MultiSpeakerBRIR | 1.0 | 0.3 |
| 0.6 | 0.2 | |
| 0.6 | 0.1 | |
| SimpleHeadphoneIR | 1.0 | 0.2 |
| 0.6 | 0.1 | |
| 0.5 | 0.1 | |
| SimpleFreeFieldTF | 1.0 | 1.0 |
| 0.6 | 0.4 | |
| SimpleFreeFieldSOS | 1.0 | 1.0 |
| SingleRoomDRIR | 1.0 | 0.3 |
| 0.5 | 0.1 | |
| MusicalInstrumentDirectivity | 1.0 | 1.0 |
| FreeFieldDirectivityTF | 1.0 | 0.1 |
Note: While some of these versions are deprecated according to SOFAConventions, they have been included to maintain backwards compatibility for both older SOFA files and older applications that may be using them. It is always recommended to use the latest versions for generating files for storage.
Documentation
SOFASonix documentation and example usage is available over at the SOFASonix Wiki page.
Templates
SOFASonix supports templates for each convention for easily creating SOFA files. These templates are autogenerated with the provided TemplateGenerator. The TemplateGenerator may be used to create python templates for any convention (and version combinations) supported by SOFASonix. To learn more, refer to the SOFASonix WIKI page.
Contribute
You may contribute any improvements and fixes via regular pull-requests. These will be reviewed as per standard procedure before integration.
License
SOFASonix is licensed under BSD-3 - see the LICENSE.md file for details. Alternatively you may visit https://opensource.org/licenses/BSD-3-Clause
Authors
I.G Laghidze (Founder) - developer@artisan-one.com
Metadata
Release files for SOFASonix 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| SOFASonix-1.0.7.tar.gz | 36.3 kB | Without provenance | Details for SOFASonix-1.0.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| SOFASonix-1.0.7-py3-none-any.whl | Python 3 | none | any | Details for SOFASonix-1.0.7-py3-none-any.whl |
Total release size: 74.2 kB
Release files / SOFASonix-1.0.7.tar.gz
| Download URL | SOFASonix-1.0.7.tar.gz |
|---|---|
| Size | 36.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3aa89c45e3b65cbc821ad8b1fa1e76d4d150a8daa8a9ec7f8b8369fa265fb596
|
|
BLAKE2b-256 checksum How to use checksums |
29b4208225bc1ec044dc4b7257b68d2cc7952a04267bd74617d03f8f7a591e67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|
Release files / SOFASonix-1.0.7-py3-none-any.whl
| Download URL | SOFASonix-1.0.7-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e875fb647abba0f5edf42ae856ee2e95b40d38b15ea5250feb57c2ed655fb874
|
|
BLAKE2b-256 checksum How to use checksums |
8d397cc87a4d74fd0785b78035a7568c01111ce42a32d305017d164e5f6e2428
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|
Security for SOFASonix 1.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.