MFCCの計算方法についてメモ
MFCC とは
Mel-Frequency Cepstral Coefficients (MFCCs) のこと。音声認識でよく使われる、音声の特徴表現の代表的なもの。
算出手順
- 音声信号を適当な長さのフレームで切り出し
- 窓がけ
- フーリエ変換して対数振幅スペクトルを求める
- メルフィルタバンクを掛けて、メル周波数スペクトルを求める
- 離散コサイン変換により、MFCCを求める
以上。SPTKのmfccコマンドのソースもだいたいそうなってた。
さて
ここに音声波形があるじゃろ??
音声波形を窓がけして…
さらにフーリエ変換して対数取って…
ここでメルフィルタバンクの出番じゃ
最後に離散コサイン変換で完成じゃ
まとめ
- MFCC求めたかったら、普通はHTKかSPTK使えばいいんじゃないですかね。自分で書くと面倒くさいです
- 正規化はどうするのがいいのか、まだよくわかってない。単純にDCT(IIを使った)を最後に掛けると、かなり大きい値になって使いにくい。ので、 http://research.cs.tamu.edu/prism/lectures/sp/l9.pdf にもあるとおり、mel-filterbankの数(今回の場合は64)で割った。
- 間違ってるかもしれないけどご愛嬌