(57)【特許請求の範囲】
【請求項１】
供給されるピッチ情報に対応したレートで歩進し、所定レベルに達すると初期値に戻る鋸歯状波発生手段と、
前記鋸歯状波発生手段の出力波形の周波数の２n（ｎ；正の整数）倍の周波数の三角波を発生する三角波発生手段と、
前記三角波発生手段から出力される三角波のレベルを調整するレベル調整手段と、
前記レベル調整手段によってレベル調整された前記三角波をミキシングするミキシング手段と、
前記ミキシング手段の出力を前記鋸歯状波発生手段の出力波形の周期の半分の周期で反転する反転手段と、
を具備してなる波形生成装置。
【請求項２】
前記三角波発生手段は、前記鋸歯状波発生手段の出力のＬＳＢから連続する所定数のビット出力が第１入力端に入力され、前記所定数のビット出力の１ビット上位のビット出力が第２入力端へ入力された複数のイクスクルーシブオアゲートによって構成されていることを特徴とする請求項１に記載の波形生成装置。
【請求項３】
前記レベル調整手段は、外部制御データに基づいて入力されたデータを下位方向へシフトして出力するシフタによって構成されていることを特徴とする請求項１または２に記載の波形生成装置。
【請求項４】
前記ミキシング手段は、レベル調整された前記三角波を加算する加算手段によって構成されていることを特徴とする請求項１〜３のいずれかの項に記載の波形生成装置。
【請求項５】
前記反転手段は、前記ミキシング手段の出力を前記鋸歯状波発生手段の出力波形の周期の半分の周期で反転する制御と、前記ミキシング手段の出力を反転しないで出力する制御とを外部制御データに基づいて選択する選択手段を具備することを特徴とする請求項１〜４に記載の波形生成装置。
【請求項６】
供給されるピッチ情報に対応したレートで歩進し、所定レベルに達すると初期値に戻る鋸歯状波を発生し、
該鋸歯状波の周波数の２n（ｎ＝１，２，３・・・）倍の周波数の三角波を発生し、
前記各三角波のレベルを調整した後ミキシングし、
前記ミキシング出力を前記鋸歯状波の周期の半分の周期で交互に反転／非反転して出力することを特徴とする波形生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、近似サイン波形あるいはＦＭ楽音波形等を発生する場合に用いて好適な波形生成装置および波形生成方法に関する。
【０００２】
【従来の技術】
従来、サイン波形を発生する装置として、図１０に示す波形メモリ方式の装置が知られている。この装置は、同図に示すように、カウンタ１と反転制御回路２と波形メモリ３と反転制御回路４とから構成されている。カウンタ１は、ピッチデータＰＤのレートで、その出力が順次歩進し、一定値に達すると０に戻り、再びピッチデータＰＤのレートで順次歩進する動作を繰り返す。すなわち、ピッチデータＰＤによって決まる周波数の鋸歯状波を発生する。反転制御回路２は、カウンタ１の出力のＬＳＢ〜（ＭＳＢ−２）を反転またはスルーさせる回路であり、カウンタ１の出力の（ＭＳＢ−１）のデータが”０”の時カウンタ出力をそのまま出力し、”１”の時は反転して出力する。この反転制御回路２の出力は波形メモリ３のアドレス端子へ供給される。
【０００３】
波形メモリ３は、サイン波形の１／４周期の各瞬時値データが記憶されたメモリである。反転制御回路４は、波形メモリ３の出力を反転またはスルーさせる回路であり、カウンタ１の出力のＭＳＢのデータが”０”の時カウンタ出力をそのまま出力し、”１”の時は反転して出力する。
以上の構成によれば、波形メモリ３の１／４周期の瞬時値データによって１周期のサイン波を形成することができる。
【０００４】
【発明が解決しようとする課題】
上述した波形生成装置は、正確なサイン波形を生成することができる利点があるが、波形メモリ３の容量が大きくなる欠点があり、また、正確なサイン波を発生するため、当然ながら、複雑な高調波をたくさん含んだ波形が望ましい楽音波形生成等の用途には向かない欠点があった。
この発明は、このような事情を考慮してなされたもので、その目的は、簡単な演算回路によって近似サイン波形を発生することができると共に、さらに、楽音波形生成に適した高調波を含んだ波形を発生することもできる波形生成装置および波形生成方法を提供することにある。
【０００５】
【課題を解決するための手段】
この発明は上述した課題を解決すべくなされたもので、請求項１に記載の発明は、供給されるピッチ情報に対応したレートで歩進し、所定レベルに達すると初期値に戻る鋸歯状波発生手段と、前記鋸歯状波発生手段の出力波形の周波数の２n（ｎ；正の整数）倍の周波数の三角波を発生する三角波発生手段と、前記三角波発生手段から出力される三角波のレベルを調整するレベル調整手段と、前記レベル調整手段によってレベル調整された前記三角波をミキシングするミキシング手段と、前記ミキシング手段の出力を前記鋸歯状波発生手段の出力に基づく一定周期で反転する反転手段とを具備してなる波形生成装置である。
また、請求項２に記載の発明は、請求項１に記載の波形生成装置において、前記三角波発生手段は、前記鋸歯状波発生手段の出力のＬＳＢから連続する所定数のビット出力が第１入力端に入力され、前記所定数のビット出力の１ビット上位のビット出力が第２入力端へ入力された複数のイクスクルーシブオアゲートによって構成されていることを特徴とする。
【０００６】
また、請求項３に記載の発明は、請求項１または２に記載の波形生成装置において、前記レベル調整手段は、外部制御データに基づいて入力されたデータを下位方向へシフトして出力するシフタによって構成されていることを特徴とする。また、請求項４に記載の発明は、請求項１〜３のいずれかの項に記載の波形生成装置において、前記ミキシング手段は、レベル調整された前記三角波を加算する加算手段によって構成されていることを特徴とする。
また、請求項５に記載の発明は、請求項１〜４に記載の波形生成装置において、前記反転手段は、前記ミキシング手段の出力を前記鋸歯状波発生手段の出力に基づく一定周期で反転する制御と、前記ミキシング手段の出力を反転しないで出力する制御とを外部制御データに基づいて選択する選択手段を具備することを特徴とする。
【０００７】
また、請求項６に記載の発明は、供給されるピッチ情報に対応したレートで歩進し、所定レベルに達すると初期値に戻る鋸歯状波を発生し、該鋸歯状波の周波数の２n（ｎ＝１，２，３・・・）倍の周波数の三角波を発生し、前記各三角波のレベルを調整した後ミキシングし、前記ミキシング出力を前記鋸歯状波の出力に基づく一定周期で交互に反転／非反転して出力することを特徴とする波形生成方法である。
【０００８】
【発明の実施の形態】
以下、図面を参照しこの発明の一実施の形態について説明する。図１はこの発明の実施の形態による波形生成装置１０の構成を示すブロック図、図２は同波形生成装置１０の具体的構成を示す回路図である。これらの図において、周波数カウンタ１１は、ピッチデータＰＤのレートで、その出力が順次歩進し、一定値に達すると０に戻り、再びピッチデータＰＤのレートで順次歩進する動作を繰り返す。すなわち、ピッチデータＰＤによって決まる周波数の鋸歯状波を発生し（図３（イ）参照）、三角波生成部１２〜１４へ出力する。
【０００９】
三角波生成部１２〜１４は各々、周波数カウンタ１１から出力される鋸歯状波の周波数の２倍、４倍、８倍の周波数の三角波を発生する回路である。すなわち、三角波生成部１２は、図２に示すように周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−２）が各々第１入力端へ入力され、（ＭＳＢ−１）が各第２入力端へ入力されるＥＸＯＲ（イクスクルーシブオア）ゲート１６、１６・・・によって構成されている。ここで、周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−１）は図３（ロ）に示すように、周波数カウンタ１１の全ビット出力の鋸歯状波の２倍の周波数の鋸歯状波となり、また、周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−２）は図３（ニ）に示すように、周波数カウンタ１１の全ビット出力の４倍の周波数の鋸歯状波となる。ＥＸＯＲゲート１６、１６・・・は周波数カウンタ１１の（ＭＳＢ−１）が”０”の時は周波数カウンタ１１の出力をスルーさせ、”１”の時は反転させて出力する。すなわち、図３（ニ）に示す波形を周波数カウンタ１１の出力の１／４周期毎に反転させることになり、この結果、三角波生成部１２の出力ＳＡは、図３（ハ）に示すように、周波数カウンタ１１の全ビット出力の２倍の周波数の三角波となる。
【００１０】
同様に、三角波生成部１３は、周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−３）が各々第１入力端へ入力され、（ＭＳＢ−２）が各第２入力端へ入力されるＥＸＯＲゲート１７、１７・・・によって構成されている。ここで、周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−３）は図３（ヘ）に示すように、周波数カウンタ１１の全ビット出力の８倍の周波数の鋸歯状波となる。これにより、三角波生成部１３の出力ＳＢは、図３（ホ）に示すように、周波数カウンタ１１の全ビット出力の４倍の周波数の三角波となる。
【００１１】
また、三角波生成部１４は、周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−４）が各々第１入力端へ入力され、（ＭＳＢ−３）が各第２入力端へ入力されるＥＸＯＲゲート１８、１８・・・によって構成されている。ここで、周波数カウンタ１１の出力のＬＳＢ〜（ＭＳＢ−４）は、周波数カウンタ１１の全ビット出力の１６倍の周波数の鋸歯状波となり、これにより、三角波生成部１４の出力ＳＣは、図３（ト）に示すように、周波数カウンタ１１の全ビット出力の８倍の周波数の三角波となる。
【００１２】
図１のレベル調整部２１〜２３は各々、外部から供給される制御データＴＣに基づいて三角波生成部１２〜１４の各出力のレベル調整を行い、ミキシング部２７へ出力する。具体的には、図２に示すように、レベル調整部２２はシフタ２５によって構成され、レベル調整部２３はシフタ２６によって構成される。なお、レベル調整部２１は、図２においては設けられていない。シフタ２５は、ＥＸＯＲゲート１７，１７・・・の出力を制御データＴＣに応じてシフトして出力する。例えば、シフタ２５が入力データを２ビット下位方向へシフトすると、入力データが１／４とされ出力されることとなる。同様に、シフタ２６は、ＥＸＯＲゲート１８，１８・・・の出力を制御データＴＣに応じてシフトして出力する。
【００１３】
図１のミキシング部２７は、レベル調整部２１〜２３の出力をミキシングして反転制御部２８へ出力する。具体的には、図２に示すように、シフタ２５，２６の各出力を加算する加算器３０と、ＥＸＯＲゲート１６，１６・・・の出力と加算器３０の出力とを加算する加算器３１とから構成されている。
図１の反転制御部２８は、ミキシング部２７の出力を反転して出力し、またはスルーさせる回路であり、具体的には、図２に示すように、セレクタ３４と、ＥＸＯＲゲート３５，３５・・・と加算器３６とから構成される。セレクタ３４は、制御データＴＣに応じてデータ”０”または周波数カウンタ１１のＭＳＢを出力する。ＥＸＯＲゲート３５，３５・・・は各々、第１入力端へ加算器３１の各ビット出力が供給され、第２入力端へセレクタ３４の出力が供給される。したがって、このＥＸＯＲゲート３５，３５／・・は、セレクタ３４の出力が”０”の時は加算器３１の出力をそのまま加算器３６へ出力し、”１”の時は加算器３１の出力を反転して加算器３６へ出力する。加算器３６は、ＥＸＯＲゲート３５，３５・・・の出力データに、キャリーＩＮ端子Ｃｉｎの１ビットのデータを加算し波形データＳｏｕｔとして出力する。
【００１４】
このような構成において、例えば、制御データＴＣに応じ、セレクタ３４が周波数カウンタ１１のＭＳＢを選択して出力し、また、シフタ２５が入力データを１／４にして出力し、また、シフタ２６が入力データを１／１６にして出力した場合について説明する。この場合、まず、周波数カウンタ１１の出力のＭＳＢ＝”０”の時、図４に示すように、ＥＸＯＲゲート１６，１６・・・の出力データＳＡの第１周期Ｔ１において、シフタ２５，２６の出力データＳＢ１、ＳＣ１は各々図に示す通りとなり、これらのデータＳＡ、ＳＢ１、ＳＣ１を加算器３０，３１によって加算すると、加算器３１の出力データＳＤ（図４）が得られる。そして、周波数カウンタ１１のＭＳＢが”０”の場合は、ＥＸＯＲゲート３５，３５・・・がデータＳＤをそのまま加算器３６へ出力する。加算器３６は、この場合キャリーＩＮ端子Ｃｉｎが”０”であることから、ＥＸＯＲゲート３５、３５・・・の出力をそのまま出力データＳｏｕｔとして出力する。
【００１５】
次に、データＳＡの第２周期Ｔ２においては、周波数カウンタ１１の出力のＭＳＢが”１”となり、この結果、加算器３１の出力ＳＤの各ビットがＥＸＯＲゲート３５，３５・・・によって反転されて加算器３６へ印加される。加算器３６は、ＥＸＯＲゲート３５、３５・・・の出力にキャリーＩＮ端子Ｃｉｎへ印加されているデータ”１”を加算して出力する。すなわち、周波数カウンタ１１の出力のＭＳＢが”１”の場合は、反転制御回路２８がデータＳＤを２の補数による負数に反転し出力データＳｏｕｔとして出力する。これにより、図４に示すように、第２周期Ｔ２においては、第２周期Ｔ１の波形を反転した波形が出力される。
【００１６】
そして、図４から明らかなように、出力データＳｏｕｔは近似サイン波形となる。この場合、シフタ２５、２６によるレベル調整によって高調波の含まれ方が種々変化する。図５（イ）は、シフタ２５、２６が各々１／４、１／１６の減衰を行う場合の出力データＳｏｕｔのスペクトルアナライザによる分析結果である。なお、参考までに、同図（ロ）、（ハ）に各々、完全なサイン波および三角波の分析結果を示す。また、図６はシフタ２５、２６が各々１／８、１／８の減衰を行う場合の出力データＳｏｕｔのスペクトルアナライザによる分析結果である。同図の場合、符号Ａにて示すように、一番影響が大きい隣接する高調波が抑圧されている。また、図７（イ）は、シフタ２５、２６が各々３／１６、１／３２の減衰を行う場合、（ロ）はシフタ２５、２６が各々３／１６、３／６４の減衰を行う場合の出力データＳｏｕｔのスペクトルアナライザによる分析結果である。なお、３／１６、３／６４の減衰は図２の回路構成では実現できないが、シフタと加算器をさらに追加するだけで容易に実現できる。例えば、３／１６の減衰を実現するには、１／８（３ビットシフト）と１／１６（４ビットシフト）の結果を加算すればよい。
【００１７】
他方、セレクタ３４がデータ”０”を選択した場合は、加算器３１の出力が常時出力データＳｏｕｔとして出力される。すなわち、近似サイン波を全波整流した波形がデータＳｏｕｔとして加算器３６から出力される。
図８、図９は各々上述した実施態様による波形生成装置の応用例を示すブロック図である。まず、図８は一般的な音源回路の構成を示す図であり、周波数カウンタ３９および波形生成部４０によって図１（または図２）に示す波形生成装置１０が構成される。そして、乗算器４１において、波形生成装置１０によって生成された波形に、エンベロープジェネレータ４２において形成されたエンベロープデータが乗算され、音源データとして出力される。
【００１８】
また、図９はＦＭ音源回路の構成を示すブロック図であり、周波数カウンタ５０および波形生成部５１によって図１に示す波形生成装置１０が構成され、波形生成部５１から出力される波形データに、乗算器５２において、エンベロープジェネレータ５３において形成されたエンベロープデータＢが乗算され、データＱ１として出力される。ここで、周波数カウンタ５０へ供給されるピッチデータをωmとすると、出力データＱ１は、
Ｑ１＝Ｂsinωmt
となり、このデータＱ１が加算回路５４へ供給される。加算回路５４は周波数カウンタ５５の出力とデータＱ１とを加算し、加算結果を波形生成部５６へ出力する。波形生成部５６は図１における三角波生成部１２〜１４、レベル調整部２１〜２３、ミキシング部２７、反転制御部２８から構成される。そして、この波形生成部５６の出力データに、乗算器５７において、エンベロープジェネレータ５８において形成されたエンベロープデータＡが乗算され、波形データＱ２として出力される。ここで、周波数カウンタ５５へ供給されるピッチデータをωcとすると、波形データＱ２は、
Ｑ２＝Ａsin（ωct＋Ｂsinωmt）
となり、ＦＭ音源波形が得られる。
【００１９】
なお、上記実施形態においては、三角波生成部１２〜１４を３回路としているが、この三角波生成部は３回路に限るものではない。
また、上記実施形態において、所定周波数のサイン波形を生成するのみの場合は、ピッチデータＰＤまたは制御データＴＣに基づく制御は不要である。
また、反転制御部２８の構成は、図２に示す構成に限られるものではなく、負数の表現の仕方によって異なってくる。
また、上記実施形態は、単に近似サイン波形を発生するだけの装置ではなく、シフタ２５，２６のシフト量の設定およびセレクタ３４の設定に応じて種々の形状の波形を生成することが可能である。
【００２０】
【発明の効果】
以上説明したように、この発明によれば、供給されるピッチ情報に対応したレートで歩進し、所定レベルに達すると初期値に戻る鋸歯状波発生手段と、鋸歯状波発生手段の出力に基づいて、同出力波形の周波数の２n（ｎ＝１，２，３・・・）倍の周波数の三角波を発生する三角波発生手段と、三角波発生手段から出力される三角波のレベルを調整するレベル調整手段と、レベル調整手段によってレベル調整された前記三角波をミキシングするミキシング手段と、ミキシング手段の出力を前記鋸歯状波発生手段の出力に基づく一定周期で反転する反転手段をもうけたので、簡単な演算回路によって近似サイン波形を発生することができると共に、さらに、楽音波形生成に適した高調波を含んだ波形を発生することもできる利点が得られる。例えば、ＦＭ楽音合成においては、サイン波を歪ませることにより高調波を有する様々な楽音を合成するが、このような楽音合成の分野（特にＦＭ楽音合成）においては近似サイン波で実用上問題はない。また、正確なサイン波では表現できないような音色を形成できる可能性もある。
【図面の簡単な説明】
【図１】  この発明の一実施形態の構成を示すブロック図である。
【図２】  同実施形態の具体的構成例を示す回路図である。
【図３】  同実施形態の動作を説明するための波形図である。
【図４】  同実施形態の動作を説明するための波形図である。
【図５】  同実施形態の出力特性を示すスペクトルアナライザの分析波形をサイン波、三角波との比較の上で示す図である。
【図６】  同実施形態の出力特性を示すスペクトルアナライザの分析波形を示す図である。
【図７】  同実施形態の出力特性を示すスペクトルアナライザの分析波形を示す図である。
【図８】  同実施形態の応用例を示す図である。
【図９】  同実施形態の応用例を示す図である。
【図１０】  従来の波形生成装置の構成例を示すブロック図である。
【符号の説明】
１１…周波数カウンタ、１２〜１４…三角波生成部、１６，１７，１８…ＥＸＯＲゲート、２１〜２３…レベル調整部、２５，２６…シフタ、２７…ミキシング部、２８…反転制御部、３０，３１…加算器、３４…セレクタ、３５…ＥＸＯＲゲート、３６…加算器。
【図１】
0004254018.tif 000002
【図２】
0004254018.tif 000003
【図３】
0004254018.tif 000004
【図４】
0004254018.tif 000005
【図５】
0004254018.tif 000006
【図６】
0004254018.tif 000007
【図７】
0004254018.tif 000008
【図８】
0004254018.tif 000009
【図９】
0004254018.tif 000010
【図１０】
0004254018.tif 000011