JP2993344B2 - Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method - Google Patents

Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method

Info

Publication number
JP2993344B2
JP2993344B2 JP5345306A JP34530693A JP2993344B2 JP 2993344 B2 JP2993344 B2 JP 2993344B2 JP 5345306 A JP5345306 A JP 5345306A JP 34530693 A JP34530693 A JP 34530693A JP 2993344 B2 JP2993344 B2 JP 2993344B2
Authority
JP
Japan
Prior art keywords
amplitude value
value data
waveform
waveform amplitude
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.)
Expired - Fee Related
Application number
JP5345306A
Other languages
Japanese (ja)
Other versions
JPH07181975A (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 JP5345306A priority Critical patent/JP2993344B2/en
Publication of JPH07181975A publication Critical patent/JPH07181975A/en
Application granted granted Critical
Publication of JP2993344B2 publication Critical patent/JP2993344B2/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 waveform generation device having a waveform memory storing waveform sample data and a waveform storage device (waveform memory) used in the waveform generation device.

【0002】[0002]

【従来の技術】従来、電子楽器などで用いる楽音波形の
生成方式として、所定の波形の順次サンプル点の波形振
幅値をディジタル的に波形メモリに記憶しておき、この
波形メモリの記憶内容を繰返し読出して楽音波形を生成
するようにした波形生成方式が知られている。
2. Description of the Related Art Conventionally, as a method of generating a musical tone waveform used in an electronic musical instrument or the like, a waveform amplitude value at a predetermined sampling point of a predetermined waveform is digitally stored in a waveform memory, and the stored contents of the waveform memory are repeated. There is known a waveform generation method for generating a musical tone waveform by reading the waveform.

【0003】波形メモリからの波形データの読出しは、
具体的には、以下のように行なわれる。まず、発生すべ
き楽音の音高に対応する周波数情報(いわゆるFナン
バ)Fを累算器で順次累算し、順次出力される累算値q
F(q=1,2,3,…)の整数部Iをアドレスとして
所定周期で波形メモリの波形データを読出す。また、累
算値qFの整数部Iだけをアドレスとして読出した波形
データは量子化ノイズを含むため、補間法を用いてこれ
を改善するようにしている。すなわち、隣合う複数のサ
ンプル点の波形データを読出して、累算値qFの少数部
dに基づく補間を行ない、任意の位置の振幅値を求めこ
れを波形データとして出力している。
Reading of waveform data from a waveform memory is performed by
Specifically, it is performed as follows. First, frequency information (so-called F number) F corresponding to the pitch of a musical tone to be generated is sequentially accumulated by an accumulator, and an accumulated value q sequentially outputted
The waveform data in the waveform memory is read at a predetermined cycle using the integer part I of F (q = 1, 2, 3,...) As an address. Moreover, since the waveform data read out using only the integer part I of the accumulated value qF as an address contains quantization noise, this is improved by using an interpolation method. That is, waveform data at a plurality of adjacent sample points is read out, interpolation is performed based on the decimal part d of the accumulated value qF, and an amplitude value at an arbitrary position is obtained and output as waveform data.

【0004】このようにして、所望の音高の楽音波形が
出力される。波形メモリの波形データは、順次サンプル
点の波形振幅値をそのまま順番に(いわゆるリニアに)
格納している。音高が高くなるとFナンバの値も大きく
なるので、累算値qFの整数部Iも大きくなり、波形メ
モリのデータを飛ばし読みしなければならない場合があ
る。波形メモリはリニアに波形データを格納しているの
で、アドレスを飛ばしても、常に各サンプル点の正しい
波形振幅値を読出すことができる。
In this way, a musical tone waveform having a desired pitch is output. For the waveform data in the waveform memory, the waveform amplitude values at the sample points are sequentially changed as they are (so-called linear).
Stored. Since the value of the F number increases as the pitch increases, the integer part I of the accumulated value qF also increases, and it may be necessary to skip the data in the waveform memory. Since the waveform memory stores the waveform data linearly, the correct waveform amplitude value at each sample point can always be read even if the address is skipped.

【0005】一方、波形メモリの容量を抑えることなど
を目的として、波形データを圧縮することが行なわれて
いる。圧縮の方式としては、例えばDPCM(差分PC
M)、LPC(線形予測符号化)、およびADPCMな
どがある。これらは、いずれも過去の波形データ(再生
値)と新たに読出したデータとを用いて現在の波形デー
タ(再生値)を得る方式である。
On the other hand, for the purpose of suppressing the capacity of the waveform memory, the waveform data is compressed. As a compression method, for example, DPCM (differential PC
M), LPC (Linear Predictive Coding), and ADPCM. Each of these methods is a method of obtaining current waveform data (reproduced value) using past waveform data (reproduced value) and newly read data.

【0006】[0006]

【発明が解決しようとする課題】ところが、上述のよう
なデータ圧縮を行なっている場合は、常にある時点より
前のデータを用いてその時点の波形データを算出するた
め、波形メモリに格納されているデータを連続的に読み
出さなければならない。1つでもデータを読み出さない
と、その次から再生できなくなってしまう。したがっ
て、音高の高い楽音波形信号を再生するため波形メモリ
を飛ばし読みすることができず、音高の幅に制限がある
という問題があった。
However, when the above-described data compression is performed, the waveform data at that time is always calculated by using the data before a certain time, so that it is stored in the waveform memory. Data must be read continuously. If at least one piece of data is not read, it will not be possible to reproduce the next data. Therefore, there is a problem that the waveform memory cannot be skipped and read in order to reproduce a musical tone waveform signal having a high pitch, and the width of the pitch is limited.

【0007】この発明は、波形サンプルデータを記憶し
た波形メモリを有する波形生成装置およびそのような波
形生成装置で用いる波形記憶装置(波形メモリ)の改良
に関する。
The present invention relates to a waveform generation device having a waveform memory storing waveform sample data, and an improvement of a waveform storage device (waveform memory) used in such a waveform generation device.

【0008】また、この発明は、音高の幅が制限される
ようなことがなく波形メモリを飛ばし読みすることがで
き、かつ波形メモリのデータを圧縮できる波形生成装置
および波形記憶装置を提供することを目的とする。
Further, the present invention provides a waveform generator and a waveform storage device which can skip and read the waveform memory without limiting the pitch width, and can compress the data in the waveform memory. The purpose is to:

【0009】[0009]

【課題を解決するための手段】この目的を達成するた
め、請求項1に係る発明は、所定の複数サンプル点ごと
に非圧縮波形振幅値データを設けるとともに、該非圧縮
波形振幅値データのサンプル点の間にあるサンプル点に
対しては、直前のサンプル点の非圧縮波形振幅値データ
を用いて非圧縮波形振幅値データを算出できるように、
かつ直後のサンプル点の非圧縮波形振幅値データを用い
て非圧縮波形振幅値データを算出できるように、圧縮さ
れた圧縮波形振幅値データを設けた波形記憶手段と、前
記波形記憶手段から、連続した範囲に含まれる1つの非
圧縮波形振幅値データおよび複数の圧縮波形振幅値デー
タを読出す読出し手段と、前記読出した1つの非圧縮波
形振幅値データを用いて、前記読出した圧縮波形振幅値
データから非圧縮波形振幅値データを算出する算出手段
であって、前記読出した1つの非圧縮波形振幅値データ
から見て時間的に未来の側のサンプル点に対応する圧縮
波形振幅値データについては、その非圧縮波形振幅値デ
ータから未来の側に向かう方向(正方向)に順次圧縮波
形振幅値データを算出し、前記読出した1つの非圧縮波
形振幅値データから見て時間的に過去の側のサンプル点
に対応する圧縮波形振幅値データについては、その非圧
縮波形振幅値データから過去の側に向かう方向(逆方
向)に順次圧縮波形振幅値データを算出するものと、得
られた非圧縮波形振幅値データに基づいて、波形データ
を再生する再生手段とを備えたことを特徴とする。
In order to achieve this object, the invention according to claim 1 provides uncompressed waveform amplitude value data for each of a plurality of predetermined sample points, and sets sample points of the uncompressed waveform amplitude value data. For the sample points in between, the uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data of the immediately preceding sample point,
And a waveform storage unit provided with compressed compressed waveform amplitude value data so that uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data of the immediately following sample point; Reading means for reading one non-compressed waveform amplitude value data and a plurality of compressed waveform amplitude data included in the read range, and using the read one non-compressed waveform amplitude value data to read the read compressed waveform amplitude value. Calculation means for calculating uncompressed waveform amplitude value data from data
Wherein the one uncompressed waveform amplitude value data read out
Corresponding to sample points on the future side in time
For waveform amplitude data, the uncompressed waveform amplitude data
Compression wave in the direction from the data to the future side (positive direction)
Shape data and calculate the read one uncompressed wave
Sampling point on the past side in terms of shape amplitude value data
The compressed waveform amplitude value data corresponding to
Direction from the compressed waveform amplitude value data to the past (reverse direction)
And a reproducing means for reproducing the waveform data based on the obtained non-compressed waveform amplitude value data.

【0010】また、請求項2に係る発明は、所定の複数
サンプル点ごとに非圧縮波形振幅値データを設けるとと
もに、該非圧縮波形振幅値データのサンプル点の間にあ
るサンプル点に対しては、直前のサンプル点の非圧縮波
形振幅値データを用いて非圧縮波形振幅値データを算出
できるように、かつ直後のサンプル点の非圧縮波形振幅
値データを用いて非圧縮波形振幅値データを算出できる
ように、圧縮された圧縮波形振幅値データを設けた波形
記憶手段と、生成すべき楽音波形の音高に応じた周波数
情報を発生する周波数情報発生手段と、前記周波数情報
を所定速度で繰返し累算して、累算値を出力する累算手
段と、前記累算値に基づいて、前記波形記憶手段から、
連続した範囲に含まれる1つの非圧縮波形振幅値データ
および複数の圧縮波形振幅値データを読出す読出し手段
と、前記読出した1つの非圧縮波形振幅値データを用い
て、前記読出した圧縮波形振幅値データから非圧縮波形
振幅値データを算出する算出手段であって、前記読出し
た1つの非圧縮波形振幅値データから見て時間的に未来
の側のサンプル点に対応する圧縮波形振幅値データにつ
いては、その非圧縮波形振幅値データから未来の側に向
かう方向に順次圧縮波形振幅値データを算出し、前記読
出した1つの非圧縮波形振幅値データから見て時間的に
過去の側のサンプル点に対応する圧縮波形振幅値データ
については、その非圧縮波形振幅値データから過去の側
に向かう方向に順次圧縮波形振幅値データを算出するも
と、得られた非圧縮波形振幅値データから、補間に用
いる非圧縮波形振幅値データを選択する選択手段と、前
記選択手段によって選択された非圧縮波形振幅値データ
を用いて補間処理を行ない、補間結果を波形データとし
て出力する補間手段とを備えたことを特徴とする。
According to a second aspect of the present invention , the non-compressed waveform amplitude value data is provided for each of a plurality of predetermined sample points, and a sample point between the sample points of the non-compressed waveform amplitude value data is provided. Uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data at the immediately preceding sample point, and uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data at the immediately following sample point. Thus, a waveform storage means provided with compressed compressed waveform amplitude value data, frequency information generation means for generating frequency information corresponding to the pitch of a musical tone waveform to be generated, and the frequency information repeated and accumulated at a predetermined speed. Accumulating means for calculating and outputting an accumulated value; and
Reading means for reading one piece of non-compressed waveform amplitude data and a plurality of pieces of compressed waveform amplitude data included in a continuous range; and using the one piece of read non-compressed waveform amplitude data to read the compressed waveform amplitude. a calculating means for calculating a non-compressed waveform amplitude value data from the value data, the read
From the viewpoint of one uncompressed waveform amplitude value data
The compressed waveform amplitude value data corresponding to the sample point
From the uncompressed waveform amplitude value data to the future side.
The compressed waveform amplitude value data is sequentially calculated in the
From the output of one uncompressed waveform amplitude value data
Compressed waveform amplitude value data corresponding to past sample points
From the uncompressed waveform amplitude data
To calculate the compressed waveform amplitude value data in the direction toward
Performed for a, from a non-compressed waveform amplitude value data obtained, selecting means for selecting a non-compressed waveform amplitude value data used for the interpolation, an interpolation process using a non-compressed waveform amplitude value data selected by said selection means And interpolation means for outputting the interpolation result as waveform data.

【0011】前記読出し手段は、前記累算値の上位の値
に基づいて波形記憶手段の読出しアドレスを決定するよ
うにするとよい。後述する実施例では、累算値qFの整
数部に基づいて波形メモリの読出しアドレスを決定して
いる。
The reading means may determine a read address of the waveform storage means based on an upper value of the accumulated value. In the embodiment described later, the read address of the waveform memory is determined based on the integer part of the accumulated value qF.

【0012】[0012]

【0013】さらに、請求項3に係る波形記憶装置は、
音を所定のサンプリング周波数でサンプリングして得た
波形データを圧縮して記憶した波形記憶装置であって、
前記波形データのn個のサンプルを得て、所定の複数サ
ンプル点ごとにM(MはM≦n/2+1の整数)個の
圧縮波形振幅値データを設けるとともに、該非圧縮波形
振幅値データのサンプル点の間にあるサンプル点に対し
ては、直前のサンプル点の非圧縮波形振幅値データを用
いて非圧縮波形振幅値データを算出できるように、かつ
直後のサンプル点の非圧縮波形振幅値データを用いて非
圧縮波形振幅値データを算出できるように、圧縮された
(n−1)個の圧縮波形振幅値データを設けたことを特
徴とする。また、請求項4に係る発明は、請求項3にお
いて、前記所定の複数サンプル点ごとに設けられた非圧
縮波形振幅値データから任意に1つの非圧縮波形振幅値
データを選択し、該選択した非圧縮波形振幅値データを
用いて、該非圧縮波形振幅値データの直後の連続する複
数の圧縮波形振幅値データから対応する複数の非圧縮波
形振幅値データを算出した場合、前記算出された複数の
非圧縮波形振幅値データの最後の非圧縮波形振幅値デー
タが、前記選択した1つの非圧縮波形振幅値データの次
に設けられた非圧縮波形振幅値データと同じになること
を特徴とする。さらに請求項5に係る発明は、波形記憶
手段から波形データを読み出して再生する波形生成方法
であって、前記波形記憶手段は、所定の複数サンプル点
ごとに非圧縮波形振幅値データを設けるとともに、該非
圧縮波形振幅値データのサンプル点の間にあるサンプル
点に対しては、直前のサンプル点の非圧縮波形振幅値デ
ータを用いて非圧縮波形振幅値データを算出できるよう
に、かつ直後のサンプル点の非圧縮波形振幅値データを
用いて非圧縮波形振幅値データを算出できるように、圧
縮された圧縮波形振幅値データを設けたものにするとと
もに、前記波形記憶手段からの波形データの読み出し再
生は、前記波形記憶手段から、連続した範囲に含まれる
1つの非圧縮波形振幅値データおよび複数の圧縮波形振
幅値データを読出す読出しステップと、前記読出した1
つの非圧縮波形振幅値データを用いて、前記読出した圧
縮波形振幅値データから非圧縮波形振幅値データを算出
する算出ステップであって、前記読出した1つの非圧縮
波形振幅値データから見て時間的に未来の側のサンプル
点に対応する圧縮波形振幅値データについては、その非
圧縮波形振幅値データから未来の側に向かう方向に順次
圧縮波形振幅値データを算出し、前記読出した1つの非
圧縮波形振幅値データから見て時間的に過去の側のサン
プル点に対応する圧縮波形振幅値データについては、そ
の非圧縮波形振幅値データから過去の側に向かう方向に
順次圧縮波形振幅値データを算出する算出ステップと、
得られた非圧縮波形振幅値データに基づいて、波形デー
タを再生する再生ステップとを備えたことを特徴とす
る。請求項6に係る発明は、波形記憶手段から波形デー
タを読み出して再生する波形生成方法であって、前記波
形記憶手段は、所定の複数サンプル点ごとに非圧縮波形
振幅値データを設けるとともに、該非圧縮波形振幅値デ
ータのサンプル点の間にあるサンプル点に対しては、直
前のサンプル点の非圧縮波形振幅値データを用いて非圧
縮波形振幅値データを算出できるように、かつ直後のサ
ンプル点の非圧縮波形振幅値データを用いて非圧縮波形
振幅値データを算出できるように、圧縮された圧縮波形
振幅値データを設けたものにするとともに、前記波形記
憶手段からの波形データの読み出し再生は、生成すべき
楽音波形の音高に応じた周波数情報を発生する周波数情
報発生ステップと、前記周波数情報を所定速度で繰返し
累算して、累算値を出力する累算ステップと、前記累算
値に基づいて、前記波形記憶手段から、連続した範囲に
含まれる1つの非圧縮波形振幅値データおよび複数の圧
縮波形振幅値データを読出す読出しステップと、前記読
出した1つの非圧縮波形振幅値データを用いて、前記読
出した圧縮波形振幅値データから非圧縮波形振幅値デー
タを算出する算出ステップであって、前記読出した1つ
の非圧縮波形振幅値データから見て時間的に未来の側の
サンプル点に対応する圧縮波形振幅値データについて
は、その非圧縮波形振幅値データから未来の側に向かう
方向に順次圧縮波形振幅値データを算出し、前記読出し
た1つの非圧縮波形振幅値データから見て時間的に過去
の側のサンプル点に対応する圧縮波形振幅値データにつ
いては、その非圧縮波形振幅値データから過去の側に向
かう方向に順次圧縮波形振幅値データを算出する算出ス
テップと、得られた非圧縮波形振幅値データから、補間
に用いる非圧縮波形振幅値データを選択する選択ステッ
プと、前記選択ステップによって選択された非圧縮波形
振幅値データを用いて補間処理を行ない、補間結果を波
形データとして出力する補間ステップとを備えたことを
特徴とする。さらに請求項7に係る波形記憶方法は、
を所定のサンプリング周波数でサンプリングして得た波
形データを圧縮して記憶する波形記憶方法であって、前
記波形データのn個のサンプルを得て、所定の複数サン
プル点ごとにM(MはM≦n/2+1の整数)個の非圧
縮波形振幅値データを設けるとともに、該非圧縮波形振
幅値データのサンプル点の間にあるサンプル点に対して
は、直前のサンプル点の非圧縮波形振幅値データを用い
て非圧縮波形振幅値データを算出できるように、かつ直
後のサンプル点の非圧縮波形振幅値データを用いて非圧
縮波形振幅値データを算出できるように、圧縮された
(n−1)個の圧縮波形振幅値データを設けることを特
徴とする。さらに請求項8に係る発明は、請求項7にお
いて、前記所定の複数サンプル点ごとに設けられた非圧
縮波形振幅値データから任意に1つの非圧縮波形振幅値
データを選択し、該選択した非圧縮波形振幅値データを
用いて、該非圧縮波形振幅値データの直後の連続する複
数の圧縮波形振幅値データから対応する複数の非圧縮波
形振幅値データを算出した場合、前記算出された複数の
非圧縮波形振幅値データの最後の非圧縮波形振幅値デー
タが、前記選択した1つの非圧縮波形振幅値データの次
に設けられた非圧縮波形振幅値データと同じになること
を特徴とする。
Further, the waveform storage device according to claim 3 is
The sound was obtained by sampling at a predetermined sampling frequency
A waveform storage device for compressing and storing waveform data,
Obtaining n samples of the waveform data, providing M (M is an integer of M ≦ n / 2 + 1) uncompressed waveform amplitude value data for each of a plurality of predetermined sample points, For the sample points between the sample points, the uncompressed waveform amplitude value data at the immediately preceding sample point can be calculated using the uncompressed waveform amplitude value data at the immediately preceding sample point. Compressed data so that uncompressed waveform amplitude value data can be calculated using the data
(N-1) pieces of compressed waveform amplitude value data are provided. According to a fourth aspect of the present invention, in the third aspect, one uncompressed waveform amplitude value data is arbitrarily selected from the uncompressed waveform amplitude value data provided for each of the plurality of predetermined sample points. Using the uncompressed waveform amplitude value data, when calculating a plurality of corresponding non-compressed waveform amplitude value data from a plurality of continuous compressed waveform amplitude value data immediately after the uncompressed waveform amplitude value data, The last non-compressed waveform amplitude value data of the non-compressed waveform amplitude value data is the same as the non-compressed waveform amplitude value data provided next to the selected one non-compressed waveform amplitude value data. The invention according to claim 5 is a waveform generating method for reading and reproducing waveform data from the waveform storage means, wherein the waveform storage means provides uncompressed waveform amplitude value data for each of a plurality of predetermined sample points, For the sample points between the sample points of the uncompressed waveform amplitude value data, the uncompressed waveform amplitude value data at the immediately preceding sample point can be used to calculate the uncompressed waveform amplitude value data, and In order to be able to calculate the non-compressed waveform amplitude value data using the non-compressed waveform amplitude value data at the points, the compressed compressed waveform amplitude value data is provided, and the waveform data is read and reproduced from the waveform storage means. A reading step for reading one uncompressed waveform amplitude value data and a plurality of compressed waveform amplitude value data included in a continuous range from said waveform storage means. When was the read 1
Calculating uncompressed waveform amplitude value data from the read compressed waveform amplitude value data using the two uncompressed waveform amplitude value data, and calculating time from the read one uncompressed waveform amplitude value data. As for the compressed waveform amplitude value data corresponding to the sample point on the future side, the compressed waveform amplitude value data is sequentially calculated in the direction toward the future side from the uncompressed waveform amplitude value data, and the one read non-compressed waveform amplitude value data is calculated. Regarding the compressed waveform amplitude data corresponding to the sample point on the past side in terms of the compressed waveform amplitude data, the compressed waveform amplitude value data is sequentially transferred from the uncompressed waveform amplitude data in the direction toward the past. A calculating step for calculating;
A reproducing step of reproducing waveform data based on the obtained uncompressed waveform amplitude value data. The invention according to claim 6 is a waveform generating method for reading out and reproducing waveform data from the waveform storage means, wherein the waveform storage means provides uncompressed waveform amplitude value data for each of a plurality of predetermined sample points. For the sample points between the sample points of the compressed waveform amplitude value data, the uncompressed waveform amplitude value data of the immediately preceding sample point can be used to calculate the uncompressed waveform amplitude value data, and the immediately following sample point In order to calculate the non-compressed waveform amplitude value data using the uncompressed waveform amplitude value data, the compressed waveform amplitude value data is provided, and reading and reproduction of the waveform data from the waveform storage means is performed. A frequency information generating step of generating frequency information corresponding to the pitch of a musical tone waveform to be generated; and repeatedly accumulating the frequency information at a predetermined speed to output an accumulated value. An accumulating step, and a reading step of reading one uncompressed waveform amplitude value data and a plurality of compressed waveform amplitude data included in a continuous range from the waveform storage means based on the accumulated value. A calculating step of calculating non-compressed waveform amplitude value data from the read compressed waveform amplitude value data using one read non-compressed waveform amplitude value data; As for the compressed waveform amplitude value data corresponding to the sample point on the future side in view, the compressed waveform amplitude value data is sequentially calculated in the direction toward the future side from the uncompressed waveform amplitude value data, and the readout is performed. With respect to the compressed waveform amplitude data corresponding to the sample point on the past side in terms of one non-compressed waveform amplitude value data, A calculating step of sequentially calculating compressed waveform amplitude value data in a direction toward the other side; a selecting step of selecting non-compressed waveform amplitude value data to be used for interpolation from the obtained uncompressed waveform amplitude value data; And performing an interpolation process using the non-compressed waveform amplitude value data selected in step (a), and outputting an interpolation result as waveform data. Furthermore waveform storage method according to claim 7, sound
Wave obtained by sampling at a predetermined sampling frequency
A waveform storage method for compressing and storing shape data.
After obtaining n samples of the waveform data , M (M is an integer of M ≦ n / 2 + 1) uncompressed waveform amplitude value data is provided for each of a plurality of predetermined sample points, and For the sample points between the sample points, the uncompressed waveform amplitude value data at the immediately preceding sample point can be calculated using the uncompressed waveform amplitude value data at the immediately preceding sample point. Compressed data so that uncompressed waveform amplitude value data can be calculated using the data
It is characterized in that (n-1) pieces of compressed waveform amplitude value data are provided. The invention according to claim 8 is the invention according to claim 7, wherein arbitrarily one uncompressed waveform amplitude value data is selected from the uncompressed waveform amplitude value data provided for each of the plurality of predetermined sample points, and the selected non-compressed waveform amplitude value data is selected. When a plurality of uncompressed waveform amplitude value data corresponding to a plurality of continuous compressed waveform amplitude value data immediately after the uncompressed waveform amplitude value data is calculated using the compressed waveform amplitude value data, The last non-compressed waveform amplitude value data of the compressed waveform amplitude value data is the same as the non-compressed waveform amplitude value data provided next to the selected one non-compressed waveform amplitude value data.

【0014】[0014]

【作用】波形記憶手段は、複数の順次サンプル点の振幅
値データを記憶している。それら振幅値データは、非圧
縮波形振幅値データか圧縮波形振幅値データかのいずれ
かである。非圧縮波形振幅値データは、所定の複数サン
プル点ごとに設けられている。圧縮波形振幅値データ
は、非圧縮波形振幅値データの間に設けられている。圧
縮波形振幅値データからは、その直前にある非圧縮波形
振幅値データを用いて非圧縮波形振幅値データを算出す
ることができるし、その直後にある非圧縮波形振幅値デ
ータを用いて非圧縮波形振幅値データを算出することも
できる。
The waveform storage means stores amplitude value data at a plurality of sequential sample points. The amplitude value data is either uncompressed waveform amplitude value data or compressed waveform amplitude value data. The uncompressed waveform amplitude value data is provided for each of a plurality of predetermined sample points. The compressed waveform amplitude value data is provided between the non-compressed waveform amplitude value data. From the compressed waveform amplitude value data, the non-compressed waveform amplitude value data can be calculated using the immediately preceding non-compressed waveform amplitude value data. Waveform amplitude value data can also be calculated.

【0015】楽音波形を生成するときには、まず、生成
すべき楽音波形の音高に応じた周波数情報が発生され
る。この周波数情報は所定速度で繰返し累算され、累算
値が出力される。この累算値に基づいて、波形記憶手段
から、連続した範囲に含まれる1つの非圧縮波形振幅値
データおよび複数の圧縮波形振幅値データが読出され
る。読出された圧縮波形振幅値データは、非圧縮波形振
幅値データに変換される。
When a musical sound waveform is generated, first, frequency information corresponding to the pitch of the musical sound waveform to be generated is generated. This frequency information is repeatedly accumulated at a predetermined speed, and the accumulated value is output. Based on the accumulated value, one uncompressed waveform amplitude value data and a plurality of compressed waveform amplitude value data included in a continuous range are read from the waveform storage means. The read compressed waveform amplitude value data is converted into uncompressed waveform amplitude value data.

【0016】以上より得られた非圧縮波形振幅値データ
から、補間に用いるべき幾つかの非圧縮波形振幅値デー
タが選択される。選択された非圧縮波形振幅値データを
用いて補間処理を行ない、補間結果が波形データとして
出力される。
From the uncompressed waveform amplitude data obtained as described above, some uncompressed waveform amplitude data to be used for interpolation are selected. An interpolation process is performed using the selected uncompressed waveform amplitude value data, and the interpolation result is output as waveform data.

【0017】なお、波形記憶手段から読出したデータか
ら補間に用いるデータを選択し、選択したもののうち圧
縮波形振幅値データを非圧縮波形振幅値データに変換す
るようにしてもよい。
The data used for interpolation may be selected from the data read from the waveform storage means, and the compressed waveform amplitude data of the selected data may be converted to non-compressed waveform amplitude data.

【0018】[0018]

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

【0019】図1は、この発明の一実施例に係る波形生
成装置を適用した電子楽器のブロック構成を示す。この
電子楽器は、パネルスイッチ(SW)1、鍵盤2、マイ
クロコンピュータ(マイコン)3、マイクロフォン4、
アナログディジタル変換器(ADC)5、バッファRA
M(ランダム・アクセス・メモリ)6、音源部7、波形
メモリ8、ディジタルアナログ変換器(DAC)9、お
よびサウンドシステム10を備えている。
FIG. 1 shows a block configuration of an electronic musical instrument to which a waveform generating device according to an embodiment of the present invention is applied. This electronic musical instrument includes a panel switch (SW) 1, a keyboard 2, a microcomputer (microcomputer) 3, a microphone 4,
Analog-to-digital converter (ADC) 5, buffer RA
An M (random access memory) 6, a tone generator 7, a waveform memory 8, a digital-to-analog converter (DAC) 9, and a sound system 10 are provided.

【0020】パネルスイッチ1は、発生する楽音の音色
を指定するための音色スイッチなどのパネル上に設けら
れているスイッチである。パネルスイッチ1の操作に応
じて出力される操作情報は、マイコン3に入力する。鍵
盤2は、演奏者が演奏するための複数の鍵を備えた鍵盤
である。演奏者の演奏に応じて鍵盤2から出力される演
奏情報(鍵のオン/オフを示すノートオン/オフ信号や
音高を示すノートコードなど)は、マイコン3に入力す
る。
The panel switch 1 is a switch provided on the panel, such as a tone switch for designating a tone of a musical tone to be generated. Operation information output in response to the operation of the panel switch 1 is input to the microcomputer 3. The keyboard 2 is a keyboard provided with a plurality of keys for performing by a player. Performance information (such as a note on / off signal indicating a key on / off and a note code indicating a pitch) output from the keyboard 2 according to the performance of the player is input to the microcomputer 3.

【0021】音源部7は、マイコン3からの指示に応じ
て、波形メモリ8から波形データを読み出し、楽音信号
(ディジタル波形振幅値データ)を生成出力する。音源
部7については、後に詳述する。
The tone generator 7 reads out waveform data from the waveform memory 8 in response to an instruction from the microcomputer 3, and generates and outputs a tone signal (digital waveform amplitude value data). The sound source unit 7 will be described later in detail.

【0022】波形メモリ8は、波形データを格納するR
AMおよびROM(リード・オンリ・メモリ)である。
波形メモリ8のRAM領域には、外部から入力した波形
データを格納する。波形メモリ8のROM領域には、あ
らかじめ設定されるプリセットの波形データが格納され
ている。
The waveform memory 8 stores the waveform data R
AM and ROM (read only memory).
The RAM area of the waveform memory 8 stores externally input waveform data. The ROM area of the waveform memory 8 stores preset waveform data set in advance.

【0023】マイクロフォン4は、外部の音を録音する
ためのものである。マイクロフォン4で外部の音をアナ
ログ信号として入力し、ADC5で所定のサンプリング
周波数でサンプリングしてディジタル信号とする。AD
C5から出力されたディジタル信号は、マイコン3で後
述する図2のフォーマットに圧縮され、音源部7を経由
して波形メモリ8のRAM領域に格納される。バッファ
RAM6は、マイコン3が波形データの圧縮を行う際に
用いるバッファである。
The microphone 4 is for recording external sounds. An external sound is input as an analog signal by the microphone 4 and is sampled at a predetermined sampling frequency by the ADC 5 to be a digital signal. AD
The digital signal output from C5 is compressed by the microcomputer 3 into a format shown in FIG. 2 described later, and stored in the RAM area of the waveform memory 8 via the sound source unit 7. The buffer RAM 6 is a buffer used when the microcomputer 3 compresses the waveform data.

【0024】DAC9は、音源部7からのディジタル楽
音信号に対しディジタルアナログ変換を行ない、アナロ
グ楽音信号を出力する。サウンドシステム10は、DA
C9から出力されるアナログ楽音信号に基づき実際に楽
音を放音する。
The DAC 9 performs digital-to-analog conversion on the digital tone signal from the tone generator 7 and outputs an analog tone signal. The sound system 10
A tone is actually emitted based on the analog tone signal output from C9.

【0025】マイコン3は、本実施例の電子楽器全体の
動作を制御する。特に、外部の音を波形メモリ8に録音
するときは、ADC5からのディジタル信号を後述する
図2のフォーマットに圧縮する処理を行う。これについ
ては、図3を参照して後述する。また、鍵盤2の鍵の押
下があったとき、マイコン3は、その押下に応じて鍵盤
2から出力される演奏情報を入力し、その演奏情報に応
じて音源部7に発音を指示する。
The microcomputer 3 controls the operation of the entire electronic musical instrument of this embodiment. In particular, when recording an external sound in the waveform memory 8, a process of compressing the digital signal from the ADC 5 into a format shown in FIG. This will be described later with reference to FIG. When a key on the keyboard 2 is pressed, the microcomputer 3 inputs performance information output from the keyboard 2 in response to the pressing, and instructs the sound source unit 7 to sound according to the performance information.

【0026】図2は、図1の波形メモリ(RAM領域お
よびROM領域)8の波形データのフォーマットを示
す。波形メモリ8は、複数の記憶バンクを有し、各バン
クに音色ごとの波形デ−タが記憶されている。図2は、
ある1つの音色の波形デ−タの先頭部分を示したもので
ある。
FIG. 2 shows the format of waveform data in the waveform memory (RAM area and ROM area) 8 of FIG. The waveform memory 8 has a plurality of storage banks, and each bank stores waveform data for each tone color. FIG.
This shows the leading part of waveform data of a certain tone color.

【0027】波形データは、その音色の楽音波形の順次
サンプル点振幅値(波形振幅値)デ−タからなる。ただ
し、この実施例では、振幅値そのままの非圧縮なデータ
(以下、「リニアサンプル」と呼ぶ)と直前のサンプル
点の振幅値からの差分データ(以下、「圧縮サンプル」
と呼ぶ)とが混在しており、さらにその差分データは直
後のサンプル点の振幅値からの差分にもなっている。
The waveform data is composed of successive sample point amplitude value (waveform amplitude value) data of the musical tone waveform of the timbre. However, in this embodiment, uncompressed data (hereinafter, referred to as “linear sample”) of the amplitude value itself and difference data (hereinafter, “compressed sample”) from the amplitude value of the immediately preceding sample point are used.
), And the difference data is also a difference from the amplitude value of the immediately following sample point.

【0028】図2において、下部に記載したアドレス−
2,−1,0,1,2,3,…は、スタートアドレスの
位置を基準としたオフセットアドレスを示す。音源部7
の内部で実際に波形メモリ8をアクセスする際、リニア
サンプルの位置を基準としてアクセスするので、説明の
便宜のためスタートアドレスの位置は1番始めに出現す
るリニアサンプルの位置とし、その前に2アドレス分
(アドレス−1,−2)の圧縮サンプルを格納するよう
にしている。
In FIG. 2, the address-
.., 2, -1, 0, 1, 2, 3,... Indicate offset addresses based on the position of the start address. Sound source section 7
When the waveform memory 8 is actually accessed inside the device, since the access is performed based on the position of the linear sample, the position of the start address is set to the position of the first linear sample appearing for convenience of explanation, Compressed samples corresponding to the addresses (address-1, -2) are stored.

【0029】Lは16ビットのリニアサンプル、Dは8
ビットの圧縮サンプルを示す。1アドレスの領域に、リ
ニアサンプルであれば1データが格納でき、圧縮サンプ
ルであれば2データが格納できることになる。音源部7
から波形メモリ8の波形データを読出すときは、上述の
アドレス単位で読出す。すなわち、1アドレスを指定し
て読出すことにより、リニアサンプルであれば16ビッ
トのリニアサンプルが1データ、圧縮サンプルであれば
8ビットの圧縮サンプルが2データ読出せる。
L is a 16-bit linear sample, D is 8
Indicates a compressed sample of bits. In the area of one address, one data can be stored for a linear sample, and two data can be stored for a compressed sample. Sound source section 7
When the waveform data of the waveform memory 8 is read from the memory, the data is read in the above-mentioned address unit. That is, by specifying and reading one address, it is possible to read one data of a 16-bit linear sample for a linear sample and two data of an 8-bit compressed sample for a compressed sample.

【0030】図中、LおよびDに付された括弧付きの添
字は、当該データ(リニアサンプルまたは圧縮サンプ
ル)に対応するサンプル点(サンプリング点)の番号で
ある。すなわち、L(0),L(6),L(12),…
はそれぞれ第0サンプル点、第6サンプル点、第12サ
ンプル点、…の振幅値(リニアサンプル値)であり、D
(1),D(2),D(3),…はそれぞれ第1サンプ
ル点、第2サンプル点、第3サンプル点、…の直前サン
プル点振幅値(直前のサンプル点のリニアサンプル値)
からの差分である。
In the figure, the parenthesized subscripts attached to L and D are the numbers of sample points (sampling points) corresponding to the data (linear samples or compressed samples). That is, L (0), L (6), L (12),.
Are the amplitude values (linear sample values) of the 0th sample point, the 6th sample point, the 12th sample point,.
(1), D (2), D (3),... Are the immediately preceding sample point amplitude values (linear sample values of the immediately preceding sample point) of the first sample point, the second sample point, the third sample point,.
Is the difference from.

【0031】具体的には、第1サンプル点のリニアサン
プル値L(1)は、直前の第0サンプル点のリニアサン
プル値L(0)と差分D(1)とから、L(1)=L
(0)+D(1)で算出できる。また、第2サンプル点
のリニアサンプル値L(2)は、直前の第1サンプル点
のリニアサンプル値L(1)と差分D(2)とから、L
(2)=L(1)+D(2)で算出できる。以下同様に
して、圧縮サンプルD(m)と直前のリニアサンプルL
(m−1)とを用いて、リニアサンプルL(m)=L
(m−1)+D(m)が算出できる。
Specifically, the linear sample value L (1) at the first sample point is obtained from the linear sample value L (0) at the immediately preceding sample point 0 and the difference D (1) by L (1) = L
It can be calculated by (0) + D (1). The linear sample value L (2) at the second sample point is calculated from the linear sample value L (1) at the immediately preceding first sample point and the difference D (2) by L
(2) = L (1) + D (2) Similarly, the compressed sample D (m) and the immediately preceding linear sample L
Using (m-1), a linear sample L (m) = L
(M-1) + D (m) can be calculated.

【0032】本実施例の波形データは、1アドレス分の
領域の1つのリニアサンプルと、3アドレス分の領域の
6つの圧縮サンプルとを、順に並べて構成されている。
特に、6つの圧縮サンプルのうちの最後の圧縮サンプル
によって算出できるリニアサンプルが、次のリニアサン
プルとして格納されている。例えば、アドレス3にある
圧縮サンプルD(6)を用いて、L(6)=L(5)+
D(6)と算出できるが、そのリニアサンプルL(6)
自体が次のアドレス4に格納されている。
The waveform data of the present embodiment is configured by sequentially arranging one linear sample in an area for one address and six compressed samples in an area for three addresses.
In particular, a linear sample that can be calculated from the last compressed sample of the six compressed samples is stored as the next linear sample. For example, using the compressed sample D (6) at address 3, L (6) = L (5) +
D (6), and its linear sample L (6)
It is stored at the next address 4.

