SAF
saf.h File Reference

Main include header for the Spatial_Audio_Framework (SAF) More...

Go to the source code of this file.

Macros

#define SAF_LICENSE_STRING   "GNU GPLv2"
 The Spatial_Audio_Framework is governed by the GNU GPLv2 License. More...
 
#define SAF_VERSION_MAJOR   1
 Major version. More...
 
#define SAF_VERSION_MINOR   3
 Minor version. More...
 
#define SAF_VERSION_PATCH   0
 Patch version. More...
 
#define SAF_VERSION_SPECIAL   ""
 Append text ("alpha", "beta", "") More...
 
#define MKSTRING_(s)   #s
 Stringify. More...
 
#define MKSTRING(s)   MKSTRING_(s)
 Stringify. More...
 
#define SAF_VERSION
 The Spatial_Audio_Framework Version as a number. More...
 
#define SAF_VERSION_STRING
 The Spatial_Audio_Framework Version as a string. More...
 
#define SAF_VERSION_LICENSE_STRING
 The Spatial_Audio_Framework Version and License as a string. More...
 
#define SAF_VERSION_BANNER
 The Spatial_Audio_Framework Version and License as a banner. More...
 
#define SAF_UTILITIES_MODULE
 SAF Module: Utilities. More...
 
#define SAF_CDF4SAP_MODULE
 SAF Module: CDf4SAP. More...
 
#define SAF_HOA_MODULE
 SAF Module: HOA. More...
 
#define SAF_HRIR_MODULE
 SAF Module: HRIR. More...
 
#define SAF_REVERB_MODULE
 SAF Module: Reverb. More...
 
#define SAF_SH_MODULE
 SAF Module: SH. More...
 
#define SAF_VBAP_MODULE
 SAF Module: VBAP. More...
 
#define SAF_SOFA_READER_MODULE
 SAF Module: SOFA_Reader. More...
 
#define SAF_TRACKER_MODULE
 SAF Module: Tracker. More...
 
#define SAF_HADES_MODULE
 SAF Module: HADES. More...
 

Detailed Description

Main include header for the Spatial_Audio_Framework (SAF)

Core modules (ISC License)

saf_utilities, saf_cdf4sap, saf_hoa, saf_hrir, saf_sh, saf_vbap, saf_reverb

Optional modules

saf_sofa_reader (ISC License), saf_tracker (GPLv2 License)

Author
Leo McCormack
Date
06.04.2018
License
Mixed (module dependent)

Definition in file saf.h.

Macro Definition Documentation

◆ MKSTRING

#define MKSTRING (   s)    MKSTRING_(s)

Stringify.

Definition at line 99 of file saf.h.

◆ MKSTRING_

#define MKSTRING_ (   s)    #s

Stringify.

Definition at line 98 of file saf.h.

◆ SAF_CDF4SAP_MODULE

#define SAF_CDF4SAP_MODULE

SAF Module: CDf4SAP.

Covariance Domain Framework for Spatial Audio Processing (CDF4SAP). A C implementation of the framework described in [1].

Dependencies

saf_utilities.h

See also
[1] Vilkamo, J., Backstrom, T., & Kuntz, A. (2013). Optimized covariance domain framework for time–frequency processing of spatial audio. Journal of the Audio Engineering Society, 61(6), 403-411.
License
ISC

Definition at line 163 of file saf.h.

◆ SAF_HADES_MODULE

#define SAF_HADES_MODULE

SAF Module: HADES.

HADES is a framework for parametric binaural rendering of sound scenes captured by microphone arrays. The emphasis is on the use of head-worn microphone arrays, for example, those that may be integrated into augmented reality devices or future binaural hearing aids.

Enable instructions

Add this pre-processor definition to your project to enable this module: SAF_ENABLE_HADES_MODULE

Dependencies

saf_utilities.h, saf_vbap.h, saf_hrir.h, saf_cdf4sap.h

License
GNU GPLv2

Definition at line 308 of file saf.h.

◆ SAF_HOA_MODULE

#define SAF_HOA_MODULE

SAF Module: HOA.

A collection of higher-order Ambisonics related functions; many of which are derived from the Matlab library found in [1] (BSD-3-Clause License).

Dependencies

saf_utilities.h, saf_vbap.h, saf_sh.h

See also
[1] https://github.com/polarch/Higher-Order-Ambisonics
License
ISC

Definition at line 179 of file saf.h.

◆ SAF_HRIR_MODULE

#define SAF_HRIR_MODULE

SAF Module: HRIR.

A collection of head-related impulse-response (HRIR) functions; including: estimation of the interaural time differences (ITDs), conversion of HRIRs to HRTF filterbank coefficients, and HRTF interpolation.

Dependencies

saf_utilities.h

License
ISC

Definition at line 194 of file saf.h.

◆ SAF_LICENSE_STRING

#define SAF_LICENSE_STRING   "GNU GPLv2"

The Spatial_Audio_Framework is governed by the GNU GPLv2 License.

Definition at line 82 of file saf.h.

◆ SAF_REVERB_MODULE

#define SAF_REVERB_MODULE

SAF Module: Reverb.

A collection of reverb and room simulation algorithms.

Dependencies

saf_utilities.h, saf_sh.h

License
ISC

Definition at line 207 of file saf.h.

◆ SAF_SH_MODULE

#define SAF_SH_MODULE

SAF Module: SH.

A collection of spherical harmonic related functions; many of which have been derived from the Matlab libraries found in [1-3] (BSD-3-Clause License).

Dependencies

saf_utilities.h

See also
[1] https://github.com/polarch/Spherical-Harmonic-Transform
[2] https://github.com/polarch/Array-Response-Simulator
[3] https://github.com/polarch/Spherical-Array-Processing
License
ISC

Definition at line 225 of file saf.h.

◆ SAF_SOFA_READER_MODULE

#define SAF_SOFA_READER_MODULE

SAF Module: SOFA_Reader.

A simple SOFA file reader, which either wraps around the libmysofa library [1], or instead directly employs the netcdf library (if SAF_ENABLE_NETCDF is defined).

Enable instructions

Add this pre-processor definition to your project to enable this module: SAF_ENABLE_SOFA_READER_MODULE Optionally, if SAF_ENABLE_NETCDF is defined, then the netcdf library must also be linked to your project.

Dependencies

saf_utilities.h, saf_hrir.h, zlib, netcdf (optional)

See also
[1] https://github.com/hoene/libmysofa
License
ISC

Definition at line 269 of file saf.h.

◆ SAF_TRACKER_MODULE

#define SAF_TRACKER_MODULE

SAF Module: Tracker.

Particle filtering based tracker.

Enable instructions

Add this pre-processor definition to your project to enable this module: SAF_ENABLE_TRACKER_MODULE

Dependencies

saf_utilities.h

License
GNU GPLv2

Definition at line 287 of file saf.h.

◆ SAF_UTILITIES_MODULE

#define SAF_UTILITIES_MODULE

SAF Module: Utilities.

A collection of useful utility functions, including: cross-platform complex number wrappers; optimised linear algebra routines based on CBLAS and LAPACK; FFT wrappers and STFT implementation; IIR/FIR filter coefficients and filter bank designs; lists of common loudspeaker and microphone array coordinates; multi-channel and matrix convolvers; spherical Bessel/Hankel functions (including their derivatives); etc.

Dependencies

The following resources: afSTFTlib.h, convhull_3d.h, kiss_fft.h, md_malloc.h, zlib.h

License
ISC

Definition at line 145 of file saf.h.

◆ SAF_VBAP_MODULE

#define SAF_VBAP_MODULE

SAF Module: VBAP.

VBAP functions largely derived from the Matlab library found in [1] (BSD-3-Clause License).

Dependencies

saf_utilities.h

See also
[1] https://github.com/polarch/Vector-Base-Amplitude-Panning
License
ISC

Definition at line 241 of file saf.h.

◆ SAF_VERSION

#define SAF_VERSION
Value:
((SAF_VERSION_MAJOR << 16) + (SAF_VERSION_MINOR << 8) + \
SAF_VERSION_PATCH)
#define SAF_VERSION_MINOR
Minor version.
Definition: saf.h:95
#define SAF_VERSION_MAJOR
Major version.
Definition: saf.h:94

The Spatial_Audio_Framework Version as a number.

Definition at line 102 of file saf.h.

◆ SAF_VERSION_BANNER

#define SAF_VERSION_BANNER
Value:
" _____ _____ _____ \n" \
" ( ____ ) ( ___ ) ( ____ ) \n" \
" | ( __ |/ | ( _ ) | | ( _ |/ \n" \
" (_____ ) | ___ | | __) \n" \
" /|____) | | | | | | | \n" \
" (_______) |_| |_| |_| (Version: " SAF_VERSION_STRING ", License:" \
" " SAF_LICENSE_STRING ") \n"
#define SAF_LICENSE_STRING
The Spatial_Audio_Framework is governed by the GNU GPLv2 License.
Definition: saf.h:82
#define SAF_VERSION_STRING
The Spatial_Audio_Framework Version as a string.
Definition: saf.h:106

The Spatial_Audio_Framework Version and License as a banner.

Definition at line 115 of file saf.h.

◆ SAF_VERSION_LICENSE_STRING

#define SAF_VERSION_LICENSE_STRING
Value:
"SAF Version: " SAF_VERSION_STRING \
", License: " SAF_LICENSE_STRING "\n"

The Spatial_Audio_Framework Version and License as a string.

Definition at line 111 of file saf.h.

◆ SAF_VERSION_MAJOR

#define SAF_VERSION_MAJOR   1

Major version.

Definition at line 94 of file saf.h.

◆ SAF_VERSION_MINOR

#define SAF_VERSION_MINOR   3

Minor version.

Definition at line 95 of file saf.h.

◆ SAF_VERSION_PATCH

#define SAF_VERSION_PATCH   0

Patch version.

Definition at line 96 of file saf.h.

◆ SAF_VERSION_SPECIAL

#define SAF_VERSION_SPECIAL   ""

Append text ("alpha", "beta", "")

Definition at line 97 of file saf.h.

◆ SAF_VERSION_STRING

#define SAF_VERSION_STRING
Value:
#define MKSTRING(s)
Stringify.
Definition: saf.h:99
#define SAF_VERSION_SPECIAL
Append text ("alpha", "beta", "")
Definition: saf.h:97
#define SAF_VERSION_PATCH
Patch version.
Definition: saf.h:96

The Spatial_Audio_Framework Version as a string.

Definition at line 106 of file saf.h.