次に、添付の図面にその例が示されている、様々な実施形態を詳細に参照する。以下の詳細な説明では、本主題の完全な理解を与えるために多数の具体的な詳細が記載される。ただし、本主題はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。他の事例では、様々な実施形態の態様を不必要に不明瞭にしないように、よく知られている方法、手順、システム、および構成要素については詳細に説明していない。
図1は、本開示の一実施形態による、楽曲がオーディオストリームの中で識別されるとき、楽曲に関連した情報を表示するように構成された電子デバイス120を示す。本明細書において、「音楽」という用語は、リズム(たとえば、テンポ、拍子、および調音)、ピッチ(たとえば、メロディおよびハーモニー)、強弱法(たとえば、音または音符のボリューム)などの1つまたは複数の要素によって特徴づけられ得る任意のタイプの音を指すことがあり、楽器、音声などの音を含むことがある。加えて、本明細書での「楽曲」という用語は、唯一のまたは独特の音楽著作物または作品を指すことがあり、そのような音楽著作物または作品の歌、曲などのような音形式またはオーディオ形式での創作または再生を含むことがある。さらに、「オーディオストリーム」という用語は、複数の楽曲、環境音、音、音声、雑音などを含み得る音ストリームの1つまたは複数の部分を表す、1つまたは複数の電気信号またはデータのシーケンスを指すことがある。
電子デバイス120は、セルラーフォン、スマートフォン、ウェアラブルコンピュータ、スマートウォッチ、スマートグラス、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートテレビジョン、ゲームデバイス、マルチメディアプレーヤなどの、音取込み機能および音処理機能ならびに通信機能が装備された任意の電子デバイスであってよい。図示の実施形態では、電子デバイス120は、楽曲に対応する音を含む入力音ストリームをスピーカー150から受信し得、入力音ストリームをオーディオストリームに変換し得るスマートフォンとして示される。入力音ストリームが受信されオーディオストリームに変換されるとき、電子デバイス120は、音および音楽を検出し得、オーディオストリームの中の楽曲を識別し得る。一実施形態では、音は、所定のしきい値音強度に基づいてオーディオストリームの中で検出され得る。音を検出すると、電子デバイス120は、オーディオストリームの中の音楽を検出することを開始してよい。
音楽がオーディオストリームの中で検出されると、電子デバイス120は、検出された音楽に関連した楽曲に関する識別情報を取得し得る。楽曲に関する識別情報は、外部デバイス(図示せず)から受信されてよく、または電子デバイス120の内部のデータベース(図示せず)から取り出されてよい。識別情報を取得すると、電子デバイス120は、識別情報を表示スクリーン130上に表示し得る。本明細書において、「識別情報」という用語は、楽曲を識別または記述し得る任意の情報を指すことがあり、タイトル、アーティスト、継続時間、音楽ビデオへのリンク、レーティング、音楽ジャケットカバー、レビュー、ダウンロード条件などの中の少なくとも1つを含むことがある。一実施形態では、電子デバイス120のユーザ110は、スピーカー150によって現在演奏されている楽曲に関する識別情報を閲覧し得る。
図示の実施形態では、電子デバイス120は、楽曲が識別されたという通知132、識別された楽曲に関するタイトルおよびアーティストの名前を含む識別情報134を表示スクリーン130上に表示し得る。さらに、電子デバイス120は、楽曲のためのダウンロードアイコン136、ビューM/V(音楽ビデオ)アイコン138、および共有アイコン140を表示し得る。ユーザ110は、アイコン136、138、および140を選択して(たとえば、その上に触れて)、それぞれ、楽曲をダウンロードすること、楽曲の音楽ビデオを閲覧すること、楽曲を互いに共有することができる。たとえば、アイコン136が選択されると、識別された楽曲に関するオーディオファイルまたはデータが電子デバイス120にダウンロードされ得る。いくつかの他の例では、ユーザ110は、アイコン138を選択することによって、外部のサーバからストリーミングされ得る楽曲に関連した音楽ビデオを閲覧し得、またはアイコン140を選択することによって、電子メール、ソーシャルネットワーキングアプリケーション、クラウドストレージサーバなどを通じて楽曲を友人と共有し得る。
図示の実施形態は楽曲が識別されたという通知132を表示スクリーン130上に表示することを示すが、本開示はそれに限定されない。いくつかの実施形態では、電子デバイス120は、楽曲の記録を保管するために、電子デバイス120のストレージユニット(図示せず)の中に設けられてよい音楽履歴データベースに、識別された楽曲に関連した識別情報134を記憶し得る。さらに、電子デバイス120は、音楽履歴データベースに記憶されている楽曲のリストと、音楽履歴データベースに基づく推奨とを表示するための、音楽履歴管理アプリケーションを含み得る。この場合、ユーザ110は、楽曲のリストおよび推奨を閲覧するために、音楽履歴管理アプリケーションを活動化させてよい。
上述されたように楽曲に関する識別情報134を取得することに加えて、電子デバイス120は、楽曲の終了を検出するために、オーディオストリームの中の楽曲を追跡し得る。言い換えれば、オーディオストリームが入力音ストリームから生成されるとき、同じ楽曲が依然として演奏されているか否かを決定するために、オーディオストリームは監視され得る。たとえば、全体の楽曲の再生が完了したとき、または全体の楽曲が再生されることなく楽曲が別の楽曲に変わるとき、楽曲の終了が検出され得る。
いくつかの実施形態によれば、楽曲の終了を検出する際に使用するために、楽曲に関する音楽モデルが生成または取得され得る。本明細書において、「音楽モデル」という用語は、「音モデル」と互換的に使用されることがあり、それだけには限らないが、そのような音特性の統計モデルを含む、楽曲の音特性を表すモデルを指すことがある。一実施形態では、少なくとも1つの音特徴が、オーディオストリームの一部分から抽出され得、楽曲に関する音楽モデルが、次いで、少なくとも1つの音特徴に基づいて電子デバイス120において生成され得る。たとえば、音特徴は、音響指紋、MFCC(メル周波数ケプストラム係数)ベクトルなどであってよく、音楽モデルは、GMM(ガウス混合モデル)などであってよい。別の実施形態では、電子デバイス120は、複数の音楽モデルを含み得る外部デバイス(図示せず)へ少なくとも1つの音特徴を送信してよく、複数の音楽モデルの中から少なくとも1つの音特徴に関連しているものと決定される音楽モデルを、外部デバイスから受信してよい。電子デバイス120はまた、楽曲に関する音楽モデルを、電子デバイス120に記憶されている音楽モデルデータベース(図示せず)から取り出してよい。付加的または代替的には、抽出される少なくとも1つの音特徴(たとえば、音響指紋、MFCCベクトルなど)は、それ自体、本開示のいくつかの実施形態における音楽モデルとして使用され得る。
楽曲の終了を検出するために、電子デバイス120は、オーディオストリームの少なくとも1つの部分をサンプリングし得、サンプリングされた部分が楽曲を示すか否かを音楽モデルに基づいて決定し得る。サンプリングされた部分が楽曲を示すか否かを決定することによって、サンプリングされた部分が楽曲の一部分であるか否か、また、楽曲が終了しているか否かが決定され得る。オーディオストリームのサンプリングされる部分は、オーディオストリームの、音楽モデルを生成または取得するために少なくとも1つの音特徴がそこから抽出された部分に追従し得る。このプロセスでは、電子デバイス120は、オーディオストリームの複数の部分を、継続的に、周期的に、または非周期的にサンプリングしてよく、サンプリングされた部分のうちの少なくとも1つが楽曲の一部分でないかどうか、またはサンプリングされた部分のうちの少なくとも1つが楽曲の一部分であるかどうかを決定し得る。本明細書において、「オーディオストリームの一部分が楽曲の一部分であるかどうかを決定すること」という句は、オーディオストリームの部分が楽曲を示すかどうかを決定することを指すことがあり、肯定的テスト(すなわち、オーディオストリームの一部分が楽曲を示すかどうかを決定すること)、または否定的テスト(すなわち、オーディオストリームの一部分が楽曲を示さないかどうかを決定すること)のいずれかを包含してよい。また、「オーディオストリームの一部分が楽曲の一部分でないかどうかを決定する」という句は、オーディオストリームの部分が別の楽曲、音声、雑音、無音などの異なる音を示すかどうかを決定することを指すことがある。
いくつかの実施形態では、スピーカー150は、複数の楽曲のシーケンスを、継続的に、周期的に、非周期的に、または間欠的に出力し得る。この場合、電子デバイス120は、複数の楽曲のシーケンスを含む入力音ストリームを継続的に受信し得、入力音ストリームをオーディオストリームに変換し得る。上述されたような方式でオーディオストリームを監視することによって楽曲のうちの1つの終了が検出されると、電子デバイス120は、別の楽曲に関する音および音楽を検出することに進み得る。加えて、電子デバイス120は、オーディオストリームの中の複数の楽曲を識別するための識別情報を、連続的に取得し得る。複数の楽曲に関する識別情報は、識別された楽曲の記録を保管するために音楽履歴データベースに記憶されてよい。
図2は、本開示の一実施形態による、複数の楽曲に関連した識別情報を取得するために、通信ネットワーク250を介してサーバ240と通信するように構成された複数の電子デバイス210、220、および230を示す。通信ネットワーク250は、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの、1つまたは複数の有線通信ネットワークおよび/またはワイヤレス通信ネットワークを含み得る。さらに、電子デバイス210、220、および230は、符号分割多元接続(CDMA)、モバイル通信用グローバルシステム(GSM(登録商標))、広帯域CDMA(W-CDMA)、ロングタームエボリューション(LTE)、LTEアドバンスト、LTEダイレクト、Wi-Fi、Wi-Fiダイレクト、近距離無線通信(NFC)、Bluetooth(登録商標)、イーサネット(登録商標)などの様々な通信技術を使用することによって、通信ネットワーク250を介してサーバ240と通信し得る。
サーバ240は、複数の楽曲に関する識別情報を含み得る音楽データベース242を記憶し得る。識別情報は、タイトル、アーティスト、継続時間、音楽ビデオへのリンク、レーティング、音楽ジャケットカバー、レビュー、ダウンロード条件などの中の少なくとも1つを含み得る。いくつかの実施形態では、音楽データベース242は複数の識別情報項目を含み得、その各々は複数の楽曲のうちの1つに関連し得る。
さらに、音楽データベース242はまた、複数の音楽モデルを含み得、その各々は複数の楽曲のうちの1つを示し得る。音楽モデルは、音特性の統計モデルであってよく、または音特性もしくは音特徴(たとえば、音響指紋、MFCCベクトルなど)を含んでよい。3つの電子デバイス210〜230が図2に示されるが、図1における電子デバイス120を含む任意の他の適当な数の電子デバイスが、通信ネットワーク250を介してサーバ240と通信してよい。
図示の実施形態では、電子デバイス210〜230は、異なるロケーションに位置してよく、異なる楽曲に対応する音を含む異なる入力音ストリームを、継続的に、周期的に、または非周期的に受信し得る。電子デバイス210〜230の各々は、受信された入力音ストリームをオーディオストリームに変換し得る。入力音ストリームが受信されオーディオストリームに変換されるとき、電子デバイス210〜230の各々は、オーディオストリームの中の音を検出し得、オーディオストリームの中の音楽を検出することを開始し得る。
音楽がオーディオストリームの中で検出されると、電子デバイス210〜230は、それぞれのオーディオストリームの中の楽曲を識別するために、オーディオストリームを処理することを開始し得る。たとえば、音楽が検出されると、電子デバイス210は、少なくとも1つの音特徴をオーディオストリームから抽出することを開始し得る。いくつかの実施形態では、少なくとも1つの音特徴は、音響指紋方法、MFCC方法などの任意の適当な特徴抽出方式を使用して抽出され得る。この場合、電子デバイス210は、最初に、オーディオストリームの中の楽曲を識別するために使用され得る少なくとも1つの音特徴を抽出し得る。電子デバイス210において抽出された少なくとも1つの音特徴は、次いで、通信ネットワーク250を介してサーバ240へ送信され得る。図示された図2の実施形態は電子デバイス210を参照しながら説明されるが、電子デバイス220および230も、電子デバイス210と同様の方式で実行および動作するように構成され得る。
少なくとも1つの音特徴を電子デバイス210から受信すると、サーバ240は、少なくとも1つの音特徴に関連した識別情報を取得するために、音楽データベース242にアクセスし得る。一実施形態では、サーバ240は、受信された少なくとも1つの音特徴を音楽データベース242の中の音楽モデルと比較し得、1つの最小の音特徴に対応する音楽モデルを識別し得る。サーバ240は、次いで、識別された音楽モデルに関連した楽曲を識別し得、識別された楽曲に関する識別情報を音楽データベース242から取り出し得る。楽曲に関して取り出された識別情報は、電子デバイス210へ送信され得る。
楽曲に関連した識別情報を受信すると、電子デバイス210は、電子デバイス210のロケーションおよび楽曲が受信された時間を取得し得、楽曲に関する識別情報、ロケーション、および時間を用いて音楽履歴データベースを更新し得る。楽曲に関する識別情報がサーバ240から受信されると、異なる楽曲に関する音楽がオーディオストリームの中で検出されるまで、電子デバイス210は、もはやサーバ240と通信しなくてよい。
いくつかの実施形態では、サーバ240はまた、識別された楽曲に関連した音楽モデルを、電子デバイス210へ送信し得る。音楽モデルを受信すると、電子デバイス210は、楽曲の終了を検出するために、オーディオストリームの中の楽曲を追跡することを開始し得る。オーディオストリームが入力音ストリームから生成されるとき、電子デバイス210は、オーディオストリームの中の楽曲の終了を検出するために、オーディオストリームを監視し得る。一実施形態によれば、電子デバイス120は、オーディオストリームの一部分をサンプリングし得、サンプリングされた部分が楽曲を示すかどうか(すなわち、サンプリングされた部分が楽曲の一部分であるかどうか)を、音楽モデルに基づいて決定し得る。
複数の楽曲に関する識別情報を受信および記憶して音楽履歴データベースを更新することによって、電子デバイス210は、楽曲に関係する様々な情報を提供し得る。一実施形態では、電子デバイス210は、頻繁に聞かれる楽曲のリストを音楽履歴データベースに基づいて生成し得、1つまたは複数の楽曲をダウンロードまたは購入するための推奨を、ユーザに提供し得る。付加的または代替的には、選択された楽曲が外部のサーバ(たとえば、サーバ240または別のサーバ)からストリーミングされるように、電子デバイス210は、頻繁に聞かれる楽曲のリストの中の楽曲を選択し得る。さらに、電子デバイス210は、1つまたは複数の時間期間またはロケーションにおいて聞かれる楽曲のリストを、楽曲に関連した時間またはロケーションと一緒に提供し得る。
別の実施形態では、楽曲に関するサーバ240からの識別情報は、楽曲が無料ダウンロード向けに利用可能であること、または楽曲が面白い音楽ビデオ、高く格付けされた音楽ビデオなどの特定のタイプの音楽ビデオに関連することを示す、追加情報を含み得る。楽曲に関する識別情報を受信すると、電子デバイス210は、追加情報を電子デバイス210のスクリーン上に出力し得る。追加情報は、楽曲のオーディオファイルをダウンロードし、または関連した音楽ビデオを通信ネットワーク250を介して閲覧するために使用され得る1つまたは複数のアイコンとともに表示され得る。
電子デバイス210〜230は、通信ネットワーク250またはピアツーピア通信方式を通じて互いに通信するように構成され得る。たとえば、電子デバイス210および220は、それぞれの音楽履歴データベースまたはそのようなデータベースのサブセットを共有するために互いに通信し得る。電子デバイス220の音楽履歴データベースから、電子デバイス210は、電子デバイス220のユーザによって聞かれる楽曲に関係する情報、たとえば、頻繁に聞かれる楽曲のリストおよび電子デバイス220のお気に入り音楽のリストを決定し得る。別の実施形態では、電子デバイス210は、データベースを電子デバイス220および230など他の電子デバイスと共有するために、音楽履歴データベースまたはデータベースのサブセットを、ソーシャルネットワークサービス(SNS)サーバ(図示せず)に通信ネットワーク250を通じてアップロードし得る。
図3は、本開示の一実施形態による、ストレージユニットの中の音楽履歴データベースを更新するために、オーディオストリームの中の楽曲を識別するように構成された電子デバイス300のブロック図を示す。電子デバイス300は、音センサー310、I/O(入力/出力)ユニット320、通信ユニット330、プロセッサ340、ストレージユニット360、ロケーションセンサー370、およびクロックモジュール380を含み得る。電子デバイス300は、セルラーフォン、スマートフォン、ウェアラブルコンピュータ、スマートウォッチ、スマートグラス、ラップトップコンピュータ、タブレットパーソナルコンピュータ、ゲームデバイス、マルチメディアプレーヤなどの、音取込み機能および音処理機能ならびに通信機能が装備された任意の適当なデバイスであってよい。さらに、図1および図2を参照しながら上記で説明したような電子デバイス120、210、220、および230はまた、図3に示すような電子デバイス300の構成要素を用いて構成され得る。
プロセッサ340は、それだけには限らないが、1つまたは複数の処理コアを採用するAP(アプリケーションプロセッサ)、CPU(中央処理装置)、またはMPU(マイクロプロセッサユニット)を含む、任意のタイプの処理ユニットであってよく、電子デバイス300を管理および操作するように構成され得る。プロセッサ340は、オーディオストリームを処理するように構成されるDSP(デジタル信号プロセッサ)350、楽曲をオーディオストリームから識別するように構成される音楽識別ユニット342、および楽曲の記録を管理するように構成される音楽管理ユニット344を含み得る。この構成では、DSP350は、音処理ユニット352およびバッファメモリ354を含み得る。一実施形態では、DSP350は、オーディオストリームを処理する際の電力消費を低減するために、低電力プロセッサであってよい。DSP350はプロセッサ340の中に含まれるように示されるが、いくつかの実施形態では、DSP350は、電子デバイス300の中でプロセッサ340から離れて構成されてよい。付加的または代替的には、音楽識別ユニット342および音楽管理ユニット344は、DSP350内に設けられたソフトウェアユニットであってよい。
ストレージユニット360は、プロセッサ340によってアクセスされ得る音楽モデルデータベース362および音楽履歴データベース364を含み得る。音楽モデルデータベース362は、オーディオストリームを監視する際に使用するための、またオーディオストリームの中の楽曲を追跡するための、1つまたは複数の音楽モデルを含み得る。たとえば、音楽モデルデータベース362は、図4を参照しながら以下でより詳細に説明されるように、楽曲に関する音楽モデルを生成する際に使用されるあらかじめ決定されたベース音楽モデルを含み得る。本明細書において、「ベース音楽モデル」という用語は、概して音楽を示し得るピッチ、リズム、強弱法などの、包括的および/または一般的な音特性を示す音楽モデルを指すことがある。さらに、ベース音楽モデルは、特定の楽曲から抽出される少なくとも1つの音特徴に基づいて、特定の楽曲に関する音楽モデルに修正され得る。
ストレージユニット360の中の音楽履歴データベース364は、電子デバイス300またはサーバによって識別された1つまたは複数の楽曲の記録を含み得る。たとえば、識別された楽曲の記録は、楽曲に関連した識別情報、楽曲が受信されたロケーションおよび時間についての情報などを含み得る。ロケーションおよび時間についての情報は、以下でより詳細に説明されるように、ロケーションセンサー370およびクロックモジュール380によって取得され得る。さらに、音楽履歴データベース364は、ユーザのお気に入り音楽のリスト、別のユーザのお気に入り音楽のリストなどを含み得る。ストレージユニット260は、リモートストレージまたはローカルストレージであってよく、RAM(ランダムアクセスメモリ)、ROM(読取り専用メモリ)、EEPROM(電気的消去可能プログラマブル読取り専用メモリ)、フラッシュメモリ、またはSSD(ソリッドステートドライブ)などの、任意の適当なストレージまたはメモリデバイスを使用して実装され得る。
音センサー310は、複数の楽曲のシーケンスを含み得る入力音ストリームを継続的に受信し、入力音ストリームをオーディオストリームに変換するように構成され得る。音センサー310は、オーディオストリームをDSP350の中の音処理ユニット352に提供し得る。音センサー310は、入力音ストリームを受信し、取り込み、感知し、変換し、および/または検出するために使用され得る、1つまたは複数のマイクロフォンまたは任意の他のタイプの音センサーを含み得る。加えて、音センサー310は、そのような機能を実行するための任意の適当なソフトウェアおよび/またはハードウェアを採用し得る。
電力消費を低減するために、音センサー310は、入力音ストリームをデューティサイクルに従って周期的に受信し、入力音ストリームをオーディオストリームに変換するように構成され得る。たとえば、音センサー310は、入力音ストリームが時間のうちの10%(たとえば、200ms期間における20ms)で受信されるように10%のデューティサイクルで動作し得、入力音ストリームの受信された部分は、オーディオストリームの一部分に変換され得る。この場合、音センサー310は、オーディオストリームの部分から音を検出し得る。たとえば、オーディオストリームの部分の音強度が決定され得、所定のしきい値音強度と比較され得る。オーディオストリームの部分の音強度がしきい値音強度を上回る場合、音センサー310は、デューティサイクル機能を非活動化させて入力音ストリームの残りの部分を受信し続けてよく、入力音ストリームの残りの部分をオーディオストリームの残りの部分に変換し得る。加えて、音センサー310は、DSP350を活動化させてよく、DSP350にオーディオストリームの残りの部分を提供し得る。
DSP350が音センサー310によって活動化されると、音処理ユニット352は、オーディオストリームの部分を音センサー310から受信し、オーディオストリームの受信された部分が音楽を含むかどうか(または、オーディオストリームの受信された部分が音楽を示すかどうか)を決定するように構成され得る。一実施形態では、音処理ユニット352は、オーディオストリームの受信された部分から少なくとも1つの音特徴を抽出し得、少なくとも1つの抽出された音特徴が音楽などの対象の音を示すかどうかを決定し得る。音特徴は、音響指紋方法、MFCC方法などの任意の適当な特徴抽出方式を使用して抽出され得る。
オーディオストリームから音楽を検出することに応答して、DSP350は、プロセッサ340を活動化させてよく、プロセッサ340は、検出された音楽と関連した楽曲を音楽識別ユニット342が識別することを可能にし得る。少なくとも1つの音特徴が、オーディオストリームの一部分から抽出され得、楽曲が、少なくとも1つの音特徴に基づいて識別され得る。いくつかの実施形態によれば、音処理ユニット352は、音楽を検出するために抽出された少なくとも1つの音特徴を音楽識別ユニット342に提供し得、音楽識別ユニット342は、次いで、音処理ユニット352から提供された少なくとも1つの音特徴に基づいて、楽曲を識別し得る。
一実施形態では、音楽識別ユニット342は、少なくとも1つの音特徴を外部デバイス(たとえば、図2におけるサーバ240)へ通信ユニット330を介し通信ネットワーク390を通じて送信することによって、検出された音楽に関連した楽曲を識別し得る。外部デバイスは、複数の楽曲に関する識別情報を有する音楽データベースを含み得る。少なくとも1つの音特徴を電子デバイス300から受信すると、外部デバイスは、受信された音特徴に関連した識別情報に関する音楽データベースを探索し得、識別情報を電子デバイス300へ送信し得る。別の実施形態では、電子デバイス300の中のストレージユニット360は、複数の楽曲に関する識別情報を有する音楽データベース(図示せず)を含み得る。この場合、音楽識別ユニット342は、音特徴に関連した識別情報を得るために、ストレージユニット360の中の音楽データベースを探索し得る。
I/Oユニット320は、入力を電子デバイス300のユーザから受信し、および/またはユーザのために情報を出力するように構成され得る。I/Oユニット320は、タッチスクリーン、タッチパッド、タッチセンサー、ボタン、キー、触覚センサー、照度センサー、動きセンサー、マイクロフォン、LCDディスプレイ、スピーカーなどの、入力コマンドを受信すること、および/または情報を出力することができる任意の適当なデバイスであってよい。識別情報が取得されると、音楽識別ユニット342は、識別情報または識別情報と関連する任意の情報を、I/Oユニット320に提供し得る。加えて、I/Oユニット320はまた、たとえば、図1に示すように、楽曲をダウンロードまたは共有するためのアイコンを表示し得る。この場合、表示されたアイコンの中からアイコンを選択する入力が受信され得、選択されたアイコンに関係する機能が入力に応じて実行され得る。
ロケーションセンサー370は、識別された楽曲に関する音楽履歴データベース364を更新する際に使用するために、電子デバイス300のロケーション情報を取得するように構成され得る。たとえば、ロケーションセンサー370は、楽曲が受信または識別されるときに(または、楽曲に関する識別情報が取得されるときに)モバイルデバイスが位置するロケーションを決定することによって、ロケーション情報を取得し得る。電子デバイス300のロケーション情報を決定する際、ロケーションセンサー370は、そのような情報が利用可能である場合(たとえば、屋外のセッティングにおいて)、GPSロケーション情報を受信および使用し得る。GPS情報が利用可能でない場合(たとえば、屋内のセッティングにおいて)、ロケーションセンサー370は、Wi-Fiアクセスポイントまたはセルタワー基地局から信号を受信し得、受信された信号の各々の強度に基づいて、および/または任意の適当な三角測量方法を使用して、電子デバイス300のロケーションを決定し得る。
クロックモジュール380は、楽曲が受信または識別される時間を監視するように構成され得る。たとえば、クロックモジュール380は、楽曲に関する識別情報が取得される時間を記録し得る。いくつかの実施形態によれば、楽曲を識別するプロセッサ340が、クロックモジュール380を含んでよい。
いくつかの実施形態では、楽曲に関する識別情報は、音楽識別ユニット342によって取得されると、音楽管理ユニット344に提供され得る。楽曲に関する記録を保管するために、音楽管理ユニット344は、識別情報が音楽履歴データベース364の中に記憶され得るように、識別情報を音楽履歴データベース364に提供し得る。加えて、音楽管理ユニット344は、楽曲に関連したロケーション情報および時間情報を、それぞれ、ロケーションセンサー370およびクロックモジュール380から受信し得、ロケーション情報および時間情報を音楽履歴データベース364に、楽曲に関する識別情報とともに記憶し得る。いくつかの実施形態では、識別情報、ロケーション情報、および/または時間情報は、それぞれ、音楽識別ユニット342、ロケーションセンサー370、および/またはクロックモジュール380から、音楽管理ユニット344を介さず音楽履歴データベース364に直接提供され得る。図10を参照しながら以下でより詳細に説明されるように、音楽管理ユニット344はまた、電子デバイス300のユーザのための推奨および通知を生成するように構成され得る。
上述されたように楽曲を識別し音楽履歴データベース364を更新することに加えて、音センサー310が音楽を検出しDSP350を活動化させると、DSP350の中の音処理ユニット352は、検出された音楽に関連した楽曲に関する音楽モデルを生成または取得し得る。一実施形態によれば、音処理ユニット352は、少なくとも1つの音特徴をオーディオストリームの一部分から抽出し得、少なくとも1つの音特徴に基づいて、楽曲に関する音楽モデルを生成し得る。この場合、オーディオストリームの一部分が、バッファメモリ354に記憶され得、少なくとも1つの音特徴が、バッファメモリ354に記憶された部分から抽出され得る。いくつかの実施形態では、音処理ユニット352は、ストレージユニット360の中の音楽モデルデータベース362からベース音楽モデルを取得し得、音楽モデルを生成するために、1つの最小の音特徴に基づいてベース音楽モデルを修正し得る。別の実施形態によれば、音処理ユニット352は、図2を参照しながら上記で説明したような方式で、少なくとも1つの音特徴を外部デバイス(たとえば、図2におけるサーバ240)に通信ユニット330を介して送信し得、少なくとも1つの音特徴に関連した音楽モデルを受信し得る。楽曲に関して生成または取得された音楽モデルは、音楽モデルデータベース362に記憶され得る。
音楽モデルが楽曲に関して生成または取得されると、音処理ユニット352は、オーディオストリームの少なくとも1つの部分をサンプリング(または、受信)し得、サンプリングされた部分が楽曲を示す(すなわち、サンプリングされた部分が楽曲の一部分である)かどうかを、音楽モデルに基づいて決定し得る。たとえば、音処理ユニット352がオーディオストリームの一部分をサンプリングするときに同じ楽曲が依然として演奏されている場合、サンプリングされた部分は、楽曲を示すものと決定され得る。この場合、音処理ユニット352は、楽曲が終了していないと決定し得る。一方、音処理ユニット352がオーディオストリームの一部分をサンプリングするときに楽曲が終了している場合、サンプリングされた部分は、楽曲を示さないものと決定され得る。この場合、音処理ユニット352は、楽曲が終了していると決定し得る。いくつかの実施形態では、音処理ユニット352は、オーディオストリームの複数の部分を、継続的に、周期的に、非周期的に、または時折、サンプリングしてよい。この場合、サンプリングされた部分(たとえば、最後にサンプリングされた部分)のうちの少なくとも1つが楽曲を示さないものと決定されるとき、楽曲の終了が検出され得る。
楽曲が終了していると決定すると、音センサー310は、入力音ストリームをデューティサイクルに従って周期的に受信することと、受信された入力音ストリームをオーディオストリームに変換することと、オーディオストリームの中の音を検出することとを開始し得る。オーディオストリームの中の音を検出すると、プロセッサ340は、オーディオストリームの中の新しい楽曲に関する音楽を検出し新しい楽曲を識別することに進み得る。加えて、新しい楽曲に関する新しい音楽モデルが生成または取得され得、新しい楽曲の終了を検出するために、新しい楽曲が上述されたような方式で新しい音楽モデルに基づいて追跡され得る。
図4は、本開示の一実施形態による、楽曲に関する音楽モデルを生成または取得し、音楽モデルに基づいて楽曲を追跡するように構成された音処理ユニット352の、より詳細なブロック図を示す。音処理ユニット352は、音楽検出モジュール410、音楽モデル管理モジュール420、および音楽追跡モジュール430を含み得る。図4に示すように、音処理ユニット352は、DSP350の中のバッファメモリ354、およびストレージユニット360の中の音楽モデルデータベース362にアクセスし得る。図3を参照しながら上記で説明したように、音センサー310がオーディオストリームの中の音を検出すると、音センサー310は、DSP350の中の音処理ユニット352の音楽検出モジュール410を活動化させてよい。
活動化されると、音楽検出モジュール410は、オーディオストリームの少なくとも一部分を音センサー310から受信し得る。音楽検出モジュール410は、GMMベースの分類器、ニューラルネットワーク、HMM(隠れマルコフモデル)ベースの分類器、グラフィカルモデル、またはSVM(サポートベクターマシン)などの、任意の適当な音分類方法を使用することによって、オーディオストリームの受信された部分の中の音楽を検出するように構成され得る。オーディオストリームの受信された部分が音楽を示さないものと決定される場合、音楽検出モジュール410は、音センサー310に、図3を参照しながら上記で説明したような方式で、入力音ストリームをデューティサイクルに従って周期的に受信することと、受信された入力音ストリームをオーディオストリームに変換することと、オーディオストリームの中の音を検出することとを開始するように命令し得る。この場合、DSP350は、電力消費を低減するために非活動化されてよい。一方、オーディオストリームの受信された部分が音楽を示すものと決定される場合、音楽検出モジュール410は、音楽モデル管理モジュール420を活動化させてよい。
活動化されると、音楽モデル管理モジュール420は、オーディオストリームの少なくとも一部分を音センサー310から受信し得る。たとえば、オーディオストリームの受信された部分は、音楽が検出されたオーディオストリームの部分、または音楽が検出されたオーディオストリームの部分に追従する一部分であり得る。オーディオストリームの受信された部分に基づいて、音楽モデル管理モジュール420は、音楽検出モジュール410によって検出された音楽に関連した楽曲に関する音楽モデルを生成し得る。一実施形態では、音楽モデル管理モジュール420は、少なくとも1つの音特徴(たとえば、音響指紋、MFCCベクトルなど)を、オーディオストリームの受信された部分から抽出し得、少なくとも1つの音特徴に基づいて、楽曲に関する音楽モデルを生成し得る。バッファメモリ354は、オーディオストリームの一部分を記憶し得、音楽モデル管理モジュール420は、楽曲に関する音楽モデルを生成する際に使用するための少なくとも1つの音特徴を抽出するために、バッファメモリ354に記憶された部分にアクセスし得る。
いくつかの実施形態によれば、ストレージユニット360の中の音楽モデルデータベース362は、あらかじめ決定されたベース音楽モデルを含み得る。この場合、音楽モデル管理モジュール420は、オーディオストリームの部分から抽出された少なくとも1つの音特徴に基づいてベース音楽モデルを修正することによって、楽曲に関する音楽モデルを生成し得る。楽曲に関する音楽モデルが生成されると、音楽モデル管理モジュール420は、音楽追跡モジュール430を活動化させてよく、音楽モデルを音楽追跡モジュール430に提供し得る。一実施形態では、音楽モデル管理モジュール420は、音楽追跡モジュール430が音楽モデルデータベース362にアクセスして楽曲に関する音楽モデルを取得し得るように、楽曲に関する音楽モデルを音楽モデルデータベース362に記憶し得る。代替または追加として、音楽モデル管理モジュール420は、楽曲に関する音楽モデルを外部デバイス(たとえば、図2におけるサーバ240)から、図2を参照しながら上記で説明したような方式で取得し得、音楽モデルを音楽追跡モジュール430に提供し得る。
活動化されると、音楽追跡モジュール430は、オーディオストリームの後続の部分を受信し得、楽曲に関する音楽モデルに基づいて、受信された部分を監視し得る。いくつかの実施形態では、オーディオストリームの後続の部分は、バッファメモリ354に記憶され得、音楽追跡モジュール430は、バッファメモリ354の中のオーディオストリームの記憶された部分にアクセスし得る。オーディオストリームの少なくとも1つの部分をサンプリング(または、受信)し、サンプリングされた部分が楽曲を示すか否か(すなわち、サンプリングされた部分が楽曲の一部分であるか否か)を音楽モデルに基づいて決定することによって、音楽追跡モジュール430は、楽曲を追跡し得、楽曲の終了を検出し得る。
いくつかの実施形態によれば、音楽追跡モジュール430は、楽曲に関する音楽モデルおよびサンプリングされた部分から抽出された少なくとも1つの音特徴に基づいて、楽曲とサンプリングされた部分との間の相似値(または、スコア)を決定し得る。一実施形態では、相似値は、音楽モデルとサンプリングされた部分から抽出された少なくとも1つの音特徴との間の相似値に基づいて決定され得る。相似値を決定するための方式は、図6を参照しながら以下でより詳細に説明される。
サンプリングされた部分に関する相似値が決定されると、相似値は、ストレージユニット360に記憶され得る所定のしきい値と比較され得る。相似値がしきい値を上回る場合、サンプリングされた部分は、楽曲を示すものと決定される。この場合、音楽追跡モジュール430は、サンプリングされた部分が楽曲の一部分であり、楽曲が終了していないと決定し得る。一方、相似値がしきい値を上回らない場合、サンプリングされた部分は、楽曲を示さないものと決定され得る。この場合、音楽追跡モジュール430は、サンプリングされた部分が楽曲の一部分でなく、楽曲が終了していると決定し得る。一実施形態では、音楽追跡モジュール430は、オーディオストリームの複数の部分を、継続的に、周期的に、または非周期的にサンプリングしてよく、サンプリングされた部分の各々が楽曲の一部分であるか否かを決定し得る。
サンプリングされた部分が楽曲の一部分でないものと決定されると、音楽追跡モジュール430は、音センサー310に、入力音ストリームをデューティサイクルに従って周期的に受信することと、受信された入力音ストリームをオーディオストリームに変換することと、オーディオストリームの中の音を検出することとを開始するように命令し得る。この場合、DSP350は、電力消費を低減するために非活動化されてよい。音がオーディオストリームの中で検出される場合、オーディオストリームの中の音楽を検出することと、新しい楽曲に関する新しい音楽モデルを生成または取得することと、新しい楽曲を新しい音楽モデルに基づいて追跡することとのプロセスが、上述されたような方式で実行され得る。
図5は、本開示の一実施形態による、楽曲516が終了しているかどうかを決定するために、入力音ストリーム510の中の楽曲516を追跡するためのタイミング図500を示す。入力音ストリーム510を処理するために、電子デバイス300の音センサー310は、無音512、車の雑音514、楽曲516、および音声518のシーケンスを含む入力音ストリーム510を受信し得る。一実施形態では、音センサー310は、入力音ストリーム510を受信し、入力音ストリーム510を音処理ユニット352によって処理され得るオーディオストリームに変換するように構成され得る。
いくつかの実施形態では、音センサー310は、所定の区間T1(たとえば、180ミリ秒(ms)などの100ミリ秒から数秒の間の任意の適当な時間期間)で、所定の時間の期間(たとえば、高速フーリエ変換などのオーディオ分析のための、20msなどの10から30ミリ秒の間の任意の適当な時間期間)にわたって、所定のデューティサイクルに従って、周期的に入力音ストリーム510を受信するように構成され得る。たとえば、区間T1としてのアクティブな状態の間、音センサー310は、入力音ストリームの一部分を受信し得、受信された部分をオーディオストリームの一部分(たとえば、S1、S2、S3など)に変換し得る。S1、S2、S3などのオーディオストリーム部分の各々に対して、音センサー310は、各部分が所定のしきい値音強度を上回る音を含むかどうかを決定することによって、音を検出し得る。いくつかの実施形態によれば、典型的な楽曲の長さが約数分(たとえば、約3または4分)であり得ることを仮定すれば、区間T1は、長さ数秒に設定されてよい。この場合、区間T1としての不活性の状態において数秒にわたって継続する、入力音ストリーム510の欠落した部分(すなわち、音センサー310によって受信されない入力音ストリーム510の一部分)は、楽曲の中の音の検出にそれほど影響を及ぼし得ない。本明細書で言及される時間期間は単に例示のためであり、他の期間も利用されてよい。
音がオーディオストリーム部分S1、S2、S3などの中で検出されると、デューティサイクル機能が非活動化されて、音センサー310が入力音ストリーム510の1つまたは複数の後続の部分を受信し続け、受信された部分を対応する1つまたは複数のオーディオストリーム部分に変換できるようにし得る。この場合、楽曲516に関連した音楽を音楽検出モジュール410によって検出する際に、また音楽が検出される場合は楽曲516の終了を求めて楽曲516を追跡する際に使用するために、入力音ストリームの1つまたは複数の後続の部分が受信され、対応する1つまたは複数のオーディオストリーム部分に変換され続け得る。
図5に示すように、音センサー310は、無音512、車の雑音514、楽曲516、および音声518のシーケンスを含む入力音ストリーム510の複数の部分を、デューティサイクルに従って受信し得る。最初に、入力音ストリーム510の中の無音512の一部分が、区間T1としてのアクティブな状態の間に受信され、音センサー310によってオーディオストリーム部分S1に変換される。この場合、音センサー310は、オーディオストリーム部分S1から音を検出し得ず、区間T1としての不活性の状態の間、非活動化される。区間T1の終了において、音センサー310は、活動化されて入力音ストリーム510の中の無音512の別の部分を受信してよく、受信された部分をオーディオストリーム部分S2に変換し得る。オーディオストリーム部分S2が無音512の一部分に相当するので、音は、音センサー310によって検出され得ない。
区間T1としての次のアクティブな状態の間、音センサー310は、活動化されて入力音ストリーム510の中の車の雑音514の一部分を受信してよく、受信された部分をオーディオストリーム部分S3に変換し得る。この場合、音センサー310は、オーディオストリーム部分S3が所定のしきい値音強度を上回ると決定し得、したがって、オーディオストリーム部分S3の中の音を検出し得る。オーディオストリーム部分S3の中の音を検出すると、音センサー310は、デューティサイクル機能を非活動化させて入力音ストリーム510の追従する部分を受信してよく、受信された部分をM1として示されるオーディオストリーム部分に変換し得る。加えて、音センサー310は、DSP350の音処理ユニット352の中の音楽検出モジュール410を活動化させてよく、オーディオストリーム部分M1を音楽検出モジュール410に提供し得る。
音楽検出モジュール410は、活動化されると、M1またはM2によって示されるような所定の時間期間(たとえば、10秒)にわたって、オーディオストリームの一部分を受信するように構成され得る。図示の実施形態では、音センサー310がオーディオストリーム部分S3の中の音を検出するとき、音楽検出モジュール410は、車の雑音514の一部分に対応するオーディオストリーム部分M1を受信し得、オーディオストリーム部分M1が音楽を含まないと決定し得る。この場合、音楽検出モジュール410は、音センサー310を非活動化させて、所定の時間期間T2にわたって入力音ストリーム510を受信することを中止してよい。一実施形態では、音楽検出モジュール410は、音楽が検出されないとき、電力消費を低減するために非活動化されてよい。楽曲が、通常、長さ数分であり得ることを仮定すれば、そのような時間の期間にわたる音センサー310および音楽検出モジュール410の非活動化は楽曲の中の音および音楽の検出にそれほど影響を及ぼし得ないので、区間T1よりも長くてよい時間期間T2は、たとえば、10秒と30秒の間の任意の適当な時間期間であってよい。
所定の時間期間T2が経過したとき、音センサー310は、デューティサイクルに従って活動化されて入力音ストリーム510の中の楽曲516の一部分を受信してよく、楽曲516の受信された部分をオーディオストリーム部分S4に変換し得る。音センサー310は、オーディオストリーム部分S4が所定のしきい値音強度を上回る音を含むと決定することによって、楽曲516の一部分に対応するオーディオストリーム部分S4の中の音を検出し得る。オーディオストリーム部分S4の中の音を検出すると、音センサー310は、デューティサイクル機能を非活動化させて入力音ストリーム510の追従する部分を受信してよく、受信された部分をM2として示されるオーディオストリーム部分に変換し得る。さらに、音センサー310は、音楽検出モジュール410を活動化させてよく、オーディオストリーム部分M2を音楽検出モジュール410に提供し得る。いくつかの実施形態では、オーディオストリーム部分M2が音楽を含まないと、または入力音ストリーム510の後続の部分のうちの1つに対応するオーディオストリーム部分が楽曲516の一部分でないと決定されるまで、音センサー310は、入力音ストリーム510の1つまたは複数の後続の部分を受信し、その部分をオーディオストリーム部分(たとえば、G1、N1、N2、N3など)に変換し続け得る。
活動化されると、音楽検出モジュール410は、楽曲516の一部分に対応するオーディオストリーム部分M2を音センサー310から受信してよく、オーディオストリーム部分M2の中の音楽を検出し得る。オーディオストリーム部分M2の中の音楽を検出することに応答して、音楽モデル管理モジュール420は活動化されて、楽曲516のオーディオストリーム部分M2に追従する所定の時間期間(たとえば、10秒)にわたって、オーディオストリーム部分G1を受信し得る。オーディオストリーム部分G1および/または任意の他の部分に基づいて、音楽モデル管理モジュール420は、楽曲516に関する音楽モデルを、図4を参照しながら上記で説明したように生成または取得し得る。一実施形態では、音楽モデル管理モジュール420は、少なくとも1つの音特徴をオーディオストリーム部分G1から抽出し得、楽曲516に関する音楽モデルを少なくとも1つの音特徴に基づいて生成し得る。別の実施形態では、オーディオストリーム部分G1から抽出された音特徴に関連した楽曲に関する音楽モデルは、図2を参照しながら上記で説明した方式で外部デバイスから受信され得る。
音楽モデルをオーディオストリーム部分G1に基づいて生成または取得した後、所定の時間期間T3が経過したとき、音楽追跡モジュール430は活動化されて、所定の区間T4(たとえば、2から30秒の間の任意の適当な時間期間)で、1つまたは複数の後続のオーディオストリーム部分(たとえば、N1、N2、およびN3)を周期的にサンプリングすることによって、楽曲516を追跡し得る。いくつかの実施形態では、時間期間T3の終了の後、音楽追跡モジュール430は、オーディオストリーム部分(たとえば、N1、N2、またはN3)を音センサー310から、所定の時間期間(たとえば、10秒)にわたって受信するように構成され得る。音楽モデルは図5におけるオーディオストリーム部分G1から抽出される音特徴に基づいて生成または取得されるものとして上記で説明されるが、音楽モデルは、音楽を検出するために使用されたオーディオストリーム部分M2から抽出される音特徴に基づいて生成または取得されてよい。この場合、所定の時間期間T3は、オーディオストリーム部分M2に対応する時間期間の終了において始まってよい。
追跡するための区間T4の開始においてオーディオストリーム部分が受信されると、音楽追跡モジュール430は、オーディオストリーム部分が楽曲516を示す(すなわち、オーディオストリーム部分が楽曲516の一部分である)か否かを、楽曲516に関連した音楽モデルに基づいて決定し得る。オーディオストリーム部分が楽曲516の一部分であるものと決定される場合、音楽追跡モジュール430は、楽曲516が終了していると決定し得る。この場合、音楽追跡モジュール430(または、DSP350、もしくはプロセッサ340)は、オーディオストリームの中の音および音楽を検出すること、次の楽曲を識別すること、および/または次の楽曲を追跡することに対して、1つまたは複数の割込み信号を生成し得る。たとえば、入力音ストリーム510をデューティサイクルに従って受信すること、および入力音ストリームから生成されたオーディオストリームの中の音を検出することに対して、音楽追跡モジュール430は、割込み信号を生成し得、その割込み信号を音センサー310に提供し得る。一方、オーディオストリーム部分が楽曲516が終了していないことを示す楽曲516の一部分であるものと決定される場合、音楽追跡モジュール430は、次のオーディオストリーム部分を区間T4の終了において受信し得る。この場合、音楽追跡モジュール430(または、DSP350、もしくはプロセッサ340)は、楽曲を識別することに対して、割込み信号を生成し得る。
図示の実施形態では、音楽追跡モジュール430は、楽曲516の一部分に対応するオーディオストリーム部分N1を受信し得、オーディオストリーム部分N1が楽曲516の一部分であることを、音楽モデルに基づいて決定し得る。区間T4の終了において、楽曲516の後続の部分に相当するオーディオストリーム部分N2は、音楽追跡モジュール430によって受信され得、音楽追跡モジュール430は、音楽モデルを使用することによって、オーディオストリーム部分N2が楽曲516の一部分であることを決定し得る。次の区間T4の開始において、音楽追跡モジュール430は、入力音ストリーム510の中の音声518の一部分に相当するオーディオストリーム部分N3を受信し得る。オーディオストリーム部分N3が音声518の部分に相当するので、音楽追跡モジュール430、または代替として音楽検出モジュール410は、オーディオストリーム部分N3が楽曲516の一部分でないことを音楽モデルに基づいて決定し得、このことは楽曲516が終了していることを示す。上述されたように、オーディオストリーム部分(すなわち、N1、N2、N3など)は、楽曲516が終了しているか否かを決定するために楽曲516を追跡する際に使用される。したがって、たとえ楽曲516の終了の後に第1のオーディオストリーム部分(すなわち、N1)が受信されたとしても、それは受信されたオーディオストリーム部分が楽曲516の一部分でないと決定することに重大な影響を有し得ず、このことは、楽曲516が終了していることを示す。したがって、時間期間T3は、5秒から5分の間のような、時間期間T2よりも長い任意の適当な時間期間であってよい。
オーディオストリーム部分N3が楽曲516の一部分でない(すなわち、楽曲516が終了しているか、またはもはや音センサー310によって検出可能でない)ものと決定されると、音楽追跡モジュール430は音センサー310を活動化させて、入力音ストリーム510の1つまたは複数の部分をデューティサイクルに従って周期的に受信することを開始し得る。図5に示す本実施形態では、音センサー310は、入力音ストリーム510の中の音声518の一部分を受信し得、受信された部分をオーディオストリーム部分S5に変換し得る。この場合、音センサー310は、オーディオストリーム部分S5が所定のしきい値音強度を上回る音を含むと決定し得る。音を検出すると、音楽検出モジュール410は活動化されて、後続のオーディオストリーム部分を受信してよく、オーディオストリーム部分が音楽を含まないと決定し得る。入力音ストリーム510または他の入力音ストリームの後続の部分の処理は、音センサー310、音楽検出モジュール410、音楽モデル管理モジュール420、および/または音楽追跡モジュール430によって、上述されたものと同様の方式で実行され得る。上記の実施形態は、例として、特有の時間パラメータおよび/または時間期間もしくはT1、T2、T3、T4などの区間に関する範囲を用いて説明されるが、時間期間は、そのような時間パラメータおよび範囲に限定されなくてよいが、任意の他の適当な時間パラメータおよび/または範囲であるものとして設定されてよい。加えて、時間期間は、様々な実装形態(たとえば、電子デバイス300のバッテリ電力、電子デバイス300の計算リソースおよび電力、楽曲516の予期される長さなど)に従って、必要に応じて調整されてよい。
図6は、本開示の一実施形態による、オーディオストリーム610の中の楽曲のオーディオストリーム部分630をサンプリングし、オーディオストリーム610の中の後続の部分640が楽曲の一部分であるかどうかを決定するためのタイミング図600を示す。最初に、音楽は、オーディオストリーム部分630に先行し、またはオーディオストリーム部分630の直前にあるオーディオストリーム610の一部分620の中で検出され得る。音楽を検出すると、音楽モデル管理モジュール420は、少なくとも1つの音特徴650をオーディオストリーム部分630から抽出し得、部分620に関連した楽曲に関する音楽モデルを生成または取得し得る。
楽曲に関する音楽モデルは、次いで、楽曲を追跡する際に使用するために、音楽追跡モジュール430に提供され得る。音楽追跡モジュール430は、オーディオストリーム610の中の後続の部分640をサンプリングし得、少なくとも1つの音特徴660をサンプリングされたオーディオストリーム部分640から抽出し得る。音楽モデルおよび音特徴660に基づいて、サンプリングされたオーディオストリーム部分640が楽曲の一部分であるかどうかが決定され得る。いくつかの実施形態によれば、音楽追跡モジュール430は、サンプリングされたオーディオストリーム部分640と楽曲に関する音楽モデルとの間の相似性を決定し得る。たとえば、サンプリングされたオーディオストリーム部分640と音楽モデルとの間の相似性の程度を示す相似値(たとえば、スコア、信頼性値など)が、計算され得る。相似値が所定のしきい値を上回る場合、サンプリングされたオーディオストリーム部分640は、楽曲の一部分であるものと決定され得、このことは楽曲が終了していないことを示す。一方、相似値がしきい値を上回らない場合、サンプリングされたオーディオストリーム部分640が楽曲の一部分でないと決定され得、このことは楽曲が終了していることを示す。
一実施形態では、オーディオストリーム部分640と楽曲に関する音楽モデルとの間の相似値は、確率値(たとえば、尤度値)に基づいて決定され得る。たとえば、オーディオストリーム部分640から抽出された少なくとも1つの音特徴660が音楽モデルを示すという尤度を示す第1の確率値が、決定され得る。さらに、少なくとも1つの音特徴660がベース音楽モデルを示すという尤度を示す第2の確率値が、決定され得る。第1および第2の確率値を決定すると、オーディオストリーム部分640と楽曲に関する音楽モデルとの間の相似値は、第2の確率値を第1の確率値から減算することによって決定され得、このことは、次式によって表現され得る。
相似値=L(xsample|λmusic)-L(xsample|λbase)
ただし、xsampleは、オーディオストリーム部分640から抽出された少なくとも1つの音特徴660を表し、λmusicは、楽曲に関連した音楽モデルを表し、λbaseは、ベース音楽モデルを表し、L(xsample|λmusic)は、第1の確率値(たとえば、λmusicが与えられたxsampleの対数尤度)を表し、L(xsample|λbase)は、第2の確率値(たとえば、λbaseが与えられたxsampleの対数尤度)を表す。
別の実施形態では、相似値は、ベイジアン情報量基準を使用して決定され得る。上述されたように、楽曲に関する音楽モデルは、オーディオストリーム部分630から抽出された少なくとも1つの音特徴650に基づいて生成または取得され得る。加えて、別の音楽モデルは、サンプリングされたオーディオストリーム部分640から抽出された少なくとも1つの音特徴660に基づいて生成または取得され得る。たとえば、オーディオストリーム部分640に関する音楽モデルが、少なくとも1つの音特徴660に基づいてベース音楽モデルを修正することによって、生成され得る。この実施形態によれば、少なくとも1つの音特徴650が楽曲に関する音楽モデルを示すという尤度を示す第1の確率値が、決定され得る。さらに、少なくとも1つの音特徴660がサンプリングされたオーディオストリーム部分640に関する他の音楽モデルを示すという尤度を示す第2の確率値が、決定され得る。さらに、音特徴650および660がベース音楽モデルを示すという尤度を示す第3の確率値が、決定され得る。第1〜第3の確率値を決定すると、相似値が、第3の確率値を第1および第2の確率値の合計から減算することにより決定され得、このことは、次式によって表現され得る。
相似値=L(xmusic|λmusic)+L(xsample|λsample)-L(xmusic,xsample|λbase)
ただし、xmusicは、オーディオストリーム部分630から抽出された少なくとも1つの音特徴650を表し、xsampleは、サンプリングされたオーディオストリーム部分640からの少なくとも1つの音特徴660を表し、λmusicは、楽曲に関連した音楽モデルを表し、λsampleは、オーディオストリーム部分640に関連した音楽モデルを表し、λbaseは、ベース音楽モデルを表し、L(xmusic|λmusic)は、第1の確率値(たとえば、λmusicが与えられたxmusicの対数尤度)を表し、L(xsample|λsample)は、第2の確率値(たとえば、λsampleが与えられたxsampleの対数尤度)を表し、L(xmusic,xsample|λbase)は、第3の確率値(たとえば、λbaseが与えられたxmusicおよびxsampleの対数尤度)を表す。
上記の実施形態では、計算リソースおよび電力の効率を改善するために、サンプリングされたオーディオストリーム部分640に関する音楽モデルは、各音特徴がサンプリングされたオーディオストリーム部分630から抽出されるとき、ベース音楽モデルを修正することによって生成され得る。あるいは、ベース音楽モデルは、抽出された音特徴のすべてに基づいて一回修正され得る。また、第1または第3の確率値を決定する際の効率を改善するために、複数の音特徴がオーディオストリーム部分630から抽出されたとき、複数の音特徴のサブセットが、第3の確率値を決定する際に使用するために選択および記憶され得る。たとえば、音特徴のサブセットが、各音特徴が音楽であるという尤度に基づいて選択され得る。
さらに別の実施形態では、相似値は、クロス尤度比法を使用して決定され得る。この実施形態によれば、オーディオストリーム部分640から抽出された少なくとも1つの音特徴660が楽曲に関する音楽モデルを示すという尤度を示す第1の確率値が、決定され得る。さらに、オーディオストリーム部分630から抽出された少なくとも1つの音特徴650がオーディオストリーム部分640に関する音楽モデルを示すという尤度を示す第2の確率値が、決定され得る。さらに、少なくとも1つの音特徴650がベース音楽モデルを示すという尤度を示す第3の確率値、および少なくとも1つの音特徴660がベース音楽モデルを示すという尤度を示す第4の確率値も、決定され得る。第1〜第4の確率値を決定すると、相似値が、第3および第4の確率値を第1および第2の確率値の合計から減算することによって決定され得、このことは、次式によって表現され得る。
相似値=L(xsample|λmusic)+L(xmusic|λsample)-L(xmusic|λbase)-L(xsample|λbase)
ただし、xsampleは、オーディオストリーム部分640から抽出された少なくとも1つの音特徴660を表し、xmusicは、オーディオストリーム部分630から抽出された少なくとも1つの音特徴650を表し、λmusicは、楽曲に関連した音楽モデルを表し、λsampleは、オーディオストリーム部分640に関連した音楽モデルを表し、λbaseは、ベース音楽モデルを表し、L(xsample|λmusic)は、第1の確率値(たとえば、λmusicが与えられたxsampleの対数尤度)を表し、L(xmusic|λsample)は、第2の確率値(たとえば、λsampleが与えられたxmusicの対数尤度)を表し、L(xmusic|λbase)は、第3の確率値(たとえば、λbaseが与えられたxmusicの対数尤度)を表し、L(xsample|λbase)は、第4の確率値(たとえば、λbaseが与えられたxsampleの対数尤度)を表す。計算リソースおよび電力の効率のために、第3の確率値は、相似値を決定する前にあらかじめ決定されてよい。
また別の実施形態では、相似値は、音楽モデル間の距離値に基づいて決定され得る。たとえば、ユークリッド距離、ハミング距離、カルバック-ライブラー(KL)ダイバージェンスなどが、音楽モデル間の距離値として計算され得る。この実施形態では、オーディオストリーム部分640に関する音楽モデルと楽曲に関する音楽モデルとの間の第1の距離値が、決定され得る。加えて、楽曲に関する音楽モデルとベース音楽モデルとの間の第2の距離値が決定され得、オーディオストリーム部分640に関する音楽モデルとベース音楽モデルとの間の第3の距離値が決定され得る。第1〜第3の距離値を決定すると、相似値が、第2および第3の距離値を第1の距離値の2倍された値から減算することによって決定され得、このことは、次式によって表現され得る。
相似値=2・D(λsample,λmusic)-D(λmusic,λbase)-D(λsample,λbase)
ただし、λsampleは、オーディオストリーム部分640に関する音楽モデルを表し、λmusicは、楽曲に関する音楽モデルを表し、λbaseは、ベース音楽モデルを表し、D(λsample,λmusic)は、λsampleとλmusicとの間の第1の距離値を表し、D(λmusic,λbase)は、λmusicとλbaseとの間の第2の距離値を表し、D(λsample,λbase)は、λsampleとλbaseとの間の第3の距離値を表す。相似値を決定するための上記で説明された実施形態では、計算リソースおよび電力の効率を改善するために、任意の適当な修正が加えられてよい。
図7は、本開示の一実施形態による、オーディオストリームの中の楽曲を識別および追跡するために、電子デバイスにおいて実行される方法700のフローチャートである。電子デバイス(たとえば、図3に示す電子デバイス300)は、楽曲に対応する音を含む入力音ストリームを受信し得、入力音ストリームをオーディオストリームに変換し得る。710において、電子デバイスは、音がオーディオストリームの中で検出されるかどうかを決定し得る。一実施形態では、音は、しきい値音強度に基づいてオーディオストリームの中で検出され得る。音が検出されない場合(すなわち、710における「NO」)、方法700は710に戻る形で進んで、受信されている入力音ストリームから生成されているオーディオストリームの中で、音が検出されるかどうかを決定し得る。
音が検出されると(すなわち、710における「YES」)、電子デバイスは、720においてオーディオストリームの一部分をサンプリングし得、730においてオーディオストリームのサンプリングされた部分に基づく音特徴を抽出し得る。いくつかの実施形態では、複数の音特徴が、オーディオストリームのサンプリングされた部分から抽出され得る。音特徴に基づいて、電子デバイスは、740において、音楽がオーディオストリームのサンプリングされた部分の中で検出されるかどうかを、任意の適当な音分類方法を使用することによって決定し得る。音楽が検出されない場合(すなわち、740における「NO」)、方法700は710に戻る形で進んで、生成されているオーディオストリームの中で音が検出されるかどうかを決定し続け得る。
一方、音楽が検出されると(すなわち、740における「YES」)、方法700は750に進んで、検出された音楽に関連した楽曲を識別し得る。いくつかの実施形態によれば、楽曲は、楽曲に関連した識別情報を取得することによって識別され得る。電子デバイスが楽曲を識別しない場合(すなわち、750における「NO」)、方法700は710に戻る形で進んで、生成されているオーディオストリームの中で音が検出されるかどうかを決定し得る。
一方、楽曲が識別される場合(すなわち、750における「YES」)、電子デバイスの中の音楽履歴データベースが、識別された楽曲を用いて更新され得る。さらに、方法700は760に進んで、識別された楽曲を追跡し得、楽曲の終了を検出し得る。いくつかの実施形態によれば、電子デバイスは、オーディオストリームの一部分をサンプリングし得、サンプリングされた部分が楽曲の一部分であるか否かを決定し得る。このプロセスでは、電子デバイスの中で生成されるか、または外部デバイスから取得される、楽曲に関する音楽モデルが使用され得る。楽曲の終了が検出されない場合(すなわち、760における「NO」)、方法700は、たとえば、オーディオストリームの次の部分をサンプリングすることによって、楽曲を追跡し続けることに進む。そうでない場合、楽曲の終了が検出される場合(すなわち、760における「YES」)、方法700は710に戻る形で進んで、生成されているオーディオストリームの中で音が検出されるかどうかを決定し得る。方法700は、楽曲に関する識別情報を取得した後に楽曲を追跡することとして上記で説明されるが、たとえ電子デバイスがそのような識別情報を取得しなくても、方法700は、楽曲に関する音楽モデルを、オーディオストリームの一部分に基づいて生成または取得し得、楽曲を音楽モデルに基づいて追跡し得る。
図8は、本開示の一実施形態による、オーディオストリームの一部分から抽出される少なくとも1つの音特徴に基づいて楽曲を識別するための、詳細な方法750を示す。図7の740において、オーディオストリームのサンプリングされた部分の中で音楽が検出されると、方法750は、810において、オーディオストリームの一部分から抽出される少なくとも1つの音特徴を取得し得る。一実施形態では、音楽検出モジュール410は、オーディオストリームの一部分から抽出され、音楽を検出するために使用された少なくとも1つの音特徴を、音楽識別ユニット342に提供し得る。別の実施形態では、音楽識別ユニット342は、音楽検出モジュール410が音楽を検出するために音特徴を抽出した部分の後の、オーディオストリームの一部分から少なくとも1つの音特徴を抽出し得る。
取得された少なくとも1つの音特徴は、820において、電子デバイス(たとえば、図3における電子デバイス300)からサーバ(たとえば、図2におけるサーバ240)へ送信され得る。サーバは、識別情報を含む音楽データベースを記憶し得る。電子デバイスからの音特徴に基づいて、サーバは、音特徴に対応する楽曲に関連した識別情報を取り出し得る。サーバが音特徴に関するそのような識別情報を取り出せない場合、サーバは、一致が見られなかったことを示すメッセージを電子デバイスへ送信してよい。一方、サーバが音特徴に関する識別情報を取り出すことに成功した場合、サーバは、楽曲に関連する取り出された識別情報を電子デバイスへ送信してよい。
830において、方法750は、楽曲に関する識別情報がサーバから受信されるかどうかを決定し得る。楽曲に関連した識別情報がサーバから受信される場合(すなわち、830における「YES」)、方法750は760に進んで、楽曲を追跡し、楽曲の終了を検出する。識別情報がサーバから受信されない(たとえば、一致が見られなかったことを示すメッセージが受信される)場合(すなわち、830における「NO」)、方法750は710に進んで、生成されているオーディオストリームの中で音が検出されるかどうかを決定する。一実施形態によれば、サーバは、複数の楽曲に関する複数の音楽モデルを含んでよく、電子デバイスから受信される音特徴に一致する複数の音楽モデルのうちの1つを電子デバイスへ送信してよい。
図9は、本開示の一実施形態による、楽曲に関連した音楽モデルに基づいて楽曲を追跡するための、詳細な方法760を示す。方法760は、910において、オーディオストリームの一部分をサンプリングし得る。オーディオストリームの一部分(たとえば、図5におけるG1)が音楽を検出するためにサンプリングされてから所定の時間の期間(たとえば、図5におけるT3)の後の部分、またはオーディオストリームの一部分(たとえば、図5におけるN1)が楽曲の終了を検出するためにサンプリングされた後の別の所定の時間の期間(たとえば、図5におけるT4)の後の部分が、サンプリングされ得る。さらに、方法760は、920において、オーディオストリームのサンプリングされた部分に基づく音特徴を抽出し得る。いくつかの実施形態では、複数の音特徴が、オーディオストリームのサンプリングされた部分から抽出され得る。
方法750は、930において、オーディオストリームのサンプリングされた部分が楽曲の一部分であるかどうかを、楽曲に関する音楽モデルおよび抽出された音特徴に基づいて決定し得る。楽曲に関する音楽モデルは、電子デバイスの中で生成され得るか、または外部デバイスから受信され得る。いくつかの実施形態では、電子デバイスの中の音楽追跡モジュール430は、音特徴と楽曲に関する音楽モデルとの間の相似値を決定し得る。相似値は、たとえば、図6を参照しながら上記で説明した方式で、任意の適当な方式を使用することによって決定され得る。相似値は、所定のしきい値と比較され得る。
サンプリングされた部分が楽曲の一部分でないものと決定される場合(すなわち、940における「NO」)、方法760は710に進んで、生成されているオーディオストリームの中で音が検出されるかどうかを決定し続ける。一方、サンプリングされた部分が楽曲の一部分であるものと決定される場合(すなわち、940における「YES」)、方法760は910に進んで、オーディオストリームの次の部分をサンプリングする。このようにして、音楽追跡モジュール430は、楽曲を追跡し続け得る。
図10は、本開示の一実施形態による、楽曲に関する識別情報を受信し、音楽履歴データベース364を管理し、推奨および通知を生成するように構成された、電子デバイス300のプロセッサ340における音楽管理ユニット344のより詳細なブロック図を示す。音楽管理ユニット344は、音楽履歴管理モジュール1010、推奨モジュール1020、および通知モジュール1030を含み得る。図示のように、音楽管理ユニット344は、プロセッサ340の中の音楽識別ユニット342およびストレージユニット360の中の音楽履歴データベース364にアクセスし得る。
音楽識別ユニット342は、楽曲に関する識別情報を取得すると、識別情報を音楽管理ユニット344の中の音楽履歴管理モジュール1010に提供し得る。音楽履歴管理モジュール1010は、音楽履歴データベース364にアクセスし得、識別情報を用いて音楽履歴データベース364を更新し得る。さらに、音楽履歴管理モジュール1010は、ロケーションセンサー370およびクロックモジュール380に、音楽履歴データベースを更新する際に使用するための、電子デバイス300のロケーション情報、および時間情報を決定するように命令し得る。ロケーション情報および時間情報は、楽曲に関する識別情報とともに音楽履歴データベース364に記憶され得る。
一実施形態では、音楽履歴管理モジュール1010は、音楽履歴データベース364の中に記憶されている識別情報に基づいて、頻繁に聞かれる楽曲のリストを生成し得る。たとえば、音楽履歴管理モジュール1010は、規定された時間区間内に楽曲が音楽履歴データベース364の中に何回記録されているのかを決定し得る。楽曲が所定の回数よりも多く識別されると、音楽履歴管理モジュール1010は、楽曲が頻繁に聞かれる楽曲であると決定し得、頻繁に聞かれる楽曲のリストにそれを追加し得る。さらに、音楽履歴管理モジュール1010は、1つまたは複数の時間期間またはロケーションにおいて聞かれた楽曲の、楽曲に関連した時間またはロケーションと一緒のリストを生成し得る。
音楽履歴データベース364に記憶されている識別情報に基づいて、推奨モジュール1020は、ユーザ向けの推奨を生成し得る。たとえば、識別された楽曲が頻繁に聞かれる楽曲のリストの中に含まれるとき、推奨モジュール1020は、識別された楽曲をユーザがダウンロードまたは購入するための推奨を生成し得、I/Oユニット320上にそれを表示し得る。付加的または代替的には、推奨モジュール1020は、頻繁に聞かれる楽曲のリストの中の楽曲を外部のサーバからストリーミングするための推奨を提供し得る。
通知モジュール1030は、識別情報を分析し、識別された楽曲のための通知を提供するように構成され得る。たとえば、識別情報は、楽曲が無料ダウンロード向けに利用可能であること、または楽曲が面白い音楽ビデオ、高く格付けされた音楽ビデオなどの特定のタイプの音楽ビデオに関連することを示す、追加情報を含み得る。この場合、通知ユニット460は、ユーザに追加情報を通知し得る。いくつかの実施形態では、識別された楽曲が別のユーザの「お気に入り音楽」として決定されるとき、通知モジュール1030は、識別された楽曲が他のユーザのお気に入り音楽であることを、ユーザに通知し得る。
図11は、楽曲をオーディオストリームから識別するとともに楽曲を追跡するための本開示の方法および装置がいくつかの実施形態に従って実施され得る、ワイヤレス通信システムにおけるモバイルデバイス1100のブロック図を示す。モバイルデバイス1100は、セルラーフォン、スマートフォン、ウェアラブルコンピュータ、スマートウォッチ、スマートグラス、タブレットパーソナルコンピュータ、端末、ハンドセット、携帯情報端末(PDA)、ワイヤレスモデム、コードレス電話、タブレットなどであってよい。ワイヤレス通信システムは、CDMAシステム、GSM(登録商標)システム、W-CDMAシステム、LTEシステム、LTEアドバンストシステムなどであってよい。
モバイルデバイス1100は、受信パスおよび送信パスを介して双方向通信を提供することが可能であり得る。受信パスでは、基地局によって送信された信号が、アンテナ1112によって受信され得、受信機(RCVR)1114に供給され得る。受信機1114は、受信された信号を調整およびデジタル化し得、調整およびデジタル化されたデジタル信号を、さらなる処理のためにデジタル部に供給し得る。送信パスでは、送信機(TMTR)1116は、送信されるべきデータをデジタル部1120から受信し得、データを処理および調整するとともに被変調信号を生成し得、被変調信号はアンテナ1112を介して基地局へ送信される。受信機1114および送信機1116は、CDMA、GSM(登録商標)、W-CDMA、LTE、LTEアドバンストなどをサポートし得るトランシーバの一部であってよい。
デジタル部1120は、たとえば、モデムプロセッサ1122、縮小命令セットコンピュータ/デジタル信号プロセッサ(RISC/DSP)1124、コントローラ/プロセッサ1126、内部メモリ1128、一般化オーディオ/ビデオエンコーダ1132、一般化オーディオデコーダ1134、グラフィックス/ディスプレイプロセッサ1136、および外部バスインターフェース(EBI)1138などの、様々な処理、インターフェース、およびメモリユニットを含み得る。モデムプロセッサ1122は、データ送信および受信のための処理、たとえば、符号化、変調、復調、および復号を実行し得る。RISC/DSP1124は、モバイルデバイス1100のための一般的処理および特殊処理を実行し得る。コントローラ/プロセッサ1126は、デジタル部1120内の様々な処理およびインターフェースユニットの動作を実行し得る。内部メモリ1128は、デジタル部1120内の様々なユニットのためのデータおよび/または命令を記憶し得る。
一般化オーディオ/ビデオエンコーダ1132は、オーディオ/ビデオソース1142、マイクロフォン1144、画像センサー1146などからの入力信号に対して、符号化を実行し得る。一般化オーディオデコーダ1134は、コード化オーディオデータに対して復号を実行し得、出力信号をスピーカー/ヘッドセット1148に提供し得る。グラフィックス/ディスプレイプロセッサ1136は、ディスプレイユニット1150に提示され得るグラフィックス、ビデオ、画像、およびテキストに対して、処理を実行し得る。EBI1138は、デジタル部1120と主記憶装置1152との間のデータの転送を容易にし得る。
デジタル部1120は、1つまたは複数のプロセッサ、DSP、マイクロプロセッサ、RISCなどを用いて実装され得る。デジタル部1120はまた、1つまたは複数の特定用途向け集積回路(ASIC)および/またはいくつかの他のタイプの集積回路(IC)の上に製作され得る。
図12は、いくつかの実施形態に従って実施される、楽曲についての情報を探索および提供するための、前に説明されたサーバのうちの任意の1つであり得るサーバシステム1200を示すブロック図である。サーバシステム1200は、1つまたは複数の処理ユニット(たとえば、CPU)1202、1つまたは複数のネットワークまたは他の通信ネットワークインターフェース、メモリ1212、およびこれらの構成要素を相互接続するための1つまたは複数の通信バス1214を含み得る。サーバシステム1200はまた、ディスプレイデバイスおよびキーボードを有するユーザインターフェース(図示せず)を含み得る。
メモリ1212は、高速ランダムアクセスメモリ(たとえば、DRAM、SRAM、DDR RAM(登録商標)または他のランダムアクセスソリッドステートメモリデバイス)などの、任意の適当なメモリであってよい。メモリ1212は、不揮発性メモリ(たとえば、1つまたは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、または他の不揮発性ソリッドステートストレージデバイス)を含んでよく、または代替的に不揮発性メモリであってよい。いくつかの実施形態では、メモリ1212は、CPU1202から遠隔に位置する、および/または複数のサイトの中に遠隔に位置する1つまたは複数のストレージデバイスを含み得る。
メモリ1212によって表される上記のメモリデバイスのうちのいずれも、前に説明したプロセス、動作、または方法のいずれかを実施および/または実行するための命令のセットに対応する、任意の数のモジュールまたはプログラムを記憶し得る。たとえば、メモリ1212は、様々な基本システムサービスを処理するための、およびハードウェア依存作業を実行するための命令を記憶するように構成されたオペレーティングシステム1216を含み得る。メモリ1212のネットワーク通信モジュール1218は、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの、1つまたは複数の通信ネットワークインターフェース1210(有線またはワイヤレスの)および1つまたは複数の通信ネットワークを介して、サーバシステム1200を他のコンピュータに接続するために使用され得る。
メモリ1212はまた、音楽モデルデータベース、識別情報データベースなどを含むように構成された音楽データベース1220を含み得る。音楽データベースの中のデータベースの各々は、楽曲を識別し、楽曲の終了を検出するために使用され得る。音楽モデルデータベースの中の各音楽モデルは、楽曲と関連付けられ得る。オペレーティングシステム1216は、複数の音楽提供者からネットワーク通信モジュール1218を通じて受信されるマルチメディアストリームの中の様々な音楽を用いて、音楽データベース1220を更新し得る。オペレーティングシステム1216はまた、複数の楽曲に関する音楽モデルおよび識別情報を、複数の電子デバイスにネットワーク通信モジュール1218を介して提供し得る。
一般に、本明細書で説明する任意のデバイスは、ワイヤレスフォン、セルラーフォン、ラップトップコンピュータ、ワイヤレスマルチメディアデバイス、ワイヤレス通信パーソナルコンピュータ(PC)カード、PDA、外部モデムまたは内部モデム、ワイヤレスチャネルを通じて通信するデバイスなどの、様々なタイプのデバイスを表し得る。デバイスは、アクセス端末(AT)、アクセスユニット、加入者ユニット、移動局、モバイルデバイス、モバイルユニット、モバイルフォン、モバイル、リモート局、リモート端末、リモートユニット、ユーザデバイス、ユーザ機器、ハンドヘルドデバイスなどの、様々な名前を有し得る。本明細書で説明する任意のデバイスは、命令およびデータを記憶するためのメモリ、ならびにハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを有し得る。
本明細書で説明する技法は、様々な手段によって実装され得る。たとえば、これらの技法は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実装され得る。本明細書の開示に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者ならさらに諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路およびステップが、概してそれらの機能に関してこれまで説明されてきた。そのような機能が、ハードウェアとして実現されるのか、ソフトウェアとして実現されるのかは、特定の適用例および全体的なシステムに課された設計制約によって決まる。当業者は、説明された機能を各特定の適用例に対して様々な方式で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
ハードウェア実装の場合、本技法を実行するために使用される処理ユニットは、1つまたは複数のASIC、DSP、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明された機能を実行するように設計された他の電子ユニット、コンピュータ、またはそれらの組合せ内に実装されてよい。
したがって、本明細書の開示に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、DSP、ASIC、FPGAもしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェアコンポーネント、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを用いて、実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連結した1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されてよい。
ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムの1つの場所から別の場所への転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。例として、それらに限定されないが、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望のプログラムコードを命令もしくはデータ構造の形態で搬送もしくは記憶するために使用されてよく、かつコンピュータによってアクセスされ得る他の任意の媒体を、備えることができる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ディスク(disk)は通常、磁気的にデータを再生し、ディスク(disc)はレーザーで光学的にデータを再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
本開示の前述の説明は、当業者が本開示を作成または使用できるようにするために提供される。本開示の様々な修正が当業者には容易に明らかになり、本明細書で定義する一般的原理は、本開示の趣旨または範囲から逸脱することなく、他の変形形態に適用される。したがって、本開示は、本明細書で説明する例に限定されるものではなく、本明細書で開示される原理および新規の特徴に合致する最も広い範囲が与えられるべきである。
例示的な実装形態は、現在開示される主題の態様を、1つまたは複数のスタンドアロンのコンピュータシステムのコンテキストにおいて利用することに言及されるが、本主題はそのように限定されず、むしろネットワーク環境または分散コンピューティング環境などの任意のコンピューティング環境とともに実施され得る。またさらに、現在開示される主題の態様は、複数の処理チップもしくはデバイスの中で、または複数の処理チップもしくはデバイスにわたって実装されてよく、ストレージが複数のデバイスにわたって同様に割り当てられてよい。そのようなデバイスは、PC、ネットワークサーバ、およびハンドヘルドデバイスを含み得る。
構造的な特徴および/または方法論的な動作に特有の言葉で本主題が説明されてきたが、添付の特許請求の範囲の中で定義される主題が、上述された特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、上述された特定の特徴および動作は、特許請求の範囲を実施することの例示的な形態として開示される。
上記で特定されたモジュールまたはプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、プロシージャまたはモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが組み合わされてよく、または場合によっては再構成されてよいことが諒解されよう。さらに、メモリ1212は、上記に記載されないさらなるモジュールおよびデータ構造を記憶してよい。
<本開示の態様>
これ以降、本開示のいくつかの態様がさらに述べられる。
本開示の態様によれば、オーディオストリームの第1の部分を受信することと、オーディオストリームの第1の部分に基づく第1の音特徴を抽出することと、オーディオストリームの第1の部分が音楽を示すかどうかを、第1の音特徴に基づいて決定することと、オーディオストリームの第1の部分が音楽を示すと決定することに応答して、オーディオストリームの第1の部分に基づいて第1の楽曲を識別することと、オーディオストリームの第2の部分を受信することと、オーディオストリームの第2の部分に基づく第2の音特徴を抽出することと、オーディオストリームの第2の部分が第1の楽曲を示すかどうかを決定することを含む、オーディオストリームの中の楽曲を追跡するための方法が提供される。
実施例1の方法では、オーディオストリームの第1の部分を受信することは、オーディオストリームの複数の部分を、音センサーのデューティサイクルに従って周期的に受信することを含む。
実施例1または2の方法は、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴に基づいて、第1の楽曲を示す音楽モデルを生成することをさらに含む。
実施例1〜3のうちのいずれか1つの方法では、第1の楽曲を示す音楽モデルを生成することは、第1の楽曲を示す音楽モデルを求める要求を外部デバイスへ送信することであって、要求が、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴を含むことと、音楽モデルを外部デバイスから受信することとを含む。
実施例1〜4のうちのいずれか1つの方法では、音楽モデルを生成することは、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴に基づいて、あらかじめ決定された音楽モデルを修正することを含む。
実施例1〜5のうちのいずれか1つの方法では、オーディオストリームの第2の部分が第1の楽曲を示すかどうかを決定することは、音楽モデル、およびオーディオストリームの第2の部分から抽出された少なくとも1つの音特徴に基づく。
実施例1〜6のうちのいずれか1つの方法は、第2の部分が第1の楽曲を示さないと決定することに応答して、オーディオストリームの第3の部分を受信することと、オーディオストリームの第3の部分に基づく第3の音特徴を抽出することと、オーディオストリームの第3の部分が音楽を示すかどうかを、第3の音特徴に基づいて決定することと、オーディオストリームの第3の部分が音楽を示すと決定することに応答して、オーディオストリームの第3の部分に基づいて第2の楽曲を識別することとをさらに含む。
実施例1〜7のうちのいずれか1つの方法では、オーディオストリームの第3の部分に基づいて第2の楽曲を識別することは、要求を外部デバイスへ送信することであって、要求が、オーディオストリームの第3の部分から抽出された少なくとも1つの音特徴を含むことと、第2の楽曲に関連した情報を外部デバイスから受信することと、外部デバイスから受信された情報に基づいて第2の楽曲を識別することとを含む。
実施例1〜8のうちのいずれか1つの方法では、第1の楽曲を識別することは、識別情報をサーバなどの外部デバイスから取得することを含む。
実施例1〜9のうちのいずれか1つの方法は、オーディオストリームの第2の部分が第1の楽曲を示すと決定することに応答して、オーディオストリームの第3の部分を受信することをさらに含む。この例では、オーディオストリームの第3の部分を受信することは、オーディオストリームの複数の部分を、音センサーのデューティサイクルに従って周期的に受信することを含む。
本開示の別の態様によれば、オーディオストリームの第1の部分を受信し、オーディオストリームの第1の部分に基づく第1の音特徴を抽出し、オーディオストリームの第1の部分が音楽を示すかどうかを、第1の音特徴に基づいて決定するように構成された音楽検出ユニットと、第1の部分が音楽を示すと決定することに応答して、オーディオストリームの第1の部分に基づいて第1の楽曲を識別するように構成された音楽識別ユニットと、オーディオストリームの第2の部分を受信し、オーディオストリームの第2の部分に基づく第2の音特徴を抽出し、オーディオストリームの第2の部分が第1の楽曲を示すかどうかを決定するように構成された音楽追跡ユニットとを含む、オーディオストリームの中の楽曲を追跡するための電子デバイスが提供される。
実施例11の電子デバイスでは、音楽検出ユニットは、オーディオストリームの複数の部分を、音センサーのデューティサイクルに従って周期的に受信するように構成される。
実施例11または12の電子デバイスは、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴に基づいて、第1の楽曲を示す音楽モデルを生成するように構成された音楽モデル管理ユニットをさらに含む。
実施例11〜13のうちのいずれか1つの電子デバイスでは、音楽モデル管理ユニットは、第1の楽曲を示す音楽モデルを求める要求であって、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴を含む要求を外部デバイスへ送信し、音楽モデルを外部デバイスから受信するように構成される。
実施例11〜14のうちのいずれか1つの電子デバイスでは、音楽モデル管理ユニットは、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴に基づいて、あらかじめ決定された音楽モデルを修正するように構成される。
実施例11〜15のうちのいずれか1つの電子デバイスでは、音楽検出ユニットは、オーディオストリームの第2の部分が楽曲を示さないと決定することに応答して、オーディオストリームの第3の部分を受信し、オーディオストリームの第3の部分に基づく第3の音特徴を抽出し、オーディオストリームの第3の部分が音楽を示すかどうかを、第3の音特徴に基づいて決定するように構成される。この例では、音楽識別ユニットは、オーディオストリームの第3の部分が音楽を示すと決定することに応答して、オーディオストリームの第3の部分に基づいて第2の楽曲を識別するように構成される。
実施例11〜16のうちのいずれか1つの電子デバイスでは、第2の楽曲を識別するように構成された音楽識別ユニットは、オーディオストリームの第3の部分から抽出された少なくとも1つの音特徴を含む要求を外部デバイスへ送信し、第2の楽曲に関連した情報を外部デバイスから受信し、外部デバイスから受信された情報に基づいて第2の楽曲を識別するように構成される。
実施例11〜17のうちのいずれか1つの電子デバイスでは、音楽識別ユニットは、識別情報を外部デバイスから取得するように構成される。
本開示のさらに別の態様によれば、オーディオストリームの第1の部分を受信するための手段と、オーディオストリームの第1の部分に基づく第1の音特徴を抽出するための手段と、オーディオストリームの第1の部分が音楽を示すかどうかを、第1の音特徴に基づいて決定するための手段と、オーディオストリームの第1の部分が音楽を示すと決定することに応答して、オーディオストリームの第1の部分に基づいて第1の楽曲を識別するための手段と、オーディオストリームの第2の部分を受信するための手段と、オーディオストリームの第2の部分に基づく第2の音特徴を抽出するための手段と、オーディオストリームの第2の部分が第1の楽曲を示すかどうかを決定するための手段とを含む、オーディオストリームの中の楽曲を追跡するための電子デバイスが提供される。
実施例19の電子デバイスでは、オーディオストリームの第1の部分を受信するための手段は、オーディオストリームの複数の部分を、音センサーのデューティサイクルに従って周期的に受信するための手段を含む。
実施例19または20の電子デバイスは、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴に基づいて、第1の楽曲を示す音楽モデルを生成するための手段をさらに含む。
実施例19〜21のうちのいずれか1つの電子デバイスでは、第1の楽曲を示す音楽モデルを生成するための手段は、第1の楽曲を示す音楽モデルを求める要求を外部デバイスへ送信するための手段を含む。この例では、要求が、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴と、音楽モデルを外部デバイスから受信するための手段とを含む。
実施例19〜22のうちのいずれか1つの電子デバイスでは、音楽モデルを生成するための手段は、オーディオストリームの第1の部分から抽出された少なくとも1つの音特徴に基づいて、あらかじめ決定された音楽モデルを修正するための手段を含む。
実施例19〜23のうちのいずれか1つの電子デバイスでは、オーディオストリームの第2の部分が第1の楽曲を示すかどうかを決定するための手段は、音楽モデル、およびオーディオストリームの第2の部分から抽出された少なくとも1つの音特徴に基づく。
実施例19〜24のうちのいずれか1つの電子デバイスは、第2の部分が第1の楽曲を示さないと決定することに応答して、オーディオストリームの第3の部分を受信するための手段と、オーディオストリームの第3の部分に基づく第3の音特徴を抽出するための手段と、オーディオストリームの第3の部分が音楽を示すかどうかを、第3の音特徴に基づいて決定するための手段と、オーディオストリームの第3の部分が音楽を示すと決定することに応答して、オーディオストリームの第3の部分に基づいて第2の楽曲を識別するための手段とをさらに含む。
実施例19〜25のうちのいずれか1つの電子デバイスでは、オーディオストリームの第3の部分に基づいて第2の楽曲を識別するための手段は、要求を外部デバイスへ送信するための手段であって、要求が、オーディオストリームの第3の部分から抽出された少なくとも1つの音特徴を含む手段と、第2の楽曲に関連した情報を外部デバイスから受信するための手段と、外部デバイスから受信された情報に基づいて第2の楽曲を識別するための手段とを含む。
実施例19〜26のうちのいずれか1つの電子デバイスでは、楽曲を識別するための手段は、識別情報をサーバなどの外部デバイスから取得するように構成される。
本開示のまた別の態様によれば、電子デバイスのプロセッサに、オーディオストリームの第1の部分を受信することと、オーディオストリームの第1の部分に基づく第1の音特徴を抽出することと、オーディオストリームの第1の部分が音楽を示すかどうかを、第1の音特徴に基づいて決定することと、オーディオストリームの第1の部分が音楽を示すと決定することに応答して、オーディオストリームの第1の部分に基づいて第1の楽曲を識別することと、オーディオストリームの第2の部分を受信することと、オーディオストリームの第2の部分に基づく第2の音特徴を抽出することと、オーディオストリームの第2の部分が第1の楽曲を示すかどうかを決定することとの動作を実行させる命令を含む非一時的コンピュータ可読記憶媒体が提供される。
実施例28の非一時的コンピュータ可読記憶媒体では、オーディオストリームの第1の部分を受信することは、オーディオストリームの複数の部分を、音センサーのデューティサイクルに従って周期的に受信することを含む。
実施例28または29の非一時的コンピュータ可読記憶媒体は、電子デバイスのプロセッサに、第2の部分が第1の楽曲を示さないと決定することに応答して、オーディオストリームの第3の部分を受信することと、オーディオストリームの第3の部分に基づく第3の音特徴を抽出することと、オーディオストリームの第3の部分が音楽を示すかどうかを、第3の音特徴に基づいて決定することと、オーディオストリームの第3の部分が音楽を示すと決定することに応答して、オーディオストリームの第3の部分に基づいて第2の楽曲を識別することとの動作を実行させる命令をさらに含む。