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