2012-03-20 7 views
20

私は、iOS 5.0用のSDKとXCode 4.2用のiOSアプリケーションを開発しています。ShazamまたはSound Houndの仕組みは?

サウンドを認識するアプリケーションを開発したいと考えています。私はSound Houndと呼ばれるアプリケーションがあり、音楽を認識してアーティストとタイトルを伝えることがわかります。

どうすれば似たようなことができますか?私は、既存のサウンドデータベースとサウンドを比較したい。 どうすればいいですか?

多分私はフーリエ変換を使用することができます。私は音を処理する方法を知らない。それとも、音声認識に似ているかもしれませんね。

+6

これはかなり簡単なアルゴリズムですが、アプリケーションの本当の鍵はアルゴリズムが特許されているということです。あなたがそれを自分で実装しようとすると、吸血鬼の弁護士は薄い空気から出て、あなたの人生を吸います...;) – Lindydancer

+0

まあ、私はそれを望んでいません。私は音をどのように比較できるか知りたい。フーリエ変換を使う? – VansFannel

+1

これは役立つ可能性があります:http://gizmodo.com/5647458/how-shazam-works-to-identify-nearly-every-song-you-throw-at-it – VansFannel

答えて

21

オーディオ検索アルゴリズムの仕組みを説明する論文が出てきました。ここにはlinkがあります。 SoundHoundのライバルアプリケーションであるShazamの開発者の一人が書いたものです。ウィキペディアのページで

7

良いlinksは、次のとおりです。 http://www.soyoucode.com/2011/how-does-shazam-recognize-songとSub_stantial以前ジャーンアプリケーションは、それがエンドユーザーからの短いサンプル音楽をとるリンクされたオープンデータでのアプリケーションのための最高の例の一つである

1

を指摘した紙http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdfをデータセットからその曲を識別し、アルバムを購入するためのリンクを特定します。

ユーザは10秒間ソングにタグを付け、アプリケーションは単純化されたスペクトログラムのアンカーの一部とそれらの間のターゲット領域に基づいてオーディオフィンガープリントを作成します。

ターゲット領域の各ポイントについて、アンカーポイントが配置されている頻度、ターゲットゾーン内のポイントが置かれている頻度、およびその間の時間差の組み合わせであるハッシュ値を作成します。ターゲットゾーン内のポイント、およびアンカーポイントがソング内に位置するとき。

音声の指紋が作成されると、Shazamはデータベース内の一致の検索を開始します。一致するものがあれば、その情報がユーザに返されます。それ以外の場合は、 "知られていない曲"の対話を返します。