JPH03179400A - Pcm sound source device - Google Patents

Pcm sound source device

Info

Publication number
JPH03179400A
JPH03179400A JP1247665A JP24766589A JPH03179400A JP H03179400 A JPH03179400 A JP H03179400A JP 1247665 A JP1247665 A JP 1247665A JP 24766589 A JP24766589 A JP 24766589A JP H03179400 A JPH03179400 A JP H03179400A
Authority
JP
Japan
Prior art keywords
data
address
loop
interpolation
waveform data
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.)
Granted
Application number
JP1247665A
Other languages
Japanese (ja)
Other versions
JP2669073B2 (en
Inventor
Masaki Kudo
工藤 政樹
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 JP1247665A priority Critical patent/JP2669073B2/en
Priority to US07/585,381 priority patent/US5194681A/en
Publication of JPH03179400A publication Critical patent/JPH03179400A/en
Application granted granted Critical
Publication of JP2669073B2 publication Critical patent/JP2669073B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To accurately perform a looping process even by a pitch asynchronous system by using waveform data on a loop part start address as waveform data on a loop part end address and conforming the waveform data on the start address and end address to each other. CONSTITUTION:The waveform data S(s) stored in the address of a waveform memory 17 that start data SD indicates is read out and supplied to an interpolation control part 18, and the data after linear interpolation has its envelope processed by a multiplier 23 and is converted into an analog signal, which is supplied to a sound system 26 to generate its musical sound. When the area of a loop part is entered beyond an attack part, interpolation is carried out while it is considered that waveform data S(n) in a loop start point address LSPA is present at the position of an loop end point address LEPA, thereby correcting interpolated data corresponding to the distance between an integer part and the loop part end address. Consequently, the looping process can accurately be performed even by the pitch asynchronous system.

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、電子楽器に用いて好適なP CM音源装置
に関する。
DETAILED DESCRIPTION OF THE INVENTION "Field of Industrial Application" The present invention relates to a PCM sound source device suitable for use in electronic musical instruments.

「従来の技術」 楽音の波高値を時間の経過に従ってデンタルデータで記
憶し、この記憶値を読出して処理することにより楽音信
号を発生するPCM音源が開発されている。
``Prior Art'' A PCM sound source has been developed that stores the peak values of musical tones as dental data over time and generates musical tone signals by reading and processing the stored values.

このPCM音源の中には、波形メモリサイズを小さくで
き、かつ、波形メモリのアドレス移動速度を上げる必要
がない補間方式ピンチ非同期音源かある。ここで、この
方式の音源について説明する。
Among these PCM sound sources, there is an interpolation type pinch asynchronous sound source that can reduce the waveform memory size and does not require increasing the waveform memory address movement speed. Here, the sound source of this method will be explained.

第10図(イ)は、音源の波形図である。まず、音源を
同図(ロ)に示す所定周波数(fs=fs1)のサンプ
リングパルスでサンプリングし、波形メモリに記憶させ
る。同図(ハ)は波形メモリに記憶された波形データで
ある。次に、第10図(ニ)に示すように波形データを
補間(図は1次直線補間)するとともに、周波数fs、
(fst≠fs、)でリサンプルし、補間後の波形デー
タを読出す。すなわち、周波数fs、と異なる周波数f
s2によってリサンプルすることにより、仮憇的なサン
プリング周波数変換を行う(同図(へ)参pq)。次に
、fs、をfs、と同じ周波数にすると新しいピッチを
もった音か発生される(同図(ト)参照)。
FIG. 10(a) is a waveform diagram of the sound source. First, a sound source is sampled with a sampling pulse of a predetermined frequency (fs=fs1) shown in FIG. FIG. 5C shows waveform data stored in the waveform memory. Next, as shown in FIG. 10(d), the waveform data is interpolated (the figure shows linear interpolation), and the frequency fs,
Resample (fst≠fs) and read out the interpolated waveform data. That is, the frequency fs is different from the frequency fs.
A tentative sampling frequency conversion is performed by resampling by s2 (see pq in the same figure). Next, when fs is set to the same frequency as fs, a sound with a new pitch is generated (see figure (g)).

このように、有限なサンプル列から任意ピッチの楽音を
得ることができ、しかも、楽音のピッチと同期したサン
プリングパルスを作らなくて済むという利点を有してい
る。
In this way, musical tones of any pitch can be obtained from a finite sample sequence, and there is an advantage that there is no need to create sampling pulses synchronized with the pitch of the musical tones.

発明か解決しようとする課題」 ところで、PCM音源では波形が繰り返す部分について
はルーピング処理を行う。このルーピング処理とは、波
形が繰り返す部分については、1周期分の波形を記憶し
、この部分を繰り返して読出すことにより繰り返し波形
を発生する処理である。
By the way, in a PCM sound source, looping processing is performed for parts where the waveform repeats. This looping process is a process in which one cycle of the waveform is stored for a portion where the waveform repeats, and a repetitive waveform is generated by repeatedly reading out this portion.

始めに、ピッチ同期方式におけるルーピング処理につい
て説明する。
First, looping processing in the pitch synchronization method will be explained.

例えば、第11図(イ)に示すように、原波形(アナロ
グ波形)が繰り返す場合は、ピッチ同期方式によるサン
プリングデータは同図(0)に示すようになる。この場
合に、所定の1周期、例えば、a点とb点との間の1周
期の波形データのみを記憶し、読出しアドレスかb点ま
できたら再びa点に戻って波形データの読出しを行うよ
うにする。また、81点とす4点との間、32点とす3
点との間の1周期の波形データを記憶して繰り返し読出
しても同様の作用を奏することができる。
For example, as shown in FIG. 11(A), when the original waveform (analog waveform) repeats, the sampling data by the pitch synchronization method becomes as shown in FIG. 11(0). In this case, only the waveform data of one predetermined period, for example, one period between point a and point b, is stored, and when the read address reaches point b, the waveform data is read out again by returning to point a. Make it. Also, between 81 points and 4 points, 32 points and 3 points
A similar effect can be obtained even if one period of waveform data between the two points is stored and read out repeatedly.

次に、ピッチ非同期方式のルーピングについて説明する
Next, pitch asynchronous looping will be explained.

今、音源が第12図(イ)に示す波形であり、サンプリ
ングタイミングが同図(ロ)に示す状態であったとする
と、サンプルされた波形データは、同図(ハ)に示すよ
うになる。そして、同図(ハ)の波形データを直線補間
したデータは、同図(ニ)に示すようになる。ここで、
図の時刻t  (x)を繰り返しの始点とし、時刻t 
 (x)からループ区間(繰り返し周期T)経過後の時
刻t (x+T)を繰り返しの終点とする。このとき、
終点はサンプリングポイントの(n+6)と(n+7)
のはほ中間にあるか、波形データS(n+7)は通常サ
ンプリングされないため、終点における波形データを正
確に補間することかできない。
Now, assuming that the sound source has the waveform shown in FIG. 12(A) and the sampling timing is as shown in FIG. 12(B), the sampled waveform data will be as shown in FIG. 12(C). The data obtained by linearly interpolating the waveform data in FIG. 3(C) is as shown in FIG. 2(D). here,
Let time t (x) in the figure be the starting point of repetition, and time t
Time t (x+T) after a loop section (repetition period T) has elapsed from (x) is the end point of the repetition. At this time,
The end points are sampling points (n+6) and (n+7)
Since the waveform data S(n+7) is located approximately in the middle or is not normally sampled, it is not possible to accurately interpolate the waveform data at the end point.

したがって、波形データS (n+7)がない場合には
、ルーピング処理を正確に行うことができず波形歪を発
生させる。
Therefore, if there is no waveform data S (n+7), looping processing cannot be performed accurately and waveform distortion occurs.

一方、S (n+7)のデータを用意しておいたとして
も、その後のルーピングにおける補間値との間の調整を
考慮しなければ正確なルーピング処理を行うことはでき
ない。なぜなら、ピッチか非同期であるから、S (n
+7)のデータはS (n)のデータとは異なった値と
なり(第12図(ハ)参照)、S (n+7)を用いて
補間を行った後に再ひ始点に戻って補間を行うと、初回
のルーピングにおける補間値と2回目のルーピングにお
ける補間値との間に誤差が生し、さらに、2回目と3回
目との間、3回目と4回目との間というように継続して
誤差が生じてしまうからである。そして、この誤差は波
形歪を起こし、しかも、歪の発生のし方がルーピング毎
に変化するという不都合を生ヒさせる。
On the other hand, even if S (n+7) data is prepared, accurate looping processing cannot be performed unless adjustment with interpolated values in subsequent looping is taken into account. Because the pitch is asynchronous, S (n
The data at +7) is a different value from the data at S (n) (see Figure 12 (c)), and after performing interpolation using S (n+7), if we return to the starting point and perform interpolation again, An error occurs between the interpolated value in the first looping and the interpolated value in the second looping, and the error continues between the second and third looping, and between the third and fourth looping. This is because it will occur. This error causes waveform distortion, and furthermore, the manner in which the distortion occurs changes with each looping.

これに対し、ピッチ同期式の場合は、第11図(ロ)に
示すように、始点と終点との波形データ値が等しく、ル
ーピングを行っても上記不都合は生じない。 この発明
は、上記事情に鑑みてなされたちのて、ルーピング処理
を正確に行うことかでき、波形歪を生しることがないピ
ッチ同期式のPCM音源装置を提供することを目的とし
ている。
On the other hand, in the case of the pitch synchronization type, as shown in FIG. 11(b), the waveform data values at the starting point and the ending point are equal, and the above-mentioned disadvantage does not occur even if looping is performed. The present invention was made in view of the above circumstances, and an object of the present invention is to provide a pitch-synchronized PCM sound source device that can accurately perform looping processing and does not cause waveform distortion.

「課題を解決するための手段」 上記課題を解決するために、請求項(1)に記載の発明
にあっては、所定のサンプリング間隔で波形データが記
憶されている波形メモリと、発音すべき音の周波数に対
応する間隔でアドレスデータを更新するとともに、前記
アドレスの整数部および当該整数部の次の整数により前
記波形データをアクセスし、さらに前記アドレスの少数
部を補間データとして出力するアドレスデータ発生部と
、前記アドレスデータ発生部によってアクセスされた2
つの波形データと前記補間データとに基ついてデータ補
間を行うデータ補間制御部と、前記アドレスデータによ
るアドレス空間の少なくとも一部にループ部を設定し、
このループ部を繰り返しアクセスするように前記アドレ
スデータ発生部を制御するループ制御部とを具備すると
ともに、前記データ補間制御部は、ループ部エンドアド
レスの波形データとしてループ部スタートアドレスの波
形データを用い、ループ部の最終区間においてはループ
部エンドアドレスの直前となる整数部によってアクセス
された波形データとスタートアドレスの波形データとを
用い、かつ、当該整数部とエンドアドレスとの間の距離
に対応して前記補間データを補正し、これによりデータ
補間を行うことを特徴としている。
"Means for Solving the Problem" In order to solve the above problem, the invention described in claim (1) includes a waveform memory in which waveform data is stored at predetermined sampling intervals, and a Address data that updates the address data at intervals corresponding to the frequency of the sound, accesses the waveform data using an integer part of the address and the next integer of the integer part, and further outputs the decimal part of the address as interpolated data. a generation unit, and 2 accessed by the address data generation unit.
a data interpolation control unit that performs data interpolation based on the two waveform data and the interpolation data, and a loop unit is set in at least a part of the address space according to the address data,
a loop control section that controls the address data generation section so as to repeatedly access the loop section, and the data interpolation control section uses waveform data of the loop section start address as waveform data of the loop section end address. In the final section of the loop section, the waveform data accessed by the integer part immediately before the end address of the loop section and the waveform data of the start address are used, and the waveform data corresponding to the distance between the integer part and the end address is used. The present invention is characterized in that the interpolated data is corrected by using the interpolated data, thereby performing data interpolation.

また、請求項(2)に記載の発明にあっては、前記デー
タ補間制御部は、ループ部のスタートアドレスの波形デ
ータとしてエンドアドレスの波形データを用い、ループ
部の最初の区間においてはエンドアドレスの波形データ
とスタートアドレスの直後の整数値によってアクセスさ
れた波形データとを用い、かつ、当該整数値とスタート
アドレスとの間の距離に対応して前記補間データを補正
し、これによりデータ補間を行うことを特徴としている
Further, in the invention described in claim (2), the data interpolation control section uses waveform data of an end address as waveform data of a start address of the loop section, and in a first section of the loop section, the data interpolation control section and the waveform data accessed by the integer value immediately after the start address, and correct the interpolation data according to the distance between the integer value and the start address, thereby performing data interpolation. It is characterized by doing.

「作用」 請求項1および2の発明においては、ループ部のスター
トアドレスとエンドアドレスの各波形データが一致する
ので、ルーピングの回数によって補間値が変動するとい
うことがない。
"Operation" In the inventions of claims 1 and 2, since each waveform data of the start address and end address of the loop section match, the interpolated value does not vary depending on the number of looping operations.

また、請求項1に記載の発明にあっては、ループ部エン
ドアドレスが少数部を含む場合に、このアドレスの波形
データとしてループ部スタートアドレスの波形データを
用いることができ、請求項2に記載の発明にあっては、
ループ部スタートアドレスが少数部を含む場合に、この
アドレスの波形データとしてループ部エンドアドレスの
波形データを用いることができる。
Further, in the invention described in claim 1, when the loop part end address includes a decimal part, the waveform data of the loop part start address can be used as the waveform data of this address. In the invention of
When the loop part start address includes a decimal part, the waveform data of the loop part end address can be used as the waveform data of this address.

「実施例」 以下、図面を参照してこの発明の実施例について説明す
る。
"Embodiments" Hereinafter, embodiments of the present invention will be described with reference to the drawings.

A ¥絶倒の基本原理 始めに、実施例の基本原理について説明する。A: The basic principle of absolute perfection First, the basic principle of the embodiment will be explained.

まず、波形メモリにおけるルーピング始点のアドレスを
ループスタートポイントアドレスLSPAルーピング纒
点のアドレスをループエンドポイントアドレスL E 
P Aとする。ピッチ非同期方式においては、ループス
タートポイントアドレスLSPAを第3図(ロ)に示す
ようにサンプリングポイントと一致させると、ループエ
ンドポイントアトレスLEPAは前述のようにサンプリ
ングポイントと一致しない(同図(イ)参照)。しかも
、S (n−+−x) 、S (n+x+l)はサンプ
リングされないため、S(n+x−i)とループエンド
ポイントアドレスLEPAとの間においては、補間を行
うことができない。そこて、本実施例においては、ルー
フエンドポイントアドレスL E P Aの波形データ
としてループスタートポイントアドレスLSPAの波形
データを用い、S(n十x−1)とループエンドポイン
トアトレスLEPAとの間の補間を、S(n+x−1)
とS (n)とを用いて行うようにしている。これは、
周期波形であれば、ループエンドポイントアトレスLE
PAの波形データは、ループスタートポイントアトレス
LS PAの波形データに等しくなることを利用したも
のである。
First, set the address of the looping start point in the waveform memory as the loop start point address LSPA, and set the address of the looping end point as the loop end point address LE.
Let it be P.A. In the pitch asynchronous method, when the loop start point address LSPA is made to match the sampling point as shown in Figure 3 (B), the loop end point address LEPA does not match the sampling point as described above (see Figure 3 (B)). )reference). Moreover, since S (n-+-x) and S (n+x+l) are not sampled, interpolation cannot be performed between S(n+x-i) and the loop end point address LEPA. Therefore, in this embodiment, the waveform data of the loop start point address LSPA is used as the waveform data of the roof end point address LEPA, and the waveform data of the loop start point address LSPA is used as the waveform data of the roof end point address LEPA. The interpolation of S(n+x-1)
and S (n). this is,
If it is a periodic waveform, the loop end point address LE
This is based on the fact that the waveform data of PA is equal to the waveform data of loop start point address LS PA.

この場合において、S(n十x−1,)とループエンド
ポイントアドレスLEPAとの距離は、通常のサンプリ
ングポイント間の距離とは異なるので、S (n+x−
1)とループエンドポイントアドレスLEPAとの間に
おける補間は、補間値を補正するようにしている。
In this case, the distance between S(n+x-1,) and the loop end point address LEPA is different from the distance between normal sampling points, so S(n+x-1,)
1) and the loop end point address LEPA, the interpolated value is corrected.

以上のような補間処理を行うことにより、ルーピング処
理における各補間値の同一性か保たれ、歪のない波形デ
ータを得ることができる。
By performing the interpolation processing as described above, the identity of each interpolated value in the looping processing is maintained, and waveform data without distortion can be obtained.

以上がこの実施例の基本原理である。The above is the basic principle of this embodiment.

B 実施例の構成 第1図はこ・の発明の一実施例の構成を示すブロック図
である。図において1は多数のキーからなる鍵盤であり
、鍵盤1の各キーから出力されるキー信号は押鍵検出手
段2に供給される。押鍵検出手段2は、キー信号に基つ
いてそのキーを示すキーコート’ K Cを出力すると
ともに、押鍵か検出されるとキーオン信号に○\を出力
する。3は周波数情報発生部であり、キーコードKCに
対応する周波数情報であるFナンノ・を発生する。この
Fナンバは、Fナンバレジスタ4に入力されるようにな
・ている。
B. Configuration of Embodiment FIG. 1 is a block diagram showing the configuration of an embodiment of this invention. In the figure, reference numeral 1 denotes a keyboard consisting of a large number of keys, and key signals output from each key of the keyboard 1 are supplied to key press detection means 2. As shown in FIG. The pressed key detecting means 2 outputs a key code 'KC' indicating the key based on the key signal, and outputs ○\ as a key-on signal when a pressed key is detected. 3 is a frequency information generating section, which generates Fnanno. which is frequency information corresponding to the key code KC. This F number is input to an F number register 4.

