1

我正在开发一个应用程序,我需要为语音识别实现梅尔频率倒谱系数 (MFCC)。

MFCC 的第一步是应用 Pre-Emphasis

预加重将增加更高频率的信号能量。因为低频段被对语音识别无用/有害的声音占据。

我为这个过程找到了这个方程:

 Y[n]=X[n]−0.95⋅X[n−1]

我的问题是我应该简单地将这个方程应用于原始信号吗?这样它会增加更高频率的信号能量。或者我应该在应用这个方程之前对输入信号应用某个滤波器?如果是这样,我将如何编程?

4

1 回答 1

1

该方程已经是预加重滤波器。

在 c 代码中,实现可能如下所示:

float last_input = 0;

float filter (float input)
{
  float output = input - 0.95 * last_input;
  last_input = input;
  return output;
}

这是滤波器的频率响应,假设采样率为 44.1 kHz:

频率响应

于 2013-09-17T10:43:52.570 回答