(57)【特許請求の範囲】
【請求項１】
演奏データの発音開始指示に応じて鍵を押鍵状態に駆動するとともに、演奏データの発音停止指示に応じて鍵を離鍵動作する鍵盤装置において、
演奏データの発音開始指示から発音停止指示までの時間を検出する検出手段と、
前記検出手段によって検出された発音開始指示から発音停止指示までの時間を所定の時間と比較する比較手段と、
前記比較手段の比較結果が前記検出手段によって検出された発音開始指示から発音停止指示までの時間の方が前記所定の時間に比べて長い場合に、前記検出手段によって検出された発音開始指示から発音停止指示までの時間を短くする制御手段とを有する鍵盤装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、鍵盤装置に関し、さらに詳細には、発音開始指示（押鍵指示）／発音停止指示（離鍵指示）を示す演奏データに応じて、鍵盤を押鍵動作／離鍵動作させる電子ピアノなどの鍵盤装置に関する。
【０００２】
【従来の技術】
一般に、電子楽器の分野においては、自動演奏装置を搭載し、当該自動演奏装置が読み出す発音開始指示（押鍵指示）／発音停止指示（離鍵指示）を示す演奏データ（例えば、ＭＩＤＩにおいては、発音開始指示（押鍵指示）を示す演奏データはノート・オンに対応し、発音停止指示（離鍵指示）を示す演奏データはノート・オフに対応する。）に応じて、鍵盤を押鍵動作／離鍵動作させる電子ピアノなどの電子楽器が知られている。
【０００３】
このような電子ピアノなどの電子楽器の鍵盤装置は、演奏者によって操作される揺動可能な複数の鍵と、これら複数の鍵毎に配設されるソレノイドとを有して構成され、自動演奏装置などからの演奏データに応じてソレノイドを駆動して、鍵を押鍵動作／離鍵動作させるものである。
【０００４】
具体的には、自動演奏装置などから出力される演奏データの発音開始指示（押鍵指示）のキー・ナンバーが示す鍵に対応するソレノイドに通電を行い、当該発音開始指示（押鍵指示）のキー・ナンバーが示す鍵が押鍵動作されて押鍵状態となり、また、自動演奏装置から出力される演奏データの発音停止指示（離鍵指示）のキー・ナンバーが示す鍵に対応するソレノイドへの通電を終了し、当該発音停止指示（離鍵指示）のキー・ナンバーが示す鍵が離鍵動作されて離鍵状態となる。
【０００５】
従って、ソレノイドに十分な電力が供給されないような場合には、過負荷状態となりソレノイドによる鍵の押鍵動作が行われず、演奏データに応じた鍵の押鍵動作が実現されない恐れがある。
【０００６】
しかしながら、上記したような電子楽器の鍵盤装置において、十分な電源容量を確保できるようにするためには容量の大きい電源が必要となるが、こうした容量の大きい電源は高価なものであり、当該容量の大きな電源を電子楽器の鍵盤装置に配設すると、製造コストなどが増大し、高価なものになるという問題点があった。
【０００７】
また、演奏データに従い長時間にわたって所定のソレノイドに通電が行われ、当該ソレノイドに配設された鍵が長時間にわたって押鍵状態になるような場合には、当該ソレノイドが過熱して焼き付いてしまう恐れがある。
【０００８】
そこで、所定のソレノイドに長時間にわたって通電が行われることを回避するためには、鍵が押鍵状態にある時間（なお、本明細書においては、「鍵が押鍵状態にある時間」を「押鍵時間」と適宜称することとする。）を検出して、当該押鍵時間が所定の時間以上にならないように制御すればよい。
【０００９】
【発明が解決しようとする課題】
本発明は、上記したような従来の技術の有する種々の問題点に鑑みてなされたものであり、その目的とするところは、同時に押鍵状態になる鍵の数を制限するようにして、消費電流が電源の最大定格を越えないようにした鍵盤装置を提供しようとするものである。
【００１０】
また、本発明の目的とするところは、鍵の押鍵時間を制限するようにして、消費電流が電源の最大定格を越えないようにした鍵盤装置を提供しようとするものである。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に記載の発明は、演奏データの発音開始指示に応じて鍵盤を押鍵動作するとともに、演奏データの発音停止指示に応じて鍵盤を離鍵動作する鍵盤装置において、演奏データの発音開始指示から発音停止指示までの時間を検出する検出手段と、上記検出手段によって検出された発音開始指示から発音停止指示までの時間を所定の時間と比較する比較手段と、上記比較手段の比較結果が上記検出手段によって検出された発音開始指示から発音停止指示までの時間の方が上記所定の時間に比べて長い場合に、上記検出手段によって検出された発音開始指示から発音停止指示までの時間を上記所定の時間に一致させる制御手段とを有するようにしたものである。
【００１５】
従って、本発明の請求項１に記載の発明によれば、鍵の押鍵時間を制限することが可能となるので、消費電流が電源の最大定格を越えることを防止することができる。
【００１６】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による鍵盤装置の実施の形態の一例を詳細に説明する。
【００１７】
図１には、本発明による鍵盤装置の実施の形態の一例を備えた電子楽器のブロック構成図が示されており、この電子楽器は、その全体の動作の制御を中央処理装置（ＣＰＵ）１０を用いて制御するように構成されている。
【００１８】
このＣＰＵ１０には、バス１２を介して、ＣＰＵ１０の動作を制御するためのプログラムなどが記憶されたリード・オンリ・メモリ（ＲＯＭ）１４と、ＣＰＵ１０によるプログラムの実行に必要な各種レジスタ群やフラグなどが設定されたランダム・アクセス・メモリ（ＲＡＭ）１６と、演奏データを記憶するとともにバス１２を介して記憶した演奏データを出力する自動演奏装置（シーケンサー）１８と、シーケンサー１８からの演奏データに基づいて楽音信号を生成する音源２０と、演奏データを入力して当該演奏データに応じた駆動信号を生成して後述する鍵盤装置２６のソレノイド３２に出力するソレノイド駆動制御部２４と、演奏者によって操作される揺動可能な複数の鍵３０と当該鍵３０のそれぞれに配設されたソレノイド３２と鍵３０を動作させる鍵機構とを有する鍵盤装置２６と、この鍵盤装置２６に電源が投入されてからの経過時間を計数するととに所定の時間間隔でＣＰＵ１０にタイマー割り込みをかけるためのタイマー３４とが接続されている。
【００１９】
また、音源２０には、アンプやスピーカーなどにより構成され、音源２０によって生成された楽音信号を聴取し得る楽音として空間に放音するサウンド・システム２２が接続されている。
【００２０】
また、符号２８は、自動演奏装置（シーケンサー）などの外部のＭＩＤＩ機器１００が接続されるＭＩＤＩインターフェース（ＭＩＤＩ  Ｉ／Ｆ）であり、外部のＭＩＤＩ機器１００によって生成された演奏データを入力したり、外部のＭＩＤＩ機器１００へ演奏データを出力したりするなどの制御を行うものである。
【００２１】
ここで、この実施の形態に関する説明においては、説明を簡略化して本発明の理解を容易にするために、処理対象の演奏データとしては、シーケンサー１８が予め記憶した演奏データを出力して用いるものとしたが、これに限られるものではないことは勿論であり、外部記憶手段に記憶された演奏データを読み出すようにしてもよい。
【００２２】
また、この電子楽器においては、図示しない各種の操作子群を備えており、適宜の操作子を操作することにより、シーケンサー１８から出力される演奏データや、ＭＩＤＩインターフェース２８から入力される演奏データを任意に選択することができるようになされているものとする。
【００２３】
以下、上記した各構成のうち本発明の実施に関連するものについて、適宜に説明するものとする。
【００２４】
まず、シーケンサー１８は、上記したように演奏データを出力するものであり、当該シーケンサー１８から出力される演奏データには、図２（ａ）に示す第１形式の演奏データと、図２（ｂ）に示す第２の形式の演奏データとがある。
【００２５】
この第１形式の演奏データは、押鍵される鍵を示す鍵番号データ（Ｋｅｙ  Ｎｕｍｂｅｒ：キー・ナンバー）、押鍵指示を示す発音開始指示データ（ＮｏｔｅＯｎ：ノート・オン）、鍵が押鍵される速度を示す押鍵速度データ（Ｖｅｌｏｃｉｔｙ：ベロシティー）ならびに鍵が押鍵状態にある時間、即ち、発音中の時間を示す押鍵時間データ（Ｇａｔｅ  Ｔｉｍｅ：ゲート・タイム）から構成されるものである。なお、この第１形式の演奏データにおいては、発音開始から押鍵時間データ（ゲート・タイム）に示す時間が経過すると、発音停止指示データ（Ｎｏｔｅ  Ｏｆｆ：ノート・オフ）が出力されることになる。
【００２６】
そして上記した第１形式の演奏データ（図２（ａ）参照）は、この電子楽器においては、発音開始指示データ（ノート・オン）および時間情報（Ｔｉｍｅ）と当該発音開始指示データに対応する発音停止指示データ（Ｎｏｔｅ  Ｏｆｆ：ノート・オフ）および時間情報（Ｔｉｍｅ）との組により構成される第２形式の演奏データ（図２（ｂ）参照）に変換されるものである。
【００２７】
なお、第１形式の演奏データを変換して第２形式の演奏データを生成する処理は、従来より公知の処理であるのでその詳細な説明は省略するものとする。
【００２８】
ソレノイド駆動制御部２４は、発音開始指示データ（ノート・オン）に応じて駆動信号を生成して、当該生成された駆動信号を当該発音開始指示データ（ノート・オン）のキー・ナンバーが示す鍵３０に配設されたソレノイド３２に出力する。
【００２９】
また、ソレノイド駆動制御部２４は、発音停止指示データ（ノート・オフ）に応じて駆動信号の生成を停止するものである。
【００３０】
そして、ソレノイド３２は、ソレノイド駆動制御部２４からの駆動信号が出力されて電力の供給が行なわれると、鍵３０を押鍵状態とし、ソレノイド駆動制御部２４からの駆動信号の出力が停止されて電力の供給が停止されると、鍵３０を離鍵状態とする。
【００３１】
また、タイマー３４は、上記したようにこの電子楽器に電源が投入されてからの経過時間を計数するとともに所定の時間間隔でＣＰＵ１０にタイマー割り込みをかけるものであり、当該所定の時間間隔でＣＰＵ１０に対してタイマー割り込みがかけられると、後述する定期サービス処理ルーチン（図５）が実行されるものである。
【００３２】
次に、ＲＡＭ１４には、図３に示すように、発音停止指示データ（ノート・オフ）を予約するためのテーブルが設定されており、このテーブルはキー・ナンバーを記憶する「鍵番号」の欄と、当該「鍵番号」に記憶されるキー・ナンバーの残り待ち時間を記憶する「残り待ち時間」の欄とによって構成されている。
【００３３】
「鍵番号」の欄には、シーケンサー１８から第１形式の演奏データの発音開始指示データ（ノート・オン）が出力されると、当該発音開始指示データ（ノート・オン）のキー・ナンバーが記憶されるものである。
【００３４】
一方、「残り待ち時間」の欄には、「鍵番号」に記憶されたキー・ナンバーの押鍵時間データ（ゲート・タイム）が記憶され、タイマー３４によりＣＰＵ１０に対してタイマー割り込みがかけられて後述する定期サービス処理ルーチン（図５）が実行されると、当該押鍵時間データ（ゲート・タイム）から経過時間が減算された差、即ち、発音停止指示データ（ノート・オフ）を出力するまでの残りの待ち時間が記憶される。
【００３５】
この「残り待ち時間」の欄に記憶される発音停止指示データ（ノート・オフ）を出力するまでの残りの待ち時間がマイナスの場合は、発音停止指示データ（ノート・オフ）の予約時間が過ぎたことになるので、後述する定期サービス処理ルーチンの処理によって、当該「残り待ち時間」の欄と対応する「鍵番号」の欄とが開放される。
【００３６】
なお、開放された「鍵番号」の欄には「−１」が記憶され（図３参照）、このような「鍵番号」の欄に「−１」が記憶されている「鍵番号」の欄と当該「鍵番号」に対応する「残り待ち時間」の欄にのみ、新たにキー・ナンバーとその残り待ち時間とを記憶することができる。
【００３７】
そして、この発音停止指示データ（ノート・オフ）を予約するためのテーブルには、この電子楽器において同時に押鍵状態となることが可能な鍵の数、即ち、最大押鍵数ｎと等しい数の「鍵番号」の欄と「残り待ち時間」の欄とが設定されている。なお、最大押鍵数ｎは、音源２０の同時発音数よりも少ないものである。
【００３８】
なお、図３には、シーケンサー１８から第１形式の演奏データのキー・ナンバー６４、キー・ナンバー６６ならびにキー・ナンバー６８の発音開始指示データ（ノート・オン）がそれぞれ出力されて、「鍵番号」の欄にキー・ナンバー６４を示す「６４」が記憶され、当該「鍵番号」に対応した「残り待ち時間」の欄にキー・ナンバー６４の発音停止指示データ（ノート・オフ）までの残りの待ち時間である２０００ｍｓｅｃが記憶され、また、「鍵番号」の欄にキー・ナンバー６６を示す「６６」が記憶され、当該「鍵番号」に対応した「残り待ち時間」の欄にキー・ナンバー６６の発音停止指示データ（ノート・オフ）までの残りの待ち時間である１５００ｍｓｅｃが記憶され、また、「鍵番号」の欄にキー・ナンバー６８を示す「６８」が記憶され、当該「鍵番号」に対応した「残り待ち時間」の欄にキー・ナンバー６８の発音停止指示データ（ノート・オフ）までの残りの待ち時間である１９５０ｍｓｅｃが記憶されている状態が示されている。
【００３９】
以下、本発明による鍵盤装置の実施の形態の一例を備えた電子楽器の動作について、図４乃至図５に示すフローチャートを参照しながら説明することとする。
【００４０】
まず、図４のフローチャートに示すシーケンサー１８からのノート・イベントにより起動される処理ルーチンについて説明すると、このシーケンサー１８からのノート・イベントにより起動される処理ルーチンは、この電子楽器にシーケンサー１８からノート・イベント、即ち、第１形式の演奏データが出力されると起動される割り込みルーチンである。
【００４１】
なお、このシーケンサー１８からのノート・イベントにより起動される処理ルーチン（図４参照）と後述する定期サービス処理ルーチン（図５参照）とはともに、第１形式の演奏データから第２形式の演奏データへの変換処理を行う機構において実行されるものである。
【００４２】
このシーケンサー１８からのノート・イベントにより起動される処理ルーチンにおいては、シーケンサー１８から第１形式の演奏データが出力され、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）に開放されている「鍵番号」の欄と「残り待ち時間」の欄とがない場合に、優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄とを開放する処理が行なわれ、また、「残り待ち時間」の欄に記憶される押鍵時間データ（ゲート・タイム）を所定の時間より短く制限する処理が行なわれ、また、「鍵番号」の欄と当該「鍵番号」に対応する「残り待ち時間」に演奏データのキー・ナンバーとその残り待ち時間とが記憶される処理が行われるものである。
【００４３】
このシーケンサー１８からのノート・イベントにより起動される処理ルーチンが起動されると、まず、ステップＳ４０２の処理において、シーケンサー１８から出力された第１形式の演奏データの発音開始指示データ（ノート・オン）がソレノイド駆動制御部２４に出力される。
【００４４】
そして、当該出力された発音開始指示データ（ノート・オン）に応じてソレノイド駆動制御部２４は駆動信号を生成し、当該生成された駆動信号が当該発音開始指示データ（ノート・オン）のキー・ナンバーが示す鍵３０に配設されたソレノイド３２に出力されて、ソレノイド３２に電力の供給が行なわれ当該鍵３０が押鍵状態となる。
【００４５】
ステップＳ４０２に続いてステップＳ４０４においては、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）において開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出する空きメモリの検出処理を行なう。
【００４６】
具体的には、最大押鍵数ｎと等しい数の設定されている「鍵番号」の欄のそれぞれに「−１」が記憶されているか否かを判断し、「鍵番号」の欄に「−１」が記憶されている場合には、当該「鍵番号」は開放されており、「鍵番号」の欄に「−１」が記憶されていない場合には、当該「鍵番号」は開放されていないものである。
【００４７】
ステップＳ４０４を終了すると、ステップＳ４０６に進み、ステップＳ４０４の発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）における開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出処理の結果、開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出が行われか否かを判断し、開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出が行われたと判断された場合には、ステップＳ４１４に進み、開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出が行われないと判断された場合には、ステップＳ４０８に進む。
【００４８】
ここで、ステップＳ４０６において、開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出が行われたと判断された場合には、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）は、「鍵番号」の欄と「残り待ち時間」の欄との全てに演奏データのキー・ナンバーとその残り待ち時間とは記憶されてなく、一方、ステップＳ４０６において開放されている「鍵番号」の欄と「残り待ち時間」の欄との検出が行われないと判断された場合には、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）は、「鍵番号」の欄と「残り待ち時間」の欄との全てに演奏データのキー・ナンバーとその残り待ち時間とが最大押鍵数ｎと等しい数の記憶されるているものである。
【００４９】
そして、ステップＳ４０８においては、優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄との検出処理が行なわれる。
【００５０】
なお、この実施の形態においては、「残り待ち時間」の欄に記憶されている発音停止指示データ（ノート・オフ）までの残りの待ち時間が最小値の「鍵番号」の欄と「残り待ち時間」の欄とを、優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄とするように設定されている。
【００５１】
従って、ステップＳ４０８においては、最大押鍵数ｎと等しい数の「残り待ち時間」の欄に全てに記憶されたｎ個の発音停止指示データ（ノート・オフ）までの残りの待ち時間の中から最小値を検出し、当該最小値が記憶された「鍵番号」の欄と「残り待ち時間」の欄とを、優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄として検出してステップＳ４１０に進む。
【００５２】
ステップＳ４１０においては、ステップＳ４０８の処理によって検出された優先順位の最も低い「鍵番号」の欄に記憶されたキー・ナンバーについて、発音停止指示データ（ノート・オフ）をソレノイド駆動制御部２４に出力する。この結果、ソレノイド駆動制御部２４における駆動信号の生成が停止されて、ソレノイド３２への電力の供給は停止され鍵３０は離鍵状態となる。
【００５３】
ステップＳ４１０を終了するとステップＳ４１２に進み、ステップＳ４０８の処理によって検出された優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄とに記憶された発音停止指示データ（ノート・オフ）の処理は、既にステップＳ４１０の処理によって本来のタイミングよりも先行して行なわれたので、ステップＳ４０８の処理によって検出された優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄とを開放してステップＳ４１４に進む。
【００５４】
ステップＳ４１４においては、所定の時間とステップＳ４０２においてシーケンサー１８から入力された第１形式の演奏データの押鍵時間データ（ゲート・タイム）の示す押鍵時間との比較処理を行ない、所定の時間に比べて押鍵時間データ（ゲート・タイム）の示す押鍵時間が長い場合にはステップＳ４１６に進み、所定の時間に比べて押鍵時間データ（ゲート・タイム）の示す押鍵時間が短い場合にはステップＳ４１８に進む。
【００５５】
なお、ステップＳ４１４における所定の時間とは、ソレノイド３２の配設された鍵３０が長時間にわたって押鍵状態となるような場合に、当該ソレノイド３２が過熱して焼き付いてしまうことを回避することができる程度に予め設定された時間である。
【００５６】
ステップＳ４１６においては、ステップＳ４０２においてシーケンサー１８から入力された第１形式の演奏データの押鍵時間データ（ゲート・タイム）の示す押鍵時間を所定の時間に変更してステップＳ４１８に進む。
【００５７】
そして、ステップＳ４１８においては、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）の開放されている「鍵番号」の欄に、ステップＳ４０２においてシーケンサー１８から入力された第１形式の演奏データの鍵番号データ（キー・ナンバー）を記憶し、当該「鍵番号」の欄に対応する「残り待ち時間」の欄に、ステップＳ４０２においてシーケンサー１８から入力された第１形式の演奏データの押鍵時間データ（ゲート・タイム）を記憶する。
【００５８】
この際、「残り待ち時間」の欄に記憶される押鍵時間データ（ゲート・タイム）の示す押鍵時間は、ステップＳ４１４乃至ステップＳ４１６の処理により所定の時間以下とされているものである。
【００５９】
そして、このステップＳ４１８の処理を終了すると、このノート・イベントにより起動される処理ルーチンを終了する。
【００６０】
次に、図５に示す定期サービス処理ルーチンについて説明すると、この定期サービス処理ルーチンは、ＣＰＵ１０がタイマー３４から所定の時間間隔で出力される割り込み信号を入力する度に読み出され起動される割り込みルーチンである。即ち、定期サービス処理ルーチンは、所定の時間間隔で定期的に起動することになる。
【００６１】
この定期サービス処理ルーチンが起動されると、まず、ステップＳ５０２において、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）の「残り待ち時間」の欄に記憶されている発音停止指示データ（ノート・オフ）までの残りの待ち時間から、タイマー３４によって計数されている経過時間を減算した差を新たな発音停止指示データ（ノート・オフ）までの残りの待ち時間として「残り待ち時間」の欄に記憶する。
【００６２】
ステップＳ５０２を終了すると、ステップＳ５０４に進み、「残り待ち時間」に記憶される発音停止指示データ（ノート・オフ）までの残りの待ち時間がマイナスの場合は、発音停止指示データ（ノート・オフ）の予約時間が過ぎたことになるので、当該「残り待ち時間」の欄に対応する「鍵番号」の欄に記憶されているキー・ナンバーについて、発音停止指示データ（ノート・オフ）をソレノイド駆動制御部２４に出力する。
【００６３】
その結果、ソレノイド駆動制御部２４における駆動信号の生成が停止されて、ソレノイド３２への電力の供給は停止され鍵３０は離鍵状態となる。一方、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）の当該「残り待ち時間」の欄と対応する「鍵番号」の欄とは開放され、当該開放された「鍵番号」の欄に「−１」を記憶する。
【００６４】
このステップＳ５０４の処理を終了すると、この定期サービス処理ルーチンを終了する。
【００６５】
上記したようにして、本発明による電子楽器においては、シーケンサー１８からの演奏データに応じて音源２０が楽音信号を生成するとともに、当該演奏データに応じて同時に押鍵状態となる鍵の数が最大押鍵数ｎ以下に制限されることになり、しかも、鍵３０の押鍵時間が所定の時間より短く制限されるので、消費電流が電源の最大定格を越えることがなく、過負荷状態を回避してソレノイド３２による鍵３０の押鍵動作を行なうことができるとともに、当該ソレノイド３２の配設された鍵３０が長時間にわたって押鍵状態となり、当該ソレノイド３２が過熱して焼き付いてしまうようなことを回避することができる。
【００６６】
しかも、シーケンサー１８から出力される発音開始指示データ（ノート・オン）および発音停止指示データ（ノート・オフ）は直接音源２０に供給されるようになっているので、押鍵数が最大押鍵数ｎを越えて強制的に離鍵状態になった鍵があったとしても、音源２０では演奏データ通りに楽音信号は生成されるようになっている。
【００６７】
また、必要な電源容量が減少し容量の大きな電源を用いることがないので、製造コストなどが減少し安価なものとすることができる。
【００６８】
そして、この電子楽器においては、上記したようにしてソレノイド駆動制御部２４は、シーケンサー１８から出力された第１形式の演奏データの発音開始指示データ（ノート・オン）に応じて駆動信号を生成して、当該駆動信号を当該発音開始指示データ（ノート・オン）のキー・ナンバーが示す鍵３０に配設されたソレノイド３２に出力するものであるが、当該駆動信号は図６（ａ）（ｂ）に示すような２種類の波形を有するものである。
【００６９】
より詳細には、駆動信号のソレノイド３２への出力が開始されて１７０ｍｓｅｃの間は、初期駆動波形（図６（ａ）ｃｈ２参照）の駆動信号がソレノイド駆動制御部２４から出力され、当該初期駆動波形に対応した多量の電力がソレノイド３２に供給されて、初期の大きな駆動力が得られる。
【００７０】
そして、駆動信号のソレノイド３２への出力が開始されて１７０ｍｓｅｃ以降は、保持波形（図６（ａ）ｃｈ１参照）の駆動信号がソレノイド駆動制御部２４から出力され、当該保持波形に対応した電力がソレノイド３２に供給されて保持力が得られる。
【００７１】
ここで、図７に示すように、最大押鍵数ｎと等しい数だけ配設された出力ポート４０に上記した初期駆動波形あるいは保持波形が出力され、電子スイッチ４２によってソレノイド３２への電力供給がオン・オフされ、インターフェース回路４４によってソレノイド３２への印加電圧が論理電圧レベルへ変換され、当該インターフェース回路４４の出力のＯＲ演算が論理和回路４６によって行なわれて出力信号が生成されることになる。
【００７２】
従って、位相０における出力ポート４０のレベルは初期駆動波形であっても保持波形であってもＬＯＷレベルなので（図６（ａ）参照）、このタイミングにおいて、ソレノイド３２からのフィードバック信号である論理和回路４６によって生成された出力信号の論理を検証して、電子スイッチ４２の故障を検出することができる。
【００７３】
このため、電子スイッチ４２が導通状態で故障した場合でも、鍵３０が押鍵されたままの状態となって過熱してしまい、ソレノイド３２が破壊されるようなことを防止することができる。
【００７４】
なお、上記した本発明による実施の形態においては、「残り待ち時間」の欄に記憶されている発音停止指示データ（ノート・オフ）までの残りの待ち時間が最小値の「鍵番号」の欄と「残り待ち時間」の欄とを、優先順位の最も低い「鍵番号」の欄と「残り待ち時間」の欄とするようにしたが、これに限られるものではないことは勿論であり、優先順位の最も低いメモリは、例えば、「残り待ち時間」の欄に記憶されている発音停止指示データ（ノート・オフ）までの残りの待ち時間の最大値の「鍵番号」の欄と「残り待ち時間」の欄としてもよいし、押鍵速度データ（ベロシティー）の最大値あるいは最小値としてもよいし、最も古い発音開始指示データ（ノート・オン）としてもよいし、最も新しい発音開始指示データ（ノート・オン）としてもよいし、現在発音中の出力レベルの最高レベルあるいは最低レベルとしてもよいし、最高の音高あるいは最低の音高としてもよい。
【００７５】
この際、上記した優先順位の内容に応じて、ステップＳ４１８の処理において、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）の「鍵番号」の欄と「残り待ち時間」の欄とに対応して押鍵速度データ（ベロシティー）や、記憶された順番を示す通し番号などを記憶する。
【００７６】
また、上記した本発明による実施の形態において、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）の「残り待ち時間」の欄に記憶される押鍵時間データ（ゲート・タイム）を、シーケンサー１８で用いるＴｉｃｋ数に換算して記憶するようにしてもよい。
【００７７】
このＴｉｃｋ数（Ｗａｉｔ  Ｔｉｃｋ）への変換は、押鍵時間データ（ゲート・タイム）の示す押鍵時間（Ｗａｉｔ  Ｓｅｃ）とテンポ（Ｔｅｍｐｏ：１分間に進む四分音符の数）とＴＰＱＮ（四分音符あたりのＴｉｃｋ数）とを用いて、「Ｗａｉｔ  Ｔｉｃｋ＝Ｗａｉｔ  Ｓｅｃ／（６０／（Ｔｅｍｐｏ×ＴＰＱＮ））」の演算により行うことができる。
【００７８】
このようにして、Ｔｉｃｋ数に換算された押鍵時間データ（ゲート・タイム）を「残り待ち時間」の欄に記憶すると、タイマー・イベントがＴｉｃｋのタイミングで発生する場合に、通常は演奏データもＴｉｃｋの単位で時間を示すので、演算量が減少しＣＰＵ１０の負荷を低減することができる。
【００７９】
また、上記した本発明による実施の形態においては、ソレノイド駆動制御部２４に発音停止指示データ（ノート・オフ）が出力されると、ソレノイド駆動制御部２４における駆動信号の生成が停止されて、ソレノイド３２への電力の供給が停止されるようにしたが、これに限られるものではないことは勿論でり、ソレノイド駆動制御部２４に発音停止指示データ（ノート・オフ）ではなくトランケート要求が出力されるようにして、発音停止指示データ（ノート・オフ）の出力の後にソレノイド３２への電力の供給が即座に停止するのではなく、例えば、鍵３０が最も下方位置まで下がって押鍵状態となるのを待ってソレノイド３２への電力の供給を停止するようにしてもよい。
【００８０】
つまり、ソレノイド駆動制御部２４にトランケート要求が出力されることによって、発音停止指示データ（ノート・オフ）を予約するためのテーブル（図３参照）の「鍵番号」の欄と「残り待ち時間」の欄との開放のタイミングに比べて、遅いタイミングでソレノイド３２への電力の供給を停止することができるものである。
【００８１】
また、上記した本発明による実施の形態においては、鍵盤装置を備えた電子楽器がシーケンサー１８を内蔵しているようにしたが、シーケンサーを内蔵していない電子楽器においても、上記した本発明による鍵盤装置の実施は可能である。
【００８２】
なお、その場合には、ＭＩＤＩインターフェース２８を介して外部に接続されたＭＩＤＩ機器から、発音開始指示データ（ノート・オン）および発音停止指示データ（ノート・オフ）が入力されるようにすればよい。
【００８３】
また、上記した本発明による実施の形態においては、鍵盤装置を備えた電子楽器が音源２０を内蔵している電子楽器に一体化されたものとしたが、音源を内蔵していない単なる鍵盤装置としてもよいことは勿論である。
【００８４】
また、上記した本発明による実施の形態においては、シーケンサー１８から出力される発音開始指示データ（ノート・オン）および発音停止指示データ（ノート・オフ）は直接音源２０に供給されるようになっているので、押鍵数が最大押鍵数ｎを越えて強制的に離鍵状態になった鍵があったとしても、音源２０では演奏データ通りに楽音信号は生成されるようになっているが、これに代えて、離鍵された鍵に対応する楽音信号を停止させるように制御してもよい。
【００８６】
【発明の効果】
本発明は、以上説明したように構成されているので、鍵の押鍵時間を制限することが可能となり、消費電流が電源の最大定格を越えないようにすることができるという優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明による鍵盤装置の実施の形態の一例を備えた電子楽器を示すブロック構成図である。
【図２】（ａ）は第１形式の演奏データを示す説明図であり、（ｂ）は第２形式の演奏データを示す説明図である。
【図３】発音停止指示データ（ノート・オフ）を予約するためのテーブルを模式的に示す説明図である。
【図４】シーケンサーからのノート・イベントにより起動される処理ルーチンのフローチャートである。
【図５】定期サービス処理ルーチンのフローチャートである。
【図６】（ａ）（ｂ）は、ソレノイド駆動制御部から出力される駆動信号の初期駆動波形と保持波形とを示す波形図である。
【図７】電子スイッチの故障を検出の機構を示す回路図である。
【符号の説明】
１０        中央処理装置（ＣＰＵ）
１２        バス
１４        リード・オンリ・メモリー（ＲＯＭ）
１６        ランダム・アクセス・メモリー（ＲＡＭ）
１８        シーケンサー
２０        音源
２２        サウンド・システム
２４        ソレノイド駆動制御部
２６        鍵盤装置
２８        ＭＩＤＩインターフェース
３０        鍵
３２        ソレノイド
３４        タイマー
１００        外部のＭＩＤＩ機器
【図１】
0004159715.tif 000002
【図２】
0004159715.tif 000003
【図３】
0004159715.tif 000004
【図４】
0004159715.tif 000005
【図５】
0004159715.tif 000006
【図６】
0004159715.tif 000007
【図７】
0004159715.tif 000008