
確かにあなたの多くは
TrackID 、
Shazam 、
MusicBrainzまたはオンライン
Audiotag.infoのような音楽識別システムについて聞いて知っています。これは曲の録音されたパッセージからその名前を知らせます。 それらはすべて十分ですが、共通の欠点があります-クローズドソースであり、したがって、範囲が制限されます。 プラットフォームのより広範なリストではありますが、Sony Ericsson携帯電話でのみ、Shazam携帯電話でもTrackIDを使用できます。MusicBrainzは、それがまったく動作するかどうかは一般に不明です。
Echo Nest社の
メンバーは、音楽認識は電子メールやDNSと同じように世界中からアクセス可能であるべきだと判断しました:)、MITライセンスの下で彼らの発案を完全にリリースしました。 発案者は非常に深刻だと言わざるを得ません。たとえ会社の創設者が
MIT Media Labの科学博士であったとしてもです。
彼らがリリースした機能的な
獣は、記録されたパッセージから音楽を認識するだけでなく、重複した音楽の検索、大量認識、音楽コレクションのタグの入力、特定の素材のコンテンツのオーディオ/ビデオのチェックなどを行うことができます、さまざまな音楽スペース(iTunes <-> Last.fm <-> Spotifyなど)からのコレクションの同期など。
どのように機能しますか?
簡単に説明すると、クライアント側でコードジェネレーターが起動され、曲の録音された部分の一意のフィンガープリントが形成され、認識のためにサーバーに送信されます。
お客様
クライアント(別名
echoprint-codegen )は、クロスプラットフォームライブラリとバイナリの形式で提供されます。 一般的な使用例は次のとおりです。10秒から始まるmp3ファイルから20秒を確認します。
echoprint-codegen。 / recorded.mp3 10 20 | \
curl -F "query = @-" http: // developer.echonest.com / api / v4 / song /特定? api_key = MY_API_KEY
{ "応答" : { "ステータス" : { "バージョン" : "4.2" 、 "コード" : 0 、 "メッセージ" : "成功" } 、
"songs" : [ { "tag" : 0 、 "score" : 66 、 "title" : "Creep" 、 "message" : "OK(match type 6)" 、
「artist_id」 : 「ARH6W4X1187B99274F」 、 「artist_name」 : 「Radiohead」 、 「id」 : 「SOPQLBY12A6310E992」 } ] } }
また、プログラムでこれを使用する場合は、簡単です。
Codegen * pCodegen = new Codegen ( const float * pcm、uint numSamples、 int start_offset ) ;
文字列コード= pCodegen- > getCodeString ( ) ;
明らかになると、これをお気に入りの言語/プロジェクトにねじ込むのは難しくありません-十分な想像力を持たせるだけです。 ちなみに、最も活発な人のために、彼らはEchoNest APIを最大限に活用する最も興味深く革新的な音楽アプリケーションのために賞金10,000ドルのコンテストを開催しました。 そして、彼らが持っているAPIは非常に広範囲であり、アーティストの主な地理的位置と生年からダンス構成のレベルまで、考えられるものと考えられないものすべての音楽構成を結び付けます。
曲のデジタルフィンガープリントを取得するために、独自のアルゴリズム
The Echo Nest Musical Fingerprint aka ENMFPが使用されます。これは、類似の曲の検索、BPMのカウントなど、他のサービスで長年使用され、成功を収めています。 男たちは、歌の分析(音だけでなく、作曲)で犬を正確に食べたと言っています。
開発者ポータルで APIの詳細を学ぶことができ
ます 。
サーバー
サーバー側のコードも
githubで
公開されているため、必要に応じて独自のサーバーを作成できます
。EchoNestは 、処理済みの数ギガバイトのデータを
共有することさえできます。 サーバーエンジンは、
Taprantをデータベースとして使用する
Apache Solr検索サーバーに基づいています。
これまでのところ、サーバーには比較的少ないデータがあります-約150,000曲ですが、同社によると、数百万ドルの
7digitalコレクションをインポートし、MusicBrainz(彼のデータと統合するためにechoprintサーバーを上げた)と積極的に協力し、ダウンロード用の機能も提供しますユーザーによる新しい曲。
使用する

もちろん、使用する主な機能の1つは、聞こえる音楽を認識することです。 いい歌を聞いて、電話を取り出し、ボタンを押して、誰が歌っているのかを見つけました。 私はすぐにMaemo / Meegoの
echoprintクライアントを
作成しましたが、テスト中に次のことが言えます。
- 一部のパフォーマーは認識される可能性が非常に高く、一部のパフォーマーは時間とともに
- 最小記録期間は20秒です。 録音時間が長くなると、認識される機会が増えます
- 音量は結果にほとんど影響しません-アルゴリズムは音を非常にうまく正規化します
- メタリカはベートーベンよりもよく認識されています:-D
- 時々それは間違っています:(
さらに、彼らはアルゴリズムがライブパフォーマンスや同様のカバーなどの同様のバージョンを見つけることができるとさえ主張しています。
これまでのところ、もちろん、エコープリントのシャザムの殺人者を呼ぶのは時期尚早ですが、これは時間の問題です。 そのようなプロジェクトは、リリースされると、桁違いに速く開発され始めます。
結論
この素晴らしいオープンソースプロジェクトの簡単な概要に加えて、私が伝えたい主なことは、会社が本当に重要なものを作成しているということです(もちろん、すべての人のためではありません)。 これは単なる「別の音楽処理アルゴリズム」ではなく、これまでにリリースされたすべての楽曲を検索、記述、結合できる音楽の百科事典全体です。 Shazamとは異なり、Echo Nestデータベースにはあまり知られていないバンドに関する情報が含まれている場合があります-少なくとも自分の曲をアップロードしてください。 さらに、コードネームRosetta Stoneのプロジェクトの1つは、同じMusicBrainz IDやNapster Artist IDなど、異なる識別子スペースを組み合わせることを目的としています。
一般的に、ある種の音楽的なウィキペディアは、開放性のおかげで、本当に壮大なものに成長することを約束します。