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.
 
#define SAF_VERSION_MAJOR   1
 Major version.
 
#define SAF_VERSION_MINOR   2
 Minor version.
 
#define SAF_VERSION_PATCH   1
 Patch version.
 
#define SAF_VERSION_SPECIAL   ""
 Append text ("alpha", "beta", "")
 
#define MKSTRING_(s)   #s
 Stringify.
 
#define MKSTRING(s)   MKSTRING_(s)
 Stringify.
 
#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...
 

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

◆ 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 161 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 177 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 192 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 205 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 223 of file saf.h.

◆ SAF_SOFA_READER_MODULE

#define SAF_SOFA_READER_MODULE

SAF Module: SOFA_Reader.

A simple SOFA file reader that returns only the bare minimum needed to load HRIR data.

Enable instructions

Add this pre-processor definition to your project: SAF_ENABLE_SOFA_READER_MODULE and ensure that the netcdf library is also linked to your project. More information can be found in: docs/SOFA_READER_MODULE_DEPENDENCIES.md

Dependencies

saf_utilities.h, saf_hrir.h, netcdf

License
ISC

Definition at line 265 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: SAF_ENABLE_TRACKER_MODULE

Dependencies

saf_utilities.h

License
GNU GPLv2

Definition at line 283 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

License
ISC

Definition at line 143 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 239 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:93
#define SAF_VERSION_MAJOR
Major version.
Definition: saf.h:92

The Spatial_Audio_Framework Version as a number.

Definition at line 100 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\n"
#define SAF_LICENSE_STRING
The Spatial_Audio_Framework is governed by the GNU GPLv2 License.
Definition: saf.h:80
#define SAF_VERSION_STRING
The Spatial_Audio_Framework Version as a string.
Definition: saf.h:104

The Spatial_Audio_Framework Version and License as a banner.

Definition at line 113 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 109 of file saf.h.

◆ SAF_VERSION_STRING

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

The Spatial_Audio_Framework Version as a string.

Definition at line 104 of file saf.h.