(57)【特許請求の範囲】
【請求項１】
それぞれ音源として使用する複数種類のデジタル信号をフーリエ変換するフーリエ変換手段と、
フーリエ変換された前記複数種類のデジタル信号のそれぞれの振幅スペクトルと位相スペクトルとを検出するスペクトル検出手段と、
前記複数種類のデジタル信号の検出された振幅スペクトルを、設定された態様で合成する振幅スペクトル合成手段と、
前記複数種類のデジタル信号の検出された位相スペクトルを、前記振幅スペクトル合成手段における態様とは異なる態様で合成する位相スペクトル合成手段と、
前記合成された振幅スペクトル及び合成された位相スペクトルを統合して１つのデジタル信号を発生するスペクトル統合手段と、
を備えたことを特徴とする波形発生装置。
【請求項２】
前記振幅スペクトル合成手段及び前記位相スペクトル合成手段は、少なくとも１つの種類のデジタル信号のフェードアウトと少なくとも１つの他の種類のデジタル信号のフェードインとが重複するクロスフェード処理によって、前記振幅スペクトル及び前記位相スペクトルを合成することを特徴とする請求項１に記載の波形発生装置。
【請求項３】
前記振幅スペクトル合成手段及び前記位相スペクトル合成手段は、前記複数の種類のデジタル信号が混合するミックス処理によって前記振幅スペクトル及び前記位相スペクトルを合成することを特徴とする請求項１に記載の波形発生装置。
【請求項４】
前記振幅スペクトル合成手段及び前記位相スペクトル合成手段は、少なくとも１つの種類のデジタル信号のフェードアウトと少なくとも１つの他の種類のデジタル信号のフェードインとが重複するクロスフェード処理、又は、前記複数の種類のデジタル信号が混合するミックス処理のいずれかの処理を、設定に応じて実行し、前記振幅スペクトル及び前記位相スペクトルを合成することを特徴とする請求項１に記載の波形発生装置。
【請求項５】
請求項１〜４のいずれかにおいて、前記複数のデジタル信号のそれぞれの振幅エンベロープを検出するエンベロープ検出手段と、検出されたそれぞれの振幅エンベロープを前記振幅スペクトル合成手段及び前記位相スペクトル合成手段における態様とは異なる態様で合成するエンベロープ合成手段と、を更に有することを特徴とする波形発生装置。
【請求項６】
前記振幅スペクトル合成手段、前記位相スペクトル合成手段、又は前記エンベロープ合成手段における合成の態様とは、タイミングであることを特徴とする請求項１又は５に記載の波形発生装置。
【請求項７】
前記振幅スペクトル合成手段、前記位相スペクトル合成手段、又は前記エンベロープ合成手段における合成の態様とは、区間であることを特徴とする請求項１又は５に記載の波形発生装置。
【請求項８】
前記振幅スペクトル合成手段、前記位相スペクトル合成手段、又は前記エンベロープ合成手段における合成の態様とは、比率であることを特徴とする請求項１又は５に記載の波形発生装置。
【請求項９】
前記振幅スペクトル合成手段、前記位相スペクトル合成手段、又は前記エンベロープ合成手段における合成の態様は、入力される演奏データに応じて変化することを特徴とする請求項６〜８のいずれかに記載の波形発生装置。
【請求項１０】
前記スペクトル統合手段は、発生した前記１つのデジタル信号を新たな音源として使用するために所定の波形記憶手段に記憶させることを特徴とする請求項１〜９のいずれかに記載の波形発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、音源として使用する信号波形を発生する波形発生装置に関する。
【０００２】
【従来の技術】
音源に使用するＰＣＭ音を時間的になめらかに変化させるモーフィングの技術が従来より行われている。例えば、ある楽音をフェードアウトさせる間に別の楽音をフェードインさせるクロスフェードの場合には、フェードアウトする楽音の振幅成分をなめらかに減少させるとともに、フェードインする楽音の振幅成分をなめらかに増加させる。この場合において、ＰＣＭ音をフーリエ変換した後、特定の周波数のスペクトル成分の中の振幅成分をクロスフェードさせるという提案もある。
【０００３】
【発明が解決しようとする課題】
しかしながら、振幅成分のみをクロスフェードした場合には、モーフィングの効果が少なく音楽的な面白みに欠けるという問題があった。これはフーリエ変換した場合も同様である。
この発明の課題は、モーフィングの効果を高めるような楽音波形を発生することである。
【０００４】
【課題を解決するための手段】
本発明は、それぞれ音源として使用する複数種類のデジタル信号をフーリエ変換するフーリエ変換手段と、フーリエ変換された前記複数種類のデジタル信号のそれぞれの振幅スペクトルと位相スペクトルとを検出するスペクトル検出手段と、複数種類のデジタル信号の検出された振幅スペクトルを設定された態様で合成する振幅スペクトル合成手段と、複数種類のデジタル信号の検出された位相スペクトルを前記振幅スペクトル合成手段における態様とは異なる態様で合成する位相スペクトル合成手段と、合成された振幅スペクトル及び合成された位相スペクトルを統合して１つのデジタル信号を発生するスペクトル統合手段と、を備えた構成になっている。
本発明によれば、複数の種類のデジタル信号をフーリエ変換し、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出し、検出した振幅スペクトル同士を振幅成分用の態様によって合成するとともに、検出した位相スペクトル同士を位相成分用の態様によって合成し、合成した振幅スペクトル及び位相スペクトルを統合して１つのデジタル信号を発生する。
【０００５】
【発明の実施の形態】
以下、本発明の波形発生装置の第１〜第６実施形態について説明する。
図１は、第１実施形態の構成を示すブロック図の一部である。なお、図１における波形発生装置には、装置全体を制御する制御手段であるＣＰＵ、ＣＰＵのプログラムを記憶しているＲＯＭ、ＣＰＵによって処理されるデータを一時的に記憶するＲＡＭ、キーボード等からなる操作部があるが、説明を簡便にするために省略している。他の実施形態の構成のブロック図においても、ＣＰＵ、ＲＯＭ、ＲＡＭ及び操作部は図示されていない。
【０００６】
図１において、波形記憶手段としての波形メモリ１は、サンプリングされた少なくとも２種類のＰＣＭ音で音高が同じで音色が異なる１周期の波形データを記憶しており、ＣＰＵからの波形読出指令及び指定されたアドレスに応じて、２種類の波形データＡ及び波形データＢを出力する。フーリエ変換部２は、波形メモリ１から出力された波形データＡ及び波形データＢをそれぞれフーリエ変換するとともに、これらのスペクトルの振幅成分（振幅スペクトル）と位相成分（位相スペクトル）を検出して出力する。すなわち、このフーリエ変換部２及びＣＰＵは、フーリエ変換手段及びスペクトル検出手段を構成する。
【０００７】
波形データＡの振幅成分Ａ及び波形データＢの振幅成分Ｂは、振幅クロスフェード部３に入力され、波形データＡの位相成分Ａ及び波形データＢの位相成分Ｂは、位相クロスフェード部４に入力される。すなわち、振幅クロスフェード部３及びＣＰＵは、振幅スペクトル合成手段を構成し、位相クロスフェード部４及びＣＰＵは、位相スペクトル合成手段を構成する。
【０００８】
一般に、整数ｎ、Ｎについて、１≦ｎ≦Ｎとするとき、ＰＣＭ音の波形データｘ（ｎ）をフーリエ変換すると、
【数１】
0003658665.tif 000002
の式で表される。ただし、ｋは、１≦ｋ≦Ｎの整数である。また、θ＝ωｔ＝２πｆｔである。この式の位相成分は、
【数２】
0003658665.tif 000003
となるので、信号のリアル成分Ｒ（ｋ）及びイマジナリ成分Ｉ（ｋ）は、
【数３】
0003658665.tif 000004
で表される。したがって、フーリエ変換された振幅成分｜Ｘ（ｋ）｜及び位相成分Ｐ（ｋ）は、
【数４】
0003658665.tif 000005
の式で表される。
【０００９】
すなわち、図１において、振幅クロスフェード部３に入力される振幅成分Ａ及び振幅成分Ｂは、
【数５】
0003658665.tif 000006
の式で表される。また、位相クロスフェード部４に入力される位相成分Ａ及び位相成分Ｂは、
【数６】
0003658665.tif 000007
の式で表される。したがって、振幅クロスフェード部３及び位相クロスフェード部４においては、ＣＰＵの指示に応じて振幅成分及び位相成分のクロスフェード処理を行う。
【００１０】
図１において、クロスフェードされた振幅成分は振幅クロスフェード部３から出力されて、逆フーリエ変換部５に入力される。また、クロスフェードされた位相成分は位相クロスフェード部４から出力されて、逆フーリエ変換部５に入力される。逆フーリエ変換部５は、振幅成分と位相成分とを統合して逆フーリエ変換して、波形メモリ１に記憶させる。すなわち、逆フーリエ変換部５及びＣＰＵは、スペクトル統合手段を構成する。
【００１１】
このクロスフェード処理の一連の動作を、図２〜図４に示すＣＰＵのフローチャートを参照して説明する。図２は、メインルーチンのフローであり、第１〜第６実施形態に共通するフローである。このメインルーチンにおいては、所定のイニシャライズ処理（ステップＡ１）の後、波形合成処理（ステップＡ２）、その他の処理（ステップＡ３）を繰り返すループを実行する。
【００１２】
図３は、図２のステップＡ２における波形合成処理のフローである。この処理では、操作部からの指示やプログラムのデータに応じて、波形指定選択を行い（ステップＢ１）、クロスフェードカーブ選択処理を行う（ステップＢ２）。ＲＯＭ内には、複数の種類のクロスフェードカーブが記憶されており、操作部からの指示やプログラムのデータに応じて、振幅成分用及び位相成分用のクロスフェードカーブを選択して振幅クロスフェード部３及び位相クロスフェード部４に入力する。
【００１３】
図５に選択されたクロスフェードカーブの例を示す。波形始端から波形終端までの区間をクロスフェードするクロスフェードカーブである。振幅成分については、Ｔ１の区間は振幅成分Ａのみを出力し、Ｔ２及びＴ３の区間は振幅成分Ａが次第に減少するとともに、振幅成分Ｂが次第に増加する。そして、Ｔ４及びＴ５の区間は振幅成分Ｂのみを出力する。一方、位相成分については、Ｔ１及びＴ２の区間は位相成分Ａのみを出力し、Ｔ３及びＴ４の区間は位相成分Ａが次第に減少するとともに、位相成分Ｂが次第に増加する。そして、Ｔ５の区間は位相成分Ｂのみを出力する。すなわち、振幅成分と位相成分とでは、互いに異なる態様（タイミング）でクロスフェード処理がなされている。
【００１４】
図６（１）〜（６）に、様々な種類の振幅成分クロスフェードカーブ及び位相成分クロスフェードカーブの例を示す。これらの図から明らかなように、振幅成分クロスフェードカーブと位相成分クロスフェードカーブとはそれぞれ異なる独立したカーブになっている。図６（１）、（２）、（４）、（５）は、振幅成分と位相成分とを同じ区間かつ同じタイミングでクロスフェード処理を行うが、クロスフェードの比率が異なっている。図６（３）は、振幅成分と位相成分とを同じ比率でクロスフェード処理を行うが、クロスフェードの区間が異なっている。図６（６）は、振幅成分と位相成分とではクロスフェードのタイミングが異なっている。
【００１５】
図３において、ステップＢ２のクロスフェードカーブ選択処理の後は、波形クロスフェード処理を行い（ステップＢ３）、記憶保存処理を行う（ステップＢ４）。ステップＢ３の波形クロスフェード処理では、図４に示すように、波形メモリ１から出力された波形データをフーリエ変換する（ステップＣ１）。次に、フーリエ変換の結果から振幅成分と位相成分を検出する（ステップＣ２）。そして、振幅成分同士を振幅成分用のクロスフェードカーブに応じて合成する（ステップＣ３）。また、位相成分同士を位相成分用のクロスフェードカーブに応じて合成する（ステップＣ４）。
【００１６】
次に、合成した振幅成分と位相成分とを統合して逆フーリエ変換する（ステップＣ５）。そして、逆フーリエ変換された波形データを波形メモリ１の所定のエリアに一時的に記憶する（ステップＣ６）。次に、波形メモリ１に記憶されている全波形の処理が全て終了したか否かを判別する（ステップＣ７）。全波形の処理が終了していない場合には、ステップＣ１に移行して、上記の各処理を実行する。ステップＣ７において全波形の処理が終了した場合には、波形クロスフェード処理を終了する。
【００１７】
このように、上記第１実施形態によれば、フーリエ変換部２は、波形メモリ１から読み出された２種類のデジタル信号をフーリエ変換し、各デジタル信号ごとに振幅スペクトルと位相スペクトルとを検出する。振幅クロスフェード部３は、検出された振幅スペクトル同士を振幅成分用のクロスフェードカーブによって合成する。位相クロスフェード部４は、検出された位相スペクトル同士を位相成分用のクロスフェードカーブによって合成する。逆フーリエ変換部５は、合成された振幅スペクトル及び位相スペクトルを統合して、逆フーリエ変換を行って、１つのデジタル信号を発生する。したがって、振幅クロスフェード処理とは異なる態様（タイミング、区間、比率）で、位相クロスフェードを行うことにより、変化に富んだクロスフェード処理が可能になるので、モーフィングの効果を高めるような楽音波形を発生することができる。
【００１８】
なお、上記第１実施形態においては、２つのデジタル信号をクロスフェードする構成になっているが、３つ以上の複数のデジタル信号をクロスフェードするようにしてもよい。この場合にも、振幅クロスフェード処理とは異なる態様（タイミング、区間、比率）で、位相クロスフェードを行うことにより、より一層、変化に富んだクロスフェード処理が可能になる。
【００１９】
次に、本発明の第２実施形態について説明する。図７は、第２実施形態における波形発生装置の構成を示すブロック図である。この図において、図１に示した第１実施形態における構成と同じ構成のものは、同一の符号で示すとともに、その説明は省略する。図７においては、図１の振幅クロスフェード部３及び位相クロスフェード部４に代わって、振幅ミックス部６及び位相ミックス部７が設けられている。
【００２０】
図７において、フーリエ変換部２でフーリエ変換されて、さらに検出された振幅成分Ａ及び振幅成分Ｂが振幅ミックス部６に入力される。また、演奏データであるタッチ信号（演奏操作の強弱を示す信号）が振幅ミックス部６に入力される。振幅ミックス部６では、このタッチ信号に応じた比率で２つの振幅成分が混合されて、逆フーリエ変換部５に入力される。また、フーリエ変換部２でフーリエ変換されて、さらに検出された位相成分Ａ及び位相成分Ｂが位相ミックス部７に入力される。位相ミックス部７では、タッチ信号に応じた比率で２つの位相成分が混合されて、逆フーリエ変換部５に入力される。逆フーリエ変換部５は、振幅成分と位相成分とを統合して逆フーリエ変換して、１つのデジタル信号を発生して波形メモリ１に記憶させる。すなわち、振幅ミックス部６及び（図示しない）ＣＰＵは、振幅スペクトル合成手段を構成し、位相ミックス部７及びＣＰＵは、位相スペクトル合成手段を構成する。
【００２１】
このミックス処理の一連の動作を、図８及び図９に示すＣＰＵのフローチャートを参照してさらに説明する。図８は、図２に示したメインフローのステップＡ２における波形合成処理のフローである。この処理では、操作部からの指示やプログラムのデータに応じて、波形指定選択を行い（ステップＤ１）、ミックステーブル選択処理を行う（ステップＤ２）。ＲＯＭ内には、複数の種類のミックステーブルが記憶されており、操作部からの指示やプログラムのデータに応じて、振幅成分用及び位相成分用のミックステーブルを選択して振幅ミックス部６及び位相ミックス部７に入力する。したがって、タッチの強弱に応じて波形データＡ及び波形データＢの混合の比率が決定する。
【００２２】
図１０にミックステーブルの例を示す。図１０（１）は波形データＡ用のミックステーブルであり、図１０（２）は波形データＢ用のミックステーブルである。図に示すように、タッチが最小値（ｖｍｉｎ）以下では、波形データＡと波形データＢとの混合比は０．９対０．１である。また、タッチが最大値（ｖｍａｘ）以上では、波形データＡと波形データＢとの混合比は０．１対０．９である。
【００２３】
例えば、タッチの強さが図のｖ１である場合には、混合される振幅成分Ａと振幅成分Ｂとの比率は、０．４対０．６すなわち２対３であり、位相成分Ａと位相成分Ｂとの比率は、０．８対０．２すなわち４対１になる。すなわち、振幅成分と位相成分とでは、互いに異なる態様（比率）で合成する。なお、クロスフェードカーブの場合と同様に、図１０のミックステーブル以外でも、様々なミックステーブルが考えられる。また、混合の比率を決定するパラメータも、タッチの強弱に限らず、他の演奏データのパラメータによって決定してもよい。
【００２４】
図８において、ステップＤ２のミックステーブル選択処理の後は、タッチ検出があったか否かを判別する（ステップＤ３）。タッチ検出がない場合には、ただちに、波形ミックス処理を終了する。タッチ検出があった場合には、波形ミックス処理を行い（ステップＤ４）、記憶保存処理を行う（ステップＤ５）。ステップＤ４の波形ミックス処理では、図９に示すように、波形メモリ１から出力された波形データをフーリエ変換する（ステップＥ１）。そして、フーリエ変換の結果から振幅成分と位相成分を検出する（ステップＥ２）。次に、選択されたミックステーブルから、タッチ検出値に応じて、振幅成分用及び位相成分用の乗算値を読み出す（ステップＥ３）。そして、振幅成分と位相成分の夫々に対して乗算値を掛ける（ステップＥ４）。
【００２５】
次に、振幅成分と位相成分とを統合して逆フーリエ変換する（ステップＥ５）。そして、逆フーリエ変換された波形データを波形メモリ１の所定のエリアに一時的に記憶する（ステップＥ６）。次に、全波形の処理が全て終了したか否かを判別する（ステップＥ７）。全波形の処理が終了していない場合には、ステップＥ１に移行して、上記の各処理を実行する。ステップＥ７において全波形の処理が終了した場合には、波形ミックス処理を終了する。
【００２６】
このように、上記第２実施形態によれば、フーリエ変換部２は、波形メモリ１から読み出された２種類のデジタル信号をフーリエ変換し、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出する。振幅ミックス部６は、検出された振幅スペクトル同士を振幅成分用のミックステーブルによって合成する。位相ミックス部７は、検出された位相スペクトル同士を位相成分用のミックステーブルによって合成する。逆フーリエ変換部５は、合成された振幅スペクトル及び位相スペクトルを統合して、逆フーリエ変換して、１つのデジタル信号を発生する。したがって、振幅ミックス処理とは異なる態様（比率）で位相ミックスを行うことにより、変化に富んだミックス処理が可能になるので、モーフィングの効果を高めるような楽音波形を発生することができる。
【００２７】
なお、上記第２実施形態においては、２つのデジタル信号をミックスする構成になっているが、３つ以上の複数のデジタル信号をミックスするようにしてもよい。この場合、振幅ミックス処理とは異なる態様で、位相ミックスを行うことができる。例えば、互いに異なるタイミングでミックスしたり、互いに異なる区間でミックスすることもできる。したがって、より一層、変化に富んだミックス処理が可能になる。
【００２８】
次に、本発明の第３実施形態について説明する。図１１は、第３実施形態における波形発生装置の構成を示すブロック図である。この図において、図１に示した第１実施形態の構成と同じ構成のものは、同一の符号で示している。この実施形態の特徴は、区間設定部８及び出力切換部９が設けられていることである。
【００２９】
例えば、第１実施形態のように、波形メモリ１に記憶されている２種類のサンプリング波形データが、音高が同じで音色が異なる１周期の波形データである場合には、区間を指定することなく、全波形についてクロスフェード処理を行う。ところが、波形メモリ１に記憶されている波形データが複数の周期にわたっている場合には、かならずしも全区間でなくてもよく、少なくとも１周期だけをフーリエ変換して、クロスフェード処理をすることができる。
【００３０】
図１２（１）に示すように、波形メモリ１に記憶されている波形データＡ及び波形データＢのクロスフェード区間が、一部の区間であるとする。例えば、図１２（２）に示すように、波形データＡが正弦波で波形データＢが三角波であり、ゼロクロスのタイミングが一致している場合には、１周期の区間以上であればその区間を指定してフーリエ変換し、振幅成分と位相成分を検出して、それぞれクロスフェードすることができる。すなわち、図１２（３）に示すように、ハッチングで表す各波形データの１周期において、振幅成分用のクロスフェードカーブ及び位相成分用のクロスフェードカーブをそれぞれ独立して選択し、クロスフェード処理を行うことができる。
【００３１】
あるいは、図１３（１）に示すように、波形データＡと波形データＢとが、音高が異なるとともに、ゼロクロスのタイミングも一致していない場合には、波形データに応じて区間を指定する必要がある。したがって、図１３（２）に示すように、指定した区間に応じて、波形データＡ及びＢそれぞれにおける振幅成分用のクロスフェードカーブ、並びに波形データＡ及びＢそれぞれにおける位相成分用のクロスフェードカーブを選択することになる。
【００３２】
すなわち、図１１における区間設定部８は、波形メモリ１から出力される波形データＡ及びＢを、フーリエ変換部２に出力する経路と、フーリエ変換することなく出力切換部９に直接出力する経路と分けている。また、図には示していないが、ＣＰＵから各部に対して、区間を指定するためのタイミング制御信号が与えられている。
【００３３】
次に、この第３実施形態におけるクロスフェード処理の動作について、図１４及び図１５のフローを参照して説明する。図１４は、メインルーチンにおける波形合成処理のフローである。この処理では、操作部からの指示やプログラムのデータに応じて、波形指定選択を行い（ステップＦ１）、クロスフェードカーブ選択処理を行う（ステップＦ２）。次に、クロスフェード区間であるか否かを判別する（ステップＦ３）。クロスフェード区間である場合には、波形データＡ及び波形データＢをフーリエ変換部２に出力して、波形クロスフェード処理を行い（ステップＦ４）、記憶保存処理を行う（ステップＦ５）。一方、クロスフェード区間でない場合には、ステップＦ４及びＦ５の処理を行うことなく、このフローを終了する。この場合には、波形データＡ及び波形データＢを出力切換部９に出力する。出力切換部９においては、ＣＰＵからの出力切換信号に応じて、クロスフェード処理で合成された波形データ、又は波形データＡ若しくは波形データＢを択一的に出力する。
【００３４】
ステップＦ４の波形クロスフェード処理では、図１５に示すように、選択されたクロスフェード区間の波形データのアドレスを指定してフーリエ変換する（ステップＧ１）。そして、フーリエ変換の結果から振幅成分と位相成分とを検出する（ステップＧ２）。次に、振幅成分同士を振幅成分用のクロスフェードカーブに応じて合成する（ステップＧ３）。また、位相成分同士を位相成分用のクロスフェードカーブに応じて合成する（ステップＧ４）。
【００３５】
次に、合成した振幅成分と位相成分とを統合して逆フーリエ変換する（ステップＧ５）。そして、波形メモリ１に一時的に記憶する（ステップＧ６）。次に、指定された区間内のクロスフェード処理が全て終了したか否かを判別し（ステップＧ７）、終了していない場合には、ステップＧ１に移行して、上記の各処理を実行する。ステップＧ７において全区間のクロスフェード処理が終了した場合には、この波形クロスフェード処理を終了する。
【００３６】
このように、上記第３実施形態によれば、２種類のデジタル信号を指定された区間においてフーリエ変換し、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出し、検出した振幅スペクトル同士を振幅成分用のクロスフェードカーブによって合成するとともに、検出した位相スペクトル同士を位相成分用のクロスフェードカーブによって合成し、合成した振幅スペクトル及び位相スペクトルを統合して１つのデジタル信号を発生する。この場合に、振幅成分と位相成分とは異なる態様で合成する。したがって、第１実施形態の場合と同様に、モーフィングの効果を高めるような楽音波形を発生することができる。
【００３７】
さらに、上記第３実施形態によれば、波形メモリ１に記憶されている波形データが複数の周期にわたっている場合にでも、かならずしも全区間にかぎらず、少なくとも１周期を含む任意の区間についてフーリエ変換して、クロスフェード処理をすることができる。
【００３８】
次に、本発明の第４実施形態について説明する。図１６は、第４実施形態における波形発生装置の構成を示すブロック図である。この図において、図７に示した第２実施形態の構成と同じ構成のものは、同一の符号で示す。また、図１１に示した第３実施形態の区間設定部８及び出力切換部９と同じ構成のものについても、同一の符号で表している。
【００３９】
すなわち、図１６の構成は、区間を指定した場合のミックス処理の実施形態である。波形メモリ１から出力された波形データＡ及び波形データＢは、指定された区間内においては、区間設定部８を経てフーリエ変換部２に出力される。フーリエ変換部２では、波形データＡ及び波形データＢをフーリエ変換した後、振幅成分及び位相成分を検出する。そして、振幅ミックス部６において振幅成分同士を合成する。また、位相ミックス部７において位相成分同士を合成する。この場合における混合の比率も、第２実施形態の場合と同様に、タッチの強弱に応じたミックステーブルによって決定される。
【００４０】
さらに、逆フーリエ変換部５において、合成された振幅成分及び位相成分が統合されて逆フーリエ変換され、１つのデジタル信号として出力切換部９に出力される。一方、指定された区間でない場合には、波形メモリ１から出力された波形データＡ及び波形データＢは、直接に出力切換部９に出力される。
【００４１】
このように、上記第４実施形態によれば、２種類のデジタル信号を指定された区間においてフーリエ変換し、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出し、検出した振幅スペクトル同士を振幅成分用のミックステーブルによって合成するとともに、検出した位相スペクトル同士を位相成分用のミックステーブルによって合成し、合成した振幅スペクトル及び位相スペクトルを統合して１つのデジタル信号を発生する。この場合に、振幅成分と位相成分とは異なる態様で合成する。したがって、第２実施形態の場合と同様に、モーフィングの効果を高めるような楽音波形を発生することができる。
【００４２】
さらに、上記第４実施形態によれば、波形メモリ１に記憶されている波形データが複数の周期にわたっている場合にでも、かならずしも全区間にかぎらず、少なくとも１周期を含む任意の区間についてフーリエ変換して、ミックス処理をすることができる。
【００４３】
次に、本発明の第５実施形態について説明する。図１７は、第５実施形態におおける波形発生装置の構成を示すブロック図である。この図において、図１１に示した第３実施形態の構成と同じ構成のものは、同一の符号で表している。図１７において、ＣＰＵからの波形読出指示に応じて波形メモリ１から出力される波形データＡ及び波形データＢは、まずエンベロープ検出部１０に入力される。エンベロープ検出部１０は、波形データＡ及び波形データＢのそれぞれからエンベロープデータを検出して、波形データＡ及びＢ並びにエンベロープデータＡ及びＢを区間設定部８に入力する。すなわち、エンベロープ検出部１０及び（図示しない）ＣＰＵは、エンベロープ検出手段を構成する。
【００４４】
区間設定部８は、これら入力されたデータを、指定された区間前、区間内、区間後に応じて別の経路に出力する。すなわち、区間内の波形データＡ及びＢについてはフーリエ変換部２に入力し、区間前の波形データＡ及び区間後の波形データＢについては出力切換部１１に入力する。また、区間内のエンベロープデータＡ及びＢについてはエンベロープクロスフェード部１２に入力し、区間前のエンベロープデータＡ及び区間後のエンベロープデータＢについては出力切換部１３に入力する。この場合、エンベロープクロスフェード部１２及びＣＰＵは、エンベロープ合成手段を構成する。
【００４５】
フーリエ変換部２は、区間内の波形データＡ及びＢをフーリエ変換するとともに、各波形データそれぞれの振幅成分及び位相成分を検出する。そして、振幅成分Ａ及びＢについては振幅クロスフェード部３に入力し、位相成分Ａ及びＢにつついては位相クロスフェード部４に入力する。振幅クロスフェード部３においてクロスフェード処理された振幅成分、及び位相クロスフェード部４においてクロスフェード処理された位相成分は、逆フーリエ変換部５に入力される。逆フーリエ変換部５は、振幅成分及び位相成分を統合して、逆フーリエ変換して、１つのデジタル信号を生成し、出力切換部１１に入力する。
【００４６】
出力切換部１１は、区間前の波形データＡ、区間内の統合された波形データ、区間後の波形データＢのいずれかを、図示しないＣＰＵからのタイミング制御信号に応じて択一的にエンベロープ合成部１４に入力する。
【００４７】
一方、エンベロープクロスフェード部１２に入力された区間内のエンベロープデータＡ及びＢは、クロスフェード処理されて、出力切換部１３に入力される。出力切換部１３は、区間前のエンベロープデータＡ、区間内のクロスフェード処理で合成されたエンベロープデータ、区間後のエンベロープデータＢのいずれかを、タイミング制御信号に応じて択一的にエンベロープ合成部１４に入力する。
【００４８】
エンベロープ合成部は、出力切換部１１から入力された波形データと、出力不切換部１３から入力されたエンベロープデータを合成して、波形メモリ１の所定エリアに記憶させる。
【００４９】
次に、第５実施形態の波形合成処理について、図１８〜図２０を参照してさらに説明する。
図１８において、まず、波形指定選択処理を行う（ステップＨ１）。例えば、図２０（１）に示すような周波数（音高）及びエンベロープが異なる２種類の元波形データＡ及びＢを選択する。次に、エンベロープ検出部１０において、エンベロープ検出処理を行う（ステップＨ２）。図２０（２）に元波形データＡ及びＢから検出された振幅エンベロープデータＡ及びＢを示す。次に、クロスフェードカーブを選択する（ステップＨ３）。図２０（３）に選択されたクロスフェードカーブを示す。
【００５０】
そして、エンベロープクロスフェード処理を行う（ステップＨ４）。この処理では、図１９に示すように、選択されたクロスフェードカーブに応じた区間及び態様でエンベロープデータ同士をクロスフェードする（ステップＪ１）。図２０（４）はクロスフェードカーブに応じたエンベロープデータＡ及びＢのそれぞれのクロスフェード処理の途中の波形であり、図２０（５）はクロスフェード処理が完了して合成されたエンベロープデータの波形である。この合成されたエンベロープデータを一時的に記憶して（ステップＪ２）、図１８のフローに戻る。
【００５１】
図１８においては、ステップＨ４のエンベロープクロスフェードの後、波形のクロスフェード処理を行う（ステップＨ５）。このクロスフェード処理は、図１５のフローと同じである。次に、波形データとエンベロープデータとをエンベロープ合成部１４で合成して（ステップＨ６）、波形メモリ１に記憶させる記憶保存処理を行う（ステップＨ７）。
【００５２】
このように上記第５実施形態によれば、２種類のデジタル信号からエンベロープデータを検出して、指定された区間内、区間前、区間後に応じた経路に出力する。区間内のデジタル信号はフーリエ変換して、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出し、検出した振幅スペクトル同士を振幅成分用のクロスフェードカーブによって合成するとともに、検出した位相スペクトル同士を位相成分用のクロスフェードカーブによって合成し、合成した振幅スペクトル及び位相スペクトルを統合する。また、検出したエンベロープデータについても、区間内のエンベロープデータはエンベロープ用のクロスフェードカーブによって合成する。そして、区間内及び区間前後のデジタル信号と区間内及び区間前後のエンベロープデータとを合成して、１つのデジタル信号を発生する。この場合に、振幅成分、位相成分、エンベロープ成分のそれぞれを異なる態様で合成する。したがって、第１及び第３実施形態と同様に、モーフィングの効果を高めるような楽音波形を発生することができる。
【００５３】
次に、本発明の第６実施形態について説明する。図２１は、第６実施形態における波形発生装置の構成を示すブロック図である。この図において、図１６に示した第４実施形態の構成と同じ構成のものは、同一の符号で示す。また、図１７に示した第５実施形態の出力切換部１１及び１３と同じ構成のものについても、同一の符号で表している。
【００５４】
すなわち、図２１の構成は、エンベロープデータを検出した場合における区間を指定したミックス処理の実施形態である。したがって、２つの波形データＡ及びＢから検出したエンベロープデータを混合するためのエンベロープミックス部１５が設けられている。すなわち、エンベロープミックス部１５及びＣＰＵは、エンベロープ合成手段を構成する。エンベロープミックス部１５で混合されたエンベロープデータは、出力切換部１３に入力される。
【００５５】
次に、第６実施形態における波形合成処理について、図２２及び図２３のフローを参照して説明する。
図２２において、波形指定処理を行い（ステップＫ１）、エンベロープ検出部１０において、エンベロープデータ検出処理を行う（ステップＫ２）。次に、ミックステーブル選択処理を行う（ステップＫ３）。そして、タッチが検出されたか否かを判別する（ステップＫ４）。タッチが検出されない場合は、このフローを終了するが、タッチが検出された場合には、エンベロープミックス処理を行う（ステップＫ５）。
【００５６】
このエンベロープミックス処理は、図２３に示すように、選択されたミックステーブルからタッチ検出値に応じたエンベロープ用の乗算値を読み出す（ステップＬ１）。そして、検出されたエンベロープデータに対して、乗算値を掛ける。そして、その値を一時的に記憶して（ステップＬ２）、図２２のフローに戻る。
【００５７】
図２２においては、ステップＫ５のエンベロープミックス処理の後、波形ミックス処理を行う（ステップＫ６）。この波形ミックス処理は、図２４に示すように、選択された区間の波形データを指定して、波形メモリ１から出力された波形データをフーリエ変換する（ステップＭ１）。そして、フーリエ変換の結果から振幅成分と位相成分を検出する（ステップＭ２）。次に、選択されたミックステーブルから、タッチ検出値に応じて、振幅成分用及び位相成分用の乗算値を読み出す（ステップＭ３）。そして、振幅成分と位相成分の夫々に対して乗算値を掛ける（ステップＭ４）。
【００５８】
次に、振幅成分と位相成分とを統合して逆フーリエ変換する（ステップＭ５）。そして、逆フーリエ変換された波形データを波形メモリ１の所定のエリアに一時的に記憶する（ステップＭ６）。次に、区間内の処理が全て終了したか否かを判別する（ステップＭ７）。区間内の処理が全て終了していない場合には、ステップＭ１に移行して、上記の各処理を実行する。ステップＭ７において区間内の処理が全て終了した場合には、この波形ミックス処理を終了して、図２２のフローに戻る。
【００５９】
図２２においては、ステップＫ６の波形ミックス処理の後、波形データ及びエンベロープデータの合成処理を行う（ステップＫ７）。次に、記憶保存処理を行い（ステップＫ８）、この波形ミックス処理のフローを終了する。
【００６０】
このように、上記第６実施形態によれば、複数の種類のデジタル信号からエンベロープデータを検出して、指定された区間内、区間前、区間後に応じた経路に出力する。区間内のデジタル信号はフーリエ変換して、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出し、検出した振幅スペクトル同士を振幅成分用のミックステーブルによって合成するとともに、検出した位相スペクトル同士を位相成分用のミックステーブルによって合成し、合成した振幅スペクトル及び位相スペクトルを統合する。また、検出したエンベロープデータについても、区間内のエンベロープデータはエンベロープ用のミックステーブルによって合成する。そして、区間内及び区間前後のデジタル信号と区間内及び区間前後のエンベロープデータとを合成して、１つのデジタル信号を発生する。この場合に、振幅成分、位相成分、エンベロープ成分のそれぞれを異なる態様で合成する。したがって、第２及び第４実施形態と同様に、モーフィングの効果を高めるような楽音波形を発生することができる。
【００６１】
なお、上記各実施形態においては、クロスフェード処理とミックス処理とは独立した構成によって実行される別の処理としたが、クロスフェード処理及びミックス処理の両方の処理が可能な構成にしてもよい。この場合には、ユーザの設定によりクロスフェード処理又はミックス処理のいずれかの処理を選択することになる。
【００６２】
【発明の効果】
本発明によれば、複数の種類のデジタル信号をフーリエ変換し、各デジタル信号ごとに振幅スペクトルと位相スペクトルを検出し、検出した振幅スペクトル同士を振幅成分用の態様によって合成するとともに、検出した位相スペクトル同士を位相成分用の態様によって合成し、合成した振幅スペクトル及び位相スペクトルを統合して１つのデジタル信号を発生する。この場合に、振幅成分と位相成分とを互いに異なる態様で合成する。したがって、モーフィングの効果を高めるような楽音波形を発生することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態における構成を示すブロック図。
【図２】第１〜第６実施形態に共通するＣＰＵのメインルーチンのフローチャート。
【図３】第１実施形態における波形合成処理のフローチャート。
【図４】図３のステップＢ３における波形クロスフェード処理のフローチャート。
【図５】第１実施形態におけるクロスフェードカーブを示す図。
【図６】第１実施形態における様々なクロスフェードカーブを示す図。
【図７】本発明の第２実施形態における構成を示すブロック図。
【図８】第２実施形態における波形合成処理のフローチャート。
【図９】図８のステップＤ３における波形ミックス処理のフローチャート。
【図１０】第２実施形態におけるミックステーブルの内容を示す図。
【図１１】本発明の第３実施形態における構成を示すブロック図。
【図１２】第３実施形態におけるクロスフェード区間を説明する図。
【図１３】第３実施形態におけるクロスフェード区間を説明する図。
【図１４】第３実施形態における波形合成処理のフローチャート。
【図１５】図１４のステップＦ４における波形クロスフェード処理のフローチャート。
【図１６】本発明の第４実施形態における構成を示すブロック図。
【図１７】本発明の第５実施形態における構成を示すブロック図。
【図１８】第５実施形態における波形合成処理のフローチャート。
【図１９】図１８のステップＨ４におけるエンベロープクロスフェード処理のフローチャート。
【図２０】第５実施形態におけるクロスフェード処理の例を示す図。
【図２１】本発明の第６実施形態における構成を示すブロック図。
【図２２】第６実施形態における波形合成処理のフローチャート。
【図２３】図２２のステップＫ５におけるエンベロープミックス処理のフローチャート。
【図２４】図２２のステップＫ６における波形ミックス処理のフローチャート。
【符号の説明】
１  波形メモリ
２  フーリエ変換部
３  振幅クロスフェード部
４  位相クロスフェード部
５  逆フーリエ変換部
【図１】
0003658665.tif 000008
【図２】
0003658665.tif 000009
【図３】
0003658665.tif 000010
【図４】
0003658665.tif 000011
【図５】
0003658665.tif 000012
【図６】
0003658665.tif 000013
【図７】
0003658665.tif 000014
【図８】
0003658665.tif 000015
【図９】
0003658665.tif 000016
【図１０】
0003658665.tif 000017
【図１１】
0003658665.tif 000018
【図１２】
0003658665.tif 000019
【図１３】
0003658665.tif 000020
【図１４】
0003658665.tif 000021
【図１５】
0003658665.tif 000022
【図１６】
0003658665.tif 000023
【図１７】
0003658665.tif 000024
【図１８】
0003658665.tif 000025
【図１９】
0003658665.tif 000026
【図２０】
0003658665.tif 000027
【図２１】
0003658665.tif 000028
【図２２】
0003658665.tif 000029
【図２３】
0003658665.tif 000030
【図２４】
0003658665.tif 000031