使用android预先强调语音处理

时间:2013-09-16 09:53:53

标签: android filtering signal-processing speech-recognition mfcc

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

MFCC的第一步是应用预加重

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

我找到了这个过程的等式:

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

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

1 个答案:

答案 0 :(得分: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:

Frequency response