(57)【要約】      （修正有）【課題】複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、良好な演奏を実現することができる楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器を提供する。【解決手段】音源ＬＳＩ２０４が楽音発生時に使用するＲＡＭ２０８と、音色に使用する全ての波形データを保存する大容量フラッシュメモリ２１２とを備える。発音のための読み出し動作の対象となる波形データを大容量フラッシュメモリ２１２からＲＡＭ２０８上の波形バッファに転送する際に、当該波形データがＲＡＭ２０８内のいずれかの波形バッファに既に存在する場合には、当該波形データが存在する波形バッファをリンク先に設定してＲＡＭ２０８内で波形データを流用することにより、音源ＬＳＩ２０４の波形発生器が有する波形読み出し装置により直接読み出して発音する。【選択図】図２
2018159870.tif 000002
【特許請求の範囲】
【請求項１】
波形データを読み込んで記憶する複数の記憶領域を有する第１の記憶手段と、
前記第１の記憶手段の選択された記憶領域からそれぞれ波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、
前記発音が指示されたときに、前記発音制御手段の各々による前記記憶領域の各々からの前記波形データの読み込み状況に基づいて、前記指示された発音に用いる前記発音制御手段と前記記憶領域との組合せを決定する制御手段と、
を備えたことを特徴とする楽音生成装置。
【請求項２】
前記制御手段は、
前記発音が指示されたときに、前記記憶領域の各々に記憶された前記波形データを読み込んでいる前記発音制御手段の数に基づいて、前記指示された発音に用いる前記記憶領域を選択する、
ことを特徴とする請求項１に記載の楽音生成装置。
【請求項３】
前記制御手段は、
前記発音が指示されたときに、前記記憶領域の各々に記憶された前記波形データを読み込んでいる前記発音制御手段の数が他の前記記憶領域よりも少ない前記記憶領域を、前記指示された発音に用いる前記記憶領域として選択する、
ことを特徴とする請求項２に記載の楽音生成装置。
【請求項４】
前記制御手段は、
前記複数の記憶領域と前記複数の発音制御手段とを、１対１の関係で対応付けて管理し、
前記発音が指示されたときに、前記記憶領域の各々に記憶された前記波形データを読み込んでいる前記発音制御手段の数が他の前記記憶領域よりも少ない前記記憶領域に対応する前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
ことを特徴とする請求項２又は３に記載の楽音生成装置。
【請求項５】
前記制御手段は、
前記発音が指示されたときに、前記複数の発音制御手段の中から発音中ではない前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
ことを特徴とする請求項２乃至４のいずれかに記載の楽音生成装置。
【請求項６】
前記第１の記憶手段に転送される複数の前記波形データを記憶している第２の記憶手段を更に備え、
前記制御手段は、
前記発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第１の記憶手段に記憶されている場合は、前記第１の記憶手段に記憶されている前記波形データを前記選択された発音制御手段により読み込ませ、前記発音が指示された波形データが前記第１の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第２の記憶手段から前記第１の記憶手段の前記決定した記憶領域に転送した後、前記転送して記憶された前記波形データを前記決定した発音制御手段により読み込ませる、
ことを特徴とする請求項１乃至５のいずれかに記載の楽音生成装置。
【請求項７】
前記制御手段は、前記指示された発音に用いる前記波形データが前記選択された発音制御手段に対応付けられた前記第１の記憶手段の前記記憶領域に記憶されておらず、前記選択された発音制御手段以外の他の前記発音制御手段に対応付けられた前記記憶領域に記憶されている場合には、前記他の発音制御手段に対応付けられた前記記憶領域を、前記選択された発音制御手段のリンク先に設定して、前記他の発音制御手段に対応付けられた前記記憶領域に記憶されている前記波形データを前記選択された発音制御手段により直接読み出して発音させることを特徴とする請求項６に記載の楽音生成装置。
【請求項８】
前記制御手段は、前記指示された発音に用いる前記波形データが前記選択された発音制御手段に対応付けられた前記第１の記憶手段の前記記憶領域に記憶されておらず、前記選択された発音制御手段以外の他の前記発音制御手段に対応付けられた前記記憶領域に記憶されている場合には、前記他の発音制御手段に対応付けられた前記記憶領域に記憶されている前記波形データを、前記選択された発音制御手段に対応付けられた前記記憶領域にコピー転送して、前記コピー転送された波形データを前記選択された発音制御手段により読み出して発音させることを特徴とする請求項６に記載の楽音生成装置。
【請求項９】
前記制御手段は、前記発音が指示された波形データを、前記第２の記憶手段から前記第１の記憶手段に転送する際に、前記第１の記憶手段の前記複数の記憶領域のうちの、いずれの前記発音制御手段からも記憶されている前記波形データを使用されていない前記記憶領域、又は、前記波形データを使用している前記発音制御手段の数が少ない前記記憶領域を選択して、前記転送される波形データを記憶させることを特徴とする請求項６に記載の楽音生成装置。
【請求項１０】
前記第１の記憶手段は、前記発音を伴う演奏の開始に先立って、所定の条件を満たす前記波形データを固定的に記憶しておく第１の記憶領域と、前記演奏中に指定されて、前記第２の記憶手段から転送された前記波形データを可変的に記憶しておく第２の記憶領域と、を有することを特徴とする請求項１乃至９のいずれかに記載の楽音生成装置。
【請求項１１】
前記第１の記憶手段は、第１の読み出し速度を有するとともに、第１の記憶容量を有する記憶装置であり、
前記第２の記憶手段は、前記第１の読み出し速度よりも遅い第２の読み出し速度を有するとともに、前記第１の記憶容量よりも大きい第２の記憶容量を有する記憶装置であることを特徴とする請求項１乃至１０のいずれかに記載の楽音生成装置。
【請求項１２】
波形データを読み込んで記憶する複数の記憶領域を有する第１の記憶手段と、前記第１の記憶手段の選択された記憶領域からそれぞれ波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、を備える楽音生成装置に適用される楽音生成方法であって、
前記発音が指示されたときに、前記発音制御手段の各々による前記記憶領域の各々からの前記波形データの読み込み状況に基づいて、前記指示された発音に用いる前記発音制御手段と前記記憶領域との組合せを決定する、
ことを特徴とする楽音生成方法。
【請求項１３】
コンピュータを、請求項１乃至１１のいずれかに記載の楽音生成装置として機能させるための、あるいは、コンピュータに、請求項１２に記載の楽音生成方法を実行させるための楽音生成プログラム。
【請求項１４】
前記請求項１乃至１２のいずれかに記載の楽音生成装置と、
前記発音を伴う演奏により前記波形データを指定するための入力手段と、
前記発音された楽音を出力するための出力手段と、
を備えることを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器に関する。
【背景技術】
【０００２】
近年の電子楽器やパーソナルコンピュータにおいては、管楽器や弦楽器等の原音の特徴により近い楽音を再現するために、多種多様な音源データ（波形データ）を利用した楽音生成方法が採用されている。例えば、電子楽器やパーソナルコンピュータ上で稼働するソフトウェア音源において、より多数の、より長時間の波形データを利用できるようにするために、使用しない波形データはフラッシュメモリやハードディスク等の、アクセス速度が遅く記憶容量が大きい（低速大容量の）記憶装置に保存しておき、使用する波形データのみを音源装置が直接アクセスできるアクセス速度が速く記憶容量が小さい（高速低容量の）記憶装置に転送し、演奏に応じて波形データを読み出して発音させるというシステムを採用するものがある。
【０００３】
ここで、一般に高速低容量の記憶装置は製品価格が高価であり、低速大容量の記憶装置は安価であるため、高速低容量の記憶装置の記憶容量以上のデータサイズを有する波形データを低速大容量の記憶装置に保持しておき、必要な場合にのみ高速低容量の記憶装置に移動して発音に使用することにより、良好な波形データの読み出し動作と、製品コストの抑制との両方を実現することができる。例えば特許文献１等には、このようなシステムを採用して、読み出した波形データを合成することにより所望の音色の楽音を発音させることができる音源装置について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−７２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような方式のシステムにおいては、低速大容量の記憶装置から高速低容量の記憶装置への波形データの移動に時間がかかるという問題を有している。特に、近年の楽音生成方法においては演奏した鍵域や強さに応じて音色を切り替える手法を採用しているため、よりデータサイズの大きな波形データを必要とする音色や、複数の波形データの組み合わせによって構成される音色の場合には、波形データの読み込みにさらに時間を要していた。このとき、波形データを読み込むまでは、その波形データに基づく楽音を発音させることができないため、演奏に支障を来す場合があった。
【０００６】
そこで、本発明は、上述したような課題に鑑みて、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、良好な演奏を実現することができる楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る楽音生成装置は、
波形データを読み込んで記憶する複数の記憶領域を有する第１の記憶手段と、
前記第１の記憶手段の選択された記憶領域からそれぞれ波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、
前記発音が指示されたときに、前記発音制御手段の各々による前記記憶領域の各々からの前記波形データの読み込み状況に基づいて、前記指示された発音に用いる前記発音制御手段と前記記憶領域との組合せを決定する制御手段と、
を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、良好な演奏を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る楽音生成装置を適用した電子楽器の一実施形態を示す外観図である。
【図２】本実施形態に係る電子鍵盤楽器のハードウェアの構成例を示すブロック図である。
【図３】本実施形態に適用される音源ＬＳＩの内部構造の例を示すブロック図である。
【図４】本実施形態に適用される波形データの管理手法を説明する図である。
【図５】本実施形態に適用されるＲＡＭ及び大容量フラッシュメモリ上の情報とその転送処理の概要を説明する図である。
【図６】本実施形態に適用されるＲＡＭのスタティック波形領域及びダイナミック波形領域を説明する図である。
【図７】本実施形態に係る電子鍵盤楽器の制御方法のメインルーチンを示すフローチャートである。
【図８】本実施形態に係る電子鍵盤楽器の制御方法に適用される初期化処理を示すフローチャートである。
【図９】本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用されるスタティック波形領域読み出し処理を示すフローチャートである。
【図１０】本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用される波形読み出し装置バッファ初期化処理を示すフローチャートである。
【図１１】本実施形態に係る電子鍵盤楽器の制御方法のスイッチ処理に適用される音色選択処理を示すフローチャートである。
【図１２】本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用される押鍵処理及び離鍵処理を示すフローチャートである。
【図１３】本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用されるノートオン処理及びノートオフ処理を示すフローチャートである。
【図１４】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形情報取得処理を示すフローチャートである。
【図１５】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の波形読み出し開始処理を示すフローチャートである。
【図１６】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用されるスタティック波形の読み出し開始処理を示すフローチャートである。
【図１７】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の割り当て処理を示すフローチャートである。
【図１８】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理（その１）を示すフローチャートである。
【図１９】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理（その２）を示すフローチャートである。
【図２０】本実施形態に係る電子鍵盤楽器の制御方法に適用される音源定期処理を示すフローチャートである。
【図２１】本実施形態に係る電子鍵盤楽器の制御方法の音源定期処理に適用される波形読み出し装置の波形読み出し停止処理を示すフローチャートである。
【図２２】本実施形態に係る電子鍵盤楽器の制御方法の変形例に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明に係る楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器を実施するための形態について、図面を参照しながら詳しく説明する。
【００１１】
＜電子楽器＞
図１は、本発明に係る楽音生成装置を適用した電子楽器の一実施形態を示す外観図である。ここでは、本発明に係る電子楽器の一実施形態として、波形読み出し方式の電子鍵盤楽器を示して説明する。
【００１２】
本実施形態に係る電子鍵盤楽器１００は、例えば図１に示すように、楽器本体の一面側に、演奏操作子としての複数の鍵からなる鍵盤（入力手段）１０２と、波形選択操作子としての音色選択を行うための音色選択ボタン（入力手段）１０４、及び、音色以外の各種機能選択を行うための機能選択ボタン１０６からなるスイッチ・パネルと、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション（演奏効果）を付加するためのベンダ／モジュレーション・ホイール１０８と、音色やその他の各種設定情報を表示するＬＣＤ（Liquid Crystal Display：液晶ディスプレイ）１１０等の表示部と、を備えている。また、電子鍵盤楽器１００は、図示を省略したが、演奏により生成された楽音を出力するスピーカ（出力手段）を、例えば楽器本体の裏面部、側面部、又は背面部等に備えている。
【００１３】
このような電子鍵盤楽器１００において、音色選択ボタン１０４は、例えば図１に示すように、ピアノ（図中「Piano」）、エレクトリックピアノ（図中「E.Piano」）、オルガン（図中「Organ」）、ギター（図中「Guitar」）、サクソフォン（図中「Saxophone」）、ストリング（図中「Strings」）、シンセ（図中「Synth1」、「Synth2」）、ドラム（図中「Drums1」、「Drums2」）等の各種の音色のカテゴリを選択するための波形選択操作子としてのボタンである。ここで、図１においては１６種類の音色のカテゴリを示した。電子鍵盤楽器１００の演奏者（ユーザ）は、任意の音色選択ボタン１０４を押下することにより、上記の１６種類の音色の中から任意の音色のカテゴリを選択して演奏することができる。
【００１４】
図２は、本実施形態に係る電子鍵盤楽器のハードウェアの構成例を示すブロック図である。図３は、本実施形態に適用される音源ＬＳＩの内部構造の例を示すブロック図である。
【００１５】
電子鍵盤楽器１００は、例えば図２に示すように、ＣＰＵ（中央演算処理装置）２０２と、音源ＬＳＩ（大規模集積回路）２０４と、ＤＭＡ（Direct Memory Access）コントローラ２１４と、Ｉ／Ｏ（入出力）コントローラ２１６とが、それぞれシステムバス２２６に直接接続された構成を備えている。また、電子鍵盤楽器１００は、アクセス速度が高速（第２の読み出し速度）で低容量（第２の記憶容量）のＲＡＭ（ランダムアクセスメモリ）２０８がメモリコントローラ２０６を介して、また、アクセス速度が低速（第１の読み出し速度）で大容量（第１の記憶容量）のフラッシュ（Ｆｌａｓｈ）メモリ２１２がフラッシュメモリコントローラ２１０を介して、それぞれシステムバス２２６に接続された構成を備えている。また、電子鍵盤楽器１００は、図１に示したＬＣＤ１１０がＬＣＤコントローラ２１８を介して、また、図１に示した鍵盤１０２と、音色選択ボタン１０４及び機能選択ボタン１０６からなるスイッチ・パネルとがキー・スキャナ２２０を介して、さらに、図１に示したベンダ／モジュレーション・ホイール１０８がＡ／Ｄコンバータ（アナログ・デジタル変換回路）２２２を介して、それぞれＩ／Ｏコントローラ２１６に接続され、これらの構成がＩ／Ｏコントローラ２１６を介してシステムバス２２６に接続された構成を備えている。また、システムバス２２６はバスコントローラ２２４に接続され、システムバス２２６を介して上記の各構成間で送受信される信号やデータがバスコントローラ２２４により制御される。また、音源ＬＳＩ２０４には、Ｄ／Ａコンバータ（デジタル・アナログ変換回路）２２８及びアンプ２３０が接続され、音源ＬＳＩ２０４から出力されるデジタル楽音波形データがＤ／Ａコンバータ２２８によりアナログ楽音波形信号に変換され、さらにアンプ２３０で増幅された後に、出力端子又は図示を省略したスピーカから出力される。ここで、少なくともＣＰＵ（制御手段）２０２、音源ＬＳＩ（発音手段）２０４、ＲＡＭ（第２の記憶手段）２０８、大容量のフラッシュメモリ（第１の記憶手段）２１２は、本発明に係る楽音生成装置を構成する。
【００１６】
このように、電子鍵盤楽器１００は、機器全体がバスコントローラ２２４によって制御されるシステムバス２２６を中心に構成されている。具体的には、バスコントローラ２２４はシステムバス２２６に接続された上記の各構成における信号やデータの送受信時の優先順位を制御する。例えば、電子鍵盤楽器１００において、ＲＡＭ２０８は、ＣＰＵ２０２と音源ＬＳＩ２０４によって共有された構成を有しているが、発音を行う音源ＬＳＩ２０４は、データの欠落が許されないため、バスコントローラ２２４により、音源ＬＳＩ２０４とＲＡＭ２０８との送受信時の優先度が最も高く設定されており、必要に応じてＣＰＵ２０２によるＲＡＭ２０８へのアクセスが制限される。
【００１７】
上記のような構成において、ＣＰＵ２０２は、機器全体の処理を行うメインプロセッサであって、ＲＡＭ２０８をワーク領域として使用しながら所定の制御プログラムを実行することにより、電子鍵盤楽器１００の制御動作を実行する。
【００１８】
ＲＡＭ２０８は、後述する大容量フラッシュメモリ２１２に比較して、一般にアクセス速度が高速で低容量、且つ、製品価格が高価なメモリデバイスであり、インターフェースであるメモリコントローラ２０６を介してシステムバス２２６に接続される。ＲＡＭ２０８は、大容量フラッシュメモリ２１２から転送された波形データや制御プログラム、各種の固定データ等を配置する。特に、ＲＡＭ２０８は、後述する音源ＬＳＩ２０４において実行される楽音の生成処理に使用される波形データを展開する音源メモリ（又は、波形メモリ）としての機能を有し、発音される楽音の波形データは必ず、ＲＡＭ２０８上に配置される。また、ＲＡＭ２０８は、ＣＰＵ２０２や音源ＬＳＩ２０４に内蔵されるＤＳＰ（デジタル信号処理回路）３０６のワーク領域としても使用される。
【００１９】
ここで、ＲＡＭ２０８の記憶容量は、大容量フラッシュメモリ２１２に比較して小さいため、ＲＡＭ２０８の記憶内容が逐次入れ替えられるが、所定の条件を満たす（後述するしきい値を超過するデータサイズを有する）波形データについては、演奏中に波形データの転送による変更がなされることのない状態でＲＡＭ２０８に固定的に記憶される。また、他の所定の条件を満たす（後述するしきい値以下のデータサイズを有し、既にＲＡＭ２０８に転送済みの）波形データについては、ＲＡＭ２０８内に保存されている波形データが流用される。このように、本実施形態は、ＲＡＭ２０８の記憶内容のうち、波形データの管理方法に特徴を有している。
【００２０】
大容量フラッシュメモリ２１２は、一般にＮＡＮＤ型等のアクセス速度が低速で大容量、且つ、製品価格が安価なメモリデバイスであり、インターフェースであるフラッシュメモリコントローラ２１０を介してシステムバス２２６に接続される。大容量フラッシュメモリ２１２は、音源ＬＳＩ２０４において実行される楽音の生成処理に使用される（又は、使用される可能性のある）全ての音色の波形データや、全ての音色のパラメータデータ、ＣＰＵ２０２や音源ＬＳＩ２０４のＤＳＰ３０６において実行される制御プログラムのプログラムデータ、音楽データや演奏者の設定データ等の各種の固定データを記憶している。ここで、大容量フラッシュメモリ２１２に記憶された全ての波形データは、圧縮されており、例えば１語長が８ビットに設定されている。大容量フラッシュメモリ２１２に記憶された波形データ等は、ＣＰＵ２０２がシーケンシャルに順次アクセスすることにより読み出されてＲＡＭ２０８に転送される。
【００２１】
なお、本実施形態においては、大容量で安価なメモリデバイスとして、ＮＡＮＤ型のフラッシュメモリ（実際には、フラッシュメモリを集積して構成されたＳＳＤ；Solid State Drive）を適用した構成を示したが、本発明はこれに限定されるものではない。例えば、大容量で安価なメモリデバイスとして、ハードディスク（ＨＤＤ）を適用するものであってもよい。ここで、フラッシュメモリやハードディスクは、電子鍵盤楽器１００に対して着脱可能（すなわち、差し替え可能）な構成を有しているものであってもよい。また、データの高速転送が可能である場合には、大容量で安価なメモリデバイスとして、特定のネットワーク上やインターネット上（すなわち、クラウド上）のハードディスクを適用するものであってもよい。
【００２２】
ＬＣＤコントローラ２１８は、ＬＣＤ１１０の表示状態を制御するＩＣ（集積回路）である。キー・スキャナ２２０は、鍵盤１０２や音色選択ボタン１０４及び機能選択ボタン１０６等のスイッチ・パネルの状態を走査して、ＣＰＵ２０２に通知するＩＣである。Ａ／Ｄコンバータ２２２は、ベンダ／モジュレーション・ホイール１０８の操作位置を検出するＩＣである。これらのＬＣＤコントローラ２１８やキー・スキャナ２２０、Ａ／Ｄコンバータ２２２は、インターフェースであるＩ／Ｏコントローラ２１６を介してシステムバス２２６との間でデータや信号の入出力を行う。
【００２３】
音源ＬＳＩ２０４は、後述する楽音生成処理を実行する専用のＩＣである。上記の大容量フラッシュメモリ２１２は、ＣＰＵ２０２からはランダムアクセスが不可能であり、音源ＬＳＩ２０４からもアクセスが不可能であるため、大容量フラッシュメモリ２１２に記憶されたデータ等は、ランダムアクセスが可能なＲＡＭ２０８に一旦転送される。音源ＬＳＩ２０４は、ＣＰＵ２０２からの命令に基づいて、ＲＡＭ２０８に転送された波形データについて、対象となる音色の記憶領域から、演奏で指示された鍵の音高に対応する速度で波形データを読み出し、その読み出した波形データに対して演奏で指示されたベロシティの振幅エンベロープを付加し、その結果として得られる波形データを出力楽音波形データとして出力する。
【００２４】
音源ＬＳＩ２０４は、例えば図３に示すように、２５６組の波形読み出し装置（発音手段）３０４を有する波形発生器３０２と、ＤＳＰ３０６と、ミキサ３０８と、バスインターフェース３１０と、を備え、波形発生器３０２、ＤＳＰ３０６及びミキサ３０８は、バスインターフェース３１０を介してシステムバス２２６に接続されて、ＲＡＭ２０８へのアクセスや、ＣＰＵ２０２との通信が行われる。波形発生器３０２の各波形読み出し装置３０４は、ＲＡＭ２０８から波形データを読み出して音色の波形を発生させる発振器（オシレータ）であり、ＤＳＰ３０６は、音声信号に音響効果をもたらす信号処理回路である。ミキサ３０８は、波形発生器３０２からの信号を混合したり、ＤＳＰ３０６との間で信号を送受信したりすることにより全体の音声信号の流れを制御して、外部に出力する。すなわち、ミキサ３０８は、演奏に応じて波形発生器３０２の各波形読み出し装置３０４によりＲＡＭ２０８から読み出された波形データに対して、ＤＳＰ３０６によりＣＰＵ２０２から供給される楽音パラメータに応じたエンベロープを付加して、出力楽音波形データとして出力する。ミキサ３０８の出力信号は、図２に示したように、Ｄ／Ａコンバータ２２８及びアンプ２３０を介して所定の信号レベルのアナログ信号として、図示を省略したスピーカやヘッドホン等に出力される。
【００２５】
（波形データの管理手法）
ここで、上述したＲＡＭ及び大容量フラッシュメモリに格納される波形データについて詳しく説明する。
【００２６】
図４は、本実施形態に適用される波形データの管理手法を説明する図である。図４（ａ）は、音色波形スプリットの説明図であり、図４（ｂ）は、音色波形ディレクトリの説明図である。
【００２７】
本実施形態においては、演奏者が電子鍵盤楽器１００に備えられた音色選択ボタン１０４を押下することにより、１６種類のうちの任意の音色が選択されて演奏が行われる。これにより、鍵域やベロシティによって音量や音高のみならず音色が変化するのを再現するために、大容量フラッシュメモリ２１２からＲＡＭ２０８に、音高又は音量ごとの音色の波形データが読み込まれる。ここで、各音色は、それぞれ１音色当たり例えば最大３２種類の波形から構成され、その波形データは大容量フラッシュメモリ２１２に記憶されている。一つの音色に対して、音高又は音量ごとに波形データを管理する手法としては、図４（ａ）に示すように、鍵盤１０２上で演奏者が演奏する鍵域（図中、横軸の「Key」）ごとにそれぞれ波形データを割り当て、また、同じ鍵域であっても押鍵時の速さ（演奏の強さ）を示すベロシティ（図中、縦軸の「Velocity」）ごとにそれぞれ波形データを割り当てる音色波形スプリット構造による管理手法が適用される。すなわち、音色波形スプリット構造を用いた波形データの管理手法においては、１音色の音域とベロシティ域を２次元的に分割し、それぞれのスプリット（分割）エリアに最大３２個の波形が割り当てられている。この管理手法によれば、押鍵時の速さ（ベロシティ）と鍵番号（鍵域）の２つのファクターから読み出すべき波形が１つだけ決定される。
【００２８】
そして、ＲＡＭ２０８や大容量フラッシュメモリ２１２に記憶される波形データは、テーブル形式を有する音色波形ディレクトリ情報に基づいて管理される。音色波形ディレクトリ情報は、大容量フラッシュメモリ２１２に記憶され、例えば電子鍵盤楽器１００の起動時に、ＣＰＵ２０２により大容量フラッシュメモリ２１２から読み出されてＲＡＭ２０８に転送される。或る音色の楽音を演奏する際には、ＣＰＵ２０２がＲＡＭ２０８からその音色に対応する音色波形ディレクトリ情報のデータを読み出して参照する。
【００２９】
ここで、音色波形ディレクトリ情報のテーブルには、例えば図４（ｂ）に示すように、１つの「音色番号」の音色に含まれる各波形データごとに、その波形データの「波形番号」と、その波形データが発音されるべき鍵域及びベロシティの範囲を示す「最小ベロシティ」、「最大ベロシティ」、「最低キー番号」及び「最高キー番号」と、ＲＡＭ２０８に転送された当該音色の記憶領域（波形領域）の先頭からのアドレスを示す「波形領域先頭からのアドレス」と、その波形データのデータサイズを示す「波形サイズ」との各項目値が登録されている。すなわち、音色波形ディレクトリ情報においては、各音色の各波形データについて、上記の音色波形スプリット構造においてどのような条件で分割されているかという鍵域及びベロシティ域情報と、実際に大容量フラッシュメモリ２１２の中でどのアドレスに配置されていて、波形サイズはどれだけかという情報とが、テーブル形式で規定されている。
【００３０】
（ＲＡＭ及び大容量フラッシュメモリ上の情報）
次に、本実施形態に係る電子鍵盤楽器に適用されるＲＡＭ及び大容量フラッシュメモリ上の情報とその転送処理について、図面を参照して説明する。
図５は、本実施形態に適用されるＲＡＭ及び大容量フラッシュメモリ上の情報とその転送処理の概要を説明する図である。図６は、本実施形態に適用されるＲＡＭのスタティック波形領域及びダイナミック波形領域を説明する図である。図６（ａ）は、スタティック波形領域（第１の記憶領域）のディレクトリの内容を示す図であり、図６（ｂ）は、ダイナミック波形領域である波形読み出し装置バッファ領域（第２の記憶領域）のディレクトリの内容を示す図である。
【００３１】
ＲＡＭ２０８上には、図５左方の「ＲＡＭ上の情報」に示すように、音色波形ディレクトリ、音色パラメータ、ＣＰＵプログラム、ＣＰＵデータ、ＣＰＵワーク、ＤＳＰプログラム、ＤＳＰデータ、ＤＳＰワークの各種データが展開される。また、大容量フラッシュメモリ２１２上には、図５右方の「大容量フラッシュメモリ上の情報」に示すように、音色波形ディレクトリ、音色パラメータ領域、ＣＰＵプログラム、ＣＰＵデータ、ＤＳＰプログラム、ＤＳＰデータの各種データが展開される。
【００３２】
ここで、電子鍵盤楽器１００の演奏に伴って、音源ＬＳＩ２０４が波形読み出し動作を実行する際には、読み出す波形データがＲＡＭ２０８上に配置されている必要があるため、例えば電子鍵盤楽器１００の起動時に、大容量フラッシュメモリ２１２からＲＡＭ２０８に、図４（ｂ）に示した音色波形ディレクトリ情報、音色パラメータ、ＣＰＵプログラム、ＣＰＵデータ、ＤＳＰプログラム、ＤＳＰデータが転送される。
【００３３】
また、電子鍵盤楽器１００の演奏時には、音源ＬＳＩ２０４による波形読み出し動作の対象となる波形データもＲＡＭ２０８に転送されている必要があるが、ＲＡＭ２０８は、大容量フラッシュメモリ２１２に比較して記憶容量が小さいため、大容量フラッシュメモリ２１２に記憶されている全ての音色の波形データをＲＡＭ２０８上に配置することができない。
【００３４】
本実施形態においては、基本的には演奏により発音する際に大容量フラッシュメモリ２１２から必要な波形データの読み出しを行い、ＲＡＭ２０８上の波形読み出し装置３０４ごとに割り当てられた波形バッファに転送して一時保存し、音源ＬＳＩ２０４により読み出し再生を行う。ここで、データサイズが大きい波形データの場合には、大容量フラッシュメモリ２１２からＲＡＭ２０８への転送に時間がかかって発音の反応が遅延してしまい、演奏に支障を来す場合がある。そこで、本実施形態においては、大容量フラッシュメモリ２１２に記憶されている波形データのうち、所定のしきい値を超過するデータサイズを有する波形データについては電子鍵盤楽器１００の演奏の開始に先立つ任意のタイミング、例えば起動時（電源投入時）に予め全てＲＡＭ２０８に転送しておく。本実施形態においては、波形データの転送処理の判断基準となるデータサイズを規定するしきい値として例えば６４Ｋバイトに設定する。このようなしきい値の設定によれば、例えばピアノやシンバル等の楽器の音色波形は、データサイズがしきい値よりも大きいため、起動時にＲＡＭ２０８に転送される。
【００３５】
一方、例えばギター等の楽器の音色波形のように、データサイズがしきい値（６４Ｋバイト）以下の低容量の波形データの場合には、演奏に伴う押鍵時にその都度大容量フラッシュメモリ２１２からＲＡＭ２０８に転送を行う。ここで、演奏時に大容量フラッシュメモリ２１２から転送される波形データは、複数の波形読み出し装置３０４に対応して設定されたＲＡＭ２０８上の複数の波形バッファのうち、いずれの波形読み出し装置３０４からも使用されていない波形バッファが選択されて上書き保存される。或いは、波形読み出し装置３０４により使用されている数や使用頻度が低い波形バッファから優先的に選択されて、転送される波形データが上書き保存される。このような大容量フラッシュメモリ２１２から波形バッファへの波形データの転送時の管理は、ＲＡＭ２０８の各波形バッファに保存されている波形データが、いずれの波形読み出し装置３０４による発音のために使用中であるか否かを、逐次更新しながら（リアルタイムに）管理する管理情報に基づいて実行される。
【００３６】
上記の波形データの転送処理に適用されるしきい値は、例えば演奏時のＣＰＵ２０２の処理負担や遅延時間等に基づいて設定される。具体的には、電子鍵盤楽器１００の演奏においては、一般に押鍵時から楽音の発音までの合計遅延時間が概ね１０ｍsecを超過すると、演奏者は押鍵に対する発音までの反応が遅いと認識する傾向が高いため、ＣＰＵ２０２の処理性能や周辺回路における信号遅延等を加味して、各音色波形データの転送処理に許容される遅延時間を算出する。そして、この一定の許容遅延時間内に転送処理が完了するとともに、ＲＡＭ２０８の記憶容量を極力小さくすることができる音色波形のデータサイズをしきい値として設定する。このような条件に基づいて、発明者らが算出したしきい値の一例が、６４Ｋバイトである。
【００３７】
なお、本実施形態においては、音色波形のデータサイズについて、しきい値を設定した場合について説明したが、本発明はこれに限定されるものではなく、例えば、音色波形を規定する音高やベロシティについて、上記と同様の概念に基づいて、しきい値を設定するものであってもよい。
【００３８】
また、本実施形態においては、演奏時のＣＰＵ２０２の処理負担を軽減し、処理時間を削減するために、上記のデータサイズがしきい値以下の波形データの転送処理に先立って、演奏で指示された楽音の波形データが予めＲＡＭ２０８上に転送されて存在しているか否かを調査（検索）する。該当する波形データが既にＲＡＭ２０８上に存在する場合には、ＣＰＵ２０２は大容量フラッシュメモリ２１２からの波形データの転送を行わず、ＲＡＭ２０８内で当該波形データを流用する。この波形データの流用方法については、詳しく後述する。
【００３９】
本実施形態においては、これらの処理により、上記のしきい値を超過する全ての波形データを記憶できる容量に、しきい値以下の波形データを一時保存する波形バッファの記憶容量を加算した程度の記憶容量を有するＲＡＭ２０８を適用すればよいことになる。なお、本願発明者らの検証によれば、本実施形態を適用することにより、ＲＡＭに使用される記憶容量を、従前の１／４〜１／５程度に圧縮することができる可能性があることを確認した。
【００４０】
図６（ａ）に示す「スタティック波形ディレクトリ」は、図５に示した「ＲＡＭ上の情報」において、上記の波形データの転送処理に適用されるしきい値（６４Ｋバイト）を超過する波形データが格納されるＲＡＭ２０８のスタティック波形領域のディレクトリの内容を示すものである。このスタティック波形ディレクトリは、図５に示すように、電子鍵盤楽器１００の起動時に大容量フラッシュメモリ２１２の音色波形ディレクトリからしきい値（６４Ｋバイト）を超過する全ての波形データがスタティック波形領域の各領域（記憶領域）に転送され、その際にＣＰＵ２０２のワーク領域（ＣＰＵワーク）内に作成される。スタティック波形ディレクトリの内容は、電子鍵盤楽器１００の起動後、固定的に記憶されて変更されることはない。
【００４１】
スタティック波形ディレクトリの内容は、図６（ａ）に示すように、大容量フラッシュメモリ２１２から転送された波形データ（スタティック波形１、２、・・・Ｎ）ごとに、当該波形の属する音色番号、音色内波形番号、当該波形が配置されたスタティック波形領域からの先頭アドレス、波形サイズが格納されている。ここで、大容量フラッシュメモリ２１２から転送されるスタティック波形の数や、波形データ全体の容量は、上記のしきい値に基づいて予め決定されているので、それに対応させてＲＡＭ２０８上のスタティック波形領域と、スタティック波形ディレクトリの各領域が固定的に割り当てられている。
【００４２】
図６（ｂ）に示す「波形読み出し装置バッファディレクトリ」は、図５に示した「ＲＡＭ上の情報」において、上記の波形データの転送処理に適用されるしきい値（６４Ｋバイト）以下の波形データが格納されるＲＡＭ２０８のダイナミック波形領域のディレクトリの内容を示すものである。この波形読み出し装置バッファディレクトリは、図５に示すように、電子鍵盤楽器１００の演奏時に大容量フラッシュメモリ２１２の音色波形ディレクトリからしきい値（６４Ｋバイト）以下の波形データが波形読み出し装置バッファ領域の各領域（記憶領域）に転送され、ＣＰＵ２０２のワーク領域（ＣＰＵワーク）内に確保される。波形読み出し装置バッファディレクトリの内容は、演奏に伴って可変的に記憶され、楽音の発音時や消音時に更新される。
【００４３】
波形読み出し装置バッファディレクトリは、波形読み出し装置３０４ごとに固定長６４Ｋバイトの容量が割り当てられ、２５６組の波形読み出し装置３０４に１対１の関係で対応するように波形バッファ１〜２５６が設定されている。これにより、本実施形態の電子鍵盤楽器１００においては、２５６の同時発音が可能な構成を有している。
【００４４】
波形読み出し装置バッファディレクトリには、図６（ｂ）に示すように、各波形読み出し装置３０４に対応する波形バッファごとに、当該バッファ番号、リンクフラグ、リンクバッファ番号、転送済みフラグ、アクセス中カウント、音色番号、音色内波形番号、波形サイズが格納されている。リンクフラグは、後述する波形データの流用処理において、自身の波形読み出し装置３０４に対応する波形バッファが、他の波形読み出し装置３０４に対応する波形バッファに保存されている波形データを流用しているか否かを示すフラグであり、流用している場合には「１」が設定され、流用していない場合には「０」が設定される。リンクバッファ番号は、自身の波形バッファに流用されている波形データが存在する波形バッファの番号を格納する。ここで、自身の波形バッファを対象にして、波形データを流用するリンクを設定することはできないので、当該波形データが割り当てられた（自身の）波形読み出し装置３０４に対応する波形バッファに残っている場合にはリンクを設定せずに、当該波形バッファを波形データの読み出し動作にそのまま使用する。
【００４５】
また、転送済みフラグは、流用される波形バッファから実際に波形データの転送が完了しているか否かを示すフラグであり、転送済みであれば「１」が設定される。アクセス中カウントは、波形データが流用される波形バッファにおいて、どれだけの数の波形読み出し装置３０４からアクセスされているかを示すものであり、発音時にはこのカウントをインクリメントし、読み出しの完了時にデクリメントすることにより、「０」の時に当該波形バッファが未使用であることを示す。音色番号、音色内波形番号、波形サイズは、波形バッファに読み込まれている波形データに固有の情報である。具体的には、例えば図６（ｂ）に示すバッファ番号「２」の波形バッファにおいては、リンクフラグが「１」であり、リンクバッファ番号が「４」であることから、バッファ番号が「４」の波形バッファに保存されている波形データを流用しており、また、転送済みフラグが「１」、アクセス中カウントが「２」であることから、波形バッファ「４」の波形データが実際に読み込まれている状態にあり、当該波形バッファ「４」に対して２個の波形読み出し装置３０４に対応する波形バッファが現在アクセス中で読み出しを行っている状態であることが示されている。
【００４６】
波形読み出し装置バッファディレクトリに格納されるこれらの情報は、ＲＡＭ２０８内の各波形バッファにおける波形データの保存状態や、その波形データの流用状態（すなわち、波形バッファのリンク先設定や使用状態等）を示す情報であって、上述した管理情報に含まれ、逐次更新しながら（リアルタイムに）管理される。
【００４７】
＜電子楽器の制御方法＞
次に、本実施形態に係る電子鍵盤楽器の制御方法（楽音生成方法）について、図面を参照して詳しく説明する。ここでは、本発明の特徴である楽音生成方法を含む、電子鍵盤楽器の制御方法全体について説明する。また、以下に示す一連の制御処理は、ＣＰＵ２０２及び音源ＬＳＩ２０４において、ＲＡＭ２０８に記憶された所定の制御プログラムを実行することにより実現されるものである。
【００４８】
（ＲＡＭ上の波形データの流用方法）
まず最初に、本実施形態に係る電子鍵盤楽器１００に適用されるＲＡＭ２０８上の波形データの流用方法について説明する。  本実施形態に係る電子鍵盤楽器１００において、演奏者による押鍵時には、ＣＰＵ２０２は、同時発音数が多い（すなわち、発音チャンネルが多数ある）ため、まず、キーアサイナによって押鍵を割り当てる音源ＬＳＩ２０４の波形読み出し装置３０４を決定する。ここで、キーアサインは発音が停止している波形読み出し装置３０４から優先的に割り当てられるが、その波形読み出し装置３０４自体が読み出しを停止している場合であっても、波形読み出し装置３０４の波形バッファが他の波形読み出し装置３０４により使用されているような場合には、当該波形読み出し装置３０４に割り当てを行わず、極力現在の状態を維持する判断を行う。
【００４９】
より具体的には、ＣＰＵ２０２は、例えば各波形読み出し装置３０４をどのような順序で、どのような波形データの読み出しに使用したかを示す履歴情報を逐次更新しながら（リアルタイムに）管理して、当該履歴情報に基づいて、どの波形読み出し装置３０４からも波形データの読み出し動作に使用されていない波形バッファに対応付けられた波形読み出し装置３０４や、使用頻度が低い波形読み出し装置３０４、時間的に古い波形読み出し装置３０４、或いは、読み出した波形データのデータサイズが小さい波形読み出し装置３０４から、優先的に割り当てて波形読み出し動作を実行させる。
【００５０】
次いで、ＣＰＵ２０２は、押鍵時のベロシティと鍵域に基づいて、図４（ａ）に示した音色波形のスプリット情報から演奏で指示された楽音の波形番号を特定し、該当する波形データが図５に示したＲＡＭ２０８上の音色波形ディレクトリに存在しているか否かを調査する。ここで、ＣＰＵ２０２は、まず、ＲＡＭ２０８上の音色波形ディレクトリのスタティック波形領域に、該当する波形データが存在しているか否かを調査し、スタティック波形領域に存在しない場合には、ダイナミック波形領域である波形読み出し装置バッファ領域に存在しているか否かをさらに調査する。
【００５１】
該当する波形データがＲＡＭ２０８上のスタティック波形領域に存在している場合には、ＣＰＵ２０２は、当該波形データを後述する発音のための読み出し動作の対象とする。また、該当する波形データがスタティック波形領域に存在せず、波形読み出し装置バッファ領域に存在している場合には、ＣＰＵ２０２は、当該波形データを大容量フラッシュメモリ２１２から読み込まずに、同一のＲＡＭ２０８内で当該バッファ領域をリンク先に設定することにより当該波形データを流用する。
【００５２】
これにより、大容量フラッシュメモリ２１２からＲＡＭ２０８への転送処理に比較して非常に短い時間で波形データをＲＡＭ２０８上に配置することができる。なお、割り当てられた波形読み出し装置３０４に対応する波形バッファに既に当該波形データが存在している場合には、波形データを転送する必要はなく、当該波形データが発音のための読み出し動作に使用される。一方、該当する波形データがスタティック波形領域、及び、波形読み出し装置バッファ領域のいずれにも存在していない場合には、ＣＰＵ２０２は、大容量フラッシュメモリ２１２に記憶された該当する波形データをＲＡＭ２０８へ転送する。
【００５３】
そして、指示された楽音の波形データがＲＡＭ２０８上に存在し、割り当てられた波形読み出し装置３０４に対応する波形バッファの位置が確定した時点で、ＣＰＵ２０２は、音源ＬＳＩ２０４において発音のための読み出し動作を開始する。
【００５４】
以下、上記の波形データの流用方法を適用した電子鍵盤楽器の制御方法について詳しく説明する。
（メインルーチン）
図７は、本実施形態に係る電子鍵盤楽器の制御方法のメインルーチンを示すフローチャートである。
【００５５】
本実施形態に係る電子鍵盤楽器の制御方法においては、概略、以下のような処理動作が実行される。まず、演奏者により電子鍵盤楽器１００の装置電源がパワーオンされると、ＣＰＵ２０２は図７に示すメインルーチンを起動し、装置各部を初期化する初期化処理を実行する（ステップＳ７０２）。
【００５６】
次いで、初期化処理が完了すると、ＣＰＵ２０２は演奏者が音色選択ボタン１０４等を操作した際のスイッチ処理（ステップＳ７０４〜Ｓ７０８）、鍵盤１０２を弾いた際の押鍵イベントや離鍵イベントを処理する鍵盤処理（ステップＳ７１０〜Ｓ７１８）、電子鍵盤楽器１００の外部から受信したＭＩＤＩ（Musical Instrument Digital Interface）メッセージのノートオンイベントやノートオフイベントを処理するＭＩＤＩ受信処理（ステップＳ７２０〜Ｓ７２８）、音源における一定時間ごとの処理を行う音源定期処理（ステップＳ７３０）の一連の処理動作を繰り返し実行する。
【００５７】
なお、図７に示したフローチャートにおいては図示を省略したが、ＣＰＵ２０２は上述した各処理動作（ステップＳ７０２〜Ｓ７３０）の実行中に、演奏モードが終了や中断したり装置電源をパワーオフしたりする状態の変化を検出した場合には、メインルーチンを強制的に終了する。
【００５８】
以下、上述した各処理動作について、具体的に説明する。
（初期化処理）
図８は、本実施形態に係る電子鍵盤楽器の制御方法に適用される初期化処理を示すフローチャートである。
【００５９】
本実施形態に係る電子鍵盤楽器の制御方法に適用される初期化処理においては、図８に示すフローチャートのように、まず、ＣＰＵ２０２は、大容量フラッシュメモリ２１２からＣＰＵプログラム、ＣＰＵデータ、ＤＳＰプログラム、ＤＳＰデータをＲＡＭ２０８に転送した後（ステップＳ８０２、Ｓ８０４）、引き続き、大容量フラッシュメモリ２１２から音色波形ディレクトリ部分をＲＡＭ２０８上の指定したアドレスに転送する（ステップＳ８０６）。ここで、音色波形ディレクトリ部分は、図４（ｂ）に示したように、各音色の各波形について、分割条件となる鍵域及びベロシティ域情報と、大容量フラッシュメモリ２１２内での配置アドレス、波長サイズに関する情報がまとめられたテーブル形式を有している。
【００６０】
次いで、ＣＰＵ２０２は、この音色波形ディレクトリから電子鍵盤楽器１００の起動時にＲＡＭ２０８に転送すべき、スタティック波形領域部分と図６（ａ）に示したスタティック波形ディレクトリをＲＡＭ２０８上に構築するスタティック波形領域読み出し処理を実行する（ステップＳ８０８）。
【００６１】
次いで、ＣＰＵ２０２は、音源ＬＳＩ２０４の波形読み出し装置３０４が波形データの読み出し動作に使用する、図６（ｂ）に示した波形読み出し装置バッファディレクトリ部分をＲＡＭ２０８上に構築するために、各波形読み出し装置３０４に対応する波形バッファを初期化する波形読み出し装置バッファ初期化処理を実行する（ステップＳ８１０）。
【００６２】
次いで、ＣＰＵ２０２は、大容量フラッシュメモリ２１２からピッチやフィルター、音量の設定など発音に必要な音色パラメータをＲＡＭ２０８上に転送する（ステップＳ８１２）。
【００６３】
（スタティック波形領域読み出し処理）
図９は、本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用されるスタティック波形領域読み出し処理を示すフローチャートである。
【００６４】
上述した初期化処理に適用されるスタティック波形領域読み出し処理においては、図９に示すフローチャートのように、まず、ＣＰＵ２０２は、スタティック波形の数を管理するためのカウンタ（Ｂ）を「０」に初期化する（ステップＳ９０２）。次いで、ＣＰＵ２０２は、スタティック波形をＲＡＭ２０８上に転送する際のアドレス情報として、スタティック波形を配置すべき先頭アドレスを設定して初期化する（ステップＳ９０４）。
【００６５】
次いで、ＣＰＵ２０２は、音色波形ディレクトリテーブルの先頭から順に、波形サイズを確認し、予め設定されたしきい値（６４Ｋバイト）を超過する波形サイズを有するスタティック波形か否かの判断を行う（ステップＳ９０８）。波形サイズがしきい値（６４Ｋバイト）を超過する場合には、ＣＰＵ２０２は、当該波形をスタティック波形であると判断し、大容量フラッシュメモリ２１２から先のアドレス情報のＲＡＭ２０８上のアドレスに対して、当該波形データを上記サイズ分転送する（ステップＳ９１０）。このとき、ＣＰＵ２０２は、スタティック波形ディレクトリ情報として、転送した波形の音色番号、音色内波形番号、配置先頭アドレス、波形サイズをＣＰＵワークに設定する（ステップＳ９１２）。
【００６６】
次いで、ＣＰＵ２０２は、アドレス情報のアドレスに対して、転送した波形の波形サイズを加算し、ＲＡＭ２０８上に配置される波形のアドレス情報を更新するとともに（ステップＳ９１４）、スタティック波形の数を管理するカウンタ（Ｂ）をインクリメントする（ステップＳ９１６）。一方、波形サイズがしきい値（６４Ｋバイト）以下である場合には、ＣＰＵ２０２は、スタティック波形の転送を行わず、現在の設定を維持する。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ９０８〜Ｓ９１６）を音色波形ディレクトリテーブルの要素数分（すなわち、テーブル情報の最後の要素まで）繰り返すループ処理（ステップＳ９０６、Ｓ９１８）を実行する。当該ループ処理が終了した後、ＣＰＵ２０２は、スタティック波形の数をＣＰＵワークに保存する（ステップＳ９２０）。
【００６７】
（波形読み出し装置バッファ初期化処理）
図１０は、本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用される波形読み出し装置バッファ初期化処理を示すフローチャートである。
【００６８】
上述した初期化処理に適用される波形読み出し装置バッファ初期化処理においては、図１０に示すフローチャートのように、まず、ＣＰＵ２０２は、ＲＡＭ２０８上に配置される波形バッファの番号を管理するカウンタ（Ｃ）を「１」に設定して初期化する（ステップＳ１００２）。次いで、ＣＰＵ２０２は、バッファ番号の「１」の波形バッファから順に、波形読み出し装置バッファディレクトリに格納されているリンクフラグ、転送済みフラグ、アクセス中カウント、音色番号、音色内波形番号、波形サイズを「０」に設定し（ステップＳ１００６）、リンクバッファ番号を自身の波形バッファ番号（＝カウンタ値）に設定する（ステップＳ１００８）。これにより、波形バッファ番号とリンクバッファ番号が同じ場合には、他の波形バッファに対して読み出し動作を行っておらず、自身の波形バッファに対して読み出し動作を行っている状態に設定される。
【００６９】
次いで、ＣＰＵ２０２は、ＲＡＭ２０８上に配置される波形バッファ番号を管理するカウンタ（Ｃ）をインクリメントする（ステップＳ１０１０）。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ１００６〜Ｓ１０１０）を、２５６組の波形読み出し装置に１対１の関係で対応する２５６個の各波形バッファに対して繰り返すループ処理（ステップＳ１００４、Ｓ１０１２）を実行して、各波形バッファを初期化する。
【００７０】
（スイッチ処理）
図１１は、本実施形態に係る電子鍵盤楽器の制御方法のスイッチ処理に適用される音色選択処理を示すフローチャートである。
【００７１】
演奏者が電子鍵盤楽器１００に備えられたボタンやスイッチ類を操作した際に実行されるスイッチ処理（ステップＳ７０４）においては、ＣＰＵ２０２は、当該スイッチ操作により音色選択イベントが発生したか否かを判断し（ステップＳ７０６）、音色選択イベントが発生したと判断した場合には、音色選択処理を実行する（ステップＳ７０８）。
【００７２】
音色選択処理においては、図１１に示すフローチャートのように、ＣＰＵ２０２は、演奏者が音色選択ボタン１０４を操作することにより指定された音色番号を、後述する押鍵処理などで使用するために、ＲＡＭ２０８上のＣＰＵワークに保存する（ステップＳ１１０２）。一方、音色選択イベントが発生していないと判断した場合、或いは、上記の音色選択処理が終了した場合には、ＣＰＵ２０２は、後述する鍵盤処理を実行する（ステップＳ７１０）。
【００７３】
（鍵盤処理）
図１２は、本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用される押鍵処理及び離鍵処理を示すフローチャートである。図１３は、本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用されるノートオン処理及びノートオフ処理を示すフローチャートである。
【００７４】
上記のスイッチ処理（ステップＳ７０４）の後に実行される鍵盤処理（ステップＳ７１０）においては、ＣＰＵ２０２は、演奏者が電子鍵盤楽器１００に備えられた鍵盤１０２を操作することにより押鍵イベントや離鍵イベントが発生したか否かをそれぞれ判断する（ステップＳ７１２、Ｓ７１６）。ＣＰＵ２０２は、押鍵イベントが発生したと判断した場合には、後述する押鍵処理を実行し（ステップＳ７１４）、離鍵イベントが発生したと判断した場合には、後述する離鍵処理を実行する（ステップＳ７１８）。
【００７５】
押鍵処理においては、図１２（ａ）に示すフローチャートのように、ＣＰＵ２０２は、演奏者が鍵盤１０２を弾いた際の押鍵操作による演奏情報に含まれる鍵盤位置及び押された強さを、それぞれキー番号（ノートナンバー）及びベロシティに変換してノートオン情報として保持し（ステップＳ１２０２）、ノートオンイベントとして処理を実行する（ステップＳ１２０４）。
【００７６】
ノートオン処理においては、図１３（ａ）に示すフローチャートのように、ＣＰＵ２０２は、まず、押鍵処理において演奏情報から変換されたノートオン情報から波形情報を取得する処理を実行し（ステップＳ１３０２）、次いで、音源ＬＳＩ２０４の波形読み出し装置３０４における読み出し開始処理を実行する（ステップＳ１３０４）。
【００７７】
また、離鍵処理においては、図１２（ｂ）に示すフローチャートのように、ＣＰＵ２０２は、演奏者が鍵盤１０２を弾いた際の離鍵による演奏情報に含まれる鍵盤位置を、キー番号（ノートナンバー）に変換してノートオフ情報として保持し（ステップＳ１２２２）、ノートオフイベントとして処理を実行する（ステップＳ１２２４）。
【００７８】
ノートオフ処理においては、図１３（ｂ）に示すフローチャートのように、ＣＰＵ２０２は、まず、押鍵処理において演奏情報から変換されたノートオフ情報からキー番号（ノートナンバー）を取得する（ステップＳ１３２２）。次いで、ＣＰＵ２０２は、波形読み出し装置３０４の番号「１」から順に、波形読み出し装置３０４の状態を確認し、波形を読み出し中の各波形読み出し装置３０４に対して、ＲＡＭ２０８上のＣＰＵワークから波形読み出し装置３０４に対応するキー番号を取得して、ノートオフ情報から取得したキー番号と一致するか否かの比較を行う（ステップＳ１３２６）。キー番号が一致した場合には、ＣＰＵ２０２は、波形読み出し装置３０４に接続されている音量制御（アンプエンベロープ）に対して、リリースレベルを「０」に設定して、ＲＡＭ２０８上の音色パラメータから得られるリリースレイトを設定する（ステップＳ１３２８）。一方、キー番号が一致しない場合には、ＣＰＵ２０２は、現在のアンプエンベロープの設定を維持する。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ１３２６〜Ｓ１３２８）を、波形を読み出し中の波形読み出し装置３０４の数分繰り返すループ処理（ステップＳ１３２４、Ｓ１３３０）を実行する。
【００７９】
ここで、上記の押鍵処理において実行されるノートオン処理に適用される各処理動作について詳しく説明する。
（波形情報取得処理）
図１４は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形情報取得処理を示すフローチャートである。
【００８０】
ノートオン処理において実行される波形情報取得処理においては、図１４に示すフローチャートのように、ＣＰＵ２０２は、まず、押鍵処理において取得したノートオン情報からキー番号（ノートナンバー）及びベロシティを取得するとともに（ステップＳ１４０２）、ＲＡＭ２０８上のＣＰＵワークから音色選択処理において保存された音色番号を取得する（ステップＳ１４０４）。
【００８１】
次いで、ＣＰＵ２０２は、音色波形ディレクトリテーブルの先頭から順に、取得したキー番号、ベロシティ及び音色番号について、テーブル情報と一致するか否かの比較を行う（ステップＳ１４０６）。ＣＰＵ２０２は、この比較処理において、音色番号が一致し、キー番号が最高キー番号以下且つ最低キー番号以上であり、さらにベロシティが最大ベロシティ以下且つ最小ベロシティ以上に該当するテーブル情報を抽出して（ステップＳ１４１０〜Ｓ１４１８）、当該テーブルの波形番号と波形サイズ、波形領域先頭からのアドレスを取得する（ステップＳ１４２０〜Ｓ１４２４）。一方、上記の比較処理において、音色番号が一致しない、又は、キー番号が最高キー番号より大きい、又は、最低キー番号より小さい、又は、ベロシティが最大ベロシティより大きい、又は、最小ベロシティより小さい、のうちのいずれかの条件に該当する場合には、ＣＰＵ２０２は、波形番号等の波形情報の取得を行わない。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ１４１０〜Ｓ１４１８）を音色波形ディレクトリテーブルの要素数分（すなわち、テーブル情報の最後の要素まで）繰り返すループ処理（ステップＳ１４０８、Ｓ１４２６）を実行する。
【００８２】
（波形読み出し開始処理）
図１５は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の波形読み出し開始処理を示すフローチャートである。
【００８３】
ノートオン処理において実行される波形読み出し装置の波形読み出し開始処理においては、図１５に示すフローチャートのように、ＣＰＵ２０２は、まず、波形情報取得処理において取得した波形サイズが、予め設定されたしきい値（６４Ｋバイト）を超過するか否かの判断を行う（ステップＳ１５０２）。波形サイズがしきい値（６４Ｋバイト）を超過する場合には、後述するスタティック波形の読み出し開始処理を実行し（ステップＳ１５０４）、一方、波形サイズがしきい値（６４Ｋバイト）以下である場合には、後述する波形読み出し装置バッファの割り当て処理を実行する（ステップＳ１５０６）。
【００８４】
（スタティック波形の読み出し開始処理）
図１６は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用されるスタティック波形の読み出し開始処理を示すフローチャートである。
【００８５】
ノートオン処理において取得した波形サイズがしきい値（６４Ｋバイト）を超過する場合に実行されるスタティック波形の読み出し開始処理においては、図１６に示すフローチャートのように、ＣＰＵ２０２は、まず、音源ＬＳＩ２０４の波形発生器３０２において、どの波形読み出し装置３０４を使用するかを決定する割り当て処理を実行する（ステップＳ１６０２）。波形読み出し装置３０４の割り当て処理については後述する。次いで、ＣＰＵ２０２は、割り当てられた波形読み出し装置３０４の情報として、押鍵処理において取得したキー番号を離鍵処理（ノートオフ処理）などで使用するために、ＲＡＭ２０８上のＣＰＵワークに保存する（ステップＳ１６０４）。
【００８６】
次いで、ＣＰＵ２０２は、スタティック波形ディレクトリの先頭から順に、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、ディレクトリ情報と一致するか否かの比較を行う（ステップＳ１６０８、Ｓ１６１０）。音色番号及び波形番号が共に一致する場合には、ＣＰＵ２０２は、スタティック波形番号に基づいて当該波形がＲＡＭ２０８上に配置されている先頭アドレスを取得し（ステップＳ１６１２）、割り当てられた波形読み出し装置３０４により、取得した先頭アドレスから波形読み出し動作を開始する（ステップＳ１６１６）。一方、上記の比較処理において、音色番号又は波形番号のうちのいずれかが不一致の場合には、ＣＰＵ２０２は、先頭アドレスの取得を行わない。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ１６０８〜Ｓ１６１０）をＣＰＵワークに保存されているスタティック波形数分繰り返すループ処理（ステップＳ１６０６、Ｓ１６１４）を実行する。
【００８７】
（波形読み出し装置の割り当て処理）
図１７は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の割り当て処理を示すフローチャートである。
【００８８】
上記のスタティック波形の読み出し開始処理において実行される波形読み出し装置の割り当て処理においては、図１７に示すフローチャートのように、ＣＰＵ２０２は、まず、波形読み出し装置３０４を割り当てる候補の番号として「１」を仮設定して初期化する（ステップＳ１７０２）。
【００８９】
次いで、ＣＰＵ２０２は、波形読み出し装置３０４の番号「１」から順に、波形読み出し装置３０４の状態を確認し、波形データの読み出し中か否かの判断を行う（ステップＳ１７０６）。現在の波形読み出し装置３０４が波形データを読み出し中の場合には、ＣＰＵ２０２は、割り当て候補となる波形読み出し装置３０４の番号（候補番号）に基づいて、当該候補番号の波形読み出し装置３０４の状態を確認する（ステップＳ１７０８）。候補番号の波形読み出し装置３０４が波形データを読み出し中の場合には、ＣＰＵ２０２は、現在の波形読み出し装置３０４の番号のアクセス中カウントの値と、割り当てる波形読み出し装置の候補番号のアクセス中カウントの値との比較を行う（ステップＳ１７１０）。割り当てる波形読み出し装置３０４の候補番号のアクセス中カウントの値が大きい場合（すなわち、現在の波形読み出し装置３０４の番号のアクセス中カウントの値が割り当てる波形読み出し装置の候補番号のアクセス中カウントの値より小さい場合）には、ＣＰＵ２０２は、割り当てる波形読み出し装置３０４の候補番号を現在の波形読み出し装置３０４の番号に更新設定する（ステップＳ１７１８）。
【００９０】
一方、ステップＳ１７０８において、候補番号の波形読み出し装置３０４が波形データを読み出していない場合には、ＣＰＵ２０２は、当該波形読み出し装置３０４が停止しているものと判断して、波形読み出し装置３０４の番号の更新を行わず、現在の設定を維持する。また、ステップＳ１７１０において、割り当てる波形読み出し装置３０４の候補番号のアクセス中カウントの値が小さい場合（すなわち、現在の波形読み出し装置３０４の番号のアクセス中カウントの値が割り当てる波形読み出し装置の候補番号のアクセス中カウントの値以上の場合）には、ＣＰＵ２０２は、波形読み出し装置３０４の番号の更新を行わず、現在の設定を維持する。
【００９１】
一方、ステップＳ１７０６において、現在の波形読み出し装置３０４が波形データを読み出していない（停止）場合には、ＣＰＵ２０２は、現在の波形読み出し装置３０４の番号に対応する波形バッファのアクセス中カウントの値が「０」になっているか否かを判断する（ステップＳ１７１２）。アクセス中カウントの値が「０」の場合は、ＣＰＵ２０２は、他の波形読み出し装置３０４からの波形バッファへのアクセスがなく、且つ、波形読み出し動作も停止していると判断して、現在の波形読み出し装置３０４を割り当てる（ステップＳ１７２２）。
【００９２】
一方、ステップＳ１７１２において、アクセス中カウントの値が「０」以外の場合は、ＣＰＵ２０２は、他の波形読み出し装置３０４からの波形バッファへのアクセスがあると判断して、割り当て候補番号の波形読み出し装置３０４の状態を確認する（ステップＳ１７１４）。候補番号の波形読み出し装置３０４が波形データを読み出し中の場合には、ＣＰＵ２０２は、割り当てる波形読み出し装置３０４の候補番号を現在の波形読み出し装置３０４の番号に更新設定する（ステップＳ１７１８）。
【００９３】
一方、ステップＳ１７１４おいて、候補番号の波形読み出し装置３０４が波形データを読み出していない場合には、ＣＰＵ２０２は、当該波形読み出し装置３０４が停止しているものと判断して、現在の波形読み出し装置３０４の番号のアクセス中カウントの値と、割り当てる波形読み出し装置の候補番号のアクセス中カウントの値との比較を行う（ステップＳ１７１６）。割り当てる波形読み出し装置３０４の候補番号のアクセス中カウントの値が大きい場合（すなわち、現在の波形読み出し装置３０４の番号のアクセス中カウントの値が割り当てる波形読み出し装置の候補番号のアクセス中カウントの値より小さい場合）には、ＣＰＵ２０２は、割り当てる波形読み出し装置３０４の候補番号を現在の波形読み出し装置３０４の番号に更新設定する（ステップＳ１７１８）。
【００９４】
一方、ステップＳ１７１６において、割り当てる波形読み出し装置３０４の候補番号のアクセス中カウントの値が小さい場合（すなわち、現在の波形読み出し装置３０４の番号のアクセス中カウントの値が割り当てる波形読み出し装置の候補番号のアクセス中カウントの値以上の場合）は、波形読み出し装置３０４の番号の更新を行わず、現在の設定を維持する。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ１７０６〜Ｓ１７１８）を波形読み出し装置３０４の数分繰り返すループ処理（ステップＳ１７０４、Ｓ１７２０）を実行する。
【００９５】
当該ループ処理が終了した後、ＣＰＵ２０２は、波形読み出し装置の数分の状態の確認が終了した時点で、割り当てる波形読み出し装置３０４の番号が確定していない場合には、候補番号の波形読み出し装置をスタティック波形用に割り当てる（ステップＳ１７２４）。このとき、ＣＰＵ２０２は、割り当てられた波形読み出し装置３０４が波形データの読み出し中か否かの判断を行い（ステップＳ１７２６）、波形読み出し中の場合には、ハイリリース処理（波形読み出し装置３０４に接続されている音量制御において、音量レベルを急速に「０」にする処理）を実行した後（ステップＳ１７２８）、割り当てられた波形読み出し装置３０４の波形読み出し動作を停止する。一方、波形データを読み出していない場合には、ＣＰＵ２０２は、当該波形読み出し装置３０４が停止しているものと判断して、現在の設定を維持する。
【００９６】
（波形読み出し装置バッファの割り当て処理）
図１８、図１９は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。
【００９７】
ノートオン処理において取得した波形サイズがしきい値（６４Ｋバイト）以下である場合に実行される波形読み出し装置バッファの割り当て処理においては、図１８、図１９に示すフローチャートのように、ＣＰＵ２０２は、まず、音源ＬＳＩ２０４の波形発生器３０２において、どの波形読み出し装置３０４を使用するかを決定する割り当て処理を実行する（ステップＳ１８０２）。ここでは、図１６、図１７のフローチャートに示した、波形読み出し装置３０４の割り当て処理（ステップＳ１６０２）と同等の処理が適用される。
【００９８】
次いで、ＣＰＵ２０２は、割り当てられた波形読み出し装置３０４の情報として、このときのキー番号をＣＰＵワークに保存する（ステップＳ１８０４）。次いで、ＣＰＵ２０２は、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、割り当てられた波形読み出し装置３０４に対応する波形バッファの情報と一致するか否かの比較を行う（ステップＳ１８０６〜Ｓ１８１０）。音色番号及び波形番号が共に一致する場合には、ＣＰＵ２０２は、既に波形データが転送済みであると判断して（ステップＳ１８１２）、自身の波形バッファの先頭から波形読み出し動作を開始する（ステップＳ１８３８）。一方、上記の比較処理において、音色番号又は波形番号のうちのいずれかが不一致の場合には、ＣＰＵ２０２は、他の波形バッファに既に波形データが転送されていないかを確認する。
【００９９】
まず、ＣＰＵ２０２は、波形バッファカウンタ（Ｃ）を「１」に初期化し（ステップＳ１８１４）、バッファ番号の「１」の波形バッファから順に、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、各波形バッファに保存されている波形データの情報と一致するか否かの比較を行う（ステップＳ１８１８、Ｓ１８２０）。音色番号及び波形番号が共に一致する場合には、ＣＰＵ２０２は、上記の比較処理を停止し、図１９に示すフローチャートのように、一致した波形バッファのカウンタの値とリンクバッファ番号が一致するか否かの比較を行う（ステップＳ１９０２）。リンクバッファ番号が波形バッファカウンタの値と一致する場合には、ＣＰＵ２０２は、この波形バッファの番号を自身の波形バッファのリンクバッファ番号に設定する（ステップＳ１９０４）。一方、リンクバッファ番号が波形バッファカウンタと一致しない場合には、ＣＰＵ２０２は、この波形バッファのリンクバッファ番号を自身の波形バッファのリンクバッファ番号に設定する（ステップＳ１９０６）。
【０１００】
次いで、ＣＰＵ２０２は、自身の波形バッファのリンクフラグを「１」に設定し（ステップＳ１９０８）、自身の波形バッファのリンクバッファ番号に対応する波形バッファのアクセス中カウントの値をインクリメントし（ステップＳ１９１０）、自身の波形バッファのリンクバッファ番号に対応する波形バッファの先頭アドレスから波形読み出し動作を開始する（ステップＳ１９１２）。すなわち、ＲＡＭ２０８に既に転送済みの波形データについては、新たに大容量フラッシュメモリ２１２から転送する動作を行わない。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ１８１８〜Ｓ１８２０）を、２５６個の各波形バッファに対して繰り返すループ処理（ステップＳ１８１６、Ｓ１８２２）を実行する。
【０１０１】
上記の一連の処理動作（ステップＳ１８１８〜Ｓ１８２０）において、音色番号又は波形番号のうちのいずれかが不一致で、音色番号及び波形番号が共に一致するものがなかった場合には、ＣＰＵ２０２は、自身の波形バッファに波形情報取得処理で取得した波形番号、波形サイズ、波形領域先頭からのアドレス情報に基づいて、大容量フラッシュメモリ２１２からＲＡＭ２０８に波形データの転送を行う（ステップＳ１８２４）。ＣＰＵ２０２は、この転送動作と同時に、自身の波形バッファのリンクフラグを「０」に設定し（ステップＳ１８２６）、割り当てられた波形読み出し装置３０４のリンクバッファ番号を自身の波形バッファ番号に設定する（ステップＳ１８２８）。さらに、ＣＰＵ２０２は、アクセス中カウントの値を「１」に設定し（ステップＳ１８３０）、ＲＡＭ２０８上への波形データの転送に伴って、音色波形ディレクトリに音色番号、音色内波形番号、波形サイズを設定する（ステップＳ１８３２）。
【０１０２】
次いで、ＣＰＵ２０２は、波形データの転送状態を確認し、波形データの転送が終了したか否かの判断を行う（ステップＳ１８３４）。波形データを転送中である場合には、ＣＰＵ２０２は、当該状態を維持し、波形データの転送が終了した場合には、転送済みフラグに「１」を設定し（ステップＳ１８３６）、自身の波形バッファの先頭から波形読み出し動作を開始する（ステップＳ１８３４）。
【０１０３】
（ＭＩＤＩ受信処理）
図７に示すメインルーチンに戻って、上記の鍵盤処理（ステップＳ７１０）の後に実行されるＭＩＤＩ受信処理（ステップＳ７２０）においては、ＣＰＵ２０２は、受信したＭＩＤＩメッセージにノートオンイベントやノートオフイベントが含まれているか否かをそれぞれ判断し（ステップＳ７２２、Ｓ７２６）、ノートオンイベントがあると判断した場合には、ノートオン処理を実行し（ステップＳ７２４）、ノートオフイベントがあると判断した場合には、ノートオフ処理を実行する（ステップＳ７２８）。ここでは、図１２、図１３のフローチャートに示した、ノートオン処理（ステップＳ１２０４）、又は、ノートオフ処理（ステップＳ１２２４）と同等の処理が適用される。
【０１０４】
（音源定期処理）
図２０は、本実施形態に係る電子鍵盤楽器の制御方法に適用される音源定期処理を示すフローチャートである。
【０１０５】
上記のＭＩＤＩ受信処理（ステップＳ７２０）の後に実行される音源定期処理（ステップＳ７３０）においては、ＣＰＵ２０２は、或る一定時間ごとに、図２０に示すフローチャートのように、音源処理を実行する。ＣＰＵ２０２は、波形読み出し装置３０４の番号「１」から順に、波形読み出し装置３０４の状態を確認し、波形を読み出し中の各波形読み出し装置３０４に対して、音量制御（アンプエンベロープ）のレベルが「０」になっているか否かを判断する（ステップＳ２００４）。音量制御のレベルが「０」になっている場合には、ＣＰＵ２０２は、波形読み出し装置３０４の波形読み出し動作を停止する波形読み出し停止処理を実行する（ステップＳ２００６）。一方、音量制御のレベルが「０」になっていない場合には、ＣＰＵ２０２は、波形読み出し装置３０４の波形読み出し動作を停止せず、現在の状態を維持する。ＣＰＵ２０２は、上記の一連の処理動作（ステップＳ２００４〜Ｓ２００６）を、波形データを読み出し中の波形読み出し装置３０４の数分繰り返すループ処理（ステップＳ２００２、Ｓ２００８）を実行する。
【０１０６】
（波形読み出し停止処理）
図２１は、本実施形態に係る電子鍵盤楽器の制御方法の音源定期処理に適用される波形読み出し装置の波形読み出し停止処理を示すフローチャートである。
【０１０７】
音源定期処理において実行される波形読み出し装置の波形読み出し停止処理においては、図２１に示すフローチャートのように、ＣＰＵ２０２は、まず、波形読み出し装置３０４に対応する波形バッファのリングフラグの値が「１」になっているか否かを判断する（ステップＳ２１０２）。リングフラグの値が「１」になっている場合には、ＣＰＵ２０２は、リンクバッファ番号に対応する波形バッファのアクセス中カウントの値をデクリメントした後（ステップＳ２１０４）、リンクバッファ番号を自身の波形バッファ番号に設定するとともに（ステップＳ１００６）、リンクフラグを「０」に設定する（ステップＳ１００８）。その後、ＣＰＵ２０２は、波形読み出し装置３０４の波形読み出し動作を停止させる（ステップＳ１０１０）。一方、ステップＳ２１０２において、リングフラグの値が「０」になっている場合には、ＣＰＵ２０２は、自身の波形バッファ番号の更新を行わず、現在の設定を維持した状態で、波形読み出し装置３０４の波形読み出し動作を停止させる（ステップＳ１０１０）。
【０１０８】
このように、本実施形態においては、音源ＬＳＩ２０４が楽音発生時に使用するＲＡＭ２０８からなる音源メモリと、音色に使用する全ての波形データを保存するＮＡＮＤ型等の大容量フラッシュメモリ２１２からなる大容量記憶デバイスとを備え、大容量記憶デバイスから音源メモリへの転送に時間がかかるデータサイズが大きい波形データを常時音源メモリに配置し、比較的データサイズが小さい波形データを、発音時に大容量記憶デバイスから発音ジェネレータ（波形読み出し装置３０４）ごとに用意された音源メモリの各波形バッファに転送してから発音する。ここで、発音のための読み出し動作の対象となる波形データのうち、比較的データサイズが小さい波形データを大容量記憶デバイスから音源メモリの各波形バッファに転送する処理に先立って、当該波形データが音源メモリ内のいずれかの波形バッファに既に存在する場合には、波形バッファの使用状態等を管理する管理情報に基づいて、当該波形データを保存する波形バッファをリンク先に設定してその波形データを音源メモリ内で流用して音源メモリから直接読み出すことにより発音する。
【０１０９】
また、大容量記憶デバイスから音源メモリへの波形データの転送に際しては、上記の波形バッファの使用状態等を管理する管理情報に基づいて、発音ジェネレータにより使用されていない、或いは、使用頻度が低い波形バッファが優先的に選択されて波形データが上書き保存される。さらに、演奏による押鍵時に発音ジェネレータを割り当てる際には、発音ジェネレータの使用履歴を管理する履歴情報に基づいて、発音が停止し且つ使用頻度が低い等の、所定の使用状態の発音ジェネレータから優先的に割り当てて波形読み出し動作が実行される。
【０１１０】
これにより、データサイズの大きい波形データを、アクセス速度が高速な音源メモリから直接読み出し、データサイズの小さい波形データを、音源メモリ内で流用して直接読み出し、又は、安価な大容量記憶デバイスから読み出して、楽音の生成処理に使用することができる。また、複数の楽音を複数の発音ジェネレータを用いて同時に発音させる場合であっても、高速低容量の音源メモリに記憶する複数の波形データの管理や、各波形データを発音させる発音ジェネレータの管理を効率的に行うことができる。したがって、製品コストを抑制した構成で、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、楽音の発生に遅延や途切れのない良好な演奏を実現することができる。これは換言すると、楽音の生成処理に要する所定の時間内に、より多数の音色波形データを読み出して同時に発音させることができることを意味しており、これにより、管楽器や弦楽器等の原音の特徴により近い楽音を再現することができる電子楽器を実現することができる。
【０１１１】
＜変形例＞
次に、本実施形態に係る電子鍵盤楽器の制御方法の変形例について説明する。
図２２は、本実施形態に係る電子鍵盤楽器の制御方法の変形例に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。ここで、上述した実施形態（図１８、図１９）と同等の処理動作については、同等の符号を付してその説明を省略する。
【０１１２】
上述した実施形態においては、ＲＡＭ２０８上の波形データの流用方法として、データサイズがしきい値以下の波形データについて、大容量フラッシュメモリ２１２からＲＡＭ２０８に転送する処理に先立って、発音のための読み出し動作の対象となる波形データが、ＲＡＭ２０８の他の波形バッファに既に存在するか否かを調査し、存在する場合には、複数の波形バッファを管理する管理情報に基づいて、その波形バッファをリンク先に設定し、保存されている波形データをＲＡＭ２０８内で流用して、波形読み出し装置３０４により当該リンク先の波形バッファの波形データを直接読み出す場合について説明した。
【０１１３】
本変形例においては、上述したＲＡＭ上の波形データの流用方法として、管理情報に基づいて、既に波形データを保存している波形バッファから、波形読み出し動作のために割り当てられた波形バッファに、当該波形データをコピー転送した後、読み出す手法を有している。ここで、本変形例においては、管理情報として、上述した実施形態に示した波形バッファのリンク先設定や使用状態に関する情報に替えて、流用の対象となる波形データを保存する波形バッファと波形読み出し動作のために割り当てられた波形バッファとの間の、ＲＡＭ２０８内での波形データのコピー転送に関する情報を有している。この場合の管理情報においても、各波形バッファにおける波形データの保存状態やコピー転送状態に応じて逐次更新される。
【０１１４】
本変形例に係る電子鍵盤楽器の制御方法においては、上述した実施形態に示した一連の処理動作のうち、特に、波形読み出し装置バッファの割り当て処理（図１８、図１９）において、次のような処理が実行される。すなわち、図２２に示すフローチャートのように、ＣＰＵ２０２は、演奏で指示された楽音の音色番号及び波形番号について、ＲＡＭ２０８の各波形バッファに保存されている波形データの情報と一致するか否かの比較を行い（ステップＳ１８１８、Ｓ１８２０）、音色番号及び波形番号が共に一致する場合には、一致した波形バッファの波形データを、波形読み出し動作のために割り当てられた自身の波形バッファへコピー転送する（ステップＳ１８４０）。次いで、ＣＰＵ２０２は、この波形データのコピー転送に伴って、音色波形ディレクトリに音色番号、音色内波形番号、波形サイズを設定するとともに（ステップＳ１８３２）、波形データの転送状態を確認して（ステップＳ１８３４）、波形データの転送が終了した場合には、転送済みフラグに「１」を設定する（ステップＳ１８３６）。その後、ＣＰＵ２０２は、波形読み出し動作のために割り当てられた波形バッファの先頭から波形読み出しを開始する（ステップＳ１８３８）。
【０１１５】
このような変形例においても、データサイズの大きい波形データを、アクセス速度が高速な音源メモリから直接読み出し、データサイズの小さい波形データを、音源メモリ内でコピー転送して読み出し、又は、安価な大容量記憶デバイスから読み出して、楽音の生成処理に使用することができる。したがって、上述した実施形態と同様に、製品コストを抑制した構成で、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、楽音の発生に遅延や途切れのない良好な演奏を実現することができる。
【０１１６】
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲とを含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１１７】
（付記）
［１］
波形データを読み込んで記憶する複数の記憶領域を有する第１の記憶手段と、
前記第１の記憶手段の選択された記憶領域からそれぞれ波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、
前記発音が指示されたときに、前記発音制御手段の各々による前記記憶領域の各々からの前記波形データの読み込み状況に基づいて、前記指示された発音に用いる前記発音制御手段と前記記憶領域との組合せを決定する制御手段と、
を備えたことを特徴とする楽音生成装置。
【０１１８】
［２］
前記制御手段は、
前記発音が指示されたときに、前記記憶領域の各々に記憶された前記波形データを読み込んでいる前記発音制御手段の数に基づいて、前記指示された発音に用いる前記記憶領域を選択する、
ことを特徴とする［１］に記載の楽音生成装置。
【０１１９】
［３］
前記制御手段は、
前記発音が指示されたときに、前記記憶領域の各々に記憶された前記波形データを読み込んでいる前記発音制御手段の数が他の前記記憶領域よりも少ない前記記憶領域を、前記指示された発音に用いる前記記憶領域として選択する、
ことを特徴とする［２］に記載の楽音生成装置。
【０１２０】
［４］
前記制御手段は、
前記複数の記憶領域と前記複数の発音制御手段とを、１対１の関係で対応付けて管理し、
前記発音が指示されたときに、前記記憶領域の各々に記憶された前記波形データを読み込んでいる前記発音制御手段の数が他の前記記憶領域よりも少ない前記記憶領域に対応する前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
ことを特徴とする［２］又は［３］に記載の楽音生成装置。
【０１２１】
［５］
前記制御手段は、
前記発音が指示されたときに、前記複数の発音制御手段の中から発音中ではない前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
ことを特徴とする［２］乃至［４］のいずれかに記載の楽音生成装置。
【０１２２】
［６］
前記第１の記憶手段に転送される複数の前記波形データを記憶している第２の記憶手段を更に備え、
前記制御手段は、
前記発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第１の記憶手段に記憶されている場合は、前記第１の記憶手段に記憶されている前記波形データを前記選択された発音制御手段により読み込ませ、前記発音が指示された波形データが前記第１の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第２の記憶手段から前記第１の記憶手段の前記決定した記憶領域に転送した後、前記転送して記憶された前記波形データを前記決定した発音制御手段により読み込ませる、
ことを特徴とする［１］乃至［５］のいずれかに記載の楽音生成装置。
【０１２３】
［７］
前記制御手段は、前記指示された発音に用いる前記波形データが前記選択された発音制御手段に対応付けられた前記第１の記憶手段の前記記憶領域に記憶されておらず、前記選択された発音制御手段以外の他の前記発音制御手段に対応付けられた前記記憶領域に記憶されている場合には、前記他の発音制御手段に対応付けられた前記記憶領域を、前記選択された発音制御手段のリンク先に設定して、前記他の発音制御手段に対応付けられた前記記憶領域に記憶されている前記波形データを前記選択された発音制御手段により直接読み出して発音させることを特徴とする［６］に記載の楽音生成装置。
【０１２４】
［８］
前記制御手段は、前記指示された発音に用いる前記波形データが前記選択された発音制御手段に対応付けられた前記第１の記憶手段の前記記憶領域に記憶されておらず、前記選択された発音制御手段以外の他の前記発音制御手段に対応付けられた前記記憶領域に記憶されている場合には、前記他の発音制御手段に対応付けられた前記記憶領域に記憶されている前記波形データを、前記選択された発音制御手段に対応付けられた前記記憶領域にコピー転送して、前記コピー転送された波形データを前記選択された発音制御手段により読み出して発音させることを特徴とする［６］に記載の楽音生成装置。
【０１２５】
［９］
前記制御手段は、前記発音が指示された波形データを、前記第２の記憶手段から前記第１の記憶手段に転送する際に、前記第１の記憶手段の前記複数の記憶領域のうちの、いずれの前記発音制御手段からも記憶されている前記波形データを使用されていない前記記憶領域、又は、前記波形データを使用している前記発音制御手段の数が少ない前記記憶領域を選択して、前記転送される波形データを記憶させることを特徴とする［６］に記載の楽音生成装置。
【０１２６】
［１０］
前記第１の記憶手段は、前記発音を伴う演奏の開始に先立って、所定の条件を満たす前記波形データを固定的に記憶しておく第１の記憶領域と、前記演奏中に指定されて、前記第２の記憶手段から転送された前記波形データを可変的に記憶しておく第２の記憶領域と、を有することを特徴とする［１］乃至［９］のいずれかに記載の楽音生成装置。
【０１２７】
［１１］
前記第１の記憶手段は、第１の読み出し速度を有するとともに、第１の記憶容量を有する記憶装置であり、
前記第２の記憶手段は、前記第１の読み出し速度よりも遅い第２の読み出し速度を有するとともに、前記第１の記憶容量よりも大きい第２の記憶容量を有する記憶装置であることを特徴とする［１］乃至［１０］のいずれかに記載の楽音生成装置。
【０１２８】
［１２］
波形データを読み込んで記憶する複数の記憶領域を有する第１の記憶手段と、前記第１の記憶手段の選択された記憶領域からそれぞれ波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、を備える楽音生成装置に適用される楽音生成方法であって、
前記発音が指示されたときに、前記発音制御手段の各々による前記記憶領域の各々からの前記波形データの読み込み状況に基づいて、前記指示された発音に用いる前記発音制御手段と前記記憶領域との組合せを決定する、
ことを特徴とする楽音生成方法。
【０１２９】
［１３］
コンピュータを、請求項［１］乃至［１１］のいずれかに記載の楽音生成装置として機能させるための、あるいは、コンピュータに、［１２］に記載の楽音生成方法を実行させるための楽音生成プログラム。
【０１３０】
［１４］
前記［１］乃至［１２］のいずれかに記載の楽音生成装置と、
前記発音を伴う演奏により前記波形データを指定するための入力手段と、
前記発音された楽音を出力するための出力手段と、
を備えることを特徴とする電子楽器。
【符号の説明】
【０１３１】
１００    電子鍵盤楽器（電子楽器）
１０２    鍵盤（入力手段）
１０４    音色選択ボタン（入力手段）
２０２    ＣＰＵ（制御手段）
２０４    音源ＬＳＩ（発音制御手段）
２０８    ＲＡＭ（第１の記憶手段）
２１２    大容量フラッシュメモリ（第２の記憶手段）
３０４    波形読み出し装置（発音制御手段）
【図１】
2018159870.tif 000003
【図２】
2018159870.tif 000004
【図３】
2018159870.tif 000005
【図４】
2018159870.tif 000006
【図５】
2018159870.tif 000007
【図６】
2018159870.tif 000008
【図７】
2018159870.tif 000009
【図８】
2018159870.tif 000010
【図９】
2018159870.tif 000011
【図１０】
2018159870.tif 000012
【図１１】
2018159870.tif 000013
【図１２】
2018159870.tif 000014
【図１３】
2018159870.tif 000015
【図１４】
2018159870.tif 000016
【図１５】
2018159870.tif 000017
【図１６】
2018159870.tif 000018
【図１７】
2018159870.tif 000019
【図１８】
2018159870.tif 000020
【図１９】
2018159870.tif 000021
【図２０】
2018159870.tif 000022
【図２１】
2018159870.tif 000023
【図２２】
2018159870.tif 000024
【手続補正書】
【提出日】平成30年7月3日(2018.7.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明に係る楽音生成装置は、
第１の読み出し速度を有するとともに第１の記憶容量を有し、複数の波形データを記憶している第１の記憶手段と、
前記第１の読み出し速度よりも速い第２の読み出し速度を有するとともに前記第１の記憶容量よりも小さい第２の記憶容量を有し、前記第１の記憶手段から読み込まれた波形データを記憶する複数の記憶領域を有する第２の記憶手段と、
前記第２の記憶手段の選択された記憶領域から波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、
発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第２の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送することなく、前記第２の記憶手段に記憶されている前記波形データを選択した前記発音制御手段に読み込ませ、前記指示された発音に用いる波形データが前記第２の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送した後、前記転送して記憶された前記波形データを選択した前記発音制御手段に読み込ませる制御手段と、
を備え、
前記制御手段は、前記発音が指示されたときに、前記複数の記憶領域のうち、記憶されている波形データを読み込んでいる前記発音制御手段がない記憶領域、または記憶されている波形データを読み込んでいる前記発音制御手段の数が他の記憶領域よりも少ない記憶領域を、前記指示された発音に用いる記憶領域として選択する、
ことを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３１
【補正方法】変更
【補正の内容】
【０１３１】
１００    電子鍵盤楽器（電子楽器）
１０２    鍵盤（入力手段）
１０４    音色選択ボタン（入力手段）
２０２    ＣＰＵ（制御手段）
２０４    音源ＬＳＩ（発音制御手段）
２０８    ＲＡＭ（第２の記憶手段）
２１２    大容量フラッシュメモリ（第１の記憶手段）
３０４    波形読み出し装置（発音制御手段）
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の読み出し速度を有するとともに第１の記憶容量を有し、複数の波形データを記憶している第１の記憶手段と、
前記第１の読み出し速度よりも速い第２の読み出し速度を有するとともに前記第１の記憶容量よりも小さい第２の記憶容量を有し、前記第１の記憶手段から読み込まれた波形データを記憶する複数の記憶領域を有する第２の記憶手段と、
前記第２の記憶手段の選択された記憶領域から波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、
発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第２の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送することなく、前記第２の記憶手段に記憶されている前記波形データを選択した前記発音制御手段に読み込ませ、前記指示された発音に用いる波形データが前記第２の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送した後、前記転送して記憶された前記波形データを選択した前記発音制御手段に読み込ませる制御手段と、
を備え、
前記制御手段は、前記発音が指示されたときに、前記複数の記憶領域のうち、記憶されている波形データを読み込んでいる前記発音制御手段がない記憶領域、または記憶されている波形データを読み込んでいる前記発音制御手段の数が他の記憶領域よりも少ない記憶領域を、前記指示された発音に用いる記憶領域として選択する、
ことを特徴とする楽音生成装置。
【請求項２】
第１の読み出し速度を有するとともに第１の記憶容量を有し、複数の波形データを記憶している第１の記憶手段と、
前記第１の読み出し速度よりも速い第２の読み出し速度を有するとともに前記第１の記憶容量よりも小さい第２の記憶容量を有し、前記第１の記憶手段から読み込まれた波形データを記憶する複数の記憶領域を有する第２の記憶手段と、
前記第２の記憶手段の選択された記憶領域から波形データを読み込むことにより発音させることが可能な複数の発音制御手段と、
発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第２の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送することなく、前記第２の記憶手段に記憶されている前記波形データを選択した前記発音制御手段に読み込ませ、前記指示された発音に用いる波形データが前記第２の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送した後、前記転送して記憶された前記波形データを選択した前記発音制御手段に読み込ませる制御手段と、
を備え、
前記制御手段は、前記複数の記憶領域と前記複数の発音制御手段とを、１対１の関係で対応付けて管理し、前記発音が指示されたときに、前記複数の発音制御手段のうち、記憶されている波形データを読み込んでいる前記発音制御手段がない記憶領域、または記憶されている波形データを読み込んでいる前記発音制御手段の数が他の記憶領域よりも少ない記憶領域に対応する前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
ことを特徴とする楽音生成装置。
【請求項３】
前記制御手段は、
前記発音が指示されたときに、前記複数の発音制御手段の中から発音中ではない前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
ことを特徴とする請求項２に記載の楽音生成装置。
【請求項４】
前記制御手段は、前記指示された発音に用いる前記波形データが前記選択された発音制御手段に対応付けられた前記第２の記憶手段の前記記憶領域に記憶されておらず、前記選択された発音制御手段以外の他の前記発音制御手段に対応付けられた前記記憶領域に記憶されている場合には、前記他の発音制御手段に対応付けられた前記記憶領域を、前記選択された発音制御手段のリンク先に設定して、前記他の発音制御手段に対応付けられた前記記憶領域に記憶されている前記波形データを前記選択された発音制御手段により直接読み出して発音させることを特徴とする請求項１乃至３のいずれかに記載の楽音生成装置。
【請求項５】
前記制御手段は、前記指示された発音に用いる前記波形データが前記選択された発音制御手段に対応付けられた前記第２の記憶手段の前記記憶領域に記憶されておらず、前記選択された発音制御手段以外の他の前記発音制御手段に対応付けられた前記記憶領域に記憶されている場合には、前記他の発音制御手段に対応付けられた前記記憶領域に記憶されている前記波形データを、前記選択された発音制御手段に対応付けられた前記記憶領域にコピー転送して、前記コピー転送された波形データを前記選択された発音制御手段により読み出して発音させることを特徴とする請求項１乃至３のいずれかに記載の楽音生成装置。
【請求項６】
前記制御手段は、前記発音が指示された波形データを、前記第１の記憶手段から前記第２の記憶手段に転送する際に、前記第２の記憶手段の前記複数の記憶領域のうちの、いずれの前記発音制御手段からも記憶されている前記波形データを使用されていない前記記憶領域、又は、前記波形データを使用している前記発音制御手段の数が少ない前記記憶領域を選択して、前記転送される波形データを記憶させることを特徴とする請求項１乃至３のいずれかに記載の楽音生成装置。
【請求項７】
前記第２の記憶手段は、前記発音を伴う演奏の開始に先立って、所定の条件を満たす前記波形データを固定的に記憶しておく第１の記憶領域と、前記演奏中に指定されて、前記第１の記憶手段から転送された前記波形データを可変的に記憶しておく第２の記憶領域と、を有することを特徴とする請求項１乃至６のいずれかに記載の楽音生成装置。
【請求項８】
第１の読み出し速度を有するとともに第１の記憶容量を有し、複数の波形データを記憶している第１の記憶手段から波形データを読み込み、
前記第１の記憶手段から読み込まれた波形データを、前記第１の読み出し速度よりも速い第２の読み出し速度を有するとともに前記第１の記憶容量よりも小さい第２の記憶容量を有し、前記第１の記憶手段から読み込まれた波形データを記憶する複数の記憶領域を有する第２の記憶手段に記憶させ、
発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第２の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送することなく、前記第２の記憶手段に記憶されている前記波形データを、複数の発音制御手段の中から選択した発音制御手段に読み込ませて発音させ、前記指示された発音に用いる波形データが前記第２の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した記憶領域に転送した後、前記転送して記憶された前記波形データを、複数の発音制御手段の中から選択した発音制御手段に読み込ませて発音させる転送制御を行い、
前記転送制御は、前記発音が指示されたときに、前記複数の記憶領域のうち、記憶されている波形データを読み込んでいる前記発音制御手段がない記憶領域、または記憶されている波形データを読み込んでいる前記発音制御手段の数が他の記憶領域よりも少ない記憶領域を、前記指示された発音に用いる記憶領域として選択する、
楽音生成方法。
【請求項９】
第１の読み出し速度を有するとともに第１の記憶容量を有し、複数の波形データを記憶している第１の記憶手段から波形データを読み込み、
前記第１の記憶手段から読み込まれた波形データを、前記第１の読み出し速度よりも速い第２の読み出し速度を有するとともに前記第１の記憶容量よりも小さい第２の記憶容量を有し、前記第１の記憶手段から読み込まれた波形データを記憶する複数の記憶領域を有する第２の記憶手段に記憶させ、
発音が指示されたときに、前記指示された発音に用いる前記波形データが前記第２の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した前記記憶領域に転送することなく、前記第２の記憶手段に記憶されている前記波形データを、複数の発音制御手段の中から選択した発音制御手段に読み込ませて発音させ、前記指示された発音に用いる波形データが前記第２の記憶手段に記憶されていない場合は、前記指示された発音に用いる前記波形データを、前記第１の記憶手段から前記第２の記憶手段の選択した記憶領域に転送した後、前記転送して記憶された前記波形データを、複数の発音制御手段の中から選択した発音制御手段に読み込ませて発音させる転送制御を行い、
前記転送制御は、前記複数の記憶領域と前記複数の発音制御手段とを、１対１の関係で対応付けて管理し、前記発音が指示されたときに、前記複数の発音制御手段のうち、記憶されている波形データを読み込んでいる前記発音制御手段がない記憶領域、または記憶されている波形データを読み込んでいる前記発音制御手段の数が他の記憶領域よりも少ない記憶領域に対応する前記発音制御手段を、前記指示された発音に用いる前記発音制御手段として選択する、
楽音生成方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれかに記載の楽音生成装置として機能させるための、あるいは、コンピュータに、請求項８または９に記載の楽音生成方法を実行させるための楽音生成プログラム。
【請求項１１】
請求項１乃至７のいずれかに記載の楽音生成装置と、
前記発音を伴う演奏により前記波形データを指定するための入力手段と、
前記発音された楽音を出力するための出力手段と、
を備えることを特徴とする電子楽器。