33#ifndef __SAF_HRIR_H_INCLUDED__ 
   34#define __SAF_HRIR_H_INCLUDED__ 
  114                        float_complex* hrtf_fb);
 
  142                     float_complex* hrtf_fb);
 
  162                 float_complex* hrtfs);
 
  194                               float_complex* hrtfs);
 
  228                 float_complex* hrtfs,
 
  236                 float_complex* hrtf_interp);
 
  255                              float_complex* hrtfs,
 
const int __default_N_hrir_dirs
The number of directions/measurements in the default HRIR dataset.
 
const float __default_hrirs[836][2][256]
The default HRIR data for SAF.
 
const float __default_hrir_dirs_deg[836][2]
The measurement directions used for the default HRIR dataset.
 
const int __default_hrir_len
The length of the filters, in samples, for the default HRIR dataset.
 
void HRIRs2HRTFs(float *hrirs, int N_dirs, int hrir_len, int fftSize, float_complex *hrtfs)
Converts HRIRs to HRTFs for a given FFT size.
 
const int __default_hrir_fs
The samplerate used to measure the default HRIR filters.
 
void diffuseFieldEqualiseHRTFs(int N_dirs, float *itds_s, float *centreFreq, int N_bands, float *weights, int applyEQ, int applyPhase, float_complex *hrtfs)
Applies pre-processing to a set of HRTFs, which can either be diffuse-field EQ of an (optionally weig...
 
void resampleHRIRs(float *hrirs_in, int hrirs_N_dirs, int hrirs_in_len, int hrirs_in_fs, int hrirs_out_fs, int padToNextPow2, float **hrirs_out, int *hrirs_out_len)
Resamples a set of HRIRs from its original samplerate to a new samplerate.
 
void interpHRTFs(float_complex *hrtfs, float *itds, float *freqVector, float *interp_table, int N_hrtf_dirs, int N_bands, int N_interp_dirs, float_complex *hrtf_interp)
Interpolates a set of HRTFs based on a specified interpolation table.
 
void binauralDiffuseCoherence(float_complex *hrtfs, float *itds, float *freqVector, int N_hrtf_dirs, int N_bands, float *HRTFcoh)
Computes the binaural diffuse coherence per frequency for a given HRTF set, as described in [1].
 
void HRIRs2HRTFs_qmf(float *hrirs, int N_dirs, int hrir_len, int hopsize, int hybridmode, float_complex *hrtf_fb)
Passes zero padded HRIRs through the qmf filterbank.
 
void estimateITDs(float *hrirs, int N_dirs, int hrir_len, int fs, float *itds_s)
Estimates the interaural time-differences (ITDs) for each HRIR based on the cross-correlation between...
 
void HRIRs2HRTFs_afSTFT(float *hrirs, int N_dirs, int hrir_len, int hopsize, int LDmode, int hybridmode, float_complex *hrtf_fb)
Passes zero padded HRIRs through the afSTFT filterbank.
 
Contains wrappers for handling complex numbers across both C99-compliant compilers and Microsoft Visu...