JPH031678B2 - - Google Patents

Info

Publication number
JPH031678B2
JPH031678B2 JP56074243A JP7424381A JPH031678B2 JP H031678 B2 JPH031678 B2 JP H031678B2 JP 56074243 A JP56074243 A JP 56074243A JP 7424381 A JP7424381 A JP 7424381A JP H031678 B2 JPH031678 B2 JP H031678B2
Authority
JP
Japan
Prior art keywords
output
data
gate
input
adder
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
Application number
JP56074243A
Other languages
English (en)
Other versions
JPS57189198A (en
Inventor
Masanori Ishibashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP56074243A priority Critical patent/JPS57189198A/ja
Publication of JPS57189198A publication Critical patent/JPS57189198A/ja
Publication of JPH031678B2 publication Critical patent/JPH031678B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 この発明は、電子楽音生成装置における可変ク
ロツク発生装置に関する。
例えば、電子楽器のエンベロープ制御回路にお
いては、エンベロープのアタツクスピード、デイ
ケイスピード、リリーススピードを可変制御する
ために、発生周期が可変となる可変クロツク発生
装置を利用している。この従来の可変クロツク発
生装置としては、例え、ドローバなどの操作によ
り、発振器の発振周波数をアナログ的に可変とす
るものがある。この装置の場合、発振周波数はリ
ニアに変化して音楽的に好ましいが、反面、上記
エンベロープ制御回路を時分割多重処理によつて
動作させるためには、発振器が複数個必要とな
り、回路構成となる欠点がある。
また、他の装置として、1個のバイナリカウン
タの計数出力を利用するものがある。この装置で
は、時分割多重処理の場合にも、バイナリカウン
タの数は1個ですみ、回路構成が簡単となるが、
反面、上記バイナリカウンタの計数速度が細かく
変化させることが不可能であり、このため、本来
の目的を充分に達成できない欠点がある。
更に、他の装置としては、プリセツトカウンタ
を用意し、このプリセツトカウンタに任意のプリ
セツト値を設定し、また、そのキヤリー出力によ
つて、上記エンベロープ制御回路を駆動するもの
がある。この装置の場合、クロツク(上記キヤリ
ー出力)の発生周期は、プリセツト値を細かく設
定することにより、細かく可変とすることができ
る利点があるが、反面、時分割多重処理を行なう
ためには、複数個のプリセツトカウンタが必要と
なる欠点がある。
この発生は、上述した事情を背景に、なされた
もので、その目的とするところは、1個の簡単な
回路により、しかも、時分割多重処理も上記1個
の回路により、可能とした電子楽音生成装置にお
ける可変クロツク発生装置を提供することであ
る。
以下、図面を参照してこの発明の一実施例を説
明する。第1図は、上記実施例による可変クロツ
ク発生回路1が出力する可変クロツクENV
EXECUTEによりADSRエンベロープエネレー
タ2を駆動し、また、可変クロツク
LFOEXECUTEによつて、低周波数発振回路
(LFO)3を駆動する場合のブロツク回路図を示
す。ここで、上記ADSRエンベロープジエネレー
タ2は、電子楽器における楽音信号に対し、アタ
ツク、デイケイ、サステイン、リリースの各部か
ら成るエンベロープを付加するためのエンベロー
プデータを発生する回路である。このため、ドロ
ーバなどの操作によつて設定出力されるアタツク
スピードコード、デイケイスピードコード、リリ
ーススピードコードが可変クロツク発生回路1に
与えられており、また、これに応じて可変クロツ
ク発生回路1は、対応するスピード(発生周期)
の可変クロツクENV EXECUTEを発生し、
ADSRエンベロープジエネレータ2に与えるもの
である。
一方、低周波数発振回路3の発振周波数を設定
するLFOスピードコードが、同様にドローバあ
るいはボリウムなどの操作により出力して、可変
クロツク発生回路1に与えられ、また、これに対
し、可変クロツク発生回路1からは、対応するス
ピード(発生周期)の可変クロツクLOF
EXECUTEが出力し、低周波発振回路3に与え
られる。
なお、上記ADSRエンベロープジエネレータが
発生するエンベロープデータは、楽音作成回路
(図示略)に送出され、また、低周波発振回路3
が発生する周波数信号は、例えば、上記楽音作成
回路に同様に送出され、発生楽音に対するトレモ
ロ効果、ビブラート効果等の各効果の付加に利用
される。
次に、第2図を参照して上記可変クロツク発生
回路1の詳細を説明する。なお、第3図Aは、こ
の実施例回路において使用される回路記号とその
論理式、一般記号との対応関係を示したもので、
それぞれ、オアゲート、アンドゲート、スイツチ
ングゲートを示している。第3図Bは、第3図A
の回路記号の応用例を示し、特に入力信号がa,
b,cの3種類の場合を示している。ここで、入
力信号cと出力信号dとの関係に特色がある。
第2図において、図中、4はビツト構成のバイ
ナリカウンタである。このバイナリカウンタ4
は、クロツクφ8により駆動されて計数動作を実
行する。なお、上記クロツクφ8は、ADSRエン
ベロープジエネレータ2などにおいて利用される
システムクロツクφ0の周期の8倍の周期をもつ
たクロツクである。しかして、バイナリカウンタ
4の各ビツト(重み付けがそれぞれ、1、2、
4、8、16、32、64、128)から出力する計数値
データは、直接または、対応するインバータ51
〜58を介し、NOR型ROM6の行ラインl11
l22、……、l128128に夫々入力されてい
る。
NOR型ROM6は、図中丸印で示すNORゲー
トによつて構成されるROM(リードオンメモリ)
で、デコーダとしての機能を有する。そして、そ
の出力ラインである列ラインa〜hから出力する
クロツクは夫々、8個のアンドゲートから成るア
ンドゲート群7、アンドゲート群8の対応するア
ンドゲートに、ゲート制御信号として与えられて
いる。しかして、上記NOR型ROM6の列ライン
aからは、バイナリカウンタ4の1周期の計数動
作において、1発のクロツクが、該バイナリカウ
ンタ4の計数値データの内容が「128」のとき出
力するものである。(第4図A参照)。同様に、列
ラインbからは、1周期に2発のクロツクが、上
記計数値データの内容が夫々「64」、「192」のと
き出力する。更に同様に、列ラインc、d、e、
f、g、hからは夫々、1周期に4発、8発、16
発、32発、64発、128発のクロツクが、第4図A
にみられるように、すべてのクロツクの発生タイ
ミング(上記計数値データの内容)が異なつて出
力する。即ち、上記バイナリカウンタ4の1周期
の計数動作において、列ラインa〜hから同一タ
イミングに同時に出力するクロツクが発生しない
ようにして、NOR型ROM6が構成されている。
一方、夫々が8ビツトデータから成るアタツク
スピードコード、デイケイスピードコード、リリ
ーススピードコードが、夫々が8個のスイツチン
グゲートから成るスイツチングゲート群9、スイ
ツチングゲート群10、スイツチングゲート群1
1の対応するスイツチングゲートに与えられてい
る。そして、上記スイツチングゲート群9,1
0,11は夫々、デコーダ12の出力ライン1,
2,3からの出力信号によつてゲート制御される
ようになつている。
上記デコーダ12には、ADSRエンベロープジ
エネレータ2内の後述するエンベロープステータ
スカウンタからのエンベロープステータスコード
が与えられている。しかして、このエンベロープ
ステータスコードは、エンベロープのアタツク期
間中は、その内容が「1」、デイケイおよびサス
テインの各期間中は「2」、リリース期間中は
「3」と規定されているコードであり、また、上
記内容が「1」、「2」、「3」のとき、夫々、出力
ライン1,2,3から2値論理レベルの“1”信
号が出力し、対応するスイツチングゲート群9,
10,11を夫々開成する。
スイツチングゲート群9,10,11の各スイ
ツチングゲートの出力は共に、アンドゲート群7
の対応するアンドゲート77〜70に与えられてい
る。また、上記アンドゲート群8の各アンドゲー
ト87〜80には、5ビツトデータから成るLFOス
ピードコードが与えられている。そして、アンド
ゲート群7の各アンドゲートの出力は、オアゲー
ト群13に与えられ、可変クロツクENV
EXECUTEとされる。また、アンドゲート群8
の各アンドゲートの出力は、オアゲート群14に
与えられ、可変クロツクLFO EXECUTEとされ
る。
可変クロツク発生回路1の上記構成により、例
えば、アタツクスピードコードが「00001111」に
設定されていた場合、エンベロープのアタツク期
間においては、スイツチングゲート群9内のスイ
ツチングゲート90〜93の出力が“1”、スイツ
チングゲート94〜97の出力が“0”となる。し
たがつてこれに応じて、バイナリカウンタ4の各
周期ごとに、アンドゲート群7のうち、アンドゲ
ート70〜73を介し、NOR型ROM6の例ライン
a〜dから出力するクロツクがオアゲート群13
に与えられ、また、これらクロツクはオア加算さ
れて、第4図Bに示すような、1周期に15発出力
する可変クロツクENV EXECUTEとされる。
上述したことから明らかなように、アタツクス
ピードを最も遅くするには、アタツクスピードコ
ードを「00000001」に設定しておけばよく、その
場合、バイナリカウンタ4の各周期ごとに、
NOR型ROMの列ラインaからのクロツクがアン
ドゲート70を介し、オアゲート群13に与えら
れ、1周期に1発の可変クロツクENV
EXECUTEとなる。
アタツクスピードを最も速くするには、アタツ
クスピードコードを「11111111」に設定する。そ
して、この場合には、各周期ごとに列ラインa〜
hからのすべてのクロツクがアンドゲート群7を
介し、オアゲート群13に与えられ、この結果、
1周期に255発出力する可変クロツクENV
EXECUTEとなる。このようにしてアタツクス
ピードは、アタツクスピードコードの内容に比例
して速くなるものである。また、デイケイスピー
ドコード、リリーススピードコードについても全
く同様であり、デイケイスピード、リリーススピ
ードは、デイケイスピードコード、リリーススピ
ードコードの設定値に応じて可変クロツクENV
EXECUTEの発生クロツク数を可変とすること
により、任意のスピードに変化させることができ
る。
同様に、可変クロツクLFO EXECUTEの発生
クロツク数も、LFOスピードコードの設定値に
比例して、変化するものである。
次に、第5図A,Bを参照して、上記ADSRエ
ンベロープジエネレータ2の詳細を説明する。図
中21はエンベロープステータカウンタで、図示
するように、シフトレジスタ22およびこのシフ
トレジスタ22の入力側に設けられたゲート回路
23により構成されている。このエンベロープス
テータスカウンタ21は、作成されるエンベロー
プのアタツク、デイケイ、サステイン、リリー
ス、更に後述する空チヤンネルの各状態を、その
計数値の内容により示すものである。
茲で、この実施例では、時分割多重処理方式を
採用して、第5図A,Bの回路構成で8種類のエ
ンベロープを生成可能とされている。そして、こ
れら時分割多重処理によるエンベロープジエネレ
ータの分割を夫々チヤンネルと称し、第1チヤン
ネル〜第8チヤンネルと夫々命名しておく。これ
により、この実施例の場合、最大8個のキーが同
時にオン、オフされた場合にも、これらの各キー
に対するエンベロープを時分割多重処理により、
すべて制御可能である。そして、第5図A,B中
のシフトレジスタ22をはじめとする各種シフト
レジスタは、すべて8チヤンネル分の容量をも
ち、夫々8本のレジスタがカスケード接続されて
なり、また、第1段目のレジスタへの入力データ
は、シフトクロツク(上記システムクロツクφ0
により駆動されて後段側に順次シフトされるよう
になつている。また、同時に2個以上のキーがオ
ン、オフされていない場合には、何れかのチヤン
ネルのエンベロープジエネレータが空いている
が、このようなエンベロープジエネレータのチヤ
ンネルを空チヤンネルと称することにする。更
に、オンされたキーに対するチヤンネル割当て動
作等、この実施例の電子楽器全体の動作の制御
は、CPU(中央処理装置:図示略)によつて行な
われるが、その制御内容の詳細については省略す
る。
上記シフトレジスタ22は、容量2ビツトのレ
ジスタ8本をカスケード接続してなり、また、そ
の下位ビツト(1ビツト目)の出力は、上位ビツ
ト(2ビツト目)の出力と共に、デコーダ24に
与えられるほか、アンドゲート25,26、オア
ゲート27,28を夫々介して入力側に帰還され
ている。他方、上位ビツトの出力は、オアゲート
29,30、アンドゲート31,32を夫々介
し、入力側に帰還されている。
空チヤンネルがある場合において、あるキーが
オンされると、このオンキーはある空チヤンネル
をCPUにより割当てられるが、この場合、キー
オン操作と共に、キーボード(図示略)から出力
されるキーオンパルス(1ビツトタイムパルス)
が上記空チヤンネルに設定されているタイミング
にてエンベロープステータスカウンタ21に入力
され、オアゲート27,28を介し、1段目のレ
ジスタ(上記空チヤンネルに対応するタイミング
のレジスタ)の1ビツト目に、また、同時にイン
バータ33、アンドゲート32を介し、上記レジ
スタの2ビツト目に与えられる。これにより、上
記空チヤンネルの状態は「0」から「1」(共に
10進数表示)に変化し、以後、上述した循環回路
により循環保持されると共に、上記オンキーに対
するエンベロープ波形の作成が、該チヤンネルに
て開始される。また、該チヤンネルに対する状態
は、次いでエンベロープがアタツク状態からデイ
ケイ状態、サステイン状態、リリース状態と変化
するにつれて、上記レジスタの内容は「1」から
「2」(デイケイ状態、サステイン状態)、「3」
(リリース状態)と変化し、次いで空チヤンネル
状態の内容「0」に復帰するように制御されるも
のである。
デコーダ24は、シフトレジスタ22の出力を
順次、各チヤンネルごとにデコードするもので、
各チヤンネルの内容が夫々、「0」、「1」、「2」、
「3」のとき、該内容に夫々対応する出力端子
「0」、「1」、「2」、「3」から2値論理レベルの
“1”信号を出力する。茲で、出力端子「0」の
出力は、インバータ34を介しアンドゲート35
に与えられている。このアンドゲート35は、キ
ーがオフされた場合に、キーボードから出力され
るキーオフパルス(1ビツトタイムパルス)によ
つてゲート制御され、その出力は、オアゲート2
8を介して、シフトレジスタ22の下位ビツトに
入力され、更に、上記アンドゲート35の出力
は、オアゲート29,30、アンドゲート31,
32を夫々介し、シフトレジスタ22の上位ゲー
トに入力される。
出力端子「1」の出力は、アンドゲート36お
よびスイツチングゲート群37に夫々、ゲート制
御信号として与えられている。上記アンドゲート
36には、後述するアダー38の出力端子COUT
らのキヤリー出力信号が入力され、また、その出
力は、インバータ39、アンドゲート25,2
6、オアゲート27,28を夫々介し、シフトレ
ジスタ22の下位ゲートに入力され、更に、オア
ゲート30、アンドゲート31,32を介し、シ
フトレジスタ22の上位ビツトに入力され、更に
また、スイツチングゲート群40に直接、スイツ
チングゲート群41にインバータ42を介し
夫々、ゲート制御信号として入力されている。
出力端子「2」の出力は、スイツチングゲート
群43にゲート制御信号として与えられている。
出力端子「3」の出力は、アンドゲート44お
よびスイツチングゲート群45に夫々、ゲート制
御信号として与れられている。上記アンドゲート
44には、後述するアンドゲート群46が出力す
る信号all“0”が入力され、また、その出力はイ
ンバータ47、アンドゲート26、オアゲート2
7,28を夫々介し、シフトレジスタ22の下位
ビツトに入力され、同時にインバータ47、アン
ドゲート31,32を夫々し、シフトレジスタ2
2の上位ビツトに入力されている。
シフトレジスタ50は、容量12ビツトのシフト
レジスタを8本カスケード接続してなり、あるオ
ンキーに対し、割当てられているレジスタに対し
ては、該オンキーのアタツク期間終了時以外にお
いては、常時開成されているスイツチングゲート
群41を介し、アダー38の演算結果データ(エ
ンベロープデータ:12ビツト構成)が帰還入力さ
れる。そして、入力した演算結果データは、シフ
トクロツクφ0により駆動されて後段側にシスト
され、また、8段目から出力した演算結果データ
は、上記アダー38のc入力端子(C2048〜C1
に入力されるほか、上記演算結果データの上位8
ビツトデータは、アダー51のA入力端子(A128
〜A1)に入力される。なお、アダー51のA入
力端子A256には、常時接地レベル(GND)の
“0”信号が入力されている。
更に、あるオンキーのアタツク期間終了時にお
いては、上記スイツチングゲート41が一時的に
閉成し、同時にスイツチングゲート40が開成
し、これにより、シフトレジスタ50の1段目に
は、スイツチングゲート40を介し、オール
“1”データが書込まれる。
アダー51のB入力端子(B256〜B1)には、
インバータ群52を介した9ビツトデータが入力
され、また、そのキヤリー入力端子Cinには、常
時“1”信号が入力されている。そして、上記イ
ンバータ群25には、あるオンキーのアタツク期
間中においては、上記アタツク期間中開成されて
いるスイツチングゲート群37を介し、データ
「101111111」が与えられている。したがつて、ア
ダー51は、上記アタツク期間中においては、A
入力端子への入力データと、上記データ
「101111111」の各ビツトのレベルをインバータ群
52により反転し、且つその値に「+1」したデ
ータ、即ち、上記B入力端子に与えられるデータ
の符号を反転したデータ(2の補数表現によるデ
ータ「010000001」)とを加算(A−B)し、その
結果データをS出力端子(S256〜S1)から9ビツ
トデータして出力して、補正回路53に与える。
また、アタツク期間が終了し、デイケイ期間お
よびびサステイン期間となると、このデイケイお
よびサステインの各期間中開成されるスイツチン
グゲート群43を介し、サステインレベルデータ
が上記インバータ群52に与えられる。したがつ
て上記デイケイ、サステイン期間においては、ア
ダー51は、A入力端子への入力データと、上記
サステインレベルデータの2の補数表現によるデ
ータとを加算し、その結果データを補正回路53
に与える。
更に、リリース期間になると、このリリース期
間中開成されるスイツチングゲート群45を介し
て9ビツトオール“0”データがインバータ群5
2に与えられる。したがつて、このリリース期間
においては、アダー51は、A入力端子への入力
データと、上記8ビツトオール“0”データの2
つ補数表現によるデータ(結局オール“0”とな
る。)とを加算し、その結果データを補正回路5
3に与える。
補正回路53は、この実施例の指数関数の波形
演算が次式、 An=Ao-1−Ao-1−γ/α (n:整数、α、γ:正数) ……式(1) によつて行なわれるとき、上記式の演算を正確に
実行させるための回路である。
即ち、アダー51のビツトの結果データがイン
バータ群54に与えられている。また、アダー5
1のキヤリー出力端子COUTからのキヤリー出力信
号がスイツチングゲート55を介し、アダー38
のD入力端子D2048〜D32に与えられている。更
に、インバータ群54の出力は、アンドゲート群
46に供給されている。そして、アンドゲート4
0の出力を信号all“0”、また、この信号all“0”
をインバータ56により反転した信号を“0”
と称することにする。即ち、信号all“0”は、ア
ダー51の出力端子からの結果データが全ビツト
“0”となつたとき“1”、それ以外は“0”とし
て出力される信号であり、また、この信号all
“0”は徐述した如く、アンドゲート44に与え
られ、また信号“0”はアンドゲート57に与
えられる。また、インバータ群54中、インバー
タ548〜543の出力は、アンドゲート群58に
供給されている。そして、アンドゲート580
力をインバータ59により反転した信号を信号
ΔDと称することにする。しかして、信号は、
アダー51の結果データの上位6ビツトデータが
オール“0”となると、“0”、それ以外では
“1”として出力される。そして、この信号
は、オアゲート60を介し、アンドゲート61に
ゲート制御信号として与えられる。更にインバー
タ群54中のインバータ548〜544出力は、ス
イツチングゲート群64に入力されている。そし
て、このスイツチングゲート群64および上記ス
イツチングゲート55は共に、可変クロツク
ENV EXECUTEによりゲート制御される。ま
た、上記スイツチングゲート群64の出力は、ア
ダー38のD入力端子D16〜D1に供給されてい
る。即ち、アダー38の入力端子には、可変クロ
ツクENV EXECUTEの出力ごとにアダー51
のキヤリー出力信号およびアダー51の結果デー
タのうち、上位5ビツトデータが供給されること
になる。更に、インバータ群54中のインバータ
543の出力は信号0.5と称され、オアゲート62
を介しアンドゲート63にゲート制御信号として
与えられている。即ち、この信号0.5は、アダー
51の結果データの下位から4ビツト目のデータ
(S出力端子S8出力)が“1”のとき“0”、“0”
のとき“1”として出力される信号である。ま
た、アダー51の上記キヤリー出力信号は、信号
Signとも称し、インバータ65を介し、オアゲ
ート60,62に夫々与えられており、したがつ
て、アンドゲート61,63の各ゲート制御信号
とされている。しかしてこの信号Signは、エン
ベロープのアツプ期間中は“0”、エンベロープ
のダウン期間は“1”となる。更にまた、上記信
号“0”を入力信号とするアンドゲート57
は、、可変クロツクENV EXECUTEによりゲー
ト制御され、また、その出力はアンドゲート63
に入力され、更にアンドゲート63の出力は、ア
ンドゲート61に入力され、また、アンドゲート
61の出力は、アダー38のキヤリー入力端子
Cinに供給される。
補正回路53の上述した構成により、アダー3
8のD入力端子およびキヤリー入力端子Cinへの
各入力データを制御し、あるオンキーのアタツク
期間中には、アダー38の結果データ(C+D)
が各演算ごとに「+1」ずつされるように、キヤ
リー入力端子Cinへ“1”信号を供給し、また、
デイケイ、サステイン、リリースの各減衰期間に
おいては、アダー38のキヤリー入力端子Cinに
“1”信号を印加するかしないかによつてD入力
端子D8〜D1への下位4ビツトデータに対する丸
め演算の補正を実行するかしないかを制御し、更
に上記減衰期間においてアダー51の上位6ビツ
トデータがオール“0”となると、以後はアダー
38の結果データが順次「−1」ずつされるよう
に、アダー38のキヤリー入力端子Cinに“0”
信号を供給し、減衰期間が終了するようにした波
形演算が実行されるものである。なお、12ビツト
構成の上記エンベロープデータのうち、上位8ビ
ツトデータがエンベロープ出力として楽音作成回
路に送出され、発生楽音へのエンベロープ付加が
行なわれるものとする。
次に、第10図を参照して低周波発振回路3の
詳細を説明する。バイナリカウンタ70は、入力
端子ENABLEに、上記可変クロツクLFO
EXECUTEが印加されたときにのみ、イネーブ
ル状態とされてクロツクCLK(このクロツクCLK
は、例えば、クロツクφ8で良い。)を計数する。
そして、ビツト出力端子1,2,4,8,16,
32,64から出力する計数値データは、アンド
ゲート群71の対応するアンドゲート710,7
1,712,713、714、715、716に夫々
入力されている。そして、上記アンドゲート群7
1は、矩形波発生指令をインバータ72により反
転した信号によつてゲート制御される。また、ア
ンドゲート群71の各出力は、インバータ群73
を介しアンドゲート群74の対応するアンドゲー
トに入力されるほか、アンドゲート群75の対応
するアンドゲートに直接入力されている。
一方、バイナリカウンタ70の最上位ビツトの
ビツト出力端子128の出力が、アンドゲート7
6に入力され、また、スイツチングゲート群77
中のスイツチングゲート776に入力されている。
上記アンドゲート76は、上記矩形波発生指令お
よび三角波発生指令をオアゲート78を介した信
号によつてゲート制御され、また、その出力はア
ンドゲート群74のゲート制御信号として使用さ
れ、また、上記アンドゲート76出力を、インバ
ータ79により反転した信号は、アンドゲート群
75のゲート制御信号として使用されている。そ
して、上記アンドゲート群74,75の各出力は
共にオアゲート群80を介し、スイツチングゲー
ト群81に入力されている。また、上記スイツチ
ングゲート群77は鋸歯状波発生指令によつて、
直接ゲート制御される一方、スイツチングゲート
群81は、上記鋸歯状波発生指令をインバータ8
2により、反転した信号によりゲート制御され
る。そして、スイツチングゲート群77または、
81の出力(7ビツトデータ)は、バイナリカウ
ンタ70の1周期ごとの計数動作期間(第11図
aに示す計数値データ0〜256期間)におい
て、第5図b,c,dに夫々示すような三角波、
鋸歯状波、矩形波の各波形の振幅レベルを与える
データとなつており、三角波、鋸歯状波、矩形波
の知周波数信号が発生する。そして、これらの低
周波信号によつて、ビブラートや、トレモロの各
効果が付与される。
次に、上記実施例の動作を説明する。電子楽器
の演奏開始に際し、アタツクレバー、デイケイバ
ー、サステインレバー、リリースレバーを夫々所
望位置に設定しておく。また、LFOスピードレ
バーを所望位置に設定しておく。而して、この設
定操作により、可変クロツク発生回路1は、対応
する内容をもつた可変クロツクENV
EXECUTEおよび可変クロツタLFO EXECUTE
を発生し、ADSRエンベロープジエネレータ2、
低周波数発振回路3にそれぞれ与えている。
茲で、可変クロツク発生回路1の動作を具体的
に説明すると、バイナリカウンタ4は、常時クロ
ツクφ8を計数しており、また、その計数値デー
タは、NOR型ROM6の各行ラインl11、l2
……、128に与えられている。そして、NOR型
ROM6は、上記計数値データをデコードし、列
ラインa〜hから夫々、バイナリカウンタ4の各
周期の計数動作ごとに、第4図Aに示す如きクロ
ツクを出力して、アンドゲート群7に与えてい
る。そしてこの場合、各列ラインa〜hから出力
するクロツクの発生タイミングは悉く異なつてお
り、同一タイミングで発生するクロツクはない。
一方、いま例えば、アタツクスピードコードの
内容が「00001111」となる位置にアタツクレバー
が設定されていた場合、あるオンキーのアタツク
期間中においては、第4図Bのシフトレジスタ2
2からアタツク期間を示すデータ、即ち、内容
「01」(2進数表現)のエンベロープステータスコ
ードが出力するタイミングごとに、デコーダ12
の出力ライン1から“1”信号が出力し、スイツ
チングゲート群9が開成される。このため、上記
タイミングごとにスイツチングゲート群9からア
タツクスピードコード「00001111」が出力し、ア
ンドゲート群7に与えられ、これにより、上記タ
イミングごとに、アンドゲート70〜73が開成
し、且つアンドゲート74〜77が閉成する。そし
て、そのときのタイミングが、例えば、列ライン
aからクロツクが発生しているタイミング(バイ
ナリカウント4の計数値データの内容が「128」
のとき)にあたつておれば、そのクロツクがアン
ドゲート70から出力してオアゲート群13に与
えられ、その結果、1発、可変クロツクENV
EXECUTEが発生する。
同様に、列ラインb,c,dからクロツクが発
生しているタイミングにおいては、夫々、アンド
ゲート71,72,73からクロツクが出力し、可
変クロツクENV EXECUTEとなる。また、列
ラインe〜hからクロツクが発生する各タイミン
グでは、アンドゲート74〜77が開成しているた
め、可変クロツクENV EXECUTEは発生しな
い。
このようにして、アタツクスピードコードが
「00001111」の場合、バイナリカウンタ4の計数
動作1周期間ごとに、第4図Bに示す各タイミン
グにて合計15発の可変クロツクENV
EXECUTEが発生し、而してこれらクロツクは、
NOR型ROM6の列ラインa〜dが出力するクロ
ツクをオア加算したものである。そして、上記可
変クロツクENV EXECUTEは、ADSRエンベ
ロープジエネレータ2に与えられるから、ADSR
エンベロープジエネレータ2は、可変クロツク
ENV EXECUTEの入力ごとに、上記オンキー
に対するエンベロープデータのアタツク部の波形
演算が実行する。しかして、いまの場合、アタツ
ク部の作成スピードは中程度となつている。
上記オンキーに対するデイケイ、リリースの各
期間における可変クロツクENV EXECUTEの
発生動作は、アタツク期間の場合と同様であり、
デイケイ期間においては、内容「10」のエンベロ
ープステータコードがデコーダ12に入力し、こ
れにより、出力ライン2から“1”信号が出力し
てスイツチングゲート群10が開成する。そし
て、そのタイミングにてデイケイスピードゲート
がスイツチングゲート群10から出力し、アンド
ゲート群7に与えられるから、そのタイミングに
てNOR型ROM6からクロツクが入力中でり、且
つデイケイスピードコードによつて、“1”信号
が入力したアンドゲートがあれば、そのアンドゲ
ートからクロツクが出力し、可変クロツクENV
EXECUTEとなる。
リリース期間においては、内容「11」のエンベ
ロープステータコードがデコーダ12に入力し、
これにより、出力ライン3から“1”信号が出力
し、リリーススピードコードがスイツチングゲー
ト群11から出力する。そして同様に可変クロツ
クENV EXECUTEが発生しうる状態となる。
可変クロツクLFO EXECUTEの発生動作は、
LFOスピードコードがアンドゲート群8に常時
入力されているため、NOR型ROM6からのクロ
ツクが入力中であり、且つLFOスピードコード
によつて、“1”信号が供給されている。アンド
ゲートがあれば、そのタイミングにて該アンドゲ
ートからクロツクが発生し、可変クロツクLFO
EXECUTEとなる。そして、可変クロツクLFO
EXECUTEは、低周波発振回路3に与えられ、
いま、例えば三角波発生指令が出力中であれば、
上記可変クロツクLFO EXECUTEの発生ごと
に、三角波による低周波信号の作成動作が実行さ
れるものである。
なお、エンベロープステータスコードの内容が
「00」の空チヤンネルになつているタイミングに
おいては、可変クロツクENV EXECUTEの出
力は、禁止されており、したがつて、ADSRエン
ベロープジエネレータ2における波形演算は実行
不能となつている。
次に、ADSRエンベロープジエネレータ2の動
作を具体的に説明する。なお、サステインレベル
データが126(2進数表現では「01111110」)
となるように、サステインレバーが設定されてい
るものとする。第5図において、先ず、あるチヤ
ンネルが空チヤンネルであるときの動作を説明す
る。この場合、上記空チヤンネルに対するエンベ
ロープステータスカウンタ21の計数値、即ち、
シフトレジスタ22内の上記空チヤンネルに対応
するレジスタの内容は「0」である。したがつ
て、シフトレジスタ22から、該空チヤンネルの
タイミングで該内容「0」が出力され、デコーダ
24に与えられる都度、デコーダ24の出力端子
「0」のみから“1”信号が出力する。この“1”
信号は、インバータ34によつて“0”信号とさ
れ、アンドゲート35に与えられることにより、
その出力を“0”とする。このアンドゲート3の
“0”信号は、オアゲート28,29に夫々与え
られるが、いま、オアゲート28の他の入力、即
ち、オアゲート27の出力は、このとき“0”で
あり、したがつて、オアゲート28の出力は
“0”となつて、シフトレジスタ22の1段目の
レジスタの1ビツト目に与えられる。同時に上記
1段目のレジスタの2ビツト目には、アンドゲー
ト32の出力“0”が与えられ、したがつてシフ
トレジスタ22には、上記空チヤンネルのタイミ
ングでデータ「0」が再び入力されることにな
り、以下、該空チヤンネルに対しては、上述した
動作が繰返される。
一方、上記空チヤンネルのタイミングにおいて
は、デコーダ24の出力端子「1」、「2」、「3」
の出力が共に“0”信号であるため、スイツチン
グゲート群41のみが上記空チヤンネルのタイミ
ングにて開成し、且つスイツチングゲート群3
7,40,43,45が共に閉成している。そし
てシフトレジスタ50からは、全ビツト“0”の
データ(エンベロープデータ)が出力し、これに
よりアダー51のA入力端子、アダー38のC入
力端子へ共に、全ビツト“0”のデータが入力す
る。
また、同時に、インバータ群52には、全ビツ
ト“0”のデータが入力するため、その出力は全
ビツト“1”となり、アダー51のB入力端子へ
与えられる。そしてアダー51のキヤリー入力端
子Cinには、常時“1”信号が入力されているた
め、このとき、アダー51のS出力端子からの出
力データは、全ビツト“0”で、且つキヤリー出
力が“1”となる。そしてアダー51のS出力端
子からの出力データの上位5ビツトは、インバー
タ群54によつて反転され、全ビツト“1”とな
つてスイツチングゲート群64に入力し、同時に
スイツチングゲート55に、上記キヤリー出力
“1”が入力する。然るに、空チヤンネルのタイ
ミングでは、可変クロツクENV EXECUTEの
発生が禁止されているから、この空チヤンネルの
タイミングのスイツチングゲート群64、スイツ
チングゲート55の出力は共に“0”となり、し
たがつて、アダー38のD入力端子には、全ビツ
ト“0”のデータが入力する。更に、アダー38
のキヤリー入力端子Cinへの入力も“0”であ
り、これにより、上記空チヤンネルのタイミング
においては、アダー38のS出力端子からの結果
データは、全ビツト“0”のデータとなり、しか
して、この全ビツト“0”のデータが開成中のス
イツチングゲート群41を介し、シフトレジスタ
50に帰還することになる。このようにして、上
述した動作の繰返しにより、シフトレジスタ50
内の空チヤンネルに対応するレジスタ内の全ビツ
ト“0”のエンベロープデータが循環保持される
ことになる。また、エンベロープ出力も全ビツト
“0”となる。このため、上記空チヤンネルに対
する楽音の放音動作はなされない。
上述したようにして、空チヤンネルが存在する
ときに、キーが1個オンされた場合、該キーのオ
ン操作が検出され、キーボードから1ビツトタイ
ミングパルスであるキーオンパルスが発生し、
ADSRエンベロープジエネレータ2に送られてく
る。そして、上記キーオンパルス(“1”)は、オ
アゲート27,28を夫々介し、シフトレジスタ
22の1段目のレジスタの1ビツト目に、上記オ
ンキーに対し割当てられたある空チヤンネル、例
えば、第3チヤンネルのタイミングにて入力され
る。
一方、上記1段目のレジスタの2ビツト目には
同時に、上記キーオンパルス(“1”)により出力
が“0”となるインバータ33の該出力がアンド
ゲート32を介して入力れる。したがつて、上記
シフトレジスタ22の第3チヤンネルの内容は
「1」に変化し、該第3チヤンネルが空チヤンネ
ルからアタツク期間に移行したことになる。そし
て、この第3チヤンネルの内容「1」を示すデー
タがシフトレジスタ22から出力し、デコーダ2
4に与えられると、該デコーダ24にてデコード
され、第3チヤンネルのタイミングにて出力端子
「1」の出力のみが“1”ととなる。
一方、シフトレジスタ22から出力された上記
第3チヤンネルのデータ「1」のうち、1ビツト
目のデータ“1”は、該出力タイミングにて開成
されるアンドゲート25,26、更にオアゲート
27,28を介し、シフトレジスタ22の1段目
のレジスタの1ビツト目に入力され、同時に2ビ
ツト目のデータ“0”はオアゲート29,30の
他方入力が“0”であることにより、該オアゲー
ト29,30、アンドゲート31,32を介し、
上記1段目のレジスタの2ビツト目に入力され
る。この結果、シフトレジスタ22には、上記第
3チヤンネルのタイミングにて、上記データ
「1」が再び入力され、以後、同様にして上記第
3チヤンネルのアタツク期間中、上記データ
「1」が上述の循環回路により循環保持され、ま
た、これにともなつてデコーダ24の出力端子
「1」からは、第3チヤンネルのタイミングごと
に“1”信号が出力されるようになる。
一方、上記第3チヤンネルのキーオンパルスの
出力後、該第3チヤンネルのタイミングごとに、
デコーダ24の出力端子「1」から“1”信号が
出力するときにおいて、該“1”信号により、ス
イツチングゲート群37が開成し、該スイツチン
グゲート群37を介し、データ「101111111」(10
進数表現では383)がインバータ群52に与えら
れ、また、該データは、インバータ群52によ
り、全ビツトレベルを反転されてアダー51のB
入力端子に与えられる。なお、上記データ
「101111111」は、上記式(1)により、アタツク期間
の波形演算を行なうときにおいて、最終値のγ=
383を与える。
また、アダー51のA入力端子には、シフトレ
ジスタ50から出力する全ビツト“0”のデータ
が入力する。したがつて、アダー51は、A入力
端子の全ビツト“0”データと、B入力端子への
2の補数表現のデータとを加算し、その結果デー
タをS出力端子およびキヤリー出力端子Coutか
ら出力する。そして、この場合の結果データは、
「010000001」となり、また、キヤリー出力は
“0”である。したがつてスイツチングゲート5
5には“0”、スイツチングゲート群64には、
上記結果データの上位5ビツトをインバータ群5
4により、反転したデータ「10111」が夫々与え
られる。更に信号Signは、“0”、信号“0”は
“1”、信号は“1”、信号0.5は“1”となる。
したがつて、第3チヤンネルのアタツク期間開
始後の上記状態において、1発目の可変クロツク
ENV EXECUTEが発生すると、アダー38の
D入力端子には、データ「000000010111」が入力
し、またキヤリー入力端子Cinには“1”が入力
する。そしてC入力端子には全ビツト“0”デー
タが入力する。したがつてこのときのアダー38
のS出力端子から出力する結果データは
「000000011000」となる。そしてこのエンベロー
プデータは開成中のスイツチングゲート群41を
介してシフトレジスタ50へ帰還される。また上
記エンベロープデータの上位8ビツトデータ
「00000001」は楽音作成回路に送出される。
上述の如くして、アタツク期間における式 An=Ao-1−Ao-1−383/256 ……(2) の1回目の波形演算が実行される。
そして上記1回目の波形演算終了後、8ビツト
タイム経過し、シフトレジスタ50から上記1回
目の結果データが出力してアダー51のA入力端
子、アダー38のC入力端子へ夫々与えられる
と、第3チヤンネルに対する2回目の波形演算が
実行可能となる。しかしてこのとき可変クロツク
ENV EXECUTEが出力すれば2回目の波形演
算が直ちに実行されるが、上述したように、可変
クロツクENV EXECUTEは一般に8ビツトタ
イム間隔できちんと周期的には発生せず、8×n
ビツトタイム(nは任意の正の整数)の間隔をお
いて非周期的に不規則に発生する。そして可変ク
ロツクENV EXECUTEが発生すれば次回の波
形演算が実行されるが、前回の波形演算後から次
回の波形演算が開始されるまでの間は、前回の結
果データはシフトレジスタ50〜アダー38〜ス
イツチングゲート群41〜シフトレジスタ50か
ら成る循環回路により循環保持されることにな
り、したがつて次回の波形演算が実行されれるま
では、第3チヤンネルのタイミングが8ビツトタ
イム間隔で巡つてくるたびに、アダー51、アダ
ー38へは同一データが繰返し入力されることに
なる。
そしてアタツク期間中においては、アダー51
はシフトレジスタ50から出力しA入力端子へ入
力するエンベロープデータの上位8ビツトデータ
と、B入力端子へ入力するスイツチングデータ群
37からのデータ「383」の2の補数表現データ
とを加算する演算を実行することになる。しかし
てこのアダー51のアタツク期間中における結果
データは、上記式(1)においてαが256、γが383に
選択されている結果、キヤリー出力は必ず“0”
となり、したがつて信号Signは必ず“0”であ
る。また上記アタツク期間中、信号“0”は必
ず“1”であり、したがつてアダー38のキヤリ
ー入力端子Cinには上記第3チヤンネルのアタツ
ク期間中、必ずず“1”信号が入力することにな
り、「+1」指令が与えられる。そしてアダー3
8は、C入力端子へのエンベロープデータと、D
入力端子への入力データ(この入力データの上位
7ビツトは全ビツト“0”)とを加算してその結
果に「+1」を実行する。
第6図は上述した式(2)にもとずいて実行される
アタツク期間中の結果データを、各演算ごと、即
ち、1ステツプごとに示したものである。図にみ
られるように、エンベロープ出力(アダー38の
上位8ビツト出力)は255を最終値とし、0、1、
3、4、……、254、255と順次増大してゆく。
エンベロープデータの上位8ビツトデータ(エ
ンベロープ出力)が255となり、次いで次の演算
時にアダー38のキヤリー出力端子Coutからキ
ヤリー(“1”)が発生すると、アンドゲート36
出力が“1”となり、該出力“1”がオアゲート
30、アンドゲート31,32を介してシフトレ
ジスタ22への1段目のレジスタの2ビツト目に
第3チヤンネルのタイミングにて入力する。同時
に上記レジスタの1ビツト目には、上記アンドゲ
ート36出力“1”がインバータ39により
“0”とされることにより、アンドゲート25出
力が“0”とされ、この結果、“0”信号が入力
する。したがつて第3チヤンネルは内容が「2」
に変化し、デイケイ、サステイン期間を示す内容
となる。そして以後は、デコーダ24の出力端子
「2」のみから第3チヤンネルのタイミングにお
いて“1”信号が出力し、スイツチングゲート群
43が開成される。また、シフトレジスタ22の
第3チヤンネルの内容「2」は、循環保持され
る。更に、上記アンドゲート36出力“1”によ
つて一時的に、インバータ42の出力が“0”と
なり、スイツチングゲート群41が閉成し、同時
にスイツチングゲート群40が開成する。この結
果、アダー38からの帰還データが阻止され、替
りに、スイツチングゲート群40を介し、オール
“1”データがシフトレジスタ50に、第3チヤ
ンネルのタイミングにて入力される。
第3チヤンネルが上述の如くしてデイケイ期間
となると、第3チヤンネルのタイミングごとに、
スイツチングゲート群43を介し、内容
「001111101」(10進数表現で126)のサステインレ
ベルデータがインバータ群52に与えられるよう
になる。したがつて、アダー51は、デイケイ期
間中は、シフトレジスタ50からのA入力端子へ
のデータと、B入力端子へのサステインレベルデ
ータの2の補数表現データとを加算する演算を実
行する。なお、上記サステインレベルデータ
「126」は、上記式(1)により、デイケイ期間の波形
演算を行なうときにおいて、最終値γ=126を与
える。
そしてデイケイ期間中におけるアダー51の演
算においては、A入力端子への入力データは、サ
ステインレベルデータより必ず大であるため、キ
ヤリー出力は必ず、“1”となり、即ち、信号
Signが必ず“1”として出力される。また、上
記デイケイ期間中、信号“0”は“1”である
したがつて、アダー51の結果データの上位6ビ
ツトデータが、オール“0”でなく(信号が
“1”)、且つS出力端子S8が“0”(信号0.5が
“1”)のときには、アンドゲート61出力が
“1”となり、アダー38のキヤリー入力端子
Cinに“1”信号が印加される。このとき、アダ
ー38は、レジスタ50からのC入力端子へのデ
ータと、D入力端子へのデータ(このデータの上
位7ビツトはオール“1”)とを加算し、その結
果に「+1」にする演算を実行する。しかして、
この場合には、アダー38の結果データは、キヤ
リー入力端子Cinに“1”信号が入力するため、
まるめ演算がおこなわれ、演算結果を「1」だけ
大きくする(本来の値と等しくなる。)。
他方、アダー51の結果データの上位6ビツト
データがオール“0”でなく(信号が
“1”)、且つS出力端子S8が“1”(信号0.5が
“0”)のきは、アンドゲート61出力が“0”と
なり、キヤリー入力端子Cinには“0”信号が入
力される。この結果、アダー38では、まるめ演
算がおこなわれ、演算結果を変化させないように
する(本来の値に対して「−1」した値とす
る。)。
更に、アダー51の結果データの上位6ビツト
データがオール“0”となり、信号が“0”
となると、アンドゲート61出力は“0”とな
り、アダー38のキヤリー入力端子Cinに印加さ
れる。しかしてこの場合、アダー38のD入力端
子には、オール“1”データが入力しており、こ
のため、アダー38の結果データは、C入力端子
への入力データを「−1」したものとなり、以後
のアダー38の結果データは、1ずつ減少し、最
終値126へ近付いてゆく。
上述のデイケイ期間の波形演算を式で示せば、 Ao=Ao-1−Ao-1-SUS/256 (ただし、SUS=126) ……式(3) となる、また、第7図には上記式(3)の演算結果
(エンベロープ出力)を10ステツプごとに示すも
のである。即ち、デイケイ期間のレベルは、最大
レベル255から、設定中のサステインレベル126ま
で順次減少する。
そして、エンベロープ出力がサステインレベル
と同一値126となると、以後、アダー38の結果
データ、即ち、エンベロープ出力は126に固定さ
れ、第3チヤンネルはサステイン期間となる。こ
のサステイン期間は、上記オンキーがオフされる
まで持続する。
上記オンキーがオフされると、キーボールから
キーオンパルス(“1”)が送出される。そして、
このキーオンパルス(“1”)によりアンドゲート
35出力が“1”となり、また、該出力“1”が
オアゲート28を介し、シフトレジスタ22の1
段目のレジスタの1ビツト目に与えられる。また
同時に、上記出力“1”がオアゲート29,3
0、アンドゲート31,32を介し、上記レジス
タの1段目の2ビツト目に与えられる。この結
果、第3チヤンネルの内容が「3」となり、リリ
ース期間を示すものとなる。そして、上記内容
「3」のデータは、デコーダ24に与えられると
出力端子「3」のみから、第3チヤンネルのタイ
ミングにて“1”信号が出力する。そしてこの
“1”信号により、スイツチングゲート群45が、
第3チヤンネルのタイミングにて開成する。ま
た、シフトレジスタ22内の第3チヤンネルの内
容「3」は、以後、循環保持される。
第3チヤンネルが上述の如くして、キーオフ
後、リリース期間に入ると、第3チヤンネルのタ
イミングごとに、スイツチングゲート群45から
オール“0”データが出力し、インバータ群52
へ与えられる。このため、アダー51は、第3チ
ヤンネルのタイミングごとに、A入力端子へのデ
ータ(サステインレベル「126」以下のデータ)
をS出力端子から出力し、また、キヤリー出力端
子Coutからキヤリー信号(“1”)を出力するよ
うになる。そして、補正回路53の動作は、上述
したデイケイ期間の場合と全く同一となり、した
がつてアダー38の結果データ(エンベロープデ
ータ)は、アダー51の結果データの上位6ビツ
トがオール“0”になるまでの間は、キヤリー入
力端子Cinへ“1”信号が入力するか否かにて、
まるめ演算を行ない、また、アダー51の結果デ
ータの上位6ビツトデータが、オール“0”とな
ると、C入力端子へのデータを−1したものとあ
る。この結果、上記リリース期間では、次式 An=Ao-1−Ao-1-0/256 ……(4) の波形演算が実行される。
第8図は、上記式(4)の演算結果(エンベロープ
出力)を10ステツプごとに示す。即ち、リリース
期間の開始後、そのレベルはサステインレベル
「126」から、最終レベル「0」まで順次減少す
る。
そして、アダー51の結果データがオール
“0”となると、信号all“0”が“1”となり、
アンドゲート44に印加される。このため、アン
ドゲート44の出力が“1”に変化し、該出力
“1”がインバータ47によつて“0”とされ、
アンドゲート26,31を同時に閉成する。この
ため、シフトレジスタの第3チヤンネルのレジス
タの内容が「0」とされ、該レジスタが空チヤン
ネルとなる。そし、エンベロープ出力も0となつ
たから、上記オフキーの楽音は、完全に消音す
る。
以上の動作により、上述した第3チヤンネルに
対する波形演算が終了する。第9図A,Bは、第
6図〜第8図に示したアタツク、デイケイ、サス
テイン、リリースの各期間のエンベロープ出力
(振幅レベル)を10ステツプごとに、図示たエン
ベロープ波形図である。
上記例において、上記キーがそのエンベロープ
のアタツク期間中にオフされた場合、上述のキー
オフ時同様にして、アンドゲート35出力が
“1”となり、エンベロープステータスカウンタ
21の第3チヤンネルの内容は、アタツク期間中
の「1」から、直ちに「3」に変化し、リリース
期間が開始される。そして、アダー51等は、キ
ーオフ時におけるエンベロープ出力値に対し、リ
リース期間の演算を開始する。また、上記キーが
デイケイ期間においてオフされた場合、エンベロ
ープステータスカウンタ21の第3チヤンネル
は、この内容が「2」から「3」に変化し、サス
テインレベルに達する途中から、リリース状態と
なる。
また上記説明では、8チヤンネル設けられたエ
ンベロープジエネレータのうち、第3チヤンネル
に割当てられた1個のキーに関する動作について
のみ説明したが、2個以上8個までのキーが同時
にオンされているときには、各キーが割当てられ
ている各チヤンネルにおいて、エンベロープ作成
動作が、時分割処理により、実行されることは勿
論である。また、8チヤンネルに対して9個以上
のキーが同時にオンされているときには、9個目
のキーは空チヤンネルを割当てられるまで、待機
状態とされる。
また、本実施例のADSRエンベロープジエネレ
ータにおいては、デイケイあるいはサステイン中
に、サステインレベルを変化させた場合、アダー
51のB入力端子にその時点から供給される値が
変化することになり、それまでの値から新たに設
定した値へ指数関数的にゆるやかに(換言すれ
ば、従来のアナログ回路を用いてエンベロープジ
エネレータを構成したのと全く同様に)変化して
ゆくことになる。
次に、低周波発振回路3の動作を具体的に説明
する。バイナリカウンタ70は、非周期的に出力
して入力端子EVABLEに与えられる可変クロツ
クLFO EXECUTEの入力中のみ、クロツクCLK
の計数動作を行なつている。そしてその計数値デ
ータの内容は、1周期の間に0〜256まで変化す
る。
そしていま、三角波発生指令が出力中(“1”)
とすると、オアゲート78の出力が“1”とな
り、アンドゲート76が開成している。また、他
の鋸歯状波発生指令、矩形波発生指令が共に
“0”である場合、インバータ72出力“1”に
より、アンドゲート群71が開成し、また、スイ
ツチングゲート群77が閉成し、且つスイツチン
グゲート群81が開成している。
したがつて、バイナリカウンタ70のビツト出
力端子128が“0”の期間、即ち、1周期の前
半(計数値データ0〜128の間)は、アンドゲー
ト76の出力は“0”であり、したがつて、アン
ドゲート群74が閉成し、且つ、アンドゲート群
75が開成している。このため、上記1周期の前
半においては、バイナリカウンタ70のビツト出
力端子64〜1からの計数値データ(7ビツトデ
ータ)は、アンドゲート群71,75、オアゲー
ト群80、スイツチングゲート群81を介し出力
する。そして、その出力データはバイナリカウン
タ70の計数値データと同一であり、1ずつ増大
する。
次いで、上記ビツト出力端子128が“1”の
期間となり、即ち、1周期の後半(計数値データ
128〜256の間)に入ると、この間、アンド
ゲート76の出力が“1”となり、アンドゲート
群74が開成し、且つアンドゲート群75が閉成
する。したがつて、上記1周期の後半において
は、バイナリカウンタ70のビツト出力端子64
〜1の出力データを、アンドゲート群71を介し
インバータ群73に与えて全ビツト反転したデー
タが、更に、アンドゲート群74、オアゲート群
80、スイツチングゲート群81を介し出力す
る。この結果、その出力データは1ずつ減少す
る。
このようにして、第11図bに示す如き三角波
の信号が得られ、ビブラート効果の付与等に利用
される。
鋸歯状波発生指令のみが出力中においては、ス
イツチングゲート群77が開成し、且つ、スイツ
チングゲート群81が閉成する。また、アンドゲ
ート群71が開成し、更に、アンドゲート76が
閉成するため、アンドゲート群74が閉成し、且
つ、アンドゲート群75が開成する。
そして、1周期の前半(0〜128)では、バイ
ナリカウンタ70のビツト出力端子128〜2の
計数値データが、アンドゲート群71、スイツチ
ングゲート群77を介して出力する。このため、
その出力データは、0〜128まで1ずつ増大す
る。
そして、1周期の後半(128〜256)となると、
上記出力データのMSBとしてバイナリカウンタ
70のビツト出力端子128の出力“1”が供給
されるため、上記出力データは、128〜256
まで更に1ずつ増大してゆく。
このようにして、第11図cに示す如き鋸歯波
の低周波信号が得られる。
矩形波発生指令のみが出力中においては、イン
バータ72出力“0”により、アンドゲート群7
1が閉成する。また、アンドゲート76が開成す
る。したがつて、1周期の前半(0〜128)にお
いては、ビツト出力端子128が“0”であり、
アンドゲート76出力も“0”となる。この結
果、アンドゲート群74が閉成し、且つ、アンド
ゲート群75が開成するが、いま、アンドゲート
群71が閉成しているため、アンドゲート群75
の出力は共に“0”、アンドゲート群74の出力
も共に“0”となる。したがつて、上記1周期の
前半においては、出力データは、オール“0”デ
ータとなる。
一方、1周期の後半(128〜256)では、ビツト
出力端子128の出力“1”によつて、アンドゲ
ート76出力が“1”となり、これに応じて、ア
ンドゲート群74が開成し、且つアンドゲート群
75が閉成する。したがつて、アンドゲート群7
1の出力、オール“0”データがインバータ群7
3により、反転されてオール“1”データとされ
るデータが、アンドゲート群74から出力し、更
に、オアゲート群80、スイツチングゲート群8
1を介して出力する。このため、上記1周期の後
半においては、出力データ127(オール“1”)
を保持される。この結果、第11図dに示す如き
矩形波の低周波信号が得られる。
尚、上記実施例では、ADSRエンベロープジエ
ネレータにおいて、上記(1)式による演算によつた
が、(1)式中のα、γの値は、必要に応じて種々変
更しうることは勿論である。
また、低周波発振回路では、バイナリカウンタ
の計数値データをゲート制御することによつて、
三角波等の各波形データを得たが、ROMに三角
波等の波形データを記憶しておき、また、この
ROMをアドレスするアドレスカウンタを上述し
た可変クロツクにより、駆動することにより、各
波形による低周波信号の周波数を可変とするよう
にしてもよい。
また、波形データとしては、上述の例のほかに
非対称方形波等、各種波形データとしてもよい。
更に、可変クロツクによつて駆動される装置は
上述したADSRエンベロープジエネレータ、低周
波発振回路以外のものであつてもよい。
この発明は、以上説明したように、1個の簡単
な回路により、発生周期が可変である可変クロツ
クを発生し、しかも、この1個の回路のみが発生
する可変クロツクによつて、時分割多重処理も容
易に行なえるようにした電子楽音生成装置におけ
る可変クロツク発生回路を提供したから、電子楽
音生成装置において、各種制御に上記可変クロツ
クを用いることが可能となり、その場合、従来装
置と何ら変りなく、時分割多重処理が行なえて、
良好な楽音を発生でき、また、回路構成が簡単で
あるからコストダウンできる利点等がる。
【図面の簡単な説明】
第1図は、この発明の一実施例の全体のブロツ
ク回路図、第2図は可変クロツク発生回路1の詳
細回路図、第3図A,Bは夫々、この実施例で使
用される回路記号と、論理式等の対応関係を示す
図、第4図A,Bは夫々、可変クロツク発生回路
1の動作を説明するタイムチヤート、第5図A,
Bは夫々、ADSRエンベロープジエネレータ2の
詳細回路図、第6図、第7図、第8図は夫々、ア
タツク期間、デイケイ期間、リリース期間のエン
ベロープ出力の変化する状態を示す図、第9図
A,Bは夫々、上記例によつて得られるエンベロ
ープの一例を示す波形図、第10図は、低周波発
振回路3の詳細回路図、第11図は、上記低周波
発振回路3が出力する、各種信号波形図である。 1……可変クロツク発生回路、2……ADSRエ
ンベロープジエネレータ、3……低周波発振回
路、4……バイナリカウンタ、6……NOR型
ROM、12……デコーダ、21……エンベロー
プステータスカウンタ、22……シフトレジス
タ、23……ゲート回路、24……デコーダ、3
7,40,41,43,45……スイツチングゲ
ート群、38……アダー、50……シフトレジス
タ、51……アダー、52……インバータ群、5
3……捕正回路、70……バイナリカウンタ。

Claims (1)

  1. 【特許請求の範囲】 1 基準クロツクにより駆動されて動作するバイ
    ナリカウント手段と、 このバイナリカウント手段の計数値データをデ
    コードし、発生タイミングが夫々異なるクロツク
    を各系において発生するデコード手段と、 複数の上記系のうち任意の1または2以上の系
    を選択する選択手段と、 この選択手段により選択された1または2以上
    の系が発生するクロツクをオア加算出力するオア
    加算手段と、 を具備し、上記選択手段によつて任意の系を選択
    し、この選択した1または2以上の系が発生する
    クロツクを上記オア加算手段によりオア加算出力
    することによりクロツク発生間隔を可変制御可能
    としたことを特徴とする電子楽音生成装置におけ
    る可変クロツク発生回路。
JP56074243A 1981-05-19 1981-05-19 Variable clock generator Granted JPS57189198A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56074243A JPS57189198A (en) 1981-05-19 1981-05-19 Variable clock generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56074243A JPS57189198A (en) 1981-05-19 1981-05-19 Variable clock generator

Publications (2)

Publication Number Publication Date
JPS57189198A JPS57189198A (en) 1982-11-20
JPH031678B2 true JPH031678B2 (ja) 1991-01-11

Family

ID=13541519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56074243A Granted JPS57189198A (en) 1981-05-19 1981-05-19 Variable clock generator

Country Status (1)

Country Link
JP (1) JPS57189198A (ja)

Also Published As

Publication number Publication date
JPS57189198A (en) 1982-11-20

Similar Documents

Publication Publication Date Title
US3844379A (en) Electronic musical instrument with key coding in a key address memory
USRE32726E (en) Envelope generator
US4184403A (en) Method and apparatus for introducing dynamic transient voices in an electronic musical instrument
US4192211A (en) Electronic musical instrument
US4178826A (en) Envelope generator
US4026180A (en) Electronic musical instrument
JPS6199193A (ja) 楽音信号発生装置
US4258602A (en) Electronic keyboard musical instrument of wave memory reading type
US3952623A (en) Digital timing system for an electronic musical instrument
US4119006A (en) Continuously variable attack and decay delay for an electronic musical instrument
US4144789A (en) Amplitude generator for an electronic organ
US4283983A (en) Electronic musical instrument
US4562763A (en) Waveform information generating system
US4205574A (en) Electronic musical instrument with variable pulse producing system
US4475429A (en) Electronic equipment with tone generating function
US4263828A (en) Electronic musical instrument having envelope controlled _automatic performance
US4191081A (en) Selectable automatic arpeggio for electronic musical instrument
US5340940A (en) Musical tone generation apparatus capable of writing/reading parameters at high speed
JPH031678B2 (ja)
US4263829A (en) Trill performance circuit in electronic musical instrument
US4612839A (en) Waveform data generating system
US4302999A (en) Electronic musical instrument
US4392406A (en) Switched capacitor sine wave generator and keyer
USRE30906E (en) Envelope generator
US4018123A (en) Automatic rhythm performing apparatus capable of expressing stressed and relaxed beats of rhythm