(57)【特許請求の範囲】
【請求項１】
鍵の回動過程における当該鍵の位置を複数点にて検出する第１のセンサと、
前記鍵が押下されたときに、前記鍵に対応する弦を打撃するハンマの回動過程における当該ハンマの位置を、少なくとも１点にて検出する第２のセンサと、
前記第１のセンサの検出結果から、前記ハンマが前記弦を打撃するタイミングを示す第１の打撃タイミング情報を少なくとも含む第１のセンサ情報を発生する第１のセンサ情報発生手段と、
前記第２のセンサの検出結果から、前記ハンマが前記弦を打撃するタイミングを示す第２の打撃タイミング情報を少なくとも含む第２のセンサ情報を発生する第２のセンサ情報発生手段と、
前記第１のセンサの検出結果、前記第２のセンサの検出結果、前記第１のセンサ情報、及び前記第２のセンサ情報のうちの少なくとも１つを参照した結果を基に、前記第１のセンサ情報及び前記第２のセンサ情報のうち鍵盤情報として出力すべき一方のセンサ情報を選択し、選択したセンサ情報を出力する制御手段と
を具備することを特徴とする鍵盤情報出力装置。
【請求項２】
前記制御手段は、
原則として、前記第２のセンサ情報を鍵盤情報として選択する一方、前記第２のセンサの検出結果を参照した結果として前記ハンマの打撃過程が異常と判断される場合には、前記第１のセンサ情報を鍵盤情報として選択すること
を特徴とする請求項１記載の鍵盤情報出力装置。
【請求項３】
前記制御手段は、
前記鍵が押鍵状態を維持したまま再度押鍵されたと、前記第１のセンサによる検出結果から判断した場合に、前記ハンマの打撃動作の過程が異常と判断すること
を特徴とする請求項２記載の鍵盤情報出力装置。
【請求項４】
前記制御手段は、
前記鍵の連打が行なわれたと、第１あるいは第２のセンサ情報のうちの鍵盤情報として選択したものから判断した場合に、前記ハンマの打撃動作の過程が異常と判断すること
を特徴とする請求項２記載の鍵盤情報出力装置。
【請求項５】
前記第１のセンサ情報発生手段は、
前記第１のセンサの検出結果から押鍵速度を求め、この押鍵速度から、第１の打弦タイミングとともに、その際の打弦の大きさを推定して、両者を第１のセンサ情報として出力するものであり、
前記第２のセンサは、
前記ハンマの回動過程を複数点にて検出するものであり、
前記第２のセンサ情報発生手段は、
前記第２のセンサの検出結果からハンマの回動速度を求め、この回動速度から第２の打弦タイミングとともに、その際の打弦の大きさを推定して、両者を第２のセンサ情報として出力するものであること
を特徴とする請求項１または２記載の鍵盤情報出力装置。
【請求項６】
前記第１のセンサ情報発生手段は、
押鍵速度を打撃の大きさに変換する第１のテーブルと、
前記押鍵速度を前記第１のテーブルよりも小さい打撃の大きさに変換する第２のテーブルと
を備え、
前記第１のセンサの検出結果にしたがってどちらか一方のテーブルを用いて、押鍵速度を打撃の大きさを推定すること
を特徴とする請求項５記載の鍵盤情報出力装置。
【請求項７】
前記第１のセンサ情報発生手段は、
押鍵状態が維持されたまま再度の押鍵が行なわれたれたとき、あるいは離鍵が低速で行なわれた直後に押鍵が行なわれたときには、前記第２のテーブルを用いる一方、それ以外のときには、前記第１のテーブルを用いること
を特徴とする請求項６記載の鍵盤情報出力装置。
【請求項８】
前記制御手段は、
前記第２のセンサ情報を選択するにあたって、前記第１のセンサにより押鍵速度が検出されていることを条件とすること
を特徴とする請求項５記載の鍵盤情報出力装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、例えば消音ピアノや自動演奏ピアノなどに用いて好適な鍵盤情報出力装置に関する。
【０００２】
【従来の技術】
従来より、通常の演奏とともに、押鍵しても打弦しない消音演奏が可能な消音ピアノが知られている。かかる消音ピアノは、ハンマシャンクの回動を阻止する機構を備えており、この機構によって、押鍵により回動したハンマが、打弦寸前で戻されるようになっている。そして、消音演奏では、打弦による楽音発生のかわりに、鍵等の動作をセンサにより検出して、押鍵に対応した音高、タイミングおよび強弱を有する楽音を電子的に発生する。このようにして発生した楽音を、演奏者が、例えばヘッドホン等により聴くことによって、近隣者に迷惑を掛けずに、演奏の練習を行なうことができるようになっている。
【０００３】
ところで、従来の消音ピアノにおいて、押鍵によって本来ならば発生するであろう打弦のタイミングとその大きさとを検出するのに、主に次の２つ方法があった。
【０００４】
▲１▼  各鍵（キー）に、光センサなどの検出素子を設けて、押鍵過程を複数段階で検出する。そして、各過程間において状態から押鍵速度を求め、打弦のタイミングおよびその大きさを予想する。
▲２▼  各打弦ハンマに、光センサなどの検出素子を設けて、回動が阻止される手前の２点間の通過速度を求めるとともに、各鍵の押離鍵状態を２値的に検出するセンサを設ける。そして、ハンマの通過速度から打弦のタイミング、およびその大きさを求めるとともに、離鍵状態を検出して、このときの楽音の止音タイミングを求める。
【０００５】
【発明が解決しようとする課題】
しかしながら、これら▲１▼、▲２▼の方法では、それぞれ次のような問題があった。▲１▼の方法では、鍵の操作とハンマの動作とは、必ずしも一致しないため、連打などの特殊の奏法を行なった場合に、発音のタイミングがズレたり、楽音の強弱が不正確となったりする。例えば、鍵を小刻みに動かして連打するような場合には、打鍵ストロークが短くなるため、アコースティクピアノでは、さほど大きな楽音は発生しないが、鍵の動作が速いため、消音演奏状態では、その速度に応じた大きな楽音が電子音源により発生してしまうことがある。
【０００６】
▲２▼の方法では、実際に弦を叩くハンマの速度から打弦のタイミングおよびその大きさを求めるため、かなり忠実にセンシングすることが可能となる。しかし、打弦後のハンマが、速度検出のための一方の地点を通過したが、他方の地点を通過しないままレストポジションに戻りきらないで、次の打弦動作が行なわれた場合には、この打弦速度を求めることができない。速度検出には、２点間の通過時間を求めることが必要となるが、この場合には、一点しか通過していないからである。このような不都合は、例えば、演奏者が押鍵状態を維持したまま、完全に離鍵せずに次の押鍵動作（以下、この奏法を、説明の便宜上「深い押鍵」と呼ぶことにする）を行なった場合に発生するが、かかる演奏法は、グランドピアノにおいては何ら特別なものではなく、ごく普通に行なわれるのである。
【０００７】
また、速度検出のための２点は、できることならば、打弦寸前に設置することが望ましいが、ハンマが打弦する手前で回動を阻止する消音ピアノにあっては、阻止される手前に設置しなければならない。すなわち、速度検出のための２点は、それだけレストポジション側に設置しなければならないのである。したがって、消音ピアノにおいて、▲２▼の方法による不都合は、より顕著となるのである。
【０００８】
さらに、▲２▼の方法では、ハンマの打弦地点近傍にセンサを設置する関係上、必然的にセンサ自体が振動しやすくなる。このため、ハンマの打弦速度を正確に検出できないという問題がある。くわえて、打弦後における離鍵が、途中で止まるほど徐々に行なわれる場合には、ハンマの戻りもゆっくり行なわれるため、速度検出のための２点の一方において、振動によるチャッタリングが発生して、ハンマの状態を誤認識する可能性がある。▲２▼の方法では、これを回避するため、複雑な例外処理も必要となるという問題もあった。
【０００９】
このように、▲１▼、▲２▼のいずれの方法おいても、消音演奏では、センサにより求めた打弦のタイミングおよびその大きさが、本来ならば発生するであろうはずのものとは、かけ離れることが多いという欠点があった。
【００１０】
この発明は、上述した事情に鑑みてなされたもので、その目的とするところは、ハンマの挙動を正確に把握でき、打弦のタイミングおよび打弦の大きさを、より忠実にセンシングすることが可能な鍵盤情報出力装置を提供することにある。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、請求項１に記載の発明にあっては、鍵の回動過程における当該鍵の位置を複数点にて検出する第１のセンサと、前記鍵が押下されたときに、前記鍵に対応する弦を打撃するハンマの回動過程における当該ハンマの位置を、少なくとも１点にて検出する第２のセンサと、前記第１のセンサの検出結果から、前記ハンマが前記弦を打撃するタイミングを示す第１の打撃タイミング情報を少なくとも含む第１のセンサ情報を発生する第１のセンサ情報発生手段と、前記第２のセンサの検出結果から、前記ハンマが前記弦を打撃するタイミングを示す第２の打撃タイミング情報を少なくとも含む第２のセンサ情報を発生する第２のセンサ情報発生手段と、前記第１のセンサの検出結果、前記第２のセンサの検出結果、前記第１のセンサ情報、及び前記第２のセンサ情報のうちの少なくとも１つを参照した結果を基に、前記第１のセンサ情報及び前記第２のセンサ情報のうち鍵盤情報として出力すべき一方のセンサ情報を選択し、選択したセンサ情報を出力する制御手段とを具備することを特徴とする。
【００１２】
請求項２に記載の発明にあっては、請求項１に記載の発明において、前記制御手段は、原則として、前記第２のセンサ情報を鍵盤情報として選択する一方、前記第２のセンサの検出結果を参照した結果として前記ハンマの打撃過程が異常と判断される場合には、前記第１のセンサ情報を鍵盤情報として選択することを特徴とする。
【００１３】
請求項３に記載の発明にあっては、請求項２に記載の発明において、前記制御手段は、  前記鍵が押鍵状態を維持したまま再度押鍵されたと、前記第１のセンサによる検出結果から判断した場合に、前記ハンマの打撃動作の過程が異常と判断することを特徴とする。
【００１４】
請求項４に記載の発明にあっては、請求項２に記載の発明において、前記制御手段は、  前記鍵の連打が行なわれたと、第１あるいは第２のセンサ情報のうちの鍵盤情報として選択したものから判断した場合に、前記ハンマの打撃動作の過程が異常と判断することを特徴とする。
【００１５】
請求項５に記載の発明にあっては、請求項１または２に記載の発明において、前記第１のセンサ情報発生手段は、前記第１のセンサの検出結果から押鍵速度を求め、この押鍵速度から、第１の打弦タイミングとともに、その際の打弦の大きさを推定して、両者を第１のセンサ情報として出力するものであり、前記第２のセンサは、前記ハンマの回動過程を複数点にて検出するものであり、前記第２のセンサ情報発生手段は、前記第２のセンサの検出結果からハンマの回動速度を求め、この回動速度から第２の打弦タイミングとともに、その際の打弦の大きさを推定して、両者を第２のセンサ情報として出力するものであることを特徴としている。
【００１６】
請求項６に記載の発明にあっては、請求項５に記載の発明において、前記第１のセンサ情報発生手段は、押鍵速度を打撃の大きさに変換する第１のテーブルと、前記押鍵速度を前記第１のテーブルよりも小さい打撃の大きさに変換する第２のテーブルとを備え、前記第１のセンサの検出結果にしたがってどちらか一方のテーブルを用いて、押鍵速度を打撃の大きさを推定することを特徴としている。
【００１７】
請求項７に記載の発明にあっては、請求項６に記載の発明において、前記第１のセンサ情報発生手段は、押鍵状態が維持されたまま再度の押鍵が行なわれたれたとき、あるいは離鍵が低速で行なわれた直後に押鍵が行なわれたときには、前記第２のテーブルを用いる一方、それ以外のときには、前記第１のテーブルを用いることを特徴としている。
【００１８】
請求項８に記載の発明にあっては、請求項５に記載の発明において、前記制御手段は、前記第２のセンサ情報を選択するにあたって、前記第１のセンサにより押鍵速度が検出されていることを条件とすることを特徴とする請求項５記を特徴としている。
【００１９】
【作用】
請求項１に記載の発明によれば、第１のセンサが鍵の回動過程を検出し、第２のセンサがハンマの回動過程を検出し、第１のセンサ情報発生手段が、鍵の回動過程からハンマの打撃タイミングを示す第１の打撃タイミング情報を少なくとも含む第１のセンサ情報を発生し、第２のセンサ情報発生手段が、ハンマの回動過程からハンマの打撃タイミングを示す第２の打撃タイミング情報を少なくとも含む第２のセンサ情報を発生する。制御手段は、これらの検出結果およびセンサ情報を総合的に勘案して、第１あるいは第２のセンサ情報のどちらを選択して、鍵盤情報として出力するかを決定する。
【００２０】
請求項２に記載の発明によれば、鍵盤情報は、原則としてハンマの回動過程に基づく第２のセンサ情報を選択するが、ハンマが戻りきらないで次の打弦が発生するなどして、ハンマの打撃過程が異常である場合には、鍵の回動過程に基づく第１のセンサ情報を選択する。請求項３に記載の発明によれば、押鍵状態が維持されたまま再度押鍵が行なわれたれた場合に、請求項４に記載の発明によれば、鍵の連打が行なわれた場合に、それぞれハンマの打撃過程が異常と判断される。
【００２１】
請求項５に記載に発明によれば、結局、鍵の押鍵速度およびハンマの回動速度の各々により２組の打弦タイミングおよびその大きさが求められ、これらと、第１、第２のセンサによる検出結果とが勘案されて、２組の打弦タイミングおよびその大きさのうち、どちら一方が鍵盤情報として出力される。
【００２２】
アコースティックピアノにおいて、押鍵速度は必ずしも打弦の大きさに対応しないことがある。請求項６に記載の発明によれば、第１のセンサにより検出された鍵の回動過程に応じて、用いるテーブルが選択されるので、この状態を模倣することが可能となる。さらに、請求項７に記載の発明によれば、押鍵状態が維持されたまま再度の押鍵が行なわれたれたとき、あるいは離鍵が低速で行なわれた直後に押鍵が行なわれたときに、ハンマの打弦速度が、実際の押鍵に比して小さくことを模倣することが可能となる。
【００２３】
請求項７、８に記載の発明によれば、その他の原因により、例えばチャッタリングなどにより、第２のセンサ情報発生手段により回動速度が検出された場合、これが押鍵操作を伴わないものであれば、制御手段は、何も出力しないことになる。したがって、押鍵操作を伴う純粋な情報だけを出力することが可能となる。
【００２４】
【実施例】
１：実施例の構成
以下、この発明の一実施例であるグランドピアノについて説明する。本実施例は、鍵およびハンマにそれぞれセンサを取付け、打弦タイミングおよびその大きさ（ベロシティ）を、原則としては、ハンマセンサに基づいて、所定の条件下においては、鍵のセンサに基づいてそれぞれ求めるようにした。まず、本実施例に係るキーの構成について説明する。
【００２５】
１−１：キーの構成
図１は、本実施例にかかるグランドピアノのうちの、１つの鍵にかかる構成を示す側端面図である。この図に示すように、鍵３２１は、押鍵により支持部材２９の支点２９ａを中心に反時計回りに、図において２点鎖線で示されるエンド位置まで回動するようになっている。なお、この離鍵状態では、鍵３２１は、実線で示されるレスト位置まで復帰するようになっている。かかる構成は、ピアノの８８鍵のそれぞれに対して同一となる。
【００２６】
一方、鍵３２１の回動支点２９ａと左端との中間部付近の下（裏面）側には、平行四辺形形状の開口部３０ａを有するシャッタ３０が取り付けられている。このシャッタ近傍には、発光部と受光部との２組からなる光センサ３１が、支柱３２、３２を介してキーベッド３３に取り付けられ、押鍵状態にしたがって通光・遮光状態が変化するようになっている。以下、光センサ３１は、「キーセンサ」と同義である。
【００２７】
１−１−１：キーセンサ
ここで、光センサ３１の出力が押鍵操作にしたがってどのように変化するかについて、図２および図３を参照して説明する。ここで、光センサ３１の２組のビーム（光束）のうち、一方を３１ａとし、他方を３１ｂとする。
【００２８】
はじめに、鍵３２１のレスト位置においてシャッタ３０は、ビーム３１ａ、３１ｂの双方を遮光しないようになっている（図１参照）。この状態では、ビーム３１ａ、３１ｂの両者は、ともに通光状態となる。
【００２９】
次に、鍵３２１が若干押下されると、図２（ａ）に示すように、シャッタ３０の先端縁はビーム３１ａのみを遮光する。したがってこの状態では、ビーム３１ａが遮光状態となる一方、ビーム３１ｂは通光状態となる。なお、説明の便宜上、この状態を「Ｋ１オン状態」と呼ぶことにする。
【００３０】
押下が進むと、図２（ｂ）に示すように、シャッタ３０の先端縁はビーム３１ｂも遮光する。したがってこの状態では、ビーム３１ａ、３１ｂの両者は、ともに遮光状態となる。なお、説明の便宜上、この状態を「Ｋ２オン状態」と呼ぶことにする。
【００３１】
そして、押下が進むと、図２（ｃ）に示すように、開口部３０ａによりビーム３１ａが通光状態となる。したがってこの状態では、ビーム３１ａは通光状態となる一方、ビーム３１ｂは遮光状態となる。なお、説明の便宜上、この状態を「Ｋ３オン状態」と呼ぶことにする。
【００３２】
さらに、押下が進むと、図２（ｄ）に示すように、開口部３０ａによりビーム３１ｂも通光状態となる。したがってこの状態では、ビーム３１ａ、３１ｂの両者は、ともに通光状態となる。説明の便宜上、この状態を「Ｋ４オン状態」と呼ぶことにする。なお、打弦は、通常、「Ｋ４オン状態」の直後に行なわれるようになっている。また、「Ｋ１オン状態」から「Ｋ２オン状態」まで、「Ｋ２オン状態」から「Ｋ３オン状態」まで、および「Ｋ３オン状態」から「Ｋ４オン状態」までの各押鍵ストロークは、互いに等間隔となるように設定されている。
【００３３】
図２（ａ）〜（ｄ）までの押鍵過程におけるビーム３１ａ、３１ｂの通光状態・遮光状態をまとめると図３に示すものとなる。ここでは、光センサ３１の受光部が通光状態となっているのをＨレベルとして示し、遮光状態となっているのをＬレベルとして示している。また、離鍵過程は、押鍵過程とは逆の順番で、すなわち、図２（ｄ）〜（ａ）の方向で行なわれる。ここで、説明の便宜上、離鍵過程において図２（ｄ）〜（ａ）で示される状態となるのを、各オン状態と対抗すべく、それぞれ「Ｋ１オフ状態」、「Ｋ２オフ状態」、「Ｋ３オフ状態」、および「Ｋ４オフ状態」と呼ぶことにする。
【００３４】
このように、光センサ３１の出力状態を見ることによって、鍵３２１がどの状態にあるのかが判別することができるとともに、その出力状態がいかなる間隔で変化するかを検出することによって、押鍵速度を求めることができる。本実施例では、「Ｋ１オン状態」〜「Ｋ２オン状態」、「Ｋ２オン状態」〜「Ｋ３オン状態」、および「Ｋ３オン状態」〜「Ｋ４オン状態」の各通過時間から、それぞれ押鍵速度が求められ、各々が打弦の大きさに変換される。一定地点での押鍵速度が判るのであるから、いかなるタイミングで打弦が発生するのかも、線形的に予測して求めることができる。なお、後述するように押鍵速度から打弦の大きさへの変換は、後述するようにテーブルを介して行なわれる。
【００３５】
１−２：ハンマアクション部
次に、１つの鍵の動作をハンマに伝達して、弦を打撃するハンマアクション部について説明する。
１−２−１：ハンマアクション部の構成
まず、ハンマアクション部の構成について説明する。図４は、このハンマアクション部の構成を示す側断面図である。なお、この図は、説明の便宜上、図１とは左右を反転してあり、図における鍵３２１の右側を演奏者が押鍵するようになっている。すなわち、図４における鍵３２１は、鍵盤の全長にわたって延在するキーベッド３３（図１参照）に支持されて、押鍵により支点２９ａ（図１参照）を中心にして図中時計回りの方向に回動するようになっている。
【００３６】
次に、図４において符号３０７Ａはサポートレールであり、サポートレール３０７Ａの端部には、長手方向を鍵３２１に沿う方向へ向けたウイペン３０７の左端部が、ピン３０７Ｂにより回動自在に支持されている。ウイペン３０７の自由端には、略Ｌ字状をなすジャック３０８がその屈曲部分近傍において回転自在に取り付けられている。ジャック３０８は、斜め上方に向けて延在するジャック大３０８Ａと、このジャック大３０８Ａに対してほぼ直交するジャック小３０８Ｂとから構成されている。
【００３７】
また、ウイペン３０７の中央部には支柱３０７Ｃが取り付けられ、支柱３０７Ｃの上端部には、レペティションレバー３０６の中間部が回転自在に取り付けられている。レペティションレバー３０６の一端部には、上下方向に向けて貫通する長孔３０６Ａが形成され、長孔３０６Ａには、ジャック大３０８Ａの上端部が遊挿されている。
【００３８】
次に、図中符号３１０はシャンクレールである。シャンクレール３１０にはシャンクフレンジ３０３が取り付けられ、このシャンクフレンジ３０３の端部には、先端部にハンマヘッド３０１が固定されたハンマシャンク３０２が、上下方向に回動自在に取り付けられている。ハンマシャンク３０２の基端部には、下方へ突出させられたローラ３０５が固着されている。ローラ３０５の下面は、ジャック大３０８Ａの上端面と僅かな隙間を持った状態で、レペティションレバー３０６の上面に当接させられている。
【００３９】
さらに、シャンクレール３１０には、鍵盤の全長にわたって延在するレギュレーティングレール３１１が取り付けられている。レギュレーティングレール３１１には、上下方向の位置が調整可能なレギュレーティングボタン３０９が取り付けられ、レギュレーティングボタン３０９の下端面には、ジャック小３０８Ｂの先端部が当接するクロス（織物）３０９Ａが取り付けられている。
【００４０】
次に、符号２２０は消音機構である。消音機構２２０は、鍵盤の全長にわたって延在する軸２２０Ｂを備えている。軸２２０Ｂにはストッパ２２０Ａが取り付けられ、ストッパ２２０Ａの先端面には合成皮革などで構成されたクッション材２２０Ｃが固定されている。ストッパ２２０Ａは、軸２２０Ｂに接続されたモータ（図示略）、あるいは手動により回転可能に構成されている。
【００４１】
このように構成された消音機構２２０においては、ストッパ２２０Ａを略水平方向へ向けることにより、ハンマシャンク３０２の通常の回動が許容される通常演奏状態とすることができる。一方、図４に示す状態から軸２２０Ｂを回転させてストッパ２２０Ｂを略下方へ向けることにより、回動するハンマシャンク３０２がストッパ２２０Ａに当接し、ハンマシャンク３０２のそれ以上の回動が阻止され、消音演奏状態とすることができる。
【００４２】
次に、ハンマシャンク３０２の軸方向中間部には、開口部７１ａを有するシャッタ７１が取り付けられている。一方、シャンクレール３１０の上面には、側面視コ字状のブラケット３３０が取り付けられている。ブラケット３３０には、グランドピアノの横方向（図において紙面と直交する方向）へ互いに離間した複数の支柱３３４が固定されている。
支柱３３４の上端部には、グランドピアノの横方向に延在する支持板３３５が取り付けられている。支持板３３５には、シャッタ７１が挿通されるスリット（図示略）が形成されている。支持板３３５の一方の面には、光センサ７７がその発光部と受光部とによりスリットを挟むようにして取り付けられている。
【００４３】
１−２−２：ハンマアクション部の動作
次に、上記構成のハンマアクション部の動作について説明する。かかるハンマアクション部の動作については、通常演奏と消音演奏では、若干異なるので、それぞれの場合に分けて説明する。さらに、両演奏時における特殊な奏法がなされた場合の動作についても説明する。
【００４４】
１−２−２−１：通常演奏の場合
まず、通常演奏の場合について説明する。押鍵が行なわれるとウイペン３０７はキャプスタン３２０によって突き上げられ、ピン３０７Ｂを中心として反時計回りに回動する。これにより、ジャック大３０８Ａがローラ３０５を突き上げてハンマシャンク３０２を時計回りの方向へ回転させ、ハンマヘッド３０１が押鍵された鍵３２１に対応する弦Ｓを打撃する。この打弦操作時において、ハンマヘッド３０１が弦Ｓを打撃する手前でジャック小３０８Ｂがレギュレーティングボタン３０９の下端面に係合してジャック３０８が時計回りに回転し、これによって、ジャック大３０８Ａの上端部が右方向へ逃げ、ローラ３０５との非当接位置に移動する。
【００４５】
次に、弦Ｓを打撃したハンマヘッド３０１は、弦Ｓの反発力と自重により下降し、鍵３２１の端部に取り付けられたバックチェック３２２に当接して静止する。ここで、離鍵するとウイペン３０７が時計回りに、ハンマシャンク３０２が反時計回りに、それぞれ回動する。これに伴って、ジャック小３０８Ｂとレギュレーティングボタン３０９との係合状態が徐々に解除され、ジャック大３０８Ａが反時計方向に回転してローラ３０５の真下側へ移動して再び当接し、押鍵前の初期位置に戻る。
【００４６】
１−２−２−２：消音演奏の場合
次に、消音演奏の場合について説明する。まず、消音演奏状態にするには、ストッパ２２０Ａを図４の略水平状態から回転させて図中二点鎖線で示すように略下方へ向ける。この状態で押鍵が行なわれると、ウイペン３０７はキャプスタン３２０によって突き上げられ、ピン３０７Ｂを中心として反時計回りに回動する。これにより、ジャック大３０８Ａがローラ３０５を突き上げてハンマシャンク３０２を時計回りの方向へ回転させる。
【００４７】
次に、ジャック小３０８Ｂがレギュレーティングボタン３０９に当接することにより、ジャック大３０８Ａの上端面がローラ３０５の下面から図中右方向へ逃げる。その間、ハンマシャンク３０２は慣性力で回動を続けるが、弦Ｓに当たる直前でストッパ２２０Ａに当接し、反時計回りの方向へ跳ね返される。その後のハンマシャンク３０２等の復帰動作は通常演奏の場合と同じである。
【００４８】
１−２−２−３：両演奏において、いわゆる深い押鍵等のとき
上述したように、通常演奏、消音演奏の場合においては、鍵３２１からハンマ３０１への力の伝達は、鍵３２１→キャプスタン３２０→ウイペン３０７→ジャック３０８→ローラ３０５→ハンマシャンク３０２→ハンマ３０１という経路で行なわれるが、打弦後における、ジャック大３０８Ａとローラ３０５との当接は、離鍵によってはじめて復帰するようになっている。このため、打弦後、離鍵が不十分のまま（すなわち、鍵３２１がレスト位置に復帰しない状態で）再度、押鍵動作が行なわれると、ジャック大３０８Ａは、ローラ３０５との当接が不完全な状態でローラ３０５を押し上げることになり、ここで伝達力のロスが生じる。したがって、この状態では、鍵３２１の押下速度が速いにもかかわらず、伝達力のロスにより、実際にはハンマの打弦速度は小さくなる。
【００４９】
また、この状態は、ゆっくり離鍵して、鍵３２１がレスト位置に戻った直後（後述するように、本実施例では、３８ｍｓｅｃ未満）に押鍵する状態でも発生し得る。なお、説明簡略化のため、本実施例では、離鍵して鍵がレスト位置に戻った後、１２７ｍｓｅｃ以内に押鍵されることを「離即打鍵」と呼ぶことにする。すなわち、低速な離鍵直後で、高速に行なわれる離即打鍵によっても、鍵３２１の押下速度に比して、ハンマの打弦速度が小さくなる現象が発生し得る。
【００５０】
さて、低速で離鍵している過程から急激に離鍵した場合、ハンマ３０１は、ローラ３０５とハンマジャック大３０８Ａとが、当接されない状態でレストポジション側に戻ってしまい、直後の押鍵によりハンマジャック３０８は、当接が不完全な状態で、再びハンマジャック大３０８Ａと押し上げてしまうからである。なお、深い押鍵および離即打弦について、本願がいかにして手当しているかについては、後述する。
【００５１】
１−２−３：ハンマセンサ
ここで、光センサ７７の出力が、ハンマ３０１（ハンマシャンク３０２）の回動にしたがってどのように変化するかについて説明する。以下、光センサ７７は「ハンマセンサ」と同義である。
【００５２】
図４において、鍵３２１の押鍵により、ハンマシャンク３０２が時計回りに回動し、ハンマ３０１が弦Ｓを打弦する直前でシャッタ７１が支持板３３５のスリットに挿入され、シャッタ７１の先端縁が光センサ７７の光軸Ｐを横切り、この結果、光センサ７７の受光部が遮光され、その遮光タイミングが検出される（この状態を「Ｍ１オン状態」という）。その後、ハンマシャンク３０２がさらに回動し、シャッタ７１の窓７１ａが光軸Ｐを横切り、光センサ７７の受光部が再び受光状態になる（この状態を「Ｍ−オン状態」という）。次いで、光センサ７７の受光部が再び遮光され、その遮光タイミングが検出される（この状態を「Ｍ２オン状態」とする）。こうして、光センサ７７の出力では、打弦が行なわれるまでに、「Ｍ１オン状態」、「Ｍ−オン状態」および「Ｍ２オン状態」の計３回の状態変化が発生する。
【００５３】
本実施例においてハンマ３０１の打弦速度は、「Ｍ１オン状態」から「Ｍ２オン状態」までに至る時間から算出される。押鍵速度が判るのであるから、いかなるタイミングで打弦が発生するのかも、線形的に予測して求めることができる。図５に、光センサの７７の出力状態と上記３状態との関係の一例を示す。打弦後においては、打弦前とは逆の順番でシャッタ７１による遮光・通光が行なわれる。ここで、説明の便宜上、打弦後の過程を、打弦前と対抗して、発生順にそれぞれ「Ｍ２オフ状態」、「Ｍ−オフ状態」、および「Ｍ１オフ状態」とする。
【００５４】
このようにして、光センサ３１では、鍵３２１の押鍵速度を求めて推定することにより、また、光センサ７７では、実際の、ハンマ３０１の打弦速度を求めることにより、それぞれ打弦タイミングおよびその大きさを求めることができる。上述のように、本願では、条件に応じてどちらに基礎をおくべきかを判断しているので、そこで次に、この判断を行なう電気的構成について説明する。
【００５５】
１−３：実施例の電気的構成
次に、本実施例の電気的構成について図６を参照して説明する。この図において、５１はＣＰＵであり、ＲＯＭ５２に記憶された制御プログラムに基づいて、バス５０を介して接続された各部を制御するようになっている。また、ＲＯＭ５２は、光センサ３１により求めた押鍵速度を打弦の大きさ（ベロシティ）に変換する２種類のテーブルα、βおよび光センサ７７より求めた打弦速度をベロシティに変換するテーブルを備え、これらにより各光センサの出力からベロシティが求められる。
【００５６】
ここで、光センサ３１に対応するテーブルαは、押鍵速度を通常のベロシティに変換するものであって、ノーマルの押鍵状態に対応するものであり、テーブルβは、押鍵速度に比して小さいベロシティに変換するものであり、上述した深い押鍵を、あるいは低速な離鍵直後に行なわれる高速な離即打弦による押鍵を、それぞれ模倣するために用いられる。
【００５７】
５３はキーセンサ群であり、１つの鍵について設けられた光センサ３１（図１参照）を鍵盤の８８鍵について統括したものである。すなわち、キーセンサ群５３は、８８個もの光センサ３１から構成される。そして、キーセンサ群５３の出力情報は、キーセンサインターフェイス５４およびバス５０を介してＣＰＵ５１に供給されるようになっている。
【００５８】
同様に、５５はハンマセンサ群であり、１つの鍵のハンマアクション部について設けられた光センサ７７（図４参照）を鍵盤の８８鍵について統括したものである。すなわち、ハンマセンサ群５５は、８８個もの光センサ７７から構成される。そして、ハンマセンサ群８８の出力情報は、ハンマセンサインターフェイス５６およびバス５０を介してＣＰＵ５１に供給されるようになっている。
【００５９】
５７はパネルスイッチであり、演奏者によって設定される種々のスイッチやディスプレイ等により構成され、このグランドピアノの操作パネル上に設けられる。そして、パネルスイッチ５７による設定情報もパネルインターフェイス５８およびバス５０を介してＣＰＵ５１に供給されるようになっている。このパネルスイッチ５７では、例えば、通常演奏か、消音演奏かの選択が行なわれるようになっており、この選択によって、軸２２０Ｂ（図４参照）に接続されたモータ（図６では図示略）が、選択された演奏モードにしたがって回転するようになっている。
【００６０】
５９は音源回路であり、ＣＰＵ５１から供給された演奏情報に基づいて楽音信号を合成し出力する。本実施例において、楽音発生は、楽音の音高を示すキーコード、および楽音の大きさを示すベロシティを供給するノートオン（発音指令）により開始し、当該キーの「Ｋ２オフ状態」となったときに出力されるノートオフ（消音指令）により終了するようになっている。
【００６１】
そして、音源回路５９による楽音信号は、演奏者に装着されたヘッドホン６０を介して発音される。６１はタイマであり、所定時間毎（本実施例では、説明簡略化のため「１ｍｓｅｃ」毎）に割込信号をＣＰＵ５１に供給する。ＣＰＵ５１は、この割込信号により割込処理を実行して、後述するように、各種レジスタの内容をインクリメントあるいはデクリメントする。
【００６２】
６２はＲＡＭであり、各種のレジスタが作成され、ＣＰＵ５１により適宜アクセスされる。そこで、ＲＡＭ６２において作成される各種レジスタについて説明する。
【００６３】
１−３−１：レジスタの構成
このレジスタの構成を図７に示す。この図において、ＫＣ１〜ＫＣ８８の各々は、鍵盤８８鍵の音高にそれぞれ対応するキーコードである。この図に示すようにキーコードＫＣ１〜ＫＣ８８の各々に対応して、それぞれレジスタＡ〜Ｎの１４種類が設定される。次に、レジスタＡ〜Ｎの各々についてそれぞれ説明する。
【００６４】
・レジスタＡ：キーセンサイベント発音タイミングカウンタ
上述のように、順次３つの区間に対応してそれぞれ押鍵速度が求められる。押鍵速度が求められると、打弦タイミングが推定されて、このあと何ｍｓｅｃ秒後に打弦が発生するかを示す値が算出される。この値は、レジスタＡに格納され、割込処理の度にデクリメントされるが、区間毎に算出された時点において、その時点でのレジスタＡの値よりも大きければ、レジスタＡに上書きされない。結局、レジスタＡの内容は、３つの区間でそれぞれ求められた打弦タイミングのうち、最も早く打弦が発生するものであって、何ｍｓｅｃ秒後に打弦が発生するかを示す値となる。レジスタＡの値がゼロとなることは、これすなわち、打弦のタイミングになったことを示すので、キーセンサ発音要求がなされるようになっている。
【００６５】
・レジスタＢ：ハンマセンサイベント発音タイミングカウンタ
上述のように、「Ｍ１オン状態」から「Ｍ２オン状態」までの経過時間によりハンマの打弦速度が求められ、これに対応するベロシティが求められる。打弦速度が求められると、打弦タイミングが推定されて、このあと何ｍｓｅｃ秒後に打弦が発生するかを示す値が算出される。この値は、レジスタＢに格納され、割込処理の度にデクリメントされる。レジスタＢの値がゼロになることは、これすなわち、打弦のタイミングに至ったことを示すので、ハンマセンサ発音要求がなされるようになっている。
【００６６】
・レジスタＣ
レジスタＣは、「Ｋ１オフ状態」からの時間を計測するカウンタであり、「Ｋ１オフ状態」でリセットされ、割込処理によりインクリメントされて、その後、「Ｋ１オン状態」によりインクリメントが停止されるようになっている。
【００６７】
・レジスタＤ
レジスタＤは、前回のノートオンから今回の発音要求までの時間を計測するカウンタである。ここで、発音要求は、レジスタＡあるいはＢのいずれかがゼロとなった場合に、なされるものである。
【００６８】
・レジスタＥ
レジスタＥは、「Ｋ１オン状態」からの時間を計測するカウンタであり、「Ｋ１オン状態」により、割込処理によるインクリメントが許可され、「Ｋ１オフ状態」によりリセットされるようになっている。
【００６９】
・レジスタＦ
レジスタＦには、Ｋ１無効フラグが設定される。このＫ１無効フラグは、レジスタＥが所定値以上になると「１」にセットされる一方、「Ｋ１オフ状態」により「０」にリセットされるものである。このフラグを参照することによって、「Ｋ１オン状態」となる押鍵状態が所定時間以上継続しているか否かを判別することができる。
【００７０】
・レジスタＧ
レジスタＧは、「Ｋ２オン状態」からの時間を計測するカウンタであり、「Ｋ２オン状態」により、割込処理によるインクリメントが許可され、「Ｋ２オフ状態」によりリセットされるようになっている。
【００７１】
・レジスタＨ
レジスタＨには、Ｋ２無効フラグが設定される。このＫ２無効フラグは、レジスタＧが所定値以上なると「１」にセットされる一方、「Ｋ２オフ状態」により「０」にリセットされるものである。このフラグを参照することによって、単に「Ｋ２オン状態」となる押鍵状態が所定時間以上継続しているか否かを判別することができる。
【００７２】
・レジスタＩ
レジスタＩは、「Ｋ２オン状態」からの時間を計測するカウンタであり、「Ｋ２オン状態」により、割込処理によるインクリメントが許可される点では、レジスタＧと同様であるが、「Ｋ２オフ状態」とともに、いずれかの発音要求によってもリセットされる点で相違する。
【００７３】
・レジスタＪ
レジスタＪには、サイレントノートフラグが設定される。このサイレントノートフラグは、レジスタＩが所定値以上なると「１」にセットされる一方、「Ｋ２１オフ状態」により、あるいはいずれかの発音要求により「０」にリセットされるものである。このフラグを参照することによって、「Ｋ２オン状態」となる押鍵状態が所定時間以上継続している状態であって、ここに至るまでの押鍵操作ではハンマが打弦されるほどに鍵が押下されていない状態であるか否かを判別することができる。
【００７４】
・レジスタＫ
レジスタＫには、ノートオンフラグが設定される。このノートオンフラグは、ノートオンにより「１」にセットされる一方、「Ｋ２オフ状態」により「０」にリセットされる。このフラグを参照することによって、発音指令の後において「Ｋ２オフ状態」となるまで離鍵されていない状態であるか否かを判別することができる。
【００７５】
・レジスタＬ
レジスタＬには、前回のベロシティ、すなわちキーセンサあるいはハンマセンサにより求められたベロシティのうち、発音指令として採用されたものが格納されるようになっている。
【００７６】
・レジスタＭ
レジスタＭには、レジスタＡに値が格納される毎に、キーセンサにより求められたベロシティ、すなわち、求めた３区間に対応するもののうち、最も早く打弦が発生すると判断されたものが格納される一方、発音指令があった時点でリセットされるようになっている。
【００７７】
・レジスタＮ
レジスタＮには、その他のもの、例えば、キーセンサあるいはハンマセンサの出力状態を管理するものや、「Ｍ１オン状態」からの時間を計測するカウンタ、「Ｍ１オン状態」から「Ｍ−オン状態」までに至る時間を計測するカウンタ等が設定される。
【００７８】
１−４：実施例の電気的動作
次に、かかる実施例の電気的動作について説明する。まず、本実施例の電子楽器の電源が投入されると、図８に示すメインルーチンが起動される。このルーチンが起動されると、はじめに、ステップＳａ１において所定のイニシャライズ処理が実行され、前述した各種レジスタ、フラグ等が初期化される。
【００７９】
次に、ステップＳａ２において鍵盤処理が実行され、キーセンサインターフェイス５４およびハンマインタフェイス５６を介して、キーセンサ群５３およびハンマセンサ群５８の出力変化（イベント）が監視され、イベント発生が検出されたならば、所定の処理が行なわれる。すなわち、前回、この鍵盤処理が実行されたときと比較してキーセンサ群５３およびハンマセンサ群５８の出力に、なんらかのイベントが発生したか否かが判別され、イベントが発生していなければ、次のステップＳａ３に処理が進行する一方、イベントが発生したならば、このイベントに沿った所定の処理が実行される。
【００８０】
ここでいう所定の処理とは、レジスタの構成で述べたとおりである。例えば、キーセンサ群５３のうち、あるキーに対応する光センサ３１の出力が、ビーム３１ａが通光状態のままであって、ビーム３１ａが遮光状態から通光状態に変化した場合には、押鍵状態が「Ｋ３オン状態」から「Ｋ４オン状態」に変化したことを示すので、これに要した時間から押鍵速度が求められる。そして、押鍵速度が求められると、打弦タイミングが推定されて、このあと何ｍｓｅｃ秒後に打弦が発生するかを示す値が算出される。この値は、押鍵されたキーコードに対応するレジスタＡの値と比較され、小さければレジスタＡに上書きされる。
【００８１】
次に、ステップＳａ３に進むと、パネルインターフェイス５８を介してパネルスイッチ５７の設定状態が検出され、本実施例における各種ステータスの設定／変更等が行なわれる。そして、ステップＳａ４に進むと、その他、グランドピアノとして動作するために必要な処理が行なわれて、処理がステップＳａ２に戻る。以下、電源が遮断されるまで、ステップＳａ２〜４の処理がくり返し行なわれる。
【００８２】
一方、本実施例では、メインルーチンでの処理とは別に、割込処理が行なわれるようになっている。上述のように、この割込処理は、タイマ６１による割込信号がＣＰＵ５１に供給されると実行されるものであり、各種レジスタが、先にレジスタの構成で説明した条件にしたがって、インクリメントあるいはデクリメントされるようになっている。割込信号は「１ｍｓｅｃ」毎に供給されるので、この割込処理も「１ｍｓｅｃ」毎に行なわれることになる。したがって、各種レジスタのうちカウンタとして働くものは、その内容がそのまま「ｍｓｅｃ」を単位とする時間を示すことになる。
【００８３】
さて、この割込処理において、レジスタＡが「０」となってキーセンサ発音要求が発生した場合、あるいは、レジスタＢが「０」となってハンマ発音要求が発生した場合には、フラグであるレジスタＦ、Ｈ、Ｊ、Ｋ、およびカウンタであるレジスタＣ、Ｄの値によって、図９に示すモード▲１▼〜▲８▼のいずれかに分類される。ここでモードとは、ベロシティを、ハンマセンサあるいはキーセンサのどちらに基礎をおくのか、また、キーセンサに基礎をおくときには、押鍵速度からベロシティへの変換に、テーブルαあるいはβのどちらを用いるのかを、それぞれ示すものである。
【００８４】
図９に示すように、モード▲１▼にあっては、ハンマセンサのみ基礎をおくので、テーブルを用いない。モード▲２▼〜▲５▼にあっては原則、ハンマセンサに基づくベロシティが採用されるが、後述する所定条件下で、キーセンサに基づくベロシティが採用される。後者の条件下において、押鍵速度からベロシティへの変換に際し、モード▲２▼、▲３▼ではテーブルαを、モード▲４▼、▲５▼ではテーブルβを、それぞれ用いる。一方、モード▲６▼〜▲８▼にあっては、ハンマセンサに基づくベロシティが採用されず、キーセンサに基づくベロシティが採用される。この際、押鍵速度からベロシティへの変換に際してはテーブルβを用いる。
【００８５】
ここで、各モードの特徴について説明する。
・モード▲１▼
レジスタＦ、Ｈ、Ｊ、Ｋがすべて「０」であり、レジスタＣがＣ≧１２７であるとは、前回の離鍵から「Ｋ１オフ状態」となるまでに１２７ｍｓｅｃ経過していることを示し、いわゆる単打（単純打鍵）が行なわれたことを示すものである。したがって、この状態を示すモード▲１▼において本実施例は、打弦タイミングおよびベロシティを忠実に求めるべく、ハンマセンサのみに基礎をおいて、打弦情報を求める。
【００８６】
・モード▲２▼
モード▲２▼は、レジスタＦ、Ｈ、Ｊ、Ｋがすべて「０」であり、レジスタＣがＣ＜１２７であることから、離即打鍵であるが、レジスタＣがＣ≧３８であるので、ジャック大３０８Ａとローラ３０５との当接が復帰したと推定される。このため、モード▲２▼では、原則としてハンマセンサに基礎をおくが、後述する条件下にあってはキーセンサに基礎をおき、テーブルαが用いられる。
【００８７】
・モード▲３▼
モード▲３▼は、レジスタＦ、Ｈ、Ｊ、Ｋがすべて「０」であり、レジスタＣがＣ＜３８であることから、非常に高速な離即打鍵であるが、レジスタＤがＤ≦１５０であることから、前回の離鍵が急激に行なわれているので、ジャック大３０８Ａとローラ３０５との当接が復帰したと推定される。このため、モード▲２▼と同様に、キーセンサに基礎をおく場合にあっては、テーブルαが用いられる。
【００８８】
・モード▲４▼
モード▲４▼は、レジスタＦ、Ｈ、Ｊ、Ｋがすべて「０」であり、レジスタＣがＣ＜３８であることから、非常に高速な離即打鍵であり、レジスタＤがＤ≦１５０であることから、前回の離鍵はゆっくり行なわれているので、ジャック大３０８Ａとローラ３０５との当接が不完全だと推定される。このため、キーセンサに基礎をおく場合にあっては、テーブルβが用いられる。
【００８９】
・モード▲５▼
モード▲５▼は、レジスタＦがＦ＝１であることから、「Ｋ１オン状態」となる押鍵状態が長期間にわたって継続して、深い押鍵であることを示している。このため、キーセンサに基礎をおく場合にあっては、テーブルβが用いられる。
【００９０】
・モード▲６▼
モード▲６▼は、レジスタＨがＨ＝１であることから、「Ｋ２オン状態」となる押鍵状態が長期間にわたって継続して、深い押鍵であることを示している。この状態では、すでに、「Ｍ１オン状態」となってしまっている可能性が大なので、キーセンサにのみ基礎をおき、テーブルβが用いられる。
【００９１】
・モード▲７▼
モード▲７▼は、レジスタＪがＪ＝１であることから、「Ｋ２オン状態」となる押鍵状態になったにもかかわらず、ノートオンが発生しない場合を示す。この場合も深い押鍵であり、また、すでに「Ｍ１オン状態」となってしまっている可能性が大なので、キーセンサにのみ基礎をおき、テーブルβが用いられる。
【００９２】
・モード▲８▼
モード▲８▼は、レジスタＫがＫ＝１であることから、「Ｋ２オフ状態」となる手前の離鍵過程にあったにもかかわらず、次のノートオンが発生した場合を示す。この場合も深い押鍵であり、また、すでに「Ｍ１オン状態」となってしまっている可能性が大なので、キーセンサにのみ基礎をおき、テーブルβが用いられる。
【００９３】
次に、モード▲２▼〜▲５▼に分類された場合において、ベロシティを、ハンマセンサあるいはキーセンサのどちらに基礎をおくかについて説明する。上述のように、発音要求が発生されて、モードに分類される場合には、レジスタＡが「０」となる場合と、レジスタＢが「０」となる場合との２通りがある。そこで、前者については図１０に示すキーセンサオンタイミングルーチンを参照して、後者については図１１に示すハンマセンサオンタイミングルーチンを参照して、それぞれ説明する。
【００９４】
まず、レジスタＡが「０」となった場合では、ＳＰ１においてハンマセンサのイベントが検索され、ステップＳＰ２において当該イベントは、発音待ち状態であるか否かが判別される。ここで、ハンマセンサイベントの発音待ち状態とは、ハンマ３０１が「Ｍ１オン状態」から「Ｍ２オン状態」に変化して、ハンマの打弦速度が求められて、このあと何ｍｓｅｃ秒後に打弦が発生するかを示す値がレジスタＢに格納されている状態をいう。
【００９５】
したがって、この発音待ち状態となっている場合には、やがてハンマにより打弦が行なわれることを示すので、ハンマセンサに基づくデータを採用するべく、ステップＳＰ７に進んで、キーセンサ発音要求が無視され、当該キーのキーセンサイベントは、すべてクリアにされて、このルーチンは終了する。
【００９６】
一方、発音待ち状態となっていない場合には、ステップＳＰ３に進んで、ハンマセンサのイベントが検索され、「Ｍ２オン状態」となる寸前の「Ｍ−オン状態」から「Ｍ２オン状態」までのステータスであるか否かが判別される。このステータスとなっているときには、近々「Ｍ２オン状態」となる可能性を秘めているので、ステップＳＰ４において、さらに、「Ｍ１オン状態」から「Ｍ−オン状態」までの経過時間、および「Ｍ１オン状態」から現時点までの経過時間が、それぞれが正常値であるか否かが判別される。すなわち両者を勘案して、真に「Ｍ２オン状態」となり得るのか否かが判別される。なお、両者はレジスタＮにてカウントされている。
【００９７】
この判別結果が「Ｙｅｓ」ならば、次のステップＳＰ５に進んで、ハンマセンサの様子を再び監視するために、キーセンサイベント発音タイミングカウンタ、すなわちレジスタＡに「２」がセットされて、このルーチンは終了する。これにより、この時点から「２ｍｓｅｃ」後に、同じ処理が行なわれることになる。一方、ステップＳＰ３あるいはＳＰ４での判別結果が「Ｎｏ」であるならば、ハンマの打弦状態が異常であると判別して、キーセンサに基づくデータを採用するべく、ステップＳＰ６において、押鍵速度に基づくベロシティでノートオンが行なわれ、この際、どちらのテーブルが用いられるかは、モードにより決定される。すると、ハンマセンサに基づくデータは不要となるので、当該キーのハンマセンサイベントは、すべてクリアにされて、このルーチンは終了する。
【００９８】
一方、レジスタＢが「０」となると、図１１に示すステップＳＱ１において、連打であるか否かが判別される。詳細には、この判別は、レジスタＤの値が「２５６」以下であるか否か、すなわち、前回のノートオンから今回の発音要求までの時間が「２５６ｍｓｅｃ」以下であるか否かにより行なわれる。連打でなければ、次のステップＳＱ２に進んで、レジスタＡに何らかの値がセットされていることを条件に、ハンマ打弦速度に基づくベロシティでノートオンが行なわれる。
【００９９】
ここで、レジスタＡに何らかの値がセットされることを条件とするのは、ハンマセンサのデータが、実は振動等によるチャッタリングによるものであった、という事態を防止するためである。レジスタＡには、何等かの押鍵操作によって初めて値がセットされるので、この確認により、押鍵操作に起因したハンマ打弦速度のベロシティを出力することが可能となる。
【０１００】
ステップＳＱ２の処理の後には、キーセンサに基づくデータは不要となるので、ステップＳＱ３において、当該キーのキーセンサイベントは、すべてクリアにされて、このルーチンは終了する。
【０１０１】
次のステップＳＱ４〜ＳＱ６の説明をする前に、再び図４に戻って、連打において想定される不都合について説明する。連打は、いうまでもなく、鍵３２１の頻繁な押鍵・離鍵動作により行なわれるものであり、このため、ハンマ３０１が打弦後に戻ってきたときに、鍵３２１が押鍵状態を保っているとは限らない。もし、ハンマ３０１が打弦後に戻ってきたとき、鍵３２１がレスト位置にあるときには、ローラ３０５がレペティションレバー３０６に当接してはね返ることにより、ハンマ３０１がバウンドし、「Ｍ１オン状態」となってしまうことがある。この直後、押鍵操作がなされると、図１２に示すように、「Ｍ１オン状態」から「Ｍ２オン状態」までの経過時間により求められる打弦速度を示す傾きＫ’は、押鍵によるハンマの実際の打弦速度を示す傾きＫよりも小さくなってしまい、ここに、両者が食い違う不都合が発生する。
【０１０２】
この不都合状態が発生しているか否かを判別するために、ステップＳＱ１、ＳＱ４およびＳＱ５の処理が行なわれる。すなわち、ステップＳＱ１において連打であるか否かが、すなわち、レジスタＤがＤ≦２５６であるか否かが判別される。次のステップＳＱ４において、今回のハンマ打弦速度に基づくベロシティが、同一キーにおいて発生した前回のベロシティよりも、所定値（例えば「２０」）以上小さいか否かが、すなわち、ハンマ打弦速度に基づくベロシティが、レジスタＬの内容よりも所定値以上小さいか否かが判別される。連打においてはどの打鍵強さもほぼ均等であり、ハンマ打弦速度に基づくベロシティが前回のものと所定値以上小さいのは、異常である可能性大と判別するためである。
【０１０３】
ステップＳＱ４の判別結果が「Ｎｏ」である場合には、ハンマ打弦速度に基づくベロシティを採用してもなんら問題はないので、処理がステップＳＱ２に進む一方、この判別結果が「Ｙｅｓ」である場合には、ステップＳＱ５に進んで、打弦速度に基づくベロシティが、押鍵速度で推定されたベロシティよりも所定値（例えば「１５」）以上小さいか否かが、すなわち、打弦速度に基づくベロシティが、レジスタＭの内容よりも所定値以上小さいか否かが判別される。この判別結果が「Ｎｏ」ならば、すなわち、押鍵速度で推定されたベロシティとそれほど差がないならば、連打においてその打鍵だけが小さく行なわれたと判断して、処理がステップＳＰ２に進む一方、判別結果が「Ｙｅｓ」ならば、上記不都合が発生していると判断して、処理がステップＳＱ６に進む。このステップＳＱ６では、ハンマセンサに基づくデータを採用しないで、キーセンサに基づくデータを採用するべく、当該キーのハンマセンサイベントがすべてクリアにされて、このルーチンは終了する。
【０１０４】
このように、ハンマセンサ発音要求がキーセンサ発音要求より早く発生した場合には、所定の連打が行なわれたときを除いて、ハンマセンサに基礎をおいたベロシティにてノートオンがなされる。
一方、キーセンサ発音要求がハンマセンサより早く発生した場合でも、ハンマによる打弦が起こるのであれば、やはり、ハンマセンサに基礎をおいて、また、ハンマによる打弦の可能性が低ければ、あるいはハンマの打弦過程が異常であれば、キーセンサに基礎をおいて、ノートオンが行なわれる。ハンマによる打弦が起こり得り、かつハンマの打弦過程が正常であれば、「２ｍｓｅｃ」後に再び同じ動作が繰り返される。
【０１０５】
なお、上述した実施例は、モード▲１▼では、条件にかかわらず、ハンマセンサのみに基礎をおいたが、モード▲１▼を、モード▲２▼、▲３▼と同様に、所定条件下においては、キーセンサに基礎をおくように構成しても良い。
【０１０６】
また、上述した実施例では、レジスタＡ〜Ｎを、説明簡略化のため、それぞれ８８鍵の各々に対応して設けたが、本願は、これに限られない。例えば、同時押鍵可能な鍵の数だけ設け、押鍵がある毎に、レジスタＡ〜Ｎを割り当てるような構成としても良い。
【０１０７】
２：変形例
本願では、次のような変形例が可能である。
図１３に示すように、途中で速度が鈍化するような押鍵がなされた場合、最初の区間での押鍵速度によるものと、次の区間での押鍵速度によるものとの２回のノートオンが発生する可能性がある。この変形例では、これを防ぐために、次の方法の両方、あるいはどちらか一方が施される。
Ａ．同一キーによる２回目のノートオン（発音指令）は、前回の発生から「３０ｍｓｅｃ」以内であるならば、無視する。
Ｂ．発音されているノートオンに該当するものであっても、前回のノートオン以後、「Ｋ３オフ状態」や「Ｋ４オフ状態」のように、ある程度の離鍵過程を１度経過していないならば、その２回目のノートオンを無視する。
【０１０８】
また、本実施例の構成では、単純に「Ｋ２オフ状態」となった場合に、ノートオフが行なわれることになるが、変形例では、「Ｋ２オフ状態」となる前に次にノートオンが生じたときに、前のノートオフ処理が行なわれないようにする。これは、実際の通常演奏と同様にするためである。
【０１０９】
また、離鍵過程においても離鍵速度を求めて、これによりノートオフのタイミングを制御しても良い。この場合、「Ｋ３オフ状態」から「Ｋ２オフ状態」までの経過時間から求めた離鍵速度を基礎とするのが良い。
【０１１０】
さらに、ノートオフの処理としては、複数の点で変化させても良い。例えば、「Ｋ３オフ状態」において徐々に発音を減衰させ、次の「Ｋ２オフ状態」において完全に消音とするように処理しても良い。
【０１１１】
なお、上述した実施例、変形例では、消音演奏可能なグランドピアノを例として説明したが、本願は、これに限られない。例えば、演奏時の演奏情報を採取して記憶し、この記憶した演奏情報に基づき自動演奏を行なう自動演奏ピアノに対しても、勿論適用可能である。
【０１１２】
【発明の効果】
以上説明したように、この発明によれば、ハンマの挙動を正確に把握でき、打弦のタイミングおよび打弦の大きさを、より忠実にセンシングすることが可能となる。
【図面の簡単な説明】
【図１】  この発明の実施例におけるキーセンサの構成を示す側断面図である。
【図２】  同実施例におけるキーセンサの動作を説明するための図である。
【図３】  同実施例におけるキーセンサの出力と、鍵位置との関係を説明するための図である。
【図４】  同実施例におけるハンマアクション部の構成を示す側断面図である。
【図５】  同実施例におけるハンマセンサの出力と、ハンマ位置との関係を示す図である。
【図６】  同実施例の電気的構成を示すブロック図である。
【図７】  同実施例におけるＲＯＭに作成されるレジスタの構成を説明するための図である。
【図８】  同実施例における電気的動作のメインルーチンを示すフローチャートである。
【図９】  同実施例におけるモードが、レジスタの内容によっていかにして分類されるかを説明するための図である。
【図１０】  同実施例の割込処理にて行なわれるキーセンサオンタイミングルーチンを示すフローチャートである。
【図１１】  同実施例の割込処理にて行なわれるハンマセンサオンタイミングルーチンを示すフローチャートである。
【図１２】  連打時に発生し得る不都合を説明するための図である。
【図１３】  途中で押鍵速度が鈍化する場合において発生し得る不都合を説明するための図である。
【符号の説明】
３１……光センサ（第１のセンサ）、７７……光センサ（第２のセンサ）、５１……ＣＰＵ（第１、第２のセンサ情報発生手段、制御手段）、α……テーブル（第１のテーブル）、β……テーブル（第２のテーブル）
【図１】
0003684610.tif 000002
【図２】
0003684610.tif 000003
【図３】
0003684610.tif 000004
【図４】
0003684610.tif 000005
【図５】
0003684610.tif 000006
【図６】
0003684610.tif 000007
【図７】
0003684610.tif 000008
【図８】
0003684610.tif 000009
【図９】
0003684610.tif 000010
【図１０】
0003684610.tif 000011
【図１１】
0003684610.tif 000012
【図１２】
0003684610.tif 000013
【図１３】
0003684610.tif 000014