Skip to main content

A Lightweight Python API for the AES69-2015 Spatially Oriented Format for Acoustics (SOFA) File Format

Project description

Python License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SOFASonix-1.0.7.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

SOFASonix-1.0.7-py3-none-any.whl (37.9 kB view details)

Uploaded Python 3

File details

Details for the file SOFASonix-1.0.7.tar.gz.

File metadata

  • Download URL: SOFASonix-1.0.7.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for SOFASonix-1.0.7.tar.gz
Algorithm Hash digest
SHA256 3aa89c45e3b65cbc821ad8b1fa1e76d4d150a8daa8a9ec7f8b8369fa265fb596
MD5 5ccbb26f5b87a8d1ce8b2c8c5b17a0b6
BLAKE2b-256 29b4208225bc1ec044dc4b7257b68d2cc7952a04267bd74617d03f8f7a591e67

See more details on using hashes here.

File details

Details for the file SOFASonix-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: SOFASonix-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 37.9 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for SOFASonix-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e875fb647abba0f5edf42ae856ee2e95b40d38b15ea5250feb57c2ed655fb874
MD5 743d13c018e349444375759fc3150722
BLAKE2b-256 8d397cc87a4d74fd0785b78035a7568c01111ce42a32d305017d164e5f6e2428

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page