andac icin mfcc

Dependencies:   mbed mbed-dsp

Committer:
magicTurtle866
Date:
Wed Apr 29 19:57:04 2020 +0000
Revision:
0:534d6a8e9c27
olasi mfcc; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
magicTurtle866 0:534d6a8e9c27 1 #include "mbed.h"
magicTurtle866 0:534d6a8e9c27 2 #include "mfcc.h"
magicTurtle866 0:534d6a8e9c27 3
magicTurtle866 0:534d6a8e9c27 4 #define SAMP_FREQ 16000
magicTurtle866 0:534d6a8e9c27 5 #define MFCC_DEC_BITS 2
magicTurtle866 0:534d6a8e9c27 6 #define FRAME_SHIFT_MS 40
magicTurtle866 0:534d6a8e9c27 7 #define FRAME_SHIFT ((int16_t)(SAMP_FREQ * 0.001 * FRAME_SHIFT_MS))
magicTurtle866 0:534d6a8e9c27 8 #define NUM_FRAMES 25
magicTurtle866 0:534d6a8e9c27 9 #define NUM_MFCC_COEFFS 10
magicTurtle866 0:534d6a8e9c27 10 #define MFCC_BUFFER_SIZE (NUM_FRAMES*NUM_MFCC_COEFFS)
magicTurtle866 0:534d6a8e9c27 11 #define FRAME_LEN_MS 40
magicTurtle866 0:534d6a8e9c27 12 #define FRAME_LEN ((int16_t)(SAMP_FREQ * 0.001 * FRAME_LEN_MS))
magicTurtle866 0:534d6a8e9c27 13
magicTurtle866 0:534d6a8e9c27 14 DigitalOut led(LED1);
magicTurtle866 0:534d6a8e9c27 15
magicTurtle866 0:534d6a8e9c27 16 int main()
magicTurtle866 0:534d6a8e9c27 17 {
magicTurtle866 0:534d6a8e9c27 18 Serial pc (USBTX, USBRX);
magicTurtle866 0:534d6a8e9c27 19 pc.baud(9600);
magicTurtle866 0:534d6a8e9c27 20
magicTurtle866 0:534d6a8e9c27 21 MFCC* mfcc = new MFCC(NUM_MFCC_COEFFS, FRAME_LEN, MFCC_DEC_BITS);
magicTurtle866 0:534d6a8e9c27 22
magicTurtle866 0:534d6a8e9c27 23 q7_t* mfcc_buffer = new q7_t[NUM_FRAMES*NUM_MFCC_COEFFS];
magicTurtle866 0:534d6a8e9c27 24
magicTurtle866 0:534d6a8e9c27 25 int16_t* audio_data = new int16_t[FRAME_LEN*NUM_FRAMES];
magicTurtle866 0:534d6a8e9c27 26
magicTurtle866 0:534d6a8e9c27 27 //int32_t mfcc_buffer_head = (num_frames-recording_win)*num_mfcc_features;
magicTurtle866 0:534d6a8e9c27 28 int32_t mfcc_buffer_head = 0;
magicTurtle866 0:534d6a8e9c27 29
magicTurtle866 0:534d6a8e9c27 30 for (uint16_t f = 0; f < FRAME_LEN * NUM_FRAMES; f++) {
magicTurtle866 0:534d6a8e9c27 31 mfcc->mfcc_compute(audio_data,&mfcc_buffer[mfcc_buffer_head]);
magicTurtle866 0:534d6a8e9c27 32 mfcc_buffer_head += NUM_MFCC_COEFFS;
magicTurtle866 0:534d6a8e9c27 33 }
magicTurtle866 0:534d6a8e9c27 34
magicTurtle866 0:534d6a8e9c27 35 while(1) {
magicTurtle866 0:534d6a8e9c27 36 wait(1); // 1 second
magicTurtle866 0:534d6a8e9c27 37 led = !led; // Toggle LED
magicTurtle866 0:534d6a8e9c27 38 printf("%d.2", &mfcc_buffer);
magicTurtle866 0:534d6a8e9c27 39 }
magicTurtle866 0:534d6a8e9c27 40 }