(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】デジタル・オーディオ・ファイルのための音色的に調和する同期されたニューラルビートの生成
(51)【国際特許分類】
G10K 15/04 20060101AFI20241106BHJP
H04R 3/00 20060101ALI20241106BHJP
G10L 25/90 20130101ALI20241106BHJP
A61M 21/02 20060101ALI20241106BHJP
【FI】
G10K15/04 302M
H04R3/00 310
G10L25/90
A61M21/02 H
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024524489
(86)(22)【出願日】2022-10-21
(85)【翻訳文提出日】2024-06-13
(86)【国際出願番号】 EP2022079448
(87)【国際公開番号】W WO2023067175
(87)【国際公開日】2023-04-27
(32)【優先日】2021-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】524150410
【氏名又は名称】ユニバーサル インターナショナル ミュージック ベー.フェー.
【氏名又は名称原語表記】UNIVERSAL INTERNATIONAL MUSIC B.V.
【住所又は居所原語表記】‘S GRAVELANDSEWEG 80 1217 EW HILVERSUM NETHERLANDS
(74)【代理人】
【識別番号】100143823
【氏名又は名称】市川 英彦
(74)【代理人】
【識別番号】100232275
【氏名又は名称】和田 宣喜
(72)【発明者】
【氏名】クィントン,エリオ
【テーマコード(参考)】
5D220
【Fターム(参考)】
5D220AA50
(57)【要約】
デジタル・オーディオ・ファイルのための改善されたニューラルビート生成のための方法及びシステムが提供される。一実施形態では、デジタル・オーディオ・ファイルとニューラルビートのビート周波数とを受信することを含む方法が提供される。クロマグラム特徴は、デジタル・オーディオ・ファイルから抽出されてもよく、デジタル・オーディオ・ファイル内の複数のタイムスタンプにおける支配的なピッチクラスを識別するために使用されてもよい。支配的なピッチクラスに基づいて、デジタル・オーディオ・ファイル内の異なる時間期間における複数のキャリア周波数を選択することができる。ニューラルビートは、複数のキャリア周波数におけるビート周波数に基づいて、デジタル・オーディオ・ファイルのために合成され得る。ニューラルビートは、記憶され得る、及び/又は、デジタル・オーディオ・ファイルと組み合わされ、記憶することができる結合オーディオトラックを生成し得る。
【特許請求の範囲】
【請求項1】
デジタル・オーディオ・ファイルと、該デジタル・オーディオ・ファイルに追加されることになるニューラルビートのビート周波数とを受信することと、
複数のパラメータに従って前記デジタル・オーディオ・ファイルから複数のクロマグラム特徴を抽出することと、
該複数のクロマグラム特徴を組み合わせて、前記デジタル・オーディオ・ファイルの一次クロマグラム特徴を形成することと、
該一次クロマグラム特徴から、前記デジタル・オーディオ・ファイル内の複数のタイムスタンプにおける支配的なピッチクラスを抽出することと、
前記複数のタイムスタンプにおける前記支配的なピッチクラスに基づいて、前記ニューラルビートのための複数のキャリア周波数を選択することと、
前記ビート周波数及び前記複数のキャリア周波数に基づいて、前記デジタル・オーディオ・ファイルのための同期されたニューラルビートを合成することと、
(i)該同期されたニューラルビート、及び、(ii)該同期されたニューラルビートと前記デジタル・オーディオ・ファイルとを組み合わせる結合オーディオトラック、のうちの少なくとも1つを記憶することと、
を含む、方法。
【請求項2】
前記一次クロマグラム特徴が、前記複数のタイムスタンプにおける複数のピッチクラスの各々の強度を含み、
前記支配的なピッチクラスが、前記複数のピッチクラスの中から選択される、請求項1に記載の方法。
【請求項3】
前記支配的なピッチクラスを抽出することが、隠れマルコフモデルを用いて、前記複数のピッチクラスの前記強度に基づいて前記複数のタイムスタンプにおける前記複数のピッチクラスの各々についての確率分布を生成することをさらに含む、請求項2に記載の方法。
【請求項4】
前記隠れマルコフモデルが、複数の支配的なピッチクラスの間の遷移の数及び位置を最適化するように構成される、請求項3に記載の方法。
【請求項5】
前記支配的なピッチクラスを抽出することが、前記確率分布内で、支配的なピッチクラスのシーケンスを識別することをさらに含む、請求項3に記載の方法。
【請求項6】
前記複数のタイムスタンプが、前記デジタル・オーディオ・ファイルに符号化された前記オーディオの間に500ミリ秒以下ごとに発生する、請求項1から請求項5のいずれかに記載の方法。
【請求項7】
前記複数のクロマグラム特徴が線形的に組み合わされて、前記一次クロマグラム特徴が形成される、請求項1から請求項5のいずれかに記載の方法。
【請求項8】
時間の経過とともに前記デジタル・オーディオ・ファイルに符号化された前記オーディオの音量に追従するように前記同期されたニューラルビートの音量を調整すること、をさらに含む、請求項1から請求項5のいずれかに記載の方法。
【請求項9】
前記同期されたニューラルビートの前記音量を正規化することが、
前記デジタル・オーディオ・ファイルに符号化された前記オーディオの持続時間についてのラウドネスプロファイルを生成することと、
該ラウドネスプロファイルに基づいて音量曲線を形成することと、
該音量曲線に従って前記同期されたニューラルビートの前記音量を調整することと、
を含む、請求項8に記載の方法。
【請求項10】
前記ビート周波数を前記デジタル・オーディオ・ファイル内の律動ビートと整合させること、をさらに含む、請求項1から請求項5のいずれかに記載の方法。
【請求項11】
前記ビート周波数を整合させることが、
前記デジタル・オーディオ・ファイル内で符号化された前記オーディオ信号内の律動ビートの位置を推定することと、
前記デジタル・オーディオ・ファイル内で符号化された前記オーディオ信号の前記音楽テンポを推定することと、
前記音楽テンポに従って、前記同期されたニューラルビート内のピーク値を、前記デジタル・オーディオ・ファイル内で符号化された前記オーディオ信号内の前記律動ビートの位置と整合させるために、前記同期されたニューラルビートのタイミングを調整することと、
を含む、請求項10に記載の方法。
【請求項12】
前記ニューラルビートが、(i)バイノーラルビート及び(ii)モノラルビートのうちの少なくとも一方である、請求項1から請求項5のいずれかに記載の方法。
【請求項13】
前記同期されたニューラルビートが、2つ以下のオーディオチャネルで符号化される、請求項1から請求項5のいずれかに記載の方法。
【請求項14】
前記同期されたニューラルビートが、3つ以上のオーディオチャネルで符号化される、請求項1から請求項5のいずれかに記載の方法。
【請求項15】
前記ビート周波数が、0.5Hz以上かつ150Hz以下である、請求項1から請求項5のいずれかに記載の方法。
【請求項16】
コンピューティングデバイスを介して、前記同期されたニューラルビートと前記デジタル・オーディオ・ファイルとを同時に再生すること、をさらに含む、請求項1から請求項5のいずれかに記載の方法。
【請求項17】
前記コンピューティングデバイスによる再生のために、前記同期されたニューラルビートと前記デジタル・オーディオ・ファイルとを前記コンピューティングデバイスにストリーミングすること、をさらに含む、請求項16に記載の方法。
【請求項18】
プロセッサとメモリとを具備するシステムであって、該メモリが、請求項1から請求項17のいずれかに記載の方法のステップを実行するように構成されることを特徴とする、システム。
【請求項19】
前記一次クロマグラム特徴が、前記複数のタイムスタンプにおける複数のピッチクラスの各々の強度を含み、
前記支配的なピッチクラスが、前記複数のピッチクラスの中から選択される、請求項18に記載のシステム。
【請求項20】
前記メモリが命令をさらに含み、
該命令は、
前記支配的なピッチクラスを抽出しながら前記プロセッサによって実行されたときに、
隠れマルコフモデルを用いて、前記複数のピッチクラスの前記強度に基づいて前記複数のタイムスタンプにおける前記複数のピッチクラスの各々についての確率分布を生成する、という処理を、前記プロセッサに実行させる、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本件出願は、デジタル・オーディオ・ファイルのための音色的に調和する同期されたニューラルビートの生成に関する。
【背景技術】
【0002】
音響学では、ビートは、わずかに異なる周波数の2つの音の間の干渉パターンであり、そのレートが2つの周波数の差である音量の周期的変動として知覚される。モノラルビートの場合、聴者は同じ耳又は両方の耳で2つの異なる周波数を聞く。バイノーラルビートでは、2つの異なる周波数は、例えば、ヘッドホン又は特別に配置されたスピーカを使用して、異なる耳を通して聞こえ、干渉パターンは聴者の脳によって検出される。複数の信号を含むより複雑な干渉パターンを使用して、様々なビートを作成することもできる。
【0003】
特定のタイプのビート(例えば、モノラルビート、バイノーラルビート)を使用して、所望の精神状態を促進する(例えば、個人の注意又は集中を改善する)ことができる。例えば、そのようなビートは、そのビートを聞くユーザに神経エントレインメントを生じさせ、ユーザがより良く集中又は専念するのを助けるために使用され得る。多くの場合、これらのビートは、ビートのみを含むオーディオトラックなどの独立したオーディオトラックとして提供され得る。あるいは、トラックにモノラル又はバイノーラルビートをカスタム追加したオーディオトラック(すなわち、モノラル又はバイノーラルビートを含むように構成又は生成されたオーディオトラック)が準備されることもある。場合によっては、通常は可聴音である周波数範囲内にないビートさえも提供され得る。
【発明の概要】
【0004】
本開示は、ニューラルビートを生成し、既存のオーディオトラックに追加するための新規かつ革新的なシステム及び方法を提示する。第1の態様では、本発明は、デジタル・オーディオ・ファイルと、デジタル・オーディオ・ファイルに追加されることになるニューラルビートのビート周波数とを受信することと、複数のパラメータに従ってデジタル・オーディオ・ファイルの複数のクロマグラム特徴を抽出することと、を含む方法を提供する。本方法は、デジタル・オーディオ・ファイルの一次クロマグラム特徴を形成するために、複数のクロマグラム特徴を組み合わせることと、一次クロマグラム特徴から、デジタル・オーディオ・ファイル内の複数のタイムスタンプにおける支配的なピッチクラスを抽出することと、を含む。複数のタイムスタンプにおける支配的なピッチクラスに基づいて、ニューラルビートのための複数のキャリア周波数が選択され、ビート周波数及び複数のキャリア周波数に基づいて、デジタル・オーディオ・ファイルのための同期されたニューラルビートが合成される。本方法は、(i)同期されたニューラルビート、及び(ii)同期されたニューラルビートとデジタル・オーディオ・ファイルとを組み合わせる結合オーディオトラックのうちの少なくとも1つを記憶することをさらに含む。
【0005】
第1の態様における本発明による一実施形態では、一次クロマグラム特徴は、複数のタイムスタンプにおける複数のピッチクラスの各々の強度を含む。一実施形態では、支配的なピッチクラスは、複数のピッチクラスの中から選択される。さらなる実施形態では、支配的なピッチクラスを抽出することは、隠れマルコフモデルを用いて、複数のピッチクラスの強度に基づいて複数のタイムスタンプにおける複数のピッチクラスの各々についての確率分布を生成することをさらに含む。さらに別の実施形態では、隠れマルコフモデルは、支配的なピッチクラス間の遷移の数及び位置を最適化するように構成される。代替の実施形態では、支配的なピッチクラスを抽出することは、確率分布内で、支配的なピッチクラスのシーケンスを識別することをさらに含む。
【0006】
第1の態様における本発明による一実施形態では、複数のタイムスタンプは、デジタル・オーディオ・ファイルの間に500ミリ秒以下ごとに発生する。
【0007】
第1の態様における本発明による一実施形態では、複数のクロマグラム特徴は、一次クロマグラム特徴を形成するために線形的に組み合わされる。
【0008】
第1の態様における本発明による一実施形態では、本方法は、時間の経過とともにデジタル・オーディオ・ファイルに符号化されたオーディオの音量に追従するように同期されたニューラルビートの音量を調整することをさらに含む。さらなる実施形態では、同期されたニューラルビートの音量を正規化することは、デジタル・オーディオ・ファイルに符号化されたオーディオの持続時間についてのラウドネスプロファイルを生成することと、ラウドネスプロファイルに基づいて音量曲線を形成することと、を含む。一実施形態では、本方法は、音量曲線に従って同期されたニューラルビートの音量を調整することを含む。
【0009】
第1の態様における本発明による一実施形態では、本方法は、ビート周波数をデジタル・オーディオ・ファイル内の律動ビートと整合させることをさらに含む。一実施形態では、ビート周波数を整合させることは、デジタル・オーディオ・ファイル内の律動ビートの位置を推定することと、デジタル・オーディオ・ファイル内の音楽テンポを推定することと、音楽テンポに従って、同期されたニューラルビート内のピーク値を、デジタル・オーディオ・ファイル内の律動ビートの位置と整合させるために、同期されたニューラルビートのタイミングを調整することと、を含む。一実施形態では、ニューラルビートは、(i)バイノーラルビート及び(ii)モノラルビートのうちの少なくとも1つである。
【0010】
第1の態様における本発明による一実施形態では、同期されたニューラルビートは、2つ以下のオーディオチャネルを含む。
【0011】
第1の態様における本発明による一実施形態では、同期されたニューラルビートは、3つ以上のオーディオチャネルを含む。
【0012】
第1の態様における本発明による一実施形態では、ビート周波数は0.5Hz以上かつ150Hz以下である。
【0013】
第1の態様における本発明による一実施形態では、本方法は、コンピューティングデバイスを介して、同期されたニューラルビートとデジタル・オーディオ・ファイルとを並列に再生することをさらに含む。一実施形態では、本方法は、コンピューティングデバイスによる再生のために、同期されたニューラルビートとデジタル・オーディオ・ファイルとをコンピューティングデバイスにストリーミングすることをさらに含む。
【0014】
上述した第1の態様における本発明による実施形態は、説明が特に明確にそうでないと開示しない限り、相互に排他的ではない。第1の態様における本発明による他の実施形態では、第1の態様における本発明による一実施形態の特徴は、第1の態様による別の実施形態の特徴の組合せと組み合わされる。
【0015】
第2の態様では、プロセッサとメモリとを含むシステムが提供される。メモリは、プロセッサによって実行されると、第1の態様における本発明による方法をプロセッサに実行させる命令を記憶することができる。一実施形態では、命令は、プロセッサによって実行されると、デジタル・オーディオ・ファイルと、デジタル・オーディオ・ファイルに追加されることになるニューラルビートのビート周波数とを受信することと、複数のパラメータに従ってデジタル・オーディオ・ファイルの複数のクロマグラム特徴を抽出することとをプロセッサに行わせる。命令はまた、デジタル・オーディオ・ファイルの一次クロマグラム特徴を形成するために、複数のクロマグラム特徴を組み合わせることと、一次クロマグラム特徴から、デジタル・オーディオ・ファイル内の複数のタイムスタンプにおける支配的なピッチクラスを抽出することと、複数のタイムスタンプにおける支配的なピッチクラスに基づいて、ニューラルビートのための複数のキャリア周波数を選択することとをプロセッサに行わせることができる。命令はさらに、ビート周波数及び複数のキャリア周波数に基づいて、デジタル・オーディオ・ファイルのための同期されたニューラルビートを合成することと、(i)同期されたニューラルビート、及び(ii)同期されたニューラルビートとデジタル・オーディオ・ファイルとを組み合わせる結合オーディオトラックのうちの少なくとも1つを記憶することとをプロセッサに行わせることができる。
【0016】
第2の態様における本発明による一実施形態では、一次クロマグラム特徴は、複数のタイムスタンプにおける複数のピッチクラスの各々の強度を含む。支配的なピッチクラスは、複数のピッチクラスの中から選択され得る。
【0017】
第2の態様による一実施形態では、メモリは、支配的なピッチクラスを抽出しながらプロセッサによって実行されると、隠れマルコフモデルを用いて、複数のピッチクラスの強度に基づいて複数のタイムスタンプにおける複数のピッチクラスの各々についての確率分布をプロセッサに生成させるさらなる命令を記憶する。
【0018】
上述した第2の態様における本発明による実施形態は、説明が特に明確にそうでないと開示しない限り、相互に排他的ではない。第2の態様における本発明による他の実施形態では、第2の態様における本発明による一実施形態の特徴は、第2の態様による別の実施形態の特徴の組合せと組み合わされる。
【0019】
第1の態様における本発明による一実施形態は、第2の態様における本発明による一実施形態と組み合わせることができる。本明細書に記載の特徴及び利点は、すべてを含むものではなく、特に、多くの追加の特徴及び利点が、図面及び説明を考慮すると当業者には明らかであろう。さらに、本明細書で使用される言語は、主に読みやすさ及び説明目的のために選択されており、開示された主題の範囲を限定するものではないことに留意されたい。
【図面の簡単な説明】
【0020】
【
図1A】本開示の例示的な一実施形態によるシステムを示す図である。
【
図1B】本開示の例示的な一実施形態による、オーディオ再生のためのシステムを示す図である。
【
図2】本開示の例示的な一実施形態によるクロマグラム特徴を示す図である。
【
図3】本開示の例示的な一実施形態による支配的なピッチクラスを示す図である。
【
図4】本開示の例示的な一実施形態による、選択されたキャリア周波数を示す図である。
【
図5】本開示の例示的な一実施形態による音量曲線を示す図である。
【
図6】本開示の例示的な一実施形態による、ニューラルビートを合成するための方法を示す図である。
【
図7A】本開示の例示的な一実施形態による方法を示す図である。
【
図7B】本開示の例示的な一実施形態による方法を示す図である。
【
図7C】本開示の例示的な一実施形態による方法を示す図である。
【
図8】本開示の例示的な一実施形態によるコンピューティングシステムを示す図である。
【発明を実施するための形態】
【0021】
本出願の目的のために、「ニューラルビート」は、オーディオ信号に追加された音響ビートである。ニューラルビートは可聴周波数範囲にある必要はない。本出願におけるニューラルビートへのすべての言及は、文脈が一方又は他方に議論を明確に限定しない限り、モノラル及びバイノーラルビートのいずれか又は両方を含むことを意図している。
【0022】
「ニューラルビート」は、ユーザの所望の精神状態を生成又は促進するように設計されたオーディオビートを含み得る。所望の精神状態には、神経エントレインメント、集中力の向上、穏やかな気分、リラクゼーション、又は任意の他の所望の精神状態が含まれ得る。特定の実装形態では、ニューラルビートは、より低いビート周波数をより高いキャリア周波数と組み合わせるモノラル又はバイノーラルビートを含むことができる。特に、「ビート周波数」は、(例えば、異なる周波数が個人の異なるタイプの精神状態を促進する場合)所望の精神状態に基づいて選択されてもよい。一実施形態では、ビート周波数は、0.5~150Hzの範囲であり得る。他の例示的な実施形態では、周波数は、1~100Hzの間、1~10Hzの間、10~100Hzの間、又は10~40Hzの間の範囲内で選択されてもよい。「キャリア周波数」は、オーディオトラック内でビート周波数を搬送又は可聴的に再生するように選択されたオーディオ周波数又は音であってもよい。例えば、ビート周波数は、人間が検出できる周波数よりも低い周波数であってもよく、及び/又は人間の聴力のより低い範囲であってもよい。したがって、ニューラルビートの有効性を最大化するために、既存のオーディオ信号、例えば既存の音楽又は他のオーディオ録音、又はそのような録音における特定のトラックのキャリア周波数を選択することができ、ビート周波数をキャリア周波数に変調してニューラルビートを形成することができる。キャリア周波数は、207.65~392.00Hzの範囲であり得る。様々な実装形態では、ニューラルビートは、1つのオーディオチャネル(例えば、モノラルビート)、2つのオーディオチャネル(例えば、バイノーラルビート)、5つのオーディオチャネル、又はそれ以上など、異なる数のオーディオチャネルを有し得る。
【0023】
すべてのユーザが、ニューラルビートのみを含むオーディオトラックを聴くことを楽しむわけではなく、それらが退屈又は気が散るものであると考え、神経エントレインメントの効果が限定的になることがある。さらに、埋め込まれたモノラルビートを含む既存のオーディオトラックの限られた利用可能性は、すべてのユーザの興味を引くわけではない。特定のシステムは、ユーザが同じトラックを複数回聴く必要がないように、モノラルビートを組み込んだ音楽を自動的に生成することができる。しかしながら、そのようなシステムでも、ユーザが以前にニューラルビートと組み合わせられていない特定のトラック又はジャンルを聴きたいと思う可能性を補正することができない。したがって、ユーザが、ニューラルビートによって提供される神経エントレインメント、リラクゼーション、及び/又は集中力の向上の利点も体験しながら、自分の好みのトラック又は音楽ジャンルを聴くことができるように、既存のオーディオトラックにニューラルビートを自動的に追加する必要がある。
【0024】
この問題に対する1つの解決策は、デジタル・オーディオ・ファイルのピッチ特性を経時的に分析することである。特に、クロマグラム特徴は、オーディオ信号の経時的な異なるピッチクラスの強度を示す。クロマグラム特徴は、デジタル・オーディオ・ファイルに対して生成することができ、デジタル・オーディオ・ファイル内で符号化されたデジタルオーディオ信号の経時的な異なるピッチクラスの強度を示す。次いで、この情報を使用して、デジタル・オーディオ・ファイルに追加されることになるニューラルビートのためのキャリア周波数を選択することができる。例えば、支配的なピッチクラスは、デジタル・オーディオ・ファイル内の様々なタイムスタンプにおけるクロマグラム特徴から抽出されてもよく、支配的なピッチクラスは、様々なタイムスタンプにおけるニューラルビートのためのキャリア周波数を選択するために使用されてもよい。特定の事例では、支配的なピッチクラスは、キャリア周波数を選択してキャリア周波数の変化の数を最適化するために、例えば、依然として特定の精度を達成しながら変化の数を最小限に抑えるために、モデル(例えば、隠れマルコフモデル)を用いて分析することができる。次いで、ビート周波数及び選択されたキャリア周波数に基づいてニューラルビートを合成し、後で使用するために記憶することができる。特定の事例では、デジタル・オーディオ・ファイルをニューラルビートと組み合わせる結合オーディオトラックを生成することができる。他の事例では、ニューラルビートは、デジタル・オーディオ・ファイルに関連付けて記憶され得る。さらに、特定の事例では、ニューラルビート及び/又は結合オーディオトラックは、デジタル・オーディオ・ファイルがそこからストリーミングされるサーバによって、又はストリーミングされたデジタル・オーディオ・ファイルを受信するユーザデバイスによってなど、ユーザデバイスがデジタル・オーディオ・ファイルをストリーミングするときにリアルタイムで生成されてもよい。その後、ニューラルビートは、ユーザデバイスを介して、(例えば、同時に再生される別個のオーディオファイルとして、及び/又は単一のオーディオファイルとして)デジタル・オーディオ・ファイルと共に再生され得る。
【0025】
図1Aは、本開示の例示的な一実施形態によるシステム100を示す図である。システム100は、デジタル・オーディオ・ファイルに追加するためのニューラルビートを生成及び同期するように構成され得る。システム100は、コンピューティングデバイス102とサーバ104とを含む。サーバ104は、コンピューティングデバイス102によってニューラルビートが追加され得るデジタル・オーディオ・ファイル108、110を記憶する。例えば、コンピューティングデバイス102及びサーバ104は、ユーザの要求に応じてデジタル・オーディオ・ファイル106、108、110をストリーミングするように構成されたデジタル・オーディオ・ストリーミング・プラットフォームの一部であり得る。さらに、コンピューティングデバイス102は、ユーザの要求に応じて、ニューラルビート168、174をデジタル・オーディオ・ファイル106、108、110に追加するように構成されてもよい。例えば、ユーザは、オーディオ・ストリーミング・プラットフォームから受信したストリーミングされたオーディオファイルにニューラルビート168、174を追加するための好みを操作することができる。
【0026】
コンピューティングデバイス102は、サーバ104からデジタル・オーディオ・ファイル106を受信することができ、デジタル・オーディオ・ファイル106に追加されることになるニューラルビート168及び/又は調整されたニューラルビート174を生成することができる。コンピューティングデバイス102はまた、ニューラルビート168、174のビート周波数112を受信することができる。ユーザ設定可能なビート周波数設定などを介して、ユーザから受信されたビート周波数112。ニューラルビート168、174は、モノラルビート、バイノーラルビートであってもよく、又はより多くのオーディオチャネルを有してもよく、ニューラルビート168、174のタイプは、ユーザによって選択されてもよい。追加的又は代替的に、コンピューティングデバイス102は、ユーザがそこからデジタル・オーディオ・ファイルをストリーミングしているオーディオデバイスに基づいてモノラルビートとバイノーラルビートとの間で選択することができる。例えば、ユーザがモノラル・オーディオ・デバイスからオーディオをストリーミングしている場合、コンピューティングデバイス102はモノラル・ニューラル・ビートを生成することができ、ユーザがステレオ・オーディオ・デバイス(例えば、ステレオスピーカ、ステレオヘッドホン)からオーディオをストリーミングしている場合、コンピューティングデバイス102はバイノーラル・ニューラル・ビートを生成することができる。さらに別の実装形態では、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106内のオーディオチャネルの数と同じになるようにオーディオチャネルの数を選択することができる。
【0027】
コンピューティングデバイス102は、特に、デジタル・オーディオ・ファイル106にブレンドするニューラルビート168、174を生成するように構成することができる。例えば、コンピューティングデバイス102は、ユーザの神経エントレインメントを妨げ得る顕著で気を散らせるピッチの差を回避するために、デジタル・オーディオ・ファイル106内のオーディオピッチと同期するニューラルビート168、174を生成するように構成することができる。そうするために、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106から複数のクロマグラム特徴116を抽出することができる。クロマグラム特徴116は、複数のタイムスタンプ148、150におけるピッチクラス124、126及び関連する強度136、138を含むことができる。
【0028】
例えば、
図2は、本開示の例示的な一実施形態によるクロマグラム特徴200を示す。クロマグラム特徴200は、複数のタイムスタンプT1~T19における複数のピッチクラスの(凡例202に定義される)強度を含む。ピッチクラスは、B、Aシャープ/Bフラット、A、Gシャープ/Aフラット、G、Fシャープ/Gフラット、F、E、Dシャープ/Eフラット、D、Cシャープ/Dフラット、及びCを含み、これらは、デジタル・オーディオ・ファイル106内で再生され得る音のタイプの各々を表す。特に、各ピッチクラスは、整数オクターブで区切られた、曲のすべての可聴ピッチを表すことができる。例えば、ピッチクラスCは、ミドルC、トレブルC、ハイC、テノールC、ローC、及び音Cの他のオクターブを含み得る。他のピッチクラスも同様に、異なるオクターブの複数の音を含むように定義され得る。実際には、ピッチクラスは、周波数帯域の集合として定義されてもよい。例えば、ピッチクラスCは、261.626±0.1Hz(ミドルCの場合)、523.251±0.1Hz(テノールCの場合)として定義され得、ピッチクラス内に含まれる他の音についても同様である。図示のように、特定のシャープ又はフラット音(例えば、Aシャープ、Bフラット、Gシャープ、Aフラット、Fシャープ、Gフラット、Dシャープ、Eフラット、Cシャープ、Dフラット)は、自然音A~Gを含むピッチクラスとは別個のピッチクラスにグループ化される。追加又は代替の実装形態では、ピッチクラスは、音のシャープ又はフラットなバージョンを含むように定義されてもよい。同様に、特定の実装形態は、(例えば、音の任意の所望の組合せを含むように)ピッチクラスを異なる形で定義することができる。例えば、Cのピッチクラスは、代替の実装形態では、ミドルCシャープ又はミドルCフラットを含むことができる。当業者であれば、クロマグラム特徴200は、平均律の調律(例えば、24個のピッチクラスの24音色の平均律、19個のピッチクラスの19音色の平均律、及び/又は7個のピッチクラスの7音色の平均律)などの複数の考えられるピッチクラスのいずれかに従って計算することができることを理解されたい。実際には、コンピューティングデバイス102は、クロマグラム特徴200に表されているよりも多くのピッチクラスを計算することができ、このピッチクラスを組み合わせて、クロマグラム特徴200の所望のピッチクラスにすることができる。例えば、コンピューティングデバイス102は、36個のピッチクラスを計算することができ、これらのピッチクラスは、その後、クロマグラム特徴200について示されたピッチクラスに組み合わされる。
【0029】
クロマグラム特徴200は、タイムスタンプT1~T19の各々における各ピッチクラスの強度を含む。これらの強度は時間の経過とともに(例えば、音楽がデジタル・オーディオ・ファイル106内で変化するにつれて)変化する。例えば、ピッチクラスA及びDは両方とも、時間T1~T5で高い強度を有する。時間T6~T10では、最も高い強度を有するピッチクラスは、C及びCシャープ/Dフラット(T8、T12)、D(T9~T10、T13、T17~T18)、D及びDシャープ/Eフラット(T6、T14)、E(T7、T15)、E及びDシャープ/Eフラット(T11、T19)、並びにF(T16)が交互に入れ替わる。これらの強度は、タイムスタンプT1~T19の各々におけるデジタル・オーディオ・ファイル106の周波数領域の分析に基づいて計算することができる。例えば、コンピューティングデバイス102は、タイムスタンプT1~T19の各々について、デジタル・オーディオ・ファイル106をセグメントに分割することができる。次いで、コンピューティングデバイス102は、(例えば、フーリエ変換、高速フーリエ変換(Fast Fourier Transform:FFT)、Constant-Q変換、ウェーブレット変換を行うこと、フィルタバンクを使用することなどによって)セグメントの各々について時間周波数表現(例えば、複数の時間における周波数分布)を計算することができる。時間周波数表現の周波数は、(例えば、所定の周波数帯域に従って)ピッチクラスの各々に対応し得るか、又はそれに分類され得る。次いで、ピッチクラスの各々の強度は、時間周波数表現内の対応する周波数の強度に基づいて計算することができる。この処理は、タイムスタンプT1~T19の各々に対応するセグメントについて複数回繰り返されてもよい。特定の実装形態では、タイムスタンプT1~T19は、50ミリ秒ごとに発生し得る。追加又は代替の実装形態では、タイムスタンプT1~T19は、より頻繁に(例えば、10ミリ秒ごとに、5ミリ秒ごとに、1ミリ秒ごとに)及び/又はより少ない頻度で(例えば、0.5秒ごとに、0.25秒ごとに、0.1秒ごとに)発生し得る。特定の実装形態では、デジタル・オーディオ・ファイル106の周波数領域分析を実行するのではなく、コンピューティングデバイス102は時間領域において分析を実行することができる。例えば、フィルタバンクは、各ピッチクラスについて1つ又は複数のフィルタと共に使用することができる。次いで、各タイムスタンプにおいて得られたフィルタリングされた信号の強度を使用して、クロマグラム特徴200の強度を決定することができる。
【0030】
図1Aに戻ると、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106についての複数のクロマグラム特徴116を計算することができる。例えば、複数のクロマグラム特徴116は、デジタル・オーディオ・ファイル106内の異なる周波数範囲に焦点を合わせるように計算することができる。特定の一例として、第1のセットのクロマグラム特徴は、デジタル・オーディオ・ファイル106内のより低い周波数範囲(例えば、C4、又は261.62Hz未満)に焦点を合わせて計算されてもよく、第2のセットのクロマグラム特徴は、より高い周波数範囲(例えば、C1~C8、又は32.70Hz~4186.01Hz)に焦点を合わせて計算されてもよい。そのような事例では、コンピューティングデバイス102は、複数のクロマグラム特徴116を組み合わせて、デジタル・オーディオ・ファイル106の一次クロマグラム特徴118のセットにするように構成することができる。例えば、コンピューティングデバイス102は、一次クロマグラム特徴118を形成するために、(例えば、所定の重みに従って)クロマグラム特徴116を線形的に組み合わせることができる。一次クロマグラム特徴118のデータ構造は、クロマグラム特徴116のデータ構造に相当し得る。例えば、特定の実装形態では、クロマグラム特徴200は、デジタル・オーディオ・ファイル106の一次クロマグラム特徴118のセットを表すことができる。さらに、
図2は、経時的なデータのプロットとしてクロマグラム特徴200を示しているが、実際には、クロマグラム特徴116及び/又は一次クロマグラム特徴118は、追加又は代替のデータ構造に記憶されてもよいことを理解されたい。例えば、クロマグラム特徴116及び/又は一次クロマグラム特徴118は、タイムスタンプT1~T19におけるピッチクラスの強度値を含む配列として記憶されてもよい。
【0031】
コンピューティングデバイス102は、一次クロマグラム特徴118に基づいて支配的なピッチクラス120を識別することができる。支配的なピッチクラスは、オーディオ信号の特定の時間において又は時間間隔にわたって最も高い強度を有する。特に、コンピューティングデバイス102は、特定のタイムスタンプ156、158についての支配的なピッチクラスのピッチクラス132、134の各々について確率分布144、146を計算することができる。例えば、
図3は、本開示の例示的な一実施形態による支配的なピッチクラス300を示す。支配的なピッチクラス300は、タイムスタンプT1~T19の各々におけるピッチクラスB、Aシャープ/Bフラット、A、Gシャープ/Aフラット、G、Fシャープ/Gフラット、F、E、Dシャープ/Eフラット、D、Cシャープ/Dフラット、Cの各々についての(凡例302で定義される)確率を含む。特に、時間T1~T5では、ピッチクラスA及びDが中程度に高い確率を有し、時間T6及びT14では、ピッチクラスD及びDシャープ/Eフラットが中程度に高い確率を有し、時間T7、T11、及びT19では、ピッチクラスE及びDシャープ/Eフラットが中程度に高い確率を有し、時間T8及びT12では、ピッチクラスC及びCシャープ/Dフラットが中程度に高い確率を有し、時間T9、T10、T13、T17、及びT18では、高い確率を有し、時間T15では、ピッチクラスEが高い確率を有し、時間T16では、ピッチクラスFが高い確率を有する。確率は、各ピッチクラスが所与の時点で支配的なピッチクラスを表す確率を反映するように計算することができる。例えば、特定の事例では、確率は、隠れマルコフモデル(Hidden Markov Model:HMM)によって計算され得る。特定の事例では、HMMは、ユーザが気が散るものであると考え得る、及び/又は神経エントレインメントに悪影響を及ぼし得る、支配的なピッチクラスにおける遷移の数を最適化するように(例えば、ニューラルビート168、174のキャリア周波数の変化の数を最適化するように)調整することができる。
【0032】
図1Aに戻ると、コンピューティングデバイス102は、支配的なピッチクラス120に基づいてキャリア周波数114を決定することができる。キャリア周波数114は、各タイムスタンプ164、166において、ニューラルビート168、174内のその時間におけるキャリア周波数として機能する単一の選択された周波数160、162を含み得る。例えば、
図4は、本開示の例示的な一実施形態によるキャリア周波数400を示す。キャリア周波数400は、各タイムスタンプT1~T19において単一の選択されたピッチクラスを含む。特に、タイムスタンプT1~T14及びT17~T19についてはピッチクラスDがキャリア周波数として選択され、タイムスタンプT15~T16についてはピッチクラスEが選択される。キャリア周波数は、キャリア周波数の不必要な変化を回避しながら、デジタル・オーディオ・ファイルの音楽的ハーモニーに従うように選択されてもよい。特に、時間T9~T10及びT17~T20におけるキャリア周波数は、これらの時間における支配的なピッチクラスと整合するようにピッチクラスDとして選択され得る。しかしながら、キャリア周波数の過度の変化はユーザにとって気が散るものであり得るため、選択されたキャリア周波数は、同様の確率又は支配的なピッチクラスの小さな短い変化を有する異なるピッチクラス間で選択する場合など、特定の事例において経時的に一貫性を維持するように選択することができる。例えば、支配的なピッチクラス300では、ピッチクラスA及びDは、時間T1~T5において同様の確率を有していた。しかしながら、ピッチクラスDが支配的である時間T6におけるピッチクラスAからピッチクラスDへの遷移を回避するために、時間T1~T5ではピッチクラスDがキャリア周波数として選択され得る。別の例として、時間T7、T11、T19において、ピッチクラスDシャープ/Eフラット及びEは両方とも同様の確率を有する。しかしながら、(例えば、ピッチクラスDは支配的なピッチクラス300において依然として中程度の確率を有するので)キャリア周波数の変化の数を減らすために、これらの時間において最も高い確率を有していなくても、ピッチクラスDがキャリア周波数として選択されてもよい。一方で、音楽的ハーモニーに従わないと、神経エントレインメントに悪影響を及ぼすこともある。したがって、時間T17~T19において、キャリア周波数は、デジタル・オーディオ・ファイルにおけるハーモニーに適切に追従するようにE(時間T16)からD(時間T17~T19)に切り替わる。
【0033】
キャリア周波数400を選択するために、コンピューティングデバイス102は、連続する支配的なピッチクラスの変化の数を制限しながら、選択されたキャリア周波数の全体的な確率の最大化のバランスをとるように構成され得る。特定の実装形態では、コンピューティングデバイス102は、支配的なピッチクラス300に対してビタビ復号を実行して、キャリア周波数遷移の数を制限する各タイムスタンプにおける個々のピッチクラスの最も可能性の高いシーケンスを見つけ、同時にキャリア周波数400がデジタル・オーディオ・ファイル106と音楽的に整合することを保証することができる。
【0034】
図1Aに戻ると、コンピューティングデバイスは、ビート周波数112及びキャリア周波数114に基づいてニューラルビート168を合成することができる。特に、コンピューティングデバイス102は、タイムスタンプ164、166の各々においてビート周波数112を選択されたキャリア周波数160、162に変調することによってニューラルビート168を合成することができる。特定の実装形態では、キャリア周波数内のタイムスタンプ164、166(例えば、タイムスタンプT1~T19)は、デジタル・オーディオ・ファイル106内のオーディオデータのタイムスタンプに対応し得る。そのような事例では、コンピューティングデバイス102は、タイムスタンプ164、166の各々におけるキャリア周波数に直接基づいてニューラルビート168を合成することができる。
【0035】
特定の実装形態では、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106のさらなる特性に基づいて、ニューラルビート168の1つ又は複数の態様をさらに調整することができる。例えば、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106の音量の変化に整合するように、ニューラルビート168の音量を調整することができる。特に、ニューラルビート168がデジタル・オーディオ・ファイル106と比較して比較的静かである場合、ニューラルビートの利点は減少することがある。追加的又は代替的に、デジタル・オーディオ・ファイル106に対してニューラルビート168の音が大きい場合、ニューラルビート168は、ユーザにとって混乱する又は気が散るものであると判明することがあり、ニューラルビート168によって提供される利益が中断される。したがって、デジタル・オーディオ・ファイル106の経過にわたってニューラルビート168の音量を調整するためにオーディオミキサ122が使用され得る。
【0036】
特に、オーディオミキサ122は、デジタル・オーディオ・ファイル106のラウドネスプロファイル170を決定することができる。ラウドネスプロファイル170は、デジタル・オーディオ・ファイル106に符号化されたオーディオが経時的に(例えば、デジタル・オーディオ・ファイル106に符号化されたオーディオの持続時間全体にわたって)どれだけ音が大きいかの表現である。ラウドネスプロファイル170は、デジタル・オーディオ・ファイル106内の複数のタイムスタンプにおける(例えば、可聴周波数にわたる)合計強度として計算することができる。次に、ラウドネスプロファイル170を使用して、ニューラルビート168の音量曲線172を生成することができる。特に、ラウドネスプロファイル170は、音量曲線172を生成するために(例えば、ニューラルビート168の最大所望強度に応じて)オフセットされてもよい。例えば、
図5は、本開示の例示的な一実施形態による音量曲線500を示す。音量曲線500は、デジタル・オーディオ・ファイル106に符号化されたオーディオの持続時間にわたるエネルギーの変化(例えば、dB単位)を示しており、デジタル・オーディオ・ファイル106内のオーディオ信号のエネルギーは、デジタル・オーディオ・ファイル106内の経時的な音量のプロキシとして使用することができる。
図1Aに戻ると、音量曲線172をニューラルビート168に適用して、調整されたニューラルビート174を生成することができる。特に、音量曲線172をニューラルビート168に適用することは、(例えば、調整されたニューラルビート174は、音量曲線172の高い強度の時間ではより音が大きく、音量曲線172の低い強度の時間ではより静かであるように)音量曲線172に示された強度に従って異なる時点におけるニューラルビート168の音量(例えば、強度)を増加又は減少させることを含むことができる。
【0037】
次いで、ニューラルビート168及び/又は調整されたニューラルビート174は、ユーザのデバイス上で記憶、送信、及び/又は再生することができる。例えば、コンピューティングデバイス102は、(例えば、サーバ104において)デジタル・オーディオ・ファイル106に関連して、ニューラルビート168及び/又は調整されたニューラルビート174を記憶することができる。特定の実装形態では、デジタル・オーディオ・ファイル106並びにニューラルビート168及び/又は調整されたニューラルビート174は、別個に記憶されてもよい。追加の又は代替の実装形態では、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106をニューラルビート168及び/又は調整されたニューラルビート174と組み合わせ、(例えば、サーバ104において)記憶することができる結合オーディオトラックを生成することができる。別の例として、
図1B及びシステム190を参照すると、デジタル・オーディオ・ファイル106並びにニューラルビート168及び/又は調整されたニューラルビート174は、ユーザ194に関連付けられたユーザデバイス192に送信されてもよい。ユーザデバイス162は、スマートフォン、タブレットコンピュータ、ウェアラブル・コンピューティング・デバイス、ラップトップ、パーソナルコンピュータ、又は任意の他のパーソナル・コンピューティング・デバイスを含み得る。ユーザデバイス192はまた、スピーカ、ヘッドホン若しくはスピーカに接続された3.5mmオーディオジャック、無線接続されたヘッドホン、無線接続されたスピーカ、又はオーディオ再生が可能な任意の他のデバイスなど、オーディオ再生のための1つ又は複数のオーディオデバイスを含んでもよい。システム100は、デジタル・オーディオ・ファイル106並びにニューラルビート168及び/又は調整されたニューラルビート174をユーザデバイス192に送信(例えば、ストリーミング)することができる。次いで、ユーザデバイス192は、ニューラルビート168及び/又は調整されたニューラルビート174と同時にデジタル・オーディオ・ファイル106を受信及び再生することができる。追加的又は代替的に、ユーザデバイス192は、将来の再生のために、デジタル・オーディオ・ファイル106並びにニューラルビート168及び/又は調整されたニューラルビート174を記憶することができる。追加的又は代替的に、コンピューティングデバイス102は、結合オーディオトラックをユーザデバイス192に送信することができる。さらに別の実装形態では、ニューラルビート168及び/又は調整されたニューラルビート174は、ユーザデバイス192上で生成されてもよい。そのような事例では、ニューラルビート168及び/又は調整されたニューラルビート174は、(例えば、別個のオーディオファイルとして、結合オーディオトラックとして)ユーザデバイス192上でデジタル・オーディオ・ファイル106と共に再生されてもよく、及び/又は後の時間での将来の再生のためにユーザデバイス192に記憶されてもよい。
【0038】
図示されていないが、コンピューティングデバイス102、サーバ104、及び/又はユーザデバイス192は、コンピューティングデバイス102、サーバ104、及び/又はユーザデバイス192の1つ又は複数の態様を実装するように構成された少なくとも1つのプロセッサ及び/又はメモリを含むことができる。例えば、メモリは、プロセッサによって実行されると、コンピューティングデバイス102、サーバ104、及び/又はユーザデバイス192の1つ又は複数の動作機能をプロセッサに実行させることができる命令を記憶することができる。プロセッサは、メモリに記憶された命令を実行するように構成された1つ又は複数の中央処理装置(Central Processing Unit:CPU)、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array:FPGA)、及び/又はグラフィックス処理装置(Graphics Processing Unit:GPU)として実装されてもよい。さらに、コンピューティングデバイス102、サーバ104、及び/又はユーザデバイス192は、ネットワークを使用して通信するように構成することができる。例えば、コンピューティングデバイス102、サーバ104、及び/又はユーザデバイス192は、1つ又は複数の有線ネットワークインターフェイス(例えば、Ethernetインターフェイス)及び/又は無線ネットワークインターフェイス(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、及び/又はセルラ・データ・インターフェイス)を使用してネットワークと通信することができる。特定の事例では、ネットワークは、ローカルネットワーク(例えば、ローカル・エリア・ネットワーク)、仮想プライベートネットワーク、L1及び/又はグローバルネットワーク(例えば、インターネット)として実装されてもよい。
【0039】
特定の実装形態では、コンピューティングデバイス102及びサーバ104は、単一のコンピューティングデバイスとして実装されてもよい。例えば、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106、108、110を(例えば、ローカルデータベース内に)記憶することができる。さらなる実装形態では、コンピューティングデバイス102及び/又はサーバ104は、ユーザデバイス162によって少なくとも部分的に実装されてもよい。さらに別の実装形態では、コンピューティングデバイス102、サーバ104、及び/又はユーザデバイス192は、複数のコンピューティングデバイスによって実装されてもよい。例えば、コンピューティングデバイス102は、分散コンピューティング環境(例えば、クラウドコンピューティング環境)で実行される複数のソフトウェアサービスとして実装されてもよい。別の例として、ユーザデバイス162は、複数のパーソナル・コンピューティング・デバイス(例えば、スマートフォン及びスマートウォッチなどのウェアラブル・コンピューティング・デバイス)によって実装されてもよい。
【0040】
図6は、本開示の例示的な一実施形態による、ニューラルビートを合成するための方法600を示す。方法600は、システム100、160などのコンピュータシステム上で実施することができる。例えば、方法600は、コンピューティングデバイス102及び/又はユーザデバイス192によって実施することができる。方法600はまた、プロセッサによって実行されると、コンピュータシステムに方法600を実行させる、コンピュータ可読媒体に記憶された命令のセットによって実施されてもよい。例えば、方法600の全部又は一部は、コンピューティングデバイス102及び/又はユーザデバイス192のプロセッサ及び/又はメモリによって実施することができる。以下の例は、
図6に示すフローチャートを参照して説明されるが、
図6に関連する動作を実行する多くの他の方法が使用されてもよい。例えば、ブロックのいくつかの順序が変更されてもよく、特定のブロックが他のブロックと組み合わされてもよく、ブロックの1つ又は複数が繰り返されてもよく、記載されたブロックのいくつかは任意であってもよい。
【0041】
方法600は、デジタル・オーディオ・ファイルと、デジタル・オーディオ・ファイルに追加されることになるニューラルビートのビート周波数とを受信するステップから開始することができる(ブロック602)。例えば、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106と、デジタル・オーディオ・ファイル106に追加されることになるニューラルビートのビート周波数112とを受信することができる。上述したように、コンピューティングデバイス102は、サーバ104からデジタル・オーディオ・ファイル106を受信することができ、及び/又はローカルストレージからデジタル・オーディオ・ファイル106を取り出すことができる。特定の実装形態では、デジタル・オーディオ・ファイル106は、ユーザ要求に従って受信することができる。例えば、(例えば、音楽ストリーミングサービスを介して)特定の曲を再生するためのユーザ要求がユーザデバイスから受信され得る。コンピューティングデバイス102は、(例えば、ユーザ要求及び/又は予め定義されたユーザ設定に従って)ユーザからビート周波数112を受信することができる。特定の実装形態では、ビート周波数112は、デジタル・オーディオ・ファイル106に追加されることになるニューラルビートのための特定の周波数(例えば、3Hz)を指定し得る。追加又は代替の実装形態では、ビート周波数112は、ニューラルビートのための周波数の範囲(例えば、4~8Hz)を指定することができる。
【0042】
複数のクロマグラム特徴が、デジタル・オーディオ・ファイルから抽出され得る(ブロック604)。例えば、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106から複数のクロマグラム特徴116、200を抽出することができる。上述したように、クロマグラム特徴は、デジタル・オーディオ・ファイル106内の複数のタイムスタンプにおける複数のピッチクラスの強度情報を含むことができる。特定の実装形態では、複数のクロマグラム特徴の各々は、クロマグラム特徴116、200を抽出する前に、デジタル・オーディオ・ファイル106に適用される異なるパラメータに従って抽出されてもよい。例えば、第1のクロマグラム特徴は、デジタル・オーディオ・ファイル106のより低い周波数に焦点を合わせて抽出されてもよく、第2のクロマグラム特徴は、デジタル・オーディオ・ファイル106のより高い周波数に焦点を合わせて抽出されてもよい。別の例として、デジタル・オーディオ・ファイル106から、3つのクロマグラム特徴、すなわち、より低い周波数(例えば、200Hz未満)に焦点を合わせた第1のクロマグラム特徴、中間レベルの周波数(例えば、200Hz~800Hz)に焦点を合わせた第2のクロマグラム特徴、及びより高い周波数(例えば、800Hz超)に焦点を合わせた第3のクロマグラム特徴、が抽出されてもよい。実際には、複数のクロマグラム特徴116、200は、上述のように時間周波数表現を生成した後、クロマグラム特徴116、200に含めるために所望の周波数範囲内のオクターブ及び強度を選択することによって生成され得る。他の実装形態では、複数のクロマグラム特徴は、(例えば、上述したように、FFT、Constant-Q変換、フィルタバケット、及び/又は他の技術を使用して)クロマグラム特徴116、200を抽出する前に、フィルタ(例えば、ハイパスフィルタ、ローパスフィルタ、バンドパスフィルタなど)をデジタル・オーディオ・ファイル106に適用することによって生成されてもよい。
【0043】
デジタル・オーディオ・ファイルの一次クロマグラム特徴を形成するために、複数のクロマグラム特徴を組み合わることができる(ブロック606)。例えば、コンピューティングデバイス102は、複数のクロマグラム特徴116、200を組み合わせて、デジタル・オーディオ・ファイル106の一次クロマグラム特徴118を形成することができる。特定の実装形態では、複数のクロマグラム特徴116、200は、(例えば、予め定義された重みに従って)一次クロマグラム特徴118を形成するために線形的に組み合わされてもよい。追加の又は代替の実装形態では、複数のクロマグラム特徴116、200は、任意の他の考えられる組合せ戦略に従って組み合わせることができる。例えば、複数のクロマグラム特徴116、200は、(例えば、12個のピッチクラスを有する2つのクロマグラム特徴116、200を組み合わせることにより、24個の行を有する一次クロマグラム特徴を形成するように)クロマグラム特徴116、200を「積層」することによって組み合わせることができる。複数のクロマグラム特徴116に基づいて一次クロマグラム特徴118を生成することにより、(例えば、デジタル・オーディオ・ファイル106内の異なるオクターブなどの異なる周波数範囲に別個に焦点を合わせることによって)デジタル・オーディオ・ファイル106のオーディオ周波数特性をより良好に取り込むことができる。特定の実装形態では、ブロック604、606の一方又は両方を省略することができる。例えば、特定の実装形態では、複数のクロマトグラム特徴を抽出し、それらを組み合わせて一次クロマグラム特徴を形成するのではなく、単一のセットのクロマグラム特徴をデジタル・オーディオ・ファイル106から抽出することができ、一次クロマグラム特徴118として使用することができる。
【0044】
支配的なピッチクラスは、デジタル・オーディオ・ファイル内の複数のタイムスタンプにおいて抽出することができる(ブロック608)。例えば、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106内の複数のタイムスタンプ156、158において支配的なピッチクラス120、300を抽出することができる。支配的なピッチクラス120、300は、隠れマルコフモデルなどのモデルを使用して、一次クロマグラム特徴118から抽出することができる。特に、支配的なピッチクラス120、300は、複数のタイムスタンプT1~T19における確率分布として抽出することができる。タイムスタンプT1~T19は、上述したように、一次クロマグラム特徴118のタイムスタンプに基づいて選択されてもよい。
【0045】
複数のキャリア周波数が、ニューラルビートに対して選択され得る(ブロック610)。例えば、コンピューティングデバイス102は、ニューラルビート168、174のための複数のキャリア周波数114、400を選択することができる。特に、複数のキャリア周波数114、400は、複数のタイムスタンプ164、166、T1~T19における個々のキャリア周波数160、162を含むことができる。選択されたキャリア周波数114、400は、本明細書でさらに説明するように、隣接する時間期間におけるキャリア周波数の遷移が遷移確率に従って最適化されるようにキャリア周波数を選択することができるビタビプロセスによって選択することができる。特定の実装形態では、複数のキャリア周波数114、400を選択することに加えて、ニューラルビート168の特定のビート周波数を選択することができる。例えば、ビート周波数112が許容可能な周波数の範囲として受信される場合、コンピューティングデバイス102は、以下でさらに説明するように、許容可能な範囲内からニューラルビート168のビート周波数を選択することができる。
【0046】
同期されたビートは、基礎となるオーディオ信号の変化、例えば、オーディオ信号を有する異なる時間期間における音楽的ハーモニー及び/又はメロディの変化に基づいて、デジタル・オーディオ・ファイル内の異なる時間期間におけるキャリア周波数を変化させるビートである。同期されたビートは、ビート周波数及び複数のキャリア周波数に基づいて、デジタル・オーディオ・ファイルのために合成され得る(ブロック612)。例えば、コンピューティングデバイス102は、ビート周波数112及びキャリア周波数114に基づいて、デジタル・オーディオ・ファイル106のためのニューラルビート168を合成することができる。特に、ニューラルビート168は、キャリア周波数114、400内のタイムスタンプ164、166、T1~T19に対応する時間において、ビート周波数112を2つの異なるキャリア周波数160、162で変調することによって生成することができる。このようにして、ニューラルビート168は、デジタル・オーディオ・ファイル106内の異なる時間期間における音楽的ハーモニー及び/又はメロディの変化に同期させることができる。特定の実装形態では、ニューラルビート168は、単一のオーディオチャネルを含むように(例えば、モノラルビートとして)合成され得る。追加の又は代替の実装形態では、ニューラルビート168は、(例えば、2つのチャネルを有するバイノーラルビートとして、2つのチャネルを有するモノラルビートとして)2つのオーディオチャネルを含むように合成されてもよい。さらに別の実装形態では、ニューラルビート168は、3つ以上のオーディオチャネル(例えば、3つのオーディオチャネル、4つのオーディオチャネル、5つのオーディオチャネル)を含むように合成されてもよい。特定の実装形態では、オーディオチャネルの数は、ユーザ又は所定の設定によって指定されてもよい。追加又は代替の実装形態では、オーディオチャネルの数は、(例えば、ニューラルビート168が、デジタル・オーディオ・ファイル106と同じ数のオーディオチャネルを有するように)デジタル・オーディオ・ファイル106内のオーディオチャネルの数に基づいて選択されてもよい。
【0047】
同期されたニューラルビート、及び同期されたニューラルビートとデジタル・オーディオ・ファイルとを組み合わせる結合オーディオトラックのうちの少なくとも1つが記憶され得る(ブロック614)。例えば、コンピューティングデバイス102は、同期されたニューラルビート168、又はニューラルビート168をデジタル・オーディオ・ファイル106と組み合わせる結合オーディオトラックのうちの少なくとも1つを記憶することができる。例えば、上述したように、コンピューティングデバイス102は、サーバ104及び/又はコンピューティングデバイス102内のローカルストレージ上にニューラルビート168及び/又は結合オーディオトラックを記憶することができる。追加的又は代替的に、コンピューティングデバイス102は、記憶及び再生(例えば、ストリーミングのための一時的記憶、長期記憶)のために、ニューラルビート168及び/又は結合オーディオトラックをユーザデバイスに送信することができる。コンピューティングデバイス102がユーザデバイスである実装形態では、コンピューティングデバイス102は、現在又は将来の再生のために、ニューラルビート168及び/又は結合オーディオトラックをローカルに記憶することができる。特定の実装形態では、上記でさらに説明したように、コンピューティングデバイス102は、ニューラルビート168に基づいて調整されたニューラルビート174を生成するようにさらに構成することができる。そのような事例では、コンピューティングデバイス102は、上述したものと同様の方法で、等化ニューラルビート174、及び/又は調整されたニューラルビート174をデジタル・オーディオ・ファイル106と結合する結合オーディオトラックを記憶するように構成することができる。
【0048】
このようにして、方法600は、コンピューティングデバイスが任意のデジタル・オーディオ・ファイルのためのニューラルビートを生成することを可能にし、神経エントレインメントを生成するために使用される音楽のタイプにおけるユーザ選択の増加を可能にする。さらに、コンピューティングデバイスは、これをリアルタイムで行うことが可能であり、ユーザの注意散漫を最小限に抑え、神経エントレインメントを最大化するために、ニューラルビートがデジタル・オーディオ・ファイルの音質及び/又はデジタル・オーディオ・ファイルのラウドネスとブレンドすることを確実にすることができる。したがって、方法600は、生成されたニューラルビートが、以前に作成されたデジタル・オーディオ・ファイルと建設的に結合することを保証する。
【0049】
図7A~
図7Cは、本開示の例示的な一実施形態による方法700、710、720を示す。方法700、710、720は、方法600の少なくとも一部と組み合わせて実行することができる。例えば、方法700は、方法600のブロック608、610を実施しながら実行されてもよい。別の例として、方法710は、方法600のブロック612と614との間及び/又はブロック612の一部で実行されてもよい。さらなる例として、方法720は、方法600のブロック612の一部として実行されてもよい。方法700、710、720は、システム100、190などのコンピュータシステム上で実施することができる。例えば、方法700、710、720は、コンピューティングデバイス102及び/又はユーザデバイス192によって実施することができる。方法700、710、720はまた、プロセッサによって実行されると、コンピュータシステムに方法700、710、720を実行させる、コンピュータ可読媒体に記憶された命令のセットによって実施されてもよい。例えば、方法700、710、720の全部又は一部は、コンピューティングデバイス102及び/又はユーザデバイス192のプロセッサ及び/又はメモリによって実施することができる。以下の例は、
図7A~
図7Cに示すフローチャートを参照して説明されるが、
図7A~
図7Cに関連する動作を実行する多くの他の方法が使用されてもよい。例えば、ブロックのいくつかの順序が変更されてもよく、特定のブロックが他のブロックと組み合わされてもよく、ブロックの1つ又は複数が繰り返されてもよく、記載されたブロックのいくつかは任意であってもよい。
【0050】
方法700は、ニューラルビートのための複数のキャリア周波数を選択するために実行され得る。方法700は、複数のタイムスタンプにおけるピッチクラスについての確率分布を生成することを開始できる(ブロック702)。例えば、隠れマルコフモデルを使用して、デジタル・オーディオ・ファイル106内の複数のタイムスタンプT1~T19において、デジタル・オーディオ・ファイル106内のピッチクラス(例えば、B、Aシャープ/Bフラット、A、Gシャープ/Aフラット、G、Fシャープ/Gフラット、F、E、Dシャープ/Eフラット、D、Cシャープ/Dフラット、及びCのピッチクラス)についての確率分布を生成することができる。タイムスタンプT1~T19は、一次クロマグラム特徴118内のタイムスタンプに基づいて(例えば、クロマグラム特徴116及び/又は一次クロマグラム特徴118の時間周波数表現を計算するために使用されるデジタル・オーディオ・ファイル106のセグメントに基づいて)選択され得る。隠れマルコフモデルは、異なるキャリア周波数間の遷移がいつ発生するべきかを選択するために遷移確率を調整することによって構成されてもよい。特に、隠れマルコフモデルの遷移確率(例えば、0.005~0.02の遷移確率)は、ユーザ、システム管理者、及び/又は計算プロセスから受信した入力に基づいて以前に受信されていてもよい(又は更新されてもよい)。
【0051】
次いで、支配的なピッチクラスのシーケンスが確率分布内で識別され得る(ブロック704)。例えば、コンピューティングデバイス102は、確率分布内の支配的なピッチクラスのシーケンスを識別することができる。特に、キャリア周波数114、400は、ニューラルビート168のキャリア周波数として使用されることになる一連の支配的なピッチクラスを含むことができる。支配的なピッチクラスのシーケンスは、選択されたピッチクラスの変化に対する制約付き遷移確率に従って確率分布内の選択されたピッチクラスの結合確率を最大化するように識別することができる。特に、支配的なピッチクラスのシーケンスは、コンピューティングデバイス102によって実施されるビタビプロセスによって選択することができる。
【0052】
このようにして、方法700は、受信されたデジタル・オーディオ・ファイルのハーモニー及びメロディ(例えば、クロマグラム特徴)に基づいてキャリア周波数のシーケンスを選択するために実行されてもよい。したがって、このプロセスは、既存のデジタル・オーディオ・ファイルにニューラルビート168を適用することを可能にする一方で、キャリア周波数の変化が、ニューラルビートを使用して神経エントレインメントをトリガしようとするユーザを混乱させたり、気を散らせたりしないことも保証する。
【0053】
方法710は、デジタル・オーディオ・ファイル106内の異なる時間におけるデジタル・オーディオ・ファイル106の音量に基づいてニューラルビート168の音量を調整するために実行することができる。方法710は、デジタル・オーディオ・ファイルの持続時間についてのラウドネスプロファイルを生成することから開始できる(ブロック712)。例えば、コンピューティングデバイス102(例えば、オーディオミキサ122)は、デジタル・オーディオ・ファイル106の持続時間についてのラウドネスプロファイル170を生成することができる。ラウドネスプロファイル170は、デジタル・オーディオ・ファイル106内の複数の時間におけるデジタル・オーディオ・ファイル106の強度(例えば、オーディオ音量)に基づいて生成することができる。例えば、ラウドネスプロファイル170は、デジタル・オーディオ・ファイル106内のデータ・サンプリング・タイムスタンプごとに生成されてもよい。
【0054】
ラウドネスプロファイルに基づいて音量曲線が形成され得る(ブロック714)。例えば、コンピューティングデバイス102は、ラウドネスプロファイル170に基づいて音量曲線172を形成することができる。音量曲線172は、ラウドネスプロファイル170のパーセンテージ(例えば、ラウドネスプロファイル170の50%)として形成されてもよい。追加的又は代替的に、音量曲線172は、ニューラルビート168に望ましい最大音量についてラウドネスプロファイル170を正規化することによって形成されてもよい)。当業者は、同様に、デジタル・オーディオ・ファイル106のラウドネスプロファイル170に基づいて音量曲線172を生成する1つ又は複数の追加の手段を認識し得る。そのような同様の実装形態はすべて、本開示の範囲内であると本明細書では考えられる。
【0055】
次に、同期されたニューラルビートの音量が、音量曲線に従って調整され得る(ブロック714)。例えば、コンピューティングデバイス102は、音量曲線172に基づいてニューラルビート168の音量を調整して、調整されたニューラルビート174を生成することができる。例えば、ニューラルビート168は、音量曲線172に反映された所望の音量に一致するように強度がスケーリングされてもよい。
【0056】
このようにして、方法710を実行して、ニューラルビート168を調整することができる。これにより、デジタル・オーディオ・ファイル内のニューラルビート間の介入的な音量不一致の数を減らすことができる。例えば、デジタル・オーディオ・ファイル内のニューラルビートの音量がはるかに低い場合、ユーザはニューラルビートの音量を聞くことができず、これにより神経エントレインメントの生成におけるその有効性が低下することがある。別の例として、ニューラルビートの音量がデジタル・オーディオ・ファイル106よりもはるかに大きい場合、ユーザは、音量の差によって気が散り、又は混乱し、これによりニューラルビートによって生成される神経エントレインメントが中断又は低減されることがある。
【0057】
方法720を使用して、ニューラルビート168をデジタル・オーディオ・ファイル106内の律動パターンと同期させることができる。方法720は、デジタル・オーディオ・ファイル内の律動ビートの位置を推定することから開始できる(ブロック722)。律動ビートは、音楽の定量レベルを指し、これは、「ビート」が音響学で使用されるのと同じ用語の使用ではない。例えば、コンピューティングデバイス102は、デジタル・オーディオ・ファイル106内の律動ビートの位置を推定することができる。デジタル・オーディオ・ファイル106内の律動ビートの位置は、オーディオファイル内の律動ビートを検出するように構成された予め訓練されたネットワークなどの機械学習モデルを使用して推定することができる。例えば、律動ビートの位置は、madmomオーディオ・ソフトウェア・パッケージ、Essentiaオーディオ・ソフトウェア・パッケージなどによって提供されるモデルに類似した1つ又は複数のモデルを使用して推定することができる。追加又は代替の実装形態では、律動ビートの位置は、1つ又は複数のアルゴリズム技術を使用して推定することができる。
【0058】
同期されたニューラルビートのタイミングは、デジタル・オーディオ・ファイル内の律動ビートの位置に基づいて調整することができる(ボックス724)。例えば、コンピューティングデバイス102は、律動ビートの位置に基づいてニューラルビート168のタイミングを調整することができる。例えば、コンピューティングデバイス102は、ビート周波数112を、デジタル・オーディオ・ファイルのテンポに整合する(例えば、その倍数になる)ように調整することができる。例えば、デジタル・オーディオ・ファイル106が120bpmのテンポを有し、ビート周波数112が0.6Hz(例えば、100bpm)である場合、コンピューティングデバイス102は、ビート周波数112を毎分120ビート(例えば、2Hz)のテンポの整数倍になるように調整することができる。具体例として、コンピューティングデバイス102は、ビート周波数112を0.5Hz(30bpm)及び/又は1Hz(60bpm)に調整することができる。ユーザがビート周波数112の所望の周波数範囲を指定した実装形態では、ビート周波数112は、所望の周波数範囲内から、律動周波数の偶数倍及び/又は律動周波数の倍数に可能な限り近くなるように選択されてもよい。さらに、同期されたニューラルビートのタイミングは、ニューラルビートのピーク値(例えば、ビート周波数112におけるピーク値)が、デジタル・オーディオ・ファイル106内の律動ビートと同時に発生する(例えば、律動ビートのタイミングと整合する)ように調整されてもよい。
【0059】
このようにして、方法720を使用して、デジタル・オーディオ・ファイル内の律動ビート及びビート周波数の位相がずれていないことを確実にすることができる。特に、ビート周波数がデジタル・オーディオ・ファイルの律動周波数と位相がずれている場合、デジタル・オーディオ・ファイル内のビート周波数間の干渉は、音質に悪影響を与えることがあり、及び/又はデジタル・オーディオ・ファイルと干渉ビート周波数におけるニューラルビートとが同時に再生されるときに、気が散る又は混乱する干渉パターンを作成することがある。したがって、デジタル・オーディオ・ファイル内の律動ビートに基づいてビート周波数を調整することにより、これらの干渉を低減し、その後に生成されるニューラルビートの品質及び/又はニューラルビートによって生成される神経エントレインメントの品質を改善することができる。
【0060】
図8は、コンピューティングデバイス102などの、本明細書で説明するデバイス及び/又は構成要素のうちの1つ又は複数を実装するために利用することができる例示的なコンピュータシステム800を示す。特定の実施形態では、1つ又は複数のコンピュータシステム800は、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを実行する。特定の実施形態では、1つ又は複数のコンピュータシステム800は、本明細書に記載又は図示される機能を提供する。特定の実施形態では、1つ又は複数のコンピュータシステム800上で実行されるソフトウェアは、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを実行するか、又は本明細書に記載又は図示される機能を提供する。特定の実施形態は、1つ又は複数のコンピュータシステム800の1つ又は複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合には、コンピューティングデバイスを包含することができ、逆もまた同様である。さらに、コンピュータシステムへの言及は、適切な場合には、1つ又は複数のコンピュータシステムを包含することができる。
【0061】
本開示は、任意の適切な数のコンピュータシステム800を想定している。本開示は、任意の適切な物理的形態をとるコンピュータシステム800を想定している。限定ではなく、例として、コンピュータシステム800は、埋め込み型コンピュータシステム、システム・オン・チップ(System-On-Chip:SOC)、シングル・ボード・コンピュータ(Single-Board Computer:SBC)システム(例えば、コンピュータ・オン・モジュール(Computer-On-Module:COM)又はシステム・オン・モジュール(System-On-Module:SOM))、デスクトップ・コンピュータ・システム、ラップトップ若しくはノートブック・コンピュータ・システム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(Personal Digital Assistant:PDA)、サーバ、タブレット・コンピュータ・システム、拡張/仮想現実デバイス、又はこれらのうちの2つ以上の組合せとすることができる。適切な場合には、コンピュータシステム800は、1つ又は複数のコンピュータシステム800を含む、単一であるか又は分散している、複数の場所にまたがる、複数のマシンにまたがる、複数のデータセンタにまたがる、又は1つ又は複数のネットワーク内の1つ又は複数のクラウド構成要素を含むことができるクラウド内に存在することができる。適切な場合には、1つ又は複数のコンピュータシステム800は、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを実質的な空間的又は時間的制限なしに実行することができる。限定ではなく、例として、1つ又は複数のコンピュータシステム800は、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップをリアルタイム又はバッチモードで実行することができる。1つ又は複数のコンピュータシステム800は、適切な場合には、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを異なる時間又は異なる場所で実行することができる。
【0062】
特定の実施形態では、コンピュータシステム800は、プロセッサ806と、メモリ804と、ストレージ808と、入力/出力(Input/Output:I/O)インターフェイス810と、通信インターフェイス812とを含む。本開示は、特定の構成内の特定の数の特定の構成要素を有する特定のコンピュータシステムを記載及び図示しているが、本開示は、任意の適切な構成内の任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータシステムを想定している。
【0063】
特定の実施形態では、プロセッサ806は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ806は、内部レジスタ、内部キャッシュ、メモリ804、又はストレージ808から命令を取り出し(又はフェッチし)、命令を復号して実行し、次いで、内部レジスタ、内部キャッシュ、メモリ804、又はストレージ808に1つ又は複数の結果を書き込むことができる。特定の実施形態においては、プロセッサ806は、データ、命令、又はアドレスのための1つ又は複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ806を想定している。限定ではなく、例として、プロセッサ806は、1つ又は複数の命令キャッシュ、1つ又は複数のデータキャッシュ、及び1つ又は複数の変換ルックアサイドバッファ(Translation Lookaside Buffer:TLB)を含むことができる。命令キャッシュ内の命令は、メモリ804又はストレージ808内の命令のコピーであり得、命令キャッシュは、プロセッサ806によるそれらの命令の取り出しを高速化することができる。データキャッシュ内のデータは、コンピュータ命令によって動作されることになるメモリ804又はストレージ808内のデータのコピー、後続の命令にとってアクセス可能な、又はメモリ804若しくはストレージ808に書き込むための、プロセッサ806によって実行された先行する命令の結果、又は任意の他の適切なデータであり得る。データキャッシュは、プロセッサ806による読出し又は書込み動作を高速化することができる。TLBは、プロセッサ806のための仮想アドレス変換を高速化することができる。特定の実施形態においては、プロセッサ806は、データ、命令、又はアドレスのための1つ又は複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ806を想定している。適切な場合には、プロセッサ806は、1つ又は複数の演算論理装置(Arithmetic Logic Unit:ALU)を含んでもよく、マルチコアプロセッサであってもよく、1つ又は複数のプロセッサ806を含んでもよい。本開示は、特定のプロセッサを記載及び図示しているが、本開示は、任意の適切なプロセッサを想定している。
【0064】
特定の実施形態では、メモリ804は、プロセッサ806が実行する命令又はプロセッサ806がそれに対して動作するデータを記憶するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム800は、ストレージ808又は別のソース(別のコンピュータシステム800など)からメモリ804に命令をロードすることができる。次いで、プロセッサ806は、メモリ804から内部レジスタ又は内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ806は、内部レジスタ又は内部キャッシュから命令を取り出し、それらを復号することができる。命令の実行中又は実行後に、プロセッサ806は、(中間結果又は最終結果であり得る)1つ又は複数の結果を内部レジスタ又は内部キャッシュに書き込むことができる。次いで、プロセッサ806は、それらの結果のうちの1つ又は複数をメモリ804に書き込むことができる。特定の実施形態では、プロセッサ806は、(ストレージ808又は他の場所とは対照的に)1つ又は複数の内部レジスタ若しくは内部キャッシュ又はメモリ804内の命令のみを実行し、(ストレージ808又は他の場所とは対照的に)1つ又は複数の内部レジスタ若しくは内部キャッシュ又はメモリ804内のデータのみに対して動作する。1つ又は複数のメモリバス(各々がアドレスバス及びデータバスを含み得る)は、プロセッサ806をメモリ804に結合することができる。バスは、以下でさらに詳細に説明するように、1つ又は複数のメモリバスを含むことができる。特定の実施形態では、1つ又は複数のメモリ管理ユニット(Memory Management Unit:MMU)は、プロセッサ806とメモリ804との間に存在し、プロセッサ806によって要求されるメモリ804へのアクセスを円滑にする。特定の実施形態においては、メモリ804は、ランダム・アクセス・メモリ(Random Access Memory:RAM)を含む。このRAMは、適切な場合には、揮発性メモリであってもよい。適切な場合には、このRAMは、ダイナミックRAM(Dynamic RAM:DRAM)又はスタティックRAM(Static RAM:SRAM)であってもよい。さらに、適切な場合には、このRAMは、シングルポートRAM又はマルチポートRAMであってもよい。本開示は、任意の適切なRAMを想定している。メモリ804は、適切な場合には、1つ又は複数のメモリ804を含むことができる。本開示は、特定のメモリ実装形態を記載及び図示しているが、本開示は、任意の適切なメモリ実装形態を想定している。
【0065】
特定の実施形態では、ストレージ808は、データ又は命令のための大容量ストレージを含む。限定ではなく、例として、ストレージ808は、ハード・ディスク・ドライブ(Hard Disk Drive:HDD)、フロッピー・ディスク・ドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、又はユニバーサル・シリアル・バス(Universal Serial Bus:USB)ドライブ、又はこれらのうちの2つ以上の組合せを含むことができる。ストレージ808は、適切な場合には、取外し可能又は取外し不能(又は固定)媒体を含むことができる。ストレージ808は、適切な場合には、コンピュータシステム800の内部にあっても外部にあってもよい。特定の実施形態では、ストレージ808は、不揮発性ソリッド・ステート・メモリである。特定の実施形態では、ストレージ808は、読出し専用メモリ(Read-Only Memory:ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(Programmable ROM:PROM)、消去可能PROM(Erasable PROM:EPROM)、電気的消去可能PROM(Electrically Erasable PROM:EEPROM)、電気的変更可能ROM(Electrically Alterable ROM:EAROM)、又はフラッシュメモリ、又はこれらのうちの2つ以上の組合せであってもよい。本開示は、任意の適切な物理的形態をとる大容量ストレージ808を想定している。ストレージ808は、適切な場合には、プロセッサ806とストレージ808との間の通信を容易にする1つ又は複数のストレージ制御ユニットを含むことができる。適切な場合には、ストレージ808は、1つ又は複数のストレージ808を含むことができる。本開示は、特定のストレージを記載及び図示しているが、本開示は、任意の適切なストレージを想定している。
【0066】
特定の実施形態では、I/Oインターフェイス810は、ハードウェア、ソフトウェア、又はその両方を含み、コンピュータシステム800と1つ又は複数のI/Oデバイスとの間の通信のための1つ又は複数のインターフェイスを提供する。コンピュータシステム800は、適切な場合には、これらのI/Oデバイスのうちの1つ又は複数を含むことができる。これらのI/Oデバイスのうちの1つ又は複数は、人(すなわち、ユーザ)とコンピュータシステム800との間の通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、スクリーン、ディスプレイパネル、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/Oデバイス、又はこれらのうちの2つ以上の組合せを含むことができる。I/Oデバイスは、1つ又は複数のセンサを含み得る。適切な場合には、I/Oインターフェイス810は、プロセッサ806がこれらのI/Oデバイスのうちの1つ又は複数を駆動することを可能にする1つ又は複数のデバイス又はソフトウェアドライバを含むことができる。I/Oインターフェイス810は、適切な場合には、1つ又は複数のI/Oインターフェイス810を含むことができる。本開示は、特定のI/Oインターフェイスを記載及び図示しているが、本開示は、任意の適切なI/Oインターフェイス又はI/Oインターフェイスの組合せを想定している。
【0067】
特定の実施形態では、通信インターフェイス812は、ハードウェア、ソフトウェア、又はその両方を含み、コンピュータシステム800と、1つ若しくは複数の他のコンピュータシステム800又は1つ若しくは複数のネットワーク814との間の通信(例えば、パケットベースの通信など)のための1つ又は複数のインターフェイスを提供する。限定ではなく、例として、通信インターフェイス812は、Ethernet若しくは任意の他の有線ベースのネットワークと通信するためのネットワーク・インターフェイス・コントローラ(Network Interface Controller:NIC)若しくはネットワークアダプタ、又はWi-Fiネットワークなどの無線ネットワークと通信するための無線NIC(Wireless NIC:WNIC)若しくは無線アダプタを含むことができる。本開示は、任意の適切なネットワーク814及びネットワーク814のための任意の適切な通信インターフェイス812を想定している。限定ではなく、例として、ネットワーク814は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(Personal Area Network:PAN)、ローカル・エリア・ネットワーク(Local Area Network:LAN)、ワイド・エリア・ネットワーク(Wide Area Network:WAN)、メトロポリタン・エリア・ネットワーク(Metropolitan Area Network:MAN)のうちの1つ又は複数、又はインターネットの1つ若しくは複数の部分、又はこれらのうちの2つ以上の組合せを含むことができる。これらのネットワークのうちの1つ又は複数の1つ又は複数の部分は、有線又は無線であり得る。一例として、コンピュータシステム800は、無線PAN(Wireless PAN:WPAN)(例えば、Bluetooth(登録商標)WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話ネットワーク(例えば、グローバル・システム・フォー・モバイル・コミュニケーションズ(Global System for Mobile Communications:GSM)ネットワークなど)、又は任意の他の適切な無線ネットワーク、又はこれらのうちの2つ以上の組合せと通信することができる。コンピュータシステム800は、適切な場合には、これらのネットワークのいずれかのための任意の適切な通信インターフェイス812を含み得る。通信インターフェイス812は、適切な場合には、1つ又は複数の通信インターフェイス812を含むことができる。本開示は、特定の通信インターフェイス実装形態を記載及び図示しているが、本開示は、任意の適切な通信インターフェイス実装形態を想定している。
【0068】
コンピュータシステム802はまた、バスを含むことができる。バスは、ハードウェア、ソフトウェア、又はその両方を含むことができ、コンピュータシステム800の構成要素を互いに通信可能に結合することができる。限定ではなく、例として、バスは、アクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port:AGP)若しくは任意の他のグラフィックスバス、拡張業界標準アーキテクチャ(Enhanced Industry Standard Architecture:EISA)バス、フロント・サイド・バス(Front-Side Bus:FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、INFINIBAND相互接続、低PINカウント(Low-PIN-Count:LPC)バス、メモリバス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture:MCA)バス、ペリフェラルコンポーネント相互接続(Peripheral Component Interconnect:PCI)バス、PCIエクスプレス(PCI-Express:PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(Serial Advanced Technology Attachment:SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル・バス(Video Electronics Standards Association Local Bus:VLB)、又は別の適切なバス、又はこれらのバスのうちの2つ以上の組合せを含むことができる。バスは、適切な場合には、1つ又は複数のバスを含むことができる。本開示は、特定のバスを記載及び図示しているが、本開示は、任意の適切なバス又は相互接続を想定している。
【0069】
本明細書では、コンピュータ可読非一時的ストレージ媒体は、適切な場合には、1つ又は複数の半導体ベース又は他のタイプの集積回路(Integrated Circuit:IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array:FPGA)又は特定用途向けIC(Application-Specific IC:ASIC))、ハード・ディスク・ドライブ(Hard Disk Drive:HDD)、ハイブリッド・ハード・ドライブ(Hybrid Hard Drive:HHD)、光ディスク、光ディスクドライブ(Optical Disc Drive:ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスク、フロッピー・ディスク・ドライブ(Floppy Disk Drive:FDD)、磁気テープ、ソリッド・ステート・ドライブ(Solid-State Drive:SSD)、RAMドライブ、セキュア・デジタル・カード又はドライブ、任意の他の適切なコンピュータ可読非一時的ストレージ媒体、又はこれらのうちの2つ以上の任意の適切な組合せを含むことができる。コンピュータ可読非一時的ストレージ媒体は、適切な場合には、揮発性であっても、不揮発性であっても、又は揮発性と不揮発性との組合せであってもよい。
【0070】
本明細書では、そうでないと明示的に示されない限り、又は文脈によってそうでないと示されない限り、「又は」は包括的であり、排他的ではない。したがって、本明細書では、そうでないと明示的に示されない限り、又は文脈によってそうでないと示されない限り、「A又はB」は「A、B、又はその両方」を意味する。さらに、そうでないと明示的に示されない限り、又は文脈によってそうでないと示されない限り、「及び」は協同(joint)及び個々(several)の両方である。したがって、本明細書では、そうでないと明示的に示されない限り、又は文脈によってそうでないと示されない限り、「A及びB」は「協同して又は個々に、A及びB」を意味する。
【0071】
本開示の範囲は、当業者が理解するであろう、本明細書に記載又は図示された例示的な実施形態に対するすべての変更、置換、変形、代替、及び修正を包含する。本開示の範囲は、本明細書に記載又は図示された例示的な実施形態に限定されない。さらに、本開示は、特定の構成要素、要素、特徴、機能、動作、又はステップを含むものとして本明細書のそれぞれの実施形態を説明及び図示しているが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに記載又は図示されている構成要素、要素、特徴、機能、動作、又はステップのいずれかの任意の組合せ又は順列を含むことができる。さらに、特定の機能を実行するように適合された、配置された、それが可能な、構成された、可能にされた、動作可能にされた、又は動作可能である装置若しくはシステム又は装置若しくはシステムの構成要素への添付の特許請求の範囲における言及は、その装置、システム又は構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされ、又は動作可能である限り、それ又はその特定の機能が起動されているか、オンにされているか、又はロック解除されているか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を特定の利点を提供するものとして説明又は図示しているが、特定の実施形態は、これらの利点のいずれも提供しなくてもよく、そのうちのいくつか、又はすべてを提供してもよい。
【0072】
開示された方法及び本開示に記載された手順のすべては、1つ又は複数のコンピュータプログラム又は構成要素を使用して実施することができる。これらの構成要素は、RAM、ROM、フラッシュメモリ、磁気又は光ディスク、光メモリ、又は他のストレージ媒体などの揮発性及び不揮発性メモリを含む、任意の従来のコンピュータ可読媒体又は機械可読媒体上の一連のコンピュータ命令として提供されてもよい。命令は、ソフトウェア又はファームウェアとして提供されてもよく、ASIC、FPGA、DSP、又は任意の他の同様のデバイスなどのハードウェア構成要素に全体的又は部分的に実装されてもよい。命令は、一連のコンピュータ命令を実行するときに、開示された方法及び手順の全部又は一部を実行するか又はその実行を容易にする、1つ又は複数のプロセッサによって実行されるように構成することができる。
【0073】
本明細書に記載された例に対する様々な変更及び修正が当業者には明らかであることを理解されたい。そのような変更及び修正は、本主題の範囲から逸脱することなく、かつその意図された利点を減少させることなく行うことができる。したがって、そのような変更及び修正は、添付の特許請求の範囲によって網羅されることが意図されている。
【国際調査報告】