Microchip® Advanced Software Framework

mfcc_example.c File Reference
#include <avr32/io.h>
#include "cycle_counter.h"
#include "power_clocks_lib.h"
#include "dsp.h"
#include "conf_mfcc.h"

Macros

#define INPUT_FRAME_NB_SAMPLES   ((MFCC_INPUT_FS * MFCC_FRAME_SIZE_MS) / 1000)
 Input frame size in number of samples. More...
 
#define INPUT_FRAME_SHIFT_NB_SAMPLES   ((MFCC_INPUT_FS * MFCC_FRAME_SHIFT_MS) / 1000)
 frame shift in number of samples More...
 

Functions

dsp16_tgenerate_input_signal ()
 
int main (void)
 
S32mfcc_dct_13_pts (S32 *buffer, int size)
 
dsp16_tmfcc_fft_512pts (dsp16_t *buffer, int size)
 
dsp16_tmfcc_hamming_window (dsp16_t *buffer, int size)
 
void mfcc_init ()
 
S32 mfcc_lin_to_mel (S32 f_hz)
 
S32mfcc_log (S32 *buffer, int size)
 
S32mfcc_mel_scale_filter_bank (dsp16_t *buffer, int size)
 
void mfcc_mel_scale_filter_bank_init ()
 
S32 mfcc_mel_to_lin (S32 f_mel_hz)
 
S32mfcc_numerical_diff_13 (S32 *cepstrum)
 
dsp16_tmfcc_pre_emphasis (dsp16_t *buffer, int size)
 
void mfcc_process ()
 This function should be called every MFCC_FRAME_SHIFT_MS ms. More...
 

Variables

A_ALIGNED dsp16_t hamming_window [INPUT_FRAME_NB_SAMPLES]
 
A_ALIGNED dsp16_t input_frame [INPUT_FRAME_NB_SAMPLES]
 
int pt_mel [MEL_FILTER_BANK_NB_CHANNELS+2]
 
A_ALIGNED dsp16_t temp_buffer [1024]
 

#define INPUT_FRAME_NB_SAMPLES   ((MFCC_INPUT_FS * MFCC_FRAME_SIZE_MS) / 1000)

Input frame size in number of samples.

Referenced by generate_input_signal(), mfcc_init(), and mfcc_process().

#define INPUT_FRAME_SHIFT_NB_SAMPLES   ((MFCC_INPUT_FS * MFCC_FRAME_SHIFT_MS) / 1000)

frame shift in number of samples

Referenced by generate_input_signal().

S32* mfcc_dct_13_pts ( S32 buffer,
int  size 
)

References dsp16_op_cos(), DSP16_Q, and DSP16_QB.

Referenced by mfcc_process().

dsp16_t* mfcc_fft_512pts ( dsp16_t buffer,
int  size 
)
dsp16_t* mfcc_hamming_window ( dsp16_t buffer,
int  size 
)

References dsp16_vect_dotmul(), and hamming_window.

Referenced by mfcc_process().

S32 mfcc_lin_to_mel ( S32  f_hz)
S32* mfcc_log ( S32 buffer,
int  size 
)

References dsp16_op_ln_raw().

Referenced by mfcc_process().

S32* mfcc_mel_scale_filter_bank ( dsp16_t buffer,
int  size 
)
void mfcc_mel_scale_filter_bank_init ( )
S32 mfcc_mel_to_lin ( S32  f_mel_hz)

References DSP16_QB, and DSP_Q.

Referenced by mfcc_mel_scale_filter_bank_init().

S32* mfcc_numerical_diff_13 ( S32 cepstrum)

Referenced by mfcc_process().

dsp16_t* mfcc_pre_emphasis ( dsp16_t buffer,
int  size 
)

References dsp16_op_mul(), DSP16_Q, and PRE_EMPHASIS_ALPHA.

Referenced by mfcc_process().

A_ALIGNED dsp16_t temp_buffer[1024]

Referenced by mfcc_init(), and mfcc_process().