音楽のフィンガープリントはどのように機能しますか (Shazam や Lala.com などのサイトの場合)?

StackOverflow https://stackoverflow.com/questions/2046771

質問

私の大規模な (120 GB) 音楽コレクションには重複した曲が多数含まれており、重複を検出することを期待してトラックのフィンガープリントを試みてきました。私は CS 専攻なので、そこで何が行われているのか非常に興味があります。私がやっていることは、Shazam や Lala.com ほど正確なものではありません。どのようにしてトラックを「ハッシュ」するのでしょうか?すべてのファイル (26,000 ファイル) に対して標準の MD5 ハッシュを実行しましたが、異なるトラックに数百の等しいハッシュが見つかったため、機能しません。

Shazam とは異なり、Lala.com は完全なファイルを扱うため、私は Lala.com に興味がありますが、どちらも同様のテクニックを使用していると思います。音楽の一意の識別子を生成する方法を説明できる人はいますか?

役に立ちましたか?

解決

オーディオフィンガープリントの精液の論文は、2002-03でHaitsmaとKalkerの作品です。オーディオのフレーム毎に、それは、(時間フレーム及び周波数帯域の両端の差)を前処理した後、フレームのスペクトルの二値化バージョンを格納します。

この手順では、堅牢性を追加します。全体の信号が時間的にシフトされている場合、それはまだ(少なくとも、1は、パフォーマンスの低下の下限を導き出すことができます)動作します。それは、環境騒音にかなり堅牢です。創業以来、低レベルの音楽の類似性に多くの論文があったので、単一の答えはありません。

あなたは絶対に同一のファイルを持っていますか、すなわち、信号が時間整列され、ビット深度が同じで、サンプリングレートは同じですか?それから私は、MD5などのハッシュが動作するはずだと思うでしょう。これらのパラメータのいずれかが変更された場合でも、そのハッシュをでしょう。このようなイベントでは、先に述べたような手順では、より良い仕事でしょう。

ISMIR手続利用できる無料のオンラインを見てみましょう。楽しいもの。 http://www.ismir.net/する

他のヒント

音響フィンガープリンティングには多数のアルゴリズムがあります。より人気のあるものとしては次のようなものがあります。

  1. AMGラッソ
  2. オーディオID
  3. LibFooID

実際、 libfooId はオープンソースなので、そのコードを google-code でチェックアウトできます。

Wikipediaの彼音響指紋のページを見てみましょう。これは、( fdmf のオープンソースを含む)いくつかの論文だけでなく、実装へのリンクについては言及されています。

いくつかのより多くの研究(!これがすべてでは決定的ではないが)した後、私は彼らが使用するアプローチのいくつかを詳細にMusicBrainz.orgでのwiki全体で起こっます:

http://musicbrainz.org/doc/Audio_Fingerprintする

http://musicbrainz.org/doc/How_PUIDs_Workする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top