JP2023088496A - 発音制御方法、プログラム、発音制御装置および電子鍵盤装置 - Google Patents
発音制御方法、プログラム、発音制御装置および電子鍵盤装置 Download PDFInfo
- Publication number
- JP2023088496A JP2023088496A JP2021203269A JP2021203269A JP2023088496A JP 2023088496 A JP2023088496 A JP 2023088496A JP 2021203269 A JP2021203269 A JP 2021203269A JP 2021203269 A JP2021203269 A JP 2021203269A JP 2023088496 A JP2023088496 A JP 2023088496A
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- time
- learning
- depression
- 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.)
- Pending
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/18—Selecting circuits
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
【課題】電子鍵盤装置における演奏と発音態様との関係をモデルとなる鍵盤楽器における関係に近づけること【解決手段】本発明の発音制御方法は、鍵の押下量に対応する鍵位置データを順次取得し、鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの取得タイミングとに基づいて得られる挙動データを入力し、前記学習済モデルから出力される作用データに基づいて、信号生成部において音信号を生成させるための発音指示データを出力することを含む。【選択図】図5
Description
本発明は、発音を制御する技術に関する。
アコースティックピアノは、鍵の操作に応じて、鍵に連動するハンマが弦を打つことによりピアノ音を生成する。一方、電子ピアノは、鍵の操作に応じて電子的にピアノ音を生成する。例えば、鍵の押下量を検知するセンサを用いることで鍵の挙動が測定され、所定の深さまで鍵が押し込まれた場合にピアノ音が生成される。このように、電子ピアノとアコースティックピアノとは、いずれも鍵の操作によって発音するが、発音機構が異なる。したがって、電子ピアノを用いた演奏とアコースティックピアノを用いた演奏とでは、同じ演奏をしたとしても発音のタイミングが一致しないことがある。演奏時のタッチ感を向上させるために、電子ピアノがアコースティックピアノのハンマを模した構造体を有することもある。このように鍵に連動する構造体の挙動を測定して発音タイミングの制御に用いることで、電子ピアノを用いた演奏であっても、アコースティックピアノを用いた演奏に近い発音タイミングを実現することが試みられている(例えば、特許文献1)。
上述したように、電子ピアノにはハンマを模した構造体が設けられる場合がある。この構造体は、演奏における鍵へのタッチ感をアコースティックピアノのタッチ感に近づけるための構成であり、アコースティックピアノのハンマと類似した形状であるとは限らない。アコースティックピアノのアクション機構と同等の構成を有していない場合には、アクション機構にセンサを用いたとしてもアコースティックピアノを用いた演奏に近い発音タイミングを実現することは難しい。
本発明の目的の一つは、電子鍵盤装置における演奏と発音態様との関係をモデルとなる鍵盤楽器における関係に近づけることにある。
本発明の一実施形態によれば、鍵の押下量に対応する鍵位置データを順次取得し、鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの取得タイミングとに基づいて得られる挙動データ入力し、前記学習済モデルから出力される作用データに基づいて、信号生成部において音信号を生成させるための発音指示データを出力することを含む、発音制御方法が提供される。
本発明によれば、電子鍵盤装置における演奏と発音態様との関係をモデルとなる鍵盤楽器における関係に近づけることができる。
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下に示す実施形態は一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。
[鍵盤楽器の構成]
図1は、一実施形態における鍵盤楽器の構成を示す図である。鍵盤楽器1は、例えば、電子ピアノ等の電子鍵盤装置であって、演奏操作子として複数の鍵70を有する電子楽器の一例である。ユーザが鍵70を操作すると、スピーカ60から音が発生する。発生する音の種類(音色)は、操作部21を用いて変更される。この例において、鍵盤楽器1は、ピアノの音色を用いて発音する場合に、アコースティックピアノに近い発音をすることができる。特に、鍵70の操作に応じたタイミングおよび音量を、アコースティックピアノに近い発音として実現することができる。続いて、鍵盤楽器1の各構成について、詳述する。
図1は、一実施形態における鍵盤楽器の構成を示す図である。鍵盤楽器1は、例えば、電子ピアノ等の電子鍵盤装置であって、演奏操作子として複数の鍵70を有する電子楽器の一例である。ユーザが鍵70を操作すると、スピーカ60から音が発生する。発生する音の種類(音色)は、操作部21を用いて変更される。この例において、鍵盤楽器1は、ピアノの音色を用いて発音する場合に、アコースティックピアノに近い発音をすることができる。特に、鍵70の操作に応じたタイミングおよび音量を、アコースティックピアノに近い発音として実現することができる。続いて、鍵盤楽器1の各構成について、詳述する。
鍵盤楽器1は、複数の鍵70および筐体50を備える。複数の鍵70は、筐体50に回動可能に支持されている。筐体50には、操作部21、表示部23、スピーカ60が配置されている。筐体50の内部には、制御部10、記憶部30、鍵挙動測定部75および音源部80が配置されている。筐体50の内部に配置された各構成は、バスを介して接続されている。
この例では、鍵盤楽器1は、外部装置と信号の入出力をするためのインターフェイスを含んでいる。インターフェイスは、例えば、音信号を出力する端子、MIDIデータの送受信をするためのケーブル接続端子などである。例えば、インターフェイスにペダル装置が接続されることによって、鍵盤楽器1にダンパペダル等の機能が付加されてもよい。
制御部10は、CPUなどの演算処理回路(プロセッサ)、RAM、ROMなどの記憶装置を含む。制御部10は、CPUを用いて制御プログラムを実行することによって、各種機能を鍵盤楽器1において実現させる。操作部21は、操作ボタン、タッチセンサおよびスライダなどの装置であり、入力された操作に応じた信号を制御部10に出力する。表示部23は、制御部10による制御に基づいた画面を表示する。
記憶部30(メモリ)は、不揮発性メモリ等の記憶装置である。記憶部30は、制御部10によって実行される制御プログラムを記憶する。また、記憶部30は、音源部80において用いられるプログラム、パラメータ、波形データ等を記憶してもよい。スピーカ60は、制御部10または音源部80から出力される音信号を増幅して出力することによって、音信号に応じた音を発生する。
鍵挙動測定部75は、複数の鍵70のそれぞれの挙動を測定し、測定結果を示す測定データを出力する。この測定データは、鍵番号データKnおよび鍵位置データKs(m)を含む。鍵番号データKnは、複数の鍵70のうち操作された鍵70を識別する情報(例えば鍵番号)である。鍵位置データKs(m)は鍵70が押下されたときの位置、すなわち押下量を示す情報である。この例では、mは1、2、3、4のいずれかであり、鍵70の押下量が所定の量に到達したときに出力される情報である。
鍵70は、レスト位置(押下量が0mm)からエンド位置(押下量が10mm)までの範囲(押下範囲)で回動可能である。Ks(1)は押下量が2.7mmのときに出力される。Ks(2)は押下量が4.5mmのときに出力される。Ks(3)は押下量が6.3mmのときに出力される。Ks(4)は押下量が8.1mmのときに出力される。このように、この例では、鍵70の押下量を検出するために、1つの鍵70に対して4つのセンサが設けられている。Ks(m)が出力される押下量は一例であって、様々に設定することができる。KnとKs(m)とが関連付けられて出力されることにより、操作された鍵70とその鍵70に対する操作内容とが、鍵挙動測定部75から出力される測定データによって特定される。
音源部80は、DSP(Digital Signal Processor)を含み、鍵挙動測定部75から入力された測定データに基づいて音信号を生成してスピーカ60に出力する。音源部80が生成する音信号は、鍵70への操作毎に得られる。複数の押鍵に対応してそれぞれ得られた複数の音信号は合成され、音源部80から出力される。音源部80の構成について詳述する。
[音源部の構成]
図2は、一実施形態における音源部の機能構成を示すブロック図である。音源部80におけるDSPは、記憶部30に記憶された所定のプログラムを実行することによって、変換部81、モデルセット記憶部83、信号生成部85、波形データ記憶部87および音信号出力部89を実現する。これらの各機能の少なくとも一部がハードウエアによって実現されてもよい。
図2は、一実施形態における音源部の機能構成を示すブロック図である。音源部80におけるDSPは、記憶部30に記憶された所定のプログラムを実行することによって、変換部81、モデルセット記憶部83、信号生成部85、波形データ記憶部87および音信号出力部89を実現する。これらの各機能の少なくとも一部がハードウエアによって実現されてもよい。
変換部81は、鍵挙動測定部75から順次出力される鍵番号データKnおよび鍵位置データKs(m)を取得して、信号生成部85において用いられるフォーマットの制御データCDに変換する。この例では、制御データCDは、MIDI形式によって発音内容を規定するデータであって、鍵番号データKnに応じたノートオンおよびノートオフを含む。発音を指示するためのデータ(発音指示データ)であるノートオンには、発音の音量に関連するベロシティが関連付けられる。変換部81は、制御データCDを用いることによって、信号生成部85において生成される音信号の発音内容を制御する。すなわち、変換部81は、発音制御装置として機能する。
ここで、鍵70が押下されるときの鍵位置データKs(m)のパターンについて説明する。
図3は、一実施形態における鍵位置センサの位置関係と押鍵の検出パターンを示す図である。一般的な押鍵によれば、図3のパターンP1に示すように、鍵70がレスト位置(Rest)から押下されてエンド位置(End)まで押下される。しかし、実際の押鍵によれば、パターンP1に限られず、様々なパターンが存在する。鍵70の移動速度を測定するためには少なくとも2箇所での鍵70の押下量の検出を要する。この移動速度を測定することを前提とすると、この例のように4箇所での鍵70の押下量が検出できる場合には、押鍵の検出パターン(以下、押鍵パターンという場合がある)は、パターンP1以外にパターンP2からP6まで存在する。
例えば、エンド位置まで押下される前に指を鍵70から離すような場合であっても、実際のアコースティックピアノでは、アクション機構が慣性で動作し続けてハンマが弦を打つ場合がある。このような押鍵パターンは、図3に示すパターンP2、P3、P5に対応する。鍵70が押下された後レスト位置に戻る前に、再び押下されるような演奏手法も存在する。このような押鍵パターンは、図3に示すパターンP4、P5、P6に対応する。
直前の離鍵操作から押鍵操作までの時間差が所定時間以上の場合には、ハンマが元の位置に戻ってハンマの動きが停止した状態において押鍵操作が開始される。一方、直前の離鍵操作から押鍵操作までの時間差が所定時間より小さい場合には、ハンマが元の位置に戻る前におけるハンマの動きが安定する前(慣性移動を停止する前)の状態において押鍵操作が開始される。この場合には、鍵70の連打による演奏操作に対応する。単打の場合と連打の場合とでは、押鍵が開始されるときのハンマの状態が異なることになるから、押鍵後のハンマの挙動も異なることになる。以下の説明では、押鍵パターンが単打かつパターンP1である場合には単打パターンP1として表し、連打かつパターンP4である場合には連打パターンP4として表す場合がある。
図2に戻って説明を続ける。変換部81は、鍵位置データKs(m)が入力される学習済モデルから作用データを取得し、作用データに基づいて制御データCDを出力する。学習済モデルは、アコースティックピアノにおける鍵の押下量の時系列データと作用データとの対応関係を、外部のサーバ等のコンピュータにおいて機械学習させることによって生成されるニューラルネットワークを有するモデルである。このように生成された学習済モデルは、鍵盤楽器1に提供される。この例では、学習済モデルはLSTM(Long Short Term Memory)を利用したモデルである。学習済モデルは、他のモデルを利用したものであってもよく、例えば、RNN(Recurrent Neural Network)を利用したモデルであってもよいし、GRU(Gated Recurrent Unit)を利用したモデルであってもよい。他のモデルとしては、HMM(HIDDEN MARKOV MODEL)またはSVM(SUPPORT VECTOR MACHINE)であってもよい。SVMのようなモデルの場合は、ニューラルネットワークの部分とそのモデルとを入れ替えて用いられてもよい。
作用データは、鍵の押下に伴う発音体へのアクション機構の作用に関連するデータであって、発音タイミングに関する情報(Kon Time)、および発音の音量に関する情報(Velocity)を含む。作用データがアコースティックピアノと関連する場合には、発音体は弦であり、アクション機構は弦を打つハンマに相当する。この場合には、作用データは、アコースティックピアノにおけるハンマによる打弦に関連するデータといえる。作用データは、この例では、鍵の操作に対応するタイミングを基準とした打弦タイミング(Kon Time)、および鍵が操作されたことによる打弦時のハンマ速度(Velocity)を含む。以下の説明では、学習済モデルを生成するときに用いられるピアノ等の鍵盤楽器をモデル鍵盤楽器という場合がある。
変換部81において用いられる学習済モデルは、鍵70が押下されたときの押鍵パターンに対応して設けられている。この例では、変換部81は、パターンP1からP6までのそれぞれについて単打および連打の場合を含む12種類の押鍵パターンのそれぞれに対応した学習済モデルを用いる。変換部81によって実現される詳細の構成については後述する。
モデルセット記憶部83は、変換部81において用いられる12種類の学習済モデルの組み合わせ(以下、学習済モデルセットという)を音色に対応付けて記憶する。この対応関係は、モデルセットテーブルによって規定されている。
図4は、一実施形態におけるモデルセットテーブルを示す図である。図4に示すように、モデルセットテーブルは、音色と学習済モデルセットとの対応関係を規定している。図4に示す例では、音色「GP(グランドピアノ)」と学習済モデルセット「MS(GP)」とが対応付けられている。
学習済モデルセット「MS(GP)」は、上述した12種類の学習済モデルを含む。この12種類の学習済モデルは、上述したように、単打および連打のそれぞれについてパターンP1からP6による鍵操作に対応した学習済モデルである。各学習済モデルは、グランドピアノにおける鍵の操作態様に対する打弦タイミングおよびハンマ速度の関係を機械学習させることによって生成されたモデルである。実際のグランドピアノでは、鍵の操作態様と打弦タイミングとが相関関係を有し、鍵の操作態様とハンマ速度とが相関関係を有する。機械学習のために用いられる学習用の教師データは、鍵の押下量の時系列データおよびその結果としての打弦タイミングおよびハンマ速度を含む。このような教師データは、実際のグランドピアノにセンサを取り付けることによって予め測定される結果を用いて生成される。
音色「UP(アップライトピアノ)」には、学習済モデルセット「MS(UP)」が対応する。学習済モデルセット「MS(UP)」に含まれる12種類の学習済モデルは、アップライトピアノにおける鍵の操作に対する打弦タイミングおよびハンマ速度の関係を機械学習させることによって生成されたモデルである。ここでは、グランドピアノおよびアップライトピアノとは1種類ずつの音色を示しているが、さらに機種によって異なる音色が設定されてもよい。その場合には、学習済モデルを生成するときの機械学習では、それぞれの音色に対応するピアノを用いて測定された結果から得られた教師データを使用する。
変換部81は、入力される複数の鍵位置データKs(m)の時系列データを取得し、学習済モデルの入力層に入力する。この時系列データは、鍵位置データKs(m)の組み合わせパターンと鍵位置データKs(m)を取得したタイミング(鍵挙動測定部75から出力されたタイミングであってもよい)との情報を含む。時系列データは、鍵70の押下量を時系列で示すものであるから、鍵70の挙動を示す挙動データということもできる。時系列データが入力された学習済モデルは、中間層において演算した結果として、打弦タイミングとハンマ速度とを含む作用データを出力層に出力する。
図2に戻って説明を続ける。波形データ記憶部87は、設定可能な音色、例えば、グランドピアノおよびアップライトピアノのそれぞれに対応する波形データを記憶している。例えば、グランドピアノに対応する波形データは、グランドピアノの音(押鍵に伴う打弦によって生じた音)をサンプリングした波形データである。
信号生成部85は、変換部81から出力される制御データDCに基づいて、音信号を生成して出力する。このとき、波形データ記憶部87に記憶された波形データのうち、設定された音色に応じた波形データを用いて音信号を生成する。
音信号出力部89は、信号生成部85によって生成された音信号を、音源部80の外部に出力する。この例では、スピーカ60に音データが出力されて、ユーザに聴取される。続いて、変換部81の詳細の構成について説明する。
[変換部の構成]
図5は、一実施形態における変換部の機能構成を示すブロック図である。変換部81は、学習済モデルセット800、選択部810、モデル設定部830、タイミング調整部850、生成部870および出力部890を含む。学習済モデルセット800は、上述したように、12種類の押鍵パターンのそれぞれに対応する学習済モデルを含む。ここでは、学習済モデルMA(MA(1)、MA(2)、MA(3))、MB(MB(1)、MB(2)、MB(3))、MC(MC(1)、MC(2))、MD(MD(1)、MD(2))、ME(ME(1))、MF(MF(1))を含む。
図5は、一実施形態における変換部の機能構成を示すブロック図である。変換部81は、学習済モデルセット800、選択部810、モデル設定部830、タイミング調整部850、生成部870および出力部890を含む。学習済モデルセット800は、上述したように、12種類の押鍵パターンのそれぞれに対応する学習済モデルを含む。ここでは、学習済モデルMA(MA(1)、MA(2)、MA(3))、MB(MB(1)、MB(2)、MB(3))、MC(MC(1)、MC(2))、MD(MD(1)、MD(2))、ME(ME(1))、MF(MF(1))を含む。
ユーザが鍵盤楽器1に対して使用する音色を設定すると、モデル設定部830は、その音色に対応する学習済モデルセットをモデルセット記憶部83から読み出して、学習済モデルセット800として設定する。例えば、グランドピアノの音色が設定されると、モデル設定部830は、学習済モデルセット「MS(GP)」を学習済モデルセット800をとして設定する。
学習済モデルMA(1)、MA(2)、MA(3)は、それぞれ、単打パターンP1、単打パターンP2、単打パターンP3に対応する。学習済モデルMB(1)、MB(2)、MB(3)は、それぞれ、連打パターンP1、連打パターンP2、連打パターンP3に対応する。学習済モデルMC(1)、MC(2)は、それぞれ、単打パターンP4、単打パターンP5に対応する。学習済モデルMD(1)、MD(2)は、それぞれ、連打パターンP4、連打パターンP5に対応する。学習済モデルME(1)は、単打パターンP6に対応する。学習済モデルMF(1)は、連打パターンP6に対応する。このように、学習済モデルMA、MC、MEは単打用のモデル(単打学習済モデル)であり、学習済モデルMB、MD、MFは連打用のモデル(連打学習済モデル)である。続いて、それぞれの学習済モデルについて説明する。
図6は、学習済モデルMAに対応する鍵位置の変化の例を示す図である。図6は、鍵位置変化kvの時間変化と鍵位置データKs(m)の取得タイミングとを示す図である。横軸は時刻を示し、縦軸は鍵70の押下量に対応する。縦軸方向については、レスト位置(Rest)とエンド位置(End)との間において、Ks(1)、Ks(2)、Ks(3)およびKs(4)が均等に配置されている。これは、便宜上均等に配置しただけであって、必ずしも各センサが均等間隔で配置されることを前提としたものではない。この例では、Ks(1)からKs(4)までは、隣接間が1.8mmである。一方、レスト位置とKs(1)との間は2.7mmであり、エンド位置とKs(4)との間は1.9mmである。後述する図9、図11、図13、図15、図17についても同じである。
図6に示す鍵位置変化kvによれば、直前の離鍵から次の押鍵までの一例を示している。鍵位置変化kvによれば、離鍵におけるKs(2)、Ks(1)、押鍵におけるKs(1)、Ks(2)、Ks(3)、Ks(4)の順で取得される。それぞれの取得時刻(取得タイミング)は、trk2、trk1、tpk1、tpk2、tpk3、tpk4に対応する。離鍵時のKs(1)から押鍵時のKs(1)までの時間Tw1(tpk1-trk1)は、押鍵が単打に対応するか連打に対応するかの判断に用いられる。Ks(1)が取得された場合において、直前にKs(2)が取得されていれば離鍵時のKs(1)であることが特定される。Ks(1)が取得された場合において、直前にKs(1)が取得され直後にKs(2)が取得された場合には押鍵時のKs(1)であることが特定される。図6に示すように、Tw1が予め設定された時間Td1以上である。この場合の押鍵は、離鍵によりハンマが元の位置に戻った後における操作であると解釈される。したがって、図6に示す鍵位置変化kvの押鍵パターンは、単打パターンP1に対応する。押鍵時のKs(1)が取得されたときに、過去のTd1以内にKs(1)が検出されていない場合においても同様である。
押鍵時において鍵70がエンド位置まで押し込まれず、途中で鍵70から指が離れた場合には、指が離れたタイミングに応じて以下の2つの例が想定される。第1の例として、押鍵時においてKs(3)が取得された後にKs(4)が取得されずに、再びKs(3)が取得される場合がある。第1の例は、単打パターンP2に対応する。第2の例として、押鍵時においてKs(2)が取得された後にKs(3)が取得されずに、再びKs(2)が取得される場合がある。第2の例は単打パターンP3に対応する。
図7は、学習済モデルMAのうち使用されるモデルを示す図である。変換部81は、単打パターンP1から単打パターンP3の場合、すなわち単打かつ押鍵時にKs(1)の取得から始まる場合には、学習済モデルMAを利用する。Ks(2)を取得した後にKs(3)が取得されずに再びKs(2)が取得される場合(条件Ks(2)→Ks(2))、すなわち単打パターンP3の場合には、学習モデルMA(3)が変換部81によって使用される。Ks(3)を取得した後にKs(4)が取得されずに再びKs(3)が取得される場合(条件Ks(3)→Ks(3))、すなわち単打パターンP2の場合には、学習モデルMA(2)が変換部81によって使用される。Ks(4)まで取得された場合、すなわち単打パターンP1の場合には、学習モデルMA(1)が変換部81によって使用される。
ここで、学習済モデルMA(1)についてさらに説明する。上述したように、学習済モデルは、モデル鍵盤楽器における鍵の押下量の時系列に関連する学習用の時系列データと学習用の作用データとの対応関係(教師データ)を機械学習することによって生成される。学習済モデルの入力層に時系列データが入力されると、機械学習によってパラメータが決定された中間層において演算処理が実行され、作用データが学習済モデルの出力層から出力される。以下、時系列データを入力データという場合があり、作用データを出力データという場合がある。
時系列データは、押鍵パターンに対応して決められている。例えば、学習済モデルMA(1)であれば、単打パターンP1に対応する。したがって、時系列データは、パターンP1に対応するKs(1)、Ks(2)、Ks(3)、Ks(4)の取得時刻に関連するデータである。この例では、取得時刻は、押鍵パターンの最初に取得される鍵位置データ(ここではKs(1))の時刻を基準とした値に変換されている。
図8は、学習済モデルMA(1)を生成するときに用いる教師データの例を示す図である。教師データは、機械学習のときに用いる時系列データ(入力データ)と作用データ(出力データ)との対応関係を示すデータである。学習済モデルMA(1)に対応する教師データは、図8に示す入力データと出力データとを含む。
入力データは、学習済モデルMA(1)に対応する単打パターンP1に対応している。すなわち、入力データは、Ks(1)、Ks(2)、Ks(3)、Ks(4)のそれぞれの取得時刻「Ks(1)Time」、「Ks(2)Time」、「Ks(3)Time」、「Ks(4)Time」を示す。取得時刻は、図6に示す例では、「tpk1」、「tpk2」、「tpk3」、「tpk4」に対応する。ここでは、Ks(1)の取得時刻を基準としている。したがって、「Ks(1)Time」、「Ks(2)Time」、「Ks(3)Time」、「Ks(4)Time」は、「0」、「tpk2-tpk1」、「tpk3-tpk1」、「tpk4-tpk1」として表される。取得時刻の単位は、例えば、内部クロックに応じて動作するタイマのカウント数である。
出力データは、モデル鍵盤楽器の鍵が入力データに示すように押下された場合において、発音体の発音タイミング「Kon Time」、および発音体に作用するときのアクション機構(例えば、発音体に作用する部分)の速度「Velocity」を示す。「Kon Time」は、この例では、入力データの基準時刻、すなわち、押鍵パターンの最初に取得される鍵位置データ(ここではKs(1))の時刻を基準として表される。「Velocity」は、「0」から「127」までの128段階で表され、上述したように発音の音量に対応する。モデル鍵盤楽器がアコースティックピアノであれば、発音タイミングはハンマが打弦するときのタイミングに対応し、アクション機構の速度はハンマの速度に対応する。この例では、押鍵パターン、打弦タイミングおよびハンマ速度は、モデル鍵盤楽器であるアコースティックピアノを用いて実測したものである。
学習済モデルMA(1)は、図8に例示する教師データを用いて機械学習をすることによって生成される。他の学習済モデルを生成するときに用いられる教師データは、それぞれ例示しないが、学習済モデルに対応する押鍵パターンにしたがった入力データであればよい。例えば、学習済モデルMA(3)であれば、単打パターンP3に対応するため、教師データにおける入力データが、Ks(1)、Ks(2)のそれぞれの取得時刻「Ks(1)Time」、「Ks(2)Time」であればよい。
このような方法で機械学習をしているため、学習済モデルMA(1)、MA(2)、MA(3)に入力される時系列データは、図7に示すように決まる。すなわち、単打パターンP2に対応する学習済モデルMA(2)であれば、時系列データ(入力データ)は、Ks(1)、Ks(2)、Ks(3)の取得時刻に関連するデータ(「Ks(1)Time」、「Ks(2)Time」、「Ks(3)Time」)である。単打パターンP3に対応する学習済モデルMA(3)であれば、時系列データ(入力データ)は、Ks(1)、Ks(2)の取得時刻に関連するデータ(「Ks(1)Time」、「Ks(2)Time」)である。作用データ(出力データ)は、いずれの学習済モデルであっても、「Kon Time」および「Velocity」を含む。学習済モデルの生成方法の詳細については後述する。
図9は、学習済モデルMBに対応する鍵位置の変化の例を示す図である。鍵位置変化kvによれば、離鍵におけるKs(2)、Ks(1)、押鍵におけるKs(1)、Ks(2)、Ks(3)、Ks(4)の順で取得される。それぞれの取得時刻は、trk2、trk1、tpk1、tpk2、tpk3、tpk4に対応する。この部分は、図6に示す例と同じである。一方、離鍵時のKs(1)から押鍵時のKs(1)までの時間Tw1(tpk1-trk1)は、時間Td1より小さい。この押鍵は、離鍵によりハンマが元の位置に戻る前の操作であると解釈される。したがって、図9に示す鍵位置変化kvの押鍵パターンは、連打パターンP1に対応する。
押鍵時において鍵70がエンド位置まで押し込まれず、途中で鍵70から指が離れた場合には、単打のときと同様に、指が離れたタイミングに応じて、連打パターンP2および連打パターンP3に対応する場合がある。
図10は、学習済モデルMBのうち使用されるモデルを示す図である。変換部81は、連打パターンP1から連打パターンP3の場合、すなわち連打かつ押鍵時にKs(1)の取得から始まる場合には、学習済モデルMBを利用する。Ks(2)を取得した後にKs(3)が取得されずに再びKs(2)が取得される場合(条件Ks(2)→Ks(2))、すなわち連打パターンP3の場合には、学習モデルMB(3)が変換部81によって使用される。Ks(3)を取得した後にKs(4)が取得されずに再びKs(3)が取得される場合(条件Ks(3)→Ks(3))、すなわち連打パターンP2の場合には、学習モデルMB(2)が変換部81によって使用される。Ks(4)まで取得された場合、すなわち連打パターンP1の場合には、学習モデルMB(1)が変換部81によって使用される。
学習済モデルMAと学習済モデルMBとでは、単打か連打かの違いであるが、学習済モデルに入力される時系列データが異なる。図10に示すように、学習済モデルMB(1)であれば、連打パターンP1に対応する。したがって、時系列データは、パターンP1に対応するKs(1)、Ks(2)、Ks(3)、Ks(4)の取得時刻に関連するデータに加えて、その前の離鍵時のKs(2)、Ks(1)の取得時刻に関連するデータを含む。このように連打の場合には、押鍵の直前における離鍵時のKs(2)、Ks(1)の取得時刻がさらに用いられる。すなわち、時系列データは、単打の場合は押鍵に関する時間範囲の取得時刻を含んでいたが、連打の場合には、さらに離鍵に関する時間範囲の取得時刻も含む。取得時刻は、押鍵パターンの最初に取得される鍵位置データ(ここでは押鍵時のKs(1))の時刻を基準とした値に変換されている。最初に用いる離鍵時のKs(2)の取得時刻を基準としてもよい。
学習済モデルMB(1)に入力される時系列データは、離鍵時のKs(2)、Ks(1)、押鍵時のKs(1)、Ks(2)、Ks(3)、Ks(4)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(2)Time」、「Ks(1)Time」、「Ks(1)Time」、「Ks(2)Time」、「Ks(3)Time」、「Ks(4)Time」を含む。学習済モデルMB(2)に入力される時系列データは、離鍵時のKs(2)、Ks(1)、押鍵時のKs(1)、Ks(2)、Ks(3)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(2)Time」、「Ks(1)Time」、「Ks(1)Time」、「Ks(2)Time」、「Ks(3)Time」を含む。学習済モデルMB(3)に入力される時系列データは、離鍵時のKs(2)、Ks(1)、押鍵時のKs(1)、Ks(2)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(2)Time」、「Ks(1)Time」、「Ks(1)Time」、「Ks(2)Time」を含む。作用データ(出力データ)は、いずれの学習済モデルであっても、「Kon Time」および「Velocity」を含む。
学習済モデルMBを生成するときに用いる教師データについては、入力データの部分が上述した時系列データに対応すればよく、学習済モデルMAの場合と同様であるため、その説明を省略する。
図11は、学習済モデルMCに対応する鍵位置の変化の例を示す図である。鍵位置変化kvによれば、離鍵におけるKs(3)、Ks(2)、押鍵におけるKs(2)、Ks(3)、Ks(4)の順で取得される。それぞれの取得時刻は、trk3、trk2、tpk2、tpk3、tpk4に対応する。離鍵時のKs(2)から押鍵時のKs(2)までの時間Tw2(tpk2-trk2)は、予め設定された時間Td2以上である。この場合の押鍵は、ハンマの動きが安定した状態(慣性移動を停止した後)における操作であると解釈される。したがって、図11に示す鍵位置変化kvの押鍵パターンは、単打パターンP4に対応する。押鍵時のKs(2)が取得されたときに、過去のTd2以内にKs(2)が検出されていない場合においても同様である。時間Td2と上述した時間Td1とは、同じであってもよいし、異なっていてもよい。
押鍵時において鍵70がエンド位置まで押し込まれず、途中で鍵70から指が離れた場合には、指が離れたタイミングに応じて、単打パターンP5に対応する場合がある。
図12は、学習済モデルMCのうち使用されるモデルを示す図である。変換部81は、単打パターンP4または単打パターンP5の場合、すなわち単打かつ押鍵時にKs(2)の取得から始まる場合には、学習済モデルMCを利用する。Ks(3)を取得した後にKs(4)が取得されずに再びKs(3)が取得される場合(条件Ks(3)→Ks(3))、すなわち単打パターンP5の場合には、学習モデルMC(2)が変換部81によって使用される。Ks(4)まで取得された場合、すなわち単打パターンP4の場合には、学習モデルMC(1)が変換部81によって使用される。
図12に示すように、学習済モデルMC(1)であれば、単打パターンP4に対応する。したがって、時系列データは、パターンP4に対応するKs(2)、Ks(3)、Ks(4)の取得時刻に関連するデータを含む。取得時刻は、押鍵パターンの最初に取得される鍵位置データ(ここではKs(2))の時刻を基準とした値に変換されている。
学習済モデルMC(1)に入力される時系列データはKs(2)、Ks(3)、Ks(4)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(2)Time」、「Ks(3)Time」、「Ks(4)Time」を含む。学習済モデルMC(2)に入力される時系列データは、Ks(2)、Ks(3)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(2)Time」、「Ks(3)Time」を含む。作用データ(出力データ)は、いずれの学習済モデルであっても、「Kon Time」および「Velocity」を含む。
学習済モデルMCを生成するときに用いる教師データについては、入力データの部分が上述した時系列データに対応すればよく、学習済モデルMAの場合と同様であるため、その説明を省略する。
図13は、学習済モデルMDに対応する鍵位置の変化の例を示す図である。鍵位置変化kvによれば、離鍵におけるKs(3)、Ks(2)、押鍵におけるKs(2)、Ks(3)、Ks(4)の順で取得される。それぞれの取得時刻は、trk3、trk2、tpk2、tpk3、tpk4に対応する。離鍵時のKs(2)から押鍵時のKs(2)までの時間Tw2(tpk2-trk2)は、予め設定された時間Td2より小さい。この場合の押鍵は、ハンマの動きが安定する前(慣性移動を停止する前)の状態における操作であると解釈される。したがって、図13に示す鍵位置変化kvの押鍵パターンは、連打パターンP4に対応する。
押鍵時において鍵70がエンド位置まで押し込まれず、途中で鍵70から指が離れた場合には、指が離れたタイミングに応じて、連打パターンP5に対応する場合がある。
図14は、学習済モデルMDのうち使用されるモデルを示す図である。変換部81は、連打パターンP4または連打パターンP5の場合、すなわち連打かつ押鍵時にKs(2)の取得から始まる場合には、学習済モデルMDを利用する。Ks(3)を取得した後にKs(4)が取得されずに再びKs(3)が取得される場合(条件Ks(3)→Ks(3))、すなわち連打パターンP5の場合には、学習モデルMD(2)が変換部81によって使用される。Ks(4)まで取得された場合、すなわち連打パターンP4の場合には、学習モデルMD(1)が変換部81によって使用される。
学習済モデルMCと学習済モデルMDとでは、単打か連打かの違いであるが、学習済モデルに入力される時系列データが異なる。図14に示すように、学習済モデルMD(1)であれば、連打パターンP4に対応する。したがって、時系列データは、パターンP4に対応するKs(2)、Ks(3)、Ks(4)の取得時刻に関連するデータに加えて、その前の離鍵時のKs(3)、Ks(2)の取得時刻に関連するデータを含む。このように連打の場合には、押鍵直前の離鍵時における2つの鍵位置データの取得時刻がさらに用いられることは、学習済モデルMBの場合と同じである。取得時刻は、押鍵パターンの最初に取得される鍵位置データ(ここでは押鍵時のKs(2))の時刻を基準とした値に変換されている。最初に用いる離鍵時のKs(2)の取得時刻を基準としてもよい。
学習済モデルMD(1)に入力される時系列データは離鍵時のKs(3)、Ks(2)、押鍵時のKs(2)、Ks(3)、Ks(4)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(3)Time」、「Ks(2)Time」、「Ks(2)Time」、「Ks(3)Time」、「Ks(4)Time」を含む。学習済モデルMD(2)に入力される時系列データは、離鍵時のKs(3)、Ks(2)、押鍵時のKs(2)、Ks(3)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(3)Time」、「Ks(2)Time」、「Ks(2)Time」、「Ks(3)Time」を含む。作用データ(出力データ)は、いずれの学習済モデルであっても、「Kon Time」および「Velocity」を含む。
学習済モデルMDを生成するときに用いる教師データについては、入力データの部分が上述した時系列データに対応すればよく、学習済モデルMAの場合と同様であるため、その説明を省略する。
図15は、学習済モデルMEに対応する鍵位置の変化の例を示す図である。鍵位置変化kvによれば、離鍵におけるKs(4)、Ks(3)、押鍵におけるKs(3)、Ks(4)の順で取得される。それぞれの取得時刻は、trk4、trk3、tpk3、tpk4に対応する。離鍵時のKs(3)から押鍵時のKs(3)までの時間Tw3(tpk3-trk3)は、予め設定された時間Td3以上である。この場合の押鍵は、ハンマの動きが安定した状態(慣性移動を停止した後)における操作であると解釈される。したがって、図15に示す鍵位置変化kvの押鍵パターンは、単打パターンP6に対応する。押鍵時のKs(3)が取得されたときに、過去のTd3以内にKs(3)が検出されていない場合においても同様である。時間Td3と上述した時間Td1、Td2とは、同じであってもよいし、異なっていてもよい。
図16は、学習済モデルMEのうち使用されるモデルを示す図である。変換部81は、単打パターンP6の場合、すなわち単打かつ押鍵時にKs(3)の取得から始まる場合には、学習済モデルME(この例では、学習済モデルME(1))を利用する。図16に示すように、学習済モデルME(1)であれば、単打パターンP6に対応する。したがって、時系列データは、パターンP6に対応するKs(3)、Ks(4)の取得時刻に関連するデータを含む。取得時刻は、押鍵パターンの最初に取得される鍵位置データ(ここではKs(3))の時刻を基準とした値に変換されている。
学習済モデルME(1)に入力される時系列データはKs(3)、Ks(4)の取得時刻に関連するデータ(「Ks(3)Time」、「Ks(4)Time」)である。作用データ(出力データ)は、「Kon Time」および「Velocity」を含む。
学習済モデルMEを生成するときに用いる教師データについては、入力データの部分が上述した時系列データに対応すればよく、学習済モデルMAの場合と同様であるため、その説明を省略する。
図17は、学習済モデルMFに対応する鍵位置の変化の例を示す図である。鍵位置変化kvによれば、離鍵におけるKs(4)、Ks(3)、押鍵におけるKs(3)、Ks(4)の順で取得される。それぞれの取得時刻は、trk4、trk3、tpk3、tpk4に対応する。離鍵時のKs(3)から押鍵時のKs(3)までの時間Tw3(tpk3-trk3)は、予め設定された時間Td3より小さい。この場合の押鍵は、ハンマの動きが安定する前(慣性移動を停止する前)の状態における操作であると解釈される。したがって、図17に示す鍵位置変化kvの押鍵パターンは、連打パターンP6に対応する。
図18は、学習済モデルMFのうち使用されるモデルを示す図である。変換部81は、連打パターンP6の場合、すなわち連打かつ押鍵時にKs(3)の取得から始まる場合には、学習済モデルMF(この例では、学習済モデルMF(1))を利用する。学習済モデルMEと学習済モデルMFとでは、単打か連打かの違いであるが、学習済モデルに入力される時系列データが異なる。図18に示すように、学習済モデルMF(1)であれば、連打パターンP6に対応する。したがって、時系列データは、パターンP6に対応するKs(3)、Ks(4)の取得時刻に関連するデータに加えて、その前の離鍵時のKs(4)、Ks(3)の取得時刻に関連するデータを含む。このように連打の場合には、押鍵直前の離鍵時における2つの鍵位置データの取得時刻がさらに用いられることは、学習済モデルMB、MDの場合と同じである。取得時刻は、押鍵パターンの最初に取得される鍵位置データ(ここでは押鍵時のKs(3))の時刻を基準とした値に変換されている。最初に用いる離鍵時のKs(2)の取得時刻を基準としてもよい。
学習済モデルMF(1)に入力される時系列データは離鍵時のKs(4)、Ks(3)、押鍵時のKs(3)、Ks(4)の取得時刻に関連するデータである。すなわち、時系列データは、「Ks(4)Time」、「Ks(3)Time」、「Ks(3)Time」、「Ks(4)Time」を含む。作用データ(出力データ)は、「Kon Time」および「Velocity」を含む。
学習済モデルMFを生成するときに用いる教師データについては、入力データの部分が上述した時系列データに対応すればよく、学習済モデルMAの場合と同様であるため、その説明を省略する。
図5に戻って説明を続ける。選択部810は、鍵挙動測定部75から順次出力される鍵番号データKnおよび鍵位置データKs(m)を取得する。選択部810は、以下に説明する処理を鍵番号データKnに対応する音高毎に分離して実行する。選択部810は、順次取得した鍵位置データKs(m)と取得したタイミングtcとに基づいて学習済モデルMA、MB、MC、MD、ME、MFのいずれかを選択し、Ks(m)とtcとを関連付けて出力する。上述したように、Ks(m)の取得順序と、Tw1、Tw2、Tw3、Tw4とに基づいて、学習済モデルMA、MB、MC、MD、ME、MFのいずれかが選択される。
学習済モデルMAは、単打かつ押鍵時にKs(1)の取得から始まる場合に選択される。例えば、押鍵時のKs(1)を取得したときに、その前のTd1以内に離鍵時Ks(1)を取得していない場合が相当する。この場合には、選択部810は、学習済モデルMA(1)、MA(2)、MA(3)に既に取得したKs(m)とtcとを出力し、続いてKs(m)が取得されるとそのKs(m)とtcとを順次出力する。学習済モデルMA(1)、MA(2)、MA(3)は、Ks(m)とtcとを時系列データとして受け取り、これらを入力データとした演算により出力データとして作用データODを出力する。学習済モデルMA(3)は、押鍵時のKs(3)を受け取った場合(押鍵パターンP3ではないことが確定した場合)には、作用データODを出力するための演算処理を停止する。学習済モデルMA(2)は、押鍵時のKs(4)を受け取った場合(押鍵パターンP2ではないことが確定した場合)には、作用データODを出力するための演算処理を停止する。
学習済モデルMBは、連打かつ押鍵時にKs(1)の取得から始まる場合に選択される。例えば、押鍵時のKs(1)を取得したときに、その前のTd1以内に離鍵時のKs(1)を取得した場合が相当する。この場合には、選択部810は、学習済モデルMB(1)、MB(2)、MB(3)に既に取得したKs(m)とtcとを出力し、続いてKs(m)が取得されるとそのKs(m)とtcとを順次出力する。学習済モデルMB(1)、MB(2)、MB(3)は、Ks(m)とtcとを時系列データとして受け取り、これらを入力データとした演算により出力データとして作用データODを出力する。学習済モデルMB(3)は、押鍵時のKs(3)を受け取った場合(押鍵パターンP3ではないことが確定した場合)には、作用データODを出力するための演算処理を停止する。学習済モデルMB(2)は、押鍵時のKs(4)を受け取った場合(押鍵パターンP2ではないことが確定した場合)には、作用データODを出力するための演算処理を停止する。
学習済モデルMCは、単打かつ押鍵時にKs(2)の取得から始まる場合に選択される。例えば、押鍵時のKs(2)を取得したときに、その前のTd2以内に離鍵時Ks(2)を取得していない場合が相当する。この場合には、選択部810は、学習済モデルMC(1)、MC(2)に既に取得したKs(m)とtcとを出力し、続いてKs(m)が取得されるとそのKs(m)とtcとを順次出力する。学習済モデルMC(1)、MC(2)は、Ks(m)とtcとを時系列データとして受け取り、これらを入力データとした演算により出力データとして作用データODを出力する。学習済モデルMC(2)は、押鍵時のKs(4)を受け取った場合(押鍵パターンP5ではないことが確定した場合)には、作用データODを出力するための演算処理を停止する。
学習済モデルMDは、連打かつ押鍵時にKs(2)の取得から始まる場合に選択される。例えば、押鍵時のKs(2)を取得したときに、その前のTd2以内に離鍵時のKs(2)を取得した場合が相当する。選択部810は、学習済モデルMD(1)、MD(2)に既に取得したKs(m)とtcとを出力し、続いてKs(m)が取得されるとそのKs(m)とtcとを順次出力する。学習済モデルMD(1)、MD(2)は、Ks(m)とtcとを時系列データとして受け取り、これらを入力データとした演算により出力データとして作用データODを出力する。学習済モデルMD(2)は、押鍵時のKs(4)を受け取った場合(押鍵パターンP5ではないことが確定した場合)には、作用データODを出力するための演算処理を停止する。
学習済モデルMEは、単打かつ押鍵時にKs(3)の取得から始まる場合に選択される。例えば、押鍵時のKs(3)を取得したときに、その前のTd3以内に離鍵時Ks(3)を取得していない場合が相当する。選択部810は、学習済モデルME(1)に既に取得したKs(m)とtcとを出力し、続いてKs(m)が取得されるとそのKs(m)とtcとを順次出力する。学習済モデルME(1)は、Ks(m)とtcとを時系列データとして受け取り、これらを入力データとした演算により出力データとして作用データODを出力する。
学習済モデルMFは、連打かつ押鍵時にKs(3)の取得から始まる場合に選択される。例えば、押鍵時のKs(3)を取得したときに、その前のTd3以内に離鍵時のKs(3)を取得した場合が相当する。選択部810は、学習済モデルMF(1)に既に取得したKs(m)とtcとを出力し、続いてKs(m)が取得されるとそのKs(m)とtcとを順次出力する。学習済モデルMF(1)は、Ks(m)とtcとを時系列データとして受け取り、これらを入力データとした演算により出力データとして作用データODを出力する。
タイミング調整部850は、学習済モデルセット800のいずれかの学習済モデルから作用データODを受け取ると、作用データODに含まれる「Kon Time」に応じたタイミングで、「Velocity」を出力する。「Kon Time」に応じたタイミングとは、例えば、作用データODを出力した学習済モデルにおいて使用された基準時刻に「Kon Time」を加算した時刻を示す。後段の処理等の影響を考慮して、このタイミングに対して所定時間の補正がされてもよい。例えば処理遅延を考慮する場合には、このタイミングを所定時間前の時刻とすればよい。
タイミング調整部850が「Velocity」を出力すると、学習済モデルセット800において演算処理中の学習済モデルがあれば、演算処理が中止される。例えば、タイミング調整部850が学習済モデルMA(2)からの作用データODを取得した場合を想定する。この場合には、学習済モデルMA(1)がKs(4)およびtcの入力を待っている状態であるため、学習済モデルMA(1)の演算処理を停止させて入力層への入力を初期化する。
生成部870は、鍵挙動測定部75から順次出力される鍵番号データKnおよび鍵位置データKs(m)を取得する。生成部870は、順次取得されるKs(m)のパターンにより離鍵を検出すると、Knに対応した音高のノートオフを示す情報を生成して出力部890に出力する。生成部870は、順次取得されるKs(m)のパターンにより押鍵を検出すると、Knに対応した音高のノートオンを示す情報を生成して出力部890に出力する。
出力部890は、生成部870からノートオフを示す情報を受け取ると、ノートオフを示す制御データCDを出力する。出力部890は、生成部870からノートオンを示す情報を受け取ると、タイミング調整部850から「Velocity」を受け取るまで待機する。出力部890は、「Velocity」を受け取ると、「Velocity」をベロシティ値としてノートオンを示す制御データCDを出力する。
このようにして変換部81から出力された制御データCDは、信号生成部85において音信号の生成に用いられる。続いて、変換部81における処理が実現する発音制御方法を説明する。
図19は、一実施形態における発音制御方法を示すフローチャートである。鍵盤楽器1が起動されると、変換部81は、発音制御方法のための処理を実行する。この処理は、各鍵(各音高)に対応して実行される。変換部81は、鍵位置データKs(m)を取得するまで待機する(ステップS101;No)。変換部81は、鍵位置データKs(m)を取得すると(ステップS101;Yes)、既に取得した鍵位置データKs(m)の組み合わせ(データセット)により、学習済モデルを選択することが可能か否かを判定する(ステップS103)。選択される学習済モデルは、選択部810がKs(m)およびtcを出力すべきモデルである。
データセットから学習済モデルを選択することができない場合(ステップS103;No)には、変換部81は、再び鍵位置データKs(m)を取得するまで待機する(ステップS101;No)。データセットから学習済モデルを選択することができる場合(ステップS103;Yes)には、変換部81は、使用する学習済モデルを選択する(ステップS105)。変換部81は、選択した学習済モデルに対して鍵位置データKs(m)およびtcを入力する(ステップS107)。
変換部81は、選択した学習済モデルから得られた作用データODに含まれる「Kon Time」および「Velocity」を用いて制御データCDを生成し、信号生成部85に出力して(ステップS109)、再び鍵位置データKs(m)を取得するまで待機する(ステップS101;No)。以上が、変換部81についての説明である。
上述した一実施形態における鍵盤楽器1は、学習済モデルを用いて、鍵70の操作に応じた鍵位置データKs(m)の時系列データから発音タイミングおよびベロシティを取得し、これらのパラメータを用いて音信号を生成する。この学習済モデルは、モデル鍵盤楽器を再現するようにした教師データを用いて生成される。そのため、モデル鍵盤楽器とは全く異なる発音機構の電子鍵盤装置のような鍵盤楽器1においても、演奏と発音態様との関係をモデル鍵盤楽器に近づけることができる。
続いて、学習済モデルを生成するためのシステムについて説明する。
図20は、一実施形態におけるモデル生成システムの構成を示す図である。図20に示すモデル生成システムは、モデル鍵盤楽器1Lおよびモデル生成装置4を含む。モデル鍵盤楽器1Lは、鍵70L、アクション機構72L、弦74L、鍵挙動測定部75L、ハンマ挙動測定部77L、押鍵機構78Lおよびインターフェイス79Lを含む。鍵70L、アクション機構72Lおよび弦74Lは、グランドピアノにおける鍵、アクション機構および弦にそれぞれ対応する。したがって、アクション機構72Lは、弦を打つためのハンマを含む。
鍵挙動測定部75Lは、上述した鍵挙動測定部75と同様に、鍵70Lの挙動を測定し、測定結果を示す鍵測定データを出力する。音高の異なる複数の鍵に対応した学習済モデルを生成する場合でなければ、特定の1つの鍵70Lに対応して鍵測定データが出力されるようになっていればよい。この鍵測定データは、鍵位置データKs(m)を含み、鍵番号データKnは含まれていなくてもよい。鍵位置データKs(m)は、上述した鍵挙動測定部75から出力される測定データに含まれるものと同じである。すなわち、鍵70Lの押下量に応じて、Ks(1)からKs(4)までが出力される。
ハンマ挙動測定部77Lは、アクション機構72Lにおけるハンマが弦74Lを打つタイミングおよびハンマが弦74Lを打つときの速度を測定し、測定結果を示すハンマ測定データを出力する。
押鍵機構78Lは、鍵70Lを押下するための構造、例えば、ソレノイドを有する。押鍵機構78Lは、様々な態様で鍵70Lを押下するように制御されている。押鍵機構78Lの動作は、例えば、モデル生成装置4から送信される制御信号により制御される。
インターフェイス79Lは、モデル生成装置4と有線または無線で接続する。インターフェイス79Lは、モデル生成装置4から受信した制御信号を押鍵機構78Lに出力する。インターフェイス79Lは、鍵挙動測定部75Lから出力された鍵測定データおよびハンマ挙動測定部77Lから出力されたハンマ測定データをモデル生成装置4に送信する。
モデル生成装置4は、制御部41、記憶部43、通信部45およびインターフェイス47を含む。
制御部41は、CPUなどの演算処理回路、RAM、ROMなどの記憶装置を含む。制御部41は、CPUを用いて制御プログラムを実行することによって、教師データ生成機能と学習済モデル生成機能とをモデル生成装置4において実現させる。教師データ生成機能は、教師データを生成して記憶部43に記録するための機能である。学習済モデル生成機能は、学習済モデルを生成して記憶部43に記録するための機能である。制御部41は、押鍵機構78Lを制御するための制御信号を生成する。
記憶部43は、不揮発性メモリ、ハードディスク等の記憶装置である。記憶部43は、制御部41によって実行される制御プログラムを記憶する。また、記憶部43は、生成した教師データ431および生成した学習済モデル435を記憶する。教師データ431は、図8で示した教師データのように入力データと出力データとを含む。学習済モデル435は、学習済モデルセットに含まれる学習済モデルに対応する。
通信部45は、外部装置と通信することによって、学習済モデル435等を送信する。インターフェイス47は、モデル鍵盤楽器1Lと有線または無線で接続する。インターフェイス47は、制御信号をモデル生成装置4に送信する。インターフェイス47は、モデル生成装置4から鍵測定データおよびハンマ測定データを受信する。
制御部41によって実現される教師データ生成機能および学習済モデル生成機能によって実行される方法ついて説明する。
図21は、一実施形態における教師データの生成方法を示すフローチャートである。教師データを開始するための指示がユーザによって入力されると、制御部41が様々な押鍵の態様を設定し、各押鍵態様に対応した制御信号を順にモデル鍵盤楽器1Lに出力する。図21に示す教師データの生成方法は、制御信号がモデル鍵盤楽器1Lに出力される度に実行される。学習済モデルを生成するために必要な数の制御信号が生成されモデル鍵盤楽器1Lに順に出力される。
制御部41は、制御信号によって押鍵機構78Lが鍵70Lを操作することによってモデル鍵盤楽器1Lから出力される鍵測定データおよびハンマ測定データを取得する。これによって、制御部41は、鍵位置データKs(m)を取得し(ステップS401)し、ハンマの打弦タイミングおよび打弦速度を取得する(ステップS403)。制御部41は、鍵位置データKs(m)を入力データとし、打弦タイミングおよび打弦速度を出力データとして、教師データ431を生成して記憶部43に記録して(ステップS405)、処理を終了する。
このようにして、生成された制御信号の数に相当する入力データと出力データとの組が教師データ431として記憶部43に記録される。このとき、教師データ431は、上述した12種類の押鍵パターン毎に分類される。
図22は、一実施形態における学習済モデルの生成方法を示すフローチャートである。図22に示す学習済モデルの生成方法は、学習済モデルを生成するための指示がユーザによって入力されると実行される。制御部41は、記憶部43から教師データ431を取得する(ステップS411)。制御部41は、押鍵パターン毎に分類された教師データ431を用いて機械学習を実行し(ステップS413)、各押鍵パターンに対応する学習済モデル435を生成して記憶部43に記録して(ステップS415)、処理を終了する。12種類の押鍵パターンに対応する学習済モデルによって、上述した学習済モデルセットが生成される。以上が、学習済モデルを生成するためのシステムについての説明である。
ここで、モデル生成装置4は、さらに学習済モデルセットを用いて、入力データと出力データとの対応関係を規定するルールテーブルを生成してもよい。ルールテーブルは、例えば、記憶部43に記憶される。ルールテーブルは、鍵盤楽器1の変換部81で用いられる学習済モデルセットの代わりに用いられてもよい。
図23は、一実施形態におけるルールテーブルの登録方法を示すフローチャートである。図23に示すルールテーブルの登録方法は、ルールテーブルを生成するための指示がユーザによって入力されると実行される。制御部41は、学習済モデル435を取得する(ステップS421)。制御部41は、取得した学習済モデル435に対応する押鍵パターンに対応する入力データセットを取得する(ステップS423)。入力データセットは、互いに同一の押鍵パターンに対応する複数の入力データを含む。複数の入力データは、互いに同一の押鍵パターンに対応する鍵位置データKs(m)の少なくとも1つの値が互いに異なる。言い換えると、複数の入力データは、互いに同一の押鍵パターンにおける様々な態様の押鍵操作を示す。
制御部41は、複数の入力データのうち、1つの入力データを学習済モデル435に提供し(ステップS425)、学習済モデル435から出力データを取得する(ステップS427)。制御部41は、入力データと出力データとを対応付けてルールテーブルに登録する(ステップS429)。入力データセットに含まれる全ての入力データの処理が完了していない場合(ステップS431;No)には、制御部41は、残っている入力データに対する処理として、ステップS425に戻って処理を続ける。一方、入力データセットに含まれる全ての入力データの処理が完了した場合(ステップS431;Yes)には、制御部41は、ルールテーブルの登録方法における処理を終了する。このようにして生成されたルールテーブルについて説明する。ルールテーブルは押鍵パターン毎に生成される。
図24は、一実施形態におけるルールテーブルを示す図である。図24に示すルールテーブルは、押鍵パターンが単打パターンP1に対応する学習済モデルMA(1)に代えて用いられるルールテーブルの例である。ルールテーブルに登録されている入力データは、上述したステップS423で取得された入力データセットに含まれる複数の入力データに対応する。ルールテーブルに対応する出力データは、それぞれの入力データに対応してステップS427で取得された出力データに対応する。
このように、ルールテーブルは、対応する押鍵パターンにおける様々な態様の押鍵操作(入力データ)に対して、出力データを規定している。単打パターンP1の場合には、入力データではKs(1)を基準としたKs(2)からKs(4)において、例えばそれぞれ100通りの値が設定される。これによって106パターン(1Mパターン)がルールテーブルに登録される。連打パターンP1の場合に同様の考え方で対応すると、離鍵時のKs(2)を基準として、離鍵時のKs(1)、押鍵時のKs(1)からKs(4)が存在するから、1010パターン(10Gパターン)が必要となる。
一方、連打パターンP1は単打パターンP1よりも精度を求められない。したがって、連打パターンのときのKs(m)のそれぞれの取り得る値の数を、単打パターンよりも減らしてもよい。例えば、離鍵時のKs(1)、押鍵時のKs(1)をそれぞれ20通りの値とし、押鍵時のKs(2)からKs(4)をそれぞれ50通りの値とすれば、5×107パターン(50Mパターン)でよいことになる。押鍵時の操作態様の方が離鍵時の操作態様よりも出力データへの影響が大きい。したがって、この例示のように、Ks(m)のそれぞれの取り得る値の数は、押鍵が始まる前よりも後において大きくなることが好ましい。
続いて、鍵盤楽器1の変換部81において学習済モデルに代えてルールテーブルが用いられる場合の例について説明する。
図25は、一実施形態における音源部の機能構成を示すブロック図である。図25に示す音源部80Aは、変換部81A、テーブル記憶部83A、信号生成部85、波形データ記憶部87および音信号出力部89を含む。信号生成部85、波形データ記憶部87および音信号出力部89は、上述した音源部80と同様の機能を有する。テーブル記憶部83Aは、ルールテーブルセットを記憶する。ルールテーブルセットは、各押鍵パターンに対応するルールテーブルを含む。
変換部81Aは、図5に示す変換部81の構成に類似するが、学習済モデルセット800における各押鍵パターンに対応する学習済モデルに代えて、ルールテーブルが用いられる。したがって、モデル設定部830については、ルールテーブルを設定する機能として実現される。変換部81Aは、設定されたルールテーブルを用いて、入力データから出力データを得る機能を有する。
ルールテーブルを用いて入力データから出力データを得るための演算量は、学習済モデルを用いて入力データから出力データを得る演算量よりも少ない。したがって、変換部81Aを用いた音源部80Aを鍵盤楽器1に用いることによって、音源部80Aに用いるDSPの演算処理能力を低くすることができる。
<変形例>
本発明は上述した実施形態に限定されるものではなく、他の様々な変形例が含まれる。例えば、上述した実施形態は本開示を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。一実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。以下、一部の変形例について説明する。
本発明は上述した実施形態に限定されるものではなく、他の様々な変形例が含まれる。例えば、上述した実施形態は本開示を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。一実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。以下、一部の変形例について説明する。
(1)モデルセット記憶部83は、音色に対応付けて学習済モデルセットを記憶する。学習済モデルセットは、鍵70が対応する音高に応じて異なるセットが適用されるように記憶されていてもよい。全ての鍵70のそれぞれにおいて、互いに異なる学習済モデルセットが適用されてもよいし、複数の音域のそれぞれにおいて、互いに異なる学習済モデルセットを有していてもよい。すなわち、鍵70のうち、第1鍵を操作した場合と、第1鍵とは異なる音高の第2鍵を操作した場合とで互いに異なる学習済モデルセットが適用されてもよい。
図26は、変形例におけるモデルセットテーブルを示す図である。図26に示すモデルセットテーブルの例では、複数の音域(低音域、中音域、高音域)のそれぞれに対応して学習済モデルセットが存在する。例えば、音色が「GP」である場合には、学習済モデルセットは、低音域に適用される学習済モデルセットMLS(GP)、中音域に適用される学習済モデルセットMMS(GP)および高音域に適用される学習済モデルセットMHS(GP)を含む。低音域、中音域および高音域のそれぞれに所属する鍵70は予め設定されればよい。
各音域の学習済モデルセットは、それぞれを生成するときの教師データについても異なっている。すなわち、教師データは、各音域に対応する鍵を操作することによって得られたデータである。
このようにすると、鍵70が所属する音域に対応した学習済モデルセットに含まれる学習済モデルを使用することができる。すなわち、鍵盤楽器1は、音高の違いによる鍵70の操作から学習済モデルを用いることで、よりモデル鍵盤楽器に近いものとなる作用データによって音信号を生成することができる。
(2)作用データODは「Kon Time」および「Velocity」を含んでいたが、いずれか一方のみを含んでいてもよい。作用データODが「Velocity」を含んでいない場合には、生成部870において、「Velocity」に相当する情報を鍵位置データKs(m)に基づいて生成してもよい。例えば、2つのKs(m)の取得時間差に基づいて鍵70の速度を測定し、その速度に応じて「Velocity」に相当する情報が生成されればよい。一方、作用データODが「Kon Time」を含んでいない場合には、生成部870において、「Kon Time」に相当する情報を鍵位置データKs(m)に基づいて生成してもよい。例えば、Ks(3)を取得したタイミングに応じて「Kon Time」に相当する情報が生成されればよい。
(3)モデル鍵盤楽器は、鍵の操作によってアクション機構が動作してハンマが打弦する構造を有するグランドピアノおよびアップライトピアノなどのアコースティックピアノを例示したが、ハンマが打弦する構造以外を有する鍵盤楽器であってもよい。例えば、モデル鍵盤楽器は、発音体としての弦を弾くアクション機構を有するクラビコードであってもよいし、発音体としての金属板を打つアクション機構を有するチェレスタであってもよい。このように、モデル鍵盤楽器は、鍵の操作によって発音体に発音させるためのアクション機構を有するものであればよい。
(4)鍵盤楽器1は、アコースティックピアノと組み合わせて適用されることもある。例えば、アコースティックピアノに電子鍵盤装置の機能を加えた鍵盤楽器である。このような鍵盤楽器は、アコースティックピアノにおける鍵と鍵盤楽器1における鍵70とを共通の構成として有する。さらに、鍵盤楽器は、アコースティックピアノとして動作させるときには電子鍵盤装置として音信号を生成する機能が停止する構成、および電子鍵盤装置としての動作させる場合にハンマによる打弦を阻止するように動作する構成を有してもよい。
このような構成を有する鍵盤楽器の場合には、モデル鍵盤楽器として、鍵盤楽器1に組み合わされるアコースティックピアノが適用されてもよい。このようにすると、アコースティックピアノとして動作させる場合と電子鍵盤装置として動作させる場合とのいずれにおいても、ユーザが同じ感覚で演奏することができる。さらに、上述したモデル生成システムが鍵盤楽器1に組み合わされることによって、鍵盤楽器において学習済モデルが生成できるようになっていてもよい。
(5)変換部81は、制御データCDを信号生成部85に出力する場合に限らず、外部装置に提供するためのインターフェイスに出力されてもよい。
(6)変換部81は、単打パターンP1のようにKs(1)、Ks(2)、Ks(3)、Ks(4)の順で取得する場合には学習済モデルMA(1)を使用する。変換部81は、単打パターンP2のようにKs(1)、Ks(2)、Ks(3)の順で取得する場合には学習済モデルMA(2)を使用する。上述したように、学習済モデルMA(2)は、Ks(4)が取得されると演算処理を停止する。
単打パターンP2、単打パターンP3の場合には、通常はKs(4)が取得される前の時刻として、「Kon Time」が演算される可能性は低い。一方、Ks(4)が取得される前に、学習済モデルMA(2)が作用データODを出力するような場合も想定される。このような場合には、作用データODに含まれる「Kon Time」に対応する時刻に近づいてもKs(4)が取得されなければ、学習済モデルMA(1)の演算処理を停止するようにしてもよい。
(7)変換部81は、取得した鍵位置データKs(m)の一部を用いて制御データCDに変換してもよい。この場合には、学習済モデルにおいて入力データとして用いられる鍵位置データKs(m)が規定されるようにして、押鍵パターン毎または音色毎に用いられる鍵位置データKs(m)が異なるように規定されてもよい。このように使用される鍵位置データKs(m)を異ならせる場合には、鍵70の押下量を測定可能なセンサの数がさらに多くてもよく、また、押下量を離散値として測定する場合に限らず、連続値として測定可能なセンサを用いてもよい。
(8)学習済モデルにおいて入力データとして用いられる情報には、さらに鍵の速度が含まれていてもよい。鍵の速度は、例えば、2つの鍵位置データKs(m)に対応するtcの時間差と押下量の差とを用いて演算されてもよいし、速度を測定するセンサによって得られてもよい。この場合には、学習済モデルを生成するときにも学習用の鍵の速度が用いられる。
(9)教師データに用いられる入力データおよび学習済モデルへの入力データは、鍵の押下量の時系列に関連する挙動データであれば、上述した時系列データに限らない。例えば、鍵の押下量の時系列から演算された鍵の速度が挙動データとして用いられてもよい。このときの挙動データでは、鍵の速度に対応する鍵の位置に関する位置情報が鍵の速度に対応付けられている。
鍵の速度は、例えば、2つの鍵位置データKs(m)に対応するtcの時間差と押下量の差とを用いて演算される。この速度は、実際の速度であってもよいし、上述したVelocityと同様に、「0」から「127」までの128段階で表されるように換算されてもよい。速度の演算に用いられる2つの鍵位置データKs(m)は、互いに隣接する位置に対応するものであってもよいし、隣接しない位置に対応するものであってもよい。
例えば、Ks(1)のタイミング(tc(1)という)とKs(2)のタイミング(tc(2)という)とから演算される速度(Vs(1,2)という)は、Vs(1,2)=(4.5-2.7)/(tc(2)-tc(1))として表される。Vs(1,2)に対応する位置情報は、演算に用いた鍵位置データの組み合わせ、すなわちKs(1)とKs(2)とを示す情報に対応する。
例えば、押鍵時のKs(1)のタイミングtc(1)とKs(3)のタイミング(tc(3)という)とから演算される速度(Vs(1,3)という)は、Vs(1,3)=(6.3-2.7)/(tc(3)-tc(1))として表される。Vs(1,3)に対応する位置情報は、演算に用いた鍵位置データの組み合わせ、すなわちKs(1)とKs(3)とを示す情報に対応する。
挙動データに含まれる鍵の速度は、以下の位置の組み合わせのうち少なくとも2つが用いられる。位置の組み合わせから得られる速度は、Vs(1,2)、Vs(1,3)、Vs(1,4)、Vs(2,3)、Vs(2,4)、Vs(3,4)である。押鍵パターンにより学習済モデルを区別する場合には、適用される押鍵パターンによって取り得る位置の組み合わせは異なる。例えば、Ks(1)を含まない押鍵パターンの場合には、置の組み合わせから得られる速度は、Vs(2,3)、Vs(2,4)、Vs(3,4)である。この例は押鍵時の速度の例として示したが、連打を想定して離鍵時の速度を考慮する場合には、位置の組み合わせから得られる速度にVs(2,1)等を追加してもよい。
変形例(9)における挙動データを用いる場合、鍵の速度と位置情報とに対して、ハンマ速度が相関関係を有する。したがって、作用データは、発音の音量に関する情報(Velocity)を含み、発音タイミングに関する情報(Kon Time)を含まない。この挙動データにさらにtcに関する情報が追加されれば、打弦タイミングも相関関係を有するため、作用データにおいて発音タイミングに関する情報(Kon Time)を追加することができる。
以上が変形例に関する説明である。
以上のとおり、本発明の一実施形態によれば、鍵の押下量に対応する鍵位置データを順次取得し、鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの取得タイミングとに基づいて得られる挙動データを入力し、前記学習済モデルから出力される作用データに基づいて、信号生成部において音信号を生成させるための発音指示データを出力することを含む、発音制御方法が提供される。
前記作用データは、ハンマによる打弦速度を含んでもよい。
前記作用データは、ハンマによる打弦タイミングを含んでもよい。
前記鍵位置データは、前記鍵の押下範囲のうち予め決められた複数の位置における押下量に対応して取得されてもよい。
前記鍵位置データを取得することは、第1鍵に対応する第1鍵位置データを取得すること、および第2鍵に対応する第2鍵位置データを取得することを含んでもよい。前記学習済モデルに対して前記鍵位置データを入力することは、第1鍵の押下量の時系列に関連する学習用の挙動データと前記第1鍵に対応する前記学習用の作用データとの対応関係を学習させた第1学習済モデルに前記第1鍵位置データに関連する挙動データを入力することと、第2鍵の押下量の時系列に関連する学習用の挙動データと前記第2鍵に対応する前記学習用の作用データとの対応関係を学習させた第2学習済モデルに前記第2鍵位置データに関連する挙動データを入力することと、を含んでもよい。
前記学習済モデルに対して前記挙動データを入力することは、前記鍵位置データに対応する押鍵と直前の離鍵との時間差が所定時間以上の場合には、鍵の押下量の時系列に関連する学習用の挙動データであって前記押鍵における時間範囲を含む学習用の挙動データと前記学習用の作用データとの対応関係を学習させた単打学習済モデルに前記鍵位置データに関連する挙動データを入力することと、前記時間差が前記所定時間より小さい場合には、前記モデル鍵盤楽器における鍵の押下量の時系列に関連する学習用の挙動データであって前記直前の離鍵および前記押鍵における時間範囲を含む学習用の挙動データと前記学習用の作用データとの対応関係を学習させた連打学習済モデルに前記鍵位置データに関連する挙動データを入力することと、を含んでもよい。
前記学習用の挙動データは、前記鍵の押下量の時系列データを含んでもよい。前記学習済モデルに対して入力される挙動データは、前記鍵位置データと前記取得タイミングとを含んでもよい。
前記学習用の挙動データは、鍵の速度を含んでもよい。前記学習済モデルに対して入力される挙動データは、前記鍵位置データと前記取得タイミングとから演算した前記鍵の速度を含んでもよい。
本発明の一実施形態によれば、この発音制御方法をコンピュータに実行させるためのプログラムとして提供されてもよいし、発音制御方法を実行する発音制御装置として提供されてもよいし、発音制御装置を含む電子鍵盤装置として提供されてもよい。
1:鍵盤楽器、1L:モデル鍵盤楽器、4:モデル生成装置、10:制御部、21:操作部、23:表示部、30:記憶部、41:制御部、43:記憶部、45:通信部、47:インターフェイス、50:筐体、60:スピーカ、70,70L:鍵、72L:アクション機構、74L:弦、75,75L:鍵挙動測定部、77L:ハンマ挙動測定部、78L:押鍵機構、79L:インターフェイス、80,80A:音源部、81:変換部、83:モデルセット記憶部、83A:テーブル記憶部、85:信号生成部、87:波形データ記憶部、89:音信号出力部、800:学習済モデルセット、810:選択部、830:モデル設定部、850:タイミング調整部、870:生成部、890:出力部
Claims (20)
- 鍵の押下量に対応する鍵位置データを順次取得し、
鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの取得タイミングとに基づいて得られる挙動データを入力し、
前記学習済モデルから出力される作用データに基づいて、信号生成部において音信号を生成させるための発音指示データを出力すること
を含む、発音制御方法。 - 前記作用データは、ハンマによる打弦速度を含む、請求項1に記載の発音制御方法。
- 前記作用データは、ハンマによる打弦タイミングを含む、請求項1または請求項2に記載の発音制御方法。
- 前記鍵位置データは、前記鍵の押下範囲のうち予め決められた複数の位置における押下量に対応して取得される、請求項1から請求項3のいずれかに記載の発音制御方法。
- 前記鍵位置データを取得することは、第1鍵に対応する第1鍵位置データを取得すること、および第2鍵に対応する第2鍵位置データを取得することを含み、
前記学習済モデルに対して前記鍵位置データを入力することは、
第1鍵の押下量の時系列に関連する学習用の挙動データと前記第1鍵に対応する前記学習用の作用データとの対応関係を学習させた第1学習済モデルに前記第1鍵位置データに関連する挙動データを入力することと、
第2鍵の押下量の時系列に関連する学習用の挙動データと前記第2鍵に対応する前記学習用の作用データとの対応関係を学習させた第2学習済モデルに前記第2鍵位置データに関連する挙動データを入力することと、
を含む、請求項1から請求項4のいずれかに記載の発音制御方法。 - 前記学習済モデルに対して前記挙動データを入力することは、
前記鍵位置データに対応する押鍵と直前の離鍵との時間差が所定時間以上の場合には、鍵の押下量の時系列に関連する学習用の挙動データであって前記押鍵における時間範囲を含む学習用の挙動データと前記学習用の作用データとの対応関係を学習させた単打学習済モデルに前記鍵位置データに関連する挙動データを入力することと、
前記時間差が前記所定時間より小さい場合には、学習用の鍵の押下量の時系列に関連する学習用の挙動データであって前記直前の離鍵および前記押鍵における時間範囲を含む学習用の挙動データと前記学習用の作用データとの対応関係を学習させた連打学習済モデルに前記鍵位置データに関連する挙動データを入力することと、
を含む、請求項1から請求項5のいずれかに記載の発音制御方法。 - 前記学習用の挙動データは、前記鍵の押下量の時系列データを含み、
前記学習済モデルに対して入力される挙動データは、前記鍵位置データと前記取得タイミングとを含む、請求項1から請求項6のいずれかに記載の発音制御方法。 - 前記学習用の挙動データは、鍵の速度を含み、
前記学習済モデルに対して入力される挙動データは、前記鍵位置データと前記取得タイミングとから演算した前記鍵の速度を含む、請求項1から請求項7のいずれかに記載の発音制御方法。 - 鍵の押下量に対応する鍵位置データを順次取得し、
鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの取得タイミングとに基づいて得られる挙動データを入力し、
前記学習済モデルから出力される作用データに基づいて、信号生成部において音信号を生成させるための発音指示データを出力すること、
をコンピュータに実行させるためのプログラム。 - プログラムを記憶したメモリと、
前記プログラムを実行するプロセッサと、
を含む発音制御装置であって、
前記プログラムを実行する前記プロセッサは、
鍵の押下量に対応する鍵位置データを順次取得し、
鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの取得タイミングとに基づいて得られる挙動データを入力し、
前記学習済モデルから出力される作用データに基づいて、信号生成部において音信号を生成させるための発音指示データを出力する、
発音制御装置。 - 前記作用データは、ハンマによる打弦速度を含む、請求項10に記載の発音制御装置。
- 前記作用データは、ハンマによる打弦タイミングを含む、請求項10または請求項11に記載の発音制御装置。
- 前記鍵位置データは、前記鍵の押下範囲のうち予め決められた複数の位置における押下量に対応して取得される、請求項10から請求項12のいずれかに記載の発音制御装置。
- 前記鍵位置データを取得することは、第1鍵に対応する第1鍵位置データを取得すること、および第2鍵に対応する第2鍵位置データを取得することを含み、
前記学習済モデルに対して前記鍵位置データを入力することは、
第1鍵の押下量の時系列に関連する学習用の挙動データと前記第1鍵に対応する前記学習用の作用データとの対応関係を学習させた第1学習済モデルに前記第1鍵位置データに関連する挙動データを入力することと、
第2鍵の押下量の時系列に関連する学習用の挙動データと前記第2鍵に対応する前記学習用の作用データとの対応関係を学習させた第2学習済モデルに前記第2鍵位置データに関連する挙動データを入力することと、
を含む、請求項10から請求項13のいずれかに記載の発音制御装置。 - 前記学習済モデルに対して前記挙動データを入力することは、
前記鍵位置データに対応する押鍵と直前の離鍵との時間差が所定時間以上の場合には、鍵の押下量の時系列に関連する学習用の挙動データであって前記押鍵における時間範囲を含む学習用の挙動データと前記学習用の作用データとの対応関係を学習させた単打学習済モデルに前記鍵位置データに関連する挙動データを入力することと、
前記時間差が前記所定時間より小さい場合には、学習用の鍵の押下量の時系列に関連する学習用の挙動データであって前記直前の離鍵および前記押鍵における時間範囲を含む学習用の挙動データと前記学習用の作用データとの対応関係を学習させた連打学習済モデルに前記鍵位置データに関連する挙動データを入力することと、
を含む、請求項10から請求項14のいずれかに記載の発音制御装置。 - 前記学習用の挙動データは、前記鍵の押下量の時系列データを含み、
前記学習済モデルに対して入力される挙動データは、前記鍵位置データと前記取得タイミングとを含む、請求項10から請求項15のいずれかに記載の発音制御装置。 - 前記学習用の挙動データは、鍵の速度を含み、
前記学習済モデルに対して入力される挙動データは、前記鍵位置データと前記取得タイミングとから演算した前記鍵の速度を含む、請求項10から請求項16のいずれかに記載の発音制御装置。 - 請求項10から請求項17のいずれかに記載の発音制御装置と、
前記鍵と、
を含む電子鍵盤装置。 - 前記発音指示データに応じて音信号を生成する前記信号生成部をさらに含む、請求項18に記載の電子鍵盤装置。
- 鍵と、
前記鍵の押下量に対応する鍵位置データを出力する鍵挙動測定部と、
鍵の押下量の時系列に関連する学習用の挙動データと、鍵の押下に伴う発音体へのアクション機構の作用に関連する学習用の作用データとの対応関係を学習させた学習済モデルに対して、前記鍵位置データと当該鍵位置データの出力タイミングとに基づいて得られる挙動データを入力することによって得られる作用データに基づいて、音信号を生成させるための発音指示データを生成する発音制御装置と、
を含む電子鍵盤装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021203269A JP2023088496A (ja) | 2021-12-15 | 2021-12-15 | 発音制御方法、プログラム、発音制御装置および電子鍵盤装置 |
PCT/JP2022/040593 WO2023112523A1 (ja) | 2021-12-15 | 2022-10-31 | 発音制御方法、プログラム、発音制御装置および電子鍵盤装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021203269A JP2023088496A (ja) | 2021-12-15 | 2021-12-15 | 発音制御方法、プログラム、発音制御装置および電子鍵盤装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023088496A true JP2023088496A (ja) | 2023-06-27 |
Family
ID=86773988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021203269A Pending JP2023088496A (ja) | 2021-12-15 | 2021-12-15 | 発音制御方法、プログラム、発音制御装置および電子鍵盤装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023088496A (ja) |
WO (1) | WO2023112523A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2699966B2 (ja) * | 1996-05-24 | 1998-01-19 | ヤマハ株式会社 | 押鍵情報出力装置 |
JPH10161648A (ja) * | 1996-12-04 | 1998-06-19 | Yamaha Corp | 打鍵−打弦特性対応装置、駆動信号−打弦特性対応装置、および鍵盤楽器 |
JP4144629B2 (ja) * | 1997-01-14 | 2008-09-03 | ヤマハ株式会社 | 演奏データ処理装置および方法ならびに記録媒体 |
JP4193752B2 (ja) * | 2004-05-07 | 2008-12-10 | ヤマハ株式会社 | 自動演奏ピアノ |
JP4134952B2 (ja) * | 2004-06-15 | 2008-08-20 | ヤマハ株式会社 | 自動演奏ピアノ |
-
2021
- 2021-12-15 JP JP2021203269A patent/JP2023088496A/ja active Pending
-
2022
- 2022-10-31 WO PCT/JP2022/040593 patent/WO2023112523A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023112523A1 (ja) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7166795B2 (en) | Method and apparatus for simulating a mechanical keyboard action in an electronic keyboard | |
US7361825B2 (en) | Electronic keyboard instrument | |
US10902830B2 (en) | Signal supply device, keyboard device and non-transitory computer-readable storage medium | |
JP4501725B2 (ja) | 鍵盤楽器 | |
JP4639795B2 (ja) | 楽器の演奏駆動装置、鍵盤楽器の演奏駆動システム及び鍵盤楽器。 | |
JP7306402B2 (ja) | 音信号生成装置、鍵盤楽器およびプログラム | |
JP4193752B2 (ja) | 自動演奏ピアノ | |
JP2015045829A (ja) | タッチ検出装置、タッチ検出方法及びプログラム | |
US8350143B2 (en) | Keyboard musical instrument | |
US11694665B2 (en) | Sound source, keyboard musical instrument, and method for generating sound signal | |
WO2023112523A1 (ja) | 発音制御方法、プログラム、発音制御装置および電子鍵盤装置 | |
JP4134952B2 (ja) | 自動演奏ピアノ | |
US11430417B2 (en) | Data generation device and non-transitory computer-readable storage medium | |
JP4042753B2 (ja) | 電子楽器 | |
JP4131279B2 (ja) | 合奏パラメータ表示装置 | |
JP4144288B2 (ja) | 演奏情報記録装置および鍵盤楽器 | |
JP2004354613A (ja) | 実楽器演奏ロボットと実楽器演奏ロボット群 | |
JP2006227205A (ja) | 楽音制御装置、楽音制御方法及び楽音制御のためのコンピュータプログラム | |
WO2023195333A1 (ja) | 制御装置 | |
JP7259987B2 (ja) | 情報処理システム、鍵盤楽器、情報処理方法およびプログラム | |
JP3873823B2 (ja) | 再生性能評価装置、楽器及び鍵盤楽器 | |
JP3719144B2 (ja) | 電子楽器 | |
JP3903847B2 (ja) | 検出センサ評価装置、電子楽器及び電子鍵盤楽器 | |
JPH0715034Y2 (ja) | 電子鍵盤楽器 | |
JP2556370Y2 (ja) | 電子鍵盤楽器 |