JP3200940B2 - 楽音制御装置 - Google Patents
楽音制御装置Info
- Publication number
- JP3200940B2 JP3200940B2 JP08728292A JP8728292A JP3200940B2 JP 3200940 B2 JP3200940 B2 JP 3200940B2 JP 08728292 A JP08728292 A JP 08728292A JP 8728292 A JP8728292 A JP 8728292A JP 3200940 B2 JP3200940 B2 JP 3200940B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- tone signal
- latch
- tone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
ズシェーピング処理などの遅延処理を含む楽音制御処理
を実行する楽音制御装置に関する。
より、楽音信号をディジタル信号処理により生成するこ
とが可能となり、さらに、生成された楽音信号をディジ
タル的に加工する楽音制御処理も容易に行えるようにな
ってきている。
号の遅延処理を含む処理は、ノイズシェーピング処理に
おけるフィルタリング処理の一種である高域周波数成分
の強調処理や、ローパスフィルタリング処理、ハイパス
フィルタリング処理、バンドパスフィルタリング処理な
どの様々なフィルタリング処理などに適用される。
の楽音信号の遅延処理は、現在のサンプリングタイミン
グにおける楽音信号をラッチなどのバッファ回路に保持
し、それを次回以降のサンプリングタイミングで読み出
す処理として実現される。
の遅延処理を含む楽音制御処理においては、過去のサン
プリングタイミングにおける楽音信号がバッファ回路で
遅延され、現在のサンプリングタイミングにおいて使用
される。
が0になった場合には楽音制御処理の出力も0になるの
が望ましいが、上述の従来例においては入力される楽音
信号の振幅が0になっても、バッファ回路に残存してい
る過去の信号成分に基づいて不要な雑音成分が出力され
てしまう可能性があるという問題点を有している。
った場合に、不要な雑音成分が出力されないようにする
ことにある。
の遅延処理を含むノイズシェーピング処理などの楽音制
御処理を実行する楽音制御装置を前提とする。
のような構成を有する。まず、楽音制御処理への入力楽
音信号が消音状態に収束したことを判別する入力側消音
状態判別手段を有する。この入力側消音状態判別手段
は、例えば入力楽音信号の振幅エンベロープ値が0にな
ったことを判別する。または、入力楽音信号の振幅値が
所定時間以上0になったことを判別する。あるいは、入
力楽音信号の振幅値の差分値が0になったことを判別す
る。なお、差分値が所定時間以上0になったことを判別
してもよい。
力楽音信号の消音状態を判別してから遅延処理にて遅延
される時間が経過した後に、楽音信号の遅延処理を行う
遅延部の内容を強制的にリセットするリセット手段を有
する。あるいは、入力側消音状態判別手段が入力楽音信
号の消音状態を、遅延処理にて遅延される時間が経過す
るまで連続して判別した場合に、楽音信号の遅延処理を
行う遅延部の内容を強制的にリセットするリセット手段
を有する。
構成を有する。まず、本発明の第1の態様と同様の入力
側消音状態判別手段を有する。つぎに、楽音制御処理か
らの出力楽音信号が消音状態に収束したことを判別する
出力側消音状態判別手段を有する。
消音状態に収束したことを判別する出力側消音状態判別
手段を有する。この出力側消音状態判別手段は、例えば
出力楽音信号の振幅エンベロープ値が0になったことを
判別する。または、出力楽音信号の振幅値が所定時間以
上0になったことを判別する。あるいは、出力楽音信号
の振幅値の差分値が0になったことを判別する。なお、
差分値が所定時間以上0になったことを判別してもよ
い。
力楽音信号の消音状態を判別してから遅延処理にて遅延
される時間が経過した後、出力側消音状態判別手段が出
力楽音信号の消音状態を判別した場合に、楽音信号の遅
延処理を行う遅延部の内容を強制的にリセットするリセ
ット手段を有する。
処理などにおける入力楽音信号が消音状態に収束したこ
とを入力側消音状態判別手段が判別してから遅延処理に
て遅延される時間が経過した場合、リセット手段が、楽
音信号の遅延処理を行うラッチなどの遅延部の内容を強
制的にリセットする。 あるいは、入力側消音状態判別
手段が入力楽音信号の消音状態を、遅延処理にて遅延さ
れる時間が経過するまで連続して判別した場合に、遅延
部の内容を強制的にリセットする。従って、遅延部に残
存している過去の楽音信号に基づいて不要な雑音成分が
出力されてしまうことを抑制することができる。
ング処理などにおける入力楽音信号が消音状態に収束し
たことを入力側消音状態判別手段が判別してから遅延処
理にて遅延される時間が経過した後、出力側楽音信号が
消音状態に収束したことを出力側消音状態判別手段が判
別した場合、リセット手段が、楽音信号の遅延処理を行
うラッチなどの遅延部の内容を強制的にリセットする。
従って出力信号が減衰しきる前に遅延部の内容がリセッ
トされてしまうことによるノイズの発生を抑制すること
ができる。
おいて、入力側消音状態判別手段または出力側消音状態
判別手段は、入力、出力楽音信号の振幅エンベロープ値
が0になることを判別することにより、または、入力、
出力楽音信号の振幅値が一定時間以上0になることを判
別することにより、入力、出力楽音信号が消音状態に収
束したことを判別することができる。
側消音状態判別手段は、入力、出力楽音信号の振幅値の
差分値が0になることを判別することにより、入力、出
力楽音信号が消音状態に収束したことを判別することが
できる。この場合には、入力、出力楽音信号の振幅値が
0以外の振幅の小さな直流値に収束してしまった場合で
も、遅延部の内容をリセットできる。
説明する。実施例の全体構成 図1は、本発明の第1実施例の全体構成図である。図1
において、まず、装置全体は大きく分けて、ソフトウエ
ア処理を実行することによって楽音信号を生成するCP
U104と、それ以外の処理を実行する処理回路105
とを組み合わせて構成されている。
るスイッチ部101は楽器の操作入力部であり、スイッ
チ部101から入力された演奏情報は、CPU104お
よび処理回路105で処理される。
は、D/A変換部106でアナログ信号に変換されたあ
と、ローパスフィルタ(図示していない)で平滑化さ
れ、サウンドシステム107により放音される。
示すブロック図である。制御データ兼波形用ROM21
2には、後述するエンベロープ値の目標値等の楽音制御
パラメータ、ADPCM(アダプティブ差分パルス符号
変調)方式における楽音差分波形データ、および量子化
データが記憶されている。そして、オペレーション解析
部207は、制御用ROM201のプログラムの内容を
順次解析しながら、制御データ兼波形用ROM212上
に、上記各データをアクセスして、ソフトウエアによる
音源処理を行う。
御用のプログラムが記憶されており、ROMアドレス制
御部205からROMアドレスデコーダ202を介して
指定されたアドレスのプログラム語(命令)を順次出力
する。具体的には、各プログラム語の語長は、例えば2
8ビットであり、プログラム語の一部がつぎに読み出さ
れるべきアドレスの下位部(ページ内アドレス)として
ROMアドレス制御部205に入力されるネクストアド
レス方式となっている。なお、通常のプログラムカウン
タ方式のCPUで構成してもよい。
OM201から出力される命令のオペコードを解析し、
指定されたオペレーションを実行するために、回路の各
部に制御信号を送る。
OM201からの命令のオペランドがレジスタを指定し
ている場合に、RAM206内の対応するレジスタのア
ドレスを指定する。RAM206には、図7等として後
述する各種楽音制御データが8チャネル分記憶されるほ
か、後述する各種バッフア等が記憶され、後述の音源処
理に用いられる。
御用ROM201からの命令が演算命令の場合に、オペ
レーション解析部207からの指示に基づいて前者は加
減算と論理演算、後者は乗算を実行する。
示しないハードタイマに基づいて、一定時間毎に、RO
Mアドレス制御部205、および後述する処理回路10
5内の演算回路2305の入力ラッチ(図26の260
1)にインタラプト信号INTを供給する。
には、図1のスイッチ104が接続される。制御用RO
M201またはRAM206から読み出される各種デー
タは、バスを介してROMアドレス制御部205、AL
U部208、乗算器209、制御データ兼波形用ROM
212、累算波高値出力ラッチ213、エンベロープ値
出力ラッチ214、入力ポート210および出力ポート
211に供給される。また、ALU部208、乗算器2
05および制御データ兼波形用ROM212の各出力
は、バスを介してRAM206に供給される。
プルの累算波高値およびエンベロープ値は、それぞれ、
データバスを介して、累算波高値出力ラッチ213およ
びエンベロープ値出力ラッチ214に入力される。そし
て、累算波高値出力ラッチ213およびエンベロープ値
出力ラッチ214の各クロック入力にオペレーション解
析部207から音源処理終了信号が入力されると、RA
M206からデータバス上に1サンプルの楽音信号の累
算波高値およびエンベロープ値が順次読み出され、累算
波高値出力ラッチ213およびエンベロープ値出力ラッ
チ214に順次ラッチされる。CPU104の動作 <CPU104の全体動作>つぎに、図1のCPU10
4の全体動作を説明する。
インフローチャートに示すように、S302 〜S310 の一
連の処理を繰り返し行うことにより、楽音データを生成
する音源処理を行っている。
タラプト)処理によって行われる。具体的には、ある一
定時間毎に、図3のメインフローチャートとして実行さ
れているプログラムに割り込みが掛かり、それに基づい
て8チャンネルの楽音信号を生成する音源処理のプログ
ラムが実行される。その処理が終わると、8チャネル分
の楽音信号が累算され、出力楽音信号として図2の累算
波高値出力ラッチ213に出力される。その後に、割り
込み状態からメインフローに戻る。なお、上述した割り
込みは、図2のクロック発生部203内のハードタイマ
に基づき、周期的に行われる。この周期は、楽音出力時
のサンプリング周期に等しい。
る。次に、図3〜図5を用いて詳細にCPU104の全
体動作を説明する。図3のメインフローチャートは、ク
ロック発生部203から割り込みが掛からない状態にお
いてCPU104で実行される、音源処理以外の処理の
流れを示している。
RAM206(図2参照)の内容等の初期設定が行われ
る(S301 )。つぎに、CPU104の外部に接続され
る機能キー103(図1参照)の各スイッチが走査され
(S302 )、各スイッチの状態が入力ポート210から
RAM206内のキーバッファエリアに取り込まれる。
その走査の結果、状態の変化した機能キーが識別され、
対応する機能の処理がなされる(S303 )。例えば、楽
音番号のセット、エンベロープ番号のセット、また、付
加機能にリズム演奏がついていれば、リズム番号のセッ
ト等が行われる。
れている鍵盤キーの状態が上記機能キーの場合と同様に
取り込まれ(S304 )、変化した鍵が識別されることに
よりキーアサイン処理が行われる(S305 )。
図示しないデモ演奏キーが押されたときは、図2の制御
データ兼波形用ROM212からデモ演奏データ(シー
ケンサデータ)が順次読み出されて、キーアサイン処理
などが行われる(S306 )。また、リズムスタートキー
が押されたときは、リズムデータが制御データ兼波形用
ROM212から順次読み出され、キーアサイン処理な
どが行われる(S307 )。
われる(S308 )。すなわち、後述するインタラプトタ
イマー処理(S402 )でインクリメントされている時間
データの時間値が判別され、デモ演奏制御用に順次読み
出される時間制御用のシーケンサデータ又はリズム演奏
制御用に読み出される時間制御用のリズムデータと比較
されることにより、S306 のデモ演奏又はS307 のリズ
ム演奏を行う場合の時間制御が行われる。
れるべき楽音のピッチにエンベロープを付加し、対応す
る発音チャネルにピッチデータを設定するというピッチ
エンベロープ処理等が行われる。
(S310 )。この処理では、S305 の鍵盤キー処理にお
いて押鍵開始となったノート番号の発音チャネルの状態
を押鍵中に変えたり、離鍵となったノート番号の発音チ
ャネルの状態を消音中に変える等の処理が行われる。
明する。図2のクロック発生部203により、図3のメ
インフローに対応するプログラムに割り込みが掛かる
と、同プログラムの処理が中断され、図4のインタラプ
ト処理プログラムの実行が開始される。この場合、イン
タラプト処理のプログラムにおいて、図3のメインフロ
ーのプログラムで書き込みが行われるレジスタ等につい
ては、内容の書き換えが行われないように制御される。
従って、通常のインタラプト処理の開始時と終了時に行
われるレジスタの退避と復帰の処理は不要となる。これ
により、図3のメインフローチャートの処理とインタラ
プト処理との間の移行が迅速に行われる。
処理が開始される(S401 )。この音源処理は図5に示
される。この結果、8発音チャネル分が累算された楽音
信号データが、図2のRAM206内の後述するバッフ
ァBに得られる。
ー処理が行われる。ここでは、図4のインタラプト処理
が一定のサンプリング周期毎に実行されることを利用し
て、RAM206(図2)上の特には図示しない時間デ
ータの値がインクリメントされる。すなわち、この時間
データの値を見れば時間経過がわかる。このようにして
得られる時間データは、前述したように、図3のメイン
フローのタイマー処理S308 における時間制御に用いら
れる。
域の累算波高値が図2の累算波高値出力ラッチ213に
ラッチされる。つぎに、図5のフローチャートを用い
て、インタラプト処理のステップS401 で実行される音
源処理の動作を説明する。
領域がクリアされる(S501 )。次に、発音チャネルの
1チャネル毎に音源処理が行われ(S502 〜S509 )、
最後に8チャネル目の音源処理が終了した時点で所定の
バッファ領域Bに8チャネル分が加算された波形データ
が得られる。これらの詳細な処理については後述する。
チャートの処理の関係を概念的に示した流れ図である。
まず、ある処理A(以下、B、C、・・・、Fも同じ)
が行われる(S601 )。この「処理」は、図3のメイン
フローチャートの、例えば「機能キー処理」、や「鍵盤
キー処理」などに対応する。その後、インタラプト処理
に入り、音源処理が開始される(S602 ) 。これによ
り、1サンプル分の8発音チャネルをまとめた楽音信号
が得られ、累算波高値出力ラッチ213に出力される。
その後、メインフローチャートの何らかの処理Bに戻
る。以上のような動作が、8つの全ての発音チャネルに
対する音源処理が行われながら繰り返される(S604 〜
S611 )。そして、この繰り返し処理は楽音の発音中続
けられる。 <音源処理におけるデータ構成>つぎに、図4のS401
で実行される音源処理の具体例について説明する。
ャネル分の音源処理を行うことは前述した。この8チャ
ネル分の音源処理用のデータは、図7に示すようなデー
タフォーマットで、図2のRAM206内の発音チャネ
ル毎の領域に設定される。
うな波形累算用のバッファBが確保されている。この場
合、図9の各発音チャネル領域には、ADPCM方式に
基づく音源処理用の各種制御データが格納される。図9
で、Aは、音源処理時に適応量子化差分データ(後述す
る)が読み出される場合に指定されるアドレスを表し、
AI が現在アドレスの整数部で、制御データ兼波形用R
OM212(図2)の適応量子化差分データが格納され
ているアドレスに直接対応する。また、AF は現在アド
レスの小数部で、上記ROM412から読み出され逆量
子化された差分値の補間に用いられる。つぎのPI はピ
ッチデータの整数部、PF はピッチデータの小数部を表
す。例を示すと、PI =1、PF =0は原音のピッチ
を、PI=2、PF =0は1オクターブ上のピッチを、
また、PI =0、PF =0.5は、1オクターブ下のピ
ッチをそれぞれ表す。その他の種々の制御データについ
ては、後述のADPCM方式の説明の際に詳述する。
ローが実行される場合に、音源処理に必要な制御デー
タ、例えばピッチデータ、エンベロープデータ等が、対
応する発音チャネル領域に設定される。そして、図4の
インタラプト処理での音源処理として実行される図5の
各チャネル対応の音源処理において、上記発音チャネル
領域に設定されている各種制御データが使用されなが
ら、楽音の生成処理が実行される。このようにメインフ
ローのプログラムと音源処理プログラムとの間のデータ
の通信は、RAM206上の発音チャネル領域の制御デ
ータ(楽音生成データ)を介して行われ、各プログラム
における発音チャネル領域に対するアクセスは相手のプ
ログラムの実行状態に一切関わりなく行えばよいため、
実質的に両プログラムを独立したモジュール構成とする
ことができ、簡単かつ効率的なプログラム構造とするこ
とができる。
には、特には図示しないデータフォーマットで適応量子
化差分データ(後述する)が記憶されると共に、図9に
示されるフォーマットで後述する量子化データが記憶さ
れる。この量子化データは、後述するように、制御デー
タ兼波形量ROM212から読み出された適応量子化差
分データの逆量子化を行うための制御データである。こ
のほか、同ROM212には、各音色に対応する楽音生
成用の制御データが記憶されており、演奏者により或る
音色が設定された場合に、同ROM212からRAM2
06の前述の各発音チャネル領域に上記制御データが転
送、設定される。 <ADPCM方式による音源処理の原理>以下、このよ
うなデータ構成を用いて実行される、図5の1チャネル
毎の各音源処理(S502 〜S509 のいずれか)であるA
DPCM方式の音源処理について説明する。なお、この
音源処理は、CPU104のオペレーション解析部20
7が、制御用ROM201に格納されている音源処理用
のプログラムを解釈・実行することにより実現される。
以下、特に言及しないかぎり、この前提のもとで処理が
行われるものとする。
を説明する。まず、図10において、制御データ兼波形
用ROM212(図2)のアドレスAI に対応するサン
プルデータXP は、アドレスAI の1つ前の、特には図
示しないアドレス(AI −1)に対応するサンプルデー
タとの差分値から求めた値である。
スAI には、つぎのサンプルデータとの差分値Dを求め
るための適応量子化差分データが書き込まれており、こ
のデータから差分値Dが求まる。従って、つぎのアドレ
スのサンプルデータはXP +Dで求まり、これが新たな
サンプルデータXP としておきかわる。
にAF とすれば、現在アドレスAF に対応するサンプル
データは、XP +D×AF で求まる。このように、AD
PCM方式では、現在のアドレスと、つぎのアドレスに
対応するサンプルデータ間の差分値Dを求めるための適
応量子化差分データが制御データ兼波形用ROM212
(図2)から読み出され、それに基づいて差分値Dが計
算され、現在のサンプルデータに加算されて、つぎのサ
ンプルデータが求められることにより、順次波形データ
が作成される。
隣接する標本間の差分値が一般に小さい音声や楽音等の
ような波形を量子化する場合、通常のPCM方式に比較
して、少ないビット数で量子化を行えることは明らかで
ある。
のような巧妙な適応量子化の原理が採用されている。い
ま、例えば楽音信号の差分値をメモリに記憶させる場
合、一定のS/Nを確保しながら最大±Eの振幅値(例
えば電圧値)をとり得る差分値を量子化するために、n
ビットの量子化ビット数が必要であるとする。これに対
して、メモリ容量の制約等から1サンプルデータあたり
nビットより少ないmビットのデータ量しか割り当てら
れない場合、差分値を1サンプルあたりなんとかmビッ
トで量子化しなければならない。
2m 分割することになるが、これでは量子化幅が広がっ
てS/Nが劣化してしまう。そこで、ADPCM方式に
おいては、楽音信号等の差分値をメモリに記憶等させる
場合に、一定のS/Nを確保できて、かつ、mビットで
表現できる振幅値の絶対値が|±E|より小さい|±e
|の範囲を定める。そして、振幅値の絶対値が|±e|
より大きな差分値は、1以上の正規化係数で除算してそ
の範囲内に入るように圧縮し、その後にmビットで量子
化し、メモリに記憶等させる。これにより、一定のS/
Nを確保したまま1サンプルデータあたりの量子化ビッ
ト数を減らすことができ、メモリ容量を減らすことがで
きる。このような操作を適応量子化と呼ぶ。
分データから元の差分値を再現するためには、各サンプ
ルデータの適応量子化を行った時の上記正規化係数もい
っしょに記憶させておき、適応量子化された差分データ
をメモリから読み出すときに、それに対応する正規化係
数も同時に読み出し、適応量子化された差分データに乗
算して元の差分値を再生しなければならない。この操作
を逆量子化と呼ぶ。
化係数を記憶させたのでは、結局、振幅値が±Eの範囲
の差分値をnビットで量子化したのと同程度の記憶容量
が必要になってしまい、データ圧縮は実現できない。
きるADPCM方式による音源処理の具体的な動作につ
き、以下に順次説明する。 <ADPCM方式による音源処理の具体的動作>以下の
音源処理では、楽音信号の差分値の振幅が連続する8サ
ンプル程度の時間範囲では急激には変化しないことを利
用して、差分値をメモリに記憶させる際に、連続する8
サンプルの差分値は同じ正規化係数で適応量子化して記
憶させることとする。そして、正規化係数の値自体もそ
れほど細かくない一定のステップで変化するようにし、
そのような正規化係数を数ビットで量子化する。
化するようにし、それを3ビットで表現する。これによ
り、正規化係数は8サンプル毎に3ビットのデータで量
子化してメモリに記憶すればよいため、データ圧縮が実
現できる。なお以下の説明では、上述の正規化係数を量
子化データと呼ぶことにする。
は、上述の±Eは±64、±eは±8であり、量子化幅
は1である。これにより、±8の範囲が16レベルで量
子化されるため、差分値が適応量子化されるときの量子
化ビット数は4ビットとなり、また、量子化データは3
ビットである。そして、適応量子化時には、元の差分値
がこの量子化データに対応する係数で除算されることに
より、すべて±8の範囲に圧縮される。
には量子化データ「001」によって指示される係数1
で除算され(すなわち、圧縮は行われない)、元の差分
値が±8より大きく±16以内の場合には量子化データ
「010」によって指示される係数2で除算され、以下
同様にして、元の差分値が±32より大きく±64以内
の最大範囲の場合には量子化データ「111」によって
指示される係数8で除算される。そして、このようにし
て圧縮され4ビットで量子化された差分データが制御デ
ータ兼波形用ROM212(図2)に記憶され、同時
に、このときの3ビットの量子化データが、差分値8サ
ンプルに対して1データずつ、図11の如く上記ROM
212に記憶される。
体的な動作を、図12〜図15の動作フローチャートを
用いて説明する。フロー中の各変数は、図2のCPU1
04内のRAM206上の対応する発音チャネル領域に
図7のデータフォーマットで確保されている。
く分けてエンベロープ処理(S1201〜S1207)と、波形
処理(S1208〜S1232)から構成される。
の原理に基づく波形処理の前に、エンベロープ処理につ
いて説明する。図16は、エンベロープ処理で生成され
るエンベロープを示した図である。図12のS1201〜S
1207の処理により生成されるエンベロープ値Eは、後述
するステップS1231において楽音信号出力Oに乗算され
ることにより、楽音信号の各サンプルデータにエンベロ
ープが付加される。
プは、時間的にいくつかのステップ(セグメント)から
構成されている。図16には、4ステップの例が示され
ている。図中のΔxはエンベロープのサンプリング周期
であり、Δyはエンベロープ値の変化幅である。
ンプリングタイミング毎のエンベロープ値Eの計算と、
その値が現在のステップの目標エンベロープ値OEに達
したか否かのチェックが行われる。そして、EがOEに
達したときには、図3のメインフローにおけるS309 の
発音処理においてそれが検知されて、次のステップのエ
ンベロープのためのデータ(Δx、Δy及び目標エンベ
ロープ値OE)が、図2の制御データ兼波形用ROM2
12から読み出されて、RAM206(図2)上の対応
する発音チャネル領域(図7参照)にセットされてい
る。
算周期Δxと比較するためのタイマ値Δxt が、インタ
ラプトタイミング毎にインクリメントされる。つぎに、
S1202で、ΔxがΔxt と一致したか否かが判定され
る。
ない。S1202で、ΔxがΔxt と一致したと判定された
場合、S1203で、エンベロープ値の変化幅Δyの符号ビ
ットが判別される。
場合、すなわち、エンベロープが上昇中の場合には、ス
テップS1204において、現在エンベロープ値Eに変化幅
Δyが加算される。
Oの場合、すなわち、エンベロープが下降中の場合に
は、ステップS1205において、現在エンベロープ値Eか
ら変化幅Δyが減算される。
プ値Eが目標エンベロープ値OE以上となったか否かが
判別される。EがOE以上となった場合には、現在エン
ベロープ値Eが目標エンベロープ値OEで置き換えられ
る。
おけるS309 の発音処理で検知されて、次のステップの
エンベロープのためのデータがRAM206上にセット
される。なお、発音処理で現在エンベロープ値Eとして
0が検出された場合には、発音の終了として処理され
る。
式の原理に基づく、S1208〜S1232の波形処理について
説明する。制御データ兼波形用ROM212(図2)上
の適応量子化差分データが記憶されているアドレスのう
ち、現在の処理の対象とされるデータが記憶されている
アドレスを図7の(AI,AF )とする。
データ(PI,PF )が加算される(S1208)。このピッ
チデータは、図1の鍵盤102において押鍵操作された
鍵番号に対応している。
に変化があるか否かが判定される(S1209)。判定がN
Oならば、図10のアドレスAI における差分値Dを用
いて、D×AF なる演算処理により、アドレスの小数部
AF に対応する補間データ値Oが演算される
(S1229)。なお、差分値Dは、今回以前のインタラプ
トタイミングにおける音源処理により求まっている(後
述するS1218又S1221参照)。
整数部AI に対応するサンプルデータXP が加算され、
現在アドレス(AI,AF )に対応する新しいサンプルデ
ータO(図10のXQ に対応)が得られる(S1230)。
ンベロープ処理で求まっているエンベロープ値Eが乗算
され(S1231)、得られたOの内容がRAM206(図
2)内の波形データバッフアB(図8参照)に累算され
る(S1232)。このバッファBには、他の発音チャネル
に対する音源処理(図5S502 〜S509 )で生成された
楽音信号出力が累算され、最終的に8チャネル分が累算
されたデータとして、1サンプル分の楽音信号データが
生成される。
のサンプリング周期でインタラプトが掛かって、図12
〜図15の音源処理の動作フローチャートがふたたび実
行されて、現在アドレス(AI,AF )にピッチデータ
(PI,PF )が加算される(S 1208)。
化が生ずるまで繰り返される。 この間、サンプルデー
タXP 及び差分値Dは更新されず、補間データOのみが
アドレスAF に応じて更新され、その都度新たなサンプ
ルデータXQ が得られる。
F )にピッチデータ(PI,PF )が加算された結果、現
在アドレスの整数部AI が変化したならば(S1209)、
アドレスAI がエンドアドレスAE に達しているか又は
越えているか否かが判定される(S1210)。
のループ処理により、現在アドレスの整数部AI に対応
するサンプルデータが計算される。すなわち、まず、旧
AI という変数(図7参照)には、現在アドレスの整数
部AI が変化する前の値が格納されている。これは、後
述するS1213又はS1224の処理の繰り返しにより実現さ
れる。
ントされながら、S1218において、旧AI により指示さ
れる制御データ兼波形用ROM212(図2)上の適応
量子化差分データが読み出され、逆量子化の処理により
差分値Dが演算される。この逆量子化は、前述した如
く、適応量子化差分波形データに量子化データを乗算す
ることで実現されるが、このときの量子化データは、量
子化データ現在アドレスADRで指示される制御データ
兼波形用ROM212上のデータとして読み出される
(図11参照)。
たように差分値の8サンプル毎に1データずつが対応し
ている。そこで、ブロック内カウンタBKという変数が
用意され(図7参照)、S1214において上記カウンタB
Kが初期値0から順次インクリメントされ、S1213にお
いてそのカウンタBKの値が7を越えたか否かが判別さ
れることにより、8サンプル進んだか否かが判別され
る。そして、BKの値が7を越えたら再びBKの値を初
期値0に戻し(S1216)、量子化データ現在アドレスA
DRの値を1だけ進める(S1217)。
アドレスADRによって読み出される適切な量子化デー
タに基づいて、S1218で差分値Dが演算される。そし
て、この差分値Dが、S1212において順次サンプルデー
タXP に累算される。
値が変化後の現在アドレスの整数部AI に等しくなった
時点で、サンプルデータXP の値は変化後の現在アドレ
スの整数部AI に対応する値となる。
I に対応するサンプルデータXP が求まると、S1211の
判定がYESとなり、前述の補間値の演算処理
(S1229)に移る。
グ毎に繰り返され、S1210の判定がYESに変化した
ら、つぎのループ処理に入る。まず、エンドアドレスA
E を越えた分のアドレス(AI −AE )がループアドレ
スAL に加算され、得られたアドレスが新たな現在アド
レスの整数部AI とされる(S1219)。
ドレスが進んだかによって、差分値Dが演算され累算さ
れる操作が何回か繰り返されることにより、新たな現在
アドレスの整数部AI に対応するサンプルデータXP が
計算される。
データXP が予め設定されているループアドレスAL で
のサンプルデータXPL(図7参照)の値とされ、旧AI
がループアドレスAL の値とされる。
びブロック内カウンタBKの各値が、ループアドレスA
L において対応する値ADRL 及びBKL とされる(S
1220)。
は、予め制御データ兼波形用ROM212からRAM2
06の各発音チャネル領域(図7参照)に読み出されて
いる。なお、これらは演奏者が特には図示しない手段に
より設定できるようにしてもよい。
繰り返される。すなわち、旧AI の値がS1224で順次イ
ンクリメントされながら、S1221において、旧AI によ
り指示される制御データ兼波形用ROM212(図2)
上の適応量子化差分データが読み出され、逆量子化の処
理によって差分値Dが演算される。
データ現在アドレスADRで指示される制御データ兼波
形用ROM212上のアドレスから量子化データが読み
出され、適応量子化差分データに乗算されることによ
り、差分値Dが演算される。
Rは、前述のS1214〜S1217の処理と同様のS1225〜S
1228の処理によって更新される。そして、この差分値D
が、S1223において順次サンプルデータXP に累算され
る。
値が変化後の現在アドレスの整数部AI に等しくなった
時点で、サンプルデータXP の値はループ処理後の新た
な現在アドレスの整数部AI に対応する値となる。
数部AI に対応するサンプルデータXP が求まると、S
1222における判定がYESとなり、前述の補間値の演算
処理(S1229)に移る。
DPCM方式による波形データが、RAM206(図
2)上の各発音チャネル領域の出力O(図7参照)とし
て得られ、前述したようにその出力OがステップS1232
において波形データバッフアB(図8参照)に累算され
る。このバッファBには、前述したように他の発音チャ
ネルに対する音源処理(図5S502 〜S509 )で生成さ
れた楽音信号出力が累算され、最終的に8チャネル分が
累算されたデータとして、1サンプル分の楽音信号デー
タが生成される。
CM方式による音源処理により出力Oとして得られる楽
音データは、本実施例の場合、15ビットの精度を有す
る。従って、波形データバッフアBに得られる8チャネ
ル分が累算された楽音データは、15ビットの8倍の1
8ビットの精度を有する。そして、上述の波形データバ
ッフアBの累算波高値は、前述したように、図4のイン
タラプト処理の最後のステップS403 において、図2の
累算波高値出力ラッチ213にラッチされる。この結
果、累算波高値出力ラッチ213は、18ビットの楽音
サンプルデータを出力することになる。処理回路105の動作原理 次に、図1の処理回路105について説明する。ここで
は、オーバーサンプリング、ノイズシェーピング、ディ
ザなどの信号処理が行われる。以下、処理回路105の
具体的な構成および動作について説明する前に、上記各
信号処理の動作原理について説明する。 <オーバーサンプリング処理の原理>まず、オーバーサ
ンプリング処理の原理について説明する。
が44.1KHz のサンプリング周波数(=fs )でサンプリ
ングされると、図17に示すように音響信号成分の他
に、音響信号のイメージ成分が、fs 、2fs 、3fs
、4fs 、・・・に相当する各周波数44.1KHz 、88.2K
Hz 、132.3 、176.4KHzに発生する。この場合、音響信
号のイメージ成分の下限の周波数24.1KHz と音響信号の
上限の周波数20KHz との間は、わずか4.1KHzしか離れて
いない。
オフを有するローパスフィルタリングを行って、周波数
20KHz 以下の目的とする音響信号成分のみを抽出するこ
とにより、周波数20KHz 以上のイメージ成分が上記音響
信号成分に折り返しノイズとして重畳されないように処
理されなければならない。そして、上記信号成分の抽出
に際しては、周波数20KHz 以下は可能な限り一様な振幅
特性を有し、24.1KHz以上の信号遮断域では目標とする
S/N比以上の減衰量を保ことが必要である。さらに音
質上大切な要素として、20KHz 以下の通過帯域内での位
相特性が線型、つまり群遅延特性が平坦である必要があ
る。
タで実現するには、上述の厳しい特性を満足させるため
に、かなり高次のフィルタが必要になる。実際には9〜
13次のチェビシェフ形のアクティブフィルタが用いら
れるが、帯域内の群遅延特性を平坦にすることは困難で
ある。
決する技術である。その動作原理を4倍オーバーサンプ
リングの場合を例に説明する。まず、元のサンプル列の
各サンプル間に新たに3つの適当なサンプルが挿入され
て全体のサンプル数が4倍にされる。ここで、サンプリ
ング周波数を元の44.1KHz の4倍の176.4KHzに定義する
と、上述のサンプル数が4倍にされた信号においては、
図17の斜線部で示される元の音響信号の周波数成分が
そのまま保存されるとともに、周波数20KHz 以上の周波
数を有する高調波成分が重畳される。
信号に対して、カットオフ周波数が20KHz であるディジ
タルローパスフィルタリング処理が実行される。この処
理により、上記信号から周波数20KHz 以上の高調波成分
が除去される。
処理の出力が、オーバーサンプリング周波数176.4KHzで
D/A変換される。この結果、D/A変換出力におい
て、元の音響信号の周波数成分が現れるとともに、オー
バーサンプリング周波数4fsの整数倍の各周波数4fs
、8fs 、12fs 、・・・を中心とする±20KHz の
各周波数帯域に、音響信号のイメージ成分が現れる。そ
して、これらイメージ成分の周波数は、図18に示され
るように、最も低い周波数でも156.4KHzとなり、元の音
響信号の周波数から遠く離される。
換出力を、図18の点線で示されるような緩やかな遮断
特性を有するアナログフィルタに通すことにより、図1
8の斜線部で示される目的とする音響信号成分のみを得
ることができる。このような緩やかな遮断特性を有する
アナログフィルタは、次数の低い安価なもので実現する
ことができ、かつ、群遅延特性が優れたフィルタも容易
に実現できるという特徴を有する。
いては、特性の良いアナログフィルタを用いるよりは、
ディジタルローパスフィルタリング処理とサンプリング
周波数の高いD/A変換器と安価なアナログローパスフ
ィルタを組み合わせた方が、安価でかつ特性の優れた音
響信号の再生システムを実現することができる。
あれば、信号処理装置は、上述したディジタルローパス
フィルタリング処理を直接実行すればよい。しかし、前
述したサンプル数を増加させる処理とディジタルローパ
スフィルタリング処理を、図19に示すような直線補間
処理で近似的に置き換えることにより、オーバーサンプ
リングのためのディジタル信号処理を大幅に簡略化する
ことができる。
1、D2、D3、・・・とし、例えば隣接するサンプル
値D1とD2の間の差分値をΔとすると、その差分値の
1/4の値Δ/4が、オーバーサンプリング周期1/
(4fs )ごとにサンプル値D1に順次加算されること
によって、上記各オーバーサンプリング周期のタイミン
グごとに直線補間値i1、i2、i3が得られる。
信号においては、カットオフ周波数が20KHz であるディ
ジタルローパスフィルタリング処理が実行された場合と
同様に、周波数20KHz 以上の高調波成分がほぼ除去され
る。従って、直線補間処理だけで、前述したサンプル数
を増加させる処理とディジタルローパスフィルタリング
処理に近似した処理を同時に実現することができる。
うにして、上述した直線補間処理によるオーバーサンプ
リング処理を実行する。 <ノイズシェーピング処理の原理>つぎに、ノイズシェ
ーピング処理の原理について説明する。
ようにして、図20の機能ブロック図に対応するノイズ
シェーピング処理が上述したオーバーサンプリング処理
と組み合わされて実行されることにより、量子化ノイズ
が軽減される。
算波高値出力ラッチ213(図2)から出力される楽音
サンプルデータは前述したように18ビットの精度を有
するが、図1のD/A変換器106は16ビット精度の
ものが使用される。このため、図1の処理回路105
は、CPU104からの18ビットの楽音サンプルデー
タを16ビットのデータに再量子化し、D/A変換器1
06に出力する。
楽音信号の振幅の小さい信号成分が切り捨てられ、その
切り捨て処理に起因して量子化ノイズが発生する。この
量子化ノイズは、ノイズシェーピングを施さない場合
は、図21に示されるように、オーバーサンプリング周
波数の1/2の周波数帯域の全体にわたって一様に分布
し、音響信号成分が存在する周波数20kHz 以下の帯域に
も一様に分布する。従って、このような量子化ノイズを
含む信号がD/A変換されると、音響信号とともに、聴
感上耳ざわりなホワイトノイズが聞こえることになる。
て、ノイズ全体のエネルギーは変えずに、周波数分布を
図22に示されるように周波数20kHz 以上の可聴帯域外
に偏らせることができれば、D/A変換後に、周波数20
kHz 以上の信号成分が、前述したオーバーサンプリング
時のアナログフィルタで抑制されることにより、聴感上
のノイズを減少させることができる。
20に示される機能構成により実現できる。すなわち、
ラッチ部2005は、例えば18ビットの入力データか
ら例えば上位16ビットのみを取り出し、それを16ビ
ットの出力データとして出力する。この場合に切り捨て
られる下位3ビットは、1サンプル遅延部2006と2
008、乗算部2007と2009、および加算部20
01と2003からなる一種の高域強調フィルタ部に入
力されて、18ビットの入力データにフィードバックさ
れる。これにより、入力データの下位3ビットが切り捨
てられることに起因して出力データに重畳される量子化
ノイズの周波数特性を、図22に示されるような特性に
することができる。
は、演算精度を上げるために18ビットの入力データに
対して、19ビットの精度で演算が実行される。また、
リミット部2004は、上記高域強調フィルタ部におけ
る演算結果がオーバーフローしその極性が反転してスパ
イクノイズが発生するのを防ぐために、演算結果を所定
の上限値又は下限値でクリップする回路である。
後述する。図1の処理回路105は、後に詳述するよう
にして、図20の機能構成に対応するノイズシェーピン
グ処理を実行する。 <ディザ処理の原理>図20の機能構成において、ディ
ザ付加部(Dz)2002は、加算部2001を介して
18ビットの入力データにランダムに変化する微小雑音
を付加する。これにより、前述した19ビットから16
ビットへの再量子化の段階において、カットされる下位
3ビットに含まれる微小な楽音信号の成分が16ビット
の出力データにわずかに含まれることになり、聴感上、
その微小な楽音信号成分をある程度再生することが可能
となる。
うにして、図20の機能構成の一部として、上記ディザ
処理を実行する。処理回路105の具体的説明 次に、上述したオーバーサンプリング処理、ノイズシェ
ーピング処理、およびディザ処理を実行する処理回路1
05の具体的な構成および動作について説明する。 <処理回路105の全体的な構成と動作>図23は、図
1の処理回路105の全体構成図である。
(図1)内のクロック発生部203(図2参照)から出
力されるマスタークロック出力CK1、CK2の共通の
周波数を1/16分周し、図24に示されるように、位
相が異なる同じ周波数の4個のクロックNSCK0、N
SCK1、NSCK2、NSCK3を得る。
クロックNSCK1に従って64カウントの計数動作を
行う。その6桁の各出力は、クロックNSCK1のパル
スの後に到来するクロックNSCK0のパルスにより、
カウンタラッチ2303(図23)にラッチされ、デコ
ーダ回路2304に出力される。
2302の出力に従って、図23に示されるような各種
制御クロックを生成する。これらの制御クロックは、演
算回路2305を制御する。
らのクロックNSCK0、NSCK2、NSCK3、お
よびCPU104(図1)のクロック発生部203(図
2)からのインタラプト信号INTによって制御され
る。さらに、演算回路2305には、CPU104の累
算波高値出力ラッチ213(図2)を介して、18ビッ
トの楽音サンプルデータが入力される。そして、演算回
路2305は、前述したオーバーサンプリング処理、ノ
イズシェーピング処理、およびディザ処理を実行し、そ
の結果得られる16ビットの楽音信号データをD/A変
換器106(図1)に出力する。
ト値が00(H)(「(H)」は16進表現を示す)か
ら3F(H)まで1周して、その値が00(H)になる
ごとに、CPU104(図1)内のクロック発生部20
3(図2参照)から、インタラプト信号INTのパルス
が図25に示されるように1個出力される。そして、こ
のインタラプト信号INTの周期はサンプリング周期1
/fsに等しい。
各サンプリング周期)の間に、64進カウンタ2302
が16カウントを計数し、そのカウント値が0B
(H)、1B(H)、2B(H)または3B(H)にな
るごとに、図25のように、演算回路2305内の出力
ラッチO(後述する)が、図1のD/A変換器106に
新たな楽音信号データを出力する。従って、この出力周
期は1/(4fs )となり、これが4倍オーバーサンプ
リング周期となる。
4倍のサンプリング周波数でオーバーサンプリング処理
が行われるが、本実施例ではこのオーバーサンプリング
処理として、図19を用いて説明したように、本来の隣
接するサンプル値の間をそれらの差分値に基づく3個の
補間値で直線補間する処理が、演算回路2305で行わ
れる。
カウントを計数するごとに、演算回路2305において
1個の補間値が計算され、それが楽音信号としてD/A
変換器106に出力される。また、64進カウンタ23
02が64カウントを計数してそのカウント値が1周す
るごとに、CPU104(図1)の累算波高値出力ラッ
チ213(図2参照)から演算回路2305に新たなサ
ンプル値が入力され、演算回路2305において、その
新たなサンプルに基づく上述の直線補間処理が続けられ
る。
補間値が計算されるごとに、前述したノイズシェーピン
グ処理とディザ処理が実行される。 <演算回路の構成>次に、演算回路2305の具体的な
構成および動作について順次説明する。
(図1)内の演算回路2305(図23)の回路構成図
である。まず、入力ラッチ2601は、CPU104
(図1)内の累算波高値出力ラッチ213から出力され
る18ビットの楽音サンプルデータをラッチする。この
入力ラッチ2601は、図1のCPU104の動作と処
理回路105の動作との同期をとる重要な機能を有す
る。
音源処理に要する時間は、音源処理用のソフトウエア
(例えば図12〜図15に対応するプログラム)の実行
条件により変化するため、音源処理が終了して累算波高
値出力ラッチ213(図2)に楽音のサンプルデータが
ラッチされるタイミングは、図28に示されるように一
定でない。従って、累算波高値出力ラッチ213の出力
がそのまま次の処理回路105に出力されると、CPU
104の動作と処理回路105の動作とが同期しなくな
ってしまう。
ッチ213の出力が、図26の入力ラッチ2601(図
26参照)に入力され、図2のクロック発生部203か
ら出力されるサンプリングクロックと等しい間隔を有す
るインタラプト信号INTにより、楽音サンプルデータ
が入力ラッチ2601にラッチさせられる。これによ
り、CPU104から出力される楽音サンプルデータ
は、図28に示されるように、インタラプト信号INT
に同期した一定時間間隔で処理回路105に入力される
ことになる。
路105との間の同期をとることができる。つぎに、図
26の入力ラッチ2601の電源投入時の動作につき説
明する。
されると、CPU104のオペレーション解析部207
(図2)は、前述した図3のメインフローチャートに従
ったプログラムの実行を開始する。そして、まず、前述
した図3のステップS301 のパワーオンイニシャル処理
が実行される。このソフトウエア処理においては、前述
したように、図2のRAM206の内容の初期化、累算
波高値出力ラッチ213の内容の初期化が行われる。
インフローチャートに対応するプログラムの実行が開始
されるまでには、所定の時間を要する。そのため、上述
のソフト的な初期化処理が実行されるまでにも若干の時
間が必要である。
105は、電源の投入と同時にCPU104からは独立
して動作を開始するため、上述の累算波高値出力ラッチ
213の内容がリセットされる前の僅かな時間の間に、
処理回路105内の入力ラッチ2601にラッチされて
いるデータの内容は保証されない。
理回路105において処理されてしまい、その処理結果
がD/A変換器106(図1)に雑音として出力されて
しまう恐れがある。
発生を防ぐために、電源の投入と同時に、処理回路10
5内の図26の入力ラッチ2601が、強制的にハード
リセットされる。 <演算回路の構成(全体動作)>つぎに、図23のカウ
ンタラッチ2303の示す各タイミングで、図26およ
び図27の構成を有する演算回路2305において実行
される各処理について、図29を用いて説明する。
る各処理において行われるラッチ間の転送や演算の内容
を示し、それぞれの「機能」には、図29のそれぞれの
「処理」で示される処理番号が対応している。
チ」は、それぞれの「機能」が実行されるタイミングを
示すカウンタラッチ2303(図23)の値である。こ
の値に基づいて、デコーダ回路2304(図23)が、
以下に示す各制御クロックを生成する。
応して、各ラッチ(例えばT1 ラッチ2610)の出力
は、処理B以外は、全て加減算器(FAS)2628の
入力端子AまたはB(以後、FAS−A、FAS−Bと
呼ぶ)を通過させられる。そのために、図26または図
27の各ラッチの出力ゲート(例えばT1 ラッチ261
0の出力ゲート2612)が開かれる必要があるととも
に、FAS2628の入力ゲート2624、2626の
いずれか一方または両方が、図29の「機能」の内容に
応じて開かれる必要がある。
2610の出力ゲート2612)は、デコーダ回路23
04(図23)から出力される制御クロックがハイレベ
ルのときに、クロックNSCK0のタイミング(図24
参照)で、出力ゲートを制御するアンドゲート(例えば
2613)がオンとなるため、開かれる。この制御クロ
ックが、図29に示される「FAS−A入力ゲートクロ
ック」と「FAS−B入力ゲートクロック」である。
4、2626は、デコーダ回路2304(図23)から
出力される各制御クロックがローレベル“0”でアンド
ゲート2625または2627がオフのときに開いて、
各制御クロックがハイレベル“1”でアンドゲート26
25または2627がオンのときに閉じる。これら入力
ゲート2624および2626を制御する各制御クロッ
クが、図29に示される「ZNSA」と「ZNSB」で
ある。
から出力される制御クロックがローレベル“0”かハイ
レベル“1”かにより、加算または減算のいずれかの演
算を行う。この制御クロックが、図29における「NS
SUB(減算)」である。
回路2629およびT3 ラッチ2630を介して、図2
6、図27の各ラッチ(例えばT1 ラッチ2610)に
戻される。このとき、デコーダ回路2304(図23)
から出力される制御クロックがハイレベルのときに、ク
ロックNSCK3のタイミング(図24参照)で、該当
するラッチの入力を制御するアンドゲート(例えば26
33)がオンとなる。この制御クロックが、図29にお
ける「ラッチクロック」である。
リミット部2004と同じ機能を有し、FAS2628
の出力が19ビットよりオーバーフローしないように、
その出力を必要に応じてクリップする回路である。 <演算回路の構成(処理1〜処理6の全体説明)>以
下、図29に基づいて、図26、図27の構成を有する
演算回路2305の具体的な動作について順次説明す
る。
0に示されるように、CPU104からのインタラプト
信号INTの1周期毎に、00(H)〜3F(H)の計
数を繰り返すが、カウント値00(H)と01(H)で
は、処理はなにも行われない。つぎに、カウント値02
(H)〜06(H)では、図30に示されるように、オ
ーバーサンプリング処理、ノイズシェーピング処理およ
びディザ処理のための前処理が行われる。
して示されている。CPU104からの18ビットの楽
音サンプルデータは、図26、図27の演算回路230
5内を、入力ラッチ2601→Σラッチ2602→Σ-1
ラッチ2620→T1 ラッチ2610およびT2 ラッチ
2614の順に移動する。ここで、入力ラッチ2601
の機能については前述した。また、Σラッチ2602と
Σ-1ラッチ2620は、直線補間の差分値を演算するた
めに、それぞれ入力ラッチ2601からの現在の楽音サ
ンプルデータと1サンプリングタイミング(=インタラ
プトタイミング)前の楽音サンプルデータを保持する。
T1 ラッチ2610は、オーバーサンプリング処理であ
る直線補間処理における補間値を保持する。また、T2
ラッチ2614は、ノイズシェーピング処理とディザ処
理における中間データを保持する。 <演算回路の構成(処理1の説明)>まず、カウンタラ
ッチ2303(図23)がカウント値02(H)を示す
タイミングで、Σラッチ2602にラッチされている前
回のサンプリングタイミング(=インタラプトタイミン
グ)の楽音サンプルデータが、Σ-1ラッチ2620に移
される(図29の処理1)。すなわち、Σラッチ260
2の出力は、出力ゲート2604、FAS2628、リ
ミット回路2629、T3 ラッチ2630を順次通っ
て、Σ-1ラッチ2620に入力される。
24のタイミングチャートと、図29のカウンタラッチ
が02(H)の欄を、随時参照するものとする。まず、
デコーダ2304からFAS−A入力ゲートクロックと
してSIGGTが入力し、クロックNSCK0の入力タ
イミングで、Σラッチ2602の出力ゲート2604が
オンになる。
ZNSAとして“0”が入力するためアンドゲート26
25の出力がローレベルとなり、FAS2628の入力
ゲート2624はオンになる。一方、デコーダ2304
から制御クロックZNSBとして“1”が入力するた
め、クロックNSCK0の入力タイミングでアンドゲー
ト2627の出力がハイレベルとなり、FAS2628
の入力ゲート2626はオフになる。さらに、デコーダ
2304からFAS2628へ入力される制御クロック
NSSUBは0であるため、FAS2628は加算演算
を実行する。
AS−Aの入力値にFAS−Bの入力値“0”が加算さ
れ、従って、FAS−Aから入力されたΣラッチ260
2の出力がそのままFAS2628の出力端子に出力さ
れる。
を通って、クロックNSCK2の入力タイミングでT3
ラッチ2630を通過する。ここで、デコーダ2304
からはラッチクロックとしてSIG1CKが入力してい
る。従って、クロックNSCK3の入力タイミングでア
ンドゲート2621がオンとなり、T3 ラッチ2630
の出力がΣ-1ラッチ2620にラッチされる。
Σ-1ラッチ2620に移される。 <演算回路の構成(処理2の説明)>次に、カウンタラ
ッチ2303(図23)がカウント値03(H)を示す
タイミングで、入力ラッチ2601にラッチされている
楽音サンプルデータが、Σラッチ2602に移される
(図29処理2)。ここで、入力ラッチ2601には、
前述したように、インタラプト信号INTの入力タイミ
ングで(図24参照)、CPU104(図1)内の累算
波高値出力ラッチ213(図2参照)から楽音サンプル
データがラッチされている。
(H)である欄を参照すると理解されるように、デコー
ダ回路2304からラッチクロックとしてSIGCKが
入力し、クロックNSCK3の入力タイミングでアンド
ゲート2603がオンになることによって、上述の処理
が実行される。 <演算回路の構成(処理3の説明)>つづいて、カウン
タラッチ2303(図23)がカウント値04(H)を
示すタイミングで、Σ-1ラッチ2620にラッチされた
前回のサンプリングタイミング(=インタラプトタイミ
ング)における楽音サンプルデータに、Dzラッチ26
06に保持されているディザ値が加算されて、その加算
値がT2 ラッチ2614に移される(図29の処理
3)。この処理は、前述した図20のディザ付加部(D
z)2002と加算部2001の機能に対応し、このT
2 ラッチ2614の内容に対して、後述するノイズシェ
ーピング処理が実行される。
24のタイミングチャートと、図29のカウンタラッチ
が04(H)の欄を、随時参照するものとする。まず、
デコーダ2304からFAS−B入力ゲートクロックと
してSIG1GTが入力し、クロックNSCK0の入力
タイミングで、Σ-1ラッチ2620の出力ゲート262
2がオンになる。また、デコーダ2304から制御クロ
ックZNSBとして“0”が入力するためアンドゲート
2627の出力がローレベルとなり、FAS2628の
入力ゲート2626はオンになる。その結果、前述した
処理1でΣ-1ラッチ2620に保持された前回のサンプ
リングタイミングの楽音サンプルデータが、FAS−B
からFAS2628に入力される。
力ゲートクロックとしてDZGTが入力し、クロックN
SCK0の入力タイミングで、Dzラッチ2606の出
力ゲート2608がオンになる。また、デコーダ230
4から制御クロックZNSAとして“0”が入力するた
めアンドゲート2625の出力がローレベルとなり、F
AS2628の入力ゲート2624はオンになる。その
結果、乱数発生回路2653により発生され後述する図
29の処理10においてDzラッチ2606に保持され
ているディザ値が、FAS−AからFAS2628に入
力される。
28へ入力される制御クロックNSSUBは0であるた
め、FAS2628では、FAS−Bから入力されたΣ
-1ラッチ2620の出力に、FAS−Aから入力された
Dzラッチ2606からのディザ値が加算される。
通って、クロックNSCK2の入力タイミングでT3 ラ
ッチ2630を通過する。ここで、デコーダ2304か
らはラッチクロックとしてTM2CKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2615がオンとなり、T3 ラッチ2630の出
力がT2 ラッチ2614にラッチされる。
チされた前回のサンプリングタイミング(=インタラプ
トタイミング)における楽音サンプルデータにディザ値
が加算されて、T2 ラッチ2614に移される。 <演算回路の構成(処理4の説明)>つぎに、カウンタ
ラッチ2303(図23)がカウント値05(H)を示
すタイミングで、後述するオーバーサンプリング処理で
ある直線補間処理に使用される歩進値Δ/4の計算処理
が行われる(図29の処理4)。この歩進値は、図19
で前述したように、現在のサンプル値の前回のサンプル
値に対する差分値Δが1/4された値である。すなわ
ち、このタイミングでは、前述した処理2(図29参
照)でΣラッチ2602に保持された今回のサンプリン
グタイミング(=インタラプトタイミング)の楽音サン
プルデータから、前述した処理1(図29参照)でΣ-1
ラッチ2620に保持された前回のサンプリングタイミ
ングの楽音サンプルデータが減算されることにより差分
値が計算され、その値が1/4されることによって歩進
値Δ/4が計算され、この値がΔ/4ラッチ2632に
ラッチされる。
24のタイミングチャートと、図29のカウンタラッチ
が05(H)の欄を随時参照するものとする。まず、デ
コーダ2304からFAS−A入力ゲートクロックとし
てSIGGTが入力し、クロックNSCK0の入力タイ
ミングで、Σラッチ2602の出力ゲート2604がオ
ンになる。また、デコーダ2304から制御クロックZ
NSAとして“0”が入力するためアンドゲート262
5の出力がローレベルとなり、FAS2628の入力ゲ
ート2624はオンになる。その結果、Σラッチ260
2に保持されている今回のサンプリングタイミングの楽
音サンプルデータが、FAS−AからFAS2628に
入力される。
力ゲートクロックとしてSIG1GTが入力し、クロッ
クNSCK0の入力タイミングで、Σ-1ラッチ2620
の出力ゲート2622がオンになる。また、デコーダ2
304から制御クロックZNSBとして“0”が入力す
るためアンドゲート2627の出力がローレベルとな
り、FAS2628の入力ゲート2626はオンにな
る。その結果、Σ-1ラッチ2620に保持されている前
回のサンプリングタイミングの楽音サンプルデータが、
FAS−BからFAS2628に入力される。
28へ入力される制御クロックNSSUBは1であるた
め、FAS2628では、FAS−Aから入力されたΣ
ラッチ2602の出力から、FAS−Bから入力された
Σ-1ラッチ2620の出力が減算される。
通って、クロックNSCK2の入力タイミングでT3 ラ
ッチ2630を通過する。ここで、デコーダ2304か
らはラッチクロックとしてDEFCKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2633がオンとなり、T3 ラッチ2630の出
力が除算器2631で1/4され、その結果として得ら
れる歩進値Δ/4が、Δ/4ラッチ2614にラッチさ
れる。ここで、除算器2631は、FAS2628から
リミット回路2629およびT3ラッチ2630を介し
て入力する19ビットのパラレルデータに対して、2ビ
ットの算術右シフト演算を実行する回路である。
歩進値Δ/4がΔ/4ラッチ2614にラッチされる。 <演算回路の構成(処理5の説明)>つぎに、カウンタ
ラッチ2303(図23)がカウント値06(H)を示
すタイミングで、前述した処理1(図29参照)でΣ-1
ラッチ2620に保持された前回のサンプリングタイミ
ング(=インタラプトタイミング)の楽音サンプルデー
タがT1 ラッチ2610に移される(図29の処理
5)。このT1 ラッチ2610の内容に対して、後述す
るオーバーサンプリング処理である直線補間処理が実行
される。
24のタイミングチャートと、図29のカウンタラッチ
が06(H)の欄を随時参照するものとする。まず、デ
コーダ2304からFAS−B入力ゲートクロックとし
てSIG1GTが入力し、クロックNSCK0の入力タ
イミングで、Σ-1ラッチ2620の出力ゲート2622
がオンになる。
ZNSBとして“0”が入力するためアンドゲート26
27の出力がローレベルとなり、FAS2628の入力
ゲート2626はオンになる。一方、デコーダ2304
から制御クロックZNSAとして“1”が入力するた
め、クロックNSCK0の入力タイミングでアンドゲー
ト2625の出力がハイレベルとなり、FAS2628
の入力ゲート2624はオフになる。さらに、デコーダ
2304からFAS2628へ入力される制御クロック
NSSUBは0であるため、FAS2628は加算演算
を実行する。
AS−Aの入力値“0”にFAS−Bの入力値が加算さ
れ、従って、FAS−Bから入力されたΣ-1ラッチ26
20の出力がそのままFAS2628の出力端子に出力
される。
を通って、クロックNSCK2の入力タイミングでT3
ラッチ2630を通過する。ここで、デコーダ2304
からはラッチクロックとしてTM1CKが入力してい
る。従って、クロックNSCK3の入力タイミングでア
ンドゲート2611がオンとなり、T3 ラッチ2630
の出力がT1 ラッチ2610にラッチされる。
T1 ラッチ2610に移される。以上、図29の処理1
〜処理5によって、オーバーサンプリング処理、ノイズ
シェーピング処理およびディザ処理のための前処理が終
了する。 <演算回路の構成(処理6〜処理12の全体説明)>つ
づいて、ノイズシェーピング処理、オーバーサンプリン
グ処理である直線補間処理、およびディザ処理のそれぞ
れが実行される。
のカウント値(=64進カウンタ2302のカウント
値)がインタラプト信号INTの1周期で1周する間
に、図30に示されるように、同カウント値が、08
(H)〜0E(H)、18(H)〜1E(H)、28
(H)〜2E(H)、および38(H)〜3E(H)と
なる各区間でそれぞれ1回ずつ繰り返される。すなわ
ち、1インタラプト周期の1/4周期ごとに一連の演算
が実行され、これが4倍オーバーサンプリング周期に対
応することになる。
ンタラッチ2303のカウント値が“−8”〜“−E”
(“−”は、0、1、2、または3のいずれかの値を示
す)となる処理6〜処理12として示される。 <演算回路の構成(処理6の説明)>まず、図29の処
理6〜処理9は、ノイズシェーピング処理であって、前
述した図20の機能構成に対応する。
3)がカウント値“−8”(H)を示すタイミングで実
行される図29の処理6においては、T2 ラッチ261
4の内容からZ-2ラッチ2636の内容が減算され、そ
の減算結果が新たにT2 ラッチ2614にラッチされ
る。
る図29の処理10〜処理12、または前述した図29
の処理3により、ディザ処理が施されたされたオーバー
サンプリングデータが保持されている。また、Z-2ラッ
チ2636には、後述する図29の処理8と処理9によ
って、ノイズシェーピング処理された19ビットの楽音
サンプルデータから切り捨てられた下位3ビットの信号
成分をZ-1ラッチ2640を介して2オーバーサンプリ
ングタイミング分遅延させた信号が保持されている。
ッチ部2005に対応し、図29の処理6は、図20の
遅延部2006、2008、乗算部2009、および加
算部2001の処理に対応することになる。
24のタイミングチャートと、図29のカウンタラッチ
が“−8”(H)の欄を、随時参照するものとする。ま
ず、デコーダ2304からFAS−A入力ゲートクロッ
クとしてTM2AGTが入力し、クロックNSCK0の
入力タイミングで、T2 ラッチ2614の出力ゲート2
616がオンになる。また、デコーダ2304から制御
クロックZNSAとして“0”が入力するためアンドゲ
ート2625の出力がローレベルとなり、FAS262
8の入力ゲート2624はオンになる。その結果、T2
ラッチ2614に保持されているディザ処理が施された
オーバーサンプリングデータが、FAS−AからFAS
2628に入力される。
力ゲートクロックとしてZ2GTが入力し、クロックN
SCK0の入力タイミングで、Z-2ラッチ2636の出
力ゲート2638がオンになる。また、デコーダ230
4から制御クロックZNSBとして“0”が入力するた
めアンドゲート2627の出力がローレベルとなり、F
AS2628の入力ゲート2626はオンになる。その
結果、Z-2ラッチ2636に保持されている遅延サンプ
ルデータが、FAS−BからFAS2628に入力され
る。
28へ入力される制御クロックNSSUBは1であるた
め、FAS2628では、FAS−Aから入力されたT
2 ラッチ2614の出力から、FAS−Bから入力され
たZ-2ラッチ2636の出力が減算される。
通って、クロックNSCK2の入力タイミングでT3 ラ
ッチ2630を通過する。ここで、デコーダ2304か
らはラッチクロックとしてTM2CKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2633がオンとなり、T3 ラッチ2630の出
力がT2 ラッチ2614に新たにラッチされる。 <演算回路の構成(処理7の説明)>つぎに、カウンタ
ラッチ2303(図23)がカウント値“−9”(H)
を示すタイミングで実行される図29の処理7において
は、T2 ラッチ2614の内容に、Z-1ラッチ2640
の内容を2倍した値が加算され、その加算結果が新たに
T2 ラッチ2614にラッチされる。
の処理6の場合と同様、後述する図29の処理10〜処
理12、または前述した図29の処理3により、ディザ
処理が施されたされたオーバーサンプリングデータが保
持されている。また、Z-1ラッチ2640には、後述す
る図29の処理9により、ノイズシェーピング処理され
た19ビットの楽音サンプルデータから切り捨てられた
下位3ビットの信号成分を1オーバーサンプリングタイ
ミング分遅延させた信号が保持されている。
部2006、乗算部2007、および加算部2003の
処理に対応することになる。以下、この具体的な動作を
示す。なお、図24のタイミングチャートと、図29の
カウンタラッチが“−9”(H)の欄を、随時参照する
ものとする。
力ゲートクロックとしてTM2AGTが入力し、クロッ
クNSCK0の入力タイミングで、T2 ラッチ2614
の出力ゲート2616がオンになる。また、デコーダ2
304から制御クロックZNSAとして“0”が入力す
るためアンドゲート2625の出力がローレベルとな
り、FAS2628の入力ゲート2624はオンにな
る。その結果、T2 ラッチ2614に保持されているデ
ィザ処理が施されたオーバーサンプリングデータが、F
AS−AからFAS2628に入力される。
力ゲートクロックとしてZ12GTが入力し、クロック
NSCK0の入力タイミングで、Z-1ラッチ2640の
出力ゲート2645がオンになる。また、デコーダ23
04から制御クロックZNSBとして“0”が入力する
ためアンドゲート2627の出力がローレベルとなり、
FAS2628の入力ゲート2626はオンになる。そ
の結果、Z-1ラッチ2640に保持されている遅延サン
プルデータが、乗算器2644で2倍された後に、FA
S−BからFAS2628に入力される。ここで、乗算
器2644は、1ビットの算術左シフト演算を実行する
回路である。
28へ入力される制御クロックNSSUBは0であるた
め、FAS2628においては、FAS−Aから入力さ
れたT2 ラッチ2614の出力に、FAS−Bから入力
されたZ-1ラッチ2640の内容が2倍された値が加算
される。
通って、クロックNSCK2の入力タイミングでT3 ラ
ッチ2630を通過する。ここで、デコーダ2304か
らはラッチクロックとしてTM2CKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2633がオンとなり、T3 ラッチ2630の出
力がT2 ラッチ2614に新たにラッチされる。 <演算回路の構成(処理8の説明)>つぎに、カウンタ
ラッチ2303(図23)がカウント値“−A”(H)
を示すタイミングで実行される図29の処理8において
は、Z-1ラッチ2640の内容がZ-2ラッチ2636に
移される。
る図29の処理9によって、ノイズシェーピング処理さ
れた19ビットの楽音サンプルデータから切り捨てられ
た下位3ビットの信号成分を1サンプルタイミング分遅
延させた信号が保持されている。
部2006の内容を遅延部2008でさらに1オーバー
サンプリングタイミング分遅延させる処理に対応するこ
とになる。
24のタイミングチャートと、図29のカウンタラッチ
が“−A”(H)の欄を、随時参照するものとする。ま
ず、デコーダ2304からFAS−B入力ゲートクロッ
クとしてZ11GTが入力し、クロックNSCK0の入
力タイミングで、Z-1ラッチ2640の出力ゲート26
22がオンになる。
ZNSBとして“0”が入力するためアンドゲート26
27の出力がローレベルとなり、FAS2628の入力
ゲート2626はオンになる。一方、デコーダ2304
から制御クロックZNSAとして“1”が入力するた
め、クロックNSCK0の入力タイミングでアンドゲー
ト2625の出力がハイレベルとなり、FAS2628
の入力ゲート2624はオフになる。さらに、デコーダ
2304からFAS2628へ入力される制御クロック
NSSUBは0であるため、FAS2628は加算演算
を実行する。
AS−Aの入力値“0”にFAS−Bの入力値が加算さ
れ、従って、FAS−Bから入力されたZ-1ラッチ26
40の出力がそのままFAS2628の出力端子に出力
される。
を通って、クロックNSCK2の入力タイミングでT3
ラッチ2630を通過する。ここで、デコーダ2304
からはラッチクロックとしてZ2CKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2637がオンとなり、T3 ラッチ2630の出
力がZ-2ラッチ2636にラッチされる。
内容がZ-2ラッチ2636に移される。ところで、Z-1
ラッチ2640とZ-2ラッチ2636には、ノイズシェ
ーピング処理において、19ビットの出力信号の下位3
ビットのデータがフィードバックされる際に、1オーバ
ーサンプリングおよび2オーバーサンプリング前のデー
タ、つまり過去のデータが記憶されている。
になると、図1の処理回路105の楽音信号の出力も0
にされるべきである。ところが、Z-1ラッチ2640と
Z-2ラッチ2636には、CPU104の出力が0にな
る前の値が残っている。その結果、ノイズシェーピング
処理の過程で上記各ラッチ内に残っている信号成分がD
/A変換器106(図1)に出力されてしまいノイズと
なる可能性がある。
め、本実施例では、CPU104の出力が0になると、
図27の破線部のノイズシェーピング処理のリセット回
路2652によって、つぎのようにしてZ-1ラッチ26
40とZ-2ラッチ2636が強制的にリセットされる。
内のエンベロープ値出力ラッチ214(図2参照)から
出力される18ビットのエンベロープ値が、ナンドゲー
ト2649に入力されている。そして、ナンドゲート2
649の出力は、Aラッチ2650、Bラッチ2651
を介して、Z-1ラッチ2640とZ-2ラッチ2636の
各リセット端子に入力される。また、Bラッチ2651
の出力は、ディザ値を出力するDzラッチ2606のリ
セット端子にも入力される。
からの18ビットのエンベロープ値がすべて0になる
と、ナンドゲート2649の出力がハイレベルになる。
そして、この出力がAラッチ2650およびBラッチ2
651により2サンプリングタイミング(=インタラプ
トタイミング)分遅延された後、このハイレベル信号に
よってZ-1ラッチ2640とZ-2ラッチ2636が強制
的にリセットされる。なお、上記リセット動作以後は、
前述したディザ処理によってディザ値も出力されないよ
うにするために、上記ハイレベル信号によって、ディザ
値を出力するDzラッチ2606も強制的にリセットさ
れる。
サンプリングタイミング分遅延されるのは、CPU10
4からの楽音サンプルデータが演算回路2305に入力
し、同回路2305から上記楽音サンプルデータに対応
する楽音信号が出力されるまでに、2サンプリングタイ
ミング分の時間を要するため、上記リセットのタイミン
グを演算回路2305の処理タイミングに合わせるため
である。 <演算回路の構成(処理9の説明)>つぎに、カウンタ
ラッチ2303(図23)がカウント値“−B”(H)
を示すタイミングで実行される図29の処理9において
は、前述した図29の処理7でT2 ラッチ2614に得
られた19ビットの楽音サンプルデータのうち、上位1
6ビットをD/A変換器106(図1)に出力される出
力楽音サンプルデータとしてOラッチ2647にセット
し、切り捨てられる下位3ビットをZ-1ラッチ2640
にセットする処理である。
24のタイミングチャートと、図29のカウンタラッチ
が“−B”(H)の欄を、随時参照するものとする。ま
ず、デコーダ2304からFAS−A入力ゲートクロッ
クとしてTM2AGTが入力し、クロックNSCK0の
入力タイミングで、T2 ラッチ2614の出力ゲート2
616がオンになる。
ZNSAとして“0”が入力するためアンドゲート26
25の出力がローレベルとなり、FAS2628の入力
ゲート2624はオンになる。一方、デコーダ2304
から制御クロックZNSBとして“1”が入力するた
め、クロックNSCK0の入力タイミングでアンドゲー
ト2627の出力がハイレベルとなり、FAS2628
の入力ゲート2626はオフになる。さらに、デコーダ
2304からFAS2628へ入力される制御クロック
NSSUBは0であるため、FAS2628は加算演算
を実行する。
AS−Aの入力値にFAS−Bの入力値“0”が加算さ
れ、従って、FAS−Aから入力されたT2ラッチ26
14の出力がそのままFAS2628の出力端子に出力
される。
を通って、クロックNSCK2の入力タイミングでT3
ラッチ2630を通過する。ここで、デコーダ2304
からはラッチクロックとしてDACKおよびZ1CKが
入力している。従って、クロックNSCK3の入力タイ
ミングでアンドゲート2648がオンとなる。
2630からの19ビットの出力のうち上位16ビット
のみを取り込み、その16ビットのデータをそのまま出
力するように物理的に構成されている。また、Z-1ラッ
チ2640は、T3 ラッチ2630からの19ビットの
出力のうち下位3ビットのみを取り込み、上位16ビッ
トに0を挿入して、19ビットのデータとして出力する
ように物理的に構成されている。
られている19ビットの楽音サンプルデータのうち、上
位16ビットがOラッチ2647にラッチされ、下位3
ビットがZ-1ラッチ2640にラッチされる。
って、図20の機能構成に対応するノイズシェーピング
処理が実行される。 <演算回路の構成(処理10の説明)>つぎに、カウン
タラッチ2303(図23)がカウント値“−C”
(H)を示すタイミングで実行される図29の処理10
は、オーバーサンプリング処理であって、前述した図1
9の直線補間処理である。
10にラッチされたデータに、前述した図29の処理4
でΔ/4ラッチ2632にラッチされた歩進値Δ/4が
加算されることによって、新たな直線補間値(図19参
照)が演算され、T1 ラッチ2610にラッチされる。
カウンタラッチ2303(図23)がカウント値“1
C”(H)、“2C”(H)、または“3C”(H)を
示すタイミングでは、前回のオーバーサンプリングタイ
ミングにおいて同じ処理10でラッチされた前回の直線
補間値が保持されており、同じく“0C”(H)を示す
タイミングでは、前述した図29の処理5により、直線
補間値ではなくて新たな楽音サンプルデータ(図19の
D1などに対応する)が保持されている。
24のタイミングチャートと、図29のカウンタラッチ
が“−C”(H)の欄を、随時参照するものとする。ま
ず、デコーダ2304からFAS−A入力ゲートクロッ
クとしてTM1GTが入力し、クロックNSCK0の入
力タイミングで、T1 ラッチ2610の出力ゲート26
12がオンになる。また、デコーダ2304から制御ク
ロックZNSAとして“0”が入力するためアンドゲー
ト2625の出力がローレベルとなり、FAS2628
の入力ゲート2624はオンになる。その結果、T1 ラ
ッチ2610の内容がFAS−AからFAS2628に
入力される。
力ゲートクロックとしてDEFGTが入力し、クロック
NSCK0の入力タイミングで、Δ/4ラッチ2632
の出力ゲート2634がオンになる。また、デコーダ2
304から制御クロックZNSBとして“0”が入力す
るためアンドゲート2627の出力がローレベルとな
り、FAS2628の入力ゲート2626はオンにな
る。その結果、Δ/4ラッチ2632に保持されている
歩進値Δ/4が、FAS−BからFAS2628に入力
される。
28へ入力される制御クロックNSSUBは0であるた
め、FAS2628では、FAS−Aから入力されたT
1 ラッチ2610の出力に、FAS−Bから入力された
Δ/4ラッチ2632からの歩進値Δ/4が加算され
る。
通って、クロックNSCK2の入力タイミングでT3 ラ
ッチ2630を通過する。ここで、デコーダ2304か
らはラッチクロックとしてTM1CKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2611がオンとなり、T3 ラッチ2630の出
力がT1 ラッチ2610にラッチされる。
れる。なお、直線補間処理とは関係ないが、デコーダ2
304からはラッチクロックとしてDZCKが入力して
いる。従って、クロックNSCK3の入力タイミングで
アンドゲート2607がオンとなり、乱数発生回路26
53から出力する乱数値が、後述する図29の処理12
で処理される新たなディザ値としてDzラッチ2606
にラッチされる。 <演算回路の構成(処理11の説明)>つぎに、カウン
タラッチ2303(図23)がカウント値“−D”
(H)を示すタイミングで実行される図29の処理11
は、上述の処理10でT1 ラッチ2610に得られた新
たな直線補間値を、後述する処理12でのディザ処理、
および次回のオーバーサンプリングタイミングにおける
前述した処理6〜処理9のノイズシェーピング処理のた
めに、T2 ラッチ2614に移す処理である。これによ
り、オーバーサンプリング処理である直線補間処理とデ
ィザ処理およびノイズシェーピング処理がカスケードに
接続されることになる。
24のタイミングチャートと、図29のカウンタラッチ
が“−D”(H)の欄を、随時参照するものとする。ま
ず、デコーダ2304からFAS−A入力ゲートクロッ
クとしてTM1GTが入力し、クロックNSCK0の入
力タイミングで、T1 ラッチ2610の出力ゲート26
12がオンになる。
ZNSAとして“0”が入力するためアンドゲート26
25の出力がローレベルとなり、FAS2628の入力
ゲート2624はオンになる。一方、デコーダ2304
から制御クロックZNSBとして“1”が入力するた
め、クロックNSCK0の入力タイミングでアンドゲー
ト2627の出力がハイレベルとなり、FAS2628
の入力ゲート2626はオフになる。さらに、デコーダ
2304からFAS2628へ入力される制御クロック
NSSUBは0であるため、FAS2628は加算演算
を実行する。
AS−Aの入力値にFAS−Bの入力値“0”が加算さ
れ、従って、FAS−Aから入力されたT1ラッチ26
10の出力がそのままFAS2628の出力端子に出力
される。
を通って、クロックNSCK2の入力タイミングでT3
ラッチ2630を通過する。ここで、デコーダ2304
からはラッチクロックとしてTM2CKが入力してい
る。従って、クロックNSCK3の入力タイミングでア
ンドゲート2615がオンとなり、T3 ラッチ2630
の出力がT2 ラッチ2614にラッチされる。
内容がT2 ラッチ2614に移される。 <演算回路の構成(処理12の説明)>最後に、カウン
タラッチ2303(図23)がカウント値“−E”
(H)を示すタイミングで実行される図29の処理12
においては、上述の処理11でT2 ラッチ2614に移
し替えられた新たな直線補間値に、Dzラッチ2606
に保持されているディザ値が加算され、その加算値がT
2 ラッチ2614に新たにラッチされる。この処理は、
前述した図29の処理3と同様、前述した図20のディ
ザ付加部(Dz)2002と加算部2001の機能に対
応し、このT2 ラッチ2614の内容に対して、次回の
オーバーサンプリングタイミングにおいて、前述した処
理6〜処理9のノイズシェーピング処理が実行されるこ
とになる。
24のタイミングチャートと、図29のカウンタラッチ
が“−E”(H)の欄を、随時参照するものとする。ま
ず、デコーダ2304からFAS−B入力ゲートクロッ
クとしてTM2BGTが入力し、クロックNSCK0の
入力タイミングで、T2 ラッチ2614の出力ゲート2
619がオンになる。また、デコーダ2304から制御
クロックZNSBとして“0”が入力するためアンドゲ
ート2627の出力がローレベルとなり、FAS262
8の入力ゲート2626はオンになる。その結果、T2
ラッチ2614の内容が、FAS−BからFAS262
8に入力される。
力ゲートクロックとしてDZGTが入力し、クロックN
SCK0の入力タイミングで、Dzラッチ2606の出
力ゲート2608がオンになる。また、デコーダ230
4から制御クロックZNSAとして“0”が入力するた
めアンドゲート2625の出力がローレベルとなり、F
AS2628の入力ゲート2624はオンになる。その
結果、Dzラッチ2606内の乱数発生器2653によ
り発生され同ラッチに保持されているディザ値が、FA
S−AからFAS2628に入力される。
28へ入力される制御クロックNSSUBは0であるた
め、FAS2628では、FAS−Bから入力されたT
2 ラッチ2614の出力に、FAS−Aから入力された
Dzラッチ2606からのディザ値が加算される。
通って、クロックNSCK2の入力タイミングでT3 ラ
ッチ2630を通過する。ここで、デコーダ2304か
らはラッチクロックとしてTM2CKが入力している。
従って、クロックNSCK3の入力タイミングでアンド
ゲート2615がオンとなり、T3 ラッチ2630の出
力がT2 ラッチ2614にラッチされる。
104の制御によるソフトウエ処理に基づく楽音信号の
生成処理と、図1の外付けの処理回路105による楽音
信号に対する各種制御処理とを、正確に同期させて実行
することができる。ノイズシェーピング処理のリセット回路の第2の実施例 つぎに、図31は、図27のノイズシェーピング処理の
リセット回路2652の第2の実施例の構成図である。
処理のためのZ-1ラッチ2640とZ-2ラッチ263
6、およびディザ処理のためのDzラッチ2606は、
CPU104内のエンベロープ値出力ラッチ214(図
2参照)から出力される18ビットのエンベロープ値が
すべて0になることによってリセットされていた。
は、上記各ラッチは、CPU104内の累算波高値出力
ラッチ213(図2参照)から出力される18ビットの
累算波高値がすべて0になる状態が一定時間続いた場合
にリセットされる。
01は、CPU104内の累算波高値出力ラッチ213
から出力される18ビットの累算波高値がすべて0にな
った状態を検出する回路であり、その検出時にハイレベ
ルの判別信号を出力する。この回路は、前述した図27
のナンドゲート2649と同様の回路によって実現でき
る。
同期クリア端子(CLR)付きのD−フリップフロップ
回路であり、ゼロ入力値判別回路3101からの判別出
力がローレベル(“L”)となるタイミング、すなわ
ち、ゼロ入力値判別回路3101が累算波高値のオール
0を検出しないタイミングで、各出力Qをローレベル
(“L”)にクリアする。
U104内のクロック発生部203(図2)からクロッ
ク端子(CK)にインタラプト信号INTが入力される
毎に、入力Dの論理を出力Qに伝達する。
ベルにプルアップされ、アンド回路3104の第1の入
力および第2の入力にはDFF3102、3103の各
出力Qが入力され、アンド回路3104の出力は、図2
7のノイズシェーピング処理のためのZ-1ラッチ264
0とZ-2ラッチ2636、および図26のディザ処理の
ためのDzラッチ2606の各リセット端子に入力され
る。
PU104内の累算波高値出力ラッチ213から出力さ
れる18ビットの累算波高値がすべて0になる状態でな
ければ、DFF3102、3103は常にクリアされ
る。従って、アンド回路3104の出力がローレベルと
なり、図27のノイズシェーピング処理のためのZ-1ラ
ッチ2640とZ-2ラッチ2636、および図26のデ
ィザ処理のためのDzラッチ2606はリセットされ
ず、前述したノイズシェーピング処理およびディザ処理
が実行される。
ッチ213から出力される18ビットの累算波高値がす
べて0になると、そのタイミング以後に最初に入力され
るインタラプト信号INTのパルスによってDFF31
02の入力Dのハイレベル状態がDFF3102の出力
Qに現われ、つぎに入力されるインタラプト信号INT
のパルスによってDFF3103の出力Qがハイレベル
になる。この結果、アンド回路3104の第1の入力お
よび第2の入力がともにハイレベルとなって、アンド回
路3104の出力がハイレベルとなり、Z-1ラッチ26
40とZ-2ラッチ2636、およびDzラッチ2606
がリセットされる。従って、図1の処理回路105の楽
音信号の出力が0になり、ノイズの発生が抑制される。
算波高値出力ラッチ213から出力される18ビットの
累算波高値がオール0以外の値に復帰すると、ゼロ入力
値判別回路3101の出力がローレベルになり、DFF
3102、3103がクリアされる。従って、アンド回
路3104の出力がローレベルに戻り、Z-1ラッチ26
40とZ-2ラッチ2636、およびDzラッチ2606
のリセット状態が解消され、前述したノイズシェーピン
グ処理およびディザ処理が再開される。
号INTのパルスの入力周期は楽音信号のサンプリング
周期に等しい。従って、CPU104内の累算波高値出
力ラッチ213から出力される18ビットの累算波高値
がすべて0になる状態が2サンプリングタイミング分続
いた場合に、上記各ラッチのリセットが行なわれること
になる。
においても、累算波高値がすべて0になる状態は発生し
得るが、その状態が2サンプリングタイミング分続いて
発生することはほとんどあり得ない。従って、上述のよ
うに累算波高値がすべて0になる状態が一定時間(2サ
ンプリングタイミング分)続くことを検出することによ
り、楽音信号の波形が0に収束したことを検出すること
ができ、その検出タイミングで上記各ラッチのリセット
が行なわれる。
の遅延処理は、CPU104からの楽音サンプルデータ
が演算回路2305に入力し、同回路2305から上記
楽音サンプルデータに対応する楽音信号が出力されるま
でに、2サンプリングタイミング分の時間を要するた
め、上記リセットのタイミングを演算回路2305の処
理タイミングに合わせるための遅延処理も兼ねている。ノイズシェーピング処理のリセット回路の第3の実施例 図32は、図27のノイズシェーピング処理のリセット
回路2652の第3の実施例の構成図である。
ズシェーピング処理のためのZ-1ラッチ2640とZ-2
ラッチ2636、およびディザ処理のためのDzラッチ
2606は、CPU104内の累算波高値出力ラッチ2
13(図2参照)から出力される18ビットの累算波高
値がすべて0になる状態が一定時間続いた場合にリセッ
トされるように構成された。
は、上記各ラッチは、累算波高値がすべて0になる状態
が一定時間続いた後に、さらに演算回路2305内のO
ラッチ2647(図26参照)の出力値がすべて0にな
る状態が一定時間続いた場合にリセットされる。
01、DFF3202、3203、およびアンド回路3
204の第1の入力および第2の入力の部分の構成は、
図31の3101〜3104の各構成部分と同じ構成で
ある。
演算回路2305内のOラッチ2647から出力される
16ビットの出力値がすべて0になった状態を検出する
回路であり、その検出時にハイレベルの判別信号を出力
する。この回路は、前述した図27のナンドゲート26
49と同様の回路によって実現できる。この回路が出力
する判別信号は、アンド回路3204の第3の入力に入
力される。
FF3202、3203と同様、非同期クリア端子(C
LR)付きのD−フリップフロップ回路であり、アンド
回路3204からの判別出力がローレベル(“L”)と
なるタイミングで、各出力Qをローレベル(“L”)に
クリアする。
U104内のクロック発生部203(図2)からクロッ
ク端子(CK)にインタラプト信号INTが入力される
毎に、入力Dの論理を出力Qに伝達する。
ベルにプルアップされ、アンド回路3208の第1の入
力および第2の入力にはDFF3206、3207の各
出力Qが入力され、アンド回路3208の出力は、図2
7のノイズシェーピング処理のためのZ-1ラッチ264
0とZ-2ラッチ2636、および図26のディザ処理の
ためのDzラッチ2606の各リセット端子に入力され
る。
PU104内の累算波高値出力ラッチ213から出力さ
れる18ビットの累算波高値がすべて0になる状態でな
ければ、DFF3202、3203は常にクリアされ、
アンド回路3204の出力がローレベルとなる。従っ
て、DFF3206、3207も常にクリアされ、アン
ド回路3208の出力がローレベルとなる。この結果、
図27のノイズシェーピング処理のためのZ-1ラッチ2
640とZ-2ラッチ2636、および図26のディザ処
理のためのDzラッチ2606はリセットされず、前述
したノイズシェーピング処理およびディザ処理が実行さ
れる。
ッチ213から出力される18ビットの累算波高値がす
べて0になる状態が2サンプリングタイミング分続く
と、前述した図31の第2の実施例の場合と同様の動作
により、アンド回路3204の第1の入力および第2の
入力がともにハイレベルとなる。
Oラッチ2647(図26参照)の出力値がすべて0に
なると、アンド回路3204の第3の入力がハイレベル
となり、アンド回路3204の出力がハイレベルとな
る。従って、そのタイミング以後に最初に入力されるイ
ンタラプト信号INTのパルスによってDFF3206
の入力Dのハイレベル状態がDFF3207の出力Qに
現われ、つぎに入力されるインタラプト信号INTのパ
ルスによってDFF3207の出力Qがハイレベルにな
る。この結果、アンド回路3208の第1の入力および
第2の入力がともにハイレベルとなって、アンド回路3
208の出力がハイレベルとなり、Z-1ラッチ2640
とZ-2ラッチ2636、およびDzラッチ2606がリ
セットされて、ノイズの発生が抑制される。
プリングタイミング分続き、さらにOラッチ2647の
出力値もすべて0になった状態において、上記出力値が
オール0以外の値に復帰すると、ゼロ出力値判別回路3
205の出力がローレベルになり、アンド回路3204
の出力がローレベルになって、DFF3206、320
7がクリアされる。この結果、アンド回路3208の出
力がローレベルに戻り、Z-1ラッチ2640とZ-2ラッ
チ2636、およびDzラッチ2606のリセット状態
が解消され、前述したノイズシェーピング処理およびデ
ィザ処理が再開される。
ラッチ213から出力される18ビットの累算波高値が
すべて0になる状態が2サンプリングタイミング分以上
続き、その状態において、Oラッチ2647から出力さ
れる16ビットの出力値もすべて0になる状態がさらに
2サンプリングタイミング分以上続いた場合に、上記各
ラッチのリセットが行なわれることになる。
減衰しきる前にリセットが行なわれてしまうことによる
ノイズの発生を抑制することができる。ノイズシェーピング処理のリセット回路の第4の実施例 図32は、図27のノイズシェーピング処理のリセット
回路2652の第4の実施例の構成図である。
ズシェーピング処理のためのZ-1ラッチ2640とZ-2
ラッチ2636、およびディザ処理のためのDzラッチ
2606は、CPU104内の累算波高値出力ラッチ2
13(図2参照)から出力される18ビットの累算波高
値がすべて0になる状態が一定時間続いた場合にリセッ
トされるように構成された。
は、上記各ラッチは、上記累算波高値の差分値が0にな
る状態が一定時間続いた場合にリセットされる。すなわ
ち、まず、ゼロ差分値判別回路3301は、CPU10
4内の累算波高値出力ラッチ213から出力される18
ビットの累算波高値の差分値を計算し、その差分値が0
になった状態を検出する回路であり、その検出時にハイ
レベルの判別信号を出力する。
びアンド回路3304の構成は、図31の3102〜3
104の各構成部分と同じ構成である。上述した第4の
実施例の構成において、CPU104内の累算波高値出
力ラッチ213から出力される18ビットの累算波高値
の差分値が0にならなければ、DFF3302、330
3は常にクリアされ、アンド回路3304の出力がロー
レベルとなる。従って、図27のノイズシェーピング処
理のためのZ-1ラッチ2640とZ-2ラッチ2636、
および図26のディザ処理のためのDzラッチ2606
はリセットされず、前述したノイズシェーピング処理お
よびディザ処理が実行される。
ッチ213から出力される18ビットの累算波高値の差
分値が0になる状態が2サンプリングタイミング分続く
と、前述した図31の第2の実施例の場合と同様の動作
により、アンド回路3304の出力がハイレベルとな
り、Z-1ラッチ2640とZ-2ラッチ2636、および
Dzラッチ2606がリセットされて、ノイズの発生が
抑制される。
の値に復帰すると、ゼロ差分値判別回路3301の出力
がローレベルになり、DFF3302、3303がクリ
アされる。この結果、アンド回路3304の出力がロー
レベルに戻り、Z-1ラッチ2640とZ-2ラッチ263
6、およびDzラッチ2606のリセット状態が解消さ
れ、前述したノイズシェーピング処理およびディザ処理
が再開される。
外の振幅の小さな直流値に収束してしまった場合でも、
ノイズシェーピング処理およびディザ処理をリセットす
ることができる。ノイズシェーピング処理のリセット回路の他の実施例 以上説明した図27のノイズシェーピング処理のリセッ
ト回路2652の各実施例により、ノイズシェーピング
処理およびディザ処理のための各ラッチのリセットを、
以下のいずれかの状態を検出することによって行なっ
た。
波高値のエンベロープ値が0になったこと。 2)処理回路105へ入力する累算波高値が一定時間以上
0になったこと。
一定時間以上0になり、その後さらに処理回路105の
出力値が一定時間以上0になったこと。 4)処理回路105へ入力する累算波高値の差分値が一定
時間以上0になったこと。
このほかにも例えば以下のような状態を検出することに
よって、各ラッチのリセットを行なうようにしてもよ
い。 5)処理回路105へ入力する累算波高値が一定時間以上
0になり、その後さらに処理回路105の出力値のエン
ベロープ値が0になったこと 。
一定時間以上0になり、その後さらに処理回路105の
出力値の差分値が一定時間以上0になったこと。 7)処理回路105へ入力する累算波高値のエンベロープ
値が0になり、その後さらに処理回路105の出力値が
一定時間以上0になったこと。
エンベロープ値が0になり、その後さらに処理回路10
5の出力値のエンベロープ値が0になったこと。 9)処理回路105へ入力する累算波高値のエンベロープ
値が0になり、その後さらに処理回路105の出力値の
差分値が一定時間以上0になったこと。
の差分値が一定時間以上0になり、その後さらに処理回
路105の出力値が一定時間以上0になったこと。 11)処理回路105へ入力する累算波高値の差分値が一
定時間以上0になり、その後さらに処理回路105の出
力値のエンベロープ値が0になったこと。
の差分値が一定時間以上0になり、その後さらに処理回
路105の出力値の差分値が一定時間以上0になったこ
と。
一定時間以上0であることを検出する必要はなく、差分
値が1回でも0になったことを検出するものであっても
よい。他の実施例の説明 以上説明した実施例において、図1の処理回路105
は、オーバーサンプリング処理として、図26、図27
の構成で示される図23の演算回路2305により、図
19の原理に基づく図29の処理4および処理10など
の直線補間処理として実現した。これに対し、より精度
の高いオーバーサンプリング処理を行うには、図17、
図18などの説明において前述したように、元の音響信
号の周波数帯域以上の帯域に存在する高調波成分をカッ
トする例えば図34のような機能構成を有するディジタ
ルローパスフィルタリング処理を、DSPなどによるデ
ィジタル信号処理として直接実行してもよい。
路105は、オーバーサンプリング処理、ノイズシェー
ピング処理、およびディザ処理を実行する回路として説
明されたが、本発明はこれらに限られることなく、例え
ばリバーブやトレモロなどの効果付加処理を実行する回
路であってもよい。
U104は楽音信号をモノラルで生成し、処理回路10
5はそのモノラルの楽音信号を処理してD/A変換器1
06に出力している。これに対して、CPU104、処
理回路105およびD/A変換器106などが、楽音信
号の生成、制御および出力をステレオで実行するように
構成されてもよい。この場合、例えば、演算回路230
5(図23)内の入力ラッチ2601(図26参照)
は、CPU104からのステレオの楽音サンプルデータ
に対応して2個設けられ、演算回路2305の構成は、
これらの入力ラッチの各楽音サンプルデータに対して、
時分割処理によってオーバーサンプリング処理などを実
行するハードウエア構成とすればよい。
信号が消音状態に収束したことを判別してから楽音信号
に対して行う遅延処理にて遅延される時間が経過した
後、遅延処理を行う遅延部の内容が強制的にリセットさ
れるため、遅延部に残存している過去のサンプルデータ
に基づいて不要な雑音成分が出力されてしまうことを抑
制することが可能となる。
号が消音状態に収束したことを判別してから楽音信号に
対して行う遅延処理にて遅延される時間が経過した後、
さらに出力楽音信号が消音状態に収束した場合に、遅延
部の内容が強制的にリセットされるため、出力楽音信号
が減衰しきる前に遅延部の内容がリセットされてしまう
ことによるノイズの発生を抑制することが可能となる。
おいて、入力側消音状態判別手段または出力側消音状態
判別手段は、入力、出力楽音信号の振幅エンベロープ値
が0になることを判別することにより、または、入力、
出力楽音信号の振幅値が一定時間以上0になることを判
別することにより、入力、出力楽音信号が消音状態に収
束したことを判別することが可能となる。
側消音状態判別手段は、入力、出力楽音信号の振幅値の
差分値が0になることを判別することにより、入力、出
力楽音信号が消音状態に収束したことを判別することが
可能となる。この場合には、入力、出力楽音信号の振幅
値が0以外の振幅の小さな直流値に収束してしまった場
合でも、遅延部の内容をリセットすることが可能とな
る。
る。
との関係を示す概念図である。
である。
データフォーマットを示す図である。
レスAF を用いて補間値XQ を求める場合の原理説明図
である。
チャート(その1)である。
チャート(その2)である。
チャート(その3)である。
チャート(その4)である。
ペクトル図(その1)である。
ペクトル図(その2)である。
1)である。
2)である。
1)である。
2)である。
る。
ロックを示す図である。
トである。
2の実施例の構成図である。
3の実施例の構成図である。
4の実施例の構成図である。
ルタリング処理の機能構成図である。
3303 D−フリップフロップ(DFF)、 3104、3204、3208、3304 アンド
回路 3205 ゼロ出力値判別回路 3301 ゼロ差分値判別回路
Claims (15)
- 【請求項1】 楽音信号の遅延処理を含む楽音制御処理
を実行する楽音制御装置において、 前記楽音制御処理への入力楽音信号が消音状態に収束し
たことを判別する入力側消音状態判別手段と、 該入力側消音状態判別手段が前記入力楽音信号の消音状
態を判別してから前記遅延処理にて遅延される時間が経
過した後に、前記楽音信号の遅延処理を行う遅延部の内
容を強制的にリセットするリセット手段を有する、 ことを特徴とする楽音制御装置。 - 【請求項2】 前記入力側消音状態判別手段は、前記入
力楽音信号の振幅エンベロープ値が0になったことを判
別することにより、前記入力楽音信号が消音状態に収束
したことを判別する、 ことを特徴とする請求項1に記載の楽音制御装置。 - 【請求項3】 楽音信号の遅延処理を含む楽音制御処理
を実行する楽音制御装置において、 前記楽音制御処理への入力楽音信号が消音状態に収束し
たことを判別する入力側消音状態判別手段と、 該入力側消音状態判別手段が前記入力楽音信号の消音状
態を、前記遅延処理にて遅延される時間が経過するまで
連続して判別した場合に、前記楽音信号の遅延処理を行
う遅延部の内容を強制的にリセットするリセット手段を
有する、 ことを特徴とする楽音制御装置。 - 【請求項4】 前記入力側消音状態判別手段は、前記入
力楽音信号の振幅値が0になったことを判別することに
より、前記入力楽音信号が消音状態に収束したことを判
別する請求項3に記載の楽音制御装置。 - 【請求項5】 前記入力側消音状態判別手段は、前記入
力楽音信号の振幅値の差分値が0になったことを判別す
ることにより、前記入力楽音信号が消音状態に収束した
ことを判別する請求項3に記載の楽音制御装置。 - 【請求項6】 楽音信号の遅延処理を含む楽音制御処理
を実行する楽音制御装置において、 前記楽音制御処理への入力楽音信号が消音状態に収束し
たことを判別する入力側消音状態判別手段と、 前記楽音制御処理からの出力楽音信号が消音状態に収束
したことを判別する出力側消音状態判別手段と、 該入力側消音状態判別手段が前記入力楽音信号の消音状
態を判別してから前記遅延処理にて遅延される時間が経
過した後、前記出力側消音状態判別手段が前記出力楽音
信号の消音状態を判別した場合、前記楽音信号の遅延処
理を行う遅延部の内容を強制的にリセットするリセット
手段を有する、 ことを特徴とする楽音制御装置。 - 【請求項7】 前記入力側消音状態判別手段は、前記入
力楽音信号の振幅値が所定時間以上0になったことを判
別することにより、前記入力楽音信号が消音状態に収束
したことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅値が所定時間以上0になったことを判別することによ
り、前記出力楽音信号が消音状態に収束したことを判別
する、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項8】 前記入力側消音状態判別手段は、前記入
力楽音信号の振幅値が所定時間以上0になったことを判
別することにより、前記入力楽音信号が消音状態に収束
したことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅エンベロープ値が0になったことを判別することによ
り、前記出力楽音信号が消音状態に収束したことを判別
する、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項9】 前記入力側消音状態判別手段は、前記入
力楽音信号の振幅値が所定時間以上0になったことを判
別することにより、前記入力楽音信号が消音状態に収束
したことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅値の差分値が0になったことを判別することにより、
前記出力楽音信号が消音状態に収束したことを判別す
る、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項10】 前記入力側消音状態判別手段は、前記
入力楽音信号の振幅エンベロープ値が0になったことを
判別することにより、前記入力楽音信号が消音状態に収
束したことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅値が所定時間以上0になったことを判別することによ
り、前記出力楽音信号が消音状態に収束したことを判別
する、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項11】 前記入力側消音状態判別手段は、前記
入力楽音信号の振幅エンベロープ値が0になったことを
判別することにより、前記入力楽音信号が消音状態に収
束したことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅エンベロープ値が0になったことを判別することによ
り、前記出力楽音信号が消音状態に収束したことを判別
する、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項12】 前記入力側消音状態判別手段は、前記
入力楽音信号の振幅エンベロープ値が0になったことを
判別することにより、前記入力楽音信号が消音状態に収
束したことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅値の差分値が0になったことを判別することにより、
前記出力楽音信号が消音状態に収束したことを判別す
る、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項13】 前記入力側消音状態判別手段は、前記
入力楽音信号の振幅値の差分値が0になったことを判別
することにより、前記入力楽音信号が消音状態に収束し
たことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅値が所定時間以上0になったことを判別することによ
り、前記出力楽音信号が消音状態に収束したことを判別
する、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項14】 前記入力側消音状態判別手段は、前記
入力楽音信号の振幅値の差分値が0になったことを判別
することにより、前記入力楽音信号が消音状態に収束し
たことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅エンベロープ値が0になったことを判別することによ
り、前記出力楽音信号が消音状態に収束したことを判別
する、 ことを特徴とする請求項6に記載の楽音制御装置。 - 【請求項15】 前記入力側消音状態判別手段は、前記
入力楽音信号の振幅値の差分値が0になったことを判別
することにより、前記入力楽音信号が消音状態に収束し
たことを判別し、 前記出力側消音状態判別手段は、前記出力楽音信号の振
幅値の差分値が0になったことを判別することにより、
前記出力楽音信号が消音状態に収束したことを判別す
る、 ことを特徴とする請求項6に記載の楽音制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08728292A JP3200940B2 (ja) | 1991-08-30 | 1992-04-08 | 楽音制御装置 |
US07/934,101 US5283386A (en) | 1991-08-30 | 1992-08-21 | Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3-220706 | 1991-08-30 | ||
JP22070691 | 1991-08-30 | ||
JP08728292A JP3200940B2 (ja) | 1991-08-30 | 1992-04-08 | 楽音制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143066A JPH05143066A (ja) | 1993-06-11 |
JP3200940B2 true JP3200940B2 (ja) | 2001-08-20 |
Family
ID=26428568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08728292A Expired - Lifetime JP3200940B2 (ja) | 1991-08-30 | 1992-04-08 | 楽音制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3200940B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5937548B2 (ja) * | 2013-06-26 | 2016-06-22 | 古野電気株式会社 | ディジタルフィルタおよび信号処理装置 |
-
1992
- 1992-04-08 JP JP08728292A patent/JP3200940B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05143066A (ja) | 1993-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7612281B2 (en) | Reverberation effect adding device | |
US5369710A (en) | Sound field correcting apparatus and method | |
US7159002B2 (en) | Biquad digital filter operating at maximum efficiency | |
KR20060004695A (ko) | 오디오 신호의 대역을 확장하기 위한 방법 및 장치 | |
JPH04181996A (ja) | 音源装置 | |
US20060177074A1 (en) | Early reflection reproduction apparatus and method of sound field effect reproduction | |
JPH0562495A (ja) | サンプリング周波数変換器 | |
JP3324672B2 (ja) | リアルタイム・ディジタル音声残響システム | |
US7358884B1 (en) | Methods and systems for implementing a Digital-to-Analog Converter | |
US5283386A (en) | Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means | |
JP4070835B2 (ja) | オーディオ信号のフィルタリングのための方法及び装置 | |
JP3200940B2 (ja) | 楽音制御装置 | |
US5903480A (en) | Division-free phase-shift for digital-audio special effects | |
JP3109389B2 (ja) | 適応フィルタシステム | |
JP3147562B2 (ja) | 音声速度変換方法 | |
JP3006095B2 (ja) | 楽音波形発生装置 | |
JPH0561461A (ja) | 楽音信号発生装置 | |
JPH0561460A (ja) | 楽音信号発生装置 | |
JP3149459B2 (ja) | ディストーション回路 | |
JP3097324B2 (ja) | デジタル音響データ出力装置 | |
JPH0535296A (ja) | ピツチ抽出装置及びそれを用いた電子楽器 | |
JPH0761190B2 (ja) | ハウリング防止機能を備えた音響装置 | |
JP3230270B2 (ja) | 信号処理装置 | |
JP2817367B2 (ja) | リニア/フロート変換器および該変換器を用いた楽音合成装置 | |
JPH039478B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010522 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080622 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090622 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090622 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100622 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110622 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110622 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120622 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |