0

共同音楽識別サービスを作成する必要があります。すべてのユーザーは、曲のフィンガープリントを作成し、メタ情報とともにサーバーに送信することができます。最初はサービス データベースは空で、音楽フィンガープリントが受信されるたびに、曲のメタ データが更新されます (別のユーザーが別の情報を送信した場合、サーバーは多数決に基づいてメタ データをフィンガー プリントに割り当てます)。同じ指紋)。

曲全体のフィンガープリントを計算する必要がありますが、一部から曲を特定する必要はありません。

フィンガープリントは 100% 正確であってはなりません。同じファイルが異なる圧縮率でエンコードされているだけで、2 つの曲ファイルが同じフィンガープリントを受け取ることができれば幸いです。低レベルのノイズ独立性はプラスになります。

曲の最初または最後の無音は問題になりません。標準の無音抑制アルゴリズムを使用して削除する必要があります (この場合、非常に正確な結果は必要ありません)。

http://echoprint.me/https://acoustid.org/のようなオープンソース ライブラリがあることは知っていますが、これらのライブラリは私のニーズには過剰です。これにより、重いデータベースが作成されます。曲全体のフィンガープリントが重すぎない (数 kb) アルゴリズムが必要です。

使用できる最も単純で最速のアルゴリズムはどれですか?

ありがとうございます

4

1 に答える 1

2

AcoustIDプロジェクトを使用することをお勧めします。あなたの説明は多くの点でこのプロジェクトと一致しています。彼らのアプローチの一部だけが、あなたが提案したものとは異なります。

サービスは短い音声スニペットを識別できますか?

いいえ、できません。このサービスは、完全なオーディオ ファイルを識別するように設計されています。最終的にはこのユース ケースもサポートしたいと考えていますが、現時点では優先事項ではありません。これが実装される場合でも、電話で録音されたバックグラウンド ノイズを伴うオーディオではなく、元のオーディオ (長いオーディオ ストリームのトラックリストを作成する目的など) を一致させることを目的としていることに注意してください。

より良い説明については、メーリング リストをご覧ください: https://groups.google.com/forum/#!forum/acoustid

于 2016-11-27T23:30:04.017 に答える