JP2944069B2 - Music signal generator - Google Patents

Music signal generator

Info

Publication number
JP2944069B2
JP2944069B2 JP7293747A JP29374795A JP2944069B2 JP 2944069 B2 JP2944069 B2 JP 2944069B2 JP 7293747 A JP7293747 A JP 7293747A JP 29374795 A JP29374795 A JP 29374795A JP 2944069 B2 JP2944069 B2 JP 2944069B2
Authority
JP
Japan
Prior art keywords
data
waveform
waveform data
address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7293747A
Other languages
Japanese (ja)
Other versions
JPH08221075A (en
Inventor
勉 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、予め波形メモリに
記憶されている波形データに基づいて楽音信号を発生す
る楽音信号発生装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tone signal generator for generating a 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. The tone signal generator generates a tone signal based on waveform data stored in advance in a waveform memory. The waveform memory stores, for example, waveform data in the PCM format. PCM data is created by sampling a musical sound waveform at a predetermined period, quantizing it, and further encoding it. The PCM data is sequentially read from the waveform memory in accordance with the tone generation instruction, and a 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 generating device,
In order to generate tone signals corresponding to a large number of timbres, it is necessary to store an enormous amount of PCM data in a waveform memory in advance. Therefore, in order to reduce the amount of waveform data, PC
A method has been proposed in which M data is compressed and stored in a waveform memory, and when a musical tone is generated, the compressed waveform data from the waveform memory is expanded. As such a method, for example, ADPCM (Adaptive Differential Pulse Code Modula)
Option) or DPCM (Differential Pulse Code Modul)
ation) method is known. In these methods, difference waveform data created by calculating a difference between sampling data at adjacent sample points of a musical tone waveform is stored in a waveform memory, and when a tone is generated, the difference waveform data from the waveform memory is accumulated. The tone signal is reproduced by the calculation.

【0004】また、波形メモリに記憶すべき波形データ
の量を減らすために、以下の方法も一般的に採用されて
いる。即ち、例えば図12に示すように、楽音波形の先
頭の所定区間(アタック部)と、それに続く楽音波形の
所定区間(リピート部)とだけが波形メモリに記憶され
る。そして、楽音信号発生時は、アタック部がその先頭
から1回だけ読み出され、その後リピート部が繰り返し
て読み出される。楽音信号発生装置は、この読み出され
た波形データに基づき楽音信号を発生する。
In order to reduce the amount of waveform data to be stored in the waveform memory, the following method is generally employed. That is, as shown in FIG. 12, for example, only a predetermined section (attack section) at the head of the musical tone waveform and a subsequent predetermined section (repeat section) of the musical tone waveform are stored in the waveform memory. When a 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, conventionally, the above-mentioned ADPCM
The system and the DPCM system are rarely adopted as musical tone signal generators for electronic musical instruments. This is because the following first problem and second problem existed. The first problem is that when a method of repeatedly accumulating the waveform data of the repeat portion is adopted, a cumulative error occurs. The second problem is that since the sampled musical tone waveform is discrete, it is necessary to interpolate between two adjacent sampling points to generate a musical tone having a desired pitch. The problem is that the circuit becomes complicated.

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

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

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

【0009】[0009]

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

【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 object, a musical sound signal generating apparatus according to the present invention comprises: (A) converting a musical sound waveform into sampling points P i (where i = 0, 1, 2,...) , N
Specific sampling data D j that is selected from the sampled data D i obtained by sampling at -1)
(However, the specific waveform data W j produced based on 0 ≦ j ≦ N−1) and the sampling data D n (where n =
.., N−1, and difference waveform data ΔWD n obtained by subtracting the sampling data D n−1 from n ≠ j); The specific waveform data Wj or the differential waveform data Δ
The WD n, reading means for sequentially reading, and (C) a temporary storage unit, the (D) when said read out means reads the specific waveform data W j to generate the sampling data YD j, the sampling data YD j one o'clock stored in the storage means, accumulates in the temporary storage means said difference waveform data DerutaWD n when said read out means reads out the difference waveform data DerutaWD n, decoding means for generating a sampled data YD n Te following, (E )
The resulting sampled data YD j or music signal generating means for generating a musical tone signal based on YD n, and a city.

【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形式である。
[0011] specific waveform data W j and the difference waveform data is stored in the waveform storage means DerutaWD n, for example, is produced as follows. First, as shown in FIG. 12, for example, an attack portion of a musical tone waveform and a repeat portion of a predetermined section following the attack portion are extracted. Next, the extracted attack part and repeat part are sampled at a predetermined cycle to obtain a plurality of sampled data D i (i = 0, 1, 2,..., N−
Obtain 1). Specific sampling data D j (0 ≦ j ≦ N
-1) is selected from among the N sampling D i.
The contents 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 contents of a particular waveform data W j can either be the same as the contents of a particular sampling data D j, it may be made different. 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). Differential waveform data DerutaWD n is, DPCM format or A
It is in DPCM format.

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

【0013】一方、読出手段によって特定波形データW
jが波形記憶手段から読み出された場合は、復号手段は
サンプリングデータYDjを生成する。サンプリングデ
ータYDjの内容は、特定サンプリングデータDjの内容
と同じである。更に、得られたサンプリングデータYD
jは、差分波形データΔWDn(n=j+1,j+2,・
・・)を累算するための初期サンプリングデータとし
て、一時記憶手段に格納される。
On the other hand, the specific waveform data W
If j is read from the waveform storage means, decoding means for generating a sampled data YD j. The contents of the sampling data YD j is the same as the contents of a particular sampling data D j. Further, 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 remove accumulated errors peculiar to the ADPCM system or the DPCM system. Furthermore, according to this musical tone signal generating apparatus is not limited to the case of reading by repeating the specific waveform data W j or difference waveform data DerutaWD n, even if the read only once a particular waveform data W j or difference waveform data DerutaWD n cumulative Errors can be eliminated.

【0015】また、本発明の楽音信号発生装置の好まし
い実施態様では、前記読出手段は、音高を指定するため
のFナンバを生成するFナンバ生成手段と、該Fナンバ
生成手段からのFナンバを所定の周期で累算し、以て整
数部と小数部とで成る波形読出アドレスを生成するFナ
ンバ累算手段とを含み、該読出手段は該波形読出アドレ
スの整数部がjの場合は特定波形データWjを、該波形
読出アドレスの整数部がnの場合は差分波形データΔW
nをそれぞれ波形記憶手段から読み出し、前記復号手
段は補間手段を含み、該補間手段は、サンプリングデー
タYDn+1とYDnとの間、又はサンプリングデータYD
j+1とYDjとの間で該波形読出アドレスの小数部の値に
従って補間を行い、以て補間データを得、前記楽音信号
発生手段は、更に該補間データYDに基づいて楽音信号
を生成する。
In a preferred embodiment of the tone signal generating apparatus of the present invention, the reading means includes an F number generating means for generating an F number for designating a pitch, and an F number from the F number generating means. F number accumulating means for accumulating at a predetermined period, thereby generating a waveform read address consisting of an integer part and a fractional part. The read means includes: particular waveform data W j, if the integer portion of the waveform read address is n differential waveform data ΔW
Read from the respective waveform storage means D n, it said decoding means includes interpolation means, interpolation means, between sampling data YD n + 1 and YD n, or sampled data YD
j + 1 and performs interpolation according to the value of the fractional part of the waveform read address with the YD j, than Te to obtain interpolated data, the tone signal generation means generates a musical tone signal based further on the interpolation data YD I do.

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

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

【0018】本発明の楽音信号発生装置においては、特
定サンプリングデータDjの内容はゼロとすることがで
きる。特定波形データWjの内容は、例えば、最小値
「8000H」(末尾の「H」は16進数であることを
示す。以下においても同じ。)若しくは最大値「7FF
FH」又はこれらの何れか1つの近傍の値とすることが
できる。この内容は、2の補数形式で表現することがで
きる。通常、差分波形データΔWDnの内容は、上記の
ような値とならない。従って、特定波形データWjは、
差分波形データΔWDnから区別することができる。
[0018] In the musical tone signal generating apparatus of the present invention, the content of the specific sampling data D j can be zero. The contents of a particular waveform data W j is, for example, the minimum value "8000H" (indicating that the end "H" is a hexadecimal number. The same applies to the following.) Or a maximum value "7FF
FH "or a value near any one of these. This content can be expressed in two's complement format. Usually, the content of the difference waveform data DerutaWD n is not a value as described above. 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 Wj is read from the waveform storage means at the time of generation of the musical tone signal, the sampling data YD n-1 reproduced by being accumulated in the temporary storage means is discarded. Sampling data YD j
Is set in the temporary storage means as new sampling data. Thereby, the sampling data YD
Accumulation is restarted from j .

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

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

【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 generating apparatus according to the present invention, the difference waveform data ΔWD n−1 is obtained by sampling data D M−1 (where 1 ≦ M ≦ N−3) to D N−2.
, Where j is M <j <N
-1 is satisfied, and the reading means sets the differential waveform data ΔWD
After reading N−1 , the difference 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 contents of the loop end address LE.

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

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

【0025】[0025]

【発明の実施の形態】以下、本発明の楽音信号発生装置
の実施の形態につき図面を参照しながら詳細に説明す
る。本楽音信号発生装置は、音源回路と、この音源回路
を制御するCPU等で構成される。しかし、CPUの構
成や動作は周知であるので、以下においては、音源回路
の構成及び動作を中心に説明する。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an embodiment of a tone signal generating apparatus according to the present invention. The tone signal generator includes 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 following description focuses on the configuration and operation of the tone generator circuit.

【0026】(第1の実施形態)第1の実施形態の楽音
信号発生装置は、サンプリングデータの補間を行わない
で楽音信号を発生する。本第1の実施形態の楽音信号発
生装置では、ADPCM形式の差分波形データΔW
n、及びPCM形式の特定波形データWjが使用され
る。
(First Embodiment) The tone signal generator of the first embodiment generates a tone signal without performing interpolation of sampling data. In the tone signal generator of the first embodiment, the difference waveform data ΔW in the ADPCM format is used.
D n and the specific waveform data W j in the 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)は、負数として得られる。
The ADPCM data has a sign (bit 15) and an exponent (bits 14 and 13) as shown in FIG.
And data of a floating-point format including a mantissa (bits 12 to 0). The ADPCM data is created as follows. As shown in FIG. 4, the musical sound waveform is sampled at a predetermined cycle at sampling points P i (i = 0, 1, 2,.
1), quantized, and coded to obtain sampling data D i (i = 0, 1, 2,..., N−
1) is manufactured. This sampling data Di is PC
M format, 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. Where n = 0,
.., N−1, and n ≠ j. The difference waveform data ΔWD n is in DPCM format, and is represented in 2's complement format. Therefore, the expression of a positive number or a negative number is possible. For example, in the example shown in FIG. 4, each sampling data D n at the sampling points P n and P n-1 is
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は、本発明の波形記憶手段に対応
する。
The difference waveform data Δ thus obtained
WD n (where n = 1, 2,..., N−1 and n ≠ j) is converted to floating-point format data having an exponent according to the magnitude of the absolute value. Differential waveform data DerutaWD n obtained by this conversion is ADPCM format. Differential waveform data DerutaWD n of ADPCM format created this way is stored in the waveform memory 208 which will be described later. The waveform memory 208 corresponds to the waveform storage unit 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 contents of the sampling data D j of the PCM format specific value of the PCM format, for example, when a zero, a special processing is performed. That is, in this case, specific waveform data W j of the PCM format is produced on the basis of a specific sampling data D j. Specific waveform data W j
Are stored in the waveform memory 208. Here, contents of a particular waveform data W j is assumed to Z11.

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

【0031】上記Z11としては、例えば、最小値「8
000H」若しくは最大値「7FFFH」又はこれらの
近傍の値を用いることができる。特定波形データWj
内容Z11は、殆どの場合、差分波形データΔWDn
内容と全く異なる。従って、特定波形データWjは各差
分波形データΔWDnと区別することができる。本第1
の実施の形態では、内容(値)Z11の一例として最小
値「8000H」が用いられる。
As the Z11, for example, the minimum value “8”
000H "or the maximum value" 7FFFH "or a value in the vicinity thereof can be used. The contents Z11 of the specific waveform data W j is, in most cases, completely different from the contents of the difference 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ビットは整数アドレス(整数
部)として使用される。
[0032] In the first embodiment, the waveform readout address for reading out the differential waveform data DerutaWD n or 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 head of the repeat part of the waveform data group. The loop end address LE is used to specify the end 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 difference 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 obtained. It is stored in the position of the waveform memory 208 specified by “0” and “128”. The content of the specific waveform data W j (j = 0 and j = 128), that is, Z11 is “8000H” in the present embodiment. Other sampling points P i (i = 1, 2,..., 127, 129,...)
.), The sampling data D i (i = 1,
2, ..., 127, 129 ...) it is not a zero, the sampling data D from the sampling data D n
By subtracting n−1 , the difference waveform data ΔWD n in the ADPCM format (i = 1, 2,..., 127, 12
9) are obtained, and the addresses “1”, “2”,.
Are stored at the positions of the waveform memory 208 designated by “127”, “129”,. The specific waveform data W is stored in the position of the waveform memory 208 specified by the address “0”.
When j is not stored, the contents of the sampling data D 0 are stored in the waveform memory 208 specified by the address “0”.
Is stored at the position of. In the first embodiment, the loop top address LT (M) is “128”. That is, the contents of the waveform memory 208 specified by the loop top address LT (M = “128”) are 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 a tone generator circuit of the present tone signal generating apparatus. The decoding circuit 209 corresponds to a decoding unit and a temporary storage unit.

【0036】図1において、比較器100は、波形メモ
リ208からの特定波形データWj又は差分波形データ
ΔWDn(波形データ群の波形データ)と値Z21とを
比較する。値Z21は、特定波形データWjの内容と同
じである。値Z21は、図示しない例えばROMやレジ
スタ等に記憶しておくことができる。値Z21として、
例えば、最小値「8000H」若しくは最大値「7FF
FH」又はこれらの近傍の値を用いることができる。値
Z21の一例として、最小値「8000H」が用いられ
る。この比較の結果、上記両者が一致した場合は制御信
号として「1」が、そうでない場合は「0」がそれぞれ
比較器100で生成される。この制御信号は、セレクタ
104の入力端子Sに供給される。
[0036] In FIG. 1, the comparator 100 compares the specified waveform data W j or difference waveform data DerutaWD n value (waveform data of the waveform data group) Z21 from the waveform memory 208. Value Z21 is the same as the contents of a particular waveform data W j. The value Z21 can be stored in, for example, a ROM or a register (not shown). As a value Z21,
For example, the minimum value “8000H” or the maximum value “7FF”
FH "or values near these can be used. As an example of the value Z21, the minimum value “8000H” is used. As a result of this comparison, if the two match, "1" is generated as a control signal by the comparator 100, otherwise, "0" is generated by the comparator 100. 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 receives the differential waveform data DerutaWD n from the waveform memory 208, converts the differential waveform data DerutaWD n from ADPCM format to DPCM format. In this conversion, the compressed quantization width is restored. Conceptually, as shown in FIG.
The value of the mantissa is shifted left according to the value of the exponent of the data. Thus, the ADPCM data is converted into DPCM data having a two's complement format in a fixed-point format.
In the case the difference waveform data DerutaWD n stored in the waveform memory 208 of DPCM format, the expansion circuit 101
Can be removed. Expansion circuit 101, when the enter specific waveform data W j from the waveform memory 208, the decompression circuit 101 outputs the converted specified waveform data. Differential waveform data DerutaWD n or conversion specified 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 a temporary storage. The 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 includes a plurality of blocks corresponding to a plurality of sound 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 is determined by a timing generator 201 described later.
Is determined by the timing signal TC. Hereinafter, such a configuration is referred to as a “time division configuration”. The 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入力端子に供給される。
The gate 102 may, if coincidence signal CF is "0", the difference waveform data DerutaWD n from decompression 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.
This coincidence signal CF is generated by a 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 to accumulate the difference waveform data ΔWD n in the sampling data YD n−1 is determined by the 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. Thus, the next sampling data YD n obtained. 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に出
力する。
[0041] The selector 104 is responsive to a control signal from the comparator 100, one of the following sampling data YD n supplied from the value Z12 or current sample memory 106 is supplied to the A input terminal to the B input terminal select. The value Z12, the contents of the specific sampling data D j, that is equal to zero. The value Z12 can be stored in, for example, a ROM or a register (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
When receiving the control signal “0” from 0, the B input terminal of the selector 104 is selected. Thereby, the selector 104
Outputs sampling data YD n to the clear circuit 105.

【0042】クリア回路105は、クリア信号CLRB
に応じて、入力されたデータをそのまま通過させるか又
は強制的にゼロを出力する。このクリア回路105は、
波形データ群の波形データの読み出しが開始された時
に、カレントサンプルメモリ106の内容をクリアする
ために使用される。従って、波形データ群が、ゼロの値
を有するデータをその先頭に有していれば、このクリア
回路105は場合によっては除去することができる。
The clear circuit 105 includes a clear signal CLRB.
, The input data is passed as it is, or 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
BR>6に格納される。クリア回路105の出力は、また
乗算器217にも供給される。
Whether the clear circuit 105 is activated to output zero is determined by the control flag latch 202.
(See FIG. 2). The contents of the control flag latch 202 are set or reset by data from a CPU (not shown). The output of the clear circuit 105 is supplied to a current sample memory 106. As a result, the sampling data YD j , YD n or zero is stored in the current sample memory 10.
BR> 6. The output of the clear circuit 105 is also supplied to a multiplier 217.

【0044】(2)音源回路の説明 図2は、本楽音信号発生装置に適用される音源回路の第
1の実施形態のブロック図である。この音源回路には、
上述した復号回路209が含まれている。以下、図2に
示したブロック図を参照しながら音源回路の構成及び動
作につき詳細に説明する。
(2) Description of Tone Generator FIG. 2 is a block diagram of a first embodiment of a tone generator applied to the present tone signal generator. 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
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
They are connected to each other via a 6-bit data bus DB, 24-bit address bus AB and control data bus CNT. Latch 200 is a bidirectional tri-state latch. The latch 200 is used for controlling data transmission and reception between the CPU and the tone generator circuit. The tone generator circuit handles 32-bit data. Therefore, data transfer from the CPU to the tone generator circuit is performed twice for each 16 bits. The latch 200 sequentially takes in 16-bit data from the data bus DB, and sends out the data to the internal bus 250 when 32 bits are completed. Conversely, when data is transferred from the tone generator to the CPU, 32-bit data is set in the latch 200. The data set in the latch 200 is output to the data bus DB in 16-bit units. The latch timing and transfer direction of the latch 200 are controlled by a 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 includes 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 specifying one time slot
Generate C. The timing signal TC is, for example, 3 when the tone generator circuit operates in a time division manner of 32 tone generation channels.
It is used to specify any one of the two time division time slots. The timing signal TC is supplied to various memories 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 control flag latch 202
RA is supplied to the clear circuit 207. The clear signal CLRB output from the other bits is
5 (see FIG. 1). The clear circuit 207 is removed as described later, and the clear circuit 1 described above is used.
In the tone signal generating device having the configuration from which 05 has been removed, the control flag latch 202 is unnecessary.

【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. Here F
The number is data that defines the pitch (frequency) of a musical tone to be generated. Specifically, when the waveform data of the waveform data group is sequentially read from the waveform memory 208,
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 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). Each input port is selected according to a control signal supplied to the control input terminals S0 and S1. Port 1 has 16
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から送られてきたデータ)<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 for selecting one waveform data group from a plurality of waveform data groups.
Each waveform data group corresponds to each tone color. 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 timbre 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. The port 1 is used for returning from the loop end address LE of the repeat part of the waveform data group to the loop top address LT. The 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 stored in the current address memory 2
05.

