JPH0792970A - Interval variation adding device - Google Patents

Interval variation adding device

Info

Publication number
JPH0792970A
JPH0792970A JP5261519A JP26151993A JPH0792970A JP H0792970 A JPH0792970 A JP H0792970A JP 5261519 A JP5261519 A JP 5261519A JP 26151993 A JP26151993 A JP 26151993A JP H0792970 A JPH0792970 A JP H0792970A
Authority
JP
Japan
Prior art keywords
data
delay
value
output
address
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.)
Pending
Application number
JP5261519A
Other languages
Japanese (ja)
Inventor
Atsuko Tanaka
温子 田中
Masahiro Nakanishi
雅浩 中西
Daisuke Mori
大輔 森
Kimiharu Watanabe
公治 渡辺
Kenji Muraki
健司 村木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5261519A priority Critical patent/JPH0792970A/en
Publication of JPH0792970A publication Critical patent/JPH0792970A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To add interval variation to a sound signal of a instrument sound, etc., without cutting off the high frequency range. CONSTITUTION:This device is provided with an interval control circuit 201 which determines the number of delay stages for internal control data. A write address and a read address having an address difference corresponding to the output int(M) of the integer part of the internal control circuit 201 is generated by an address generating circuit 202. According to the addresses, input data are delayed by a data storage circuit 101 and the delayed data are supplied to an all-pass filter 204. Then when the int(M) varies, the transfer data are supplied as delay data which are 0 or 1 clock precedent to the all-pass filter 204 and the interval variation can be added without a noise or variation in frequency characteristic.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、デジタル電子回路を用
い、特に波形データに時間遅延を与えることにより音程
に変動量を付加する音程変動付加装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pitch variation adding device which uses a digital electronic circuit, and in particular adds a variation amount to a pitch by giving a time delay to waveform data.

【0002】[0002]

【従来の技術】従来、入力された音響信号データに対
し、音程の変動を付加することで、例えば電子楽器等で
使われるビブラート等の効果を実現することができる装
置が提案されている。このような装置として、入力され
た音響信号データを一時メモリなどに書込み、書込みと
は異なるサンプリング時間で読出すことにより音程変動
を付加する装置が提案されている。しかしこのような装
置は時分割多重化が困難であり、ハードウェアが複雑に
なってしまう。又書込みと読出しのサンプリング時間を
同じにする方法も提案されており、その中で特に、音程
変動の変動量が必ずしもサンプリング時間Tsに従うこ
となく連続的で滑らかな音程変動を実現するために、入
力された音響信号データの位相を変化させることで音程
の変動を実現することができる音程変動付加装置が提案
されている。以下このような装置について図面を参照し
ながら説明する。
2. Description of the Related Art Heretofore, there has been proposed a device capable of realizing an effect such as vibrato used in an electronic musical instrument or the like by adding a pitch variation to input acoustic signal data. As such a device, a device has been proposed in which the input acoustic signal data is written in a temporary memory or the like and read by a sampling time different from the writing to add a pitch change. However, such a device is difficult to perform time division multiplexing, and the hardware becomes complicated. A method has also been proposed in which the sampling times for writing and reading are made the same, and in particular, in order to realize a continuous and smooth pitch variation, the variation amount of the pitch variation does not always follow the sampling time Ts. There has been proposed a pitch variation adding device capable of realizing pitch variation by changing the phase of the generated acoustic signal data. Hereinafter, such a device will be described with reference to the drawings.

【0003】図10は従来の音程変動付加装置のブロッ
ク図を示すものである。図10において、データ記憶回
路101は入力波形データの値を書込アドレスで示され
るアドレスに書込み、読出アドレスが示すアドレスのデ
ータを読出して遅延データとして出力する記憶回路であ
り、その出力は補間演算回路102に与えられる。補間
演算回路102はデータ記憶回路101から出力された
遅延データを所定時間遅延させた後に、出力データとし
て出力するものである。又入力波形データの音をどれだ
け変更するかを示す比率である音程制御データKが、遅
延制御回路103に入力される。遅延制御回路103は
この音程制御データKに基づき、データ記憶回路101
の遅延時間DMを決定するためのint(M)を発生すると共
に、補間演算回路102の遅延時間DAを決定するため
のfrac(M) を発生するものであり、int(M)はアドレス発
生回路104に入力される。ここでint(M)は遅延段数M
の整数部、又frac(M) は遅延段数Mの小数部を表わすも
のとする。アドレス発生回路104は処理開始フラグが
入力された時点で書込アドレスを値0にリセットし、更
に書込アドレスと読出アドレスの差が遅延制御回路10
3で決定された値int(M)となるように読出アドレスの設
定を行い、その後システムクロックψの発生タイミング
で書込アドレスと読出アドレスのインクリメント動作を
行うアドレス発生回路である。
FIG. 10 is a block diagram of a conventional pitch variation adding device. In FIG. 10, a data storage circuit 101 is a storage circuit that writes the value of the input waveform data to the address indicated by the write address, reads the data at the address indicated by the read address, and outputs it as delay data. It is provided to the circuit 102. The interpolation calculation circuit 102 delays the delay data output from the data storage circuit 101 for a predetermined time and then outputs the delayed data as output data. The pitch control data K, which is a ratio indicating how much the sound of the input waveform data is changed, is input to the delay control circuit 103. Based on this pitch control data K, the delay control circuit 103 uses the data storage circuit 101.
Int (M) for determining the delay time DM of the interpolating circuit 102 and at the same time generating frac (M) for determining the delay time DA of the interpolation calculation circuit 102, where int (M) is the address generating circuit. It is input to 104. Where int (M) is the number of delay stages M
, And frac (M) represent the fractional part of the number of delay stages M. The address generation circuit 104 resets the write address to the value 0 when the processing start flag is input, and the difference between the write address and the read address is delayed by the delay control circuit 10.
This is an address generation circuit that sets the read address so that it becomes the value int (M) determined in 3, and then increments the write address and the read address at the generation timing of the system clock ψ.

【0004】さて入力波形データの周波数f0 と出力波
形データの周波数f1 、及び音程制御データKの関係を
以下の式(1)に示す。 K=f1 /f0 =1−ΔM ・・・(1) ここでΔMは遅延段数の変動量である。又遅延段数Mと
遅延時間Dとは以下の式(2)で示される。尚Tsはシ
ステムクロックψの周期である。 D=M×Ts ・・・(2) int(M)とデータ記憶回路101の遅延時間DMとの関係
は以下の式(3)で示される。 DM=int(M)×Ts ・・・(3) frac(M) と補間演算回路102の遅延時間DAとの関係
は以下の式(4)で示される。 DA=frac(M) ×Ts ・・・(4)
The relationship between the frequency f 0 of the input waveform data, the frequency f 1 of the output waveform data, and the pitch control data K is shown in the following equation (1). K = f 1 / f 0 = 1−ΔM (1) where ΔM is the variation amount of the delay stage number. The number of delay stages M and the delay time D are expressed by the following equation (2). Note that Ts is the cycle of the system clock ψ. D = M × Ts (2) The relationship between int (M) and the delay time DM of the data storage circuit 101 is expressed by the following equation (3). DM = int (M) × Ts (3) The relationship between frac (M) and the delay time DA of the interpolation calculation circuit 102 is expressed by the following equation (4). DA = frac (M) × Ts (4)

【0005】次に各ブロックの詳細な構成について説明
する。図11は補間演算回路102の構成図である。レ
ジスタ11はデータ記憶回路101において読出アドレ
スが指し示す1つ前の番地に記憶されている遅延データ
を保持するレジスタであり、レジスタ12は読出アドレ
スが指し示す番地に記憶されている遅延データを保持す
るレジスタである。又減算器13は値1から遅延制御回
路103から発生した少数部frac(M) を減算する減算器
である。乗算器14は遅延制御回路103から発生した
少数部frac(M) と、レジスタ11が保持している遅延デ
ータとを乗算する乗算器である。乗算器15は減算器1
3から出力された減算データ(1−frac(M) )と、レジ
スタ12が保持している遅延データを乗算する乗算器で
あり、加算器16は乗算器14及び15から出力された
乗算結果を加算し、出力データとする加算器である。
Next, the detailed configuration of each block will be described. FIG. 11 is a block diagram of the interpolation calculation circuit 102. The register 11 is a register for holding the delay data stored in the address immediately before the address indicated by the read address in the data storage circuit 101, and the register 12 is a register for holding the delay data stored in the address indicated by the read address. Is. The subtractor 13 is a subtractor that subtracts the fractional part frac (M) generated from the delay control circuit 103 from the value 1. The multiplier 14 is a multiplier that multiplies the fractional part frac (M) generated from the delay control circuit 103 and the delay data held in the register 11. The multiplier 15 is the subtractor 1
3 is a multiplier that multiplies the subtraction data (1-frac (M)) output from 3 and the delay data held in the register 12, and the adder 16 calculates the multiplication result output from the multipliers 14 and 15. This is an adder that adds and outputs the output data.

【0006】図12は、アドレス発生回路104の構成
図である。本図においてアドレス発生回路104は処理
開始フラグによってリセットされ、システムクロックψ
の発生タイミングに応じてインクリメントされるカウン
タ21を有しており、このカウンタの計数値が書込アド
レスとしてデータ記憶回路101に入力される。又減算
器22はデータ記憶回路101のアドレスの全体語長で
あるMAXadr から遅延制御回路103より出力される
整数部int(M)の値を減算する減算器であり、その出力は
加算器23に与えられる。加算器23はカウンタ21が
カウントする書込アドレスと、減算器22の減算データ
との加算を行う加算器であり、その出力は読出アドレス
Radr0とすると共に、加算器24に与えられる。加算器
24は加算器23から出力された加算データに値(−
1)を加算し、データ記憶回路101の読出アドレスR
adr -1として出力する加算器である。
FIG. 12 is a block diagram of the address generation circuit 104. In the figure, the address generation circuit 104 is reset by the processing start flag, and the system clock ψ
Has a counter 21 that is incremented according to the generation timing of, and the count value of this counter is input to the data storage circuit 101 as a write address. The subtractor 22 is a subtractor that subtracts the value of the integer part int (M) output from the delay control circuit 103 from MAXadr, which is the entire word length of the address of the data storage circuit 101, and the output thereof is sent to the adder 23. Given. The adder 23 is an adder that adds the write address counted by the counter 21 and the subtracted data of the subtractor 22. The output of the adder 23 serves as the read address Radr 0 and is also provided to the adder 24. The adder 24 adds a value (−) to the addition data output from the adder 23.
1) is added, and the read address R of the data storage circuit 101 is added.
It is an adder that outputs as adr -1 .

【0007】図13は遅延制御回路103の構成図であ
る。本図において音程制御データKはまず第1の変換部
31に入力される。変換部31は式(1)を変形した次
式 ΔM=1−K により、データ記憶回路101の遅延段数である整数部
int(M)と補間演算回路102の遅延段数である少数部fr
ac(M) の遅延段数の和であるMの変動量ΔMを求める変
換部であり、その出力は加算器34に与えられる。又セ
レクタ32はデータ記憶回路101のアドレスの全体語
長であるMAXadr の1/2の値を初期化時に選択し、
その他のときには加算器34の出力を選択するセレクタ
であり、その出力はレジスタ33に与えられる。レジス
タ33はセレクタ32から出力されたデータを保持する
レジスタであって、その出力は加算器34に入力され
る。加算器34はレジスタ33が保持されているデータ
と変換部31から出力された変動量ΔMとを加算し、遅
延段数Mを決める加算器である。このセレクタ32の動
作によって、加算器34は次式(5),(6)のいずれ
かの演算を行う。 M=ΔM+MAXadr /2 ・・・(5) M←ΔM+M ・・・(6)
FIG. 13 is a block diagram of the delay control circuit 103. In the figure, the pitch control data K is first input to the first converter 31. The conversion unit 31 uses the following formula ΔM = 1-K obtained by modifying the formula (1) to calculate an integer part that is the number of delay stages of the data storage circuit 101.
int (M) and the fractional part fr which is the number of delay stages of the interpolation calculation circuit 102
This is a conversion unit for obtaining the variation amount ΔM of M, which is the sum of the number of delay stages of ac (M), and the output thereof is given to the adder 34. Further, the selector 32 selects a value of 1/2 of MAXadr, which is the entire word length of the address of the data storage circuit 101, at the time of initialization,
At other times, it is a selector that selects the output of the adder 34, and its output is given to the register 33. The register 33 is a register that holds the data output from the selector 32, and its output is input to the adder 34. The adder 34 is an adder that determines the delay stage number M by adding the data held in the register 33 and the variation amount ΔM output from the conversion unit 31. By the operation of the selector 32, the adder 34 performs either operation of the following equations (5) and (6). M = ΔM + MAX adr / 2 (5) M ← ΔM + M (6)

【0008】図14は変動量ΔMを値0から(−0.03)
に変化させたときの動作説明図である。図15は変動量
ΔMを値0から0.03に変化させたときの動作説明図であ
る。図16は、変動量△Mを値0から(−0.03)に変化
させたときの入力波形データ及び、出力波形データの時
間波形図である。図17は、変動量△Mを0から0.03に
変化させたときの入力波形データ及び、出力波形データ
の時間波形図である。尚、入力波形データは図16,図
17共にピーク値が±10000 、1周期が480ポイント
(サンプリング周波数Fsが48.0kHzのとき音程が100
Hz)の正弦波とする。又図14,図15において二重円
はサイクリックに構成されるデータ記憶回路101の記
憶エリアを概念的に示すものであり、記憶内容について
は小数点以下を省略している。
FIG. 14 shows the variation ΔM from the value 0 to (−0.03).
It is an explanatory view of the operation when changed to. FIG. 15 is an operation explanatory diagram when the variation amount ΔM is changed from the value 0 to 0.03. FIG. 16 is a time waveform chart of the input waveform data and the output waveform data when the variation amount ΔM is changed from the value 0 to (−0.03). FIG. 17 is a time waveform chart of the input waveform data and the output waveform data when the variation amount ΔM is changed from 0 to 0.03. 16 and 17, the input waveform data has a peak value of ± 10000 and one cycle of 480 points (the pitch is 100 when the sampling frequency Fs is 48.0 kHz).
Hz) sine wave. Further, in FIGS. 14 and 15, the double circles conceptually show the storage area of the data storage circuit 101 which is cyclically configured, and the decimal points of the stored contents are omitted.

【0009】以上のように構成された従来の音程変動付
加装置の動作について説明する。音程制御データKが指
示されると遅延制御回路103において、変換部31に
よって音程制御データKを変動量ΔMに変換する。更
に、入力波形データが入力されたイニシャル時(即ち、
処理開始フラグが指示された時点)においてセレクタ3
2ではデータ記憶回路101の全体語長MAXadr の半
分の値を選択し、以後は遅延段数Mを選択する。レジス
タ33ではセレクタ32が選択したデータを保持し、加
算器34にてレジスタ33が保持しているデータと変換
部31から出力された変動量ΔMを加算することによ
り、遅延段数Mを算出し、Mの整数部をint(M)、小数部
をfrac(M) として出力する。
The operation of the conventional pitch variation adding device configured as described above will be described. When the pitch control data K is designated, in the delay control circuit 103, the conversion unit 31 converts the pitch control data K into the variation amount ΔM. Furthermore, at the time of initial input of the input waveform data (ie,
Selector 3 when the processing start flag is instructed)
In 2, the half value of the entire word length MAXadr of the data storage circuit 101 is selected, and thereafter, the delay stage number M is selected. The register 33 holds the data selected by the selector 32, and the adder 34 adds the data held in the register 33 and the variation amount ΔM output from the conversion unit 31 to calculate the delay stage number M, Output the integer part of M as int (M) and the decimal part as frac (M).

【0010】アドレス発生回路104は、処理開始フラ
グが指示された時点においてカウンタ21のカウント値
である書込アドレスを値0にリセットし、サンプリング
周期Ts毎にアドレスをインクメントしながらデータ記
憶回路101の書込アドレスWadr として出力する。減
算器22においてデータ記憶回路101の全体語長であ
るMAXadr から整数部int(M)を減算した結果と書込ア
ドレスとを加算し、更に加算器24にて値(−1)を加
算することで読出アドレスRadr0、Radr -1として出力
する。尚、整数部int(M)は読出アドレスRadr0に対して
書込アドレスが先行している語長幅に相当するもので、
結果的にデータ記憶回路101の遅延段数となる。又、
少数部frac(M) は補間演算回路102の遅延段数にな
る。
The address generation circuit 104 resets the write address, which is the count value of the counter 21, to the value 0 at the time when the processing start flag is instructed, and increments the address every sampling cycle Ts while incrementing the address. It is output as the write address Wadr. The subtracter 22 adds the result obtained by subtracting the integer part int (M) from MAXadr, which is the entire word length of the data storage circuit 101, and the write address, and the adder 24 adds the value (-1). Are output as read addresses Radr 0 and Radr -1 . The integer part int (M) corresponds to the word length width in which the write address precedes the read address Radr 0 .
As a result, the number of delay stages of the data storage circuit 101 is obtained. or,
The fractional part frac (M) is the number of delay stages of the interpolation calculation circuit 102.

【0011】データ記憶回路101において、処理開始
フラグが指示されるとまず、データ記憶回路101に記
憶されている値を全て値0にリセットし、入力波形デー
タをアドレス発生回路104が指し示す書込アドレスW
adr に書込み、更に読出アドレスRadr0が指し示す番地
に記憶されているデータ(以後は、X0 とする)と、読
出アドレスRadr -1が指し示す値(以後は、X-1とす
る)を読出し、遅延データとして補間演算回路102に
出力する。
In the data storage circuit 101, when the processing start flag is instructed, first, all the values stored in the data storage circuit 101 are reset to the value 0, and the input waveform data is set to the write address indicated by the address generation circuit 104. W
The data stored in the address indicated by the read address Radr 0 (hereinafter referred to as X 0 ) and the value indicated by the read address Radr -1 (hereinafter referred to as X -1 ) are read out. The delay data is output to the interpolation calculation circuit 102.

【0012】補間演算回路102においては、遅延デー
タX-1をレジスタ11に保持し、遅延データX0 をレジ
スタ12に保持する。乗算器14ではレジスタ11が保
持しているデータX-1と、少数部frac(M) とを乗算す
る。乗算器15ではレジスタ12が保持しているデータ
0 と減算器13の減算結果である(1−frac(M) )と
を乗算し、出力する。加算器15において乗算器14及
び15から出力された乗算結果を加算し、出力波形デー
タとして出力する。
In the interpolation calculation circuit 102, the delay data X -1 is held in the register 11 and the delay data X 0 is held in the register 12. The multiplier 14 multiplies the data X −1 held in the register 11 by the fractional part frac (M). The multiplier 15 multiplies the data X 0 held in the register 12 by the subtraction result (1-frac (M)) of the subtractor 13 and outputs the result. The adder 15 adds the multiplication results output from the multipliers 14 and 15 and outputs the result as output waveform data.

【0013】以上の動作のうちデータ記憶回路101と
補間演算回路102の動作について、実際の入力波形デ
ータ(図16(a),図17(a)参照)を用いながら
詳細に説明を付け加える。ここで、データ記憶回路10
1の全体語長であるMAXadr を値2048とし、変動量Δ
Mを値0から(−0.03)に変化させた場合について説明
するが、説明を簡単にするため、処理開始時間から1025
Tsサンプリング(1025Ts)分は、変動量ΔMは0と
した後に、変動量ΔMを値(−0.03)として音程を上げ
た場合の動作について、図14と表1を用いて説明す
る。
Among the above operations, the operations of the data storage circuit 101 and the interpolation calculation circuit 102 will be described in detail with reference to actual input waveform data (see FIGS. 16A and 17A). Here, the data storage circuit 10
The maximum word length MAXadr of 1 is 2048, and the variation Δ
A case in which M is changed from the value 0 to (−0.03) will be described. However, in order to simplify the description, 1025 from the processing start time.
With respect to the Ts sampling (1025 Ts), the operation when the variation amount ΔM is set to 0 and then the pitch is raised with the variation amount ΔM being a value (−0.03) will be described with reference to FIG. 14 and Table 1.

【0014】まず図14に示すように、音程制御データ
Kが指示されるとデータ記憶回路101の記憶値は全て
リセットされ、書込アドレスが指し示すアドレスに入力
波形データの値0が書込まれ、読出アドレスRadr0が指
し示す番地に記憶されたX0(即ち値0)と、Radr -1
が指し示す番地に記憶されたX-1(即ち値0)が読込ま
れ出力される。補間演算回路102ではレジスタ11
に、X-1(値0)が保持される。乗算器14ではX-1
少数部frac(M) とを乗算する。レジスタ12ではX
0 (即ち値0)を保持し、乗算器15にてX0 と、減算
器13にて1から少数部frac(M) とを減算した結果(値
1)とを乗算する。加算器16では乗算器14から出力
された乗算結果(値0)と乗算器15から出力された乗
算結果(値0)とを加算し、出力波形データとして値0
を出力する。次いで書込アドレスの値が1だけインクリ
メントされる。以後1024Ts時間は変動量ΔMが値0で
あるので、同様の動作を繰り返すことにより出力波形デ
ータとして値0を出力する。
First, as shown in FIG. 14, when the pitch control data K is designated, all the stored values in the data storage circuit 101 are reset, and the value 0 of the input waveform data is written at the address indicated by the write address. X 0 (that is, the value 0) stored at the address indicated by the read address Radr 0 , and Radr −1
X -1 (that is, the value 0) stored in the address indicated by is read and output. In the interpolation calculation circuit 102, the register 11
Holds X -1 (value 0). The multiplier 14 multiplies X −1 by the fractional part frac (M). X in register 12
0 (i.e., the value 0) holds, multiplied with X 0 at the multiplier 15, subtractor 13 fractional part 1 at frac (M) and result of subtracting the (value 1). The adder 16 adds the multiplication result (value 0) output from the multiplier 14 and the multiplication result (value 0) output from the multiplier 15, and outputs a value 0 as output waveform data.
Is output. Then, the value of the write address is incremented by 1. After that, since the variation ΔM has a value of 0 for the time of 1024 Ts, the value 0 is output as the output waveform data by repeating the same operation.

【表1】 [Table 1]

【0015】次に1024Ts時間経過した後の動作につい
て図14(b)及び表1を参照して説明する。時刻1024
Tsでは、上記の動作と同様に変動量ΔMが値0であ
り、Radr0が指し示す値X0 (値0)と、Radr -1が指
し示す値X-1(値0)が読込まれ出力波形データとして
0が出力され、1サンプリング時間分インクリメントさ
れる。時刻1025Tsでは、変動量ΔMが値(−0.03)と
なり遅延段数の和Mが値1023.97 となるため、整数部in
t(M)が値1024から値1023に切り変わり、減算器22の出
力は1024から1025となるため、図14(b)に対し
(c)のRadr0は2段分にインクリメントされた値とな
る。少数部frac(M) は値0.97となり、図14(c)に示
すような補間演算がなされ、出力波形データとして値13
4.82が出力される。このような動作を2048Ts時間分実
行することにより、図16(b)に示すような出力波形
データが得られる。入力波形データの周期と比較する
と、出力波形データの周期が少し短くなっており、音程
が上がることとなる。
Next, the operation after 1024 Ts has elapsed will be described with reference to FIG. Time 1024
In ts, the above operation as well as variation ΔM is equal to 0, the value X 0 of RADR 0 points to (value 0), the value X -1 (value 0) that RADR -1 is pointed read rare output waveform data Is output and is incremented by one sampling time. At time 1025Ts, the fluctuation amount ΔM becomes a value (−0.03), and the sum M of the delay stages becomes a value 1023.97.
Since t (M) changes from the value 1024 to the value 1023 and the output of the subtractor 22 changes from 1024 to 1025, the Radr 0 of (c) in FIG. 14B is the value incremented by two stages. Become. The fractional part frac (M) has a value of 0.97, and the interpolation calculation as shown in FIG.
4.82 is output. By performing such operation for 2048 Ts time, output waveform data as shown in FIG. 16B is obtained. Compared with the cycle of the input waveform data, the cycle of the output waveform data is slightly shorter and the pitch is higher.

【0016】次に変動量ΔMを1025Tsサンプリング時
間を0とした後に、値0.03とした場合、即ち音程を下げ
た場合の動作について図15と表2を用いて説明する。
図15(a)は時刻0から時刻1023Tsの動作であり、
図15(b)は時刻1024Tsの動作である。これらの動
作は、前述した音程を上げる場合の動作と同様であるの
で説明を省略し、時刻1025Tsの動作について図15
(c),表2を参照して説明する。
Next, with reference to FIG. 15 and Table 2, the operation when the variation amount ΔM is set to 0.03 after the 1025 Ts sampling time is set to 0, that is, the pitch is lowered will be described.
FIG. 15A shows the operation from time 0 to time 1023Ts,
FIG. 15B shows the operation at time 1024Ts. Since these operations are similar to the above-described operations for raising the pitch, the description thereof will be omitted and the operation at time 1025Ts will be described with reference to FIG.
This will be described with reference to (c) and Table 2.

【表2】 [Table 2]

【0017】1025Tsの時点において、変動量ΔMは値
0から値0.03に切り換えられる。Radr0が指し示す値X
0 (値130.89)と、Radr -1が指し示す値X-1(値0)
が読込まれ、出力波形データとして126.96が出力され
る。このような動作を2048Ts時間分実行することによ
り、図17(b)に示すような出力波形データが得られ
る。入力波形データの周期と比較すると、出力波形デー
タの周期が少し長くなっており、音程が下がることとな
る。
At the time of 1025 Ts, the variation amount ΔM is switched from the value 0 to the value 0.03. The value X indicated by Radr 0
0 (value 130.89) and the value X -1 (value 0) indicated by Radr -1
Is read and 126.96 is output as output waveform data. By executing such operation for 2048 Ts time, output waveform data as shown in FIG. 17B is obtained. Compared with the cycle of the input waveform data, the cycle of the output waveform data is slightly longer and the pitch is lowered.

【0018】[0018]

【発明が解決しようとする課題】しかしながら上記の構
成では、入力波形データに対して主に高域成分を遮断し
てしまうという問題点を有していた。例えば、変動量Δ
Mが値(0.5 )の時、補間演算回路102では次式
(7)の演算を実行することになる。
However, the above configuration has a problem that the high frequency components are mainly cut off from the input waveform data. For example, the variation Δ
When M is a value (0.5), the interpolation calculation circuit 102 executes the calculation of the following expression (7).

【数2】 式(7)においてH(z)は一般的に1次のFIRフィ
ルタと呼ばれ、入力X0 に対して高域成分を遮断させる
フィルタとして作用する。尚、変動量△Mが値0以外の
値をとる場合は、補間演算回路102は低域成分のみを
通過させるフィルタとして作用する。従って従来の音程
変動付加装置では、入力波形データに対して高域成分を
遮断するため、音色が変化するという問題点を有してい
た。又、補間演算回路102を用いずにデータ記憶回路
101のみで入力波形データの位相制御をさせた場合、
特にデータ記憶回路101のメモリ容量を小さくするな
どの理由からサンプリング周波数を低くして動作させる
と、音程の変動が粗くなるという問題点を有していた。
[Equation 2] In Expression (7), H (z) is generally called a first-order FIR filter, and acts as a filter that blocks high-frequency components with respect to the input X 0 . When the variation ΔM takes a value other than 0, the interpolation calculation circuit 102 acts as a filter that passes only the low frequency component. Therefore, the conventional pitch variation adding device has a problem that the tone color changes because the high frequency component is cut off from the input waveform data. When the phase of the input waveform data is controlled only by the data storage circuit 101 without using the interpolation calculation circuit 102,
In particular, when the sampling frequency is lowered to operate the memory for reducing the memory capacity of the data storage circuit 101, there is a problem that the pitch variation becomes coarse.

【0019】本発明はこのような従来の問題点を解決す
るためになされたものであって、入力波形データの高域
成分を遮断することなく滑らかに音程を変化させること
ができる音程変動付加装置を実現することを目的とす
る。
The present invention has been made in order to solve such a conventional problem, and is a pitch variation adding device capable of smoothly changing the pitch without interrupting the high frequency component of the input waveform data. The purpose is to realize.

【0020】[0020]

【課題を解決するための手段】本願の請求項1の発明
は、入力波形データを所定時間遅延させ第1の遅延デー
タ及びその直前のアドレスの第2の遅延データとして出
力するデータ記憶手段と、音程制御データに基づき算出
される遅延段数Mの整数部をデータ記憶手段の遅延時間
とする遅延制御手段と、遅延制御手段による遅延段数の
整数部の値の減少時にデータ記憶手段に記憶された第2
の遅延データ、遅延制御手段による遅延段数の整数部の
値の増加時に値0を転送データとする転送データ発生手
段と、転送データ発生手段より転送データがなければデ
ータ記憶手段の第1の遅延データ、転送データ発生手段
より転送データがあればその転送データを、遅延制御手
段より出力される遅延段数Mの小数部に対応した時間遅
延させ、出力波形データとして出力する全域通過フィル
タと、を具備することを特徴とするものである。
According to a first aspect of the present invention, there is provided data storage means for delaying input waveform data for a predetermined time and outputting it as first delay data and second delay data of an address immediately before it. The delay control means using the integer part of the delay stage number M calculated based on the pitch control data as the delay time of the data storage means, and the first stored in the data storage means when the value of the integer part of the delay stage number is decreased by the delay control means. Two
Of the delay data, the transfer data generating means which uses the value 0 as the transfer data when the value of the integer part of the number of delay stages by the delay control means, and the first delay data of the data storing means if there is no transfer data from the transfer data generating means. If there is transfer data from the transfer data generating means, the transfer data is delayed by a time corresponding to the fractional part of the delay stage number M output from the delay control means, and is output as output waveform data. It is characterized by that.

【0021】本願の請求項2の発明は、遅延制御手段よ
り出力される遅延段数Mの整数部に対応したアドレス差
を有する書込アドレス及び第1の読出アドレスと、その
読出アドレスに直前の第2の読出アドレスとを発生し、
データ記憶手段に出力するアドレス発生手段と、を有す
ることを特徴とするものである。
According to a second aspect of the present invention, the write address and the first read address having an address difference corresponding to the integer part of the delay stage number M output from the delay control means, and the read address immediately preceding the read address. 2 read addresses and
And address generating means for outputting to the data storage means.

【0022】本願の請求項3の発明では、遅延制御手段
は、入出力波形データの周波数比として定められる音声
制御データKが入力され、1からの音声制御データKの
変化分を遅延段数の変動量ΔMとして変換する第1の変
換部と、初期動作時に初期値、その後にその直前の遅延
段数Mを第1の変換部より出力される変動量ΔMに加算
することにより新たな遅延段数Mを出力する第1の加算
器と、第1の加算器より出力される遅延段数Mの小数部
frac(M) を式(8)によってフィルタ係数Cに変換する
第2の変換部と、を有するものであり、アドレス発生手
段は、データ記憶回路の最大アドレスから遅延制御手段
より出力される遅延段数Mの整数部int(M)を減算する減
算器と、システムクロックによってインクリメントされ
その計数値を書込アドレスとするカウンタと、カウンタ
の計数値に減算器の出力を加算し第1の読出アドレスと
する第2の加算器と、第2の加算器より得られる読出ア
ドレスに−1を加算することによって第1の読出アドレ
スの直前のアドレスを第2の読出アドレスとする第3の
加算器と、を有するものであり、転送データ発生手段
は、遅延制御手段より得られる遅延段数Mの整数部の値
が減少した場合に第2の読出アドレスによって読出され
たデータ記憶手段の第2の遅延データを選択し、増加し
た場合に値0を選択して転送データとして出力するもの
であり、全域通過フィルタは、遅延段数の変化毎に転送
データ発生回路より第1の入力端に入力された転送デー
タを選択し、変化がないときに第2の入力端に入力され
たデータを選択するセレクタと、セレクタの出力を1シ
ステムクロック分遅延させる遅延器と、データ記憶手段
より第1の読出アドレスから読出された第1の遅延デー
タと遅延制御手段より得られるフィルタ係数Cとを乗算
する第1の乗算器と、遅延器及び第1の乗算器の出力を
加算し出力データとする第4の加算器と、第4の加算器
の出力とフィルタ係数の符号反転値−Cを乗算する第2
の乗算器と、第2の乗算器の出力とデータ記憶手段の第
1の読出アドレスより読出された第1の遅延データとを
加算し、セレクタに第2の入力として与える第5の加算
器と、を有することを特徴とするものである。
In the invention of claim 3 of the present application, the delay control means receives the voice control data K defined as the frequency ratio of the input / output waveform data, and changes in the voice control data K from 1 are changed in the number of delay stages. A new conversion stage number M is obtained by adding a first conversion unit that converts the amount ΔM and an initial value at the time of initial operation, and the delay stage number M immediately before that to the fluctuation amount ΔM output from the first conversion unit. Output first adder and fractional part of delay stage number M output from the first adder
a second conversion unit for converting frac (M) into a filter coefficient C according to equation (8), and the address generation means is the number of delay stages output from the maximum address of the data storage circuit by the delay control means. A subtracter that subtracts the integer part int (M) of M, a counter that is incremented by the system clock and uses the count value as a write address, and the output of the subtractor is added to the count value of the counter to obtain a first read address. And a third adder that adds -1 to the read address obtained from the second adder to make the address immediately before the first read address the second read address. The transfer data generating means includes a second data storage means read by the second read address when the value of the integer part of the delay stage number M obtained from the delay control means decreases. The delay data is selected, and when it increases, the value 0 is selected and output as transfer data. The all-pass filter is input from the transfer data generating circuit to the first input terminal every time the number of delay stages changes. A selector for selecting the transfer data and selecting the data input to the second input terminal when there is no change, a delay device for delaying the output of the selector by one system clock, and a first read address from the data storage means. A first multiplier that multiplies the first delay data read from the filter coefficient C obtained from the delay control means, and a fourth multiplier that adds the outputs of the delay device and the first multiplier as output data. An adder, and a second multiplying the output of the fourth adder and the sign inversion value -C of the filter coefficient
And a fifth adder for adding the output of the second multiplier and the first delay data read from the first read address of the data storage means and giving it to the selector as the second input. It is characterized by having.

【0023】[0023]

【作用】このような特徴を有する本発明によれば、音程
制御データKに基づいて遅延制御手段によって遅延段数
Mを算出し、その整数部をデータ記憶手段の遅延時間と
している。データ記憶手段は入力波形データをこの遅延
時間だけ遅延させた第1の遅延データと、その直前のア
ドレスの第2の遅延データとを出力する。そして遅延制
御手段による遅延段数の整数部が低下しなければ第1の
遅延データを全域通過フィルタの入力とし、遅延段数の
整数部の値が減少すれば第2の遅延データ、遅延段数の
整数部の値が増加すれば値0を転送データ発生手段より
転送データとして全域通過フィルタに出力している。全
域通過フィルタはこれらのいずれかの入力を遅延制御手
段より出力される遅延段数Mの小数部に対応した時間遅
延させることによって、出力波形データとして出力して
いる。このような構成によって、全域通過フィルタは遅
延データに対して振幅特性を変えることなく位相特性即
ち、遅延時間のみを制御する。これにより入力波形デー
タに対して高域成分を遮断することなく、且つ滑らかな
音程変化を付加することができる。転送データ発生手段
を用いずに全域通過フィルタを使用した場合には、遅延
段数の整数部の変化時に出力波形データにノイズが生じ
てしまう。このノイズを防止するため、転送データ発生
手段は全域通過フィルタ内の遅延器に遅延データを転送
したり値0にリセットすることにより、出力波形データ
のノイズを除去するようにしている。
According to the present invention having such characteristics, the delay control means calculates the delay stage number M based on the pitch control data K, and the integer part thereof is used as the delay time of the data storage means. The data storage means outputs the first delay data obtained by delaying the input waveform data by this delay time and the second delay data of the address immediately before that. If the integer part of the number of delay stages by the delay control means does not decrease, the first delay data is used as the input of the all-pass filter, and if the value of the integer part of the delay stage decreases, the second delay data, the integer part of the delay stage number. If the value increases, the value 0 is output from the transfer data generating means to the all-pass filter as transfer data. The all-pass filter delays one of these inputs by a time corresponding to the fractional part of the delay stage number M output from the delay control means, and outputs it as output waveform data. With such a configuration, the all-pass filter controls only the phase characteristic, that is, the delay time without changing the amplitude characteristic of the delay data. This makes it possible to add a smooth pitch change to the input waveform data without blocking high frequency components. When the all-pass filter is used without using the transfer data generating means, noise occurs in the output waveform data when the integer part of the number of delay stages changes. In order to prevent this noise, the transfer data generating means removes the noise from the output waveform data by transferring the delay data to the delay device in the all-pass filter or resetting it to the value 0.

【0024】[0024]

【実施例】以下、本発明の一実施例について図面を参照
しながら説明する。図1は本実施例による音程変動付加
装置の構成を示すブロック図である。図1において遅延
制御回路201は音程制御データKが与えられ、遅延段
数Mを演算してその整数部int(M)を出力すると共に、そ
の小数部frac(M) によって定められるフィルタ係数Cを
発生させるものである。又アドレス発生回路202は整
数部int(M)の入力に応じて書込アドレスWadr と読出ア
ドレスRadr ,Radr -1を発生させるものである。これ
らのアドレスはデータ記憶回路101に入力される。デ
ータ記憶回路101は従来例と同様に書込アドレスWad
r によって決まるアドレスに入力波形データを書込み、
読出アドレスRadr ,Radr -1からそのデータを読出し
て遅延データD1 ,D2 とするものである。又遅延制御
回路201の整数部int(M)は転送データ発生回路203
に与えられる。転送データ発生回路203は転送データ
と転送指示フラグを出力して全域通過フィルタ204の
動作を制御するものである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the pitch variation adding apparatus according to this embodiment. In FIG. 1, the delay control circuit 201 is supplied with pitch control data K, calculates the delay stage number M and outputs the integer part int (M), and generates a filter coefficient C determined by the decimal part frac (M). It is what makes me. The address generation circuit 202 generates a write address Wadr and read addresses Radr, Radr -1 according to the input of the integer part int (M). These addresses are input to the data storage circuit 101. The data storage circuit 101 has a write address Wad as in the conventional example.
Write the input waveform data to the address determined by r,
Read address RADR, is to the data is read out and the delay data D 1, D 2 from RADR -1. The integer part int (M) of the delay control circuit 201 is the transfer data generation circuit 203.
Given to. The transfer data generating circuit 203 outputs transfer data and a transfer instruction flag to control the operation of the all-pass filter 204.

【0025】次に各ブロックの詳細な構成について図
2,図3を用いて説明する。以下の各ブロックにおいて
前述した従来例と同一部分は同一符号を付して詳細な説
明を省略する。本実施例における遅延制御回路201は
従来例と遅延制御回路103と同様に、図2に示すよう
に第1の変換部31,セレクタ32,レジスタ33及び
第1の加算器34を有しており、遅延段数Mの整数部in
t(M)と小数部frac(M) が出力される。そして本実施例に
よる遅延制御回路201は小数frac(M) が入力される第
2の変換部35を有している。変換部35は式(8)に
よって全域通過フィルタ204のフィルタ係数Cに変換
する変換部であり、フィルタ係数Cは全域通過フィルタ
204に与えられる。
Next, the detailed structure of each block will be described with reference to FIGS. In the following blocks, the same parts as those in the conventional example described above are designated by the same reference numerals, and detailed description thereof will be omitted. The delay control circuit 201 in this embodiment has a first conversion unit 31, a selector 32, a register 33, and a first adder 34, as shown in FIG. 2, similarly to the conventional example and the delay control circuit 103. , The integer part of the number of delay stages M in
t (M) and the fractional part frac (M) are output. The delay control circuit 201 according to this embodiment has the second conversion unit 35 to which the decimal fraction frac (M) is input. The conversion unit 35 is a conversion unit that converts into the filter coefficient C of the all-pass filter 204 by the equation (8), and the filter coefficient C is given to the all-pass filter 204.

【0026】次にアドレス発生回路202は従来例のア
ドレス発生回路と同一であり、カウンタ21と減算器2
2,第2の加算器23,第3の加算器24によって構成
されている。この書込アドレスWadr ,読出アドレスR
adr ,Radr -1はデータ記憶回路101に入力され、入
力波形データがこの書込アドレスに書込まれる。読出ア
ドレスRadr より読出された遅延データD1 は全域通過
フィルタ03に、読出アドレスRadr -1から読出された
遅延データD2 は転送データ発生回路203に入力され
る。
Next, the address generation circuit 202 is the same as the address generation circuit of the conventional example, and the counter 21 and the subtractor 2 are used.
2, the second adder 23, and the third adder 24. This write address Wadr and read address R
adr and Radr -1 are input to the data storage circuit 101, and the input waveform data is written at this write address. The delay data D 1 read from the read address Radr is input to the all-pass filter 03, and the delay data D 2 read from the read address Radr −1 is input to the transfer data generating circuit 203.

【0027】次に図3に示すように転送データ発生回路
203は整数部int(M)が遅延器41に入力される。遅延
器41は遅延制御回路201から出力された整数部int
(M)を1システムクロックψに相当する時間即ち、1サ
ンプリング時間Ts分遅延させる遅延器であって、その
出力は減算器42に与えられる。減算器42は遅延制御
回路201から出力された整数部int(M)から遅延器41
の出力を減算する減算器であって、その出力は比較器4
3の入力端子Aに与えられる。比較器43には入力端子
Bに1.0 、入力端子Cに-1.0の数値が入力されている。
以下入力端子A〜Cの数値を夫々A,B,Cで示すもの
とすれば、比較器43はAとB,Cの値を比較するもの
である。そしてA≧B又はA≦Cのときにはセレクタ4
4に夫々入力A及びBを選択する選択信号SA,SBを
出力する。セレクタ44の入力端子Aには値0.0 、入力
端子Bにはデータ記憶回路101から読出された遅延デ
ータD2 が入力され、選択信号に基づいて一方を選択し
て転送データとして出力するものである。又これらの比
較出力はオア回路45に与えられる。オア回路45はそ
の論理和を転送指示フラグとして全域通過フィルタ20
4のセレクタ51に出力するものである。
Next, as shown in FIG. 3, in the transfer data generating circuit 203, the integer part int (M) is input to the delay device 41. The delay unit 41 is an integer part int output from the delay control circuit 201.
The delay unit delays (M) by a time corresponding to one system clock ψ, that is, one sampling time Ts, and its output is given to the subtractor 42. The subtractor 42 calculates the delay unit 41 from the integer part int (M) output from the delay control circuit 201.
Of the comparator 4 and the output of the comparator 4
3 is applied to the input terminal A. Numerical values of 1.0 are input to the input terminal B and -1.0 to the input terminal C of the comparator 43.
If the numerical values at the input terminals A to C are denoted by A, B, and C, respectively, the comparator 43 compares the values at A, B, and C. When A ≧ B or A ≦ C, the selector 4
4 outputs selection signals SA and SB for selecting inputs A and B, respectively. A value of 0.0 is input to the input terminal A of the selector 44, and the delay data D 2 read from the data storage circuit 101 is input to the input terminal B. One of them is selected based on the selection signal and is output as transfer data. . Further, these comparison outputs are given to the OR circuit 45. The OR circuit 45 uses the logical sum as a transfer instruction flag and the all-pass filter 20.
4 to the selector 51.

【0028】一方全域通過フィルタ204は図3に示す
ようにセレクタ44によって選択された転送データが入
力端子Aに入力され、後述する加算器56からの加算デ
ータが入力端子Bに入力される。セレクタ51は転送指
示フラグがHレベルのときに入力Aの転送データを選択
し、Lレベルのときには加算器56の出力を選択するも
のである。セレクタ51の出力は遅延器52に入力され
る。遅延器52はセレクタ51によって選択されたデー
タを1システムクロックψに相当する時間即ち、1サン
プリング時間Ts分遅延させる遅延器であり、その出力
は第4の加算器54に入力される。又乗算器53はフィ
ルタ係数Cと遅延データD1 とを乗算する乗算器であっ
て、その出力は加算器54に入力される。加算器54は
遅延器52から出力されたデータと、乗算器53から出
力された乗算結果との加算を行い、加算結果を出力波形
データとして出力すると共に乗算器55に入力する。乗
算器55は出力波形データとフィルタ係数Cの反転値
(−C)との乗算を行う乗算器であり、その出力は加算
器56に入力される。第5の加算器56は遅延データD
1 とこの乗算結果との加算を行いセレクタ51の入力端
子Bに出力するものである。
On the other hand, in the all-pass filter 204, as shown in FIG. 3, the transfer data selected by the selector 44 is input to the input terminal A, and the addition data from the adder 56 described later is input to the input terminal B. The selector 51 selects the transfer data of the input A when the transfer instruction flag is H level, and selects the output of the adder 56 when the transfer instruction flag is L level. The output of the selector 51 is input to the delay device 52. The delay device 52 is a delay device that delays the data selected by the selector 51 by a time corresponding to one system clock ψ, that is, one sampling time Ts, and its output is input to the fourth adder 54. The multiplier 53 is a multiplier for multiplying the filter coefficient C and the delay data D 1, and the output thereof is input to the adder 54. The adder 54 adds the data output from the delay unit 52 and the multiplication result output from the multiplier 53, outputs the addition result as output waveform data, and inputs it to the multiplier 55. The multiplier 55 is a multiplier that multiplies the output waveform data and the inverted value (−C) of the filter coefficient C, and the output thereof is input to the adder 56. The fifth adder 56 outputs the delay data D
1 and this multiplication result are added and output to the input terminal B of the selector 51.

【0029】次に本実施例の動作について説明する。図
4は変動量ΔMを値0から(−0.03)に変化させたとき
の動作説明図である。図5は変動量ΔMを値0から0.03
に変化させたときの動作説明図である。図6は、本実施
例の音程変動付加装置において、転送データ発生回路2
03を除去し、変動量△Mを値0から(−0.03)に変化
させたときの入力波形データ及び出力波形データの時間
波形図である。図7は、本実施例の音程変動付加装置に
おいて、転送データ発生回路203を除去し、変動量△
Mを0から値0.03に変化させたときの入力波形データ及
び出力波形データの時間波形図である。図8は、本実施
例の音程変動付加装置において、変動量△Mを値0から
(−0.03)に変化させたときの入力波形データ及び出力
波形データの時間波形図である。図9は、本実施例の音
程変動付加装置において、変動量△Mを値0から0.03に
変化させたときの入力波形データ及び出力波形データの
時間波形図である。
Next, the operation of this embodiment will be described. FIG. 4 is an operation explanatory diagram when the variation amount ΔM is changed from the value 0 to (−0.03). FIG. 5 shows the variation amount ΔM from the value 0 to 0.03.
It is an explanatory view of the operation when changed to. FIG. 6 shows a transfer data generating circuit 2 in the pitch variation adding apparatus of this embodiment.
FIG. 13 is a time waveform chart of the input waveform data and the output waveform data when 03 is removed and the variation amount ΔM is changed from the value 0 to (−0.03). FIG. 7 shows that in the pitch variation adding apparatus of this embodiment, the transfer data generating circuit 203 is removed and the variation amount Δ
FIG. 9 is a time waveform chart of input waveform data and output waveform data when M is changed from 0 to a value of 0.03. FIG. 8 is a time waveform chart of the input waveform data and the output waveform data when the variation amount ΔM is changed from the value 0 to (−0.03) in the pitch variation adding device of the present embodiment. FIG. 9 is a time waveform chart of the input waveform data and the output waveform data when the variation amount ΔM is changed from the value 0 to 0.03 in the pitch variation adding device of the present embodiment.

【0030】以上のように構成された音程変動付加装置
の動作について説明する。基本的な動作は従来の音程変
動付加装置と同様であるので、相違点のみについて説明
する。相違点は、遅延段数Mの小数部frac(M) 段を遅延
させる回路として全域通過フィルタ204を用いること
により、入力波形データに対して全域を通過させること
である。但し、全域通過フィルタ204を用いた場合、
遅延段数の和であるMを変化させた際、整数部int(M)の
切り替え時に出力波形データにノイズが生じる。このノ
イズは図6(b),図7(b)において、断続的に発生
しているノイズである。このノイズを防止するのが転送
データ発生回路203であり、図8,9に示すように整
数部int(M)の切り替え時点においてノイズが除去されて
いることがわかる。
The operation of the pitch variation adding device configured as described above will be described. Since the basic operation is the same as that of the conventional pitch variation adding device, only the differences will be described. The difference is that the all-pass filter 204 is used as a circuit that delays the fractional part frac (M) stages of the number of delay stages M, so that the entire input waveform data is passed. However, when the all-pass filter 204 is used,
When M, which is the sum of the number of delay stages, is changed, noise occurs in the output waveform data when the integer part int (M) is switched. This noise is noise that is intermittently generated in FIGS. 6B and 7B. It is understood that the transfer data generating circuit 203 prevents this noise, and as shown in FIGS. 8 and 9, the noise is removed at the time of switching the integer part int (M).

【0031】以下ノイズ防止動作について実際に入力波
形データ(図6(a),図7(a)参照)を用いながら
説明する。なお、従来例と同様にデータ記憶回路101
の全体語長であるMAXadr を値2048、変動量ΔMを値
0から(−0.03)に変化させた場合について説明する
が、説明を簡単にするために、処理開始時間から1025サ
ンプリング時間(1025Ts)分は、変動量ΔMの値は0
とした後に、変動量ΔMを値(−0.03)とした場合につ
いて説明する。
The noise prevention operation will be described below by actually using the input waveform data (see FIGS. 6A and 7A). The data storage circuit 101 is similar to the conventional example.
The case where the total word length MAXadr is changed to a value of 2048 and the variation ΔM is changed from a value of 0 to (-0.03) will be described. To simplify the explanation, 1025 sampling time (1025Ts) from the processing start time is explained. The value of the fluctuation amount ΔM is 0
Then, the case where the variation amount ΔM is set to a value (−0.03) will be described.

【0032】まず、音程を上げる場合について説明を行
う。転送データ発生回路203が無い場合は、図4
(a),(b),(c)の動作となり、各種のデータの
値を表3に示す。
First, the case of increasing the pitch will be described. If the transfer data generating circuit 203 is not provided, the process shown in FIG.
The operations of (a), (b) and (c) are performed, and values of various data are shown in Table 3.

【表3】 音程制御データKが指示されるとデータ記憶回路101
の記憶値は値0に全てリセットされ、書込アドレスが指
し示すアドレスに入力波形データの値0が書き込まれ、
読出アドレスが指し示す番地に記憶された遅延データ
(値0)が全域通過フィルタ204の乗算器54にてフ
ィルタ係数C(値1)と乗算され、乗算結果(値0)が
遅延器52に記憶されたデータ(値0)と加算器54に
て加算され出力波形データとして出力される。又乗算器
55にてフィルタ係数Cの符号反転値(値(−1))と
乗算された結果(値0)が、加算器56にて遅延データ
の値0と加算され、遅延器52に加算結果(値0)が代
入され、書込アドレスの値が1だけインクリメントされ
る(図4(a),表3参照)。このようにして図4
(b)に示すような動作が行なわれることによって表3
に示すような出力波形データ値が得られる。しかし整数
部int(M)が値1024から値1023に切り替わった時点におい
て、即ち表3の時刻1025Ts、図4(c)において出力
波形データの値は3.99となって、その期待値である値13
4.82に対して大きくずれてしまう。
[Table 3] When the pitch control data K is designated, the data storage circuit 101
The stored values of are all reset to the value 0, and the value 0 of the input waveform data is written to the address indicated by the write address.
The delay data (value 0) stored at the address indicated by the read address is multiplied by the filter coefficient C (value 1) in the multiplier 54 of the all-pass filter 204, and the multiplication result (value 0) is stored in the delay device 52. The data (value 0) is added by the adder 54 and output as output waveform data. The result (value 0) obtained by multiplying the sign inversion value (value (−1)) of the filter coefficient C in the multiplier 55 is added to the delay data value 0 in the adder 56 and added to the delay device 52. The result (value 0) is substituted, and the value of the write address is incremented by 1 (see FIG. 4A, Table 3). In this way, FIG.
By performing the operation shown in FIG.
An output waveform data value as shown in is obtained. However, when the integer part int (M) is switched from the value 1024 to the value 1023, that is, at time 1025Ts in Table 3, the value of the output waveform data in FIG. 4 (c) is 3.99, which is the expected value 13
It deviates greatly from 4.82.

【0033】尚表3の右欄の期待値は、振幅のピーク値
が±10000 、1周期が480 ポイントの正弦波である入力
波形データに対し、その振幅値を計算によって求めたも
のである。例えば、時刻1025Tsにおける期待値134.82
は、1.03ポイントめの振幅値に相当するものである。後
述する表4から表6の期待値についても同様にして求め
た。
The expected value in the right column of Table 3 is obtained by calculating the amplitude value of input waveform data which is a sine wave having a peak amplitude value of ± 10000 and one period of 480 points. For example, expected value 134.82 at time 1025Ts
Corresponds to the amplitude value at the 1.03th point. The expected values in Tables 4 to 6 described later were also obtained in the same manner.

【0034】本実施例では整数部int(M)の切り替え時で
生じていたノイズを防止するために、図3の転送データ
発生回路203が図3の全域通過フィルタの遅延器52
に遅延データD2 (値130.89)を転送データとして転送
している。この動作を図3,図4(d),表4を用いて
説明する。
In the present embodiment, in order to prevent noise generated when the integer part int (M) is switched, the transfer data generating circuit 203 of FIG. 3 uses the all-pass filter delay device 52 of FIG.
The delay data D 2 (value 130.89) is transferred as the transfer data. This operation will be described with reference to FIGS. 3, 4D and Table 4.

【表4】 表4において整数部int(M)の切り替え時点は時刻1024T
sから時刻1025Tsに切り替わる時点である。この時、
図3の遅延器41には時刻1024Ts時の整数部int(M)の
値1024が記憶されており、新たに入力されてきた整数部
int(M)の値1023との減算が減算器42において実行され
る。この場合、減算器42の減算結果は値(−1)とな
り、比較器43においてA入力とC入力が一致する。従
って比較器43の比較フラグ(A≦C)がアクティブと
なり、セレクタ44がB入力(遅延データD2 )を選択
する。このとき整数部int(M)は1023となるため、1025T
sではRadr は図4(d)に示すように1024Tsから1
アドレス分離れたデータ、即ち261.76を読出す。このと
き同時にRadr -1はそのアドレスより1少ないアドレス
のデータ、即ち値130.89を読出す。従ってこの遅延デー
タ(値130.89)がセレクタ44によって選択されて転送
データとして出力される。又ORゲート45において
は、比較フラグ(A≦C)により転送指示フラグを発生
する。図3において転送指示フラグがセレクタ51に入
力され、A入力を選択する。A入力には転送データとし
て遅延データ(値130.89)が入力されることになるの
で、遅延器52には一旦値130.89が記憶される。そして
図4(d)に示すようなフィルタ処理がなされ、出力波
形データとして値134.82が出力されるとともに、遅延器
52には新たなデータ値(259.71)が記憶される。この
動作により、(表4)に示すように、時刻1025Tsの出
力波形データの値はその期待値とほぼ同じデータ値とな
り、結果としてノイズを防止することとなる。
[Table 4] In Table 4, the integer point int (M) is switched at time 1024T.
It is a time point when the time is switched from s to 1025 Ts. At this time,
The delay unit 41 of FIG. 3 stores the value 1024 of the integer part int (M) at time 1024 Ts, and the newly input integer part
Subtraction with the value 1023 of int (M) is executed in the subtractor 42. In this case, the subtraction result of the subtractor 42 becomes the value (−1), and the A input and the C input of the comparator 43 match. Therefore, the comparison flag (A ≦ C) of the comparator 43 becomes active, and the selector 44 selects the B input (delay data D 2 ). At this time, the integer part int (M) becomes 1023, so 1025T
In s, Radr is 1 from 1024Ts as shown in FIG.
Address-separated data, that is, 261.76 is read. At the same time, Radr -1 reads the data at the address one less than that address, that is, the value 130.89. Therefore, this delay data (value 130.89) is selected by the selector 44 and output as transfer data. Further, the OR gate 45 generates a transfer instruction flag according to the comparison flag (A ≦ C). In FIG. 3, the transfer instruction flag is input to the selector 51 to select the A input. Since the delay data (value 130.89) is input to the A input as transfer data, the value 130.89 is temporarily stored in the delay unit 52. Then, the filter processing as shown in FIG. 4D is performed, the value 134.82 is output as the output waveform data, and a new data value (259.71) is stored in the delay device 52. By this operation, as shown in (Table 4), the value of the output waveform data at time 1025Ts becomes the same data value as its expected value, and as a result, noise is prevented.

【0035】次に、音程を下げる場合について、図5及
び表5,表6を用いて説明する。音程を上げる場合と同
様に、データ記憶回路101の全体語長であるMAXad
r の値を2048、変動量ΔMを値0から0.03に変化させた
場合について説明するが、説明を簡単にする為に、処理
開始時間から1025サンプリング時間(1025Ts)の間は
変動量ΔMの値は0とした後に、変動量ΔMを値0.03と
した場合の動作について説明する。
Next, the case of lowering the pitch will be described with reference to FIG. 5 and Tables 5 and 6. As in the case of raising the pitch, MAXad which is the entire word length of the data storage circuit 101.
The case where the value of r is changed to 2048 and the fluctuation amount ΔM is changed from the value 0 to 0.03 will be described. However, in order to simplify the explanation, the value of the fluctuation amount ΔM from the processing start time to 1025 sampling time (1025Ts). The operation in the case where the variation amount ΔM is set to the value 0.03 after setting 0 is described.

【0036】まず、転送データ発生回路202が無い場
合は、図5(a),(b),(c)の動作となり、各種
データの値を表5に示す。
First, when the transfer data generating circuit 202 is not provided, the operation shown in FIGS. 5A, 5B and 5C is performed, and various data values are shown in Table 5.

【表5】 音程制御データKが指示されるとデータ記憶回路101
の記憶値は全てリセットされ、書込アドレスが指し示す
アドレスに入力波形データの値0が書き込まれ、読出ア
ドレスが指し示す番地に記憶された遅延データ(値0)
が全域通過フィルタ204の乗算器53にてフィルタ係
数C(値1)と乗算され、乗算結果(値0)が遅延器5
2に記憶されたデータ(値0)と加算器54にて加算さ
れ出力波形データとして出力される。又乗算器55にて
フィルタ係数Cの符号反転値(−1)と乗算された結果
(値0)が、加算器56にて遅延データ(値0)と加算
され、遅延器52に加算結果(値0)が代入され、書込
アドレスの値が1だけインクリメントされる(図5
(a)、表5参照)。このようにして図5(b)に示す
ような動作が行なわれることによって表5に示すような
出力波形データ値が得られる。しかし整数部int(M)が値
1057から値1058に切り替わった時点において、即ち表5
の時刻1058Tsにおいて、出力波形データの値がその期
待値である値4184.20 に対して大きくずれてしまう。
(値8188.86 となる)(図5(c)参照)。
[Table 5] When the pitch control data K is designated, the data storage circuit 101
All the stored values of are reset, the value 0 of the input waveform data is written to the address indicated by the write address, and the delay data (value 0) stored at the address indicated by the read address.
Is multiplied by the filter coefficient C (value 1) in the multiplier 53 of the all-pass filter 204, and the multiplication result (value 0) is added to the delay unit 5
The data (value 0) stored in 2 is added by the adder 54 and output as output waveform data. Further, the result (value 0) obtained by multiplying the sign inversion value (−1) of the filter coefficient C by the multiplier 55 is added to the delay data (value 0) by the adder 56, and the addition result ( The value 0) is substituted, and the value of the write address is incremented by 1 (see FIG. 5).
(A), see Table 5). By thus performing the operation as shown in FIG. 5B, output waveform data values as shown in Table 5 are obtained. However, the integer part int (M) is a value
At the time of switching from 1057 to the value 1058, that is, Table 5
At time 1058Ts, the value of the output waveform data deviates greatly from the expected value 4184.20.
(The value is 8188.86) (see FIG. 5 (c)).

【0037】このように整数部int(M)の切り替え時で生
じていたノイズを防止するために、図3の転送データ発
生回路203が全域通過フィルタ204の遅延器52に
記憶されたデータを値0にリセットする。即ち値0の転
送データを転送する。この動作を図3,図5(d)及び
表6を用いて説明する。
As described above, in order to prevent noise generated when the integer part int (M) is switched, the transfer data generating circuit 203 of FIG. 3 sets the data stored in the delay unit 52 of the all-pass filter 204 to a value. Reset to 0. That is, the transfer data having the value 0 is transferred. This operation will be described with reference to FIGS. 3 and 5D and Table 6.

【表6】 表6において整数部int(M)の切り替え時点は時刻1057T
sから時刻1058Tsに切り替わる時点である。このとき
図3の遅延器41には時刻1057Ts時の整数部int(M)の
値1024が記憶されており、新たに入力されてきた整数部
int(M)の値1025との減算が減算器42において実行され
る。この場合、減算器42の減算結果は値1となり、比
較器43においてA入力とB入力が一致する。従って比
較器43の比較フラグ(A≧B)がアクティブとなり、
セレクタ44がA入力(値0)を選択し、転送データと
して値0が出力される。又ORゲート45においては、
比較フラグ(A≧B)により転送指示フラグを発生す
る。図3において転送指示フラグがセレクタ51に入力
され、A入力を選択する。A入力には転送データとして
値0が入力されることになるので、遅延器52には一旦
値0が記憶される。そして図5(d)に示すようなフィ
ルタ処理がなされ、出力波形データとして値4019.04 が
出力されるとともに、遅延器52には新たなデータ値32
1.92が記憶される。この動作により、表6に示すよう
に、時刻1058Tsの出力波形データの値はその期待値と
ほぼ同じデータ値となり、結果としてノイズを防止する
こととなる。
[Table 6] In Table 6, the integer part int (M) is switched at time 1057T.
It is the time when the time changes from 10s to 1058Ts. At this time, the delay unit 41 in FIG. 3 stores the value 1024 of the integer part int (M) at time 1057 Ts, and the newly input integer part
Subtraction with the value 1025 of int (M) is performed in the subtractor 42. In this case, the subtraction result of the subtractor 42 has a value of 1, and the A input and the B input of the comparator 43 match. Therefore, the comparison flag (A ≧ B) of the comparator 43 becomes active,
The selector 44 selects the A input (value 0), and the value 0 is output as the transfer data. Further, in the OR gate 45,
A transfer instruction flag is generated according to the comparison flag (A ≧ B). In FIG. 3, the transfer instruction flag is input to the selector 51 to select the A input. Since the value 0 is input as the transfer data to the A input, the value 0 is temporarily stored in the delay device 52. Then, the filter processing as shown in FIG. 5D is performed, the value 4019.04 is output as the output waveform data, and a new data value 32 is output to the delay unit 52.
1.92 is stored. By this operation, as shown in Table 6, the value of the output waveform data at time 1058Ts becomes almost the same as its expected value, and as a result, noise is prevented.

【0038】以上のように本実施例によれば、遅延器を
データ記憶回路101と、全域通過フィルタ204の遅
延器52に分割し、音程変化(整数部int(M)の切り替え
点)に対応してデータ転送回路203がデータ記憶回路
101のデータを全域通過フィルタ204内の遅延器5
2に転送あるいは、値0にリセットしている。そのため
不要なノイズを発することなく、簡単な回路構成で入力
波形データに対し高域成分を遮断することなく音程に変
動を付加することができる。
As described above, according to the present embodiment, the delay device is divided into the data storage circuit 101 and the delay device 52 of the all-pass filter 204 to cope with the pitch change (the switching point of the integer part int (M)). Then, the data transfer circuit 203 transfers the data in the data storage circuit 101 to the delay unit 5 in the all-pass filter 204.
Transferred to 2 or reset to 0. Therefore, it is possible to add variation to the pitch of the input waveform data without interrupting high frequency components with a simple circuit configuration without generating unnecessary noise.

【0039】尚、本実施例においては双一次の全域通過
フィルタを用いたが2次、3次等の高次の全域通過フィ
ルタを用いても同様の効果が得られる。但し、高次の全
域通過フィルタを用いた場合においてはそのフィルタ内
の遅延器の数だけ遅延データを転送したり、値0にリセ
ットする必要がある。
In this embodiment, the bilinear first-order all-pass filter is used, but the same effect can be obtained by using a second-order, third-order, or other high-order all-pass filter. However, when a high-order all-pass filter is used, it is necessary to transfer the delay data by the number of delay devices in the filter or reset the value to zero.

【0040】[0040]

【発明の効果】以上のように本願の請求項1〜3の発明
によれば、入力波形データが指示されると、データ記憶
手段と、全域通過フィルタの遅延時間を決定し、データ
転送手段より音程に応じて全域通過フィルタ内の遅延器
データの転送、あるいは、値0にリセットすることにし
ている。そのため不要なノイズを発生することなく、出
力波形データの音程に対し、高域成分を遮断することな
くスムーズな音程変動を付加させことができる。したが
ってサンプリング周波数を低くしても、音色変化の少な
い音程変動を実現することができるという効果が得られ
る。
As described above, according to the first to third aspects of the present invention, when the input waveform data is designated, the delay time of the data storage means and the all-pass filter is determined, and the data transfer means determines the delay time. Depending on the pitch, the delay device data in the all-pass filter is transferred, or the value is reset to zero. Therefore, it is possible to add a smooth pitch change to the pitch of the output waveform data without generating unnecessary noise and without blocking the high frequency component. Therefore, even if the sampling frequency is lowered, there is an effect that it is possible to realize pitch change with little change in timbre.

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

【図1】本発明の一実施例による音程変動付加装置の全
体構成を示すブロック図である。
FIG. 1 is a block diagram showing an overall configuration of a pitch variation adding device according to an embodiment of the present invention.

【図2】本実施例における遅延制御回路及びアドレス発
生回路,データ記憶回路の構成を示すブロック図であ
る。
FIG. 2 is a block diagram showing a configuration of a delay control circuit, an address generation circuit, and a data storage circuit in this embodiment.

【図3】本実施例における転送データ発生回路及び全域
通過フィルタの構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a transfer data generation circuit and an all-pass filter according to the present embodiment.

【図4】変動量ΔMを値0から(−0.03)に変化させた
ときの本実施例の動作説明図であり、(a)は時刻0T
s目の動作説明図、(b)は時刻1024Ts目の動作説明
図、(c)は時刻1025Ts目の転送データ発生回路が無
い場合の動作説明図、(d)は時刻1025Ts目の転送デ
ータ発生回路を備えた場合の動作説明図である。
FIG. 4 is an operation explanatory diagram of the present embodiment when the variation amount ΔM is changed from a value 0 to (−0.03), in which (a) is time 0T.
s th operation explanation diagram, (b) operation explanation diagram at time 1024 Ts, (c) operation explanation diagram when there is no transfer data generation circuit at time 1025 Ts, (d) generation of transfer data at time 1025 Ts It is an operation explanatory view when it has a circuit.

【図5】変動量ΔMを値0から0.03に変化させたときの
本実施例の動作説明図であり、(a)は時刻0Ts目の
動作説明図、(b)は時刻1057Ts目の動作説明図、
(c)は時刻1058Ts目の転送データ発生回路が無い場
合の動作説明図、(d)は時刻1058Ts目の転送データ
発生回路を備えた場合の動作説明図である。
5A and 5B are operation explanatory diagrams of the present embodiment when the variation amount ΔM is changed from a value 0 to 0.03. FIG. 5A is an operation explanatory diagram at time 0Ts, and FIG. 5B is an operation explanation at time 1057Ts. Figure,
(C) is an operation explanatory diagram when there is no transfer data generation circuit at time 1058Ts, and (d) is an operation explanatory diagram when the transfer data generation circuit at time 1058Ts is provided.

【図6】(a)は入力波形データの時間波形図であり、
(b)は本実施例の転送データ発生回路が無い場合の音
程を上げたときの出力波形データの時間波形図である。
FIG. 6A is a time waveform diagram of input waveform data,
FIG. 6B is a time waveform chart of output waveform data when the pitch is raised without the transfer data generating circuit of this embodiment.

【図7】(a)は入力波形データの時間波形図であり、
(b)は本実施例の転送データ発生回路が無い場合の音
程を下げたときの出力波形データの時間波形図である。
FIG. 7A is a time waveform diagram of input waveform data,
FIG. 7B is a time waveform chart of output waveform data when the pitch is lowered in the case where the transfer data generating circuit of this embodiment is not provided.

【図8】(a)は入力波形データの時間波形図であり、
(b)は本実施例の転送データ発生回路を備えた本実施
例の音程を上げたときの出力波形データの時間波形図で
ある。
FIG. 8A is a time waveform diagram of input waveform data,
FIG. 6B is a time waveform chart of output waveform data when the pitch of the present embodiment provided with the transfer data generating circuit of the present embodiment is raised.

【図9】(a)は入力波形データの時間波形図であり、
(b)は本実施例の転送データ発生回路を備えた本実施
例の音程を上げたときの出力波形データの時間波形図で
ある。
9A is a time waveform diagram of input waveform data, FIG.
FIG. 6B is a time waveform chart of output waveform data when the pitch of the present embodiment provided with the transfer data generating circuit of the present embodiment is raised.

【図10】従来例における音程変動付加装置のブロック
図である。
FIG. 10 is a block diagram of a pitch variation adding device in a conventional example.

【図11】従来例における補間演算回路である。FIG. 11 is an interpolation calculation circuit in a conventional example.

【図12】従来例におけるアドレス発生回路図である。FIG. 12 is a diagram of an address generation circuit in a conventional example.

【図13】従来例における遅延制御回路である。FIG. 13 is a delay control circuit in a conventional example.

【図14】変動量ΔMを値0から(−0.03)に変化させ
たときの従来例の動作説明図であり、(a)は時刻0T
s目の動作説明図で、(b)は時刻1024Ts目の動作説
明図、(c)は時刻1025Ts目の動作説明図である。
FIG. 14 is an operation explanatory diagram of a conventional example when the variation amount ΔM is changed from a value 0 to (−0.03), in which (a) is time 0T.
In the s-th operation explanatory diagram, (b) is an operation explanatory diagram of a time 1024 Ts, and (c) is an operation explanatory diagram of a time 1025 Ts.

【図15】変動量ΔMを値0から0.03に変化させたとき
の従来例の動作説明図であり、(a)は時刻0Ts目の
動作説明図で、(b)は時刻1024Ts目の動作説明図、
(c)は時刻1025Ts目の動作説明図である。
FIG. 15 is an operation explanatory diagram of a conventional example when the variation amount ΔM is changed from a value 0 to 0.03, (a) is an operation explanatory diagram at time 0Ts, and (b) is an operation explanation at time 1024Ts. Figure,
(C) is an operation explanatory view at time 1025Ts.

【図16】(a)は入力データの時間波形図であり、
(b)は同従来例によって音程を上げた場合の出力波形
データの時間波形図である。
16A is a time waveform diagram of input data, FIG.
FIG. 9B is a time waveform chart of output waveform data when the pitch is raised according to the conventional example.

【図17】(a)は入力波形データの時間波形図であ
り、(b)は同従来例によって音程を下げた場合の出力
波形データの時間波形図である。
17A is a time waveform diagram of input waveform data, and FIG. 17B is a time waveform diagram of output waveform data when the pitch is lowered according to the conventional example.

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

11,12,33 レジスタ 13,22,42 減算器 14,15,53,55 乗算器 16,23,24,34,54,56 加算器 21 カウンタ 31,35 変換部 32,44,51 セレクタ 41,52 遅延器 43,51 比較器 45 ORゲート 101 データ記憶回路 201 遅延制御回路 202 アドレス発生回路 203 転送データ発生回路 204 全域通過フィルタ 11, 12, 33 Register 13, 22, 42 Subtractor 14, 15, 53, 55 Multiplier 16, 23, 24, 34, 54, 56 Adder 21 Counter 31, 35 Converter 32, 44, 51 Selector 41, 52 delay device 43, 51 comparator 45 OR gate 101 data storage circuit 201 delay control circuit 202 address generation circuit 203 transfer data generation circuit 204 all-pass filter

フロントページの続き (72)発明者 渡辺 公治 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 村木 健司 大阪府門真市大字門真1006番地 松下電器 産業株式会社内Front page continuation (72) Inventor Koji Watanabe 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. (72) Kenji Muraki, 1006 Kadoma, Kadoma City, Osaka Matsushita Electric Industrial Co., Ltd.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 入力波形データを所定時間遅延させ第1
の遅延データ及びその直前のアドレスの第2の遅延デー
タとして出力するデータ記憶手段と、 音程制御データに基づき算出される遅延段数Mの整数部
を前記データ記憶手段の遅延時間とする遅延制御手段
と、 前記遅延制御手段による遅延段数の整数部の値の減少時
にデータ記憶手段に記憶された第2の遅延データ、前記
遅延制御手段による遅延段数の整数部の値の増加時に値
0を転送データとする転送データ発生手段と、 前記転送データ発生手段より転送データがなければ前記
データ記憶手段の第1の遅延データ、前記転送データ発
生手段より転送データがあればその転送データを、前記
遅延制御手段より出力される遅延段数Mの小数部に対応
した時間遅延させ、出力波形データとして出力する全域
通過フィルタと、を具備することを特徴とする音程変動
付加装置。
1. A first delaying input waveform data for a predetermined time.
Data storage means for outputting as the second delay data and the second delay data of the address immediately before the delay data, and a delay control means for setting the integer part of the delay stage number M calculated based on the pitch control data as the delay time of the data storage means. The second delay data stored in the data storage means when the value of the integer part of the number of delay stages is decreased by the delay control means, and the value 0 is transferred data when the value of the integer part of the number of delay steps is increased by the delay control means. Transfer data generating means for transmitting the first delay data of the data storing means if there is no transfer data from the transfer data generating means, and the transfer data if there is transfer data from the transfer data generating means from the delay control means. An all-pass filter that delays the time corresponding to the fractional part of the output delay stage number M and outputs as output waveform data. Pitch fluctuation additional device to.
【請求項2】 前記遅延制御手段より出力される遅延段
数Mの整数部に対応したアドレス差を有する書込アドレ
ス及び第1の読出アドレスと、その読出アドレスに直前
の第2の読出アドレスとを発生し、前記データ記憶手段
に出力するアドレス発生手段と、を有することを特徴と
する請求項1記載の音程変動付加装置。
2. A write address and a first read address having an address difference corresponding to an integer part of the number M of delay stages output from the delay control means, and a second read address immediately preceding the read address. The pitch variation adding device according to claim 1, further comprising: address generating means for generating and outputting to the data storing means.
【請求項3】 前記遅延制御手段は、 入出力波形データの周波数比として定められる音声制御
データKが入力され、1からの音声制御データKの変化
分を遅延段数の変動量ΔMとして変換する第1の変換部
と、 初期動作時に初期値、その後にその直前の遅延段数Mを
前記第1の変換部より出力される変動量ΔMに加算する
ことにより新たな遅延段数Mを出力する第1の加算器
と、 前記第1の加算器より出力される遅延段数Mの小数部fr
ac(M) を次式 【数1】 によってフィルタ係数Cに変換する第2の変換部と、を
有するものであり、 前記アドレス発生手段は、 前記データ記憶回路の最大アドレスから前記遅延制御手
段より出力される遅延段数Mの整数部int(M)を減算する
減算器と、 システムクロックによってインクリメントされその計数
値を書込アドレスとするカウンタと、 前記カウンタの計数値に前記減算器の出力を加算し第1
の読出アドレスとする第2の加算器と、 前記第2の加算器より得られる読出アドレスに−1を加
算することによって第1の読出アドレスの直前のアドレ
スを第2の読出アドレスとする第3の加算器と、を有す
るものであり、 前記転送データ発生手段は、 前記遅延制御手段より得られる遅延段数Mの整数部の値
が減少した場合に前記第2の読出アドレスによって読出
された前記データ記憶手段の第2の遅延データを選択
し、増加した場合に値0を選択して転送データとして出
力するものであり、 前記全域通過フィルタは、 前記遅延段数の変化毎に前記転送データ発生回路より第
1の入力端に入力された転送データを選択し、変化がな
いときに第2の入力端に入力されたデータを選択するセ
レクタと、 前記セレクタの出力を1システムクロック分遅延させる
遅延器と、 前記データ記憶手段より前記第1の読出アドレスから読
出された第1の遅延データと前記遅延制御手段より得ら
れるフィルタ係数Cとを乗算する第1の乗算器と、 前記遅延器及び第1の乗算器の出力を加算し出力データ
とする第4の加算器と、 前記第4の加算器の出力とフィルタ係数の符号反転値−
Cを乗算する第2の乗算器と、 前記第2の乗算器の出力と前記データ記憶手段の第1の
読出アドレスより読出された第1の遅延データとを加算
し、前記セレクタに第2の入力として与える第5の加算
器と、を有するものであることを特徴とする請求項2記
載の音程変動付加装置。
3. The delay control means receives voice control data K defined as a frequency ratio of input / output waveform data, and converts a change amount of the voice control data K from 1 as a variation amount ΔM of the number of delay stages. The first conversion unit outputs a new delay stage number M by adding an initial value during the initial operation and the delay stage number M immediately before that to the fluctuation amount ΔM output from the first conversion unit. An adder and a fractional part fr of the delay stage number M output from the first adder
Ac (M) is calculated by the following equation [Formula 1] And a second conversion unit for converting into a filter coefficient C by the address generation unit, and the address generation unit outputs an integer part int (int ( A subtractor for subtracting M), a counter incremented by the system clock and having the count value as a write address, and an output of the subtractor for addition to the count value of the counter
Second read address, and a third read address obtained by the second adder by adding -1 to the address immediately before the first read address as the second read address. The transfer data generating means is configured to add the data read by the second read address when the value of the integer part of the delay stage number M obtained by the delay control means decreases. The second delay data of the storage means is selected, and when the second delay data is increased, a value of 0 is selected and output as transfer data. The all-pass filter is provided by the transfer data generating circuit every time the number of delay stages changes. A selector that selects the transfer data input to the first input terminal and selects the data input to the second input terminal when there is no change, and the output of the selector is one system clock. A delay unit for delaying by a minute, a first multiplier for multiplying the first delay data read from the first read address by the data storage unit and a filter coefficient C obtained by the delay control unit, A fourth adder for adding the outputs of the delay device and the first multiplier to obtain output data; an output of the fourth adder and a sign inversion value of the filter coefficient−
A second multiplier for multiplying C, an output of the second multiplier and the first delay data read from the first read address of the data storage means are added, and the second selector is added to the selector. The pitch variation adding device according to claim 2, further comprising a fifth adder provided as an input.
JP5261519A 1993-09-24 1993-09-24 Interval variation adding device Pending JPH0792970A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5261519A JPH0792970A (en) 1993-09-24 1993-09-24 Interval variation adding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5261519A JPH0792970A (en) 1993-09-24 1993-09-24 Interval variation adding device

Publications (1)

Publication Number Publication Date
JPH0792970A true JPH0792970A (en) 1995-04-07

Family

ID=17363035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5261519A Pending JPH0792970A (en) 1993-09-24 1993-09-24 Interval variation adding device

Country Status (1)

Country Link
JP (1) JPH0792970A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023046241A (en) * 2021-09-21 2023-04-03 カシオ計算機株式会社 Musical signal generator, electronic device, method of generating musical signals, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023046241A (en) * 2021-09-21 2023-04-03 カシオ計算機株式会社 Musical signal generator, electronic device, method of generating musical signals, and program

Similar Documents

Publication Publication Date Title
JP2623942B2 (en) Music signal generator
JPH0792995A (en) Signal processing system for performing real-time pitch shifting and method thereof
US5687240A (en) Method and apparatus for processing discontinuities in digital sound signals caused by pitch control
JP3435168B2 (en) Pitch control device and method
US5243658A (en) Modulation effect adding apparatus
JPH0792970A (en) Interval variation adding device
JPS6337969B2 (en)
JPH04116598A (en) Musical sound signal generation device
JP3777923B2 (en) Music signal synthesizer
JP3539164B2 (en) Waveform generator
JP2643717B2 (en) Music synthesizer
JPH0612863B2 (en) Tone controller for sampled data
JP2790066B2 (en) Tone signal generator and waveform memory read-out interpolator
JP2668676B2 (en) Filter parameter supply device
JP3743625B2 (en) Variable delay device
JP3258938B2 (en) Decimation filter
JP3223555B2 (en) Waveform reading device
JPS61120199A (en) Musical sound generator
JP2671648B2 (en) Digital data interpolator
JP3480063B2 (en) Music synthesizer
JP3534403B2 (en) Pitch control device and method
JPH0816178A (en) Key control device
JP3097324B2 (en) Digital sound data output device
JPH0955662A (en) Signal delay device and signal delay method
JPH0410079B2 (en)