JPWO2018016637A1 - 制御方法、及び、制御装置 - Google Patents

制御方法、及び、制御装置 Download PDF

Info

Publication number
JPWO2018016637A1
JPWO2018016637A1 JP2018528901A JP2018528901A JPWO2018016637A1 JP WO2018016637 A1 JPWO2018016637 A1 JP WO2018016637A1 JP 2018528901 A JP2018528901 A JP 2018528901A JP 2018528901 A JP2018528901 A JP 2018528901A JP WO2018016637 A1 JPWO2018016637 A1 JP WO2018016637A1
Authority
JP
Japan
Prior art keywords
event
performance
coefficient
value
unit
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.)
Granted
Application number
JP2018528901A
Other languages
English (en)
Other versions
JP6729699B2 (ja
Inventor
陽 前澤
陽 前澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of JPWO2018016637A1 publication Critical patent/JPWO2018016637A1/ja
Application granted granted Critical
Publication of JP6729699B2 publication Critical patent/JP6729699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G3/00Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
    • G10G3/04Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/031Musical 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/061Musical 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/031Musical 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/066Musical 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

イベントの動作態様の制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を示す追従係数を決定するステップと、追従係数に基づいて、第2イベントの動作態様を決定するステップと、を有する。

Description

本発明は、制御方法、及び、制御装置に関する。
演奏における発音を示す音信号に基づいて、演奏者による演奏の楽譜上における位置を推定する技術が知られている(例えば、特許文献1参照)。
特開2015−79183号公報
ところで、演奏者と自動演奏楽器等とが合奏をする合奏システムにおいては、例えば、演奏者による演奏の楽譜上における位置の推定結果に基づいて、自動演奏楽器が次の音を発音するイベントのタイミングを予想する処理が行われる。しかし、このような合奏システムでは、演奏者による演奏と自動演奏楽器による演奏との同期の程度を調整することができなかった。
本発明は、上述した事情を鑑みてなされたものであり、演奏者による演奏と自動演奏楽器におる演奏との同期の程度を調整可能とする技術の提供を、解決課題の一つとする。
本発明に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定するステップと、前記追従係数に基づいて、前記第2イベントの動作態様を決定するステップと、を有する、ことを特徴とする。
また、本発明に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定する係数決定部と、前記追従係数に基づいて、前記第2イベントの動作態様を決定する動作決定部と、を有する、ことを特徴とする。
実施形態に係る合奏システム1の構成の一例を示すブロック図。 タイミング制御装置10の機能構成を例示するブロック図。 タイミング制御装置10のハードウェア構成を例示するブロック図。 タイミング制御装置10の動作を例示するシーケンスチャート。 発音位置u[n]及び観測ノイズq[n]を説明するための説明図。 変形例5に係る結合係数γの決定方法を例示するフローチャート。 タイミング制御装置10の動作を例示するフローチャート。
<1.構成>
図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により供給される演奏命令に応じて、人間の操作によらず演奏を行うことが可能な楽器であり、一例としては自動演奏ピアノである。
図2は、タイミング制御装置10の機能構成を例示するブロック図である。タイミング制御装置10は、記憶部11、推定部12、予想部13、出力部14、および表示部15を有する。
記憶部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を満たす自然数)。他の推定値も同様である。
予想部13は、推定部12から供給される推定値を観測値として用いることで、自動演奏楽器30による演奏において次の発音がなされるべき時刻の予想(発音時刻の予想)を行う。本実施形態では、予想部13が、いわゆるカルマンフィルタを用いて発音時刻の予想を行う場合を、一例として想定する。
なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
まず、関連技術に係る発音時刻の予想のうち、回帰モデルを用いた発音時刻の予想について説明する。
回帰モデルは、演奏者Pおよび自動演奏楽器30による発音時刻の履歴を用いて次の発音時刻を推定するモデルである。回帰モデルは、例えば次式(1)により表される。
Figure 2018016637
ここで、発音時刻S[n]は、自動演奏楽器30による発音時刻である。発音位置u[n]は、演奏者Pによる発音位置である。式(1)に示す回帰モデルでは、「j+1」個の観測値を用いて、発音時刻の予想を行う場合を想定する(jは、1≦j<nを満たす自然数)。なお、式(1)に示す回帰モデルに係る説明では、演奏者Pの演奏音と自動演奏楽器30の演奏音とが区別可能である場合を想定する。行列Gおよび行列Hは、回帰係数に相当する行列である。行列Gおよび行列H並びに係数αにおける添え字nは、行列Gおよび行列H並びに係数αがn番目に演奏された音符に対応する要素であることを示す。つまり、式(1)に示す回帰モデルを用いる場合、行列Gおよび行列H並びに係数αを、楽曲の楽譜に含まれる複数の音符と1対1に対応するように設定することができる。換言すれば、行列Gおよび行列H並びに係数αを、楽譜上の位置に応じて設定することができる。このため、式(1)に示す回帰モデルによれば、楽譜上の位置に応じて、発音時刻Sの予想を行うことが可能となる。
次に、関連技術に係る発音時刻の予想のうち、動的モデルを用いた発音時刻の予想について説明する。
動的モデルは、一般的には、例えば以下の処理により、動的モデルによる予想の対象となる動的システムの状態を表す状態ベクトル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)により表現される場合を想定する。
Figure 2018016637
Figure 2018016637
ここで、状態ベクトルV[n]は、n番目に演奏された音符に対応する演奏位置x[n]及び速度v[n]を含む複数の状態変数を要素とするk次元ベクトルである(kは、k≧2を満たす自然数)。プロセスノイズe[n]は、状態遷移モデルを用いた状態遷移に伴うノイズを表すk次元のベクトルである。行列Aは、状態遷移モデルにおける状態ベクトルVの更新に関する係数を示す行列である。行列Oは、観測モデルにおいて、観測値(この例では発音位置u)と状態ベクトルVとの関係を示す行列である。なお、行列や変数等の各種要素に付された添字nは、当該要素がn番目の音符に対応する要素であることを示している。
式(2)および(3)は、例えば、以下の式(4)および式(5)として具体化することができる。
Figure 2018016637
Figure 2018016637
式(4)および(5)から演奏位置x[n]および速度v[n]が得られれば、将来の時刻tにおける演奏位置x[t]を次式(6)により得ることができる。
Figure 2018016637
式(6)による演算結果を、以下の式(7)に適用することで、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算することができる。
Figure 2018016637
動的モデルは、楽譜上の位置に応じた発音時刻Sの予想が可能であるという利点を有する。また、動的モデルは、原則として事前でのパラメータチューニング(学習)が不要であるという利点を有する。
ところで、合奏システム1においては、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整したいという要望が存在する場合がある。換言すれば、合奏システム1においては、自動演奏楽器30による演奏の、演奏者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は、一例として、以下の式(8)〜式(11)に示す状態遷移モデルを用いて、第1状態変数及び第2状態変数を更新する。このうち、第1状態変数は、状態遷移モデルにおいて、以下の式(8)及び式(11)により更新される。これら、式(8)及び式(11)は、式(4)を具体化した式である。また、第2状態変数は、状態遷移モデルにおいて、上述した式(4)の代わりに、以下の式(9)及び式(10)により更新される。
Figure 2018016637
Figure 2018016637
Figure 2018016637
Figure 2018016637
ここで、プロセスノイズ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による演奏に対する追従性を低くすることができる。
以上において説明したように、本実施形態によれば、結合係数γという単一の係数の値を変更することにより、演奏者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に記憶させる。
係数決定部132は、結合係数γの値を決定する。結合係数γの値は、例えば、楽譜における演奏の位置に応じてあらかじめ設定される。本実施形態に係る記憶部11は、例えば、楽譜における演奏の位置と、当該演奏の位置に対応する結合係数γの値と、を対応付けたプロファイル情報を記憶している。そして、係数決定部132は、記憶部11に記憶されたプロファイル情報を参照し、楽譜における演奏の位置に対応する結合係数γの値を取得する。そして、係数決定部132は、プロファイル情報から取得した値を、結合係数γの値として設定する。
なお、係数決定部132は、結合係数γの値を、例えば、タイミング制御装置10の操作者(「ユーザ」の一例)による指示に応じた値に決定してもよい。この場合、タイミング制御装置10は、操作者からの指示を示す操作を受け付けるためのUI(User Interface)を有する。このUIは、ソフトウェア的なUI(ソフトウェアにより表示された画面を介したUI)であってもよいし、ハードウェア的なUI(フェーダー等)であってもよい。なお一般的には操作者は演奏者Pとは別人であるが、演奏者Pが操作者であってもよい。
状態変数更新部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による発音の態様を調整する。
予想時刻計算部134は、更新された状態変数を用いて、自動演奏楽器30による次の発音の時刻である発音時刻S[n+1]を計算する。
具体的には、予想時刻計算部134は、まず、式(6)に対して、状態変数更新部133により更新された状態変数を適用することで、将来の時刻tにおける演奏位置x[n]を計算する。より具体的には、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部134は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。
なお、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xu[n]及び速度vu[n]を適用することで、将来の時刻tにおける演奏位置x[n]を計算してもよい。
出力部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は、ストレージ103に記憶された制御プログラムを実行し、当該制御プログラムに従って動作することで、推定部12、予想部13、及び、出力部14として機能する。メモリ102およびストレージ103の一方または双方は、記憶部11としての機能を提供する。表示装置105は、表示部15としての機能を提供する。
<2.動作>
図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)に適用し、(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つ以上のものが組み合わせて用いられてもよい。
<3−1.変形例1>
タイミング制御装置10によるタイミングの制御の対象となる装置(以下「制御対象装置」という)は、自動演奏楽器30に限定されない。すなわち、予想部13がタイミングを予想する「イベント」は、自動演奏楽器30による発音に限定されない。制御対象装置は、例えば、演奏者Pの演奏と同期して変化する映像を生成する装置(例えば、リアルタイムで変化するコンピュータグラフィックスを生成する装置)であってもよいし、演奏者Pの演奏と同期して映像を変化させる表示装置(例えば、プロジェクターまたは直視のディスプレイ)であってもよい。別の例で、制御対象装置は、演奏者Pの演奏と同期してダンス等の動作を行うロボットであってもよい。
<3−2.変形例2>
演奏者Pは人間ではなくてもよい。すなわち、自動演奏楽器30とは異なる他の自動演奏楽器の演奏音をタイミング制御装置10に入力してもよい。この例によれば、複数の自動演奏楽器による合奏において、一方の自動演奏楽器の演奏タイミングを、他方の自動演奏楽器の演奏タイミングにリアルタイムで追従させることができる。
<3−3.変形例3>
演奏者Pおよび自動演奏楽器30の数は実施形態で例示したものに限定されない。合奏システム1は、演奏者Pおよび自動演奏楽器30の少なくとも一方を2人(2台)以上、含んでいてもよい。
<3−4.変形例4>
タイミング制御装置10の機能構成は実施形態で例示したものに限定されない。図2に例示した機能要素の一部は省略されてもよい。例えば、タイミング制御装置10は、予想時刻計算部134を有さなくてもよい。この場合、タイミング制御装置10は、状態変数更新部133により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部133により更新された状態変数が入力される装置であって、タイミング制御装置10以外の装置において、次のイベントのタイミング(例えば、発音時刻S[n+1])を計算をしてもよい。また、この場合、タイミング制御装置10以外の装置において、次のイベントのタイミングの計算以外の処理(例えば、状態変数を可視化した画像の表示)を行ってもよい。さらに別の例で、タイミング制御装置10は、表示部15を有さなくてもよい。
<3−5.変形例5>
上述した実施形態及び変形例において、係数決定部132は、結合係数γを、楽譜における現在の演奏の位置に対応する値に決定したが、本発明はこのような態様に限定されるものではない。係数決定部132は、例えば、結合係数γの値を、予め定められたデフォルト値、楽譜の解析結果に応じた値、または、ユーザからの指示に応じた値、に決定してもよい。
図6は、変形例5に係る係数決定部132による結合係数γの決定方法を例示するフローチャートである。当該フローチャートに係る各処理は、図4に示すステップS32の処理の中で実行される処理である。
図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の発音を示す音符の密度DAと、演奏者Pの発音を示す音符の密度DUと、に基づいて、結合係数γ[n]の値を設定してもよい。なお、式(12)において、DAを、自動演奏楽器30により発音された音の密度とし、DUを演奏者Pにより発音された音の密度としてもよい。
Figure 2018016637
ステップS32において、係数決定部132は、楽譜を解析し、自動演奏楽器30の演奏パートが主旋律であるか否かを判断する(ステップS323)。自動演奏楽器30の演奏パートが主旋律であるか否かの判断には、周知の技術が用いられる。
自動演奏楽器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]を、所定の上限値以下となるように決定してもよい。
ステップS32において、係数決定部132は、リハーサル等におけるユーザの指示に応じて、結合係数γ[n]の値を更新する(ステップS325)。
本変形例において、記憶部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の処理は、適宜に並べ替えてもよい。
<3−6.変形例6>
上述した実施形態に係る動的モデルでは、単一の時刻における観測値(発音位置u[n]及び観測ノイズq[n])を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してもよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式(5)に代えて次式(13)が用いられてもよい。
Figure 2018016637
ここで、行列Onは、観測モデルにおいて、複数の観測値(この例では発音位置u[n−1],u[n−2],…,u[n−j])と、演奏位置x[n]及び速度v[n]との、関係を示す行列である。本変形例のように、複数の時刻における複数の観測値を用いて状態変数を更新することにより、単一の時刻における観測値を用いて状態変数を更新する場合と比較して、観測値に生じる突発的なノイズの、発音時刻S[n+1]の予想に対する影響を抑制することができる。
<3−7.変形例7>
上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
例えば、状態遷移モデルによる演奏位置xa[n]の更新において、式(9)に代えて、以下の式(14)を用いてもよい。なお、式(9)では、観測値として、第1観測値である発音時刻Tのみを利用するのに対して、式(14)では、観測値として、第1観測値である発音時刻Tと、第2観測値である発音時刻Sと、を利用する。
Figure 2018016637
また、例えば、状態遷移モデルによる演奏位置xu[n]及び演奏位置xa[n]の更新において、式(8)に代えて、以下の式(15)を用い、式(9)に代えて、以下の式(16)を用いてもよい。ここで、以下の式(15)及び式(16)に登場する発音時刻Zとは、発音時刻S及び発音時刻Tの総称である。
Figure 2018016637
また、本変形例のように、状態遷移モデルにおいて、第1観測値及び第2観測値の両方を用いる場合、観測モデルにおいても、第1観測値及び第2観測値の両方を用いてもよい。具体的には、観測モデルにおいて、上述した実施形態に係る式(5)を具体化した式(17)に加え、以下の式(18)を用いることで、状態変数を更新してもよい。
Figure 2018016637
なお、本変形例のように、第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による発音の音量との、双方を制御してもよい。
<3−9.変形例9>
上述した実施形態及び変形例では、予想時刻計算部134が式(6)を用いて、将来の時刻tにおける演奏位置x[t]を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部133が、状態変数を更新する動的モデルを用いて、演奏位置x[n+1]を算出してもよい。
<3−10.変形例10>
センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。
<3−11.他の変形例>
推定部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に代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
合奏システム1を構成する各装置のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、具体的なハードウェア構成はどのようなものであってもよい。例えば、タイミング制御装置10は、単一のプロセッサ101が制御プログラムを実行することにより推定部12、予想部13、および、出力部14として機能するのではなく、タイミング制御装置10は、推定部12、予想部13、および、出力部14のそれぞれに対応する複数のプロセッサを有してもよい。また、物理的に複数の装置が協働して、合奏システム1におけるタイミング制御装置10として機能してもよい。
タイミング制御装置10のプロセッサ101により実行される制御プログラムは、光ディスク、磁気ディスク、半導体メモリなどの非一過性の記憶媒体により提供されてもよいし、インターネット等の通信回線を介したダウンロードにより提供されてもよい。また、制御プログラムは、図4のすべてのステップを備える必要はない。例えば、このプログラムは、ステップS31、S33、およびS34のみ有してもよい。
<本発明の好適な態様>
上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
<第1の態様>
本発明の第1の態様に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を示す追従係数を決定するステップと、追従係数に基づいて、第2イベントの動作態様を決定するステップと、を有する、ことを特徴とする。
この態様によれば、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第2の態様>
本発明の第2の態様に係る制御方法は、演奏における第1イベントに関する第1観測値を受け付けるステップと、第1観測値を用いて、第1イベントに関する第1状態変数を更新するステップと、更新された第1状態変数に追従係数を乗算した乗算値を用いて、演奏における第2イベントに関する第2状態変数を更新するステップと、を有する、ことを特徴とする。
この態様によれば、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第3の態様>
本発明の第3の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、追従係数を、楽曲における演奏の位置に応じた値に決定する、ことを特徴とする。
この態様によれば、楽曲における演奏の位置に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第4の態様>
本発明の第4の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、第2イベントに係る音符の密度に対する第1イベントに係る音符の密度の比率に応じた値に、追従係数を決定する、ことを特徴とする。
この態様によれば、第2イベントに対する第1イベントの音符の密度の比率に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第5の態様>
本発明の第5の態様に係る制御方法は、第4の態様に係る制御方法であって、追従係数を決定するステップにおいて、比率が所定の閾値よりも大きい場合には、比率が所定の閾値以下である場合と比較して、追従係数を大きくする、ことを特徴とする。
この態様によれば、第2イベントに対する第1イベントの音符の密度の比率に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第6の態様>
本発明の第6の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、第2イベントが主旋律に係るイベントである場合には、第2イベントが主旋律に係るイベントでない場合と比較して、追従係数を小さくする、ことを特徴とする。
この態様によれば、第2イベントが主旋律に係るイベントであるか否かに応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第7の態様>
本発明の第7の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、追従係数を、ユーザの指示に応じた値に決定する、ことを特徴とする。
この態様によれば、ユーザの指示に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第8の態様>
本発明の第8の態様に係る制御方法は、第1乃至第7の態様に係る制御方法において、第1イベント及び第2イベントは、演奏における発音のイベントであり、追従係数は、第1イベントに係る発音のタイミングに対する第2イベントに係る発音のタイミングの追従の程度、または、第1イベントに係る発音の音量に対する第2イベントに係る発音の音量の追従の程度を示す、ことを特徴とする。
この態様によれば、発音のタイミングまたは発音の音量に関して、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第9の態様>
本発明の第9の態様に係る制御方法は、第1または第3乃至第7の態様に係る制御方法において、第2イベントは自動演奏楽器による発音のイベントであり、決定された動作態様に基づいて、自動演奏楽器に発音させるステップを有する、ことを特徴とする。
この態様によれば、自動演奏楽器による発音のイベントの第1イベントに対する追従の程度を調整することができる。
<第10の態様>
本発明の第10の態様に係る制御方法は、第2の態様に係る制御方法において、楽曲における演奏の位置に応じて、追従係数を定めるステップを有する、ことを特徴とする。
この態様によれば、楽曲における演奏の位置に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第11の態様>
本発明の第11の態様に係る制御方法は、第2の態様に係る制御方法において、第1イベントに係る音符の密度に対する第2イベントに係る音符の密度の比率に応じて、追従係数を定めるステップを有する、ことを特徴とする。
この態様によれば、第2イベントに対する第1イベントの音符の密度の比率に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第12の態様>
本発明の第12の態様に係る制御方法は、第2の態様に係る制御方法において、第2イベントが主旋律に係るイベントである場合には、第2イベントが主旋律に係るイベントでない場合と比較して、追従係数が小さくなるように追従係数を定めるステップを有する、ことを特徴とする。
この態様によれば、第2イベントが主旋律に係るイベントであるか否かに応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第13の態様>
本発明の第13の態様に係る制御方法は、第2の態様に係る制御方法において、追従係数を、ユーザの指示に応じた値に設定するステップを有する、ことを特徴とする。
この態様によれば、ユーザの指示に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第14の態様>
本発明の第14の態様に係る制御方法は、第2または第10乃至第13の態様に係る制御方法において、第1イベント及び第2イベントは、演奏における発音のイベントであり、第1状態変数及び第2状態変数は、演奏における発音のタイミングまたは音量に関する変数である、ことを特徴とする。
この態様によれば、発音のタイミングまたは発音の音量に関して、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第15の態様>
本発明の第15の態様に係る制御方法は、第2または第10乃至第14の態様に係る制御方法において、第2イベントは自動演奏楽器による発音のイベントであり、更新された第2状態変数に基づいて定められるタイミングで自動演奏楽器に発音させるステップを有する、ことを特徴とする。
この態様によれば、自動演奏楽器による発音のイベントの第1イベントに対する追従の程度を調整することができる。
<第16の態様>
本発明の第16の態様に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、演奏における第2イベントの第1イベントに対する追従の程度を示す追従係数を決定する係数決定部と、追従係数に基づいて、第2イベントの動作態様を決定する動作決定部と、を有することを特徴とする。
この態様によれば、第2イベントの第1イベントに対する追従の程度を調整することができる。
1…合奏システム、10…タイミング制御装置、11…記憶部、12…推定部、13…予想部、14…出力部、15…表示部、20…センサー群、30…自動演奏楽器、101…プロセッサ、102…メモリ、103…ストレージ、104…入出力IF、105…表示装置、131…受付部、132…係数決定部、133…状態変数更新部、134…予想時刻計算部

