JPH0425559B2 - - Google Patents

Info

Publication number
JPH0425559B2
JPH0425559B2 JP56077490A JP7749081A JPH0425559B2 JP H0425559 B2 JPH0425559 B2 JP H0425559B2 JP 56077490 A JP56077490 A JP 56077490A JP 7749081 A JP7749081 A JP 7749081A JP H0425559 B2 JPH0425559 B2 JP H0425559B2
Authority
JP
Japan
Prior art keywords
data
waveform
section
envelope
musical
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
JP56077490A
Other languages
Japanese (ja)
Other versions
JPS57191694A (en
Inventor
Akio Iba
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 JP56077490A priority Critical patent/JPS57191694A/en
Publication of JPS57191694A publication Critical patent/JPS57191694A/en
Publication of JPH0425559B2 publication Critical patent/JPH0425559B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】[Detailed description of the invention]

この発明は、時分割処理により複数の異なる種
類の楽音波形を発生する楽音波形発生装置に関す
る。 従来、1つの楽音波形生成回路を時分割多重化
して複数の発音チヤンネルの夫々に異なる種類の
波形をアサインし、同時に複数の異なる楽音を発
生させることのできる電子楽器が考えられてい
る。例えば、特開昭53−16616号である。 しかしながら、上記のものは、各発音チヤンネ
ルにて生成される複数の異なる楽音波形は、アナ
ログ電圧値として与えられ、また、最終的にアナ
ログ加算されて出力される。 このように、各発音チヤンネルからの波高値を
デジタル的に累算して出力するようなものは未だ
考えられておらず、また、考えられたとしても
種々の改善の余地が残されている。 本発明は、以上の点に鑑みてなされたものでよ
り応用性の高いデジタル累算方式の楽音波形発生
装置を実現することを目的とする。 本発明は、上記目的を達成するため、複数種類
の任意の楽音波形データを記憶可能な波形記憶手
段を用意し、各発音チヤンネルにて読み出された
楽音波形の波高値を波形の種類毎にデジタル的に
累算して、この波形の種類毎の累算値を時分割的
に出力するようにしたことを要点とする。 以下、この発明の一実施例につき図面を参照し
て詳細に説明する。 第1図は、本実施例に用いられる大規模集積回
路(LSI)チツプ1の機能ブロツクを示した図
で、本実施例の電子楽器は1個のLSIチツプに
て、楽音信号が生成されるものである。 このLSIチツプ1内には後述する楽音生成部2
と制御部3(この制御部3の詳細な説明は省略す
る。)とを有する。そして、この制御部3からは、
バスラインB1を介して外部スイツチあるいは鍵
盤上の鍵スイツチを走査する信号を出力するほか
外部メモリ(RAMあるいはROM)にアドレス
指定をする為の信号あるいはデータを出力する。 そして、外部スイツチあるいは鍵スイツチなど
の外部操作信号あるいは外部メモリからのデータ
などがバスラインB2を介して制御部3に入力さ
れる。 その結果、制御部3からは、バスラインB1
B2から出力する情報に応じて楽音生成部2に対
し如何なる楽音を生成すべきかという指示が送ら
れる。しかして、この制御部3と楽音生成部2と
は、方向のデータバス(4ビツトバス)D1と、
データ以外の制御信号を送出する制御信号用のコ
ントロールバスC1(これは制御部3から楽音生成
部2への一方向性のバスである。)とにて連結さ
れている。そして、楽音生成部2からはバスライ
ンB3を介して外部のD/A変換器へ楽音出力が
送出される。 次に、2図A〜Cを参照して、楽音生成部2の
詳細につき説明する。なお、第3図は第2図A〜
Cの図面接続状態を示している。 この第2図A〜Cにて示されている楽音生成部
2は、大別すると次の10個のブロツクになる。先
ず、各ブロツクの概略的な機能について述べる。 ブロツク10は、音階クロツク発生部で、割当
てられた音高を発生する為の基本となるスケール
クロツクSC CLKを生成する。なお。この音階ク
ロツク発生部10は4チヤンネルの時分割動作を
する。 ブロツク20は、波形ステツプカウンタ部で、
上記音階クロツク発生部10からのスケールクロ
ツクSC CLKによつてカウントアツプして、その
内容を波形RAM部30に出力する。なお、この
波形ステツプカウンタ部20も4チヤンネルの時
分割動作をする。 ブロツク30は上述した波形RAM部で、楽音
波形を16のステツプに分割し、各ステツプ毎に波
形の差分値を記憶する。この波形RAM部は後述
するように2種類(MAIN/SUB)の波形を記
憶し、各チヤンネル毎にいずれかの波形の差分値
を選択出力する。 ブロツク40は、チヤンネル制御部で、4チヤ
ンネルの各チヤンネルから発生される楽音を2種
類の特性の楽音のいずれかに設定して制御する。
このチヤンネル制御部40からは、制御信号
MAIN/SUB、クロツクφM、φSを各チヤンネ
ル毎に出力する。 ブロツク50はADSRレジスタ部で、予め2種
類(MAIN/SUB)のエンベロープデータが記
憶される。従つて、上記チヤンネル制御部40か
ら出力される制御信号MAIN/SUBにていずれ
かのエンベロープデータが各チヤンネル毎に選択
される。 ブロツク60はエンベロープクロツク発生部で
ADSRレジスタ部50から与えられるエンベロー
プデータに基づき所定の速度のエンベロープクロ
ツク部70に送出する。なお、このエンベロープ
クロツク発生部60も4チヤンネルの時分割動作
をする。 ブロツク70は上述のエンベロープカウンタ部
で、エンベロープクロツク発生部60から供給さ
れるエンベロープクロツクENV CLKによりカ
ウント動作を行うもので、このエンベロープカウ
ンタ部70からは、5ビツトのエンベロープデー
タを乗算部90へ送出し、また、エンベロープデ
ステータスを記憶しているステータスレジスタ部
80へもその内容を供給するほか、このエンベロ
ープステータス部80へはステータスの変更を行
うためのエンベロープキヤリー信号ENVCOを送
出する。勿論、このエンベロープカウンタ部70
も4チヤンネルの時分割動作をする。 ブロツク80は、上述のステータスレジスタ部
でありエンベロープステータスを記憶し、その情
報に基づきADSRレジスタ部50から出力するデ
ータを選択制御するほか、楽音の放音開始あるい
は停止などの制御を行う。このステータスレジス
タ部80も4チヤンネルの時分割動作をする。 ブロツク90は上述の乗算部であり、波形
RAM部30から供給される波形の差分値データ
とエンベロープカウンタ部70から与えられるエ
ンベロープデータとを乗算して累算部100へそ
の結果データを送出する。 ブロツク100は累算部であり、エンベロープ
制御された波形の差分値データを累算することに
よつて波形の各サンプル点における振幅値データ
を得るようになつており、その出力を外部のD/
A変換器へバスラインB3を介して供給するよう
になつている。なお、外部で、2種類の楽音
(MAIN/SUB)の音量比を可変制御したり、あ
るいは更に外部フイルタ(アナログ回路)を2種
類の各楽音について切替制御したり出来るように
する為、この累算部100からは時分割処理の各
周期(4チヤンネル時間)を2分割して、各種類
の波形の振幅値データを交互に出力するようにな
つている。 従つて、本実施例の回路構成によれば、チヤン
ネル制御部40の制御に応じて、4チヤンネルの
うちいずれかのチヤンネルがMAINの特性をも
つ楽音を、他のチヤンネルがSUBの特性をもつ
楽音を発生することが出来るようになるもので、
例えばMAIN側をデータ“1”で、SUB側をデ
ータ“0”で表わすようにすれば、第1表に示す
如く、4チヤンネルのうち、いずれのチヤンネル
をMAINの特性をもつ楽音として、いずれのチ
ヤンネルをSUBの特性をもつ楽音として生成す
るかが可変制御出来るものである。
The present invention relates to a musical tone waveform generating device that generates a plurality of different types of musical tone waveforms through time-sharing processing. BACKGROUND ART Conventionally, an electronic musical instrument has been considered that can generate a plurality of different musical tones at the same time by time-division multiplexing one musical sound waveform generation circuit and assigning different types of waveforms to each of a plurality of sounding channels. For example, Japanese Patent Application Laid-open No. 16616/1983. However, in the above method, a plurality of different tone waveforms generated in each sound generation channel are given as analog voltage values, and are finally added up in analog form and output. As described above, a system that digitally accumulates and outputs the peak values from each sound generation channel has not yet been considered, and even if it were possible, there is still room for various improvements. The present invention has been made in view of the above points, and it is an object of the present invention to realize a musical waveform generator using a digital accumulation method that is more applicable. In order to achieve the above object, the present invention provides a waveform storage means capable of storing plural types of arbitrary tone waveform data, and stores the peak value of the tone waveform read out in each sound generation channel for each type of waveform. The key point is to digitally accumulate and output the accumulated values for each type of waveform in a time-division manner. Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing the functional blocks of a large-scale integrated circuit (LSI) chip 1 used in this embodiment. In the electronic musical instrument of this embodiment, a musical tone signal is generated by one LSI chip. It is something. Inside this LSI chip 1 is a musical tone generation section 2, which will be described later.
and a control section 3 (detailed explanation of this control section 3 will be omitted). Then, from this control section 3,
In addition to outputting signals for scanning external switches or key switches on the keyboard via bus line B1 , it also outputs signals or data for specifying addresses to external memory (RAM or ROM). External operation signals from an external switch or key switch, data from an external memory, etc. are input to the control section 3 via the bus line B2. As a result, the control unit 3 outputs the bus lines B 1 ,
In accordance with the information output from B2 , an instruction is sent to the musical tone generating section 2 as to what kind of musical tone should be generated. Therefore, the control section 3 and the musical tone generation section 2 have a data bus (4-bit bus) D1 in the direction,
A control bus C 1 (this is a unidirectional bus from the control section 3 to the tone generation section 2) for sending control signals other than data is connected to the control bus C 1 . Then, musical tone output is sent from the musical tone generating section 2 to an external D/A converter via the bus line B3 . Next, details of the tone generating section 2 will be explained with reference to FIGS. 2A to 2C. In addition, Figure 3 is similar to Figure 2A~
The drawing shows the connection state of C. The musical tone generating section 2 shown in FIGS. 2A to 2C can be roughly divided into the following 10 blocks. First, the general functions of each block will be described. Block 10 is a scale clock generator that generates a scale clock SC CLK which is the basis for generating the assigned pitch. In addition. This scale clock generator 10 performs time-division operation on four channels. Block 20 is a waveform step counter section,
It counts up using the scale clock SC CLK from the scale clock generator 10 and outputs its contents to the waveform RAM section 30. Note that this waveform step counter section 20 also performs time-division operation of four channels. Block 30 is the above-mentioned waveform RAM section which divides the tone waveform into 16 steps and stores the waveform difference value for each step. This waveform RAM section stores two types of waveforms (MAIN/SUB) as described later, and selectively outputs the difference value of one of the waveforms for each channel. Block 40 is a channel control section that controls the musical tone generated from each of the four channels by setting it to one of two types of characteristic musical tones.
This channel control section 40 outputs a control signal.
Output MAIN/SUB, clock φM, φS for each channel. Block 50 is an ADSR register section in which two types of envelope data (MAIN/SUB) are stored in advance. Therefore, one of the envelope data is selected for each channel by the control signal MAIN/SUB output from the channel control section 40. Block 60 is the envelope clock generator.
Based on the envelope data given from the ADSR register section 50, it is sent to the envelope clock section 70 at a predetermined speed. Incidentally, this envelope clock generating section 60 also performs four-channel time-division operation. The block 70 is the above-mentioned envelope counter section, which performs a counting operation using the envelope clock ENV CLK supplied from the envelope clock generating section 60. In addition to supplying the contents to the status register section 80 that stores the envelope de-status, an envelope carry signal ENVCO for changing the status is sent to the envelope status section 80. Of course, this envelope counter section 70
It also performs 4-channel time-division operation. The block 80 is the above-mentioned status register section, which stores the envelope status, and based on this information, selects and controls the data to be output from the ADSR register section 50, as well as controls the start or stop of musical tones. This status register section 80 also performs time-division operation of four channels. Block 90 is the multiplication section described above, and the waveform
The waveform difference value data supplied from the RAM section 30 is multiplied by the envelope data given from the envelope counter section 70, and the resultant data is sent to the accumulating section 100. The block 100 is an accumulator, which obtains amplitude value data at each sample point of the waveform by accumulating the difference value data of the envelope-controlled waveform, and outputs the output from an external D/D.
The A converter is supplied via bus line B3 . In addition, in order to be able to externally control the volume ratio of the two types of musical tones (MAIN/SUB), or to further control switching of the external filter (analog circuit) for each of the two types of musical tones, this cumulative The calculation unit 100 divides each period (4 channel time) of the time division process into two and alternately outputs amplitude value data of each type of waveform. Therefore, according to the circuit configuration of the present embodiment, according to the control of the channel control section 40, one of the four channels will play a musical tone with the MAIN characteristic, and the other channels will play the musical tone with the SUB characteristic. It is possible to generate
For example, if the MAIN side is represented by data "1" and the SUB side is represented by data "0", as shown in Table 1, which of the four channels can be used as a musical tone with the characteristics of MAIN? It is possible to variably control whether a channel is generated as a musical tone with SUB characteristics.

【表】【table】

【表】 なお、このMAINあるいはSUBの設定は、例
えば、一方をメロデイ音、他方を伴奏音とした
り、一方を自動演奏音、他方をマニユアル演奏者
としたりすることが出来、要は、制御部3にて如
何なる演奏を行わせるかを制御すれば、2種類の
楽音は4チヤンネル以内で如何様にでも出力出来
ることになり、極めて汎用性の高いものとなる。 次に、各部の詳細な構成につき順に説明してゆ
く。 〈1〉 音階クロツク発生部10 音階クロツク発生部10には音階コードレジス
タ10−1とオクターブコードレジスタ10−2
を有し、この各レジスタ10−1、10−2はク
ロツク(第6図a参照)にてシフトするシフト
レジスタより成る。そして、この音階コードレジ
スタ10−1は、4ビツトパラレルに4段のシフ
ト動作し、オクターブコードレジスタ10−2は
3ビツトパラレルに4段のシフト動作する。 この音階コードレジスタ10−1とオクターブ
コードレジスタ10−2に記憶される音階コー
ド、オクターブコードと、音階あるいはオクター
ブとの関係は第2表及び第3表のとおりである。
[Table] By setting MAIN or SUB, for example, one can be used as a melody sound and the other as an accompaniment sound, or one can be set as an automatic performance sound and the other as a manual performer. If the performance is controlled in step 3, the two types of musical tones can be output in any way within four channels, making it extremely versatile. Next, the detailed configuration of each part will be explained in order. <1> Scale clock generator 10 The scale clock generator 10 includes a scale code register 10-1 and an octave code register 10-2.
The registers 10-1 and 10-2 each consist of a shift register that is shifted by a clock (see FIG. 6a). The scale code register 10-1 performs a 4-bit parallel shift operation in four stages, and the octave code register 10-2 performs a 3-bit parallel shift operation in four stages. The relationship between the scale code and octave code stored in the scale code register 10-1 and octave code register 10-2 and the scale or octave is as shown in Tables 2 and 3.

【表】【table】

【表】【table】

【表】 なお、第2表において、特殊コード「1111」
は、スケールクロツクSC CLKの出力を停止する
機能をもち、この特殊コード「1111」はそのチヤ
ンネルから楽音を発生させない場合に入力するも
のである。 そして、音階コードレジスタ10−1には制御
部3からデータバスD1を介して4ビツトの音階
コードが供給される。そして、その4ビツトコー
ドはトランスフアゲートG10−1、G10−G
2、G10−3、G10−4を介して音階コード
レジスタ10−1の入力端子に印加される。この
トランスフアゲートG10−1〜G10−4(そ
の他全てのトランスフアゲートも同様)はゲート
電圧がHigh(論理値「1」)レベルのとき開成さ
れる。従つて、制御部3からコントロールバス
C1を介して供給される制御信号SCWがLOWレベ
ル(通常Highレベル、他の制御信号も全く同様)
となつたときナンドゲートNAND10−1の出
力がHighレベルとなつて上記トランスフアゲー
トG10−1〜G10−4が開成することにな
る。 一方、そのときこの音階コードレジスタ10−
1の出力端子から一般にリサキユレートして、入
力端子に供給される音階コードは、トランスフア
ゲートG10−5、G10−6、G10−7、G
10−8が閉成されるので、音階コードレジスタ
10−1は新たな内容が書き込まれることにな
る。なお、各チヤンネルは第6図g〜jに示され
るタイミング信号t1〜t4と同期しており、制御部
3で発生されるタイミング信号t1〜t4のいずれか
選択されたチヤンネルのタイミングで音階コード
レジスタ10−1の内容が変更されることにな
る。 また、上記ナンドゲートNAND10−1には、
制御部3からコントロールバスC1を介して制御
信号SCRが供給され、この制御信号SCRがLow
レベルとなつた際、トランスフアゲートG10−
1〜G10−4が開成して、音階コードレジスタ
10−1から出力された音階コードがデータバス
D1を介して制御部3に供給されることになる。
従つて、制御部3では、音階コードレジスタ10
−1の内容も判別し得ることになる。 また、オクターブコードレジスタ10−2に
も、上記音階コードレジスタ10−1と同様、制
御部3からオクターブコードが供給されて書き込
まれると共に、その内容を読出してデータバス
D1を介して制御部3に供給することも出来る。 即ち、トランスフアゲートG10−9、G10
−10、G10−11はデータバスD1の「1」、
「2」、「4」の重み付けのラインに接続されてお
り、制御信号OCWの出力時あるいは制御信号
OCRの出力時に、ナンドゲートNAND10−2
の出力がHighレベルとなり、オクターブコード
レジスタ10−2への入出力制御が可能となる。
また、トランスフアゲートG10−12、G10
−13、G10−14は、制御信号OCWがLew
レベル(通常Highレベル)となつた時点で閉成
され、リサキユレートループをカツトして新たな
オクターブコードが上記トランスフアゲートG1
0−9〜G10−10から入力することになる。 そして、この音階コードレジスタ10−1、オ
クターブコードレジスタ10−2の内容は、音階
クロツク発生回路10−3に供給される。この音
階クロツク発生回路10−3の詳細は示さない
が、例えば、本出願人が既に出願してある特願昭
53−31369号(特開昭54−123937号、発明の名称
「電子楽器に於ける楽音波形設定方式」)にもこの
音階クロツク発生回路10−3と同様な回路の詳
細な構成が示されている。即ち、この音階クロツ
ク発生回路10−3には内部に4チヤンネルのシ
フトレジスタ、音階コード、オクターブコードに
より加数が選択されるマトリクス回路(ROM)、
加算器等を有する。そして、この音階クロツク発
生回路10−3からは、上記音階コード、オクタ
ーブコードによりそれに対応したスケールクロツ
クSC CLKが各チヤンネル毎に発生される。そし
て、そのスケールクロツクSC CLKはアンドゲー
トAND10−1を介して、波形ステツプカウン
タ部20、乗算部90、累算部100へ供給され
る。なお、このアンドゲートAND10−1の一
方の入力端には、上記特殊コード「1111」が出力
した時点で、その出力の論理値が「0」となるナ
ンドゲートNAND10−3の出力が印加されて
いる。従つて、音階コードレジスタ10−1に特
殊コードが入力していなければ、音階クロツク発
生回路10−3から与えられるスケールクロツク
SC CLKをアンドゲートAND10−1は出力す
ることになる。 しかして、このスケールクロツクSC CLKは各
音高毎に決定される周期をもつクロツクで、この
クロツクの16発分の長さが当該音高の周期に相当
する。従つて、このクロツクSC CLKは、平均率
音階の場合、半音間で周波数がN2倍異なってく
る。 <2> 波形ステツプカウンタ部20 波形ステツプカウンタ部20には波形ステツプ
レジスタ20−1と、その内容(ステツプデー
タ)を歩進する為のハーフアダー20−2とを有
する、この波形ステツプレジスタ20−2はクロ
ツク(第6図a参照)にてシフトするシフトレ
ジスタより成り、4ビツトパラレルに4段のシフ
ト動作する。そして、この波形ステツプレジスタ
20−1は波形RAM部30に対し、「0」〜
「15」の16ステツプのアドレスを指定する。 また、その内容は、音階クロツク発生路10から
供給されるスケールクロツクSC CLKがハーフア
ダー20−2のキヤリー入力端子Cinに供給され
ることにより歩進される。 この波形ステツプカウンタ部20に対し制御部
3からはコントロールバスC1を介して制御信号
STWと制御信号STRが供給される。この制御信
号STWは、通常Highレベルの信号であり、波形
ステツプレジスタ20−1の出力端子から出力さ
れたステツプレジスタ20−1の出力端子から出
力されたステツプデータをトランスフアゲートG
20−1、G20−2、G20−3、G20−
4、を介してハーフアダー20−2へ供給し、リ
サキユレートループを構成するが、この制御信号
STWがLowレベルの信号として設定されると、
上記トランスフアゲートG20−1〜G20−4
が閉じ、ナンドゲートNAND20−1に接続さ
れたトランスフアゲートG20−5、G20−
6、G20−7、G20−8が開成する。従つ
て、制御部3からデータバスD1を介して与えら
れる4ビツトデータを波形のステツプデータとし
て書き込むことが出来る。その場合、制御部3
は、第6図g〜jに示されるタイミング信号t1
t4により、いずれのチヤンネルを選択するか制御
出来る。 また、制御信号STRは、通常Highレベルの信
号であるが、この信号がLowレベルに設定され
ると、トランスフアゲートG20−5〜G20−
8が開成し、波形ステツプレジスタ20−1から
のステツプデータがデータバスD1を介して、制
御部3へ送出されることになり、制御部3では、
指定したチヤンネルが如何なるステツプにあるの
かが判別出来る。 <3> 波形RAM部30 波形RAM部30内には波形RAM部30−1
を有する。この波形RAM30−1は2種類
(MAIN/SUB)の波形の差分値(1ステツプが
3ビツトにて表現される。)が16ステツプにわけ
て入力設定されると共に波形ステツプレジスタ2
0−1の出力端子から与えられるステツプデータ
「0」〜「15」及びチヤンネル制御部40からの
信号MAIN/SUBにより対応するデータが読出
される。 即ち、この波形RAM部30−1は、2(種類)
×16(ステツプ)×3(ビツト)=96ビツト容量の
RAMであり、この波形RAM部30−1にはア
ドレス端子としてA1、A2、A4、A8のほか
MAIN/SUBを有し、データ入力端子としてI1
I2、I3を有し、リード/ライト端子としてR/W
を有する。 この波形RAM30−1に制御部3から所定の
波形を書き込む際は、先ず、データ入力端子I1
I2、I3に対し、データバスD1の「1」、「2」、
「4」の重み付けのラインを介して、当該データ
を印加する。そして、制御信号R/WをLowレ
ベルとすれば、波形ステツプレジスタ20−1か
ら与えられるアドレスで、しかも後述するチヤン
ネル制御部40から供給される信号MAIN/
SUBにて選択される種類の波形エリアに上記波
形が書き込まれることになる。 従つて、この波形RAM30−1に所定のデー
タを書き込む際には、予め波形ステツプレジスタ
20−1の内容あるいはチヤンネル制御部40内
の音色制御レジスタ40−1の内容を書き込みた
いエリアを指定するように制御部3からの制御信
号STW、W/SWとデータバスD1のデータによ
り書き替えておき、順次そのデータで上記波形
RAM30−1のアドレスを指定してゆけばよ
い。 即ち、第4図を参照して波形データ書込み動作
を具体的に説明すると、波形データ書込み動作が
外部操作スイツチ、例えば音色選択スイツチなど
の操作に応じて開始されると、制御部3はデータ
バスD1の「1」、「2」、「4」、「8」の重み付け
のラインを介して、特殊コード「1111」を印加す
る(ステツプS1の処理)。また制御部3は同時に
制御信号SCWをLowレベルに設定する(ステツ
プS2)。これによりあるチヤンネルのタイミング
(全チヤンネルのタイミングでも良い。)にてトラ
ンスフアゲートG10−1〜G10−4を介し上
記特殊コード「1111」が音階コードレジスタに入
力され、以後リサーキユレートされる。そしてこ
れに応じて上記チヤンネルに対するタイミングで
は以後、スケールクロツクSC CLKがアンドゲー
トAND10−1から出力しなくなる。 次に、ステツプS3、S4の処理が実行され、外部
操作スイツチの音色選択指示にしたがつて制御部
3がデータバスD1の重み付け「1」のラインに
対し論理値〔0」(SUBの情報)または論理値
「1」)MAINの情報)を印加し、また制御信号
M/SWをLowレベルに設定する。これにより上
記MAIN/SUBの情報がトランスフアゲートG
40−1を介し音色制御レジスタ40−1に上記
チヤンネルのタイミングにて入力され、以後リサ
ーキユレートされる。そしてこのMAIN/SUB
の情報は波形RAM部30−1の入力端子
MAIN/SUBに印加される。 次に「0」ステツプ目の波形データの書込み処
理のステツプS5〜S9が実行される。即ち、ステツ
プデータ「0」を示すデータ「0000」をデータバ
スD1に印加する(ステツプS5)。このとき制御部
3は制御信号STWをLowレベルに設定する(ス
テツプS6)。これにより上記ステツプデータ「0」
がトランスフアゲートG20−5〜G20−8、
ハーフアダー20−2を介し波形ステツプレジス
タ20−1に上記チヤンネルのタイミングで入力
され、以後リサーキユレートされる。 次に3ビツトの波形データを入力すると、この
波形データバスD1に印加される(ステツプS7)。
次に制御部3は制御信号R/WをLowレベルに
設定する(ステツプS8)。これによりステツプデ
ータ「0」に対する波形データが、波形ステツプ
レジスタ20−1から与えられるアドレスで、し
かも音色制御レジスタ40−1から供給される信
号MAIN/SUBにて選択される波形RAM内のエ
リアに、換言すれば、上記チヤンネルのステツプ
データ「0」に対応したエリアでしかも
MAIN/SUBの何れかの指定エリアに書込まれ
る。 次にステツプS9の処理により、ステツプデータ
「15」までの波形データの書込みが終了したが否
かが判断され、ステツプS5に復帰する。 以後、同様にして、ステツプデータ「1」〜
「15」の波形データが波形RAM30−1に書込
まれるので、ステツプS5〜S9の処理が制御部3の
制御に基づき繰返される。 このようにして、書込まれる各ステツプ毎のデ
ータW1〜W3は3ビツト構成で、その内容は、第
1ビツトW1、第2ビツトW2が波形の差分値を示
し、第3ビツトW3が符号「+/−」を示すこと
になる。ただし、第4表に示すように、第1ビツ
トW1、第2ビツトW2の組み合わせにより。
「0」、「1」、「2」、「4」を指示するようになる
[Table] In Table 2, the special code "1111"
has the function of stopping the output of the scale clock SC CLK, and this special code "1111" is input when no musical tone is to be generated from that channel. A 4-bit scale code is supplied from the control section 3 to the scale code register 10-1 via the data bus D1 . The 4-bit code is transferred to transfer gates G10-1 and G10-G.
2, G10-3, and G10-4 to the input terminal of the scale code register 10-1. These transfer gates G10-1 to G10-4 (all other transfer gates as well) are opened when the gate voltage is at the High (logical value "1") level. Therefore, from the control unit 3 to the control bus
The control signal SCW supplied via C1 is LOW level (normally HIGH level, other control signals are exactly the same)
When this happens, the output of the NAND gate NAND10-1 becomes High level, and the transfer gates G10-1 to G10-4 are opened. On the other hand, at that time, this scale code register 10-
The scale code that is generally rescaled from the output terminal of 1 and supplied to the input terminal is transferred from the transfer gate G10-5, G10-6, G10-7, G
10-8 is closed, new contents are written to the scale code register 10-1. Note that each channel is synchronized with the timing signals t 1 to t 4 shown in FIG. Then, the contents of the scale code register 10-1 are changed. In addition, in the above NAND gate NAND10-1,
A control signal SCR is supplied from the control unit 3 via the control bus C1 , and this control signal SCR is Low.
When reaching the level, Transfer Gate G10-
1 to G10-4 are opened, and the scale code output from the scale code register 10-1 is transferred to the data bus.
It will be supplied to the control unit 3 via D1 .
Therefore, in the control section 3, the scale code register 10
This means that the contents of -1 can also be determined. In addition, the octave code register 10-2 is also supplied with an octave code from the control section 3 and written therein, similarly to the scale code register 10-1, and its contents are read out and transferred to the data bus.
It can also be supplied to the control unit 3 via D1 . That is, transfer gate G10-9, G10
-10, G10-11 is "1" of data bus D 1 ,
It is connected to the weighting line of "2" and "4", and when the control signal OCW is output or the control signal
When outputting OCR, NAND gate NAND10-2
The output becomes High level, and input/output control to the octave code register 10-2 becomes possible.
Also, transfer gate G10-12, G10
-13, G10-14, control signal OCW is Lew
When the level (usually High level) is reached, the gate is closed, the resacillate loop is cut, and a new octave chord is generated by the above transfer gate G1.
It will be input from 0-9 to G10-10. The contents of the scale code register 10-1 and octave code register 10-2 are supplied to the scale clock generation circuit 10-3. The details of this scale clock generation circuit 10-3 are not shown, but for example,
No. 53-31369 (Japanese Unexamined Patent Publication No. 54-123937, title of invention: "Sound waveform setting method for electronic musical instruments") also discloses a detailed configuration of a circuit similar to this scale clock generating circuit 10-3. There is. That is, this scale clock generation circuit 10-3 internally includes a 4-channel shift register, a matrix circuit (ROM) in which an addend is selected according to a scale code and an octave code,
It has an adder etc. The scale clock generation circuit 10-3 generates a scale clock SC CLK corresponding to the scale code and octave code for each channel. The scale clock SC CLK is then supplied to the waveform step counter section 20, the multiplication section 90, and the accumulation section 100 via the AND gate AND10-1. Furthermore, the output of the NAND gate NAND10-3 whose logical value becomes "0" when the special code "1111" is outputted is applied to one input terminal of the AND gate AND10-1. . Therefore, if no special code is input to the scale code register 10-1, the scale clock given from the scale clock generation circuit 10-3
The AND gate AND10-1 will output SC CLK. This scale clock SC CLK is a clock having a cycle determined for each pitch, and the length of 16 clock pulses corresponds to the cycle of the pitch. Therefore, in the case of the average rate scale, the frequency of the clock SC CLK differs by a factor of N2 between semitones. <2> Waveform step counter section 20 The waveform step counter section 20 includes a waveform step register 20-1 and a half adder 20-2 for incrementing its contents (step data). consists of a shift register that shifts in response to a clock (see FIG. 6a), and performs a four-stage shift operation on four bits in parallel. The waveform step register 20-1 is set to "0" to "0" to the waveform RAM section 30.
Specify the 16-step address of "15". Further, its contents are incremented by the scale clock SC CLK supplied from the scale clock generation path 10 being supplied to the carry input terminal Cin of the half adder 20-2. A control signal is sent to the waveform step counter section 20 from the control section 3 via the control bus C1 .
STW and control signal STR are supplied. This control signal STW is normally a high level signal, and transfers the step data output from the output terminal of the waveform step register 20-1 to the transfer gate G.
20-1, G20-2, G20-3, G20-
4, and is supplied to the half adder 20-2 to form a resacillate loop, but this control signal
When STW is set as a low level signal,
The above transfer gates G20-1 to G20-4
is closed, transfer gates G20-5 and G20- connected to NAND gate NAND20-1
6, G20-7 and G20-8 are opened. Therefore, the 4-bit data given from the control section 3 via the data bus D1 can be written as waveform step data. In that case, the control unit 3
are the timing signals t 1 to t shown in FIG. 6 g to j.
t 4 allows you to control which channel is selected. Further, the control signal STR is normally a high level signal, but when this signal is set to low level, the transfer gates G20-5 to G20-
8 is opened, and the step data from the waveform step register 20-1 is sent to the control section 3 via the data bus D1 .
It is possible to determine what step the specified channel is at. <3> Waveform RAM section 30 The waveform RAM section 30 includes a waveform RAM section 30-1.
has. This waveform RAM 30-1 is set to input the difference value of two types (MAIN/SUB) of waveforms (one step is expressed by 3 bits) divided into 16 steps, and the waveform step register 2
Corresponding data is read out by the step data "0" to "15" applied from the output terminals 0-1 and the signal MAIN/SUB from the channel control section 40. That is, this waveform RAM section 30-1 has 2 (types)
× 16 (steps) × 3 (bits) = 96 bit capacity
This waveform RAM section 30-1 has address terminals A 1 , A 2 , A 4 , A 8 as well as
Has MAIN/SUB, I 1 as data input terminal,
Has I 2 and I 3 , and R/W as read/write terminals.
has. When writing a predetermined waveform from the control unit 3 to this waveform RAM 30-1, first, the data input terminal I 1 ,
For I 2 and I 3 , "1", "2" of data bus D 1 ,
The data is applied via a line with a weight of "4". Then, when the control signal R/W is set to Low level, the address given from the waveform step register 20-1 is used, and the signal MAIN/W supplied from the channel control section 40, which will be described later, is input.
The above waveform will be written in the type of waveform area selected by SUB. Therefore, when writing predetermined data to this waveform RAM 30-1, it is necessary to specify in advance the area in which the contents of the waveform step register 20-1 or the contents of the timbre control register 40-1 in the channel control section 40 are to be written. The control signals STW and W/SW from the control unit 3 and the data on the data bus D1 are rewritten in advance, and the above waveform is sequentially created using the data.
All you have to do is specify the address of RAM30-1. That is, to explain the waveform data writing operation in detail with reference to FIG. A special code "1111" is applied through the weighted lines of " 1 ", "2", "4", and "8" of D1 (processing of step S1 ). At the same time, the control section 3 sets the control signal SCW to a low level (step S 2 ). As a result, the special code "1111" is input to the scale code register via the transfer gates G10-1 to G10-4 at the timing of a certain channel (the timing of all channels may be used), and is thereafter recirculated. In response to this, the scale clock SC CLK is no longer output from the AND gate AND10-1 at the timing for the channel. Next, the processes of steps S 3 and S 4 are executed, and in accordance with the tone selection instruction from the external operation switch, the control section 3 sets the logic value [0] (SUB information) or logic value "1")) is applied, and the control signal M/SW is set to Low level. As a result, the above MAIN/SUB information is transferred to the transfer gate G.
The signal is input to the timbre control register 40-1 via the channel 40-1 at the timing of the above channel, and is thereafter recirculated. And this MAIN/SUB
The information is the input terminal of the waveform RAM section 30-1.
Applied to MAIN/SUB. Next, steps S5 to S9 of the "0" step waveform data writing process are executed. That is, data "0000" indicating step data "0" is applied to the data bus D1 (step S5 ). At this time, the control section 3 sets the control signal STW to Low level (step S 6 ). As a result, the above step data becomes “0”.
are transfer gates G20-5 to G20-8,
The signal is input to the waveform step register 20-1 via the half adder 20-2 at the timing of the above channel, and is thereafter recirculated. Next, when 3-bit waveform data is input, it is applied to this waveform data bus D1 (step S7 ).
Next, the control section 3 sets the control signal R/W to Low level (step S 8 ). As a result, the waveform data for step data "0" is placed in the area in the waveform RAM selected by the address given from the waveform step register 20-1 and the signal MAIN/SUB supplied from the timbre control register 40-1. In other words, the area corresponds to the step data "0" of the above channel.
Written to either MAIN/SUB designated area. Next, in the process of step S9 , it is determined whether writing of waveform data up to step data "15" has been completed or not, and the process returns to step S5 . Thereafter, in the same way, step data "1" ~
Since the waveform data "15" is written to the waveform RAM 30-1, the processes of steps S5 to S9 are repeated under the control of the control section 3. In this way, the data W 1 to W 3 written for each step has a 3-bit configuration, the first bit W 1 and the second bit W 2 indicating the waveform difference value, and the third bit indicating the difference value of the waveform. W 3 will indicate the sign "+/-". However, as shown in Table 4, depending on the combination of the first bit W 1 and the second bit W 2 .
It will now indicate "0", "1", "2", and "4".

【表】 そして、このようにして書込まれた波形の差分
値データは、波形ステツプレジスタ20−1から
供給される波形ステツプデータと、音色制御レジ
スタ40−1から供給される信号MAIN/SUB
とによりアドレス指定され、対応するデータが順
次読み出されることになる。 〈4〉 チヤンネル制御部40 チヤンネル制御部40には、上述したように音
色制御レジスタ40−1を有し、この音色制御レ
ジスタ40−1はクロツクφ(第6図a参照)に
てシフトするシフトレジスタより成り、容量1ビ
ツトで4段のシフト動作する。 この音色制御レジスタ40−1は、その内容が
論理値「1」であればMAINの特性を指定し、
論理値「0」であればSUBの特性を指定するこ
とになる。しかして、この音色制御レジスタ40
−1の内容を書き替える場合は、データバスD1
の重み付け「1」のラインにそのデータを送出
し、コントロールバスC1から制御信号M/SWを
Lowレベルとして出力する。 上記制御信号M/SWは、ナンドゲートNAND
40−1に供給され、トランスフアゲートG40
−1を開成し、一方、音色制御レジスタ40−1
のリサーキユレートループ上にあるトランスフア
ゲートG40−2を閉成する。従つて、上記デー
タバスD1に送出されたデータを音色制御レジス
タ40−1に書込むことが出来る。なお、その場
合、制御部3では、第6図g〜jに示されるタイ
ミング信号により、各チヤンネルが指定し得る
為、各チヤンネルの判別が出来る。 更に、制御部3では、音色制御レジスタ40−
1に書込んだMAIN/SUBの情報は、制御信号
M/SRをLowレベルとすることにより読み出す
ことが出来、その出力は、データバスD1の重み
付け「1」のラインに得られる。 しかして、今、音色制御レジスタ40−1に第
5表に示したデータを書込んだ場合について以下
に説明する。
[Table] The waveform difference value data written in this way is the waveform step data supplied from the waveform step register 20-1 and the signal MAIN/SUB supplied from the timbre control register 40-1.
The address is specified by the address, and the corresponding data is sequentially read out. <4> Channel control section 40 As described above, the channel control section 40 has a timbre control register 40-1, and this timbre control register 40-1 has a shift register that is shifted by the clock φ (see FIG. 6a). It consists of a register and performs a four-stage shift operation with one bit of capacitance. This timbre control register 40-1 specifies the characteristics of MAIN if its content is a logical value "1",
A logical value of "0" specifies the characteristics of the SUB. Therefore, this tone control register 40
When rewriting the contents of -1, data bus D 1
Send that data to the line with weighting "1" and send the control signal M/SW from the control bus C1.
Output as low level. The above control signal M/SW is a NAND gate NAND
40-1, transfer gate G40
-1 is opened, while tone control register 40-1 is opened.
Transfer gate G40-2 on the recirculating loop is closed. Therefore, the data sent to the data bus D1 can be written into the timbre control register 40-1. In this case, each channel can be specified in the control section 3 using the timing signals shown in FIGS. 6g to 6j, so that each channel can be discriminated. Furthermore, in the control section 3, the timbre control register 40-
The MAIN/SUB information written to 1 can be read by setting the control signal M/SR to low level, and its output is obtained on the weighted `` 1 '' line of the data bus D1. Now, the case where the data shown in Table 5 is written into the timbre control register 40-1 will be described below.

【表】 その結果音声制御レジスタ40−1から出力さ
れる信号MAIN/SUBは第6図bに示す如くな
る。そして、その信号は波形RAM30−1のア
ドレス端子MAIN/SUBのほか、チヤンネル制
御部40内のアンドゲートAND40−1に直接、
アンドゲートAND40−2にインバータ40−
1を介して供給され、更に後述する各ブロツクに
供給される。また、上記インバータI40−1の
出力は、ADSRレジスタ部50に制御信号
MAIN/SUBとして供給される。 そして、上記アンドゲートAND40−1、
AND40−2には、第6図aの基本クロツクφ
が与えられ、アンドゲートAND40−1からは
第6図cに示す如きクロツクφMが出力し、アン
ドゲートAND40−2からは第6図dに示す如
きクロツクφSが出力する。なお、このクロツク
φM、クロツクφSは、後述する累算部100など
に供給される。 〈5〉ADSRレジスタ部50 ADSRレジスタ部50には、アタツク時間を決
定するアタツククロツク選択データを記憶するラ
ツチ50−1、50−2、デイケイ時間を決定す
るデイケイロツク選択データを記憶するラツチ5
0−3、50−4、リリース時間を決定するリリ
ースクロツク選択デタを記憶するラツチ50−
5、50−6、サステインレベルを決定するサス
テインレベルデータを記憶するラツチ50−7、
50−8を有する。 そして、このラツチ50−1、50−3、50
−5、50−7は2種類(MAIN/SUB)の楽
音のうち、MAIN側の情報を記憶するラツチで
あり、ラツチ50−2、50−4、50−6、5
0−8はSUB側の情報を記憶するラツチである。 しかして、この各データは、第5図に示すエン
ベロープ波形の形状を決定することになる。即
ち、ラツチ50−1、50−2に記憶されるアタ
ツククロツク選択データにより、アタツク時間
(発音開始点から最大レベル点までの時間)が決
定され、ラツチ50−3、50−4に記憶される
デイケイクロツク選択データによりデイケイ時間
(最大レベル点からサステインレベルまでに時間)
が決定され、ラツチ50−5、50−6に記憶さ
れるリリースクロツク選択データによりリリース
時間(サステインレベルから発音終了点までの時
間)が決定される。更に、ラツチ50−7、50
−8に記憶されるサステインレベルデータにより
サステインレベルが決定される。 なお、このサステインレベルデータを最大レベ
ルと同じにしておけば(後述するように、このサ
ステインレベルデータは、エンベロープカウンタ
部70から出力されるエンベロープデータの上位
4ビツトと同じ重み付けがなされている。)、オル
ガン音的なエンベロープが付加し得ることにな
り、このサステインレベルデータを最小レベル
(0レベル)と同じにしておけば、弦音的なエン
ベロープを付加し得ることになり、第5図に示し
たようなレベルにサステインレベルを設定してお
けば、アタツク、デイケイ、サステイン、リリー
スの各変化(ステータス)をもつエンベロープを
付加し得ることになる。 次に、このラツチ50−1〜50−8に、各デ
ータを設定する場合について説明する。先ず、ラ
ツチ50−1、50−2にアタツククロツク選択
データを入力する場合、先ず、SUBのデータを
データバスD1に制御部3から出力する。そして、
そのデータをクロツクφTAによりラツチ50−
1にセツトする。なお、このクロツクφTAは制
御部3から与えられるクロツクで、ラツチ50−
1、50−2に共通に供給される。 次にデータバスD1に制御部3からMAINのデ
ータを出力する。そしてクロツクφTAにより、
そのデータをラツチ50−1にセツトし、しか
も、既にラツチ50−1に入力されていたSUB
のデータをラツチ50−2にセツトする。 このようにして、ラツチ50−1にMAINの
アタツククロツク選択データを、ラツチ50−2
にSUBのアタツククロツク選択データを設定す
る。 また、ラツチ50−3、50−4にデイケイク
ロツク選択データを設定する場合も、上記同様に
して行えるが、この場合、制御部3からは読込み
クロツクとしてφTDがラツチ50−3、50−
4に供給されている。 更に、ラツチ50−5、50−6にリリースク
ロツク選択データを、ラツチ50−7、50−8
にサステインレベルデータを設定する場合も、上
記同様に行え、制御部3から、読込みクロツクと
してラツチ50−5、50−6にクロツクφTR
を、ラツチ50−7、50−8にクロツクφTR
を供給する。 以上の如くして、各ラツチ50−1〜50−8
に記憶されたデータは、チヤンネル制御部40か
ら供給される信号、述するステー
タスレジスタ部80から入力する信号ATT,
DEC,RELによつて選択出力するものである。 即ち、ラツチ50−1の出力は、トランスフア
ゲートG50−1、G50−2、G50−3、G
50−4を介し、更にトランスフアゲートG50
−5、G50−6、G50−7、G50−8を介
して、エンベロープクロツク発生部60に与えら
れる。また、ラツチ50−2の出力は、トランス
フアゲートG50−9、G50−10、G50−
11、G50−12を介し、トランスフアゲート
G50−5、G50−6、G50−7、G50−
8を介してエンベロープクロツク発生部60に与
えられる。 上記トランスフアゲートG50−1〜G50−
4のゲート信号は、上記信号MAIN/SUBをイ
ンバータI50−1を介して反転された信号であ
り、従つて、チヤンネル制御部40がMAINの
楽音を指定した場合に、このトランスフアゲート
G50−1〜G50−4は開成する。 逆に、トランスフアゲートG50−9〜G50
−12のゲート信号は、上記信号
であり、従つて、チヤンネル制御部40がSUB
の楽音を指定した場合に、このトランスフアゲー
トG50−9〜G50−12は開成する。 そして、トランスフアゲートG50−5〜G5
0−8はステータスレジスタ部80から信号
ATTが供給された場合、開成する。 このように、ラツチ50−1、50−2に記憶
されたMAIN,SUBの楽音のアタツククロツク
選択データは、エンベロープステータスがアタツ
クの場合に限り、しかも、MAIN/SUBの指定
により、選択的にエンベロープクロツク発生部6
0に供給されることになる。 次にラツチ50−3、50−4に記憶したデイ
ケイクロツク選択データがエンベロープクロツク
発生部60に供給される場合について説明する。 即ち、ラツチ50−3の出力は、トランスフア
ゲートG50−13、G50−14、G50−1
5、G50−16を介し、更にトランスフアゲー
トG50−17、G50−18、G50−19、
G50−20を介して、エンベロープクロツク発
生部60に供給される。また、ラツチ50−4の
出力は、トランスフアゲートG50−21、G5
0−22、G50−23、G50−24を介し、
トランスフアゲートG50−17、G50−1
8、G50−19、G50−20を介してエンベ
ロープクロツク発生部60に与えられる。 上記トランスフアゲートG50−13〜G50
−16のゲート信号は、上記信号
をインバータI50−2を介して反転された信号
であり、従つて、チヤンネル制御部40が
MAINの楽音を指定した場合に、このトランス
フアゲートG50−13〜G50−16は開成す
る。 一方、トランスフアゲートG50−21〜G5
0−24のゲート信号は、上記信号MAIN/
SUBであり、従つて、チヤンネル制御部40が
SUBの楽音を指定した場合に、このトランスフ
アゲートG50−21〜G50−24は開成す
る。 そして、トランスフアゲートG50−17〜G
50−20はステータスレジスタ部80から信号
DECが供給された場合開成する。 このように、ラツチ50−3、50−4に記憶
されたMAIN,SUBの楽音のデイケイクロツク
選択データは、エンベロープステータスがデイケ
イの場合の限り、しかも、MAIN/SUBの指定
により、選択的にエンベロープクロツク発生部6
0に供給されることになる。 次に、ラツチ50−5、50−6に記憶したリ
リースクロツク選択データがエンベロープクロツ
ク発生部60に供給される場合について説明す
る。 即ち、ラツチ50−5の出力は、トランスフア
ゲートG50−25、G50−26、G50−2
7、G50−28を介し、更にトランスフアゲー
トG50−29、G50−30、G50−31、
G50−32を介して、エンベロープクロツク発
生部60に供給される。また、ラツチ50−6の
出力は、トランスフアゲートG50−33、G5
0−34、G50−35、G50−36を介し、
更にトランスフアゲートG50−29、G50−
30、G50−31、G50−32を介してエン
ベロープクロツク発生部60に与えられる。 上記トランスフアゲートG50−25〜G50
−28のゲート信号は、上記信号
をインバータI50−3を介して反転された信号
であり、従つて、チヤンネル制御部40が
MAINの楽音を指定した場合に、このトランス
フアゲートG50−25〜G50−28は開成す
る。 一方、トランスフアゲートG50−33〜G5
0−36のゲート信号は、上記信号
SUBであり、従つて、チヤンネル制御部40が
SUBの楽音を指定した場合に、このトランスフ
アゲートG50−33〜G50−36は開成す
る。 そして、トランスフアゲートG50−29〜G
50−32はステータスレジスタ部80から信号
RELが供給された場合開成する。 このように、ラツチ50−5、50−6に記憶
されたMAIN、SUBの楽音のリリースクロツク
選択データは、エンベロープステータスがリリー
スの場合に限り、しかもMAIN/SUBの指定に
より、選択的にエンベロープクロツク発生部60
に供給されることになる。 次に、ラツチ50−7、50−8に記憶したサ
ステインレベルデータがステータスレジスタ部8
0に供給される場合について説明する。 即ち、ラツチ50−7の出力は、トランスフア
ゲートG50−37、G50−38、G50−3
9、G50−40を介してステータスレジスタ部
80に供給され、ラツチ50−8の出力は、トラ
ンスフアゲートG50−41、G50−42、G
50−43、G50−44を介してステータスレ
ジスタ部80に供給される。 そして、上記トランスフアゲートG50−37
〜G50−40のゲート信号、は上記信号
MAIN/SUBをインバータI50−4を介して
反転された信号であり、従つて、チヤンネル制御
部40がMAINの楽音を指定した場合に、この
トランスフアゲートG50−37〜G50−40
は開成する。 一方、トランスフアゲートG50−41〜G5
0−44のゲート信号は、上記で
あり、従つて、チヤンネル制御部40がSUBの
楽音を指定した場合に、このトランスフアゲート
G50−41〜G50−44は開成する。 このように、ラツチ50−7、50−8に記憶
されたMAIN、SUBの楽音のサステンレベルデ
ータは、MAIN/SUBの指定により、選択的に
ステータスレジスタ部80に供給されることにな
る。 〈6〉 エンベロープクロツク発生部60、エン
ベロープカウンタ部70、ステータスレジスタ
部80 本実施例の楽音はエンベロープクロツク発生部
60、エンベロープカウンタ部70、ステータス
レジスタ部80によりエンベロープ制御がなされ
るものである。 しかして、エンベロープクロツク発生部60
は、ADSRレジスタ部50から供給されるデータ
と、ステータスレジスタ部80から供給される信
号ATT,DEC,REL,SUSにより対応する速度
のエンベロープクロツクENV CLKを発生し
(信号SUSが入力する場合はエンベロープクロツ
クENV CLKは発生しない。)エンベロープカウ
ンタ部70に供給する。 このエンベロープクロツク発生部60の詳細な
回路構成図は省略するが、他のブロツクの4チヤ
ンネルの時分割動作に対応し、各チヤンネル毎
に、エンベロープクロツクENV CLKを発生す
る。なお、このエンベロープクロツク発生部60
と同様な回路は本出願人が既に出願してある特願
昭53−31369号(特開昭54−123937号、発明の名
称「電子楽器に於ける楽音波形設定方式」)にも
開示してある。 そして、エンベロープクロツク発生部60から
発生したエンベロープクロツクENV CLKは、
エンベロープカウンタ部70に入力する。 このエンベロープカウンタ部70は、詳細な回
路構成は省略する(なお、上記特願昭53−31369
号(特開昭54−123937号、発明の名称「電子楽器
に於ける楽音波形設定方式」)にも、この部分の
技術が開示されている。)が、加算器、4段の5
ビツトパラレルにシフト動作するシフトレジスタ
と、その他ゲート回路より成る。尚、上記シフト
レジスタはクロツクφ(第6図a参照)によりシ
フトする。 また、このエンベロープカウンタ部70には、
ステータスレジスタ部80より信号ATT,
DEC,REL,SUSが与えられ、アツプカウント
するか(アタツク時)ダウンカウントするか(デ
イケイ時、リリース時)が指定される。 そして、このエンベロープカウンタ70の5ビ
ツト出力は乗算部90に供給されるほか、サステ
インレベルとの一致検出の為、行為4ビツト(重
み付け「2」、「4」、「8」、「16」)がステータス
レジスタ部80のインスクルーシブノアゲート
ENOR80−1、ENOR80−2、ENOR80
−3、ENOR80−4に供給される。また、こ
のエンベロープカウンタ部70からのエンベロー
プキヤリー(ボロー)信号ENVC0は、エンベロ
ープステータスの変更を行う為、ステータスレジ
スタ部80内のハーフアダー80−1のキヤリー
入力端子Ciに供給される。 次に、ステータスレジスタ部80の詳細につい
て説明する。このステータスレジスタ部80に
は、ステータスレジスタ80−2、サステインス
テータスレジスタ80−3を有する。そして、こ
のステータスレジスタ80−2は、クロツクφ
(第6図a参照)にてシフトする4段の2ビツト
パラレルのシフトレジスタであり、サステインス
テータスレジスタ80−3は、クロツクφ(第6
図a参照)にてシフトする1ビツトで4段構成シ
フトレジスタである。 このステータスレジスタ80−2の内容と、サ
ステインステータスレジスタ80−3の内容と、
エンベロープステータスとの関係は第6表に示す
とおりである。
[Table] As a result, the signal MAIN/SUB output from the audio control register 40-1 becomes as shown in FIG. 6b. In addition to the address terminal MAIN/SUB of the waveform RAM 30-1, the signal is directly sent to the AND gate AND40-1 in the channel control section 40.
Inverter 40- to AND gate AND40-2
1, and further supplied to each block to be described later. In addition, the output of the inverter I40-1 is sent as a control signal to the ADSR register section 50.
Supplied as MAIN/SUB. And the above AND gate AND40-1,
AND40-2 has the basic clock φ of FIG. 6a.
The AND gate AND40-1 outputs a clock φM as shown in FIG. 6c, and the AND gate AND40-2 outputs a clock φS as shown in FIG. 6d. Note that the clock φM and the clock φS are supplied to an accumulator 100, etc., which will be described later. <5> ADSR register unit 50 The ADSR register unit 50 includes latches 50-1 and 50-2 that store attack clock selection data that determines the attack time, and a latch 5 that stores decay lock selection data that determines the decay time.
0-3, 50-4, a latch 50-4 for storing release clock selection data that determines the release time;
5, 50-6, a latch 50-7 for storing sustain level data that determines the sustain level;
50-8. And this latch 50-1, 50-3, 50
-5 and 50-7 are latches that store information on the MAIN side of the two types of musical tones (MAIN/SUB), and latches 50-2, 50-4, 50-6, 5
0-8 are latches that store information on the SUB side. Therefore, each of this data determines the shape of the envelope waveform shown in FIG. That is, the attack time (time from the start point to the maximum level point) is determined by the attack clock selection data stored in the latches 50-1 and 50-2, and the attack clock selection data stored in the latches 50-3 and 50-4 determines the attack time (time from the start point to the maximum level point). Decay time (time from maximum level point to sustain level) depending on selected data
is determined, and the release time (time from the sustain level to the end point of sound generation) is determined by the release clock selection data stored in latches 50-5 and 50-6. Furthermore, latches 50-7, 50
The sustain level is determined by the sustain level data stored in -8. Note that if this sustain level data is set to be the same as the maximum level (as described later, this sustain level data is weighted the same as the upper 4 bits of the envelope data output from the envelope counter section 70). , an organ-like envelope can be added, and if this sustain level data is kept the same as the minimum level (0 level), a string-like envelope can be added, as shown in Figure 5. By setting the sustain level to such a level, you can add an envelope with attack, decay, sustain, and release changes (status). Next, the case where each data is set in the latches 50-1 to 50-8 will be explained. First, when inputting the attack clock selection data to the latches 50-1 and 50-2, the control section 3 outputs SUB data to the data bus D1 . and,
The data is latched 50- by clock φTA.
Set to 1. Note that this clock φTA is a clock given from the control section 3, and the latch 50-
1 and 50-2. Next, the control unit 3 outputs MAIN data to the data bus D1 . And by clock φTA,
Set that data to latch 50-1, and also set the SUB data that was already input to latch 50-1.
data is set in latch 50-2. In this way, the MAIN attack clock selection data is transferred to the latch 50-1, and the data is transferred to the latch 50-2.
Set the SUB attack clock selection data to . Further, when setting the decay clock selection data to the latches 50-3 and 50-4, it can be done in the same manner as described above, but in this case, the control unit 3 outputs φTD as the read clock to the latches 50-3 and 50-4.
4 is supplied. Furthermore, release clock selection data is applied to latches 50-5 and 50-6, and release clock selection data is applied to latches 50-7 and 50-8.
When setting sustain level data to
and clock φTR to latches 50-7 and 50-8.
supply. As described above, each latch 50-1 to 50-8
The data stored in is based on the signal supplied from the channel control section 40, the signal ATT inputted from the status register section 80 described above,
Selective output is performed using DEC and REL. That is, the output of latch 50-1 is output from transfer gates G50-1, G50-2, G50-3, and G50-1.
50-4 and further transfer gate G50
-5, G50-6, G50-7, and G50-8 to the envelope clock generator 60. In addition, the output of the latch 50-2 is the transfer gate G50-9, G50-10, G50-
11, via G50-12, transfer gates G50-5, G50-6, G50-7, G50-
8 to an envelope clock generator 60. The above transfer gates G50-1 to G50-
The gate signal No. 4 is a signal obtained by inverting the signal MAIN/SUB via the inverter I50-1. Therefore, when the channel control section 40 specifies the MAIN tone, the transfer gates G50-1 to G50-1 are inverted. G50-4 will be opened. On the contrary, transfer gate G50-9~G50
-12 gate signal is the above signal, therefore, the channel control unit 40
When a musical tone is specified, the transfer gates G50-9 to G50-12 are opened. And transfer gate G50-5~G5
0-8 are signals from the status register section 80
If ATT is supplied, open it. In this way, the attack clock selection data for the musical tones MAIN and SUB stored in the latches 50-1 and 50-2 can be selected only when the envelope status is attack, and moreover, can be selected selectively by the designation of MAIN/SUB. Tsuk generation part 6
It will be supplied to 0. Next, the case where the decay clock selection data stored in the latches 50-3 and 50-4 is supplied to the envelope clock generator 60 will be described. That is, the output of latch 50-3 is transferred to transfer gates G50-13, G50-14, and G50-1.
5. Through G50-16, further transfer gates G50-17, G50-18, G50-19,
It is supplied to envelope clock generator 60 via G50-20. In addition, the output of the latch 50-4 is the transfer gate G50-21, G5
0-22, G50-23, G50-24,
Transfer Gate G50-17, G50-1
8, G50-19, and G50-20 to the envelope clock generator 60. The above transfer gate G50-13~G50
The gate signal -16 is a signal obtained by inverting the above signal via the inverter I50-2, and therefore the channel control section 40
When the MAIN tone is specified, the transfer gates G50-13 to G50-16 are opened. On the other hand, transfer gate G50-21~G5
The gate signals 0-24 are the above signals MAIN/
SUB, therefore, the channel control unit 40
When the musical tone of SUB is specified, the transfer gates G50-21 to G50-24 are opened. And transfer gate G50-17~G
50-20 is a signal from the status register section 80
Open if DEC is supplied. In this way, the decay clock selection data for the musical tones MAIN and SUB stored in the latches 50-3 and 50-4 can be selectively applied to the envelope clock only when the envelope status is Decay, and moreover, according to the designation of MAIN/SUB. Tsuk generation part 6
It will be supplied to 0. Next, the case where the release clock selection data stored in the latches 50-5 and 50-6 is supplied to the envelope clock generator 60 will be explained. That is, the output of latch 50-5 is transferred to transfer gates G50-25, G50-26, G50-2.
7, via G50-28, further transfer gate G50-29, G50-30, G50-31,
It is supplied to the envelope clock generator 60 via G50-32. In addition, the output of the latch 50-6 is the transfer gate G50-33, G5
0-34, G50-35, G50-36,
Furthermore, transfer gate G50-29, G50-
30, G50-31, and G50-32 to the envelope clock generator 60. The above transfer gate G50-25~G50
The gate signal -28 is a signal obtained by inverting the above signal via the inverter I50-3, and therefore the channel control section 40
When the MAIN tone is specified, the transfer gates G50-25 to G50-28 are opened. On the other hand, transfer gate G50-33~G5
The gate signals of 0-36 are the above signals.
SUB, therefore, the channel control unit 40
When the musical tone of SUB is specified, the transfer gates G50-33 to G50-36 are opened. And transfer gate G50-29~G
50-32 are signals from the status register section 80.
Opens if REL is supplied. In this way, the release clock selection data for the musical tones MAIN and SUB stored in the latches 50-5 and 50-6 can be selectively applied to the envelope only when the envelope status is release, and moreover, by specifying MAIN/SUB. Clock generator 60
will be supplied to Next, the sustain level data stored in the latches 50-7 and 50-8 is transferred to the status register section 8.
The case where the signal is supplied to 0 will be explained. That is, the output of latch 50-7 is transferred to transfer gates G50-37, G50-38, and G50-3.
The output of the latch 50-8 is supplied to the status register section 80 via the transfer gates G50-41, G50-42, and G50-40.
It is supplied to the status register unit 80 via G50-43 and G50-44. And the above transfer gate G50-37
~G50-40 gate signal is the above signal
This is a signal obtained by inverting MAIN/SUB via the inverter I50-4. Therefore, when the channel control section 40 specifies the MAIN tone, the transfer gates G50-37 to G50-40
is developed. On the other hand, transfer gate G50-41~G5
The gate signals 0-44 are as described above, and therefore, when the channel control section 40 specifies the SUB tone, the transfer gates G50-41 to G50-44 are opened. In this way, the sustain level data of the musical tones MAIN and SUB stored in the latches 50-7 and 50-8 are selectively supplied to the status register section 80 according to the designation of MAIN/SUB. <6> Envelope clock generation section 60, envelope counter section 70, status register section 80 The musical tone of this embodiment is envelope-controlled by the envelope clock generation section 60, envelope counter section 70, and status register section 80. . Therefore, the envelope clock generator 60
generates an envelope clock ENV CLK at a speed corresponding to the data supplied from the ADSR register section 50 and the signals ATT, DEC, REL, and SUS supplied from the status register section 80 (if the signal SUS is input, (The envelope clock ENV CLK is not generated.) It is supplied to the envelope counter section 70. Although a detailed circuit diagram of the envelope clock generating section 60 is omitted, it corresponds to the time division operation of four channels of other blocks, and generates an envelope clock ENV CLK for each channel. Note that this envelope clock generator 60
A similar circuit is also disclosed in Japanese Patent Application No. 53-31369 (Japanese Unexamined Patent Publication No. 54-123937, title of invention: ``Musical sound waveform setting method in electronic musical instruments''), which the present applicant has already filed. be. The envelope clock ENV CLK generated from the envelope clock generator 60 is
The signal is input to the envelope counter section 70. The detailed circuit configuration of this envelope counter section 70 will be omitted (note that the above-mentioned patent application No. 53-31369
This technique is also disclosed in Japanese Patent Application Laid-Open No. 123937/1983, title of the invention: ``Sound waveform setting method for electronic musical instruments''. ) is an adder, 4 stages of 5
It consists of a shift register that shifts bits in parallel and other gate circuits. Note that the shift register is shifted by a clock φ (see FIG. 6a). In addition, this envelope counter section 70 includes
From the status register section 80, the signal ATT,
DEC, REL, and SUS are given, and it is specified whether to count up (at attack) or count down (at decay or release). The 5-bit output of the envelope counter 70 is supplied to the multiplier 90, and in addition, in order to detect coincidence with the sustain level, the 5-bit output of the envelope counter 70 is supplied with 4-bit output (weighting "2", "4", "8", "16"). is the inclusive NOR gate of the status register section 80.
ENOR80-1, ENOR80-2, ENOR80
-3, supplied to ENOR80-4. Further, the envelope carry (borrow) signal ENVC 0 from the envelope counter section 70 is supplied to the carry input terminal Ci of the half adder 80-1 in the status register section 80 in order to change the envelope status. Next, details of the status register section 80 will be explained. This status register section 80 has a status register 80-2 and a sustain status register 80-3. This status register 80-2 is set to the clock φ
It is a four-stage 2-bit parallel shift register that shifts at the clock φ (see FIG. 6a).
This is a 4-stage shift register with 1 bit shifted in the 4-stage shift register (see Figure a). The contents of this status register 80-2 and the contents of sustain status register 80-3,
The relationship with envelope status is shown in Table 6.

【表】 この第6表に示すように、また第5図に示すよ
うに、デイケイ状態とサステイン状態とは、サス
テインステータスレジスタ80−3の内容が
「0」であるのか「1」であるのかによつて決定
される。 しかして、このステータスレジスタ80−2の
内容をクリア状態から、アタツク状態に変更す
る、換言あすると、楽音の報音を開始するように
するには、制御部3から制御信号KEYONを
Lowレベル(論理値「0」)とする。なお、この
制御信号KEYONは通常状態でHighレベル(論
理値「1」)である。 そして、その制御信号KEYONは、インバータ
I80−1により反転され、オアゲートOR80
−1に供給され、ステータスレジスタ80−2の
重み付け「1」の入力端子に論理値「1」の信号
を供給することになる。一方、上記制御信号
KEYONがアンドゲートAND80−1に供給さ
れる為、ステータスレジスタ80−2の重み付け
「2」の入力端子に論理値「0」の信号を供給す
ることになる。 その結果、ステータスレジスタ80−2の内容
は「0、1」となり、アタツク状態に設定され
る。そして、この内容は、順次クロツクφでシフ
トされて、出力端子からデコーダ80−4に供給
される。いま、このデコーダ80−4にて、アタ
ツク状態であることが検出されると信号ATTを
上述したトランスフアゲートG50−5〜G50
−8、エンベロープクロツク発生部60、エンベ
ロープカウンタ部70に供給し、アタツク状態の
動作を開始することになる。 また、上記ステータスレジスタ80−2の出力
は、ハーフアダー80−1を介し、更にオアゲー
トOR80−1あるいはオアゲートOR80−2、
アンドゲートAND80−1を介して入力端子に
リサーキユレートすることになる。 しかして、以下、上述の如くアタツク状態に設
定したチヤンネルの動作のみ説明するが、他のチ
ヤンネルも全く独立的にエンベロープ制御の為の
動作を行うようになる。 さて、アタツク状態に設定されたチヤンネルに
対しては、エンベロープクロツク発生部60から
入力するエンベロープクロツクENV CLKに応
じて順次カウントアツプする動作がエンベロープ
カウンタ部70にて行なわれる。 従つて、その出力は、「00000」から順次増加
し、第5図に示す如く最大レベル「11111」に達
する。そして、次のエンベロープクロツクENV
CLKが入力すると、エンベロープキヤリー信号
ENVCOをエンベロープカウンタ部70は出力
し、ハーフアダー80−1に与える。 その結果、ハーフアダー80−1で現在までの
値「01」に対し「+1」動作が行われて、その内
容を「10」とし、以下この内容をステータスレジ
スタ80−2は循環保持することになる。 そして、デコーダ80−4では、デイケイ状態
であることを検出し、信号DECを上述したトラ
ンスフアゲートG50−17〜G50−20、エ
ンベロープクロツク発生部60、エンベロープカ
ウンタ部70及びステータスレジスタ部80内の
アンドゲートAND80−2に供給し、デイケイ
状態の動作を開始するようになる。 その結果、デイケイ状態に設定されたチヤンネ
ルに対しては、エンベロープ発生部60から入力
するエンベロープクロツクENV CLKに応じて
順次カウントダウンすす動作がエンベロープカウ
ンタ部70にて行なわれる。 そして、エンベロープカウンタ部70の出力
は、乗算部90に供給されると共に、上位ビツト
出力がイクスクルーシブノアゲートENOR80
−1〜ENOR80−4に与えられる。このイク
スクルーシブノアゲートENOR80−1〜
ENOR80−4の他方の入力端子にはADSRレ
ジスタ部50からサステインレベルデータが供給
され、全ビツトの内容が一致した際、このイクス
クルーシブノアゲートENOR80−1〜ENOR
80−4の出力が印加されるアンドゲートAND
80−3から論理値「1」が出力することにな
る。 そして、上記アンドゲートAND80−3の出
力はアンドゲートAND80−2に供給され、い
ま、このアンドゲートAND80−2の他の入力
は全て「1」であること(即ち、デコーダ80−
4から信号DECが論理値「1」で与えられ、サ
ステインステータスレジスタ80−3の出力がイ
ンバータI80−2にて反転して論理値「1」で
与えられる。)により、オアゲートOR80−3
を介してその信号がサステインステータスレジス
タ80−3に供給されることになる。 その為、サステインステータスレジスタ80−
3の当該チヤンネルは論理値「1」となり、その
出力はエンベロープクロツク発生部60、エンベ
ロープカウンタ部70に対し信号SUSとして供
給され、エンベロープデータをサステインレベル
で保持するようにする。また、サステインステー
タスレジスタ80−3の出力は、アンドゲート
AND80−4に供給され、このアンドゲート
AND80−4には、デコーダ80−4の信号
RELがインバータI80−3を介して供給され
ている為、その出力が論理値「1」となり、オア
ゲートOR80−3を介してサステインステータ
スレジスタ80−3の入力端子に与えられること
になる。 従つて、サステインステータスレジスタ80−
3には、サステイン状態を示す「1」信号が当該
チヤンネルに循環記憶されることになる。 そして、このサステイン状態からリリース状態
に変化するのは、制御部3から制御信号KEY
OFFをLowレベル(論理値「0」)とするこによ
り行われる。なお、この制御信号KEY OFFは、
通常状態でHighレベル(論理値「1」)である。 そして、この制御信号KEY OFFは、インバー
タI80−4により反転されてオアゲートOR8
0−1、OR80−2に与えられる。従つて、ス
テータスレジスタ80−2の内容は「1、1」と
なりリリース状態とされ、デコーダ80−4から
は信号RELが出力することになる。 そして、この信号RELは上記トランスフアゲ
ートG50−29〜G50−32に供給されるほ
か、エンベロープクロツク発生部60、エンベロ
ープカウンタ部70に与えられる。また、上記信
号RELは、インバータI80−3を介してアン
ドゲートAND80−4に印加される。 その結果、エンベロープクロツク発生部60に
は、リリースクロツク選択データが与えられ、そ
のデータに応じた速度のエンベロープクロツク
ENV CLKがエンベロープカウンタ部70に与
えられ、エンベロープカウンタ部70ではダウン
カウントを開始する。 また、サステインステータスレジスタ80−3
に内容は、アンドゲートAND80−4が閉成さ
れる為、リサーキユレートループが閉じて、論理
値「0」は保持されることになる。 そして、エンベロープカウンタ部70からキヤ
リー(ボロー)信号ENVCOが出力するまで、ダ
ウンカウントが続けられ、そのデータは乗算部9
0に印加される。そして、上記キヤリー信号
ENVCOが出力すると、その信号はハーフアダー
80−1のキヤリー入力端子に与えられ、ステー
タスレジスタ80−2の当該チヤンネルの内容を
「0、0」に設定する。その結果、そのチヤンネ
ルの楽音出力は停止することになる。 以上の説明で、アタツク、デイケイ、サステイ
ン、リリースの各状態に応じて第4図に示す如き
エンベロープデータが出力することが理解される
が、特に鍵盤のキーオフ状態を検出し、即座に制
御部3から制御信号KEY OFFを出力した場合、
ステータスレジスタ80−2がたとえ、アタツク
状態、デイケイ状態を示すデータ「0、1」、
「1、0」を記憶していたとしても、強制的に
「1、1」のリリース状態とし得、リリースの動
作を行うようになる。 なお、上記信号KEY ON,KEY OFFは、マ
ニユアル演奏の場合のキーオン、キーオフを示す
ほか、自動演奏の場合、発音開始、リリース状態
への移行を夫々示すものである。 このように、ステータスレジスタ部80の制御
のもとに、エンベロープクロツク発生部60、エ
ンベロープカウンタ部70は動作するようにな
り、順次エンベロープデータを乗算部90に4チ
ヤンネルの時分割動作に応じて出力するようにな
る。 また、制御部3は、ステータスレジスタ80−
2、サステインステータスレジスタ80−3の内
容を読出して、空チヤンネルを検出する等の処理
を行なうことが出来る。即ち、制御部3から制御
信号ENVRをLowレベル信号として出力すると、
その出力がインバータI80−5を介してトラン
スフアゲートG80−45、G80−46、G8
0−47に与えられ、このトランスフアゲートG
80−45〜G8047が開成することにより、
データバスD1の重み付け「1」、「2」のライン
にステータスレジスタ80−2の重み付け「1」、
「2」のデータが、またデータバスD1の重み付け
「4」のラインに、サステインステータスレジス
タ80−3の内容が出力することになる。 〈7〉 乗算部90 乗算部90は、デコーダ90−1とシフト回路
90−2とを有する。そして、デコーダ90−1
には、波形RAM部30から出力される波形の差
分値データW1、W2が供給される。 そして、このデータW1、W2により、第4表に
示した如き4段階の出力を得る。即ち、差分値デ
ータW1、W2が「0、0」であると、エンベロー
プカウンタ部70からのエンベロープデータが如
何なる値であろうとも、乗算部90からは論理値
「0」の出力を得る。 即ち、デコーダ90−1の「0」の出力はシフ
ト回路90−2内のトランスフアゲートG90−
1、G90−2、G90−3、G90−4、G9
0−5、G90−6、G90−7に印加される。
このトランスフアゲートG90−1〜G90−7
の一端はグランドレベル(Lowレベル、論理値
「0」)に印加され、他端は出力ラインL1〜L7
供給される。従つて、デコーダ90−1から出力
「0」を得ると、全ラインL1〜L7の出力は全て
「0」となる。 また、デコーダ90−1の「1」の出力は、シ
フト回路90−2内のトランスフアゲートG90
−8、G90−9、G90−10、G90−1
1、G90−12、G90−13、G90−14
に印加される。そして、このトランスフアゲート
G90−8〜G90−12には、エンベロープカ
ウンタ部70のエンベロープデータが一端に供給
され、またトランスフアゲートG90−13、G
90−14の一端にはグランドレベルが接続さ
れ、他端は出力ラインL1〜L7に供給される。従
つて、デコーダ90−1から出力「1」を得る
と、ラインL1〜L7から、エンベロープデータが
直接出力することになる。 更に、デコーダ90−1の「2」の出力は、シ
フト回路90−2内のトランスフアゲートG90
−15、G90−16、G90−17、G90−
18、G90−19、G90−20、G90−2
1に印加される。そして、このトランスフアゲー
トG90−15はグランドレベルに接続され、他
端がラインL1に接続される。またトランスフア
ゲートG90−16〜G90−20は一端がエン
ベロープカウンタ部70のエンベロープ出力端子
に接続され、他端がラインL2〜L6に接続される。
更にトランスフアゲートG90−21は一端がグ
ランドレベルに接続され、他端がラインL7に接
続される。従つて、デコーダ90−1から出力
「2」を得ると、ラインL1〜L7から、エンベロー
プデータが2倍(1ビツトシフト)された値のデ
ータが出力することになる。 また、デコーダ90−1の「4」の出力は、シ
フト回路90−2内のトランスフアゲートG90
−22、G90−23、G90−24、G90−
25、G90−26、G90−27、G90−2
8に印加される。そして、このトランスフアゲー
トG90−22、G90−23の一端はグランド
レベルに接続され、他端はラインL1、L2に接続
される。またトランスフアゲートG50−24〜
G90−28の一端はエンベロープカウンタ部7
0のエンベロープ出力端子に接続され、他端は、
ラインL3〜L7に接続される。従つて、デコーダ
90−1から出力「4」を得ると、ラインL1
L7からエンベロープデータが約4倍(2ビツト
シフト)された値のデータが出力することにな
る。 このようにして、波形の差分値データW1、W2
とエンベロープデータの乗算が行われ、累算器1
00に送出される。 なお、この乗算部90内のトランスフアゲート
G90−29、G90−30は、音階クロツク発
生部10からスケールクロツクSC CLKが発生し
たときのみ開成し、上記差分値データW1、W2
デコーダ90−1へ供給するもので、このスケー
ルクロツクSC CLKの発生時に限り、この乗算部
90は有効なデータが出力し、その他のタイミン
グでは、乗算部90は「0」を出力する。 〈8〉 累算部100 累算部100では、2種類(MAIN/SUB)
のエンベロープ制御された差分値データを累算し
て、振幅値あるいは複数の楽音が発生していると
きは夫々の振幅値の加算値を、各種類
(MAIN/SUB)毎に交互に外部のD/A変換器
へ出力するものである。 いま、第5表に示したように、チヤンネル1を
SUBの楽音として、チヤンネル2〜4をMAIN
の楽音として出力する場合について以下に説明す
る。 即ち、上記乗算部90からラインL1〜L7を介
して供給される7ビツトデータは、加算器100
−1のA入力端子のうち重み付け「1」、「2」、
「4」、「8」、「16」、「32」、「64」、の端子へイ
クス
クルーシブオアゲートEOR100−1、EOR1
00−2、EOR100−3、EOR100−4、
EOR100−5、EOR100−6、EOR100
−7を介して印加される。また。この各イクスク
ルーシブオアゲートEOR100−1〜EOR10
0−7の他方の入力端子及び入力端子の重み付け
「128」、「256」、「512」の端子、キヤリー入力端子
Cinには、波形RAM30−1の出力W3(符号ビ
ツト)がトランスフアゲートG100−1を介し
て供給される。 従つて、音階クロツク発生回路10−3から、
スケールクロツクSC CLKが発生した際に、波形
RAM30−1の出力データW3が「0」であれ
ば、この加算器100−1はB入力端子(重み付
け「1」〜「512」の10ビツト)に供給されるデ
ータと、乗算部90から供給されるデータとを加
算してS出力端子(重み付け「1」〜「512」の
10ビツト)から出力すると、上記データW3
「1」であれば、乗算部90から供給されるデー
タの論理レベルを反転し、更にその値に「+1」
したデータ、換言すれば乗算部90の出力データ
の符号を反転し、負の値としたデータが加算器1
00−1のA入力端子及びキヤリー入力端子Din
に印加かされ、他方のB入力端子からのデータと
加算してS出力端子から出力する。 このようにして、正、負いずれの差分値データ
をも累算部100にて累算することが可能であ
る。 そして、加算器100−1から出力されるデー
タは、トランスフアゲートG100−2、G10
0−3、G100−4、G100−5、G100
−6、G100−7、G100−8、G100−
9、G100−10、G100−11に印加さ
れ、このトランスフアゲートG100−2〜G1
00−11の出力は、ラツチ110−2、100
−3に印加される。しかして、上記トランスフア
ゲートG100−2〜G100−11には、加算
器100−1のキヤリー出力端子Coutの出力と、
トランスフアゲートG100−12を介して供給
される波形RAM30−1の波形データW3とがイ
クスクルーシアゲートENOR100−1に供給
され、その出力が印加される。 即ち、このイクスクルーシブノアゲート
ENOR100−1は、加算器100−1のオー
バーフロー時の処理を行うもので、通常状態で
は、上記トランスフアゲートG100−2〜G1
00−11は開成するが、正または負のオーバー
フローが生じたときは、このトランスフアゲート
G100−2〜G100−11は閉成される。 そして、このオーバーフロー時には、ラツチ1
00−2またはラツチ100−3の出力が、再び
このラツチ100−2またはラツチ100−3に
入力されるように、トランスフアゲートG100
−13、G100−14、G100−15、G1
00−16、G100−17、G100−18、
G100−19、G100−20、G100−2
1、G100−22が開成する。即ち、このトラ
ンスフアゲートG100−13〜G100−22
には、上記イクスクルーシブノアゲートENOR
100−1の出力がインバータ100−1にて反
転されて印加されている。 そして、上記ラツチ100−2、100−3は
夫々クロツクφM、φS(第6図c,d参照)で読
込動作を行うもので、その記憶状態は、第6図
e,fに示す如く変更されることになる。従つ
て、今の場合、チヤンネル1のデータはラツチ1
00−3に記憶されることになる。 そして、ラツチ100−2のデータは、チヤン
ネル制御部40からの信号MAIN/SUB(第6図
b参照)により開閉制御されるトランスフアゲー
トG100−23、G100−24、G100−
25、G100−26、G100−27、G10
0−28、G100−29、G100−30、G
100−31、G100−32を介して、加算器
100−1のB入力端子へ供給されると共に、2
チヤンネル毎にレベルを反転するクロツクtn(第
6図k参照)が印加されるトランスフアゲートG
100−33、G100−34、G100−3
5、G100−36、G100−37、G100
−38、G100−39、G100−40、G1
00−41、G100−42を介してラツチ10
0−4に供給され、クロツクφn(第6図l参照)
にて読込まれる。 一方、ラツチ100−3のデータは、チヤンネ
ル制御部40からの信号MAIN/SUB(第6図b
参照)がインバータI100−2が反転されて与
えられるトランスフアゲートG100−43、G
100−44、G100−45、G100−4
6、G100−47、G100−48、G100
−49、G100−50、G100−51、G1
00−52を介して、加算器100−1のB入力
端子へ供給されると共に、上記クロツクtn(第6
図k参照)がインバータI100−3を介して与
えられるトランスフアゲートG100−53、G
100−54、G100−55、G100−5
6、G100−57、G100−58、G100
−59、G100−60、G100−61、G1
00−62を介して、ラツチ100−4に印加さ
れて読込まれる。 その結果、このラツチ100−4からは、第6
図mに示す如く、MAINとSUBの夫々の楽音が
交互にクロツクφn(第6図l参照)に同期して
D/A変換器にバスラインB3(10ビツトライン)
を介して出力することになる。 なお、上述したように、加算器100−1のオ
ーバーフロー時に、オーバーフローする以前のデ
ータをラツチ100−2あるいはラツチ100−
3に記憶させる為、上記トランスフアゲートG1
00−23〜G100−32の出力及びトランス
フアゲートG100−43〜G100−52の出
力は、トランスフアゲートG100−13〜G1
00−222供給されるようになつている。 以上のように、この累算部100においては、
2種類MAIN/SUBの楽音の振幅データあるい
は、各チヤンネルの振幅データの加算値データ
が、独立のラツチ100−2、ラツチ100−3
に記憶され、そのデータが交互にD/A変換器に
出力されるようになり、このLSIチツプ1の外部
では、この交互に出力されるデータに対し、更
に、独立的にフイルタをかけることや、音量比を
楽音MAIN/SUBで可変制御することが出来る。 その為、例えば、メロデイ音と伴奏者あるいは
ヤニユアル演奏音と自動演奏音、その他2系統の
楽音を夫々独立的に外部で処理することが出来
る。 本実施例においては、上述した如く、4チヤン
ネルの時分割処理を行う電子楽器において、波形
RAM30−1に任意の波形データを予め設定
し、また各チヤンネルをMAIN/SUBの2種類
の楽音のいずれかを発生させるチヤンネルとする
かを指定し得るようにし、各楽音毎に波形あるい
は、エンベロープを任意に設定出来るようにし、
各楽音を同時に発生し得るようにしたから、極め
て少ないハードウエアで2種類の楽音を得ること
が出来、また、本実施例の回路は1チツプのLSI
にて構成したことにより、非常にコンパクトな電
子楽器を製造することも可能となるという利点を
有する。 なお、上記実施例では、4チヤンネルの時分割
処理を行う電子楽器に本発明を適用したが、それ
以上あるいはそれ以下の複数チヤンネルの時分割
処理を行う電子楽器にも本発明を適用し得る。 また、上記実施例では2種類の楽音MAIN/
SUBを各チヤンネル毎に指定出来るようにした
が、如何なるチヤンネルがMAINで、如何なる
チヤンネルがSUBであるかを固定的に設定して
ある場合にも、本発明を適用することが出来る。 その場合は、例えば全チヤンネルを1つの楽音
で発生すれか、それとも固定的に設定された
MAIN/SUBの種類で各チヤンネルから楽音を
発生するかを選択指定出来るようにしても良い。 更に、上記実施例では2種類(MAIN/SUB)
楽音を発生する場合について説明したが、それ以
上の種類の楽音を時分割処理の各チヤンネルから
選択的に発生するようにすることも出来る。 また、上記実施例では、LSI外部にて2種類の
楽音の制御を行えるようにした為、累算部100
内に、MAINのデータを記憶するラツチと、
SUBのデータを記憶するラツチを独立して設け
るようにし、D/A変換器には時分割的に2種類
の楽音の振幅データあるいは各チヤンネルの振幅
データの加算値データを供給するようにしたが、
外部でそのような制御を行わなければ、1つのラ
ツチに順次全てのチヤンネルのエンベロープ制御
された差分値データを累算記憶するようにしても
良い。そして、そのラツチの出力を外部のD/A
変換器に供給するようにすれば経時的に変化する
振幅レベル信号あるいは各チヤンネルの振幅レベ
ルの加算レベル信号を得ることが出来る。 加えて、上記実施例では、楽音の音高に応じて
スケールクロツクSC CLKを生成し、このクロツ
クにより波形のアドレスを歩進するようにして、
各ステツプに波形を読出すようにしたが、音高に
応じて位相角データを選択し、この位相角データ
を時分割の各サイクル毎に累算して、波形の位相
角を指定するようにした電子楽器、例えば、特公
昭52−46088号公報(発明の名称;「電子楽器」、
出願人;日本楽器製造株式会社)に開示されてい
るような電子楽器にも、本発明を適用し得ること
は勿論であり、その場合、波形メモリを楽音の種
類に切替え制御することにより実施し得る。 また、上記実施例では、波形RAM30−1に
波形の差分値データを記憶するようにしたが、波
形の振幅値データを記憶させることも出来、その
場合は、累算部100は不要となる。 また、上記実施例では、楽音の特性として、波
形と、エンベロープ波形とを選択し、これらを切
替えるようにして2種類の楽音を同時に生成する
ようにしたが、その他、ビブラート効果、トレモ
ロ効果の付加方法を各種類で変更したり、あるい
は、その他の効果を各種類毎に変更したりするよ
うにすることも可能である。 更に本発明は勿論、上述の如き時分割処理を行
わない電子楽器に対しても適用できる。 更にまた、波形RAMの記憶容量は任意であ
る。 また、波形RAM30−1へ波形データを入力
する場合制御部3内に記憶されている波形データ
を書込むことのほか、LSI1に接続した外部
ROMの内容を読出して入力することも出来、更
には、各種の波形データが予め記録されている磁
気テープ、バーコード表示体などを利用して書込
むことも出来、あるいはテンキーなどを用いて、
外部から入力することも出来る。 その他、本発明の要旨を逸脱しない範囲で、
種々応用変形可能であることは勿論である。 以上説明したように本発明は、複数種類の任意
の楽音波形データを記憶可能な波形記憶手段を用
意し、各発音チヤンネルにて読み出された楽音波
形の波高値を波形の種類毎にデジタル的に累算し
て、この波形の種類毎の累算値を時分割的に出力
するようにしたので、より応用性の高いデジタル
累算方式の楽音波形発生装置を実現することがで
きる。
[Table] As shown in Table 6 and as shown in FIG. determined by. Therefore, in order to change the contents of the status register 80-2 from the clear state to the attack state, in other words, to start playing musical tones, the control signal KEYON is sent from the control section 3.
Set to low level (logical value "0"). Note that this control signal KEYON is at a high level (logical value "1") in a normal state. Then, the control signal KEYON is inverted by the inverter I80-1, and the OR gate OR80
-1, and a signal with a logical value of "1" is supplied to the weighted "1" input terminal of the status register 80-2. On the other hand, the above control signal
Since KEYON is supplied to the AND gate AND80-1, a signal with a logical value of "0" is supplied to the weighted "2" input terminal of the status register 80-2. As a result, the contents of the status register 80-2 become "0, 1" and are set to the attack state. The contents are then sequentially shifted by the clock φ and supplied from the output terminal to the decoder 80-4. Now, when the decoder 80-4 detects the attack state, the signal ATT is transferred to the above-mentioned transfer gates G50-5 to G50.
-8, is supplied to the envelope clock generator 60 and envelope counter 70, and the attack state operation is started. Further, the output of the status register 80-2 is sent via the half adder 80-1 to the OR gate OR80-1 or the OR gate OR80-2.
It will be recirculated to the input terminal via the AND gate AND80-1. Therefore, only the operation of the channel set to the attack state as described above will be explained below, but the other channels also perform operations for envelope control completely independently. Now, for the channels set to the attack state, the envelope counter section 70 sequentially counts up in response to the envelope clock ENV CLK input from the envelope clock generating section 60. Therefore, the output increases sequentially from "00000" and reaches the maximum level "11111" as shown in FIG. And the next envelope clock ENV
When CLK is input, envelope carry signal
The envelope counter unit 70 outputs ENVCO and provides it to the half adder 80-1. As a result, the half adder 80-1 performs a "+1" operation on the current value "01", making the content "10", and the status register 80-2 holds this content cyclically. . The decoder 80-4 detects the decay state and sends the signal DEC to the transfer gates G50-17 to G50-20, the envelope clock generator 60, the envelope counter 70, and the status register 80. The signal is supplied to the AND gate AND80-2 to start the decay state operation. As a result, for the channels set in the decay state, the envelope counter section 70 sequentially performs a countdown operation in response to the envelope clock ENV CLK input from the envelope generation section 60. The output of the envelope counter section 70 is supplied to the multiplication section 90, and the upper bit output is sent to the exclusive NOR gate ENOR80.
-1 to ENOR80-4. This exclusive Noah Gate ENOR80-1~
Sustain level data is supplied from the ADSR register section 50 to the other input terminal of ENOR80-4, and when the contents of all bits match, the exclusive NOR gates ENOR80-1 to ENOR
AND gate AND to which the output of 80-4 is applied
A logical value "1" is output from 80-3. Then, the output of the AND gate AND80-3 is supplied to the AND gate AND80-2, and now all other inputs of the AND gate AND80-2 are "1" (that is, the decoder 80-
4, the signal DEC is given with a logic value of "1", and the output of the sustain status register 80-3 is inverted by the inverter I80-2 and given with a logic value of "1". ) by ORGATE OR80-3
The signal is supplied to the sustain status register 80-3 via the sustain status register 80-3. Therefore, sustain status register 80-
The corresponding channel of No. 3 has a logical value of "1", and its output is supplied as a signal SUS to the envelope clock generating section 60 and envelope counter section 70, so that the envelope data is held at the sustain level. In addition, the output of the sustain status register 80-3 is an AND gate
Supplied to AND80-4, this AND gate
AND80-4 contains the signal of decoder 80-4.
Since REL is supplied via the inverter I80-3, its output has a logical value of "1" and is applied to the input terminal of the sustain status register 80-3 via the OR gate OR80-3. Therefore, the sustain status register 80-
3, a "1" signal indicating the sustain state is cyclically stored in the corresponding channel. The change from this sustain state to the release state is caused by the control signal KEY from the control section 3.
This is done by setting OFF to Low level (logical value "0"). Note that this control signal KEY OFF is
It is at High level (logical value "1") in the normal state. Then, this control signal KEY OFF is inverted by the inverter I80-4 and sent to the OR gate OR8.
0-1, given to OR80-2. Therefore, the contents of the status register 80-2 become "1, 1" and are in the released state, and the signal REL is output from the decoder 80-4. This signal REL is supplied to the transfer gates G50-29 to G50-32, as well as to the envelope clock generator 60 and the envelope counter 70. Further, the signal REL is applied to an AND gate AND80-4 via an inverter I80-3. As a result, the envelope clock generator 60 is given release clock selection data, and the envelope clock generator 60 is given release clock selection data, and the envelope clock generator 60 generates an envelope clock at a speed corresponding to the data.
ENV CLK is applied to the envelope counter section 70, and the envelope counter section 70 starts counting down. Also, sustain status register 80-3
Since the AND gate AND80-4 is closed, the recirculating loop is closed and the logic value "0" is held. The down count continues until the envelope counter section 70 outputs the carry (borrow) signal ENVCO, and the data is transferred to the multiplication section 9.
Applied to 0. And the above carry signal
When ENVCO outputs, the signal is applied to the carry input terminal of half adder 80-1, and the contents of the corresponding channel in status register 80-2 are set to "0, 0". As a result, the musical tone output of that channel will be stopped. From the above explanation, it is understood that envelope data as shown in FIG. 4 is output according to each state of attack, decay, sustain, and release. When the control signal KEY OFF is output from
For example, the status register 80-2 may contain data "0, 1" indicating the attack state or decay state.
Even if "1, 0" is stored, the release state of "1, 1" can be forced, and the release operation will be performed. Note that the above-mentioned signals KEY ON and KEY OFF indicate key-on and key-off in the case of manual performance, and also indicate the start of sound generation and transition to the release state, respectively, in the case of automatic performance. In this way, under the control of the status register section 80, the envelope clock generating section 60 and the envelope counter section 70 come to operate, and sequentially transmit envelope data to the multiplication section 90 in accordance with the time-division operation of four channels. It will start outputting. The control unit 3 also controls the status register 80-
2. The contents of the sustain status register 80-3 can be read to perform processing such as detecting an empty channel. That is, when the control signal ENVR is output as a low level signal from the control section 3,
The output is transferred to transfer gates G80-45, G80-46, G8 via inverter I80-5.
0-47, and this transfer gate G
With the development of 80-45~G8047,
The weighting “1” and “2” lines of the status register 80-2 and the weighting “1” and “2” of the data bus D1 , respectively,
The data "2" and the contents of the sustain status register 80-3 are output to the weighted "4" line of the data bus D1 . <7> Multiplication section 90 The multiplication section 90 includes a decoder 90-1 and a shift circuit 90-2. And decoder 90-1
are supplied with waveform difference value data W 1 and W 2 output from the waveform RAM unit 30. Using these data W 1 and W 2 , outputs in four stages as shown in Table 4 are obtained. That is, if the difference value data W 1 and W 2 are "0, 0", no matter what value the envelope data from the envelope counter section 70 is, the output of the logical value "0" is obtained from the multiplication section 90. . That is, the output of "0" from the decoder 90-1 is transferred to the transfer gate G90- in the shift circuit 90-2.
1, G90-2, G90-3, G90-4, G9
0-5, G90-6, and G90-7.
This transfer gate G90-1 to G90-7
One end is applied to the ground level (Low level, logical value "0"), and the other end is supplied to the output lines L1 to L7 . Therefore, when the output "0" is obtained from the decoder 90-1, the outputs of all lines L1 to L7 are all "0". Further, the output of "1" from the decoder 90-1 is transferred to the transfer gate G90 in the shift circuit 90-2.
-8, G90-9, G90-10, G90-1
1, G90-12, G90-13, G90-14
is applied to The envelope data of the envelope counter section 70 is supplied to one end of the transfer gates G90-8 to G90-12, and the transfer gates G90-13 and G
The ground level is connected to one end of 90-14, and the other end is supplied to output lines L1 to L7 . Therefore, when the output "1" is obtained from the decoder 90-1, the envelope data is directly output from the lines L1 to L7 . Further, the output "2" of the decoder 90-1 is transferred to the transfer gate G90 in the shift circuit 90-2.
-15, G90-16, G90-17, G90-
18, G90-19, G90-20, G90-2
1. This transfer gate G90-15 is connected to the ground level, and the other end is connected to the line L1 . Further, one end of the transfer gates G90-16 to G90-20 is connected to the envelope output terminal of the envelope counter section 70, and the other end is connected to the lines L2 to L6 .
Furthermore, one end of the transfer gate G90-21 is connected to the ground level, and the other end is connected to the line L7 . Therefore, when an output "2" is obtained from the decoder 90-1, data with a value obtained by doubling the envelope data (shifted by 1 bit) is output from lines L1 to L7 . Further, the output of "4" of the decoder 90-1 is transferred to the transfer gate G90 in the shift circuit 90-2.
-22, G90-23, G90-24, G90-
25, G90-26, G90-27, G90-2
8. One end of the transfer gates G90-22 and G90-23 is connected to the ground level, and the other end is connected to the lines L1 and L2 . Also, transfer gate G50-24~
One end of G90-28 is envelope counter section 7
0 envelope output terminal, and the other end is
Connected to lines L3 to L7 . Therefore, when the output "4" is obtained from the decoder 90-1, the lines L 1 to
From L7 , the envelope data is output approximately four times (shifted by 2 bits). In this way, the waveform difference value data W 1 , W 2
is multiplied by the envelope data, and the accumulator 1
00. Note that the transfer gates G90-29 and G90-30 in the multiplication section 90 are opened only when the scale clock SC CLK is generated from the scale clock generation section 10, and the transfer gates G90-29 and G90-30 are opened only when the scale clock SC CLK is generated from the scale clock generation section 10, and the transfer gates G90-29 and G90-30 are opened only when the scale clock SC CLK is generated from the scale clock generation section 10. -1, and the multiplier 90 outputs valid data only when the scale clock SC CLK is generated, and at other timings, the multiplier 90 outputs "0". <8> Accumulator 100 The accumulator 100 has two types (MAIN/SUB)
By accumulating the envelope-controlled difference value data of /A converter. Now, as shown in Table 5, channel 1 is
Channels 2 to 4 are MAIN as the SUB musical tone.
The case of outputting as a musical tone will be explained below. That is, the 7-bit data supplied from the multiplication section 90 via lines L1 to L7 is sent to the adder 100.
Weighting “1”, “2” among the A input terminals of −1,
Exclusive or gate to terminals "4", "8", "16", "32", "64", EOR100-1, EOR1
00-2, EOR100-3, EOR100-4,
EOR100-5, EOR100-6, EOR100
-7. Also. Each of these exclusive or gates EOR100-1 to EOR10
0-7 other input terminal, input terminal weighting "128", "256", "512" terminal, carry input terminal
The output W 3 (sign bit) of the waveform RAM 30-1 is supplied to Cin via the transfer gate G100-1. Therefore, from the scale clock generation circuit 10-3,
When the scale clock SC CLK is generated, the waveform
If the output data W3 of the RAM 30-1 is "0", the adder 100-1 receives the data supplied to the B input terminal (10 bits with weighting "1" to "512") and the data from the multiplier 90. The S output terminal (with weighting "1" to "512") is
If the data W3 is "1", the logic level of the data supplied from the multiplier 90 is inverted and the value is added "+1".
In other words, the data obtained by inverting the sign of the output data of the multiplier 90 and making it a negative value is sent to the adder 1.
00-1 A input terminal and carry input terminal Din
is added to the data from the other B input terminal and output from the S output terminal. In this way, it is possible to accumulate both positive and negative difference value data in the accumulator 100. Then, the data output from the adder 100-1 is transferred to the transfer gates G100-2 and G10.
0-3, G100-4, G100-5, G100
-6, G100-7, G100-8, G100-
9, applied to G100-10 and G100-11, and the transfer gates G100-2 to G1
The output of 00-11 is the latch 110-2, 100
-3 is applied. Therefore, the output of the carry output terminal Cout of the adder 100-1 is connected to the transfer gates G100-2 to G100-11.
The waveform data W3 of the waveform RAM 30-1 supplied via the transfer gate G100-12 is supplied to the exclusive gate ENOR100-1, and its output is applied. In other words, this exclusive Noah gate
ENOR100-1 performs processing when the adder 100-1 overflows, and under normal conditions, the transfer gates G100-2 to G1
00-11 is open, but when a positive or negative overflow occurs, the transfer gates G100-2 to G100-11 are closed. And at this overflow, latch 1
Transfer gate G100 is connected so that the output of latch 00-2 or latch 100-3 is again input to latch 100-2 or latch 100-3.
-13, G100-14, G100-15, G1
00-16, G100-17, G100-18,
G100-19, G100-20, G100-2
1, G100-22 is opened. That is, these transfer gates G100-13 to G100-22
Includes the above exclusive Noah Gate ENOR
The output of 100-1 is inverted by inverter 100-1 and applied. The latches 100-2 and 100-3 perform reading operations using clocks φM and φS (see FIGS. 6c and d), respectively, and their memory states are changed as shown in FIGS. 6e and 6f. That will happen. Therefore, in this case, the data on channel 1 is stored in latch 1.
It will be stored in 00-3. The data in the latch 100-2 is transferred to transfer gates G100-23, G100-24, G100- which are controlled to open and close by the signal MAIN/SUB from the channel control unit 40 (see FIG. 6b).
25, G100-26, G100-27, G10
0-28, G100-29, G100-30, G
100-31, G100-32, and is supplied to the B input terminal of the adder 100-1.
A transfer gate G to which a clock tn (see Figure 6k) that inverts the level for each channel is applied.
100-33, G100-34, G100-3
5, G100-36, G100-37, G100
-38, G100-39, G100-40, G1
Latch 10 via 00-41, G100-42
0-4 and clock φn (see Figure 6l).
It is read in. On the other hand, the data in the latch 100-3 is transmitted from the channel control section 40 by the signal MAIN/SUB (FIG. 6b).
reference) is provided by inverting the inverter I100-2.
100-44, G100-45, G100-4
6, G100-47, G100-48, G100
-49, G100-50, G100-51, G1
00-52 to the B input terminal of the adder 100-1.
transfer gate G100-53, G
100-54, G100-55, G100-5
6, G100-57, G100-58, G100
-59, G100-60, G100-61, G1
00-62 and is applied to and read from latch 100-4. As a result, from this latch 100-4, the sixth
As shown in Figure m, each musical tone of MAIN and SUB is alternately synchronized with clock φn (see Figure 6l) and sent to the D/A converter on bus line B3 (10-bit line).
It will be output via . As described above, when the adder 100-1 overflows, the data before the overflow is stored in the latch 100-2 or the latch 100-2.
3, the above transfer gate G1
The outputs of 00-23 to G100-32 and the outputs of transfer gates G100-43 to G100-52 are the outputs of transfer gates G100-13 to G1.
00-222 is being supplied. As described above, in this accumulation section 100,
The amplitude data of the two types of MAIN/SUB musical tones or the sum value data of the amplitude data of each channel are sent to independent latches 100-2 and 100-3.
The data is then alternately output to the D/A converter, and outside of this LSI chip 1, the alternately output data can be further independently filtered. , the volume ratio can be variably controlled by musical tone MAIN/SUB. Therefore, for example, melody sounds and accompanist sounds, manual performance sounds and automatic performance sounds, and other two systems of musical sounds can be processed independently and externally. In this embodiment, as described above, in an electronic musical instrument that performs time-sharing processing of four channels, the waveform
Arbitrary waveform data can be set in advance in the RAM 30-1, and each channel can be specified as a channel that generates one of two types of musical tones: MAIN/SUB, and waveform or envelope data can be set for each musical tone. can be set arbitrarily,
Since each musical tone can be generated simultaneously, two types of musical tones can be obtained with an extremely small amount of hardware, and the circuit of this embodiment is a one-chip LSI.
This configuration has the advantage that it is also possible to manufacture a very compact electronic musical instrument. In the above embodiment, the present invention is applied to an electronic musical instrument that performs time-sharing processing on four channels, but the present invention may also be applied to an electronic musical instrument that performs time-sharing processing on more or less than four channels. In addition, in the above embodiment, two types of musical tones MAIN/
Although the SUB can be specified for each channel, the present invention can also be applied to a case where it is fixedly set which channel is the MAIN and which channel is the SUB. In that case, for example, should all channels be generated by one tone, or should a fixed sound be generated?
It may also be possible to select and specify whether musical tones are generated from each channel depending on the type of MAIN/SUB. Furthermore, in the above example, there are two types (MAIN/SUB)
Although the case where musical tones are generated has been described, it is also possible to selectively generate more types of musical tones from each channel of time-sharing processing. In addition, in the above embodiment, since two types of musical tones can be controlled outside the LSI, the accumulator 100
Inside is a latch that stores MAIN data,
A latch for storing SUB data is provided independently, and amplitude data of two types of musical tones or sum value data of amplitude data of each channel is supplied to the D/A converter in a time-sharing manner. ,
If such control is not performed externally, the envelope-controlled difference value data of all channels may be accumulated and stored in one latch in sequence. Then, the output of the latch is connected to an external D/A.
By supplying the signal to a converter, it is possible to obtain an amplitude level signal that changes over time or a summation level signal of the amplitude levels of each channel. In addition, in the above embodiment, the scale clock SC CLK is generated according to the pitch of the musical tone, and the address of the waveform is incremented by this clock.
The waveform was read out at each step, but now the phase angle data is selected according to the pitch, and this phase angle data is accumulated for each time-division cycle to specify the phase angle of the waveform. electronic musical instruments, for example, Japanese Patent Publication No. 52-46088 (title of invention: ``electronic musical instruments'',
Of course, the present invention can also be applied to electronic musical instruments such as those disclosed by Nippon Musical Instruments Manufacturing Co., Ltd. (applicant: Nippon Musical Instrument Manufacturing Co., Ltd.); obtain. Further, in the above embodiment, waveform difference value data is stored in the waveform RAM 30-1, but waveform amplitude value data can also be stored, and in that case, the accumulator 100 is not required. In the above embodiment, the waveform and envelope waveform are selected as musical tone characteristics, and two types of musical tones are generated simultaneously by switching between them. It is also possible to change the method for each type, or to change other effects for each type. Furthermore, the present invention can of course be applied to electronic musical instruments that do not perform time-sharing processing as described above. Furthermore, the storage capacity of the waveform RAM is arbitrary. When inputting waveform data to the waveform RAM 30-1, in addition to writing the waveform data stored in the control unit 3, the external
The contents of the ROM can be read out and input, and furthermore, various waveform data can be written using pre-recorded magnetic tape, bar code display, etc., or using a numeric keypad etc.
It is also possible to input from outside. In addition, without departing from the gist of the present invention,
Of course, various applications and modifications are possible. As explained above, the present invention provides a waveform storage means capable of storing multiple types of arbitrary tone waveform data, and digitally stores the peak values of the tone waveforms read out in each sound generation channel for each type of waveform. Since the accumulated values for each type of waveform are output in a time-division manner, it is possible to realize a musical waveform generator using a digital accumulation method with higher applicability.

【図面の簡単な説明】[Brief explanation of drawings]

図面は本発明の一実施例を示し、第1図は、本
実施例の電子楽器に用いられるLSIチツプの機能
ブロツクを示した図、第2図A〜Cは同実施例の
詳細な回路構成図、第3図は第2図A〜Cの図面
の接続状態を示す図、第4図は波形RAM30−
1へ波形データを書込む際の動作を説明するフロ
ーチヤート、第5図は本実施例のエンベロープ波
形を示す図、第6図は、本実施例の動作を説明す
る為のタイムチヤートである。 1……LSIチツプ、2……楽音生成部、3……
制御部、10……音階クロツク発生部、20……
波形ステツプカウンタ部、30……波形RAM、
40……チヤンネル制御部、40−1……音色制
御レジスタ、50……ADSRレジスタ部、60…
…エンベロープクロツク発生部、70……エンベ
ロープカウンタ部、80……ステータスレジスタ
部、90……乗算部、100……累算部。
The drawings show one embodiment of the present invention. Fig. 1 is a diagram showing the functional blocks of an LSI chip used in the electronic musical instrument of this embodiment, and Figs. 2 A to C show the detailed circuit configuration of the same embodiment. 3 is a diagram showing the connection state of the drawings in FIGS. 2A to C, and FIG. 4 is a diagram showing the connection state of the diagrams of FIGS.
FIG. 5 is a flowchart illustrating the operation when writing waveform data to 1, FIG. 5 is a diagram showing the envelope waveform of this embodiment, and FIG. 6 is a time chart illustrating the operation of this embodiment. 1...LSI chip, 2...music tone generation section, 3...
Control section, 10... Scale clock generation section, 20...
Waveform step counter section, 30...Waveform RAM,
40...Channel control section, 40-1...Tone control register, 50...ADSR register section, 60...
...Envelope clock generation section, 70...Envelope counter section, 80...Status register section, 90...Multiply section, 100...Accumulation section.

Claims (1)

【特許請求の範囲】 1 楽音波形データを演奏に先立つて入力設定す
る楽音波形データ入力設定手段と、 複数のメモリエリアを有し、上記楽音波形デー
タ入力設定手段から入力される複数種類の楽音波
形データを記憶可能な波形記憶手段と、 この波形記憶手段に対する上記複数種類の楽音
波形データの書込制御を行う書込制御手段と、 複数の時分割読出しチヤンネルを有し、この複
数の時分割読出しチヤンネルの夫々によつて、上
記波形記憶手段から上記複数種類の楽音波形デー
タのうちの指定した種類の楽音波形データを読み
出すようにして、異なる種類の楽音波形データを
時分割的に得る読出制御手段と、 上記波形記憶手段から読み出される複数種類の
楽音波形データを、各種類毎に別個に累算する累
算手段と、 この累算手段にて各種類毎に累算された1乃至
複数の楽音波形データの累算値を、上記複数の時
分割読出しチヤンネルの全チヤンネル時間を上記
累算値の数に分割した複数の時間毎に、時分割的
に出力する出力手段と、 を具備したことを特徴とする楽音波形発生装置。
[Scope of Claims] 1. A musical sound waveform data input setting means for inputting and setting musical sound waveform data prior to performance; and a plurality of types of musical sound waveforms having a plurality of memory areas and inputted from the musical sound waveform data inputting and setting means. A waveform storage means capable of storing data, a write control means for controlling writing of the plurality of types of musical waveform data to the waveform storage means, and a plurality of time-division readout channels, the plurality of time-division readout channels having a plurality of time-division readout channels. readout control means for reading out specified types of musical waveform data among the plurality of types of musical waveform data from the waveform storage means by each of the channels, thereby obtaining different types of musical waveform data in a time-divisional manner; and an accumulating means for separately accumulating a plurality of types of musical sound waveform data read from the waveform storage means for each type, and one or more musical tones accumulated for each type by the accumulating means. output means for time-divisionally outputting the accumulated value of the waveform data for each of a plurality of times obtained by dividing the total channel time of the plurality of time-division readout channels by the number of the accumulated values; Characteristic musical waveform generator.
JP56077490A 1981-05-21 1981-05-21 Electronic musical instrument Granted JPS57191694A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56077490A JPS57191694A (en) 1981-05-21 1981-05-21 Electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56077490A JPS57191694A (en) 1981-05-21 1981-05-21 Electronic musical instrument

Publications (2)

Publication Number Publication Date
JPS57191694A JPS57191694A (en) 1982-11-25
JPH0425559B2 true JPH0425559B2 (en) 1992-05-01

Family

ID=13635424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56077490A Granted JPS57191694A (en) 1981-05-21 1981-05-21 Electronic musical instrument

Country Status (1)

Country Link
JP (1) JPS57191694A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5227621A (en) * 1975-08-11 1977-03-02 Risaachi Lab Ltd Deutsche Double tone synthesizer
JPS53125007A (en) * 1977-04-08 1978-11-01 Kawai Musical Instr Mfg Co Electronic musical instrument
JPS5424287A (en) * 1977-07-27 1979-02-23 Hamamatsu Kosan Deodorization element for air cleaner or indoor deodorizer
JPS55166698A (en) * 1979-06-14 1980-12-25 Nippon Musical Instruments Mfg Electronic musical instrument

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5227621A (en) * 1975-08-11 1977-03-02 Risaachi Lab Ltd Deutsche Double tone synthesizer
JPS53125007A (en) * 1977-04-08 1978-11-01 Kawai Musical Instr Mfg Co Electronic musical instrument
JPS5424287A (en) * 1977-07-27 1979-02-23 Hamamatsu Kosan Deodorization element for air cleaner or indoor deodorizer
JPS55166698A (en) * 1979-06-14 1980-12-25 Nippon Musical Instruments Mfg Electronic musical instrument

Also Published As

Publication number Publication date
JPS57191694A (en) 1982-11-25

Similar Documents

Publication Publication Date Title
US4213366A (en) Electronic musical instrument of wave memory reading type
EP0149896B1 (en) Method and apparatus for dynamic reproduction of transient and steady state voices in an electronic musical instrument
US4179972A (en) Tone wave generator in electronic musical instrument
US4785706A (en) Apparatus for generating a musical tone signal with tone color variations independent of tone pitch
US4681007A (en) Sound generator for electronic musical instrument
US5321198A (en) Tone signal generator utilizing ancillary memories for electronic musical instrument
US4160404A (en) Electronic musical instrument
US4502359A (en) Electronic musical instrument
JPH0160839B2 (en)
JPH0425559B2 (en)
JPH0425558B2 (en)
US4475429A (en) Electronic equipment with tone generating function
US3903775A (en) Electronic musical instrument
US4936184A (en) Music generator
JPH0421878B2 (en)
JPS6048760B2 (en) Note clock generator for electronic musical instruments
JP3246911B2 (en) Electronic musical instrument
JPH0522918B2 (en)
JPS6335038B2 (en)
JPH0631969B2 (en) Electronic musical instrument
JP2591159B2 (en) Waveform selection and synthesis device
JP2526834B2 (en) Performance control device
JPH0786755B2 (en) Electronic musical instrument
JPS6224800B2 (en)
JPH023197B2 (en)