语音识别 - MFCC

信息处理 语音识别 mfcc
2022-02-03 07:46:47

我一直在研究语音识别,我决定采用 MFCC 方法来解决这个检测某人是在说“是”还是“否”的问题。如前所述(到目前为止我的步骤):

  • 读入音频文件
  • 将音频信号拆分成块(600 个样本,30 毫秒长)
  • 剥离不需要考虑的块(总能量/过零)

所以我将根据这篇论文构建MFCC ,它有以下步骤:

  1. 预加重
  2. 框架
  3. 汉明窗
  4. 快速傅里叶变换
  5. 梅尔滤波器组处理
  6. 离散余弦变换
  7. Delta 能量和 Delta 光谱

这对我来说很有意义(有点),我将研究这些步骤中的每一个。但是我应该在这个问题的顶部对我已经完成的结果块执行 MFCC(步骤 1、2、3),或者,我是否应该不执行这些步骤而只是从头开始计算 MFCC我还能实现隐马尔可夫模型吗?

另一个问题是,如果我将信号拆分为“帧”(二维向量),生成的 MFCC 将是二维向量还是一维向量?

希望有人可以提供帮助:)!

1个回答

关于您现有的步骤:

  • 相邻块之间是否有一些重叠?在特征提取系统中,相邻块之间存在一些重叠是很常见的,因此可以正确捕获一个短暂的瞬态事件(如果它正好在一个块的末尾,它将正好在下一个块的中间)。
  • 你丢弃块的想法是危险的。您可以这样做以粗略识别语音片段的开头和结尾;但静音识别也可以内置到识别模型中。

关于数据大小:

您的信号被分成帧。对于每一帧,您计算一个一维 MFCC 向量。所以最后,你有一个一维 MFCC 向量序列。这是您训练 HMM 的数据。