(57)【特許請求の範囲】
【請求項１】
発生すべき楽音を制御するための楽音制御情報を記憶し、該記憶した楽音制御情報に基づき楽音を発生する楽音発生手段と、
前記楽音発生手段に発音させる楽音の態様を特定するためのパラメータ値を記憶するパラメータ値記憶手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定する楽音制御情報設定手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値に応じて、前記楽音発生手段に発生させる楽音の態様を表示する表示手段と、
外部操作により、前記楽音発生手段に発音させる楽音の態様を、前記表示手段に順に表示させながら変更して選択するための操作部と、
前記操作部の操作量に応じて、前記パラメータ値の目標値を設定する目標値設定手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値が前記目標値に一致するよう、該パラメータ値を漸次増減して更新するパラメータ値増減手段と、
を備えた電子楽器であって、
前記パラメータ値記憶手段に記憶されたパラメータ値と前記目標値設定手段により設定された目標値とが一致していないときは、前記楽音制御情報設定手段が、該パラメータ値に応じた楽音制御情報を前記楽音発生手段に設定するのを禁止する楽音制御情報設定禁止手段を備えたことを特徴とする電子楽器。
【請求項２】
発生すべき楽音を制御するための楽音制御情報を記憶し、該記憶した楽音制御情報に基づき楽音を発生する楽音発生手段と、
前記楽音発生手段に発音させる楽音の態様を特定するためのパラメータ値を記憶するパラメータ値記憶手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定する楽音制御情報設定手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値に応じて、前記楽音発生手段に発生させる楽音の態様を表示する表示手段と、
外部操作により、前記楽音発生手段に発音させる楽音の態様を、前記表示手段に順に表示させながら変更して選択するための操作部と、
前記操作部の操作量に応じて、前記パラメータ値の目標値を設定する目標値設定手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値が前記目標値に一致するよう、該パラメータ値を漸次増減して更新するパラメータ値増減手段と、
を備えた電子楽器であって、
前記目標値設定手段により設定される目標値を、前記パラメータ値記憶手段に記憶されたパラメータ値との差が予め定められた値以内となるよう抑制する目標値抑制手段を備えたことを特徴とする電子楽器。
【請求項３】
発生すべき楽音を制御するための楽音制御情報を記憶し、該記憶した楽音制御情報に基づき楽音を発生する楽音発生手段と、
前記楽音発生手段に発音させる楽音の態様を特定するためのパラメータ値を記憶するパラメータ値記憶手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定する楽音制御情報設定手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値に応じて、前記楽音発生手段に発生させる楽音の態様を表示する表示手段と、
外部操作により、前記楽音発生手段に発音させる楽音の態様を、前記表示手段に順に表示させながら変更して選択するための操作部と、
前記操作部の操作量に応じて、前記パラメータ値の目標値を設定する目標値設定手段と、
前記パラメータ値記憶手段に記憶されたパラメータ値が前記目標値に一致するよう、該パラメータ値を漸次増減して更新するパラメータ値増減手段と、
を備えた電子楽器であって、
前記楽音制御情報設定手段は、前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定しているときに、該パラメータ値が前記パラメータ値増減手段により更新されると、該設定を中止し、該更新後のパラメータ値に応じた楽音制御情報を該楽音発生手段に設定することを特徴とする電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、様々な態様の楽音を発生可能な電子楽器に関する。
【０００２】
【従来の技術】
近年電子楽器においては高性能・高機能化が促進されており、外部から種々の情報を与えて、電子楽器から所望の状態で動作させることができるようになっている。この様な情報としては、例えば、音色、音量等があるが、夫々の音色には番号（音色番号）が付与され、また音量も数値化されている。使用者は、こうした音色番号、音量値等のパラメータ値を指定することで、電子楽器の性能・機能を十分に利用した演奏をおこなうことができる。そして、こうした指示するための手段として、例えば、ダイヤル式のインクリメンタやアップダウンスイッチ等が知られている。
【０００３】
インクリメンタは、円盤状に形成され、軸を中心に回転操作可能に構成されたものであり、使用者が一定角度だけ回転させる毎に、その回転方向がイベント情報として検出される。そして、例えば、右回りに回転された場合はパラメータ値を「１」増やし、左方向に回転された場合には「１」減らすという様に、インクリメンタの回転方向に応じてパラメータ値が増減され、音色や音量等が変更される。
【０００４】
【発明が解決しようとする課題】
このインクリメンタによれば、回転という簡単な操作でパラメータ値の増減が容易に指示できるので大変便利である。しかし、微小角度の回転毎に１つのイベント情報として検出され、例えば１周回転させるだけで数十ものイベント情報が発生される。この様に多数のイベント情報が短期間に発生された場合、各イベント情報に対する処理が追いつかないので、発生されたイベント情報は、一旦、記憶媒体（ＲＡＭ等）に定義されているバッファに蓄えられ、その後、各イベント情報に対する処理が１つずつ行われる。そのため、バッファには、一時的に数百ものイベントに対するイベント情報が溜まることがある。
【０００５】
こうしてバッファに蓄えられたイベント情報が自動伴奏のテンポの増減などの簡単な処理であれば大して問題とならないが、扱うデータ量が多い処理や複雑な処理（例えばトータルボリューム（全系列の音量）や音色等の楽音の態様を変更するための処理）は、１つのイベント情報に対する処理に長時間必要であり、バッファに溜まった全てのイベント情報を処理するためにはかなり長い時間が必要となる。
【０００６】
例えば、発音中に、トータルボリュームや音色等のパラメータ値の変更が指示されると、次の様な処理が行われる。即ち、まず音源のアサイメントメモリの記憶を一旦消去し、次に新たなパラメータ値に基いて楽音を制御するための情報（楽音制御情報）を作成し、その楽音制御情報をアサイメントメモリに設定する。発音させる旨の情報を音源に送って再発音させる。つまり、トータルボリュームや音色等のパラメータ値の変更の指示というイベント情報が発生した場合には、こうした一連の処理に対して数百ｍｓｅｃ程度の時間が費やされるのである。
【０００７】
そのため、インクリメンタの操作量が多く、例えば数十ものイベント情報が短い時間に発生してバッファに溜まると、そのインクリメンタへの操作を終えてからバッファ内のイベント情報が処理されて無くなるまでには、長い場合には数秒かかることになる。つまり、インクリメンタ等の操作部の操作を止め、別の操作をしたくても、それまでに為された操作に対する処理動作はすぐには終了しないため、長い時間待たなければならないという問題があったのである。
【０００８】
なお、こうした問題は、インクリメンタに限らず、パラメータ値を増減させる一対のアップダウンスイッチを、短時間の内に何回も押したり、長時間押し続けたりした場合（即ちアップダウンスイッチの操作量が多い場合）にも同様に起っていた。
【０００９】
本発明は、上記課題に鑑みなされたものであり、電子楽器において、楽音の態様を変更するための操作部を操作した後、その操作に基く処理動作を速やかに終了可能とすることを目的とする。
【００１０】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた本発明の請求項１に記載の電子楽器は、発生すべき楽音を制御するための楽音制御情報を記憶し、該記憶した楽音制御情報に基づき楽音を発生する楽音発生手段と、前記楽音発生手段に発音させる楽音の態様を特定するためのパラメータ値を記憶するパラメータ値記憶手段と、前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定する楽音制御情報設定手段と、前記パラメータ値記憶手段に記憶されたパラメータ値に応じて、前記楽音発生手段に発生させる楽音の態様を表示する表示手段と、外部操作により、前記楽音発生手段に発音させる楽音の態様を、前記表示手段に順に表示させながら変更して選択するための操作部と、前記操作部の操作量に応じて、前記パラメータ値の目標値を設定する目標値設定手段と、前記パラメータ値記憶手段に記憶されたパラメータ値が前記目標値に一致するよう、該パラメータ値を漸次増減して更新するパラメータ値増減手段とを備えた電子楽器であって、
前記パラメータ値記憶手段に記憶されたパラメータ値と前記目標値設定手段により設定された目標値とが一致していないときは、前記楽音制御情報設定手段が、該パラメータ値に応じた楽音制御情報を前記楽音発生手段に設定するのを禁止する楽音制御情報設定禁止手段を備えたことを特徴とする。
【００１１】
この様に請求項１記載の電子楽器においては、楽音発生手段が、発生すべき楽音を制御するための楽音制御情報を記憶し、その楽音制御情報に基づき楽音を発生する。そして、パラメータ値記憶手段が、楽音発生手段に発生させる楽音の態様を特定するためのパラメータ値を記憶しており、楽音制御情報設定手段が、そのパラメータ値に応じた楽音制御情報を楽音発生手段に設定する。一方、表示手段が、パラメータ値に基き楽音の態様を表示しており、目標値設定手段が、操作部の操作量に応じてパラメータ値の目標値を設定すると、その設定された目標値に一致するよう、パラメータ値増減手段がパラメータ値を漸次増減して更新する。そして特に、楽音制御情報設定禁止手段が、パラメータ値と目標値とが一致していないときは、楽音制御情報設定手段による楽音発生手段への楽音制御情報の設定を禁止するのである。
【００１２】
すなわち、請求項１に記載の電子楽器においては、操作部の操作量に応じて、パラメータ値の目標値を設定し、パラメータ値を、その目標値に一致するよう漸次増減させるが、パラメータ値に基く楽音制御情報の設定は、パラメータ値が更新される度に行うのではなく、パラメータ値が目標値に一致していないときには行わず、パラメータ値が目標値に追い付いて一致したときに初めて行うのである。
【００１３】
請求項１に記載の電子楽器による効果を説明するために、次の様な例、即ち、使用者が、所望の楽音の態様を表示手段で探しながら、操作部を操作（即ち楽音態様の変更を指示する変更操作）する場合を考える。
表示手段に表示される楽音態様は、操作部への操作に伴って順々に変わって行くので、使用者は、所望の楽音態様の表示を見つけたときに操作を止めて、自己の好みの楽音態様を選べる。こういう場合、従来は、操作部への操作に対応してパラメータ値が変更される毎に楽音制御情報を楽音発生手段に設定する処理をしていたので、使用者による操作量が多いと、その操作に対応する処理が間に合わなくなり、操作部への操作を止めても、直ぐには処理を終えることができず、使用者を待たせてしまう。
【００１４】
しかし、請求項１に記載の電子楽器では、「楽音制御情報を楽音発生手段に設定する」という長時間を要する処理は、パラメータ値が目標値に一致したときだけに行うことから、楽音態様の変更を指示する操作量が多くても、その操作に対する処理動作を従来よりも迅速に終えることができる。つまり、所望の楽音態様の表示を発見して操作を止めると、それまでの操作に応じた処理動作は速やかに終了されるので、使用者は長時間待つことなく、直ちに次の操作を行うことができるという様に、電子楽器の操作性が向上するのである。
【００１５】
なお、ここで楽音発生手段とは、波形メモリから波形データを読み出して楽音信号を発生する音源をいい、音源が、楽音に各種の音響効果を付加するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を有する場合には、これを含めて指すものである。
【００１６】
また、発生すべき楽音の態様とは、楽音の音量、楽音の音色、楽音に付加する音響効果に関するもの等が挙げられ、楽音の態様を特定するパラメータ値の具体例としては、例えば、音量値、楽音の残響時間の長さの値、エンベロープ形状毎に付与された番号、音色毎に付与された番号（音色番号）、楽音に音響効果を付加するエフェクトプログラム毎に付与された番号など様々なものが考えられる。
【００１７】
また、「楽音の態様の表示」としては、波形やエンベロープの図形による表示が考えられる他、楽音形成のための設定状態の文字や数値による表示（例えば、音色の名称や番号の表示）が考えられる。
さて、上記課題を解決するためには、請求項２に記載の様に、発生すべき楽音を制御するための楽音制御情報を記憶し、該記憶した楽音制御情報に基づき楽音を発生する楽音発生手段と、前記楽音発生手段に発音させる楽音の態様を特定するためのパラメータ値を記憶するパラメータ値記憶手段と、前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定する楽音制御情報設定手段と、前記パラメータ値記憶手段に記憶されたパラメータ値に応じて、前記楽音発生手段に発生させる楽音の態様を表示する表示手段と、外部操作により、前記楽音発生手段に発音させる楽音の態様を、前記表示手段に順に表示させながら変更して選択するための操作部と、前記操作部への操作に応じて、前記パラメータ値記憶手段に記憶されたパラメータ値の目標値を設定する目標値設定手段と、前記パラメータ値記憶手段に記憶されたパラメータ値が前記目標値検出手段により検出された目標値に一致するよう、該パラメータ値を漸次増減して更新するパラメータ値増減手段とを備えた電子楽器であって、
前記目標値設定手段により設定される目標値を、前記パラメータ値記憶手段に記憶されたパラメータ値との差が予め定められた値以内となるよう抑制する目標値抑制手段を備えたことを特徴とする電子楽器でも良い。
【００１８】
即ち、請求項２記載の電子楽器においては、操作部への操作に応じてパラメータ値の目標値が設定され、パラメータ値がその目標値に一致するよう漸次増減されると、その増減後のパラメータ値に応じた楽音制御情報が楽音発生手段に設定されるのであるが、目標値を、パラメータ値記憶手段に記憶されたパラメータ値との差が予め定められた値以内となるよう抑制する。
【００１９】
つまり、請求項２記載の電子楽器では、操作部の操作量が多くても、目標値とパラメータ値との差が一定の値よりも大きくなると、その差をそれ以上大きくするような操作は、目標値には反映させないよう構成されているので、操作部の操作を止めると、従来よりも速やかに、操作に対する処理動作を終了することができ、使用者は長時間待つことなく、直ちに次の操作を行うことができる。
【００２０】
また、上記課題を解決するためには、請求項３に記載の様に、発生すべき楽音を制御するための楽音制御情報を記憶し、該記憶した楽音制御情報に基づき楽音を発生する楽音発生手段と、前記楽音発生手段に発音させる楽音の態様を特定するためのパラメータ値を記憶するパラメータ値記憶手段と、前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定する楽音制御情報設定手段と、外部操作により、前記楽音発生手段に発音させる楽音の態様を変更するための操作部と、前記操作部への操作に基づき、前記パラメータ値記憶手段に記憶されたパラメータ値を変更するパラメータ値変更手段とを備えた電子楽器であって、
前記楽音制御情報設定手段は、前記パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定しているときに、前記操作部が操作されると、該設定を中止し、その後、該操作に応じて前記パラメータ値変更手段により変更されたパラメータ値に応じた楽音制御情報を該楽音発生手段に設定することを特徴とする電子楽器でもよい。
【００２１】
この様に請求項３に記載の電子楽器においては、楽音制御情報設定手段が、パラメータ値記憶手段に記憶されたパラメータ値に応じた楽音制御情報を前記楽音発生手段に設定しているときに、パラメータ値が更新されると、その設定を中止し、更新後の新たなパラメータ値に応じた楽音制御情報を楽音発生手段に設定し直すのである。
【００２２】
すなわち、従来は、楽音制御情報を楽音発生手段に設定中に、パラメータ値が更新されても、旧のパラメータ値に基く楽音制御情報の全てを設定し終わった後に、新たなパラメータ値に基いた楽音制御情報を設定するようにされていたので、例えば楽音態様の変更を指示する旨の操作量が多いと、その操作に対応する設定処理が追随できない。そのため、操作部への操作を止めても、直ぐには処理を終えることができず、使用者を待たせてしまう。そこで、請求項５に記載の電子楽器においては、新たにパラメータ値が更新されたときは、以前のパラメータ値に応じた全ての楽音制御情報の設定を中止し、新たなパラメータ値に基いた楽音制御情報の設定を開始する。この結果、操作部への操作に対する処理を迅速に終了でき、使用者を待たせないという効果を奏する。
【００２３】
なお、これを実現するには、例えば、楽音制御情報設定手段を次の様にすることが考えられる。即ち、楽音制御情報の楽音発生手段への設定中、パラメータ値の変更があったかどうかを、一定時間毎に調べ、変更がなければ設定処理を続行するが、変更があれば設定を中止し、変更後の新たなパラメータ値に基づいて楽音制御情報を楽音発生手段に設定するよう、楽音制御情報設定手段を構成するのである。また、次の様に構成してもよい。即ち、楽音制御情報を複数のグループに分けて順に楽音発生手段に設定するよう構成し、１つのグループの設定を終了する毎に、パラメータ値の変更があったかどうかを調べる。パラメータ値の変更がなければそのまま設定処理を続行するが、変更があれば、未設定のグループがあってもその設定を中止し、変更後のパラメータ値に応じた新たな楽音制御情報をグループ順に設定するよう、楽音制御情報設定手段を構成しても良い。
【００２４】
以上の様に、上記課題を解決するための手段としては様々なものが考えられ、これらの手段を別々に実施するにしても良いが、後述する実施例の様に組合せると、より優れた効果を発揮する（即ち、操作部の操作後、その操作に基く処理動作を終えるまでの時間をより短くできる）ので好ましい。
【００２５】
【発明の実施の形態】
以下に本発明の一実施例を図面と共に説明する。
図１は、本発明の第１実施例の電子楽器の全体構成を表わすブロック図である。
【００２６】
図１に示す如く、この電子楽器は、ＣＰＵ２、ＲＯＭ４、ＲＡＭ６、タイマ８、パネル１０、キーボード１２、楽音発生回路（ＴＧ）１４、サウンドシステム１６、フレキシブルディスクドライブ（以下、「ＦＤＤ」という。）１８、ＭＩＤＩインターフェイス回路（以下、「Ｉ／Ｆ回路」という。）２０およびこれら各部を結ぶバス２１等から構成されている。
【００２７】
ここでまず、パネル１０には、図２に示す様に液晶表示板２２、パラメータ選択スイッチ２４ａ、２４ｂ、２４ｃ、…（以下総称するときは「パラメータ選択スイッチ２４」という。）、音色選択スイッチ２６、インクリメンタ２８等の操作部が設けられており、この他にも図示しないリズムスタイル選択スイッチ等その他の操作部が多数設けられている。ＣＰＵ２の制御により各操作部（パラメータ選択スイッチ２４、音色選択スイッチ２６、インクリメンタ２８その他の操作部）による入力情報を読み込むためのパネルスキャン回路及び液晶表示板２２を駆動する駆動回路が設けられている。
【００２８】
液晶表示板２２には、当該電子楽器に設定された音色、テンポ、スタイルその他の演奏パラメータが表示される。また液晶表示板２２には、カーソル（斜線で示す）が表示され、使用者が、パラメータ選択スイッチ２４の内の一つを押して、変更したい演奏パラメータを選択すると、その選択された演奏パラメータが表示されている位置にカーソルが移動される。選択された演奏パラメータ、即ちカーソルにより指示された演奏パラメータは、インクリメンタ２８その他の操作部を操作することにより変更できる。このインクリメンタ２８は、使用者により回転軸を中心に回転可能な円板であり、その裏側には、インクリメンタ２８の回転を検出する回転センサ（図示せず）が設けられている。回転センサは、インクリメンタ２８が予め定められた角度だけ回転操作される度に、インクリメンタ２８の回転操作（インクリメンタイベント）及びその回転方向を検出する。そして、カーソルにより指定された演奏パラメータは、インクリメンタ２８の回転に応じて変更される。
【００２９】
例えば、各種演奏パラメータの内、第１メロディーラインの音色を選択するパラメータ選択スイッチ２４ａが押されると、カーソルは、液晶表示板２２内の音色の名称（音色名称）が表示されている位置に移動される。当該電子楽器が発音可能な楽音の音色の各々には予め音色番号が付与されており、この音色番号を上記の音色選択スイッチ２６を押すことにより直接指定したり、インクリメンタ２８の回転操作によって増減したりして変更できる。音色選択スイッチ２６は、複数の音色選択スイッチ２６ａ、２６ｂ、…を備えており、各音色選択スイッチ２６夫々に対して、音色番号が予め設定されている。例えば、ピアノの音色を設定するための音色選択スイッチ２６ａを押すと、”ピアノ”の音色に対して付与された音色番号が設定され、液晶表示板２２に”ＰＩＡＮＯ”と表示されると共に、以後キーボード１２の操作があると、その設定された音色番号が付与された音色で楽音が発音されるのである。また、インクリメンタ２８が右回り（図２中の＋方向）に回転操作されると、音色番号が増やされ、左回り（図２中の−方向）に回転操作されると音色番号が減らされる。つまり、現時点にて設定されている音色の音色番号に対して番号の増減がなされ、その増減された新しい音色番号に対応する音色にて楽音が発音されるようになると共に、液晶表示板２２には、その新しい音色番号に対する音色の名称が表示される。
【００３０】
また、キーボード１２は、複数のキー（本実施例では８８個）及び夫々のキーのキーイベント（即ち押鍵操作、離鍵操作）、押鍵の強弱およびキーナンバー等のキーイベント情報を検出するタッチセンサと、ＣＰＵ２の制御により各キーのタッチセンサをスキャンして、キーイベント情報をＣＰＵ２に転送するキーボードスキャン回路とからなる。
【００３１】
次に、楽音発生回路１４は、時分割多重処理によって、複数チャネル（本実施例では３２チャネル）の独立したデジタル楽音信号を発生することができるものである。アサイメントメモリ１４ａは、デジタル楽音信号を各チャネルから発音するのに必要な、波形読出アドレス、波形読出スピードデータ、フィルター係数、エンベロープ係数、系列データ、キーオンオフフラグ、トランケートフラグ等の楽音制御情報を各チャネル毎に格納するものであり、楽音発生回路１４は、このアサイメントメモリ１４ａの内容に従って各チャネルの発音状態を制御する。
【００３２】
例えば、発音開始は、キーオンオフフラグとして「１」が設定されたときに行い、発音終了はキーオンオフフラグとして「０」が設定されたときに行う。ここで、「発音開始」とは、周知の波形メモリ（図示せず）の波形読出アドレスから波形読出を開始すると共にエンベロープ演算を開始することを意味し、「発音終了」とは、波形読出は続けたままエンベロープ演算をリリースエンベロープ係数に変化させて徐々に音量を減らす処理に移行することを意味する。
【００３３】
また、トランケートフラグとは発音中の音を急いで消音する場合に使用され、キーオンオフフラグが「０」とされると共にトランケートフラグが「１」とされると、エンベロープを通常よりも高速にリリースさせる。
また、系列データとは、上記複数チャネルのデジタル楽音信号を幾つかの系列に分けて累算し、その系列毎の累算結果を、次に述べるデジタルシグナルプロセッサ１４ｂ（ＤＳＰ）への入力楽音信号とするための分配情報である。
【００３４】
ＤＳＰ１４ｂは、楽音発生回路１４に備えられ、各種の音響効果を楽音に付与するためのものである。ＤＳＰ１４ｂは、図示しない記憶部を備えており、この記憶部にエフェクトプログラム、エフェクト係数等の楽音制御情報を記憶する。ＤＳＰ１４ｂはエフェクトプログラム、エフェクト係数等の楽音制御情報に基き、上記チャネルからのデジタル楽音信号に各種音響効果を付与する。そして、上記系列データが異なる毎にコーラス効果、ディレイ効果、リバーブ効果等の各種音響効果を独立に効かせることが可能である。
【００３５】
サウンドシステム１６は、Ｄ／Ａ変換器、アンプおよびスピーカ等から構成され、楽音発生回路１４から出力されるデジタル楽音信号を、Ｄ／Ａ変換器にてアナログ楽音信号に変換し、アンプにて、そのアナログ楽音信号を増幅して、スピーカから楽音を発生させる。
【００３６】
ＣＰＵ２は、ＲＯＭ４に格納された制御プログラム（楽音発生のための制御プログラムその他のＣＰＵ２にて実行される制御手順を記述した各種のプログラム）に従い、パネルスキャン回路にパネル１０のスキャンを行わせ、パネル１０上の各種スイッチの操作（パネルイベント）に伴う各種の情報（パネルイベント情報）を読み取ると共に、キーボードスキャン回路にキーボード１２のスキャンを行わせ、キーイベント情報を読み取る。
【００３７】
そして、楽音発生回路１４においてデジタル楽音信号を発生させるのに使用するチャネル（楽音発生チャネル）を割り当て、楽音発生チャネルに対する発音制御を行う、といった手順で、楽音発生のための各種制御処理を実行する。また、このＣＰＵ２には、第１割込入力端子ＩＮＴ１及び第２割込入力端子ＩＮＴ２が設けられている。第１割込入力端子ＩＮＴ１には、パネル１０から、パネル１０に設けられた各種操作部が操作された際に割込信号が供給され、一方、第２割込入力端子ＩＮＴ２には、タイマ８から、一定時間毎に割込信号が供給される。
【００３８】
ＲＯＭ４には、制御プログラムの他にも、自動演奏データ（シークエンスデータ）、自動伴奏データ（スタイルデータ）、各種データ等が工場出荷時に記憶、格納されており、ＣＰＵ２は、パネル１０の操作によって当該装置が自動伴奏モードに設定された場合には、自動伴奏データに基づき楽音発生回路１４から楽音を発生して自動伴奏を行う。
【００３９】
また、ＲＡＭ６は、ＣＰＵ２の作業用領域として使用される他、ディスクドライブ１８によりフレキシブルディスクから読込まれた自動伴奏データや自動演奏データ等が記憶される。また、ＲＡＭ６には、例えば、パネルスキャン回路により検出されたパネルイベント情報や、キースキャン回路によりスキャンされたキーイベント情報を一時的に記憶するバッファが定義されている他、レジスタ、カウンタ（例えば、後述する現カウント値ＣＮＴ＿Ｏや新カウント値ＣＮＴ＿Ｎを格納するカウンタ等）、フラグ等の各種領域が定義されている。
【００４０】
以上の様に構成された第１実施例の電子楽器において、ＣＰＵ２が実行する制御処理を図３〜５に基づいて説明する。第１実施例の電子楽器は、電源が投入されると、図３に示すメインルーチンが起動される。
メインルーチンではまず、ステップ（以下、「Ｓ」と記す。）１０にて、ＲＡＭ６に記憶された内容があれば、それをクリアしたり、後述する現カウント値ＣＮＴ＿Ｏ、新カウント値ＣＮＴ＿Ｎおよび処理カウンタＳＥＴに０にリセットしたり、また、楽音発生回路１４のアサイメントメモリ１４ａの内に記憶された内容があれば、それをクリアしたりする等の初期化処理を行う。
【００４１】
次に、パネルスキャン回路にパネル１０をスキャンさせ、パネルイベントがあったかどうかを調べる（Ｓ２０）。パネルイベントが発生していたら（Ｓ２０：ＹＥＳ）、イベントの発生したスイッチに対応する処理を行う（Ｓ３０）。即ち、パネル１０上の各種スイッチのオン／オフ情報を作成してＲＡＭ６に記憶させると共に、各スイッチのオン／オフ情報に対応する動作を行う。
【００４２】
一方、パネルイベントが発生していなければ（Ｓ２０：ＮＯ）、Ｓ３０を行わず、直ちにＳ４０に移行する。Ｓ４０では、キーボードスキャン回路にキーボード１２をスキャンさせて、キーイベントが発生したかどうかを調べる。キーイベントが発生したと判断した場合（Ｓ４０：ＹＥＳ）、キーオン／オフ情報（キーナンバーやキーベロシティ等のデータを含む情報）を作成し、ＲＡＭ６に記憶させると共に、キーオン／オフ情報に基づいて楽音発生回路１４に発音或いは消音処理を行わせる（Ｓ５０）。一方、キーイベントが発生していない場合（Ｓ４０：ＮＯ）には、Ｓ５０を行わず、直接Ｓ６０に移行する。
【００４３】
Ｓ６０では、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しいかどうかを調べる。ここで、現カウント値ＣＮＴ＿Ｏは音色番号を指示するための変数であり、後述する様に、新カウント値ＣＮＴ＿Ｎに漸近するよう「１」ずつ増減される。そして、現カウント値ＣＮＴ＿Ｏにて指示される音色番号に基づき、音色の名称が液晶表示板２２に表示されたり、ＲＡＭ６に格納されている楽音制御情報が楽音発生回路１４に転送されたりする。また、新カウント値ＣＮＴ＿Ｎは、インクリメンタ２８の回転操作（インクリメンタイベント）に応じて、「１」ずつ増減される変数であり、具体的には図４に示す操作割込処理によって増減される。
【００４４】
この操作割込処理は、パネルイベントが発生することにより、パネル１０からＣＰＵ２の第１割込入力端子ＩＮＴ１に対して割込信号が入力されると起動される処理である。
操作割込処理が開始されると、音色番号に対するインクリメンタイベントが発生したか否か、即ち、液晶表示板２２において、カーソルが音色名称の表示位置にある状態で、インクリメンタ２８が操作されたか否かを判断する（Ｓ２００）。音色番号に対するインクリメンタイベントが発生したと判断した場合（Ｓ２００：ＹＥＳ）、そのインクリメンタイベントが右回転されたか、即ち、プラスイベント（＋イベント）が発生したか、或いは左回転されたか、即ちマイナスイベント（−イベント）が発生したかを判断する（Ｓ２１０）。
【００４５】
プラスイベントが発生したと判断されれば（Ｓ２１０：ＹＥＳ）、新カウント値ＣＮＴ＿Ｎが、現カウント値ＣＮＴ＿Ｏに所定値ＭＡＸ加えた値より小さいかどうかを判断し（Ｓ２２０）、新カウント値ＣＮＴ＿Ｎがその値よりも小さければ（Ｓ２２０：ＹＥＳ）、新カウント値ＣＮＴ＿Ｎを「１」増やして（Ｓ２３０）終了する。一方発生したマイナスイベントであれば、新カウント値ＣＮＴ＿Ｎが、現カウント値ＣＮＴ＿Ｏから所定値ＭＡＸ引いた値よりも大きいかどうかを判断する（Ｓ２５０）。そして、新カウント値ＣＮＴ＿Ｎが、現カウント値ＣＮＴ＿ＯからＭＡＸ引いた値よりも大きければ（Ｓ２４０：ＹＥＳ）、新カウント値ＣＮＴ＿Ｎを１減らして（Ｓ２５０）終了する。
【００４６】
なお、パネルイベントが、音色番号に対するインクリメンタイベントでない場合（Ｓ２００：ＮＯ）には、操作割込処理を終了する。
即ち、操作割込処理では、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとを大小比較し、新カウント値ＣＮＴ＿Ｎが、現カウント値ＣＮＴ＿Ｏに対して所定値ＭＡＸ以上離れていなければ、新カウント値ＣＮＴ＿Ｎを、インクリメンタ２８の回転方向に応じて増減するのである。
【００４７】
図３に戻り説明を続ける。上述の様に、Ｓ１０の初期化処理にて、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとは共に０にセットされ等しいが、インクリメンタ２８が操作されて新カウント値ＣＮＴ＿Ｎが増減されると、当然、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが異なるものとなる。そして、Ｓ６０にて、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しくないと判断すると（Ｓ６０：ＮＯ）、続いて新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとの大小を判断する（Ｓ７０）。新カウント値ＣＮＴ＿Ｎ  の方が大きい場合には（Ｓ７０：ＹＥＳ）、現カウント値ＣＮＴ＿Ｏを「１」だけ増加させ（Ｓ８０）、新カウント値ＣＮＴ＿Ｎの方が小さい場合には（Ｓ７０：ＮＯ）、現カウント値ＣＮＴ＿Ｏを「１」減少させる（Ｓ９０）。こうして、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとの大小関係に基いて、現カウント値ＣＮＴ＿Ｏを増減して変更（Ｓ８０或いはＳ９０）した後、変更された新たな現カウント値ＣＮＴ＿Ｏにて指示される音色番号に対応する音色名称を液晶表示板２２に表示させる（Ｓ１００）。
【００４８】
つまり、Ｓ７０〜Ｓ１００においては、インクリメンタ２８が操作されて新カウント値ＣＮＴ＿Ｎが増減され、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しくないと判断されると（Ｓ６０：ＮＯ）、新カウント値ＣＮＴ＿Ｎに現カウント値ＣＮＴ＿Ｏを漸近させるように現カウント値ＣＮＴ＿Ｏが「１」ずつ増減される（Ｓ８０或いはＳ９０）と共に、新カウント値ＣＮＴ＿Ｎに対応する音色の名称が、現カウント値ＣＮＴ＿Ｏが「１」ずつ増減される毎に、逐次表示（Ｓ１００）されるのである。
【００４９】
そして音色名称の表示後（Ｓ１００）、処理カウンタＳＥＴに「１」を設定し（Ｓ１１０）、Ｉ／Ｆ回路２０を介したデータの入出力や、ＦＤＤ１８を介したＦＤの読書き等の「その他の処理」を行って（Ｓ１２０）、Ｓ２０に戻る。そして再び、Ｓ２０〜Ｓ５０の処理を実行し、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しいかどうかを判断する（Ｓ６０）。新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しくなければ（Ｓ６０：ＮＯ）、再び、上述の様にＳ７０〜Ｓ９０の処理を行う。したがって、インクリメンタ２８が操作され、新カウント値ＣＮＴ＿Ｎが変更されると、現カウント値ＣＮＴ＿Ｏが新カウント値ＣＮＴ＿Ｎに等しくなるまで、Ｓ７０〜Ｓ１２０の処理が繰り返されるのである。
【００５０】
さて、現カウント値ＣＮＴ＿Ｏと新カウント値ＣＮＴ＿Ｎとが等しいと判断した場合（Ｓ６０：ＹＥＳ）、処理カウンタＳＥＴ＝「０」かどうかを判断する（Ｓ１３０）。上述の様に、電源投入時の初期化処理（Ｓ１０）において、処理カウンタＳＥＴに「０」を格納するが、インクリメンタ２８が操作されると、Ｓ７０〜Ｓ１００の処理を行うと共に、処理カウンタＳＥＴに「１」を設定する（Ｓ１１０）。つまり、処理カウンタＳＥＴ＝「０」でないということは、インクリメンタ２８が操作されたことを示している。
【００５１】
処理カウンタＳＥＴ＝「０」であると判断した場合（Ｓ１３０：ＹＥＳ）には、Ｓ１２０に移行するが、処理カウンタＳＥＴ＝「０」でないと判断した場合（Ｓ１３０：ＮＯ）には、現カウント値ＣＮＴ＿Ｏに対応した新しい音色を発音するための楽音制御情報を、楽音発生回路１４に転送して設定する楽音制御情報転送処理を実行する（Ｓ１４０）。
【００５２】
この楽音制御情報転送処理は、図５に示す様に、キーオンオフフラグ、トランケートフラグ、波形読出アドレス、波形読出スピードデータ、フィルター係数、エンベロープ係数、系列データ、エフェクトプログラム、エフェクト係数等の楽音制御情報を楽音発生回路１４に設定するための処理であり、この処理が起動されると、Ｓ５０にてＲＡＭ６に記憶されているキーオン／オフ情報に基づき現在発音中か否かを判断する（Ｓ２６０）。現在発音中でないと判断された場合（Ｓ２６０：ＮＯ）には、エフェクトプログラム、エフェクト係数等の楽音制御情報をＤＳＰ１４ｂに設定して（Ｓ２６５）、一旦、楽音制御情報転送処理を終了する。
【００５３】
一方、現在発音中であると判断された場合には（Ｓ２６０：ＹＥＳ）、まずアサイメントメモリ１４ａをクリアして、消音させる（Ｓ２７０）。ここにいう「クリア」とは、前述の様に、キーオンオフフラグを「０」とすると共にトランケートフラグを「１」として、現在発音中の音を（ノイズが出ない程度に）高速に消音させることを意味する。このクリアの際には、アサイメントメモリ１４ａのその他の楽音制御情報（波形読出アドレス、波形読出スピードデータ、フィルター係数、エンベロープ係数、系列データ等）は、そのままで良い。キーオンオフフラグを「０」とすると共にトランケートフラグを「１」とすれば、その他の楽音制御情報がそのままでも、消音させることができるからである。
【００５４】
次に、新たに指示された現カウント値ＣＮＴ＿Ｏと、アサイメントメモリ１４ａに対して既に割当てられていたキーオン／オフ情報（即ち、それまで発音中であったチャネルに対して設定されていた楽音制御情報の基となったキーオン／オフ情報）とに基き、波形読出アドレス、波形読出スピードデータ、フィルター係数、エンベロープ係数、系列データ等の楽音制御情報を作成し、発音中であった各チャネル毎に、アサイメントメモリ１４ａに設定する（Ｓ２７５）。そして、更に、エフェクトプログラム、エフェクト係数等の楽音制御情報をＤＳＰ１４ｂに設定する（Ｓ２８０）。
【００５５】
こうして、楽音発生回路１４に、楽音を現カウント値ＣＮＴ＿Ｏに基く音色で発音させるための楽音制御情報を設定した後、キーオンオフフラグを「１」とすると共にトランケートフラグを「０」とすることで、エンベロープの立上げの開始および波形読出の開始の指示（即ち、発音を開始させる旨の指示）を送って再発音を行わせ（Ｓ２８５）、楽音制御情報転送処理を終了する。
【００５６】
楽音制御情報転送処理の実行（Ｓ１４０）により、新しい音色の楽音を発生させるための楽音制御情報が楽音発生回路１４に設定された後、処理カウンタＳＥＴを「０」として（Ｓ１５０）、Ｓ１２０に移行する。
以上の様に、第１実施例の電子楽器によれば、楽音の態様を特定するためのパラメータ値である現カウント値ＣＮＴ＿Ｏは、インクリメンタ２８への操作により増減される新カウント値ＣＮＴ＿Ｎ（目標値）に漸近するよう増減される。そして、楽音制御情報を楽音発生回路１４に設定するといった長い時間を要する処理は、現カウント値ＣＮＴ＿Ｏが新カウント値ＣＮＴ＿Ｎに一致していないときには行わず、現カウント値ＣＮＴ＿Ｏが新カウント値ＣＮＴ＿Ｎに追い付いて一致したときに初めて行う。従って、音色番号（即ち、現カウント値ＣＮＴ＿Ｏ）の増減を指示する旨のインクリメンタ２８への操作量が多くても、その操作に対応する処理を速やかに終えることができる。したがって、使用者を待たせることがない。
また、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとの差が一定値（ＭＡＸ）以内となるよう、新カウント値ＣＮＴ＿Ｎを抑制するようにしている。そのため、操作量が多く、多数のインクリメンタイベントが発生しても、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとの差が、「ＭＡＸ」以内に抑制されるので、インクリメンタ２８の操作を終えた後、その操作に対する処理動作をより速く終了させることができる。
【００５７】
次に、本発明が適用された第２実施例の電子楽器について説明する。なお、第２実施例の電子楽器の構成は、第１実施例と同様であるのでその説明は省略する。  第２実施例の電子楽器においては、電源が投入されると、図６に示すメインルーチンが起動される。第２実施例の電子楽器のメインルーチンでも、まず、初期化処理（Ｓ３１０）を行うが、第１実施例にて説明した初期化処理に加え、タイマカウンタＤＬＹに「０」を設定する。なお、Ｓ３２０〜Ｓ４３０は第１実施例の電子楽器におけるメインルーチンのＳ２０〜Ｓ１３０と同様の処理であるのでその説明を省略する。
【００５８】
また、新カウント値ＣＮＴ＿Ｎは、音色番号に対するインクリメンタイベントが発生されることにより増減される点では第１実施例と共通しているが、そのインクリメンタイベントが発生した後、所定時間内は、再びインクリメンタイベントが発生しても新カウント値ＣＮＴ＿Ｎを増減しないようにしている点で第１実施例と異なる。まず、これを実現するための具体的な処理を、図７を用いて説明する。
【００５９】
図７に示す操作割込処理も、パネルイベントが発生することにより、パネル１０からＣＰＵ２の第１割込入力端子ＩＮＴ１に対して割込信号が入力されると起動される処理である。
操作割込処理が開始されると、音色番号に対するインクリメンタイベントが発生したか否か、即ち、液晶表示板２２において、カーソルが音色名称の表示位置にある状態で、インクリメンタ２８が操作されたか否かを判断する（Ｓ５１０）。音色番号に対するインクリメンタイベントであると判断した場合（Ｓ５１０：ＹＥＳ）、タイマカウンタＤＬＹ＝「０」かどうかを判断する（Ｓ５２０）。
【００６０】
ここで、タイマカウンタＤＬＹは、一定時間（例えば略１ｍｓｅｃ）毎に、タイマ８から第２割込入力端子ＩＮＴ２へ割込信号が入力される度に起動されるタイマ割込処理にて減少されるカウンタであり、その値が「０」となるまで、タイマ割込処理が起動される毎に「１」ずつ減らされる。
【００６１】
図８に示す様に、タイマ割込処理においては、まずタイマカウンタＤＬＹ＝「０」かどうかを判断し（Ｓ６１０）、タイマカウンタＤＬＹ＝「０」でなければ（Ｓ６１０：ＮＯ）、タイマカウンタＤＬＹを「１」減少させた（Ｓ６２０）後、当該処理を終了する。一方、タイマカウンタＤＬＹ＝「０」と判断した場合（Ｓ６１０：ＹＥＳ）、Ｓ６２０の処理を行わず、即ちタイマカウンタＤＬＹを「０」にしたままで当該処理を終了する。
【００６２】
図７に戻り説明を続ける。
タイマカウンタＤＬＹ＝「０」と判断する（Ｓ５２０：ＹＥＳ）と、タイマカウンタＤＬＹに「１００」を設定する（Ｓ５３０）。そして、Ｓ５１０で判断された音色番号に対するインクリメンタイベントがプラスイベントか否かを判断し（Ｓ５４０）、＋イベントであると判断すると（Ｓ５４０：ＹＥＳ）、新カウント値ＣＮＴ＿Ｎを「１」増加させる（Ｓ５５０）。一方、プラスイベントでない、即ち、マイナスイベントであると判断すると（Ｓ５４０：ＮＯ）、新カウント値ＣＮＴ＿Ｎを「１」減少させる（Ｓ５６０）。
【００６３】
こうして、新カウント値ＣＮＴ＿Ｎを増減した（Ｓ５４０〜Ｓ５６０）後、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しいかどうか判断する（Ｓ５７０）。新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しければ（Ｓ５７０：ＹＥＳ）、タイマカウンタＤＬＹに「０」を設定して（Ｓ５８０）、操作割込処理を終了し、一方、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとが等しくなければ（Ｓ５７０：ＮＯ）、Ｓ５８０の処理を行うことなく、そのまま操作割込処理終了する。
【００６４】
なお、当該操作割込処理を起動させたイベントが音色番号に対するインクリメンタイベントでないと判断した場合（Ｓ５１０：ＮＯ）や、タイマカウンタＤＬＹ＝「０」でないと判断された（Ｓ５２０：ＮＯ）場合は、Ｓ５３０〜Ｓ５６０の処理を行うことなく、Ｓ５７０に移行する。
【００６５】
つまり第２実施例の操作割込処理においては、新カウント値ＣＮＴ＿Ｎを増減した後、一定時間内は、再び音色番号に対するインクリメンタイベントが発生しても新カウント値ＣＮＴ＿Ｎを増減しないようにしているのである。なお、この「一定時間」は本実施例では略１００ｍｓｅｃとなる。これは、上記の様に、略１ｍｓｅｃ毎にタイマ割込処理が起動され、その処理において「１００」から「０」までダウンカウントしているためである。従って、タイマ割込処理の起動間隔およびダウンカウントする際の初期値を設定することにより、「一定時間」を所望の長さに調整すると良い。
【００６６】
さて、図６に戻って説明を続ける。第１実施例の電子楽器における処理Ｓ６０と同様に、現カウント値ＣＮＴ＿Ｏと新カウント値ＣＮＴ＿Ｎとが等しいと判断した場合（Ｓ３６０：ＹＥＳ）、次に、処理カウンタＳＥＴ＝「０」かどうかを判断する（Ｓ４３０）。上述の様に、電源投入時の初期化処理（Ｓ３１０）においては処理カウンタＳＥＴに「０」を格納するが、インクリメンタが操作されると、Ｓ３７０〜Ｓ４００の処理を行うと共に、処理カウンタＳＥＴに「１」が設定される（Ｓ４１０）。つまり、処理カウンタＳＥＴ＝「０」でないということは、音色番号に対するインクリメンタイベントが発生されて、新カウント値ＣＮＴ＿Ｎが、操作割込処理にて増減されたことを意味する。
【００６７】
処理カウンタＳＥＴ＝「０」であると判断した場合（Ｓ４３０：ＹＥＳ）には、Ｓ４２０に移行するが、処理カウンタＳＥＴ＝「０」でないと判断した場合（Ｓ４３０：ＮＯ）には、楽音制御情報分割転送処理を起動する（Ｓ４４０）。この楽音制御情報分割転送処理は、図９に示す様に、キーオンオフフラグ、トランケートフラグ、波形読出アドレス、波形読出スピードデータ、フィルター係数、エンベロープ係数、系列データ、エフェクトプログラム、エフェクト係数等の楽音制御情報を楽音発生回路１４に分割して転送し、設定するための処理である。
【００６８】
この楽音制御情報分割転送処理が起動されると、まず、Ｓ３５０にてＲＡＭ６に記憶されているキーオン／オフ情報に基づき現在発音中か否かを判断する（Ｓ７１０）。現在発音中でないと判断された場合（Ｓ７１０：ＮＯ）には、エフェクトプログラム、エフェクト係数等の楽音制御情報をＤＳＰ１４ｂに設定して（Ｓ７２０）、一旦、楽音制御情報転送処理を終了する。一方、発音中であると判断した場合には（Ｓ７１０：ＹＥＳ）、処理カウンタＳＥＴ＝「１」であるかどうかを判断する（Ｓ７３０）。ここで、処理カウンタＳＥＴ＝「１」であると判断すれば（Ｓ７３０：ＹＥＳ）、アサイメントメモリ１４ａをクリアして消音させ（Ｓ７４０）、当該楽音制御情報分割転送処理を終了する。
【００６９】
一方、処理カウンタＳＥＴ＝「１」でないと判断した場合（Ｓ７３０：ＮＯ）、処理カウンタＳＥＴ＝「２」であるかどうかを判断する（Ｓ７５０）。そして、処理カウンタＳＥＴ＝「２」であると判断した場合（Ｓ７５０：ＹＥＳ）、新たな現カウント値ＣＮＴ＿Ｏ及びアサイメントメモリ１４ａに対して割当てられていたキーオン／オフ情報とに基き、波形読出アドレス、波形読出スピードデータ、フィルター係数、エンベロープ係数、系列データ等の楽音制御情報を作成してアサイメントメモリ１４ａに設定した後（Ｓ７６０）、楽音制御情報分割転送処理を一旦終了する。
【００７０】
また、処理カウンタＳＥＴ＝「２」でないと判断した場合（Ｓ７５０：ＮＯ）、処理カウンタＳＥＴ＝「３」であるかどうかを判断する（Ｓ７７０）。そして、処理カウンタＳＥＴ＝「３」であると判断した場合（Ｓ７７０：ＹＥＳ）、エフェクトプログラム、エフェクト係数をＤＳＰ１４ｂに設定した後（Ｓ７８０）、楽音制御情報分割転送処理を一旦終了する。
【００７１】
更に、処理カウンタＳＥＴ＝「３」でないと判断した場合には（Ｓ７７０：ＮＯ）、キーオンオフフラグを「１」とすると共にトランケートフラグを「０」とすることで、楽音発生回路１４に、エンベロープの立上げの開始させる旨および波形読出を開始させる旨の指示（即ち、発音を開始させる旨の指示）を送り、再発音を行わせた（Ｓ７９０）後、楽音制御情報分割転送処理を終了する。
【００７２】
こうして、楽音制御情報分割転送処理の実行（Ｓ４４０）後、処理カウンタＳＥＴ＝「４」であるかどうかを判断し（Ｓ４５０）、処理カウンタＳＥＴ＝「４」と判断した場合（Ｓ４５０：ＹＥＳ）は処理カウンタＳＥＴを「０」とし（Ｓ４７０）、処理カウンタＳＥＴ＝「４」でないと判断した場合（Ｓ４５０：ＮＯ）は処理カウンタＳＥＴを「１」増やした（Ｓ４７０）後、Ｓ４２０に移行する。
【００７３】
つまり、第１実施例における楽音制御情報転送処理では、アサイメントメモリ１４ａのクリア、現カウント値ＣＮＴ＿Ｏに対応した新しい音色を発音するための楽音制御情報（波形読出アドレス、フィルター係数、エンベロープ係数、エフェクトプログラム、エフェクト係数等）の楽音発生回路１４への設定、再発音をまとめて行うようにしているが、第２実施例においては、これらの処理を、Ｓ７４０、Ｓ７６０、Ｓ７８０およびＳ７９０の４つの処理に分割している。そして、楽音制御情報分割転送処理が起動された時には、これら４つの処理の内の１つのみ実行するものとし、楽音制御情報を楽音発生回路１４に転送する処理（即ち、楽音制御情報分割転送処理）に、長時間に亘ってＣＰＵ２が占有されないようにしているのである。
【００７４】
以上の様に、第２実施例の電子楽器によれば、第１実施例の電子楽器と同様に、楽音の態様を特定するためのパラメータ値である現カウント値ＣＮＴ＿Ｏは、インクリメンタ２８への操作により増減される新カウント値ＣＮＴ＿Ｎ（目標値）に漸近するよう増減される。そして、楽音制御情報を楽音発生回路１４に設定するといった長い時間を要する処理は、現カウント値ＣＮＴ＿Ｏが新カウント値ＣＮＴ＿Ｎに一致していないときには行わず、現カウント値ＣＮＴ＿Ｏが新カウント値ＣＮＴ＿Ｎに追い付いて一致したときに初めて行う。従って、音色番号（即ち、現カウント値ＣＮＴ＿Ｏ）の増減を指示する旨のインクリメンタへの操作量が多くても、その操作に対応する処理を速やかに終えることができる。したがって、使用者を待たせず、操作性が向上する。
【００７５】
また、新カウント値ＣＮＴ＿Ｎを更新すると、その更新後、予め定められた期間（即ち略１００ｍｓｅｃ）が経過するまで、新カウント値ＣＮＴ＿Ｎ新たに更新するのを禁止する（Ｓ５２０）ようにしている。その結果、新カウント値ＣＮＴ＿Ｎと現カウント値ＣＮＴ＿Ｏとの差が無制限に開くのを防止したり、その差が開いてゆくスピードを緩和したりすることができる。その結果、インクリメンタ２８の操作を終えた後、その操作に対する処理動作をより速く終了させることができる。
【００７６】
また、楽音制御情報を楽音発生回路１４に設定するに当っては、楽音制御情報分割転送処理において、その為の処理を、Ｓ７４０、Ｓ７６０、Ｓ７８０およびＳ７９０の４つの処理に分割し、楽音制御情報分割転送処理が起動された時には、これら４つの処理の内の１グループのみ実行するものとし、新たに、現カウント値ＣＮＴ＿Ｏが更新されると、その更新後の現カウント値ＣＮＴ＿Ｏに基いて、楽音制御情報の設定を開始するようにしている。このように構成したので、楽音発生回路１４への楽音制御情報の設定中に、インクリメンタ２８が新たに操作されて現カウント値ＣＮＴ＿Ｏが変更されても、速やかに新たな現カウント値ＣＮＴ＿Ｏに基く楽音制御情報を楽音発生手段１４に設定する処理を開始することができる。延いては、インクリメンタ２８への操作に対する処理を迅速に終了できるので、使用者を待たせない。
【００７７】
尚、上記実施例において、インクリメンタ２８が操作部に相当する。また、楽音発生回路１４およびサウンドシステム１６が楽音発生手段に相当する。また、現カウント値ＣＮＴ＿Ｏを格納するカウンタが定義されたＲＡＭ４がパラメータ値記憶手段に相当する。また、新カウント値ＣＮＴ＿Ｎを格納するカウンタが定義されたＲＡＭ４およびＳ２１０、Ｓ２３０、Ｓ２５０、Ｓ５４０〜Ｓ５６０が目標値設定手段に相当する。また、Ｓ６０およびＳ３６０の処理が楽音制御情報設定禁止手段に相当する。また、Ｓ７０〜Ｓ９０およびＳ３７０〜Ｓ３９０の処理がパラメータ値増減手段に相当する。また、図４の楽音制御情報転送処理および図７の楽音制御情報分割転送処理が楽音制御情報設定手段に相当する。また、Ｓ２２０およびＳ２４０の処理が目標値抑制手段としての処理に相当する。また、ＬＣＤ２２およびＳ１００、Ｓ４００の処理が表示手段に相当する。
【００７８】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定される物ではなく、種々の態様を取ることができる。
例えば、上記実施例の電子楽器においては、パラメータ値としての音色番号を変更するものとして説明を行ったが、これに限られず、例えば、音量値、楽音の残響時間の長さの値、エンベロープ形状毎に付与された番号、楽音に音響効果を付加するエフェクトプログラム毎に付与された番号を変更する場合にも上記発明を適用できる。
【００７９】
また、上記実施例においては、増減部として、インクリメンタ２８を例にとり説明を行ったが、これに限られるものではなく、例えば、所謂ベンダーホイール、データスライダ、一対のボタンスイッチからなるアップダウンスイッチ等のパラメータ値を増減指示できるものであればどれを使用しても良い。
【００８０】
また、上記第２実施例にて説明したように、新カウント値ＣＮＴ＿Ｎを更新してから予め定められた「一定時間」が経過するまでは、新たに新カウント値ＣＮＴ＿Ｎを更新するのを禁止する目標値更新手段をそなえるようにしたが、この「一定時間」は次の様に設定するのが好ましい。
【００８１】
即ち、楽音制御情報分割転送処理（複数のグループに分割しないときは楽音制御情報転送処理に相当する）が起動しリターンするまでに要する所要時間と略同程度とすると良い。そうすると、この転送処理を行っている間には新カウント値ＣＮＴ＿Ｎは「１」ずつしか増減されず、現カウント値ＣＮＴ＿Ｏは新カウント値ＣＮＴ＿Ｎに直ちに追い付いて一致することになる。即ち、インクリメンタ２８を操作してから、楽音制御情報を楽音発生回路１４に設定するまでの時間（即ち使用者を待たせる時間）を最も短くすることができるので好ましい。そこで、第２実施例では、楽音制御情報分割転送処理が起動し、リターンするまでに要する所要時間が略１００ｍｓｅｃとなるよう、転送すべき楽音制御情報を分割したので、新たな新カウント値ＣＮＴ＿Ｎの更新を禁止する「一定時間」を略１００ｍｓｅｃとなるように調整しているのである。
【図面の簡単な説明】
【図１】本発明の一実施例である電子楽器の電気的構成を示すブロック図である。
【図２】一実施例の電子楽器のパネルを示す説明図である。
【図３】第１実施例の電子楽器において実行されるメインルーチンを示すフローチャートである。
【図４】第１実施例の電子楽器において実行される操作割込処理を示すフローチャートである。
【図５】第１実施例の電子楽器において実行される楽音制御情報転送処理を示すフローチャートである。
【図６】第２実施例の電子楽器において実行されるメインルーチンを示すフローチャートである。
【図７】第２実施例の電子楽器において実行される操作割込処理を示すフローチャートである。
【図８】第２実施例の電子楽器において実行されるタイマ割込処理を示すフローチャートである。
【図９】第２実施例の電子楽器において実行される楽音制御情報分割転送処理を示すフローチャートである。
【符号の説明】
２…ＣＰＵ、４…ＲＯＭ、６…ＲＡＭ、８…タイマー、１０…パネル、１２…キーボード、１４…楽音発生回路（ＴＧ）、１４ａ…アサイメントメモリ、１４ｂ…デジタルシグナルプロセッサ（ＤＳＰ）、２０…Ｉ／Ｆ回路、２２…液晶表示板、２８…インクリメンタ。
【図１】
0003623106.tif 000002
【図２】
0003623106.tif 000003
【図３】
0003623106.tif 000004
【図４】
0003623106.tif 000005
【図５】
0003623106.tif 000006
【図６】
0003623106.tif 000007
【図７】
0003623106.tif 000008
【図８】
0003623106.tif 000009
【図９】
0003623106.tif 000010