14.5.2 MSLS

14.15 に実行例を示す. 実行後, MFBANK13_0.spec というファイルが生成される. このファイルは,リトルエンディアン,32 ビット浮動小数点数形式で表された 13 次元ベクトル列をフレーム数分格納している. 失敗するときは,data ディレクトリに f101b001.wav ファイルがあるかチェックしよう.

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

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

\includegraphics{fig/recipes/demo-FeatureExtraction1-MAIN}
Figure 14.16: MAIN (subnet)
\includegraphics[width=\linewidth ]{fig/recipes/demo-FeatureExtraction1-MAIN_LOOP}
Figure 14.17: MAIN_LOOP (iterator)

14.14 に主要なパラメータを示す. 重要なモジュールは,MSLSExtraction である.

Table 14.14: パラメータ表

ノード名

パラメータ名

設定値

MAIN_LOOP

LENGTH

subnet_param 

int :ARG2

 

ADVANCE

subnet_param 

int :ARG3

 

SAMPLING_RATE

subnet_param 

int :ARG4

 

FBANK_COUNT

subnet_param 

int :ARG5

 

DOWHILE

bool 

(空欄)

MSLSExtraction 

FBANK_COUNT

subnet_param 

FBANK_COUNT

 

NORMALIZE_MODE

string 

Cepstral

 

USE_POWER

bool 

false