JP2576616B2 - 処理装置 - Google Patents
処理装置Info
- Publication number
- JP2576616B2 JP2576616B2 JP63334162A JP33416288A JP2576616B2 JP 2576616 B2 JP2576616 B2 JP 2576616B2 JP 63334162 A JP63334162 A JP 63334162A JP 33416288 A JP33416288 A JP 33416288A JP 2576616 B2 JP2576616 B2 JP 2576616B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- processing
- tone
- digital
- interrupt
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 [発明の技術分野] この発明は処理装置に関し、特にマイクロコンピュー
タのプログラム制御により生成されるデジタル楽音信号
をアナログに変換する技術に関する。
タのプログラム制御により生成されるデジタル楽音信号
をアナログに変換する技術に関する。
[発明の背景] 近年、電子楽器はコンピュータ化されている。しか
し、大量で高速のデータ演算が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータは楽器への制御入力
(鍵盤やコンソールパネルからの入力、MIDIその他の外
部制御入力、内部または外部の演奏メモリからの入力
等)を処理し、音源回路に適したコマンドを音源回路に
転送するに溜まっている。
し、大量で高速のデータ演算が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータは楽器への制御入力
(鍵盤やコンソールパネルからの入力、MIDIその他の外
部制御入力、内部または外部の演奏メモリからの入力
等)を処理し、音源回路に適したコマンドを音源回路に
転送するに溜まっている。
楽音生成処理は音源回路ハードウェアで行い、楽器の
制御入力の処理をマイクロコンピュータで行うという電
子楽器のシステムアーキテクチャーにはいくつかの問題
がある。第1に音源回路ハードウェアは楽音パラメータ
を処理する種々の処理段階の随所にデータを一時的に保
持する記憶装置、演算を行う演算回路から構成されるの
で、必然的に回路規模が大きくなる。代表的にはマイク
ロコンピュータの2倍程度の規模となる。第2に音源回
路ハードウェアで行う楽音合成の仕方をマイクロコンピ
ュータで可変に制御するには限界がある。例えば、同時
発音数(ポリフォニック数)はハード的に固定されてい
るのでマイクロコンピュータからのコマンドで変えるこ
とはできない。この制御の限界は新しい音源回路ハード
ウェアを設計する場合の障壁になる。すなわち、しばし
ば大規模な回路変更が余儀なくなり、多大の開発時間、
労力を要する。更に、マイクロコンピュータと音源回路
ハードウェアとの通信プロトコルあるいはインタフェー
ス(転送方式、コマンドのセット等)についても、音源
回路ハードウェアごとに検討し直し、開発し直す必要が
ある。
制御入力の処理をマイクロコンピュータで行うという電
子楽器のシステムアーキテクチャーにはいくつかの問題
がある。第1に音源回路ハードウェアは楽音パラメータ
を処理する種々の処理段階の随所にデータを一時的に保
持する記憶装置、演算を行う演算回路から構成されるの
で、必然的に回路規模が大きくなる。代表的にはマイク
ロコンピュータの2倍程度の規模となる。第2に音源回
路ハードウェアで行う楽音合成の仕方をマイクロコンピ
ュータで可変に制御するには限界がある。例えば、同時
発音数(ポリフォニック数)はハード的に固定されてい
るのでマイクロコンピュータからのコマンドで変えるこ
とはできない。この制御の限界は新しい音源回路ハード
ウェアを設計する場合の障壁になる。すなわち、しばし
ば大規模な回路変更が余儀なくなり、多大の開発時間、
労力を要する。更に、マイクロコンピュータと音源回路
ハードウェアとの通信プロトコルあるいはインタフェー
ス(転送方式、コマンドのセット等)についても、音源
回路ハードウェアごとに検討し直し、開発し直す必要が
ある。
以上の理由から、本件出願人は音源回路ハードウェア
を使用することなく、マイクロコンピュータのプログラ
ム制御だけで楽音を生成することのできる新しい処理装
置のシステムアーキテクチャーを研究しており、その結
果、その実現を見た。
を使用することなく、マイクロコンピュータのプログラ
ム制御だけで楽音を生成することのできる新しい処理装
置のシステムアーキテクチャーを研究しており、その結
果、その実現を見た。
しかし、マイクロコンピュータ自身で楽音を生成する
構造では、プログラム制御の性質上、マイクロコンピュ
ータからデジタル・アナログ(D/A)変換器に送出する
デジタル楽音のサンプル列の周期を完全に一定に保つこ
とは不可能あるいは非常に困難である。すなわち、マイ
クロコンピュータの処理すべき仕事量(処理量)は、マ
イクロコンピュータへの入力等により時々刻々変化する
ため、処理対象に含まれる楽音生成のための処理量も変
化する。これは、とりもなおさずデジタル楽音の生成周
期の変動を意味する。そして不安定な周期で変化するデ
ジタル楽音をアナログ信号に変換した場合には、楽音に
歪みが生じ、電子楽器にとって大きな問題となる。
構造では、プログラム制御の性質上、マイクロコンピュ
ータからデジタル・アナログ(D/A)変換器に送出する
デジタル楽音のサンプル列の周期を完全に一定に保つこ
とは不可能あるいは非常に困難である。すなわち、マイ
クロコンピュータの処理すべき仕事量(処理量)は、マ
イクロコンピュータへの入力等により時々刻々変化する
ため、処理対象に含まれる楽音生成のための処理量も変
化する。これは、とりもなおさずデジタル楽音の生成周
期の変動を意味する。そして不安定な周期で変化するデ
ジタル楽音をアナログ信号に変換した場合には、楽音に
歪みが生じ、電子楽器にとって大きな問題となる。
[発明の目的] したっがって、この発明の目的はマイクロコンピュー
タ自身が生成したデジタル楽音を正確なサンプリング周
期で抽出して歪みの少ないアナログ信号として出力する
ことのできる処理装置を提供することである。
タ自身が生成したデジタル楽音を正確なサンプリング周
期で抽出して歪みの少ないアナログ信号として出力する
ことのできる処理装置を提供することである。
[発明の構成、作用] この発明によれば、音高に依存しない所定のサンプリ
ング周期を持ったサンプリング周期信号を発生するサン
プリング周期信号発生手段と、プログラムの実行時間が
変動する動作環境の下で、上記サンプリング周期ごとに
起動されるプログラム制御によって演算処理を実行し、
その結果として前記サンプリング周期信号とは非同期の
一定ではない間隔でポリフォニックのデジタル音信号を
発生する演算処理手段と、入力信号として、前記演算処
理手段からの、前記サンプリング周期信号とは非同期の
デジタル音信号を受け、出力信号として、前記サンプリ
ング周期信号に同期したポリフォニックのデジタル音信
号を出力する音サンプリング周期同期化手段と、を有す
ることを特徴とする処理装置が提供される。
ング周期を持ったサンプリング周期信号を発生するサン
プリング周期信号発生手段と、プログラムの実行時間が
変動する動作環境の下で、上記サンプリング周期ごとに
起動されるプログラム制御によって演算処理を実行し、
その結果として前記サンプリング周期信号とは非同期の
一定ではない間隔でポリフォニックのデジタル音信号を
発生する演算処理手段と、入力信号として、前記演算処
理手段からの、前記サンプリング周期信号とは非同期の
デジタル音信号を受け、出力信号として、前記サンプリ
ング周期信号に同期したポリフォニックのデジタル音信
号を出力する音サンプリング周期同期化手段と、を有す
ることを特徴とする処理装置が提供される。
この構成によれば、ポリフォニックの楽音生成プログ
ラムを周期的に(サンプリング周期ごと)起動させる周
期起動方式とし、かつ楽音生成プログラムの起動の周期
を音高とは独立の所定のサンプリング周期としているの
で、この音高独立周期起動方式で演算処理手段をプログ
ラム制御することで、演算処理手段からポリフォニック
のデジタル音信号をほぼサンプリング周期で出力させる
ことができる。特に、楽音生成プログラムの起動後の最
初のステップ(第3B図のステップB1参照)で演算処理手
段内の一時記憶部に一時記憶させていたポリフォニック
のデジタル音信号を、同期化手段に供給させるようにす
れば、演算処理手段が出力するポリフォニックのデジタ
ル音信号の、サンプリング周期信号のタイミングからの
ずれを最小に抑えられる。結果として、同期化手段をき
わめて簡単な構成で実現できる。
ラムを周期的に(サンプリング周期ごと)起動させる周
期起動方式とし、かつ楽音生成プログラムの起動の周期
を音高とは独立の所定のサンプリング周期としているの
で、この音高独立周期起動方式で演算処理手段をプログ
ラム制御することで、演算処理手段からポリフォニック
のデジタル音信号をほぼサンプリング周期で出力させる
ことができる。特に、楽音生成プログラムの起動後の最
初のステップ(第3B図のステップB1参照)で演算処理手
段内の一時記憶部に一時記憶させていたポリフォニック
のデジタル音信号を、同期化手段に供給させるようにす
れば、演算処理手段が出力するポリフォニックのデジタ
ル音信号の、サンプリング周期信号のタイミングからの
ずれを最小に抑えられる。結果として、同期化手段をき
わめて簡単な構成で実現できる。
一構成例において、前記同期化手段は、前記演算処理
手段の生成したデジタル音信号をサンプリング周期と非
同期な前記演算処理手段のプログラム制御信号に従って
ラッチする第1ラッチ手段と、前記第1ラッチ手段の出
力を、サンプリング周期信号のタイミングでラッチする
第2ラッチ手段と、を有する。また、前記第2ラッチ手
段からの出力は、デジタル音信号をアナログ音信号に変
換するデジタル・アナログ変換器に供給される。
手段の生成したデジタル音信号をサンプリング周期と非
同期な前記演算処理手段のプログラム制御信号に従って
ラッチする第1ラッチ手段と、前記第1ラッチ手段の出
力を、サンプリング周期信号のタイミングでラッチする
第2ラッチ手段と、を有する。また、前記第2ラッチ手
段からの出力は、デジタル音信号をアナログ音信号に変
換するデジタル・アナログ変換器に供給される。
この構成の場合、デジタル・アナログ(D/A)変換器
手段の入力に供給されるデジタル楽信号は、第2ラッチ
手段の作用により、正確なサンプリング周期信号のタイ
ミングで切り換わることになる。このことは、デジタル
・アナログ変換器手段におけるデジタルからのアナログ
への変換周期がサンプリング周期信号の正確性をもって
維持されることを意味する。したがって、デジタル楽音
信号からアナログ楽音信号へと変換の過程で生じる歪み
は可及的に小さくなり、良質の音響信号を外部に出力で
きる。
手段の入力に供給されるデジタル楽信号は、第2ラッチ
手段の作用により、正確なサンプリング周期信号のタイ
ミングで切り換わることになる。このことは、デジタル
・アナログ変換器手段におけるデジタルからのアナログ
への変換周期がサンプリング周期信号の正確性をもって
維持されることを意味する。したがって、デジタル楽音
信号からアナログ楽音信号へと変換の過程で生じる歪み
は可及的に小さくなり、良質の音響信号を外部に出力で
きる。
一構成例において、上記マイクロコンピュータは集積
回路チップで実現され、このチップ上に上記手段に加
え、生成したデジタル楽音信号をアナログ信号に変換す
るデジタル・アナログ(D/A)変換器と楽器を制御する
入力を受けるポートも実装される。
回路チップで実現され、このチップ上に上記手段に加
え、生成したデジタル楽音信号をアナログ信号に変換す
るデジタル・アナログ(D/A)変換器と楽器を制御する
入力を受けるポートも実装される。
[実施例] 以下、図面を参照してこの発明の実施例を説明する。
本実施例に係る電子楽器の全体構成を第1図に示す。
装置全体の制御はマイクロコンピュータ1により行われ
る。すなわち、プログラム制御により楽器の制御入力の
処理のみならず、楽音を生成する処理もマイクロコンピ
ュータ1で実行され、楽音生成用の音源回路ハードウェ
アは必要としない。鍵盤2と機能キー3とから成るスイ
ッチ部4は楽器の制御入力源であり、スイッチ部4から
入力された情報はマイクロコンピュータ1で処理され
る。マイクロコンピュータ1の生成したデジタル楽音信
号はデジタル・アナログ変換器(第1図ではブロック1
内にある)でアナログ信号に変換され、その後、ローパ
スフィルタ5でフィルタリングされ、アンプ6で増幅さ
れ、スピーカ7を介して放音される。電源回路8はマイ
クロコンピュータ1、ローパスフィルタ5、アンプ6に
必要な電源を供給する。
装置全体の制御はマイクロコンピュータ1により行われ
る。すなわち、プログラム制御により楽器の制御入力の
処理のみならず、楽音を生成する処理もマイクロコンピ
ュータ1で実行され、楽音生成用の音源回路ハードウェ
アは必要としない。鍵盤2と機能キー3とから成るスイ
ッチ部4は楽器の制御入力源であり、スイッチ部4から
入力された情報はマイクロコンピュータ1で処理され
る。マイクロコンピュータ1の生成したデジタル楽音信
号はデジタル・アナログ変換器(第1図ではブロック1
内にある)でアナログ信号に変換され、その後、ローパ
スフィルタ5でフィルタリングされ、アンプ6で増幅さ
れ、スピーカ7を介して放音される。電源回路8はマイ
クロコンピュータ1、ローパスフィルタ5、アンプ6に
必要な電源を供給する。
上記マイクロコンピュータ1の内部構造を第2図にブ
ロック図で示す。図示の各要素はワンチップ上に実装さ
れている。実際に製作したものは5×5mmのチップサイ
ズで、8音ポリフォニックの同時発音数をもち、楽音合
成方式はPCM(波形読み出し方式)であるが、本発明は
他のポリフォニック数、他の楽音合成方式にも適用でき
る。
ロック図で示す。図示の各要素はワンチップ上に実装さ
れている。実際に製作したものは5×5mmのチップサイ
ズで、8音ポリフォニックの同時発音数をもち、楽音合
成方式はPCM(波形読み出し方式)であるが、本発明は
他のポリフォニック数、他の楽音合成方式にも適用でき
る。
制御用ROM31には楽器の各種制御入力を処理するプロ
グラムと楽音を生成するプログラムが記憶されており、
ROMアドレス制御部39からROMアドレスデコーダ32を介し
て指定されたアドレスのプログラム語(命令)を順次出
力していく。なお、具体的実施例では、プログラム語長
は28ビットであり、プログラム語の一部が次に読み出さ
れるべきアドレスの下位部(ページ内アドレス)として
ROMアドレス制御部39に入力されるネクストアドレス方
式となっているが、代りにプログラムカウンタ方式を使
用してもよい。RAMアドレス制御部33は制御用ROM31から
の命令のオペランドがレジスタを指定している場合に、
RAM34内の対応するレジスタのアドレスを指定する。RAM
34はレジスタ群であり、汎用演算、フラグ演算、楽音の
演算等に使用される。加減算器及び論理演算部35と乗算
器36は制御用ROM32からの命令が演算命令のときに用い
られる。特に乗算器36は楽音波形の演算に使用してお
り、そのための最適化として第1と第2のデータ入力
(例えば16ビットデータ)を乗算して入力と同じ長さ
(16ビット)のデータを出力するようになっている。上
記RAM34、加減算器35、乗算器36により、演算回路(A
U)が構成される。制御データ兼波形用ROM37にはピッチ
データ、エンベロープデータ(レート、レベル)などの
各種楽音制御パラメータと、PCM(パルス符号変調)の
楽音波形データが記憶されている。エンベロープデータ
と楽音波形データは楽音の音色ごとに用意される。オペ
レーション解析部(オペレーション制御回路)38は制御
用ROM31からの命令のオペコードを解読し、指示される
オペレーションを実行するために、回路の各部に制御信
号を送る。
グラムと楽音を生成するプログラムが記憶されており、
ROMアドレス制御部39からROMアドレスデコーダ32を介し
て指定されたアドレスのプログラム語(命令)を順次出
力していく。なお、具体的実施例では、プログラム語長
は28ビットであり、プログラム語の一部が次に読み出さ
れるべきアドレスの下位部(ページ内アドレス)として
ROMアドレス制御部39に入力されるネクストアドレス方
式となっているが、代りにプログラムカウンタ方式を使
用してもよい。RAMアドレス制御部33は制御用ROM31から
の命令のオペランドがレジスタを指定している場合に、
RAM34内の対応するレジスタのアドレスを指定する。RAM
34はレジスタ群であり、汎用演算、フラグ演算、楽音の
演算等に使用される。加減算器及び論理演算部35と乗算
器36は制御用ROM32からの命令が演算命令のときに用い
られる。特に乗算器36は楽音波形の演算に使用してお
り、そのための最適化として第1と第2のデータ入力
(例えば16ビットデータ)を乗算して入力と同じ長さ
(16ビット)のデータを出力するようになっている。上
記RAM34、加減算器35、乗算器36により、演算回路(A
U)が構成される。制御データ兼波形用ROM37にはピッチ
データ、エンベロープデータ(レート、レベル)などの
各種楽音制御パラメータと、PCM(パルス符号変調)の
楽音波形データが記憶されている。エンベロープデータ
と楽音波形データは楽音の音色ごとに用意される。オペ
レーション解析部(オペレーション制御回路)38は制御
用ROM31からの命令のオペコードを解読し、指示される
オペレーションを実行するために、回路の各部に制御信
号を送る。
所定時間ごとに制御用ROM31の楽音生成プログラムを
実行するため、この実施例ではタイマーインタラプトを
採用している。すなわち、タイマー(ハードウェアカウ
ンタ)を有するインタラプト制御部40により、一定時間
ごとにROMアドレス制御部39に制御信号(割込要求信
号)を送り、この信号により、ROMアドレス制御部39は
次に行うメインプログラムの命令のアドレスを退避(保
持)し、楽音の生成が行われるインタラプト処理プログ
ラム(サブルーチン)の先頭アドレスを代りにセットす
る。これにより、インタラプト処理プログラムが開始さ
れる。インタラプト処理プログラムの最後にはリターン
命令があるので、このリターン命令がオペレーション解
析部38で解読された時点で、ROMアドレス制御部39は退
避してあったアドレスを再度セットし、メインプログラ
ムに復帰する。なお、インタラプト制御部40は図の上で
はマイクロコンピュータ1(CPU)の内部要素として描
いてあるが、マイクロコンピュータ1に対して現在行っ
ている仕事を停止させ特別の処理を要求するものであ
り、論理的にはマイクロコンピュータ1の外部要素(周
辺装置)である。
実行するため、この実施例ではタイマーインタラプトを
採用している。すなわち、タイマー(ハードウェアカウ
ンタ)を有するインタラプト制御部40により、一定時間
ごとにROMアドレス制御部39に制御信号(割込要求信
号)を送り、この信号により、ROMアドレス制御部39は
次に行うメインプログラムの命令のアドレスを退避(保
持)し、楽音の生成が行われるインタラプト処理プログ
ラム(サブルーチン)の先頭アドレスを代りにセットす
る。これにより、インタラプト処理プログラムが開始さ
れる。インタラプト処理プログラムの最後にはリターン
命令があるので、このリターン命令がオペレーション解
析部38で解読された時点で、ROMアドレス制御部39は退
避してあったアドレスを再度セットし、メインプログラ
ムに復帰する。なお、インタラプト制御部40は図の上で
はマイクロコンピュータ1(CPU)の内部要素として描
いてあるが、マイクロコンピュータ1に対して現在行っ
ている仕事を停止させ特別の処理を要求するものであ
り、論理的にはマイクロコンピュータ1の外部要素(周
辺装置)である。
入力ポート41と出力ポート42は鍵盤2、機能キー3の
キースキャンのために使用される。インタラプト処理プ
ログラムにおいて生成された楽音はデジタル/アナログ
変換器43でアナログ信号に変換され、外部に出力され
る。
キースキャンのために使用される。インタラプト処理プ
ログラムにおいて生成された楽音はデジタル/アナログ
変換器43でアナログ信号に変換され、外部に出力され
る。
第3図(A)に本実施例のマイクロコンピュータ1の
メインプログラムのフローを示す。A1は電源投入時のイ
ニシャル処理であり、マイクロコンピュータ1のRAM
(レジスタ群)34のクリアや、リズムテンポ等の初期値
の設定等を行う。A2でマイクロコンピュータ1は出力ポ
ート42からキー走査のための信号を出力し、スイッチ部
4の状態を入力ポート41から取り込むことにより、機能
キー、鍵盤キーの状態をRAM34のキーバッファエリアに
記憶する。A3ではA2で得た機能キー3の新しい状態と前
回の状態とから、状態の変化した機能キーを識別し、指
示される機能の実行を行う(例えば、楽音番号のセッ
ト、エンベロープ番号のセット、リズム番号のセット
等)。A4ではA2で得た鍵盤2の最新の状態と前回の状態
とから、変化した鍵(押鍵、離鍵)を識別する。次のA5
でA4の処理結果から、発音処理A9のためのキーアサイン
処理を行う。A6では機能キー3でデモ演奏キーが押鍵さ
れたとき制御データ兼波形用ROM37から、デモ演奏デー
タ(シーケンサデータ)を順次読み出し、処理すること
により、発音処理A9のためのキーアサイン処理等を行
う。A7ではリズムスタートキーが押鍵されたとき制御デ
ータ兼波形用ROM37からリズムデータを順次読み出し、
発音処理A9のためのキーアサイン処理を行う。フロー一
周タイマー処理A8では、メインフローで必要なイベント
のタイミングを知るために、フロー一周時間(これは、
フローを一周する間に実行されたタイマーインタラプト
の回数を計数することで得られる。この計数処理は後述
のインタラプトタイマー処理B3で行われる。)を基に演
算を行い、エンベロープ用タイマー(エンベロープの演
算周期)やリズム用の基準値を得る。発音処理A9ではA
5、A6、A7でセットされたデータから、実際に楽音を発
音させるための各種演算を行い、結果をRAM34内の音源
処理レジスタ(第6図)にセットする。A10は次のメイ
ンフローのパスのための準備処理であり、今回のパスで
得た押鍵状態への変化を示すNEW ON状態をON中にした
り、離鍵状態への変化を示すNEW OFF状態をOFF中に変え
る等の処理を行う。
メインプログラムのフローを示す。A1は電源投入時のイ
ニシャル処理であり、マイクロコンピュータ1のRAM
(レジスタ群)34のクリアや、リズムテンポ等の初期値
の設定等を行う。A2でマイクロコンピュータ1は出力ポ
ート42からキー走査のための信号を出力し、スイッチ部
4の状態を入力ポート41から取り込むことにより、機能
キー、鍵盤キーの状態をRAM34のキーバッファエリアに
記憶する。A3ではA2で得た機能キー3の新しい状態と前
回の状態とから、状態の変化した機能キーを識別し、指
示される機能の実行を行う(例えば、楽音番号のセッ
ト、エンベロープ番号のセット、リズム番号のセット
等)。A4ではA2で得た鍵盤2の最新の状態と前回の状態
とから、変化した鍵(押鍵、離鍵)を識別する。次のA5
でA4の処理結果から、発音処理A9のためのキーアサイン
処理を行う。A6では機能キー3でデモ演奏キーが押鍵さ
れたとき制御データ兼波形用ROM37から、デモ演奏デー
タ(シーケンサデータ)を順次読み出し、処理すること
により、発音処理A9のためのキーアサイン処理等を行
う。A7ではリズムスタートキーが押鍵されたとき制御デ
ータ兼波形用ROM37からリズムデータを順次読み出し、
発音処理A9のためのキーアサイン処理を行う。フロー一
周タイマー処理A8では、メインフローで必要なイベント
のタイミングを知るために、フロー一周時間(これは、
フローを一周する間に実行されたタイマーインタラプト
の回数を計数することで得られる。この計数処理は後述
のインタラプトタイマー処理B3で行われる。)を基に演
算を行い、エンベロープ用タイマー(エンベロープの演
算周期)やリズム用の基準値を得る。発音処理A9ではA
5、A6、A7でセットされたデータから、実際に楽音を発
音させるための各種演算を行い、結果をRAM34内の音源
処理レジスタ(第6図)にセットする。A10は次のメイ
ンフローのパスのための準備処理であり、今回のパスで
得た押鍵状態への変化を示すNEW ON状態をON中にした
り、離鍵状態への変化を示すNEW OFF状態をOFF中に変え
る等の処理を行う。
楽音の生成が行われるインタラプト処理プログラムの
フローを第3B図に示す。B1で前回のインタラプトの音源
処理B2で生成してある楽音波形データ(8音分の累算波
形値)をD/A変換器43に送出する。次の音源処理B2では
各々のチャンネルに対する楽音波形データを生成し、累
算し、記憶する。従来はこの処理を音源回路ハードウェ
アで行っていた。次のインタラプトタイマー処理B3では
インタラプトが一定時間ごとにかかることを利用して、
フロー一周計時用のタイマーレジスタ(RAM34内)を通
過の都度、プラス1する。
フローを第3B図に示す。B1で前回のインタラプトの音源
処理B2で生成してある楽音波形データ(8音分の累算波
形値)をD/A変換器43に送出する。次の音源処理B2では
各々のチャンネルに対する楽音波形データを生成し、累
算し、記憶する。従来はこの処理を音源回路ハードウェ
アで行っていた。次のインタラプトタイマー処理B3では
インタラプトが一定時間ごとにかかることを利用して、
フロー一周計時用のタイマーレジスタ(RAM34内)を通
過の都度、プラス1する。
なお、この実施例ではインタラプト処理プログラム内
ではメインプログラムで書込を行うレジスタについて
は、内容の書替を行わないようにしているので、通常の
インタラプト処理の開始時と終了時に行われるレジスタ
の退避と回復の処理は不要である。
ではメインプログラムで書込を行うレジスタについて
は、内容の書替を行わないようにしているので、通常の
インタラプト処理の開始時と終了時に行われるレジスタ
の退避と回復の処理は不要である。
音源処理B2の詳細を第3C図に示す。C1で累算波形値が
記憶される波形加算用RAM領域(第6図参照)をクリア
した後、8チャンネル分の処理C2〜C9を順番に行ってい
る。各チャンネル処理の最後で、チャンネルの楽音波形
値が波形加算用RAM領域のデータに加算される。
記憶される波形加算用RAM領域(第6図参照)をクリア
した後、8チャンネル分の処理C2〜C9を順番に行ってい
る。各チャンネル処理の最後で、チャンネルの楽音波形
値が波形加算用RAM領域のデータに加算される。
第4図は、実施例のプログラム制御動作の流れを描い
たものである。A、B、C、D、E、Fはメインプログ
ラム(第3A図)の断片であり、インタラプト制御部40か
ら割込の要求がある都度インタラプト処理(第3B図)が
実行される。この動作の流れをタイムチャートで示すと
第5図のようになる。第5図において、インタラプト信
号の発生間隔Tは非常に安定している。なぜなら、イン
タラプト信号はインタラプト制御部40のハードウェアカ
ウンタで生成されるからである。したがって、その安定
性は図示はしないがクロック発振器(代表的には水晶発
振等)の安定度によって決定される。実施例ではこのイ
ンタラプト信号によってメイン処理を中断させ、楽音生
成処理(インタラプト処理)を行わせることにより、楽
音の生成サンプリング周期を一定にしようとしている。
たしかに、このアプローチにより、楽音の生成サンプリ
ングの平均的な周期をインタラプト信号の発生間隔Tと
等しくすることができる。にもかかわらず、第5図に強
調して示すようにインタラプト処理が実際に開始するタ
イミングは変動し得る。この変動はプログラム制御に起
因するものである。すなわち、マイクロコンピュータ1
に外部から割込がかかっても、マイクロコンピュータ1
は実行中のオペレーションを即時に中断することは不可
能であるため、その実行が終了してからインタラプト処
理に入る。また、中断することが望ましくないプロセス
に入っている間は割込をマスクしてそのプロセスに対す
る一連のオペレーションが完了するまでインタラプト処
理に行わないようにすることもあり得る。インタラプト
処理への移行が、そのときそのときの実行中のプロセス
に依存するので、楽音生成の周期は不安定になる。具体
的にいえば、第3B図のステップB1で実行される処理、す
なわち、RAM34内の波形加算用レジスタにあるデジタル
楽音データを取り出しD/A変換器43のポートにセットす
る処理タイミングが前後にずれる。もし、D/A変換器43
のサンプリング周期がステップB1の実行間隔と同じであ
れば、デジタルからアナログへの変換の過程で大幅な歪
みが生じることになる。この発明はこの問題を解決した
ものである。その手段については後で詳述する。
たものである。A、B、C、D、E、Fはメインプログ
ラム(第3A図)の断片であり、インタラプト制御部40か
ら割込の要求がある都度インタラプト処理(第3B図)が
実行される。この動作の流れをタイムチャートで示すと
第5図のようになる。第5図において、インタラプト信
号の発生間隔Tは非常に安定している。なぜなら、イン
タラプト信号はインタラプト制御部40のハードウェアカ
ウンタで生成されるからである。したがって、その安定
性は図示はしないがクロック発振器(代表的には水晶発
振等)の安定度によって決定される。実施例ではこのイ
ンタラプト信号によってメイン処理を中断させ、楽音生
成処理(インタラプト処理)を行わせることにより、楽
音の生成サンプリング周期を一定にしようとしている。
たしかに、このアプローチにより、楽音の生成サンプリ
ングの平均的な周期をインタラプト信号の発生間隔Tと
等しくすることができる。にもかかわらず、第5図に強
調して示すようにインタラプト処理が実際に開始するタ
イミングは変動し得る。この変動はプログラム制御に起
因するものである。すなわち、マイクロコンピュータ1
に外部から割込がかかっても、マイクロコンピュータ1
は実行中のオペレーションを即時に中断することは不可
能であるため、その実行が終了してからインタラプト処
理に入る。また、中断することが望ましくないプロセス
に入っている間は割込をマスクしてそのプロセスに対す
る一連のオペレーションが完了するまでインタラプト処
理に行わないようにすることもあり得る。インタラプト
処理への移行が、そのときそのときの実行中のプロセス
に依存するので、楽音生成の周期は不安定になる。具体
的にいえば、第3B図のステップB1で実行される処理、す
なわち、RAM34内の波形加算用レジスタにあるデジタル
楽音データを取り出しD/A変換器43のポートにセットす
る処理タイミングが前後にずれる。もし、D/A変換器43
のサンプリング周期がステップB1の実行間隔と同じであ
れば、デジタルからアナログへの変換の過程で大幅な歪
みが生じることになる。この発明はこの問題を解決した
ものである。その手段については後で詳述する。
次に、チャンネル処理について説明する。第3C図のC2
〜C9の処理を1チャンネル分について詳細に示したのが
第7図である。チャンネル処理は大きく分けてエンベロ
ープ処理(D1〜D7)と波形処理(D8〜D21)から成る。
〜C9の処理を1チャンネル分について詳細に示したのが
第7図である。チャンネル処理は大きく分けてエンベロ
ープ処理(D1〜D7)と波形処理(D8〜D21)から成る。
第8図はエンベロープ処理で生成されるエンベロープ
を示したものである。1つの楽音のエンベロープはいく
つかのステップ(セグメント)から成っている。図では
4セグメントで示してある。図中のΔxはエンベロープ
のサンプリング周期であり、Δyはエンベロープ値の変
化幅である。チャンネルのエンベロープ処理(D1〜D7)
では、サンプリングタイムごとのエンベロープの計算と
ステップの目標レベルに達したかどうかのチェックを行
っている。一致したときには現在エンベロープレジスタ
(第6図参照)に目標値が設定されるので、メインプロ
グラムの発音処理A9内でそれを検知して、次のステップ
のエンベロープのためのデータ(Δx、Δy、目標エン
ベロープ値)を各レジスタにセットしている。
を示したものである。1つの楽音のエンベロープはいく
つかのステップ(セグメント)から成っている。図では
4セグメントで示してある。図中のΔxはエンベロープ
のサンプリング周期であり、Δyはエンベロープ値の変
化幅である。チャンネルのエンベロープ処理(D1〜D7)
では、サンプリングタイムごとのエンベロープの計算と
ステップの目標レベルに達したかどうかのチェックを行
っている。一致したときには現在エンベロープレジスタ
(第6図参照)に目標値が設定されるので、メインプロ
グラムの発音処理A9内でそれを検知して、次のステップ
のエンベロープのためのデータ(Δx、Δy、目標エン
ベロープ値)を各レジスタにセットしている。
詳細に述べると、D1でエンベロープの演算周期Δxと
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、D2でΔxと一致したときD3でエンベ
ロープ変位分のデータΔyの加減算フラグ(符号ビッ
ト)をテストしてエンベロープが上昇中か下降中かを判
別し、D4、D5でそれぞれ現在エンベロープの減算または
加算を行う。D6で現在エンベロープが目標エンベロープ
値に達したかどうかをチェックし、達しておれば、現在
エンベロープに目標レベルをセットする。これによりメ
インプログラムの発音処理A9で次のエンベロープステッ
プのデータがセットされることになる。また発音処理A9
でゼロの現在エンベロープを読んだときには発音の終了
として処理される。
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、D2でΔxと一致したときD3でエンベ
ロープ変位分のデータΔyの加減算フラグ(符号ビッ
ト)をテストしてエンベロープが上昇中か下降中かを判
別し、D4、D5でそれぞれ現在エンベロープの減算または
加算を行う。D6で現在エンベロープが目標エンベロープ
値に達したかどうかをチェックし、達しておれば、現在
エンベロープに目標レベルをセットする。これによりメ
インプログラムの発音処理A9で次のエンベロープステッ
プのデータがセットされることになる。また発音処理A9
でゼロの現在エンベロープを読んだときには発音の終了
として処理される。
次に、波形処理D8〜D21について述べる。波形処理で
は、現在アドレスの整数部を使って波形ROMから隣り合
う2つのアドレスの波形データを読み出し、(整数部+
小数部)で示される現在アドレスに対して想定される波
形値を補間で求めている。補間が必要な理由は、インタ
ラプトによる波形サンプリング周期が一定であり、アド
レスの加算値(ピッチデータ)が楽器への応用上、ある
音域にわたるためである(音階音しか出力しない楽器で
音階音ごとに波形データを用意すれば補間の必要はない
が許容できない記憶容量の増大となる)。補間による音
色の劣化、歪みは高音域の方が著しいため、通常は、原
音の記録サンプリング周期より高速の周期で原音を再生
する。この実施例では原音(A4)再生の周期を2倍にし
ている(第9図)。したがって、アドレス加算値が0.5
のとき、A4の音が得られるようになっている。この場
合、A♯4ではアドレス加算値は0.529となり、A3のと
き、1となる。これらのアドレス加算値はピッチデータ
として制御データ兼波形ROM37に記憶されており、押鍵
時には発音処理A9において、鍵に対応するピッチデータ
と選択されている音色の波形スタートアドレス、波形エ
ンドアドレス及び波形ループアドレスがRAM34の対応す
るレジスタ、すなわち、アドレス加算値レジスタ、スタ
ートアドレス兼現在アドレスレジスタ、エンドアドレス
レジスタ、ループアドレスレジスタにセットされる。
は、現在アドレスの整数部を使って波形ROMから隣り合
う2つのアドレスの波形データを読み出し、(整数部+
小数部)で示される現在アドレスに対して想定される波
形値を補間で求めている。補間が必要な理由は、インタ
ラプトによる波形サンプリング周期が一定であり、アド
レスの加算値(ピッチデータ)が楽器への応用上、ある
音域にわたるためである(音階音しか出力しない楽器で
音階音ごとに波形データを用意すれば補間の必要はない
が許容できない記憶容量の増大となる)。補間による音
色の劣化、歪みは高音域の方が著しいため、通常は、原
音の記録サンプリング周期より高速の周期で原音を再生
する。この実施例では原音(A4)再生の周期を2倍にし
ている(第9図)。したがって、アドレス加算値が0.5
のとき、A4の音が得られるようになっている。この場
合、A♯4ではアドレス加算値は0.529となり、A3のと
き、1となる。これらのアドレス加算値はピッチデータ
として制御データ兼波形ROM37に記憶されており、押鍵
時には発音処理A9において、鍵に対応するピッチデータ
と選択されている音色の波形スタートアドレス、波形エ
ンドアドレス及び波形ループアドレスがRAM34の対応す
るレジスタ、すなわち、アドレス加算値レジスタ、スタ
ートアドレス兼現在アドレスレジスタ、エンドアドレス
レジスタ、ループアドレスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す。図中、白丸は波形ROMのアドレスにある波形デー
タ値、黒丸は補間値を示している。
示す。図中、白丸は波形ROMのアドレスにある波形デー
タ値、黒丸は補間値を示している。
補間の方式はいろいろあるが、ここでは直線補間を採
用している。第7図の波形生成処理D8〜D21を詳細に述
べると、まず、D8で現在アドレスにアドレス加算値を加
算して新しい現在アドレスを得る。D9で現在アドレスと
エンドアドレスを比較し、現在アドレス>エンドアドレ
スならば、D10、D11により、現在アドレス<エンドアド
レスのときはD12により、物理上(番地上)または論理
上(動作上)の次のアドレスを計算し、D14でその整数
部により波形ROMをアクセスして次回波形データを得
る。ループアドレスは動作上エンドアドレスの次のアド
レスである。すなわち、第9図の場合、図示の波形は繰
り返し読み出される。したがって、現在アドレス=エン
ドアドレスのときは次のアドレスとしてループアドレス
の波形データを読み出す(D13)。D15、D16により、現
在アドレスの整数部で波形ROMをアクセスして今回の波
形データを読み出す。次に、D17で次回波形値から今回
波形値を減算し、D18でその差に現在アドレスの小数部
を乗算し、その結果をD19で今回の波形値に加えること
により、波形の直線補間値を求める。この直線補間した
データに現在エンベロープ値を乗算してチャンネルの楽
音データ値を得(D20)、それを波形加算用レジスタの
内容に加えて楽音データを累算する(D21)。このレジ
スタに累積された全チャンネル分のデジタル楽音データ
が次の割込時のステップB1でD/A変換器43に送出され
る。
用している。第7図の波形生成処理D8〜D21を詳細に述
べると、まず、D8で現在アドレスにアドレス加算値を加
算して新しい現在アドレスを得る。D9で現在アドレスと
エンドアドレスを比較し、現在アドレス>エンドアドレ
スならば、D10、D11により、現在アドレス<エンドアド
レスのときはD12により、物理上(番地上)または論理
上(動作上)の次のアドレスを計算し、D14でその整数
部により波形ROMをアクセスして次回波形データを得
る。ループアドレスは動作上エンドアドレスの次のアド
レスである。すなわち、第9図の場合、図示の波形は繰
り返し読み出される。したがって、現在アドレス=エン
ドアドレスのときは次のアドレスとしてループアドレス
の波形データを読み出す(D13)。D15、D16により、現
在アドレスの整数部で波形ROMをアクセスして今回の波
形データを読み出す。次に、D17で次回波形値から今回
波形値を減算し、D18でその差に現在アドレスの小数部
を乗算し、その結果をD19で今回の波形値に加えること
により、波形の直線補間値を求める。この直線補間した
データに現在エンベロープ値を乗算してチャンネルの楽
音データ値を得(D20)、それを波形加算用レジスタの
内容に加えて楽音データを累算する(D21)。このレジ
スタに累積された全チャンネル分のデジタル楽音データ
が次の割込時のステップB1でD/A変換器43に送出され
る。
第5図に関連して述べたように、マイクロコンピュー
タ1の楽音生成のサンプリング周期は厳密には一定でな
い。第11図(A)は楽音生成のサンプリング周期をD/A
変換器43の変換周期にした構成である。すなわち、D/A
変換器43のポートとしてソフト制御ラッチ45を設け、こ
のラッチ45をオペレーション解析部38からのプムグラム
制御信号で制御し、ラッチ45の出力をブロック43A内の
対応するビットスイッチ(図示せず、代表的には電流制
御タイプの電子スイッチ)の制御ゲートに入力する。ブ
ロック43Aは実際にデジタル信号をアナログ信号に変換
するところであるので、以下、D/A変換器と呼ぶことに
する。すなわち、第11図(A)の場合、インタラプト処
理プログラムのステップB1の実行時に、オペレーション
解析部38の制御のもとに、RAM34内の波形加算用レジス
タが指定され、そこに記憶される最新のデジタル楽音デ
ータが取り出され、データバスに乗り、データバスにデ
ジタル楽音データが乗っているタイミングでラッチ45の
クロック入力にストローブ用のプログラム制御信号がオ
ペレーション解析部38から与えられデータバス上のデー
タがセットされ、ラッチ45から新しいデジタル楽音デー
タがD/A変換器43Aに入力される。したがって、第12図
(A)に示すように、D/A変換器43Aに入力されるデジタ
ル楽音データはプログラム制御のために不安定な周期で
切り換わることになる。D/A変換器43Aの変換周期(サン
プリング周期)は非常に安定してなければ、その変換に
おいて大きな歪みが発生す。例えば、マイクロコンピュ
ータ1のマシンサイクルを数十ナノあるいは数百ナノ秒
だとすると、この1回のマシンサイクルの遅れであって
おD/A変換器43Aが可聴周波数のデジタル信号を忠実にア
ナログ信号に変換するのに必要な変換周期の精度からは
遠すぎる。すなわち、ナノ秒のオーダーのずれでも人間
の聴覚に感じられるほどの歪みが発生するのである。
タ1の楽音生成のサンプリング周期は厳密には一定でな
い。第11図(A)は楽音生成のサンプリング周期をD/A
変換器43の変換周期にした構成である。すなわち、D/A
変換器43のポートとしてソフト制御ラッチ45を設け、こ
のラッチ45をオペレーション解析部38からのプムグラム
制御信号で制御し、ラッチ45の出力をブロック43A内の
対応するビットスイッチ(図示せず、代表的には電流制
御タイプの電子スイッチ)の制御ゲートに入力する。ブ
ロック43Aは実際にデジタル信号をアナログ信号に変換
するところであるので、以下、D/A変換器と呼ぶことに
する。すなわち、第11図(A)の場合、インタラプト処
理プログラムのステップB1の実行時に、オペレーション
解析部38の制御のもとに、RAM34内の波形加算用レジス
タが指定され、そこに記憶される最新のデジタル楽音デ
ータが取り出され、データバスに乗り、データバスにデ
ジタル楽音データが乗っているタイミングでラッチ45の
クロック入力にストローブ用のプログラム制御信号がオ
ペレーション解析部38から与えられデータバス上のデー
タがセットされ、ラッチ45から新しいデジタル楽音デー
タがD/A変換器43Aに入力される。したがって、第12図
(A)に示すように、D/A変換器43Aに入力されるデジタ
ル楽音データはプログラム制御のために不安定な周期で
切り換わることになる。D/A変換器43Aの変換周期(サン
プリング周期)は非常に安定してなければ、その変換に
おいて大きな歪みが発生す。例えば、マイクロコンピュ
ータ1のマシンサイクルを数十ナノあるいは数百ナノ秒
だとすると、この1回のマシンサイクルの遅れであって
おD/A変換器43Aが可聴周波数のデジタル信号を忠実にア
ナログ信号に変換するのに必要な変換周期の精度からは
遠すぎる。すなわち、ナノ秒のオーダーのずれでも人間
の聴覚に感じられるほどの歪みが発生するのである。
この問題は第11図(B)に示すような構成をとること
により解決される。すなわち、オペレーション解析部38
からのプログラム制御信号によって制御されるソフト制
御ラッチ45と、デジタル楽音信号をアナログ楽音信号に
変換するD/A変換器43Aとの間に、インタラプト制御部40
からの正確なタイミング信号であるインタラプト信号で
制御されるインタラプト制御ラッチ46を設ける。インタ
ラプト信号の発生周期はクロック発振器の安定度に従う
ので極めて安定である。ラッチ46の出力はインタラプト
信号のタイミングに同期して切り換わる。すなわち、イ
ンタラプト信号の発生周期がD/A変換器43Aの変換(サン
プリング)周期となる。第11図(B)の構成に対するタ
イムチャートを第12図(B)に示す。図示のように、ラ
ッチ45の出力が切り換わるタイミングはインタラプト処
理のタイミングずれに従って変動するがインタラプト信
号で動作するラッチ46があるのでD/A変換器43Aの入力デ
ータが切り換わるタイミングはインタラプト信号と同期
する。ラッチ46のために、D/A変換器43Aに入力されるデ
ジタル楽音信号は平均してインタラプト信号の一周期分
だけ遅れるが、この遅れは全く問題とならない。例え
ば、インタラプト信号の周期は47マイクロ秒であり、こ
のような短時間の遅れは人間の聴覚では到底感知し得な
い(通常、数ミリ秒程度が知覚し得る限界である)。
により解決される。すなわち、オペレーション解析部38
からのプログラム制御信号によって制御されるソフト制
御ラッチ45と、デジタル楽音信号をアナログ楽音信号に
変換するD/A変換器43Aとの間に、インタラプト制御部40
からの正確なタイミング信号であるインタラプト信号で
制御されるインタラプト制御ラッチ46を設ける。インタ
ラプト信号の発生周期はクロック発振器の安定度に従う
ので極めて安定である。ラッチ46の出力はインタラプト
信号のタイミングに同期して切り換わる。すなわち、イ
ンタラプト信号の発生周期がD/A変換器43Aの変換(サン
プリング)周期となる。第11図(B)の構成に対するタ
イムチャートを第12図(B)に示す。図示のように、ラ
ッチ45の出力が切り換わるタイミングはインタラプト処
理のタイミングずれに従って変動するがインタラプト信
号で動作するラッチ46があるのでD/A変換器43Aの入力デ
ータが切り換わるタイミングはインタラプト信号と同期
する。ラッチ46のために、D/A変換器43Aに入力されるデ
ジタル楽音信号は平均してインタラプト信号の一周期分
だけ遅れるが、この遅れは全く問題とならない。例え
ば、インタラプト信号の周期は47マイクロ秒であり、こ
のような短時間の遅れは人間の聴覚では到底感知し得な
い(通常、数ミリ秒程度が知覚し得る限界である)。
以上で実施例の説明を終えるが発明の範囲を逸脱する
ことなく種々の変形が可能である。例えば、上記実施例
では、マイクロコンピュータ1における楽音の生成をイ
ンタラプト信号で起動されるインタラプト処理プログラ
ムを実行することによって行っているが、割込によらな
いサブルーチンの処理で行ってもよい。その場合、サブ
ルーチンの実行から次のサブルーチンまでの実行間隔が
状況によらずほぼ一定になるように、ノーオペレーショ
ン命令(NOP命令、ダミー命令)をプログラムに分散配
置すればよい。また、プログラムで実行する楽音合成の
方式、ポリフォニック数についてもマイクロコンピュー
タの能力が許す範囲で任意の方式、ポリフォニック数を
採用し得る。要するに、この発明は、プログラム制御に
よりマイクロコンピュータ自身が楽音を生成する構成の
すべてに適用可能である。
ことなく種々の変形が可能である。例えば、上記実施例
では、マイクロコンピュータ1における楽音の生成をイ
ンタラプト信号で起動されるインタラプト処理プログラ
ムを実行することによって行っているが、割込によらな
いサブルーチンの処理で行ってもよい。その場合、サブ
ルーチンの実行から次のサブルーチンまでの実行間隔が
状況によらずほぼ一定になるように、ノーオペレーショ
ン命令(NOP命令、ダミー命令)をプログラムに分散配
置すればよい。また、プログラムで実行する楽音合成の
方式、ポリフォニック数についてもマイクロコンピュー
タの能力が許す範囲で任意の方式、ポリフォニック数を
採用し得る。要するに、この発明は、プログラム制御に
よりマイクロコンピュータ自身が楽音を生成する構成の
すべてに適用可能である。
[発明の効果] 以上のように、この発明によれば、ポリフォニックの
楽音生成プログラムを周期的に(サンプリング周期ごと
に)起動させる周期起動方式とし、かつ楽音生成プログ
ラムの起動の周期を音高とは独立の所定のサンプリング
周期としているので、この音高独立周期起動方式で演算
処理手段をプログラム制御することで、演算処理手段か
らポリフォニックのデジタル音信号をほぼサンプリング
周期で出力させることができる。結果として、周期化手
段をきわめて簡単な構成で実現できる利点がある。そし
て、従来のようなデジタルポリフォニック音源回路ハー
ドウェアは一切不要であり、なおかつ歪みの少ない音響
信号を外部に出力することができる。
楽音生成プログラムを周期的に(サンプリング周期ごと
に)起動させる周期起動方式とし、かつ楽音生成プログ
ラムの起動の周期を音高とは独立の所定のサンプリング
周期としているので、この音高独立周期起動方式で演算
処理手段をプログラム制御することで、演算処理手段か
らポリフォニックのデジタル音信号をほぼサンプリング
周期で出力させることができる。結果として、周期化手
段をきわめて簡単な構成で実現できる利点がある。そし
て、従来のようなデジタルポリフォニック音源回路ハー
ドウェアは一切不要であり、なおかつ歪みの少ない音響
信号を外部に出力することができる。
第1図はこの発明の実施例に係る電子楽器の全体構成
図、第2図は実施例のマイクロコンピュータの構成を示
すブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が行
われるインタラプト処理のフローチャート、第3C図は第
3B図の音源処理の詳細なフローチャート、第4図は時間
に沿ったプログラムの流れを示す図、第5図は時間に沿
った処理の概要を示すタイムチャート、第6図は第2図
のRAM34内に置かれる楽音生成用RAMのテーブルを示す
図、第7図は第3C図の1つのチャンネル処理の詳細なフ
ローチャート、第8図はエンベロープを示す図、第9図
は波形ROMの波形データを示す図、第10図は時間に沿う
補間演算波形を示す図、第11図はD/A変換器のサンプリ
ング周期が不安定になる構成と、この発明に従い、D/A
変換器のサンプリング周期を安定にした構成を比較して
示す図、第12図はD/A変換器のサンプリング周期が不安
定な場合のタイムチャートと安定な場合のタイムチャー
トを比較して示す図である。 1……マイクロコンピュータ、31……制御用ROM、34…
…RAM、35……加減算器及び論理演算部、36……乗算
器、37……制御データ兼波形ROM、38……オペレーショ
ン解析部、40……インタラプト制御部、43A……D/A変換
器、45……ソフト制御ラッチ、46……インタラプト制御
ラッチ。
図、第2図は実施例のマイクロコンピュータの構成を示
すブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が行
われるインタラプト処理のフローチャート、第3C図は第
3B図の音源処理の詳細なフローチャート、第4図は時間
に沿ったプログラムの流れを示す図、第5図は時間に沿
った処理の概要を示すタイムチャート、第6図は第2図
のRAM34内に置かれる楽音生成用RAMのテーブルを示す
図、第7図は第3C図の1つのチャンネル処理の詳細なフ
ローチャート、第8図はエンベロープを示す図、第9図
は波形ROMの波形データを示す図、第10図は時間に沿う
補間演算波形を示す図、第11図はD/A変換器のサンプリ
ング周期が不安定になる構成と、この発明に従い、D/A
変換器のサンプリング周期を安定にした構成を比較して
示す図、第12図はD/A変換器のサンプリング周期が不安
定な場合のタイムチャートと安定な場合のタイムチャー
トを比較して示す図である。 1……マイクロコンピュータ、31……制御用ROM、34…
…RAM、35……加減算器及び論理演算部、36……乗算
器、37……制御データ兼波形ROM、38……オペレーショ
ン解析部、40……インタラプト制御部、43A……D/A変換
器、45……ソフト制御ラッチ、46……インタラプト制御
ラッチ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小倉 和夫 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 宇佐美 隆二 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (56)参考文献 特開 昭57−185492(JP,A) 特開 昭54−89439(JP,A) 特開 昭60−33600(JP,A)
Claims (3)
- 【請求項1】音高に依存しない所定のサンプリング周期
を持ったサンプリング周期信号を発生するサンプリング
周期信号発生手段と、 プログラムの実行時間が変動する動作環境の下で、上記
サンプリング周期ごとに起動されるプログラム制御によ
って演算処理を実行し、その結果として前記サンプリン
グ周期信号とは非同期の一定ではない間隔でポリフォニ
ックのデジタル音信号を発生する演算処理手段と、 入力信号として、前記演算処理手段からの、前記サンプ
リング周期信号とは非同期のデジタル音信号を受け、出
力信号として、前記サンプリング周期信号に同期したポ
リフォニックのデジタル音信号を出力する音サンプリン
グ周期同期化手段と、 を有することを特徴とする処理装置。 - 【請求項2】請求項1記載の処理装置において、前記音
サンプリング周期同期化手段は、前記演算処理手段の生
成したデジタル音信号をサンプリング周期と非同期な前
記演算処理手段のプログラム制御信号に従ってラッチす
る第1ラッチ手段と、前記第1ラッチ手段の出力を、サ
ンプリング周期信号のタイミングでラッチする第2ラッ
チ手段と、 を有することを特徴とする処理装置。 - 【請求項3】請求項2記載の処理装置において、前記第
2ラッチ手段からの出力は、デジタル音信号をアナログ
音信号に変換するデジタル・アナログ変換器に供給され
ることを特徴とする処理装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63334162A JP2576616B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
EP89124128A EP0376342B1 (en) | 1988-12-29 | 1989-12-29 | Data processing apparatus for electronic musical instruments |
DE68917113T DE68917113T2 (de) | 1988-12-29 | 1989-12-29 | Datenverarbeitungsvorrichtung für ein elektronisches Musikinstrument. |
KR8920242A KR930005221B1 (en) | 1988-12-29 | 1989-12-29 | Tone signal generating apparatus for electronic musical instrument |
US07/855,431 US5319151A (en) | 1988-12-29 | 1992-03-23 | Data processing apparatus outputting waveform data in a certain interval |
US08/223,589 US5726371A (en) | 1988-12-29 | 1994-04-06 | Data processing apparatus outputting waveform data for sound signals with precise timings |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63334162A JP2576616B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02179695A JPH02179695A (ja) | 1990-07-12 |
JP2576616B2 true JP2576616B2 (ja) | 1997-01-29 |
Family
ID=18274235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63334162A Expired - Lifetime JP2576616B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2576616B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283386A (en) * | 1991-08-30 | 1994-02-01 | Casio Computer Co., Ltd. | Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means |
JPH07219552A (ja) * | 1994-12-28 | 1995-08-18 | Casio Comput Co Ltd | 楽音波形発生装置及び楽音波形圧縮装置 |
JP2005274782A (ja) * | 2004-03-23 | 2005-10-06 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL7713707A (nl) * | 1977-12-12 | 1979-06-14 | Philips Nv | Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met variabele ingang en vaste uitgang. |
JPS57185492A (en) * | 1981-05-11 | 1982-11-15 | Matsushita Electric Ind Co Ltd | Data latch circuit |
JPS6033600A (ja) * | 1983-08-04 | 1985-02-20 | 松下電器産業株式会社 | 音源装置 |
-
1988
- 1988-12-29 JP JP63334162A patent/JP2576616B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02179695A (ja) | 1990-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5319151A (en) | Data processing apparatus outputting waveform data in a certain interval | |
JP2576616B2 (ja) | 処理装置 | |
EP0376342B1 (en) | Data processing apparatus for electronic musical instruments | |
JP2576617B2 (ja) | 処理装置 | |
JP2576614B2 (ja) | 処理装置 | |
JP2576613B2 (ja) | 処理装置 | |
JP2576615B2 (ja) | 処理装置 | |
JP2576618B2 (ja) | 処理装置 | |
JP2950461B2 (ja) | 楽音発生装置 | |
JP3658826B2 (ja) | 楽音生成方法 | |
JP2797142B2 (ja) | 電子楽器用処理装置 | |
JP3561939B2 (ja) | 波形メモリ音源 | |
JPH07122796B2 (ja) | 処理装置 | |
JP3543203B2 (ja) | 電子楽器 | |
JP3651675B2 (ja) | 電子楽器 | |
JP3371643B2 (ja) | 信号処理装置 | |
JP2001083970A (ja) | 音声信号処理装置 | |
JP3148803B2 (ja) | 音源装置 | |
JP3610759B2 (ja) | ディジタル信号処理装置 | |
JP2797138B2 (ja) | 電子楽器用処理装置 | |
JP3116447B2 (ja) | デジタル信号処理プロセッサ | |
JPH0743597B2 (ja) | 楽音発生装置 | |
JPS6352399B2 (ja) | ||
JPH1097258A (ja) | 波形メモリ音源装置および楽音発生装置 | |
JPS5846036B2 (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071107 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |