Software and APIs: Difference between revisions
pysofaconventions added |
No edit summary |
||
| Line 26: | Line 26: | ||
[https://github.com/andresperezlopez/pysofaconventions pysofaconventions] is a SOFA API for Python made by Andrés Pérez-López (UPF/Eurecat, Spain). It is a full convention implementation, taking the C++ API as a reference. It is covered by unit tests, see the [https://coveralls.io/github/andresperezlopez/pysofaconventions?branch=master test coverege statistics]. It supports automatic installation via [https://pypi.org/project/pysofaconventions/ the pip system]. |
[https://github.com/andresperezlopez/pysofaconventions pysofaconventions] is a SOFA API for Python made by Andrés Pérez-López (UPF/Eurecat, Spain). It is a full convention implementation, taking the C++ API as a reference. It is covered by unit tests, see the [https://coveralls.io/github/andresperezlopez/pysofaconventions?branch=master test coverege statistics]. It supports automatic installation via [https://pypi.org/project/pysofaconventions/ the pip system]. |
||
== API: libmysofa == |
== API: libmysofa == |
||
| Line 37: | Line 36: | ||
[https://github.com/CWBudde/WebSofa WebSofa] is slightly based on the libmysofa research for loading HDF files without much dependencies. However, in contrast to the low level c library this library is meant to be executed in a JavaScript environment (such as any modern browser or [https://nodejs.org/en/ Node.js]). So far it is not completed as it's just a hobby project, but it already allows to display properties of a given SOFA file. Try it out in the [https://rawgit.com/CWBudde/WebSofa/master/Demo/www/index.html online demo]. |
[https://github.com/CWBudde/WebSofa WebSofa] is slightly based on the libmysofa research for loading HDF files without much dependencies. However, in contrast to the low level c library this library is meant to be executed in a JavaScript environment (such as any modern browser or [https://nodejs.org/en/ Node.js]). So far it is not completed as it's just a hobby project, but it already allows to display properties of a given SOFA file. Try it out in the [https://rawgit.com/CWBudde/WebSofa/master/Demo/www/index.html online demo]. |
||
== Application: Spat == |
== Application: Spat == |
||
Revision as of 12:43, 28 May 2019
Generic: HDF5View
SOFA files are based on netCDF-4. NetCDF is based on HDF5. HDFView is a generic viewer for HDF5 files running in Java.
Thus, SOFA files can be loaded and edited in the HDFView. This is a generic viewer; it allows to browse through all metadata and data in a numeric format only.
API: SOFA API for Matlab/Octave
SOFA API for Matlab/Octave aims at providing a basic interface for handling SOFA files in Matlab and Octave.
The releases are provided at Sourceforge. The sources are stored at github
API: SOFA API for C++
An API for C++ is available online. The version 1.0 is in accordance with the AES69-2015 standard.
The sources are stored at github.
If you have questions about this API, please send an email to the mailing list. You don't have to be a member of the mailing list to send a message to the list moderator.
API: SOFA API for Python
pySOFA is a SOFA API for Python made by Jörg Encke (TUM, Munich). The API is currently read-only and implements the FIR Datatype. It was implemented for a specific project and only implements a limited amount of features. If you have question about this API, feel free to contact Jörg Encke or to submit an issue report.
API: pysofaconventions for Python
pysofaconventions is a SOFA API for Python made by Andrés Pérez-López (UPF/Eurecat, Spain). It is a full convention implementation, taking the C++ API as a reference. It is covered by unit tests, see the test coverege statistics. It supports automatic installation via the pip system.
API: libmysofa
Libmysofa is a light weight C-library intended to read SOFA files for spatial rendering.
It hardly has any library dependencies and is suitable for embedded devices. It can read SOFA files and check whether the data comply the "SimpleFreeFieldHRIR" conventions. In addition, provides functions to look-up and interpolate the filters for a given orientation and to normalize the HRTFs to a reference level. It compiles unter Linux (CMake) and Windows (Visual Studio 2015).
API: WebSofa
WebSofa is slightly based on the libmysofa research for loading HDF files without much dependencies. However, in contrast to the low level c library this library is meant to be executed in a JavaScript environment (such as any modern browser or Node.js). So far it is not completed as it's just a hobby project, but it already allows to display properties of a given SOFA file. Try it out in the online demo.
Application: Spat
Spat is a software suite for spatialization of sound signals in real-time intended for musical creation, postproduction, and live performances made by IRCAM. It supports SOFA for binaural rendering.
Application: WaveCloud-M
WaveCloud-M is Matlab-oriented room simulator. Beginning with version 1.0, WaveCloud-M can use HRTFs saved in SOFA to render binaural signals.
Application: SOFAlizer plug-in for VLC player
SOFAlizer is a simple demo of an audio engine as a plugin for the VLC-Player.
Currently, Windows binaries of the VLC-Player 2.1 compiled with the SOFAlizer plugin are available. Details on the installation can be found here.
The source code is available here. The file sofalizer.c can serve as an example of how to load SOFA files in C++.
Application: DirPat
DirPat is a set of tools aiming at the analysis and visualization of the directivity of acoustic sources like loudspeakers, microphones, singers, talkers, and music instruments. DirPat consists of user interfaces, signal-processing tools, and a database of measured directivities which are handled as SOFA files.