入力音響特徴量から特徴量の平均を除去することを意図した ノードである.ただし,実時間処理を実現するためには, 当該発話の平均を除去することができない問題がある. 当該発話の平均値をなんらかの値を用いて推定あるいは,近似する必要がある.
SpectralMeanNormalization ノードでは, 同一音源方向の直前発話の平均を用いることで実時間平均除去を実現しているが SpectralMeanNormalizationIncremental ノードでは, 当該発話の平均を一定周期毎に求めて反映することで実時間平均除去を実現している違いがある.
無し.
どんなときに使うのか
音響特徴量の平均を除去したい時に使用する.音響モデル学習用音声データと 認識用音声データの収録環境の平均値のミスマッチを除去できる.
音声収録環境においてマイクロホンの特性は,統一できないことが多い. 特に,音響モデル学習時と認識時の音声収録環境は,必ずしも等しくない. 通常,学習用の音声コーパス作成者と,認識用音声データの収録者が異なる から環境を揃えることは困難である.従って,音声の収録環境に依存しない 特徴量を用いる必要がある.
例えば,学習データ収録に使用するマイクロホンと認識時に使用するマイクロ フォンは通常異なる.マイクロホンの特性の違いが,収録音の音響特徴のミス マッチとして現れ,認識性能の低下を招く.マイクロホンの特性の違いは,時 不変であり,平均スペクトルの差となって現れる.従って,平均スペクトルを除 去することで,簡易的に収録環境に依存した成分を特徴量から除去できる.
典型的な接続例
パラメータ名 |
型 |
デフォルト値 |
単位 |
説明 |
FBANK_COUNT |
13 |
入力特徴パラメータの次元数 |
||
PERIOD |
20 |
[frames] |
平均を計算する周期 |
|
SM_ALGORITHM |
INCREMENTAL |
初期平均を計算するアルゴリズム |
||
SM_FILENAME |
初期平均のCSVファイル名 |
|||
SM_HISTORY_FILENAME |
初期平均履歴のCSVファイル名 |
|||
IGNORE_FRAMES |
0 |
[frames] |
平均スペクトルの計算から除外するフレーム数 |
|
BASENAME |
"smn_" |
SMNファイルのベースネーム |
||
OUTPUT_FNAME |
"out.txt" |
入力特徴パラメータの次元数 |
||
SM_EXPORT_FILENAME |
出力する平均のCSVファイル名 |
|||
SM_EXPORT_ALGORITHM |
LAST_SRC |
出力する平均の計算アルゴリズム |
入力
: Map<int, ObjectRef> 型.音源 ID と特徴量ベクトルの Vector<float> 型のデータのペア.
: Map<int, ObjectRef> 型である(ObjectRef は Vector<ObjectRef> ,更に Vector<ObjectRef> の ObjectRef は Vector<float> である).この入力はオプションである.各音源における平均スペクトル履歴である.
: bool 型である.この入力はオプションである.この入力は OUTPUT_FNAME または SM_EXPORT_FILENAME パラメータを指定する場合にのみ使用される.
出力
: Map<int, ObjectRef> 型.音源 ID と特徴量ベクトルの Vector<float> 型のデータのペア.
パラメータ
: int 型である.デフォルト値は 13 ,値域は 0 または正の整数である. バンク数を指定する.
: int 型である.デフォルト値は 20 ,値域は 0 または正の整数である. 平均スペクトルを計算する周期を指定する.つまり,1を指定した場合は毎フレーム平均スペクトルを計算する. ただし,0を指定した場合は無期限,つまり全てのフレームでSM_ALGORITHMを使用して平均スペクトルを計算する事を意味する.
: string 型である.デフォルト値は INCREMENTAL , 指定可能な値は[INCLEMENTAL, PREV_SM, ZERO, FILE]のいずれかである. $PERIOD + IGNORE\_ FRAME$ フレームに到達するまでの平均スペクトルを計算する初期アルゴリズムを決定する. INCREMENTAL の場合は該当音源の最初のフレームから全てのフレームを使用して平均スペクトルが計算される. PREV_SM の場合は直前音源で計算された平均スペクトルを使用する. ZERO の場合は平均スペクトルが 0 であるとみなして処理する. FILE の場合は平均スペクトルを SM_FILENAME パラメータで指定したファイルから読み出して使用する.
: string 型である. SM_ALGORITHM で FILE が指定された場合に初期平均スペクトルを与えるCSVファイル名を指定する.
: string 型である. $PERIOD + IGNORE\_ FRAME$ フレームに到達するまでの初期平均スペクトル履歴を保存するCSVファイル名を指定する.
: int 型である.デフォルト値は 0 ,値域は 0 または正の整数である. 平均スペクトルを計算するために無視するフレーム数を指定する.
: string 型である.デフォルト値は "smn_" である. SMNファイルを保存するファイルのベースネームである.ファイル名は $BASENAME + id + ".csv"$ となる.
: string 型である.デフォルト値は "out.txt" である.
: string 型である.デフォルト値は空文字列である. SM_EXPORT_ALGORITHM でエクスポートする平均スペクトルのCSVファイル名を指定する. ファイル名が指定された場合のみエクスポートが有効となり,空文字列を指定するとエクスポートが無効になる.
: string 型である.デフォルト値は LAST_SRC , 指定可能な値は[LAST_SRC, SRC_AVERAGE, FRAME_AVERAGE]のいずれかである. エクスポートする平均スペクトルの計算アルゴリズムを決定する. LAST_SRC の場合は最後の音源の平均スペクトルが保存される. SRC_AVERAGE の場合は全ての音源の平均スペクトルを平均化したものが保存される. FRAME_AVERAGE の場合は全ての音源の全てのフレームの平均スペクトルを平均化したものが保存される.
入力音響特徴量から特徴量の平均を除去することを意図した ノードである.ただし,実時間処理を実現するためには, 当該発話の平均を除去することができない問題がある. 当該発話の平均値をなんらかの値を用いてい推定あるいは,近似する必要がある.
SpectralMeanNormalization ノードでは, 当該発話の平均を除去する替りに,前発話の平均を近似値とし,除去することで 実時間平均除去を実現していた.この方法では,更に音源方向を考慮しなければならない. 音源方向によって伝達関数が異なるため,当該発話と前発話が異なる方向から 受音された場合には,前発話の平均は,当該発話の平均の近似として 不適当である.この場合,当該発話の平均の近似として,当該発話よりも 前に発話されかつ,同方向からの発話の平均を用いる必要があった.
SpectralMeanNormalizationIncremental ノードでは,当該発話の平均で実時間平均除去を実現するための手段を提供する. 当該発話で一定周期毎に平均スペクトルを求めて反映することで最後のフレームまで得ることなく実時間で平均除去を行う. この手法では前述したような問題を考慮する必要がなくなる一方で,初期の平均スペクトルが安定しないデメリットがある. そのため初期の平均スペクトルをどのように計算するかについても選択可能である.
SM_ALGORITH で PREV_SM を選択すると $PERIOD + IGNORE\_ FRAME$ フレームに到達するまでの 初期平均スペクトルは従来の SpectralMeanNormalization と同じように得られる. また INCREMENTAL を選択すると当該発話ですでに得られたフレームのみから平均スペクトルを計算するため 同一音源方向の話者が入れ替わる場合では PREV_SM よりも正しい平均が得られる可能性が高い.
詳細についてはパラメータの説明を参照されたい.