SAF
|
Main structure for spreader. More...
#include <spreader_internal.h>
Data Fields | |
float ** | inputFrameTD |
time-domain input frame; MAX_NUM_INPUTS x SPREADER_FRAME_SIZE | |
float ** | outframeTD |
time-domain output frame; MAX_NUM_OUTPUTS x SPREADER_FRAME_SIZE | |
float_complex *** | inputframeTF |
time-frequency domain input frame; HYBRID_BANDS x MAX_NUM_INPUTS x TIME_SLOTS | |
float_complex *** | protoframeTF |
time-frequency domain prototype frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS | |
float_complex *** | decorframeTF |
time-frequency domain decorrelated frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS | |
float_complex *** | spreadframeTF |
time-frequency domain spread frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS | |
float_complex *** | outputframeTF |
time-frequency domain output frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS | |
int | fs |
Host sampling rate, in Hz. | |
float | freqVector [HYBRID_BANDS] |
Frequency vector (filterbank centre frequencies) | |
void * | hSTFT |
afSTFT handle | |
int | Q |
Number of channels in the target playback setup; for example: 2 for binaural. | |
int | nGrid |
Number of directions/measurements/HRTFs etc. | |
int | h_len |
Length of time-domain filters, in samples. | |
float | h_fs |
Sample rate used to measure the filters. | |
float * | h_grid |
FLAT: nGrid x Q x h_len. | |
float_complex * | H_grid |
FLAT: HYBRID_BANDS x Q x nGrid. | |
float_complex ** | HHH [HYBRID_BANDS] |
Pre-computed array outer-products; HYBRID_BANDS x nGrid x FLAT: (Q x Q) | |
float * | grid_dirs_deg |
Grid directions, in degrees; FLAT: nGrid x 2. | |
float * | grid_dirs_xyz |
Grid directions as unit-length Cartesian coordinates; FLAT: nGrid x 3. | |
float * | weights |
Integration weights; nGrid x 1. | |
void * | hDecor [SPREADER_MAX_NUM_SOURCES] |
handles for decorrelators | |
float * | angles |
angles; nGrid x 1 | |
float_complex ** | Cproto [SPREADER_MAX_NUM_SOURCES] |
Current prototype covariance matrices; HYBRID_BANDS x FLAT:(Q x Q) | |
float_complex ** | Cy [SPREADER_MAX_NUM_SOURCES] |
Target covariance matrices; HYBRID_BANDS x FLAT:(Q x Q) | |
float_complex ** | prev_M [SPREADER_MAX_NUM_SOURCES] |
previous mixing matrices; HYBRID_BANDS x FLAT:(Q x Q) | |
float ** | prev_Mr [SPREADER_MAX_NUM_SOURCES] |
previous residual mixing matrices; HYBRID_BANDS x FLAT:(Q x Q) | |
float_complex ** | new_M |
mixing matrices; HYBRID_BANDS x FLAT:(Q x Q) | |
float ** | new_Mr |
residual mixing matrices; HYBRID_BANDS x FLAT:(Q x Q) | |
float_complex * | interp_M |
Interpolated mixing matrix; FLAT:(Q x Q) | |
float * | interp_Mr |
Interpolated residual mixing matrix; FLAT:(Q x Q) | |
float_complex * | interp_Mr_cmplx |
Complex variant of interp_Mr. | |
float | interpolatorFadeIn [TIME_SLOTS] |
Linear Interpolator - Fade in. | |
float | interpolatorFadeOut [TIME_SLOTS] |
Linear Interpolator - Fade out. | |
int * | dirActive [SPREADER_MAX_NUM_SOURCES] |
1: IR direction currently used for spreading, 0: not | |
void * | hCdf |
covariance domain framework handle | |
void * | hCdf_res |
covariance domain framework handle for the residual | |
float * | Qmix |
Identity; FLAT: Q x Q. | |
float_complex * | Qmix_cmplx |
Identity; FLAT: Q x Q. | |
float * | Cr |
Residual covariance; FLAT: Q x Q. | |
float_complex * | Cr_cmplx |
Residual covariance; FLAT: Q x Q. | |
float_complex * | _tmpFrame |
float_complex * | _H_tmp |
float_complex * | _Cy |
float_complex * | _E_dir |
float_complex * | _V |
float_complex * | _D |
float_complex * | _Cproto |
CODEC_STATUS | codecStatus |
see CODEC_STATUS | |
float | progressBar0_1 |
Current (re)initialisation progress, between [0..1]. | |
char * | progressBarText |
Current (re)initialisation step, string. | |
PROC_STATUS | procStatus |
see PROC_STATUS | |
int | new_nSources |
New number of input signals (current value will be replaced by this after next re-init) | |
SPREADER_PROC_MODES | new_procMode |
See SPREADER_PROC_MODES (current value will be replaced by this after next re-init) | |
SPREADER_PROC_MODES | procMode |
See SPREADER_PROC_MODES. | |
char * | sofa_filepath |
SOFA file path. | |
int | nSources |
Current number of input signals. | |
float | src_spread [SPREADER_MAX_NUM_SOURCES] |
Source spreading, in degrees. | |
float | src_dirs_deg [SPREADER_MAX_NUM_SOURCES][2] |
Source directions, in degrees. | |
int | useDefaultHRIRsFLAG |
1: use default HRIRs in database, 0: use the measurements from SOFA file (can be anything, not just HRTFs) | |
float | covAvgCoeff |
Covariance matrix averaging coefficient, [0..1]. | |
Main structure for spreader.
Contains variables for audio buffers, afSTFT, HRTFs, internal variables, flags, user parameters
Definition at line 72 of file spreader_internal.h.
float_complex* spreader_data::_Cproto |
Definition at line 125 of file spreader_internal.h.
float_complex * spreader_data::_Cy |
Definition at line 123 of file spreader_internal.h.
float_complex * spreader_data::_D |
Definition at line 124 of file spreader_internal.h.
float_complex* spreader_data::_E_dir |
Definition at line 124 of file spreader_internal.h.
float_complex * spreader_data::_H_tmp |
Definition at line 123 of file spreader_internal.h.
float_complex* spreader_data::_tmpFrame |
Definition at line 123 of file spreader_internal.h.
float_complex * spreader_data::_V |
Definition at line 124 of file spreader_internal.h.
float* spreader_data::angles |
angles; nGrid x 1
Definition at line 98 of file spreader_internal.h.
CODEC_STATUS spreader_data::codecStatus |
see CODEC_STATUS
Definition at line 128 of file spreader_internal.h.
float spreader_data::covAvgCoeff |
Covariance matrix averaging coefficient, [0..1].
Definition at line 142 of file spreader_internal.h.
float_complex** spreader_data::Cproto[SPREADER_MAX_NUM_SOURCES] |
Current prototype covariance matrices; HYBRID_BANDS x FLAT:(Q x Q)
Definition at line 99 of file spreader_internal.h.
float* spreader_data::Cr |
Residual covariance; FLAT: Q x Q.
Definition at line 119 of file spreader_internal.h.
float_complex* spreader_data::Cr_cmplx |
Residual covariance; FLAT: Q x Q.
Definition at line 120 of file spreader_internal.h.
float_complex** spreader_data::Cy[SPREADER_MAX_NUM_SOURCES] |
Target covariance matrices; HYBRID_BANDS x FLAT:(Q x Q)
Definition at line 100 of file spreader_internal.h.
float_complex*** spreader_data::decorframeTF |
time-frequency domain decorrelated frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS
Definition at line 79 of file spreader_internal.h.
int* spreader_data::dirActive[SPREADER_MAX_NUM_SOURCES] |
1: IR direction currently used for spreading, 0: not
Definition at line 112 of file spreader_internal.h.
float spreader_data::freqVector[HYBRID_BANDS] |
Frequency vector (filterbank centre frequencies)
Definition at line 83 of file spreader_internal.h.
int spreader_data::fs |
Host sampling rate, in Hz.
Definition at line 82 of file spreader_internal.h.
float* spreader_data::grid_dirs_deg |
Grid directions, in degrees; FLAT: nGrid x 2.
Definition at line 94 of file spreader_internal.h.
float* spreader_data::grid_dirs_xyz |
Grid directions as unit-length Cartesian coordinates; FLAT: nGrid x 3.
Definition at line 95 of file spreader_internal.h.
float spreader_data::h_fs |
Sample rate used to measure the filters.
Definition at line 90 of file spreader_internal.h.
float_complex* spreader_data::H_grid |
FLAT: HYBRID_BANDS x Q x nGrid.
Definition at line 92 of file spreader_internal.h.
float* spreader_data::h_grid |
FLAT: nGrid x Q x h_len.
Definition at line 91 of file spreader_internal.h.
int spreader_data::h_len |
Length of time-domain filters, in samples.
Definition at line 89 of file spreader_internal.h.
void* spreader_data::hCdf |
covariance domain framework handle
Definition at line 115 of file spreader_internal.h.
void* spreader_data::hCdf_res |
covariance domain framework handle for the residual
Definition at line 116 of file spreader_internal.h.
void* spreader_data::hDecor[SPREADER_MAX_NUM_SOURCES] |
handles for decorrelators
Definition at line 97 of file spreader_internal.h.
float_complex** spreader_data::HHH[HYBRID_BANDS] |
Pre-computed array outer-products; HYBRID_BANDS x nGrid x FLAT: (Q x Q)
Definition at line 93 of file spreader_internal.h.
void* spreader_data::hSTFT |
afSTFT handle
Definition at line 84 of file spreader_internal.h.
float** spreader_data::inputFrameTD |
time-domain input frame; MAX_NUM_INPUTS x SPREADER_FRAME_SIZE
Definition at line 75 of file spreader_internal.h.
float_complex*** spreader_data::inputframeTF |
time-frequency domain input frame; HYBRID_BANDS x MAX_NUM_INPUTS x TIME_SLOTS
Definition at line 77 of file spreader_internal.h.
float_complex* spreader_data::interp_M |
Interpolated mixing matrix; FLAT:(Q x Q)
Definition at line 105 of file spreader_internal.h.
float* spreader_data::interp_Mr |
Interpolated residual mixing matrix; FLAT:(Q x Q)
Definition at line 106 of file spreader_internal.h.
float_complex* spreader_data::interp_Mr_cmplx |
Complex variant of interp_Mr.
Definition at line 107 of file spreader_internal.h.
float spreader_data::interpolatorFadeIn[TIME_SLOTS] |
Linear Interpolator - Fade in.
Definition at line 108 of file spreader_internal.h.
float spreader_data::interpolatorFadeOut[TIME_SLOTS] |
Linear Interpolator - Fade out.
Definition at line 109 of file spreader_internal.h.
float_complex** spreader_data::new_M |
mixing matrices; HYBRID_BANDS x FLAT:(Q x Q)
Definition at line 103 of file spreader_internal.h.
float** spreader_data::new_Mr |
residual mixing matrices; HYBRID_BANDS x FLAT:(Q x Q)
Definition at line 104 of file spreader_internal.h.
int spreader_data::new_nSources |
New number of input signals (current value will be replaced by this after next re-init)
Definition at line 132 of file spreader_internal.h.
SPREADER_PROC_MODES spreader_data::new_procMode |
See SPREADER_PROC_MODES (current value will be replaced by this after next re-init)
Definition at line 133 of file spreader_internal.h.
int spreader_data::nGrid |
Number of directions/measurements/HRTFs etc.
Definition at line 88 of file spreader_internal.h.
int spreader_data::nSources |
Current number of input signals.
Definition at line 138 of file spreader_internal.h.
float** spreader_data::outframeTD |
time-domain output frame; MAX_NUM_OUTPUTS x SPREADER_FRAME_SIZE
Definition at line 76 of file spreader_internal.h.
float_complex*** spreader_data::outputframeTF |
time-frequency domain output frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS
Definition at line 81 of file spreader_internal.h.
float_complex** spreader_data::prev_M[SPREADER_MAX_NUM_SOURCES] |
previous mixing matrices; HYBRID_BANDS x FLAT:(Q x Q)
Definition at line 101 of file spreader_internal.h.
float** spreader_data::prev_Mr[SPREADER_MAX_NUM_SOURCES] |
previous residual mixing matrices; HYBRID_BANDS x FLAT:(Q x Q)
Definition at line 102 of file spreader_internal.h.
SPREADER_PROC_MODES spreader_data::procMode |
See SPREADER_PROC_MODES.
Definition at line 136 of file spreader_internal.h.
PROC_STATUS spreader_data::procStatus |
see PROC_STATUS
Definition at line 131 of file spreader_internal.h.
float spreader_data::progressBar0_1 |
Current (re)initialisation progress, between [0..1].
Definition at line 129 of file spreader_internal.h.
char* spreader_data::progressBarText |
Current (re)initialisation step, string.
Definition at line 130 of file spreader_internal.h.
float_complex*** spreader_data::protoframeTF |
time-frequency domain prototype frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS
Definition at line 78 of file spreader_internal.h.
int spreader_data::Q |
Number of channels in the target playback setup; for example: 2 for binaural.
Definition at line 87 of file spreader_internal.h.
float* spreader_data::Qmix |
Identity; FLAT: Q x Q.
Definition at line 117 of file spreader_internal.h.
float_complex* spreader_data::Qmix_cmplx |
Identity; FLAT: Q x Q.
Definition at line 118 of file spreader_internal.h.
char* spreader_data::sofa_filepath |
SOFA file path.
Definition at line 137 of file spreader_internal.h.
float_complex*** spreader_data::spreadframeTF |
time-frequency domain spread frame; HYBRID_BANDS x MAX_NUM_OUTPUTS x TIME_SLOTS
Definition at line 80 of file spreader_internal.h.
float spreader_data::src_dirs_deg[SPREADER_MAX_NUM_SOURCES][2] |
Source directions, in degrees.
Definition at line 140 of file spreader_internal.h.
float spreader_data::src_spread[SPREADER_MAX_NUM_SOURCES] |
Source spreading, in degrees.
Definition at line 139 of file spreader_internal.h.
int spreader_data::useDefaultHRIRsFLAG |
1: use default HRIRs in database, 0: use the measurements from SOFA file (can be anything, not just HRTFs)
Definition at line 141 of file spreader_internal.h.
float* spreader_data::weights |
Integration weights; nGrid x 1.
Definition at line 96 of file spreader_internal.h.