(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-12
(45)【発行日】2023-10-20
(54)【発明の名称】ユーザの楽曲演奏時のあらかじめ記録された楽曲伴奏の改善された同期
(51)【国際特許分類】
G10H 1/00 20060101AFI20231013BHJP
G10L 25/51 20130101ALI20231013BHJP
G10H 1/36 20060101ALI20231013BHJP
G10G 1/00 20060101ALI20231013BHJP
【FI】
G10H1/00 102Z
G10L25/51 300
G10H1/36
G10G1/00
(21)【出願番号】P 2022550690
(86)(22)【出願日】2021-02-01
(86)【国際出願番号】 EP2021052250
(87)【国際公開番号】W WO2021165023
(87)【国際公開日】2021-08-26
【審査請求日】2022-10-18
(32)【優先日】2020-02-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】522331622
【氏名又は名称】アンテスコフォ
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョセ・エチェベステ
(72)【発明者】
【氏名】フィリップ・キュヴィリエ
(72)【発明者】
【氏名】アルシア・コント
【審査官】上田 雄
(56)【参考文献】
【文献】特開2008-197270(JP,A)
【文献】特開2019-144360(JP,A)
【文献】特開2001-312276(JP,A)
【文献】特開平04-133095(JP,A)
【文献】特開2016-099512(JP,A)
【文献】特表2002-510403(JP,A)
【文献】特開2007-241181(JP,A)
【文献】特表平08-510846(JP,A)
【文献】国際公開第2018/016581(WO,A1)
【文献】米国特許出願公開第2014/0360340(US,A1)
【文献】米国特許第5521324(US,A)
【文献】米国特許第5913259(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00-7/12
G10G 1/00-3/04
G10L 25/51
(57)【特許請求の範囲】
【請求項1】
あらかじめ記録された楽曲伴奏をユーザの楽曲演奏に同期させるための方法であって、
前記ユーザの楽曲演奏が、処理ユニットに供給する入力音響信号を届ける少なくとも1つのマイクロフォンよって取り込まれ、
前記処理ユニットが、前記あらかじめ記録された楽曲伴奏のデータを記憶するためのメモリを備え、前記ユーザのために前記楽曲伴奏を演奏する少なくとも1つのラウドスピーカーに供給するために、前記あらかじめ記録された楽曲伴奏データに基づいて出力音響信号を提供し、
前記処理ユニットが、
前記入力音響信号中の音楽イベントを検出し、前記ユーザの楽曲演奏におけるテンポを決定するために、前記入力音響信号を分析し、
少なくとも、前記検出された音楽イベントのタイミングと、前記演奏された楽曲伴奏の音楽イベントのタイミングとの間のラグdiffを決定するために、前記検出された音楽イベントを前記あらかじめ記録された楽曲伴奏データと比較し、前記ラグdiffが補正され、
前記出力音響信号のタイミングを、
* 前記ラグdiffと、
*
【数1】
によって与えられる同期関数Fと
に基づいて適合させ、
ここでxは時間変数であり、$tempoは前記ユーザの楽曲演奏における前記決定されたテンポであり、wは前記ラグdiffの補正の継続時間である、方法。
【請求項2】
前記楽曲伴奏データが、楽曲スコアを定義し、変数xが、前記楽曲スコアの可変の拍数の継続時間に対応する時間的値である、請求項1に記載の方法。
【請求項3】
wが、前記楽曲伴奏データによって定義される楽曲スコア上で少なくとも1拍の継続時間を有する、請求項1または2に記載の方法。
【請求項4】
前記継続時間wが選択される、請求項1、2、および3のいずれか一項に記載の方法。
【請求項5】
前記伴奏データが、楽曲スコアを定義し、前記スコア上の演奏者の演奏の位置posが、pos(x)=$tempo*xとして定義される線形関係によって予想され、ここでxは前記楽曲スコア上でカウントされる音楽の拍の数であり、ラグdiffが検出される場合、前記ラグ時間diffに対応する拍数x
diffを定義するために、前記同期関数F(x)が使用され、
F(x
diff)-pos(x
diff)=diff
のようになる、請求項1から4のいずれか一項に記載の方法。
【請求項6】
予測が、
【数2】
によって与えられる変換関数A(t)を適用することによって、次の拍x
diff+wまで、前記同期関数F(x)に基づいて決定され、
ここでpは、現在の時間t
0における前記楽曲スコア上の前記演奏者の演奏の現在の位置である、請求項5に記載の方法。
【請求項7】
前記伴奏データが楽曲スコアを定義し、前記処理ユニットが、将来の同期時間t
syncにおける前記楽曲スコア上の演奏者の演奏の将来の位置をさらに推定し、前記将来の同期時間t
syncまで前記出力音響信号に適用するために前記楽曲伴奏のテンポ(e2)を決定する、請求項1から6のいずれか一項に記載の方法。
【請求項8】
ctempoと示す、前記出力音響信号に適用する前記楽曲伴奏の前記テンポが、現在の時間t
0におけるA(t)の導関数として決定され、
ctempo=A'(t
0)=F'(x
diff)
のようになる、請求項6と組み合わせて行われる、請求項7に記載の方法。
【請求項9】
前記入力音響信号中の前記音楽イベントの前記決定が、
前記入力音響信号から音響特徴を抽出するステップと、
少なくとも前記伴奏中の音楽イベントを決定するために、前記あらかじめ記録された楽曲伴奏の前記記憶されたデータを使用するステップと、
前記記憶されたデータから決定された前記音楽イベントに基づいて、前記入力音響特徴に音楽イベントを割り当てるステップと
を含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
あらかじめ記録された楽曲伴奏をユーザの楽曲演奏に同期させるためのデバイスであって、請求項1から9のいずれか一項に記載の方法を行うために処理ユニットを備える、デバイス。
【請求項11】
命令を含むコンピュータプログラムであって、前記プログラムが処理ユニットによって実行されると、前記命令が前記処理ユニットに請求項1から9のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【請求項12】
命令を含むコンピュータ可読媒体であって、処理ユニットによって実行されると、前記命令が前記コンピュータに請求項1から9のいずれか一項に記載の方法を実行させる、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、人間の演奏者と、その人間の演奏者の伴奏を提供するあらかじめ記録された音楽データとのリアルタイムの音楽同期性を可能にするデータ処理に関する。
【背景技術】
【0002】
許容できる音楽行動を実現するために、演奏者の音楽意図を把握し、それらをあらかじめ記録された伴奏の音楽意図にマップすることが目的である。
【0003】
いくつかの知られているシステムは、演奏者と伴奏との間のリアルタイムの音楽同期性の課題に対処している。
【0004】
文献D1:Christopher Raphael(2010)、「Music Plus One and Machine Learning」、Proceedings of the 27th International Conference on Machine Learning (ICML)、Haifa、Israel、21~28頁は、演奏者の意図が、同じ演奏者の実際の演奏について訓練されるモデルから予測される学習システムに関するものである。訓練に対するデータ利用可能性の問題にもかかわらず、同期はここでは、イベントの確率的パラメータではなく、ハイレベルな音楽パラメータ(音楽学的データなど)に左右される。その上、統計的または確率的予測は、セッション間の(および同じ演奏者についての)演奏の極端な変動性を弱体化させる。さらに、この手法は、演奏者イベントをコンピュータアクションと同期させることに依存する。コンピュータアクションは、ハイレベルな音楽パラメータをモデル化せず、したがって非実用的である。
【0005】
文献D2:Roger B Dannenberg(1997)、「Abstract time warping of compound events and signals」、Computer Music Journal、61~70頁は、演奏者のテンポが連続的であり、2つのイベント間で保たれるという基本的仮定を採用し、楽曲位置の区分的線形予測が同期に使用されることになる。どんな現実世界のセットアップでも、テンポ不連続性は、そのような近似の失敗につながることである。さらに、この手法は、演奏者の時間マップしか考慮に入れず、あらかじめ記録された伴奏時間マップ(固定されていると仮定する)を弱体化させ、したがって重要なハイレベルな音楽知識を見落とす。
【0006】
文献D3:Arshia Cont、Jose Echeveste、Jean-Louis Giavitto、およびFlorent Jacquemard.(2012)、「Correct Automatic Accompaniment Despite Machine Listening or Human Errors in Antescofo」、Proceedings of International Computer Music Conference (ICMC), Ljubljana (Slovenia)は、演奏者の時間マップを推定するために脳の認知モデルを用いる予想の概念を組み入れている。伴奏同期に対してハイレベルな音楽知識を組み入れるために、2つのタイプの同期が導入される。いくつかの重要な位置が厳密に同期されることを確実にするために、タイト同期(Tight Synchronization)が使用される。
適切ながら、それらの解決策は、結果として得られる時間マップに不連続性をもたらす。連続したオーディオまたはビデオストリームを同期するとき、そのような不連続性は、回避されなければならない。スムーズ同期(Smooth Synchronization)は、結果として得られる伴奏のテンポが演奏者のテンポに等しいと仮定し、その値を使用してそれの位置を予測することによって、結果として得られる連続的な時間マップを生成しようと試みる。
この適切なテンポ検出にもかかわらず、リアルタイムのテンポはエラーになりやすく、予測できない不連続性につながることがある。さらに、同じセッションにおける2つの戦略の共存が、結果として得られる時間マップにさらなる不連続性を生む。
【0007】
文献D4:Dawen Liang、Guangyu Xia、およびRoger B Dannenberg(2011)、「A framework for coordination and synchronization of media」、Proceedings of the International Conference on New Interfaces for Musical Expression(167~172頁)は、基準伴奏時間マップへの値の収束を目標として、時間マップを動的に同期させるために、上記のタイトなどの散発的同期と、ルーズ(Loose)などのテンポのみの同期との間の妥協点を提案する。伴奏が時間tにおける偏差を補正するようにし、それがt+wにおいて収束するように、未来への音楽継続時間wにわたる一定ウィンドウ(constant window)が使用される。これは、音楽位置出力で区分的線形である連続曲線をもたらす。
この戦略はしかしながら、2つの欠点を有する。
- 連続的位置にもかかわらず、テンポ不連続性が依然として存在する。演奏者のテンポが変わらないとき、伴奏テンポが変わることがあるので、そのような不連続性が、演奏者への誤ったフィードバックにつながる。
- 一定ウィンドウ処理は、中間更新と一致しない。一例は、予測される演奏者の時間マップを変えることはない時間tにおける初期ラグの存在が、永続的なラグにつながることである。
【先行技術文献】
【非特許文献】
【0008】
【文献】Christopher Raphael(2010)、「Music Plus One and Machine Learning」、Proceedings of the 27th International Conference on Machine Learning (ICML)、Haifa、Israel、21~28頁
【文献】Roger B Dannenberg(1997)、「Abstract time warping of compound events and signals」、Computer Music Journal、61~70頁
【文献】Arshia Cont、Jose Echeveste、Jean-Louis Giavitto、およびFlorent Jacquemard.(2012)、「Correct Automatic Accompaniment Despite Machine Listening or Human Errors in Antescofo」、Proceedings of International Computer Music Conference (ICMC), Ljubljana (Slovenia)
【文献】Dawen Liang、Guangyu Xia、およびRoger B Dannenberg(2011)、「A framework for coordination and synchronization of media」、Proceedings of the International Conference on New Interfaces for Musical Expression(167~172頁)
【発明の概要】
【発明が解決しようとする課題】
【0009】
本開示は、この状況を改善することを目的とする。
【課題を解決するための手段】
【0010】
そのために、あらかじめ記録された楽曲伴奏をユーザの楽曲演奏に同期させるための方法が提案され、前記ユーザの楽曲演奏が、処理ユニットに供給する入力音響信号を届ける少なくとも1つのマイクロフォンよって取り込まれ、前記処理ユニットが、あらかじめ記録された楽曲伴奏のデータを記憶するためのメモリを備え、前記ユーザのために楽曲伴奏を演奏する少なくとも1つのラウドスピーカーに供給するために、前記あらかじめ記録された楽曲伴奏データに基づいて出力音響信号を提供し、前記処理ユニットが、
- 入力音響信号中の音楽イベントを検出し、前記ユーザの楽曲演奏におけるテンポを決定するために、入力音響信号を分析し、
- 少なくとも、検出された音楽イベントのタイミングと、演奏された楽曲伴奏の音楽イベントのタイミングとの間のラグdiffを決定するために、検出された音楽イベントをあらかじめ記録された楽曲伴奏データと比較し、前記ラグdiffが補正され、
- 出力音響信号のタイミングを、
* 前記ラグdiffと、
*
【0011】
【0012】
によって与えられる同期関数Fとに基づいて適合させ、ここでxは時間変数であり、$tempoはユーザの楽曲演奏における決定されたテンポであり、wは前記ラグdiffの補正の継続時間である。
【0013】
「時間マップ」という概念は、したがって、あらかじめ記録された伴奏と比較して人間の演奏者から入ってくる音楽意図をモデル化するために使用され得る。時間マップは、物理的時間tを音楽的時間p(拍単位)にマップする関数である。
非リアルタイム(またはオフライン)のセットアップにおいて、デバイスからのテンポ推定が正しいという強い仮定を与えられるならば、時間マップ位置pは、拍子に時間0からtのこのテンポを掛けた整数である。
しかしながら、演奏者が楽曲スコアに設定されているテンポに従わないとき、伴奏の現在の演奏における推定テンポは、補正継続時間wによって定義される近い将来に適合される必要があり、同期関数Fの使用は、その補正継続時間の後に現在のユーザのテンポへと収束に達することを確実にする。
【0014】
一実施形態では、前記楽曲伴奏データは、楽曲スコアを定義し、ここで変数xは、前記楽曲スコアの可変の拍数の継続時間に対応する時間的値である。
【0015】
一実施形態では、前記補正継続時間wは、前記楽曲伴奏データによって定義される楽曲スコア上で少なくとも1拍の継続時間を有する。
【0016】
一実施形態では、前記補正継続時間wは、選択される。
好ましくはそれは、1拍の継続時間に設定され得るが、場合によっては、たとえば前記処理ユニットの入力を介して入力できるユーザの選択に従って、より多くに設定され得る。
【0017】
伴奏データが楽曲スコアを定義する一実施形態では、前記スコア上の演奏者の演奏の位置posは、pos(x)=$tempo*xとして定義される線形関係によって予想され、ここでxは前記楽曲スコア上でカウントされる楽曲拍の数であり、ラグdiffが検出される場合、同期関数F(x)は、次いで前記ラグ時間diffに対応する拍数xdiffを定義するために使用され、F(xdiff)-pos(xdiff)=diffのようになる。
【0018】
この実施形態では、予測は、
【0019】
【0020】
によって与えられる変換関数A(t)を適用することによって次の拍xdiff+wまで、前記同期関数F(x)に基づいて決定される。
ここでpは、現在の時間t0における楽曲スコア上の演奏者の演奏の現在の位置である。
【0021】
前記伴奏データが楽曲スコアを定義する一実施形態では、処理ユニットが、将来の同期時間t
syncにおける前記楽曲スコア上の演奏者の演奏の将来の位置をさらに推定し、前記将来の同期時間t
syncまで出力音響信号に適用するために、楽曲伴奏のテンポ(以下で提示する
図3の参照符号e2)を決定する。
【0022】
この実施形態では、変換関数A(t)が使用されるとき、出力音響信号に適用する楽曲伴奏のテンポは、以下のように、現在の時間t0におけるA(t)の導関数として決定される。
tempo=A'(t0)=F'(xdiff)
(これは分析的にわかっている)。
【0023】
一実施形態では、前記入力音響信号中の前記音楽イベントの決定は、
- 前記入力音響信号から音響特徴(たとえば、時間による音響圧力、または認識された高調波周波数)を抽出することと、
- 少なくとも伴奏中の音楽イベントを決定するために、あらかじめ記録された楽曲伴奏の前記記憶されたデータを使用することと、
- 前記記憶されたデータから決定された音楽イベントに基づいて、前記入力音響特徴に音楽イベント(たとえば特定の音符のアタックタイム)を割り当てることと
を含む。
事実上、音楽イベントの割当ては、楽曲スコア上に、たとえばソロパート上で行われ、したがってこれによって、「伴奏」自体によってではなく、決定され得る。これらは、一般的にはMIDIなどの記号音楽表記形式とすることができる。したがって、「伴奏楽曲スコアの記憶されたデータ」という表現は、広く解釈されるものとし、そのようなデータが、伴奏自体ではないソロトラックの楽曲スコアをさらに含む状況を包含し得る。
楽曲スコアイベントの関連付けは、より一般的にはあらかじめ記録された伴奏(時間マップ)において行われる。
【0024】
本開示はまた、上記で提示した方法を行うための処理ユニットを備える、あらかじめ記録された楽曲伴奏をユーザの楽曲演奏に同期させるためのデバイスを目標とする。
【0025】
本開示はまた、命令を含むコンピュータプログラムを目標とし、プログラムが処理ユニットによって実行されると、命令は、処理ユニットに上記で提示した方法を実行させる。
【0026】
本開示はまた、命令を含むコンピュータ可読媒体を目標とし、処理ユニットによって実行されると、命令は、コンピュータに方法を実行させる。
【0027】
したがって、演奏者とあらかじめ記録された伴奏との間のリアルタイムの同期性を実現するために、本開示は特に最先端技術における以下の欠点に対処する。
- 演奏者の時間マップは、デバイスから入って来るものとして与えられず、あらかじめ記録された伴奏における固有の時間マップなどのハイレベルな音楽知識を考慮に入れて予測される。
- 伴奏出力に対して時間マップを予測するとき、テンポ(および必ずではないが位置)の不連続性は、(演奏者によって)音楽的にも、(オーディオまたはビデオストリームなどの連続的メディアに対して)技術的にも許容できない。これは単独で、区分的線形予測に基づく従来技術の手法すべてを不適格と見なし得る。
- あらかじめ記録された伴奏を駆動するための結果として得られるリアルタイムの時間マップは、演奏者の時間マップ(意図の把握)とあらかじめ記録された伴奏時間マップ(ハイレベルな音楽知識)の両方に依存している。
【0028】
実施形態のさらなる詳細および利点については、以下の詳細な説明で提供し、添付の図面に表示する。
【図面の簡単な説明】
【0029】
【
図1】前述の方法を実施するデバイスの実施形態の一例を示す図である。
【
図2】一実施形態による前述の方法のステップを含むアルゴリズムの一例を示す図である。
【
図3a】同期関数F(x)を使用した同期時間マップおよび対応する演奏者時間マップの一例を示す図である。
【
図3b】同期関数F(x)を使用した同期時間マップおよび対応する演奏者時間マップの一例を示す図である。
【発明を実施するための形態】
【0030】
本開示は、あらかじめ記録された伴奏をリアルタイムで演奏者に同期させる問題を解決することを提案する。この目的のために、デバイスDIS(以下で説明する
図1の例に示すように)が使用される。
【0031】
デバイスDISは、一実施形態では、少なくとも
- 入力インターフェースINPと、
- ストレージメモリMEM、およびメモリMEMと協働するプロセッサPROCを含む処理ユニットPUと、
- 出力インターフェースOUTと
を備える。
【0032】
メモリMEMは、本開示によれば、とりわけ、コンピュータプログラムの命令データを記憶することができる。
【0033】
さらに、楽曲伴奏データが、処理ユニットに(たとえば、メモリMEMに)記憶される。楽曲伴奏データはしたがって、あらかじめ記録された楽曲伴奏データに基づいて出力音響信号を少なくとも1つのラウドスピーカーSPK(バッフルまたはイヤフォン)に供給するために、出力インターフェースOUTを駆動させるように、プロセッサPROCによって読み出される。
【0034】
デバイスDISは、(
図1の破線で示すように)独立したハードウェアを含むことができる、または代替的に処理ユニットPUと共有されるハードウェア(すなわち同じプロセッサおよび場合によっては同じメモリユニット)で作られ得る機械リスニングモジュールMLMをさらに備える。
【0035】
ユーザUSは、ラウドスピーカーSPKによって演奏される伴奏楽曲を聞くことができ、伴奏楽曲上の楽器とともに、このようにして入力インターフェースINPに接続されたマイクロフォンMICによって取り込まれた音を発して、演奏することができる。マイクロフォンMICは、ユーザの楽器(エレキギターなど)に組み込まれている、または(音声もしくは音響機器録音のために)分けられていることがある。取り込まれた音データは、次いで機械リスニングモジュールMLMによって、およびより一般的には処理ユニットPUによって処理される。
【0036】
より詳細には、取り込まれた音データは、伴奏楽曲と比較され、ユーザによって演奏される楽曲の遅れまたは進みを識別し、伴奏楽曲の演奏の速度をユーザの演奏に適合させるために処理される。たとえば、伴奏楽曲のテンポは、それに応じて適合され得る。伴奏楽曲とユーザによって演奏される楽曲との間の、モジュールMLMによって検出される時間差は、以下では、現在の時間tにおける「ラグ」と呼び、diffと示す。
【0037】
より詳細には、演奏者イベントは、機械リスニングモジュールMLMによってリアルタイムで検出可能であり、機械リスニングモジュールMLMはその場合、音楽イベントの連符(t-uplets)およびそのようなイベントのリアルタイム検出に関係するテンポデータを楽曲スコアから出力する。この実施形態は、たとえば、Cont(2010)に開示されるものと同様とすることができる。機械リスニングモジュールMLMが処理ユニットPUから切り離されたハードウェアを有する実施形態では、モジュールMLMは、したがって交換可能であり、したがって、演奏者の演奏を聴くことによって、リアルタイムで所与の楽曲スコア上に「イベント」、および任意選択で以後テンポを提供する任意のモジュールとすることができる。
【0038】
上記のように、機械リスニングモジュールMLMは、好ましくは「リアルタイムで」、理想的には現在の通常のリスニングアルゴリズムの大部分における知覚しきい値(イベントに反応する能力)に対応する15ミリ秒未満のラグで動作する。
【0039】
一方ではあらかじめ記録された伴奏楽曲データのおかげで、および他方では演奏者の演奏でのテンポ認識のおかげで、処理ユニットPUは、動的同期を行う。各リアルタイムのインスタンスtで、処理ユニット(PU)は、前の時間t-εにおけるそれ自体の前の予測、ならびに機械リスニングからの入って来るイベントおよびテンポを入力として受け取る。結果として得られる出力は、時間tにおける予測を含む伴奏時間マップである。
【0040】
同期は、動的に計算されるラグ依存ウィンドウ(以下wと示す)に基づく、時間tにおける予測出力のおかげで、動的かつ適応可能である。動的同期戦略が導入され、その値は、後の時間t_syncに収束すると数学的に保証される。同期予想範囲(synchronization anticipation horizon)t_sync自体は、前のインスタンスおよび環境からのフィードバックに関して、時間tにおける計算されたラグ時間に依存している。
【0041】
適応同期戦略の結果は、一貫したものとなる(同じセットアップは同じ同期予測になる)。適応同期戦略はまた、対話型コンテキストに適応する。
【0042】
デバイスDISは、演奏者のイベントおよびテンポをライブ入力として受け取り、あらかじめ記録された伴奏に対する予測を出力し、起動に先立って自由裁量であらかじめ記録された伴奏と楽曲スコアの両方を有する。デバイスDISの役割は、(ライブ入力の結果としての)演奏者の時間マップを使用し、対応する同期時間マップを動的に構築することである。
【0043】
(最先端技術のように)一定ウィンドウ長に依存するのではなく、パラメータwは、ここでは剛性パラメータとして解釈される。一般に、wは、スコアの固定拍数(たとえば、4/4拍子の四分音符に対応する1拍)に対応することができる。それの時間現在値(time current value)tvは、伴奏の実際のテンポで与えられ得る(tv=w*実際のテンポ)が、これは必ずしも現在の演奏者のテンポに対応するとは限らない。予測ウィンドウ長wは、時間tにおける現在のラグdiffの関数として(
図3に関して以下で詳述するように)動的に決定され、後の同期時間t_syncまで収束を確実なものにする。
【0044】
一実施形態では、同期関数Fが導入され、その役割は、同期時間マップの構築を助けること、およびテンポが短い時間枠で、一定の値であると考えられる理想的なセットアップにおいてラグdiffを補正することである。(楽曲スコア上の)演奏者の位置pおよび時間tにおける以下で「$tempo」と示す演奏者のテンポを仮定すると、Fは、時間マップ点(0,1)を(w,w*$tempo)に結びつける二次関数であり、それの導関数がパラメータ$tempoに等しいことを調べる。楽曲スコア上の演奏者のリアルタイムの音楽位置と、同じスコア上の伴奏トラックのそれ(どちらも拍単位)との間の時間tにおけるラグは、diffとして示される。したがって、パラメータdiffは、リアルタイムの検出された演奏者のイベントの拍単位の楽曲スコア上の位置と、同期されることになる伴奏楽曲の楽曲スコア(拍単位)上の位置との間の違いを正確に反映する。
【0045】
ここで、同期関数Fを以下の通りに表すことができることを示す:
【0046】
【0047】
diff=0の場合、F(x)は単に、F(x)=$tempo*xとなり、ここで$tempoは、モジュールMLMによって提供される実際のテンポ値であり、wは、演奏者の演奏時の楽曲伴奏の次の調整までラグdiffを補正するためにかかった時間に最終的に対応する予測ウィンドウである。
【0048】
時間tにおいて検出された任意のイベント、および拍の進んだ伴奏ラグdiffについて、式F(x)-$tempo*x=diffの単一の解xdiffがあることをさらに示す。この一意の解は、それに関して予測が計算される適応コンテキストを定義し、以下のように、xdiffから伴奏マップの部分を再定義する。
【0049】
【0050】
適応関数A(t)の詳細な説明は、以下で行う。
【0051】
構造によって、伴奏同期の時間マップは、時間t_sync=t+w-xdiffにおける位置およびテンポにおいて、演奏者時間マップに収束する。この数学的構造は、同期時間t_syncまでテンポの連続性を確実にする。
【0052】
図3は、イベントが検出され、伴奏の初期ラグが拍の進んだdiffである(
図3a)、時間tにおいて、伴奏時間マップを更新するための適応動的同期を示す。tからの伴奏マップは、関数Fの置換された部分として定義される。F(x)によって構築される同期時間マップは、
図3(a)に示され、演奏者時間マップへのそれの置換が、
図3(b)に示されている。位置およびテンポは、時間t_syncで収束し、演奏者テンポはその区間において一定のままであると仮定する。この時間マップは、システムが人間の演奏者と対話するごとに常に再評価される。時間t_syncまでのテンポの連続性に気づくことができる。
【0053】
図3の簡単な説明を、以下の通り行うことができる。前の予測から、演奏者の演奏が有する(拍xでカウントされる)予想位置posが、pos(x)=$tempo*xなどの線形関係によって決定される。これは、
図3aの斜めの破線に対応する。しかしながら、演奏者の演奏の位置pと予想位置posとの間にラグdiffが検出される。同期関数F(x)は、上記で定義したように計算され、F(x
diff)-pos(x
diff)=diffのようにx
diffが計算される。したがって次の拍x
diff+wまで、F(x)に基づいて、予測を決定することができる。これは、
図3aの破線の長方形に対応する。
図3aのこの「長方形」はむしろ、
図3bの演奏者時間マップにインポートされ、
【0054】
【0055】
によって与えられる変換関数A(t)を適用することによって置換される。
ここでpは、現在の時間t
0におけるスコア上の演奏者の演奏の現在の位置である。したがってA(t)は、演奏者の演奏が将来の時間t
syncに有する正しい位置を与えるために計算することができる。少なくともこの同期時間t
syncまで、伴奏のテンポは適合される。それは、前の傾きe1と比較するため、新しい傾きe2(
図3bの斜めの破線)に対応する。訂正されたテンポctempoは、このように、現在の時間t
0におけるA(t)の導関数として与えることができ、すなわち以下の通りである。
ctempo=A'(t
0)=F'(x
diff)
これは分析的にわかっている。
【0056】
次に
図2を参照すると、演奏者の演奏に関係する入力信号を受信して、ステップS1が始まる。ステップS2において、あらかじめ記録された楽曲伴奏データにおいて定義されている楽曲スコア中のイベントに関係している演奏者の演奏における音楽イベントを識別するために、音響特徴が入力信号から抽出される。ステップS3において、最新の検出されたイベントのタイミングが、スコア内の対応するイベントのタイミングと比較され、タイミング差に対応するタイムラグdiffが決定される。
【0057】
その時間ラグおよび選択された継続時間w(一般的には楽曲スコアにおける選択された拍数の継続時間)に基づいて、ステップS4において同期関数F(x)を決定することができる。次いで、ステップS5において、xdiffが、F(xdiff)-$tempo*xdiff=diffによって与えられる唯一の解とすることができる。
【0058】
x
diffの決定は次いで、
図3aおよび
図3bを参照しながら上記で説明したように同期マップから演奏者時間マップにシフトするために、ステップS6において決定された変換関数A(t)を使用することを可能にする。演奏者時間マップでは、ステップS7において、あらかじめ記録された伴奏データに基づいて演奏される出力信号のテンポは、
図3bに示すように、出力信号の楽曲スコア上の位置を、将来の次の同期時間t
syncでの入力信号の位置まで滑らかに調整するために、(
図3bの傾きe1から傾きe2に)訂正することができる。ステップS8におけるその同期時間t
syncの後(テストS8からの矢印Y)、プロセスは、入力信号から新しい特徴を抽出することによって再び実施され得る。
【0059】
性質上、この実施形態は、以下の利点に到達することに寄与する。
・ この実施形態は、最先端技術における一貫性問題を解決する。この実施形態は、初期ラグに自動的に適合し、コンテキストに基づいてその範囲を適合させる。数学的形式(mathematical formalism)は、解と全単射である。これは、同一の演奏者時間マップが同じ同期軌道に至ることを意味するが、伝統的な一定ウィンドウではこの値は、コンテキストおよびパラメータに基づいて異なる。
・ 最先端技術がすべての利用可能な方法において不連続性を示すのに対し、この方法は、時間t_syncにおけるテンポ連続性を確実にする。
・ 適応戦略は、タイトおよびルーズとして上記で説明した2つの極値間に、単一フレームワーク内で妥協点を提供する。タイト戦略は、剛性パラメータwの低い値に対応するが、ルーズ戦略は、wのより高い値に対応する。
・ この戦略は、計算効率が良い。予測時間マップが変わらない限り、伴奏同期は伴奏時間マップを使用して1度だけ計算される。最先端技術は、変化にかかわらず、対話のあらゆる段階で計算および予測を必要とする。
【0060】
さらに、ハイレベルな音楽知識が、時間マップの形で同期機構に統合され得る。この目的で、予測が時間マップ上の非線形曲線に拡張される。この拡張は、アッチェレンディ(accelerendi)およびフェルマータなどの(すなわち適応できるテンポを持つ)音楽表現および演奏者のタイミングの他の一般的な表現の音楽的指定を統合するための形式を可能にする。この追加はまた、既存のデータからそのようなパラメータを自動的に知る可能性を容易にする。
・ それは、存在するならば、ハイレベルな音楽知識を、収束の証明とともに数学的形式を使用して既存のフレームワークに追加することを可能にし、通常の従来技術の手作業の(hand-engineering)方法を克服する。
・ それは、区分的線形予測につながる通常の従来技術における「一定のテンポ」の近似を、より現実的な非線形テンポの予測に拡張する。
・ それは、表現的に活用するために、演奏者またはあらかじめ記録された伴奏のいずれかから予測時間マップを自動的に知る可能性を容易にする。
【0061】
通常、ハードウェア実装およびネットワーク通信によって、さらなる待ち時間を強いられる。対話型セットアップにおけるこの待ち時間を補正することは、(無線のオーディオ/ビデオストリーミング同期に見られるような)読取りヘッドの単純な置換に変えることができない。そのような待ち時間の値は、100ミリ秒から、人間の耳の許容可能な心理音響限界をはるかに超える1秒に変動する可能性がある。同期戦略は、この値を任意選択で入力として受け取り、対話型コンテキストに基づいてすべての出力予測を予想する。結果として、(大部分のBluetoothおよびAirMediaストリーミングフォーマットに対応する300msの中域の)比較的小さい値の待ち時間については、ユーザは演奏に先立ってラグを調整する必要はない。本明細書で「物理的時間」の対語として「音楽的時間」で表現する一般的な手法は、そのようなパラメータの自動調整を可能にする。
【0062】
より一般的には、本開示は、実施形態の例として上記で提示した詳細な特徴に限定されず、本開示はさらなる実施形態を包含する。
【0063】
一般的には、「ラウドスピーカー」で「伴奏を演奏する」に関係する表現および「あらかじめ記録された楽曲伴奏」の概念は、広く解釈されるものとする。事実上、方法は、たとえばオーディオおよびビデオを含む、どんな「連続的」メディアにも適用される。実際、ビデオ+オーディオコンテンツは、上記で提示した同じ方法を使用して同様に同期することができる。一般的には、上述の「ラウドスピーカー」は、オーディオ-ビデオプロジェクションに置き換えることができ、ビデオフレームはしたがって、同期のために単に予測の位置出力に基づいて上記で提示したように補間され得る。