第 6 章 ノードリファレンス 51
6.4 FeatureExtraction カテゴリ
6.4.4 MFCCExtraction
FBANK :Map<int, ObjectRef>型.音源IDとフィルタバンクの出力エネルギーから構成されるベクトルの Vector<float>型のデータのペア.
SPECTRUM :Map<int, ObjectRef>型.音源IDと複素スペクトルから構成されるベクトルの Vector<complex<float> >型のデータのペア.
出力
OUTPUT :Map<int, ObjectRef>型.音源IDとMFCCと対数パワー項から構成されるベクトルのVector<float>型 のデータのペア.
パラメータ
FBANK COUNT :int型.入力スペクトルにかけるフィルタバンク数.デフォルト値は24である.値域は,
正の整数.値を大きくすると1バンク当りの担当周波数帯域が狭くなり,周波数分解能の高い音響特徴 量が求まる.より大きなFBANK COUNTを設定すると,音響特徴をより精細に表現する.音声認識に は,必ずしも精細な表現が最適ではなく,発声する音響環境に依存する.
NUM CEP :int型.リフタリングで残すケプストラム係数の数.デフォルト値は12.値域は,正の整数.値を 大きくすると音響特徴量の次元数が増える.より細かなスペクトル変化を表現する音響特徴量が求まる.
USE POWER :bool型.対数パワーを特徴量に含めて出力する場合はtrue指定.
ノードの詳細
音響特徴量の1つであるメルケプストラム係数(MFCC : Mel-Frequency Cepstrum Coefficients)と対数パワー を求める.MFCCと対数スペクトルパワーを次元要素とする音響特徴量を生成する.
対数スペクトルに,三角窓のフィルタバンクをかける.三角窓の中心周波数は,メルスケール上で等間隔に なるように配置する.各フィルタバンクの出力対数エネルギーーをとり,離散コサイン変換(Discrate Cosine Transform)する.得られた係数をリフタリングした係数がMFCCである.
本ノードの入力部のFBANKには, 各フィルタバンクの出力対数エネルギーーが入力されることが前提で ある.
フレーム時刻 f におけるFBANKへの入力ベクトルを,
x(f) = [x(f,0),x(f,1),· · ·,x(f,P−1)]T (6.97) と表す.ただし,Pは,入力特徴ベクトルの次元数で,FBANK COUNTである.出力されるベクトルは,P+1 次元ベクトルで, メルケプストラム係数とパワー項から構成される.1次元目からP次元目までは,メルケプ ストラム係数で,P+1次元目は,パワー項である.本ノードの出力ベクトルは,
y(f) = [y(f,0),y(f,1), . . . ,y(f,P−1),E]T (6.98) y(f,p) = L(p)·
√2
P·
P−1
∑
q=0
{
log(x(q)) cos
(π(p+1)(q+0.5) P
)}
(6.99)
ただし,Eは,パワー項(後述)で,リフタリング係数は,
L(p) = 1.0+Q 2 sin
(π(p+1) Q
), (6.100)
である.ただし,Q=22である.
パワー項は,SPECTRUM部の入力ベクトルから求める.入力ベクトルを
s = [s(0), . . . ,s(K−1)]T, (6.101) と表す.ただし,Kは,FFT長である.Kは,SPECTRUMに接続されたMapの次元数によって決る.対数パ ワー項は,
E = log (1
K
K−1
∑
k=0
s(k) )
(6.102)