(57)【要約】【課題】加速度の変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる鍵盤装置を提供すること。【解決手段】電子鍵盤楽器１は、押鍵により算出された生加速度を用いて、Ｍｉｎ値メモリ４ａの下限値やＭａｘ値メモリ４ｂの上限値を更新する。そして、Ｍｉｎ値メモリ４ａの下限値およびＭａｘ値メモリ４ｂの上限値を用いて、算出した生加速度を正規化して加速度を求め、その加速度に応じて、楽音を出力する。即ち、算出される生加速度の変動範囲が変化したとしても、その変化した生加速度の変動範囲に対応して補正した（正規化した）加速度を求めることができる。よって、鍵盤６の経年変化や鍵盤６の押鍵者が変わること等により、押鍵により算出された生加速度の変動範囲が変化したとしても、その変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる。【選択図】図６
2010224127.tif 000002
【特許請求の範囲】
【請求項１】
複数の鍵を有する鍵盤と、
その鍵盤の各鍵が押鍵された場合に、その押鍵による加速度を算出する算出手段と、
その算出手段により算出された加速度から求まる補正値を記憶する記憶手段と、
その記憶手段に記憶された補正値を使用して、前記算出手段により算出された加速度を補正する補正手段と、
その補正手段により補正された加速度に応じた楽音情報を出力する出力手段と、
前記算出手段により算出された加速度から求まる補正値に基づいて前記記憶手段に記憶された補正値を更新する更新手段とを備えていることを特徴とする鍵盤装置。
【請求項２】
前記更新手段は、
前記算出手段により加速度が算出された場合に、前記加速度の変化の傾向を反映した補正値である傾向補正値を算出する傾向補正値算出手段と、
その傾向補正値算出手段により算出された傾向補正値と、前記記憶手段に記憶された補正値との変化量が、予め定められた第１変化量以上となった場合に、前記傾向補正値算出手段により算出された傾向補正値に基づいて、前記記憶手段に記憶された補正値を更新する変化更新手段とを備えていることを特徴とする請求項１記載の鍵盤装置。
【請求項３】
前記記憶手段は、前記算出手段により算出された加速度の上限値およびその加速度の下限値を前記補正値として記憶するものであり、
前記補正手段は、前記記憶手段に記憶された前記上限値および下限値を使用して、前記算出手段により算出された加速度を、所定の範囲内の値に正規化する正規化手段を備えていることを特徴とする請求項１または２に記載の鍵盤装置。
【請求項４】
前記鍵盤装置の電源オフ後も内容を記憶するオフ記憶手段と、
前記記憶手段に記憶された補正値を前記オフ記憶手段に記憶させるオフ記憶制御手段と、
前記鍵盤装置の電源がオンされた場合に前記オフ記憶手段に記憶された内容を前記記憶手段に記憶させる記憶制御手段とを備えていることを特徴とする請求項１から３のいずれかに記載の鍵盤装置。
【請求項５】
前記オフ記憶制御手段は、
前記記憶手段に記憶された補正値と、前記オフ記憶手段に記憶されている補正値との変化量が、予め定められた所定変化量となった場合に、前記記憶手段に記憶された補正値を前記オフ記憶手段へ記憶させる補正値記憶制御手段を備えていることを特徴とする請求項１から４のいずれかに記載の鍵盤装置。
【請求項６】
前記鍵が押鍵された場合に、その押鍵に費やされた時間を計時する計時手段と、
その計時手段により計時された時間が予め定められた範囲内であるかを判定する計時判定手段とを備え、
前記更新手段は、前記計時手段により計時された時間が予め定められた範囲外であると前記計時判定手段により判定された場合には、前記記憶手段に記憶された補正値の更新を禁止する禁止手段を備えていることを特徴とする請求項１から５のいずれかに記載の鍵盤装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は鍵盤装置に関し、特に、加速度の変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる鍵盤装置に関するものである。
【背景技術】
【０００２】
鍵が押鍵された場合に、その鍵の加速度を求め、その加速度に応じた楽音を出力する鍵盤装置に関しては、例えば、特開昭５７−１０４９９４号公報に記載の鍵盤装置が知られている。この鍵盤装置では、各鍵に対応して少なくとも３個の接点を配設し、各接点のオン動作の時間間隔から加速度を算出して、算出した加速度に応じた楽音を出力している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭５７−１０４９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、鍵を押鍵して楽音を出力する鍵盤装置では、鍵の取り付け精度や鍵の経年変化の影響により、各接点間の距離にバラツキが発生することが知られている。しかし、上述の鍵盤装置では、各接点のオン動作の時間間隔から算出された加速度をそのまま利用して、楽音を出力している。よって、上述の鍵盤装置では、各接点間の距離のばらつきの影響により、算出される加速度の変動範囲が、製造時に想定した加速度の変動範囲から逸脱しても、その逸脱した加速度の変動範囲に何ら対応することができない。また、押鍵の力が異なる押鍵者の違いにより、算出される加速度の変動範囲に変化が発生しても、算出された加速度をそのまま利用しているので、その変動範囲の変化に何ら対応することができない。従って、上述の鍵盤装置では、鍵の経年変化や押鍵者の違い等により発生する加速度の変動範囲の変化に応じて、算出された加速度を補正した上で、楽音情報を出力することができないという問題点があった。
【０００５】
本発明は、上述した問題点を解決するためになされたものであり、加速度の変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる鍵盤装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
この目的を達成するために請求項１記載の鍵盤装置は、複数の鍵を有する鍵盤と、その鍵盤の各鍵が押鍵された場合に、その押鍵による加速度を算出する算出手段と、その算出手段により算出された加速度から求まる補正値を記憶する記憶手段と、その記憶手段に記憶された補正値を使用して、前記算出手段により算出された加速度を補正する補正手段と、その補正手段により補正された加速度に応じた楽音情報を出力する出力手段と、前記算出手段により算出された加速度から求まる補正値に基づいて前記記憶手段に記憶された補正値を更新する更新手段とを備えている。なお、算出手段により算出された加速度から求まる補正値は、算出手段により算出された加速度のそのものであっても良いし、算出手段により算出された加速度を予め定められた算出式に代入して、その算出式から求まった値であっても良い。
【０００７】
請求項２記載の鍵盤装置は、請求項１記載の鍵盤装置において、前記更新手段は、前記算出手段により加速度が算出された場合に、前記加速度の変化の傾向を反映した補正値である傾向補正値を算出する傾向補正値算出手段と、その傾向補正値算出手段により算出された傾向補正値と、前記記憶手段に記憶された補正値との変化量が、予め定められた第１変化量以上となった場合に、前記傾向補正値算出手段により算出された傾向補正値に基づいて、前記記憶手段に記憶された補正値を更新する変化更新手段とを備えている。なお、第１変化量は、予め定められた範囲の値でも良いし、予め定められた１の値でも良い。
【０００８】
請求項３記載の鍵盤装置は、請求項１または２記載の鍵盤装置において、前記記憶手段は、前記算出手段により算出された加速度の上限値およびその加速度の下限値を前記補正値として記憶するものであり、前記補正手段は、前記記憶手段に記憶された前記上限値および下限値を使用して、前記算出手段により算出された加速度を、所定の範囲内の値に正規化する正規化手段を備えている。
【０００９】
請求項４記載の鍵盤装置は、請求項１から３のいずれかに記載の鍵盤装置において、前記鍵盤装置の電源オフ後も内容を記憶するオフ記憶手段と、前記記憶手段に記憶された補正値を前記オフ記憶手段に記憶させるオフ記憶制御手段と、前記鍵盤装置の電源がオンされた場合に前記オフ記憶手段に記憶された内容を前記記憶手段に記憶させる記憶制御手段とを備えている。
【００１０】
請求項５記載の鍵盤装置は、請求項１から４のいずれかに記載の鍵盤装置において、前記オフ記憶制御手段は、前記記憶手段に記憶された補正値と、前記オフ記憶手段に記憶されている補正値との変化量が、予め定められた所定変化量となった場合に、前記記憶手段に記憶された補正値を前記オフ記憶手段へ記憶させる補正値記憶制御手段を備えている。なお、所定変化量は、予め定められた範囲の値でも良いし、予め定められた１の値でも良い。
【００１１】
請求項６記載の鍵盤装置は、請求項１から５のいずれかに記載の鍵盤装置において、前記鍵が押鍵された場合に、その押鍵に費やされた時間を計時する計時手段と、その計時手段により計時された時間が予め定められた範囲内であるかを判定する計時判定手段とを備え、前記更新手段は、前記計時手段により計時された時間が予め定められた範囲外であると前記計時判定手段により判定された場合には、前記記憶手段に記憶された補正値の更新を禁止する禁止手段を備えている。
【発明の効果】
【００１２】
請求項１記載の鍵盤装置によれば、算出手段により加速度が算出されると、補正手段は、記憶手段に記憶された補正値を使用して、算出された加速度を補正する。そして、出力手段は、補正手段により補正された加速度に応じた楽音情報を出力する。ここで、記憶手段に記憶された補正値は、更新手段により、算出手段により算出された加速度から求まる補正値に基づいて更新される。よって、算出される加速度の変動範囲が変化したとしても、その変化した加速度の変動範囲に対応して、算出手段により算出された加速度を補正することができる。従って、鍵盤の経年変化や鍵盤の押鍵者が変わること等により、算出される加速度の変動範囲が変化したとしても、その変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができるという効果がある。
【００１３】
請求項２記載の鍵盤装置によれば、請求項１記載の鍵盤装置の奏する効果に加え、変化更新手段は、傾向補正値算出手段により算出された傾向補正値と、記憶手段に記憶された補正値との変化量が、第１変化量以上となった場合に、算出された傾向補正値に基づいて、記憶手段に記憶された補正値を更新する。よって、鍵盤の経年変化や鍵盤の押鍵者が変わることにより、傾向補正値算出手段により算出される傾向補正値が大きく変化した場合には、その傾向補正値に基づいて確実に記憶手段に記憶された補正値を更新することで、鍵盤の経年変化や鍵盤の押鍵者の変化を反映させることができる一方で、傾向補正値算出手段により算出される傾向補正値の変化が僅かに留まる場合には（例えば、鍵盤の経年変化が僅かである場合や鍵盤の押鍵者の変化がない場合には）、記憶手段に記憶された補正値が頻繁に更新されることを防止することができるという効果がある。
【００１４】
請求項３記載の鍵盤装置によれば、請求項１または２に記載の鍵盤装置の奏する効果に加え、正規化手段は、記憶手段に記憶された上限値および下限値を使用して、算出手段により算出された加速度を、所定の範囲内の値に正規化する。よって、算出手段により算出される加速度の変動範囲に拘らず、算出された加速度を所定の範囲内の値へ確実に正規化することができる。従って、算出される加速度の変動範囲に拘らず、その変動範囲に応じた楽音情報を出力手段から出力することができるという効果がある。
【００１５】
請求項４記載の鍵盤装置によれば、請求項１から３のいずれかに記載の鍵盤装置の奏する効果に加え、オフ記憶制御手段は、記憶手段に記憶された補正値を、鍵盤装置の電源オフ後も内容を記憶するオフ記憶手段に記憶させ、記憶制御手段は、鍵盤装置の電源がオンされた場合に、オフ記憶手段に記憶された内容を記憶手段に記憶させる。よって、鍵盤装置の電源がオフされる以前に記憶手段に記憶されていた補正値を、鍵盤装置の電源がオンされた場合に再び使用することができるという効果がある。
【００１６】
請求項５記載の鍵盤装置によれば、請求項１から４のいずれかに記載の鍵盤装置の奏する効果に加え、補正値記憶制御手段は、記憶手段に記憶された補正値と、オフ記憶手段に記憶されている補正値との変化量が、予め定められた所定変化量となった場合に、記憶手段に記憶された補正値をオフ記憶手段へ記憶させる。よって、鍵盤の経年変化や鍵盤の押鍵者が変わることにより、記憶手段に記憶された補正値が大きく変化した場合には、その補正値を確実にオフ記憶手段に記憶させることで、鍵盤の経年変化や鍵盤の押鍵者の変化を反映させることができる一方で、記憶手段に記憶された補正値の変化が僅かに留まる場合には（例えば、鍵盤の経年変化が僅かである場合や鍵盤の押鍵者の変化がない場合には）、オフ記憶手段に記憶された補正値が頻繁に更新されることを防止することができるという効果がある。
【００１７】
請求項６記載の鍵盤装置によれば、請求項１から５のいずれかに記載の鍵盤装置の奏する効果に加え、計時手段により計時された時間が予め定められた範囲外であると計時判定手段により判定された場合には、禁止手段は、記憶手段に記憶された補正値の更新を禁止する。よって、著しく低速あるいは著しく高速で鍵を押鍵することで、押鍵者が、記憶手段に記憶された補正値を意図的に変化させようとした場合でも、その意図的な押鍵により算出された加速度が補正値の更新に用いられることを禁止して、その加速度により求まる補正値が記憶手段に記憶されてしまうことを防止することができるという効果がある。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態である電子鍵盤楽器の電気的構成を示したブロック図である。
【図２】シャシに組み付けられた状態の白鍵を長手方向に切断した側面断面図である。
【図３】メイン処理のフローチャートを示した図である。
【図４】初期化処理を示したフローチャートである。
【図５】キャリブレーションデータ読み出し処理を示したフローチャートである。
【図６】押鍵処理を示したフローチャートである。
【図７】常時キャリブレーション処理を示したフローチャートである。
【図８】タイマ処理を示したフローチャートである。
【図９】キャリブレーションデータ書き込み処理を示したフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の一実施形態である電子鍵盤楽器１の電気的構成を示したブロック図である。なお、電子鍵盤楽器とは、電子ピアノ、電子オルガン、シンセサイザー等が例示される。
【００２０】
電子鍵盤楽器１は、ＣＰＵ２と、ＲＯＭ３と、ＲＡＭ４と、フラッシュメモリ５と、鍵盤６と、操作パネル７と、ペダル８と、音源９とを有し、これらは、バスライン１３を介して互いに接続されている。更に、電子鍵盤楽器１は、Ｄ／Ａ変換器１０と、アンプ１１と、スピーカ１２とを有している。音源９は、Ｄ／Ａ変換器１０の入力に接続され、Ｄ／Ａ変換器１０の出力は、アンプ１１の入力に接続されている。アンプ１１の出力は、スピーカ１２に接続されている。
【００２１】
ＣＰＵ２は、演算処理装置であり、ＲＯＭ３は、ＣＰＵ２により実行される各種の制御プログラムやその実行の際に参照される固定値データを記憶するメモリである。制御プログラムとしては、図３から図９に示すフローチャートを実現するプログラムが該当する。
【００２２】
ＲＡＭ４は、ＲＯＭ３に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するための書き換え可能なメモリである。このＲＡＭ４には、Ｍｉｎ値メモリ４ａと、Ｍａｘ値メモリ４ｂと、ＭｉｎＡ値メモリ４ｃと、ＭａｘＡ値メモリ４ｄと、ＰｒｅｖＭｉｎ値メモリ４ｅと、ＰｒｅｖＭａｘ値メモリ４ｆとが設けられている。
【００２３】
Ｍｉｎ値メモリ４ａは、鍵盤６の各鍵が押鍵された場合に、その押鍵された鍵の純粋な速度の変化（以後、「加速度」と称す）を示す生加速度を用いて求まる算出値の下限の値（以後、単に、「下限値」と称す）を記憶するメモリである。なお、下限値とは、後述する図７に示すフローチャートのＳ６６でＭｉｎ値メモリ４ａに代入される値と、Ｓ９２でＭｉｎ値メモリ４ａに代入される値とを示している。
【００２４】
Ｍａｘ値メモリ４ｂは、鍵盤６の各鍵が押鍵された場合に、生加速度を用いて求まる算出値の上限の値（以後、単に、「上限値」と称す）を記憶するメモリである。なお、上限値とは、後述する図７に示すフローチャートのＳ７２でＭａｘ値メモリ４ｂに代入される値と、Ｓ１００でＭａｘ値メモリ４ｂに代入される値とを示している。
【００２５】
ＭｉｎＡ値メモリ４ｃは、電子鍵盤楽器１の電源オン中における生加速度の変化の傾向を反映させた下限値へ、Ｍｉｎ値メモリ４ａに記憶された下限値を変更するために、鍵盤６の各鍵が押鍵された場合に、生加速度を記憶するメモリである。ＭａｘＡ値メモリ４ｄは、電子鍵盤楽器１の電源オン中における生加速度の変化の傾向を反映させた上限値へ、Ｍａｘ値メモリ４ｂに記憶された上限値を変更するために、鍵盤６の各鍵が押鍵された場合に、生加速度を記憶するメモリである。
【００２６】
ＰｒｅｖＭｉｎ値メモリ４ｅは、フラッシュメモリ５に現在記憶されている下限値を記憶するメモリである。ＰｒｅｖＭａｘ値メモリ４ｆは、フラッシュメモリ５に現在記憶されている上限値を記憶するメモリである。
【００２７】
フラッシュメモリ５は、電子鍵盤楽器１の電源がオフされた場合でも、内容を継続して記憶する不揮発性のメモリである。フラッシュメモリ５には、フラッシュ用Ｍｉｎ値メモリ５ａおよびフラッシュ用Ｍａｘ値メモリ５ｂが設けられている。
【００２８】
フラッシュ用Ｍｉｎ値メモリ５ａは、Ｍｉｎ値メモリ４ａに記憶されている下限値を記憶するメモリであり、フラッシュ用Ｍａｘ値メモリ５ｂは、Ｍａｘ値メモリ４ｂに記憶されている上限値を記憶するメモリである。
【００２９】
なお、前述した各メモリ４ａ〜４ｆ，５ａ，５ｂは、鍵盤６に設けられた各鍵毎に対応して設けられている。
【００３０】
鍵盤６は、複数の白鍵および黒鍵を有している。押鍵者により押鍵が行われると、ＣＰＵ１１は、その押鍵に応じた生加速度を各鍵毎に算出し、算出した生加速度に応じた楽音の生成開始を指示する楽音情報を音源９へ出力する。また、押鍵者により離鍵が行われると、ＣＰＵ１１は、その離鍵に応じた速度を各鍵毎に算出し、楽音の生成停止を指示する楽音情報を音源９へ出力する。ここで、本実施形態の電子鍵盤楽器１では、押鍵者による離鍵が行われた場合には、公知の処理と同様の処理を行う。よって、以後の説明では、離鍵が行われた場合の処理については、その説明を省略する。なお、鍵盤６については、図２を参照して詳述する。
【００３１】
操作パネル７は、各種ボリュームやスイッチ等を有しており、各種モードや楽音のパラメータ等を、押鍵者により設定可能に構成されている。ペダル８は、鍵盤６の下方且つ押鍵者の足元に配置され、押鍵者が足で踏み込むことにより操作を行う装置である。
【００３２】
音源９は、鍵盤６の押鍵が行われた場合に、ＣＰＵ１１から出力された楽音情報に対応する音高および音色のデジタル楽音信号を生成する一方、鍵盤６の離鍵が行われた場合には、デジタル楽音信号の生成を停止する。音源９からデジタル楽音信号が出力されると、Ｄ／Ａ変換器１０により、デジタル楽音信号が、アナログ楽音信号へ変換される。Ｄ／Ａ変換器１０により変換されたアナログ楽音信号は、アンプ１０に入力され、増幅される。そして、増幅された楽音信号が楽音に変換され、スピーカ１２から放音される。
【００３３】
次に、図２を参照して、鍵盤６の詳細について説明する。図２は、シャシ１６に組み付けられた状態の白鍵１４を長手方向に切断した側面断面図である。鍵盤６は、複数の白鍵１４と図示しない複数の黒鍵とを備え、これらの鍵は、シャシ１６に組み付けられ、そのシャシ１６は、鍵盤６の図示しない筐体に固着される。
【００３４】
白鍵１４は、上面が平らであり、その上面がほぼ水平に維持されている。白鍵１４の後部には、白鍵１４が揺動可能なように軸受け１８が形成され、シャシ１６に固着されている軸１９に揺動自在に嵌合されている。白鍵１４は、押下されると停止位置（図２の状態）から押下位置までバネ２０の付勢力に対抗して揺動する。バネ２０は、引っ張りコイルバネで構成され、常態において白鍵１４の一端を下方に付勢し、白鍵１４を停止位置に保持するものである。
【００３５】
白鍵１４の後部には、バネ２０の一端を係止するバネ座２１が形成され、シャシ１６には、そのバネ座２１と対向する位置に、バネ２０の他端を係止するバネ座が形成されている。白鍵１４の長手方向のほぼ中央の下部には、突出部３０が設けられ、その突出部３０の対向する位置に、弾性ゴムから形成された押受部３７が、シャシ１６上に固定されたプリント基板２８に固着されている。
【００３６】
突出部３０の右方には、白鍵１４のストロークを規制するコの字型のストローク規制部２３が形成されている。このストローク規制部２３の上部には、ストロークの下限を規制する下限規制面２５が形成され、下部にはストロークの上限を規制する上限規制面２６が形成されている。
【００３７】
シャシ１６には、これらの規制面に当接する規制面当接部２４が形成されている。この規制面当接部２４の上面には、下限規制面２５に当接する位置にフェルト２７が貼付され、規制面当接部２４の下面には、上限規制面２６に当接する位置にフェルト２９が貼付されている。
【００３８】
ここで、突出部３０および押受部３７は、各鍵に対応してそれぞれ設けられている。押受部３７は、略コの字型に形成されているので、プリント基板２８と押受部３７との間に、空間を形成する。この空間には、押受部３７に固着された可動接点３１，３２，３３と、プリント基板２８に固着された固定接点３４，３５，３６とが設けられている。この固定接点３４〜３６は、可動接点３１〜３３に対応して設けられている。
【００３９】
可動接点３１，３２，３３は、白鍵１４の前部に向うに連れて（押鍵者側に向うに連れて）、固定接点３４，３５，３６との間隔が離れるように、押受部３７に固着されている。そして、可動接点３１〜３３と固定接点３４〜３６との先端には、それぞれ、導通材が固着され、その各導通材には、電子鍵盤楽器１の電源オン中、通電が行われている。
【００４０】
押鍵者により白鍵１４が押鍵され、突出部３０により押受部３７が押圧されると、まず、可動接点３１と固定接点３４とが接触し、導通する。その後、可動接点３２と固定接点３５とが接触し、通電する。最後に、可動接点３３と固定接点３６とが接触して、導通する。なお、以後、可動接点３１と固定接点３４とを一組にしたものを、Ｐ接点と称し、可動接点３２と固定接点３５とを一組にしたものを、Ｍ接点と称し、可動接点３３と固定接点３６とを一組にしたものを、Ｓ接点と称する。
【００４１】
ここで、ＣＰＵ１１は、Ｐ接点の導通が行われてから、Ｍ接点の導通が行われるまでの所要時間を計時し、その所要時間をＰＭ時間としてＲＡＭ４に記憶する。また、ＣＰＵ１１は、Ｍ接点の導通が行われてから、Ｓ接点の導通が行われるまでの所要時間を計時し、その所要時間をＭＳ時間としてＲＡＭ４に記憶する。このＰＭ時間とＭＳ時間は、白鍵１４の押鍵が行われる度に、ＣＰＵ１１によりＲＡＭ４に記憶される。このＰＭ時間とＭＳ時間とを用いて、ＣＰＵ１１は、押鍵による白鍵１４の生加速度を算出する。なお、本実施形態の鍵盤６においては、Ｐ，Ｍ，Ｓの３つの接点を使用したが、これに限らず、３つ以上の接点を用いても良い。
【００４２】
なお、黒鍵に関する構成は、前述した白鍵１４の構成と同様であり、生加速度の算出方法も、白鍵１４の生加速度の算出方法と同様であるので、黒鍵に関する詳細な説明は省略する。
【００４３】
次に、図３〜図９を参照して、電子鍵盤楽器１のＣＰＵ１１により実行される処理について説明する。まず、図３を参照して、電子鍵盤楽器１で実行されるメイン処理について説明する。図３は、メイン処理のフローチャートを示した図である。メイン処理は、電子鍵盤楽器１の電源がオンの間、鍵盤６に設けられた鍵毎に、繰り返し実行される処理である。メイン処理では、まず、ＣＰＵ１１は、初期化処理を実行する（Ｓ２）。
【００４４】
ここで、図４を参照して、初期化処理について説明する。図４は、初期化処理を示したフローチャートである。初期化処理では、まず、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａおよびＭａｘ値メモリ４ｂにゼロを代入する（Ｓ２２）。その後、ＣＰＵ１１は、ＭｉｎＡ値メモリ４ｃおよびＭａｘＡ値メモリ４ｄにゼロを代入する（Ｓ２４）。そして、ＣＰＵ１１は、ＰｒｅｖＭｉｎ値メモリ４ｅおよびＰｒｅｖＭａｘ値メモリ４ｆにゼロを代入する（Ｓ２６）。その後、ＣＰＵ１１は、初期化処理を終了する。この初期化処理により、メモリ４ａ〜４ｆの全てを、ゼロにすることができる。
【００４５】
図３の説明に戻る。ＣＰＵ１１は、初期化処理後、キャリブレーションデータ読み出し処理を実行する（Ｓ４）。ここで、図５を参照して、キャリブレーションデータ読み出し処理について説明する。図５は、キャリブレーションデータ読み出し処理を示したフローチャートである。
【００４６】
キャリブレーションデータ読み出し処理では、まず、ＣＰＵ１１は、フラッシュ用Ｍｉｎ値メモリ５ａに下限値が記憶されているかと共に、フラッシュ用Ｍａｘ値メモリ５ｂに上限値が記憶されているかを判定する（Ｓ３２）。
【００４７】
Ｓ３２の判定が肯定される場合（Ｓ３２：Ｙｅｓ）、ＣＰＵ１１は、フラッシュ用Ｍｉｎ値メモリ５ａに記憶された下限値を、Ｍｉｎ値メモリ４ａおよびＰｒｅｖＭｉｎ値メモリ４ｅに代入する（Ｓ３４）。その後、ＣＰＵ１１は、フラッシュ用Ｍａｘ値メモリ５ｂに記憶された上限値を、Ｍａｘ値メモリ４ｂおよびＰｒｅｖＭａｘ値メモリ４ｆに代入する（Ｓ３６）。そして、ＣＰＵ１１は、このキャリブレーションデータ読み出し処理を終了する。なお、Ｓ３２の判定が否定される場合も（Ｓ３２：Ｎｏ）、ＣＰＵ１１は、このキャリブレーションデータ読み出し処理を終了する。
【００４８】
このキャリブレーションデータ読み出し処理により、フラッシュメモリ５に上限値および下限値が記憶されている場合には、その上限値、および下限値を、それぞれ、Ｍｉｎ値メモリ４ａとＰｒｅｖＭｉｎ値メモリ４ｅ、およびＭａｘ値メモリ４ｂとＰｒｅｖＭａｘ値メモリ４ｆに記憶させることができる。
【００４９】
図３の説明に戻る。ＣＰＵ１１は、キャリブレーションデータ読み出し処理の実行後、押鍵が行われたか否かを判定する（Ｓ６）。Ｓ６の判定が肯定される場合（Ｓ６：Ｙｅｓ）、ＣＰＵ１１は、押鍵処理を実行する（Ｓ８）。一方、Ｓ６の判定が否定される場合（Ｓ６：Ｎｏ）、ＣＰＵ１１は、押鍵処理をスキップする。
【００５０】
ここで、図６を参照して、押鍵処理について説明する。図６は、押鍵処理を示したフローチャートである。押鍵処理では、まず、ＣＰＵ１１は、ＲＡＭ４からＰＭ時間およびＭＳ時間を取得し、ＰＭ時間をＭＳ時間で除算し（ＰＭ時間とＭＳ時間との比を求め）、その結果と、予め定められた係数とを乗算して、押鍵された鍵の純粋な加速度である生加速度を算出する（Ｓ４２）。ここで、Ｓ４２に用いられる係数は、生加速度を規定の範囲内に収めるための値である。
【００５１】
Ｓ４２の処理後、ＣＰＵ１１は、常時キャリブレーション処理を実行する（Ｓ４４）。ここで、図７を参照して、常時キャリブレーション処理について説明する。図７は、常時キャリブレーション処理を示したフローチャートである。
【００５２】
常時キャリブレーション処理では、まず、ＣＰＵ１１は、ＲＡＭ４に記憶されたＰＭ時間が所定時間（本実施形態では、１０ｍ秒）未満であるか否かを判定する（Ｓ６２）。Ｓ６２の判定が肯定される場合（Ｓ６２：Ｙｅｓ）、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａの値はゼロか否かを判定する（Ｓ６４）。
【００５３】
Ｓ６４の判定が肯定される場合（Ｓ６４：Ｙｅｓ）、Ｍｉｎ値メモリ４ａは初期状態であるので、Ｓ４２の処理（図６参照）で算出された生加速度を、Ｍｉｎ値メモリ４ａに代入する（Ｓ６６）。一方、Ｓ６４の判定が否定される場合（Ｓ６４：Ｎｏ）、ＣＰＵ１１は、Ｓ４２の処理（図６参照）で算出された生加速度がＭｉｎ値メモリ４ａの値よりも小さいかを判定する（Ｓ６８）。Ｓ６８の判定が肯定される場合（Ｓ６８：Ｙｅｓ）、Ｓ６６の処理を実行し、Ｍｉｎ値メモリ４ａに記憶された下限値を、算出された生加速度へ更新する。一方、Ｓ６８の判定が否定される場合（Ｓ６８：Ｎｏ）、ＣＰＵ１１は、Ｓ７０の処理へ移行する。
【００５４】
このＳ６４：Ｎｏ、Ｓ６８：ＹｅｓおよびＳ６６の処理により、Ｍｉｎ値メモリ４ａに記憶された下限値よりも小さい生加速度が算出された場合には、その生加速度を、Ｍｉｎ値メモリ４ａに記憶させることができる。
【００５５】
次に、ＣＰＵ１１は、Ｍａｘ値メモリ４ｂの値はゼロか否かを判定する（Ｓ７０）。Ｓ７０の判定が肯定される場合（Ｓ７０：Ｙｅｓ）、Ｍａｘ値メモリ４ｂは初期状態であるので、Ｓ４２の処理（図６参照）で算出された生加速度を、Ｍａｘ値メモリ４ｂに代入する（Ｓ７２）。一方、Ｓ７０の判定が否定される場合（Ｓ７０：Ｎｏ）、ＣＰＵ１１は、Ｓ４２の処理（図６参照）で算出された生加速度がＭａｘ値メモリ４ｂの値より大きいかを判定する（Ｓ７４）。Ｓ７４の判定が肯定される場合（Ｓ７４：Ｙｅｓ）、Ｓ７２の処理を実行し、Ｍａｘ値メモリ４ｂに記憶された上限値を、算出された生加速度へ更新する。一方、Ｓ７４の判定が否定される場合（Ｓ７４：Ｎｏ）、ＣＰＵ１１は、Ｓ７６の処理へ移行する。
【００５６】
このＳ７０：Ｎｏ、Ｓ７４：ＹｅｓおよびＳ７２の処理により、Ｍａｘ値メモリ４ｂに記憶された上限値よりも大きい生加速度が算出された場合には、その生加速度を、Ｍａｘ値メモリ４ｂに記憶させることができる。
【００５７】
その後、ＣＰＵ１１は、Ｓ７６以降の処理を実行する。ここで、Ｓ７６〜Ｓ１０２の処理は、Ｓ６２〜Ｓ７４の処理、即ち、押鍵の度に、必要があれば、Ｍｉｎ値メモリ４ａに記憶された下限値およびＭａｘ値メモリ４ｂに記憶された上限値を更新する処理とは異なり、電子鍵盤楽器１の電源オン中における生加速度の変化の傾向を反映させた下限値へ、Ｍｉｎ値メモリ４ａに記憶された下限値を変更すると共に、電子鍵盤楽器１の電源オン中における生加速度の変化の傾向を反映させた上限値へ、Ｍａｘ値メモリ４ｂに記憶された上限値を変更するための処理である。
【００５８】
まず、Ｓ７６では、ＣＰＵ１１は、ＭｉｎＡ値メモリ４ｃの値はゼロか否かを判定する（Ｓ７６）。Ｓ７６の判定が肯定される場合（Ｓ７６：Ｙｅｓ）、ＭｉｎＡ値メモリ４ｃは初期状態であるので、Ｓ４２の処理（図６参照）で算出された生加速度を、ＭｉｎＡ値メモリ４ｃに代入する（Ｓ６６）。一方、Ｓ７６の判定が否定される場合（Ｓ７６：Ｎｏ）、ＣＰＵ１１は、Ｓ４２の処理（図６参照）で算出された生加速度がＭｉｎＡ値メモリ４ｃの値よりも小さいか否かを判定する（Ｓ８０）。Ｓ８０の判定が肯定される場合（Ｓ８０：Ｙｅｓ）、Ｓ７８の処理を実行し、ＭｉｎＡ値メモリ４ｃに記憶された生加速度を、算出された生加速度へ更新し（Ｓ７８）、Ｓ８２へ移行する。一方、Ｓ８０の判定が否定される場合（Ｓ８０：Ｎｏ）、ＣＰＵ１１は、Ｓ７８をスキップして、Ｓ８２へ移行する。
【００５９】
次に、ＣＰＵ１１は、ＭａｘＡ値メモリ４ｄの値はゼロか否かを判定する（Ｓ８２）。Ｓ８２の判定が肯定される場合（Ｓ８２：Ｙｅｓ）、ＭａｘＡ値メモリ４ｄは初期状態であるので、Ｓ４２の処理（図６参照）で算出された生加速度を、ＭａｘＡ値メモリ４ｄに代入する（Ｓ８４）。一方、Ｓ８２の判定が否定される場合（Ｓ８２：Ｎｏ）、ＣＰＵ１１は、Ｓ４２の処理（図６参照）で算出された生加速度がＭａｘＡ値メモリ４ｄの値より大きいか否かを判定する（Ｓ８６）。Ｓ８６の判定が肯定される場合（Ｓ８６：Ｙｅｓ）、Ｓ８４の処理を実行し、ＭａｘＡ値メモリ４ｄに記憶された生加速度を、算出された生加速度へ更新する（Ｓ８４）。その後、ＣＰＵ１１は、Ｓ８８以降へ移行する。一方、Ｓ８６の判定が否定される場合（Ｓ８６：Ｎｏ）、ＣＰＵ１１は、Ｓ８４をスキップして、Ｓ８８へ移行する。
【００６０】
Ｓ８８では、ＣＰＵ１１は、ＭｉｎＡ値メモリ４ｃの値がゼロか否かを判定する（Ｓ８８）。Ｓ８８の判定が否定される場合（Ｓ８８：Ｎｏ）、Ｍｉｎ値メモリ４ａの値と、ＭｉｎＡ値メモリ４ｃとの変化量が、所定範囲内であるか否かを判定する（Ｓ９０）。なお、所定範囲内とは、例えば、ＭｉｎＡ値メモリ４ｃの値（生加速度）が、Ｍｉｎ値メモリ４ａの値を基準として、＋２０％〜＋３０％の範囲内、または−２０％〜−３０％の範囲内のいずれか、若しくは、±２０％以上の範囲である場合等が例示される。
【００６１】
Ｓ９０の判定が肯定される場合（Ｓ９０：Ｙｅｓ）、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａに、「（１−α（αは、ゼロより大きく１以下の予め定められた値））×Ｍｉｎ値メモリ４ａの値＋α×ＭｉｎＡ値メモリ４ｃの値」から算出された値を代入する（Ｓ９２）。このＳ９２の処理により、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａに記憶された下限値を、生加速度の変化の傾向を反映させた下限値へ変更することができる。
【００６２】
なお、Ｓ９２に示すように、αを１に近づけるに連れて、Ｍｉｎ値メモリ４ａに記憶される下限値は、ＭｉｎＡ値メモリ４ｃに記憶された値（生加速度）へ急激に変化する一方、αをゼロに近づけるに連れて、Ｍｉｎ値メモリ４ａに記憶される下限値は、ＭｉｎＡ値メモリ４ｃに記憶された値（生加速度）へ緩やかに変化する。
【００６３】
Ｓ９２の実行後、ＣＰＵ１１は、ＭｉｎＡ値メモリ４ｃの値をゼロにして（Ｓ９４）、Ｓ９６へ移行する。なお、Ｓ８８でＹｅｓと判定した場合およびＳ９０でＮｏと判定した場合には、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａの下限値を更新する必要がないので、Ｓ９２およびＳ９４をスキップして、Ｓ９６へ移行する。
【００６４】
ここで、ＭｉｎＡ値メモリ４ｃの値がゼロであれば（Ｓ８８：Ｙｅｓ）、初期化処理（Ｓ２）またはＳ９４の実行後、一度も押鍵が行われておらず、Ｍｉｎ値メモリ４ａの下限値を更新する必要がないので、ＣＰＵ１１は、Ｓ９０〜Ｓ９４をスキップして、Ｓ９６へ移行する。
【００６５】
次に、ＣＰＵ１１は、ＭａｘＡ値メモリ４ｄの値がゼロか否かを判定する（Ｓ９６）。Ｓ９６の判定が否定される場合（Ｓ９６：Ｎｏ）、Ｍａｘ値メモリ４ｂの値と、ＭａｘＡ値メモリ４ｄとの変化量が、所定範囲内であるか否かを判定する（Ｓ９８）。なお、所定範囲内とは、例えば、ＭａｘＡ値メモリ４ｄの値（生加速度）が、Ｍａｘ値メモリ４ｂの値を基準として、＋２０％〜＋３０％の範囲内、または−２０％〜−３０％の範囲内のいずれか、若しくは、±２０％以上の範囲である場合等が例示される。
【００６６】
Ｓ９８の判定が肯定される場合（Ｓ９８：Ｙｅｓ）、ＣＰＵ１１は、Ｍａｘ値メモリ４ｂに、「（１−β（βは、ゼロより大きく１以下の予め定められた値））×Ｍａｘ値メモリ４ｂの値＋β×ＭａｘＡ値メモリ４ｄの値」から算出される値を代入する（Ｓ１００）。このＳ１００の処理により、ＣＰＵ１１は、Ｍａｘ値メモリ４ｂに記憶された上限値を、生加速度の変化の傾向を反映させた上限値へ変更することができる。
【００６７】
なお、βを１に近づけるに連れて、Ｍａｘ値メモリ４ｂに記憶される上限値は、ＭａｘＡ値メモリ４ｄに記憶された値（生加速度）へ急激に変化する一方、βをゼロに近づけるに連れて、Ｍａｘ値メモリ４ｂに記憶される上限値は、ＭａｘＡ値メモリ４ｂに記憶された値（生加速度）へ緩やかに変化する。
【００６８】
Ｓ１００の実行後、ＣＰＵ１１は、ＭａｘＡ値メモリ４ｄの値をゼロにして（Ｓ１０２）、常時キャリブレーション処理を終了する。なお、Ｓ９６でＹｅｓと判定した場合およびＳ９８でＮｏと判定した場合には、ＣＰＵ１１は、Ｍａｘ値メモリ４ｂの上限値を更新する必要がないので、Ｓ１００およびＳ１０２をスキップして、常時キャリブレーション処理を終了する。
【００６９】
ここで、ＭａｘＡ値メモリ４ｄの値がゼロであれば（Ｓ９６：Ｙｅｓ）、初期化処理（Ｓ２）またはＳ１０２の実行後、一度も押鍵が行われておらず、Ｍａｘ値メモリ４ｂの値を更新する必要がないので、ＣＰＵ１１は、Ｓ９８〜Ｓ１０２をスキップして、常時キャリブレーション処理を終了する。
【００７０】
上述した通り、常時キャリブレーション処理によれば、鍵盤６の押鍵が行われた場合には、Ｓ４２で算出された生加速度を用いて、Ｍｉｎ値メモリ４ａの下限値を更新できると共に、Ｓ４２で算出された生加速度を用いて、Ｍａｘ値メモリ４ｂの上限値を更新することができる。
【００７１】
なお、ＣＰＵ１１は、Ｓ６２の判定が否定される場合、即ち、ＲＡＭ４に記憶されたＰＭ時間が所定時間を越えたと判定した場合（Ｓ６２：Ｎｏ）、Ｓ６４以降の処理を禁止して、常時キャリブレーション処理を終了する。これにより、Ｓ４２の処理（図６参照）で算出された生加速度が、Ｍｉｎ値メモリ４ａの下限値の更新に用いられることを禁止している。よって、鍵を著しく低速で押鍵することで、押鍵者が、Ｍｉｎ値メモリ４ａに記憶された下限値を意図的に変化させようとした場合でも、その意図的な押鍵により算出された生加速度が、Ｍｉｎ値メモリ４ａの下限値の更新に用いられることを防止することができる。なお、Ｓ６２においては、ＲＡＭ４に記憶されたＰＭ時間が所定時間を越えたかだけを判定したが、これに限られるものではなく、「ＲＡＭ４に記憶されたＰＭ時間が所定の範囲内であるか」をＳ６２で判定しても良い。この構成では、ＲＡＭ４に記憶されたＰＭ時間が所定の範囲外である場合には、ＣＰＵ１１は、Ｓ６４以降の処理を禁止して、常時キャリブレーション処理を終了するようにすれば良い。この構成によれば、Ｍｉｎ値メモリ４ａに記憶された下限値が意図的に更新されることを防止できることに加え、鍵を著しく高速で押鍵することで、押鍵者が、Ｍａｘ値メモリ４ｂに記憶された上限値を意図的に変化させようとした場合でも、その意図的な押鍵により算出された生加速度が、Ｍａｘ値メモリ４ｂの上限値の更新に用いられることを防止することができる。
【００７２】
なお、Ｓ９０において、所定範囲を、＋５％〜＋３０％，−５％〜−３０％とすれば、上述の例示の場合と比較して、Ｍｉｎ値メモリ４ａの値と、ＭｉｎＡ値メモリ４ｃとの変化量が小さくても、Ｓ９２を実行させることができる。また、Ｓ９０において、所定範囲を、＋２５％〜＋３０％，−２５％〜−３０％とすれば、上述の例示の場合と比較して、Ｍｉｎ値メモリ４ａの値と、ＭｉｎＡ値メモリ４ｃとの変化量が大きい場合に、Ｓ９２を実行させることができる。これは、Ｓ９８についても同様である。
【００７３】
図６の説明に戻る。常時キャリブレーション処理の実行後、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａの値は、Ｍａｘ値メモリ４ｃの値と同じであるか否かを判定する（Ｓ４６）。Ｓ４６の判定が否定される場合（Ｓ４６：Ｎｏ）、ＣＰＵ１１は、Ｓ４２で算出した生加速度からＭｉｎ値メモリ４ａの値を減算した値を、Ｍａｘ値メモリ４ｂの値からＭｉｎ値メモリ４ａの値を減算した値で除算し、加速度を算出する（Ｓ４８）。このＳ４８により、ＣＰＵ１１は、ゼロ以上１以下の範囲に正規化された加速度、即ち、生加速度の変動範囲に対応して補正した加速度を算出することができる。
【００７４】
一方、Ｓ４６の判定が肯定される場合には（Ｓ４６：Ｙｅｓ）、初期化処理後（Ｓ２の実行後）、最初の押鍵であるため、Ｍｉｎ値メモリ４ａおよびＭａｘ値メモリ４ｂには同じ値が記憶されている（図７のＳ６４：Ｙｅｓおよび図７のＳ７０：Ｙｅｓ参照）。よって、このままＳ４８を実行すると、加速度が無限大となる。従って、それを防止するために、ＣＰＵ１１は、加速度を「０．５」とする（Ｓ５０）。
【００７５】
Ｓ４８またはＳ５０を実行後、ＣＰＵ１１は、加速度に応じた楽音の生成を指示するコマンドを音源９に出力する（Ｓ５２）。これにより、音源９は、加速度に応じた音高および音色の楽音をスピーカ１２から放音するためのデジタル楽音信号を、Ｄ／Ａ変換器１０へ出力する。
【００７６】
上述した押鍵処理により、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａおよびＭａｘ値メモリ４ｂに記憶された最新の下限値および上限値を用いて、生加速度を正規化して、ゼロ以上１以下の範囲の加速度を求め、その加速度に応じた楽音の生成を指示することができる。
【００７７】
図３の説明に戻る。ＣＰＵ１１は、Ｓ６の判定でＮｏと判定した場合、またはＳ８の実行後、タイマ処理を実行する（Ｓ１０）。そして、タイマ処理の実行後、ＣＰＵ１１は、Ｓ６の判定へ戻る。
【００７８】
ここで、図８を参照して、タイマ処理について説明する。図８は、タイマ処理を示したフローチャートである。タイマ処理では、まず、ＣＰＵ１１は、ＲＡＭ４に設けられたカウンタ（図示せず）を１つカウントアップする（Ｓ１１２）。その後、ＣＰＵ１１は、カウンタのカウント値が予め定められた周期（本実施形態では、１０秒）を超えたか否かを判定する（Ｓ１１４）。
【００７９】
Ｓ１１４の判定が肯定される場合（Ｓ１１４：Ｙｅｓ）、ＣＰＵ１１は、カウンタをゼロクリアし（Ｓ１１６）、キャリブレーションデータ書き込み処理を実行する（Ｓ１１８）。そして、キャリブレーションデータ書き込み処理の実行後、ＣＰＵ１１は、タイマ処理を終了する。なお、Ｓ１１４の判定が否定される場合、即ち、カウンタのカウント値が周期に満たない場合（Ｓ１１４：Ｎｏ）、ＣＰＵ１１は、Ｓ１１６およびＳ１１８をスキップして、タイマ処理を終了する。
【００８０】
次に、図９を参照して、キャリブレーションデータ書き込み処理について説明する。図９は、キャリブレーションデータ書き込み処理を示したフローチャートである。キャリブレーションデータ書き込み処理では、まず、ＣＰＵ１１は、ＰｒｅｖＭｉｎ値メモリ４ｅの値とＭｉｎ値メモリ４ａの値との差が、または、ＰｒｅｖＭａｘ値メモリ４ｆの値とＭａｘ値メモリ４ｂの値との差が、一定以上であるか否かを判定する（Ｓ１３２）。つまり、Ｓ１３２の判定では、ＣＰＵ１１は、フラッシュ用Ｍｉｎ値メモリ５ａに記憶されている下限値とＭｉｎ値メモリ４ａに記憶されている下限値との差が、または、フラッシュ用Ｍａｘ値メモリ５ｂに記憶されている上限値とＭａｘ値メモリ４ｂに記憶されている上限値との差が、一定以上であるかを判定している。なお、差が一定以上であるとは、例えば、両値の差が±２０％以上である場合が例示される。
【００８１】
Ｓ１３２の判定が肯定される場合（Ｓ１３２：Ｙｅｓ）、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａに記憶された下限値を、フラッシュ用Ｍｉｎ値メモリ５ａに書き込み、Ｍａｘ値メモリ４ｂに記憶された上限値を、フラッシュ用Ｍａｘ値メモリ５ｂに書き込む（Ｓ１３４）。その後、ＣＰＵ１１は、Ｍｉｎ値メモリ４ａの下限値をＰｒｅｖＭｉｎ値メモリ４ｅに代入して、ＰｒｅｖＭｉｎ値メモリ４ｅの値を、フラッシュ用Ｍｉｎ値メモリ５ａに記憶した下限値へと更新する（Ｓ１３６）。
【００８２】
その後、ＣＰＵ１１は、Ｍａｘ値メモリ４ｂの上限値をＰｒｅｖＭａｘ値メモリ４ｆに代入して、ＰｒｅｖＭａｘ値メモリ４ｆの値を、フラッシュ用Ｍａｘ値メモリ５ｂに記憶した上限値へと更新する（Ｓ１３８）。その後、ＣＰＵ１１は、キャリブレーションデータ書き込み処理を終了する。
【００８３】
なお、Ｓ１３２の判定が否定された場合は（Ｓ１３２：Ｎｏ）、フラッシュ用Ｍｉｎ値メモリ５ａに記憶されている下限値とＭｉｎ値メモリ４ａに記憶されている下限値との差、およびフラッシュ用Ｍａｘ値メモリ５ｂに記憶されている上限値とＭａｘ値メモリ４ｂに記憶されている上限値との差が、一定未満であり、フラッシュ用Ｍｉｎ値メモリ５ａおよびフラッシュ用Ｍａｘ値メモリ５ｂの各値を更新する必要がないため、Ｓ１３４〜Ｓ１３８をスキップして、このキャリブレーションデータ書き込み処理を終了する。
【００８４】
このキャリブレーションデータ書き込み処理により、鍵盤６の経年変化や鍵盤６の押鍵者が変わることにより、フラッシュ用Ｍｉｎ値メモリ５ａに記憶された下限値やフラッシュ用Ｍａｘ値メモリ５ｂに記憶された上限値に対して、Ｍｉｎ値メモリ４ａに記憶された下限値やＭａｘ値メモリ４ｂに記憶された上限値が大きく変化した場合には、その上限値や下限値を確実にフラッシュメモリ５に記憶させることで、鍵盤６の経年変化や鍵盤６の押鍵者の変化を反映させることができる。また、Ｍｉｎ値メモリ４ａに記憶された下限値やＭａｘ値メモリ４ｂに記憶された上限値の変化が僅かである場合には（例えば、鍵盤６の経年変化が僅かである場合や鍵盤６の押鍵者の変化がない場合には）、フラッシュ用Ｍｉｎ値メモリ５ａに記憶された下限値やフラッシュ用Ｍａｘ値メモリ５ｂに記憶された上限値が頻繁に更新されることを防止することができる。
【００８５】
上述した通り、本実施形態の電子鍵盤楽器１によれば、鍵盤６の押鍵によりＳ４２で算出された生加速度が、Ｍｉｎ値メモリ４ａに記憶された下限値と異なる場合には、算出された生加速度を用いて、Ｍｉｎ値メモリ４ａに記憶された下限値を更新する。また、鍵盤６の押鍵によりＳ４２で算出された生加速度が、Ｍａｘ値メモリ４ｂに記憶された上限値と異なる場合には、算出された生加速度を用いて、Ｍａｘ値メモリ４ｂに記憶された上限値を更新する。そして、Ｍｉｎ値メモリ４ａに記憶された下限値およびＭａｘ値メモリ４ｂに記憶された上限値を用いて、Ｓ４２で算出した生加速度を正規化して加速度を求め、その加速度に応じて、楽音信号を出力する。即ち、Ｓ４２で算出される生加速度の変動範囲が変化したとしても、その変化した生加速度の変動範囲に対応して補正した（正規化した）加速度を求めることができる。よって、鍵盤６の経年変化や鍵盤６の押鍵者が変わること等により、Ｓ４２で算出される生加速度の変動範囲が変化したとしても、その変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる。
【００８６】
また、本実施形態の電子鍵盤楽器１によれば、電子鍵盤楽器１の電源オン中、Ｍｉｎ値メモリ４ａの下限値を、フラッシュ用Ｍｉｎ値メモリ５ａに記憶させると共に、Ｍａｘ値メモリ４ｂの上限値を、フラッシュ用Ｍａｘ値メモリ５ｂに記憶させる（Ｓ１３４参照）。そして、電子鍵盤楽器１の電源がオフされた後、再びオンされた場合には、フラッシュ用Ｍｉｎ値メモリ５ａに記憶された下限値を、Ｍｉｎ値メモリ４ａに記憶させ、フラッシュ用Ｍａｘ値メモリ５ｂに記憶された上限値を、Ｍａｘ値メモリ４ｂに記憶させる。よって、電子鍵盤楽器１の電源がオフされる以前にＭｉｎ値メモリ４ａに記憶されていた下限値およびＭａｘ値メモリ４ｂに記憶されていた上限値を、電子鍵盤楽器１の電源がオンされた場合に再び使用することができる。
【００８７】
以上、本実施形態に基づき本発明を説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
【００８８】
上述の実施形態の電子鍵盤楽器１では、常時キャリブレーション処理において、ＭｉｎＡ値メモリ４ｃの値を用いて、Ｍｉｎ値メモリ４ａの下限値を更新し（Ｓ９２参照）、ＭａｘＡ値メモリ４ｄの値を用いて、Ｍａｘ値メモリ４ｂの上限値を更新したが（Ｓ１００参照）、これに限られるものではない。即ち、上述の更新に加え、または、上述の更新に代えて、Ｍｉｎ値メモリ４ａの下限値やＭａｘ値メモリ４ｂの上限値を、初期化処理（Ｓ２）の実行時以外にも、操作パネル７を用いて、押鍵者がゼロにリセットできるように構成すると共に、フラッシュ用Ｍｉｎ値メモリ５ａに記憶された下限値およびフラッシュ用Ｍａｘ値メモリ５ｂに記憶された上限値も、操作パネル７を用いて、押鍵者がゼロにリセットできるように構成することで、Ｍｉｎ値メモリ４ａの下限値およびＭａｘ値メモリ４ｂの上限値を更新するように構成しても良い。この構成の場合には、フラッシュ用Ｍｉｎ値メモリ５ａに記憶された下限値およびフラッシュ用Ｍａｘ値メモリ５ｂに記憶された上限値の影響を受けることなく、新たな押鍵に応じた下限値および上限値を算出し、その新たな下限値および上限値を用いて、加速度を算出することができる。
【００８９】
また、上述のＳ９２およびＳ１００の更新に加え、または、Ｓ９２およびＳ１００の更新に代えて、次の構成としても良い。即ち、Ｍｉｎ値メモリ４ａに記憶させる下限値やＭａｘ値メモリ４ｂに記憶させる上限値を、ＲＯＭ３に予め複数記憶させておき、操作パネル７を用いて、押鍵者が選択可能にできるように構成しても良い。この構成の場合には、押鍵者の選択した上限値および下限値を用いて、加速度を算出することができる。
【００９０】
また、上述のＳ９２およびＳ１００の更新に加え、または、Ｓ９２およびＳ１００の更新に代えて、次の構成としても良い。即ち、Ｍｉｎ値メモリ４ａの下限値やＭａｘ値メモリ４ｂの上限値をフラッシュメモリ５に複数記憶可能に構成し、電子鍵盤楽器１の電源オン時に、操作パネル７を用いて、Ｍｉｎ値メモリ４ａに記憶させる下限値やＭａｘ値メモリ４ｂに記憶させる上限値を、フラッシュメモリ５から押鍵者が選択可能にできるように構成しても良い。この構成の場合には、下限値および上限値を押鍵者や経過時間に応じてフラッシュメモリ５に記憶させることができると共に、フラッシュメモリ５に記憶させた下限値および上限値を、押鍵者が自由に選択することができる。
【００９１】
また、上述の実施形態の電子鍵盤楽器１では、Ｓ４２で算出した生加速度がＭｉｎ値メモリ４ａに記憶された下限値よりも小さくなった場合に、算出された生加速度をＭｉｎ値メモリ４ａに記憶させ（Ｓ６８：Ｙｅｓ，Ｓ６６参照）、Ｓ４２で算出した生加速度がＭａｘ値メモリ４ｂに記憶された上限値よりも大きくなった場合に、算出された生加速度をＭａｘ値メモリ４ｂに記憶させたが（Ｓ７４：Ｙｅｓ，Ｓ７２）、これに限られるものではない。即ち、Ｓ４２で算出した生加速度がＭｉｎ値メモリ４ａに記憶された下限値よりも一定量を超えて小さくなった場合に、算出された生加速度をＭｉｎ値メモリ４ａに記憶させても良い。同様に、Ｓ４２で算出した生加速度がＭａｘ値メモリ４ｂに記憶された上限値よりも一定量を超えて大きくなった場合に、算出された生加速度をＭａｘ値メモリ４ｂに記憶させても良い。これにより、鍵盤６の経年変化や鍵盤６の押鍵者が変わることにより、Ｓ４２で算出される生加速度が大きく変化した場合には、その生加速度を、Ｍｉｎ値メモリ４ａやＭａｘ値メモリ４ｂに確実に記憶させることで、鍵盤６の経年変化や鍵盤６の押鍵者の変化を、加速度の算出に反映させることができる一方で、Ｓ４２で算出される生加速度の変化が僅かに留まる場合には（例えば、鍵盤６の経年変化が僅かである場合や鍵盤６の押鍵者の変化がない場合には）、Ｍｉｎ値メモリ４ａに記憶された下限値やＭａｘ値メモリ４ｂに記憶された上限値が頻繁に更新されることを防止することができる。
【００９２】
また、上述の実施形態の電子鍵盤楽器１では、Ｓ９２で使用したαおよびＳ１００で使用したβを予め定められた値としたが、これに限られるものではない。即ち、上述のαおよびβを、操作パネル７を用いて、押鍵者が設定可能に構成しても良い。この構成の場合には、αおよびβを１付近の値に設定することで、Ｍｉｎ値メモリ４ａに記憶された下限値およびＭａｘ値メモリ４ｂに記憶された上限値の更新を急激にして、押鍵者の押鍵の違いをいち早く、加速度の算出に反映させることができる。また、αおよびβをゼロ付近の値に設定することで、Ｍｉｎ値メモリ４ａに記憶された下限値およびＭａｘ値メモリ４ｂに記憶された上限値の更新を緩やかにして、鍵盤６の経年変化を徐々に、加速度の算出に反映させることができる。
【００９３】
また、上述の実施形態の電子鍵盤楽器１では、Ｓ１３２の判定において、フラッシュ用Ｍｉｎ値メモリ５ａに記憶されている下限値とＭｉｎ値メモリ４ａに記憶されている下限値との差が、または、フラッシュ用Ｍａｘ値メモリ５ｂに記憶されている上限値とＭａｘ値メモリ４ｂに記憶されている上限値との差が、一定以上である場合に、肯定と判定したが（Ｓ１３２：Ｙｅｓ）、これに限られるものではない。即ち、フラッシュ用Ｍｉｎ値メモリ５ａに記憶されている下限値とＭｉｎ値メモリ４ａに記憶されている下限値との差が、または、フラッシュ用Ｍａｘ値メモリ５ｂに記憶されている上限値とＭａｘ値メモリ４ｂに記憶されている上限値との差が僅かでもあれば、Ｓ１３２の判定でＹｅｓと判定しても良い。この構成の場合には、電子鍵盤楽器１と比較して、フラッシュメモリ５の下限値および上限値の更新回数を増加させることができる。
【００９４】
また、上述の実施形態の電子鍵盤楽器１では、Ｓ１３４において、Ｍｉｎ値メモリ４ａに記憶された下限値を、フラッシュ用Ｍｉｎ値メモリ５ａに記憶すると共に、Ｍａｘ値メモリ４ｂに記憶された上限値を、フラッシュ用Ｍａｘ値メモリ５ｂに記憶したが、これに限られるものではない。即ち、Ｓ１３２の判定において、フラッシュ用Ｍｉｎ値メモリ５ａに記憶されている下限値とＭｉｎ値メモリ４ａに記憶されている下限値との差が、一定以上である場合に、Ｍｉｎ値メモリ４ａに記憶された下限値を、フラッシュ用Ｍｉｎ値メモリ５ａに記憶させる一方で、フラッシュ用Ｍａｘ値メモリ５ｂに記憶されている上限値とＭａｘ値メモリ４ｂに記憶されている上限値との差が、一定以上である場合に、Ｍａｘ値メモリ４ｂに記憶された上限値を、フラッシュ用Ｍａｘ値メモリ５ｂに記憶させる構成としても良い。この構成の場合には、一定以上の差が発生した値だけを、フラッシュメモリ５に記憶させることができる。
【００９５】
また、上述の実施形態の電子鍵盤楽器１では、ＭｉｎＡ値メモリ４ｃおよびＭａｘＡ値メモリ４ｄに記憶された各生加速度を用いて、Ｍｉｎ値メモリ４ａに記憶された下限値やＭａｘ値メモリ４ｂに記憶された上限値を更新するＳ８８〜Ｓ１０２の処理を、常時キャリブレーション処理で実行したが、これに限られるものではない。即ち、Ｓ８８〜Ｓ１０２を、例えば、キャリブレーションデータ書き込み処理のＳ１３２の前に実行しても良い。この構成の場合には、Ｓ８８〜Ｓ１０２の実行を、１０秒毎にすることができる。よって、Ｍｉｎ値メモリ４ａの下限値やＭａｘ値メモリ４ｂの上限値の更新回数を抑制することができる。なお、Ｓ８８〜Ｓ１０２を、定期的に実行される処理（タイマ処理とは別の処理）で、単独で実行しても良い。
【００９６】
また、上述の実施形態の電子鍵盤楽器１では、Ｍｉｎ値メモリ４ａに下限値を記憶させ、Ｍａｘ値メモリ４ｂに上限値を記憶させた。即ち、電子鍵盤楽器１では、生加速度を用いて求まる算出値の変動範囲を記憶させたが、これに限られるものではない。上述の上限値および下限値の記憶に代えて、電子鍵盤楽器１に、生加速度を用いて求まる算出値の変動範囲の中央値と、生加速度を用いて求まる算出値の下限値とを記憶させても良いし、生加速度を用いて求まる算出値の変動範囲の中央値と、生加速度を用いて求まる算出値の上限値とを記憶させても良い。そして、これらの値を使用して、加速度を補正しても良い。また、電子鍵盤楽器１は、生加速度を用いて求まる算出値の平均値と分散値とを求め、標準偏差を用いる等の、公知の統計手法を応用して、加速度を補正しても良い。
【００９７】
また、上述の実施形態の電子鍵盤楽器１では、タイマ処理（図８参照）をメイン処理（図３参照）から呼び出しているが、これに限られるものではない。即ち、ＣＰＵ１１にタイマを設け、そのタイマの割り込みにより定期的にタイマ処理を呼び出すように構成しても良い。
【００９８】
また、上述の実施形態の電子鍵盤楽器１では、キャリブレーションデータ書き込み処理（図９参照）を１０秒ごとに実行し、常時キャリブレーション処理（図７参照）におけるＳ８８〜Ｓ１０２を、押鍵される毎に実行したが、これに限られるものではない。即ち、押鍵が行われた場合に、押鍵回数をカウントするカウンタを設け、そのカウンタが所定の値に達する度に（押鍵が所定の回数に達する度に）、上述の処理を実行するように構成しても良い。
【００９９】
また、上述の実施形態の電子鍵盤楽器１では、Ｓ４２において（図６参照）、各接点間の所要時間の比から（ＰＭ時間とＭＳ時間の比から）、生加速度を算出したが、これに限られるものではない。即ち、Ｓ４２では、各接点間の所要時間の差を用いて（ＰＭ時間とＭＳ時間との差を用いて）、生加速度を算出するように構成しても良い。
【０１００】
また、上述の実施形態の電子鍵盤楽器１では、音源９が一体化されていたが、これに限られるものではなく、音源９は、電子鍵盤楽器１と別体であっても良い。また、上述の実施形態の電子鍵盤楽器１では、ＣＰＵ１１は、楽音情報を音源９へ出力していたが、これに限られるものではなく、楽音情報を、ソレノイドによって鍵盤を駆動させる装置へ出力しても良い。
【符号の説明】
【０１０１】
１        電子鍵盤楽器（鍵盤装置）
２        ＣＰＵ（算出手段の一部、計時手段）
４ａ      Ｍｉｎ値メモリ（記憶手段の一部）
４ｂ      Ｍａｘ値メモリ（記憶手段の一部）
４ｃ      ＭｉｎＡ値メモリ（更新手段の一部、傾向補正値算出手段の一部）
４ｄ      ＭａｘＡ値メモリ（更新手段の一部、傾向補正値算出手段の一部）
５ａ      フラッシュ用Ｍｉｎ値メモリ（オフ記憶手段の一部）
５ｂ      フラッシュ用Ｍａｘ値メモリ（オフ記憶手段の一部）
６        鍵盤
Ｓ３４，Ｓ３６    キャリブレーションデータ読み出し処理（記憶制御手段）
Ｓ４２    押鍵処理（算出手段の一部）
Ｓ４８    押鍵処理（補正手段、正規化手段）
Ｓ５２    押鍵処理（出力手段）
Ｓ６２    常時キャリブレーション処理（計時判定手段）
Ｓ６２：Ｎｏ      常時キャリブレーション処理（更新手段の一部、禁止手段）
Ｓ６６    常時キャリブレーション処理（更新手段の一部）
Ｓ７２    常時キャリブレーション処理（更新手段の一部）
Ｓ７８，Ｓ８４    常時キャリブレーション処理（更新手段の一部、傾向補正値算出手段の一部）
Ｓ９２    常時キャリブレーション処理（更新手段の一部、変化更新手段の一部）
Ｓ１００  常時キャリブレーション処理（更新手段の一部、変化更新手段の一部）
Ｓ１３２，Ｓ１３４      キャリブレーションデータ書き込み処理（オフ記憶制御手段、補正値記憶制御手段）
【図１】
2010224127.tif 000003
【図２】
2010224127.tif 000004
【図３】
2010224127.tif 000005
【図４】
2010224127.tif 000006
【図５】
2010224127.tif 000007
【図６】
2010224127.tif 000008
【図７】
2010224127.tif 000009
【図８】
2010224127.tif 000010
【図９】
2010224127.tif 000011