▼ examples | |
▼ include | |
_common.h | A bunch of things that are common to many of the saf examples |
ambi_bin.h | A binaural Ambisonic decoder for reproducing Ambisonic sound scenes over headphones |
ambi_dec.h | A frequency-dependent Ambisonic decoder for reproducing Ambisonic sound scenes over loudspeakers |
ambi_drc.h | A frequency-dependent Ambisonic sound scene dynamic range compressor (DRC) |
ambi_enc.h | A basic Ambisonic encoder |
ambi_roomsim.h | A simple shoebox room Ambisonic encoder |
array2sh.h | Spatially encodes spherical microphone array signals into spherical harmonic signals (aka: Ambisonic signals) utilising theoretical encoding filters |
beamformer.h | Generates beamformers/virtual microphones in arbitrary directions with several different beam patterns to choose from |
binauraliser.h | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain |
binauraliser_nf.h | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain, and applies optional near-field binaural filtering, as described in [1] |
decorrelator.h | A multi-channel decorrelator |
dirass.h | A sound-field visualiser based on the directional re-assignment of beamformer energy based on local DoA estimates [1,2] |
matrixconv.h | A standard matrix convolver |
multiconv.h | A multi-channel convolver |
panner.h | A frequency-dependent 3D panner based on the Vector-base Amplitude Panning (VBAP) method [1], with an optional spread control [2] |
pitch_shifter.h | A very basic multichannel pitch shifter |
powermap.h | A sound-field visualiser, which utilises spherical harmonic signals as input; note this code is a remnant from the work conducted in [1] |
rotator.h | A basic spherical harmonic/ Ambisonic signals rotator, based on the recursive approach detailed in [1] |
sldoa.h | A spatially-localised active-intensity (SLAI) based direction-of- arrival estimator (SLDoA) |
spreader.h | An arbitrary array panner (HRIRs, microphone array IRs, etc.) with coherent and incoherent spreading modes, as described in [1] |
tvconv.h | A time-varying multi-channel convolver |
▼ src | |
► ambi_bin | |
ambi_bin.c | A binaural Ambisonic decoder for reproducing Ambisonic sound scenes over headphones |
ambi_bin_internal.c | A binaural Ambisonic decoder for reproducing Ambisonic sound scenes over headphones |
ambi_bin_internal.h | A binaural Ambisonic decoder for reproducing Ambisonic sound scenes over headphones |
► ambi_dec | |
ambi_dec.c | A frequency-dependent Ambisonic decoder for reproducing Ambisonic sound scenes over loudspeakers |
ambi_dec_internal.c | A frequency-dependent Ambisonic decoder for reproducing Ambisonic sound scenes over loudspeakers |
ambi_dec_internal.h | A frequency-dependent Ambisonic decoder for reproducing Ambisonic sound scenes over loudspeakers |
► ambi_drc | |
ambi_drc.c | A frequency-dependent Ambisonic sound scene dynamic range compressor (DRC) |
ambi_drc_internal.c | A frequency-dependent Ambisonic sound scene dynamic range compressor (DRC) |
ambi_drc_internal.h | A frequency-dependent Ambisonic sound scene dynamic range compressor (DRC) |
► ambi_enc | |
ambi_enc.c | A basic Ambisonic encoder |
ambi_enc_internal.c | A basic Ambisonic encoder |
ambi_enc_internal.h | A basic Ambisonic encoder |
► ambi_roomsim | |
ambi_roomsim.c | A simple shoebox room Ambisonic encoder |
ambi_roomsim_internal.c | A simple shoebox room Ambisonic encoder |
ambi_roomsim_internal.h | A simple shoebox room Ambisonic encoder |
► array2sh | |
array2sh.c | Spatially encodes spherical microphone array signals into spherical harmonic signals (aka: Ambisonic signals) utilising theoretical encoding filters |
array2sh_internal.c | Spatially encodes spherical microphone array signals into spherical harmonic signals (aka: Ambisonic signals) utilising theoretical encoding filters |
array2sh_internal.h | Spatially encodes spherical microphone array signals into spherical harmonic signals (aka: Ambisonic signals) utilising theoretical encoding filters |
► beamformer | |
beamformer.c | Generates beamformers/virtual microphones in arbitrary directions with several different beam patterns to choose from |
beamformer_internal.c | Generates beamformers/virtual microphones in arbitrary directions with several different beam patterns to choose from |
beamformer_internal.h | Generates beamformers/virtual microphones in arbitrary directions with several different beam patterns to choose from |
► binauraliser | |
binauraliser.c | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain |
binauraliser_internal.c | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain |
binauraliser_internal.h | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain |
► binauraliser_nf | |
binauraliser_nf.c | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain, and applies optional near-field binaural filtering, as described in [1] |
binauraliser_nf_internal.c | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain, and applies optional near-field binaural filtering, as described in [1] |
binauraliser_nf_internal.h | Convolves input audio (up to 64 channels) with interpolated HRTFs in the time-frequency domain, and applies optional near-field binaural filtering, as described in [1] |
► decorrelator | |
decorrelator.c | A multi-channel decorrelator |
decorrelator_internal.c | A multi-channel decorrelator |
decorrelator_internal.h | A multi-channel decorrelator |
► dirass | |
dirass.c | A sound-field visualiser based on the directional re-assignment of beamformer energy based on local DoA estimates [1,2] |
dirass_internal.c | A sound-field visualiser based on the directional re-assignment of beamformer energy based on local DoA estimates [1,2] |
dirass_internal.h | A sound-field visualiser based on the directional re-assignment of beamformer energy based on local DoA estimates [1,2] |
► matrixconv | |
matrixconv.c | A standard matrix convolver |
matrixconv_internal.c | A standard matrix convolver |
matrixconv_internal.h | A standard matrix convolver |
► multiconv | |
multiconv.c | A multi-channel convolver |
multiconv_internal.c | A multi-channel convolver |
multiconv_internal.h | A multi-channel convolver |
► panner | |
panner.c | A frequency-dependent 3D panner based on the Vector-base Amplitude Panning (VBAP) method [1], with an optional spread control [2] |
panner_internal.c | A frequency-dependent 3D panner based on the Vector-base Amplitude Panning (VBAP) method [1], with an optional spread control [2] |
panner_internal.h | A frequency-dependent 3D panner based on the Vector-base Amplitude Panning (VBAP) method [1], with an optional spread control [2] |
► pitch_shifter | |
pitch_shifter.c | A very basic multichannel pitch shifter |
pitch_shifter_internal.c | A very basic multichannel pitch shifter |
pitch_shifter_internal.h | A very basic multichannel pitch shifter |
► powermap | |
powermap.c | A sound-field visualiser, which utilises spherical harmonic signals as input; note this code is a remnant from the work conducted in [1] |
powermap_internal.c | A sound-field visualiser, which utilises spherical harmonic signals as input; note this code is a remnant from the work conducted in [1] |
powermap_internal.h | A sound-field visualiser, which utilises spherical harmonic signals as input; note this code is a remnant from the work conducted in [1] |
► rotator | |
rotator.c | A basic spherical harmonic/ Ambisonic signals rotator, based on the recursive approach detailed in [1] |
rotator_internal.c | A basic spherical harmonic/ Ambisonic signals rotator, based on the recursive approach detailed in [1] |
rotator_internal.h | A basic spherical harmonic/ Ambisonic signals rotator, based on the recursive approach detailed in [1] |
► sldoa | |
sldoa.c | A spatially-localised active-intensity (SLAI) based direction-of- arrival estimator (SLDoA) |
sldoa_internal.c | A spatially-localised active-intensity (SLAI) based direction-of- arrival estimator (SLDoA) |
sldoa_internal.h | A spatially-localised active-intensity (SLAI) based direction-of- arrival estimator (SLDoA) |
► spreader | |
spreader.c | An arbitrary array panner (HRIRs, microphone array IRs, etc.) with coherent and incoherent spreading modes, as described in [1] |
spreader_internal.c | An arbitrary array panner (HRIRs, microphone array IRs, etc.) with coherent and incoherent spreading modes, as described in [1] |
spreader_internal.h | An arbitrary array panner (HRIRs, microphone array IRs, etc.) with coherent and incoherent spreading modes, as described in [1] |
► tvconv | |
tvconv.c | A time-varying multi-channel convolver |
tvconv_internal.c | A time-varying multi-channel convolver |
tvconv_internal.h | A time-varying multi-channel convolver |
▼ extras | |
▼ safmex | |
safmex.h | Main include header for safmex |
safmex_afSTFT.c | MEX wrapper for afSTFT (see the .m file of the same name for documentation) |
safmex_faf_IIRFilterbank.c | MEX wrapper for faf_IIRFilterbank (see the .m file of the same name for documentation) |
safmex_generateVBAPgainTable3D.c | MEX wrapper for generateVBAPgainTable3D (see the .m file of the same name for documentation) |
safmex_getSHcomplex.c | MEX wrapper for getSHcomplex (see the .m file of the same name for documentation) |
safmex_getSHreal.c | MEX wrapper for getSHreal (see the .m file of the same name for documentation) |
safmex_latticeDecorrelator.c | MEX wrapper for latticeDecorrelator (see the .m file of the same name for documentation) |
safmex_qmf.c | MEX wrapper for qmf (see the .m file of the same name for documentation) |
safmex_tracker3d.c | MEX wrapper for tracker3d (see the .m file of the same name for documentation) |
▼ framework | |
▼ include | |
saf.h | Main include header for the Spatial_Audio_Framework (SAF) |
saf_externals.h | Include header for SAF externals |
▼ modules | |
► saf_cdf4sap | |
saf_cdf4sap.c | Public source for the Covariance Domain Framework module (SAF_CDF4SAP_MODULE) |
saf_cdf4sap.h | Main header for the Covariance Domain Framework module (SAF_CDF4SAP_MODULE) |
► saf_hades | |
saf_hades.h | Main header for the HADES module (SAF_HADES_MODULE) |
saf_hades_analysis.c | Source file for the HADES analysis (SAF_HADES_MODULE) |
saf_hades_analysis.h | Header for the HADES analysis (SAF_HADES_MODULE) |
saf_hades_internal.c | Internal source for the HADES module (SAF_HADES_MODULE) |
saf_hades_internal.h | Internal header for the HADES module (SAF_HADES_MODULE) |
saf_hades_synthesis.c | Source file for the HADES synthesis (SAF_HADES_MODULE) |
saf_hades_synthesis.h | Header for the HADES synthesis (SAF_HADES_MODULE) |
► saf_hoa | |
saf_hoa.c | Public source for the higher-order Ambisonics module (SAF_HOA_MODULE) |
saf_hoa.h | Main header for the higher-order Ambisonics module (SAF_HOA_MODULE) |
saf_hoa_internal.c | Internal source for the higher-order Ambisonics module (SAF_HOA_MODULE) |
saf_hoa_internal.h | Internal header for the higher-order Ambisonics module (SAF_HOA_MODULE) |
► saf_hrir | |
saf_default_hrirs.c | Default HRIR data |
saf_hrir.c | Public source for the HRIR/HRTF processing module (SAF_HRIR_MODULE) |
saf_hrir.h | Main header for the HRIR/HRTF processing module (SAF_HRIR_MODULE) |
► saf_reverb | |
saf_reverb.c | Public source for the reverb processing module (SAF_REVERB_MODULE) |
saf_reverb.h | Main header for the reverb processing module (SAF_REVERB_MODULE) |
saf_reverb_internal.c | Internal source for the reverb processing module (SAF_REVERB_MODULE) |
saf_reverb_internal.h | Internal header for the reverb processing module (SAF_REVERB_MODULE) |
► saf_sh | |
saf_sh.c | Public source for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE) |
saf_sh.h | Main header for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE) |
saf_sh_internal.c | Internal source for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE) |
saf_sh_internal.h | Internal header for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE) |
► saf_sofa_reader | |
saf_sofa_reader.c | Public source for the sofa reader module (SAF_SOFA_READER_MODULE) |
saf_sofa_reader.h | Main header for the sofa reader module (SAF_SOFA_READER_MODULE) |
► saf_tracker | |
saf_tracker.c | Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE) |
saf_tracker.h | Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE) |
saf_tracker_internal.c | Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE) |
saf_tracker_internal.h | Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE) |
► saf_utilities | |
saf_utilities.h | Main header for the utilities module (SAF_UTILITIES_MODULE) |
saf_utility_bessel.c | A collection of routines for computing spherical and cylindrical Bessel and Hankel functions, including their derivatives |
saf_utility_bessel.h | A collection of routines for computing spherical and cylindrical Bessel and Hankel functions, including their derivatives |
saf_utility_complex.c | Contains wrappers for handling complex numbers across both C99-compliant compilers and Microsoft Visual Compiler (MSVC) |
saf_utility_complex.h | Contains wrappers for handling complex numbers across both C99-compliant compilers and Microsoft Visual Compiler (MSVC) |
saf_utility_decor.c | A collection of signal decorrelators |
saf_utility_decor.h | A collection of signal decorrelators |
saf_utility_dvf.c | Distance variation function filter coefficient data [1] |
saf_utility_dvf.h | Distance variation function filter coefficient data [1] |
saf_utility_fft.c | Wrappers for optimised discrete/fast Fourier transform (FFT) routines |
saf_utility_fft.h | Wrappers for optimised discrete/fast Fourier transform (FFT) routines |
saf_utility_filters.c | A collection of IIR/FIR filter and filterbank designs |
saf_utility_filters.h | A collection of IIR/FIR filter and filterbank designs |
saf_utility_geometry.c | A collection of computational geometry related functions |
saf_utility_geometry.h | A collection of computational geometry related functions |
saf_utility_latticeCoeffs.c | Lattice allpass coefficients which are useful for decorrelation |
saf_utility_loudspeaker_presets.c | A collection of loudspeaker array directions and (nearly) uniform spherical grids |
saf_utility_loudspeaker_presets.h | A collection of loudspeaker array directions and (nearly) uniform spherical grids |
saf_utility_matrixConv.c | Matrix and multi-channel convolvers |
saf_utility_matrixConv.h | Matrix and multi-channel convolvers |
saf_utility_misc.c | A collection of miscellaneous functions |
saf_utility_misc.h | A collection of miscellaneous functions |
saf_utility_pitch.c | A collection of pitch shifting algorithms |
saf_utility_pitch.h | A collection of pitch shifting algorithms |
saf_utility_qmf.c | An implementation of the complex Quadrature Mirror Filterbank (QMF) described in [1] |
saf_utility_qmf.h | An implementation of the complex Quadrature Mirror Filterbank (QMF) described in [1] |
saf_utility_sensorarray_presets.c | A collection of microphone array sensor directions |
saf_utility_sensorarray_presets.h | A collection of microphone array sensor directions |
saf_utility_sort.c | A collection of useful sorting functions |
saf_utility_sort.h | A collection of useful sorting functions |
saf_utility_veclib.c | Wrappers for optimised linear algebra routines, utilising CBLAS and LAPACK, and/or SIMD intrinsics |
saf_utility_veclib.h | Wrappers for optimised linear algebra routines, utilising CBLAS and LAPACK, and/or SIMD intrinsics |
► saf_vbap | |
saf_vbap.c | Public source for the VBAP/MDAP module (SAF_VBAP_MODULE) |
saf_vbap.h | Main header for the VBAP/MDAP module (SAF_VBAP_MODULE) |
saf_vbap_internal.c | Internal source for the VBAP/MDAP module (SAF_VBAP_MODULE) |
saf_vbap_internal.h | Internal header for the VBAP/MDAP module (SAF_VBAP_MODULE) |
▼ resources | |
► afSTFT | |
afSTFT_internal.c | A modified version of afSTFTlib |
afSTFT_internal.h | A modified version of afSTFTlib |
afSTFT_protoFilter.h | Prototype filter used by afSTFTlib |
afSTFTlib.c | A modified version of afSTFTlib |
afSTFTlib.h | A modified version of afSTFTlib |
► convhull_3d | |
convhull_3d.c | An implementation of the 3-D quickhull algorithm [1] |
convhull_3d.h | An implementation of the 3-D quickhull algorithm [1] |
► kissFFT | |
_kiss_fft_guts.h | KISS FFT internals, taken from: https://github.com/mborgerding/kissfft |
kiss_fft.c | KISS FFT, taken from: https://github.com/mborgerding/kissfft |
kiss_fft.h | The default complex <-> complex FFT |
kiss_fftr.c | KISS real FFT, taken from: https://github.com/mborgerding/kissfft |
kiss_fftr.h | The default real <-> half-complex FFT |
► md_malloc | |
md_malloc.c | Contiguous memory allocation functions for multi-dimensional arrays |
md_malloc.h | Contiguous memory allocation functions for multi-dimensional arrays |
► speex_resampler | |
arch.h | Various architecture definitions Speex |
os_support.h | Supported OSs for Speex resampler |
resample.c | Main source file for the Speex resampler |
resample_neon.h | Resampler functions (NEON version) |
resample_sse.h | Resampler functions (SSE version) |
speex_resampler.h | Main header file for the Speex resampler |
speexdsp_types.h | Speex types |
▼ test | |
▼ include | |
saf_test.h | Unit test program for the Spatial_Audio_Framework |
timer.h | |
unity.h | |
unity_internals.h | |
▼ src | |
saf_test.c | Unit test program for the Spatial_Audio_Framework |
test__cdf4sap_module.c | Unit tests for the SAF cdf4sap module |
test__examples.c | Unit tests for the SAF examples |
test__hades_module.c | Unit tests for the SAF HADES module |
test__hoa_module.c | Unit tests for the SAF hoa module |
test__hrir_module.c | Unit tests for the SAF hrir module |
test__resources.c | Unit tests for the SAF third-party resources |
test__reverb_module.c | Unit tests for the SAF reverb module |
test__sh_module.c | Unit tests for the SAF sh module |
test__sofa_reader_module.c | Unit tests for the SAF sofa reader module |
test__tracker_module.c | Unit tests for the SAF tracker module |
test__utilities_module.c | Unit tests for the SAF utilities module |
test__vbap_module.c | Unit tests for the SAF vbap module |