Claims (10)

  1. 演奏における第1イベントに関する検出結果を受け付けるステップと、
    前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定するステップと、
    前記追従係数に基づいて、前記第2イベントの動作態様を決定するステップと、
    を有する、
    ことを特徴とする制御方法。
  2. 演奏における第1イベントに関する第1観測値を受け付けるステップと、
    前記第1観測値を用いて、前記第1イベントに関する第1状態変数を更新するステップと、
    前記更新された第1状態変数に追従係数を乗算した乗算値を用いて、前記演奏における第2イベントに関する第2状態変数を更新するステップと、
    を有する、
    ことを特徴とする制御方法。
  3. 前記追従係数を決定するステップにおいて、
    前記追従係数を、楽曲における前記演奏の位置に応じた値に決定する、
    ことを特徴とする請求項1に記載の制御方法。
  4. 前記追従係数を決定するステップにおいて、
    前記第2イベントに係る音符の密度に対する前記第1イベントに係る音符の密度の比率に応じた値に、前記追従係数を決定する、
    ことを特徴とする請求項1に記載の制御方法。
  5. 前記追従係数を決定するステップにおいて、
    前記比率が所定の閾値よりも大きい場合には、
    前記比率が所定の閾値以下である場合と比較して、
    前記追従係数を大きくする、
    ことを特徴とする請求項4に記載の制御方法。
  6. 前記追従係数を決定するステップにおいて、
    前記第2イベントが主旋律に係るイベントである場合には、
    前記第2イベントが主旋律に係るイベントでない場合と比較して、
    前記追従係数を小さくする、
    ことを特徴とする請求項1に記載の制御方法。
  7. 前記追従係数を決定するステップにおいて、
    前記追従係数を、ユーザの指示に応じた値に決定する、
    ことを特徴とする請求項1に記載の制御方法。
  8. 前記第1イベント及び前記第2イベントは、前記演奏における発音のイベントであり、
    前記追従係数は、
    前記第1イベントに係る発音のタイミングに対する前記第2イベントに係る発音のタイミングの追従の程度、または、
    前記第1イベントに係る発音の音量に対する前記第2イベントに係る発音の音量の追従の程度を示す、
    ことを特徴とする請求項1乃至7に記載の制御方法。
  9. 前記第2イベントは自動演奏楽器による発音のイベントであり、
    前記決定された動作態様に基づいて、前記自動演奏楽器に発音させるステップを有する、
    ことを特徴とする請求項1または請求項3乃至7に記載の制御方法。
  10. 演奏における第1イベントに関する検出結果を受け付ける受付部と、
    前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定する係数決定部と、
    前記追従係数に基づいて、前記第2イベントの動作態様を決定する動作決定部と、
    を有する制御装置。
JP2018528901A 2016-07-22 2017-07-21 制御方法、及び、制御装置 Active JP6729699B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016144349 2016-07-22
JP2016144349 2016-07-22
PCT/JP2017/026525 WO2018016637A1 (ja) 2016-07-22 2017-07-21 制御方法、及び、制御装置

Publications (2)

Publication Number Publication Date
JPWO2018016637A1 true JPWO2018016637A1 (ja) 2019-01-24
JP6729699B2 JP6729699B2 (ja) 2020-07-22

Family

ID=60992633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018528901A Active JP6729699B2 (ja) 2016-07-22 2017-07-21 制御方法、及び、制御装置

Country Status (5)

Country Link
US (1) US10665216B2 (ja)
EP (1) EP3489944A4 (ja)
JP (1) JP6729699B2 (ja)
CN (1) CN109478398B (ja)
WO (1) WO2018016637A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016639A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 タイミング制御方法、及び、タイミング制御装置
JP6642714B2 (ja) * 2016-07-22 2020-02-12 ヤマハ株式会社 制御方法、及び、制御装置
JP6631713B2 (ja) * 2016-07-22 2020-01-15 ヤマハ株式会社 タイミング予想方法、タイミング予想装置、及び、プログラム
JP7243026B2 (ja) * 2018-03-23 2023-03-22 ヤマハ株式会社 演奏解析方法、演奏解析装置およびプログラム
EP4123637A1 (en) * 2020-03-17 2023-01-25 Yamaha Corporation Parameter inferring method, parameter inferring system, and parameter inferring program
JP2022075147A (ja) * 2020-11-06 2022-05-18 ヤマハ株式会社 音響処理システム、音響処理方法およびプログラム
CN112669798B (zh) * 2020-12-15 2021-08-03 深圳芒果未来教育科技有限公司 一种对音乐信号主动跟随的伴奏方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527752A (ja) * 1991-04-05 1993-02-05 Yamaha Corp 自動演奏装置
JP2007241181A (ja) * 2006-03-13 2007-09-20 Univ Of Tokyo 自動伴奏システム及び楽譜追跡システム
JP2011180590A (ja) * 2010-03-02 2011-09-15 Honda Motor Co Ltd 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム
JP2015079183A (ja) * 2013-10-18 2015-04-23 ヤマハ株式会社 スコアアライメント装置及びスコアアライメントプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5521323A (en) * 1993-05-21 1996-05-28 Coda Music Technologies, Inc. Real-time performance score matching
US5641927A (en) * 1995-04-18 1997-06-24 Texas Instruments Incorporated Autokeying for musical accompaniment playing apparatus
JP3567527B2 (ja) * 1995-04-19 2004-09-22 ヤマハ株式会社 鍵盤楽器
US7297856B2 (en) * 1996-07-10 2007-11-20 Sitrick David H System and methodology for coordinating musical communication and display
WO1999040566A1 (fr) * 1998-02-09 1999-08-12 Sony Corporation Procede et appareil de traitement de signaux numeriques, procede et appareil de generation de donnees de commande et support pour programme d'enregistrement
WO2000054249A1 (fr) * 1999-03-08 2000-09-14 Faith, Inc. Dispositif de reproduction de donnees, procede de reproduction de donnees et terminal d'informations
JP4334096B2 (ja) * 1999-12-24 2009-09-16 ローランド株式会社 電子楽器の演奏位置検索装置
DE10164686B4 (de) * 2001-01-13 2007-05-31 Native Instruments Software Synthesis Gmbh Automatische Erkennung und Anpassung von Tempo und Phase von Musikstücken und darauf aufbauender interaktiver Musik-Abspieler
US7897865B2 (en) * 2002-01-15 2011-03-01 Yamaha Corporation Multimedia platform for recording and/or reproducing music synchronously with visual images
JP3835324B2 (ja) * 2002-03-25 2006-10-18 ヤマハ株式会社 楽曲再生装置
JP3720004B2 (ja) * 2002-07-22 2005-11-24 ヤマハ株式会社 音楽制御装置
US7863513B2 (en) * 2002-08-22 2011-01-04 Yamaha Corporation Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble
WO2014003072A1 (ja) * 2012-06-26 2014-01-03 ヤマハ株式会社 オーディオ波形データを使用する自動演奏技術
US9251773B2 (en) * 2013-07-13 2016-02-02 Apple Inc. System and method for determining an accent pattern for a musical performance
JP6296221B2 (ja) 2013-08-12 2018-03-20 ヤマハ株式会社 音響信号のアライメント装置、アライメント方法及びコンピュータプログラム
JP6281211B2 (ja) 2013-08-28 2018-02-21 ヤマハ株式会社 音響信号のアライメント装置、アライメント方法及びコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527752A (ja) * 1991-04-05 1993-02-05 Yamaha Corp 自動演奏装置
JP2007241181A (ja) * 2006-03-13 2007-09-20 Univ Of Tokyo 自動伴奏システム及び楽譜追跡システム
JP2011180590A (ja) * 2010-03-02 2011-09-15 Honda Motor Co Ltd 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム
JP2015079183A (ja) * 2013-10-18 2015-04-23 ヤマハ株式会社 スコアアライメント装置及びスコアアライメントプログラム

Also Published As

Publication number Publication date
US20190147837A1 (en) 2019-05-16
US10665216B2 (en) 2020-05-26
WO2018016637A1 (ja) 2018-01-25
EP3489944A1 (en) 2019-05-29
CN109478398A (zh) 2019-03-15
EP3489944A4 (en) 2020-04-08
JP6729699B2 (ja) 2020-07-22
CN109478398B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
JP6729699B2 (ja) 制御方法、及び、制御装置
JP6597903B2 (ja) 楽曲データ処理方法およびプログラム
JP6614356B2 (ja) 演奏解析方法、自動演奏方法および自動演奏システム
JP6642714B2 (ja) 制御方法、及び、制御装置
US10650794B2 (en) Timing control method and timing control device
US10699685B2 (en) Timing prediction method and timing prediction device
JP7448053B2 (ja) 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム
JP6690181B2 (ja) 楽音評価装置及び評価基準生成装置
JP5514965B2 (ja) 弦楽器のバーチャルチューニング
CN110959172B (zh) 演奏解析方法、演奏解析装置以及存储介质
JP2018146782A (ja) タイミング制御方法
WO2022190403A1 (ja) 信号処理システム、信号処理方法およびプログラム
Canazza et al. Expressive Director: A system for the real-time control of music performance synthesis
JP7107427B2 (ja) 音信号合成方法、生成モデルの訓練方法、音信号合成システムおよびプログラム
WO2023170757A1 (ja) 再生制御方法、情報処理方法、再生制御システムおよびプログラム
JP2005308992A (ja) 学習支援システム
JP2007164016A (ja) 楽音制御装置および楽音制御処理のプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200107

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: 20200602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200615

R151 Written notification of patent or utility model registration

Ref document number: 6729699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151