オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【音声解析】前処理 #まとめ編

Index

前処理

音声解析における前処理を記す.

アナログ - デジタル変換 / AD 変換

音声波形は、空気の振動であり、それがマイクロホンにより電圧の変化として観測される.

これは、そもそもアナログ (連続値) であり、計算機で扱うためには離散化 (デジタル化) をする必要がある.

これをアナログ - デジタル変換 (Analogue-to-Digital Conversion) / AD 変換 と呼ぶ.

AD 変換では、まず最初にある特定の時間間隔でデータを取り出す.

この処理を標本化 (サンプリング / Sampling) と呼ぶ.

その後、標本化したアナログ信号を数値として記録するために、量子化を行う.

ディザリング処理

音声データの波形には、時間帯によっては音声がまったく存在しない、つまり無音区間が含まれている場合がある.

このような波形に対して、短時間フーリエ解析などを実行した場合、振幅スペクトルの対数値がマイナス無限大になってしまうことがある.

そのため、波形全体に対して、分析結果が無視できる程度の、小さなノイズを加える.

これをディザリング処理と呼ぶ.

 dither(x(n))\ =\ x(n)\ +\ 2D d (n)\ -\ D

直流成分除去

音は空気の振動なので、振幅値は正の値を交互に変化し続けるため、振幅の平均値は  0 に近い値になるはず.

しかし、収録環境によっては、収録機器の電気的なノイズなどの影響により、平均値が  0 から離れた値になることがある.

この影響を取り除くため、フレームごとにその振幅値の平均で引く処理を行う.

この処理を直流成分除去と呼ぶ.

 dc_cut(x(n))\ =\  x(n)\ -\ \displaystyle \frac{1}{N}\ \displaystyle \sum_{n=0}^{N-1} x(n)

高域強調

音声のパワー・大きさ (音圧) は高域になるほど減衰するので、それを補償するために、高域強調の処理を行う.

音声フレーム

時系列の信号の解析を行う場合、一般に、AD 変換された波形を入力とし、一定の時間間隔で、特徴量を抽出する.

その際、間隔ごとに分析される対象を 音声フレーム (Speech Frame) と呼び、 音声フレームの間隔を フレーム周期 (Frame Period)と呼ぶ.

音声区間検出

音声区間検出 (Voice Activity Detection / VAD) とは、音声認識システムのマイクロホンから入力された音から、 音声が存在する区間のみを検出する処理のことを指す.

目的は 2 つ.

  1. 計算資源の節約
  2. 雑音の除去

よく用いられる特徴量は、ゼロ交差率 (Zero Crossing Rate)、音声パワー (Speech Power)、信号対雑音比 (Signal-to-Noise Ration / SNR) がある.

参考