JP6642714B2 - 制御方法、及び、制御装置 - Google Patents
制御方法、及び、制御装置 Download PDFInfo
- Publication number
- JP6642714B2 JP6642714B2 JP2018528902A JP2018528902A JP6642714B2 JP 6642714 B2 JP6642714 B2 JP 6642714B2 JP 2018528902 A JP2018528902 A JP 2018528902A JP 2018528902 A JP2018528902 A JP 2018528902A JP 6642714 B2 JP6642714 B2 JP 6642714B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- unit
- value
- time
- player
- 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
- 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
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- 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
- G10G1/00—Means for the representation of music
-
- 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/36—Accompaniment arrangements
- G10H1/361—Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
-
- 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
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/061—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work
-
- 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
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/066—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
-
- 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
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/071—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for rhythm pattern analysis or rhythm style recognition
-
- 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
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/375—Tempo or beat alterations; Music timing control
- G10H2210/391—Automatic tempo adjustment, correction or control
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
本発明は、制御方法、及び、制御装置に関する。
演奏における発音を示す音信号に基づいて、演奏者による演奏の楽譜上における位置を推定する技術が知られている(例えば、特許文献1参照)。
ところで、演奏者と自動演奏楽器等とが合奏をする合奏システムにおいては、例えば、演奏者による演奏の楽譜上における位置の推定結果に基づいて、自動演奏楽器が次の音を発音するイベントのタイミングを予想する処理が行われる。しかし、このような合奏システムでは、演奏者による演奏と自動演奏楽器による演奏との同期の程度を、演奏の途中で変化させることができなかった。
本発明は、上述した事情を鑑みてなされたものであり、演奏者による演奏と自動演奏楽器におる演奏との同期の程度を、演奏の途中で変化させる技術の提供を、解決課題の一つとする。
本発明に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、前記演奏における第2イベントの前記第1イベントに対する追従の程度を、前記演奏の途中で変化させるステップと、前記追従の程度に基づいて、前記第2イベントの動作態様を決定するステップと、を有することを特徴とする。
また、本発明に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、前記演奏における第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は、記憶部11、推定部12、予想部13、出力部14、および、表示部15を有する。
記憶部11は、各種のデータを記憶する。この例で、記憶部11は、楽曲データを記憶する。楽曲データは、少なくとも、楽譜により指定される発音のタイミングおよび音高を示す情報を含んでいる。楽曲データが示す発音のタイミングは、例えば、楽譜において設定された単位時間(一例としては32分音符)を基準として表される。楽曲データは、楽譜により指定される発音のタイミングおよび音高に加え、楽譜により指定される音長、音色、および、音量の少なくとも1つを示す情報を含んでもよい。一例として、楽曲データはMIDI(Musical Instrument Digital Interface)形式のデータである。
記憶部11は、各種のデータを記憶する。この例で、記憶部11は、楽曲データを記憶する。楽曲データは、少なくとも、楽譜により指定される発音のタイミングおよび音高を示す情報を含んでいる。楽曲データが示す発音のタイミングは、例えば、楽譜において設定された単位時間(一例としては32分音符)を基準として表される。楽曲データは、楽譜により指定される発音のタイミングおよび音高に加え、楽譜により指定される音長、音色、および、音量の少なくとも1つを示す情報を含んでもよい。一例として、楽曲データはMIDI(Musical Instrument Digital Interface)形式のデータである。
推定部12は、入力された音信号を解析し、楽譜における演奏の位置を推定する。推定部12は、まず、音信号からオンセット時刻(発音開始時刻)および音高に関する情報を抽出する。次に、推定部12は、抽出された情報から、楽譜における演奏の位置を示す確率的な推定値を計算する。推定部12は、計算により得られた推定値を出力する。
本実施形態において、推定部12が出力する推定値には、発音位置u、観測ノイズq、および、発音時刻Tが含まれる。発音位置uは、演奏者Pまたは自動演奏楽器30による演奏において発音された音の楽譜における位置(例えば、5小節目の2拍目)である。観測ノイズqは、発音位置uの観測ノイズ(確率的な揺らぎ)である。発音位置uおよび観測ノイズqは、例えば、楽譜において設定された単位時間を基準として表される。発音時刻Tは、演奏者Pによる演奏において発音が観測された時刻(時間軸上の位置)である。なお以下の説明では、楽曲の演奏においてn番目に発音された音符に対応する発音位置をu[n]と表す(nは、n≧1を満たす自然数)。他の推定値も同様である。
本実施形態において、推定部12が出力する推定値には、発音位置u、観測ノイズq、および、発音時刻Tが含まれる。発音位置uは、演奏者Pまたは自動演奏楽器30による演奏において発音された音の楽譜における位置(例えば、5小節目の2拍目)である。観測ノイズqは、発音位置uの観測ノイズ(確率的な揺らぎ)である。発音位置uおよび観測ノイズqは、例えば、楽譜において設定された単位時間を基準として表される。発音時刻Tは、演奏者Pによる演奏において発音が観測された時刻(時間軸上の位置)である。なお以下の説明では、楽曲の演奏においてn番目に発音された音符に対応する発音位置をu[n]と表す(nは、n≧1を満たす自然数)。他の推定値も同様である。
予想部13は、推定部12から供給される推定値を観測値として用いることで、自動演奏楽器30による演奏において次の発音がなされるべき時刻の予想(発音時刻の予想)を行う。本実施形態では、予想部13が、いわゆるカルマンフィルタを用いて発音時刻の予想を行う場合を、一例として想定する。
なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
まず、関連技術に係る発音時刻の予想のうち、回帰モデルを用いた発音時刻の予想について説明する。
回帰モデルは、演奏者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による発音に係る観測値に基づいて算出されることになるため、同期の程度を柔軟に調整できないことがある。
これに対し本実施形態に係る予想部13は、関連技術に係る動的モデルをベースとしつつ、関連技術と比較して、自動演奏楽器30による演奏の演奏者Pによる演奏に対する追従の程度をより柔軟に調整可能な態様により、発音時刻S[n+1]を予想する。以下、本実施形態に係る予想部13における処理の一例について説明する。
本実施形態に係る予想部13は、演奏者Pによる演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVu」と称する)と、自動演奏楽器30による演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVa」と称する)と、を更新する。ここで、状態ベクトルVuは、演奏者Pによる演奏の楽譜における推定位置を表す状態変数である演奏位置xuと、演奏者Pによる演奏の楽譜における速度の推定値を表す状態変数である速度vuと、を要素として含むベクトルである。また、状態ベクトルVaは、自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である演奏位置xaと、自動演奏楽器30による演奏の楽譜における速度の推定値を表す状態変数である速度vaと、を要素として含むベクトルである。なお、以下では、状態ベクトルVuに含まれる状態変数(演奏位置xu及び速度vu)を、「第1状態変数」と総称し、状態ベクトルVaに含まれる状態変数(演奏位置xa及び速度va)を、「第2状態変数」と総称する。
本実施形態に係る予想部13は、演奏者Pによる演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVu」と称する)と、自動演奏楽器30による演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVa」と称する)と、を更新する。ここで、状態ベクトルVuは、演奏者Pによる演奏の楽譜における推定位置を表す状態変数である演奏位置xuと、演奏者Pによる演奏の楽譜における速度の推定値を表す状態変数である速度vuと、を要素として含むベクトルである。また、状態ベクトルVaは、自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である演奏位置xaと、自動演奏楽器30による演奏の楽譜における速度の推定値を表す状態変数である速度vaと、を要素として含むベクトルである。なお、以下では、状態ベクトルVuに含まれる状態変数(演奏位置xu及び速度vu)を、「第1状態変数」と総称し、状態ベクトルVaに含まれる状態変数(演奏位置xa及び速度va)を、「第2状態変数」と総称する。
本実施形態に係る予想部13は、一例として、以下の式(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]」は、「追従係数」の一例である。
本実施形態に係る予想部13は、式(8)及び式(11)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]を用いて、第1状態変数である演奏位置xu[n]及び速度vu[n]を予測する。他方、本実施形態に係る予想部13は、式(9)及び式(10)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]と、第2状態変数である演奏位置xa[n−1]及び速度va[n−1]との、一方または両方を用いて、第2状態変数である演奏位置xa[n]及び速度va[n]を予測する。
また、本実施形態に係る予想部13は、第1状態変数である演奏位置xu[n]及び速度vu[n]の更新において、式(8)及び式(11)に示す状態遷移モデルと、式(5)に示す観測モデルとを用いる。他方、本実施形態に係る予想部13は、第2状態変数である演奏位置xa[n]及び速度va[n]の更新において、式(9)及び式(10)に示す状態遷移モデルを用いるが、観測モデルを用いない。
式(9)に示すように、本実施形態に係る予想部13は、第1状態変数(例えば、演奏位置xu[n−1])に追従係数(1−γ[n])を乗算した値と、第2状態変数(例えば、演奏位置xa[n−1])に結合係数γ[n]を乗算した値と、に基づいて、第2状態変数である演奏位置xa[n]を予測する。このため、本実施形態に係る予想部13は、結合係数γ[n]の値を調整することにより、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整することができる。換言すれば、本実施形態に係る予想部13は、結合係数γ[n]の値を調整することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。なお、追従係数(1−γ[n])を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くすることができる。換言すれば、結合係数γ[n]を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を低くすることができる。
本実施形態に係る予想部13は、式(8)及び式(11)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]を用いて、第1状態変数である演奏位置xu[n]及び速度vu[n]を予測する。他方、本実施形態に係る予想部13は、式(9)及び式(10)に示すように、第1状態変数である演奏位置xu[n−1]及び速度vu[n−1]と、第2状態変数である演奏位置xa[n−1]及び速度va[n−1]との、一方または両方を用いて、第2状態変数である演奏位置xa[n]及び速度va[n]を予測する。
また、本実施形態に係る予想部13は、第1状態変数である演奏位置xu[n]及び速度vu[n]の更新において、式(8)及び式(11)に示す状態遷移モデルと、式(5)に示す観測モデルとを用いる。他方、本実施形態に係る予想部13は、第2状態変数である演奏位置xa[n]及び速度va[n]の更新において、式(9)及び式(10)に示す状態遷移モデルを用いるが、観測モデルを用いない。
式(9)に示すように、本実施形態に係る予想部13は、第1状態変数(例えば、演奏位置xu[n−1])に追従係数(1−γ[n])を乗算した値と、第2状態変数(例えば、演奏位置xa[n−1])に結合係数γ[n]を乗算した値と、に基づいて、第2状態変数である演奏位置xa[n]を予測する。このため、本実施形態に係る予想部13は、結合係数γ[n]の値を調整することにより、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整することができる。換言すれば、本実施形態に係る予想部13は、結合係数γ[n]の値を調整することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。なお、追従係数(1−γ[n])を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くすることができる。換言すれば、結合係数γ[n]を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を低くすることができる。
以上において説明したように、本実施形態によれば、結合係数γという単一の係数の値を変更することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。換言すれば、本実施形態によれば、追従係数(1−γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様(「第2イベントの動作態様」の一例)を調整することができる。
予想部13は、受付部131、係数変化部132、状態変数更新部133、および、予想時刻計算部134を有する。
受付部131は、演奏のタイミングに関する観測値の入力を受け付ける。本実施形態において、演奏のタイミングに関する観測値には、演奏者Pによる演奏タイミングに関する第1観測値が含まれる。但し、演奏のタイミングに関する観測値には、第1観測値に加え、自動演奏楽器30による演奏タイミングに関する第2観測値が含まれていてもよい。ここで、第1観測値とは、演奏者Pによる演奏に関する発音位置u(以下、「発音位置uu」と称する)、および、発音時刻Tの総称である。また、第2観測値とは、自動演奏楽器30による演奏に関する発音位置u(以下、「発音位置ua」と称する)、および、発音時刻Sの総称である。受付部131は、演奏のタイミングに関する観測値に加え、演奏のタイミングに関する観測値に付随する観測値の入力を受け付ける。本実施形態において、付随する観測値は、演奏者Pの演奏に関する観測ノイズqである。受付部131は、受け付けた観測値を記憶部11に記憶させる。
受付部131は、演奏のタイミングに関する観測値の入力を受け付ける。本実施形態において、演奏のタイミングに関する観測値には、演奏者Pによる演奏タイミングに関する第1観測値が含まれる。但し、演奏のタイミングに関する観測値には、第1観測値に加え、自動演奏楽器30による演奏タイミングに関する第2観測値が含まれていてもよい。ここで、第1観測値とは、演奏者Pによる演奏に関する発音位置u(以下、「発音位置uu」と称する)、および、発音時刻Tの総称である。また、第2観測値とは、自動演奏楽器30による演奏に関する発音位置u(以下、「発音位置ua」と称する)、および、発音時刻Sの総称である。受付部131は、演奏のタイミングに関する観測値に加え、演奏のタイミングに関する観測値に付随する観測値の入力を受け付ける。本実施形態において、付随する観測値は、演奏者Pの演奏に関する観測ノイズqである。受付部131は、受け付けた観測値を記憶部11に記憶させる。
係数変化部132は、結合係数γの値を、楽曲の演奏の途中で変化させることができる。結合係数γの値は、例えば、楽譜における演奏の位置に応じてあらかじめ設定される。
本実施形態に係る記憶部11は、例えば、楽譜における演奏の位置と、当該演奏の位置に対応する結合係数γの値と、を対応付けたプロファイル情報を記憶している。係数変化部132は、記憶部11に記憶されたプロファイル情報を参照し、楽譜における演奏の位置に対応する結合係数γの値を取得する。そして、係数変化部132は、当該取得した値を、結合係数γの値として設定する。
なお、係数変化部132は、結合係数γの値を、例えば、タイミング制御装置10の操作者(「ユーザ」の一例)による指示に応じた値に決定してもよい。この場合、タイミング制御装置10は、操作者からの指示を示す操作を受け付けるためのUI(User Interface)を有する。このUIは、ソフトウェア的なUI(ソフトウェアにより表示された画面を介したUI)であってもよいし、ハードウェア的なUI(フェーダー等)であってもよい。なお一般的には操作者は演奏者Pとは別人であるが、演奏者Pが操作者であってもよい。
本実施形態に係る記憶部11は、例えば、楽譜における演奏の位置と、当該演奏の位置に対応する結合係数γの値と、を対応付けたプロファイル情報を記憶している。係数変化部132は、記憶部11に記憶されたプロファイル情報を参照し、楽譜における演奏の位置に対応する結合係数γの値を取得する。そして、係数変化部132は、当該取得した値を、結合係数γの値として設定する。
なお、係数変化部132は、結合係数γの値を、例えば、タイミング制御装置10の操作者(「ユーザ」の一例)による指示に応じた値に決定してもよい。この場合、タイミング制御装置10は、操作者からの指示を示す操作を受け付けるためのUI(User Interface)を有する。このUIは、ソフトウェア的なUI(ソフトウェアにより表示された画面を介したUI)であってもよいし、ハードウェア的なUI(フェーダー等)であってもよい。なお一般的には操作者は演奏者Pとは別人であるが、演奏者Pが操作者であってもよい。
以上において説明したように、本実施形態に係る係数変化部132は、結合係数γの値を、楽曲における演奏の位置に応じた値に設定する。すなわち、本実施形態に係る係数変化部132は、結合係数γの値を、楽曲の演奏の途中で変化させることができる。これにより、本実施形態では、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を楽曲の途中で変化させ、自動演奏楽器30による演奏に対して人間らしさを与えることができる。
状態変数更新部133は、状態変数(第1状態変数及び第2状態変数)を更新する。具体的には、本実施形態に係る状態変数更新部133は、上述した式(5)および式(8)〜式(11)を用いて、状態変数を更新する。より具体的には、本実施形態に係る状態変数更新部133は、式(5)、式(8)、及び、式(11)を用いて、第1状態変数を更新し、式(9)及び式(10)を用いて、第2状態変数を更新する。そして、状態変数更新部133は、更新された状態変数を出力する。
なお、上述した説明からも明らかなように、状態変数更新部133は、係数決定部132により決定された値を有する結合係数γに基づいて、第2状態変数を更新する。換言すれば、状態変数更新部133は、追従係数(1−γ[n])に基づいて、第2状態変数を更新する。これにより、本実施形態に係るタイミング制御装置10は、追従係数(1−γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様を調整する。
なお、上述した説明からも明らかなように、状態変数更新部133は、係数決定部132により決定された値を有する結合係数γに基づいて、第2状態変数を更新する。換言すれば、状態変数更新部133は、追従係数(1−γ[n])に基づいて、第2状態変数を更新する。これにより、本実施形態に係るタイミング制御装置10は、追従係数(1−γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様を調整する。
予想時刻計算部134は、更新された状態変数を用いて、自動演奏楽器30による次の発音の時刻である発音時刻S[n+1]を計算する。
具体的には、予想時刻計算部134は、まず、式(6)に対して、状態変数更新部133により更新された状態変数を適用することで、将来の時刻tにおける演奏位置x[t]を計算する。より具体的には、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部134は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。
具体的には、予想時刻計算部134は、まず、式(6)に対して、状態変数更新部133により更新された状態変数を適用することで、将来の時刻tにおける演奏位置x[t]を計算する。より具体的には、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部134は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。
出力部14は、予想部13から入力された発音時刻S[n+1]に応じて、自動演奏楽器30が次に発音すべき音符に対応する演奏命令を自動演奏楽器30に対して出力する。タイミング制御装置10は内部クロック(図示略)を有しており、時刻を計測している。演奏命令は所定のデータ形式に従って記述されている。所定のデータ形式とは例えばMIDIである。演奏命令は、例えば、ノートオンメッセージ、ノート番号、およびベロシティを含む。
表示部15は、演奏位置の推定結果に関する情報と、自動演奏楽器30による次の発音時刻の予想結果に関する情報と、を表示する。演奏位置の推定結果に関する情報は、例えば、楽譜、入力された音信号の周波数スペクトログラム、および、演奏位置の推定値の確率分布のうち少なくとも1つを含む。次の発音時刻の予想結果に関する情報は、例えば、状態変数を含む。表示部15が演奏位置の推定結果に関する情報と次の発音時刻の予想結果に関する情報とを表示することにより、タイミング制御装置10の操作者(ユーザ)が合奏システム1の動作状態を把握することができる。
図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に記憶された制御プログラムを実行し、当該制御プログラムに従って動作することで、推定部12、予想部13、及び、出力部14として機能する。メモリ102およびストレージ103の一方または双方は、記憶部11としての機能を提供する。表示装置105は、表示部15としての機能を提供する。
<2.動作>
図4は、タイミング制御装置10の動作を例示するシーケンスチャートである。図4のシーケンスチャートは、例えば、プロセッサ101が制御プログラムを起動したことを契機として開始される。
図4は、タイミング制御装置10の動作を例示するシーケンスチャートである。図4のシーケンスチャートは、例えば、プロセッサ101が制御プログラムを起動したことを契機として開始される。
ステップS1において、推定部12は、音信号の入力を受け付ける。なお、音信号がアナログ信号である場合、例えば、タイミング制御装置10に設けられたDA変換器(図示略)によりデジタル信号に変換され、当該デジタル信号に変換された音信号が推定部12に入力される。
ステップS2において、推定部12は、音信号を解析して、楽譜における演奏の位置を推定する。ステップS2に係る処理は、例えば以下のとおり行われる。本実施形態において、楽譜における演奏位置の遷移(楽譜時系列)は確率モデルを用いて記述される。楽譜時系列の記述に確率モデルを用いることにより、演奏の誤り、演奏における繰り返しの省略、演奏におけるテンポの揺らぎ、および、演奏における音高または発音時刻の不確実性等の問題に対処することができる。楽譜時系列を記述する確率モデルとしては、例えば、隠れセミマルコフモデル(Hidden Semi-Markov Model、HSMM)が用いられる。推定部12は、例えば、音信号をフレームに分割して定Q変換を施すことにより周波数スペクトログラムを得る。推定部12は、この周波数スペクトログラムから、オンセット時刻および音高を抽出する。推定部12は、例えば、楽譜における演奏の位置を示す確率的な推定値の分布をDelayed-decisionで逐次推定し、当該分布のピークが楽譜上でオンセットとみなされる位置を通過した時点で、当該分布のラプラス近似および1または複数の統計量を出力する。具体的には、推定部12は、楽曲データ上に存在するn番目の音符に対応する発音を検知すると、当該発音が検知された発音時刻T[n]と、楽譜における当該発音の確率的な位置を示す分布における楽譜上の平均位置および分散と、を出力する。楽譜上の平均位置が発音位置u[n]の推定値であり、分散が観測ノイズq[n]の推定値である。なお、発音位置の推定の詳細は、例えば特開2015−79183号公報に記載されている。
図5は、発音位置u[n]及び観測ノイズq[n]を例示する説明図である。図5に示す例では、楽譜上の1小節に、4つの音符が含まれている場合を例示している。推定部12は、当該1小節に含まれる4つの音符に応じた4つの発音と1対1に対応する確率分布P[1]〜P[4]を計算する。そして、推定部12は、当該計算結果に基づいて、発音時刻T[n]、発音位置u[n]、および、観測ノイズq[n]を出力する。
再び図4を参照する。ステップS3において、予想部13は、推定部12から供給される推定値を観測値として用いて、自動演奏楽器30による次の発音時刻の予想を行う。以下、ステップS3における処理の詳細の一例について説明する。
ステップS3において、受付部131は、推定部12から供給される発音位置uu、発音時刻T、及び、観測ノイズq等の観測値(第1観測値)の入力を受け付ける(ステップS31)。受付部131は、これらの観測値を記憶部11に記憶させる。
ステップS3において、係数変化部132は、状態変数の更新に用いられる結合係数γの値を決定する(ステップS32)。具体的には、係数変化部132は、記憶部11に記憶されているプロファイル情報を参照し、楽譜における現在の演奏の位置に対応する結合係数γの値を取得し、取得した値を結合係数γに設定する。これにより、楽譜における演奏の位置に応じて、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することが可能となる。すなわち、本実施形態に係るタイミング制御装置10は、自動演奏楽器30に対して、楽曲のある部分では演奏者Pの演奏に追従した自動演奏を実行させ、また楽曲の他の部分では演奏者Pの演奏によらず主体的な自動演奏を実行させたりすることが可能である。これにより、本実施形態に係るタイミング制御装置10は、自動演奏楽器30による演奏に人間らしさを与えることができる。例えば、本実施形態に係るタイミング制御装置10は、演奏者Pの演奏のテンポがはっきりしている場合には、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性よりも、演奏者Pの演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器30に対して自動演奏を実行させることができる。また、例えば、本実施形態に係るタイミング制御装置10は、演奏者Pの演奏のテンポがはっきりしていない場合には、演奏者Pの演奏のテンポに対する追従性よりも、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器30に対して自動演奏を実行させることができる。
ステップS3において、状態変数更新部133は、入力された観測値を用いて状態変数を更新する(ステップS33)。上述のとおり、ステップS33において、状態変数更新部133は、式(5)、式(8)、及び、式(11)を用いて、第1状態変数を更新し、式(9)及び式(10)を用いて、第2状態変数を更新する。また、ステップS33において、状態変数更新部133は、式(9)に示したとおり、追従係数(1−γ[n])に基づいて、第2状態変数を更新する。
ステップS3において、状態変数更新部133は、ステップS33で更新した状態変数を、予想時刻計算部134に対して出力する(ステップS34)。具体的には、本実施形態に係る状態変数更新部133は、ステップS34において、ステップS33で更新した演奏位置xa[n]及び速度va[n]を、予想時刻計算部134に対して出力する。
ステップS3において、予想時刻計算部134は、状態変数更新部133から入力された状態変数を、式(6)及び式(7)に適用し、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する(ステップS35)。具体的には、予想時刻計算部134は、ステップS35において、状態変数更新部133から入力された演奏位置xa[n]及び速度va[n]に基づいて、発音時刻S[n+1]を計算する。そして、予想時刻計算部134は、計算により得られた発音時刻S[n+1]を、出力部14に対して出力する。
予想部13から入力された発音時刻S[n+1]が到来すると、出力部14は、自動演奏楽器30が次に発音すべき(n+1)番目の音符に対応する演奏命令を、自動演奏楽器30に出力する(ステップS4)。なお、実際には出力部14および自動演奏楽器30における処理の遅延を考慮して、予想部13により予想された発音時刻S[n+1]よりも早い時刻に演奏命令を出力する必要があるが、ここではその説明を省略する。自動演奏楽器30は、タイミング制御装置10から供給された演奏命令に従って発音する(ステップS5)。
あらかじめ決められたタイミングで、予想部13は、演奏が終了したか判断する。具体的には、予想部13は、演奏の終了を、例えば、推定部12により推定された演奏位置に基づいて判断する。演奏位置が所定の終点に達した場合、予想部13は、演奏が終了したと判断する。予想部13が、演奏が終了したと判断した場合、タイミング制御装置10は、図4のシーケンスチャートに示される処理を終了する。一方、予想部13が、演奏が終了していないと判断した場合、タイミング制御装置10及び自動演奏楽器30は、ステップS1〜S5の処理を繰り返し実行する。
なお、図4のシーケンスチャートに示されるタイミング制御装置10の動作は、図7のフローチャートとしても表現することができる。すなわち、ステップS1において、推定部12は、音信号の入力を受け付ける。ステップS2において、推定部12は、楽譜における演奏の位置を推定する。ステップS31において、受付部131は、推定部12から供給される観測値の入力を受け付ける。ステップS32において、係数変化部132は、結合係数γ[n]を決定する。ステップS33において、状態変数更新部133は、受付部131が受け付けた観測値と、係数変化部132により決定された結合係数γ[n]と、を用いて、状態ベクトルVの有する各状態変数を更新する。ステップS34において、状態変数更新部133は、ステップS33において更新した状態変数を、予想時刻計算部134に対して出力する。ステップS35において、予想時刻計算部134は、状態変数更新部133から出力された更新後の状態変数を用いて、発音時刻S[n+1]を計算する。ステップS4において、出力部14は、発音時刻S[n+1]に基づいて、演奏命令を自動演奏楽器30に対して出力する。
<3.変形例>
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
<3−1.変形例1>
タイミング制御装置10によるタイミングの制御の対象となる装置(以下「制御対象装置」という)は、自動演奏楽器30に限定されない。すなわち、予想部13がタイミングを予想する「イベント」は、自動演奏楽器30による発音に限定されない。制御対象装置は、例えば、演奏者Pの演奏と同期して変化する映像を生成する装置(例えば、リアルタイムで変化するコンピュータグラフィックスを生成する装置)であってもよいし、演奏者Pの演奏と同期して映像を変化させる表示装置(例えば、プロジェクターまたは直視のディスプレイ)であってもよい。別の例で、制御対象装置は、演奏者Pの演奏と同期してダンス等の動作を行うロボットであってもよい。
タイミング制御装置10によるタイミングの制御の対象となる装置(以下「制御対象装置」という)は、自動演奏楽器30に限定されない。すなわち、予想部13がタイミングを予想する「イベント」は、自動演奏楽器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は、予想時刻計算部134を有さなくてもよい。この場合、タイミング制御装置10は、状態変数更新部133により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部133により更新された状態変数が入力される装置であって、タイミング制御装置10以外の装置において、次のイベントのタイミング(例えば、発音時刻S[n+1])を計算をしてもよい。また、この場合、タイミング制御装置10以外の装置において、次のイベントのタイミングの計算以外の処理(例えば、状態変数を可視化した画像の表示)を行ってもよい。さらに別の例で、タイミング制御装置10は、表示部15を有さなくてもよい。
タイミング制御装置10の機能構成は実施形態で例示したものに限定されない。図2に例示した機能要素の一部は省略されてもよい。例えば、タイミング制御装置10は、予想時刻計算部134を有さなくてもよい。この場合、タイミング制御装置10は、状態変数更新部133により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部133により更新された状態変数が入力される装置であって、タイミング制御装置10以外の装置において、次のイベントのタイミング(例えば、発音時刻S[n+1])を計算をしてもよい。また、この場合、タイミング制御装置10以外の装置において、次のイベントのタイミングの計算以外の処理(例えば、状態変数を可視化した画像の表示)を行ってもよい。さらに別の例で、タイミング制御装置10は、表示部15を有さなくてもよい。
<3−5.変形例5>
上述した実施形態及び変形例において、係数決定部132は、結合係数γを、楽譜における現在の演奏の位置に対応する値に決定したが、本発明はこのような態様に限定されるものではない。係数決定部132は、例えば、結合係数γの値を、予め定められたデフォルト値、楽譜の解析結果に応じた値、または、ユーザからの指示に応じた値、に決定してもよい。
上述した実施形態及び変形例において、係数決定部132は、結合係数γを、楽譜における現在の演奏の位置に対応する値に決定したが、本発明はこのような態様に限定されるものではない。係数決定部132は、例えば、結合係数γの値を、予め定められたデフォルト値、楽譜の解析結果に応じた値、または、ユーザからの指示に応じた値、に決定してもよい。
図6は、変形例5に係る係数変化部132による結合係数γの決定方法を例示するフローチャートである。当該フローチャートに係る各処理は、図4に示すステップS32の処理の中で実行される処理である。
図6に示すように、ステップS32において、係数変化部132は、結合係数γ[n]の値をデフォルト値に設定する(ステップS321)。
本変形例において、記憶部11には、楽曲(または楽譜における演奏の位置)によらない結合係数γ[n]のデフォルト値が記憶されている。係数変化部132は、ステップS321において、記憶部11に記憶された結合係数γ[n]のデフォルト値を読み出し、当該読み出されたデフォルト値を結合係数γ[n]の値として設定する。なお、楽譜におけるそれぞれの演奏位置に応じて、個別にデフォルト値が定められていてもよい。
図6に示すように、ステップS32において、係数変化部132は、結合係数γ[n]の値をデフォルト値に設定する(ステップS321)。
本変形例において、記憶部11には、楽曲(または楽譜における演奏の位置)によらない結合係数γ[n]のデフォルト値が記憶されている。係数変化部132は、ステップS321において、記憶部11に記憶された結合係数γ[n]のデフォルト値を読み出し、当該読み出されたデフォルト値を結合係数γ[n]の値として設定する。なお、楽譜におけるそれぞれの演奏位置に応じて、個別にデフォルト値が定められていてもよい。
ステップS32において、係数変化部132は、楽譜を解析し、当該解析の結果に応じた値を、結合係数γ[n]の値として設定する(ステップS322)。
具体的には、ステップS322において、係数決定部132は、まず、楽譜を解析することで、自動演奏楽器30の発音を示す音符の密度に対する、演奏者Pの発音を示す音符の密度の比率(以下、「音符密度比」と称する)を算出する。係数決定部132は、次に、算出した音符密度比に応じた値を、結合係数γ[n]の値として設定する。換言すれば、係数決定部132は、音符密度比に基づいて、追従係数(1−γ[n])を決定する。
例えば、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、結合係数γ[n]の値が小さくなるように、結合係数γ[n]の値を設定する。換言すれば、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、追従係数(1−γ[n])の値が大きくなるように、結合係数γ[n]の値を設定する。すなわち、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くするように、結合係数γ[n]の値を設定する。
一例として、係数変化部132は、次式(12)に示すように、自動演奏楽器30の発音を示す音符の密度DAnと、演奏者Pの発音を示す音符の密度DUnと、に基づいて、結合係数γ[n]の値を設定してもよい。なお、式(12)において、DAnを、自動演奏楽器30により発音された音の密度とし、DUnを演奏者Pにより発音された音の密度としてもよい。
具体的には、ステップS322において、係数決定部132は、まず、楽譜を解析することで、自動演奏楽器30の発音を示す音符の密度に対する、演奏者Pの発音を示す音符の密度の比率(以下、「音符密度比」と称する)を算出する。係数決定部132は、次に、算出した音符密度比に応じた値を、結合係数γ[n]の値として設定する。換言すれば、係数決定部132は、音符密度比に基づいて、追従係数(1−γ[n])を決定する。
例えば、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、結合係数γ[n]の値が小さくなるように、結合係数γ[n]の値を設定する。換言すれば、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、追従係数(1−γ[n])の値が大きくなるように、結合係数γ[n]の値を設定する。すなわち、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くするように、結合係数γ[n]の値を設定する。
一例として、係数変化部132は、次式(12)に示すように、自動演奏楽器30の発音を示す音符の密度DAnと、演奏者Pの発音を示す音符の密度DUnと、に基づいて、結合係数γ[n]の値を設定してもよい。なお、式(12)において、DAnを、自動演奏楽器30により発音された音の密度とし、DUnを演奏者Pにより発音された音の密度としてもよい。
ステップS32において、係数変化部132は、楽譜を解析し、自動演奏楽器30の演奏パートが主旋律であるか否かを判断する(ステップS323)。自動演奏楽器30の演奏パートが主旋律であるか否かの判断には、周知の技術が用いられる。
自動演奏楽器30の演奏パートが主旋律であると判断された場合(S323:YES)、係数変化部132は、処理をステップS324に進める。他方、自動演奏楽器30の演奏パートが主旋律でないと判断された場合(S323:NO)、係数変化部132は、処理をステップS325に進める。
自動演奏楽器30の演奏パートが主旋律であると判断された場合(S323:YES)、係数変化部132は、処理をステップS324に進める。他方、自動演奏楽器30の演奏パートが主旋律でないと判断された場合(S323:NO)、係数変化部132は、処理をステップS325に進める。
ステップS32において、係数変化部132は、結合係数γ[n]の値をより大きな値に更新する(ステップS324)。
例えば、係数決定部132は、ステップS324において、結合係数γ[n]の値を、式(12)の右辺が示す値よりも大きな値に更新する。例えば、係数変化部132は、式(12)の右辺が示す値に、あらかじめ決められた非負の加算値を加算することにより、更新後の結合係数γ[n]を算出してもよい。また、例えば、係数変化部132は、式(12)の右辺が示す値に、あらかじめ決められた1よりも大きい係数を乗算することにより、更新後の結合係数γ[n]を算出してもよい。なお、係数変化部132は、更新後の結合係数γ[n]を、所定の上限値以下となるように決定してもよい。
例えば、係数決定部132は、ステップS324において、結合係数γ[n]の値を、式(12)の右辺が示す値よりも大きな値に更新する。例えば、係数変化部132は、式(12)の右辺が示す値に、あらかじめ決められた非負の加算値を加算することにより、更新後の結合係数γ[n]を算出してもよい。また、例えば、係数変化部132は、式(12)の右辺が示す値に、あらかじめ決められた1よりも大きい係数を乗算することにより、更新後の結合係数γ[n]を算出してもよい。なお、係数変化部132は、更新後の結合係数γ[n]を、所定の上限値以下となるように決定してもよい。
ステップS32において、係数変化部132は、リハーサル等におけるユーザの指示に応じて、結合係数γ[n]の値を更新する(ステップS325)。
本変形例において、記憶部11には、リハーサル等におけるユーザの指示の内容を示す指示情報が記憶されている。指示情報は、例えば、演奏の主導権を握る演奏パートを特定する情報を含む。演奏の主導権を握る演奏パートを特定する情報とは、例えば、演奏の主導権を握る演奏パートが、演奏者Pまたは自動演奏楽器30の何れであるかを特定する情報である。なお、演奏の主導権を握る演奏パートを特定する情報は、楽譜における演奏の位置に応じて設定されてもよい。また、指示情報は、リハーサル等におけるユーザの指示が無い場合には、ユーザからの指示が無い旨を示す情報であってもよい。
ステップS325において、係数決定部132は、指示情報が、演奏者Pが主導権を握ることを示す情報である場合、結合係数γ[n]の値をより小さな値に更新する。他方、係数決定部132は、指示情報が、自動演奏楽器30が主導権を握ることを示す情報である場合、結合係数γ[n]の値をより大きな値に更新する。また、係数決定部132は、指示情報が、ユーザからの指示が無い旨を示す情報である場合、結合係数γ[n]の値を更新しない。
本変形例において、記憶部11には、リハーサル等におけるユーザの指示の内容を示す指示情報が記憶されている。指示情報は、例えば、演奏の主導権を握る演奏パートを特定する情報を含む。演奏の主導権を握る演奏パートを特定する情報とは、例えば、演奏の主導権を握る演奏パートが、演奏者Pまたは自動演奏楽器30の何れであるかを特定する情報である。なお、演奏の主導権を握る演奏パートを特定する情報は、楽譜における演奏の位置に応じて設定されてもよい。また、指示情報は、リハーサル等におけるユーザの指示が無い場合には、ユーザからの指示が無い旨を示す情報であってもよい。
ステップS325において、係数決定部132は、指示情報が、演奏者Pが主導権を握ることを示す情報である場合、結合係数γ[n]の値をより小さな値に更新する。他方、係数決定部132は、指示情報が、自動演奏楽器30が主導権を握ることを示す情報である場合、結合係数γ[n]の値をより大きな値に更新する。また、係数決定部132は、指示情報が、ユーザからの指示が無い旨を示す情報である場合、結合係数γ[n]の値を更新しない。
このように、図6の例では、指示情報により示すことが可能なユーザの指示内容が、演奏者Pが主導権を握ることを指示する内容、自動演奏楽器30が主導権を握ることを指示する内容、及び、ユーザからの指示が無い旨を示す内容、の3種類の内容である場合を想定しているが、指示情報はこのような例に限定されない。指示情報により示すことが可能なユーザの指示内容は、3種類よりも多くてもよい。例えば、指示情報により示されるユーザの指示内容は、主導権の程度を示す複数のレベル(一例としては、主導権大、中、および、小)を示すことが可能な情報であって、当該複数のレベルの中から、一のレベルを指定する内容であってもよい。
ステップS32において、係数変化部132は、ステップS321〜S325の処理を経て決定された結合係数γ[n]の値を、状態変数更新部133に出力する(ステップS326)。
なお、図6に示す例では、結合係数γ[n]を決定するための判断要素として、「ユーザの指示(リハーサル結果)」、「主旋律に係る演奏パート」、「音符密度比」、及び、「デフォルト値」、という4つの判断要素を例示した。また、図6に示す例では、当該4つの判断要素の、結合係数γ[n]の決定における優先順位が、「ユーザの指示」>「主旋律に係る演奏パート」>「音符密度比」>「デフォルト値」、という優先順位である場合を例示した。
但し、本発明はこのような態様に限定されるものではない。係数決定部132は、結合係数γ[n]を決定する場合に、上述した4つの判断要素の一部のみを使用してもよい。すなわち、係数決定部132が結合係数γ[n]を決定する処理は、図6に示すステップS321〜S326の処理のうち、少なくとも、ステップS321の処理、ステップS322の処理、ステップS323及びS324の処理、並びに、ステップS325の処理うち、少なくとも1つの処理と、ステップS326の処理と、を含めばよい。
また、結合係数γ[n]の決定における判断要素の優先順位は、図6に示す例に限定されるものではなく、任意の優先順位としてもよい。例えば、「主旋律に係る演奏パート」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「主旋律に係る演奏パート」の優先順位よりも高くしてもよい。換言すれば、図6に示すステップS321〜S326の処理は、適宜に並べ替えてもよい。
但し、本発明はこのような態様に限定されるものではない。係数決定部132は、結合係数γ[n]を決定する場合に、上述した4つの判断要素の一部のみを使用してもよい。すなわち、係数決定部132が結合係数γ[n]を決定する処理は、図6に示すステップS321〜S326の処理のうち、少なくとも、ステップS321の処理、ステップS322の処理、ステップS323及びS324の処理、並びに、ステップS325の処理うち、少なくとも1つの処理と、ステップS326の処理と、を含めばよい。
また、結合係数γ[n]の決定における判断要素の優先順位は、図6に示す例に限定されるものではなく、任意の優先順位としてもよい。例えば、「主旋律に係る演奏パート」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「主旋律に係る演奏パート」の優先順位よりも高くしてもよい。換言すれば、図6に示すステップS321〜S326の処理は、適宜に並べ替えてもよい。
<3−6.変形例6>
上述した実施形態に係る動的モデルでは、単一の時刻における観測値(発音位置u[n]及び観測ノイズq[n])を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してもよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式(5)に代えて次式(13)が用いられてもよい。
ここで、行列Onは、観測モデルにおいて、複数の観測値(この例では発音位置u[n−1],u[n−2],…,u[n−j])と、演奏位置x[n]及び速度v[n]との、関係を示す行列である。本変形例のように、複数の時刻における複数の観測値を用いて状態変数を更新することにより、単一の時刻における観測値を用いて状態変数を更新する場合と比較して、観測値に生じる突発的なノイズの、発音時刻S[n+1]の予想に対する影響を抑制することができる。
上述した実施形態に係る動的モデルでは、単一の時刻における観測値(発音位置u[n]及び観測ノイズq[n])を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してもよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式(5)に代えて次式(13)が用いられてもよい。
また、上述した実施形態及び変形例において、予想部13は、動的モデルを用いた状態変数の更新結果に基づいて発音時刻S[n+1]を予想したが、本発明はこのような態様に限定されるものではなく、回帰モデルを用いて発音時刻S[n+1]を予想してもよい。この場合、予想部13は、例えば、次式(14)により発音時刻S[n+1]を予想してもよい。
<3−7.変形例7>
上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
例えば、状態遷移モデルによる演奏位置xa[n]の更新において、式(9)に代えて、以下の式(15)を用いてもよい。なお、式(9)では、観測値として、第1観測値である発音時刻Tのみを利用するのに対して、式(15)では、観測値として、第1観測値である発音時刻Tと、第2観測値である発音時刻Sと、を利用する。
また、例えば、状態遷移モデルによる演奏位置xu[n]及び演奏位置xa[n]の更新において、式(8)に代えて、以下の式(16)を用い、式(9)に代えて、以下の式(17)を用いてもよい。ここで、以下の式(16)及び式(17)に登場する発音時刻Zとは、発音時刻S及び発音時刻Tの総称である。
また、本変形例のように、状態遷移モデルにおいて、第1観測値及び第2観測値の両方を用いる場合、観測モデルにおいても、第1観測値及び第2観測値の両方を用いてもよい。具体的には、観測モデルにおいて、上述した実施形態に係る式(5)を具体化した式(18)に加え、以下の式(19)を用いることで、状態変数を更新してもよい。
なお、本変形例のように、第1観測値及び第2観測値の両方を用いて状態変数を更新する場合、状態変数更新部133は、受付部131から第1観測値(発音位置uu及び発音時刻T)を受け付け、予想時刻計算部134から第2観測値(発音位置ua及び発音時刻S)を受け付けてもよい。
<3−8.変形例8>
上述した実施形態及び変形例では、タイミング制御装置10により、自動演奏楽器30による発音の時刻(タイミング)を制御したが、本発明はこのような態様に限定されるものではなく、タイミング制御装置10により、自動演奏楽器30による発音の音量を制御してもよい。すなわち、タイミング制御装置10による制御の対象である、自動演奏楽器30による発音の態様は、自動演奏楽器30による発音の音量であってもよい。換言すれば、タイミング制御装置10は、結合係数γの値を調整することにより、自動演奏楽器30による演奏における発音の音量の、演奏者Pによる演奏における発音の音量に対する追従性を調整してもよい。
更に、タイミング制御装置10は、自動演奏楽器30による発音の時刻(タイミング)と、自動演奏楽器30による発音の音量との、双方を制御してもよい。
上述した実施形態及び変形例では、タイミング制御装置10により、自動演奏楽器30による発音の時刻(タイミング)を制御したが、本発明はこのような態様に限定されるものではなく、タイミング制御装置10により、自動演奏楽器30による発音の音量を制御してもよい。すなわち、タイミング制御装置10による制御の対象である、自動演奏楽器30による発音の態様は、自動演奏楽器30による発音の音量であってもよい。換言すれば、タイミング制御装置10は、結合係数γの値を調整することにより、自動演奏楽器30による演奏における発音の音量の、演奏者Pによる演奏における発音の音量に対する追従性を調整してもよい。
更に、タイミング制御装置10は、自動演奏楽器30による発音の時刻(タイミング)と、自動演奏楽器30による発音の音量との、双方を制御してもよい。
<3−9.変形例9>
上述した実施形態及び変形例では、予想時刻計算部134が式(6)を用いて、将来の時刻tにおける演奏位置x[t]を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部133が、状態変数を更新する動的モデルを用いて、演奏位置x[n+1]を算出してもよい。
上述した実施形態及び変形例では、予想時刻計算部134が式(6)を用いて、将来の時刻tにおける演奏位置x[t]を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部133が、状態変数を更新する動的モデルを用いて、演奏位置x[n+1]を算出してもよい。
<3−10.変形例10>
上述した実施形態及び変形例に係る係数変化部132は、結合係数γ[n]を、楽譜における演奏の位置に応じた値、楽譜の解析結果に応じた値、または、ユーザの指示に応じた値等、となるように設定することで、結合係数γ[n]の値を楽曲の演奏の途中で自由に変化させたが、本発明はこのような態様に限定されるものではなく、結合係数γ[n]の変化には所定の制限が設けられてもよい。
例えば、係数変化部132は、結合係数γ[n−1]から結合係数γ[n]への変化量の絶対値が、所定の変化量以下であるという制限の下で、結合係数γ[n]の値を設定してもよい。換言すれば、係数変化部132は、楽譜における演奏の位置の変化に伴い、結合係数γ[n]が徐々に変化するように、結合係数γ[n]の値を設定してもよい。この場合、演奏者Pによる演奏のテンポに変化が生じたときに、自動演奏楽器30による演奏のテンポを、変化後の演奏者Pによる演奏のテンポに、徐々に合わせることが可能となる。
また、例えば、係数変化部132は、楽曲の演奏の途中で結合係数γ[n]の値を変化させる場合に、当該変化の開始時刻から、当該変化の終了時刻までの時間長が、所定の時間長よりも長くなるように、結合係数γ[n]の値を設定してもよい。この場合においても、係数変化部132は、自動演奏楽器30による演奏のテンポを、変化後の演奏者Pによる演奏のテンポに、徐々に合わせることができる。
上述した実施形態及び変形例に係る係数変化部132は、結合係数γ[n]を、楽譜における演奏の位置に応じた値、楽譜の解析結果に応じた値、または、ユーザの指示に応じた値等、となるように設定することで、結合係数γ[n]の値を楽曲の演奏の途中で自由に変化させたが、本発明はこのような態様に限定されるものではなく、結合係数γ[n]の変化には所定の制限が設けられてもよい。
例えば、係数変化部132は、結合係数γ[n−1]から結合係数γ[n]への変化量の絶対値が、所定の変化量以下であるという制限の下で、結合係数γ[n]の値を設定してもよい。換言すれば、係数変化部132は、楽譜における演奏の位置の変化に伴い、結合係数γ[n]が徐々に変化するように、結合係数γ[n]の値を設定してもよい。この場合、演奏者Pによる演奏のテンポに変化が生じたときに、自動演奏楽器30による演奏のテンポを、変化後の演奏者Pによる演奏のテンポに、徐々に合わせることが可能となる。
また、例えば、係数変化部132は、楽曲の演奏の途中で結合係数γ[n]の値を変化させる場合に、当該変化の開始時刻から、当該変化の終了時刻までの時間長が、所定の時間長よりも長くなるように、結合係数γ[n]の値を設定してもよい。この場合においても、係数変化部132は、自動演奏楽器30による演奏のテンポを、変化後の演奏者Pによる演奏のテンポに、徐々に合わせることができる。
<3−11.変形例11>
センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、ダンス等、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。また、センサー群20は、演奏者Pの挙動に代えて、ロボット等の人間以外の対象に関する挙動を検知してもよい。
センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、ダンス等、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。また、センサー群20は、演奏者Pの挙動に代えて、ロボット等の人間以外の対象に関する挙動を検知してもよい。
<3−12.他の変形例>
推定部12における演奏位置の推定のアルゴリズムは実施形態で例示したものに限定されない。推定部12は、あらかじめ与えられた楽譜、および、センサー群20から入力される音信号に基づいて、楽譜における演奏の位置を推定できるものであればどのようなアルゴリズムが適用されてもよい。また、推定部12から予想部13に入力される観測値は、実施形態で例示したものに限定されない。演奏のタイミングに関するものであれば、発音位置uおよび発音時刻T以外のどのような観測値が予想部13に入力されてもよい。
推定部12における演奏位置の推定のアルゴリズムは実施形態で例示したものに限定されない。推定部12は、あらかじめ与えられた楽譜、および、センサー群20から入力される音信号に基づいて、楽譜における演奏の位置を推定できるものであればどのようなアルゴリズムが適用されてもよい。また、推定部12から予想部13に入力される観測値は、実施形態で例示したものに限定されない。演奏のタイミングに関するものであれば、発音位置uおよび発音時刻T以外のどのような観測値が予想部13に入力されてもよい。
予想部13において用いられる動的モデルは、実施形態で例示したものに限定されない。上述した実施形態及び変形例において、予想部13は、状態ベクトルVa(第2状態変数)を、観測モデルを用いることなく更新したが、状態遷移モデル及び観測モデルの両方を用いて状態ベクトルVaを更新してもよい。
また、上述した実施形態及び変形例において、予想部13は、カルマンフィルタを用いて状態ベクトルVuを更新したが、カルマンフィルタ以外のアルゴリズムを用いて状態ベクトルVを更新してもよい。例えば、予想部13は、粒子フィルタを用いて状態ベクトルVを更新してもよい。この場合、粒子フィルタにおいて利用される状態遷移モデルは、上述した式(2)、式(4)、式(8)、または、式(9)でもよいし、これらとは異なる状態遷移モデルを利用してもよい。また、粒子フィルタにおいて用いられる観測モデルは、上述した式(3)、式(5)、式(10)、または、式(11)でもよいし、これらとは異なる観測モデルを利用してもよい。
また、演奏位置xおよび速度vに代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
また、上述した実施形態及び変形例において、予想部13は、カルマンフィルタを用いて状態ベクトルVuを更新したが、カルマンフィルタ以外のアルゴリズムを用いて状態ベクトルVを更新してもよい。例えば、予想部13は、粒子フィルタを用いて状態ベクトルVを更新してもよい。この場合、粒子フィルタにおいて利用される状態遷移モデルは、上述した式(2)、式(4)、式(8)、または、式(9)でもよいし、これらとは異なる状態遷移モデルを利用してもよい。また、粒子フィルタにおいて用いられる観測モデルは、上述した式(3)、式(5)、式(10)、または、式(11)でもよいし、これらとは異なる観測モデルを利用してもよい。
また、演奏位置xおよび速度vに代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
合奏システム1を構成する各装置のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、具体的なハードウェア構成はどのようなものであってもよい。例えば、タイミング制御装置10は、単一のプロセッサ101が制御プログラムを実行することにより推定部12、予想部13、および、出力部14として機能するのではなく、推定部12、予想部13、および、出力部14のそれぞれに対応する複数のプロセッサを有してもよい。また、物理的に複数の装置が協働して、合奏システム1におけるタイミング制御装置10として機能してもよい。
タイミング制御装置10のプロセッサ101により実行される制御プログラムは、光ディスク、磁気ディスク、半導体メモリなどの非一過性の記憶媒体により提供されてもよいし、インターネット等の通信回線を介したダウンロードにより提供されてもよい。また、制御プログラムは、図4のすべてのステップを備える必要はない。例えば、このプログラムは、ステップS31、S33、およびS34のみ有してもよい。
<本発明の好適な態様>
上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
<第1の態様>
本発明の第1の態様に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を、演奏の途中で変化させるステップと、追従の程度に基づいて、第2イベントの動作態様を決定するステップと、を有することを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で変化させることができる。
本発明の第1の態様に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を、演奏の途中で変化させるステップと、追従の程度に基づいて、第2イベントの動作態様を決定するステップと、を有することを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で変化させることができる。
<第2の態様>
本発明の第2の態様に係る制御方法は、第1の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度の変化を開始させる時刻から、追従の程度の変化を終了させる時刻までの時間長は、所定の時間長よりも長い、ことを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で徐々に変化させることができる。
本発明の第2の態様に係る制御方法は、第1の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度の変化を開始させる時刻から、追従の程度の変化を終了させる時刻までの時間長は、所定の時間長よりも長い、ことを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で徐々に変化させることができる。
<第3の態様>
本発明の第3の態様に係る制御方法は、第1または第2の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度を、楽曲における演奏の位置に応じて変化させる、ことを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、楽曲における演奏の位置に応じて変化させることができる。
本発明の第3の態様に係る制御方法は、第1または第2の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度を、楽曲における演奏の位置に応じて変化させる、ことを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、楽曲における演奏の位置に応じて変化させることができる。
<第4の態様>
本発明の第4の態様に係る制御方法は、第1乃至第3の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度を、ユーザの指示に応じて変化させる、ことを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、ユーザの指示に応じて変化させることができる。
本発明の第4の態様に係る制御方法は、第1乃至第3の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度を、ユーザの指示に応じて変化させる、ことを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、ユーザの指示に応じて変化させることができる。
<第5の態様>
本発明の第5の態様に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、演奏における第2イベントの第1イベントに対する追従の程度を、演奏の途中で変化させる変化部と、追従の程度に基づいて、第2イベントの動作態様を決定する動作決定部と、を有することを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で変化させることができる。
本発明の第5の態様に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、演奏における第2イベントの第1イベントに対する追従の程度を、演奏の途中で変化させる変化部と、追従の程度に基づいて、第2イベントの動作態様を決定する動作決定部と、を有することを特徴とする。
この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で変化させることができる。
1…合奏システム、10…タイミング制御装置、11…記憶部、12…推定部、13…予想部、14…出力部、15…表示部、20…センサー群、30…自動演奏楽器、101…プロセッサ、102…メモリ、103…ストレージ、104…入出力IF、105…表示装置、131…受付部、132…係数変化部、133…状態変数更新部、134…予想時刻計算部
Claims (5)
- 演奏における第1イベントに関する検出結果を受け付けるステップと、
前記演奏における第2イベントの前記第1イベントに対する追従の程度を、前記演奏の途中で変化させるステップと、
前記追従の程度に基づいて、前記第2イベントの動作態様を決定するステップと、
を有する制御方法。 - 前記追従の程度を変化させるステップにおいて、
前記追従の程度の変化を開始させる時刻から、前記追従の程度の変化を終了させる時刻までの時間長は、所定の時間長よりも長い、
ことを特徴とする請求項1に記載の制御方法。 - 前記追従の程度を変化させるステップにおいて、
前記追従の程度を、楽曲における前記演奏の位置に応じて変化させる、
ことを特徴とする請求項1または2に記載の制御方法。 - 前記追従の程度を変化させるステップにおいて、
前記追従の程度を、ユーザの指示に応じて変化させる、
ことを特徴とする請求項1乃至3に記載の制御方法。 - 演奏における第1イベントに関する検出結果を受け付ける受付部と、
前記演奏における第2イベントの前記第1イベントに対する追従の程度を、前記演奏の途中で変化させる変化部と、
前記追従の程度に基づいて、前記第2イベントの動作態様を決定する動作決定部と、
を有する制御装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144350 | 2016-07-22 | ||
JP2016144350 | 2016-07-22 | ||
PCT/JP2017/026526 WO2018016638A1 (ja) | 2016-07-22 | 2017-07-21 | 制御方法、及び、制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018016638A1 JPWO2018016638A1 (ja) | 2019-01-24 |
JP6642714B2 true JP6642714B2 (ja) | 2020-02-12 |
Family
ID=60992654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018528902A Active JP6642714B2 (ja) | 2016-07-22 | 2017-07-21 | 制御方法、及び、制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10636399B2 (ja) |
JP (1) | JP6642714B2 (ja) |
WO (1) | WO2018016638A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6597903B2 (ja) * | 2016-07-22 | 2019-10-30 | ヤマハ株式会社 | 楽曲データ処理方法およびプログラム |
WO2018016639A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | タイミング制御方法、及び、タイミング制御装置 |
JP6631713B2 (ja) * | 2016-07-22 | 2020-01-15 | ヤマハ株式会社 | タイミング予想方法、タイミング予想装置、及び、プログラム |
JP6737300B2 (ja) * | 2018-03-20 | 2020-08-05 | ヤマハ株式会社 | 演奏解析方法、演奏解析装置およびプログラム |
Family Cites Families (28)
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 |
US5952597A (en) * | 1996-10-25 | 1999-09-14 | Timewarp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
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 |
JP3324477B2 (ja) * | 1997-10-31 | 2002-09-17 | ヤマハ株式会社 | 付加音信号生成装置および付加音信号生成機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4626087B2 (ja) * | 2001-05-15 | 2011-02-02 | ヤマハ株式会社 | 楽音制御システムおよび楽音制御装置 |
JP3948242B2 (ja) * | 2001-10-17 | 2007-07-25 | ヤマハ株式会社 | 楽音発生制御システム |
JP2006154526A (ja) * | 2004-11-30 | 2006-06-15 | Roland Corp | ボコーダ装置 |
JP2007241181A (ja) * | 2006-03-13 | 2007-09-20 | Univ Of Tokyo | 自動伴奏システム及び楽譜追跡システム |
JP4320782B2 (ja) * | 2006-03-23 | 2009-08-26 | ヤマハ株式会社 | 演奏制御装置、およびプログラム |
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 |
US8660678B1 (en) * | 2009-02-17 | 2014-02-25 | Tonara Ltd. | Automatic score following |
JP5654897B2 (ja) * | 2010-03-02 | 2015-01-14 | 本田技研工業株式会社 | 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム |
JP5338794B2 (ja) * | 2010-12-01 | 2013-11-13 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
JP5712603B2 (ja) * | 2010-12-21 | 2015-05-07 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
US9236039B2 (en) * | 2013-03-04 | 2016-01-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 | ヤマハ株式会社 | 制御方法、及び、制御装置 |
WO2018016639A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | タイミング制御方法、及び、タイミング制御装置 |
JP6631713B2 (ja) * | 2016-07-22 | 2020-01-15 | ヤマハ株式会社 | タイミング予想方法、タイミング予想装置、及び、プログラム |
-
2017
- 2017-07-21 JP JP2018528902A patent/JP6642714B2/ja active Active
- 2017-07-21 WO PCT/JP2017/026526 patent/WO2018016638A1/ja active Application Filing
-
2019
- 2019-01-18 US US16/252,293 patent/US10636399B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2018016638A1 (ja) | 2018-01-25 |
US10636399B2 (en) | 2020-04-28 |
US20190172433A1 (en) | 2019-06-06 |
JPWO2018016638A1 (ja) | 2019-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6729699B2 (ja) | 制御方法、及び、制御装置 | |
JP6642714B2 (ja) | 制御方法、及び、制御装置 | |
JP6597903B2 (ja) | 楽曲データ処理方法およびプログラム | |
JP6631714B2 (ja) | タイミング制御方法、及び、タイミング制御装置 | |
JP6614356B2 (ja) | 演奏解析方法、自動演奏方法および自動演奏システム | |
US10699685B2 (en) | Timing prediction method and timing prediction device | |
JP6187132B2 (ja) | スコアアライメント装置及びスコアアライメントプログラム | |
JP7448053B2 (ja) | 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム | |
US8946533B2 (en) | Musical performance training device, musical performance training method and storage medium | |
JP6690181B2 (ja) | 楽音評価装置及び評価基準生成装置 | |
JP4433323B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2009104273A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN110959172B (zh) | 演奏解析方法、演奏解析装置以及存储介质 | |
WO2019176954A1 (en) | Machine learning method, electronic apparatus, electronic musical instrument, model generator for part selection, and method of part determination | |
JP2018146782A (ja) | タイミング制御方法 | |
JP6838357B2 (ja) | 音響解析方法および音響解析装置 | |
WO2023170757A1 (ja) | 再生制御方法、情報処理方法、再生制御システムおよびプログラム | |
WO2022190403A1 (ja) | 信号処理システム、信号処理方法およびプログラム | |
JP2005308992A (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: 20191203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191216 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6642714 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |