一連のMFCCベクトルの正しいグラフィック解釈は何ですか?


7

私は音声認識、特に特徴抽出のためのMFCCの使用について研究しています。オンラインで見つけたすべての例は、特定の発話から抽出された一連のMFCCを次のようにグラフ化する傾向があります(私が作成しているソフトウェアから私が生成したグラフ)。

機能ごとのMFFCベクトル 上のグラフからわかるように、

  • x軸は、(この例では12に1から)MFC係数のそれぞれのために使用されます
  • y軸は、(この例ではおよそ10mlの液体フッ化水素を圧入-12から42の範囲)係数の値のために使用されます
  • あなたは持っているフレームなど多くの行として、またはあなたが抽出されている特徴ベクトル(この例では140)。

ここで見ているのは、すべての特徴ベクトルを一度に重ね合わせたため、時間情報が失われているためです。この表現がどのように役立つかを理解するのに苦労しています。

私の考えでは、抽出したベクトルを次のように表現します(ここでも、私が生成したグラフです)。

フレームごとのMFCCベクトル

上のグラフでは:

  • x軸はフレームまたはベクトル数(1 140)に
  • y軸(-12から42およそ10mlの液体フッ化水素を圧入し、再び)係数値であります
  • あなたは持っている機能ごとに1行(12)。

私にとって、この表現は、特定の各機能の時間的変化を見ることができ、音声アルゴリズムに比較アルゴリズムを適用する方法により強い影響を与えるはずなので、より役立つはずです。

おそらく、2つの表現は等しく有効であり、さまざまな目的に役立ちます。時間領域または周波数領域で信号を調べる必要がある場合と同様ですが、音声認識の場合、各個人の時間変化を予測します。機能は、各機能の値密度よりも意味のあるものにしてください(おそらく私は完全に間違っています:P)。

したがって、実際には2つの質問があります。

  1. なぜ最初の表現が広く使われているように見え、2番目の表現ではないのですか?
  2. たとえば、動的タイムワーピング-DTWを使用して、このトピックに関連する、抽出されたMFCCの2つのセットを比較する場合、特徴ベクトル(つまり、12特徴の140ベクトル)またはフレーム(140フレームの12ベクトル)を比較しますか? )?(つまり、MxNまたはNxM?)

ありがとう!


あなたは完全に間違っています。個々の係数はほとんど意味がなく、全体として12次元のベクトルと見なす必要があります。
Nikolay Shmyrev 2017年

詳しく説明しますか?なぜ反対票?
jotadepicas 2017年

質問する人が(おそらく)間違っているため、見事な、反対票を投じる
Robert

インターネットからの情報を引用し、リンクを提供しなかったため、元の作者の意図を説明することが不可能になったため、反対票を投じました。
Nikolay Shmyrev 2017年

stackoverflow.com/help/privileges/vote-downによると、特に「通信と編集の代わりとして使用することを意図したものではありません」という誤った投票を使用しています。「何か問題がある場合は、コメントを残すか、投稿を編集して修正してください。」ところで、これらのグラフは私が検討しているソフトウェアを使用して私が作成したものであり、良い質問を書くための私の努力の一環として作成されたもので、それらのインターネットリンクはありません。私が言及している「オンラインの例」を参照している場合は、リンクを追加できますが、それはあなたが認める一般的に受け入れられているアプローチであるため、違いが生じるかどうかはわかりません。
jotadepicas 2017年

回答:


10

MFCCを常に使用する方法は、MFCCを分類子に送ることです。これは、フレームごと(12x1ベクトル)、または連結(12xN)によって行うことができます-スペクトログラムと同じです。

したがって、DTWの場合、12Dベクトル間の距離を計算して分類を実行する必要があります。これはダイナミックタイムワーピングであるため、「単一の機能ドメイン」内のサンプル間ではなく、時間ドメイン内のフレーム間で差を計算する必要があります。

以下はそのグラフィック表現です:

ここに画像の説明を入力してください


MFCCプロットに関する単なる補遺。スタックされたすべてのMFCCベクトルのラインプロット(最初の画像)を見ても意味がありません。すべてのMFCCの時間発展(2番目の画像)を見るのはあまり役に立ちません。特定のことを達成したい場合を除き、MFCCには正しいグラフィック表現の概念はありません。

まず、各MFCCの分布(ヒストグラム)をプロットして、典型的な値などを確認できます。特に、信号用にトレーニングされたGMMモデルがある場合、テストサンプルの分布をプロットし、GMMのPDFでオーバーレイできます。その次元で。

2番目のアプローチは、MFCCをスペクトログラムと同様にプロットすることです(上の図に示すように)。「素敵な表現」や全体的な傾向やパターンを見るためにそれを使いたいかもしれません。しかし、そのような表現の背後にどのような信号が隠れているかを知ることはほとんど不可能です。

たとえば、これは非常に単純な信号のMFCCプロットです。それはどんな信号ですか?準備ができたら、黄色いスペースにカーソルを合わせてください。

ここに画像の説明を入力してください

指数正弦スイープ! ここに画像の説明を入力してください

わかりやすかったですか?確かに、スペクトログラムを見るとすぐに分かりました。たぶん以前にそのような例で遊んだので、推測した人はほとんどいないでしょう。ここで、もっと複雑なもの:

ここに画像の説明を入力してください

準備はいい?

鳥のさえずり- ここで聞くことができます ここに画像の説明を入力してください

このMFCCの表現は、スペースを埋める以外は何の役にも立たないと思います。現在、スペクトログラムに基づいて信号を推測する人はほとんどいないかもしれませんが、MFCCの信号を見て推測することは不可能です。

したがって、誰かが「周波数領域での三角フィルターバンク内の対数エネルギーの相関のないコサインフィット」に基づいて信号で何が起こっているかを伝えることができると誰かが言っている場合、その人は嘘つきです(事前の 99.9)またはコンピュータ。 生のMFCC値を調べることが役立つ場合は非常にまれです-デバッグや健全性チェックなど(定常信号の係数は定数です)。


1
そのような包括的な(そして読むのが楽しい:P)回答を本当にありがとう。まさに私が探していたガイダンスであり、IMOは質の高いコンテンツの例です。
jotadepicas

@jotadepicas:心配ありません。それがあなたの質問に答えるなら、それを受け入れられたものとしてチェックマークを付けてください。そうすれば、それはメインページに戻らないでしょう。
jojek

確かに!私はいつも他の答えが出てきた場合に備えて質問を1日か2日開いたままにしておき、そして最高のものを受け入れられたものとしてマークする傾向があります。おそらく、あなたの:D。再度、感謝します!
jotadepicas 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.