void AudioPreprocessing_Run(int16_t *pInSignal, float32_t pOutMfcc, uint32_t signal_len) { const uint32_t num_frames = 1 + (signal_len - FRAME_LEN) / HOP_LEN; for (uint32_t frame_index = 0; frame_index < num_frames; frame_index++) { buf_to_float_normed(&pInSignal[HOP_LEN * frame_index], pInFrame, FRAME_LEN); MfccColumn(&S_Mfcc, pInFrame, pOutColBuffer); / Reshape column into pOutMfcc */ for (uint32_t i = 0; i < NUM_MFCC; i++) { pOutMfcc[i * num_frames + frame_index] = pOutColBuffer[i]; } }这段代码中提取40个mfcc特征需要在下面写什么
时间: 2024-03-02 15:54:38 浏览: 59
unit8_2_int32_.rar_uint8 int32_unit8
5星 · 资源好评率100%
在这段代码中,提取40个MFCC特征需要在代码中定义一个常量 NUM_MFCC,该常量应该设置为 40,以确保在循环中正确复制每个帧的 MFCC 系数到输出缓冲区中。因此,在代码中应该添加以下行:
```C++
#define NUM_MFCC 40
```
这样,在循环中的 MFCC 系数复制过程中,就可以使用 NUM_MFCC 常量来确保正确地复制40个 MFCC 系数到输出缓冲区中。
阅读全文