メル周波数ケプストラム係数(MFCC)とは

めるしゅうはすうけぷすとらむけいすうmel-frequency cepstral coefficients略語 MFCC別名 MFCC、メル周波数ケプストラム係数

1行定義

メル周波数ケプストラム係数(MFCC)とは、音声のスペクトル包絡の形を、人の聴覚に合わせたメル尺度のもとで少数の数値に要約した特徴量のことです。

くわしく

メル周波数ケプストラム係数(MFCC)は、音声認識で長く標準的に使われてきた特徴量です。音声の波形を、音素の違いを表すのに必要な情報に絞り込み、1フレームあたり十数個の数値にまとめます。1980年のデイビスとマーメルスタインの研究で、ほかの特徴量より単語の認識精度が高いことが示されました。

なぜ必要か

16kHzで記録した音声は、1秒あたり1万6,000個の数値からなり、声の大きさや高さの違いにも左右されます。一方、音素の違いは、声道の形で決まるスペクトル包絡やフォルマントに表れます。MFCCは、この包絡の形を少ない次元で取り出します。

求める手順

  1. 音声を20〜30ミリ秒程度の短い区間(フレーム)に分け、窓関数をかける。
  2. 高速フーリエ変換(FFT)で、各フレームの周波数成分を求める。
  3. メル尺度の上で等間隔に並べたフィルタの組(メルフィルタバンク)をかけ、帯域ごとのエネルギーを求める。
  4. 対数をとる。
  5. 離散コサイン変換(DCT)を行い、低次の係数を残す。

対数をとると、声帯の振動による細かな凹凸と、声道によるなめらかな包絡が、掛け算から足し算の関係に変わり、分けやすくなります。DCTの低次の係数には主に包絡が表れるため、低次の12〜13個程度を使うと、声の高さの影響を受けにくい特徴量になります。

名前と現在の使われ方

スペクトルの対数をさらに周波数分析したものをケプストラムと呼びます。名前は、spectrumの先頭4文字を逆に並べた造語です。MFCCは、HMMを使う従来の音声認識や、話者識別で広く使われてきました。ディープラーニングを使う現在の音声認識では、DCTの前の対数メルスペクトログラムを入力にすることも増えています。

覚え方

「FFT→メル→ログ→DCT」の順番を、「耳に合わせて声道の形を要約する」流れとして覚えます。

G検定での出題

FFT、メルフィルタバンク、対数、離散コサイン変換と進む手順の順序、低次の係数がスペクトル包絡を表す点、音声認識や話者識別の特徴量として使われる点が問われます。

シラバスでは「メル周波数ケプストラム係数(MFCC)」と表記されています。

◯×チェック

  1. 音声認識では、各フレームのMFCCに加えて、その時間変化を表すΔ(デルタ)やΔΔの係数を特徴量に加えることが多い。

    答えを見る

    答え ◯ 正しい

    MFCCは1つのフレームの形しか表しません。前後のフレームとの変化量を加えると、音が移り変わる様子もとらえられます。13個の係数にΔとΔΔを加えた39次元が代表的な構成です。

  2. ケプストラム(cepstrum)という名前は、スペクトル(spectrum)の綴りの一部を入れ替えて作られた造語である。

    答えを見る

    答え ◯ 正しい

    1963年にボガートらが名付けました。spectrumの先頭のspecを逆に並べてcepsとした語で、スペクトルの対数をさらに周波数分析するという処理の性質を表しています。

  3. MFCCは声の個人差をまったく含まないため、話者識別の特徴量としては使われない。

    答えを見る

    答え × 誤り

    MFCCには、声道の長さや形による個人差も表れます。そのため話者識別でも、代表的な特徴量として長く使われてきました。

練習問題

メル周波数ケプストラム係数(MFCC)の問題(3問)
  1. 音声認識に使う特徴量
  2. FFTの周波数分解能
  3. メルフィルタバンクの帯域配置

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術28

出典

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習