(57)【要約】【解決手段】複数のオーディオコンポーネントを含んでおり、前記複数のオーディオコンポーネントのうちの第１のオーディオコンポーネントに複数のオーディオデータセットが関連付けられ、前記複数のオーディオデータセットの各々のオーディオデータセットにそれぞれの再生テンポ範囲が関連付けられているオーディオトラックに関し、オーディオ出力に提示される前記オーディオトラックの再生テンポを制御するための方法であって、前記オーディオ出力に前記オーディオトラックを提示するための再生テンポを受信するステップと、前記複数のオーディオデータセットから、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットを選択するステップと、前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記第１のオーディオコンポーネントに割り当てるステップとを含む方法。【選択図】図５．２
2020501202.tif 000002
【特許請求の範囲】
【請求項１】
複数のオーディオコンポーネントを含んでおり、前記複数のオーディオコンポーネントのうちの第１のオーディオコンポーネントに複数のオーディオデータセットが関連付けられ、前記複数のオーディオデータセットの各々のオーディオデータセットにそれぞれの再生テンポ範囲が関連付けられているオーディオトラックに関し、オーディオ出力に提示される前記オーディオトラックの再生テンポを制御するための方法であって、
前記オーディオ出力に前記オーディオトラックを提示するための再生テンポを受信するステップと、
前記複数のオーディオデータセットから、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットを選択するステップと、
前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記第１のオーディオコンポーネントに割り当てるステップと
を含む方法。
【請求項２】
前記複数のオーディオコンポーネントのうちの残りのオーディオコンポーネントの各々に、少なくとも１つのオーディオデータセットが関連付けられ、各々のオーディオデータセットに、再生テンポ範囲が関連付けられている、請求項１に記載の方法。
【請求項３】
前記複数のオーディオコンポーネントのうちの第２のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットが存在するか否かを判断するステップと、
前記複数のオーディオコンポーネントのうちの前記第２のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられている前記それぞれのオーディオデータセットを選択するステップと、
前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記複数のオーディオコンポーネントのうちの前記第２のオーディオコンポーネントに割り当てるステップと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記第１のオーディオコンポーネントについて、前記複数のオーディオデータセットのうちの各々のオーディオデータセットの前記再生テンポ範囲は、前記複数のオーディオデータセットのうちの他のオーディオデータセットの前記再生テンポ範囲とは異なる、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記第１のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲は、別のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲とは異なる、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
各々のオーディオデータセットに、前記オーディオデータセットが提示されるように意図された所定の再生テンポがさらに関連付けられ、前記所定の再生テンポは、前記オーディオデータセットの前記再生テンポ範囲に含まれており、前記オーディオコンポーネントに割り当てるステップは、
前記選択されたオーディオデータセットについて、前記選択されたオーディオデータセットを前記所定の再生テンポから変換して、前記受信した再生テンポで提示されるように意図された修正後オーディオデータセットを生成することを含むタイムストレッチ処理を実行するステップと、
前記修正後オーディオデータセットを、前記オーディオコンポーネントに割り当てるための前記選択されたオーディオデータセットとして使用するステップと
をさらに含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
更新された再生テンポを受信するステップと、
前記更新された再生テンポに基づいて前記選択されたオーディオデータセットを更新するステップと
をさらに含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれる場合に、前記選択されたオーディオデータセットを更新するステップは、
前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらし、前記オーディオコンポーネントに割り当てられた前記選択されたオーディオデータセットを前記更新された修正後オーディオデータセットで置き換えるステップ
を含む、請求項７に記載の方法。
【請求項９】
前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記選択されたオーディオデータセットを更新するステップは、
前記選択されたオーディオデータセットを、前記更新された再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットで置き換えるステップ
を含む、請求項７に記載の方法。
【請求項１０】
前記選択されたオーディオデータセットを変更した後に、前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらすステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含み、
前記更新された再生テンポは、前記オーディオトラックの前記提示後の第１の瞬間において受信され、
前記オーディオ出力における前記オーディオトラックの提示は、前記第１の瞬間を考慮する、請求項７〜１０のいずれか一項に記載の方法。
【請求項１３】
前記オーディオトラックを提示するステップは、前記第１の瞬間の後で前記選択されたオーディオデータセットと前記更新されたオーディオデータセットとの間のクロスフェードを実施するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記更新された再生テンポが前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記第１の瞬間の後で遅延を使用して前記更新されたオーディオデータセットを使用して前記オーディオトラックを提示するステップをさらに含む、請求項１２に記載の方法。
【請求項１５】
前記再生テンポは、前記オーディオトラックの前記提示についてビート間の時間間隔を定め、前記遅延は、予め設定された完了ビート数の関数である、請求項１４に記載の方法。
【請求項１６】
再生テンポを受信するステップは、ユーザ入力を受信するステップを含む、請求項１〜１５のいずれか一項に記載の方法。
【請求項１７】
前記ユーザ入力は、現在のユーザの歩調である、請求項１６に記載の方法。
【請求項１８】
前記再生テンポの毎分のビート数を、前記現在のユーザの歩調の毎分の歩数と同じになるように設定するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記ユーザ入力は、所望の再生テンポである、請求項１６に記載の方法。
【請求項２０】
前記ユーザ入力は、ユーザパラメータの目標値であり、前記方法は、前記目標ユーザパラメータを前記再生テンポに変換するステップをさらに含む、請求項１６に記載の方法。
【請求項２１】
前記ユーザパラメータの目標値は、ユーザの目標歩調、ユーザの目標心拍数、またはユーザの目標速度である、請求項２０に記載の方法。
【請求項２２】
前記ユーザパラメータの目標値は、ユーザの目標歩調であり、前記方法は、前記再生テンポの毎分のビート数を、前記ユーザの目標歩調の毎分の歩数と同じになるように設定するステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
前記ユーザパラメータの目標値は、ユーザの目標心拍数であり、前記ユーザの目標心拍数を再生テンポに変換するステップは、前記ユーザの安静時心拍数または前記ユーザの現在の心拍数に基づく、請求項２１に記載の方法。
【請求項２４】
前記ユーザパラメータの目標値は、ユーザの目標速度であり、前記ユーザの目標速度を再生テンポに変換するステップは、前記ユーザの歩幅に基づく、請求項２１に記載の方法。
【請求項２５】
前記ユーザパラメータの現在値を監視するステップと、
前記ユーザパラメータの現在値が前記ユーザパラメータの目標値に合致しない場合に、前記再生テンポを更新するステップと
をさらに含む、請求項２０〜２４のいずれか一項に記載の方法。
【請求項２６】
前記再生テンポを更新するステップは、
前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を下回る場合に、前記再生テンポを上げるステップ、または
前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を上回る場合に、前記再生テンポを下げるステップ
を含む、請求項２５に記載の方法。
【請求項２７】
第１の期間に対応する第１のユーザ入力および第２の期間に対応する第２のユーザ入力を受信するステップと、
前記第１のユーザ入力に基づいて前記第１の期間のための第１の再生テンポを決定するステップと、
前記第２のユーザ入力に基づいて前記第２の期間のための第２の再生テンポを決定するステップと
をさらに含む、請求項１９〜２６のいずれか一項に記載の方法。
【請求項２８】
前記ユーザによってランニングされる第１の距離に対応する第１のユーザ入力および前記ユーザによってランニングされる第２の距離に対応する第２のユーザ入力を受信するステップと、
前記第１のユーザ入力に基づいて、前記ユーザによってランニングされる前記第１の距離についての第１の再生テンポを決定するステップと、
前記第２のユーザ入力に基づいて、前記ユーザによってランニングされる前記第２の距離についての第２の再生テンポを決定するステップと
をさらに含む、請求項１９〜２６のいずれか一項に記載の方法。
【請求項２９】
オーディオ出力に提示されるオーディオトラックの再生テンポを制御するための電子装置であって、請求項１〜２８のいずれか一項に記載の方法を実行するように構成されたプロセッサを備える電子装置。
【請求項３０】
オーディオトラックを提示するためのオーディオ出力と、
請求項１〜２８のいずれか一項に記載の方法を実行するように構成されたプロセッサを備える電子装置と
を含むシステム。
【請求項３１】
使用時に請求項１〜２８のいずれか一項に記載の方法のプロセッサによる実行を可能にするように構成されたコンピュータ可読命令を含んでいるコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音楽トラックなどのオーディオデータセットを再生するための方法に関する。より具体的には、本発明は、音楽トラックの再生テンポを制御するための方法に関する。
【背景技術】
【０００２】
音楽業界においては、多くの音楽トラックが、リミックスされ、すなわち改変され、異なる曲が作り出される。たとえメロディの大部分がそのままであっても、リミックスは、一般に、曲の元々のリズムまたはテンポを変えて、異なるムードまたは雰囲気を作り出す。例えば、或る曲を、明るい結果を求めて加速させることができ、あるいはよりリラックスした感触を与えるために減速させることができる。
【０００３】
音楽トラックを異なるテンポにリミックスする処理は、複雑な処理である。曲または音楽トラックは、一般に、例えば８つのオーディオデータセットなど、いくつかのオーディオデータセットのミキシングの結果であり、各々のオーディオデータセットは、特定の役目（ボーカル１、ボーカル２、ビート、・・・）または楽器（ピアノ、ギター、ハープ、サックス、ベース、・・・）を有するオーディオコンポーネントに割り当てられている。各々のオーディオデータセット、したがって音楽トラック自体は、それぞれの再生テンポを特徴とし、そのような再生テンポで提示または再生されるように意図される。
【０００４】
トラックの再生テンポを変更すると、個々のコンポーネントが異なるテンポに合わせて調整されないため、元のアレンジが大きく乱れる可能性がある。したがって、オーディオコンポーネント（より具体的には、割り当てられたオーディオデータセット）は、一般に、音楽編集者によって、聴衆を喜ばせることができる音楽トラックのアレンジを生み出すために改変される。リミックスは、一般に、再生テンポを変えつつ、耳にとって心地よくもある新たなアレンジを生み出すための芸術的および技術的の両方の作業からなる。
【０００５】
トラックを構成する個々のオーディオコンポーネントの複雑な再アレンジを必要とすることなく、音楽トラックのテンポを動的に更新したいという要望が存在する。しかしながら、音楽トラックを単純に速くしたり、あるいは遅くしたりするだけでは、ピッチに影響が及び、再生結果が聞き手にとって奇妙に聞こえる可能性がある。オーディオデータセットのタイムストレッチは、再生テンポの違いの芸術的アレンジへの影響を減らすように、ピッチを制御することを可能にする。タイムストレッチにおける問題は、オリジナルの再生テンポを特定の割合を超えて増減させると、利用可能なツールおよび音楽編集者の芸術的技量では、アレンジメントの粗い劣化を補償することが不可能な点にある。
【０００６】
したがって、元のアレンジの忠実度を維持しながら、広いテンポ範囲にわたって音楽トラックのテンポを動的に更新するための方法が、必要とされる。具体的には、そのようなテンポの変化を、聞き手が音楽トラックを聴いている間にもたらすというニーズが存在する。
【０００７】
これの１つの応用は、運動であり、特に運動選手が自身の歩調を音楽のリズムに意識的に結び付ける音楽の同期応用である。これは、運動のモチベーションおよびリズム感の向上をもたらし、結果として、より低い相対的酸素摂取量に関連する効率の向上をもたらすことができる（Ｍｕｓｉｃ  ｉｎ  ｔｈｅ  ｅｘｅｒｃｉｓｅ  ｄｏｍａｉｎ：ａ  ｒｅｖｉｅｗ  ａｎｄ  ｓｙｎｔｈｅｓｉｓ（Ｐａｒｔ  ＩＩ），Ｔｅｒｒｙ，Ｐ．Ｃ．＆Ｋａｒａｇｅｏｒｇｈｉｓ，Ｃ．Ｉ．（２０１１）を参照）。
【０００８】
米国特許出願公開第２０１４／２８８６７９号が、ユーザの運動のペースを記述する情報を受信し、ペースに依存する再生速度でレースを描くビデオコンテンツを提示し、ペースの指示を含むダッシュボードを表示するための方法およびシステムを開示している。
【０００９】
米国特許出願公開第２０１６／３１３９７２号が、オーディオ処理回路と、ペーストラッキング回路と、ポジショニング回路とを備えることができる電子装置を開示している。ペーストラッキング回路は、再生用に処理される曲を選択し、さらには／あるいはポジショニング回路によって生成される位置データ、所望のテンポ、および曲がローカルに保存されているか、ネットワークを介してアクセス可能であるかに基づいて、オーディオ処理回路によってそのような曲に適用されるタイムストレッチを制御するように動作することが可能であってよい。
【発明の概要】
【００１０】
一態様によれば、複数のオーディオコンポーネントを含んでおり、該複数のオーディオコンポーネントのうちの第１のオーディオコンポーネントに複数のオーディオデータセットが関連付けられ、該複数のオーディオデータセットの各々のオーディオデータセットにそれぞれの再生テンポ範囲が関連付けられているオーディオトラックに関し、オーディオ出力に提示される該オーディオトラックの再生テンポを制御するための方法であって、前記オーディオ出力に前記オーディオトラックを提示するための再生テンポを受信するステップと、前記複数のオーディオデータセットから、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットを選択するステップと、前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記第１のオーディオコンポーネントに割り当てるステップとを含む方法が提供される。
【００１１】
場合によっては、前記複数のオーディオコンポーネントのうちの残りのオーディオコンポーネントの各々に、少なくとも１つのオーディオデータセットが関連付けられ、各々のオーディオデータセットに、再生テンポ範囲が関連付けられる。場合によっては、この方法は、前記複数のオーディオコンポーネントのうちの第２のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットが存在するか否かを判断するステップと、前記複数のオーディオコンポーネントのうちの前記第２のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているそれぞれのオーディオデータセットを選択するステップと、前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記複数のオーディオコンポーネントのうちの前記第２のオーディオコンポーネントに割り当てるステップとをさらに含む。
【００１２】
場合によっては、前記第１のオーディオコンポーネントについて、前記複数のオーディオデータセットのうちの各々のオーディオデータセットの前記再生テンポ範囲は、前記複数のオーディオデータセットのうちの他のオーディオデータセットの前記再生テンポ範囲とは異なる。場合によっては、前記第１のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲は、別のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲とは異なる。場合によっては、各々のオーディオデータセットに、該オーディオデータセットが提示されるように意図された所定の再生テンポがさらに関連付けられ、該所定の再生テンポは、該オーディオデータセットの前記再生テンポ範囲に含まれており、前記オーディオコンポーネントに割り当てるステップは、前記選択されたオーディオデータセットについて、該選択されたオーディオデータセットを前記所定の再生テンポから変換して、前記受信した再生テンポで提示されるように意図された修正後オーディオデータセットを生成することを含むタイムストレッチ処理を実行するステップと、前記修正後オーディオデータセットを、前記オーディオコンポーネントに割り当てるための前記選択されたオーディオデータセットとして使用するステップとをさらに含む。
【００１３】
場合によっては、この方法は、更新された再生テンポを受信するステップと、前記更新された再生テンポに基づいて前記選択されたオーディオデータセットを更新するステップとをさらに含む。場合によっては、前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれる場合に、前記選択されたオーディオデータセットを更新するステップは、前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらし、前記オーディオコンポーネントに割り当てられた前記選択されたオーディオデータセットを前記更新された修正後オーディオデータセットで置き換えるステップを含む。場合によっては、前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記選択されたオーディオデータセットを更新するステップは、前記選択されたオーディオデータセットを、前記更新された再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットで置き換えるステップを含む。
【００１４】
場合によっては、この方法は、前記選択されたオーディオデータセットを変更した後に、前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらすステップをさらに含む。場合によっては、この方法は、前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含む。
【００１５】
場合によっては、この方法は、前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含み、前記更新された再生テンポは、前記オーディオトラックの前記提示後の第１の瞬間において受信され、前記オーディオ出力における前記オーディオトラックの提示は、前記第１の瞬間を考慮する。場合によっては、前記オーディオトラックを提示するステップは、前記第１の瞬間の後で前記選択されたオーディオデータセットと前記更新されたオーディオデータセットとの間のクロスフェードを実施するステップを含む。場合によっては、この方法は、前記更新された再生テンポが前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記第１の瞬間の後で遅延を使用して前記更新されたオーディオデータセットを使用して前記オーディオトラックを提示するステップをさらに含む。
【００１６】
場合によっては、前記再生テンポは、前記オーディオトラックの前記提示についてビート間の時間間隔を定め、前記遅延は、予め設定された完了ビート数の関数である。場合によっては、再生テンポを受信するステップは、ユーザ入力を受信するステップを含む。場合によっては、前記ユーザ入力は、現在のユーザの歩調である。場合によっては、この方法は、前記再生テンポの毎分のビート数を、前記現在のユーザの歩調の毎分の歩数と同じになるように設定するステップをさらに含む。
【００１７】
場合によっては、前記ユーザ入力は、所望の再生テンポである。場合によっては、前記ユーザ入力は、ユーザパラメータの目標値であり、この方法は、前記目標ユーザパラメータを前記再生テンポに変換するステップをさらに含む。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標歩調、ユーザの目標心拍数、またはユーザの目標速度である。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標歩調であり、この方法は、前記再生テンポの毎分のビート数を、前記ユーザの目標歩調の毎分の歩数と同じになるように設定するステップをさらに含む。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標心拍数であり、該ユーザの目標心拍数を再生テンポに変換するステップは、ユーザの安静時心拍数またはユーザの現在の心拍数に基づく。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標速度であり、該ユーザの目標速度を再生テンポに変換するステップは、ユーザの歩幅に基づく。
【００１８】
場合によっては、この方法は、前記ユーザパラメータの現在値を監視するステップと、前記ユーザパラメータの現在値が前記ユーザパラメータの目標値に合致しない場合に、前記再生テンポを更新するステップとをさらに含む。場合によっては、前記再生テンポを更新するステップは、前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を下回る場合に、前記再生テンポを上げるステップ、または前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を上回る場合に、前記再生テンポを下げるステップを含む。
【００１９】
場合によっては、この方法は、第１の期間に対応する第１のユーザ入力および第２の期間に対応する第２のユーザ入力を受信するステップと、前記第１のユーザ入力に基づいて前記第１の期間のための第１の再生テンポを決定するステップと、前記第２のユーザ入力に基づいて前記第２の期間のための第２の再生テンポを決定するステップとをさらに含む。
【００２０】
場合によっては、この方法は、ユーザによってランニングされる第１の距離に対応する第１のユーザ入力およびユーザによってランニングされる第２の距離に対応する第２のユーザ入力を受信するステップと、前記第１のユーザ入力に基づいて、ユーザによってランニングされる前記第１の距離についての第１の再生テンポを決定するステップと、前記第２のユーザ入力に基づいて、ユーザによってランニングされる前記第２の距離についての第２の再生テンポを決定するステップとをさらに含む。
【００２１】
さらなる態様によれば、オーディオ出力に提示されるオーディオトラックの再生テンポを制御するための電子装置であって、前記方法を実行するように構成されたプロセッサを備える電子装置が提供される。
【００２２】
さらなる態様によれば、オーディオトラックを提示するためのオーディオ出力と、前記方法を実行するように構成されたプロセッサを備える電子装置とを含むシステムが提供される。
【００２３】
さらなる態様によれば、使用時にこの方法のプロセッサによる実行を可能にするように構成されたコンピュータ可読命令を含んでいるコンピュータ可読媒体が提供される。
【図面の簡単な説明】
【００２４】
次に、本開示の典型的な実施形態を、図面を参照して説明する。
【図１】本開示によるユーザ装置の概略図である。
【図２】ユーザ入力に基づいて音楽テンポを動的に更新するためのフローチャートである。
【図３】本開示による音楽トラックの典型的な図である。
【図４】ユーザ装置とリモート装置とを備える本発明の方法の別の構成の概略図である。
【図５．１】本発明の方法の種々の構成によるプロセッサによって実行される一般的な動作ステップを示すフロー図である。
【図５．２】本発明の方法の種々の構成によるプロセッサによって実行される一般的な動作ステップを示すフロー図である。
【図６】コンピューティングデバイスの一実施例のブロック図を示している。
【発明を実施するための形態】
【００２５】
図１が、オーディオトラック、具体的には音楽トラックの再生に使用することができるユーザ装置１００を示している。ユーザ装置１００は、スマートフォン、携帯型メディアプレーヤ、またはオーディオを再生することができる任意の他の装置であってよい。ユーザ装置１００は、本明細書に記載の方法を実行するためにコンピュータプログラムの命令を実行するためのプロセッサ１１０を備える。さらに、ユーザ装置１００は、複数の適応型メディアファイルを格納するためのメモリ１２０を備え、各々の適応型メディアファイルは、音楽トラックの種々のオーディオコンポーネントに対応する複数のオーディオデータセットからなる。オーディオデータセットは、１つ以上のオーディオファイルに含まれてよく、構成ファイルが、後述されるように、再生テンポ範囲およびデータセット間の移行特性を含むデータセット間の関係などのファイルの関連詳細を定義することができる。ユーザ装置１００は、無線または有線接続のいずれかによってデータを交換するための受信機／送信機ユニット１３０をさらに備える。交換されるデータは、オーディオデータまたは本発明のオーディオミキシングの技術的解決策を実施するために必要な他の種類のデータであってよい。あるいは、データは、心拍数モニタ１７０によって測定されるユーザの心拍数などのユーザデータであってよい。さらに、ユーザ装置１００は、以下で説明されるようにオーディオトラックの再生テンポなどの入力を定めるためのタッチ感応ディスプレイ１４０および複数のセンサ１５０を備える。センサ１５０は、加速度計、ジャイロスコープ、および／またはＧＰＳトラッカを備える。ユーザ装置１００は、スピーカまたはヘッドホンジャックの形態であってよいオーディオ出力１６０をさらに備える。
【００２６】
ユーザ装置１００のユーザは、例えば運動の最中に、装置を使用して音楽を再生したいと望むかもしれない。ユーザは、ランニングの最中に自身の歩調（毎分の歩数）を音楽のテンポに同期させることを可能にする所与のテンポで音楽が再生されることを望むかもしれない。ユーザ装置１００は、本明細書に記載の方法を実施することによって、ユーザによって入力されたテンポで音楽を再生することができる。ユーザは、いくつかの方法で所望のテンポを入力することができる。
【００２７】
第１の実施形態において、ユーザは、タッチ感応ディスプレイ１４０を介して所望のテンポを毎分のビート数（ｂｐｍ）にて入力することができる。このようにして、ユーザは、装置からの音楽再生のための一定のテンポを設定することができる。次いで、ユーザは、自身の歩調を音楽のビートに同期させることができ、したがってランニングの間ずっと一定の歩調を維持することができる。
【００２８】
この実施形態の変種において、ユーザは、ランニングの際に従うべきさまざまなテンポまたは歩調のプログラムを入力することができる。例えば、ユーザは、５キロメートルのランニングの最初の１キロメートルを毎分６０歩の歩調にし、次の３キロメートルを毎分８０歩の歩調にし、最後の１キロメートルを毎分７０歩の歩調にすることを望むかもしれない。ユーザは、このプログラムをタッチ感応ディスプレイ１４０を介してユーザ装置１００に入力する。ユーザは、最初の１キロメートルについて６０ｂｐｍ、次の３キロメートルについて８０ｂｐｍ、最後の１キロメートルについて７０ｂｐｍの音楽テンポを設定することができる。あるいは、ユーザは、目標歩調を入力してもよく、プロセッサ１００が１対１の比率を用いて歩調をテンポに変換する。
【００２９】
ユーザがさまざまな距離において開始するさまざまなテンポまたはリズムを入力する場合、ユーザ装置１００は、複数のセンサ１５０のうちのＧＰＳトラッカを使用してユーザの移動を追跡し、正しい距離でテンポを更新する。これにより、音楽が、ランニングの種々の段階のための所望のテンポにて演奏され、ユーザは、自身の歩調を音楽のテンポに同期させることができる。
【００３０】
ユーザは、任意の所望の数の段階を、各々の段階について任意の所望の距離に入力できると考えられる。さらに、プログラムを設定するさまざまな方法が可能であると考えられ、例えばランニングを距離よりもむしろ時間によっていくつかの段階に分割することができ、その場合、ユーザ装置１００はいつテンポを更新すべきかを内部クロックを使用して監視することができる。
【００３１】
ランニングの最中に、ユーザ装置１００は、複数のセンサ１５０のうちの加速度計を使用して、ユーザの実際の歩調を監視することができる。ランニングの最中に、ユーザの歩調が音楽のテンポを下回った場合、プロセッサ１１０は、ユーザが事前に設定された歩調に達するまでユーザを自身の歩調を増加させるように元気づけるために、音楽のテンポを増加させることができる。同様に、ユーザの歩調が音楽のテンポを上回る場合、プロセッサ１１０は、ユーザが事前に設定された歩調に達するまでユーザを自身の歩調を減らすように促すために、音楽のテンポを下げることができる。
【００３２】
別の実施形態において、ユーザは、例えば１６０ｂｐｍなど、自身がランニングの最中に達成したいと望む目標心拍数を入力することができる。プロセッサ１１０は、ユーザを目標心拍数に到達させるであろう必要な歩調に対応する音楽のテンポを計算する。これを、履歴のユーザデータ、ユーザの通常の安静時心拍数、または心拍数モニタ１７０によって測定されるユーザの現在の心拍数を使用することによって計算することができる。最初に、プロセッサ１１０は、履歴のユーザ心拍数および歩調データを使用して、目標心拍数に対応するユーザの歩調を決定する。この場合、ユーザ装置１００は、心拍数モニタ１７０に接続されている。このようにして、第１の実施形態と同様に、心拍数モニタ１７０を使用してランニングの最中のユーザの実際の心拍数を測定することができ、プロセッサ１１０は、それに従って音楽のテンポを増減させて、ユーザの心拍数が所望のレベルに保たれることを保証することができる。ユーザの歩調とユーザの心拍数との間の対応関係を表すデータを、将来の使用するために保存することができる。第１の実施形態と同様に、ユーザは、ランニングのさまざまな段階に対応するように異なる目標心拍数を設定することができる。
【００３３】
別の実施形態においては、ユーザが、希望するランニングの目標ペースを入力することができる。これは、ｍ／ｓ、ｋｍ／ｈ、マイル／時（ｍｐｈ）などの速度であってよい。ユーザの歩幅などのユーザプロファイルデータを使用して、プロセッサ１１０は、ユーザが目標ペースでランニングするために必要な歩調を計算し、対応するテンポで音楽を再生するように設定する。プロセッサ１１０は、履歴のユーザペースおよび歩調データを使用して、目標ペースに対応するユーザの歩調を決定する。やはり、ユーザは、ランニングのさまざまな段階に対応するように異なる目標ペースを設定することができる。また、複数のセンサ１５０のうちのＧＰＳトラッカを使用して、ランニング時のユーザの移動を監視することができる。ユーザのペースがランニングの所与の時点において目標ペースを下回ると、プロセッサ１１０は、スピードを上げるようにユーザを元気づけるために、音楽のテンポを上げることができる。同様に、ユーザのペースが音楽のテンポを上回っている場合、プロセッサ１１０は、音楽のテンポを下げることで、ユーザに減速を促すことができる。
【００３４】
さらに、ユーザは、ランニングを距離および／または時間によってさまざまな段階に分割し、各々の段階について異なる種類の目標を設定することによって、上述の実施形態の各々を「混ぜ合わせる」ことが可能であってよい。例えば、ユーザは、２キロメートルを毎分６０歩でランニングし、６０秒間を１６０ｂｐｍの心拍数でランニングし、１キロメートルを８キロメートル（約２．２ｍ／秒）のペースでランニングすることを望むかもしれない。
【００３５】
ユーザの行動に基づいて音楽再生のテンポを動的に更新するための方法２００が、図２に示されている。方法は、ユーザ装置１００によって実行される。方法は、ユーザ装置１００がランニングにおける目標を示すユーザからの入力を受信するステップ２０２で始まる。上述したように、目標は、目標歩調、目標心拍数、または目標ペースであってよい。
【００３６】
ステップ２０４において、プロセッサ１１０は、ステップ２０２においてユーザによって入力された目標に対応するテンポを計算する。ユーザが目標歩調を入力した場合、テンポは、歩調（単位は、毎分の歩数）からテンポ（単位は、ｂｐｍ）への単純な１対１のマッピングである。目標心拍数または目標ペースが設定される場合、上述のように、ユーザプロファイルデータがテンポの計算に使用される。
【００３７】
ステップ２０６において、計算されたテンポで音楽が再生される。計算されたテンポでの音楽の再生は、図５．１および図５．２に関して説明される方法によって達成される。
【００３８】
ステップ２０８において、ユーザ装置１００は、目標に関するユーザの行動を監視する。ユーザが目標歩調を入力した場合、複数のセンサ１５０のうちの加速度計を使用して、ユーザの実際の歩調を測定する。ユーザが目標心拍数目標を入力した場合、心拍数モニタ１７０を使用して、ユーザの実際の心拍数を測定する。ユーザが目標ペースを入力した場合、複数のセンサ１５０のうちのＧＰＳトラッカを使用して、ユーザの実際のペースを測定する。
【００３９】
ステップ２１０において、ユーザが目標を満たしているか否かについての判断が行われる。ユーザが目標を満たしていない場合、方法はステップ２１２に進み、ステップ２１２において、ユーザの行動が目標を下回っているのか、あるいは上回っているのかが判断される。例えば目標よりも低い歩調、心拍数、またはペースなど、ユーザの行動が目標を下回っている場合、プロセッサ１１０は、ステップ２１４において音楽再生のテンポを増加させる。例えば目標よりも高い歩調、心拍数、またはペースなど、ユーザの行動が目標を下回っていない（すなわち、ユーザの行動が目標を上回っている）場合、プロセッサ１１０は、ステップ２１６において音楽再生のテンポを下げる。ひとたびテンポが上がる、あるいは下がると、方法はステップ２０８に戻り、ユーザ装置１００は目標に関するユーザの行動の監視を続ける。
【００４０】
ステップ２１０においてユーザの行動が目標を満たしていると判断された場合、ユーザ装置１００は、ステップ２１８において目標に関して計算されたテンポで音楽を再生する。これは、ユーザが常に目標値で行動している場合には、再生の単純な継続であり、ユーザが目標値で行動していないがゆえに、以前にテンポを上げたまたは下げた場合には、最初に計算されたテンポの再開になる。方法は再びステップ２０８に戻り、ユーザ装置１００は目標に関するユーザの行動の監視を続ける。
【００４１】
別の実施形態において、ユーザは、目標をまったく設定しなくてもよい。代わりに、ユーザは自然な歩調でランニングし、複数のセンサ１５０のうちの加速度計が、ユーザの歩調を測定する。次いで、この情報をプロセッサ１１０にもたらすことができ、プロセッサ１１０は、音楽のテンポをユーザの歩調に一致するように設定する。ユーザが歩調を上げると、音楽のテンポが上げられる。同様に、ユーザが歩調を下げると、音楽のテンポが下がる。
【００４２】
次に、プロセッサ１１０が入力に基づいて音楽トラックのテンポを更新する方法を説明する。
【００４３】
曲などのオーディオトラックは、一般に、１つ以上のオーディオコンポーネントを含む。各々のオーディオコンポーネントは、例えば異なる楽器、ボーカルなど、オーディオトラックの異なる部分に対応する。オーディオトラックを生成するための適応型メディアファイルの図を、図３において見ることができ、図３は、縦方向に延びるバー要素によって表された１０個のオーディオコンポーネントを有する適応型メディアファイルを示している。各々のオーディオコンポーネントは、それぞれのオーディオチャネルに対応することができ、あるいは２つ以上のオーディオデータセットからなるオーディオコンポーネントが、２つ以上のオーディオチャネルに広がってもよい。例えば、図３において、「ピアノ低（Ｐｉａｎｏ  ｌｏｗ）」のオーディオコンポーネントは、１つのオーディオチャネルに対応し、「ピアノ高（Ｐｉａｎｏ  ｈｉｇｈ）」のオーディオコンポーネントは、２つのオーディオチャネルに対応している。トラックの再生テンポは、縦軸に示される。
【００４４】
各々のオーディオコンポーネントは、バー要素の異なるセクションによって表される１つ以上のオーディオデータセットを有する。各セクションは、再生テンポ範囲に対応する。すなわち、セクションは、縦方向において重ならず、それぞれ縦方向における第１および第２の境界で区切られている。「ピアノ低」のオーディオチャネルに目を向けると、３つのセクション３１１、３１２、および３１３がそれぞれ再生テンポ範囲６０〜１００ｂｐｍ、１００〜１７０ｂｐｍ、および１７０〜２４０ｂｐｍに関連付けられており、値はｂｐｍで表されている。「ハープ：シンセ（Ｈａｒｐ：Ｓｙｎｔｈｓ）」オーディオチャネルは、再生テンポ範囲８０〜１３９ｂｐｍおよび１３９〜２４０ｂｐｍにそれぞれ関連付けられた２つのセクション３０１および３０２を含んでいる。再生テンポ範囲を、所与のオーディオコンポーネントについて、或るオーディオデータセットを使用することができる再生テンポの範囲と理解することができる。再生テンポ範囲は、隣接していてもよく、すなわち、第１の再生テンポ範囲の最高レベルが第２の再生テンポ範囲の最低レベルに相当してよい。その場合、２つの連続した再生テンポ範囲は、共通の再生テンポ境界を共有する。
【００４５】
オーディオデータセットを録音する際に、ミュージシャンは、必要な数のオーディオデータセットを録音するために、いくつかのテンポで楽器において同じ一連の音符を演奏することができる。同様に、歌手は、音声オーディオコンポーネントのための複数のオーディオデータセットを定めるために、同じメロディを異なる速度で歌うことができる。別の構成においては、音符およびメロディを、それぞれの録音テンポに合うように適合させることができる。図３の例における異なるテンポは、７０、１２０、および１７２ｂｐｍである。これらの所定の再生テンポ値は、それぞれのオーディオデータセットのいわゆるネイティブ再生テンポに相当する。それらは、オーディオデータセットの録音時に意図されたオーディオデータセットの提示の再生テンポ（例えば、音声、楽器、ビートなどの元々のテンポ）を定める。オーディオデータセットのネイティブ再生テンポは、このオーディオデータセットの再生テンポ範囲に含まれる。
【００４６】
複数のオーディオコンポーネントおよびオーディオデータセットからなるオーディオトラックの実施例は、図５．１および図５．２に関連して説明されるように、テンポを選択してトラックを動的にミキシングすることを可能にする。このオーディオミキシングの全体を、ユーザ装置１００のメモリ１２０に格納されたオーディオデータセットを使用してユーザ装置１００のプロセッサ１１０によって実施することができる。あるいは、オーディオミキシングを、図４に示されるようなクライアント／サーバの関係を通じて可能にすることができる。ユーザインタフェース４１０を備える装置４００が、例えばランニングに関して上述した方法のうちの１つにて、音楽トラックの再生テンポを受信するように構成される。関連のオーディオデータセットは、リモートサーバ４２０上の１つ以上のデータベース（図４には示されていない）からアクセスされてよく、処理のために装置４００にダウンロードされてよい。あるいは、オーディオコンポーネントの管理、ならびに関連の再生テンポ範囲および対応するオーディオデータセットの選択は、オーディオデータセットを格納したデータベースへのアクセスも処理するリモートサーバ４２０で実行されてよい。
【００４７】
次に、本発明のオーディオミキシングの方法を、この方法を実行するための種々の動作またはステップのフローチャートを示す図５に関連して説明する。
【００４８】
図５．１は、第１の構成による本発明の方法の典型的なフローチャートである。この方法は、図１のユーザ装置１００のプロセッサ１００によって実行されてよく、あるいはサーバ４１０などの遠方の電子装置のプロセッサによって実行されてよい。開始ステップ５００において、ひとたび音楽トラックが選択されると、その音楽トラックのための種々のオーディオデータセットが、ユーザ装置１００のメモリ１２０からロードされる。あるいは、オーディオデータセットは、任意の利用可能な標準オーディオフォーマットにて無線でストリーミングされても、遠方のメモリからダウンロードされてもよい。
【００４９】
上述のように、各々のオーディオデータセットは、オーディオコンポーネントに対応する。各々のコンポーネントは、楽器、ビート、または１つ以上の声など、音楽トラックの一部に対応する。各々のコンポーネントを、単一のオーディオチャネルに割り当てることができ、あるいはコンポーネントがいくつかのオーディオデータセットからなる場合には、いくつかのチャネルに割り当てることができる。各々のオーディオデータは、再生テンポ範囲に関連付けられている。所与のコンポーネントについて２つ以上のオーディオデータセットがロードされる場合、各々のオーディオデータセットは、異なるテンポ範囲をカバーする。オーディオデータセットは、例えば録音時のテンポなど、提示されるように意図された元々のテンポに対応するネイティブ再生テンポにさらに関連付けられてよい。
【００５０】
さらなるステップ５１０において、プロセッサ１１０は、例えばランニングの状況において上述した方法のうちの１つにて、音楽トラックを提示するための再生テンポを受信する。ユーザが再生テンポを入力するたびに、本発明の技術的解決策は、各々のオーディオ成分について入力された再生テンポを含む再生テンポ範囲を有するオーディオデータセットの選択を可能にする。次に、ステップ５２０〜５５０を、第１のオーディオコンポーネントについて一般的に説明する。
【００５１】
ステップ５２０において、プロセッサ１１０は、オーディオコンポーネントについて、受信した再生テンポを含む再生テンポ範囲を有するオーディオデータセットが存在するか否かを判定する。存在する場合、さらなるステップ５３０において、受信した再生テンポを含む再生テンポ範囲に関連付けられたオーディオデータセットが選択される。次のステップ５４０において、プロセッサ１１０は、後のステップ５６０においてユーザ装置１００のオーディオ出力１６０に音楽トラックを提示するために、選択されたオーディオデータセットを第１のオーディオコンポーネントに割り当てる。
【００５２】
説明のために、図３は、１２０ｂｐｍの入力再生テンポを示す横方向に延びるさらなるバー要素３１５を示している。この場合、ピアノ低について、１００〜１７０ｂｐｍの範囲に対応するオーディオデータセット３１２が選択され、ハープについて、８０〜１３９ｂｐｍの範囲のためのオーディオデータセット３０１が選択される。次いで、これらのデータセットは、音楽トラックを提示するためにそれぞれのオーディオコンポーネントに割り当てられる。
【００５３】
音楽トラックは、第１のオーディオコンポーネントとともに複数のオーディオコンポーネントを形成する１つ以上の追加のオーディオコンポーネントを含むため、音楽トラックの提示は、ステップ５５０において複数のオーディオコンポーネントをミキシングすることを含む。第１のオーディオコンポーネントと同様に、各々のコンポーネントは、少なくとも１つのオーディオデータセットに関連付けられ、各々のオーディオデータセットは、再生テンポ範囲に関連付けられる。第１のコンポーネントと同様に、第１のコンポーネントについてのステップ５２０〜５５０が、図５．１に第２のオーディオコンポーネントについてステップ５２２〜５５２で示されているように、他のコンポーネントについて繰り返される。換言すると、各々の追加のコンポーネントまたは現在のオーディオコンポーネントについて、
・所与のオーディオコンポーネントに関連付けられた複数のオーディオデータセットから、受信した再生テンポを含む再生テンポ範囲に関連付けられたオーディオデータセットを特定および選択するステップと、
・ユーザ装置１００のオーディオ出力１６０における音楽トラックの提示のために、選択されたオーディオデータセットを所与のオーディオコンポーネントに割り当てるステップと
が繰り返される。
【００５４】
ユーザは、トラック内の任意の位置で再生テンポを変更することができる。ステップ５７０において新たな再生テンポが受信された（ステップ５７０に対する答えが「はい」である）場合、プロセスはステップ５１０に戻り、各々のオーディオコンポーネントの再生テンポ範囲が更新され、したがって必要に応じてオーディオデータセットが変更される。本発明の技術的解決策において、所与のオーディオコンポーネントは、隣接していて共通の再生テンポ境界を共有することができる２つの連続した再生テンポ範囲を含むことができる。入力された再生テンポが速くなることで、この共通の再生テンポ境界を超えると、選択されるオーディオデータセットが変化する。この状況において、再生テンポの更新により、プロセッサ１１０は、現時点において選択されているオーディオデータセットを「オフ」にし、更新された再生テンポが属する再生テンポ範囲に関連付けられたオーディオデータセットを「オン」にする。
【００５５】
図３の例では、再生テンポが１２０ｂｐｍから１００ｂｐｍに変更されると、「ピアノ高」オーディオコンポーネントの１０４〜１７１ｂｐｍの範囲の部分が停止される。「シンセ＆ハープ（Ｓｙｎｔｈｓ  ＆  Ｈａｒｐ）」オーディオコンポーネントの６０〜１１５ｂｐｍの範囲の部分が開始される。
【００５６】
図３の例における「ピアノ低」のオーディオチャネルの場合のように、新たな再生テンポがオーディオコンポーネントの２つのオーディオデータセット間の共有の境界に位置する場合、プロセッサ１１０は、フェードパラメータを使用して２つの隣接する部分の間のクロスフェードを達成する。フェードパラメータは、再生テンポがしきい値ｂｐｍ値を横切った直後にフェードを開始するか、あるいは次の小節の最初のビートまで開始を遅らせるかを示すパラメータを含む。さらに、フェードパラメータは、どの程度速く、またはゆっくりとフェードを発生させるべきかを指定するパラメータを含む。
【００５７】
ステップ５７０において更新された再生テンポが受信されない（ステップ５７０に対する答えが「いいえ」である）場合、プロセスは、ステップ５６０でミキシングされた現在のオーディオデータセットによる音楽トラックの提示を続ける。
【００５８】
入力された再生テンポがオーディオデータセットのネイティブなテンポに正確には一致しないが、そのオーディオデータセットのテンポ範囲内にある場合、ユーザは、本発明のオーディオミキシングの開始時にオーディオデータセットのタイムストレッチを有効にすることを選択し得る。タイムストレッチは、曲が再生テンポの変更以外では耳にとって「おなじみ」のままであるように、ピッチに影響を及ぼすことなくオーディオ信号の速度または持続時間を変更する処理である。図５．１の例のようにタイムストレッチが無効にあれたとき、再生テンポ範囲において選択されて入力された再生テンポが、オーディオデータセットの提示に影響を及ぼすことはない。
【００５９】
図５．２は、タイムストレッチがユーザによって有効にされた本発明のオーディオミキシングの技術的解決策の一例を示している。このさらなる構成におけるステップは、図５．１の割り当てるステップ５４０および５４２が、ステップ５４１および５４３にそれぞれ置き換えられていることを除いて、図５．１に示した構成のステップと同様である。
【００６０】
ステップ５４１および５４３は、所与のオーディオデータセットについて、入力された再生テンポがオーディオデータセットのネイティブな再生テンポと異なる場合に実行されるタイムストレッチ処理をそれぞれ説明する。より正確には、現時点の選択されたオーディオデータセットについて、ユーザ装置１００のプロセッサ１１０は、選択されたオーディオデータセットのタイムストレッチ処理を実行し、タイムストレッチ処理は、選択されたオーディオデータセットを変換して、入力された再生テンポおよび制御されたピッチで提示されるように意図された修正後オーディオデータセットを生成することを含む。次いで、修正後オーディオデータセットが、選択されたオーディオデータセットの代わりに（あるいは、選択されたオーディオデータセットとして）オーディオコンポーネントへの割り当てに使用される。
【００６１】
図３の例においては、９５ｂｐｍの再生テンポにおいて、オーディオミキサは、「ピアノ低（Ｐｉａｎｏ  ｌｏｗ）」チャネル、第１の「ストリングス（Ｓｔｒｉｎｇｓ）」チャネル、「ハープ：シンセ（Ｈａｒｐ：Ｓｙｎｔｈｓ）」チャネル、および「シンセ＆ハープ（Ｓｙｎｔｈｓ  ＆  Ｈａｒｐ）」チャネルのみを選択する。これらのコンポーネントのオーディオデータセットは、それぞれ７０ｂｐｍ、７０ｂｐｍ、１２０ｂｐｍ、および７０ｂｐｍのネイティブ再生テンポを有する。したがって、オーディオデータセットは、１２０ｂｐｍから９５ｂｐｍへと下方にストレッチされる「ハープ：シンセ（Ｈａｒｐ：Ｓｙｎｔｈｓ）」のオーディオデータセットを除いて、７０ｂｐｍから９５ｂｐｍにストレッチされる。
【００６２】
ステップ５４１および５４３において、オーディオデータセットをそのネイティブ再生テンポからタイムストレッチして、受信した再生テンポで提示されるように意図された修正後オーディオデータセットを生成するために、種々の技術が当業者にとって利用可能である。同様に、音楽トラックのアレンジをさらにもっと耳に心地よいものにするために、図５．２のミキシングステップ５５１に関して、多数の技術が利用可能である。これらの技術的解決策は、本明細書の範囲を超える。しかしながら、依然として本発明の技術的解決策において、適切なタイムストレッチにとって大きすぎる可能性がある再生テンポ範囲の影響を制限することによって、改善された再生テンポコントローラがユーザに提案される。
【００６３】
選択されたオーディオデータのセットのミキシングを含む図５．１のミキシングステップ５５０は、図５．２のこのさらなる構成において、修正後オーディオデータセットがミキシングされるミキシングステップ５５１で置き換えられる。ひとたびミキシングされると、修正後オーディオデータセットは、ステップ５５１において、受信した再生テンポで提示されるように意図された音楽トラックにミキシングされ、本発明の方法は、ステップ５６０において例えばユーザ装置１００のオーディオ出力１６０において音楽トラックを提示することによって続けられる。図５．１の構成と同様に、プロセッサ１１０は、ステップ５７０において、新たな再生テンポ値が受信されたかどうかを監視する。
【００６４】
新たな再生テンポが受信されない（ステップ５７０に対する答えが「いいえ」である）場合、本発明の方法はステップ５６０に進み、オーディオ出力１６０に音楽を提示するために種々のオーディオコンポーネントをミキシングする。
【００６５】
更新された再生テンポが受信された（ステップ５７０に対する答えが「はい」である）場合、プロセッサ１１０は、更新された再生テンポを新たな現在の再生テンポとみなす。次いで、すでに説明した図５．２のステップ５１０〜５６０が繰り返される。この場合、２つのシナリオが展開される可能性がある。
【００６６】
第１のシナリオにおいては、更新された再生テンポが、以前の再生テンポと同じ再生テンポ範囲に含まれるため、選択されたオーディオデータセットを変更する必要がない。代わりに、更新された再生テンポは、タイムストレッチングに影響を及ぼし、修正後オーディオデータセットの更新が必要である。実際、以前の再生テンポと同じ選択されたオーディオデータセットを使用して、更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットが、以前の修正後オーディオデータセットをタイムストレッチすることによって生成され、オーディオコンポーネントに割り当てられた以前の修正後オーディオデータセットが、更新された修正後オーディオデータセットで置き換えられる。
【００６７】
第２のシナリオにおいては、更新された再生テンポが、異なる再生テンポ範囲に含まれるため、選択されたオーディオデータセットを変更する必要がある。これは、更新された生成テンポが、例えば２つの連続した再生テンポ範囲の間の再生テンポ境界を横切ると発生する。したがって、プロセッサ１１０は、修正後オーディオデータセットをオフにし、新たな再生テンポに対応する再生テンポ範囲を有するオーディオデータセットが存在する場合、新たな再生テンポ範囲に関連付けられたオーディオデータセットをオンにする。これは、更新された再生テンポと新たに選択されたオーディオデータセットのネイティブ再生テンポとの間の差を考慮するために必要とされる可能性があるタイムストレッチを実行する前に行われる。
【００６８】
オーディオコンポーネントについてオーディオデータセットの変化が生じるとき、音楽トラックのレンダリングが、例えばオーディオデータセットの突然の変化またはビートの欠落によって影響を受ける可能性がある。この状況に対処するための種々の技術的解決策が、以下に提示される。それらは、タイムストレッチが含まれる場合の図５．２のオーディオミキシングの技術的解決策の構成に関連して説明されるが、タイムストレッチが使用されず、あるいは無効にされる場合にも使用可能である。
【００６９】
更新された再生テンポが、例えば音楽トラックの提示から２分など、第１の瞬間に受信されると仮定する。このとき、オーディオコンポーネントについて更新された修正後オーディオデータセットを使用する音楽トラックの提示は、オーディオデータセットの変更にかかわらずトラックの提示をギャップレスまたは連続的にするために第１の瞬間を考慮する。
【００７０】
第１の瞬間は、いつ再生テンポしきい値を横切るかを判断するために使用され、すなわち、しきい値を横切ったオーディオコンポーネント（例えば、図３の例における区間３１１および３１２の間の１００ｂｐｍの再生テンポにおけるピアノ低のチャネル）について以前のオーディオデータセットをオフにし、代わりに使用される更新された修正後オーディオデータセットをオンにするタイミングを判断するために使用される。
【００７１】
本発明の方法のさらなる構成において、ユーザは、以前の修正後オーディオデータセットと更新された修正後オーディオデータセットとの間のクロスフェードを定めることができ、クロスフェードは、第１の瞬間の後に開始される。結果として、移行を和らげるために、以前の修正後オーディオデータセットのオフを、予め設定された継続時間にわたって実行することができる。
【００７２】
さらに、更新されて受信された再生テンポがテンポ範囲の変化を引き起こすとき、更新された修正後オーディオデータセットを使用する音楽トラックを、第１の瞬間の後の遅延を使用して提示することができる。遅延を、完了したビートの数に関して定めることができる。音楽トラックの提示の速度を定める再生テンポを、音楽トラックのビート間の時間間隔とみなすことができる。遅延は、以前の再生テンポまたは更新された再生テンポのいずれかを使用して測定される予め設定された完了ビート数の関数であってよい。
【００７３】
さらに、１つのオーディオデータセットから別のオーディオデータセットへの移行は、各々のオーディオデータセットに関する音量を制御することができる。再び図３を参照すると、オーディオデータセットを表す各々のセクションは、横方向に延びる音量曲線に関連付けられている。セクション３０１または３１１に目を向けると、セクションの左側が、オーディオデータセットの音量について例えば０という最小値を定める一方で、右側の縁は、例えば１という最大値を定める。セクション３０１および３１１から分かるように、例えば区間［０−１］または任意の他の値の範囲に含まれる音量値を、再生テンポ範囲の各々の再生テンポについて定めることができる。音量値は、テンポ範囲にわたって音量曲線を定め、これをオーディオデータセットに対するさらなる制御として使用することができる。それを、再生テンポしきい値におけるオーディオデータセット間の移行の状況において、第１の再生テンポ範囲の上限に近づくにつれて音量を下げ、第２の再生テンポ範囲の下限から離れてより高い生成テンポ値に移動するときに音量を上げることによって、好都合に使用することができる。
【００７４】
さらに、音量曲線を、とりわけ第１のオーディオデータセットに隣接する、他のオーディオデータセットが利用可能ではない場合に、第１のオーディオデータセットの再生テンポ範囲の端において第１のオーディオデータセットの音量を下げるために使用することもできる。
【００７５】
本発明のオーディオ再生方法は、テンポ範囲の制限なく、かつ特定のテンポでパフォーマンスを低下させることなく、音楽トラックの再生テンポをリアルタイムでトラックの任意の時点において変更することを、ユーザにとって可能にする。本発明のオーディオミキシングの技術的解決策を使用して、聞き手は、熟練者またはリミックスの専門家を必要とせずに、適応的なトラックを任意のテンポでより良く聞こえるようにすることができる。
【００７６】
上述したランニングの用途に加えて、この種の適応的な音楽再生は、他の特定の活動に好適である。スキーのアプリケーションが、トラックの速度を、スキーヤーの速度に応じて、丘の頂上では低速にし、スキーヤーが丘を滑り降りるときにより高速にすることができる。パーティーにおいて、ユーザは、誰もが選択されたビートに合わせて踊るように、ターンをすることで音楽のテンポを制御することができる。ダンスまたはエクササイズの教室において、インストラクターが遅いテンポで振り付けを説明し、生徒がステップに慣れるにつれて、音楽のテンポを上げることができる。
【００７７】
本出願の出願人は、音楽トラックが、本発明の再生テンポ制御の技術的解決策を使用して、例えば６０〜２４０ｂｐｍおよびそれ以上などのきわめて広いテンポ範囲にわたって良好に聞こえることを見出した。これにより、低いｂｐｍでのウォーキングから、毎分約１４０ステップでのランニング、典型的には毎分１８０ステップを保って走る長距離ランナー、および毎分２００ステップをはるかに超えて生じる短距離走への移行が可能になる。聞き手の他の多数の活動が、これほど極端でないテンポのニーズにて音楽を適応させることを必要とするであろう。
【００７８】
上記の説明は、オーディオデータを再生するシステムを論じているが、これらの原理が、オーディオを利用するあらゆるアプリケーションまたはメディアに当てはまることを、理解できるであろう。例えば、ビデオは、全体としてのビデオの構成部分として、ビデオフレームおよびオーディオデータを含む。このアプリケーションを、そのビデオのオーディオ部分に適用することができる。結果として、ランニング、スキー、または他のスポーツに関する有益なアプリケーションの多くを、ユーザがオーディオを聴き、また関連のビジュアルも見ることができるジムの環境において提供することができる。ユーザ入力の変化に応じてオーディオ要素のテンポを変えるという考え方は、ビデオフレームにも適用可能である。
【００７９】
この文書を通して提供されるオーディオアプリケーションの例は、音楽に関連している。しかしながら、論じられたアプリケーションを、他の種類のオーディオにも適用できることを、理解できるであろう。例えば、これらの原理は、「左、右、左、右」などのリズムを有するランナーへの可聴指示を含むオーディオトラックに適用可能である。その場合、これらの指示を、テンポに関連する特性に応じて変化させることができる。
【００８０】
図６は、コンピューティングデバイス６００の一実施例のブロック図を示しており、コンピューティングデバイス６００において、本明細書に記載の方法のうちの任意の１つ以上をコンピューティングデバイスに実行させるための命令一式を実行することができる。別の実施例においては、コンピューティングデバイスを、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、エクストラネット、またはインターネット内の他のマシンに接続（例えば、ネットワーク接続）することができる。コンピューティングデバイスは、クライアント−サーバネットワーク環境においてはサーバまたはクライアントマシンの役割で動作でき、ピアツーピア（または、分散型）ネットワーク環境においてはピアマシンとして動作することができる。コンピューティングデバイスは、パーソナルコンピュータ（ＰＣ）、タブレットコンピュータ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話機、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチまたはブリッジ、あるいは行うべき動作を指定する１組の命令（順次またはその他）を実行することができる任意のマシンであってよい。さらに、コンピューティングデバイスが１つだけ示されているが、「コンピューティングデバイス」という用語は、本明細書に記載の方法のうちの任意の１つ以上を実行すべく単独または協働して１組（または、複数組）の命令を実行するマシン（例えば、コンピュータ）の任意の集合も含むように理解されるべきである。
【００８１】
典型的なコンピューティングデバイス６００は、バス６３０を介して互いに通信する処理装置６０２、メインメモリ６０４（例えば、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）またはラムバスＤＲＡＭ（ＲＤＲＡＭ）などのダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックメモリ６０６（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）など）、および二次メモリ（例えば、データ記憶装置６１８）を含む。
【００８２】
処理装置６０２は、マイクロプロセッサや中央処理装置などの１つ以上の汎用プロセッサを表す。より具体的には、処理装置６０２は、複合命令セット演算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット演算（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、他の命令セットを実行するプロセッサ、または命令セットの組合せを実行するプロセッサであってよい。さらに、処理装置６０２は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサなどの１つ以上の専用処理装置であってもよい。処理装置６０２は、本明細書で説明した動作およびステップを実行するための処理ロジック（命令６２２）を実行するように構成される。
【００８３】
コンピューティングデバイス６００は、ネットワークインタフェースデバイス６０８をさらに含むことができる。さらに、コンピューティングデバイス６００は、ビデオ表示ユニット６１０（例えば、液晶ディスプレイ（ＬＣＤ）または陰極線管（ＣＲＴ））、英数字入力装置６１２（例えば、キーボードまたはタッチスクリーン）、カーソル制御装置６１４（例えば、マウスまたはタッチスクリーン）、およびオーディオ装置６１６（例えば、スピーカ）を含むことができる。
【００８４】
データ記憶装置６１８は、本明細書に記載の方法または機能のうちの任意の１つ以上を具現化する１組以上の命令６２２を格納する１つ以上の機械可読記憶媒体（または、より具体的には、１つ以上の非一時的なコンピュータ可読記憶媒体）６２８を含むことができる。また、命令６２２は、コンピュータシステム６００による実行時に、全体または少なくとも一部がメインメモリ６０４内および／または処理装置６０２内に存在することができ、メインメモリ６０４および処理装置６０２もコンピュータ可読記憶装置を構成する。
【００８５】
上述のさまざまな方法を、コンピュータプログラムによって実施することができる。コンピュータプログラムは、上述のさまざまな方法のうちの１つ以上の方法の機能を実行するようにコンピュータに対して指示するように構成されたコンピュータコードを含むことができる。そのような方法を実行するためのコンピュータプログラムおよび／またはコードを、１つ以上のコンピュータ可読媒体、またはより一般的にはコンピュータプログラム製品にて、コンピュータなどの装置に提供することができる。コンピュータ可読媒体は、一時的であっても、非一時的であってもよい。１つ以上のコンピュータ可読媒体は、例えば、電子、磁気、光学、電磁気、赤外線、または半導体システム、あるいは例えばインターネットを介したコードのダウンロードなどのデータ伝送のための伝搬媒体であってよい。あるいは、１つ以上のコンピュータ可読媒体は、半導体または固体メモリ、磁気テープ、リムーバブルなコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、剛体磁気ディスク、ならびにＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、またはＤＶＤなどの光ディスクなどの１つ以上の物理的なコンピュータ可読媒体の形態をとることができる。
【００８６】
一実施例においては、本明細書で説明されるモジュール、構成要素、および他の特徴を、ディスクリートな構成要素として実現することができ、あるいはＡＳＩＣ、ＦＰＧＡ、ＤＳＰ、または同様の装置などのハードウェア構成要素の機能に統合することができる。
【００８７】
「ハードウェア構成要素」は、特定の動作を実行することができる有形の（例えば、非一時的な）物理的構成要素（例えば、１つ以上のプロセッサの組）であり、特定の物理的方法で構成または配置され得る。ハードウェア構成要素は、特定の動作を実行するように恒久的に構成された専用の回路または論理を含むことができる。ハードウェア構成要素は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはＡＳＩＣなどの専用プロセッサであってよく、あるいはそのような専用プロセッサを含むことができる。また、ハードウェア構成要素は、特定の動作を実行するようにソフトウェアによって一時的に設定されるプログラマブルな論理または回路を含むことができる。
【００８８】
したがって、「ハードウェア構成要素」という表現は、特定の方法で動作し、あるいは本明細書に記載の特定の動作を実行するように、物理的に構築され、恒久的に構成（例えば、配線）され、あるいは一時的に設定（例えば、プログラム）され得る有形の実体を包含すると理解されるべきである。
【００８９】
さらに、モジュールおよび構成要素を、ハードウェア装置内のファームウェアまたは機能回路として実現することができる。さらに、モジュールおよび構成要素を、ハードウェア装置およびソフトウェア構成要素の任意の組合せで実現することができ、あるいはソフトウェア（例えば、機械可読媒体または伝送媒体に格納または別の方法で具現化されたコード）のみにて実現することができる。
【００９０】
特に断りのない限り、以下の説明から明らかなように、本明細書の全体を通して、「受信する」、「決定する」、「比較する」、「可能にする」、「維持する」、「特定する」、「選択する」、「割り当てる」などの用語を用いた議論が、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作および処理であって、コンピュータシステムのレジスタおよびメモリにおいて物理的な（電子的な）量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタあるいは他のそのような情報記憶装置、伝送装置、または表示装置内の物理的な量として同様に表される他のデータに変換する動作および処理を指すことを、理解できるであろう。
【００９１】
以上の説明が例示を意図しており、限定を意図していないことを、理解すべきである。以上の説明を検討および理解することで、多数の他の実施例が、当業者にとって明らかであろう。本開示を、特定の典型的な実施例を参照して説明したが、本開示が、説明した実施例に限定されず、むしろ添付の特許請求の範囲の技術的思想および技術的範囲の範囲内で、変更および調整を伴って実施可能であることを、理解できるであろう。したがって、本明細書および図面は、限定の意味ではなく、例示の意味で考慮されるべきである。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲に与えられる均等物の全範囲とともに決定されるべきである。
【図１】
2020501202.tif 000003
【図２】
2020501202.tif 000004
【図３】
2020501202.tif 000005
【図４】
2020501202.tif 000006
【図５．１】
2020501202.tif 000007
【図５．２】
2020501202.tif 000008
【図６】
2020501202.tif 000009
【国際調査報告】
2020501202.tif 000010
2020501202.tif 000011
2020501202.tif 000012