ほとんどのオーディオ処理タスクで、最も使用される変換の1つはMFCC(メル周波数ケプストラム係数)です。
私はほとんどMFCCの背後にある数学を知っています。フィルターバンクステップとメル周波数スケーリングの両方を理解しています。
取得できないのはDCT(離散コサイン変換)ステップです。このステップではどのような情報を取得できますか?このステップの優れた視覚的表現は何ですか?
ほとんどのオーディオ処理タスクで、最も使用される変換の1つはMFCC(メル周波数ケプストラム係数)です。
私はほとんどMFCCの背後にある数学を知っています。フィルターバンクステップとメル周波数スケーリングの両方を理解しています。
取得できないのはDCT(離散コサイン変換)ステップです。このステップではどのような情報を取得できますか?このステップの優れた視覚的表現は何ですか?
回答:
DCTは圧縮ステップと考えることができます。通常、MFCCでは、DCTを取得し、最初の数個の係数のみを保持します。これは、DCTがJPEG圧縮で使用されるのと基本的に同じ理由です。DCTが選択されるのは、これらのタイプの信号では境界条件がよりうまく機能するためです。
DCTとフーリエ変換を比較してみましょう。フーリエ変換は、整数のサイクルを持つ正弦波で構成されています。これは、すべてのフーリエ基底関数が同じ値で開始および終了することを意味します。異なる値で開始および終了する信号を適切に表現することはできません。フーリエ変換は周期的な拡張を想定していることに注意してください。紙のシートで信号を想像すると、フーリエ変換はそのシートを円柱に丸めて、左右が一致することを望みます。
負の勾配を持つラインのような形をしたスペクトルを考えてみてください(これは非常に一般的です)。フーリエ変換では、この形状に合わせてさまざまな係数を使用する必要があります。一方、DCTには、半整数のサイクル数の余弦があります。たとえば、負の勾配を持つそのラインのように漠然と見えるDCT基底関数があります。期間の延長(代わりに、均等な延長)を想定していないため、その形状に適合するより良い仕事をします。
それで、これをまとめましょう。メル周波数スペクトルを計算すると、人間の聴覚がどのように機能するかに似た方法で敏感なスペクトルの表現が得られます。この形状のいくつかの側面は、他の側面よりも関連性があります。通常、スペクトル内のノイズの多い詳細よりも、より大きくより包括的なスペクトル形状が重要です。スペクトル形状に従うように滑らかな線を描くことを想像できます。また、描く滑らかな線は、信号についてもほぼ同じことを伝えるかもしれません。
DCTを取得してより高い係数を破棄すると、このスペクトル形状を取得し、この滑らかな形状を表現するためにより重要な部分のみを保持します。フーリエ変換を使用した場合、重要な情報を低係数に保持することはそれほどうまくいきません。
MFCCを特徴として機械学習アルゴリズムに供給することを考えた場合、これらの低次係数はスペクトル形状のいくつかの単純な側面を表すので、良い特徴になりますが、破棄する高次係数はノイズのようなものです訓練することは重要ではありません。さらに、異なる周波数での特定の振幅はスペクトルの一般的な形状ほど重要ではないため、Melスペクトルの大きさ自体のトレーニングはおそらくそれほど良くないでしょう。
MFCCを理解する鍵は、リンク先の記事の文頭にあります。
それらは、オーディオクリップのケプストラム表現のタイプから派生しています...
MFCCは対数スペクトルのスペクトル、ケプストラムのようなものです。
ケプストラムが適切である理由は、対数演算を挿入すると、元の信号の畳み込みがケプストラムに単純な加算として現れるためです。
リフターリングは標準ケプストラムほど直接的ではありませんが、その利点はMFCCにも引き継がれます。
MFCCの違いは、逆フーリエ変換の代わりに離散コサイン変換(DCT)を最終変換として使用することです。
フーリエ変換に対するDCTの利点は、結果の係数が実数値であるということです。これにより、後続の処理と保存が容易になります。