(57)【特許請求の範囲】
【請求項１】
一次記憶装置と、
ユーザによる第１操作子への第１操作に基づき選択される第１音色に応じた第１波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を第２操作した場合に選択される第２音色に応じた第２波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を前記第２操作した場合に選択されない第３音色に応じた第３波形データと、を少なくとも含む複数種の波形データを記憶する二次記憶装置と、
前記ユーザによる前記第１操作子への前記第１操作に応じて、前記第１波形データ及び前記第２波形データを前記第３波形データよりも優先して前記二次記憶装置から前記一次記憶装置に転送する音色設定読み込み処理を実行する処理部と、
を備えた波形読み込み装置。
【請求項２】
前記第３音色に応じた前記第３波形データは、前記ユーザによる前記第１操作の後に前記ユーザが第２操作子を操作した場合に選択される請求項１記載の波形読み込み装置。
【請求項３】
前記処理部は、前記ユーザによる前記第１操作に応じて、前記第１波形データ及び前記第２波形データを前記第３波形データよりも優先して前記二次記憶装置から前記一次記憶装置に転送することを示す優先順位を設定する優先順位設定処理を実行し、設定された前記優先順位に従って、前記音色設定読み込み処理において前記二次記憶装置から前記一次記憶装置に前記第３波形データよりも前記第１波形データ及び前記第２波形データを優先して転送する請求項１または２に記載の波形読み込み装置。
【請求項４】
前記複数種の波形データ夫々は、前記二次記憶装置内の連続したエリアに順次記憶されており、
前記処理部において、前記音色設定読み込み処理は、選択された前記第１波形データ、及び前記第１波形データが記憶されているエリアに隣接するエリアに記憶されている前記第２波形データを前記二次記憶装置から前記一次記憶装置に転送する、請求項３に記載の波形読み込み装置。
【請求項５】
前記ユーザに前記第１操作子が操作される毎に、前記二次記憶装置内の連続したエリアに記憶されている順に波形データを選択させる波形選択信号を供給する、請求項４に記載の波形読み込み装置。
【請求項６】
前記処理部はさらに、前記ユーザによる操作に応じて波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングを波形選択履歴バッファに順次記憶する波形選択履歴記憶処理と、
前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングと前記波形選択履歴バッファに記憶されているタイミングとの差が予め定められた値を超えている場合は第１のモードと判別し、前記予め定められた値を超えていない場合は第２のモードと判別する判別処理と、
を実行し、
前記音色設定読み込み処理は、前記第２のモードと判別された際に実行する、請求項１に記載の波形読み込み装置。
【請求項７】
一次記憶装置と、ユーザによる第１操作子への第１操作に基づき選択される第１音色に応じた第１波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を第２操作した場合に選択される第２音色に応じた第２波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を前記第２操作した場合に選択されない第３音色に応じた第３波形データと、を少なくとも含む複数種の波形データを記憶する二次記憶装置と、を備えた波形読み込み装置のコンピュータに、
前記ユーザによる前記第１操作子への前記第１操作に応じて、前記第１波形データ及び前記第２波形データを前記第３波形データよりも優先して前記二次記憶装置から前記一次記憶装置に転送する音色設定読み込み処理を実行させる波形読み込み方法。
【請求項８】
一次記憶装置と、ユーザによる第１操作子への第１操作に基づき選択される第１音色に応じた第１波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を第２操作した場合に選択される第２音色に応じた第２波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を前記第２操作した場合に選択されない第３音色に応じた第３波形データと、を少なくとも含む複数種の波形データを記憶する二次記憶装置と、を備えた波形読み込み装置のコンピュータに、
前記ユーザによる前記第１操作子への前記第１操作に応じて、前記第１波形データ及び前記第２波形データを前記第３波形データよりも優先して前記二次記憶装置から前記一次記憶装置に転送する音色設定読み込み処理を実行させるプログラム。
【請求項９】
請求項１から６のいずれかに記載の波形読み込み装置と、
発音すべき楽音の音高を指定する演奏操作子と、
前記演奏操作子により指定された音高に基づいて、楽音を生成する音源と、
を備えた電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、波形読み込み装置、方法、プログラム、およびその装置を用いた電子楽器に関する。
【背景技術】
【０００２】
波形読み込み方式により楽音波形を発生する音源装置では、より多数の、より長時間の波形データを利用できるようにするために、使用しない波形データはフラッシュメモリやハードディスク等の大容量の補助記憶装置(２次記憶装置)に保存しておき、使用する波形データのみを音源装置が直接アクセスできる波形メモリ(１次記憶装置)に転送して発音させるというシステムを採用するものがある。
つまり、高価な波形メモリ(１次記憶装置)が有する記憶容量以上の記憶容量の波形データを安価な補助記憶装置(２次記憶装置)に保持しておき、必要な場合のみ移動して発音に使用するというコスト的には効率的な方法であると言える。
【０００３】
一従来技術として、次のような技術が知られている（例えば特許文献１に記載の技術）。この技術において、ＲＯＭには、音色毎に１つ以上の波形データが格納されている。音源ＬＳＩ（大規模集積回路）は、指定された曲の曲データを参照して、それらの波形データのなかで楽音の発音に必要なものを特定し、必要と特定した波形データはそのなかで必要な部分を更に特定する。それにより、楽音の発音に必要な波形データはその必要な部分のみをＲＯＭから読み出してＲＡＭに転送し格納させる。これにより、発音させるべき楽音の波高値生成用に波形データをワークメモリに格納する場合に、そのデータ量をより抑えることが可能な楽音発生装置を提供するものである。
【０００４】
他の従来技術として、次のような技術が知られている（例えば特許文献２に記載の技術）。この技術は、第１の記憶手段に記憶された各種データのなかで楽音発生装置の起動時に転送すべきデータ群を第２の記憶手段に転送する場合に、そのデータ群を構成する波形データのなかで予め定めた音色の波形データを優先して転送し、その転送状況に応じて、楽音発生装置の動作を制限する。例えば、同時発音可能な楽音数をより少なくする動作制御をかける。その動作制限により、そのときの転送状況で可能な動作に限定して楽音発生装置を使用させることができるようにし、転送の完了を待つ場合よりも転送開始（起動）からより短時間で演奏可能とさせるものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２７１８２７号公報
【特許文献２】特許第４４７５３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では依然として、補助記憶装置から波形メモリ等への波形データの移動に時間がかかるため、演奏に支障を来す場合がある。具体的には、演奏者が多数の音色の中から好みの音色を選ぶような際には、音色の切り替えの度に一定時間待たされて発音されない時間が存在するため、演奏者はストレスを感じるといった課題があった。
【０００７】
そこで、本発明は、複数波形の転送を伴う音色切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することを目的とする。
【課題を解決するための手段】
【０００８】
態様の一例では、一次記憶装置と、ユーザによる第１操作子への第１操作に基づき選択される第１音色に応じた第１波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を第２操作した場合に選択される第２音色に応じた第２波形データと、前記ユーザによる前記第１操作の後に前記ユーザが前記第１操作子を前記第２操作した場合に選択されない第３音色に応じた第３波形データと、を少なくとも含む複数種の波形データを記憶する二次記憶装置と、前記ユーザによる前記第１操作子への前記第１操作に応じて、前記第１波形データ及び前記第２波形データを前記第３波形データよりも優先して前記二次記憶装置から前記一次記憶装置に転送する音色設定読み込み処理を実行する処理部と、を備える。
【発明の効果】
【０００９】
本発明によれば、複数波形の転送を伴う音色切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明による電子鍵盤楽器の実施形態の外観図である。
【図２】電子鍵盤楽器の実施形態のハードウェア構成例を示す図である。
【図３】波形メモリと大容量フラッシュメモリとの音色の配置関係の例を示す図である。
【図４】フラッシュメモリ音色情報テーブルのデータ構成例を示す図である。
【図５】変数の一覧を示す図である。
【図６】制御処理の全体処理の例を示すメインルーチンのフローチャートである。
【図７】初期化処理の詳細例を示すフローチャートである。
【図８】音色切替え処理の詳細例を示すフローチャートである。
【図９】順次音色比較状態判断サブルーチンの詳細処理例を示すフローチャートである。
【図１０】通常状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。
【図１１】順次音色比較状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。
【図１２】読み込み音色番号設定サブルーチンの詳細処理例を示すフローチャート（その１）である。
【図１３】読み込み音色番号設定サブルーチンの詳細処理例を示すフローチャート（その２）である。
【図１４】音色切り替え履歴処理サブルーチンの詳細処理例を示すフローチャートである。
【図１５】波形読み込み処理の詳細例を示すフローチャート（その１）である。
【図１６】波形読み込み処理の詳細例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（以下「本実施形態」と記載する）について図面を参照しながら詳細に説明する。電子楽器において演奏者が音色選択を行うときには、演奏のために予め決まっている音色を呼び出すケースと、ある音色カテゴリの中から最も演奏したい楽曲に適したものをひとつ選び出すようなケースに大別できる。後者の場合、例えば最も演奏したい楽曲に適したピアノ音色を選びだそうという場合、演奏者がはまずピアノ音色の音色カテゴリを選択し、その中で複数用意されているピアノ音色を次々選択しては聴き比べるという操作を行うことが多い。すなわち、ある番号の音色が指定されているときに、それに対して音色番号増加ボタン、または音色番号減少ボタンを連続的に押しながら、隣り合う番号の音色を次々に選択してゆく動作をする場合が多い。そこで、本実施形態では、ある番号の音色用の波形エリアに、その前後の番号の音色用の波形エリアを加えた、合計３個の波形エリア（波形エリア１、波形エリア２、波形エリア３）が用意される。そして、演奏者が音色番号増加ボタンまたは音色番号減少ボタンを操作するごとに、指定された番号およびその前後の波形データを３つの波形エリアに格納することで、隣り合った音色移動を瞬時にできるようにすることで、無音状態を最小限に留めることができる電子楽器を実現するものである。
【００１２】
図１は、本発明による電子鍵盤楽器の実施形態の外観図である。本実施形態は、電子鍵盤楽器１００として実施される。電子鍵盤楽器１００は、演奏操作子としての複数の鍵からなる鍵盤１０１と、音色選択を行うための音色選択ボタン１０２、波形選択操作子としての音色番号増加ボタン（以下「Ｉｎｃボタン」（「Ｉｎｃｒｅｍｅｎｔ：増加」の略））１０６ａと音色番号減少ボタン（以下「Ｄｅｃボタン」（Ｄｅｃｒｅｍｅｎｔ：減少  の略）と呼ぶ）１０６ｂ、および音色以外の各種機能選択を行うレジストレーション選択ボタン１０３からなるスイッチ・パネルと、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション（演奏効果）を付加するベンダ／モジュレーション・ホイール１０４、音色や音色以外の各種設定情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶ディスプレイ）１０５等を備える。また、電子鍵盤楽器１００は、特には図示しないが、演奏により生成された楽音を放音するスピーカを裏面部、側面部、または背面部等に備える。
【００１３】
音色選択ボタン１０２は、図１に示されるように、ピアノ（図中「Ｐｉａｎｏ」）、エレクトリックピアノ（図中「Ｅ．ｐｉａｎｏ」）、オルガン（図中「Ｏｒｇａｎ」）、ギター／ベース（図中「Ｇｕｉｔａｒ／Ｂａｓｓ」）、ウインド（図中「Ｗｉｎｄ」）、ストリング（図中「Ｓｔｒｉｎｇ」）、シンセ（図中「Ｓｙｎｔｈ」）、またはパーカッション（図中「Ｐｅｒｃｕｓｓｉｏｎ」）等の各種音色のカテゴリを選択するためのカテゴリボタン群（図中「Ｃａｔｅｇｏｒｙ」）と、各カテゴリ内の音色番号を選択するための例えば１〜８の音色番号ボタン群（図中「Ｎｕｍｂｅｒ」）を備える。すなわち、演奏者は、まずいずれかのカテゴリボタンを押下することにより音色のカテゴリを選択し、そののちにいずれかの音色番号ボタンを押下することにより選択したカテゴリ内の音色番号を指定する。また、Ｉｎｃボタン１０６ａは、現在選択されているカテゴリ内で音色番号を＋１ずつアップさせてゆくボタンである。Ｄｅｃボタン１０６ｂは、現在選択されているカテゴリ内で音色番号を＋１ずつダウンさせてゆくボタンである。
レジストレーション選択ボタン１０３は、所望の音色番号を含めて各種演奏状態を８種類記憶したレジストレーションメモリから、所望のものをワンタッチで呼び出すためのボタンであり、音色も連動して切り替えることができる。
【００１４】
図２は、図１の電子鍵盤楽器１００の実施形態のハードウェア構成例を示す図である。図２において、電子鍵盤楽器１００は、ＣＰＵ（中央演算処理装置）２０１、ＲＯＭ（リードオンリーメモリ）２０２、ＲＡＭ（ランダムアクセスメモリ）２０３、大容量フラッシュ（Ｆｌａｓｈ）メモリ２０４、波形メモリ２０６が接続される音源ＬＳＩ（大規模集積回路）２０５、図１の鍵盤１０１と図１の音色選択ボタン１０２、Ｉｎｃボタン１０６ａ、Ｄｅｃボタン１０６ｂ、およびレジストレーション選択ボタン１０３からなるスイッチ・パネルとが接続されるキー・スキャナ２０７、図１のベンダ／モジュレーション・ホイール１０４が接続されるＡ／Ｄコンバータ２０８、図１のＬＣＤ１０５が接続されるＬＣＤコントローラ２０９、１６ｂｉｔ（ビット）フリーランニング・タイマカウンタ２１２、およびＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）入力を受け付けるＭＩＤＩ  Ｉ／Ｆ（インタフェース）２１３が、それぞれシステムバス２１４に接続される構成を備える。また、音源ＬＳＩ２０５から出力されるデジタル楽音波形データは、Ｄ／Ａコンバータ２１０によりアナログ楽音波形信号に変換され、アンプ２１１で増幅された後に、特には図示しないスピーカまたは出力端子から出力される。
【００１５】
ＣＰＵ２０１は、ＲＡＭ２０３をワークメモリとして使用しながらＲＯＭ２０２に記憶された制御プログラムを実行することにより、図１の電子鍵盤楽器１００の制御動作を実行する。また、ＲＯＭ２０２は、上記制御プログラムおよび各種固定データを記憶する。
【００１６】
大容量フラッシュメモリ２０４は、波形データ等の大容量データの格納領域であり、シーケンシャルアクセスにより順次アクセスされる。一方、音源ＬＳＩ２０５には、波形データを展開するＲＡＭで構成される波形メモリ２０６が接続され、発音される楽音の波形データは必ず、この波形メモリ２０６上に配置されている必要がある。ＣＰＵ２０１は、大容量フラッシュメモリ２０４から波形データをシーケンシャルに読みだし、それを音源ＬＳＩ２０５経由で波形メモリ２０６に転送することで、音色データを入れ替えることができる。
【００１７】
音源ＬＳＩ２０５は、波形メモリ２０６に転送された対象となる音色の記憶領域から、波形データを演奏で指定された鍵の音高に対応する速度で読み出し、その読み出した波形データに対して演奏で指定されたベロシティの振幅エンベロープを付加し、その結果得られる波形データを出力楽音波形データとして出力する。
【００１８】
ＬＣＤコントローラ２０９は、ＬＣＤ１０５を制御するＩＣ（集積回路）である。キー・スキャナ２０７は、鍵盤１０１や音色選択ボタン１０２、Ｉｎｃボタン１０６ａ、Ｄｅｃボタン１０６ｂ、またはレジストレーション選択ボタン１０３等のスイッチ・パネルの状態を走査して、ＣＰＵ２０１に通知するＩＣである。Ａ／Ｄコンバータ２０８は、ベンダ／モジュレーション・ホイール１０４の操作位置を検出するＩＣである。１６ｂｉｔフリーランニング・タイマカウンタ２１２は、イベントの時刻検出のための計時を行う。
【００１９】
図３は、波形メモリ２０６と大容量フラッシュメモリ２０４（図中では「Ｆｌａｓｈメモリ」と表示）との音色の配置関係の例を示す図である。図３に示されるように、大容量フラッシュメモリ２０４には、図１の音色選択ボタン１０２内のカテゴリボタン群で指定される音色カテゴリごとに、図１の音色選択ボタン１０２内の音色番号ボタン群、あるいは図１のＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂで指定される音色番号ごとの波形データがシーケンシャルに記憶されている。図３の例では、大容量フラッシュメモリ２０４に、Ｐｉａｎｏ音色カテゴリに対してＰｉａｎｏ１波形、Ｐｉａｎｏ２波形、・・・、Ｐｉａｎｏ２０波形の波形データが記憶され、Ｅ．Ｐｉａｎｏ音色カテゴリに対してＥ．Ｐｉａｎｏ１波形、Ｅ．Ｐｉａｎｏ２波形、・・・、Ｅ．Ｐｉａｎｏ２０波形の波形データが記憶されている例が示されている。１つの音色カテゴリ内では最大で２０音色の波形データが連続する記憶エリアに順次記憶されており、さらに１６の音色カテゴリ分がシーケンシャルに記憶されている。従って、大容量フラッシュメモリ２０４には、合計で、２０×１６＝３２０音色分の波形データが、連続する記憶エリアに順次記憶されている。一方、波形メモリ２０６には、波形エリア１、波形エリア２、および波形エリア３の、合計３個の波形エリアが用意される。そして、演奏者が図１のＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂを連続的に押しながら隣り合う番号の音色を次々に選択してゆく動作をしている場合において、現在例えば図３に示されるＰｉａｎｏ４音色の波形データが選択されているときに、その波形データが大容量フラッシュメモリ２０４から波形メモリ２０６上の１つの波形エリア（図３の例では波形エリア２）に転送される動作に連続して、Ｉｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂによってＰｉａｎｏ４音色の前後に選択され得るＰｉａｎｏ３音色とＰｉａｎｏ５音色の各波形データがそれぞれ、大容量フラッシュメモリ２０４から波形メモリ２０６上の他の２つの波形エリア（図３の例では波形エリア１と３）に、発音処理に並行したバックグラウンド処理によって転送される。これにより、演奏者がＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂによって次の音色を指定したときに、音源ＬＳＩ２０５は、波形メモリ２０６上で波形エリアを瞬時に切り換えて、切り換えられた音色の波形データを出力楽音波形データとして出力することが可能となり、無音状態を最小限に留めることができる。
【００２０】
図４は、図２のＲＯＭ２０２に記憶されている、大容量フラッシュメモリ２０４上の波形データを管理するためのフラッシュメモリ音色情報テーブルのデータ構成例を示す図である。図４に例示されるように、フラッシュメモリ音色情報テーブルの各音色ごとのエントリには、音色番号を示す「番号」項目値と、「音色名」項目値と、大容量フラッシュメモリ２０４の波形記憶領域の先頭からの記憶アドレスのオフセット（１６進数）を示す「波形アドレスオフセット」項目値と、その音色に含まれる波形データ群の全体の波形サイズ（１６進数）を示す「波形サイズ」項目値が記憶されている。
【００２１】
本実施形態では、ＣＰＵ２０１は、演奏者が音色選択のために音色の比較操作を順次行っている状態を検知した場合に、演奏者は図１のＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂを連続的に操作しながら音色選択を行う可能性が高いと判断し、次の波形データとして、現在選択されている音色番号の波形データに続いて、その音色番号に対して±１の各音色番号の各波形データを優先的に、大容量フラッシュメモリ２０４から波形メモリ２０６に転送する。このような状態を第２のモード状態、すなわち「順次音色比較状態」と呼ぶ。
【００２２】
このため、本実施形態では、順次音色比較状態を検出する処理が必要となる。本実施形態において、現在の状態が順次音色比較状態にあるか否かは、Ｉｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂの操作の有無と音色切替えの頻度とに基づいて判定する。通常の演奏状態と比較したときに、順次音色比較状態では、演奏者は、Ｉｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂを操作し、かつ複数の音色を短時間の間にいくつも選択しては比較する事が多い。そこで、本実施形態では、ＣＰＵ２０１は、演奏者が或る音色を選択したときに、Ｉｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂによって音色の選択操作が行われ、それに先行する過去２回の音色選択がやはりＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂによって行われかつ３０秒以内に発生していたとしたら、通常演奏とは考えづらいため、現在の状態が順次音色比較状態であると判定する。
【００２３】
以上の順次音色比較状態の判定および鍵域の決定を行うために、本実施形態では、ＣＰＵ２０１は、過去２回の音色切替え時に操作されたボタンの情報と発生時刻を、常に取得する。なお、本実施形態では、上述の時刻の測定と管理は、タイマカウンタを使って行われる。このカウンタは、１秒毎にインクリメントし続ける、図２に示される１６ｂｉｔフリーランニング・タイマカウンタ２１２である。イベントが発生した時には、この値を読み込んで時刻を記録しておき、このタイマの現在値と比較して経過時間を計算する。このタイマは、最大値を超えた場合０に戻るが、経過時刻は現在の１６ｂｉｔのタイマ値の符号なし減算によって算出されるため、問題ない。
【００２４】
次に、本実施形態における波形切替え時の処理について説明する。まず、ＣＰＵ２０１は、音色比較選択操作が発生した場合、現在の状態が順次音色比較状態であるか否かを判定する。ＣＰＵ２０１は、順次音色比較状態であると判定した場合は、現在指定されている音色番号と、その音色番号に対して＋１した音色番号と−１した音色番号を算出する。なお、現在指定されている音色番号が、ある音色カテゴリ内の２０番目の音色番号である場合には、その音色番号に対して＋１した音色番号としては、その音色カテゴリの次の音色カテゴリの１番目の音色番号が算出される。あるいは、現在指定されている音色番号が、ある音色カテゴリ内の１番目の音色番号である場合には、その音色番号に対して−１した音色番号としては、その音色カテゴリの前の音色カテゴリの２０番目の音色番号が算出される。なお、音色番号としては、１６の音色カテゴリ内のそれぞれ２０音色に対して通しで番号付けされた番号が使用される。その後、ＣＰＵ２０１はまず、ＲＯＭ２０２内のフラッシュメモリ音色情報テーブル（図４参照）上で、現在選択されている音色番号の値を「番号」項目値に有するのエントリの「波形アドレスオフセット」項目値および「波形サイズ」項目値とから、その音色の波形データの大容量フラッシュメモリ２０４上での記憶領域を特定し、その領域から現在選択されている音色番号に対応する波形データを読み出し、その波形データを音源ＬＳＩ２０５を介して波形メモリ２０６上の１つの波形エリアに転送する。波形メモリ２０６の波形エリアとしては、現在指定されている音色番号またはその音色番号に対して＋１した音色番号または−１した音色番号に等しい波形データが既に読み込み済みか読み込み途中である波形エリア以外のものが指定される。
【００２５】
必要な波形データが大容量フラッシュメモリ２０４から波形メモリ２０６に読み込まれるまでに演奏が発生した場合は発音は行うことはできないが、読み込みが完了した音色の波形データの押鍵が発生した時には発音処理を行うことができる。
【００２６】
また、演奏中でも、ＣＰＵ２０１は、バックグラウンド処理により、現在選択されている音色番号に対して＋１した音色番号および−１した音色番号に対して２番目および３番目の優先順位を付け、ＲＯＭ２０２内のフラッシュメモリ音色情報テーブル（図４参照）上で、それらの音色番号の値を「番号」項目値に有するのエントリの「波形アドレスオフセット」項目値および「波形サイズ」項目値とから、それらの音色番号に対応する波形データの大容量フラッシュメモリ２０４上での各記憶領域を特定し、それらの記憶領域からそれらの音色番号に対応する各波形データを読み出し、それらの波形データを音源ＬＳＩ２０５を介して波形メモリ２０６上の１つの波形エリアに転送する。これにより、演奏者がＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂを押したときに、ＣＰＵ２０１は、新たに指定された音色番号の波形データを波形メモリ２０６上に短時間で揃えることができ、その後、音源ＬＳＩ２０５は新たに指定された音色番号の波形データに基づく発音処理を即座に実行することが可能となる。
【００２７】
ＣＰＵ２０１は、現在の状態が順次音色比較状態ではないと判定した場合はまず、現在選択されている音色番号の値を「番号」項目値に有するのエントリの「波形アドレスオフセット」項目値および「波形サイズ」項目値とから、その音色の波形データの大容量フラッシュメモリ２０４上での記憶領域を特定し、その領域から現在選択されている音色番号に対応する波形データを読み出し、その波形データを音源ＬＳＩ２０５を介して波形メモリ２０６上の１つの波形エリアに転送する。
【００２８】
図５は、図２のＣＰＵ２０１が実行する制御処理において使用するＲＡＭ２０３上の変数の一覧を示す図である。各変数については、後述する制御処理の詳細説明において詳述する。
【００２９】
以下に、上述の動作を実現するためにＣＰＵ２０１が実行する制御処理の詳細例について説明する。
【００３０】
図６は、ＣＰＵ２０１が実行する制御処理の全体処理の例を示すメインルーチンのフローチャートである。この処理例は、ＣＰＵ２０１がＲＯＭ２０２に記憶された制御プログラムを実行する処理例である。
【００３１】
ＣＰＵ２０１は、まずＲＡＭ２０３の内容初期化した後（ステップＳ６０１）、ステップＳ６０２からＳ６１１の一連の処理で示される定常ループ処理に入る。
【００３２】
定常ループ処理では、ＣＰＵ２０１はまず、ユーザインタフェース処理（図中「ユーザＩ／Ｆ」と表示）を実行する（ステップＳ６０２）。ここでは、ＣＰＵ２０１は、図２のキー・スキャナ２０７を介して図１の音色選択ボタン１０２、Ｉｎｃボタン１０６ａ、およびＤｅｃボタン１０６ｂの状態を取得する。次に、ＣＰＵ２０１は、ステップＳ６０２の処理の結果、演奏者が音色選択ボタン１０２、Ｉｎｃボタン１０６ａ、またはＤｅｃボタン１０６ｂを操作することにより音色選択イベントが発生したか否かを判定する（ステップＳ６０３）。そして、ＣＰＵ２０１は、音色切り替えが発生した場合（ステップＳ６０３の判定がＹｅｓの場合）は、音色切替え処理を実行する（ステップＳ６０４）。
【００３３】
次に、ＣＰＵ２０１は、鍵盤処理を実行する（ステップＳ６０５）。ここでは、ＣＰＵ２０１は、図２のキー・スキャナ２０７を介して図１の鍵盤１０１の押鍵状態を取得する。次に、ＣＰＵ２０１は、ステップＳ６０５の処理の結果、演奏者が鍵盤１０１上のいずれかの鍵を押鍵することにより押鍵イベントが発生したか否かを判定する（ステップＳ６０６）。そして、ＣＰＵ２０１は、押鍵イベントが発生した場合（ステップＳ６０６の判定がＹｅｓの場合）は、音源発音処理を実行する（ステップＳ６０７）。
【００３４】
続いて、ＣＰＵ２０１は、ステップＳ６０５の処理の結果、演奏者が鍵盤１０１上のいずれかの押鍵中の鍵を離鍵することにより離鍵イベントが発生したか否かを判定する（ステップＳ６０８）。そして、ＣＰＵ２０１は、離鍵イベントが発生した場合（ステップＳ６０８の判定がＹｅｓの場合）は、音源リリース処理を実行する（ステップＳ６０９）。
【００３５】
その後、ＣＰＵ２０１は、音源定常サービス処理を実行する（ステップＳ６１０）。ここでは、例えば図１のレジストレーション選択ボタン１０３が押された場合に対応する処理や、図１のベンダ／モジュレーション・ホイール１０４が操作された場合に対応する処理等の、電子鍵盤楽器１００に対する一般的な処理が実行される。
【００３６】
最後に、ＣＰＵ２０１は、波形読み込み処理を実行する（ステップＳ６１１）。
【００３７】
その後、ＣＰＵ２０１は、ステップＳ６０２の定常ループ処理の先頭に戻る。
【００３８】
これ以降、本実施形態に関係するステップＳ６０１の初期化処理、ステップＳ６０４の音色切替え処理、およびステップＳ６１１の波形読み込み処理について、詳細に説明してゆく。
【００３９】
図７は、図６のステップＳ６０１の初期化処理の詳細例を示すフローチャートである。
【００４０】
まず、ＣＰＵ２０１は、ＲＡＭ２０３上の図５に示される「変数」の値を全て「０
にする（以上、ステップＳ７０１）。
【００４１】
ただし、音色選択履歴バッファ中の音色選択ボタン要素ＴＳ＿ＨＩＳ［ｉ］．ＢＵＴＴＯＮ（ｉ＝０，１）、波形メモリステータス中の音色通し番号ＷＭ＿ＳＴ［ｉ］．ＴＯＮＥ（ｉ＝１，２）、読み込み予定波形の音色番号ＲＴ［ｉ］（ｉ＝０，１，２）、および現在読み込み中の波形の番号ＲＥＡＤＩＮＧ＿ＷＡＶＥの各変数（図５参照）については、無効であることを意味する値「−１」を格納し直しておく。すなわち、ＣＰＵ２０１は、以下の一連の処理を実行する。
【００４２】
まず、ＣＰＵ２０１は、ステップＳ７０２で変数ｉに初期値「０」を格納した後、ステップＳ７０５で変数ｉの値を＋１ずつインクリメントしながら、ステップＳ７０４で変数ｉの値が１になったと判定されるまで、各繰り返しごとに、ステップＳ７０３を実行する。ステップＳ７０３では、ＣＰＵ２０１は、変数ｉで指定される音色選択履歴バッファ中の音色選択ボタン要素ＴＳ＿ＨＩＳ［ｉ］．ＢＵＴＴＯＮ（図５参照）に、無効値「−１」を格納する。この処理が、変数ｉの値として０および１が指定される２回について実行されることにより、過去２回分の音色選択履歴バッファ中の音色選択ボタン要素ＴＳ＿ＨＩＳ［ｉ］．ＢＵＴＴＯＮ［０］．ＴＯＮＥおよびＴＳ＿ＨＩＳ［ｉ］．ＢＵＴＴＯＮ［１］．ＴＯＮＥに、それぞれ無効値「−１」が格納される。
【００４３】
次に、ＣＰＵ２０１は、ステップＳ７０６で変数ｉに初期値「１」を格納した後、ステップＳ７０９で変数ｉの値を＋１ずつインクリメントしながら、ステップＳ７０８で変数ｉの値が２になったと判定されるまで、各繰り返しごとに、ステップＳ７０７を実行する。ステップＳ７０７では、ＣＰＵ２０１は、変数ｉで指定される波形メモリステータス中の音色通し番号ＷＭ＿ＳＴ［ｉ］．ＴＯＮＥ（図５参照）に、無効値「−１」を格納する。この処理が、変数ｉの値として１と２が指定される２回について実行されることにより、波形メモリステータス中の音色通し番号ＷＭ＿ＳＴ［１］．ＴＯＮＥおよびＷＭ＿ＳＴ［２］．ＴＯＮＥに、それぞれ無効値「−１」が格納される。
【００４４】
続いて、ＣＰＵ２０１は、ステップＳ７１０で変数ｉに初期値「０」を格納した後、ステップＳ７１４で変数ｉの値を＋１ずつインクリメントしながら、ステップＳ７１３で変数ｉの値が２になったと判定されるまで、各繰り返しごとに、ステップＳ７１２を実行する。ステップＳ７１２では、ＣＰＵ２０１は、変数ｉで指定される読み込み予定波形の音色番号ＲＴ［ｉ］（図５参照）に、無効値「−１」を格納する。この処理が、変数ｉの値として０と１と２が指定される３回について実行されることにより、読み込み予定波形の音色番号ＲＴ［０］、ＲＴ［１］、およびＲＴ［２］に、それぞれ無効値「−１」が格納される。
【００４５】
最後に、ＣＰＵ２０１は、現在読み込み中の波形の番号ＲＥＡＤＩＮＧ＿ＷＡＶＥ（図５参照）の変数に、無効値「−１」を格納する（ステップＳ７１５）。その後、ＣＰＵ２０１は、図７のフローチャートで例示される図６のステップＳ６０１の初期化処理を終了する。
【００４６】
図８は、図６のステップＳ６０４の音色切替え処理の詳細例を示すフローチャートである。ここで、ＲＡＭ２０３上の変数ＣＣに、演奏者が音色選択ボタン１０２内のカテゴリボタンを操作して選択した音色カテゴリ番号が設定され、同じく変数ＣＴに、演奏者が音色選択ボタン１０２内の音色番号ボタンを操作して選択した音色番号（音色カテゴリ内で指定される音色番号）が設定され、同じく変数Ｔに現在の１６ｂｉｔフリーランニング・タイマカウンタ２１２のタイマ値が設定され、同じく変数Ｂに、演奏者がＩｎｃボタン１０６ａもしくはＤｅｃボタン１０６ｂを操作した情報（Ｉｎｃボタン１０６ａが操作された場合Ｂ＝１、Ｄｅｃボタン１０６ｂが操作された場合Ｂ＝０）が設定されているとする。
【００４７】
まず、ＣＰＵ２０１は、順次音色比較状態判断サブルーチンを実行する（図８のステップＳ８０１）。この結果、ＲＡＭ２０３上の変数ｓに順次音色比較状態の有無が設定される。この値が「１」のときは、現在の状態が、演奏者が多数の音色を次々に切り換えて試し演奏をしながら好みの音色を選ぶ順次音色比較状態にあることを示し、「０」のときは順次音色比較状態にはない（通常モード状態である）ことを示す。
【００４８】
続いて、ＣＰＵ２０１は、ステップＳ８０１で得られた変数ｓの値が１であるか否か、すなわち現在の状態が順次音色比較状態であるか否かを判定する（ステップＳ８０２）。
【００４９】
現在の状態が順次音色比較状態でない場合（ステップＳ８０２の判定がＮｏの場合）、ＣＰＵ２０１は第１のモード状態、すなわち通常状態用読み込み音色番号決定サブルーチンを実行する（ステップＳ８０３）。ここでは、演奏者が通常の音色番号の選択を行った場合に対応する処理が実行される。
【００５０】
一方、現在の状態が順次音色比較状態でない場合（ステップＳ８０２の判定がＮｏの場合）、ＣＰＵ２０１は、順次音色比較状態用読み込み音色番号決定サブルーチンを実行する（ステップＳ８０４）。ここでは、演奏者が音色選択を行うためにＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂを連続的に押しながら隣り合う番号の音色を次々に選択してゆく動作を行った場合に対応する処理が実行される。
【００５１】
ステップＳ８０３またはＳ８０４の処理の後、ＣＰＵ２０１は、読み込み音色番号設定サブルーチンを実行する（ステップＳ８０５）。ここでは、ステップＳ８０３またはＳ８０４で決定された音色番号に対応する波形データを、大容量フラッシュメモリ２０４から波形メモリ２０６にバックグラウンド転送させるための、波形読み込みの優先度の設定等の準備設定処理が実行される。
【００５２】
最後に、ＣＰＵ２０１は、音色切り替え履歴処理サブルーチンを実行する（ステップＳ８０６）。ここでは、直近過去２回分の音色選択における操作ボタンと選択時刻の履歴が記録される。
【００５３】
図９は、図８のステップＳ８０１の順次音色比較状態判断サブルーチンの詳細処理例を示すフローチャートである。
【００５４】
ＣＰＵ２０１はまず、演奏者がＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂのいずれかが操作されたか否か、すなわちＲＡＭ２０３上の変数Ｂの値が「０」または「１」のいずれかであるか否かを判定する（ステップＳ９０１）。演奏者が音色選択のために、図１のＩｎｃボタン１０６ａを押した場合にはＢ＝１が設定され、Ｄｅｃボタン１０６ｂを押した場合にはＢ＝０が設定され、それら以外のボタン（図１の音色選択ボタン１０２）を押した場合には例えばＢ＝−１が設定される。
【００５５】
ステップＳ９０１の判定がＮｏの場合には、ＣＰＵ２０１は、変数ｓに値「０」を設定することにより、現在の状態が通常状態であること設定する（ステップＳ９１０）。その後、ＣＰＵ２０１は、図９のフローチャートで例示される図８のステップＳ８０１の順次音色比較状態判断サブルーチンを終了する。
【００５６】
ステップＳ９０１の判定がＹｅｓの場合には、ＣＰＵ２０１は、ＲＡＭ２０３上の変数Ｔ＿ＯＬＤに、ＲＡＭ２０３上の変数である音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰによって指定される過去２回の音色選択のうち古いほうの音色選択時の時刻要素ＴＳ＿ＨＩＳ［ＴＳ＿ＷＰ］．ＴＩＭＥの値を格納する（ステップＳ９０２）。なお、音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰの値は、後述する図１４のステップＳ１４０２〜Ｓ１４０４の処理によって、過去２回の音色選択のうち直近の音色選択でないほう、すなわち古いほうの音色選択時をポイントしている。
【００５７】
次に、ＣＰＵ２０１は、ＲＡＭ２０３上の変数Ｔ＿ＣＵＲに、現在の１６ｂｉｔフリーランニング・タイマカウンタ２１２のタイマ値を格納する（ステップＳ９０３）。
【００５８】
そして、ＣＰＵ２０１は、変数Ｔ＿ＣＵＲの値から変数Ｔ＿ＯＬＤの値を減算して得られる過去２回の音色選択のうち古いほうの音色選択から今回の音色選択までの経過時間が３１秒よりも短いか否かを判定する（ステップＳ９０４）。
【００５９】
ステップＳ９０４の判定がＮｏならば、ＣＰＵ２０１は、変数ｓに値「０」を設定することにより、現在の状態が通常状態であることを設定する（ステップＳ９１０）。その後、ＣＰＵ２０１は、図９のフローチャートで例示される図８のステップＳ８０１の順次音色比較状態判断サブルーチンを終了する。
【００６０】
一方、ステップＳ９０４の判定がＹｅｓならば、ＣＰＵ２０１は、ステップＳ９０５でＲＡＭ２０３上の変数ｉに値「０」を設定した後、ステップＳ９０７で変数ｉの値を＋１ずつインクリメントしながら、ステップＳ９０８で変数ｉの値が１を越えたと判定するまで、ステップＳ９０６の判定処理を実行する。ＣＰＵ２０１は、ステップＳ９０６の各繰り返し実行で、変数ｉの各値によって指示される過去２回分の、ＲＡＭ２０３上の変数である音色選択履歴バッファ中の音色選択操作ボタン要素ＴＳ＿ＨＩＳ［ｉ］．ＢＵＴＴＯＮの値が「０」または「１」のいずれかであるか否か、すなわち過去２回の演奏者による音色選択操作がＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂのいずれかの操作によって行われたか否かを判定する。
【００６１】
ステップＳ９０６の判定がＮｏならば、ＣＰＵ２０１は、変数ｓに値「０」を設定することにより、現在の状態が通常状態であることを設定する（ステップＳ９１０）。その後、ＣＰＵ２０１は、図９のフローチャートで例示される図８のステップＳ８０１の順次音色比較状態判断サブルーチンを終了する。
【００６２】
変数ｉ＝０および１の両方に対応するステップＳ９０６の判定がＹｅｓとなった後に、ステップＳ９０７で変数ｉの値が「２」となってステップＳ９０８の判定がＹｅｓになると、ＣＰＵ２０１は、変数ｓに値「１」を設定することにより、現在の状態が、演奏者が多数の音色をＩｎｃボタン１０６ａまたはＤｅｃボタン１０６ｂにより次々に切り換えて試し演奏をしながら好みの音色を選ぶ順次音色比較状態にあることを設定する（ステップＳ９０９）。その後、ＣＰＵ２０１は、図９のフローチャートで例示される図８のステップＳ８０１の順次音色比較状態判断サブルーチンを終了する。
【００６３】
図１０は、図８のステップＳ８０３の通常状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。
【００６４】
ＣＰＵ２０１はまず、以下の（１）式に示されるように、ＲＡＭ２０３上の変数ＣＣに格納されている現在指定されている音色カテゴリ番号ＣＣと、同じく変数ＣＴに格納されている現在指定されている音色カテゴリ内での音色番号ＣＴとに基づいて、大容量フラッシュメモリ２０４上での通しの音色番号（図４の説明参照）を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の１番目の要素ＲＴ［０］に格納する（ステップＳ１００１）。
【００６５】
ＲＴ［０］＝ＣＣ×２０＋ＣＴ  ・・・（１）
【００６６】
続いて、ＣＰＵ２０１は、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の２番目と３番目の各要素ＲＴ［１］とＲＴ［２］に、それぞれ無効値「−１」を格納する（ステップＳ１００２、Ｓ１００３）。その後、ＣＰＵ２０１は、図１０のフローチャートで例示される図８のステップＳ８０３の通常状態用読み込み音色番号決定サブルーチンの処理を終了する。
【００６７】
以上の通常状態用読み込み音色番号決定サブルーチンの処理により、演奏者が通常の音色選択操作を行った場合には、読み込み予定の波形データとしては、演奏者が選択した音色番号（通し番号）に対応する波形データのみを大容量フラッシュメモリ２０４から波形メモリ２０６に転送する設定のみが行われる。
【００６８】
図１１は、図８のステップＳ８０４の順次音色比較状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。
【００６９】
ＣＰＵ２０１はまず、ＲＡＭ２０３上の変数Ｂの値が０であるか否か、すなわち演奏者がＤｅｃボタン１０６ｂを押したかＩｎｃボタン１０６ａを押したかを判定する（ステップＳ１１０１）。
【００７０】
ＣＰＵ２０１は、ステップＳ１１０１の判定がＮｏ、すなわち演奏者がＩｎｃボタン１０６ａを押したと判定した場合は、まずＲＡＭ２０３上の音色カテゴリ内の音色番号を指定する変数ＣＴの値を＋１インクリメントする（ステップＳ１１０２）。
【００７１】
次に、ＣＰＵ２０１は、ステップＳ１１０３からＳ１１０５の一連の処理により、読み込み予定波形の音色番号の１番目の要素値ＲＴ［０］に、新たに現在指定された音色番号（通し番号）を設定する。すなわち、ＣＰＵ２０１はまず、ステップＳ１１０２でインクリメントされた変数ＣＴの値が１つの音色カテゴリ内で指定可能な音色番号の最大値「１９」を越えた値「２０」になったか否かを判定する（ステップＳ１１０３）。ステップＳ１１０３の判定がＹｅｓならば、ＣＰＵ２０１は、音色カテゴリ番号を示す変数ＣＣの値を＋１インクリメントするとともに、音色番号を示す変数ＣＴの値を変数ＣＣが示す音色カテゴリ内の最初の音色番号を示す値「０」に設定する（ステップＳ１１０４）。この処理により、ある音色カテゴリ内の最後の音色番号が指定されている状態でＩｎｃボタン１０６ａが押されると、次の音色カテゴリ内の最初の音色番号が指定されることになる。なお、最後（１６番目）の音色カテゴリ内の最後の音色番号が指定されている状態でＩｎｃボタン１０６ａが押された場合には、例えば、ステップＳ１１０４の処理が実行されないようにしてそれ以上音色番号が進まないように制御されてよい。ステップＳ１１０３の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１１０４の処理をスキップすることにより、ステップＳ１１０２で現在の音色カテゴリ内で単純に音色番号が＋１された状態が維持される。その後、ＣＰＵ２０１は、図１０のステップＳ１００１の説明で前述した（１）式と同様の下記（２）式に基づいて、ＲＡＭ２０３上の変数ＣＣに格納されている音色カテゴリ番号ＣＣと、同じく変数ＣＴに格納されている音色カテゴリ内での音色番号ＣＴとに基づいて、Ｉｎｃボタン１０６ａの操作により新たに指定された音色番号（大容量フラッシュメモリ２０４上での通しの音色番号（図４の説明参照））を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の１番目の要素ＲＴ［０］に格納する（ステップＳ１１０５）。
【００７２】
ＲＴ［０］＝ＣＣ×２０＋ＣＴ  ・・・（２）
【００７３】
続いて、ＣＰＵ２０１は、ステップＳ１１０６からＳ１１０９の一連の処理により、読み込み予定波形の音色番号の２番目の要素値ＲＴ［１］に、新たに現在指定された音色番号に＋１した音色番号（通し番号）（以下これを「＋１の音色番号」と呼ぶ）を設定する。すなわち、ＣＰＵ２０１はまず、ステップＳ１１０２でインクリメントされた変数ＣＴの値に＋１した値をＲＡＭ２０３上の変数ＣＴ′に格納する（ステップＳ１１０６）。次に、ＣＰＵ２０１は、変数ＣＴ′の値が１つの音色カテゴリ内で指定可能な音色番号の最大値「１９」を越えた値「２０」になったか否かを判定する（ステップＳ１１０７）。ステップＳ１１０７の判定がＹｅｓならば、ＣＰＵ２０１は、音色カテゴリ番号を示す変数ＣＣの値を＋１インクリメントして得られる値をＲＡＭ２０３上の変数ＣＣ′に格納するとともに、＋１の音色番号を示す変数ＣＴ′の値を変数ＣＣ′が示す音色カテゴリ内の最初の音色番号を示す値「０」に設定する（ステップＳ１１０８）。この処理により、Ｉｎｃボタン１０６ａの操作により変数ＣＴが或る音色カテゴリ内の最後の音色番号（＝１９）を指した場合に、＋１の音色番号として次の音色カテゴリ内の最初の音色番号が指定されることになる。ステップＳ１１０７の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１１０８の処理をスキップして、ステップＳ１１０６の変数ＣＴ′の計算結果を維持する。その後、ＣＰＵ２０１は、下記（３）式に基づいて、ＲＡＭ２０３上の変数ＣＣ′に格納されている音色カテゴリ番号ＣＣ′と、同じく変数ＣＴ′に格納されている音色カテゴリ内での音色番号ＣＴ′とに基づいて、Ｉｎｃボタン１０６ａの操作により新たに指定された音色番号を＋１した音色番号を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の２番目の要素ＲＴ［１］に格納する（ステップＳ１１０９）。
【００７４】
ＲＴ［１］＝ＣＣ′×２０＋ＣＴ′  ・・・（３）
【００７５】
なお、Ｉｎｃボタン１０６ａの操作により変数ＣＴが最後（１６番目）の音色カテゴリ内の最後の音色番号（＝１９）を指した場合には例えば、ＲＴ［１］＝−１（無効値）として、＋１の音色番号が指定されないように制御されてよい。
【００７６】
続いて、ＣＰＵ２０１は、ステップＳ１１１０からＳ１１１３の一連の処理により、読み込み予定波形の音色番号の３番目の要素値ＲＴ［２］に、新たに現在指定された音色番号を−１した音色番号（通し番号）（以下これを「−１の音色番号」と呼ぶ）を設定する。すなわち、ＣＰＵ２０１はまず、ステップＳ１１０２でインクリメントされた変数ＣＴの値を−１した値をＲＡＭ２０３上の変数ＣＴ′に格納する（ステップＳ１１１０）。次に、ＣＰＵ２０１は、変数ＣＴ′の値が１つの音色カテゴリ内で指定可能な音色番号の最小値「０」を下回ったマイナス値になったか否かを判定する（ステップＳ１１１１）。ステップＳ１１１１の判定がＹｅｓならば、ＣＰＵ２０１は、音色カテゴリ番号を示す変数ＣＣの値を−１デクリメントして得られる値をＲＡＭ２０３上の変数ＣＣ′に格納するとともに、−１の音色番号を示す変数ＣＴ′の値を変数ＣＣ′が示す音色カテゴリ内の最後の音色番号を示す値「１９」に設定する（ステップＳ１１１２）。この処理により、Ｉｎｃボタン１０６ａの操作により変数ＣＴが或る音色カテゴリ内の最初の音色番号（＝０）を指した場合に、−１の音色番号として１つ前の音色カテゴリ内の最後の音色番号が指定されることになる。ステップＳ１１１１の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１１１２の処理をスキップして、ステップＳ１１１０の変数ＣＴ′の計算結果を維持する。その後、ＣＰＵ２０１は、下記（４）式に基づいて、ＲＡＭ２０３上の変数ＣＣ′に格納されている音色カテゴリ番号ＣＣ′と、同じく変数ＣＴ′に格納されている音色カテゴリ内での音色番号ＣＴ′とに基づいて、Ｉｎｃボタン１０６ａの操作により新たに指定された音色番号を−１した音色番号を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の３番目の要素ＲＴ［２］に格納する（ステップＳ１１１３）。
【００７７】
ＲＴ［２］＝ＣＣ′×２０＋ＣＴ′  ・・・（４）
【００７８】
その後、ＣＰＵ２０１は、図１１のフローチャートで例示される図８のステップＳ８０４の順次音色比較状態用読み込み音色番号決定サブルーチンの処理を終了する。
【００７９】
一方、ＣＰＵ２０１は、ステップＳ１１０１の判定がＹｅｓ、すなわち演奏者がＤｅｃボタン１０６ｂを押したと判定した場合は、まずＲＡＭ２０３上の音色カテゴリ内の音色番号を指定する変数ＣＴの値を−１デクリメントする（ステップＳ１１１４）。
【００８０】
次に、ＣＰＵ２０１は、ステップＳ１１１５からＳ１１１７の一連の処理により、読み込み予定波形の音色番号の１番目の要素値ＲＴ［０］に、新たに現在指定された音色番号（通し番号）を設定する。すなわち、ＣＰＵ２０１はまず、ステップＳ１１１４でデクリメントされた変数ＣＴの値が１つの音色カテゴリ内で指定可能な音色番号の最小値「０」を下回ったマイナス値になったか否かを判定する（ステップＳ１１１５）。ステップＳ１１１５の判定がＹｅｓならば、ＣＰＵ２０１は、音色カテゴリ番号を示す変数ＣＣの値を−１デクリメントするとともに、音色番号を示す変数ＣＴの値を変数ＣＣが示す音色カテゴリ内の最後の音色番号を示す値「１９」に設定する（ステップＳ１１１６）。この処理により、ある音色カテゴリ内の最初の音色番号が指定されている状態でＤｅｃボタン１０６ｂが押されると、１つ前の音色カテゴリ内の最後の音色番号が指定されることになる。なお、最初（１番目）の音色カテゴリ内の最初の音色番号が指定されている状態でＤｅｃボタン１０６ｂが押された場合には、例えば、ステップＳ１１１６の処理が実行されないようにしてそれ以上音色番号が戻らないように制御されてよい。ステップＳ１１１５の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１１１６の処理をスキップすることにより、ステップＳ１１１４で現在の音色カテゴリ内で単純に音色番号が−１された状態が維持される。その後、ＣＰＵ２０１は、ステップＳ１１１５の場合と同様の（２）式に基づいて、ＲＡＭ２０３上の変数ＣＣに格納されている音色カテゴリ番号ＣＣと、同じく変数ＣＴに格納されている音色カテゴリ内での音色番号ＣＴとに基づいて、Ｄｅｃボタン１０６ｂの操作により新たに指定された音色番号を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の１番目の要素ＲＴ［０］に格納する（ステップＳ１１１７）。
【００８１】
続いて、ＣＰＵ２０１は、ステップＳ１１１８からＳ１１２１の一連の処理により、読み込み予定波形の音色番号の２番目の要素値ＲＴ［１］に、新たに現在指定された音色番号を−１した音色番号（−１の音色番号）を設定する。すなわち、ＣＰＵ２０１はまず、ステップＳ１１１４でデクリメントされた変数ＣＴの値を−１した値をＲＡＭ２０３上の変数ＣＴ′に格納する（ステップＳ１１１８）。次に、ＣＰＵ２０１は、変数ＣＴ′の値が１つの音色カテゴリ内で指定可能な音色番号の最小値「０」を下回ったマイナス値になったか否かを判定する（ステップＳ１１１９）。ステップＳ１１１９の判定がＹｅｓならば、ＣＰＵ２０１は、音色カテゴリ番号を示す変数ＣＣの値を−１デクリメントして得られる値をＲＡＭ２０３上の変数ＣＣ′に格納するとともに、−１の音色番号を示す変数ＣＴ′の値を変数ＣＣ′が示す音色カテゴリ内の最後の音色番号を示す値「１９」に設定する（ステップＳ１１２０）。この処理により、Ｄｅｃボタン１０６ｂの操作により変数ＣＴが或る音色カテゴリ内の最初の音色番号（＝０）を指した場合に、−１の音色番号として１つ前の音色カテゴリ内の最後の音色番号が指定されることになる。ステップＳ１１１９の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１１２０の処理をスキップして、ステップＳ１１１８の変数ＣＴ′の計算結果を維持する。その後、ＣＰＵ２０１は、ステップＳ１１０９の場合と同様の（３）式に基づいて、ＲＡＭ２０３上の変数ＣＣ′に格納されている音色カテゴリ番号ＣＣ′と、同じく変数ＣＴ′に格納されている音色カテゴリ内での音色番号ＣＴ′とに基づいて、Ｄｅｃボタン１０６ｂの操作により新たに指定された音色番号を−１した音色番号を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の２番目の要素ＲＴ［１］に格納する（ステップＳ１１２１）。
【００８２】
なお、Ｄｅｃボタン１０６ｂの操作により変数ＣＴが最初（１番目）の音色カテゴリ内の最初の音色番号（＝０）を指した場合には例えば、ＲＴ［１］＝−１（無効値）として、−１の音色番号が指定されないように制御されてよい。
【００８３】
続いて、ＣＰＵ２０１は、ステップＳ１１２２からＳ１１２５の一連の処理により、読み込み予定波形の音色番号の３番目の要素値ＲＴ［２］に、新たに現在指定された音色番号を＋１した音色番号（＋１の音色番号）を設定する。すなわち、ＣＰＵ２０１はまず、ステップＳ１１１４でデクリメントされた変数ＣＴの値を＋１した値をＲＡＭ２０３上の変数ＣＴ′に格納する（ステップＳ１１２２）。次に、ＣＰＵ２０１は、変数ＣＴ′の値が１つの音色カテゴリ内で指定可能な音色番号の最大値「１９」を越えた値「２０」になったか否かを判定する（ステップＳ１１２３）。ステップＳ１１２３の判定がＹｅｓならば、ＣＰＵ２０１は、音色カテゴリ番号を示す変数ＣＣの値を＋１インクリメントして得られる値をＲＡＭ２０３上の変数ＣＣ′に格納するとともに、＋１の音色番号を示す変数ＣＴ′の値を変数ＣＣ′が示す音色カテゴリ内の最初の音色番号を示す値「０」に設定する（ステップＳ１１２４）。この処理により、Ｄｅｃボタン１０６ｂの操作により変数ＣＴが或る音色カテゴリ内の最後の音色番号（＝１９）を指した場合に、＋１の音色番号として次の音色カテゴリ内の最初の音色番号が指定されることになる。ステップＳ１１２３の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１１２４の処理をスキップして、ステップＳ１１２２の変数ＣＴ′の計算結果を維持する。その後、ＣＰＵ２０１は、ステップＳ１１１３の場合と同様の（４）式に基づいて、ＲＡＭ２０３上の変数ＣＣ′に格納されている音色カテゴリ番号ＣＣ′と、同じく変数ＣＴ′に格納されている音色カテゴリ内での音色番号ＣＴ′とに基づいて、Ｄｅｃボタン１０６ｂの操作により新たに指定された音色番号を＋１した音色番号を算出し、その算出結果を、ＲＡＭ２０３上の変数である読み込み予定波形の音色番号の３番目の要素ＲＴ［２］に格納する（ステップＳ１１２５）。
【００８４】
その後、ＣＰＵ２０１は、図１１のフローチャートで例示される図８のステップＳ８０４の順次音色比較状態用読み込み音色番号決定サブルーチンの処理を終了する。
【００８５】
以上のようにして、演奏者がＩｎｃボタン１０６ａを押した場合には、読み込み予定波形の音色番号の１番目の要素ＲＴ［０］と２番目の要素ＲＴ［１］と３番目の要素ＲＴ［２］に、新たにインクリメントされた現在の音色番号と、＋１した音色番号と、−１した音色番号が、それぞれ格納される。また、演奏者がＤｅｃボタン１０６ｂを押した場合には、読み込み予定波形の音色番号の１番目の要素ＲＴ［０］と２番目の要素ＲＴ［１］と３番目の要素ＲＴ［２］に、新たにデクリメントされた現在の音色番号と、−１した音色番号と、＋１した音色番号が、それぞれ格納される。ここで、読み込み予定波形の音色番号の要素の番号（０、１、２）は、それぞれの要素に格納された音色番号の波形データが大容量フラッシュメモリ２０４から波形メモリ２０６上の３つの波形エリア（図３参照）に転送される優先順位を示している。すなわち、演奏者がＩｎｃボタン１０６ａを押した場合には、１番目の要素ＲＴ［０］に格納された新たにインクリメントされた現在の音色番号の波形データが最初に転送され、２番目の要素ＲＴ［１］に格納された＋１した音色番号の波形データが次に転送され、３番目の要素ＲＴ［２］に格納された−１した音色番号の波形データが最後に転送されるように制御される。これは、演奏者は、音色選択時には、Ｉｎｃボタン１０６ａを１回押した場合には次にも再びＩｎｃボタン１０６ａを押す傾向があるため、まず現在の音色番号の波形データを最初に転送し、次に＋１した音色番号の波形データを転送し、Ｄｅｃボタン１０６ｂの操作により−１される音色番号の波形データの転送の優先順位は最下位にするのが、効率的であるからである。逆に、演奏者がＤｅｃボタン１０６ｂを押した場合には、１番目の要素ＲＴ［０］に格納された新たにデクリメントされた現在の音色番号の波形データが最初に転送され、２番目の要素ＲＴ［１］に格納された−１した音色番号の波形データが次に転送され、３番目の要素ＲＴ［２］に格納された＋１した音色番号の波形データが最後に転送されるように制御される。これは、演奏者は、音色選択時には、Ｄｅｃボタン１０６ｂを１回押した場合には次にも再びＤｅｃボタン１０６ｂを押す傾向があるため、まず現在の音色番号の波形データを最初に転送し、次に−１した音色番号の波形データを転送し、Ｉｎｃボタン１０６ａの操作により＋１される音色番号の波形データの転送の優先順位は最下位にするのが、効率的であるからである。
【００８６】
図１２および図１３は、図８のステップＳ８０５の読み込み音色番号設定サブルーチンの詳細処理例を示すフローチャートである。ここでは、図８のステップＳ８０３の通常状態用読み込み音色番号決定サブルーチンでＲＡＭ２０３上の読み込み予定波形の音色番号の要素値ＲＴ［０］に得られた音色番号に対応する波形データの転送を、波形メモリ２０６上の３つの波形エリアのうちの空いている１つに割り振る処理（要素値ＲＴ［１］とＲＴ［２］には無効値「−１」が設定されている）、あるいは、図８のステップＳ８０４の順次音色比較状態用読み込み音色番号決定サブルーチンでＲＡＭ２０３上の読み込み予定波形の音色番号の３つの要素値ＲＴ［０］、ＲＴ［１］、およびＲＴ［２］に得られた３つの音色番号に対応する各波形データの優先順位を付けた転送を、波形メモリ２０６上の３つの波形エリアに割り振る処理が実行される。
【００８７】
まず、ＣＰＵ２０１は、ステップＳ１２０１からＳ１２１３までの一連の処理において、演奏者の音色選択操作によってＲＡＭ２０３上の読み込み予定波形の音色番号の要素値ＲＴ［０］、ＲＴ［１］、およびＲＴ［２］として得られた１つ（図８のステップＳ８０３の場合）または３つ（図８のステップＳ８０４の場合）の音色番号のそれぞれに対応する波形データが、波形メモリ２０６上の３つの波形エリア（図３参照）上に存在するか、または現在読み込み中であるか否かをチェックする。３つの波形エリアの状態は、ＲＡＭ２０３上の構造体変数である波形メモリステータスＷＭ＿ＳＴ［０］、ＷＭ＿ＳＴ［１］、ＷＭ＿ＳＴ［２］に格納されている。そこで、ＣＰＵ２０１は、ステップＳ１２０１で３つの波形エリアのそれぞれを指定するためのＲＡＭ２０３上の変数ｗに「０」を格納した後、ステップＳ１２１２で変数ｗの値を＋１ずつインクリメントしながら、ステップＳ１２１３で変数ｗの値が「３」に達したと判定されるまで、ステップＳ１２０２からＳ１２１１までの一連の処理を３回繰り返し実行することにより、各波形エリアｗに対応する波形メモリステータスＷＭ＿ＳＴ［ｗ］を、読み込み予定波形の音色番号の３つの要素値ＲＴ［ｒ］（ｒ＝０、１、２）のそれぞれと比較する。この場合、ＣＰＵ２０１は、上記各繰り返しにおいて、ステップＳ１２０２で読み込み予定波形の音色番号を指定するためのＲＡＭ２０３上の変数ｒに「０」を格納した後、ステップＳ１２１０で変数ｒの値を＋１ずつインクリメントしながら、ステップＳ１２１１で変数ｒの値が「３」に達したと判定されるまで、ステップＳ１２０３からＳ１２０９までの一連の処理を３回繰り返し実行することにより、波形メモリステータスＷＭ＿ＳＴ［ｗ］と読み込み予定波形の音色番号の各要素値ＲＴ［ｒ］との比較を行う。
【００８８】
上記２重の繰り返し処理において、ＣＰＵ２０１はまず、読み込み予定波形の音色番号の要素値ＲＴ［ｒ］の値が無効値「−１」であるか否かを判定する（ステップＳ１２０３）。
【００８９】
ステップＳ１２０３の判定がＹｅｓならば、ＣＰＵ２０１は、制御をステップＳ１２１０の処理に移行させて、次の変数ｒの値に対応する読み込み予定波形の次の音色番号に対応する処理に移行する。
【００９０】
ステップＳ１２０３の判定がＮｏならば、ＣＰＵ２０１は次に、変数ｗが示す波形エリアの通しの音色番号（図４の説明および図５を参照）を示す波形メモリステータス中の音色通し番号ＷＭ＿ＳＴ［ｗ］．ＴＯＮＥが、読み込み予定波形の音色番号の要素値ＲＴ［ｒ］の値に一致するか否かを判定する（ステップＳ１２０４）。
【００９１】
ステップＳ１２０４の判定がＮｏならば、ＣＰＵ２０１は、制御をステップＳ１２１０の処理に移行させて、次の変数ｒの値に対応する読み込み予定波形の次の音色番号に対応する処理に移行する。
【００９２】
ステップＳ１２０４の判定がＹｅｓならば、ＣＰＵ２０１は続いて、波形メモリ２０６上の変数ｗが示す波形エリアでの波形データの有無を示す要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ（図５参照）が「有り」を示す値「１」であるか否かを判定する（ステップＳ１２０５）。
【００９３】
ステップＳ１２０５の判定がＹｅｓならば、ＣＰＵ２０１は、制御をステップＳ１２０７に進める。
【００９４】
ステップＳ１２０５の判定がＮｏならば、ＣＰＵ２０１は、現在読み込み中の波形の番号を示すＲＡＭ２０３上の変数ＲＥＡＤＩＮＧ＿ＷＡＶＥ（図５参照）の値が、読み込み予定波形の音色番号の要素値ＲＴ［ｒ］の値に一致するか否かを判定する（ステップＳ１２０６）。
【００９５】
ステップＳ１２０６の判定がＮｏならば、ＣＰＵ２０１は、制御をステップＳ１２１０の処理に移行させて、次の変数ｒの値に対応する読み込み予定波形の次の音色番号に対応する処理に移行する。
【００９６】
ステップＳ１２０６の判定がＹｅｓならば、変数ｒに対応する読み込み予定波形の音色番号の要素値ＲＴ［ｒ］が、波形メモリステータスＷＭ＿ＳＴ［ｗ］に対応する変数ｗが示す波形エリアに対応付けられて処理中である。従って、これ以後、要素値ＲＴ［ｒ］については他の波形メモリステータスＷＭ＿ＳＴ［ｗ］とのチェックは不要となるため、ＣＰＵ２０１は、現在の変数ｒに対応する読み込み予定波形の音色番号の要素値ＲＴ［ｒ］に無効値「−１」を格納する（ステップＳ１２０７）。
【００９７】
続いて、ＣＰＵ２０１は、現在の変数ｗに対応する波形エリアの大容量フラッシュメモリ２０４から波形メモリ２０６への転送（読み込み）の優先順位を示す波形メモリステータスの要素値ＷＭ＿ＳＴ［ｗ］．ＰＲＩ（図５参照）に、新たにそれに対応付けられた読み込み予定波形の音色番号の要素値ＲＴ［ｒ］の優先順位を示す変数ｒの値（図１１の最後の説明参照）を設定し直す（ステップＳ１２０８）。
【００９８】
そして、ＣＰＵ２０１は、現在の変数ｗに対応する波形エリアへの新たな書き込みを行わせないために、波形メモリステータスの書き換え保護フラグＷＭ＿ＳＴ［ｗ］．ＰＲＯＴＥＣＴ（図５参照）に保護を示す値「１」を格納する（ステップＳ１２０９）。
【００９９】
以上の処理が、変数ｒの全ての値０、１、２および変数ｗの全ての値０、１、２について繰り返し実行されることにより、３つの波形エリア（波形メモリステータス）のそれぞれごとに、当該波形エリアの音色番号が読み込み予定波形の音色番号の３つの要素値ＲＴ［０］、ＲＴ［１］、またはＲＴ［２］に新たに設定された音色番号のいずれかと一致し、かつその音色番号に対応する波形データが当該波形エリアに既に読み込み済みであるか、または読み込み中である場合には、その波形エリア（波形メモリステータス）が保護されることになる。逆に言えば、読み込み予定波形の音色番号の３つの要素値ＲＴ［０］、ＲＴ［１］、またはＲＴ［２］に新たに設定された音色番号に対応する波形データが、まだどの波形エリアにも読み込み済みでなくかつ読み込み中でもない場合には、保護されていない波形エリアにその波形データを新たに読み込む設定をすることができる。その処理を実行するのが、図１３のステップＳ１２１４からＳ１２２２までの一連の処理である。
【０１００】
ＣＰＵ２０１は、ステップＳ１２１４で読み込み予定波形の音色番号を指定するための変数ｒに「０」を格納した後、ステップＳ１２２１で変数ｒの値を＋１ずつインクリメントしながら、ステップＳ１２２２で変数ｒの値が「３」に達したと判定されるまで、ステップＳ１２１５で無効値「−１」が設定されている読み込み予定波形の音色番号の要素値ＲＴ［ｒ］についてはその判定がＹｅｓとなることにより処理対象からはずしながら、ステップＳ１２１６からＳ１２２０までの一連の処理を３回繰り返し実行する。この制御により、まだ波形エリアへの割り当てが行われていない読み込み予定波形の音色番号の要素値ＲＴ［ｒ］について、その割り当てが行われる。ステップＳ１２１６からＳ１２２０までの一連の処理において、ＣＰＵ２０１は、ステップＳ１２１６で３つの波形エリアのそれぞれを指定するためのＲＡＭ２０３上の変数ｗに「０」を格納した後、ステップＳ１２１９で変数ｗの値を＋１ずつインクリメントしながら、ステップＳ１２２０で変数ｗの値が「３」に達したと判定されるまで、ステップＳ１２１７で波形メモリステータスの書き換え保護フラグＷＭ＿ＳＴ［ｗ］．ＰＲＯＴＥＣＴ（図５参照）の値が「０」である（保護されていない）ものを探しながら、ステップＳ１２１８で、波形エリアへの割り当てが行われていない読み込み予定波形の音色番号の要素値ＲＴ［ｒ］を、空いている波形エリアに対応する波形メモリステータスＷＭ＿ＳＴ［ｗ］へ登録する。
【０１０１】
すなわち、ＣＰＵ２０１は、ステップＳ１２１８において、波形メモリステータス中の音色通し番号ＷＭ＿ＳＴ［ｗ］．ＴＯＮＥに、読み込み予定波形の音色番号の要素値ＲＴ［ｒ］を格納する。また、ＣＰＵ２０１は、波形メモリステータスの波形読み込み優先順位ＷＭ＿ＳＴ［ｗ］．ＰＲＩ（図５参照）に、読み込み予定波形の音色番号の要素値ＲＴ［ｒ］の優先順位を示す変数ｒの値（図１１の最後の説明参照）を設定する。さらに、ＣＰＵ２０１は、波形メモリステータスの波形データの有無を示す要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ（図５参照）にまだ波形データが転送されていないので「無し」を示す値「０」を設定する。また、ＣＰＵ２０１は、波形メモリステータスの読み込み音色の波形データのフラッシュメモリ上での格納先頭アドレスＷＭ＿ＳＴ［ｗ］．ＦＬＡＳＨ＿ＡＤＲＳ（図５参照）に、ＲＯＭ２０２内の図４に例示されるフラッシュメモリ音色情報テーブルにおける、「番号」項目値が読み込み予定波形の音色番号の要素値ＲＴ［ｒ］に等しいエントリの「波形アドレスオフセット」項目値（音色波形先頭アドレス）を設定する。加えて、ＣＰＵ２０１は、波形メモリステータスの波形サイズ要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥに、ＲＯＭ２０２内の図４に例示されるフラッシュメモリ音色情報テーブルにおける、「番号」項目値が読み込み予定波形の音色番号の要素値ＲＴ［ｒ］に等しいエントリの「波形サイズ」項目値を設定する。そして、ＣＰＵ２０１は、波形メモリステータスの転送済みのデータサイズを示す要素値ＷＭ＿ＳＴ［ｗ］．ＲＥＡＤ＿ＳＩＺＥを値「０」に初期設定する。
【０１０２】
以上の処理が、変数ｒの全ての値０、１、２および変数ｗの全ての値０、１、２について繰り返し実行されることにより、波形エリアへの割り当てが行われていない読み込み予定波形の音色番号の要素値ＲＴ［ｒ］が、空いている波形エリアに対応する波形メモリステータスＷＭ＿ＳＴ［ｗ］へ登録される。
【０１０３】
ステップＳ１２２２の判定がＹｅｓとなった後、ＣＰＵ２０１は、ステップＳ１２２３で３つの波形エリアのそれぞれを指定するためのＲＡＭ２０３上の変数ｗに「０」を格納した後、ステップＳ１２２５で変数ｗの値を＋１ずつインクリメントしながら、ステップＳ１２２６で変数ｗの値が「３」に達したと判定されるまで、ステップＳ１２２４の処理を実行する。ＣＰＵ２０１は、ステップＳ１２２４において、各波形エリアに対応する波形メモリステータスの書き換え保護フラグＷＭ＿ＳＴ［ｗ］．ＰＲＯＴＥＣＴ（図５参照）値を「０」にリセットする。その後、ＣＰＵ２０１は、図１２および図１３のフローチャートで例示される図８のステップＳ８０５の読み込み音色番号設定サブルーチンを終了する。
【０１０４】
図１４は、図８のステップＳ８０９の音色切り替え履歴処理サブルーチンの詳細処理例を示すフローチャートである。
【０１０５】
ＣＰＵ２０１は、ＲＡＭ２０３上の変数である音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰ（図５参照）によって指定される音色選択履歴バッファの音色選択操作ボタン要素ＴＳ＿ＨＩＳ［ＴＳ＿ＷＰ］．ＢＵＴＴＯＮ（図５参照）および音色選択時の時刻要素ＴＳ＿ＨＩＳ［ＴＳ＿ＷＰ］．ＴＩＭＥ（図５参照）に、変数Ｂ、Ｔにそれぞれ格納されている現在の音色番号および現在時刻を格納する（ステップＳ１４０１）。
【０１０６】
ここで、ＣＰＵ２０１は、図８のステップＳ８０９の音色切り替え履歴処理サブルーチンが実行されるごとに、ステップＳ１４０２で音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰの値を＋１ずつインクリメントしながら、ステップＳ１４０３で音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰの値が「１」になったか否かを判定している。そして、ＣＰＵ２０１は、ステップＳ１４０３の判定がＹｅｓになると、ステップＳ１４０４で音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰの値を「０」に戻す。これにより、音色選択履歴バッファ書き込みポインタＴＳ＿ＷＰの値が「０」と「１」の間でサイクリックに変化し、直近２つ分の音色選択履歴が、音色選択履歴バッファＴＳ＿ＨＩＳ［０］とＴＳ＿ＨＩＳ［１］にサイクリックに得られることになる。
【０１０７】
図１５および図１６は、図６のステップＳ６１１の波形読み込み処理の詳細例を示すフローチャートである。演奏による発音処理を止めないようにするために、図６に例示したメインループにおいて、ステップＳ６１１で波形読み込み処理だけに処理を集中させず、他の処理も並行に処理するために、ステップＳ６１１で波形読み込み処理の１回の実行においては、一定の容量のメモリ転送が完了した時点で処理を中断し、他のメインループの処理を行って再び波形転送プログラムが起動された時に処理を再開する仕組みになっている。
【０１０８】
ＣＰＵ２０１はまず、ステップＳ１５０１において、各種初期設定を行う。具体的には、ＣＰＵ２０１は、ＲＡＭ２０３上の変数である、今回読み込みサイズカウンタｃ、波形メモリ上のアドレスカウンタｗｐ、最高プライオリティ波形番号ｈ、および波形番号カウンタｗに、それぞれ初期値「０」を設定する。また、ＣＰＵ２０１は、ＲＡＭ２０３上の変数であるプライオリティカウンタｐに、最低優先度（プライオリティ）の値「３」を初期値として格納する。
【０１０９】
上記初期設定の後、ＣＰＵ２０１は、ＲＡＭ２０３上の変数である現在読み込み中の波形の番号ＲＥＡＤＩＮＧ＿ＷＡＶＥの値が無効値「−１」であるか否か、すなわち、現在波形データの読み込みが行われていないか否かを判定する（ステップＳ１５０２）。
【０１１０】
現在波形データの読み込みが行われていない（ステップＳ１５０２の判定がＹｅｓである）場合には、ＣＰＵ２０１は、（ステップＳ１５０１で初期値「０」に初期化されている）波形番号カウンタｗの値をステップＳ１５０８で＋１ずつインクリメントしながら、ステップＳ１５０９で２に達したと判定されるまで、ステップＳ１５０４からＳ１５０７の一連の処理を繰り返し実行する。この一連の処理の繰り返しにより、ＣＰＵ２０１は、波形番号カウンタｗが示す波形メモリステータスの要素値ＷＭ＿ＳＴ［ｗ］．ＰＲＩに書き込まれている波形読み込みの優先順位を順次調べ、波形転送が必要かつ、完了していないものの中で最も優先順位の高い波形データを選定する。
【０１１１】
ステップＳ１５０４からＳ１５０７の一連の処理において、ＣＰＵ２０１はまず、波形番号カウンタｗが示す波形メモリ２０６上の波形エリアでの波形データの有無を示すＲＡＭ２０３上の波形メモリステータスの要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥの値が「１」であるか否か、すなわち、波形番号カウンタｗが示す波形メモリ２０６上の波形エリアへの波形データの転送が完了しているか否かを判定する（ステップＳ１５０４）。
【０１１２】
波形番号カウンタｗが示す波形メモリ２０６上の波形エリアへの波形データの転送が完了している（ステップＳ１５０４の判定がＹｅｓ）ならば、その波形データはさらに転送の必要はないため、ＣＰＵ２０１は、ステップＳ１５０８の処理に移行して、次の波形番号に対する処理に進む。
【０１１３】
波形番号カウンタｗが示す波形メモリ２０６上の波形エリアへの波形データの転送が完了していない（ステップＳ１５０４の判定がＮｏ）ならば、ＣＰＵ２０１は、波形番号カウンタｗが指し示す波形メモリステータスの波形サイズ要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥが「０」であるか否かを判定する（ステップＳ１５０５）。図４に例示されるフラッシュメモリ音色情報テーブル上で、波形番号カウンタｗに対応する「波形番号」項目値に対して、波形データが登録されていない場合には、「波形サイズ」項目値が「０」になっている。そして、図１３のステップＳ１２１８の説明で前述したように、波形データが登録されていない波形番号のデータについては、波形サイズ要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥに、音声波形サイズとして「０」がセットされる。
【０１１４】
このため、ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥが「０」（ステップＳ１５０５の判定がＹｅｓ）ならば、波形番号カウンタｗに対応する波形データは存在しないため、ＣＰＵ２０１は、ステップＳ１５０８の処理に移行して、次の波形番号に対する処理に進む。
【０１１５】
ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥが「０」でない（ステップＳ１５０５の判定がＮＯ）ならば、ＣＰＵ２０１は、波形番号カウンタｗが指し示す波形メモリステータスの要素値ＷＭ＿ＳＴ［ｗ］．ＰＲＩに書き込まれている波形読み込みの優先順位が、プライオリティカウンタｐの値よりも小さいか否か（優先順位が高いか否か）を判定する（ステップＳ１５０６）。
【０１１６】
ＷＭ＿ＳＴ［ｗ］．ＰＲＩの優先順位がプライオリティカウンタｐの値よりも小さい（ステップＳ１５０６の判定がＹｅｓである）場合には、ＣＰＵ２０１は、カウンタ変数ｈに波形番号カウンタｗの値を格納して記憶させ、また、プライオリティカウンタｐの優先順位をＷＭ＿ＳＴ［ｗ］．ＰＲＩの優先順位で書き換える（ステップＳ１５０７）。
【０１１７】
ＷＭ＿ＳＴ［ｗ］．ＰＲＩの優先順位がプライオリティカウンタｐの値よりも小さくはない（ステップＳ１５０６の判定がＮｏである）場合には、ＣＰＵ２０１は、ステップＳ１５０７の書き換えは行わない。
【０１１８】
初期状態では、プライオリティカウンタｐには、最低の優先順位「３」が設定されている（ステップＳ１５０１参照）。これを初期値として、上述のステップＳ１５０４からＳ１５０７の一連の処理が繰り返し実行される結果、最終的にカウンタ変数ｈには、波形転送が必要かつ完了していないものの中で最も優先順位の高い波形データの「波形番号」が得られることになる。例えば、演奏者が音色番号を通常状態で指定した場合、ｗ＝０，１，２のうちいずれか一つのｗ値に対応するＷＭ＿ＳＴ［ｗ］に対してのみ有効なデータが設定されている。従って、この場合には、カウンタ変数ｈには、演奏者が選択し波形転送が完了していない音色番号に対応する波形データの「波形番号」が１つだけ得られることになる。一方、演奏者３０６が順次音色比較状態で指定した場合、ｗ＝０，１，２のそれぞれに対応する各ＷＭ＿ＳＴ［ｗ］には、演奏者が選択した音色番号と、その音色番号を＋１および−１した２つの音色番号が設定されている。従って、この場合には、カウンタ変数ｈには、演奏者が選択し波形転送が完了していない音色番号に対応する波形データの「波形番号」がまず得られる。
【０１１９】
上記繰り返し処理の結果、ステップＳ１５０９の判定がＹｅｓになると、ＣＰＵ２０１は、カウンタ変数ｈに得られた優先順位の最も高い波形番号をＲＡＭ２０３上の変数である現在読み込み中の波形番号ＲＥＡＤＩＮＧ＿ＷＡＶＥに格納し、また、波形番号カウンタｗが示す波形メモリステータスの、転送済みのデータサイズを示す要素値ＷＭ＿ＳＴ［ｗ］．ＲＥＡＤ＿ＳＩＺＥを値「０」（まだ転送が開始されていない状態）に初期設定する（ステップＳ１５１０）。
【０１２０】
その後、ＣＰＵ２０１は、図１６のステップＳ１５１１以降の処理に移行し、カウンタ変数ｈに得られた波形番号の波形データを大容量フラッシュメモリ２０４から波形メモリ２０６へ転送する処理を開始する。
【０１２１】
前述したステップＳ１５０２の判定において、現在波形データの読み込みが行われている（ステップＳ１５０２の判定がＮｏである）と判定された場合には、ＣＰＵ２０１は、カウンタ変数ｈに、ＲＡＭ２０３上の変数である現在読み込み中の波形番号ＲＥＡＤＩＮＧ＿ＷＡＶＥの値を格納した後、図１６のステップＳ１５１１以降の処理に移行し、カウンタ変数ｈに得られた波形番号の残りの波形データを大容量フラッシュメモリ２０４から波形メモリ２０６へ転送する処理を実行する。
【０１２２】
上記転送処理において、ＣＰＵ２０１はまず、大容量フラッシュメモリ２０４において、それぞれカウンタ変数ｈに対応する波形メモリステータスの要素値であるＷＭ＿ＳＴ［ｈ］．ＦＬＡＳＨ＿ＡＤＲＳとＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥとを加算して得られるアドレスから、１ワード分の波形データを読み込み、ＲＡＭ２０３上の変数ｄに代入する（ステップＳ１５１１）。ここで、要素値ＷＭ＿ＳＴ［ｈ］．ＦＬＡＳＨ＿ＡＤＲＳには、前述した図１２のステップＳ１２１８で、変数ｈが示す波形番号に対応する波形メモリ２０６上の波形エリアに転送されるべき波形データの、大容量フラッシュメモリ２０４上での先頭アドレスが格納されている。また、要素値ＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥには、現在までに転送済みのデータサイズが格納されている。従って、「ＷＭ＿ＳＴ［ｈ］．ＦＬＡＳＨ＿ＡＤＲＳ＋ＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥ」は、次に読み出されるべき大容量フラッシュメモリ２０４上のアドレスとなる。
【０１２３】
次に、ＣＰＵ２０１は、波形メモリ２０６において、カウンタ変数ｈに対応する波形番号の波形エリアの波形メモリ２０６上での先頭アドレスとカウンタ変数ｈに対応する波形メモリステータスの要素値であるＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥとを加算して得られるアドレスに、変数ｄに格納されている１ワード分の波形データを、音源ＬＳＩ２０５経由で書き込む（ステップＳ１５１２）。
【０１２４】
その後、ＣＰＵ２０１は、カウンタ変数ｈが示す波形番号に対応する波形メモリステータスの転送済みのデータサイズを示す要素値ＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥの値を＋１インクリメントし、また、ＲＡＭ２０３上の変数である（ステップＳ１５０１で値「０」に初期化されている）今回読み込みサイズカウンタｃの値を＋１インクリメントする（ステップＳ１５１３）。
【０１２５】
そして、ＣＰＵ２０１は、カウンタ変数ｈが示す波形番号に対応する波形メモリステータスの転送済みのデータサイズを示す要素値ＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥの値が、カウンタ変数ｈが示す波形番号に対応する波形メモリステータスの波形サイズ要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥに等しくなったか否かを判定する（ステップＳ１５１４）。波形サイズ要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥには、図６のステップＳ６０４の音色切替え処理内の図８のステップＳ８０５の読み込み音色番号設定サブルーチン内の図１３のステップＳ１２１８において、現在の音色に対応するＲＯＭ２０２内のフラッシュメモリ音色情報テーブルから、図４に示される「波形サイズ」項目値がセットされている。
【０１２６】
ステップＳ１５１４の判定がＮｏならば、ＣＰＵ２０１は、今回読み込みサイズカウンタｃの値が１０２４００バイトに等しくなったか否か、すなわち、今回転送されたサイズが１００ＫＢ（キロバイト）に達したか否かを判定する（ステップＳ１５１５）。
【０１２７】
ステップＳ１５１５の判定がＮｏならば、ＣＰＵ２０１は、ステップＳ１５１１の処理に戻って転送を続行する。
【０１２８】
ステップＳ１５１５の判定がＹｅｓになったならば、ＣＰＵ２０１は、図１５および図１６のフローチャートで例示される図６のステップＳ６１１の波形読み込み処理を終了する。このように、本実施形態では、一定の容量（例えば１００ＫＢ）のメモリ転送が完了した時点で処理が中断され、他のメインループの処理を行って再び波形転送プログラムが起動された時に図１５のステップＳ１５０２→Ｓ１５０３を介して、処理が再開される。このとき、カウンタ変数ｈが示す波形メモリステータスの、転送済みのデータサイズを示す要素値ＷＭ＿ＳＴ［ｗ］．ＲＥＡＤ＿ＳＩＺＥには、図１６のステップＳ１５１３の処理によって前回までに転送が完了したサイズが格納されているため、図１６のステップＳ１５１１およびＳ１５１２のアドレス演算処理によって、前回転送が完了したアドレスの次のアドレスから転送を再開することができる。
【０１２９】
転送済みのデータサイズを示す要素値ＷＭ＿ＳＴ［ｈ］．ＲＥＡＤ＿ＳＩＺＥの値が波形サイズ要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ＿ＳＩＺＥに等しくなった場合（ステップＳ１５１４の判定がＹｅｓになった場合）、ＣＰＵ２０１は、カウンタ変数ｈが示す波形メモリステータス中の波形メモリ２０６上での波形の有無を示す要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ（図５参照）に、変数ｈが示す波形番号に対応する波形データが波形メモリ２０６の波形エリアに存在することを示す値「１」を設定する（ステップＳ１５１６）。その後、ＣＰＵ２０１は、図１５および図１６のフローチャートで例示される図６のステップＳ６１１の波形読み込み処理を終了する。
【０１３０】
上述の一連の処理により優先順位の最も高い波形データの転送が完了すると、次のタイミング以降図６のステップＳ６１１の波形読み込み処理が実行されるときに、ステップＳ１５０２→Ｓ１５０４〜Ｓ１５１０によって、優先順位が２番目に高い波形データの転送の設定が行われて転送が実行され、さらに続いて優先順位が最も低い波形データの転送の設定が行われて転送が実行される。具体的には、演奏者３０６がＩｎｃボタン１０６ａを操作したときには、演奏者３０６が選択した優先順位の最も高い音色番号に対応する波形データの転送に続いて、優先順位が２番目に高いその音色番号を＋１した音色番号に対応する波形データの転送が実行され、最後に優先順位が最も低いその音色番号を−１した音色番号に対応する波形データの転送が実行される。逆に、演奏者３０６がＤｅｃボタン１０６ｂを操作しているときには、演奏者３０６が選択した優先順位の最も高い音色番号に対応する波形データの転送に続いて、優先順位が２番目に高いその音色番号を−１した音色番号に対応する波形データの転送が実行され、最後に優先順位が最も低いその音色番号を＋１した音色番号に対応する波形データの転送が実行される（以上、図１１の最後の説明と図１２のステップＳ１２０８の説明を参照）。
【０１３１】
以上のようにして、波形メモリ２０６上の波形エリアへの波形データの転送が完了した後、演奏者が鍵盤１０１を演奏する操作に対応して、ＣＰＵ２０１は、図６のステップＳ６０７の音源発音処理で、音源ＬＳＩ２０５に対して波形エリアの波形データの読み出しによる楽音発音処理を指示することができる。すなわち、ＣＰＵ２０１は、押鍵イベントが発生した場合（図６のステップＳ６０６の判定がＹｅｓの場合）、演奏者によって現在選択されている音色番号と同じ値が要素値ＴＯＮＥ（図５参照）に設定されている波形メモリステータスＷＭ＿ＳＴ［ｗ］を抽出する。次に、ＣＰＵ２０１は、その波形メモリステータスの要素値ＷＭ＿ＳＴ［ｗ］．ＷＡＶＥ（図５参照）の値が「１」であるか否か、すなわち、変数ｗが示す波形番号に対応する波形メモリ２０６上の波形エリアに波形データの転送が完了しているか否かを判定する。この転送完了の判定がＹｅｓならば、ＣＰＵ２０１は、変数ｗが示す波形番号に対応する波形メモリ２０６上の波形エリアに対する発音処理を、音源ＬＳＩ２０５に対して指示する。上記転送完了の判定がＮｏならば、ＣＰＵ２０１は、音源ＬＳＩ２０５に対する発音処理の指示はスキップする。
【０１３２】
以上説明した実施形態により、複数波形の転送を伴う音色の順次切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することが可能となる。これにより、演奏者のストレスを軽減、あるいは全く感じさせないレベルに抑制することができる。例えば、１つの音色に必要な波形のうち、１０パーセントの容量を持つ１つの波形データが揃っただけで演奏可能となるケースでは、予想が外れない限りは、無音状態が１０分の１まで短縮ができることになる。予想が外れても押鍵されたものから読み込みを行うので、全部読み込むよりは遥かに短い無音時間で済むという効果が得られる。
【０１３３】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
一次記憶装置と、
複数種の波形データを記憶する二次記憶装置と、
外部より波形選択信号が供給される毎に、第１のモード及び第２のモードのいずれかを判別する判別処理と、前記第１のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる通常読み込み処理と、前記第２のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる音色設定読み込み処理と、を実行する処理部と、
を備えた波形読み込み装置。
（付記２）
前記一次記憶装置は、ランダムアクセスメモリを備え、前記二次記憶装置は、前記一次記憶装置より容量の大きいフラッシュメモリを備えた付記１記載の波形読み込み装置。
（付記３）
前記波形読み込み装置はさらに、波形選択信号を供給する波形選択操作子を有し、
前記処理部はさらに、前記二次記憶装置に記憶されている複数の波形データの中から、前記波形選択操作子により供給される波形選択信号に対応する波形データを選択する波形選択処理を実行する、付記１または２に記載の波形読み込み装置。
（付記４）
前記複数種の波形データ夫々は、前記二次記憶装置内の連続したエリアに順次記憶され、
前記処理部において、前記音色設定読み込み処理は、前記波形選択処理により選択された波形データ、及び当該波形データが記憶されているエリアに隣接するエリアに記憶されている波形データを読み出す、付記３に記載の波形読み込み装置。
（付記５）
前記波形選択操作子は操作される毎に、前記二次記憶装置内の連続したエリアに記憶されている順に波形データを選択させる波形選択信号を供給する、付記４に記載の波形読み込み装置。
（付記６）
前記処理部はさらに、前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングを波形選択履歴バッファに順次記憶する波形選択履歴記憶処理を実行し、
前記判別処理は、前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングと前記波形選択履歴バッファに記憶されているタイミングとの差が予め定められた値を超えている場合は第１のモードと判別し、前記予め定められた値を超えていない場合は第２のモードと判別する、付記１に記載の波形読み込み装置。
（付記７）
一次記憶装置と、複数種の波形データが記憶された二次記憶装置と、を備えた波形読み込み装置に用いられる波形読み込み方法であって、前記波形読み込み装置が、
外部より波形選択信号が供給される毎に、第１のモード及び第２のモードのいずれかを判別し、
前記第１のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させ、
前記第２のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる、波形読み込み方法。
（付記８）
一次記憶装置と、複数種の波形データが記憶された二次記憶装置と、を備えた波形読み込み装置として用いられるコンピュータに、
外部より波形選択信号が供給される毎に、第１のモード及び第２のモードのいずれかを判別するステップ、
前記第１のモードであると判別された場合に、前記波形選択信号より選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させるステップと、
前記第２のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させるステップと、
を実行させるプログラム。
（付記９）
付記１に記載の波形読み込み装置と、
発音すべき楽音の音高を指定する演奏操作子と、
前記波形選択信号により選択される波形データを、前記演奏操作子により指定された音高に基づいて前記一次記憶装置から読み出すことにより、楽音を生成する音源と、
を備えた電子楽器。
（付記１０）
一次記憶装置と、
複数種の波形データが記憶された二次記憶装置と、
外部より波形選択信号が供給される毎に、第１のモード及び第２のモードのいずれかを判別する判別部と、
前記第１のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる通常読み込み部と、
前記第２のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる音色設定読み込み部と、
を備えた波形読み込み装置。
【符号の説明】
【０１３４】
１００  電子鍵盤楽器
１０１  鍵盤
１０２  音色選択ボタン
１０３  レジストレーション選択ボタン
１０４  ベンダ／モジュレーション・ホイール
１０５  ＬＣＤ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  大容量フラッシュメモリ
２０５  音源ＬＳＩ
２０６  波形メモリ
２０７  キー・スキャナ
２０８  Ａ／Ｄコンバータ
２０９  ＬＣＤコントローラ
２１０  Ｄ／Ａコンバータ
２１１  アンプ
２１２  １６ｂｉｔフリーランニング・タイマカウンタ
２１３  ＭＩＤＩ  Ｉ／Ｆ
２１４  システムバス
【図１】
0006540057.tif 000002
【図２】
0006540057.tif 000003
【図３】
0006540057.tif 000004
【図４】
0006540057.tif 000005
【図５】
0006540057.tif 000006
【図６】
0006540057.tif 000007
【図７】
0006540057.tif 000008
【図８】
0006540057.tif 000009
【図９】
0006540057.tif 000010
【図１０】
0006540057.tif 000011
【図１１】
0006540057.tif 000012
【図１２】
0006540057.tif 000013
【図１３】
0006540057.tif 000014
【図１４】
0006540057.tif 000015
【図１５】
0006540057.tif 000016
【図１６】
0006540057.tif 000017