JPS5865494A - Multi-waveform generator - Google Patents

Multi-waveform generator

Info

Publication number
JPS5865494A
JPS5865494A JP56165215A JP16521581A JPS5865494A JP S5865494 A JPS5865494 A JP S5865494A JP 56165215 A JP56165215 A JP 56165215A JP 16521581 A JP16521581 A JP 16521581A JP S5865494 A JPS5865494 A JP S5865494A
Authority
JP
Japan
Prior art keywords
waveform
address
memory
waveform memory
sample
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.)
Pending
Application number
JP56165215A
Other languages
Japanese (ja)
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP56165215A priority Critical patent/JPS5865494A/en
Publication of JPS5865494A publication Critical patent/JPS5865494A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 本発明は電子楽器に関するものであり、特に大規模集積
回路(以下LSIと書く)に適する様に、デジタル化さ
れた楽音発生システムを提供するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an electronic musical instrument, and provides a digitized musical tone generation system particularly suitable for large-scale integrated circuits (hereinafter referred to as LSI).

これまでに、電子楽器の音源回路のデジタル化は数多く
試みられて来たが、いずれも、すでに多くの高調波を含
んだ複合波を読み出し専用メモリ(以下ROMと書く)
や、読み書きメモリ(以下RAMと書く)から所定のク
ロックで波形情報を読み出して楽音波形を得た後、これ
をデジタル又はアナログ手段により、所定のエンベロー
プを付加して楽音信号とするものであった。
Up to now, many attempts have been made to digitize the sound source circuits of electronic musical instruments, but in all of them, complex waves containing many harmonics are stored in read-only memory (hereinafter referred to as ROM).
After obtaining a musical sound waveform by reading out waveform information from a read/write memory (hereinafter referred to as RAM) at a predetermined clock, a predetermined envelope was added to this using digital or analog means to generate a musical tone signal. .

この場合には、いくつかの問題点がある。In this case, there are several problems.

まず第1に、波形計算の問題がある。音色を変えるには
、複合波の波形を変える訳であるが、その音色情報が、
例えば、電子楽器で最も良く用いられているドローバー
の様に、6フィート(基本波)のレベル、4フィート(
第2次高調波)のレベル、22/3%フィート(第3次
高調波)レベル・・・・という様に、各高調波の割合で
与えられる時には、この音色情報から、それに相当する
複合形の波形を作らなければならない。つまり、逆フー
リェ計算を行なう必要がある。最近マイクロコンピュー
タが安価に入手出来るようになったとは言え、この逆フ
ーリェ計算には、やはり数百ミリセカンドから1秒程度
の時間を要する。しかも、演奏者がドローバーを変えた
り、音色タブレットを切り替える毎に逆フーリェ計算を
するのであるから、計算に時間がかかれば、すぐに音色
が変わらなかったり、しばらく音が出ないという事も起
こり得る。これでは音色の切替が頻繁に行なわれる曲の
演奏には不向きである。
First of all, there is the problem of waveform calculation. To change the timbre, the waveform of the complex wave is changed, but the timbre information is
For example, the drawbars most commonly used in electronic musical instruments have a level of 6 feet (fundamental wave), a level of 4 feet (
2nd harmonic) level, 22/3% foot (3rd harmonic) level, etc. When the proportion of each harmonic is given, from this timbre information, the corresponding composite form is We need to create a waveform of In other words, it is necessary to perform an inverse Fourier calculation. Although microcomputers have recently become available at low cost, this inverse Fourier calculation still requires a time of several hundred milliseconds to about one second. Moreover, each time the performer changes the drawbars or switches the tone tablet, an inverse Fourier calculation is performed, so if the calculation takes time, the tone may not change immediately or there may be no sound for a while. . This is not suitable for playing songs that require frequent tone changes.

第2の問題として、音が出はじめて、音が消えるまでの
間、音色が変わらないという点にある。
The second problem is that the timbre does not change from the time the sound begins until the sound disappears.

つまり、音色情報から逆フーリェ計算を行なって、波形
情報が得られれば、それをメモリに書き込み、そして、
そのメモリの波形情報を所定のクロックで繰り返して読
み出すのであるから、常に一定の波形となる。これに所
定のエンベロープを付けても所詮音色は変わらない。時
々刻々音色を変えるためには、メモリの波形を時々刻々
書き替えれば良いが、メモリ自身は、常時読み出されて
いるから、メモリの内容を書き替えるには読み出しのタ
イミングの間を狙って(読み出しサイクルと同期をとっ
て)書き込みをする必要がある。この読み出しクロック
は、発生する音程によって変わるから常に一定でなく、
ハードウェア的にも波形の書き替えはかなりやっかいで
ある。しかも、先述のり、音色を変えるという事は、そ
の都度音色情報から逆フーリェ計算をして波形情報を得
なければならないから、結局時々刻々高速度の逆フーリ
ェ計算を意味することになる。この点からも、音色を時
々刻々変化させるには極めて困難であることが理解出来
る。
In other words, if waveform information is obtained by performing inverse Fourier calculations from the timbre information, it is written into memory, and
Since the waveform information in the memory is read out repeatedly at a predetermined clock, the waveform is always constant. Even if you add a predetermined envelope to this, the tone will not change after all. In order to change the tone from time to time, you can rewrite the waveform in the memory from time to time, but the memory itself is constantly being read, so to rewrite the contents of the memory, aim at the timing of reading ( Writes must be performed in synchronization with read cycles. This readout clock is not always constant because it changes depending on the pitch that is generated.
Rewriting the waveform is also quite troublesome in terms of hardware. Moreover, as mentioned earlier, changing the tone requires inverse Fourier calculations to obtain waveform information from the tone information each time, which means that inverse Fourier calculations are performed at high speed every moment. From this point as well, it can be understood that it is extremely difficult to change the timbre from time to time.

第3の問題として、ハードウェア全体のシステムクロッ
クの問題がある。通常、デジタル回路はシステム全体の
同期をとりやすくする為に、固定のクロックのもとで動
く様に構成される。これにより、ロジック回路相互間の
タイミングを明確にし、ハードウエアの構成をよりシン
プルにするのに役立っている。これに対して、電子楽器
の音源回路においては、C,C♯,D……Bの各音名の
楽音信号を得る為に、12個の異なるクロックを設け、
読み出しスピードを変えている。例えば、C1,C2,
C3……という様にオクターブを変えるだけなら、Cノ
ート用のクロックを1/2,1/4,1/3……という
様にするか、メモリのアドレスを2個飛び、4個飛び、
8個飛び……の読み出しをすれば良いけれども、Cノー
トのクロックに対して、C♯ノートのクロッオは21/
12倍のわずかに早いクロックにしなければならない。
The third problem is the problem of the system clock of the entire hardware. Digital circuits are usually configured to operate based on a fixed clock to facilitate synchronization of the entire system. This clarifies the timing between logic circuits and helps simplify the hardware configuration. On the other hand, in the sound source circuit of an electronic musical instrument, 12 different clocks are provided in order to obtain musical tone signals for each note name of C, C#, D...B.
Changing the read speed. For example, C1, C2,
If you just want to change the octave like C3..., you can change the C note clock to 1/2, 1/4, 1/3... or skip two memory addresses, four memory addresses, etc.
It would be fine to read 8 increments, but the clock of C♯ note is 21/21 compared to the clock of C note.
The clock must be slightly faster than 12 times.

同様にDノート場合にはCノートのクロックの21/1
2倍,D♯ノートでは21/12倍……ということにな
る。これらの21/12,22/12,23/12……
はいずれも無理数であるから、ハードウェアにより、こ
れらの12個のクロックを発生するには結局独立した1
2個のクロック発生器を設けることになる。ここにおい
て問題とすべき事は、12個のクロックの速度が全く独
立しているから、同期がとれず、ハードウェアの共用化
が不可能となり、複数のエンベロープ乗算回路や、複数
のデジタル・アナログ変換回路(以下D/A変換回路と
いう)が必要となり、ハードウェアがやたらに大規模と
なり、システム構成が複雑となる事である。
Similarly, in the case of a D note, 21/1 of the clock of the C note
2x, 21/12x for D# notes... These 21/12, 22/12, 23/12...
are all irrational numbers, so in order to generate these 12 clocks using hardware, it is necessary to use independent clocks.
Two clock generators will be provided. The problem here is that the speeds of the 12 clocks are completely independent, so they cannot be synchronized and it is impossible to share hardware. A conversion circuit (hereinafter referred to as a D/A conversion circuit) is required, and the hardware becomes excessively large-scale and the system configuration becomes complicated.

第4の問題として、任意の周波数の波形の発生が困難な
ことである。すなわち、正弦波などを任意の周波数で発
生させるものとしては、特開昭47−9167号「周波
数合成装置」,特開昭48−52454号「ディジタ周
波数合成器],特開昭50−140243号「周波数シ
ンセサイザ」,特公昭52−31731号「楽音波形発
生装置」などが知られているが、いずれも,任意の周波
数を発生させるためには大規模なメモリが必要であった
り、真に任意の周波数の発生が困難なものであった。
The fourth problem is that it is difficult to generate a waveform with an arbitrary frequency. That is, as devices for generating a sine wave or the like at an arbitrary frequency, JP-A-47-9167 "Frequency Synthesizer", JP-A-48-52454 "Digital Frequency Synthesizer", JP-A-50-140243 ``Frequency synthesizer'' and Japanese Patent Publication No. 52-31731 ``Tonic sound waveform generator'' are known, but both require a large amount of memory to generate an arbitrary frequency, or are truly arbitrary. It was difficult to generate this frequency.

本発明は、以上のような問題点を解決し、電子楽器の音
源回路として、LSI化しやすくしたディジタル波形発
生装置を提供するものである。
The present invention solves the above-mentioned problems and provides a digital waveform generator that can be easily integrated into an LSI as a sound source circuit for an electronic musical instrument.

まず本発明の詳細な説明する。第1図は本発明を正弦波
形の発生に適用した場合の波形図である。
First, the present invention will be explained in detail. FIG. 1 is a waveform diagram when the present invention is applied to generating a sine waveform.

第1図において実線は理想的な正弦波を示している。こ
の正弦波の一周期をN分割する。ここでNは、正整数L
とMの積とする。つぎに1周期をL分割した点をx0,
x1,x2…,xi,…xL−1とする。L分割した各
区間内にはそれぞれM個の点が存在する。それらの分割
点をxiから数えて、0,1,…,j,…,(M−1)
と番号づけしてxijで表現する。このようにすると、
一周期内のN個のすべての点をxijと表わすことがで
きる。ここで i=0,1,2,…,L−1 j=0,1,2,…,M−1 である。したがって上記xiはxi0と表わされる。
In FIG. 1, the solid line indicates an ideal sine wave. One period of this sine wave is divided into N parts. Here N is a positive integer L
and M. Next, the point where one period is divided into L is x0,
Let x1, x2..., xi,...xL-1. There are M points in each L-divided section. Counting those division points from xi, 0, 1, ..., j, ..., (M-1)
It is numbered and expressed as xij. In this way,
All N points within one period can be expressed as xij. Here, i=0, 1, 2,..., L-1 and j=0, 1, 2,..., M-1. Therefore, the above xi is expressed as xi0.

また点xijの位相は、一周期が2πであるからθ=i
j=2π/N×(Mi+j)……(1)となる。
Also, since one period is 2π, the phase of point xij is θ=i
j=2π/N×(Mi+j) (1).

正弦波f(xij)で表わすと1式を用いてf(xij
)=Asin{2π/N(Mi+j)}……(2)とな
る。ここでAは正弦波の振幅を表わす。
When expressed as a sine wave f(xij), f(xij
)=A sin {2π/N(Mi+j)} (2). Here, A represents the amplitude of the sine wave.

本発明は、f(xij)を表わすのにxijのすべて、
すなわちN個のサンプル値を持たずに、xi0なるL個
のサンプル値を持ち、残る(N−L)個のxij(j≠
0)の点については、補間演算によって近似値を求めよ
うとするものである。
In the present invention, to represent f(xij), all of xij,
In other words, it does not have N sample values, but has L sample values xi0, and the remaining (NL) xij (j≠
Regarding point 0), an attempt is made to find an approximate value by interpolation.

補間演算として直線補間を行なう場合は、つぎのように
なるxi+1,0とxi,0とに対して、f(xi+1
,0)とf(xi,0)の間を直線補間すると f∧(xij)={f(xi+1,0)−f(xi,0
)}j/M+f(xi,0)なる補間値f∧(xij)
でfxij)を近似できる。
When linear interpolation is performed as an interpolation calculation, f(xi+1
,0) and f(xi,0), f∧(xij)={f(xi+1,0)−f(xi,0
)}j/M+f(xi, 0), the interpolated value f∧(xij)
fxij) can be approximated by

f∧(xij)=A{sin2π/L(i+1)−si
n2π/Li}j/M+Asin2π/Li…(3) 正弦波の場合には と表わすことができる。
f∧(xij)=A{sin2π/L(i+1)−si
n2π/Li}j/M+A sin2π/Li (3) In the case of a sine wave, it can be expressed as.

以下の説明では、L=2048,M=128として述べ
る。したがって、N=262144となる。
In the following explanation, L=2048 and M=128 will be described. Therefore, N=262144.

また、iは11ビット、jは7ビット(ij)は18ピ
ツトの2進数で表現できる。
Further, i can be expressed with 11 bits and j with 7 bits (ij) can be expressed with an 18-pit binary number.

第2図は本発明の一実施例のブロック図である。FIG. 2 is a block diagram of one embodiment of the present invention.

第2図において1は波形アドレスレジスタ(AREG)
2は差分アドレスレジスタ(JREG)である。波形ア
ドレスレジスタ1と差分アドレスレジスタ2は、1ワー
ドを18ビットとする読み書きメモリをそれぞれ72個
ずつ持つ。3は72進のスロットカウンタで、上記72
組のうちの1組を選択することができる。クロックφ0
によってスロットカウンタ3が歩進し、上記72組のレ
ジスタを順次選択してゆき、しかも、繰返し選択してゆ
く。
In Figure 2, 1 is the waveform address register (AREG)
2 is a differential address register (JREG). The waveform address register 1 and the differential address register 2 each have 72 read/write memories each having 18 bits per word. 3 is a 72-decimal slot counter, and the above 72
One of the sets can be selected. Clock φ0
As a result, the slot counter 3 increments and sequentially selects the 72 sets of registers, and the selection is repeated.

クロックφ1は読出信号RDであって、スロットカウン
タ3で選択されている1組のレジスタから内容を読み出
し、出力させる。φ2は書込信号WRであって、スロッ
トカウンタ3で選択されている1組のレジスタのうちA
REGに新たなアドレス値を書き込む。フルアダー4は
、波形アドレスレジスタ1と差分アドレスレジスタ2の
出力を入力とし、両者を加算してその和を波形アドレス
レジスタ1に出力する。以上がアドレス演算部である。
The clock φ1 is a read signal RD, and the contents are read from a set of registers selected by the slot counter 3 and output. φ2 is a write signal WR, and A of the set of registers selected by the slot counter 3
Write a new address value to REG. The full adder 4 inputs the outputs of the waveform address register 1 and the differential address register 2, adds the two, and outputs the sum to the waveform address register 1. The above is the address calculation section.

上記説明より、アドレス演算部は、時刻nTにおける波
形アドレスWAp(nT)に差分アドレスDp(nT)
を加えてWAp(nT+T)を計算してゆくことがわか
る。すなわち WAp(nT+T)=WAp(nT)+Dp(nT)…
(4)の演算を行なう。ここでTはサンプル周期、nは
サンプル周期Tの間に72組のレジスタの累算を行なう
。pは0〜71で72組のレジスタの番号を表わす。し
たがって、クロックφ1の周期TCの72倍がサンプル
周期Tになる。いいかえるとクロックφ1が72回加わ
ると、4式の演算がp=O〜71まで72回実行され、
波形アドレスレジスタ(AREG)1の内容に、Dp(
nT)が加わって一新される。
From the above explanation, the address calculation unit calculates the difference address Dp(nT) to the waveform address WAp(nT) at time nT.
It can be seen that WAp(nT+T) is calculated by adding . That is, WAp(nT+T)=WAp(nT)+Dp(nT)...
Perform the calculation in (4). Here, T is the sampling period, and n is the accumulation of 72 registers during the sampling period T. p represents the number of 72 sets of registers from 0 to 71. Therefore, the sampling period T is 72 times the period TC of the clock φ1. In other words, when clock φ1 is applied 72 times, the calculation of formula 4 is executed 72 times from p=O to 71,
Dp(
nT) has been added and renewed.

クロックφ0,φ1,φ2の1組は1つのタイムスロッ
トを構成する。ここでは72のタイムスロットが存在す
ることになる。任意のタイムススロットをpで表わすこ
とができる。
One set of clocks φ0, φ1, and φ2 constitutes one time slot. There will now be 72 time slots. Any timeslot can be denoted by p.

波形アドレスレジスターの18ビットの出力は、波形メ
モリと波形演算回路に供給される。波形メモリは第1の
波形メモリ(ROM1)5と第2の波形メモリ(ROM
2)6とにより構成されている。
The 18-bit output of the waveform address register is supplied to a waveform memory and a waveform calculation circuit. The waveform memories include a first waveform memory (ROM1) 5 and a second waveform memory (ROM1).
2) 6.

ROM2は f(xi,0)=Asin(2π/N×Mi)=Asi
n(2π/Ni)…(5) (i=0,1,2,…,i,…L−1)を記憶している
。iは11ビットの2進数で表わされ、2048通りの
サンプル値が記憶されている。ROM1は f(xi+1,0)−f(xi,0) =A{sin−2π/L(i+1)−sin2π/Li
}…(6)(i=0,1,2,…,i,L−1) を記憶している。ROM2にも2048通りのサンプル
値が記憶されている。
ROM2 is f (xi, 0) = Asin (2π/N x Mi) = Asi
n(2π/Ni)...(5) (i=0, 1, 2,..., i,...L-1) is stored. i is expressed as an 11-bit binary number, and 2048 sample values are stored. ROM1 is f(xi+1,0)-f(xi,0) =A{sin-2π/L(i+1)-sin2π/Li
}...(6) (i=0, 1, 2,..., i, L-1) is stored. ROM2 also stores 2048 sample values.

ROM1の出力は、掛算器(MPY)7の一方の入力に
供給される。他方の入力には、波形アドレスのうちの部
分アドレスjが供給される。掛算器7の出力は割算器8
に供給され、一定の数値Mで割算される。したがって、
割算器8の出力には{f(xi+1,0)−f(xi,
0)}j/M=A{sin2π/L(i+1)−sin
2π/Li}j/M…(7)が出力される。この出力は
、フルアダー9によりROM2の出力と加算され f∧(xij)=A{sin2π/L(i+1)−si
n2π/Li}j/M+Asin2π/Li…(8) が得られる。この値は、第1図の正弦波を破線で近似し
たものになる。
The output of ROM1 is supplied to one input of multiplier (MPY) 7. A partial address j of the waveform address is supplied to the other input. The output of multiplier 7 is divided by divider 8
is divided by a constant number M. therefore,
The output of the divider 8 is {f(xi+1,0)−f(xi,
0)}j/M=A{sin2π/L(i+1)−sin
2π/Li}j/M (7) is output. This output is added to the output of ROM2 by the full adder 9, and f∧(xij)=A{sin2π/L(i+1)−si
n2π/Li}j/M+A sin2π/Li (8) is obtained. This value approximates the sine wave in FIG. 1 with a broken line.

以上の説明により、任意の波形f(xij),たとえば
正弦波を、直線補間により発生させることが明らかにな
った。補間において、LとMの値はどのような値でもよ
く、したがって、Nの値もどのような値でもよいが、実
際には、ご進数による回路を用いることが多いからこの
べき乗数にとるのが好ましい。例として、Lを2048
、Mを128とする。このとき、iは11ビットの2進
数で表わされ、jは7ビットの2進数で表わされ、(i
j),すなわち(Mi+j)は18ビットの2進数で表
わされる。そして(Mi+j)の下位7ピツトは、その
ままjを表わし、上位11ピツはiを表わすことになる
。したがって、波形アドレスのうち波形メモリROM1
とROM2のアドレスである波形メモリアドレスiと、
補間位置に相当する部分アドレスjとの分離が自ずから
なされていることになる。このことは、波形アドレスか
ら波形メモリアドレスと部分アドレスを分ける複雑な装
置を必要としない点で、非常に好都合といえる。また割
算器8は7ビットだけシフトするだけでよいから、この
点でも好都合である。
From the above explanation, it has become clear that an arbitrary waveform f(xij), for example a sine wave, can be generated by linear interpolation. In interpolation, the values of L and M can be any value, and therefore the value of N can also be any value, but in reality, since circuits based on base numbers are often used, it is preferable to use this exponent. is preferred. As an example, set L to 2048
, M is 128. At this time, i is expressed as an 11-bit binary number, j is expressed as a 7-bit binary number, and (i
j), that is, (Mi+j), is expressed as an 18-bit binary number. The lower 7 pits of (Mi+j) directly represent j, and the upper 11 pits represent i. Therefore, among the waveform addresses, waveform memory ROM1
and waveform memory address i which is the address of ROM2,
This means that the partial address j corresponding to the interpolation position is naturally separated. This is very advantageous in that a complicated device for separating waveform memory addresses and partial addresses from waveform addresses is not required. Furthermore, the divider 8 only needs to shift 7 bits, which is advantageous in this respect as well.

第3図は、波形演算装置の一部である掛算器と割算器と
を、読出メモリ(ROM3)10で置換した本発明の他
の実施例の要部のブロック図である。
FIG. 3 is a block diagram of the main parts of another embodiment of the present invention in which the multiplier and divider, which are part of the waveform calculation device, are replaced with a readout memory (ROM 3) 10.

ROM1は原波形の差分を記憶しているが、Lを十分に
大きくとると、差分は小さくなる。またMの値も当然小
さくなる。たとえば、ROM2の波形サンプルを12ビ
ットで表わすことにするとAは2047にできる。この
とき、差分である{(xi+1,0)−f(xi,0)
}の最大値は符号も含めて4ビットで表わすことができ
る。一方jは7ビットである。したがって入力の組み合
わせは、(4+7)ビット=2048通りで良い。RO
M3の出力である {f(xi+1,0)−f(xi,0)}j/Mを4ビ
ット精度で表わせば 2048X4=8192ビット のROMでよいことになる。この程度のROMは乗算器
と割算器との両方を設ける場合より簡単に実現できる。
The ROM1 stores the difference between the original waveforms, but if L is set sufficiently large, the difference becomes small. Naturally, the value of M also becomes smaller. For example, if the waveform sample in ROM2 is expressed in 12 bits, A can be 2047. At this time, the difference is {(xi+1,0)-f(xi,0)
} can be represented by 4 bits including the sign. On the other hand, j is 7 bits. Therefore, the number of combinations of inputs may be (4+7) bits=2048. R.O.
If the output of M3, {f(xi+1,0)-f(xi,0)}j/M, is expressed with 4-bit precision, a ROM of 2048×4=8192 bits is sufficient. A ROM of this level can be realized more easily than when both a multiplier and a divider are provided.

第4図は、波形アドレス(Mi+j)が、波形メモリア
ドレスと部分アドレスに分けられ、各ROM1,2,3
の入力アドレスになり最終的にフルアダー9の2つの入
力になる際の、各段でのビット長の1例を説明したもの
である。
FIG. 4 shows that the waveform address (Mi+j) is divided into a waveform memory address and a partial address, and each ROM1, 2, 3
This is an example of the bit length at each stage when the input address becomes the input address of the full adder 9 and finally becomes the two inputs of the full adder 9.

第5図は第3図におけるROM1と2,ROM3,フル
アダー9の前後に合計4つのデータラッチ(D−La+
ch1〜4を設けて、クロックφ0によりデータを順次
シフトするようにしたもので、いわゆるパイプライン構
成になっている。第2図や第3図の構成では、波形アド
レスが発生してから波形サンプルf∧(xij)が得ら
れるまで、周期TCしか時間余裕がない。したがって、
各ROM5,6や掛算器7,割算器8,フルアダー9の
動作遅延時間が厳しく制限される。これに対して第6図
の実施例であれば、ROM1と2,ROM3,フルアダ
ー9のそれぞれが周期TC以内で動作すればよいから、
高速論理回路の必要性がなく好都合である。
Figure 5 shows a total of four data latches (D-La +
It has a so-called pipeline configuration in which channels 1 to 4 are provided and data is sequentially shifted using a clock φ0. In the configurations shown in FIGS. 2 and 3, there is only a period of time TC from when the waveform address is generated until the waveform sample f∧(xij) is obtained. therefore,
The operation delay time of each ROM 5, 6, multiplier 7, divider 8, and full adder 9 is strictly limited. On the other hand, in the embodiment shown in FIG. 6, each of ROMs 1 and 2, ROM 3, and full adder 9 only needs to operate within the period TC.
There is no need for high-speed logic circuits, which is advantageous.

以上で任意の波形f(xij)を発生するための構成の
説明を終え、つぎに、上記構成によって発生させる波形
の周波数の設定について説明する。
This concludes the explanation of the configuration for generating the arbitrary waveform f(xij), and next, the setting of the frequency of the waveform generated by the above configuration will be explained.

第2図において、波形アドレスは(4)式に従うことを
述べた。(4)式において Dp(nT)=1 のときは、波形アドレスWAp(nT)は1ずつ増加し
て行く。したがって、第1図の正弦波の場合には、Nサ
ンプル周期で1波形が発生する。
In FIG. 2, it has been stated that the waveform address follows equation (4). In equation (4), when Dp(nT)=1, the waveform address WAp(nT) increases by 1. Therefore, in the case of the sine wave shown in FIG. 1, one waveform is generated in N sample periods.

Dp(nT)=2 のときは、Nサンプル周期で2波が発生する。一般に Dp(nT)=1 のときは、Nサンプル周期で1波発生する。したがって
、発生する正弦波の周波数F(J)はF(J)=J/N
T で表わされる。Tはサンプル同期である。N=218T
=28μSとすると F(J)=0.1362392J(Hz)となる。Jの
とり得る範囲は、0〜218−1が考えられる。J=0
なら同じサンプル値が得られる。
When Dp(nT)=2, two waves are generated at N sample periods. Generally, when Dp(nT)=1, one wave is generated every N sample period. Therefore, the frequency F(J) of the generated sine wave is F(J)=J/N
It is represented by T. T is sample synchronization. N=218T
= 28 μS, F(J) = 0.1362392J (Hz). The possible range of J is 0 to 218-1. J=0
Then you will get the same sample value.

これは、すなわち、直流である。J=216にすれば、
一波形に4サンプルを読み出すことができ、そのときの
周波数は、8928Hzになる。J=217にすれば、
17.857kHzになる。この場合は、ナイキストの
定現の限界になる。
This is, in other words, direct current. If J=216,
Four samples can be read out in one waveform, and the frequency at that time is 8928 Hz. If J=217,
It becomes 17.857kHz. In this case, this is the limit of Nyquist's definition.

以上の説明では、差分アドレスDp(nT)が一定値D
pで、しかも、差分アドレスレジスタ2の中にあらかじ
めDpが記憶されているものとして説明した。
In the above explanation, the differential address Dp(nT) is a constant value D
The explanation has been made assuming that Dp is stored in the differential address register 2 in advance.

つぎに、Dpの書きかえ方法について説明する。Next, a method for rewriting Dp will be explained.

第2図において、100は波形アドレスレジスタ1と差
分アドレスレジスタ2の内容を更新する際に、新しいデ
ータを準備し格納するメモリである。この読み書きメモ
リ100には、マイクロコンピュータ200より、更新
用のデータが非同期で、すなわち、波形発生のタイミン
グに拘束されずに、比較的自由なタイミングで書き込ま
れる。
In FIG. 2, 100 is a memory that prepares and stores new data when updating the contents of the waveform address register 1 and the differential address register 2. Update data is written into the read/write memory 100 by the microcomputer 200 asynchronously, that is, at relatively free timing without being constrained by the timing of waveform generation.

そして、上記72のタイムスロットの所定のタイムスロ
ットpにおいて、更新用データが波形アドレスレジスタ
1と差分アドレスレジスタ2に転送される。この転送に
関する部分の実施例を第6図に示す。
Then, in a predetermined time slot p of the 72 time slots, the update data is transferred to the waveform address register 1 and the difference address register 2. An example of a portion related to this transfer is shown in FIG.

第6図において、1は波形アドレスレジスタ、2は差分
アドレスレジスタ、3はスロットカウンタである。これ
らは第2図で述べたものと同様である。なお、波形アド
レスレジスタ1のDI端子にはフルアダー4の出力が供
給される。22は新たな更新差分アドレスを一時格納す
るアドレスバッファレジスタで、タイムスロットpの数
に相当する72組備わっている。セレクタ20は、後述
する更新信号RNWによって、スロットカウンタ3の出
力するアドレス信号とクロックφ1(読出信号RD1)
との組とマイクロコンピュータ200が出力するアドレ
ス信号と書き込み信号WR2との組の一方の組を選択し
て、アドレスバッファレジスタ22に供給する。更新信
号RNWが“0”のときマイクロコンピュータ側の組を
選択する。
In FIG. 6, 1 is a waveform address register, 2 is a differential address register, and 3 is a slot counter. These are similar to those described in FIG. Note that the output of the full adder 4 is supplied to the DI terminal of the waveform address register 1. Reference numeral 22 denotes an address buffer register for temporarily storing new updated differential addresses, and is provided with 72 sets corresponding to the number of time slots p. The selector 20 receives an address signal output from the slot counter 3 and a clock φ1 (read signal RD1) in response to an update signal RNW, which will be described later.
and the address signal and write signal WR2 output by the microcomputer 200 are selected and supplied to the address buffer register 22. When the update signal RNW is "0", the set on the microcomputer side is selected.

クロックφ0はスロットカウンタ3をカウントアップさ
せ、新たなタイムスロットアドレスを波形アドレスレジ
スタと差分アドレスレジスタ2に供給し、所定のタイム
スロットを指定する。つぎにクロックφ1が発生し、2
つのアドレスレジスタ1と2からデータを読み出し、フ
ルアダー4に供給する。つぎにクロックφ2が発生し、
同じタイムスロットアドレスにおいて、波形アドレスレ
ジスタにフルアダー4の出力を書き込む。このとき更新
信号RNWは“0”であるから、アンドゲート25によ
りWR1が阻止されて、差分アドレスDp=Jは、その
ままの値を保つ。この状態では、Dp=Jによって決ま
る正弦波が発生しつづける。
The clock φ0 counts up the slot counter 3, supplies a new time slot address to the waveform address register and the differential address register 2, and designates a predetermined time slot. Next, clock φ1 is generated, and 2
Data is read from the two address registers 1 and 2 and supplied to the full adder 4. Next, clock φ2 is generated,
At the same time slot address, write the output of full adder 4 to the waveform address register. At this time, since the update signal RNW is "0", WR1 is blocked by the AND gate 25, and the differential address Dp=J maintains the same value. In this state, a sine wave determined by Dp=J continues to be generated.

マイクロコンピュータ200が、バッファレジスタ21
と22の所定のタイムスロットに対応するアドレスを出
力し、同時に更新用の差分アドレスDp(oT)を順次
出力し書き込み信号WR2によって書き込む。全タイム
スロットについて新しい周波数に変更するときは、バッ
ファレジスタ22の全アドレスに対して、Dp(oT)
(p=0,1,2,……,71)を書き込む。その後で
、マィクロコンピュータ200は、更新制御回路24に
SET信号を出力する。スロットカウンタ3からはスロ
ットp=0のときに“1”となるSLOT0信号が加わ
る。SET信号が出力されたあと、最初のタイムスロッ
トp=0を指示するクロックφ0と同時に更新信号RN
Wが72タイムスロットの間“1”となり、つぎのタイ
ムスロットp=0を指示するクロックφ0と同時に“0
”にもどる。
The microcomputer 200 controls the buffer register 21
and 22 predetermined time slots, and at the same time, the update differential addresses Dp(oT) are sequentially outputted and written by the write signal WR2. When changing to a new frequency for all time slots, Dp(oT) is applied to all addresses of the buffer register 22.
Write (p=0, 1, 2, ..., 71). After that, the microcomputer 200 outputs a SET signal to the update control circuit 24. A SLOT0 signal which becomes "1" when slot p=0 is added from the slot counter 3. After the SET signal is output, the update signal RN is generated at the same time as the clock φ0 indicating the first time slot p=0.
W becomes “1” for 72 time slots, and becomes “0” at the same time as clock φ0 indicating the next time slot p=0.
” Return to

更新信号RNWが“1”になると、バッファレジスタ2
2は、スロットカウンタ3によりアクセスされ、かつR
D1により読み出し状態となるバッファレジスタ22の
更新用の波形アドレスDp(oT)は、差分アドレスレ
ジスタ2の72のメモリにつぎつぎの書き込まれる。そ
して、書き込みが終了し、更新信号RNWが“0”にな
る。その後は、φ1により新たなDp(oT)が差分ア
ドレスレジスタ2より読み出され、フルアダー4に新し
いデータを供給し始める。そして、そのつぎのサンプル
から新しい周波数に変更される。
When the update signal RNW becomes “1”, the buffer register 2
2 is accessed by slot counter 3 and R
The update waveform address Dp(oT) of the buffer register 22, which is brought into the read state by D1, is written into the memory 72 of the differential address register 2 one after another. Then, the writing is completed and the update signal RNW becomes "0". Thereafter, a new Dp(oT) is read from the differential address register 2 by φ1, and new data begins to be supplied to the full adder 4. Then, the frequency is changed to the new frequency from the next sample.

第6図の動作を示すタイムチャートを第7図に示し、第
6図の更新制御回路の具体構成とそのタイムチャートを
第8図a,第8図bに示す。
A time chart showing the operation of FIG. 6 is shown in FIG. 7, and a specific configuration of the update control circuit shown in FIG. 6 and its time chart are shown in FIGS. 8a and 8b.

第6図の実施例では、波形アドレスWAp(nT)の更
新を行なわなかったから、新しい周波数の波形の位相は
、それまでの周波数の波形の瞬時位相によって決まる。
In the embodiment of FIG. 6, since the waveform address WAp(nT) is not updated, the phase of the waveform of the new frequency is determined by the instantaneous phase of the waveform of the previous frequency.

また新しい周波数に変わってもそれまでの波形につなが
ってなめらかに新たな波形が発生するので、ビブラート
やポルタメントなどの変調をかける場合に好都合である
Furthermore, even when changing to a new frequency, a new waveform is generated smoothly by connecting to the previous waveform, which is convenient when applying modulation such as vibrato or portamento.

周波数を変えたとき所定の位相から始めたい場合には、
所定のタイムスロットpが選択されたときに同期して、
波形アドレスレジスターの内容をその位相値に設定して
やればよい。
If you want to start from a predetermined phase when changing the frequency,
synchronously when a given time slot p is selected,
All you have to do is set the contents of the waveform address register to that phase value.

第9図は、WAp(nT)とDp(nT)を更新する別
の方法を示す実施例のブロック図である。第6図と異な
る部分について説明する。30はタイムスロットを指定
するスロットラッチ、32は波形アドレスラッチ、34
は差分アドレスラッチで、それぞれのデータ入力端子に
は、マイクロコンピュータ200のデータバスが接続さ
れている0また書き込み端子には、書き込み信号WRが
印加されている。マイクロコンピュータ200のアドレ
ス信号ADはアドレスデコーダ31,32,33を介し
てデコードされ、スロットラッチ30,波形アドレスラ
ッチ33,差分アドレスラッチ34を選択する。この状
態において、データバスよりスロットデータp,波形ア
ドレスデータWAp(oT)を差分アドレスデータDp
(oT)を供給し書き込み信号WRを印加すると、各デ
ータをラッチに書き込むことができる。
FIG. 9 is a block diagram of an embodiment showing another method of updating WAp(nT) and Dp(nT). The different parts from FIG. 6 will be explained. 30 is a slot latch that specifies a time slot; 32 is a waveform address latch; 34
are differential address latches, each of which has a data input terminal connected to a data bus of the microcomputer 200, and a write terminal to which a write signal WR is applied. Address signal AD of microcomputer 200 is decoded via address decoders 31, 32, and 33, and selects slot latch 30, waveform address latch 33, and differential address latch 34. In this state, slot data p and waveform address data WAp(oT) are transferred from the data bus to differential address data Dp.
By supplying (oT) and applying a write signal WR, each data can be written to the latch.

36はコンパレータでスロットカウンタ3とスロットラ
ッチ30の出力が一致したときに一致信号“1”を出力
する。37は更新制御回路で、一致信号とマイクロコン
ピュータ200の出力するSET信号により、更新信号
RNWを出力する。
A comparator 36 outputs a match signal "1" when the outputs of the slot counter 3 and the slot latch 30 match. 37 is an update control circuit that outputs an update signal RNW based on the coincidence signal and the SET signal output from the microcomputer 200;

38はデータセレクタであって、フルアダー4の出力と
波形アドレスラッチ32の出力の一方を選択して、波形
アドレスレジスターに供給する。更新信号RNWが“1
”のときに、波形アドレスラッチ32の出力を選択する
A data selector 38 selects either the output of the full adder 4 or the output of the waveform address latch 32 and supplies it to the waveform address register. Update signal RNW is “1”
”, the output of the waveform address latch 32 is selected.

SET信号が“0”のときは更新信号RNWが“0”で
あって、通常の波形発生が行なわれる。
When the SET signal is "0", the update signal RNW is "0", and normal waveform generation is performed.

これは、第6図で説明したのと同様である。上述のよう
に、マイクロコンピュータ200がスロットデータp,
波形アドレスデータWAp(oT),差分アドレスデー
タDp(oT)をラッチしたあとで、SET信号を出力
すると、第10図のタイムチャートに示すように、SE
T信号が出力されたあとの最初の一致信号が出た時点で
、更新信号RNWが“1”になる。このとき、波形アド
レスレジスタ1のp番目のメモリには、フルアダー4の
出力の代りに、新たな波形アドレスデータWAp(oT
)が書き込まれ、差分アドレスレジスタ2のp番目のメ
モリには、新たな差分アドレスデータDp(oT)が書
き込まれる。書き込みが終了し、スロットカウンタが、
pからp+1に変ると更新制御回路37はEND信号を
出力し、更新信号RNWは“0”にもどる。したがって
波形発生装置はつぎのスロットの波形発生を行なう。そ
してつぎにスロットpとなったときに、新たな波形アド
レスから新しい差分アドレスすなわち周波数の波形発生
が始まる。
This is similar to what was explained in FIG. As mentioned above, the microcomputer 200 stores the slot data p,
When the SET signal is output after latching the waveform address data WAp(oT) and the differential address data Dp(oT), as shown in the time chart of FIG.
When the first match signal is output after the T signal is output, the update signal RNW becomes "1". At this time, instead of the output of the full adder 4, new waveform address data WAp(oT
) is written, and new differential address data Dp(oT) is written to the pth memory of the differential address register 2. Writing is completed and the slot counter is
When the value changes from p to p+1, the update control circuit 37 outputs an END signal, and the update signal RNW returns to "0". Therefore, the waveform generator generates a waveform for the next slot. Then, at the next slot p, waveform generation of a new differential address, that is, frequency, starts from a new waveform address.

第9図の方法では、新しい周波数に変更する際に、新た
な波形アドレスから始めることができるから、波形の位
相を自由に設定できるという利点がある。しかし、ある
スロットpの書き替えに、少なくともクロック周期TC
の数倍以上の時間を必要するから、全スロットp=0〜
71の周波数を変更するのには、1〜2mSの時間を必
要とする。
The method shown in FIG. 9 has the advantage that when changing to a new frequency, it can start from a new waveform address, so the phase of the waveform can be set freely. However, when rewriting a certain slot p, at least the clock period TC is required.
Since it takes several times more time, all slots p = 0 ~
It takes 1 to 2 mS to change the frequency of 71.

第10図は第9図に示した更新制御回路37の一例を示
している。また第9図、第10図の各部のタイムチャー
トを第11図に示している。第9図,第10図,第11
図に示したEND信号はマイクロコンピュータ200に
、書き込みが終了したことを知らせる割り込み信号とし
て使用する。
FIG. 10 shows an example of the update control circuit 37 shown in FIG. Further, a time chart of each part in FIGS. 9 and 10 is shown in FIG. 11. Figure 9, Figure 10, Figure 11
The END signal shown in the figure is used as an interrupt signal to notify the microcomputer 200 that writing has ended.

END信号をマイクロコンピュータ200が受けると、
それ以降マイクロコンピュータ200は、つぎのデータ
をスロットラッチ30,波形アドレスラッチ32,差分
アドレスラッチ34に書き込んでもよいことになる。
When the microcomputer 200 receives the END signal,
After that, the microcomputer 200 may write the next data into the slot latch 30, waveform address latch 32, and differential address latch 34.

なお、第5図や第9図の実施例では、各クロック周期T
Cごとに差分アドレスを変化させることは困難であるが
、更新用の回路部分を変更して、高速で差分アドレスを
更新するようにしてもよい。
In addition, in the embodiments shown in FIGS. 5 and 9, each clock period T
Although it is difficult to change the differential address for each C, the updating circuit portion may be changed to update the differential address at high speed.

また第2図におけるROM1,ROM2の代りに、読み
書きメモリとして、その内容を書きかえるようにすれば
、正弦波に限らず複数の波形を発生させることが可能に
なる。第3図においては、ROM1,ROM2,ROM
3を読み書きメモリに置きかえればよい。
Furthermore, if the ROM1 and ROM2 in FIG. 2 are replaced by read/write memories and the contents thereof can be rewritten, it becomes possible to generate not only a sine wave but also a plurality of waveforms. In Figure 3, ROM1, ROM2, ROM
3 can be replaced with read/write memory.

なお以上の説明においては、スロットカウンタ3を72
進としたから、72通りの独立の周波数と位相をもつ正
弦波を時分割多重で発生させることができることになる
が72通り以上にしてもよいことはいうまでもない。
In the above explanation, the slot counter 3 is set to 72.
Since it is a sine wave having 72 independent frequencies and phases, it is possible to generate sine waves with 72 independent frequencies and phases by time division multiplexing, but it goes without saying that more than 72 sine waves may be generated.

つぎに正弦波のメモリ容量を減らす方法について説明す
る。
Next, a method for reducing the memory capacity of sine waves will be explained.

第12図は、i=0〜L/4に対する正弦波サンプルの
波形の例である。ROM2には黒丸印のように Asin2π/NMi i=0,1,2,……,L/4
ROM1には白丸印のように A{sin2π/N(Mi+M)−sin2π/NMi
}i=0,1,2,……,L/4 を記憶している。このようなROM1,ROM2から完
全な正弦波を読み出す波形アドレス演算回路を第13図
に示す。第13図において、4は波形アドレスWAp(
nT)と差分アドレスDp(nT)を加えるフルアダー
である。その出力はWAp(nT+T)を表わし、第2
図に示し心変形アドレスレジスターにもどる。D0〜D
17の18ビットの出力のうちD0〜D6の7ビットは
部分アドレスでありD7〜D17の11ビットは波形メ
モリアドレスであったが、このうちD17は正弦波の正
負を表わす。D16は正弦波の奇数象限と偶数象限、い
いかえると、位相0〜π/2,π〜3π/2とπ/2〜
π,3π/2〜2πの区別を表わす。D7〜D16はi
=1〜(L/4−1)を表わす9ビットのコードになる
。D0〜D15はセレクタ41に加わると共に補数器4
0によって2の補数に変換されてセレクタ41に加わる
。セレクタ41はD16が“0”すなわち奇数象限のと
きに(DO〜D15)を選択する。D16が“1”すな
わち偶数象限のときには補数器40,42の出力を選択
する。したがって、セレクタ41は、第12図で、iの
値を0→L/4→0のごとく往復的に発生させる。D1
6はROM1とROM2のMSBにも印加され、i=L
/4を読み出すときに用いられる。
FIG. 12 is an example of waveforms of sine wave samples for i=0 to L/4. ROM2 has Asin2π/NMi i=0, 1, 2, ..., L/4 as indicated by the black circle.
ROM1 has A{sin2π/N(Mi+M)-sin2π/NMi as shown in the white circle.
}i=0, 1, 2, ..., L/4 is stored. FIG. 13 shows a waveform address calculation circuit that reads a complete sine wave from such ROM1 and ROM2. In FIG. 13, 4 is the waveform address WAp (
This is a full adder that adds the differential address Dp(nT) and the differential address Dp(nT). Its output represents WAp(nT+T) and the second
Return to the core deformation address register shown in the figure. D0~D
Of the 17 18-bit outputs, 7 bits D0 to D6 are partial addresses, and 11 bits D7 to D17 are waveform memory addresses, of which D17 represents the positive and negative sides of a sine wave. D16 is the odd quadrant and even quadrant of the sine wave, in other words, the phases 0~π/2, π~3π/2 and π/2~
π, represents the distinction between 3π/2 and 2π. D7 to D16 are i
It becomes a 9-bit code representing =1 to (L/4-1). D0 to D15 are added to the selector 41 and complementer 4
It is converted into a two's complement number by 0 and is added to the selector 41. The selector 41 selects (DO to D15) when D16 is "0", that is, in an odd quadrant. When D16 is "1", that is, in an even quadrant, the outputs of complementers 40 and 42 are selected. Therefore, the selector 41 generates the value of i in a reciprocating manner from 0 to L/4 to 0 in FIG. 12. D1
6 is also applied to the MSB of ROM1 and ROM2, i=L
Used when reading /4.

D17は、正弦波の符号に対応するから、そのまま符号
ビットとして用いる。
Since D17 corresponds to the sign of the sine wave, it is used as it is as a sign bit.

以上のようにすれば、ROM1の記憶する差分値は正の
値のみになるから、符号ビットが不要になる。またフル
アダー47に入力される値も正の値だけになるから、加
減算器の代りに加算器でよい。しかも波形アドレスの数
がNから約1/4に減るからメモリ容量も約1/4に減
少する。
By doing the above, the difference values stored in the ROM 1 will be only positive values, so the sign bit will not be necessary. Further, since only positive values are input to the full adder 47, an adder may be used instead of an adder/subtractor. Furthermore, since the number of waveform addresses is reduced from N to about 1/4, the memory capacity is also reduced to about 1/4.

なお、上記説明では、直線補間演算の例について述べた
が、2次曲線による補間や、その他の関数を用いた補間
演算を行なわしてもよいことはいうまでもない。
In the above description, an example of linear interpolation calculation has been described, but it goes without saying that interpolation using a quadratic curve or interpolation calculation using other functions may also be performed.

また、上記説明では正弦波を中心としたが。Also, in the above explanation, the focus was on sine waves.

ROM1,2,3に正弦波以外の任意の波形を記憶させ
て発生させることもできる。
It is also possible to store and generate any waveform other than a sine wave in the ROMs 1, 2, and 3.

以上のように、本発明は波形メモリと、波形演算回路と
、波形アドレス計算回路とを備え、上記波形アドレス計
算回路により上記波形メモリのアドレスを示す波形メモ
リアドレスと上記波形メモリのアドレス以外の仮想アド
レスとを時分割多重化して計算し、上記波形メモリアド
レスにより上記波形メモリを時分割多重化して読み出し
、その出力を上記仮想アドレスと共に上記波形演算回路
に加え、波形出力を時分割多重化して計算するようにし
たものであるから、小規模の波形メモリで大規模アドレ
スを有する波形メモリを用いたと同様に、周波数可変精
度の高い波形の発生が可能になるという特徴を有する。
As described above, the present invention includes a waveform memory, a waveform calculation circuit, and a waveform address calculation circuit, and the waveform address calculation circuit uses a waveform memory address indicating the address of the waveform memory and a virtual address other than the address of the waveform memory. The address is time-division multiplexed, the waveform memory is time-division multiplexed and read out using the waveform memory address, the output is added to the waveform calculation circuit along with the virtual address, and the waveform output is time-division multiplexed and calculated. Therefore, it is possible to generate waveforms with high frequency variable accuracy using a small-scale waveform memory, similar to when a waveform memory having large-scale addresses is used.

また波形メモリ、波形演算回路、波形アドレス計算回路
の他に時分割多重に対応した複数の波形アドレスレジス
タ、差分アドレスレジスタを設は波形アドレスレジスタ
の記憶している波形アドレスに上記差分アドレスレジス
タの記憶している差分アドレスを累算して順次波形アド
レスを演算して上記波形アドレスレジスタに記憶し、上
記波形アドレスに含まれる波形メモリアドレスを用いて
上記波形メモリをアクセスして波形サンプルを読み出し
、上記波形演算回路により上記波形アドレスに含まれる
部分アドレスト上記波形サンプルにもとづき上記波形サ
ンプル間の補間演算を行なうようにしているので波形ア
ドレスレジスタや差分アドレスレジスタを72組あるい
はそれ以上設けることにより、数多くの正弦波を時分割
多重で発生することができ、波形メモリや波形演算回路
の使用効率を高めることができる。しかも、周波数は任
意に選定でき、その時間変化も可能になる。
In addition to the waveform memory, waveform calculation circuit, and waveform address calculation circuit, multiple waveform address registers and differential address registers that support time division multiplexing are provided. The waveform addresses are sequentially computed by accumulating the difference addresses, which are stored in the waveform address register, and the waveform memory is accessed using the waveform memory address included in the waveform address to read out the waveform sample. The waveform calculation circuit performs interpolation calculations between the waveform samples based on the partial addressed waveform samples included in the waveform address, so by providing 72 or more sets of waveform address registers and differential address registers, a large number of sine waves can be generated by time division multiplexing, and the efficiency of using the waveform memory and waveform calculation circuit can be increased. Moreover, the frequency can be selected arbitrarily, and its change over time is also possible.

したがって、72組を1つの楽音に使えば72高調波ま
で出せ、複音楽器用に用いれば、たとえば9次までの高
調波をもった音を同時に8音つくることができるから、
極めて融通性のある波形発生装置が実現できる。
Therefore, if 72 sets are used for one musical tone, up to 72 harmonics can be produced, and if used for a compound instrument, for example, 8 tones with harmonics up to the 9th order can be created at the same time.
An extremely flexible waveform generator can be realized.

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

第1図は本発明の波形発生装置の波形発生原理を説明す
るための図、第2図は本発明の一実施例のブロック図、
第3図は本発明の他の実施例の要部のブロック図、第4
図は本発明のディジタルコードの関係を示す図、第6図
は本発明の第3の実施例のブロック図、第6図は本発明
の第4図の実施例の要部を示すブロック図、第7図は第
6図の実施例のタイムチャート、第8図(a),(b)
は更新制御回路の具体的な実施例とそのタイムチャート
を示す図、第9図は本発明の第6の実施例の要部を示す
ブロック図、第10図は更新制御回路の実施例の図、第
11図はそのタイムチャート、第12図は波形メモリ内
の正弦波サンプルを示す図、第13図は波形アドレス演
算回路の他の実施例の図である。 1…波形アドレスレジスタ、2…差分 アドレスレジスタ、3…スロットカウンタ、4…フルア
ダー、5…メモリ(差分値用)5…メモリ(波形用)、
7…掛算器、8…割算器、9…フルアダー。 代理人の氏名 弁理士 中尾敏男ほか1名ms@ 纒’7!It IEf、←−−−−−−−− 5ttfroうチーーーーーーーーーーーーーーーー−
「−一−−−−−−]−−−−ィトm−一り−一
FIG. 1 is a diagram for explaining the waveform generation principle of the waveform generator of the present invention, and FIG. 2 is a block diagram of an embodiment of the present invention.
FIG. 3 is a block diagram of main parts of another embodiment of the present invention, and FIG.
6 is a block diagram showing the relationship between digital codes of the present invention, FIG. 6 is a block diagram of the third embodiment of the present invention, FIG. 6 is a block diagram showing the main parts of the embodiment of FIG. 4 of the present invention, FIG. 7 is a time chart of the embodiment shown in FIG. 6, and FIGS. 8(a) and (b)
9 is a block diagram showing a main part of the sixth embodiment of the present invention, and FIG. 10 is a diagram showing an embodiment of the update control circuit. , FIG. 11 is a time chart thereof, FIG. 12 is a diagram showing sine wave samples in the waveform memory, and FIG. 13 is a diagram of another embodiment of the waveform address calculation circuit. 1...Waveform address register, 2...Difference address register, 3...Slot counter, 4...Full adder, 5...Memory (for difference value) 5...Memory (for waveform),
7... Multiplier, 8... Divider, 9... Full adder. Name of agent: Patent attorney Toshio Nakao and 1 other person ms@Ki'7! It IEf, ←−−−−−−−− 5ttfro uuuuuuuuuuuuuuuuuuuuuuu
"-1--------]----itm-one-one

Claims (8)

【特許請求の範囲】[Claims] (1)波形メモリと、波形演算回路と、波形アドレス計
算回路ととを備え、上記波形アドレス計算回路により上
記波形メモリのアドレスを示す波形メモリアドレスと上
記波形メモリのアドレス以外の仮想アドレスとを時分割
多重化して計算し、上記波形メモトアドレスにより上記
波形メモリを時分割多重化して読み出し、その出力を上
記仮想アドレスと共に上記波形演算回路に加え、波形出
力を時分割多重多重化して計算するようにしたことを特
徴とする多重波形発生装置。
(1) A waveform memory, a waveform calculation circuit, and a waveform address calculation circuit are provided, and the waveform address calculation circuit calculates a waveform memory address indicating the address of the waveform memory and a virtual address other than the address of the waveform memory. The waveform memory is time-division multiplexed and read out using the waveform memo address, the output thereof is added to the waveform calculation circuit together with the virtual address, and the waveform output is time-division multiplexed and calculated. A multiplex waveform generator characterized by:
(2)波形メモリと、波形演算回路と、波形アドレス計
算回路と時分割多重に対応した複数の波形アドレスレジ
スタ及び差分アドレスレジスタとを備え、上記波形アド
レスレジスタの記憶している波形アドレスに上記差分ア
ドレスレジスタの記憶している差分アドレスを累算して
順次波形アドレスを演算し、その演算結果を上記波形ア
ドレスレジスタに記憶し、上記波形アドレスに含まれる
波形メモリアドレスを用いて上記波形メモリをアクセス
して波形サンプルを読み出し、上記波形アドレスに含ま
れる部分アドレスと上記波形サンプルとにもとづき上波
形サンプル間の補間演算を上記波形演算回路により行な
うようにしたことを特徴とする多重波形発生装置。
(2) A waveform memory, a waveform arithmetic circuit, a waveform address calculation circuit, and a plurality of waveform address registers and difference address registers compatible with time division multiplexing are provided, and the waveform address stored in the waveform address register is updated by the difference address. The difference addresses stored in the address register are accumulated to sequentially calculate the waveform address, the calculation result is stored in the waveform address register, and the waveform memory is accessed using the waveform memory address included in the waveform address. A multiplexed waveform generating device, wherein the waveform sample is read out, and the waveform arithmetic circuit performs an interpolation operation between the upper waveform samples based on the partial address included in the waveform address and the waveform sample.
(3)特許請求の範囲第2項の記載において、波形演算
回路で、波形メモリの記憶している波形サンプル間の直
線補間演算を行なうようにしたことを特徴とする多重波
形発生装置。
(3) The multiple waveform generation device as set forth in claim 2, characterized in that the waveform calculation circuit performs a linear interpolation calculation between the waveform samples stored in the waveform memory.
(4)特許請求の範囲第2項の記載において、波形メモ
リを第1の波形メモリと第2の波形メモリとで構成し、
第2の波形メモリに発生すべき波形のサンプル値を記憶
し、第1の波形メモリに上記波波サンプル値の差分値を
記憶するようにしたことを特徴とする多重波形発生装置
(4) In the description of claim 2, the waveform memory is composed of a first waveform memory and a second waveform memory,
A multiple waveform generation device characterized in that a second waveform memory stores sample values of a waveform to be generated, and a first waveform memory stores a difference value between the waveform sample values.
(5)特許請求の範囲第2項の記載において、第1の波
形メモリの差分値に、部分アドレスに相当する係数を掛
算し、その積を第2の波形メモリの波形サンプル値に加
えて補間演演を行なうようにしたことを特徴とする多重
波形発生装置。
(5) In the statement of claim 2, the difference value in the first waveform memory is multiplied by a coefficient corresponding to the partial address, and the product is added to the waveform sample value in the second waveform memory to perform interpolation. A multiplex waveform generator characterized in that it performs a performance.
(6)特許請求の範囲第5項の記載において、第1の波
形メモリの差分値と部分アドレスに相当する係数の掛算
を行なう回路として、上記差分値と上記部分アトドスと
を入力とし、それらを掛算した積を出力する記憶装置を
用いたことを特徴とする多重波形発生装置。
(6) In the description of claim 5, a circuit that multiplies the difference value of the first waveform memory by a coefficient corresponding to a partial address receives the difference value and the partial address as input, and inputs the difference value and the partial address. A multiplex waveform generator characterized by using a storage device that outputs multiplied products.
(7)特許請求の範囲第4項または第5項の記載におい
て、第1のメモリは正強波サンプルの差分値を、第2の
波形メモリは正弦波のサンプル値をそれぞれ記憶するよ
うにしたことを特徴とする多重波形発生装置。
(7) In the statement of claim 4 or 5, the first memory stores the difference value of the positive strong wave sample, and the second waveform memory stores the sample value of the sine wave. A multiplex waveform generator characterized by:
(8)特許請求の範囲第4項の記載において、第1゜第
2の波形メモリを読み書きメモリとし、正弦波以外の波
形を発生するようにしたことを特徴とする多重波形発生
装置。
(8) The multiplex waveform generator as set forth in claim 4, wherein the first and second waveform memories are read/write memories and are configured to generate waveforms other than sine waves.
JP56165215A 1981-10-15 1981-10-15 Multi-waveform generator Pending JPS5865494A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56165215A JPS5865494A (en) 1981-10-15 1981-10-15 Multi-waveform generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56165215A JPS5865494A (en) 1981-10-15 1981-10-15 Multi-waveform generator

Publications (1)

Publication Number Publication Date
JPS5865494A true JPS5865494A (en) 1983-04-19

Family

ID=15808030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56165215A Pending JPS5865494A (en) 1981-10-15 1981-10-15 Multi-waveform generator

Country Status (1)

Country Link
JP (1) JPS5865494A (en)

Similar Documents

Publication Publication Date Title
JPS5865493A (en) Waveform generator
US4201105A (en) Real time digital sound synthesizer
EP0035658B1 (en) Electronic musical instrument
JPS6147435B2 (en)
KR0135601B1 (en) Method and apparatus for digitally generating musical notes
JPS59168493A (en) Musical tone waveform generator
JPS5865494A (en) Multi-waveform generator
USRE31648E (en) System for generating tone source waveshapes
JPH0225515B2 (en)
JPS6363916B2 (en)
JPH033239B2 (en)
JP3334502B2 (en) Waveform memory type sound generator
JP2510090Y2 (en) Music signal generator
JPS6352399B2 (en)
JPH0522920B2 (en)
JPS6335994B2 (en)
JPH033236B2 (en)
JPH0127434B2 (en)
JPS6224797B2 (en)
JPH0127436B2 (en)
JPH0231396B2 (en)
JPS6343760B2 (en)
JPS60233695A (en) Electronic musical instrument
JPH0226237B2 (en)
JPH033238B2 (en)