JP6631714B2 - タイミング制御方法、及び、タイミング制御装置 - Google Patents
タイミング制御方法、及び、タイミング制御装置 Download PDFInfo
- Publication number
- JP6631714B2 JP6631714B2 JP2018528903A JP2018528903A JP6631714B2 JP 6631714 B2 JP6631714 B2 JP 6631714B2 JP 2018528903 A JP2018528903 A JP 2018528903A JP 2018528903 A JP2018528903 A JP 2018528903A JP 6631714 B2 JP6631714 B2 JP 6631714B2
- Authority
- JP
- Japan
- Prior art keywords
- timing
- unit
- performance
- signal
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/40—Rhythm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H5/00—Instruments in which the tones are generated by means of electronic generators
- G10H5/007—Real-time simulation of G10B, G10C, G10D-type instruments using recursive or non-linear techniques, e.g. waveguide networks, recursive algorithms
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10G—REPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
- G10G3/00—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
- G10G3/04—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/325—Synchronizing two or more audio tracks or files according to musical features or musical timings
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/015—Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
Description
本発明は、タイミング制御方法、及び、タイミング制御装置に関する。
演奏における発音を示す音信号に基づいて、演奏者による演奏の楽譜上における位置(演奏位置)を推定する技術が知られている(例えば、特許文献1参照)。
ところで、演奏者と自動演奏楽器等とが合奏をする合奏システムにおいては、例えば、演奏者による演奏位置の推定結果に基づいて、自動演奏楽器が次の音を発音するイベントのタイミングを予想し、当該予想したタイミングに応じて、自動演奏楽器にイベントの実行を命令する。このような合奏システムにおいて、演奏者による演奏位置の推定結果に基づいて、自動演奏楽器によるイベントのタイミングを予想する場合に、当該タイミングを予想する処理が不安定になることがある。しかし、タイミングを予想する処理が不安定になる場合であっても、自動演奏楽器による演奏が不安定になることを防止する必要があった。
本発明は、上述した事情を鑑みてなされたものであり、自動演奏楽器による演奏が不安定になることを防止する技術の提供を、解決課題の一つとする。
本発明に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成するステップと、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する第1出力モード、または、前記楽曲に基づいて定められたタイミングに応じて、前記命令信号を出力する第2出力モードにより、前記命令信号を出力するステップと、を有することを特徴とする。
また、本発明に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成するステップと、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する第1出力モード、または、前記楽曲に基づいて定められたタイミングに応じて、前記命令信号を出力する第2出力モードにより、前記命令信号を出力するステップと、を有する、ことを特徴としてもよい。
また、本発明に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成するステップと、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力するステップと、を有する、ことを特徴としてもよい。
また、本発明に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成する生成部と、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する第1出力モード、または、前記楽曲に基づいて定められたタイミングに応じて、前記命令信号を出力する第2出力モードにより、前記命令信号を出力する出力部と、を有することを特徴とする。
<1.構成>
図1は、本実施形態に係る合奏システム1の構成を示すブロック図である。合奏システム1は、人間の演奏者Pと自動演奏楽器30とが合奏を行うためのシステムである。すなわち、合奏システム1においては、演奏者Pの演奏に合わせて自動演奏楽器30が演奏を行う。合奏システム1は、タイミング制御装置10、センサー群20、および、自動演奏楽器30を有する。本実施形態では、演奏者P及び自動演奏楽器30が合奏する楽曲が既知である場合を想定する。すなわち、タイミング制御装置10は、演奏者P及び自動演奏楽器30が合奏する楽曲の楽譜を示す楽曲データを記憶している。
図1は、本実施形態に係る合奏システム1の構成を示すブロック図である。合奏システム1は、人間の演奏者Pと自動演奏楽器30とが合奏を行うためのシステムである。すなわち、合奏システム1においては、演奏者Pの演奏に合わせて自動演奏楽器30が演奏を行う。合奏システム1は、タイミング制御装置10、センサー群20、および、自動演奏楽器30を有する。本実施形態では、演奏者P及び自動演奏楽器30が合奏する楽曲が既知である場合を想定する。すなわち、タイミング制御装置10は、演奏者P及び自動演奏楽器30が合奏する楽曲の楽譜を示す楽曲データを記憶している。
演奏者Pは楽器を演奏する。センサー群20は、演奏者Pによる演奏に関する情報を検知する。本実施形態において、センサー群20は、例えば、演奏者Pの前に置かれたマイクロフォンを含む。マイクロフォンは、演奏者Pにより演奏される楽器から発せられる演奏音を集音し、集音した演奏音を音信号に変換して出力する。
タイミング制御装置10は、演奏者Pの演奏に追従して自動演奏楽器30が演奏するタイミングを制御する装置である。タイミング制御装置10は、センサー群20から供給される音信号に基づいて、(1)楽譜における演奏の位置の推定(「演奏位置の推定」と称する場合がある)、(2)自動演奏楽器30による演奏において次の発音がなされるべき時刻(タイミング)の予想(「発音時刻の予想」と称する場合がある)、および、(3)自動演奏楽器30に対する演奏命令を示す命令信号の出力(「演奏命令の出力」と称する場合がある)、の3つの処理を行う。ここで、演奏位置の推定とは、演奏者Pおよび自動演奏楽器30による合奏の楽譜上の位置を推定する処理である。発音時刻の予想とは、演奏位置の推定結果を用いて、自動演奏楽器30が次の発音を行うべき時刻を予想する処理である。演奏命令の出力とは、自動演奏楽器30に対する演奏命令を示す命令信号を、予想された発音時刻に応じて出力する処理である。なお、演奏における演奏者Pによる発音は「第1イベント」の一例であり、演奏における自動演奏楽器30による発音は「第2イベント」の一例である。以下では、第1イベント及び第2イベントを、「イベント」と総称する場合がある。
自動演奏楽器30は、タイミング制御装置10により供給される演奏命令に応じて、人間の操作によらず演奏を行うことが可能な楽器であり、一例としては自動演奏ピアノである。
タイミング制御装置10は、演奏者Pの演奏に追従して自動演奏楽器30が演奏するタイミングを制御する装置である。タイミング制御装置10は、センサー群20から供給される音信号に基づいて、(1)楽譜における演奏の位置の推定(「演奏位置の推定」と称する場合がある)、(2)自動演奏楽器30による演奏において次の発音がなされるべき時刻(タイミング)の予想(「発音時刻の予想」と称する場合がある)、および、(3)自動演奏楽器30に対する演奏命令を示す命令信号の出力(「演奏命令の出力」と称する場合がある)、の3つの処理を行う。ここで、演奏位置の推定とは、演奏者Pおよび自動演奏楽器30による合奏の楽譜上の位置を推定する処理である。発音時刻の予想とは、演奏位置の推定結果を用いて、自動演奏楽器30が次の発音を行うべき時刻を予想する処理である。演奏命令の出力とは、自動演奏楽器30に対する演奏命令を示す命令信号を、予想された発音時刻に応じて出力する処理である。なお、演奏における演奏者Pによる発音は「第1イベント」の一例であり、演奏における自動演奏楽器30による発音は「第2イベント」の一例である。以下では、第1イベント及び第2イベントを、「イベント」と総称する場合がある。
自動演奏楽器30は、タイミング制御装置10により供給される演奏命令に応じて、人間の操作によらず演奏を行うことが可能な楽器であり、一例としては自動演奏ピアノである。
図2は、タイミング制御装置10の機能構成を例示するブロック図である。タイミング制御装置10は、タイミング生成部100(「生成部」の一例)、記憶部12、出力部15、および、表示部16を有する。このうち、タイミング生成部100は、第1遮断部11、タイミング出力部13、及び、第3遮断部14を有する。
記憶部12は、各種のデータを記憶する。この例で、記憶部12は、楽曲データを記憶する。楽曲データは、少なくとも、楽譜により指定される発音のタイミングおよび音高を示す情報を含んでいる。楽曲データが示す発音のタイミングは、例えば、楽譜において設定された単位時間(一例としては32分音符)を基準として表される。楽曲データは、楽譜により指定される発音のタイミングおよび音高に加え、楽譜により指定される音長、音色、および、音量の少なくとも1つを示す情報を含んでもよい。一例として、楽曲データはMIDI(Musical Instrument Digital Interface)形式のデータである。
記憶部12は、各種のデータを記憶する。この例で、記憶部12は、楽曲データを記憶する。楽曲データは、少なくとも、楽譜により指定される発音のタイミングおよび音高を示す情報を含んでいる。楽曲データが示す発音のタイミングは、例えば、楽譜において設定された単位時間(一例としては32分音符)を基準として表される。楽曲データは、楽譜により指定される発音のタイミングおよび音高に加え、楽譜により指定される音長、音色、および、音量の少なくとも1つを示す情報を含んでもよい。一例として、楽曲データはMIDI(Musical Instrument Digital Interface)形式のデータである。
タイミング出力部13は、センサー群20から供給される音信号に応じて、自動演奏楽器30による演奏において次の発音がなされるべき時刻を予想する。タイミング出力部13は、推定部131、第2遮断部132、および、予想部133を有する。
推定部131は、入力された音信号を解析し、楽譜における演奏の位置を推定する。推定部131は、まず、音信号からオンセット時刻(発音開始時刻)および音高に関する情報を抽出する。次に、推定部131は、抽出された情報から、楽譜における演奏の位置を示す確率的な推定値を計算する。推定部131は、計算により得られた推定値を出力する。
本実施形態において、推定部131が出力する推定値には、発音位置u、観測ノイズq、および、発音時刻Tが含まれる。発音位置uは、演奏者Pまたは自動演奏楽器30による演奏において発音された音の楽譜における位置(例えば、5小節目の2拍目)である。観測ノイズqは、発音位置uの観測ノイズ(確率的な揺らぎ)である。発音位置uおよび観測ノイズqは、例えば、楽譜において設定された単位時間を基準として表される。発音時刻Tは、演奏者Pによる演奏において発音が観測された時刻(時間軸上の位置)である。なお以下の説明では、楽曲の演奏においてn番目に発音された音符に対応する発音位置をu[n]と表す(nは、n≧1を満たす自然数)。他の推定値も同様である。
推定部131は、入力された音信号を解析し、楽譜における演奏の位置を推定する。推定部131は、まず、音信号からオンセット時刻(発音開始時刻)および音高に関する情報を抽出する。次に、推定部131は、抽出された情報から、楽譜における演奏の位置を示す確率的な推定値を計算する。推定部131は、計算により得られた推定値を出力する。
本実施形態において、推定部131が出力する推定値には、発音位置u、観測ノイズq、および、発音時刻Tが含まれる。発音位置uは、演奏者Pまたは自動演奏楽器30による演奏において発音された音の楽譜における位置(例えば、5小節目の2拍目)である。観測ノイズqは、発音位置uの観測ノイズ(確率的な揺らぎ)である。発音位置uおよび観測ノイズqは、例えば、楽譜において設定された単位時間を基準として表される。発音時刻Tは、演奏者Pによる演奏において発音が観測された時刻(時間軸上の位置)である。なお以下の説明では、楽曲の演奏においてn番目に発音された音符に対応する発音位置をu[n]と表す(nは、n≧1を満たす自然数)。他の推定値も同様である。
予想部133は、推定部131から供給される推定値を観測値として用いることで、自動演奏楽器30による演奏において次の発音がなされるべき時刻の予想(発音時刻の予想)を行う。本実施形態では、予想部133が、いわゆるカルマンフィルタを用いて発音時刻の予想を行う場合を、一例として想定する。
なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
まず、関連技術に係る発音時刻の予想のうち、回帰モデルを用いた発音時刻の予想について説明する。
回帰モデルは、演奏者Pおよび自動演奏楽器30による発音時刻の履歴を用いて次の発音時刻を推定するモデルである。回帰モデルは、例えば次式(1)により表される。
ここで、発音時刻S[n]は、自動演奏楽器30による発音時刻である。発音位置u[n]は、演奏者Pによる発音位置である。式(1)に示す回帰モデルでは、「j+1」個の観測値を用いて、発音時刻の予想を行う場合を想定する(jは、1≦j<nを満たす自然数)。なお、式(1)に示す回帰モデルに係る説明では、演奏者Pの演奏音と自動演奏楽器30の演奏音とが区別可能である場合を想定する。行列Gnおよび行列Hnは、回帰係数に相当する行列である。行列Gnおよび行列Hn並びに係数αnにおける添え字nは、行列Gnおよび行列Hn並びに係数αnがn番目に演奏された音符に対応する要素であることを示す。つまり、式(1)に示す回帰モデルを用いる場合、行列Gnおよび行列Hn並びに係数αnを、楽曲の楽譜に含まれる複数の音符と1対1に対応するように設定することができる。換言すれば、行列Gnおよび行列Hn並びに係数αnを、楽譜上の位置に応じて設定することができる。このため、式(1)に示す回帰モデルによれば、楽譜上の位置に応じて、発音時刻Sの予想を行うことが可能となる。
回帰モデルは、演奏者Pおよび自動演奏楽器30による発音時刻の履歴を用いて次の発音時刻を推定するモデルである。回帰モデルは、例えば次式(1)により表される。
次に、関連技術に係る発音時刻の予想のうち、動的モデルを用いた発音時刻の予想について説明する。
動的モデルは、一般的には、例えば以下の処理により、動的モデルによる予想の対象となる動的システムの状態を表す状態ベクトルVを更新する。
具体的には、動的モデルは、第1に、動的システムの経時的な変化を表す理論上のモデルである状態遷移モデルを用いて、変化前の状態ベクトルVから、変化後の状態ベクトルVを予測する。動的モデルは、第2に、状態ベクトルVと、観測値との関係を表す理論上のモデルである観測モデルを用いて、状態遷移モデルによる状態ベクトルVの予測値から、観測値を予測する。動的モデルは、第3に、観測モデルにより予測された観測値と、動的モデルの外部から実際に供給される観測値とに基づいて、観測残差を算出する。動的モデルは、第4に、状態遷移モデルによる状態ベクトルVの予測値を、観測残差を用いて補正することで、更新された状態ベクトルVを算出する。このようにして、動的モデルは、状態ベクトルVを更新する。
本実施形態では、一例として、状態ベクトルVが、演奏位置xと速度vとを、要素として含むベクトルである場合を想定する。ここで、演奏位置xとは、演奏者Pまたは自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である。また、速度vとは、演奏者Pまたは自動演奏楽器30による演奏の楽譜における速度(テンポ)の推定値を表す状態変数である。但し、状態ベクトルVは、演奏位置x及び速度v以外の状態変数を含むものであってもよい。
本実施形態では、一例として、状態遷移モデルが、以下の式(2)により表現され、観測モデルが、以下の式(3)により表現される場合を想定する。
ここで、状態ベクトルV[n]は、n番目に演奏された音符に対応する演奏位置x[n]及び速度v[n]を含む複数の状態変数を要素とするk次元ベクトルである(kは、k≧2を満たす自然数)。プロセスノイズe[n]は、状態遷移モデルを用いた状態遷移に伴うノイズを表すk次元のベクトルである。行列Anは、状態遷移モデルにおける状態ベクトルVの更新に関する係数を示す行列である。行列Onは、観測モデルにおいて、観測値(この例では発音位置u)と状態ベクトルVとの関係を示す行列である。なお、行列や変数等の各種要素に付された添字nは、当該要素がn番目の音符に対応する要素であることを示している。
動的モデルは、一般的には、例えば以下の処理により、動的モデルによる予想の対象となる動的システムの状態を表す状態ベクトルVを更新する。
具体的には、動的モデルは、第1に、動的システムの経時的な変化を表す理論上のモデルである状態遷移モデルを用いて、変化前の状態ベクトルVから、変化後の状態ベクトルVを予測する。動的モデルは、第2に、状態ベクトルVと、観測値との関係を表す理論上のモデルである観測モデルを用いて、状態遷移モデルによる状態ベクトルVの予測値から、観測値を予測する。動的モデルは、第3に、観測モデルにより予測された観測値と、動的モデルの外部から実際に供給される観測値とに基づいて、観測残差を算出する。動的モデルは、第4に、状態遷移モデルによる状態ベクトルVの予測値を、観測残差を用いて補正することで、更新された状態ベクトルVを算出する。このようにして、動的モデルは、状態ベクトルVを更新する。
本実施形態では、一例として、状態ベクトルVが、演奏位置xと速度vとを、要素として含むベクトルである場合を想定する。ここで、演奏位置xとは、演奏者Pまたは自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である。また、速度vとは、演奏者Pまたは自動演奏楽器30による演奏の楽譜における速度(テンポ)の推定値を表す状態変数である。但し、状態ベクトルVは、演奏位置x及び速度v以外の状態変数を含むものであってもよい。
本実施形態では、一例として、状態遷移モデルが、以下の式(2)により表現され、観測モデルが、以下の式(3)により表現される場合を想定する。
式(2)および(3)は、例えば、以下の式(4)および式(5)として具体化することができる。
式(4)および式(5)から演奏位置x[n]および速度v[n]が得られれば、将来の時刻tにおける演奏位置x[t]を次式(6)により得ることができる。
式(6)による演算結果を、以下の式(7)に適用することで、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算することができる。
動的モデルは、楽譜上の位置に応じた発音時刻Sの予想が可能であるという利点を有する。また、動的モデルは、原則として事前でのパラメータチューニング(学習)が不要であるという利点を有する。
ところで、合奏システム1においては、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整したいという要望が存在する場合がある。換言すれば、合奏システム1においては、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整したいという要望が存在する場合がある。
しかし、関連技術に係る回帰モデルにおいて、当該要望に対応するためには、例えば、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を様々に変更する場合に、変更されうる様々な同期の程度の各々について、事前での学習を行うことが必要となる。この場合、事前での学習における処理負荷が増大するという問題がある。
また、関連技術に係る動的モデルにおいて、当該要望に対応するためには、例えば、同期の程度をプロセスノイズe[n]等により調整することになる。しかし、この場合においても、発音時刻S[n+1]は、発音時刻T[n]等の演奏者Pによる発音に係る観測値に基づいて算出されることになるため、同期の程度を柔軟に調整できないことがある。
しかし、関連技術に係る回帰モデルにおいて、当該要望に対応するためには、例えば、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を様々に変更する場合に、変更されうる様々な同期の程度の各々について、事前での学習を行うことが必要となる。この場合、事前での学習における処理負荷が増大するという問題がある。
また、関連技術に係る動的モデルにおいて、当該要望に対応するためには、例えば、同期の程度をプロセスノイズe[n]等により調整することになる。しかし、この場合においても、発音時刻S[n+1]は、発音時刻T[n]等の演奏者Pによる発音に係る観測値に基づいて算出されることになるため、同期の程度を柔軟に調整できないことがある。
これに対し本実施形態に係る予想部133は、関連技術に係る動的モデルをベースとしつつ、関連技術と比較して、自動演奏楽器30による演奏の演奏者Pによる演奏に対する追従の程度を、より柔軟に調整可能な態様により、発音時刻S[n+1]を予想する。以下、本実施形態に係る予想部133における処理の一例について説明する。
本実施形態に係る予想部133は、演奏者Pによる演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVu」と称する)と、自動演奏楽器30による演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVa」と称する)と、を更新する。ここで、状態ベクトルVuは、演奏者Pによる演奏の楽譜における推定位置を表す状態変数である演奏位置xuと、演奏者Pによる演奏の楽譜における速度の推定値を表す状態変数である速度vuと、を要素として含むベクトルである。また、状態ベクトルVaは、自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である演奏位置xaと、自動演奏楽器30による演奏の楽譜における速度の推定値を表す状態変数である速度vaと、を要素として含むベクトルである。なお、以下では、状態ベクトルVuに含まれる状態変数(演奏位置xu及び速度vu)を、「第1状態変数」と総称し、状態ベクトルVaに含まれる状態変数(演奏位置xa及び速度va)を、「第2状態変数」と総称する。
本実施形態に係る予想部133は、演奏者Pによる演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVu」と称する)と、自動演奏楽器30による演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVa」と称する)と、を更新する。ここで、状態ベクトルVuは、演奏者Pによる演奏の楽譜における推定位置を表す状態変数である演奏位置xuと、演奏者Pによる演奏の楽譜における速度の推定値を表す状態変数である速度vuと、を要素として含むベクトルである。また、状態ベクトルVaは、自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である演奏位置xaと、自動演奏楽器30による演奏の楽譜における速度の推定値を表す状態変数である速度vaと、を要素として含むベクトルである。なお、以下では、状態ベクトルVuに含まれる状態変数(演奏位置xu及び速度vu)を、「第1状態変数」と総称し、状態ベクトルVaに含まれる状態変数(演奏位置xa及び速度va)を、「第2状態変数」と総称する。
本実施形態に係る予想部133は、一例として、以下の式(8)〜式(11)に示す状態遷移モデルを用いて、第1状態変数及び第2状態変数を更新する。このうち、第1状態変数は、状態遷移モデルにおいて、以下の式(8)及び式(11)により更新される。これら、式(8)及び式(11)は、式(4)を具体化した式である。また、第2状態変数は、状態遷移モデルにおいて、上述した式(4)の代わりに、以下の式(9)及び式(10)により更新される。
ここで、プロセスノイズexu[n]は、状態遷移モデルにより演奏位置xu[n]を更新する場合に生じるノイズであり、プロセスノイズexa[n]は、状態遷移モデルにより演奏位置xa[n]を更新する場合に生じるノイズであり、プロセスノイズeva[n]は、状態遷移モデルにより速度va[n]を更新する場合に生じるノイズであり、プロセスノイズevu[n]は、状態遷移モデルにより速度vu[n]を更新する場合に生じるノイズである。また、結合係数γ[n]は、0≦γ[n]≦1を満たす実数である。なお、式(9)において、第1状態変数である演奏位置xuに乗算される値「1−γ[n]」は、「追従係数」の一例である。
本実施形態に係る予想部133は、式(8)及び式(11)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]を用いて、第1状態変数である演奏位置xu[n]及び速度vu[n]を予測する。他方、本実施形態に係る予想部133は、式(9)及び式(10)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]と、第2状態変数である演奏位置xa[n−1]及び速度va[n−1]との、一方または両方を用いて、第2状態変数である演奏位置xa[n]及び速度va[n]を予測する。
また、本実施形態に係る予想部133は、第1状態変数である演奏位置xu[n]及び速度vu[n]の更新において、式(8)及び式(11)に示す状態遷移モデルと、式(5)に示す観測モデルとを用いる。他方、本実施形態に係る予想部133は、第2状態変数である演奏位置xa[n]及び速度va[n]の更新において、式(9)及び式(10)に示す状態遷移モデルを用いるが、観測モデルを用いない。
式(9)に示すように、本実施形態に係る予想部133は、第1状態変数(例えば、演奏位置xu[n−1])に追従係数(1−γ[n])を乗算した値と、第2状態変数(例えば、演奏位置xa[n−1])に結合係数γ[n]を乗算した値と、に基づいて、第2状態変数である演奏位置xa[n]を予測する。このため、本実施形態に係る予想部133は、結合係数γ[n]の値を調整することにより、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整することができる。換言すれば、本実施形態に係る予想部133は、結合係数γ[n]の値を調整することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。なお、追従係数(1−γ[n])を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くすることができる。換言すれば、結合係数γ[n]を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を低くすることができる。
本実施形態に係る予想部133は、式(8)及び式(11)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]を用いて、第1状態変数である演奏位置xu[n]及び速度vu[n]を予測する。他方、本実施形態に係る予想部133は、式(9)及び式(10)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]と、第2状態変数である演奏位置xa[n−1]及び速度va[n−1]との、一方または両方を用いて、第2状態変数である演奏位置xa[n]及び速度va[n]を予測する。
また、本実施形態に係る予想部133は、第1状態変数である演奏位置xu[n]及び速度vu[n]の更新において、式(8)及び式(11)に示す状態遷移モデルと、式(5)に示す観測モデルとを用いる。他方、本実施形態に係る予想部133は、第2状態変数である演奏位置xa[n]及び速度va[n]の更新において、式(9)及び式(10)に示す状態遷移モデルを用いるが、観測モデルを用いない。
式(9)に示すように、本実施形態に係る予想部133は、第1状態変数(例えば、演奏位置xu[n−1])に追従係数(1−γ[n])を乗算した値と、第2状態変数(例えば、演奏位置xa[n−1])に結合係数γ[n]を乗算した値と、に基づいて、第2状態変数である演奏位置xa[n]を予測する。このため、本実施形態に係る予想部133は、結合係数γ[n]の値を調整することにより、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整することができる。換言すれば、本実施形態に係る予想部133は、結合係数γ[n]の値を調整することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。なお、追従係数(1−γ[n])を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くすることができる。換言すれば、結合係数γ[n]を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を低くすることができる。
以上において説明したように、本実施形態によれば、結合係数γという単一の係数の値を変更することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。換言すれば、本実施形態によれば、追従係数(1−γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様を調整することができる。
予想部133は、受付部1331、係数決定部1332、状態変数更新部1333、および、予想時刻計算部1334を有する。
受付部1331は、演奏のタイミングに関する観測値の入力を受け付ける。本実施形態において、演奏のタイミングに関する観測値には、演奏者Pによる演奏タイミングに関する第1観測値が含まれる。但し、演奏のタイミングに関する観測値には、第1観測値に加え、自動演奏楽器30による演奏タイミングに関する第2観測値が含まれていてもよい。ここで、第1観測値とは、演奏者Pによる演奏に関する発音位置u(以下、「発音位置uu」と称する)、および、発音時刻Tの総称である。また、第2観測値とは、自動演奏楽器30による演奏に関する発音位置u(以下、「発音位置ua」と称する)、および、発音時刻Sの総称である。受付部1331は、演奏のタイミングに関する観測値に加え、演奏のタイミングに関する観測値に付随する観測値の入力を受け付ける。本実施形態において、付随する観測値は、演奏者Pの演奏に関する観測ノイズqである。受付部1331は、受け付けた観測値を記憶部12に記憶させる。
受付部1331は、演奏のタイミングに関する観測値の入力を受け付ける。本実施形態において、演奏のタイミングに関する観測値には、演奏者Pによる演奏タイミングに関する第1観測値が含まれる。但し、演奏のタイミングに関する観測値には、第1観測値に加え、自動演奏楽器30による演奏タイミングに関する第2観測値が含まれていてもよい。ここで、第1観測値とは、演奏者Pによる演奏に関する発音位置u(以下、「発音位置uu」と称する)、および、発音時刻Tの総称である。また、第2観測値とは、自動演奏楽器30による演奏に関する発音位置u(以下、「発音位置ua」と称する)、および、発音時刻Sの総称である。受付部1331は、演奏のタイミングに関する観測値に加え、演奏のタイミングに関する観測値に付随する観測値の入力を受け付ける。本実施形態において、付随する観測値は、演奏者Pの演奏に関する観測ノイズqである。受付部1331は、受け付けた観測値を記憶部12に記憶させる。
係数決定部1332は、結合係数γの値を決定する。結合係数γの値は、例えば、楽譜における演奏の位置に応じて、あらかじめ設定される。本実施形態に係る記憶部12は、例えば、楽譜における演奏の位置と、当該演奏の位置に対応する結合係数γの値と、を対応付けたプロファイル情報を記憶している。そして、係数決定部1332は、記憶部12に記憶されたプロファイル情報を参照し、楽譜における演奏の位置に対応する結合係数γの値を取得する。そして、係数決定部1332は、プロファイル情報から取得した値を、結合係数γの値として設定する。
なお、係数決定部1332は、結合係数γの値を、例えば、タイミング制御装置10の操作者(「ユーザ」の一例)による指示に応じた値に決定してもよい。この場合、タイミング制御装置10は、操作者からの指示を示す操作を受け付けるためのUI(User Interface)を有する。このUIはソフトウェア的なUI(ソフトウェアにより表示された画面を介したUI)であってもよいし、ハードウェア的なUI(フェーダー等)であってもよい。なお一般的には操作者は演奏者Pとは別人であるが、演奏者Pが操作者であってもよい。
なお、係数決定部1332は、結合係数γの値を、例えば、タイミング制御装置10の操作者(「ユーザ」の一例)による指示に応じた値に決定してもよい。この場合、タイミング制御装置10は、操作者からの指示を示す操作を受け付けるためのUI(User Interface)を有する。このUIはソフトウェア的なUI(ソフトウェアにより表示された画面を介したUI)であってもよいし、ハードウェア的なUI(フェーダー等)であってもよい。なお一般的には操作者は演奏者Pとは別人であるが、演奏者Pが操作者であってもよい。
状態変数更新部1333は、状態変数(第1状態変数及び第2状態変数)を更新する。具体的には、本実施形態に係る状態変数更新部1333は、上述した式(5)および式(8)〜式(11)を用いて、状態変数を更新する。より具体的には、本実施形態に係る状態変数更新部1333は、式(5)、式(8)、及び、式(11)を用いて、第1状態変数を更新し、式(9)及び式(10)を用いて、第2状態変数を更新する。そして、状態変数更新部1333は、更新された状態変数を出力する。
なお、上述した説明からも明らかなように、状態変数更新部1333は、係数決定部1332により決定された値を有する結合係数γに基づいて、第2状態変数を更新する。換言すれば、状態変数更新部1333は、追従係数(1−γ[n])に基づいて、第2状態変数を更新する。これにより、本実施形態に係るタイミング制御装置10は、追従係数(1−γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様を調整する。
なお、上述した説明からも明らかなように、状態変数更新部1333は、係数決定部1332により決定された値を有する結合係数γに基づいて、第2状態変数を更新する。換言すれば、状態変数更新部1333は、追従係数(1−γ[n])に基づいて、第2状態変数を更新する。これにより、本実施形態に係るタイミング制御装置10は、追従係数(1−γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様を調整する。
予想時刻計算部1334は、更新された状態変数を用いて、自動演奏楽器30による次の発音の時刻である発音時刻S[n+1]を計算する。
具体的には、予想時刻計算部1334は、まず、式(6)に対して、状態変数更新部1333により更新された状態変数を適用することで、将来の時刻tにおける演奏位置x[t]を計算する。より具体的には、予想時刻計算部1334は、式(6)に対して、状態変数更新部1333により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部1334は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。そして、予想時刻計算部1334は、当該計算によって得られた発音時刻S[n+1]を示す信号(「タイミング指定信号」の一例)を出力する。
具体的には、予想時刻計算部1334は、まず、式(6)に対して、状態変数更新部1333により更新された状態変数を適用することで、将来の時刻tにおける演奏位置x[t]を計算する。より具体的には、予想時刻計算部1334は、式(6)に対して、状態変数更新部1333により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部1334は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。そして、予想時刻計算部1334は、当該計算によって得られた発音時刻S[n+1]を示す信号(「タイミング指定信号」の一例)を出力する。
出力部15は、予想部133から入力されたタイミング指定信号の示す発音時刻S[n+1]に応じて、自動演奏楽器30が次に発音すべき音符に対応する演奏命令を示す命令信号を、自動演奏楽器30に対して出力する。タイミング制御装置10は内部クロック(図示略)を有しており、時刻を計測している。演奏命令は所定のデータ形式に従って記述されている。所定のデータ形式とは例えばMIDIである。演奏命令は、例えば、ノートオンメッセージ、ノート番号、およびベロシティを含む。
表示部16は、演奏位置の推定結果に関する情報と、自動演奏楽器30による次の発音時刻の予想結果に関する情報と、を表示する。演奏位置の推定結果に関する情報は、例えば、楽譜、入力された音信号の周波数スペクトログラム、および、演奏位置の推定値の確率分布のうち少なくとも1つを含む。次の発音時刻の予想結果に関する情報は、例えば、状態変数を含む。表示部16が演奏位置の推定結果に関する情報と次の発音時刻の予想結果に関する情報とを表示することにより、タイミング制御装置10の操作者が合奏システム1の動作の状態を把握することができる。
上述のとおり、タイミング生成部100は、第1遮断部11、第2遮断部132、及び、第3遮断部14を有する。以下では、第1遮断部11、第2遮断部132、及び、第3遮断部14を、「遮断部」と総称する場合がある。
遮断部は、遮断部の前段に設けられた構成要素が出力する信号を、遮断部の後段に設けられた構成要素に対して伝達する状態(以下「伝達状態」と称する)と、当該信号の伝達を遮断する状態(以下「遮断状態」と称する)と、のうちいずれかの状態を取り得る。なお、以下では、伝達状態と遮断状態とを、「動作状態」と総称する場合がある。
遮断部は、遮断部の前段に設けられた構成要素が出力する信号を、遮断部の後段に設けられた構成要素に対して伝達する状態(以下「伝達状態」と称する)と、当該信号の伝達を遮断する状態(以下「遮断状態」と称する)と、のうちいずれかの状態を取り得る。なお、以下では、伝達状態と遮断状態とを、「動作状態」と総称する場合がある。
具体的には、第1遮断部11は、センサー群20が出力する音信号を、タイミング出力部13に対して伝達する伝達状態、または、当該音信号のタイミング出力部13への伝達を遮断する遮断状態の、いずれかの状態をとる。
また、第2遮断部132は、推定部131が出力する観測値を、予想部133に対して伝達する伝達状態、または、当該観測値の予想部133への伝達を遮断する遮断状態の、いずれかの状態をとる。
また、第3遮断部14は、タイミング出力部13が出力するタイミング指定信号を、出力部15に対して伝達する伝達状態、または、当該タイミング指定信号の出力部15への伝達を遮断する遮断状態の、いずれかの状態をとる。
なお、遮断部は、当該遮断部の動作状態を示す動作状態情報を、当該遮断部の後段に設けられた構成要素に対して供給してもよい。
また、第2遮断部132は、推定部131が出力する観測値を、予想部133に対して伝達する伝達状態、または、当該観測値の予想部133への伝達を遮断する遮断状態の、いずれかの状態をとる。
また、第3遮断部14は、タイミング出力部13が出力するタイミング指定信号を、出力部15に対して伝達する伝達状態、または、当該タイミング指定信号の出力部15への伝達を遮断する遮断状態の、いずれかの状態をとる。
なお、遮断部は、当該遮断部の動作状態を示す動作状態情報を、当該遮断部の後段に設けられた構成要素に対して供給してもよい。
タイミング生成部100は、第1遮断部11が伝達状態となり、センサー群20が出力する音信号が入力される場合、入力された音信号に基づいてタイミング指定信号を生成する、第1生成モードにより動作する。一方、タイミング生成部100は、第1遮断部11が遮断状態となり、センサー群20が出力する音信号の入力が遮断される場合、音信号を用いずにタイミング指定信号を生成する、第2生成モードにより動作する。
タイミング生成部100のうち、推定部131は、第1遮断部11が遮断状態となり、センサー群20が出力する音信号の入力が遮断される場合、擬似的な観測値を生成し、当該擬似的な観測値を出力する。具体的には、推定部131は、音信号の入力が遮断される場合、例えば、予想部133による過去の演算の結果等に基づいて、擬似的な観測値を生成する。より具体的には、推定部131は、例えば、タイミング制御装置10に設けられたクロック信号生成部(図示省略)から出力されるクロック信号と、予想部133において過去に算出された発音位置uの予測値及び速度v等と、に基づいて、擬似的な観測値を生成し、生成した擬似的な観測値を出力する。
タイミング生成部100のうち、予想部133は、第2遮断部132が遮断状態となり、推定部131が出力する観測値(または擬似的な観測値)の入力が遮断される場合、観測値に基づく発音時刻の予想を行う代わりに、発音時刻S[n+1]の擬似的な予想値を生成し、生成した擬似的な予想値を示すタイミング指定信号を出力する。具体的には、予想部133は、観測値(または擬似的な観測値)の入力が遮断される場合、例えば、予想部133による過去の演算の結果等に基づいて、擬似的な予想値を生成する。より具体的には、予想部133は、例えば、クロック信号と、予想部133において過去に算出されたより速度v及び発音時刻S等と、に基づいて、擬似的な予想値を生成し、生成した擬似的な予想値を出力する。
出力部15は、第3遮断部14が伝達状態となり、タイミング生成部100が出力するタイミング指定信号が入力される場合、入力されたタイミング指定信号に基づいて命令信号を出力する、第1出力モードにより動作する。一方、出力部15は、第3遮断部14が遮断状態となり、タイミング生成部100が出力するタイミング指定信号が遮断される場合、タイミング指定信号を用いずに、楽曲データにより指定される発音のタイミングに基づいて命令信号を出力する、第2出力モードにより動作する。
タイミング制御装置10が、タイミング制御装置10に入力される音信号に基づいて、発音時刻S[n+1]を予想する処理を行う場合に、例えば、音信号が入力されるタイミングの突発的な「ずれ」、または、音信号に重畳するノイズ等に起因して、発音時刻S[n+1]を予想する処理が不安定になることがある。更には、発音時刻S[n+1]を予想する処理が不安定な状態で、当該処理を継続すると、タイミング制御装置10の動作が停止してしまう可能性ある。しかし、例えば、コンサート等においては、発音時刻S[n+1]を予想する処理が不安定になる場合であっても、タイミング制御装置10の動作が停止することを回避し、タイミング制御装置10による演奏命令に基づく自動演奏楽器30の演奏が不安定になることを防止する必要がある。
これに対して、本実施形態では、タイミング制御装置10が、第1遮断部11、第2遮断部132、及び、第3遮断部14を備えるため、音信号に基づいて発音時刻S[n+1]を予想する処理が、不安定な状態のままで継続されることを防止することが可能となる。これにより、タイミング制御装置10の動作が停止することを回避し、タイミング制御装置10による演奏命令に基づく自動演奏楽器30の演奏が不安定になることを防止することができる。
図3は、タイミング制御装置10のハードウェア構成を例示する図である。タイミング制御装置10は、プロセッサ101、メモリ102、ストレージ103、入出力IF104、および、表示装置105を有するコンピュータ装置である。
プロセッサ101は、例えば、CPU(Central Processing Unit)であり、タイミング制御装置10の各部を制御する。なお、プロセッサ101は、CPUの代わりに、または、CPUに加えて、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等の、プログラマブルロジックデバイスを含んで構成されるものであってもよい。また、プロセッサ101は、複数のCPU(または、複数のプログラマブルロジックデバイス)を含むものであってもよい。メモリ102は、非一過性の記録媒体であり、例えば、RAM(Random Access Memory)等の揮発性メモリである。メモリ102は、プロセッサ101が後述する制御プログラムを実行する際のワークエリアとして機能する。ストレージ103は、非一過性の記録媒体であり、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリである。ストレージ103は、タイミング制御装置10を制御するための制御プログラム等の各種プログラム、および、各種データを記憶する。入出力IF104は、他の装置との間で信号の入力または出力を行うためのインターフェースである。入出力IF104は、例えば、マイクロフォン入力およびMIDI出力を含む。表示装置105は、各種の情報を出力する装置であり、例えばLCD(Liquid Crystal Display)を含む。
プロセッサ101は、例えば、CPU(Central Processing Unit)であり、タイミング制御装置10の各部を制御する。なお、プロセッサ101は、CPUの代わりに、または、CPUに加えて、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等の、プログラマブルロジックデバイスを含んで構成されるものであってもよい。また、プロセッサ101は、複数のCPU(または、複数のプログラマブルロジックデバイス)を含むものであってもよい。メモリ102は、非一過性の記録媒体であり、例えば、RAM(Random Access Memory)等の揮発性メモリである。メモリ102は、プロセッサ101が後述する制御プログラムを実行する際のワークエリアとして機能する。ストレージ103は、非一過性の記録媒体であり、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリである。ストレージ103は、タイミング制御装置10を制御するための制御プログラム等の各種プログラム、および、各種データを記憶する。入出力IF104は、他の装置との間で信号の入力または出力を行うためのインターフェースである。入出力IF104は、例えば、マイクロフォン入力およびMIDI出力を含む。表示装置105は、各種の情報を出力する装置であり、例えばLCD(Liquid Crystal Display)を含む。
プロセッサ101は、ストレージ103に記憶された制御プログラムを実行し、当該制御プログラムに従って動作することで、タイミング生成部100、及び、出力部15として機能する。メモリ102およびストレージ103の一方または双方は、記憶部12としての機能を提供する。表示装置105は、表示部16としての機能を提供する。
<2.動作>
<2−1.通常動作>
以下では、遮断部が伝達状態である場合における、タイミング制御装置10の動作を説明する。
<2−1.通常動作>
以下では、遮断部が伝達状態である場合における、タイミング制御装置10の動作を説明する。
図4は、遮断部が伝達状態である場合における、タイミング制御装置10の動作を例示するシーケンスチャートである。図4のシーケンスチャートは、例えば、プロセッサ101が制御プログラムを起動したことを契機として開始される。
ステップS1において、推定部131は、音信号の入力を受け付ける。なお、音信号がアナログの信号である場合、例えば、タイミング制御装置10に設けられたDA変換器(図示略)によりデジタルの信号に変換され、当該デジタルに変換された音信号が推定部131に入力される。
ステップS2において、推定部131は、音信号を解析して、楽譜における演奏の位置を推定する。ステップS2に係る処理は、例えば以下のとおり行われる。本実施形態において、楽譜における演奏位置の遷移(楽譜時系列)は確率モデルを用いて記述される。楽譜時系列の記述に確率モデルを用いることにより、演奏の誤り、演奏における繰り返しの省略、演奏におけるテンポの揺らぎ、および、演奏における音高または発音時刻の不確実性等の問題に対処することができる。楽譜時系列を記述する確率モデルとしては、例えば、隠れセミマルコフモデル(Hidden Semi-Markov Model、HSMM)が用いられる。推定部131は、例えば、音信号をフレームに分割して定Q変換を施すことにより周波数スペクトログラムを得る。推定部131は、この周波数スペクトログラムから、オンセット時刻および音高を抽出する。推定部131は、例えば、楽譜における演奏の位置を示す確率的な推定値の分布をDelayed-decisionで逐次推定し、当該分布のピークが楽譜上でオンセットとみなされる位置を通過した時点で、当該分布のラプラス近似および1または複数の統計量を出力する。具体的には、推定部131は、楽曲データ上に存在するn番目の音符に対応する発音を検知すると、当該発音が検知された発音時刻T[n]と、楽譜における当該発音の確率的な位置を示す分布における楽譜上の平均位置および分散と、を出力する。楽譜上の平均位置が発音位置u[n]の推定値であり、分散が観測ノイズq[n]の推定値である。なお、発音位置の推定の詳細は、例えば特開2015−79183号公報に記載されている。
図5は、発音位置u[n]及び観測ノイズq[n]を例示する説明図である。図5に示す例では、楽譜上の1小節に、4つの音符が含まれている場合を例示している。推定部131は、当該1小節に含まれる4つの音符に応じた4つの発音と1対1に対応する確率分布P[1]〜P[4]を計算する。そして、推定部131は、当該計算結果に基づいて、発音時刻T[n]、発音位置u[n]、および、観測ノイズq[n]を出力する。
再び図4を参照する。ステップS3において、予想部133は、推定部131から供給される推定値を観測値として用いて、自動演奏楽器30による次の発音時刻の予想を行う。以下、ステップS3における処理の詳細の一例について説明する。
ステップS3において、受付部1331は、推定部131から供給される発音位置uu、発音時刻T、及び、観測ノイズq等の観測値(第1観測値)の入力を受け付ける(ステップS31)。受付部1331は、これらの観測値を記憶部12に記憶させる。
ステップS3において、係数決定部1332は、状態変数の更新に用いられる結合係数γの値を決定する(ステップS32)。具体的には、係数決定部1332は、記憶部12に記憶されているプロファイル情報を参照し、楽譜における現在の演奏の位置に対応する結合係数γの値を取得し、取得した値を結合係数γに設定する。これにより、楽譜における演奏の位置に応じて、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することが可能となる。すなわち、本実施形態に係るタイミング制御装置10は、自動演奏楽器30に対して、楽曲のある部分では演奏者Pの演奏に追従した自動演奏を実行させ、また楽曲の他の部分では演奏者Pの演奏によらず主体的な自動演奏を実行させたりすることが可能である。これにより、本実施形態に係るタイミング制御装置10は、自動演奏楽器30による演奏に人間らしさを与えることができる。例えば、本実施形態に係るタイミング制御装置10は、演奏者Pの演奏のテンポがはっきりしている場合には、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性よりも、演奏者Pの演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器30に対して自動演奏を実行させることができる。また、例えば、本実施形態に係るタイミング制御装置10は、演奏者Pの演奏のテンポがはっきりしていない場合には、演奏者Pの演奏のテンポに対する追従性よりも、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器30に対して自動演奏を実行させることができる。
ステップS3において、状態変数更新部1333は、入力された観測値を用いて状態変数を更新する(ステップS33)。上述のとおり、ステップS33において、状態変数更新部1333は、式(5)、式(8)、及び、式(11)を用いて、第1状態変数を更新し、式(9)及び式(10)を用いて、第2状態変数を更新する。また、ステップS33において、状態変数更新部1333は、式(9)に示したとおり、追従係数(1−γ[n])に基づいて、第2状態変数を更新する。
ステップS3において、状態変数更新部1333は、ステップS33で更新した状態変数を、予想時刻計算部1334に出力する(ステップS34)。具体的には、本実施形態に係る状態変数更新部1333は、ステップS34において、ステップS33で更新した演奏位置xa[n]及び速度va[n]を、予想時刻計算部1334に対して出力する。
ステップS3において、予想時刻計算部1334は、状態変数更新部1333から入力された状態変数を、式(6)及び式(7)に適用し、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する(ステップS35)。具体的には、予想時刻計算部1334は、ステップS35において、状態変数更新部1333から入力された演奏位置xa[n]及び速度va[n]に基づいて、発音時刻S[n+1]を計算する。そして、予想時刻計算部1334は、計算により得られた発音時刻S[n+1]を示すタイミング指定信号を出力する。
予想部133から入力された発音時刻S[n+1]が到来すると、出力部15は、自動演奏楽器30が次に発音すべき(n+1)番目の音符に対応する演奏命令を示す命令信号を、自動演奏楽器30に出力する(ステップS4)。なお、実際には出力部15および自動演奏楽器30における処理の遅延を考慮して、予想部133により予想された発音時刻S[n+1]よりも早い時刻に演奏命令を出力する必要があるが、ここではその説明を省略する。自動演奏楽器30は、タイミング制御装置10から供給された演奏命令に従って発音する(ステップS5)。
あらかじめ決められたタイミングで、予想部133は、演奏が終了したか判断する。具体的には、予想部133は、演奏の終了を、例えば、推定部131により推定された演奏位置に基づいて判断する。演奏位置が所定の終点に達した場合、予想部133は、演奏が終了したと判断する。予想部133が、演奏が終了したと判断した場合、タイミング制御装置10は、図4のシーケンスチャートに示される処理を終了する。一方、予想部133が、演奏が終了していないと判断した場合、タイミング制御装置10及び自動演奏楽器30は、ステップS1〜S5の処理を繰り返し実行する。
<2−2.遮断部の動作>
次に、遮断部の動作について説明する。
次に、遮断部の動作について説明する。
図6は、第1遮断部11の動作を例示するフローチャートである。ステップS111において、第1遮断部11は、第1遮断部11の動作状態が変更されたか否かを判定する。第1遮断部11の動作状態は、例えば、タイミング制御装置10の操作者からの指示に基づいて変更される。
そして、第1遮断部11の動作状態が変更された場合(S111:YES)、第1遮断部11は、処理をステップS112に進める。また、第1遮断部11の動作状態が変更されていない場合(S111:NO)、第1遮断部11は、処理をステップS111に進めることで、第1遮断部11の動作状態が変更されるまで待機する。
ステップS112において、第1遮断部11は、第1遮断部11の変更後の動作状態が、遮断状態であるか否かを判定する。第1遮断部11は、変更後の動作状態が遮断状態である場合(S112:YES)、処理をステップS113に進める。第1遮断部11は、変更後の動作状態が伝達状態である場合(S112:NO)、処理をステップS114に進める。
ステップS113において、第1遮断部11は、タイミング出力部13(推定部131)への音信号の伝達を遮断する。この場合、第1遮断部11は、第1遮断部11の動作状態が遮断状態であることを示す動作状態情報を、タイミング出力部13に通知してもよい。そして、推定部131は、第1遮断部11の動作状態が遮断状態に変更された場合、音信号に基づく観測値の生成を中止し、音信号に基づかない擬似的な観測値の生成を開始する。
ステップS114において、第1遮断部11は、タイミング出力部13(推定部131)への音信号の伝達を再開する。この場合、第1遮断部11は、第1遮断部11の動作状態が伝達状態であることを示す動作状態情報を、タイミング出力部13に通知してもよい。そして、推定部131は、第1遮断部11の動作状態が伝達状態に変更された場合、擬似的な観測値の生成を中止し、音信号に基づいた観測値の生成を開始する。
図7は、第2遮断部132の動作を例示するフローチャートである。ステップS121において、第2遮断部132は、第2遮断部132の動作状態が変更されたか否かを判定する。
なお、第2遮断部132の動作状態は、例えば、タイミング制御装置10の操作者からの指示に基づいて変更されてもよい。
また、第2遮断部132の動作状態は、例えば、推定部131が出力する観測値(または、擬似的な観測値)に基づいて変更されてもよい。例えば、第2遮断部132は、推定部131により推定された発音位置uの確率分布があらかじめ決められた条件を満たす場合に、遮断状態に変更されてもよい。より具体的には、第2遮断部132は、楽譜における発音位置uの不確実性がある程度大きい場合、例えば、あらかじめ決められた時間範囲内で楽譜における発音位置uの確率分布が2つ以上のピークを有する場合、または、楽譜における発音位置uの推定位置の分散があらかじめ決められた値を超える場合に、遮断状態に変更されてもよい。
なお、第2遮断部132の動作状態は、例えば、タイミング制御装置10の操作者からの指示に基づいて変更されてもよい。
また、第2遮断部132の動作状態は、例えば、推定部131が出力する観測値(または、擬似的な観測値)に基づいて変更されてもよい。例えば、第2遮断部132は、推定部131により推定された発音位置uの確率分布があらかじめ決められた条件を満たす場合に、遮断状態に変更されてもよい。より具体的には、第2遮断部132は、楽譜における発音位置uの不確実性がある程度大きい場合、例えば、あらかじめ決められた時間範囲内で楽譜における発音位置uの確率分布が2つ以上のピークを有する場合、または、楽譜における発音位置uの推定位置の分散があらかじめ決められた値を超える場合に、遮断状態に変更されてもよい。
そして、第2遮断部132の動作状態が変更された場合(S121:YES)、第2遮断部132は、処理をステップS122に進める。また、第2遮断部132の動作状態が変更されていない場合(S121:NO)、第2遮断部132は、処理をステップS121に進めることで、第2遮断部132の動作状態が変更されるまで待機する。
ステップS122において、第2遮断部132は、第2遮断部132の変更後の動作状態が、遮断状態であるか否かを判定する。第2遮断部132は、変更後の動作状態が遮断状態である場合(S122:YES)、処理をステップS123に進める。第2遮断部132は、変更後の動作状態が伝達状態である場合(S122:NO)、処理をステップS124に進める。
ステップS123において、第2遮断部132は、予想部133への観測値の伝達を遮断する。この場合、第2遮断部132は、第2遮断部132の動作状態が遮断状態であることを示す動作状態情報を、予想部133に通知してもよい。そして、予想部133は、第2遮断部132の動作状態が遮断状態に変更された場合、観測値(または擬似的な観測値)を用いて発音時刻S[n+1]を予想する処理を中止し、観測値(または擬似的な観測値)を用いずに、発音時刻S[n+1]の擬似的な予想値の生成を開始する。
ステップS124において、第2遮断部132は、予想部133への観測値(または擬似的な観測値)の伝達を再開する。この場合、第2遮断部132は、第2遮断部132の動作状態が伝達状態であることを示す動作状態情報を、予想部133に通知してもよい。そして、予想部133は、第2遮断部132の動作状態が伝達状態に変更された場合、発音時刻S[n+1]の擬似的な予想値の生成を中止し、観測値(または擬似的な観測値)に基づいた、発音時刻S[n+1]の予想値を生成を開始する。
図8は、第3遮断部14の動作を例示するフローチャートである。ステップS131において、第3遮断部14は、第3遮断部14の動作状態が変更されたか否かを判定する。
なお、第3遮断部14の動作状態は、例えば、タイミング制御装置10の操作者からの指示に基づいて変更されてもよい。
また、第3遮断部14の動作状態は、例えば、タイミング出力部13が出力するタイミング指定信号に基づいて変更されてもよい。例えば、第3遮断部14は、タイミング指定信号の示す発音時刻S[n+1]と、楽曲データの示す(n+1)番目の音符の発音のタイミングとの誤差が、所定の許容値以上である場合に、遮断状態に変更されてもよい。また、タイミング出力部13は、タイミング指定信号に対して、操作者が第3遮断部14の動作状態を遮断状態に変更することを指示する変更指示情報を含ませてもよい。この場合、第3遮断部14は、タイミング指定信号に含まれる変更指示情報に基づいて、遮断状態に変更されてもよい。
なお、第3遮断部14の動作状態は、例えば、タイミング制御装置10の操作者からの指示に基づいて変更されてもよい。
また、第3遮断部14の動作状態は、例えば、タイミング出力部13が出力するタイミング指定信号に基づいて変更されてもよい。例えば、第3遮断部14は、タイミング指定信号の示す発音時刻S[n+1]と、楽曲データの示す(n+1)番目の音符の発音のタイミングとの誤差が、所定の許容値以上である場合に、遮断状態に変更されてもよい。また、タイミング出力部13は、タイミング指定信号に対して、操作者が第3遮断部14の動作状態を遮断状態に変更することを指示する変更指示情報を含ませてもよい。この場合、第3遮断部14は、タイミング指定信号に含まれる変更指示情報に基づいて、遮断状態に変更されてもよい。
そして、第3遮断部14の動作状態が変更された場合(S131:YES)、第3遮断部14は、処理をステップS132に進める。また、第3遮断部14の動作状態が変更されていない場合(S131:NO)、第3遮断部14は、処理をステップS131に進めることで、第3遮断部14の動作状態が変更されるまで待機する。
ステップS132において、第3遮断部14は、第3遮断部14の変更後の動作状態が、遮断状態であるか否かを判定する。第3遮断部14は、変更後の動作状態が遮断状態である場合(S132:YES)、処理をステップS133に進める。第3遮断部14は、変更後の動作状態が伝達状態である場合(S132:NO)、処理をステップS134に進める。
ステップS133において、第3遮断部14は、出力部15へのタイミング指定信号の伝達を遮断する。この場合、第3遮断部14は、第3遮断部14の動作状態が遮断状態であることを示す動作状態情報を、出力部15に通知してもよい。そして、出力部15は、第3遮断部14の動作状態が遮断状態に変更された場合、タイミング指定信号に基づいて命令信号を出力する、第1出力モードによる動作を中止し、楽曲データにより指定される発音のタイミングに基づいて命令信号を出力する、第2出力モードによる動作を開始する。
ステップS134において、第3遮断部14は、出力部15へのタイミング指定信号の伝達を再開する。この場合、第3遮断部14は、第3遮断部14の動作状態が伝達状態であることを示す動作状態情報を、出力部15に通知してもよい。そして、出力部15は、第3遮断部14の動作状態が伝達状態に変更された場合、第2出力モードによる動作を中止し、第1出力モードによる動作を開始する。
<2−3.タイミング制御装置の動作>
次に、遮断部の動作状態が、伝達状態及び遮断状態の両方の動作状態を取りうる場合における、タイミング制御装置10の動作について説明する。
次に、遮断部の動作状態が、伝達状態及び遮断状態の両方の動作状態を取りうる場合における、タイミング制御装置10の動作について説明する。
図9は、遮断部の動作状態が、伝達状態及び遮断状態の両方の動作状態を取りうる場合における、タイミング制御装置10の動作を例示するフローチャートである。図9のフローチャートに示される処理は、例えば、プロセッサ101が制御プログラムを起動したことを契機として開始される。また、図9のフローチャートに示される処理は、演奏が終了するまでの間、センサー群20から音信号が供給される毎に実行される。
図9に示すように、タイミング生成部100は、第1遮断部11が、音信号を伝達している伝達状態であるか否かを判定する(ステップS200)。
タイミング生成部100は、ステップS200における判定の結果が肯定である場合、つまり、第1遮断部11が伝達状態である場合、第1生成モードによりタイミング指定信号を生成する(ステップS300)。
具体的には、ステップS300において、タイミング生成部100に設けられた推定部131は、音信号に基づいて観測値を生成する(ステップS310)。なお、当該ステップS310の処理は、上述したステップS1及びS2の処理と同様である。次に、タイミング生成部100に設けられた予想部133は、第2遮断部132が、観測値を伝達している伝達状態であるか否かを判定する(ステップS320)。ステップS320における判定の結果が肯定である場合、つまり、第2遮断部132が伝達状態である場合、推定部131から供給される観測値に基づいて、発音時刻S[n+1]の予想値を生成し、当該予想値を示すタイミング指定信号を出力する(ステップS330)。他方、ステップS320における判定の結果が否定である場合、つまり、第2遮断部132が遮断状態である場合、推定部131が出力する観測値を用いることなく、発音時刻S[n+1]の擬似的な予想値を生成し、当該擬似的な予想値を示すタイミング指定信号を出力する(ステップS340)。
具体的には、ステップS300において、タイミング生成部100に設けられた推定部131は、音信号に基づいて観測値を生成する(ステップS310)。なお、当該ステップS310の処理は、上述したステップS1及びS2の処理と同様である。次に、タイミング生成部100に設けられた予想部133は、第2遮断部132が、観測値を伝達している伝達状態であるか否かを判定する(ステップS320)。ステップS320における判定の結果が肯定である場合、つまり、第2遮断部132が伝達状態である場合、推定部131から供給される観測値に基づいて、発音時刻S[n+1]の予想値を生成し、当該予想値を示すタイミング指定信号を出力する(ステップS330)。他方、ステップS320における判定の結果が否定である場合、つまり、第2遮断部132が遮断状態である場合、推定部131が出力する観測値を用いることなく、発音時刻S[n+1]の擬似的な予想値を生成し、当該擬似的な予想値を示すタイミング指定信号を出力する(ステップS340)。
一方、タイミング生成部100は、ステップS200における判定の結果が否定である場合、つまり、第1遮断部11が遮断状態である場合、第2生成モードによりタイミング指定信号を生成する(ステップS400)。
具体的には、ステップS400において、タイミング生成部100に設けられた推定部131は、音信号を用いることなく、擬似的な観測値を生成する(ステップS410)。次に、タイミング生成部100に設けられた予想部133は、第2遮断部132が、擬似的な観測値を伝達している伝達状態であるか否かを判定する(ステップS420)。ステップS420における判定の結果が肯定である場合、つまり、第2遮断部132が伝達状態である場合、推定部131から供給される擬似的な観測値に基づいて、発音時刻S[n+1]の予想値を生成し、当該予想値を示すタイミング指定信号を出力する(ステップS430)。他方、ステップS420における判定の結果が否定である場合、つまり、第2遮断部132が遮断状態である場合、推定部131が出力する擬似的な観測値を用いることなく、発音時刻S[n+1]の擬似的な予想値を生成し、当該擬似的な予想値を示すタイミング指定信号を出力する(ステップS440)。
具体的には、ステップS400において、タイミング生成部100に設けられた推定部131は、音信号を用いることなく、擬似的な観測値を生成する(ステップS410)。次に、タイミング生成部100に設けられた予想部133は、第2遮断部132が、擬似的な観測値を伝達している伝達状態であるか否かを判定する(ステップS420)。ステップS420における判定の結果が肯定である場合、つまり、第2遮断部132が伝達状態である場合、推定部131から供給される擬似的な観測値に基づいて、発音時刻S[n+1]の予想値を生成し、当該予想値を示すタイミング指定信号を出力する(ステップS430)。他方、ステップS420における判定の結果が否定である場合、つまり、第2遮断部132が遮断状態である場合、推定部131が出力する擬似的な観測値を用いることなく、発音時刻S[n+1]の擬似的な予想値を生成し、当該擬似的な予想値を示すタイミング指定信号を出力する(ステップS440)。
図9に示すように、出力部15は、第3遮断部14が、タイミング指定信号を伝達している伝達状態であるか否かを判定する(ステップS500)。
出力部15は、ステップS500における判定の結果が肯定である場合、つまり、第3遮断部14が伝達状態である場合、第1出力モードにより命令信号を出力する(ステップS600)。具体的には、出力部15は、ステップS600において、タイミング生成部100から供給されるタイミング指定信号に基づいて、命令信号を出力する。なお、当該ステップS600の処理は、上述したステップS5の処理と同様である。
一方、出力部15は、ステップS500における判定の結果が否定である場合、つまり、第3遮断部14が遮断状態である場合、第2出力モードにより命令信号を出力する(ステップS700)。具体的には、出力部15は、ステップS700において、タイミング生成部100から供給されるタイミング指定信号を用いずに、楽曲データにより指定される発音のタイミングに基づいて、命令信号を出力する。
以上において説明したように、本実施形態に係るタイミング生成部100は、センサー群20から出力される音信号に基づいてタイミング指定信号を生成する第1生成モードと、センサー群20から出力される音信号を用いずにタイミング指定信号を生成する第2生成モードと、により、タイミング指定信号を生成することができる。このため、本実施形態によれば、例えば、音信号が出力されるタイミングに突発的な「ずれ」が生じる場合や、または、音信号にノイズが重畳する場合等においても、タイミング生成部100から出力されるタイミング指定信号に基づく自動演奏楽器30の演奏が、不安定になることを防止可能である。
また、本実施形態に係る出力部15は、タイミング生成部100から出力されるタイミング指定信号に基づいて命令信号を出力する第1出力モードと、タイミング生成部100から出力されるタイミング指定信号を用いずに命令信号を出力する第2出力モードと、により、命令信号を出力することができる。このため、本実施形態によれば、例えば、タイミング生成部100における処理が不安定である場合等においても、出力部15から出力される命令信号に基づく自動演奏楽器30の演奏が、不安定になることを防止可能である。
<3.変形例>
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
<3−1.変形例1>
タイミング制御装置10によるタイミングの制御の対象となる装置(以下「制御対象装置」という)は、自動演奏楽器30に限定されない。すなわち、予想部133がタイミングを予想する「イベント」は、自動演奏楽器30による発音に限定されない。制御対象装置は、例えば、演奏者Pの演奏と同期して変化する映像を生成する装置(例えば、リアルタイムで変化するコンピュータグラフィックスを生成する装置)であってもよいし、演奏者Pの演奏と同期して映像を変化させる表示装置(例えば、プロジェクターまたは直視のディスプレイ)であってもよい。別の例で、制御対象装置は、演奏者Pの演奏と同期してダンス等の動作を行うロボットであってもよい。
タイミング制御装置10によるタイミングの制御の対象となる装置(以下「制御対象装置」という)は、自動演奏楽器30に限定されない。すなわち、予想部133がタイミングを予想する「イベント」は、自動演奏楽器30による発音に限定されない。制御対象装置は、例えば、演奏者Pの演奏と同期して変化する映像を生成する装置(例えば、リアルタイムで変化するコンピュータグラフィックスを生成する装置)であってもよいし、演奏者Pの演奏と同期して映像を変化させる表示装置(例えば、プロジェクターまたは直視のディスプレイ)であってもよい。別の例で、制御対象装置は、演奏者Pの演奏と同期してダンス等の動作を行うロボットであってもよい。
<3−2.変形例2>
演奏者Pは人間ではなくてもよい。すなわち、自動演奏楽器30とは異なる他の自動演奏楽器の演奏音をタイミング制御装置10に入力してもよい。この例によれば、複数の自動演奏楽器による合奏において、一方の自動演奏楽器の演奏タイミングを、他方の自動演奏楽器の演奏タイミングにリアルタイムで追従させることができる。
演奏者Pは人間ではなくてもよい。すなわち、自動演奏楽器30とは異なる他の自動演奏楽器の演奏音をタイミング制御装置10に入力してもよい。この例によれば、複数の自動演奏楽器による合奏において、一方の自動演奏楽器の演奏タイミングを、他方の自動演奏楽器の演奏タイミングにリアルタイムで追従させることができる。
<3−3.変形例3>
演奏者Pおよび自動演奏楽器30の数は実施形態で例示したものに限定されない。合奏システム1は、演奏者Pおよび自動演奏楽器30の少なくとも一方を2人(2台)以上、含んでいてもよい。
演奏者Pおよび自動演奏楽器30の数は実施形態で例示したものに限定されない。合奏システム1は、演奏者Pおよび自動演奏楽器30の少なくとも一方を2人(2台)以上、含んでいてもよい。
<3−4.変形例4>
タイミング制御装置10の機能構成は実施形態で例示したものに限定されない。図2に例示した機能要素の一部は省略されてもよい。例えば、タイミング制御装置10は、予想時刻計算部1334を有さなくてもよい。この場合、タイミング制御装置10は、状態変数更新部1333により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部1333により更新された状態変数が入力される装置であって、タイミング制御装置10以外の装置において、次のイベントのタイミング(例えば、発音時刻S[n+1])を計算をしてもよい。また、この場合、タイミング制御装置10以外の装置において、次のイベントのタイミングの計算以外の処理(例えば、状態変数を可視化した画像の表示)を行ってもよい。さらに別の例で、タイミング制御装置10は、表示部16を有さなくてもよい。
タイミング制御装置10の機能構成は実施形態で例示したものに限定されない。図2に例示した機能要素の一部は省略されてもよい。例えば、タイミング制御装置10は、予想時刻計算部1334を有さなくてもよい。この場合、タイミング制御装置10は、状態変数更新部1333により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部1333により更新された状態変数が入力される装置であって、タイミング制御装置10以外の装置において、次のイベントのタイミング(例えば、発音時刻S[n+1])を計算をしてもよい。また、この場合、タイミング制御装置10以外の装置において、次のイベントのタイミングの計算以外の処理(例えば、状態変数を可視化した画像の表示)を行ってもよい。さらに別の例で、タイミング制御装置10は、表示部16を有さなくてもよい。
また、タイミング制御装置10のハードウェア構成は実施形態で例示したものに限定されない。例えば、タイミング制御装置10は、それぞれ推定部131、予想部133、および、出力部15としての機能を有する複数のプロセッサを有してもよい。さらに、タイミング制御装置10は、第1遮断部11、第2遮断部132、および、第3遮断部14としての機能を有する複数のハードウェア的なスイッチを有してもよい。すなわち、第1遮断部11、第2遮断部132、および、第3遮断部14の少なくとも1つはハードウェア的なスイッチであってもよい。
<3−5.変形例5>
上述した実施形態及び変形例において、遮断部は、操作者からの指示、または、当該遮断部に入力される信号、に基づいて動作状態を切り替えるが、本発明はこのような態様に限定されるものではない。遮断部は、タイミング制御装置10の動作を不安定にさせる事象の有無に基づいて、動作状態を切り替えることができればよい。
例えば、遮断部は、タイミング制御装置10による消費電力量が所定値を超過した場合に、動作状態を遮断状態に切り替えてもよい。
また、例えば、遮断部は、他の遮断部の動作状態が遮断状態に切り替えられてから、所定の時間が経過した場合に、動作状態を遮断状態に切り替えてもよい。
上述した実施形態及び変形例において、遮断部は、操作者からの指示、または、当該遮断部に入力される信号、に基づいて動作状態を切り替えるが、本発明はこのような態様に限定されるものではない。遮断部は、タイミング制御装置10の動作を不安定にさせる事象の有無に基づいて、動作状態を切り替えることができればよい。
例えば、遮断部は、タイミング制御装置10による消費電力量が所定値を超過した場合に、動作状態を遮断状態に切り替えてもよい。
また、例えば、遮断部は、他の遮断部の動作状態が遮断状態に切り替えられてから、所定の時間が経過した場合に、動作状態を遮断状態に切り替えてもよい。
<3−6.変形例6>
上述した実施形態及び変形例において、タイミング制御装置10は、第1遮断部11、第2遮断部132、及び、第3遮断部14を備えるが、本発明はこのような態様に限定されるものではなく、タイミング制御装置10は、第1遮断部11、第2遮断部132、及び、第3遮断部14のうち、少なくとも1つの遮断部を備えていればよい。
上述した実施形態及び変形例において、タイミング制御装置10は、第1遮断部11、第2遮断部132、及び、第3遮断部14を備えるが、本発明はこのような態様に限定されるものではなく、タイミング制御装置10は、第1遮断部11、第2遮断部132、及び、第3遮断部14のうち、少なくとも1つの遮断部を備えていればよい。
図10は、本変形例の一の態様に係るタイミング制御装置10Aの機能構成を例示するブロック図である。タイミング制御装置10Aは、タイミング生成部100の代わりに、タイミング生成部100Aを有する点を除き、図2に示すタイミング制御装置10と同様に構成される。また、タイミング生成部100Aは、第1遮断部11を具備しない点を除き、図2に示すタイミング生成部100と同様に構成される。
図11は、タイミング制御装置10Aの動作を例示するフローチャートである。図11に示すフローチャートは、ステップS200と、ステップS400とを有さない点を除き、図9に示すフローチャートと同様である。
このようなタイミング制御装置10Aにおいても、出力部15が、タイミング生成部100Aから出力されるタイミング指定信号に基づいて命令信号を出力する第1出力モードと、タイミング生成部100Aから出力されるタイミング指定信号を用いずに命令信号を出力する第2出力モードと、により、命令信号を出力することができるため、例えば、タイミング生成部100Aにおける処理が不安定である場合等においても、出力部15から出力される命令信号に基づく自動演奏楽器30の演奏が、不安定になることを防止可能である。
なお、図10に示すタイミング制御装置10Aは、第2遮断部132を備えるが、このような構成は一例であり、タイミング制御装置10Aは、第2遮断部132を有さなくてもよい。換言すれば、図11に示すフローチャートにおいて、ステップS320及びS340の処理は実行されなくてもよい。
図11は、タイミング制御装置10Aの動作を例示するフローチャートである。図11に示すフローチャートは、ステップS200と、ステップS400とを有さない点を除き、図9に示すフローチャートと同様である。
このようなタイミング制御装置10Aにおいても、出力部15が、タイミング生成部100Aから出力されるタイミング指定信号に基づいて命令信号を出力する第1出力モードと、タイミング生成部100Aから出力されるタイミング指定信号を用いずに命令信号を出力する第2出力モードと、により、命令信号を出力することができるため、例えば、タイミング生成部100Aにおける処理が不安定である場合等においても、出力部15から出力される命令信号に基づく自動演奏楽器30の演奏が、不安定になることを防止可能である。
なお、図10に示すタイミング制御装置10Aは、第2遮断部132を備えるが、このような構成は一例であり、タイミング制御装置10Aは、第2遮断部132を有さなくてもよい。換言すれば、図11に示すフローチャートにおいて、ステップS320及びS340の処理は実行されなくてもよい。
図12は、本変形例の他の態様に係るタイミング制御装置10Bの機能構成を例示するブロック図である。タイミング制御装置10Bは、タイミング生成部100の代わりに、タイミング生成部100Bを有する点を除き、図2に示すタイミング制御装置10と同様に構成される。また、タイミング生成部100Bは、第3遮断部14を具備しない点を除き、図2に示すタイミング生成部100と同様に構成される。
図13は、タイミング制御装置10Bの動作を例示するフローチャートである。図13に示すフローチャートは、ステップS500と、ステップS700とを有さない点を除き、図9に示すフローチャートと同様である。
このようなタイミング制御装置10Bにおいても、タイミング生成部100Bが、センサー群20から入力される音信号に基づいてタイミング指定信号を出力する第1生成モードと、センサー群20から入力される音信号を用いずにタイミング指定信号を出力する第2生成モードと、により、タイミング指定信号を生成することができるため、例えば、音信号が出力されるタイミングに突発的な「ずれ」が生じる場合や、または、音信号にノイズが重畳する場合等においても、タイミング生成部100Bから出力されるタイミング指定信号に基づく自動演奏楽器30の演奏が、不安定になることを防止可能である。
なお、図12に示すタイミング制御装置10Bは、第2遮断部132を備えるが、このような構成は一例であり、タイミング制御装置10Bは、第2遮断部132を有さなくてもよい。換言すれば、図13に示すフローチャートにおいて、ステップS320、S340、S420、及び、S440の処理は実行されなくてもよい。
図13は、タイミング制御装置10Bの動作を例示するフローチャートである。図13に示すフローチャートは、ステップS500と、ステップS700とを有さない点を除き、図9に示すフローチャートと同様である。
このようなタイミング制御装置10Bにおいても、タイミング生成部100Bが、センサー群20から入力される音信号に基づいてタイミング指定信号を出力する第1生成モードと、センサー群20から入力される音信号を用いずにタイミング指定信号を出力する第2生成モードと、により、タイミング指定信号を生成することができるため、例えば、音信号が出力されるタイミングに突発的な「ずれ」が生じる場合や、または、音信号にノイズが重畳する場合等においても、タイミング生成部100Bから出力されるタイミング指定信号に基づく自動演奏楽器30の演奏が、不安定になることを防止可能である。
なお、図12に示すタイミング制御装置10Bは、第2遮断部132を備えるが、このような構成は一例であり、タイミング制御装置10Bは、第2遮断部132を有さなくてもよい。換言すれば、図13に示すフローチャートにおいて、ステップS320、S340、S420、及び、S440の処理は実行されなくてもよい。
<3−7.変形例7>
上述した実施形態に係る動的モデルでは、単一の時刻における観測値(発音位置u[n]及び観測ノイズq[n])を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してももよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式(5)に代えて次式(12)が用いられてもよい。
ここで、行列Onは、観測モデルにおいて、複数の観測値(この例では発音位置u[n−1],u[n−2],…,u[n−j])と、演奏位置x[n]及び速度v[n]との、関係を示す行列である。本変形例のように、複数の時刻における複数の観測値を用いて状態変数を更新することにより、単一の時刻における観測値を用いて状態変数を更新する場合と比較して、観測値に生じる突発的なノイズの、発音時刻S[n+1]の予想に対する影響を抑制することができる。
上述した実施形態に係る動的モデルでは、単一の時刻における観測値(発音位置u[n]及び観測ノイズq[n])を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してももよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式(5)に代えて次式(12)が用いられてもよい。
<3−8.変形例8>
上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
例えば、状態遷移モデルによる演奏位置xa[n]の更新において、式(9)に代えて、以下の式(13)を用いてもよい。なお、式(9)では、観測値として、第1観測値である発音時刻Tのみを利用するのに対して、式(13)では、観測値として、第1観測値である発音時刻Tと、第2観測値である発音時刻Sと、を利用する。
また、例えば、状態遷移モデルによる演奏位置xu[n]及び演奏位置xa[n]の更新において、式(8)に代えて、以下の式(14)を用い、式(9)に代えて、以下の式(15)を用いてもよい。ここで、以下の式(14)及び式(15)に登場する発音時刻Zとは、発音時刻S及び発音時刻Tの総称である。
また、本変形例のように、状態遷移モデルにおいて、第1観測値及び第2観測値の両方を用いる場合、観測モデルにおいても、第1観測値及び第2観測値の両方を用いてもよい。具体的には、観測モデルにおいて、上述した実施形態に係る式(5)を具体化した式(16)に加え、以下の式(17)を用いることで、状態変数を更新してもよい。
なお、本変形例のように、第1観測値及び第2観測値の両方を用いて状態変数を更新する場合、状態変数更新部1333は、受付部1331から第1観測値(発音位置uu及び発音時刻T)を受け付け、予想時刻計算部1334から第2観測値(発音位置ua及び発音時刻S)を受け付けてもよい。
<3−9.変形例9>
上述した実施形態及び変形例では、予想時刻計算部1334が式(6)を用いて、将来の時刻tにおける演奏位置x[t]を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部1333が、状態変数を更新する動的モデルを用いて、演奏位置x[n+1]を算出してもよい。
上述した実施形態及び変形例では、予想時刻計算部1334が式(6)を用いて、将来の時刻tにおける演奏位置x[t]を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部1333が、状態変数を更新する動的モデルを用いて、演奏位置x[n+1]を算出してもよい。
<3−10.変形例10>
センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。
センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。
<3−11.他の変形例>
推定部131における演奏位置の推定のアルゴリズムは実施形態で例示したものに限定されない。推定部131は、あらかじめ与えられた楽譜、および、センサー群20から入力される音信号に基づいて、楽譜における演奏の位置を推定できるものであればどのようなアルゴリズムが適用されてもよい。また、推定部131から予想部133に入力される観測値は、実施形態で例示したものに限定されない。演奏のタイミングに関するものであれば、発音位置uおよび発音時刻T以外のどのような観測値が予想部133に入力されてもよい。
推定部131における演奏位置の推定のアルゴリズムは実施形態で例示したものに限定されない。推定部131は、あらかじめ与えられた楽譜、および、センサー群20から入力される音信号に基づいて、楽譜における演奏の位置を推定できるものであればどのようなアルゴリズムが適用されてもよい。また、推定部131から予想部133に入力される観測値は、実施形態で例示したものに限定されない。演奏のタイミングに関するものであれば、発音位置uおよび発音時刻T以外のどのような観測値が予想部133に入力されてもよい。
予想部133において用いられる動的モデルは、実施形態で例示したものに限定されない。上述した実施形態及び変形例において、予想部133は、状態ベクトルVa(第2状態変数)を、観測モデルを用いることなく更新したが、状態遷移モデル及び観測モデルの両方を用いて状態ベクトルVaを更新してもよい。
また、上述した実施形態及び変形例において、予想部133は、カルマンフィルタを用いて状態ベクトルVuを更新したが、カルマンフィルタ以外のアルゴリズムを用いて状態ベクトルVを更新してもよい。例えば、予想部133は、粒子フィルタを用いて状態ベクトルVを更新してもよい。この場合、粒子フィルタにおいて利用される状態遷移モデルは、上述した式(2)、式(4)、式(8)、または、式(9)でもよいし、これらとは異なる状態遷移モデルを利用してもよい。また、粒子フィルタにおいて用いられる観測モデルは、上述した式(3)、式(5)、式(10)、または、式(11)でもよいし、これらとは異なる観測モデルを利用してもよい。
また、演奏位置xおよび速度vに代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
また、上述した実施形態及び変形例において、予想部133は、カルマンフィルタを用いて状態ベクトルVuを更新したが、カルマンフィルタ以外のアルゴリズムを用いて状態ベクトルVを更新してもよい。例えば、予想部133は、粒子フィルタを用いて状態ベクトルVを更新してもよい。この場合、粒子フィルタにおいて利用される状態遷移モデルは、上述した式(2)、式(4)、式(8)、または、式(9)でもよいし、これらとは異なる状態遷移モデルを利用してもよい。また、粒子フィルタにおいて用いられる観測モデルは、上述した式(3)、式(5)、式(10)、または、式(11)でもよいし、これらとは異なる観測モデルを利用してもよい。
また、演奏位置xおよび速度vに代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
合奏システム1を構成する各装置のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、具体的なハードウェア構成はどのようなものであってもよい。例えば、タイミング制御装置10は、単一のプロセッサ101が制御プログラムを実行することにより推定部131、予想部133、および、出力部15として機能するのではなく、タイミング制御装置10は、推定部131、予想部133、および、出力部15のそれぞれに対応する複数のプロセッサを有してもよい。また、物理的に複数の装置が協働して、合奏システム1におけるタイミング制御装置10として機能してもよい。
タイミング制御装置10のプロセッサ101により実行される制御プログラムは、光ディスク、磁気ディスク、半導体メモリなどの非一過性の記憶媒体により提供されてもよいし、インターネット等の通信回線を介したダウンロードにより提供されてもよい。また、制御プログラムは、図4のすべてのステップを備える必要はない。例えば、このプログラムは、ステップS31、S33、およびS34のみ有してもよい。
合奏システム1は、コンサート等の演奏の本番中に操作者が介入できる機能を有していることが好ましい。なぜなら、合奏システム1の誤推定に対する救済措置が必要だからである。この場合、合奏システム1は、例えば、システムのパラメータを、操作者による操作に基づいて変更することができるものであってもよいし、操作者の指定する値に変更することができるものであってもよい。
また、合奏システム1は、予測等の動作が破綻しても楽曲の再生が最後まで破綻しないフェイルセーフの構成を有することが望ましい。合奏システム1においては、合奏エンジン(推定部131および予想部133)における状態変数とタイムスタンプ(発音時刻)を、合奏エンジンとは別のプロセスで動いているシーケンサ(図示略)にOSC(Open Sound Control)メッセージとしてUDP(User Datagram Protocol)上で送信し、シーケンサは受信したOSCを元に楽曲データを再生する。これにより、仮に合奏エンジンが破綻し当該合奏エンジンのプロセスが終了しても、シーケンサは楽曲データを再生を継続することができる。この場合、合奏システム1における状態変数は、演奏のテンポと演奏における発音のタイミングのオフセットといった、一般的なシーケンサとして表記しやすいものであることが好ましい。
具体的には、タイミング制御装置10は、タイミング出力部13に加えて第2タイミング出力部を設けてもよい。第2タイミング出力部は、第2推定部と第2予想部とを備え、タイミング制御装置10の外部から入力された演奏に関する発音を示す情報に応じて、次の音を発音するタイミングを予想し、当該予想した時刻を第4遮断部を介して出力部15へ出力する。第2推定部は、楽譜における演奏の位置を示す推定値を出力する。第2推定部は、推定部131と同じ構成であってもよいし、既知の技術を利用してもよい。第2予想部は、第2推定部が出力する推定値に基づいて、演奏において次の音を発音するタイミングの予想値を算出する。第2予想部は、予想部133と同じ構成であってもよいし、既知の技術を利用してもよい。なお、第4遮断部は、第1遮断部11、第2遮断部132、および、第3遮断部14の少なくとも一つが遮断状態であるときに、第2推定部が出力する予想値を出力部15へ出力する。
<本発明の好適な態様>
上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
<第1の態様>
本発明の第1の態様に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、検出結果を用いずに、タイミング指定信号を生成する第2生成モードにより、タイミング指定信号を生成するステップと、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力するステップと、を有する、ことを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
本発明の第1の態様に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、検出結果を用いずに、タイミング指定信号を生成する第2生成モードにより、タイミング指定信号を生成するステップと、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力するステップと、を有する、ことを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
<第2の態様>
本発明の第2の態様に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成するステップと、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力するステップと、を有する、ことを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
本発明の第2の態様に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成するステップと、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力するステップと、を有する、ことを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
<第3の態様>
本発明の第3の態様に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成するステップと、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力するステップと、を有する、ことを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
本発明の第3の態様に係るタイミング制御方法は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成するステップと、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力するステップと、を有する、ことを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
<第4の態様>
本発明の第4の態様に係るタイミング制御方法は、第1または第2の態様に係るタイミング制御方法において、タイミング指定信号の伝達を遮断するか否かを切り替えるステップを有し、出力するステップでは、タイミング指定信号の伝達が遮断される場合に、第2出力モードにより命令信号を出力する、ことを特徴とする。
この態様によれば、タイミング指定信号を生成する処理が不安定になる場合であっても、演奏における第2イベントの実行が不安定になることを防止することができる。
本発明の第4の態様に係るタイミング制御方法は、第1または第2の態様に係るタイミング制御方法において、タイミング指定信号の伝達を遮断するか否かを切り替えるステップを有し、出力するステップでは、タイミング指定信号の伝達が遮断される場合に、第2出力モードにより命令信号を出力する、ことを特徴とする。
この態様によれば、タイミング指定信号を生成する処理が不安定になる場合であっても、演奏における第2イベントの実行が不安定になることを防止することができる。
<第5の態様>
本発明の第5の態様に係るタイミング制御方法は、第4の態様に係るタイミング制御方法において、切り替えるステップでは、タイミング指定信号に基づいて、タイミング指定信号の伝達を遮断するか否かを切り替える、ことを特徴とする。
この態様によれば、タイミング指定信号を生成する処理が不安定になる場合であっても、演奏における第2イベントの実行が不安定になることを防止することができる。
本発明の第5の態様に係るタイミング制御方法は、第4の態様に係るタイミング制御方法において、切り替えるステップでは、タイミング指定信号に基づいて、タイミング指定信号の伝達を遮断するか否かを切り替える、ことを特徴とする。
この態様によれば、タイミング指定信号を生成する処理が不安定になる場合であっても、演奏における第2イベントの実行が不安定になることを防止することができる。
<第6の態様>
本発明の第6の態様に係るタイミング制御方法は、第1または第3の態様に係るタイミング制御方法において、検出結果の入力を遮断するか否かを切り替えるステップを有し、生成するステップでは、検出結果の入力が遮断される場合に、第2生成モードによりタイミング指定信号を生成する、ことを特徴とする。
この態様によれば、検出結果に基づいてタイミング指定信号を生成する処理が不安定になる場合に、検出結果を用いずにタイミング指定信号を生成することができる。
本発明の第6の態様に係るタイミング制御方法は、第1または第3の態様に係るタイミング制御方法において、検出結果の入力を遮断するか否かを切り替えるステップを有し、生成するステップでは、検出結果の入力が遮断される場合に、第2生成モードによりタイミング指定信号を生成する、ことを特徴とする。
この態様によれば、検出結果に基づいてタイミング指定信号を生成する処理が不安定になる場合に、検出結果を用いずにタイミング指定信号を生成することができる。
<第7の態様>
本発明の第7の態様に係るタイミング制御方法は、第1乃至6の態様に係るタイミング制御方法において、生成するステップは、第1イベントのタイミングを推定するステップと、推定の結果を示す信号を伝達するか否かを切り替えるステップと、推定の結果を示す信号が伝達される場合に、当該推定の結果に基づいて、第2イベントのタイミングを予想するステップと、を有する、ことを特徴とする。
この態様によれば、第1イベントのタイミングの推定の結果に基づいてタイミング指定信号を生成する処理が不安定になる場合に、当該推定の結果を用いずにタイミング指定信号を生成することができる。
本発明の第7の態様に係るタイミング制御方法は、第1乃至6の態様に係るタイミング制御方法において、生成するステップは、第1イベントのタイミングを推定するステップと、推定の結果を示す信号を伝達するか否かを切り替えるステップと、推定の結果を示す信号が伝達される場合に、当該推定の結果に基づいて、第2イベントのタイミングを予想するステップと、を有する、ことを特徴とする。
この態様によれば、第1イベントのタイミングの推定の結果に基づいてタイミング指定信号を生成する処理が不安定になる場合に、当該推定の結果を用いずにタイミング指定信号を生成することができる。
<第8の態様>
本発明の第8の態様に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、検出結果を用いずに、タイミング指定信号を生成する第2生成モードにより、タイミング指定信号を生成する生成部と、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力する出力部と、を有することを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
本発明の第8の態様に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、検出結果を用いずに、タイミング指定信号を生成する第2生成モードにより、タイミング指定信号を生成する生成部と、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力する出力部と、を有することを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
<第9の態様>
本発明の第9の態様に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する生成部と、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力する出力部と、を有することを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
本発明の第9の態様に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する生成部と、タイミング指定信号により指定されたタイミングに応じて、第2イベントの実行を命令する命令信号を出力する第1出力モード、または、楽曲に基づいて定められたタイミングに応じて、命令信号を出力する第2出力モードにより、命令信号を出力する出力部と、を有することを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
<第10の態様>
本発明の第10の態様に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成する生成部と、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する出力部と、を有することを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
本発明の第10の態様に係るタイミング制御装置は、楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成する生成部と、前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する出力部と、を有することを特徴とする。
この態様によれば、演奏において第2イベントの実行が不安定になることを防止することができる。
1…合奏システム、10…タイミング制御装置、11…第1遮断部、12…記憶部、13…タイミング出力部、131…推定部、132…第2遮断部、133…予想部、14…第3遮断部、15…出力部、16…表示部、20…センサー群、30…自動演奏楽器、101…プロセッサ、102…メモリ、103…ストレージ、104…入出力IF、105…表示装置、1331…受付部、1332…係数決定部、1333…状態変数更新部、1334…予想時刻計算部。
Claims (8)
- 楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成するステップと、
前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する第1出力モード、または、前記楽曲に基づいて定められたタイミングに応じて、前記命令信号を出力する第2出力モードにより、前記命令信号を出力するステップと、
を有する、
ことを特徴とするタイミング制御方法。 - 楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成するステップと、
前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する第1出力モード、または、前記楽曲に基づいて定められたタイミングに応じて、前記命令信号を出力する第2出力モードにより、前記命令信号を出力するステップと、
を有する、
ことを特徴とするタイミング制御方法。 - 楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成するステップと、
前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力するステップと、
を有する、
ことを特徴とするタイミング制御方法。 - 前記タイミング指定信号の伝達を遮断するか否かを切り替えるステップを有し、
前記出力するステップでは、前記タイミング指定信号の伝達が遮断される場合に、前記第2出力モードにより前記命令信号を出力する、
ことを特徴とする、請求項1または2に記載のタイミング制御方法。 - 前記切り替えるステップでは、前記タイミング指定信号に基づいて、前記タイミング指定信号の伝達を遮断するか否かを切り替える、
ことを特徴とする、請求項4に記載のタイミング制御方法。 - 前記検出結果の入力を遮断するか否かを切り替えるステップを有し、
前記生成するステップでは、前記検出結果の入力が遮断される場合に、前記第2生成モードにより前記タイミング指定信号を生成する、
ことを特徴とする、請求項1または3に記載のタイミング制御方法。 - 前記生成するステップは、
前記第1イベントのタイミングを推定するステップと、
前記推定の結果を示す信号を伝達するか否かを切り替えるステップと、
前記推定の結果を示す信号が伝達される場合に、当該推定の結果に基づいて、前記第2イベントのタイミングを予想するステップと、
を有する、
ことを特徴とする、請求項1乃至6に記載のタイミング制御方法。 - 楽曲の演奏における第1イベントの検出結果に基づいて、前記演奏における第2イベントのタイミングを指定するタイミング指定信号を生成する第1生成モード、または、前記検出結果を用いずに、前記タイミング指定信号を生成する第2生成モードにより、前記タイミング指定信号を生成する生成部と、
前記タイミング指定信号により指定されたタイミングに応じて、前記第2イベントの実行を命令する命令信号を出力する第1出力モード、または、前記楽曲に基づいて定められたタイミングに応じて、前記命令信号を出力する第2出力モードにより、前記命令信号を出力する出力部と、
を有するタイミング制御装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144351 | 2016-07-22 | ||
JP2016144351 | 2016-07-22 | ||
PCT/JP2017/026527 WO2018016639A1 (ja) | 2016-07-22 | 2017-07-21 | タイミング制御方法、及び、タイミング制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018016639A1 JPWO2018016639A1 (ja) | 2019-01-24 |
JP6631714B2 true JP6631714B2 (ja) | 2020-01-15 |
Family
ID=60992621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018528903A Active JP6631714B2 (ja) | 2016-07-22 | 2017-07-21 | タイミング制御方法、及び、タイミング制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10650794B2 (ja) |
JP (1) | JP6631714B2 (ja) |
WO (1) | WO2018016639A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6597903B2 (ja) * | 2016-07-22 | 2019-10-30 | ヤマハ株式会社 | 楽曲データ処理方法およびプログラム |
WO2018016636A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | タイミング予想方法、及び、タイミング予想装置 |
JP6631714B2 (ja) * | 2016-07-22 | 2020-01-15 | ヤマハ株式会社 | タイミング制御方法、及び、タイミング制御装置 |
JP6642714B2 (ja) * | 2016-07-22 | 2020-02-12 | ヤマハ株式会社 | 制御方法、及び、制御装置 |
JP6737300B2 (ja) | 2018-03-20 | 2020-08-05 | ヤマハ株式会社 | 演奏解析方法、演奏解析装置およびプログラム |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2071389B (en) * | 1980-01-31 | 1983-06-08 | Casio Computer Co Ltd | Automatic performing apparatus |
US5177311A (en) * | 1987-01-14 | 1993-01-05 | Yamaha Corporation | Musical tone control apparatus |
US5288938A (en) * | 1990-12-05 | 1994-02-22 | Yamaha Corporation | Method and apparatus for controlling electronic tone generation in accordance with a detected type of performance gesture |
JP2518742B2 (ja) * | 1991-04-05 | 1996-07-31 | ヤマハ株式会社 | 自動演奏装置 |
US5663514A (en) * | 1995-05-02 | 1997-09-02 | Yamaha Corporation | Apparatus and method for controlling performance dynamics and tempo in response to player's gesture |
US5648627A (en) * | 1995-09-27 | 1997-07-15 | Yamaha Corporation | Musical performance control apparatus for processing a user's swing motion with fuzzy inference or a neural network |
US6166314A (en) * | 1997-06-19 | 2000-12-26 | Time Warp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
US5913259A (en) * | 1997-09-23 | 1999-06-15 | Carnegie Mellon University | System and method for stochastic score following |
JP4626087B2 (ja) * | 2001-05-15 | 2011-02-02 | ヤマハ株式会社 | 楽音制御システムおよび楽音制御装置 |
JP3948242B2 (ja) * | 2001-10-17 | 2007-07-25 | ヤマハ株式会社 | 楽音発生制御システム |
JP2007241181A (ja) * | 2006-03-13 | 2007-09-20 | Univ Of Tokyo | 自動伴奏システム及び楽譜追跡システム |
JP5337608B2 (ja) * | 2008-07-16 | 2013-11-06 | 本田技研工業株式会社 | ビートトラッキング装置、ビートトラッキング方法、記録媒体、ビートトラッキング用プログラム、及びロボット |
EP2396711A2 (fr) * | 2009-02-13 | 2011-12-21 | Movea S.A | Dispositif et procede d'interpretation de gestes musicaux |
JP5654897B2 (ja) * | 2010-03-02 | 2015-01-14 | 本田技研工業株式会社 | 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム |
JP5338794B2 (ja) * | 2010-12-01 | 2013-11-13 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
JP5712603B2 (ja) * | 2010-12-21 | 2015-05-07 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
WO2014137311A1 (en) * | 2013-03-04 | 2014-09-12 | Empire Technology Development Llc | Virtual instrument playing scheme |
JP6187132B2 (ja) | 2013-10-18 | 2017-08-30 | ヤマハ株式会社 | スコアアライメント装置及びスコアアライメントプログラム |
US10418012B2 (en) * | 2015-12-24 | 2019-09-17 | Symphonova, Ltd. | Techniques for dynamic music performance and related systems and methods |
JP6597903B2 (ja) * | 2016-07-22 | 2019-10-30 | ヤマハ株式会社 | 楽曲データ処理方法およびプログラム |
WO2018016637A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | 制御方法、及び、制御装置 |
WO2018016636A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | タイミング予想方法、及び、タイミング予想装置 |
JP6631714B2 (ja) * | 2016-07-22 | 2020-01-15 | ヤマハ株式会社 | タイミング制御方法、及び、タイミング制御装置 |
JP6642714B2 (ja) * | 2016-07-22 | 2020-02-12 | ヤマハ株式会社 | 制御方法、及び、制御装置 |
-
2017
- 2017-07-21 JP JP2018528903A patent/JP6631714B2/ja active Active
- 2017-07-21 WO PCT/JP2017/026527 patent/WO2018016639A1/ja active Application Filing
-
2019
- 2019-01-18 US US16/252,187 patent/US10650794B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2018016639A1 (ja) | 2019-01-24 |
US20190156801A1 (en) | 2019-05-23 |
US10650794B2 (en) | 2020-05-12 |
WO2018016639A1 (ja) | 2018-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6631714B2 (ja) | タイミング制御方法、及び、タイミング制御装置 | |
JP6729699B2 (ja) | 制御方法、及び、制御装置 | |
JP6597903B2 (ja) | 楽曲データ処理方法およびプログラム | |
JP6614356B2 (ja) | 演奏解析方法、自動演奏方法および自動演奏システム | |
US10636399B2 (en) | Control method and control device | |
US10699685B2 (en) | Timing prediction method and timing prediction device | |
US8237042B2 (en) | Electronic musical instruments | |
US8653350B2 (en) | Performance apparatus and electronic musical instrument | |
JP6232850B2 (ja) | タッチ検出装置、タッチ検出方法、電子楽器及びプログラム | |
JP3231482B2 (ja) | テンポ検出装置 | |
US20170263230A1 (en) | Sound production control apparatus, sound production control method, and storage medium | |
US11557270B2 (en) | Performance analysis method and performance analysis device | |
JP2018146782A (ja) | タイミング制御方法 | |
US20230267901A1 (en) | Signal generation device, electronic musical instrument, electronic keyboard device, electronic apparatus, and signal generation method | |
US20240119918A1 (en) | Automatic performing apparatus and automatic performing program | |
JP2009042387A (ja) | 電子楽器 | |
JP2004045455A (ja) | 電子楽器 | |
WO2019175977A1 (ja) | 評価装置 | |
JP2006267342A (ja) | 楽音制御装置および楽音制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191125 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6631714 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |