JPS6325360B2 - - Google Patents

Info

Publication number
JPS6325360B2
JPS6325360B2 JP54041325A JP4132579A JPS6325360B2 JP S6325360 B2 JPS6325360 B2 JP S6325360B2 JP 54041325 A JP54041325 A JP 54041325A JP 4132579 A JP4132579 A JP 4132579A JP S6325360 B2 JPS6325360 B2 JP S6325360B2
Authority
JP
Japan
Prior art keywords
addend
address
circuit
word
summand
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
Application number
JP54041325A
Other languages
Japanese (ja)
Other versions
JPS55134899A (en
Inventor
Osamu Hamada
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP4132579A priority Critical patent/JPS55134899A/en
Publication of JPS55134899A publication Critical patent/JPS55134899A/en
Publication of JPS6325360B2 publication Critical patent/JPS6325360B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

本発明は例えば電子楽器の音源部等に用いて好
適なデイジタル波形発生回路に関し、特にデイジ
タル波形発生回路の波形データとして正弦波以外
の波形データを扱う場合に生じる折り返し誤差を
防止するようにしたデイジタル波形発生回路に関
するものである。 一般にデイジタル波形を発生する方式には大別
してリードオンリイメモリ(以下ROMと云う)、
ランダムアクセスメモリ(以下RAMと云う)ま
たはシフトレジスタに入れた波形データを音階周
波数に対応したクロツクで連続的に読み出す可変
クロツク方式と、一定の周期毎に所定の率で変化
するアドレス信号をROMまたはRAMに与えて
波形データを読み出す固定クロツク方式とがあ
る。 この2つのデイジタル波形発生方式のうち固定
クロツク方式ではサンプリングクロツク周波数を
c、データサンプル数をNとするとc/Nより大
きい発生周波数の場合にアドレスのスキツプが生
じ折り返し誤差を生じる可能性がある。この誤差
を生じないようにする為には発生周波数に応じて
その都度データを入れ換える方法もあるが高速転
送が必要であり、装置も複雑になる等の欠点があ
る。 本発明は斯る点に鑑み、簡単な構成で、迅速且
つ確実に折り返し誤差を防止できるデイジタル波
形発生回路を提供するものである。 以下本発明の一実施例を第1図ないし第5図に
基づいて説明する。 第1図は本発明に係るデイジタル波形発生回路
の基本的な回路構成を示すものである。第1図に
おいて、1は例えば鍵盤等に連結されたキーアサ
イナ(図示せず)に接続され、発生しようとする
信号波形の情報を受ける入力端子、2は発生しよ
うとする信号波形の周波数に応じて例えば4ビツ
トの情報の加数n(正の整数)やチヤンネルおよ
びワードを設定するための定数設定回路である。 通常所望の周波数の信号波形を発生させたい場
合、その発生周波数をF、サンプリングクロツク
周波数をc、使用するアキユムレータの動作ビツ
ト数をBとすると、これらと上記加数nとに次式
のような関係が成立する。 F=nc/2B ……(1) 従つて上記(1)式よりサンプリングクロツク周波
cとアキユムレータの動作ビツト数Bを一定と
すると発生周波数Fは加数nを変えることにより
可変できることが理解される。例えばサンプリン
グクロツク周波数cが50kHz、アキユムレータの
動作ビツト数Bが例えば第2図に示すようにD0
〜D19の20ビツトであるものとして0.04678Hzから
19.9998kHzの周波数Fを発生させたい場合、その
発生周波数にそれぞれ対応して1から419430の範
囲の加数nを定数設定回路2に設定すればよい。 このようにして決定される加数nは定数設定回
路2からRAM3に書込まれる。RAM3は上述
のアキユレムレータに相当するもので例えば256
×4ビツトの容量を有し、タイミング制御回路4
からのアドレス信号により上記4ビツトの情報を
同時に(並列に)書込んだり、読出したりするこ
とができ、4ビツトを1組として256組まで記憶
することが可能である。こゝではRAM3のメモ
リマツプは第3図に示すように成つており、複数
個のチヤンネル例えば16個のチヤンネルCH0
CH15に対し、各チヤンネルがそれぞれ16個のア
ドレスを占有するようにし、しかもその中で実際
に使用するのは1番目から10番目のアドレスとす
る。例えばチヤンネルCH0の場合はアドレス00か
ら09のみを使用し、残りの0Aから0Fのアドレス
は使用しないようにし、以下他のチヤンネルも同
様である。 更に各チヤンネルを所定個数のワード例えば5
個のワードW0〜W4にそれぞれ分割し、各ワード
を互いに隣接する2個のアドレスを割当てる。例
えばチヤンネルCH0の場合はワードW0にアドレ
ス00と01を割当て、ワードW1にアドレス02と03
を割当てる等である。そして各ワードが占有する
2個のアドレスのうち第1番目のアドレスに上述
したような加数を記憶させ、第2番目のアドレス
に上記加数が加算される被加数を記憶させる。例
えばチヤンネルCH0のワードW0の第1番目のア
ドレス00には加数0を記憶させ、第2番目のアド
レス01には被加数0を記憶させる。 このようにしてRAM3に配されるチヤンネル
やワードとサンプリングクロツク周波数との関係
を第4図に示す。すなわち、いまタイミング制御
回路4より発生されるサンプリングクロツク周波
数を50kHzとするそのサンプリング周期は第4図
Aに示すように20μsとなるので、この20μsの1周
期内で第4図Bに示すように0〜15の16チヤンネ
ルの演算処理がなされるようになし、その時要す
る時間は1チヤンネル当り1.25μsである。更にこ
の各チヤンネルを上述したように5個のワードに
分割して処理する。この状態を第4図Cに示す
が、5個のワード0〜4はそれぞれ0.25μsで演算
処理される。 そして分割処理されるワード0〜4は第4図D
に示すようにそれぞれ4個のタイムスロツトすな
わちT1,T2,T3およびT4で順次処理され、その
時1タイムスロツトに要する処理時間は62.5ms
である。つまりRAM3はタイミング制御回路4
からのアドレス信号に応答して第1のタイムスロ
ツトT1で或るワードの前半のアドレスに記憶さ
れている加数を読出し、第2のタイムスロツト
T2でその空いたアドレスにそのワードの加数を
設定回路2から書込み、第3のタイムスロツト
T3でそのワードの後半のアドレスに記憶されて
いる被加数を読みだし、そして第4のタイムスロ
ツトT4で加算回路5で加算された加数と被加数
の結果を上記後半のアドレスに書込む。この動作
を第3図のチヤンネルCH0の第2番目のワード
W1について詳述すると、RAM3は第1のタイム
スロツトT1でアドレス02に記憶されている加数
1を読出し、第2のタイムスロツトT2でアドレ
ス02に加数1を書込み、そして第3のタイムスロ
ツトT3でアドレス03に記憶されている被加数1
を読出し、第4のタイムスロツトT4で加数1と
被加数1の加算結果をアドレス03に書込む。 このRAM3の読出し書込みの動作を表わす信
号R/Wとタイミング制御回路4からのアドレス
信号Adとのタイミング関係は第4図Eに示され
ている。すなわちRAM3はアドレス信号A0
“0”の時R/W信号の“1”で加数の読出し、
“0”で加数を書込み、アドレス信号A0が“1”
の時R/W信号の“1”で被加数を読み出し、
“0”で加数と被加数の加算結果を書込む。 そしてRAM3は上述の動作を全てのチヤンネ
ルの各ワードに付いて同様に繰返し行う。 このようにしてRAM3により読出し書込みさ
れる被加数、加数はそれぞれ4ビツトの情報とし
てラツチ回路6および7にラツチされるが、これ
らのラツチ回路6および7はタイミング制御回路
4より1チヤンネル内の各ワードに対する被加
数、加数のうち上位の2個のワードの被加数、加
数をラツチするように成されている。すなわちチ
ヤンネルCH0の場合はワードW3,W4の被加数
3,4がラツチ回路6にラツチされ、ワードW3
W4の加数3,4がラツチ回路7にラツチされる。 ラツチ回路6にラツチされた被加数は予め所定
の帯域制限された複数個の波形データが記憶され
ているROM8のアドレスを瞬時的に指定するた
めの第2図に示すようなアドレス信号A0〜A7
して使用される。第2図からも明らかなようにこ
のアドレス信号A0〜A7はRAM3で扱われるD0
〜D19のビツト構成の上位のビツトにそれぞれ対
応するように成されている。上記ROM8には例
えば正弦波信号から高調波成分を含んだアナログ
信号を50KHzでサンプリングした8ビツト・256
ワードのデジタルデータが8通り記憶されている
ので、上記アドレス信号A0〜A7により上記256ワ
ードのアドレス指定を行う。一方ラツチ回路7に
ラツチされた加数は後述される折り返し誤差を防
止するためのプライオリテイエンコーダ9に供給
され、第2図に示されるようにこのプライオリテ
イエンコーダ9はラツチ回路7から供給される上
位8ビツトの加数データを3ビツトのアドレス信
号に変換し、上記ROM8に記憶された8種類の
波形データの選択を行う。ところで、固定クロツ
ク方式では上述の如くサンプリングクロツク周波
c、データサンプル数をNとするとc/Nより
大きい発生周波数の場合に、ROM8のアドレス
指定にスキツプを生じ、折り返し誤差を生じる可
能性がある。これを生じないようにするためには
ROM8の波形データを高調波を含む波形から正
弦波に近い波形に加数(3ビツト)に応じて切換
えれば良い(帯域制限)。そこでこの発明では所
定の帯域制限を施したデータバンクをROM8に
複数個(例えば8個)設け、これをプライオリテ
イエンコーダ9でバンク指定するようにする。 例えば第2図に示すようなD0〜D19のアキユレ
ータビツト構成で、サンプリングクロツク周波数
を50kHz、データサンプル数を128、データバン
ク数を8とした場合の各データバンクに対する周
波数範囲は次表の如く設定することができる。
The present invention relates to a digital waveform generation circuit suitable for use in, for example, a sound source section of an electronic musical instrument, and in particular to a digital waveform generation circuit that prevents aliasing errors that occur when waveform data other than sine waves is handled as waveform data of the digital waveform generation circuit. This relates to a waveform generation circuit. In general, methods for generating digital waveforms can be roughly divided into read-only memory (hereinafter referred to as ROM),
The variable clock method reads out waveform data stored in a random access memory (hereinafter referred to as RAM) or a shift register continuously using a clock corresponding to the musical scale frequency, and the variable clock method reads out waveform data stored in a random access memory (hereinafter referred to as RAM) or a shift register continuously using a clock that corresponds to the musical scale frequency. There is a fixed clock method in which the clock is applied to RAM and the waveform data is read out. Of these two digital waveform generation methods, in the fixed clock method, the sampling clock frequency is
c and the number of data samples is N, there is a possibility that address skipping occurs and an aliasing error occurs when the generated frequency is greater than c /N. In order to prevent this error from occurring, there is a method of exchanging data each time according to the frequency of occurrence, but this method requires high-speed transfer and has drawbacks such as the complexity of the device. In view of these points, the present invention provides a digital waveform generation circuit that has a simple configuration and can quickly and reliably prevent aliasing errors. An embodiment of the present invention will be described below with reference to FIGS. 1 to 5. FIG. 1 shows the basic circuit configuration of a digital waveform generating circuit according to the present invention. In FIG. 1, 1 is an input terminal that is connected to a key assigner (not shown) connected to a keyboard, for example, and receives information on the signal waveform to be generated, and 2 is an input terminal that receives information about the signal waveform to be generated. For example, it is a constant setting circuit for setting the addend n (positive integer), channel, and word of 4-bit information. Normally, when it is desired to generate a signal waveform of a desired frequency, let the generation frequency be F, the sampling clock frequency be c , and the number of operating bits of the accumulator used be B. These and the above addend n can be expressed as in the following equation. A relationship is established. F=n c /2 B ...(1) Therefore, from equation (1) above, if the sampling clock frequency c and the number of operating bits B of the accumulator are constant, the generation frequency F can be varied by changing the addend n. be understood. For example, when the sampling clock frequency c is 50 kHz, the number of operating bits B of the accumulator is D 0 as shown in Figure 2.
~0.04678Hz as being 20 bits of D 19
When it is desired to generate a frequency F of 19.9998 kHz, it is sufficient to set an addend n in the range of 1 to 419430 in the constant setting circuit 2 corresponding to each generated frequency. The addend n determined in this manner is written from the constant setting circuit 2 to the RAM 3. RAM3 corresponds to the above-mentioned Acrymulator, for example 256
×4 bit capacity, timing control circuit 4
The 4-bit information can be written or read simultaneously (in parallel) using an address signal from the memory, and up to 256 sets of 4 bits can be stored. Here, the memory map of RAM3 is configured as shown in Figure 3, and there are multiple channels, for example, 16 channels CH 0 ~
For CH 15 , each channel occupies 16 addresses, and among them, the first to tenth addresses are actually used. For example, for channel CH 0 , only addresses 00 to 09 are used, and the remaining addresses 0A to 0F are not used, and the same goes for other channels. Furthermore, each channel is divided into a predetermined number of words, e.g.
Each word is divided into words W 0 to W 4 and two adjacent addresses are assigned to each word. For example, for channel CH 0 , address 00 and 01 are assigned to word W 0 , and addresses 02 and 03 are assigned to word W 1 .
etc. Then, the above-mentioned addend is stored in the first address of the two addresses occupied by each word, and the addend to which the above-mentioned addend is added is stored in the second address. For example, addend 0 is stored in the first address 00 of word W 0 of channel CH 0 , and addend 0 is stored in the second address 01. FIG. 4 shows the relationship between the channels and words arranged in the RAM 3 and the sampling clock frequency. That is, assuming that the sampling clock frequency generated by the timing control circuit 4 is 50 kHz, the sampling period is 20 μs as shown in FIG. 4A, so within one period of 20 μs, the sampling clock frequency as shown in FIG. The calculation process is performed on 16 channels from 0 to 15, and the time required for each channel is 1.25 μs. Furthermore, each channel is divided into five words and processed as described above. This state is shown in FIG. 4C, where five words 0 to 4 are each processed in 0.25 μs. Words 0 to 4 to be divided are shown in Figure 4D.
As shown in the figure, each time slot is processed sequentially in four time slots, namely T 1 , T 2 , T 3 and T 4 , and the processing time required for one time slot is 62.5 ms.
It is. In other words, RAM3 is timing control circuit 4
In response to an address signal from T1, the addend stored in the first half address of a certain word is read in the first time slot T1 , and
At T2 , the addend of that word is written to the vacant address from setting circuit 2, and the third time slot is
At T3 , the summand stored at the second half address of the word is read, and at the fourth time slot T4 , the result of the summand and the summand added by the adding circuit 5 is added to the second half address above. write to. This operation is repeated in the second word of channel CH 0 in Figure 3.
In detail for W1 , RAM3 reads the addend 1 stored at address 02 in the first time slot T1 , writes the addend 1 stored in address 02 in the second time slot T2, and writes the addend 1 stored in the address 02 in the second time slot T2. Addend 1 stored at address 03 in time slot T 3 of
is read and the result of addition of addend 1 and summand 1 is written to address 03 in the fourth time slot T4 . The timing relationship between the signal R/W representing the read/write operation of the RAM 3 and the address signal Ad from the timing control circuit 4 is shown in FIG. 4E. That is, when the address signal A0 is "0", the RAM3 reads the addend with the R/W signal "1",
Write the addend with “0” and address signal A 0 is “1”
When the R/W signal is “1”, read the summand,
Write the result of adding the addend and summand with “0”. Then, the RAM 3 repeats the above-described operation for each word of all channels. The summand and summand thus read and written by the RAM 3 are each latched as 4-bit information in the latch circuits 6 and 7. The summand for each word of , the summand of the two uppermost words of the addend, and the addend are latched. That is, in the case of channel CH 0 , the summands 3 and 4 of words W 3 and W 4 are latched in the latch circuit 6, and the words W 3 and
Addends 3 and 4 of W 4 are latched in the latch circuit 7. The summand latched by the latch circuit 6 is an address signal A 0 as shown in FIG. 2 for instantaneously specifying the address of the ROM 8 in which a plurality of waveform data having a predetermined band limit are stored. ~Used as A7 . As is clear from FIG. 2, these address signals A 0 to A 7 are D 0 handled by RAM 3.
~ D19 are configured to correspond to the upper bits of the bit configuration, respectively. The above ROM 8 contains, for example, an 8-bit 256-bit analog signal containing harmonic components from a sine wave signal sampled at 50KHz.
Since 8 types of word digital data are stored, the addresses of the 256 words are specified using the address signals A 0 to A 7 . On the other hand, the addend latched by the latch circuit 7 is supplied to a priority encoder 9 for preventing aliasing errors, which will be described later, and this priority encoder 9 is supplied from the latch circuit 7 as shown in FIG. The upper 8-bit addend data is converted into a 3-bit address signal, and eight types of waveform data stored in the ROM 8 are selected. By the way, in the fixed clock system, as mentioned above, if the sampling clock frequency c is greater than c/N and the generation frequency is greater than c /N, there is a possibility that a skip may occur in addressing the ROM 8 and an aliasing error may occur. . To prevent this from happening
The waveform data in the ROM 8 can be switched from a waveform containing harmonics to a waveform close to a sine wave according to the addend (3 bits) (bandwidth limitation). Therefore, in the present invention, a plurality of (eight, for example) data banks each having a predetermined band limit are provided in the ROM 8, and these banks are designated by the priority encoder 9. For example, in the accurator bit configuration of D 0 to D 19 as shown in Figure 2, when the sampling clock frequency is 50 kHz, the number of data samples is 128, and the number of data banks is 8, the frequency range for each data bank is It can be set as shown in the table below.

【表】 従つてプライオリテイエンコーダ9はラツチ回
路7から供給される加数のうち“1”である最上
位ビツトがD12〜D18のいずれかによつてROM8
内の8個のデータバンクを1オクターブ毎に切換
える。こゝで折り返し誤差の生じるのは400Hz以
上であるが、データバンク0と1は音質に差を持
たせるために分けている。 つまりROM8はラツチ回路6の出力をアドレ
ス信号として所定のデータバンク内の波形データ
を瞬時的に読出し、発生周波数の高調波分が高く
なつてアドレスのスキツプが生じ折り返し誤差が
生じる恐れがあるとプライオリテイエンコーダ9
からのバンク指定信号により折り返し誤差の生じ
ない所望のデータバンクに切換えられ、そこのデ
ータバンク内の波形データを読出すように働く。 このようにしてROM8より読出された波形デ
ータは次段のラツチ回路10で所定時間ラツチさ
れてタイミング制御回路4からのクロツク信号に
よりタイミングをとられた後外部回路へ送出され
る。 第5図は本発明に係るデイジタル波形発生回路
の具体的な回路構成を示すもので第1図と対応す
る部分には同一符号を付して説明する。 第5図において11は発生周波数に応じて上記
(1)式で決定される加数nが設定されるゲート回
路、12は1チヤンネル内の各ワードWおよび複
数個のチヤンネルCHをそれぞれ4ビツトの情報
として設定するための比較器であつて、この比較
器12は後述されるアドレスカウンタからのワー
ドアドレス信号、チヤンネルアドレス信号がそれ
ぞれ設定したワード、チヤンネルの情報と一致す
るとオア回路13を介してゲート回路11のゲー
トを開くように働く。この際比較器12に上記ワ
ードおよびチヤンネルの情報が設定されると、そ
の状態が付勢信号ENで表わされ、これらのデー
タがゲート回路11に入力されると、そのことが
応答信号RQで表わされる。ゲート回路11、比
較器12およびオア回路13は第1図の定数設定
回路2に対応している。 RAM3は上述したような機能を有し端子WE
のレベルが“0”の時アドレス信号に対応した位
置にデータを書込み、端子OEが“0”の時記録
されているデータを読出すように働く。14は例
えば4MHzのシステムクロツクを発生するための
発振器、15は10進カウンタ、16は16進(4ビ
ツト)カウンタであつて、カウンタ15および1
6によりアドレスカウンタを構成する。カウンタ
15の出力は1チヤンネル内の各ワード用アドレ
ス信号であり、カウンタ16の出力は複数個のチ
ヤンネル例えば16チヤンネル用アドレス信号であ
る。 17および18はそれぞれアンド回路およびオ
ア回路であつて、比較器12の出力と、カウンタ
15の出力をインバータ19で反転した出力とを
アンド回路17で論理処理してその出力が“0”
のときオア回路18を介してRAM3の端子WE
を0となしゲート回路11からのデータすなわち
設定された加数nをRAM3に書込ませる。 20はRAM3の端子OEが“0”で読出され
る所定ワードに対応した加数をラツチするための
ラツチ回路、21は次のタイムスロツトでRAM
3より読出される上記所定ワードの被加数とラツ
チ回路20にラツチされている加数を加算するた
めの加算器、22はキヤリセーブ用のD型フリツ
プフロツプ回路であつて、加算器21の上位への
桁上げ信号はフリツプフロツプ回路22を介して
再び加算器21へ下位からの桁上げ信号として帰
還される。加算器21、フリツプフロツプ回路2
2、ラツチ回路20および24は第1図の加算回
路5に対応している。23はフリツプフロツプ2
2のクロツクパルスを作るためのナンド回路であ
つて、発振器14およびカウンタ15の出力を論
理処理して作る。 24は加算器21で加算された結果をラツチす
るためのラツチ回路であつて例えばD型フリツプ
フロツプ回路が用いられる。ラツチ回路24の結
果は複数個のラツチ回路25,26,27および
28に供給されると共に、読出したワードの被加
数のアドレス位置に書込れるべくRAM3に戻さ
れる。ラツチ回路25および26は第1図のラツ
チ回路8に対応し、ラツチ回路27および28は
第1図のラツチ回路9に対応している。従つてラ
ツチ回路25および26は被加数のデータを見て
おり、ラツチ回路27および28は加数のデータ
を見ている。 29はカウンタ15のアドレス信号に応答して
ラツチ回路25〜28へ被加数、加数のデータを
取込むか否かのタイミングをとるためのデコーダ
であつて、こゝでは例えばラツチ回路25は第3
図に示すRAM3のアドレス07に対応するアドレ
ス信号のときワードW3の被加数3を取込み、ラ
ツチ回路26はアドレス09に対応するアドレス信
号のときワードW4の被加数4を取込み、ラツチ
回路27はアドレス06に対応するアドレス信号の
ときワードW3の加数3を取込み、ラツチ回路2
8はアドレス08に対応するアドレス信号のときワ
ードW4の加数4を取込むように働く。すなわち
ラツチ回路25と26は奇数アドレスに対応する
アドレス信号のとき対応するワードの被加数をラ
ツチし、ラツチ回路27と28は偶数アドレスに
対応するアドレス信号のとき対応するワードの加
数をラツチするように働く。発振器14、10進カ
ウンタ15、16進カウンタ16、デコーダ29お
よびその他の論理ゲートが第1図のタイミング制
御回路4に対応している。 次に本発明に係るデイジタル波形発生回路の動
作を第3図および第4図参照しながら詳しく説明
する。 いまRAM3を第3図に示すようなメモリマツ
プで動作させるものとすると、先ずチヤンネル
CH0のワードW0の加数0がアドレスカウンタか
らのアドレス信号に応答してRAM3のアドレス
00から第4図Dに示すような第1のタイムスロツ
トT1で読出されてラツチ回路20にラツチされ
る。そしてアドレスカウンタからのアドレス信号
と比較器12に設定されているワードとチヤンネ
ルの情報が一致すると、すなわちこの場合チヤン
ネルCH0でワードW0の情報と一致すると第1図
Dの第2のタイムスロツトT2でワードW0の加数
0がゲート回路11を通してRAM3のアドレス
00の位置に書込まれる。 次に第1図Dの第3のタイムスロツトT3でワ
ードW0の被加数0がRAM3のアドレス01より読
出されて加算器21に供給される。加算器21は
ラツチ回路20にラツチされているワードW0
加数0と続いて読み出されたワードW0の被加数
0を加算し、この結果を次段のラツチ回路24に
ラツチする。ラツチ回路24に記憶されている結
果は発振器14からのタイミング信号により
RAM3のワードW0のアドレス01に再び書込まれ
る。この動作が順次チヤンネルCH0の各ワードに
付いて繰返される。 また、ラツチ回路24の出力はラツチ回路25
〜28にも供給され、ラツチ回路25および26
はデコーダ29でデコードされた上位ビツトのア
ドレス信号により各チヤンネルの上位のワードの
被加数をラツチする。第5図ではラツチ回路25
はワードW3の被加数3をラツチし、ラツチ回路
26はワードW4の被加数4をラツチする場合を
示している。一方ラツチ回路27および28は各
ワードの加数を見ており、デコーダ29からのア
ドレス信号により各チヤンネルの上位のワードの
加数をラツチする。第5図ではラツチ回路27は
ワードW3の加数をラツチし、ラツチ回路28は
ワードW4の加数4をラツチする場合を示してい
る。 ラツチ回路25および26の出力はROM8の
複数個のデータバンクに予め記憶されている波形
データを読み出すための瞬時アドレスとして順次
ROM8に供給され、一方ラツチ回路27および
28の出力はROM8の各データバンクを指定す
るための信号を作るためプライオリテイエンコー
ダ9に供給される。プライオリテイエンコーダ9
はラツチ回路27および28から供給される加数
のうち“1”である最上位ビツトが例えば上記表
のD12〜D18のいずれであるかによつてROM8の
データバンクを切換え折り返し誤差を生じないよ
うにする。 この結果ROM8からは指定されたデータバン
クの波形データが読み出され、次いでラツチ回路
10でタイミングを取つて外部に送出される。 このようにして読出された波形データはD/A
変換した後、アナログ式電圧制御増幅器
(VCA)、エンベロープ発生器(EG)等を用いて
処理してもよく、或いは全デイジタル化電子楽器
用として用いてもよい。 なおROM8に予め設定しておく波形データ
は、三角波、鋸歯状波等のほか、実際に録音した
楽器音の1周期分を量子化して用いることもでき
る。またこの波形データは正弦波のみとし、各チ
ヤンネル周波数をそれぞれ高調波周波数に設定し
て正弦波合成式の音源装置とすることもできる。
その場合には高調波に非調和性を含ませること
や、それぞれに独立のエンベロープを持たせるこ
とが可能で、より自然で多彩な音色が合成でき
る。 上述の如く本発明に係るデイジタル波形発生回
路によれば、予め所定の帯域制限された複数個の
波形データバンクを設け、発生周波数の高調成分
が高くなつてアドレスのスキツプが生じ折り返し
誤差が生じる恐れがあるとプライオリテイエンコ
ーダからのバンク指定信号により所望のデータに
切換えるように構成したので、迅速且つ確実に折
り返し誤差を防止することができ、構成も簡単と
なる。また本発明は折り返し誤差のみならず音域
に応じて音質を変えたい場合にも有用である。 更にプライオリテイエンコーダを使用したので
発生周波数のオクターブ検出とバンク切換えを容
易に行うことができ、しかもその切換速度は高速
の為多チヤンネル多重方式にも十分追従すること
ができる。 なお、上述の実施例において波形データメモリ
用としてROMを用いた場合に付いて説明した
が、ROMの代りにRAMを用いその内容を別の
CPU制御等で時間的に変化させることにより発
生スペクトルの時間変化を作ることができる。ま
た上述の実施例では波形データの各バンクを同一
サイズとしているが、帯域制限されたバンクはデ
ータサンプル数を少くすることができる。 また波形発生器のチヤンネル数は演算速度を上
げることが可能ならば更に増加することができ、
しかも各チヤンネルの周波数設定は低速でインタ
フエースできるのでマイクロプロセツサ等を用い
たジエネレータアサイナすなわち波形発生器に周
波数を割当てる回路の設計が可能となる。
[Table] Therefore, the priority encoder 9 selects whether the most significant bit, which is "1", of the addend supplied from the latch circuit 7 is stored in the ROM 8 by any one of D12 to D18 .
The eight data banks are switched every octave. Here, aliasing errors occur above 400 Hz, but data banks 0 and 1 are separated to provide a difference in sound quality. In other words, the ROM 8 uses the output of the latch circuit 6 as an address signal to instantaneously read the waveform data in a predetermined data bank. Tei encoder 9
The data bank is switched to a desired data bank in which no aliasing error occurs by a bank designation signal from the data bank, and the waveform data in that data bank is read out. The waveform data read out from the ROM 8 in this manner is latched for a predetermined period of time by the next-stage latch circuit 10, and after being timed by the clock signal from the timing control circuit 4, is sent to an external circuit. FIG. 5 shows a specific circuit configuration of a digital waveform generating circuit according to the present invention, and parts corresponding to those in FIG. 1 are given the same reference numerals and will be explained. In Figure 5, 11 is the above according to the frequency of occurrence.
A gate circuit in which the addend n determined by equation (1) is set; 12 is a comparator for setting each word W in one channel and a plurality of channels CH as 4-bit information, This comparator 12 operates to open the gate of the gate circuit 11 via the OR circuit 13 when a word address signal and a channel address signal from an address counter, which will be described later, match the respectively set word and channel information. At this time, when the word and channel information is set in the comparator 12, that state is represented by the activation signal EN, and when these data are input to the gate circuit 11, this is indicated by the response signal RQ. expressed. Gate circuit 11, comparator 12 and OR circuit 13 correspond to constant setting circuit 2 in FIG. RAM3 has the functions described above and the terminal WE
When the level of the terminal OE is "0", data is written to the position corresponding to the address signal, and when the terminal OE is "0", the recorded data is read. For example, 14 is an oscillator for generating a 4MHz system clock, 15 is a decimal counter, and 16 is a hexadecimal (4-bit) counter.
6 constitutes an address counter. The output of the counter 15 is an address signal for each word in one channel, and the output of the counter 16 is an address signal for a plurality of channels, for example, 16 channels. 17 and 18 are an AND circuit and an OR circuit, respectively, and the AND circuit 17 logically processes the output of the comparator 12 and the output obtained by inverting the output of the counter 15 by the inverter 19, and the output is "0".
When the terminal WE of RAM3 is connected via the OR circuit 18,
is set to 0, and the data from the gate circuit 11, that is, the set addend n, is written into the RAM 3. 20 is a latch circuit for latching the addend corresponding to a predetermined word read when terminal OE of RAM3 is "0"; 21 is a latch circuit for latching the addend corresponding to a predetermined word read when terminal OE of RAM3 is "0";
3 is an addend for adding the summand of the predetermined word read from the addend latched in the latch circuit 20; 22 is a D-type flip-flop circuit for carry saving; The carry signal is fed back to the adder 21 via the flip-flop circuit 22 as a carry signal from the lower order. Adder 21, flip-flop circuit 2
2. Latch circuits 20 and 24 correspond to adder circuit 5 in FIG. 23 is flip-flop 2
This is a NAND circuit for generating two clock pulses, and is generated by logically processing the outputs of the oscillator 14 and counter 15. Reference numeral 24 denotes a latch circuit for latching the result added by the adder 21, and a D-type flip-flop circuit, for example, is used. The result of latch circuit 24 is supplied to a plurality of latch circuits 25, 26, 27 and 28, and is returned to RAM 3 to be written to the address location of the summand of the read word. Latch circuits 25 and 26 correspond to latch circuit 8 of FIG. 1, and latch circuits 27 and 28 correspond to latch circuit 9 of FIG. Therefore, latch circuits 25 and 26 are looking at the summand data, and latch circuits 27 and 28 are looking at the addend data. Reference numeral 29 denotes a decoder for timing whether or not to take in the data of the summand and the addend into the latch circuits 25 to 28 in response to the address signal of the counter 15. In this case, for example, the latch circuit 25 Third
When the address signal corresponds to address 07 of RAM 3 shown in the figure, the summand 3 of word W 3 is taken in, and when the address signal corresponds to address 09, the latch circuit 26 takes in the summand 4 of word W 4 and latches it. The circuit 27 receives the addend 3 of the word W3 when the address signal corresponds to address 06, and the latch circuit 2
8 serves to capture the addend 4 of word W 4 when the address signal corresponds to address 08. That is, latch circuits 25 and 26 latch the addend of the corresponding word when the address signal corresponds to an odd address, and latch circuits 27 and 28 latch the addend of the corresponding word when the address signal corresponds to an even address. Work as you would. The oscillator 14, decimal counter 15, hexadecimal counter 16, decoder 29 and other logic gates correspond to the timing control circuit 4 of FIG. Next, the operation of the digital waveform generating circuit according to the present invention will be explained in detail with reference to FIGS. 3 and 4. Assuming that RAM3 is operated with the memory map shown in Figure 3, first the channel
The addend 0 of word W 0 of CH 0 responds to the address signal from the address counter and sets the address of RAM3.
00 to the first time slot T1 as shown in FIG. 4D and latched into the latch circuit 20. When the address signal from the address counter matches the word and channel information set in the comparator 12, that is, in this case, when channel CH 0 matches the word W 0 information, the second time slot shown in FIG. At T 2 , the addend 0 of the word W 0 passes through the gate circuit 11 to the address of RAM 3.
Written to position 00. Next, in the third time slot T3 of FIG . The adder 21 adds the addend 0 of the word W 0 latched in the latch circuit 20 and the summand 0 of the subsequently read word W 0 , and latches this result in the latch circuit 24 at the next stage. . The result stored in the latch circuit 24 is determined by the timing signal from the oscillator 14.
It is written again to address 01 of word W 0 of RAM3. This operation is repeated for each word of channel CH 0 in turn. Further, the output of the latch circuit 24 is output from the latch circuit 25.
~28 and latch circuits 25 and 26
latches the summand of the upper word of each channel by the address signal of the upper bit decoded by the decoder 29. In FIG. 5, the latch circuit 25
shows the case where the summand 3 of word W 3 is latched, and the latch circuit 26 latches the summand 4 of word W 4 . On the other hand, latch circuits 27 and 28 look at the addend of each word, and use the address signal from decoder 29 to latch the addend of the upper word of each channel. In FIG. 5, latch circuit 27 latches the addend of word W3 , and latch circuit 28 latches the addend 4 of word W4 . The outputs of the latch circuits 25 and 26 are sequentially used as instantaneous addresses for reading waveform data stored in advance in multiple data banks of the ROM 8.
The outputs of latch circuits 27 and 28 are supplied to a priority encoder 9 for producing signals for specifying each data bank of ROM8. Priority encoder 9
The data bank of the ROM 8 is switched depending on whether the most significant bit, which is "1", of the addends supplied from the latch circuits 27 and 28 is, for example, one of D12 to D18 in the above table, and an aliasing error occurs. Make sure there is no such thing. As a result, the waveform data of the designated data bank is read out from the ROM 8, and then sent out to the outside with timing set by the latch circuit 10. The waveform data read in this way is D/A
After conversion, it may be processed using an analog voltage controlled amplifier (VCA), an envelope generator (EG), etc., or it may be used for an all-digital electronic musical instrument. Note that the waveform data preset in the ROM 8 may be a triangular wave, a sawtooth wave, etc., or a quantized one-cycle portion of an actually recorded musical instrument sound may be used. Further, this waveform data may be only a sine wave, and each channel frequency may be set to a harmonic frequency to provide a sine wave synthesis type sound source device.
In that case, it is possible to include anharmonicity in the harmonics, and to give each harmonic an independent envelope, making it possible to synthesize more natural and diverse tones. As described above, according to the digital waveform generation circuit according to the present invention, a plurality of waveform data banks with a predetermined band limit are provided in advance, and the harmonic components of the generated frequency become high, which may cause address skips and aliasing errors. Since the configuration is configured such that if there is a bank designation signal from the priority encoder, the data is switched to the desired data, aliasing errors can be quickly and reliably prevented, and the configuration can be simplified. The present invention is also useful when it is desired to change the sound quality not only according to the aliasing error but also according to the sound range. Furthermore, since a priority encoder is used, octave detection of the generated frequency and bank switching can be easily performed, and since the switching speed is high, it can sufficiently follow multi-channel multiplexing systems. In the above embodiment, the case where ROM was used for waveform data memory was explained, but it is also possible to use RAM instead of ROM and store its contents separately.
By changing the spectrum over time using CPU control, etc., it is possible to create temporal changes in the generated spectrum. Further, in the above-described embodiment, each bank of waveform data has the same size, but the number of data samples can be reduced in a band-limited bank. In addition, the number of channels of the waveform generator can be further increased if it is possible to increase the calculation speed.
Moreover, since the frequency settings of each channel can be interfaced at low speed, it is possible to design a generator assigner, that is, a circuit that allocates frequencies to a waveform generator using a microprocessor or the like.

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

第1図〜第5図は本発明の一実施例を示すもの
で、第1図はその基本的な構成を示すブロツク
図、第2図〜第4図はその動作説明に供するため
の略線図、第5図はその具体的な回路構成を示す
ブロツク図である。 2は定数設定回路、3はランダムアクセスメモ
リ(RAM)、4はタイミング制御回路、5は加
算回路、6,7,10はラツチ回路、8はリード
オンリイメモリ(ROM)、9はプライオリテイ
エンコーダである。
1 to 5 show one embodiment of the present invention, FIG. 1 is a block diagram showing its basic configuration, and FIGS. 2 to 4 are schematic lines for explaining its operation. 5 are block diagrams showing the specific circuit configuration thereof. 2 is a constant setting circuit, 3 is a random access memory (RAM), 4 is a timing control circuit, 5 is an adder circuit, 6, 7, and 10 are latch circuits, 8 is a read-only memory (ROM), and 9 is a priority encoder. be.

Claims (1)

【特許請求の範囲】 1 タイミング制御手段の第1のタイムスロツト
で前半のアドレスに記憶されている周波数設定用
の加数を読出し、第2のタイムスロツトでその空
いたアドレスに加数を周波数設定手段から書込
み、第3のタイムスロツトで後半のアドレスに記
憶されている被加数を読出し、第4のタイムスロ
ツトで読出された上記加数と被加数を加算してそ
の加算結果を上記後半のアドレスに書込むように
なされた第1のメモリと、 所定の帯域制限された複数の波形データバンク
を有する第2のメモリと、 上記第1のメモリから読出された加数及び被加
数をラツチするラツチ手段とを備え、 上記ラツチ手段の加数を判別して所定の周波数
範囲毎に上記第2のメモリの高調波含有次数が異
なる複数の波形データバンクを切換えると共に被
加数により上記第2のメモリのアドレスを指定し
て波形データを読出すようにしたことを特徴とす
るデイジタル波形発生回路。
[Claims] 1. The first time slot of the timing control means reads out the addend for frequency setting stored in the first half address, and the second time slot sets the addend to the vacant address. The addend stored in the second half address is read in the third time slot, the summand is added to the summand read out in the fourth time slot, and the addition result is stored in the second half of the address. a second memory having a plurality of waveform data banks with a predetermined band limit; and latching means for latching, which determines the addend of the latching means and switches between a plurality of waveform data banks having different orders of harmonic content in the second memory for each predetermined frequency range, and also switches between a plurality of waveform data banks having different orders of harmonic content in the second memory according to the summand. 1. A digital waveform generation circuit characterized in that waveform data is read by specifying an address in a memory.
JP4132579A 1979-04-05 1979-04-05 Digital waveform gneration circuit Granted JPS55134899A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4132579A JPS55134899A (en) 1979-04-05 1979-04-05 Digital waveform gneration circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4132579A JPS55134899A (en) 1979-04-05 1979-04-05 Digital waveform gneration circuit

Publications (2)

Publication Number Publication Date
JPS55134899A JPS55134899A (en) 1980-10-21
JPS6325360B2 true JPS6325360B2 (en) 1988-05-25

Family

ID=12605362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4132579A Granted JPS55134899A (en) 1979-04-05 1979-04-05 Digital waveform gneration circuit

Country Status (1)

Country Link
JP (1) JPS55134899A (en)

Also Published As

Publication number Publication date
JPS55134899A (en) 1980-10-21

Similar Documents

Publication Publication Date Title
US4184400A (en) Electronic musical instrument utilizing data processing system
US4336736A (en) Electronic musical instrument
US4338674A (en) Digital waveform generating apparatus
US4119005A (en) System for generating tone source waveshapes
EP0013490A1 (en) An output processing system for a digital electronic musical instrument
US4202234A (en) Digital generator for musical notes
US5007323A (en) Polyphonic electronic musical instrument
US4562763A (en) Waveform information generating system
US5298672A (en) Electronic musical instrument with memory read sequence control
US5340940A (en) Musical tone generation apparatus capable of writing/reading parameters at high speed
USRE31648E (en) System for generating tone source waveshapes
JPS6325360B2 (en)
JP2576614B2 (en) Processing equipment
US4338844A (en) Tone source circuit for electronic musical instruments
JP3561939B2 (en) Waveform memory sound source
JP2584054B2 (en) Parameter signal generator
US4467688A (en) Polyphonic musical tone generator
US5817964A (en) Electronic musical instrument and method for storing a plurality of waveform sampling data at a single address
JPH0679225B2 (en) Noise reduction device for electronic musical instruments
JPH0664474B2 (en) Extended Harmonic Device in Compound Sound Synthesizer
JP2615544B2 (en) Electronic musical instrument sound generator
GB2040537A (en) Digital electronic musical instrument
JPS5846036B2 (en) electronic musical instruments
JPS5821796A (en) Electronic musical instrument
JPH03204695A (en) Musical sound synthesizing device