can bayar
/
mfcc_test_1
andac icin mfcc
main.cpp@0:534d6a8e9c27, 2020-04-29 (annotated)
- Committer:
- magicTurtle866
- Date:
- Wed Apr 29 19:57:04 2020 +0000
- Revision:
- 0:534d6a8e9c27
olasi mfcc; ;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |