(57)【要約】【課題】  多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を簡単且つ制御性豊かに発生させる。【解決手段】  発生すべき波形の周波数を設定する周波数情報に基づき該周波数情報に応じたレートで変化する位相情報を発生し、該発生した位相情報に基づき、所定の周期毎に又は所定のタイミングで前記複数の基本波形のうちのいずれかの波形を選択する。そして、前記位相情報を入力することに応じて、選択された基本波形を波形発生手段から発生させる。こうすると、位相情報の変化に応じて波形形状の異なる複数の基本波形が所定の位相周期毎に又は位相に基づく所定のタイミングで波形発生手段から発生されるようになることから、１つの基本波形のみを繰り返し読み出す場合に比べ、多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を簡単且つ制御性豊かに発生することができるようになる。【選択図】        図４
2006058380.tif 000002
【特許請求の範囲】
【請求項１】
波形形状の異なる複数の基本波形のサンプルデータを、入力される位相情報に応じて発生することが可能な波形発生手段と、
発生すべき波形の周波数を設定する周波数情報に基づき、該周波数情報に応じたレートで変化する位相情報を発生する位相情報発生手段と、
前記位相情報発生手段で発生する前記位相情報に基づき、所定の周期毎に又は所定のタイミングで前記複数の基本波形のうちのいずれかの波形を選択する波形選択手段と
を備え、前記波形選択手段により選択された基本波形を前記位相情報に基づき前記波形発生手段から発生させることを特徴とする波形発生装置。
【請求項２】
請求項１に記載の波形発生装置を、変調波又は搬送波の少なくとも一方の波形を発生するための手段として使用することを特徴とする変調演算型の楽音合成装置。
【請求項３】
コンピュータに、
発生すべき波形の周波数を設定する周波数情報に基づき、該周波数情報に応じたレートで変化する位相情報を発生する手順と、
前記発生した位相情報に基づき、所定の周期毎に又は所定のタイミングで波形形状の異なる複数の基本波形のうちのいずれかの波形を選択する手順と、
前記選択された基本波形のサンプルデータを、前記発生した位相情報の入力に応じて発生させる手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、楽音信号を生成するのに用いて好適な波形発生装置及びプログラムに関する。特に、所定の位相周期毎に又は位相に基づく所定のタイミングで波形形状が異なる複数の基本波形を選択的に読み出すことによって、多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を発生することのできるようにした波形発生装置及びプログラムに関する。
【背景技術】
【０００２】
従来から楽音信号を生成する装置として、例えば可聴周波数領域の周波数変調演算（ＦＭ演算）によって所望の倍音構成を持つ楽音信号を合成する所謂ＦＭ方式の楽音合成装置（ＦＭ音源とも呼ぶ）等が知られている。従来知られているように、ＦＭ方式の楽音合成装置では基本的に搬送波信号と変調波信号とをそれぞれ発生し、搬送波信号を変調波信号により変調することによって、所望のスペクトル構成を持つ楽音信号を生成するようにしている。一般的に、こうしたＦＭ方式の楽音合成装置においては、例えば正弦波等の基本波形を発生することが可能なオペレータと呼ばれる波形発生装置を具えている。このオペレータ（波形発生装置）では楽音の音高に対応する所望の周波数で変化する位相情報に応じて、予め記憶された複数サンプル点からなる所定の基本波形（サンプルデータ）を波形テーブルから読み出すなどして発生させ、該発生させた基本波形を搬送波信号や変調波信号などとして周波数変調演算（ＦＭ演算）に使用している。
【０００３】
ところで、上記したようなＦＭ方式の楽音合成装置などにおいて、多様な音色を実現する楽音信号を生成するためには、搬送波信号や変調波信号の波形形状を複雑なものにするとよい。そこで、波形テーブルからの基本波形の読み出しを制御することが従来から行われている。こうしたものの一例を挙げると、例えば下記に示す特許文献１に記載の楽音合成装置がある。この特許文献１に記載の楽音合成装置では、所定位相区間において位相値を単にシフトするあるいは下位ビットを無視するなどして変更しながら正弦波テーブル（波形テーブルに該当する）から予め記憶済みの正弦波（基本波形に該当する）のサンプルデータを読み出すことによって該正弦波の波形形状を変化させた上で、該波形形状変更後の波形を周波数変調演算に用いることでより複雑な楽音信号を生成することができるようにしている。
【特許文献１】特公平6−44193号公報
【０００４】
しかし、基本波形の読み出し制御として、上述したように所定位相区間において位相値を単にシフトするあるいは下位ビットを無視するなどの制御を行いながら、正弦波テーブルから正弦波を位相周期毎に繰り返し読み出すだけでは、多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を発生させることが非常に難しい、という問題点があった。また、予め正弦波とは波形形状の異なる波形を選択することで、該選択した波形を基本波形として読み出すことができるようになってはいるが、演奏中などにおいて読み出す対象の波形を随時に変更することは非常に困難であり、これによっても多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を発生させることは難しかった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は上述の点に鑑みてなされたもので、所定の位相周期毎に又は位相に基づく所定のタイミングで波形形状が異なる複数の基本波形を順次に読み出すことによって、多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を簡単且つ制御性豊かに発生することのできるようにした波形発生装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明に係る波形発生装置は、波形形状の異なる複数の基本波形のサンプルデータを、入力される位相情報に応じて発生することが可能な波形発生手段と、発生すべき波形の周波数を設定する周波数情報に基づき、該周波数情報に応じたレートで変化する位相情報を発生する位相情報発生手段と、前記位相情報発生手段で発生する前記位相情報に基づき、所定の周期毎に又は所定のタイミングで前記複数の基本波形のうちのいずれかの波形を選択する波形選択手段とを備え、前記波形選択手段により選択された基本波形を前記位相情報に基づき前記波形発生手段から発生させることを特徴とする。
【０００７】
本発明によると、発生すべき波形の周波数を設定する周波数情報に基づき該周波数情報に応じたレートで変化する位相情報を発生し、該発生した位相情報に基づき、所定の周期毎に又は所定のタイミングで前記複数の基本波形のうちのいずれかの波形を選択する。そして、前記発生した位相情報を入力することに応じて、前記波形選択手段により選択された基本波形のサンプルデータを前記波形発生手段から発生させる。こうすると、前記位相情報の変化に応じて波形形状の異なる複数の基本波形が所定の位相周期毎に又は位相に基づく所定のタイミングで該波形発生手段から発生されるようになることから、予め選択された１つの基本波形のみを繰り返し読み出す場合に比べて、多様な音色を実現するより複雑な楽音信号を生成するのに最適な波形を簡単且つ制御性豊かに発生することができるようになる。
【０００８】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【０００９】
この発明によれば、所定の位相周期毎に又は位相に基づく所定のタイミングで波形形状が異なる複数の基本波形を読み出すことから、予め選択された１つの基本波形のみを繰り返し読み出す場合に比べて複雑に変化する波形を簡単且つ制御性豊かに発生することができ、該発生した波形を用いて多様な音色を実現するより複雑な楽音信号を簡単に生成することができるようになる、という効果を得る。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【実施例１】
【００１１】
まず、本発明に係る波形発生装置を適用した周波数変調演算型（ＦＭ方式）の楽音合成装置について、図１及び図２を用いて簡単に説明する。図１は、この発明に係る波形発生装置を適用した周波数変調演算型（ＦＭ方式）の楽音合成装置の全体構成の一実施例を示すブロック図である。図２は、図１に示したオペレータ（波形発生装置）の基本構成の一実施例を示すブロック図である。ただし、従来知られているように、ＦＭ方式の楽音合成装置では波形発生装置としてハード的には演算ユニットであるオペレータを１個具備しておけばよく、この１個のオペレータを２タイムスロットで時分割使用することにより図１に示すような２個のオペレータ（後述するモジュレータＯＭ又はキャリアＯＣ）として機能させるようにしている。そこで、図２では代表的なオペレータを１つだけ図示し、これを用いてオペレータ（モジュレータＯＭ又はキャリアＯＣ）について簡単に説明する。
【００１２】
図１に示すように、本実施例に示すＦＭ方式の楽音合成装置は１音につき２個のオペレータ（モジュレータＯＭ及びキャリアＯＣ）を使用してＦＭ演算を行い、所望のスペクトル構成を持つ楽音信号を合成する。この楽音合成装置は、楽音信号の基本となるキャリア波形信号（搬送波信号）を発生するキャリア波形発生器（キャリアＯＣ）と、前記キャリア波形信号を所望の楽音信号に変調するためのモジュレーション波形信号（変調波信号）を発生するモジュレーション波形発生器（モジュレータＯＭ）とからなる。これらの各波形発生器では、ＦＢ（フィードバック）パラメータ、波形パラメータ、ピッチパラメータ、エンベロープパラメータなどの各種パラメータをそれぞれ入力できるようになっており、これらの各パラメータに従って最終的にキャリアＯＣから出力される楽音信号の波形形状を制御することのできるようにしている。ＦＢ（フィードバック）パラメータ、波形パラメータ、ピッチパラメータ、エンベロープパラメータについては公知であることから、ここでの説明を省略する。また、詳しくは後述するが、この実施例に示す楽音合成装置においては、各オペレータで波形テーブル（後述のウェーブテーブルＷＴ）から基本波形を読み出す際に、自動的に位相周期毎に波形形状が異なる複数の基本波形（正弦波と矩形波など）を交互に繰り返し読み出すように制御する。こうすることにより、ユーザは予め選択された１つの基本波形を繰り返し読み出す場合に比べて複雑に変化する波形を簡単且つ制御性豊かに発生することができ、該発生した波形を用いて多様な音色を実現するより複雑な波形形状をした楽音信号を簡単に生成することができるようにしている。
【００１３】
図２に示すように、各オペレータ（モジュレータＯＭ又はキャリアＯＣ）はそれぞれセレクタＳ１、フェーズジェネレータＰＧ、アドレスジェネレータＡＧ、ウェーブテーブルＷＴ、エンベロープジェネレータＥＧ、加算器Ｋ１、乗算器Ｊ１を少なくとも含んで構成される。セレクタＳ１はＦＢパラメータが「０」つまり該オペレータの出力波形を自己フィードバックしないよう設定されている場合には、セレクタＳ１の入力端子からの自己フィードバック信号を出力しない一方で、ＦＢパラメータが「１」つまり該オペレータの出力波形を自己フィードバックするよう設定されている場合には、セレクタＳ１の入力端子からの自己フィードバック信号を出力する。すなわち、図１に示すように、モジュレータＯＭは自身の出力波形を入力側にフィードバックすることにより前記出力波形で更なる変調を行う所謂自己フィードバック機能を具えており、同じ周波数での変調であるが出力波形をフィードバックすることによって、より複雑な波形の変調波信号を作り出すことができるようにしている。そこで、ＦＢパラメータを設定することによって、こうした自己フィードバック機能を動作させるか否かを制御する。ただし、図１から理解できるように、こうした自己フィードバック機能を有しているのはモジュレータＯＭのみであってキャリアＯＣは上記機能を有していないことから、キャリアＯＣでは自己フィードバック信号を出力することがない。そこで、キャリアＯＣでは、前記ＦＢパラメータをモジュレータＯＭからの出力波形を入力するか否かを決定するためのパラメータとして用いる。
【００１４】
フェーズジェネレータＰＧは、演奏操作子（例えば鍵盤など）のユーザ操作に応じて入力される例えば音高及びオクターブ情報などのピッチパラメータに応じて、該当するピッチ周波数ナンバを発生する。ピッチ周波数ナンバは、押下された鍵などの操作された演奏操作子毎に予め割り当てられている音高に対応した発生すべき波形の音高周波数（ピッチ）を決定する数値データからなる周波数情報である。フェーズジェネレータＰＧから発生されたピッチ周波数ナンバは、加算器Ｋ１によりセレクタＳ１からの出力と加算されてアドレスジェネレータＡＧに対して与えられる。
【００１５】
アドレスジェネレータＡＧは位相角（０〜２π）に対応する位相情報を周期的に発生する回路であり、前記フェーズジェネレータＰＧから与えられたピッチ周波数ナンバを累算（加算又は減算であってもよい）することに応じて波形読み出しアドレス信号を発生する。この波形読み出しアドレス信号は、ウェーブテーブルＷＴに記憶された基本波形を読み出すためのアドレス情報である。ウェーブテーブルＷＴは基本波形を多数記憶したテーブルであり、該テーブルには基本波形（サンプルデータ）として正弦波、矩形波、三角波、のこぎり波などの波形形状の異なる１周期分の各波形データが複数のサンプル点毎に記憶されている。ウェーブテーブルＷＴにおいて、当該基本波形の最初のサンプルデータを記憶した絶対アドレスがスタートアドレス（ＳＡ）であり、その基本波形の最後のサンプルデータを記憶した絶対アドレスがエンドアドレス（ＥＡ）である。
【００１６】
この実施例に示す楽音合成装置においては、各オペレータで前記フェーズジェネレータＰＧから与えられたピッチ周波数ナンバを累算することに応じて波形読み出しアドレス信号を発生する際に、位相周期毎に異なるスタートアドレス（ＳＡ）を与えることにより、ウェーブテーブルＷＴから波形形状が異なる基本波形を適宜に選択して読み出すようにしている。ウェーブテーブルＷＴからの基本波形の読み出しは、上記アドレスジェネレータＡＧから出力される波形読み出しアドレス信号に基づくアドレス進行に従って制御される。例えば、まずピッチ周波数ナンバを累算することに応じて、アドレスジェネレータＡＧは正弦波のスタートアドレス（ＳＡ）からエンドアドレス（ＥＡ）までの波形読み出しアドレス信号を発生し、これに従い１周期分の正弦波をウェーブテーブルＷＴから読み出す。そして、次にピッチ周波数ナンバを累算することに応じて、アドレスジェネレータＡＧは矩形波のスタートアドレス（ＳＡ）からエンドアドレス（ＥＡ）までの波形読み出しアドレス信号を発生し、これに従い１周期分の矩形波をウェーブテーブルＷＴから読み出す。このように、位相周期毎に異なるスタートアドレス（ＳＡ）を波形読み出しアドレス信号の先頭アドレスとして都度設定することにより、位相周期毎に波形形状が異なる正弦波と矩形波とを交互に発生するように制御することのできるようにしている。
【００１７】
エンベロープジェネレータＥＧは入力されたエンベロープパラメータに応じたエンベロープ信号を出力し、これをウェーブテーブルＷＴから基本波形を読み出すことに伴い発生された波形に対して乗算することにより最終的に出力する信号のエンベロープを決定する。図１に示した周波数変調演算型の楽音合成装置では、上記のようにしてオペレータから出力される信号を搬送波信号や変調波信号などとして用いる。
【００１８】
次に、上述したオペレータに含まれるフェーズジェネレータＰＧ及びアドレスジェネレータＡＧの詳細について説明する。まず、フェーズジェネレータＰＧについて、図３を用いて説明する。図３は、フェーズジェネレータＰＧの具体的な実施例を示す回路図である。
【００１９】
図３に示すように、フェーズジェネレータＰＧは、ピッチパラメータとして入力された音高に対応した音高周波数（ピッチ）に比例するピッチ周波数ナンバ（ＦＵＮＭ）を、同様にピッチパラメータとして入力されたオクターブ情報ＯＣＴに従いオクターブシフトするシフタＢを少なくとも含む回路により構成される。すなわち、シフタＢは、例えばピッチ周波数ナンバ（ＦＮＵＭ）をオクターブ情報ＯＣＴが指示するビット数だけシフトし、ピッチ周波数ナンバ（ＦＮＵＭ１）として出力する。したがって、オクターブシフトされない場合には、入力された音高に対応したピッチ周波数ナンバ（ＦＵＮＭ）とシフタＢからの出力であるオクターブシフト後のピッチ周波数ナンバ（ＦＮＵＭ１）とは等しいものとなる。シフタＢからの出力であるシフト後のピッチ周波数ナンバ（ＦＮＵＭ１）は、アドレスジェネレータＡＧに対して出力される。
【００２０】
次に、アドレスジェネレータＡＧについて、図４を用いて説明する。図４は、アドレスジェネレータＡＧの具体的な実施例を示す回路図である。上記したフェーズジェネレータＰＧから出力されたピッチ周波数ナンバ（ＦＮＵＭ１）はアドレスジェネレータＡＧに与えられ、アドレスジェネレータＡＧではウェーブテーブルＷＴから基本波形のサンプルデータを読み出すための波形読み出しアドレス信号（ＯＵＴ）を出力する。ここでは説明を理解し易くするために、便宜的にアドレスジェネレータＡＧを機能別に分けて説明する。すなわち、アドレスジェネレータＡＧを機能的に大きく分けると、ピッチ周波数ナンバを累算することにより波形読み出しアドレス信号を生成する機能Ｘと、位相周期毎に少なくとも波形形状が異なる基本波形のスタートアドレス（ＳＡ）を選択して設定する機能Ｙとに分けることができ、これらの各機能をそれぞれ実現するための回路を有している。前記機能Ｘを実現する回路は、セレクタＳ３、遅延回路Ｄ、ゲート回路Ｇ、加算器Ｋ２、減算器Ｍとを少なくとも含んで構成されている。他方、前記機能Ｙを実現する回路は、セレクタＳ２、Ｔフリップフロップ回路ＦＦを少なくとも含んで構成されている。勿論、前記機能Ｘ及び機能Ｙを実現するそれぞれの回路は上記したものに限られないことは言うまでもない。
【００２１】
まず、前記機能Ｘを実現する回路について説明する。フェーズジェネレータＰＧから出力されたピッチ周波数ナンバ（ＦＮＵＭ１）は加算器Ｋ２に与えられ、加算器Ｋ２では該ピッチ周波数ナンバ（ＦＮＵＭ１）と、遅延回路Ｄと減算器Ｍ及びセレクタＳ３とゲート回路Ｇとからなる循環回路からの出力とを加算して、ピッチ周波数ナンバ（ＦＮＵＭ１）の累算値を算出する。ここで、ピッチ周波数ナンバ（ＦＮＵＭ１）は、押下された鍵に割り当てられている音高に対応した音高周波数（ピッチ）に比例する数値データであり、単位時間当りの位相増分値に相当する。そのため、ピッチ周波数ナンバ（ＦＮＵＭ１）を規則的時間間隔（Δｔ）毎に繰り返し演算した累算値は時間的に変化する位相情報であり、これはウェーブテーブルＷＴにおいて１周期分の基本波形を記憶した記憶領域内の相対的なアドレスに対応する。こうして加算器Ｋ２で算出されたピッチ周波数ナンバ（ＦＮＵＭ１）の累算値は、循環回路の遅延回路Ｄ及び減算器Ｍ、加算器Ｋ３に対してそれぞれ与えられる。
【００２２】
遅延回路Ｄ、減算器Ｍ及びセレクタＳ３、ゲート回路Ｇとからなる循環回路では、ピッチ周波数ナンバ（ＦＮＵＭ１）を累算するために、１サンプリング周期ずつピッチ周波数ナンバ（ＦＮＵＭ１）の累算値を遅延して加算器Ｋ２に対して与える。すなわち、遅延回路Ｄは加算器Ｋ２から出力された１サンプリング周期である時間（Δｔ）だけ遅延された時間に算出されたピッチ周波数ナンバ累算値を、セレクタＳ３の入力端子の一方に与える。セレクタＳ３のもう一方の入力端子には、減算器Ｍから出力されたデータのうち最上位ビット（ＭＳＢ）以外の値が与えられる。この減算器Ｍは、加算器Ｋ２から出力されたピッチ周波数ナンバ累算値からアドレス長（Ｌ）を減算するものである。セレクタＳ３では、こうした減算器Ｍから出力されたデータの最上位ビット（ＭＳＢ）が「１」である場合には最上位ビット（ＭＳＢ）以外をゲート回路Ｇに出力し、前記最上位ビット（ＭＳＢ）が「０」である場合には遅延回路Ｄからの出力であるピッチ周波数ナンバ累算値をゲート回路Ｇへと出力する。こうすると、ピッチ周波数ナンバ累算値がオーバーフローした場合には最小値から再び累算を行うようになることから、アドレスジェネレータＡＧから出力される波形読み出しアドレス信号としては繰り返し周期の波形が出力される。ゲート回路Ｇでは、キーオンに伴い発生されるパルス信号であるキーオンパルス（ＫＯＮＰ）が新たに入力されるまで、該ピッチ周波数ナンバ累算値を加算器Ｋ２に与える。キーオンパルス（ＫＯＮＰ）が新たに入力された場合には該ピッチ周波数ナンバ累算値を加算器Ｋ２に与えないことによって、キーオンされた鍵に対応付けられた音高のピッチ周波数ナンバに基づき新たに最初からピッチ周波数ナンバの累算を開始する。加算器Ｋ２では、新たに入力されたピッチ周波数ナンバ（ＦＮＵＭ１）とゲート回路Ｇからのピッチ周波数ナンバ累算値とを加算する。
【００２３】
次に、前記機能Ｙを実現する回路について説明する。Ｔフリップフロップ回路ＦＦには減算器Ｍから出力されたデータの最上位ビット（ＭＳＢ）が与えられ、該最上位ビット（ＭＳＢ）が「１」となる毎に、つまり位相周期毎にＴフリップフロップ回路ＦＦはセレクタＳ２に対して「０」又は「１」を交互に出力する。セレクタＳ２では、Ｔフリップフロップ回路ＦＦからの出力に基づき、波形読み出しの先頭アドレスとして例えば正弦波のスタートアドレスＳＡ（ｉ）（ここではＴフリップフロップ回路ＦＦの出力が「０」である場合）、又は矩形波のスタートアドレスＳＡ（ｊ）（ここでは、Ｔフリップフロップ回路ＦＦの出力が「１」である場合）のいずれかを選択し、該選択したスタートアドレスＳＡ（ｉ）、ＳＡ（ｊ）のいずれかを加算器Ｋ３に対して出力する。なお、Ｔフリップフロップ回路ＦＦのリセット端子（Ｒ）には、キーオンに伴い発生されるパルス信号であるキーオンパルス（ＫＯＮＰ）が加えられる。したがって、キーオンに伴いキーオンパルス（ＫＯＮＰ）が新たに入力された場合には、Ｔフリップフロップ回路ＦＦからセレクタＳ２に対して「０」が与えられ、その時点からは新たに先頭アドレスとしてスタートアドレスＳＡ（ｉ）が選択される。
【００２４】
上述したように、入力されたピッチ周波数ナンバ（ＦＮＵＭ１）を規則的時間間隔毎に順次に加算することに応じて生成されるピッチ周波数ナンバ累算値は、１周期分の基本波形を記憶した記憶領域内の相対的なアドレスに対応する。ウェーブテーブルＷＴから基本波形を読み出すためには、このピッチ周波数ナンバ累算値（相対アドレス信号）を絶対アドレス信号へと変換する必要がある。そこで、加算器Ｋ３では上記セレクタＳ２により位相周期毎に交互に選択された絶対アドレスであるスタートアドレス（ＳＡ）を加算することにより、ピッチ周波数ナンバ累算値（相対アドレス信号）を絶対アドレス信号に変換する。この加算器Ｋ３から出力される絶対アドレス信号に応じてウェーブテーブルＷＴをアクセスすることにより、ウェーブテーブルＷＴに記憶された所定の基本波形（例えば正弦波や矩形波など）のサンプルデータが応答して、ウェーブテーブルＷＴから交互に読み出しされる。
【００２５】
このようにして、位相周期毎に波形形状が異なる基本波形が交互に選択されてウェーブテーブルＷＴから読み出されると、例えば図５に示すような波形形状の波形を発生することができる。図５は、ウェーブテーブルＷＴから読み出された波形の一例を表す図である。上段はフェーズジェネレータＰＧから出力されるピッチ周波数ナンバ（ＦＮＵＭ１）を時間経過にあわせて累算したＰＧ出力波形を示し、下段は該ＰＧ出力波形に応じてアドレスジェネレータＡＧから出力される波形読み出しアドレス信号に従いウェーブテーブルＷＴから基本波形を選択的に読み出すことによって発生される波形を示す。ただし、ここでは正弦波と矩形波とを交互に読み出している場合について示した。
【００２６】
この図５から理解できるように、上述したような波形読み出し制御を行うことにより、ＰＧ出力波形の１周期毎に、つまり位相周期毎に基本波形である正弦波と矩形波とを交互に読み出すことができ、ピッチを変えることなく波形形状のみを適宜に変更しながら出力波形を発生することができる。したがって、ユーザは、予め選択された１つの基本波形のみを繰り返し読み出す場合に比べて複雑に変化する波形を簡単且つ制御性豊かに発生することができ、該発生した波形を周波数変調演算に用いることによって、多様な音色を実現するより複雑な波形形状をした楽音信号を生成することが簡単にできるようになる。すなわち、図１に示したモジュレータＯＭでは、ピッチ周波数ナンバ累算値に従ってウェーブテーブルＷＴから基本波形を読み出すことによって、図５に示したような波形の変調波信号を発生する。他方、図１に示したキャリアＯＣでは、ピッチ周波数ナンバ累算値に従ってウェーブテーブルＷＴから基本波形を読み出すことによって、図５に示したような波形の搬送波信号を発生し、前記モジュレータＯＭから出力された変調波信号と該発生した搬送波信号とを加算することにより、変調された楽音信号を出力することができる。こうして出力される楽音信号は、多様な音色を実現するより複雑な波形形状をした楽音信号となる。
【実施例２】
【００２７】
上述した実施例では位相周期毎に正弦波と矩形波とを交互に繰り返し読み出すようにしたがこれに限らず、より多くの波形形状が異なる複数の基本波形を位相周期毎に読み出すようにしてもよい。例えば、正弦波、矩形波、三角波、のこぎり波の波形形状が異なる４つの基本波形を位相周期毎に順次に繰り返し読み出すようにしてもよい。そのようにする場合には、図４に示したアドレスジェネレータＡＧにおいて、位相周期毎に少なくとも波形形状が異なる複数の基本波形を読み出す制御を行う機能Ｙを実現する回路を、例えば図６に示すような回路に変更することが必要である。図６は、４つの基本波形を位相周期毎に順次に繰り返し読み出す機能を実現する回路の一実施例である。
【００２８】
図６に示すように、４つの基本波形を位相周期毎に順次に繰り返し読み出す機能を実現する回路Ｙ´は、カウンタＣＮとセレクタＳ４とを少なくとも含んで構成されている。カウンタＣＮには減算器Ｍ（図４参照）から出力されたデータの最上位ビット（ＭＳＢ）が与えられており、該最上位ビット（ＭＳＢ）が「１」となる毎に、つまり位相周期毎にカウンタＣＮは「０」〜「３」までを順次にカウントし、該カウント値を順次にセレクタＳ４に対して出力する。セレクタＳ４では、カウンタＣＮから出力されたカウント値「０」〜「３」のいずれかに基づき、波形読み出しの先頭アドレスとして少なくとも波形形状が異なる４つの基本波形（例えば、正弦波、矩形波、三角波、のこぎり波）のスタートアドレスＳＡ（ｉ）、ＳＡ（ｊ）、ＳＡ（ｋ）、ＳＡ（ｌ）のいずれかを選択し、該選択したいずれかのスタートアドレス（ＳＡ）を加算器Ｋ３（図４参照）に対して出力する。上述したように、加算器Ｋ３では上記セレクタＳ４により位相周期毎に選択されたスタートアドレス（ＳＡ）を加算してピッチ周波数ナンバ累算値（相対アドレス信号）を絶対アドレス信号に変換し、該絶対アドレス信号に応じてウェーブテーブルＷＴをアクセスする。こうして、例えば、正弦波、矩形波、三角波、のこぎり波の４つの基本波形を、ウェーブテーブルＷＴから位相周期毎に順次に繰り返し読み出すようにしている。なお、カウンタＣＮのリセット端子（Ｒ）に対しては、キーオンに伴い発生されるパルス信号であるキーオンパルス（ＫＯＮＰ）が加えられる。キーオンパルス（ＫＯＮＰ）が新たに入力された場合にはカウンタ値が「０」にリセットされ、その時点から新たに先頭アドレスとしてスタートアドレスＳＡ（ｉ）が選択されて、これに基づき基本波形が読み出される。
【００２９】
なお、上述した実施例では位相周期毎に波形形状が異なる基本波形を選択して読み出すようにしたがこれに限らず、所望の複数の位相周期毎に波形形状が異なる基本波形を選択して読み出すようにしてもよい。また、基本波形を選択するタイミングを適宜に変更してもよい。さらには、２分の１周期、４分の３周期などのように、１周期未満の所定のタイミングで波形形状が異なる基本波形を選択して読み出すようにしてもよい。
なお、上述した実施例においては２つの基本波形を位相周期毎に交互に、あるいは４つの基本波形を位相周期毎に順番に繰り返し選択して読み出すようにしたがこれに限らず、各基本波形をランダムに選択して読み出すようにしてあってもよい。
勿論、上記のようにした場合には、図４又は図６に示したアドレスジェネレータＡＧにおける位相周期毎に少なくとも波形形状が異なる複数の基本波形のいずれかの波形を読み出す制御を行う機能Ｙを実現する回路は上記態様にあわせて変更することが必要であることは言うまでもない。
なお、波形読み出し対象とする波形形状が異なる複数の基本波形を、ユーザがウェーブテーブルＷＴ内に記憶されている中から予め設定しておくことができるようになっていてよい。また、基本波形は外部の各種機器やインターネット等から取得してもよい。
【００３０】
なお、上述の実施例においては最も単純な１項の周波数変調演算を２タイムスロットを使用して１個のオペレータ（演算ユニット）を時分割で行うものを示したがこれに限らず、複数のオペレータを用意しておき、各オペレータの接続態様を選択的に切り替えることによって、ＦＭ演算のアルゴリズムを選択し、所望の音色の楽音の合成を行うようにしてあってもよい。
なお、上述した実施例に示したオペレータの基本構成（図２参照）や、フェーズジェネレータＰＧ又はアドレスジェネレータＡＧの回路構成（図３又は図４参照）は一例であってこれに限らないことは言うまでもない。
なお、予めウェーブテーブルＷＴ内に記憶している基本波形のサンプル値データはＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭなどの、どのような波形サンプルデータ方式のものであってもよいことは言うまでもない。
なお、上述した実施例においては発生した波形を周波数変調演算型（ＦＭ方式）の楽音合成装置に用いる例を示したがこれに限らず、振幅変調演算型（ＡＭ方式）の楽音合成装置における搬送波信号や変調波信号などとして用いてもよい。
【図面の簡単な説明】
【００３１】
【図１】この発明に係る波形発生装置を適用した周波数変調演算型の楽音合成装置の全体構成の一実施例を示すブロック図である。
【図２】オペレータ（波形発生装置）の基本構成の一実施例を示すブロック図である。
【図３】フェーズジェネレータの具体的な実施例を示す回路図である。
【図４】アドレスジェネレータの具体的な実施例を示す回路図である。
【図５】ウェーブテーブルから読み出された波形の一例を表す図である。
【図６】４つの基本波形を位相周期毎に順次に繰り返し読み出す機能を実現する回路の一実施例である。
【符号の説明】
【００３２】
ＯＭ…オペレータ（モジュレータ）、ＯＣ…オペレータ（キャリア）、Ｓ１（Ｓ２、Ｓ３、Ｓ４）…セレクタ、ＰＧ…フェーズジェネレータ、ＡＧ…アドレスジェネレータ、ＥＧ…エンベロープジェネレータ、ＷＴ…ウェーブテーブル、Ｋ１（Ｋ２、Ｋ３）…加算器、Ｊ１…乗算器、Ｂ…シフタ、ＦＦ…Ｔフリップフロップ回路、Ｄ…遅延回路、Ｇ…ゲート回路、Ｍ…減算器、ＣＮ…カウンタ
【図１】
2006058380.tif 000003
【図２】
2006058380.tif 000004
【図３】
2006058380.tif 000005
【図４】
2006058380.tif 000006
【図５】
2006058380.tif 000007
【図６】
2006058380.tif 000008