(57)【特許請求の範囲】
【請求項１】
外部操作により、発音すべき楽音及び消音すべき楽音を指定するための楽音指定手段と、
外部操作により、前記楽音指定手段の指定に基づき発音が開始される楽音の音色を予め設定するための音色設定手段と、
前記楽音指定手段により前記発生すべき楽音が指定されると、該指定された楽音を前記設定された音色にて音源から発音させ、前記消音すべき楽音が指定されると、該指定された楽音を消音させる発音制御手段と、
を備えた電子楽器であって、
外部操作により、当該電子楽器の動作モードを、前記消音すべき楽音の全てを消音する通常モードと、前記消音すべき楽音の消音を禁止して該楽音を発音状態に保持するホールドモードと、に交互に切り替えるためのモード切替手段と、
当該電子楽器が前記ホールドモードであるとき、前記消音すべき楽音が指定されると、該指定された楽音の消音を禁止して該楽音を発音状態に保持するホールド動作を行うホールド手段と、
前記モード切替手段により、当該電子楽器が前記通常モードに切り替えられると、前記発音状態に保持された楽音を消音させる通常モード復帰手段と、
当該電子楽器が前記ホールドモードであるときに前記音色の設定が変更されると、該設定の変更の際に発音状態にある楽音を記憶する発音状態記憶手段と、
前記設定の変更後当該電子楽器が前記通常モードに切り替えられるまでの間に前記消音すべき楽音として指定された楽音のうち、前記発音状態記憶手段に記憶されていない楽音のみについて、前記ホールド手段によるホールド動作を禁止するホールド禁止手段と、
を備えることを特徴とする電子楽器。
【請求項２】
外部操作により、発音すべき楽音及び消音すべき楽音を指定するための楽音指定手段と、
外部操作により、前記楽音指定手段の指定に基づき発音が開始される楽音の音色を予め設定するための音色設定手段と、
前記楽音指定手段により前記発生すべき楽音が指定されると、該指定された楽音を前記設定された音色にて音源から発音させ、前記消音すべき楽音が指定されると、該指定された楽音を消音させる発音制御手段と、
を備えた電子楽器であって、
外部操作により、当該電子楽器の動作モードを、前記消音すべき楽音の全てを消音する通常モードと、前記消音すべき楽音の消音を禁止して該楽音を発音状態に保持するホールドモードと、に交互に切り替えるためのモード切替手段と、
当該電子楽器が前記ホールドモードであるとき、前記消音すべき楽音が指定されると、該指定された楽音の消音を禁止して該楽音を発音状態に保持するホールド動作を行うホールド手段と、
前記モード切替手段により、当該電子楽器が前記通常モードに切り替えられると、前記発音状態に保持された楽音を消音させる通常モード復帰手段と、
当該電子楽器が前記ホールドモードであるときに前記音色の設定が変更されると、該設定の変更後当該電子楽器が前記通常モードに切り替えられるまでの間に前記発音すべき楽音として指定された楽音を記憶する発音指定記憶手段と、
前記設定の変更後当該電子楽器が前記通常モードに切り替えられるまでの間に前記消音すべき楽音として指定された楽音のうち、前記発音指定記憶手段に記憶されている楽音のみについて、前記ホールド手段によるホールド動作を禁止するホールド禁止手段と、
を備えることを特徴とする電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、楽音を複数の音色で発生可能に構成されると共に、消音指示がなされた楽音を発音状態に維持するホールド機能を備えた電子楽器に関する。
【０００２】
【従来の技術】
従来より、発音すべき楽音を外部から指定することにより、所望の楽音を音源から発生させることができる電子楽器が知られている。そして、多くの電子楽器においては、その指定に基づき発音が開始される楽音の音色を、予め選択しておくことが可能な音色選択機能が付与されている。この音色選択機能によれば、例えば、ある音色（旧音色）の楽音を発音させつつ、音色の設定を変更した後に新たに楽音を指定して、新たな別の音色（新音色）の楽音を発生させることにより、異なる音色（即ち、旧音色及び新音色）の楽音を重ね合わせることも可能となる。
【０００３】
また、電子楽器には、こうした音色選択機能の他にも様々な機能が付与されているが、その１つとしてホールド機能が知られている。ホールド機能（動作）とは、発音中の楽音について消音すべき旨の指示がなされても、そのまま発音状態に保持する機能（動作）である。例えば、押圧（キーオン）された鍵に対応した楽音を発生する電子鍵盤楽器において、楽音を消音すべき旨の指示は、鍵の押圧を解除（キーオフ）することで入力することができるが、ホールド機能がＯＦＦされている通常の動作モード（通常モード）の場合、キーオフされると消音される。一方、ホールド機能が働いている動作モード（ホールドモード）においては、キーオフ操作により、その鍵に対応する楽音を消音すべき旨が指示されても、その楽音は発音状態に維持される。
【０００４】
そして、ホールド機能により一旦発音状態に保持（ホールド）された楽音は、少なくともホールド機能が解除されるまで（即ち当該電子楽器がホールドモードから通常モードに戻るまで）は、発音状態に保たれることとなる。
【０００５】
【発明が解決しようとする課題】
さて、上記の音色選択機能及びホールド機能を有する電子楽器の使用に当たり、ある音色（旧音色）の楽音をホールド機能により発音状態に保ちつつ、新たな別の音色（新音色）の楽音を発生させて旧音色の楽音に重ねると、新音色の楽音も発音状態にホールドされてしまう。
【０００６】
しかし、演奏上、ホールド機能は、旧音色の楽音を持続させたい場合に主に使用し、新音色の楽音については必要とされないのが一般的である。即ち、新音色の楽音を短く発音させたい場合に、演奏者がそのための操作（新音色への変更後、発音すべき旨の指示と消音すべき旨の指示を短時間の間に続けて入力する様な操作）を行っても、新音色の音が長く延ばされてしまうという不都合が生じてしまうのである。
【０００７】
本発明は、以上の問題に鑑みて為されたものであり、音色選択機能およびホールド機能を有する電子楽器において、演奏者の意図に沿った発音・消音動作を実現可能とすることを目的とする。
【０００８】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた本発明（請求項１記載）の電子楽器は、外部操作により、発音すべき楽音及び消音すべき楽音を指定するための楽音指定手段と、外部操作により、前記楽音指定手段の指定に基づき発音が開始される楽音の音色を予め設定するための音色設定手段と、前記楽音指定手段により前記発生すべき楽音が指定されると、該指定された楽音を前記設定された音色にて音源から発音させ、前記消音すべき楽音が指定されると、該指定された楽音を消音させる発音制御手段と、を備えた電子楽器であって、外部操作により、当該電子楽器の動作モードを、前記消音すべき楽音の全てを消音する通常モードと、前記消音すべき楽音の消音を禁止して該楽音を発音状態に保持するホールドモードと、に交互に切り替えるためのモード切替手段と、当該電子楽器が前記ホールドモードであるとき、前記消音すべき楽音が指定されると、該指定された楽音の消音を禁止して該楽音を発音状態に保持するホールド動作を行うホールド手段と、前記モード切替手段により、当該電子楽器が前記通常モードに切り替えられると、前記発音状態に保持された楽音を消音させる通常モード復帰手段と、当該電子楽器が前記ホールドモードであるときに前記音色の設定が変更されると、該設定の変更の際に発音状態にある楽音を記憶する発音状態記憶手段と、前記設定の変更後当該電子楽器が前記通常モードに切り替えられるまでの間に前記消音すべき楽音として指定された楽音のうち、前記発音状態記憶手段に記憶されていない楽音のみについて、前記ホールド手段によるホールド動作を禁止するホールド禁止手段と、を備えることを特徴とする。
【０００９】
上記の様に構成された本発明（請求項１記載）の電子楽器においては、発生すべき楽音が楽音指定手段を介して指定されると、発音制御手段が、その指定された楽音を、音色設定手段にて予め設定された音色にて、音源から発音させる。また、発音制御手段は、消音すべき楽音が楽音指定手段によって指定されると、その指定された楽音を消音させる。そして、当該電子楽器がホールドモードであるときに、消音すべき楽音が指定されると、ホールド手段が、その楽音の消音を禁止して発音状態に保持（ホールド動作）し、その後、モード切替手段により通常モードに切り替えられると、通常モード復帰手段が、発音状態に保持された上記楽音を消音させる。
【００１０】
このとき、例えば、当該電子楽器がホールドモードであるときに音色の設定が変更されると、その設定の変更後当該電子楽器が通常モードに切り替えられるまでの間に指定された上記消音すべき楽音については、ホールド禁止手段が、ホールド手段によるホールド動作を禁止することが考えられる。
【００１１】
すなわち、ホールドモードであっても、音色の設定が変更された後は、消音すべきものとして指定された楽音を発音状態に保持せず、消音させるのである。従って、新音色の楽音までもがホールド手段によって発音状態に保持されることがなくなり、例えば、旧音色の楽音をホールド手段により発音状態に保持させたまま、新しい音色の楽音を短く発音することも可能となる。つまり、電子楽器がホールドモードにある場合でも、演奏者の意図に沿った発音・消音タイミングで、新音色の楽音の発生を制御することができるのである。
【００１２】
しかし、電子楽器がホールドモードにある場合、音色の設定を変更した後通常モードに切り替えられるまでの間に消音指示が為された楽音については、発音状態にホールドせずに消音させるのであるが、このとき、旧音色の楽音が消音すべき楽音として指示されると、その楽音も消音されることとなる。例えば、旧音色の楽音の全てが既にホールド手段によって発音状態に保持された状態となった後に、音色設定の変更が行われるのであれば問題は生じ難いが、旧音色で発音されている楽音の一部がホールド手段によらず発音されており、音色設定の変更後に、消音すべき指示が為された場合には、発音状態に保持されず消音されてしまうのである。その結果、旧音色についてはホールド動作が作用するものと考えて演奏者が電子楽器を操作しても、その意図に反して、旧音色の楽音も消音されてしまうことになる。
【００１３】
これを解決するには、例えば請求項１記載の様にするとよい。即ち、当該電子楽器がホールドモードであるときに音色の設定が変更されると、その設定変更の際に発音状態にある楽音を記憶する発音状態記憶手段を設けるようにする。そして、ホールド禁止手段を、次の様に構成する。即ち、音色の設定変更後、当該電子楽器が通常モードに切り替えられるまでの間に上記消音すべき楽音として指定された楽音のうち、発音状態記憶手段に記憶されていない楽音のみについて、ホールド手段によるホールド動作を禁止するよう、ホールド禁止手段を構成するのである。
【００１４】
この様に構成された請求項１記載の電子楽器においては、音色設定の変更時に既に発音中である楽音（即ち、旧音色の楽音）は、発音状態記憶手段に記憶されることとなる。そのため、音色設定の変更後に、旧音色の楽音についての消音すべき指示が為された場合であっても、その旧音色の楽音については、発音状態記憶手段に記憶されているのでホールド動作が禁止されず、発音状態に保持されることになる。従って、旧音色の楽音が誤って消音されることを防止することができ、演奏者の意図に沿った発音制御を図ることができる。
【００１５】
また、上記の如く、旧音色の楽音が誤って消音されるという問題を解決するには、請求項２記載のように構成しても良い。即ち、当該電子楽器がホールドモードであるときに音色の設定が変更されると、その設定の変更後当該電子楽器が前記通常モードに切り替えられるまでの間に、発音すべき楽音として指定された楽音を記憶する発音指定記憶手段を設けるようにする。そして、ホールド禁止手段を、次のように構成する。即ち、音色の設定の変更後、当該電子楽器が前記通常モードに切り替えられるまでの間に上記消音すべき楽音として指定された楽音のうち、発音指定記憶手段に記憶されている楽音のみについて、ホールド手段によるホールド動作を禁止するよう、ホールド禁止手段を構成するのである。
【００１６】
この様に構成された請求項２記載の電子楽器においては、音色設定の変更後に、発音すべきものとして指定された楽音（即ち、新音色の楽音）は、発音指定記憶手段に記憶されることとなる。そのため、音色設定の変更後に、旧音色の楽音についての消音すべき指示が為された場合であっても、その旧音色の楽音については、発音指定記憶手段に記憶されていないのでホールド動作が禁止されず、発音状態に保持されることになる。従って、旧音色の楽音が誤って消音されることを防止することができ、演奏者の意図に沿った発音制御を図ることができる。
【００１７】
【発明の実施の形態】
以下に本発明の一実施例を図面と共に説明する。
図１は、本発明の第１実施例の電子楽器１の全体構成を表わすブロック図である。この電子楽器１は、外部音源５０に発音させる所謂マスターキーボードであり、図１に示す如く、ＣＰＵ２、ＲＯＭ４、ＲＡＭ６、操作パネル８、キーボード１０、ＭＩＤＩインターフェイス回路１２（以下、「Ｉ／Ｆ回路」という。）、これら各部２〜１２を結ぶバス２０等から構成されている。
【００１８】
キーボード１０は、複数の鍵（「キー」ともいう。本実施例では６１個）を備えている。そして各鍵にはタッチセンサ（図示せず）が設けられている。タッチセンサは、各鍵に関するキーオン／オフ情報（即ち押鍵又は離鍵操作を示す情報）、その押鍵の強弱（ベロシティ）およびキーナンバー等のキーイベント情報を検出するためのものである。キーボード１０に設けられているキーは、夫々、「Ｃ１」から「Ｃ６」までの各音高に対応している。
【００１９】
キーボード１０には、更に、キーボードスキャン回路（図示せず）が設けられている。キーボードスキャン回路は、ＣＰＵ２の制御により動作し、各鍵に設けられたタッチセンサをスキャンして、キーイベント情報（キーオン／オフ情報、ベロシティ、キーナンバなど）をＣＰＵ２に転送する。なお、キーナンバとは、各キーに割り当てられた番号であり、「Ｃ１」から「Ｃ６」までの各音高に付されるノートナンバと１対１に対応する。
【００２０】
こうした構成により、演奏者は、押鍵操作によって、”発生すべき楽音”を指定することができ、その押鍵を解除する離鍵操作によって、”消音すべき楽音”を指定することができる。
次に、操作パネル８には、ホールドスイッチ（ホールドＳＷ）８ａや、音色選択スイッチ（音色選択ＳＷ）８ｂなど、様々な操作部が設けられている。
【００２１】
ホールドスイッチ８ａは、電子楽器１の動作モードを、通常モードとホールドモードとに交互に切り替えるための操作部である。通常モードとは、後述する様に、消音すべき楽音の全てを消音可能な動作モードであり、ホールドモードとは、ホールド動作を行うことが可能な動作モードである。また、音色選択スイッチ８ｂは、外部音源５０に発生させる楽音の音色を選択するためのスイッチである。
【００２２】
そしてまた、操作パネル８には、パネルスキャン回路（図示せず）も設けられている。パネルスキャン回路は、ＣＰＵ２により制御され、ホールドスイッチ８ａに対する外部操作（本明細書では「ホールドイベント」という。）や、音色選択スイッチ８ｂに対する外部操作（本明細書では「音色変更イベント」という。）を検出する。
【００２３】
ＣＰＵ２は、ＲＯＭ４に格納された制御プログラムに従って動作する。例えば、ＣＰＵ２は、パネルスキャン回路に操作パネル８のスキャンを行わせ、操作パネル８に対する操作（パネルイベント）に伴う情報（パネルイベント情報）を読み取ったり、キーボードスキャン回路にキーボード１０のスキャンを行わせ、キーボード１０に対する操作（キーイベント）に伴う情報（キーイベント情報）を読み取ったりする。
【００２４】
ＲＯＭ４には、制御プログラムの他にも、当該電子楽器１の動作を制御するための情報など、様々なデータが格納されている。
ＲＡＭ６は、ＣＰＵ２の作業用領域として使用される。ＲＡＭ６には、例えば、パネルスキャン回路により検出されたパネルイベント情報や、キースキャン回路により検出されたキーイベント情報を一時的に記憶するバッファが定義されている。また、フラグ（例えば、後述するホールドモードフラグhold＿flgや、ホールド禁止フラグhold＿dis＿flgなど）の値を記憶するための領域などが確保されている。
【００２５】
なお、外部音源５０は、楽音信号発生回路、Ｄ／Ａ変換器、アンプおよびスピーカ等から構成されているものである。楽音信号発生回路は、外部（例えば、電子楽器１のＩ／Ｆ回路１２）から入力されるＭＩＤＩ情報に基づき、デジタル楽音信号を生成する。ＭＩＤＩ情報（コマンド）には様々な種類のものがあるが、ノートオンコマンドやノートオフコマンドやプログラムチェンジコマンドなどが含まれる。ノートオンコマンドは、楽音を発生すべき旨の指示情報と、発生すべき楽音の音高を示すノートナンバと、発音すべき楽音の強さを示すベロシティとからなる。またノートオフ情報は、楽音を消音すべき旨の指示情報と、消音すべき楽音の音高を示すノートナンバとを有する。また、プログラムチェンジ情報は、音色を制御するための音色制御プログラムを変更すべき旨の指示情報と、その新しく使用すべき音色制御プログラムを指定する音色番号とからなる。
【００２６】
即ち、外部音源５０の楽音信号発生回路は、音色番号毎に対応する音色制御プログラムを有しており、ノートオン情報が入力されると、その時点で既に設定されている音色番号に対応した音色制御プログラムなどに基づいて、デジタル楽音信号を発生する。そして、Ｄ／Ａ変換器は、上記生成されたデジタル楽音信号を、アナログ楽音信号に変換する。こうして生成されたアナログ楽音信号は、アンプにて増幅され、さらにスピーカにて音に変換される。この結果、音源からは、設定された音色の楽音が発生されることとなる。
【００２７】
以上の様に構成された第１実施例の電子楽器において、ＣＰＵ２が実行する制御処理を図２〜８に基づいて説明する。第１実施例の電子楽器の電源が投入されると、ＣＰＵ２では、図２に示すメインルーチン処理が起動される。なお、外部音源５０には、既に電源が投入されており、また発生すべき楽音の音色は既に設定されているものとする。
【００２８】
メインルーチンではまず、ステップ（以下、「Ｓ」と記す。）１０にて、初期化処理を行う。初期化処理では、ＲＡＭ６に記憶された内容をクリアするなどの処理を行う。
初期化処理（Ｓ１０）が終了すると、次にＳ２０にて、音色変更処理を行う（図３）。図３に示す様に、音色変更処理では、まずＳ１１０にてパネルスキャン回路を制御することにより、操作パネル８の設定を検出し、音色変更イベントがあったかどうかを判断する。音色変更イベントがなかった場合には（Ｓ１１０：ＮＯ）、当該音色変更処理を速やかに終了するが、音色変更イベントがあった場合には（Ｓ１１０：ＹＥＳ）、音色選択スイッチ８ｂにて指定された音色を外部音源５０に設定すべく、外部音源５０に対してプログラムチェンジコマンドを送信する（Ｓ１２０）。この結果、外部音源５０にて使用される音色制御プログラムが変更され、これより後に発音が開始される楽音は、その音色制御プログラムに基づいた新しい音色で発音されることとなる。なお、現在発音中である楽音については、音色は変わらない。
【００２９】
Ｓ１２０の後、次に、Ｓ１３０にて、電子楽器１がホールドモードであるかどうかを判断する。これは、ホールドフラグHold＿flg＝「１」であるかどうかにより判断する。ホールドフラグHold＿flgとは、当該電子楽器１の動作モードを記憶するためのフラグである。ホールドフラグHold＿flgの値が「０」（フラグが立っていない）であることは、動作モードが「通常モード」であることを示し、「１」（フラグが立っている）であることは、動作モードが「ホールドモード」であることを示す。なお、ホールドフラグHold＿flgの値は、後述するホールド処理（図５）にて切り替えられる。
【００３０】
Ｓ１３０の判断の結果、電子楽器１がホールドモードでない場合には（ＮＯ）、速やかに当該音色変更処理を終了するが、ホールドモードである場合には（ＹＥＳ）、現在発音中の楽音を記憶する（Ｓ１４０）。具体的には、キースキャン回路によりキーボード１０の押鍵状態を検出することにより、現在押圧されている鍵のキーナンバ（即ち押鍵状態にある鍵に対応するノートナンバ）を得る。そして、検出したキーナンバに対応する音高の楽音を、発音中の楽音として、発音状態バッファに記憶させる。
【００３１】
発音状態バッファはＲＡＭ６に確保された記憶領域である。発音状態バッファにおいては、図４（ｂ）に示す如く、各音高の楽音（Ｃ１〜Ｃ６）毎に、ノートオンフラグnote＿on＿Ｎ（Ｎ＝１〜６１）が定義され、発音中の楽音は、このノートオンフラグnote＿on＿Ｎに「１」をセットすることにより記憶される。
【００３２】
このようなＳ１４０の処理を終えると、次のＳ１５０にて、ホールド禁止フラグHold＿dis＿flgに「１」をセットし、その後、当該音色変更処理を終了する。ホールド禁止フラグHold＿dis＿flgとは、「所定の音高の楽音についてはホールド動作を禁止すべきである旨」」を記憶しておくためのフラグである。ここで、ホールド動作を禁止すべき所定の音高の楽音とは、発音状態バッファに記憶されていない楽音である。
【００３３】
こうして音色変更処理が終了すると、メインルーチン（図２）に戻り、次にＳ３０にてホールド処理を開始する。図５に示す様に、ホールド処理では、まずＳ２００にて、パネルスキャン回路を制御することにより、操作パネル８の設定を検出し、ホールドイベントがあったかどうかを判断する。ホールドイベントがなかった場合（Ｓ２００：ＮＯ）には、当該ホールド処理を速やかに終了するが、ホールドイベントがあった場合には（Ｓ２００：ＹＥＳ）、ホールドスイッチ８ａに対する操作が、ホールドモードに移行すべき旨の指示（ホールドオン）であったのか否かを判断する（Ｓ２１０）。
【００３４】
Ｓ２１０の判断の結果、ホールドスイッチ８ａに対する操作が「ホールドオン」であった場合（ＹＥＳ）には、Ｓ３００にて、ホールドフラグHold＿flgに「１」を設定した後、当該ホールド処理を終了する。
一方、ホールドスイッチ８ａに対する操作が「ホールドオン」でなかった場合（ＮＯ）には、電子楽器１を通常モードに移行すべきものと判断して、Ｓ２３０にて、ホールドフラグHold＿flgをリセット（「０」を設定）する。そして、Ｓ２４０においてはホールド禁止フラグHold＿dis＿flgの値を判断して、これが「１」である場合（ＹＥＳ）には、Ｓ２４５にて、ホールド禁止フラグHold＿dis＿flgをリセットした後に、Ｓ２５０に移行し、「１」でない場合（ＮＯ）には速やかにＳ２５０に移行する。
【００３５】
以降に説明するＳ２５０からＳ２９０の処理は、電子楽器１をホールドモードから通常モードに復帰させる際に、ホールドバッファ（図４（ａ））を参照し、ホールドされている楽音を消音させるための処理である。
ホールドバッファは、ＲＡＭ６に確保された記憶領域であり、ホールド動作により発音状態に保持された（即ちホールドされた）楽音を記憶しておくために使用される。ホールドバッファにおいては、各音高の楽音（Ｃ１〜Ｃ６）毎に、ノートホールド状態フラグnote＿hold＿Ｎ（Ｎ＝１〜６１）が定義され、ホールドされた楽音は、このノートホールド状態フラグnote＿hold＿Ｎに「１」をセットすることにより記憶される。例えば、「Ｄ１」の楽音がホールドされると、ノートホールド状態フラグnote＿hold＿３に「１」がセットされる。なお、ホールドバッファに楽音を記憶する処理は、後述のキーオフ処理（図７参照）中に行われる。
【００３６】
さて、まずＳ２５０では、カウント変数Ｎをリセットする。そしてＳ２６０にて、カウント変数Ｎを「１」だけ増加させ、Ｓ２７０にて、ノートホールド状態フラグnote＿hold＿Ｎが「１」であるかどうかを判断する。最初は、「Ｃ１」の楽音に対応するノートホールド状態フラグnote＿hold＿１の値について判断されることになる。
【００３７】
Ｓ２７０の判断の結果、ノートホールド状態フラグnote＿hold＿Ｎが「１」である場合（ＹＥＳ）には、これに対応する音高の楽音を消音すべき旨のノートオフコマンドを、外部音源５０に送信（Ｓ２８０）した後、Ｓ２９０に移行し、ノートホールド状態フラグnote＿hold＿Ｎが「１」でない場合（ＮＯ）には、直ちにＳ２９０に移行する。Ｓ２９０では、「カウント変数Ｎ＞６１」であるかどうかを判断し、「カウント変数Ｎ＞６１」でない場合（ＮＯ）は、Ｓ２６０に戻る。これにより、「Ｃ１」から「Ｃ６」までの各音高（６１個）の楽音について、ホールドされた状態かどうかを判断し、ホールドされている楽音について、消音を行うこととなる。
【００３８】
こうして、ホールド状態で発音中の楽音を消音した後（Ｓ２９０：ＹＥＳ）は、Ｓ２９５にて、ホールドバッファおよび発音状態バッファの記憶内容をクリア（即ち、両バッファに夫々定義されているノートホールド状態フラグnote＿hold＿Ｎ、ノートオンフラグnote＿on＿Ｎをリセット）し、その後、当該ホールド処理を終了する。
【００３９】
こうして、ホールド処理を終了すると、メインルーチン（図２）に戻り、次にＳ４０にて鍵盤処理（図６）を起動する。図６に示す様に鍵盤処理では、まずＳ３１０にて、キーボードスキャン回路にキーボード１０をスキャンさせて、キーイベントが発生したかどうかを調べる。
【００４０】
キーイベントが発生したと判断した場合（Ｓ３１０：ＹＥＳ）には、Ｓ３２０にて、そのキー操作が、キーオン（発音すべき旨の指示）であるのか、キーオフ（消音すべき旨の指示）であるのかを調べる。ここで、キーオンであった場合には（Ｓ３２０：ＹＥＳ）、Ｓ３３０に移行して、ノートオンコマンドを作成し、Ｉ／Ｆ回路１２により外部音源５０に送信する。その結果、外部音源５０からは、キーボード１０により”発生すべき楽音”として指定された音高の楽音が、発生されることとなる。
【００４１】
また、Ｓ３２０における判断の結果、キーオンでなかった（即ち、キーオフであった）場合（Ｓ３２０：ＮＯ）には、Ｓ３４０に移行して、所定のキーオフ処理（図７と共に後述する）を実行した後、当該鍵盤処理を終了する。なお、Ｓ３１０の判断の結果、キーイベントがなかった場合（ＮＯ）には、直ちに当該鍵盤処理を終了する。
【００４２】
さて、図７に示す様にキーオフ処理では、まずＳ３５０にて、ホールドフラグHold＿flgが立っているか否かを判断する。Ｓ３５０において、ホールドフラグHold＿flgの値が「１」でない場合（ＮＯ）には、キーオフされた鍵に対応する楽音を消音すべく、ノートオフコマンドを作成して、Ｉ／Ｆ回路１２により外部音源５０に送信する（Ｓ３９０）。この結果、キーボード１０により”消音すべき楽音”として指定された音高の楽音が消音されることとなる。
【００４３】
一方、Ｓ３５０において、ホールドフラグHold＿flg＝「１」である場合（ＹＥＳ）には、Ｓ３６０に移行して、ホールド禁止フラグHold＿dis＿flg＝「１」かどうかを判断する。ここで、ホールド禁止フラグHold＿dis＿flgの値が「１」でない場合（Ｓ３６０：ＮＯ）には、ホールド動作を禁止しない。即ち、キーボード１０により”消音すべき楽音”として指定された音高の楽音を、発音状態に保ったままホールドバッファに記憶し（Ｓ３８０）、その後当該キーオフ処理を終了する。
【００４４】
他方、Ｓ３６０での判断の結果、ホールド禁止フラグHold＿dis＿flg＝「１」である場合には、所定の音高の楽音についてホールド動作を禁止するものと判断し、Ｓ３７０に移行する。Ｓ３７０では、キーイベントにより”消音すべき楽音”として指定された楽音が、発音状態バッファに記憶されているかどうかを判断する。  ここで、当該指定された楽音が記憶されている場合（Ｓ３７０：ＹＥＳ）には、「当該指定された楽音は、ホールドすべき楽音である」と判断して、上述のＳ３８０を行った後、当該キーオフ処理を終了する。一方、当該指定された楽音が発音状態バッファに記憶されていない場合（Ｓ３７０：ＮＯ）には、「当該指定された楽音は、ホールドを禁止すべき楽音である」と判断して、上述のＳ３９０を行った後、当該キーオフ処理を終了する。
【００４５】
こうして、キーオフ処理を終了すると、メインルーチン（図２）に戻る。そして、Ｓ５０にて、操作パネル８に設けられた各種の操作部に対応する処理などを行った後、Ｓ２０に戻る。こうして、メインルーチンでは、Ｓ２０〜Ｓ５０の処理を繰り返し行うこととなる。
【００４６】
以上の様な処理により、電子楽器１では、例えば図８のタイムチャートに示すような動作が実現される。最初は、音色として「ストリングス」が、外部音源５０に設定されているものとする。
まず時刻ｔ１にて押鍵操作があると、ノートオンコマンドが出力され、外部音源５０からは「ストリングス」の楽音が発生される。その後、離鍵操作が時刻ｔ２で行われても、発音状態にある「ストリングス」の音は、その時点では消音されず、その後の時刻ｔ３にてホールドモードから通常モードに移行した時点で、ノートオフコマンドが外部音源５０に対して出力された結果、消音される。
【００４７】
また、時刻ｔ４にて押鍵操作があると、同様に、ノートオンコマンドが出力され、外部音源５０からは「ストリングス」の音が発生される。その後、離鍵操作が時刻ｔ５で行われても、発音状態にある「ストリングス」の音は、その時点では消音されず、その後の時刻ｔ９にてホールドモードから通常モードに移行した時点で、ノートオフコマンドが外部音源５０に対して出力された結果、消音される。
【００４８】
ところで、時刻ｔ６で音色が「ストリングス」から「オルガン」に変更されると、その時、電子楽器１はホールドモードとなっているので、ホールド禁止フラグHold＿dis＿flgに「１」がセットされる。そして、時刻ｔ６から時刻ｔ９の間に、「オルガン」の音を発生すべく押鍵操作（時刻ｔ７）、及び離鍵操作（時刻ｔ８）が有っても、その「オルガン」の音はホールドされない。ホールド禁止フラグHold＿dis＿flgは、時刻ｔ９にて電子楽器１の動作モードが通常モードに戻るまで立ったままであり、新音色の「オルガン」の音については、ホールドが禁止されるためである。
【００４９】
以上の様に構成され、動作する第１実施例の電子楽器１によれば、次の効果（１）、（２）を奏する。
（１）電子楽器１の動作モードがホールドモードであっても（Ｓ３５０：ＹＥＳ）、音色の設定が変更された後、通常モードに戻されるまでの間（即ちホールド禁止フラグHold＿dis＿flg＝「１」の間）は、消音すべきものとして指定された楽音を発音状態に保持せず、消音させる（即ちホールド動作を禁止する。Ｓ３９０）ようにしていることから、新しい音色の楽音までもがホールドされるのを防ぐことができる。その結果、例えば、旧音色の楽音をホールドして発音状態に保持させたまま、新しい音色の楽音を短く発音することも可能となり、電子楽器１がホールドモードにある場合でも、演奏者の意図に沿った発音・消音タイミングで、新しい音色の楽音の発生を制御することができる。
【００５０】
（２）音色設定の変更時に発音中である楽音（即ち、旧音色の楽音）を、ＲＡＭ６に定義された発音状態バッファに記憶するようにしており、この発音状態バッファに記憶されていない楽音のみについて、ホールド動作を禁止するようにしている。そのため、この発音状態バッファに記憶された楽音については、音色設定変更後、通常モードに戻されるまでの間（即ちホールド禁止フラグHold＿dis＿flg＝「１」の間）に消音すべき指示が為されても、ホールド動作が禁止されず、発音状態に保持されることになる。従って、旧音色の楽音が誤って消音されることを防止することができ、演奏者の意図に沿った発音制御を図ることができる。
【００５１】
次に第２実施例としての電子楽器１０１について説明する。
第１実施例の電子楽器１においては、外部音源５０から楽音を発生させるものとして説明したが、第２実施例の電子楽器１０１の様に、音源を有する電子楽器についても本発明を適用することができる。
【００５２】
図９は、本発明の第２実施例の電子楽器１０１の全体構成を表わすブロック図である。この電子楽器１０１は、ＣＰＵ２、ＲＯＭ４、ＲＡＭ６、操作パネル８、キーボード１０、ＭＩＤＩインターフェイス回路１２（以下、「Ｉ／Ｆ回路」という。）、楽音信号発生回路１４、サウンドシステム１６、及び、これら各部２〜１６を結ぶバス２０等から構成されている。このうち、ＣＰＵ２、ＲＯＭ４、ＲＡＭ６、操作パネル８およびキーボード１０については、第１実施例の電子楽器１と同様であるので説明を省略する。
【００５３】
楽音信号発生回路１４は、時分割多重処理によって形成される複数のチャネル（本実施例では６４ｃｈ）により、独立したデジタル楽音信号を発生することができるものである。この楽音信号発生回路１４には、アサイメントメモリ１４ａが設けられている。アサイメントメモリ１４ａは、デジタル楽音信号を各チャネルから発音するのに必要な各種の楽音制御情報（例えば、キーオンオフフラグ、波形読出アドレス、波形読出スピードデータ、エンベロープ係数など）を各チャネル毎に格納するものであり、楽音信号発生回路１４は、このアサイメントメモリ１４ａの内容に従って各チャネルの発音状態を制御する。
【００５４】
例えば、発音開始は、キーオンオフフラグとして「１」が設定されると行い、発音終了はキーオンオフフラグとして「０」が設定されると行う。ここで、「発音開始」とは、楽音信号発生回路１４に設けられる周知の波形メモリ（図示せず）の波形読出アドレスから波形読出を開始すると共にエンベロープ演算を開始する（即ち、キーオンオフフラグが「１」とされたチャネルをアタックモードに設定する）ことを意味する。また「発音終了」とは、波形読出は続けたままエンベロープ演算をリリースエンベロープ係数に変化させて徐々に音量を減らす処理に移行する（即ち、キーオンオフフラグが「０」とされたチャネルをリリースモードに設定する）ことを意味する。
【００５５】
また楽音信号発生回路１４には、ＤＳＰ１４ｂが備えられている。各種の音響効果を楽音に付与するためのものである。ＤＳＰ１４ｂは、図示しない記憶部を備えており、この記憶部にエフェクトプログラム、エフェクト係数等の楽音制御情報を記憶する。ＤＳＰ１４ｂはエフェクトプログラム、エフェクト係数等の楽音制御情報に基き、上記チャネルからのデジタル楽音信号に各種音響効果を付与する。この様に、楽音信号発生回路１４では、デジタル楽音信号を生成する際に様々な楽音制御情報を使用するが、こうした楽音制御情報の違いによって、楽音の音色がそれぞれ異なるものとなる。
【００５６】
そして、サウンドシステム１６は、Ｄ／Ａ変換器、アンプおよびスピーカ（何れも図示せず）などから構成されている。Ｄ／Ａ変換器では、楽音信号発生回路１４から出力されるデジタル楽音信号をアナログ楽音信号に変換し、アンプが、そのアナログ楽音信号を増幅して、スピーカに伝達する。そして、スピーカからは楽音が発生される。
【００５７】
この様に構成された第２実施例の電子楽器において、ＣＰＵ２が実行する制御処理を図１０〜１４に基づいて説明する。第２実施例の電子楽器の電源が投入されると、ＣＰＵ２ではメインルーチン処理が起動される。このメインルーチンは、第１実施例の電子楽器１におけるメインルーチンものと同様であるので、図２を利用しつつ説明を行う。
【００５８】
メインルーチンではまず、Ｓ１０にて、初期化処理を行う。初期化処理では、ＲＡＭ６に記憶された内容をクリアするなどの処理を行う。
初期化処理（Ｓ１０）が終了すると、次にＳ２０にて、音色変更処理を行う（図１０）。図１０に示す様に、第２実施例の音色変更処理でも、まずＳ５１０にてパネルスキャン回路を制御することにより、操作パネル８の設定を検出し、音色変更イベントがあったかどうかを判断する。音色変更イベントがなかった場合には（Ｓ５１０：ＮＯ）、当該音色変更処理を速やかに終了するが、音色変更イベントがあった場合には（Ｓ５１０：ＹＥＳ）、音色選択スイッチ８ｂにて指定された音色の楽音が、サウンドシステム１６から出力されるよう、その音色対応した楽音制御情報を楽音信号発生回路１４に設定する（Ｓ５２０）。
こうして、サウンドシステム１６にて使用される楽音制御情報が変更されると、これより後に発音が開始される楽音は、その楽音制御情報に基づいた新しい音色で発音されることとなる。なお、現在発音中である楽音については、音色は変わらない。
【００５９】
Ｓ５２０の後、次に、Ｓ５３０にて、電子楽器１がホールドモードであるかどうかを判断する。これは、ホールドフラグHold＿flg＝「１」であるかどうかにより判断することができる。なお、ホールドフラグHold＿flgの値は、後述するホールド処理（図１２）にて切り替えられる。
【００６０】
Ｓ５３０の判断の結果、電子楽器１０１がホールドモードでない場合には（ＮＯ）、速やかに当該音色変更処理を終了するが、ホールドモードである場合には（ＹＥＳ）、現在発音中の楽音を記憶する（Ｓ５４０）。具体的には、楽音信号発生回路１４に設定されているキーオンオフフラグを参照することによって、発音中のチャネル（ｃｈ）を検出する。そして、検出したチャネルを、発音状態バッファに記憶させる。
【００６１】
第２実施例の発音状態バッファもＲＡＭ６に確保された記憶領域である。この発音状態バッファにおいては、図１１（ｂ）に示す如く、各チャネル（ｃｈ１〜ｃｈ６４）毎に、チャネルオンフラグch＿on＿Ｎ（Ｎ＝１〜６４）が定義され、発音中のチャネルは、このチャネルオンフラグch＿on＿Ｎに「１」をセットすることにより記憶される。
【００６２】
このようなＳ５４０の処理を終えると、次のＳ５５０にて、ホールド禁止フラグHold＿dis＿flgに「１」をセットし、その後、当該音色変更処理を終了する。ホールド禁止フラグHold＿dis＿flgは、「所定の音高の楽音についてはホールド動作を禁止すべきである旨」を記憶しておくためのフラグであるが、第２実施例において、ホールド動作を禁止すべき所定の音高の楽音とは、発音状態バッファに記憶されていないチャネルから発音されている楽音である。
【００６３】
こうして音色変更処理が終了すると、メインルーチン（図２）に戻り、次にＳ３０にてホールド処理（図１２）を開始する。この第２実施例のホールド処理において、Ｓ６００〜Ｓ６４５、Ｓ７００の処理は、第１実施例のホールド処理におけるＳ２００〜２４５、Ｓ３００の夫々の処理と同様であるので、説明を省略する。なお、Ｓ６４０において、ホールド禁止フラグHold＿dis＿flgの値が「１」である場合（ＹＥＳ）には、Ｓ６４５にて、ホールド禁止フラグHold＿dis＿flgをリセットした後に、Ｓ６５０に移行し、「１」でない場合（ＮＯ）には速やかにＳ６５０に移行する。
【００６４】
Ｓ６５０の処理は、電子楽器１０１をホールドモードから通常モードに復帰させる際に、ホールドバッファ（図１１（ａ））を参照し、ホールドされている楽音を消音させるための処理である。具体的には、ホールドバッファに記憶されているチャネルを検索し、ここに記憶されていたチャネルをリリースモードに設定する処理である。
【００６５】
第２実施例のホールドバッファも、ＲＡＭ６に確保された記憶領域であり、ホールド動作により発音状態に保持された（即ちホールドされた）楽音を記憶しておくために使用される。ホールドバッファにおいては、各チャネル（ｃｈ１〜ｃｈ６４）毎に、チャネルホールド状態フラグch＿hold＿Ｎ（Ｎ＝１〜６４）が定義され、ホールドされた楽音に対応するチャネルは、このチャネルホールド状態フラグch＿hold＿Ｎに「１」をセットすることにより記憶される。
【００６６】
こうして、ホールド状態の楽音を、Ｓ６５０の処理により消音（発音終了）した後は、Ｓ６９５にて、ホールドバッファおよび発音状態バッファの記憶内容をクリア（即ち、両バッファに夫々定義されているチャネルホールド状態フラグch＿hold＿Ｎ、チャネルオンフラグch＿on＿Ｎをリセット）し、その後、当該ホールド処理を終了する。
【００６７】
こうして、ホールド処理を終了すると、メインルーチン（図２）に戻り、次にＳ４０にて鍵盤処理（図１３）を起動する。図１３に示す鍵盤処理におけるＳ７１０、Ｓ７２０およびＳ７４０の処理は、夫々、第１実施例の鍵盤処理におけるＳ３１０、Ｓ３２０およびＳ３４０に相当し、同じ内容の処理であるので、その説明を省略する。
【００６８】
ただし、Ｓ７４０においては、図１４に示すキーオフ処理を起動する。またＳ７２０における判断の結果、キーオンであった場合には（Ｓ７２０：ＹＥＳ）、Ｓ７３０に移行する。Ｓ７３０では、発音に使用するチャネルの割り当て（アサイン）を行う。そして、そのチャネルに対応するアサイメントメモリ１４ａの領域に所定の楽音制御情報を設定することにより、そのチャネルをアタックモードに設定する。その結果、サウンドシステム１６からは、キーボード１０により”発生すべき楽音”として指定された音高の楽音が、発生されることとなる。なお、Ｓ７３０の後、直ちに当該鍵盤処理を終了する。
【００６９】
さて、図１３のＳ７４０において起動されるキーオフ処理では、図１４に示す様に、まずＳ７５０にて、ホールドフラグHold＿flgが立っているか否かを判断する。Ｓ７５０において、ホールドフラグHold＿flgの値が「１」でない場合には（ＮＯ）、キーオフされた鍵に対応する楽音を消音すべく、その楽音を発生しているチャネルをリリースモードに設定する（Ｓ７９０）。この結果、キーボード１０により”消音すべき楽音”として指定された音高の楽音が消音されることとなる。
【００７０】
一方、Ｓ７５０において、ホールドフラグHold＿flg＝「１」である場合（ＹＥＳ）には、Ｓ７６０に移行して、ホールド禁止フラグHold＿dis＿flg＝「１」かどうかを判断する。ここで、ホールド禁止フラグHold＿dis＿flgの値が「１」でない場合（Ｓ７６０：ＮＯ）には、ホールド動作を禁止しない。即ち、キーボード１０により”消音すべき楽音”として指定された音高の楽音を、発音状態に保ち、その楽音を発生しているチャネルを、ホールドバッファに記憶する（Ｓ７８０）。そして、Ｓ７８０の後、当該キーオフ処理を終了する。
【００７１】
他方、Ｓ７６０での判断の結果、ホールド禁止フラグHold＿dis＿flg＝「１」である場合には（ＹＥＳ）、所定の音高の楽音についてホールド動作を禁止するものと判断し、Ｓ７７０に移行する。Ｓ７７０では、キーイベントにより”消音すべき楽音”として指定された楽音を発生しているチャネルが、発音状態バッファに記憶されているかどうかを判断する。ここで、そのチャネルが記憶されている場合（ＹＥＳ）には、「当該指定された楽音は、ホールドすべき楽音である」と判断して、上述のＳ７８０を行った後、当該キーオフ処理を終了する。一方、そのチャネルが発音状態バッファに記憶されていない場合（ＮＯ）には、「当該指定された楽音は、ホールドを禁止すべき楽音である」と判断して、上述のＳ７９０を行った後、当該キーオフ処理を終了する。
【００７２】
こうして、キーオフ処理を終了すると、メインルーチン（図２）に戻る。そして、Ｓ５０にて、操作パネル８に設けられた各種の操作部に対応する処理などを行った後、Ｓ２０に戻る。こうして、第２実施例のメインルーチンにおいても、Ｓ２０〜Ｓ５０の処理を繰り返し行うこととなる。
【００７３】
以上の様に、第２実施例の電子楽器１０１によれば、第１実施例の電子楽器１と同様に、図８のタイムチャートに示した動作が実現される。その結果、第１実施例の電子楽器１における効果（１）と同様の効果を奏する。
また、音色設定の変更時に楽音を発音中であるチャネル（即ち、旧音色の楽音）を、ＲＡＭ６に定義された発音状態バッファに記憶するようにしており、この発音状態バッファに記憶されていないチャネルが発生している楽音のみについて、ホールド動作を禁止するようにしている。そのため、この発音状態バッファに記憶されたチャネルが発生している楽音については、音色設定変更後、ホールドモードが解除される（通常モードに戻される）までの間（ホールド禁止フラグhold＿dis＿flg＝「１」の間）に消音すべき指示が為されても、ホールド動作が禁止されず、発音状態に保持されることになる。従って、第１実施例の電子楽器１における効果（２）と同様の効果を奏することとなる。
【００７４】
次に第３実施例としての電子楽器について説明する。
上記のように第１実施例および第２実施例の電子楽器１，１０１においては、音色の設定変更時において発音中である楽音を記憶し、その記憶した楽音については、ホールド禁止フラグHold＿dis＿flg＝「１」であっても、ホールド動作を禁止しないものとして説明した。一方、第３実施例の電子楽器では、音色の設定変更後に、”発音すべき楽音”として指定された楽音（詳しくは、それを発生するチャネル）を記憶し、その記憶した楽音についてのみ、ホールド禁止フラグHold＿dis＿flg＝「１」である間、ホールド動作を禁止するよう構成されている。
【００７５】
これを実現するために、第３実施例の電子楽器にて行われる処理について説明する。なお、第３実施例の電子楽器の構成および処理に関し、以下に説明する以外のものについては第２実施例のものと同様であるので、その説明を省略する。
さて第３実施例の電子楽器においては、まず音色変更処理が、第２実施例とは一部異なっている。即ち、図１５に示す様に、第３実施例の音色変更処理においては、第２実施例の音色変更処理のＳ５４０に相当する処理を行わない。しかし、その他の処理については、両処理の間で共通しており、第３実施例の音色変更処理におけるＳ１０１０〜Ｓ１０３０，Ｓ１０５０の処理は、夫々、第２実施例の音色変更処理におけるＳ５１０〜Ｓ５３０，Ｓ５５０と同じ内容の処理である。なお、Ｓ１０３０においてホールドフラグHold＿flg＝「１」と判断されると（ＹＥＳ）、Ｓ１０５０に移行する。
【００７６】
また、第３実施例の電子楽器においては、鍵盤処理も、第２実施例とは一部異なっている。まず、図１６に示す様に、第３実施例の鍵盤処理におけるＳ１１１０〜Ｓ１１４０の処理は、夫々、第２実施例の鍵盤処理におけるＳ７１０〜Ｓ７４０と同様の処理内容である。しかし、第３実施例の鍵盤処理では、第２実施例のＳ７３０に相当するＳ１１３０の後、Ｓ１１４５の処理をおこなう。
【００７７】
Ｓ１１４５においては、ホールド禁止フラグhold＿dis＿flg＝「１」であるかどうかを判断し、ホールド禁止フラグhold＿dis＿flg＝「１」でない場合（ＮＯ）には、当該鍵盤処理を一旦終了する。一方、ホールド禁止フラグhold＿dis＿flg＝「１」である場合には（Ｓ１１４５：ＹＥＳ）、上記Ｓ１１３０にてアタックモードに設定されたチャネルを発音指定バッファに記憶する（Ｓ１１４７）。即ち”発生すべき楽音”として指定された楽音を記憶するのである。
【００７８】
ここで発音指定バッファにおいては、図１８に示すように、各チャネル（ｃｈ１〜ｃｈ６４）毎に、チャネルアサインフラグch＿assgin＿Ｎ（Ｎ＝１〜６４）が定義されている。上記Ｓ１１３０にてアタックモードに設定されたチャネルは、対応するチャネルアサインフラグch＿assign＿Ｎに「１」がセットされることにより記憶される（Ｓ１１４７）。
【００７９】
そして、Ｓ１１４０にて起動されるキーオフ処理も、第２実施例のものとは一部異なっている。即ち、図１７に示す様に、第３実施例のキーオフ処理におけるＳ１１５０，Ｓ１１６０，Ｓ１１８０，Ｓ１１９０の処理は、夫々、第２実施例の鍵盤処理におけるＳ７５０，Ｓ７６０，Ｓ７８０，Ｓ７９０と同様の処理内容である。しかし、Ｓ１１６０での判断の結果、ホールド禁止フラグHold＿dis＿flg＝「１」である場合（ＹＥＳ）に移行する先のＳ１１７０では、次の内容の処理を行う。
【００８０】
即ち、Ｓ１１７０では、キーイベントにより”消音すべき楽音”として指定された楽音を発生しているチャネルが、発音指定バッファに記憶されているかどうかを判断する。そして、そのチャネルが記憶されている場合（ＹＥＳ）には、「当該指定された楽音は、ホールドを禁止すべき楽音である」と判断して、Ｓ１１９０を行った後、当該キーオフ処理を終了する。一方、そのチャネルが発音指定バッファに記憶されていない場合（ＮＯ）には、「当該指定された楽音は、ホールドすべき楽音である」と判断して、上述のＳ１１８０の処理を行った後、当該キーオフ処理を終了する。
【００８１】
以上のように動作する第３実施例の電子楽器においても、第１実施例の電子楽器１と同様に、図８のタイムチャートに示した動作が実現される。その結果、第１実施例の電子楽器１における効果（１）と同様の効果を奏する。
また、音色設定の変更後に、”発音すべき楽音”として指定された楽音を発音したチャネル（即ち、新音色の楽音）を、ＲＡＭ６の発音指定バッファに記憶するようにしており、この発音指定バッファに記憶されているチャネルが発生している楽音のみについて、ホールド動作を禁止するようにしている。そのため、この発音指定バッファに記憶されていないチャネルが発生している楽音については、音色設定変更後、ホールドモードが解除される（通常モードに戻される）までの間（ホールド禁止フラグhold＿dis＿flg＝「１」の間）に消音すべき指示が為されても、ホールド動作が禁止されず、発音状態に保持されることになる。従って、第１実施例の電子楽器１における効果（２）と同様の効果を奏する。
【００８２】
ここで、請求項と実施例との対応について説明すると、以下の如くである。まず、キーボード１０が「楽音指定手段」に相当する。また、音色選択スイッチ８ｂ並びに、Ｓ１２０，Ｓ５２０およびＳ１０２０の処理が、「音色設定手段」として機能する。また、Ｓ３３０，Ｓ３９０，Ｓ７３０，Ｓ７９０，Ｓ１１３０およびＳ１１９０の処理が「発音制御手段」として機能する。
【００８３】
また、ホールドスイッチ８ａ並びに、Ｓ２３０，Ｓ３００，Ｓ６３０およびＳ７００の処理が「モード切替手段」として機能する。また、Ｓ３５０，Ｓ７５０およびＳ１１５０の処理が「ホールド手段」として機能する。また、Ｓ２５０〜Ｓ２９０およびＳ６５０の処理が「通常モード復帰手段」として機能する。
【００８４】
また、Ｓ３６０，Ｓ３７０，Ｓ７６０，Ｓ７７０，Ｓ１１６０およびＳ１１７０の処理が「ホールド禁止手段」として機能する。また、発音状態バッファが「発音状態記憶手段」として機能し、発音指定バッファが「発音指定記憶手段」として機能する。
【００８５】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されるものではなく、種々の態様を取ることができることはいうまでもない。
【図面の簡単な説明】
【図１】  第１実施例の電子楽器の電気的構成を示すブロック図である。
【図２】  第１実施例の電子楽器にて実行されるメインルーチンを示すフローチャートである。
【図３】  第１実施例の電子楽器にて実行される音色変更処理を示すフローチャートである。
【図４】  第１実施例の電子楽器にて使用されるホールドバッファおよび発音状態バッファを示す説明図である。
【図５】  第１実施例の電子楽器にて実行されるホールド処理を示すフローチャートである。
【図６】  第１実施例の電子楽器にて実行される鍵盤処理を示すフローチャートである。
【図７】  第１実施例の電子楽器にて実行されるキーオフ処理を示すフローチャートである。
【図８】  第１実施例の電子楽器の動作例を示すタイムチャートである。
【図９】  第２実施例の電子楽器の電気的構成を示すブロック図である。
【図１０】  第２実施例の電子楽器にて実行される音色変更処理を示すフローチャートである。
【図１１】  第２実施例の電子楽器にて使用されるホールドバッファおよび発音状態バッファを示す説明図である。
【図１２】  第２実施例の電子楽器にて実行されるホールド処理を示すフローチャートである。
【図１３】  第２実施例の電子楽器にて実行される鍵盤処理を示すフローチャートである。
【図１４】  第２実施例の電子楽器にて実行されるキーオフ処理を示すフローチャートである。
【図１５】  第３実施例の電子楽器にて実行される音色変更処理を示すフローチャートである。
【図１６】  第３実施例の電子楽器にて実行される鍵盤処理を示すフローチャートである。
【図１７】  第３実施例の電子楽器にて実行されるキーオフ処理を示すフローチャートである。
【図１８】  第３実施例の電子楽器にて使用される発音指定バッファを示す説明図である。
【符号の説明】
１，１０１…電子楽器、２…ＣＰＵ、４…ＲＯＭ、６…ＲＡＭ、８…操作パネル、８ａ…ホールドスイッチ、８ｂ…音色選択スイッチ、１０…キーボード、１２…ＭＩＤＩインターフェイス回路、１４…楽音信号発生回路、１６…サウンドシステム、５０…外部音源。
【図１】
0004215354.tif 000002
【図２】
0004215354.tif 000003
【図３】
0004215354.tif 000004
【図４】
0004215354.tif 000005
【図５】
0004215354.tif 000006
【図６】
0004215354.tif 000007
【図７】
0004215354.tif 000008
【図８】
0004215354.tif 000009
【図９】
0004215354.tif 000010
【図１０】
0004215354.tif 000011
【図１１】
0004215354.tif 000012
【図１２】
0004215354.tif 000013
【図１３】
0004215354.tif 000014
【図１４】
0004215354.tif 000015
【図１５】
0004215354.tif 000016
【図１６】
0004215354.tif 000017
【図１７】
0004215354.tif 000018
【図１８】
0004215354.tif 000019