CMSIS-DSP
CMSIS DSP Software Library
|
Functions | |
arm_status | arm_mfcc_init_q31 (arm_mfcc_instance_q31 *S, uint32_t fftLen, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Generic initialization of the MFCC Q31 instance structure. More... | |
arm_status | arm_mfcc_init_32_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 32 sample MFCC. More... | |
arm_status | arm_mfcc_init_64_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 64 sample MFCC. More... | |
arm_status | arm_mfcc_init_128_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 128 sample MFCC. More... | |
arm_status | arm_mfcc_init_256_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 256 sample MFCC. More... | |
arm_status | arm_mfcc_init_512_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 512 sample MFCC. More... | |
arm_status | arm_mfcc_init_1024_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 1024 sample MFCC. More... | |
arm_status | arm_mfcc_init_2048_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 2048 sample MFCC. More... | |
arm_status | arm_mfcc_init_4096_q31 (arm_mfcc_instance_q31 *S, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs) |
Initialization of the MFCC Q31 instance structure for 4096 sample MFCC. More... | |
arm_status | arm_mfcc_q31 (const arm_mfcc_instance_q31 *S, q31_t *pSrc, q31_t *pDst, q31_t *pTmp) |
MFCC Q31. More... | |
arm_status arm_mfcc_init_1024_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_128_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_2048_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_256_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_32_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_4096_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_512_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_64_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_init_q31 | ( | arm_mfcc_instance_q31 * | S, |
uint32_t | fftLen, | ||
uint32_t | nbMelFilters, | ||
uint32_t | nbDctOutputs, | ||
const q31_t * | dctCoefs, | ||
const uint32_t * | filterPos, | ||
const uint32_t * | filterLengths, | ||
const q31_t * | filterCoefs, | ||
const q31_t * | windowCoefs | ||
) |
[out] | S | points to the mfcc instance structure |
[in] | fftLen | fft length |
[in] | nbMelFilters | number of Mel filters |
[in] | nbDctOutputs | number of Dct outputs |
[in] | dctCoefs | points to an array of DCT coefficients |
[in] | filterPos | points of the array of filter positions |
[in] | filterLengths | points to the array of filter lengths |
[in] | filterCoefs | points to the array of filter coefficients |
[in] | windowCoefs | points to the array of window coefficients |
window coefficients can describe (for instance) a Hamming window. The array has the same size as the FFT length.
The folder Scripts is containing a Python script which can be used to generate the filter, dct and window arrays.
arm_status arm_mfcc_q31 | ( | const arm_mfcc_instance_q31 * | S, |
q31_t * | pSrc, | ||
q31_t * | pDst, | ||
q31_t * | pTmp | ||
) |
[in] | S | points to the mfcc instance structure |
[in] | pSrc | points to the input samples in Q31 |
[out] | pDst | points to the output MFCC values in q8.23 format |
[in,out] | pTmp | points to a temporary buffer of complex |
The temporary buffer has a 2*fft length.
The source buffer is modified by this function.
The function may saturate. If the FFT length is too big and the number of MEL filters too small then the fixed point computations may saturate.