14.5.6 MSLS+$\Delta $MSLS+$\Delta $Power

14.5.6 に実行例を示す. 実行後,MFBANK27_0.spec というファイルが生成される. このファイルは,リトルエンディアン,32 ビット浮動小数点数形式で表された 27 次元ベクトル列を格納している. うまく特徴抽出できないときは, data ディレクトリに f101b001.wav ファイルがあるかチェックしよう.

> ./demo.sh 5
 UINodeRepository::Scan()
 Scanning def /usr/lib/flowdesigner/toolbox
 done loading def files
 loading XML document from memory
 done!
 Building network :MAIN
Figure 14.28: 実行例

本サンプルに含まれるモジュールは,13 個である. MAIN (subnet) に 3 個 MAIN_LOOP (iterator) に 10 個のモジュールがある. MAIN (subnet) と MAIN_LOOP (iterator) を 図 14.28,14.29 に示す. 処理の概要は,AudioStreamFromWave モジュールで取り込んだ音声波形を MSLSExtraction で音響特徴量を計算し,SaveFeatures でファイルに書き出す 単純なネットワーク構成である. MSLSExtraction は, MSLS の計算に メルフィルタバンクの出力とパワースペクトルを必要とするため, 取り込んだ音声波形は, MultiFFT によって分析され, MatrixToMap と PowerCalcForMap によってデータ型を変換した後に MelFilterBank により メルフィルタバンクの出力を求める処理が入っている. MSLSExtraction は, MSLS 係数の他に $\delta $ 係数の格納領域をリザーブし,ベクトルを特徴量 として出力する($\delta $ 係数の格納領域には 0 が入れられている). ここでは MSLSExtraction の USE_POWER プロパティを trueにしているので, $\delta $ 係数は, $\delta $ MSLS とデルタパワー項を含む. MSLSExtraction の FBANK_COUNT プロパティで指定した値+1 次元の 2 倍の次元数のベクトルを特徴量として出力する. Delta により,$\delta $ MSLS 係数とデルタパワー項が計算され格納される. 必要な係数は MSLS 係数と $\delta $ MSLS 係数とデルタパワー項であるため,不要な パワー項を削除する必要がある.削除には FeatureRemover を用いている. SaveFeatures は,入力 FEATURE を保存する.入力 SOURCES には ConstantLocalization で生成した正面方向の定位結果を与える.

\includegraphics{fig/recipes/demo-FeatureExtraction5-MAIN}
Figure 14.29: MAIN (subnet)
\includegraphics{fig/recipes/demo-FeatureExtraction5-MAIN_LOOP}
Figure 14.30: MAIN_LOOP (iterator)

14.18 に主要なパラメータをまとめる.

Table 14.19: パラメータ表

ノード名

パラメータ名

設定値

MAIN_LOOP

LENGTH

subnet_param 

int :ARG2

 

ADVANCE

subnet_param 

int :ARG3

 

SAMPLING_RATE

subnet_param 

int :ARG4

 

FBANK_COUNT

subnet_param 

int :ARG5

 

FBANK_COUNT1

subnet_param 

int :ARG6

 

DOWHILE

bool 

(空欄)

MSLSExtraction 

FBANK_COUNT

subnet_param 

FBANK_COUNT

 

NORMALIZE_MODE

string 

Cepstral

 

USE_POWER

bool 

true

Delta 

FBANK_COUNT1

subnet_param 

FBANK_COUNT1

FeatureRemover 

SELECTOR

Object 

<Vector<float> 13>