feature transforms
Module: Transform Functions
Functions
Name | |
---|---|
void | plp_mfcc_f32(const plp_fft_instance_f32 * SFFT, const plp_fft_instance_f32 * SDCT, const Complex_type_f32 * pShift, const plp_triangular_filter_f32 * filterBank, const float32_t * window, const uint8_t * orthoNorm, const float32_t restrict pSrc, float32_t restrict pDst) MFCC on real input data. |
void | plp_mfcc_f32_parallel(const plp_fft_instance_f32 * SFFT, const plp_fft_instance_f32 * SDCT, const Complex_type_f32 * pShift, const plp_triangular_filter_f32 * filterBank, const float32_t * window, const uint8_t * orthoNorm, const float32_t restrict pSrc, const uint32_t nPE, float32_t restrict pDst) MFCC on real input data. |
Detailed Description
This module contains the code to perform feature transforms.
Functions Documentation
function plp_mfcc_f32
void plp_mfcc_f32(
const plp_fft_instance_f32 * SFFT,
const plp_fft_instance_f32 * SDCT,
const Complex_type_f32 * pShift,
const plp_triangular_filter_f32 * filterBank,
const float32_t * window,
const uint8_t * orthoNorm,
const float32_t *__restrict__ pSrc,
float32_t *__restrict__ pDst
)
MFCC on real input data.
Parameters:
- SFFT points to an instance of the floating-point FFT structure for the initial FFT (with FFTLength = n_fft). bitReverseFlag should be on.
- SDCT points to an instance of the floating-point FFT structure for the DCT (with FFTLength = n_mels). bitReverseFlag should be on.
- pShift points to twiddle coefficient table with FFTLength = 4*n_mels. Only first quarter necessary.
- filterBank points to plp_triangular_filter_f32 instance with nFilters = n_mels.
- window vector to use for windowing
- orthoNorm whether to use dct orthonormalisation or not
- pSrc points to the input buffer (real data, size n_fft)
- pDst points to the output buffer of length at least 3*n_fft. pSrc and pDst must not overlap, the calculation can not be done in place. MFCCs are returned in the first n_mels spots.
Return: none
function plp_mfcc_f32_parallel
void plp_mfcc_f32_parallel(
const plp_fft_instance_f32 * SFFT,
const plp_fft_instance_f32 * SDCT,
const Complex_type_f32 * pShift,
const plp_triangular_filter_f32 * filterBank,
const float32_t * window,
const uint8_t * orthoNorm,
const float32_t *__restrict__ pSrc,
const uint32_t nPE,
float32_t *__restrict__ pDst
)
MFCC on real input data.
Parameters:
- SFFT points to an instance of the floating-point FFT structure for the initial FFT (with FFTLength = n_fft). bitReverseFlag should be on.
- SDCT points to an instance of the floating-point FFT structure for the DCT (with FFTLength = n_mels). bitReverseFlag should be on.
- pShift points to twiddle coefficient table with FFTLength = 4*n_mels. Only first quarter necessary.
- filterBank points to plp_triangular_filter_f32 instance with nFilters = n_mels.
- window vector to use for windowing
- orthoNorm whether to use dct orthonormalisation or not
- pSrc points to the input buffer (real data, size n_fft)
- nPE number of parallel processing units
- pDst points to the output buffer of length at least 3*n_fft. pSrc and pDst must not overlap, the calculation can not be done in place. MFCCs are returned in the first n_mels spots.
Return: none
Updated on 2023-03-01 at 16:16:32 +0000