窓長とかシフト長の適切な値が知りたい

Problem

最適な分析窓長とシフト長が知りたい.

Solution

Length は音声の分析窓長である. 一般に,20-40 [ms] に相当する長さを指定すればよい. サンプリング周波数 fs Hzならば,length = fs/1000 * x で求まる. x は 20-40[ms]である. Advance は,分析フレームシフト長である. 一般に,後続フレームとフレーム全体の 1/3 - 1/2 重なる量シフトを 指定する.

音声認識する場合,音響モデル作成にも同一の Length, Advance を使う必要がある.

Discussion

音声を扱う場合,信号が弱定常状態と仮定できる範囲が 20-40 [ms] であるから この方針で設定する.シフト長は,窓の実行幅で決まる.具体的には,窓関数の 持つエネルギーと等価なエネルギーを持つ,矩形窓の窓長を求める. この窓長は,連続するフレームを分析した時に,同一サンプルを重複してフレーム処理 せず,かつサンプルの取り零しのないフレーム処理が可能である. 一般に知られる音声分析用の窓関数のエネルギーは,矩形窓長で約 1/3 - 1/2 の エネルギーと同一になることから,フレームのシフト量を,この範囲で使う. 1/3 が保守的な設定で,同一サンプルを重複してフレーム処理する可能性はあるが, サンプルの取り零しがない.1/2 では,使用する窓関数によっては,サンプルの取り 零しが起る可能性があるが,重複してフレーム処理することはない. ただし,分析に矩形窓を使用するならば,シフト長は分析フレーム長にする. 三角窓の時,フレームシフト量は 1/2 である.