(57)【特許請求の範囲】
【請求項１】
鍵の連続する変位である鍵変位を取得する鍵変位取得手段と、
前記鍵の速度である鍵速度を取得する鍵速度取得手段と、
前記鍵により駆動され前記鍵との接触から離脱して運動する仮想的なハンマである仮想ハンマが前記鍵に接触しているかを判定する接触判定手段と、
前記接触判定手段により前記鍵が前記仮想ハンマに接触していると判定された場合は、前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて前記仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを取得し、前記鍵が前記仮想ハンマに接触していないと判定された場合は、前回取得したハンマ速度を仮想ハンマに作用する復元力に基づいて更新したハンマ速度と、前回取得したハンマ変位を前記更新したハンマ速度に基づいて更新したハンマ変位とを取得するハンマ状態取得手段と、
前記ハンマ状態取得手段により取得されたハンマ変位とハンマ速度とに基づいて楽音の発生の開始を指示する指示手段と、
前記仮想ハンマが鍵に接触している状態における鍵変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段とを備え、
前記ハンマ状態取得手段は、前記ハンマ変位とハンマ速度とを前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて、前記関数記憶手段に記憶された関数を用いることにより取得することを特徴とする鍵盤装置。
【請求項２】
鍵の連続する変位である鍵変位を取得する鍵変位取得手段と、
前記鍵の速度である鍵速度を取得する鍵速度取得手段と、
前記鍵により駆動され前記鍵との接触から離脱して運動する仮想的なハンマである仮想ハンマが鍵に接触している状態における鍵の変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段と、
前記仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて、前記関数記憶手段に記憶された関数を用いることにより取得するハンマ状態取得手段と、
前記ハンマ状態取得手段により取得されたハンマ変位とハンマ速度とに基づいて楽音の発生の開始を指示する指示手段とを備えていることを特徴とする鍵盤装置。
【請求項３】
前記関数記憶手段に記憶される関数は、鍵が停止している位置から所定の位置までは一次関数であり、その所定の位置以上の鍵の位置においては、その鍵の所定の位置において前記一次関数により形成される直線に接するとともに、上に凸の放物線を描く二次関数であることを特徴とする請求項１または２記載の鍵盤装置。
【請求項４】
前記ハンマ状態取得手段により取得されたハンマ変位が前記鍵に接触しない所定位置に至ったときの前記ハンマ状態取得手段により取得されたハンマ速度である初速度が所定値以上であるかを判定する初速度判定手段を備え、
前記指示手段は、前記仮想ハンマの初速度が所定値以上であると判定された場合に、楽音の発生の開始を指示するものであることを特徴とする請求項１から３のいずれかに記載の鍵盤装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵盤装置に関し、特に鍵により駆動されるハンマの動作を鍵の動作から正確に求めることができる鍵盤装置に関する。
【背景技術】
【０００２】
従来、アコースティックピアノのように鍵により駆動されるハンマが打弦することを模擬した電子楽器が提案されている。アコースティックピアノと同様に鍵により駆動され、所定の重量を有するハンマを設け、そのハンマがスイッチを作動するとともに、ハンマの速度を検出して、発生される楽音の強度を設定するものなどが提案されているが、装置が複雑になり、高価になる。また、既存のアコースティックピアノにおいて、電子回路により構成される音源を制御する場合には、ハンマの動きを検出するセンサを設ける方法も考えられるが、ハンマの動作を検出するのは、困難であるという欠点がある。
【０００３】
これに対し、既存のアコースティックピアノの多くは、鍵の下部に鍵の動作を検出する装置を容易に装着することができ、鍵の動作を検出して、ハンマの動作を推定するという提案がなされている。
【０００４】
特開平１−２３９５９４号公報（特許文献１）には、鍵の複数の位置における速度を検出し、その検出された複数の位置の速度からハンマの速度を推測し、その推測されたハンマの速度に基づいて打弦速度を求めるものが提案されている。
【０００５】
また、特開平５−３０７３８８号公報（特許文献２）には、鍵の加速度を計測し、その計測された鍵の加速度に基づいて擬似ハンマの加速度を求め、次に求められた擬似ハンマの加速度を積分することによりハンマの速度を求めるものが提案されている。
【０００６】
一方、アコースティックピアノにおけるハンマを駆動するアクション機構は、製造会社や機種により多少異なるものの、基本的にはほぼ同一の機構である。このアクション機構の概略について図１０を参照して説明する。図１０は、グランドピアノのアクション機構の概略を示す側面図であり、演奏者により押下されていない離鍵状態を示している。鍵盤には、複数の白鍵と黒鍵が組み入れられているが、図１０は、白鍵について示している。
【０００７】
白鍵１１は、棒状の外観を有し、その長手方向の中央部に支点１２が設けられ、支点１２より前方の前部が演奏者により操作され、支点１２より後方の後部にアクション機構が配置される。白鍵１１の前部が押下されると、後部が持ち上げられ、アクション機構が動作してハンマが駆動され、そのハンマにより打弦が行われる。
【０００８】
アクション機構は、鍵１１の長手方向の中央に設けられた支点１２を中心に回動自在で、鍵１１の後部に載置されたウィッペン５４と、ウィッペン５４に回動自在に取り付けられたレペティションレバー５５およびジャック５６と、レペティションレバー５５およびジャック５６とを復帰方向（同図の反時計方向）に付勢するレペティションスプリング５７とを備えている。また、アクション機構は、レペティションレバー５５およびジャック５６の移動をそれぞれ規制するレペティションスクリューおよびレギュレーティングボタン５９などを有している。さらに、鍵１１の前部には、図示しない鍵盤重りが取り付けられており、この鍵盤重りとアクションの重さとのバランスによって、鍵１１のタッチ重さが調整される。
【０００９】
レペティションレバー５５の前部には、上下方向に貫通するジャック案内孔が形成されており、このジャック案内孔の付近に、ハンマローラ５８を介してハンマ５３が載置されている。一方、ジャック５６は、Ｌ字状に形成されており、上下方向に延びるハンマ突上げ部の先端部が、レペティションレバー５５のジャック案内孔に、これに沿って移動自在に係合している。
【００１０】
この離鍵状態から、鍵１１が押鍵されると、ウィッペン５４が突き上げられることにより回動し、レペティションレバー５５およびジャック５６がウィッペン５４と一緒に上方に移動する。これらの移動に伴い、まず、レペティションレバー５５が、ハンマローラ５８を摺動させながらこれを介してハンマ５３を押し上げ、上方に回動させる。次いで、レペティションレバー５５がレペティションスクリューに係合することにより、ジャック５６がハンマローラ５８を介してハンマ５３を突き上げる。その後、ハンマ５３が、上方に張られた弦Ｓを打弦する直前まで回動した時点で、ジャック５６が、レギュレーティングボタン５９に係合することによって回動し、ハンマローラ５８から抜ける。これにより、ハンマ５３は、アクション機構と鍵１１との連結を解かれ、自由回動状態で弦Ｓを打弦する。
【００１１】
その後、鍵１１が離鍵され、ある程度まで戻されたタイミングで、レペティションレバー５５が作動し始め、レペティションスプリング５７のばね力で反時計方向に復帰回動することによって、ハンマローラ５８を摺動させながら押し上げる。これにより、ジャック５６が、レペティションスプリング５７のばね力で反時計方向に復帰回動し、もとの位置に戻ることによって、鍵１１が完全に戻らなくても、次の打弦を行うことが可能になり、同じ弦をハンマ５３で連打することができるので、トリルを行う場合のような同じ鍵１１を連続して速く叩く連打を行うことができる。
【特許文献１】特開平１−２３９５９４号公報
【特許文献２】特開平５−３０７３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献１や特許文献２に開示された発明では、上述したような複雑なアクション機構の動作を忠実に模擬していないため、鍵の動作から実際のハンマの動作を正確に求めることができないという問題点があった。
【００１３】
例えば、鍵１１を浅く押下した場合には、アコースティックピアノでは、ハンマにより打弦されて発音されるが、電子楽器では発音されなかったり、鍵１１を途中からさらに押下した場合、アコースティックピアノでは、弱い音が発生されるのに、電子楽器では、比較的強い音が発生されるなどの違いがあった。
【００１４】
本発明は、上述した問題点を解決するためになされたものであり、鍵により駆動されるハンマの状態を簡単な構成により正確に求めることができる鍵盤装置を提供することを目的としている。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、請求項１記載の鍵盤装置は、鍵の連続する変位である鍵変位を取得する鍵変位取得手段と、前記鍵の速度である鍵速度を取得する鍵速度取得手段と、前記鍵により駆動され前記鍵との接触から離脱して運動する仮想的なハンマである仮想ハンマが前記鍵に接触しているかを判定する接触判定手段と、前記接触判定手段により前記鍵が前記仮想ハンマに接触していると判定された場合は、前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて前記仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを取得し、前記鍵が前記仮想ハンマに接触していないと判定された場合は、前回取得したハンマ速度を仮想ハンマに作用する復元力に基づいて更新したハンマ速度と、前回取得したハンマ変位を前記更新したハンマ速度に基づいて更新したハンマ変位とを取得するハンマ状態取得手段と、前記ハンマ状態取得手段により取得されたハンマ変位とハンマ速度とに基づいて楽音の発生の開始を指示する指示手段と、前記仮想ハンマが鍵に接触している状態における鍵変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段とを備え、前記ハンマ状態取得手段は、前記ハンマ変位とハンマ速度とを前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて、前記関数記憶手段に記憶された関数を用いることにより取得する。
【００１６】
【００１７】
【００１８】
【００１９】
【００２０】
請求項２記載の鍵盤装置は、鍵の連続する変位である鍵変位を取得する鍵変位取得手段と、前記鍵の速度である鍵速度を取得する鍵速度取得手段と、前記鍵により駆動され前記鍵との接触から離脱して運動する仮想的なハンマである仮想ハンマが鍵に接触している状態における鍵の変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段と、前記仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて、前記関数記憶手段に記憶された関数を用いることにより取得するハンマ状態取得手段と、前記ハンマ状態取得手段により取得されたハンマ変位とハンマ速度とに基づいて楽音の発生の開始を指示する指示手段とを備えている。
【００２１】
請求項３記載の鍵盤装置は、請求項１または２記載の鍵盤装置において、前記関数記憶手段に記憶される関数は、鍵が停止している位置から所定の位置までは一次関数であり、その所定の位置以上の鍵の位置においては、その鍵の所定の位置において前記一次関数により形成される直線に接するとともに、上に凸の放物線を描く二次関数である。
【００２２】
請求項４記載の鍵盤装置は、請求項１から３のいずれかに記載の鍵盤装置において、前記ハンマ状態取得手段により取得されたハンマ変位が前記鍵に接触しない所定位置に至ったときの前記ハンマ状態取得手段により取得されたハンマ速度である初速度が所定値以上であるかを判定する初速度判定手段を備え、前記指示手段は、前記仮想ハンマの初速度が所定値以上であると判定された場合に、楽音の発生の開始を指示するものである。
【発明の効果】
【００２３】
請求項１記載の鍵盤装置によれば、鍵の連続する変位である鍵変位が鍵変位取得手段により取得され、鍵の速度である鍵速度が鍵速度取得手段により取得される。その鍵により駆動される仮想ハンマを想定し、その仮想ハンマは、実際のハンマのように、鍵により駆動されることにより、鍵との接触から離脱して運動を行う。その仮想ハンマが鍵に接触して、鍵により駆動されている状態であるかが接触判定手段により判定される。
【００２４】
そして、その接触判定手段により鍵が仮想ハンマに接触していると判定された場合は、仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを鍵変位取得手段により取得された鍵変位と鍵速度取得手段により取得された鍵速度とに基づいてハンマ状態取得手段により取得される。よって、アコースティックピアノにおけるハンマの動作を忠実に模擬することができる。
【００２５】
そして、その取得されたハンマ変位とハンマ速度とに基づいて指示手段により楽音の発生指示が行われるので、アコースティックピアノのようなハンマを備えた鍵盤おける操作に対応した楽音の発生を行うことができるという効果がある。
【００２６】
また、請求項１記載の鍵盤装置によれば、ハンマ状態取得手段は、鍵が仮想ハンマに接触していないと判定された場合、前回取得したハンマ速度を仮想ハンマに作用する復元力に基づいて更新したハンマ速度と、前回取得したハンマ変位を前記更新したハンマ速度に基づいて更新したハンマ変位とを取得するものであるので、アコースティックピアノなどにおけるハンマが鍵による駆動から離脱して運動を行っている状態を忠実に模擬することができるという効果がある。この復元力は、グランドピアノの場合は、重力であり、アップライトピアノであれば、バネなどであって、仮想ハンマに作用して仮想ハンマが弦に向かって運動する速度を減少させる力である。
【００２７】
【００２８】
【００２９】
【００３０】
また、請求項１記載の鍵盤装置によれば、仮想ハンマが鍵に接触している状態における鍵変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段を備え、ハンマ状態取得手段は、ハンマ変位とハンマ速度とを鍵変位取得手段により取得された鍵変位と鍵速度取得手段により取得された鍵速度とに基づいて、関数記憶手段に記憶された関数を用いることにより取得するので、関数記憶手段に記憶された関数に基づいて、仮想ハンマが鍵により駆動されているか、鍵による駆動から離脱して運動しているかを判定することができるとともに、仮想ハンマが鍵に接触している場合には、鍵の変位および鍵の速度を容易に求めることができるという効果がある。
【００３１】
請求項２記載の鍵盤装置によれば、鍵の連続する変位である鍵変位が鍵変位取得手段により取得され、鍵の速度である鍵速度が鍵速度取得手段により取得される。その鍵により駆動される仮想ハンマを想定し、その仮想ハンマは、鍵に駆動されることにより加速され、鍵との接触から離脱して運動を行う。その仮想ハンマが鍵に接触している状態における鍵の変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数が関数記憶手段に記憶され、仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とが鍵変位取得手段により取得された鍵変位と鍵速度取得手段により取得された鍵速度とに基づいて、関数記憶手段に記憶された関数を用いることによりハンマ状態取得手段により取得される。よって仮想ハンマが鍵により駆動されているか、鍵の駆動から離脱して運動を行っているかを判定することができるとともに、仮想ハンマが鍵に接触している場合には、ハンマの変位と速度とを容易に求めることができるという効果がある。また、この関数をアコースティックピアノのアクションの特性に近似させることにより、アコースティックピアノのハンマの動作に近似した仮想ハンマの動作を取得することができ、その結果、アコースティックピアノにより発生される楽音を模擬することができる。
【００３２】
請求項３記載の鍵盤装置によれば、請求項１または２記載の鍵盤装置の奏する効果に加え、関数記憶手段に記憶される関数は、鍵が停止している位置から所定の位置までは一次関数であり、その所定の位置以上の鍵の位置においては、その鍵の所定の位置において、その一次関数により形成される直線に接するとともに、上に凸の放物線を描く二次関数であるので、簡単な数式により静止ハンマ位置を示す関数を記憶することができる。また、鍵速度からハンマ速度を求める場合に、静止ハンマ位置を示す関数を微分した関数が必要であるが、二次関数を微分した一次関数も簡単な数式であるので、鍵速度からハンマ速度を演算により容易に求めることができるという効果がある。
【００３３】
請求項４記載の鍵盤装置によれば、請求項１から３のいずれかに記載の鍵盤装置の奏する効果に加え、ハンマ状態取得手段により取得されたハンマ変位が鍵に接触しない所定位置に至ったときのハンマ状態取得手段により取得されたハンマ速度である初速度が所定値以上であるかを判定する初速度判定手段を備え、指示手段は、仮想ハンマの初速度が所定値以上であると判定された場合に、楽音の発生の開始を指示するので、仮想ハンマの変位が弦の位置に到達する前に、楽音の発生の開始を指示することができるので、音源から楽音が発生されるタイミングを遅延させることがないという効果がある。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の好ましい第１実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態である鍵盤装置１および鍵盤装置１に接続される機器の電気的構成を示すブロック図である。
【００３５】
鍵盤装置１は、ＣＰＵ２（中央処理装置）と、そのＣＰＵ２により実行される制御プログラム３ａ等を記憶したＲＯＭ３（リード・オンリ・メモリ）と、ＣＰＵ２が制御プログラム３ａを実行する際の作業用のメモリエリア等を有するＲＡＭ４（ランダム・アクセス・メモリ）と、表示器や操作子が設けられた操作パネル５と、Ａ／Ｄ変換器６と、各鍵に対応して設けられたセンサ７と、ＭＩＤＩ規格に適合した演奏情報を出力するＭＩＤＩインターフェース（Ｉ／Ｆ）８とを主に備えている。
【００３６】
ＲＯＭ３には、図４〜図７に示すフローチャートの処理に対応する制御プログラム３ａやベロシティカーブ３ｂや各種定数などが記憶される。制御プログラム３ａは、鍵盤の鍵の状態からハンマの状態を推測し、そのハンマの状態から楽音の発生の開始を指示するノートオン情報を生成し出力する処理が記載されたものである。このハンマは、実際に設けられない場合もあり、以下、仮想ハンマと称す。
【００３７】
ベロシティカーブ３ｂは、仮想ハンマの速度をベロシティ値に変換する際に参照されるものであって、仮想ハンマが打弦を行うと判定された際に、仮想ハンマの速度が推定され、その推定されたハンマ速度をベロシティ値に変換するための曲線である。
【００３８】
音源２０に対して出力される楽音の発生の開始を指示する情報は、ノートオン情報であり、このノートオン情報には、押鍵速度を示すベロシティ値が含まれる。
【００３９】
ＲＡＭ４には、押鍵中フラグメモリ４ａと、自由運動フラグメモリ４ｂと、ワークエリア４ｃとが設けられる。押鍵中フラグメモリ４ａは、押鍵中フラグを記憶するメモリであり、押鍵中フラグは、各鍵毎に押鍵中か否かを示すフラグである。仮想ハンマがある所定値を超えた場合に１にセットされ、離鍵されることによって、ダンパが弦に接触される位置に戻された場合に０にリセットされる。
【００４０】
自由運動フラグメモリ４ｂは、自由運動フラグを記憶するメモリであり、自由運動フラグは、各鍵毎に鍵により駆動される仮想ハンマを想定し、その仮想ハンマが鍵の駆動から離脱して自由運動を行っているか否かを示すフラグである。仮想ハンマが鍵に接触している場合に０にリセットされ、鍵との接触から離脱して自由運動を行っている場合に、１にセットされる。
【００４１】
ワークエリア４ｃは、鍵の変位や速度、仮想ハンマの暫定変位および暫定速度、仮想ハンマの現在の変位および速度などを一時記憶する。仮想ハンマの暫定変位および暫定速度、仮想ハンマの現在の変位および速度については、後述する。
【００４２】
操作パネル５は、演奏者により操作される操作子や設定された数値などを表示する表示器などを備えている。操作子としては、例えば、音源２０に送信するＭＩＤＩ信号のチャネルを設定を行うものや、ＲＯＭ３に記憶される複数のベロシティカーブ３ｂのいずれかを選択するものが設けられる。
【００４３】
Ａ／Ｄ変換器６は、各鍵毎に設けられるセンサ７を構成する受光素子７ｂ（図２参照）が出力する電圧値を順次デジタル値に変換するものである。アコースティックピアノの多くは、白鍵と黒鍵を合わせて８８個の鍵を有するものが多く、この実施形態においても、鍵の数が８８あるとし、それぞれの鍵に対応してセンサ７が設けられ、各センサ７には、鍵の変位に応じたアナログ電圧値を出力する受光素子７ｂが設けられる。
【００４４】
各受光素子７ｂの出力は、図示しないアナログスイッチを切り替えることにより、Ａ／Ｄ変換器６に順次供給され、変換されたデジタル値は、順次ＣＰＵ２により読み取られる。
【００４５】
各鍵に対応して設けられる受光素子７ｂは、鍵変位に応じたアナログ信号である電圧値を出力し、その電圧値は、所定時間間隔でサンプリングされ、Ａ／Ｄ変換器６に供給される。受光素子７ｂについては、図２を参照して後述する。
【００４６】
ＭＩＤＩインターフェース８は、ＭＩＤＩ規格に適合した演奏情報を鍵盤の操作に応じて出力するインターフェースである。このＭＩＤＩインターフェース８には、外部装置である音源２０が接続され、音源２０は、入力された演奏情報に応じた楽音信号を出力する。その出力された楽音信号は、アンプ２１により増幅されスピーカ２２により放音される。
【００４７】
鍵盤装置１からＭＩＤＩインターフェース８を介して音源２０に出力される情報は、ＭＩＤＩ規格に準拠したフォーマットの情報であり、楽音の発生を指示する情報をノートオン情報、楽音の発生の停止を指示する情報をノートオフ情報と称する。ノートオン情報は、その情報がノートオン情報であることを示すステータスと、発音させる楽音の音高を指示するノートナンバと、押鍵速度を示すベロシティ値（７ビットにより表され、１〜１２７の値をとる）とを含むものである。また、ノートオフ情報は、その情報がノートオフ情報であることを示すステータスと、発音を停止させる楽音の音高を指示するノートナンバと、離鍵速度を示すベロシティ値とを含むものである。
【００４８】
次に、図２を参照して鍵の変位（以下、「鍵変位」と称す）ｘとセンサ７について説明する。図２は、鍵１１（図２では、白鍵を例示する）とセンサ７とを示す側面図である。鍵１１は、図１０に示すものと同一であり、支点１２を中心として揺動し、その前部分が演奏者により操作され、後部分には、ハンマ５３およびそのハンマ５３を鍵１１により駆動する機構が設けられる。図２は、その前部分を示したもので鍵１１が操作されない状態を実線で示すと共に、この状態における鍵１１の上面の位置により鍵変位ｘを０として示す。また、鍵１１が最下位置まで押下された場合を一点鎖線で示すとともに、その場合の鍵１１の上面の位置により鍵変位ｘをＥとして示す。
【００４９】
鍵変位ｘが０からＥまで変化する間には、次のような状態がある。鍵１１が押下されると、まず、ダンパが弦との接触を解除する。この時の鍵変位ｘをＢとする。更に、鍵１１が押下されるとジャック５６（図１０参照）が回動を開始する。この時の鍵変位ｘをＣとする。更に鍵１１が押下されると、ジャック５６が更に回動し、完全にハンマから離脱する。この時の鍵変位ｘをＤとする。鍵変位ｘは、鍵１１の先端の移動距離としてもよいし、支点を中心に回転する角度で表してもよい。鍵変位ｘを鍵１１の先端の移動距離とし、グランドピアノの鍵の一例を上げると、Ｂは、４．０ｍｍ、Ｃは、６．９ｍｍ、Ｄは、８．７ｍｍ、Ｅは、１０．０ｍｍである。
【００５０】
通常のアコースティックピアノには、鍵１１の下方にスペースが存在し、このスペースに、センサ７を配置することができる。各鍵１１に対応して設けられるセンサ７は、反射型フォトセンサと呼ばれるもので、発光素子７ａと受光素子７ｂとが上方向を向いた構造である。発光素子７ａは、例えば、赤外線を発光するＬＥＤであり、受光素子７ｂは、例えば、受光する赤外線の強度に応じた電流が得られるフォトトランジスタである。
【００５１】
発光素子７ａは、鍵１１の下面に向かって光を照射するように、光を発生する部分を上方に向けて配置され、発光部分の周囲は、照射された光が分散しないようにすり鉢状に形成される。
【００５２】
また、受光素子７ｂは、発光素子７ａから照射された光が鍵１１の下面によって反射された反射光を受光するように受光面を上方に向けて配置され、同様に受光素子７ｂの周囲は、すり鉢状に形成される。
【００５３】
次に、仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを求める方法について説明する。
（１）鍵１１が操作されない初期状態では、仮想ハンマは、鍵１１により駆動される状態である。仮想ハンマが鍵１１に接触し、鍵１１によって駆動されている場合は、仮想ハンマの変位は、鍵１１の変位により一意に決まる。この仮想ハンマが鍵１１に接触している場合の、鍵変位ｘに対するハンマ変位を静止ハンマ位置と称し、その静止ハンマ位置を表す曲線を静止ハンマ曲線と称す。この静止ハンマ曲線については、図３を参照して後述する。
（２）仮想ハンマが鍵１１に接触している場合の仮想ハンマの速度は、鍵１１の変位における変位の変化率、すなわち静止ハンマ曲線の傾き、に鍵速度を乗じたものである。静止ハンマ曲線を数式で表すことができ、その数式を微分することができれば、静止ハンマ曲線の傾きも数式を用いて求めることができる。
【００５４】
この実施形態では、この静止ハンマ曲線を一次関数と二次関数とによって表し、演算によって、仮想ハンマの変位と速度とを求めるものとする。
（３）所定時間毎に鍵変位ｘと鍵速度とを取得し、その鍵変位と鍵速度とに基づいて、仮想ハンマが鍵１１と接触している場合の仮想ハンマの変位と仮想ハンマの速度とを求めることができる。
【００５５】
次に、このようにして求められたハンマ位置にハンマ速度を加算することによりハンマ暫定変位を求める。このハンマ暫定位置と今回求められた鍵変位ｘに対応する静止ハンマ位置とを比較することにより、仮想ハンマが鍵１１に接触しているか否かを判定する。すなわち、前回の鍵変位ｘと鍵速度とから求められた現在の仮想ハンマの位置であるハンマ変位が、今回の鍵変位ｘにおける静止ハンマ位置より大きければ、仮想ハンマは、鍵１１から離脱し自由運動を行っていると判定する。前回の鍵変位ｘと鍵速度とから求められた現在の仮想ハンマの位置であるハンマ変位が、今回の鍵変位ｘにおける静止ハンマ位置と等しいか小さければ、仮想ハンマは鍵１１に接触していると判定する。
（４）仮想ハンマが鍵１１に接触していると判定された場合は、上記と同様に、鍵変位ｘと鍵速度とに基づいて仮想ハンマのハンマ変位とハンマ速度とを求めることができる。仮想ハンマが鍵１１に接触していないと判定された場合は、仮想ハンマが重力加速度により加速されているとして、ハンマ速度を求め、その求められたハンマ速度に基づいてハンマ変位を求めることができる。
（５）このようにして仮想ハンマの変位と速度とを求め、仮想ハンマの変位が静止ハンマ位置の最大値ｈ＿ｍａｘを超えた場合の仮想ハンマの速度が所定値ｖ以上である場合に、音源２０に対して楽音を発生するように指示を行う。この所定値ｖは、初速度が重力加速度により減速されても仮想ハンマが弦に到達して打弦する最小の初速度である。
【００５６】
その最小の初速度ｖより初速度が大きい場合は、そのハンマ速度に応じたベロシティ値をベロシティカーブ３ｂを参照して求め、ノートオン情報を出力する。
【００５７】
この最小の初速度ｖは、実際のアコースティックピアノのハンマにおいて、弦に到達する最小の速度を測定により求めることができる。また、仮想ハンマの変位の最大値ｈ＿ｍａｘから弦までの距離であるｊを測定し、その距離ｊに基づいて次のようにしても求めることができる。
【００５８】
最小の初速度ｖは、重力加速度により徐々に減速され、弦に到達したとき０になる速度である。単位時間当たりの重力加速度をｇとし、ｎ個の単位時間で仮想ハンマが弦に到達するとすれば、ｎは、次式（以下、「数式１」と称す）のようになる。
ｎ＝ｖ／ｇ        （数式１）
一方、仮想ハンマは、最小の初速度をｖとし、ｎ回で仮想ハンマが距離ｊを上昇するので、距離ｊは、次式により算出することができる。
【００５９】
【数１】
0005179224.tif 000002
この式に、数式１のｎを代入すると、
【００６０】
【数２】
0005179224.tif 000003
となり、これを解き、ｖ＞０を満たすｖは、
【００６１】
【数３】
0005179224.tif 000004
となる。
【００６２】
なお、上記のように離散的な演算ではなく連続して変化するとして運動エネルギー保存の法則を適用すれば、
【００６３】
【数４】
0005179224.tif 000005
となる。この式を用いても誤差は無視できる程度であるが、本実施形態では、数式２を用いるものとする。
【００６４】
次に、図３を参照して、静止ハンマ位置について説明する。鍵１１を速く押下した場合は、ハンマ５３は、鍵１１の駆動から離脱して自由運動を開始する。静止ハンマ位置とは、鍵１１を徐々に押下し、仮想ハンマが鍵１１と接触している状態、すなわち仮想ハンマが自由運動をしていない状態における仮想ハンマの位置である。
【００６５】
図３は、鍵変位ｘに対応する静止ハンマ位置を示すグラフである。以下、この鍵変位ｘに対する静止ハンマ位置を表す曲線を静止ハンマ曲線と称す。図３は、横軸を変位ｘとし、縦軸を仮想ハンマの変位ｈとして静止ハンマ曲線を実線で表すものである。図３に示すように、静止ハンマ曲線は、鍵変位ｘが０からＣまでは、正比例を示す直線である。変位ｘがＣからＤまでは放物線の一部であり、ＣからＤの範囲外の放物線を一点鎖線で示す。変位ｘがＤからＥまでは、水平な直線である。
【００６６】
図１０を参照して説明したように、鍵変位ｘが０からＣまでは、ジャック５６が回転せずにハンマ５３を押し上げるので、ハンマ変位ｈは、鍵変位ｘに正比例する。なお、ハンマ軸の長さにより実際のハンマが打弦する位置の移動距離は異なるが、ここでは、説明を簡単にするために、正比例する部分の直線の傾きを１とする。
【００６７】
鍵変位ｘがＣからＤまでの間は、ジャック５６が回転をするために、実際には、複雑な曲線を描くが、本願の発明者は、この曲線を放物線（二次曲線）を用いることにより精度良く近似できることを発見した。この放物線は、次式（以下、「数式３」と称す）により表される。
【００６８】
【数５】
0005179224.tif 000006
なお、Ａは、定数であり、例えば、模擬しようとするアコースティックピアノの各鍵のアクションの構造により決定される。静止ハンマ位置が最大値ｈ＿ｍａｘとなる鍵変位ｘをＰとすると、Ｐ＝（Ｃ＋１／Ａ）である。このｈ＿ｍａｘは、数式３においてｘ＝Ｃ＋１／Ａを代入することにより表され、
ｈ＿ｍａｘ＝１／（２Ａ）＋Ｃ
となる。
【００６９】
鍵変位ｘがＤからＥまでの間は、静止ハンマ位置は、鍵変位ｘに係わらず一定値であるｈ＿ｅｎｄであり、このｈ＿ｅｎｄは、数式３の鍵変位ｘにＤを代入した次式により表わされる。
【００７０】
【数６】
0005179224.tif 000007
上述の通り、静止ハンマ位置は、仮想ハンマが、鍵１１に接触している場合の鍵変位ｘに対応する仮想ハンマの変位を示す。よって、仮想ハンマが鍵１１に接触している場合は、静止ハンマ位置が仮想ハンマ位置に対応する。
【００７１】
一方、仮想ハンマの速度は、鍵１１に接触している場合は、鍵１１の速度に、静止ハンマ曲線の傾きを乗じた値となる。従って、鍵変位ｘが０からＣまでは、静止ハンマ曲線は傾きが１の直線であるので、仮想ハンマの速度は、鍵１１の速度に一致する。そして、鍵変位ｘがＣからＤまでの間の静止ハンマ曲線の傾きは、数式３を微分した次式（以下、「数式４」と称す）により求めることができる。
ｈ’＝１−Ａ（ｘ−Ｃ）            （数式４）
従って、仮想ハンマが鍵１１に接触している場合の仮想ハンマの変位であるハンマ変位とハンマ速度を求めることができる。
【００７２】
次に、ある鍵変位ｘにおいて、仮想ハンマの変位が、静止ハンマ位置より大きくなった場合は、仮想ハンマが鍵１１の駆動から離脱し、自由運動を行っていると判断することができる。
【００７３】
次に、図４〜７を参照して制御プログラム３ａにより実行される処理について説明する。図４〜７は、制御プログラム３ａにより実行される処理を示すフローチャートである。まず、図４を参照して、メイン処理について説明する。このメイン処理は、鍵盤装置１の電源が投入されたとき起動され、電源が遮断されるまで繰り返し行われる処理である。メイン処理では、まず初期設定を行う（Ｓ１）。この初期設定では、ＲＡＭ４に設けられた押鍵中フラグメモリ４ａに記憶される各鍵１１に対応する押鍵中フラグを全て０に設定し、同様に各鍵１１に対応する自由運動フラグを全て０に設定する。なお、以下に述べる処理は、鍵盤に設けられている全ての鍵１１について、それぞれ行われる処理であるが、説明を簡単にするために、一つの鍵１１について説明する。また、この処理は、正確な所定時間間隔で行われるが、計時処理については、公知であるのでその説明を省略する。
【００７４】
次に、Ａ／Ｄ変換器６により変換されたデジタル値を読み込み鍵変位ｘを取得する（Ｓ２）。Ａ／Ｄ変換された値が鍵変位ｘに対して線形などの単純な対応関係でない場合は、変換テーブルなどを参照して正確な鍵変位ｘに変換する。
【００７５】
次に、ワークエリア４ｃに記憶された鍵変位ｘを読み出し、今回取得した鍵変位ｘから引くことにより、鍵速度を取得する（Ｓ３）。そして、ワークエリア４ｃに記憶された鍵変位ｘに代えて今回取得した鍵変位ｘを記憶する（Ｓ４）。
【００７６】
次に、ハンマ暫定状態取得処理を行う（Ｓ５）。このハンマ暫定状態取得処理は、取得された鍵変位ｘと鍵速度とに基づいて、暫定的なハンマ変位であるハンマ暫定変位とハンマ暫定速度とを取得する処理である。詳細については、図５を参照して後述する。
【００７７】
次に、ハンマ暫定状態取得処理（Ｓ５）により求められたハンマ暫定変位が打弦位置に到達したか否かを判断する（Ｓ６）。仮想ハンマが弦に到達した場合は（Ｓ６：Ｙｅｓ）、仮想ハンマが弦により跳ね返されて下降を開始するので、ハンマ暫定速度を次式により算出する（Ｓ７）。
ハンマ暫定速度＝−［ハンマ暫定速度×（１−損失）］
次に、ハンマ暫定変位を、次式により算出する（Ｓ８）。
ハンマ暫定変位＝打弦位置−（ハンマ暫定変位−打弦位置）×（１−損失）
ここで、この損失とは、仮想ハンマが弦を打撃した際に発生するエネルギー損失であり、実測などによれば約０．８である。即ち、仮想ハンマが弦に衝突する前の速度の絶対値に、０．２を乗じた値が、仮想ハンマが弦に衝突した後の速度の絶対値となる。
【００７８】
Ｓ８の処理を終了した場合、またはＳ６の判断処理において、仮想ハンマが弦に到達しない場合は（Ｓ６：Ｎｏ）、ハンマ状態取得処理を行う（Ｓ９）。このハンマ状態取得処理においては、ハンマ暫定変位に基づいて、仮想ハンマが鍵１１に接触しているか否かが判定され、接触しないと判定された場合は、自由運動をしていると判断されて、重力加速度による変更等が行われ、現在のハンマ変位とハンマ速度が取得される。このハンマ変位とハンマ速度とは、ＲＡＭ４のワークエリア４ｃに記憶され、所定時間毎に更新される。このハンマ状態取得処理については、図６に示すフローチャートを参照して後述する。
【００７９】
Ｓ９のハンマ状態取得処理を終了した場合は、次に押鍵離鍵判定処理を行い（Ｓ１０）、押鍵離鍵判定処理を終了した場合は、Ｓ２の処理に戻る。この押鍵離鍵判定処理では、Ｓ９の処理で取得されたハンマ変位とハンマ速度に基づいて、仮想ハンマが打弦するか否かを判定し、打弦すると判定された場合は、ノート情報を出力する等の処理を行う。詳細については、図７を参照して後述する。
【００８０】
次に、図５を参照してハンマ暫定状態取得処理について説明する。図５は、ハンマ暫定状態取得処理を示すフローチャートである。このハンマ暫定状態取得処理では、まず、ＲＡＭ４の自由運動フラグメモリ４ａに記憶された自由運動フラグが１に設定されているか否かを判断する（Ｓ２１）。自由運動フラグが１に設定されていない場合は（Ｓ２１：Ｎｏ）、仮想ハンマが鍵１１に接触している状態であり、次に、鍵変位ｘは、Ｄ（ジャックが回動を終了する鍵変位）以上か否かを判断する（Ｓ２２）。鍵変位ｘがＤ以上でない場合は（Ｓ２２：Ｎｏ）、更に鍵変位ｘがＣ（ジャックが回動を開始する鍵変位）以上か否かを判断する（Ｓ２３）。鍵変位ｘがＣ以上でない場合は（Ｓ２３：Ｎｏ）鍵変位ｘが０からＣの間であり、ハンマ暫定速度をＳ３の処理で求めた鍵速度とする（Ｓ２４）。鍵変位ｘがＣ以上である場合は（Ｓ２３：Ｙｅｓ）、鍵変位ｘがＣからＤの範囲内にあり、ハンマ暫定速度をＳ３の処理で求めた鍵速度に数式４、［１−Ａ（ｘ−Ｃ）］を乗じた値とする（Ｓ２５）。
【００８１】
Ｓ２１の判断処理において自由運動フラグが１に設定されている場合（Ｓ２１：Ｙｅｓ）、または、Ｓ２２の判断処理において鍵変位ｘがＤ以上である場合（Ｓ２２：Ｙｅｓ）は、ハンマの暫定速度をハンマ速度から重力加速度を引いた値とする（Ｓ２６）。このハンマ速度は、ＲＡＭ４のワークエリア４ｃに記憶されたハンマ速度であり、前回の処理において取得された値である。
【００８２】
Ｓ２４またはＳ２５またはＳ２６の処理においてハンマ暫定速度が取得された場合はＲＡＭ４のワークエリア４ｃに記憶されたハンマ変位に、そのハンマ暫定速度が加算され、ハンマ暫定変位を取得する（Ｓ２７）。
【００８３】
次に、図６を参照してハンマ状態取得処理について説明する。図６は、ハンマ状態取得処理を示すフローチャートである。このハンマ状態取得処理では、まず、鍵変位ｘはＤ以上か否かを判断する（Ｓ３１）。
【００８４】
鍵変位ｘがＤ以上ではない場合は（Ｓ３１：Ｎｏ）、仮想ハンマが鍵１１に接触しているか否かを判断する（Ｓ３２）。この判断は、ハンマ暫定変位と静止ハンマ位置とを比較することにより行われる。即ち、ハンマ暫定位置が鍵変位ｘに対応する静止ハンマ位置より大きい場合は、仮想ハンマが、鍵１１との接触を離脱し、ハンマ暫定変位が鍵変位ｘに対応する静止ハンマ位置と等しいか小さい場合は、仮想ハンマが鍵１１と接触していると判断される。
【００８５】
仮想ハンマが鍵１１に接触している場合は（Ｓ３２：Ｙｅｓ）、鍵変位ｘがＣ以上か否かを判断し（Ｓ３３）、鍵変位ｘがＣ以上でなければ（Ｓ３３：Ｎｏ）、自由運動フラグメモリ４ｂに記憶される自由運動フラグを０に設定し、ハンマ速度を鍵速度に、ハンマ変位を鍵変位ｘにそれぞれ設定し、ＲＡＭ４のワークエリア４ｃに記憶する（Ｓ３４）。
【００８６】
鍵変位ｘがＣ以上であれば（Ｓ３３：Ｙｅｓ）、自由運動フラグを０に設定し、鍵変位ｘは、ＣからＤの範囲であるので、ハンマ速度を鍵速度に数式４により得られる傾きを乗じた値とし、ハンマ変位を鍵変位ｘを数式３に代入した値とし、ＲＡＭ４のワークエリア４ｃに記憶する（Ｓ３５）。
【００８７】
仮想ハンマが鍵１１に接触していない場合は（Ｓ３２：Ｎｏ）、自由運動フラグメモリ４ｂに記憶される自由運動フラグを１に設定し、ハンマ速度をハンマ暫定速度に、ハンマ変位をハンマ暫定変位にそれぞれ設定し、ＲＡＭ４のワークエリア４ｃに記憶する（Ｓ３６）。
【００８８】
一方、Ｓ３１の判断処理において、鍵変位ｘがＤ以上の場合は（Ｓ３１：Ｙｅｓ）、ハンマ暫定変位がｈ＿ｅｎｄより大きいか否かを判断する（Ｓ３７）。ハンマ暫定変位がｈ＿ｅｎｄより大きくない場合は（Ｓ３７：Ｎｏ）、自由運動フラグメモリ４ｂに記憶される自由運動フラグを０に設定し、ハンマ速度を０に、ハンマ変位をｈ＿ｅｎｄにそれぞれ設定し、ＲＡＭ４のワークエリア４ｃに記憶する（Ｓ３８）。ハンマ暫定変位がｈ＿ｅｎｄより大きい場合は（Ｓ３７：Ｙｅｓ）、上述のＳ３６の処理を行う。Ｓ３４またはＳ３５またはＳ３６またはＳ３８の処理を終了した場合は、メイン処理に戻る。
【００８９】
次に、図７を参照して押鍵離鍵判定処理について説明する。図７は、押鍵離鍵判定処理を示すフローチャートである。押鍵離鍵判定処理では、まず、押鍵中フラグメモリ４ａに記憶される押鍵中フラグが１に設定されているか否かを判断する（Ｓ５１）。押鍵中フラグが１に設定されていない場合は（Ｓ５１：Ｎｏ）、ＲＡＭ４のワークエリア４ｃに記憶された現在のハンマ変位ｈがｈ＿ｍａｘより大きいか否かを判断し（Ｓ５２）、現在のハンマ変位ｈがｈ＿ｍａｘより大きい場合は（Ｓ５２：Ｙｅｓ）、ＲＡＭ４のワークエリア４ｃに記憶された現在のハンマ速度がｖ以上であるか否かを判断する（Ｓ５３）。
【００９０】
ハンマ速度がｖ以上である場合は（Ｓ５３：Ｙｅｓ）、仮想ハンマが打弦を行うことになり、このハンマ速度からＲＯＭ３に記憶されたベロシティカーブ３ｂを参照してベロシティ値に変換し（Ｓ５４）、操作された鍵１１に対応するノートナンバとその変換されたベロシティ値とを含むノートオン情報をＭＩＤＩインターフェース８を介して発行する（Ｓ５５）。音源２０は、このノートオン情報を受信すると、ノートナンバに対応する音高であって、ベロシティ値に対応する強さの楽音を発生する。
【００９１】
ハンマ速度がｖ以上でない場合は（Ｓ５３：Ｎｏ）、ダミーノートオン情報を発行する（Ｓ５６）。このダミーノートオン情報は、鍵１１が押下されたが、楽音は発音しないということを示す情報であって、音源２０がこの情報を受信した場合は、何も処理を行わないが、自動ピアノでは、鍵１１が押下された様子を模擬するために利用される。
【００９２】
Ｓ５５の処理またはＳ５６の処理を終了した場合は、押鍵中フラグを１に設定する（Ｓ５７）。
【００９３】
一方、押鍵中フラグが１に設定されている場合は（Ｓ５１：Ｙｅｓ）、鍵変位ｘがＢ（ダンパが弦に接触する鍵変位）以下であるか否かを判断し（Ｓ６１）、鍵変位ｘがＢ以下であれば（Ｓ６１：Ｙｅｓ）、ダンパが弦に接触するので、ノートオフ情報を発行し（Ｓ６２）、押鍵中フラグを０に設定する（Ｓ６３）。
【００９４】
Ｓ５２の判断処理において現在のハンマ変位ｈがｈ＿ｍａｘより大きくない場合は（Ｓ５２：Ｎｏ）、またはＳ６１の判断処理において鍵変位ｘがＢ以下でない場合（Ｓ６１：Ｎｏ）、または、Ｓ５７またはＳ６３の処理を終了した場合は、メイン処理に戻る。
【００９５】
以上、フローチャートを参照して説明したように、仮想ハンマの動作は、実際のハンマの動作を忠実に模擬したものである。特に、仮想ハンマが鍵１１に接触しているか否かを判定し、その判定された状態に応じて仮想ハンマの変位と速度とを求める点や、鍵１１を静かに押下した場合のハンマの変位である静止ハンマ位置を記憶し、その静止ハンマ位置により、仮想ハンマの変位や速度を求める点に特徴がある。
【００９６】
以上の処理を鍵盤装置１において、鍵１１を様々な態様で押下した場合の仮想ハンマの変位の変化を図８に示す。
【００９７】
図８は、鍵変位ｘに対応し変化するハンマ変位ｈを示すグラフである。図８（ａ）、（ｃ）、（ｅ）は、鍵変位ｘの変化を示し、横軸を時間ｔとして、縦軸を鍵変位ｘとして示す。これらの図において、ジャック５６が回動を開始する時の鍵変位ｘであるＣと、ジャック５６が更に回動し、完全にハンマから離脱する時の鍵変位ｘであるＤと、鍵１１の最下位置Ｅとを破線で示す。
【００９８】
図８（ｂ）、（ｄ）、（ｆ）は、上記（ａ）、（ｃ）、（ｅ）にそれぞれ対応して変化した仮想ハンマの変位ｈの変化を示し、横軸を時間ｔとし、縦軸をハンマ変位ｈとして示したものである。これらの図において、静止ハンマ位置の最大値であるｈ＿ｍａｘと、鍵変位ｘがＤ以上である場合の静止ハンマ位置であるｈ＿ｅｎｄと、弦の位置を示すＳとを破線で示す。
【００９９】
図８（ａ）、（ｂ）は、通常に押鍵され、所定時間後に離鍵された場合の鍵変位ｘとハンマ変位ｈとを示す。押鍵により仮想ハンマが加速され、弦に到達した後、仮想ハンマは、ｈ＿ｅｎｄで保持される。離鍵された場合仮想ハンマは、ｈ＿ｅｎｄからｈ＿ｍａｘまで持ち上げられ、再び下降して静止位置に戻る。
【０１００】
図８（ｃ）、（ｄ）は、鍵１１が浅く押下された場合であって、図８（ｃ）に示すように鍵変位ｘが、Ｃよりも浅い位置で離鍵されたものである。しかし、鍵１１の変位が浅くても押鍵速度が速いので、仮想ハンマは十分に加速され、弦の位置Ｓに到達する。よって、鍵変位ｘがＣからＤの範囲で鍵１１の速度を検出する従来の方法では、楽音が発生されなことになるが、本発明によれば、このような場合にも、楽音を発生するようにすることができる。
【０１０１】
図８（ｅ）、（ｆ）は、押鍵の途中から更に深く押鍵した場合を示す。図８（ｅ）に示すように、押鍵途中で一度鍵１１の変位の変化が小さくなり、更にＧで示すように、押下された場合である。この場合、仮想ハンマは加速され、弦に到達するが、初速度が小さいため強度は小さいものとなる。この初速度は、上述した通り、ハンマ変位ｈがｈ＿ｍａｘを超えた時のハンマ速度であり、図８（ｆ）においてＨで示すように、仮想ハンマの変位の傾きが小さいものとなり、実際のハンマに近似した特性を得ることができる。
【０１０２】
このように、本発明によれば、鍵１１の動作に基づく仮想ハンマの動作を実際のアコースティックピアノのハンマの動作に模擬したので、アコースティックピアノにおいて演奏された楽音に近似した楽音を発生することができる。
【０１０３】
なお、第１実施形態では、図６に示すハンマ状態取得処理の前回の処理において仮想ハンマが鍵に接触しているか否かを判定して、自由運動フラグを設定し、今回の処理において、その設定された自由運動フラグに応じた処理を図５に示すハンマ暫定状態取得処理により行って、仮想ハンマの暫定速度および暫定位置を取得するものとしたが、仮想ハンマの速度は、常に重力の影響を受けるので、単に仮想ハンマの暫定速度から重力加速度を減じたものを今回の速度とすることもできる。その方法による第２実施形態における処理を図９に示すフローチャートを参照して説明する。図９は、第１実施形態における図５に示す処理を置き換えたものであって、他の構成および処理については、第１実施形態た同一であり、その説明を省略する。なお、この第２実施形態では、自由運動フラグは、不要であるので、図６に示す処理から自由運動フラグに関する処理を省くことが望ましい。
【０１０４】
図９に示す処理では、まず、ハンマの暫定速度を前回のハンマ速度から重力加速度を引いた値とする（Ｓ７１）。この前回のハンマ速度は、ＲＡＭ４のワークエリア４ｃに記憶されたハンマ速度であり、前回の処理において取得された値である。次に、ＲＡＭ４のワークエリア４ｃに記憶されたハンマ変位に、そのハンマ暫定速度を加算しハンマ暫定変位を取得し（Ｓ７２）、メイン処理に戻る。
【０１０５】
第２実施形態では、仮想ハンマが鍵に接触しているか否かに拘わらず、仮想ハンマの暫定速度は、重力の影響を受けるとして前回の仮想ハンマの速度から重力加速度を減じたものとし、仮想ハンマの変位を前回の変位にその暫定速度を加算したものとするので、第１実施形態より処理が少なくなり、速く処理することができる。
【０１０６】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０１０７】
例えば、上記実施形態では、静止ハンマ曲線は、数式３によって表され、この数式３は、制御プログラム３ａ中に記載されているものとしたが、例えば、ＲＯＭ３にテーブルとして記憶し、制御プログラム３ａによって参照されるものとしてもよい。
【０１０８】
また、同様に、ハンマ速度を取得する場合は、静止ハンマ曲線を表す数式３を微分した数式４を用いるものとしたが、静止ハンマ曲線を微分したテーブルを記憶し、そのテーブルを参照することによりハンマ速度を取得するようにしてもよい。この場合、アコースティックピアノにおいて、鍵変位ｘに対するハンマ変位ｈを測定し、静止ハンマ曲線を形成することができる。
【０１０９】
また、上記実施形態では、仮想ハンマが鍵の駆動から離脱して運動を行っている場合は、その速度が重力による作用を受けるものとしたが、これは、グランドピアノのハンマのように復元力として重力が作用される場合を模擬するものであり、アップライトピアノのように、バネ等による作用を受けるものとしてもよい。
【０１１０】
また、上記実施形態では、鍵１１の変位ｘは、受光素子７ｂと発光素子７ａとにより検出されるものとしたが、鍵１１の下部に設けられた磁石と、その磁石に対向して鍵盤のシャーシに設けられたホール素子とにより形成されるセンサにより連続して変化する電圧値に変換されるものや、受光素子７ｂと発光素子７ａと鍵１１の変位に応じて受光素子が受光する光量が変化する遮光板を備え、鍵１１の変位に応じて受光素子が出力する電気信号が変化するものや、鍵１１の変位に応じて静電容量が変化するものとしてもよい。
【０１１１】
また、上記実施形態では、鍵１１の連続する変位を検出し、その変位の変化から鍵１１の速度を取得するものとしたが、鍵１１の速度を検出するセンサを設けて鍵１１の変位とは独立して鍵１１の速度を取得するようにしてもよい。
【０１１２】
また、上記実施形態では、ベロシティ値をＲＯＭ３に記憶されたベロシティカーブ３ｂを参照し、仮想ハンマの初速度に対応する値とするものとしたが、初速度から演算により求めるようにしてもよい。例えば、ベロシティ値が初速度の一次関数であるとし、ベロシティ値の最大値（１２７）が、初速度の最大値に対応し、ベロシティの最小値（例えば２）を、初速度の最小値ｖに対応させるようにしてもよい。
＜その他＞
＜手段＞
技術的思想１の鍵盤装置は、鍵の連続する変位である鍵変位を取得する鍵変位取得手段と、前記鍵の速度である鍵速度を取得する鍵速度取得手段と、前記鍵により駆動され前記鍵との接触から離脱して運動する仮想的なハンマである仮想ハンマが前記鍵に接触しているかを判定する接触判定手段と、その接触判定手段により前記鍵が前記仮想ハンマに接触していると判定された場合は、前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて前記仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを取得するハンマ状態取得手段と、そのハンマ状態取得手段により取得されたハンマ変位とハンマ速度とに基づいて楽音の発生を指示する指示手段とを備えていることを特徴とする鍵盤装置。
技術的思想２の鍵盤装置は、技術的思想１の鍵盤装置において、前記ハンマ速度を仮想ハンマに作用する復元力に基づいて更新するハンマ速度更新手段を備え、前記接触判定手段は、仮想ハンマが鍵に接触しているか否かを判定するものであり、前記ハンマ状態取得手段は、前記接触判定手段により仮想ハンマが鍵に接触していないと判定された場合は、前記ハンマ速度更新手段によりハンマ速度を取得するものである。
技術的思想３の鍵盤装置は、技術的思想１または２の鍵盤装置において、前記鍵変位取得手段および鍵速度取得手段は、所定時間毎に鍵変位と鍵速度とを取得し、前記ハンマ状態取得手段は、前記所定時間毎にハンマ変位とハンマ速度とを取得するものであり、前記ハンマ状態取得手段により取得された前回のハンマ変位とハンマ速度とに基づいて、今回の仮想ハンマの暫定位置であるハンマ暫定変位を取得するハンマ暫定状態取得手段を備え、前記接触判定手段は、そのハンマ暫定状態取得手段により取得されたハンマ暫定変位と前記鍵変位取得手段により取得された鍵変位とに基づいて仮想ハンマが鍵に接触しているか否かを判定するものである。
技術的思想４の鍵盤装置は、技術的思想１または２の鍵盤装置において、前記鍵変位取得手段および鍵速度取得手段は、所定時間毎に鍵変位と鍵速度とを取得し、前記ハンマ状態取得手段は、前記所定時間毎にハンマ変位とハンマ速度とを取得し、前記接触判定手段は、前記所定時間毎に仮想ハンマが鍵に接触しているか否かを判定するものであり、前記ハンマ状態取得手段により取得された前回のハンマ変位とハンマ速度と前記接触判定手段により判定された結果とに基づいて仮想ハンマの暫定位置であるハンマ暫定変位を取得するハンマ暫定状態取得手段を備え、前記接触判定手段は、そのハンマ暫定状態取得手段により取得されたハンマ暫定変位と前記鍵変位取得手段により取得された鍵変位とに基づいて今回、仮想ハンマが鍵に接触しているか否かを判定するものである。
技術的思想５の鍵盤装置は、技術的思想１から４のいずれかの鍵盤装置において、前記仮想ハンマが鍵に接触している状態における鍵変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段を備え、前記ハンマ状態取得手段は、前記ハンマ変位とハンマ速度とを前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて、前記関数記憶手段に記憶された関数を用いることにより取得する。
技術的思想６の鍵盤装置は、鍵の連続する変位である鍵変位を取得する鍵変位取得手段と、前記鍵の速度である鍵速度を取得する鍵速度取得手段と、前記鍵により駆動され前記鍵との接触から離脱して運動する仮想的なハンマである仮想ハンマが鍵に接触している状態における鍵の変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段と、前記仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを前記鍵変位取得手段により取得された鍵変位と前記鍵速度取得手段により取得された鍵速度とに基づいて、前記関数記憶手段に記憶された関数を用いることにより取得するハンマ状態取得手段と、そのハンマ状態取得手段により取得されたハンマ変位とハンマ速度とに基づいて楽音の発生の開始を指示する指示手段とを備えている。
技術的思想７の鍵盤装置は、技術的思想５または６の鍵盤装置において、前記関数記憶手段に記憶される関数は、鍵が停止している位置から所定の位置までは一次関数であり、その所定の位置以上の鍵の位置においては、その鍵の所定の位置において前記一次関数により形成される直線に接するとともに、上に凸の放物線を描く二次関数である。
技術的思想８の鍵盤装置は、技術的思想１から７のいずれかの鍵盤装置において、前記ハンマ状態取得手段により取得されたハンマ変位が前記鍵に接触しない所定位置に至ったときの前記ハンマ状態取得手段により取得されたハンマ速度である初速度が所定値以上であるかを判定する初速度判定手段を備え、前記指示手段は、前記仮想ハンマの初速度が所定値以上であると判定された場合に、楽音の発生の開始を指示するものである。
＜効果＞
技術的思想１の鍵盤装置によれば、鍵の連続する変位である鍵変位が鍵変位取得手段により取得され、鍵の速度である鍵速度が鍵速度取得手段により取得される。その鍵により駆動される仮想ハンマを想定し、その仮想ハンマは、実際のハンマのように、鍵により駆動されることにより、鍵との接触から離脱して運動を行う。その仮想ハンマが鍵に接触して、鍵により駆動されている状態であるかが接触判定手段により判定される。そして、その接触判定手段により鍵が仮想ハンマに接触していると判定された場合は、仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とを鍵変位取得手段により取得された鍵変位と鍵速度取得手段により取得された鍵速度とに基づいてハンマ状態取得手段により取得される。よって、アコースティックピアノにおけるハンマの動作を忠実に模擬することができる。そして、その取得されたハンマ変位とハンマ速度とに基づいて指示手段により楽音の発生指示が行われるので、アコースティックピアノのようなハンマを備えた鍵盤おける操作に対応した楽音の発生を行うことができるという効果がある。
技術的思想２の鍵盤装置によれば、技術的思想１の鍵盤装置の奏する効果に加え、次のような効果を奏する。技術的思想２の鍵盤装置によれば、ハンマ速度を仮想ハンマに作用する復元力に基づいて更新するハンマ速度更新手段を備えている。この復元力は、グランドピアノの場合は、重力であり、アップライトピアノであれば、バネなどであって、仮想ハンマに作用して仮想ハンマが弦に向かって運動する速度を減少させる力である。
ハンマ状態取得手段は、接触判定手段により仮想ハンマが鍵に接触していないと判定された場合は、ハンマ速度更新手段によりハンマ速度を取得するものであるので、アコースティックピアノなどにおけるハンマが鍵による駆動から離脱して運動を行っている状態を忠実に模擬することができるという効果がある。
技術的思想３の鍵盤装置によれば、技術的思想１または２の鍵盤装置の奏する効果に加え、次のような効果を奏する。即ち、鍵変位取得手段および鍵速度取得手段は、所定時間毎に鍵変位と鍵速度とをそれぞれ取得し、ハンマ状態取得手段は、所定時間毎にハンマ変位とハンマ速度とを取得する。ハンマ状態取得手段により取得された前回のハンマ変位とハンマ速度とに基づいて、今回の仮想ハンマの暫定位置であるハンマ暫定変位がハンマ暫定状態取得手段により取得され、接触判定手段は、そのハンマ暫定状態取得手段により取得されたハンマ暫定変位と鍵変位取得手段により取得された鍵変位とに基づいて仮想ハンマが鍵に接触しているか否かを判定する。アコースティックピアノにおいて鍵が押下される場合、ハンマは鍵により加速され、そのハンマの速度が速い場合は、鍵との接触を離脱して打弦する。技術的思想３によれば、仮想ハンマが鍵の駆動から離脱する様子を、鍵の変位および速度を所定時間間隔で離散的に検出することにより、コンピュータなどを用いて容易に模擬することができるという効果がある。
技術的思想４の鍵盤装置によれば、技術的思想１または２の鍵盤装置の奏する効果に加え、次のような効果を奏する。即ち、鍵変位と鍵速度とは、鍵変位取得手段および鍵速度取得手段により所定時間毎にそれぞれ取得され、接触判定手段により、所定時間毎に仮想ハンマが鍵に接触しているか否かが判定される。ハンマ状態取得手段により取得された前回のハンマ変位とハンマ速度と接触判定手段により判定された結果とに基づいて仮想ハンマの暫定位置であるハンマ暫定変位がハンマ暫定状態取得手段により取得され、接触判定手段により、仮想ハンマが鍵に接触しているか否かが、そのハンマ暫定状態取得手段により取得されたハンマ暫定変位と鍵変位取得手段により取得された鍵変位とに基づいて判定される。アコースティックピアノにおいて鍵が押下される場合、ハンマは鍵により加速され、そのハンマの速度が速い場合は、鍵との接触を離脱して打弦する。技術的思想４によれば、仮想ハンマが鍵の駆動から離脱する様子を、鍵の変位および速度を所定時間間隔で離散的に検出することにより、コンピュータなどを用いて容易に模擬することができるという効果がある。
技術的思想５の鍵盤装置によれば、技術的思想１から４のいずれかの鍵盤装置の奏する効果に加え、仮想ハンマが鍵に接触している状態における鍵変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数を記憶する関数記憶手段を備え、ハンマ状態取得手段は、ハンマ変位とハンマ速度とを鍵変位取得手段により取得された鍵変位と鍵速度取得手段により取得された鍵速度とに基づいて、関数記憶手段に記憶された関数を用いることにより取得するので、関数記憶手段に記憶された関数に基づいて、仮想ハンマが鍵により駆動されているか、鍵による駆動から離脱して運動しているかを判定することができるとともに、仮想ハンマが鍵に接触している場合には、鍵の変位を鍵の速度を容易に求めることができるという効果がある。
技術的思想６の鍵盤装置によれば、鍵の連続する変位である鍵変位が鍵変位取得手段により取得され、鍵の速度である鍵速度が鍵速度取得手段により取得される。その鍵により駆動される仮想ハンマを想定し、その仮想ハンマは、鍵に駆動されることにより加速され、鍵との接触から離脱して運動を行う。その仮想ハンマが鍵に接触している状態における鍵の変位に対する仮想ハンマの位置である静止ハンマ位置を示す関数が関数記憶手段に記憶され、仮想ハンマの変位であるハンマ変位と仮想ハンマの速度であるハンマ速度とが鍵変位取得手段により取得された鍵変位と鍵速度取得手段により取得された鍵速度とに基づいて、関数記憶手段に記憶された関数を用いることによりハンマ状態取得手段により取得される。よって仮想ハンマが鍵により駆動されているか、鍵の駆動から離脱して運動を行っているかを判定することができるとともに、仮想ハンマが鍵に接触している場合には、ハンマの変位と速度とを容易に求めることができるという効果がある。また、この関数をアコースティックピアノのアクションの特性に近似させることにより、アコースティックピアノのハンマの動作に近似した仮想ハンマの動作を取得することができ、その結果、アコースティックピアノにより発生される楽音を模擬することができる。
技術的思想７の鍵盤装置によれば、技術的思想５または６の鍵盤装置の奏する効果に加え、関数記憶手段に記憶される関数は、鍵が停止している位置から所定の位置までは一次関数であり、その所定の位置以上の鍵の位置においては、その鍵の所定の位置において、その一次関数により形成される直線に接するとともに、上に凸の放物線を描く二次関数であるので、簡単な数式により静止ハンマ位置を示す関数を記憶することができる。また、鍵速度からハンマ速度を求める場合に、静止ハンマ位置を示す関数を微分した関数が必要であるが、二次関数を微分した一次関数も簡単な数式であるので、鍵速度からハンマ速度を演算により容易に求めることができるという効果がある。
技術的思想８の鍵盤装置によれば、技術的思想１から７のいずれかの鍵盤装置の奏する効果に加え、ハンマ状態取得手段により取得されたハンマ変位が鍵に接触しない所定位置に至ったときのハンマ状態取得手段により取得されたハンマ速度である初速度が所定値以上であるかを判定する初速度判定手段を備え、指示手段は、仮想ハンマの初速度が所定値以上であると判定された場合に、楽音の発生の開始を指示するので、仮想ハンマの変位が弦の位置に到達する前に、楽音の発生の開始を指示することができるので、音源から楽音が発生されるタイミングを遅延させることがないという効果がある。
【図面の簡単な説明】
【０１１３】
【図１】本発明による実施形態における鍵盤装置の電気的構成を示すブロック図である。
【図２】鍵とセンサとを示す側面図である。
【図３】静止ハンマ曲線を示すグラフである。
【図４】メイン処理を示すフローチャートである。
【図５】ハンマ暫定状態取得処理を示すフローチャートである。
【図６】ハンマ状態取得処理を示すフローチャートである。
【図７】押鍵離鍵判定処理を示すフローチャートである。
【図８】鍵変位の変化に対応するハンマ変位の変化を示すグラフであり（ａ）、（ｂ）は、通常の押鍵が行われた場合、（ｃ）、（ｄ）は、浅い押鍵が行われた場合、（ｅ）、（ｆ）は、途中位置から押下された場合をそれぞれ示す。
【図９】第２実施形態におけるハンマ暫定状態取得処理を示すフローチャートである。
【図１０】従来技術におけるハンマ駆動機構を示す図である。
【符号の説明】
【０１１４】
１                          鍵盤装置
２                          ＣＰＵ
３                          ＲＯＭ
４                          ＲＡＭ
７                          センサ
２０                        音源
Ｓ２                        鍵変位取得手段
Ｓ３                        鍵速度取得手段
Ｓ５                        ハンマ暫定状態取得手段
Ｓ９                        ハンマ状態取得手段
Ｓ３２                      接触判定手段
Ｓ５５                      指示手段
【図１】
0005179224.tif 000008
【図２】
0005179224.tif 000009
【図３】
0005179224.tif 000010
【図４】
0005179224.tif 000011
【図５】
0005179224.tif 000012
【図６】
0005179224.tif 000013
【図７】
0005179224.tif 000014
【図８】
0005179224.tif 000015
【図９】
0005179224.tif 000016
【図１０】
0005179224.tif 000017