次に、5は装置各部を制御する制御部てあり、CPU、
ROMおよびI10ボート等から構成されている。この
制御部5は、キーオン信号KONが供給されると、各種
の制御信号を所定のタイミングに従って発生するように
なっている。
Next, 5 is a control unit that controls each part of the device, including a CPU,
It consists of ROM, I10 board, etc. The control section 5 is configured to generate various control signals according to predetermined timings when the key-on signal KON is supplied.

8は加算器であり、一方の入力端にFナンバレジスタ4
が出力するFナンバが供給され、その出力信号はセレク
タ9の一方の入力端に供給される。
8 is an adder, and one input terminal has an F number register 4.
The F number output by the selector 9 is supplied, and its output signal is supplied to one input terminal of the selector 9.

セレクタ9は制御部5か出力する信号ASELが“0”
のときに第0入力端を選択し、“l”のときに第1入力
端を選択する。このセレクタ9の第1の入力端には、制
御部5からスタートデータSDか供給されている。スタ
ートデータSDは、波形データの読出し開始アドレスで
あり、アタック部の最初のアドレスを示す。このスター
トデータSDは、音色等によって種々異なる値か予め設
定されている。10は減算器であり、制御部5が信号R
Dを出力すると、セレクタ9の出力信号から信号SDを
減算してシフトレジスタ11に供給する。また、制御部
5が信号RDを出力しないときは、セレクタ9の出力信
号は、減算器10をそのまま通過してシフトレジスタ1
1に供給される。
The selector 9 selects the signal ASEL output from the control unit 5 as “0”.
When the signal is "1", the 0th input terminal is selected, and when the signal is "l", the first input terminal is selected. A first input terminal of the selector 9 is supplied with start data SD from the control section 5. The start data SD is the read start address of waveform data and indicates the first address of the attack section. This start data SD is preset to various values depending on the tone color and the like. 10 is a subtracter, and the control unit 5 receives the signal R.
When D is output, the signal SD is subtracted from the output signal of the selector 9 and supplied to the shift register 11. Further, when the control section 5 does not output the signal RD, the output signal of the selector 9 passes through the subtracter 10 as it is and passes through the shift register 1.
1.

シフトレジスタ11は、クロック信号φ、。、φ1に基
づいてシフト動作を行う回路である。クロック信号φ、
。、φ、は、第4図(ホ)、(へ)に示すタイミングで
出力される信号であり、シフトレジスタ11はクロック
信号φ、。の立上りで供給されている信号を取り込み、
クロック信号φ5.の立上りで取り込んだ信号を出力す
るようになっている。このシフトレジスタ11の出力信
号は加算器8の他方の入力端に供給され、Fナンバに加
算されるようになっている。
The shift register 11 receives a clock signal φ. , φ1. clock signal φ,
. , φ, are signals output at the timings shown in FIGS. Capture the signal being supplied at the rising edge of
Clock signal φ5. The signal captured at the rising edge of is output. The output signal of this shift register 11 is supplied to the other input terminal of the adder 8, and is added to the F number.

次に、12は比較器てあり、制御部5が出力するループ
エンドポイントアドレスLEPAか入力端Bに供給され
、加算器8の出力信号か入力端Aに供給されている。そ
して、A>Bのときに信号CPI(”1”信号)を出力
し、A>1nt(B)のときに信号CP2(”ビ信号)
を出力する。
Next, 12 is a comparator, the loop end point address LEPA output from the control section 5 is supplied to the input terminal B, and the output signal of the adder 8 is supplied to the input terminal A. Then, when A>B, the signal CPI ("1" signal) is output, and when A>1nt(B), the signal CP2 ("BI signal") is output.
Output.

ここで、A、Bは各々入力端A、Bに供給される信号の
大きさであり、1nt(B)は入力端Bに供給される信
号の整数部を示している。これら信号CPU、CP2は
、各々制御部5に供給されるようになっており、制御部
5は信号CPIが供給されると、前述した信号RDを出
力するようになっている。信号RDは、ループのサイズ
を示す信号であり、ループエンドポイントアドレスLE
PAとループスタートポイントアドレスLS PAとの
差を示す信号である。
Here, A and B are the magnitudes of the signals supplied to the input terminals A and B, respectively, and 1nt(B) indicates the integer part of the signal supplied to the input terminal B. These signals CPU and CP2 are each supplied to the control section 5, and when the control section 5 is supplied with the signal CPI, it outputs the above-mentioned signal RD. Signal RD is a signal indicating the size of the loop, and the loop end point address LE
This signal indicates the difference between PA and the loop start point address LSPA.

次に、16はソフトレジスタ11の出力信号の整数部に
l”を加える加算器であり、この加算器の出力信号かセ
レクタ15の第1入力端に供給される。また、セレクタ
15の第O入力端にはシフトレジスタ11の出力信号の
整数部Iが直接供給される。セレクタ15はクロック信
号φWに従ってセレクト動作を行うようになっている。
Next, 16 is an adder that adds l'' to the integer part of the output signal of the soft register 11, and the output signal of this adder is supplied to the first input terminal of the selector 15. The input terminal is directly supplied with the integer part I of the output signal of the shift register 11. The selector 15 performs a selection operation in accordance with the clock signal φW.

この場合、クロック信号φWは、第4図(イ)に示すタ
イミングで出力され、セレクタ15は、クロック信号φ
Wか“l”のときに第1入力端、0°”のときに第O入
力端を各々遺択する。このセレクタ15の出力信号は、
波形メモリ17にアドレスデータとして供給されるよう
になっており、これにより、波形メモリ17に記憶され
ている波形データは正数部■および(1+1)によって
アクセスされる。
In this case, the clock signal φW is output at the timing shown in FIG.
The first input terminal is selected when W is "L", and the O-th input terminal is selected when it is 0°.The output signal of this selector 15 is as follows.
The waveform data is supplied to the waveform memory 17 as address data, so that the waveform data stored in the waveform memory 17 is accessed by the positive part (2) and (1+1).

一方、シフトレジスタ11の出力信号の小数部iは、セ
レクタ19の第O入力端および乗算器20の一方の入力
端に供給される。乗算器20の他方の入力端には、制御
部5から補正データCDが供給されている。補正データ
CDについては、後述する。
On the other hand, the decimal part i of the output signal of the shift register 11 is supplied to the O-th input terminal of the selector 19 and one input terminal of the multiplier 20 . The other input terminal of the multiplier 20 is supplied with correction data CD from the control section 5 . The correction data CD will be described later.

また、乗算器20の出力信号は、セレクタ19の第1入
力端に供給されている。セレクタ19は、制御部5から
供給される信号BSELによってセレクト動作を行うよ
うになっており、信号BSELが“O”のときに第O入
力端、“l”のときに第1入力端を選択する。このセレ
クタ19の出力信号は、補間係数データIPDとして補
間制御部18に供給されるようになっている。補間制御
部18は、波形メモリ■7から出力される正数部I、N
=1)に対応する波形データ、補間係数データIPD、
および信号BSELに基づいて補間を行う。ここで、補
間制御部18の構成を第2図にボす。
Further, the output signal of the multiplier 20 is supplied to the first input terminal of the selector 19. The selector 19 performs a selection operation in response to a signal BSEL supplied from the control unit 5, and selects the O-th input terminal when the signal BSEL is "O" and selects the first input terminal when the signal BSEL is "L". do. The output signal of this selector 19 is supplied to the interpolation control section 18 as interpolation coefficient data IPD. The interpolation control unit 18 receives the positive parts I and N output from the waveform memory 7.
Waveform data corresponding to =1), interpolation coefficient data IPD,
Interpolation is performed based on the signal BSEL and the signal BSEL. Here, the configuration of the interpolation control section 18 is shown in FIG.

図において、30はセレクタであり、第O入力端に波形
メモリ17から読出される波形データが供給され、第1
入力端にLSレジスタ31の出力信号が供給される。L
Sレジスタ31には、ループスタートポイントアドレス
L S P4における波形データの値(以下、ループス
タートポイントデータLSPDという)がキーオン信号
K ONの発生時に書き込まれるようになっている。セ
レクタ30はアンドゲート32の出力信号が“1″のと
きに第1入力端を選択し、“0”のときに第0入力端を
遺択し、アンドゲート32は信号BSELとクロック信
号φWの論理積をとるようになっている。33はセレク
タ30の出力信号とセレクタ35の出力信号とを乗算す
る乗算器であり、その出力信号か加算器34の一方の入
力端に供給される。セレクタ35の第1入力端には補間
係数データIPDが直接供給され、第O入力端には補間
係数データIPDがビット反転回路36によってビット
反転された後に供給される。
In the figure, 30 is a selector, the O-th input terminal is supplied with waveform data read out from the waveform memory 17, and the first
The output signal of the LS register 31 is supplied to the input terminal. L
The value of the waveform data at the loop start point address LSP4 (hereinafter referred to as loop start point data LSPD) is written into the S register 31 when the key-on signal KON is generated. The selector 30 selects the first input terminal when the output signal of the AND gate 32 is "1", and selects the 0th input terminal when the output signal is "0". It is designed to perform logical product. A multiplier 33 multiplies the output signal of the selector 30 and the output signal of the selector 35, and its output signal is supplied to one input terminal of the adder 34. The interpolation coefficient data IPD is directly supplied to the first input terminal of the selector 35, and the interpolation coefficient data IPD is supplied after being bit-inverted by the bit inversion circuit 36 to the O-th input terminal.

次に、加算器34の出力信号は、出力ラッチ38の入力
端に供給される。出力ラッチ38は、クロック信号φS
umt (第4図(〕・)参照)か立ち上がったときに
、加算器38の出力信号をラッチする。また、加算器3
8の出力信号は、累算ラッチ37に供給される。累算ラ
ッチ37は、クロック信号φ5uIIIIが立ち上がっ
たときに加算器34の出力信号をラッチし、クリア信号
φclr (第4図(ニ)参照)が立ち上かる毎にクリ
アされるようになっている。
The output signal of adder 34 is then provided to the input of output latch 38. The output latch 38 receives the clock signal φS
When umt (see FIG. 4 ( )) rises, the output signal of the adder 38 is latched. Also, adder 3
The output signal of 8 is provided to an accumulation latch 37. The accumulation latch 37 latches the output signal of the adder 34 when the clock signal φ5uIII rises, and is cleared every time the clear signal φclr (see FIG. 4(d)) rises. .

次に、第1図に示す23は、補間制御部18の出力信号
とエンベロープ発生部22の出力信号とを乗算する乗算
器である。エンベロープ発生部22は、キーオン13号
KONか供給されると、所定のエンベロープ信号を発生
するものである。乗算器23の乗算処理によって、補間
された波形データに対しエンベロープが付されることに
なる。そして、乗算器23の出力信号は、D/Aフンバ
ータ25によってアナログ信号に変換され、その後にサ
ウンド/ステム26に供給されて楽音として発生される
Next, 23 shown in FIG. 1 is a multiplier that multiplies the output signal of the interpolation control section 18 and the output signal of the envelope generation section 22. The envelope generating section 22 generates a predetermined envelope signal when the key-on No. 13 KON is supplied. By the multiplication process of the multiplier 23, an envelope is attached to the interpolated waveform data. The output signal of the multiplier 23 is converted into an analog signal by a D/A humbverter 25, and then supplied to a sound/stem 26 to generate a musical tone.

C・実施例の動作 次に、上記構成によるこの実施例の動作についてアタッ
ク部とループ部(第6図参照)に分けて説明する。
C. Operation of the Embodiment Next, the operation of this embodiment with the above configuration will be explained by dividing it into an attack section and a loop section (see FIG. 6).

■アタック部の発音動作 まず、鍵盤1内のいずれかのキーが押されると、押鍵検
出回路2によって押鍵か検出され、キーオン信号KON
か出力される。これにより、制御部5か信号A S E
 Lを“1”信号にし、セレクタ9に第1入力端を選択
させる。この結果、スタートデータSDかセレクタ9、
減算器10およびソフトレジスタ11を介して出力され
、その正数部■がセレクタ15の第O入力端に供給され
る。ここで、クロック信号φWが“O”信号のときは(
第4図(イ)参照)、セレクタ15か第O入力端を選択
するから、スタートデータSDの正数部Iは、セレクタ
15を介して波形メモリ17に供給される。この結果、
スタートデータSDの正数部Iが示すアドレスに記憶さ
れている波形データS (s)が読出され、補間制御部
18に供給される。一方、比較器12においてはA<B
であるため、信号Cpl、cp2は出力されず、この結
果、信号BSELは“O′信号となる。信号BSELが
“O″信号あると、第2図に示すアンドゲート32の出
力信号は常に“O”信号となる。そして、アンドゲート
32の出力信号が“O”信号の場合は、セレクタ30が
第O入力端を選択するから、波形メモリ17から読出さ
れた波形データS (s)は、セレクタ30を介して乗
算器33に供給される。
■ Sound generation operation of the attack section First, when any key on the keyboard 1 is pressed, the key press detection circuit 2 detects whether the key is pressed and a key-on signal KON is generated.
is output. As a result, the control unit 5 outputs the signal ASE
L is set to a "1" signal to cause the selector 9 to select the first input terminal. As a result, start data SD or selector 9,
It is outputted via the subtracter 10 and the soft register 11, and its positive part (3) is supplied to the O-th input terminal of the selector 15. Here, when the clock signal φW is an "O" signal, (
Since the selector 15 selects the O-th input terminal (see FIG. 4(a)), the positive part I of the start data SD is supplied to the waveform memory 17 via the selector 15. As a result,
The waveform data S (s) stored at the address indicated by the positive part I of the start data SD is read out and supplied to the interpolation control section 18 . On the other hand, in the comparator 12, A<B
Therefore, the signals Cpl and cp2 are not output, and as a result, the signal BSEL becomes an "O" signal. When the signal BSEL is an "O" signal, the output signal of the AND gate 32 shown in FIG. 2 is always " When the output signal of the AND gate 32 is the "O" signal, the selector 30 selects the O-th input terminal, so the waveform data S (s) read from the waveform memory 17 is It is supplied to a multiplier 33 via a selector 30.

また、信号BSELか“Q”信号の場合は、第1図に示
すセレクタ19か第O入力端を選択するかも、スタート
データSDの小数部iかセレクタ19か:)補間データ
IPDとして出力される。補間データIPDは、クロッ
ク信号φWが“O”信号となっているタインミングにお
いては、ビット反転回路36によってビア1反転された
後にセレクタ35を介して乗算器33に供給される。こ
の小数部1をビ・、ト反転すると、その値は(1−i)
になるから、乗算器33においては、スタートデータS
Dのアドレスにおける波形データS (s)と(1−i
)か乗算される。この乗算結果(S <≦)・(1−i
)l は加算器34を介して累算ラッチ37に供給され
る。累算ラッチ37は、すでにクロック信号φclrに
よってクリアされており(第4図(ニ)の時刻t1参照
)、次いで、第4図(ロ)の時刻t3においてクロック
信号φ5Llffl+が立ち上がると上記乗算結果か累
算ラッチ37に取り込まれる。この結果、乗算結果(S
(S)・(1−1))か加算器34のB入力端に供給さ
れる。
In addition, in the case of the signal BSEL or the "Q" signal, either the selector 19 shown in FIG. . Interpolated data IPD is supplied to multiplier 33 via selector 35 after being inverted via via 1 by bit inverting circuit 36 at the timing when clock signal φW is an “O” signal. If we invert this decimal part 1, the value becomes (1-i)
Therefore, in the multiplier 33, the start data S
Waveform data S (s) and (1-i
) or multiplied. This multiplication result (S <≦)・(1-i
)l is supplied to an accumulation latch 37 via an adder 34. The accumulation latch 37 has already been cleared by the clock signal φclr (see time t1 in FIG. 4(d)), and then, when the clock signal φ5Lffl+ rises at time t3 in FIG. 4(b), the above multiplication result is cleared. It is taken into the accumulation latch 37. As a result, the multiplication result (S
(S)·(1-1)) is supplied to the B input terminal of the adder 34.

次に、時刻t4においてクロック信号φWが立ち上かる
と、第1図に示すセレクタ15が第1入力端を選択する
。この結果、加算器16の出力信号、すなわち、スター
トデータSDに°′1”か加えられた値かセレクタ15
を介して波形メモリ17に供給される。これにより、ス
タートデータSDの次のアドレスの波形データS (s
+1)が読出される。この波形データS(s+1)は、
第2図に示すセレクタ30を介して乗算器33に供給さ
れる。このとき、クロック信号φWは“■”信号である
から、セレクタ35か第1入力端を選択し、補間係数デ
ータIPDかセレクタ35を介して乗算器33に供給さ
れる。この場合の補間データIPDは、スタートデータ
SDの小数部iであるから、乗算器33における演算結
果は、S(s+1)・iとなる。そして、この乗算結果
が加算器34のへ入力端に供給され、すてにB入力端に
供給されている前回の乗算結果+S (S)・(1iH
と加算される。この加算により直線補間が終了し、直線
補間されたデータか、クロック信号φSIJmtが立ち
上がったとき(第4図の時刻t5参声)に出力ラノチ3
8に取り込まれて次段に出力される。ここで、上述の演
算によって直線補間か行われることを説明する。
Next, when the clock signal φW rises at time t4, the selector 15 shown in FIG. 1 selects the first input terminal. As a result, the output signal of the adder 16, that is, the value obtained by adding °'1'' to the start data SD, is determined by the selector 15.
The signal is supplied to the waveform memory 17 via the waveform memory 17. As a result, the waveform data S (s
+1) is read out. This waveform data S(s+1) is
The signal is supplied to a multiplier 33 via a selector 30 shown in FIG. At this time, since the clock signal φW is a "■" signal, the selector 35 selects the first input terminal, and the interpolation coefficient data IPD is supplied to the multiplier 33 via the selector 35. Since the interpolated data IPD in this case is the decimal part i of the start data SD, the calculation result in the multiplier 33 is S(s+1)·i. Then, this multiplication result is supplied to the input terminal of the adder 34, and the previous multiplication result +S (S)・(1iH
is added. This addition completes the linear interpolation, and when the linearly interpolated data or the clock signal φSIJmt rises (see time t5 in FIG. 4), the output
8 and output to the next stage. Here, it will be explained that linear interpolation is performed by the above calculation.

今、スタートデータSDの正数部Iか示すアドレスにお
ける波形データS (s)と、スタートデータSDの正
数部Iに1を加えたアドレスにおける波形データS (
S+1)か、各々第5図に示すようになっていたとする
。そして、スタートデータSDの小数部1を図示のよう
にとると、補間により求めるべき波形データS (s+
i)は次式によって表される。
Now, the waveform data S (s) at the address indicating the positive part I of the start data SD, and the waveform data S (s) at the address where 1 is added to the positive part I of the start data SD.
S+1), respectively, as shown in FIG. Then, if the decimal part 1 of the start data SD is taken as shown, the waveform data S (s+
i) is expressed by the following formula.

=i  −5(s  +l  )−i  −3(s )
十S  (s )・(1−i)S(s)+1−5(s+
1)・・・ ・ (1) この(1)式の右辺の第1項の乗算はクロック信号φW
が“○”のときにおいて乗算器33か行う演算であり、
第2項の乗算はクロック信号φWか“1”のときにおい
て乗算器33が行なう演算である。したかって、加算器
34において各乗算結果を加え合わせると、その演算結
果は(1)式の右辺と同等となり、直線補間か行われた
ことになる。
=i-5(s+l)-i-3(s)
10S (s)・(1-i)S(s)+1-5(s+
1)... ・ (1) The first term on the right side of equation (1) is multiplied by the clock signal φW.
is an operation performed by the multiplier 33 when is “○”,
The second term multiplication is an operation performed by the multiplier 33 when the clock signal φW is "1". Therefore, when the respective multiplication results are added together in the adder 34, the result becomes equivalent to the right side of equation (1), which means that linear interpolation has been performed.

次に、直線補間後のデータは、出力ラノチ38から出力
され、乗算器23によってエンヘローフ処理か施され、
その後にD/Aコンバータ25によってアナログ信号に
変換された後、サラントンステム26によって楽音とし
て発せられる。
Next, the data after linear interpolation is outputted from the output lanochi 38, and subjected to engelofing processing by the multiplier 23.
Thereafter, the signal is converted into an analog signal by the D/A converter 25, and then emitted as a musical tone by the Saranton stem 26.

一方、ンフトレジスタ11から出力されたスタートデー
タSDは第1図に示す加算器8の他方の入力端に供給さ
れ、Fナンバレジスタ4が出力するFナンバと加算され
る。このとき、制御部5が出力する信号ASELは、O
”信号になっており、この結果、セレクタ9は第○入力
端を遺択する。これにより、加算器8における加算結果
は、セレクタ9、減算器10およびンフトレジスタ11
を介して出力される。そして、その整数部Iおよび小数
部iに対し、上述の場合と同様の波形データ読出し、お
よび直線補間処理か行われる。また、/フトレ/スタ1
1の出力信号は、加算器8の他方の入力端に供給される
か与、以後はこのループによりFナンバか順次累算され
ていく。したかって、順次累算されていくデータの整数
部■およa小数部iに対し、波形データ読出し、および
補間処理か順次行われ、これにより、アタック部の波形
データか補間処理によって作成される。このアタック部
の各波形データは、前述したようにエンヘローブ処理が
施された後に楽音として発せSれる。
On the other hand, the start data SD output from the frequency register 11 is supplied to the other input terminal of the adder 8 shown in FIG. 1, and is added to the F number output from the F number register 4. At this time, the signal ASEL output from the control section 5 is O
” signal, and as a result, the selector 9 selects the ○th input terminal. As a result, the addition result in the adder 8 is sent to the selector 9, the subtracter 10, and the register 11.
Output via . Then, the same waveform data reading and linear interpolation processing as in the above case is performed for the integer part I and the decimal part i. Also, /futore/sta1
The output signal of 1 is supplied to the other input terminal of the adder 8, and thereafter the F numbers are sequentially accumulated through this loop. Therefore, waveform data reading and interpolation processing are performed sequentially for the integer part ■ and the fractional part i of the data that are accumulated sequentially, and as a result, the waveform data of the attack part is created by the interpolation processing. . Each waveform data of this attack section is emitted as a musical tone after being subjected to enherobe processing as described above.

Cループ部の発音動作 次に、ループ部の発音動作について説明する。Sound generation operation of C loop section Next, the sound generation operation of the loop section will be explained.

上述のようにして、スタートデータSDに対しFナンバ
が順次累算されていくと、波形メモリ17の読出しアド
レスは、第6図に示すアタック部の領域を越えループ部
の領域に入る。そして、ループ部の波形データ読出し、
および補間処理は基本的にはアク、り部の場合と同様に
して行われる。
As the F numbers are sequentially accumulated for the start data SD as described above, the read address of the waveform memory 17 goes beyond the attack area shown in FIG. 6 and enters the loop area. Then, read the waveform data of the loop section,
The interpolation processing is basically performed in the same manner as in the case of the acrylic and aliasing parts.

しかし、Fナンバの累算か進んてンフトレジスタ11の
出力信号が第3図(イ)に示す波形データS (n−+
−x−1)とループエンドポイントアトレスLEPAと
の間(以下特定補間区間という)のアドレスを示すよう
になると、前述の処理とは異なる処理内容になる。この
処理について以下に説明する。
However, as the accumulation of F numbers progresses, the output signal of the frequency register 11 becomes waveform data S (n-+
-x-1) and the loop end point address LEPA (hereinafter referred to as a specific interpolation section), the processing contents differ from the above-mentioned processing. This process will be explained below.

まず、加算器8の出力信号が特定補間区間に入ると、比
較器12においてA>1nt(B)となる。加算器12
のB入力端にはループエンドポイントアドレスLEPA
が供給されているから、1nt(B)は結局ループエン
ドポイントアドレスLEPAの整数部となる。このルー
プエンドポイントアドレスLEPAの整数部は、第3図
(イ)から判るように、波形データ(S+x−1)のア
ドレス値であり、特定区間の開始点である。そして、A
>1nt(B)となると、比較器12が信号CP2を出
力し、これにより、制御部5が信号BSELを“1”信
号にし、かつ、補正データCDを出力する。ここで、補
正データCDは、その逆数1/CDがループエンドポイ
ントアドレスLEPAの小数部となるように設定されて
いるデ−夕である(第3図(ハ)参照)。
First, when the output signal of the adder 8 enters a specific interpolation interval, A>1nt(B) in the comparator 12. Adder 12
The loop end point address LEPA is at the B input end of
is supplied, 1nt(B) ends up being the integer part of the loop endpoint address LEPA. As can be seen from FIG. 3(A), the integer part of this loop end point address LEPA is the address value of the waveform data (S+x-1) and is the starting point of the specific section. And A
>1 nt (B), the comparator 12 outputs the signal CP2, which causes the control unit 5 to set the signal BSEL to "1" and output the correction data CD. Here, the correction data CD is data set so that its reciprocal 1/CD becomes the decimal part of the loop end point address LEPA (see FIG. 3(c)).

信号BSELか“l”信号になると、第1図に示すセレ
クタ19が第1入力端を選択し、この結束、7フトレ/
スタ11の出力信号の小数部と補正データCDとの乗算
値1・CDが補間係数データIPDとして出力される。
When the signal BSEL becomes the "L" signal, the selector 19 shown in FIG.
A multiplication value 1·CD of the decimal part of the output signal of the star 11 and the correction data CD is output as interpolation coefficient data IPD.

また、信号BSELか°′1パ信号になると、第2図に
示すアントゲ−132の一方の入力端に“1”信号が供
給されるかさ、アンドゲート32の出力値はクロ/り信
号φWによって一義的に定まる。したがって、クロ・。
Furthermore, when the signal BSEL becomes a 1/2 signal, a "1" signal is supplied to one input terminal of the AND gate 132 shown in FIG. Uniquely determined. Therefore, Kuro.

り信号φWが“°0゛信号のときには、セレクタ30が
第O入力端を選択し、波形メモリ17から読出された波
形データが乗算器33に供給される。
When the output signal φW is a “°0” signal, the selector 30 selects the O-th input terminal, and the waveform data read from the waveform memory 17 is supplied to the multiplier 33.

このときFナンバの累算値は特定補間区間に入っている
から、その整数値Tによってアクセスされる波形データ
は第3図(イ)から判るように波形データ3 (n+x
−1)である。また、このときはセレクタ35が第O入
力端を選択するから、乗算器33においては1−CDの
ビット反転値と波形データS(n+x−1)とが乗算さ
れる。したかって、乗算器33の乗算結果は、(1−i
−cD)・S (n+x−1)となる。この乗算結果は
、加算器34のへ入力端、出力端を順次弁して累算ラッ
チ37に取り込まれ、加算器34のB入力端に供給され
る。次に、クロ・7り信号φWが立ち上がると(第4図
(イ)の時刻t4参照)、アントゲート32が“l”信
号を出力し、セレクタ30が第1入力端を選択する。こ
の結果、LSレジスタ31内に記憶されているループ部
の最初の波形データ、すなわち波形データS (n)か
乗算器33に供給される。また、クロック信号φWか“
1”信号になるとセレクタ35が第1入力端を選択する
から補間係数データIPDがそのまま乗算器33に供給
される。この結果、乗算器33における乗算結果はS 
(n)  ・1−CDとなる。この乗算結果は、加算器
34のA入力端に供給され、すてにB入力端に供給され
ている前回の乗算結果と加算される。したがって、加算
器34においては、S (n+x−1)  ・ (1−
i−CD)  ・CD+S(す)・1−cDなる演算が
行われる。ここで、この演算の意味について説明する。
At this time, since the accumulated value of the F number is within the specific interpolation interval, the waveform data accessed by the integer value T is waveform data 3 (n+x
-1). Further, at this time, since the selector 35 selects the O-th input terminal, the multiplier 33 multiplies the bit inverted value of 1-CD by the waveform data S(n+x-1). Therefore, the multiplication result of the multiplier 33 is (1-i
−cD)・S (n+x−1). This multiplication result is taken into the accumulation latch 37 through the input terminal and output terminal of the adder 34 in sequence, and is supplied to the B input terminal of the adder 34. Next, when the black/7 signal φW rises (see time t4 in FIG. 4(a)), the ant gate 32 outputs the "l" signal and the selector 30 selects the first input terminal. As a result, the first waveform data of the loop section stored in the LS register 31, ie, the waveform data S(n), is supplied to the multiplier 33. Also, whether the clock signal φW or “
1" signal, the selector 35 selects the first input terminal, so the interpolation coefficient data IPD is directly supplied to the multiplier 33. As a result, the multiplication result in the multiplier 33 is S
(n) ・1-CD. This multiplication result is supplied to the A input terminal of the adder 34, and is added to the previous multiplication result that has been supplied to the B input terminal. Therefore, in the adder 34, S (n+x-1) · (1-
i-CD) ・CD+S(su)・1-cD is performed. Here, the meaning of this calculation will be explained.

まず、本実施例においては、前述したように、ループエ
ンドポイントアドレスLEPAの位置にループスタート
ポイントアドレスLS PAの波形データS (n)か
あるとみなして特定補間区間の補間を行うようにしてい
る。ところで、特定補間区間の間隔は、第3図(ハ)に
示すように1/CDであり、他の区間の間隔より短い。
First, in this embodiment, as described above, it is assumed that the waveform data S(n) of the loop start point address LSPA is located at the position of the loop end point address LEPA, and interpolation of a specific interpolation section is performed. . By the way, the interval between the specific interpolation sections is 1/CD, as shown in FIG. 3(C), which is shorter than the intervals between the other sections.

そこで、少数部1については、区間の長さに対する割合
に変換する必要があり、区間長(1/CD)で除する必
要かある。結果的には少数部iにCDを乗じることにな
り、すなわち、特定補間区間の長さを他の区間と同様に
「1」として取り扱うことと同様になる。この拡大の状
態を第7図に示す。第7図においては、ループエンドポ
イントアドレスLEPAを右側にずらしてLEPA−と
し、区間の長さを 1」にしている。これに対応して少
数部iの値にCDを乗しれば、拡大された区間に対して
前述の(1)式が適用され補間ができることが判る。す
なわち、(1)式の右辺におけるiをi・CDに置き換
え、波形データS (s)をS(n+X−1)に、波形
データS (S+1)をS (n)に置き換えればよい
。この置き換え後の右辺が加算器34の演算に対応し、
適性な補間が行われたことが判る。
Therefore, the decimal part 1 needs to be converted into a ratio to the length of the section, and it may be necessary to divide it by the length of the section (1/CD). As a result, the decimal part i is multiplied by CD, which is equivalent to treating the length of the specific interpolation section as "1" like other sections. This enlarged state is shown in FIG. In FIG. 7, the loop end point address LEPA is shifted to the right to become LEPA-, and the length of the section is set to 1''. Correspondingly, if the value of the decimal part i is multiplied by CD, it can be seen that the above-mentioned equation (1) can be applied to the expanded section and interpolation can be performed. That is, i on the right side of equation (1) may be replaced with i.CD, waveform data S (s) may be replaced with S(n+X-1), and waveform data S (S+1) may be replaced with S (n). The right side after this replacement corresponds to the operation of the adder 34,
It can be seen that appropriate interpolation was performed.

そして、加算器34の加算結果は、クロック信号φ5I
Jffh (第4図(ハ)参照)の立ち上かりにおいて
出力ラッチ38に取り込まれ、後段の回路に出力される
The addition result of the adder 34 is the clock signal φ5I
At the rising edge of Jffh (see FIG. 4(C)), the signal is taken into the output latch 38 and output to the subsequent circuit.

次に、第1図に示す加算器8においてFナンバの累算が
行われると、この累算値に対して上述と同様の処理が行
われる。ただし、特定補間区間においては、第3図(イ
)からも判るように、累算値(すなわちシフトレジスタ
11の出力信号)の整数値■は変わらず波形データS 
(n+x−1)が記憶されているアドレスを示す。そし
て、クロック信号φWが“1”になったときは第2図に
示すセレクタ30が第■入力端を選択するから、結局、
特定補間区間においては、Fナンバ累算値の変動に拘わ
らず波形データS (n↓X−1)とS (n)との間
で補間か行われる。補間に影響を与えるのはFナンバ累
算値の少数部、すなわちンフトレシスタ11の出力信号
の少数部1であり、Fナツツ\の累算に伴う少数部lの
変動に従った補間値が補間制御部18か与順次出力され
る。
Next, when the F numbers are accumulated in the adder 8 shown in FIG. 1, the same processing as described above is performed on this accumulated value. However, in the specific interpolation period, as can be seen from FIG.
(n+x-1) indicates the stored address. Then, when the clock signal φW becomes "1", the selector 30 shown in FIG.
In the specific interpolation interval, interpolation is performed between the waveform data S (n↓X-1) and S (n) regardless of fluctuations in the F-number cumulative value. What influences the interpolation is the decimal part of the F number accumulated value, that is, the decimal part 1 of the output signal of the nft register 11, and the interpolated value according to the fluctuation of the decimal part l accompanying the accumulation of F nuts is the interpolation control. The parts 18 are outputted in the given order.

そして、Fナンバ累算値かさらに大きくなると、その値
かループ部(第6図参照)の領域を超える。
Then, when the F number cumulative value becomes even larger, the value exceeds the area of the loop portion (see FIG. 6).

この結果、第1図に示す比較器12において、A>B、
!:なり、比較器12から制御部5へ信号CPlか出力
される。制御部5は、信号CPか供給されると、信号R
Dを減算器lOへ供給し、この結果、減算器10による
減算か行われる。ここで、信号RDは、ループのサイズ
を示す信号であるから、減算器l○による減算か行われ
ると、ループエンドポイントアドレスLEPAを僅かに
越えたアドレスから、ループサイズか成算されることに
なる。したかって、その演算値はループ部の開始アドレ
ス、すなわち、ループスタートポイントアドレスLSE
、A(第6図参照)より僅かに大きな値となる。この場
合、減算値かループスタートポイントアドレスLSEA
に完全に一致しなくても、補間制御部18によってルー
プスタートポイントアドレスLSEAの波形データS 
(n)と上記減算値における波形データとの間で補間処
理か行われるため不都合は生じない。そして、以後は減
算値に順次Fナンバか累算され、各累算値に対し前述と
同様の波形データ読出し、および補間か行われる。そし
て、累算値か再ひループエンドポイントアドレスLEP
Aを越えた場合は、減算器10による減算が行われ、再
度ループスタートポイントアドレスLS EAに付近に
戻る。このように、以後はループ部内において、繰り返
し波形データの読出し、補間が行われる。
As a result, in the comparator 12 shown in FIG.
! :, and the signal CPl is output from the comparator 12 to the control section 5. When the control unit 5 is supplied with the signal CP, it outputs the signal R.
D is supplied to the subtractor lO, resulting in subtraction by the subtractor 10. Here, since the signal RD is a signal indicating the size of the loop, when subtraction is performed by the subtractor l○, the loop size will be calculated from an address slightly exceeding the loop end point address LEPA. Become. Therefore, the calculated value is the start address of the loop section, that is, the loop start point address LSE
, A (see FIG. 6). In this case, the subtraction value or the loop start point address LSEA
Even if the waveform data S of the loop start point address LSEA does not completely match, the interpolation control unit 18
Since interpolation processing is performed between (n) and the waveform data in the subtracted value, no inconvenience occurs. Thereafter, the F number is sequentially accumulated in the subtracted value, and the same waveform data reading and interpolation as described above are performed for each accumulated value. Then, the accumulated value or the loop end point address LEP
If it exceeds A, subtraction is performed by the subtracter 10, and the loop returns to the vicinity of the loop start point address LSEA again. In this way, thereafter, waveform data is repeatedly read and interpolated within the loop section.

以上の動作においては、ループエンドポイントアドレス
LEPAの波形データをループスタートポイントアドレ
スLSEAの波形データS (n)と一致させているた
め、ルーピングの回数によって補間値に誤差が生じると
いうことかない。
In the above operation, since the waveform data of the loop end point address LEPA is matched with the waveform data S (n) of the loop start point address LSEA, there is no possibility that an error will occur in the interpolated value depending on the number of looping operations.

D:実施例の変形 上述した実施例は、ループスタートポイントアトレスL
SEAに少数部Iかなく、ループエツトポイントアトレ
スLEPAに少数部1かある場合の例であったか(第2
図(イ)、(ロ)参照)、これと逆に第8図(イ)、(
ロ)に示すようにループスタートポイントアドレスLS
EAに少数部Iがあり、ループエンドポイントアドレス
LEPAに少数部1かない場合であっても上記実施例と
同様の処理を行うことができる。ただし、この場合にお
いては、同図(ロ)に示すように、ループスタートポイ
ントアドレスLS PAのアドレス位置にループエンド
ポイントアドレスLEPAの波形データを配置させ、こ
のデータによって補間を行うようにする。このため、補
間制御部18を第9図に示すように構成する必要がある
。第9図に示す回路が第8図に示す回路と異なる点は、
LSレジスタ31に代えて゛ループエンドポイントアド
レスLEPAにおける波形データを記憶するLEレンス
スタ0が設けられている点およびクロック信号φWかイ
ンバータ41を介してアンドゲート32の一方の入力端
に供給される点である。また、第9図に示す信号BSE
Lは、第8図(ハ)に示す特定補間区間において“1パ
信号になるように構成される。
D: Modification of the embodiment In the embodiment described above, the loop start point atres L
Was this an example where SEA does not have a decimal part I and the loop et point address LEPA has a decimal part 1?
(See Figures (a) and (b)), and conversely, Figures 8 (a) and (b).
Loop start point address LS as shown in b)
Even if EA has a decimal part I and the loop end point address LEPA does not have a decimal part 1, the same processing as in the above embodiment can be performed. However, in this case, as shown in FIG. 3B, the waveform data of the loop end point address LEPA is placed at the address position of the loop start point address LSPA, and interpolation is performed using this data. Therefore, it is necessary to configure the interpolation control section 18 as shown in FIG. 9. The difference between the circuit shown in FIG. 9 and the circuit shown in FIG. 8 is that
In place of the LS register 31, an LE register 0 is provided to store the waveform data at the loop end point address LEPA, and the clock signal φW is supplied to one input terminal of the AND gate 32 via the inverter 41. be. In addition, the signal BSE shown in FIG.
L is configured to become a "1pa signal" in the specific interpolation section shown in FIG. 8(C).

以上のような構成によると、第8図(ハ)に示す特定補
間区間において、波形データS (n+x)と波形デー
タ5(n−1−1)との間で補間かなされる。特定補間
区間の区間幅については、前述の実施例と同様に補正デ
ータCDによって補正かなされるので、第7図に示した
場合の処理内容となる。
According to the above configuration, interpolation is performed between waveform data S (n+x) and waveform data 5 (n-1-1) in the specific interpolation section shown in FIG. 8(c). The section width of the specific interpolation section is corrected using the correction data CD as in the previous embodiment, so the processing contents are as shown in FIG.

したがって、第9図に示す回路によっても、前述の実施
例と同様の効果を得ることができる。
Therefore, the circuit shown in FIG. 9 can also provide the same effects as the above-described embodiments.

「 発明の効果 」 以上説明したように、請求項1に記載の発明によれば、
所定のサンプリング間隔で波形データか記憶されている
波形メモリと、発音すべき音の周波数に対応する間隔て
アドレスデータを更新するとともに、前記アドレスの整
数部および当該整数部の次の整数により前記波形データ
をアクセスし、さらに前記アドレスの少数部を補間デー
タとして出力するアドレスデータ発生部と、前記アドレ
スデータ発生部によってアクセスされた2つの波形デー
タと前記補間データとに基づいてデータ補間を行うデー
タ補間制御部と、前記アトレステータによるアドレス空
間の少なくとも一部にループ部を設定し、このループ部
を繰り返しアクセスするように前記アドレスデータ発生
部を制御するループ制御部とを具備するとともに、前記
データ補間制御部は、ループ部エンドアドレスの波形デ
ータとしてループ部スタートアドレスの波形データを用
い、ループ部の最終区間においてはループ部エンドアド
レスの直前となる整数部によってアクセスされた波形デ
ータとループ部スタートアドレスの波形データとを用い
、かつ、当該整数部とループ部エンドアドレスとの間の
距離に対応して前記補間データを補正し、これによりデ
ータ補間を行うようにし、また、請求項(2〉に記載の
発明にあっては、前記データ補間制御部は、ループ部の
スタートアドレスの波形データとしてループ部エンドア
ドレスの波形データを用い、ループ部の最初の区間にお
いてはループ部エンドアドレスの波形データとループ部
スタートアドレスの直後の整数値によってアクセスされ
た波形データとを用い、かつ、当該整数値とループ部ス
タートアドレスとの間の距離に対応して前記補間データ
を補正し、これによりデータ補間を行うようにしたので
、ピンチ非同期式でありながら、ルーピング処理を正確
に行うことができ、波形歪が生じないという利点を得る
ことかできる。
"Effect of the invention" As explained above, according to the invention described in claim 1,
A waveform memory that stores waveform data at predetermined sampling intervals and address data at intervals corresponding to the frequency of the sound to be generated are updated, and the waveform is updated using the integer part of the address and the next integer after the integer part. an address data generation unit that accesses data and further outputs the fractional part of the address as interpolation data; and a data interpolation unit that performs data interpolation based on the two waveform data accessed by the address data generation unit and the interpolation data. a control unit; and a loop control unit that sets a loop unit in at least a part of the address space by the address stator and controls the address data generation unit so as to repeatedly access the loop unit, and the data interpolation unit The control unit uses the waveform data of the loop part start address as the waveform data of the loop part end address, and in the final section of the loop part, the waveform data accessed by the integer part immediately before the loop part end address and the loop part start address. The interpolation data is corrected in accordance with the distance between the integer part and the loop part end address, and data interpolation is performed thereby. In the invention described above, the data interpolation control unit uses waveform data of a loop part end address as waveform data of a start address of the loop part, and uses waveform data of a loop part end address and waveform data of a loop part end address in the first section of the loop part. Using the waveform data accessed by the integer value immediately after the loop part start address, and correcting the interpolated data according to the distance between the integer value and the loop part start address, data interpolation is performed. As a result, even though it is a pinch asynchronous method, looping processing can be performed accurately, and there is an advantage that waveform distortion does not occur.

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

第1図はこの発明の一実施例の全体構成を示すブロック
図、第2図は同実施例における補間制御部の構成を示す
ブロック図、第3図は同実施例におけるループ部の境界
と波形データの位置関係を示す概念図、第4図は同実施
例におけるクロック信号のタイミングを示すタイミング
チャート、第5図は同実施例における直線補間処理を説
明するための説明図、第6図は同実施例における読出し
波形のアタンク部とループ部とを示す波形図、第7図は
同実施例における特定補間区間の補正処理を説明するた
めの説明図、第8図は同実施例の一変形例におけるルー
プ部の境界と波形データの位置関係を示す概念図、第9
図は同変形例における補間制御部18の構成例を示すブ
o ツク図、第10図はピッチ非同期方式の発音原理を
説明するための波形図、第11図はピ・ノチ同期方式に
よるル−ピング処理を説明するための波形図、第12図
はピッチ非同期方式における従来のルーピング処理を説
明するための波形図である。 3・・・・・周波数情報発生部、4・・・・・Fナンノ
くレジスタ、8・・・・加算器、9・・・・・セレクタ
、10・・・・・・減算器、11・・・・・シフトレジ
スタ、15・・・・・・セレクタ、16−・・・・加算
器、19・・・・・セレクタ(以上3.4,8,9,1
0.LL  15,16.19はアドレスデータ発生部
)、5・・・・・制御部(ル−プ制御部)、17・・・
・・波形メモリ、18・・・・・・補間制御部。
Fig. 1 is a block diagram showing the overall configuration of an embodiment of the present invention, Fig. 2 is a block diagram showing the arrangement of the interpolation control section in the embodiment, and Fig. 3 is the boundary and waveform of the loop section in the embodiment. 4 is a conceptual diagram showing the positional relationship of data, FIG. 4 is a timing chart showing the timing of the clock signal in the same embodiment, FIG. 5 is an explanatory diagram for explaining the linear interpolation process in the same embodiment, and FIG. 6 is the same A waveform diagram showing the at-tank part and the loop part of the readout waveform in the embodiment, FIG. 7 is an explanatory diagram for explaining correction processing of a specific interpolation interval in the embodiment, and FIG. 8 is a modified example of the embodiment. Conceptual diagram showing the positional relationship between the boundary of the loop part and the waveform data in
The figure is a block diagram showing an example of the configuration of the interpolation control section 18 in the modified example, FIG. 10 is a waveform diagram for explaining the sound generation principle of the pitch asynchronous method, and FIG. 11 is a waveform diagram for explaining the sound generation principle of the pitch asynchronous method. FIG. 12 is a waveform diagram for explaining the conventional looping process in the pitch asynchronous system. 3...Frequency information generation section, 4...F number register, 8...Adder, 9...Selector, 10...Subtractor, 11... ...Shift register, 15...Selector, 16-...Adder, 19...Selector (3.4, 8, 9, 1
0. LL 15, 16, 19 are address data generation sections), 5...control section (loop control section), 17...
...Waveform memory, 18...Interpolation control section.

Claims (2)

【特許請求の範囲】[Claims] (1)所定のサンプリング間隔で波形データが記憶され
ている波形メモリと、 発音すべき音の周波数に対応する間隔でアドレスデータ
を更新するとともに、前記アドレスの整数部および当該
整数部の次の整数により前記波形データをアクセスし、
さらに前記アドレスの少数部を補間データとして出力す
るアドレスデータ発生部と、 前記アドレスデータ発生部によってアクセスされた2つ
の波形データと前記補間データとに基づいてデータ補間
を行うデータ補間制御部と、前記アドレスデータによる
アドレス空間の少なくとも一部にループ部を設定し、こ
のループ部を繰り返しアクセスするように前記アドレス
データ発生部を制御するループ制御部とを具備するとと
もに、 前記データ補間制御部は、ループ部エンドアドレスの波
形データとしてループ部スタートアドレスの波形データ
を用い、ループ部の最終区間においてはループ部エンド
アドレスの直前となる整数部によってアクセスされた波
形データとループ部スタートアドレスの波形データとを
用い、かつ、当該整数部とループ部エンドアドレスとの
間の距離に対応して前記補間データを補正し、これによ
りデータ補間を行うことを特徴とするPCM音源装置。
(1) A waveform memory that stores waveform data at predetermined sampling intervals, updates address data at intervals corresponding to the frequency of the sound to be produced, and also updates the integer part of the address and the next integer after the integer part. access the waveform data by
further comprising: an address data generation section that outputs a fractional part of the address as interpolation data; a data interpolation control section that performs data interpolation based on the two waveform data accessed by the address data generation section and the interpolation data; a loop control unit that controls the address data generation unit to set a loop unit in at least a part of an address space based on address data and repeatedly access the loop unit; The waveform data of the loop part start address is used as the waveform data of the part end address, and in the final section of the loop part, the waveform data accessed by the integer part immediately before the loop part end address and the waveform data of the loop part start address are used. and correcting the interpolation data in accordance with the distance between the integer part and the loop part end address, thereby performing data interpolation.
(2)所定のサンプリング間隔で波形データが記憶され
ている波形メモリと、 発音すべき音の周波数に対応する間隔でアドレスデータ
を更新するとともに、前記アドレスの整数部および当該
整数部の次の整数により前記波形データをアクセスし、
さらに前記アドレスの少数部を補間データとして出力す
るアドレスデータ発生部と、 前記アドレスデータ発生部によってアクセスされた2つ
の波形データと前記補間データとに基づいてデータ補間
を行うデータ補間制御部と、前記アドレスデータによる
アドレス空間の少なくとも一部にループ部を設定し、こ
のループ部を繰り返しアクセスするように前記アドレス
データ発生部を制御するループ制御部とを具備するとと
もに、 前記データ補間制御部は、ループ部のスタートアドレス
の波形データとしてループ部エンドアドレスの波形デー
タを用い、ループ部の最初の区間においてはループ部エ
ンドアドレスの波形データとループ部スタートアドレス
の直後の整数値によってアクセスされた波形データとを
用い、かつ、当該整数値とループ部スタートアドレスと
の間の距離に対応して前記補間データを補正し、これに
よりデータ補間を行うことを特徴とするPCM音源装置
(2) A waveform memory that stores waveform data at predetermined sampling intervals, updates address data at intervals corresponding to the frequency of the sound to be produced, and also updates the integer part of the address and the next integer after the integer part. access the waveform data by
further comprising: an address data generation section that outputs a fractional part of the address as interpolation data; a data interpolation control section that performs data interpolation based on the two waveform data accessed by the address data generation section and the interpolation data; a loop control unit that controls the address data generation unit to set a loop unit in at least a part of an address space based on address data and repeatedly access the loop unit; The waveform data of the loop part end address is used as the waveform data of the start address of the loop part, and in the first section of the loop part, the waveform data of the loop part end address and the waveform data accessed by the integer value immediately after the loop part start address are used. A PCM sound source device characterized in that the interpolation data is corrected in accordance with the distance between the integer value and the loop part start address, thereby performing data interpolation.
JP1247665A 1989-09-22 1989-09-22 PCM sound source device Expired - Lifetime JP2669073B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1247665A JP2669073B2 (en) 1989-09-22 1989-09-22 PCM sound source device
US07/585,381 US5194681A (en) 1989-09-22 1990-09-20 Musical tone generating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1247665A JP2669073B2 (en) 1989-09-22 1989-09-22 PCM sound source device

Publications (2)

Publication Number Publication Date
JPH03179400A true JPH03179400A (en) 1991-08-05
JP2669073B2 JP2669073B2 (en) 1997-10-27

Family

ID=17166847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1247665A Expired - Lifetime JP2669073B2 (en) 1989-09-22 1989-09-22 PCM sound source device

Country Status (1)

Country Link
JP (1) JP2669073B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232766A (en) * 1999-11-02 2011-11-17 Dts Inc System and method for providing interactive audio in multi-channel audio environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029793A (en) * 1983-07-28 1985-02-15 ヤマハ株式会社 Musical tone forming apparatus
JPS6374100A (en) * 1986-09-18 1988-04-04 カシオ計算機株式会社 Electronic musical instrument
JPH0157799U (en) * 1987-10-07 1989-04-11

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029793A (en) * 1983-07-28 1985-02-15 ヤマハ株式会社 Musical tone forming apparatus
JPS6374100A (en) * 1986-09-18 1988-04-04 カシオ計算機株式会社 Electronic musical instrument
JPH0157799U (en) * 1987-10-07 1989-04-11

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232766A (en) * 1999-11-02 2011-11-17 Dts Inc System and method for providing interactive audio in multi-channel audio environment

Also Published As

Publication number Publication date
JP2669073B2 (en) 1997-10-27

Similar Documents

Publication Publication Date Title
US4246823A (en) Waveshape generator for electronic musical instruments
EP0187211B1 (en) Tone signal generating apparatus
US4715257A (en) Waveform generating device for electronic musical instruments
JPH03179400A (en) Pcm sound source device
JP2007071865A (en) Method and circuit for interpolating encoder output
JPH03156497A (en) Function generator for electronic instrument
JPS61124994A (en) Musical sound signal generator
JP3252296B2 (en) Waveform data output device
JPS61182097A (en) Noise reduction device for electronic musical instruments
JP2608938B2 (en) Waveform interpolation device
JPS62245434A (en) Waveform generating device for electronic musical instrument
JP2940384B2 (en) Electronic musical instrument
JP2671648B2 (en) Digital data interpolator
JPS5846036B2 (en) electronic musical instruments
KR950007152Y1 (en) Variable otave address generating apparatus of electronic musical instrument
JP2800623B2 (en) Coefficient storage method and musical tone waveform generator
JPS6315300A (en) Interpolation
KR960014531B1 (en) Sampling Frequency Multiplier in Digital Waveform Generators
JPH0560118B2 (en)
JPH039478B2 (en)
JPH03216871A (en) Read data correction method
JPH0567959B2 (en)
JPS63177619A (en) Control circuit for digital sample rate conversion
JPH0519767A (en) Music synthesizer
JPS6116991B2 (en)