図 14.30 に実行例を示す. 実行後,MFBANK27_0.spec というファイルが生成される. このファイルは,リトルエンディアン,32 ビット浮動小数点数形式で表された 27 次元ベクトル列を格納している. うまく特徴抽出できないときは,data ディレクトリに f101b001.wav ファイル があるかチェックしよう.
本サンプルに含まれるモジュールは,17 個である. MAIN (subnet) に 3 個 MAIN_LOOP (iterator) に 14 個のモジュールがある. MAIN (subnet) と MAIN_LOOP (iterator) を 図 14.31,14.32 に示す. 処理の概要は,AudioStreamFromWave モジュールで取り込んだ音声波形を MSLSExtraction で音響特徴量を計算し,SaveFeatures でファイルに書き出す 単純なネットワーク構成である. プリエンファシスは,時間領域でかけるため,音声波形をMultiFFT で 分析した後,MatrixToMap による型変換を経て一旦 Synthesize によって 信号波形を合成している.合成波形に PreEmphasis でプリエンファシス をかけ,改めて MultiFFT で分析し, PowerCalcForMap による型変換を 経て,MSLSExtraction に送られている. MSLSExtraction は, MSLS の計算にメルフィルタバンクの出力と パワースペクトルを必要とするため,MultiFFT によって分析され, PowerCalcForMap によってデータ型を変換した後に MelFilterBank により メルフィルタバンクの出力を求める処理が入っている. MSLSExtraction は, MSLS 係数の他に 係数の格納領域をリザーブし,ベクトルを特徴量 として出力する( 係数の格納領域には 0 が入れられている). ここでは MSLSExtraction の USE_POWER プロパティを trueにしているので, 係数は, MSLS とデルタパワー項を含む. MSLSExtraction の FBANK_COUNT プロパティで指定した値+1 次元の 2 倍の次元数のベクトルを特徴量として出力する. 平均除去処理を行う SpectralMeanNormalization を経て Delta により, MSLS 係数とデルタパワー項が計算され格納される. 必要な係数は MSLS 係数と MSLS 係数とデルタパワー項であるため,不要な パワー項を削除する必要がある.削除には FeatureRemover を用いている. SaveFeatures は,入力 FEATURE を保存する.入力 SOURCES には ConstantLocalization で生成した正面方向の定位を与える.
表14.18 にネットワークのパラメータの設定値を まとめる. 重要なモジュールは,PreEmphasis と MSLSExtraction , SpectralMeanNormalization , Delta , FeatureRemover である. 詳細は HARKドキュメントを参照.
ノード名 |
パラメータ名 |
型 |
値 |
Constant |
VALUE |
subnet_param |
1 |
MAIN_LOOP |
LENGTH |
subnet_param |
2 |
ADVANCE |
subnet_param |
3 |
|
SAMPLING_RATE |
subnet_param |
4 |
|
FBANK_COUNT |
subnet_param |
5 |
|
FBANK_COUNT1 |
subnet_param |
6 |
|
DOWHILE |
bool |
(空欄) |
|
PreEmphasis |
LENGTH |
subnet_param |
LENGTH |
SAMPLING_RATE |
subnet_param |
SAMPLING_RATE |
|
PREEMCOEFF |
float |
0.97 |
|
INPUT_TYPE |
string |
WAV |
|
MSLSExtraction |
FBANK_COUNT |
subnet_param |
FBANK_COUNT |
NORMALIZE_MODE |
string |
Cepstral |
|
USE_POWER |
bool |
true |
|
SpectralMeanNormalization |
FBANK_COUNT1 |
subnet_param |
FBANK_COUNT1 |
Delta |
FBANK_COUNT1 |
subnet_param |
FBANK_COUNT1 |
FeatureRemover |
SELECTOR |
Object |
<Vector<float> 13> |