STM32_AI_AudioPreprocessing_Library
Data Structures | Enumerations | Functions
Feature Extraction

Spectral feature extraction functions. More...

Data Structures

struct  SpectrogramTypeDef
 Instance structure for the floating-point Spectrogram function. More...
 
struct  MelSpectrogramTypeDef
 Instance structure for the floating-point MelSpectrogram function. More...
 
struct  LogMelSpectrogramTypeDef
 Instance structure for the floating-point Log-MelSpectrogram function. More...
 
struct  MfccTypeDef
 Instance structure for the floating-point Mfcc function. More...
 

Enumerations

enum  Spectrogram_TypeTypedef { SPECTRUM_TYPE_MAGNITUDE , SPECTRUM_TYPE_POWER }
 Spectrum types. More...
 
enum  LogMelSpectrogram_ScaleTypedef { LOGMELSPECTROGRAM_SCALE_DB , LOGMELSPECTROGRAM_SCALE_LOG }
 LogMel Spectrum decibel conversion formula. More...
 

Functions

void buf_to_float (int16_t *pInSignal, float32_t *pOutSignal, uint32_t len)
 Convert 16-bit PCM into floating point values.
 
void buf_to_float_normed (int16_t *pInSignal, float32_t *pOutSignal, uint32_t len)
 Convert 16-bit PCM into normalized floating point values.
 
void SpectrogramColumn (SpectrogramTypeDef *S, float32_t *pInSignal, float32_t *pOutCol)
 Power Spectrogram column.
 
void MelSpectrogramColumn (MelSpectrogramTypeDef *S, float32_t *pInSignal, float32_t *pOutCol)
 Mel Spectrogram column.
 
void LogMelSpectrogramColumn (LogMelSpectrogramTypeDef *S, float32_t *pInSignal, float32_t *pOutCol)
 Log-Mel Spectrogram column.
 
void LogMelSpectrogramColumn_q15_Q8 (LogMelSpectrogramTypeDef *S, int16_t *pInSignal, int8_t *pOutCol, int8_t offset, float32_t inv_scale)
 
void MfccColumn (MfccTypeDef *S, float32_t *pInSignal, float32_t *pOutCol)
 Mel-Frequency Cepstral Coefficients (MFCCs) column.
 
void SpectrogramColumn_pad (SpectrogramTypeDef *S, float32_t *pInSignal, float32_t *pOutCol)
 

Detailed Description

Spectral feature extraction functions.

Enumeration Type Documentation

◆ LogMelSpectrogram_ScaleTypedef

LogMel Spectrum decibel conversion formula.

Enumerator
LOGMELSPECTROGRAM_SCALE_DB 

return mel energies using decibel scale (librosa)

LOGMELSPECTROGRAM_SCALE_LOG 

return mel energies using natural log scale (TensorFlow)

◆ Spectrogram_TypeTypedef

Spectrum types.

Enumerator
SPECTRUM_TYPE_MAGNITUDE 

magnitude spectrum

SPECTRUM_TYPE_POWER 

squared magnitude spectrum

Function Documentation

◆ buf_to_float()

void buf_to_float ( int16_t *  pInSignal,
float32_t *  pOutSignal,
uint32_t  len 
)

Convert 16-bit PCM into floating point values.

Parameters
*pInSignalpoints to input signal buffer
*pOutSignalpoints to output signal buffer
lensignal length

◆ buf_to_float_normed()

void buf_to_float_normed ( int16_t *  pInSignal,
float32_t *  pOutSignal,
uint32_t  len 
)

Convert 16-bit PCM into normalized floating point values.

Parameters
*pInSignalpoints to input signal buffer
*pOutSignalpoints to output signal buffer
lensignal length

◆ LogMelSpectrogramColumn()

void LogMelSpectrogramColumn ( LogMelSpectrogramTypeDef S,
float32_t *  pInSignal,
float32_t *  pOutCol 
)

Log-Mel Spectrogram column.

Parameters
*Spoints to an instance of the floating-point Log-Mel structure.
*pInSignalpoints to input signal frame of length FFTLen.
*pOutColpoints to output Log-Mel Spectrogram column.
Returns
None

◆ MelSpectrogramColumn()

void MelSpectrogramColumn ( MelSpectrogramTypeDef S,
float32_t *  pInSignal,
float32_t *  pOutCol 
)

Mel Spectrogram column.

Parameters
*Spoints to an instance of the floating-point Mel structure.
*pInSignalpoints to input signal frame of length FFTLen.
*pOutColpoints to output Mel Spectrogram column.
Returns
None

◆ MfccColumn()

void MfccColumn ( MfccTypeDef S,
float32_t *  pInSignal,
float32_t *  pOutCol 
)

Mel-Frequency Cepstral Coefficients (MFCCs) column.

Parameters
*Spoints to an instance of the floating-point MFCC structure.
*pInSignalpoints to input signal frame of length FFTLen.
*pOutColpoints to output MFCC spectrogram column.
Returns
None

◆ SpectrogramColumn()

void SpectrogramColumn ( SpectrogramTypeDef S,
float32_t *  pInSignal,
float32_t *  pOutCol 
)

Power Spectrogram column.

Parameters
*Spoints to an instance of the floating-point Spectrogram structure.
*pInSignalpoints to the in-place input signal frame of length FFTLen.
*pOutColpoints to output Spectrogram column.
Returns
None