1

私は、音声認識のためにメル周波数ケプストラム係数 (MFCC) を実装する必要があるアプリケーションに取り組んでいます。

MFCC の最初のステップは、プリエンファシスを適用することです

プリエンファシスは、より高い周波数で信号のエネルギーを増加させます。低周波帯域は、音声認識にとって役に立たない/有害な音で占められているためです。

このプロセスの次の方程式を見つけました。

 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 に答える