JPS6367196B2 - - Google Patents

Info

Publication number
JPS6367196B2
JPS6367196B2 JP58133442A JP13344283A JPS6367196B2 JP S6367196 B2 JPS6367196 B2 JP S6367196B2 JP 58133442 A JP58133442 A JP 58133442A JP 13344283 A JP13344283 A JP 13344283A JP S6367196 B2 JPS6367196 B2 JP S6367196B2
Authority
JP
Japan
Prior art keywords
waveform
window function
waveforms
output
generators
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP58133442A
Other languages
Japanese (ja)
Other versions
JPS6024593A (en
Inventor
Kinji Kawamoto
Masataka Nikaido
Tatsuya Adachi
Kazuhiro Murase
Tetsuhiko Kaneaki
Sakurako Matsuda
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 JP58133442A priority Critical patent/JPS6024593A/en
Priority to US06/571,535 priority patent/US4597318A/en
Priority to EP84300267A priority patent/EP0114123B1/en
Priority to DE8484300267T priority patent/DE3463306D1/en
Priority to CA000445515A priority patent/CA1214559A/en
Publication of JPS6024593A publication Critical patent/JPS6024593A/en
Publication of JPS6367196B2 publication Critical patent/JPS6367196B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、複数の波形の補間演算により、時間
変化を自在につくり出し、自然な感じの音声や楽
音を作り出すようにした波形発生方法であつて、
音声合成器や電子楽器に適したものである。
[Detailed Description of the Invention] Industrial Application Field The present invention is a waveform generation method that freely creates temporal changes through interpolation calculations of a plurality of waveforms to create natural-sounding voices and musical sounds.
It is suitable for voice synthesizers and electronic musical instruments.

従来例の構成とその問題点 従来、複数の波形を記憶しておき、この波形の
1つを所定回繰り返して、順次つぎの新たな波形
に切り替えてゆくことによつて、音声波を合成す
る方法がある。この方法では、波形の切り替り時
に全く異なるスペクトルをもつ波形をつなぐため
に、なめらかな音質の変化ができず、不用な雑音
が発生する。
Conventional configuration and problems Conventionally, speech waves are synthesized by storing multiple waveforms, repeating one of the waveforms a predetermined number of times, and sequentially switching to the next new waveform. There is a way. In this method, since waveforms with completely different spectra are connected when switching waveforms, smooth changes in sound quality cannot be achieved and unnecessary noise is generated.

これを防ぐために、特願昭55―155053号(特開
昭57―78599号)のように、複数の波形の補間計
算を行なう方法があるが、自由な波形を発生させ
るためには、さらに工夫が必要である。
To prevent this, there is a method of interpolating multiple waveforms, as in Japanese Patent Application No. 55-155053 (Japanese Unexamined Patent Publication No. 57-78599), but in order to generate free waveforms, further ingenuity is required. is necessary.

発明の目的 本発明は、ある波形から別の波形への推移がな
めらかで、かつ、その推移が波形の周期にとらわ
れることなく自由に行なえる波形発生方法を提供
することを目的とする。
OBJECTS OF THE INVENTION An object of the present invention is to provide a waveform generation method in which the transition from one waveform to another is smooth and can be freely performed without being restricted by the cycle of the waveform.

発明の構成 本発明は、複数種の波形を順次発生させる波形
発生器と、窓関数を発生する窓関数発生器と、乗
算器とを、それぞれ1個または複数個設けて、上
記波形と上記窓関数とを乗算し、その積と原波形
のうちの任意のものとを加え合わせて出力波形を
得るようにし、上記窓関数の零点区間において、
上記波形を切り替えるようにしたものである。こ
のようにすることにより、波形の切り替わり点で
のスペクトルがなめらかに変化するので、不用な
雑音の発生がない。
Structure of the Invention The present invention provides one or more waveform generators that sequentially generate a plurality of types of waveforms, a window function generator that generates a window function, and a multiplier. The product is multiplied by the function, and the output waveform is obtained by adding the product and any one of the original waveforms, and in the zero point interval of the window function,
The above waveforms are switched. By doing this, the spectrum at the waveform switching point changes smoothly, so no unnecessary noise is generated.

実施例の説明 第1図は本発明の一実施例のブロツク図であ
る。
DESCRIPTION OF THE EMBODIMENTS FIG. 1 is a block diagram of one embodiment of the present invention.

1,2は楽音の波形を発生する波形発生器であ
り、複数種類のW1〜W5を記憶したメモリ5
と、W1〜W5を記憶したメモリ6から波形の
サンプルを所定の順序で読み出す。読み出された
波形サンプルは、乗算器7と8に供給される。
3,4は窓関数発生器であつて、後述する窓関数
波を出力する。乗算器7と8は、波形と窓関数を
乗算し、加算器9はその積の和を算出する。エン
ベロープ発生器10と乗算器11は、加算器9の
出力波形に、エンベロープ変化を付加する。乗算
器11の出力はデイジタルアナログ変換されて音
波形となり出力される。
1 and 2 are waveform generators that generate musical tone waveforms, and a memory 5 that stores multiple types of W 1 to W 5
Then, waveform samples are read out in a predetermined order from the memory 6 that stores W 1 to W 5 . The read waveform samples are supplied to multipliers 7 and 8.
3 and 4 are window function generators that output window function waves to be described later. Multipliers 7 and 8 multiply the waveform by the window function, and adder 9 calculates the sum of the products. The envelope generator 10 and the multiplier 11 add an envelope change to the output waveform of the adder 9. The output of the multiplier 11 is digital-to-analog converted and output as a sound wave.

つぎに波形と窓関数について説明する。波形W
1〜W5,W1〜W5はそれぞれ、自然音声
や楽器音の一周期分より構成されているものとす
る。そして、第2図aに示すようにW1〜W5
の各区間において、波形W1〜W5のそれぞれ
が繰り返される。一方、窓関数は第2図bに示す
ように、F1〜F5のような三角形状の関数と
する。波形W1〜W5とW1〜W5、窓関数
1〜F5とF1〜F5は第2図aとc,b
とdとを対比するとわかるように、波形の切り替
え時刻と、窓関数の位相がそれぞれたがいに異な
つている。
Next, the waveform and window function will be explained. Waveform W
It is assumed that 1 to W 5 and W 1 to W 5 each consist of one period of natural speech or musical instrument sound. Then, as shown in FIG. 2a, W 1 to W 5
In each section, each of waveforms W 1 to W 5 is repeated. On the other hand, the window function is a triangular function such as F 1 to F 5 as shown in FIG. 2b. Waveforms W 1 to W 5 and W 1 to W 5 and window functions F 1 to F 5 and F 1 to F 5 are shown in Figure 2 a, c, and b.
As can be seen by comparing and d, the waveform switching time and the phase of the window function are different from each other.

時刻nTにおける波形Wiのサンプル値をWi
(nT)、窓関数をFi(nT)、波形Wiのサンプ
ル値をWj(nT)、窓関数をFj(nT)とする
と出力波形WO(nT)は次式となる。
The sample value of waveform W i at time nT is W i
(nT), the window function is F i (nT), the sample value of the waveform W i is W j (nT), and the window function is F j (nT), then the output waveform WO (nT) is given by the following equation.

WO(nT)=Wi(nT)×Fi(nT) +Wj(nT)×Fj(nT) ……(1) ここで、j=iまたはi−1 Wi区間において、波形Wiは繰り返し読み
出され、Ri波発生する。Riの値は窓関数Fi
時間長に依存し、整数のときもあるが、小数のと
きもある。小数のときは波形Wiの途中から波
形Wi+1に切り替わる。この場合、波形Wi
i+1の位相は必ずしも連続でないから、波形
間でなめらかに推移するとは限らないが、窓関数
iからFi+1に移るときに零値を経るから、
乗算出力Wi×Fiはなめらかに推移する。乗
算出力Wj×Fjについても同様のことが云え
る。すなわち、波形Wi,Wjの位相、繰り返
し回数のいかんにかかわらず、乗算出力において
は、出力波形の瞬時値の不連続や、微係数の不連
続がないので不用な雑音が発生しない。この様子
を第2図e,f,gに示す。eは波形、fは窓関
数、gは積である。
WO (nT) = W i (nT) × F i (nT) + W j (nT) × F j (nT) ... (1) Here, j = i or i-1 In the W i interval, the waveform W i is read out repeatedly, generating R i waves. The value of R i depends on the time length of the window function F i , and may be an integer or a decimal number. When the number is a decimal, the waveform W i switches to the waveform W i+1 from the middle of the waveform W i. In this case, the phases of the waveforms W i and W i+1 are not necessarily continuous, so there is not necessarily a smooth transition between the waveforms, but since the window function passes through a zero value when moving from the window function F i to F i+1 ,
The multiplication output W i ×F i changes smoothly. The same can be said about the multiplication output W j ×F j . That is, regardless of the phase of the waveforms W i and W j and the number of repetitions, unnecessary noise is not generated in the multiplication output because there is no discontinuity in the instantaneous value of the output waveform or discontinuity in the differential coefficient. This situation is shown in Fig. 2 e, f, and g. e is a waveform, f is a window function, and g is a product.

波形Wiとしては、区間Wiにおいて、一周
期の波形を繰り返すようにしたが、その代りに1
区間内の全波形をメモリ5に記憶しておき読み出
すようにしてもよい。このときも、区間の接点に
おける不連続は生じない。
As for the waveform W i , one cycle of the waveform is repeated in the interval W i , but instead
All waveforms within the section may be stored in the memory 5 and read out. At this time, no discontinuity occurs at the contact points of the sections.

波形WiからWi+1に移行する際に、それら
の波形が同一形状であつて、ただ初期位相が異な
るようなものにしてもよい。このときには、波形
i+1を省略して波形Wiの読み出しアドレス
を不連続にジヤンプさせれば良いのでメモリが節
約できる。このような制御は、波形発生器1,2
の出力するアドレスコードを操作することにより
可能となる。
When transitioning from the waveform W i to W i+1 , the waveforms may have the same shape but differ in initial phase. In this case, it is sufficient to omit the waveform W i+1 and jump the read address of the waveform W i discontinuously, so that memory can be saved. Such control is performed by the waveform generators 1 and 2.
This is possible by manipulating the address code output by .

第3図a,b,c,dは、波形の区間と窓関数
の別の例である。区間W1において窓関数F1
を一定値としているので、波形W1がそのまま
乗算器7の出力として現われる。一方、窓関数F
1を零としているので、波形W1は不用であ
る。区間W1からW2への切り替りにおいて
は、窓関数F1とF2の間に零がないので、波
形W1とW2は連続波形とする必要がある。す
なわち、区間W1とW2を1つの区間とみな
し、窓関数としてF1とF2を合わせた台形波
とみなせば良い。
FIGS. 3a, b, c, and d are other examples of waveform sections and window functions. Window function F 1 in interval W 1
Since the waveform W 1 is set to a constant value, the waveform W 1 appears as it is as the output of the multiplier 7. On the other hand, the window function F
Since 1 is taken as zero, the waveform W 1 is unnecessary. In switching from section W 1 to W 2 , since there is no zero between window functions F 1 and F 2 , waveforms W 1 and W 2 need to be continuous waveforms. That is, the sections W 1 and W 2 may be regarded as one section, and the window function may be regarded as a trapezoidal wave that is the sum of F 1 and F 2 .

第2図と第3図の例では Fi+Fj=1 ……(2) (j=iまたはi−1) とした。したがつて(1)式の代りに次式の演算を行
なつても良い。
In the examples shown in FIGS. 2 and 3, F i +F j =1 (2) (j=i or i-1). Therefore, the following equation may be used instead of equation (1).

WO(nT)=Wi(nT)+{Wj(nT) −Wi(nT)}Fj(nT) ……(3) (j=iまたはi−1) あるいは WO(nT)={Wi(nT)−Wj(nT)} Fi(nT)+Wj(nT) ……(4) (j=iまたはi+1) すなわち、2つの波形のうちの一方のサンプル
値に、2つの波形サンプルの差分値と、窓関数の
積を加えるという操作を行なうことになる。
WO(nT)=W i (nT)+{W j (nT) −W i (nT)}F j (nT) ...(3) (j=i or i-1) or WO(nT)={ W i (nT) - W j (nT)} F i (nT) + W j (nT) ...(4) (j=i or i+1) In other words, two sample values are added to one of the two waveforms. The operation is to add the difference value of the waveform sample and the product of the window function.

つぎに第2図を用いて、波形WiからWi+1
あるいは波形WiからWiへの補間が行なわれ
ることについて説明する。第2図bのFiの立
下り(時刻T0〜T1)に着目すると、波形W1
レベルは単調に減少する。一方、F2は立上る
から、波形W2はそのレベルが増加する。W1
とW2の各周波数成分の位相が一致している場
合、各周波数成分について、波形W1のレベル
からW2のレベルへ直線的に変化してゆく。位
相はそのまま保存される。すなわち、各周波数ス
ペクトルレベルが直線補間される。波形W1
2の各周波数成分の位相が一致していないと
きは、レベルの補間のみならず、位相角を含めた
ベクトル加算として考える必要が出てくる。この
ときは位相と振幅が共に変化してゆく。この様子
の例を第5図に示す。波形W→1のベクトルから
波形W→2のベクトルへ直線上を合成ベクトル
WO→が移つてゆく。
Next, using FIG. 2, waveforms W i to W i+1 ,
Alternatively, interpolation from waveform W i to W i will be explained. Focusing on the fall of F i (time T 0 to T 1 ) in FIG. 2b, the level of waveform W 1 monotonically decreases. On the other hand, since F 2 rises, the level of waveform W 2 increases. W 1
When the phases of each frequency component of waveform W 1 and W 2 match, each frequency component changes linearly from the level of waveform W 1 to the level of W 2 . The phase is preserved as is. That is, each frequency spectrum level is linearly interpolated. When the phases of the frequency components of waveforms W 1 and W 2 do not match, it becomes necessary to consider not only level interpolation but also vector addition including phase angle. At this time, both the phase and amplitude change. An example of this situation is shown in FIG. A composite vector on a straight line from the vector of waveform W→ 1 to the vector of waveform W→ 2
WO → is moving.

第5図は、窓関数の他の例である。FiとF
i+1の間に有限の零区間を設けており、波形W
iとWi+1は、この零区間の中で切り替わる。
したがつて、波形WiとWi+1の間に不連続が
あつてもWi×FiとWi+1×Fi+1のつなが
りには不連続が発生しない。零区間があるため、
波形WiとWiの間は直線補間から少しずれる
が、実用上問題ない。
FIG. 5 is another example of a window function. F i and F
A finite zero interval is provided between i+1 , and the waveform W
i and W i+1 switch within this zero interval.
Therefore, even if there is a discontinuity between the waveforms W i and W i+1 , no discontinuity occurs in the connection between W i ×F i and W i+1 ×F i+1 . Since there is a zero interval,
Although there is a slight deviation from linear interpolation between the waveforms W i and W i , there is no practical problem.

第6図は、FiとFiのそれぞれを台形とし、 かつ、 Fi+Fi=1 ……(5) または Fi+Fi+1=1 ……(6) としたものである。この場合は台形の頂上部で一
方の波形のみが出力される。台形の傾斜部では両
波形の1次補間となる。
In FIG. 6, each of F i and F i is a trapezoid, and F i +F i =1...(5) or F i +F i+1 =1...(6). In this case, only one waveform is output at the top of the trapezoid. At the sloped part of the trapezoid, both waveforms are linearly interpolated.

第7図は、本発明の別の実施例である。101
は各区間の波形を記憶したメモリである。100
はメモリ101に対してアドレスを供給し、所定
のアドレスの波形サンプルを読み出して出力する
波形発生器である。波形発生器100の出力は、
乗算器102と加算器104に供給される。乗算
器102の出力は加算器104に供給される。加
算器104の出力が出力波形データとなる。10
3は窓関数発生器であつて、後述する窓関数デー
タを乗算器103に供給し、かつ、波形発生器1
00に波形の切替え指令を出力する。
FIG. 7 is another embodiment of the invention. 101
is a memory that stores the waveform of each section. 100
is a waveform generator that supplies an address to the memory 101, reads out a waveform sample at a predetermined address, and outputs it. The output of the waveform generator 100 is
It is supplied to a multiplier 102 and an adder 104. The output of multiplier 102 is provided to adder 104. The output of adder 104 becomes output waveform data. 10
3 is a window function generator which supplies window function data to be described later to the multiplier 103, and which also supplies the waveform generator 1 with
A waveform switching command is output to 00.

メモリ101には、波形W1〜W6,W1
〜W6が順番に格納されている。第8図は演算
処理の手順を示している。
The memory 101 stores waveforms W 1 to W 6 , W 1
~ W6 are stored in order. FIG. 8 shows the procedure of arithmetic processing.

WO(nT)=W1(nT)+{W2(nT)−W1(nT)
}F1(F1区間) WO(nT)=W2(nT)+{W2(nT)−W2(nT)
}F2(F2区間) WO(nT)=W2(nT)+{W3(nT)−WI2(nT)}F
3(F3区間) 〓 WO(nT)=Wi(nT)+{Wi+1(nT)−Wi(nT
)}F2i-1(F2i-1区間) WO(nT)=Wi+1(nT)+{Wi+1(nT)−Wi+1
(nT)}F2i (F2i区間) ……(7) 以上のような演算を、波形の各サンプル値に対
して行なえば、WiとWi+1またはWiとWi
の間のなめらかな波形の推移が実現できる。窓関
数F2i,F2i-1は単調1次減少波形である。
WO (nT) = W 1 (nT) + {W 2 (nT) - W 1 (nT)
}F 1 (F 1 section) WO (nT) = W 2 (nT) + {W 2 (nT) - W 2 (nT)
}F 2 (F 2 section) WO (nT) = W 2 (nT) + {W 3 (nT) − WI 2 (nT)}F
3 (F 3 sections) 〓 WO (nT) = W i (nT) + {W i+1 (nT) − W i (nT
)}F 2i-1 (F 2i-1 section) WO (nT) = W i+1 (nT) + {W i+1 (nT) − W i+1
(nT)}F 2i (F 2i interval) ...(7) If the above calculation is performed for each sample value of the waveform, W i and W i+1 or W i and W i
It is possible to realize a smooth waveform transition between . The window functions F 2i and F 2i-1 are monotonically linear decreasing waveforms.

F2i-1,F2iの代りに 2i+F2i=1 ……(8) 2i-1+F2i-1=1 ……(9) を満足する。2i-12iを用いて(7)式を変形した
別の演算式を実行しても良い。
Instead of F 2i-1 and F 2i , 2i +F 2i = 1 ... (8) 2i-1 + F 2i-1 = 1 ... (9) is satisfied. Another arithmetic expression obtained by transforming the expression (7) using 2i-1 and 2i may be executed.

第9図は、窓関数jの別の形の例である。ここ
では、三角形の頂点とつぎの三角形の始点に、平
担部分を設けている。この平担部分において波形
の切替えを行なう。
FIG. 9 is an example of another form of the window function j . Here, a flat portion is provided at the vertex of a triangle and the starting point of the next triangle. The waveform is switched in this flat portion.

上記説明において、窓関数として、三角形、台
形、直角三角形などを使う例を述べた。これらの
関数は、デイジタル回路により容易に発生でき
る。たとえば、システムクロツクパルスを分周し
たものを、カウンタで計数することにより発生で
きる。アツプダウンカウンタにより対称三角波が
できる。アツプカウンタまたはダウンカウンタに
より直角三角形が出来る。カウンタへのクロツク
周波数を変えることにより、傾きを変えることが
できる。カウンタ出力が零になつたときに、波形
発生器1,2,100へ波形切替指令の出力を供
給することにする。カウンタ出力が零や全部
“1”のときにクロツクを一時停止すれば、零区
間を設けることができる。他の方法として、所定
の小さな値ΔFを加算器で累算してゆけば、1次
単調増加関数を発生できる。所定の値を越えた時
に累算値を零にリセツトするようにすれば、第8
図cのような関数が得られる。加減算器を用いて
おき、加算を減算に切り替えれば第2図b,dの
関数が得られる。この方法では、ΔFを変えるこ
とにより、各区間の時間長が設定できる。
In the above description, examples have been given in which triangles, trapezoids, right triangles, etc. are used as window functions. These functions can easily be generated by digital circuits. For example, it can be generated by dividing the system clock pulse and counting it with a counter. The up-down counter creates a symmetrical triangular wave. A right triangle is created by an up counter or a down counter. By changing the clock frequency to the counter, the slope can be changed. When the counter output reaches zero, the waveform switching command output is supplied to the waveform generators 1, 2, and 100. If the clock is temporarily stopped when the counter output is zero or all "1", a zero section can be provided. Alternatively, a linear monotonically increasing function can be generated by accumulating a predetermined small value ΔF using an adder. If the cumulative value is reset to zero when it exceeds a predetermined value, the eighth
A function as shown in Figure c is obtained. If an adder/subtracter is used and addition is switched to subtraction, the functions shown in FIG. 2b and d can be obtained. In this method, the time length of each section can be set by changing ΔF.

楽器のように長い間、楽音を発生し続ける必要
があるときの終了処理について説明する。メモリ
101が非常に大きければ長い音を出せるが、早
晩メモリを読みつくしてしまう。メモリの終りの
区間に到達したときには、つぎの処理を行なう。
We will explain the termination process when it is necessary to continue generating musical tones for a long time, such as when playing a musical instrument. If the memory 101 is very large, it will be possible to produce long sounds, but sooner or later the memory will be exhausted. When the end section of the memory is reached, the following processing is performed.

(1) 窓関数の最終値を保持し、その区間の波形を
それまでと同様に繰り返し読み出し続ける。
(1) Hold the final value of the window function and continue reading the waveform in that section repeatedly as before.

(2) 窓関数の最終値に到達したら、以前の窓関数
にもどり、波形もそのもどつた区間の波形を読
み出す。
(2) When the final value of the window function is reached, return to the previous window function and read out the waveform in the section where it returned.

(1)によると、最後の波形が繰り返されるので、
時間的変化がなくなる。(2)によれば、所定の区間
の波形がくり返し出力されるので、時間的変動の
伴なつた音となる。
According to (1), the last waveform is repeated, so
There are no temporal changes. According to (2), since the waveform of a predetermined section is repeatedly output, the sound is accompanied by temporal fluctuations.

さらに3番目の方法として、最終波形の読み出
し位相をランダムに変えるようにしても良い。こ
のときは、位相変調が窓関数に応じて付加される
ので多少の時間変動が生じる。
Furthermore, as a third method, the readout phase of the final waveform may be changed randomly. At this time, since phase modulation is added according to the window function, some time fluctuation occurs.

上記説明においては、乙種の波形の間の補間演
算として説明した。波形と窓関数をさらに増やし
てつぎの一般式を実行するようにしてもよい。
In the above explanation, the interpolation calculation between the waveforms of type B was explained. The following general formula may be implemented by further increasing the number of waveforms and window functions.

WO(nT)= 〓Ni(nT)FNi(nT) ……(10) N=,, i=区間番号 この場合、単純な直線補間からは、はずれ、高
次の補間とみなすことができる。
WO (nT) = 〓 N W i (nT) FN i (nT) ...(10) N = ,, i = section number In this case, it deviates from simple linear interpolation and can be considered as high-order interpolation. can.

また、窓関数としては、三角形、台形を用いて
説明したが、2次曲線や他の形状の関数を用いる
ことも考えられる。一般的には、第10図に示し
たように零区間を備えた任意の波形が使える。波
形の形状により、補間式が変わるから、直線補間
からずれることになるが、より自然な時間変化を
もつた音をつくり出すことができる。窓関数に適
当な変動成分を重畳させれば、複数の波形間での
振幅の変動が発生するから、振幅変調効果に使う
ことができる。これは次式で表わせる。
Further, although the window function has been described using a triangle and a trapezoid, it is also possible to use a quadratic curve or a function having another shape. Generally, any waveform with a zero interval as shown in FIG. 10 can be used. Since the interpolation formula changes depending on the shape of the waveform, it will deviate from linear interpolation, but it is possible to create sounds with more natural temporal changes. If an appropriate fluctuation component is superimposed on the window function, amplitude fluctuations will occur between multiple waveforms, which can be used for amplitude modulation effects. This can be expressed by the following formula.

F^=F+AM ……(11) Fはもとの窓関数、AMは重畳成分、F^は新し
い窓関数である。ただし、波形の切替り時点でF^
が零であるように、AMを決めなければならない
ことはもちろんである。
F^=F+AM...(11) F is the original window function, AM is the superimposed component, and F^ is the new window function. However, at the point of waveform switching, F^
Of course, AM must be determined so that is zero.

(11)式の代りに、任意の関数Eを用いて、次式の
ような窓関数を生成させてもよい。
Instead of equation (11), an arbitrary function E may be used to generate a window function as shown in the following equation.

F^=E×F ……(12) 第1図において、(12)式を用いて窓関数F^iとF^
iをつくると、Eをエンベロープデータとみな
し得るから、窓関数によりエンベロープ制御がで
きる。振幅変調に用いることもできる。
F^=E×F...(12) In Figure 1, using equation (12), the window function F^ i and F^
If i is created, E can be regarded as envelope data, so envelope control can be performed using a window function. It can also be used for amplitude modulation.

第1図、第7図の実施例では、窓関数発生器
3,4,103が関数を発生させるようにした
が、メモリに窓関数波形を記憶しておき、これを
読み出しても良い。
In the embodiments shown in FIGS. 1 and 7, the window function generators 3, 4, and 103 generate functions, but the window function waveforms may be stored in memory and read out.

第1図、第7図では図示していないが、窓関数
のそれぞれの時間長は、波形の区間長と対応して
いるものであるから、波形の区間長データを、メ
モリ5,6,101に、波形と共に記憶させてお
き、この区間長データを窓関数発生器が順次読み
出して、所定の時間長の窓関数を生成するように
するのが好ましい。
Although not shown in FIGS. 1 and 7, since the time length of each window function corresponds to the section length of the waveform, the section length data of the waveform is stored in the memories 5, 6, and 101. It is preferable that the period length data be stored together with the waveform, and that the window function generator sequentially reads out the interval length data to generate a window function of a predetermined time length.

波形発生器1,2,100は、メモリに記憶し
ている波形データ読み出すようにしたが、波形発
生器がデータ処理をしたり、あるいは自身で波形
をつくり出すようなものでも良い。
Although the waveform generators 1, 2, and 100 are configured to read out waveform data stored in the memory, the waveform generators may also process data or generate waveforms themselves.

波形の発生は、楽音の周波数の一周期サンプル
数倍に対応した周期または平均的周期で行なうの
が普通である。これに対して、窓関数は実時間に
対応して発生させる場合がある。このときは、そ
れぞれの実時間上の時刻位置が必ずしも完全に同
期しない。しかしながら、窓関数の変化は、波形
の変化よりゆつくりしていることが多いから、窓
関数のサンプル値として、本来の時刻位置の前後
の値を採用しても、大幅な誤差にならない場合が
多い。すなわち、波形の発生と窓関数の発生とは
同期を完全にとる必要はない。この場合、一次直
線型の窓関数を用いても直線上で多少の増減が発
生することになるが実用上さしつかえない。
The waveform is normally generated at a period corresponding to the number of samples of one period of the musical tone frequency or at an average period. On the other hand, window functions may be generated in response to real time. At this time, the respective time positions in real time are not necessarily completely synchronized. However, since changes in the window function are often slower than changes in the waveform, even if values before and after the original time position are used as sample values for the window function, there may not be a significant error. many. That is, the generation of the waveform and the generation of the window function do not need to be perfectly synchronized. In this case, even if a linear linear window function is used, some increase/decrease will occur on the straight line, but this is not a practical problem.

なお上記説明では、楽音や音声の一波を中心に
述べたが、一波でない多数波よりなる波形やその
他の任意の波形や、音以外の波形、たとえば、映
像信号や種々の信号に対しても適用できる。
In the above explanation, we mainly focused on one wave of musical tones or audio, but we can also apply to waveforms consisting of multiple waves other than one wave, other arbitrary waveforms, and waveforms other than sound, such as video signals and various other signals. can also be applied.

発明の効果 本発明は複数の波形のサンプルと、その差サン
プルとを発生させ、零値または実質的零値を有す
る窓関数を上記差サンプルに乗算し、その積を上
記波形のサンプルに加算して出力波形を得、上記
窓関数が零値または実質的零値において、上記複
数の波形の種類を切り替えるようにしたものであ
る。
Effects of the Invention The present invention generates a plurality of waveform samples and their difference samples, multiplies the difference samples by a window function having a zero value or substantially zero value, and adds the product to the waveform sample. to obtain an output waveform, and when the window function has a zero value or a substantially zero value, the types of the plurality of waveforms are switched.

したがつて、時々刻々に変化してゆく自然音声
や、自然楽器の音を余分な雑音の発生を伴なわず
に合成することができる。複数種の波形の位相を
そろえる必要がないから、振幅の推移だけでな
く、位相の推移を補間的に再現できる。位相の推
移を連続させれば、周波数が変化するから、本来
の波形の周期からずれた高調波性のない音をつく
り出すこともできる。さらには、複数種の波形の
位相関係をずらしたり、あるいは、1つの波形の
読み出しアドレスを区間ごとに順次変えてゆくこ
とにより、ビブラートや位相変調効果あるいは遅
延時間変調をつくることができる。
Therefore, it is possible to synthesize constantly changing natural voices and the sounds of natural musical instruments without producing any unnecessary noise. Since there is no need to align the phases of multiple types of waveforms, not only amplitude transitions but also phase transitions can be reproduced in an interpolative manner. If the phase transition is continuous, the frequency changes, so it is also possible to create a sound that is deviated from the original waveform period and has no harmonic properties. Furthermore, vibrato, phase modulation effects, or delay time modulation can be created by shifting the phase relationships of multiple types of waveforms or by sequentially changing the readout address of one waveform for each section.

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

第1図は本発明の波形発生方法の一実施例のブ
ロツク図、第2図、第3図はその波形演算方法を
説明するための図、第4図は同じく位相と振幅の
補間を説明するためのベクトル図、第5図、第6
図は他の窓関数を用いた場合の波形演算方法を説
明するための図、第7図は本発明の別の実施例の
ブロツク図、第8図は第7図の実施例の波形演算
方法を説明するための図、第9図、第10図は他
の窓関数波形の図である。 1,2,100…波形発生器、3,4,100
…窓関数発生器、7,8,102…乗算器、9,
104…加算器。
Fig. 1 is a block diagram of an embodiment of the waveform generation method of the present invention, Figs. 2 and 3 are diagrams for explaining the waveform calculation method, and Fig. 4 also explains interpolation of phase and amplitude. Vector diagrams for Figures 5 and 6
The figure is a diagram for explaining a waveform calculation method when using another window function, FIG. 7 is a block diagram of another embodiment of the present invention, and FIG. 8 is a waveform calculation method of the embodiment of FIG. 7. 9 and 10 are diagrams of other window function waveforms. 1, 2, 100...Waveform generator, 3, 4, 100
... Window function generator, 7, 8, 102 ... Multiplier, 9,
104...Adder.

Claims (1)

【特許請求の範囲】 1 複数の波形のサンプルと、その差サンプルと
を発生させ、零値または実質的零値を有する窓関
数を上記差サンプルに乗算し、その積を上記波形
のサンプルに加算して出力波形を得、上記窓関数
が零値または実質的零値において、上記複数の波
形の種類を切り替えるようにしたことを特徴とす
る波形発生方法。 2 窓関数が実質的に三角形または台形であるこ
とを特徴とする特許請求の範囲第1項記載の波形
発生方法。 3 複数種の波形を順次発生させる波形発生器
と、窓関数を発生する窓関数発生器と、乗算器と
をそれぞれ複数個備え、さらに加算器を備え、上
記波形と上記窓関数とを上記乗算器において乗
じ、その積を上記加算器に加えて出力波形を得る
ようにし、上記窓関数の実質的零点区間におい
て、それぞれの波形発生器における波形の種類を
切り換えることを特徴とする波形発生方法。 4 複数の波形発生器、窓関数発生器、乗算器が
時分割的に作動される単一の波形発生器、窓関数
発生器および乗算器であることを特徴とする特許
請求の範囲第3項記載の波形発生方法。 5 波形発生器が波形の書き込まれたメモリから
その波形を読み出すことにより波形を発生させる
ことを特徴とする特許請求の範囲第3項記載の波
形発生方法。 6 窓関数の和が実質的に一定であるようにした
ことを特徴とする特許請求の範囲第3項記載の波
形発生方法。 7 窓関数が実質的に三角形または台形であるこ
とを特徴とする特許請求の範囲第3項記載の波形
発生方法。
[Claims] 1. Generating a plurality of waveform samples and difference samples thereof, multiplying the difference samples by a window function having a zero value or substantially zero value, and adding the product to the waveform samples. to obtain an output waveform, and the types of the plurality of waveforms are switched when the window function has a zero value or a substantially zero value. 2. The waveform generation method according to claim 1, wherein the window function is substantially triangular or trapezoidal. 3 A plurality of waveform generators that sequentially generate a plurality of types of waveforms, a plurality of window function generators that generate a window function, and a plurality of multipliers are provided, and an adder is further provided to perform the multiplication of the waveform and the window function. A method for generating a waveform, characterized in that the product is multiplied in the adder to obtain an output waveform, and the type of waveform in each waveform generator is switched in a substantially zero section of the window function. 4. Claim 3, characterized in that the plurality of waveform generators, window function generators, and multipliers are a single waveform generator, window function generator, and multiplier that are operated in a time-sharing manner. The waveform generation method described. 5. The waveform generation method according to claim 3, wherein the waveform generator generates the waveform by reading out the waveform from a memory in which the waveform is written. 6. The waveform generation method according to claim 3, wherein the sum of the window functions is substantially constant. 7. The waveform generation method according to claim 3, wherein the window function is substantially triangular or trapezoidal.
JP58133442A 1983-01-18 1983-07-20 Generation of waveform Granted JPS6024593A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP58133442A JPS6024593A (en) 1983-07-20 1983-07-20 Generation of waveform
US06/571,535 US4597318A (en) 1983-01-18 1984-01-17 Wave generating method and apparatus using same
EP84300267A EP0114123B1 (en) 1983-01-18 1984-01-17 Wave generating apparatus
DE8484300267T DE3463306D1 (en) 1983-01-18 1984-01-17 Wave generating apparatus
CA000445515A CA1214559A (en) 1983-01-18 1984-01-18 Wave generating method and apparatus using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58133442A JPS6024593A (en) 1983-07-20 1983-07-20 Generation of waveform

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP3107192A Division JPH0736115B2 (en) 1991-05-13 1991-05-13 Waveform generation method

Publications (2)

Publication Number Publication Date
JPS6024593A JPS6024593A (en) 1985-02-07
JPS6367196B2 true JPS6367196B2 (en) 1988-12-23

Family

ID=15104865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58133442A Granted JPS6024593A (en) 1983-01-18 1983-07-20 Generation of waveform

Country Status (1)

Country Link
JP (1) JPS6024593A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778676B2 (en) * 1986-02-28 1995-08-23 ヤマハ株式会社 Music signal generator

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53134418A (en) * 1977-04-28 1978-11-24 Nippon Gakki Seizo Kk Electronic musical instrument
JPS53138320A (en) * 1977-05-09 1978-12-02 Nippon Gakki Seizo Kk Electronic musical instrument
JPS5439616A (en) * 1977-09-05 1979-03-27 Nippon Gakki Seizo Kk Electronic musical instrument
JPS5465020A (en) * 1977-11-01 1979-05-25 Nippon Gakki Seizo Kk Waveform generator of electronic musical instruments
US4352312A (en) * 1981-06-10 1982-10-05 Allen Organ Company Transient harmonic interpolator for an electronic musical instrument

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53134418A (en) * 1977-04-28 1978-11-24 Nippon Gakki Seizo Kk Electronic musical instrument
JPS53138320A (en) * 1977-05-09 1978-12-02 Nippon Gakki Seizo Kk Electronic musical instrument
JPS5439616A (en) * 1977-09-05 1979-03-27 Nippon Gakki Seizo Kk Electronic musical instrument
JPS5465020A (en) * 1977-11-01 1979-05-25 Nippon Gakki Seizo Kk Waveform generator of electronic musical instruments
US4352312A (en) * 1981-06-10 1982-10-05 Allen Organ Company Transient harmonic interpolator for an electronic musical instrument

Also Published As

Publication number Publication date
JPS6024593A (en) 1985-02-07

Similar Documents

Publication Publication Date Title
US5007095A (en) System for synthesizing speech having fluctuation
US4597318A (en) Wave generating method and apparatus using same
KR0150223B1 (en) Tone signal generating device
US5308918A (en) Signal delay circuit, FIR filter and musical tone synthesizer employing the same
WO1993019457A1 (en) Electronic musical instrument using fm sound generation with delayed modulation effect
EP0410475B1 (en) Musical tone signal forming apparatus
US5245127A (en) Signal delay circuit, FIR filter and musical tone synthesizer employing the same
JP3397082B2 (en) Music generating apparatus and method
JP2999806B2 (en) Music generator
JPS6367196B2 (en)
US5266734A (en) Musical tone synthesizing apparatus performing high-speed non-linear operation
US5559298A (en) Waveform read-out system for an electronic musical instrument
JPH04230795A (en) Waveform generating method
JP2699629B2 (en) Music signal generator
JPH0679224B2 (en) Waveform synthesizer
JP2503744B2 (en) Music synthesizer
JP2608938B2 (en) Waveform interpolation device
JPH0243196B2 (en)
JPS623299A (en) Tone signal generation
JPH0518117B2 (en)
JP2967661B2 (en) Music synthesizer
JP3433764B2 (en) Waveform changing device
JP3419005B2 (en) Original tone signal generator used for synthesis of tone signals
JP3480063B2 (en) Music synthesizer
JPH05181497A (en) Pitch conversion device