JP2754936B2 - Tone generator - Google Patents

Tone generator

Info

Publication number
JP2754936B2
JP2754936B2 JP3072034A JP7203491A JP2754936B2 JP 2754936 B2 JP2754936 B2 JP 2754936B2 JP 3072034 A JP3072034 A JP 3072034A JP 7203491 A JP7203491 A JP 7203491A JP 2754936 B2 JP2754936 B2 JP 2754936B2
Authority
JP
Japan
Prior art keywords
loop
waveform data
data
pitch
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.)
Expired - Fee Related
Application number
JP3072034A
Other languages
Japanese (ja)
Other versions
JPH04284497A (en
Inventor
正宏 清水
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP3072034A priority Critical patent/JP2754936B2/en
Publication of JPH04284497A publication Critical patent/JPH04284497A/en
Application granted granted Critical
Publication of JP2754936B2 publication Critical patent/JP2754936B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、楽音発生装置に関
し、例えば自然楽器などの音をサンプリングして再生す
る楽音発生装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical sound generator, and more particularly to a musical sound generator for sampling and reproducing sounds of a natural musical instrument or the like.

【0002】[0002]

【従来の技術】従来、ピアノやギターなどの減衰音をサ
ンプリングして、波形データ(サンプリングデータ)を
記憶し、その記憶した波形データを再生するような楽音
発生装置が知られている。このような楽音発生装置で
は、通常、構成の簡単化およびメモリ量の節約のため、
アタック部の全波形およびアタック後のループ部の一波
形の波形データを記憶しておき、再生時にはまずアタッ
ク部の波形データを読出し、その後、ループ部の一波形
のデータを繰返し読み出すようにしたものがある。
2. Description of the Related Art Conventionally, there has been known a tone generator which samples attenuated sounds of a piano or guitar, stores waveform data (sampling data), and reproduces the stored waveform data. In such a tone generator, usually, in order to simplify the configuration and save the memory amount,
The entire waveform data of the attack part and the waveform data of one waveform of the loop part after the attack are stored, and the waveform data of the attack part is first read out during reproduction, and thereafter, the data of one waveform of the loop part is repeatedly read out. There is.

【0003】しかし、かかる方式では、ループ部に入っ
たときに音が不連続となる感じが強く、これを少なくす
る方式としてクロスフェードループや折り返しループな
どの方式が適用されている。
However, in such a system, when the sound enters the loop portion, the sound tends to be discontinuous, and a system such as a cross-fade loop or a folded loop is applied as a system for reducing this.

【0004】また、アタック後のループ部におけるとび
とびの複数区間のそれぞれの一波形データを記憶し、再
生時にはこれらのとびとびの複数区間をそれぞれクロス
フェードしながら波形をつないでいく手法もある(特公
平1−22631号)。
There is also a method of storing one waveform data of each of a plurality of discrete sections in a loop portion after an attack, and connecting the waveforms at the time of reproduction while cross-fading each of the plurality of discrete sections. No. 1-22631).

【0005】[0005]

【発明が解決しようとする課題】ところで、上述のよう
なクロスフェードの手法では、各ループ区間はあらかじ
め入力された設定値のみにより制御され、リアルタイム
に各パラメータを変更することはできなかった。ピッチ
は例えばベントホイールでリアルタイムに変更すること
ができるが、各ループ区間ごとに適した変化は実現でき
ない。
By the way, in the above-described cross-fade method, each loop section is controlled only by a preset set value, and each parameter cannot be changed in real time. The pitch can be changed in real time by, for example, a vent wheel, but a change suitable for each loop section cannot be realized.

【0006】この発明は、上述の従来例における問題点
に鑑み、複数区間の各波形データをクロスフェードしな
がらつないでいくことによりアタック後のループ部の波
形を生成出力する楽音発生装置において、タッチデータ
などの演奏情報でリアルタイムにループ時間やクロスフ
ェード時間などのループ処理のパラメータを変更するこ
とができるようにすることを目的とする。
SUMMARY OF THE INVENTION In view of the above-mentioned problems in the prior art, the present invention relates to a tone generating apparatus for generating and outputting a loop waveform after an attack by connecting waveform data of a plurality of sections while cross-fading. An object of the present invention is to make it possible to change loop processing parameters such as a loop time and a crossfade time in real time with performance information such as data.

【0007】[0007]

【課題を解決するための手段】上記の目的を達成するた
め、請求項1に係る楽音発生装置は、発生すべき楽音の
音高を指示する音高データ指示手段と、操作に応じた連
続的な値の演奏情報をリアルタイムに出力する操作子
と、複数の波形データを記憶した記憶手段と、上記音高
データ指示手段により指示された音高にしたがう読出し
速度で、上記記憶手段に記憶された波形データをそれ
ぞれ所定のループ時間だけ繰返し読出ししながら時間的
に順次接続し、読出され接続された波形データに基いて
楽音信号を形成する楽音信号形成手段と、上記操作子か
らリアルタイムに出力される演奏情報に基づき、上記ル
ープ時間の長さを変更制御する制御手段とを具備するこ
とを特徴とする。請求項2に係る楽音発生装置は、発生
すべき楽音の音高を指示する音高データ指示手段と、操
作に応じた連続的な値の演奏情報をリアルタイムに出力
する操作子と、第1の波形データおよび第2の波形デー
タを記憶した記憶手段と、上記音高データ指示手段によ
り指示された音高にしたがう読出し速度で、上記記憶手
段に記憶された第1の波形データおよび第2の波形デー
タをそれぞれ繰返し読出し、所定のクロスフェード時間
をかけて第1の波形データから第2の波形データへクロ
スフェードしつつ合成して、該合成された波形データに
基づいて楽音信号を形成する楽音信号形成手段と、上記
操作子からリアルタイムに出力される演奏情報に基づ
き、上記クロスフェード時間の長さを変更制御する制御
手段とを具備することを特徴とする。
In order to achieve the above object, a musical tone generating apparatus according to the first aspect of the present invention comprises a pitch data instructing means for instructing a pitch of a musical tone to be generated; An operation element for outputting the performance information of various values in real time, a storage means for storing a plurality of waveform data, and a reading speed according to the pitch specified by the pitch data specifying means. each waveform data it
Repeatedly read for a predetermined loop time
Sequentially connected to a tone signal forming means to form a <br/> tone signal based on the read is connected waveform data on the basis of the performance information output in real time from the operating elements, the length of the loop time And control means for changing and controlling the change. According to a second aspect of the present invention, there is provided a musical tone generating apparatus comprising: a pitch data instructing unit for instructing a pitch of a musical tone to be generated; an operating element for outputting real-time continuous performance information according to an operation; Storage means for storing waveform data and second waveform data; and first and second waveform data and second waveform stored in the storage means at a reading speed according to a pitch designated by the pitch data designating means. repeatedly reading data, respectively, by combining with cross-fade from the first waveform data over a predetermined crossfade time to the second waveform data, to the synthesized waveform data
A tone signal forming means for forming a tone signal based on the tone signal, and a control means for changing and controlling the length of the cross-fade time based on performance information output in real time from the operator.

【0008】[0008]

【作用】上記構成によれば、操作子から出力される演奏
情報に基づいて、楽音信号形成手段における波形データ
の繰返し読出しのループ時間やクロスフェード時間がリ
アルタイムに変更制御される。
According to the above construction, the loop time and the cross-fade time of the repeated reading of the waveform data in the musical tone signal forming means are reset based on the performance information output from the operator.
Change control is performed in real time .

【0009】[0009]

【実施例】以下、図面を用いてこの発明の実施例を説明
する。
Embodiments of the present invention will be described below with reference to the drawings.

【0010】図1は本発明の一実施例に係る楽音発生装
置を適用した電子楽器(いわゆるサンプラー)の構成を
示すブロック図である。この図において、1は外部入力
部、2はアナログ/ディジタルコンバータ(A/Dコン
バータ)、3は波形サンプル書込み部、4はアクセスコ
ントロール部、5は波形メモリ、6はマイクロコンピュ
ータ、7はキーボード、8はパネルスイッチ、9は音
源、10はディジタル/アナログコンバータ(D/Aコ
ンバータ)、11はサウンドシステムを示す。
FIG. 1 is a block diagram showing the configuration of an electronic musical instrument (a so-called sampler) to which a tone generator according to an embodiment of the present invention is applied. In this figure, 1 is an external input unit, 2 is an analog / digital converter (A / D converter), 3 is a waveform sample writing unit, 4 is an access control unit, 5 is a waveform memory, 6 is a microcomputer, 7 is a keyboard, Reference numeral 8 denotes a panel switch, 9 denotes a sound source, 10 denotes a digital / analog converter (D / A converter), and 11 denotes a sound system.

【0011】この電子楽器は、外部から入力した音をサ
ンプリングし、その音色をボイスとして設定登録でき
る。ボイスを指定してキーボード7を演奏することによ
りサンプリングした音の音色で楽音を発生することがで
きる。
This electronic musical instrument can sample a sound input from the outside and set and register the timbre as a voice. By playing the keyboard 7 by designating a voice, a tone can be generated with the tone color of the sampled sound.

【0012】音のサンプリングは以下のように行う。ま
ず、外部入力部1により外部の音をアナログの電気信号
に変換して入力する。この入力信号をA/Dコンバータ
2によりディジタル信号に変換する。波形サンプル書込
み部3は、アクセスコントロール部4を介して、このデ
ィジタルの入力信号を波形サンプルデータとして波形メ
モリ5に書込む。波形サンプル書込み部3およびアクセ
スコントロール部4の動作は、マイクロコンピュータ6
により制御される。
The sampling of sound is performed as follows. First, an external sound is converted into an analog electric signal by the external input unit 1 and input. This input signal is converted into a digital signal by the A / D converter 2. The waveform sample writing unit 3 writes this digital input signal into the waveform memory 5 via the access control unit 4 as waveform sample data. The operations of the waveform sample writing section 3 and the access control section 4 are performed by the microcomputer 6
Is controlled by

【0013】次に、マイクロコンピュータ6はエディッ
ト処理を行い、サンプリングしたデータからアタック部
の波形データとループ部の幾つかの一波長分の波形デー
タを切出す。すなわち、マイクロコンピュータ6は、ア
クセスコントロール部4を介して波形メモリ5をアクセ
スし、波形メモリ5中の波形サンプルデータから所要の
データを切出す。残りデータは消去してもよいし、その
まま残しておいてもよい。
Next, the microcomputer 6 performs an edit process, and cuts out the waveform data of the attack portion and the waveform data of some one wavelength of the loop portion from the sampled data. That is, the microcomputer 6 accesses the waveform memory 5 via the access control unit 4 and cuts out required data from the waveform sample data in the waveform memory 5. The remaining data may be deleted or left as it is.

【0014】図4は、サンプリングデータからの切出し
の様子を示す波形図である。図5は、波形メモリ5内で
切出した波形データを記憶した部分のメモリマップであ
る。
FIG. 4 is a waveform diagram showing a state of cutting out from sampling data. FIG. 5 is a memory map of a portion storing waveform data cut out in the waveform memory 5.

【0015】図4において、401はサンプリングデー
タを示す。波形メモリ5に記憶されたサンプリングデー
タは、実際には、波形401の各サンプリング位置の振
幅データ(ディジタルデータ)の列であるが、ここでは
説明のため模擬的にアナログ表現の波形401でサンプ
リングデータを示すものとする。マイクロコンピュータ
6は、このサンプリングデータ401のアタック部の波
形データWAと、ループ部のとびとびの複数区間の波形
データWL1,WL2,…,WL8とを切出す。各ルー
プ波形データWL1,WL2,…,WL8はそれぞれ1
周期(1波長)分のデータである。アタック波形として
切出す範囲並びにループ波形を切出す数および位置は、
パネルスイッチ8により任意に指定できる。この図では
ループ部から8つのループ波形WL1,WL2,…,W
L8を切出す例としている。402は切出したアタック
波形データWA、403は切出した第5番目のループ波
形データWL5を示す。
In FIG. 4, reference numeral 401 denotes sampling data. The sampling data stored in the waveform memory 5 is actually a sequence of amplitude data (digital data) at each sampling position of the waveform 401, but here, for the sake of explanation, the sampling data is represented by a simulated analog representation of the waveform 401. Shall be shown. The microcomputer 6 extracts the waveform data WA of the attack portion of the sampling data 401 and the waveform data WL1, WL2,..., WL8 of a plurality of discrete sections of the loop portion. Each of the loop waveform data WL1, WL2,.
This is data for a cycle (one wavelength). The range to be cut out as an attack waveform and the number and position to cut out the loop waveform are as follows.
It can be arbitrarily specified by the panel switch 8. In this figure, eight loop waveforms WL1, WL2,.
In this example, L8 is cut out. Reference numeral 402 denotes the extracted attack waveform data WA, and reference numeral 403 denotes the extracted fifth loop waveform data WL5.

【0016】切出したアタック波形データWAおよびル
ープ波形データWL1,WL2,…,WL8は、図5に
示すように波形メモリ5内にシーケンス順に並べて記憶
される。さらに、マイクロコンピュータ6は、波形デー
タの切出し時に各種のボイスデータを設定する。ボイス
データとしては以下のようなものがある。 (a)アタックスタートアドレスAS 図5のように波形メモリ5に記憶されたアタック波形デ
ータWAの先頭アドレスである。 (b)ループスタートアドレスLSi(i=1〜8) 図5のように波形メモリ5に記憶されたループ波形デー
タWL1,WL2,…,WL8のそれぞれの先頭アドレ
スである。 (c)ループレングスLLi(i=1〜8) 図5のように波形メモリ5に記憶されたループ波形デー
タWL1,WL2,…,WL8のそれぞれのデータレン
グス(サンプリングデータの数)である。 (d)ループ時間LTi(i=1〜8) ループ波形データWL1,WL2,…,WL8のそれぞ
れを繰返し読出す時間を示す。例えば、図4のように、
ループ波形データWL1,WL2,…に対応するループ
時間がLT1,LT2,…とすると、ループ波形データ
WL1はループ時間LT1の間繰返し読出され、次にル
ープ波形データWL2はループ時間LT2の間繰返し読
出され、…、というように処理が進む。ループ時間は、
実際には、時間の逆数で表されている。すなわち、例え
ばループ時間LT1は、LT1の値を基準クロックごと
に累算していき「1」を越えたときにそのループ時間が
終了する、というように設定されている。 (e)ループピッチレシオLRi(i=1〜8) i番目のループ波形データWLiのループレングスLL
iから以下の式で算出される。
The extracted attack waveform data WA and loop waveform data WL1, WL2,..., WL8 are stored in the waveform memory 5 in the order of sequence as shown in FIG. Further, the microcomputer 6 sets various voice data at the time of extracting the waveform data. The voice data includes the following. (A) Attack start address AS This is the start address of the attack waveform data WA stored in the waveform memory 5 as shown in FIG. (B) Loop start address LSi (i = 1 to 8) These are the start addresses of the loop waveform data WL1, WL2,..., WL8 stored in the waveform memory 5 as shown in FIG. (C) Loop length LLi (i = 1 to 8) These are the data lengths (the number of sampling data) of the loop waveform data WL1, WL2,..., WL8 stored in the waveform memory 5 as shown in FIG. (D) Loop time LTi (i = 1 to 8) Indicates a time for repeatedly reading each of the loop waveform data WL1, WL2,..., WL8. For example, as shown in FIG.
Assuming that the loop times corresponding to the loop waveform data WL1, WL2,... Are LT1, LT2,..., The loop waveform data WL1 is repeatedly read during the loop time LT1, and then the loop waveform data WL2 is repeatedly read during the loop time LT2. Then, the processing proceeds. The loop time is
In practice, it is represented by the reciprocal of time. That is, for example, the loop time LT1 is set so that the value of LT1 is accumulated for each reference clock, and when the value exceeds “1”, the loop time ends. (E) Loop pitch ratio LRi (i = 1 to 8) Loop length LL of i-th loop waveform data WLi
It is calculated from i by the following formula.

【0017】 LRi=−1200×log2(SPL/LLi) ただし、SPLはサンプリングを行ったときの基準ピッ
チに対応する基準ループレングスを示す。この基準ピッ
チはユーザが適宜設定できる。ループレングスLLiに
対応する周波数をfi、サンプリング周波数をfsとす
れば、単位時間例えば1秒間のサンプル数がfsとなり
その中にループレングスLLiが幾つ分入るかが対応す
る周波数fiであるから、LLi=fs/fiとなる。
同様に、基準ピッチに対応する基準周波数をf0とすれ
ば、SPL=fs/f0となる。したがって、 LRi=1200×log2(fi/f0) となる。以上より、ループピッチレシオLRiはループ
レングスLLiに対応する周波数fiが基準周波数f0
から何セントずれているか、言替えればピッチのずれ分
を示す値となる。
LRi = −1200 × log 2 (SPL / LLi) where SPL indicates a reference loop length corresponding to a reference pitch when sampling is performed. This reference pitch can be appropriately set by the user. Assuming that the frequency corresponding to the loop length LLi is fi and the sampling frequency is fs, the number of samples per unit time, for example, one second, is fs, and the frequency fi corresponds to how many loop lengths LLi are included therein. = Fs / fi.
Similarly, if the reference frequency corresponding to the reference pitch is f0, SPL = fs / f0. Therefore, LRi = 1200 × log 2 (fi / f0). As described above, the loop pitch ratio LRi is such that the frequency fi corresponding to the loop length LLi is equal to the reference frequency f0.
It is a value that indicates how many cents are deviated from the pitch, in other words, the pitch deviation.

【0018】なお、基準周波数をアタック部とすること
は必ずしも必要なく、途中または最後のループ部を基準
周波数とするか、いずれの波形とも独立に基準周波数を
設定するようにしてもよい。 (f)クロスフェード時間XTi あるループ波形データから次のループ波形データへ移行
する際のクロスフェードの時間を示す。例えば、XT1
はループ波形データWL1からループ波形データWL2
へのクロスフェードの時間を示す。クロスフェード時間
は、実際には、時間の逆数で表されている。すなわち、
例えばクロスフェード時間XT1は、XT1の値を基準
クロックごとに累算していき「1」を越えたときにその
クロスフェード時間が終了する、というように設定され
ている。 (g)修飾データMOD イニシャルタッチおよびアフタータッチの量に基づく係
数である。この係数MODはループ時間LTiおよびク
ロスフェード時間XTiをリアルタイムに修飾する。 (h)エンベロープジェネレータデータ エンベロープ波形を発生するためのパラメータである。
Note that it is not always necessary to use the reference frequency as the attack portion, and the middle or last loop portion may be used as the reference frequency, or the reference frequency may be set independently of any waveform. (F) Cross-fade time XTi Indicates the cross-fade time at the time of transition from one loop waveform data to the next loop waveform data. For example, XT1
Is the loop waveform data WL2 from the loop waveform data WL1.
Indicates the time of the crossfade to The crossfade time is actually represented by the reciprocal of time. That is,
For example, the crossfade time XT1 is set so that the value of XT1 is accumulated for each reference clock and the crossfade time ends when the value exceeds "1". (G) Modification data MOD is a coefficient based on the amount of initial touch and after touch. This coefficient MOD modifies the loop time LTi and the crossfade time XTi in real time. (H) Envelope generator data These are parameters for generating an envelope waveform.

【0019】以上のボイスデータのうち、アタックスタ
ートアドレスASおよびループスタートアドレスLSi
は、マイクロコンピュータ6が波形メモリ5にデータを
記憶する際に自動的に定まる。ループレングスLLiは
サンプリングデータの切出し位置に応じて定まり、ルー
プピッチレシオLRiは自動的に算出される。ループ時
間LTiは図4に示すようにサンプリングの際に各ルー
プ波形を切出した位置の間の時間間隔を算出し、これに
基づいて算出している。なお、ループ時間LTiはユー
ザが任意に設定することもできる。クロスフェード時間
XTiおよびエンベロープジェネレータデータはユーザ
が任意に設定できる。イニシャルタッチおよびアフター
タッチの量に基づき修飾データMODの値をどの様に出
力するか(すなわちタッチの効く度合い)はユーザが任
意に設定できる。
Of the above voice data, the attack start address AS and the loop start address LSi
Is automatically determined when the microcomputer 6 stores data in the waveform memory 5. The loop length LLi is determined according to the sampling data extraction position, and the loop pitch ratio LRi is automatically calculated. As shown in FIG. 4, the loop time LTi is calculated based on a time interval between positions at which each loop waveform is cut out at the time of sampling. The loop time LTi can be arbitrarily set by the user. The user can arbitrarily set the cross-fade time XTi and the envelope generator data. The user can arbitrarily set how to output the value of the decoration data MOD based on the amount of the initial touch and the after touch (that is, the degree of the touch effect).

【0020】以上のようにして波形メモリ5に波形デー
タが切出され、ボイスデータが設定される。再び図1を
参照して、その後パネルスイッチ8によりこのボイスを
指定してキーボード7を演奏すると、キーボード7から
演奏情報がマイクロコンピュータ6に入力する。マイク
ロコンピュータ6はこの演奏情報に基づき音源9に発音
指示信号を送出する。音源9はあらかじめ指定されてい
るボイスに対応する波形データおよびボイスデータを波
形メモリ5から読出し、楽音信号を合成してD/Aコン
バータ10に出力する。アナログ信号に変換された楽音
信号はサウンドシステム11で発音される。
As described above, the waveform data is cut out in the waveform memory 5, and the voice data is set. Referring to FIG. 1 again, when the keyboard 7 is played by designating this voice by the panel switch 8, performance information is input from the keyboard 7 to the microcomputer 6. The microcomputer 6 sends a tone generation instruction signal to the sound source 9 based on the performance information. The sound source 9 reads out waveform data and voice data corresponding to a voice designated in advance from the waveform memory 5, synthesizes a tone signal, and outputs the synthesized tone signal to the D / A converter 10. The tone signal converted into the analog signal is generated by the sound system 11.

【0021】図2は、図1の電子楽器の音源9の詳細な
構成を示す。図2の音源を説明する前に、この音源にお
けるループ部の再生時のピッチ変化について概要を説明
する。
FIG. 2 shows a detailed configuration of the sound source 9 of the electronic musical instrument of FIG. Before describing the sound source of FIG. 2, a brief description will be given of a pitch change at the time of reproduction of a loop portion in the sound source.

【0022】図6(a)は、この実施例の装置における
ピッチ変化を示す。アタック部における曲線601はア
タック波形データのピッチ変化を示す。ループ部におけ
る点線曲線602は実際にサンプリングした元の音のピ
ッチ変化を示す。ピッチ変化は基準ピッチからの高低で
図示した。603−1,603−2,…は各ループ波形
データWL1,WL2,…の読出しが開始されるタイミ
ングを示す。
FIG. 6A shows a pitch change in the device of this embodiment. A curve 601 in the attack portion indicates a change in the pitch of the attack waveform data. A dotted curve 602 in the loop portion indicates a pitch change of the original sound actually sampled. The pitch change is shown by the height from the reference pitch. .. Indicate the timing at which reading of each loop waveform data WL1, WL2,.

【0023】アタック波形部分601はサンプリングし
た音のアタック部の全データを記憶して再生しているの
で、元のサンプリングした音のピッチ変化が再現され
る。一方、ループ部はループ波形データ(1波長分のデ
ータ)を繰返し読出して再生するため点線曲線602の
ような元の音のピッチ変化は再現されない。そこで、こ
の音源9では各ループ区間のピッチ変化が順次線分60
4−1,604−2,…になるようにしている。すなわ
ち、第1のループ波形データWL1のピッチはループピ
ッチレシオLR1だけ基準ピッチからずれており、第2
のループ波形データWL2のピッチはループピッチレシ
オLR2だけ基準ピッチからずれている。そこで、第1
のループ波形データWL1から第2のループ波形データ
WL2へと音量をクロスフェードする間に、基準ピッチ
からのずれ量もループピッチレシオLR1からLR2へ
とクロスフェードするように読出しスピードを制御して
いる。
Since the attack waveform portion 601 stores and reproduces all data of the attack portion of the sampled sound, the pitch change of the original sampled sound is reproduced. On the other hand, since the loop portion repeatedly reads and reproduces loop waveform data (data for one wavelength), the pitch change of the original sound as indicated by the dotted curve 602 is not reproduced. Therefore, in the sound source 9, the pitch change in each loop section is sequentially changed by 60 line segments.
4-1, 604-2,... That is, the pitch of the first loop waveform data WL1 is shifted from the reference pitch by the loop pitch ratio LR1, and
Of the loop waveform data WL2 is shifted from the reference pitch by a loop pitch ratio LR2. Therefore, the first
While the volume is cross-fade from the loop waveform data WL1 to the second loop waveform data WL2, the reading speed is controlled so that the deviation from the reference pitch also cross-fade from the loop pitch ratio LR1 to LR2. .

【0024】図6(b)は、図5の各波形データを読出
すスピードを示す。アタック波形データWAはサンプリ
ングした音のアタック部の全データであるから、図6
(b)の線分610のように一定のスピード(押下され
た鍵に対応するスピード)でデータを読出すことによ
り、図6(a)の曲線601のピッチ変化が再現され
る。ループ部においては上述したように基準ピッチから
のずれ量を示すループピッチレシオもクロスフェードす
るようにしているので、丸印の付されている位置がアタ
ック波形と同じ読出しスピードとなる。すなわち、波形
サイズが異なるため、同じピッチで再生するためにはサ
ンプル数が多いほどアドレスの進み方を速くしなければ
ならない。
FIG. 6B shows the speed at which each waveform data of FIG. 5 is read. Since the attack waveform data WA is all data of the attack portion of the sampled sound, FIG.
By reading data at a constant speed (speed corresponding to the pressed key) as shown by the line segment 610 in FIG. 6B, the pitch change of the curve 601 in FIG. 6A is reproduced. As described above, the loop pitch ratio indicating the amount of deviation from the reference pitch is also cross-fade in the loop portion, so that the positions marked with circles have the same read speed as the attack waveform. That is, since the waveform sizes are different, in order to reproduce at the same pitch, the address must be advanced faster as the number of samples is larger.

【0025】図2を参照して実施例の音源9の説明をす
る。音源9は複数発音可能な音源であり、後述する各回
路は時分割で使用されている。この実施例の音源9は、
ボイスを特定するボイス番号に応じたボイスデータを格
納するレジスタ21〜28を有する。レジスタ21はア
タックスタードアドレスASを、レジスタ22はループ
スタードアドレスLSiを、レジスタ23はループレン
グスLLiを、レジスタ24はループ時間LTを、レジ
スタ25はループピッチレシオLRiを、レジスタ26
はクロスフェード時間XTiを、レジスタ27は修飾デ
ータMODを、レジスタ28はエンベロープジェネレー
タ(EG)データを、それぞれ格納する。ただし、i=
1〜8である。29は図1のマイクロコンピュータ6か
らの発音指示信号を入力するためのインターフェースで
ある。このマイコンインターフェース29は、発音指示
に応じて発音すべき楽音の再生ピッチ(セントレンジ)
PBP、鍵盤のタッチデータ、およびキーオン信号KO
Nを出力する。タッチデータとしては、イニシャルタッ
チデータITとアフタータッチデータAFTからIT+
k×AFTを算出して出力する。kは所定の係数であ
る。
The sound source 9 of the embodiment will be described with reference to FIG. The sound source 9 is a sound source capable of generating a plurality of sounds, and each circuit described later is used in a time-division manner. The sound source 9 of this embodiment is
It has registers 21 to 28 for storing voice data corresponding to the voice number specifying the voice. The register 21 has an attack start address AS, the register 22 has a loop start address LSi, the register 23 has a loop length LLi, the register 24 has a loop time LT, the register 25 has a loop pitch ratio LRi, and a register 26.
Indicates the crossfade time XTi, the register 27 stores the decoration data MOD, and the register 28 stores the envelope generator (EG) data. Where i =
1 to 8. Reference numeral 29 denotes an interface for inputting a sound generation instruction signal from the microcomputer 6 in FIG. The microcomputer interface 29 provides a reproduction pitch (cent range) of a musical tone to be produced in accordance with the pronunciation instruction.
PBP, keyboard touch data, and key-on signal KO
N is output. The touch data includes initial touch data IT and after touch data AFT from IT +
k × AFT is calculated and output. k is a predetermined coefficient.

【0026】波形シーケンス発生器39はアタック信号
ATおよびループ時間カウンタ41からのキャリー信号
を入力しシーケンスナンバnを出力する。アタック信号
ATはアドレス発生器32で生成される信号で、アタッ
ク部の読出しのとき「1」、ループ部の読出しのとき
「0」である。ループ時間カウンタ41からのキャリー
信号は各ループ時間が終了したとき発生される。波形シ
ーケンス発生器39は、アタック信号ATが「1」のと
きは常に「0」を出力し、アタック信号ATが「0」に
なってからはキャリー信号が入力するたびにインクリメ
ントされた値を順次出力する。したがって、シーケンス
ナンバnが「0」のときはアタック部の読出し、シーケ
ンスナンバnが「1」のときはループ部の第1番目のル
ープ波形データの読出し(クロスフェードのため同時に
次の第2番目のループ波形データも読出される)、シー
ケンスナンバnが「2」のときはループ部の第2番目の
ループ波形データの読出し(同時に第3番目のループ波
形データも読出される)、…というように処理が進む。
The waveform sequence generator 39 receives the attack signal AT and the carry signal from the loop time counter 41 and outputs a sequence number n. The attack signal AT is a signal generated by the address generator 32, and is "1" when reading the attack part and "0" when reading the loop part. The carry signal from the loop time counter 41 is generated when each loop time ends. The waveform sequence generator 39 always outputs “0” when the attack signal AT is “1”, and sequentially increments the value each time a carry signal is input after the attack signal AT becomes “0”. Output. Therefore, when the sequence number n is "0", the attack portion is read, and when the sequence number n is "1", the first loop waveform data of the loop portion is read (the second loop waveform data is simultaneously read due to cross-fade). Is read out), when the sequence number n is "2", the second loop waveform data of the loop portion is read out (the third loop waveform data is read out at the same time), and so on. The process proceeds to.

【0027】波形シーケンス発生器39から出力される
シーケンスナンバnは、レジスタ21,22,23,2
4,25,26,27に入力する。さらに、レジスタ2
2,23には基準クロックφが入力する。これらの入力
に応じて各レジスタは以下のようにデータを出力する。
すなわち、レジスタ21はシーケンスナンバn=0のと
きアタックスタートアドレスASを出力する。レジスタ
22は、シーケンスナンバnに対し、基準クロックφが
「0」レベルのときは第n番目のループスタートアドレ
スLSn を出力し、基準クロックφが「1」レベルの
ときは第n+1番目のループスタートアドレスLSn+
1を出力する。レジスタ23は、シーケンスナンバnに
対し、基準クロックφが「0」レベルのときは第n番目
のループレングスLLn を出力し、基準クロックφが
「1」レベルのときは第n+1番目のループレングスL
Ln+1を出力する。レジスタ24は、シーケンスナン
バnに対し、第n番目のループ時間LTnを出力する。
レジスタ25は、シーケンスナンバnに対し、第n+1
番目のループピッチレシオLRn+1を出力する。レジ
スタ26は、シーケンスナンバnに対し、第n番目のク
ロスフェード時間XTnを出力する。
The sequence number n output from the waveform sequence generator 39 corresponds to the registers 21, 22, 23, 2
4, 25, 26 and 27 are input. In addition, register 2
Reference clocks φ are input to 2 and 23. In response to these inputs, each register outputs data as follows.
That is, the register 21 outputs the attack start address AS when the sequence number n = 0. The register 22 outputs the n-th loop start address LSn for the sequence number n when the reference clock φ is at “0” level, and outputs the (n + 1) th loop start address when the reference clock φ is at “1” level. Address LSn +
Outputs 1. The register 23 outputs the n-th loop length LLn for the sequence number n when the reference clock φ is at the “0” level, and outputs the (n + 1) th loop length Ln when the reference clock φ is at the “1” level.
Ln + 1 is output. The register 24 outputs the n-th loop time LTn for the sequence number n.
The register 25 stores (n + 1) th sequence number n
The second loop pitch ratio LRn + 1 is output. The register 26 outputs the n-th crossfade time XTn for the sequence number n.

【0028】再生ピッチPBPには加算機30において
ピッチ変動値PFが加算され、その結果は周波数ナンバ
(Fナンバ)発生部31に入力する。Fナンバ発生部3
1は、入力したピッチの値に応じたFナンバを発生す
る。このFナンバはアドレス発生器32に入力する。ま
た、アドレス発生器32には、キーオン信号KONとと
もにレジスタ21,22,23のアタックスタートアド
レスAS、ループスタートアドレスLSn/LSn+1
およびループレングスLLn/LLn+1が入力す
る。なお、上述したようにレジスタ22,23は基準ク
ロックφに基づいて読出され、この基準クロックφが
「0」レベルのときは第n番目のデータLSnおよびL
Lnが、「1」レベルのときは第n+1番目のデータL
Sn+1およびLLn+1が、それぞれ読出される。
The pitch variation PF is added to the reproduction pitch PBP by the adder 30, and the result is input to a frequency number (F number) generator 31. F number generator 3
1 generates an F number corresponding to the input pitch value. This F number is input to the address generator 32. The address generator 32 also includes an attack start address AS and a loop start address LSn / LSn + 1 of the registers 21, 22, and 23 together with the key-on signal KON.
And the loop length LLn / LLn + 1 are input. As described above, registers 22 and 23 are read based on reference clock φ. When reference clock φ is at “0” level, n-th data LSn and L-th data LSn are output.
When Ln is at “1” level, the (n + 1) th data L
Sn + 1 and LLn + 1 are read, respectively.

【0029】図3を参照してアドレス発生器32を説明
する。アドレス発生器32は、Fナンバを入力して累算
器71にて累算する。Fナンバは発生すべき楽音(押鍵
キーに対応するピッチの楽音)の周波数に比例する値
(通常は1近辺の値を用いる)であり、累算するごとに
整数部+小数部という形で出力される。また、整数部は
直接アドレスに対応し、小数部は補間のために利用され
るがこの実施例では説明の便宜上小数部を使っての補間
処理は省略されている。
The address generator 32 will be described with reference to FIG. The address generator 32 receives the F number and accumulates it in the accumulator 71. The F number is a value proportional to the frequency of a musical tone to be generated (a musical tone having a pitch corresponding to a key-depressed key) (usually, a value around 1 is used). Is output. The integer part directly corresponds to the address, and the decimal part is used for interpolation. However, in this embodiment, the interpolation processing using the decimal part is omitted for convenience of explanation.

【0030】キーオン信号KONが入力すると、アタッ
クレジスタ77にアタックスタートアドレスASが格納
される。また、フリップフロップ75が「1」にセット
される。フリップフロップ75の値「1」はアタック信
号ATとして外部に出力されるとともに、セレクタ76
に入力する。このとき、セレクタ76はアタックレジス
タ77のアタックスタートアドレスASを加算器73に
選択出力する。アタック波形データの読出し時(シーケ
ンスナンバn=0)には、乗算器72に「1」が入力し
ている(基準クロックφが「1」のとき)。以上より、
アドレス発生器32は以下のようなアドレスADを出力
する。
When the key-on signal KON is input, the attack register 77 stores the attack start address AS. Further, the flip-flop 75 is set to “1”. The value “1” of the flip-flop 75 is output to the outside as an attack signal AT, and
To enter. At this time, the selector 76 selectively outputs the attack start address AS of the attack register 77 to the adder 73. When the attack waveform data is read (sequence number n = 0), “1” is input to the multiplier 72 (when the reference clock φ is “1”). From the above,
The address generator 32 outputs the following address AD.

【0031】AD=qF+AS ただし、qFはFナンバであるFをq回累算した値を示
す。このようにしてアドレス発生器32はアタック波形
データの読出しアドレスADを出力する。
AD = qF + AS Here, qF is a value obtained by accumulating F, which is the F number, q times. Thus, the address generator 32 outputs the read address AD of the attack waveform data.

【0032】次に、Fナンバの累算が進行し、アドレス
出力ADが第1番目のループ波形データWL1のスター
トアドレスLS1を越えると(シーケンスナンバn=
1)、比較器74はフリップフロップ75にリセット信
号を出力する。これにより、フリップフロップ75の値
は「0」となり、アタック信号ATは「0」となり、セ
レクタ76には「0」が入力する。このときセレクタ7
6はループスタートアドレスLS1/LS2を加算器7
3に選択出力する。したがって、アドレス発生器32
は、基準クロックφが「0」のとき AD=qF×LL1/SPL+LS1 を出力し、基準クロックφが「1」のとき AD=qF×LL2/SPL+LS2 を出力する。同様にして、一般的にアドレス発生器32
は、シーケンスナンバがnのとき、基準クロックφが
「0」で AD=qF×LLn/SPL+LSn を出力し、基準クロックφが「1」で AD=(qF×(LLn+1/SPL))+LSn+1 を出力する。
Next, when the accumulation of the F number progresses and the address output AD exceeds the start address LS1 of the first loop waveform data WL1 (sequence number n =
1), the comparator 74 outputs a reset signal to the flip-flop 75. As a result, the value of the flip-flop 75 becomes “0”, the attack signal AT becomes “0”, and “0” is input to the selector 76. At this time, the selector 7
6 is a loop start address LS1 / LS2 to adder 7
3 is selected and output. Therefore, the address generator 32
Outputs AD = qF × LL1 / SPL + LS1 when the reference clock φ is “0”, and outputs AD = qF × LL2 / SPL + LS2 when the reference clock φ is “1”. Similarly, generally, the address generator 32
Outputs AD = qF × LLn / SPL + LSn when the reference clock φ is “0” when the sequence number is n, and outputs AD = (qF × (LLn + 1 / SPL)) + LSn + 1 when the reference clock φ is “1”. I do.

【0033】再び図2を参照して、アドレス発生器32
から出力されたアドレスADにより波形メモリ(図5)
がアクセスされ、波形データ33が読出される。この読
出しでは、基準クロックφが「0」レベルのとき第n番
目のループ波形データWLnが読出され、基準クロック
φが「1」レベルのとき第n+1番目のループ波形デー
タWLn+1が読出される。読出された波形データはク
ロスフェード合成部34に入力する。クロスフェード合
成部34では、読出された波形データをラッチ用クロッ
クφ1の立ち上がりでラッチ51に記憶する。ラッチ用
クロックφ1は、第n番目のループ波形データWLnが
読出されている間に立ち上がるように設定されており、
これによりラッチ51には第n番目のループ波形データ
WLnのデータがラッチされる。乗算器52は、ラッチ
51にラッチされた第n番目のループ波形データWLn
のデータとインバータ46の出力とを乗算し、加算器5
4に出力する。後述するように、インバータ46は
「1」から「0」へと漸減しクロスフェード時間の後は
「0」を出力する。一方、乗算器53は、基準クロック
φが「1」レベルのとき第n+1番目のループ波形デー
タWLn+1のデータとクロスフェードカウンタ43の
出力とを乗算し、加算器54に出力する。後述するよう
に、クロスフェードカウンタ43は「0」から「1」へ
漸増しクロスフェード時間の後は「1」を出力する。加
算器54は、乗算器52の出力と乗算器53の出力とを
加算し、乗算器35に出力する。
Referring again to FIG. 2, address generator 32
Memory (Fig. 5) by address AD output from
Is accessed, and the waveform data 33 is read. In this reading, when reference clock φ is at “0” level, n-th loop waveform data WLn is read, and when reference clock φ is at “1” level, n + 1-th loop waveform data WLn + 1 is read. The read waveform data is input to the cross-fade synthesizing unit 34. The cross-fade synthesizing unit 34 stores the read waveform data in the latch 51 at the rise of the latch clock φ1. The latch clock φ1 is set to rise while the n-th loop waveform data WLn is being read,
As a result, the data of the n-th loop waveform data WLn is latched in the latch 51. The multiplier 52 outputs the n-th loop waveform data WLn latched by the latch 51.
Is multiplied by the output of the inverter 46, and an adder 5
4 is output. As will be described later, the inverter 46 gradually decreases from "1" to "0" and outputs "0" after the cross-fade time. On the other hand, when the reference clock φ is at the “1” level, the multiplier 53 multiplies the data of the (n + 1) th loop waveform data WLn + 1 by the output of the crossfade counter 43 and outputs the result to the adder 54. As described later, the crossfade counter 43 gradually increases from "0" to "1" and outputs "1" after the crossfade time. The adder 54 adds the output of the multiplier 52 and the output of the multiplier 53 and outputs the result to the multiplier 35.

【0034】レジスタ28はキーオン信号KONおよび
タッチデータを入力し、対応するエンベロープジェネレ
ータデータを出力する。EGユニット38はこのエンベ
ロープジェネレータデータを入力して、実際のエンベロ
ープ波形を出力する。乗算器35は加算器54からの出
力波形データにこのエンベロープ波形を乗算して出力す
る。乗算器35から時分割で出力される各チャンネルの
出力データはチャンネル累算器36で各チャンネルごと
に累算され、図1のD/Aコンバータ10に出力され
る。
The register 28 receives the key-on signal KON and the touch data, and outputs the corresponding envelope generator data. The EG unit 38 receives the envelope generator data and outputs an actual envelope waveform. The multiplier 35 multiplies the output waveform data from the adder 54 by this envelope waveform and outputs the result. Output data of each channel output from the multiplier 35 in a time-division manner is accumulated for each channel by the channel accumulator 36 and output to the D / A converter 10 in FIG.

【0035】レジスタ24から出力されたループ時間デ
ータLTn は乗算器40において修飾データMODと
乗算され、ループ時間カウンタ41に入力する。ループ
時間カウンタ41は、アタック信号ATが「1」のと
き、すなわちアタック波形データを読出しているとき
は、常にキャリー信号を出力する。アタック信号ATが
「0」のとき、すなわちループ波形データを読出してい
るときは、乗算器40からの入力の値を累算しカウント
結果として出力するとともに、カウント結果が「1」を
越えたときキャリー信号を発生する。したがって、カウ
ント結果としては「0」から「1」へ漸増する値がクロ
スフェード部45のインバータ62および乗算器64に
出力される。インバータ62は、「1」からこのカウン
ト結果を減算し、その結果「1」から「0」へ漸減する
値が乗算器63に出力される。
The loop time data LTn output from the register 24 is multiplied by the modification data MOD in the multiplier 40 and input to the loop time counter 41. The loop time counter 41 always outputs a carry signal when the attack signal AT is "1", that is, when the attack waveform data is being read. When the attack signal AT is "0", that is, when the loop waveform data is being read, the value of the input from the multiplier 40 is accumulated and output as a count result, and when the count result exceeds "1". Generate carry signal. Therefore, a value that gradually increases from “0” to “1” is output to the inverter 62 and the multiplier 64 of the crossfade unit 45 as the count result. Inverter 62 subtracts this count result from “1”, and outputs a value that gradually decreases from “1” to “0” to multiplier 63 as a result.

【0036】レジスタ25から出力されたループピッチ
レシオLRn+1は、ループピッチレシオをクロスフェ
ードするクロスフェード部45に入力する。クロスフェ
ード部45のラッチ61は、ループ時間カウンタ41か
らのキャリー信号のタイミングでループピッチレシオL
Rnをラッチし、その後波形シーケンス発生器39がシ
ーケンスナンバをインクリメントし、次のループピッチ
レシオLRn+1が出力されるので、ラッチ61には前
のループピッチレシオLRnが記憶されていることとな
る。ラッチ61にラッチされた前のループピッチレシオ
LRnは、乗算器63において「1」から「0」へ漸減
する値と乗算される。その結果は加算器65に入力す
る。ループピッチレシオLRn+1は、乗算器64にお
いて「0」から「1」へ漸増する値と乗算される。その
結果は加算器65に入力する。加算器65は乗算器63
と乗算器64の出力を加算する。これにより、ループ波
形データWLnのループピッチレシオLRnから次のル
ープ波形データWLn+1のループピッチレシオLRn
+1までを、クロスフェードにより補間してピッチ変動
値PFを算出することができる。ピッチ変動値PFは加
算器30において発生すべき楽音のピッチと加算され、
各波形データの波長が異なる場合でも自然に各波形デー
タが繋がれていく。
The loop pitch ratio LRn + 1 output from the register 25 is input to a cross-fade unit 45 for cross-fading the loop pitch ratio. The latch 61 of the cross-fade unit 45 controls the loop pitch ratio L at the timing of the carry signal from the loop time counter 41.
After latching Rn, the waveform sequence generator 39 increments the sequence number and outputs the next loop pitch ratio LRn + 1, so that the latch 61 stores the previous loop pitch ratio LRn. The previous loop pitch ratio LRn latched by the latch 61 is multiplied by the multiplier 63 with a value that gradually decreases from “1” to “0”. The result is input to the adder 65. The loop pitch ratio LRn + 1 is multiplied by the multiplier 64 with a value that gradually increases from “0” to “1”. The result is input to the adder 65. The adder 65 is a multiplier 63
And the output of the multiplier 64. Thus, the loop pitch ratio LRn of the next loop waveform data WLn + 1 is changed from the loop pitch ratio LRn of the loop waveform data WLn.
The pitch variation value PF can be calculated by interpolating up to +1 by crossfading. The pitch fluctuation value PF is added to the pitch of the musical tone to be generated in the adder 30,
Even when the wavelengths of the respective waveform data are different, the respective waveform data are naturally connected.

【0037】レジスタ26から出力されたクロスフェー
ド時間XTn は乗算器42において修飾データMOD
と乗算され、クロスフェードカウンタ43に入力する。
クロスフェードカウンタ43は、OR回路44からの出
力信号によりリセットされる。OR回路44には、ルー
プ時間カウンタ41のキャリー信号およびアタック信号
ATが入力している。したがって、クロスフェードカウ
ンタ43は、アタック部が読出されているとき、または
あるループ区間のループ時間が終了して次のループ波形
データの読出しに移行するときに、リセットされること
となる。クロスフェードカウンタ43は乗算器42から
の入力値を累算してその累算値を出力するとともに
「1」を越えてオーバーフローしたとき以降は「1」を
ホールドして出力する。したがって、「0」から「1」
へ漸増し「1」に至って以降は「1」となる値がインバ
ータ46および乗算器53に出力される。この出力は、
上述したようにループ波形データのクロスフェードのた
めに用いられる。
The cross-fade time XTn output from the register 26 is applied to the modifier data MOD in the multiplier 42.
, And input to the crossfade counter 43.
The crossfade counter 43 is reset by an output signal from the OR circuit 44. The carry signal and the attack signal AT of the loop time counter 41 are input to the OR circuit 44. Therefore, the crossfade counter 43 is reset when the attack portion is being read, or when the loop time of a certain loop section ends and the process shifts to reading the next loop waveform data. The crossfade counter 43 accumulates the input value from the multiplier 42 and outputs the accumulated value. When the overflow exceeds "1", the crossfade counter 43 holds and outputs "1". Therefore, from "0" to "1"
Then, a value that gradually increases to “1” and thereafter becomes “1” is output to the inverter 46 and the multiplier 53. This output is
As described above, it is used for cross-fading of loop waveform data.

【0038】図7は、クロスフェード合成部34におけ
るクロスフェード処理を示すタイミングチャートであ
る。基準クロックφが「0」レベルにある途中でラッチ
用クロックφ1が立ち上がっている。アドレス発生器3
2から出力されるアドレスデータADで読み出される波
形データ出力は、基準クロックφが「0」レベルにある
ときWLnで、基準クロックφが「1」レベルにあると
きWLn+1である。ラッチ51はラッチ用クロックφ
1の立上がりのタイミングで波形データWLnのデータ
をラッチしている。そして、基準クロックφが「1」レ
ベルにあるとき、波形データWLnのデータと波形デー
タWLn+1のデータとをクロスフェードしている。
FIG. 7 is a timing chart showing the cross-fade processing in the cross-fade synthesizing section 34. While the reference clock φ is at the “0” level, the latch clock φ1 rises. Address generator 3
2 is WLn when the reference clock φ is at the “0” level, and WLn + 1 when the reference clock φ is at the “1” level. The latch 51 has a latch clock φ.
The data of the waveform data WLn is latched at the rising timing of 1. When the reference clock φ is at the “1” level, the data of the waveform data WLn and the data of the waveform data WLn + 1 are cross-fade.

【0039】図8は、波形シーケンスナンバに沿ってク
ロスフェード処理を説明するためのタイミングチャート
である。シーケンスナンバが「0」のときはアタック波
形データの読出しである。このときアタック信号ATは
「1」であり、基準クロックφが「0」のタイミングで
アタック波形データWAが読出される。基準クロックφ
が「1」のときは何も読出されない。アタック信号AT
が「1」のとき、クロスフェードカウンタ43およびル
ープ時間カウンタ41はいずれも「0」であり、クロス
フェードの処理は行われない。
FIG. 8 is a timing chart for explaining the cross-fade processing along the waveform sequence number. When the sequence number is "0", the attack waveform data is read. At this time, the attack signal AT is “1”, and the attack waveform data WA is read at the timing when the reference clock φ is “0”. Reference clock φ
Is "1", nothing is read. Attack signal AT
Is "1", the crossfade counter 43 and the loop time counter 41 are both "0", and no crossfade processing is performed.

【0040】アタック波形データの読出しが終了する
と、シーケンスナンバは「1」となり、ループ波形デー
タの読出しが開始される。まず、基準クロックφが
「0」のタイミングで第1番目のループ波形データWL
1が読出され、基準クロックφが「1」のタイミングで
第2番目のループ波形データWL2が読出される。これ
らの波形データを読出すループ時間の間、ループ時間カ
ウンタ41は「0」から「1」へと漸増する。したがっ
て、このループ時間の間では、始めは第1番目のループ
波形データWL1に対応するループピッチレシオLR1
でピッチ変動値PFを出力し、徐々に第2番目のループ
波形データWL2に対応するループピッチレシオLR2
に近付けながらピッチ変動値PFを出力し、最終的にル
ープピッチレシオLR2でピッチ変動値PFを出力する
ようにする。さらに、このループ時間に含まれるクロス
フェード時間の間、クロスフェードカウンタ43は
「0」から「1」へと漸増する。したがって、このクロ
スフェード時間の間では、始めは第1番目のループ波形
データWL1を出力し、徐々にループ波形データWL1
の音量を下げて第2番目のループ波形データWL2の音
量を上げていき、最終的にループ波形データWL2のみ
を出力するようにする。なお、クロスフェード時間の後
は、ループ波形データWL2のみが出力される。これ以
降はシーケンスナンバnがカウントアップされるにした
がい、同様に処理される。
When the reading of the attack waveform data is completed, the sequence number becomes "1", and the reading of the loop waveform data is started. First, at the timing when the reference clock φ is “0”, the first loop waveform data WL
1 is read, and the second loop waveform data WL2 is read at the timing when the reference clock φ is “1”. During the loop time for reading these waveform data, the loop time counter 41 gradually increases from "0" to "1". Therefore, during this loop time, the loop pitch ratio LR1 corresponding to the first loop waveform data WL1 initially.
Output the pitch fluctuation value PF, and gradually increase the loop pitch ratio LR2 corresponding to the second loop waveform data WL2.
, And outputs the pitch fluctuation value PF by the loop pitch ratio LR2. Further, during the cross-fade time included in this loop time, the cross-fade counter 43 gradually increases from “0” to “1”. Therefore, during this cross-fade time, the first loop waveform data WL1 is output at first, and the loop waveform data WL1 is gradually increased.
, The volume of the second loop waveform data WL2 is increased, and finally only the loop waveform data WL2 is output. After the crossfade time, only the loop waveform data WL2 is output. Thereafter, the same processing is performed as the sequence number n is counted up.

【0041】この実施例によれば、基準クロックφの値
に応じて2系列で波形データとボイスデータを読出し、
これらをクロスフェードしており、さらにクロスフェー
ドする2つの波形データ間でピッチのずれを補間するよ
うにしている。すなわち、ピッチのずれ量をクロスフェ
ードしてピッチ変動値PFを算出しFナンバに加算して
いる。Fナンバは波形データを読出す読出し速度を規定
しているので、読出し速度がクロスフェードされたこと
となる。このように読出し速度をクロスフェードさせて
いるので、各波形データの波長(周期)が異なる場合で
も、その波長が自然に移行していくように読出すことが
できる。また、基準の波長に次第に戻るようにできる。
According to this embodiment, waveform data and voice data are read in two series according to the value of the reference clock φ,
These are cross-faded, and a pitch shift is interpolated between two cross-fading waveform data. That is, the pitch shift amount PF is calculated by cross-fading the pitch shift amount and added to the F number. Since the F number specifies the read speed at which the waveform data is read, the read speed is cross-fade. Since the reading speed is cross-fade as described above, even when the wavelengths (periods) of the respective waveform data are different, the reading can be performed such that the wavelengths shift naturally. Further, it is possible to gradually return to the reference wavelength.

【0042】さらに、タッチデータに応じてループ時間
とクロスフェード時間を修飾しているので、タッチを変
化させることにより音色の変化スピードを変えることが
できる。
Furthermore, since the loop time and the crossfade time are modified according to the touch data, the speed of change of the tone can be changed by changing the touch.

【0043】なお、本実施例ではループ時間カウンタ4
1の出力を用いてピッチ補間によりピッチ変動値PFを
作成しているがそれに代えて図4の原波形からシーケン
スナンバ毎に抽出したピッチエンベロープを記憶したメ
モリをループ時間カウンタで読出し、読出されたピッチ
エンベロープをピッチ変動値PFとしてもよい。
In this embodiment, the loop time counter 4
The pitch fluctuation value PF is created by pitch interpolation using the output of No. 1, but instead, a memory storing a pitch envelope extracted for each sequence number from the original waveform of FIG. 4 is read by a loop time counter and read. The pitch envelope may be the pitch variation value PF.

【0044】また、ピッチと音量のクロスフェードを共
通のクロスフェード発生器に基いて行なってもよい。ピ
ッチクロスフェードを曲線的に行なってもよい。
The pitch and volume crossfading may be performed based on a common crossfade generator. The pitch crossfade may be performed in a curved manner.

【0045】[0045]

【発明の効果】以上説明したように、本発明によれば、
操作子から出力される演奏情報に応じてリアルタイムに
楽音信号形成手段の波形データ繰返し読出しにおけるル
ープ時間やクロスフェード時間を変更制御するようにし
ているので、タッチデータなどの演奏情報に応じて音色
の変化速度を変更することができ、より自然な楽音を形
成できる。また、ピッチなども各ループ状態ごとに最適
の変化方向および感度がある。
As described above, according to the present invention,
A routine for repeatedly reading out the waveform data of the tone signal forming means in real time in accordance with the performance information output from the operator.
Since the loop time and the crossfade time are controlled to be changed , the changing speed of the timbre can be changed according to the performance information such as touch data, and a more natural tone can be formed. Also, the pitch and the like have an optimum change direction and sensitivity for each loop state.

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

【図1】 この発明の一実施例に係る楽音発生装置を適
用した電子楽器の構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of an electronic musical instrument to which a musical sound generator according to an embodiment of the present invention is applied.

【図2】 この楽音発生装置の音源の構成を示すブロッ
ク図
FIG. 2 is a block diagram showing a configuration of a sound source of the tone generator.

【図3】 この楽音発生装置のアドレス発生器の構成を
示すブロック図
FIG. 3 is a block diagram showing a configuration of an address generator of the musical sound generator.

【図4】 サンプリングデータからの切出しの様子を示
す波形図
FIG. 4 is a waveform diagram showing a state of cutting out from sampling data.

【図5】 切出した波形データを記憶した部分のメモリ
マップ
FIG. 5 is a memory map of a portion storing the extracted waveform data.

【図6】 再生時のピッチ変化および読出しスピードを
示すグラフ
FIG. 6 is a graph showing a pitch change and a reading speed during reproduction.

【図7】 クロスフェード処理を示すタイミングチャー
FIG. 7 is a timing chart showing a cross-fade process;

【図8】 波形シーケンスナンバに沿ってクロスフェー
ド処理を説明するためのタイミングチャート
FIG. 8 is a timing chart for explaining cross-fade processing along a waveform sequence number.

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

1…外部入力部、2…アナログ/ディジタルコンバー
タ、3…波形サンプル書込み部、4…アクセスコントロ
ール部、5…波形メモリ、6…マイクロコンピュータ、
7…キーボード、8…パネルスイッチ、9…音源、10
…ディジタル/アナログコンバータ、11…サウンドシ
ステム。
REFERENCE SIGNS LIST 1 external input unit 2 analog / digital converter 3 waveform sample writing unit 4 access control unit 5 waveform memory 6 microcomputer
7 ... keyboard, 8 ... panel switch, 9 ... sound source, 10
... Digital / analog converter, 11 ... Sound system.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】発生すべき楽音の音高を指示する音高デー
タ指示手段と、 操作に応じた連続的な値の演奏情報をリアルタイムに出
力する操作子と、 複数の波形データを記憶した記憶手段と、 上記音高データ指示手段により指示された音高にしたが
う読出し速度で、上記記憶手段に記憶された波形デー
タをそれぞれ所定のループ時間だけ繰返し読出ししなが
ら時間的に順次接続し、読出され接続された波形データ
に基いて楽音信号を形成する楽音信号形成手段と、 上記操作子からリアルタイムに出力される演奏情報に基
づき、上記ループ時間の長さを変更制御する制御手段と
を具備することを特徴とする楽音発生装置。
1. A pitch data designating means for designating a pitch of a musical tone to be generated, an operator for outputting performance information of a continuous value according to an operation in real time, and a storage for storing a plurality of waveform data. Means for reading the respective waveform data stored in the storage means repeatedly for a predetermined loop time at a reading speed according to the pitch specified by the pitch data specifying means.
Connected sequentially in time, read and connected waveform data
And tone signal forming means to form a musical tone signal based on, on the basis of the performance information output in real time from the operator, characterized by a control means for changing control of the length of the loop time Musical sound generator.
【請求項2】発生すべき楽音の音高を指示する音高デー
タ指示手段と、 操作に応じた連続的な値の演奏情報をリアルタイムに出
力する操作子と、 第1の波形データおよび第2の波形データを記憶した記
憶手段と、 上記音高データ指示手段により指示された音高にしたが
う読出し速度で、上記記憶手段に記憶された第1の波形
データおよび第2の波形データをそれぞれ繰返し読出
し、所定のクロスフェード時間をかけて第1の波形デー
タから第2の波形データへクロスフェードしつつ合成し
、該合成された波形データに基づいて楽音信号を形成
する楽音信号形成手段と、 上記操作子からリアルタイムに出力される演奏情報に基
づき、上記クロスフェード時間の長さを変更制御する制
御手段とを具備することを特徴とする楽音発生装置。
2. A pitch data designating means for designating a pitch of a musical tone to be generated, an operator for outputting performance information of a continuous value according to an operation in real time, a first waveform data and a second waveform data. Storage means for storing the first waveform data and the second waveform data stored in the storage means at a reading speed in accordance with the pitch designated by the pitch data designating means. Music signal forming means for synthesizing the first waveform data to the second waveform data while cross-fading over a predetermined cross-fade time, and forming a tone signal based on the synthesized waveform data ; A musical sound generator comprising: control means for changing and controlling the length of the cross-fade time based on performance information output from an operator in real time.
JP3072034A 1991-03-13 1991-03-13 Tone generator Expired - Fee Related JP2754936B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3072034A JP2754936B2 (en) 1991-03-13 1991-03-13 Tone generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3072034A JP2754936B2 (en) 1991-03-13 1991-03-13 Tone generator

Publications (2)

Publication Number Publication Date
JPH04284497A JPH04284497A (en) 1992-10-09
JP2754936B2 true JP2754936B2 (en) 1998-05-20

Family

ID=13477722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3072034A Expired - Fee Related JP2754936B2 (en) 1991-03-13 1991-03-13 Tone generator

Country Status (1)

Country Link
JP (1) JP2754936B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6422631A (en) * 1987-07-17 1989-01-25 Nissan Motor Speed change operating device for automatic transmission
JP2663496B2 (en) * 1988-04-21 1997-10-15 ヤマハ株式会社 Signal interpolator for musical tone signal generator
JP2754646B2 (en) * 1989-01-06 1998-05-20 ヤマハ株式会社 Electronic musical instrument

Also Published As

Publication number Publication date
JPH04284497A (en) 1992-10-09

Similar Documents

Publication Publication Date Title
US6255576B1 (en) Device and method for forming waveform based on a combination of unit waveforms including loop waveform segments
US4108036A (en) Method of and apparatus for electronically generating musical tones and the like
US5196639A (en) Method and apparatus for producing an electronic representation of a musical sound using coerced harmonics
JP2776045B2 (en) Tone generator
JPS6364799B2 (en)
Dutilleux et al. Time‐segment Processing
JP2754936B2 (en) Tone generator
JPH07121181A (en) Sound information processor
JPH0229228B2 (en)
JP3518716B2 (en) Music synthesizer
GB2294799A (en) Sound generating apparatus having small capacity wave form memories
JP3021743B2 (en) Music synthesizer
JPS6335038B2 (en)
JP3714397B2 (en) Waveform data processing apparatus and waveform data processing method
JP2545159B2 (en) Music synthesizer
JP3520931B2 (en) Electronic musical instrument
JP3666346B2 (en) Musical sound generator and storage medium
JP2730420B2 (en) Music synthesizer
JP3407563B2 (en) Automatic performance device and automatic performance method
JP3112743B2 (en) Sound source device
JP2765469B2 (en) Music signal playback device
JP3486938B2 (en) Electronic instruments that can play legato
JP3755385B2 (en) Sound source device and recording medium readable by sound source device
JP2705348B2 (en) Music signal generator
JP3463547B2 (en) Performance data changing device, performance data changing method, and medium recording program

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090306

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees