|
SPRAAK
|
Collaboration diagram for API_LowLvl::lib::preproc::mod:Data Structures | |
| struct | SprAGCInfo |
| struct | SprSDFX |
| struct | SprSDKD |
Enumerations | |
| enum | { SPR_FB_WARP_LIN1, SPR_FB_WARP_LIN2, SPR_FB_NWARPMETHOD } |
Functions | |
| int | spr_agc_connect (SprSspDesc *ssp_des, const char *agc_name, void(*func)(SprAGCInfo *), void *ext_info, int query_sz[5]) |
| void | spr_aut2lpc_levinson (float spr_autocorr[], float refl_coeff[], float LPC_filter[], int order, float LPC_filter_old[]) |
| void | spr_autocorr (const float in[], int nparam, float out[], int ncorr) |
| void | spr_crosscorr (float in[], float in2[], int nparam, float cr[], float cl[], int ncorr) |
| int spr_agc_connect | ( | SprSspDesc * | ssp_des, |
| const char * | agc_name, | ||
| void(*)(SprAGCInfo *) | func, | ||
| void * | ext_info, | ||
| int | query_sz[5] | ||
| ) |
Install a function func to interprete the histogram for the AGC with name agc_name. This function may update the record volume (or whatever parameter controls the range of the input data), but this must be reported back by setting the gain_adapt in the AGCinfo structure ext_info to 1.0/gain, with gain the linear gain change corresponding to the adjustment of the record volume.
If the query_sz parameter is not NULL, the following information is returned as well: query_sz = {Nsamples_per_frame, nfr_per_fragment, nfrag_per_hist, nskipa, nskips}
| void spr_aut2lpc_levinson | ( | float | spr_autocorr[], |
| float | refl_coeff[], | ||
| float | LPC_filter[], | ||
| int | order, | ||
| float | LPC_filter_old[] | ||
| ) |
Convert autocorrelation coefficients autocorr[0..order] to reflection coefficients refl_coeff[1..order] and lpc filter coefficients LPC_filter1..order. The coefficient zero of all those vectors are filled in as follows:
| void spr_autocorr | ( | const float | in[], |
| int | nparam, | ||
| float | out[], | ||
| int | ncorr | ||
| ) |
Calculate the normalised autocorrelation coeffients from a time domain signal. It computes ncorr+1 autocorrelation coefficients out[0]...out[Lr] on time series in[0]...in[n-1]. Note by JD: gamma removed, adjustment for taking into account the energy scaling when placing a window, is now done in the windowing routines themselves.
| void spr_crosscorr | ( | float | in[], |
| float | in2[], | ||
| int | nparam, | ||
| float | cr[], | ||
| float | cl[], | ||
| int | ncorr | ||
| ) |
Compute ncorr+1 left and right crosscorrelation coefficients cl[0]...[ncorr] and cr[0]...[ncorr] on time series in[0]...in[nparam-1] (move in) and in2[0]...in2[nparam-1].
1.8.6