6

私の最終年度のプロジェクトでは、私は犬/樹皮/鳥の音をリアルタイムで(サウンドクリップを録音することによって)特定しようとしています。私はオーディオ機能としてMFCCを使用しています。最初は、jAudioライブラリを使用してサウンドクリップから12個のMFCCベクトルを抽出しました。 今、私は機械学習アルゴリズムを訓練しようとしています(アルゴリズムを決定していない瞬間には、おそらくSVMです)。サウンドクリップのサイズは約3秒です。このプロセスに関するいくつかの情報を明確にする必要があります。彼らは、あるMFCC係数ベクトルを使用して機械学習アルゴリズムをトレーニングする方法は?

  1. iは、フレームベースの別MFCC(フレームあたり12) かまたは全体のクリップベースの別MFCC(サウンドクリップあたり12)を使用して、このアルゴリズムを訓練する必要がありますか?

  2. アルゴリズムを訓練するには、12個のMFCCをすべて12個の異なる属性と考えるか、12個のMFCCを1つの属性として考える必要がありますか?

これらの別MFCCは、任意の助けが本当にこれらの問題を克服するために理解されるであろう

-9.598802712290967 -21.644963856237265 -7.405551798816725 -11.638107212413201 -19.441831623156144 -2.780967392843105 -0.5792847321137902 -13.14237288849559 -4.920408873192934 -2.7111507999281925 -7.336670942457227 2.4687330348335212

、クリップの全体的な別MFCCです。私はGoogleで良い助けを見つけることができませんでした。 :)

+0

可能であれば、あなたのコードを共有してもらえますか?私は同様のことに取り組んでいます。 –

答えて

4
  1. フレームごとにMFCCを計算する必要があります。あなたの信号は時間的に変化するので、全体のクリップにそれらの信号を取り込むことは理にかなっていません。さらに悪いことに、あなたは犬と鳥が同じような表現をしてしまうかもしれません。私はいくつかのフレームの長さで実験したいと思います。一般的には、ミリ秒単位で表示されます。

  2. これらはすべて別個の機能である必要があります。機械学習アルゴリズムが最良の予測子であるかどうかを決定させる。

MFCCはノイズに敏感であることに注意してください。最初にどのようにサンプルが鳴るかチェックしてください。抽出のためのオーディオ特徴のさらに豊富な選択は、例えば、 Yaafe library、その多くがお客様のケースでより効果的です。具体的には?

  • スペクトルの平坦性
  • 知覚的な普及
  • スペクトルロールオフ
  • スペクトル減少
  • スペクトル形状統計
  • スペクトル傾斜
  • リニア:ここで私は鳥の呼び出しの分類で最も有用見つけたものです予測符号化(LPC)
  • ラインスペクトルパイrs(LSP)

this project、特に私がYaafeと接続している部分をチェックアウトするのが面白いかもしれません。

私がSVMを使ったのは、あなたが計画している通りです。今日私は確かにグラジエントブースティングと一緒に行くだろう。

+0

これは本当に役立ちますし、また、このケースの推奨ウィンドウサイズは何ですか?通常、私は3秒間の窓を持つように思っていました。また、トレーニングについては、マトリックスの作成方法を教えてください。私は12の異なる属性を作成する必要があるので、それらのすべてが別々の機能です。 – nayakPan

+0

情報を保持する最短の間隔としてウィンドウサイズを考えてみましょう。 3秒であなたは完全な文章を言うことができます。私の答えで説明したように、ミリ秒のオーダー。 16ms。ウィンドウは、少なくとも50%以上重なっている必要があります。たとえば、「行列を作成する」の方法は、私が共有したコードを参照してください。 –

+0

は、情報が必要なもの、または私が認識する必要のある小さな部分の情報を保持していますか?特定の鳥のユニークな音が長さの2秒であると言うことができます。私は1秒のウィンドウサイズを使用する場合、その鳥の実際の音を得るの単一のチャンスはありません? :( – nayakPan

関連する問題