【0033】したがって、圧縮サンプルDは、直前のサ
ンプル点の振幅値(リニアサンプル値)からの差分であ
るとともに、直後のサンプル点の振幅値(リニアサンプ
ル値)からの差分にもなっている。すなわち、上記では
アドレスが増加する方向(正方向)で順次リニアサンプ
ルをL(m)=L(m−1)+D(m)で算出している
が、逆方向(アドレスが減少する方向)にリニアサンプ
ルを算出することもできる。
Therefore, the compressed sample D is a difference from the amplitude value (linear sample value) of the immediately preceding sample point and also a difference from the amplitude value (linear sample value) of the immediately following sample point. That is, in the above description, the linear samples are sequentially calculated as L (m) = L (m-1) + D (m) in the direction in which the address increases (positive direction), but in the reverse direction (the direction in which the address decreases). Linear samples can also be calculated.

【0034】例えば、アドレス4のリニアサンプルL
(6)とアドレス3の圧縮サンプルD(6)とを用い
て、第5サンプル点のリニアサンプルL(5)を、L
(5)=L(6)−D(6)で算出できる。また、その
リニアサンプルL(5)と圧縮サンプルD(5)とを用
いて、第4サンプル点のリニアサンプルL(4)=L
(5)−D(5)を算出できる。以下同様にして、逆方
向にL(m)=L(m+1)−D(m+1)でリニアサ
ンプルを算出できる。したがって、各圧縮サンプルD
(m)は、第m−1サンプル点の直後サンプル点振幅値
(直後のサンプル点のリニアサンプル値)からの差分で
あるということもできる。
For example, the linear sample L of address 4
Using (6) and the compressed sample D (6) at address 3, the linear sample L (5) at the fifth sample point is
(5) = L (6) -D (6) Using the linear sample L (5) and the compressed sample D (5), a linear sample L (4) = L at the fourth sample point is obtained.
(5) -D (5) can be calculated. In the same manner, a linear sample can be calculated in the opposite direction by L (m) = L (m + 1) -D (m + 1). Therefore, each compressed sample D
(M) can also be said to be a difference from the amplitude value of the sample point immediately after the (m-1) th sample point (the linear sample value of the sample point immediately after).

【0035】なお、本実施例では、リニアサンプルのL
(0)の位置を基準としてサンプル点の位置を特定して
いるので、図2の波形データから再生できるサンプル点
を先頭から記載すれば、以下のようになる。説明の便宜
のため、下記の呼び方でサンプル点を特定するものとす
る。
In this embodiment, the L of the linear sample
Since the position of the sample point is specified with reference to the position of (0), if the sample points that can be reproduced from the waveform data in FIG. 2 are described from the beginning, the following is obtained. For convenience of explanation, it is assumed that the sampling points are specified by the following designations.

【0036】 第−4サンプル点…リニアサンプルはL(−4) 第−3サンプル点…リニアサンプルはL(−3) 第−2サンプル点…リニアサンプルはL(−2) 第−1サンプル点…リニアサンプルはL(−1) 第0サンプル点…リニアサンプルはL(0) 第1サンプル点…リニアサンプルはL(1) 第2サンプル点…リニアサンプルはL(2) 第3サンプル点…リニアサンプルはL(3) : :Fourth sample point: Linear sample is L (-4) Third sample point: Linear sample is L (-3) Second sample point: Linear sample is L (-2) First sample point ... Linear sample is L (-1) 0th sample point ... Linear sample is L (0) 1st sample point ... Linear sample is L (1) 2nd sample point ... Linear sample is L (2) 3rd sample point ... The linear sample is L (3)::

【0037】上記のうち、〜のサンプル点のリニア
サンプルは、アドレス0のリニアサンプルL(0)から
逆方向に求める。以降のサンプル点のリニアサンプル
は、波形データ中に保持されているリニアサンプルから
正方向に求めることもできるし、逆方向に求めることも
できる。
Of the above, the linear sample at the sample point (1) is obtained in the reverse direction from the linear sample L (0) at address 0. The linear samples at the subsequent sample points can be obtained in the forward direction or in the reverse direction from the linear samples held in the waveform data.

【0038】また、圧縮サンプルD(−3),D(−
1),D(1),D(3),…はそれぞれのアドレスの
16ビットの領域のうちの下位8ビットに格納され、D
(−2),D(0),D(2),D(4),…はそれぞ
れのアドレスの16ビットの領域のうちの上位8ビット
に格納されている。
The compressed samples D (-3) and D (-
1), D (1), D (3),... Are stored in the lower 8 bits of the 16-bit area of each address.
(-2), D (0), D (2), D (4),... Are stored in the upper 8 bits of the 16-bit area of each address.

【0039】図3は、波形メモリ8のRAM領域に波形
データを書込むときの書込みデータの生成の様子を示
す。
FIG. 3 shows how write data is generated when writing waveform data to the RAM area of the waveform memory 8.

【0040】図1のマイクロフォン4により入力したア
ナログ楽音信号は、ADC5によりディジタル楽音信号
に変換される。図3のL(−4),L(−3),L(−
2),…はADC5の出力であるリニア波形データLで
あり、(図2でも説明した)各サンプル点のリニアサン
プル値(16ビット)である。リニアサンプルを示す矩
形ブロックの下に付したアドレスは、図2と同様に、ス
タートアドレスの位置を基準とした相対的なオフセット
アドレスである。
An analog tone signal input by the microphone 4 in FIG. 1 is converted by the ADC 5 into a digital tone signal. L (−4), L (−3), L (−) in FIG.
2),... Are linear waveform data L output from the ADC 5, and are linear sample values (16 bits) at each sample point (also described in FIG. 2). The address given below the rectangular block indicating the linear sample is a relative offset address based on the position of the start address, as in FIG.

【0041】リニア波形データLは、図1のADC5か
ら順次マイコン3に入力する。マイコン3は、図3に示
すように、このリニア波形データLから差分波形データ
Dを生成する。具体的には、アドレスm(m=−3,−
2,−1,0,1,2,…)に対して、D(m)=L
(m)−L(m−1)で各差分波形データ(8ビット)
を生成する。さらに、2つの差分波形データ(例えば、
D(−3)とD(−2)、D(−1)とD(0)、D
(1)とD(2)など)を結合して16ビットの書込み
データを生成する。
The linear waveform data L is sequentially input to the microcomputer 3 from the ADC 5 in FIG. The microcomputer 3 generates difference waveform data D from the linear waveform data L as shown in FIG. Specifically, the address m (m = −3, −
2, (1,1,0,1,2, ...), D (m) = L
(M) -L (m-1) and each differential waveform data (8 bits)
Generate Further, two differential waveform data (for example,
D (-3) and D (-2), D (-1) and D (0), D
(1) and D (2)) to generate 16-bit write data.

【0042】図2でも説明したように、D(−3),D
(−1),D(1),D(3),…を下位8ビットに、
D(−2),D(0),D(2),D(4),…を上位
8ビットにする。マイコン3は、図1のバッファRAM
6をワークエリアとして用いて、このような波形メモリ
8への書込みデータの生成を行う。
As described in FIG. 2, D (-3), D (-3)
(-1), D (1), D (3),...
D (-2), D (0), D (2), D (4),... The microcomputer 3 is a buffer RAM of FIG.
6 is used as a work area to generate such write data to the waveform memory 8.

【0043】最終的にマイコン3から音源部7を介して
波形メモリ8に書込むデータは、6つごとのリニアサン
プルL(0),L(6),L(12),…、およびその
間の差分波形データである。これにより、図2で説明し
たようなフォーマットの波形データが、波形メモリ8に
格納されることになる。
Data to be finally written from the microcomputer 3 to the waveform memory 8 via the sound source unit 7 includes every six linear samples L (0), L (6), L (12),. This is differential waveform data. As a result, the waveform data in the format as described with reference to FIG.

【0044】図4は、本実施例における波形データ読出
しの原理を説明するための図である。
FIG. 4 is a diagram for explaining the principle of reading waveform data in this embodiment.

【0045】図4(a)は図2で説明した波形メモリ8
の波形データを正方向(アドレスが増加する方向)に読
出す様子を示し、図4(b)は逆方向(アドレスが減少
する方向)に読出す様子を示す。401,402は再生
すべき楽音波形を示す。楽音波形401と402は同じ
波形である。原理説明のための図であり、基準となる縦
軸および横軸は図示していないが、縦軸が波形振幅値を
表し、横軸が時間(図の左から右方向が時間の経過する
方向)を表す。
FIG. 4A shows the waveform memory 8 explained in FIG.
FIG. 4B shows a state in which the waveform data is read in the forward direction (the direction in which the address increases), and FIG. 4B shows a state in which the waveform data is read in the reverse direction (the direction in which the address decreases). Reference numerals 401 and 402 indicate musical tone waveforms to be reproduced. The tone waveforms 401 and 402 have the same waveform. It is a diagram for explaining the principle, and although the reference vertical axis and horizontal axis are not shown, the vertical axis represents the waveform amplitude value, and the horizontal axis represents time (from left to right in the figure, the direction in which time passes). ).

【0046】楽音波形401,402上の黒丸および白
丸は、それぞれサンプル点(サンプリング点)を示す。
白丸または黒丸の近くに付したL(0),L(1),L
(2),…は、各サンプル点のリニアサンプルを示す。
特に、白丸は図2の波形データ中にリニアサンプルが保
持されているサンプル点を示し、黒丸はリニアサンプル
でなく圧縮サンプルが保持されているサンプル点を示
す。
Black and white circles on the tone waveforms 401 and 402 indicate sample points (sampling points).
L (0), L (1), L near the white or black circle
(2),... Indicate linear samples at each sample point.
In particular, white circles indicate sample points where linear samples are held in the waveform data of FIG. 2, and black circles indicate sample points where compressed samples are held instead of linear samples.

【0047】図4(a)では、波形を正方向に再生する
場合に、リニアサンプルに差分データを加えていって直
後のリニアサンプルを求める様子が示してある。例え
ば、L(1)はL(0)+D(1)で算出され、L
(2)はL(1)+D(2)で算出され、…という具合
である。
FIG. 4 (a) shows a case where the difference data is added to the linear sample and the immediately following linear sample is obtained when the waveform is reproduced in the forward direction. For example, L (1) is calculated by L (0) + D (1),
(2) is calculated by L (1) + D (2), and so on.

【0048】逆に、図4(b)では、波形を逆方向に再
生する場合に、リニアサンプルから差分データを引いて
いって直前のリニアサンプルを求める様子が示してあ
る。例えば、L(5)はL(6)−D(6)で算出さ
れ、L(4)はL(5)−D(5)で算出され、…とい
う具合である。
On the other hand, FIG. 4 (b) shows a case where the difference data is subtracted from the linear sample and the immediately preceding linear sample is obtained when the waveform is reproduced in the reverse direction. For example, L (5) is calculated by L (6) -D (6), L (4) is calculated by L (5) -D (5), and so on.

【0049】本実施例では、音源部7は、時分割で複数
チャンネルの発音処理を行う。各チャンネルにおける波
形データの読出し処理は同じであるから、以下では1つ
のチャンネルに着目して説明するものとする。
In the present embodiment, the tone generator 7 performs time-division sound processing for a plurality of channels. Since the reading process of the waveform data in each channel is the same, the following description will be made focusing on one channel.

【0050】本実施例の音源部7は、隣り合う4点のリ
ニアサンプルを用いて補間処理(4点補間)を行うこと
により1つの波形振幅値を算出して出力する。4点のリ
ニアサンプルを得るため、音源部7は、図2の波形デー
タから隣り合う3アドレス分のデータを1度に読出す。
リニアサンプルを含んで隣り合う3アドレス分の波形デ
ータを読出す仕方として以下の3つのタイプがある。
The tone generator 7 of this embodiment calculates and outputs one waveform amplitude value by performing an interpolation process (four-point interpolation) using four adjacent linear samples. In order to obtain four linear samples, the tone generator 7 reads data of three adjacent addresses at a time from the waveform data of FIG.
There are the following three types of methods for reading the waveform data of three adjacent addresses including linear samples.

【0051】(タイプ1)リニアサンプルを読出した
後、そのリニアサンプルの1つ前のアドレスの2圧縮サ
ンプルを読出し、さらにその1つ前のアドレスの2圧縮
サンプルを読出す場合である。例えば、図2のアドレス
4(リニアサンプルL(6))、アドレス3(圧縮サン
プルD(5),D(6))、およびアドレス2(圧縮サ
ンプルD(3),D(4))を読出す場合である。これ
らの読出しデータからは、図2で説明したように、また
図4(b)からも分かるように、リニアサンプルL
(6)から逆方向に4つのリニアサンプルL(5),L
(4),L(3),L(2)を算出することができ、結
果としてリニアサンプルL(2)〜L(6)の5つを求
めることができる。
(Type 1) In this case, after a linear sample is read, two compressed samples at the address immediately before the linear sample are read, and two compressed samples at the address immediately before the linear sample are further read. For example, address 4 (linear sample L (6)), address 3 (compressed sample D (5), D (6)) and address 2 (compressed sample D (3), D (4)) in FIG. This is the case. From these read data, as described in FIG. 2 and as can be seen from FIG.
Four linear samples L (5), L in the reverse direction from (6)
(4), L (3), L (2) can be calculated, and as a result, five linear samples L (2) to L (6) can be obtained.

【0052】(タイプ2)リニアサンプルを読出した
後、そのリニアサンプルの前後の各2圧縮サンプルを読
出す場合である。例えば、図2のアドレス4(リニアサ
ンプルL(6))、アドレス3(圧縮サンプルD
(5),D(6))、およびアドレス5(圧縮サンプル
D(7),D(8))を読出す場合である。これらの読
出しデータからは、リニアサンプルL(6)から逆方向
に2つのリニアサンプルL(5),L(4)を算出する
ことができ、リニアサンプルL(6)から正方向に2つ
のリニアサンプルL(7),L(8)を算出することが
できる。結果として、リニアサンプルL(4)〜L
(8)の5つを求めることができる。
(Type 2) In this case, after reading a linear sample, two compressed samples before and after the linear sample are read. For example, address 4 (linear sample L (6)) and address 3 (compressed sample D
(5), D (6)) and address 5 (compressed samples D (7), D (8)). From these read data, two linear samples L (5) and L (4) can be calculated in the reverse direction from the linear sample L (6), and two linear samples in the forward direction can be calculated from the linear sample L (6). Samples L (7) and L (8) can be calculated. As a result, the linear samples L (4) to L (4)
(5) can be obtained.

【0053】(タイプ3)リニアサンプルを読出した
後、そのリニアサンプルの次のアドレスの2圧縮サンプ
ルを読出し、さらにその次のアドレスの2圧縮サンプル
を読出す場合である。例えば、図2のアドレス4(リニ
アサンプルL(6))、アドレス5(圧縮サンプルD
(7),D(8))、およびアドレス6(圧縮サンプル
D(9),D(10))を読出す場合である。これらの
読出しデータからは、リニアサンプルL(6)から正方
向に4つのリニアサンプルL(7),L(8),L
(9),L(10)を算出することができる。結果とし
て、リニアサンプルL(6)〜L(10)の5つを求め
ることができる。
(Type 3) In this case, after a linear sample is read, two compressed samples at the next address of the linear sample are read, and two compressed samples at the next address are read. For example, address 4 (linear sample L (6)) and address 5 (compressed sample D
(7), D (8)) and address 6 (compressed samples D (9), D (10)). From these read data, four linear samples L (7), L (8), L
(9), L (10) can be calculated. As a result, five linear samples L (6) to L (10) can be obtained.

【0054】図4の矢印411,412,413は、波
形データ中のリニアサンプルを含む3アドレス分のデー
タで算出することができるリニアサンプルの範囲を示し
ている。例えば、矢印412では、リニアサンプルL
(6)を含む3アドレス分の波形データにより、リニア
サンプルL(2)からL(10)まで再生できることを
示している。
Arrows 411, 412, and 413 in FIG. 4 indicate the range of linear samples that can be calculated using data for three addresses including linear samples in the waveform data. For example, in arrow 412, linear sample L
The waveform data for three addresses including (6) indicates that the linear samples L (2) to L (10) can be reproduced.

【0055】図2の波形データはアドレス0,4,8,
…のように4アドレスごとにリニアサンプルを保持して
いるから、それらの各リニアサンプルを含む3アドレス
分の波形データにより再生できるリニアサンプルの範囲
をそれぞれ考慮すると、隣り合うそれらの範囲は3つの
サンプル点の重なりを有することになる。例えば、矢印
411の範囲と矢印412の範囲ではL(2),L
(3),L(4)の3点が重なり、矢印412の範囲と
矢印413の範囲ではL(8),L(9),L(10)
の3点が重なっている。
The waveform data shown in FIG.
Since linear samples are held for every four addresses as in..., Considering the range of linear samples that can be reproduced by the waveform data for three addresses including each of the linear samples, the adjacent ranges are three. It will have an overlap of sample points. For example, in the range of the arrow 411 and the range of the arrow 412, L (2), L
The three points (3) and L (4) overlap, and L (8), L (9), and L (10) in the range of arrow 412 and the range of arrow 413.
3 points overlap.

【0056】したがって、図2の波形データ中のリニア
サンプルを含む3アドレス分を読出しさえすれば、任意
の隣り合う4点のリニアサンプルを算出できることが分
かる。例えば、4点L(1),L(2),L(3),L
(4)を得るためにはリニアサンプルL(0)を含む3
アドレス(図2のアドレス0,1,2)を読出せばよい
し、次の4点L(2),L(3),L(4),L(5)
を得るためにはリニアサンプルL(6)を含む3アドレ
ス(図2のアドレス2,3,4)を読出せばよい。
Therefore, it can be seen that the linear samples of any four adjacent points can be calculated by reading only three addresses including the linear samples in the waveform data of FIG. For example, four points L (1), L (2), L (3), L
In order to obtain (4), 3 including the linear sample L (0)
Addresses (addresses 0, 1, 2 in FIG. 2) may be read, and the next four points L (2), L (3), L (4), L (5)
In order to obtain the address, three addresses (addresses 2, 3, and 4 in FIG. 2) including the linear sample L (6) may be read.

【0057】以上より、4点補間を行うために必要な4
点のリニアサンプルを求めるためには、図2の波形デー
タ中のリニアサンプルを含む3アドレス分を読出せばよ
く、これにより波形データの飛ばし読みが可能になって
いる。
As described above, four points necessary for performing four-point interpolation are obtained.
In order to obtain a linear sample of a point, it is sufficient to read three addresses including the linear sample in the waveform data of FIG. 2, thereby making it possible to skip the waveform data.

【0058】次に、上述したように波形メモリを構成
し、飛ばし読みを可能とした本実施例の音源部7につき
詳しく説明する。
Next, a detailed description will be given of the tone generator 7 of the present embodiment, which constitutes a waveform memory as described above and enables skip reading.

【0059】図5は、図1の音源部7のブロック構成を
示す。音源部7は、制御レジスタ部501、Fナンバ発
生部502、カウンタ503、乗算器504,505、
加算器506、補助アドレス発生部507、デコーダ部
508、データ選択部509、補間部510、エンベロ
ープ発生器511、乗算器512、およびチャンネル
(CH)累算器513を備えている。デコーダ部50
8、データ選択部509、および補間部510を、再生
部と呼ぶ。
FIG. 5 shows a block diagram of the tone generator 7 of FIG. The tone generator 7 includes a control register 501, an F-number generator 502, a counter 503, multipliers 504 and 505,
It comprises an adder 506, an auxiliary address generator 507, a decoder 508, a data selector 509, an interpolator 510, an envelope generator 511, a multiplier 512, and a channel (CH) accumulator 513. Decoder section 50
8, the data selection unit 509, and the interpolation unit 510 are referred to as a reproduction unit.

【0060】この音源部7は、時分割で複数チャンネル
(16ch/DAC)の発音を行う。具体的には、各チ
ャンネルのタイムスロットでそのチャンネルの処理を行
うようになっている。各チャンネルの処理は独立してい
る。以下では、1つのチャンネルにおける処理に着目し
て説明する。
The tone generator 7 emits a plurality of channels (16 channels / DAC) in a time-division manner. Specifically, the processing of the channel is performed in the time slot of each channel. The processing of each channel is independent. The following description focuses on processing in one channel.

【0061】制御レジスタ501は、図1のマイコン3
から音源部7に送出される各種の制御データを格納す
る。マイコン3から制御レジスタ501に入力する制御
データについて説明する。まず、波形メモリ8へ波形デ
ータを書込む(録音時)場合は、マイコン3から図3で
説明した書込みデータが制御レジスタ501に入力す
る。この書込みデータは、制御レジスタ501を介して
波形メモリ8に書込まれる。
The control register 501 corresponds to the microcomputer 3 shown in FIG.
Various kinds of control data transmitted from the to the sound source unit 7 are stored. Control data input from the microcomputer 3 to the control register 501 will be described. First, when writing waveform data to the waveform memory 8 (at the time of recording), the write data described in FIG. This write data is written to the waveform memory 8 via the control register 501.

【0062】次に、発音指示の際(再生時)にマイコン
3から制御レジスタ501に入力する制御データについ
て説明する。図1の鍵盤2において何れかの鍵が押下さ
れると、鍵盤2から演奏情報として、鍵のオンを示すノ
ートオン信号および音高を示すノートコードが出力され
る。これらの演奏情報は、マイコン3に入力する。マイ
コン3は、この演奏に応じた楽音を発生するため、発音
チャンネルの割当てを行う。そして、割当てたチャンネ
ルを特定して、エンベロープ・ジェネレータ(EG)制
御データ、スタートアドレス、ノートコード、およびノ
ートオン信号を、音源部7の制御レジスタ501に、出
力する。制御レジスタ501は、各発音チャンネルのタ
イムスロットで、その発音チャンネルに関するこれらの
情報を、音源部内の各部に出力する。これにより、各チ
ャンネルの楽音信号生成処理が行われる。なお、EG制
御データおよびスタートアドレスは、その時点で設定さ
れている音色に応じたデータが用いられる。音色の設定
は、図1のパネルSW1による。
Next, the control data input from the microcomputer 3 to the control register 501 at the time of a sound generation instruction (at the time of reproduction) will be described. When any key is depressed on the keyboard 2 of FIG. 1, a note-on signal indicating a key-on and a note code indicating a pitch are output from the keyboard 2 as performance information. These pieces of performance information are input to the microcomputer 3. The microcomputer 3 allocates sound channels to generate musical tones according to the performance. Then, the assigned channel is specified, and the envelope generator (EG) control data, the start address, the note code, and the note-on signal are output to the control register 501 of the tone generator 7. The control register 501 outputs these pieces of information on the sounding channel to each unit in the sound source unit in the time slot of each sounding channel. As a result, a tone signal generation process for each channel is performed. The EG control data and the start address use data corresponding to the tone color set at that time. The setting of the timbre is based on the panel SW1 in FIG.

【0063】EG制御データとは、指定されている音色
に応じたエンベロープ波形の種類を示すデータである。
EG制御データは、制御レジスタ501を介してエンベ
ロープ発生器511に入力する。スタートアドレスと
は、指定されている音色に応じた波形データの波形メモ
リ8内先頭アドレス(図2のデータの先頭アドレス)で
ある。スタートアドレスは、加算器506に入力する。
ノートコードは、発音すべき楽音の音高を示す。ノート
コードは、Fナンバ発生部502に入力する。ノートオ
ン信号は、鍵の押下を示す。ノートオン信号は、発音開
始タイミングを示す信号として、カウンタ503および
エンベロープ発生器511に入力する。
The EG control data is data indicating the type of envelope waveform according to the designated tone color.
The EG control data is input to the envelope generator 511 via the control register 501. The start address is the start address (the start address of the data in FIG. 2) in the waveform memory 8 of the waveform data corresponding to the designated tone color. The start address is input to the adder 506.
The note code indicates the pitch of a musical tone to be pronounced. The note code is input to the F number generation unit 502. The note-on signal indicates a key press. The note-on signal is input to the counter 503 and the envelope generator 511 as a signal indicating a sound generation start timing.

【0064】音源部7内のFナンバ発生部502以降の
各部について説明する。
The components after the F-number generation unit 502 in the sound source unit 7 will be described.

【0065】まず、Fナンバ発生部502は、各チャン
ネルのタイムスロットにおいて、そのチャンネルで発音
すべき楽音のノートコード(音高)に応じたFナンバを
発生する。カウンタ503は、制御レジスタ501から
のノートオン信号でリセットされるとともに、上記Fナ
ンバを入力し、順次累算して累算値qF(q=0,1,
2,3,…)を出力する。累算は、当該チャンネルのタ
イムスロットごとに行われる。
First, the F number generating section 502 generates an F number corresponding to a note code (pitch) of a musical tone to be generated in a channel in a time slot of each channel. The counter 503 is reset by a note-on signal from the control register 501, receives the F number, and sequentially accumulates the accumulated value qF (q = 0, 1,
2, 3, ...). The accumulation is performed for each time slot of the channel.

【0066】この実施例では、カウンタ503から出力
される累算値qFは30ビットのデータとする。累算値
qFの整数部AI(上位19ビット)は乗算器504に
入力し、小数部AF(下位11ビット)は乗算器505
に入力する。
In this embodiment, the accumulated value qF output from the counter 503 is 30-bit data. The integer part AI (upper 19 bits) of the accumulated value qF is input to the multiplier 504, and the decimal part AF (lower 11 bits) is inputted to the multiplier 505.
To enter.

【0067】乗算器504は、整数部AIと定数「4」
とを乗算する。乗算結果(21ビット)は、加算器50
6に入力する。整数部AIに定数「4」を乗算するの
は、その乗算結果とスタートアドレスとを加算した結果
によって、図2の波形データのリニアサンプルがアドレ
ッシングされるようにするためである。図2に示すよう
に、リニアサンプルはアドレス0,4,8,…に保持さ
れているから定数「4」を乗算した結果は4の倍数とな
り、整数部AIに定数「4」を乗算してスタートアドレ
スを加算すれば、図2の波形データのリニアサンプルが
アドレッシングされることになる。
The multiplier 504 includes an integer part AI and a constant “4”.
And multiply by The multiplication result (21 bits) is added to the adder 50
Enter 6 The reason why the integer part AI is multiplied by the constant “4” is that the linear sample of the waveform data in FIG. 2 is addressed by the result of adding the result of the multiplication and the start address. As shown in FIG. 2, since the linear sample is held at addresses 0, 4, 8,..., The result of multiplication by a constant “4” is a multiple of 4, and the integer part AI is multiplied by a constant “4”. If the start address is added, the linear sample of the waveform data in FIG. 2 will be addressed.

【0068】乗算器505は、小数部AFと定数「3」
とを乗算する。乗算結果(13ビット)の上位2ビット
AF1は、補助アドレス発生部507およびデコーダ部
508に入力する。また、乗算器505の乗算結果の上
位2ビットAF1にその乗算結果の下位11ビットのう
ちの最上位ビットを合せた3ビットAF2(すなわち、
乗算器505の乗算結果の上位3ビット)は、データ選
択部509および補間部510に入力する。さらに、乗
算器505の乗算結果の下位10ビットAF3は、補間
部510に入力する。
The multiplier 505 includes a decimal part AF and a constant “3”.
And multiply by The higher two bits AF1 of the multiplication result (13 bits) are input to the auxiliary address generator 507 and the decoder 508. Also, a 3-bit AF2 (that is, the upper 2 bits AF1 of the multiplication result of the multiplier 505 plus the most significant bit of the lower 11 bits of the multiplication result) (ie,
The upper 3 bits of the multiplication result of the multiplier 505 are input to the data selection unit 509 and the interpolation unit 510. Further, the lower 10 bits AF3 of the multiplication result of the multiplier 505 are input to the interpolation unit 510.

【0069】補助アドレス発生部507は、乗算器50
5からのデータAF1に基づいて補助アドレスを発生す
る。発生した補助アドレスは、加算器506に入力す
る。加算器506は、乗算器504の出力とスタートア
ドレスと補助アドレスとを加算する。その加算結果をア
ドレスとして波形メモリ8から波形データを読出す。
The auxiliary address generator 507 includes a multiplier 50
5 generates an auxiliary address based on the data AF1. The generated auxiliary address is input to the adder 506. The adder 506 adds the output of the multiplier 504, the start address, and the auxiliary address. The waveform data is read from the waveform memory 8 using the addition result as an address.

【0070】上述したように、乗算器504の出力とス
タートアドレスを加算した結果で図2の波形データのリ
ニアサンプルがアドレッシングされるから、補助アドレ
スはリニアサンプルの位置からのオフセットを示すこと
になる。また、本実施例では、1つの波形振幅値を求め
るために3アドレス分の波形データを読出すから、補助
アドレス発生部507は、AF1の入力に応じて3つの
補助アドレスを順次出力するようになっている。特に、
リニアサンプルは必ず読出す必要があるから、1番始め
に出力される補助アドレスは「0」である。
As described above, the linear sample of the waveform data shown in FIG. 2 is addressed by adding the output of the multiplier 504 and the start address, so that the auxiliary address indicates an offset from the position of the linear sample. . Further, in this embodiment, since the waveform data for three addresses is read in order to obtain one waveform amplitude value, the auxiliary address generator 507 outputs three auxiliary addresses sequentially according to the input of AF1. Has become. Especially,
Since the linear sample must be read, the auxiliary address output first is "0".

【0071】補助アドレス発生部507から順次出力さ
れる3つの補助アドレスに応じて、加算器506から
は、3つの読出しアドレスが順次出力される。これによ
り、波形メモリ8の波形データが3アドレス分だけ3回
に分けて順次読出される。読出された3アドレス分の波
形データは、順次、デコーダ部508に入力する。この
3アドレス分の波形データは、1アドレス分のリニアサ
ンプルと2アドレス分の圧縮サンプル(圧縮サンプルが
合せて4つ)からなるが、そのうちリニアサンプルが最
初に読出されてデコーダ部508に入力するようになっ
ている。これは、デコーダ部508における処理を容易
にするためである。
In accordance with the three auxiliary addresses sequentially output from auxiliary address generator 507, adder 506 sequentially outputs three read addresses. As a result, the waveform data in the waveform memory 8 is sequentially read in three times for three addresses. The read waveform data for three addresses is sequentially input to the decoder unit 508. The waveform data for three addresses includes linear samples for one address and compressed samples for two addresses (a total of four compressed samples). Of these, the linear samples are read out first and input to the decoder unit 508. It has become. This is to facilitate the processing in the decoder unit 508.

【0072】デコーダ部508は、入力したリニアサン
プル1つと圧縮サンプル4つとから、リニアサンプルの
値を算出する。合せて5つのリニアサンプルが求められ
ることになる。デコーダ部508は、その5つのリニア
サンプルを、順次、データ選択部509に出力する。
The decoder section 508 calculates the value of a linear sample from one input linear sample and four input compressed samples. In total, five linear samples are obtained. The decoder unit 508 sequentially outputs the five linear samples to the data selection unit 509.

【0073】データ選択部509は、デコーダ部508
から入力する5つのリニアサンプルから補間に用いる4
つを選択する処理を行う。選択された4つのリニアサン
プルは、順次、補間部510に入力する。補間部510
は、これらの4つのリニアサンプルを用いて4点補間を
行ない、結果を乗算器512に出力する。
The data selection unit 509 includes a decoder unit 508
4 used for interpolation from 5 linear samples input from
A process for selecting one is performed. The selected four linear samples are sequentially input to the interpolation unit 510. Interpolator 510
Performs four-point interpolation using these four linear samples, and outputs the result to the multiplier 512.

【0074】一方、エンベロープ発生器511は、ノー
トオン信号の立ち上がりのタイミングからエンベロープ
波形を出力する。出力するエンベロープ波形は、EG制
御データに応じて選択されたものである。
On the other hand, the envelope generator 511 outputs an envelope waveform from the rising timing of the note-on signal. The envelope waveform to be output is selected according to the EG control data.

【0075】乗算器512は、補間部510から出力さ
れる補間結果に、エンベロープ発生器511から出力さ
れるエンベロープを付与する。チャンネル累算器513
は、各チャンネルのタイムスロットで乗算器512から
出力される乗算結果(エンベロープが付与されたディジ
タル楽音信号)を累算し、図1のDAC9へと出力す
る。
The multiplier 512 gives the interpolation result output from the interpolation section 510 the envelope output from the envelope generator 511. Channel accumulator 513
Accumulates the multiplication result (digital tone signal with an envelope) output from the multiplier 512 in the time slot of each channel, and outputs the result to the DAC 9 in FIG.

【0076】以上が、音源部7における処理の概要であ
る。次に、この音源部7において、波形メモリ8から必
要な3アドレス分のデータを読出し、必要な4つのリニ
アサンプルを算出し、補間を行う処理について詳細に説
明する。
The outline of the processing in the sound source section 7 has been described above. Next, a detailed description will be given of a process of reading data of three necessary addresses from the waveform memory 8, calculating four necessary linear samples, and performing interpolation in the tone generator 7.

【0077】図6(a)は、図2の波形データを順次読
出して再生する場合のアドレスの進み具合とそのような
アドレスで読出した波形データから求められる隣り合う
4つのリニアサンプルを示すタイムチャートである。
FIG. 6A is a time chart showing the progress of an address when sequentially reading and reproducing the waveform data of FIG. 2 and four adjacent linear samples obtained from the waveform data read at such an address. It is.

【0078】この図において、「AI」,「AF1」,
「AF2」,「AF3」の欄は、それぞれ、図5で説明
した各データAI,AF1,AF2,AF3の値を示
す。「読出しアドレス」の欄は、加算器506から出力
される読出しアドレスを示す。「読出しアドレス」の下
の「(補助アドレス)」の欄は、補助アドレス発生部5
07から出力される補助アドレスの値を示す。1番下の
「必要な4サンプル」の欄は、上記のAI,AF1,A
F2,AF3および補助アドレスの値で求めるべき4つ
のリニアサンプルを示す。
In this figure, “AI”, “AF1”,
The columns of “AF2” and “AF3” indicate the values of the data AI, AF1, AF2, and AF3 described with reference to FIG. 5, respectively. The column of “read address” indicates a read address output from the adder 506. The column of “(auxiliary address)” under “read address” indicates the auxiliary address generator 5
Indicates the value of the auxiliary address output from 07. The column of “Necessary 4 samples” at the bottom is AI, AF1, A
Four linear samples to be obtained from the values of F2, AF3 and the auxiliary address are shown.

【0079】いま、あるチャンネルで発音が指示され、
図5のカウンタ503から累算値qF(q=0,1,
2,3,…)が順次出力されたとする。具体的には、
0,F,2F,3F,4F,…が当該チャンネルのタイ
ムスロットごとにカウンタ503から出力される。カウ
ンタ503からの出力が0から順次増加していく際のA
I,AF1,AF2,AF3の値の変化について、図6
(a)を参照して説明する。
Now, pronunciation is instructed on a certain channel,
From the counter 503 in FIG. 5, the accumulated value qF (q = 0, 1,
2, 3,...) Are sequentially output. In particular,
, 0, F, 2F, 3F, 4F,... Are output from the counter 503 for each time slot of the channel. A when the output from the counter 503 sequentially increases from 0
FIG. 6 shows changes in values of I, AF1, AF2, and AF3.
This will be described with reference to FIG.

【0080】カウンタ503からの出力は、整数部AI
と小数部AFに分けられる。整数部AIは、始めのうち
(qが小さいうち)は「0」である。AI=0の間、小
数部AFは0から順次増加し1の近くまでくる。さらに
カウンタ503からの出力が増加すると、整数部AI=
1となり、小数部AFは再び0になる。そして、AI=
1の間、小数部AFは0から順次増加し1の近くまでく
る。以下同様にして、整数部AIと小数部AFとは変化
していく。
The output from the counter 503 is an integer part AI
And fractional part AF. The integer part AI is initially “0” (while q is small). While AI = 0, the decimal part AF sequentially increases from 0 and approaches 1. When the output from the counter 503 further increases, the integer part AI =
It becomes 1 and the decimal part AF becomes 0 again. And AI =
During 1, the fractional part AF sequentially increases from 0 and approaches 1. Hereinafter, similarly, the integer part AI and the decimal part AF change.

【0081】まず、AI=0の範囲に着目する。AI=
0の間、小数部AFは0≦AF<1の範囲で順次増加す
るから、乗算器505で小数部AFに定数「3」を乗算
した結果3・AFは0≦3・AF<3の範囲で順次増加
する。したがって、乗算器505の乗算結果の上位2ビ
ットAF1は、この2ビットを整数と見れば、始めは
0、次に1、次に2の値を取る。図6(a)のAF1の
欄は、そのようなAF1の変化を示している。
First, attention is paid to the range of AI = 0. AI =
During 0, the decimal part AF sequentially increases in the range of 0 ≦ AF <1, and as a result of multiplying the decimal part AF by the constant “3” in the multiplier 505, 3 · AF is in the range of 0 ≦ 3 · AF <3. Increases sequentially. Therefore, the upper two bits AF1 of the result of the multiplication by the multiplier 505 take values of 0 at the beginning, 1 at the beginning, and 2 at the beginning when the two bits are regarded as an integer. The column of AF1 in FIG. 6A shows such a change of AF1.

【0082】AF2は、図5で説明したように乗算器5
05の出力の13ビットのうちの上位3ビットであり、
言い替えるとAF1の2ビットにすぐ下の1ビット分を
合せた3ビットである。したがって、AF2は、その3
ビットを整数と見れば、AF1=0の間は始めは0で次
に1の値を取り、AF1=1の間は始めは2で次に3の
値を取り、AF1=2の間は始めは4で次に5の値を取
る。図6(a)のAF2の欄は、そのようなAF2の変
化を示している。
AF2 is a multiplier 5 as described with reference to FIG.
05 are the upper 3 bits of the 13 bits of the output
In other words, it is 3 bits obtained by adding 1 bit immediately below 2 bits of AF1. Therefore, AF2 is 3
Assuming that the bit is an integer, it initially takes a value of 0 and then takes a value of 1 while AF1 = 0, takes a value of 2 and then takes a value of 3 during AF1 = 1, and takes a value of 3 first while AF1 = 2. Takes 4 and then takes the value of 5. The column of AF2 in FIG. 6A shows such a change in AF2.

【0083】AF3は、図5で説明したように、乗算器
505の13ビットの出力のうちの下位10ビットであ
る。これは乗算器505の13ビットの出力から上位3
ビットAF2を除いたものであるから、AF3は、AF
2が0から5の値を取る各区間で0から所定値(10ビ
ットがすべて1)まで順次増加するように変化する。図
6(a)のAF3の欄は、そのようなAF3の変化を示
している。特に、AF3では、順次増加する様子を鋸歯
状波で図示してある。
AF3 is the lower 10 bits of the 13-bit output of the multiplier 505 as described with reference to FIG. This is based on the 13-bit output of the multiplier 505
Since the bit AF2 is excluded, the AF3
In each section in which 2 takes a value from 0 to 5, it changes so as to sequentially increase from 0 to a predetermined value (10 bits are all 1). The column of AF3 in FIG. 6A shows such a change of AF3. In particular, in AF3, the state of sequentially increasing is shown by a sawtooth wave.

【0084】上記では、AI=0の範囲に着目して説明
したが、図6(a)に示すように、AI=1,2,3,
…でもAF1,AF2,AF3は同様に変化する。
In the above description, attention was paid to the range of AI = 0, but as shown in FIG. 6A, AI = 1, 2, 3,
..., but AF1, AF2 and AF3 change similarly.

【0085】次に、このように変化するAI,AF1,
AF2,AF3に応じて波形メモリ8から必要な3アド
レス分の波形データを読出す動作について説明する。
Next, AI, AF1,
The operation of reading the necessary three addresses of waveform data from the waveform memory 8 according to AF2 and AF3 will be described.

【0086】図5で説明したように、乗算器504の出
力である4・AIとスタートアドレスを加算した結果で
図2の波形データのリニアサンプルがアドレッシングさ
れる。図6(a)のAIの欄に括弧で括って記載してあ
るのは、そのAIの値のときにアドレッシングされる図
2の波形データ中のリニアサンプルとそのアドレスを示
したものである。
As described with reference to FIG. 5, the linear sample of the waveform data shown in FIG. 2 is addressed based on the result obtained by adding the start address to 4.multidot.AI output from the multiplier 504. The parenthesized description in the column of AI in FIG. 6A shows the linear sample in the waveform data of FIG. 2 addressed at the value of the AI and its address.

【0087】例えば、AI=0の欄には「(0:L
(0))」との記載があるが、これはAI=0のとき
は、図2の波形データ中のアドレス0のリニアサンプル
L(0)を含む3アドレス分のデータを読出すことを示
している。また、AI=1の欄には「(4:L
(6))」との記載があるが、これはAI=1のとき
は、図2の波形データ中のアドレス4のリニアサンプル
L(6)を含む3アドレス分のデータを読出すことを示
している。
For example, in the column of AI = 0, “(0: L
(0)) "indicates that when AI = 0, data of three addresses including the linear sample L (0) at address 0 in the waveform data of FIG. 2 is read. ing. In the column of AI = 1, “(4: L
(6)) "indicates that when AI = 1, data for three addresses including the linear sample L (6) at address 4 in the waveform data in FIG. 2 is read. ing.

