図 14.5.4 に実行例を示す. 実行後,MFBANK14_0.spec というファイルが生成される. このファイルは,リトルエンディアン,32 ビット浮動小数点数形式で表された 14 次元ベクトル列を格納している. うまく特徴抽出できないときは, ../data ディレクトリに f101b001.wav ファイルがあるかチェックしよう.
> ./demo.sh 3 UINodeRepository::Scan() Scanning def /usr/lib/flowdesigner/toolbox done loading def files loading XML document from memory done! Building network : MAIN
本サンプルに含まれるモジュールは,12 個である. MAIN (subnet) に 3 個 MAIN_LOOP (iterator) に 9 個のモジュールがある. MAIN (subnet) と MAIN_LOOP (iterator) を 図 14.22,14.23 に示す. 処理の概要は,AudioStreamFromWave モジュールで取り込んだ音声波形を MSLSExtraction で音響特徴量を計算し,SaveFeatures でファイルに書き出す 単純なネットワーク構成である. MSLSExtraction は, MSLS の計算に メルフィルタバンクの出力とパワースペクトルを必要とするため, 取り込んだ音声波形は, MultiFFT によって分析され, MatrixToMap と PowerCalcForMap によってデータ型を変換した後に MelFilterBank により メルフィルタバンクの出力を求める処理が入っている. ここでは,MSLSExtraction の USE_POWER プロパティを trueにして, パワー項も同時に出力している.MSLSExtraction は,MSLS 係数の他に $\delta $ 係数の格納領域をリザーブし,ベクトルを特徴量として出力する ($\delta $ 係数の格納領域には 0 が入れられている). USE_POWER プロパティを trueにしているので,$\delta $ 係数は, $\delta $ MSLS とデルタパワー項の格納領域が確保される.従って,MSLSExtraction の FBANK_COUNT プロパティで指定した値+1 次元の2 倍の次元数のベクトルを 特徴量として出力する. 必要な MSLS 係数とパワー項以外は, FeatureRemover で削除している. SaveFeatures は,入力 FEATURE を保存する.入力 SOURCES には ConstantLocalization で生成した正面方向の定位結果を与える.
表 14.16 に主要なパラメータを示す.
ノード名 |
パラメータ名 |
型 |
設定値 |
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 |
(empty) |
|
MSLSExtraction |
FBANK_COUNT |
subnet_param |
FBANK_COUNT |
NORMALIZE_MODE |
string |
Cepstral |
|
USE_POWER |
bool |
true |