【0053】カレントアドレスメモリ205は時分割構
成であり、現波形読出アドレスを記憶する。このカレン
トアドレスメモリ205に記憶されている現波形読出ア
ドレスは、読み出された波形データ群の波形データの記
憶位置を指している。このカレントアドレスメモリ20
5からの現波形読出アドレスは、加算器206のB入力
端子及び比較器210のB入力端子に供給される。
The current address memory 205 has a time-division structure, and stores a current waveform read address. The current waveform read address stored in the current address memory 205 indicates the storage position of the read waveform data group. This current address memory 20
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 a clear circuit 207
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 a predetermined lower bit of the next waveform read address from the adder 206 to zero. The clear circuit 207 is necessary when invalid data is included in predetermined lower bits of a waveform read address from the CPU. Therefore, when valid data of 32 bits is sent from the CPU, the clear circuit 207 can be eliminated. This clear circuit 20
7 are the waveform memory 208 (upper 16 bits), the A input terminal of comparator 210 (upper 16 bits), the comparator 2
11 A input terminal (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に供給される。
[0056] The waveform memory 208, as described above, and stores the specific waveform data W j of the plurality of difference waveform data DerutaWD n and PCM format ADPCM 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 musical tone signal based on the j or differential waveform data DerutaWD n is generated, it is read from the specific waveform data W j + 1 or differential waveform data ΔWD n + 1 waveform memory 208. Specific waveform data W j + 1 from the waveform memory 208
Alternatively, the difference waveform data ΔWD n + 1 is supplied to the decoding circuit 209 in the next cycle. Sampling data YD j or YD n obtained by the generation or accumulation in the decoding circuit 209 is supplied to an 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 output as a match signal CF from the gate 1 in the decoding circuit 209.
02. The gate 102 outputs the differential waveform data Δ
It is provided to prevent WD n from being added to sampling data YD n redundantly. The possibility of the overlap addition occurs when the interval for reading out the waveform data of the waveform data group for reproducing the bass is shortened. 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. The loop top address LT from the loop top address memory 212
Is 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 the 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に記憶
される。以上の動作により、波形データ群のリピート部
を繰り返して読み出す機能が達成されている。
Comparator 211 detects the end of the next waveform read address in the integer part (upper 16 bits) to detect the end of the repeat part.
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. With the above operation, the function of repeatedly reading the repeat portion of the waveform data group is achieved.

【0061】エンベロープパラメータメモリ214は時
分割構成であり、現在のエンベロープ目標値及びエンベ
ロープ加算値並びにラウドネス値を記憶する。このエン
ベロープパラメータメモリ214の内容は、エンベロー
プ発生器215によって読み出される。カレントエンベ
ロープメモリ216は時分割構成であり、エンベロープ
演算の中間結果であるカレントエンベロープ値を記憶す
る。
The envelope parameter memory 214 has a time-sharing configuration, and stores the current envelope target value, envelope added 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 configuration, and stores a current envelope value which is an intermediate result of the 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 adds the envelope addition value from the envelope parameter memory 214 to the current envelope value from the current envelope memory 216 in a time division manner. Then, the envelope generator 215 determines whether the calculation result has reached the envelope target value. If the operation result has not arrived, the operation result is stored in the current envelope memory 216 as a current envelope value, and is prepared for the next operation. This calculation result is further multiplied by a loudness value. Multiplication result is 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に供給される。
[0064] Multiplier 217 multiplies the envelope level EL from the sampling data YD j or YD n and the envelope generator 215 from the decoding circuit 209. By this multiplication, a tone signal to which an envelope is added is generated. The tone signal from the multiplier 217 is supplied to the sequence 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 sequence 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 operating by 8 times oversampling can be used. The output of the digital control filter 219 is supplied to the D / A converter 2
20. The D / A converter 220 converts the oversampled digital signal into an analog signal for each timbre 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
When stored in the waveform memory 208 as H ") is read out from the waveform memory 208, it sampling data YD n-1 obtained by the accumulation of up is discarded and accumulation is restarted from the sampling data YD j You. As a result, it is possible to remove the accumulated error peculiar to the ADPCM or DPCM system. Further, it is possible to remove the accumulated error when the reading is not repeated.

【0068】楽音波形が所定のサイクルでサンプリング
されたとき、サンプリング点P0において、特定サンプ
リングデータDj(j=0)が存在しないことが考えら
れる。この場合、内容がゼロであるサンプリングデータ
j(j=0)が得られるように、サンプリング開始位
置をわずかに移動すればよい。
When the musical tone waveform is sampled in a predetermined cycle, it is conceivable 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 as to obtain sampling data D j (j = 0) whose content is zero.

【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 a particular waveform data W j and a plurality of differential waveform data DerutaWD n, specific sampling data D j associated with the particular waveform data W j of each waveform data group, each waveform data set Are preferably 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 stored in the waveform memory 2 specified by j = M = 128.
08 is stored. That is, the content of the waveform memory 208 specified by the loop top address LT is the specific waveform data Wj . 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 satisfied, reading means after reading the difference waveform data ΔWD N-1, again, reads out the difference waveform data ΔWD M. 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) The second embodiment is different from the first embodiment in that
1 shows a preferred embodiment of the tone signal generating device of the present invention.
The tone signal generator of the second embodiment generates a tone signal while interpolating sampling data. Book second
In the embodiment, the differential waveform data Δ
And WD n the specific waveform data W j of DPCM format is used. The contents of a particular sampling data D j have a spread of a predetermined range.

【0072】特定波形データWj及び差分波形データΔ
WDnは、図8(A)に示すように、最上位ビット(ビ
ット15)に符号を有する2の補数形式の16ビットの
データである。この特定波形データWjと差分波形デー
タΔWDnとは、図4を参照して既に説明したと同様の
方法で作製される。この場合、サンプリングデータの内
容が所定の広がりの範囲内、例えば±256の範囲内で
あれば、次のような処理が行われる。即ち、そのような
サンプリングデータ(特定サンプリングデータDj)が
正数であれば、下位バイトはそのままで、上位バイトの
符号ビットを除く部分(ビット8〜14)が「1」にセ
ットされる。一方、そのようなサンプリングデータ(特
定サンプリングデータDj)が負数である場合は、下位
バイトはそのままで、上位バイトの符号ビットを除く部
分(ビット8〜14)が「0」にクリアされる。かかる
処理が施されたデータが、PCM形式の特定波形データ
jである。
The specific waveform data W j and the difference waveform data Δ
As shown in FIG. 8A, WD n is two-complement 16-bit data having a sign in the most significant bit (bit 15). The The specific waveform data W j and the difference waveform data ΔWD n, is produced in the same manner as described above with reference to FIG. In this case, if the contents of the sampling data are 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 portion (bits 8 to 14) excluding the sign bit of the upper byte is set to “1” without changing the lower byte. On the other hand, when such sampling data (specific sampling data D j ) is a negative number, the portion (bits 8 to 14) excluding the sign bit of the upper byte is cleared to “0” while leaving the lower byte as it is. This processing is performed data is a specific waveform data W j of 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 stored in a waveform memory 316 designated by an integer address described later. Is 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進表記したものである。
[0074] waveform memory 316 the waveform data group stored in, at the time of generation or regeneration of sampled data YD j or YD n, are handled as shown in FIG. 8 (B). That is, among the positive numbers, “0000H to 7EFFH (+0000)
H~ + 7EFFH)), "but it is treated as a differential waveform data ΔWD n," 7F00H~7FFFH (+ 7F
00H + 7FFFH) "is treated as a particular waveform data W j. Is the content of the specific waveform data W j "7F
00H~7FFFH "in order to generate the sampling data YD j, as shown in FIG. 8 (C) (X)," 0
000H to 00FFH (+ 0000H to + 00FF
H)). Similarly, among the negative numbers, "FFFFH to 8100H (-0001 to -7F00
H), "but are handled as difference waveform data ΔWD n," 80FFH~8000H (-7F01H~-80
00H) "is treated as a particular waveform data W j.
The contents of this particular waveform data W j "80FFH~8
000H "in order to generate the sampling data YD j, as shown in FIG. 8 (C) (Y)," FFFFH~
FF00H (-0001H to -100H) "PCM
Converted to data. In the parentheses, signed absolute values are represented in hexadecimal notation.

【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 generator of the present invention. This decoding circuit 317 corresponds to decoding means including interpolation means and temporary storage means. 6, the same reference numerals are given to the same or corresponding parts as the components of the decoding circuit shown in FIG.

【0076】図6において、ディレイラッチ120、1
22、123及び124はパイプライン制御のために設
けられている。これらのディレイラッチは、チャンネル
クロックCCKに同期して入力データをラッチする。チ
ャンネルクロックCCKは、例えば図11に示すよう
に、各発音チャンネルに対応するタイムスロットを規定
するクロックである。このチャンネルクロックCCKの
立ち下がりのエッジで発音チャンネルが切り替わる。ま
た、サンプルクロックSCKは、チャンネルクロックC
CKが全発音チャンネルに対応するタイムスロットを計
数する毎に、立ち下がりエッジを発生するクロックであ
る。このサンプルクロックSCKに同期して各サンプリ
ングデータの処理等が行われる。
In FIG. 6, delay latches 120, 1
Reference numerals 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 a clock that defines a time slot corresponding to each sounding channel, for example, as shown in FIG. The sounding 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 sounding 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 is provided in the waveform memory 31
6 is stored in synchronization with the channel clock CCK. The waveform memory 316 corresponds to a waveform storage unit. 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 the register (not shown) is supplied to the comparator 100. The comparator 100 compares the contents of the waveform data of the waveform data group with the range value Z13. Range values Z13 has a spread in the same range as the contents of a particular waveform data W j. That is,
Range value Z13 is 7F00H to 7FFFH and 80FFH
88000H.

【0079】その内容が範囲値Z13の範囲内にある波
形データが比較器100に入力されると、比較器100
は、特定波形データWjを検出し、「1」の制御信号C
MPを出力する。その内容が範囲値Z13の範囲外にあ
る波形データが比較器100に入力されると、比較器1
00は、差分波形データΔWDnを検出し、「0」の制
御信号CMPを出力する。この制御信号CMPはセレク
タ104の入力端子Sに供給される。
When the waveform data whose content is 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 waveform data whose contents are out of the range of the range value Z13 are input to the comparator 100, the comparator 1
00 detects the difference waveform data DerutaWD n, and outputs a control signal CMP of "0". This 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 is left as it is and the upper byte is set to “00H”. In the case of a negative number, the upper byte is set to “FFH” while the lower byte remains unchanged.
As a result, the specific waveform data W j, is restored to the PCM data to be the same as or close to the specific sampling data D j (contents of a particular waveform data W j having a value within the range of ± 256). The output of the data converter 121 is the selector 10
4 A input terminal. Difference waveform data ΔWD n
Is converted to data with strange contents. However, such converted data is discarded in selector 104.

【0081】伸張回路101は、オプションである。即
ち、本第2の実施形態では、波形メモリ316に記憶さ
れる差分波形データΔWDnはDPCM形式であるの
で、この伸張回路101は不要である。波形メモリ31
6にADPCM形式の差分波形データΔWDnが記憶さ
れるときに、図6に示す位置に伸張回路101を挿入す
れば良い。この第2の実施形態における伸張回路101
は、第1の実施形態で使用したものと同じものを使用す
ることができる。
The expansion circuit 101 is optional. That is, in the second embodiment, the difference waveform data DerutaWD n stored in the waveform memory 316 because it is DPCM format, the expansion circuit 101 is unnecessary. Waveform memory 31
When the difference waveform data DerutaWD n of ADPCM format is stored in the 6, it may be inserted to decompression circuit 101 to the position shown in FIG. Decompression circuit 101 according to the second embodiment
Can be the same as those used in the first 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 sound source 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 reading of the waveform data of the waveform data group is started, that is, when a 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
The sampling data YD n−1 from the first current sample memory 106 is stored. The writing to the second current sample memory 128 is performed by the channel clock CCK unless a specific condition (described later) is satisfied.
It is performed in synchronization with. Therefore, the contents (YD n-1 ) of the first current sample memory 106 are stored in the second current sample memory 128 after being delayed by one channel clock. 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入力端子に供給される。
[0085] Adder 103 specific waveform data W j or difference waveform data DerutaWD n from delay latch 120,
Clear circuit 1 from first current sample memory 106
26, the sampling data YD n-1
Is added to. The output of the adder 103 is the sampling data YD n. The function of accumulating the difference waveform data ΔWD n is realized by the adder 103. 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に供給される。
[0086] The selector 104 is responsive to the control signal CMP from the comparator 100, selects one of the sampling data YD n from the transformed data or the adder 103 from the data converter 121. More specifically, when the control signal CMP is “1”, the A input terminal side of the selector 104 is selected. Thereby, the data converter 12
1 is converted to sampling data YD j
And the first current sample memory 106
Supplied to On the other hand, if the control signal CMP is “0”, the B input terminal side of the selector 104 is selected. Thus, data from the adder 103, sampling data YD n of words resulting output is supplied to a first current sample memory 106.

【0087】この第1のカレントサンプルメモリ106
への書き込みは、特定の条件(後述する)が成立した場
合を除き、チャンネルクロックCCKに同期して行われ
る。この第1のカレントサンプルメモリ106からのサ
ンプリングデータYDnは、クリア回路126及び減算
器129に供給される。
The first current sample memory 106
Writing to is performed in synchronization with the channel clock CCK unless a specific condition (described later) is satisfied. Sampling data YD n from the first current sample memory 106 is supplied to the clear circuit 126 and a subtracter 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への書き込み
は行われない。
The writing to the first and second current sample memories 106 and 128 is performed by the delay latch 1
24 and an AND gate 125. The delay latch 124 is configured by 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 a signal from its inverted 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
With sampling data YD n-1 is written into the second current sample memory 128 that has been held in,
The output of the selector 104 (YD n or YD j) 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 a tone generator described later. This coincidence signal CF is set to "1" when a waveform read address having the same value in the integer part is output twice or more consecutively, 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 one channel clock later.

【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 calculates the contents of the first current sample memory 106 (YD j + 1 or YD n + 1 ).
To the contents of the second current sample memory 128 (YD
j or YD n ). Thus, a 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 input terminal A 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 the decimal address by the difference value from the subtractor 129. The output of the multiplier 130 forms an interpolated value and is supplied to the B input terminal of the adder 131. Second
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, interpolation is performed by the adder 131 to generate 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 a clear signal CLRB from the control flag latch 302 of the tone generator circuit described later is activated, and otherwise outputs the output of the adder 131 (interpolated sampling data Y
D) is passed as it is. The output of the clear circuit 132 is output to a multiplier 3 of a tone generator circuit to be described later to generate a tone signal as interpolated sampling data YD.
26. The clear signal CLRB, as described above, when the reading of differential waveform data DerutaWD n or specific waveform data W j is started, that is activated when the key-on event occurs, the indefinite interpolated sampling data output Is prevented.

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

【0094】(2)音源回路の説明 図7は、本楽音信号発生装置に適用される音源回路の第
2の実施形態のブロック図である。この音源回路には、
上述した復号回路317が適用されている。以下、図7
に示したブロック図を参照しながら音源回路の構成及び
動作につき詳細に説明する。
(2) Description of the tone generator circuit FIG. 7 is a block diagram of a second embodiment of the tone generator circuit applied to the present tone signal generator. In this sound source circuit,
The decoding circuit 317 described above is applied. Hereinafter, FIG.
The configuration and operation of the tone generator 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 comprises:
F number accumulating means, bank memory 311, OR gate 3
12, adder 313, comparator 314 and selector 315
It consists of. The F-number generation unit includes a current step memory 303 and a clear circuit 306. The F number accumulating means includes 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 of waveform read address (A
15-A0) is used as a decimal address (decimal part) and used as an interpolation address. In the second embodiment, four bits (A15-A12) are used as the interpolation address, but any value in the range of 1 to 16 bits can be used as needed.

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

【0098】ループトップアドレスLTは16ビットの
データで構成されている。このループトップアドレスL
Tは、波形読出アドレスの整数部に対応する。ループエ
ンドアドレスLEは16ビットのデータで構成されてい
る。このループエンドプアドレスLEは、波形読出アド
レスの整数部に対応する。ループトップアドレスLT
は、波形データ群のリピート部の先頭位置を指定するた
めに使用される。ループエンドアドレスLEは、波形デ
ータ群のリピート部の終端位置を指定するために使用さ
れる。
[0098] 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. Latch 300 is a bidirectional tristate latch. This latch 300 is used for controlling data transmission and reception between the CPU and the tone generator 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
Latch timing and transfer direction are determined by the timing generator 3
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 generates various control signals for controlling each part of the tone generator circuit, similarly to the timing generator 201 in the first embodiment. Specifically, the timing generator 301
Control signal CT for controlling the
4 and a timing signal TC for designating one tone generation channel. Each of these signals has properties similar to those 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 a clear circuit 306. 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 the F number. This current step memory 303 corresponds to the F number generation means of the present invention. The CPU generates an F number according to the key press 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 includes a 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 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 normally controlled to be active only during the first 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. Thus, in the initial state, the reading of the waveform data of the waveform data group is started from a 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, only 16-bit data is supplied. Therefore, when any one of these is selected, the lower 16
32 created by replacing bits with "0"
Bit data is output. On the other hand, port 0 has 32
Since the bit data is supplied, when this port 0 is selected, the input 32-bit data is output as it is. The table below shows the relationship between the control signals (S0, S1) and the selected input port.

【0105】[0105]

【表2】 <S1><S0> <選択される入力ポート> 0 0 ポート0(次波形読出アドレス) 0 1 ポート1(ループトップアドレスLT) 1 0 ポート2(CPUから送られてきたデータ) 1 1 ポート3(CPUから送られてきたデータ)<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 control data for generating the control signal SEL to the timing generator 301, and sets the start address (the integer part of the start address SA) of the waveform data group corresponding to the desired tone color on the data bus DB.
To the latch 300 via. Thereby, the control signal S
Port 0 is selected based on EL, and selector 304 outputs a waveform read address. The port 1 is used for returning 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 the purpose other than the above, that is, for reading out 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 + decimal 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)に供
給される。
Adder 307 adds the F number from 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 supplied to the port 0 (A31
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, the 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入力端子に供
給される。
An adder 313 adds the output of the OR gate 312 to an integer address (A31-A16). The OR gate 312 and the adder 313 allow the integer address (A31-A3) when the interpolation address is not zero.
A16) is achieved with the function of incrementing ("+1"). As a result, a next waveform read address for interpolation can be obtained. The output of the adder 313 is
It is supplied to the A input terminal 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
09 from the comparator 314
Is supplied to the B input terminal. 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 they match, “1” is output; otherwise, “0” is output.
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 a control signal from the comparator 314 by a loop top address LT (T31-T1) from a loop top address memory 308 described later.
6) or one of the integer parts of the next waveform read address from the adder 313 is selected. “1” is the selector 315
, The A input terminal of the selector 315 is selected 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 a waveform read address (A31-A16), and the A of the delay latch 318 and the comparator 319 are output.
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. This 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. Then, if they match, “1” is set; otherwise, “0” is set.
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 controls the control flag latch 3
It outputs zero when the clear signal CLRB from 02 is activated. Otherwise, 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 a 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 match signal CF is forced to “0” during the first two time slots.
Thereby, malfunction of the tone generator circuit is avoided.

【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. The waveform memory 316, as described above, the difference waveform data DerutaWD n or PCM in DPCM format
Storing specific waveform data W j format. The contents of the waveform memory 316 are read according to an integer part of a waveform read address from the selector 315 and a bank address from a bank memory 311 described later. This waveform memory 20
The waveform data of the waveform data group read from 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 tone color.
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 the loop end address memory 309 is
The signal 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内の波形データ群のリピート部を繰り返し読み
出す機能が達成されている。
The loop end address memory 309
Is supplied to the B input terminal of the comparator 310. Comparator 310 compares the integer part of the next waveform read address from adder 307 with the loop end address LE from loop end address memory 309. Then, if both match, "1" is output, otherwise "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, the 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) are set. It is stored in the current address memory 305. Otherwise, port 0 is selected, and the next waveform read address is stored in current address memory 305. As a result, a 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.
A 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, respectively, and a description thereof will be omitted. The envelope level EL from the envelope generator 323 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 a delay latch 3
24 from the channel clock C
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 with 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 by data obtained by delaying the envelope level from the envelope generator 323 by two channel clocks. By this multiplication, a tone signal to which an envelope is added is generated. The output of the multiplier 326 is supplied to the sequence adder 327. The sequence adder 327, the digital control filter 328, and the D / A converter 329 have the same configurations as the sequence adder 218, the digital control filter 219, and the D / A converter 220 of the above-described first embodiment, respectively.
Their operations are the same.

【0126】次に、本第2の実施形態の理解を深めるた
めに、図9を参照しながら本第2の実施形態の動作につ
いて説明する。図9は、波形メモリ316に記憶された
波形データ群の波形データが補間され、サンプリングデ
ータYDが出力される様子を示している。図中の下部
は、復号回路317の主要ポイントにおけるデータの変
化の状態を示している。なお、説明を簡単にするため
に、変化の状態は10進数で示されている。
Next, the operation of the second embodiment will be described with reference to FIG. 9 in order to deepen the understanding of the second embodiment. FIG. 9 shows a state in which 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. Note that, for simplicity, the state of change is shown in decimal.

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

【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で示されている)。
Further, a dotted line in FIG. 9 indicates a transition of the sampling data YD. The black circles on the dotted lines indicate the sampling data interpolated by decimal addresses, 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 decimal address FA
F is delayed by the two-stage delay latches 122 and 123, so that “undefined → undefined → 0 → 0.75 → 0.50
(Accumulated F-number 0.75 + 0.75 = fractional part of 1.50) → 0.25 (accumulated F-number 1.50+
0.75 = fraction of 2.25) →. The waveform data of the waveform data group read from the waveform memory 316 is delayed by one cycle by the one-stage delay latch 120 (indicated by ZD in FIG. 9).

【0129】一致信号CFは、音源回路内で作成され、
同一の波形読出アドレスが2回以上出力されたときに
「1」となるように制御される。この一致信号CFは、
ディレイラッチ124によって1チャンネルクロック分
だけ遅延される。比較結果を示す制御信号CMPは、復
号回路317の比較器100から出力される信号であ
る。この制御信号CMPが「1」のときは、データ変換
器121の出力がセレクタ104で選択され、カレント
サンプルメモリ106に供給される。
The match signal CF is created in the tone generator circuit.
It is controlled so that it becomes "1" when the same waveform read address is output twice or more. This match signal CF is
Delayed by one channel clock by the delay latch 124. 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 specific waveform in the PCM format stored in the waveform memory 316. This is the data Wj . Other data is stored in the DPC stored in the waveform memory 316.
Which is the difference waveform data ΔWD n of M format. With the adoption of the pipeline control method, a delay of two channel clocks is required 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 discarded, and the accumulation is restarted using the specific waveform data as an initial value. Therefore, ADPC
Accumulated errors unique to the M or DPCM scheme can be removed. Further, it is possible to suppress the accumulated error when the reading is not repeated.

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

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

【0134】[0134]

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

【図面の簡単な説明】[Brief description of the 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 generation device of the present invention.

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

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

【図5】本発明の楽音信号発生装置の第1の実施形態に
おける波形データの波形メモリへの記憶例を示す図であ
る。
FIG. 5 is a diagram showing an example of storing waveform data in a waveform memory according to the first embodiment of the tone signal generator of the present 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 the tone signal generation device of the present invention.

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

【図8】本発明の楽音信号発生装置の第2の実施形態で
使用されるデータを説明する図である。
FIG. 8 is a diagram illustrating data used in a second embodiment of the musical sound signal generator according to the present 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 tone signal generator of the present invention.

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

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

【図12】本発明の楽音信号発生装置の実施例における
波形データの波形メモリへの記憶例を示す図である。
FIG. 12 is a diagram showing an example of storing waveform data in a waveform memory in an embodiment of a tone signal generating apparatus according to 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 Decompression 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 Sequence adder 219, 328 Digital control Filter 220, 329 D / A converter 311 Bank memory 312 OR gate

Claims (6)

(57)【特許請求の範囲】(57) [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)該読出手段によって読み出されたデータを所定値
と比較することにより、該データが特定波形データW j
であるかどうかを判断する判断手段と、 (E)該判断手段で特定波形データW j が読み出された
ことが判断された場合に該特定波形データW j に基づい
てサンプリングデータYD j を生成し、該サンプリング
データYD j を一時記憶手段に格納し、特定波形データ
j 以外が読み出されたことが判断された場合に該読み
出されたデータを差分波形データΔWD n として一時記
憶手段に累算し、以てサンプリングデータYD n を生成
する復号手段と、 (F) 得られたサンプリングデータYDj若しくはYDn
に基づき楽音信号を発生する楽音信号発生手段、 とを備えたことを特徴とする楽音信号発生装置。
(A) A musical sound waveform is sampled at a sampling point P.i(However
Sampling at i = 0,1,2, ..., N-1)
Data D obtained by performingiChoose from
Specific sampling data Dj(However, 0 ≦ j ≦ N
Specific waveform data W created based on -1)jAnd
Sampling data Dn(However, n = 1, 2,... N−
1 and sampling data D from n ≠ j)n-1
Waveform data ΔWD obtained by subtractingnAnd remember
(B) the specific waveform data W from the waveform storage means;jOr difference
Separated waveform data ΔWDn(C) temporary storage means, and (D) said read means.Data read by
By comparing with the specific waveform data W j
Means for determining whether or not (E) The specific waveform data W j Was read
Is determined, the specific waveform data W j Based on
Sampling data YD j Generate the sampling
Data YD j Is stored in the temporary storage means, and the specific waveform data
W j If it is determined that a value other than
The output data is converted to differential waveform data ΔWD n As temporary
Storage in the storage means, and the sampling data YD n Generate a
Decrypting means; (F) Obtained sampling data YDjOr YDn
And a tone signal generating means for generating a tone signal based on the following.
【請求項2】 前記読出手段は、音高を指定するための
Fナンバを生成するFナンバ生成手段と、該Fナンバ生
成手段からのFナンバを所定の周期で累算し、以て整数
部と小数部とで成る波形読出アドレスを生成するFナン
バ累算手段とを含み、 該読出手段は該波形読出アドレスの整数部がjの場合は
特定波形データWjを、該波形読出アドレスの整数部が
nの場合は差分波形データΔWDnをそれぞれ波形記憶
手段から読み出し、 前記復号手段は補間手段を含み、該補間手段は、サンプ
リングデータYDn+1とYDnとの間、又はサンプリング
データYDj+1とYDjとの間で該波形読出アドレスの小
数部の値に従って補間を行い、以て補間データを得、 前記楽音信号発生手段は、更に該補間データYDに基づ
いて楽音信号を生成することを特徴とする請求項1に記
載の楽音信号発生装置。
2. The reading means according to claim 1, wherein said reading means generates an F number for designating a pitch, and said reading means accumulates the F number from said F number generating means at a predetermined cycle. and and a F number accumulator means for generating a waveform reading address consisting of a fractional part, said read out means a specific waveform data W j if the integer part of the waveform readout address is j, the integer of waveform read address parts read from the respective waveform storage means the difference waveform data DerutaWD n for n, said decoding means includes interpolation means, interpolation means, between sampling data YD n + 1 and YD n, or sampled data YD j + 1 and performs interpolation according to the value of the fractional part of the waveform read address with the YD j, than Te to obtain interpolated data, the tone signal generation means generates a musical tone signal based further on the interpolation data YD Features to The musical tone signal generator according to claim 1, wherein
【請求項3】 差分波形データΔWDN-1は、サンプリ
ングデータDM-1(但し、1≦M≦N−3)からDN-2
減算することにより得られ、ここに、jはM<j<N−
1を満足し、 前記読出手段は差分波形データΔWDN-1を読み出した
後に、再度、差分波形データΔWDMを読み出すことを
特徴とする請求項1に記載の楽音信号発生装置。
3. The difference waveform data ΔWD N−1 is obtained by subtracting D N−2 from sampling data D M−1 (1 ≦ M ≦ N−3), where j is M <J <N-
1 satisfied, the reading means after reading the difference waveform data ΔWD N-1, again, the musical tone signal generating apparatus according to claim 1, characterized in that reading the difference waveform data ΔWD M.
【請求項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 out the differential waveform data ΔWD N-1 and then specifies again. 2. The tone signal generating apparatus according to claim 1, wherein waveform data W j (j = M) is read.
【請求項5】 前記特定サンプリングデータDjの内容
はゼロであることを特徴とする請求項1に記載の楽音信
号発生装置。
5. A musical tone signal generating apparatus according to claim 1, wherein the content of the specific sampling data D j is zero.
【請求項6】 前記特定サンプリングデータDjの内容
は所定の広がりの範囲内にあることを特徴とする請求項
1に記載の楽音信号発生装置。
Wherein said contents of a specific sampling data D j is musical tone signal generating apparatus according to claim 1, characterized in that within a predetermined spread.
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
JP6-274277 1994-10-14
JP27427794 1994-10-14
JP7293747A JP2944069B2 (en) 1994-10-14 1995-10-16 Music signal generator

Publications (2)

Publication Number Publication Date
JPH08221075A JPH08221075A (en) 1996-08-30
JP2944069B2 true 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
JPH08221075A (en) 1996-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
JP2576647B2 (en) Waveform generator
US5248842A (en) Device for generating a waveform of a musical tone
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
JP2944069B2 (en) Music signal generator
JP2950461B2 (en) Tone generator
US5639978A (en) Musical tone signal generating apparatus for electronic musical instrument
JPH0561473A (en) Musical tone frequency generating device for electronic musical instrument
JPS58200297A (en) Envelope signal generator
JP5104522B2 (en) Waveform generator and waveform generation processing program
JP2950893B2 (en) Music signal generator
JP2728032B2 (en) Tone generator
JP2790128B2 (en) Method of compressing waveform data and digital data for tone control
JP3223555B2 (en) Waveform reading device
JP3223560B2 (en) Waveform data reading device
JPS5846036B2 (en) electronic musical instruments
US5883324A (en) Signal generating apparatus and signal generating method
JP2768241B2 (en) Signal processing device
JP3288500B2 (en) Musical instrument for electronic musical instruments
JPS6352399B2 (en)
JP2723041B2 (en) Tone generator
JP3097324B2 (en) Digital sound data output device
JPH0560118B2 (en)
JP2907051B2 (en) Apparatus and method for generating waveform

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