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