SAF
|
Main structure for hades synthesis. More...
#include <saf_hades_internal.h>
Data Fields | |
HADES_BEAMFORMER_TYPE | beamOption |
see HADES_BEAMFORMER_TYPE | |
int | enableCM |
Flag: whether the spatial covariance matching is enabled (1) or disabled (0) | |
hades_binaural_config * | binConfig |
Internal copy of user configuration. | |
int | refIndices [2] |
Indices into [0 nMics-1], defining the reference sensors. | |
HADES_HRTF_INTERP_OPTIONS | interpOption |
HRIR interpolation option, see HADES_HRTF_INTERP_OPTIONS. | |
float * | eq |
Gain factor per band; nBands x 1. | |
float * | streamBalance |
Stream balance per band (0:fully diffuse, 1:balanced, 2:fully direct); nBands x 1. | |
float | synAvgCoeff |
Mixing matrix averaging coefficent [0..1]. | |
HADES_FILTERBANKS | fbOpt |
Filterbank option, see HADES_FILTERBANKS. | |
int | nBands |
Number of bands in the time-frequency transform domain. | |
int | hopsize |
hopsize in samples | |
int | blocksize |
blocksize in samples | |
int | nGrid |
Number of grid/scanning directions. | |
int | nMics |
Number of microphones. | |
float_complex * | H_array |
Array IRs in the frequency domain; FLAT: nBands x nMics x nGrid. | |
float * | grid_dirs_deg |
Array grid dirs in degrees; FLAT: nGrid x 2. | |
float ** | grid_dirs_xyz |
Grid dirs as Cartesian coordinates of unit length; nGrid x 3. | |
int | timeSlots |
Number of time frames in the time-frequency transform domain. | |
float * | freqVector |
Frequency vector (band centre frequencies); nBands x 1. | |
float_complex * | DCM_array |
Diffuse coherence matrix for the array; FLAT: nBands x nMics x nMics. | |
float_complex * | W |
Diffuse integration weighting matrix; FLAT: nGrid x nGrid. | |
void * | hFB_dec |
Filterbank handle. | |
float_complex * | H_bin |
To spatialise the source beamformers; FLAT: nBands x NUM_EARS x nGrid. | |
float_complex * | DCM_bin_norm |
Diffuse coherence matrix for the HRTF set, normalised with 1/trace(DCM_bin); FLAT: nBands x nMics x nMics. | |
float * | diffEQ |
EQ curve to bring the overall diffuse-field magnitude response of the array to that of the HRTFs instead; nBands x 1. | |
void * | hPinv |
Handle for computing the Moore-Penrose pseudo inverse. | |
void * | hLinSolve |
Handle for solving linear equations (Ax=b) | |
void * | hCDF |
Handle for solving the covariance matching problem. | |
float_complex * | As |
Array steering vector for DoA; FLAT: nMics x 1. | |
float_complex * | As_l |
Array steering vector relative to left reference sensor; FLAT: nMics x 1. | |
float_complex * | As_r |
Array steering vector relative to right reference sensor; FLAT: nMics x 1. | |
float_complex * | Q_diff |
Mixing matrix for the diffuse stream; FLAT: NUM_EARS x nMics. | |
float_complex * | Q_dir |
Mixing matrix for the direct stream; FLAT: NUM_EARS x nMics. | |
float_complex * | Q |
Mixing matrix for the direct and diffuse streams combined (based on the diffuseness value); FLAT: NUM_EARS x nMics. | |
float_complex * | Cy |
Target binaural spatial covariance matrix; FLAT: NUM_EARS x NUM_EARS. | |
float_complex * | new_M |
New mixing matrix (not yet temporally averaged); FLAT: NUM_EARS x nMics. | |
float_complex ** | M |
Mixing matrix per band; nBands x FLAT: (NUM_EARS x nMics) | |
float_complex *** | outTF |
nBands x NUM_EARS x timeSlots | |
float ** | outTD |
output time-domain buffer; NUM_EARS x blocksize | |
Main structure for hades synthesis.
Definition at line 111 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::As |
Array steering vector for DoA; FLAT: nMics x 1.
Definition at line 152 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::As_l |
Array steering vector relative to left reference sensor; FLAT: nMics x 1.
Definition at line 153 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::As_r |
Array steering vector relative to right reference sensor; FLAT: nMics x 1.
Definition at line 154 of file saf_hades_internal.h.
HADES_BEAMFORMER_TYPE hades_synthesis_data::beamOption |
Definition at line 114 of file saf_hades_internal.h.
hades_binaural_config* hades_synthesis_data::binConfig |
Internal copy of user configuration.
Definition at line 116 of file saf_hades_internal.h.
int hades_synthesis_data::blocksize |
blocksize in samples
Definition at line 129 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::Cy |
Target binaural spatial covariance matrix; FLAT: NUM_EARS x NUM_EARS.
Definition at line 158 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::DCM_array |
Diffuse coherence matrix for the array; FLAT: nBands x nMics x nMics.
Definition at line 137 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::DCM_bin_norm |
Diffuse coherence matrix for the HRTF set, normalised with 1/trace(DCM_bin); FLAT: nBands x nMics x nMics.
Definition at line 145 of file saf_hades_internal.h.
float* hades_synthesis_data::diffEQ |
EQ curve to bring the overall diffuse-field magnitude response of the array to that of the HRTFs instead; nBands x 1.
Definition at line 146 of file saf_hades_internal.h.
int hades_synthesis_data::enableCM |
Flag: whether the spatial covariance matching is enabled (1) or disabled (0)
Definition at line 115 of file saf_hades_internal.h.
float* hades_synthesis_data::eq |
Gain factor per band; nBands x 1.
Definition at line 121 of file saf_hades_internal.h.
HADES_FILTERBANKS hades_synthesis_data::fbOpt |
Filterbank option, see HADES_FILTERBANKS.
Definition at line 126 of file saf_hades_internal.h.
float* hades_synthesis_data::freqVector |
Frequency vector (band centre frequencies); nBands x 1.
Definition at line 136 of file saf_hades_internal.h.
float* hades_synthesis_data::grid_dirs_deg |
Array grid dirs in degrees; FLAT: nGrid x 2.
Definition at line 133 of file saf_hades_internal.h.
float** hades_synthesis_data::grid_dirs_xyz |
Grid dirs as Cartesian coordinates of unit length; nGrid x 3.
Definition at line 134 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::H_array |
Array IRs in the frequency domain; FLAT: nBands x nMics x nGrid.
Definition at line 132 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::H_bin |
To spatialise the source beamformers; FLAT: nBands x NUM_EARS x nGrid.
Definition at line 144 of file saf_hades_internal.h.
void* hades_synthesis_data::hCDF |
Handle for solving the covariance matching problem.
Definition at line 151 of file saf_hades_internal.h.
void* hades_synthesis_data::hFB_dec |
Filterbank handle.
Definition at line 141 of file saf_hades_internal.h.
void* hades_synthesis_data::hLinSolve |
Handle for solving linear equations (Ax=b)
Definition at line 150 of file saf_hades_internal.h.
int hades_synthesis_data::hopsize |
hopsize in samples
Definition at line 128 of file saf_hades_internal.h.
void* hades_synthesis_data::hPinv |
Handle for computing the Moore-Penrose pseudo inverse.
Definition at line 149 of file saf_hades_internal.h.
HADES_HRTF_INTERP_OPTIONS hades_synthesis_data::interpOption |
HRIR interpolation option, see HADES_HRTF_INTERP_OPTIONS.
Definition at line 118 of file saf_hades_internal.h.
float_complex** hades_synthesis_data::M |
Mixing matrix per band; nBands x FLAT: (NUM_EARS x nMics)
Definition at line 160 of file saf_hades_internal.h.
int hades_synthesis_data::nBands |
Number of bands in the time-frequency transform domain.
Definition at line 127 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::new_M |
New mixing matrix (not yet temporally averaged); FLAT: NUM_EARS x nMics.
Definition at line 159 of file saf_hades_internal.h.
int hades_synthesis_data::nGrid |
Number of grid/scanning directions.
Definition at line 130 of file saf_hades_internal.h.
int hades_synthesis_data::nMics |
Number of microphones.
Definition at line 131 of file saf_hades_internal.h.
float** hades_synthesis_data::outTD |
output time-domain buffer; NUM_EARS x blocksize
Definition at line 164 of file saf_hades_internal.h.
float_complex*** hades_synthesis_data::outTF |
nBands x NUM_EARS x timeSlots
Definition at line 163 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::Q |
Mixing matrix for the direct and diffuse streams combined (based on the diffuseness value); FLAT: NUM_EARS x nMics.
Definition at line 157 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::Q_diff |
Mixing matrix for the diffuse stream; FLAT: NUM_EARS x nMics.
Definition at line 155 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::Q_dir |
Mixing matrix for the direct stream; FLAT: NUM_EARS x nMics.
Definition at line 156 of file saf_hades_internal.h.
int hades_synthesis_data::refIndices[2] |
Indices into [0 nMics-1], defining the reference sensors.
Definition at line 117 of file saf_hades_internal.h.
float* hades_synthesis_data::streamBalance |
Stream balance per band (0:fully diffuse, 1:balanced, 2:fully direct); nBands x 1.
Definition at line 122 of file saf_hades_internal.h.
float hades_synthesis_data::synAvgCoeff |
Mixing matrix averaging coefficent [0..1].
Definition at line 123 of file saf_hades_internal.h.
int hades_synthesis_data::timeSlots |
Number of time frames in the time-frequency transform domain.
Definition at line 135 of file saf_hades_internal.h.
float_complex* hades_synthesis_data::W |
Diffuse integration weighting matrix; FLAT: nGrid x nGrid.
Definition at line 138 of file saf_hades_internal.h.