(57)【特許請求の範囲】
【請求項１】
演奏における第１イベントに関する検出結果を受け付けるステップと、
前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定するステップと、
前記追従係数に基づいて、前記第２イベントの動作態様を決定するステップと、
を有し、
前記追従係数を決定するステップにおいて、
前記追従係数を、楽曲における前記演奏の位置に応じた値に決定する、
ことを特徴とする制御方法。
【請求項２】
演奏における第１イベントに関する検出結果を受け付けるステップと、
前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定するステップと、
前記追従係数に基づいて、前記第２イベントの動作態様を決定するステップと、
を有し、
前記追従係数を決定するステップにおいて、
前記第２イベントに係る音符の密度に対する前記第１イベントに係る音符の密度の比率に応じた値に、前記追従係数を決定する、
ことを特徴とする制御方法。
【請求項３】
演奏における第１イベントに関する検出結果を受け付けるステップと、
前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定するステップと、
前記追従係数に基づいて、前記第２イベントの動作態様を決定するステップと、
を有し、
前記追従係数を決定するステップにおいて、
前記第２イベントが主旋律に係るイベントである場合には、
前記第２イベントが主旋律に係るイベントでない場合と比較して、
前記追従係数を小さくする、
ことを特徴とする制御方法。
【請求項４】
前記追従係数を決定するステップにおいて、
前記比率が所定の閾値よりも大きい場合には、
前記比率が所定の閾値以下である場合と比較して、
前記追従係数を大きくする、
ことを特徴とする請求項２に記載の制御方法。
【請求項５】
前記第１イベント及び前記第２イベントは、前記演奏における発音のイベントであり、
前記追従係数は、
前記第１イベントに係る発音のタイミングに対する前記第２イベントに係る発音のタイミングの追従の程度、または、
前記第１イベントに係る発音の音量に対する前記第２イベントに係る発音の音量の追従の程度を示す、
ことを特徴とする請求項１乃至４に記載の制御方法。
【請求項６】
前記第２イベントは自動演奏楽器による発音のイベントであり、
前記決定された動作態様に基づいて、前記自動演奏楽器に発音させるステップを有する、
ことを特徴とする請求項１乃至４に記載の制御方法。
【請求項７】
演奏における第１イベントに関する検出結果を受け付ける受付部と、
前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定する係数決定部と、
前記追従係数に基づいて、前記第２イベントの動作態様を決定する動作決定部と、
を有し、
前記係数決定部は、
前記追従係数を、楽曲における前記演奏の位置に応じた値に決定する、
ことを特徴とする制御装置。
【請求項８】
演奏における第１イベントに関する検出結果を受け付ける受付部と、
前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定する係数決定部と、
前記追従係数に基づいて、前記第２イベントの動作態様を決定する動作決定部と、
を有し、
前記係数決定部は、
前記第２イベントに係る音符の密度に対する前記第１イベントに係る音符の密度の比率に応じた値に、前記追従係数を決定する、
ことを特徴とする制御装置。
【請求項９】
演奏における第１イベントに関する検出結果を受け付ける受付部と、
前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定する係数決定部と、
前記追従係数に基づいて、前記第２イベントの動作態様を決定する動作決定部と、
を有し、
前記係数決定部は、
前記第２イベントが主旋律に係るイベントである場合には、
前記第２イベントが主旋律に係るイベントでない場合と比較して、
前記追従係数を小さくする、
ことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御方法、及び、制御装置に関する。
【背景技術】
【０００２】
演奏における発音を示す音信号に基づいて、演奏者による演奏の楽譜上における位置を推定する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−７９１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、演奏者と自動演奏楽器等とが合奏をする合奏システムにおいては、例えば、演奏者による演奏の楽譜上における位置の推定結果に基づいて、自動演奏楽器が次の音を発音するイベントのタイミングを予想する処理が行われる。しかし、このような合奏システムでは、演奏者による演奏と自動演奏楽器による演奏との同期の程度を調整することができなかった。【０００５】
本発明は、上述した事情を鑑みてなされたものであり、演奏者による演奏と自動演奏楽器におる演奏との同期の程度を調整可能とする技術の提供を、解決課題の一つとする。
【課題を解決するための手段】
【０００６】
本発明に係る制御方法は、演奏における第１イベントに関する検出結果を受け付けるステップと、前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定するステップと、前記追従係数に基づいて、前記第２イベントの動作態様を決定するステップと、を有する、ことを特徴とする。【０００７】
また、本発明に係る制御装置は、演奏における第１イベントに関する検出結果を受け付ける受付部と、前記演奏における第２イベントの前記第１イベントに対する追従の程度を示す追従係数を決定する係数決定部と、前記追従係数に基づいて、前記第２イベントの動作態様を決定する動作決定部と、を有する、ことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る合奏システム１の構成の一例を示すブロック図。
【図２】タイミング制御装置１０の機能構成を例示するブロック図。
【図３】タイミング制御装置１０のハードウェア構成を例示するブロック図。
【図４】タイミング制御装置１０の動作を例示するシーケンスチャート。
【図５】発音位置ｕ［ｎ］及び観測ノイズｑ［ｎ］を説明するための説明図。
【図６】変形例５に係る結合係数γの決定方法を例示するフローチャート。
【図７】タイミング制御装置１０の動作を例示するフローチャート。
【発明を実施するための形態】
【０００９】
＜１．構成＞
図１は、本実施形態に係る合奏システム１の構成を示すブロック図である。合奏システム１は、人間の演奏者Ｐと自動演奏楽器３０とが合奏を行うためのシステムである。すなわち、合奏システム１においては、演奏者Ｐの演奏に合わせて自動演奏楽器３０が演奏を行う。合奏システム１は、タイミング制御装置１０、センサー群２０、および、自動演奏楽器３０を有する。本実施形態では、演奏者Ｐ及び自動演奏楽器３０が合奏する楽曲が既知である場合を想定する。すなわち、タイミング制御装置１０は、演奏者Ｐ及び自動演奏楽器３０が合奏する楽曲の楽譜を示す楽曲データを記憶している。
【００１０】
演奏者Ｐは楽器を演奏する。センサー群２０は、演奏者Ｐによる演奏に関する情報を検知する。本実施形態において、センサー群２０は、例えば、演奏者Ｐの前に置かれたマイクロフォンを含む。マイクロフォンは、演奏者Ｐにより演奏される楽器から発せられる演奏音を集音し、集音した演奏音を音信号に変換して出力する。
タイミング制御装置１０は、演奏者Ｐの演奏に追従して自動演奏楽器３０が演奏するタイミングを制御する装置である。タイミング制御装置１０は、センサー群２０から供給される音信号に基づいて、（１）楽譜における演奏の位置の推定（「演奏位置の推定」と称する場合がある）、（２）自動演奏楽器３０による演奏において次の発音がなされるべき時刻（タイミング）の予想（「発音時刻の予想」と称する場合がある）、および、（３）自動演奏楽器３０に対する演奏命令の出力（「演奏命令の出力」と称する場合がある）、の３つの処理を行う。ここで、演奏位置の推定とは、演奏者Ｐおよび自動演奏楽器３０による合奏の楽譜上の位置を推定する処理である。発音時刻の予想とは、演奏位置の推定結果を用いて、自動演奏楽器３０が次の発音を行うべき時刻を予想する処理である。演奏命令の出力とは、自動演奏楽器３０に対する演奏命令を、予想された発音時刻に応じて出力する処理である。なお、演奏における演奏者Ｐによる発音は「第１イベント」の一例であり、演奏における自動演奏楽器３０による発音は「第２イベント」の一例である。以下では、第１イベント及び第２イベントを、「イベント」と総称する場合がある。
自動演奏楽器３０は、タイミング制御装置１０により供給される演奏命令に応じて、人間の操作によらず演奏を行うことが可能な楽器であり、一例としては自動演奏ピアノである。
【００１１】
図２は、タイミング制御装置１０の機能構成を例示するブロック図である。タイミング制御装置１０は、記憶部１１、推定部１２、予想部１３、出力部１４、および表示部１５を有する。
記憶部１１は、各種のデータを記憶する。この例で、記憶部１１は、楽曲データを記憶する。楽曲データは、少なくとも、楽譜により指定される発音のタイミングおよび音高を示す情報を含んでいる。楽曲データが示す発音のタイミングは、例えば、楽譜において設定された単位時間（一例としては３２分音符）を基準として表される。楽曲データは、楽譜により指定される発音のタイミングおよび音高に加え、楽譜により指定される音長、音色、および、音量の少なくとも１つを示す情報を含んでもよい。一例として、楽曲データはＭＩＤＩ（Musical Instrument Digital Interface）形式のデータである。
【００１２】
推定部１２は、入力された音信号を解析し、楽譜における演奏の位置を推定する。推定部１２は、まず、音信号からオンセット時刻（発音開始時刻）および音高に関する情報を抽出する。次に、推定部１２は、抽出された情報から、楽譜における演奏の位置を示す確率的な推定値を計算する。推定部１２は、計算により得られた推定値を出力する。
本実施形態において、推定部１２が出力する推定値には、発音位置ｕ、観測ノイズｑ、および、発音時刻Ｔが含まれる。発音位置ｕは、演奏者Ｐまたは自動演奏楽器３０による演奏において発音された音の楽譜における位置（例えば、５小節目の２拍目）である。観測ノイズｑは、発音位置ｕの観測ノイズ（確率的な揺らぎ）である。発音位置ｕおよび観測ノイズｑは、例えば、楽譜において設定された単位時間を基準として表される。発音時刻Ｔは、演奏者Ｐによる演奏において発音が観測された時刻（時間軸上の位置）である。なお以下の説明では、楽曲の演奏においてｎ番目に発音された音符に対応する発音位置をｕ［ｎ］と表す（ｎは、ｎ≧１を満たす自然数）。他の推定値も同様である。
【００１３】
予想部１３は、推定部１２から供給される推定値を観測値として用いることで、自動演奏楽器３０による演奏において次の発音がなされるべき時刻の予想（発音時刻の予想）を行う。本実施形態では、予想部１３が、いわゆるカルマンフィルタを用いて発音時刻の予想を行う場合を、一例として想定する。
なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
【００１４】
まず、関連技術に係る発音時刻の予想のうち、回帰モデルを用いた発音時刻の予想について説明する。
回帰モデルは、演奏者Ｐおよび自動演奏楽器３０による発音時刻の履歴を用いて次の発音時刻を推定するモデルである。回帰モデルは、例えば次式（１）により表される。
【数１】
0006729699.tif 000002
ここで、発音時刻Ｓ［ｎ］は、自動演奏楽器３０による発音時刻である。発音位置ｕ［ｎ］は、演奏者Ｐによる発音位置である。式（１）に示す回帰モデルでは、「ｊ＋１」個の観測値を用いて、発音時刻の予想を行う場合を想定する（ｊは、１≦ｊ＜ｎを満たす自然数）。なお、式（１）に示す回帰モデルに係る説明では、演奏者Ｐの演奏音と自動演奏楽器３０の演奏音とが区別可能である場合を想定する。行列Ｇｎおよび行列Ｈｎは、回帰係数に相当する行列である。行列Ｇｎおよび行列Ｈｎ並びに係数αｎにおける添え字ｎは、行列Ｇｎおよび行列Ｈｎ並びに係数αｎがｎ番目に演奏された音符に対応する要素であることを示す。つまり、式（１）に示す回帰モデルを用いる場合、行列Ｇｎおよび行列Ｈｎ並びに係数αｎを、楽曲の楽譜に含まれる複数の音符と１対１に対応するように設定することができる。換言すれば、行列Ｇｎおよび行列Ｈｎ並びに係数αｎを、楽譜上の位置に応じて設定することができる。このため、式（１）に示す回帰モデルによれば、楽譜上の位置に応じて、発音時刻Ｓの予想を行うことが可能となる。
【００１５】
次に、関連技術に係る発音時刻の予想のうち、動的モデルを用いた発音時刻の予想について説明する。
動的モデルは、一般的には、例えば以下の処理により、動的モデルによる予想の対象となる動的システムの状態を表す状態ベクトルＶを更新する。
具体的には、動的モデルは、第１に、動的システムの経時的な変化を表す理論上のモデルである状態遷移モデルを用いて、変化前の状態ベクトルＶから、変化後の状態ベクトルＶを予測する。動的モデルは、第２に、状態ベクトルＶと、観測値との関係を表す理論上のモデルである観測モデルを用いて、状態遷移モデルによる状態ベクトルＶの予測値から、観測値を予測する。動的モデルは、第３に、観測モデルにより予測された観測値と、動的モデルの外部から実際に供給される観測値とに基づいて、観測残差を算出する。動的モデルは、第４に、状態遷移モデルによる状態ベクトルＶの予測値を、観測残差を用いて補正することで、更新された状態ベクトルＶを算出する。このようにして、動的モデルは、状態ベクトルＶを更新する。
本実施形態では、一例として、状態ベクトルＶが、演奏位置ｘと速度ｖとを、要素として含むベクトルである場合を想定する。ここで、演奏位置ｘとは、演奏者Ｐまたは自動演奏楽器３０による演奏の楽譜における位置の推定値を表す状態変数である。また、速度ｖとは、演奏者Ｐまたは自動演奏楽器３０による演奏の楽譜における速度（テンポ）の推定値を表す状態変数である。但し、状態ベクトルＶは、演奏位置ｘ及び速度ｖ以外の状態変数を含むものであってもよい。
本実施形態では、一例として、状態遷移モデルが、以下の式（２）により表現され、観測モデルが、以下の式（３）により表現される場合を想定する。
【数２】
0006729699.tif 000003
【数３】
0006729699.tif 000004
ここで、状態ベクトルＶ［ｎ］は、ｎ番目に演奏された音符に対応する演奏位置ｘ［ｎ］及び速度ｖ［ｎ］を含む複数の状態変数を要素とするｋ次元ベクトルである（ｋは、ｋ≧２を満たす自然数）。プロセスノイズｅ［ｎ］は、状態遷移モデルを用いた状態遷移に伴うノイズを表すｋ次元のベクトルである。行列Ａｎは、状態遷移モデルにおける状態ベクトルＶの更新に関する係数を示す行列である。行列Ｏｎは、観測モデルにおいて、観測値（この例では発音位置ｕ）と状態ベクトルＶとの関係を示す行列である。なお、行列や変数等の各種要素に付された添字ｎは、当該要素がｎ番目の音符に対応する要素であることを示している。
【００１６】
式（２）および（３）は、例えば、以下の式（４）および式（５）として具体化することができる。
【数４】
0006729699.tif 000005
【数５】
0006729699.tif 000006
式（４）および（５）から演奏位置ｘ［ｎ］および速度ｖ［ｎ］が得られれば、将来の時刻ｔにおける演奏位置ｘ［ｔ］を次式（６）により得ることができる。
【数６】
0006729699.tif 000007
式（６）による演算結果を、以下の式（７）に適用することで、自動演奏楽器３０が（ｎ＋１）番目の音符を発音すべき発音時刻Ｓ［ｎ＋１］を計算することができる。
【数７】
0006729699.tif 000008
【００１７】
動的モデルは、楽譜上の位置に応じた発音時刻Ｓの予想が可能であるという利点を有する。また、動的モデルは、原則として事前でのパラメータチューニング（学習）が不要であるという利点を有する。
【００１８】
ところで、合奏システム１においては、演奏者Ｐによる演奏と自動演奏楽器３０による演奏との同期の程度を調整したいという要望が存在する場合がある。換言すれば、合奏システム１においては、自動演奏楽器３０による演奏の、演奏者Ｐによる演奏に対する追従の程度を調整したいという要望が存在する場合がある。
しかし、関連技術に係る回帰モデルにおいて、当該要望に対応するためには、例えば、演奏者Ｐによる演奏と自動演奏楽器３０による演奏との同期の程度を様々に変更する場合に、変更されうる様々な同期の程度の各々について、事前での学習を行うことが必要となる。この場合、事前での学習における処理負荷が増大するという問題がある。
また、関連技術に係る動的モデルにおいて、当該要望に対応するためには、例えば、同期の程度をプロセスノイズｅ［ｎ］等により調整することになる。しかし、この場合においても、発音時刻Ｓ［ｎ＋１］は、発音時刻Ｔ［ｎ］等の演奏者Ｐによる発音に係る観測値に基づいて算出されることになるため、同期の程度を柔軟に調整できないことがある。
【００１９】
これに対し本実施形態に係る予想部１３は、関連技術に係る動的モデルをベースとしつつ、関連技術と比較して、自動演奏楽器３０による演奏の演奏者Ｐによる演奏に対する追従の程度をより柔軟に調整可能な態様により、発音時刻Ｓ［ｎ＋１］を予想する。以下、本実施形態に係る予想部１３における処理の一例について説明する。
本実施形態に係る予想部１３は、演奏者Ｐによる演奏に関する動的システムの状態を表す状態ベクトル（「状態ベクトルＶｕ」と称する）と、自動演奏楽器３０による演奏に関する動的システムの状態を表す状態ベクトル（「状態ベクトルＶａ」と称する）と、を更新する。ここで、状態ベクトルＶｕは、演奏者Ｐによる演奏の楽譜における推定位置を表す状態変数である演奏位置ｘｕと、演奏者Ｐによる演奏の楽譜における速度の推定値を表す状態変数である速度ｖｕと、を要素として含むベクトルである。また、状態ベクトルＶａは、自動演奏楽器３０による演奏の楽譜における位置の推定値を表す状態変数である演奏位置ｘａと、自動演奏楽器３０による演奏の楽譜における速度の推定値を表す状態変数である速度ｖａと、を要素として含むベクトルである。なお、以下では、状態ベクトルＶｕに含まれる状態変数（演奏位置ｘｕ及び速度ｖｕ）を、「第１状態変数」と総称し、状態ベクトルＶａに含まれる状態変数（演奏位置ｘａ及び速度ｖａ）を、「第２状態変数」と総称する。
【００２０】
本実施形態に係る予想部１３は、一例として、以下の式（８）〜式（１１）に示す状態遷移モデルを用いて、第１状態変数及び第２状態変数を更新する。このうち、第１状態変数は、状態遷移モデルにおいて、以下の式（８）及び式（１１）により更新される。これら、式（８）及び式（１１）は、式（４）を具体化した式である。また、第２状態変数は、状態遷移モデルにおいて、上述した式（４）の代わりに、以下の式（９）及び式（１０）により更新される。
【数８】
0006729699.tif 000009
【数９】
0006729699.tif 000010
【数１０】
0006729699.tif 000011
【数１１】
0006729699.tif 000012
【００２１】
ここで、プロセスノイズｅｘｕ［ｎ］は、状態遷移モデルにより演奏位置ｘｕ［ｎ］を更新する場合に生じるノイズであり、プロセスノイズｅｘａ［ｎ］は、状態遷移モデルにより演奏位置ｘａ［ｎ］を更新する場合に生じるノイズであり、プロセスノイズｅｖａ［ｎ］は、状態遷移モデルにより速度ｖａ［ｎ］を更新する場合に生じるノイズであり、プロセスノイズｅｖｕ［ｎ］は、状態遷移モデルにより速度ｖｕ［ｎ］を更新する場合に生じるノイズである。また、結合係数γ［ｎ］は、０≦γ［ｎ］≦１を満たす実数である。なお、式（９）において、第１状態変数である演奏位置ｘｕに乗算される値「１−γ［ｎ］」は、「追従係数」の一例である。
本実施形態に係る予想部１３は、式（８）及び式（１１）に示すように、第１状態変数である演奏位置ｘｕ［ｎ−１］及び速度ｖｕ［ｎ−１］を用いて、第１状態変数である演奏位置ｘｕ［ｎ］及び速度ｖｕ［ｎ］を予測する。他方、本実施形態に係る予想部１３は、式（９）及び式（１０）に示すように、第１状態変数である演奏位置ｘｕ［ｎ−１］及び速度ｖｕ［ｎ−１］と、第２状態変数である演奏位置ｘａ［ｎ−１］及び速度ｖａ［ｎ−１］との、一方または両方を用いて、第２状態変数である演奏位置ｘａ［ｎ］及び速度ｖａ［ｎ］を予測する。
また、本実施形態に係る予想部１３は、第１状態変数である演奏位置ｘｕ［ｎ］及び速度ｖｕ［ｎ］の更新において、式（８）及び式（１１）に示す状態遷移モデルと、式（５）に示す観測モデルとを用いる。他方、本実施形態に係る予想部１３は、第２状態変数である演奏位置ｘａ［ｎ］及び速度ｖａ［ｎ］の更新において、式（９）及び式（１０）に示す状態遷移モデルを用いるが、観測モデルを用いない。
式（９）に示すように、本実施形態に係る予想部１３は、第１状態変数（例えば、演奏位置ｘｕ［ｎ−１］）に追従係数（１−γ［ｎ］）を乗算した値と、第２状態変数（例えば、演奏位置ｘａ［ｎ−１］）に結合係数γ［ｎ］を乗算した値と、に基づいて、第２状態変数である演奏位置ｘａ［ｎ］を予測する。このため、本実施形態に係る予想部１３は、結合係数γ［ｎ］の値を調整することにより、自動演奏楽器３０による演奏の、演奏者Ｐによる演奏に対する追従の程度を調整することができる。換言すれば、本実施形態に係る予想部１３は、結合係数γ［ｎ］の値を調整することにより、演奏者Ｐによる演奏と自動演奏楽器３０による演奏との同期の程度を調整することができる。なお、追従係数（１−γ［ｎ］）を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器３０による演奏の、演奏者Ｐによる演奏に対する追従性を高くすることができる。換言すれば、結合係数γ［ｎ］を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器３０による演奏の、演奏者Ｐによる演奏に対する追従性を低くすることができる。
【００２２】
以上において説明したように、本実施形態によれば、結合係数γという単一の係数の値を変更することにより、演奏者Ｐによる演奏と自動演奏楽器３０による演奏との同期の程度を調整することができる。換言すれば、本実施形態によれば、追従係数（１−γ［ｎ］）に基づいて、演奏における自動演奏楽器３０による発音の態様（「第２イベントの動作態様」の一例）を調整することができる。
【００２３】
予想部１３は、受付部１３１、係数決定部１３２、状態変数更新部１３３、および、予想時刻計算部１３４を有する。
受付部１３１は、演奏のタイミングに関する観測値の入力を受け付ける。本実施形態において、演奏のタイミングに関する観測値には、演奏者Ｐによる演奏タイミングに関する第１観測値が含まれる。但し、演奏のタイミングに関する観測値には、第１観測値に加え、自動演奏楽器３０による演奏タイミングに関する第２観測値が含まれていてもよい。ここで、第１観測値とは、演奏者Ｐによる演奏に関する発音位置ｕ（以下、「発音位置ｕｕ」と称する）、および、発音時刻Ｔの総称である。また、第２観測値とは、自動演奏楽器３０による演奏に関する発音位置ｕ（以下、「発音位置ｕａ」と称する）、および、発音時刻Ｓの総称である。受付部１３１は、演奏のタイミングに関する観測値に加え、演奏のタイミングに関する観測値に付随する観測値の入力を受け付ける。本実施形態において、付随する観測値は、演奏者Ｐの演奏に関する観測ノイズｑである。受付部１３１は、受け付けた観測値を記憶部１１に記憶させる。
【００２４】
係数決定部１３２は、結合係数γの値を決定する。結合係数γの値は、例えば、楽譜における演奏の位置に応じてあらかじめ設定される。本実施形態に係る記憶部１１は、例えば、楽譜における演奏の位置と、当該演奏の位置に対応する結合係数γの値と、を対応付けたプロファイル情報を記憶している。そして、係数決定部１３２は、記憶部１１に記憶されたプロファイル情報を参照し、楽譜における演奏の位置に対応する結合係数γの値を取得する。そして、係数決定部１３２は、プロファイル情報から取得した値を、結合係数γの値として設定する。
なお、係数決定部１３２は、結合係数γの値を、例えば、タイミング制御装置１０の操作者（「ユーザ」の一例）による指示に応じた値に決定してもよい。この場合、タイミング制御装置１０は、操作者からの指示を示す操作を受け付けるためのＵＩ（User Interface）を有する。このＵＩは、ソフトウェア的なＵＩ（ソフトウェアにより表示された画面を介したＵＩ）であってもよいし、ハードウェア的なＵＩ（フェーダー等）であってもよい。なお一般的には操作者は演奏者Ｐとは別人であるが、演奏者Ｐが操作者であってもよい。
【００２５】
状態変数更新部１３３は、状態変数（第１状態変数及び第２状態変数）を更新する。具体的には、本実施形態に係る状態変数更新部１３３は、上述した式（５）および式（８）〜式（１１）を用いて、状態変数を更新する。より具体的には、本実施形態に係る状態変数更新部１３３は、式（５）、式（８）、及び、式（１１）を用いて、第１状態変数を更新し、式（９）及び式（１０）を用いて、第２状態変数を更新する。そして、状態変数更新部１３３は、更新された状態変数を出力する。
なお、上述した説明からも明らかなように、状態変数更新部１３３は、係数決定部１３２により決定された値を有する結合係数γに基づいて、第２状態変数を更新する。換言すれば、状態変数更新部１３３は、追従係数（１−γ［ｎ］）に基づいて、第２状態変数を更新する。これにより、本実施形態に係るタイミング制御装置１０は、追従係数（１−γ［ｎ］）に基づいて、演奏における自動演奏楽器３０による発音の態様を調整する。
【００２６】
予想時刻計算部１３４は、更新された状態変数を用いて、自動演奏楽器３０による次の発音の時刻である発音時刻Ｓ［ｎ＋１］を計算する。
具体的には、予想時刻計算部１３４は、まず、式（６）に対して、状態変数更新部１３３により更新された状態変数を適用することで、将来の時刻ｔにおける演奏位置ｘ［ｎ］を計算する。より具体的には、予想時刻計算部１３４は、式（６）に対して、状態変数更新部１３３により更新された演奏位置ｘａ［ｎ］及び速度ｖａ［ｎ］を適用することで、将来の時刻ｔにおける演奏位置ｘ［ｎ＋１］を計算する。次に、予想時刻計算部１３４は、式（７）を用いて、自動演奏楽器３０が（ｎ＋１）番目の音符を発音すべき発音時刻Ｓ［ｎ＋１］を計算する。
なお、予想時刻計算部１３４は、式（６）に対して、状態変数更新部１３３により更新された演奏位置ｘｕ［ｎ］及び速度ｖｕ［ｎ］を適用することで、将来の時刻ｔにおける演奏位置ｘ［ｎ］を計算してもよい。
【００２７】
出力部１４は、予想部１３から入力された発音時刻Ｓ［ｎ＋１］に応じて、自動演奏楽器３０が次に発音すべき音符に対応する演奏命令を自動演奏楽器３０に対して出力する。タイミング制御装置１０は内部クロック（図示略）を有しており、時刻を計測している。演奏命令は所定のデータ形式に従って記述されている。所定のデータ形式とは例えばＭＩＤＩである。演奏命令は、例えば、ノートオンメッセージ、ノート番号、およびベロシティを含む。
【００２８】
表示部１５は、演奏位置の推定結果に関する情報と、自動演奏楽器３０による次の発音時刻の予想結果に関する情報と、を表示する。演奏位置の推定結果に関する情報は、例えば、楽譜、入力された音信号の周波数スペクトログラム、および、演奏位置の推定値の確率分布のうち少なくとも１つを含む。次の発音時刻の予想結果に関する情報は、例えば、状態変数を含む。表示部１５が演奏位置の推定結果に関する情報と次の発音時刻の予想結果に関する情報とを表示することにより、タイミング制御装置１０の操作者（ユーザ）が合奏システム１の動作状態を把握することができる。
【００２９】
図３は、タイミング制御装置１０のハードウェア構成を例示する図である。タイミング制御装置１０は、プロセッサ１０１、メモリ１０２、ストレージ１０３、入出力ＩＦ１０４、および表示装置１０５を有するコンピュータ装置である。
プロセッサ１０１は、例えば、ＣＰＵ（Central Processing Unit）であり、タイミング制御装置１０の各部を制御する。なお、プロセッサ１０１は、ＣＰＵの代わりに、または、ＣＰＵに加えて、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）等の、プログラマブルロジックデバイスを含んで構成されるものであってもよい。また、プロセッサ１０１は、複数のＣＰＵ（または、複数のプログラマブルロジックデバイス）を含むものであってもよい。メモリ１０２は、非一過性の記録媒体であり、例えば、ＲＡＭ（Random Access Memory）等の揮発性メモリである。メモリ１０２は、プロセッサ１０１が後述する制御プログラムを実行する際のワークエリアとして機能する。ストレージ１０３は、非一過性の記録媒体であり、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性メモリである。ストレージ１０３は、タイミング制御装置１０を制御するための制御プログラム等の各種プログラム、および、各種データを記憶する。入出力ＩＦ１０４は、他の装置との間で信号の入力または出力を行うためのインターフェースである。入出力ＩＦ１０４は、例えば、マイクロフォン入力およびＭＩＤＩ出力を含む。表示装置１０５は、各種の情報を出力する装置であり、例えばＬＣＤ（Liquid Crystal Display）を含む。
【００３０】
プロセッサ１０１は、ストレージ１０３に記憶された制御プログラムを実行し、当該制御プログラムに従って動作することで、推定部１２、予想部１３、及び、出力部１４として機能する。メモリ１０２およびストレージ１０３の一方または双方は、記憶部１１としての機能を提供する。表示装置１０５は、表示部１５としての機能を提供する。
【００３１】
＜２．動作＞
図４は、タイミング制御装置１０の動作を例示するシーケンスチャートである。図４のシーケンスチャートは、例えば、プロセッサ１０１が制御プログラムを起動したことを契機として開始される。
【００３２】
ステップＳ１において、推定部１２は、音信号の入力を受け付ける。なお、音信号がアナログ信号である場合、例えば、タイミング制御装置１０に設けられたＤＡ変換器（図示略）によりデジタル信号に変換され、当該デジタル信号に変換された音信号が推定部１２に入力される。
【００３３】
ステップＳ２において、推定部１２は、音信号を解析して、楽譜における演奏の位置を推定する。ステップＳ２に係る処理は、例えば以下のとおり行われる。本実施形態において、楽譜における演奏位置の遷移（楽譜時系列）は確率モデルを用いて記述される。楽譜時系列の記述に確率モデルを用いることにより、演奏の誤り、演奏における繰り返しの省略、演奏におけるテンポの揺らぎ、および、演奏における音高または発音時刻の不確実性等の問題に対処することができる。楽譜時系列を記述する確率モデルとしては、例えば、隠れセミマルコフモデル（Hidden Semi-Markov Model、ＨＳＭＭ）が用いられる。推定部１２は、例えば、音信号をフレームに分割して定Ｑ変換を施すことにより周波数スペクトログラムを得る。推定部１２は、この周波数スペクトログラムから、オンセット時刻および音高を抽出する。推定部１２は、例えば、楽譜における演奏の位置を示す確率的な推定値の分布をDelayed-decisionで逐次推定し、当該分布のピークが楽譜上でオンセットとみなされる位置を通過した時点で、当該分布のラプラス近似および１または複数の統計量を出力する。具体的には、推定部１２は、楽曲データ上に存在するｎ番目の音符に対応する発音を検知すると、当該発音が検知された発音時刻Ｔ［ｎ］と、楽譜における当該発音の確率的な位置を示す分布における楽譜上の平均位置および分散と、を出力する。楽譜上の平均位置が発音位置ｕ［ｎ］の推定値であり、分散が観測ノイズｑ［ｎ］の推定値である。なお、発音位置の推定の詳細は、例えば特開２０１５−７９１８３号公報に記載されている。
【００３４】
図５は、発音位置ｕ［ｎ］及び観測ノイズｑ［ｎ］を例示する説明図である。図５に示す例では、楽譜上の１小節に、４つの音符が含まれている場合を例示している。推定部１２は、当該１小節に含まれる４つの音符に応じた４つの発音と１対１に対応する確率分布Ｐ［１］〜Ｐ［４］を計算する。そして、推定部１２は、当該計算結果に基づいて、発音時刻Ｔ［ｎ］、発音位置ｕ［ｎ］、および、観測ノイズｑ［ｎ］を出力する。
【００３５】
再び図４を参照する。ステップＳ３において、予想部１３は、推定部１２から供給される推定値を観測値として用いて、自動演奏楽器３０による次の発音時刻の予想を行う。以下、ステップＳ３における処理の詳細の一例について説明する。
【００３６】
ステップＳ３において、受付部１３１は、推定部１２から供給される発音位置ｕｕ、発音時刻Ｔ、及び、観測ノイズｑ等の観測値（第１観測値）の入力を受け付ける（ステップＳ３１）。受付部１３１は、これらの観測値を記憶部１１に記憶させる。
【００３７】
ステップＳ３において、係数決定部１３２は、状態変数の更新に用いられる結合係数γの値を決定する（ステップＳ３２）。具体的には、係数決定部１３２は、記憶部１１に記憶されているプロファイル情報を参照し、楽譜における現在の演奏の位置に対応する結合係数γの値を取得し、取得した値を結合係数γに設定する。これにより、楽譜における演奏の位置に応じて、演奏者Ｐによる演奏と自動演奏楽器３０による演奏との同期の程度を調整することが可能となる。すなわち、本実施形態に係るタイミング制御装置１０は、自動演奏楽器３０に対して、楽曲のある部分では演奏者Ｐの演奏に追従した自動演奏を実行させ、また、楽曲の他の部分では演奏者Ｐの演奏によらず主体的な自動演奏を実行させたりすることが可能である。これにより、本実施形態に係るタイミング制御装置１０は、自動演奏楽器３０による演奏に人間らしさを与えることができる。例えば、本実施形態に係るタイミング制御装置１０は、演奏者Ｐの演奏のテンポがはっきりしている場合には、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性よりも、演奏者Ｐの演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器３０に対して自動演奏を実行させることができる。また、例えば、本実施形態に係るタイミング制御装置１０は、演奏者Ｐの演奏のテンポがはっきりしていない場合には、演奏者Ｐの演奏のテンポに対する追従性よりも、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器３０に対して自動演奏を実行させることができる。
【００３８】
ステップＳ３において、状態変数更新部１３３は、入力された観測値を用いて状態変数を更新する（ステップＳ３３）。上述のとおり、ステップＳ３３において、状態変数更新部１３３は、式（５）、式（８）、及び、式（１１）を用いて、第１状態変数を更新し、式（９）及び式（１０）を用いて、第２状態変数を更新する。また、ステップＳ３３において、状態変数更新部１３３は、式（９）に示したとおり、追従係数（１−γ［ｎ］）に基づいて、第２状態変数を更新する。
【００３９】
ステップＳ３において、状態変数更新部１３３は、ステップＳ３３で更新した状態変数を、予想時刻計算部１３４に対して出力する（ステップＳ３４）。具体的には、本実施形態に係る状態変数更新部１３３は、ステップＳ３４において、ステップＳ３３で更新した演奏位置ｘａ［ｎ］及び速度ｖａ［ｎ］を、予想時刻計算部１３４に対して出力する。
【００４０】
ステップＳ３において、予想時刻計算部１３４は、状態変数更新部１３３から入力された状態変数を、式（６）及び式（７）に適用し、（ｎ＋１）番目の音符を発音すべき発音時刻Ｓ［ｎ＋１］を計算する（ステップＳ３５）。具体的には、予想時刻計算部１３４は、ステップＳ３５において、状態変数更新部１３３から入力された演奏位置ｘａ［ｎ］及び速度ｖａ［ｎ］に基づいて、発音時刻Ｓ［ｎ＋１］を計算する。そして、予想時刻計算部１３４は、計算により得られた発音時刻Ｓ［ｎ＋１］を、出力部１４に対して出力する。
【００４１】
予想部１３から入力された発音時刻Ｓ［ｎ＋１］が到来すると、出力部１４は、自動演奏楽器３０が次に発音すべき（ｎ＋１）番目の音符に対応する演奏命令を、自動演奏楽器３０に出力する（ステップＳ４）。なお、実際には、出力部１４および自動演奏楽器３０における処理の遅延を考慮して、予想部１３により予想された発音時刻Ｓ［ｎ＋１］よりも早い時刻に演奏命令を出力する必要があるが、ここではその説明を省略する。自動演奏楽器３０は、タイミング制御装置１０から供給された演奏命令に従って発音する（ステップＳ５）。
【００４２】
あらかじめ決められたタイミングで、予想部１３は、演奏が終了したか判断する。具体的には、予想部１３は、演奏の終了を、例えば、推定部１２により推定された演奏位置に基づいて判断する。演奏位置が所定の終点に達した場合、予想部１３は、演奏が終了したと判断する。予想部１３が、演奏が終了したと判断した場合、タイミング制御装置１０は、図４のシーケンスチャートに示される処理を終了する。一方、予想部１３が、演奏が終了していないと判断した場合、タイミング制御装置１０及び自動演奏楽器３０は、ステップＳ１〜Ｓ５の処理を繰り返し実行する。
【００４３】
なお、図４のシーケンスチャートに示されるタイミング制御装置１０の動作は、図７のフローチャートとしても表現することができる。すなわち、ステップＳ１において、推定部１２は、音信号の入力を受け付ける。ステップＳ２において、推定部１２は、楽譜における演奏の位置を推定する。ステップＳ３１において、受付部１３１は、推定部１２から供給される観測値の入力を受け付ける。ステップＳ３２において、係数決定部１３２は、結合係数γ［ｎ］を決定する。ステップＳ３３において、状態変数更新部１３３は、受付部１３１が受け付けた観測値と、係数決定部１３２により決定された結合係数γ［ｎ］と、を用いて、状態ベクトルＶの有する各状態変数を更新する。ステップＳ３４において、状態変数更新部１３３は、ステップＳ３３において更新した状態変数を、予想時刻計算部１３４に対して出力する。ステップＳ３５において、予想時刻計算部１３４は、状態変数更新部１３３から出力された更新後の状態変数を用いて、発音時刻Ｓ［ｎ＋１］を計算する。ステップＳ４において、出力部１４は、発音時刻Ｓ［ｎ＋１］に基づいて、演奏命令を自動演奏楽器３０に対して出力する。
【００４４】
＜３．変形例＞
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００４５】
＜３−１．変形例１＞
タイミング制御装置１０によるタイミングの制御の対象となる装置（以下「制御対象装置」という）は、自動演奏楽器３０に限定されない。すなわち、予想部１３がタイミングを予想する「イベント」は、自動演奏楽器３０による発音に限定されない。制御対象装置は、例えば、演奏者Ｐの演奏と同期して変化する映像を生成する装置（例えば、リアルタイムで変化するコンピュータグラフィックスを生成する装置）であってもよいし、演奏者Ｐの演奏と同期して映像を変化させる表示装置（例えば、プロジェクターまたは直視のディスプレイ）であってもよい。別の例で、制御対象装置は、演奏者Ｐの演奏と同期してダンス等の動作を行うロボットであってもよい。
【００４６】
＜３−２．変形例２＞
演奏者Ｐは人間ではなくてもよい。すなわち、自動演奏楽器３０とは異なる他の自動演奏楽器の演奏音をタイミング制御装置１０に入力してもよい。この例によれば、複数の自動演奏楽器による合奏において、一方の自動演奏楽器の演奏タイミングを、他方の自動演奏楽器の演奏タイミングにリアルタイムで追従させることができる。
【００４７】
＜３−３．変形例３＞
演奏者Ｐおよび自動演奏楽器３０の数は実施形態で例示したものに限定されない。合奏システム１は、演奏者Ｐおよび自動演奏楽器３０の少なくとも一方を２人（２台）以上、含んでいてもよい。
【００４８】
＜３−４．変形例４＞
タイミング制御装置１０の機能構成は実施形態で例示したものに限定されない。図２に例示した機能要素の一部は省略されてもよい。例えば、タイミング制御装置１０は、予想時刻計算部１３４を有さなくてもよい。この場合、タイミング制御装置１０は、状態変数更新部１３３により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部１３３により更新された状態変数が入力される装置であって、タイミング制御装置１０以外の装置において、次のイベントのタイミング（例えば、発音時刻Ｓ［ｎ＋１］）を計算をしてもよい。また、この場合、タイミング制御装置１０以外の装置において、次のイベントのタイミングの計算以外の処理（例えば、状態変数を可視化した画像の表示）を行ってもよい。さらに別の例で、タイミング制御装置１０は、表示部１５を有さなくてもよい。
【００４９】
＜３−５．変形例５＞
上述した実施形態及び変形例において、係数決定部１３２は、結合係数γを、楽譜における現在の演奏の位置に対応する値に決定したが、本発明はこのような態様に限定されるものではない。係数決定部１３２は、例えば、結合係数γの値を、予め定められたデフォルト値、楽譜の解析結果に応じた値、または、ユーザからの指示に応じた値、に決定してもよい。
【００５０】
図６は、変形例５に係る係数決定部１３２による結合係数γの決定方法を例示するフローチャートである。当該フローチャートに係る各処理は、図４に示すステップＳ３２の処理の中で実行される処理である。
図６に示すように、ステップＳ３２において、係数決定部１３２は、結合係数γ［ｎ］の値をデフォルト値に設定する（ステップＳ３２１）。
本変形例において、記憶部１１には、楽曲（または楽譜における演奏の位置）によらない結合係数γ［ｎ］のデフォルト値が記憶されている。係数決定部１３２は、ステップＳ３２１において、記憶部１１に記憶された結合係数γ［ｎ］のデフォルト値を読み出し、当該読み出されたデフォルト値を結合係数γ［ｎ］の値として設定する。
【００５１】
ステップＳ３２において、係数決定部１３２は、楽譜を解析し、当該解析の結果に応じた値を、結合係数γ［ｎ］の値として設定する（ステップＳ３２２）。
具体的には、ステップＳ３２２において、係数決定部１３２は、まず、楽譜を解析することで、自動演奏楽器３０の発音を示す音符の密度に対する、演奏者Ｐの発音を示す音符の密度の比率（以下、「音符密度比」と称する）を算出する。係数決定部１３２は、次に、算出した音符密度比に応じた値を、結合係数γ［ｎ］の値として設定する。換言すれば、係数決定部１３２は、音符密度比に基づいて、追従係数（１−γ［ｎ］）を決定する。
例えば、係数決定部１３２は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、結合係数γ［ｎ］の値が小さくなるように、結合係数γ［ｎ］の値を設定する。換言すれば、係数決定部１３２は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、追従係数（１−γ［ｎ］）の値が大きくなるように、結合係数γ［ｎ］の値を設定する。すなわち、係数決定部１３２は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、自動演奏楽器３０による演奏の、演奏者Ｐによる演奏に対する追従性を高くするように、結合係数γ［ｎ］の値を設定する。
一例として、係数決定部１３２は、次式（１２）に示すように、自動演奏楽器３０の発音を示す音符の密度ＤＡｎと、演奏者Ｐの発音を示す音符の密度ＤＵｎと、に基づいて、結合係数γ［ｎ］の値を設定してもよい。なお、式（１２）において、ＤＡｎを、自動演奏楽器３０により発音された音の密度とし、ＤＵｎを演奏者Ｐにより発音された音の密度としてもよい。
【数１２】
0006729699.tif 000013
【００５２】
ステップＳ３２において、係数決定部１３２は、楽譜を解析し、自動演奏楽器３０の演奏パートが主旋律であるか否かを判断する（ステップＳ３２３）。自動演奏楽器３０の演奏パートが主旋律であるか否かの判断には、周知の技術が用いられる。
自動演奏楽器３０の演奏パートが主旋律であると判断された場合（Ｓ３２３：ＹＥＳ）、係数決定部１３２は、処理をステップＳ３２４に進める。他方、自動演奏楽器３０の演奏パートが主旋律でないと判断された場合（Ｓ３２３：ＮＯ）、係数決定部１３２は、処理をステップＳ３２５に進める。
【００５３】
ステップＳ３２において、係数決定部１３２は、結合係数γ［ｎ］の値をより大きな値に更新する（ステップＳ３２４）。
例えば、係数決定部１３２は、ステップＳ３２４において、結合係数γ［ｎ］の値を、式（１２）の右辺が示す値よりも大きな値に更新する。例えば、係数決定部１３２は、式（１２）の右辺が示す値に、あらかじめ決められた非負の加算値を加算することにより、更新後の結合係数γ［ｎ］を算出してもよい。また、例えば、係数決定部１３２は、式（１２）の右辺が示す値に、あらかじめ決められた１よりも大きい係数を乗算することにより、更新後の結合係数γ［ｎ］を算出してもよい。なお、係数決定部１３２は、更新後の結合係数γ［ｎ］を、所定の上限値以下となるように決定してもよい。
【００５４】
ステップＳ３２において、係数決定部１３２は、リハーサル等におけるユーザの指示に応じて、結合係数γ［ｎ］の値を更新する（ステップＳ３２５）。
本変形例において、記憶部１１には、リハーサル等におけるユーザの指示の内容を示す指示情報が記憶されている。指示情報は、例えば、演奏の主導権を握る演奏パートを特定する情報を含む。演奏の主導権を握る演奏パートを特定する情報とは、例えば、演奏の主導権を握る演奏パートが、演奏者Ｐまたは自動演奏楽器３０の何れであるかを特定する情報である。なお、演奏の主導権を握る演奏パートを特定する情報は、楽譜における演奏の位置に応じて設定されてもよい。また、指示情報は、リハーサル等におけるユーザの指示が無い場合には、ユーザからの指示が無い旨を示す情報であってもよい。
ステップＳ３２５において、係数決定部１３２は、指示情報が、演奏者Ｐが主導権を握ることを示す情報である場合、結合係数γ［ｎ］の値をより小さな値に更新する。他方、係数決定部１３２は、指示情報が、自動演奏楽器３０が主導権を握ることを示す情報である場合、結合係数γ［ｎ］の値をより大きな値に更新する。また、係数決定部１３２は、指示情報が、ユーザからの指示が無い旨を示す情報である場合、結合係数γ［ｎ］の値を更新しない。
【００５５】
このように、図６の例では、指示情報により示すことが可能なユーザの指示内容が、演奏者Ｐが主導権を握ることを指示する内容、自動演奏楽器３０が主導権を握ることを指示する内容、及び、ユーザからの指示が無い旨を示す内容、の３種類の内容である場合を想定しているが、指示情報はこのような例に限定されない。指示情報により示すことが可能なユーザの指示内容は、３種類よりも多くてもよい。例えば、指示情報により示されるユーザの指示内容は、主導権の程度を示す複数のレベル（一例としては、主導権大、中、および、小）を示すことが可能な情報であって、当該複数のレベルの中から、一のレベルを指定する内容であってもよい。
【００５６】
ステップＳ３２において、係数決定部１３２は、ステップＳ３２１〜Ｓ３２５の処理を経て決定された結合係数γ［ｎ］の値を、状態変数更新部１３３に出力する（ステップＳ３２６）。
【００５７】
なお、図６に示す例では、結合係数γ［ｎ］を決定するための判断要素として、「ユーザの指示（リハーサル結果）」、「主旋律に係る演奏パート」、「音符密度比」、及び、「デフォルト値」、という４つの判断要素を例示した。また、図６に示す例では、当該４つの判断要素の、結合係数γ［ｎ］の決定における優先順位が、「ユーザの指示」＞「主旋律に係る演奏パート」＞「音符密度比」＞「デフォルト値」、という優先順位である場合を例示した。
但し、本発明はこのような態様に限定されるものではない。係数決定部１３２は、結合係数γ［ｎ］を決定する場合に、上述した４つの判断要素の一部のみを使用してもよい。すなわち、係数決定部１３２が結合係数γ［ｎ］を決定する処理は、図６に示すステップＳ３２１〜Ｓ３２６の処理のうち、少なくとも、ステップＳ３２１の処理、ステップＳ３２２の処理、ステップＳ３２３及びＳ３２４の処理、並びに、ステップＳ３２５の処理うち、少なくとも１つの処理と、ステップＳ３２６の処理と、を含めばよい。
また、結合係数γ［ｎ］の決定における判断要素の優先順位は、図６に示す例に限定されるものではなく、任意の優先順位としてもよい。例えば、「主旋律に係る演奏パート」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「主旋律に係る演奏パート」の優先順位よりも高くしてもよい。換言すれば、図６に示すステップＳ３２１〜Ｓ３２６の処理は、適宜に並べ替えてもよい。
【００５８】
＜３−６．変形例６＞
上述した実施形態に係る動的モデルでは、単一の時刻における観測値（発音位置ｕ［ｎ］及び観測ノイズｑ［ｎ］）を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してもよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式（５）に代えて次式（１３）が用いられてもよい。
【数１３】
0006729699.tif 000014
ここで、行列Ｏｎは、観測モデルにおいて、複数の観測値（この例では発音位置ｕ［ｎ−１］，ｕ［ｎ−２］，…，ｕ［ｎ−ｊ］）と、演奏位置ｘ［ｎ］及び速度ｖ［ｎ］との、関係を示す行列である。本変形例のように、複数の時刻における複数の観測値を用いて状態変数を更新することにより、単一の時刻における観測値を用いて状態変数を更新する場合と比較して、観測値に生じる突発的なノイズの、発音時刻Ｓ［ｎ＋１］の予想に対する影響を抑制することができる。
【００５９】
＜３−７．変形例７＞
上述した実施形態及び変形例では、第１観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第１観測値及び第２観測値の両方を用いて状態変数を更新してもよい。
【００６０】
例えば、状態遷移モデルによる演奏位置ｘａ［ｎ］の更新において、式（９）に代えて、以下の式（１４）を用いてもよい。なお、式（９）では、観測値として、第１観測値である発音時刻Ｔのみを利用するのに対して、式（１４）では、観測値として、第１観測値である発音時刻Ｔと、第２観測値である発音時刻Ｓと、を利用する。
【数１４】
0006729699.tif 000015
【００６１】
また、例えば、状態遷移モデルによる演奏位置ｘｕ［ｎ］及び演奏位置ｘａ［ｎ］の更新において、式（８）に代えて、以下の式（１５）を用い、式（９）に代えて、以下の式（１６）を用いてもよい。ここで、以下の式（１５）及び式（１６）に登場する発音時刻Ｚとは、発音時刻Ｓ及び発音時刻Ｔの総称である。
【数１５】
0006729699.tif 000016
【００６２】
また、本変形例のように、状態遷移モデルにおいて、第１観測値及び第２観測値の両方を用いる場合、観測モデルにおいても、第１観測値及び第２観測値の両方を用いてもよい。具体的には、観測モデルにおいて、上述した実施形態に係る式（５）を具体化した式（１７）に加え、以下の式（１８）を用いることで、状態変数を更新してもよい。
【数１６】
0006729699.tif 000017
【００６３】
なお、本変形例のように、第１観測値及び第２観測値の両方を用いて状態変数を更新する場合、状態変数更新部１３３は、受付部１３１から第１観測値（発音位置ｕｕ及び発音時刻Ｔ）を受け付け、予想時刻計算部１３４から第２観測値（発音位置ｕａ及び発音時刻Ｓ）を受け付けてもよい。
【００６４】
＜３−８．変形例８＞
上述した実施形態及び変形例では、タイミング制御装置１０により、自動演奏楽器３０による発音の時刻（タイミング）を制御したが、本発明はこのような態様に限定されるものではなく、タイミング制御装置１０により、自動演奏楽器３０による発音の音量を制御してもよい。すなわち、タイミング制御装置１０による制御の対象である、自動演奏楽器３０による発音の態様は、自動演奏楽器３０による発音の音量であってもよい。換言すれば、タイミング制御装置１０は、結合係数γの値を調整することにより、自動演奏楽器３０による演奏における発音の音量の、演奏者Ｐによる演奏における発音の音量に対する追従性を調整してもよい。
更に、タイミング制御装置１０は、自動演奏楽器３０による発音の時刻（タイミング）と、自動演奏楽器３０による発音の音量との、双方を制御してもよい。
【００６５】
＜３−９．変形例９＞
上述した実施形態及び変形例では、予想時刻計算部１３４が式（６）を用いて、将来の時刻ｔにおける演奏位置ｘ［ｔ］を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部１３３が、状態変数を更新する動的モデルを用いて、演奏位置ｘ［ｎ＋１］を算出してもよい。
【００６６】
＜３−１０．変形例１０＞
センサー群２０により検知される演奏者Ｐの挙動は、演奏音に限定されない。センサー群２０は、演奏音に代えて、または加えて、演奏者Ｐの動きを検知してもよい。この場合、センサー群２０は、カメラまたはモーションセンサーを有する。
【００６７】
＜３−１１．他の変形例＞
推定部１２における演奏位置の推定のアルゴリズムは実施形態で例示したものに限定されない。推定部１２は、あらかじめ与えられた楽譜、および、センサー群２０から入力される音信号に基づいて、楽譜における演奏の位置を推定できるものであれば、どのようなアルゴリズムが適用されてもよい。また、推定部１２から予想部１３に入力される観測値は、実施形態で例示したものに限定されない。演奏のタイミングに関するものであれば、発音位置ｕおよび発音時刻Ｔ以外のどのような観測値が予想部１３に入力されてもよい。
【００６８】
予想部１３において用いられる動的モデルは、実施形態で例示したものに限定されない。上述した実施形態及び変形例において、予想部１３は、状態ベクトルＶａ（第２状態変数）を、観測モデルを用いることなく更新したが、状態遷移モデル及び観測モデルの両方を用いて状態ベクトルＶａを更新してもよい。
また、上述した実施形態及び変形例において、予想部１３は、カルマンフィルタを用いて状態ベクトルＶｕを更新したが、カルマンフィルタ以外のアルゴリズムを用いて状態ベクトルＶを更新してもよい。例えば、予想部１３は、粒子フィルタを用いて状態ベクトルＶを更新してもよい。この場合、粒子フィルタにおいて利用される状態遷移モデルは、上述した式（２）、式（４）、式（８）、または、式（９）でもよいし、これらとは異なる状態遷移モデルを利用してもよい。また、粒子フィルタにおいて用いられる観測モデルは、上述した式（３）、式（５）、式（１０）、または、式（１１）でもよいし、これらとは異なる観測モデルを利用してもよい。
また、演奏位置ｘおよび速度ｖに代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
【００６９】
合奏システム１を構成する各装置のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、具体的なハードウェア構成はどのようなものであってもよい。例えば、タイミング制御装置１０は、単一のプロセッサ１０１が制御プログラムを実行することにより推定部１２、予想部１３、および、出力部１４として機能するのではなく、タイミング制御装置１０は、推定部１２、予想部１３、および、出力部１４のそれぞれに対応する複数のプロセッサを有してもよい。また、物理的に複数の装置が協働して、合奏システム１におけるタイミング制御装置１０として機能してもよい。
【００７０】
タイミング制御装置１０のプロセッサ１０１により実行される制御プログラムは、光ディスク、磁気ディスク、半導体メモリなどの非一過性の記憶媒体により提供されてもよいし、インターネット等の通信回線を介したダウンロードにより提供されてもよい。また、制御プログラムは、図４のすべてのステップを備える必要はない。例えば、このプログラムは、ステップＳ３１、Ｓ３３、およびＳ３４のみ有してもよい。
【００７１】
＜本発明の好適な態様＞
上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
【００７２】
＜第１の態様＞
本発明の第１の態様に係る制御方法は、演奏における第１イベントに関する検出結果を受け付けるステップと、演奏における第２イベントの第１イベントに対する追従の程度を示す追従係数を決定するステップと、追従係数に基づいて、第２イベントの動作態様を決定するステップと、を有する、ことを特徴とする。
この態様によれば、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７３】
＜第２の態様＞
本発明の第２の態様に係る制御方法は、演奏における第１イベントに関する第１観測値を受け付けるステップと、第１観測値を用いて、第１イベントに関する第１状態変数を更新するステップと、更新された第１状態変数に追従係数を乗算した乗算値を用いて、演奏における第２イベントに関する第２状態変数を更新するステップと、を有する、ことを特徴とする。
この態様によれば、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７４】
＜第３の態様＞
本発明の第３の態様に係る制御方法は、第１の態様に係る制御方法であって、追従係数を決定するステップにおいて、追従係数を、楽曲における演奏の位置に応じた値に決定する、ことを特徴とする。
この態様によれば、楽曲における演奏の位置に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７５】
＜第４の態様＞
本発明の第４の態様に係る制御方法は、第１の態様に係る制御方法であって、追従係数を決定するステップにおいて、第２イベントに係る音符の密度に対する第１イベントに係る音符の密度の比率に応じた値に、追従係数を決定する、ことを特徴とする。
この態様によれば、第２イベントに対する第１イベントの音符の密度の比率に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７６】
＜第５の態様＞
本発明の第５の態様に係る制御方法は、第４の態様に係る制御方法であって、追従係数を決定するステップにおいて、比率が所定の閾値よりも大きい場合には、比率が所定の閾値以下である場合と比較して、追従係数を大きくする、ことを特徴とする。
この態様によれば、第２イベントに対する第１イベントの音符の密度の比率に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７７】
＜第６の態様＞
本発明の第６の態様に係る制御方法は、第１の態様に係る制御方法であって、追従係数を決定するステップにおいて、第２イベントが主旋律に係るイベントである場合には、第２イベントが主旋律に係るイベントでない場合と比較して、追従係数を小さくする、ことを特徴とする。
この態様によれば、第２イベントが主旋律に係るイベントであるか否かに応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７８】
＜第７の態様＞
本発明の第７の態様に係る制御方法は、第１の態様に係る制御方法であって、追従係数を決定するステップにおいて、追従係数を、ユーザの指示に応じた値に決定する、ことを特徴とする。
この態様によれば、ユーザの指示に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００７９】
＜第８の態様＞
本発明の第８の態様に係る制御方法は、第１乃至第７の態様に係る制御方法において、第１イベント及び第２イベントは、演奏における発音のイベントであり、追従係数は、第１イベントに係る発音のタイミングに対する第２イベントに係る発音のタイミングの追従の程度、または、第１イベントに係る発音の音量に対する第２イベントに係る発音の音量の追従の程度を示す、ことを特徴とする。
この態様によれば、発音のタイミングまたは発音の音量に関して、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００８０】
＜第９の態様＞
本発明の第９の態様に係る制御方法は、第１または第３乃至第７の態様に係る制御方法において、第２イベントは自動演奏楽器による発音のイベントであり、決定された動作態様に基づいて、自動演奏楽器に発音させるステップを有する、ことを特徴とする。
この態様によれば、自動演奏楽器による発音のイベントの第１イベントに対する追従の程度を調整することができる。
【００８１】
＜第１０の態様＞
本発明の第１０の態様に係る制御方法は、第２の態様に係る制御方法において、楽曲における演奏の位置に応じて、追従係数を定めるステップを有する、ことを特徴とする。
この態様によれば、楽曲における演奏の位置に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００８２】
＜第１１の態様＞
本発明の第１１の態様に係る制御方法は、第２の態様に係る制御方法において、第１イベントに係る音符の密度に対する第２イベントに係る音符の密度の比率に応じて、追従係数を定めるステップを有する、ことを特徴とする。
この態様によれば、第２イベントに対する第１イベントの音符の密度の比率に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００８３】
＜第１２の態様＞
本発明の第１２の態様に係る制御方法は、第２の態様に係る制御方法において、第２イベントが主旋律に係るイベントである場合には、第２イベントが主旋律に係るイベントでない場合と比較して、追従係数が小さくなるように追従係数を定めるステップを有する、ことを特徴とする。
この態様によれば、第２イベントが主旋律に係るイベントであるか否かに応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００８４】
＜第１３の態様＞
本発明の第１３の態様に係る制御方法は、第２の態様に係る制御方法において、追従係数を、ユーザの指示に応じた値に設定するステップを有する、ことを特徴とする。
この態様によれば、ユーザの指示に応じて、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００８５】
＜第１４の態様＞
本発明の第１４の態様に係る制御方法は、第２または第１０乃至第１３の態様に係る制御方法において、第１イベント及び第２イベントは、演奏における発音のイベントであり、第１状態変数及び第２状態変数は、演奏における発音のタイミングまたは音量に関する変数である、ことを特徴とする。
この態様によれば、発音のタイミングまたは発音の音量に関して、第２イベントの第１イベントに対する追従の程度を調整することができる。
【００８６】
＜第１５の態様＞
本発明の第１５の態様に係る制御方法は、第２または第１０乃至第１４の態様に係る制御方法において、第２イベントは自動演奏楽器による発音のイベントであり、更新された第２状態変数に基づいて定められるタイミングで自動演奏楽器に発音させるステップを有する、ことを特徴とする。
この態様によれば、自動演奏楽器による発音のイベントの第１イベントに対する追従の程度を調整することができる。
【００８７】
＜第１６の態様＞
本発明の第１６の態様に係る制御装置は、演奏における第１イベントに関する検出結果を受け付ける受付部と、演奏における第２イベントの第１イベントに対する追従の程度を示す追従係数を決定する係数決定部と、追従係数に基づいて、第２イベントの動作態様を決定する動作決定部と、を有することを特徴とする。
この態様によれば、第２イベントの第１イベントに対する追従の程度を調整することができる。
【符号の説明】
【００８８】
１…合奏システム、１０…タイミング制御装置、１１…記憶部、１２…推定部、１３…予想部、１４…出力部、１５…表示部、２０…センサー群、３０…自動演奏楽器、１０１…プロセッサ、１０２…メモリ、１０３…ストレージ、１０４…入出力ＩＦ、１０５…表示装置、１３１…受付部、１３２…係数決定部、１３３…状態変数更新部、１３４…予想時刻計算部
【図１】
0006729699.tif 000018
【図２】
0006729699.tif 000019
【図３】
0006729699.tif 000020
【図４】
0006729699.tif 000021
【図５】
0006729699.tif 000022
【図６】
0006729699.tif 000023
【図７】
0006729699.tif 000024