(57)【特許請求の範囲】
【請求項１】
再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを大小比較する比較手段と、
前記比較手段によりピッチデータがピッチ制限データより大きいと判断された場合に、ピッチ制限データを超えない値になるまでピッチデータをオクターブシフトして出力する再生ピッチ制限手段と、
前記再生ピッチ制限手段から出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生手段と
を具備することを特徴とする波形発生装置。
【請求項２】
前記再生ピッチ制限手段は、前記比較手段によりピッチデータがピッチ制限データより小さいと判断された場合に、ピッチデータをそのまま出力することを特徴とする請求項１記載の波形発生装置。
【請求項３】
時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを記憶する記憶手段を更に備え、
前記比較手段は、処理すべきチャンネルスロット毎に、前記記憶手段から対応するピッチデータとピッチ制限データとを読み出して大小比較することを特徴とする請求項１記載の波形発生装置。
【請求項４】
時分割動作する複数の発音チャンネルに対応したチャンネルスロットの全てに共通したピッチ制限データを記憶するピッチ制限データ記憶手段と、
時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータを記憶するピッチデータ記憶手段とを更に備え、
前記比較手段は、処理すべきチャンネルスロットに対応して前記ピッチデータ記憶手段から読み出されるピッチデータと、前記ピッチ制限データ記憶手段から読み出される、全てのチャンネルスロットに共通のピッチ制限データとを大小比較することを特徴とする請求項１記載の波形発生装置。
【請求項５】
再生ピッチを表すピッチデータが、再生ピッチの上限を指定するピッチ制限データに対応した再生ピッチ上限値を超えた場合に、その再生ピッチ上限値をピッチデータとして出力する再生ピッチ制限手段と、
前記再生ピッチ制限手段から出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生手段と
を具備することを特徴とする波形発生装置。
【請求項６】
前記再生ピッチ制限手段は、ピッチデータが再生ピッチ上限値より小さい場合に、ピッチデータをそのまま出力することを特徴とする請求項５記載の波形発生装置。
【請求項７】
時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを記憶する記憶手段を更に備え、
前記再生ピッチ制限手段は、処理すべきチャンネルスロット毎に、前記記憶手段から対応するピッチデータとピッチ制限データとを読み出し、ピッチデータが再生ピッチの上限を指定するピッチ制限データに対応した再生ピッチ上限値を超えた場合に、その再生ピッチ上限値をピッチデータとして出力することを特徴とする請求項５記載の波形発生装置。
【請求項８】
時分割動作する複数の発音チャンネルに対応したチャンネルスロットの全てに共通したピッチ制限データを記憶するピッチ制限データ記憶手段と、
時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータを記憶するピッチデータ記憶手段とを更に備え、
前記再生ピッチ制限手段は、処理すべきチャンネルスロットに対応して前記ピッチデータ記憶手段から読み出されるピッチデータが、前記ピッチ制限データ記憶手段から読み出される全てのチャンネルスロットに共通のピッチ制限データに対応した再生ピッチ上限値を超えた場合に、その再生ピッチ上限値をピッチデータとして出力することを特徴とする請求項５記載の波形発生装置。
【請求項９】
コンピュータに、
再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを大小比較する比較処理と、
前記比較処理によりピッチデータがピッチ制限データより大きいと判断された場合には、ピッチ制限データを超えない値になるまでピッチデータをオクターブシフトして出力する再生ピッチ制限処理と、
前記再生ピッチ制限処理にて出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生処理と
を実行させることを特徴とする波形発生処理プログラム。
【請求項１０】
コンピュータに、
再生ピッチを表すピッチデータが、再生ピッチの上限を指定するピッチ制限データに対応した再生ピッチ上限値を超えた場合には、その再生ピッチ上限値をピッチデータとして出力する再生ピッチ制限処理と、
前記再生ピッチ制限処理にて出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生処理と
を実行させることを特徴とする波形発生処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器の音源に用いて好適な波形発生装置および波形発生処理プログラムに関する。
【背景技術】
【０００２】
従来より、差分ＰＣＭ符号化された差分波形データをメモリから読み出して楽音波形を発生する波形発生装置が知られている。この種の装置として、例えば特許文献１には、メモリに記憶された差分波形データを読み出す波形アドレスの歩進量が「１」より大きく、これにより更新される波形アドレス整数部が、更新前の波形アドレス整数部に対して不連続となった場合、更新前の波形アドレス整数部から更新された波形アドレス整数部まで連続して対応する差分波形データを逐次積分しつつ、波形アドレス小数部に基づく補間演算を施すことによって、原音ピッチ以上の再生ピッチで楽音波形を発生させる技術が開示されている。
【０００３】
【特許文献１】特許第３２２３５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、昨今のマルチティンバー音源では、ポリフォニック数の増加により１つの発音チャンネルに割当てられる処理スロットの期間が短い。そうした音源に、差分波形に基づき楽音波形を生成する波形発生装置を搭載した場合、時分割動作する１つの処理スロット期間中に波形メモリから差分波形データを読み出す回数が制限される。波形読み出し回数の制限は、波形アドレス歩進値の制限となる。したがって、最大再生ピッチ（最大アドレス歩進値に対応した再生ピッチ）を超える発音が指示されると、１つの処理スロット期間内で波形アドレスを所望値まで歩進させることが出来なくなり、この結果、例えば音切れや発音遅れなどの不自然な楽音を発生する虞が生じる。
【０００５】
本発明は、このような事情に鑑みてなされたもので、最大再生ピッチを超える発音が指示された場合の不自然さを回避することができる波形発生装置および波形発生処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを大小比較する比較手段と、前記比較手段によりピッチデータがピッチ制限データより大きいと判断された場合に、ピッチ制限データを超えない値になるまでピッチデータをオクターブシフトして出力する再生ピッチ制限手段と、前記再生ピッチ制限手段から出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生手段とを具備することを特徴とする。
【０００７】
上記請求項１に従属する請求項２に記載の発明では、前記再生ピッチ制限手段は、前記比較手段によりピッチデータがピッチ制限データより小さいと判断された場合に、ピッチデータをそのまま出力することを特徴とする。
【０００８】
上記請求項１に従属する請求項３に記載の発明では、時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを記憶する記憶手段を更に備え、前記比較手段は、処理すべきチャンネルスロット毎に、前記記憶手段から対応するピッチデータとピッチ制限データとを読み出して大小比較することを特徴とする。
【０００９】
上記請求項１に従属する請求項４に記載の発明では、時分割動作する複数の発音チャンネルに対応したチャンネルスロットの全てに共通したピッチ制限データを記憶するピッチ制限データ記憶手段と、時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータを記憶するピッチデータ記憶手段とを更に備え、前記比較手段は、処理すべきチャンネルスロットに対応して前記ピッチデータ記憶手段から読み出されるピッチデータと、前記ピッチ制限データ記憶手段から読み出される、全てのチャンネルスロットに共通のピッチ制限データとを大小比較することを特徴とする。
【００１０】
請求項５に記載の発明では、再生ピッチを表すピッチデータが、再生ピッチの上限を指定するピッチ制限データに対応した再生ピッチ上限値を超えた場合に、その再生ピッチ上限値をピッチデータとして出力する再生ピッチ制限手段と、前記再生ピッチ制限手段から出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生手段とを具備することを特徴とする。
【００１１】
上記請求項５に従属する請求項６に記載の発明では、前記再生ピッチ制限手段は、ピッチデータが再生ピッチ上限値より小さい場合に、ピッチデータをそのまま出力することを特徴とする。
【００１２】
上記請求項５に従属する請求項７に記載の発明では、時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを記憶する記憶手段を更に備え、前記再生ピッチ制限手段は、処理すべきチャンネルスロット毎に、前記記憶手段から対応するピッチデータとピッチ制限データとを読み出し、ピッチデータが再生ピッチの上限を指定するピッチ制限データに対応した再生ピッチ上限値を超えた場合に、その再生ピッチ上限値をピッチデータとして出力することを特徴とする。
【００１３】
上記請求項５に従属する請求項８に記載の発明では、時分割動作する複数の発音チャンネルに対応したチャンネルスロットの全てに共通したピッチ制限データを記憶するピッチ制限データ記憶手段と、時分割動作する複数の発音チャンネルに対応したチャンネルスロット毎に、再生ピッチを表すピッチデータを記憶するピッチデータ記憶手段とを更に備え、前記再生ピッチ制限手段は、処理すべきチャンネルスロットに対応して前記ピッチデータ記憶手段から読み出されるピッチデータが、前記ピッチ制限データ記憶手段から読み出される全てのチャンネルスロットに共通のピッチ制限データに対応した再生ピッチ上限値を超えた場合に、その再生ピッチ上限値をピッチデータとして出力することを特徴とする。
【００１４】
請求項９に記載の発明では、コンピュータに、再生ピッチを表すピッチデータと、再生ピッチの上限を指定するピッチ制限データとを大小比較する比較処理と、前記比較処理によりピッチデータがピッチ制限データより大きいと判断された場合には、ピッチ制限データを超えない値になるまでピッチデータをオクターブシフトして出力する再生ピッチ制限処理と、前記再生ピッチ制限処理にて出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生処理とを実行させることを特徴とする。
【００１５】
請求項１０に記載の発明では、コンピュータに、再生ピッチを表すピッチデータが、再生ピッチの上限を指定するピッチ制限データに対応した再生ピッチ上限値を超えた場合には、その再生ピッチ上限値をピッチデータとして出力する再生ピッチ制限処理と、前記再生ピッチ制限処理にて出力されるピッチデータに基づく差分波形再生にて波形発生する波形発生処理とを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明では、最大再生ピッチを超える発音が指示された場合の不自然さを回避することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施の形態について説明する。
［第１実施形態］
（１）構成
図１は、本発明の第１実施形態の要部構成を示すブロック図であり、電子楽器の音源に搭載される波形発生装置の一構成例を示している。この図において、クロック発生部１００は、基本クロックｃｋをカウントする１０ビットのカウンタから構成され、当該カウンタの下位４ビット出力（３ＳＢ〜０ＳＢ（ＬＳＢ））であるクロックｍｃ［３：０］と、上位６ビット出力（９ＳＢ（ＭＳＢ）〜４ＳＢ）であるクロックｍｃ［９：４］とを発生する。
【００１８】
ここで、図２を参照して基本クロックｃｋ、クロックｍｃ［３：０］およびクロックｍｃ［９：４］の対応関係について説明する。この図に示すように、クロックｍｃ［９：４］は、音源において時分割動作する６４個（０ｈ〜３Ｆｈ）の発音チャンネルに各々対応するチャンネルスロットＣＨ０〜ＣＨ６３を形成する。チャンネルスロットＣＨ０〜ＣＨ６３の期間は、差分波形データの１サンプリング周期１／Ｆｓ（Ｆｓ：サンプリング周波数）に相当する。
【００１９】
クロックｍｃ［３：０］は、上記クロックｍｃ［９：４］が形成する１つのチャンネルスロットＣＨを、１６個の処理スロット「０ｈ（０）」〜「Ｆｈ（１５）」に分割する。こうしたクロックｍｃ［９：４］およびクロックｍｃ［３：０］に基づき、図１に図示する波形発生装置の各構成要素の動作タイミングが制御される。
【００２０】
図１において、ＲＡＭ２００は、波形発生装置のワークメモリとして用いられる。ＲＡＭ２００は、図３に図示するように、音源が備える６４個の発音チャンネルに各々対応付けられたチャンネルエリアＣＨ０〜ＣＨ６３を備える。これらチャンネルエリアＣＨ０〜ＣＨ６３におけるデータ読み出し／書き込みは、上述したクロックｍｃ［３：０］が形成する処理スロットに同期して行われ、その読み出し／書き込み動作は制御部３００によって指示される。
【００２１】
ＲＡＭ２００の各チャンネルエリアＣＨ０〜ＣＨ６３には、整数部アドレスＡ、小数部アドレスａ、整数部ピッチデータＰ、小数部ピッチデータｐ、整数部ピッチ制限データＱ、小数部ピッチ制限データｑおよび波高値Ｗが格納される。１６ビットの整数部アドレスＡと１６ビットの小数部アドレスａとは、現在の波形アドレス（現在指定している差分波形の位相）を表す。整数部アドレスＡおよび小数部波形アドレスａを現波形アドレスＡＤと総称する。
【００２２】
３ビットの整数部ピッチデータＰと１６ビットの小数部ピッチデータｐとは、再生ピッチ（発音音高）に対応したアドレス歩進値を表す。整数部ピッチデータＰおよび小数部ピッチデータｐをピッチデータＰｉｔｃｈと総称する。１９ビット長のピッチデータＰｉｔｃｈ[１８：０]は、「１００００ｈ」の場合に原音ピッチ再生を、「０８０００ｈ」の場合に発音音高が原音ピッチの半分となる１／２ピッチ再生を、「２００００ｈ」の場合に発音音高が原音ピッチの２倍となる＋１オクターブ再生をそれぞれ指定する。
【００２３】
整数部ピッチ制限データＱおよび小数部ピッチ制限データｑは、ピッチデータＰｉｔｃｈと同様に１９ビット長のデータであり、再生ピッチ（発音音高）の上限を指定する。整数部ピッチ制限データＱおよび小数部ピッチ制限データｑをピッチ制限データＰＬと総称する。１６ビットの波高値Ｗは、更新前の現波形アドレスＡＤに対応して差分波形データが積分された波高値である。
【００２４】
再生ピッチ制限回路１０は、ピッチ制限レジスタ１１、比較器１２、シフト制御部１３、セレクタ１４およびピッチレジスタ１５から構成される。ピッチ制限レジスタ１１には、制御部３００の読み出し指示に従ってＲＡＭ２００から読み出されるピッチ制限データＰＬ（整数部ピッチ制限データＱおよび小数部ピッチ制限データｑ）がストアされる。ピッチレジスタ１５には、セレクタ１４を介して、ＲＡＭ２００から読み出されるピッチデータＰｉｔｃｈ（整数部ピッチデータＰおよび小数部ピッチデータｐ）あるいはシフト制御部１３から出力されるピッチデータＰｉｔｃｈのいずれかがストアされる。
【００２５】
比較器１２は、ピッチ制限レジスタ１１にストアされるピッチ制限データＰＬと、ピッチレジスタ１５にストアされるピッチデータＰｉｔｃｈとを比較し、ピッチデータＰｉｔｃｈがピッチ制限データＰＬより大きい場合にシフト指示信号を発生する。シフト制御部１３は、比較器１２からシフト指示信号が供給された場合には、ピッチレジスタ１５にストアされるピッチデータＰｉｔｃｈを１ビット右シフト（−１オクターブシフト）して出力し、一方、比較器１２からシフト指示信号が供給されなければ、ピッチレジスタ１５にストアされるピッチデータＰｉｔｃｈをスルー出力する。セレクタ１４は、制御部３００からの切り替え指示に応じて、ＲＡＭ２００から読み出されるピッチデータＰｉｔｃｈあるいはシフト制御部１３から出力されるピッチデータＰｉｔｃｈのいずれかを選択して出力する。
【００２６】
このように、再生ピッチ制限回路１０では、ＲＡＭ２００から読み出されるピッチデータＰｉｔｃｈがピッチ制限データＰＬを超えると、当該ピッチ制限データＰＬを超えない値になるまでピッチデータＰｉｔｃｈをオクターブシフトする。つまり、ピッチデータＰｉｔｃｈで指定される再生ピッチの音名を維持しながら、ピッチ制限データＰＬ以下になるまでオクターブ単位で発音音高を下げる。なお、本実施形態では、後述の動作説明で述べるように、シフト制御部１３は最大３回のオクターブシフトを行う。
【００２７】
次に、セレクタ１７は、制御部３００からの切り替え指示に従い、所定の処理スロットにおいてＲＡＭ２００から読み出される現波形アドレスＡＤ（整数部アドレスＡおよび小数部アドレスａ）または加算器１６の出力のいずれかを選択して次段のＡＤＣレジスタ１８にストアする。セレクタ１７がＲＡＭ２００から読み出される現波形アドレスＡＤを選択した場合には、ピッチレジスタ１５の出力と、ＡＤＣレジスタ１８から出力される現波形アドレスＡＤとが加算器１６で加算され、これにより現波形アドレスＡＤが更新される。加算器１６では、ピッチレジスタ１５の出力と、ＡＤＣレジスタ１８の出力（現波形アドレスＡＤ）との加算時に小数部桁上がりが生じると、小数部キャリーを発生する。
【００２８】
更新された現波形アドレスＡＤは、セレクタ１７を介してＡＤＣレジスタ１８にストアされる。ＡＤＣレジスタ１８にストアされた更新後の現波形アドレスＡＤ（整数部アドレスＡおよび小数部アドレスａ）は、セレクタ４０を介してＲＡＭ２００の対応するチャンネルエリアＣＨに書き込まれる。また、ＡＤＣレジスタ１８にストアされた更新後の現波形アドレスＡＤの整数部アドレスＡの最下位ビットＬＳＢがＡＤＣ  ＬＳＢレジスタ１９にストアされる。さらに、ＡＤＣレジスタ１８にストアされた更新後の現波形アドレスＡＤの小数部アドレスａがＡＤＣ  ｄｅｃレジスタ２７にストアされる。
【００２９】
加算器２０は、ピッチレジスタ１５の出力に、加算器１６が発生する小数部キャリーを加算して波形アドレス歩進値を発生する。加算器２０が発生する波形アドレス歩進値は、ＳＴＥＰレジスタ２１にストアされる。退避レジスタ２２は、ＳＴＥＰレジスタ２１の遅延バッファとして機能し、ＳＴＥＰレジスタ２１の波形アドレス歩進値を退避格納する。
【００３０】
ＡＤＣレジスタ１８にストアされた更新後の現波形アドレスＡＤの整数部アドレスＡは、セレクタ２３を介して加算器２４に供給される。セレクタ２３、加算器２４およびＷＡＤＲレジスタ２５は、波形メモリ２６から差分波形データを読み出す４つの読み出しアドレスＷＡＤＲ１〜ＷＡＤＲ４を発生する。
【００３１】
すなわち、最初にセレクタ２３を介して加算器２４に現波形アドレスＡＤの整数部アドレスＡが供給されると、「−６」を加算して読み出しアドレスＷＡＤＲ１（整数部アドレスＡ−６）を発生する。読み出しアドレスＷＡＤＲ１は、ＷＡＤＲレジスタ２５にストアされる。ＷＡＤＲレジスタ２５から読み出される読み出しアドレスＷＡＤＲ１は、セレクタ２３を介して加算器２４に入力される一方、その最下位ビットＬＳＢを除いた上位１５ビット分が波形メモリ２６に供給される。
【００３２】
加算器２４では、セレクタ２３を介して読み出しアドレスＷＡＤＲ１が供給されると、当該読み出しアドレスＷＡＤＲ１に「２」を加算した読み出しアドレスＷＡＤＲ２（整数部アドレスＡ−４）を発生する。読み出しアドレスＷＡＤＲ２は、ＷＡＤＲレジスタ２５にストアされる。ＷＡＤＲレジスタ２５から読み出される読み出しアドレスＷＡＤＲ２は、セレクタ２３を介して加算器２４に入力される一方、その最下位ビットＬＳＢを除いた上位１５ビット分が波形メモリ２６に供給される。
【００３３】
加算器２４では、セレクタ２３を介して読み出しアドレスＷＡＤＲ２が供給されると、当該読み出しアドレスＷＡＤＲ２に「２」を加算した読み出しアドレスＷＡＤＲ３（整数部アドレスＡ−２）を発生する。読み出しアドレスＷＡＤＲ３は、ＷＡＤＲレジスタ２５にストアされる。ＷＡＤＲレジスタ２５から読み出される読み出しアドレスＷＡＤＲ３は、セレクタ２３を介して加算器２４に入力される一方、その最下位ビットＬＳＢを除いた上位１５ビット分が波形メモリ２６に供給される。
【００３４】
加算器２４では、セレクタ２３を介して読み出しアドレスＷＡＤＲ３が供給されると、当該読み出しアドレスＷＡＤＲ２に「２」を加算した読み出しアドレスＷＡＤＲ４（整数部アドレスＡ）を発生する。読み出しアドレスＷＡＤＲ４は、ＷＡＤＲレジスタ２５にストアされる。ＷＡＤＲレジスタ２５から読み出される読み出しアドレスＷＡＤＲ４は、その最下位ビットＬＳＢを除いた上位１５ビット分が波形メモリ２６に供給される。
【００３５】
波形メモリ２６は、図４に図示するように、１６ビット幅の格納エリアを有する。１つの格納エリアには、２の補数で仮数表現された８ビット幅の差分波形データが上位バイトおよび下位バイトに格納される。なお、この８ビット幅の差分波形データは、後述の差分波形積分演算回路３０においてビットシフトされ、１６ビットで実数表現される差分波形データとなる。
【００３６】
波形メモリ２６は、ＷＡＤＲレジスタ２５が順次発生する４つの読み出しアドレスＷＡＤＲ１〜ＷＡＤＲ４に応じて、差分波形データＤ０〜Ｄ３を読み出す。差分波形データＤ０は、上位バイトの差分波形データＤ０Ｈおよび下位バイトの差分波形データＤ０Ｌから構成される。同様に、差分波形データＤ１は差分波形データＤ１Ｈ，Ｄ１Ｌ、差分波形データＤ２は差分波形データＤ２Ｈ，Ｄ２Ｌ、差分波形データＤ３は差分波形データＤ３Ｈ，Ｄ３Ｌから構成される。
【００３７】
差分波形積分回路３０は、構成要素３１〜３８およびコントローラ２８から構成される。ＤＷ０レジスタ３１ａ〜ＤＷ３レジスタ３１ｄには、上述した波形メモリ２６から読み出される差分波形データＤ０〜Ｄ３がストアされる。すなわち、ＤＷ０レジスタ３１ａには差分波形データＤ０Ｈ，Ｄ０Ｌが、ＤＷ１レジスタ３１ｂには差分波形データＤ１Ｈ，Ｄ１Ｌが、ＤＷ２レジスタ３１ｃには差分波形データＤ２Ｈ，Ｄ２Ｌが、ＤＷ３レジスタ３１ｄには差分波形データＤ３Ｈ，Ｄ３Ｌがそれぞれストアされる。
【００３８】
コントローラ２８は、退避レジスタ２２に格納される波形アドレス歩進値と、ＡＤＣ  ＬＳＢレジスタ１９の値（現波形アドレスＡＤにおける整数部アドレスＡの最下位ビットＬＳＢ）とで定まる積分演算パターンに従い、積分演算を施す差分波形データを指定する。セレクタ３２は、ＤＷ０レジスタ３２〜ＤＷ３レジスタ３５にそれぞれストアされる差分波形データの内、コントローラ２８が積分演算パターンに従って指定した差分波形データを選択的に出力する。加算器３５では、セレクタ３２から出力される差分波形データに、Ｘレジスタ３４から出力される波高値Ｗを加算（積分）する。
【００３９】
ここで、図５〜図６を参照して積分演算パターンの内容について説明する。図５はＡＤＣ  ＬＳＢレジスタ１９の値が「１」の場合の積分演算パターン、図６はＡＤＣ  ＬＳＢレジスタ１９の値が「０」の場合の積分演算パターンを示す図である。これらの図に示す積分演算パターンは、退避レジスタ２２に格納される波形アドレス歩進値「０」〜「８」と、処理スロットに対応する加算順番「０」〜「７」とに応じて定まる積分演算の内容を示している。
【００４０】
例えば、ＡＤＣ  ＬＳＢレジスタ１９の値が「１」の時に、退避レジスタ２２に格納される波形アドレス歩進値が「８」（最大アドレス歩進値）であったとする。そうすると、まず加算順番「０」では「Ｗ＋Ｄ０Ｌ」なる積分演算を実行する。「Ｗ＋Ｄ０Ｌ」とは、ＤＷ０レジスタ３１ａにストアされる差分波形データＤ０Ｌを１６ビットにビットシフトさせた後、この１６ビットの差分波形データＤ０Ｌと、Ｘレジスタ３４から出力される波高値Ｗとを加算器３５で積分し、積分された波高値をセレクタ３３を介してＸレジスタ３４にストアすることを意味する。
【００４１】
次に、加算順番「１」では「Ｗ＋Ｄ０Ｈ」なる積分演算を実行する。「Ｗ＋Ｄ０Ｈ」とは、ＤＷ０レジスタ３１ａにストアされる差分波形データＤ０Ｈを１６ビットにビットシフトさせた後、この１６ビットの差分波形データＤ０Ｈと、Ｘレジスタ３４から出力される波高値Ｗとを加算器３５で積分し、積分された波高値をセレクタ３３を介してＸレジスタ３４にストアすることを意味する。以降、同様にして、加算順番「２」では「Ｗ＋Ｄ１Ｌ」、加算順番「３」では「Ｗ＋Ｄ１Ｈ」、加算順番「４」では「Ｗ＋Ｄ２Ｌ」、加算順番「５」では「Ｗ＋Ｄ２Ｈ」、加算順番「６」では「Ｗ＋Ｄ３Ｌ」、加算順番「７」では「Ｗ＋Ｄ３Ｈ」なる積分演算を各々実行することを表している。
【００４２】
さて、こうした積分演算によりＸレジスタ３４にストアされる波高値Ｗは、次に積分される波高値として加算器３５および加算器３７に供給される一方、セレクタ４０を介してＲＡＭ２００の対応するチャンネルエリアＣＨに書き込まれる。乗算器３６、加算器３７およびＹレジスタ３８は、ＡＤＣ  ｄｅｃレジスタ２７にストアされる現波形アドレスＡＤの小数部アドレスａに基づき、Ｘレジスタ３４にストアされる波高値Ｗに対して直線補間演算を実行し、これにより算出される波高値ＹをＹレジスタ３８にストアする。
【００４３】
加算器５０、Ｍレジスタ５１およびセレクタ５２は、ミキサ回路を構成する。ミキサ回路では、Ｙレジスタ３８から出力される各発音チャンネル毎の波高値Ｙを全て累算して波形出力ｗａｖｅを形成する。この波形出力ｗａｖｅは、図示されていない音源において、１サンプリング周期毎にＤ／Ａ変換出力される。
【００４４】
（２）動作  
次に、図７に図示するタイミングチャートを参照して、上記構成による第１実施形態の動作を説明する。なお、以下の動作説明では、チャンネルスロットＣＨ０中の処理スロットをＣＨ０処理スロットと称し、チャンネルスロットＣＨ１中の処理スロットをＣＨ１処理スロットと称す。
【００４５】
先ずＣＨ０処理スロット「０」に同期したデータ期間ｒｏ０おいて、ＲＡＭ２００のチャンネルエリアＣＨ０からピッチ制限データＰＬ（整数部ピッチ制限データＱおよび小数部ピッチ制限データｑ）が読み出される。読み出されたピッチ制限データＰＬは、ＣＨ０処理スロット「１」に同期してピッチ制限レジスタ１１にストアされる。
【００４６】
次いで、ＣＨ０処理スロット「１」に同期したデータ期間ｒｏ１では、ＲＡＭ２００のチャンネルエリアＣＨ０からピッチデータＰｉｔｃｈ（整数部ピッチデータＰおよび小数部ピッチデータｐ）が読み出される。読み出されたピッチデータＰｉｔｃｈは、ＣＨ０処理スロット「２」に同期したデータ期間ｐ０においてピッチレジスタ１５にストアされる。
【００４７】
こうして、ピッチ制限データＰＬがピッチ制限レジスタ１１に、ピッチデータＰｉｔｃｈがピッチレジスタ１５にそれぞれストアされると、比較器１２はＣＨ０処理スロット「２」のデータ期間ｃ０において、ピッチ制限レジスタ１１のピッチ制限データＰＬと、ピッチレジスタ１５のピッチデータＰｉｔｃｈとを比較し、ピッチデータＰｉｔｃｈがピッチ制限データＰＬより大きければ、シフト制御部１３にシフト指示信号を発生する。
【００４８】
シフト制御部１３では、比較器１２からシフト指示信号が供給されなければ、ピッチレジスタ１５にストアされるピッチデータＰｉｔｃｈをスルー出力する。したがって、ピッチデータＰｉｔｃｈがピッチ制限データＰＬを超えなければ、ＣＨ０処理スロット「３」〜「５」のデータ期間ｐ１〜ｐ３の間、ピッチレジスタ１５にストアされるピッチデータＰｉｔｃｈは維持される。
【００４９】
一方、ピッチデータＰｉｔｃｈがピッチ制限データＰＬより大きく、比較器１２からシフト指示信号が供給されると、シフト制御部１３はピッチレジスタ１５にストアされるピッチデータＰｉｔｃｈを１ビット右シフト（−１オクターブシフト）する。１ビット右シフトされたピッチデータＰｉｔｃｈは、ＣＨ０処理スロット「３」のデータ期間ｐ１においてピッチレジスタ１５にストアされる。
【００５０】
以後、比較器１２およびシフト制御部１３では、ＣＨ０処理スロット「３」〜「４」のデータ期間ｃ１〜ｃ２において、ピッチデータＰｉｔｃｈがピッチ制限データＰＬを超えない値になるまでピッチデータＰｉｔｃｈを１ビット右シフトする。つまり、本実施形態では、都合３回の１ビット右シフトを可能とし、ピッチ制限データＰＬを超えないようにピッチデータＰｉｔｃｈを最大で−３オクターブシフトさせるようになっている。
【００５１】
このように、再生ピッチ制限回路１０では、ＲＡＭ２００から読み出されるピッチデータＰｉｔｃｈがピッチ制限データＰＬを超えた場合、当該ピッチ制限データＰＬを超えない値になるまでピッチデータＰｉｔｃｈを−１オクターブずつ下げる。すなわち、ピッチデータＰｉｔｃｈで指定される再生ピッチの音名を維持しながら、ピッチ制限データＰＬ以下になるまでオクターブ単位で発音音高を下げるようにした為、最大再生ピッチを超える発音が指示された場合の不自然さを回避することが可能になっている。
【００５２】
さて一方、ＣＨ０処理スロット「２」に同期したデータ期間ｒｏ２では、ＲＡＭ２００のチャンネルエリアＣＨ０から現波形アドレスＡＤ（整数部アドレスＡおよび小数部波形アドレスａ）が読み出される。また、ＣＨ０処理スロット「３」以降のデータ期間ａ０では、上記データ期間ｒｏ２においてＲＡＭ２００から読み出された現波形アドレスＡＤ（整数部アドレスＡおよび小数部波形アドレスａ）がＡＤＣレジスタ１８にストアされる。
【００５３】
ＣＨ０処理スロット「５」以降のデータ期間ｐ３では、上述したように、ピッチ制限データＰＬを超えた場合に、当該ピッチ制限データＰＬ以下になるようにオクターブシフトされるピッチデータＰｉｔｃｈがピッチレジスタ１５にストアされる。そして、ＣＨ０処理スロット「６」以降のデータ期間ｓ０では、ピッチレジスタ１５の出力に、加算器１６が発生する小数部キャリーを加算して得られる波形アドレス歩進値がＳＴＥＰレジスタ２１にストアされる。
【００５４】
また、ＣＨ０処理スロット「６」以降のデータ期間ａ１では、上記データ期間ａ０においてＡＤＣレジスタ１８にストアされた現波形アドレスＡＤに、ピッチレジスタ１５の出力を加算してＡＤＣレジスタ１８の現波形アドレスＡＤを更新する。そして、更新された現波形アドレスＡＤの整数部アドレスＡおよび小数部アドレスａを、ＣＨ０処理スロット「６」に同期したデータ期間ｒｉ０において、セレクタ１７を介してＲＡＭ２００のチャンネルエリアＣＨ０にストアする。
【００５５】
そして、ＣＨ０処理スロット「７」以降のデータ期間ＷＡＤＲ１では、ＡＤＣレジスタ１８から出力される更新後の現波形アドレスＡＤの整数部アドレスＡと「−６」とが加算器２４で加算され、これにて生成される波形読み出しアドレスＷＡＤＲ１（整数部アドレスＡ−６）がＷＡＤＲレジスタ２５にストアされる。このＷＡＤＲレジスタ２５にストアされる波形読み出しアドレスＷＡＤＲ１は、セレクタ２３を介して加算器２４に入力される一方、その最下位ビットＬＳＢを除いた上位１５ビット分が波形メモリ２６に供給される。
【００５６】
次に、ＣＨ０処理スロット「Ｂ」以降のデータ期間ＷＡＤＲ２では、セレクタ２３を介して入力される読み出しアドレスＷＡＤＲ１と「２」とが加算器２４で加算されて波形読み出しアドレスＷＡＤＲ２（整数部アドレスＡ−４）を発生し、ＷＡＤＲレジスタ２５にストアされる。ＷＡＤＲレジスタ２５にストアされる波形読み出しアドレスＷＡＤＲ２は、セレクタ２３を介して加算器２４に入力される一方、その最下位ビットＬＳＢを除いた上位１５ビット分が波形メモリ２６に供給される。
【００５７】
以後、ＣＨ０処理スロット「Ｆ」以降のデータ期間ＷＡＤＲ３と、ＣＨ１処理スロット「３」以降のデータ期間ＷＡＤＲ４とでは、上記データ期間ＷＡＤＲ２と同様に、波形読み出しアドレスＷＡＤＲ３（整数部アドレスＡ−２）および波形読み出しアドレスＷＡＤＲ４（整数部アドレスＡ）を発生する。そして、これら波形読み出しアドレスＷＡＤＲ３〜ＷＡＤＲ４の最下位ビットＬＳＢを除いた上位１５ビット分がそれぞれ波形メモリ２６に供給される。
【００５８】
さて一方、ＣＨ１処理スロット「０」以降のデータ期間ｓ１では、ＳＴＥＰレジスタ２１から読み出した波形アドレス歩進値が退避レジスタ２２に退避格納される。また、ＣＨ１処理スロット「０」以降のデータ期間ａ２では、ＣＨ０処理スロット「６」のデータ期間ａ１においてＡＤＣレジスタ１８にストアした現波形アドレスＡＤの最下位ビットＬＳＢを、ＡＤＣ  ＬＳＢレジスタ１９にストアする。さらに、ＣＨ１処理スロット「０」以降のデータ期間ａ３では、ＣＨ０処理スロット「６」のデータ期間ａ１においてＡＤＣレジスタ１８にストアした現波形アドレスＡＤの小数部アドレスａを、ＡＤＣ  ｄｅｃレジスタ２７にストアする。
【００５９】
ＷＡＤＲレジスタ２５から順次出力される４つの波形読み出しアドレスＷＡＤＲ１〜ＷＡＤＲ４に応じて、波形メモリ２６から読み出される差分波形データＤ０（Ｄ０Ｈ，Ｄ０Ｌ）〜Ｄ３（Ｄ３Ｈ，Ｄ３Ｌ）は、図７に図示するタイミングでＤＷ０レジスタ３１ａ〜ＤＷ３レジスタ３１ｄに格納される。すなわち、ＤＷ０レジスタ３１ａには差分波形データＤ０Ｈ，Ｄ０Ｌが、ＤＷ１レジスタ３１ｂには差分波形データＤ１Ｈ，Ｄ１Ｌが、ＤＷ２レジスタ３１ｃには差分波形データＤ２Ｈ，Ｄ２Ｌが、ＤＷ３レジスタ３１ｄには差分波形データＤ３Ｈ，Ｄ３Ｌがそれぞれ格納される。
【００６０】
そして、ＣＨ０処理スロット「Ｆ」に同期したデータ期間ｒｏ３では、ＲＡＭ２００のチャンネルエリアＣＨ０から波高値Ｗが読み出され、これがＣＨ１処理スロット「０」以降のデータ期間ｗ０に、Ｘレジスタ３４にストアされる。以後、退避レジスタ２２に格納される波形アドレス歩進値と、ＡＤＣ  ＬＳＢレジスタ１９の値（現波形アドレスＡＤにおける整数部アドレスＡの最下位ビットＬＳＢ）とに応じて定まる積分演算パターン（図５又は図６参照）に従って積分演算を行う。
【００６１】
例えば、前述したように、ＡＤＣ  ＬＳＢレジスタ１９の値が「１」の時に、退避レジスタ２２に格納される波形アドレス歩進値が「８」（最大アドレス歩進値）の場合には、図５に図示する積分パターンに従って差分波形データを積分する。先ずＣＨ１処理スロット「３」に同期したデータ期間ｗ１では「Ｗ＋Ｄ０Ｌ」なる積分演算、すなわちＤＷ０レジスタ３１ａにストアされる差分波形データＤ０Ｌを１６ビットにビットシフトさせた後、この１６ビットの差分波形データＤ０Ｌと、Ｘレジスタ３４の波高値Ｗとを積分（加算）し、積分された波高値をセレクタ３３を介してＸレジスタ３４にストアする。
【００６２】
以後、ＣＨ１処理スロット「４」に同期したデータ期間ｗ２では「Ｗ＋Ｄ０Ｈ」を、ＣＨ１処理スロット「５」に同期したデータ期間ｗ３では「Ｗ＋Ｄ１Ｌ」を、ＣＨ１処理スロット「６」に同期したデータ期間ｗ４では「Ｗ＋Ｄ１Ｈ」を、ＣＨ１処理スロット「７」に同期したデータ期間ｗ５では「Ｗ＋Ｄ２Ｌ」を、ＣＨ１処理スロット「８」に同期したデータ期間ｗ６では「Ｗ＋Ｄ２Ｈ」を、ＣＨ１処理スロット「９」に同期したデータ期間ｗ７では「Ｗ＋Ｄ３Ｌ」を、ＣＨ１処理スロット「Ａ」に同期したデータ期間ｗ８では「Ｗ＋Ｄ３Ｈ」を各々実行する。
【００６３】
こうした積分演算によりＸレジスタ３４に累算された波高値Ｗは、ＣＨ１処理スロット「Ａ」に同期したデータ期間ｒｉ１において、次に積分される波高値ＷとしてＲＡＭ２００のチャンネルエリアＣＨ０にストアされる。また、積分演算によりＸレジスタ３４に累算された波高値Ｗは、次に積分される波高値として加算器３５および加算器３７に供給される。
【００６４】
そして、乗算器３６、加算器３７およびＹレジスタ３８は、ＡＤＣ  ｄｅｃレジスタ２７にストアされる現波形アドレスＡＤの小数部アドレスａに基づき、Ｘレジスタ３４にストアされる波高値Ｗに対し、直線補間演算を図７に図示するタイミングで実行し、これにより算出される波高値ＹがＹレジスタ３８にストアされる。この後、波高値Ｙは、加算器５０、Ｍレジスタ５１およびセレクタ５２から構成されるミキサ回路においてチャンネル累算されて波形出力ｗａｖｅを形成する。
【００６５】
以上のように、第１実施形態では、発音すべき音高を表すピッチデータＰｉｔｃｈが、ピッチ制限データＰＬを超えると、ピッチデータＰｉｔｃｈで指定される再生ピッチの音名を維持しながら、ピッチ制限データＰＬ以下になるまで当該ピッチデータＰｉｔｃｈをオクターブ単位で発音音高を下げるので、最大再生ピッチ（最大アドレス歩進値に対応した再生ピッチ）を超える発音が指示された時に生じる音切れや発音遅れなどの不自然さを回避することが可能になる。
【００６６】
[第２実施形態］
次に、図８〜図１０を参照して第２実施形態について説明する。上述した第１実施形態では、ピッチ制限データＰＬとピッチデータＰｉｔｃｈとを比較し、ピッチデータＰｉｔｃｈがピッチ制限データＰＬを超えると、当該ピッチ制限データＰＬを超えない値になるまでピッチデータＰｉｔｃｈを−１オクターブずつ低減シフトするのに対し、第２実施形態では、ピッチデータＰｉｔｃｈが、３ビットの整数部ピッチ制限データＱで指定される再生ピッチ上限値を超えた場合に、ピッチデータＰｉｔｃｈを再生ピッチ上限値に置き換える点で相違する。
【００６７】
図８は、こうした第２実施形態の構成を示すブロック図である。この図において、図１に図示した第１実施形態と共通する構成要素には同一の番号を付し、その説明を省略する。図９に図示する第２実施形態の構成が、第１実施形態と相違する点は、ピッチ制限レジスタ１１、ピッチレジスタ１５およびピッチリミッタ４０１から構成される再生ピッチ制限回路４００を設け、かつ再生ピッチ制限回路４００に対応してＲＡＭ２００が図９に図示するデータ構造を有することにある。
【００６８】
すなわち、図９に図示するように、第２実施形態によるＲＡＭ２００には、現在の波形アドレス（現在指定している差分波形の位相）を表す現波形アドレスＡＤ（整数部アドレスＡおよび小数部アドレスａ）と、再生ピッチ（発音音高）に対応したアドレス歩進値を表すピッチデータＰｉｔｃｈ（整数部ピッチデータＰおよび小数部ピッチデータｐ）と、再生ピッチ（発音音高）の上限となる再生ピッチ上限値を指定する３ビットの整数部ピッチ制限データＱと、現波形アドレスＡＤに対応して差分波形データが積分された波高値Ｗとが発音チャンネルに対応付けられた各チャンネルエリアＣＨ０〜ＣＨ６３毎に格納される。
【００６９】
再生ピッチ制限回路４００において、ピッチ制限レジスタ１１には、制御部３００の読み出し指示に従ってＲＡＭ２００から読み出される３ビットの整数部ピッチ制限データＱがストアされる。ピッチレジスタ１５には、ＲＡＭ２００から読み出されるピッチデータＰｉｔｃｈ（整数部ピッチデータＰおよび小数部ピッチデータｐ）がストアされる。
【００７０】
ピッチリミッタ４０１は、ピッチ制限レジスタ１１の出力（整数部ピッチ制限データＱ）に対応する再生ピッチ上限値を設定しておき、ピッチレジスタ１５から出力されるピッチデータＰｉｔｃｈが、設定された再生ピッチ上限値未満ならば当該ピッチデータＰｉｔｃｈを次段の加算器１６へスルー出力し、一方、設定された再生ピッチ上限値以上ならば、当該再生ピッチ上限値を次段の加算器１６に出力する。
【００７１】
具体的には、図１０に図示するように、ピッチ制限レジスタ１１の出力（整数部ピッチ制限データＱ）が「０」の場合には再生ピッチ上限値「７ＦＦＦＦｈ」を、ピッチ制限レジスタ１１の出力が「１」の場合には再生ピッチ上限値「７８０００ｈ」を、ピッチ制限レジスタ１１の出力が「２」の場合には再生ピッチ上限値「７００００ｈ」を、ピッチ制限レジスタ１１の出力が「３」の場合には再生ピッチ上限値「６８０００ｈ」をそれぞれ発生して内部設定する。
【００７２】
さらに、ピッチ制限レジスタ１１の出力が「４」の場合には再生ピッチ上限値「６００００ｈ」を、ピッチ制限レジスタ１１の出力が「５」の場合には再生ピッチ上限値「５８０００ｈ」を、ピッチ制限レジスタ１１の出力が「６」の場合には再生ピッチ上限値「５００００ｈ」を、ピッチ制限レジスタ１１の出力が「７」の場合には再生ピッチ上限値「４８０００ｈ」をそれぞれ発生して内部設定する。なお、整数部ピッチ制限データＱに対応した再生ピッチ上限値を生成する態様としては、例えば整数部ピッチ制限データＱを読み出しアドレスとして、対応する再生ピッチ上限値を読み出す周知のデータテーブルにて具現する。
【００７３】
このように、第２実施形態では、再生ピッチ（発音音高）を指定するピッチデータＰｉｔｃｈが、３ビットの整数部ピッチ制限データＱで指定される再生ピッチ上限値を超えると、ピッチデータＰｉｔｃｈを再生ピッチ上限値に置換して差分波形再生するので、最大再生ピッチ（最大アドレス歩進値に対応した再生ピッチ）を超える発音が指示された時に生じる音切れや発音遅れなどの不自然さを回避し得る。
【００７４】
［第１実施形態の変形例］
次に、図１１〜図１２を参照して第１実施形態の変形例について説明する。前述した第１実施形態の再生ピッチ制限回路１０では、発音チャンネルに対応してＲＡＭ２００から読み出されるピッチ制限データＰＬ（整数部ピッチ制限データＱおよび小数部ピッチ制限データｑ）がピッチ制限レジスタ１１にストアされるのに対し、変形例では、図１１に図示する通り、全ての発音チャンネルに共通するピッチ制限データＰＬ（整数部ピッチ制限データＱおよび小数部ピッチ制限データｑ）が図示せぬＣＰＵからピッチ制限レジスタ１１にストアされる点で相違する。
【００７５】
したがって、図１２に図示するように、ＲＡＭ２００には、ピッチ制限データＰＬ（整数部ピッチ制限データＱおよび小数部ピッチ制限データｑ）を除く、現波形アドレスＡＤ（整数部アドレスＡおよび小数部アドレスａ）と、ピッチデータＰｉｔｃｈ（整数部ピッチデータＰおよび小数部ピッチデータｐ）と、波高値Ｗとが各チャンネルエリアＣＨ０〜ＣＨ６３毎にストアされるデータ構造となる。こうすることによって、第１実施形態と同様に最大再生ピッチを超える発音が指示された場合の不自然さを回避しつつ、ＲＡＭ２００のメモリサイズ低減を図ることが可能になる。
【００７６】
［第２実施形態の変形例］
次に、図１３を参照して第２実施形態の変形例について説明する。前述した第２実施形態の再生ピッチ制限回路４００では、発音チャンネルに対応してＲＡＭ２００から読み出される整数部ピッチ制限データＱがピッチ制限レジスタ１１にストアされるのに対し、変形例では、図１３に図示する通り、全ての発音チャンネルに共通する整数部ピッチ制限データＱが図示せぬＣＰＵからピッチ制限レジスタ１１にストアされる点で相違する。このようにすることで第２実施形態と同様に最大再生ピッチを超える発音が指示された場合の不自然さを回避しつつ、ＲＡＭ２００のメモリサイズ低減を図ることが可能になる。
【００７７】
なお、前述の第１〜第２実施形態およびこれらの変形例にあっては、いずれもハードウェアで構成される波形発生装置として説明したが、本発明の主旨はハードウェアに限定されものではなく、その機能をソフトウェアで具現する場合であっても勿論適用可能であることは言うまでもない。
【図面の簡単な説明】
【００７８】
【図１】本発明による第１実施形態の構成を示すブロック図である。
【図２】基本クロックｃｋ、クロックｍｃ［３：０］およびクロックｍｃ［９：４］の対応関係を示す図である。
【図３】第１実施形態におけるＲＡＭ２００のデータ構成を示すメモリマップである。
【図４】波形メモリ２６のデータ構造を示すメモリマップである。
【図５】ＡＤＣ  ＬＳＢレジスタ１９の値が「１」の場合の積分演算パターンを示す図である。
【図６】ＡＤＣ  ＬＳＢレジスタ１９の値が「０」の場合の積分演算パターンを示す図である。
【図７】第１実施形態の動作を説明するためのタイムチャートである。
【図８】第２実施形態の構成を示すブロック図である。
【図９】第２実施形態におけるＲＡＭ２００のデータ構成を示すメモリマップである。
【図１０】ピッチ制限レジスタ１１の出力（整数部ピッチ制限データＱ）に対応してピッチリミッタ４０１に内部設定される再生ピッチ上限値を示す図である。
【図１１】第１実施形態の変形例の構成を示すブロック図である。
【図１２】第１実施形態の変形例におけるＲＡＭ２００のデータ構成を示すメモリマップである。
【図１３】第２実施形態の変形例の構成を示すブロック図である。
【符号の説明】
【００７９】
１０  再生ピッチ制限回路
１１  ピッチ制限レジスタ
１２  比較器
１３  シフト制御部
１４，１７，２３，３２，３３，４０，５２  セレクタ
１５  ピッチレジスタ
１６，２０，２４，３５，３７，５０  加算器
１８  ＡＤＣレジスタ
１９  ＡＤＣ  ＬＳＢレジスタ
２１  ＳＴＥＰレジスタ
２２  退避レジスタ
２５  ＷＡＤＲレジスタ
２６  波形メモリ
２７  ＡＤＣ  ｄｅｃレジスタ
２８  コントローラ
３０  差分波形積分演算回路
３１ａ〜３１ｄ  ＤＷ０〜ＤＷ３レジスタ
３４  Ｘレジスタ
３６  乗算器
３８  Ｙレジスタ
５１  Ｍレジスタ
１００  クロック発生部
２００  ＲＡＭ
３００  制御部
【図１】
0005104522.tif 000002
【図２】
0005104522.tif 000003
【図３】
0005104522.tif 000004
【図４】
0005104522.tif 000005
【図５】
0005104522.tif 000006
【図６】
0005104522.tif 000007
【図７】
0005104522.tif 000008
【図８】
0005104522.tif 000009
【図９】
0005104522.tif 000010
【図１０】
0005104522.tif 000011
【図１１】
0005104522.tif 000012
【図１２】
0005104522.tif 000013
【図１３】
0005104522.tif 000014