Python3で簡単にMFCCを求める方法

www.adventar.org

アドベントカレンダー12日目です。下の記事のPython3系で行うため、MFCCを求める手段で挫折したことの記録。

qiita.com

経緯

  • Qiitaの記事を見たので僕もやりたいぞ
  • -> Python2系は使いたくない
  • -> なら、3系でやるか

つまづいたこと

上記の記事はO'Reilly Japan - 実践 機械学習システムを参考に行っており、音声認識の特徴量としてMFCCを求める際、scikits.talkboxというライブラリを使用していました。

pypi.python.org

当初は僕も同じようにライブラリを使おうと思いましたがうまく使えず、2to3というコマンドで3系に置き換えてもダメでしたので断念。MFCCを求めるプログラムを自分で実装しようと考え、下の記事を読みながらわかんねえわかんねえと叫ぶ。

aidiary.hatenablog.com

結局

python_speech_featuresというライブラリを見つける。 Welcome to python_speech_features’s documentation! — python_speech_features 0.1.0 documentation

このライブラリを使ったサンプルコードです。

from scipy import io
from scipy.io import wavfile
from python_speech_features import mfcc

data = io.wavfile.read('xxxx.wav')
ceps = mfcc(data)

これで簡単にMFCCを求めることができました。