ほぼ自分用の備忘録←
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次元にする。