JP3223280B2 - Waveform data interpolation device - Google Patents
Waveform data interpolation deviceInfo
- Publication number
- JP3223280B2 JP3223280B2 JP07376993A JP7376993A JP3223280B2 JP 3223280 B2 JP3223280 B2 JP 3223280B2 JP 07376993 A JP07376993 A JP 07376993A JP 7376993 A JP7376993 A JP 7376993A JP 3223280 B2 JP3223280 B2 JP 3223280B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- value
- data
- register
- block
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION
【0001】[0001]
【産業上の利用分野】本発明は、サンプリングされた楽
音信号に基づいて演奏が行われる電子楽器などにおける
楽音などの波形データ補間装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a waveform data interpolating apparatus for a musical tone in an electronic musical instrument or the like in which a performance is performed based on a sampled tone signal.
【0002】[0002]
【従来の技術】電子楽器などにおいては、ピッチ(音の
高さ)の明らかな1つの楽音波形データから異なるピッ
チの楽音信号が作成される場合、及び、ビブラートやデ
チューンなどのエフェクトが楽音に付加され場合には、
通常、新しいピッチを得るためにピッチ補間という処理
が行われる。2. Description of the Related Art In an electronic musical instrument, when a tone signal having a different pitch is created from one tone waveform data having a clear pitch (pitch), effects such as vibrato and detune are added to the tone. If so,
Usually, a process called pitch interpolation is performed to obtain a new pitch.
【0003】図6は、従来の直線補間方式のピッチ補間
を示す図で、サンプリング点における各波高値を結ぶ直
線上に補間値が求められる。FIG. 6 is a diagram showing pitch interpolation according to a conventional linear interpolation method. An interpolation value is obtained on a straight line connecting peak values at sampling points.
【0004】[0004]
【発明が解決しようとする課題】しかし、上記直線補間
方式は、図6から明らかなように補間精度が良くないた
め、図7に示すように楽音波形が歪み、特に波形データ
にサンプリング周波数の1/2に近い周波数成分が多い
場合や、出力時のオーバーサンプリング比の高い場合に
は、この傾向が顕著となるという問題点があった。However, in the linear interpolation method, since the interpolation accuracy is not good as is apparent from FIG. 6, the tone waveform is distorted as shown in FIG. When there are many frequency components close to / 2 or when the oversampling ratio at the time of output is high, there is a problem that this tendency becomes remarkable.
【0005】本発明の課題は、波形歪が少なく、音質の
優れた波形データ補間装置を実現することにある。An object of the present invention is to realize a waveform data interpolating device which has less waveform distortion and excellent sound quality.
【0006】[0006]
【課題を解決するための手段】本発明は、波形データの
波形サンプル値に対して、複数の波形サンプル値を補間
することにより、任意の波形位置における波高値を算出
する波形データ補間装置を前提とする。SUMMARY OF THE INVENTION The present invention is based on a waveform data interpolation apparatus which calculates a peak value at an arbitrary waveform position by interpolating a plurality of waveform sample values with respect to a waveform sample value of waveform data. And
【0007】そして、指定された波形位置に対して、そ
の波形位置の前2点、後ろ1点のサンプリング点におけ
る波形データの波形サンプル値を通る第1の2次曲線
と、その記波形位置の前1点、後ろ2点のサンプリング
点における波形データの波形サンプル値を通る第2の2
次曲線との相加平均値を通る第3の曲線を算出し、その
波形位置における第3の曲線の値をその波形位置におけ
る波高値として算出する補間手段を有する。Then, a first quadratic curve passing through the waveform sample values of the waveform data at two sampling points before and one sampling point after the designated waveform position, The second 2 that passes through the waveform sample values of the waveform data at the preceding one sampling point and the two following sampling points
Interpolating means for calculating a third curve passing through an arithmetic mean value with the next curve and calculating the value of the third curve at the waveform position as a peak value at the waveform position.
【0008】[0008]
【作用】演算の簡単な2次曲線補間を基準とし、指定さ
れた波形位置に対して、前後にずれた2つの2次曲線の
相加平均値を通る第3の曲線が算出され、その波形位置
における第3の曲線の値としてその波形位置における波
高値が算出される。A third curve passing through an arithmetic mean value of two quadratic curves shifted forward and backward with respect to a designated waveform position is calculated based on a quadratic curve interpolation which is easy to calculate. The peak value at the waveform position is calculated as the value of the third curve at the position.
【0009】従って、演算量の増加を極力抑えつつ、近
似的に補間の次数を上げたのと同じ結果となり、補間精
度が向上する。Accordingly, the result is the same as approximately increasing the degree of interpolation while minimizing the increase in the amount of calculation, and the interpolation accuracy is improved.
【0010】[0010]
【実施例】以下、図面を参照しながら、本発明を電子鍵
盤楽器に適用した実施例につき詳細に説明する。構成 図1は、本発明による実施例の全体構成を示すブロック
図である。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment in which the present invention is applied to an electronic keyboard instrument will be described below in detail with reference to the drawings. Configuration FIG. 1 is a block diagram showing the overall configuration of an embodiment according to the present invention.
【0011】図1において、CPU(中央演算制御装
置)101は、プログラムメモリ102に記憶されたプ
ログラムを実行することによって動作し、スイッチ群1
04及び鍵盤103を走査して各スイッチや鍵の操作状
態を取り込み、データメモリ105から波形ROM10
7のアドレスや、エンベロープデータなどをを読み出す
と共に、発音制御データを音源部106に送って、波形
メモリ107から読み出された波形データに基づく楽音
信号の発音動作を制御する。In FIG. 1, a CPU (central processing unit) 101 operates by executing a program stored in a program memory 102, and a switch group 1
04 and the keyboard 103 are scanned to capture the operation states of the switches and keys, and the waveform ROM 10 is read from the data memory 105.
In addition to reading the address 7 and the envelope data, it also sends the tone generation control data to the tone generator 106 to control the tone generation operation of the tone signal based on the waveform data read from the waveform memory 107.
【0012】音源部106によって作成された楽音信号
は、D/A変換器108によってアナログ信号に変換さ
れ、オーディオシステム109によって楽音が放音され
る。 本実施例のピッチ補間の原理 次に、図2を用いて本発明によるピッチ補間の動作原理
につき説明する。A tone signal generated by the tone generator 106
Is converted into an analog signal by the D / A converter 108.
Music is emitted by the audio system 109.
You. Principle of pitch interpolation of this embodiment Next, the operation principle of pitch interpolation according to the present invention will be described with reference to FIG.
Will be described.
【0013】図2において、サンプリング点x=−1,
0,1,2における、それぞれの波高値L-1、L0 、L
1 、L2 に対して、サンプリングポイントx=0(この
時の波高値はL0 )を原点とした座標を考える。そし
て、波高値L0 、L1 、L2 を通る2次曲線Y1 (x)
と、波高値L-1、L0 、L1 を通る2次曲線Y2 (x)
を求め、これら2つの曲線の平均値を通る曲線Y
S (x)上に、各波高値間の補間値が求められる。In FIG. 2, sampling points x = −1,
Peak values L −1 , L 0 , L at 0 , 1 , 2
1, with respect to L 2, the sampling point x = 0 (peak value at this time L 0) Consider the coordinate with the origin of. Then, a quadratic curve Y 1 (x) passing through the peak values L 0 , L 1 , L 2
And a quadratic curve Y 2 (x) passing through the peak values L −1 , L 0 , and L 1
And a curve Y passing through the average of these two curves
An interpolated value between the peak values is obtained on S (x).
【0014】以下、図3、図4を用いてピッチ補間動作
につき説明する。図3は、図1の音源部106の内部構
成を示す構成図である。図3において、整数アドレス計
算ブロック301は、CPU101から波形スタートア
ドレスと、波形ROM107から波形データを繰り返し
読み出すための波形ループアドレスを受取る。また、少
数アドレス計算ブロック302は、CPU101から与
えられたROM107の読み出しアドレスの歩進幅の累
算を行い、キャリーが生じた場合は、整数アドレス計算
ブロック301にそのキャリーを送り、整数アドレスを
インクリメントさせる。そして、少数アドレス計算ブロ
ック302で計算された少数アドレスは、ピッチ補間を
行うためのデータとして、積和ブロック305に入力さ
れる。The pitch interpolation operation will be described below with reference to FIGS. FIG. 3 is a configuration diagram showing the internal configuration of the sound source unit 106 of FIG. 3, an integer address calculation block 301 receives a waveform start address from the CPU 101 and a waveform loop address for repeatedly reading waveform data from the waveform ROM 107. Further, the minority address calculation block 302 accumulates the increment of the read address of the ROM 107 given from the CPU 101, and when a carry occurs, sends the carry to the integer address calculation block 301 and increments the integer address. Let it. Then, the minority address calculated in the minority address calculation block 302 is input to the product-sum block 305 as data for performing pitch interpolation.
【0015】次に、波形ROMデータラッチブロック3
04は、整数アドレス計算ブロック301が指定するア
ドレスに基づいて波形ROM107から波形データを取
り込んで差分値の算出や差分値の累算等の計算を行うと
ともに、それらの計算結果をピッチ補間のためのデータ
として積和ブロック305へ送る。Next, the waveform ROM data latch block 3
Reference numeral 04 denotes a circuit for fetching waveform data from the waveform ROM 107 based on the address designated by the integer address calculation block 301 to calculate a difference value, accumulate the difference value, and the like, and use the calculation results for pitch interpolation. The data is sent to the product-sum block 305 as data.
【0016】積和ブロック305は、後述するように楽
音信号に対するピッチ補間と、エンベロープ発生ブロッ
ク303で発生されたエンベロープデータの乗算を行
い、時分割出力DCOを累算ブロック306に出力す
る。累算ブロック306はCPU101から出力される
パンニングデータに基づいて、時分割出力DCOをRI
GHT(チャネル) 累算レジスタ307とLEFT(チ
ャネル)累算レジスタ308に割り振り、累算を行う。The sum-of-products block 305 performs pitch interpolation on the tone signal and multiplication of the envelope data generated by the envelope generation block 303, as described later, and outputs a time-division output DCO to the accumulation block 306. The accumulation block 306 converts the time-division output DCO into RI based on the panning data output from the CPU 101.
The GHT (channel) accumulation register 307 and the LEFT (channel) accumulation register 308 are allocated to perform accumulation.
【0017】累算された時分割出力DCOは、D/A変
換器108でアナログ信号に変換され、オーディオシス
テム109で楽音として再生される。次に、図2におい
て、波高値L0 、L1 、L2 を通る2次曲線Y1 (x)
と、波高値L-1、L0 、L1 を通る2次曲線Y2 (x)
の各平均値を通る曲線Ys (x)は、以下に示すように
して波形データの差分値と波高値L0 で表される。The accumulated time-division output DCO is converted into an analog signal by the D / A converter 108 and reproduced by the audio system 109 as a musical tone. Next, in FIG. 2, a quadratic curve Y 1 (x) passing through the peak values L 0 , L 1 , and L 2.
And a quadratic curve Y 2 (x) passing through the peak values L −1 , L 0 , and L 1
Curve Y s (x) through each average value of is represented by the difference value and the peak value L 0 of the waveform data in the following manner.
【0018】まず、2次曲線Y1 (x)を、First, a quadratic curve Y 1 (x) is expressed as
【0019】[0019]
【数1】Y1 (x)=ax2 +bx とおくと、図2より、## EQU1 ## If Y 1 (x) = ax 2 + bx is obtained, FIG.
【0020】[0020]
【数2】x=1のとき、 Y1 (x)=d1 =a+b## EQU2 ## When x = 1, Y 1 (x) = d 1 = a + b
【0021】[0021]
【数3】x=2のとき、 Y1 (x)=d2 =4a+2b となる。数3式−数2式×2より、 d2 −2d1 =2a ∴ a=1/2(d2 −2d
1 ) となる。また、数2式×4−数3式より、 4d1 −d2 =2b ∴ b=1/2(4d1 −d
2 ) となる。故に、数1式より、 Y1 (x)=1/2(d2 −2d1 )x2 +1/2(4
d1 −d2 )x となる。## EQU3 ## When x = 2, Y 1 (x) = d 2 = 4a + 2b. From Equation 3−Equation 2 × 2, d 2 −2d 1 = 2a∴a = 1 / (d 2 −2d
1 ) In addition, from Equation 2 × 4 Equation 3, 4d 1 −d 2 = 2b∴b == (4d 1 −d
2 ) Therefore, from equation ( 1 ), Y 1 (x) = 1 / (d 2 −2d 1 ) × 2 + / (4
d 1 −d 2 ) x.
【0022】次に、2次曲線Y2 (x)を、Next, a quadratic curve Y 2 (x) is expressed as
【0023】[0023]
【数4】Y2 (x)=ax2 +bx とおくと、## EQU4 ## If Y 2 (x) = ax 2 + bx,
【0024】[0024]
【数5】x=1のとき、 Y2 (x)=d1 =a+b## EQU5 ## When x = 1, Y 2 (x) = d 1 = a + b
【0025】[0025]
【数6】x=−1のとき、 Y2 (x)=−d0 =a−b となる。数5式+数6式より、 d1 −d0 =2a ∴ a=1/2(d1 −d0 ) となる。また、数5式−数6式より、 d1 +d0 =2b ∴ b=1/2(d1 +d2 ) となる。故に、数4式より、 Y2 (x)=1/2(d1 −d0 )x2 +1/2(d1
+d0 )x となる。[6] When x = -1, Y 2 (x ) = - a d 0 = a-b. From Expression 5 and Expression 6, d 1 −d 0 = 2ada = 2 (d 1 −d 0 ). In addition, from Expression 5 to Expression 6, d 1 + d 0 = 2bbb = 1 / (d 1 + d 2 ). Therefore, from equation (4), Y 2 (x) = 1 / (d 1 −d 0 ) × 2 + / (d 1
+ D 0 ) x.
【0026】以上は、波高値L0 を原点とした座標系で
あるので、波高値L0 を加えて座標系を元に戻すと、次
のように表される。The above is a coordinate system having the peak value L 0 as the origin, and if the coordinate system is restored by adding the peak value L 0 , it is expressed as follows.
【0027】[0027]
【数7】Y1 (x)=1/2(d2 −2d1 )x2 +1
/2(4d1 −d2 )x+L0 ## EQU7 ## Y 1 (x) = 1 / (d 2 −2d 1 ) x 2 +1
/ 2 (4d 1 -d 2) x + L 0
【0028】[0028]
【数8】Y2 (x)=1/2(d1 −d0 )x2 +1/
2(d1 +d0 )x+L0 次に、Y1 (x)とY2 (x)の平均値YS (x)は、
数7式、数8式を用いて次のように求められる。Y 2 (x) = 1 / (d 1 −d 0 ) x 2 + 1 /
2 (d 1 + d 0 ) x + L 0 Next, the average value Y S (x) of Y 1 (x) and Y 2 (x) is
It is obtained as follows using the equations (7) and (8).
【0029】[0029]
【数9】YS (x)=1/2{Y1 (x)+Y
2 (x)}=(1/4)(d2 −d1 −d0 x2 )+
(1/4)(−d2 +5d1 +d0 )x+L0=(1/
4)x{d2 (x−1)+d1 (−x+5)+d0 (−
x+1)}+L0=(1/4)x{−d2 (1−x)+
d1 (1−x)+d0 (1−x)+4d1}+L0=x
{1/4(−d2 +d1 +d0 )(1−x)+d1 }+
L0 ここで、d0 〜d2 を連続するサンプリングポイントの
波高値L-1〜L2 で表すと、図2から[Expression 9] Y S (x) = 1 / 21 / Y 1 (x) + Y
2 (x)} = (1/4) (d 2 −d 1 −d 0 x 2 ) +
(1/4) (- d 2 + 5d 1 + d 0) x + L 0 = (1 /
4) x {d 2 (x−1) + d 1 (−x + 5) + d 0 (−
x + 1)} + L 0 = (1 /) x {−d 2 (1-x) +
d 1 (1-x) + d 0 (1-x) + 4d 1 } + L 0 = x
{1/4 (-d 2 + d 1 + d 0) (1-x) + d 1} +
L 0 Here, when expressed by the peak value L -1 ~L 2 sampling points consecutively d 0 to d 2, from FIG. 2
【0030】[0030]
【数10】d2 =L2 −L0 ## EQU10 ## d 2 = L 2 −L 0
【0031】[0031]
【数11】d1 =L1 −L0 ## EQU11 ## d 1 = L 1 -L 0
【0032】[0032]
【数12】d0 =L0 −L-1 となる。故に、数9式より、The [number 12] d 0 = L 0 -L -1. Therefore, from Equation 9,
【0033】[0033]
【数13】(−d2 +d1 +d0 )=−(L2 −L0 )
+(L1 −L0 )+(L0 −L-1)=−(L2 −L1 )
+(L0 −L-1) となる。(13) (−d 2 + d 1 + d 0 ) = − (L 2 −L 0 )
+ (L 1 −L 0 ) + (L 0 −L −1 ) = − (L 2 −L 1 )
+ (L 0 −L −1 ).
【0034】次に、連続するサンプリングポイントの波
高値L-1〜L2 と差分値δ-1〜δ+1との関係は、図2よ
り、Next, the relationship between the peak values L -1 to L 2 at successive sampling points and the difference values δ -1 to δ +1 is shown in FIG.
【0035】[0035]
【数14】δ+1=L2 −L1 Δ +1 = L 2 −L 1
【0036】[0036]
【数15】δ0 =L1 −L0 (=d1 )Δ 0 = L 1 −L 0 (= d 1 )
【0037】[0037]
【数16】δ-1=L0 −L-1 である。Δ −1 = L 0 −L −1
【0038】従って、数14式と数16式を用いると、
数13式は、Therefore, using equations (14) and (16),
Equation 13 is
【0039】[0039]
【数17】(−d2 +d1 +d0 )=−δ+1+δ-1 となる。(17) (−d 2 + d 1 + d 0 ) = − δ +1 + δ −1
【0040】以上の結果、数17式、数11式、及び数
15式から、数9式のYS (x)は次式のようになる。As a result, Y s (x) of the equation (9) is as follows from the equations (17), (11) and (15).
【0041】[0041]
【数18】YS (x)=x{1/4(−δ+1+δ-1)
(1−x)+δ0 }+L0 数18式よって表される波高値L0 、L1 、L2 を通る
2次曲線Y1 (x)と、波高値L-1、L0 、L1 を通る
2次曲線Y2 (x)の平均値を通る曲線YS (x)上の
各波高値は、図3の音源部106内の波形ROMデータ
ラッチブロック304と、積和ブロック305によって
算出される。Y S (x) = x {1/4 (−δ +1 + δ −1 )
(1−x) + δ 0 } + L 0 A quadratic curve Y 1 (x) passing through the peak values L 0 , L 1 , and L 2 represented by Expression 18, and the peak values L −1 , L 0 , and L 1 The peak values on the curve Y S (x) passing through the average value of the quadratic curve Y 2 (x) passing through are calculated by the waveform ROM data latch block 304 and the product-sum block 305 in the tone generator 106 in FIG. Is done.
【0042】次に、波形ROMデータラッチブロック3
04と、積和ブロック305の構成と動作につき図4を
用いて説明する。波形ROMデータラッチブロック304 まず、データバス切り換えのためのマルチプレクサ40
5、406の入力が共に“1”側に切り換えられ、差分
値から波高値を復元するための差分値累算レジスタL0
401と、前述のように波形ROM107から読み出さ
れた波形データに基づいて計算された現在の差分値を格
納しているレジスタδ0 403のデータが加減算器40
7で加算され、その加算結果が新たなサンプリング点で
の波高値として、差分値累算レジスタL0 401に書き
込まれる。Next, the waveform ROM data latch block 3
04 and the configuration and operation of the product-sum block 305 will be described with reference to FIG. Waveform ROM data latch block 304 First, multiplexer 40 for data bus switching
5, 406 are both switched to the "1" side, and a difference value accumulation register L 0 for restoring the peak value from the difference value.
401 and the data of the register δ 0 403 storing the current difference value calculated based on the waveform data read from the waveform ROM 107 as described above are added to the adder / subtractor 40.
7, and the result of the addition is written to the difference value accumulation register L 0 401 as a peak value at a new sampling point.
【0043】次に、現在より1つ前(前回)のサンプリ
ング点での差分値を格納したレジスタδ-1404と、現
在のサンプリング点での差分値を格納したレジスタδ0
403、及び次のサンプリング点での差分値を格納した
レジスタδ+1402において、δ-1←δ0 、δ0 ←δ+1
のようにデータが更新され、レジスタδ+1には波形RO
M107から新たな差分値が書き込まれる。Next, a register δ -1 404 storing the difference value at the immediately preceding (previous) sampling point and a register δ 0 storing the difference value at the current sampling point.
403 and the register δ +1 402 storing the difference value at the next sampling point, δ −1 ← δ 0 , δ 0 ← δ +1
Data is updated as the waveform RO in the register [delta] +1
A new difference value is written from M107.
【0044】そして、マルチプレクサ405、406の
入力が共に“2”側に切り換えられ、加減算器407に
おいて、前回の差分値レジスタδ-1404から次の差分
値レジスタδ+1のデータが減算されて、レジスタ408
に書き込まれる。Then, the inputs of the multiplexers 405 and 406 are both switched to the “2” side, and the adder / subtractor 407 subtracts the data of the next difference value register δ +1 from the previous difference value register δ -1 404. , Register 408
Is written to.
【0045】以上の動作は、図3の整数アドレス計算ブ
ロック301が、図1の波形ROM107のアドレスを
更新する度に繰り返し行われ、積和ブロック305に対
して、現在のサンプリング点での波高値L0 、及び前回
と次回のサンプリング点でのそれぞれの差分値の差−δ
+1+δ-1が送られることになる。なお、レジスタL04
01、δ0 403、δ-1404の内容は、新たに波形デ
ータがアサインされた場合に、リセット信号によりクリ
アされる。積和ブロック305 図4において、まず、マルチプレクサ415、416、
417の入力が、共に“1”側に切り換えられる。図3
の少数アドレス計算ブロック302から送られ、レジス
タx409に書き込まれた少数アドレスxは、反転器4
11で全ビットが反転された後、インクリメンタ412
により1LSB分だけ値が増加され、更に右2ビットシ
フタ413によりデータ値が1/4倍される。The above operation is repeated each time the integer address calculation block 301 in FIG. 3 updates the address of the waveform ROM 107 in FIG. 1, and the product sum block 305 is subjected to the peak value at the current sampling point. L 0 , and the difference −δ between the respective difference values at the previous and next sampling points
+1 + δ -1 will be sent. Note that the register L 04
The contents of 01, δ 0 403, and δ -1 404 are cleared by a reset signal when new waveform data is assigned. In FIG. 4, first, the multiplexers 415, 416,
The inputs 417 are both switched to "1". FIG.
The minority address x sent from the minority address calculation block 302 and written in the register x409 is
After all bits have been inverted at 11, the incrementer 412
, The value is increased by 1 LSB, and the data value is further multiplied by 4 by the right 2-bit shifter 413.
【0046】このようにして、少数アドレスxに対して
0≦x<1の範囲で、データ値1/4(1−x)が得ら
れ、レジスタ414に格納される。次に、マルチプレク
サ415、416の入力が共に“1”側に切り換えられ
ているので、乗算器418の出力にはレジスタ408と
レジスタ414の乗算結果、即ち、 1/4(1−x)(−δ+1+δ-1) が得られる。また、マルチプレクサ417の入力が
“1”側に切り換えられているので、加算器419の出
力には、上記乗算結果とレジスタδ0 403の値の加算
結果、即ち、 1/4(1−x)(−δ+1+δ-1)+δ0 が得られ、この加算結果は、レジスタ420に格納され
る。In this manner, a data value 1/4 (1-x) is obtained in the range of 0.ltoreq.x <1 for the small number address x, and stored in the register 414. Next, since the inputs of the multiplexers 415 and 416 are both switched to the “1” side, the output of the multiplier 418 outputs the multiplication result of the register 408 and the register 414, that is, 1 / (1-x) (− δ +1 + δ -1 ) is obtained. Further, since the input of the multiplexer 417 is switched to the “1” side, the output of the adder 419 has the result of addition of the result of the multiplication and the value of the register δ 0 403, that is, ((1-x) (-δ +1 + δ -1) + δ 0 is obtained, the addition result is stored in the register 420.
【0047】次に、マルチプレクサ415、416、4
17の入力が共に“2”側に切り換えられる。その結
果、乗算器418の出力にはレジスタ420とレジスタ
x409の乗算結果、即ちx{1/4(1−x)(−δ
+1+δ-1)+δ0 }が得られると共に、加算器419の
出力には、上記乗算結果とレジスタL0 401との加算
結果、即ち、 x{1/4(1−x)(−δ+1+δ-1)+δ0 }+L0 が得られ、レジスタ421に格納される。Next, the multiplexers 415, 416, 4
17 are both switched to the "2" side. As a result, the multiplication result of the register 420 and the register x409, that is, x {(1−x) (− δ) is output to the output of the multiplier 418.
+1 + δ −1 ) + δ 0 }, and the addition result of the multiplication result and the register L 0 401, that is, x {1/4 (1-x) (− δ) is added to the output of the adder 419. +1 + δ −1 ) + δ 0 } + L 0 is obtained and stored in the register 421.
【0048】この後、マルチプレクサ415、416、
417の入力が、共に“3”側に切り換えられる結果、
乗算418の出力にはレジスタ421と、レジスタ41
0に格納されているエンベロープ発生ブロック303か
らのエンベロープ値ENVとの乗算結果、即ち、 ENV×[x{1/4(1−x)(−δ+1+δ-1)+δ
0 }+L0 ] が得られる。そして、得られたこの値は、加算器419
で、値“0”が加算されて、レジスタ422に格納さ
れ、図3の累算ブロック306へ出力される。Thereafter, the multiplexers 415, 416,
As a result of the inputs 417 being both switched to the “3” side,
A register 421 and a register 41 are output to the output of the multiplication 418.
The result of the multiplication with the envelope value ENV from the envelope generation block 303 stored in 0, that is, ENV × [x {(1−x) (− δ + 1 + δ− 1 ) + δ
0 } + L 0 ] is obtained. The obtained value is added to an adder 419.
Then, the value "0" is added, stored in the register 422, and output to the accumulation block 306 in FIG.
【0049】以上のようにして、波形ROMデータラッ
チブロック304と積和ブロック305において、前述
の(18)式に示される波高値L0 、L1 、L2 を通る
2次曲線Y1 (x)と、波高値L-1、L0 、L1 を通る
2次曲線Y2 (x)の各平均値を通る曲線YS (x)上
の波高値が得られると共に、更にその値に対してエンベ
ロープ値の乗算が行われる。As described above, in the waveform ROM data latch block 304 and the product-sum block 305, the quadratic curve Y 1 (x) passing through the peak values L 0 , L 1 , and L 2 shown in the above equation (18) ) And a peak value on a curve Y S (x) passing through each average value of the quadratic curve Y 2 (x) passing through the peak values L −1 , L 0 , and L 1 , and further, Is multiplied by the envelope value.
【0050】[0050]
【発明の効果】本発明によれば、演算の簡単な2次曲線
補間を基準とし、指定された波形位置に対して、前後に
ずれた2つの2次曲線の相加平均値を通る第3の曲線が
算出され、その波形位置における第3の曲線の値として
その波形位置における波高値が算出されることにより、
演算量の増加を極力抑えつつ、近似的に補間の次数を上
げたのと同じ効果を生じさせることができ、補間精度を
向上させ波形歪を低減させることが可能となる。According to the present invention, based on the quadratic curve interpolation which is easy to calculate, the third waveform passing through the arithmetic mean value of the two quadratic curves shifted forward and backward with respect to the designated waveform position. Is calculated, and the peak value at the waveform position is calculated as the value of the third curve at the waveform position,
While suppressing an increase in the amount of calculation as much as possible, the same effect as approximately increasing the order of interpolation can be obtained, and it is possible to improve interpolation accuracy and reduce waveform distortion.
【図1】本発明の実施例の全体構成図である。FIG. 1 is an overall configuration diagram of an embodiment of the present invention.
【図2】本実施例の補間の説明図である。FIG. 2 is an explanatory diagram of interpolation in the present embodiment.
【図3】音源部106の構成図である。FIG. 3 is a configuration diagram of a sound source unit 106.
【図4】波形ROMデータラッチブロックの構成図であ
る。FIG. 4 is a configuration diagram of a waveform ROM data latch block.
【図5】本実施例による補間により得られた信号の波形
図である。FIG. 5 is a waveform diagram of a signal obtained by interpolation according to the embodiment.
【図6】従来の直線補間の説明図である。FIG. 6 is an explanatory diagram of conventional linear interpolation.
【図7】従来の直線補間により得られた信号の波形図で
ある。FIG. 7 is a waveform diagram of a signal obtained by conventional linear interpolation.
101 CPU 102 プログラムメモリ 103 鍵盤 104 スイッチ群 105 データメモリ 106 音源部 107 波形ROM 108 D/A変換器 109 オーディオシステム 301 整数アドレス計算ブロック 302 少数アドレス計算ブロック 303 エンベロープ発生ブロック 304 波形ROMデータラッチブロック 305 積和ブロック 306 累算ブロック 307 RIGHT累算レジスタ 308 LEFT累算レジスタ 401 差分値累算レジスタ 402、403、404、408、409、410、4
14、420、421、422 レジスタ 405、406、415、416、417 マルチプ
レクッサ 407 加減算器 411 反転器 412、419 加算器 413 右2ビットシフタ 418 乗算器101 CPU 102 Program Memory 103 Keyboard 104 Switch Group 105 Data Memory 106 Sound Source 107 Waveform ROM 108 D / A Converter 109 Audio System 301 Integer Address Calculation Block 302 Decimal Address Calculation Block 303 Envelope Generation Block 304 Waveform ROM Data Latch Block 305 Product Sum block 306 Accumulation block 307 RIGHT accumulation register 308 LEFT accumulation register 401 Difference value accumulation register 402, 403, 404, 408, 409, 410, 4
14, 420, 421, 422 Register 405, 406, 415, 416, 417 Multiplexer 407 Adder / subtractor 411 Inverter 412, 419 Adder 413 Right 2-bit shifter 418 Multiplier
Claims (1)
複数の前記波形サンプル値を補間することにより、任意
の波形位置における波高値を算出する波形データ補間装
置において、 指定された波形位置に対して、該波形位置の前2点、後
ろ1点のサンプリング点における前記波形データの波形
サンプル値を通る第1の2次曲線と、前記波形位置の前
1点、後ろ2点のサンプリング点における前記波形デー
タの波形サンプル値を通る第2の2次曲線との相加平均
値を通る第3の曲線を算出し、前記波形位置における前
記第3の曲線の値を波形位置における波高値として算出
する補間手段を有する、 ことを特徴とする波形データ補間装置。1. A waveform sample value of waveform data
In a waveform data interpolating apparatus for calculating a peak value at an arbitrary waveform position by interpolating a plurality of the waveform sample values, sampling of two points before and one point behind the specified waveform position with respect to a designated waveform position A first quadratic curve passing through the waveform sample value of the waveform data at a point, and a second quadratic curve passing through the waveform sample value of the waveform data at one sampling point before and two sampling points after the waveform position. Waveform data interpolating apparatus, further comprising: an interpolating means for calculating a third curve passing through the arithmetic mean value of the above, and calculating a value of the third curve at the waveform position as a peak value at the waveform position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07376993A JP3223280B2 (en) | 1993-03-31 | 1993-03-31 | Waveform data interpolation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07376993A JP3223280B2 (en) | 1993-03-31 | 1993-03-31 | Waveform data interpolation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06289876A JPH06289876A (en) | 1994-10-18 |
JP3223280B2 true JP3223280B2 (en) | 2001-10-29 |
Family
ID=13527757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07376993A Expired - Fee Related JP3223280B2 (en) | 1993-03-31 | 1993-03-31 | Waveform data interpolation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3223280B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007025395A (en) * | 2005-07-19 | 2007-02-01 | Casio Comput Co Ltd | Wave form data interpolation apparatus |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949695A (en) * | 1997-01-10 | 1999-09-07 | Harris Corporation | Interpolator using a plurality of polynomial equations and associated methods |
FR3023036A1 (en) * | 2014-06-27 | 2016-01-01 | Orange | RE-SAMPLING BY INTERPOLATION OF AUDIO SIGNAL FOR LOW-LATER CODING / DECODING |
-
1993
- 1993-03-31 JP JP07376993A patent/JP3223280B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007025395A (en) * | 2005-07-19 | 2007-02-01 | Casio Comput Co Ltd | Wave form data interpolation apparatus |
US7390953B2 (en) | 2005-07-19 | 2008-06-24 | Casio Computer Co, Ltd. | Waveform data interpolation device and waveform data interpolation program |
JP4645337B2 (en) * | 2005-07-19 | 2011-03-09 | カシオ計算機株式会社 | Waveform data interpolation device |
Also Published As
Publication number | Publication date |
---|---|
JPH06289876A (en) | 1994-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715257A (en) | Waveform generating device for electronic musical instruments | |
US7612281B2 (en) | Reverberation effect adding device | |
US5270954A (en) | Filter device and electronic musical instrument using the filter device | |
JP3760385B2 (en) | Method and apparatus for quadratic interpolation | |
JPH0562495A (en) | Sampling frequency converter | |
JPH10215147A (en) | Interpolation unit using plural polynomials and related method | |
US6531969B2 (en) | Resampling system and apparatus | |
EP1176516A2 (en) | Recursive discrete fourier transformation apparatus | |
JP3223280B2 (en) | Waveform data interpolation device | |
US5243658A (en) | Modulation effect adding apparatus | |
JPS59200585A (en) | Device for generating interpolating signal | |
US5250748A (en) | Tone signal generation device employing a digital filter | |
JP2608938B2 (en) | Waveform interpolation device | |
JP2905904B2 (en) | Electronic musical instrument signal processor | |
JP3336201B2 (en) | Adaptive predictor selection circuit | |
JP4645337B2 (en) | Waveform data interpolation device | |
JP2790066B2 (en) | Tone signal generator and waveform memory read-out interpolator | |
JP2671648B2 (en) | Digital data interpolator | |
JP3097324B2 (en) | Digital sound data output device | |
JP3200940B2 (en) | Music control device | |
JP2669073B2 (en) | PCM sound source device | |
JP3539164B2 (en) | Waveform generator | |
JP3264603B2 (en) | Digital signal processor | |
JP2558245B2 (en) | Pitch control device | |
JP2817367B2 (en) | Linear / float converter and tone generator using the converter |
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: 20010710 |
|
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: 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 |
|
LAPS | Cancellation because of no payment of annual fees |