IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウイーヴ ミュージック インコーポレイテッドの特許一覧

<>
  • 特許-変動オーディオ再生 図1
  • 特許-変動オーディオ再生 図2
  • 特許-変動オーディオ再生 図3
  • 特許-変動オーディオ再生 図4
  • 特許-変動オーディオ再生 図5.1
  • 特許-変動オーディオ再生 図5.2
  • 特許-変動オーディオ再生 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-20
(45)【発行日】2022-06-28
(54)【発明の名称】変動オーディオ再生
(51)【国際特許分類】
   G10H 1/00 20060101AFI20220621BHJP
【FI】
G10H1/00 102Z
G10H1/00 Z
【請求項の数】 32
(21)【出願番号】P 2019551759
(86)(22)【出願日】2017-12-07
(65)【公表番号】
(43)【公表日】2020-01-16
(86)【国際出願番号】 GB2017053691
(87)【国際公開番号】W WO2018104745
(87)【国際公開日】2018-06-14
【審査請求日】2020-11-19
(31)【優先権主張番号】1620838.1
(32)【優先日】2016-12-07
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】521428170
【氏名又は名称】ウイーヴ ミュージック インコーポレイテッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】カニストラーロ、アラン
(72)【発明者】
【氏名】ダニレイトス、ダニエル
(72)【発明者】
【氏名】フアン、ツィー フランク
(72)【発明者】
【氏名】ローネイ、ニック
(72)【発明者】
【氏名】ラスムッセン、ラース
(72)【発明者】
【氏名】ヴィスヴィキ、ジョージー エロミダ
【審査官】西村 純
(56)【参考文献】
【文献】米国特許出願公開第2006/0107822(US,A1)
【文献】国際公開第2014/003072(WO,A1)
【文献】特開平10-063265(JP,A)
【文献】特開2013-050582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 15/00-15/12
G10H 1/00- 7/12
G11B 27/00-27/36
(57)【特許請求の範囲】
【請求項1】
複数のオーディオコンポーネントを含んでおり、前記複数のオーディオコンポーネントのうちの第1のオーディオコンポーネントに複数のオーディオデータセットが関連付けられ、前記複数のオーディオデータセットの各々は異なるテンポで録音されたオーディオコンポーネントの各オーディオトラックの同一の部分に関係しており、前記複数のオーディオデータセットの各々のオーディオデータセットにそれぞれの再生テンポ範囲が関連付けられているオーディオトラックに関し、オーディオ出力に提示される前記オーディオトラックの再生テンポを制御するための方法であって、
前記オーディオ出力に前記オーディオトラックを提示するための再生テンポを受信するステップと、
前記複数のオーディオデータセットから、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットを選択するステップと、
前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記第1のオーディオコンポーネントに割り当てるステップと
を含む方法。
【請求項2】
前記複数のオーディオコンポーネントのうちの残りのオーディオコンポーネントの各々に、少なくとも1つのオーディオデータセットが関連付けられ、各々のオーディオデータセットに、再生テンポ範囲が関連付けられている、請求項1に記載の方法。
【請求項3】
前記複数のオーディオコンポーネントのうちの第2のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットが存在するか否かを判断するステップと、
前記複数のオーディオコンポーネントのうちの前記第2のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられている前記それぞれのオーディオデータセットを選択するステップと、
前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記複数のオーディオコンポーネントのうちの前記第2のオーディオコンポーネントに割り当てるステップと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記第1のオーディオコンポーネントについて、前記複数のオーディオデータセットのうちの各々のオーディオデータセットの前記再生テンポ範囲は、前記複数のオーディオデータセットのうちの他のオーディオデータセットの前記再生テンポ範囲とは異なる、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記第1のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲は、別のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲とは異なる、請求項1~4のいずれか一項に記載の方法。
【請求項6】
各々のオーディオデータセットに、前記オーディオデータセットが提示されるように意図された所定の再生テンポがさらに関連付けられ、前記所定の再生テンポは、前記オーディオデータセットの前記再生テンポ範囲に含まれており、前記オーディオコンポーネントに割り当てるステップは、
前記選択されたオーディオデータセットについて、前記選択されたオーディオデータセットを前記所定の再生テンポから変換して、前記受信した再生テンポで提示されるように意図された修正後オーディオデータセットを生成することを含むタイムストレッチ処理を実行するステップと、
前記修正後オーディオデータセットを、前記オーディオコンポーネントに割り当てるための前記選択されたオーディオデータセットとして使用するステップと
をさらに含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
更新された再生テンポを受信するステップと、
前記更新された再生テンポに基づいて前記選択されたオーディオデータセットを更新するステップと
をさらに含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれる場合に、前記選択されたオーディオデータセットを更新するステップは、
前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらし、前記オーディオコンポーネントに割り当てられた前記選択されたオーディオデータセットを前記更新された修正後オーディオデータセットで置き換えるステップ
を含む、請求項7に記載の方法。
【請求項9】
前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記選択されたオーディオデータセットを更新するステップは、
前記選択されたオーディオデータセットを、前記更新された再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットで置き換えるステップ
を含む、請求項7に記載の方法。
【請求項10】
前記選択されたオーディオデータセットを変更した後に、前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらすステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含む、請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含み、
前記更新された再生テンポは、前記オーディオトラックの前記提示後の第1の瞬間において受信され、
前記オーディオ出力における前記オーディオトラックの提示は、前記第1の瞬間を考慮する、請求項7~10のいずれか一項に記載の方法。
【請求項13】
前記オーディオトラックを提示するステップは、前記第1の瞬間の後で前記選択されたオーディオデータセットと前記更新されたオーディオデータセットとの間のクロスフェードを実施するステップを含む、請求項12に記載の方法。
【請求項14】
前記更新された再生テンポが前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記第1の瞬間の後で遅延を使用して前記更新されたオーディオデータセットを使用して前記オーディオトラックを提示するステップをさらに含む、請求項12に記載の方法。
【請求項15】
前記再生テンポは、前記オーディオトラックの前記提示についてビート間の時間間隔を定め、前記遅延は、予め設定された完了ビート数の関数である、請求項14に記載の方法。
【請求項16】
再生テンポを受信するステップは、ユーザ入力を受信するステップを含む、請求項1~15のいずれか一項に記載の方法。
【請求項17】
前記ユーザ入力は、現在のユーザの歩調である、請求項16に記載の方法。
【請求項18】
前記再生テンポの毎分のビート数を、前記現在のユーザの歩調の毎分の歩数と同じになるように設定するステップをさらに含む、請求項17に記載の方法。
【請求項19】
前記ユーザ入力は、所望の再生テンポである、請求項16に記載の方法。
【請求項20】
前記ユーザ入力は、ユーザパラメータの目標値であり、前記方法は、前記目標ユーザパラメータを前記再生テンポに変換するステップをさらに含む、請求項16に記載の方法。
【請求項21】
前記ユーザパラメータの目標値は、ユーザの目標歩調、ユーザの目標心拍数、またはユーザの目標速度である、請求項20に記載の方法。
【請求項22】
前記ユーザパラメータの目標値は、ユーザの目標歩調であり、前記方法は、前記再生テンポの毎分のビート数を、前記ユーザの目標歩調の毎分の歩数と同じになるように設定するステップをさらに含む、請求項21に記載の方法。
【請求項23】
前記ユーザパラメータの目標値は、ユーザの目標心拍数であり、前記ユーザの目標心拍数を再生テンポに変換するステップは、前記ユーザの安静時心拍数または前記ユーザの現在の心拍数に基づく、請求項21に記載の方法。
【請求項24】
前記ユーザパラメータの目標値は、ユーザの目標速度であり、前記ユーザの目標速度を再生テンポに変換するステップは、前記ユーザの歩幅に基づく、請求項21に記載の方法。
【請求項25】
前記ユーザパラメータの現在値を監視するステップと、
前記ユーザパラメータの現在値が前記ユーザパラメータの目標値に合致しない場合に、前記再生テンポを更新するステップと
をさらに含む、請求項20~24のいずれか一項に記載の方法。
【請求項26】
前記再生テンポを更新するステップは、
前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を下回る場合に、前記再生テンポを上げるステップ、または
前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を上回る場合に、前記再生テンポを下げるステップ
を含む、請求項25に記載の方法。
【請求項27】
第1の期間に対応する第1のユーザ入力および第2の期間に対応する第2のユーザ入力を受信するステップと、
前記第1のユーザ入力に基づいて前記第1の期間のための第1の再生テンポを決定するステップと、
前記第2のユーザ入力に基づいて前記第2の期間のための第2の再生テンポを決定するステップと
をさらに含む、請求項19~26のいずれか一項に記載の方法。
【請求項28】
前記ユーザによってランニングされる第1の距離に対応する第1のユーザ入力および前記ユーザによってランニングされる第2の距離に対応する第2のユーザ入力を受信するステップと、
前記第1のユーザ入力に基づいて、前記ユーザによってランニングされる前記第1の距離についての第1の再生テンポを決定するステップと、
前記第2のユーザ入力に基づいて、前記ユーザによってランニングされる前記第2の距離についての第2の再生テンポを決定するステップと
をさらに含む、請求項19~26のいずれか一項に記載の方法。
【請求項29】
オーディオ出力に提示されるオーディオトラックの再生テンポを制御するための電子装置であって、請求項1~28のいずれか一項に記載の方法を実行するように構成されたプロセッサを備える電子装置。
【請求項30】
オーディオトラックを提示するためのオーディオ出力と、
請求項1~28のいずれか一項に記載の方法を実行するように構成されたプロセッサを備える電子装置と
を含むシステム。
【請求項31】
使用時に請求項1~28のいずれか一項に記載の方法のプロセッサによる実行を可能にするように構成されたコンピュータ可読命令を含んでいるコンピュータ可読媒体。
【請求項32】
前記オーディオコンポーネントに関する各オーディオトラックは一連の音符を含み、前記一連の音符は前記オーディオトラックのそれぞれの録音テンポに合うように適合されることを特徴とする、請求項19~26のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音楽トラックなどのオーディオデータセットを再生するための方法に関する。より具体的には、本発明は、音楽トラックの再生テンポを制御するための方法に関する。
【背景技術】
【0002】
音楽業界においては、多くの音楽トラックが、リミックスされ、すなわち改変され、異なる曲が作り出される。たとえメロディの大部分がそのままであっても、リミックスは、一般に、曲の元々のリズムまたはテンポを変えて、異なるムードまたは雰囲気を作り出す。例えば、或る曲を、明るい結果を求めて加速させることができ、あるいはよりリラックスした感触を与えるために減速させることができる。
【0003】
音楽トラックを異なるテンポにリミックスする処理は、複雑な処理である。曲または音楽トラックは、一般に、例えば8つのオーディオデータセットなど、いくつかのオーディオデータセットのミキシングの結果であり、各々のオーディオデータセットは、特定の役目(ボーカル1、ボーカル2、ビート、・・・)または楽器(ピアノ、ギター、ハープ、サックス、ベース、・・・)を有するオーディオコンポーネントに割り当てられている。各々のオーディオデータセット、したがって音楽トラック自体は、それぞれの再生テンポを特徴とし、そのような再生テンポで提示または再生されるように意図される。
【0004】
トラックの再生テンポを変更すると、個々のコンポーネントが異なるテンポに合わせて調整されないため、元のアレンジが大きく乱れる可能性がある。したがって、オーディオコンポーネント(より具体的には、割り当てられたオーディオデータセット)は、一般に、音楽編集者によって、聴衆を喜ばせることができる音楽トラックのアレンジを生み出すために改変される。リミックスは、一般に、再生テンポを変えつつ、耳にとって心地よくもある新たなアレンジを生み出すための芸術的および技術的の両方の作業からなる。
【0005】
トラックを構成する個々のオーディオコンポーネントの複雑な再アレンジを必要とすることなく、音楽トラックのテンポを動的に更新したいという要望が存在する。しかしながら、音楽トラックを単純に速くしたり、あるいは遅くしたりするだけでは、ピッチに影響が及び、再生結果が聞き手にとって奇妙に聞こえる可能性がある。オーディオデータセットのタイムストレッチは、再生テンポの違いの芸術的アレンジへの影響を減らすように、ピッチを制御することを可能にする。タイムストレッチにおける問題は、オリジナルの再生テンポを特定の割合を超えて増減させると、利用可能なツールおよび音楽編集者の芸術的技量では、アレンジメントの粗い劣化を補償することが不可能な点にある。
【0006】
したがって、元のアレンジの忠実度を維持しながら、広いテンポ範囲にわたって音楽トラックのテンポを動的に更新するための方法が、必要とされる。具体的には、そのようなテンポの変化を、聞き手が音楽トラックを聴いている間にもたらすというニーズが存在する。
【0007】
これの1つの応用は、運動であり、特に運動選手が自身の歩調を音楽のリズムに意識的に結び付ける音楽の同期応用である。これは、運動のモチベーションおよびリズム感の向上をもたらし、結果として、より低い相対的酸素摂取量に関連する効率の向上をもたらすことができる(Music in the exercise domain:a review and synthesis(Part II),Terry,P.C.&Karageorghis,C.I.(2011)を参照)。
【0008】
米国特許出願公開第2014/288679号が、ユーザの運動のペースを記述する情報を受信し、ペースに依存する再生速度でレースを描くビデオコンテンツを提示し、ペースの指示を含むダッシュボードを表示するための方法およびシステムを開示している。
【0009】
米国特許出願公開第2016/313972号が、オーディオ処理回路と、ペーストラッキング回路と、ポジショニング回路とを備えることができる電子装置を開示している。ペーストラッキング回路は、再生用に処理される曲を選択し、さらには/あるいはポジショニング回路によって生成される位置データ、所望のテンポ、および曲がローカルに保存されているか、ネットワークを介してアクセス可能であるかに基づいて、オーディオ処理回路によってそのような曲に適用されるタイムストレッチを制御するように動作することが可能であってよい。
【発明の概要】
【0010】
一態様によれば、複数のオーディオコンポーネントを含んでおり、該複数のオーディオコンポーネントのうちの第1のオーディオコンポーネントに複数のオーディオデータセットが関連付けられ、該複数のオーディオデータセットの各々のオーディオデータセットにそれぞれの再生テンポ範囲が関連付けられているオーディオトラックに関し、オーディオ出力に提示される該オーディオトラックの再生テンポを制御するための方法であって、前記オーディオ出力に前記オーディオトラックを提示するための再生テンポを受信するステップと、前記複数のオーディオデータセットから、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットを選択するステップと、前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記第1のオーディオコンポーネントに割り当てるステップとを含む方法が提供される。
【0011】
場合によっては、前記複数のオーディオコンポーネントのうちの残りのオーディオコンポーネントの各々に、少なくとも1つのオーディオデータセットが関連付けられ、各々のオーディオデータセットに、再生テンポ範囲が関連付けられる。場合によっては、この方法は、前記複数のオーディオコンポーネントのうちの第2のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットが存在するか否かを判断するステップと、前記複数のオーディオコンポーネントのうちの前記第2のオーディオコンポーネントについて、前記受信した再生テンポを含む再生テンポ範囲が関連付けられているそれぞれのオーディオデータセットを選択するステップと、前記選択されたオーディオデータセットを、前記オーディオ出力に前記オーディオトラックを提示するために前記複数のオーディオコンポーネントのうちの前記第2のオーディオコンポーネントに割り当てるステップとをさらに含む。
【0012】
場合によっては、前記第1のオーディオコンポーネントについて、前記複数のオーディオデータセットのうちの各々のオーディオデータセットの前記再生テンポ範囲は、前記複数のオーディオデータセットのうちの他のオーディオデータセットの前記再生テンポ範囲とは異なる。場合によっては、前記第1のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲は、別のオーディオコンポーネントのオーディオデータセットの前記再生テンポ範囲とは異なる。場合によっては、各々のオーディオデータセットに、該オーディオデータセットが提示されるように意図された所定の再生テンポがさらに関連付けられ、該所定の再生テンポは、該オーディオデータセットの前記再生テンポ範囲に含まれており、前記オーディオコンポーネントに割り当てるステップは、前記選択されたオーディオデータセットについて、該選択されたオーディオデータセットを前記所定の再生テンポから変換して、前記受信した再生テンポで提示されるように意図された修正後オーディオデータセットを生成することを含むタイムストレッチ処理を実行するステップと、前記修正後オーディオデータセットを、前記オーディオコンポーネントに割り当てるための前記選択されたオーディオデータセットとして使用するステップとをさらに含む。
【0013】
場合によっては、この方法は、更新された再生テンポを受信するステップと、前記更新された再生テンポに基づいて前記選択されたオーディオデータセットを更新するステップとをさらに含む。場合によっては、前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれる場合に、前記選択されたオーディオデータセットを更新するステップは、前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらし、前記オーディオコンポーネントに割り当てられた前記選択されたオーディオデータセットを前記更新された修正後オーディオデータセットで置き換えるステップを含む。場合によっては、前記更新された再生テンポが、前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記選択されたオーディオデータセットを更新するステップは、前記選択されたオーディオデータセットを、前記更新された再生テンポを含む再生テンポ範囲が関連付けられているオーディオデータセットで置き換えるステップを含む。
【0014】
場合によっては、この方法は、前記選択されたオーディオデータセットを変更した後に、前記選択されたオーディオデータセットについてタイムストレッチ処理を実行して、前記更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットをもたらすステップをさらに含む。場合によっては、この方法は、前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含む。
【0015】
場合によっては、この方法は、前記オーディオ出力に前記オーディオトラックを提示するステップをさらに含み、前記更新された再生テンポは、前記オーディオトラックの前記提示後の第1の瞬間において受信され、前記オーディオ出力における前記オーディオトラックの提示は、前記第1の瞬間を考慮する。場合によっては、前記オーディオトラックを提示するステップは、前記第1の瞬間の後で前記選択されたオーディオデータセットと前記更新されたオーディオデータセットとの間のクロスフェードを実施するステップを含む。場合によっては、この方法は、前記更新された再生テンポが前記選択されたオーディオデータセットの前記再生テンポ範囲に含まれない場合に、前記第1の瞬間の後で遅延を使用して前記更新されたオーディオデータセットを使用して前記オーディオトラックを提示するステップをさらに含む。
【0016】
場合によっては、前記再生テンポは、前記オーディオトラックの前記提示についてビート間の時間間隔を定め、前記遅延は、予め設定された完了ビート数の関数である。場合によっては、再生テンポを受信するステップは、ユーザ入力を受信するステップを含む。場合によっては、前記ユーザ入力は、現在のユーザの歩調である。場合によっては、この方法は、前記再生テンポの毎分のビート数を、前記現在のユーザの歩調の毎分の歩数と同じになるように設定するステップをさらに含む。
【0017】
場合によっては、前記ユーザ入力は、所望の再生テンポである。場合によっては、前記ユーザ入力は、ユーザパラメータの目標値であり、この方法は、前記目標ユーザパラメータを前記再生テンポに変換するステップをさらに含む。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標歩調、ユーザの目標心拍数、またはユーザの目標速度である。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標歩調であり、この方法は、前記再生テンポの毎分のビート数を、前記ユーザの目標歩調の毎分の歩数と同じになるように設定するステップをさらに含む。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標心拍数であり、該ユーザの目標心拍数を再生テンポに変換するステップは、ユーザの安静時心拍数またはユーザの現在の心拍数に基づく。場合によっては、前記ユーザパラメータの目標値は、ユーザの目標速度であり、該ユーザの目標速度を再生テンポに変換するステップは、ユーザの歩幅に基づく。
【0018】
場合によっては、この方法は、前記ユーザパラメータの現在値を監視するステップと、前記ユーザパラメータの現在値が前記ユーザパラメータの目標値に合致しない場合に、前記再生テンポを更新するステップとをさらに含む。場合によっては、前記再生テンポを更新するステップは、前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を下回る場合に、前記再生テンポを上げるステップ、または前記ユーザパラメータの現在値が前記ユーザパラメータの目標値を上回る場合に、前記再生テンポを下げるステップを含む。
【0019】
場合によっては、この方法は、第1の期間に対応する第1のユーザ入力および第2の期間に対応する第2のユーザ入力を受信するステップと、前記第1のユーザ入力に基づいて前記第1の期間のための第1の再生テンポを決定するステップと、前記第2のユーザ入力に基づいて前記第2の期間のための第2の再生テンポを決定するステップとをさらに含む。
【0020】
場合によっては、この方法は、ユーザによってランニングされる第1の距離に対応する第1のユーザ入力およびユーザによってランニングされる第2の距離に対応する第2のユーザ入力を受信するステップと、前記第1のユーザ入力に基づいて、ユーザによってランニングされる前記第1の距離についての第1の再生テンポを決定するステップと、前記第2のユーザ入力に基づいて、ユーザによってランニングされる前記第2の距離についての第2の再生テンポを決定するステップとをさらに含む。
【0021】
さらなる態様によれば、オーディオ出力に提示されるオーディオトラックの再生テンポを制御するための電子装置であって、前記方法を実行するように構成されたプロセッサを備える電子装置が提供される。
【0022】
さらなる態様によれば、オーディオトラックを提示するためのオーディオ出力と、前記方法を実行するように構成されたプロセッサを備える電子装置とを含むシステムが提供される。
【0023】
さらなる態様によれば、使用時にこの方法のプロセッサによる実行を可能にするように構成されたコンピュータ可読命令を含んでいるコンピュータ可読媒体が提供される。
【図面の簡単な説明】
【0024】
次に、本開示の典型的な実施形態を、図面を参照して説明する。
図1】本開示によるユーザ装置の概略図である。
図2】ユーザ入力に基づいて音楽テンポを動的に更新するためのフローチャートである。
図3】本開示による音楽トラックの典型的な図である。
図4】ユーザ装置とリモート装置とを備える本発明の方法の別の構成の概略図である。
図5.1】本発明の方法の種々の構成によるプロセッサによって実行される一般的な動作ステップを示すフロー図である。
図5.2】本発明の方法の種々の構成によるプロセッサによって実行される一般的な動作ステップを示すフロー図である。
図6】コンピューティングデバイスの一実施例のブロック図を示している。
【発明を実施するための形態】
【0025】
図1が、オーディオトラック、具体的には音楽トラックの再生に使用することができるユーザ装置100を示している。ユーザ装置100は、スマートフォン、携帯型メディアプレーヤ、またはオーディオを再生することができる任意の他の装置であってよい。ユーザ装置100は、本明細書に記載の方法を実行するためにコンピュータプログラムの命令を実行するためのプロセッサ110を備える。さらに、ユーザ装置100は、複数の適応型メディアファイルを格納するためのメモリ120を備え、各々の適応型メディアファイルは、音楽トラックの種々のオーディオコンポーネントに対応する複数のオーディオデータセットからなる。オーディオデータセットは、1つ以上のオーディオファイルに含まれてよく、構成ファイルが、後述されるように、再生テンポ範囲およびデータセット間の移行特性を含むデータセット間の関係などのファイルの関連詳細を定義することができる。ユーザ装置100は、無線または有線接続のいずれかによってデータを交換するための受信機/送信機ユニット130をさらに備える。交換されるデータは、オーディオデータまたは本発明のオーディオミキシングの技術的解決策を実施するために必要な他の種類のデータであってよい。あるいは、データは、心拍数モニタ170によって測定されるユーザの心拍数などのユーザデータであってよい。さらに、ユーザ装置100は、以下で説明されるようにオーディオトラックの再生テンポなどの入力を定めるためのタッチ感応ディスプレイ140および複数のセンサ150を備える。センサ150は、加速度計、ジャイロスコープ、および/またはGPSトラッカを備える。ユーザ装置100は、スピーカまたはヘッドホンジャックの形態であってよいオーディオ出力160をさらに備える。
【0026】
ユーザ装置100のユーザは、例えば運動の最中に、装置を使用して音楽を再生したいと望むかもしれない。ユーザは、ランニングの最中に自身の歩調(毎分の歩数)を音楽のテンポに同期させることを可能にする所与のテンポで音楽が再生されることを望むかもしれない。ユーザ装置100は、本明細書に記載の方法を実施することによって、ユーザによって入力されたテンポで音楽を再生することができる。ユーザは、いくつかの方法で所望のテンポを入力することができる。
【0027】
第1の実施形態において、ユーザは、タッチ感応ディスプレイ140を介して所望のテンポを毎分のビート数(bpm)にて入力することができる。このようにして、ユーザは、装置からの音楽再生のための一定のテンポを設定することができる。次いで、ユーザは、自身の歩調を音楽のビートに同期させることができ、したがってランニングの間ずっと一定の歩調を維持することができる。
【0028】
この実施形態の変種において、ユーザは、ランニングの際に従うべきさまざまなテンポまたは歩調のプログラムを入力することができる。例えば、ユーザは、5キロメートルのランニングの最初の1キロメートルを毎分60歩の歩調にし、次の3キロメートルを毎分80歩の歩調にし、最後の1キロメートルを毎分70歩の歩調にすることを望むかもしれない。ユーザは、このプログラムをタッチ感応ディスプレイ140を介してユーザ装置100に入力する。ユーザは、最初の1キロメートルについて60bpm、次の3キロメートルについて80bpm、最後の1キロメートルについて70bpmの音楽テンポを設定することができる。あるいは、ユーザは、目標歩調を入力してもよく、プロセッサ100が1対1の比率を用いて歩調をテンポに変換する。
【0029】
ユーザがさまざまな距離において開始するさまざまなテンポまたはリズムを入力する場合、ユーザ装置100は、複数のセンサ150のうちのGPSトラッカを使用してユーザの移動を追跡し、正しい距離でテンポを更新する。これにより、音楽が、ランニングの種々の段階のための所望のテンポにて演奏され、ユーザは、自身の歩調を音楽のテンポに同期させることができる。
【0030】
ユーザは、任意の所望の数の段階を、各々の段階について任意の所望の距離に入力できると考えられる。さらに、プログラムを設定するさまざまな方法が可能であると考えられ、例えばランニングを距離よりもむしろ時間によっていくつかの段階に分割することができ、その場合、ユーザ装置100はいつテンポを更新すべきかを内部クロックを使用して監視することができる。
【0031】
ランニングの最中に、ユーザ装置100は、複数のセンサ150のうちの加速度計を使用して、ユーザの実際の歩調を監視することができる。ランニングの最中に、ユーザの歩調が音楽のテンポを下回った場合、プロセッサ110は、ユーザが事前に設定された歩調に達するまでユーザを自身の歩調を増加させるように元気づけるために、音楽のテンポを増加させることができる。同様に、ユーザの歩調が音楽のテンポを上回る場合、プロセッサ110は、ユーザが事前に設定された歩調に達するまでユーザを自身の歩調を減らすように促すために、音楽のテンポを下げることができる。
【0032】
別の実施形態において、ユーザは、例えば160bpmなど、自身がランニングの最中に達成したいと望む目標心拍数を入力することができる。プロセッサ110は、ユーザを目標心拍数に到達させるであろう必要な歩調に対応する音楽のテンポを計算する。これを、履歴のユーザデータ、ユーザの通常の安静時心拍数、または心拍数モニタ170によって測定されるユーザの現在の心拍数を使用することによって計算することができる。最初に、プロセッサ110は、履歴のユーザ心拍数および歩調データを使用して、目標心拍数に対応するユーザの歩調を決定する。この場合、ユーザ装置100は、心拍数モニタ170に接続されている。このようにして、第1の実施形態と同様に、心拍数モニタ170を使用してランニングの最中のユーザの実際の心拍数を測定することができ、プロセッサ110は、それに従って音楽のテンポを増減させて、ユーザの心拍数が所望のレベルに保たれることを保証することができる。ユーザの歩調とユーザの心拍数との間の対応関係を表すデータを、将来の使用するために保存することができる。第1の実施形態と同様に、ユーザは、ランニングのさまざまな段階に対応するように異なる目標心拍数を設定することができる。
【0033】
別の実施形態においては、ユーザが、希望するランニングの目標ペースを入力することができる。これは、m/s、km/h、マイル/時(mph)などの速度であってよい。ユーザの歩幅などのユーザプロファイルデータを使用して、プロセッサ110は、ユーザが目標ペースでランニングするために必要な歩調を計算し、対応するテンポで音楽を再生するように設定する。プロセッサ110は、履歴のユーザペースおよび歩調データを使用して、目標ペースに対応するユーザの歩調を決定する。やはり、ユーザは、ランニングのさまざまな段階に対応するように異なる目標ペースを設定することができる。また、複数のセンサ150のうちのGPSトラッカを使用して、ランニング時のユーザの移動を監視することができる。ユーザのペースがランニングの所与の時点において目標ペースを下回ると、プロセッサ110は、スピードを上げるようにユーザを元気づけるために、音楽のテンポを上げることができる。同様に、ユーザのペースが音楽のテンポを上回っている場合、プロセッサ110は、音楽のテンポを下げることで、ユーザに減速を促すことができる。
【0034】
さらに、ユーザは、ランニングを距離および/または時間によってさまざまな段階に分割し、各々の段階について異なる種類の目標を設定することによって、上述の実施形態の各々を「混ぜ合わせる」ことが可能であってよい。例えば、ユーザは、2キロメートルを毎分60歩でランニングし、60秒間を160bpmの心拍数でランニングし、1キロメートルを8キロメートル(約2.2m/秒)のペースでランニングすることを望むかもしれない。
【0035】
ユーザの行動に基づいて音楽再生のテンポを動的に更新するための方法200が、図2に示されている。方法は、ユーザ装置100によって実行される。方法は、ユーザ装置100がランニングにおける目標を示すユーザからの入力を受信するステップ202で始まる。上述したように、目標は、目標歩調、目標心拍数、または目標ペースであってよい。
【0036】
ステップ204において、プロセッサ110は、ステップ202においてユーザによって入力された目標に対応するテンポを計算する。ユーザが目標歩調を入力した場合、テンポは、歩調(単位は、毎分の歩数)からテンポ(単位は、bpm)への単純な1対1のマッピングである。目標心拍数または目標ペースが設定される場合、上述のように、ユーザプロファイルデータがテンポの計算に使用される。
【0037】
ステップ206において、計算されたテンポで音楽が再生される。計算されたテンポでの音楽の再生は、図5.1および図5.2に関して説明される方法によって達成される。
【0038】
ステップ208において、ユーザ装置100は、目標に関するユーザの行動を監視する。ユーザが目標歩調を入力した場合、複数のセンサ150のうちの加速度計を使用して、ユーザの実際の歩調を測定する。ユーザが目標心拍数目標を入力した場合、心拍数モニタ170を使用して、ユーザの実際の心拍数を測定する。ユーザが目標ペースを入力した場合、複数のセンサ150のうちのGPSトラッカを使用して、ユーザの実際のペースを測定する。
【0039】
ステップ210において、ユーザが目標を満たしているか否かについての判断が行われる。ユーザが目標を満たしていない場合、方法はステップ212に進み、ステップ212において、ユーザの行動が目標を下回っているのか、あるいは上回っているのかが判断される。例えば目標よりも低い歩調、心拍数、またはペースなど、ユーザの行動が目標を下回っている場合、プロセッサ110は、ステップ214において音楽再生のテンポを増加させる。例えば目標よりも高い歩調、心拍数、またはペースなど、ユーザの行動が目標を下回っていない(すなわち、ユーザの行動が目標を上回っている)場合、プロセッサ110は、ステップ216において音楽再生のテンポを下げる。ひとたびテンポが上がる、あるいは下がると、方法はステップ208に戻り、ユーザ装置100は目標に関するユーザの行動の監視を続ける。
【0040】
ステップ210においてユーザの行動が目標を満たしていると判断された場合、ユーザ装置100は、ステップ218において目標に関して計算されたテンポで音楽を再生する。これは、ユーザが常に目標値で行動している場合には、再生の単純な継続であり、ユーザが目標値で行動していないがゆえに、以前にテンポを上げたまたは下げた場合には、最初に計算されたテンポの再開になる。方法は再びステップ208に戻り、ユーザ装置100は目標に関するユーザの行動の監視を続ける。
【0041】
別の実施形態において、ユーザは、目標をまったく設定しなくてもよい。代わりに、ユーザは自然な歩調でランニングし、複数のセンサ150のうちの加速度計が、ユーザの歩調を測定する。次いで、この情報をプロセッサ110にもたらすことができ、プロセッサ110は、音楽のテンポをユーザの歩調に一致するように設定する。ユーザが歩調を上げると、音楽のテンポが上げられる。同様に、ユーザが歩調を下げると、音楽のテンポが下がる。
【0042】
次に、プロセッサ110が入力に基づいて音楽トラックのテンポを更新する方法を説明する。
【0043】
曲などのオーディオトラックは、一般に、1つ以上のオーディオコンポーネントを含む。各々のオーディオコンポーネントは、例えば異なる楽器、ボーカルなど、オーディオトラックの異なる部分に対応する。オーディオトラックを生成するための適応型メディアファイルの図を、図3において見ることができ、図3は、縦方向に延びるバー要素によって表された10個のオーディオコンポーネントを有する適応型メディアファイルを示している。各々のオーディオコンポーネントは、それぞれのオーディオチャネルに対応することができ、あるいは2つ以上のオーディオデータセットからなるオーディオコンポーネントが、2つ以上のオーディオチャネルに広がってもよい。例えば、図3において、「ピアノ低(Piano low)」のオーディオコンポーネントは、1つのオーディオチャネルに対応し、「ピアノ高(Piano high)」のオーディオコンポーネントは、2つのオーディオチャネルに対応している。トラックの再生テンポは、縦軸に示される。
【0044】
各々のオーディオコンポーネントは、バー要素の異なるセクションによって表される1つ以上のオーディオデータセットを有する。各セクションは、再生テンポ範囲に対応する。すなわち、セクションは、縦方向において重ならず、それぞれ縦方向における第1および第2の境界で区切られている。「ピアノ低」のオーディオチャネルに目を向けると、3つのセクション311、312、および313がそれぞれ再生テンポ範囲60~100bpm、100~170bpm、および170~240bpmに関連付けられており、値はbpmで表されている。「ハープ:シンセ(Harp:Synths)」オーディオチャネルは、再生テンポ範囲80~139bpmおよび139~240bpmにそれぞれ関連付けられた2つのセクション301および302を含んでいる。再生テンポ範囲を、所与のオーディオコンポーネントについて、或るオーディオデータセットを使用することができる再生テンポの範囲と理解することができる。再生テンポ範囲は、隣接していてもよく、すなわち、第1の再生テンポ範囲の最高レベルが第2の再生テンポ範囲の最低レベルに相当してよい。その場合、2つの連続した再生テンポ範囲は、共通の再生テンポ境界を共有する。
【0045】
オーディオデータセットを録音する際に、ミュージシャンは、必要な数のオーディオデータセットを録音するために、いくつかのテンポで楽器において同じ一連の音符を演奏することができる。同様に、歌手は、音声オーディオコンポーネントのための複数のオーディオデータセットを定めるために、同じメロディを異なる速度で歌うことができる。別の構成においては、音符およびメロディを、それぞれの録音テンポに合うように適合させることができる。図3の例における異なるテンポは、70、120、および172bpmである。これらの所定の再生テンポ値は、それぞれのオーディオデータセットのいわゆるネイティブ再生テンポに相当する。それらは、オーディオデータセットの録音時に意図されたオーディオデータセットの提示の再生テンポ(例えば、音声、楽器、ビートなどの元々のテンポ)を定める。オーディオデータセットのネイティブ再生テンポは、このオーディオデータセットの再生テンポ範囲に含まれる。
【0046】
複数のオーディオコンポーネントおよびオーディオデータセットからなるオーディオトラックの実施例は、図5.1および図5.2に関連して説明されるように、テンポを選択してトラックを動的にミキシングすることを可能にする。このオーディオミキシングの全体を、ユーザ装置100のメモリ120に格納されたオーディオデータセットを使用してユーザ装置100のプロセッサ110によって実施することができる。あるいは、オーディオミキシングを、図4に示されるようなクライアント/サーバの関係を通じて可能にすることができる。ユーザインタフェース410を備える装置400が、例えばランニングに関して上述した方法のうちの1つにて、音楽トラックの再生テンポを受信するように構成される。関連のオーディオデータセットは、リモートサーバ420上の1つ以上のデータベース(図4には示されていない)からアクセスされてよく、処理のために装置400にダウンロードされてよい。あるいは、オーディオコンポーネントの管理、ならびに関連の再生テンポ範囲および対応するオーディオデータセットの選択は、オーディオデータセットを格納したデータベースへのアクセスも処理するリモートサーバ420で実行されてよい。
【0047】
次に、本発明のオーディオミキシングの方法を、この方法を実行するための種々の動作またはステップのフローチャートを示す図5に関連して説明する。
【0048】
図5.1は、第1の構成による本発明の方法の典型的なフローチャートである。この方法は、図1のユーザ装置100のプロセッサ100によって実行されてよく、あるいはサーバ410などの遠方の電子装置のプロセッサによって実行されてよい。開始ステップ500において、ひとたび音楽トラックが選択されると、その音楽トラックのための種々のオーディオデータセットが、ユーザ装置100のメモリ120からロードされる。あるいは、オーディオデータセットは、任意の利用可能な標準オーディオフォーマットにて無線でストリーミングされても、遠方のメモリからダウンロードされてもよい。
【0049】
上述のように、各々のオーディオデータセットは、オーディオコンポーネントに対応する。各々のコンポーネントは、楽器、ビート、または1つ以上の声など、音楽トラックの一部に対応する。各々のコンポーネントを、単一のオーディオチャネルに割り当てることができ、あるいはコンポーネントがいくつかのオーディオデータセットからなる場合には、いくつかのチャネルに割り当てることができる。各々のオーディオデータは、再生テンポ範囲に関連付けられている。所与のコンポーネントについて2つ以上のオーディオデータセットがロードされる場合、各々のオーディオデータセットは、異なるテンポ範囲をカバーする。オーディオデータセットは、例えば録音時のテンポなど、提示されるように意図された元々のテンポに対応するネイティブ再生テンポにさらに関連付けられてよい。
【0050】
さらなるステップ510において、プロセッサ110は、例えばランニングの状況において上述した方法のうちの1つにて、音楽トラックを提示するための再生テンポを受信する。ユーザが再生テンポを入力するたびに、本発明の技術的解決策は、各々のオーディオ成分について入力された再生テンポを含む再生テンポ範囲を有するオーディオデータセットの選択を可能にする。次に、ステップ520~550を、第1のオーディオコンポーネントについて一般的に説明する。
【0051】
ステップ520において、プロセッサ110は、オーディオコンポーネントについて、受信した再生テンポを含む再生テンポ範囲を有するオーディオデータセットが存在するか否かを判定する。存在する場合、さらなるステップ530において、受信した再生テンポを含む再生テンポ範囲に関連付けられたオーディオデータセットが選択される。次のステップ540において、プロセッサ110は、後のステップ560においてユーザ装置100のオーディオ出力160に音楽トラックを提示するために、選択されたオーディオデータセットを第1のオーディオコンポーネントに割り当てる。
【0052】
説明のために、図3は、120bpmの入力再生テンポを示す横方向に延びるさらなるバー要素315を示している。この場合、ピアノ低について、100~170bpmの範囲に対応するオーディオデータセット312が選択され、ハープについて、80~139bpmの範囲のためのオーディオデータセット301が選択される。次いで、これらのデータセットは、音楽トラックを提示するためにそれぞれのオーディオコンポーネントに割り当てられる。
【0053】
音楽トラックは、第1のオーディオコンポーネントとともに複数のオーディオコンポーネントを形成する1つ以上の追加のオーディオコンポーネントを含むため、音楽トラックの提示は、ステップ550において複数のオーディオコンポーネントをミキシングすることを含む。第1のオーディオコンポーネントと同様に、各々のコンポーネントは、少なくとも1つのオーディオデータセットに関連付けられ、各々のオーディオデータセットは、再生テンポ範囲に関連付けられる。第1のコンポーネントと同様に、第1のコンポーネントについてのステップ520~550が、図5.1に第2のオーディオコンポーネントについてステップ522~552で示されているように、他のコンポーネントについて繰り返される。換言すると、各々の追加のコンポーネントまたは現在のオーディオコンポーネントについて、
・所与のオーディオコンポーネントに関連付けられた複数のオーディオデータセットから、受信した再生テンポを含む再生テンポ範囲に関連付けられたオーディオデータセットを特定および選択するステップと、
・ユーザ装置100のオーディオ出力160における音楽トラックの提示のために、選択されたオーディオデータセットを所与のオーディオコンポーネントに割り当てるステップと
が繰り返される。
【0054】
ユーザは、トラック内の任意の位置で再生テンポを変更することができる。ステップ570において新たな再生テンポが受信された(ステップ570に対する答えが「はい」である)場合、プロセスはステップ510に戻り、各々のオーディオコンポーネントの再生テンポ範囲が更新され、したがって必要に応じてオーディオデータセットが変更される。本発明の技術的解決策において、所与のオーディオコンポーネントは、隣接していて共通の再生テンポ境界を共有することができる2つの連続した再生テンポ範囲を含むことができる。入力された再生テンポが速くなることで、この共通の再生テンポ境界を超えると、選択されるオーディオデータセットが変化する。この状況において、再生テンポの更新により、プロセッサ110は、現時点において選択されているオーディオデータセットを「オフ」にし、更新された再生テンポが属する再生テンポ範囲に関連付けられたオーディオデータセットを「オン」にする。
【0055】
図3の例では、再生テンポが120bpmから100bpmに変更されると、「ピアノ高」オーディオコンポーネントの104~171bpmの範囲の部分が停止される。「シンセ&ハープ(Synths & Harp)」オーディオコンポーネントの60~115bpmの範囲の部分が開始される。
【0056】
図3の例における「ピアノ低」のオーディオチャネルの場合のように、新たな再生テンポがオーディオコンポーネントの2つのオーディオデータセット間の共有の境界に位置する場合、プロセッサ110は、フェードパラメータを使用して2つの隣接する部分の間のクロスフェードを達成する。フェードパラメータは、再生テンポがしきい値bpm値を横切った直後にフェードを開始するか、あるいは次の小節の最初のビートまで開始を遅らせるかを示すパラメータを含む。さらに、フェードパラメータは、どの程度速く、またはゆっくりとフェードを発生させるべきかを指定するパラメータを含む。
【0057】
ステップ570において更新された再生テンポが受信されない(ステップ570に対する答えが「いいえ」である)場合、プロセスは、ステップ560でミキシングされた現在のオーディオデータセットによる音楽トラックの提示を続ける。
【0058】
入力された再生テンポがオーディオデータセットのネイティブなテンポに正確には一致しないが、そのオーディオデータセットのテンポ範囲内にある場合、ユーザは、本発明のオーディオミキシングの開始時にオーディオデータセットのタイムストレッチを有効にすることを選択し得る。タイムストレッチは、曲が再生テンポの変更以外では耳にとって「おなじみ」のままであるように、ピッチに影響を及ぼすことなくオーディオ信号の速度または持続時間を変更する処理である。図5.1の例のようにタイムストレッチが無効にあれたとき、再生テンポ範囲において選択されて入力された再生テンポが、オーディオデータセットの提示に影響を及ぼすことはない。
【0059】
図5.2は、タイムストレッチがユーザによって有効にされた本発明のオーディオミキシングの技術的解決策の一例を示している。このさらなる構成におけるステップは、図5.1の割り当てるステップ540および542が、ステップ541および543にそれぞれ置き換えられていることを除いて、図5.1に示した構成のステップと同様である。
【0060】
ステップ541および543は、所与のオーディオデータセットについて、入力された再生テンポがオーディオデータセットのネイティブな再生テンポと異なる場合に実行されるタイムストレッチ処理をそれぞれ説明する。より正確には、現時点の選択されたオーディオデータセットについて、ユーザ装置100のプロセッサ110は、選択されたオーディオデータセットのタイムストレッチ処理を実行し、タイムストレッチ処理は、選択されたオーディオデータセットを変換して、入力された再生テンポおよび制御されたピッチで提示されるように意図された修正後オーディオデータセットを生成することを含む。次いで、修正後オーディオデータセットが、選択されたオーディオデータセットの代わりに(あるいは、選択されたオーディオデータセットとして)オーディオコンポーネントへの割り当てに使用される。
【0061】
図3の例においては、95bpmの再生テンポにおいて、オーディオミキサは、「ピアノ低(Piano low)」チャネル、第1の「ストリングス(Strings)」チャネル、「ハープ:シンセ(Harp:Synths)」チャネル、および「シンセ&ハープ(Synths & Harp)」チャネルのみを選択する。これらのコンポーネントのオーディオデータセットは、それぞれ70bpm、70bpm、120bpm、および70bpmのネイティブ再生テンポを有する。したがって、オーディオデータセットは、120bpmから95bpmへと下方にストレッチされる「ハープ:シンセ(Harp:Synths)」のオーディオデータセットを除いて、70bpmから95bpmにストレッチされる。
【0062】
ステップ541および543において、オーディオデータセットをそのネイティブ再生テンポからタイムストレッチして、受信した再生テンポで提示されるように意図された修正後オーディオデータセットを生成するために、種々の技術が当業者にとって利用可能である。同様に、音楽トラックのアレンジをさらにもっと耳に心地よいものにするために、図5.2のミキシングステップ551に関して、多数の技術が利用可能である。これらの技術的解決策は、本明細書の範囲を超える。しかしながら、依然として本発明の技術的解決策において、適切なタイムストレッチにとって大きすぎる可能性がある再生テンポ範囲の影響を制限することによって、改善された再生テンポコントローラがユーザに提案される。
【0063】
選択されたオーディオデータのセットのミキシングを含む図5.1のミキシングステップ550は、図5.2のこのさらなる構成において、修正後オーディオデータセットがミキシングされるミキシングステップ551で置き換えられる。ひとたびミキシングされると、修正後オーディオデータセットは、ステップ551において、受信した再生テンポで提示されるように意図された音楽トラックにミキシングされ、本発明の方法は、ステップ560において例えばユーザ装置100のオーディオ出力160において音楽トラックを提示することによって続けられる。図5.1の構成と同様に、プロセッサ110は、ステップ570において、新たな再生テンポ値が受信されたかどうかを監視する。
【0064】
新たな再生テンポが受信されない(ステップ570に対する答えが「いいえ」である)場合、本発明の方法はステップ560に進み、オーディオ出力160に音楽を提示するために種々のオーディオコンポーネントをミキシングする。
【0065】
更新された再生テンポが受信された(ステップ570に対する答えが「はい」である)場合、プロセッサ110は、更新された再生テンポを新たな現在の再生テンポとみなす。次いで、すでに説明した図5.2のステップ510~560が繰り返される。この場合、2つのシナリオが展開される可能性がある。
【0066】
第1のシナリオにおいては、更新された再生テンポが、以前の再生テンポと同じ再生テンポ範囲に含まれるため、選択されたオーディオデータセットを変更する必要がない。代わりに、更新された再生テンポは、タイムストレッチングに影響を及ぼし、修正後オーディオデータセットの更新が必要である。実際、以前の再生テンポと同じ選択されたオーディオデータセットを使用して、更新された再生テンポで提示されるように意図された更新された修正後オーディオデータセットが、以前の修正後オーディオデータセットをタイムストレッチすることによって生成され、オーディオコンポーネントに割り当てられた以前の修正後オーディオデータセットが、更新された修正後オーディオデータセットで置き換えられる。
【0067】
第2のシナリオにおいては、更新された再生テンポが、異なる再生テンポ範囲に含まれるため、選択されたオーディオデータセットを変更する必要がある。これは、更新された生成テンポが、例えば2つの連続した再生テンポ範囲の間の再生テンポ境界を横切ると発生する。したがって、プロセッサ110は、修正後オーディオデータセットをオフにし、新たな再生テンポに対応する再生テンポ範囲を有するオーディオデータセットが存在する場合、新たな再生テンポ範囲に関連付けられたオーディオデータセットをオンにする。これは、更新された再生テンポと新たに選択されたオーディオデータセットのネイティブ再生テンポとの間の差を考慮するために必要とされる可能性があるタイムストレッチを実行する前に行われる。
【0068】
オーディオコンポーネントについてオーディオデータセットの変化が生じるとき、音楽トラックのレンダリングが、例えばオーディオデータセットの突然の変化またはビートの欠落によって影響を受ける可能性がある。この状況に対処するための種々の技術的解決策が、以下に提示される。それらは、タイムストレッチが含まれる場合の図5.2のオーディオミキシングの技術的解決策の構成に関連して説明されるが、タイムストレッチが使用されず、あるいは無効にされる場合にも使用可能である。
【0069】
更新された再生テンポが、例えば音楽トラックの提示から2分など、第1の瞬間に受信されると仮定する。このとき、オーディオコンポーネントについて更新された修正後オーディオデータセットを使用する音楽トラックの提示は、オーディオデータセットの変更にかかわらずトラックの提示をギャップレスまたは連続的にするために第1の瞬間を考慮する。
【0070】
第1の瞬間は、いつ再生テンポしきい値を横切るかを判断するために使用され、すなわち、しきい値を横切ったオーディオコンポーネント(例えば、図3の例における区間311および312の間の100bpmの再生テンポにおけるピアノ低のチャネル)について以前のオーディオデータセットをオフにし、代わりに使用される更新された修正後オーディオデータセットをオンにするタイミングを判断するために使用される。
【0071】
本発明の方法のさらなる構成において、ユーザは、以前の修正後オーディオデータセットと更新された修正後オーディオデータセットとの間のクロスフェードを定めることができ、クロスフェードは、第1の瞬間の後に開始される。結果として、移行を和らげるために、以前の修正後オーディオデータセットのオフを、予め設定された継続時間にわたって実行することができる。
【0072】
さらに、更新されて受信された再生テンポがテンポ範囲の変化を引き起こすとき、更新された修正後オーディオデータセットを使用する音楽トラックを、第1の瞬間の後の遅延を使用して提示することができる。遅延を、完了したビートの数に関して定めることができる。音楽トラックの提示の速度を定める再生テンポを、音楽トラックのビート間の時間間隔とみなすことができる。遅延は、以前の再生テンポまたは更新された再生テンポのいずれかを使用して測定される予め設定された完了ビート数の関数であってよい。
【0073】
さらに、1つのオーディオデータセットから別のオーディオデータセットへの移行は、各々のオーディオデータセットに関する音量を制御することができる。再び図3を参照すると、オーディオデータセットを表す各々のセクションは、横方向に延びる音量曲線に関連付けられている。セクション301または311に目を向けると、セクションの左側が、オーディオデータセットの音量について例えば0という最小値を定める一方で、右側の縁は、例えば1という最大値を定める。セクション301および311から分かるように、例えば区間[0-1]または任意の他の値の範囲に含まれる音量値を、再生テンポ範囲の各々の再生テンポについて定めることができる。音量値は、テンポ範囲にわたって音量曲線を定め、これをオーディオデータセットに対するさらなる制御として使用することができる。それを、再生テンポしきい値におけるオーディオデータセット間の移行の状況において、第1の再生テンポ範囲の上限に近づくにつれて音量を下げ、第2の再生テンポ範囲の下限から離れてより高い生成テンポ値に移動するときに音量を上げることによって、好都合に使用することができる。
【0074】
さらに、音量曲線を、とりわけ第1のオーディオデータセットに隣接する、他のオーディオデータセットが利用可能ではない場合に、第1のオーディオデータセットの再生テンポ範囲の端において第1のオーディオデータセットの音量を下げるために使用することもできる。
【0075】
本発明のオーディオ再生方法は、テンポ範囲の制限なく、かつ特定のテンポでパフォーマンスを低下させることなく、音楽トラックの再生テンポをリアルタイムでトラックの任意の時点において変更することを、ユーザにとって可能にする。本発明のオーディオミキシングの技術的解決策を使用して、聞き手は、熟練者またはリミックスの専門家を必要とせずに、適応的なトラックを任意のテンポでより良く聞こえるようにすることができる。
【0076】
上述したランニングの用途に加えて、この種の適応的な音楽再生は、他の特定の活動に好適である。スキーのアプリケーションが、トラックの速度を、スキーヤーの速度に応じて、丘の頂上では低速にし、スキーヤーが丘を滑り降りるときにより高速にすることができる。パーティーにおいて、ユーザは、誰もが選択されたビートに合わせて踊るように、ターンをすることで音楽のテンポを制御することができる。ダンスまたはエクササイズの教室において、インストラクターが遅いテンポで振り付けを説明し、生徒がステップに慣れるにつれて、音楽のテンポを上げることができる。
【0077】
本出願の出願人は、音楽トラックが、本発明の再生テンポ制御の技術的解決策を使用して、例えば60~240bpmおよびそれ以上などのきわめて広いテンポ範囲にわたって良好に聞こえることを見出した。これにより、低いbpmでのウォーキングから、毎分約140ステップでのランニング、典型的には毎分180ステップを保って走る長距離ランナー、および毎分200ステップをはるかに超えて生じる短距離走への移行が可能になる。聞き手の他の多数の活動が、これほど極端でないテンポのニーズにて音楽を適応させることを必要とするであろう。
【0078】
上記の説明は、オーディオデータを再生するシステムを論じているが、これらの原理が、オーディオを利用するあらゆるアプリケーションまたはメディアに当てはまることを、理解できるであろう。例えば、ビデオは、全体としてのビデオの構成部分として、ビデオフレームおよびオーディオデータを含む。このアプリケーションを、そのビデオのオーディオ部分に適用することができる。結果として、ランニング、スキー、または他のスポーツに関する有益なアプリケーションの多くを、ユーザがオーディオを聴き、また関連のビジュアルも見ることができるジムの環境において提供することができる。ユーザ入力の変化に応じてオーディオ要素のテンポを変えるという考え方は、ビデオフレームにも適用可能である。
【0079】
この文書を通して提供されるオーディオアプリケーションの例は、音楽に関連している。しかしながら、論じられたアプリケーションを、他の種類のオーディオにも適用できることを、理解できるであろう。例えば、これらの原理は、「左、右、左、右」などのリズムを有するランナーへの可聴指示を含むオーディオトラックに適用可能である。その場合、これらの指示を、テンポに関連する特性に応じて変化させることができる。
【0080】
図6は、コンピューティングデバイス600の一実施例のブロック図を示しており、コンピューティングデバイス600において、本明細書に記載の方法のうちの任意の1つ以上をコンピューティングデバイスに実行させるための命令一式を実行することができる。別の実施例においては、コンピューティングデバイスを、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネット内の他のマシンに接続(例えば、ネットワーク接続)することができる。コンピューティングデバイスは、クライアント-サーバネットワーク環境においてはサーバまたはクライアントマシンの役割で動作でき、ピアツーピア(または、分散型)ネットワーク環境においてはピアマシンとして動作することができる。コンピューティングデバイスは、パーソナルコンピュータ(PC)、タブレットコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話機、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチまたはブリッジ、あるいは行うべき動作を指定する1組の命令(順次またはその他)を実行することができる任意のマシンであってよい。さらに、コンピューティングデバイスが1つだけ示されているが、「コンピューティングデバイス」という用語は、本明細書に記載の方法のうちの任意の1つ以上を実行すべく単独または協働して1組(または、複数組)の命令を実行するマシン(例えば、コンピュータ)の任意の集合も含むように理解されるべきである。
【0081】
典型的なコンピューティングデバイス600は、バス630を介して互いに通信する処理装置602、メインメモリ604(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)またはラムバスDRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)、スタティックメモリ606(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、および二次メモリ(例えば、データ記憶装置618)を含む。
【0082】
処理装置602は、マイクロプロセッサや中央処理装置などの1つ以上の汎用プロセッサを表す。より具体的には、処理装置602は、複合命令セット演算(CISC)マイクロプロセッサ、縮小命令セット演算(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実行するプロセッサ、または命令セットの組合せを実行するプロセッサであってよい。さらに、処理装置602は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ以上の専用処理装置であってもよい。処理装置602は、本明細書で説明した動作およびステップを実行するための処理ロジック(命令622)を実行するように構成される。
【0083】
コンピューティングデバイス600は、ネットワークインタフェースデバイス608をさらに含むことができる。さらに、コンピューティングデバイス600は、ビデオ表示ユニット610(例えば、液晶ディスプレイ(LCD)または陰極線管(CRT))、英数字入力装置612(例えば、キーボードまたはタッチスクリーン)、カーソル制御装置614(例えば、マウスまたはタッチスクリーン)、およびオーディオ装置616(例えば、スピーカ)を含むことができる。
【0084】
データ記憶装置618は、本明細書に記載の方法または機能のうちの任意の1つ以上を具現化する1組以上の命令622を格納する1つ以上の機械可読記憶媒体(または、より具体的には、1つ以上の非一時的なコンピュータ可読記憶媒体)628を含むことができる。また、命令622は、コンピュータシステム600による実行時に、全体または少なくとも一部がメインメモリ604内および/または処理装置602内に存在することができ、メインメモリ604および処理装置602もコンピュータ可読記憶装置を構成する。
【0085】
上述のさまざまな方法を、コンピュータプログラムによって実施することができる。コンピュータプログラムは、上述のさまざまな方法のうちの1つ以上の方法の機能を実行するようにコンピュータに対して指示するように構成されたコンピュータコードを含むことができる。そのような方法を実行するためのコンピュータプログラムおよび/またはコードを、1つ以上のコンピュータ可読媒体、またはより一般的にはコンピュータプログラム製品にて、コンピュータなどの装置に提供することができる。コンピュータ可読媒体は、一時的であっても、非一時的であってもよい。1つ以上のコンピュータ可読媒体は、例えば、電子、磁気、光学、電磁気、赤外線、または半導体システム、あるいは例えばインターネットを介したコードのダウンロードなどのデータ伝送のための伝搬媒体であってよい。あるいは、1つ以上のコンピュータ可読媒体は、半導体または固体メモリ、磁気テープ、リムーバブルなコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、剛体磁気ディスク、ならびにCD-ROM、CD-R/W、またはDVDなどの光ディスクなどの1つ以上の物理的なコンピュータ可読媒体の形態をとることができる。
【0086】
一実施例においては、本明細書で説明されるモジュール、構成要素、および他の特徴を、ディスクリートな構成要素として実現することができ、あるいはASIC、FPGA、DSP、または同様の装置などのハードウェア構成要素の機能に統合することができる。
【0087】
「ハードウェア構成要素」は、特定の動作を実行することができる有形の(例えば、非一時的な)物理的構成要素(例えば、1つ以上のプロセッサの組)であり、特定の物理的方法で構成または配置され得る。ハードウェア構成要素は、特定の動作を実行するように恒久的に構成された専用の回路または論理を含むことができる。ハードウェア構成要素は、フィールドプログラマブルゲートアレイ(FPGA)またはASICなどの専用プロセッサであってよく、あるいはそのような専用プロセッサを含むことができる。また、ハードウェア構成要素は、特定の動作を実行するようにソフトウェアによって一時的に設定されるプログラマブルな論理または回路を含むことができる。
【0088】
したがって、「ハードウェア構成要素」という表現は、特定の方法で動作し、あるいは本明細書に記載の特定の動作を実行するように、物理的に構築され、恒久的に構成(例えば、配線)され、あるいは一時的に設定(例えば、プログラム)され得る有形の実体を包含すると理解されるべきである。
【0089】
さらに、モジュールおよび構成要素を、ハードウェア装置内のファームウェアまたは機能回路として実現することができる。さらに、モジュールおよび構成要素を、ハードウェア装置およびソフトウェア構成要素の任意の組合せで実現することができ、あるいはソフトウェア(例えば、機械可読媒体または伝送媒体に格納または別の方法で具現化されたコード)のみにて実現することができる。
【0090】
特に断りのない限り、以下の説明から明らかなように、本明細書の全体を通して、「受信する」、「決定する」、「比較する」、「可能にする」、「維持する」、「特定する」、「選択する」、「割り当てる」などの用語を用いた議論が、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作および処理であって、コンピュータシステムのレジスタおよびメモリにおいて物理的な(電子的な)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタあるいは他のそのような情報記憶装置、伝送装置、または表示装置内の物理的な量として同様に表される他のデータに変換する動作および処理を指すことを、理解できるであろう。
【0091】
以上の説明が例示を意図しており、限定を意図していないことを、理解すべきである。以上の説明を検討および理解することで、多数の他の実施例が、当業者にとって明らかであろう。本開示を、特定の典型的な実施例を参照して説明したが、本開示が、説明した実施例に限定されず、むしろ添付の特許請求の範囲の技術的思想および技術的範囲の範囲内で、変更および調整を伴って実施可能であることを、理解できるであろう。したがって、本明細書および図面は、限定の意味ではなく、例示の意味で考慮されるべきである。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲に与えられる均等物の全範囲とともに決定されるべきである。
図1
図2
図3
図4
図5.1】
図5.2】
図6