JPH0573031B2 - - Google Patents
Info
- Publication number
- JPH0573031B2 JPH0573031B2 JP59167117A JP16711784A JPH0573031B2 JP H0573031 B2 JPH0573031 B2 JP H0573031B2 JP 59167117 A JP59167117 A JP 59167117A JP 16711784 A JP16711784 A JP 16711784A JP H0573031 B2 JPH0573031 B2 JP H0573031B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- latch
- output
- gate
- acc
- 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
- Advance Control (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
この発明は、マイクロプログラムに従つて楽音
波形信号の生成処理を行う信号処理装置に関す
る。
波形信号の生成処理を行う信号処理装置に関す
る。
従来より、デイジタル技術によつて各種信号処
理を行う装置が開発されている。例えば電子楽器
のような信号処理装置も、デイジタル回路により
楽音信号を得るようにしたものが多くある。しか
るに、従来の電子楽器においては、夫々の機能毎
に夫々の固有の処理を行う回路を設けるのが一般
的である。
理を行う装置が開発されている。例えば電子楽器
のような信号処理装置も、デイジタル回路により
楽音信号を得るようにしたものが多くある。しか
るに、従来の電子楽器においては、夫々の機能毎
に夫々の固有の処理を行う回路を設けるのが一般
的である。
即ち、例えば楽音波形信号を生成するために
は、波形のアドレスを指定するアドレス指定回
路、波形メモリから読出された波形情報に対しエ
ンベロープを付加するためのエンベロープ制御回
路、複数楽音を同時に発生するために各チヤンネ
ルから発生された波形情報を累算した後、アナロ
グ信号に変換するための累算回路などは、個別の
構成としなければならなかつた。
は、波形のアドレスを指定するアドレス指定回
路、波形メモリから読出された波形情報に対しエ
ンベロープを付加するためのエンベロープ制御回
路、複数楽音を同時に発生するために各チヤンネ
ルから発生された波形情報を累算した後、アナロ
グ信号に変換するための累算回路などは、個別の
構成としなければならなかつた。
このような従来技術によれば、複雑な波形生成
処理を実行するためには、ハードウエアが莫大な
ものとなり、しかも専用の処理しかできない汎用
性に欠くものであつた。
処理を実行するためには、ハードウエアが莫大な
ものとなり、しかも専用の処理しかできない汎用
性に欠くものであつた。
そこで例えば、信号処理装置としての電子楽器
の場合、楽音信号を生成するための楽音波形を生
成する処理やエンベロープを付加する処理などを
夫々個別の回路を設けずに、同一の演算回路を用
いて、予め記憶されたデータとマイクロプログラ
ムに従つて繰り返し演算することが考えられてい
るが、変化の速い楽音信号を生成するにはこれら
各処理は極めて短時間で行わねば、楽音信号の変
化に追従できなくなる。
の場合、楽音信号を生成するための楽音波形を生
成する処理やエンベロープを付加する処理などを
夫々個別の回路を設けずに、同一の演算回路を用
いて、予め記憶されたデータとマイクロプログラ
ムに従つて繰り返し演算することが考えられてい
るが、変化の速い楽音信号を生成するにはこれら
各処理は極めて短時間で行わねば、楽音信号の変
化に追従できなくなる。
逆に楽音信号の各処理のうち、例えばエンベロ
ープ付加処理などは楽音波形生成処理と比べて変
化がゆつくりであるため、他の処理が複数回実行
される間に1回実行するだけでよく、楽音波形生
成処理と同一の周期で処理を実行すれば無駄な処
理が多くなつて全体の演算時間が長くなつてしま
う問題があつた。
ープ付加処理などは楽音波形生成処理と比べて変
化がゆつくりであるため、他の処理が複数回実行
される間に1回実行するだけでよく、楽音波形生
成処理と同一の周期で処理を実行すれば無駄な処
理が多くなつて全体の演算時間が長くなつてしま
う問題があつた。
この問題を解決する方法のひとつとして、この
エンベロープ付加処理と楽音波形生成処理とをイ
ンターラプト処理ルーチンとし、夫々異なる周期
のインターラプトクロツクで実行を開始させる方
式が考えられる。しかしながら、こうしたインタ
ーラプト処理ルーチンを読み出すためにアドレス
制御を行うための構成が複雑になるばかりでな
く、メイン処理ルーチンで実行される処理がイン
ターラプトクロツクの発生毎に中断されるため、
処理時間がインターラプトの周期によつて変動す
るという問題があつた。
エンベロープ付加処理と楽音波形生成処理とをイ
ンターラプト処理ルーチンとし、夫々異なる周期
のインターラプトクロツクで実行を開始させる方
式が考えられる。しかしながら、こうしたインタ
ーラプト処理ルーチンを読み出すためにアドレス
制御を行うための構成が複雑になるばかりでな
く、メイン処理ルーチンで実行される処理がイン
ターラプトクロツクの発生毎に中断されるため、
処理時間がインターラプトの周期によつて変動す
るという問題があつた。
本発明は、上記事情に鑑みてなされたものであ
り、簡単なハードウエア構成で、無駄な処理を行
うことのない信号処理装置を提供することにあ
る。
り、簡単なハードウエア構成で、無駄な処理を行
うことのない信号処理装置を提供することにあ
る。
本発明は、複数種の処理を所定の順序でかつ各
処理が異なる繰り返し間隔をもつて配置されたマ
イクロプログラムを記憶したプログラムメモリ手
段を有し、このプログラムメモリ手段を最初から
順次時分割に読み出すことにより、各処理に対応
する一連の演算命令を夫々異なる周期で出力し、
この一連の演算命令を複数の演算手段の演算を組
み合わせて実行するようにしたことを特徴とす
る。
処理が異なる繰り返し間隔をもつて配置されたマ
イクロプログラムを記憶したプログラムメモリ手
段を有し、このプログラムメモリ手段を最初から
順次時分割に読み出すことにより、各処理に対応
する一連の演算命令を夫々異なる周期で出力し、
この一連の演算命令を複数の演算手段の演算を組
み合わせて実行するようにしたことを特徴とす
る。
以下図面を参照して、本発明の一実施例を説明
する。
する。
第1図は、その実施例の回路構成を示すもので
ある。この実施例の回路が実行する処理を機能毎
にまとめて等価的に図式化すると第2図の如くな
る。従つて、本実施例の回路構成を詳細に説明す
るに先だち、第2図の機能ブロツク図の説明す
る。
ある。この実施例の回路が実行する処理を機能毎
にまとめて等価的に図式化すると第2図の如くな
る。従つて、本実施例の回路構成を詳細に説明す
るに先だち、第2図の機能ブロツク図の説明す
る。
<機能ブロツク>
第2図中、符号1は、図示しないマイクロプロ
セツサとのインターフエース回路であり、マイク
ロプロセツサとはデータバスDBを介して接続さ
れている。
セツサとのインターフエース回路であり、マイク
ロプロセツサとはデータバスDBを介して接続さ
れている。
このインターフエース回路1を介して、ピツチ
エンベロープジエネレータ2には、ピツチエンベ
ロープを発生するための情報FRRとFRSとが与
えられる。
エンベロープジエネレータ2には、ピツチエンベ
ロープを発生するための情報FRRとFRSとが与
えられる。
即ち、ピツチエンベロープジエネレータ2は、
情報FRRで指定される傾きをもつ信号を、最終
値即ち情報FRSまで徐々に発生する。その現在
値の情報を以下FRCと称する。従つて、このピ
ツチエンベロープジエネレータ2は、1回の演算
で、FRC←FRC+FRRを行い、FRCがFRSと一
致あるいはそれを越えると、インタラプト信号
INTを発生して、次の情報FRR,FRSをセツト
するよう上記マイクロプロセツサに指令する。
情報FRRで指定される傾きをもつ信号を、最終
値即ち情報FRSまで徐々に発生する。その現在
値の情報を以下FRCと称する。従つて、このピ
ツチエンベロープジエネレータ2は、1回の演算
で、FRC←FRC+FRRを行い、FRCがFRSと一
致あるいはそれを越えると、インタラプト信号
INTを発生して、次の情報FRR,FRSをセツト
するよう上記マイクロプロセツサに指令する。
その結果、ピツチエンベロープジエネレータ2
は、折れ線のピツチエンベロープ信号を発生す
る。第3図は、その状態を示す。
は、折れ線のピツチエンベロープ信号を発生す
る。第3図は、その状態を示す。
図中3は、加算器で、上記ピツチエンベロープ
ジエネレータ2の出力FRCと、情報FCとを加算
する。情報FCは、出力楽音のピツチの中心値を
決定するもので、仮に、ピツチエンベロープジエ
ネレータ2の出力FRCがゼロならば、このFCで
指定される音高の楽音が定常的に発生することに
なる。
ジエネレータ2の出力FRCと、情報FCとを加算
する。情報FCは、出力楽音のピツチの中心値を
決定するもので、仮に、ピツチエンベロープジエ
ネレータ2の出力FRCがゼロならば、このFCで
指定される音高の楽音が定常的に発生することに
なる。
そして、この加算器3の出力は、指数変換
ROM4に与えられ、周波数情報FIに変換され
る。即ち、情報FCあるいはFRCは、セント比例
の情報であり、それをヘルツ単位の実際の周波数
を指定する情報とする。
ROM4に与えられ、周波数情報FIに変換され
る。即ち、情報FCあるいはFRCは、セント比例
の情報であり、それをヘルツ単位の実際の周波数
を指定する情報とする。
この指数変換ROM4には、更にノイズ情報
NOISEあるいは、FM変調のときは後述する出力
波形情報Oが、情報OSCとして入力する。
NOISEあるいは、FM変調のときは後述する出力
波形情報Oが、情報OSCとして入力する。
従つて、この情報OSCによつて、更に周波数
が変調することになる。なお、指数変換ROM4
に与えられる2つの情報は内部で加算された後、
指数変換される。
が変調することになる。なお、指数変換ROM4
に与えられる2つの情報は内部で加算された後、
指数変換される。
そして、出力される周波数情報FIは、位相角
情報ジエネレータ5にて累算されて、位相角アド
レスを指定する位相角情報PAとなり、乗/除算
器6に供給される。
情報ジエネレータ5にて累算されて、位相角アド
レスを指定する位相角情報PAとなり、乗/除算
器6に供給される。
乗/除算器6には更に、高調波抑止回路7から
のモジユレーシヨン情報MODが供給される。即
ち、インターフエース回路1を介してウエーブエ
ンベロープジエネレータ8には、情報WRRと
WRSとが与えられる。この情報WRRは、エンベ
ロープ信号の傾きを指定し、情報WRSは最終値
を決定する。そして、このウエーブエンベロープ
ジエネレータ8からは、現在値を与える情報
WRCが出力する。
のモジユレーシヨン情報MODが供給される。即
ち、インターフエース回路1を介してウエーブエ
ンベロープジエネレータ8には、情報WRRと
WRSとが与えられる。この情報WRRは、エンベ
ロープ信号の傾きを指定し、情報WRSは最終値
を決定する。そして、このウエーブエンベロープ
ジエネレータ8からは、現在値を与える情報
WRCが出力する。
即ち、ウエーブエンベロープジエネレータ8
は、1回の演算で、WRC←WRC+WRRを実行
する。そして、情報WRCがWRSと一致又はそれ
を越えると、ウエーブエンベロープジエネレータ
8からインタラプト信号INTを発生し、次の情
報WRR,WRSをセツトするよう上記マイクロプ
ロセツサに指令する。この状態を、第4図に示
す。
は、1回の演算で、WRC←WRC+WRRを実行
する。そして、情報WRCがWRSと一致又はそれ
を越えると、ウエーブエンベロープジエネレータ
8からインタラプト信号INTを発生し、次の情
報WRR,WRSをセツトするよう上記マイクロプ
ロセツサに指令する。この状態を、第4図に示
す。
そして、このウエーブエンベロープジエネレー
タ8の出力情報WRCは、加算器9に、グロウル
ジエネレータ10の出力する情報GLWとともに
与えられる。このグロウルジエネレータ10は、
低周波信号発振器(LFO)の機能をもつており、
出力楽音の周波数に比べて十分低い周波数の信号
即ち情報GLWを発生する。
タ8の出力情報WRCは、加算器9に、グロウル
ジエネレータ10の出力する情報GLWとともに
与えられる。このグロウルジエネレータ10は、
低周波信号発振器(LFO)の機能をもつており、
出力楽音の周波数に比べて十分低い周波数の信号
即ち情報GLWを発生する。
そして、上記加算器9の出力が、基本的に波形
の高調波成分の含有率を決定する、つまり波形を
歪ませる程度を決定するものであるが、極度に波
形を歪ませるとスペクトルの折返し歪によるノイ
ズがでることになり、それを防止するために、周
波数情報FIでその上限を決定すべく、上記高調
波抑止回路7でその処理をして、モジユレーシヨ
ン情報MODとして、上記乗/除算器6に与えて
いる。なお、この高調波抑止回路7の詳細は、特
願昭58−251738号(発明の名称「電子楽音の高調
波制限方式」)にて開示してある。
の高調波成分の含有率を決定する、つまり波形を
歪ませる程度を決定するものであるが、極度に波
形を歪ませるとスペクトルの折返し歪によるノイ
ズがでることになり、それを防止するために、周
波数情報FIでその上限を決定すべく、上記高調
波抑止回路7でその処理をして、モジユレーシヨ
ン情報MODとして、上記乗/除算器6に与えて
いる。なお、この高調波抑止回路7の詳細は、特
願昭58−251738号(発明の名称「電子楽音の高調
波制限方式」)にて開示してある。
そして、乗/除算器6は、位相角情報PAをモ
ジユレーシヨン情報MODで除算あるいは双方の
情報を乗算することによつて、波形一周期におい
て、レートが変化する修正アドレス信号、あるい
は波形一周期において1周期を越えてアドレスを
指定する修正アドレス信号を発生するもので、位
相角定数PAが一定レートで繰返し変化するのに
対し、それを歪ませてあるいはそのレートを1よ
り大のレートとして変化する情報ANGを発生す
る。
ジユレーシヨン情報MODで除算あるいは双方の
情報を乗算することによつて、波形一周期におい
て、レートが変化する修正アドレス信号、あるい
は波形一周期において1周期を越えてアドレスを
指定する修正アドレス信号を発生するもので、位
相角定数PAが一定レートで繰返し変化するのに
対し、それを歪ませてあるいはそのレートを1よ
り大のレートとして変化する情報ANGを発生す
る。
なお、波形一周期において、レートが不均一と
なる修正アドレス信号で、例えば余弦波を記憶し
たメモリをアクセスすることによつて矩形波、鉅
歯状波を生成する技術を詳細に開示したものとし
て、特願昭57−221266号(発明の名称「波形発生
方式」)があり、波形一周期において1より大の
周期のアドレスを指定する修正アドレス信号で、
例えば余弦波を記憶したメモリをアクセスするこ
とにより、複数周期の波形を得、それに対して一
周期内で窓関数(包絡線信号)を更に乗算してレ
ゾナンス効果を得る技術を開示したものとして、
特願昭57−225582号(発明の名称「電子楽器の楽
音発生方式」)がある。
なる修正アドレス信号で、例えば余弦波を記憶し
たメモリをアクセスすることによつて矩形波、鉅
歯状波を生成する技術を詳細に開示したものとし
て、特願昭57−221266号(発明の名称「波形発生
方式」)があり、波形一周期において1より大の
周期のアドレスを指定する修正アドレス信号で、
例えば余弦波を記憶したメモリをアクセスするこ
とにより、複数周期の波形を得、それに対して一
周期内で窓関数(包絡線信号)を更に乗算してレ
ゾナンス効果を得る技術を開示したものとして、
特願昭57−225582号(発明の名称「電子楽器の楽
音発生方式」)がある。
そして、この乗/除算器6から出力する情報
ANGは、ウエーブジエネレータ11に与えられ
波形情報Wを発生し、乗算器12に送出される。
ANGは、ウエーブジエネレータ11に与えられ
波形情報Wを発生し、乗算器12に送出される。
乗算器12は、通常状態では、入力波形信号を
窓関数信号を1として乗算して出力する、換言す
れば、入力信号を何も変更することなく出力信号
とするものであり、上述したようにレゾナンス効
果時には、所定の波形を1周期毎に繰返しとる窓
関数を入力波形信号に乗算して出力するものであ
る。更に、リング変調効果時には、他のチヤンネ
ルの最終出力波形信号を、当該チヤンネルの波形
信号に乗算する機能をもつ。
窓関数信号を1として乗算して出力する、換言す
れば、入力信号を何も変更することなく出力信号
とするものであり、上述したようにレゾナンス効
果時には、所定の波形を1周期毎に繰返しとる窓
関数を入力波形信号に乗算して出力するものであ
る。更に、リング変調効果時には、他のチヤンネ
ルの最終出力波形信号を、当該チヤンネルの波形
信号に乗算する機能をもつ。
即ち、この乗算器12は、上記波形情報Wのほ
か、窓関数情報Fが、位相角情報ジエネレータ5
から、最終波形情報Oが乗算器13から選択的に
与えられるようになる。
か、窓関数情報Fが、位相角情報ジエネレータ5
から、最終波形情報Oが乗算器13から選択的に
与えられるようになる。
この乗算器12において、如何なる演算をとら
せるのか、例えばどのような窓関数情報Fを波形
情報Wに乗算するのかを指定するのが、波形指定
回路14であり、また、この波形指定回路14は
乗/除算器6において実行する演算形式を変更し
て出力波形を指定する機能も有し、情報WAVを
出力する。この波形指定回路14には、マイクロ
プロセツサの信号がインターフエース回路1を介
して、音色、効果を指定する信号が予めセツトさ
れる。
せるのか、例えばどのような窓関数情報Fを波形
情報Wに乗算するのかを指定するのが、波形指定
回路14であり、また、この波形指定回路14は
乗/除算器6において実行する演算形式を変更し
て出力波形を指定する機能も有し、情報WAVを
出力する。この波形指定回路14には、マイクロ
プロセツサの信号がインターフエース回路1を介
して、音色、効果を指定する信号が予めセツトさ
れる。
第2図中、符号15は振幅エンベロープジエネ
レータであり、音量を決定するエンベロープ信号
を発生するもので、インターフエース回路1を介
して、情報ARR,ARSがマイクロプロセツサか
ら与えられる。
レータであり、音量を決定するエンベロープ信号
を発生するもので、インターフエース回路1を介
して、情報ARR,ARSがマイクロプロセツサか
ら与えられる。
即ち、この振幅エンベロープジエネレータ15
は、上述したピツチエンベロープジエネレータ2
やウエーブエンベロープジエネレータ8と同様
に、1度の演算で、ARC←ARC+ARRを実行す
る。そして、情報ARCが情報ARSと一致または
それを越えると、振幅エンベロープジエネレータ
15からインタラプト信号INTを発生し、次に
情報ARR,ARSをセツトするようマイクロプロ
セツサに指示する。この状態を、第5図に示す。
は、上述したピツチエンベロープジエネレータ2
やウエーブエンベロープジエネレータ8と同様
に、1度の演算で、ARC←ARC+ARRを実行す
る。そして、情報ARCが情報ARSと一致または
それを越えると、振幅エンベロープジエネレータ
15からインタラプト信号INTを発生し、次に
情報ARR,ARSをセツトするようマイクロプロ
セツサに指示する。この状態を、第5図に示す。
そして、振幅エンベロープジエネレータ15
は、加算器16に情報ARCを送出する。
は、加算器16に情報ARCを送出する。
またこの加算器16には、トレモロジエネレー
タ17から情報TRMが供給される。即ち、この
トレモロジエネレータ17は、上記グロウルジエ
ネレータ10と同様、低周波数信号を発生する低
周波発振器(LFO)の機能を有しており、時間
と共に振幅レベルが繰返し変化するいるゆるトレ
モロ効果を得るための信号を発生する機能を有す
る。
タ17から情報TRMが供給される。即ち、この
トレモロジエネレータ17は、上記グロウルジエ
ネレータ10と同様、低周波数信号を発生する低
周波発振器(LFO)の機能を有しており、時間
と共に振幅レベルが繰返し変化するいるゆるトレ
モロ効果を得るための信号を発生する機能を有す
る。
そして、上記加算器16は、情報ARCと情報
TRMを加算した後、指数変換ROM18に与え
られる。この指数変換ROM18は、直線/指数
関数変換を行うもので、この指数変換ROM18
は、指数関数変換されたエンベロープ情報、即ち
情報AREを出力し、上記乗算器13に与える。
TRMを加算した後、指数変換ROM18に与え
られる。この指数変換ROM18は、直線/指数
関数変換を行うもので、この指数変換ROM18
は、指数関数変換されたエンベロープ情報、即ち
情報AREを出力し、上記乗算器13に与える。
乗算器13は、乗算器12の出力情報WFと、
指数変換ROM18の出力情報AREとを乗算し、
その出力情報Oを、最終段の累算器19に与え
る。
指数変換ROM18の出力情報AREとを乗算し、
その出力情報Oを、最終段の累算器19に与え
る。
即ち、上述した本実施例の機能ブロツク回路に
あつては、例えば、8チヤンネルの時分割処理が
実現でき、上記位相角情報ジエネレータ5、ピツ
チエンベロープジエネレータ2、ウエーブエンベ
ロープジエネレータ8、振幅エンベロープジエネ
レータ15は夫々8チヤンネルの時分割動作を
し、その結果得られる出力波形情報Oは、最大8
チヤンネル分あり、それを累算して最終出力情報
OSMを累算器19は発生し、最終出力DOUTと
する。
あつては、例えば、8チヤンネルの時分割処理が
実現でき、上記位相角情報ジエネレータ5、ピツ
チエンベロープジエネレータ2、ウエーブエンベ
ロープジエネレータ8、振幅エンベロープジエネ
レータ15は夫々8チヤンネルの時分割動作を
し、その結果得られる出力波形情報Oは、最大8
チヤンネル分あり、それを累算して最終出力情報
OSMを累算器19は発生し、最終出力DOUTと
する。
さて、この第2図に示した機能ブロツクの処理
のうち主たる処理の信号変化をまとめると第6図
の如くなる。
のうち主たる処理の信号変化をまとめると第6図
の如くなる。
即ち、第2図に示した各ブロツクのうち、全て
が同じ頻度で処理を実行するのではなく、ピツチ
エンベロープジエネレータ2の処理のレートを
5Kレートとすれば、ウエーブエンベロープジエ
ネレータ8の処理は10Kレートとなり、振幅エン
ベロープジエネレータ15の処理は、20Kレート
となり、波形を生成するために動作する位相角情
報ジエネレータ5、乗/除算器6、乗算器12,
13等の処理は40Kレートとなる。
が同じ頻度で処理を実行するのではなく、ピツチ
エンベロープジエネレータ2の処理のレートを
5Kレートとすれば、ウエーブエンベロープジエ
ネレータ8の処理は10Kレートとなり、振幅エン
ベロープジエネレータ15の処理は、20Kレート
となり、波形を生成するために動作する位相角情
報ジエネレータ5、乗/除算器6、乗算器12,
13等の処理は40Kレートとなる。
従つて、波形生成処理を8回行うときに、振幅
エンベロープ処理は4回、ウエーブエンベロープ
処理は2回、ピツチエンベロープ処理は1回行え
ばよい。
エンベロープ処理は4回、ウエーブエンベロープ
処理は2回、ピツチエンベロープ処理は1回行え
ばよい。
第1図の実施例は、第2図の機能ブロツクの
夫々の処理を、第6図のようにマイクロプログラ
ムに従つて演算実行するように変換し、これを効
率的に実行するような回路構成をとることにより
実現されたものである。なお、この第6図の説明
は後述する。
夫々の処理を、第6図のようにマイクロプログラ
ムに従つて演算実行するように変換し、これを効
率的に実行するような回路構成をとることにより
実現されたものである。なお、この第6図の説明
は後述する。
<実施例の構成>
以下、第1図の構成を説明する。この第1図に
おいては、演算処理回路ALU1,ALU2を中心
とする回路群と、更にその他の回路群に分けるこ
とができる。
おいては、演算処理回路ALU1,ALU2を中心
とする回路群と、更にその他の回路群に分けるこ
とができる。
演算処理回路ALU1には、DRAM21と
SRAM22が接続される。即ち、このDRAM2
1の内容は、クロツクφDにて読込がなされるラ
ツチ23に記憶され、SRAM22の内容は、ク
ロツクφSにて読込がなされるラツチ24に記憶さ
れる。そして、ラツチ23の出力はゲートg1を介
して演算処理回路ALU1のA入力端に入力する。
また、演算処理回路ALU1のA入力端にはゲー
トg2を介してバスABが接続される。
SRAM22が接続される。即ち、このDRAM2
1の内容は、クロツクφDにて読込がなされるラ
ツチ23に記憶され、SRAM22の内容は、ク
ロツクφSにて読込がなされるラツチ24に記憶さ
れる。そして、ラツチ23の出力はゲートg1を介
して演算処理回路ALU1のA入力端に入力する。
また、演算処理回路ALU1のA入力端にはゲー
トg2を介してバスABが接続される。
また、ラツチ24の出力は、演算回路ALU1
のB入力端に入力すると共に、クロツクφCで読
込動作するラツチ25に与えられ、ゲートg3を介
し更にゲートg4を介して、DRAM21に供給さ
れ、またゲートg3,g5を介してバスABに接続さ
れる。
のB入力端に入力すると共に、クロツクφCで読
込動作するラツチ25に与えられ、ゲートg3を介
し更にゲートg4を介して、DRAM21に供給さ
れ、またゲートg3,g5を介してバスABに接続さ
れる。
演算処理回路ALU1のO出力端からの出力は
ゲートg6を介してクロツクφA1で読込動作するラ
ツチ(Acc)26に印加される。また、ラツチ2
4の出力はゲートg7を介して、このラツチ26に
も供給される。そして、このラツチ26は上記バ
スABに接続される。
ゲートg6を介してクロツクφA1で読込動作するラ
ツチ(Acc)26に印加される。また、ラツチ2
4の出力はゲートg7を介して、このラツチ26に
も供給される。そして、このラツチ26は上記バ
スABに接続される。
また、上記ラツチ23の出力はゲートGJを介
してバスEBに接続される。このバスEBには、更
にゲートGKが接続されており、クロツクφE2で
読込動作をするラツチ27の出力が供給される。
してバスEBに接続される。このバスEBには、更
にゲートGKが接続されており、クロツクφE2で
読込動作をするラツチ27の出力が供給される。
更に、ラツチ27の出力はゲートg8を介して
SRAM22の入力端に与えられる。このSRAM
22には、バスOBがゲートg9を介して接続され、
また上記DRAMにもこのバスOBがゲートg10を
介して接続される。そして、上記演算処理回路
ALU1からは、演算結果が所定条件を満足する
ことを検出すると、インタラプト信号INTが出
力し、図示しないマイクロプロセツサに供給され
る。
SRAM22の入力端に与えられる。このSRAM
22には、バスOBがゲートg9を介して接続され、
また上記DRAMにもこのバスOBがゲートg10を
介して接続される。そして、上記演算処理回路
ALU1からは、演算結果が所定条件を満足する
ことを検出すると、インタラプト信号INTが出
力し、図示しないマイクロプロセツサに供給され
る。
上記ラツチ27には、指数変換ROM28の出
力に従い、更に補間処理を実行する乗算器(内部
に加算器を含む)29の出力が印加される。この
乗算器29のA入力端には、ゲートg11を介して
与えられるラツチ23の出力か、あるいはゲート
g12を介して与えられるバスABの出力が供給さ
れ、乗算器29のB入力端にはバスPBの出力が
供給される。
力に従い、更に補間処理を実行する乗算器(内部
に加算器を含む)29の出力が印加される。この
乗算器29のA入力端には、ゲートg11を介して
与えられるラツチ23の出力か、あるいはゲート
g12を介して与えられるバスABの出力が供給さ
れ、乗算器29のB入力端にはバスPBの出力が
供給される。
そして、また上記バスABの出力はゲートg13を
介し、更にゲートg14を介して、上記ゲートg8あ
るいはゲートGKに接続される。また、ゲート
g13,g14は、ゲートg15に接続される。
介し、更にゲートg14を介して、上記ゲートg8あ
るいはゲートGKに接続される。また、ゲート
g13,g14は、ゲートg15に接続される。
上記バスABへのラツチ26出力は、ラツチ3
0にクロツクφNで読込まれる。このラツチ30
には、周波数情報を累算して得られる位相角情報
がラツチされるもので、その出力は、出力波形の
形状に応じて異なるゲート制御がなされるゲート
31に供給されると共に、コンパレータ32に供
給される。そして、このコンパレータ32の出力
は、上記ゲート31に与えられると共にゲート3
3にも供給される。即ち、このゲート33は、ラ
ツチ34にクロツクφMで記憶されるモジユレー
シヨン情報を適宜ゲート制御して、乗/除算器3
5に供給する。
0にクロツクφNで読込まれる。このラツチ30
には、周波数情報を累算して得られる位相角情報
がラツチされるもので、その出力は、出力波形の
形状に応じて異なるゲート制御がなされるゲート
31に供給されると共に、コンパレータ32に供
給される。そして、このコンパレータ32の出力
は、上記ゲート31に与えられると共にゲート3
3にも供給される。即ち、このゲート33は、ラ
ツチ34にクロツクφMで記憶されるモジユレー
シヨン情報を適宜ゲート制御して、乗/除算器3
5に供給する。
乗/除算器35では、ゲート31を介して与え
られる位相角情報を、ゲート33を介して与えら
れるモジユレーシヨン情報にて除算するか、ある
いは両情報を乗算して、ラツチ36に記憶させ
る。このラツチ36は、クロツクφw1にて読込動
作をする。
られる位相角情報を、ゲート33を介して与えら
れるモジユレーシヨン情報にて除算するか、ある
いは両情報を乗算して、ラツチ36に記憶させ
る。このラツチ36は、クロツクφw1にて読込動
作をする。
そして、このラツチ36の出力は、例えば余弦
波の情報を記憶するROM37に与えられ、波形
情報をアクセスし、補間用の乗算器(内部に加算
器を含む)38を介して、ラツチ39にクロツク
φw2でストアされる。
波の情報を記憶するROM37に与えられ、波形
情報をアクセスし、補間用の乗算器(内部に加算
器を含む)38を介して、ラツチ39にクロツク
φw2でストアされる。
ラツチ39の出力は、ゲートg16を介してブー
のアルゴリズムによる乗算器40のX入力端に供
給される。またこの乗算器40のY入力端には、
クロツクφw3にて読込動作がなされるラツチ41
の出力がゲートg17を介して、またラツチ26の
出力がゲートg18を介して与えられ、その乗算結
果はZ入力端から出力し、ラツチ42にクロツク
φw3にて読込まれる。そして、このラツチ42の
出力は、クロツクφw3の発生によりラツチ41に
供給記憶され、またラツチ43にクロツクφUに
て読込まれる。
のアルゴリズムによる乗算器40のX入力端に供
給される。またこの乗算器40のY入力端には、
クロツクφw3にて読込動作がなされるラツチ41
の出力がゲートg17を介して、またラツチ26の
出力がゲートg18を介して与えられ、その乗算結
果はZ入力端から出力し、ラツチ42にクロツク
φw3にて読込まれる。そして、このラツチ42の
出力は、クロツクφw3の発生によりラツチ41に
供給記憶され、またラツチ43にクロツクφUに
て読込まれる。
そして、このラツチ43の出力は、ゲートGL
を介して、バスEBと接続されるほか、ゲートg19
を介して、ゲートg15,g13,g14とも接続される。
を介して、バスEBと接続されるほか、ゲートg19
を介して、ゲートg15,g13,g14とも接続される。
上記ゲートGLからの出力は、演算処理回路
ALU2のA入力端にも供給される。この演算処
理回路ALU2のB入力端には、PRAM45の出
力がラツチ46を介して与えられる。このラツチ
46には読込クロツクφPが与えられる。そして、
このラツチ46の出力は、更にクロツクφLにて
読込動作をするラツチ47にも供給される。この
ラツチ47の出力はゲートg20を介して、ラツチ
48にクロツクφTRでラツチされる。また、演算
処理回路ALU2のO出力端からはゲートg20を介
してラツチ(Acc)49にクロツクφA2で読込ま
れる。
ALU2のA入力端にも供給される。この演算処
理回路ALU2のB入力端には、PRAM45の出
力がラツチ46を介して与えられる。このラツチ
46には読込クロツクφPが与えられる。そして、
このラツチ46の出力は、更にクロツクφLにて
読込動作をするラツチ47にも供給される。この
ラツチ47の出力はゲートg20を介して、ラツチ
48にクロツクφTRでラツチされる。また、演算
処理回路ALU2のO出力端からはゲートg20を介
してラツチ(Acc)49にクロツクφA2で読込ま
れる。
また、このラツチ49には、ノイズジエネレー
タ44の出力がゲートg21を介し、更にゲートg22
を介して与えられる。またゲートg20を介して出
力される信号は、ゲートg23を介して演算処理回
路ALU2のB入力端にも入力される。
タ44の出力がゲートg21を介し、更にゲートg22
を介して与えられる。またゲートg20を介して出
力される信号は、ゲートg23を介して演算処理回
路ALU2のB入力端にも入力される。
そして、上記ラツチ49の出力は、DA変換器
(図示せず)に最終出力を与えるラツチ50にク
ロツクφ0にて読込まれると共に、バスPBにも与
えられ、ゲートg24にも与えられる。またゲート
g14,g19にも与えられる。
(図示せず)に最終出力を与えるラツチ50にク
ロツクφ0にて読込まれると共に、バスPBにも与
えられ、ゲートg24にも与えられる。またゲート
g14,g19にも与えられる。
そして、このラツチ49の出力は、ゲートg25
を介してラツチ48に供給されるほか、ゲート
g26を介してPRAM45にも記憶される。更にゲ
ートg27を介してラツチ48に記憶された内容が、
ゲートg25,g26にも与えられる。そして、上記
PRAMには、バスOBを介して供給される信号が
ゲートg28介し供給される。
を介してラツチ48に供給されるほか、ゲート
g26を介してPRAM45にも記憶される。更にゲ
ートg27を介してラツチ48に記憶された内容が、
ゲートg25,g26にも与えられる。そして、上記
PRAMには、バスOBを介して供給される信号が
ゲートg28介し供給される。
第1図中符号51はインターフエース回路であ
り、マイクロプロセツサから供給されるデータは
ゲートg30を介してバスOBに出力される。そし
て、また、各種コントロール信号は、インストラ
クシヨンデコーダ52にも供給される。そして、
この第1図の回路の動作を所定の順序(シーケン
ス)で制御するために、プログラムカウンタ53
があり、後述するように、このプログラムカウン
タ53の上位カウンタは00〜1Fまでの32ステツ
プをとるようになつていて、この32ステツプの処
理で基本的な演算ルーチンがおわる。
り、マイクロプロセツサから供給されるデータは
ゲートg30を介してバスOBに出力される。そし
て、また、各種コントロール信号は、インストラ
クシヨンデコーダ52にも供給される。そして、
この第1図の回路の動作を所定の順序(シーケン
ス)で制御するために、プログラムカウンタ53
があり、後述するように、このプログラムカウン
タ53の上位カウンタは00〜1Fまでの32ステツ
プをとるようになつていて、この32ステツプの処
理で基本的な演算ルーチンがおわる。
このプログラムカウンタ53には中位カウンタ
として14進のカウンタがあり、下位カウンタとし
て中位カウンタの2倍のレートのカウンタ(28
進)がある。
として14進のカウンタがあり、下位カウンタとし
て中位カウンタの2倍のレートのカウンタ(28
進)がある。
そして、これらのプログラムカウンタ53の出
力は、ROM54に与えられて、種々のマイクロ
インストラクシヨンコードが読出され、それを、
上記インストラクシヨンデコーダ52に与えて
個々の指令、各ゲートg1〜g30,GJ,GK,GLの
開閉指令、RAMに対するアドレス指定等のイン
ストラクシヨン信号を出力するようになつてい
る。
力は、ROM54に与えられて、種々のマイクロ
インストラクシヨンコードが読出され、それを、
上記インストラクシヨンデコーダ52に与えて
個々の指令、各ゲートg1〜g30,GJ,GK,GLの
開閉指令、RAMに対するアドレス指定等のイン
ストラクシヨン信号を出力するようになつてい
る。
なお、この第1図の回路構成において、第2図
の機能ブロツク図のうち、指数変換ROM4と指
数変換ROM18とは、この第1図の指数変換
ROM28、乗算器29に相当する。後述するよ
うに、第1図では1つの回路を用いて、周波数変
換、エンベロープの指数変換の双方の機能を実現
するようになり、ハードウエアの節約をはかつて
いる。
の機能ブロツク図のうち、指数変換ROM4と指
数変換ROM18とは、この第1図の指数変換
ROM28、乗算器29に相当する。後述するよ
うに、第1図では1つの回路を用いて、周波数変
換、エンベロープの指数変換の双方の機能を実現
するようになり、ハードウエアの節約をはかつて
いる。
また同様に、第2図の乗/除算器6は、第1図
の符号30〜36の回路に相当し、第2図のウエ
ーブジエネレータ11は、第1図の符号37,3
8,39の回路に相当する。
の符号30〜36の回路に相当し、第2図のウエ
ーブジエネレータ11は、第1図の符号37,3
8,39の回路に相当する。
そして、第2図では、乗算器12と乗算器13
を別個の構成としたが、第1図では、ブースのア
ルゴリズムによる乗算器40を時分割的に2回の
演算を1つの波形演算に対して行うようにしたも
のであり、この点でもハードウエアの低減をはか
つている。
を別個の構成としたが、第1図では、ブースのア
ルゴリズムによる乗算器40を時分割的に2回の
演算を1つの波形演算に対して行うようにしたも
のであり、この点でもハードウエアの低減をはか
つている。
その他の機能ブロツクは、演算処理回路ALU
1と演算処理回路ALU2とを中心とする回路に
よつて実現されており、その詳細な対応関係は後
に説明するとおりである。
1と演算処理回路ALU2とを中心とする回路に
よつて実現されており、その詳細な対応関係は後
に説明するとおりである。
<メモリマツプ>
次に、SRAM22,DRAM21,PRAM45
のメモリマツプを第7図〜第9図を参照して説明
する。
のメモリマツプを第7図〜第9図を参照して説明
する。
先ずSRAM22は、夫々8チヤンネル(ch0〜
ch7)の10種類のデータが記憶される。例えば1
つのチヤンネルの1つの種類のデータは16ビツト
から成る。なお、他のメモリについても同様のビ
ツト構成とする。
ch7)の10種類のデータが記憶される。例えば1
つのチヤンネルの1つの種類のデータは16ビツト
から成る。なお、他のメモリについても同様のビ
ツト構成とする。
そして、SRAM22には、ピツチエンベロー
プを生成するための情報FRR,FRS(既に第2図
で説明済、以下同様)、ウエーブエンベロープを
生成するための情報WRR,WRS、振幅エンベロ
ープを生成するための情報ARR,ARSが記憶さ
れる。また、中心周波数を指定する情報FC、波
形形状等を指定する情報WAV、周波数情報FI、
指数変換された振幅エンベロープ情報AREがこ
のSRAM22に記憶される。
プを生成するための情報FRR,FRS(既に第2図
で説明済、以下同様)、ウエーブエンベロープを
生成するための情報WRR,WRS、振幅エンベロ
ープを生成するための情報ARR,ARSが記憶さ
れる。また、中心周波数を指定する情報FC、波
形形状等を指定する情報WAV、周波数情報FI、
指数変換された振幅エンベロープ情報AREがこ
のSRAM22に記憶される。
また第8図に示すように、DRAM21には、
8チヤンネル(ch0〜ch7)の4種類のデータが
記憶される。即ち、ピツチエンベロープの現在値
情報FRC、ウエーブエンベロープの現在値情報
WRC、振幅エンベロープの現在値情報ARC、位
相角を指定する位相角情報PAがこのDRAM21
に記憶される。なお、夫々の情報は第2図にて示
したとおりのものである。
8チヤンネル(ch0〜ch7)の4種類のデータが
記憶される。即ち、ピツチエンベロープの現在値
情報FRC、ウエーブエンベロープの現在値情報
WRC、振幅エンベロープの現在値情報ARC、位
相角を指定する位相角情報PAがこのDRAM21
に記憶される。なお、夫々の情報は第2図にて示
したとおりのものである。
第9図は、PRAM45の記憶内容を示し、8
チヤンネル分の高調波抑止のための情報BL、8
チヤンネル分のモジユレーシヨン情報MOD、4
チヤンネル分のグロウル情報GLW、トレモロ情
報TRMが記憶される。
チヤンネル分の高調波抑止のための情報BL、8
チヤンネル分のモジユレーシヨン情報MOD、4
チヤンネル分のグロウル情報GLW、トレモロ情
報TRMが記憶される。
なお、グロウル効果、トレモロ効果をかけると
きは、2つのチヤンネル毎に相違する効果が付加
されるようになつていて、4種類の情報でよいこ
とになる。
きは、2つのチヤンネル毎に相違する効果が付加
されるようになつていて、4種類の情報でよいこ
とになる。
また、FM変調、あるいはノイズ変調を行うた
めの情報OSCは、5個分あり、奇数チヤンネル
ch1,3,5,7は変調を基本的にかけないため
0である情報OSC7が相等し、偶数チヤンネル
ch0はOSC0,ch2は情報OSC1,ch4は情報OSC
2,ch6は情報OSC3が相当する。
めの情報OSCは、5個分あり、奇数チヤンネル
ch1,3,5,7は変調を基本的にかけないため
0である情報OSC7が相等し、偶数チヤンネル
ch0はOSC0,ch2は情報OSC1,ch4は情報OSC
2,ch6は情報OSC3が相当する。
また、最終出力の累算情報OSMは1個分
(OSM4)、後述する変調レベルの基準を決める
情報αは2個分(α5が奇数チヤンネルch1,
3,5,7に対応し、α6が偶数チヤンネル
ch0,2,4,6に対応する)あり、これらが
PRAM45に記憶される。
(OSM4)、後述する変調レベルの基準を決める
情報αは2個分(α5が奇数チヤンネルch1,
3,5,7に対応し、α6が偶数チヤンネル
ch0,2,4,6に対応する)あり、これらが
PRAM45に記憶される。
<インストラクシヨン>
次に、これらのSRAM22,DRAM21,
PRAM45の内容に対し種々の演算を実行する
ために出力されるインストラクシヨンにつき説明
する。
PRAM45の内容に対し種々の演算を実行する
ために出力されるインストラクシヨンにつき説明
する。
即ち、これらのインストラクシヨンは、ROM
54の内容に従つてインストラクシヨンデコーダ
52から出力するものであつて、先ず、演算処理
回路ALU1に関連するインストラクシヨンにつ
いて説明する。
54の内容に従つてインストラクシヨンデコーダ
52から出力するものであつて、先ず、演算処理
回路ALU1に関連するインストラクシヨンにつ
いて説明する。
(イ) D+S→Acc
これは、DRAM21の内容をラツチ23を介
し更にゲートg1を介して演算処理回路ALU1の
A入力端に与えると共に、SRAM22の内容を
ラツチ24を介して演算処理回路ALU1のB入
力端に与え、その各入力端の内容を加算した後、
ゲートg6を介して、ラツチ(Acc)26にセツト
するものであり、具体的なインストラクシヨンと
しては、 FRC+FC→Acc,PA+FI→Acc がある。
し更にゲートg1を介して演算処理回路ALU1の
A入力端に与えると共に、SRAM22の内容を
ラツチ24を介して演算処理回路ALU1のB入
力端に与え、その各入力端の内容を加算した後、
ゲートg6を介して、ラツチ(Acc)26にセツト
するものであり、具体的なインストラクシヨンと
しては、 FRC+FC→Acc,PA+FI→Acc がある。
(ロ) D±S→Acc
これは、DRAM21の内容とSRAM22の内
容と、SRAM22の符号(±)によつて、加減
算し、それをラツチ26に記憶させるもので、具
体的なインストラクシヨンとしては、 FRC+FRR→Acc WRC+WRR→Acc ARC+ARR→Acc がある。
容と、SRAM22の符号(±)によつて、加減
算し、それをラツチ26に記憶させるもので、具
体的なインストラクシヨンとしては、 FRC+FRR→Acc WRC+WRR→Acc ARC+ARR→Acc がある。
(ハ) S→Acc
これはSRAM22の内容をラツチ24に記憶
させ、ゲートg7を開成し、ラツチ26に記憶させ
るもので、具体的なインストラクシヨンとして
は、 ARE→Acc がある。
させ、ゲートg7を開成し、ラツチ26に記憶させ
るもので、具体的なインストラクシヨンとして
は、 ARE→Acc がある。
(ニ) D→Acc
これはDRAM21の内容をラツチ26へ同様
に転送するもので、ゲートg1,g6を開成し、演算
処理回路ALU1を介して転送記憶する。具体的
なインストラクシヨンとしては、 PA→Acc がある。
に転送するもので、ゲートg1,g6を開成し、演算
処理回路ALU1を介して転送記憶する。具体的
なインストラクシヨンとしては、 PA→Acc がある。
(ホ) Acc−S→D
これは、ラツチ26の内容を、ゲートg2を開成
し、(ゲートg1は閉成し)て、演算処理回路ALU
1のA入力端に印加し、SRAM22の内容を演
算処理回路ALU1のB入力端に印加し、その減
算結果が一致またはSRAM22の内容を越えた
とき、SRAM22の内容をラツチφC、ゲートg3
を介し、ゲートg4を介してDRAM21に書込み、
また減算結果が、ラツチ26つまりAccの値が
SRAM22の内容を越えなければその値、Acc
をゲートg5を開成し、ゲートg4を介してDRAM
21に書込む。この具体的なインストラクシヨン
は、各エンベロープの計算の際に出力される Acc−FRS→FRC Acc−WRS→WRC Acc−ARS→ARC である。
し、(ゲートg1は閉成し)て、演算処理回路ALU
1のA入力端に印加し、SRAM22の内容を演
算処理回路ALU1のB入力端に印加し、その減
算結果が一致またはSRAM22の内容を越えた
とき、SRAM22の内容をラツチφC、ゲートg3
を介し、ゲートg4を介してDRAM21に書込み、
また減算結果が、ラツチ26つまりAccの値が
SRAM22の内容を越えなければその値、Acc
をゲートg5を開成し、ゲートg4を介してDRAM
21に書込む。この具体的なインストラクシヨン
は、各エンベロープの計算の際に出力される Acc−FRS→FRC Acc−WRS→WRC Acc−ARS→ARC である。
(ヘ) Acc→D
これは、ラツチ26の内容をゲートg5,g4を介
してDRAM21に書込むもので、具体的には、 Acc→PA という命令がある。
してDRAM21に書込むもので、具体的には、 Acc→PA という命令がある。
以上が、演算処理回路ALU1に関する主なイ
ンストラクシヨンである。次に、演算処理回路
ALU2についてのインストラクシヨンの説明を
する。
ンストラクシヨンである。次に、演算処理回路
ALU2についてのインストラクシヨンの説明を
する。
(ト) P+GJ→Acc
これは、PRAM45の内容をラツチ46に転
送し、演算処理回路ALU2のB入力端に印加す
るとともに、バスEB上のゲートGJを開成し、
DRAM21からの情報をA入力端に印加し、そ
の加算結果をゲートg20を介してラツチ(Acc)
49にストアさせるもので、具体的には、 GLW+GJ→Acc なるインストラクシヨンがあり、そのときゲート
GJを介して与えられる情報はWRCである。
送し、演算処理回路ALU2のB入力端に印加す
るとともに、バスEB上のゲートGJを開成し、
DRAM21からの情報をA入力端に印加し、そ
の加算結果をゲートg20を介してラツチ(Acc)
49にストアさせるもので、具体的には、 GLW+GJ→Acc なるインストラクシヨンがあり、そのときゲート
GJを介して与えられる情報はWRCである。
(チ)P+GK→Acc
これはPRAM45の内容を、同様にして演算
処理回路ALU2のB入力端に与えると共に、ゲ
ートGKを開成してバスEB上の情報をA入力端
に与え、その演算結果をラツチ49に記憶させ
る。
処理回路ALU2のB入力端に与えると共に、ゲ
ートGKを開成してバスEB上の情報をA入力端
に与え、その演算結果をラツチ49に記憶させ
る。
具体的には、
α+GK→Acc
という命令であつて、このときゲートGKを介し
て与えられるのは、周波数情報FI(ラツチ27の
出力)である。
て与えられるのは、周波数情報FI(ラツチ27の
出力)である。
(リ)P+GL→Acc
これはPRAM45の内容を、演算処理回路
ALU2のB入力端に与えると共に、ゲートGLを
開成し、バスEB上の情報を、演算処理回路ALU
2のA入力端に与え、双方の情報を加算してラツ
チ49に記憶させる。
ALU2のB入力端に与えると共に、ゲートGLを
開成し、バスEB上の情報を、演算処理回路ALU
2のA入力端に与え、双方の情報を加算してラツ
チ49に記憶させる。
具体的には、
OSM+GL→Acc
という命令であり、このときゲートGLを開成し
て入力するのはラツチ43の波形情報である。
て入力するのはラツチ43の波形情報である。
(ヌ)P→Acc
これは、PRAM45の内容をラツチ(Acc)
49に記憶させるもので、ゲートg23を開成して
行う。
49に記憶させるもので、ゲートg23を開成して
行う。
具体的には、
MOD→Acc
TRM→Acc
OSC→Acc
というインストラクシヨンがある。
(ル)Acc−P→TR
これは、ラツチ49の内容Accをゲートg24を
開成して演算処理回路ALU2のA入力端に与え、
PRAM45の内容を演算処理回路ALU2のB入
力端に与え、両情報を減算し、Accの値が
PRAM45の値を越えなければ値Accを、そう
でなければPRAM45の値を、ラツチ48に記
憶させる。
開成して演算処理回路ALU2のA入力端に与え、
PRAM45の内容を演算処理回路ALU2のB入
力端に与え、両情報を減算し、Accの値が
PRAM45の値を越えなければ値Accを、そう
でなければPRAM45の値を、ラツチ48に記
憶させる。
そのとき、ラツチ49の値を、ラツチ48に転
送する場合は、ゲートg25を開成して行ない、ラ
ツチ46の内容をラツチ48に転送するときは、
ラツチ47に一度転送し、ゲートg29を開成して
転送する。この具体的なインストラクシヨンとし
ては、 Acc−BL→TR がある。
送する場合は、ゲートg25を開成して行ない、ラ
ツチ46の内容をラツチ48に転送するときは、
ラツチ47に一度転送し、ゲートg29を開成して
転送する。この具体的なインストラクシヨンとし
ては、 Acc−BL→TR がある。
(ヲ)TR→P
これは、ラツチ48の内容をPRAM45に転
送するもので、ゲートg27,g26を開成して行う。
この具体的なインストラクシヨンとしては、 TR→MOD がある。
送するもので、ゲートg27,g26を開成して行う。
この具体的なインストラクシヨンとしては、 TR→MOD がある。
(ワ)Acc→P
これは、ラツチ49の内容をPRAM45に記
憶するもので、ラツチ49の内容をゲートg26を
開成して転送する。この具体的なインストラクシ
ヨンとしては、 Acc→OSM Acc→BL がある。
憶するもので、ラツチ49の内容をゲートg26を
開成して転送する。この具体的なインストラクシ
ヨンとしては、 Acc→OSM Acc→BL がある。
(カ)GL→Acc
これは、ゲートGL(ゲートg21)を開成し、バ
スEBの内容を、ラツチ49にゲートg22を介して
入力する。具体的には、ラツチ43に記憶された
波形情報または、ノイズジエネレータ44のノイ
ズ出力をこのラツチ49に記憶させる。
スEBの内容を、ラツチ49にゲートg22を介して
入力する。具体的には、ラツチ43に記憶された
波形情報または、ノイズジエネレータ44のノイ
ズ出力をこのラツチ49に記憶させる。
(ヨ)Acc→P
これは、ラツチ49の内容を、PRAM45に
書込むもので、ゲートg25,g26を介してPRAM4
5に供給する。具体的には Acc→OSC というインストラクシヨンがある。
書込むもので、ゲートg25,g26を介してPRAM4
5に供給する。具体的には Acc→OSC というインストラクシヨンがある。
次に、第6図を参照して、夫々のレートの処理
を説明する。
を説明する。
<5Kレートの演算>
先ず、ピツチエンベロープを算出する際は、
5Kレート毎であるが、上述した演算処理回路
ALU1では、DRAM21の情報FRCと、SRAM
22の情報FRRとを加減算し、レジスタ26に
記憶させる(FRC+FRR→Acc)。
5Kレート毎であるが、上述した演算処理回路
ALU1では、DRAM21の情報FRCと、SRAM
22の情報FRRとを加減算し、レジスタ26に
記憶させる(FRC+FRR→Acc)。
そして、この演算結果情報が、SRAM22の情
報FRSを越えるか否か判断し、もしそれ以下で
あれば、この情報FRCをDRAM21に記憶させ
る。もし上記判断により情報FRSを越えたこと
が検知されると、ピツチエンベロープの1つフエ
イズの折れ線の演算が完了したことになり、演算
処理回路ALU1はインタプラト信号INTを発生
し、かつ情報FRSを、DRAM21に情報FRCと
して記憶させる(Acc−FRS→FRC)。
報FRSを越えるか否か判断し、もしそれ以下で
あれば、この情報FRCをDRAM21に記憶させ
る。もし上記判断により情報FRSを越えたこと
が検知されると、ピツチエンベロープの1つフエ
イズの折れ線の演算が完了したことになり、演算
処理回路ALU1はインタプラト信号INTを発生
し、かつ情報FRSを、DRAM21に情報FRCと
して記憶させる(Acc−FRS→FRC)。
そして、次に、演算処理回路ALU1では、
DRAM21の情報FRCと、SRAM22の情報
FCとを加算し、ラツチ26に記憶させる。
DRAM21の情報FRCと、SRAM22の情報
FCとを加算し、ラツチ26に記憶させる。
そして、ラツチ26の出力はバスABを介して
乗算器29のA入力端に与えられる。そして、同
時に、演算処理回路ALU2の側ではPRAM45
からラツチ49に転送(OSC→Acc)されている
情報OSCが、バスPBを介して上記乗算器29の
B入力端に与えられる。
乗算器29のA入力端に与えられる。そして、同
時に、演算処理回路ALU2の側ではPRAM45
からラツチ49に転送(OSC→Acc)されている
情報OSCが、バスPBを介して上記乗算器29の
B入力端に与えられる。
そして、その双方の情報は加算された後、指数
変換ROM28を用いて指数変換され、且つ演算
精度をあげるために補間の乗算を、乗算器29が
実行し、その演算結果、即ち周波数情報FIを、
ゲートg8を介してSRAM22に記憶させる
(SRAMWRITE)とともに、ゲートGKを介しバス
EBを介して、演算処理回路ALU2のA入力端に
与える。
変換ROM28を用いて指数変換され、且つ演算
精度をあげるために補間の乗算を、乗算器29が
実行し、その演算結果、即ち周波数情報FIを、
ゲートg8を介してSRAM22に記憶させる
(SRAMWRITE)とともに、ゲートGKを介しバス
EBを介して、演算処理回路ALU2のA入力端に
与える。
そして同時に、PRAM45に記憶されている
情報αが、この演算処理回路ALU2のB入力端
にも与えられ、その加算結果がラツチ49に記憶
される(α+GK→Acc)。そして、次にラツチ4
9の出力が、PRAM45に高調波抑止情報BLと
して記憶される。
情報αが、この演算処理回路ALU2のB入力端
にも与えられ、その加算結果がラツチ49に記憶
される(α+GK→Acc)。そして、次にラツチ4
9の出力が、PRAM45に高調波抑止情報BLと
して記憶される。
以上の処理により、ピツチエンベロープ情報を
発生し、それに従つて周波数情報FIを発生する
とともに、周波数情報FIに従つた高調波抑止情
報BLを得ることができる。
発生し、それに従つて周波数情報FIを発生する
とともに、周波数情報FIに従つた高調波抑止情
報BLを得ることができる。
<10Kレートの演算>
演算処理回路ALU1では、DRAM21に記憶
された情報WRCと、SRAM22に記憶された情
報WRRとを加算して、ラツチ26にセツトする
(WRC+WRR→Acc)。そして、次にこのラツチ
26の出力Accが、SRAM22に記憶されてい
るWRSを越えたか否か判断し、もし越えていな
ければ、ラツチ26の内容をDRAM21に情報
WRCとしてセツトし、もし越えたら、演算処理
回路ALU1からインタラプト信号を発生すると
ともに、情報WRSを、DRAM21に情報WRC
として記憶させる(Acc−WRS→WRC)。
された情報WRCと、SRAM22に記憶された情
報WRRとを加算して、ラツチ26にセツトする
(WRC+WRR→Acc)。そして、次にこのラツチ
26の出力Accが、SRAM22に記憶されてい
るWRSを越えたか否か判断し、もし越えていな
ければ、ラツチ26の内容をDRAM21に情報
WRCとしてセツトし、もし越えたら、演算処理
回路ALU1からインタラプト信号を発生すると
ともに、情報WRSを、DRAM21に情報WRC
として記憶させる(Acc−WRS→WRC)。
また、上記DRAM21の情報WRCは、ゲート
GJを介し、バスEBを介して、演算処理回路
ALU2のA入力端に与えられ、同時にPRAM4
5からB入力端に供給される情報GLWと加算し、
ラツチ49にストアさせる(GLW+GJ→Acc)。
GJを介し、バスEBを介して、演算処理回路
ALU2のA入力端に与えられ、同時にPRAM4
5からB入力端に供給される情報GLWと加算し、
ラツチ49にストアさせる(GLW+GJ→Acc)。
そして次に、このラツチ49の出力Accと、
PRAM45に記憶された情報BLとの比較が行わ
れ、もし、情報Accが情報BLを越えていなけれ
ば、情報Accをにラツチ48に、セツトし、もし
情報Accが情報BLを越えていたら、情報BLをラ
ツチ48にセツトする(Acc−BL→TR)。そし
て次に、このラツチ48の内容をPRAM45に
情報MODとして転送記憶させる。
PRAM45に記憶された情報BLとの比較が行わ
れ、もし、情報Accが情報BLを越えていなけれ
ば、情報Accをにラツチ48に、セツトし、もし
情報Accが情報BLを越えていたら、情報BLをラ
ツチ48にセツトする(Acc−BL→TR)。そし
て次に、このラツチ48の内容をPRAM45に
情報MODとして転送記憶させる。
以上の処理によりウエーブエンベロープの演算
が実行され、その結果が高調波制限情報BLと比
較されて適切な値の情報がモジユレーシヨン情報
MODとして算出されることになる。
が実行され、その結果が高調波制限情報BLと比
較されて適切な値の情報がモジユレーシヨン情報
MODとして算出されることになる。
<20Kレートの演算>
演算処理回路ALU1では、DRAM21の出力
ARCと、SRAM22の出力ARRとが加減算され
て、ラツチ26にストアされる(ARC+ARR→
Acc)。そして、次にこのラツチ26の出力と、
SRAM22の出力ARSとの大小比較判断が行わ
れ、情報Accが情報ARSを越えていなければ、
情報AccがDRAM21に情報ARCとしてストア
され、情報ARSを越えたときは、あるエンベロ
ープのフエイズが終了したことになり、演算処理
回路ALU1がインタラプト信号INTを発生し、
かつ情報ARSを、DRAM21に情報ARCとして
ストアさせる(Acc−ARS→ARC)。
ARCと、SRAM22の出力ARRとが加減算され
て、ラツチ26にストアされる(ARC+ARR→
Acc)。そして、次にこのラツチ26の出力と、
SRAM22の出力ARSとの大小比較判断が行わ
れ、情報Accが情報ARSを越えていなければ、
情報AccがDRAM21に情報ARCとしてストア
され、情報ARSを越えたときは、あるエンベロ
ープのフエイズが終了したことになり、演算処理
回路ALU1がインタラプト信号INTを発生し、
かつ情報ARSを、DRAM21に情報ARCとして
ストアさせる(Acc−ARS→ARC)。
また、情報ARCは、乗算器29のA入力端に
印加される。演算処理回路ALU2側では、
PRAM45の内容TRMを、ラツチ49に転送し
た(TRM→Acc)後、バスPBを介して乗算器2
9のB入力端に供給する。
印加される。演算処理回路ALU2側では、
PRAM45の内容TRMを、ラツチ49に転送し
た(TRM→Acc)後、バスPBを介して乗算器2
9のB入力端に供給する。
乗算器29では、A入力端に入力する情報と、
B入力端に入力する情報とを加算した後、指数変
換するための処理を実行し、その出力AREを
SRAM22に記憶させる(SRAMWRITE)。
B入力端に入力する情報とを加算した後、指数変
換するための処理を実行し、その出力AREを
SRAM22に記憶させる(SRAMWRITE)。
このようにして、振幅エンベロープが発生し、
それとトレモロ情報と加算された後、指数変換が
なされて、エンベロープ情報AREが生成される。
それとトレモロ情報と加算された後、指数変換が
なされて、エンベロープ情報AREが生成される。
<40Kレートの演算>
演算処理回路ALU1では、DRAM21の内容
PAと、SRAM22の内容FIとを加算して新たな
位相角情報PAを生成しラツチ26に記憶させ
(PA+FI→Acc)るとともに、その内容を再び
DRAM21に入力する(Acc→PA)。
PAと、SRAM22の内容FIとを加算して新たな
位相角情報PAを生成しラツチ26に記憶させ
(PA+FI→Acc)るとともに、その内容を再び
DRAM21に入力する(Acc→PA)。
そして、この位相角情報PAは、バスABを介
してラツチ30に記憶される。また、PRAM4
5からは、情報MODが読出されラツチ49に記
憶され(MOD→Acc)た後、バスPBを介してラ
ツチ34にストアされる。
してラツチ30に記憶される。また、PRAM4
5からは、情報MODが読出されラツチ49に記
憶され(MOD→Acc)た後、バスPBを介してラ
ツチ34にストアされる。
そして、乗/除算器35及びゲート31,3
3、コンパレータ32は指定される演算をこの位
相角情報PAとモジユレーシヨン情報MODに対
し施し、しかる後、情報ANGとして送出しラツ
チ36にセツトする。そして、この情報ANGに
よつてROM37及び乗算器38が動作し、波形
情報Wが、ラツチ39に記憶されるようになる。
3、コンパレータ32は指定される演算をこの位
相角情報PAとモジユレーシヨン情報MODに対
し施し、しかる後、情報ANGとして送出しラツ
チ36にセツトする。そして、この情報ANGに
よつてROM37及び乗算器38が動作し、波形
情報Wが、ラツチ39に記憶されるようになる。
そして、このラツチ39の内容は、ゲートg16
を介して乗算器40のX入力端に与えられるとと
もに、Y入力端には、DRAM21の情報PAがラ
ツチ26に転送され(PA→Acc)、さらにその情
報Accが、バスABを介して窓関数情報Fとして
ゲートg18を介して与えられる。
を介して乗算器40のX入力端に与えられるとと
もに、Y入力端には、DRAM21の情報PAがラ
ツチ26に転送され(PA→Acc)、さらにその情
報Accが、バスABを介して窓関数情報Fとして
ゲートg18を介して与えられる。
そしてこの乗算器40のZ出力端からは、窓関
数Fと波形情報Wとを乗算した結果情報WFが、
出力しラツチ42にラツチされ、更にラツチ41
にラツチされた後乗算器40のX入力端に再度与
えられる。
数Fと波形情報Wとを乗算した結果情報WFが、
出力しラツチ42にラツチされ、更にラツチ41
にラツチされた後乗算器40のX入力端に再度与
えられる。
そして、今度は、SRAM22の出力AREがラ
ツチ26に一時記憶された後(ARE→Acc)、バ
スABを介して、更にゲートg18を介して乗算器4
0のY入力端に与えられる。
ツチ26に一時記憶された後(ARE→Acc)、バ
スABを介して、更にゲートg18を介して乗算器4
0のY入力端に与えられる。
即ち、このY入力端に与えられるのはエンベロ
ープ情報であり、このエンベロープ情報と、ラツ
チ41の波形情報とが乗算器40にて乗算され
て、ラツチ42,43を介し、更にゲートGLを
介して演算処理回路ALU2のA入力端に与えら
れる。そして同時に、PRAM45の内容OSMと
加算され、ラツチ49に記憶される(OSM+GL
→Acc)。
ープ情報であり、このエンベロープ情報と、ラツ
チ41の波形情報とが乗算器40にて乗算され
て、ラツチ42,43を介し、更にゲートGLを
介して演算処理回路ALU2のA入力端に与えら
れる。そして同時に、PRAM45の内容OSMと
加算され、ラツチ49に記憶される(OSM+GL
→Acc)。
そして、このラツチ49の内容は、再び
PRAM45に記憶される(Acc→OSM)ととも
に、例えば、8チヤンネルの全ての波形演算の終
了毎にクロツクφ0が出力されて、ラツチ49の
内容がラツチ50に転送記憶されて、最終出力と
なる。
PRAM45に記憶される(Acc→OSM)ととも
に、例えば、8チヤンネルの全ての波形演算の終
了毎にクロツクφ0が出力されて、ラツチ49の
内容がラツチ50に転送記憶されて、最終出力と
なる。
また、次にゲートGLを開成して、バスEB上の
波形情報か、ゲートg21を開成してノイズ情報か
をラツチ49にストアさせ(GL→Acc)、それを
PRAM45に情報OSCとして記憶させ、FM変調
かノイズ変調の場合に使用する。
波形情報か、ゲートg21を開成してノイズ情報か
をラツチ49にストアさせ(GL→Acc)、それを
PRAM45に情報OSCとして記憶させ、FM変調
かノイズ変調の場合に使用する。
このようにして、波形生成処理は実行される。
以上は、特に単一のチヤンネルに限つた動作を説
明したが、実際には8チヤンネルの異なる処理が
時分割的に、所定のシーケンスで行われるのであ
つて、以下にその動作を第10図を参照して説明
する。
以上は、特に単一のチヤンネルに限つた動作を説
明したが、実際には8チヤンネルの異なる処理が
時分割的に、所定のシーケンスで行われるのであ
つて、以下にその動作を第10図を参照して説明
する。
上述したように、プログラムカウンタ53は3
つに分けられており、上位のカウンタが32ステツ
プ(00〜1F)をとり、中位のカウンタが上位の
カウンタの1つのステツプの間に14個のステツプ
をとり、下位のカウンタは、中位のカウンタの1
ステツプを2つに分けてカウントするものであ
る。
つに分けられており、上位のカウンタが32ステツ
プ(00〜1F)をとり、中位のカウンタが上位の
カウンタの1つのステツプの間に14個のステツプ
をとり、下位のカウンタは、中位のカウンタの1
ステツプを2つに分けてカウントするものであ
る。
そして、上位カウンタが4ステツプ進む間に、
8チヤンネル(ch0〜ch7)の波形情報O0〜O7を
1回生成するものであり(ゲートGLの欄を参照
されたい。)、従つて、1つの特定のチヤンネルに
つき着目すれば、上位カウンタが一巡するとき、
8回新たな波形生成処理がなされる。
8チヤンネル(ch0〜ch7)の波形情報O0〜O7を
1回生成するものであり(ゲートGLの欄を参照
されたい。)、従つて、1つの特定のチヤンネルに
つき着目すれば、上位カウンタが一巡するとき、
8回新たな波形生成処理がなされる。
そして、これが40Kレートの演算であり、従つ
て、20Kレートの演算では、上位カウンタが一巡
する間に、1つのチヤンネルについて4回処理を
し、10Kレートの演算では同様に2回、5Kレー
トの演算では1回処理を行うようになる。
て、20Kレートの演算では、上位カウンタが一巡
する間に、1つのチヤンネルについて4回処理を
し、10Kレートの演算では同様に2回、5Kレー
トの演算では1回処理を行うようになる。
即ち、それは最終的な波形情報を生成しようと
した際に、ピツチエンベロープの生成処理の頻
度、ウエーブエンベロープの生成処理の頻度、振
幅エンベロープの生成処理の頻度に異なる重み付
けをして行つたものである。
した際に、ピツチエンベロープの生成処理の頻
度、ウエーブエンベロープの生成処理の頻度、振
幅エンベロープの生成処理の頻度に異なる重み付
けをして行つたものである。
そして、いま例えば上位カウンタの歩進速度は
1/5K(HZ)/32=6.25×10-6秒(160KHz)
となり、中位カウンタの歩進速度は、
1/5K(HZ)/(32×14)=4.46×10-7秒(2240K
Hz)
となり、下位カウンタの歩進速度は、
1/5K(HZ)/(32×14×2)=2.23×10-7秒
(4480KHz)
となる。
<5Kレートの演算>
先ずピツチエンベロープを求める演算について
チヤンネルOにつき説明する。
チヤンネルOにつき説明する。
プログラムカウンタ53の上位と中位のカウン
タ(以下同様)が01,Bのときに、SRAM22
から情報FRR0(添字はチヤンネル0を示してお
り、以下同様である。)を、DRAM21から情報
FRC0を読出し、夫々ラツチ24,23にセツト
した後、演算処理回路ALU1にて加算しラツチ
26に入力する。
タ(以下同様)が01,Bのときに、SRAM22
から情報FRR0(添字はチヤンネル0を示してお
り、以下同様である。)を、DRAM21から情報
FRC0を読出し、夫々ラツチ24,23にセツト
した後、演算処理回路ALU1にて加算しラツチ
26に入力する。
そして次にラツチ26の出力と、SRAM22
から読出される情報FRC0と上記演算処理回路
ALU1にて比較検出し、その出力にもとづき適切
な情報を、DRAM21にセツトする。
から読出される情報FRC0と上記演算処理回路
ALU1にて比較検出し、その出力にもとづき適切
な情報を、DRAM21にセツトする。
そして、この情報FRC0は、プログラムカウン
タ53が03,Dのときに 再びDRAM21から
読出され、同時にSRAM22から読出される情
報FC0と加算され、ラツチ26にセツトされる。
タ53が03,Dのときに 再びDRAM21から
読出され、同時にSRAM22から読出される情
報FC0と加算され、ラツチ26にセツトされる。
また、そのときPRAM45から読出された情
報OSC0は、ラツチ46にセツトされた後、ラツ
チ49に転送され、しかる後、乗算器29のB入
力端に供給される。
報OSC0は、ラツチ46にセツトされた後、ラツ
チ49に転送され、しかる後、乗算器29のB入
力端に供給される。
そして、A入力端に供給される情報とともに加
算され乗算器29にて指数変換され、周波数情報
FI0となる。いま、この第10図では周波数情報
FI0がラツチ27にラツチされた後の動作につい
て示されていないので、他のチヤンネル即ちチヤ
ンネル7の周波数情報FI7が、プログラムカウン
タ53が00,3の時点で得られた後の動作の説明
をする。
算され乗算器29にて指数変換され、周波数情報
FI0となる。いま、この第10図では周波数情報
FI0がラツチ27にラツチされた後の動作につい
て示されていないので、他のチヤンネル即ちチヤ
ンネル7の周波数情報FI7が、プログラムカウン
タ53が00,3の時点で得られた後の動作の説明
をする。
即ち、この周波数情報FI7は、ゲートGKを介
して、演算処理回路ALU2のA入力端に印加さ
れ、同時に、PRAM45から読出された情報α5
と加算され、ラツチ49にクロツクφA2の出力時
にラツチされ、しかる後に、PRAM45の所定
エリアに高調波抑止情報BLとして記憶される。
して、演算処理回路ALU2のA入力端に印加さ
れ、同時に、PRAM45から読出された情報α5
と加算され、ラツチ49にクロツクφA2の出力時
にラツチされ、しかる後に、PRAM45の所定
エリアに高調波抑止情報BLとして記憶される。
このようにして、ピツチエンベロープの情報が
生成される。なお、他のチヤンネルについても全
く同様である。
生成される。なお、他のチヤンネルについても全
く同様である。
<10Kレートの演算>
次にウエーブエンベロープを求める演算につい
て第10図を参照して説明する。チヤンネルOの
演算は、プログラムカウンタ53が00,Bのとき
開始されるのであつて、SRAM22から情報
WRR0がラツチ24に転送され、DRAM21か
ら情報WRC0がラツチ23に転送され、その結果
得られる情報がラツチ26にクロツクφA1の出力
時にセツトされる。
て第10図を参照して説明する。チヤンネルOの
演算は、プログラムカウンタ53が00,Bのとき
開始されるのであつて、SRAM22から情報
WRR0がラツチ24に転送され、DRAM21か
ら情報WRC0がラツチ23に転送され、その結果
得られる情報がラツチ26にクロツクφA1の出力
時にセツトされる。
そしてこのラツチ26の情報とSRAM22か
ら出力される情報WRS0との比較が次に行われ、
その結果適切な情報がDRAM21にセツトされ
る。また、この情報WRC0が、ゲートGJを介し
て、演算処理回路ALU2のA入力端に供給され
る。
ら出力される情報WRS0との比較が次に行われ、
その結果適切な情報がDRAM21にセツトされ
る。また、この情報WRC0が、ゲートGJを介し
て、演算処理回路ALU2のA入力端に供給され
る。
そして、PRAM45から読出されたグロウル
情報GLW0がクロツクφPの出力時点でラツチ46
にセツトされて、演算処理回路ALU2のB入力
端に与えられ、それが加算される。その演算結果
がラツチ49にセツトされ、次にPRAM45か
ら読出される情報BLがラツチ46にセツトされ、
その情報が演算処理回路ALU2にて比較され、
その結果適切な情報がラツチ48に読込まれ、し
かる後PRAM45にモジユレーシヨン情報
MOD0として記憶されることになる。
情報GLW0がクロツクφPの出力時点でラツチ46
にセツトされて、演算処理回路ALU2のB入力
端に与えられ、それが加算される。その演算結果
がラツチ49にセツトされ、次にPRAM45か
ら読出される情報BLがラツチ46にセツトされ、
その情報が演算処理回路ALU2にて比較され、
その結果適切な情報がラツチ48に読込まれ、し
かる後PRAM45にモジユレーシヨン情報
MOD0として記憶されることになる。
なお、チヤンネル0に対しては、グロウル情報
GLW0が対応したが、チヤンネル1に対してはグ
ロウル情報GLW2が、チヤンネル2に対してはグ
ロウル情報GLW1が、チヤンネル3に対してはグ
ロウル情報GLW3が、同様にチヤンネル4に対し
てはグロウル情報GLW0が、チヤンネル5に対し
てはグロウル情報GLW2が、チヤンネル6に対し
てはグロウル情報GLW1が、チヤンネル7に対し
てはグロウル情報GLW3が対応する。
GLW0が対応したが、チヤンネル1に対してはグ
ロウル情報GLW2が、チヤンネル2に対してはグ
ロウル情報GLW1が、チヤンネル3に対してはグ
ロウル情報GLW3が、同様にチヤンネル4に対し
てはグロウル情報GLW0が、チヤンネル5に対し
てはグロウル情報GLW2が、チヤンネル6に対し
てはグロウル情報GLW1が、チヤンネル7に対し
てはグロウル情報GLW3が対応する。
以上は、チヤンネル0についての説明であつた
が、他のチヤンネルについても同様に所定のシー
ケンスで行えるものである。
が、他のチヤンネルについても同様に所定のシー
ケンスで行えるものである。
<20Kレートの演算>
次に振幅エンベロープを求める演算について、
チヤンネル0につき着目して説明する。
チヤンネル0につき着目して説明する。
プログラムカウンタ53が、00,3のときに
SRAM22から情報ARR0が、DRAM21から
情報RC0が出力され、演算処理回路ALU1から
その演算結果出力が得られ、この結果情報と、再
びSRAM22から読出される情報ARS0とが比較
され、適切な情報が乗算器29のA入力端に与え
られる。
SRAM22から情報ARR0が、DRAM21から
情報RC0が出力され、演算処理回路ALU1から
その演算結果出力が得られ、この結果情報と、再
びSRAM22から読出される情報ARS0とが比較
され、適切な情報が乗算器29のA入力端に与え
られる。
そして、PRAM45からラツチ46にクロツ
クφPにて読込まれたトレモロ情報TRM4がラツ
チ49にクロツクφA2にて記憶された後バスPBを
介して乗算器29のB入力端に与えられる。
クφPにて読込まれたトレモロ情報TRM4がラツ
チ49にクロツクφA2にて記憶された後バスPBを
介して乗算器29のB入力端に与えられる。
そして、この乗算器29から指数変換された振
幅エンベロープ情報ARE0がラツチ27にクロツ
クφE2で、プログラムカウンタ53が00,Aのと
きにセツトされる(第10図EXPの欄参照)。
幅エンベロープ情報ARE0がラツチ27にクロツ
クφE2で、プログラムカウンタ53が00,Aのと
きにセツトされる(第10図EXPの欄参照)。
そして、この出力ARE0は、ゲートg8を介して
SRAM22にセツトされる。
SRAM22にセツトされる。
以上は、チヤンネル0の場合であるが、他のチ
ヤンネルに対しても順次所定のシーケンスで同様
の処理がなされることで、エンベロープ情報
ARE1〜ARE7が算出される。
ヤンネルに対しても順次所定のシーケンスで同様
の処理がなされることで、エンベロープ情報
ARE1〜ARE7が算出される。
<40Kレートの演算>
プログラムカウンタ53の上位、中位カウンタ
が00,6〜00,8〜00,9のときに、SRAM2
2から情報FI0を読出し、クロツクφSでラツチ2
4にセツトするようインストラクシヨンデコータ
52から所定のインストラクシヨンが発生する。
同時に、DRAM21からラツチ23に対し情報
PA0を入力する。
が00,6〜00,8〜00,9のときに、SRAM2
2から情報FI0を読出し、クロツクφSでラツチ2
4にセツトするようインストラクシヨンデコータ
52から所定のインストラクシヨンが発生する。
同時に、DRAM21からラツチ23に対し情報
PA0を入力する。
そして、その情報FI0とPA0とは、演算処理回
路ALU1に与えられ、演算PA0+FI0→Accが行
われ、それが再びDRAM21にセツトされると
ともに、ラツチ30にクロツクφNで読込まれる
(乗/除算器MPY/DIVのφNの欄参照)。そして
同時にラツチ34にはモジユレーシヨン情報
MOD0がPRAM45からラツチ46にクロツク
φPにて読込まれ(演算処理回路ALU2のφPの欄
参照。)その後ラツチ49にクロツクφA2にて読込
まれた後、与えられる。
路ALU1に与えられ、演算PA0+FI0→Accが行
われ、それが再びDRAM21にセツトされると
ともに、ラツチ30にクロツクφNで読込まれる
(乗/除算器MPY/DIVのφNの欄参照)。そして
同時にラツチ34にはモジユレーシヨン情報
MOD0がPRAM45からラツチ46にクロツク
φPにて読込まれ(演算処理回路ALU2のφPの欄
参照。)その後ラツチ49にクロツクφA2にて読込
まれた後、与えられる。
また、このとき、SRAM22に記憶されてい
る音色を決定する情報WAV0が読出され、この
乗/除算器35にも与えられて、演算の指定が行
われる。
る音色を決定する情報WAV0が読出され、この
乗/除算器35にも与えられて、演算の指定が行
われる。
そして、情報MOD0,PA0,WAV0に従つて、
プログラムカウンタ53が01,6となつたとき
に、ラツチ36に情報ANG0がクロツクφW1で読
込まれる。そして、このラツチ36の内容に従つ
て、ROM37、乗算器38は動作し、波形情報
W0を出力し、そればプログラムカウンタ53が
01,Eとなつたときに、ラツチ39にクロツク
φW2で読込まれる。
プログラムカウンタ53が01,6となつたとき
に、ラツチ36に情報ANG0がクロツクφW1で読
込まれる。そして、このラツチ36の内容に従つ
て、ROM37、乗算器38は動作し、波形情報
W0を出力し、そればプログラムカウンタ53が
01,Eとなつたときに、ラツチ39にクロツク
φW2で読込まれる。
そして、通常演奏(ノーマル)のときは、ブー
スの乗算器40のX入力端に、プログラムカウン
タ53の出力が02,3のときに与えられ、同時に
Y入力端には、DRAM21から読出された(演
算処理回路ALU1のφD,φA1の欄参照)情報PA0
が適宜変換されて、窓関数情報F0として与えら
れる。
スの乗算器40のX入力端に、プログラムカウン
タ53の出力が02,3のときに与えられ、同時に
Y入力端には、DRAM21から読出された(演
算処理回路ALU1のφD,φA1の欄参照)情報PA0
が適宜変換されて、窓関数情報F0として与えら
れる。
そして、この情報W0,F0の乗算出力WF0がプ
ログラムカウンタ53が02,8のときに乗算器4
0から出力し、それがクロツクφW3にてラツチ4
2にラツチされ、次にラツチ43にラツチされて
再び乗算器40のX入力端に与えられる(プログ
ラムカウンタ53が02,Eのとき)。
ログラムカウンタ53が02,8のときに乗算器4
0から出力し、それがクロツクφW3にてラツチ4
2にラツチされ、次にラツチ43にラツチされて
再び乗算器40のX入力端に与えられる(プログ
ラムカウンタ53が02,Eのとき)。
そして、このとき乗算器40のY入力端には、
SRAM22から読出された情報ARE0が与えられ
(演算処理回路ALU1のφS,φA1の欄参照)、その
演算結果がプログラムカウンタ53から03,4か
ら発生する。即ち、乗算器40では、WF0×A0
=00の演算が実行され、その出力がクロツクφW3
でラツチ42に記憶され、またクロツクφUでラ
ツチ43に出力される。
SRAM22から読出された情報ARE0が与えられ
(演算処理回路ALU1のφS,φA1の欄参照)、その
演算結果がプログラムカウンタ53から03,4か
ら発生する。即ち、乗算器40では、WF0×A0
=00の演算が実行され、その出力がクロツクφW3
でラツチ42に記憶され、またクロツクφUでラ
ツチ43に出力される。
そして、この出力00は、ゲートGLを介して
(演算処理回路ALU2のGKの欄参照)演算処理
回路ALU2に与えられ他方の入力として情報
OSM4が与えられて演算がなされた後ラツチ4
9にラツチされ、しかる後、PRAM45に記憶
され、またこの演算処理回路ALU2が全チヤン
ネル分の波形情報O0〜O7を加算したときクロツ
クφOにてラツチ50に最終出力情報がラツチさ
れて外部へ出力されることになる。
(演算処理回路ALU2のGKの欄参照)演算処理
回路ALU2に与えられ他方の入力として情報
OSM4が与えられて演算がなされた後ラツチ4
9にラツチされ、しかる後、PRAM45に記憶
され、またこの演算処理回路ALU2が全チヤン
ネル分の波形情報O0〜O7を加算したときクロツ
クφOにてラツチ50に最終出力情報がラツチさ
れて外部へ出力されることになる。
そして、また、ゲートGL(又はg21)が開成し、
ラツチ49に波形情報又はノイズ情報が入力さ
れ、それがPRAM45に情報OSCとして入力さ
れる。
ラツチ49に波形情報又はノイズ情報が入力さ
れ、それがPRAM45に情報OSCとして入力さ
れる。
以上、チヤンネル0(ch0)の波形生成動作に
つき説明したが、他のチヤンネルについても同様
である。また、上記例では、ノーマルな波形生成
処理時での動作を説明したが、リング変調を付加
するときは、ブースの乗算器40の動作が相違す
るようになる。
つき説明したが、他のチヤンネルについても同様
である。また、上記例では、ノーマルな波形生成
処理時での動作を説明したが、リング変調を付加
するときは、ブースの乗算器40の動作が相違す
るようになる。
即ち、チヤンネル0について再びその動作を以
下に説明する。リング変調時には、プログラムカ
ウンタ53の出力が02,3のときに、乗算器40
のX入力端に波形情報W0が与えられ、Y入力端
には、チヤンネル5の出力情報O5が与えられる。
下に説明する。リング変調時には、プログラムカ
ウンタ53の出力が02,3のときに、乗算器40
のX入力端に波形情報W0が与えられ、Y入力端
には、チヤンネル5の出力情報O5が与えられる。
即ち、この情報O5は、チヤンネル5の演算を
行つて得られるもので、ブースの乗算器40で
は、そのための演算を、プログラムカウンター5
3が00,Bのときから開始している。即ち、W5
×F5=WF5の演算を先ず行い、この情報WF5に
対して振幅エンベロープ情報A5との乗算をプロ
グラムカウンタ53が01,8から開始し、その結
果情報O5がラツチ41にセツトされる。
行つて得られるもので、ブースの乗算器40で
は、そのための演算を、プログラムカウンター5
3が00,Bのときから開始している。即ち、W5
×F5=WF5の演算を先ず行い、この情報WF5に
対して振幅エンベロープ情報A5との乗算をプロ
グラムカウンタ53が01,8から開始し、その結
果情報O5がラツチ41にセツトされる。
そして、この乗算結果W0O5と、チヤンネル0
のエンベロープ情報A0とが再び乗算器40で乗
算されて、クロツクφUによりラツチ43にその
乗算結果W0A0O5が得られ、これが出力波形情報
O0としてゲートGLを介して演算処理回路ALU2
に供給される。
のエンベロープ情報A0とが再び乗算器40で乗
算されて、クロツクφUによりラツチ43にその
乗算結果W0A0O5が得られ、これが出力波形情報
O0としてゲートGLを介して演算処理回路ALU2
に供給される。
このように、チヤンネル0の波形演算に対して
はチヤンネル5の波形出力O5が与えれてリング
変調効果を実現するようになる。同様にチヤンネ
ル2に対してはチヤンネル7が、チヤンネル4に
対してはチヤンネル1が、チヤンネル6に対して
はチヤンネル3が組合されて、合計最大4音のリ
ング変調効果音が発生することになる。
はチヤンネル5の波形出力O5が与えれてリング
変調効果を実現するようになる。同様にチヤンネ
ル2に対してはチヤンネル7が、チヤンネル4に
対してはチヤンネル1が、チヤンネル6に対して
はチヤンネル3が組合されて、合計最大4音のリ
ング変調効果音が発生することになる。
以上本発明の一実施例につき説明したが、この
実施例においては、各演算レートが相違する複数
の演算を、プログラムカウンタ53の出力に従つ
て所定のシーケンスで実行するようにして、小規
模の回路で、波形生成のための複数の演算を全て
実行することができるものである。
実施例においては、各演算レートが相違する複数
の演算を、プログラムカウンタ53の出力に従つ
て所定のシーケンスで実行するようにして、小規
模の回路で、波形生成のための複数の演算を全て
実行することができるものである。
なお、上記実施例では、ピツチエンベロープ、
ウエーブエンベロープ、振幅エンベロープを夫々
5Kレート、10Kレート、20Kレートとしたが、そ
の比率は適宜変更でき、要は波形生成のために時
間と共に頻繁に変化すべきフアクターの演算のレ
ートを高くすればよい。
ウエーブエンベロープ、振幅エンベロープを夫々
5Kレート、10Kレート、20Kレートとしたが、そ
の比率は適宜変更でき、要は波形生成のために時
間と共に頻繁に変化すべきフアクターの演算のレ
ートを高くすればよい。
また、波形生成のための演算としては、必ずし
も上述した3種類のエンベロープを用いて行うも
のでなくともよい。
も上述した3種類のエンベロープを用いて行うも
のでなくともよい。
また、回路構成としては、加減算器(ALU)
や乗除算器等を複数組合せて所定のシーケンスに
従つて演算を行うものであればよく、上記実施例
の回路構成に限定されるものでない。
や乗除算器等を複数組合せて所定のシーケンスに
従つて演算を行うものであればよく、上記実施例
の回路構成に限定されるものでない。
以上述べたように本発明によれば、プログラム
メモリ手段には、複数種の処理が所定の順序でか
つ各処理が異なる繰り返し間隔で配置されたマイ
クロプログラムを記憶し、このプログラムメモリ
手段を最初から順次時分割に繰り返しアクセスす
ることにより、各処理に対応する一連の演算命令
は夫々異なる周期を以て実行されるため、変化の
ゆつくりしたデータの処理は他の処理が複数回処
理が実行される毎に1回だけとなつて無駄な処理
が実行されなくなり、全体の処理時間が短くな
る。また、プログラムメモリ手段は単に最初から
順にアクセスするだけでよいから、従来のインタ
ーラプト制御のような複雑なハードウエア構成も
必要なくなる、という利点を有する。
メモリ手段には、複数種の処理が所定の順序でか
つ各処理が異なる繰り返し間隔で配置されたマイ
クロプログラムを記憶し、このプログラムメモリ
手段を最初から順次時分割に繰り返しアクセスす
ることにより、各処理に対応する一連の演算命令
は夫々異なる周期を以て実行されるため、変化の
ゆつくりしたデータの処理は他の処理が複数回処
理が実行される毎に1回だけとなつて無駄な処理
が実行されなくなり、全体の処理時間が短くな
る。また、プログラムメモリ手段は単に最初から
順にアクセスするだけでよいから、従来のインタ
ーラプト制御のような複雑なハードウエア構成も
必要なくなる、という利点を有する。
図面は、本発明の一実施例を示し、第1図はそ
の回路構成図、第2図は、その機能ブロツクを示
す図、第3図はピツチエンベロープを示す図、第
4図はウエーブエンベロープを示す図、第5図は
振幅エンベロープを示す図、第6図は同実施例の
動作を示す図、第7図は、第1図のSRAMの内
容を示す図、第8図は、第1図のDRAMの内容
を示す図、第9図は、第1図のPRAMの内容を
示す図、第10図は同実施例のタイムチヤートを
示す図である。 ALU1,ALU2……演算処理回路、21……
DRAM、22……SRAM、28……指数変換
ROM、29……乗算器、35……乗/除算器、
38……乗算器、40……乗算器、45……
PRAM、52……インストラクシヨンデコーダ、
53……プログラムカウンタ、54……ROM。
の回路構成図、第2図は、その機能ブロツクを示
す図、第3図はピツチエンベロープを示す図、第
4図はウエーブエンベロープを示す図、第5図は
振幅エンベロープを示す図、第6図は同実施例の
動作を示す図、第7図は、第1図のSRAMの内
容を示す図、第8図は、第1図のDRAMの内容
を示す図、第9図は、第1図のPRAMの内容を
示す図、第10図は同実施例のタイムチヤートを
示す図である。 ALU1,ALU2……演算処理回路、21……
DRAM、22……SRAM、28……指数変換
ROM、29……乗算器、35……乗/除算器、
38……乗算器、40……乗算器、45……
PRAM、52……インストラクシヨンデコーダ、
53……プログラムカウンタ、54……ROM。
Claims (1)
- 【特許請求の範囲】 1 複数種の処理が所定の順序でかつ各処理が異
なる繰り返し間隔で配置されたマイクロプログラ
ムを記憶したプログラムメモリ手段と、 このプログラムメモリ手段に記憶された上記マ
イクロプログラムを最初から所定の順序で繰返し
アクセスするアクセス手段と、 このアクセス手段により上記マイクロプログラ
ムを解読して上記複数の処理の各処理を行う為の
一連の演算命令を順次送出するインストラクシヨ
ンデコーダ手段と、 上記複数の処理に必要なデータを記憶したデー
タメモリ手段と、 このデータメモリ手段からのデータに対して上
記インストラクシヨンデコーダ手段からの各処理
に基づく一連の演算命令に応答して夫々対応する
演算を実行する複数の演算手段と、 を具備した信号処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59167117A JPS6145296A (ja) | 1984-08-09 | 1984-08-09 | 信号処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59167117A JPS6145296A (ja) | 1984-08-09 | 1984-08-09 | 信号処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6145296A JPS6145296A (ja) | 1986-03-05 |
| JPH0573031B2 true JPH0573031B2 (ja) | 1993-10-13 |
Family
ID=15843750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59167117A Granted JPS6145296A (ja) | 1984-08-09 | 1984-08-09 | 信号処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6145296A (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2649910B2 (ja) * | 1985-10-09 | 1997-09-03 | ヤマハ株式会社 | 楽音信号発生方法 |
| JP2722460B2 (ja) * | 1987-10-02 | 1998-03-04 | カシオ計算機株式会社 | 楽音合成装置 |
| JPH0656553B2 (ja) * | 1987-10-14 | 1994-07-27 | ヤマハ株式会社 | 楽音信号発生装置 |
| JPH0750799Y2 (ja) * | 1987-10-14 | 1995-11-15 | カシオ計算機株式会社 | 楽音位相同期装置 |
| JP2576618B2 (ja) * | 1988-12-29 | 1997-01-29 | カシオ計算機株式会社 | 処理装置 |
| JP2576615B2 (ja) * | 1988-12-29 | 1997-01-29 | カシオ計算機株式会社 | 処理装置 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS605977B2 (ja) * | 1974-05-15 | 1985-02-15 | 日本電気株式会社 | マイクロプログラム制御装置 |
| JPS513743A (ja) * | 1974-06-28 | 1976-01-13 | Hitachi Ltd | |
| JPS52107734A (en) * | 1976-02-16 | 1977-09-09 | Hitachi Ltd | Data processing unit |
| JPS583238B2 (ja) * | 1976-10-16 | 1983-01-20 | ヤマハ株式会社 | 電子楽器 |
| JPS6042953B2 (ja) * | 1976-12-29 | 1985-09-25 | ヤマハ株式会社 | 電子楽器用ウエイブジエネレ−タ |
| JPS54127647A (en) * | 1978-03-28 | 1979-10-03 | Toshiba Corp | Microprogram control system |
| JPS5729150A (en) * | 1980-07-30 | 1982-02-17 | Toshiba Corp | Method and device for arithmetic control |
| JPS58140793A (ja) * | 1982-02-15 | 1983-08-20 | 株式会社河合楽器製作所 | 電子楽器の演奏情報検出方式 |
| JPS59771A (ja) * | 1982-06-28 | 1984-01-05 | Fujitsu Ltd | デ−タ処理装置における演算処理部選択制御方式 |
-
1984
- 1984-08-09 JP JP59167117A patent/JPS6145296A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6145296A (ja) | 1986-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4085644A (en) | Polyphonic tone synthesizer | |
| US4201105A (en) | Real time digital sound synthesizer | |
| US3913442A (en) | Voicing for a computor organ | |
| US4373416A (en) | Wave generator for electronic musical instrument | |
| JPS5865493A (ja) | 波形発生装置 | |
| JPS6116994B2 (ja) | ||
| US4119005A (en) | System for generating tone source waveshapes | |
| JPH0573031B2 (ja) | ||
| JPH0115075B2 (ja) | ||
| JPS59137997A (ja) | 波形メモリ読出し方式 | |
| JPS58200297A (ja) | 包絡線信号発生装置 | |
| US5687105A (en) | Processing device performing plural operations for plural tones in response to readout of one program instruction | |
| JPH0430597B2 (ja) | ||
| JPS58200294A (ja) | 包絡線信号発生装置 | |
| JPH07325581A (ja) | 楽音発生装置 | |
| JPS58200296A (ja) | 包絡線信号発生方法 | |
| JPS649639B2 (ja) | ||
| JP2723041B2 (ja) | 楽音発生装置 | |
| JPH02179693A (ja) | 処理装置 | |
| JPH0468632B2 (ja) | ||
| JP2615544B2 (ja) | 電子楽器の音源装置 | |
| JP2767973B2 (ja) | 電子楽器 | |
| JPH02179698A (ja) | 処理装置 | |
| JPH07152380A (ja) | 楽音制御情報発生装置 | |
| JPH02179692A (ja) | 処理装置 |