JPH08202370A - Musical sound synthesizer - Google Patents
Musical sound synthesizerInfo
- Publication number
- JPH08202370A JPH08202370A JP7013913A JP1391395A JPH08202370A JP H08202370 A JPH08202370 A JP H08202370A JP 7013913 A JP7013913 A JP 7013913A JP 1391395 A JP1391395 A JP 1391395A JP H08202370 A JPH08202370 A JP H08202370A
- Authority
- JP
- Japan
- Prior art keywords
- data
- delay
- circuit
- pass filter
- time
- 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
Links
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ディジタル電子回路を
用い、特に波形データに時間遅延を与えることにより楽
音を合成する楽音合成装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical tone synthesizer for synthesizing musical tones by applying a time delay to waveform data using a digital electronic circuit.
【0002】[0002]
【従来の技術】従来より電子キーボードやシンセサイザ
の音源方式が種々開発されており、近年のデジタル技術
のめざましい進歩とともに音源方式に基づく高品質な楽
音合成装置が数多く開発されてきている。その中におい
て音源方式が提案されてきており(例えば特願平5−5
4544号公報)、音源方式はハードウェアに近い形で
紹介されているので、デジタル電子回路を用いて楽音合
成装置として実現することは容易である。以下図面をみ
ながら上述した音源方式に基づく楽音合成装置について
説明する。2. Description of the Related Art Conventionally, various sound source systems for electronic keyboards and synthesizers have been developed, and with the remarkable progress of digital technology in recent years, many high-quality tone synthesizers based on the sound source systems have been developed. Among them, a sound source method has been proposed (for example, Japanese Patent Application No. 5-5
No. 4544), the sound source system is introduced in a form similar to hardware, and therefore it is easy to realize it as a musical sound synthesizer using a digital electronic circuit. A musical tone synthesizer based on the above-described sound source system will be described below with reference to the drawings.
【0003】図3は従来の楽音合成装置の構成を示すブ
ロック図である。図3において、101は発音開始デー
タが入力された時点から駆動データを発生する駆動デー
タ発生回路、107は駆動データ発生回路101から出
力された駆動データと全域通過フィルタ103で出力さ
れた合成データとの加算を行なう加算器、102は加算
器107の加算結果である加算データを書き込みアドレ
スの示すアドレスに書き込み、読み出しアドレスが示す
アドレスのデータを読み出して遅延データとして出力す
るデータ記憶回路、103はデータ記憶回路102から
出力された遅延データを所定時間遅延させた後に合成デ
ータとして出力する全域通過フィルタ、104は合成デ
ータの音高を駆動データに対してどれだけ変更するかの
比率を表す音程指示データKに基づいてデータ記憶回路
102の遅延時間と全域通過フィルタ103の遅延時間
を制御する為の整数部分(整数部int(M)=オフセットデ
ータ)と小数部分(小数部frac(M))との和Mを発生す
る遅延制御回路、105は発音開始データが入力された
時点で書き込みアドレスを値0にリセットし更に書き込
みアドレスと読み出しアドレスの差が遅延制御回路10
4で決定されたオフセットデータとなる様に読み出しア
ドレスの設定を行い、その後システムクロックψの発生
タイミングで書き込みアドレスと読み出しアドレスのイ
ンクリメント動作を行なうアドレス発生回路、106は
データ記憶回路102に記憶されたデータ或いは値0を
全域通過フィルタ103に転送する転送データ発生回路
である。FIG. 3 is a block diagram showing the configuration of a conventional musical sound synthesizer. In FIG. 3, 101 is a drive data generation circuit that generates drive data from the time when tone generation start data is input, 107 is the drive data output from the drive data generation circuit 101, and the combined data output from the all-pass filter 103. Is a data storage circuit for writing the addition data, which is the addition result of the adder 107, to the address indicated by the write address, reading the data at the address indicated by the read address and outputting it as delay data, and 103 for the data An all-pass filter that delays the delay data output from the storage circuit 102 for a predetermined time and then outputs the resultant as synthetic data, and 104 is pitch instruction data that represents a ratio of how much the pitch of the synthetic data is changed with respect to the drive data. Based on K, the delay time of the data storage circuit 102 and the all-pass fill A delay control circuit for generating a sum M of an integer part (integer part int (M) = offset data) and a decimal part (fractional part frac (M)) for controlling the delay time of 103, and 105 is the sound generation start data. When input, the write address is reset to 0, and the difference between the write address and the read address is delayed by the delay control circuit 10.
An address generation circuit for setting a read address so as to obtain the offset data determined in step 4, and thereafter performing an increment operation of the write address and the read address at the generation timing of the system clock ψ, 106 is stored in the data storage circuit 102. A transfer data generation circuit that transfers data or a value 0 to the all-pass filter 103.
【0004】尚、音程指示データKと駆動データの周波
数f0と合成データ周波数f1の関係を(数1)に、遅
延段数Mと遅延時間の和Dの関係を(数2)に、整数部
int(M)とデータ記憶回路102の遅延時間であるDMと
の関係を(数3)に、小数部frac(M)と全域通過フィル
タの遅延時間であるDAの関係を(数4)に示す。Note that the relationship between the pitch instruction data K, the frequency f0 of the drive data, and the synthesized data frequency f1 is expressed in (Equation 1), the relationship between the number of delay stages M and the sum D of the delay times is expressed in (Equation 2), and the integer part
The relationship between int (M) and the delay time DM of the data storage circuit 102 is shown in (Equation 3), and the relationship between the decimal part frac (M) and the delay time DA of the all-pass filter is shown in (Equation 4). .
【0005】[0005]
【数1】 [Equation 1]
【0006】[0006]
【数2】 [Equation 2]
【0007】[0007]
【数3】 (Equation 3)
【0008】[0008]
【数4】 [Equation 4]
【0009】図4は駆動データ発生回路101の回路を
示すものである。図4において11は、発音開始データ
が指示された時点においてカウント値(アドレス)をリ
セットし、その後システムクロックφに応じてアドレス
をインクリメントするカウンタ、12は予め駆動データ
を記憶した読み出し専用メモリ(以下ROMと記す)で
ある。尚、ROM12は0〜127番地の128番地分
のアドレス領域を有しており、127番地には必ず値0
が格納されているものとする。又カウンタ11はアドレ
スが127になった時点でアドレスインクリメントを停
止し、アドレス127にホールドする。FIG. 4 shows a circuit of the drive data generating circuit 101. In FIG. 4, 11 is a counter that resets the count value (address) at the time when the tone generation start data is instructed and then increments the address according to the system clock φ, and 12 is a read-only memory (hereinafter referred to as a read-only memory that stores drive data). ROM)). It should be noted that the ROM 12 has an address area for 128 addresses from 0 to 127, and the value 0 is always 0 at 127.
Is stored. Further, the counter 11 stops the address increment when the address reaches 127 and holds it at the address 127.
【0010】図5は全域通過フィルタ103の回路図を
示すものである。図5において21は、転送指示データ
に従ってA入力又はB入力を選択的に出力するセレク
タ、22はセレクタ21から出力されたデータを1シス
テムクロックψに相当する時間即ち、1サンプリング時
間Ts分遅延させる遅延器、23はデータ記憶回路10
2から出力された遅延データと遅延制御回路104から
出力されたフィルタ係数Cとの乗算を行う乗算器、24
は遅延器22から出力されたデータと、乗算器23から
出力された乗算結果との加算を行い、加算結果を合成デ
ータとして出力する加算器、25は、合成データとフィ
ルタ係数Cの反転値(−C)との乗算を行う乗算器、2
6は遅延データと乗算器25の乗算結果との加算を行う
加算器である。FIG. 5 is a circuit diagram of the all-pass filter 103. In FIG. 5, reference numeral 21 denotes a selector that selectively outputs the A input or the B input according to the transfer instruction data, and 22 delays the data output from the selector 21 by a time corresponding to one system clock ψ, that is, one sampling time Ts. The delay device 23 is a data storage circuit 10
24, a multiplier for multiplying the delay data output from 2 and the filter coefficient C output from the delay control circuit 104;
Is an adder that adds the data output from the delay unit 22 and the multiplication result output from the multiplier 23 and outputs the addition result as combined data, and 25 is the inverted value of the combined data and the filter coefficient C ( Multiplier for multiplying with -C), 2
An adder 6 adds the delay data and the multiplication result of the multiplier 25.
【0011】図6は遅延制御回路104の回路図を示す
ものである。図6において31は音程指示データKが入
力されると(数5)の変換式により、データ記憶回路1
02の遅延段数であるオフセットデータ(整数部int
(M))と、全域通過フィルタ103の遅延時間長となる
フィルタ係数Cを求め、この遅延段数の和であるMの変
動量ΔMを求める変換テーブルである。FIG. 6 is a circuit diagram of the delay control circuit 104. In FIG. 6, numeral 31 indicates the data storage circuit 1 by the conversion formula of (Equation 5) when the pitch instruction data K is input.
Offset data that is the number of delay stages of 02 (integer part int
(M)) and a filter coefficient C that is the delay time length of the all-pass filter 103, and is a conversion table for obtaining the variation amount ΔM of M that is the sum of the number of delay stages.
【0012】[0012]
【数5】 (Equation 5)
【0013】32は、データ記憶回路102のアドレス
の全体語長であるMAX_ADRの半分の値或いは、加
算器34の加算結果を選択するセレクタ、33はセレク
タ32から出力されたデータを保持するレジスタ、34
はレジスタ33が保持しているデータと変換テーブル3
1から出力された変動量ΔMとを加算し、遅延段数Mを
きめる加算器である。35は(数6)により遅延段数の
和であるMの小数部=frac(M)を全域通過フィルタ10
3の遅延時間長となるフィルタ係数Cに変換する変換テ
ーブルである。Reference numeral 32 is a selector for selecting the half value of MAX_ADR which is the entire word length of the address of the data storage circuit 102 or the addition result of the adder 34, 33 is a register for holding the data output from the selector 32, 34
Is the data held in the register 33 and the conversion table 3
This is an adder that adds the fluctuation amount ΔM output from 1 to determine the delay stage number M. In the whole pass filter 35, the fractional part of M, which is the sum of the number of delay stages = frac (M)
It is a conversion table for converting into a filter coefficient C having a delay time length of 3.
【0014】[0014]
【数6】 (Equation 6)
【0015】又、セレクタ32により遅延段数の和であ
るMは、(数7)又は(数8)のどちらかの演算に基づ
き算出される。Further, M, which is the sum of the number of delay stages, is calculated by the selector 32 based on the operation of either (Equation 7) or (Equation 8).
【0016】[0016]
【数7】 (Equation 7)
【0017】[0017]
【数8】 (Equation 8)
【0018】図7は、アドレス発生回路105の回路図
である。41は発音開始データが指示された時点におい
て、カウント値(書き込みアドレス)をリセットし、そ
の後システムクロックψの発生タイミングに応じてデー
タ記憶回路102の書き込みアドレスをインクリメント
するカウンタ、42はオフセットデータ(整数部int
(M))と、データ記憶回路102のアドレスの全体語長
であるMAX_ADRとの減算を行う減算器、43はカ
ウンタ41がカウントする書き込みアドレスと、減算器
42の減算データとの加算を行う加算器である。FIG. 7 is a circuit diagram of the address generation circuit 105. Reference numeral 41 is a counter that resets the count value (write address) at the time when the tone generation start data is instructed, and then increments the write address of the data storage circuit 102 according to the generation timing of the system clock ψ, and 42 is offset data (integer Part int
(M)) and MAX_ADR, which is the entire word length of the address of the data storage circuit 102, and 43 is an adder that adds the write address counted by the counter 41 and the subtracted data of the subtractor 42. It is a vessel.
【0019】図8は、転送データ発生回路106の回路
図を示すものである。図8において、51は遅延制御回
路104から出力されたオフセットデータ(整数部int
(M))を1システムクロックψに相当する時間即ち、1
サンプリング時間Ts分遅延させる遅延器、52は遅延
制御回路104から出力されたオフセットデータ(整数
部int(M))から遅延器51の出力を減算する減算器、5
3は減算器52の出力データ(A入力)に対し、B入力
(1.0)及びC入力(-1.0)との比較を行う比較器、5
4は比較器53の出力に従ってA入力又は、B入力を選
択し出力するセレクタ、55は比較器53から入力され
る値を転送指示データとして出力するORゲートであ
る。FIG. 8 is a circuit diagram of the transfer data generating circuit 106. In FIG. 8, 51 is the offset data output from the delay control circuit 104 (integer part int
(M)) is the time corresponding to one system clock ψ, that is, one
A delay device for delaying the sampling time Ts, 52 is a subtracter for subtracting the output of the delay device 51 from the offset data (integer part int (M)) output from the delay control circuit 104, 5
3 is a comparator for comparing the output data (A input) of the subtracter 52 with the B input (1.0) and the C input (-1.0), and 5
Reference numeral 4 is a selector that selects and outputs the A input or the B input according to the output of the comparator 53, and 55 is an OR gate that outputs the value input from the comparator 53 as transfer instruction data.
【0020】以上のように構成された従来の楽音合成装
置について以下にその動作について説明する。The operation of the conventional tone synthesizing apparatus configured as described above will be described below.
【0021】音程指示データKが指示されると、遅延制
御回路104のセレクタ32ではデータ記憶回路102
の全体語長MAX_ADRの半分の値を選択し、以後は
遅延段数M(=遅延時間T)を選択する。レジスタ33
ではセレクタ32が選択したデータを保持し、加算器3
4にてレジスタ33が保持しているデータと変換テーブ
ル31から出力された変動量ΔMを加算することによ
り、遅延段数Mを算出し、Mの整数部をオフセットデー
タとして出力、更に小数部frac(M)を変換テーブル35
にて(数6)により全域通過フィルタ103のフィルタ
係数Cとして出力する。When the pitch designation data K is designated, the selector 32 of the delay control circuit 104 causes the data storage circuit 102 to operate.
A half value of the entire word length MAX_ADR is selected, and thereafter, the number of delay stages M (= delay time T) is selected. Register 33
Then, the data selected by the selector 32 is held and the adder 3
In step 4, the number of delay stages M is calculated by adding the variation amount ΔM output from the conversion table 31 to the data held in the register 33, the integer part of M is output as offset data, and the decimal part frac ( M) to conversion table 35
Is output as the filter coefficient C of the all-pass filter 103 according to (Equation 6).
【0022】アドレス発生回路105は、発音開始デー
タが入力された時点においてカウンタ41のカウント値
である書き込みアドレスを値0にリセットし、サンプリ
ング周期Ts毎にアドレスをインクリメントしながらデ
ータ記憶回路102の書き込みアドレスとして出力す
る。減算器42においてデータ記憶回路102の全体語
長であるMAX_ADRから整数部int(M)を減算した結
果と書き込みアドレスとを加算し、読み出しアドレスと
して出力する。なお、整数部int(M)は読み出しアドレス
に対して書き込みアドレスが先行している語長幅に相当
するもので、結果的にデータ記憶回路102の遅延段数
となる。又、小数部frac(M)は全域通過フィルタ103
の遅延段数になる。データ記憶回路102において、発
音開始データが指示されるとまず、データ記憶回路10
2に記憶されている値を全て0にリセットし、加算デー
タをアドレス発生回路105が指し示す、書き込みアド
レスに加算データを書き込み、読み出しアドレスが指し
示す値を読み出し、遅延データとして出力する。全域通
過フィルタ103においては、遅延データとフィルタ係
数Cとを乗算し、この乗算結果と遅延器22の値との加
算結果を合成データとして出力する。他方において加算
結果をフィルタ係数Cの符号反転値と乗算し、乗算結果
をデータ記憶回路102から出力された遅延データと加
算し、遅延器22に書き込む。全域通過フィルタ103
から出力されたデータは、合成データとして出力される
とともに、加算器107へ駆動データとの加算値として
出力される。The address generation circuit 105 resets the write address, which is the count value of the counter 41, to the value 0 when the tone generation start data is input, and writes the data in the data storage circuit 102 while incrementing the address every sampling cycle Ts. Output as an address. The subtracter 42 adds the result obtained by subtracting the integer part int (M) from MAX_ADR, which is the entire word length of the data storage circuit 102, and the write address, and outputs it as a read address. The integer part int (M) corresponds to the word length width in which the write address precedes the read address, and consequently becomes the number of delay stages of the data storage circuit 102. Also, the fractional part frac (M) is an all-pass filter 103.
It becomes the number of delay stages. In the data storage circuit 102, when the tone generation start data is instructed, first, the data storage circuit 10
All the values stored in 2 are reset to 0, the addition data is indicated by the address generation circuit 105, the addition data is written to the write address, the value indicated by the read address is read, and the delayed data is output. The all-pass filter 103 multiplies the delay data and the filter coefficient C, and outputs the addition result of this multiplication result and the value of the delay device 22 as combined data. On the other hand, the addition result is multiplied by the sign inversion value of the filter coefficient C, the multiplication result is added with the delay data output from the data storage circuit 102, and the result is written in the delay unit 22. All-pass filter 103
The data output from is output as combined data, and is also output to the adder 107 as an addition value with the drive data.
【0023】以上のようにして駆動データは、加算器1
07とデータ記憶回路102と全域通過フィルタ103
とから形成されるループを巡回するので、合成楽音デー
タとして出力される。As described above, the driving data is added to the adder 1
07, the data storage circuit 102, and the all-pass filter 103
Since it loops through the loop formed by and, it is output as synthesized tone data.
【0024】以上の動作についてデータ記憶回路102
とデータ転送回路12の動作について実際の駆動波形デ
ータ(図9、(表1)、(表2))を用いながら詳細に
説明をつけ加える。ここでデータ記憶回路102の全体
語長であるMAX_ADRを2048、変動量ΔMを値
0から(−0.03)に変化させた場合について説明す
るが、説明を簡単にする為、処理開始時間から1024
Tsサンプリング(1024Ts)分は変動量ΔMは0
とした後に、変動量ΔMを値(−0.03)として音程
を上げた場合の動作について図9と(表1)(表2)を
用いて説明する。Regarding the above operation, the data storage circuit 102
The operation of the data transfer circuit 12 will be described in detail with reference to actual drive waveform data (FIG. 9, (Table 1), (Table 2)). Here, a case will be described in which MAX_ADR, which is the entire word length of the data storage circuit 102, is changed to 2048, and the variation amount ΔM is changed from the value 0 to (−0.03). 1024
The fluctuation amount ΔM is 0 for the Ts sampling (1024 Ts).
After that, the operation when the pitch is raised by setting the variation amount ΔM to a value (−0.03) will be described with reference to FIG. 9 and (Table 1) (Table 2).
【0025】[0025]
【表1】 [Table 1]
【0026】[0026]
【表2】 [Table 2]
【0027】まず、音程指示データKが指示されると、
即ちサンプリング時間が0Tsの時、データ記憶回路1
02の記憶値は(値0)に全てリセットされ、書き込み
アドレスが指し示すアドレスに駆動波形データの値0が
書き込まれ、読み出しアドレスが指し示す番地に記憶さ
れた遅延データ(値0)が全域通過フィルタ103の乗
算器54にてフィルタ係数C(値1)と乗算され、乗算
結果(値0)が遅延器22に記憶されたデータ(値0)
と加算器24にて加算されて、合成データとして出力さ
れる(図9(a)、(表1)(表2)の時刻0Ts参
照)。また乗算器25にてフィルタ係数Cの符号反転値
(値(−1))と乗算された結果(値0)が、加算器2
6にて遅延データの値0と加算され、遅延器22に加算
結果(値0)が代入され、書き込みアドレスの値が1だ
けインクリメントされる(図9(a)、(表1)(表2)
の時刻0Ts参照)。このような動作が行なわれること
によって(図9(a),(b)、(表1)(表2)の時刻0T
s〜1024Ts)に示すような合成データ値が得られ
る。更に音程の切り換え時、即ち、サンプリング時間が
1024Tsから1025Tsへの切り替わり時(整数
部int(M)が値1024から値1023に切り替わった時
点)においては、(図9(d)、(表2)の時刻1025
Ts参照。)において、転送データ発生回路106が図
5の全域通過フィルタの遅延器22に転送データ(値1
30.89)を転送する事で整数部int(M)の切り換え時
に生じていたノイズを除去しながら、(図11)が示す
ように入力された駆動データに対して、音程が上がって
いることがわかる。First, when the pitch designation data K is designated,
That is, when the sampling time is 0Ts, the data storage circuit 1
The stored values of 02 are all reset to (value 0), the value 0 of the drive 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 passed through the all-pass filter 103. Is multiplied by the filter coefficient C (value 1) in the multiplier 54 and the multiplication result (value 0) is stored in the delay device 22 (value 0).
Is added by the adder 24 and output as combined data (see time 0Ts in (Table 1) and (Table 2) of FIG. 9A). Further, the result (value 0) obtained by multiplying the sign inversion value (value (−1)) of the filter coefficient C by the multiplier 25 is the adder 2
At 6, the delay data value 0 is added, the addition result (value 0) is assigned to the delay unit 22, and the write address value is incremented by 1 (FIG. 9 (a), (Table 1) (Table 2). )
Time 0Ts). By performing such an operation, the time 0T in (FIGS. 9 (a), (b), (Table 1) and (Table 2))
s to 1024 Ts) is obtained as a composite data value. Further, when the pitch is switched, that is, when the sampling time is switched from 1024Ts to 1025Ts (when the integer part int (M) is switched from the value 1024 to the value 1023) (Fig. 9 (d), (Table 2)). At time 1025
See Ts. ), The transfer data generation circuit 106 transfers the transfer data (value 1) to the delay unit 22 of the all-pass filter in FIG.
(30.89) is transferred to remove the noise generated when the integer part int (M) is switched, and the pitch is increased with respect to the input drive data as shown in (FIG. 11). I understand.
【0028】尚、(図9(c)、(表1)の時刻1025
Ts時)は、転送データ発生回路106が無い場合の動
作を表したもので、音程の切り替え時、即ち整数部int
(M)が値1024から値1023に切り替わった時点に
おいて、出力波形は、期待値(値134.82)に対
し、(値3.98)と大きくずれ、このズレがノイズと
なって出力される(図10参照)。この期待値とは、切
り替わり時に本来読み出したいデータ(値130.8
9)を読み出した時に出力されるべき値である。また、
この時の転送データは、読み出しアドレスが指示するア
ドレスの一番地手前に記憶されているデータ、つまり音
程切り替わり時に読み飛ばされた値であるものとする。Incidentally, the time 1025 in (FIG. 9 (c), (Table 1))
Ts) represents the operation in the case where the transfer data generating circuit 106 is not provided, and when the pitch is switched, that is, the integer part int
At the time when (M) switches from the value 1024 to the value 1023, the output waveform deviates greatly from the expected value (value 134.82) to (value 3.98), and this deviation is output as noise. (See Figure 10). This expected value is the data (value 130.8
This is the value that should be output when 9) is read. Also,
The transfer data at this time is assumed to be the data stored in the foreground of the address designated by the read address, that is, the value skipped when the pitch is changed.
【0029】[0029]
【発明が解決しようとする課題】しかしながら上記の構
成では、音程を上げる場合においてデータ記憶回路10
2のメモリアクセス時に、1サンプルの楽音データを処
理する時に必要なメモリアクセス回数が、読み出しア
ドレスが指し示す番地から読出す。整数部int(M)が切
り替わった時に、指し示す一つ前の番地の値を読み出
す。書き込みアドレスが指し示す番地に駆動波形を書
き込む。と言うように3回必要であった。これでは複数
音の時分割処理をサンプリング時間Tsに従うことなく
連続的で滑らかな楽音の合成を実現することを目的とし
た楽音合成装置において、メモリアクセス回数がネック
となって時分割処理にも制限が生じていた。However, in the above configuration, the data storage circuit 10 is used when the pitch is raised.
At the time of memory access of 2, the number of memory accesses required when processing one sample of musical tone data is read from the address indicated by the read address. When the integer part int (M) is switched, the value of the previous address pointed to is read out. Write the drive waveform to the address indicated by the write address. It was necessary three times to say. In this case, in a musical tone synthesizing device intended to realize continuous and smooth synthesis of musical tones without following the sampling time Ts in time-divisional processing of a plurality of sounds, the number of memory accesses becomes a bottleneck and the time-division processing is also limited. Was occurring.
【0030】[0030]
【課題を解決するための手段】以上のような従来例の課
題を解決するために本発明の楽音合成装置は、発音開始
指示により駆動データを発生する駆動データ発生手段
と、駆動データと合成データとを加算する加算手段と、
加算手段の加算結果を一時記憶し、所定時間遅延させた
後に遅延データとして出力するデータ記憶手段と、遅延
データを所定時間遅延させ合成データとして出力する全
域通過フィルタと、音程指示に基づきデータ記憶手段と
全域通過フィルタの遅延時間を決定する遅延制御手段
と、データ記憶手段に記憶されたデータを一時保存し、
全域通過フィルタに転送する補間演算手段とを備えてい
る。In order to solve the above-mentioned problems of the conventional example, the musical tone synthesizing apparatus of the present invention is a driving data generating means for generating driving data in response to a sounding start instruction, and driving data and synthetic data. Adding means for adding and
A data storage means for temporarily storing the addition result of the addition means and outputting it as delay data after delaying it by a predetermined time, an all-pass filter for delaying the delay data for a predetermined time and outputting it as synthesized data, and a data storage means based on the pitch instruction. And delay control means for determining the delay time of the all-pass filter, and temporarily storing the data stored in the data storage means,
And an interpolation calculation means for transferring to the all-pass filter.
【0031】[0031]
【作用】上記の構成により、音程を上げた場合の整数部
int(M)の切り替え時において、簡単な構成で、新たにデ
ータ記憶回路から読み出した値と補間演算回路に一時保
存した値との補間演算を行い、全域通過フィルタの遅延
器に補間データとして転送するので滑らかな波形が合成
されることとなる。[Operation] With the above configuration, the integer part when the pitch is raised
When switching int (M), with a simple configuration, the value newly read from the data storage circuit and the value temporarily stored in the interpolation calculation circuit are interpolated and transferred to the delay unit of the all-pass filter as interpolation data. Therefore, a smooth waveform is synthesized.
【0032】[0032]
【実施例】以下、本発明の実施例について図面を参照し
ながら説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0033】図1は本発明の楽音合成装置の構成を示す
ブロック図である。図1において201は補間演算回路
である。尚、その他のブロックは従来例の構成と同じも
のである。FIG. 1 is a block diagram showing the configuration of the musical sound synthesizer of the present invention. In FIG. 1, 201 is an interpolation calculation circuit. The other blocks have the same structure as the conventional example.
【0034】図2は補間演算回路201の回路図を示す
ものである。図2において61はデータ記憶回路102
から出力された遅延データを一時遅延させる遅延器、6
2はデータ記憶回路102から出力された遅延データ
と、遅延器61から出力された遅延データとを加算する
加算器、63は加算器62から出力された加算データの
半分の値を抽出する為に、2分の1の値を乗算する乗算
器である。FIG. 2 is a circuit diagram of the interpolation calculation circuit 201. In FIG. 2, 61 is a data storage circuit 102.
Delay device for temporarily delaying the delay data output from the device, 6
2 is an adder for adding the delay data output from the data storage circuit 102 and the delay data output from the delay device 61, and 63 is for extracting half the value of the addition data output from the adder 62. It is a multiplier that multiplies a half value.
【0035】以上のように構成された楽音合成装置につ
いて動作説明する。基本的な動作は従来の楽音合成装置
(図3)と同様であるので相違点のみについて説明す
る。相違点は、音程を上げた場合の整数部int(M)を切り
替え時に、ノイズ(1サンプル分のデータ落ち)を除去
するために用いている転送データ発生回路106の代わ
りに補間演算回路201において、整数部int(M)が切り
替わる、即ち、オフセットデータの値が切り替わると、
データ記憶回路102から出力された遅延データと補間
演算回路201内の遅延器61に保存されている遅延デ
ータ(整数部int(M)が切り替わる前にデータ記憶回路1
02から読み出された値)とを加算し、乗算器63に
て、その加算データの半分の値(1/2)を算出し、こ
の乗算データを補間データとして全域通過フィルタ10
3の遅延器に転送することで、データ落ちを補いながら
補間演算回路201に一時保存されてデータ(整数部in
t(M)が切り替わる前に、データ記憶回路102から読み
出された値)を用いるので、1サンプルを算出する為に
必要なデータ記憶回路からの読み出しは1回だけです
み、従来の転送データ発生回路106を用いた場合の読
み出し回数(3回)より少なくなる。The operation of the musical tone synthesizing apparatus configured as described above will be described. Since the basic operation is the same as that of the conventional tone synthesizer (FIG. 3), only the differences will be described. The difference is that in the interpolation calculation circuit 201, instead of the transfer data generation circuit 106 used to remove noise (data loss for one sample) when switching the integer part int (M) when the pitch is raised. , The integer part int (M) is switched, that is, the value of the offset data is switched,
The delay data output from the data storage circuit 102 and the delay data stored in the delay device 61 in the interpolation calculation circuit 201 (the data storage circuit 1 before the integer part int (M) is switched)
The value read from 02) is added, and the multiplier 63 calculates a half value (1/2) of the added data, and this multiplied data is used as interpolation data to obtain the all-pass filter 10
Data is temporarily stored in the interpolation calculation circuit 201 while compensating for data loss by transferring the data (integer part in
Since the value read from the data storage circuit 102 before t (M) is switched is used, only one read from the data storage circuit required to calculate one sample is required. This is less than the number of times of reading (3 times) when the generation circuit 106 is used.
【0036】以上のように本実施例によれば、音程を上
げる場合の整数部int(M)の切り替え時において、簡単な
構成で、補間演算回路でデータ落ちを補うことにより、
1サンプルを算出する為にデータ記憶回路から新たに読
み出す必要はなく、データ記憶回路の読み込み、書き込
み時間を最小限にした、つまり、演算の高速化を図るこ
とができる。As described above, according to this embodiment, at the time of switching the integer part int (M) when increasing the pitch, the interpolation operation circuit compensates for the data loss with a simple structure.
It is not necessary to newly read from the data storage circuit to calculate one sample, and the reading and writing time of the data storage circuit can be minimized, that is, the calculation speed can be increased.
【0037】[0037]
【発明の効果】以上のように本発明によれば、音程指示
データKの指示に基づきデータ記憶手段と、全域通過フ
ィルタの遅延時間を決定し、補間演算手段より音程に応
じて全域通過フィルタ内の遅延器に補間データを転送す
ることにより、不要なノイズを発生させることなく合成
データの音色をスムーズに合成する事ができ、更に従来
に比べ、1合成サンプルの演算時間が短いので、演算の
高速化が図ることができ、より多くの時分割多重化にし
た時の同時発音数を増やすことができる。As described above, according to the present invention, the delay time of the data storage means and the all-pass filter is determined on the basis of the instruction of the pitch instruction data K, and the interpolation calculation means determines the delay time within the all-pass filter. By transferring the interpolation data to the delay device, it is possible to smoothly synthesize the timbre of the synthesized data without generating unnecessary noise. Furthermore, the computation time for one synthesized sample is shorter than in the past, so It is possible to increase the speed, and it is possible to increase the number of simultaneous sounds when more time division multiplexing is used.
【図1】本発明の実施例における楽音合成装置のブロッ
ク図FIG. 1 is a block diagram of a musical sound synthesizer according to an embodiment of the present invention.
【図2】本発明の実施例における楽音合成装置の補間演
算回路の回路図FIG. 2 is a circuit diagram of an interpolation calculation circuit of the musical sound synthesizer in the embodiment of the present invention.
【図3】従来例における楽音合成装置のブロック図FIG. 3 is a block diagram of a musical sound synthesizer in a conventional example.
【図4】従来例における楽音合成装置の駆動データ発生
回路の回路図FIG. 4 is a circuit diagram of a drive data generation circuit of a musical sound synthesizer in a conventional example.
【図5】従来例における楽音合成装置の全域通過フィル
タの回路図FIG. 5 is a circuit diagram of an all-pass filter of a musical sound synthesizer in a conventional example.
【図6】従来例における楽音合成装置の遅延制御回路の
回路図FIG. 6 is a circuit diagram of a delay control circuit of a musical sound synthesizer in a conventional example.
【図7】従来例における楽音合成装置のアドレス発生回
路の回路図FIG. 7 is a circuit diagram of an address generation circuit of a musical sound synthesizer in a conventional example.
【図8】従来例における楽音合成装置の転送データ発生
回路の回路図FIG. 8 is a circuit diagram of a transfer data generation circuit of a musical sound synthesizer in a conventional example.
【図9】従来例における変動量ΔMを値0から(−0.
03)に変化させた時の動作説明図であり、 (a)は、時刻0Ts目の動作説明図 (b)は、時刻1024Ts目の動作説明図 (c)は、時刻1025Ts目の転送データ発生回路が
無い場合の動作説明図 (d)は、時刻1025Ts目の転送データ発生回路が
ある場合の動作説明図FIG. 9 shows a variation amount ΔM in the conventional example from a value 0 to (−0.
(A) is an operation explanatory diagram at time 0Ts, (b) is an operation explanatory diagram at time 1024Ts, and (c) is transfer data generation at time 1025Ts. Operation explanatory diagram when there is no circuit (d) is an operation explanatory diagram when there is a transfer data generation circuit at time 1025Ts
【図10】従来例の楽音合成装置において、転送データ
発生回路が無い場合の合成データの出力波形図FIG. 10 is an output waveform diagram of synthesized data in the case where the transfer data generation circuit is not provided in the conventional musical tone synthesis apparatus.
【図11】従来例の楽音合成装置において、転送データ
発生回路を用いた場合の合成データの出力波形図FIG. 11 is an output waveform diagram of synthesized data when a transfer data generating circuit is used in a musical tone synthesizer of a conventional example.
101 駆動データ発生回路 102 データ記憶回路 103 全域通過フィルタ 104 遅延制御回路 105 アドレス発生回路 107 加算器 201 補間演算回路 101 Drive Data Generation Circuit 102 Data Storage Circuit 103 All-Pass Filter 104 Delay Control Circuit 105 Address Generation Circuit 107 Adder 201 Interpolation Operation Circuit
Claims (1)
る駆動データ発生手段と、 前記駆動データと後述する合成データを加算する加算手
段と、 前記加算手段出力を所定時間遅延させ遅延データとして
出力するデータ記憶手段と、 前記遅延データを所定時間遅延させ合成データとして出
力する全域通過フィルタと、 音程指示データに基づき前記データ記憶手段と前記全域
通過フィルタの遅延時間を決定する遅延制御手段と、 前記データ記憶手段に記憶されたデータと1サンプリン
グ時間遅延させたデータとの補間をとり前記全域通過フ
ィルタに補間データとして出力する補間演算手段とを備
えている楽音合成装置。1. A drive data generating means for generating drive data in response to a sounding start instruction, an adding means for adding the drive data and synthetic data described later, and data for delaying the output of the adding means for a predetermined time and outputting it as delay data. Storage means, an all-pass filter that delays the delay data for a predetermined time and outputs as combined data, a delay control means that determines a delay time of the data storage means and the all-pass filter based on pitch instruction data, and the data storage A musical tone synthesizing device comprising: an interpolating operation means for interpolating the data stored in the means and the data delayed by one sampling time and outputting the interpolated data to the all-pass filter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7013913A JPH08202370A (en) | 1995-01-31 | 1995-01-31 | Musical sound synthesizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7013913A JPH08202370A (en) | 1995-01-31 | 1995-01-31 | Musical sound synthesizer |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08202370A true JPH08202370A (en) | 1996-08-09 |
Family
ID=11846415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7013913A Pending JPH08202370A (en) | 1995-01-31 | 1995-01-31 | Musical sound synthesizer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08202370A (en) |
-
1995
- 1995-01-31 JP JP7013913A patent/JPH08202370A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2576647B2 (en) | Waveform generator | |
JPH0119594B2 (en) | ||
JP2921376B2 (en) | Tone generator | |
JP3482685B2 (en) | Sound generator for electronic musical instruments | |
JPH079590B2 (en) | Electronic musical instrument | |
KR100236686B1 (en) | Data sample series access apparatus | |
JPH08202370A (en) | Musical sound synthesizer | |
JP2950461B2 (en) | Tone generator | |
JP3087744B2 (en) | Music generator | |
JPH06168575A (en) | Digital mixer | |
JP3252296B2 (en) | Waveform data output device | |
JP2790066B2 (en) | Tone signal generator and waveform memory read-out interpolator | |
JPH11161275A (en) | Variable delay device and method | |
JP3435702B2 (en) | Music generator | |
JP2504196B2 (en) | Music synthesizer | |
JP3743625B2 (en) | Variable delay device | |
JPS6352399B2 (en) | ||
JP3288500B2 (en) | Musical instrument for electronic musical instruments | |
JP3104873B2 (en) | Sound source device | |
JP2611406B2 (en) | Digital audio signal generator | |
JP2558245B2 (en) | Pitch control device | |
JP3094759B2 (en) | Music signal distribution processor | |
JPH03174592A (en) | Sound source circuit for electronic musical instrument | |
JP3651675B2 (en) | Electronic musical instruments | |
JP2907051B2 (en) | Apparatus and method for generating waveform |