(57)【特許請求の範囲】
【請求項１】
演奏操作子の操作位置または操作速度のうち一方の測定値をセンサによって測定する過程と、
前記演奏操作子の操作位置または操作速度のうち他方の測定値を前記センサの測定結果に基づいて出力する過程と、
前記演奏操作子の軌道の目標値である軌道リファランスに基づいて、前記操作位置および操作速度の目標値を設定する過程と、
前記操作位置の目標値および測定値に基づいて操作位置の偏差を算出する過程と、
前記操作速度の目標値および測定値に基づいて操作速度の偏差を算出する過程と、
前記操作位置の偏差に対して、所定の位置ゲインを乗算し、その乗算結果を位置制御信号として出力する過程と、
前記操作速度の偏差に対して、所定の速度ゲインを乗算し、その乗算結果を速度制御信号として出力する過程と、
前記位置制御信号および前記速度制御信号の和に基づいて、前記操作位置および操作速度の各測定値が対応する各目標値に近づくように前記演奏操作子を駆動する過程と
を有し、前記操作位置の単位をミリメートルとし、前記操作速度の単位をミリメートル／秒としたとき、前記速度ゲインを前記位置ゲインの「１〜３倍」の範囲に設定することを特徴とする演奏操作子の駆動方法。
【請求項２】
前記操作位置の目標値および前記操作速度の目標値のうち一方は、他方の関数によって表されることを特徴とする請求項１記載の演奏操作子の駆動方法。
【請求項３】
前記演奏操作子の操作位置の変動範囲のうち所定範囲における前記操作速度の偏差が、前記所定範囲以外の範囲における前記操作速度の偏差よりも小さくなるように前記位置ゲインおよび前記速度ゲインを設定することを特徴とする請求項１記載の演奏操作子の駆動方法。
【請求項４】
請求項１ないし３の何れかに記載の演奏操作子の駆動方法を実行することを特徴とする演奏操作子の駆動装置。
【請求項５】
請求項１ないし３の何れかに記載の演奏操作子の駆動方法を処理装置に実行させることを特徴とするプログラム。
【請求項６】
請求項４記載の演奏操作子の駆動装置を有することを特徴とする自動演奏ピアノ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自動演奏ピアノその他自動楽器の演奏操作子の駆動に用いて好適な演奏操作子の駆動方法、演奏操作子の駆動装置、プログラムおよび自動演奏ピアノに関する。
【背景技術】
【０００２】
従来の自動演奏ピアノにおいては、各鍵を駆動するソレノイドと、各鍵の押下位置を計測するキーセンサとが設けられている。特許文献１に開示されている自動演奏ピアノにおいては、押鍵イベント、打弦イベント等から成る演奏情報が供給されると、該演奏情報に基づいて各鍵の軌道リファランス（鍵軌道の目標値）が生成され、各鍵位置は上記キーセンサの検出信号に基づいて、軌道リファランスに沿うようにフィードバック制御される。特許文献１においては、フィードバック制御の内容として、位置制御または速度制御が適用できる旨が開示されている。
【０００３】
また、同文献によれば、鍵のある位置における速度とハンマの打弦速度とが特定の対応関係を示すことが開示されている。この位置は、ピアノの個体差にもよるが、概ねレスト位置から９．０ｍｍ〜９．５ｍｍ程度押し下げた位置である。したがって、鍵がこの位置に達するときの速度を、打弦強度データに応じて制御すれば、記録時の打弦速度を忠実に再現することができる。なお、上述の所定位置をリファランスポイントという。
【０００４】
また、特許文献２においては、自動演奏ピアノのペダルを駆動する技術が開示されている。同文献においては、位置制御および速度制御の双方をペダル駆動に適用するとともに、センサ等によって検出されたペダル位置がフィードバックされる構成が開示されている。また、同文献には、正規化処理を行うことによって、自動演奏ピアノの個体差を吸収することも開示されている。
【特許文献１】特開平７−１７５４７２号公報
【特許文献２】特開平２−２７５９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、鍵の制御において重要な事項は、記録時の打弦速度を忠実に再現することである。このためには、記録時のリファランスポイントにおける押鍵速度を忠実に再現しなければならない。しかし、特許文献１に開示された位置制御では、リファランスポイントにおける押鍵速度を忠実に再現することが困難であった。これは、位置制御では現在の鍵の押下深さと軌道リファランスとの偏差に応じて鍵速度が制御されるため、軌道リファランスにおける押鍵速度に実際の押鍵速度を追従させることが困難になるためである。
【０００６】
また、特許文献１に開示された速度制御では、フィードバックゲインを上げると押鍵軌道の振動やオーバーシュートなどが起こりやすいという問題が生じ、フィードバックゲインを下げると軌道リファランスの押鍵速度に実際の押鍵速度を追従させることが困難になるという問題が生じる。
【０００７】
このため、特許文献２に開示されたペダル駆動の技術を鍵駆動に適用し、位置制御および速度制御の双方を適用するとともに、正規化処理を行うことによって各鍵の個体差を吸収することも考えられる。しかし、特許文献２に開示されたペダル駆動技術においては、最終的にはペダルの「操作位置」を再現することが制御の主眼に置かれており、「押鍵速度」（特にリファランスポイント付近における速度）を再現すべき鍵駆動とは異なる点が多い。
【０００８】
また、ペダル駆動に用いられるアクチュエータは、鍵用のアクチュエータと比較すると、大型でありストロークも長く、動作速度が比較的遅く、負荷が大きく、負荷パターンも相違する。さらに、鍵は、木材、フェルトなど、変形しやすい部品によって構成されているため、雑音成分が入り易いという特徴も考慮する必要がある。従って、単に特許文献２に開示された技術を鍵駆動に適用したとしても、鍵を忠実に駆動することが困難であった。
この発明は上述した事情に鑑みてなされたものであり、鍵等の演奏操作子を正確に駆動できる演奏操作子の駆動方法、演奏操作子の駆動装置、プログラムおよび自動演奏ピアノを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の演奏操作子の駆動方法にあっては、演奏操作子の操作位置または操作速度のうち一方の測定値をセンサ（２７）によって測定する過程と、前記演奏操作子の操作位置または操作速度のうち他方の測定値を前記センサ（２７）の測定結果に基づいて出力する過程（２１８）と、前記演奏操作子の軌道の目標値である軌道リファランスに基づいて、前記操作位置および操作速度の目標値を設定する過程（２０２）と、前記操作位置の目標値および測定値に基づいて操作位置の偏差（ｅｘ）を算出する過程と、前記操作速度の目標値および測定値に基づいて操作速度の偏差（ｅｖ）を算出する過程と、前記操作位置の偏差（ｅｘ）に対して、所定の位置ゲイン（ｋｘ）を乗算し、その乗算結果を位置制御信号（ｕｘ）として出力する過程と、前記操作速度の偏差（ｅｖ）に対して、所定の速度ゲイン（ｋｖ）を乗算し、その乗算結果を速度制御信号（ｕｖ）として出力する過程と、前記位置制御信号（ｕｘ）および前記速度制御信号（ｕｖ）の和に基づいて、前記操作位置および操作速度の各測定値が対応する各目標値に近づくように前記演奏操作子を駆動する過程とを有し、前記操作位置の単位をミリメートルとし、前記操作速度の単位をミリメートル／秒としたとき、前記速度ゲイン（ｋｖ）を前記位置ゲイン（ｋｘ）の「１〜３倍」の範囲に設定することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の演奏操作子の駆動方法において、前記操作位置の目標値および前記操作速度の目標値のうち一方は、他方の関数によって表されることを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載の演奏操作子の駆動方法において、前記演奏操作子の操作位置の変動範囲のうち所定範囲（リファランスポイント）における前記操作速度の偏差（ｅｖ）が、前記所定範囲（リファランスポイント）以外の範囲における前記操作速度の偏差（ｅｖ）よりも小さくなるように前記位置ゲイン（ｋｘ）および前記速度ゲイン（ｋｖ）を設定することを特徴とする。
また、請求項４記載の演奏操作子の駆動装置にあっては、請求項１ないし３の何れかに記載の演奏操作子の駆動方法を実行することを特徴とする。
また、請求項５記載のプログラムにあっては、請求項１ないし３の何れかに記載の演奏操作子の駆動方法を処理装置に実行させることを特徴とする。
また、請求項６記載の自動演奏ピアノにあっては、請求項４記載の演奏操作子の駆動装置を有することを特徴とする。
【発明の効果】
【００１０】
このように本発明によれば、操作位置の単位をミリメートルとし、操作速度の単位をミリメートル／秒としたとき、速度ゲインを位置ゲインの「１〜３倍」の範囲に設定したから、鍵等の演奏操作子を軌道リファランスに沿って正確に駆動することができる。
【発明を実施するための最良の形態】
【００１１】
1．第１実施例
1．1．第１実施例の構成
次に、本発明の第１実施例による自動演奏ピアノのハードウェア構成を図１を参照して説明する。
図において、１０はソレノイドであり、電流制御によりプランジャ部分が軸方向に変位する。２２はハンマセンサであり、一次側にフォトダイオード、二次側にフォトトランジスタを設けたフォトセンサを、２個、並列して設けたセンサである。なお、一方のフォトセンサが遮光状態になってから双方のフォトセンサが遮光状態になるまでの時間差から打弦タイミングと打弦速度とが検出される。２７はキー位置センサであり、鍵の押下位置を検出して、そのデータをアナログ出力する。
【００１２】
３０はＰＷＭ発生器であり、矩形波電流のパルス幅を可変することにより、ソレノイド１０に供給される平均電流を制御する。３７はＩ／Ｏインターフェースであり、ハンマセンサ２２およびキー位置センサ２７の出力信号を波形整形する。なお、ソレノイド１０、ハンマセンサ２２、キー位置センサ２７、ＰＷＭ発生器３０およびＩ／Ｏインターフェース３７は、鍵盤の各鍵にそれぞれ設けられる。４０はフレキシブルディスクドライブ（ＦＤＤ）であり、演奏情報等を記憶するためのフレキシブルディスクが挿入される。５０はＣＰＵであり、後述する制御アルゴリズムに基づいて各部を制御する。５２はフラッシュＲＯＭであり、パラメータおよびプログラムが記憶される。５４はＲＡＭであり、ワークメモリとして使用される。６０はバスラインであり、上述した各部を接続する。以上の要素により、自動演奏ピアノ１００が構成される。
【００１３】
次に、自動演奏ピアノの鍵部の概要構成を図２に示す。
図において７０は鍵であり、バランスピン８０によって揺動自在に支持されている。また、キー位置センサ２７は、鍵７０の前方（図上右側）下面に対向して設けられている。鍵７０の前方下面には、鍵の押下量に応じて連続的に透過光量が変化するように、遮光板７５が鍵７０の下方に向かって突出するように設けられている。１５はプランジャであり、ソレノイド１０の一部を構成し、ソレノイド１０に供給される電流により上下方向に変位し、鍵７０を駆動する。９０はアクション機構であり、鍵７０の運動をハンマ２に伝達する。４は弦であり、ハンマ２によって打弦される。６はダンパであり、弦４を制動する。
【００１４】
また、ＣＰＵ５０によって実行される機能は、記録メディアあるいはリアルタイム通信装置から供給される演奏情報に基づいて、鍵の軌道リファランスを生成する再生前処理部１１０と、供給された軌道リファランスとキー位置センサ２７の出力信号すなわち各時刻における鍵７０の位置とに対応した制御信号ｕを生成し制御信号ｕに応じた励磁電流をソレノイド１０に供給するモーション制御部１２０と、ハンマセンサ２２およびキー位置センサ２７の出力信号に基づいて演奏情報を記憶する演奏記録部１３０と、この演奏情報に対して各種補正を行う記録後処理部１４０とから構成されている。
【００１５】
ここで、本自動演奏ピアノは消音機能を有するものであるが、これはハンマが打弦する直前にハンマの回動を阻止する構成を有するものであって、具体的には、ハンマシャンクの回動を阻止するストッパ（図示略）を設けるものである。そして通常演奏時には、このストッパをハンマの回動を阻止しない位置に配置し、消音演奏時にはこのストッパをハンマの回動を阻止しない位置に配置するものである。このようなストッパを有する消音機構は公知のものを使用すればよく、その詳細構成についての説明を省略する。
【００１６】
1．2．第１実施例の制御アルゴリズムの構成
ここで、上記モーション制御部１２０における詳細動作を図３を参照し説明する。
図において処理がステップＳＰ２に進むと、ＦＤＤ４０に挿入されたフレキシブルディスク等からＭＩＤＩ情報が取得される。次に、処理がステップＳＰ４に進むと、このＭＩＤＩ情報が正規化されつつ、所定区間の軌道リファランスが作成される。次に、処理がステップＳＰ６に進むと、この軌道リファランスが微分されることにより、速度目標値ｒｖが生成される。次に処理がステップＳＰ８に進むと、所定時間Ｔだけ処理が待機される。次に、処理がステップＳＰ１０に進むと、位置目標値ｒｘすなわち現在時刻における軌道リファランスの値が求められる。
【００１７】
次に、処理がステップＳＰ１２に進むと、キー位置センサ２７の出力する位置信号ｙｘａをＡＤ変換してなる位置信号ｙｘｄが取得される。次に、処理がステップＳＰ１４に進むと、この位置信号ｙｘｄが正規化されることにより、位置信号ｙｘが得られる。次に、処理がステップＳＰ１４に進むと、位置目標値ｒｘから位置信号ｙｘが減算されることにより、位置偏差ｅｘが求められる。次に、処理がステップＳＰ１８に進むと、この位置偏差ｅｘが所定の位置ゲインｋｘで増幅されることにより、位置制御信号ｕｘが得られる。次に、処理がステップＳＰ２０に進むと、現時点の位置信号ｙｘおよび過去（所定時間Ｔだけ前の）位置信号ｙｘに基づいて、現在の速度信号ｙｖが算出される。
【００１８】
次に、処理がステップＳＰ２２に進むと、速度目標値ｒｖから速度信号ｙｖが減算されることにより、速度偏差ｅｖが算出される。次に、処理がステップＳＰ２４に進むと、速度偏差ｅｖに対して速度ゲインｋｖが乗算されることにより、速度制御信号ｕｖが得られる。次に、処理がステップＳＰ２６に進むと、位置制御信号ｕｘと速度制御信号ｕｖとが加算され、これにより制御信号ｕが算出される。次に、処理がステップＳＰ２８に進むと、この制御信号ｕがＰＷＭ発生器３０に供給される。これにより、制御信号ｕに応じたデューティ比の電流がソレノイド１０に供給され、鍵７０が駆動される。
【００１９】
次に、処理がステップＳＰ３０に進むと、先にステップＳＰ４において作成された軌道区間の軌道リファランスに対応する駆動処理が終了したか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ８に戻り、ステップＳＰ８〜ＳＰ２８の処理が繰り返される。一方、該軌道区間に対する駆動処理が終了すると、ステップＳＰ３０において「ＹＥＳ」と判定され、処理はステップＳＰ３２に進む。ここでは、当該鍵７０に係るＭＩＤＩ情報に対する処理が全て終了したか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ４に戻り、鍵７０に係る次のＭＩＤＩ情報に基づいて、所定区間の軌道リファランスが生成される。以下、鍵７０に係る全てのＭＩＤＩ情報に基づいて同様の処理が繰り返される。そして、全てのＭＩＤＩ情報について駆動処理が終了すると、ステップＳＰ３２において「ＹＥＳ」と判定され、本ルーチンが終了する。
【００２０】
上述したアルゴリズムはブロック図としても表現することができる。そこで、上述した本実施例の制御アルゴリズムと等価なブロック図を図４に示す。
図において２０２は目標値生成部であり、軌道リファランスに基づいて、位置目標値ｒｘと速度目標値ｒｖとを生成する。ここで、軌道リファランスは、時刻に対する鍵７０の押下位置の関数として表現されるから、位置目標値ｒｘは現在時刻に対する軌道リファランスの値であり、速度目標値ｒｖは軌道リファランスの傾きになる。
【００２１】
２０３は減算器であり、位置目標値ｒｘから後述する位置信号ｙｘを減算し、その結果を位置偏差ｅｘとして出力する。２０４は増幅部であり、位置偏差ｅｘを所定の位置ゲインｋｘで増幅し、ソレノイド１０に供給すべき平均電流（換言すればＰＷＭ発生器３０におけるデューティ比の増減値）に対応する位置制御信号ｕｘを出力する。また、２０６は減算器であり、速度目標値ｒｖから後述する速度信号ｙｖを減算し、その結果を速度偏差ｅｖとして出力する。
【００２２】
２０８は増幅部であり、速度偏差ｅｖを所定の速度ゲインｋｖで増幅し、ソレノイド１０に供給すべき平均電流に対応する速度制御信号ｕｖを出力する。２１０は加算器であり、位置制御信号ｕｘおよび速度制御信号ｕｖを加算し、その加算結果を制御信号ｕとして出力する。この制御信号ｕは最終的にソレノイド１０に供給すべき電流の平均値に対応する値であり、ＰＷＭ発生器３０においては、該制御信号ｕに基づいて矩形波電流のデューティ比が設定される。
【００２３】
この矩形波電流によって鍵７０が駆動されると、キー位置センサ２７によって、アナログ信号である時々刻々の位置信号ｙｘａが出力される。この位置信号ｙｘａは、Ｉ／Ｏインターフェース３７を介してデジタル信号の位置信号ｙｘｄに変換される。２１６は正規化部であり、下式(１)に基づいて鍵７０およびキー位置センサ２７の個体差を補正し、正規化した位置信号ｙｘを出力する。
ｙｘ＝Ｒ＊ｙｘｄ＋Ｓ  [mm]    ……(１)
【００２４】
式(１)において、Ｒはゲイン校正値、Ｓはオフセット校正値であり、測定によって予め得られた値である。これらの値はフラッシュＲＯＭ５２に記憶される。また、２１８は速度生成部であり、位置信号ｙｘを微分することにより速度信号ｙｖを出力する。例えば、所定時間Ｔ[sec]（例えば１サンプリング周期）前の位置信号ｙｘを「ｙｘ1[mm]」、現在の位置信号ｙｘを「ｙｘ0[mm]」とすると、
ｙｖ＝（ｙｘ0−ｙｘ1）／Ｔ  [mm/sec]    ……(２)
によって速度信号ｙｖを求めることができる。
【００２５】
これら位置信号ｙｘおよび速度信号ｙｖが上述した減算器２０３，２０６にフィードバックされることにより、位置信号ｙｘおよび速度信号ｙｖが各々位置目標値ｒｘおよび速度目標値ｒｖに追従するように制御信号ｕが設定されることになる。なお、上記アルゴリズムの構成要素２０２〜２１８は、フラッシュＲＯＭ５２に格納されたプログラムおよびＣＰＵ５０によって実現される。
【００２６】
1．3．第１実施例の動作
ＦＤＤ４０からＣＰＵ５０に演奏情報が読み込まれると、その演奏情報に基づいて各鍵７０の軌道リファランスが生成される。軌道リファランスを生成する詳細な処理は、上述した特許文献１に開示されているが、例えば等速押鍵時のＭＩＤＩベロシティ値を「ｖｍ」とし、このベロシティｖｍから位置目標値ｒｘの傾きを所定の関数ｆ（ｖｍ）によって求め、位置目標値ｒｘの初期値をｒｘ0としたとき、下式(３)によって軌道リファランスを表現することができる。
ｒｘ＝ｆ（ｖｍ）＊ｔ＋ｒｘ0    ……(３)
【００２７】
また、速度目標値ｒｖは、
ｒｖ＝ｄ（ｒｘ）／ｄｔ＝ｆ（ｖｍ）  ……(４)
である。なお、関数ｆ（ｖｍ）は指数関数であり、演算またはテーブルの値参照の何れによっても実現することができる。そして、軌道リファランス上の時々刻々のサンプリング値が目標値生成部２０２に供給されると、図４のアルゴリズムに基づいて、サンプリング周期毎に制御信号ｕが計算され、この制御信号ｕに基づく矩形波電流によってソレノイド１０が（従って鍵７０が）駆動される。
【００２８】
本実施例においては、位置および速度の双方に対してフィードバック制御が行われ、位置偏差ｅｘおよび速度偏差ｅｖに対するゲイン（増幅部２０４，２０８におけるゲイン）を独立して設定できるから、軌道リファランスに対して実際の押鍵軌道を精密に追従させることができる。
【００２９】
ここで、増幅部２０４，２０８におけるゲインｋｘ，ｋｖに対して種々の値を設定し、実際の自動演奏ピアノを用いて位置信号ｙｘおよび速度信号ｙｖを測定した結果を図８〜図１１に示す。これらの図において、横軸は時刻、縦軸は位置目標値ｒｘについては「押鍵深さ」であり速度目標値ｒｖについては「押鍵速度」である。そして、位置目標値ｒｘおよび位置信号ｙｘのディメンジョンは「ｍｍ（ミリメートル）」であり、速度目標値ｒｖおよび速度信号ｙｖのディメンジョンは「ｍｍ／ｓ（ミリメートル／秒）」である。
【００３０】
まず、図８は、位置ゲインｋｘ＝０.２、速度ゲインｋｖ＝０.０とした時の測定結果である。この例においては、ゲインｋｘ，ｋｖ共に低いため、位置信号ｙｘが位置目標値ｒｘに追従することができず、発音が行われなかった。次に、図９は、位置ゲインｋｘ＝０.５、速度ゲインｋｖ＝１.４とした時の測定結果である。この例においては、位置信号ｙｘの最終的な押鍵深さが位置目標値ｒｘに追従できなかったため、発音は行われたものの、所定の基準音量より弱い音であった。
【００３１】
次に、図１０は、位置ゲインｋｘ＝０.２、速度ゲインｋｖ＝３.２とした時の測定結果である。この例においては、速度ゲインｋｖが位置ゲインｋｘよりもはるかに大きいため、位置信号ｙｘおよび速度信号ｙｖが振動し、動作が不安定になっている。次に、図１１は、位置ゲインｋｘ＝０.５、速度ゲインｋｖ＝０.２とした時の測定結果である。この例においては、速度制御が不十分であるために、速度信号ｙｖが急激に上昇し、所定の基準音量より強い音で発音が行われた。
【００３２】
次に、図１２は、位置ゲインｋｘ＝１.１、速度ゲインｋｖ＝２.０とした時の測定結果である。この例においては、位置信号ｙｘが位置目標値ｒｘによく追従し、良好な発音結果がすなわち演奏情報の記録時と同等の音量での発音結果が得られた。その他、ゲインｋｘ，ｋｖを様々な値に対して測定結果をまとめたものを図１３に示す。この図によれば、ゲインｋｘ，ｋｖは何れも「０.５」以上の値を有し、かつ上限値（位置ゲインｋｘにあっては「２.０」，速度ゲインｋｖにあっては「２.３」）以下の値で良好な結果が得られることが解る。さらに、速度ゲインｋｖが位置ゲインｋｘの「１〜３倍」である時に概ね良好な結果が得られることが解る。
【００３３】
また、従来技術の欄において述べたように、押鍵速度とハンマの打弦速度とが特定の対応関係を示す位置をリファランスポイントという。図１２の位置信号ｙｘの軌跡においては、一点鎖線で囲んだ範囲Ａがリファランスポイントに相当する。このリファランスポイント付近での押鍵速度を極力速度目標値ｒｖに近づけるため、押鍵速度をサーボ制御することは必須である。一方、位置目標値ｒｘについても、位置目標値ｒｘのリファランスポイントの範囲内で実際の鍵位置もリファランスポイントに近づいていれば最適であるが、サーボ制御の本質的な特性により、遅れが生じること自体は不可避である。そこで、この「遅れ」のばらつきが「０」近くの値になるようにしておくとよい。遅れ時間が一定であれば、鍵駆動の際の時間補正は容易になる。本実施例においては、その上で、可能な限り、位置サーボの効果も確保するようにしている。
【００３４】
図９の例においては、時刻ｔ2〜ｔ3付近にて、位置サーボによる制御が不充分であり、エンド位置において鍵位置ｙｘが位置目標値ｒｘに充分に追従していない。これは、位置サーボと速度サーボのバランスがやや悪いためである。これに対して、図１２の例では、エンド位置においても鍵位置ｙｘが位置目標値ｒｘにほぼ追従している。これは、位置サーボと速度サーボのバランスが良好であるためである。鍵速度ｙｖと鍵位置ｙｘに対する速度ゲインｋｖおよび位置ゲインｋｘのバランスが崩れていると、不都合が大きくなる。例えば、図１１の例では速度ゲインｋｖおよび位置ゲインｋｘのバランスは良いが、両ゲインが共に小さいため、結果として時刻ｔ2〜ｔ3の区間では鍵速度ｙｖが速度目標値ｒｖを追い越し気味になるため、やや強打状態になる。また、鍵速度ｙｖが定常状態にならず不安定になる。
【００３５】
また、図８の例は、位置ゲインｋｘが小さく、かつ速度サーボを実行しない（速度ゲインｋｖが「０」である）ものである。時刻ｔ2〜ｔ3の区間の前半では鍵速度ｙｖが低いため鍵位置ｙｘがエンド位置に到達せず、発音も行われない。さらに、図１０の例にあっては、位置ゲインｋｘに比較して速度ゲインｋｖが過大であるため、時刻ｔ1〜ｔ3の区間で鍵位置ｙｘが振動し、鍵速度ｙｖも発振している。また、位置サーボによる制御が不充分であるときは、特に鍵を連打したときに問題が生じる。すなわち、鍵軌道のエンド位置が徐々にずれてゆくとともに、鍵がレスト位置にまで戻らないという問題が生じる。この様子を図１４(a)に示す。また、位置サーボおよび速度サーボの双方を施した例を図１４(b)に示す。
【００３６】
2．第２実施例
次に、本発明の第２実施例の自動演奏ピアノについて図５を参照し説明する。
第２実施例においては、第１実施例のキー位置センサ２７に代えて、鍵７０の速度を検出するキー速度センサ２８が設けられている。すなわち、鍵７０が駆動されると、キー速度センサ２８によって、アナログ信号である時々刻々の速度信号ｙｖａが出力される。この速度信号ｙｖａは、Ｉ／Ｏインターフェース３７を介してデジタル信号の速度信号ｙｖｄに変換される。
【００３７】
２２０は正規化部であり、下式(５)に基づいて、鍵７０およびキー位置センサ２７の個体差を補正し、正規化した速度信号ｙｖを出力する。
ｙｖ＝Ｐ＊ｙｘｄ＋Ｑ  [mm/sec]    ……(５)
【００３８】
式(５)において、Ｐはゲイン校正値、Ｑはオフセット校正値であり、測定によって予め得られた値である。これらの値はフラッシュＲＯＭ５２に記憶される。また、２２２は位置生成部であり、下式(６)に基づいて速度信号ｙｖを積分することにより位置信号ｙｘを出力する。例えば、所定時間Ｔ[sec]（例えば１サンプリング周期）前の位置信号ｙｘを「ｙｘ1[mm]」とし、現在の速度信号ｙｖを「ｙｖ0[mm/sec]」とすると、
ｙｘ＝ｙｘ1＋ｙｖ0＊Ｔ  [mm]    ……(６)
によって位置信号ｙｘを求めることができる。上述した以外の本実施例の構成／動作は第１実施例と同様である。すなわち、キーセンサとしては、位置センサおよび速度センサの何れも適用可能であることが解る。
【００３９】
3．第３実施例
次に、本発明の第３実施例の自動演奏ピアノについて図６を参照し説明する。
第３実施例においては、第１実施例の目標値生成部２０２に代えて、目標値生成部２３２が設けられている。該目標値生成部２３２においては上述した位置目標値ｒｘおよび速度目標値ｒｖに加えて、所定のバイアス値ｒｕが常時出力される。また、２３４は加算器であり、加算器２１０の出力信号（すなわち位置制御信号ｕｘと速度制御信号ｕｖの合計）に対して、さらにバイアス値ｒｕを加算し、その結果を制御信号ｕとしてＰＷＭ発生器３０に供給する。上述した以外の本実施例の構成／動作は第１実施例と同様である。
【００４０】
ここで、バイアス値ｒｕについて説明しておく。図２の構成において、ソレノイド１０に供給する矩形波電流の平均値を「０」から徐々に上昇させてゆくと、矩形波電流の平均値が極めて小さい時には鍵７０は駆動されず、電流の平均値がある値になると鍵７０が駆動され始める。バイアス値ｒｕは、この駆動が開始される電流の境界値に対応する値に設定される。従って、本実施例においては、このバイアス値ｒｕに応じた電流が常時ソレノイド１０に供給されているため、軌道リファランスがレスト状態（鍵７０が全く駆動されない状態）から立ち上がる時のレスポンスを向上させることができる。
【００４１】
4．第４実施例
次に、本発明の第４実施例の自動演奏ピアノについて図７を参照し説明する。
上述した第１ないし第３実施例においては、位置信号ｙｘおよび速度信号ｙｖのフィードバック制御を行ったが、本実施例はこれらに加えて加速度信号もフィードバックするようにしたものである。
【００４２】
図７において２４０は加速度生成部であり、速度信号ｙｖを微分することにより加速度信号ｙａを生成する。２４２は増幅部であり、加速度信号ｙａを所定のゲインで増幅し加速度制御信号ｕａを出力する。２４４は加算器であり、「位置制御信号ｕｘ＋速度制御信号ｕｖ−加速度制御信号ｕａ」の演算結果を制御信号ｕとしてＰＷＭ発生器３０に供給する。上述した以外の本実施例の構成／動作は第２実施例と同様である。本実施例によれば、例えば加速度信号ｙａが大きい時に制御信号ｕを減少させるように加速度制御信号ｕａが制御されるから、押鍵軌道のオーバーシュートなどを抑制することが可能になる。
【００４３】
5．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記第１実施例においては、上述の式（３）および（４）から明らかなように、鍵を駆動する際の目標値となる位置目標値ｒｘおよび速度目標値ｒｖは関数によって表現される。上述の式（３）および（４）から次の式が得られる。
ｒｘ＝ｒｖ＊ｔ＋ｒｘ0    ……(７)
ここで速度目標値ｒｖは、関数ｆ（ｖｍ）によって規定される、ある軌道区間での一定値である。このように位置目標値ｒｘおよび速度目標値ｒｖを関数によって関連付けることにより、各軌道区間ではｒｘ，ｒｖの値をデータ列として記憶しておく必要がなくなり、何れか一方の値のみを記憶しておけばよい。これにより、データ列作成に伴って、値に誤差が発生する虞がなくなる。さらに、参照する都度微分演算などの複雑な計算を行う必要がなく、上記式（７）に基づいた延在を行えば足りる。この結果、データ値が正確になり、データ量が少なくなり、演算が簡便になり、外部へのグラフ等の表示が容易になるという効果を奏する。
【００４４】
また、上式（７）に代えて、以下のような積算式を用いても良い。
ｒｘ＝ｒｘ＿＋ｒｖ＊Ｔ    ……(８)
式（８）においてｒｘ＿は前回の位置目標値ｒｘの値であり、Ｔはサンプリング周期を表す。サンプリング周期Ｔは一定値であるから、「ｒｖ＊Ｔ」は対象となる軌道区間内では一定値となり、予め計算しておくことができる。この方法においても、上述したのと同様の効果を奏することができる。
【００４５】
(2)また、第４実施例において説明したように、軌道リファランスは等加速度軌道であってもよい。まず、ある押鍵区間において鍵速度に一定の加速度目標値ｒａが与えられたとする。この区間での初速度をｒｖ0とすると、速度目標値ｒｖは下式によって表すことができる。
ｒｖ＝ｒａ＊ｔ＋ｒｖ0    ……(９)
さらに、この区間における位置目標値ｒｘを次式によって表すことができる。
ｒｘ＝（１／２）＊ｒａ＊ｔ2＋ｒｖ0＊ｔ＋ｒｘ0    ……(１０)
なお、この例の場合、ｒｘ0をレスト位置とし、その値を「０」に決定しておくとよい。また、次式のように、位置目標値ｒｘを速度目標値ｒｖを用いて表してもよい。
ｒｘ＝（１／２）＊（ｒｖ＋ｒｖ0）＊ｔ＋ｒｘ0    ……(１１)
この場合の位置目標値ｒｘおよび速度目標値ｒｖは、例えば図１５に示すようになる。図１５において、横軸は時刻、縦軸は位置目標値ｒｘについては「押鍵深さ」であり速度目標値ｒｖについては「押鍵速度」である。そして、位置目標値ｒｘおよび位置信号ｙｘのディメンジョンは「ｍｍ（ミリメートル）」であり、速度目標値ｒｖおよび速度信号ｙｖのディメンジョンは「ｍｍ／ｓ（ミリメートル／秒）」である。この変形例においても、変形例（１）と同様の効果が得られる。
【００４６】
(3)上記各実施例においては、自動演奏ピアノ１００に組み込まれたプログラムによって鍵軌道を制御したが、このプログラムのみをＣＤ−ＲＯＭ、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００４７】
(4)また、上記各実施例においては、「位置」、「速度」および「加速度」の次元を適用したが、その他に「力」の次元等を適用してもよい。
(5)また、上記第４実施例においては、加速度信号ｙａについては特に目標値を与えなかったが、軌道リファランスに基づいて加速度信号ｙａについても目標値を設定しサーボ制御を行うようにしてもよい。
【００４８】
(6)また、位置ゲインｋｘと速度ゲインｋｖの組み合わせは、図１３に「ｏｋ」と記載した領域に限られるものではない。例えば、速度目標値ｒｖを低くすると、図１３において「＋」または「−」と記載した領域においても良好な発音が得られる場合がある。さらに、速度目標値ｒｖを「０」に近い値に設定すると、速度ゲインｋｖが「０」に近い領域においても良好な発音が得られる場合がある。
【００４９】
(7)上記各実施例においては、距離の単位を「ｍｍ（ミリメートル）」、速度の単位を「ｍｍ／ｓ（ミリメートル／秒）」としたが、単位はこれらのものに限られるものではなく、種々の単位の組み合わせが可能であることは言うまでもない。何れの単位が用いられた場合であっても、距離の単位を「ｍｍ（ミリメートル）」、速度の単位を「ｍｍ／ｓ（ミリメートル／秒）」に換算したとき、速度ゲインｋｖが位置ゲインｋｘの「１〜３倍」である時に良好な結果が得られるのである。また、速度ゲインｋｖの上限値（または下限値）が位置ゲインｋｘの上限値（または下限値）の「１〜３倍」になるように各部を設定したものも本発明の範疇にふくまれるものである。
【図面の簡単な説明】
【００５０】
【図１】本発明の各実施例による自動演奏ピアノのハードウエアブロック図である。
【図２】該自動演奏ピアノの鍵部の側面図である。
【図３】第１実施例の制御プログラムのフローチャートである。
【図４】第１実施例の制御アルゴリズムのブロック図である。
【図５】第２実施例の制御アルゴリズムのブロック図である。
【図６】第３実施例の制御アルゴリズムのブロック図である。
【図７】第４実施例の制御アルゴリズムのブロック図である。
【図８】第１実施例による実験結果を示す図である。
【図９】第１実施例による実験結果を示す図である。
【図１０】第１実施例による実験結果を示す図である。
【図１１】第１実施例による実験結果を示す図である。
【図１２】第１実施例による実験結果を示す図である。
【図１３】第１実施例による実験結果を示す図である。
【図１４】第１実施例による実験結果を示す図である。
【図１５】等加速度の軌道リファランスを示す図である。
【符号の説明】
【００５１】
１０：ソレノイド、１５：プランジャ、２２：ハンマセンサ、２７：キー位置センサ、２８：キー速度センサ、３０：ＰＷＭ発生器、３７：Ｉ／Ｏインターフェース、４０：ＦＤＤ、４０：フレキシブルディスクドライブ、５０：ＣＰＵ、５２：フラッシュＲＯＭ、５４：ＲＡＭ、７０：鍵、７５：遮光板、８０：バランスピン、１００：自動演奏ピアノ、２０２：目標値生成部、２０３，２０６：減算器、２０４，２０８：増幅部、２１０，２３４，２４４：加算器、２１６，２２０：正規化部、２１８：速度生成部、２２２：位置生成部、２３２：目標値生成部、２４０：加速度生成部、２４２：増幅部。
【図１】
0004636364.tif 000002
【図２】
0004636364.tif 000003
【図３】
0004636364.tif 000004
【図４】
0004636364.tif 000005
【図５】
0004636364.tif 000006
【図６】
0004636364.tif 000007
【図７】
0004636364.tif 000008
【図８】
0004636364.tif 000009
【図９】
0004636364.tif 000010
【図１０】
0004636364.tif 000011
【図１１】
0004636364.tif 000012
【図１２】
0004636364.tif 000013
【図１３】
0004636364.tif 000014
【図１４】
0004636364.tif 000015
【図１５】
0004636364.tif 000016