tuneR を使ったMFCCの計算

ほぼ自分用の備忘録←

tuneR で MFCC を求める手順。バージョンは 1.2.1。

library(tuneR)

# wavファイル読み込み
# mp3ファイルの場合は readMP3()を使えばよい
wobj <- readWave(filename)

# melfcc() は現行では mono 音声しか扱えないので必要に応じて変換
wobjm <- mono(wobj)

mfcc <- melfcc(wobjm, 
           numcep = 20, 
           nbands = 36,  
           wintime = 0.023,
           hoptime = 0.023)

nbands はメルフィルタバンクの数。numcepは、離散コサイン変換した結果、低周波成分から数えていくつ分の係数を取得するかを指定。wintimeは1フレームの長さ(ms), hoptimeは、フレーム間の時間間隔(ms)。

結果は (フレーム数)x(numcep) の行列で返ってくる。1列目は各フレームの平均エネルギーを表し、特徴を表すのに有用ではないので切り捨てて19次元にする。