(57)【要約】【課題】大容量フラッシュメモリ29の記憶する複数の波形データから選択的に読み出された波形データを保持するＲＡＭ28を用いて音源ＬＳＩ26で楽音を発生させる装置で、演奏中にＲＡＭ28に保持していない波形データが必要となった際、さらに波形データを転送して保持させる処理を円滑に実行する。【解決手段】シーケンサ42で演奏データを得、得た演奏データにイベント・タイム・ジェネレータ43及びイベント・ディレイ・バッファ44で一定の遅延時間を与え、遅延された演奏データに基づいてイベントバッファ45及び音源ドライバ48で楽音を発生させ、必要波形調査部46及び波形転送部47により演奏データからＲＡＭ28に保持していない波形データの有無を判断し、その判断結果に基づいて大容量フラッシュメモリ29から選択的に波形データを読み出してＲＡＭ28に保持させる。【選択図】      図４
2019168517.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
を実行する電子楽器。
【請求項２】
前記出力処理は、前記演奏データに含まれる各イベントが発生するタイミングにそれぞれ一定の遅延時間を与える遅延処理を実行することにより前記遅延演奏データを出力する、請求項１に記載の電子楽器。
【請求項３】
前記自動演奏処理による前記遅延演奏データに応じた前記自動演奏に合わせて演奏操作子が操作されることにより前記操作に応じた楽音を前記発音部に発音させる演奏処理、をさらに実行する請求項１または２に記載の電子楽器。
【請求項４】
前記転送処理は、前記第２の記憶手段内に前記複数の自動演奏用波形データが記憶されていない場合に、前記複数の自動演奏用波形データを前記第１の記憶手段内から前記第２の記憶手段に転送する、請求項１乃至３のいずれかに記載の電子楽器。
【請求項５】
電子楽器のコンピュータに、
第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
を実行させる方法。
【請求項６】
電子楽器のコンピュータに、
第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器、方法及びプログラムに関する。
【背景技術】
【０００２】
電子鍵盤楽器等を用いた自動演奏装置において、波形再生用バッファの容量を増大させずに、キーオン時のレスポンスを良くし、且つ自動演奏に際して楽音情報の音色割当を効率的に行なうための技術が提案されている。（例えば、特許文献１）
前記特許文献に記載された技術も含めて一般に電子楽器においては、より多数、より長時間の波形データを利用できるようにするため、使用しない波形データはフラッシュメモリやハードディスク装置等の大容量の補助記憶装置でなる２次記憶装置に記憶させておき、実際に演奏で使用する波形データのみを、音源回路がアクセスできる波形メモリでなる１次記憶装置に転送して保持させ、所望される楽音を再生させる、というシステム構成を採るものがある。
【０００３】
この場合、１次記憶装置を構成する高価な波形メモリと、音源回路からの直接のアクセスはできないものの、より大容量で比較的安価な２次記憶装置とを組み合わせた、コストパフォーマンスに優れた効率的な手法を実現できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平  ６−  ２７９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら前記手法においては、２次記憶装置から１次記憶装置への波形データの転送に一定の時間が必要となる。そのため、同一の音色であっても、鍵域や強さに応じて複数の波形データを切り替えて使用するような場合には、演奏中に適時波形データを転送させる処理が必要となり、その転送が完了するまではその波形に基づいた発音ができないので、演奏に支障を来すことになる。
【０００６】
特にシーケンサや自動伴奏などの自動演奏機能を搭載する電子楽器では、複数のパートの音源を同時に発音させるために、演奏者の演奏と合わせて、短時間に多くの発音処理を行わせるケースが多く、前記のように波形データの転送によって一部の発音が途切れるような事態が生じる可能性がある。
【０００７】
また、通信カラオケシステムのように、自動演奏曲を選択した時点で、必要な波形データをすべて波形メモリに転送して記憶させる方法も実現されている。しかしながら、昨今の音源や自動演奏システムでは多数のパートを有し、選択した曲内で使用する音色の数も多いため、多数の音色の波形データを予め波形メモリに転送しておく必要がある。
【０００８】
また１つの音色を構成する複数の波形データのうち、実際に演奏で使用されるのは一部のみである場合も多く、そのような場合には転送に要する時間と波形メモリの容量とがいずれも無駄なものとなる。このように、曲の選択時に必要となる可能性のあるすべての波形データを転送する方式は、時間とメモリ容量の点で、きわめて効率が悪い、という不具合がある。
【０００９】
本発明は前記のような実情に鑑みてなされたもので、その目的とするところは、音源用に保持している波形データ以外の波形データが必要となった場合に、さらに波形データを転送して保持させる際の処理を円滑に実行することが可能な電子楽器、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様は、第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、を実行する。
【発明の効果】
【００１１】
本発明によれば、波形データの転送処理による演奏への影響を受けにくいので、良好に演奏できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る電子鍵盤楽器の外観構成を示す平面図。
【図２】同実施形態に係るハードウェア上の回路構成を示すブロック図。
【図３】同実施形態に係る図２の音源ＬＳＩ内の機能構成を示すブロック図。
【図４】同実施形態に係るデータ処理上の機能構成を示すブロック図。
【図５】同実施形態に係る音色の波形スプリットを例示する図。
【図６】同実施形態に係る大容量フラッシュメモリに格納されている内容と、選択的に読み出されてＲＡＭに保持される内容との対応を例示する図。
【図７】同実施形態に係る波形再生部用波形バッファに保持するデータのディレクトリ構成を示す図。
【図８】同実施形態に係るシーケンサに記録するシーケンスデータのフォーマット構成を示す図。
【図９】同実施形態に係るトラック毎に羅列して配置されるシーケンスデータの構成を示す図。
【図１０】同実施形態に係るコントロールイベントのデータフォーマットを示す図。
【図１１】同実施形態に係る実際のイベントの発生タイミングとこれに対応するイベントデータの具体値の例を示す図。
【図１２】同実施形態に係るイベント・ディレイ・バッファが取り扱うデータのフォーマット構成を示す図。
【図１３】同実施形態に係るメインルーチンの処理内容を示すフローチャート。
【図１４】同実施形態に係る図１２のシーケンサ再生時のサブルーチンの処理内容を示すフローチャート。
【図１５】同実施形態に係るイベント・ディレイ・バッファで実行するサブルーチンの処理内容を示すフローチャート。
【図１６】同実施形態に係る音源ドライバで実行するサブルーチンの処理内容を示すフローチャート。
【図１７】同実施形態に係る必要波形調査処理のサブルーチンの処理内容を示すフローチャート。
【図１８】同実施形態に係る波形転送処理のサブルーチンの処理内容を示すフローチャート。
【発明を実施するための形態】
【００１３】
本発明を、自動伴奏機能を有する電子鍵盤楽器に適用した場合の一実施形態について、以下に図面を参照して詳細に説明する。  
図１は、この電子鍵盤楽器１０の外観構成を示す平面図である。同図において、電子鍵盤楽器１０は、薄板状筐体の上面に、発生すべき楽音の音高を指定する、演奏操作子としての複数の鍵からなる鍵盤１１と、楽音の音色を選択するための音色選択ボタン部（ＴＯＮＥ）１２と、自動伴奏機能に関する各種選択設定のためのシーケンサ操作ボタン部（ＳＥＱＵＥＮＣＥＲ）１３と、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション（演奏効果）を付加するベンダ／モジュレーションホイール１４と、各種設定情報等を表示する液晶表示部１５と、演奏により生成された楽音を放音する左右のスピーカ１６，１６等とを備える。
【００１４】
前記音色選択ボタン部１２は、例えばピアノや電子ピアノ、オルガン、電気ギター１，２、アコースティックギター、サクソフォン、ストリングス、シンセサイザ１，２、クラリネット、ビブラフォン、アコーディオン、ベース、トランペット、クワイヤ等の選択ボタンを有する。
【００１５】
前記シーケンサ操作ボタン部１３は、例えばトラックを選択する「トラック１」〜「トラック４」、ソングメモリを選択する「ソング１」〜「ソング４」、一時停止（ＰＡＵＳＥ）、再生（ＰＬＡＹ）、録音（ＲＥＣ）、曲頭戻し、巻き戻し、早送り、テンポダウン（ＴＥＭＰＯ  ＤＯＷＮ）、テンポアップ（ＴＥＭＰＯ  ＵＰ）等の選択ボタンを有する。
【００１６】
この電子鍵盤楽器１０の音源はＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｒａｔｉｏｎ：パルス符号変調）波形再生方式であり、最大２５６音を発生させることが可能であるものとする。また、音源パート番号「０」〜「４」の５つの音源パートを持ち、１６種類の音色を同時に再生可能とする。音源パート番号「０」が鍵盤１１に割り当てられる一方で、音源パート番号「１」〜「４」はシーケンサ機能に割り当てられるものとする。
【００１７】
またこの電子鍵盤楽器１０は、１６のメロディ音色を搭載し、それぞれの音色番号に「１」〜「１６」を割り当てるものとする。
【００１８】
図２は、ハードウェア上の回路構成を示すブロック図である。電子鍵盤楽器１０では、バスコントローラ２１がバスＢと接続され、このバスＢ上で送受されるデータの流れを、予め設定された優先順位に従って制御する。
【００１９】
このバスＢに対して、ＣＰＵ（中央演算処理装置）２２、メモリコントローラ２３、フラッシュメモリコントローラ２４、ＤＭＡ（ダイレクトメモリアクセス）コントローラ２５、音源ＬＳＩ（大規模集積回路）２６、及び入出力（Ｉ／Ｏ）コントローラ２７がそれぞれ接続される。
【００２０】
ＣＰＵ２２は、機器全体の処理を行なうメインプロセッサである。メモリコントローラ２３は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）で構成されるＲＡＭ２８を接続し、前記ＣＰＵ２２との間でのデータの送受を行なう。ＲＡＭ２８は、ＣＰＵ２２のワークメモリとして機能し、波形データ（自動演奏用波形データを含む）や制御プログラム、データ等を必要に応じて保持する。
【００２１】
フラッシュメモリコントローラ２４は、例えばＮＡＮＤ型フラッシュメモリで構成される大容量フラッシュメモリ２９を接続し、この大容量フラッシュメモリ２９に格納される制御プログラムや波形データ、固定データ等をＣＰＵ２２の要求に応じて読み出す。読み出された各種データ等は、前記メモリコントローラ２３により前記ＲＡＭ２８に保持される。大容量フラッシュメモリ２９は、この電子鍵盤楽器１０に内蔵されるフラッシュメモリに加えて、電子鍵盤楽器１０に装着されるメモリカードによりメモリ領域を拡張することも可能であるものとする。
【００２２】
ＤＭＡコントローラ２５は、前記ＣＰＵ２２を介さずに、後述する周辺機器と前記ＲＡＭ２８、大容量フラッシュメモリ２９との間でのデータの送受を制御するコントローラである。
【００２３】
音源ＬＳＩ２６は、ＲＡＭ２８に保持される複数の波形データを用いてデジタルの楽音再生データを生成し、Ｄ／Ａコンバータ３０へ出力する。
【００２４】
Ｄ／Ａコンバータ３０は、デジタルの楽音再生データをアナログの楽音再生信号に変換する。変換により得られたアナログの楽音再生信号は、さらにアンプ３１により増幅された後に、前記スピーカ１６，１６で可聴周波数範囲の楽音として拡声出力されるか、または前記図１では示さなかった出力端子より出力される。
【００２５】
前記入出力コントローラ２７は、前記バスＢと周辺接続されるデバイスとのインタフェイスを行なうもので、ＬＣＤコントローラ３２、キースキャナ３３、Ａ／Ｄコンバータ３４を接続する。
【００２６】
ＬＣＤコントローラ３２は、前記図１の液晶表示部（ＬＣＤ）１５を接続し、入出力コントローラ２７、バスＢを介してＣＰＵ２２の制御の下に、与えられる各種動作状態等を示す情報を液晶表示部１５により表示出力させる。
【００２７】
キースキャナ３３は、前記鍵盤１１や、前記音色選択ボタン部１２及びシーケンサ操作ボタン部１３を含むスイッチパネルでのキー操作状態を走査して、その走査結果を入出力コントローラ２７を介してＣＰＵ２２へ通知する。
【００２８】
Ａ／Ｄコンバータ３４は、前記ベンダ／モジュレーションホイール１４や、この電子鍵盤楽器１０の外付けオプション装備となるダンパペダル等の各操作位置を示すアナログ信号を受付け、当該操作量をデジタルデータに変換した上で、前記ＣＰＵ２２へ通知する。
【００２９】
図３は、前記音源ＬＳＩ２６内の機能構成を示すブロック図である。同図に示すように音源ＬＳＩ２６は、波形発生器２６Ａ、ミキサ２６Ｂ、バスインタフェイス２６Ｃ、及びＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）２６Ｄを有する。
【００３０】
波形発生器２６Ａは、バスインタフェイス２６Ｃを介してＲＡＭ２８から与えられる波形データに基づいてそれぞれ楽音を再生する２５６組の波形再生部１〜２５６を有し、再生されたデジタル値の楽音再生データがミキサ２６Ｂに送られる。
【００３１】
ミキサ２６Ｂは、波形発生器２６Ａから出力される楽音再生データを混合し、必要に応じて音源ＬＳＩ２６に送って音響処理を実行させ、実行後のデータをＤＳＰ２６Ｄから受け取って、後段のＤ／Ａコンバータ３０へ出力する。
【００３２】
バスインタフェイス２６Ｃは、前記バスＢを介して、前記波形発生器２６Ａ、ミキサ２６Ｂ、及びバスインタフェイス２６Ｃとの入出力制御を行なうインタフェイスである。
【００３３】
ＤＳＰ２６Ｄは、バスインタフェイス２６Ｃを介して前記ＣＰＵ２２から与えられた指示に基づき、音源ＬＳＩ２６から楽音再生データを読み出して音響処理を加えた上で、ミキサ２６Ｂに送り返す。
【００３４】
次に図４により、ＣＰＵ２２の制御の下に実行される処理上の機能構成を示すブロック図についても説明しておく。  
同図において、この電子鍵盤楽器１０の演奏者による、前記音色選択ボタン部１２での音色選択操作に対応した操作信号、鍵盤１１での操作に伴うノート情報のオン／オフ信号、及び、ベンダ／モジュレーションホイール１４やオプションとなるダンパペダルでの操作による操作信号が、シーケンサ４２、及びイベントバッファ４５に入力される。
【００３５】
また前記シーケンサ４２には、シーケンサ操作ボタン部１３での操作信号と、ソングメモリ４１からの自動演奏データとが入力される。ソングメモリ４１は、実際には前記大容量フラッシュメモリ２９内に構築されるもので、複数曲、例えば４曲分の自動演奏データを記憶可能なメモリであり、再生時にはシーケンサ操作ボタン部１３で選択した１曲分の自動演奏データをＲＡＭ２８に保持させることで、前記シーケンサ４２に読み出す。
【００３６】
シーケンサ４２は、図示するように４トラック（「Ｔｒａｃｋ１」〜「Ｔｒａｃｋ４」）の構成となっており、前記ソングメモリ４１から選択して読み出される１曲の自動演奏データを用いて演奏や録音を行なうことができる。
【００３７】
録音時には、いずれかの録音対象トラックを選択して演奏者の演奏を記録することが可能となる。また再生時には、４つのトラックを同期させて、出力する演奏データをミックスした状態で出力する。この電子鍵盤楽器１０を操作する演奏者は、シーケンサ操作ボタン部１３において必要なボタンを操作することにより、それらの動作を選択して指示する。
【００３８】
前記シーケンサ４２から出力される最大４トラック分の演奏データが、イベント・ディレイ・バッファ４４、及び必要波形調査部４６へ送出される。
【００３９】
イベント・ディレイ・バッファ４４は、前記図２のＲＡＭ２８のワーク領域に形成されたリングバッファで構成され、イベント・タイム・ジェネレータ４３から与えられる現在時刻情報Ｔに基づいて、シーケンサ４２から送られてきた演奏データを予め設定された一定時間、例えば５０［ミリ秒］だけ遅延した後に前記イベントバッファ４５へ送出する。そのため、イベント・ディレイ・バッファ４４は、前記一定時間に発生し得るイベントを保持できるだけの容量が確保されている。
【００４０】
前記必要波形調査部４６は、前記図２のＲＡＭ２８のワーク領域に形成され、前記シーケンサ４２から送られてくる演奏データ（この演奏データには、音色番号、Ｋｅｙ番号、ベロシティ情報からなる識別子が含まれており、この識別子を参照することにより必要波形が調査できる）と、後述する音源ドライバ４８から送られてくる、その時点で情報している波形データの情報とから、あらたに必要となる波形データを判断し、判断結果を波形転送部４７へ出力する。波形転送部４７は、波形転送部４７から指示された波形データを前記大容量フラッシュメモリ２９から読み出し、前記ＲＡＭ２８へ転送して保持させる。
【００４１】
前記イベントバッファ４５は、前記図２のＲＡＭ２８のワーク領域に形成され、前記鍵盤１１、音色選択ボタン部１２、ベンダ／モジュレーションホイール１４等から送られてくる操作信号と、前記イベント・ディレイ・バッファ４４で遅延された演奏データとを保持し、その保持内容を音源ドライバ４８へ送出する。
【００４２】
音源ドライバ４８は、前記図２の音源ＬＳＩ２６をコントロールするインタフェイスであり、イベントバッファ４５から与えられる入力に基づいて、最大同時発音数の範囲内でデジタルの楽音再生データを発生させる。すなわちユーザにより鍵盤１１を含む演奏操作子からリアルタイムに入力されるイベントと、自動演奏させる演奏データに含まれるイベントの発生タイミングをイベント・ディレイ・バッファ４４により遅延させたイベントと、に基づいて音源ドライバ４８は楽音を発生させる。詳細には、演奏データを遅延させた遅延演奏データに応じた自動演奏をさせる際に、遅延演奏データに含まれる識別子（音色番号と、Ｋｅｙ番号、ベロシティ情報）に対応する自動演奏用波形データを出力するタイミングに合わせて、自動演奏用波形データはＲＡＭ２８内から読み込まれる。発生された楽音再生データは、前記Ｄ／Ａコンバータ３０、アンプ３１及びスピーカ１６，１６で構成される発音部４９により楽音として出力される。
【００４３】
次に前記実施形態の動作について説明する。  
まず、すべての波形データを格納している大容量フラッシュメモリ２９と、大容量フラッシュメモリ２９から読み出した必要な波形データの書き込みや、必要な波形データの読み出しを制御するメモリコントローラ２３の動作について説明する。
【００４４】
本実施形態では、前述した如く音源が５つのパートから構成され、５種類の音色を同時に発生させることができるものとする。
【００４５】
各音色は、それぞれ１音色当たり最大３２種類の波形データから構成され、波形データは大容量フラッシュメモリ２９に格納されている。それぞれの波形データの最大値を最大６４ｋバイトとする。
【００４６】
図５は、１つの音色での波形スプリットを例示する図である。同図に示す如く、０〜１２７のキーと０〜１２７のベロシティとによって２次元的に帯域を分割して、最大３２個のスプリット（分割）エリアに、それぞれ波形データが割り当てられる。すなわち、鍵番号であるキーと、押鍵時の強さであるベロシティの２つの要因から波形データを１つだけ決定する構成を採っている。
【００４７】
図６は、実際に大容量フラッシュメモリ２９に格納されている内容と、選択的に読み出されてＲＡＭ２８に保持される内容との対応を例示する図である。
【００４８】
大容量フラッシュメモリ２９は、音色波形ディレクトリと、音色波形データ、音色パラメータ、ＣＰＵプログラム、ＣＰＵデータ、ＤＳＰプログラム、及びＤＳＰデータを格納している。
【００４９】
前記音色波形ディレクトリは、各音色の波形データについて、どのような条件で分割されているのかというキー域及びベロシティ域の情報と、実際に大容量フラッシュメモリ２９内でどのアドレスに配置されている、どの程度の長さを有するのか、という情報をまとめたテーブルである。
【００５０】
音色波形データは、例えば１６の音色毎に３２個の波形データを有するものとして最大５１２個の波形データから前記フラッシュメモリコントローラ２４により選択的に読み出される。
【００５１】
音色パラメータは、各音色毎に波形データをどのように取扱うかを示す各種パラメータを羅列したデータである。
【００５２】
ＣＰＵプログラムは、ＣＰＵ２２が実行する制御プログラムであり、ＣＰＵデータは、ＣＰＵ２２が実行する制御プログラム中で使用する固定データ等である。
【００５３】
ＤＳＰプログラムは、音源ＬＳＩ２６のＤＳＰ２６Ｄが実行する制御プログラムであり、ＤＳＰデータは、ＤＳＰ２６Ｄが実行する制御プログラム中で使用する固定データ等である。
【００５４】
ＲＡＭ２８は、音色波形ディレクトリ、波形再生部用波形バッファ、音色パラメータ、ＣＰＵプログラム、ＣＰＵデータ、ＣＰＵワーク、ＤＳＰプログラム、ＤＳＰデータ、及びＤＳＰワークを保持するための各領域を有する。
【００５５】
前記音色波形ディレクトリ用の領域では、各音色の波形データが分割されているキー域及びベロシティ域の情報と、このＲＡＭ２８内での配置アドレス、データ長等の情報をテーブルとして保持する。
【００５６】
波形再生部用波形バッファの領域では、大容量フラッシュメモリ２９から選択的に読み出した波形データを、前記音源ＬＳＩ２６の波形発生器２６Ａ内の２５６個の波形再生部それぞれに割り当てられたバッファに転送して保持する。この領域に保持する波形データは、自動演奏の再生時に発音が必要となったタイミングで随時、前記大容量フラッシュメモリ２９から読み出される。
【００５７】
音色パラメータ用の領域では、各音色毎の波形データを示す各種パラメータを保持する。
【００５８】
ＣＰＵプログラム用の領域では、ＣＰＵ２２が実行する制御プログラムの一部を大容量フラッシュメモリ２９から読み出して保持する。ＣＰＵデータ用の領域では、ＣＰＵ２２が実行する制御プログラム中で使用する固定データ等を保持する。ＣＰＵワーク用の領域では、前記図４のシーケンサ４２、イベント・タイム・ジェネレータ４３、イベント・ディレイ・バッファ４４、イベントバッファ４５、必要波形調査部４６、波形転送部４７、及び音源ドライバ４８に相当するバッファ等を構成して必要なデータ等を保持する。
【００５９】
ＤＳＰプログラム用及びＤＳＰデータ用の領域では、音源ＬＳＩ２６のＤＳＰ２６Ｄが実行する制御プログラム、固定データ等をそれぞれ大容量フラッシュメモリ２９から読み出して仲介して保持する。ＤＳＰワーク用の領域では、ＤＳＰ２６Ｄがミキサ２６Ｂから読み出して音響処理する楽音再生データ等を保持する。
【００６０】
次にＣＰＵ２２で実行するキーアサイン処理について説明する。鍵盤１１での押鍵時には、まずキーアサイン処理により、押鍵された鍵番号を割り当てる音源ＬＳＩ２６の波形発生器２６Ａ内の波形再生部を決定する。このとき、発音を停止している波形再生部を優先して割り当てる。
【００６１】
その時点で設定されている音色のスプリット情報から波形番号を特定し、当該波形番号の波形データがＲＡＭ２８の波形再生部用波形バッファのいずれからすでに保持されているか否かを調査する。
【００６２】
同波形データがバッファに保持されていない場合、所望の波形を新規に大容量フラッシュメモリ２９から読み出して転送設定する。これは、演奏者による鍵盤１１での演奏に基づいた発音のための波形データである場合か、あるいはシーケンサ４２での発音であるが、大容量フラッシュメモリ２９からの読み出しが完了していない場合が考えられる。後者の読み出しが完了していない場合では、途中まで転送が行われている可能性も含むので、その完了を待機する。
【００６３】
波形データがＲＡＭ２８のバッファに保持され、その保持位置が確定した時点で発音のため、音源ＬＳＩ２６の波形発生器２６Ａへの読み出しを開始する。
【００６４】
図７は、ＲＡＭ２８の波形再生部用波形バッファに保持するデータのディレクトリ構成を示す。バッファ番号「０」〜「２５５」毎に、転送済みフラグ、音色番号、音色内波形番号、及び波形サイズを保持している。
【００６５】
前記転送済みフラグは、そのバッファに波形データが保持されているかどうかを示すフラグであり、大容量フラッシュメモリ２９からの転送が完了した時点で「１」をセットする。
【００６６】
図８は、前記シーケンサ４２に記録するシーケンスデータのフォーマットを示す図である。同図に示すように、イベントデータ長Ｌ（ＬＥＮＧＴＨ）、イベント内容Ｅ（ＥＶＥＮＴ）、及び次のイベントまでの時間間隔を示すインターバルＩ（ＩＮＴＥＲＶＡＬ）の３つのフィールドを１組のデータとして、図９に示すように各トラック毎にこれらのデータの複数の組がそれぞれ羅列される。
【００６７】
イベントデータ長Ｌのフィールドは、続くイベント内容Ｅの長さを定義するもので、８ビットの固定語長で「０」〜「２５５」の値域となるため、実際のデータ長を「−１」した値をとる。
【００６８】
イベント内容Ｅのフィールドは、１バイト乃至２５６バイトの可変となる語長をとり、１６進数で先頭の２桁が「００Ｈ」〜「７ＦＨ」で始まる場合は後述する図１０で示すコントロールイベントである一方、「９０Ｈ」〜「ＦＦＨ」で始まる場合はＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）イベントとなる。
【００６９】
インターバルＩのフィールドは、１６ビットの固定長で「０」〜「６５５３５」の値域となり、１拍を４８０分割したＴｉｃｋという単位で次のイベントまでの時間間隔を表現する。もし１６ビットの最大値である「６５５３５」Ｔｉｃｋ以上の時間間隔が発生した場合には、コントロールイベントである前記「ＮＯＰ」イベントを使ってダミーとなるイベントを必要なだけ繋げることで、長時間を表現する。
【００７０】
図１０は、コントロールイベントのフォーマットを示す図である。例えばトラックの先頭やインターバルタイムが６５５５３５足りないときにダミーイベントとして使用する「ＮＯＰ（Ｎｏｎ  ＯＰｅｒａｔｉｏｎ）」イベント、トラックの最後に配置する「ＥＯＴ（Ｅｎｄ  Ｏｆ  Ｔｒａｃｋ）」イベント、テンポを設定するための「ＴＥＭＰＯ」イベント等が存在する。
【００７１】
前記「ＴＥＭＰＯ」イベントは、トラック１のみでしか配置、認識することができず、トラック１の記録（録音）中にシーケンサ操作ボタン部１３のテンポボタンを操作することで定義される。前記「ＴＥＭＰＯ」イベントでは、分解能を例えば０．１［ＢＰＭ］単位で設定する。
【００７２】
図１１は、実際のイベントの発生タイミング（図１１（Ａ））と、これに対応するイベントデータ（図１１（Ｂ））の具体値の例を示す図である。
【００７３】
図１１（Ａ）に示すように、開始時のＴＥＭＰＯイベント、押鍵（ＮＯＴＥ  ＯＮ）イベント、離鍵（ＮＯＴＥ  ＯＦＦ）イベント、‥‥、ピッチベンドイベントを経てトラック終了のＥＯＴイベントとなる一連の流れを例示している。
【００７４】
同図中、Ｋはノート番号（音階）、Ｖは音の強さ、Ｐｂはピッチベンド、Ｔ１〜Ｔｎはインターバルの時間間隔を示している。
【００７５】
次に図１２により、前記イベント・ディレイ・バッファ４４で取り扱うデータのフォーマット構成について説明する。前述した如くイベント・ディレイ・バッファ４４は、演奏データを一定時間だけ遅延させるための回路である。
【００７６】
ここで取扱うデータのフォーマット構成は、前記図８に示したシーケンスデータのフォーマット構成に比して、インターバルＩのフィールドを廃し、代わって先頭にタイムＴのフィールドを設けて、タイムＴ、イベントデータ長Ｌ、及びイベント内容Ｅの３つのフィールドを１組のデータとする構成となる。
【００７７】
タイムＴのフィールドは、３２ビットの固定語長で「０Ｈ」〜「ＦＦＦＦＦＦＦＦＨ」の値域となり、当該イベントが処理されるべき時刻を定義する。
【００７８】
続くイベントデータ長Ｌのフィールド、及びイベント内容Ｅのフィールドは、前記図８で示したシーケンサのイベントデータと同様の内容となる。
【００７９】
自動演奏用の演奏データを、このイベント・ディレイ・バッファ４４で一定時間だけ遅延させる。そのため、次にＲＡＭ２８に必要な波形データが保持されていない状態から、大容量フラッシュメモリ２９から必要な波形データを読み出して転送させ、ＲＡＭ２８で保持させるまでの時間を確保することで、演奏データに対する再生処理時に必要な波形データの転送が完了しておらず、演奏の楽音が部分的に欠落するような事態を回避できるものである。
【００８０】
前記遅延時間は、前述した如く例えば５０［ミリ秒］に設定し、シーケンサ操作ボタン部１３でのボタン操作に対応して遅延を行なうもので、この電子鍵盤楽器１０の使用者は、実際に演奏される（遅延された）楽曲再生された音声に合わせて演奏を行なうので、前記遅延時間を認識することはなく、その演奏には何ら影響しない。
【００８１】
イベント・タイム・ジェネレータ４３は、前記遅延時間の基準となる計時回路であり、最大値ＦＦＦＦＦＦＦＦＨの次に０Ｈに戻る３２ビットのフリーランニングタイマで構成される。イベント・タイム・ジェネレータ４３は、１［ミリ秒］毎に１づつ計時値をインクリメントする。
【００８２】
イベント・ディレイ・バッファ４４は、前記Ｔｉｃｋがテンポに依存するので遅延時間の基準とはなり得ないため、前述した如くイベント・タイム・ジェネレータ４３の計時値に基づいて、保持内容を遅延して出力する。
【００８３】
イベント・ディレイ・バッファ４４では、シーケンサ４２の出力する演奏データが入力された際、イベント・タイム・ジェネレータ４３の計時する時刻Ｔを読み取り、その値に遅延時間に相当する５０を加算した時刻情報を当該演奏データに付加しておく。
【００８４】
イベント・ディレイ・バッファ４４は、読み出しポイントに待機しているイベントに付加されている時刻情報が、イベント・タイム・ジェネレータ４３の計時値と一致するか、または経過した時点で当該イベントを読み出して第１イベントバッファ４５へ送出する。
【００８５】
以下、前記ＣＰＵ２２が実行する制御プログラムについて説明する。  
図１３は、ＣＰＵ２２が実行するメインルーチンの処理内容を示すフローチャートである。電子鍵盤楽器１０の電源を投入して本メインルーチンを開始し、ＣＰＵ２２はまず回路内の各部を初期化する（ステップＳ１０１）。この初期化に関する処理は、大容量フラッシュメモリ２９からＣＰＵプログラム、ＣＰＵデータ、ＤＳＰプログラム、ＤＳＰデータを読み出してＲＡＭ２８に保持させた後、大容量フラッシュメモリ２９から音色波形ディレクトリの必要な情報をＲＡＭ２８上の指定したアドレスに転送して保持させる処理を含む。
【００８６】
初期化完了後にＣＰＵ２２は、鍵盤１１等での押鍵、離鍵操作に対する鍵盤処理や音色選択ボタン部１２、シーケンサ操作ボタン部１３でのボタン操作に対するスイッチ処理を含むイベント処理（ステップＳ１０２）、シーケンサ４２での演奏データの再生や停止中を行なうシーケンサ処理（ステップＳ１０３）、イベント・ディレイ・バッファ４４でのイベントデータに対するディレイ処理や必要波形調査部４６で定期的に実行する処理などを含む周期処理（ステップＳ１０４）を順次繰返して実行する。
【００８７】
前記ステップＳ１０２におけるイベント処理中、鍵盤１１での押鍵イベントがあった場合、ＣＰＵ２２は押鍵された鍵盤の位置に応じたノート番号と押鍵時の強さに応じたベロシティとを含む鍵盤発音イベントを生成し、生成した発音イベントをイベントバッファ４５に送信する。
【００８８】
同様にイベント処理中、鍵盤１１での離鍵イベントがあった場合、ＣＰＵ２２は離鍵された鍵盤の位置に応じたノート番号と離鍵時の強さに応じたベロシティとを含む鍵盤消音イベントを生成し、生成した消音イベントをイベントバッファ４５に送信する。
【００８９】
イベントバッファ４５にイベントが送信された場合、音源ドライバ４８はイベントバッファ４５に保持されているイベントを取得した上で、音源ＬＳＩ２６を含む発音部４９による発音や消音の処理を実行する。
【００９０】
図１４は、前記ステップＳ１０３のシーケンサ処理で実行される、シーケンサ再生時のサブルーチンのフローチャートである。電子鍵盤楽器１０の演奏者がシーケンサ操作ボタン部１３の再生（ＰＬＡＹ）を操作した場合、ＣＰＵ２２によりこの図１４の処理が起動される。
【００９１】
処理当初には、まず再生開始からのＴｉｃｋを更新した上で（ステップＳ２０１）、更新したＴｉｃｋで処理するイベントがあるか否かを判断する（ステップＳ２０２）。
【００９２】
処理するイベントがあると判断した場合（ステップＳ２０２のＹｅｓ）、詳細な処理を後述する必要波形調査処理を実行する（ステップＳ２０３）。
【００９３】
次に、イベント・タイム・ジェネレータ４３から現在の時刻情報Ｔを取得する（ステップＳ２０４）。
【００９４】
ＣＰＵ２２は、この取得した時刻情報Ｔに、一定の遅延時間５０［ミリ秒］を加算した時刻をイベントの時刻ＴＩＭＥとして当該イベントデータに付加した上で（ステップＳ２０５）、前記のようにイベント・ディレイ・バッファ４４に送信して保持させる（ステップＳ２０６）。
【００９５】
その後、前記ステップＳ２０２からの処理に戻り、同一のＴｉｃｋで他に処理すべきイベントがあれば、同様の処理を繰返し実行する。
【００９６】
前記ステップＳ２０２において、イベントがない、もしくは同一のＴｉｃｋで処理すべきイベントを完了したと判断した場合（ステップＳ２０２のＮｏ）、ＣＰＵ２２はこの図１４の処理を終了する。
【００９７】
図１５は、前記図１３のステップＳ１０４において、シーケンサ４２から送信されてきたイベントデータを保持するイベント・ディレイ・バッファ４４で周期的に実行する処理を示すサブルーチンのフローチャートである。
【００９８】
ＣＰＵ２２は、イベント・ディレイ・バッファ４４により、まずイベント・タイム・ジェネレータ４３から現在の時刻情報Ｔを取得させる（ステップＳ３０１）。
【００９９】
次にＣＰＵ２２は、イベント・ディレイ・バッファ４４の読み出し用のリードポインタに示されるイベントデータに付加されている時間情報ＴＩＭＥを取得し、取得した時刻情報ＴＩＭＥが、その直前にイベント・タイム・ジェネレータ４３から取得した現在の時刻情報Ｔと等しいか、あるいは超えているか否かにより、その時点のタイミングで処理すべきイベントデータがあるか否かを判断する（ステップＳ３０２）。
【０１００】
取得した時刻情報ＴＩＭＥが、その直前に取得した現在の時刻情報Ｔと等しいか、あるいは超えていると判断した場合（ステップＳ３０２のＹｅｓ）、ＣＰＵ２２は、該当するイベントデータをイベント・ディレイ・バッファ４４から読み出してイベントバッファ４５へ送信させる（ステップＳ３０３）。
【０１０１】
次にＣＰＵ２２は、前記リードポインタの値を１イベント分更新設定した上で（ステップＳ３０４）、再び前記ステップＳ３０２からの処理に戻り、まだこのタイミングで他に処理すべきイベントデータがあれば、同様に読み出して第１イベントバッファ４５へ送信させる。
【０１０２】
そして、前記ステップＳ３０２において、イベント・ディレイ・バッファ４４の読み出し用のリードポインタに示されるイベントデータに付加されている時間情報ＴＩＭＥが現在の時刻情報Ｔに達していないと判断した場合、もしくはイベント・ディレイ・バッファ４４から読み出すべきイベントデータがないと判断した場合に（ステップＳ３０２のＮｏ）、この図１５の処理を終了する。
【０１０３】
図１６は、ＣＰＵ２２が前記音源ドライバ４８により実行させるサブルーチンの処理内容を示すフローチャートである。
【０１０４】
処理当初にＣＰＵ２２は、イベントバッファ４５に送信されてきたイベントデータを取得する（ステップＳ４０１）。ＣＰＵ２２は、取得したイベントデータが発音イベントであるか否かを判断する（ステップＳ４０２）。イベントデータが発音イベントであると判断した場合（ステップＳ４０２のＹｅｓ）、ＣＰＵ２２はキーアサイン処理により、音源ＬＳＩ２６の波形発生器２６Ａ内の２５６個の波形再生部の１つを割り当てる（ステップＳ４０３）。
【０１０５】
次にＣＰＵ２２は、その発音イベントで使用する波形データをあらたに大容量フラッシュメモリ２９から読み出して転送させる必要があるか否かを調べるため、詳細な処理を後述する必要波形調査処理を実行する（ステップＳ４０４）。
【０１０６】
また前記ステップＳ４０２において、取得したイベントデータが発音イベントではないと判断した場合（ステップＳ４０２のＮｏ）、ＣＰＵ２２は前記ステップＳ４０３，Ｓ４０４の処理を省略する。
【０１０７】
その後にＣＰＵ２２は、取得したイベントデータに応じた発音または消音処理を実行した上で（ステップＳ４０５）、この図１６による音源ドライバ４８での処理を一旦終了する。
【０１０８】
図１７は、前記図４の必要波形調査部４６が実行する、前記図１４のステップＳ２０３、及び前記図１６のステップＳ４０４での必要波形調査処理のサブルーチンの処理内容を示すフローチャートである。
【０１０９】
処理当初にＣＰＵ２２は、発生したイベントが発音イベントであるか否かを判断する（ステップＳ５０１）。発音イベントではないと判断した場合（ステップＳ５０１のＮｏ）、ＣＰＵ２２はこの図１７の処理を終了する。
【０１１０】
前記ステップＳ５０１において、発生したイベントが発音イベントであることを確認すると（ステップＳ５０１のＹｅｓ）、ＣＰＵ２２はその発音イベントで必要とされる波形データの波形番号を取得する（ステップＳ５０２）。
【０１１１】
以下、この波形番号の取得の詳細について説明する。  
ＣＰＵ２２は、取得した発音イベントにおいて記述されるキー番号とベロシティを取得し、ＲＡＭ２８のＣＰＵワーク領域から音色番号を取得する。その後、大容量フラッシュメモリ２９の音色波形ディレクトリのテーブル先頭から、音色番号が一致し、且つノート番号が最大キー番号以下、且つ最小キー番号以上であり、且つ、ベロシティが最大ベロシティ以下、且つ最小ベロシティ以上であるテーブルの波形番号と波形サイズ、及び音色波形領域の先頭からのアドレスを取得する。
【０１１２】
そして、取得したそれらを基準として、ＲＡＭ２８の波形再生部用波形バッファを変数ｉ（ｉ＝１，２，…，２５６）を用いて順次サーチして、波形番号が一致する波形データがあるか否かにより、すでにこのＲＡＭ２８の波形再生部用波形バッファに必要とする波形データが保持されているか否かを判断する（ステップＳ５０３〜Ｓ５０６）。
【０１１３】
波形番号が一致する波形データがすでにバッファされていると判断した場合（ステップＳ５０４のＹｅｓ）、ＣＰＵ２２はあらたに大容量フラッシュメモリ２９から必要な波形データを転送させる必要がないものとして、この図１７の処理を終了する。
【０１１４】
また波形番号が一致する波形データがないままに２５６番目の波形バッファの調査を終え、結果としてＲＡＭ２８には必要な系データが保持されていないと判断した場合（ステップＳ５０６のＹｅｓ）、ＣＰＵ２２は大容量フラッシュメモリ２９から必要な波形データを読み出して転送する要求を発生した上で（ステップＳ５０７）、以上でこの図１７の処理を終了する。
【０１１５】
図１８は、前記要求に基づいてＣＰＵ２２が実行する、波形データの転送処理のサブルーチンの処理内容を示すフローチャートである。図４の機能回路上の構成では、必要波形調査部４６からの要求に応じて波形転送部４７が実行する。
【０１１６】
ＣＰＵ２２はまず、ＲＡＭ２８の波形再生部用波形バッファ領域の２５６個の波形バッファに対し、少なくとも１つの空きがあるか否かを判断する（ステップＳ６０１）。ここで空いている波形バッファがあると判断した場合（ステップＳ６０１のＹｅｓ）、ＣＰＵ２２は大容量フラッシュメモリ２９から必要な波形データを読み出し、その空いている波形バッファに転送して保持させた上で（ステップＳ６０４）、以上でこの図１８の処理を終了する。
【０１１７】
また前記ステップＳ６０１において、空いている波形バッファが１つもないと判断した場合（ステップＳ６０１のＮｏ）、ＣＰＵ２２は、２５６個の波形バッファ中、音楽的に最も優先度の低い波形データを保持しているものを、音色番号とキー番号領域、及びベロシティ等を含む要因に基づいて１つ選択し、選択した内容により音源ＬＳＩ２６の波形発生器２６Ａ内で、対応する波形再生部によりクリックノイズが発生しない程度の短時間、例えば２［ミリ秒］中に発音を無段階で減衰させる急速ダンプ処理を実行させる（ステップＳ６０２）。
【０１１８】
ＣＰＵ２２は、この処理により急速ダンプ処理が終了するのを待機する（ステップＳ６０３）。そして、前記急速ダンプ処理が終了したと判断した時点で（ステップＳ６０３のＹｅｓ）、ＣＰＵ２２はあらためて大容量フラッシュメモリ２９から必要な波形データを読み出し、前記ダンプ処理した波形データを保持していた波形バッファに転送し、上書きして保持させた上で（ステップＳ６０４）、以上でこの図１８の処理を終了する。
【０１１９】
このように、自動演奏中に必要な波形データを大容量フラッシュメモリ２９から読み出し、ＲＡＭ２８に転送して保持させる場合であっても、実際に演奏で発音する波形データは、前記イベント・タイム・ジェネレータ４３、イベント・ディレイ・バッファ４４を用いて前述した一定時間、例えば５０［ミリ秒］だけ遅延したであるため、前記あらたな波形データの転送に要する時間を十分確保した上で、欠落等を生じずに演奏を継続することができる。
【０１２０】
以上詳述した如く本実施形態によれば、音源用に保持している波形データ以外の波形データが必要となった場合に、さらに波形データを転送して保持させる際の処理を円滑に実行することが可能となる。
【０１２１】
また前記実施形態では、自動演奏事態は一定時間だけ遅延した内容となるものの、それに合わせた鍵盤１１での演奏には遅延を生じないため、演奏者は前記遅延時間を意識することなく、自動演奏を伴った演奏を楽しむことができる。
【０１２２】
また前記演奏中の大容量フラッシュメモリ２９からＲＡＭ２８への波形データの転送に際して、ＲＡＭ２８で保持できる波形バッファに空きがないと判断された場合には、その時点ですでに保持されている波形データ中で、音楽的に優先度が低く、消音したとしても全体の演奏に最も影響が少ないと思われる波形データを選択した上で、その発音をクリックノイズが発生しない程度の十分に短い時間幅で急速に減衰処理させた上で、当該波形データが保持されていたバッファ位置に、あらたに波形データを転送設定して保持させるものとしたので、演奏に用いる波形データを保持できるＲＡＭ２８の容量が限られている場合でも、演奏内容に大きな影響を与えることなく、波形データの転送を実現できる。
【０１２３】
なお前記実施形態では、鍵盤１１を用いた電子鍵盤楽器１０に適用した場合について説明したが、本発明は電子楽器としての種類等を限定するものではなく、演奏データの自動再生が可能な電子機器であれば、ソフトウェアを含む各種シンセサイザやタブレット端末、パーソナルコンピュータ等でも同様に適用することが可能となる。
【０１２４】
その他、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１２５】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［請求項１］  
第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、  
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、  
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、  
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、  
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、  
を実行する電子楽器。  
［請求項２］  
前記出力処理は、前記演奏データに含まれる各イベントが発生するタイミングにそれぞれ一定の遅延時間を与える遅延処理を実行することにより前記遅延演奏データを出力する、請求項１に記載の電子楽器。  
［請求項３］  
前記自動演奏処理による前記遅延演奏データに応じた前記自動演奏に合わせて演奏操作子が操作されることにより前記操作に応じた楽音を前記発音部に発音させる演奏処理、をさらに実行する請求項１または２に記載の電子楽器。  
［請求項４］  
前記転送処理は、前記第２の記憶手段内に前記複数の自動演奏用波形データが記憶されていない場合に、前記複数の自動演奏用波形データを前記第１の記憶手段内から前記第２の記憶手段に転送する、請求項１乃至３のいずれかに記載の電子楽器。  
［請求項５］  
電子楽器のコンピュータに、  
第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、  
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、  
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、  
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、  
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、  
を実行させる方法。  
［請求項６］  
電子楽器のコンピュータに、  
第１の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、  
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第１の記憶手段から第２の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、  
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第１の記憶手段内から前記第２の記憶手段に転送する転送処理と、  
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、  
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第２の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、  
を実行させるプログラム。
【符号の説明】
【０１２６】
１０…電子鍵盤楽器、
１１…鍵盤、
１２…音色選択ボタン部（ＴＯＮＥ）、
１３…シーケンサ操作ボタン部（ＳＥＱＵＥＮＣＥＲ）、
１４…ベンダ／モジュレーションホイール、
１５…液晶表示部、
１６…スピーカ、
２１…バスコントローラ、
２２…ＣＰＵ、
２３…メモリコントローラ、
２４…フラッシュメモリコントローラ、
２５…ＤＭＡコントローラ、
２６…音源ＬＳＩ、
２６Ａ…波形発生器、
２６Ｂ…ミキサ、
２６Ｃ…バスインタフェイス、
２６Ｄ…ＤＳＰ、
２７…入出力（Ｉ／Ｏ）コントローラ、
２８…ＲＡＭ、
２９…大容量フラッシュメモリ、
３０…Ｄ／Ａコンバータ、
３１…アンプ、
３２…ＬＣＤコントローラ、
３３…キースキャナ、
３４…Ａ／Ｄコンバータ、
４１…ソングメモリ、
４２…シーケンサ、
４３…イベント・タイム・ジェネレータ、
４４…イベント・ディレイ・バッファ、
４５…イベントバッファ、
４６…必要波形調査部、
４７…波形転送部、
４８…音源ドライバ、
４９…発音部、
Ｂ…バス
【図１】
2019168517.tif 000003
【図２】
2019168517.tif 000004
【図３】
2019168517.tif 000005
【図４】
2019168517.tif 000006
【図５】
2019168517.tif 000007
【図６】
2019168517.tif 000008
【図７】
2019168517.tif 000009
【図８】
2019168517.tif 000010
【図９】
2019168517.tif 000011
【図１０】
2019168517.tif 000012
【図１１】
2019168517.tif 000013
【図１２】
2019168517.tif 000014
【図１３】
2019168517.tif 000015
【図１４】
2019168517.tif 000016
【図１５】
2019168517.tif 000017
【図１６】
2019168517.tif 000018
【図１７】
2019168517.tif 000019
【図１８】
2019168517.tif 000020