PythonでMFCC(メル周波数ケプストラム係数)を計算

音声処理ではMFCCという特徴量を使うことがあり、MFCCを計算できるツールやライブラリは数多く存在します。ここでは、Pythonの音声処理用モジュールscikits.talkboxでお手軽に計算してみます。

参考

環境

  • OS : OSX 10.8.3
  • Python : 2.7.3
  • パッケージ管理 : homebrew

インストール

scikits.audiolab

libsndfileのラッパーモジュールです。

brew install libsndfile
pip install scikits.audiolab

scikits.talkbox

音声処理用のモジュールです。MFCCはこれで取得できます。

pip install scikits.talkbox

使い方

from scikits.audiolab import wavread
from scikits.talkbox.features import mfcc

audio, fs, enc = wavread(’waveファイルの場所’)
ceps, mspec, spec = mfcc(audio, nwin=256, nfft=512, fs=fs, nceps=13)

上記のcepsがMFCCです。係数の個数は初期では13個ですが、mfcc()の引数ncepsで替える事も可能です。ソースに説明が書いてあります。

/trunk/talkbox/scikits/talkbox/features/mfcc.py – SciKits