【0088】乗算器504の出力4・AIとスタートア
ドレスを加算した結果でアドレッシングされるリニアサ
ンプルが決まれば、補助アドレス発生部507から出力
される補助アドレスはそのリニアサンプルからのオフセ
ットであるから、当該リニアサンプルから補助アドレス
分だけ前後のデータを読出すことになる。実際には、補
助アドレス発生部507は、AF1の値別に、図6
(a)の「(補助アドレス)」の欄に示すように補助ア
ドレスを発生する。発生した補助アドレスは、加算器5
06に入力する。以下、AF1の値別に説明する。な
お、スタートアドレスは0であるものと仮定する。
When the linear sample to be addressed is determined by adding the output 4 · AI of the multiplier 504 and the start address, the auxiliary address output from the auxiliary address generator 507 is an offset from the linear sample. The data preceding and succeeding by the auxiliary address is read from the linear sample. Actually, the auxiliary address generation unit 507 performs the processing shown in FIG.
An auxiliary address is generated as shown in the column of "(auxiliary address)" in (a). The generated auxiliary address is added to the adder 5
Enter 06. Hereinafter, a description will be given for each value of AF1. It is assumed that the start address is 0.

【0089】AF1=0のとき このときは、補助アドレスとして0,−1,−2が順次
出力される。これは、上記のタイプ1の読出し方であ
る。すなわち、補助アドレス0でまずリニアサンプルを
読出し、次にその1つ前のアドレスの2つの圧縮サンプ
ルを読出し、さらにその1つ前のアドレスの2つの圧縮
サンプルを読出す場合である。
When AF1 = 0 At this time, 0, -1, and -2 are sequentially output as auxiliary addresses. This is the type 1 reading method described above. That is, a linear sample is firstly read at the auxiliary address 0, then two compressed samples of the immediately preceding address are read, and two compressed samples of the immediately preceding address are further read.

【0090】例えば、AI=0の場合、加算器506の
出力(すなわち、波形メモリ8の読出しアドレス)は、
スタートアドレスの0と4・AIの0と上記補助アドレ
スとの加算結果であるから、0,−1,−2である。し
たがって、加算器506から順次出力される読出しアド
レス0,−1,−2の波形データが読出されて、この順
にデコーダ部508に入力する。同様に、AI=1の場
合、読出しアドレスは、スタートアドレスの0と4・A
Iの4と上記補助アドレスとの加算結果であるから、
4,3,2である。したがって、この読出しアドレス
4,3,2の波形データが読出されて、この順にデコー
ダ部508に入力する。
For example, when AI = 0, the output of adder 506 (ie, the read address of waveform memory 8) is
Since it is the result of addition of the start address 0 and 4 · AI 0 and the auxiliary address, they are 0, −1, and −2. Therefore, the waveform data of the read addresses 0, -1, and -2 sequentially output from the adder 506 are read and input to the decoder unit 508 in this order. Similarly, when AI = 1, the read address is 0 and 4 · A of the start address.
Since the result of addition of 4 of I and the above auxiliary address,
4, 3, and 2. Therefore, the waveform data at the read addresses 4, 3, and 2 are read and input to the decoder unit 508 in this order.

【0091】AF1=1のとき このときは、補助アドレスとして0,−1,+1が順次
出力される。これは、上記のタイプ2の読出し方であ
る。すなわち、補助アドレス0でまずリニアサンプルを
読出し、次にその1つ前のアドレスの2つの圧縮サンプ
ルを読出し、さらにリニアサンプルの次のアドレスの2
つの圧縮サンプルを読出す場合である。
When AF1 = 1 At this time, 0, -1, and +1 are sequentially output as auxiliary addresses. This is the type 2 reading method described above. That is, first, a linear sample is read at the auxiliary address 0, then two compressed samples of the immediately preceding address are read, and furthermore, two compressed samples of the next address of the linear sample are read.
One compressed sample is read.

【0092】例えば、AI=0の場合、読出しアドレス
は、スタートアドレスの0と4・AIの0と上記補助ア
ドレスとの加算結果であるから、0,−1,1である。
したがって、加算器506から順次出力される読出しア
ドレス0,−1,1の波形データが読出されて、この順
にデコーダ部508に入力する。同様に、AI=1の場
合、読出しアドレスは、スタートアドレスの0と4・A
Iの4と上記補助アドレスとの加算結果であるから、
4,3,5である。したがって、この読出しアドレス
4,3,5の波形データが読出されて、この順にデコー
ダ部508に入力する。
For example, when AI = 0, the read address is 0, -1, 1 because it is the result of adding the start address 0, 4 · AI 0, and the auxiliary address.
Therefore, the waveform data of the read addresses 0, -1, and 1 sequentially output from the adder 506 are read and input to the decoder unit 508 in this order. Similarly, when AI = 1, the read address is 0 and 4 · A of the start address.
Since the result of addition of 4 of I and the above auxiliary address,
4, 3, and 5. Therefore, the waveform data of the read addresses 4, 3, and 5 are read and input to the decoder unit 508 in this order.

【0093】AF1=2のとき このときは、補助アドレスとして0,+1,+2が順次
出力される。これは、上記のタイプ3の読出し方であ
る。すなわち、補助アドレス0でまずリニアサンプルを
読出し、次にその次のアドレスの2つの圧縮サンプルを
読出し、さらにその次のアドレスの2つの圧縮サンプル
を読出す場合である。
When AF1 = 2 In this case, 0, +1, +2 are sequentially output as auxiliary addresses. This is the type 3 reading method described above. That is, a linear sample is first read at the auxiliary address 0, two compressed samples at the next address are read, and two compressed samples at the next address are read.

【0094】例えば、AI=0の場合、読出しアドレス
は、スタートアドレスの0と4・AIの0と上記補助ア
ドレスとの加算結果であるから、0,+1,+2であ
る。したがって、加算器506から順次出力される読出
しアドレス0,1,2の波形データが読出されて、この
順にデコーダ部508に入力する。同様に、AI=1の
場合、読出しアドレスは、スタートアドレスの0と4・
AIの4と上記補助アドレスとの加算結果であるから、
4,3,5である。したがって、この読出しアドレス
4,3,5の波形データが読出されて、この順にデコー
ダ部508に入力する。
For example, when AI = 0, the read address is 0, +1, +2 because it is the result of addition of the start address 0, 4 · AI 0 and the auxiliary address. Therefore, the waveform data of the read addresses 0, 1, and 2 sequentially output from the adder 506 are read and input to the decoder unit 508 in this order. Similarly, when AI = 1, the read address is 0 and 4
Since the result of addition of AI 4 and the auxiliary address is
4, 3, and 5. Therefore, the waveform data of the read addresses 4, 3, and 5 are read and input to the decoder unit 508 in this order.

【0095】図6(b)は、具体的な補助アドレスの出
力の様子を示すタイムチャートである。601は各チャ
ンネルごとのタイムスロットを示す。前チャンネルのタ
イムスロット、いま着目している当チャンネルのタイム
スロット、次チャンネルのタイムスロットの順に並んで
いる。各チャンネルのタイムスロットは、それぞれ6つ
のタイムスロットに分割されており、その各タイムスロ
ットの区間に0,1,2,…,5が記載されている。以
下、この各タイムスロットをタイムスロット0、タイム
スロット1、…と呼ぶものとする。
FIG. 6B is a time chart showing a specific output state of the auxiliary address. Reference numeral 601 denotes a time slot for each channel. The time slot of the previous channel, the time slot of the current channel of interest, and the time slot of the next channel are arranged in this order. The time slot of each channel is divided into six time slots, and 0, 1, 2,..., 5 are described in the sections of each time slot. Hereinafter, these time slots are referred to as time slot 0, time slot 1,...

【0096】この図に示すように、補助アドレス発生部
507は、AF1=0のときは、タイムスロット0およ
び1で0を、タイムスロット2および3で−1を、タイ
ムスロット4および5で−2を、それぞれ出力する。A
F1=1のときは、タイムスロット0および1で0を、
タイムスロット2および3で−1を、タイムスロット4
および5で+1を、それぞれ出力する。AF1=2のと
きは、タイムスロット0および1で0を、タイムスロッ
ト2および3で+1を、タイムスロット4および5で+
2を出力する。
As shown in this figure, when AF1 = 0, the auxiliary address generator 507 sets 0 in time slots 0 and 1, -1 in time slots 2 and 3, and-in time slots 4 and 5. 2 are output. A
When F1 = 1, 0 is set in time slots 0 and 1,
-1 in time slots 2 and 3 and 4 in time slot 4
And +1 are output at 5 and 5, respectively. When AF1 = 2, 0 is set in time slots 0 and 1, +1 is set in time slots 2 and 3, and +1 is set in time slots 4 and 5.
2 is output.

【0097】次に、上述したようにして読出した3アド
レス分の波形データを入力し、入力したデータから5つ
のリニアサンプルを求めて順次出力するデコーダ部50
8について、詳細に説明する。
Next, the decoder unit 50 which receives the waveform data for three addresses read out as described above, obtains five linear samples from the input data, and sequentially outputs them.
8 will be described in detail.

【0098】図7は、再生部、すなわちデコーダ部50
8、データ選択部509、および補間部510の詳細な
ブロック構成を示す。図において、デコーダ部508
は、ラッチ701、セレクタ702,703、加減算器
704、ディレイ(遅延)回路705、およびデコード
制御部706を備えている。
FIG. 7 shows a reproducing section, that is, a decoder section 50.
8 shows a detailed block configuration of the data selection unit 509 and the interpolation unit 510. Referring to FIG.
Includes a latch 701, selectors 702 and 703, an adder / subtractor 704, a delay (delay) circuit 705, and a decode controller 706.

【0099】ラッチ701は、波形メモリ8からの読出
しデータ(16ビット)をラッチする。セレクタ702
は、3つの入力端子A,B,Cを備えており、デコード
制御部706からの制御信号に基づいて入力端子A,
B,Cのいずれかを選択して出力する。セレクタ702
の入力端子Aにはディレイ回路705の出力データが入
力し、入力端子Bにはラッチ701の出力データが入力
し、入力端子Cには波形メモリ8からの読出しデータが
入力するように、それぞれ接続されている。
The latch 701 latches read data (16 bits) from the waveform memory 8. Selector 702
Has three input terminals A, B, and C. Based on a control signal from the decode control unit 706, the input terminals A,
Either B or C is selected and output. Selector 702
Are connected so that the output data of the delay circuit 705 is input to the input terminal A, the output data of the latch 701 is input to the input terminal B, and the read data from the waveform memory 8 is input to the input terminal C. Have been.

【0100】セレクタ703は、2つの入力端子A,B
を備えており、デコード制御部706からの制御信号に
基づいて入力端子A,Bのいずれかを選択して出力す
る。セレクタ703の入力端子Aには波形メモリ8から
の読出しデータのうち上位8ビットが入力し、入力端子
Bには下位8ビットが入力するように、それぞれ接続さ
れている。
The selector 703 has two input terminals A, B
And selects and outputs one of the input terminals A and B based on a control signal from the decode control unit 706. The input terminal A of the selector 703 is connected so that the upper 8 bits of the read data from the waveform memory 8 are input, and the lower 8 bits are input to the input terminal B.

【0101】セレクタ702および703の選択出力
は、加減算器704に入力する。加減算器704は、デ
コード制御部706からの制御信号に基づいて加算また
は減算を行う。加減算器704の出力は、ディレイ回路
705に入力する。ディレイ回路705の出力は、セレ
クタ702の入力端子Aに入力するとともに、データ選
択部509に入力する。
The selected outputs of the selectors 702 and 703 are input to an adder / subtractor 704. The adder / subtractor 704 performs addition or subtraction based on a control signal from the decode control unit 706. The output of the adder / subtractor 704 is input to the delay circuit 705. The output of the delay circuit 705 is input to the input terminal A of the selector 702 and also to the data selection unit 509.

【0102】デコード制御部706は、データAF1に
基づいて、セレクタ702,703および加減算器70
4への制御信号を出力する。
The decode control section 706 is provided with selectors 702 and 703 and an adder / subtractor 70 based on the data AF1.
4 to output a control signal.

【0103】次に、図7、および図8〜図10を参照し
て、デコーダ部508について詳しく説明する。
Next, the decoder section 508 will be described in detail with reference to FIG. 7 and FIGS.

【0104】上述したように、AF1の値(0,1,
2)に応じて波形データの読出し方のタイプが異なるか
ら、以下ではAF1の値ごとにデコーダ部508の動作
を説明する。
As described above, the value of AF1 (0, 1,
Since the type of reading waveform data differs depending on 2), the operation of the decoder unit 508 will be described below for each value of AF1.

【0105】AF1=0のとき 図8は、AF1=0のときのデコーダ部508の動作を
説明するためのタイムチャートである。この図におい
て、「メモリ読出しデータ」は、波形メモリ8から順次
読出されてデコーダ部508に入力するデータを示して
いる。AF1=0では、上述のタイプ1の読出しがなさ
れるから、まずリニアサンプルL(付番801)が、次
にそのリニアサンプルの1アドレス前の圧縮サンプル−
1D,0D(付番802)が、最後にさらにその1アド
レス前の圧縮サンプル−3D,−2D(付番803)
が、デコーダ部508に入力する。
FIG. 8 is a time chart for explaining the operation of the decoder unit 508 when AF1 = 0. In this figure, “memory read data” indicates data sequentially read from the waveform memory 8 and input to the decoder unit 508. When AF1 = 0, the above-mentioned type 1 reading is performed, so that the linear sample L (number 801) is first compressed, and then the compressed sample one address before the linear sample L−
1D and 0D (numbering 802) are finally compressed samples -3D and -2D (numbering 803) one address before that.
Is input to the decoder unit 508.

【0106】なお、図8、図9、および図10では、波
形メモリ8から読出されてデコーダ部508に入力する
リニアサンプルをLで表し、そのリニアサンプルからの
オフセット値をLの前に付けて他のリニアサンプルを表
すものとする。例えば、−1LはLの1つ前のサンプル
点のリニアサンプル、+1LはLの1つ後のサンプル点
のリニアサンプルを表す。また、圧縮サンプルについて
も同様に表す。例えば、0DはLの1つ前のアドレスの
上位8ビットの圧縮サンプル、−1DはLの1つ前のア
ドレスの下位8ビットの圧縮サンプル、+2DはLの次
のアドレスの上位8ビットの圧縮サンプル、+1DはL
の次のアドレスの下位8ビットの圧縮サンプルを表す。
また、メモリ読出しデータの各ブロックの下の数字は、
そのデータが読出される際の補助アドレスを示す。
In FIGS. 8, 9 and 10, a linear sample read from the waveform memory 8 and input to the decoder unit 508 is represented by L, and an offset value from the linear sample is added before L. Let it represent another linear sample. For example, -1L represents the linear sample of the sample point immediately before L, and + 1L represents the linear sample of the sample point immediately after L. The same applies to compressed samples. For example, 0D is a compressed sample of the upper 8 bits of the address immediately before L, -1D is a compressed sample of the lower 8 bits of the address immediately before L, and + 2D is a compressed sample of the upper 8 bits of the address next to L. Sample, + 1D is L
Represents the compressed sample of the lower 8 bits of the address next to.
The number below each block of the memory read data is
Indicates an auxiliary address when the data is read.

【0107】図8において、「セレクタ702」および
「セレクタ703」は、デコード制御部706からの制
御信号に基づいて決定されるセレクタ702およびセレ
クタ703の選択状態を示し、「デコード出力」はデコ
ーダ部508の出力を示す。セレクタ703の下に、実
際にセレクタ703から出力されるデータを示す。な
お、セレクタ703は、何れの入力端子も選択せず0を
出力する状態を取ることができるセレクタとする。
In FIG. 8, "selector 702" and "selector 703" indicate the selection states of selectors 702 and 703 determined based on a control signal from decode control section 706, and "decode output" indicates the decoder section. 508 shows the output. Below the selector 703, data actually output from the selector 703 is shown. Note that the selector 703 is a selector that can take a state of outputting 0 without selecting any input terminal.

【0108】図7および図8を参照して、まず、波形メ
モリ8からリニアサンプルLが読出されると(80
1)、そのリニアサンプルLは、ラッチ701にラッチ
されるとともに、セレクタ702の入力端子Cに入力す
る。このとき、セレクタ702は入力端子Cを選択出力
し(811)、セレクタ703は0を出力する状態(8
21)に制御される。また、加減算器704は、セレク
タ702からの出力からセレクタ703からの出力を減
算するように制御される。したがって、リニアサンプル
Lが、加減算器705から出力されディレイ回路705
に入力することになる。ディレイ回路705で所定時間
遅延された後、デコーダ出力としてリニアサンプルL
が、データ選択部509に入力する(831)。
Referring to FIGS. 7 and 8, first, when linear sample L is read from waveform memory 8, (80)
1) The linear sample L is latched by the latch 701 and input to the input terminal C of the selector 702. At this time, the selector 702 selects and outputs the input terminal C (811), and the selector 703 outputs 0 (8).
21) is controlled. The adder / subtractor 704 is controlled so as to subtract the output from the selector 703 from the output from the selector 702. Therefore, the linear sample L is output from the adder / subtractor 705 and the delay circuit 705
Will be entered. After a predetermined time delay by the delay circuit 705, the linear sample L is output as a decoder output.
Is input to the data selection unit 509 (831).

【0109】このディレイ回路705の出力(リニアサ
ンプルL)は、セレクタ702の入力端子Aに入力す
る。次に、波形メモリ8から圧縮サンプル0D,−1D
が読出される(802)。このうち、上位8ビットの圧
縮サンプル0Dはセレクタ703の入力端子Aに、下位
8ビットの圧縮サンプル−1Dはセレクタ703の入力
端子Bに、それぞれ入力する。このとき、セレクタ70
2は入力端子Aを選択出力し(812)、セレクタ70
3は入力端子Aを選択出力する状態(822)に制御さ
れる。また、加減算器704は、セレクタ702からの
出力からセレクタ703からの出力を減算するように制
御される。したがって、リニアサンプルLから圧縮サン
プル0Dを減算した結果(すなわち、リニアサンプル−
1L)が、加減算器705から出力されディレイ回路7
05に入力することになる。ディレイ回路705で所定
時間遅延された後、デコーダ出力としてリニアサンプル
−1Lが、データ選択部509に入力する(832)。
The output (linear sample L) of the delay circuit 705 is input to the input terminal A of the selector 702. Next, the compressed samples 0D and -1D are read from the waveform memory 8.
Is read (802). Among them, the upper 8 bits of the compressed sample 0D are input to the input terminal A of the selector 703, and the lower 8 bits of the compressed sample-1D are input to the input terminal B of the selector 703. At this time, the selector 70
2 selects and outputs the input terminal A (812), and the selector 70
3 is controlled to a state (822) for selectively outputting the input terminal A. The adder / subtractor 704 is controlled so as to subtract the output from the selector 703 from the output from the selector 702. Therefore, the result of subtracting the compressed sample 0D from the linear sample L (that is, the linear sample-
1L) is output from the adder / subtractor 705 and the delay circuit 7
05. After being delayed for a predetermined time by the delay circuit 705, the linear sample-1L is input to the data selection unit 509 as a decoder output (832).

【0110】このディレイ回路705の出力(リニアサ
ンプル−1L)は、セレクタ702の入力端子Aに入力
する。次に、セレクタ702は入力端子Aを選択出力し
(813)、セレクタ703は入力端子Bを選択出力す
る状態(823)に制御される。加減算器704は、セ
レクタ702からの出力からセレクタ703からの出力
を減算するように制御される。したがって、リニアサン
プル−1Lから圧縮サンプル−1Dを減算した結果(す
なわち、リニアサンプル−2L)が、加減算器705か
ら出力されディレイ回路705に入力することになる。
ディレイ回路705で所定時間遅延された後、デコーダ
出力としてリニアサンプル−2Lが、データ選択部50
9に入力する(833)。
The output (linear sample-1L) of the delay circuit 705 is input to the input terminal A of the selector 702. Next, the selector 702 is controlled to select and output the input terminal A (813), and the selector 703 is controlled to select and output the input terminal B (823). The adder / subtractor 704 is controlled so as to subtract the output from the selector 703 from the output from the selector 702. Therefore, the result of subtracting the compressed sample-1D from the linear sample-1L (that is, the linear sample-2L) is output from the adder / subtractor 705 and input to the delay circuit 705.
After being delayed for a predetermined time by the delay circuit 705, the linear sample-2L is output as a decoder output from the data selection unit 50.
9 (833).

【0111】このディレイ回路705の出力(リニアサ
ンプル−2L)は、セレクタ702の入力端子Aに入力
する。次に、波形メモリ8から圧縮サンプル−2D,−
3Dが読出される(803)。このうち、上位8ビット
の圧縮サンプル−2Dはセレクタ703の入力端子A
に、下位8ビットの圧縮サンプル−3Dはセレクタ70
3の入力端子Bに、それぞれ入力する。このとき、セレ
クタ702は入力端子Aを選択出力し(814)、セレ
クタ703は入力端子Aを選択出力する状態(824)
に制御される。また、加減算器704は、セレクタ70
2からの出力からセレクタ703からの出力を減算する
ように制御される。したがって、リニアサンプル−2L
から圧縮サンプル−2Dを減算した結果(すなわち、リ
ニアサンプル−3L)が、加減算器705から出力され
ディレイ回路705に入力することになる。ディレイ回
路705で所定時間遅延された後、デコーダ出力として
リニアサンプル−3Lが、データ選択部509に入力す
る(834)。
The output (linear sample-2L) of the delay circuit 705 is input to the input terminal A of the selector 702. Next, compressed samples -2D, -2
3D is read (803). Of these, the compressed sample-2D of the upper 8 bits is input terminal A of selector 703.
And the lower 8 bits of the compressed sample-3D are the selector 70
3 to the input terminal B. At this time, the selector 702 selects and outputs the input terminal A (814), and the selector 703 selects and outputs the input terminal A (824).
Is controlled. The adder / subtractor 704 is connected to the selector 70
Control is performed so that the output from the selector 703 is subtracted from the output from the second. Therefore, the linear sample-2L
The result obtained by subtracting the compressed sample-2D from (i.e., the linear sample-3L) is output from the adder / subtractor 705 and input to the delay circuit 705. After a predetermined time delay by the delay circuit 705, the linear sample-3L is input to the data selection unit 509 as a decoder output (834).

【0112】このディレイ回路705の出力(リニアサ
ンプル−3L)は、セレクタ702の入力端子Aに入力
する。次に、セレクタ702は入力端子Aを選択出力し
(815)、セレクタ703は入力端子Bを選択出力す
る状態(825)に制御される。加減算器704は、セ
レクタ702からの出力からセレクタ703からの出力
を減算するように制御される。したがって、リニアサン
プル−3Lから圧縮サンプル−3Dを減算した結果(す
なわち、リニアサンプル−4L)が、加減算器705か
ら出力されディレイ回路705に入力することになる。
ディレイ回路705で所定時間遅延された後、デコーダ
出力としてリニアサンプル−4Lが、データ選択部50
9に入力する(835)。
The output (linear sample-3L) of the delay circuit 705 is input to the input terminal A of the selector 702. Next, the selector 702 is controlled to select and output the input terminal A (815), and the selector 703 is controlled to select and output the input terminal B (825). The adder / subtractor 704 is controlled so as to subtract the output from the selector 703 from the output from the selector 702. Therefore, the result obtained by subtracting the compressed sample -3D from the linear sample -3L (that is, the linear sample -4L) is output from the adder / subtractor 705 and input to the delay circuit 705.
After a predetermined time delay by the delay circuit 705, the linear sample-4L is output as a decoder output from the data selection unit 50.
9 (835).

【0113】以上のようにして、デコーダ部508か
ら、5つのリニアサンプルL,−1L,−2L,−3
L,−4Lが順次出力される(831〜835)。
As described above, the decoder unit 508 outputs five linear samples L, -1L, -2L, and -3.
L and -4L are sequentially output (831 to 835).

【0114】AF1=1のとき 図9は、AF1=1のときのデコーダ部508の動作を
説明するためのタイムチャートである。この場合のデコ
ーダ部508の動作は、上記のAF1=0の場合と同
様である。ただし、AF1=1では、上述のタイプ2の
読出しがなされるから、まずリニアサンプルL(付番9
01)が、次にそのリニアサンプルの1アドレス前の圧
縮サンプル−1D,0D(付番902)が、最後にさら
にリニアサンプルの次のアドレスの圧縮サンプル+2
D,+1D(付番903)が、デコーダ部508に入力
する。
When AF1 = 1 FIG. 9 is a time chart for explaining the operation of the decoder section 508 when AF1 = 1. The operation of the decoder unit 508 in this case is the same as that in the case where AF1 = 0. However, when AF1 = 1, the above-mentioned type 2 reading is performed, so that the linear sample L (number 9
01), then the compressed sample -1D, 0D (numbering 902) one address before the linear sample, and finally the compressed sample at the next address of the linear sample +2
D and + 1D (numbering 903) are input to the decoder unit 508.

【0115】そして、セレクタ702,703および加
減算器704の制御も、そのような入力に応じてなされ
る。特に、セレクタ703からの出力がリニアサンプル
に加算すべき圧縮サンプルであるときは、加減算器70
4は、セレクタ702の出力とセレクタ703の出力と
を加算するように制御される。
The control of the selectors 702 and 703 and the adder / subtractor 704 is also performed according to such an input. In particular, when the output from the selector 703 is a compressed sample to be added to the linear sample,
4 is controlled so that the output of the selector 702 and the output of the selector 703 are added.

【0116】例えば、波形メモリ8から圧縮サンプル+
2D,+1Dが読出されたときは(903)、その上位
8ビットの圧縮サンプル+2Dはセレクタ703の入力
端子Aに、下位8ビットの圧縮サンプル+1Dはセレク
タ703の入力端子Bに、それぞれ入力するが、このと
きセレクタ702は入力端子Bを選択出力し(91
4)、セレクタ703は入力端子Bを選択出力する状態
(924)に制御される。また、加減算器704は、セ
レクタ702からの出力とセレクタ703からの出力を
加算するように制御される。セレクタ702からはラッ
チ701のリニアサンプルLが出力されているから、リ
ニアサンプルLと圧縮サンプル+1Dを加算した結果
(すなわち、リニアサンプル+1L)が、加減算器70
5から出力されディレイ回路705に入力することにな
る。ディレイ回路705で所定時間遅延された後、デコ
ーダ出力としてリニアサンプル+1Lが、データ選択部
509に入力する(934)。
For example, a compressed sample +
When 2D and + 1D are read (903), the upper 8 bits of the compressed sample + 2D are input to the input terminal A of the selector 703, and the lower 8 bits of the compressed sample + 1D are input to the input terminal B of the selector 703. At this time, the selector 702 selects and outputs the input terminal B (91
4), the selector 703 is controlled to the state (924) for selecting and outputting the input terminal B. The adder / subtractor 704 is controlled so as to add the output from the selector 702 and the output from the selector 703. Since the linear sample L of the latch 701 is output from the selector 702, the result of adding the linear sample L and the compressed sample + 1D (that is, the linear sample + 1L) is added to the adder / subtracter 70.
5 and input to the delay circuit 705. After being delayed for a predetermined time by the delay circuit 705, the linear sample + 1L is input to the data selection unit 509 as a decoder output (934).

【0117】その次には、セレクタ702が入力端子A
を選択出力し(915)、セレクタ703は入力端子A
を選択出力する状態(925)に制御され、また、加減
算器704は、セレクタ702からの出力とセレクタ7
03からの出力を加算するように制御される。これによ
り、デコーダ出力としてリニアサンプル+2Lが、デー
タ選択部509に入力する(935)。
Next, the selector 702 sets the input terminal A
(915), and the selector 703 outputs the input terminal A
Is selected (925), and the adder / subtractor 704 outputs the output from the selector 702 and the selector 7
03 is controlled to be added. As a result, the linear sample + 2L is input to the data selection unit 509 as a decoder output (935).

【0118】結果として、デコーダ部508から、5つ
のリニアサンプルL,−1L,−2L,+1L,+2L
が順次出力される(931〜935)。
As a result, five linear samples L, -1L, -2L, + 1L, + 2L are output from the decoder unit 508.
Are sequentially output (931 to 935).

【0119】AF1=2のとき 図10は、AF1=2のときのデコーダ部508の動作
を説明するためのタイムチャートである。この場合のデ
コーダ部508の動作は、上記およびのAF1=
0,1の場合と同様である。ただし、AF1=2では、
上述のタイプ3の読出しがなされるから、まずリニアサ
ンプルL(付番1001)が、次にそのリニアサンプル
の次の圧縮サンプル+2D,+1D(付番1002)
が、最後にさらにその次のアドレスの圧縮サンプル+4
D,+3D(付番1003)が、デコーダ部508に入
力する。
When AF1 = 2 FIG. 10 is a time chart for explaining the operation of the decoder unit 508 when AF1 = 2. The operation of the decoder unit 508 in this case is as described above and AF1 =
It is similar to the case of 0,1. However, when AF1 = 2,
Since the above-mentioned type 3 reading is performed, first, the linear sample L (numbering 1001), and then the next compressed sample + 2D, + 1D (numbering 1002) of the linear sample
Finally, the compressed sample at the next address +4
D and + 3D (numbering 1003) are input to the decoder unit 508.

【0120】そして、セレクタ702,703および加
減算器704の制御も、そのような入力に応じてなされ
る。特に、この場合はセレクタ703からの出力はすべ
てリニアサンプルに加算すべき圧縮サンプルであるか
ら、加減算器704は、セレクタ702の出力とセレク
タ703の出力とを加算するように制御される。
Then, the control of the selectors 702 and 703 and the adder / subtractor 704 is also performed according to such an input. In particular, in this case, since all outputs from the selector 703 are compressed samples to be added to the linear samples, the adder / subtractor 704 is controlled to add the output of the selector 702 and the output of the selector 703.

【0121】結果として、デコーダ部508から、5つ
のリニアサンプルL,+1L,+2L,+3L,+4L
が順次出力される(1031〜1035)。
As a result, five linear samples L, + 1L, + 2L, + 3L and + 4L are output from the decoder unit 508.
Are sequentially output (1031 to 1035).

【0122】次に、データ選択部509について詳しく
説明する。
Next, the data selection unit 509 will be described in detail.

【0123】図7を参照して、データ選択部509は、
ディレイ回路711、セレクタ712、および選択制御
部713を備えている。デコーダ部508からの出力
は、ディレイ回路711に入力するとともに、セレクタ
712の入力端子Bに入力する。ディレイ回路711の
出力は、セレクタ712の入力端子Aに入力する。セレ
クタ712は、選択制御部713からの制御信号に基づ
いて入力端子A,Bのいずれかを選択出力する。選択制
御部713は、データAF2に基づいて、セレクタ71
1への制御信号を出力する。
Referring to FIG. 7, data selection unit 509 includes:
A delay circuit 711, a selector 712, and a selection control unit 713 are provided. The output from the decoder unit 508 is input to the delay circuit 711 and to the input terminal B of the selector 712. The output of the delay circuit 711 is input to the input terminal A of the selector 712. The selector 712 selects and outputs one of the input terminals A and B based on a control signal from the selection control unit 713. The selection control unit 713, based on the data AF2,
1 to output a control signal.

【0124】図11は、再生部、すなわちデコーダ部5
08、データ選択部509、および補間部510におけ
るタイムチャートを示す。1101は各チャンネルごと
のタイムスロットを示し、1102は着目しているチャ
ンネルにおいて波形メモリ8から読出してデコーダ部5
08に入力する読出しデータを示す。R1は、図8の読
出しデータ801、図9の読出しデータ901、および
図10の読出しデータ1001に相当する。同様に、R
2,R3は、図8の読出しデータ802,803、図9
の読出しデータ902,903、および図10の読出し
データ1002,1003に相当する。
FIG. 11 shows a reproducing section, that is, the decoder section 5.
8 shows a time chart in the data selection unit 509 and the interpolation unit 510. Reference numeral 1101 denotes a time slot for each channel, and 1102 denotes a signal read out from the waveform memory 8 in the channel of interest and read from the decoder unit 5.
08 indicates read data to be input. R1 corresponds to read data 801 in FIG. 8, read data 901 in FIG. 9, and read data 1001 in FIG. Similarly, R
2, R3 are the read data 802, 803 of FIG.
10 and the read data 1002 and 1003 of FIG.

【0125】図11の1103は、これらの読出しデー
タをデコーダ部508によってデコードした結果として
出力されるデコード出力を示す。X1は、図8のデコー
ド出力831、図9のデコード出力931、および図1
0のデコード出力1031に相当する。同様に、X2,
X3,X4,X5は、図8のデコード出力832,83
3,834,835、図9のデコード出力931,93
2,933,934、および図10のデコード出力10
32,1033,1034,1035に相当する。
Reference numeral 1103 in FIG. 11 denotes a decode output which is output as a result of decoding these read data by the decoder unit 508. X1 is the decode output 831 in FIG. 8, the decode output 931 in FIG.
0 corresponds to the decoded output 1031. Similarly, X2
X3, X4 and X5 are the decode outputs 832 and 83 of FIG.
3, 834, 835, decode outputs 931 and 93 in FIG.
2, 933, 934 and the decode output 10 of FIG.
32, 1033, 1034, and 1035.

【0126】図7のデータ選択部509のディレイ回路
711およびセレクタ712の入力端子Bには、このよ
うなデコード出力1103が入力する。ディレイ回路7
11への入力は、所定の遅延時間の後に出力され、図1
1の1104のようになる。セレクタ712は、付番1
103,1104に示す入力端子A,Bへの入力のいず
れかを選択出力する。図11の付番1105のS1〜S
4が選択された出力を示す。
The decode output 1103 is input to the delay circuit 711 of the data selection unit 509 and the input terminal B of the selector 712 in FIG. Delay circuit 7
11 is output after a predetermined delay time, and FIG.
1 such as 1104. Selector 712 is numbered 1
One of the inputs to input terminals A and B shown at 103 and 1104 is selectively output. S1 to S of number 1105 in FIG.
4 indicates the selected output.

【0127】図11の(i)は、データ選択部509に
おける選択制御によって付番1103,1104のデー
タX1〜X5がどのように選択されるかを、AF2の別
に具体的に示したものである。矩形のブロックは選択出
力されるデータを示し、矩形ブロックの上の記号A,B
はセレクタ712が入力端子A,Bのどちらを選択出力
するかを示す。
FIG. 11 (i) specifically shows how the data X1 to X5 of numbers 1103 and 1104 are selected by the selection control in the data selection unit 509 for each AF2. . Rectangular blocks indicate data to be selectively output, and symbols A and B above the rectangular blocks
Indicates which of the input terminals A and B the selector 712 selects and outputs.

【0128】AF2=1,2,4のときは、セレクタ7
12は入力端子A,A,A,Aと選択出力するように制
御される。したがって、セレクタ712からはX1,X
2,X3,X4の順に出力される。
When AF2 = 1, 2, 4, the selector 7
Reference numeral 12 is controlled so as to select and output the input terminals A, A, A, A. Therefore, X1, X
2, X3, and X4 are output in this order.

【0129】AF2=3のときは、セレクタ712は入
力端子A,A,B,Bと選択出力するように制御され
る。したがって、セレクタ712からはX1,X2,X
4,X5の順に出力される。
When AF2 = 3, the selector 712 is controlled to select and output the input terminals A, A, B, B. Therefore, X1, X2, X
4, and X5.

【0130】AF2=0,5のときは、セレクタ712
は入力端子B,B,B,Bと選択出力するように制御さ
れる。したがって、セレクタ712からはX2,X3,
X4,X5の順に出力される。
When AF2 = 0,5, the selector 712
Are controlled to select and output the input terminals B, B, B, B. Therefore, X2, X3,
X4 and X5 are output in this order.

【0131】図8〜図10で説明したデコード出力を考
慮すると、データ選択部509から順次出力され補間部
510に入力するリニアサンプルは以下のようになる。 AF2=0のとき…順に、−1L,−2L,−3L,
−4L AF2=1のとき…順に、L,−1L,−2L,−3
L AF2=2のとき…順に、L,−1L,−2L,+1
L AF2=3のとき…順に、L,−1L,+1L,+2
L AF2=4のとき…順に、L,+1L,+2L,+3
L AF2=5のとき…順に、+1L,+2L,+3L,
+4L
Considering the decoded output described with reference to FIGS. 8 to 10, the linear samples sequentially output from the data selection unit 509 and input to the interpolation unit 510 are as follows. When AF2 = 0 ...- 1L, -2L, -3L,
-4L When AF2 = 1 ... L, -1L, -2L, -3
When L AF2 = 2 ... L, -1L, -2L, +1
When L AF2 = 3 ... L, -1L, + 1L, +2
When L AF2 = 4 ... L, + 1L, + 2L, +3
When L AF2 = 5 ... + 1L, + 2L, + 3L,
+ 4L

【0132】以上より、出力の順序はサンプル点の時間
的順序に応じたものではないが(AF2に応じて順序が
定まる)、4つの隣り合うリニアサンプルが順次補間部
510に入力することになる。
As described above, although the output order does not correspond to the temporal order of the sample points (the order is determined according to AF2), four adjacent linear samples are sequentially input to the interpolation unit 510. .

【0133】次に、補間部510について詳しく説明す
る。
Next, the interpolation section 510 will be described in detail.

【0134】図7を参照して、補間部510は、乗算器
721、係数メモリ723、上位ビット発生器722、
および補間累算器724を備えている。データ選択部5
09からの出力は、乗算器721に入力する。上位ビッ
ト発生器722は、データAF2に基づいて係数メモリ
723の読出しアドレスのうちの上位2ビットを発生す
る。係数メモリ723には、上位ビット発生器722か
らの2ビットのほか、データAF3(10ビット)が入
力し、これらを合せた12ビットのデータをアドレスと
して係数データが読出される。
Referring to FIG. 7, interpolation section 510 includes a multiplier 721, a coefficient memory 723, an upper bit generator 722,
And an interpolation accumulator 724. Data selector 5
The output from 09 is input to the multiplier 721. Upper bit generator 722 generates the upper two bits of the read address of coefficient memory 723 based on data AF2. The coefficient memory 723 receives data AF3 (10 bits) in addition to the 2 bits from the upper bit generator 722, and reads coefficient data by using the combined 12-bit data as an address.

【0135】4点補間は、4つの隣り合うリニアサンプ
ルLS0,LS1,LS2,LS3のそれぞれに所定の
係数を乗算して、乗算結果を累算することにより求めら
れる。すなわち、係数をA0(j),A1(j),A2(j),
A3(j)とすると、A0(j) ・LS0+A1(j) ・LS
1+A2(j) ・LS2+A3(j) ・LS3によって、補
間された振幅値を求めることができる。
The four-point interpolation is obtained by multiplying each of four adjacent linear samples LS0, LS1, LS2, LS3 by a predetermined coefficient, and accumulating the multiplication results. That is, the coefficients are A0 (j), A1 (j), A2 (j),
Assuming that A3 (j), A0 (j) · LS0 + A1 (j) · LS
1 + A2 (j) · LS2 + A3 (j) · LS3, the interpolated amplitude value can be obtained.

【0136】ここで、リニアサンプルLS0,LS1,
LS2,LS3は、サンプル点としての時間的順序に沿
って並んでいるものとし、LS3が1番先の(古い)サ
ンプル点のリニアサンプル、逆にLS1が1番後の(新
しい)サンプル点のリニアサンプルとする。
Here, the linear samples LS0, LS1,
LS2 and LS3 are arranged in time order as sample points, and LS3 is the linear sample of the first (old) sample point, and LS1 is the linear sample of the next (new) sample point. Linear sample.

【0137】上述したように、補間部510には4つの
隣り合うリニアサンプルが順次入力するから、各リニア
サンプルの入力の際に所定の係数が係数メモリ723か
ら出力されるようにしておけば、乗算器721で各リニ
アサンプルと係数との乗算を行い、その乗算結果が補間
累算器724で累算されるようにできる。これにより、
上記式の演算が実行され、補間結果が出力される。
As described above, since four adjacent linear samples are sequentially input to the interpolation unit 510, if a predetermined coefficient is output from the coefficient memory 723 when each linear sample is input, The multiplier 721 multiplies each linear sample by a coefficient, and the result of the multiplication can be accumulated by the interpolation accumulator 724. This allows
The calculation of the above equation is performed, and the interpolation result is output.

【0138】係数メモリ723から出力される係数につ
いてさらに詳しく説明する。
The coefficients output from the coefficient memory 723 will be described in more detail.

【0139】図12は、係数メモリ723の記憶内容を
示す。横軸がアドレス、縦軸が読出される係数データを
表す。係数メモリ723に入力するアドレスは12ビッ
トであるが、上位2ビット(上位ビット発生器722か
らの入力)は整数部、下位10ビット(データAF3)
は小数部とみなす。したがって、図12の横軸は0から
4の範囲になっている。0,1,3,4の位置は整数部
で決定され、そこから矢印のように小数部だけ進んだ位
置が読出し位置になる。補間して求めるサンプル点は横
軸の1から2の範囲にある。
FIG. 12 shows the contents stored in the coefficient memory 723. The horizontal axis represents the address, and the vertical axis represents the coefficient data to be read. The address input to the coefficient memory 723 is 12 bits, but the upper 2 bits (input from the upper bit generator 722) are an integer part and the lower 10 bits (data AF3).
Is regarded as a decimal part. Therefore, the horizontal axis in FIG. 12 ranges from 0 to 4. The positions of 0, 1, 3, and 4 are determined by the integer part, and the position advanced by a decimal part from the integer part as the arrow is the read position. The sample points obtained by interpolation are in the range of 1 to 2 on the horizontal axis.

【0140】図12の記憶内容のうちアドレス0から1
の範囲が、上記係数A0(j)に相当する。jは小数部で
ある。また、図12のアドレス1から2が係数A1(j)
に、アドレス2から3が係数A2(j)に、アドレス3か
ら4が係数A3(j)に、それぞれ相当する。
Addresses 0 to 1 in the storage contents of FIG.
Corresponds to the coefficient A0 (j). j is a decimal part. The addresses 1 to 2 in FIG.
The addresses 2 to 3 correspond to the coefficient A2 (j), and the addresses 3 to 4 correspond to the coefficient A3 (j).

【0141】一方、データ選択部509から出力され補
間部510に入力する4つのリニアサンプルの順序は、
AF2の値により定まるから、その値別に説明すれば、
以下の通りである。
On the other hand, the order of the four linear samples output from the data selection unit 509 and input to the interpolation unit 510 is as follows:
Since it is determined by the value of AF2, if it is explained by that value,
It is as follows.

【0142】AF2=0のとき…補間部510への入
力の順序は、−1L,−2L,−3L,−4Lであるか
ら、上記LSの記号で表すと、LS0,LS1,LS
2,LS3の順になる。これに合せて、係数はA0
(j),A1(j),A2(j),A3(j)の順で出力すればよい
ことになる。そこで、図11の(ii)に示すように、AF
2=0のときは係数メモリのアドレスの上位2ビットを
0,1,2,3の順に出力する。これにより、上記の順
序で係数が出力される。
When AF2 = 0 ... The order of input to the interpolation unit 510 is -1L, -2L, -3L, -4L. Therefore, when represented by the above-mentioned LS symbol, LS0, LS1, LS
2, LS3. According to this, the coefficient is A0
(j), A1 (j), A2 (j), and A3 (j) in this order. Therefore, as shown in FIG.
When 2 = 0, the upper 2 bits of the address of the coefficient memory are output in the order of 0, 1, 2, 3. As a result, the coefficients are output in the order described above.

【0143】AF2=1のとき…補間部510への入
力の順序は、L,−1L,−2L,−3Lであるから、
上記LSの記号で表すと、LS0,LS1,LS2,L
S3の順になる。これに合せて、係数はA0(j),A1
(j),A2(j),A3(j)の順で出力すればよいことにな
る。そこで、図11の(ii)に示すように、AF2=1の
ときは係数メモリのアドレスの上位2ビットを0,1,
2,3の順に出力する。これにより、上記の順序で係数
が出力される。
When AF2 = 1 ... The order of input to the interpolation unit 510 is L, -1L, -2L, -3L.
When represented by the symbol of LS, LS0, LS1, LS2, L
The order is S3. According to this, the coefficients are A0 (j), A1
(j), A2 (j), and A3 (j) in this order. Therefore, as shown in (ii) of FIG. 11, when AF2 = 1, the upper two bits of the address of the coefficient memory are set to 0, 1, and 2.
Output in the order of 2 and 3. As a result, the coefficients are output in the order described above.

【0144】AF2=2のとき…補間部510への入
力の順序は、L,−1L,−2L,+1Lであるから、
上記LSの記号で表すと、LS1,LS2,LS3,L
S0の順になる。これに合せて、係数はA1(j),A2
(j),A3(j),A0(j)の順で出力すればよいことにな
る。そこで、図11の(ii)に示すように、AF2=2の
ときは係数メモリのアドレスの上位2ビットを1,2,
3,0の順に出力する。これにより、上記の順序で係数
が出力される。
When AF2 = 2 Since the order of input to the interpolation unit 510 is L, -1L, -2L, + 1L,
When represented by the symbol of LS, LS1, LS2, LS3, L
The order is S0. According to this, the coefficients are A1 (j), A2
(j), A3 (j) and A0 (j) should be output in this order. Therefore, as shown in FIG. 11 (ii), when AF2 = 2, the upper two bits of the address of the coefficient memory are 1, 2, 2,
Output in the order of 3,0. As a result, the coefficients are output in the order described above.

【0145】AF2=3のとき…補間部510への入
力の順序は、L,−1L,+1L,+2Lであるから、
上記LSの記号で表すと、LS2,LS3,LS1,L
S0の順になる。これに合せて、係数はA2(j),A3
(j),A1(j),A0(j)の順で出力すればよいことにな
る。そこで、図11の(ii)に示すように、AF2=3の
ときは係数メモリのアドレスの上位2ビットを2,3,
1,0の順に出力する。これにより、上記の順序で係数
が出力される。
When AF2 = 3 ... The order of input to the interpolation unit 510 is L, -1L, + 1L, + 2L.
Expressed by the symbol of LS, LS2, LS3, LS1, L
The order is S0. According to this, the coefficients are A2 (j), A3
(j), A1 (j), and A0 (j) in this order. Therefore, as shown in (ii) of FIG. 11, when AF2 = 3, the upper two bits of the address of the coefficient memory are set to 2, 3,
Output in order of 1,0. As a result, the coefficients are output in the order described above.

【0146】AF2=4のとき…補間部510への入
力の順序は、L,+1L,+2L,+3Lであるから、
上記LSの記号で表すと、LS3,LS2,LS1,L
S0の順になる。これに合せて、係数はA3(j),A2
(j),A1(j),A0(j)の順で出力すればよいことにな
る。そこで、図11の(ii)に示すように、AF2=4の
ときは係数メモリのアドレスの上位2ビットを3,2,
1,0の順に出力する。これにより、上記の順序で係数
が出力される。
When AF2 = 4 ... The order of input to the interpolation unit 510 is L, + 1L, + 2L, + 3L.
When represented by the symbol of LS, LS3, LS2, LS1, L
The order is S0. According to this, the coefficients are A3 (j), A2
(j), A1 (j), and A0 (j) in this order. Therefore, as shown in FIG. 11 (ii), when AF2 = 4, the upper two bits of the address of the coefficient memory are set to 3, 2,
Output in order of 1,0. As a result, the coefficients are output in the order described above.

【0147】AF2=5のとき…補間部510への入
力の順序は、+1L,+2L,+3L,+4Lであるか
ら、上記LSの記号で表すと、LS3,LS2,LS
1,LS0の順になる。これに合せて、係数はA3
(j),A2(j),A1(j),A0(j)の順で出力すればよい
ことになる。そこで、図11の(ii)に示すように、AF
2=4のときは係数メモリのアドレスの上位2ビットを
3,2,1,0の順に出力する。これにより、上記の順
序で係数が出力される。
When AF2 = 5 ... The order of input to the interpolation unit 510 is + 1L, + 2L, + 3L, + 4L. Therefore, when represented by the symbol of LS, LS3, LS2, LS
1, LS0. According to this, the coefficient is A3
(j), A2 (j), A1 (j), and A0 (j) in this order. Therefore, as shown in FIG.
When 2 = 4, the upper two bits of the address of the coefficient memory are output in the order of 3, 2, 1, 0. As a result, the coefficients are output in the order described above.

【0148】以上のようにして、最終的に、図11の1
106のように補間結果が出力される。
As described above, finally, 1 in FIG.
The interpolation result is output as shown at 106.

【0149】なお、図12の係数メモリの記憶内容は、
通常は左右対称になっている。したがって、例えば2か
ら4の範囲のアドレスは折り返すように変換してアクセ
スするようにすれば、係数メモリを半分にすることもで
きる。
The contents stored in the coefficient memory shown in FIG.
Usually, it is symmetrical. Therefore, for example, if addresses in the range of 2 to 4 are converted so as to be folded and accessed, the coefficient memory can be halved.

【0150】本実施例によれば、図5のカウンタ503
の出力qFの値が定まれば、上述した動作により1つの
波形振幅値を出力できる。したがって、どのサンプル点
からも再生可能であり、波形メモリの飛ばし読みを行う
ことができる。また、本実施例では、4アドレスに6点
分のデータを格納できるから、1アドレスに1リニアサ
ンプルを格納するのに比べて、4/6=66.7%の圧
縮率で、波形データを格納できる。さらに、圧縮して格
納されているので、読出し回数(メモリアクセス回数)
が少なくて済む。短い時間でより多くのサンプルを再生
できるから、発音数を拡大するなどの効果がある。
According to the present embodiment, the counter 503 shown in FIG.
Is determined, one waveform amplitude value can be output by the above-described operation. Therefore, reproduction can be performed from any sample point, and skip reading of the waveform memory can be performed. Further, in the present embodiment, since data for six points can be stored in four addresses, the waveform data is compressed at a compression ratio of 4/6 = 66.7% as compared with storing one linear sample in one address. Can be stored. Furthermore, since it is stored in a compressed state, the number of times of reading (the number of times of memory access)
Requires less. Since more samples can be reproduced in a short time, there are effects such as expansion of the number of sounds.

【0151】図13は、波形データのフォーマットの変
形例を示す。図13(a)は、5アドレスに8点分のデ
ータを格納した例である。データの圧縮率は、5/8=
62.5%になる。この場合、1チャンネルにおいて4
アドレス分のデータを読出せば、6点補間が可能であ
る。図4と同様の原理図を考えると、リニアサンプルを
含む4アドレスで再生可能な範囲の重なりが5点あるか
らである。
FIG. 13 shows a modification of the format of the waveform data. FIG. 13A shows an example in which data for eight points is stored in five addresses. The data compression ratio is 5/8 =
62.5%. In this case, 4
If data for the address is read, six-point interpolation is possible. Considering the principle diagram similar to FIG. 4, there are five overlapping ranges that can be reproduced by four addresses including linear samples.

【0152】図13(b)は、圧縮サンプルDのビット
数を6ビットとし、3アドレスに8つの圧縮サンプルを
詰めて格納した例である。リニアサンプルも入れると、
4アドレスに8点分のデータを格納したことになる。デ
ータの圧縮率は、4/8=50%になる。この場合、1
チャンネルにおいて4アドレス分のデータを読出せば、
7点補間が可能である。
FIG. 13B shows an example in which the number of bits of the compressed sample D is 6 bits, and eight addresses are packed and stored in three addresses. If you include the linear sample,
This means that data for eight points is stored in four addresses. The data compression ratio becomes 4/8 = 50%. In this case, 1
By reading data for 4 addresses in the channel,
Seven-point interpolation is possible.

【0153】[0153]

【発明の効果】以上説明したように、本発明によれば、
所定の複数サンプル点ごとにリニア(非圧縮)な振幅値
データを設け、その間に圧縮データを設けており、リニ
アな振幅値データから正方向および逆方向のどちらにも
再生可能になっているので、音高の幅が制限(ピッチア
ップの制限)されるようなことがなく波形メモリを飛ば
し読みすることができる。また、波形メモリがデータ圧
縮され、容量は少なくて済む。さらに、波形メモリの読
出し回数が少なくて済む。
As described above, according to the present invention,
Linear (uncompressed) amplitude value data is provided for each of a plurality of predetermined sample points, and compressed data is provided between them. Since linear amplitude value data can be reproduced in both the forward direction and the reverse direction, The waveform memory can be skipped and read without limiting the pitch width (restriction of pitch-up). Further, the waveform memory is data-compressed, and the capacity is small. Further, the number of times of reading the waveform memory can be reduced.

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

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

【図2】波形データフォーマット図FIG. 2 is a waveform data format diagram.

【図3】録音時の書込みデータの生成の様子を示す図FIG. 3 is a diagram showing a state of generation of write data at the time of recording;

【図4】波形データの再生の原理図FIG. 4 is a principle diagram of reproduction of waveform data.

【図5】音源部のブロック構成図FIG. 5 is a block diagram of a sound source unit.

【図6】音源部内の各位置のアドレスの変化などを示す
タイムチャートおよび補助アドレスの出力の様子を示す
タイムチャート図
FIG. 6 is a time chart showing a change of an address at each position in the sound source section and a time chart showing an output state of an auxiliary address;

【図7】音源部の再生部のブロック構成図FIG. 7 is a block diagram of a reproducing unit of the sound source unit.

【図8】デコーダ部の動作を説明するためのタイムチャ
ート図(その1)
FIG. 8 is a time chart for explaining the operation of the decoder unit (part 1);

【図9】デコーダ部の動作を説明するためのタイムチャ
ート図(その2)
FIG. 9 is a time chart for explaining the operation of the decoder unit (part 2);

【図10】デコーダ部の動作を説明するためのタイムチ
ャート図(その3)
FIG. 10 is a time chart for explaining the operation of the decoder unit (part 3);

【図11】再生部の動作を説明するためのタイムチャー
ト図
FIG. 11 is a time chart for explaining the operation of the reproducing unit.

【図12】係数メモリの記憶内容を示す図FIG. 12 is a diagram showing storage contents of a coefficient memory;

【図13】波形データのフォーマットの変形例を示す図FIG. 13 is a diagram showing a modification of the format of the waveform data.

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

1…パネルスイッチ(SW)、2…鍵盤、3…マイクロ
コンピュータ(マイコン)、4…マイクロフォン、5…
アナログディジタル変換器(ADC)、6…バッファR
AM、7…音源部、8…波形メモリ、9…ディジタルア
ナログ変換器(DAC)、10…サウンドシステム。
DESCRIPTION OF SYMBOLS 1 ... Panel switch (SW), 2 ... Keyboard, 3 ... Microcomputer (microcomputer), 4 ... Microphone, 5 ...
Analog-to-digital converter (ADC), 6 ... buffer R
AM, 7 sound source section, 8 waveform memory, 9 digital-to-analog converter (DAC), 10 sound system.

Claims (8)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】所定の複数サンプル点ごとに非圧縮波形振
幅値データを設けるとともに、該非圧縮波形振幅値デー
タのサンプル点の間にあるサンプル点に対しては、直前
のサンプル点の非圧縮波形振幅値データを用いて非圧縮
波形振幅値データを算出できるように、かつ直後のサン
プル点の非圧縮波形振幅値データを用いて非圧縮波形振
幅値データを算出できるように、圧縮された圧縮波形振
幅値データを設けた波形記憶手段と、 前記波形記憶手段から、連続した範囲に含まれる1つの
非圧縮波形振幅値データおよび複数の圧縮波形振幅値デ
ータを読出す読出し手段と、 前記読出した1つの非圧縮波形振幅値データを用いて、
前記読出した圧縮波形振幅値データから非圧縮波形振幅
値データを算出する算出手段であって、前記読出した1
つの非圧縮波形振幅値データから見て時間的に未来の側
のサンプル点に対応する圧縮波形振幅値データについて
は、その非圧縮波形振幅値データから未来の側に向かう
方向に順次圧縮波形振幅値データを算出し、前記読出し
た1つの非圧縮波形振幅値データから見て時間的に過去
の側のサンプル点に対応する圧縮波形振幅値データにつ
いては、その非圧縮波形振幅値データから過去の側に向
かう方向に順次圧縮波形振幅値データを算出するもの
と、 得られた非圧縮波形振幅値データに基づいて、波形デー
タを再生する再生手段とを備えたことを特徴とする波形
生成装置。
An uncompressed waveform amplitude value data is provided for each of a plurality of predetermined sample points, and for a sample point between sample points of the uncompressed waveform amplitude value data, an uncompressed waveform of an immediately preceding sample point is provided. A compressed compressed waveform so that the uncompressed waveform amplitude value data can be calculated using the amplitude value data, and the uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data at the immediately following sample point. Waveform storage means provided with amplitude value data; reading means for reading one uncompressed waveform amplitude value data and a plurality of compressed waveform amplitude value data included in a continuous range from the waveform storage means; Using two uncompressed waveform amplitude value data,
Calculating means for calculating non-compressed waveform amplitude value data from the read compressed waveform amplitude value data;
As for the compressed waveform amplitude data corresponding to the sample point on the future side when viewed from the two uncompressed waveform amplitude value data, the compressed waveform amplitude values are sequentially shifted from the uncompressed waveform amplitude value data toward the future. Data is calculated, and the compressed waveform amplitude value data corresponding to the sample point on the past side temporally from the one read uncompressed waveform amplitude value data is calculated from the uncompressed waveform amplitude value data on the past side. A waveform generation apparatus comprising: a calculator for sequentially calculating compressed waveform amplitude value data in a direction toward..., And reproducing means for reproducing waveform data based on the obtained non-compressed waveform amplitude data.
【請求項2】所定の複数サンプル点ごとに非圧縮波形振
幅値データを設けるとともに、該非圧縮波形振幅値デー
タのサンプル点の間にあるサンプル点に対しては、直前
のサンプル点の非圧縮波形振幅値データを用いて非圧縮
波形振幅値データを算出できるように、かつ直後のサン
プル点の非圧縮波形振幅値データを用いて非圧縮波形振
幅値データを算出できるように、圧縮された圧縮波形振
幅値データを設けた波形記憶手段と、 生成すべき楽音波形の音高に応じた周波数情報を発生す
る周波数情報発生手段と、 前記周波数情報を所定速度で繰返し累算して、累算値を
出力する累算手段と、 前記累算値に基づいて、前記波形記憶手段から、連続し
た範囲に含まれる1つの非圧縮波形振幅値データおよび
複数の圧縮波形振幅値データを読出す読出し手段と、 前記読出した1つの非圧縮波形振幅値データを用いて、
前記読出した圧縮波形振幅値データから非圧縮波形振幅
値データを算出する算出手段であって、前記読出した1
つの非圧縮波形振幅値データから見て時間的に未来の側
のサンプル点に対応する圧縮波形振幅値データについて
は、その非圧縮波形振幅値データから未来の側に向かう
方向に順次圧縮波形振幅値データを算出し、前記読出し
た1つの非圧縮波形振幅値データから見て時間的に過去
の側のサンプル点に対応する圧縮波形振幅値データにつ
いては、その非圧縮波形振幅値データから過去の側に向
かう方向に順次圧縮波形振幅値データを算出するもの
と、 得られた非圧縮波形振幅値データから、補間に用いる非
圧縮波形振幅値データを選択する選択手段と、 前記選択手段によって選択された非圧縮波形振幅値デー
タを用いて補間処理を行ない、補間結果を波形データと
して出力する補間手段とを備えたことを特徴とする波形
生成装置。
2. An uncompressed waveform amplitude value data is provided for each of a plurality of predetermined sample points, and for a sample point between sample points of the uncompressed waveform amplitude value data, an uncompressed waveform of the immediately preceding sample point is provided. A compressed compressed waveform so that the uncompressed waveform amplitude value data can be calculated using the amplitude value data, and the uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data at the immediately following sample point. Waveform storage means provided with amplitude value data; frequency information generation means for generating frequency information corresponding to the pitch of a musical tone waveform to be generated; and repeatedly accumulating the frequency information at a predetermined speed to obtain an accumulated value. Accumulating means for outputting; and reading out one uncompressed waveform amplitude value data and a plurality of compressed waveform amplitude value data included in a continuous range from the waveform storage means based on the accumulated value. And means, and using a single non-compressed waveform amplitude value data was the reading,
Calculating means for calculating non-compressed waveform amplitude value data from the read compressed waveform amplitude value data;
As for the compressed waveform amplitude data corresponding to the sample point on the future side when viewed from the two uncompressed waveform amplitude value data, the compressed waveform amplitude values are sequentially shifted from the uncompressed waveform amplitude value data toward the future. Data is calculated, and the compressed waveform amplitude value data corresponding to the sample point on the past side temporally from the one read uncompressed waveform amplitude value data is calculated from the uncompressed waveform amplitude value data on the past side. And calculating means for sequentially calculating the compressed waveform amplitude value data in the direction toward, and selecting means for selecting non-compressed waveform amplitude value data to be used for interpolation from the obtained non-compressed waveform amplitude value data. A waveform generating apparatus comprising: an interpolation unit that performs an interpolation process using uncompressed waveform amplitude value data and outputs an interpolation result as waveform data.
【請求項3】音を所定のサンプリング周波数でサンプリ
ングして得た波形データを圧縮して記憶した波形記憶装
置であって、 前記波形データのn個のサンプルを得て、 所定の複数サ
ンプル点ごとにM(MはM≦n/2+1の整数)個の
圧縮波形振幅値データを設けるとともに、該非圧縮波形
振幅値データのサンプル点の間にあるサンプル点に対し
ては、直前のサンプル点の非圧縮波形振幅値データを用
いて非圧縮波形振幅値データを算出できるように、かつ
直後のサンプル点の非圧縮波形振幅値データを用いて非
圧縮波形振幅値データを算出できるように、圧縮された
(n−1)個の圧縮波形振幅値データを設けたことを特
徴とする波形記憶装置。
3. The sound is sampled at a predetermined sampling frequency.
Storage device that compresses and stores waveform data obtained by
And obtaining M (M is an integer of M ≦ n / 2 + 1) uncompressed waveform amplitude value data for each of a plurality of predetermined sample points , obtaining n samples of the waveform data. For the sample points between the sample points of the waveform amplitude value data, the non-compressed waveform amplitude value data of the immediately preceding sample point can be used to calculate the non-compressed waveform amplitude value data. Compressed so that uncompressed waveform amplitude value data can be calculated using uncompressed waveform amplitude value data.
A waveform storage device provided with (n-1) pieces of compressed waveform amplitude value data.
【請求項4】前記所定の複数サンプル点ごとに設けられ
た非圧縮波形振幅値データから任意に1つの非圧縮波形
振幅値データを選択し、該選択した非圧縮波形振幅値デ
ータを用いて、該非圧縮波形振幅値データの直後の連続
する複数の圧縮波形振幅値データから対応する複数の非
圧縮波形振幅値データを算出した場合、前記算出された
複数の非圧縮波形振幅値データの最後の非圧縮波形振幅
値データが、前記選択した1つの非圧縮波形振幅値デー
タの次に設けられた非圧縮波形振幅値データと同じにな
ることを特徴とする請求項3に記載の波形記憶装置。
4. An uncompressed waveform amplitude data arbitrarily selected from the uncompressed waveform amplitude data provided for each of the plurality of predetermined sample points, and using the selected uncompressed waveform amplitude data, When a corresponding plurality of uncompressed waveform amplitude value data is calculated from a plurality of continuous compressed waveform amplitude value data immediately after the uncompressed waveform amplitude value data, the last non-compressed waveform amplitude value data of the calculated plurality of uncompressed waveform amplitude value data is calculated. 4. The waveform storage device according to claim 3, wherein the compressed waveform amplitude value data is the same as the non-compressed waveform amplitude value data provided next to the selected one non-compressed waveform amplitude value data.
【請求項5】波形記憶手段から波形データを読み出して
再生する波形生成方法であって、 前記波形記憶手段は、所定の複数サンプル点ごとに非圧
縮波形振幅値データを設けるとともに、該非圧縮波形振
幅値データのサンプル点の間にあるサンプル点に対して
は、直前のサンプル点の非圧縮波形振幅値データを用い
て非圧縮波形振幅値データを算出できるように、かつ直
後のサンプル点の非圧縮波形振幅値データを用いて非圧
縮波形振幅値データを算出できるように、圧縮された圧
縮波形振幅値データを設けたものにするとともに、 前記波形記憶手段からの波形データの読み出し再生は、 前記波形記憶手段から、連続した範囲に含まれる1つの
非圧縮波形振幅値データおよび複数の圧縮波形振幅値デ
ータを読出す読出しステップと、 前記読出した1つの非圧縮波形振幅値データを用いて、
前記読出した圧縮波形振幅値データから非圧縮波形振幅
値データを算出する算出ステップであって、前記読出し
た1つの非圧縮波形振幅値データから見て時間的に未来
の側のサンプル点に対応する圧縮波形振幅値データにつ
いては、その非圧縮波形振幅値データから未来の側に向
かう方向に順次圧縮波形振幅値データを算出し、前記読
出した1つの非圧縮波形振幅値データから見て時間的に
過去の側のサンプル点に対応する圧縮波形振幅値データ
については、その非圧縮波形振幅値データから過去の側
に向かう方向に順次圧縮波形振幅値データを算出する算
出ステップと、 得られた非圧縮波形振幅値データに基づいて、波形デー
タを再生する再生ステップとを備えたことを特徴とする
波形生成方法。
5. A waveform generating method for reading and reproducing waveform data from a waveform storage means, wherein the waveform storage means provides uncompressed waveform amplitude value data for each of a plurality of predetermined sample points, For the sample points between the sample points of the value data, the uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data of the immediately preceding sample point, and the uncompressed In addition to providing compressed compressed waveform amplitude value data so that uncompressed waveform amplitude value data can be calculated using the waveform amplitude value data, reading and reproduction of the waveform data from the waveform storage unit is performed by using the waveform A reading step of reading one non-compressed waveform amplitude value data and a plurality of compressed waveform amplitude value data included in a continuous range from the storage unit; Using the one uncompressed waveform amplitude value data
A calculating step of calculating uncompressed waveform amplitude value data from the read compressed waveform amplitude value data, wherein the uncompressed waveform amplitude value data corresponds to a sample point on the temporally future side when viewed from the read one uncompressed waveform amplitude value data. With regard to the compressed waveform amplitude value data, the compressed waveform amplitude value data is sequentially calculated from the uncompressed waveform amplitude value data in the direction toward the future, and temporally as viewed from the one read uncompressed waveform amplitude value data. For the compressed waveform amplitude value data corresponding to the past sample point, a calculating step of sequentially calculating the compressed waveform amplitude value data in the direction toward the past from the uncompressed waveform amplitude value data; A reproducing step of reproducing waveform data based on the waveform amplitude value data.
【請求項6】波形記憶手段から波形データを読み出して
再生する波形生成方法であって、 前記波形記憶手段は、所定の複数サンプル点ごとに非圧
縮波形振幅値データを設けるとともに、該非圧縮波形振
幅値データのサンプル点の間にあるサンプル点に対して
は、直前のサンプル点の非圧縮波形振幅値データを用い
て非圧縮波形振幅値データを算出できるように、かつ直
後のサンプル点の非圧縮波形振幅値データを用いて非圧
縮波形振幅値データを算出できるように、圧縮された圧
縮波形振幅値データを設けたものにするとともに、 前記波形記憶手段からの波形データの読み出し再生は、 生成すべき楽音波形の音高に応じた周波数情報を発生す
る周波数情報発生ステップと、 前記周波数情報を所定速度で繰返し累算して、累算値を
出力する累算ステップと、 前記累算値に基づいて、前記波形記憶手段から、連続し
た範囲に含まれる1つの非圧縮波形振幅値データおよび
複数の圧縮波形振幅値データを読出す読出しステップ
と、 前記読出した1つの非圧縮波形振幅値データを用いて、
前記読出した圧縮波形振幅値データから非圧縮波形振幅
値データを算出する算出ステップであって、前記読出し
た1つの非圧縮波形振幅値データから見て時間的に未来
の側のサンプル点に対応する圧縮波形振幅値データにつ
いては、その非圧縮波形振幅値データから未来の側に向
かう方向に順次圧縮波形振幅値データを算出し、前記読
出した1つの非圧縮波形振幅値データから見て時間的に
過去の側のサンプル点に対応する圧縮波形振幅値データ
については、その非圧縮波形振幅値データから過去の側
に向かう方向に順次圧縮波形振幅値データを算出する算
出ステップと、 得られた非圧縮波形振幅値データから、補間に用いる非
圧縮波形振幅値データを選択する選択ステップと、 前記選択ステップによって選択された非圧縮波形振幅値
データを用いて補間処理を行ない、補間結果を波形デー
タとして出力する補間ステップとを備えたことを特徴と
する波形生成方法。
6. A waveform generating method for reading and reproducing waveform data from a waveform storage means, wherein the waveform storage means provides uncompressed waveform amplitude value data for each of a plurality of predetermined sample points, For the sample points between the sample points of the value data, the uncompressed waveform amplitude value data can be calculated using the uncompressed waveform amplitude value data of the immediately preceding sample point, and the uncompressed In addition to providing compressed compressed waveform amplitude data so that non-compressed waveform amplitude data can be calculated using the waveform amplitude data, reading and reproduction of the waveform data from the waveform storage means is performed by generating A frequency information generating step of generating frequency information according to the pitch of the power musical tone waveform; and a step of repeatedly accumulating the frequency information at a predetermined speed and outputting an accumulated value. A reading step of reading one non-compressed waveform amplitude value data and a plurality of compressed waveform amplitude value data included in a continuous range from the waveform storage means based on the accumulated value; Using one uncompressed waveform amplitude value data,
A calculating step of calculating uncompressed waveform amplitude value data from the read compressed waveform amplitude value data, wherein the uncompressed waveform amplitude value data corresponds to a sample point on the temporally future side when viewed from the read one uncompressed waveform amplitude value data. With regard to the compressed waveform amplitude value data, the compressed waveform amplitude value data is sequentially calculated from the uncompressed waveform amplitude value data in the direction toward the future, and temporally as viewed from the one read uncompressed waveform amplitude value data. For the compressed waveform amplitude value data corresponding to the past sample point, a calculating step of sequentially calculating the compressed waveform amplitude value data in the direction toward the past from the uncompressed waveform amplitude value data; A selecting step of selecting uncompressed waveform amplitude value data to be used for interpolation from the waveform amplitude value data; and a non-compressed waveform amplitude value data selected by the selecting step. Interpolation performs waveform generation method characterized by comprising an interpolation step of outputting the interpolation result as the waveform data with.
【請求項7】音を所定のサンプリング周波数でサンプリ
ングして得た波形データを圧縮して記憶する波形記憶方
法であって、 前記波形データのn個のサンプルを得て、 所定の複数サ
ンプル点ごとにM(MはM≦n/2+1の整数)個の
圧縮波形振幅値データを設けるとともに、該非圧縮波形
振幅値データのサンプル点の間にあるサンプル点に対し
ては、直前のサンプル点の非圧縮波形振幅値データを用
いて非圧縮波形振幅値データを算出できるように、かつ
直後のサンプル点の非圧縮波形振幅値データを用いて非
圧縮波形振幅値データを算出できるように、圧縮された
(n−1)個の圧縮波形振幅値データを設けることを特
徴とする波形記憶方法。
7. A sound sampler at a predetermined sampling frequency.
Waveform storage method for compressing and storing waveform data obtained by
A law, together with the obtaining n samples of waveform data, M (M is M ≦ n / 2 + 1 integer) for every predetermined plural sample points provided pieces of non-compressed waveform amplitude value data, uncompressed For the sample points between the sample points of the waveform amplitude value data, the non-compressed waveform amplitude value data of the immediately preceding sample point can be used to calculate the non-compressed waveform amplitude value data. Compressed so that uncompressed waveform amplitude value data can be calculated using uncompressed waveform amplitude value data.
A waveform storage method comprising providing (n-1) pieces of compressed waveform amplitude value data.
【請求項8】前記所定の複数サンプル点ごとに設けられ
た非圧縮波形振幅値データから任意に1つの非圧縮波形
振幅値データを選択し、該選択した非圧縮波形振幅値デ
ータを用いて、該非圧縮波形振幅値データの直後の連続
する複数の圧縮波形振幅値データから対応する複数の非
圧縮波形振幅値データを算出した場合、前記算出された
複数の非圧縮波形振幅値データの最後の非圧縮波形振幅
値データが、前記選択した1つの非圧縮波形振幅値デー
タの次に設けられた非圧縮波形振幅値データと同じにな
ることを特徴とする請求項7に記載の波形記憶方法。
8. An uncompressed waveform amplitude value arbitrarily selected from the uncompressed waveform amplitude data provided for each of the plurality of predetermined sample points, and using the selected uncompressed waveform amplitude value data, When a corresponding plurality of uncompressed waveform amplitude value data is calculated from a plurality of continuous compressed waveform amplitude value data immediately after the uncompressed waveform amplitude value data, the last non-compressed waveform amplitude value data of the calculated plurality of uncompressed waveform amplitude value data is calculated. 8. The waveform storage method according to claim 7, wherein the compressed waveform amplitude value data is the same as the non-compressed waveform amplitude value data provided next to the selected one non-compressed waveform amplitude value data.
JP5345306A 1993-12-21 1993-12-21 Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method Expired - Fee Related JP2993344B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5345306A JP2993344B2 (en) 1993-12-21 1993-12-21 Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5345306A JP2993344B2 (en) 1993-12-21 1993-12-21 Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method

Publications (2)

Publication Number Publication Date
JPH07181975A JPH07181975A (en) 1995-07-21
JP2993344B2 true JP2993344B2 (en) 1999-12-20

Family

ID=18375708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5345306A Expired - Fee Related JP2993344B2 (en) 1993-12-21 1993-12-21 Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method

Country Status (1)

Country Link
JP (1) JP2993344B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3918826B2 (en) * 2004-03-30 2007-05-23 ヤマハ株式会社 Music data playback device
JP5470893B2 (en) * 2009-02-18 2014-04-16 カシオ計算機株式会社 Sound effect generator

Also Published As

Publication number Publication date
JPH07181975A (en) 1995-07-21

Similar Documents

Publication Publication Date Title
US7256340B2 (en) Compressed data structure and apparatus and method related thereto
EP0454047B1 (en) Tone waveform generation apparatus
JP3404794B2 (en) Waveform generator
US4202234A (en) Digital generator for musical notes
JPH07181974A (en) Musical tone generation device
JP2785531B2 (en) Electronic musical instrument
JP2993344B2 (en) Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method
JP3081530B2 (en) Electronic musical instrument
JP2734323B2 (en) Electronic musical instrument sound generator
JP2790160B2 (en) Waveform generation device and waveform storage device
JPS61124994A (en) Musical sound signal generator
JP3527396B2 (en) Waveform recording device and waveform reproducing device
JP2576614B2 (en) Processing equipment
JP3945435B2 (en) Waveform data compression method, tone signal generation method, tone signal processing apparatus, and program
JPH02146599A (en) Sound source data compressing and encoding method
JP3543203B2 (en) Electronic musical instrument
US5883324A (en) Signal generating apparatus and signal generating method
JP3651675B2 (en) Electronic musical instruments
JP2907051B2 (en) Apparatus and method for generating waveform
JP2940440B2 (en) Electronic musical instrument waveform data compression recording method and waveform data reproduction method
JP2897377B2 (en) Waveform signal forming device
JP2880720B2 (en) Musical sound wave type reading device
JPH039474B2 (en)
JPS5926790A (en) Combination musical tone generator for musical instrument
JPH039476B2 (en)

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: 20071022

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees