プログラムで 2 つのオーディオ ファイルを比較したいと考えています。例: iPhone アプリにサウンド ファイルがあり、別のファイルを録音します。既存の音が録音された音と一致するかどうかを確認したい ( - 音声認識に似ています)。
どうすればこれを達成できますか?
プログラムで 2 つのオーディオ ファイルを比較したいと考えています。例: iPhone アプリにサウンド ファイルがあり、別のファイルを録音します。既存の音が録音された音と一致するかどうかを確認したい ( - 音声認識に似ています)。
どうすればこれを達成できますか?
とにかく、モバイルデバイスには適していないオーディオフィンガープリンティング計算をサーバーに実行させます。次に、モバイル アプリがファイルをサーバーにアップロードし、分析結果を取得して表示します。したがって、それを実装するプログラミング言語はそれほど重要ではないと思います。次に、いくつかの AF 実装を示します。
Java: http://www.redcode.nl/blog/2010/06/creating-shazam-in-java/
ずっと前に質問されたことは知っていますが、明確な答えは他の誰かを助けることができます.
Echoprintのライブラリ(ウェブサイト: echoprint.me/start ) は、次の問題の解決に役立ちます。
PS: その他の音楽指向の機能については、ここでAPIのリストを確認できます。
フィンガープリンティングを自分で実装したい場合は、ここに参考文献としてリストされているドキュメントを読む必要があります。おそらく、Google Code の musicip-libofa を参照してください。
これが役立つことを願っています;)
かなりMhzが集中する可能性があります。
DSP の詳細は、よく知られているテキストにあります。
同様に、両方のオーディオトラックから数秒のサンプルを選択し、それらを振幅で正規化し、バンドパスフィルターを使用してノイズを低減し、相関器を使用してみてください。
たとえば、2つのうちの1つの5秒間のサンプルを取得し、それを2つ目のサンプルの上にスライドさせて、シフトするたびに相互相関を計算することができます。(小さすぎるパケットを使用すると、予期しないときに高い相関が発生する可能性があり、信号のトリミングと相互相関による副作用が発生する可能性があることに注意してください)。相互相関の結果をすべて含む配列を収集した後、最大値のインデックスを取得できます。
次に、実験的にしきい値を設定する必要があります。これは、いつパシェが同じであると想定するかを決定します。これは、比較しているオーディオトラックの品質に応じて変わります。
無線通信で前文を受信して区別するためのコリエーターを実装しました。私のスクリプトは実際にはmatlabで実行されます。あなたが興味を持っているなら、私は共通の部分を見つけてあなたにそれを送ることを試みることができます。
フォーラムに貼り付けるには長すぎるコードになります。よろしければお知らせください。できるだけ早くお送りします。
乾杯