JP2599361B2 - Waveform reading device - Google Patents

Waveform reading device

Info

Publication number
JP2599361B2
JP2599361B2 JP60261497A JP26149785A JP2599361B2 JP 2599361 B2 JP2599361 B2 JP 2599361B2 JP 60261497 A JP60261497 A JP 60261497A JP 26149785 A JP26149785 A JP 26149785A JP 2599361 B2 JP2599361 B2 JP 2599361B2
Authority
JP
Japan
Prior art keywords
latch
output
gate
data
waveform
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
JP60261497A
Other languages
Japanese (ja)
Other versions
JPS62121496A (en
Inventor
隆 松田
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 JP60261497A priority Critical patent/JP2599361B2/en
Publication of JPS62121496A publication Critical patent/JPS62121496A/en
Application granted granted Critical
Publication of JP2599361B2 publication Critical patent/JP2599361B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明は電子楽器等に利用される波形読出装置に関
する。
Description: TECHNICAL FIELD [0001] The present invention relates to a waveform reading device used for an electronic musical instrument and the like.

[従来技術] 電子楽器において自然楽器の楽音と類似した楽音を発
生させる場合、エンベロープを付加すること及びエンベ
ロープ開始から終了までの波形を全て記憶することは、
非常に大きなメモリを有することから短い波形データを
ループさせて使うことが従来から行われていた。
[Prior Art] When an electronic musical instrument generates a musical tone similar to a musical tone of a natural musical instrument, adding an envelope and storing all waveforms from the start to the end of the envelope are:
Because of having a very large memory, it has been conventionally used to loop and use short waveform data.

この従来の方式においてはメモリの容量が小さくでき
るが、エンベロープの経過、つまりアタックステップか
らディケイステップに、そしてサスティンステップから
リリースステップに変化しても、読み出される波形デー
タは常に同じであった。
In this conventional method, the capacity of the memory can be reduced, but the read waveform data is always the same even if the envelope elapses, that is, from the attack step to the decay step and from the sustain step to the release step.

[従来技術の問題点] しかしながら、実際の自然楽器は、このように常に同
一の波形を出力してはいないので、このような従来の方
式では、自然楽器の楽音とは掛け離れた楽音を発生する
恐れがあった。
[Problems of the Related Art] However, since an actual natural musical instrument does not always output the same waveform in this way, such a conventional method generates a musical tone that is far from the musical tone of the natural musical instrument. There was fear.

[発明の目的] この発明は上述した事情に鑑みてなされたもので、そ
の目的とするところは、従来よりメモリの容量を大きく
せずに自然楽器の楽音と類似した楽音を発生させる電子
楽器が実現可能な波形読出装置を提供しようとするもの
である。
[Object of the Invention] The present invention has been made in view of the above-mentioned circumstances, and an object of the present invention is to provide an electronic musical instrument that generates a musical sound similar to that of a natural musical instrument without increasing the memory capacity. It is intended to provide a feasible waveform reading device.

[発明の要点] 本発明は、上述した目的を達成するために、波形を記
憶する記憶手段を複数の記憶領域に分割し、各記憶領域
に対応するアドレス区間を指定して、記憶領域内の波形
を繰り返し読み出してエンベロープを付加するときに、
このエンベロープの各ステップ(アタック,ディケイ,
サスティン,リリース)の切り換わりタイミングを検出
して、その切り換わりタイミング前に記憶領域を指定す
るアドレス区間を別のアドレス区間に変更するようにし
たことを要点とする。
SUMMARY OF THE INVENTION In order to achieve the above object, the present invention divides a storage means for storing a waveform into a plurality of storage areas, specifies an address section corresponding to each storage area, and When adding an envelope by repeatedly reading the waveform,
Each step of this envelope (attack, decay,
The main point is that the switching timing of (sustain, release) is detected, and before the switching timing, the address section designating the storage area is changed to another address section.

[実施例] 以下図面を参照して一実施例を説明する。Embodiment An embodiment will be described below with reference to the drawings.

まず第1図により具体的な回路構成を説明する。 First, a specific circuit configuration will be described with reference to FIG.

図中11はキーボードであり、音階キー及び各種制御キ
ー(音色選択キー等)から構成される。そしてこのキー
ボード11の各キーの出力はCPU12(中央処理装置)に入
力する。即ちCPU12は制御部であり、キーボード11のキ
ーのON、OFFを検出し各キーに対応した処理を行う。
In the figure, reference numeral 11 denotes a keyboard, which comprises scale keys and various control keys (tone color selection keys and the like). The output of each key of the keyboard 11 is input to a CPU 12 (central processing unit). That is, the CPU 12 is a control unit, and detects ON / OFF of a key of the keyboard 11 and performs processing corresponding to each key.

IF13はCPU12と他の回路とのデータのやりとりを円滑
に行なうための回路、即ちインターフェイス回路であ
り、CPU12から各種ラッチへ逆に各種ラッチからCPU12へ
のようなデータ伝送方向の制御等を行なう。オペレーシ
ョンデコーダ14はCPU12からの指令を解読し各種ラッチ
ロックCK(ONFラッチ15)、CK(WKラッチ16)、CK(RF
ラッチ17)、CK(RTADラッチ18)、CK(STADラッチ1
9)、CK(ENDADラッチ20)、CK(RWADラッチ21)、CK
(WDATAラッチ22)、CK(fSETラッチ23)やゲート制御
信号(RRAM)を出力する。CPU12はデータバスDBに各種
ラッチ(RTADラッチ18、STADラッチ19、ONFラッチ15等
データバスDBが入力となっているもの)にセットしたい
データを乗せた状態で、オペレーションデコーダ14に指
令を送り、対応するラッチクロックを出力させる。これ
によりデータバスDBが入力となっている任意のラッチに
任意のデータがセットできる。また、信号RRAMを出力さ
せてゲートG8を開成させることにより、RDATAラッチ24
のデータをCPU12は読みとることができる。
The IF 13 is a circuit for smoothly exchanging data between the CPU 12 and other circuits, that is, an interface circuit, and controls a data transmission direction from the various latches to the CPU 12 and vice versa. The operation decoder 14 decodes the command from the CPU 12 and various latch locks CK (ONF latch 15), CK (WK latch 16), CK (RF
Latch 17), CK (RTAD latch 18), CK (STAD latch 1
9), CK (ENDAD latch 20), CK (RWAD latch 21), CK
(WDATA latch 22), CK (fSET latch 23) and gate control signal (RRAM) are output. The CPU 12 sends a command to the operation decoder 14 with the data to be set on the various latches (the data bus DB such as the RTAD latch 18, the STAD latch 19, and the ONF latch 15, etc. being input) on the data bus DB, Output the corresponding latch clock. Thus, any data can be set in any latch to which the data bus DB is input. Also, by outputting the signal RRAM to open the gate G8, the RDATA latch 24
CPU 12 can read this data.

ゲートG1〜G9は、3ステイトバッファである。コント
ロール入力Cが「1」の時入力をそのまま出力し、
「0」の時出力オフする(ハイインピーダンス)。
Gates G1 to G9 are 3-state buffers. When the control input C is "1", the input is output as it is,
When "0", the output is turned off (high impedance).

クロックジェネレータ25はクロック発生回路であり、
φ、φの2つの交互パルスを出力する。オペレーシ
ョンデコーダ14から出力されるCKはすべてφ周期であ
る。
The clock generator 25 is a clock generation circuit,
Two alternate pulses of φ 1 and φ 2 are output. CK outputted from the operation decoder 14 are all phi 2 cycles.

上記RAM35は楽音波形データを記憶する。例として、8
bitのデータが8個から構成される波形データを第2図
(a)に示す。第2図(b)はそのデータを時間tごと
に読み出した出力アナログ波形である。tは音程を決定
する時間である。例えばtを2倍にすると1オクターブ
低い音、1/2にすると1オクターブ高い音になる。
The RAM 35 stores musical sound waveform data. For example, 8
FIG. 2A shows waveform data composed of eight bit data. FIG. 2B shows an output analog waveform obtained by reading the data at every time t. t is the time for determining the pitch. For example, if t is doubled, the sound will be one octave lower, and if t is halved, the sound will be one octave higher.

この音程を決定する時間tを調節する回路が、fSETラ
ッチ23、fCNTラッチ26、インクリメント回路27等音階ク
ロックの作成回路である。ONFラッチ15は発音する時
「1」、発音しない時「0」にセットするラッチであ
る。音が鳴っていない時、ONFラッチ15の出力は「0」
である。そしてその出力はインバータI2及びオアゲート
R1を介しゲートG2に制御信号として入力するほか、更に
インバータI1を介しゲートG1に制御信号として入力す
る。またラッチONF15の出力はアンドゲートA2にアンド
ゲートA1の出力と共に入力する。そしてアンドゲートA2
の出力はインバータI3を介しアンドゲートA3、A4に入力
するほか、直接アンドゲートA7にクロックφと共に入
力する。またアンドゲートA2の出力は直接ゲートG7の制
御端子C、アンドゲートA5に入力すると共にインクリメ
ント回路28に+1信号として印加され、更にインバータ
I5を介してゲートG6の制御端子Cに入力する。
A circuit that adjusts the time t for determining the pitch is a circuit for generating a scale clock such as the fSET latch 23, the fCNT latch 26, and the increment circuit 27. The ONF latch 15 is a latch which is set to "1" when sound is generated and set to "0" when sound is not generated. When there is no sound, the output of ONF latch 15 is "0"
It is. And its output is inverter I2 and OR gate
In addition to being input as a control signal to gate G2 via R1, it is also input as a control signal to gate G1 via inverter I1. The output of the latch ONF15 is input to the AND gate A2 together with the output of the AND gate A1. And And Gate A2
Outputs addition to input to the AND gates A3, A4 through the inverter I3, directly input to the AND gates A7 together with the clock phi 1. The output of the AND gate A2 is directly input to the control terminal C of the gate G7 and the AND gate A5, and is applied to the increment circuit 28 as a +1 signal.
Input to the control terminal C of the gate G6 via I5.

この状態でキーボード11のある音階キーが押されたと
すると、CPU12はfSETラッチ23にその音階に対応したデ
ータをセットする。この場合ONFラッチ15の出力が
「0」となり、したがってインバータI2出力「1」、し
たがってオアゲートR1出力「1」なのでゲートG2はオ
ン、ゲートG1はオフとなり、fCNTラッチ26には、fSETラ
ッチ23のデータがロードされる。
If a certain scale key of the keyboard 11 is pressed in this state, the CPU 12 sets data corresponding to the scale in the fSET latch 23. In this case, the output of the ONF latch 15 becomes "0", and therefore, the output of the inverter I2 is "1", and therefore, the output of the OR gate R1 is "1". Therefore, the gate G2 is turned on and the gate G1 is turned off. The data is loaded.

例えば、fSETラッチ23のデータが80(H)(Hは16進
コードであることを示す)だとすると、fCNTラッチ26出
力も80(H)となりアンドゲートA1出力は「0」とな
る。ここで、ONFラッチ15を「1」にセットすると、オ
アゲートR1出力が「0」となりゲートG2がオフ、ゲート
G1がオンとなる。インクリメント回路27、28は+1入力
が1の時、入力+1を出力する回路である。インクリメ
ント回路27では、+1入力は常に1にしてあるのでいつ
も+1される。ONFラッチ15が1となった次のφで81
(H)がfCNTラッチ26に読み込まれ、次のφで出力さ
れる。次のφでは82(H)が読み込まれ、次のφ
出力される。以後これを繰り返し、FF(H)が出力され
るまで続く。FF(H)が出力されるとアンドゲートA1出
力は「1」となり、ゲートG1オフ、ゲートG2オンとなり
再び80(H)〜FF(H)の時間に一発の「1」信号を出
すタイマー出力となる。上記fCNTラッチ26、アンドゲー
トA3、A4各出力が夫々入力する2FF(1)ラッチ29、2FF
(2)ラッチ30のようにCK1、CK2の2つのクロック端子
を持つものは2相フリップフロップであり、CK1で読み
込みCK2で出力する。なお、2FF(1)ラッチ29、2FF
(2)ラッチ30各出力がWFラッチ16またはRFラッチ17の
各リセット入力端子Rに入力する。
For example, if the data of the fSET latch 23 is 80 (H) (H indicates a hexadecimal code), the output of the fCNT latch 26 is also 80 (H), and the output of the AND gate A1 is "0". Here, when the ONF latch 15 is set to “1”, the output of the OR gate R1 becomes “0”, the gate G2 is turned off, and the gate G2 is turned off.
G1 turns on. The increment circuits 27 and 28 are circuits that output the input +1 when the +1 input is 1. In the increment circuit 27, since the +1 input is always set to 1, it is always incremented by 1. ONF next φ 1 the latch 15 becomes 1 in 81
(H) is read into fCNT latch 26 is output at the next phi 2. In the next φ 1 82 (H) is read and output in the following phi 2. Thereafter, this is repeated until the FF (H) is output. When FF (H) is output, the output of the AND gate A1 becomes "1", the gate G1 turns off and the gate G2 turns on, and a timer which outputs a single "1" signal again during the period from 80 (H) to FF (H). Output. The above-mentioned fCNT latch 26, and 2FF (1) latches 29 and 2FF to which the respective outputs of AND gates A3 and A4 are respectively input
(2) A two-phase flip-flop such as the latch 30 having two clock terminals CK1 and CK2 is read by CK1 and output by CK2. The 2FF (1) latch 29, 2FF
(2) Each output of the latch 30 is input to each reset input terminal R of the WF latch 16 or the RF latch 17.

D/A変換器31の出力のアナログ波形は、ONFラッチ15が
「0」の時は、インバータI2出力が「1」、SOUTラッチ
32のR入力が「1」となり、SOUTラッチ32出力が「00…
…0」となって(SOUTラッチ32、WFラッチ16、RFラッチ
17等のRはリセット入力を示す)、D/A変換器31のMSB入
力はインバータI6を通るのでこの場合のD/A変換器31の
出力は最大出力の半分の電位となる。なおアンドゲート
A4の出力はクロックφと共にアンドゲートA6に入力
し、またアンドゲートA6、A7の各出力はまたRDATAラッ
チ24、SOUTラッチ32の各クロックとなる。またこのSOUT
ラッチ32のリセット信号はインバータI2の出力である。
The analog waveform of the output of the D / A converter 31 is such that when the ONF latch 15 is “0”, the inverter I2 output is “1” and the SOUT latch
The R input of 32 becomes “1” and the SOUT latch 32 output becomes “00 ...
… 0 ”(SOUT latch 32, WF latch 16, RF latch
R such as 17 indicates a reset input), and since the MSB input of the D / A converter 31 passes through the inverter I6, the output of the D / A converter 31 in this case has half the potential of the maximum output. And gate
A4 outputs are input to the AND gate A6 together with the clock phi 1, and each output of the AND gate A6, A7 also becomes the clock for the RDATA latch 24, SOUT latch 32. Also this SOUT
The reset signal of the latch 32 is the output of the inverter I2.

また、波形を読み出す最初のアドレス(スタートアド
レス)とそれ以後のアドレスを読まない最後尾アドレス
(エンドアドレス)と最後尾アドレスの次に前にもどっ
て読み始める戻り先アドレス(リターンアドレス)とを
持ち、これらはそれぞれ順に、STADラッチ19、ENDADラ
ッチ20、RTADラッチ18にセットされる。スタートアドレ
スデータから順にアドレスを+1してエンドアドレスま
で読むと、リターンアドレスにもどり再びアドレス順に
エンドアドレスまで行く。以後これをONFラッチ15が
「0」になるまでくり返す。
It also has a first address (start address) from which the waveform is read, a last address (end address) from which the subsequent addresses are not read, and a return address (return address) at which reading is started before the last address. Are set in the STAD latch 19, the ENDAD latch 20, and the RTAD latch 18, respectively, in that order. When the address is incremented by 1 from the start address data and read to the end address, it returns to the return address and goes to the end address again in the address order. Thereafter, this operation is repeated until the ONF latch 15 becomes "0".

ONFラッチ15が「0」の時、インバータI2出力が
「1」となり、インバータI2の出力とアンドゲートA5の
出力がインバータI4を介し入力され、ノアゲートNR1出
力及びノアゲートNR2出力が「0」となるのでゲートG4
オン、ゲートG3、G5オフである。この間に2相フリップ
フロップよりなるSADラッチ33には、STADラッチ19から
のスタートアドレスデータがゲートG4を介しロードされ
る。この時fCNTラッチ26には前述したようにfSETラッチ
23からのデータがロードされている。
When the ONF latch 15 is "0", the output of the inverter I2 becomes "1", the output of the inverter I2 and the output of the AND gate A5 are input via the inverter I4, and the NOR gate NR1 output and the NOR gate NR2 output become "0". So gate G4
ON, gates G3 and G5 off. During this time, the start address data from the STAD latch 19 is loaded into the SAD latch 33 composed of a two-phase flip-flop via the gate G4. At this time, the fSET latch is
Data from 23 has been loaded.

一致回路34はENDADラッチ20からのエンドアドレスデ
ータとSADラッチ33からのスタートアドレスデータ又は
リターンアドレスデータとが一致した時に「1」を出力
する回路であり、今はSADラッチ33のスタートアドレス
データとエンドアドレスデータが一致しないので出力は
「0」である。なお、一致回路34の出力はアンドゲート
A5に入力する。
The matching circuit 34 is a circuit that outputs "1" when the end address data from the ENDAD latch 20 matches the start address data or the return address data from the SAD latch 33. Since the end address data do not match, the output is "0". The output of the matching circuit 34 is an AND gate.
Enter in A5.

ここで、ONFラッチ15の出力を「1」にすると、イン
バータI2出力が「0」によりゲートG4がオフとなり、一
致回路34の出力が「0」、アンドゲートA5の出力が
「0」となって、ゲートG5がオンされるとともに、イン
バータI4の出力が「1」となってゲートG3がオフされ
る。これによりSADラッチ33の出力はインクリメント回
路28を通って戻ってくることになる。
Here, when the output of the ONF latch 15 is set to “1”, the gate G4 is turned off by the output of the inverter I2 being “0”, the output of the matching circuit 34 is set to “0”, and the output of the AND gate A5 is set to “0”. As a result, the gate G5 is turned on, the output of the inverter I4 becomes "1", and the gate G3 is turned off. As a result, the output of the SAD latch 33 returns through the increment circuit 28.

ONFラッチ15が「1」になった直後は、fCNTラッチ26
のデータはインクリメントを始めたばかりであり、アン
ドゲートA1出力は「0」であり、アンドゲートA2出力も
「0」となって、インクリメント回路28の+1入力端子
には「0」信号が与えられるのでSADラッチ33のデータ
はインクリメントされない。またSOUTラッチ32のR入力
は、ONFラッチ15の出力が「1」となると同時に「0」
となってはいるが、アンドゲートA2出力が「0」のため
アンドゲートA7出力が「0」でSOUTラッチ32のCK端子に
「1」信号が与えられないのでD/A変換器31の出力は最
大出力の半分の電位のままである。なお、このD/A変換
器31にはアンプ36、スピーカ37が直列接続されている。
Immediately after the ONF latch 15 becomes “1”, the fCNT latch 26
Has just started incrementing, the output of the AND gate A1 is "0", the output of the AND gate A2 also becomes "0", and the "0" signal is given to the +1 input terminal of the increment circuit 28. The data in the SAD latch 33 is not incremented. The R input of the SOUT latch 32 becomes “0” at the same time when the output of the ONF latch 15 becomes “1”.
However, since the output of the AND gate A2 is "0" and the output of the AND gate A7 is "0" and the "1" signal is not supplied to the CK terminal of the SOUT latch 32, the output of the D / A converter 31 is output. Remains at half the potential of the maximum output. The D / A converter 31 is connected with an amplifier 36 and a speaker 37 in series.

上記fCNTラッチ26のデータが「11……1」になると、
アンドゲートA1出力が「1」となり、アンドゲートA2出
力が「1」となって、インクリメント回路28の+1入力
端子に「1」信号が与えられる。同時にゲートG7がオン
となりSADラッチ33のデータがRAM35のアドレス入力端子
ADに送られる。また、アンドゲートA2の出力が「1」で
あることにより、インバータI3の出力が「0」となり、
アンドゲートA3の出力が「0」となって、RAM35の▲
▼端子入力が「0」となる。よってRAM35のSADアドレ
スデータ(すなわちこの時はスタートアドレスデータ)
がRAM35のI/O端子から出力される。上記▲▼端子は
「0」の時にデータをI/Oから出力させるコントロール
信号が入力される。ここで、アンドゲートA2出力が
「1」となることによりアンドゲートA7出力にクロック
パルス信号φが1つ表われRAM35のデータをSOUTラッ
チ32に読み込ませる。これがD/A変換器31によりアナロ
グ信号に変換されアンプ36を介してスピーカ37を通して
出力される。
When the data of the fCNT latch 26 becomes "11 ... 1",
The output of the AND gate A1 becomes "1", the output of the AND gate A2 becomes "1", and the "1" signal is given to the +1 input terminal of the increment circuit 28. At the same time, the gate G7 turns on and the data in the SAD latch 33 is transferred to the address input terminal of the RAM 35.
Sent to AD. Further, since the output of the AND gate A2 is “1”, the output of the inverter I3 becomes “0”,
The output of AND gate A3 becomes "0" and
▼ Terminal input becomes “0”. Therefore, SAD address data of RAM35 (that is, start address data at this time)
Is output from the I / O terminal of the RAM 35. The control signal for outputting data from the I / O when the terminal is "0" is input to the terminal. Here, the clock pulse signal phi 1 to the AND gate A7 output by AND gate A2 output is "1" to read the data of one manifestation RAM35 to SOUT latch 32. This is converted into an analog signal by the D / A converter 31 and output through the speaker 37 via the amplifier 36.

一方、インクリメント回路28を通って+1されたデー
タはクロックパルス信号φの印加時にSADラッチ33に
読み込まれる。以後、fCNTラッチ26のデータが「11……
1」になるたびに(すなわち時間t経過ごとに)SADラ
ッチ33のデータがゲートG7を通してRAM35のアドレス入
力端子ADに入力され、▲▼端子に「0」信号が与え
られることによりRAM35のそのアドレスデータがI/Oに出
力され、SOUTラッチ32のCK端子にパルスが入ることで、
そのデータがSOUTラッチ32にラッチされ、D/A変換器3
1、アンプ36、スピーカ37を通じ出力される。なお、デ
ータのMSB(最上位ビット)には、インバータI7を介しS
OUTラッチ32にラッチされる。そして、この一連の動作
の度にSADラッチ33からのデータは+1されていき、や
がてSADラッチ33のデータがエンドアドレスデータと等
しくなる。その状態で前述の一連の動作が行なわれる
と、一致回路34の出力は「1」、アンドゲートA2出力は
「1」となるため、アンドゲートA5出力は「1」で、ノ
アゲートNR2出力は「0」となってゲートG5がオフさ
れ、インバータI4出力が「0」、ノアゲートNR1出力が
「1」となりゲートG3がオンされる。これにより、次に
エンドアドレスデータがSOUTラッチ32にラッチされる時
にはリターンアドレスデータがSADラッチ33に読み込ま
れRAM35のアドレスの戻りが実現される。以後はONFラッ
チ15に「0」がセットされるまでリターンアドエスとエ
ンドアドレスの間のアドレスデータをくり返し出力す
る。
On the other hand, the data +1 through increment circuit 28 is read into the SAD latch 33 upon application of a clock pulse signal phi 1. Thereafter, the data of the fCNT latch 26 is changed to "11 ...
Each time it becomes "1" (that is, every time t elapses), the data of the SAD latch 33 is input to the address input terminal AD of the RAM 35 through the gate G7, and the "0" signal is supplied to the ▲ ▼ terminal, whereby the address of the RAM 35 is given. Data is output to I / O and a pulse is input to the CK terminal of SOUT latch 32,
The data is latched in the SOUT latch 32 and the D / A converter 3
1, output through the amplifier 36 and the speaker 37. The MSB (most significant bit) of the data is transmitted via the inverter I7 to the S
Latched by OUT latch 32. Then, the data from the SAD latch 33 is incremented by one each time this series of operations is performed, and eventually the data in the SAD latch 33 becomes equal to the end address data. When the above-described series of operations is performed in this state, the output of the matching circuit 34 becomes "1" and the output of the AND gate A2 becomes "1", so that the output of the AND gate A5 is "1" and the output of the NOR gate NR2 is "1". "0", the gate G5 is turned off, the output of the inverter I4 becomes "0", the output of the NOR gate NR1 becomes "1", and the gate G3 is turned on. As a result, when the end address data is next latched by the SOUT latch 32, the return address data is read by the SAD latch 33, and the address of the RAM 35 is returned. Thereafter, the address data between the return address and the end address is repeatedly output until "0" is set in the ONF latch 15.

次にCPU12がRAM35にデータを書き込む回路について第
3図のタイムチャートを参照して説明する。
Next, a circuit in which the CPU 12 writes data in the RAM 35 will be described with reference to a time chart of FIG.

まず、音色スイッチをオンし所望の音色を指定すると
RWADラッチ21に書き込むアドレス「0」、WDATAラッチ2
2に書き込むデータ「11000000」をセットする。その
後、WFラッチ16に「1」をセットすると、セット直後の
サイクルで、アンドゲートA3の出力が「1」となる。こ
の時ゲートG9がオンしRAM35の▲▼端子入力が
「1」となることでWDATAラッチ22のデータがI/Oに入力
され、ナンドゲートNA1によりφ周期のlowレベルアク
ティブパルスがRAM35の▲▼端子に入力される。ま
た、この時にはゲートG7がオフ、ゲートG6がオンとなっ
ているので、RWADラッチ21の示すアドレス「0」データ
が書き込まれることになる。このRAM35へのCPU12の書き
込みサイクルは2FF(1)ラッチ29により1サイクルだ
けになる。次に、RAM35の1番地には、データ「1110000
0」が書き込まれ、以後39番地までデータが書き込ま
れ、第6図(a)に示す波形がRAM35にセットされる。
First, turn on the tone switch and specify the desired tone.
Address “0” to be written to RWAD latch 21, WDATA latch 2
Set the data "11000000" to be written in 2. Thereafter, when "1" is set to the WF latch 16, the output of the AND gate A3 becomes "1" in the cycle immediately after the setting. Data WDATA latch 22 by the time gate G9 is turned on RAM 35 for ▲ ▼ pin input is "1" is input to the I / O, low level active pulse phi 1 cycle by the NAND gate NA1 is RAM 35 ▲ ▼ Input to the terminal. At this time, since the gate G7 is off and the gate G6 is on, the data of the address "0" indicated by the RWAD latch 21 is written. The write cycle of the CPU 12 to the RAM 35 is only one cycle by the 2FF (1) latch 29. Next, at address 1 of the RAM 35, the data "1110000"
"0" is written, and thereafter data is written up to address 39, and the waveform shown in FIG.

次にCPU12がRAM35の楽音波形データ以外のデータを読
み取る際の動作をまずONFラッチ15が「0」すなわち発
音していない場合を述べる。
Next, the operation when the CPU 12 reads data other than the musical tone waveform data in the RAM 35 will be described in the case where the ONF latch 15 is "0", that is, no sound is generated.

RFラッチ17に「1」WFラッチ16に「0」をセットする
と、ONFラッチ15出力が「0」だからオアゲートR1の出
力が「1」となってゲートG2のオンにより、fCNTラッチ
26にはfSETラッチ23の音高データが入っているので、ア
ンドゲートA1出力は「0」、アンドゲートA2出力も
「0」となり、インバータI3の出力が「1」となり、ア
ンドゲートA4出力が「1」なのでアンドゲートA6よりク
ロックパルス信号φが出力され、レジスタRDATA24に
データがとりこまれる。この時アンドゲートA2は「0」
なのでゲートG7がオフ、ゲートG6がオンとなりRAM35の
アドレス入力端子ADにはRWAD21からのデータが与えら
れ、またWFラッチ16の「0」出力によりアンドゲートA3
の出力が「0」となり、▲▼入力が「0」となっ
て、RWADラッチ21のアドレスデータが出力されている。
そこでRWADラッチ21にあらかじめRAM35の読みたいアド
レスをセットしておきWFラッチ16に「0」、RFラッチ17
に「1」をセットするとRAM35のデータをRDATAラッチ24
に読み込ませることができる。その後CPU12はオペレー
ションデコーダ14に「1」の信号RRAMを出力させ、ゲー
トG8をオンとすることで、RDATAラッチ24のデータをデ
ータバスDBを通して読み込む。RFラッチ17にセットされ
た「1」はRDATAラッチ24への読み込みクロックと同じ
クロックパルス信号φで2FF(2)ラッチ30に読み込
まれ次のクロックパルス信号φで出力されることによ
りリセットされ、RDATAラッチ24より読み込みクロック
が2発以上出るのを防ぐ。
When "1" is set to the RF latch 17 and "0" is set to the WF latch 16, the output of the OR gate R1 becomes "1" because the output of the ONF latch 15 is "0", and the gate G2 is turned on, so that the fCNT latch
26 contains the pitch data of the fSET latch 23, the output of the AND gate A1 is "0", the output of the AND gate A2 is also "0", the output of the inverter I3 is "1", and the output of the AND gate A4 is "1" because the clock pulse signal phi 1 from the aND gate A6 is output, the data is taken into the register RDATA24. At this time, AND gate A2 is "0"
Therefore, the gate G7 is turned off, the gate G6 is turned on, the data from the RWAD21 is given to the address input terminal AD of the RAM 35, and the AND gate A3 is output by the "0" output of the WF latch 16.
Is "0", the ▲ ▼ input is "0", and the address data of the RWAD latch 21 is output.
Therefore, the address to be read from the RAM 35 is set in advance in the RWAD latch 21 and "0" is set in the WF latch 16 and the RF latch 17 is set.
To “1”, the data in RAM 35 is stored in RDATA latch 24
Can be read. Thereafter, the CPU 12 causes the operation decoder 14 to output the signal RRAM of “1”, and turns on the gate G8 to read the data of the RDATA latch 24 through the data bus DB. RF is set to the latch 17 "1" is reset by output in the RDATA latch 2FF (2) at the same clock pulse signal phi 1 and read clocks to 24 is loaded into latch 30 the next clock pulse signal phi 2 , Prevents the RDATA latch 24 from outputting more than one read clock.

一方、ONFラッチ15が「1」すなわち発音中の場合は
上記動作をSOUTラッチ32が波形のデータを読み込むサイ
クル(この場合クロックパルス信号φから次のφ
でをサイクルと呼ぶことにする)以外のサイクルで行な
うことになる。すなわちアンドゲートA1が「1」となる
のは波形データ読み込みサイクルの時だけであり、それ
以外は「0」なので、アンドゲートA1出力が「0」とな
ることで上述の動作が行なわれる。
On the other hand, if ONF latch 15 is "1" or in pronunciation (referred to as a cycle from this clock pulse signal phi 2 to the next phi 2) the operating cycle of SOUT latch 32 reads the data of the waveform This is performed in a cycle other than. That is, the AND gate A1 becomes "1" only in the waveform data read cycle, and otherwise is "0". Therefore, the above operation is performed when the output of the AND gate A1 becomes "0".

次に第4図及び第5図のタイムチャート、第6図の波
形図を参照して、時間とともにENDADラッチ20、RTADラ
ッチ18の値が書き換えられ、これらの2つのラッチ20、
18が指定するRAM35内のアドレス間を波形データが反復
して繰返し読出されてゆく動作を説明する。
Next, with reference to the time charts of FIGS. 4 and 5 and the waveform chart of FIG. 6, the values of the ENDAD latch 20 and the RTAD latch 18 are rewritten with time, and these two latches 20 and
An operation in which waveform data is repeatedly and repeatedly read between addresses in the RAM 35 designated by 18 will be described.

CPU12はキーボード11の音色セレクトキーが押される
とONFラッチ15「0」にし、その音色を特徴づける波形
をいくつかRAM35に書く。この場合、音が鳴っていなけ
ればそれ以前もONFラッチは「0」である。ここにおい
てRAM35に第6図(a)のような波形を書いておく。こ
こで「0」〜「7」番地を第1波形、「8」〜「15」番
地を第2波形、「16」〜「23」番地を第3波形、「24」
〜「31」番地を第4波形、「32」〜「39」番地を第5波
形と付す。そして、第1波形と第2波形はアタック時
に、第3波形はデイケイ時に、第4波形はサステイン時
に、第5波形はリリース時に用いられる。
When the tone select key of the keyboard 11 is pressed, the CPU 12 sets the ONF latch 15 to "0", and writes some waveforms characterizing the tone in the RAM 35. In this case, if there is no sound, the ONF latch is still "0". Here, a waveform as shown in FIG. 6A is written in the RAM 35. Here, addresses “0” to “7” are the first waveform, addresses “8” to “15” are the second waveform, addresses “16” to “23” are the third waveform, and “24”.
Addresses "31" to "31" are assigned a fourth waveform, and addresses "32" to "39" are assigned a fifth waveform. The first waveform and the second waveform are used at the time of attack, the third waveform is used at the time of decay, the fourth waveform is used at the time of sustain, and the fifth waveform is used at the time of release.

音階キーが押されると、第5図に示すようにCPU12はS
TADラッチ19に「0」、RTADラッチ18に「8」、ENDADラ
ッチ20に「15」をセットし音高に対応したデータをfSET
ラッチ23にセットしONFラッチ15を「1」にする。する
と時間tごとにRAM35の0番地から波形データが読み出
され始める。ENDADラッチ20が「15」なので、15番地の
次には8番地のデータが読まれ、以後8番地から15番地
のデータがくり返し出力さる。而してこのくり返し回数
はCPU12によって制御される。すなわちアタック時にの
み第1波形が出力されその後第2波形がくり返される。
When the scale key is pressed, as shown in FIG.
Set the TAD latch 19 to “0”, the RTAD latch 18 to “8”, and the ENDAD latch 20 to “15” and set the data corresponding to the pitch to fSET
Set to latch 23 and set ONF latch 15 to "1". Then, the waveform data starts to be read from the address 0 of the RAM 35 every time t. Since the ENDAD latch 20 is "15", the data at the address 8 is read after the address 15, and the data at the addresses 8 to 15 are repeatedly output. The number of repetitions is controlled by the CPU 12. That is, the first waveform is output only during the attack, and then the second waveform is repeated.

やがてアタック時からデイケイ時に切換る前にCPU12
はENDADラッチ20に「23」をセットしその後すぐにRTAD
ラッチ18に「16」をセットする。この時SOUTラッチ32は
RAM35の14番地のデータを読み込んだ後であったとする
と(第6図(a)のイ点)その後は15番地から8番地に
戻ることはなく23番地まで進み16番地に戻って、第3波
形を繰返し出力する。次にデイケイ時からサステイン時
に切換る前に先ほどと同時にENDADラッチ20に「31」を
セットした後、RTADラッチ18を「24」にすると、第3波
形から第4波形へなめらかにつながり第4波形のくり返
しとなる。更にサステイン時からリリース時に切換る前
にENDADラッチ20に「39」をセットした後、RTADラッチ1
8を「32」にすると第4波形から第5波形へなめらかに
つながり第5波形のくり返しとなる。
Before switching from attack to decay, CPU12
Sets ENDAD latch 20 to "23" and then immediately sets RTAD
"16" is set in the latch 18. At this time, the SOUT latch 32
If it is after reading the data at address 14 of RAM 35 (point (a) in FIG. 6 (a)), then it does not return from address 15 to address 8 but goes to address 23 and returns to address 16, and the third waveform Is repeatedly output. Next, before switching from decay to sustain, set "31" in the ENDAD latch 20 at the same time as above, and then set the RTAD latch 18 to "24". The third waveform smoothly changes from the third waveform to the fourth waveform, and the fourth waveform It becomes a repetition. Before switching from sustain to release, set ENDAD latch 20 to "39", then set RTAD latch 1
When 8 is set to “32”, the fourth waveform is smoothly connected to the fifth waveform, and the fifth waveform is repeated.

このように波形をなめらかに切り換える際に、CPU12
は、そのタイミングを気にする必要はない。イ点が第2
波形のどこにあってもENDADラッチ20をセットし直した
後、即座にRTADラッチ18を変えればよい。すなわち1波
形値を読み出す時間内に変えればよい。これはCPU12の
処理速度は1波形出力に要する時間に比べ充分に速いの
で簡単である。
When switching waveforms smoothly in this way, the CPU 12
Need not worry about the timing. Point A is second
After resetting the ENDAD latch 20 anywhere in the waveform, the RTAD latch 18 may be changed immediately. That is, it may be changed within the time for reading one waveform value. This is simple because the processing speed of the CPU 12 is sufficiently faster than the time required to output one waveform.

以上各波形がアドレス順に並んでいる例を示したが各
波形のデータが離れたところにあってもRTADを変えてか
らENDADを変えるとどこの波形とでもつなげる。
The example in which the waveforms are arranged in address order has been described above. However, even if the data of each waveform is far away, if the RTAD is changed and then the ENDAD is changed, any waveform can be connected.

尚、上記実施例ではRAM35を使った例で示したがRAM35
のかわりにすでにデータの書き込まれたROMであっても
良い。
In the above embodiment, an example using the RAM 35 has been described.
Instead, a ROM in which data has already been written may be used.

本実施例では、簡単のため波形にエンベロープを乗算
する回路を省略した。エンベロープ乗算を実現するには
データバスDBからのデータを取り込むエンベロープラッ
チを設け、そのデータ取り込み用のクロックをオペレー
ションデコーダ14に出力させ、エンベロープラッチの出
力とSOUTラッチ32の出力を乗算器に入力しこの乗算出力
をD/A変換器31に入力すればよい。また本実施例では簡
単のためモノフォニック回路としたが、ポリフォニック
にするには、時分割回路等を用いればよい。
In this embodiment, a circuit for multiplying a waveform by an envelope is omitted for simplicity. To realize the envelope multiplication, an envelope latch for taking in data from the data bus DB is provided, a clock for taking in the data is output to the operation decoder 14, and the output of the envelope latch and the output of the SOUT latch 32 are input to the multiplier. The multiplication output may be input to the D / A converter 31. In this embodiment, a monophonic circuit is used for simplicity, but a polyphonic circuit may be used by using a time-division circuit or the like.

[発明の効果] この発明は、以上詳細に説明したように、波形を記憶
する記憶手段を複数の記憶領域に分割し、各記憶領域に
対応するアドレス区間を指定して、記憶領域内の波形を
繰り返し読み出してエンベロープを付加するときに、こ
のエンベロープの各ステップ(アタック,ディケイ,サ
スティン,リリース)の切り換わりタイミングを検出し
て、その切り換わりタイミング前に記憶領域を指定する
アドレス区間を別のアドレス区間に変更するようにした
から、従来よりメモリの容量を大きくせずに自然楽器の
楽音と類似した楽音を発生させることが可能な電子楽器
を実現することができる利点がある。
[Effects of the Invention] As described in detail above, the present invention divides a storage unit for storing a waveform into a plurality of storage areas, specifies an address section corresponding to each storage area, and stores the waveform in the storage area. Is repeatedly read to add an envelope, the switching timing of each step (attack, decay, sustain, release) of this envelope is detected, and before the switching timing, an address section for specifying a storage area is set to another address section. Since the address section is changed to the address section, there is an advantage that it is possible to realize an electronic musical instrument capable of generating a musical tone similar to that of a natural musical instrument without increasing the memory capacity as compared with the related art.

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

第1図は本発明の具体的な回路図、第2図(a)はRAM3
5に書込む楽音波形データの一例を示す図、第2図
(b)は第2図(a)のデータの楽音波形の図、第3図
はRAM35に波形データを書込むときのタイムチャートを
示す図、第4図はRAM35から波形データを読出す動作の
タイムチャートを示す図、第5図は反復区間が切換ると
きの動きのタイムチャートを示す図、第6図は反復動作
の波形図とその反復例を示す図である。 11……キーボード、12……CPU、14……オペレーション
デコーダ、18……RTADラッチ、19……STADラッチ、20…
…ENDADラッチ、21……RWADラッチ、22……WDATAラッ
チ、23……fSEDラッチ、24……RDATAラッチ、26……fCN
Tラッチ、27、28……インクリメント回路、33……SADラ
ッチ、34……一致回路、35……RAM、36……アンプ、37
……スピーカ。
FIG. 1 is a specific circuit diagram of the present invention, and FIG.
5 shows an example of musical tone waveform data to be written in FIG. 5, FIG. 2 (b) shows a musical tone waveform of the data in FIG. 2 (a), and FIG. 3 shows a time chart when waveform data is written in the RAM 35. FIG. 4, FIG. 4 is a diagram showing a time chart of the operation of reading waveform data from the RAM 35, FIG. 5 is a diagram showing a time chart of the operation when the repetition section is switched, and FIG. 6 is a waveform diagram of the repetition operation. And FIG. 11 ... keyboard, 12 ... CPU, 14 ... operation decoder, 18 ... RTAD latch, 19 ... STAD latch, 20 ...
... ENDAD latch, 21 ... RWAD latch, 22 ... WDATA latch, 23 ... fSED latch, 24 ... RDATA latch, 26 ... fCN
T latch, 27, 28 increment circuit, 33 SAD latch, 34 matching circuit, 35 RAM, 36 amplifier, 37
... Speaker.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】波形を記憶する記憶手段と、 この記憶手段を複数の記憶領域に分割し、各記憶領域に
対応するアドレス区間を指定する指定手段と、 この指定手段により指定されるアドレス区間に対応する
上記記憶手段の記憶領域内を繰り返しアクセスして波形
を読み出す読出手段と、 この読出手段により読み出される波形に対して、複数の
ステップから成るエンベロープを付加するエンベロープ
付加手段と、 上記エンベロープの各ステップの切り換わりタイミング
を検出する切り換わり検出手段と、 この切り換わり検出手段にてエンベロープの各ステップ
の切り換わりタイミングが検出される毎に、上記指定手
段の指定するアドレス区間を別のアドレス区間に変更す
るよう上記指定手段を制御する制御手段と、 を有することを特徴とする波形読出装置。
A storage means for storing a waveform; a storage means for dividing the storage means into a plurality of storage areas; and an address section for designating an address section corresponding to each storage area; Reading means for repeatedly accessing a corresponding storage area of the storage means to read a waveform; envelope adding means for adding an envelope comprising a plurality of steps to the waveform read by the reading means; and each of the envelopes A switching detecting means for detecting a switching timing of a step; and each time the switching timing of each step of the envelope is detected by the switching detecting means, the address section specified by the specifying means is changed to another address section. Control means for controlling the designation means so as to change it. The read-out device.
JP60261497A 1985-11-22 1985-11-22 Waveform reading device Expired - Lifetime JP2599361B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60261497A JP2599361B2 (en) 1985-11-22 1985-11-22 Waveform reading device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60261497A JP2599361B2 (en) 1985-11-22 1985-11-22 Waveform reading device

Publications (2)

Publication Number Publication Date
JPS62121496A JPS62121496A (en) 1987-06-02
JP2599361B2 true JP2599361B2 (en) 1997-04-09

Family

ID=17362730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60261497A Expired - Lifetime JP2599361B2 (en) 1985-11-22 1985-11-22 Waveform reading device

Country Status (1)

Country Link
JP (1) JP2599361B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2893698B2 (en) * 1989-02-15 1999-05-24 カシオ計算機株式会社 Music signal generator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58178395A (en) * 1982-04-13 1983-10-19 ロ−ランド株式会社 Time axis extension for voice signal
US4502361A (en) * 1983-12-08 1985-03-05 Allen Organ Company Method and apparatus for dynamic reproduction of transient and steady state voices in an electronic musical instrument

Also Published As

Publication number Publication date
JPS62121496A (en) 1987-06-02

Similar Documents

Publication Publication Date Title
JP3047185B2 (en) Digital sound source device and external memory cartridge used therein
JPS6133199B2 (en)
JPS6145297A (en) Electronic musical instrument
JP2599363B2 (en) Loop region automatic determination device
JP2599361B2 (en) Waveform reading device
US4805509A (en) Electronic musical instrument capable of storing and reproducing tone waveform data at different timings
JPH0799478B2 (en) Electronic musical instrument
JPH0468638B2 (en)
KR100335020B1 (en) Voice information processing device and method
JP2586446B2 (en) Tone generator
JPH0740193B2 (en) Musical sound generator
JP2605903B2 (en) Music synthesizer
JPH0468635B2 (en)
JP2595992B2 (en) Electronic musical instrument
JP2530926Y2 (en) Automatic musical instrument for electronic musical instruments
JPH0473690A (en) Microcomputer
JPH07168574A (en) Waveform memory sound source
JPS6319027B2 (en)
JPS62106499A (en) Waveform generator
JP3381284B2 (en) Parameter writing device
JPH0617195Y2 (en) Musical sound generator
JP2595998B2 (en) Electronic musical instrument
JPS6230240Y2 (en)
JP2546202B2 (en) Waveform generator
JPS5842477B2 (en) electronic musical instruments