JPH08221075A - Musical sound signal generating device - Google Patents

Musical sound signal generating device

Info

Publication number
JPH08221075A
JPH08221075A JP7293747A JP29374795A JPH08221075A JP H08221075 A JPH08221075 A JP H08221075A JP 7293747 A JP7293747 A JP 7293747A JP 29374795 A JP29374795 A JP 29374795A JP H08221075 A JPH08221075 A JP H08221075A
Authority
JP
Japan
Prior art keywords
waveform
data
waveform data
sampling
sampling data
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.)
Granted
Application number
JP7293747A
Other languages
Japanese (ja)
Other versions
JP2944069B2 (en
Inventor
Tsutomu Saito
勉 齋藤
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing 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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP7293747A priority Critical patent/JP2944069B2/en
Publication of JPH08221075A publication Critical patent/JPH08221075A/en
Application granted granted Critical
Publication of JP2944069B2 publication Critical patent/JP2944069B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE: To suppress the occurrence of the cumulative error of the waveform data in waveform reproduction by an ADPCM system and a DPCM system by respectively providing a waveform storage means, a read-out means, a temporary storage means, a decoding means and a musical sound signal generation means specified. CONSTITUTION: The waveform storage means stores the specified waveform data Wj formed based on the specified sampling data Dj selected from the sampling data Di of a musical sound waveform and the difference waveform data ΔWDn obtained subtracting the sampling data Dn-1 from the sampling data Dn . The read-out means reads out successively the Wj or the ΔWDn from the waveform storage means. The decoding means generates the sampling data YDj when the read-out means reads out the Wj to store them in the temporary storage means, and cumulates the ΔWDn in the temporary storage means when the read-out means reads out the ΔWDn to generate the sampling data YDn . The musical sound signal generation means generates a musical sound signal based on the obtained sampling data YDj or YDn .

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、予め波形メモリに
記憶されている波形データに基づいて楽音信号を発生す
る楽音信号発生装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical tone signal generator which generates a musical tone signal based on waveform data stored in a waveform memory in advance.

【0002】[0002]

【従来の技術】従来の電子楽器は楽音信号発生装置を有
している。この楽音信号発生装置は、予め波形メモリに
記憶されている波形データに基づいて楽音信号を発生す
る。波形メモリには、例えばPCM形式の波形データが
記憶されている。PCMデータは、楽音波形を所定周期
でサンプリングし、量子化し、更に符号化することによ
り作製される。そして、PCMデータは、発音指示に応
じて、波形メモリから順次読み出され、この読み出され
たPCMデータに基づいて楽音信号が発生される。
2. Description of the Related Art A conventional electronic musical instrument has a tone signal generator. This tone signal generator generates tone signals based on the waveform data stored in advance in the waveform memory. Waveform data in, for example, PCM format is stored in the waveform memory. The PCM data is created by sampling a tone waveform at a predetermined cycle, quantizing it, and further encoding it. Then, the PCM data is sequentially read from the waveform memory according to the sounding instruction, and a musical tone signal is generated based on the read PCM data.

【0003】このような楽音信号発生装置においては、
多数の音色に対応した楽音信号を発生るために、膨大な
量のPCMデータを予め波形メモリに記憶しておく必要
がある。そこで、波形データの量を減らすために、PC
Mデータを圧縮して波形メモリに記憶しておき、楽音発
生時に、波形メモリからの圧縮された波形データを伸張
する方法が提案されている。かかる方法として、例えば
ADPCM(AdaptiveDifferential Pulse Code Modula
tion)方式やDPCM(Differential PulseCode Modul
ation)方式が知られている。これらの方式において
は、楽音波形の隣り合うサンプル点におけるサンプリン
グデータ間の差を計算することにより作製された差分波
形データが波形メモリに記憶され、楽音発生時に、波形
メモリからの差分波形データが累算されることにより楽
音信号が再生される。
In such a tone signal generator,
In order to generate a tone signal corresponding to a large number of tones, it is necessary to store a huge amount of PCM data in the waveform memory in advance. Therefore, in order to reduce the amount of waveform data,
A method has been proposed in which M data is compressed and stored in a waveform memory, and the compressed waveform data from the waveform memory is expanded when a musical sound is generated. As such a method, for example, ADPCM (Adaptive Differential Pulse Code Modula)
method or DPCM (Differential PulseCode Modul)
ation) method is known. In these methods, the difference waveform data created by calculating the difference between the sampling data at the adjacent sample points of the tone waveform is stored in the waveform memory, and when the tone is generated, the difference waveform data from the waveform memory is accumulated. A musical tone signal is reproduced by being calculated.

【0004】また、波形メモリに記憶すべき波形データ
の量を減らすために、以下の方法も一般的に採用されて
いる。即ち、例えば図12に示すように、楽音波形の先
頭の所定区間(アタック部)と、それに続く楽音波形の
所定区間(リピート部)とだけが波形メモリに記憶され
る。そして、楽音信号発生時は、アタック部がその先頭
から1回だけ読み出され、その後リピート部が繰り返し
て読み出される。楽音信号発生装置は、この読み出され
た波形データに基づき楽音信号を発生する。
The following method is also generally adopted in order to reduce the amount of waveform data to be stored in the waveform memory. That is, for example, as shown in FIG. 12, only a predetermined section (attack section) at the beginning of the musical tone waveform and a predetermined section (repeat section) of the subsequent musical tone waveform are stored in the waveform memory. Then, when a musical tone signal is generated, the attack portion is read only once from the beginning, and then the repeat portion is repeatedly read. The tone signal generator generates a tone signal based on the read waveform data.

【0005】しかしながら、従来、上述したADPCM
方式やDPCM方式は、電子楽器用の楽音信号発生装置
として採用されることは少なかった。それは、以下の第
1の問題及び第2の問題が存在していたからである。第
1の問題は、リピート部の波形データが繰り返し累算さ
れる方式を採用すると、累積誤差が発生するという問題
である。第2の問題は、サンプリングされた楽音波形は
離散的であるので、所望の音高を有する楽音を発生する
ために接する2つのサンプリング点の間で補間をとる必
要があるが、この補間のための回路が複雑になるという
問題である。
However, the above-mentioned ADPCM has been conventionally used.
The system and the DPCM system were rarely adopted as a musical tone signal generator for electronic musical instruments. This is because the following first problem and second problem existed. The first problem is that a cumulative error occurs when a method of repeatedly accumulating the waveform data of the repeat part is adopted. The second problem is that since the sampled musical tone waveform is discrete, it is necessary to interpolate between two adjacent sampling points in order to generate a musical tone having a desired pitch. The problem is that the circuit of becomes complicated.

【0006】上述したような問題を有するものの、AD
PCM方式又はDPCM方式は波形データの量を少なく
できるので、実用化のための研究は盛んである。例え
ば、上記第1の問題を解決するものとして、特開昭62
−242995号公報に「楽音信号発生装置」が開示さ
れている。この装置は、繰り返し読み出されている符号
化された波形データを復号する際に、アタック部の最後
のデータをリピート部の先頭部分で必ず使用することに
より累積誤差を除去する。
Despite the problems described above, AD
Since the PCM method or the DPCM method can reduce the amount of waveform data, research for practical use is active. For example, as a means for solving the first problem described above, Japanese Patent Laid-Open No. Sho 62-62
No. 242995 discloses a "tone signal generator". This device eliminates the accumulated error by always using the last data of the attack part at the head part of the repeat part when decoding the coded waveform data which is repeatedly read.

【0007】しかし、この楽音信号発生装置では、リピ
ート部の先頭であるかどうかを判断するための比較回路
やセレクタ107及び117、アタックエンド時のデー
タ(Δn、Sn+εn)を記憶しておくラッチ106及
び118等が必要であるので、回路が複雑になるという
欠点がある。また、この特開昭62−242995号公
報に開示された方式では、波形データが複数のリピート
部を含む場合は制御方法が複雑になるので、回路が複雑
になるという欠点がある。
However, in this tone signal generator, a comparison circuit for determining whether or not it is the head of the repeat section, selectors 107 and 117, and a latch 106 for storing data (Δn, Sn + εn) at the time of attack end. And 118 and the like are required, so that there is a drawback that the circuit becomes complicated. Further, the method disclosed in Japanese Patent Laid-Open No. 62-242995 has a drawback that the control method becomes complicated when the waveform data includes a plurality of repeat parts, and the circuit becomes complicated.

【0008】また、上記第2の問題については、未だ解
決されていない。例えば周波数ナンバ(Fナンバ)が
「1」に固定されていれば、波形メモリから波形データ
を読み出すための波形読出アドレスは順次「+1」され
るので補間の必要はない。しかし、実際の電子楽器は、
チューン機能(ピッチレベルを楽器全体としてセント単
位でずらす機能)、ポルタメント機能、グライド機能等
を必要とするので、細かな音程の制御を行うための補間
を行うことが必要である。音高によっては1つのサンプ
リングデータに複数回アクセスしながら楽音を生成する
という複雑な制御が要求されるので、補間は複雑な制御
回路を必要とする。
The second problem has not been solved yet. For example, if the frequency number (F number) is fixed at "1", the waveform read address for reading the waveform data from the waveform memory is sequentially incremented by "+1", so that interpolation is not necessary. However, the actual electronic musical instrument is
Since it requires a tune function (a function that shifts the pitch level in cents for the entire instrument), a portamento function, a glide function, etc., it is necessary to perform interpolation for fine pitch control. Interpolation requires a complicated control circuit because complicated control is required to generate a musical sound by accessing one sampling data multiple times depending on the pitch.

【0009】[0009]

【発明が解決しようとする課題】本発明は、上述した問
題を解消するためになされたもので、簡単な回路構成で
あるにも拘わらず、ADPCM方式やDPCM方式によ
って楽音信号が再生される時に、波形データの繰り返し
読み出しに起因する累積誤差の発生を抑止でき、また、
繰り返し読み出しでない時の累積誤差をも抑止できる楽
音信号発生装置を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-mentioned problems, and when a tone signal is reproduced by the ADPCM system or the DPCM system, it has a simple circuit structure. , It is possible to suppress the generation of cumulative error due to repeated reading of waveform data, and
It is an object of the present invention to provide a musical tone signal generator capable of suppressing the accumulated error when not being repeatedly read.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明の楽音信号発生装置は、(A)楽音波形をサ
ンプリング点Pi(但し、i=0,1,2,・・・,N
−1)でサンプリングすることにより得られたサンプリ
ングデータDiから選ばれた特定サンプリングデータDj
(但し、0≦j≦N−1)に基づいて作製された特定波
形データWjと、サンプリングデータDn(但し、n=
1,2,・・・N−1であり、且つn≠j)からサンプ
リングデータDn-1を減算して得られた差分波形データ
ΔWDnとを記憶した波形記憶手段と、(B)該波形記
憶手段から、特定波形データWj又は差分波形データΔ
WDnを、順次読み出す読出手段と、(C)一時記憶手
段と、(D)該読出手段が特定波形データWjを読み出
した場合にサンプリングデータYDjを生成し、該サン
プリングデータYDjを一時記憶手段に格納し、該読出
手段が差分波形データΔWDnを読み出した場合に該差
分波形データΔWDnを一時記憶手段に累算し、以てサ
ンプリングデータYDnを生成する復号手段と、(E)
得られたサンプリングデータYDj若しくはYDnに基づ
き楽音信号を発生する楽音信号発生手段、とを備えてい
る。
In order to achieve the above-mentioned object, the tone signal generator of the present invention uses (A) a tone waveform at a sampling point P i (where i = 0, 1, 2, ... , N
-1) Specific sampling data D j selected from sampling data D i obtained by sampling in
(However, 0 ≦ j ≦ N−1) specific waveform data W j and sampling data D n (where n =
1, 2, ... N−1, and waveform storage means for storing differential waveform data ΔWD n obtained by subtracting the sampling data D n−1 from n ≠ j), and (B) From the waveform storage means, the specific waveform data W j or the differential waveform data Δ
A reading means for sequentially reading WD n , (C) temporary storage means, and (D) sampling data YD j is generated when the reading means reads the specific waveform data W j , and the sampling data YD j is temporarily stored. A decoding means for storing in the storage means, accumulating the difference waveform data ΔWD n in the temporary storage means when the reading means reads the difference waveform data ΔWD n , and thereby generating sampling data YD n ; )
Tone signal generating means for generating a tone signal based on the obtained sampling data YD j or YD n .

【0011】波形記憶手段に格納される特定波形データ
j及び差分波形データΔWDnは、例えば、次のように
して作製される。先ず、例えば図12に示すように、楽
音波形のアタック部とそれに続く所定区間のリピート部
とを抽出する。次いで、これら抽出されたアタック部と
リピート部とを所定周期でサンプリングして複数のサン
プリングデータDi(i=0,1,2,・・・,N−
1)を得る。特定サンプリングデータDj(0≦j≦N
−1)は、N個のサンプリングDiの中から選ばれる。
特定サンプリングデータDjの内容は、所定値である。
特定サンプリングデータDjの個数は1以上にすること
ができる。特定波形データWjは、この特定サンプリン
グデータDjに基づいて作製(変換)される。特定波形
データWjは、特定サンプリングデータDjと同じ形式、
例えばPCM形式とすることができる。特定波形データ
jの内容は、特定サンプリングデータDjの内容と同一
とすることもできるし、異ならしめることもできる。差
分波形データΔWDnは、サンプリングデータDnからサ
ンプリングデータDn-1を減算することにより得られる
(但し、n=1,2,・・・N−1であり、且つn≠
j)。差分波形データΔWDnは、DPCM形式又はA
DPCM形式である。
The specific waveform data W j and the differential waveform data ΔWD n stored in the waveform storage means are produced, for example, as follows. First, as shown in FIG. 12, for example, a musical tone attack portion and a repeat portion in a predetermined section subsequent thereto are extracted. Next, the extracted attack part and repeat part are sampled at a predetermined cycle to obtain a plurality of sampling data D i (i = 0, 1, 2, ..., N−).
1) is obtained. Specific sampling data D j (0 ≦ j ≦ N
-1) is selected from N samplings D i .
The content of the specific sampling data D j is a predetermined value.
The number of specific sampling data D j can be 1 or more. The specific waveform data W j is created (converted) based on the specific sampling data D j . The specific waveform data W j has the same format as the specific sampling data D j ,
For example, it can be in PCM format. The content of the specific waveform data W j can be the same as or different from the content of the specific sampling data D j . Differential waveform data DerutaWD n is obtained by subtracting the sampling data D n-1 from the sampled data D n (where, n = 1, 2, a · · · N-1, and n ≠
j). The differential waveform data ΔWD n is in DPCM format or A
It is in DPCM format.

【0012】本発明の楽音信号発生装置においては、読
出手段によって各差分波形データΔWDnが波形記憶手
段から読み出された場合は、その差分波形データΔWD
nは、一時記憶手段に累算される。即ち、読み出された
差分波形データΔWDnと一時記憶手段に記憶されてい
るサンプリングデータYDn-1とが演算、例えば加算さ
れ、これによりサンプリングデータYDnが再生され
る。得られたサンプリングデータYDnは、楽音信号を
発生するために使用される。この累算が繰り返されるこ
とにより、サンプリングデータYDn(n=1,2,・
・・)が連続的に更新され、時間の経過に伴って変化す
る楽音信号が発生される。
In the tone signal generating apparatus of the present invention, when the differential waveform data ΔWD n is read out from the waveform storage means by the reading means, the differential waveform data ΔWD.
n is accumulated in the temporary storage means. That is, the read difference waveform data ΔWD n and the sampling data YD n-1 stored in the temporary storage means are calculated, for example, added, and the sampling data YD n is reproduced. The obtained sampling data YD n is used to generate a tone signal. By repeating this accumulation, sampling data YD n (n = 1, 2, ...
..) is continuously updated, and a musical tone signal that changes over time is generated.

【0013】一方、読出手段によって特定波形データW
jが波形記憶手段から読み出された場合は、復号手段は
サンプリングデータYDjを生成する。サンプリングデ
ータYDjの内容は、特定サンプリングデータDjの内容
と同じである。更に、得られたサンプリングデータYD
jは、差分波形データΔWDn(n=j+1,j+2,・
・・)を累算するための初期サンプリングデータとし
て、一時記憶手段に格納される。
On the other hand, the specific waveform data W is read by the reading means.
When j is read from the waveform storage means, the decoding means generates sampling data YD j . The contents of the sampling data YD j are the same as the contents of the specific sampling data D j . Furthermore, the obtained sampling data YD
j is the difference waveform data ΔWD n (n = j + 1, j + 2, ...
..) is stored in the temporary storage means as initial sampling data for accumulating.

【0014】上記の構成によれば、ADPCM方式又は
DPCM方式に特有の累積誤差を除去することができ
る。更に、本楽音信号発生装置によれば、特定波形デー
タWj又は差分波形データΔWDnを繰り返して読み出す
場合に限らず、特定波形データWj又は差分波形データ
ΔWDnを1回だけ読み出す場合も累積誤差を除去する
ことができる。
According to the above configuration, it is possible to eliminate the accumulated error peculiar to the ADPCM system or the DPCM system. Further, according to the musical tone signal generator, not only the case where the specific waveform data W j or the differential waveform data ΔWD n is repeatedly read but also the case where the specific waveform data W j or the differential waveform data ΔWD n is read only once is accumulated. The error can be removed.

【0015】また、本発明の楽音信号発生装置の好まし
い実施態様では、前記読出手段は、音高を指定するため
のFナンバを生成するFナンバ生成手段と、該Fナンバ
生成手段からのFナンバを所定の周期で累算し、以て整
数部と小数部とで成る波形読出アドレスを生成するFナ
ンバ累算手段とを含み、該読出手段は該波形読出アドレ
スの整数部がjの場合は特定波形データWjを、該波形
読出アドレスの整数部がnの場合は差分波形データΔW
nをそれぞれ波形記憶手段から読み出し、前記復号手
段は補間手段を含み、該補間手段は、サンプリングデー
タYDn+1とYDnとの間、又はサンプリングデータYD
j+1とYDjとの間で該波形読出アドレスの小数部の値に
従って補間を行い、以て補間データを得、前記楽音信号
発生手段は、更に該補間データYDに基づいて楽音信号
を生成する。
Further, in a preferred embodiment of the tone signal generating apparatus of the present invention, the reading means is an F number generating means for generating an F number for designating a pitch, and an F number from the F number generating means. And an F number accumulating means for generating a waveform read address composed of an integer part and a decimal part, the read means comprising: The specific waveform data W j is the difference waveform data ΔW when the integer part of the waveform read address is n.
Each D n is read from the waveform storage means, and the decoding means includes an interpolating means, which interpolates between the sampling data YD n + 1 and YD n or the sampling data YD.
Interpolation is performed between j + 1 and YD j according to the value of the decimal part of the waveform read address to obtain interpolation data, and the tone signal generating means further generates a tone signal based on the interpolation data YD. To do.

【0016】この好ましい実施態様においては、例え
ば、キーオンの指示があった場合は、音高を指定するF
ナンバが、Fナンバ生成手段によって発生される。
In this preferred embodiment, for example, when a key-on is instructed, the pitch F is designated.
The number is generated by the F number generating means.

【0017】この好ましい実施態様によれば、細かいピ
ッチの調整が可能な楽音信号発生装置を達成できるとい
う効果が奏される。
According to this preferred embodiment, there is an effect that it is possible to achieve a musical tone signal generator capable of fine pitch adjustment.

【0018】本発明の楽音信号発生装置においては、特
定サンプリングデータDjの内容はゼロとすることがで
きる。特定波形データWjの内容は、例えば、最小値
「8000H」(末尾の「H」は16進数であることを
示す。以下においても同じ。)若しくは最大値「7FF
FH」又はこれらの何れか1つの近傍の値とすることが
できる。この内容は、2の補数形式で表現することがで
きる。通常、差分波形データΔWDnの内容は、上記の
ような値とならない。従って、特定波形データWjは、
差分波形データΔWDnから区別することができる。
In the tone signal generator of the present invention, the content of the specific sampling data D j can be zero. The content of the specific waveform data W j is, for example, the minimum value “8000H” (“H” at the end indicates that it is a hexadecimal number. The same applies below) or the maximum value “7FF.
FH "or a value near any one of these. This content can be expressed in two's complement format. Normally, the content of the difference waveform data ΔWD n does not have the above value. Therefore, the specific waveform data W j is
It can be distinguished from the difference waveform data ΔWD n .

【0019】楽音信号発生時に、特定波形データWj
波形記憶手段から読み出されたときは、それまで一時記
憶手段に累算されることによって再生されたサンプリン
グデータYDn-1は捨てられ、サンプリングデータYDj
の内容が新たなサンプリングデータとして一時記憶手段
にセットされる。これにより、サンプリングデータYD
jから累算が再開される。
When the specific waveform data W j is read out from the waveform storage means when a tone signal is generated, the sampling data YD n-1 reproduced by being accumulated in the temporary storage means until then is discarded, Sampling data YD j
Is set in the temporary storage means as new sampling data. As a result, the sampling data YD
The accumulation is restarted from j .

【0020】楽音波形を実際にサンプリングする場合
に、楽音波形の先頭位置(スタートアドレスSA)、ル
ープ開始位置(ループトップアドレスLT)、ループ終
了位置(ループエンドアドレスLE)のような重要なポ
イントでは特定サンプリングデータDjとなるように選
ばれることが多い。
When actually sampling the tone waveform, at important points such as the beginning position (start address SA), loop start position (loop top address LT), and loop end position (loop end address LE) of the tone waveform. Often selected to be the specific sampling data D j .

【0021】本発明の楽音信号発生装置においては、ま
た、特定サンプリングデータDjの内容は所定の広がり
の範囲内とすることができる。かかる所定の広がりは、
例えば、サンプリングデータDiの内容の許容最大限の
1/256倍とすることができる。この場合、特定サン
プリングデータDjの内容が所定の広がりの範囲内にあ
るので、特定サンプリングデータDjの内容が広がりを
持たない場合と異なり、特定波形データWjを容易に作
製することができる。
In the tone signal generator of the present invention, the content of the specific sampling data D j can be within a predetermined spread range. Such a predetermined spread is
For example, it can be set to 1/256 times the maximum allowable content of the sampling data D i . In this case, since the content of the specific sampling data D j is within the predetermined spread range, the specific waveform data W j can be easily produced, unlike the case where the content of the specific sampling data D j has no spread. .

【0022】本発明の楽音信号発生装置の好ましい実施
態様においては、差分波形データΔWDn-1は、サンプ
リングデータDM-1(但し、1≦M≦N−3)からDN-2
を減算することにより得られ、ここに、jはM<j<N
−1を満足し、前記読出手段は差分波形データΔWD
N-1を読み出した後に、再度、差分波形データΔWDM
読み出す。この好ましい実施態様によれば、値「M」
は、ループトップアドレスLTの内容であり、値「N」
はループエンドアドレスLEの内容である。
In a preferred embodiment of the tone signal generator of the present invention, the differential waveform data ΔWD n-1 is the sampling data D M-1 (where 1≤M≤N-3) to D N-2.
Is obtained by subtracting, where j is M <j <N
−1 is satisfied, the reading means sets the difference waveform data ΔWD.
After reading N-1 , the differential waveform data ΔWD M is read again. According to this preferred embodiment, the value "M"
Is the content of the loop top address LT, and the value "N"
Is the content of the loop end address LE.

【0023】更に、本発明の楽音信号発生装置の好まし
い他の実施態様おいては、特定波形データWjは、j=
Mによって指定される前記波形記憶手段内の位置に記憶
され、前記読出手段は、差分波形データΔWDN-1を読
み出した後に、再度、特定波形データWj(但しj=
M)を読み出す。この好ましい実施態様においては、値
「M」はループトップアドレスLTの内容であり、値
「N」はループエンドアドレスLEの内容である。
Furthermore, in another preferred embodiment of the tone signal generator of the present invention, the specific waveform data W j is j =
The waveform is stored at a position designated by M in the waveform storage means, and the reading means reads the differential waveform data ΔWD N−1 , and then, again, the specific waveform data W j (where j =
Read M). In this preferred embodiment, the value "M" is the content of the loop top address LT and the value "N" is the content of the loop end address LE.

【0024】以上説明したように、本発明の楽音信号発
生装置は、簡単な回路構成であるにも拘わらず、ADP
CMやDPCM方式によって楽音信号が生成される時の
繰り返し読み出しに起因する累積誤差の発生を抑止でき
るばかりでなく、繰り返し読み出しでない時の累積誤差
をも抑止できる。
As described above, the tone signal generating apparatus of the present invention has a simple circuit structure, but has an ADP
Not only is it possible to suppress the occurrence of cumulative errors due to repeated reading when a tone signal is generated by the CM or DPCM method, but it is also possible to suppress cumulative errors when not being repeatedly read.

【0025】[0025]

【発明の実施の形態】以下、本発明の楽音信号発生装置
の実施の形態につき図面を参照しながら詳細に説明す
る。本楽音信号発生装置は、音源回路と、この音源回路
を制御するCPU等で構成される。しかし、CPUの構
成や動作は周知であるので、以下においては、音源回路
の構成及び動作を中心に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of a tone signal generating apparatus of the present invention will be described in detail below with reference to the drawings. The musical tone signal generator is composed of a tone generator circuit and a CPU for controlling the tone generator circuit. However, since the configuration and operation of the CPU are well known, the configuration and operation of the tone generator circuit will be mainly described below.

【0026】(第1の実施形態)第1の実施形態の楽音
信号発生装置は、サンプリングデータの補間を行わない
で楽音信号を発生する。本第1の実施形態の楽音信号発
生装置では、ADPCM形式の差分波形データΔW
n、及びPCM形式の特定波形データWjが使用され
る。
(First Embodiment) The tone signal generator of the first embodiment generates a tone signal without interpolating sampling data. In the tone signal generator of the first embodiment, the differential waveform data ΔW in ADPCM format is used.
D n and specific waveform data W j in PCM format are used.

【0027】ADPCMデータは、図3(A)に示すよ
うに、符号(ビット15)、指数(ビット14、13)
及び仮数(ビット12〜0)でなる浮動小数点形式のデ
ータである。このADPCMデータは、次のようにして
作成される。図4に示すように、楽音波形を、所定周期
で、サンプリング点Pi(i=0,1,2,・・・N−
1)でサンプリングし、量子化し、そして符号化してサ
ンプリングデータDi(i=0,1,2,・・・N−
1)が作製される。このサンプリングデータDiはPC
M形式であり、2の補数形式で表されている。差分波形
データΔWDnは、サンプリングデータDnからサンプリ
ングデータDn-1を減算して得られる。但し、n=0,
1,2,・・・N−1であり、且つn≠jである。差分
波形データΔWDnはDPCM形式であり、2の補数形
式で表されている。従って、正数又は負数の表現が可能
である。例えば、図4に示した例においては、サンプリ
ング点PnとPn-1とにおける各サンプリングデータDn
とDn-1との間の差を表す差分波形データΔWDn(=D
n−Dn-1)は、正数として得られる。サンプリング点P
n+1とPnとにおける各サンプリングデータDn+1とDn
の間の差を表す差分波形データΔWDn+1(=Dn+1−D
n)は、負数として得られる。
As shown in FIG. 3A, the ADPCM data has a sign (bit 15) and an exponent (bits 14 and 13).
And the mantissa (bits 12 to 0) in the floating point format. This ADPCM data is created as follows. As shown in FIG. 4, a musical tone waveform is sampled at a sampling point P i (i = 0, 1, 2, ...
1) sampling, quantizing, and coding to obtain sampling data D i (i = 0, 1, 2, ... N−
1) is produced. This sampling data D i is PC
It is in M format and is represented in 2's complement format. Differential waveform data DerutaWD n is obtained by subtracting the sampling data D n-1 from the sampled data D n. However, n = 0,
1, 2, ... N-1, and n ≠ j. The difference waveform data ΔWD n is in DPCM format and is represented in 2's complement format. Therefore, a positive number or negative number can be expressed. For example, in the example shown in FIG. 4, each sampling data D n at the sampling points P n and P n-1
Differential waveform data ΔWD n (= D representing the difference between the D n-1 and
n −D n−1 ) is obtained as a positive number. Sampling point P
Difference waveform data ΔWD n + 1 (= D n + 1 −D) representing the difference between each sampling data D n + 1 and D n at n + 1 and P n.
n ) is obtained as a negative number.

【0028】このようにして得られた差分波形データΔ
WDn(但し、n=1,2,・・・N−1であり、且つ
n≠j)は、絶対値の大きさに応じた指数を有する浮動
小数点形式データに変換される。この変換により得られ
た差分波形データΔWDnはADPCM形式である。こ
のようにして作成されたADPCM形式の差分波形デー
タΔWDnは、後述する波形メモリ208に格納され
る。波形メモリ208は、本発明の波形記憶手段に対応
する。
Difference waveform data Δ thus obtained
WD n (where n = 1, 2, ... N−1 and n ≠ j) is converted into floating point format data having an exponent according to the magnitude of the absolute value. The difference waveform data ΔWD n obtained by this conversion is in ADPCM format. The differential waveform data ΔWD n in the ADPCM format created in this way is stored in the waveform memory 208 described later. The waveform memory 208 corresponds to the waveform storage means of the present invention.

【0029】上記のようにして差分波形データΔWDn
を作成する過程において、PCM形式のサンプリングデ
ータDjの内容がPCM形式の特定値、例えばゼロ、で
ある場合は、特別の処理が行われる。即ち、この場合
は、PCM形式の特定波形データWjが特定サンプリン
グデータDjに基づいて作製される。特定波形データWj
は、波形メモリ208に記憶される。ここで、特定波形
データWjの内容はZ11と仮定する。
As described above, the difference waveform data ΔWD n
In the process of creating, the special processing is performed when the content of the sampling data D j in the PCM format is a specific value in the PCM format, for example, zero. That is, in this case, the specific waveform data W j in the PCM format is created based on the specific sampling data D j . Specific waveform data W j
Are stored in the waveform memory 208. Here, it is assumed that the content of the specific waveform data W j is Z11.

【0030】以下において、特定波形データWjと複数
の差分波形データΔWDn(n=1,2,・・・N−1
であり、且つn≠j)で成る群を、「波形データ群」と
いう。更に、波形データ群中の特定波形データWj又は
複数の差分波形データΔWDnの中の1つを「波形デー
タ群の波形データ」という。
In the following, the specific waveform data W j and a plurality of differential waveform data ΔWD n (n = 1, 2, ... N-1)
And a group of n ≠ j) is referred to as a “waveform data group”. Further, one of the specific waveform data W j or the plurality of difference waveform data ΔWD n in the waveform data group is referred to as “waveform data of the waveform data group”.

【0031】上記Z11としては、例えば、最小値「8
000H」若しくは最大値「7FFFH」又はこれらの
近傍の値を用いることができる。特定波形データWj
内容Z11は、殆どの場合、差分波形データΔWDn
内容と全く異なる。従って、特定波形データWjは各差
分波形データΔWDnと区別することができる。本第1
の実施の形態では、内容(値)Z11の一例として最小
値「8000H」が用いられる。
As the above Z11, for example, the minimum value "8"
000H "or the maximum value" 7FFFH "or a value in the vicinity thereof can be used. In most cases, the content Z11 of the specific waveform data W j is completely different from the content of the differential waveform data ΔWD n . Therefore, the specific waveform data W j can be distinguished from each difference waveform data ΔWD n . Book first
In the embodiment, the minimum value “8000H” is used as an example of the content (value) Z11.

【0032】本第1の実施形態において、差分波形デー
タΔWDn又は特定波形データWjを波形メモリ208か
ら読み出すための波形読出アドレスは、32ビットのデ
ータで構成されている。波形読出アドレスの下位16ビ
ットは小数アドレス(小数部)として使用される。波形
読出アドレスの上位16ビットは整数アドレス(整数
部)として使用される。
In the first embodiment, the waveform read address for reading the differential waveform data ΔWD n or the specific waveform data W j from the waveform memory 208 is composed of 32-bit data. The lower 16 bits of the waveform read address are used as a decimal address (decimal part). The upper 16 bits of the waveform read address are used as an integer address (integer part).

【0033】ループトップアドレスLTは、16ビット
のデータで構成されている。このループトップアドレス
LTは、波形読出アドレスの整数部に対応する。ループ
エンドアドレスLEは、16ビットのデータで構成され
ている。このループエンドアドレスLEは、波形読出ア
ドレスの整数部に対応する。ループトップアドレスLT
は、波形データ群のリピート部の先頭部分を指定するた
めに使用される。ループエンドアドレスLEは、波形デ
ータ群のリピート部の終端部分を指定するために使用さ
れる。
The loop top address LT is composed of 16-bit data. This loop top address LT corresponds to the integer part of the waveform read address. The loop end address LE is composed of 16-bit data. This loop end address LE corresponds to the integer part of the waveform read address. Loop top address LT
Is used to specify the beginning of the repeat part of the waveform data group. The loop end address LE is used to specify the end portion of the repeat part of the waveform data group.

【0034】図5は、上記のようにして作成された特定
波形データWj及び差分波形データΔWDnが波形メモリ
208へ記憶される様子を示している。即ち、サンプリ
ング点P0、P128においては、それぞれサンプリングデ
ータD0とD128の内容はゼロであるので、PCM形式の
特定波形データWj(j=0とj=128)が生成さ
れ、アドレス「0」及び「128」によって指定される
波形メモリ208の位置に格納される。特定波形データ
j(j=0とj=128)の内容、つまりZ11は本
実施形態では、「8000H」である。他のサンプリン
グ点Pi(i=1,2,・・・,127,129・・
・)においては、サンプリングデータDi(i=1,
2,・・・,127,129・・・)はゼロではないの
で、サンプリングデータDnからサンプリングデータD
n-1が減算されることにより、ADPCM形式の差分波
形データΔWDn(i=1,2,・・・,127,12
9・・・)が得られ、アドレス「1」、「2」、・・・
「127」、「129」・・・で指定される波形メモリ
208の位置に格納される。アドレス「0」によって指
定される波形メモリ208の位置に、特定波形データW
jが格納されないときは、サンプリングデータD0の内容
がアドレス「0」によって指定される波形メモリ208
の位置に記憶される。本第1の実施形態では、ループト
ップアドレスLT(M)は「128」である。即ち、ル
ープトップアドレスLT(M=「128」)によって指
定される波形メモリ208の内容は、特定波形データW
j(j=128)である。
FIG. 5 shows how the specific waveform data W j and the differential waveform data ΔWD n created as described above are stored in the waveform memory 208. That is, at the sampling points P 0 and P 128 , since the contents of the sampling data D 0 and D 128 are zero, the specific waveform data W j (j = 0 and j = 128) in the PCM format is generated and the address is generated. It is stored in the position of the waveform memory 208 designated by “0” and “128”. The content of the specific waveform data W j (j = 0 and j = 128), that is, Z11 is “8000H” in this embodiment. Other sampling points P i (i = 1, 2, ..., 127, 129 ...
.), The sampling data D i (i = 1, 1
2, ..., 127, 129 ...) are not zero, the sampling data D n to the sampling data D
By subtracting n−1 , the difference waveform data ΔWD n (i = 1, 2, ..., 127, 12) in ADPCM format is obtained.
9 ...) is obtained, and addresses “1”, “2”, ...
It is stored in the position of the waveform memory 208 designated by "127", "129" ... At the position of the waveform memory 208 designated by the address “0”, the specific waveform data W
When j is not stored, the waveform memory 208 in which the content of the sampling data D 0 is designated by the address “0”
Is stored in the position. In the first embodiment, the loop top address LT (M) is “128”. That is, the content of the waveform memory 208 designated by the loop top address LT (M = “128”) is the specific waveform data W.
j (j = 128).

【0035】(1)復号回路の説明 図1は本楽音信号発生装置の音源回路に適用される復号
回路209(図2参照)を示すブロック図である。この
復号回路209は、復号手段及び一時記憶手段に対応す
る。
(1) Description of Decoding Circuit FIG. 1 is a block diagram showing a decoding circuit 209 (see FIG. 2) applied to the tone generator circuit of the musical tone signal generator. The decoding circuit 209 corresponds to the decoding means and the temporary storage means.

【0036】図1において、比較器100は、波形メモ
リ208からの特定波形データWj又は差分波形データ
ΔWDn(波形データ群の波形データ)と値Z21とを
比較する。値Z21は、特定波形データWjの内容と同
じである。値Z21は、図示しない例えばROMやレジ
スタ等に記憶しておくことができる。値Z21として、
例えば、最小値「8000H」若しくは最大値「7FF
FH」又はこれらの近傍の値を用いることができる。値
Z21の一例として、最小値「8000H」が用いられ
る。この比較の結果、上記両者が一致した場合は制御信
号として「1」が、そうでない場合は「0」がそれぞれ
比較器100で生成される。この制御信号は、セレクタ
104の入力端子Sに供給される。
In FIG. 1, the comparator 100 compares the specific waveform data W j or the difference waveform data ΔWD n (waveform data of the waveform data group) from the waveform memory 208 with the value Z21. The value Z21 is the same as the content of the specific waveform data W j . The value Z21 can be stored in a ROM, a register or the like (not shown). As the value Z21,
For example, the minimum value "8000H" or the maximum value "7FF
FH "or a value in the vicinity thereof can be used. The minimum value "8000H" is used as an example of the value Z21. As a result of this comparison, the comparator 100 generates "1" as the control signal when the both match, and "0" otherwise. This control signal is supplied to the input terminal S of the selector 104.

【0037】伸張回路101は、波形メモリ208から
差分波形データΔWDnを入力し、その差分波形データ
ΔWDnをADPCM形式からDPCM形式に変換す
る。この変換では、圧縮された量子化幅が元に戻され
る。概念的には、図3(B)に示すように、ADPCM
データの指数部の値に応じて仮数部の値が左シフトされ
る。これによりADPCMデータは、固定小数点形式で
2の補数形式を有するDPCMデータに変換される。
尚、波形メモリ208に記憶されている差分波形データ
ΔWDnがDPCM形式の場合は、この伸張回路101
を除去することができる。伸張回路101が、波形メモ
リ208から特定波形データWjを入力した時は、この
伸張回路101は変換された特定波形データを出力す
る。差分波形データΔWDn又は変換された特定波形デ
ータは、ゲート102に供給される。
The expansion circuit 101 inputs the differential waveform data ΔWD n from the waveform memory 208 and converts the differential waveform data ΔWD n from ADPCM format to DPCM format. This transform restores the compressed quantization width. Conceptually, as shown in FIG.
The value of the mantissa part is left-shifted according to the value of the exponent part of the data. As a result, the ADPCM data is converted into the DPCM data having the two's complement format in the fixed point format.
If the differential waveform data ΔWD n stored in the waveform memory 208 is in the DPCM format, the expansion circuit 101
Can be removed. When the expansion circuit 101 inputs the specific waveform data W j from the waveform memory 208, the expansion circuit 101 outputs the converted specific waveform data. The differential waveform data ΔWD n or the converted specific waveform data is supplied to the gate 102.

【0038】カレントサンプルメモリ106は、一時記
憶手段に対応する。カレントサンプルメモリ106に
は、差分波形データが累算される。ここで、差分波形デ
ータΔWDn-1がカレントサンプルメモリ106に累算
されており、サンプリングデータYDn-1が再生されカ
レントサンプルメモリ106に格納されていると仮定す
る。本発明の楽音信号発生装置は、複数の楽音信号を同
時に発生することができる。このカレントサンプルメモ
リ106は、複数の発音チャンネルに対応した複数のブ
ロックで構成されている。カレントサンプルメモリ10
6の各ブロックは、各波形データ群に対応する。ブロッ
クの数は、時分割の数に等しい。何れのブロックがアク
ティブにされるかは、後述するタイミング発生器201
からのタイミング信号TCにより決定される。以下、こ
のような構成を「時分割構成」という。このカレントサ
ンプルメモリ106からのサンプリングデータYDn-1
は、加算器103のB入力端子に供給される。
The current sample memory 106 corresponds to temporary storage means. Difference waveform data is accumulated in the current sample memory 106. Here, it is assumed that the difference waveform data ΔWD n-1 is accumulated in the current sample memory 106 and the sampling data YD n-1 is reproduced and stored in the current sample memory 106. The tone signal generator of the present invention can simultaneously generate a plurality of tone signals. The current sample memory 106 is composed of a plurality of blocks corresponding to a plurality of tone generation channels. Current sample memory 10
Each block of 6 corresponds to each waveform data group. The number of blocks is equal to the number of time divisions. Which block is activated depends on the timing generator 201 which will be described later.
Is determined by the timing signal TC from Hereinafter, such a configuration is referred to as a “time division configuration”. Sampling data YD n-1 from the current sample memory 106
Is supplied to the B input terminal of the adder 103.

【0039】ゲート102は、一致信号CFが「0」で
あれば、伸長回路101からの差分波形データΔWDn
又は変換された特定波形データをそのまま通過させる。
一方、一致信号CFが「1」であればゼロを出力する。
この一致信号CFは、後述する比較器210(図2参
照)で生成される。一致信号CFは、波形読出アドレス
の整数部の値が前回と同じ場合に「1」、そうでない場
合に「0」となる。サンプリングデータYDn-1に差分
波形データΔWDnを累算するかどうかは、この一致信
号によって決定される。このゲート102の出力は加算
器103のA入力端子に供給される。
If the coincidence signal CF is "0", the gate 102 outputs the difference waveform data ΔWD n from the expansion circuit 101.
Alternatively, the converted specific waveform data is passed as it is.
On the other hand, if the coincidence signal CF is "1", zero is output.
The coincidence signal CF is generated by the comparator 210 (see FIG. 2) described later. The coincidence signal CF is “1” when the value of the integer part of the waveform read address is the same as the previous time, and is “0” otherwise. Whether or not the differential waveform data ΔWD n is accumulated in the sampling data YD n-1 is determined by this coincidence signal. The output of the gate 102 is supplied to the A input terminal of the adder 103.

【0040】加算器103は、ゲート102の出力をカ
レントサンプルメモリ106からのサンプリングデータ
YDn-1に加算する。これにより、次のサンプリングデ
ータYDnが得られる。この加算器103からのサンプ
リングデータYDnは、セレクタ104のB入力端子に
供給される。
The adder 103 adds the output of the gate 102 to the sampling data YD n-1 from the current sample memory 106. As a result, the next sampling data YD n is obtained. The sampling data YD n from the adder 103 is supplied to the B input terminal of the selector 104.

【0041】セレクタ104は、比較器100からの制
御信号に応じて、A入力端子に供給される値Z12又は
カレントサンプルメモリ106からB入力端子に供給さ
れる次のサンプリングデータYDnの何れかを選択す
る。上記値Z12は、特定サンプリングデータDjの内
容、つまりゼロに等しい。値Z12は、図示しない例え
ばROMやレジスタ等に記憶しておくことができる。セ
レクタ104が比較器100から制御信号「1」を受け
取ると、セレクタ104のA入力端子が選択される。こ
れにより、セレクタ104は、特定サンプリングデータ
jと同じ内容のサンプリングデータYDjをクリア回路
105に出力する。一方、セレクタ104が比較器10
0から制御信号「0」を受け取ると、セレクタ104の
B入力端子が選択される。これにより、セレクタ104
は、サンプリングデータYDnをクリア回路105に出
力する。
The selector 104 receives either the value Z12 supplied to the A input terminal or the next sampling data YD n supplied from the current sample memory 106 to the B input terminal according to the control signal from the comparator 100. select. The value Z12 is equal to the content of the specific sampling data D j , that is, zero. The value Z12 can be stored in a ROM, a register or the like (not shown). When the selector 104 receives the control signal “1” from the comparator 100, the A input terminal of the selector 104 is selected. Accordingly, the selector 104 outputs the sampling data YD j having the same contents as the specific sampling data D j to the clear circuit 105. On the other hand, the selector 104 is the comparator 10
When the control signal “0” is received from 0, the B input terminal of the selector 104 is selected. As a result, the selector 104
Outputs the sampling data YD n to the clear circuit 105.

【0042】クリア回路105は、クリア信号CLRB
に応じて、入力されたデータをそのまま通過させるか又
は強制的にゼロを出力する。このクリア回路105は、
波形データ群の波形データの読み出しが開始された時
に、カレントサンプルメモリ106の内容をクリアする
ために使用される。従って、波形データ群が、ゼロの値
を有するデータをその先頭に有していれば、このクリア
回路105は場合によっては除去することができる。
The clear circuit 105 outputs a clear signal CLRB.
According to the above, the input data is passed as it is or the zero is forcibly output. This clear circuit 105
It is used to clear the contents of the current sample memory 106 when the reading of the waveform data of the waveform data group is started. Therefore, if the waveform data group has data having a value of zero at its head, the clear circuit 105 can be removed in some cases.

【0043】このクリア回路105をアクティブにして
ゼロを出力するかどうかは、制御フラグラッチ202
(図2参照)からの制御信号CLRBによって制御され
る。この制御フラグラッチ202の内容は、CPU(図
示しない)からのデータによってセット又はリセットさ
れる。クリア回路105の出力は、カレントサンプルメ
モリ106に供給される。その結果、サンプリングデー
タYDj,YDn又はゼロがカレントサンプルメモリ10
6に格納される。クリア回路105の出力は、また乗算
器217にも供給される。
Whether the clear circuit 105 is activated and zero is output is determined by the control flag latch 202.
It is controlled by a control signal CLRB from (see FIG. 2). The contents of the control flag latch 202 are set or reset by the data from the CPU (not shown). The output of the clear circuit 105 is supplied to the current sample memory 106. As a result, the sampling data YD j , YD n or zero is the current sample memory 10
6 is stored. The output of the clear circuit 105 is also supplied to the multiplier 217.

【0044】(2)音源回路の説明 図2は、本楽音信号発生装置に適用される音源回路の第
1の実施形態のブロック図である。この音源回路には、
上述した復号回路209が含まれている。以下、図2に
示したブロック図を参照しながら音源回路の構成及び動
作につき詳細に説明する。
(2) Description of tone generator circuit FIG. 2 is a block diagram of a first embodiment of a tone generator circuit applied to the musical tone signal generating apparatus. In this sound source circuit,
The decoding circuit 209 described above is included. Hereinafter, the configuration and operation of the tone generator circuit will be described in detail with reference to the block diagram shown in FIG.

【0045】本発明の読出手段は、カレントステップメ
モリ203、セレクタ204、カレントアドレスメモリ
205、加算器206、ループトップアドレスメモリ2
12、ループエンドアドレスメモリ213及び比較器2
11で構成されている。この読出手段は、波形読出アド
レスを生成する。
The reading means of the present invention comprises a current step memory 203, a selector 204, a current address memory 205, an adder 206 and a loop top address memory 2.
12, loop end address memory 213 and comparator 2
It is composed of 11. This reading means generates a waveform read address.

【0046】図2において、CPUと音源回路とは、1
6ビットのデータバスDB、24ビットのアドレスバス
AB及び制御データバスCNTを介して互いに接続され
ている。ラッチ200は、双方向トライステートラッチ
である。このラッチ200は、CPUと音源回路との間
のデータの送受を制御するために使用される。音源回路
は32ビット幅のデータを取り扱う。従って、CPUか
ら音源回路へのデータ転送は、16ビットずつ2回行わ
れる。ラッチ200は、データバスDBから16ビット
のデータを順次取り込み、32ビット揃った時点で内部
バス250へ送出する。逆に、音源回路からCPUへの
データ転送時は、32ビットのデータがラッチ200に
セットされる。このラッチ200にセットされたデータ
は、16ビットずつデータバスDBに出力される。この
ラッチ200のラッチタイミング、転送方向は、タイミ
ング発生器201からの制御信号CTによって制御され
る。
In FIG. 2, the CPU and the tone generator circuit are 1
They are connected to each other via a 6-bit data bus DB, a 24-bit address bus AB and a control data bus CNT. Latch 200 is a bidirectional tristate latch. The latch 200 is used to control transmission / reception of data between the CPU and the tone generator circuit. The tone generator circuit handles 32-bit wide data. Therefore, data transfer from the CPU to the tone generator circuit is performed twice with 16 bits each. The latch 200 sequentially takes in 16-bit data from the data bus DB and sends it to the internal bus 250 when 32 bits have been gathered. Conversely, 32-bit data is set in the latch 200 when transferring data from the tone generator circuit to the CPU. The data set in the latch 200 is output to the data bus DB 16 bits at a time. The latch timing and transfer direction of the latch 200 are controlled by the control signal CT from the timing generator 201.

【0047】タイミング発生器201は、図示しないク
ロック発生器からのクロック信号CLK、CPUからア
ドレスバスABを介して送られてくるアドレスデータ及
びCPUから制御データバスCNTを介して送られてく
る制御データを入力し、音源回路の各部を制御するため
の各種制御信号を生成する。具体的には、タイミング発
生器201は、ラッチ200を制御するための制御信号
CT、セレクタ204を制御するための制御信号SEL
及び1つのタイムスロットを指定するタイミング信号T
Cを生成する。タイミング信号TCは、例えば、音源回
路が32発音チャンネルの時分割で動作する場合は、3
2個の時分割タイムスロットの何れか1つを指定するた
めに使用される。このタイミング信号TCは、後述する
各種メモリ等に供給される。
The timing generator 201 has a clock signal CLK from a clock generator (not shown), address data sent from the CPU via the address bus AB, and control data sent from the CPU via the control data bus CNT. To generate various control signals for controlling each part of the tone generator circuit. Specifically, the timing generator 201 includes a control signal CT for controlling the latch 200 and a control signal SEL for controlling the selector 204.
And a timing signal T designating one time slot
Generate C. The timing signal TC is, for example, 3 when the sound source circuit operates in a time division of 32 sound generation channels.
Used to specify any one of the two time division time slots. The timing signal TC is supplied to various memories and the like described later.

【0048】制御フラグラッチ202は時分割構成であ
り、CPUからのデータを記憶する。この制御フラグラ
ッチ202の所定ビットから出力されるクリア信号CL
RAはクリア回路207に供給される。また、他のビッ
トから出力されるクリア信号CLRBはクリア回路10
5(図1参照)に供給される。なお、後述するようにク
リア回路207が除去され、且つ上述したクリア回路1
05が除去された構成の楽音信号発生装置では、制御フ
ラグラッチ202は不要である。
The control flag latch 202 has a time division structure and stores data from the CPU. Clear signal CL output from a predetermined bit of the control flag latch 202
RA is supplied to the clear circuit 207. Further, the clear signal CLRB output from other bits is the clear circuit 10
5 (see FIG. 1). As will be described later, the clear circuit 207 is removed, and the clear circuit 1 described above is used.
The control signal latch 202 is not necessary in the tone signal generator having the configuration in which 05 is removed.

【0049】カレントステップメモリ203は時分割構
成であり、CPUからのFナンバを記憶する。ここにF
ナンバとは、発生されるべき楽音の音高(周波数)を規
定するデータである。具体的には、波形メモリ208か
ら波形データ群の波形データが順次読み出される時に、
波形読出アドレスの増分値として使用される。このカレ
ントステップメモリ203からのFナンバは加算器20
6のA入力端子に供給される。
The current step memory 203 has a time division structure, and stores the F number from the CPU. F here
The number is data defining the pitch (frequency) of the musical sound to be generated. Specifically, when the waveform data of the waveform data group is sequentially read from the waveform memory 208,
It is used as the increment value of the waveform read address. The F number from the current step memory 203 is added to the adder 20.
6 is supplied to the A input terminal.

【0050】セレクタ204は、3つの入力ポート(ポ
ート0、ポート1及びポート2)を有している。そし
て、各入力ポートは、制御入力端子S0及びS1に供給
される制御信号に従って選択される。ポート1には16
ビットのデータが供給される。従って、ポート1が選択
された時は、このセレクタ204からは、下位の16ビ
ットをゼロにした32ビットのデータが出力される。制
御信号(S0、S1)と選択される入力ポートとの関係
を下表に示す。
The selector 204 has three input ports (port 0, port 1 and port 2). Then, each input port is selected according to the control signal supplied to the control input terminals S0 and S1. 16 for port 1
Bit data is supplied. Therefore, when the port 1 is selected, the selector 204 outputs 32-bit data with the lower 16 bits set to zero. The table below shows the relationship between the control signals (S0, S1) and the selected input port.

【0051】[0051]

【表1】 <S1><S0> <選択される入力ポート> 0 0 ポート2(次波形読出アドレス) 0 1 ポート1(ループトップアドレスLT) 1 − ポート0(CPUから送られてきたデータ)<Table 1> <S1> <S0> <Selected input port> 0 0 Port 2 (next waveform read address) 0 1 Port 1 (loop top address LT) 1-Port 0 (data sent from CPU)

【0052】上記ポート0は、複数の波形データ群の中
から1つの波形データ群を選択するために使用される。
各波形データ群は、各音色に対応している。CPUは制
御信号SELを生成するための制御データをタイミング
発生器201に送る。同時に、CPUは、所望する音色
に対応する波形データ群の先頭アドレス(スタートアド
レスSA)をデータバスDBを介してラッチ200に送
る。これにより、制御信号SELに基づきポート0が選
択され、セレクタ204からその波形データ群のスター
トアドレスSAが出力される。この結果、その波形デー
タ群の波形読出アドレスの初期値が決定される。ポート
1は、波形データ群のリピート部のループエンドアドレ
スLEからループトップアドレスLTに戻るために使用
される。ポート2は上記以外の目的、つまり波形読出ア
ドレスを順次更新するために使用される。このセレクタ
204で選択されたデータはカレントアドレスメモリ2
05に供給される。
The port 0 is used to select one waveform data group from a plurality of waveform data groups.
Each waveform data group corresponds to each timbre. The CPU sends control data for generating the control signal SEL to the timing generator 201. At the same time, the CPU sends the start address (start address SA) of the waveform data group corresponding to the desired tone color to the latch 200 via the data bus DB. As a result, port 0 is selected based on the control signal SEL, and the selector 204 outputs the start address SA of the waveform data group. As a result, the initial value of the waveform read address of the waveform data group is determined. Port 1 is used to return from the loop end address LE of the repeat part of the waveform data group to the loop top address LT. Port 2 is used for purposes other than the above, that is, for sequentially updating the waveform read address. The data selected by the selector 204 is the current address memory 2
It is supplied to 05.

【0053】カレントアドレスメモリ205は時分割構
成であり、現波形読出アドレスを記憶する。このカレン
トアドレスメモリ205に記憶されている現波形読出ア
ドレスは、読み出された波形データ群の波形データの記
憶位置を指している。このカレントアドレスメモリ20
5からの現波形読出アドレスは、加算器206のB入力
端子及び比較器210のB入力端子に供給される。
The current address memory 205 has a time division structure, and stores the current waveform read address. The current waveform read address stored in the current address memory 205 indicates the storage position of the waveform data of the read waveform data group. This current address memory 20
The current waveform read address from 5 is supplied to the B input terminal of the adder 206 and the B input terminal of the comparator 210.

【0054】加算器206は、カレントステップメモリ
203からのFナンバを現波形読出アドレスに加算す
る。この加算器206の出力は、次波形読出アドレスで
ある。次波形読出アドレスの整数部は、次のサイクルで
読み出される波形データ群の波形データの記憶位置を示
している。この加算器206の出力はクリア回路207
に供給される。
The adder 206 adds the F number from the current step memory 203 to the current waveform read address. The output of the adder 206 is the next waveform read address. The integer part of the next waveform read address indicates the storage position of the waveform data of the waveform data group read in the next cycle. The output of the adder 206 is the clear circuit 207.
Is supplied to.

【0055】クリア回路207は、加算器206からの
次波形読出アドレスの下位の所定ビットをゼロにするた
めに使用される。このクリア回路207は、CPUから
の波形読出アドレスの下位の所定ビットに無効データが
含まれる場合に必要である。従って、CPUから32ビ
ットの有効データが送られてくる場合は、このクリア回
路207は除去することができる。このクリア回路20
7の出力は、波形メモリ208(上位16ビット)、比
較器210のA入力端子(上位16ビット)、比較器2
11のA入力端子(上位16ビット)及び上述したセレ
クタ204のポート2(32ビット)に供給される。
The clear circuit 207 is used to set the lower predetermined bits of the next waveform read address from the adder 206 to zero. The clear circuit 207 is necessary when the lower predetermined bits of the waveform read address from the CPU include invalid data. Therefore, when 32-bit valid data is sent from the CPU, the clear circuit 207 can be removed. This clear circuit 20
The output of 7 is the waveform memory 208 (upper 16 bits), the A input terminal of the comparator 210 (upper 16 bits), the comparator 2
11 A input terminals (upper 16 bits) and port 2 (32 bits) of the selector 204 described above.

【0056】この波形メモリ208は、上述したよう
に、ADPCM形式の複数の差分波形データΔWDn
PCM形式の特定波形データWjを記憶している。この
波形メモリ208の内容は、クリア回路207からの次
波形読出アドレスの整数部に従って読み出される。即
ち、カレントアドレスメモリ205に記憶されている現
波形読出アドレスの整数部に関連する特定波形データW
j又は差分波形データΔWDnに基づき楽音信号が発生さ
れるのと並行して、特定波形データWj+1又は差分波形
データΔWDn+1が波形メモリ208から読み出され
る。この波形メモリ208からの特定波形データWj+1
又は差分波形データΔWDn+1は、次のサイクルで復号
回路209に供給される。復号回路209における生成
又は累算により得られたサンプリングデータYDj又は
YDnは、乗算器217の入力端子Aに供給される。
As described above, the waveform memory 208 stores a plurality of differential waveform data ΔWD n in ADPCM format and specific waveform data W j in PCM format. The contents of the waveform memory 208 are read according to the integer part of the next waveform read address from the clear circuit 207. That is, the specific waveform data W related to the integer part of the current waveform read address stored in the current address memory 205.
In parallel with the generation of the tone signal based on j or the difference waveform data ΔWD n , the specific waveform data W j + 1 or the difference waveform data ΔWD n + 1 is read from the waveform memory 208. Specific waveform data W j + 1 from this waveform memory 208
Alternatively, the difference waveform data ΔWD n + 1 is supplied to the decoding circuit 209 in the next cycle. The sampling data YD j or YD n obtained by the generation or accumulation in the decoding circuit 209 is supplied to the input terminal A of the multiplier 217.

【0057】比較器210は、カレントアドレスメモリ
205からの現波形読出アドレスの整数部と、クリア回
路207からの次波形読出アドレスの整数部とを比較す
る。そして、これらが一致した場合は比較器210は
「1」を出力する。これらが一致しない場合は、比較器
210は「0」を出力する。この比較器210の出力
は、一致信号CFとして、復号回路209内のゲート1
02に供給される。ゲート102は、差分波形データΔ
WDnがサンプリングデータYDnに重複して加算される
ことを防止するために設けられている。重複加算の可能
性は、低音を再生するために波形データ群の波形データ
を読み出す間隔が短くなった時に発生する。換言する
と、波形読出アドレスがインクリメントされてもその整
数部の値が変化しない場合に発生する。
The comparator 210 compares the integer part of the current waveform read address from the current address memory 205 with the integer part of the next waveform read address from the clear circuit 207. If they match, the comparator 210 outputs "1". If they do not match, the comparator 210 outputs "0". The output of the comparator 210 is the gate 1 in the decoding circuit 209 as the coincidence signal CF.
02. The gate 102 has differential waveform data Δ
It is provided to prevent WD n from being added to the sampling data YD n in an overlapping manner. The possibility of overlapping addition occurs when the interval at which the waveform data of the waveform data group is read out to reproduce a low tone becomes short. In other words, it occurs when the value of the integer part does not change even if the waveform read address is incremented.

【0058】ループトップアドレスメモリ212は時分
割構成であり、複数の波形データ群に対応する複数のル
ープトップアドレスLTを記憶する。このループトップ
アドレスメモリ212からのループトップアドレスLT
は、セレクタ204のポート1に供給される。
The loop top address memory 212 has a time division structure and stores a plurality of loop top addresses LT corresponding to a plurality of waveform data groups. Loop top address LT from this loop top address memory 212
Are supplied to the port 1 of the selector 204.

【0059】ループエンドアドレスメモリ213は時分
割構成であり、複数の波形データ群に対応する複数のル
ープエンドアドレスLEを記憶する。このループエンド
アドレスメモリ213からのループエンドアドレスLE
は、比較器211のB入力端子に供給される。
The loop end address memory 213 has a time division structure and stores a plurality of loop end addresses LE corresponding to a plurality of waveform data groups. The loop end address LE from this loop end address memory 213
Is supplied to the B input terminal of the comparator 211.

【0060】比較器211は、リピート部の終わりを検
出するために、次波形読出アドレスの整数部(上位16
ビット)とループエンドアドレスメモリ213からのル
ープエンドアドレスLEとを常時比較する。そして、そ
の比較結果を示す信号をセレクタ204の制御入力端子
S0に送る。この結果、次波形読出アドレスの整数部が
ループエンドアドレスLEに一致した場合は、セレクタ
のポート1が選択される。これによりループトップアド
レスメモリ212からのループトップアドレスLT及び
ゼロの値(下位16ビット)がカレントアドレスメモリ
205に記憶される。一方、次波形読出アドレスの整数
部がループエンドアドレスLEに一致しない場合は、セ
レクタ204のポート2が選択される。これにより次波
形読出アドレスがカレントアドレスメモリ205に記憶
される。以上の動作により、波形データ群のリピート部
を繰り返して読み出す機能が達成されている。
The comparator 211 detects the end of the repeat part by detecting the integer part (upper 16 parts) of the next waveform read address.
(Bit) and the loop end address LE from the loop end address memory 213 are constantly compared. Then, a signal indicating the comparison result is sent to the control input terminal S0 of the selector 204. As a result, when the integer part of the next waveform read address matches the loop end address LE, port 1 of the selector is selected. As a result, the loop top address LT and the value of zero (lower 16 bits) from the loop top address memory 212 are stored in the current address memory 205. On the other hand, when the integer part of the next waveform read address does not match the loop end address LE, port 2 of the selector 204 is selected. As a result, the next waveform read address is stored in the current address memory 205. By the above operation, the function of repeatedly reading the repeat part of the waveform data group is achieved.

【0061】エンベロープパラメータメモリ214は時
分割構成であり、現在のエンベロープ目標値及びエンベ
ロープ加算値並びにラウドネス値を記憶する。このエン
ベロープパラメータメモリ214の内容は、エンベロー
プ発生器215によって読み出される。カレントエンベ
ロープメモリ216は時分割構成であり、エンベロープ
演算の中間結果であるカレントエンベロープ値を記憶す
る。
The envelope parameter memory 214 has a time division structure and stores the current envelope target value, envelope addition value and loudness value. The contents of the envelope parameter memory 214 are read by the envelope generator 215. The current envelope memory 216 has a time division structure and stores a current envelope value which is an intermediate result of envelope calculation.

【0062】本発明の楽音信号発生手段は、エンベロー
プ発生器215及び乗算器217で構成されている。
The tone signal generating means of the present invention comprises an envelope generator 215 and a multiplier 217.

【0063】エンベロープ発生器215は、エンベロー
プパラメータメモリ214からのエンベロープ加算値
を、カレントエンベロープメモリ216からのカレント
エンベロープ値に時分割で加算する。そして、エンベロ
ープ発生器215は、演算結果がエンベロープ目標値に
到達したかどうかを決定する。そして、演算結果が到達
していなければ、演算結果がカレントエンベロープ値と
してカレントエンベロープメモリ216に格納され、次
の演算に備えられる。この演算結果には、更にラウドネ
ス値が乗算される。乗算結果はエンベロープレベルEL
としてエンベロープ発生器215から出力される。この
ようにして、エンベロープ発生器215は、徐々にエン
ベロープ目標値に漸近するエンベロープを発生する。こ
のエンベロープ発生器215からのエンベロープレベル
ELは、乗算器217のB入力端子に供給される。
The envelope generator 215 time-divisionally adds the envelope addition value from the envelope parameter memory 214 to the current envelope value from the current envelope memory 216. Then, the envelope generator 215 determines whether the calculation result has reached the envelope target value. If the calculation result has not arrived, the calculation result is stored as the current envelope value in the current envelope memory 216 and prepared for the next calculation. The calculation result is further multiplied by the loudness value. The multiplication result is the envelope level EL
Is output from the envelope generator 215. In this way, the envelope generator 215 generates an envelope that gradually approaches the envelope target value. The envelope level EL from the envelope generator 215 is supplied to the B input terminal of the multiplier 217.

【0064】乗算器217は、復号回路209からのサ
ンプリングデータYDj又はYDnとエンベロープ発生器
215からのエンベロープレベルELとを乗算する。こ
の乗算により、エンベロープが付加された楽音信号が生
成される。この乗算器217からの楽音信号は、系列加
算器218に供給される。
The multiplier 217 multiplies the sampling data YD j or YD n from the decoding circuit 209 by the envelope level EL from the envelope generator 215. By this multiplication, a musical tone signal with an envelope added is generated. The tone signal from the multiplier 217 is supplied to the series adder 218.

【0065】系列加算器218は、全発音チャンネルを
4つの音色系列の少なくとも何れか1つに割り当て、各
音色系列内で楽音信号を加算する。この系列加算器21
8の出力は、デジタルコントロールフィルタ219に供
給される。
The sequence adder 218 assigns all tone generation channels to at least one of the four tone color sequences and adds tone signals within each tone color sequence. This series adder 21
The output of 8 is supplied to the digital control filter 219.

【0066】デジタルコントロールフィルタ219とし
ては、例えば8倍オーバーサンプリングにより動作する
デジタルフィルタを用いることができる。このデジタル
コントロールフィルタ219の出力は、D/A変換器2
20に供給される。D/A変換器220は、オーバーサ
ンプリングされたデジタル信号を上述の音色系列毎にア
ナログ信号に変換する。このアナログ信号は、アンプ
(図示しない)を通してスピーカ又はイヤホーンに供給
される。
As the digital control filter 219, for example, a digital filter which operates by 8 times oversampling can be used. The output of the digital control filter 219 is the D / A converter 2
20. The D / A converter 220 converts the oversampled digital signal into an analog signal for each tone color sequence described above. This analog signal is supplied to a speaker or an earphone through an amplifier (not shown).

【0067】以上説明したように、本第1の実施形態に
よれば、特定波形データWj(PCM形式の「8000
H」として波形メモリ208に記憶されている)が波形
メモリ208から読み出されると、それまでの累算によ
り得られたサンプリングデータYDn-1は捨てられ、サ
ンプリングデータYDjから累算が再開される。その結
果、ADPCM又はDPCM方式に特有の累積誤差を除
去することができる。更に、繰り返し読み出しでない時
の累積誤差をも除去できる。
As described above, according to the first embodiment, the specific waveform data W j (PCM format “8000” is used).
(Stored in the waveform memory 208 as “H”) is read from the waveform memory 208, the sampling data YD n−1 obtained by the accumulation up to that point is discarded, and the accumulation is restarted from the sampling data YD j. It As a result, the accumulated error peculiar to the ADPCM or DPCM method can be removed. Further, it is possible to remove the accumulated error when the repeated reading is not performed.

【0068】楽音波形が所定のサイクルでサンプリング
されたとき、サンプリング点P0において、特定サンプ
リングデータDj(j=0)が存在しないことが考えら
れる。この場合、内容がゼロであるサンプリングデータ
j(j=0)が得られるように、サンプリング開始位
置をわずかに移動すればよい。
When the musical tone waveform is sampled in a predetermined cycle, it is considered that the specific sampling data D j (j = 0) does not exist at the sampling point P 0 . In this case, the sampling start position may be slightly moved so that the sampling data D j (j = 0) whose content is zero is obtained.

【0069】波形メモリ208は、複数の音色に対応す
る複数の波形データ群を記憶することができる。そし
て、各波形データ群は、特定波形データWjと複数の差
分波形データΔWDnとで構成され、各波形データ群の
特定波形データWjに関連する特定サンプリングデータ
jは、各波形データ群で同一にするのが好ましい。
The waveform memory 208 can store a plurality of waveform data groups corresponding to a plurality of timbres. Each waveform data group is composed of specific waveform data W j and a plurality of differential waveform data ΔWD n, and the specific sampling data D j related to the specific waveform data W j of each waveform data group is the respective waveform data group. It is preferable that they are the same.

【0070】この第1の実施形態では、特定波形データ
jはj=M=128によって指定される波形メモリ2
08の位置に格納されている。即ち、ループトップアド
レスLTによって指定された波形メモリ208の内容
は、特定波形データWjである。あるいはまた、差分波
形データΔWDn-1は、サンプリングデータDM-1(但
し、1≦M≦N−3)からDN-2を減算することにより
得られ、jはM<j<N−1を満足し、読出手段は差分
波形データΔWDN-1を読み出した後に、再度、差分波
形データΔWDMを読み出す。この場合、「M」の値は
ループトップアドレスであり、「N」の値はループエン
ドアドレスである。
In the first embodiment, the specific waveform data W j is the waveform memory 2 specified by j = M = 128.
It is stored at position 08. That is, the content of the waveform memory 208 designated by the loop top address LT is the specific waveform data W j . Alternatively, the difference waveform data ΔWD n-1 is obtained by subtracting D N-2 from the sampling data D M-1 (where 1 ≦ M ≦ N-3), and j is M <j <N−. 1 is satisfied, the reading means reads the differential waveform data ΔWD N−1 and then reads the differential waveform data ΔWD M again. In this case, the value of "M" is the loop top address and the value of "N" is the loop end address.

【0071】(第2の実施形態)本第2の実施形態は、
本発明の楽音信号発生装置の好ましい実施態様を示す。
本第2の実施形態の楽音信号発生装置は、サンプリング
データの補間を行いながら楽音信号を発生する。本第2
の実施形態において、DPCM形式の差分波形データΔ
WDnとDPCM形式の特定波形データWjとが使用され
る。そして、特定サンプリングデータDjの内容は所定
範囲の広がりを有している。
(Second Embodiment) In the second embodiment,
1 shows a preferred embodiment of the musical tone signal generator of the present invention.
The tone signal generator of the second embodiment generates tone signals while interpolating sampling data. Book second
In the embodiment, the differential waveform data Δ in the DPCM format
WD n and specific waveform data W j in DPCM format are used. The content of the specific sampling data D j has a predetermined range of spread.

