(57)【特許請求の範囲】
【請求項１】
楽音波形を表す複数の波形情報を書き換え可能に記憶する第１記憶部と、
前記第１記憶部から前記複数の波形情報のうちの１つ又は複数の波形情報を読み出して楽音信号を発生する音源部と、
前記音源部にて発生させる前記楽音信号を規定する情報であって、前記波形情報を除く情報である楽音情報を記憶する第２記憶部と、
前記楽音情報及び前記波形情報を書き換え可能に記憶する第３記憶部と、
楽音信号発生の指示に応答して、前記楽音信号発生の指示に応じた前記楽音情報を前記第２記憶部から読み出し、前記読み出した楽音情報を前記音源部に供給して前記楽音信号発生を開始させる制御部と、
前記第１記憶部及び前記音源部の間に設けられた前記波形情報の転送経路である第１バスと、
前記音源部、前記第２記憶部、前記第３記憶部及び前記制御部の間に設けられた前記波形情報及び前記楽音情報の転送経路である第２バスとを備えた楽音信号発生装置において、
前記第１記憶部は、
前記第１バスに接続された第１メモリであって、前記波形情報を揮発に記憶する第１メモリと、
前記第１バスに着脱可能に接続された第２メモリであって、前記波形情報を不揮発に記憶する第２メモリと、を備え、
前記第３記憶部は、
前記第２バスに着脱可能に接続された第３メモリであって、前記楽音情報及び前記波形情報を不揮発に記憶する第３メモリを備え、
前記制御部は、
前記第１メモリ又は前記第２メモリに記憶されている前記複数の波形情報を前記第３メモリに書き込む第１波形情報書き込み手段と、
前記第１メモリに記憶されている前記複数の波形情報を前記第２メモリに書き込む第２波形情報書き込み手段と、
前記第２記憶部に記憶されている前記楽音情報を、前記第３メモリに書き込む楽音情報書き込み手段と、
前記第３メモリに記憶されている前記波形情報を前記第１メモリ又は前記第２メモリに読み込む波形情報読み込み手段と、
前記第３メモリに記憶されている前記楽音情報を前記第２記憶部に読み込む楽音情報読み込み手段とを備えたことを特徴とする楽音信号発生装置。
【請求項２】
請求項１に記載の楽音信号発生装置において、さらに、
前記制御部は、
前記第２記憶部に記憶されている前記楽音情報を、前記楽音情報を用いることにより選択される前記波形情報とともに前記第３メモリに書き込むか、前記楽音情報のみを前記第３メモリに書き込むかを決定する書き込み情報決定手段と、
前記第３メモリに記憶されている楽音情報を前記第２記憶部に読み込むとともに前記楽音情報を用いることにより選択される前記波形情報であって前記第３メモリに記憶されている前記波形情報を前記第１メモリ又は前記第２メモリに読み込むか、前記楽音情報のみを前記第２記憶部に読み込むかを決定する読み込み情報決定手段とを備え、
前記第１波形情報書き込み手段は、
前記書き込み情報決定手段によって、前記第２記憶部に記憶されている前記楽音情報を、前記楽音情報を用いることにより選択される前記波形情報とともに前記第３メモリに書き込むことが決定されたときにのみ、前記波形情報を前記第３メモリに書き込み、
前記波形情報読み込み手段は、
前記読み込み情報決定手段によって、前記第３メモリに記憶されている前記楽音情報を前記第２記憶部に読み込むとともに前記楽音情報を用いることにより選択される波形情報であって前記第３メモリに記憶されている前記波形情報を前記第１メモリ又は前記第２メモリに読み込むことが決定されたときにのみ、前記波形情報を前記第１メモリ又は前記第２メモリに読み込むことを特徴とする楽音信号発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音波形を表す波形データを記憶したメモリを備え、前記メモリから前記波形データを読み出して楽音波形信号を発生する楽音信号発生装置に関する。
【背景技術】
【０００２】
従来から、例えば下記非特許文献１に示されているように、楽音を波形データとして録音する機能を備えた楽音信号発生装置は知られている。この波形データは、楽音信号発生装置が備えるＲＡＭに記憶される。したがって、楽音信号発生装置の電源をオフする前に、前記ＲＡＭに記憶された波形データを、ハードディスク、ＣＤ−ＲＯＭなどの記憶装置又はＭＩＤＩインターフェース、ＵＳＢインターフェースなどの外部インターフェースに接続された他のＭＩＤＩ機器、パーソナルコンピュータ、ＵＳＢメモリなどの外部機器に記憶させて保存しておかなければ、楽音信号発生装置の電源オフとともに、前記ＲＡＭに記憶された波形データが消えてしまい、楽音信号発生装置の再起動時にその波形データを利用して発音することができない。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ＭＯＴＩＦ ＸＳ６／ＭＯＴＩＦ ＸＳ７／ＭＯＴＩＦ ＸＳ８取扱説明書」（２００７年  ヤマハ株式会社）http://www2.yamaha.co.jp/manual/pdf/emi/japan/synth/motifxs_ja_om_d0.pdf
【発明の概要】
【０００４】
しかし、上記非特許文献１に記載の楽音信号発生装置においては、波形データを記憶装置又は外部機器に保存しておいたとしても、その波形データを再び利用するためには、それらの記憶装置又は外部機器から波形データを前記ＲＡＭに読み込まなくてはならない。また、上記非特許文献１に記載の楽音信号発生装置においては、楽音を録音した楽音信号発生装置とは別の楽音信号発生装置で前記録音した楽音の波形データを利用する場合、ＭＩＤＩインターフェース、ＵＳＢインターフェースなどの外部インターフェースを介して、波形データを前記別の楽音信号発生装置に転送する必要がある。この場合、前記別の楽音信号発生装置において、前記転送した波形データを利用して発音するためには、音色の設定である音色パラメータも転送しておく必要がある。このように、上記従来の楽音信号発生装置においては、波形データの保存及び再利用に手間がかかり不便であった。また、複数の楽音信号発生装置で波形データ及び音色パラメータを共用する場合、波形データ及び音色パラメータの転送に手間がかかり不便であった。
【０００５】
本発明は上記問題に対処するためになされたもので、その目的は、簡単に波形データの保存、再利用及び共用ができる楽音信号発生装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
【０００６】
上記目的を達成するために、本発明の特徴は、楽音波形を表す複数の波形情報を書き換え可能に記憶する第１記憶部（１７，ＭＢ１，ＭＢ２）と、第１記憶部から複数の波形情報のうちの１つ又は複数の波形情報を読み出して楽音信号を発生する音源部（１４）と、音源部にて発生させる楽音信号を規定する情報であって、前記波形情報を除く情報である楽音情報を記憶する第２記憶部（２４，２６）と、楽音情報及び波形情報を書き換え可能に記憶する第３記憶部と、楽音信号発生の指示に応答して、前記楽音信号発生の指示に応じた楽音情報を第２記憶部から読み出し、読み出した楽音情報を音源部に供給して楽音信号発生を開始させる制御部（２３）と、第１記憶部及び音源部の間に設けられた波形情報の転送経路である第１バス（３１）と、音源部、第２記憶部、第３記憶部及び制御部の間に設けられた波形情報及び楽音情報の転送経路である第２バス（２９）とを備えた楽音信号発生装置において、第１記憶部は、第１バスに接続された第１メモリであって、波形情報を揮発に記憶する第１メモリ（１７）と、第１バスに着脱可能に接続された第２メモリであって、波形情報を不揮発に記憶する第２メモリ（ＭＢ１，ＭＢ２）とを備え、第３記憶部は、第２バスに着脱可能に接続された第３メモリ（２７，ＡＥ）であって、楽音情報及び波形情報を不揮発に記憶する第３メモリを備え、制御部は、第１メモリ又は第２メモリに記憶されている複数の波形情報を第３メモリに書き込む第１波形情報書き込み手段（Ｓ８０５）と、第１メモリに記憶されている複数の波形情報を第２メモリに書き込む第２波形情報書き込み手段（Ｓ６０８）と、第２記憶部に記憶されている楽音情報を、第３メモリに書き込む楽音情報書き込み手段（Ｓ８０６）と、第３メモリに記憶されている波形情報を第１メモリ又は第２メモリに読み込む波形情報読み込み手段（Ｓ９０６）と、第３メモリに記憶されている楽音情報を第２記憶部に読み込む楽音情報読み込み手段（Ｓ９０７）とを備えたことにある。
【０００７】
上記のように構成した楽音信号発生装置によれば、つぎに説明するように、不揮発に記憶した波形情報を再利用するときに波形情報をコピーする手間を省くとともに、制御部が各種処理を円滑に遂行できる。すなわち、音源部が楽音を生成するときには、第１メモリ及び第２メモリから大量の波形情報を瞬時に読み出さなければならない。ここで、制御部と音源部が同一のバスを共有していたのでは、バス権（バスを専有する権利）の調整が必要となる。しかし、上記のように音源部が大量の波形情報を瞬時に処理するために、共有しているバスを専有してしまうと、制御部の処理が滞る。そこで、バスを音源部によって制御される波形情報の転送経路である第１バスと、制御部によって制御される楽音情報の転送経路である第２バスとに分けて設けておく必要がある。また、楽音情報及び波形情報を複数の楽音信号発生装置の間で共有するため及び別途保存しておくために、楽音情報及び波形情報を不揮発に記憶する外部機器（例えば、ＵＳＢメモリ）に出力して記憶させておく必要がある。とくに、ユーザが楽音をサンプリングするときには、高速に読み書き可能なＲＡＭにサンプリングした楽音の波形情報が記憶される。この場合、ＲＡＭに記憶された波形情報は、前記外部機器に保存しておかなければ楽音信号発生装置の電源オフとともに消えてしまう。従来の楽音信号発生装置においては、前記外部機器は、第２バスにのみ接続可能となっており、制御部により制御されていた。この場合、前記外部機器に記憶された波形情報を利用して楽音を生成するためには、まず制御部が第２バス経由で波形情報を前記外部機器から読み出し、前記制御部によって読み出された波形情報を音源部が第２バス及び第１バス経由で波形メモリ（ＲＡＭ）に読み込んでおく必要があり、音源部が第２バスを頻繁に専有する。また、上記のように、上記従来の楽音信号発生装置においては、外部機器に保存された波形情報を波形メモリに読み込み直しておかなければならず面倒であった。しかし、上記のように構成した本発明に係る楽音信号発生装置においては、不揮発に波形情報を記憶する第２メモリを第１バスに着脱可能に設けた。したがって、第１メモリに一時的に記憶した波形情報を第２メモリに不揮発に保存できるので、上記従来の楽音信号発生装置のように、波形情報を前記外部機器に保存しておき、後に前記外部機器から波形メモリに波形情報を読み込み直すという手間を省くことができるだけでなく、音源部が第２バスを専有する機会を減らすこともできるので、制御部は各種処理を円滑に遂行できる。
【０００８】
また、本発明の他の特徴は、制御部は、第２記憶部に記憶されている楽音情報を、前記楽音情報を用いることにより選択される波形情報とともに第３メモリに書き込むか、前記楽音情報のみを第３メモリに書き込むかを決定する書き込み情報決定手段（Ｓ８０４）と、第３メモリに記憶されている楽音情報を第２記憶部に読み込むとともに前記楽音情報を用いることにより選択される波形情報であって第３メモリに記憶されている波形情報を第１メモリ又は第２メモリに読み込むか、前記楽音情報のみを第２記憶部に読み込むかを決定する読み込み情報決定手段（Ｓ９０５）を備え、第１波形情報書き込み手段は、書き込み情報決定手段によって、第２記憶部に記憶されている楽音情報を、前記楽音情報を用いることにより選択される波形情報とともに第３メモリに書き込むことが決定されたときにのみ、前記波形情報を第３メモリに書き込み、波形情報読み込み手段は、読み込み情報決定手段によって、第３メモリに記憶されている楽音情報を第２記憶部に読み込むとともに前記楽音情報を用いることにより選択される波形情報であって第３メモリに記憶されている波形情報を第１メモリ又は第２メモリに読み込むことが決定されたときにのみ、前記波形情報を第１メモリ又は第２メモリに読み込むことにある。
【０００９】
上記のように構成した楽音信号発生装置によれば、楽音情報のみを読み書きすることができる。楽音情報は、波形情報に比べてデータ量が小さいので、楽音情報の読み書きにかかる時間は短い。したがって、波形情報の読み書きが不要な場合は、楽音情報のみを読み書きすることを選択することにより、作業時間を大幅に短縮できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る楽音信号発生装置の適用された電子楽器の全体ブロック図である。
【図２】図１の各種メモリに記憶される各種データの全体構成を示すブロック図である。
【図３】ボイスデータの構成を示すメモリマップである。
【図４】キーバンクデータの構成を示すメモリマップである。
【図５Ａ】プリセットテーブルを示す概念図である。
【図５Ｂ】第１スロットテーブルを示す概念図である。
【図５Ｃ】第２スロットテーブルを示す概念図である。
【図５Ｄ】波形ＲＡＭテーブルを示す概念図である。
【図６】波形メモリに記憶されるデータの構成を示すメモリマップである。
【図７】メインプログラムを示すフローチャートである。
【図８】図７の初期化ルーチンを示すフローチャートである。
【図９】図８のユーザボイス用データ復元ルーチンを示すフローチャートである。
【図１０】図７のサンプリングルーチンを示すフローチャートである。
【図１１】図７の波形データ編集ルーチンを示すフローチャートである。
【図１２】図７の波形データコピールーチンを示すフローチャートである。
【図１３】図７のキーバンクデータ又はユーザボイスデータ編集ルーチンを示すフローチャートである。
【図１４】図７のキーバンクデータ書き出しルーチンを示すフローチャートである。
【図１５】図７のキーバンクデータ読み込みルーチンを示すフローチャートである。
【図１６】図７のメモリボード初期化ルーチンを示すフローチャートである。
【図１７】図７の楽音生成ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１１】
まず、本発明の一実施形態の全体構成について図面を用いて説明する。図１は、本発明の一実施形態に係る楽音信号発生装置が適用される電子楽器の全体ブロック図である。この電子楽器は、演奏操作子１１、設定操作子１２、表示器１３、音源回路１４、波形ＲＯＭ１６、波形ＲＡＭ１７、楽音入力回路１８、楽音出力回路１９、第１スロット２１、第２スロット２２、ＣＰＵ２３、データＲＯＭ２４、ワークＲＡＭ２６、記憶装置２７及び外部インターフェース回路２８を備えている。
【００１２】
演奏操作子１１は、鍵盤、ペダル操作子などからなる。鍵盤は、演奏者の手によって操作されて、それぞれ発生させる楽音信号の音高を指定するとともに楽音信号の発生及び停止を指示する複数の白鍵及び黒鍵からなる。ペダル操作子は、演奏者の足によって操作されて、発生される楽音信号の音色、音量、効果などの楽音特性を設定する。これらの操作子には、オンオフ操作子に加えてスライド式操作子が含まれる。また、ペダル操作子には、オンオフ操作に対応したスイッチ、スライド式操作子に対応したボリューム又はリニアエンコーダなどの各操作子に対応した作動素子も含まれる。
【００１３】
設定操作子１２は、電子楽器の操作パネル上に設けられた複数の操作子からなる。これらの操作子も、演奏者の手によって操作されて、発生される楽音信号の音色、音量、効果等の楽音特性を設定する操作子を含み、電子楽器全体の動作を設定するためのものである。これらの操作子には、オンオフ操作子に加えて、回転式操作子、スライド式操作子などの各種操作子が含まれる。また、設定操作子１２にはオンオフ操作子に対応したスイッチ、回転式操作子に対応したボリューム又はロータリーエンコーダ、スライド式操作子に対応したボリューム又はリニアエンコーダなど、各操作子に対応した作動素子も含まれる。演奏操作子１１及び設定操作子１２は、ＣＰＵバス２９に接続されていて、各操作子の操作を表す操作情報が、ＣＰＵバス２９を介して後述するＣＰＵ２３に供給される。また、この電子楽器は自動演奏機能を備えていて、自動演奏機能の動作により発生する演奏情報もＣＰＵバス２９を介してＣＰＵ２３に供給される。
【００１４】
表示器１３は、液晶ディスプレイ（ＬＣＤ）によって構成され、表示画面上に文字、図形などを表示する。この表示器１３の表示は、ＣＰＵバス２９を介してＣＰＵ２３によって制御される。
【００１５】
波形ＲＯＭ１６は、複数の楽音波形を表す波形データを不揮発に記憶する。なお、波形ＲＯＭ１６に記憶されている波形データを書き換えることはできない。波形ＲＯＭ１６は、波形データバス３１を介して音源回路１４に接続されている。また、音源回路１４には、楽音入力回路１８が接続されている。楽音入力回路１８は、音響信号を電気的なアナログ楽音信号に変換するマイク、変換したアナログ楽音信号を増幅するアンプ、及び増幅されたアナログ楽音信号をディジタル楽音信号に変換するＡ／Ｄ変換器を備えている。そして、音源回路１４は、楽音入力回路１８を介して楽音を入力し、入力した楽音の波形を波形データとして波形ＲＡＭ１７に記憶させる。波形ＲＡＭ１７も、波形ＲＯＭ１６と同様に、波形データバス３１を介して音源回路１４に接続されている。波形ＲＡＭ１７は、複数の楽音波形を表す波形データを書き換え可能かつ揮発に記憶する。また、波形データバス３１には、第１スロット２１及び第２スロット２２が接続されている。第１スロット２１及び第２スロット２２は、波形データを書き換え可能かつ不揮発に記憶するメモリ（例えば、ＮＯＲ型のフラッシュＲＯＭ）を有するメモリボードＭＢ１及びメモリボードＭＢ２をそれぞれ接続するためのコネクタである。なお、第１スロットに接続されるメモリボードＭＢ１と第２スロットに接続されるメモリボードＭＢ２は、同様の構成であり、後述するように、スロットを入れ替えて接続してもよい。したがって、以下の説明では、メモリボードＭＢ１及びメモリボードＭＢ２をメモリボードＭＢとして説明する。メモリボードＭＢのフラッシュＲＯＭは、波形ＲＡＭ１７に記憶した波形データを転送して記憶するメモリである。なお、スロット数は２つに限られず、１つであってもよいし、３つ以上であってもよい。
【００１６】
また、音源回路１４には、楽音出力回路１９が接続されている。音源回路１４は、ＣＰＵ２３によって指定された波形データを波形ＲＯＭ１６、波形ＲＡＭ１７及びメモリボードＭＢから読み出してディジタル楽音信号を生成し、楽音出力回路１９に供給する。楽音出力回路１９は、音源回路１４から供給されたディジタル楽音信号をアナログ楽音信号に変換するＤ／Ａ変換器、変換されたアナログ楽音信号を増幅するアンプ、及び増幅されたアナログ楽音信号を音響信号に変換して出力するスピーカを備えている。なお、ディジタル楽音信号にコーラス効果、残響効果などの各種効果を付加するエフェクタ回路が音源回路１４に含まれている。また、楽音信号の音量を制御する音量制御回路、音色を制御するフィルタ回路、発音開始後の時間経過に従って音量及び音色を変化させる各種エンベロープ回路なども音源回路１４に含まれている。
【００１７】
ＣＰＵ２３は、この電子楽器全体を制御する。データＲＯＭ２４は、後述する各種データ及び各種プログラムを書き換え可能かつ不揮発に記憶するメモリ（例えば、ＮＡＮＤ型のフラッシュメモリ）である。ＣＰＵ２３は、演奏操作子及び外部インターフェース回路２８から供給される演奏情報並びに自動演奏機能によって発生する演奏情報に応じて、音源回路１４に、発音のために必要な情報を供給する。この電子楽器は、楽音波形を各要素に分解したエレメント波形をそれぞれ波形データとして波形ＲＯＭ、波形ＲＡＭ及びメモリボードＭＢのフラッシュＲＯＭに記憶している。さらに、所定の鍵域及び所定の押鍵強さごとに複数のエレメント波形を波形データとして波形ＲＯＭ、波形ＲＡＭ及びメモリボードＭＢに記憶している。そして、ＣＰＵ２３は、１つの演奏情報に応答して、音源回路１４に発音指示を行うと、音源回路１４は、対応する１つ又は複数の波形データを波形ＲＯＭ、波形ＲＡＭ及びメモリボードＭＢのうちのいずれか１つ又は複数のメモリから読み出して合成し、１つの楽音を発生する。
【００１８】
また、記憶装置２７は、ＨＤＤ、ＦＤＤ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどの大容量の不揮発性記録媒体と、同各記録媒体に対応するドライブユニットを含むものであり、各種データ及びプログラムの記憶及び読出しを可能にしている。これらのデータ及びプログラムは予め記憶装置２７に記憶されていてもよいし、外部インターフェース回路２８を介して外部から取り込んでもよい。そして、記憶装置２７に記憶された各種データ及びプログラムは、ＣＰＵ２３によって読み込まれ、電子楽器の制御に利用される。外部インターフェース回路２８は、ＵＳＢインターフェース回路、ＭＩＤＩインターフェース回路及び通信インターフェース回路を含んでおり、ＵＳＢメモリ、他の電子音楽装置、パーソナルコンピュータなどの外部機器ＡＥをこの電子楽器に接続可能とするともに、インターネットなどの通信ネットワークにこの電子楽器を接続可能としている。
【００１９】
つぎに、データＲＯＭ２４及びワークＲＡＭ２６に記憶される各種データについて説明する。図２に示すように、データＲＯＭ２４は、予め楽音の発生態様が設定されていてユーザが前記設定を変更及び削除することができないプリセットボイス用のデータを記憶している。プリセットボイス用のデータは、複数のプリセットボイスデータ、複数のプリセットキーバンクデータ及びプリセットテーブルからなる。プリセットボイスデータは、１つ又は複数のプリセットキーバンクデータを選択するためのデータである。プリセットキーバンクデータは、演奏情報に含まれる鍵番号及び押鍵強さに応じて、波形ＲＯＭ１６に記憶された複数の波形データのうちの１つ又は複数の波形データを選択するためのデータである。そして、プリセットボイスデータとプリセットキーバンクデータとがプリセットテーブルによって関連付けられていて、これらのプリセットボイス用のデータによってプリセットボイスに含まれる各音色の楽音の発生態様が決定される。これらのプリセットボイス用のデータは、後述する電子楽器の初期化ルーチン（図８参照）の実行によって、データＲＯＭ２４からワークＲＡＭ２６に転送される。ＣＰＵ２３は、ワークＲＡＭ２６に記憶されたプリセットボイスデータ、プリセットキーバンクデータ及びプリセットテーブルを用いて、音源回路１４にプリセットボイスの発音指示を行う。
【００２０】
ワークＲＡＭ２６は、ユーザが楽音の発生態様の設定を変更可能なユーザボイス用のデータを記憶するユーザボイス用データ記憶領域と、後述する各種プログラムの実行時に一時的に生成されるデータを記憶するバッファ領域も有する。ユーザボイス用のデータは、複数のユーザボイスデータ、第１スロットキーバンクデータ、第１スロットテーブル、第２スロットキーバンクデータ、第２スロットテーブル、波形ＲＡＭキーバンクデータ及び波形ＲＡＭテーブルからなる。ユーザボイスデータは、プリセットキーバンクデータ、第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータのうちの１つ又は複数のデータを選択するためのデータである。第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータは、演奏情報に含まれる鍵番号及び押鍵強さに応じて、それぞれ第１スロットのメモリボードＭＢ、第２スロットのメモリボードＭＢ及び波形ＲＡＭ１７に記憶された複数の波形データのうちの１つ又は複数の波形データを選択するためのデータである。プリセットテーブル、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブルによって、ユーザボイスデータとプリセットキーバンクデータ、第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータとが関連付けられている。そして、これらのユーザボイス用のデータによってユーザボイスに含まれる各音色の楽音の発生態様が決定される。また、波形ＲＡＭキーバンクデータ及び波形ＲＡＭテーブル以外のユーザボイス用のデータは、データＲＯＭ２４にバックアップ可能となっている。そして、後述する電子楽器の初期化ルーチン（図８参照）の実行によって、データＲＯＭ２４にバックアップされたユーザボイス用のデータがワークＲＡＭ２６に転送されて、ユーザボイス用のデータをバックアップしたときの電子楽器の状態が復元される。ＣＰＵ２３は、ワークＲＡＭ２６に記憶されたユーザボイス用のデータを用いて、音源回路１４にユーザボイスの発音指示を行う。
【００２１】
つぎに、プリセットボイスデータ及びユーザボイスデータの構成について詳しく説明する。プリセットボイスデータ及びユーザボイスデータは、各音色ごとに設けられ、図３に示すように、各音色の楽音信号を構成する各エレメント信号の生成に共通に使用される共通パラメータ、各音色の楽音信号を構成するエレメント信号の数を表すエレメント数及び各エレメント信号の発生態様を規定する複数のエレメント情報からなる。共通パラメータは、音色名を表すボイス名、各種演奏操作子によって設定される楽音要素の制御パラメータ（例えば、ピッチベンドホイール、モジュレーションホイールなどの操作による音高の変調量の範囲など）を表すコントローラ設定及び効果回路に供給されてボイスを構成するエレメント信号に共通の効果を付与するための効果パラメータからなる。また、各エレメント情報は、エンベロープ回路を制御するためのエンベロープパラメータ、フィルタ回路を制御するためのフィルタパラメータ、参照するテーブルを表すテーブル名、及び後述するキーバンクデータの番号を表すキーバンクデータ番号からなる。なお、プリセットボイスについては、テーブル名がプリセットテーブルに固定されていて変更できない。一方、ユーザボイスについては、テーブル名として、プリセットテーブル、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブルのうちのいずれかを選択可能である。
【００２２】
つぎに、プリセットキーバンクデータ、第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータの構成について詳しく説明する。各キーバンクデータは、図４に示すように、キーバンクデータの名称を表すキーバンクデータ名、キーバンクデータを構成するキーバンク情報の数を表すキーバンク数及び演奏情報に含まれる鍵番号及び押鍵強さに応じて選択する波形データを決定するためのキーバンク情報からなる。
【００２３】
キーバンクデータ名は、詳しくは後述するように、ＣＰＵ２３によって付与される。ただし、プリセットキーバンクデータは、キーバンクデータ名を有さない。また、各キーバンク情報は、鍵域を規定するための下限キーナンバ及び上限キーナンバ、並びに押鍵強さの範囲を規定するための下限ベロシティ及び上限ベロシティを含む。すなわち、下限キーナンバ及び上限キーナンバによって規定される鍵域に含まれる鍵が、下限ベロシティ及び上限ベロシティで規定される押鍵強さの範囲に含まれる強さで押鍵されると、後述のマップ情報で規定される波形データが選択される。なお、前記選択される波形データ（すなわち、波形メモリに記憶されている波形データ）は、上限キーナンバの鍵が上限ベロシティで押鍵されたときに対応するデータである。したがって前記押鍵された鍵のキーナンバが前記下限キーナンバ及び上限キーナンバで規定される鍵域に含まれ、かつ前記押鍵の押鍵強さが前記下限ベロシティ及び上限ベロシティで規定される押鍵強さの範囲に含まれていても、上限キーナンバ及び上限ベロシティ以外のキーナンバ及び押鍵強さである場合は、後述のように複数のキーバンク情報を用いて複数の波形データを選択し、補間演算により、押鍵された鍵の鍵音高及び押鍵強さに対応するディジタル楽音信号を生成する。また、各キーバンク情報は、波形データの記憶されているアドレスのうち先頭のアドレスを表す先頭アドレス、波形データの量を表す波形データサイズ及び波形データごとに付与される番号であるマップＩＤを含む。なお、波形データがステレオサンプリングされている場合、各キーバンク情報は、左チャンネル用及び右チャンネル用のマップ情報を１つずつ有する。一方、波形データがモノラルサンプリングされている場合は、各キーバンク情報は、マップ情報を１つ有する。
【００２４】
つぎに、プリセットテーブル、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブルの構成について詳しく説明する。プリセットテーブルは、図５Ａに示すように、「１」〜「４０００」のキーバンクデータ番号によって４０００個のプリセットキーバンクデータを管理している。上記のように、各プリセットキーバンクデータは、追加及び削除されない。したがって、４０００個のキーバンクデータファイルがデータＲＯＭ２４の連続するアドレスに順番に配列されている。また、後述するように、データＲＯＭ２４に記憶されたプリセットキーバンクデータは初期化ルーチンの実行においてワークＲＡＭ２６に転送されるが、転送先のワークＲＡＭ２６においても、プリセットキーバンクデータは連続するアドレスに順番に記憶されている。そのため、ＣＰＵ２３は、キーバンクデータ番号を用いた簡単な演算により、所望のプリセットキーバンクデータが記憶されているアドレスを算出でき、算出したアドレスを用いて、そのプリセットキーバンクデータを取得できる。
【００２５】
一方、第１スロットテーブル及び第２スロットテーブルは、図５Ｂ及び図５Ｃに示すように、「１」〜「２０４８」のキーバンクデータ番号によってそれぞれ最大２０４８個のキーバンクデータを管理可能である。また、波形ＲＡＭテーブルは、図５Ｄに示すように、「１」〜「１２８」のキーバンクデータ番号によって最大１２８個のキーバンクデータを管理可能である。第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータは、プリセットキーバンクデータと異なり、波形ＲＡＭ１７への新たな楽音のサンプリング、波形ＲＡＭ１７からメモリボードＭＢへの波形データのコピーなどによって追加及び削除される。そのため、第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータは、常にメモリの連続アドレスに順番に記憶されているとは限らない。したがって、プリセットキーバンクデータのように、キーバンクデータ番号を用いた簡単な演算により、所望のキーバンクデータを取得することができない。そこで、キーバンクデータ番号とキーバンクデータのファイル名との対応表を、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブルとして記憶しておき、ユーザボイスデータによって指定されるキーバンクデータ番号からキーバンクデータを取得できるようにしている。
【００２６】
ここで、キーバンクデータ名について説明する。キーバンクデータ名は、音源回路１４によって第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータに付与される。キーバンクデータ名は、キーバンクデータが割り当てられるキーバンクデータ番号を先頭に含む文字列で構成される。後述する初期化ルーチンの実行によりワークＲＡＭ２６に生成される第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブルのすべてのキーバンク番号に対応するキーバンクデータ名は「割り当てなし」に初期化される。波形ＲＡＭ１７に楽音波形をサンプリングする場合、ユーザは、キーバンクデータ番号を指定してからサンプリングを開始する。また、波形ＲＡＭ１７にサンプリングした波形データをメモリボードＭＢに転送する場合も、ユーザは、転送先のメモリボードＭＢが取り付けられているスロット及びキーバンクデータ番号を指定してから転送を開始する。キーバンクデータが割り当てられていないキーバンクデータ番号を指定した場合（すなわち、キーバンクデータ名が「割り当てなし」の場合）は、ＣＰＵ２３は、指定されたキーバンクデータ番号を含む所定の文字列をキーバンクデータ名とするキーバンクデータを生成する。そして、ＣＰＵ２３は、指定された波形メモリに対応するテーブルのキーバンクデータ番号に対応するキーバンクデータ名を前記所定の文字列からなるキーバンクデータ名に更新する。
【００２７】
ここで、前記所定の文字列について説明する。例えば、第１スロットテーブルのキーバンクデータ番号「１」に対応するキーバンクデータ名は、「ｗａｖｅｆｏｒｍ」という文字列の先頭に「０００１」が付された「０００１ｗａｖｅｆｏｒｍ」である。第１スロットテーブルのキーバンク番号「２」〜「２０４８」に対応するキーバンクデータ名もキーバンクデータ番号「１」に対応するキーバンクデータ名と同様に、「０００２ｗａｖｅｆｏｒｍ」〜「２０４８ｗａｖｅｆｏｒｍ」となる。なお、第２スロットテーブルのキーバンクデータ番号は、「１」〜「２０４８」であり、波形ＲＡＭテーブルのキーバンクデータ番号は「１」〜「１２８」であるが、キーバンクデータ名の先頭に付される番号は、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭについて連番となっている。すなわち、第２スロットテーブルのキーバンク番号「１」〜「２０４８」に対応するキーバンクデータ名は、「２０４９ｗａｖｅｆｏｒｍ」〜「４０９６ｗａｖｅｆｏｒｍ」となり、波形ＲＡＭテーブルのキーバンク番号「１」〜「１２８」に対応するキーバンクデータ名は、「４０９７ｗａｖｅｆｏｒｍ」〜「４２２４ｗａｖｅｆｏｒｍ」となる。
【００２８】
つぎに、各波形メモリに記憶される各種データの構成について説明する。各波形メモリに記憶されるデータは、図６に示すように、マップ情報及び波形データを含む。各波形メモリに記憶されるマップ情報は、上記のキーバンク情報のマップ情報に対応する情報を含む。すなわち、各波形メモリに記憶されるマップ情報は、各波形データに固有の番号を表すマップＩＤ及び各波形データの記憶されているアドレスのうち先頭のアドレスを表す先頭アドレス及び波形データのデータ量を表す波形データサイズを含む。なお、各波形データの先頭アドレスは、各メモリボードＭＢの先頭アドレスに対する相対値である。したがって、音源回路１４は、波形データバス３１において第１スロット又は第２スロットが割り当てられたアドレスの先頭アドレスの値を各波形データの先頭アドレスに加算することにより、波形データバス３１における各波形データの先頭アドレスの絶対値を算出する。
【００２９】
さらに、メモリボードＭＢのフラッシュＲＯＭに記憶されるデータには、システム情報が含まれる。システム情報は、メモリボードＭＢが対応する電子楽器の機種名を表す対応機種情報及びメモリボードＭＢを識別するためにＣＰＵ２３によってメモリボードＭＢに付与される固有の番号であるメモリボードＩＤからなる。前述のように、一群の第１及び第２スロットキーバンクデータは、データＲＯＭ２４にそれぞれバックアップされる。バックアップされた一群の第１及び第２スロットキーバンクデータには、それぞれ対応するスロットに取り付けられているメモリボードＭＢのメモリボードＩＤ及びそのスロット名が付加される。
【００３０】
なお、音源回路１４は、波形データバス３１を介して、波形ＲＯＭ１６、メモリボードＭＢ及び波形ＲＡＭ１７から各種データを直接読み出すことができる。一方、ＣＰＵ２３は、波形ＲＯＭ１６、メモリボードＭＢ及び波形ＲＡＭ１７に記憶された各種データを直接読み込むことができない。また、ＣＰＵ２３は、メモリボードＭＢ及び波形ＲＡＭに各種データを直接書き込むことができない。すなわち、ＣＰＵ２３は、音源回路１４に目的のデータを読み出させて、音源回路１４からそのデータを受け取る必要がある。また、ＣＰＵ２３は、音源回路１４にデータを供給して、供給したデータをメモリボードＭＢ又は波形ＲＡＭに書き込ませる必要がある。
【００３１】
また、この電子楽器は、ユーザボイスデータ、第１スロットキーバンクデータ、第２スロットキーバンクデータ及び波形ＲＡＭキーバンクデータをデータＲＯＭ２４だけでなく、記憶装置２７又は外部機器ＡＥにバックアップすることができる。なお、各キーバンクデータを記憶装置２７又は外部機器ＡＥにバックアップするとき、キーバンクデータをそのキーバンクデータによって選択される波形データ群とともにバックアップするか、キーバンクデータのみをバックアップするかを選択できる。図２において、破線で囲まれていて、かつ×印が付された波形データは保存されておらず、キーバンクデータのみが保存されていることを示している。
【００３２】
つぎに、上記のように構成した電子楽器の動作について説明する。この電子楽器の電源を投入すると、ＣＰＵ２３は、図７に示すように、ステップＳ１００にてメインプログラムの実行を開始する。つぎに、ＣＰＵ２３は、ステップＳ２００にて、初期化ルーチンを実行する。ＣＰＵ２３は、図８に示すように、ステップＳ２０１にて、初期化ルーチンの実行を開始し、ステップＳ２０２にて、ワークＲＡＭ２６にプリセットテーブル、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブルを生成する。具体的には、プリセットテーブル（図２及び図５Ａ参照）の記憶領域を確保して、データＲＯＭ２４に記憶されているプリセットテーブルをワークＲＡＭ２６にコピーする。また、第１スロットテーブル、第２スロットテーブル及び波形ＲＡＭテーブル（図２及び図５Ｂ乃至図５Ｄ参照）の記憶領域を確保して、各テーブルのキーバンクデータ番号を書き込むとともに、各キーバンクデータ番号に対応するキーバンクデータ名を全て「割り当てなし」に初期化する。つぎに、ＣＰＵ２３は、ステップＳ２０３にて、データＲＯＭ２４に記憶されているプリセットボイスデータ及びユーザボイスデータをワークＲＡＭ２６にコピーする。
【００３３】
つぎに、ＣＰＵ２３は、ステップＳ２０４にて、第１スロットにメモリボードＭＢが接続されているか否かを判定する。具体的には、ＣＰＵ２３は、音源回路１４に、第１スロットのメモリボードＭＢの対応機種情報を読み出すよう指示する。すると音源回路１４は、メモリボードＭＢから対応機種情報を読み出そうと試みる。そして、音源回路１４は、メモリボードＭＢから対応機種情報を読み出せた場合は、読み出した対応機種情報をＣＰＵ２３に供給する。この場合、ＣＰＵ２３は、第１スロットにメモリボードＭＢが接続されていると判定して、ステップＳ２０５に進む。
【００３４】
一方、音源回路１４が第１スロットのメモリボードＭＢから対応機種情報を読み出せなかった場合は、その旨をＣＰＵ２３に通知する。この場合、ＣＰＵ２３は、第１スロットにメモリボードＭＢが接続されていないと判定して、後述のステップＳ２２５に進み、第２スロットについての処理を開始する。前記ステップＳ２０４において、第１スロットにメモリボードＭＢが接続されていると判定した場合、ＣＰＵ２３は、ステップＳ２０５にて前記ステップＳ２０４において音源回路１４を介して読み出した対応機種情報を用いて、第１スロットに接続されたメモリボードＭＢがこの電子楽器に対応しているか否かを判定する。すなわち、メモリボードＭＢから読み出した対応機種情報内に、この電子楽器の機種名が含まれていない場合、第１スロットに接続されたメモリボードＭＢは、この電子楽器に対応していないと判定する。この場合、ＣＰＵ２３は、ステップＳ２０６にて、第１スロットに接続されたメモリボードＭＢの初期化が必要な旨を表示器１３に表示して、後述のステップＳ２２５に進む。
【００３５】
一方、メモリボードＭＢから読み出した対応機種情報内に、この電子楽器の機種名が含まれていれば、第１スロットに接続されたメモリボードＭＢは、この電子楽器に対応していると判定する。この場合、ＣＰＵ２３は、ステップＳ２０７にて、音源回路１４を介して、第１スロットに接続されたメモリボードＭＢから、メモリボードＩＤを読み出す。そして、ＣＰＵ２３は、ステップＳ２０８にて、データＲＯＭ２４にバックアップされた一群の第１スロットキーバンクデータ及び一群の第２スロットキーバンクデータ（以降、一群のキーバンクデータという。）のいずれかが、前記ステップＳ２０７にてメモリボードＭＢから読み出したメモリボードＩＤと同じメモリボードＩＤを有するか否かを判定する。
【００３６】
データＲＯＭ２４にバックアップされた一群のキーバンクデータのいずれもが、前記ステップＳ２０７においてメモリボードＭＢから読み出したメモリボードＩＤと同じメモリボードＩＤを有さない場合、ＣＰＵ２３は、ステップＳ２０９にて、キーバンクデータを記憶装置２７又は外部機器ＡＥから読み込む必要がある旨を表示器１３に表示して後述のステップＳ２２５に進む。一方、データＲＯＭ２４にバックアップされた一群のキーバンクデータファイルのうちのいずれかが、前記ステップＳ２０７にてメモリボードＭＢから読み出したメモリボードＩＤと同じメモリボードＩＤを有する場合、ＣＰＵ２３は、ステップＳ２１０にて、ユーザボイス用データ復元ルーチンの実行を開始する。
【００３７】
ＣＰＵ２３は、図９に示すように、ステップＳ２１１にてユーザボイス用データ復元ルーチンの実行を開始すると、ステップＳ２１２にて、処理対象とする１つのキーバンクデータを選択する。具体的には、前記ステップＳ２０７にてメモリボードＭＢから読み出したメモリボードＩＤと同じメモリボードＩＤを有する一群のキーバンクデータに対応するテーブル（すなわち、第１スロットテーブル又は第２スロットテーブル）を特定する。つぎに、前記特定したメモリバンクの中から１つのキーバンクデータ番号を選択する。そして、前記選択したキーバンクデータ番号に対応するキーバンクデータ名を用いて、データＲＯＭ２４にバックアップされているキーバンクデータを検索し、検索されたキーバンクデータを処理対象とする。
【００３８】
つぎに、ＣＰＵ２３は、ステップＳ２１３にて、前記ステップＳ２１２において選択したキーバンクデータをワークＲＡＭ２６のバッファ領域にコピーする。つぎに、ＣＰＵ２３は、ステップＳ２１４にて、前記ステップＳ２１３においてバッファ領域にコピーしたキーバンクデータ内の１つのキーバンク情報を選択する。
【００３９】
つぎに、ＣＰＵ２３は、ステップＳ２１５にて、前記ステップＳ２１４において選択したキーバンク情報によって選択されるべき波形データが現在第１スロットに接続されているメモリボードＭＢに記憶されているか否かを判定する。上記のように、この電子楽器においては、メモリボードＭＢを第１及び第２スロットに着脱可能に構成している。また、キーバンクデータをデータＲＯＭ２４にバックアップ可能としている。さらに、キーバンクデータをデータＲＯＭ２４にバックアップした後、第１及び第２スロットに接続されていたメモリボードＭＢを取り外して、他の電子楽器で利用可能としている。このとき、前記他の電子楽器において、メモリボードＭＢ内の波形データが削除及び編集されることがある。また、再びもとの電子楽器にメモリボードＭＢを接続するときに、第１及び第２スロットを逆にして接続することがある。
【００４０】
そこで、ステップＳ２１５にて、現在第１スロットに接続されているメモリボードＭＢに記憶されている波形データが前記ステップＳ２１２において選択したキーバンクデータをデータＲＯＭ２４にバックアップしたときにメモリボードＭＢに記憶されていた波形データと同じであるか否かを判定するようにしている。具体的には、前記ステップＳ２１３において選択したキーバンク情報内のマップ情報と同一のマップ情報を有する波形データが現在第１スロットに接続されているメモリボードＭＢに記憶されているか否かの判定を行う。すなわち、第１スロットのメモリボードＭＢにおいて、マップＩＤ、先頭アドレス及び波形データサイズが一致する波形データを検索する。前記ステップＳ２１３において選択したキーバンク情報内のマップ情報と同一のマップ情報を有する波形データが第１スロットのメモリボードＭＢに記憶されていない場合、ＣＰＵ２３は、前記ステップＳ２１３において選択したキーバンク情報によって選択されるべき波形データがメモリボードＭＢ内に無いと判定して、ステップＳ２１６に進む。そして、ＣＰＵ２３は、ステップＳ２１６にて、前記ステップＳ２１３において選択したキーバンク情報を前記バッファ領域にコピーしたキーバンクデータから削除するとともにキーバンクデータ内のキーバンク数を１つ減算して、ステップＳ２１７に進む。一方、ステップＳ２１６において、前記ステップＳ２１４において選択したキーバンク情報によって選択される波形データがメモリボードＭＢ内に有ると判定した場合は、ステップＳ２１７に進む。
【００４１】
つぎに、ＣＰＵ２３は、ステップＳ２１７にて、前記バッファ領域にコピーしたキーバンクデータに含まれる全キーバンク情報について、ステップＳ２１４〜ステップＳ２１６の処理を実行したか否かを判定する。ステップＳ２１７の判定の結果、残りのキーバンク情報がある場合にはステップＳ２１４に戻る。一方、全キーバンク情報についてステップＳ２１４〜ステップＳ２１６の処理を実行した場合は、ステップＳ２１８に進む。そして、ＣＰＵ２３は、ステップＳ２１８にて、前記ステップＳ２１２において選択したキーバンクデータが属する一群のキーバンクデータのバックアップに付加されているスロット名が第１スロットであるか第２スロットであるかを判定する。ステップＳ２１８の判定結果、スロット名が第１スロットである場合、後述のステップＳ２２１に進む。一方、ステップＳ２１８の判定の結果、スロット名が第２スロットである場合、ＣＰＵ２３は、ステップＳ２１９にて、前記バッファ領域にコピーしたキーバンクデータのキーバンクデータ名を前記ステップＳ２１２において選択したキーバンクデータ番号及び第１スロットに対応したキーバンクデータ名に変更する。
【００４２】
そして、ＣＰＵ２３は、ステップＳ２２０にて、ユーザボイスデータのテーブル名を第１スロットに変更する。つぎに、ＣＰＵ２３は、ステップＳ２２１にて、前記バッファ領域にコピーしたキーバンクデータをワークＲＡＭ２６のユーザボイス用データ領域にコピーする。
【００４３】
つぎに、ＣＰＵ２３は、前記ステップＳ２０２においてワークＲＡＭ２６に生成して初期化した第１スロットテーブル内の、前記ステップＳ２１２において選択したキーバンクデータ番号に対応するファイル名を、ワークＲＡＭ２６のユーザボイス用データ領域にコピーしたキーバンクデータのキーバンクデータ名に変更する。つぎに、ＣＰＵ２３は、ステップＳ２２３にて、前記ステップＳ２１２において特定したテーブルの全キーバンクデータ番号についてステップＳ２１２〜Ｓ２２２の処理を実行したか否かを判定する。ステップＳ２２３の判定の結果、残りのキーバンクデータ番号がある場合は、ステップＳ２１３に戻る。一方、ステップＳ２２３の判定の結果、全キーバンクデータ番号について処理済みである場合は、ＣＰＵ２３は、ステップＳ２２４にて、図８の初期化ルーチンに戻り、ステップＳ２２５にて、上記ステップＳ２０４〜ステップＳ２１０（図８の破線で囲んだ部分）により構成される第１スロットについての処理と同様の処理を第２スロットについて実行する。そして、ステップＳ２２６にて初期化ルーチンを終了しメイン処理に戻る。
【００４４】
ふたたび図７の説明に戻る。ＣＰＵ２３は、上記の初期化処理を終了すると、ステップＳ３００にて、ユーザによって、楽音のサンプリング、波形データ編集、波形データコピー、キーバンクデータ及びユーザボイスデータ編集、キーバンクデータ書き出し、キーバンクデータ読み込み、メモリボード初期化及び楽音生成のうちのいずれかが指示されるまで待機する。
【００４５】
ＣＰＵ２３は、ステップＳ３００において、ユーザによって新たな楽音のサンプリングを指示されたことを検出すると、ステップＳ４００にてサンプリングルーチンの実行を開始する。ＣＰＵ２３は、図１０に示すように、ステップＳ４０１にてサンプリングルーチンの実行を開始すると、ステップＳ４０２にて、キーバンクデータ番号及びキーバンク情報をユーザに入力させる。すなわち、波形ＲＡＭテーブルを用いて、各キーバンクデータ番号にキーバンクデータが割り当てられているか否かを表示器１３に表示する。そして、サンプリングする楽音を鍵域及び押鍵強さに応じて選択するためのキーバンク情報を有するキーバンクデータをいずれのキーバンクデータ番号に対応させるかをユーザに指定させる。
【００４６】
既にキーバンクデータが割り当てられているキーバンクデータ番号が指定された場合、ＣＰＵ２３は、そのキーバンクデータに含まれるキーバンク情報を表示器１３に表示する。そして、キーバンク情報の鍵域（すなわち、図４の下限キーナンバ及び上限キーナンバによって規定される鍵域）及び押鍵強さの範囲（すなわち、図４の下限ベロシティ及び上限ベロシティによって規定される押鍵強さの範囲）が重複しないような鍵域及び押鍵強さの範囲を新たなキーバンク情報の鍵域及び押鍵強さの範囲として指定させる。さらに、楽音をステレオでサンプリングするかモノラルでサンプリングするかを指定させる。
【００４７】
一方、キーバンクデータが割り当てられていないキーバンクデータ番号が指定された場合、所定の内容のキーバンク情報を表示して、ユーザに編集させることによって、新たなキーバンク情報の鍵域及び押鍵強さの範囲をユーザに指定させる。例えば、１つの鍵（例えばＣ３）を鍵域とするとともに、すべての押鍵強さを押鍵強さの範囲としたキーバンク情報を前記所定の内容のキーバンク情報として表示する。
【００４８】
つぎに、ＣＰＵ２３は、ステップＳ４０３にて、音源回路１４を介して、波形ＲＡＭ１７の波形データ領域のうち、空いている領域の先頭アドレスを取得する。また、音源回路１４を介して、波形ＲＡＭ１７のマップ情報領域に記憶されているすべてのマップＩＤを取得し、取得したマップＩＤと重複しないマップＩＤを新たなマップＩＤとして決定する。
【００４９】
ステップＳ４０２及びステップＳ４０３の処理によってサンプリングの準備が終了すると、ＣＰＵ２３は、ユーザからのサンプリング開始の指示に応じて、楽音入力回路１８から出力されるディジタル楽音波形信号を入力して、入力したディジタル楽音波形信号を、波形ＲＡＭ１７の波形データ領域のうち、前記取得した先頭アドレスを先頭として連続するアドレスに記憶するよう音源回路１４に指示する。また、ユーザからのサンプリング終了の指示に応じて、サンプリングを終了するよう音源回路１４に指示する。なお、サンプリングする時間の長さを予め設定しておいて、サンプリング開始から設定した時間を経過するとサンプリングを終了するようにしてもよい。
【００５０】
ステップＳ４０４の処理によって、サンプリングが終了すると、ＣＰＵ２３は、ステップＳ４０５にて、音源回路１４を介して、サンプリングした波形データの末尾アドレスを取得する。そして、ＣＰＵ２３は、ステップＳ４０６にて、前記ステップＳ４０３及びステップＳ４０５において取得した先頭アドレス及び末尾アドレスから波形データサイズを算出し、算出した波形データサイズを前記ステップＳ４０２において追加したキーバンク情報に書き込む。さらに、ＣＰＵ２３は、ステップＳ４０７にて、波形ＲＡＭのマップ情報領域に、前記ステップＳ４０３において決定したマップＩＤ及び先頭アドレス並びに前記ステップＳ４０６において算出した波形データサイズからなるマップ情報を、音源回路１４を介して、波形ＲＡＭ１７のマップ情報領域に追加する。そして、ＣＰＵ２３は、ステップＳ４０８にてサンプリングルーチンを終了してメインプログラムに戻り、ステップＳ３００にて所定のユーザ操作がなされるまで待機する。
【００５１】
また、ＣＰＵ２３は、ステップＳ３００において、ユーザによって波形データの編集が指示されたことを検出すると、ステップＳ５００にて波形データ編集ルーチンの実行を開始する。ＣＰＵ２３は、図１１に示すように、ステップＳ５０１にて波形データ編集ルーチンの実行を開始すると、ステップＳ５０２にて、ユーザからの指示に応じて、音源回路１４を介して、メモリボードＭＢ及び波形ＲＡＭ内に記憶されている波形データを編集する。例えば、ユーザからの指示に応じて、サンプリングした波形データをトリミングする。すなわち、波形データのうちの必要な部分のみを残して、不要な部分を削除する。また、例えば、ユーザからの指示に応じて、フェードイン、フェードアウトなどの効果を付加する。上記のトリミングのような編集においては、波形データサイズが変更される。一方、フェードイン、フェードアウト効果を付加するような編集においては、波形データサイズが変更されない。そこで、ＣＰＵ２３は、ステップＳ５０３にて、編集した波形データの波形データサイズが変更されたか否かを判定する。
【００５２】
ステップＳ５０３にて、波形データサイズが変更されたと判定した場合は、ＣＰＵ２３は、ステップＳ５０４にて、前記編集された波形データを選択するためのキーバンク情報のマップ情報内の波形データサイズを編集後の波形データサイズに更新する。さらに、波形ＲＡＭ１７のマップ情報内の波形データサイズも編集後の波形データの波形データサイズに更新する。そして、ステップＳ５０５にて波形データ編集処理を終了してメイン処理に戻る。一方、ステップＳ５０３にて、波形データサイズが変更されていないと判定した場合は、ステップＳ５０５にて、波形データ編集ルーチンの実行を終了してメインプログラムに戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。
【００５３】
また、ＣＰＵ２３は、ステップＳ３００において、ユーザによって波形ＲＡＭからメモリボードＭＢへの波形データのコピーが指示されたことを検出すると、ステップＳ６００にて波形データコピールーチンの実行を開始する。ＣＰＵ２３は、図１２に示すように、ステップＳ６０１にて波形データコピールーチンの実行を開始すると、ステップＳ６０２にて、コピー元のキーバンクデータ番号をユーザに指定させる。すなわち、コピーする波形データを選択するキーバンクデータが関連付けられているキーバンクデータ番号をユーザに指示させる。言い換えれば、指定されたキーバンクデータ番号に対応するキーバンクデータ内の各キーバンク情報によって選択される波形データ群がコピー対象となる。つぎに、ＣＰＵ２３は、ステップＳ６０３にて、コピー先のメモリボードＭＢのスロット（すなわち、第１スロット又は第２スロット）を指定させる。
【００５４】
そして、ＣＰＵ２３は、ステップＳ６０４にて、前記ステップＳ６０３において指定されたスロットに対応するテーブル（すなわち、第１スロットテーブル又は第２スロットテーブル）内に空いているキーバンクデータ番号（すなわち、キーバンクデータが割り当てられていないキーバンクデータ番号）があるか否かを判定する。空いているキーバンクデータ番号が無い場合、ＣＰＵ２３は、ステップＳ６０５にて、指定されたメモリバンクには空いているキーバンクデータ番号が無い旨を表示器１３に表示して後述のステップＳ６１３に進む。
【００５５】
一方、空いているキーバンクデータ番号がある場合は、ＣＰＵ２３は、ステップＳ６０６にて、空いているキーバンクデータ番号のうちの１つの番号を選択して、コピー先のキーバンクデータ番号として決定する。なお、コピー先のキーバンクデータ番号をユーザに指定させるようにしてもよい。
【００５６】
つぎに、ＣＰＵ２３は、ステップＳ６０７にて、コピー元及びコピー先のアドレスを決定する。すなわち、前記ステップＳ６０２において指定されたキーバンクデータ番号に対応するキーバンクデータ内の各キーバンク情報から各波形データの先頭アドレスを取得して、コピー元のアドレスとして決定する。また、ＣＰＵ２３は、音源回路を介して、前記ステップＳ６０３にて指定されたスロットのメモリボードＭＢの波形データ領域のうちの空き領域の先頭アドレスを取得して、コピー先の先頭アドレスとして決定する。つぎに、ＣＰＵ２３は、ステップＳ６０８にて、前記ステップＳ６０７において決定したコピー元及びコピー先のアドレスを用いて、波形ＲＡＭ１７に記憶されている波形データをメモリボードＭＢにコピーする。具体的には、ＣＰＵ２３は、音源回路１４に、コピー元のアドレスを供給する。音源回路１４は、指定されたコピー元のアドレスを先頭アドレスとする波形データを読み出して、読み出した波形データをＣＰＵ２３に供給する。つぎに、ＣＰＵ２３は、コピー先のアドレス及び前記読み出した波形データを音源回路１４に供給する。そして、音源回路１４は、指定されたコピー先のアドレスを先頭アドレスとする記憶領域に前記波形データを書き込む。これにより、波形データのコピーが終了する。なお、ＣＰＵ２３が、音源回路１４にコピー元及びコピー先のアドレスを供給すると、音源回路１４が前記ＣＰＵ２３から供給されたコピー元及びコピー先のアドレスを用いて、波形ＲＡＭ１７に記憶されている波形データをメモリボードＭＢにコピーするようにしてもよい。
【００５７】
つぎに、ＣＰＵ２３は、ステップＳ６０９にて、音源回路１４を介して、コピー先のメモリボードＭＢのマップ情報領域に前記ステップＳ６０８においてコピーした波形データのマップ情報を追加する。すなわち、ＣＰＵ２３は、音源回路１４を介して、コピー先のメモリボードＭＢのマップ情報領域に記憶されているすべてのマップＩＤを取得し、取得したマップＩＤと重複しないマップＩＤを新たなマップＩＤとして決定して、マップ情報領域に追加する。そして、コピーした波形データの先頭アドレス及び波形サイズを書き込む。
【００５８】
つぎに、ＣＰＵ２３は、ステップＳ６１０にて、前記ステップＳ６０２において指定されたキーバンクデータ番号に関連付けられているキーバンクデータのファイル名を前記ステップＳ６０３によって指定されたメモリバンク及び前記ステップＳ６０６において決定したキーバンクデータ番号に対応するファイル名に変更したキーバンクデータをワークＲＡＭ２６のユーザボイス用データ領域に追加する。つぎに、ＣＰＵ２３は、ステップＳ６１１にて、前記ステップＳ６０３にて指定されたスロットに対応するテーブル内の、前記ステップＳ６０６において決定したキーバンクデータ番号に対応するキーバンクデータ名を、「割り当てなし」からキーバンクデータ番号及び前記ステップＳ６０３にて指定されたスロットに対応するファイル名に変更する。
【００５９】
つぎに、ＣＰＵ２３は、ステップＳ６１２にて、コピー先のテーブル及びキーバンクデータ群のバックアップを更新する。すなわち、前記ステップＳ６１０において追加したキーバンクデータをキーバンクデータ群のバックアップに追加する。そして、ＣＰＵ２３は、ステップＳ６１３にて、波形データコピールーチンの実行を終了してメインプログラムに戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。
【００６０】
また、ＣＰＵ２３は、ステップＳ３００において、ユーザによってキーバンクデータ及びユーザボイスデータの編集が指示されたことを検出すると、ステップＳ７００にてキーバンクデータ及びユーザボイスデータ編集ルーチンの実行を開始する。ＣＰＵ２３は、図１３に示すように、ステップＳ７０１にてキーバンクデータ及びユーザボイスデータ編集ルーチンの実行を開始すると、ステップＳ７０２にて、ユーザの設定操作子の操作による指示に応じて、ワークＲＡＭ２６に記憶されている第１スロットキーバンクデータ、第２スロットキーバンクデータ、波形ＲＡＭキーバンクデータ及びユーザボイスデータを変更する。例えば、ユーザからの指示に応じて、各キーバンクデータのキーバンク情報のうち、下限キーナンバ及び上限キーナンバを変更する。これにより、そのキーバンク情報内のマップＩＤ、先頭アドレス及び波形データサイズによって特定される波形データを選択する鍵域が変更される。また、例えば、ユーザからの指示に応じて、ユーザボイスデータのスロット名及びキーバンクデータ番号を変更する。これにより、そのユーザボイスデータによって選択される波形データが変更される。なお、これらキーバンクデータ及びユーザボイスデータの編集においては、まず編集対象として選ばれたワークＲＡＭ２６に記憶されているキーバンクデータ及びユーザボイスデータについてのみ一時的にパラメータを変更する。その後のユーザによる前記編集結果を保存するためのストア操作によって、前記編集結果が各種バックアップされたキーバンクデータ及びユーザボイスデータにも反映される。
【００６１】
つぎに、ＣＰＵ２３は、ステップＳ７０３にて、ステップＳ７０２において変更されたデータは、第１スロットキーバンクデータ、第２スロットキーバンクデータ、波形ＲＡＭキーバンクデータ及びユーザボイスデータのうちのいずれのデータが変更されたかを検出する。前記ステップＳ７０３において、波形ＲＡＭキーバンクデータが変更されたことを検出したとき、ＣＰＵ２３は、後述のステップＳ７０５に進む。一方、ステップＳ７０３にて、波形ＲＡＭキーバンクデータ以外のデータ（すなわち、第１スロットキーバンクデータ、第２スロットキーバンクデータ及びユーザボイスデータのうちのいずれかのデータ）が変更されたことを検出したとき、ＣＰＵ２３は、ステップＳ７０４に進む。前記ステップＳ７０３において、第１スロットキーバンクデータ又は第２スロットキーバンクデータは変更されたことを検出したとき、ＣＰＵ２３は、ステップＳ７０４にて対応するキーバンクデータのバックアップを更新する。すなわち、変更されたキーバンクデータに対応するキーバンクデータのバックアップを変更後のキーバンクデータに置き換える。また、前記ステップＳ７０３において、ユーザボイスデータが変更されたことを検出した場合も、ＣＰＵ２３はステップＳ７０４にて、ユーザボイスデータのバックアップを更新する。すなわち、ユーザボイスデータのバックアップを変更後のユーザボイスデータに置き換える。つぎに、ＣＰＵ２３は、ステップＳ７０５にて、キーバンクデータ及びユーザボイスデータ編集ルーチンの実行を終了してメインプログラムに戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。
【００６２】
また、ＣＰＵ２３は、ステップＳ３００において、ユーザによってキーバンクデータの書き出しが指示されたことを検出すると、ステップＳ８００にてキーバンクデータ書き出しルーチンの実行を開始する。ＣＰＵ２３は、図１４に示すように、ステップＳ８０１にてキーバンクデータ書き出しルーチンの実行を開始すると、ステップＳ８０２にて、ワークＲＡＭ２６に記憶されているキーバンクデータのうち外部機器ＡＥに書き出すキーバンクデータをユーザに指定させる。すなわち、テーブル名及びキーバンクデータ番号をユーザに指定させる。
【００６３】
つぎに、ＣＰＵ２３は、ステップＳ８０３にて、前記ステップＳ８０２において指定されたキーバンクデータの書き出し先をユーザに指定させる。すなわち、書き出し先である外部インターフェース回路２８に接続されたＵＳＢメモリ、パーソナルコンピュータなどの外部機器ＡＥのディレクトリ及びファイル名をユーザに指定させる。つぎに、ＣＰＵ２３は、ステップＳ８０４にて、前記ステップＳ８０１において指定されたキーバンクデータを、そのキーバンクデータによって選択される波形データ群とともに書き出すか否かをユーザに選択させる。ステップＳ８０４にて、キーバンクデータのみを書き出すことが選択された場合、ＣＰＵ２３は、後述のステップＳ８０６に進む。一方、ステップＳ８０４にて、キーバンクデータを波形データとともに書き出すことが選択された場合、ＣＰＵ２３は、ステップＳ８０５にて、前記ステップＳ８０２において指定されたキーバンクデータによって選択される波形データ群を、前記ステップＳ８０３において指定された書き出し先に書き出す。
【００６４】
つぎに、ＣＰＵ２３は、ステップＳ８０６にて、前記ステップＳ８０２において指定されたキーバンクデータを、前記ステップＳ８０３において指定された書き出し先に書き出す。そして、ＣＰＵ２３は、ＣＰＵ２３は、ステップＳ８０７にて、キーバンクデータ書き出しルーチンの実行を終了して、メインプログラムに戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。なお、上記の例では外部インターフェース回路２８に接続されたＵＳＢメモリ、パーソナルコンピュータなどの外部機器ＡＥにキーバンクデータを書き出すようにしたが、記憶装置２７にキーバンクデータを書き出すようにしてもよい。
【００６５】
また、ＣＰＵ２３は、ステップＳ３００において、ユーザによってキーバンクデータの読み込みが指示されたことを検出すると、ステップＳ９００にてキーバンクデータ読み込みルーチンの実行を開始する。ＣＰＵ２３は、図１５に示すように、ステップＳ９０１にてキーバンクデータ読み込みルーチンの実行を開始すると、ステップＳ９０２にて、外部インターフェース回路２８に接続されたＵＳＢメモリ、パーソナルコンピュータなどの外部機器ＡＥから読み込むキーバンクデータをユーザに指定させる。つぎに、ＣＰＵ２３は、ステップＳ９０３にて、前記ステップＳ９０２において指定されたキーバンクデータと関連付けるキーバンクデータ番号及びテーブル（すなわち、第１スロットテーブル、第２スロットテーブル又は波形ＲＡＭテーブル）をユーザに指定させる。ただし、ユーザにテーブルのみを指定させ、関連付けるキーバンクデータ番号は、使用されていない最も若い番号を割り当てるようにしてもよい。つぎに、ＣＰＵ２３は、ステップＳ９０４にて、前記ステップＳ９０２において指定されたキーバンクデータが波形データとともに記憶されているか否かを判定する。ステップＳ９０４の判定の結果、キーバンクデータのみが記憶されている場合は、後述のステップＳ９０７に進む。
【００６６】
一方、ステップＳ９０４の判定の結果、波形データとともに記憶されている場合は、ＣＰＵ２３は、ステップＳ９０５にて、その波形データを読み込むか否かをユーザに指定させる。ユーザが、波形データを読み込まないことを指定した場合、後述のステップＳ９０７に進む。一方、ユーザが波形データも読み込むことを指定した場合、ＣＰＵ２３は、ステップＳ９０６にて、その波形データを前記ステップＳ９０３において指定されたテーブルに対応する波形メモリ（すなわち、第１メモリボードＭＢ、第２メモリボードＭＢ又は波形ＲＡＭ）に読み込む。そして、ＣＰＵ２３は、ステップＳ９０７にて、前記ステップＳ９０２において選択されたキーバンクデータをワークＲＡＭ２６に読み込むとともに、前記ステップＳ９０２において選択されたテーブルを更新する。このとき、ＣＰＵ２３は、読み込むキーバンクデータのファイル名をステップＳ９０３において指定されたテーブル及びキーバンクデータ番号に対応するファイル名に変更する。そして、前記ステップＳ９０３において、既にキーバンクデータが割り当てられているキーバンクデータ番号が指定された場合は、既に割り当てられていたキーバンクデータを前記ステップＳ９０７において読み込んだキーバンクデータに置き換える。
【００６７】
一方、前記ステップＳ９０３において、キーバンクデータが割り当てられていないキーバンクデータ番号が指定された場合は、前記指定されたメモリバンクのキーバンクデータ番号に対応するファイル名が「割り当てなし」となっている。そこで、ＣＰＵ２３は、このファイル名を前記ステップＳ９０３において指定されたテーブル及びキーバンクデータ番号に対応するファイル名に変更する。また、ステップＳ９０６の処理により、波形データを読み込んだ場合は、キーバンクデータの各キーバンク情報のうちの先頭アドレスを、読み込み先の波形メモリにおける各波形データの先頭アドレスに変更する。
【００６８】
つぎに、ＣＰＵ２３は、ステップＳ９０８にて、キーバンクデータ群のバックアップを更新する。すなわち、ステップＳ９０３において指定されたテーブルが第１スロットテーブル又は第２スロットテーブルの場合、データＲＯＭ２４に記憶されているキーバンクデータ群のバックアップのうち、前記ステップＳ９０３において指定されたテーブルに対応するキーバンクデータ群のバックアップに前記読み込んだキーバンクデータを追加する。
【００６９】
つぎに、ＣＰＵ２３は、ステップＳ９０９にて、テーブルのバックアップを更新する。すなわち、ステップＳ９０３において指定されたテーブルが第１スロットテーブル又は第２スロットテーブルの場合、データＲＯＭ２４に記憶されている第１スロットテーブル及び第２スロットテーブルのバックアップのうち、前記ステップＳ９０３において指定されたテーブルに対応するテーブルのバックアップを前記ステップＳ９０７において更新したテーブルに置き換える。そして、ＣＰＵ２３は、ステップＳ９１０にて、キーバンクデータ読み込みルーチンの実行を終了して、メイン処理に戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。なお、上記の例では外部インターフェース回路２８に接続されたＵＳＢメモリ、パーソナルコンピュータなどからキーバンクデータを読み込むようにしたが、記憶装置２７からキーバンクデータを読み込むようにしてもよい。
【００７０】
また、ＣＰＵ２３は、ステップＳ３００において、ユーザによってメモリボードＭＢの初期化が指示されたことを検出すると、ステップＳ１０００にてメモリボード初期化ルーチンの実行を開始する。ＣＰＵ２３は、図１６に示すように、ステップＳ１００１にてメモリボード初期化ルーチンの実行を開始すると、ステップＳ１００２にて、初期化するメモリボードＭＢが接続されているスロット（すなわち、第１スロット又は第２スロット）をユーザに指定させる。つぎに、ＣＰＵ２３は、ステップＳ１００３にて、前記ステップＳ１００２において指定されたスロットに対応するキーバンクデータ群及びそのバックアップをクリアする。
【００７１】
つぎに、ＣＰＵ２３は、ステップＳ１００４にて、前記ステップＳ１００２において指定されたスロットに対応するメモリバンク及びそのバックアップを初期化する。具体的には、メモリバンクの各キーバンクデータ番号に対応するキーバンクデータ名を「割り当てなし」に変更する。つぎに、ＣＰＵ２３は、ステップＳ１００５にて、前記ステップＳ１００２において指定されたメモリボードＭＢを初期化する。具体的には、メモリボードＭＢのシステム情報領域、マップ情報領域及び波形データ領域の各領域に書き込まれているデータを消去する。そして、メモリボードＩＤを生成し、システム情報領域に書き込む。データＲＯＭ２４内には、前回のメモリボードＭＢの初期化時にメモリボードＭＢに書き込んだメモリボードＩＤが記憶されていて、このデータＲＯＭ２４に記憶されたメモリボードＩＤをインクリメントした値を今回のメモリボードＩＤとする。そして、ＣＰＵ２３は、ステップＳ１００６にて、メモリボード初期化ルーチンの実行を終了して、メインプログラムに戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。
【００７２】
また、ＣＰＵ２３は、ステップＳ３００において、楽音生成を指示されたことを検出すると、ステップＳ１１００にて楽音生成ルーチンの実行を開始する。すなわち、演奏操作子の操作及び自動演奏機能の動作により発生する演奏情報並びに外部インターフェース回路２８を介した外部機器ＡＥからの演奏情報がＣＰＵ２３に供給されると、ＣＰＵ２３は、ステップＳ１１００にて楽音生成ルーチンの実行を開始する。ＣＰＵ２３は、図１７に示すように、ステップＳ１１０１にて楽音生成ルーチンの実行を開始すると、ステップＳ１１０２にて、演奏情報に含まれていて楽音の音色を指定する音色指定情報、演奏パートを表すパート情報などを用いて、プリセットボイスデータ及びユーザボイスデータから楽音生成に使用するボイスデータを特定する。
【００７３】
つぎに、ＣＰＵ２３は、ステップＳ１１０３にて、前記ステップＳ１１０２において特定したボイスデータの各エレメント情報によって規定されるテーブル及びキーバンクデータ番号からキーバンクデータを特定する。つぎに、ＣＰＵ２３は、前記ステップＳ１１０３において特定したキーバンクデータ内のキーバンク情報のうち、演奏情報に含まれるキーナンバ及び押鍵強さに対応するキーバンク情報を特定する。つぎに、ＣＰＵ２３は、ステップＳ１１０５にて、前記ステップＳ１１０３及びステップＳ１１０４において特定したボイスデータ及びキーバンク情報に含まれる各種パラメータを音源回路１４に供給して、楽音生成を指示する。なお、前記特定したキーバンク情報によって選択される波形データから生成される楽音の音高が前記キーナンバに対応する鍵音高と異なるとき（すなわち、前記キーナンバが前記特定したキーバンク情報の上限キーナンバ以外のとき）には、ＣＰＵ２３は、前記特定したキーバンク情報に隣り合うキーバンク情報も音源回路１４に供給する。すなわち、前記キーナンバが含まれる鍵域の１つ上の鍵域（又は１つ下の鍵域）のキーバンク情報も音源回路１４に供給する。また、前記特定したキーバンク情報によって選択される波形データから生成される楽音の音量及び音色が前記押鍵強さに対応する音量及び音色と異なるとき（すなわち、前記押鍵強さが前記特定したキーバンク情報の上限ベロシティ以外のとき）には、ＣＰＵ２３は、前記特定したキーバンク情報に隣り合うキーバンク情報も音源回路１４に供給する。すなわち、前記押鍵強さが含まれる押鍵強さの範囲の１つ上の押鍵強さの範囲（又は１つ下の押鍵強さの範囲）のキーバンク情報も音源回路１４に供給する。そして、ＣＰＵ２３は、ステップＳ１１０６にて、楽音生成ルーチンの実行を終了して、メインプログラムに戻る。そして、ＣＰＵ２３は、メインプログラムのステップＳ３００にて所定のユーザ操作がなされるまで待機する。音源回路１４は、供給されたパラメータを用いて、波形メモリから波形データを読み出してディジタル楽音信号を生成する。なお、上記のように、ＣＰＵ２３から音源回路１４に複数のキーバンク情報が供給された場合には、音源回路１４は、それらの複数のキーバンク情報によって選択される波形データをそれぞれ読み出して、読み出した波形データを補間演算し、前記演奏情報に含まれるキーナンバ及び押鍵強さに対応したディジタル楽音信号を生成する。そして、生成したディジタル楽音信号を楽音出力回路１９に出力する。楽音出力回路１９は、供給されたディジタル楽音信号をアナログ音響信号に変換して放音する。
【００７４】
なお、ユーザは、波形ＲＡＭ１７の空き容量がなく、新たな楽音をサンプリングできない場合、不要な波形データを削除して空き容量を増加させることができる。複数の波形データを削除した場合、削除した各波形データの前後のアドレスに他の波形データが記憶されたまま残っていると、波形ＲＡＭ１７の連続するアドレスに大きな空き領域を確保することができない。そのため、空き容量全体としては、十分な容量を確保できたとしても、サンプリング時間を長く採ることができない。そこで、ＣＰＵ２３は、音源回路１４を介して、波形ＲＡＭに記憶されている波形データを順番に読み込んで、連続するアドレスに書き込み直すことにより、波形データの再配置を行う。このとき、波形ＲＡＭ１７のマップ情報、再配置された波形データを選択するキーバンクデータ及び再配置された波形データを選択するキーバンクデータのバックアップのマップ情報に含まれる先頭アドレスを再配置後のアドレスに変更する。これにより、ユーザは、波形ＲＡＭ１７の連続するアドレスに大きな空き領域を確保することができる。
【００７５】
メモリボードＭＢの連続するアドレスに大きな空き領域を確保する場合についても、上記波形ＲＡＭ１７と同様である。すなわち、メモリボードＭＢの空き容量がなく、波形ＲＡＭ１７に記憶された波形データをメモリボードＭＢにコピーできない場合、メモリボードＭＢ内の波形データを削除及び再配置する。そして、メモリボードＭＢ、キーバンクデータ及びキーバンクデータのバックアップのマップ情報の先頭アドレスを再配置後の先頭アドレスに変更する。これにより、ユーザは、メモリボードＭＢの連続するアドレスに大きな空き領域を確保することができる。
【００７６】
上記のように構成した電子楽器においては、ユーザが波形ＲＡＭ１７にサンプリングした楽音の波形データを転送して記憶するメモリボードＭＢを着脱可能とした。さらに、そのサンプリングした波形データを利用するユーザボイス用のデータをデータＲＯＭ２４にバックアップしておき、電子楽器の再起動時に、データＲＯＭ２４にバックアップされているユーザボイス用のデータをワークＲＡＭ２６に読み出して、バックアップしたときの電子楽器の状態を復元するようにした。したがって、サンプリングした波形データを記憶装置２７又は外部機器ＡＥに保存しておき、電子楽器の再起動時に波形ＲＡＭ１７に読み込み直すという手間を省くことができる。
【００７７】
また、上記のようにメモリボードＭＢは着脱可能となっているので、メモリボードＭＢが対応している複数の電子楽器で、１つのメモリボードＭＢを共用できる。すなわち、メモリボードＭＢが対応している電子楽器であれば、他の電子楽器でサンプリングしてメモリボードＭＢに記憶させた楽音の波形データを利用できる。上記のように、メモリボードＭＢを付け替えるだけで複数の電子楽器で波形データを共用できるので簡単である。
【００７８】
また、バックアップされているキーバンクデータのマップ情報を用いて、メモリボードＭＢに記憶されている波形データがキーバンクデータをバックアップしたときの波形データと同じか否かを検出し、同じ場合にのみ、そのキーバンクデータを復元するようにした。これにより、メモリボードＭＢが他の電子楽器に付け替えられて波形データが削除及び編集された後、再びもとの電子楽器に取り付けられたとしても、意図しない楽音信号を発生するという不具合を回避できる。また、波形データを選択しているにもかかわらず発音しないという不具合を回避できる。なお、メモリボードＭＢが他の電子楽器に付け替えられて新たな波形データが追加され、再びもとの電子楽器に取り付けられたときは、ＣＰＵ２３により、メモリボードＭＢの空き容量が少なくなっていると認識されるが、キーバンクデータの復元に関しては何ら影響を与えない。
【００７９】
さらに、メモリボードＭＢに固有のメモリボードＩＤを設け、キーバンクデータをバックアップするときにメモリボードＩＤ及びメモリボードＭＢが接続されているスロット名とともにバックアップするようにした。そして、ユーザボイス用のデータをデータＲＯＭ２４から読み出して、バックアップ時の電子楽器の状態を復元するときに、バックアップされたメモリボードＩＤ及びスロット名を用いて、現在メモリボードＭＢが接続されているスロットとバックアップ時にそのメモリボードＭＢが接続されていたスロットとが同じであるか、逆であるかを検出し、逆である場合には、スロット名を修正して復元するようにした。したがって、メモリボードを一旦取り外して、再び取り付けるときにスロットを入れ違えたとしても、バックアップ時と同様の演奏ができるように復元できる。
【００８０】
また、波形ＲＯＭ１６、波形ＲＡＭ１７及びメモリボードＭＢは、波形データバス３１に直結されるので、音源回路１４は、ＣＰＵ２３を介すことなく、波形ＲＯＭ１６、波形ＲＡＭ１７及びメモリボードＭＢ内の各種データを直接読み込める。すなわち、音源回路１４は、波形ＲＯＭ１６、波形ＲＡＭ１７及びメモリボードＭＢに記憶されているシステム情報、マップ情報及び波形データなどを読み込むときに、ＣＰＵ２３との間でバス権（バスを専有する権利）を調整する必要がない。したがって、音源回路１４は、波形ＲＯＭ１６、波形ＲＡＭ１７及びメモリボードＭＢ内の各種データを高速に読み出すことができ、かつＣＰＵ２３は、各種処理を滞らせることなく円滑に遂行できる。とくに、波形データを外部機器ＡＥではなくメモリボードＭＢに保存しておけば、従来の楽音信号発生装置のように、外部機器ＡＥから波形ＲＡＭ１７にコピーする必要が無いので、音源回路１４がＣＰＵバス２９を専有する機会を減らすことができ、ＣＰＵ２３は各種処理を円滑に遂行できる。
【００８１】
また、キーバンクデータのみを読み書きすることができるようにした。キーバンクデータは、波形データに比べてデータ量が小さいので、キーバンクデータの読み書きにかかる時間は短い。したがって、波形データの読み書きが不要な場合は、キーバンクデータのみを読み書きすることを選択することにより、作業時間を大幅に短縮できる。
【００８２】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００８３】
上記実施形態においては、楽音のサンプリングにおいては、楽音入力回路１８から出力されるディジタル楽音信号を波形ＲＡＭ１７に記憶するようにした。そして、波形ＲＡＭ１７に記憶した波形データをメモリボードＭＢに転送して保存するようにした。しかし、楽音入力回路１８から出力されるディジタル楽音信号を直接メモリボードＭＢに記憶するようにしてもよい。これによれば、波形ＲＡＭ１７からメモリボードＭＢに波形データを転送して保存するという手間を省くことができる。
【００８４】
また、ユーザボイス用データの復元処理において、データＲＯＭ２４にバックアップされている第１スロットテーブル、第２スロットテーブル及びキーバンクデータ番号を用いて順番にキーバンクデータを特定して処理するようにした。しかし、キーバンクデータ名の先頭部分がキーバンクデータ番号を表しているので、第１スロットテーブル及び第２スロットテーブルを用いることなく、キーバンクデータ名によって順番にキーバンクデータファイルを特定して処理するようにしてもよい。このように構成しても、上記実施形態と同様の効果が得られる。
【００８５】
また、キーバンクデータ名の先頭部分がキーバンクデータ番号を表すように構成したが、必ずしもこのように構成する必要はなく、ユーザがキーバンクデータ名を指定できるようにしてもよい。このように構成しても、第１スロットテーブル、第２スロットテーブル、波形ＲＡＭテーブルによって、キーバンクデータ番号とキーバンクデータを関連付けることができる。例えば、キーバンクデータ名として、楽器名を含むように構成すれば、ユーザはキーバンクデータを管理し易くなる。
【符号の説明】
【００８６】
１４…音源回路、１６…波形ＲＯＭ、１７…波形ＲＡＭ、２１…第１スロット、２２…第２スロット、２３…ＣＰＵ、２４…データＲＯＭ、２６…ワークＲＡＭ、２７…記憶装置、２９…ＣＰＵバス、３１…波形データバス、ＭＢ…メモリボード、ＡＥ…外部機器
【図１】
0005565023.tif 000002
【図２】
0005565023.tif 000003
【図３】
0005565023.tif 000004
【図４】
0005565023.tif 000005
【図５Ａ】
0005565023.tif 000006
【図５Ｂ】
0005565023.tif 000007
【図５Ｃ】
0005565023.tif 000008
【図５Ｄ】
0005565023.tif 000009
【図６】
0005565023.tif 000010
【図７】
0005565023.tif 000011
【図８】
0005565023.tif 000012
【図９】
0005565023.tif 000013
【図１０】
0005565023.tif 000014
【図１１】
0005565023.tif 000015
【図１２】
0005565023.tif 000016
【図１３】
0005565023.tif 000017
【図１４】
0005565023.tif 000018
【図１５】
0005565023.tif 000019
【図１６】
0005565023.tif 000020
【図１７】
0005565023.tif 000021