「Shazamのような」ソリューションを提供するオープンソースのオーディオフィンガープリントソリューションはありますか?
Shazam は Landmark digital の商用ソリューションを使用しますが、代わりの(精度とパフォーマンスが劣っていても)オープンソースソリューションを探しています。
そのような実装について、または公開されていない実装されたアルゴリズムについても、何か知っている人はいますか?
いくつかのオープンソースの音声認識プロジェクトがありますが、Shazam、SoundHoundなどの商用音声識別サービスの品質/性能は忘れることができます。また、どの種類の認識をしたいかにも依存します(音声ファイルのフィンガープリント/タグ付け、リアルタイム識別、OTA(Over-The-Air)認識など)
オープンサース
AcoustID/MusicBrainz オーディオフィンガープリントとメタデータの関連付けを実行するツールを提供します(フィンガープリンターとサーバー)。独自の指紋/メタデータサーバーを設置するか、MusicBrainzのサービスを使用できます。オーディオファイルのフィンガープリントと認識に適したソリューションであり、リアルタイムの高性能アプリケーション(OTAなど)には適していません。オーディオストリームモニタリング(ブロードキャストモニタリング)についてもテストしましたが、結果は非常に悪かったです。
Echoprint AcoustID(fingerprinterおよびserver + metadata)と同じツールを提供し、オーディオ内のどこからでも取得したスニペットを適切な精度で認識することができるため、オーディオストリームモニタリングにも使用できます(ただし、深刻な商用アプリケーションに使用してください)。また、OTAアプリケーションに適していると主張していますが、パフォーマンスは実稼働用途には適していません。
Last.fm完全にオープンソースではありませんが、指紋認証モジュールはオープンソースになっています。完全なソリューションを提供していないため、IDおよびメタデータプロバイダーサービスを照会する必要があります。
Javaライブラリを探してMusicGに移動する場合、過去のプロジェクトの1つで使用し、正常に機能しています。 http://code.google.com/ p/musicg /
.NETでソリューションを探している場合は、 SoundFingerprinting libraryを確認してください。
オープンソースであり、Waveletsの研究論文を使用したContent Fingerprintingの上に構築されています。
アルゴリズムはShazaamのアルゴリズムとは異なりますが、一般的な考え方は似ています。スペクトルから最も顕著な係数を抽出し、それらを使用して、後で取得するために指紋を構築します。
アルゴリズムの説明は here にあります。