(57)【要約】【課題】より動作制限が少ない方法で、音色切替え時の発音遅れを低減させる音色制御装置を提供する。【解決手段】ＣＰＵ６は、音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］の中から波形データ転送期間中に新たに押鍵される鍵のノートナンバ［ｎｎ］の音色１／２切替時フィルタ係数配列［ｉ］［ｘ］を選択する。音色切替えを開始した時点から波形データ転送を終えるまでの期間中に計時される経時時間に従って［１］〜［４］に変化する各インデクスｉのフィルタ係数ｘ（０）〜ｘ（１０２３）を、フィルタ部１０の乗算器ｍ１〜ｍｎに乗算係数として与えて畳み込み演算を施す。これにより、波形データ転送期間中の新たな押鍵に対応して音源部９が音色１の波形データに基づき発生する楽音データについて、フィルタ部１０がその音色をインデクスｉの値［１］〜［４］に従って段階的に音色２に似せるように補正する。【選択図】図１
2018159734.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させる制御を行なう楽音発生制御部と、
音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から前記楽音発生制御部が再生中の前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送する波形転送部と、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正する音色補正部と
を具備することを特徴とする音色制御装置。
【請求項２】
前記音色補正部は、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音の音色を、前記波形転送部が前記転送を開始した時点からの経時時間に従って、段階的に前記第２の音色に近づけるように補正することを特徴とする請求項１に記載の音色制御装置。
【請求項３】
音高が指定された楽音の発生を指示する楽音発声指示部を備え、
前記波形転送部は、前記音色の切り替え指示に応じて、前記第２の記憶部に記憶された前記第２の音色に対応した複数の音高の波形データを前記第１の記憶部へ転送し、
前記楽音発生制御部は、前記楽音発声指示部により音高が指定された楽音の発生が指示されるのに応じて、前記第１の記憶部に記憶された前記第１の音色かつ指定された音高の波形データを再生して楽音を発生させ、
前記音色補正部は、
前記波形転送部が前記第２の音色に対応した複数の音高の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発声指示部により音高が指定された楽音の発生が指示されるのに応じて、前記楽音発生制御部が前記第１の音色かつ指定された音高の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする請求項１または２に記載の音色制御装置。
【請求項４】
前記音色補正部は、
前記波形転送部が前記第２の音色に対応した複数の音高の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記第１の記憶部への転送を終えた波形データを含む複数の波形データについて、前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする請求項３に記載の音色制御装置。
【請求項５】
前記音色補正部は、
前記第１の音色の波形データと前記第２の音色の波形データとの周波数領域における音色の差異に相当する差分値を、時間領域に変換して得たフィルタ係数を記憶するフィルタ係数記憶部と、
前記フィルタ係数記憶部から読み出すフィルタ係数に従って畳み込み演算するフィルタ部とを有し、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音について、前記フィルタ部が前記フィルタ係数に従って畳み込み演算を施して前記楽音の音色を前記第２の音色に近づけるように補正することを特徴とする請求項１に記載の音色制御装置。
【請求項６】
前記音色補正部は、
前記フィルタ係数を、音高および次数に対応させた３次元のフィルタ係数配列を複数記憶するフィルタ係数配列記憶部と、
波形データ転送期間中に発音指示される音高と、前記波形転送部が転送を開始した時点からの経時時間に従って変化する次数とに対応するフィルタ係数配列を、前記フィルタ係数配列記憶部から選択する選択部と、
前記選択部により選択されたフィルタ係数配列に含まれるフィルタ係数に従って畳み込み演算するフィルタ部とを有し、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間に、前記楽音発生制御部が前記第１の音色の波形データを再生して発音指示された音高の楽音を発生させ、前記フィルタ部が前記発生させた楽音を、前記波形転送部が転送を開始した時点からの経時時間に従って変化する次数に対応して段階的に前記第２の音色に近づけるように補正することを特徴とする請求項１に記載の音色制御装置。
【請求項７】
前記第１の音色の波形データと前記第２の音色の波形データとの周波数領域における音色の差異に相当する差分値を、時間領域に変換して得たフィルタ係数を生成するフィルタ係数生成部を更に備えることを特徴とする請求項２に記載の音色制御装置。
【請求項８】
前記第１の音色の波形データと前記第２の音色の波形データとの周波数領域における音色の差異に相当する差分値を時間領域に変換したフィルタ係数を、波形データ転送期間中に発音指示される音高と、波形データ転送を開始した時点からの経時時間に従って変化する次数とに対応させた３次元のフィルタ係数配列を生成するフィルタ係数配列生成部を更に備えることを特徴とする請求項３に記載の音色制御装置。
【請求項９】
音色制御装置で実行される方法であって、
第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させ、
音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から再生中の前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送し、
前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする音色制御方法。
【請求項１０】
音色制御装置に搭載されるコンピュータに、
第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させる楽音発生ステップと、
音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から前記楽音発生ステップで再生された前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送する波形転送ステップと、
前記波形転送ステップにて前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生ステップで前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正する音色補正ステップと
を実行させることを特徴とするプログラム。
【請求項１１】
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記演奏入力部が発生する演奏入力情報に応じた楽音の発生を指示する楽音発生指示部と、
前記請求項１乃至５の何れかに記載の音色制御装置と、
を具備することを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音色を補正する音色制御装置、音色制御方法、プログラムおよび電子楽器に関する。
【背景技術】
【０００２】
公知の波形メモリ読み出し方式で構成された音源を備える電子楽器では、製品コスト低廉化を図るため、安価で記憶容量の大きいフラッシュメモリ等を外部メモリ（二次記憶装置）に用い、一方、フラッシュメモリ等より高価であるが高速にリード・ライト可能なＲＡＭを内部メモリ（一次記憶装置）に用いることが多い。
【０００３】
こうした電子楽器では、各種音色の波形データの他、自動伴奏用のリズムパターンデータあるいは各種設定用のレジストレーションデータなどを外部メモリに保存しておき、これらの中からユーザ所望の楽音を生成するのに必要なデータを内部メモリへ転送する構成を有する。
【０００４】
この種の装置（電子楽器）として、例えば特許文献１には、第１の記憶手段に記憶された各種データの中で起動時に転送すべきデータ群を第２の記憶手段に転送する際に、そのデータ群を構成する波形データの中で予め定めた音色の波形データを優先して転送し、その転送状況に応じて、例えば同時発音数を少なくする動作制限によって、転送開始（起動）から短時間で演奏可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４７５３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献１に開示の装置では、同時発音数を少なくする動作制限によって、転送開始（起動）から短時間で演奏可能にすることは可能であるが、より動作制限が少ない方法で、音色切替え時の発音遅れを低減させる方法を提供するものではなかった。
【０００７】
本発明は、このような事情に鑑みてなされたもので、より動作制限が少ない方法で、音色切替え時の発音遅れを低減させることができる音色制御装置、音色制御方法、プログラムおよび電子楽器に関する。
【課題を解決するための手段】
【０００８】
本発明の音色制御装置は、第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させる制御を行なう楽音発生制御部と、音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から前記楽音発生制御部が再生中の前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送する波形転送部と、前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正する音色補正部と、を具備することを特徴とする。
【０００９】
本発明の音色制御方法は、前記音色制御装置が、第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させ、音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から再生中の前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送し、前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする。
【００１０】
本発明のプログラムは、音色制御装置に搭載されるコンピュータに、第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させる楽音発生ステップと、音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から前記楽音発生ステップで再生された前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送する波形転送ステップと、前記波形転送ステップにて前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生ステップで前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正する音色補正ステップと、を実行させることを特徴とする。
【発明の効果】
【００１１】
本発明では、より動作制限が少ない方法で、音色切替え時の発音遅れを低減させることが出来る。
【図面の簡単な説明】
【００１２】
【図１】図１（ａ）は本発明の一実施形態による電子楽器１００の操作パネルＰを示す外観図、図１（ｂ）は電子楽器１００の電気的構成を示すブロック図である。
【図２】図２（ａ）は音色ＲＯＭ４のデータ構成を示すメモリマップ、図２（ｂ）は音色ＲＡＭ５のデータ構成を示すメモリマップである。
【図３】図３（ａ）はＲＯＭ７のデータ構成を示すメモリマップ、図３（ｂ）はＲＡＭ８のデータ構成を示すメモリマップであり、フィルタ係数エリアＦＣＡに格納されるフィルタ係数配列ｃｆ１［ｉ］［ｘ］の一例を示す図である。
【図４】図３（ｂ）に図示した２次元のフィルタ係数配列ｃｆ１［ｉ］［ｘ］を、ノートナンバｎｎに対応して拡張した３次元のフィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］の概要を示す図である。
【図５】フィルタ部１０の構成を示すブロック図である。
【図６】フィルタ係数配列生成方法を示すフローチャートである。
【図７】図７（ａ）は、フィルタ係数配列生成方法におけるステップＳＡ１〜ＳＡ３の内容を説明するための図、図７（ｂ）はフィルタ係数配列生成方法におけるステップＳＡ１０〜ＳＡ１７の内容を説明するための図である。
【図８】ＣＰＵ６が実行するメインルーチンの動作を示すフローチャートである。
【図９】ＣＰＵ６が実行する音色切替処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．外観および全体構成
図１を参照して一実施形態の外観および全体構成について説明する。図１（ａ）は、本発明による音色制御装置を備えた一実施形態による電子楽器１００の操作パネルＰの外観を示す外観図である。図１（ｂ）は、本発明による音色制御装置を備えた一実施形態による電子楽器１００の全体構成を示すブロック図である。
【００１４】
図１において、鍵盤１は演奏入力操作（押離鍵操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等からなる演奏入力情報を発生する。鍵盤１が発生する演奏入力情報は、ＣＰＵ６においてＭＩＤＩ形式のノートオン／ノートオフイベントに変換された後、音源部９に供給される。
【００１５】
操作部２は、楽器の操作パネルＰに配設される各種操作スイッチから構成され、ユーザ（演奏者）により操作されるスイッチ種に対応したスイッチイベントを発生する。本実施形態では、図１（ａ）に図示するように、装置電源をパワーオン／パワーオフする電源スイッチＰＳの他、例えば発生楽音の音色を切り替える音色スイッチＴＳ１〜ＴＳ３を備える。
【００１６】
図１（ａ）に図示するように、楽器の操作パネルＰには、表示部３を構成するＬＣＤパネルが設けられる。表示部３は、ＬＣＤパネル、当該ＬＣＤパネルを表示駆動するドライバ（不図示）、当該ドライバを表示制御するコントローラ（不図示）から構成され、ＣＰＵ６から供給される表示制御信号に応じて、楽器各部の設定状態や動作状態などを画面表示する。
【００１７】
音色ＲＯＭ４は、安価で記憶容量の大きいフラッシュメモリ等の不揮発性メモリから構成される。この音色ＲＯＭ４は、説明の簡略化を図る為、図２（ａ）に図示する一例のように、３つの音色の波形データが各々記憶される音色１波形データエリアＷＤＡ１、音色２波形データエリアＷＤＡ２および音色３波形データエリアＷＤＡ３を有する。
【００１８】
音色ＲＡＭ５は、音色ＲＯＭ４よりも高速にリード・ライト可能な揮発性メモリであり、図２（ｂ）に図示する２つ記憶エリアとなる領域Ａおよび領域Ｂを備える。領域Ａは、ＣＰＵ６の制御の下に、音源９が波形データを読み出す記憶エリアである。領域Ｂは、ＣＰＵ６の制御の下に、ユーザ操作される音色スイッチＴＳ１〜ＴＳ３で選択される音色の波形データを音色ＲＯＭ４から読み出して格納する記憶エリアである。この領域Ａ，Ｂは固定された記憶エリアではなく、領域Ａが領域Ｂ（又は領域Ｂが領域Ａ）として機能するよう動的に変化する。
【００１９】
ＣＰＵ６は、操作部２から供給される各種スイッチイベントに基づき装置各部の動作状態を設定する他、鍵盤１から供給される演奏入力情報に基づき音源部９に楽音データの発生を指示する。また、ＣＰＵ６は音色切り替え時の発音遅れを皆無にし、かつ音源部９が発音中の音色の楽音データを、徐々に切り替えるべき音色に変化させる音色制御装置として機能する。音色制御装置の機能的構成については追って述べる。
【００２０】
例えばフラッシュメモリ等から構成されるＲＯＭ７は、図３（ａ）に図示するように、プログラムデータエリアＰＡおよび制御データエリアＣＤＡを備える。ＲＯＭ７のプログラムデータエリアＰＡには、ＣＰＵ６を動作させる各種制御プログラムが記憶される。各種制御プログラムとは、後述するメインルーチンや、当該メインルーチンからコールされる音色切替処理を含む。ＲＯＭ７の制御データエリアＣＤＡには、楽器動作を設定する各種制御データ・パラメータが記憶される。
【００２１】
ＲＡＭ８は、図３（ｂ）に図示するように、ＣＰＵ６に用いられる各種レジスタ・フラグデータを一時記憶するワークエリアＷＡを備える他、フィルタ係数エリアＦＣＡを有する。フィルタ係数エリアＦＣＡには、押鍵された鍵のノートナンバｎｎ、インデクスｉ（後述する）およびサンプル番号ｘ（後述する）を読み出しアドレスとする３次元データテーブルが、音色切替えパターン別にファクトリープリセットされる。具体的には、音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］、音色２／３切替時フィルタ係数配列ｃｆ２［ｎｎ］［ｉ］［ｘ］および音色３／１切替時フィルタ係数配列ｃｆ３［ｎｎ］［ｉ］［ｘ］を備えており、これらが意図するところについては追って詳述する。
【００２２】
音源部９は、公知の波形メモリ読み出し方式にて構成され、複数の同時発音チャンネルを備える。音源部９では、ＣＰＵ６から供給され、演奏入力情報に基づくノートオンイベントに従って音色ＲＡＭ５の領域Ａから読み出す波形データに基づいて楽音データを発音（発生）させ、ノートオフイベントに従って当該楽音データを消音（停止）する。
【００２３】
フィルタ部１０は、畳み込み演算に用いる公知のＦＩＲフィルタから構成される。図５を参照してフィルタ部１０の構成を説明する。フィルタ部１０は、入力信号を１サンプル遅延出力する遅延素子ｄ１〜ｄｎと、ｎ段縦続接続された各遅延素子ｄ１〜ｄｎの入力および出力に対し、各々上述したフィルタ係数配列ｃｆ［ｎｎ］［ｉ］［０］〜ｃｆ［ｎｎ］［ｉ］［ｘｎ］を乗算して出力する乗算器ｍ１〜ｍｎと、これら乗算器ｍ１〜ｍｎの各出力を加算する加算器ａ１〜ａｎとを備える。
【００２４】
サウンドシステム１１は、フィルタ部１０から出力される楽音データを、アナログ形式の楽音信号にＤＡ変換し、当該楽音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカ（不図示）から放音させる。
【００２５】
Ｂ．音色制御装置の説明（発明の概要）
（１）音色制御装置の構成
次に、上記構成による電子楽器１００に包含される音色制御装置の機能的構成について説明する。電子楽器１００において、起動時のイニシャライズ（初期化処理）により音色ＲＡＭ５の領域Ａに音色１の波形データが格納され、ユーザ（演奏者）の押離鍵操作に従って音色１の波形データに基づく楽音データを生成している時に、例えばユーザが音色スイッチＴＳ２を操作する音色切替開始時点から音色２の波形データを音色ＲＡＭ５の領域Ｂにロードし終えるまでの間に音色制御装置が処理を実行する。
【００２６】
音色制御装置は、音色切替えを開始した時点から音色２の波形データを音色ＲＡＭ５の領域Ｂにロードし終えるまでの期間（以下、波形データ転送期間と称す）に、音色１の波形データに基づいて発生する楽音データについて、その音色を次第に音色２に似せるように補正する。
【００２７】
つまり、波形データ転送期間中は、音源部９が音色ＲＡＭ５の領域Ａから読み出す音色１の波形データに基づいて発生する楽音データを、前述したフィルタ部１０がＣＰＵ６の制御の下に、その音色を段階的に音色２に似せるように補正する。こうすることで、音色切替え時の発音遅れを皆無にし、しかも発音中の音色を徐々に切り替えるべき音色に変化させるエフェクトも付加することが可能になる。
【００２８】
例えば音色１の波形データを音色２の波形データに切り替える際の音色の補正は、フィルタ部１０を構成する乗算器ｍ１〜ｍｎ（図５参照）のそれぞれに、ＲＡＭ８のフィルタ係数エリアＦＣＡ（図３（ｂ）参照）から読み出す音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［０］〜ｃｆ１［ｎｎ］［ｉ］［ｘｎ］を乗算係数として与えて畳み込み演算を施すことで為される。
【００２９】
３次元データテーブルとして構成される音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］は、図４に図示したように、鍵盤１を構成する８８鍵に各々対応するノートナンバ［ｎｎ］毎のフィルタ係数配列［ｉ］［ｘ］がアサインされ、この中から波形データ転送期間中に新たに押鍵される鍵のノートナンバｎｎに対応したフィルタ係数配列が選択される。例えば鍵盤１のＣ４音（ノートナンバｎｎ：６０）が押鍵された場合にはフィルタ係数配列ｃｆ１［６０］［ｉ］［ｘ］が選択される。
【００３０】
また、音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］は、図３（ｂ）に図示するように、［０］〜［４］のインデクスｉ毎のフィルタ係数配列がアサインされる。本実施形態では、インデクスｉが［０］の場合、全てのフィルタ係数配列ｘ（０）〜ｘ（１０２３）が「１．０」となり、これをフィルタ部１０の乗算器ｍ１〜ｍｎに乗算係数として与えて畳み込み演算を行っても、当該フィルタ部１０に入力する信号の周波数特性は変化しない為、音色補正は為されない。
【００３１】
［１］〜［４］のインデクスｉは、４分割した波形データ転送期間の何れに相当するかを表す値であって、音色切替えを開始した時点からタイマ計時される経時時間に応じて、［１］〜［４］に変化する。従って、音色切替えを開始した時点からの経時時間が過ぎるに連れて［１］〜［４］に変化するインデクスｉによって指定されるフィルタ係数配列［１］［ｘ］〜［４］［ｘ］をフィルタ部１０の乗算器ｍ１〜ｍｎに乗算係数として与え、音色１の波形データで生成される楽音データを段階的に音色２に似せるように補正する。
【００３２】
ＲＡＭ８のフィルタ係数エリアＦＣＡ（図３（ｂ）参照）にファクトリープリセットされる音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］は、前述した通り、音色ＲＡＭ５の領域Ａに音色１の波形データが格納済みで、ユーザ（演奏者）が音色スイッチＴＳ２を操作して音色２への切替えを指示した場合に音色制御装置によって参照される。
【００３３】
音色２／３切替時フィルタ係数配列ｃｆ２［ｎｎ］［ｉ］［ｘ］は、音色ＲＡＭ５の領域Ａに音色２の波形データが格納されている状況で、ユーザ（演奏者）が音色スイッチＴＳ３を操作して音色３への切替えを指示した場合に音色制御装置によって参照される。
【００３４】
音色３／１切替時フィルタ係数配列ｃｆ３［ｎｎ］［ｉ］［ｘ］は、音色ＲＡＭ５の領域Ａに音色３の波形データが格納されている状況で、ユーザ（演奏者）が音色スイッチＴＳ１を操作して音色１への切替えを指示した場合に音色制御装置によって参照される。
【００３５】
なお、本実施形態では、音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］、音色２／３切替時フィルタ係数配列ｃｆ２［ｎｎ］［ｉ］［ｘ］および音色３／１切替時フィルタ係数配列ｃｆ３［ｎｎ］［ｉ］［ｘ］をＲＡＭ８にファクトリープリセットされる態様としたが、これに限定されず、ＣＰＵ６を用いてこれらフィルタ係数配列ｃｆ１〜ｃｆ３を生成する態様としても構わない。
【００３６】
（２）フィルタ係数配列ｃｆの生成方法
次に、図６を参照してフィルタ係数配列ｃｆの生成方法を説明する。以下では、一例として音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］の生成方法について述べる。図６に示す生成方法は、任意の音高における音色１／音色２の波形データを用いてフィルタ係数配列ｃｆ１［ｉ］［ｘ］を取得する手法であり、コンピュータ処理で実現する。
【００３７】
鍵盤１を構成する８８鍵の全ての音高に対応した音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］を生成するには、Ａ０音（ノートナンバ：２１）からＣ８音（ノートナンバ：１０８）までの各音高毎のフィルタ係数配列ｃｆ１［２１］［［ｉ］［ｘ］〜ｃｆ１［１０８］［［ｉ］［ｘ］を取得する。
【００３８】
以下に述べるステップＳＡ１〜ＳＡ１８の各処理動作の主体はコンピュータである。先ず、図６に図示するステップＳＡ１では、一例としてＣ４音（ノートナンバ：６０）における所定サンプル数分の音色１の波形データにＦＦＴ処理（高速フーリエ変換）を施す。同様に、ステップＳＡ２においても、Ｃ４音（ノートナンバ：６０）における所定サンプル数分の音色２の波形データにＦＦＴ処理（高速フーリエ変換）を施す。
【００３９】
続いて、ステップＳＡ３では、図７（ａ）に図示するように、ＦＦＴ処理により周波数分析された音色２の波形データの振幅スペクトル（１０２４点）から音色１の波形データの振幅スペクトル（１０２４点）の各差分を算出する。これにより各周波数チャンネルにおける各周波数振幅の差分を表す差分データｄｆ［０］〜ｄｆ［１０２３］を取得する。この差分データｄｆ［０］〜ｄｆ［１０２３］は、周波数領域における音色２と音色１との差異に相当する。
【００４０】
次に、ステップＳＡ４では、サンプル番号ｘをゼロリセットする。続くステップＳＡ５、ＳＡ８、ＳＡ９では、インデクスｉが「０」の配列ＣＦ［０］［ｘ］において、サンプル番号ｘをインクリメントして歩進させながら、サンプル番号ｘが「０」〜「１０２３」に対応する全ての配列ＣＦ［０］［ｘ］に「１」をセットする。これにより、インデクスｉの値が「０」の配列ＣＦ［１］［ｘ］を生成し終える。
【００４１】
ステップＳＡ６では、インデクスｉの値を「４」にセットする。次のステップＳＡ７〜ＳＡ９では、インデクスｉが「４」の配列ＣＦ［４］［ｘ］において、サンプル番号ｘをインクリメントして歩進させながら、サンプル番号ｘが「０」〜「１０２３」に対応する全ての配列ＣＦ［４］［ｘ］に、サンプル番号ｘに対応する差分データｄｆ［０］〜ｄｆ［１０２３］をセットする。これにより、インデクスｉが「４」の配列ＣＦ［４］［ｘ］を生成し終える。
【００４２】
そして、歩進されたサンプル番号ｘが「１０２３」を越えると、ステップＳＡ９の判断結果が「ＹＥＳ」になり、ステップＳＡ１０に処理を進め、インデクスｉを「３」にセットする。続いて、ステップＳＡ１１では、サンプル番号ｘをゼロリセットする。次のステップＳＡ１２では、サンプル番号ｘに対応する差分データｄｆ［ｘ］を「４」で除算した値ｄｆ［ｘ］／４を、サンプル番号ｘに対応した差分値ｄ［ｘ］とする。
【００４３】
次いで、ステップＳＡ１３、ＳＡ１４、ＳＡ１５では、インクリメントして歩進させるサンプル番号ｘに応じて、インデクスｉ＋１が「４」の配列ＣＦ［４］［ｘ］から当該サンプル番号ｘに対応する差分値ｄ［ｘ］を減算する。これにより、インデクスｉが「３」の配列ＣＦ［３］［ｘ］を生成し終える。
【００４４】
配列ＣＦ［３］［ｘ］を生成し終えて、歩進されたサンプル番号ｘが「１０２３」を越えると、上記ステップＳＡ１５の判断結果が「ＹＥＳ」になり、ステップＳＡ１６に処理を進め、現在のインデクスｉの値をデクリメントし、当該インデクスｉを「２」にセットする。次いで、ステップＳＡ１７では、デクリメントされたインデクスｉの値が「２」となるので、判断結果は「ＮＯ」になり、上述したステップＳＡ１１に戻る。
【００４５】
再びステップＳＡ１１に戻り、サンプル番号ｘをゼロリセットすると、次のステップＳＡ１２では、サンプル番号ｘに対応する差分データｄｆ［ｘ］を「４」で除算した値ｄｆ［ｘ］／４を、サンプル番号ｘに対応した差分値ｄ［ｘ］とする。この後、ステップＳＡ１３、ＳＡ１４、ＳＡ１５では、インクリメントして歩進させるサンプル番号ｘに応じて、インデクスｉ＋１が「３」の配列ＣＦ［３］［ｘ］から当該サンプル番号ｘに対応する差分値ｄ［ｘ］を減算する。これにより、インデクスｉが「２」の配列ＣＦ［２］［ｘ］を生成し終える。
【００４６】
配列ＣＦ［２］［ｘ］を生成し終えて、歩進されたサンプル番号ｘが「１０２３」を越えると、上記ステップＳＡ１５の判断結果が「ＹＥＳ」になり、ステップＳＡ１６に処理を進め、現在のインデクスｉの値をデクリメントし、当該インデクスｉを「１」にセットする。次いで、ステップＳＡ１７では、デクリメントされたインデクスｉの値が「１」となるので、判断結果は「ＮＯ」になり、上述したステップＳＡ１１に戻る。
【００４７】
再びステップＳＡ１１に戻り、サンプル番号ｘをゼロリセットすると、次のステップＳＡ１２では、サンプル番号ｘに対応する差分データｄｆ［ｘ］を「４」で除算した値ｄｆ［ｘ］／４を、サンプル番号ｘに対応した差分値ｄ［ｘ］とする。この後、ステップＳＡ１３、ＳＡ１４、ＳＡ１５では、インクリメントして歩進させるサンプル番号ｘに応じて、インデクスｉ＋１が「２」の配列ＣＦ［２］［ｘ］から当該サンプル番号ｘに対応する差分値ｄ［ｘ］を減算する。これにより、インデクスｉが「１」の配列ＣＦ［１］［ｘ］を生成し終える。
【００４８】
こうして、配列ＣＦ［１］［ｘ］を生成し終えて、歩進されたサンプル番号ｘが「１０２３」を越えると、上記ステップＳＡ１５の判断結果が「ＹＥＳ」になり、ステップＳＡ１６に処理を進め、現在のインデクスｉの値をデクリメントし、当該インデクスｉを「０」にセットする。そして、ステップＳＡ１７では、デクリメントされたインデクスｉの値が「０」となるので、判断結果は「ＹＥＳ」になり、次のステップＳＡ１８に処理を進める。
【００４９】
ステップＳＡ１８では、以上のようにして生成した、インデクスｉが「０」〜［４］の各配列ＣＦ［０］［ｘ］〜ＣＦ［４］［ｘ］についてそれぞれＩＦＦＴ処理（逆高速フーリエ変換）を施す。このＩＦＦＴ処理（逆高速フーリエ変換）によって、周波数領域の各配列ＣＦ［０］［ｘ］〜ＣＦ［４］［ｘ］が、畳み込み演算に用いる時間領域の音色１／２切替時フィルタ係数配列ｃｆ１［ｉ］［ｘ］に変換される。
【００５０】
なお、前述したように、インデクスｉの値「１」〜「４」は、４分割した波形データ転送期間の何れに相当するかを表す値である。本実施形態では、音色切替えを開始した時点からタイマ計時される経時時間に応じて、インデクスｉの値が順番に「１」〜「４」に変化する。
【００５１】
上述した生成方法で説明した通り、インデクスｉが「４」の配列ＣＦ［４］［ｘ］は、音色２と音色１の差分を表す差分データｄｆ［０］〜ｄｆ［１０２３］そのものである。これに対し、インデクスｉの値が「３」の配列ＣＦ［３］［ｘ］は、配列ＣＦ［４］［ｘ］から差分値ｄ［ｘ］を減算し、またインデクスｉの値が「２」の配列ＣＦ［２］［ｘ］は、配列ＣＦ［３］［ｘ］から差分値ｄ［ｘ］を減算し、更にインデクスｉの値が「１」の配列ＣＦ［１］［ｘ］は、配列ＣＦ［２］［ｘ］から差分値ｄ［ｘ］を減算したものである。
【００５２】
従って、図７（ｂ）に図示する一例のように、波形データ転送期間をＴとした場合に、音色切替えを開始した時点からＴ／４経過するまでの間はインデクスｉの値が「１」、Ｔ／４経過時点からＴ／２経過するまでの間はインデクスｉの値が「２」、Ｔ／２経過時点から３Ｔ／４経過するまでの間はインデクスｉの値が「３」、３Ｔ／４経過時点からＴ経過するまでの間はインデクスｉの値が「１」となる。
【００５３】
このように、音色切替えを開始した時点からの経時時間に応じて変化するインデクスｉにより指定される配列ＣＦ［ｉ］［ｘ］に基づいて音色１／２切替時フィルタ係数配列ｃｆ１［ｉ］［ｘ］を生成するので、音色１の波形データで生成される楽音データを段階的に音色２に似せるように補正することが可能になる。また、音色１の波形データで生成される楽音データを、段階的に音色２に似せる為、いきなり音色２に似せる場合に比べて聴感上の違和感を緩和させる効果も奏する。
【００５４】
Ｃ．実施形態の動作
次に、上記構成による電子楽器１００の動作として、ＣＰＵ６が実行するメインルーチン、当該メインルーチンからコールされる音色切替処理の各動作について、図８〜図９を参照して説明する。
【００５５】
（１）メインルーチンの動作
図８は、ＣＰＵ６が実行するメインルーチンの動作を示すフローチャートである。ＣＰＵ６は、電子楽器１００のパワーオンに応じてメインルーチンを実行すると、ステップＳＢ１に処理を進め、初期化処理（イニシャライズ）を実行する。初期化処理では、例えば音色ＲＯＭ４に格納される音色１の波形データを、音色ＲＡＭ５の領域Ａに転送する他、ＲＡＭ８のワークエリアＷＡ（図３（ｂ）参照）に設けられる各種レジスタ・フラグをゼロリセットしたり、初期値セットしたりする。
【００５６】
次に、ステップＳＢ２では、操作部２のスイッチイベントを検出するスイッチ走査を行い、続くステップＳＢ３では、このスイッチ走査で検出されたスイッチイベントが音色スイッチ操作によるものであるか否かを判断する。スイッチ走査で検出されたスイッチイベントが音色スイッチ操作以外のものならば、判断結果は「ＮＯ」になり、ステップＳＢ４に進み、検出したスイッチイベントに対応したその他のスイッチ処理を実行した後、ステップＳＢ６に進む。
【００５７】
一方、スイッチ走査で検出されたスイッチイベントが音色スイッチ操作ならば、上記ステップＳＢ３の判断結果は「ＹＥＳ」になり、ＣＰＵ６は音色切替処理のタスクを起床する。音色切替処理では、後述するように、音色スイッチ操作された時点（音色切替時点）からの経過時間をタイマで計時し始める共に、インデクスｉを「１」にセットする。
【００５８】
以後、音色ＲＯＭ４に格納される音色２の波形データを、音色ＲＡＭ５の領域Ｂにロード（波形データ転送）し終えるまでの間、その波形データ転送期間を４分割した時間ｔの経過毎に、インデクスｉの値をインクリメントして歩進させ、波形データ転送期間を過ぎると、タイマの計時をストップさせ、インデクスｉを「０」にセットした後、第２の音色の波形データを転送した音色ＲＡＭ５の領域Ｂを領域Ａに、第１の音色の波形データを格納している音色ＲＡＭ５の領域Ａを領域Ｂに切り替える。
【００５９】
そして、音色切替処理のタスクを起床すると、ＣＰＵ６はステップＳＢ６に処理を進め、鍵変化の有無を検出する鍵盤走査を行う。次いで、ステップＳＢ７では、上記ステップＳＢ６の鍵盤走査の結果に基づき鍵変化を判別する。すなわち、押鍵操作又は離鍵操作されず、鍵変化が生じない場合には、ＣＰＵ６は上記ステップＳＢ７を介して後述のステップＳＢ１０に処理を進める。
【００６０】
これに対し、押鍵操作によるキーオンを検出した場合には、上記ステップＳＢ７を介してステップＳＢ８に進み、ユーザ（演奏者）の押鍵操作に応じて鍵盤１が発生する演奏入力情報に基づいてノートオンイベントを発生する。一方、離鍵操作によるキーオフを検出した場合には、上記ステップＳＢ７を介してステップＳＢ９に進み、ユーザ（演奏者）の離鍵操作に応じて鍵盤１が発生する演奏入力情報に基づいてノートオフイベントを発生する。
【００６１】
そして、ステップＳＢ１０に進むと、ＣＰＵ６は上記ステップＳＢ８において発生したノートオンイベントを音源部９に送付し、当該ノートオンイベントで指定される音高の楽音の発音を指示したり、上記ステップＳＢ９において発生したノートオフイベントを音源部９に送付し、既に発音中の楽音の内、当該ノートオフイベントで指定される音高の楽音の消音を指示したりする音源処理を実行する。
【００６２】
この後、ステップＳＢ１１では、音色制御装置として機能するＣＰＵ６が、上述したステップＳＢ５の音色切替処理と連係したフィルタ処理を実行する。例えば音色１から音色２に切り替える音色スイッチ操作が行われた場合を想定すると、フィルタ処理では、前述した通り、３次元データテーブルとして構成され、ＲＡＭ８に格納される音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］の内から波形データ転送期間中に新たに押鍵される鍵のノートナンバ［ｎｎ］の音色１／２切替時フィルタ係数配列［ｉ］［ｘ］を選択する。
【００６３】
そして、選択した音色１／２切替時フィルタ係数配列［ｉ］［ｘ］において、音色切替えを開始した時点（音色スイッチ操作時点）から波形データ転送を終えるまでの期間中にタイマ計時される経時時間に従って［１］〜［４］に変化する各インデクスｉのフィルタ係数ｘ（０）〜ｘ（１０２３）を、フィルタ部１０の乗算器ｍ１〜ｍｎに乗算係数として与えて畳み込み演算を施す結果、波形データ転送期間中の新たな押鍵に対応して音源部９が音色１の波形データに基づき発生する楽音データについて、フィルタ部１０がその音色をインデクスｉの値［１］〜［４］に従って段階的に音色２に似せるように補正する。
【００６４】
続いて、上記ステップＳＢ１１のフィルタ処理が完了すると、ＣＰＵ６はステップＳＢ１２に進み、電源スイッチ操作の有無を判断する。電源スイッチが操作されなければ、判断結は「ＮＯ」になり、上記ステップＳＢ２に処理を戻す。以後、電源スイッチ操作によりパワーオフされる迄、上記ステップＳＢ２〜ＳＢ１２の処理を繰り返し実行する。
【００６５】
一方、例えばユーザ（演奏者者）が電源スイッチ操作すると、上記ステップＳＢ１２の判断結果が「ＹＥＳ」になり、ステップＳＢ１３に進み、現在の設定状態をＲＯＭ７（書き換え可能なフラッシュメモリ）に保存したり、供給電力をカットする等のパワーオフ処理を実行して本処理を終える。
【００６６】
（２）音色切替処理の動作
次に、図９を参照して音色切替処理の動作を説明する。図９は、ＣＰＵ６が実行する音色切替処理の動作を示すフローチャートである。なお、以下では、音色ＲＡＭ５の領域Ａに音色１の波形データが格納済みの状況において、音色スイッチ２の操作に対応して音色ＲＡＭ５の領域Ｂに音色２の波形データを転送する音色切替えの一例を想定している。また、音色切替処理は、前述したメインルーチンとは別のタスクで動作する。
【００６７】
前述したメインルーチンのステップＳＢ３（図８参照）を介して本処理が実行されると、ＣＰＵ６は図９に図示するステップＳＣ１に進み、音色切替開始時点からの経過時間を計時するタイマＴｉｍｅｒをゼロリセットして計時をスタートさせ、続くステップＳＣ２では、インデクスｉを「１」にセットする。
【００６８】
そして、ステップＳＣ３では、ＣＰＵ６の制御の下に、音色ＲＯＭ４の音色２波形データエリアＷＤＡ２に格納される音色２の波形データを、音色ＲＡＭ５の領域Ｂにロード（波形データ転送）を開始する。次いで、ステップＳＣ４に進むと、ＣＰＵ６は、タイマＴｉｍｅｒで計時される経過時間が、波形データ転送期間を４分割した時間ｔに一致したか否かを判断する。
【００６９】
タイマＴｉｍｅｒで計時される経過時間が、波形データ転送期間を４分割した時間ｔに一致しなければ、上記ステップＳＣ４の判断結果は「ＮＯ」になり、ステップＳＣ６に進み、ロード終了したか否か、つまり波形データ転送期間を過ぎたかどうかを判断する。波形データ転送期間を過ぎていない場合には、判断結果が「ＮＯ」になり、上記ステップＳＣ４に処理を戻す。
【００７０】
一方、タイマＴｉｍｅｒで計時される経過時間が、波形データ転送期間を４分割した時間ｔに一致すると、上記ステップＳＣ４の判断結果が「ＹＥＳ」となり、ステップＳＣ５に進み、インデクスｉの値をインクリメントして歩進させる。従って、音色切替えを開始した時点から時間ｔを経過するまでインデクスｉは「１」となる。
【００７１】
次に、ステップＳＣ６に進むと、ＣＰＵ６は一旦タイマＴｉｍｅｒをゼロリセットする。そして、ステップＳＣ７に進み、波形データ転送期間を過ぎたかどうかを判断し、波形データ転送期間を過ぎていなければ、判断結果が「ＮＯ」になり、上記ステップＳＣ４に処理を戻す。そして、タイマＴｉｍｅｒで再び計時される経過時間が、波形データ転送期間を４分割した時間ｔに一致すると、上記ステップＳＣ４の判断結果が「ＹＥＳ」となり、ステップＳＣ５に進み、インデクスｉの値をインクリメントして歩進させて「２」とする。
【００７２】
以後、波形データ転送期間を過ぎるまでの間、波形データ転送期間を４分割した時間ｔが経過する毎にインデクスｉの値を歩進させて「３」、「４」にセットする。そして、波形データ転送期間を過ぎると、上記ステップＳＣ７の判断結果が「ＹＥＳ」になり、ステップＳＣ８に進み、ＣＰＵ６はタイマＴｉｍｅｒをゼロリセットして計時をストップさせる。続いて、ステップＳＣ９では、インデクスｉを「０」にセットする。この後、ステップＳＣ１０に進むと、ＣＰＵ６は音色２の波形データの転送先の音色ＲＡＭ５の領域Ｂを領域Ａに、音色１の波形データを格納している音色ＲＡＭ５の領域Ａを領域Ｂに切り替えて本処理を終える。
【００７３】
このように、音色切替処理では、音色スイッチが操作される音色切替時点からの経過時間をタイマＴｉｍｅｒで計時し始める共に、インデクスｉを「１」にセットし、以後、音色ＲＯＭ４に格納される音色２の波形データを、音色ＲＡＭ５の領域Ｂにロード（波形データ転送）するまでの間、波形データ転送期間を４分割した時間ｔが経過する毎に、インデクスｉの値をインクリメントして歩進させる。そして、波形データ転送期間を過ぎると、タイマＴｉｍｅｒの計時をストップさせ、インデクスｉを「０」にセットした後、音色２の波形データを転送した音色ＲＡＭ５の領域Ｂを領域Ａに、音色１の波形データを格納している音色ＲＡＭ５の領域Ａを領域Ｂに切り替える。
【００７４】
以上説明したように、本実施形態では、例えば音色１から音色２に切り替える音色スイッチ操作が行われた場合を想定すると、図３（ｂ）および図４に図示する３次元データテーブルとして構成され、ＲＡＭ８に格納される音色１／２切替時フィルタ係数配列ｃｆ１［ｎｎ］［ｉ］［ｘ］の中から波形データ転送期間中に新たに押鍵される鍵のノートナンバ［ｎｎ］の音色１／２切替時フィルタ係数配列［ｉ］［ｘ］を選択する。
【００７５】
そして、選択した音色１／２切替時フィルタ係数配列［ｉ］［ｘ］において、音色切替えを開始した時点（音色スイッチ操作時点）から波形データ転送を終えるまでの期間中に計時される経時時間に従って［１］〜［４］に変化する各インデクスｉのフィルタ係数ｘ（０）〜ｘ（１０２３）を、フィルタ部１０の乗算器ｍ１〜ｍｎ（図５参照）に乗算係数として与えて畳み込み演算を施す結果、波形データ転送期間中の新たな押鍵に対応して音源部９が音色１の波形データに基づき発生する楽音データについて、フィルタ部１０がその音色をインデクスｉの値［１］〜［４］に従って段階的に音色２に似せるように補正する。この結果、音色切替え時の発音遅れを皆無にし、しかも発音中の音色を徐々に切り替えるべき音色に変化させるという効果を奏する。
【００７６】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【００７７】
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
（付記）
［請求項１］
第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させる制御を行なう楽音発生制御部と、
音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から前記楽音発生制御部が再生中の前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送する波形転送部と、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正する音色補正部と
を具備することを特徴とする音色制御装置。
［請求項２］
前記音色補正部は、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音の音色を、前記波形転送部が前記転送を開始した時点からの経時時間に従って、段階的に前記第２の音色に近づけるように補正することを特徴とする請求項１に記載の音色制御装置。
［請求項３］
音高が指定された楽音の発生を指示する楽音発声指示部を備え、
前記波形転送部は、前記音色の切り替え指示に応じて、前記第２の記憶部に記憶された前記第２の音色に対応した複数の音高の波形データを前記第１の記憶部へ転送し、
前記楽音発生制御部は、前記楽音発声指示部により音高が指定された楽音の発生が指示されるのに応じて、前記第１の記憶部に記憶された前記第１の音色かつ指定された音高の波形データを再生して楽音を発生させ、
前記音色補正部は、
前記波形転送部が前記第２の音色に対応した複数の音高の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発声指示部により音高が指定された楽音の発生が指示されるのに応じて、前記楽音発生制御部が前記第１の音色かつ指定された音高の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする請求項１または２に記載の音色制御装置。
［請求項４］
前記音色補正部は、
前記波形転送部が前記第２の音色に対応した複数の音高の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記第１の記憶部への転送を終えた波形データを含む複数の波形データについて、前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする請求項３に記載の音色制御装置。
［請求項５］
前記音色補正部は、
前記第１の音色の波形データと前記第２の音色の波形データとの周波数領域における音色の差異に相当する差分値を、時間領域に変換して得たフィルタ係数を記憶するフィルタ係数記憶部と、
前記フィルタ係数記憶部から読み出すフィルタ係数に従って畳み込み演算するフィルタ部とを有し、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生制御部が前記第１の音色の波形データを再生して発生させる楽音について、前記フィルタ部が前記フィルタ係数に従って畳み込み演算を施して前記楽音の音色を前記第２の音色に近づけるように補正することを特徴とする請求項１に記載の音色制御装置。
［請求項６］
前記音色補正部は、
前記フィルタ係数を、音高および次数に対応させた３次元のフィルタ係数配列を複数記憶するフィルタ係数配列記憶部と、
波形データ転送期間中に発音指示される音高と、前記波形転送部が転送を開始した時点からの経時時間に従って変化する次数とに対応するフィルタ係数配列を、前記フィルタ係数配列記憶部から選択する選択部と、
前記選択部により選択されたフィルタ係数配列に含まれるフィルタ係数に従って畳み込み演算するフィルタ部とを有し、
前記波形転送部が前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間に、前記楽音発生制御部が前記第１の音色の波形データを再生して発音指示された音高の楽音を発生させ、前記フィルタ部が前記発生させた楽音を、前記波形転送部が転送を開始した時点からの経時時間に従って変化する次数に対応して段階的に前記第２の音色に近づけるように補正することを特徴とする請求項１に記載の音色制御装置。
［請求項７］
前記第１の音色の波形データと前記第２の音色の波形データとの周波数領域における音色の差異に相当する差分値を、時間領域に変換して得たフィルタ係数を生成するフィルタ係数生成部を更に備えることを特徴とする請求項２に記載の音色制御装置。
［請求項８］
前記第１の音色の波形データと前記第２の音色の波形データとの周波数領域における音色の差異に相当する差分値を時間領域に変換したフィルタ係数を、波形データ転送期間中に発音指示される音高と、波形データ転送を開始した時点からの経時時間に従って変化する次数とに対応させた３次元のフィルタ係数配列を生成するフィルタ係数配列生成部を更に備えることを特徴とする請求項３に記載の音色制御装置。
［請求項９］
音色制御装置で実行される方法であって、
第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させ、
音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から再生中の前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送し、
前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正することを特徴とする音色制御方法。
［請求項１０］
音色制御装置に搭載されるコンピュータに、
第１の記憶部に記憶された第１の音色の波形データを再生して楽音を発生させる楽音発生ステップと、
音色の切り替え指示に応じて、第２の記憶部に記憶された複数種の音色の波形データの中から前記楽音発生ステップで再生された前記第１の音色の波形データとは異なる第２の音色の波形データを前記第１の記憶部へ転送する波形転送ステップと、
前記波形転送ステップにて前記第２の音色の波形データを前記第１の記憶部へ転送し終えるまでの波形データ転送期間中に、前記楽音発生ステップで前記第１の音色の波形データを再生して発生させる楽音の音色を前記第２の音色に近づけるように補正する音色補正ステップと
を実行させることを特徴とするプログラム。
［請求項１１］
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記演奏入力部が発生する演奏入力情報に応じた楽音の発生を指示する楽音発生指示部と、
前記請求項１乃至５の何れかに記載の音色制御装置と、
を具備することを特徴とする電子楽器。
【符号の説明】
【００７８】
１  鍵盤
２  操作部
３  表示部
４  音色ＲＯＭ
５  音色ＲＡＭ
６  ＣＰＵ
７  ＲＯＭ
８  ＲＡＭ
９  音源部
１０  フィルタ部
１１  サウンドシステム
１００  電子楽器
【図１】
2018159734.tif 000003
【図２】
2018159734.tif 000004
【図３】
2018159734.tif 000005
【図４】
2018159734.tif 000006
【図５】
2018159734.tif 000007
【図６】
2018159734.tif 000008
【図７】
2018159734.tif 000009
【図８】
2018159734.tif 000010
【図９】
2018159734.tif 000011