オムライスの備忘録

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

【音声解析】ケプストラム特徴量 #アルゴリズム編

Index

ケプストラム特徴量 / cepstrum

音声解析における特徴量抽出のひとつ.

発生のメカニズム

音声のパワースペクトルは、 「その微細構造では、声門・声帯の声門波・パワースペクトル」を、 「スペクトル包絡成分では、声道のインパルス応答・共振特性」を表現している.

声門・声帯の振動・声門波・パワースペクトル

気管の入り口には、声帯と呼ばれれるひだ状の器官がある.

人間は、発生するとき、肺から空気を押し出し、声帯を振動させる.

声帯振動のパワースペクトルの先頭のピークの周波数を基本周波数と呼ぶ.

フォルトマン

声帯振動は、声道を通って口から発せられる.

このとき、声道内で声帯振動の特定の周波数が、共鳴 (共振) を起こす.

この共振周波数をフォルトマンと呼ぶ.

音素を決定づける声道の共振特性は、音声認識にとって重要な情報となる.

ケプストラム分析

音声認識に必要なのは主に、声道のインパルス応答・共振特性である.

それを「音声のパワースペクトル」から取り出す方法として、ケプストラム分析が用いられる.

処理内容

「音声のパワースペクトル」を変換して、2つの成分 (声帯振動の成分と声道共振特性) の線形和に置き換え、 フィルタリングによりこの両者を分離する.

計算方法

各変数を定義する.



以下のようにモデル化される.

 |x(k)|^{2}\ =\ h(k)\ |s(k)|^{2}



両辺に対数をとる.

 \log\ |x(k)|^{2}\ =\ \log\ h(k)\ +\ \log\ |s(k)|^{2}



このように、足し算で表現できる.

「音声のパワースペクトル \log\ |x(k)|^{2} から、 「声帯の振動」の成分  \log |s(k)|^{2} を取り除くことができれば、 「共振特性」の成分  \log\ h(k) のみを取り出すことができる.

そこで、 \log\ |s(k)|^{2} をどのように取得するかを考える.

「声帯の振動」と「共振特性」の形状に違いに着目する.

フーリエ変換

対数パワースペクトルに対して、逆フーリエ変換を行ったものを、ケプストラムと呼ぶ.

ケプストラムの横軸は、ケフレンシと呼ばれる.

ケプストラムを求めると、低ケフレンシ帯域には、「パワースペクトルの包絡成分」が、 高ケフレンシ帯域には、「パワースペクトルの微細構造の成分」が現れる.

リフタリング

声道の共振特性は、「パワースペクトルの包絡成分」も相当するため、高ケフレンシ帯域をカットし、 再度フーリエ変換により、対数パワースペクトルに戻すと、声帯共振特性が得られる.

ケプストラム領域で行うフィルタリング処理のことを、リフタリングと呼ぶ.

また、ケプストラム領域における、フィルタは、リフタと呼ばれる.

メル周波数ケプストラム特徴量 / MFCC

ケプストラムをメルフィルタバンク特徴量に対して計算したものを、メル周波数ケプストラム特徴量 / MFCC と呼ぶ.

メルフィルタバンク分析によって圧縮したパワースペクトル情報に対して、ケプストラム分析によって スペクトルの包絡の成分だけを取り出すことで、さらに情報を圧縮する.

離散コサイン変換 / Discrete Cosine Transform / DCT

メルフィルタバンク特徴量に対して、離散コサイン変換 / Discrete Cosine Transform / DCT を適用することで計算を行う.

実装

参考