共同音楽識別サービスを作成する必要があります。すべてのユーザーは、曲のフィンガープリントを作成し、メタ情報とともにサーバーに送信することができます。最初はサービス データベースは空で、音楽フィンガープリントが受信されるたびに、曲のメタ データが更新されます (別のユーザーが別の情報を送信した場合、サーバーは多数決に基づいてメタ データをフィンガー プリントに割り当てます)。同じ指紋)。
曲全体のフィンガープリントを計算する必要がありますが、一部から曲を特定する必要はありません。
フィンガープリントは 100% 正確であってはなりません。同じファイルが異なる圧縮率でエンコードされているだけで、2 つの曲ファイルが同じフィンガープリントを受け取ることができれば幸いです。低レベルのノイズ独立性はプラスになります。
曲の最初または最後の無音は問題になりません。標準の無音抑制アルゴリズムを使用して削除する必要があります (この場合、非常に正確な結果は必要ありません)。
http://echoprint.me/やhttps://acoustid.org/のようなオープンソース ライブラリがあることは知っていますが、これらのライブラリは私のニーズには過剰です。これにより、重いデータベースが作成されます。曲全体のフィンガープリントが重すぎない (数 kb) アルゴリズムが必要です。
使用できる最も単純で最速のアルゴリズムはどれですか?
ありがとうございます