Sofa Downloadsofashallow Foundation Analysis Software



  • It has been an amazing journey from where we were almost seven decades ago – our founders Frederick W. And Albert Soffa – were just designing and building many different types of equipment before deciding to take the entrepreneurial leap of faith.
  • Konstantinos Nikolaou Software. Powered by Create your own unique website with customizable templates.
  • SOFA Statistics is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Latest version

Released:

Shallow Foundation Analysis (SoFA) software is a newly-developed free stand-alone program based on Matlab for the calculation of bearing capacity and settlements of shallow foundations.

Analyze, visualize and process sound field data recorded by spherical microphone arrays.

Project description

The sound_field_analysis toolbox (short: sfa) is a Python port of the Sound Field AnalysisToolbox (SOFiA) toolbox, originally by Benjamin Bernschütz [1]. The main goal of the sfatoolbox is to analyze, visualize and process sound field data recorded by spherical microphonearrays. Furthermore, various types of test-data may be generated to evaluate the implementedfunctions. It is an essential building block of ReTiSAR, an implementation of real timebinaural rendering of spherical microphone array data.

Requirements

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:

  • Jupyter (for running Notebooks locally)
  • Plotly (for plotting)

Installation

Sofa

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:

  1. From PyPI:

    Install into an existing environment (without example Jupyter Notebooks):pip install sound_field_analysis

  2. By cloning (or downloading) the repository and setting up a new environment:

    git clone https://github.com/AppliedAcousticsChalmers/sound_field_analysis-py.git

    cd sound_field_analysis-py/

    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

Documentation

Find the full documentation at https://appliedacousticschalmers.github.io/sound_field_analysis-py/.

Examples

The following examples are available as Jupyter notebooks, either statically on GitHub or interactively onnbviewer. You can of course also simply download the examples and run them locally!

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.

Exp4: Binaural rendering

Render a spherical microphone array impulse response measurement binaurally. The example shows examples for loadingmiro or SOFA files.

Version history

v2020.1.30
  • Update of README and PyPI package
v2019.11.6
  • Update of internal documentation and string formatting
v2019.8.15
  • 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)

References

The sound_field_analysis toolbox is based on the Matlab/C++ Sound Field Analysis Toolbox (SOFiA) toolbox byBenjamin Bernschütz. For more information you may refer to the original publication:

[1] Bernschütz, B., Pörschmann, C., Spors, S., and Weinzierl, S. (2011). SOFiA Sound Field Analysis Toolbox.Proceedings of the ICSA International Conference on Spatial Audio

The Lebedev grid generation was adapted from an implementation by Richard P. Muller.

Release historyRelease notifications | RSS feed

2020.1.30

0.3

Downloadsofashallow

0.2

0.1.dev0 pre-release

Download files

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

Files for sound-field-analysis, version 2020.1.30
Filename, sizeFile typePython versionUpload dateHashes
Filename, size sound_field_analysis-2020.1.30-py3-none-any.whl (37.7 kB) File type Wheel Python version py3 Upload dateHashes
Filename, size sound_field_analysis-2020.1.30.tar.gz (43.5 kB) File type Source Python version None Upload dateHashes

Shallow Foundation Types

Close

Hashes for sound_field_analysis-2020.1.30-py3-none-any.whl

Hashes for sound_field_analysis-2020.1.30-py3-none-any.whl
AlgorithmHash digest
SHA256e0bf15abb5e86fb67b2b52442d12f62830dbcac64ee8bceb1ab549e142a8a9d8
MD534f03bd880e2aa24e8cb69a5fabc7087
BLAKE2-256650ef80922673b3e181823d60903b01f09230e382d0301b89a88f9f5fa6c3a86
Close

Hashes for sound_field_analysis-2020.1.30.tar.gz

Hashes for sound_field_analysis-2020.1.30.tar.gz
AlgorithmHash digest
SHA2563cd7a98913f9489aa2900a14a97ed8b3b56cb827b66fe60b3dc41a77bfc5d97a
MD599598761f366e7aa76b8903d50d93c35
BLAKE2-25642f7d9a009d73c7619a6d55db2886a94b3cf48053532324836cae79c17f08a9f

HDF5View: Generic SOFA file viewer

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.

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

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.

pysofaconventions: SOFA API for Python

pysofaconventions is a SOFA API for Python made by Andrés Pérez-López (UPF/Eurecat, Spain). It is a full implementation of SOFA including reading and writing SOFA files, taking the C++ API as a reference. It supports automatic installation via the pip system.

pySOFA: Lightweight SOFA API for Python (read only, FIR only)

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.

SOFASonix: Lightweight SOFA API for Python (read/write support, all conventions)

SOFASonix is another lightweight SOFA API for Python made by Ioseb Laghidze (ISVR, Southampton University, UK). It supports both reading and writing of SOFA files for the conventions defined at the time of writing. The API is a full implementation of SOFA with built-in validation-checks for compliance with each convention and a generator of convention templates for quickly creating SOFA files. SOFASonix runs on an SQLite database, making it backwards compatible with previous versions of each convention.

libmysofa: Lightweight SOFA API in C (reading)

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).

WebSofa: SOFA API in JavaScript

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.

sofa~: SOFA for Max

SOFA for Max is a collection of objects made by Dale Johnson and Hyunkook Lee (University of Huddersfield, UK) for using and creating SOFA files in Max. It is based on libsofa C++ API and enables SOFA files to be utilized in patches designed for spatial audio reproduction. The binaries are available for [ https://doi.org/10.5281/zenodo.3269271 MacOS and Windows].

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

Advantages Of Shallow Foundation

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.

Application: 3D Tune-In Toolkit

3D Tune-In Toolkit is a standard C++ library for audio spatialization via headphones. It was developed within the 3D Tune-In project aiming at using 3D sound and simulating hearing loss and hearing aids within virtual environments and games.

Application: Anaglyph VST

Anaglyph VST is a VST effect plugin for binaural rendering with SOFA files in a digital-audio workstation. Anaglyph includes a personalizable morphological ITD model, near-field ILD corrections, and HRTF parallax selection, among other features.

Retrieved from 'https://www.sofaconventions.org/mediawiki/index.php?title=Software_and_APIs&oldid=2165'