JP3223560B2 - Waveform data reading device - Google Patents
Waveform data reading deviceInfo
- Publication number
- JP3223560B2 JP3223560B2 JP07409492A JP7409492A JP3223560B2 JP 3223560 B2 JP3223560 B2 JP 3223560B2 JP 07409492 A JP07409492 A JP 07409492A JP 7409492 A JP7409492 A JP 7409492A JP 3223560 B2 JP3223560 B2 JP 3223560B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- value
- data
- current
- difference value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、差分PCM方式で記憶
された波形データを読み出して楽音を生成する電子楽器
の波形データ読出し装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a waveform data reading apparatus for an electronic musical instrument for generating a musical tone by reading waveform data stored in a differential PCM system.
【0002】[0002]
【従来の技術】近年、電子楽器の音源における波形デー
タの記憶方式として、波形データの各標本値間の差分値
をROM(Read Only Memory)などのメモリに記憶す
る、差分PCM(DPCM:Differential Pulse Code
Moduration)方式がある(以後、DPCM方式で波形デ
ータが記憶されたROMを、DPCM−ROMと呼
ぶ)。このDPCMの復調の段階、すなわち、電子楽器
の演奏時には、このDPCM−ROMから読み出された
各差分値が累算(積分)されて、元の波形データが得ら
れる。2. Description of the Related Art In recent years, as a method of storing waveform data in a sound source of an electronic musical instrument, a differential PCM (Differential Pulse CM) which stores a difference value between sample values of waveform data in a memory such as a ROM (Read Only Memory). Code
Modulation) method (hereinafter, a ROM in which waveform data is stored by the DPCM method is called a DPCM-ROM). At the stage of demodulation of the DPCM, that is, during the performance of the electronic musical instrument, the difference values read from the DPCM-ROM are accumulated (integrated) to obtain the original waveform data.
【0003】図11は、このような目的のために用いら
れる、一般的な波形データ読出し装置の全体構成図であ
る。図11において、アドレスジェネレータ1101か
らは、現在値アドレスの整数アドレス(以後、現整数ア
ドレスと呼ぶ)がアドレスコントローラ1102へ、キ
ャリーが積分器1103へ、現在値アドレスの小数アド
レス(以後、現小数アドレスと呼ぶ)が補間器1104
へ、それぞれ出力される。FIG. 11 is an overall configuration diagram of a general waveform data reading device used for such a purpose. In FIG. 11, an address generator 1101 sends an integer address of a current value address (hereinafter, referred to as a current integer address) to an address controller 1102, a carry to an integrator 1103, a decimal address of a current value address (hereinafter, a current decimal address). Interpolator 1104)
To each of them.
【0004】これらのデータによって、以下に述べるよ
うに、特には図示していないDPCM−ROMの整数ア
ドレスに対応する差分値が読み出され、積分器1103
と補間器1104によって波形データが作成される。As described below, a difference value corresponding to an integer address of a DPCM-ROM (not shown) is read out from these data, and an integrator 1103 is read out.
And the interpolator 1104 generates waveform data.
【0005】以下、図11の波形データ読出し装置を構
成しているアドレスジェネレータ1101、アドレスコ
ントローラ1102、積分器1103、および補間器1
104のそれぞれの従来例と全体動作について、図17
及び図18に示される具体例を用いて説明する。Hereinafter, an address generator 1101, an address controller 1102, an integrator 1103, and an interpolator 1 constituting the waveform data reading device of FIG.
FIG.
And a specific example shown in FIG.
【0006】図17は、DPCM−ROMの各整数アド
レス(3、4、5、・・・)に記憶されている波形デー
タの累算値(積分値)である各振幅値と、各振幅値間の
差分値、および音高(ピッチ)に比例するアドレス歩進
量の例を示した図である。FIG. 17 shows amplitude values which are accumulated values (integral values) of waveform data stored at integer addresses (3, 4, 5,...) Of the DPCM-ROM, and amplitude values. FIG. 7 is a diagram illustrating an example of a difference value between the two and an address step amount proportional to a pitch.
【0007】今、図17において、DPCM−ROMに
記憶されている差分値データの原音高をC4 とし、原音
高に対応するDPCM−ROMの整数アドレスを(3) 、
(4)、(5) 、(6) 、・・・とする。なおアドレス歩進量
(1) は原音高に対応する。In FIG. 17, the original pitch of the difference value data stored in the DPCM-ROM is C4, and the integer address of the DPCM-ROM corresponding to the original pitch is (3)
(4), (5), (6), ... The address increment
(1) corresponds to the original pitch.
【0008】この場合、アドレス(3) における振幅値
は、アドレス(3) までの各差分値の累算である積分値S
1 であり、アドレス(4) における振幅値は、上記積分値
S1 にDPCM−ROMのアドレス(3) に格納されてい
るアドレス(3) 〜(4) 間の差分値D1 を加算した積分値
S2 である。また、アドレス(5) における振幅値は、積
分値S2 にアドレス(4) に格納されているアドレス(4)
〜(5) の差分値D2 を加算した値である。同様に、アド
レス(6) における振幅値は、積分値S3 にアドレス(5)
に格納されているアドレス(5) 〜(6) 間の差分値D3 を
加算した値である。In this case, the amplitude value at the address (3) is an integral value S, which is an accumulation of the respective difference values up to the address (3).
Is 1, the amplitude value at address (4), by adding the difference value D 1 of the between addresses (3) ~ (4) of the said integrated values S 1 stored in the address (3) of the DPCM-ROM integration is the value S 2. The address (5) the amplitude value at the address stored in the integral value S 2 in the address (4) (4)
Is a value obtained by adding the difference value D 2 to (5). Similarly, the amplitude value at address (6), the integral value S 3 address (5)
Is a value obtained by adding the difference value D 3 between stored and are addresses (5) to (6).
【0009】いま、図17の例は、音名A3 に対応する
波形データを得る場合の例である。ここで、A3 音とC
4 音のピッチ比は0.794 である。すなわち、アドレス歩
進量は、0.794 ≦1となる。そして、現在値アドレスを
3.75、つまり、整数アドレスを(3) 、小数アドレスを
(0.75)として、その現在値アドレスにおける波形データ
の振幅値A1 が得られているものとする。FIG. 17 shows an example in which waveform data corresponding to the pitch name A3 is obtained. Where A3 sound and C
The pitch ratio of the four sounds is 0.794. That is, the address increment is 0.794 ≦ 1. And the current value address is
3.75, i.e., integer address (3), decimal address
It is assumed that the amplitude value A 1 of the waveform data at the current value address has been obtained as (0.75).
【0010】図12は、図11のアドレスジェネレータ
1101の従来例のブロック構成図である。図12にお
いて、現在値アドレス格納メモリ1201から読み出さ
れた現在値アドレス(3.75)が、図13に示すように、ア
ドレスデータの上位部であるROMアドレッシング用の
整数部(3) とアドレスデータの下位部である補間用の小
数部(0.75)に分離され、それぞれアドレス整数部レジス
タ1202とアドレス小数部レジスタ1203にセット
される。FIG. 12 is a block diagram of a conventional example of the address generator 1101 of FIG. In FIG. 12, the current value address (3.75) read from the current value address storage memory 1201 is, as shown in FIG. 13, a ROM addressing integer part (3), which is an upper part of the address data, and an address data. It is separated into a decimal part (0.75) for interpolation, which is a lower part, and is set in an address integer part register 1202 and an address decimal part register 1203, respectively.
【0011】また、アドレス歩進量格納メモリ1204
からは、演奏される楽音の音高(ピッチ)に比例するア
ドレス歩進量(0.794) が読み出され、アドレス歩進量レ
ジスタ1205にセットされる。An address increment storage memory 1204
, The address increment (0.794) proportional to the pitch (pitch) of the musical tone to be played is read out and set in the address increment register 1205.
【0012】このアドレス歩進量と現在値アドレスと
は、図13に示すような関係にあり、アドレス歩進量
は、小数部のみから構成される。つぎに、アドレス小数
部レジスタ1203から読み出された小数アドレス(0.7
5)とアドレス歩進量レジスタ1205から読み出された
アドレス歩進量(0.794)は、バイナリ加算器1206で
加算され、現小数アドレス(0.75+0.794=1.544)の小数部
(0.544) とキャリーが出力される。The address increment and the current value address have a relationship as shown in FIG. 13, and the address increment consists of only a decimal part. Next, the decimal address (0.7
5) and the address increment (0.794) read from the address increment register 1205 are added by the binary adder 1206, and the decimal part of the current decimal address (0.75 + 0.794 = 1.544) is added.
(0.544) and carry are output.
【0013】一方、インクリメンタ1207は、入力さ
れる整数アドレスに対して、バイナリ加算器1206か
らのキャリー出力が無ければ、それをそのまま現整数ア
ドレスとして出力するが、図17の例のようにキャリー
出力があれば、それをインクリメントして現整数アドレ
ス(4) として出力する。On the other hand, if there is no carry output from the binary adder 1206 for the input integer address, the incrementer 1207 outputs the carry address as it is as the current integer address, but as shown in FIG. If there is an output, it is incremented and output as the current integer address (4).
【0014】つぎに、現整数アドレス(4) と現小数アド
レス(0.544) は、更新された現在値アドレス(4.544) と
して、現在値アドレス格納メモリ1201にセットされ
るとともに、現整数アドレス(4) は、図11のアドレス
コントローラ1102へ、また現小数アドレス(0.544)
は補間器1104へ、またキャリーは積分器1103へ
それぞれ出力される。Next, the current integer address (4) and the current decimal address (0.544) are set in the current value address storage memory 1201 as the updated current value address (4.544), and the current integer address (4) is set. Is sent to the address controller 1102 in FIG. 11 and the current decimal address (0.544)
Is output to the interpolator 1104 and the carry is output to the integrator 1103, respectively.
【0015】つぎに、図14は、図11のアドレスコン
トローラ1102のブロック構成図である。図14にお
いて、図12の構成を有する図11のアドレスジェネレ
ータ1101から入力された現整数アドレス(4) は、セ
レクタ1401からアドレス出力レジスタ1402を介
して、前述した差分値が記憶されているDPCM−RO
Mへ出力されるとともに、デクリメンタ1403へ入力
される。その後、デクリメンタ1403で値1だけ減算
された整数アドレス(3) が、セレクタ1401、アドレ
ス出力レジスタ1402を介して、DPCM−ROMへ
出力される。FIG. 14 is a block diagram of the address controller 1102 of FIG. In FIG. 14, the current integer address (4) input from the address generator 1101 of FIG. 11 having the configuration of FIG. 12 is transmitted from the selector 1401 via the address output register 1402 to the DPCM- RO
It is output to M and input to a decrementer 1403. Thereafter, the integer address (3) obtained by subtracting the value 1 by the decrementer 1403 is output to the DPCM-ROM via the selector 1401 and the address output register 1402.
【0016】図15は、図11の積分器1103の従来
例のブロック構成図である。前述したように、値1だけ
デクリメントされた整数アドレス(3) によってDPC−
ROMから読み出され積分用データ入力レジスタ150
1にセットされた入力データの差分値D1 (図17を参
照)と、積分値格納メモリ1502から読み出され積分
値出力レジスタ1503に格納された積分値S1 は、積
分演算ALU(arithmetic logic unit) 1504でつぎ
のように演算される。FIG. 15 is a block diagram of a conventional example of the integrator 1103 of FIG. As described above, the DPC-value is determined by the integer address (3) decremented by one.
Data input register 150 for integration read from ROM
The difference value D 1 of the input data set to 1 (see FIG. 17) and the integrated value S 1 read from the integrated value storage memory 1502 and stored in the integrated value output register 1503 are calculated by an integral operation ALU (arithmetic logic). (unit) 1504 is calculated as follows.
【0017】すなわち、アドレスジェネレータ1101
からキャリー出力が無い場合は、積分値出力レジスタ1
503からの積分値がそのままALU1504から出力
され、またキャリーがある場合は、積分値出力レジスタ
1503からの積分値S1 に積分用データ入力レジスタ
1501からの差分値D1 が加算されて積分値S2 とさ
れ(図17参照)、その積分値が積分器1103から補
間器1104へ出力される。That is, the address generator 1101
If there is no carry output from, the integrated value output register 1
Integral values from 503 is output as the ALU1504, also if there is a carry is added the difference value D 1 is from integrating data input register 1501 to the integration values S 1 from the integrated value output register 1503 integrated value S 2 (see FIG. 17), and the integrated value is output from the integrator 1103 to the interpolator 1104.
【0018】図16は図11の補間器1104のブロッ
ク構成図である。図16において、現整数アドレス(4)
によって読み出されデータ入力レジスタ1601に格納
された入力データである差分値D2 は、乗算器1602
で現小数アドレス(0.544) と乗算され、その乗算出力D
h が、図15の構成を有する図11の積分器1103か
ら出力され積分値レジスタ1603に格納されている積
分値S2 に、加算器1604で加算されて、現在値アド
レス(4.544) における振幅値A2 とされる(図17参
照)。FIG. 16 is a block diagram of the interpolator 1104 shown in FIG. In FIG. 16, the current integer address (4)
The difference value D 2, which is the input data read by the data input register 1601 and stored in the data input register 1601,
Is multiplied by the current decimal address (0.544), and the multiplied output D
h is added by the adder 1604 to the integral value S 2 output from the integrator 1103 of FIG. 11 having the configuration of FIG. 15 and stored in the integral value register 1603, and the amplitude value at the current value address (4.544) is obtained. are a 2 (see FIG. 17).
【0019】以上のようにして、まず、図17において
現整数アドレス(4) における振幅値を得るために、アド
レス(3) の積分値S1 に、アドレス(3) に格納されたア
ドレス(3) 〜(4) 間の差分値D1 が足され、さらに補間
演算として、アドレス(4) における振幅値である積分値
S2 に、現整数アドレス(4) に格納されているアドレス
(4) 〜(5) 間の差分値D2 に小数部(0.544) を乗算した
値Dh が加算されることによって、現在値アドレス(4.5
44) における波形データの振幅値A2 が得られる。[0019] As described above, first, in order to obtain the amplitude value at the current integer address (4) in FIG. 17, the integrated values S 1 of address (3), the address (3) in the stored address (3 ) - (4) the difference value D 1 of the between is added together, yet as the interpolation calculation, the integral value S 2 is an amplitude value at address (4), the address stored in the current integer address (4)
(4) - (5) by the value Dh obtained by multiplying the fractional portion of (0.544) the difference value D 2 between are added, the current value address (4.5
The amplitude value A 2 of the waveform data obtained in 44).
【0020】以上は、歩進量≦1の場合であるが、つぎ
に、歩進量>1の場合について図18の具体例を用いて
説明する。図18の例は、音名A4 に対応する波形デー
タを得る場合の例である。ここで、A4 音とC4 音のピ
ッチ比は約1.68>1である。そして、現在値アドレスを
3.75、つまり、整数アドレスを(3) 、小数アドレスを
(0.75)として、その現在値アドレスにおける波形データ
の振幅値A1 が得られているものとする。The above description is for the case where the step amount ≦ 1. Next, the case where the step amount> 1 will be described with reference to a specific example of FIG. The example of FIG. 18 is an example of a case where waveform data corresponding to the pitch name A4 is obtained. Here, the pitch ratio between the A4 sound and the C4 sound is about 1.68> 1. And the current value address is
3.75, i.e., integer address (3), decimal address
It is assumed that the amplitude value A 1 of the waveform data at the current value address has been obtained as (0.75).
【0021】この場合は、前述した歩進量≦1の場合と
同じように、図12のアドレス整数部レジスタ1202
から整数アドレス(3) が出力され、アドレス小数部レジ
スタ1203から小数アドレス(0.75)が出力される。一
方、アドレス歩進量格納メモリ1204からアドレス歩
進量(1.68)が出力され、小数部の加算動作を行うバイナ
リ加算器1206で、小数アドレス(0.75)にアドレス歩
進量(1.68)が加算される。In this case, as in the case where the step amount ≦ 1, the address integer part register 1202 shown in FIG.
Outputs the integer address (3), and the address decimal part register 1203 outputs the decimal address (0.75). On the other hand, the address increment (1.68) is output from the address increment storage memory 1204, and the address increment (1.68) is added to the decimal address (0.75) by the binary adder 1206 which performs the addition operation of the decimal part. You.
【0022】その結果、小数部の(0.43)が得られるとと
もに、2つのキャリーがバイナリー加算器1206から
インクリメンタ1207へ出力され、インクリメンタ1
207から現整数アドレス(5) が出力される。それとと
もに、バイナリ加算器1206から現小数アドレス(0.4
3)が出力され、新しい現在値アドレス(5.43)が現在値ア
ドレス格納メモリ1201に格納される。As a result, a decimal part (0.43) is obtained, and two carry signals are output from the binary adder 1206 to the incrementer 1207.
The current integer address (5) is output from 207. At the same time, the current decimal address (0.4
3) is output, and the new current value address (5.43) is stored in the current value address storage memory 1201.
【0023】[0023]
【発明が解決しようとする課題】以上の動作説明からわ
かるように、歩進量が1より大きい場合は、図12に示
されるアドレスジェネレータにおいて、図18のように
現整数アドレス(3) に歩進量(1.68)が加算された新しい
現整数アドレス(5) は、整数アドレス(4) を飛び越して
いる。As will be understood from the above description of the operation, when the increment is larger than 1, the address generator shown in FIG. 12 uses the address generator shown in FIG. The new current integer address (5) to which the binary value (1.68) is added jumps over the integer address (4).
【0024】そのため、このように現在値アドレスの整
数部において飛び越しが発生してしまうと、DPCM−
ROMに記憶されている飛び越された整数アドレスの差
分値データが無視される。For this reason, if a jump occurs in the integer part of the current value address, the DPCM-
The difference value data of the skipped integer address stored in the ROM is ignored.
【0025】その結果、各アドレスにおける差分値を順
次累算しなければならないDPCM方式においては、正
しい波形が得られず、その時点で原波形とは異なった波
形となってしまう。As a result, in the DPCM method in which the difference value at each address must be sequentially accumulated, a correct waveform cannot be obtained, and the waveform becomes different from the original waveform at that time.
【0026】このように従来のDPCM方式の波形デー
タ読出し装置では、音高に応じた歩進量で整数部アドレ
スを読み飛ばすことができないため、図13に示される
ように、アドレス歩進量を小数部以上に増やすことがで
きず、そのため原音周波数以上の周波数を有する波形デ
ータを生成することができないという問題点を有してい
た。As described above, in the conventional DPCM type waveform data reading apparatus, the integer part address cannot be skipped by the step amount corresponding to the pitch, and therefore, as shown in FIG. There has been a problem that the waveform data having a frequency higher than the original sound frequency cannot be generated because the frequency cannot be increased to a decimal part or more.
【0027】本発明の課題は、DPCM方式の波形デー
タ読出し装置において、原音周波数以上の周波数を有す
る楽音を生成可能とすることにある。An object of the present invention is to enable a tone data having a frequency equal to or higher than the original sound frequency to be generated in a waveform data reading device of the DPCM system.
【0028】[0028]
【課題を解決するための手段】本発明は、まず、波形情
報の各標本値間の差分値データを記憶する差分値データ
記憶手段を有する。According to the present invention, first, there is provided difference value data storage means for storing difference value data between sample values of waveform information.
【0029】つぎに、楽器からの音高情報などに基づい
て指定されるアドレスデータ歩進量に基づき、差分値デ
ータ記憶手段から差分値データを読み出すためのアドレ
スデータを更新し生成するアドレスデータ生成手段を有
する。Next, address data generation for updating and generating the address data for reading the difference value data from the difference value data storage means based on the address data increment amount specified based on the pitch information from the musical instrument or the like. Having means.
【0030】また、アドレスデータ生成手段により生成
されたアドレスデータの整数部を基準として、該アドレ
スデータの整数部の更新量に応じた数の連続する整数ア
ドレスデータを生成するアドレスデータ制御手段と、該
アドレスデータ制御手段から順次出力される各整数アド
レスデータに対応して差分値データ記憶手段から順次読
み出される差分値データのうち、最後に読み出される差
分値データを除く差分値データを順次積分する積分演算
手段とで構成される。The address data is generated by the address data generating means.
Address based on the integer part of the
Number of consecutive integer addresses corresponding to the update amount of the integer part of the
Address data control means for generating dress data;
Each integer address sequentially output from the address data control means
Data from the difference value data storage means
Of the difference value data
And integration calculating means for sequentially integrating the difference value data excluding the minute value data .
【0031】そして、積分演算手段で得られる積分値デ
ータと、差分値データ記憶手段から最後に読み出された
差分値データと、アドレスデータ生成手段により生成さ
れたアドレスデータの小数部に基づいて、補間演算を実
行することにより、波形データを生成し出力する波形デ
ータ出力手段と、を有する。 Then, the integral value data obtained by the integral operation means is obtained.
Data and the last value read from the difference value data storage
The difference value data and the address data
Performs an interpolation operation based on the decimal part of the address data
To generate and output waveform data.
Data output means.
【0032】[0032]
【作用】差分値データ記憶手段から連続する差分値デー
タを順次読み出してそれを順次積分すれば、元の波形情
報が再現される。The original waveform information is reproduced by successively reading out successive difference value data from the difference value data storage means and sequentially integrating them.
【0033】これに対して、アドレスデータ生成手段
が、差分値データ記憶手段から差分値データを読み出す
ためのアドレスデータを、アドレスデータ歩進量に基づ
いて更新することにより、元の波形情報に対して音高が
変化した波形データを生成することができる。従って、
このような波形データを電子楽器などの音源として使用
することができる。On the other hand, the address data generation means updates the address data for reading the difference value data from the difference value data storage means based on the address data step amount, so that the original waveform information is updated. Thus, it is possible to generate waveform data whose pitch has changed. Therefore,
Such waveform data can be used as a sound source of an electronic musical instrument or the like.
【0034】ここで、例えばアドレスデータ歩進量が1
より大きく、アドレスデータ生成手段におけるアドレス
データの更新によって差分値データ記憶手段上でアドレ
スが2以上進む場合、更新前のアドレスの整数部から更
新されたアドレスの整数部までの間にある各整数アドレ
スによって読み出される差分値データを差分値データ記
憶手段から順次読み出して積分する。Here, for example, the address data increment is 1
Larger, if the process proceeds address more on difference data storage means by updating the address data in the address data generating means, further from the integer portion of the pre-update address
Each integer address up to the integer part of the new address
The difference value data read by the data is sequentially read from the difference value data storage means and integrated.
【0035】この結果、アドレスデータ歩進量が1より
大きい場合であっても、適切な積分値データを演算する
ことができる。そして、そのようにして得られる積分値
データに対して、更新されたアドレスデータの整数部で
読み出された差分値データと、当該アドレスデータの小
数部とに基づいて補間演算することにより、波形データ
を生成し出力することができる。As a result, even when the address data increment is larger than 1, appropriate integrated value data can be calculated. Then, with respect to the integral value data obtained in this way, the integer part of the updated address data
The read difference value data and the small
By performing an interpolation operation based on several parts, waveform data can be generated and output.
【0036】[0036]
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。まず、本発明の実施例の全体構成
は、前述した図11の一般的な構成と同じである。ただ
し、アドレスコントローラ1101から積分器1103
へは、キャリーのほか、後述するステップ変化量が入力
される。アドレスジェネレータの構成 図1は、図11のアドレスジェネレータ1101の本発
明の実施例におけるブロック構成図である。Embodiments of the present invention will be described below in detail with reference to the drawings. First, the overall configuration of the embodiment of the present invention is the same as the above-described general configuration of FIG. However, the address controller 1101 sends the integrator 1103
Is input with a carry and a step change amount described later. Configuration of Address Generator FIG. 1 is a block diagram of an address generator 1101 in FIG. 11 according to an embodiment of the present invention.
【0037】図1において、現在値アドレス格納メモリ
101から読み出された現在値アドレスが、前述のDP
CM−ROMアドレッシング用のアドレス上位部(整数
部下1桁目を除いた整数部)とアドレス下位部(整数部
下1桁目と小数部)に分離され、それぞれアドレス上位
部レジスタ102とアドレス下位部レジスタ103にセ
ットされる。In FIG. 1, the current value address read from the current value address storage memory 101 corresponds to the aforementioned DP.
It is separated into an address upper part (an integer part excluding the first lower digit of the integer part) and a lower address part (the first digit and the decimal part of the integer part) for CM-ROM addressing. Set to 103.
【0038】また、アドレス歩進量格納メモリ104か
らは、演奏される楽音の音高(ピッチ)に比例するアド
レス歩進量が読み出され、アドレス歩進量レジスタ10
5にセットされる。From the address increment storage memory 104, the address increment proportional to the pitch (pitch) of the musical tone to be played is read out, and the address increment register 10 is read.
Set to 5.
【0039】このアドレス歩進量と現在値アドレスと
は、図2に示される対応関係にあり、アドレス歩進量
は、現在値アドレスの整数部の下1桁とそれに続く小数
部に対応している。The address increment and the current value address have the correspondence shown in FIG. 2, and the address increment corresponds to the lower one digit of the integer part of the current value address and the subsequent decimal part. I have.
【0040】つぎに図1に戻って、アドレス下位部レジ
スタ103から読み出されたアドレス下位部と、アドレ
ス歩進量レジスタ105から読み出されたアドレス歩進
量は、バイナリ加算器106で加算される。バイナリ加
算器106は、整数部の1桁と小数部の範囲で加算動作
を行って、現アドレス下位部を出力する。この場合、小
数部の1桁目が桁上がりすると、バイナリ加算器106
は、整数部の値を+1し、整数部の1桁目が桁上がりす
ると、キャリーを出力する。Returning to FIG. 1, the binary address adder 106 adds the address lower part read from the address lower register 103 and the address increment read from the address increment register 105. You. Binary adder 106 performs an addition operation in the range of one digit of the integer part and the decimal part, and outputs the lower part of the current address. In this case, when the first digit of the decimal part carries, the binary adder 106
Outputs a carry when the value of the integer part is incremented by one and the first digit of the integer part carries.
【0041】一方、インクリメンタ107は、入力され
る現在値アドレスの上位部に対して、バイナリ加算器1
06からのキャリー出力が無ければ、それをそのまま現
アドレス上位部として出力するが、キャリー出力があれ
ば、それをインクリメントして現アドレス上位部として
出力する。On the other hand, the incrementer 107 adds the binary adder 1 to the upper part of the input current value address.
If there is no carry output from 06, it is output as it is as the upper address of the current address. If there is a carry output, it is incremented and output as the upper address of the current address.
【0042】つぎに、現アドレス上位部と現アドレス下
位部は、更新された現在値アドレスとして、現在値アド
レス格納メモリ101にセットされるとともに、現アド
レス上位部及び現アドレス下位部の整数部は現整数アド
レスとして本発明の実施例における図11のアドレスコ
ントローラ1102へ、また、現アドレス下位部の小数
部は現小数アドレスとして本発明の実施例における図1
1の補間器1104へそれぞれ転送される。Next, the upper part of the current address and the lower part of the current address are set in the current value address storage memory 101 as the updated current value address, and the integer parts of the upper part of the current address and the lower part of the current address are The current integer address to the address controller 1102 of FIG. 11 in the embodiment of the present invention, and the decimal part of the lower part of the current address as the current decimal address in FIG.
Are transferred to one interpolator 1104.
【0043】また、現在値アドレス格納メモリ101か
ら読み出された現在値アドレスの整数部の下位2ビット
は、前アドレスステップレジスタ108に格納され、更
新された現在値アドレスの整数部の下位2ビットととも
に、ステップ演算器109において、図3に示される演
算真理値表に従って演算され、その演算結果が、ステッ
プ変化量として本発明の実施例における図11の積分器
1103に出力される。アドレスコントローラの構成 次に、本発明の実施例における図11のアドレスコント
ローラ1102のブロック構成図は、前述した図14の
構成と同様である。The lower two bits of the integer part of the current value address read from the current value address storage memory 101 are stored in the previous address step register 108, and the lower two bits of the integer part of the updated current value address are stored. At the same time, the calculation is performed by the step calculator 109 in accordance with the calculation truth table shown in FIG. 3, and the calculation result is output to the integrator 1103 of FIG. 11 in the embodiment of the present invention as the step change amount. Configuration of Address Controller Next, a block diagram of the address controller 1102 of FIG. 11 in the embodiment of the present invention is the same as the configuration of FIG. 14 described above.
【0044】ただし、本発明の実施例では、現整数アド
レスとそれがデクリメンタ1403で値1だけ減算され
た整数アドレスのほかに、その減算された整数アドレス
がさらにデクリメンタ1403で値1だけ減算された整
数アドレスが、DPCM−ROMへ出力され得る。積分器の構成 図4は、本発明の実施例における図11の積分器110
3のブロック構成図である。However, in the embodiment of the present invention, in addition to the current integer address and the integer address obtained by subtracting the value 1 by the decrementer 1403, the subtracted integer address is further reduced by the value 1 by the decrementer 1403. An integer address can be output to the DPCM-ROM. Diagram 4 of the integrator, the integrator 110 of FIG. 11 in the embodiment of the present invention
FIG. 3 is a block diagram of a third embodiment.
【0045】図4において、まず、積分値メモリ404
から読み出された積分値は、積分値格納レジスタ405
に格納される。一方、本発明の実施例における図11の
アドレスコントローラ1102において現整数アドレス
から値1だけ減算されたアドレスによってDPCM−R
OMから読み出された差分値データは、#2の差分値レ
ジスタ402に格納される。また、アドレスコントロー
ラ1102において現整数アドレスから値2だけ減算さ
れたアドレスによってDPCM−ROMから読み出され
た差分値データは、#1の差分値レジスタ401に格納
される。In FIG. 4, first, the integral value memory 404
The integrated value read from the
Is stored in On the other hand, in the address controller 1102 of FIG. 11 according to the embodiment of the present invention, the DPCM-R
The difference value data read from the OM is stored in the difference value register 402 of # 2. The difference value data read from the DPCM-ROM by the address obtained by subtracting the value 2 from the current integer address in the address controller 1102 is stored in the # 1 difference value register 401.
【0046】そして、図1の構成を有する図11のアド
レスジェネレータ1101から入力されるステップ変化
量が後述するように0のときは、積分値格納レジスタ4
05に格納された積分値が積分値セレクタ406によっ
て選択され、積分値演算ALU407に入力される。積
分値演算ALU407は、その積分値を、そのまま積分
値出力レジスタ408に格納する。When the step change amount input from the address generator 1101 of FIG. 11 having the configuration of FIG. 1 is 0 as described later, the integrated value storage register 4
05 is selected by the integral value selector 406 and input to the integral value calculation ALU 407. The integral value operation ALU 407 stores the integral value in the integral value output register 408 as it is.
【0047】また、上記ステップ変化量が後述するよう
に1のときは、#2の差分値レジスタ402に格納され
ている差分値データが差分値セレクタ403により選択
されて積分値演算ALU407に入力され、一方、積分
値格納レジスタ405に格納された積分値が積分値セレ
クタ406によって選択されて積分値演算ALU407
に入力される。積分値演算ALU407は、積分値格納
レジスタ405からの積分値に、#2の差分値レジスタ
402からの差分値データを累算する。その累算結果
は、積分値出力レジスタ408に格納される。When the step change amount is 1 as described later, the difference value data stored in the difference value register 402 of # 2 is selected by the difference value selector 403 and input to the integral value calculation ALU 407. On the other hand, the integral value stored in the integral value storage register 405 is selected by the integral value selector 406, and the integral value calculation ALU 407
Is input to The integral value operation ALU 407 accumulates the integral value from the integral value storage register 405 with the difference value data from the # 2 difference value register 402. The accumulation result is stored in the integrated value output register 408.
【0048】さらに、上記ステップ変化量が後述するよ
うに2のときは、まず、第1番目のタイミングで、#1
の差分値レジスタ401に格納されている差分値データ
が差分値セレクタ403により選択されて積分値演算A
LU407に入力され、一方、積分値格納レジスタ40
5に格納された積分値が積分値セレクタ406によって
選択されて積分値演算ALU407に入力される。積分
値演算ALU407は、積分値格納レジスタ405から
の積分値に、#1の差分値レジスタ401からの差分値
データを累算する。その累算結果は、積分値出力レジス
タ408に格納される。つぎに、第2番目のタイミング
で、#2の差分値レジスタ402に格納されている差分
値データが差分値セレクタ403により選択されて積分
値演算ALU407に入力され、一方、第1番目のタイ
ミングで積分値格納レジスタ405に格納された積分値
が積分値セレクタ406で選択されて積分値演算ALU
407に入力される。積分値演算ALU407は、上記
第1番目のタイミングで得られた積分値に上記#2の差
分値レジスタ402からの差分値データを累算する。そ
の累算結果は、ふたたび積分値出力レジスタ408に格
納される。補間器の構成 つぎに、本発明の実施例における図11の補間器110
4のブロック構成図は、前述した図16の構成と同様で
ある。具体例による波形データの生成動作 つぎに、上述した本発明の実施例の動作を、ステップ変
化量0、1、および2に対応する3つの具体例を用いて
説明する。なお、アドレスおよびアドレス歩進量はとも
に、4ビットの整数部と4ビットの小数部を有し、浮動
小数点表示に基づくデータであるとする。 (a) 現在値アドレス:3.25 アドレス歩進量:0.5 図5は、アドレス歩進量と波形データの振幅値との関係
を示す図(その1)である。この場合は、現在値アドレ
スにアドレス歩進量が加算されても、現整数アドレスが
更新されない場合である。また図6は、現在値アドレス
にアドレス歩進量が加算されて、現在値アドレスが更新
され、またステップ変化量が得られる過程を示す図(そ
の1)である。Further, when the step change amount is 2 as described later, first, at the first timing, # 1
The difference value data stored in the difference value register 401 is selected by the difference value selector 403, and the integrated value calculation A
LU 407, while the integrated value storage register 40
5 is selected by the integral value selector 406 and input to the integral value calculation ALU 407. The integral value operation ALU 407 accumulates the integral value from the integral value storage register 405 with the difference value data from the difference value register 401 of # 1. The accumulation result is stored in the integrated value output register 408. Next, at the second timing, the difference value data stored in the difference value register 402 of # 2 is selected by the difference value selector 403 and input to the integral value calculation ALU 407, while at the first timing The integral value stored in the integral value storage register 405 is selected by the integral value selector 406, and the integral value operation ALU
407 is input. The integral value calculation ALU 407 accumulates the difference value data from the # 2 difference value register 402 with the integral value obtained at the first timing. The accumulation result is stored again in the integrated value output register 408. Configuration of Interpolator Next, the interpolator 110 of FIG.
The block diagram of FIG. 4 is the same as the configuration of FIG. 16 described above. Operation of Generating Waveform Data According to Specific Examples Next, the operation of the above-described embodiment of the present invention will be described using three specific examples corresponding to step changes 0, 1, and 2. It is assumed that both the address and the address increment have a 4-bit integer part and a 4-bit decimal part, and are data based on floating-point representation. (A) Current value address: 3.25 Address increment: 0.5 FIG. 5 is a diagram (part 1) showing the relationship between the address increment and the amplitude value of waveform data. In this case, even if the address increment is added to the current value address, the current integer address is not updated. FIG. 6 is a diagram (part 1) illustrating a process in which the address increment is added to the current value address, the current value address is updated, and the step change amount is obtained.
【0049】まず、図1の構成を有する図11のアドレ
スジェネレータ1101において、現在値アドレス格納
メモリ101から読み出された現在値アドレス(3.25)
は、図6に示されるように、0011:0100で表さ
れる。ここで、“:”は、整数部と小数部の境目を示
す。First, the current value address (3.25) read from the current value address storage memory 101 in the address generator 1101 of FIG. 11 having the configuration of FIG.
Is represented by 0011: 0100, as shown in FIG. Here, “:” indicates a boundary between the integer part and the decimal part.
【0050】つぎに、この現在値アドレスがDPCM−
ROMアドレッシング用のアドレス上位部(001)と
アドレス下位部(1:0100)に分離され、それぞれ
アドレス上位部レジスタ102とアドレス下位部レジス
タ103にセットされる。Next, when the current value address is DPCM-
It is separated into an upper address part (001) and a lower address part (1: 0100) for ROM addressing, and are set in an address upper register 102 and an address lower register 103, respectively.
【0051】また、アドレス歩進量格納メモリ104か
らからアドレス歩進量(0.5) (0:1000)が読み出
され、アドレス歩進量レジスタ105にセットされる。
つぎに、アドレス下位部レジスタ103から読み出され
たアドレス下位部(1.25)(1:0100)と、アドレス
歩進量レジスタ105から読み出されたアドレス歩進量
(0.5) (0:1000)が、バイナリ加算器106で加
算され、加算結果として現アドレス下位部(1.75)(1:
1100)が得られる。この場合、バイナリー加算器1
06の整数部の桁上げはないので、キャリーは出力され
ない。The address increment (0.5) (0: 1000) is read from the address increment storage memory 104 and set in the address increment register 105.
Next, the address lower part (1.25) (1: 0100) read from the address lower part register 103 and the address increment read from the address increment register 105
(0.5) (0: 1000) is added by the binary adder 106, and as a result of addition, the lower part (1.75) (1:
1100) is obtained. In this case, the binary adder 1
Since there is no carry of the integer part of 06, no carry is output.
【0052】この結果、インクリメンタ107におい
て、アドレス上位部レジスタ103の出力(001)
は、そのまま現アドレス上位部(001)として出力さ
れる。この段階で現整数アドレスは、現アドレス上位部
(001)と現アドレス下位部の整数部(1)によって
(0011=3(10))となり、また現小数アドレスは、
現アドレス下位部の小数部(0.75)(:1100)に等し
くなる。ここで、X(10)はXが10進値であることを表
す。As a result, in the incrementer 107, the output (001) of the address upper register 103
Is output as it is as the current address upper part (001). At this stage, the current integer address becomes (0011 = 3 (10) ) by the current address upper part (001) and the integer part (1) of the current address lower part, and the current decimal address is
It is equal to the decimal part (0.75) (: 1100) of the lower part of the current address. Here, X (10) indicates that X is a decimal value.
【0053】つぎに、現アドレス上位部(001)と現
アドレス下位部(1:1100)により更新された現在
値アドレス(3.75)(0011:1100)は、現在値ア
ドレス格納メモリ101にセットされると共に、現整数
アドレス(0011=3(10))は本発明の実施例におけ
る図11のアドレスコントローラ1102へ、また現小
数アドレス(:1100)は補間器1104へそれぞれ
出力される。Next, the current value address (3.75) (0011: 1100) updated by the current address upper part (001) and the current address lower part (1: 1100) is set in the current value address storage memory 101. At the same time, the current integer address (0011 = 3 (10) ) is output to the address controller 1102 in FIG. 11 and the current decimal address (: 1100) is output to the interpolator 1104 in the embodiment of the present invention.
【0054】一方、現在値アドレス(3.25)の整数部の下
位2桁(11)は、前ステップとして前アドレスステッ
プレジスタ108に格納される。そして、上記レジスタ
108の出力と、新ステップである更新された現在値ア
ドレス(3.75)の整数部の下位2桁(11)とに対して、
ステップ演算器109が、図3に示す演算真理値表で示
される演算を行なう。この結果、図5、図6の例では、
ステップ演算器109は、ステップ変化量0を本発明の
実施例における図11の積分器1104に出力する。On the other hand, the lower two digits (11) of the integer part of the current value address (3.25) are stored in the previous address step register 108 as a previous step. Then, for the output of the register 108 and the lower two digits (11) of the integer part of the updated current value address (3.75), which is a new step,
Step calculator 109 performs a calculation shown in a calculation truth table shown in FIG. As a result, in the examples of FIGS.
The step calculator 109 outputs the step change amount 0 to the integrator 1104 in FIG. 11 in the embodiment of the present invention.
【0055】つぎに、図4の構成を有する図11の積分
器1103において、積分値メモリ404から読み出さ
れた積分値(図5のS1 )が、積分値格納レジスタ40
5に格納される。Next, in the integrator 1103 of FIG. 11 having the configuration of FIG. 4, the integration value (S 1 in FIG. 5) read from the integration value memory 404 is stored in the integration value storage register 40.
5 is stored.
【0056】しかしこの場合は、ステップ変化量が0で
あるため、積分値演算ALU407における加算演算は
行われず、#1の差分値レジスタ401および#2の差
分値レジスタ402の各内容は無視され、積分値S1 は
そのまま積分値出力レジスタ408に格納される。However, in this case, since the step change amount is 0, the addition operation in the integral value operation ALU 407 is not performed, and the contents of the difference value register 401 of # 1 and the difference value register 402 of # 2 are ignored. The integrated value S 1 is stored in the integrated value output register 408 as it is.
【0057】つぎに、図16の構成を有する本発明の実
施例における図11の補間器1104において、現整数
アドレス(3) によって読み出されデータ入力レジスタ1
601に格納された入力データである差分値D1 は、乗
算器1602で現小数アドレス(0.75)と乗算され、その
乗算出力Dh が、図4の構成を有する図11の積分器1
103から出力され積分値レジスタ1603に格納され
ている積分値S1 に、加算器1604で加算されて、現
在値アドレス(3.75)における振幅値A2 とされる(図5
参照)。 (b) 現在値アドレス:3.75 アドレス歩進量:0.5 図7は、アドレス歩進量と波形データの振幅値との関係
を示す図(その2)である。この場合は、現在値アドレ
スにアドレス歩進量が加算されて、現整数アドレスが+
1更新される場合である。また図8は、現在値アドレス
にアドレス歩進量が加算されて、現在値アドレスが更新
され、またステップ変化量が得られる過程を示す図(そ
の2)である。Next, in the interpolator 1104 of FIG. 11 in the embodiment of the present invention having the configuration of FIG. 16, the data input register 1 is read out by the current integer address (3).
11 is multiplied by the current decimal address (0.75) in the multiplier 1602, and the multiplied output Dh is output from the integrator 1 shown in FIG.
An adder 1604 adds the integral value S 1 output from the inverter 103 to the integral value S 1 stored in the integral value register 1603 to obtain an amplitude value A 2 at the current value address (3.75) (FIG. 5).
reference). (B) Current value address: 3.75 Address increment: 0.5 FIG. 7 is a diagram (part 2) showing the relationship between the address increment and the amplitude value of the waveform data. In this case, the address increment is added to the current value address, and the current integer address is incremented by +
1 is updated. FIG. 8 is a diagram (part 2) illustrating a process in which the address increment is added to the current value address, the current value address is updated, and the step change amount is obtained.
【0058】まず、図1の構成を有する図11のアドレ
スジェネレータ1101において、現在値アドレス格納
メモリ101から読み出された現在値アドレス(3.25)
は、図8に示されるように、0011:1100で表さ
れる。First, the current value address (3.25) read from the current value address storage memory 101 in the address generator 1101 of FIG.
Is represented by 0011: 1100 as shown in FIG.
【0059】つぎに、この現在値アドレスがDPCM−
ROMアドレッシング用のアドレス上位部(001)と
アドレス下位部(1:1100)に分離され、それぞれ
アドレス上位部レジスタ102とアドレス下位部レジス
タ103にセットされる。Next, when the present value address is DPCM-
The address is separated into an upper address part (001) and a lower address part (1: 1100) for ROM addressing, and are set in an address upper register 102 and an address lower register 103, respectively.
【0060】また、アドレス歩進量格納メモリ104か
らアドレス歩進量(0.5) (0:1000)が読み出さ
れ、アドレス歩進量レジスタ105にセットされる。つ
ぎに、アドレス下位部レジスタ103から読み出された
アドレス下位部(1.75)(1:1100)と、アドレス歩
進量レジスタ105から読み出されたアドレス歩進量
(0.5) (0:1000)が、バイナリ加算器106で加
算され、加算結果として現アドレス下位部(0.25)(0:
0100)が得られるとともにキャリーが1つインクリ
メンタ107へ出力される。The address increment (0.5) (0: 1000) is read from the address increment storage memory 104 and set in the address increment register 105. Next, the address lower part (1.75) (1: 1100) read from the address lower register 103 and the address increment read from the address increment register 105
(0.5) (0: 1000) is added by the binary adder 106, and as a result of addition, the lower part of the current address (0.25) (0: 1000)
0100) and one carry is output to the incrementer 107.
【0061】この結果、インクリメンタ107におい
て、アドレス上位部レジスタ103の出力(001)が
インクリメントされ、現アドレス上位部(010)とし
て出力される。この段階で現整数アドレスは、現アドレ
ス上位部(010)と現アドレス下位部の整数部(0)
によって(0100=4(10))となり、また現小数アド
レスは、現アドレス下位部の小数部(0.25)(:010
0)に等しくなる。As a result, in the incrementer 107, the output (001) of the upper address register 103 is incremented and output as the current address upper bit (010). At this stage, the current integer address includes the current address upper part (010) and the current address lower part (0).
(0100 = 4 (10) ), and the current decimal address is the decimal part (0.25) (: 010) of the lower part of the current address.
0).
【0062】つぎに、現アドレス上位部(010)と現
アドレス下位部(0:0100)により更新された現在
値アドレス(4.25)(0100:0100)は、現在値ア
ドレス格納メモリ101にセットされると共に、現整数
アドレス(0100=4(10))は本発明の実施例におけ
る図11のアドレスコントローラ1102へ、また現小
数アドレス(:0100)は補間器1104へそれぞれ
出力される。Next, the current value address (4.25) (0100: 0100) updated by the current address upper part (010) and the current address lower part (0: 0100) is set in the current value address storage memory 101. At the same time, the current integer address (0100 = 4 (10) ) is output to the address controller 1102 of FIG. 11 and the current decimal address (: 0100) is output to the interpolator 1104 in the embodiment of the present invention.
【0063】一方、現在値アドレス(3.75)の整数部の下
位2桁(11)は、前ステップとして前アドレスステッ
プレジスタ108に格納される。そして、上記レジスタ
108の出力と、更新された現在値アドレス(4.25)の整
数部の下位2桁(00)である新ステップとに対して、
ステップ演算器109が、図3に示す演算真理値表で示
される演算を行なう。この結果、図7、図8の例では、
ステップ演算器109は、ステップ変化量1を本発明の
実施例における図11の積分器1104に出力する。On the other hand, the lower two digits (11) of the integer part of the current value address (3.75) are stored in the previous address step register 108 as a previous step. Then, for the output of the register 108 and the new step that is the lower two digits (00) of the integer part of the updated current value address (4.25),
Step calculator 109 performs a calculation shown in a calculation truth table shown in FIG. As a result, in the examples of FIGS. 7 and 8,
The step calculator 109 outputs the step change amount 1 to the integrator 1104 in FIG. 11 in the embodiment of the present invention.
【0064】この後、アドレスジェネレータ1101か
ら出力された現整数アドレス(4) は、図11のアドレス
コントローラ1102内の図14のセレクタ1401か
らアドレス出力レジスタ1402を介して、DPCM−
ROMへ出力されるとともに、デクリメンタ1403へ
入力される。つぎに、デクリメンタ1403で値1だけ
減算された整数アドレス(3) が、同様にセレクタ140
1、アドレス出力レジスタ1402を介して、DPCM
−ROMへ出力されるとともに、ふたたびデクリメンタ
1403へ入力される。つづいて、デクリメンタ140
3でさらに値1だけ減算された整数アドレス(2) が、同
様にセレクタ1401、アドレス出力レジスタ1402
を介して、DPCM−ROMへ出力される。Thereafter, the current integer address (4) output from the address generator 1101 is transmitted from the selector 1401 in FIG. 14 in the address controller 1102 in FIG.
Output to the ROM and input to the decrementer 1403. Next, the integer address (3) obtained by decrementing the value 1 by the decrementer 1403 is similarly input to the selector 140
1. DPCM via the address output register 1402
-Output to ROM and input to decrementer 1403 again. Then, decrementer 140
The integer address (2) obtained by further subtracting the value 1 by 3 is similarly output to the selector 1401 and the address output register 1402.
Is output to the DPCM-ROM.
【0065】つぎに、図4の構成を有する図11の積分
器1103において、積分値メモリ404から読み出さ
れた積分値(図7のS1 )が、積分値格納レジスタ40
5に格納される。Next, in the integrator 1103 of FIG. 11 having the configuration of FIG. 4, the integrated value (S 1 of FIG. 7) read from the integrated value memory 404 is stored in the integrated value storage register 40.
5 is stored.
【0066】一方、本発明の実施例における図11のア
ドレスコントローラ1102において現整数アドレスか
ら値1だけ減算されたアドレス(3) によってDPCM−
ROMから読み出された差分値データ(図7のD1 )
は、#2の差分値レジスタ402に格納される。また、
アドレスコントローラ1102において現整数アドレス
から値2だけ減算されたアドレス(2) によりDPCM−
ROMから読み出された差分値データは、#1の差分値
レジスタ401に格納されるが、前述したステップ変化
量が1のときは#1の差分値レジスタ401に格納され
た差分値データは積分動作には使用されず無視される。On the other hand, in the address controller 1102 of FIG. 11 according to the embodiment of the present invention, the DPCM-address is obtained by subtracting the value 1 from the current integer address by address (3).
Difference value data read from the ROM (D 1 in FIG. 7)
Are stored in the difference value register 402 of # 2. Also,
The address controller 1102 uses the address (2) obtained by subtracting the value 2 from the current integer address to obtain the DPCM-
The difference value data read from the ROM is stored in the difference value register 401 of # 1. When the step change amount is 1, the difference value data stored in the difference value register 401 of # 1 is integrated. Not used for operation and ignored.
【0067】つぎに、上述のようにステップ変化量が1
のときは、#2の差分値レジスタ401に格納されてい
る差分値データ(D1 )が差分値セレクタ403により
選択されて積分値演算ALU407に入力され、一方、
積分値格納レジスタ405に格納された積分値(S1 )
が積分値セレクタ406によって選択されて積分値演算
ALU407に入力される。積分値演算ALU407
は、積分値格納レジスタ405からの積分値(S1 )
に、#2の差分値レジスタ401からの差分値データ
(D1 )を累算する。その累算結果(図7のS2 )は、
積分値出力レジスタ408に格納される。Next, as described above, the step change amount is 1
In the case of, the difference value data (D 1 ) stored in the difference value register 401 of # 2 is selected by the difference value selector 403 and input to the integral value calculation ALU 407, while
Integral value (S 1 ) stored in integral value storage register 405
Is selected by the integral value selector 406 and input to the integral value calculation ALU 407. Integral value calculation ALU407
Is the integral value (S 1 ) from the integral value storage register 405
Then, the difference value data (D 1 ) from the difference value register 401 of # 2 is accumulated. The accumulation result (S 2 in FIG. 7) is
It is stored in the integrated value output register 408.
【0068】つぎに、図16の構成を有する本発明の実
施例における図11の補間器1104において、現整数
アドレス(4) によって読み出されデータ入力レジスタ1
601に格納された入力データである差分値D2 は、乗
算器1602で現小数アドレス(0.25)と乗算され、その
乗算出力Dh が、図4の構成を有する図11の積分器1
103から出力され積分値レジスタ1603に格納され
ている積分値S2 に、加算器1604で加算されて、現
在値アドレス(4.25)における振幅値A2 とされる(図7
参照)。 (c) 現在値アドレス:3.75 アドレス歩進量:1.5 図9は、アドレス歩進量と波形データの振幅値との関係
を示す図(その3)である。この場合は、現在値アドレ
スにアドレス歩進量が加算されて、現整数アドレスが+
2更新される場合である。また、図10は現在値アドレ
スにアドレス歩進量が加算されて、現在値アドレスが更
新され、またステップ変化量が得られる過程を示す図
(その3)である。Next, in the interpolator 1104 of FIG. 11 in the embodiment of the present invention having the configuration of FIG. 16, the data input register 1 is read out by the current integer address (4).
Difference value D 2 is the input data stored in the 601 is multiplied by the multiplier 1602 and the current fractional addresses (0.25), the multiplication output Dh is, the integrator 1 of Figure 11 having the configuration of FIG. 4
The adder 1604 adds the integral value S 2 output from the register 103 to the integral value S 2 stored in the integral value register 1603 to obtain the amplitude value A 2 at the current value address (4.25) (FIG. 7).
reference). (C) Current value address: 3.75 Address increment: 1.5 FIG. 9 is a diagram (part 3) showing the relationship between the address increment and the amplitude value of waveform data. In this case, the address increment is added to the current value address, and the current integer address is incremented by +
2 is updated. FIG. 10 is a diagram (part 3) illustrating a process in which the address increment is added to the current value address, the current value address is updated, and the step change amount is obtained.
【0069】まず、図1の構成を有する図11のアドレ
スジェネレータ1101において、現在値アドレス格納
メモリ101から読み出された現在値アドレス(3.75)
は、図10に示されるように、0011:1100で表
される。First, the current value address (3.75) read from the current value address storage memory 101 in the address generator 1101 of FIG. 11 having the configuration of FIG.
Is represented by 0011: 1100 as shown in FIG.
【0070】つぎに、この現在値アドレスが、DPCM
−ROMアドレッシング用のアドレス上位部(001)
とアドレス下位部(1.75)(1:1100)に分離され、
それぞれアドレス上位部レジスタ102とアドレス下位
部レジスタ103にセットされる。また、アドレス歩進
量格納メモリ104からからアドレス歩進量(1.5)
(1:1000)が読み出され、アドレス歩進量レジス
タ105にセットされる。Next, the present value address is set in the DPCM
-Address upper part for ROM addressing (001)
And address lower part (1.75) (1: 1100)
These are set in the address upper register 102 and the address lower register 103, respectively. Also, the address increment amount (1.5) is read from the address increment storage memory 104.
(1: 1000) is read out and set in the address increment register 105.
【0071】つぎに、アドレス下位部レジスタ103か
ら読み出されたアドレス下位部(1.75)(1:1100)
と、アドレス歩進量レジスタ105から読み出されたア
ドレス歩進量(1.5) (1:1000)が、バイナリ加算
器106で加算され、加算結果として現アドレス下位部
(1.25)(1:0100)が得られるとともにキャリーが
1つインクリメンタ107へ出力される。Next, the lower address part (1.75) (1: 1100) read from the lower address register 103 is read.
And the address increment (1.5) (1: 1000) read from the address increment register 105 are added by the binary adder 106.
(1.25) (1: 0100) is obtained, and one carry is output to the incrementer 107.
【0072】この結果、インクリメンタ107におい
て、アドレス上位部レジスタ103の出力(001)が
インクリメントされ、現アドレス上位部(010)とし
て出力される。この段階で現整数アドレスは、現アドレ
ス上位部(010)と現アドレス下位部の整数部(1)
によって(0101=5(10))となり、また現小数アド
レスは、現アドレス下位部の小数部(0.25)(:010
0)に等しくなる。As a result, in the incrementer 107, the output (001) of the address upper register 103 is incremented and output as the current address upper part (010). At this stage, the current integer address includes the current address upper part (010) and the integer part (1) of the current address lower part.
(0101 = 5 (10) ), and the current decimal address is the decimal part (0.25) (: 010) of the lower part of the current address.
0).
【0073】つぎに、現アドレス上位部(010)と現
アドレス下位部(1:0100)により更新された現在
値アドレス(5.25)(0101:0100)は、現在値ア
ドレス格納メモリ101にセットされると共に、現整数
アドレス(0101=5(10))は本発明の実施例におけ
る図11のアドレスコントローラ1102へ、また現小
数アドレス(:0100)は補間器1104へそれぞれ
出力される。Next, the current value address (5.25) (0101: 0100) updated by the current address upper part (010) and the current address lower part (1: 0100) is set in the current value address storage memory 101. At the same time, the current integer address (0101 = 5 (10) ) is output to the address controller 1102 in FIG. 11 and the current decimal address (: 0100) is output to the interpolator 1104 in the embodiment of the present invention.
【0074】一方、現在値アドレス(3.75)の整数部の下
位2桁(11)は、前ステップとして前アドレスステッ
プレジスタ108に格納される。そして、上記レジスタ
108の出力と、更新された現在値アドレス(5.25)の整
数部の下位2桁(01)である新ステップとに対して、
ステップ演算器109が、図3に示す演算真理値表で示
される演算を行なう。この結果、図9、図10の例で
は、ステップ演算器109は、ステップ変化量2を本発
明の実施例における図11の積分器1104に出力す
る。On the other hand, the lower two digits (11) of the integer part of the current value address (3.75) are stored in the previous address step register 108 as a previous step. Then, for the output of the register 108 and the new step which is the lower two digits (01) of the integer part of the updated current value address (5.25),
Step calculator 109 performs a calculation shown in a calculation truth table shown in FIG. As a result, in the examples of FIGS. 9 and 10, the step calculator 109 outputs the step change amount 2 to the integrator 1104 of FIG. 11 in the embodiment of the present invention.
【0075】この後、アドレスジェネレータ1101か
ら出力された現整数アドレス(5) は、図11のアドレス
コントローラ1102内の図14のセレクタ1401か
らアドレス出力レジスタ1402を介して、DPCM−
ROMへ出力されるとともに、デクリメンタ1403へ
入力される。つぎに、デクリメンタ1403で値1だけ
減算された整数アドレス(4) が、同様にセレクタ140
1、アドレス出力レジスタ1402を介して、DPCM
−ROMへ出力されるとともに、ふたたびデクリメンタ
1403へ入力される。つづいて、デクリメンタ140
3でさらに値1だけ減算された整数アドレス(3) が、同
様にセレクタ1401、アドレス出力レジスタ1402
を介して、DPCM−ROMへ出力される。Thereafter, the current integer address (5) output from the address generator 1101 is transmitted from the selector 1401 shown in FIG. 14 in the address controller 1102 shown in FIG.
Output to the ROM and input to the decrementer 1403. Next, the integer address (4) obtained by decrementing the value 1 by the decrementer 1403 is similarly input to the selector 140.
1. DPCM via the address output register 1402
-Output to ROM and input to decrementer 1403 again. Then, decrementer 140
In addition, the integer address (3) further subtracted by the value 1 in the selector 3 and the selector 1401, the address output register 1402
Is output to the DPCM-ROM.
【0076】つぎに、図4の構成を有する図11の積分
器1103において、積分値メモリ404から読み出さ
れた積分値(図9のS1 )が、積分値格納レジスタ40
5に格納される。Next, in the integrator 1103 of FIG. 11 having the configuration of FIG. 4, the integrated value (S 1 in FIG. 9) read from the integrated value memory 404 is stored in the integrated value storage register 40.
5 is stored.
【0077】一方、本発明の実施例における図11のア
ドレスコントローラ1102において現整数アドレスか
ら値1だけ減算されたアドレス(4) によってDPCM−
ROMから読み出された差分値データ(図9のD2 )
は、#2の差分値レジスタ402に格納される。また、
アドレスコントローラ1102において現整数アドレス
から値2だけ減算されたアドレス(3) によりDPCM−
ROMから読み出された差分値データ(図9のD1 )
は、#1の差分値レジスタ401に格納される。On the other hand, in the address controller 1102 of FIG. 11 according to the embodiment of the present invention, the address (4) obtained by subtracting the value 1 from the current integer address is used for DPCM-
Difference value data read from the ROM (D 2 in FIG. 9)
Are stored in the difference value register 402 of # 2. Also,
The address controller 1102 uses the address (3) obtained by subtracting the value 2 from the current integer address to obtain the DPCM-
Difference value data read from the ROM (D 1 in FIG. 9)
Are stored in the difference value register 401 of # 1.
【0078】つぎに、上述のようにステップ変化量が2
のときは、まず、第1番目のタイミングで、#1の差分
値レジスタ401に格納されている差分値データ
(D1 )が差分値セレクタ403により選択されて積分
値演算ALU407に入力され、一方、積分値格納レジ
スタ405に格納された積分値(S1 )が積分値セレク
タ406によって選択されて積分値演算ALU407に
入力される。積分値演算ALU407は、積分値格納レ
ジスタ405からの積分値(S1 )に、#1の差分値レ
ジスタ401からの差分値データ(D1 )を累算する。
その累算結果(図9のS2 )は、積分値出力レジスタ4
08に格納される。Next, as described above, the step change amount is 2
In the case of ( 1 ), first, at the first timing, the difference value data (D 1 ) stored in the difference value register 401 of # 1 is selected by the difference value selector 403 and input to the integral value calculation ALU 407. , The integral value (S 1 ) stored in the integral value storage register 405 is selected by the integral value selector 406 and input to the integral value calculation ALU 407. The integral value calculation ALU 407 accumulates the difference value data (D 1 ) from the difference value register 401 of # 1 with the integral value (S 1 ) from the integral value storage register 405.
The accumulation result (S 2 in FIG. 9) is stored in an integrated value output register 4
08 is stored.
【0079】つづいて、第2番目のタイミングで、#2
の差分値レジスタ402に格納されている差分値データ
(D2 )が差分値セレクタ403により選択されて積分
値演算ALU407に入力され、一方、第1番目のタイ
ミングで積分値格納レジスタ405に格納された積分値
(S2 )が積分値セレクタ406で選択されて積分値演
算ALU407に入力される。積分値演算ALU407
は、上記第1番目のタイミングで得られた積分値
(S2 )に上記#2の差分値レジスタ402からの差分
値データ(D2 )を累算する。その累算結果(図9のS
3 )は、ふたたび積分値出力レジスタ408に格納され
る。Subsequently, at the second timing, # 2
The difference value data (D 2 ) stored in the difference value register 402 is selected by the difference value selector 403 and input to the integral value operation ALU 407, while being stored in the integral value storage register 405 at the first timing. The integration value (S 2 ) is selected by the integration value selector 406 and input to the integration value calculation ALU 407. Integral value calculation ALU407
Accumulates the difference value data (D 2 ) from the # 2 difference value register 402 with the integral value (S 2 ) obtained at the first timing. The accumulation result (S in FIG. 9)
3 ) is stored in the integrated value output register 408 again.
【0080】つぎに、図16の構成を有する本発明の実
施例における図11の補間器1104において、現整数
アドレス(5) によって読み出されデータ入力レジスタ1
601に格納された入力データである差分値D3 は、乗
算器1602で現小数アドレス(0.25)と乗算され、その
乗算出力Dh が、図4の構成を有する図11の積分器1
103から出力され積分値レジスタ1603に格納され
ている積分値S3 に、加算器1604で加算されて、現
在値アドレス(5.25)における振幅値A2 とされる(図9
参照)。Next, in the interpolator 1104 of FIG. 11 according to the embodiment of the present invention having the configuration of FIG. 16, the data input register 1 is read by the current integer address (5).
Difference value D 3 which is the input data stored in the 601 is multiplied by the multiplier 1602 and the current fractional addresses (0.25), the multiplication output Dh is, the integrator 1 of Figure 11 having the configuration of FIG. 4
An adder 1604 adds the integral value S 3 output from the terminal 103 to the integral value S 3 stored in the integral value register 1603 to obtain the amplitude value A 2 at the current value address (5.25) (FIG. 9).
reference).
【0081】上述のようにして、1より大きい値のアド
レス歩進量(1.5) によって、現在値アドレスの整数部が
(3) から(5) に飛んでも、ステップ変化量(この場合は
2)を用いることによって、正しい波形データが得られ
る。As described above, the integer part of the current address is changed by the address increment (1.5) larger than 1.
Even when jumping from (3) to (5), correct waveform data can be obtained by using the step change amount (2 in this case).
【0082】以上説明したように、本発明の実施例で
は、現在値アドレスの整数部の下位2桁である前ステッ
プと更新された現在値アドレスの整数部の下位2桁であ
る新ステップとの数値関係によって、現在値アドレスの
更新動作によって整数部がいくつ増加したか、すなわち
ステップ変化量を判別することができる。従って、その
関係を図3のようなテーブルとして保持しておき、それ
をアドレス更新時に参照することにより、ステップ変化
量を求めることができる。そして、そのステップ変化量
に応じて、サンプリングタイミング毎に、DPCM−R
OMから差分値データを読出しそれを積分する動作の繰
返し回数を制御することにより、アドレス歩進量が1よ
り大きい値であっても正しい波形データを生成できる。他の実施例 なお、以上説明した本発明の実施例では、アドレス歩進
量が2以下、またステップ変化量が2ステップ以下とし
て説明したが、本発明はこれらに限定されるものではな
い。例えば、アドレス歩進量を3以下まで許す場合に
は、以下のようにすればよい。As described above, in the embodiment of the present invention, the last step which is the lower two digits of the integer part of the current value address and the new step which is the lower two digits of the integer part of the updated current value address are described. From the numerical relationship, it is possible to determine how many integer parts have been increased by the update operation of the current value address, that is, the step change amount. Therefore, the relationship can be held as a table as shown in FIG. 3 and the step change amount can be obtained by referring to the table when updating the address. Then, according to the step change amount, the DPCM-R
By controlling the number of repetitions of the operation of reading the difference value data from the OM and integrating the same, correct waveform data can be generated even if the address increment is a value larger than 1. Other Embodiments In the embodiment of the present invention described above, the address increment is 2 or less and the step change amount is 2 steps or less. However, the present invention is not limited to these. For example, if the address increment is allowed to be 3 or less, the following may be performed.
【0083】すなわち、現在値アドレスを、下2桁を除
いた整数部からなるアドレス上位部と、整数部下2桁と
小数部よりなるアドレス下位部に分離する。つぎに、ア
ドレス下位部に対して、整数部2桁と小数部よりなるア
ドレス歩進量を加算する。つづいて、この加算の結果、
キャリーが生じたら、アドレス上位部の値をインクリメ
ントする。さらに、元の現在値アドレスの整数部の下3
桁と、更新された現在値アドレスの整数部の下3桁とを
比較して、0〜3のステップ変化量を演算し、そのステ
ップ変化量に応じた数の差分値データを順次DPCM−
ROMから読み出して積分演算を行なう。そして、その
積分結果と、現在値アドレスの整数部に対応してDPC
M−ROMから読み出した差分値、および現在値アドレ
スの小数部とに基づいて、補間演算を実行し、所望の波
形データを得る。That is, the current value address is separated into an upper address portion consisting of an integer part excluding the lower two digits and a lower address portion consisting of the lower two digits of the integer portion and a decimal part. Next, an address increment of two digits of the integer part and a decimal part is added to the lower part of the address. Then, as a result of this addition,
When a carry occurs, the value in the upper part of the address is incremented. In addition, the lower 3 of the integer part of the original current value address
The digit and the last three digits of the integer part of the updated current value address are compared to calculate a step change amount of 0 to 3, and the difference value data of a number corresponding to the step change amount is sequentially transmitted to the DPCM-
The data is read from the ROM and the integration operation is performed. Then, the DPC corresponding to the integration result and the integer part of the current value address is performed.
An interpolation operation is executed based on the difference value read from the M-ROM and the decimal part of the current value address to obtain desired waveform data.
【0084】[0084]
【発明の効果】本発明によれば、アドレスデータ歩進量
が1より大きい場合であっても、差分値データ記憶手段
に記憶された差分値データに基づいて適切な積分値デー
タを演算することができ、そのようにして得られる適切
な積分値データに対して、波形データを生成し出力する
ことが可能となる。According to the present invention, even when the address data increment is larger than 1, appropriate integral value data is calculated based on the difference value data stored in the difference value data storage means. Thus, it is possible to generate and output waveform data with respect to the appropriate integrated value data obtained as described above.
【0085】この結果、DPCM方式の波形データ読出
し装置において、元々の波形情報の原音高より高い音高
の楽音を生成することが可能となる。そのため、従来の
PCM音源に比べて、はるかに小さい記憶容量で電子楽
器の音源が作れ、製作コストの低減が大きく図られる。As a result, in the waveform data reading device of the DPCM system, it is possible to generate a musical tone having a pitch higher than the original pitch of the original waveform information. Therefore, the sound source of the electronic musical instrument can be made with a much smaller storage capacity than the conventional PCM sound source, and the production cost can be greatly reduced.
【図1】アドレスジェネレータの本発明の実施例におけ
るブロック構成図である。FIG. 1 is a block diagram of an address generator according to an embodiment of the present invention.
【図2】本発明の実施例の現在値アドレスとアドレス歩
進量との対応関係を示す図である。FIG. 2 is a diagram showing a correspondence relationship between a current value address and an address increment according to the embodiment of the present invention.
【図3】ステップ演算器における演算真理値表を示す図
である。FIG. 3 is a diagram illustrating an operation truth table in a step calculator.
【図4】積分器の本発明の実施例におけるブロック構成
図である。FIG. 4 is a block diagram of an integrator according to an embodiment of the present invention.
【図5】本発明の実施例におけるアドレス歩進量と波形
データの振幅値との関係を示す図(その1)である。FIG. 5 is a diagram (part 1) illustrating a relationship between an address step amount and an amplitude value of waveform data according to the embodiment of the present invention.
【図6】現在値アドレスとアドレス歩進量からステップ
変化量が得られる過程を示す図(その1)である。FIG. 6 is a diagram (part 1) illustrating a process in which a step change amount is obtained from a current value address and an address increment.
【図7】本発明の実施例におけるアドレス歩進量と波形
データの振幅値との関係を示す図(その2)である。FIG. 7 is a diagram (part 2) illustrating a relationship between an address increment and an amplitude value of waveform data according to the embodiment of the present invention.
【図8】現在値アドレスとアドレス歩進量からステップ
変化量が得られる過程を示す図(その2)である。FIG. 8 is a diagram (part 2) illustrating a process of obtaining a step change amount from a current value address and an address increment.
【図9】本発明の実施例におけるアドレス歩進量と波形
データの振幅値との関係を示す図(その3)である。FIG. 9 is a diagram (part 3) illustrating a relationship between an address increment and an amplitude value of waveform data according to the embodiment of the present invention.
【図10】現在値アドレスとアドレス歩進量からステッ
プ変化量が得られる過程を示す図(その3)である。FIG. 10 is a diagram (part 3) illustrating a process of obtaining a step change amount from a current value address and an address increment.
【図11】波形データ読出し装置の全体構成図である。FIG. 11 is an overall configuration diagram of a waveform data reading device.
【図12】従来例のアドレスジェネレータの一部のブロ
ック構成図である。FIG. 12 is a block diagram showing a part of a conventional address generator.
【図13】従来例の現在値アドレスとアドレス歩進量と
の対応関係を示す図である。FIG. 13 is a diagram showing a correspondence relationship between a current value address and an address increment in a conventional example.
【図14】アドレスコントローラのブロック構成図であ
る。FIG. 14 is a block diagram of an address controller.
【図15】従来例の積分器のブロック構成図である。FIG. 15 is a block diagram of a conventional integrator.
【図16】補間器のブロック構成図である。FIG. 16 is a block diagram of an interpolator.
【図17】従来例におけるアドレス歩進量と波形データ
の振幅値との関係を示す図(その1)である。FIG. 17 is a diagram (part 1) illustrating a relationship between an address step amount and an amplitude value of waveform data in a conventional example.
【図18】従来例におけるアドレス歩進量と波形データ
の振幅値との関係を示す図(その2)である。FIG. 18 is a diagram (part 2) illustrating a relationship between an address increment and an amplitude value of waveform data in a conventional example.
101 現在値アドレス格納メモリ 102 アドレス上位部レジスタ 103 アドレス下位部レジスタ 104 アドレス歩進量格納メモリ 105 アドレス歩進量レジスタ 106 バイナリ加算器 107 インクリメンタ 108 前アドレスステップレジスタ 109 ステップ演算器 401 差分値レジスタ#1 402 差分値レジスタ#2 403 差分値セレクタ 404 積分値メモリ 405 積分値格納レジスタ 406 積分値セレクタ 407 積分値演算ALU 408 積分値出力レジスタ 1101 アドレスジェネレータ 1102 アドレスコントローラ 1103 積分器 1104 補間器 1201 現在値アドレス格納メモリ 1202 アドレス整数部レジスタ 1203 アドレス小数部レジスタ 1204 アドレス歩進量格納メモリ 1205 アドレス歩進量レジスタ 1401 セレクタ 1402 アドレス出力レジスタ 1403 デクリメンタ 1501 積分用データ入力レジスタ 1502 積分値格納メモリ 1503 積分値出力レジスタ 1504 積分演算ALU 1601 データ入力レジスタ 1602 乗算器 1603 積分値レジスタ 1604 加算器 Reference Signs List 101 Current value address storage memory 102 Upper address register 103 Lower address register 104 Address increment storage memory 105 Address increment register 106 Binary adder 107 Incrementer 108 Previous address step register 109 Step calculator 401 Difference value register # 1 402 Difference value register # 2 403 Difference value selector 404 Integration value memory 405 Integration value storage register 406 Integration value selector 407 Integration value operation ALU 408 Integration value output register 1101 Address generator 1102 Address controller 1103 Integrator 1104 Interpolator 1201 Current value address Storage memory 1202 Address integer register 1203 Address fraction register 1204 Address increment storage memory 1205 Add Scan increment amount register 1401 selector 1402 address output register 1403 decrementer 1501 integrating data input register 1502 integrated value storage memory 1503 integrated value output register 1504 integral calculation ALU 1601 data input register 1602 multiplier 1603 integral value register 1604 adder
Claims (1)
を記憶する差分値データ記憶手段と、 指定されるアドレスデータ歩進量に基づき、前記差分値
データ記憶手段から前記差分値データを読み出すための
アドレスデータを更新し生成するアドレスデータ生成手
段と、前記アドレスデータ生成手段により生成されたアドレス
データの整数部を基準として、該アドレスデータの整数
部の更新量に応じた数の連続する整数アドレスデータを
生成するアドレスデータ制御手段と、 該アドレスデータ制御手段から順次出力される前記各整
数アドレスデータに対応して前記差分値データ記憶手段
から順次読み出される差分値データのうち、最後に読み
出される差分値データを除く差分値データを順次積分す
る積分演算手段と、 該積分演算手段で得られる積分値データと、前記差分値
データ記憶手段から最後に読み出された差分値データ
と、前記アドレスデータ生成手段により生成されたアド
レスデータの小数部に基づいて、補間演算を実行するこ
とにより、波形データを生成し出力する波形データ出力
手段と、 を有することを特徴とする波形データ読出し装置。1. A difference value data storage means for storing difference value data between sample values of waveform information, and reading the difference value data from the difference value data storage means based on a designated address data increment. Data generating means for updating and generating address data for use with the address data generated by the address data generating means
The integer of the address data based on the integer part of the data
Number of consecutive integer address data according to the
Address data control means for generating, and each of the alignments sequentially output from the address data control means.
The difference value data storage means corresponding to several address data;
Of the difference value data sequentially read from
Integrate sequentially the difference value data excluding the issued difference value data
Integral operation means, integral value data obtained by the integral operation means, and the difference value
Difference value data last read from the data storage means
And an address generated by the address data generating means.
Perform interpolation calculations based on the decimal part of the
Waveform data output that generates and outputs waveform data
Means for reading waveform data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07409492A JP3223560B2 (en) | 1992-03-30 | 1992-03-30 | Waveform data reading device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07409492A JP3223560B2 (en) | 1992-03-30 | 1992-03-30 | Waveform data reading device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05273978A JPH05273978A (en) | 1993-10-22 |
JP3223560B2 true JP3223560B2 (en) | 2001-10-29 |
Family
ID=13537260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07409492A Expired - Lifetime JP3223560B2 (en) | 1992-03-30 | 1992-03-30 | Waveform data reading device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3223560B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4656326B2 (en) * | 2006-08-11 | 2011-03-23 | カシオ計算機株式会社 | Waveform generator |
JP5104522B2 (en) * | 2008-04-30 | 2012-12-19 | カシオ計算機株式会社 | Waveform generator and waveform generation processing program |
-
1992
- 1992-03-30 JP JP07409492A patent/JP3223560B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05273978A (en) | 1993-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715257A (en) | Waveform generating device for electronic musical instruments | |
JP2576647B2 (en) | Waveform generator | |
JP3223560B2 (en) | Waveform data reading device | |
US5117725A (en) | Device for changing and controlling the rate of generating waveform data | |
JPH0486795A (en) | Musical tone generator | |
EP0053892B1 (en) | Envelope control system for electronic musical instrument | |
JP3252296B2 (en) | Waveform data output device | |
JPH10320524A (en) | Look-up table device and image generator | |
JP3223555B2 (en) | Waveform reading device | |
JP2950893B2 (en) | Music signal generator | |
JP2736550B2 (en) | Electronic musical instrument interpolation circuit | |
JP2608938B2 (en) | Waveform interpolation device | |
JPS62245434A (en) | Waveform generating device for electronic musical instrument | |
US4936179A (en) | Electronic musical instrument | |
JPH0210556Y2 (en) | ||
JP2940384B2 (en) | Electronic musical instrument | |
JP3264603B2 (en) | Digital signal processor | |
JP2699287B2 (en) | Envelope generator | |
JP2944069B2 (en) | Music signal generator | |
JP2575856B2 (en) | Arithmetic circuit | |
JP3311898B2 (en) | Music synthesis circuit | |
RU96111307A (en) | DEVICE FOR CALCULATION OF ELEMENTARY FUNCTIONS BY TABLE-ALGORITHMIC METHOD | |
JP2510090Y2 (en) | Music signal generator | |
JPH11205091A (en) | Digital filtering method and digital filter | |
JPH06202752A (en) | Interpolating device for exponential function data |
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: 20010724 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080824 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090824 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110824 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 11 |