【0072】特定波形データWj及び差分波形データΔ
WDnは、図8(A)に示すように、最上位ビット(ビ
ット15)に符号を有する2の補数形式の16ビットの
データである。この特定波形データWjと差分波形デー
タΔWDnとは、図4を参照して既に説明したと同様の
方法で作製される。この場合、サンプリングデータの内
容が所定の広がりの範囲内、例えば±256の範囲内で
あれば、次のような処理が行われる。即ち、そのような
サンプリングデータ(特定サンプリングデータDj)が
正数であれば、下位バイトはそのままで、上位バイトの
符号ビットを除く部分(ビット8〜14)が「1」にセ
ットされる。一方、そのようなサンプリングデータ(特
定サンプリングデータDj)が負数である場合は、下位
バイトはそのままで、上位バイトの符号ビットを除く部
分(ビット8〜14)が「0」にクリアされる。かかる
処理が施されたデータが、PCM形式の特定波形データ
jである。
Specific waveform data W j and differential waveform data Δ
As shown in FIG. 8A, WD n is 16-bit data in 2's complement format having a sign in the most significant bit (bit 15). The specific waveform data W j and the differential waveform data ΔWD n are produced by the same method as already described with reference to FIG. In this case, if the content of the sampling data is within a predetermined spread range, for example, within a range of ± 256, the following processing is performed. That is, if such sampling data (specific sampling data D j ) is a positive number, the lower byte remains as it is, and the portion (bits 8 to 14) of the upper byte excluding the sign bit is set to “1”. On the other hand, when such sampling data (specific sampling data D j ) is a negative number, the lower byte remains as it is, and the portion (bits 8 to 14) of the upper byte excluding the sign bit is cleared to “0”. The data subjected to such processing is the specific waveform data W j in the PCM format.

【0073】第1の実施形態と同様にして得られた差分
波形データΔWDn(DPCM形式)と特定波形データ
j(PCM形式)とは、後述する整数アドレスで指定
される波形メモリ316の位置に格納される。
The difference waveform data ΔWD n (DPCM format) and the specific waveform data W j (PCM format) obtained in the same manner as in the first embodiment are located in the waveform memory 316 specified by an integer address described later. Stored in.

【0074】波形メモリ316に格納された波形データ
群は、サンプリングデータYDj又はYDnの発生又は再
生時には、図8(B)に示すように取り扱われる。即
ち、正数のうち「0000H〜7EFFH(+0000
H〜+7EFFH))」は差分波形データΔWDnとし
て取り扱われるが、「7F00H〜7FFFH(+7F
00H〜+7FFFH)」は特定波形データWjとして
取り扱われる。特定波形データWjの内容である「7F
00H〜7FFFH」は、サンプリングデータYDj
生成するために、図8(C)(X)に示すように、「0
000H〜00FFH(+0000H〜+00FF
H)」のPCMデータに変換される。同様に、負数のう
ち「FFFFH〜8100H(−0001〜−7F00
H)」は差分波形データΔWDnとして取り扱われる
が、「80FFH〜8000H(−7F01H〜−80
00H)」は特定波形データWjとして取り扱われる。
この特定波形データWjの内容である「80FFH〜8
000H」は、サンプリングデータYDjを生成するた
めに、図8(C)(Y)に示すように、「FFFFH〜
FF00H(−0001H〜−0100H)」のPCM
データに変換される。なお、カッコ内は、符号付き絶対
値を16進表記したものである。
The waveform data group stored in the waveform memory 316 is handled as shown in FIG. 8B when generating or reproducing the sampling data YD j or YD n . That is, among positive numbers, “0000H to 7EFFH (+0000
H ~ + 7EFFH)) "is treated as difference waveform data ΔWD n , but" 7F00H-7FFFH (+ 7F)
00H to + 7FFFH) "is treated as the specific waveform data W j . The content of the specific waveform data W j is “7F
00H to 7FFFH "is" 0 "as shown in FIGS. 8C and 8X in order to generate the sampling data YD j .
000H to 00FFH (+ 0000H to + 00FF
H) ”is converted into PCM data. Similarly, among negative numbers, "FFFFH to 8100H (-0001 to -7F00)
H) ”is treated as difference waveform data ΔWD n , but“ 80FFH to 8000H (−7F01H to −80).
00H) ”is treated as the specific waveform data W j .
The content of this specific waveform data W j is “80FFH-8
000H ”is used to generate sampling data YD j , as shown in FIGS. 8 (C) and 8 (Y).
FF00H (-0001H to -0100H) "PCM
Converted to data. In the parentheses, the signed absolute value is represented in hexadecimal.

【0075】(1)復号回路の説明 図6は本発明の楽音信号発生装置の音源回路に適用され
る復号回路317(図7参照)を示すブロック図であ
る。この復号回路317は、補間手段及び一時記憶手段
を含む復号手段に対応する。図6においては、図1に示
した復号回路の構成要素と同一又は相当部分には同一符
号を付してある。
(1) Description of Decoding Circuit FIG. 6 is a block diagram showing a decoding circuit 317 (see FIG. 7) applied to the tone generator circuit of the tone signal generating apparatus of the present invention. The decoding circuit 317 corresponds to the decoding means including the interpolation means and the temporary storage means. In FIG. 6, the same or corresponding parts as those of the decoding circuit shown in FIG. 1 are designated by the same reference numerals.

【0076】図6において、ディレイラッチ120、1
22、123及び124はパイプライン制御のために設
けられている。これらのディレイラッチは、チャンネル
クロックCCKに同期して入力データをラッチする。チ
ャンネルクロックCCKは、例えば図11に示すよう
に、各発音チャンネルに対応するタイムスロットを規定
するクロックである。このチャンネルクロックCCKの
立ち下がりのエッジで発音チャンネルが切り替わる。ま
た、サンプルクロックSCKは、チャンネルクロックC
CKが全発音チャンネルに対応するタイムスロットを計
数する毎に、立ち下がりエッジを発生するクロックであ
る。このサンプルクロックSCKに同期して各サンプリ
ングデータの処理等が行われる。
In FIG. 6, delay latches 120, 1
22, 123 and 124 are provided for pipeline control. These delay latches latch input data in synchronization with the channel clock CCK. The channel clock CCK is, for example, as shown in FIG. 11, a clock that defines a time slot corresponding to each sounding channel. The tone generation channel is switched at the falling edge of the channel clock CCK. The sample clock SCK is the channel clock C
CK is a clock that generates a falling edge every time a time slot corresponding to all sound generation channels is counted. Processing of each sampling data is performed in synchronization with the sample clock SCK.

【0077】ディレイラッチ120は、波形メモリ31
6からの波形データ群の波形データをチャンネルクロッ
クCCKに同期して記憶する。波形メモリ316は、波
形記憶手段に対応する。このディレイラッチ120から
の波形データ群の波形データは、比較器100のB入力
端子、データ変換器121及び加算器103のA入力端
子に供給される。
The delay latch 120 includes the waveform memory 31.
The waveform data of the waveform data group from 6 is stored in synchronization with the channel clock CCK. The waveform memory 316 corresponds to the waveform storage means. The waveform data of the waveform data group from the delay latch 120 is supplied to the B input terminal of the comparator 100, the data converter 121, and the A input terminal of the adder 103.

【0078】図示しないROM又はレジスタに格納され
ている範囲値Z13は、比較器100に供給される。比
較器100は、波形データ群の波形データの内容と範囲
値Z13とを比較する。範囲値Z13は、特定波形デー
タWjの内容と同じ範囲の広がりを有している。即ち、
範囲値Z13は7F00H〜7FFFH及び80FFH
〜8000Hである。
The range value Z13 stored in the ROM or register (not shown) is supplied to the comparator 100. The comparator 100 compares the content of the waveform data of the waveform data group with the range value Z13. The range value Z13 has the same range spread as the content of the specific waveform data W j . That is,
Range value Z13 is 7F00H to 7FFFH and 80FFH
~ 8000H.

【0079】その内容が範囲値Z13の範囲内にある波
形データが比較器100に入力されると、比較器100
は、特定波形データWjを検出し、「1」の制御信号C
MPを出力する。その内容が範囲値Z13の範囲外にあ
る波形データが比較器100に入力されると、比較器1
00は、差分波形データΔWDnを検出し、「0」の制
御信号CMPを出力する。この制御信号CMPはセレク
タ104の入力端子Sに供給される。
When the waveform data whose contents are within the range of the range value Z13 is input to the comparator 100, the comparator 100
Detects the specific waveform data W j and outputs the control signal C of "1".
Output MP. When the waveform data whose content is outside the range of the range value Z13 is input to the comparator 100, the comparator 1
00 detects the difference waveform data ΔWD n and outputs the control signal CMP of “0”. The control signal CMP is supplied to the input terminal S of the selector 104.

【0080】データ変換器121は、ディレイラッチ1
20からの波形データ群の波形データを、図8(C)に
示す方法で変換する。即ち、波形データ群の波形データ
が正数の場合は、下位バイトはそのままで、上位バイト
を「00H」にセットする。負数の場合は、下位バイト
はそのままで、上位バイトを「FFH」にセットする。
その結果、特定波形データWjは、特定サンプリングデ
ータDjと同一又は近似するPCMデータ(±256の
範囲内の値を有する特定波形データWjの内容)に復元
される。このデータ変換器121の出力はセレクタ10
4のA入力端子に供給される。差分波形データΔWDn
は奇妙な内容を有するデータに変換される。しかし、そ
のような変換されたデータはセレクタ104において捨
てられる。
The data converter 121 includes the delay latch 1
The waveform data of the waveform data group from 20 is converted by the method shown in FIG. That is, when the waveform data of the waveform data group is a positive number, the lower byte remains unchanged and the upper byte is set to "00H". In the case of a negative number, the lower byte remains and the upper byte is set to "FFH".
As a result, the specific waveform data W j is restored to PCM data (content of the specific waveform data W j having a value within the range of ± 256) that is the same as or close to the specific sampling data D j . The output of the data converter 121 is the selector 10
4 is supplied to the A input terminal. Difference waveform data ΔWD n
Is transformed into data with strange content. However, such converted data is discarded at selector 104.

【0081】伸張回路101は、オプションである。即
ち、本第2の実施形態では、波形メモリ316に記憶さ
れる差分波形データΔWDnはDPCM形式であるの
で、この伸張回路101は不要である。波形メモリ31
6にADPCM形式の差分波形データΔWDnが記憶さ
れるときに、図6に示す位置に伸張回路101を挿入す
れば良い。この第2の実施形態における伸張回路101
は、第1の実施形態で使用したものと同じものを使用す
ることができる。
The expansion circuit 101 is an option. That is, in the second embodiment, since the differential waveform data ΔWD n stored in the waveform memory 316 is in the DPCM format, the decompression circuit 101 is unnecessary. Waveform memory 31
When the differential waveform data ΔWD n in ADPCM format is stored in 6, the decompression circuit 101 may be inserted at the position shown in FIG. The expansion circuit 101 according to the second embodiment
Can use the same thing as what was used in 1st Embodiment.

【0082】第1のカレントサンプルメモリ106及び
第2のカレントサンプルメモリ128は時分割構成であ
り、本発明の一時記憶手段に対応する。第1のカレント
サンプルメモリ106は、それまでに累算されたサンプ
リングデータYDn-1を記憶する。
The first current sample memory 106 and the second current sample memory 128 have a time division structure, and correspond to the temporary storage means of the present invention. The first current sample memory 106 stores the sampling data YD n-1 accumulated so far.

【0083】サンプリングデータYDn-1は、クリア回
路126に供給される。クリア回路126は、後述する
音源回路からのクリア信号CLRBがアクティブにされ
た時にゼロを出力する。そうでなければ、クリア回路1
26は、サンプリングデータYDn-1をそのまま通過さ
せる。このクリア回路126の出力(ゼロ又はサンプリ
ングデータYDn-1)は第2のカレントサンプルメモリ
128及び加算器103のB入力端子に供給される。ク
リア信号CLRBは、波形データ群の波形データの読み
出しが開始された時に、つまりキーオンイベントが発生
した時にアクティブにされ、これにより、第2のカレン
トサンプルメモリ128の内容がゼロにクリアされる。
The sampling data YD n-1 is supplied to the clear circuit 126. The clear circuit 126 outputs zero when a clear signal CLRB from a tone generator circuit described later is activated. Otherwise, clear circuit 1
26 passes the sampling data YD n-1 as it is. The output (zero or sampling data YD n-1 ) of the clear circuit 126 is supplied to the second current sample memory 128 and the B input terminal of the adder 103. The clear signal CLRB is activated when the reading of the waveform data of the waveform data group is started, that is, when the key-on event occurs, whereby the contents of the second current sample memory 128 are cleared to zero.

【0084】第2のカレントサンプルメモリ128は、
第1のカレントサンプルメモリ106からのサンプリン
グデータYDn-1を記憶する。この第2のカレントサン
プルメモリ128への書き込みは、特定の条件(後述す
る)が成立した場合を除き、チャンネルクロックCCK
に同期して行われる。従って、この第1のカレントサン
プルメモリ106の内容(YDn-1)は、1チャンネル
クロック分だけ遅延されて第2のカレントサンプルメモ
リ128に記憶される。この第2のカレントサンプルメ
モリ128からのサンプリングデータYDn-1は、減算
器129のB入力端子及び加算器131のA入力端子に
供給される。
The second current sample memory 128 is
The sampling data YD n-1 from the first current sample memory 106 is stored. Writing to the second current sample memory 128 is performed by the channel clock CCK except when a specific condition (described later) is satisfied.
It is done in synchronization with. Therefore, the content (YD n-1 ) of the first current sample memory 106 is delayed by one channel clock and stored in the second current sample memory 128. The sampling data YD n-1 from the second current sample memory 128 is supplied to the B input terminal of the subtractor 129 and the A input terminal of the adder 131.

【0085】加算器103は、ディレイラッチ120か
らの特定波形データWj又は差分波形データΔWDnを、
第1のカレントサンプルメモリ106からクリア回路1
26を介して送られてくるサンプリングデータYDn-1
に加算する。この加算器103の出力はサンプリングデ
ータYDnである。この加算器103により差分波形デ
ータΔWDnを累算する機能が実現されている。この加
算器103から得られたサンプリングデータは、セレク
タ104のB入力端子に供給される。
The adder 103 receives the specific waveform data W j or the differential waveform data ΔWD n from the delay latch 120 as
Clear circuit 1 from the first current sample memory 106
Sampling data YD n-1 sent via 26
Add to. The output of the adder 103 is the sampling data YD n . The adder 103 realizes the function of accumulating the difference waveform data ΔWD n . The sampling data obtained from the adder 103 is supplied to the B input terminal of the selector 104.

【0086】セレクタ104は、比較器100からの制
御信号CMPに応じて、データ変換器121からの変換
されたデータ又は加算器103からのサンプリングデー
タYDnの何れか1つを選択する。より具体的には、制
御信号CMPが「1」であれば、セレクタ104のA入
力端子側が選択される。これにより、データ変換器12
1からの変換されたデータがサンプリングデータYDj
として出力され、第1のカレントサンプルメモリ106
に供給される。一方、制御信号CMPが「0」であれ
ば、セレクタ104のB入力端子側が選択される。これ
により、加算器103からのデータ、つまり得られたサ
ンプリングデータYDnが出力され、第1のカレントサ
ンプルメモリ106に供給される。
The selector 104 selects either the converted data from the data converter 121 or the sampling data YD n from the adder 103 according to the control signal CMP from the comparator 100. More specifically, if the control signal CMP is "1", the A input terminal side of the selector 104 is selected. As a result, the data converter 12
The converted data from 1 is the sampling data YD j
Is output as the first current sample memory 106
Is supplied to. On the other hand, if the control signal CMP is "0", the B input terminal side of the selector 104 is selected. As a result, the data from the adder 103, that is, the obtained sampling data YD n is output and supplied to the first current sample memory 106.

【0087】この第1のカレントサンプルメモリ106
への書き込みは、特定の条件(後述する)が成立した場
合を除き、チャンネルクロックCCKに同期して行われ
る。この第1のカレントサンプルメモリ106からのサ
ンプリングデータYDnは、クリア回路126及び減算
器129に供給される。
This first current sample memory 106
The writing to is performed in synchronization with the channel clock CCK except when a specific condition (described later) is satisfied. The sampling data YD n from the first current sample memory 106 is supplied to the clear circuit 126 and the subtractor 129.

【0088】この第1及び第2のカレントサンプルメモ
リ106及び128への書き込みは、ディレイラッチ1
24とANDゲート125とによって作成される書き込
み信号によって行われる。ディレイラッチ124は、反
転出力を有するDタイプのフリップフロップで構成され
ている。ディレイラッチ124は一致信号CFをチャン
ネルクロックCCKに同期してラッチし、その反転出力
端子からの信号をANDゲート125に供給する。従っ
て、一致信号CFが「0」であれば、チャンネルクロッ
クCCKがANDゲート125を介して第1及び第2の
カレントサンプルメモリ106及び128に供給され
る。これにより、第1のカレントサンプルメモリ106
に保持されていたサンプリングデータYDn-1が第2の
カレントサンプルメモリ128に書き込まれると共に、
セレクタ104の出力(YDn又はYDj)が第1のカレ
ントサンプルメモリ106に書き込まれる。一方、一致
信号CFが「1」であればチャンネルクロックCCKは
ANDゲート125によりマスクされ、第1及び第2の
カレントサンプルメモリ106及び128への書き込み
は行われない。
Writing to the first and second current sample memories 106 and 128 is performed by the delay latch 1
This is done by the write signal created by 24 and the AND gate 125. The delay latch 124 is composed of a D-type flip-flop having an inverted output. The delay latch 124 latches the coincidence signal CF in synchronization with the channel clock CCK, and supplies the signal from its inverting output terminal to the AND gate 125. Therefore, if the coincidence signal CF is “0”, the channel clock CCK is supplied to the first and second current sample memories 106 and 128 via the AND gate 125. As a result, the first current sample memory 106
The sampling data YD n-1 stored in the second current sample memory 128 is written in the second current sample memory 128, and
The output (YD n or YD j ) of the selector 104 is written in the first current sample memory 106. On the other hand, if the coincidence signal CF is "1", the channel clock CCK is masked by the AND gate 125, and writing to the first and second current sample memories 106 and 128 is not performed.

【0089】一致信号CFは、後述する音源回路におい
て生成される。この一致信号CFは、整数部に同じ値を
有する波形読出アドレスが続けて2回以上出力されたと
きに「1」にセットされ、そうでないときに「0」にク
リアされる。従って、一致信号CFが「1」にセットさ
れると、その1チャンネルクロック後のタイムスロット
では、第1及び第2のカレントサンプルメモリ106及
び128への書き込みは禁止される。
The coincidence signal CF is generated in the tone generator circuit described later. The coincidence signal CF is set to "1" when the waveform read address having the same value in the integer part is successively output twice or more, and is cleared to "0" otherwise. Therefore, when the coincidence signal CF is set to "1", writing to the first and second current sample memories 106 and 128 is prohibited in the time slot after one channel clock.

【0090】本発明の補間手段は、減算器129、乗算
器130及び加算器131で構成されている。これら
は、サンプリングデータYDj+1とYDjとの間、又はサ
ンプリングデータYDn+1とYDnとの間の補間値を算出
するために使用される。減算器129は、第1のカレン
トサンプルメモリ106の内容(YDj+1又はYDn+1
から第2のカレントサンプルメモリ128の内容(YD
j又はYDn)を減算する。これにより、2つのサンプリ
ングデータの間の差分値が算出される。この減算器12
9の出力は乗算器130のB入力端子に供給される。
The interpolation means of the present invention comprises a subtractor 129, a multiplier 130 and an adder 131. These are used to calculate an interpolated value between the sampling data YD j + 1 and YD j or between the sampling data YD n + 1 and YD n . The subtractor 129 stores the contents (YD j + 1 or YD n + 1 ) of the first current sample memory 106.
To the contents of the second current sample memory 128 (YD
j or YD n ) is subtracted. Thereby, the difference value between the two sampling data is calculated. This subtractor 12
The output of 9 is supplied to the B input terminal of the multiplier 130.

【0091】乗算器130のA入力端子には、ディレイ
ラッチ122及び123で2チャンネルクロック分遅延
された小数アドレス(詳細は後述)が供給される。乗算
器130は、この小数アドレスと減算器129からの差
分値とを乗算する。この乗算器130の出力は補間値を
構成し、加算器131のB入力端子に供給される。第2
のカレントサンプルメモリ128からのサンプリングデ
ータYDn又はYDjは、加算器131のA入力端子に供
給される。従って、この加算器131で加算が行われる
ことにより、補間されたサンプリングデータYDが生成
される。この加算器131の出力(YD)はクリア回路
132に供給される。
The A input terminal of the multiplier 130 is supplied with a decimal address (details will be described later) delayed by two channel clocks by the delay latches 122 and 123. The multiplier 130 multiplies this decimal address by the difference value from the subtractor 129. The output of the multiplier 130 constitutes an interpolated value and is supplied to the B input terminal of the adder 131. Second
The sampling data YD n or YD j from the current sample memory 128 is supplied to the A input terminal of the adder 131. Therefore, the addition data is added by the adder 131 to generate the interpolated sampling data YD. The output (YD) of the adder 131 is supplied to the clear circuit 132.

【0092】クリア回路132は、後述する音源回路の
制御フラグラッチ302からのクリア信号CLRBがア
クティブにされた時にゼロを出力し、そうでない時は加
算器131の出力(補間されたサンプリングデータY
D)をそのまま通過させる。このクリア回路132の出
力は、補間されたサンプリングデータYDとして、楽音
信号を発生させるために、後述する音源回路の乗算器3
26に供給される。このクリア信号CLRBは、上述し
たように、差分波形データΔWDn又は特定波形データ
jの読み出しが開始された時に、つまりキーオンイベ
ントが発生した時にアクティブになり、不定な補間され
たサンプリングデータの出力が防止される。
The clear circuit 132 outputs zero when the clear signal CLRB from the control flag latch 302 of the tone generator circuit described later is activated, and otherwise outputs the adder 131 (interpolated sampling data Y
Pass D) as is. The output of the clear circuit 132 is used as the interpolated sampling data YD to generate a tone signal, so that the multiplier 3 of the tone generator circuit described later is used.
26. As described above, the clear signal CLRB is activated when the reading of the differential waveform data ΔWD n or the specific waveform data W j is started, that is, when the key-on event occurs, and the output of the indeterminate interpolated sampling data is output. Is prevented.

【0093】以上説明したように、本復号回路は、内部
にサンプリングデータYDnを記憶しているので、従来
とは異なり、常に2つのサンプリングポイントにおける
サンプリングデータを読み出す必要がない。即ち、波形
メモリ316から1つの波形データ群の波形データを読
み出すだけで補間が可能となる。従って、回路構成が簡
単になる。また、例えば1発音チャンネルに対応するタ
イムスロットの時間を短くできるので、より高速処理が
可能な楽音信号発生装置を達成できる。
As described above, since the present decoding circuit internally stores the sampling data YD n , it is not necessary to always read the sampling data at two sampling points, unlike the conventional case. That is, interpolation can be performed only by reading the waveform data of one waveform data group from the waveform memory 316. Therefore, the circuit configuration becomes simple. Further, for example, the time of the time slot corresponding to one sounding channel can be shortened, so that a tone signal generating apparatus capable of higher speed processing can be achieved.

【0094】(2)音源回路の説明 図7は、本楽音信号発生装置に適用される音源回路の第
2の実施形態のブロック図である。この音源回路には、
上述した復号回路317が適用されている。以下、図7
に示したブロック図を参照しながら音源回路の構成及び
動作につき詳細に説明する。
(2) Description of Sound Source Circuit FIG. 7 is a block diagram of a second embodiment of the sound source circuit applied to the musical tone signal generator. In this sound source circuit,
The decoding circuit 317 described above is applied. Below, FIG.
The configuration and operation of the tone generator circuit will be described in detail with reference to the block diagram shown in FIG.

【0095】本発明の読出手段は、Fナンバ生成手段、
Fナンバ累算手段、バンクメモリ311、ORゲート3
12、加算器313、比較器314及びセレクタ315
により構成されている。Fナンバ生成手段は、カレント
ステップメモリ303及びクリア回路306により構成
されている。Fナンバ累算手段は、セレクタ304、カ
レントアドレスメモリ305、加算器307、ループト
ップアドレスメモリ308、ループエンドアドレスメモ
リ309及び比較器310により構成されている。
The reading means of the present invention is an F number generating means,
F number accumulating means, bank memory 311, OR gate 3
12, adder 313, comparator 314 and selector 315
It consists of. The F number generating means is composed of a current step memory 303 and a clear circuit 306. The F number accumulation means is composed of a selector 304, a current address memory 305, an adder 307, a loop top address memory 308, a loop end address memory 309, and a comparator 310.

【0096】先ず、波形メモリ316から波形データ群
の波形データを読み出すための波形読出アドレスの形式
について図10を参照しながら説明する。波形読出アド
レスは、図10に示すように、32ビットのデータで構
成されている。波形読出アドレスは、整数部と小数部と
を有している。波形読出アドレスの下位16ビット(A
15−A0)は、小数アドレス(小数部)として用いら
れ、且つ補間アドレスとして用いられる。この第2の実
施形態では、4ビット(A15−A12)が補間アドレ
スとして使用されるが、必要に応じて1〜16ビットの
範囲で任意の値を使用することができる。
First, the format of the waveform read address for reading the waveform data of the waveform data group from the waveform memory 316 will be described with reference to FIG. The waveform read address is composed of 32-bit data as shown in FIG. The waveform read address has an integer part and a decimal part. Lower 16 bits (A
15-A0) is used as a decimal address (decimal part) and is also used as an interpolation address. In the second embodiment, 4 bits (A15-A12) are used as the interpolation address, but any value in the range of 1 to 16 bits can be used as required.

【0097】整数部に係る波形読出アドレスの上位16
ビット(A31〜A16)と、バンクアドレス(B7−
B0)とは、実際に波形メモリ316の位置を指定する
アドレスを形成する。波形メモリ316は、それぞれが
64Kバイトで成るバンクが256個集まって構成され
ている。バンクアドレスは256個のバンクの中から1
つのバンクを選択するために使用される。整数アドレス
は、バンク内の1つの差分波形データΔWDn又は特定
波形データWjの位置を指定するために使用される。
High-order 16 of the waveform read address related to the integer part
Bits (A31 to A16) and bank address (B7-
B0) forms an address that actually specifies the position of the waveform memory 316. The waveform memory 316 is composed of 256 banks each of which is 64 Kbytes. Bank address is 1 out of 256 banks
Used to select one bank. The integer address is used to specify the position of one differential waveform data ΔWD n or specific waveform data W j in the bank.

【0098】ループトップアドレスLTは16ビットの
データで構成されている。このループトップアドレスL
Tは、波形読出アドレスの整数部に対応する。ループエ
ンドアドレスLEは16ビットのデータで構成されてい
る。このループエンドプアドレスLEは、波形読出アド
レスの整数部に対応する。ループトップアドレスLT
は、波形データ群のリピート部の先頭位置を指定するた
めに使用される。ループエンドアドレスLEは、波形デ
ータ群のリピート部の終端位置を指定するために使用さ
れる。
The loop top address LT is composed of 16-bit data. This loop top address L
T corresponds to the integer part of the waveform read address. The loop end address LE is composed of 16-bit data. This loop end address LE corresponds to the integer part of the waveform read address. Loop top address LT
Is used to specify the start position of the repeat part of the waveform data group. The loop end address LE is used to specify the end position of the repeat part of the waveform data group.

【0099】図7において、CPUと音源回路とは16
ビットのデータバスDB、24ビットのアドレスバスA
B、及び制御データバスCNTを介して互いに接続され
ている。ラッチ300は双方向トライステートラッチで
ある。このラッチ300は、CPUと音源回路との間の
データの送受を制御するために使用される。このラッチ
300は、データバスDBから16ビットのデータを取
り込み、それを内部バス350へ出力する。更に、この
ラッチ300は、内部バス350から16ビットのデー
タを取り込み、それをCPUへ出力する。ラッチ300
のラッチタイミング、転送方向は、タイミング発生器3
01から送られてくる制御信号CTに基づいて制御され
る。
In FIG. 7, the CPU and the tone generator circuit are 16
Bit data bus DB, 24-bit address bus A
B and the control data bus CNT are connected to each other. Latch 300 is a bidirectional tristate latch. The latch 300 is used to control transmission / reception of data between the CPU and the sound source circuit. The latch 300 takes in 16-bit data from the data bus DB and outputs it to the internal bus 350. Further, the latch 300 takes in 16-bit data from the internal bus 350 and outputs it to the CPU. Latch 300
The latch timing and transfer direction of the
The control is performed based on the control signal CT sent from 01.

【0100】タイミング発生器301は、第1の実施形
態におけるタイミング発生器201と同様に、音源回路
の各部を制御するための各種制御信号を生成する。具体
的には、このタイミング発生器301は、ラッチ300
を制御するための制御信号CT、後述するセレクタ30
4を制御するための制御信号SEL及び1つの発音チャ
ンネルを指定するためのタイミング信号TCを生成す
る。これらの各信号は、第1の実施形態の場合と同様の
性質を有する。
The timing generator 301, like the timing generator 201 in the first embodiment, generates various control signals for controlling each part of the tone generator circuit. More specifically, the timing generator 301 includes a latch 300
Control signal CT for controlling the
A control signal SEL for controlling 4 and a timing signal TC for designating one sounding channel are generated. Each of these signals has the same property as in the case of the first embodiment.

【0101】制御フラグラッチ302は時分割構成であ
り、CPUから送られてきたデータを記憶する。この制
御フラグラッチ202の所定ビットから出力されるクリ
ア信号CLRAはクリア回路306に供給される。ま
た、他のビットから出力されるクリア信号CLRBはク
リア回路126及び132(図6参照)に供給される。
The control flag latch 302 has a time-division structure and stores data sent from the CPU. The clear signal CLRA output from a predetermined bit of the control flag latch 202 is supplied to the clear circuit 306. Further, the clear signal CLRB output from the other bits is supplied to the clear circuits 126 and 132 (see FIG. 6).

【0102】カレントステップメモリ303は時分割構
成であり、Fナンバを記憶する。このカレントステップ
メモリ303は、本発明のFナンバ生成手段に対応す
る。CPUは押鍵情報に従ってFナンバを生成する。こ
のカレントステップメモリ303に格納されるべきFナ
ンバはCPUから得られる。このカレントステップメモ
リ303からのFナンバはクリア回路306に供給され
る。
The current step memory 303 has a time division structure and stores an F number. The current step memory 303 corresponds to the F number generating means of the present invention. The CPU generates an F number according to the key depression information. The F number to be stored in the current step memory 303 is obtained from the CPU. The F number from the current step memory 303 is supplied to the clear circuit 306.

【0103】クリア回路306は、制御フラグラッチ3
02からのクリア信号CLRAがアクティブにされた時
にゼロを出力し、そうでない時はカレントステップメモ
リ303からのFナンバをそのまま通過させる。このク
リア回路306の出力は加算器307のA入力端子に供
給される。ところで、クリア信号CLRAは、通常、波
形メモリ316からの波形データ群の波形データの読み
出しが開始される時に、最初の1タイムスロットの間だ
けアクティブになるように制御される(図9参照)。従
って、初期状態では、加算器307のA入力端子にはゼ
ロが供給される。従って、加算器307は、カレントア
ドレスメモリ305の内容をそのまま出力する。これに
より、初期状態においては、波形データ群の波形データ
の読み出しは、特定の波形読出アドレスから開始される
ようになっている。
The clear circuit 306 controls the control flag latch 3
When the clear signal CLRA from 02 is activated, zero is output, otherwise, the F number from the current step memory 303 is passed through as it is. The output of the clear circuit 306 is supplied to the A input terminal of the adder 307. By the way, the clear signal CLRA is usually controlled to be active only during the first one time slot when the reading of the waveform data of the waveform data group from the waveform memory 316 is started (see FIG. 9). Therefore, in the initial state, zero is supplied to the A input terminal of the adder 307. Therefore, the adder 307 outputs the content of the current address memory 305 as it is. As a result, in the initial state, the reading of the waveform data of the waveform data group is started from the specific waveform read address.

【0104】セレクタ204は、4つの入力ポート(ポ
ート0、ポート1、ポート2及びポート3)を有してい
る。これらの入力ポートは、制御入力端子S0及びS1
に供給される制御信号に従って選択される。ポート1〜
3には16ビットのデータしか供給されていない。従っ
て、これらのいずれか1つが選択された時は、下位16
ビットを「0」で置き換えることにより作製された32
ビットのデータが出力される。一方、ポート0には32
ビットのデータが供給されるので、このポート0が選択
された時は、入力された32ビットのデータがそのまま
出力される。制御信号(S0、S1)と選択される入力
ポートとの関係を下表に示す。
The selector 204 has four input ports (port 0, port 1, port 2 and port 3). These input ports are connected to control input terminals S0 and S1.
Is selected according to the control signal supplied to. Port 1
3 is supplied with only 16-bit data. Therefore, when any one of these is selected, the lower 16
32 created by replacing bits with "0"
Bit data is output. 32 on port 0
Since the bit data is supplied, when the port 0 is selected, the input 32-bit data is output as it is. The relationship between the control signals (S0, S1) and the selected input port is shown in the table below.

【0105】[0105]

【表2】 <S1><S0> <選択される入力ポート> 0 0 ポート0(次波形読出アドレス) 0 1 ポート1(ループトップアドレスLT) 1 0 ポート2(CPUから送られてきたデータ) 1 1 ポート3(CPUから送られてきたデータ)[Table 2] <S1> <S0> <Selected input port> 0 0 Port 0 (Next waveform read address) 0 1 Port 1 (Loop top address LT) 1 0 Port 2 (Data sent from CPU) 1 1 Port 3 (data sent from CPU)

【0106】上記ポート2及びポート3は、複数の波形
データ群の中の1つの波形データ群を選択するために使
用される。即ち、CPUは制御信号SELを生成するた
めの制御データをタイミング発生器301に送ると共
に、所望する音色に対応する波形データ群の先頭アドレ
ス(スタートアドレスSAの整数部)をデータバスDB
を介してラッチ300に送る。これにより、制御信号S
ELに基づきポート0が選択され、セレクタ304は波
形読出アドレスを出力する。ポート1は、波形データ群
のリピート部のループエンドアドレスLEからループト
ップアドレスLTに戻るために使用される。このポート
1が選択されると、セレクタ304は32ビットのルー
プトップアドレスLT(整数アドレス+小数アドレス
(0))を出力する。ポート0は上記以外の目的、つま
り波形読出アドレスを順次更新しながら、波形データ群
の波形データを読み出すために使用される。このポート
0が選択されると、セレクタ304は32ビットの次波
形読出アドレス(整数アドレス+小数アドレス)を出力
する。このセレクタ304で選択されたデータは、カレ
ントアドレスメモリ305に供給される。
The ports 2 and 3 are used to select one waveform data group from a plurality of waveform data groups. That is, the CPU sends the control data for generating the control signal SEL to the timing generator 301, and at the same time, sets the start address (integer part of the start address SA) of the waveform data group corresponding to the desired tone color in the data bus DB
To the latch 300 via. As a result, the control signal S
Port 0 is selected based on EL, and the selector 304 outputs the waveform read address. Port 1 is used to return from the loop end address LE of the repeat part of the waveform data group to the loop top address LT. When this port 1 is selected, the selector 304 outputs a 32-bit loop top address LT (integer address + decimal address (0)). The port 0 is used for purposes other than the above, that is, for reading the waveform data of the waveform data group while sequentially updating the waveform read address. When this port 0 is selected, the selector 304 outputs a 32-bit next waveform read address (integer address + fractional address). The data selected by the selector 304 is supplied to the current address memory 305.

【0107】カレントアドレスメモリ305は時分割構
成であり、現波形読出アドレスを記憶する。このカレン
トアドレスメモリ305からの現波形読出アドレスは、
加算器307のB入力端子に供給される。
The current address memory 305 has a time division structure and stores the current waveform read address. The current waveform read address from the current address memory 305 is
It is supplied to the B input terminal of the adder 307.

【0108】加算器307は、クリア回路306からの
Fナンバを現波形読出アドレスに加算する。この加算結
果は、次波形読出アドレスとして使用される。この加算
器307の出力は、セレクタ304のポート0(A31
〜A0)、ORゲート312(A15−A12)、加算
器313のB入力端子(A31−A16)及び復号回路
317のディレイラッチ122(A15−A12)に供
給される。
The adder 307 adds the F number from the clear circuit 306 to the current waveform read address. The result of this addition is used as the next waveform read address. The output of the adder 307 is the port 0 (A31
To A0), the OR gate 312 (A15-A12), the B input terminal (A31-A16) of the adder 313, and the delay latch 122 (A15-A12) of the decoding circuit 317.

【0109】加算器307からの波形読出アドレスの補
間アドレス(A15−12)は、ORゲート312に供
給される。ORゲート312は、論理和演算を行う。従
って、補間アドレスがゼロでない場合は、ORゲート3
12から「1」が出力され、加算器313のA入力端子
に供給される。
The interpolation address (A15-12) of the waveform read address from the adder 307 is supplied to the OR gate 312. The OR gate 312 performs a logical sum operation. Therefore, if the interpolation address is not zero, OR gate 3
“1” is output from 12 and supplied to the A input terminal of the adder 313.

【0110】加算器313は、ORゲート312の出力
を整数アドレス(A31−A16)に加算する。これ
ら、ORゲート312と加算器313とにより、補間ア
ドレスがゼロでなかった時に、整数アドレス(A31−
A16)をインクリメント(「+1」)する機能が達成
されている。この結果、補間用の次波形読出アドレスを
得ることができる。この加算器313の出力は比較器3
14のA入力端子及びセレクタ315のB入力端子に供
給される。
The adder 313 adds the output of the OR gate 312 to the integer address (A31-A16). By the OR gate 312 and the adder 313, when the interpolation address is not zero, an integer address (A31-
The function of incrementing (A + 1) (“+1”) has been achieved. As a result, the next waveform read address for interpolation can be obtained. The output of the adder 313 is the comparator 3
It is supplied to the A input terminal of 14 and the B input terminal of the selector 315.

【0111】後述するがループエンドアドレスメモリ3
09からのループエンドアドレスLEは、比較器314
のB入力端子に供給される。従って、この比較器314
では、次波形読出アドレスの整数部とループエンドアド
レスLEとが比較される。この比較の結果、両者が一致
した場合は「1」が出力され、そうでない場合は「0」
が出力される。この比較器314の出力は、制御信号と
してセレクタ315の入力端子Sに供給される。
As will be described later, the loop end address memory 3
The loop end address LE from 09 is output to the comparator 314.
Is supplied to the B input terminal of. Therefore, this comparator 314
Then, the integer part of the next waveform read address is compared with the loop end address LE. As a result of this comparison, if the two match, "1" is output, and if not, "0"
Is output. The output of the comparator 314 is supplied to the input terminal S of the selector 315 as a control signal.

【0112】セレクタ315は、比較器314からの制
御信号に応じて、後述するループトップアドレスメモリ
308からのループトップアドレスLT(T31−T1
6)、又は加算器313からの次波形読出アドレスの整
数部の何れか1つを選択する。「1」がセレクタ315
の入力端子Sに供給された時は、ループトップアドレス
LTを出力するために、セレクタ315のA入力端子が
選択される。一方、「0」がセレクタ315の入力端子
Sに供給された時は、次波形読出アドレスの整数部を出
力するために、セレクタ315のB入力端子が選択され
る。このセレクタ315の出力は、波形読出アドレス
(A31−A16)として波形メモリ316に供給され
ると共に、ディレイラッチ318及び比較器319のA
入力端子に供給される。この構成により、次波形読出ア
ドレスの整数部がループエンドアドレスLEに一致した
ときに、ループトップアドレスLTに戻る機能が達成さ
れている。
The selector 315 responds to the control signal from the comparator 314 and outputs a loop top address LT (T31-T1) from a loop top address memory 308, which will be described later.
6) or the integer part of the next waveform read address from the adder 313 is selected. “1” is the selector 315
When it is supplied to the input terminal S of, the A input terminal of the selector 315 is selected in order to output the loop top address LT. On the other hand, when "0" is supplied to the input terminal S of the selector 315, the B input terminal of the selector 315 is selected to output the integer part of the next waveform read address. The output of the selector 315 is supplied to the waveform memory 316 as the waveform read address (A31-A16), and at the same time, the delay latch 318 and the A of the comparator 319 are used.
It is supplied to the input terminal. With this configuration, the function of returning to the loop top address LT when the integer part of the next waveform read address matches the loop end address LE is achieved.

【0113】ディレイラッチ318は時分割構成であ
り、バンクアドレス及びセレクタ315からの次波形読
出アドレスの整数部をチャンネルクロックCCKに同期
してラッチする。このディレイラッチ318は、バンク
アドレスと次波形読出アドレスの整数部とを1チャンネ
ルクロック後まで記憶するために使用される。このディ
レイラッチ318の出力は比較器319のB入力端子に
供給される。
The delay latch 318 has a time division structure and latches the bank address and the integer part of the next waveform read address from the selector 315 in synchronization with the channel clock CCK. The delay latch 318 is used to store the bank address and the integer part of the next waveform read address until one channel clock later. The output of the delay latch 318 is supplied to the B input terminal of the comparator 319.

【0114】比較器319は、セレクタ315の出力と
ディレイラッチ318の出力とを比較する。そして、両
者が一致した場合は「1」が、そうでない場合は「0」
が出力される。この比較器319の出力はクリア回路3
20に供給される。
The comparator 319 compares the output of the selector 315 with the output of the delay latch 318. If the two match, it is "1", and if not, "0"
Is output. The output of the comparator 319 is the clear circuit 3
20.

【0115】クリア回路320は、制御フラグラッチ3
02からのクリア信号CLRBがアクティブにされた時
にゼロを出力する。そうでない時は、比較器319の出
力をそのまま通過させる。このクリア回路320の出力
は、一致信号CFとして、復号回路317のディレイラ
ッチ124に供給される。このクリア信号CLRBは、
波形データ群の波形データの読み出しが開始される時
に、先頭の2タイムスロットの間だけアクティブになる
ように制御される(図9参照)。従って、先頭の2タイ
ムスロットの間は一致信号CFは「0」に強制される。
これにより、音源回路の誤動作が回避される。
The clear circuit 320 uses the control flag latch 3
It outputs zero when the clear signal CLRB from 02 is activated. If not, the output of the comparator 319 is passed as it is. The output of the clear circuit 320 is supplied to the delay latch 124 of the decoding circuit 317 as the coincidence signal CF. This clear signal CLRB is
When the reading of the waveform data of the waveform data group is started, it is controlled to be active only during the first two time slots (see FIG. 9). Therefore, the coincidence signal CF is forced to "0" during the first two time slots.
This avoids malfunction of the tone generator circuit.

【0116】波形メモリ316は、本発明の波形記憶手
段に対応する。この波形メモリ316は、上述したよう
に、DPCM形式の差分波形データΔWDn又はPCM
形式の特定波形データWjを記憶する。この波形メモリ
316の内容は、セレクタ315からの波形読出アドレ
スの整数部及び後述するバンクメモリ311からのバン
クアドレスに従って読み出される。この波形メモリ20
8から読み出された波形データ群の波形データは、復号
回路317に供給される。
The waveform memory 316 corresponds to the waveform storage means of the present invention. As described above, the waveform memory 316 stores the difference waveform data ΔWD n or PCM in the DPCM format.
The format specific waveform data W j is stored. The contents of the waveform memory 316 are read according to the integer part of the waveform read address from the selector 315 and the bank address from the bank memory 311 described later. This waveform memory 20
The waveform data of the waveform data group read from No. 8 is supplied to the decoding circuit 317.

【0117】復号回路317からのサンプリングデータ
YDは乗算器326のA入力端子に供給される。
The sampling data YD from the decoding circuit 317 is supplied to the A input terminal of the multiplier 326.

【0118】ループトップアドレスメモリ308は時分
割構成であり、複数の波形データ群のそれぞれのループ
トップアドレスLTを記憶する。ここに、複数の波形デ
ータ群のそれぞれは、それぞれの音色に対応している。
このループトップアドレスメモリ308からのループト
ップアドレスLTは、セレクタ304のポート1を介し
てカレントアドレスメモリ305に記憶される。
The loop top address memory 308 has a time division structure and stores each loop top address LT of a plurality of waveform data groups. Here, each of the plurality of waveform data groups corresponds to each timbre.
The loop top address LT from the loop top address memory 308 is stored in the current address memory 305 via the port 1 of the selector 304.

【0119】ループエンドアドレスメモリ309は時分
割構成であり、複数の波形データ群のそれぞれのループ
エンドアドレスLEを記憶する。このループエンドアド
レスメモリ309からのループエンドアドレスLEは、
比較器314のB入力端子に供給される。そして、ルー
プエンドアドレスLEは、常時、加算器313から出力
されるデータと比較される。
The loop end address memory 309 has a time division structure and stores each loop end address LE of a plurality of waveform data groups. The loop end address LE from this loop end address memory 309 is
It is supplied to the B input terminal of the comparator 314. Then, the loop end address LE is constantly compared with the data output from the adder 313.

【0120】また、ループエンドアドレスメモリ309
からのループエンドアドレスLEは比較器310のB入
力端子に供給される。比較器310は、加算器307か
らの次波形読出アドレスの整数部とループエンドアドレ
スメモリ309からのループエンドアドレスLEとを比
較する。そして、両者が一致すれば「1」が、そうでな
ければ「0」が出力される。この比較器310の出力は
セレクタ304の制御入力端子S0に供給される。これ
により、次波形読出アドレスの整数部がループエンドア
ドレスLEに一致した時は、セレクタのポート1が選択
され、ループトップアドレスLT(上位16ビット)及
びゼロ(下位16ビット)の合計32ビットがカレント
アドレスメモリ305に記憶される。そうでなければポ
ート0が選択され、次波形読出アドレスがカレントアド
レスメモリ305に記憶される。これにより、波形メモ
リ316内の波形データ群のリピート部を繰り返し読み
出す機能が達成されている。
Further, the loop end address memory 309
The loop end address LE from is supplied to the B input terminal of the comparator 310. The comparator 310 compares the integer part of the next waveform read address from the adder 307 and the loop end address LE from the loop end address memory 309. If the two match, "1" is output, and if not, "0" is output. The output of the comparator 310 is supplied to the control input terminal S0 of the selector 304. As a result, when the integer part of the next waveform read address matches the loop end address LE, port 1 of the selector is selected and a total of 32 bits of the loop top address LT (upper 16 bits) and zero (lower 16 bits). It is stored in the current address memory 305. Otherwise, port 0 is selected and the next waveform read address is stored in the current address memory 305. As a result, the function of repeatedly reading the repeat portion of the waveform data group in the waveform memory 316 is achieved.

【0121】バンクメモリ311は時分割構成であり、
波形メモリ316の1つのバンクを選択するためのバン
クアドレスを記憶する。このバンクメモリ311からの
バンクアドレスは、波形メモリ316に供給される。
The bank memory 311 has a time division structure,
The bank address for selecting one bank of the waveform memory 316 is stored. The bank address from the bank memory 311 is supplied to the waveform memory 316.

【0122】エンベロープパラメータメモリ321及び
エンベロープ発生器323の構成、動作及び機能は、そ
れぞれ第1の実施形態で説明したエンベロープパラメー
タメモリ214及びエンベロープ発生器215と同じで
あるので説明は省略する。エンベロープ発生器323か
らのエンベロープレベルELは、ディレイラッチ324
に供給される。
The configurations, operations, and functions of the envelope parameter memory 321 and the envelope generator 323 are the same as those of the envelope parameter memory 214 and the envelope generator 215 described in the first embodiment, and therefore the description thereof will be omitted. The envelope level EL from the envelope generator 323 is supplied to the delay latch 324.
Is supplied to.

【0123】本発明の楽音信号発生手段は、エンベロー
プ発生器323、ディレイラッチ324及び325及び
乗算器326で構成されている。
The tone signal generating means of the present invention comprises an envelope generator 323, delay latches 324 and 325, and a multiplier 326.

【0124】ディレイラッチ324は、エンベロープ発
生器323からのエンベロープレベルELをチャンネル
クロックCCKに同期して記憶する。このディレイラッ
チ324からの、1チャンネルクロック分だけ遅延され
たエンベロープレベルELはディレイラッチ325に供
給される。ディレイラッチ325は、ディレイラッチ3
24からのエンベロープレベルをチャンネルクロックC
CKに同期して記憶する。このディレイラッチ325か
らの、2チャンネルクロック分だけ遅延されたエンベロ
ープレベルは、乗算器326のB入力端子に供給され
る。これらディレイラッチ324及び325で達成され
るパイプライン制御により、2チャンネルクロック分遅
延することにより得られたサンプリングデータYDと、
そのサンプリングデータYDに付加すべきエンベロープ
データとの位相が調整される。
The delay latch 324 stores the envelope level EL from the envelope generator 323 in synchronization with the channel clock CCK. The envelope level EL delayed by one channel clock from the delay latch 324 is supplied to the delay latch 325. The delay latch 325 is the delay latch 3
Channel level C from the envelope level from 24
Store in synchronization with CK. The envelope level delayed by two channel clocks from the delay latch 325 is supplied to the B input terminal of the multiplier 326. By the pipeline control achieved by these delay latches 324 and 325, sampling data YD obtained by delaying by two channel clocks,
The phase of the envelope data to be added to the sampling data YD is adjusted.

【0125】乗算器326は、復号回路317からのサ
ンプリングデータYDとエンベロープ発生器323から
のエンベロープレベルを2チャンネルクロック分だけ遅
延させたデータとを乗算する。この乗算により、エンベ
ロープが付加された楽音信号が生成される。この乗算器
326の出力は、系列加算器327に供給される。系列
加算器327、デジタルコントロールフィルタ328及
びD/A変換器329は、それぞれ、上述した第1の実
施形態の系列加算器218、デジタルコントロールフィ
ルタ219及びD/A変換器220と同じ構成であり、
それらの動作も同じである。
The multiplier 326 multiplies the sampling data YD from the decoding circuit 317 and the data obtained by delaying the envelope level from the envelope generator 323 by 2 channel clocks. By this multiplication, a musical tone signal with an envelope added is generated. The output of the multiplier 326 is supplied to the series adder 327. The series adder 327, the digital control filter 328, and the D / A converter 329 have the same configurations as the series adder 218, the digital control filter 219, and the D / A converter 220 of the above-described first embodiment, respectively.
Their operations are also the same.

【0126】次に、本第2の実施形態の理解を深めるた
めに、図9を参照しながら本第2の実施形態の動作につ
いて説明する。図9は、波形メモリ316に記憶された
波形データ群の波形データが補間され、サンプリングデ
ータYDが出力される様子を示している。図中の下部
は、復号回路317の主要ポイントにおけるデータの変
化の状態を示している。なお、説明を簡単にするため
に、変化の状態は10進数で示されている。
Next, in order to deepen the understanding of the second embodiment, the operation of the second embodiment will be described with reference to FIG. FIG. 9 shows how the waveform data of the waveform data group stored in the waveform memory 316 is interpolated and the sampling data YD is output. The lower part of the figure shows the state of data change at the main points of the decoding circuit 317. In addition, for simplification of description, the state of change is indicated by a decimal number.

【0127】図9において、白丸印で示された点は、波
形メモリ316に記憶されている差分波形データΔWD
nを示し、「<>」記号で囲まれた数は、範囲値Z13
を示す。図9は、0〜10番地に波形データ群の波形デ
ータが格納されている様子を示している。即ち、D(j
=0)、ΔWD1、ΔWD2、・・・という波形データ群
の波形データに対応して、0番地に「0」、1番地に
「+200」、2番地に「+100」、・・・が順次格
納されている。
In FIG. 9, points indicated by white circles are the difference waveform data ΔWD stored in the waveform memory 316.
The number that indicates n and is surrounded by the "<>" symbols is the range value Z13.
Indicates. FIG. 9 shows that the waveform data of the waveform data group is stored at addresses 0 to 10. That is, D (j
= 0), ΔWD 1 , ΔWD 2 , ... Corresponding to the waveform data of the waveform data group, “0” is assigned to address 0, “+200” is assigned to address 1, “+100” is assigned to address 2, and so on. Sequentially stored.

【0128】更に、図9中の点線は、サンプリングデー
タYDの遷移を示している。点線上の黒丸印は、小数ア
ドレスにより補間されたサンプリングデータ、つまり、
本復号回路317における補間によって得られたサンプ
リングデータYDを示している。図9は、Fナンバ=
0.75の場合を示している。従って、波形読出アドレ
スの整数アドレスC31−C16は、「0→1→2→3
→3→4→5→6→・・・」と進み、小数アドレスFA
Fは、2段のディレイラッチ122及び123により遅
延されるため、「不定→不定→0→0.75→0.50
(累算されたFナンバ0.75+0.75=1.50の
小数部)→0.25(累算されたFナンバ1.50+
0.75=2.25の小数部)→・・・」と進む。波形
メモリ316から読み出された波形データ群の波形デー
タは、1段のディレイラッチ120により1サイクル遅
延される(図9ではZDで示されている)。
Furthermore, the dotted line in FIG. 9 shows the transition of the sampling data YD. The black circle on the dotted line is the sampling data interpolated by the decimal address, that is,
The sampling data YD obtained by the interpolation in the decoding circuit 317 is shown. FIG. 9 shows the F number =
The case of 0.75 is shown. Therefore, the integer addresses C31-C16 of the waveform read address are "0 → 1 → 2 → 3.
→ 3 → 4 → 5 → 6 → ... ”, and the decimal address FA
Since F is delayed by the two-stage delay latches 122 and 123, “indefinite → indefinite → 0 → 0.75 → 0.50
(Accumulated F number 0.75 + 0.75 = 1.50 fractional part) → 0.25 (accumulated F number 1.50+
0.75 = 2.25 fractional part) → ... ". The waveform data of the waveform data group read from the waveform memory 316 is delayed by one cycle by the delay latch 120 of one stage (indicated by ZD in FIG. 9).

【0129】一致信号CFは、音源回路内で作成され、
同一の波形読出アドレスが2回以上出力されたときに
「1」となるように制御される。この一致信号CFは、
ディレイラッチ124によって1チャンネルクロック分
だけ遅延される。比較結果を示す制御信号CMPは、復
号回路317の比較器100から出力される信号であ
る。この制御信号CMPが「1」のときは、データ変換
器121の出力がセレクタ104で選択され、カレント
サンプルメモリ106に供給される。
The coincidence signal CF is created in the tone generator circuit,
It is controlled to be "1" when the same waveform read address is output twice or more. This coincidence signal CF is
The delay latch 124 delays by one channel clock. The control signal CMP indicating the comparison result is a signal output from the comparator 100 of the decoding circuit 317. When the control signal CMP is “1”, the output of the data converter 121 is selected by the selector 104 and supplied to the current sample memory 106.

【0130】また、波形データ群の波形データ及び遅延
された波形データ群の波形データ(ZD)において、記
号「<>」で示されたデータは、波形メモリ316に記
憶されたPCM形式の特定波形データWjである。それ
以外のデータは、波形メモリ316に記憶されたDPC
M形式の差分波形データΔWDnである。パイプライン
制御方式の採用により、波形メモリ316に対する波形
読出アドレスの整数部の出力から、その結果(補間され
たサンプリングデータYD)が得られるまでに2チャン
ネルクロック分のディレイがかかっている。
In the waveform data of the waveform data group and the waveform data (ZD) of the delayed waveform data group, the data indicated by the symbol "<>" is the PCM format specific waveform stored in the waveform memory 316. This is the data W j . The other data is the DPC stored in the waveform memory 316.
It is the difference waveform data ΔWD n in the M format. By adopting the pipeline control method, there is a delay of two channel clocks from the output of the integer part of the waveform read address to the waveform memory 316 until the result (interpolated sampling data YD) is obtained.

【0131】以上説明したように、本第2の実施形態に
よれば、特定波形データWjが波形メモリ316から読
み出されると、それまで第1のカレントサンプルメモリ
106及び第2のカレントサンプルメモリ128に累積
されたサンプリングデータが捨てられて、特定波形デー
タを初期値として累算が再開される。従って、ADPC
M又はDPCM方式に特有の累積誤差を除去することが
できる。また、繰り返し読み出しでない時の累積誤差を
も抑止できる。
As described above, according to the second embodiment, when the specific waveform data W j is read from the waveform memory 316, the first current sample memory 106 and the second current sample memory 128 are stored until then. The sampling data accumulated in 1 is discarded, and the accumulation is restarted with the specific waveform data as the initial value. Therefore, ADPC
It is possible to eliminate the accumulated error peculiar to the M or DPCM method. In addition, it is possible to suppress an accumulated error when not repeatedly reading.

【0132】また、本第2の実施形態によれば、楽音波
形を単純に所定周期でサンプリングした場合であって
も、所定の広がりの範囲内にあるサンプリングデータD
jが提供されれば十分である。従って、波形データ群の
作成が容易になるという利点がある。
Further, according to the second embodiment, even when the musical tone waveform is simply sampled at a predetermined cycle, the sampling data D within the predetermined spread range is obtained.
It suffices if j is provided. Therefore, there is an advantage that the waveform data group can be easily created.

【0133】更に、補間されたサンプリングデータYD
が出力されるので、楽音信号発生装置は、細かいピッチ
の調整が可能となる。更に、従来と異なり、常に2つの
サンプリング点におけるサンプリングデータを読み出す
必要がない。即ち、累算されたFナンバ(波形読出アド
レス)の整数部の値が変化した時だけ、波形データ群の
次波形読出アドレスが読み出されるので、1つの発音チ
ャンネルに対応するタイムスロットの時間を短くでき
る。その結果、第2の実施形態の楽音信号発生装置によ
れば、より高速処理を達成できる。
Further, the interpolated sampling data YD
Is output, the tone signal generator can finely adjust the pitch. Furthermore, unlike the prior art, it is not always necessary to read the sampling data at two sampling points. That is, since the next waveform read address of the waveform data group is read out only when the value of the integral part of the accumulated F number (waveform read address) changes, the time of the time slot corresponding to one sound generation channel is shortened. it can. As a result, according to the tone signal generator of the second embodiment, higher speed processing can be achieved.

【0134】[0134]

【発明の効果】以上説明したように、本発明の楽音信号
発生装置によれば、簡単な回路構成であるにも拘わら
ず、ADPCM方式やDPCM方式によって楽音信号を
再生する場合に、波形データの繰り返し読み出しに起因
する累積誤差の発生を抑止でき、また、繰り返し読み出
しでない時の累積誤差をも抑止できる楽音信号発生装置
を提供することができる。
As described above, according to the musical tone signal generator of the present invention, the waveform data of the waveform data can be reproduced when the musical tone signal is reproduced by the ADPCM system or the DPCM system, though the circuit configuration is simple. It is possible to provide a musical tone signal generation device capable of suppressing the occurrence of cumulative error due to repeated reading, and also suppressing the cumulative error when not being repeatedly read.

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

【図1】本発明の楽音信号発生装置の第1の実施形態に
係る音源回路に適用される復号回路のブロック図であ
る。
FIG. 1 is a block diagram of a decoding circuit applied to a tone generator circuit according to a first embodiment of a tone signal generating apparatus of the present invention.

【図2】本発明の楽音信号発生装置の第1の実施形態の
音源回路のブロック図である。
FIG. 2 is a block diagram of a tone generator circuit of the first embodiment of the musical tone signal generator of the invention.

【図3】本発明の楽音信号発生装置の第1の実施形態で
使用されるデータを説明する図である。
FIG. 3 is a diagram illustrating data used in the first embodiment of the musical tone signal generating apparatus of the present invention.

【図4】本発明の楽音信号発生装置の第1の実施形態に
使用される波形データの作成方法を説明するための図で
ある。
FIG. 4 is a diagram for explaining a method of creating waveform data used in the first embodiment of the musical tone signal generator of the invention.

【図5】本発明の楽音信号発生装置の第1の実施形態に
おける波形データの波形メモリへの記憶例を示す図であ
る。
FIG. 5 is a diagram showing an example of storage of waveform data in a waveform memory in the first embodiment of the tone signal generating apparatus of the invention.

【図6】本発明の楽音信号発生装置の第2の実施形態に
係る音源回路に適用される復号回路のブロック図であ
る。
FIG. 6 is a block diagram of a decoding circuit applied to a tone generator circuit according to a second embodiment of a musical tone signal generator of the invention.

【図7】本発明の楽音信号発生装置の第2の実施形態の
音源回路のブロック図である。
FIG. 7 is a block diagram of a tone generator circuit of a second embodiment of the musical tone signal generator of the invention.

【図8】本発明の楽音信号発生装置の第2の実施形態で
使用されるデータを説明する図である。
FIG. 8 is a diagram for explaining data used in the second embodiment of the musical tone signal generator of the invention.

【図9】本発明の楽音信号発生装置の第2の実施形態に
おける波形データの波形メモリへの記憶例及び復号動作
を説明するための図である。
FIG. 9 is a diagram for explaining an example of storing waveform data in a waveform memory and a decoding operation in a second embodiment of the musical tone signal generating apparatus of the present invention.

【図10】本発明の楽音信号発生装置の第2の実施形態
で使用される波形読出アドレスを説明する図である。
FIG. 10 is a diagram for explaining waveform read addresses used in the second embodiment of the musical tone signal generator of the invention.

【図11】本発明の楽音信号発生装置の第2の実施形態
における復号回路の動作タイミングを示すタイミングチ
ャートである。
FIG. 11 is a timing chart showing the operation timing of the decoding circuit in the second embodiment of the musical tone signal generating apparatus of the present invention.

【図12】本発明の楽音信号発生装置の実施例における
波形データの波形メモリへの記憶例を示す図である。
FIG. 12 is a diagram showing an example of storing waveform data in a waveform memory in the embodiment of the musical tone signal generating apparatus of the present invention.

【符号の説明】[Explanation of symbols]

100、210、211、310、314、319
比較器 101 伸張回路 102 ゲート回路 103、131、206、307、313 加算器 104、204、304、315 セレクタ 105、126、132、207、320 クリア回
路 106、128 カレントサンプルメモリ 120、122、123、124、318、324、3
25 ディレイラッチ 121 データ変換器 125 ANDゲート 129 減算器 130、217、326 乗算器 200、300 ラッチ 201、301 タイミング発生器 202、302 制御フラグラッチ 203、303 カレントステップメモリ 205、305 カレントアドレスメモリ 208、316 波形メモリ 209、317 復号回路 212、308 ループトップアドレスメモリ 213、309 ループエンドアドレスメモリ 214、321 エンベロープパラメータメモリ 215、323 エンベロープ発生器 216、322 カレントエンベロープメモリ 218、327 系列加算器 219、328 デジタルコントロールフィルタ 220、329 D/A変換器 311 バンクメモリ 312 ORゲート
100, 210, 211, 310, 314, 319
Comparator 101 Expanding circuit 102 Gate circuit 103, 131, 206, 307, 313 Adder 104, 204, 304, 315 Selector 105, 126, 132, 207, 320 Clear circuit 106, 128 Current sample memory 120, 122, 123, 124, 318, 324, 3
25 Delay Latch 121 Data Converter 125 AND Gate 129 Subtractor 130, 217, 326 Multiplier 200, 300 Latch 201, 301 Timing Generator 202, 302 Control Flag Latch 203, 303 Current Step Memory 205, 305 Current Address Memory 208, 316 Waveform memory 209, 317 Decoding circuit 212, 308 Loop top address memory 213, 309 Loop end address memory 214, 321 Envelope parameter memory 215, 323 Envelope generator 216, 322 Current envelope memory 218, 327 Series adder 219, 328 Digital control Filter 220, 329 D / A converter 311 Bank memory 312 OR gate

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】(A)楽音波形をサンプリング点Pi(但
し、i=0,1,2,・・・,N−1)でサンプリング
することにより得られたサンプリングデータDiから選
ばれた特定サンプリングデータDj(但し、0≦j≦N
−1)に基づいて作製された特定波形データWjと、サ
ンプリングデータDn(但し、n=1,2,・・・N−
1であり、且つn≠j)からサンプリングデータDn-1
を減算して得られた差分波形データΔWDnとを記憶し
た波形記憶手段と、 (B)該波形記憶手段から、特定波形データWj又は差
分波形データΔWDnを、順次読み出す読出手段と、 (C)一時記憶手段と、 (D)該読出手段が特定波形データWjを読み出した場
合にサンプリングデータYDjを生成し、該サンプリン
グデータYDjを一時記憶手段に格納し、該読出手段が
差分波形データΔWDnを読み出した場合に該差分波形
データΔWDnを一時記憶手段に累算し、以てサンプリ
ングデータYDnを生成する復号手段と、 (E)得られたサンプリングデータYDj若しくはYDn
に基づき楽音信号を発生する楽音信号発生手段、とを備
えたことを特徴とする楽音信号発生装置。
(A) Selected from sampling data D i obtained by sampling a tone waveform at a sampling point P i (where i = 0, 1, 2, ..., N-1). Specific sampling data D j (where 0 ≦ j ≦ N
Specific waveform data W j created based on −1) and sampling data D n (where n = 1, 2, ... N−
1 and the sampling data D n-1 from n ≠ j)
Waveform storage means for storing the differential waveform data ΔWD n obtained by subtracting (b) reading means for sequentially reading the specific waveform data W j or the differential waveform data ΔWD n from the waveform storage means; and C) a temporary storage means, (D) said read is detecting means to generate the sampling data YD j when reading the specified waveform data W j, stored in the temporary storage means the sampling data YD j, it is said read out means difference Decoding means for accumulating the difference waveform data ΔWD n in the temporary storage means when the waveform data ΔWD n is read, and thereby generating sampling data YD n , and (E) the obtained sampling data YD j or YD n
And a musical tone signal generating means for generating a musical tone signal based on the above.
【請求項2】 前記読出手段は、音高を指定するための
Fナンバを生成するFナンバ生成手段と、該Fナンバ生
成手段からのFナンバを所定の周期で累算し、以て整数
部と小数部とで成る波形読出アドレスを生成するFナン
バ累算手段とを含み、 該読出手段は該波形読出アドレスの整数部がjの場合は
特定波形データWjを、該波形読出アドレスの整数部が
nの場合は差分波形データΔWDnをそれぞれ波形記憶
手段から読み出し、 前記復号手段は補間手段を含み、該補間手段は、サンプ
リングデータYDn+1とYDnとの間、又はサンプリング
データYDj+1とYDjとの間で該波形読出アドレスの小
数部の値に従って補間を行い、以て補間データを得、 前記楽音信号発生手段は、更に該補間データYDに基づ
いて楽音信号を生成することを特徴とする請求項1に記
載の楽音信号発生装置。
2. The reading means accumulates an F number generating means for generating an F number for designating a pitch and an F number from the F number generating means in a predetermined cycle, and thus an integer part is obtained. And an F number accumulating means for generating a waveform read address consisting of a decimal part and the read means, when the integer part of the waveform read address is j, the specific waveform data W j , and the integer of the waveform read address. When the part is n, the difference waveform data ΔWD n is read from the waveform storage means, the decoding means includes an interpolation means, and the interpolation means is between the sampling data YD n + 1 and YD n or the sampling data YD n. Interpolation is performed between j + 1 and YD j according to the value of the decimal part of the waveform read address to obtain interpolation data, and the tone signal generating means further generates a tone signal based on the interpolation data YD. Characterized by The musical tone signal generator according to claim 1.
【請求項3】 差分波形データΔWDN-1は、サンプリ
ングデータDM-1(但し、1≦M≦N−3)からDN-2
減算することにより得られ、ここに、jはM<j<N−
1を満足し、 前記読出手段は差分波形データΔWDN-1を読み出した
後に、再度、差分波形データΔWDMを読み出すことを
特徴とする請求項1に記載の楽音信号発生装置。
3. The differential waveform data ΔWD N-1 is obtained by subtracting D N-2 from sampling data D M-1 (where 1 ≦ M ≦ N-3), where j is M. <J <N-
The musical tone signal generating apparatus according to claim 1, wherein the reading means reads the differential waveform data ΔWD N-1 and then reads the differential waveform data ΔWD M again.
【請求項4】 特定波形データWjは、j=Mによって
指定される前記波形記憶手段内の位置に記憶され、前記
読出手段は、差分波形データΔWDN-1を読み出した後
に、再度、特定波形データWj(但しj=M)を読み出
すことを特徴とする請求項1に記載の楽音信号発生装
置。
4. The specific waveform data W j is stored at a position in the waveform storage means designated by j = M, and the reading means reads the differential waveform data ΔWD N-1 and then specifies again. The musical tone signal generating apparatus according to claim 1, wherein the waveform data W j (where j = M) is read out.
【請求項5】 前記特定サンプリングデータDjの内容
はゼロであることを特徴とする請求項1に記載の楽音信
号発生装置。
5. The musical tone signal generator according to claim 1, wherein the content of the specific sampling data D j is zero.
【請求項6】 前記特定サンプリングデータDjの内容
は所定の広がりの範囲内にあることを特徴とする請求項
1に記載の楽音信号発生装置。
6. The musical tone signal generating apparatus according to claim 1, wherein the content of the specific sampling data D j is within a predetermined spread range.
JP7293747A 1994-10-14 1995-10-16 Music signal generator Expired - Fee Related JP2944069B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7293747A JP2944069B2 (en) 1994-10-14 1995-10-16 Music signal generator

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP27427794 1994-10-14
JP6-274277 1994-10-14
JP7293747A JP2944069B2 (en) 1994-10-14 1995-10-16 Music signal generator

Publications (2)

Publication Number Publication Date
JPH08221075A true JPH08221075A (en) 1996-08-30
JP2944069B2 JP2944069B2 (en) 1999-08-30

Family

ID=26550971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7293747A Expired - Fee Related JP2944069B2 (en) 1994-10-14 1995-10-16 Music signal generator

Country Status (1)

Country Link
JP (1) JP2944069B2 (en)

Also Published As

Publication number Publication date
JP2944069B2 (en) 1999-08-30

Similar Documents

Publication Publication Date Title
US4715257A (en) Waveform generating device for electronic musical instruments
US4622877A (en) Independently controlled wavetable-modification instrument and method for generating musical sound
US4201105A (en) Real time digital sound synthesizer
US5841387A (en) Method and system for encoding a digital signal
JP2576647B2 (en) Waveform generator
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
JP2944069B2 (en) Music signal generator
US5639978A (en) Musical tone signal generating apparatus for electronic musical instrument
JP2950461B2 (en) Tone generator
JPH0561473A (en) Musical tone frequency generating device for electronic musical instrument
JP5104522B2 (en) Waveform generator and waveform generation processing program
JP3527396B2 (en) Waveform recording device and waveform reproducing device
JP3252296B2 (en) Waveform data output device
US5374776A (en) System for processing musical sound data having overflow/underflow compensation
JPS5846036B2 (en) electronic musical instruments
JP2790128B2 (en) Method of compressing waveform data and digital data for tone control
JP2950893B2 (en) Music signal generator
JP2684820B2 (en) Surround circuit
JP3223555B2 (en) Waveform reading device
JP2723041B2 (en) Tone generator
EP1394768B1 (en) Sound synthesiser
US5883324A (en) Signal generating apparatus and signal generating method
JPS6352399B2 (en)
JP2678970B2 (en) Tone generator
JPH05273978A (en) Waveform data reader

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990614

LAPS Cancellation because of no payment of annual fees