説明

鍵盤装置

【課題】加速度の変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる鍵盤装置を提供すること。
【解決手段】電子鍵盤楽器1は、押鍵により算出された生加速度を用いて、Min値メモリ4aの下限値やMax値メモリ4bの上限値を更新する。そして、Min値メモリ4aの下限値およびMax値メモリ4bの上限値を用いて、算出した生加速度を正規化して加速度を求め、その加速度に応じて、楽音を出力する。即ち、算出される生加速度の変動範囲が変化したとしても、その変化した生加速度の変動範囲に対応して補正した(正規化した)加速度を求めることができる。よって、鍵盤6の経年変化や鍵盤6の押鍵者が変わること等により、押鍵により算出された生加速度の変動範囲が変化したとしても、その変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は鍵盤装置に関し、特に、加速度の変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる鍵盤装置に関するものである。
【背景技術】
【0002】
鍵が押鍵された場合に、その鍵の加速度を求め、その加速度に応じた楽音を出力する鍵盤装置に関しては、例えば、特開昭57−104994号公報に記載の鍵盤装置が知られている。この鍵盤装置では、各鍵に対応して少なくとも3個の接点を配設し、各接点のオン動作の時間間隔から加速度を算出して、算出した加速度に応じた楽音を出力している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭57−104994号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、鍵を押鍵して楽音を出力する鍵盤装置では、鍵の取り付け精度や鍵の経年変化の影響により、各接点間の距離にバラツキが発生することが知られている。しかし、上述の鍵盤装置では、各接点のオン動作の時間間隔から算出された加速度をそのまま利用して、楽音を出力している。よって、上述の鍵盤装置では、各接点間の距離のばらつきの影響により、算出される加速度の変動範囲が、製造時に想定した加速度の変動範囲から逸脱しても、その逸脱した加速度の変動範囲に何ら対応することができない。また、押鍵の力が異なる押鍵者の違いにより、算出される加速度の変動範囲に変化が発生しても、算出された加速度をそのまま利用しているので、その変動範囲の変化に何ら対応することができない。従って、上述の鍵盤装置では、鍵の経年変化や押鍵者の違い等により発生する加速度の変動範囲の変化に応じて、算出された加速度を補正した上で、楽音情報を出力することができないという問題点があった。
【0005】
本発明は、上述した問題点を解決するためになされたものであり、加速度の変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる鍵盤装置を提供することを目的としている。
【課題を解決するための手段】
【0006】
この目的を達成するために請求項1記載の鍵盤装置は、複数の鍵を有する鍵盤と、その鍵盤の各鍵が押鍵された場合に、その押鍵による加速度を算出する算出手段と、その算出手段により算出された加速度から求まる補正値を記憶する記憶手段と、その記憶手段に記憶された補正値を使用して、前記算出手段により算出された加速度を補正する補正手段と、その補正手段により補正された加速度に応じた楽音情報を出力する出力手段と、前記算出手段により算出された加速度から求まる補正値に基づいて前記記憶手段に記憶された補正値を更新する更新手段とを備えている。なお、算出手段により算出された加速度から求まる補正値は、算出手段により算出された加速度のそのものであっても良いし、算出手段により算出された加速度を予め定められた算出式に代入して、その算出式から求まった値であっても良い。
【0007】
請求項2記載の鍵盤装置は、請求項1記載の鍵盤装置において、前記更新手段は、前記算出手段により加速度が算出された場合に、前記加速度の変化の傾向を反映した補正値である傾向補正値を算出する傾向補正値算出手段と、その傾向補正値算出手段により算出された傾向補正値と、前記記憶手段に記憶された補正値との変化量が、予め定められた第1変化量以上となった場合に、前記傾向補正値算出手段により算出された傾向補正値に基づいて、前記記憶手段に記憶された補正値を更新する変化更新手段とを備えている。なお、第1変化量は、予め定められた範囲の値でも良いし、予め定められた1の値でも良い。
【0008】
請求項3記載の鍵盤装置は、請求項1または2記載の鍵盤装置において、前記記憶手段は、前記算出手段により算出された加速度の上限値およびその加速度の下限値を前記補正値として記憶するものであり、前記補正手段は、前記記憶手段に記憶された前記上限値および下限値を使用して、前記算出手段により算出された加速度を、所定の範囲内の値に正規化する正規化手段を備えている。
【0009】
請求項4記載の鍵盤装置は、請求項1から3のいずれかに記載の鍵盤装置において、前記鍵盤装置の電源オフ後も内容を記憶するオフ記憶手段と、前記記憶手段に記憶された補正値を前記オフ記憶手段に記憶させるオフ記憶制御手段と、前記鍵盤装置の電源がオンされた場合に前記オフ記憶手段に記憶された内容を前記記憶手段に記憶させる記憶制御手段とを備えている。
【0010】
請求項5記載の鍵盤装置は、請求項1から4のいずれかに記載の鍵盤装置において、前記オフ記憶制御手段は、前記記憶手段に記憶された補正値と、前記オフ記憶手段に記憶されている補正値との変化量が、予め定められた所定変化量となった場合に、前記記憶手段に記憶された補正値を前記オフ記憶手段へ記憶させる補正値記憶制御手段を備えている。なお、所定変化量は、予め定められた範囲の値でも良いし、予め定められた1の値でも良い。
【0011】
請求項6記載の鍵盤装置は、請求項1から5のいずれかに記載の鍵盤装置において、前記鍵が押鍵された場合に、その押鍵に費やされた時間を計時する計時手段と、その計時手段により計時された時間が予め定められた範囲内であるかを判定する計時判定手段とを備え、前記更新手段は、前記計時手段により計時された時間が予め定められた範囲外であると前記計時判定手段により判定された場合には、前記記憶手段に記憶された補正値の更新を禁止する禁止手段を備えている。
【発明の効果】
【0012】
請求項1記載の鍵盤装置によれば、算出手段により加速度が算出されると、補正手段は、記憶手段に記憶された補正値を使用して、算出された加速度を補正する。そして、出力手段は、補正手段により補正された加速度に応じた楽音情報を出力する。ここで、記憶手段に記憶された補正値は、更新手段により、算出手段により算出された加速度から求まる補正値に基づいて更新される。よって、算出される加速度の変動範囲が変化したとしても、その変化した加速度の変動範囲に対応して、算出手段により算出された加速度を補正することができる。従って、鍵盤の経年変化や鍵盤の押鍵者が変わること等により、算出される加速度の変動範囲が変化したとしても、その変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができるという効果がある。
【0013】
請求項2記載の鍵盤装置によれば、請求項1記載の鍵盤装置の奏する効果に加え、変化更新手段は、傾向補正値算出手段により算出された傾向補正値と、記憶手段に記憶された補正値との変化量が、第1変化量以上となった場合に、算出された傾向補正値に基づいて、記憶手段に記憶された補正値を更新する。よって、鍵盤の経年変化や鍵盤の押鍵者が変わることにより、傾向補正値算出手段により算出される傾向補正値が大きく変化した場合には、その傾向補正値に基づいて確実に記憶手段に記憶された補正値を更新することで、鍵盤の経年変化や鍵盤の押鍵者の変化を反映させることができる一方で、傾向補正値算出手段により算出される傾向補正値の変化が僅かに留まる場合には(例えば、鍵盤の経年変化が僅かである場合や鍵盤の押鍵者の変化がない場合には)、記憶手段に記憶された補正値が頻繁に更新されることを防止することができるという効果がある。
【0014】
請求項3記載の鍵盤装置によれば、請求項1または2に記載の鍵盤装置の奏する効果に加え、正規化手段は、記憶手段に記憶された上限値および下限値を使用して、算出手段により算出された加速度を、所定の範囲内の値に正規化する。よって、算出手段により算出される加速度の変動範囲に拘らず、算出された加速度を所定の範囲内の値へ確実に正規化することができる。従って、算出される加速度の変動範囲に拘らず、その変動範囲に応じた楽音情報を出力手段から出力することができるという効果がある。
【0015】
請求項4記載の鍵盤装置によれば、請求項1から3のいずれかに記載の鍵盤装置の奏する効果に加え、オフ記憶制御手段は、記憶手段に記憶された補正値を、鍵盤装置の電源オフ後も内容を記憶するオフ記憶手段に記憶させ、記憶制御手段は、鍵盤装置の電源がオンされた場合に、オフ記憶手段に記憶された内容を記憶手段に記憶させる。よって、鍵盤装置の電源がオフされる以前に記憶手段に記憶されていた補正値を、鍵盤装置の電源がオンされた場合に再び使用することができるという効果がある。
【0016】
請求項5記載の鍵盤装置によれば、請求項1から4のいずれかに記載の鍵盤装置の奏する効果に加え、補正値記憶制御手段は、記憶手段に記憶された補正値と、オフ記憶手段に記憶されている補正値との変化量が、予め定められた所定変化量となった場合に、記憶手段に記憶された補正値をオフ記憶手段へ記憶させる。よって、鍵盤の経年変化や鍵盤の押鍵者が変わることにより、記憶手段に記憶された補正値が大きく変化した場合には、その補正値を確実にオフ記憶手段に記憶させることで、鍵盤の経年変化や鍵盤の押鍵者の変化を反映させることができる一方で、記憶手段に記憶された補正値の変化が僅かに留まる場合には(例えば、鍵盤の経年変化が僅かである場合や鍵盤の押鍵者の変化がない場合には)、オフ記憶手段に記憶された補正値が頻繁に更新されることを防止することができるという効果がある。
【0017】
請求項6記載の鍵盤装置によれば、請求項1から5のいずれかに記載の鍵盤装置の奏する効果に加え、計時手段により計時された時間が予め定められた範囲外であると計時判定手段により判定された場合には、禁止手段は、記憶手段に記憶された補正値の更新を禁止する。よって、著しく低速あるいは著しく高速で鍵を押鍵することで、押鍵者が、記憶手段に記憶された補正値を意図的に変化させようとした場合でも、その意図的な押鍵により算出された加速度が補正値の更新に用いられることを禁止して、その加速度により求まる補正値が記憶手段に記憶されてしまうことを防止することができるという効果がある。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態である電子鍵盤楽器の電気的構成を示したブロック図である。
【図2】シャシに組み付けられた状態の白鍵を長手方向に切断した側面断面図である。
【図3】メイン処理のフローチャートを示した図である。
【図4】初期化処理を示したフローチャートである。
【図5】キャリブレーションデータ読み出し処理を示したフローチャートである。
【図6】押鍵処理を示したフローチャートである。
【図7】常時キャリブレーション処理を示したフローチャートである。
【図8】タイマ処理を示したフローチャートである。
【図9】キャリブレーションデータ書き込み処理を示したフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図1は、本発明の一実施形態である電子鍵盤楽器1の電気的構成を示したブロック図である。なお、電子鍵盤楽器とは、電子ピアノ、電子オルガン、シンセサイザー等が例示される。
【0020】
電子鍵盤楽器1は、CPU2と、ROM3と、RAM4と、フラッシュメモリ5と、鍵盤6と、操作パネル7と、ペダル8と、音源9とを有し、これらは、バスライン13を介して互いに接続されている。更に、電子鍵盤楽器1は、D/A変換器10と、アンプ11と、スピーカ12とを有している。音源9は、D/A変換器10の入力に接続され、D/A変換器10の出力は、アンプ11の入力に接続されている。アンプ11の出力は、スピーカ12に接続されている。
【0021】
CPU2は、演算処理装置であり、ROM3は、CPU2により実行される各種の制御プログラムやその実行の際に参照される固定値データを記憶するメモリである。制御プログラムとしては、図3から図9に示すフローチャートを実現するプログラムが該当する。
【0022】
RAM4は、ROM3に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するための書き換え可能なメモリである。このRAM4には、Min値メモリ4aと、Max値メモリ4bと、MinA値メモリ4cと、MaxA値メモリ4dと、PrevMin値メモリ4eと、PrevMax値メモリ4fとが設けられている。
【0023】
Min値メモリ4aは、鍵盤6の各鍵が押鍵された場合に、その押鍵された鍵の純粋な速度の変化(以後、「加速度」と称す)を示す生加速度を用いて求まる算出値の下限の値(以後、単に、「下限値」と称す)を記憶するメモリである。なお、下限値とは、後述する図7に示すフローチャートのS66でMin値メモリ4aに代入される値と、S92でMin値メモリ4aに代入される値とを示している。
【0024】
Max値メモリ4bは、鍵盤6の各鍵が押鍵された場合に、生加速度を用いて求まる算出値の上限の値(以後、単に、「上限値」と称す)を記憶するメモリである。なお、上限値とは、後述する図7に示すフローチャートのS72でMax値メモリ4bに代入される値と、S100でMax値メモリ4bに代入される値とを示している。
【0025】
MinA値メモリ4cは、電子鍵盤楽器1の電源オン中における生加速度の変化の傾向を反映させた下限値へ、Min値メモリ4aに記憶された下限値を変更するために、鍵盤6の各鍵が押鍵された場合に、生加速度を記憶するメモリである。MaxA値メモリ4dは、電子鍵盤楽器1の電源オン中における生加速度の変化の傾向を反映させた上限値へ、Max値メモリ4bに記憶された上限値を変更するために、鍵盤6の各鍵が押鍵された場合に、生加速度を記憶するメモリである。
【0026】
PrevMin値メモリ4eは、フラッシュメモリ5に現在記憶されている下限値を記憶するメモリである。PrevMax値メモリ4fは、フラッシュメモリ5に現在記憶されている上限値を記憶するメモリである。
【0027】
フラッシュメモリ5は、電子鍵盤楽器1の電源がオフされた場合でも、内容を継続して記憶する不揮発性のメモリである。フラッシュメモリ5には、フラッシュ用Min値メモリ5aおよびフラッシュ用Max値メモリ5bが設けられている。
【0028】
フラッシュ用Min値メモリ5aは、Min値メモリ4aに記憶されている下限値を記憶するメモリであり、フラッシュ用Max値メモリ5bは、Max値メモリ4bに記憶されている上限値を記憶するメモリである。
【0029】
なお、前述した各メモリ4a〜4f,5a,5bは、鍵盤6に設けられた各鍵毎に対応して設けられている。
【0030】
鍵盤6は、複数の白鍵および黒鍵を有している。押鍵者により押鍵が行われると、CPU11は、その押鍵に応じた生加速度を各鍵毎に算出し、算出した生加速度に応じた楽音の生成開始を指示する楽音情報を音源9へ出力する。また、押鍵者により離鍵が行われると、CPU11は、その離鍵に応じた速度を各鍵毎に算出し、楽音の生成停止を指示する楽音情報を音源9へ出力する。ここで、本実施形態の電子鍵盤楽器1では、押鍵者による離鍵が行われた場合には、公知の処理と同様の処理を行う。よって、以後の説明では、離鍵が行われた場合の処理については、その説明を省略する。なお、鍵盤6については、図2を参照して詳述する。
【0031】
操作パネル7は、各種ボリュームやスイッチ等を有しており、各種モードや楽音のパラメータ等を、押鍵者により設定可能に構成されている。ペダル8は、鍵盤6の下方且つ押鍵者の足元に配置され、押鍵者が足で踏み込むことにより操作を行う装置である。
【0032】
音源9は、鍵盤6の押鍵が行われた場合に、CPU11から出力された楽音情報に対応する音高および音色のデジタル楽音信号を生成する一方、鍵盤6の離鍵が行われた場合には、デジタル楽音信号の生成を停止する。音源9からデジタル楽音信号が出力されると、D/A変換器10により、デジタル楽音信号が、アナログ楽音信号へ変換される。D/A変換器10により変換されたアナログ楽音信号は、アンプ10に入力され、増幅される。そして、増幅された楽音信号が楽音に変換され、スピーカ12から放音される。
【0033】
次に、図2を参照して、鍵盤6の詳細について説明する。図2は、シャシ16に組み付けられた状態の白鍵14を長手方向に切断した側面断面図である。鍵盤6は、複数の白鍵14と図示しない複数の黒鍵とを備え、これらの鍵は、シャシ16に組み付けられ、そのシャシ16は、鍵盤6の図示しない筐体に固着される。
【0034】
白鍵14は、上面が平らであり、その上面がほぼ水平に維持されている。白鍵14の後部には、白鍵14が揺動可能なように軸受け18が形成され、シャシ16に固着されている軸19に揺動自在に嵌合されている。白鍵14は、押下されると停止位置(図2の状態)から押下位置までバネ20の付勢力に対抗して揺動する。バネ20は、引っ張りコイルバネで構成され、常態において白鍵14の一端を下方に付勢し、白鍵14を停止位置に保持するものである。
【0035】
白鍵14の後部には、バネ20の一端を係止するバネ座21が形成され、シャシ16には、そのバネ座21と対向する位置に、バネ20の他端を係止するバネ座が形成されている。白鍵14の長手方向のほぼ中央の下部には、突出部30が設けられ、その突出部30の対向する位置に、弾性ゴムから形成された押受部37が、シャシ16上に固定されたプリント基板28に固着されている。
【0036】
突出部30の右方には、白鍵14のストロークを規制するコの字型のストローク規制部23が形成されている。このストローク規制部23の上部には、ストロークの下限を規制する下限規制面25が形成され、下部にはストロークの上限を規制する上限規制面26が形成されている。
【0037】
シャシ16には、これらの規制面に当接する規制面当接部24が形成されている。この規制面当接部24の上面には、下限規制面25に当接する位置にフェルト27が貼付され、規制面当接部24の下面には、上限規制面26に当接する位置にフェルト29が貼付されている。
【0038】
ここで、突出部30および押受部37は、各鍵に対応してそれぞれ設けられている。押受部37は、略コの字型に形成されているので、プリント基板28と押受部37との間に、空間を形成する。この空間には、押受部37に固着された可動接点31,32,33と、プリント基板28に固着された固定接点34,35,36とが設けられている。この固定接点34〜36は、可動接点31〜33に対応して設けられている。
【0039】
可動接点31,32,33は、白鍵14の前部に向うに連れて(押鍵者側に向うに連れて)、固定接点34,35,36との間隔が離れるように、押受部37に固着されている。そして、可動接点31〜33と固定接点34〜36との先端には、それぞれ、導通材が固着され、その各導通材には、電子鍵盤楽器1の電源オン中、通電が行われている。
【0040】
押鍵者により白鍵14が押鍵され、突出部30により押受部37が押圧されると、まず、可動接点31と固定接点34とが接触し、導通する。その後、可動接点32と固定接点35とが接触し、通電する。最後に、可動接点33と固定接点36とが接触して、導通する。なお、以後、可動接点31と固定接点34とを一組にしたものを、P接点と称し、可動接点32と固定接点35とを一組にしたものを、M接点と称し、可動接点33と固定接点36とを一組にしたものを、S接点と称する。
【0041】
ここで、CPU11は、P接点の導通が行われてから、M接点の導通が行われるまでの所要時間を計時し、その所要時間をPM時間としてRAM4に記憶する。また、CPU11は、M接点の導通が行われてから、S接点の導通が行われるまでの所要時間を計時し、その所要時間をMS時間としてRAM4に記憶する。このPM時間とMS時間は、白鍵14の押鍵が行われる度に、CPU11によりRAM4に記憶される。このPM時間とMS時間とを用いて、CPU11は、押鍵による白鍵14の生加速度を算出する。なお、本実施形態の鍵盤6においては、P,M,Sの3つの接点を使用したが、これに限らず、3つ以上の接点を用いても良い。
【0042】
なお、黒鍵に関する構成は、前述した白鍵14の構成と同様であり、生加速度の算出方法も、白鍵14の生加速度の算出方法と同様であるので、黒鍵に関する詳細な説明は省略する。
【0043】
次に、図3〜図9を参照して、電子鍵盤楽器1のCPU11により実行される処理について説明する。まず、図3を参照して、電子鍵盤楽器1で実行されるメイン処理について説明する。図3は、メイン処理のフローチャートを示した図である。メイン処理は、電子鍵盤楽器1の電源がオンの間、鍵盤6に設けられた鍵毎に、繰り返し実行される処理である。メイン処理では、まず、CPU11は、初期化処理を実行する(S2)。
【0044】
ここで、図4を参照して、初期化処理について説明する。図4は、初期化処理を示したフローチャートである。初期化処理では、まず、CPU11は、Min値メモリ4aおよびMax値メモリ4bにゼロを代入する(S22)。その後、CPU11は、MinA値メモリ4cおよびMaxA値メモリ4dにゼロを代入する(S24)。そして、CPU11は、PrevMin値メモリ4eおよびPrevMax値メモリ4fにゼロを代入する(S26)。その後、CPU11は、初期化処理を終了する。この初期化処理により、メモリ4a〜4fの全てを、ゼロにすることができる。
【0045】
図3の説明に戻る。CPU11は、初期化処理後、キャリブレーションデータ読み出し処理を実行する(S4)。ここで、図5を参照して、キャリブレーションデータ読み出し処理について説明する。図5は、キャリブレーションデータ読み出し処理を示したフローチャートである。
【0046】
キャリブレーションデータ読み出し処理では、まず、CPU11は、フラッシュ用Min値メモリ5aに下限値が記憶されているかと共に、フラッシュ用Max値メモリ5bに上限値が記憶されているかを判定する(S32)。
【0047】
S32の判定が肯定される場合(S32:Yes)、CPU11は、フラッシュ用Min値メモリ5aに記憶された下限値を、Min値メモリ4aおよびPrevMin値メモリ4eに代入する(S34)。その後、CPU11は、フラッシュ用Max値メモリ5bに記憶された上限値を、Max値メモリ4bおよびPrevMax値メモリ4fに代入する(S36)。そして、CPU11は、このキャリブレーションデータ読み出し処理を終了する。なお、S32の判定が否定される場合も(S32:No)、CPU11は、このキャリブレーションデータ読み出し処理を終了する。
【0048】
このキャリブレーションデータ読み出し処理により、フラッシュメモリ5に上限値および下限値が記憶されている場合には、その上限値、および下限値を、それぞれ、Min値メモリ4aとPrevMin値メモリ4e、およびMax値メモリ4bとPrevMax値メモリ4fに記憶させることができる。
【0049】
図3の説明に戻る。CPU11は、キャリブレーションデータ読み出し処理の実行後、押鍵が行われたか否かを判定する(S6)。S6の判定が肯定される場合(S6:Yes)、CPU11は、押鍵処理を実行する(S8)。一方、S6の判定が否定される場合(S6:No)、CPU11は、押鍵処理をスキップする。
【0050】
ここで、図6を参照して、押鍵処理について説明する。図6は、押鍵処理を示したフローチャートである。押鍵処理では、まず、CPU11は、RAM4からPM時間およびMS時間を取得し、PM時間をMS時間で除算し(PM時間とMS時間との比を求め)、その結果と、予め定められた係数とを乗算して、押鍵された鍵の純粋な加速度である生加速度を算出する(S42)。ここで、S42に用いられる係数は、生加速度を規定の範囲内に収めるための値である。
【0051】
S42の処理後、CPU11は、常時キャリブレーション処理を実行する(S44)。ここで、図7を参照して、常時キャリブレーション処理について説明する。図7は、常時キャリブレーション処理を示したフローチャートである。
【0052】
常時キャリブレーション処理では、まず、CPU11は、RAM4に記憶されたPM時間が所定時間(本実施形態では、10m秒)未満であるか否かを判定する(S62)。S62の判定が肯定される場合(S62:Yes)、CPU11は、Min値メモリ4aの値はゼロか否かを判定する(S64)。
【0053】
S64の判定が肯定される場合(S64:Yes)、Min値メモリ4aは初期状態であるので、S42の処理(図6参照)で算出された生加速度を、Min値メモリ4aに代入する(S66)。一方、S64の判定が否定される場合(S64:No)、CPU11は、S42の処理(図6参照)で算出された生加速度がMin値メモリ4aの値よりも小さいかを判定する(S68)。S68の判定が肯定される場合(S68:Yes)、S66の処理を実行し、Min値メモリ4aに記憶された下限値を、算出された生加速度へ更新する。一方、S68の判定が否定される場合(S68:No)、CPU11は、S70の処理へ移行する。
【0054】
このS64:No、S68:YesおよびS66の処理により、Min値メモリ4aに記憶された下限値よりも小さい生加速度が算出された場合には、その生加速度を、Min値メモリ4aに記憶させることができる。
【0055】
次に、CPU11は、Max値メモリ4bの値はゼロか否かを判定する(S70)。S70の判定が肯定される場合(S70:Yes)、Max値メモリ4bは初期状態であるので、S42の処理(図6参照)で算出された生加速度を、Max値メモリ4bに代入する(S72)。一方、S70の判定が否定される場合(S70:No)、CPU11は、S42の処理(図6参照)で算出された生加速度がMax値メモリ4bの値より大きいかを判定する(S74)。S74の判定が肯定される場合(S74:Yes)、S72の処理を実行し、Max値メモリ4bに記憶された上限値を、算出された生加速度へ更新する。一方、S74の判定が否定される場合(S74:No)、CPU11は、S76の処理へ移行する。
【0056】
このS70:No、S74:YesおよびS72の処理により、Max値メモリ4bに記憶された上限値よりも大きい生加速度が算出された場合には、その生加速度を、Max値メモリ4bに記憶させることができる。
【0057】
その後、CPU11は、S76以降の処理を実行する。ここで、S76〜S102の処理は、S62〜S74の処理、即ち、押鍵の度に、必要があれば、Min値メモリ4aに記憶された下限値およびMax値メモリ4bに記憶された上限値を更新する処理とは異なり、電子鍵盤楽器1の電源オン中における生加速度の変化の傾向を反映させた下限値へ、Min値メモリ4aに記憶された下限値を変更すると共に、電子鍵盤楽器1の電源オン中における生加速度の変化の傾向を反映させた上限値へ、Max値メモリ4bに記憶された上限値を変更するための処理である。
【0058】
まず、S76では、CPU11は、MinA値メモリ4cの値はゼロか否かを判定する(S76)。S76の判定が肯定される場合(S76:Yes)、MinA値メモリ4cは初期状態であるので、S42の処理(図6参照)で算出された生加速度を、MinA値メモリ4cに代入する(S66)。一方、S76の判定が否定される場合(S76:No)、CPU11は、S42の処理(図6参照)で算出された生加速度がMinA値メモリ4cの値よりも小さいか否かを判定する(S80)。S80の判定が肯定される場合(S80:Yes)、S78の処理を実行し、MinA値メモリ4cに記憶された生加速度を、算出された生加速度へ更新し(S78)、S82へ移行する。一方、S80の判定が否定される場合(S80:No)、CPU11は、S78をスキップして、S82へ移行する。
【0059】
次に、CPU11は、MaxA値メモリ4dの値はゼロか否かを判定する(S82)。S82の判定が肯定される場合(S82:Yes)、MaxA値メモリ4dは初期状態であるので、S42の処理(図6参照)で算出された生加速度を、MaxA値メモリ4dに代入する(S84)。一方、S82の判定が否定される場合(S82:No)、CPU11は、S42の処理(図6参照)で算出された生加速度がMaxA値メモリ4dの値より大きいか否かを判定する(S86)。S86の判定が肯定される場合(S86:Yes)、S84の処理を実行し、MaxA値メモリ4dに記憶された生加速度を、算出された生加速度へ更新する(S84)。その後、CPU11は、S88以降へ移行する。一方、S86の判定が否定される場合(S86:No)、CPU11は、S84をスキップして、S88へ移行する。
【0060】
S88では、CPU11は、MinA値メモリ4cの値がゼロか否かを判定する(S88)。S88の判定が否定される場合(S88:No)、Min値メモリ4aの値と、MinA値メモリ4cとの変化量が、所定範囲内であるか否かを判定する(S90)。なお、所定範囲内とは、例えば、MinA値メモリ4cの値(生加速度)が、Min値メモリ4aの値を基準として、+20%〜+30%の範囲内、または−20%〜−30%の範囲内のいずれか、若しくは、±20%以上の範囲である場合等が例示される。
【0061】
S90の判定が肯定される場合(S90:Yes)、CPU11は、Min値メモリ4aに、「(1−α(αは、ゼロより大きく1以下の予め定められた値))×Min値メモリ4aの値+α×MinA値メモリ4cの値」から算出された値を代入する(S92)。このS92の処理により、CPU11は、Min値メモリ4aに記憶された下限値を、生加速度の変化の傾向を反映させた下限値へ変更することができる。
【0062】
なお、S92に示すように、αを1に近づけるに連れて、Min値メモリ4aに記憶される下限値は、MinA値メモリ4cに記憶された値(生加速度)へ急激に変化する一方、αをゼロに近づけるに連れて、Min値メモリ4aに記憶される下限値は、MinA値メモリ4cに記憶された値(生加速度)へ緩やかに変化する。
【0063】
S92の実行後、CPU11は、MinA値メモリ4cの値をゼロにして(S94)、S96へ移行する。なお、S88でYesと判定した場合およびS90でNoと判定した場合には、CPU11は、Min値メモリ4aの下限値を更新する必要がないので、S92およびS94をスキップして、S96へ移行する。
【0064】
ここで、MinA値メモリ4cの値がゼロであれば(S88:Yes)、初期化処理(S2)またはS94の実行後、一度も押鍵が行われておらず、Min値メモリ4aの下限値を更新する必要がないので、CPU11は、S90〜S94をスキップして、S96へ移行する。
【0065】
次に、CPU11は、MaxA値メモリ4dの値がゼロか否かを判定する(S96)。S96の判定が否定される場合(S96:No)、Max値メモリ4bの値と、MaxA値メモリ4dとの変化量が、所定範囲内であるか否かを判定する(S98)。なお、所定範囲内とは、例えば、MaxA値メモリ4dの値(生加速度)が、Max値メモリ4bの値を基準として、+20%〜+30%の範囲内、または−20%〜−30%の範囲内のいずれか、若しくは、±20%以上の範囲である場合等が例示される。
【0066】
S98の判定が肯定される場合(S98:Yes)、CPU11は、Max値メモリ4bに、「(1−β(βは、ゼロより大きく1以下の予め定められた値))×Max値メモリ4bの値+β×MaxA値メモリ4dの値」から算出される値を代入する(S100)。このS100の処理により、CPU11は、Max値メモリ4bに記憶された上限値を、生加速度の変化の傾向を反映させた上限値へ変更することができる。
【0067】
なお、βを1に近づけるに連れて、Max値メモリ4bに記憶される上限値は、MaxA値メモリ4dに記憶された値(生加速度)へ急激に変化する一方、βをゼロに近づけるに連れて、Max値メモリ4bに記憶される上限値は、MaxA値メモリ4bに記憶された値(生加速度)へ緩やかに変化する。
【0068】
S100の実行後、CPU11は、MaxA値メモリ4dの値をゼロにして(S102)、常時キャリブレーション処理を終了する。なお、S96でYesと判定した場合およびS98でNoと判定した場合には、CPU11は、Max値メモリ4bの上限値を更新する必要がないので、S100およびS102をスキップして、常時キャリブレーション処理を終了する。
【0069】
ここで、MaxA値メモリ4dの値がゼロであれば(S96:Yes)、初期化処理(S2)またはS102の実行後、一度も押鍵が行われておらず、Max値メモリ4bの値を更新する必要がないので、CPU11は、S98〜S102をスキップして、常時キャリブレーション処理を終了する。
【0070】
上述した通り、常時キャリブレーション処理によれば、鍵盤6の押鍵が行われた場合には、S42で算出された生加速度を用いて、Min値メモリ4aの下限値を更新できると共に、S42で算出された生加速度を用いて、Max値メモリ4bの上限値を更新することができる。
【0071】
なお、CPU11は、S62の判定が否定される場合、即ち、RAM4に記憶されたPM時間が所定時間を越えたと判定した場合(S62:No)、S64以降の処理を禁止して、常時キャリブレーション処理を終了する。これにより、S42の処理(図6参照)で算出された生加速度が、Min値メモリ4aの下限値の更新に用いられることを禁止している。よって、鍵を著しく低速で押鍵することで、押鍵者が、Min値メモリ4aに記憶された下限値を意図的に変化させようとした場合でも、その意図的な押鍵により算出された生加速度が、Min値メモリ4aの下限値の更新に用いられることを防止することができる。なお、S62においては、RAM4に記憶されたPM時間が所定時間を越えたかだけを判定したが、これに限られるものではなく、「RAM4に記憶されたPM時間が所定の範囲内であるか」をS62で判定しても良い。この構成では、RAM4に記憶されたPM時間が所定の範囲外である場合には、CPU11は、S64以降の処理を禁止して、常時キャリブレーション処理を終了するようにすれば良い。この構成によれば、Min値メモリ4aに記憶された下限値が意図的に更新されることを防止できることに加え、鍵を著しく高速で押鍵することで、押鍵者が、Max値メモリ4bに記憶された上限値を意図的に変化させようとした場合でも、その意図的な押鍵により算出された生加速度が、Max値メモリ4bの上限値の更新に用いられることを防止することができる。
【0072】
なお、S90において、所定範囲を、+5%〜+30%,−5%〜−30%とすれば、上述の例示の場合と比較して、Min値メモリ4aの値と、MinA値メモリ4cとの変化量が小さくても、S92を実行させることができる。また、S90において、所定範囲を、+25%〜+30%,−25%〜−30%とすれば、上述の例示の場合と比較して、Min値メモリ4aの値と、MinA値メモリ4cとの変化量が大きい場合に、S92を実行させることができる。これは、S98についても同様である。
【0073】
図6の説明に戻る。常時キャリブレーション処理の実行後、CPU11は、Min値メモリ4aの値は、Max値メモリ4cの値と同じであるか否かを判定する(S46)。S46の判定が否定される場合(S46:No)、CPU11は、S42で算出した生加速度からMin値メモリ4aの値を減算した値を、Max値メモリ4bの値からMin値メモリ4aの値を減算した値で除算し、加速度を算出する(S48)。このS48により、CPU11は、ゼロ以上1以下の範囲に正規化された加速度、即ち、生加速度の変動範囲に対応して補正した加速度を算出することができる。
【0074】
一方、S46の判定が肯定される場合には(S46:Yes)、初期化処理後(S2の実行後)、最初の押鍵であるため、Min値メモリ4aおよびMax値メモリ4bには同じ値が記憶されている(図7のS64:Yesおよび図7のS70:Yes参照)。よって、このままS48を実行すると、加速度が無限大となる。従って、それを防止するために、CPU11は、加速度を「0.5」とする(S50)。
【0075】
S48またはS50を実行後、CPU11は、加速度に応じた楽音の生成を指示するコマンドを音源9に出力する(S52)。これにより、音源9は、加速度に応じた音高および音色の楽音をスピーカ12から放音するためのデジタル楽音信号を、D/A変換器10へ出力する。
【0076】
上述した押鍵処理により、CPU11は、Min値メモリ4aおよびMax値メモリ4bに記憶された最新の下限値および上限値を用いて、生加速度を正規化して、ゼロ以上1以下の範囲の加速度を求め、その加速度に応じた楽音の生成を指示することができる。
【0077】
図3の説明に戻る。CPU11は、S6の判定でNoと判定した場合、またはS8の実行後、タイマ処理を実行する(S10)。そして、タイマ処理の実行後、CPU11は、S6の判定へ戻る。
【0078】
ここで、図8を参照して、タイマ処理について説明する。図8は、タイマ処理を示したフローチャートである。タイマ処理では、まず、CPU11は、RAM4に設けられたカウンタ(図示せず)を1つカウントアップする(S112)。その後、CPU11は、カウンタのカウント値が予め定められた周期(本実施形態では、10秒)を超えたか否かを判定する(S114)。
【0079】
S114の判定が肯定される場合(S114:Yes)、CPU11は、カウンタをゼロクリアし(S116)、キャリブレーションデータ書き込み処理を実行する(S118)。そして、キャリブレーションデータ書き込み処理の実行後、CPU11は、タイマ処理を終了する。なお、S114の判定が否定される場合、即ち、カウンタのカウント値が周期に満たない場合(S114:No)、CPU11は、S116およびS118をスキップして、タイマ処理を終了する。
【0080】
次に、図9を参照して、キャリブレーションデータ書き込み処理について説明する。図9は、キャリブレーションデータ書き込み処理を示したフローチャートである。キャリブレーションデータ書き込み処理では、まず、CPU11は、PrevMin値メモリ4eの値とMin値メモリ4aの値との差が、または、PrevMax値メモリ4fの値とMax値メモリ4bの値との差が、一定以上であるか否かを判定する(S132)。つまり、S132の判定では、CPU11は、フラッシュ用Min値メモリ5aに記憶されている下限値とMin値メモリ4aに記憶されている下限値との差が、または、フラッシュ用Max値メモリ5bに記憶されている上限値とMax値メモリ4bに記憶されている上限値との差が、一定以上であるかを判定している。なお、差が一定以上であるとは、例えば、両値の差が±20%以上である場合が例示される。
【0081】
S132の判定が肯定される場合(S132:Yes)、CPU11は、Min値メモリ4aに記憶された下限値を、フラッシュ用Min値メモリ5aに書き込み、Max値メモリ4bに記憶された上限値を、フラッシュ用Max値メモリ5bに書き込む(S134)。その後、CPU11は、Min値メモリ4aの下限値をPrevMin値メモリ4eに代入して、PrevMin値メモリ4eの値を、フラッシュ用Min値メモリ5aに記憶した下限値へと更新する(S136)。
【0082】
その後、CPU11は、Max値メモリ4bの上限値をPrevMax値メモリ4fに代入して、PrevMax値メモリ4fの値を、フラッシュ用Max値メモリ5bに記憶した上限値へと更新する(S138)。その後、CPU11は、キャリブレーションデータ書き込み処理を終了する。
【0083】
なお、S132の判定が否定された場合は(S132:No)、フラッシュ用Min値メモリ5aに記憶されている下限値とMin値メモリ4aに記憶されている下限値との差、およびフラッシュ用Max値メモリ5bに記憶されている上限値とMax値メモリ4bに記憶されている上限値との差が、一定未満であり、フラッシュ用Min値メモリ5aおよびフラッシュ用Max値メモリ5bの各値を更新する必要がないため、S134〜S138をスキップして、このキャリブレーションデータ書き込み処理を終了する。
【0084】
このキャリブレーションデータ書き込み処理により、鍵盤6の経年変化や鍵盤6の押鍵者が変わることにより、フラッシュ用Min値メモリ5aに記憶された下限値やフラッシュ用Max値メモリ5bに記憶された上限値に対して、Min値メモリ4aに記憶された下限値やMax値メモリ4bに記憶された上限値が大きく変化した場合には、その上限値や下限値を確実にフラッシュメモリ5に記憶させることで、鍵盤6の経年変化や鍵盤6の押鍵者の変化を反映させることができる。また、Min値メモリ4aに記憶された下限値やMax値メモリ4bに記憶された上限値の変化が僅かである場合には(例えば、鍵盤6の経年変化が僅かである場合や鍵盤6の押鍵者の変化がない場合には)、フラッシュ用Min値メモリ5aに記憶された下限値やフラッシュ用Max値メモリ5bに記憶された上限値が頻繁に更新されることを防止することができる。
【0085】
上述した通り、本実施形態の電子鍵盤楽器1によれば、鍵盤6の押鍵によりS42で算出された生加速度が、Min値メモリ4aに記憶された下限値と異なる場合には、算出された生加速度を用いて、Min値メモリ4aに記憶された下限値を更新する。また、鍵盤6の押鍵によりS42で算出された生加速度が、Max値メモリ4bに記憶された上限値と異なる場合には、算出された生加速度を用いて、Max値メモリ4bに記憶された上限値を更新する。そして、Min値メモリ4aに記憶された下限値およびMax値メモリ4bに記憶された上限値を用いて、S42で算出した生加速度を正規化して加速度を求め、その加速度に応じて、楽音信号を出力する。即ち、S42で算出される生加速度の変動範囲が変化したとしても、その変化した生加速度の変動範囲に対応して補正した(正規化した)加速度を求めることができる。よって、鍵盤6の経年変化や鍵盤6の押鍵者が変わること等により、S42で算出される生加速度の変動範囲が変化したとしても、その変動範囲の変化に応じて加速度を補正して、楽音情報を出力することができる。
【0086】
また、本実施形態の電子鍵盤楽器1によれば、電子鍵盤楽器1の電源オン中、Min値メモリ4aの下限値を、フラッシュ用Min値メモリ5aに記憶させると共に、Max値メモリ4bの上限値を、フラッシュ用Max値メモリ5bに記憶させる(S134参照)。そして、電子鍵盤楽器1の電源がオフされた後、再びオンされた場合には、フラッシュ用Min値メモリ5aに記憶された下限値を、Min値メモリ4aに記憶させ、フラッシュ用Max値メモリ5bに記憶された上限値を、Max値メモリ4bに記憶させる。よって、電子鍵盤楽器1の電源がオフされる以前にMin値メモリ4aに記憶されていた下限値およびMax値メモリ4bに記憶されていた上限値を、電子鍵盤楽器1の電源がオンされた場合に再び使用することができる。
【0087】
以上、本実施形態に基づき本発明を説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
【0088】
上述の実施形態の電子鍵盤楽器1では、常時キャリブレーション処理において、MinA値メモリ4cの値を用いて、Min値メモリ4aの下限値を更新し(S92参照)、MaxA値メモリ4dの値を用いて、Max値メモリ4bの上限値を更新したが(S100参照)、これに限られるものではない。即ち、上述の更新に加え、または、上述の更新に代えて、Min値メモリ4aの下限値やMax値メモリ4bの上限値を、初期化処理(S2)の実行時以外にも、操作パネル7を用いて、押鍵者がゼロにリセットできるように構成すると共に、フラッシュ用Min値メモリ5aに記憶された下限値およびフラッシュ用Max値メモリ5bに記憶された上限値も、操作パネル7を用いて、押鍵者がゼロにリセットできるように構成することで、Min値メモリ4aの下限値およびMax値メモリ4bの上限値を更新するように構成しても良い。この構成の場合には、フラッシュ用Min値メモリ5aに記憶された下限値およびフラッシュ用Max値メモリ5bに記憶された上限値の影響を受けることなく、新たな押鍵に応じた下限値および上限値を算出し、その新たな下限値および上限値を用いて、加速度を算出することができる。
【0089】
また、上述のS92およびS100の更新に加え、または、S92およびS100の更新に代えて、次の構成としても良い。即ち、Min値メモリ4aに記憶させる下限値やMax値メモリ4bに記憶させる上限値を、ROM3に予め複数記憶させておき、操作パネル7を用いて、押鍵者が選択可能にできるように構成しても良い。この構成の場合には、押鍵者の選択した上限値および下限値を用いて、加速度を算出することができる。
【0090】
また、上述のS92およびS100の更新に加え、または、S92およびS100の更新に代えて、次の構成としても良い。即ち、Min値メモリ4aの下限値やMax値メモリ4bの上限値をフラッシュメモリ5に複数記憶可能に構成し、電子鍵盤楽器1の電源オン時に、操作パネル7を用いて、Min値メモリ4aに記憶させる下限値やMax値メモリ4bに記憶させる上限値を、フラッシュメモリ5から押鍵者が選択可能にできるように構成しても良い。この構成の場合には、下限値および上限値を押鍵者や経過時間に応じてフラッシュメモリ5に記憶させることができると共に、フラッシュメモリ5に記憶させた下限値および上限値を、押鍵者が自由に選択することができる。
【0091】
また、上述の実施形態の電子鍵盤楽器1では、S42で算出した生加速度がMin値メモリ4aに記憶された下限値よりも小さくなった場合に、算出された生加速度をMin値メモリ4aに記憶させ(S68:Yes,S66参照)、S42で算出した生加速度がMax値メモリ4bに記憶された上限値よりも大きくなった場合に、算出された生加速度をMax値メモリ4bに記憶させたが(S74:Yes,S72)、これに限られるものではない。即ち、S42で算出した生加速度がMin値メモリ4aに記憶された下限値よりも一定量を超えて小さくなった場合に、算出された生加速度をMin値メモリ4aに記憶させても良い。同様に、S42で算出した生加速度がMax値メモリ4bに記憶された上限値よりも一定量を超えて大きくなった場合に、算出された生加速度をMax値メモリ4bに記憶させても良い。これにより、鍵盤6の経年変化や鍵盤6の押鍵者が変わることにより、S42で算出される生加速度が大きく変化した場合には、その生加速度を、Min値メモリ4aやMax値メモリ4bに確実に記憶させることで、鍵盤6の経年変化や鍵盤6の押鍵者の変化を、加速度の算出に反映させることができる一方で、S42で算出される生加速度の変化が僅かに留まる場合には(例えば、鍵盤6の経年変化が僅かである場合や鍵盤6の押鍵者の変化がない場合には)、Min値メモリ4aに記憶された下限値やMax値メモリ4bに記憶された上限値が頻繁に更新されることを防止することができる。
【0092】
また、上述の実施形態の電子鍵盤楽器1では、S92で使用したαおよびS100で使用したβを予め定められた値としたが、これに限られるものではない。即ち、上述のαおよびβを、操作パネル7を用いて、押鍵者が設定可能に構成しても良い。この構成の場合には、αおよびβを1付近の値に設定することで、Min値メモリ4aに記憶された下限値およびMax値メモリ4bに記憶された上限値の更新を急激にして、押鍵者の押鍵の違いをいち早く、加速度の算出に反映させることができる。また、αおよびβをゼロ付近の値に設定することで、Min値メモリ4aに記憶された下限値およびMax値メモリ4bに記憶された上限値の更新を緩やかにして、鍵盤6の経年変化を徐々に、加速度の算出に反映させることができる。
【0093】
また、上述の実施形態の電子鍵盤楽器1では、S132の判定において、フラッシュ用Min値メモリ5aに記憶されている下限値とMin値メモリ4aに記憶されている下限値との差が、または、フラッシュ用Max値メモリ5bに記憶されている上限値とMax値メモリ4bに記憶されている上限値との差が、一定以上である場合に、肯定と判定したが(S132:Yes)、これに限られるものではない。即ち、フラッシュ用Min値メモリ5aに記憶されている下限値とMin値メモリ4aに記憶されている下限値との差が、または、フラッシュ用Max値メモリ5bに記憶されている上限値とMax値メモリ4bに記憶されている上限値との差が僅かでもあれば、S132の判定でYesと判定しても良い。この構成の場合には、電子鍵盤楽器1と比較して、フラッシュメモリ5の下限値および上限値の更新回数を増加させることができる。
【0094】
また、上述の実施形態の電子鍵盤楽器1では、S134において、Min値メモリ4aに記憶された下限値を、フラッシュ用Min値メモリ5aに記憶すると共に、Max値メモリ4bに記憶された上限値を、フラッシュ用Max値メモリ5bに記憶したが、これに限られるものではない。即ち、S132の判定において、フラッシュ用Min値メモリ5aに記憶されている下限値とMin値メモリ4aに記憶されている下限値との差が、一定以上である場合に、Min値メモリ4aに記憶された下限値を、フラッシュ用Min値メモリ5aに記憶させる一方で、フラッシュ用Max値メモリ5bに記憶されている上限値とMax値メモリ4bに記憶されている上限値との差が、一定以上である場合に、Max値メモリ4bに記憶された上限値を、フラッシュ用Max値メモリ5bに記憶させる構成としても良い。この構成の場合には、一定以上の差が発生した値だけを、フラッシュメモリ5に記憶させることができる。
【0095】
また、上述の実施形態の電子鍵盤楽器1では、MinA値メモリ4cおよびMaxA値メモリ4dに記憶された各生加速度を用いて、Min値メモリ4aに記憶された下限値やMax値メモリ4bに記憶された上限値を更新するS88〜S102の処理を、常時キャリブレーション処理で実行したが、これに限られるものではない。即ち、S88〜S102を、例えば、キャリブレーションデータ書き込み処理のS132の前に実行しても良い。この構成の場合には、S88〜S102の実行を、10秒毎にすることができる。よって、Min値メモリ4aの下限値やMax値メモリ4bの上限値の更新回数を抑制することができる。なお、S88〜S102を、定期的に実行される処理(タイマ処理とは別の処理)で、単独で実行しても良い。
【0096】
また、上述の実施形態の電子鍵盤楽器1では、Min値メモリ4aに下限値を記憶させ、Max値メモリ4bに上限値を記憶させた。即ち、電子鍵盤楽器1では、生加速度を用いて求まる算出値の変動範囲を記憶させたが、これに限られるものではない。上述の上限値および下限値の記憶に代えて、電子鍵盤楽器1に、生加速度を用いて求まる算出値の変動範囲の中央値と、生加速度を用いて求まる算出値の下限値とを記憶させても良いし、生加速度を用いて求まる算出値の変動範囲の中央値と、生加速度を用いて求まる算出値の上限値とを記憶させても良い。そして、これらの値を使用して、加速度を補正しても良い。また、電子鍵盤楽器1は、生加速度を用いて求まる算出値の平均値と分散値とを求め、標準偏差を用いる等の、公知の統計手法を応用して、加速度を補正しても良い。
【0097】
また、上述の実施形態の電子鍵盤楽器1では、タイマ処理(図8参照)をメイン処理(図3参照)から呼び出しているが、これに限られるものではない。即ち、CPU11にタイマを設け、そのタイマの割り込みにより定期的にタイマ処理を呼び出すように構成しても良い。
【0098】
また、上述の実施形態の電子鍵盤楽器1では、キャリブレーションデータ書き込み処理(図9参照)を10秒ごとに実行し、常時キャリブレーション処理(図7参照)におけるS88〜S102を、押鍵される毎に実行したが、これに限られるものではない。即ち、押鍵が行われた場合に、押鍵回数をカウントするカウンタを設け、そのカウンタが所定の値に達する度に(押鍵が所定の回数に達する度に)、上述の処理を実行するように構成しても良い。
【0099】
また、上述の実施形態の電子鍵盤楽器1では、S42において(図6参照)、各接点間の所要時間の比から(PM時間とMS時間の比から)、生加速度を算出したが、これに限られるものではない。即ち、S42では、各接点間の所要時間の差を用いて(PM時間とMS時間との差を用いて)、生加速度を算出するように構成しても良い。
【0100】
また、上述の実施形態の電子鍵盤楽器1では、音源9が一体化されていたが、これに限られるものではなく、音源9は、電子鍵盤楽器1と別体であっても良い。また、上述の実施形態の電子鍵盤楽器1では、CPU11は、楽音情報を音源9へ出力していたが、これに限られるものではなく、楽音情報を、ソレノイドによって鍵盤を駆動させる装置へ出力しても良い。
【符号の説明】
【0101】
1 電子鍵盤楽器(鍵盤装置)
2 CPU(算出手段の一部、計時手段)
4a Min値メモリ(記憶手段の一部)
4b Max値メモリ(記憶手段の一部)
4c MinA値メモリ(更新手段の一部、傾向補正値算出手段の一部)
4d MaxA値メモリ(更新手段の一部、傾向補正値算出手段の一部)
5a フラッシュ用Min値メモリ(オフ記憶手段の一部)
5b フラッシュ用Max値メモリ(オフ記憶手段の一部)
6 鍵盤
S34,S36 キャリブレーションデータ読み出し処理(記憶制御手段)
S42 押鍵処理(算出手段の一部)
S48 押鍵処理(補正手段、正規化手段)
S52 押鍵処理(出力手段)
S62 常時キャリブレーション処理(計時判定手段)
S62:No 常時キャリブレーション処理(更新手段の一部、禁止手段)
S66 常時キャリブレーション処理(更新手段の一部)
S72 常時キャリブレーション処理(更新手段の一部)
S78,S84 常時キャリブレーション処理(更新手段の一部、傾向補正値算出手段の一部)
S92 常時キャリブレーション処理(更新手段の一部、変化更新手段の一部)
S100 常時キャリブレーション処理(更新手段の一部、変化更新手段の一部)
S132,S134 キャリブレーションデータ書き込み処理(オフ記憶制御手段、補正値記憶制御手段)


【特許請求の範囲】
【請求項1】
複数の鍵を有する鍵盤と、
その鍵盤の各鍵が押鍵された場合に、その押鍵による加速度を算出する算出手段と、
その算出手段により算出された加速度から求まる補正値を記憶する記憶手段と、
その記憶手段に記憶された補正値を使用して、前記算出手段により算出された加速度を補正する補正手段と、
その補正手段により補正された加速度に応じた楽音情報を出力する出力手段と、
前記算出手段により算出された加速度から求まる補正値に基づいて前記記憶手段に記憶された補正値を更新する更新手段とを備えていることを特徴とする鍵盤装置。
【請求項2】
前記更新手段は、
前記算出手段により加速度が算出された場合に、前記加速度の変化の傾向を反映した補正値である傾向補正値を算出する傾向補正値算出手段と、
その傾向補正値算出手段により算出された傾向補正値と、前記記憶手段に記憶された補正値との変化量が、予め定められた第1変化量以上となった場合に、前記傾向補正値算出手段により算出された傾向補正値に基づいて、前記記憶手段に記憶された補正値を更新する変化更新手段とを備えていることを特徴とする請求項1記載の鍵盤装置。
【請求項3】
前記記憶手段は、前記算出手段により算出された加速度の上限値およびその加速度の下限値を前記補正値として記憶するものであり、
前記補正手段は、前記記憶手段に記憶された前記上限値および下限値を使用して、前記算出手段により算出された加速度を、所定の範囲内の値に正規化する正規化手段を備えていることを特徴とする請求項1または2に記載の鍵盤装置。
【請求項4】
前記鍵盤装置の電源オフ後も内容を記憶するオフ記憶手段と、
前記記憶手段に記憶された補正値を前記オフ記憶手段に記憶させるオフ記憶制御手段と、
前記鍵盤装置の電源がオンされた場合に前記オフ記憶手段に記憶された内容を前記記憶手段に記憶させる記憶制御手段とを備えていることを特徴とする請求項1から3のいずれかに記載の鍵盤装置。
【請求項5】
前記オフ記憶制御手段は、
前記記憶手段に記憶された補正値と、前記オフ記憶手段に記憶されている補正値との変化量が、予め定められた所定変化量となった場合に、前記記憶手段に記憶された補正値を前記オフ記憶手段へ記憶させる補正値記憶制御手段を備えていることを特徴とする請求項1から4のいずれかに記載の鍵盤装置。
【請求項6】
前記鍵が押鍵された場合に、その押鍵に費やされた時間を計時する計時手段と、
その計時手段により計時された時間が予め定められた範囲内であるかを判定する計時判定手段とを備え、
前記更新手段は、前記計時手段により計時された時間が予め定められた範囲外であると前記計時判定手段により判定された場合には、前記記憶手段に記憶された補正値の更新を禁止する禁止手段を備えていることを特徴とする請求項1から5のいずれかに記載の鍵盤装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate