JPH05265462A - Musical tone synthesizing device - Google Patents

Musical tone synthesizing device

Info

Publication number
JPH05265462A
JPH05265462A JP4059942A JP5994292A JPH05265462A JP H05265462 A JPH05265462 A JP H05265462A JP 4059942 A JP4059942 A JP 4059942A JP 5994292 A JP5994292 A JP 5994292A JP H05265462 A JPH05265462 A JP H05265462A
Authority
JP
Japan
Prior art keywords
data
output
waveform
bits
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4059942A
Other languages
Japanese (ja)
Inventor
Takahiro Sugaya
隆宏 菅谷
Daisuke Mori
大輔 森
Katsuhiko Hayashi
克彦 林
Masahiro Nakanishi
雅浩 中西
Atsuko Tanaka
温子 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4059942A priority Critical patent/JPH05265462A/en
Publication of JPH05265462A publication Critical patent/JPH05265462A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To solve the problem point that two waveform data need to be read out so as to calculate one interpolated musical tone waveform value corresponding to the pitch of a musical instrument to be outputted. CONSTITUTION:One word of data in a waveform memory 11 consists of a combination of difference data, composed of an exponent part and a mantissa part varying in the number of bits relating to each other, and waveform data, and the difference data mantissa part is extracted by a bit extractor 13 according to a mode value decided by a mode deciding unit 12 from the difference data exponent part and then has its bits shifted by a shifter 14; and an offset generator 15 outputs an offset, but the respective outputs are added by an adder 16, the addition result is multiplied by an address decimal part through a multiplier 17, and the multiplication result is added by an adder 18, so the interpolated musical tone waveform value can be calculated by reading data out of the one waveform memory only once.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、いわゆる電子楽器にお
いて波形を補間することにより音高を制御する楽音合成
装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical tone synthesizer for controlling a pitch by interpolating a waveform in a so-called electronic musical instrument.

【0002】[0002]

【従来の技術】近年の楽音合成装置では、出力したい音
高の楽音波形を得る方法として、波形メモリに記憶され
ている波形データの読みとばしのみを行って得る方法
や、読みとばしを行った後、波形データ間を補間するこ
とによって得る方法などがある。
2. Description of the Related Art In recent musical tone synthesizers, as a method of obtaining a musical tone waveform of a pitch to be output, a method of only skipping the waveform data stored in a waveform memory or a method of skipping after reading the waveform data is performed. , A method of obtaining by interpolating between waveform data.

【0003】従来の楽音合成装置としては、例えば特公
昭56−52317号公報及び特公昭53−30015
号公報に示されている。
As a conventional musical tone synthesizer, for example, Japanese Patent Publication No. 56-52317 and Japanese Patent Publication No. 53-30015.
It is shown in the publication.

【0004】従来の楽音合成装置の構成を図5に示し、
その説明を行う。ここでは、出力したい音高の楽音波形
を得るために、波形メモリに記憶されている波形データ
を直線補間する例を示す。
FIG. 5 shows the configuration of a conventional tone synthesizer.
The explanation will be given. Here, an example is shown in which the waveform data stored in the waveform memory is linearly interpolated in order to obtain a musical tone waveform having a desired pitch.

【0005】図5において、51はアドレス整数部Ai
とアドレス小数部Af とから形成されるアドレスを出力
するアドレス発生器である。52は加算器で、アドレス
整数部Ai を1だけインクリメントする。53,54は
同一の波形データが記憶されている波形メモリである。
55は減算器で、波形メモリ53,54から読み出され
る波形データ間の減算を行う。56は乗算器で、減算器
55の出力と、アドレス小数部Af との乗算を行う。5
7は加算器で、波形メモリ53の出力である波形データ
と、乗算器56の出力との加算を行う。以上のように構
成された楽音合成装置について、以下その動作について
説明する。
In FIG. 5, 51 is an address integer part Ai.
Is an address generator for outputting an address formed from the address fractional part Af. An adder 52 increments the address integer part Ai by 1. Reference numerals 53 and 54 are waveform memories in which the same waveform data is stored.
A subtracter 55 subtracts the waveform data read from the waveform memories 53 and 54. A multiplier 56 multiplies the output of the subtractor 55 and the address fractional part Af. 5
An adder 7 adds the waveform data output from the waveform memory 53 and the output from the multiplier 56. The operation of the musical tone synthesizer configured as above will be described below.

【0006】まず、アドレス発生器51に出力したい楽
器の音高情報を入力すると、アドレス整数部Ai とアド
レス小数部Af とから形成されるアドレスを出力する。
ここでアドレス発生器51に入力される音高情報は、出
力したい楽器の音高に基づいて決定されるものであり、
音高F(Hz)、波形メモリ53に記憶されている1周
期波形のサンプル数をWS(サンプル)、予め定めたタ
イミング、すなわちサンプリング周波数をFs(Hz)
としたとき、音高情報Sは、(数1)で表わされる。
First, when the pitch information of the musical instrument to be output is input to the address generator 51, the address formed by the address integer part Ai and the address decimal part Af is output.
The pitch information input to the address generator 51 is determined based on the pitch of the musical instrument to be output,
Pitch F (Hz), number of samples of one cycle waveform stored in the waveform memory 53 is WS (sample), predetermined timing, that is, sampling frequency is Fs (Hz)
Then, the pitch information S is represented by (Equation 1).

【0007】[0007]

【数1】 [Equation 1]

【0008】ここで、アドレス発生器51の構成を図6
に示す。図6において、61は加算器、62はレジスタ
である。レジスタ62はアドレスを格納するレジスタで
あり、格納領域を20ビットとする。また、波形メモリ
に記憶する1周期波形のサンプル数WSを1024とす
ると、図7に示すように、アドレス整数部Ai は10ビ
ットであり、従ってアドレス小数部Af は10ビットと
なる。
Here, the configuration of the address generator 51 is shown in FIG.
Shown in. In FIG. 6, 61 is an adder and 62 is a register. The register 62 is a register that stores an address, and the storage area is 20 bits. If the number of samples WS of one cycle waveform stored in the waveform memory is 1024, the address integer part Ai is 10 bits and the address fraction part Af is 10 bits, as shown in FIG.

【0009】サンプリング周波数Fsを32KHzとし
た時のアドレス整数部Ai の動きについて以下に説明す
る。
The operation of the address integer part Ai when the sampling frequency Fs is 32 KHz will be described below.

【0010】音高情報Sが1の時、加算器61によって
サンプリング周波数毎に音高情報1がレジスタ62の内
容に加算されるので、今レジスタ62に記憶されている
値が0とすると、アドレス整数部Ai はアドレス0〜1
023までに記憶した波形データ1024点をアドレス
0,1,2,3,・・・の順に波形メモリ53から読み
出すことになる。アドレス整数部Ai は10ビットであ
るので、アドレス整数部Ai の値はアドレス1023を
越えると再びアドレス0から始まることになるので、結
局波形メモリ53に記憶された波形データ1024点が
繰り返し出力されることになる。この時出力される音高
は(数1)を変形して得られるので31.25Hzとな
る。
When the pitch information S is 1, the pitch information 1 is added to the contents of the register 62 for each sampling frequency by the adder 61. Therefore, assuming that the value currently stored in the register 62 is 0, the address Integer part Ai is address 0 to 1
The 1024 points of waveform data stored up to 023 are read from the waveform memory 53 in the order of addresses 0, 1, 2, 3, .... Since the address integer part Ai is 10 bits, when the value of the address integer part Ai exceeds the address 1023, it starts from the address 0 again, so that 1024 points of waveform data stored in the waveform memory 53 are repeatedly output. It will be. The pitch output at this time is 31.25 Hz because it is obtained by modifying (Equation 1).

【0011】同様にして、音高情報Sが2の時は、今レ
ジスタ62に記憶されている値が0とすると、アドレス
整数部Ai はアドレス0〜1023までに記憶した波形
データ1024点をアドレス0,2,4,6,・・・の
順に波形メモリ53から読み出すことになり、その結果
62.5 Hzの音高を持つ音が得られる。音高情報Sが
1の時と2の時とでは1オクターブの関係にあり、その
1オクターブ内の他の音高を形成するために、音高情報
Sは小数値を取ることになる。音高情報Sの整数部を2
ビット、小数部を10ビットとし、音高情報Sが1〜2
の値を取るとすると、31.25Hz〜62.5Hzのオ
クターブ内の音高を持つ音を形成することが可能とな
る。
Similarly, when the pitch information S is 2, if the value currently stored in the register 62 is 0, the address integer part Ai addresses the waveform data 1024 points stored in the addresses 0 to 1023. .. are read out from the waveform memory 53 in the order of 0, 2, 4, 6, ..., As a result, a tone having a pitch of 62.5 Hz is obtained. There is a one-octave relationship between when the pitch information S is 1 and when the pitch information S is 2, and the pitch information S takes a decimal value to form another pitch within the one octave. The integer part of the pitch information S is 2
Bit and fractional part are 10 bits, and pitch information S is 1 to 2
If a value of is taken, it becomes possible to form a sound having a pitch within the octave of 31.25 Hz to 62.5 Hz.

【0012】音高情報Sが1.5 の時、第1点目の波形
データとして波形メモリ53から出力される波形データ
が、アドレス1、あるいはアドレス1.5 を四捨五入し
て得られるアドレス2に記憶された波形データが出力さ
れるとすると、その出力波形は歪が大きくなる。従っ
て、アドレス1.5 相当の波形データを算出することに
より歪を低減することができる。このような演算につい
て直線補間する操作を以下に記述する。なお、波形メモ
リ54は1周期波形のサンプル数が1024であり、波
形メモリ53と同一のものである。
When the pitch information S is 1.5, the waveform data output from the waveform memory 53 as the waveform data of the first point is the address 1 or the address 2 obtained by rounding off the address 1.5. If the stored waveform data is output, the output waveform has large distortion. Therefore, the distortion can be reduced by calculating the waveform data corresponding to the address 1.5. The operation of performing linear interpolation for such calculation will be described below. The waveform memory 54 has 1024 samples of one cycle waveform, and is the same as the waveform memory 53.

【0013】このアドレス整数部Ai に対応して波形メ
モリ53の波形データが送り出されるが、一方、加算器
52において1だけインクリメントされたアドレス整数
部(Ai +1)に対応して波形メモリ54の波形データ
が送り出される。波形メモリ53,54から出力される
波形データ間の差Δが減算器55で求められ、減算器5
5出力Δと、アドレス小数部Af とが乗算器56で乗算
される。その乗算結果を、加算器57において、波形メ
モリ53の出力である波形データPに加えることによっ
て楽音波形の補間値が求められる。なお、波形メモリ5
3,54は1つのメモリとして、波形データを1つのメ
モリから2回読み出すようにしてもよい。
The waveform data of the waveform memory 53 is sent out in correspondence with the address integer part Ai, while the waveform of the waveform memory 54 corresponds to the address integer part (Ai + 1) incremented by 1 in the adder 52. Data is sent out. The difference Δ between the waveform data output from the waveform memories 53 and 54 is obtained by the subtractor 55, and the subtracter 5
The five outputs Δ and the address fractional part Af are multiplied by the multiplier 56. In the adder 57, the multiplication result is added to the waveform data P which is the output of the waveform memory 53 to obtain the tone waveform interpolation value. The waveform memory 5
3, 54 may be one memory, and the waveform data may be read twice from one memory.

【0014】[0014]

【発明が解決しようとする課題】しかしながら前記の従
来の構成では、出力したい楽器の音高に対応する補間さ
れた1つの楽音波形値を演算するために、波形データを
2個読み出さなければならず、そのために同一の波形メ
モリが2つ必要であるか、波形メモリが1つであっても
波形データの読み出しが2回必要であるという問題点を
有していた。
However, in the above conventional configuration, two waveform data must be read in order to calculate one interpolated musical tone waveform value corresponding to the pitch of the musical instrument to be output. Therefore, there is a problem in that two identical waveform memories are required, or even if there is only one waveform memory, it is necessary to read the waveform data twice.

【0015】本発明は前記従来の問題点を解決するもの
で、波形データを1個読み出すだけで、出力したい楽器
の音高に対応する補間された楽音波形値を演算すること
のできる楽音合成装置を提供することを目的とする。
The present invention solves the above-mentioned conventional problems, and a tone synthesizer capable of calculating an interpolated tone waveform value corresponding to the pitch of a musical instrument desired to be output by reading one piece of waveform data. The purpose is to provide.

【0016】[0016]

【課題を解決するための手段】この目的を達成するため
に本第1の発明の楽音合成装置は、出力したい楽器の音
高に対応して変化するアドレス整数部とアドレス小数部
とから形成されるアドレスを出力するアドレス発生器
と、互いに関連してビット数が変化する差分データ指数
部と差分データ仮数部とからなる予め定めたビット数n
ビットの差分データとmビットの波形データとを組み合
わせて予め定めたビット数(m+n)ビットを1ワード
のデータとして記憶し、アドレス発生器から出力される
アドレス整数部に対応したデータを出力する波形メモリ
と、波形メモリから読み出されるデータの差分データ指
数部からモード値を判定するモード判定器と、波形メモ
リから読み出されるデータに対してモード判定器出力に
したがったビット数を持つ差分データ仮数部を抽出する
ビット抽出器と、モード判定器出力にしたがってビット
抽出器から出力される差分データ仮数部のビットシフト
を行うシフタと、モード判定器出力に対応して差分デー
タ仮数部と同一の正負の符号を持つオフセットを生成す
るオフセット生成器と、シフタ出力とオフセット生成器
出力とを加算し差分値を出力する第1の加算器と、第1
の加算器出力とアドレス発生器から出力されるアドレス
小数部とを乗算する乗算器と、乗算器出力と波形メモリ
から読み出されるデータの波形データとを加算する第2
の加算器とで構成している。
In order to achieve this object, the musical tone synthesizer of the first invention is formed of an address integer part and an address decimal part which change corresponding to the pitch of the musical instrument to be output. A predetermined number n of bits including an address generator that outputs an address, and a differential data exponent part and a differential data mantissa part that change the number of bits in relation to each other.
A waveform that stores a predetermined number of bits (m + n) bits as one word data by combining bit difference data and m-bit waveform data, and outputs data corresponding to the address integer part output from the address generator. A memory, a mode determiner for determining a mode value from the differential data exponent of the data read from the waveform memory, and a differential data mantissa having a bit number according to the output of the mode determiner for the data read from the waveform memory. A bit extractor for extracting, a shifter for bit-shifting the differential data mantissa output from the bit extractor according to the output of the mode determiner, and a positive / negative code identical to the differential data mantissa corresponding to the mode determiner output. The offset generator that generates an offset having the difference between the shifter output and the offset generator output is added. A first adder for outputting a value, the first
A multiplier for multiplying the output of the adder and the address fractional part output from the address generator, and a second for adding the multiplier output and the waveform data of the data read from the waveform memory
And the adder of.

【0017】また、本第2の発明の楽音合成装置は、出
力したい楽器の音高に対応して変化するアドレス整数部
とアドレス小数部とから形成されるアドレスを出力する
アドレス発生器と、互いに関連してビット数が変化する
差分データ指数部と差分データ仮数部とからなる変化す
るビット数nビットの差分データとmビットの波形デー
タとを組み合わせて予め定めたビット数(m+n)ビッ
トを1ワードのデータとして記憶し、アドレス発生器か
ら出力されるアドレス整数部に対応したデータを出力す
る波形メモリと、波形メモリから読み出されるデータの
差分データ指数部からモード値を判定するモード判定器
と、波形メモリから読み出されるデータに対してモード
判定器出力にしたがったビット数を持つ波形データを抽
出する第1のビット抽出器と、モード判定器出力にした
がって第1のビット抽出器から出力される波形データの
ビットシフトを行い波形値を出力する第1のシフタと、
波形メモリから読み出されるデータに対してモード判定
器出力にしたがったビット数を持つ差分データ仮数部を
抽出する第2のビット抽出器と、モード判定器出力にし
たがって第2のビット抽出器から出力される差分データ
仮数部のビットシフトを行う第2のシフタと、モード判
定器出力に対応して差分データ仮数部と同一の正負の符
号を持つオフセットを生成するオフセット生成器と、差
分データ仮数部のビットシフトを行う第2のシフタ出力
とオフセット生成器出力とを加算し差分値を出力する第
1の加算器と、第1の加算器出力とアドレス発生器から
出力されるアドレス小数部とを乗算する乗算器と、乗算
器出力と第1のシフタから出力される波形値とを加算す
る第2の加算器とで構成している。
The tone synthesizer of the second aspect of the present invention further comprises an address generator for outputting an address formed of an address integer part and an address decimal part which change corresponding to the pitch of the musical instrument desired to be output. The bit number that changes in association with the difference data exponent part and the differential data mantissa part in which the bit number changes and the n-bit difference data and the m-bit waveform data are combined to set a predetermined bit number (m + n) bits to 1 A waveform memory that stores as word data and outputs data corresponding to the address integer part output from the address generator; a mode determiner that determines a mode value from the differential data exponent part of the data read from the waveform memory; The first bit for extracting the waveform data having the number of bits according to the output from the mode determiner with respect to the data read from the waveform memory. And extractor, a first shifter for outputting a waveform value after bit shift of the waveform data outputted from the first bit extractor according to the mode decision output,
A second bit extractor for extracting a differential data mantissa having a bit number according to the mode determiner output for the data read from the waveform memory, and an output from the second bit extractor according to the mode determiner output. Of the differential data mantissa, a second shifter for bit-shifting the differential data mantissa, an offset generator for generating an offset having the same positive / negative sign as the difference data mantissa corresponding to the output of the mode determiner, and the differential data mantissa A first adder that adds a second shifter output that performs bit shift and an offset generator output and outputs a difference value, and the first adder output and the address fractional part output from the address generator are multiplied. And a second adder that adds the multiplier output and the waveform value output from the first shifter.

【0018】[0018]

【作用】第1の発明は上記した構成により、アドレス発
生器によって出力したい楽器の音高に対応して変化する
アドレス整数部とアドレス小数部とから形成されるアド
レスが出力され、それぞれ予め定められたビット数を持
つmビットの波形データと対応するnビットの差分デー
タとが1つずつ組み合わされた1ワード(m+n)ビッ
トのデータがアドレス発生器から出力されるアドレス整
数部に対応して波形メモリから読み出される。ここで、
差分データは互いに関連してビット数の変化する差分デ
ータ指数部と差分データ仮数部とから構成されている。
モード判定器において波形メモリから読み出されるデー
タの差分データ指数部からモード値が判定されて出力さ
れ、ビット抽出器においてモード判定器から出力される
モード値にしたがったビット数を持つ差分データ仮数部
が波形メモリから読み出されるデータから抽出され、シ
フタにおいてモード判定器から出力されるモード値にし
たがってビット抽出器から出力される差分データ仮数部
のビットシフトが行われ、オフセット生成器においてモ
ード判定器から出力されるモード値に対応して差分デー
タ仮数部と同一の正負の符号を持つオフセットが生成さ
れ、加算器においてオフセット生成器出力とシフタ出力
とが加算されて差分値が出力され、差分値は乗算器にお
いてアドレス発生器から出力されるアドレス小数部と乗
算される。加算器において乗算器出力が波形メモリから
読み出されるデータの波形データと加算されるので補間
された楽音波形値が得られることとなる。
According to the first aspect of the present invention, with the above-mentioned structure, the address formed by the address integer part and the address decimal part, which change corresponding to the pitch of the musical instrument desired to be output by the address generator, is output, and each address is predetermined. The 1-word (m + n) -bit data in which the m-bit waveform data having the number of bits and the corresponding n-bit difference data are combined one by one is waveform corresponding to the address integer part output from the address generator. Read from memory. here,
The difference data is composed of a difference data exponent part and a difference data mantissa part in which the number of bits changes in association with each other.
The mode value is determined and output from the differential data exponent part of the data read from the waveform memory in the mode determiner, and the differential data mantissa part having the number of bits according to the mode value output from the mode determiner in the bit extractor is output. Bit shift of the differential data mantissa, which is extracted from the data read from the waveform memory and output from the bit extractor according to the mode value output from the mode determiner in the shifter, is output from the mode determiner in the offset generator. Corresponding to the mode value, an offset having the same positive / negative sign as the difference data mantissa is generated, the offset generator output and the shifter output are added in the adder, the difference value is output, and the difference value is multiplied. And the address fractional part output from the address generator is multiplied. Since the multiplier output is added to the waveform data of the data read from the waveform memory in the adder, the interpolated tone waveform value will be obtained.

【0019】第2の発明は上記した構成により、アドレ
ス発生器によって出力したい楽器の音高に対応して変化
するアドレス整数部とアドレス小数部とから形成される
アドレスが出力され、アドレス整数部に基づいて互いに
関連してビット数の変化するmビットの波形データと対
応するnビットの差分データとが1つずつ組み合わされ
た1ワード(m+n)ビットのデータが波形メモリから
読み出される。ここで、差分データは互いに関連してビ
ット数の変化する差分データ指数部と差分データ仮数部
とから構成されている。モード判定器において波形メモ
リから読み出されるデータの差分データ指数部からモー
ド値が判定されて出力され、第1のビット抽出器におい
てモード判定器から出力されるモード値に対応するビッ
ト数を持つ波形データが波形メモリから読み出されるデ
ータから抽出され、第1のシフタにおいてモード判定器
から出力されるモード値にしたがってビット抽出器から
出力される波形データのビットシフトが行われ波形値が
出力される。一方、第2のビット抽出器においてモード
判定器から出力されるモード値に対応するビット数を持
つ差分データ仮数部が波形メモリから読み出されるデー
タから抽出され、第2のシフタにおいてモード判定器か
ら出力されるモード値にしたがってビット抽出器から出
力される差分データ仮数部のビットシフトが行われ、オ
フセット生成器においてモード判定器から出力されるモ
ード値に対応して差分データ仮数部と同一の正負の符号
を持つオフセットが生成され、そのオフセット生成器出
力と第2のシフタ出力とが加算器において加算されて差
分値が出力され、差分値は乗算器においてアドレス小数
部と乗算される。加算器において波形値と乗算器出力と
が加算されるので補間された楽音波形値が得られること
となる。
According to the second aspect of the present invention, with the above-mentioned configuration, an address formed by the address integer part and the address decimal part, which change corresponding to the pitch of the musical instrument desired to be output by the address generator, is output and the address integer part is output. Based on this, 1-word (m + n) -bit data in which m-bit waveform data whose bit number changes in relation to each other and corresponding n-bit difference data are combined one by one is read from the waveform memory. Here, the difference data is composed of a difference data exponent part and a difference data mantissa part whose bit numbers change in association with each other. Waveform data having a bit number corresponding to the mode value output from the mode determiner in the first bit extractor after the mode value is determined and output from the difference data exponent part of the data read from the waveform memory in the mode determiner Is extracted from the data read from the waveform memory, and the waveform data output from the bit extractor is bit-shifted according to the mode value output from the mode determiner in the first shifter, and the waveform value is output. On the other hand, the differential data mantissa having the number of bits corresponding to the mode value output from the mode determiner in the second bit extractor is extracted from the data read from the waveform memory, and output from the mode determiner in the second shifter. The differential data mantissa part output from the bit extractor is bit-shifted according to the mode value, and the same positive / negative sign as that of the difference data mantissa part corresponding to the mode value output from the mode determiner in the offset generator is performed. An offset having a sign is generated, the offset generator output and the second shifter output are added in an adder to output a difference value, and the difference value is multiplied by the address fractional part in the multiplier. Since the waveform value and the multiplier output are added in the adder, the interpolated tone waveform value is obtained.

【0020】[0020]

【実施例】以下、本発明の実施例について、図面を参照
しながら説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0021】図1は本発明第1の実施例における楽音合
成装置の構成を示すものである。図1において、11は
波形メモリ、12はモード判定器、13はビット抽出
器、14はシフタ、15はオフセット生成器、16は加
算器、17は乗算器、18は加算器である。なお、51
はアドレス発生器で、これは従来例の構成と同じもので
ある。以上のように構成された本実施例の楽音合成装置
について、以下その動作について説明する。
FIG. 1 shows the configuration of a musical sound synthesizer according to the first embodiment of the present invention. In FIG. 1, 11 is a waveform memory, 12 is a mode determiner, 13 is a bit extractor, 14 is a shifter, 15 is an offset generator, 16 is an adder, 17 is a multiplier, and 18 is an adder. Note that 51
Is an address generator, which has the same configuration as the conventional example. The operation of the musical tone synthesizing apparatus of this embodiment having the above-described configuration will be described below.

【0022】アドレス発生器51の動作は従来例と同様
であり、アドレス発生器51に出力したい楽器の音高情
報が入ると、アドレス整数部Ai とアドレス小数部Af
とが分割して出力され、アドレス整数部Ai は波形メモ
リ11に、アドレス小数部Af は乗算器17に送られ
る。
The operation of the address generator 51 is the same as that of the conventional example. When the pitch information of the musical instrument to be output is input to the address generator 51, the address integer part Ai and the address decimal part Af are entered.
And are divided and output, the address integer part Ai is sent to the waveform memory 11, and the address fraction part Af is sent to the multiplier 17.

【0023】波形メモリ11は、アドレス整数部Ai を
入力することにより、対応する波形メモリ内の波形デー
タmビットと差分データnビットとが組み合わされたデ
ータ(m+n)ビットを出力する。
By inputting the address integer part Ai, the waveform memory 11 outputs data (m + n) bits obtained by combining the waveform data m bits and the difference data n bits in the corresponding waveform memory.

【0024】一般に波形データのビット数としては、デ
ィジタルオーディオテープレコーダー(DAT)やコン
パクトディスクプレーヤー(CD)といったディジタル
オーディオ製品では16ビットがよく用いられている。
この16ビットというビット数は、必ずしも人間の聞こ
えと一致するわけではなく、波形メモリとして使用する
半導体メモリの1データ、すなわち1ワードを構成する
単位が2のべき乗であることに起因している。この1ワ
ードに用いるビット数は、所望のS/Nに応じて変えら
れるべきであり、必ずしも2のべき乗である必要はな
く、より減らすことも可能であり、例えば1ワードを波
形データと、隣合う波形データとの差分データとを組み
合わせた構成とすることもできる。
Generally, 16 bits are often used as the number of bits of waveform data in digital audio products such as a digital audio tape recorder (DAT) and a compact disc player (CD).
The number of bits of 16 bits does not always correspond to human hearing, and is because one unit of the semiconductor memory used as the waveform memory, that is, one word constitutes a power of two. The number of bits used for one word should be changed according to the desired S / N, and does not necessarily have to be a power of 2, and can be further reduced. It is also possible to adopt a configuration in which matching waveform data and difference data are combined.

【0025】ここで、1ワードのビット数をNw 、波形
データとして人間の聞こえ上必要なビット数をNp (<
Nw )、隣合う波形データとの差分データに用いるビッ
ト数をNd として、波形データと差分データとを共に固
定小数点表示で用い、波形メモリに記憶されている差分
データをそのまま実際の差分値として表わしたとすれ
ば、特に高調波成分の多く波形変化の大きな楽音(バイ
オリン,トランペットなど)ではNd >Nw −Np とな
ることが多くなる。そこで、差分値の大きなものはその
分解能を大きく、差分値の小さいものはその差分値を小
さくとるような浮動小数点表示を用いて、差分データ指
数部と差分データ仮数部とを設け、いくつかのモードで
分解能を制御することにより差分値のレンジを広くとる
ことができ、波形変化の大きい楽音に対応することがで
きる。
Here, the number of bits of one word is Nw, and the number of bits required for human hearing as waveform data is Np (<
Nw), the number of bits used for difference data between adjacent waveform data is Nd, both the waveform data and the difference data are used in fixed-point notation, and the difference data stored in the waveform memory is directly expressed as the actual difference value. Therefore, Nd> Nw-Np often occurs especially in a musical tone (violin, trumpet, etc.) having many harmonic components and large waveform changes. Therefore, using a floating point display in which a large difference value has a large resolution and a small difference value has a small difference value, a difference data exponent part and a difference data mantissa part are provided, and By controlling the resolution in the mode, the range of the difference value can be widened, and it is possible to deal with a musical sound with a large waveform change.

【0026】一方、変化の小さい滑らかな波形をもつ楽
音(フルート,クラリネットなど)では分解能が大きく
なるような差分値の大きいモードをあまり必要としない
ので、分解能の小さいモードにおいて差分データ仮数部
のビット数を増やせば分解能の小さい差分値のレンジを
より広げることができ、小さく滑らかな波形変化を精度
よく取ることができる。すなわち、差分データを差分デ
ータ指数部と差分データ仮数部との組合せとし、差分値
の小さいときは差分データ仮数部になり差分値の大きい
ときは差分データ指数部となるようなビットを設けるこ
とで、差分データ指数部と差分データ仮数部とをモード
によって互いに関連してビット数を変えることにより、
楽音波形の小さな動きを精度よくとりながら、差分値の
レンジを広げることができる。
On the other hand, since a tone having a smooth waveform with a small change (flute, clarinet, etc.) does not require a mode with a large difference value such that the resolution is large, the bit of the mantissa of the difference data is small in the mode with a small resolution. If the number is increased, the range of difference values with small resolution can be further widened, and small and smooth waveform changes can be accurately taken. That is, the difference data is a combination of the difference data exponent part and the difference data mantissa part, and by providing a bit that becomes the difference data mantissa part when the difference value is small and the difference data exponent part when the difference value is large. , The difference data exponent part and the difference data mantissa part are associated with each other depending on the mode, and the number of bits is changed,
It is possible to widen the range of difference values while accurately taking small movements of a musical tone waveform.

【0027】それで、波形メモリ11に記憶されるデー
タは、例えば図2に示したように、1ワード(m+n)
=16ビットとした場合の構成を波形データm=10ビ
ット(D6〜D15) 、差分データn=6ビット(D0〜
D5)とする。差分データ指数部として取り得る領域
(D4〜D5)を、モードが変わっても常に差分データ指
数部になる差分データ指数部固有ビット1ビット(D
5) と、モードによって差分データ指数部になったり差
分データ仮数部になったりする差分データ指数部仮数部
共用ビット1ビット(D4) とからなるものとする。そ
して、差分値のレンジの小さい方から3つのモードを設
け、D5 が0のときモード値を0、D5 が1かつD4 が
0のときモード値を1、D5 が1かつD4 が1のときモ
ード値を2とすると、差分データn=6ビット(D0〜
D5)の構成は、モード値が0のとき、差分データ仮数
部5ビット(D0〜D4)、差分データ指数部1ビット
(D5) となり、モード値が1または2の時、差分デー
タ仮数部4ビット(D0〜D3)、差分データ指数部2ビ
ット(D4〜D5)となる。
Therefore, the data stored in the waveform memory 11 is 1 word (m + n) as shown in FIG.
= 16 bits, the configuration is waveform data m = 10 bits (D6 to D15), difference data n = 6 bits (D0 to
D5). The area (D4 to D5) that can be taken as the differential data exponent part is always the differential data exponent part even if the mode is changed.
5) and a differential data exponent part mantissa shared bit 1 bit (D4) which becomes a differential data exponent part or a differential data mantissa part depending on the mode. Then, three modes are provided from the smallest difference value range. When D5 is 0, the mode value is 0, when D5 is 1 and D4 is 0, the mode value is 1, and when D5 is 1 and D4 is 1, the mode is set. If the value is 2, the difference data n = 6 bits (D0-
D5) has a difference data mantissa part 5 bits (D0 to D4) and a difference data exponent part 1 bit (D5) when the mode value is 0, and a difference data mantissa part 4 when the mode value is 1 or 2. Bits (D0 to D3) and differential data exponent 2 bits (D4 to D5).

【0028】モード判定器12は、波形メモリ11から
送られてくるデータの差分データ指数部(D5 またはD
5〜D4)から、図2に示すような差分データ指数部に対
応するモード値を判定し出力する。ここで、D5 が0の
ときモード値は0と判定され、D5 が1のときでD4 が
0のときモード値は1、D5 が1のときでD4 が1のと
きモード値は2、とそれぞれ判定されるものとし、モー
ド判定器12に入力されるデータのビット数は差分デー
タ指数部として取り得る最大領域2ビット(D4〜D5)
とする。
The mode discriminator 12 calculates the difference data exponent (D5 or D5) of the data sent from the waveform memory 11.
5 to D4), the mode value corresponding to the difference data exponent part as shown in FIG. 2 is determined and output. Here, the mode value is determined to be 0 when D5 is 0, the mode value is 1 when D5 is 1 and D4 is 0, and the mode value is 2 when D5 is 1 and D4 is 1. It is assumed that the number of bits of data input to the mode determiner 12 is the maximum area of 2 bits (D4 to D5) that can be taken as the differential data exponent part.
And

【0029】ビット抽出器13は、波形メモリ11から
読み出されるデータ(D0〜D15)に対しモード値を入
力することにより対応する差分データ仮数部(モード値
が0のときD0〜D4、モード値が1または2のときD0
〜D3)のビット抽出を行う。ここで、ビット抽出器1
3に入力される波形メモリ11から読み出されるデータ
のビット数は、差分データのビット数nすなわち6ビッ
ト(D0〜D5)とする。
The bit extractor 13 inputs a mode value to the data (D0 to D15) read from the waveform memory 11 and outputs the corresponding differential data mantissa (D0 to D4 when the mode value is 0, the mode value is 0). D0 when 1 or 2
~ D3) bit extraction is performed. Here, the bit extractor 1
The number of bits of the data read from the waveform memory 11 input to 3 is n of the difference data, that is, 6 bits (D0 to D5).

【0030】シフタ14は、各々のモード値に対応する
シフト量(差分データ仮数部の分解能相当)に従ってビ
ット抽出器13で得られた差分データ仮数部のビットシ
フトを行い出力する。
The shifter 14 bit-shifts the differential data mantissa obtained by the bit extractor 13 according to the shift amount (corresponding to the resolution of the differential data mantissa) corresponding to each mode value, and outputs it.

【0031】オフセット生成器15は、各々のモード値
に対応するオフセットの絶対値を、差分データ仮数部の
正負の符号(モード値が0のときD4 、モード値が1ま
たは2のときD3)に対応させた値に変換して出力す
る。
The offset generator 15 sets the absolute value of the offset corresponding to each mode value to the positive / negative sign of the differential data mantissa (D4 when the mode value is 0, D3 when the mode value is 1 or 2). Convert it to the corresponding value and output it.

【0032】加算器16は、シフタ14出力とオフセッ
ト生成器15出力とを加算し、差分値Δを出力する。
The adder 16 adds the output of the shifter 14 and the output of the offset generator 15 and outputs a difference value Δ.

【0033】ここで、モード値が0のとき、差分データ
仮数部の分解能を1とするためシフタ14におけるシフ
ト量を0ビット、オフセット生成器15から出力される
オフセットを0とする。また、モード値が1のとき、差
分データ仮数部の分解能を2とするためシフタ14にお
けるシフト量を1ビット、オフセット生成器15から出
力されるオフセットを差分データ仮数部の正負の符号に
対応して16あるいは−16とする。また、モード値が
2のとき、差分データ仮数部の分解能を4とするためシ
フタ14におけるシフト量を2ビット、オフセット生成
器15から出力されるオフセットを差分データ仮数部の
正負の符号に対応して32あるいは−32とする。この
とき、波形データと差分データ仮数部とを2の補数とし
てビット抽出器13,シフタ14,オフセット生成器1
5,加算器16における動作が2の補数対応でなされた
場合、各々のモードでの差分値のレンジは、モード値が
0のとき−16〜15(分解能1)、モード値が1のと
き−32〜−18及び16〜30(分解能2)、モード
値が2のとき−64〜−36及び32〜60(分解能
4)であり、全体として−64〜60(7ビット)のレ
ンジを取ることができるので、差分データ6ビットを固
定小数点表現(分解能1)としたときの差分値のレンジ
−32〜31(6ビット)に比べ広くなるとともに、モ
ード値が0における差分データ仮数部のビット数が4ビ
ットではなく5ビットであるために、−16〜15(5
ビット)まで分解能1で差分値をとることができる。
Here, when the mode value is 0, the shift amount in the shifter 14 is 0 bit and the offset output from the offset generator 15 is 0 so that the resolution of the differential data mantissa is 1. Further, when the mode value is 1, the shift amount in the shifter 14 is 1 bit and the offset output from the offset generator 15 corresponds to the positive and negative signs of the differential data mantissa so that the resolution of the differential data mantissa is 2. 16 or -16. When the mode value is 2, the shift amount in the shifter 14 is 2 bits and the offset output from the offset generator 15 corresponds to the positive and negative signs of the differential data mantissa so that the resolution of the differential data mantissa is 4. 32 or -32. At this time, the waveform data and the differential data mantissa are used as the two's complement, and the bit extractor 13, the shifter 14, the offset generator 1
5, when the operation in the adder 16 is performed in correspondence with 2's complement, the range of the difference value in each mode is −16 to 15 (resolution 1) when the mode value is 0, and − when the mode value is 1. 32 to -18 and 16 to 30 (resolution 2), when the mode value is 2, it is -64 to -36 and 32 to 60 (resolution 4), and the range of -64 to 60 (7 bits) should be taken as a whole. Since the difference data is wider than the difference value range of 32 to 31 (6 bits) when the difference data of 6 bits is fixed point representation (resolution 1), the number of bits of the difference data mantissa part when the mode value is 0 Is 5 bits instead of 4 bits, so -16 to 15 (5
The difference value can be taken with a resolution of 1 up to (bit).

【0034】乗算器17は、加算器16から出力される
整数値で表現される差分値Δ(7ビット)とアドレス小
数部Af (10ビット)とを乗算するが、アドレス小数
部Af は1より小さな小数であるので、加算器18にお
いて、波形メモリ11から読み出されるデータの波形デ
ータ(m=10ビット)をそのまま波形値Pとして、そ
の波形値P(10ビット)と乗算器17の乗算結果の上
位7ビットとを加算すれば、補間された楽音波形値(1
0ビット)が得られることとなる。
The multiplier 17 multiplies the difference value Δ (7 bits) expressed by the integer value output from the adder 16 by the address fractional part Af (10 bits). Since it is a small decimal number, in the adder 18, the waveform data (m = 10 bits) of the data read from the waveform memory 11 is directly used as the waveform value P, and the waveform value P (10 bits) is multiplied by the multiplication result of the multiplier 17. If the upper 7 bits are added, the interpolated tone waveform value (1
(0 bit) will be obtained.

【0035】なお、波形データ(mビット)と差分デー
タ(nビット)との1ワード(16ビット)におけるビ
ット数の組合せを、ここでは予めm=10ビット,n=
6ビットとして定めたが、例えばm=11ビット,n=
5ビットの組合せやm=9ビット,n=7ビットの組合
せとしてもよい。
A combination of the number of bits in one word (16 bits) of the waveform data (m bits) and the difference data (n bits) is previously set to m = 10 bits, n =
Although it is defined as 6 bits, for example, m = 11 bits, n =
A combination of 5 bits or a combination of m = 9 bits and n = 7 bits may be used.

【0036】なお、ここでは差分データ指数部固有ビッ
トを1ビット、差分データ指数部仮数部共有ビットを1
ビットとし差分値のモードを3種類にしたが、そのいず
れかあるいは両方のビットを増やしてモードをより多く
設定し、差分値のレンジをより広くとることも可能であ
る。
Here, the differential data exponent part peculiar bit is 1 bit and the differential data exponent part mantissa shared bit is 1
Although there are three types of difference value modes as bits, it is possible to increase the range of the difference value by increasing one or both of the bits and setting more modes.

【0037】なお、ここでは差分データ指数部(D5 ま
たはD4〜D5)に対応してモード判定器で出力されるモ
ード値が0のとき、差分データ仮数部のシフト量を0、
オフセットを0、また、モード値が1のとき、差分デー
タ仮数部のシフト量を1、オフセットを差分データ仮数
部の正負の符号に対応して16あるいは−16、また、
モード値が2のとき、シフト量を2、オフセットを32
あるいは−32としたが、例えばそれぞれのモード値に
おけるシフト量及びオフセット量を1ビット大きく(2
倍)してもよく、その場合、差分値は−128〜120
(8ビット)のレンジを取ることができるようになる。
Here, when the mode value output from the mode determiner corresponding to the differential data exponent (D5 or D4 to D5) is 0, the shift amount of the differential data mantissa is 0,
When the offset is 0 and the mode value is 1, the shift amount of the differential data mantissa is 1, and the offset is 16 or -16 corresponding to the positive / negative sign of the differential data mantissa, or
When the mode value is 2, the shift amount is 2 and the offset is 32
Alternatively, the value is −32, but for example, the shift amount and offset amount in each mode value are increased by 1 bit (2
However, in this case, the difference value is −128 to 120.
It becomes possible to take the range of (8 bits).

【0038】以上のように本実施例によれば、波形メモ
リの1ワードを波形データ10ビットと、隣合う波形デ
ータとの差分データ6ビットとを組み合わせた構成とし
たので、波形メモリの1ワード構成16ビットを効率的
に使用することができる。また、差分データ6ビットを
互いに関連してビット数の1ビット変化する差分データ
指数部と差分データ仮数部とを組み合わせた構成とし
て、計3種類のモード(差分データ仮数部の分解能1ま
たは2または4)をとることによって、波形データ10
ビットのレンジに対して、分解能が1の差分値のレンジ
を5ビットまで保ちながら全体の差分値のレンジを7ビ
ットまで広げることが可能となり、波形変化の小さな楽
音波形においては差分値を精度よく取れて、比較的波形
変化の大きな楽音波形に適用できるまで差分値のレンジ
を広げることができる。
As described above, according to this embodiment, one word of the waveform memory is composed of 10 bits of waveform data and 6 bits of difference data between adjacent waveform data. The configuration 16 bits can be used efficiently. Further, as a configuration in which the differential data exponent part and the differential data mantissa part in which the difference data 6 bits are changed by 1 bit in relation to each other are combined, a total of three modes (resolution 1 or 2 of the differential data mantissa part or By taking 4), the waveform data 10
With respect to the bit range, it is possible to widen the range of the total difference value to 7 bits while keeping the range of the difference value with resolution of 1 to 5 bits. Therefore, the difference value can be accurately measured in the musical tone waveform with a small waveform change. Therefore, the range of the difference value can be widened until it can be applied to a musical tone waveform having a relatively large waveform change.

【0039】図3は本発明の第2の実施例における楽音
合成装置の構成を示すものである。図3において、30
1は波形メモリ、302はモード判定器、303は第1
のビット抽出器、304は第1のシフタ、305は第2
のビット抽出器、306は第2のシフタ、307はオフ
セット生成器、308は加算器、309は乗算器、31
0は加算器である。なお、51はアドレス発生器で、従
来例の構成と同じものである。以上のように構成された
本実施例の楽音合成装置について、以下その動作につい
て説明する。
FIG. 3 shows the configuration of a musical sound synthesizer in the second embodiment of the present invention. In FIG. 3, 30
1 is a waveform memory, 302 is a mode determiner, and 303 is a first
Bit extractor, 304 is the first shifter, and 305 is the second
Bit extractor, 306 is a second shifter, 307 is an offset generator, 308 is an adder, 309 is a multiplier, 31
0 is an adder. Incidentally, 51 is an address generator, which has the same configuration as the conventional example. The operation of the musical tone synthesizing apparatus of this embodiment having the above-described configuration will be described below.

【0040】アドレス発生器51の動作は従来例と同様
であり、アドレス発生器51に出力したい楽器の音高情
報が入ると、アドレス整数部Ai とアドレス小数部Af
とが分割して出力され、アドレス整数部Ai は波形メモ
リ301に、アドレス小数部Af は乗算器309に送ら
れる。
The operation of the address generator 51 is the same as that of the conventional example. When the pitch information of the musical instrument to be output is input to the address generator 51, the address integer part Ai and the address decimal part Af are entered.
And are divided and output, the address integer part Ai is sent to the waveform memory 301, and the address fraction part Af is sent to the multiplier 309.

【0041】波形メモリ301は、アドレス整数部Ai
を入力することにより、対応する波形メモリ内の波形デ
ータmビットと差分データnビットとが組み合わされた
データ(m+n)ビットを出力する。
The waveform memory 301 has an address integer part Ai.
Is input, the data (m + n) bits in which the waveform data m bits and the difference data n bits in the corresponding waveform memory are combined are output.

【0042】一般に波形データのビット数としては、デ
ィジタルオーディオテープレコーダー(DAT)やコン
パクトディスクプレーヤー(CD)といったディジタル
オーディオ製品では16ビットがよく用いられている。
この16ビットというビット数は、必ずしも人間の聞こ
えと一致するわけではなく、波形メモリとして使用する
半導体メモリの1データ即ち1ワードを構成する単位が
2のべき乗であることに起因している。この1ワードに
用いる波形データのビット数は、所望のS/Nに応じて
変えられるべきであり、必ずしも2のべき乗である必要
はなく、より減らすことも可能であり、例えば1ワード
を波形データと、隣合う波形データとの差分データとを
組み合わせた構成とすることもできる。ここで、1ワー
ドのビット数をNw 、波形データとして人間の聞こえ上
必要なビット数をNp (<Nw )、隣合う波形データと
の差分データに用いるビット数をNd として、波形デー
タと差分データとを共に固定小数点表示で用い、波形メ
モリに記憶されている差分データをそのまま実際の差分
値として表わしたとすれば、特に高調波成分の多く波形
変化の大きな楽音(バイオリン、トランペットなど)で
はNd >Nw −Npとなることが多くなる。そこで、差
分値の大きなものはその分解能を大きく、差分値の小さ
いものはその差分値を小さくとるような浮動小数点表示
を用いて、差分データ仮数部と差分データ指数部とを設
け、いくつかのモードで分解能を制御することにより差
分値のレンジを広くとることができる。
Generally, as the number of bits of waveform data, 16 bits are often used in digital audio products such as a digital audio tape recorder (DAT) and a compact disc player (CD).
The number of bits of 16 bits does not always match the human hearing, and is because the unit of one data of the semiconductor memory used as the waveform memory, that is, one word is a power of two. The number of bits of the waveform data used for one word should be changed according to the desired S / N, and does not necessarily have to be a power of 2, and can be further reduced. And the difference data between adjacent waveform data may be combined. Here, the number of bits of one word is Nw, the number of bits required for human hearing as waveform data is Np (<Nw), and the number of bits used for difference data between adjacent waveform data is Nd. If both and are used in fixed-point notation and the difference data stored in the waveform memory is directly represented as the actual difference value, Nd> especially for musical sounds with a large number of harmonic components and large waveform changes (violin, trumpet, etc.). It often becomes Nw-Np. Therefore, a floating point display is used in which a large difference value has a large resolution and a small difference value has a small difference value. The range of the difference value can be widened by controlling the resolution in the mode.

【0043】ところで、楽器波形は、(1)発音開始時
の波形変化の特に大きな部分(過渡部)と、(2)過渡
部の後に持続する波形変化の比較的小さな部分(定常
部)との2つの部分に大別できる。定常部における波形
変化の大小に対応する差分値のレンジを浮動小数点表示
で取ることのできるようにビット数を定めても、波形変
化が特に大きい過渡部における差分値のレンジまでは対
応できなくなる。そこで、差分値のレンジによって波形
データになったり、差分データ指数部になったりするビ
ットを設け、差分値が特に大きいときはそのビットを差
分データ指数部として差分データ指数部全体としてのビ
ット数を増加させるモードを設定することにより、すな
わち波形データと差分データとをモードによって互いに
関連してビット数を変化させることにより、波形変化が
特に大きな過渡部などにおける大きな差分値にまで適用
できるようになる。
By the way, the musical instrument waveform is composed of (1) a portion having a particularly large waveform change at the start of sound generation (transient portion) and (2) a portion having a relatively small waveform change (steady portion) that persists after the transition portion. It can be divided into two parts. Even if the number of bits is set so that the range of the difference value corresponding to the magnitude of the waveform change in the steady part can be obtained by the floating point display, the range of the difference value in the transient part where the waveform change is particularly large cannot be supported. Therefore, a bit that becomes waveform data or a difference data exponent part depending on the range of the difference value is provided, and when the difference value is particularly large, the bit is set as the difference data exponent part and the number of bits of the entire difference data exponent part is set. By setting the increasing mode, that is, by changing the number of bits in relation to the waveform data and the difference data depending on the mode, it becomes possible to apply even a large difference value in a transient portion where the waveform change is particularly large. ..

【0044】一方、変化の小さい滑らかな波形をもつ楽
音(フルート,クラリネットなど)では分解能が大きく
なるような差分値の大きいモードをあまり必要とせず、
むしろ小さく滑らかな波形変化を精度よく取るために、
分解能の小さいモードにおいて差分データ仮数部のビッ
ト数を増やせば分解能の小さい差分値のレンジをより広
げることができる。そのためには、差分データ指数部と
差分データ仮数部とをモードによって互いに関連してビ
ット数を変えて、差分値の小さいときに差分データ仮数
部のビット数を増加させることにより、波形の小さな動
きを精度よく取ることができる。
On the other hand, a musical tone having a smooth waveform with a small change (flute, clarinet, etc.) does not require a mode having a large difference value such that the resolution becomes large,
Rather, in order to accurately take small and smooth waveform changes,
By increasing the number of bits of the mantissa of the difference data in the mode of low resolution, it is possible to further widen the range of the difference value of low resolution. To this end, the difference data exponent part and the difference data mantissa part are associated with each other depending on the mode and the number of bits is changed, and when the difference value is small, the number of bits of the difference data mantissa part is increased, so that a small waveform movement occurs. Can be taken accurately.

【0045】それで、波形メモリ301に記憶されるデ
ータの1ワード16ビットとした場合の構成例を図4に
示す。差分データ指数部として取り得る領域(D4〜D
5)を、モードが変わっても常に差分データ指数部にな
る差分データ指数部固有ビット1ビット(D5) と、モ
ードによって差分データ指数部になったり差分データ仮
数部になったりする差分データ指数部仮数部共用ビット
1ビット(D4) と、モードによって波形データになっ
たり差分データ指数部になったりする波形データ差分デ
ータ指数部共用ビット1ビット(D6) からなるものと
する。そして、差分値のレンジの小さい方から4つのモ
ードを設け、D5 が0のときモード値を0、D5 が1か
つD4 が0のときモード値を1、D5 が1かつD4 が1
かつD6 が0のときモード値を2、D5 が1かつD4 が
1かつD6 が1のときモード値を3とすると、それぞれ
のモードでの1ワード(m+n)=16ビットの構成
は、モード値が0のとき、差分データ仮数部5ビット
(D0〜D4)、差分データ指数部1ビット(D5) とな
り差分データn=6ビット(D0〜D5)、そして波形デ
ータm=10ビット(D6〜D15) の組合せとなる。ま
た、モード値が1のとき、差分データ仮数部4ビット
(D0〜D3)、差分データ指数部2ビット(D4〜D5)
となり差分データn=6ビット(D0〜D5)、そして波
形データm=10ビット(D6〜D15)の組合せとな
る。また、モード値が2または3のとき、差分データ仮
数部4ビット(D0〜D3)、差分データ指数部3ビット
(D4〜D6)となり差分データn=7ビット(D0〜D
6)、そして波形データm=9ビット(D7〜D15) の
組合せとなる。
FIG. 4 shows an example of the structure in which the data stored in the waveform memory 301 is 16 bits per word. Area that can be used as the difference data exponent (D4 to D
5) is the differential data exponent part which is always the differential data exponent part even if the mode is changed. The unique bit 1 bit (D5) and the differential data exponent part which becomes the differential data exponent part or the differential data mantissa part depending on the mode. It consists of a mantissa part shared bit 1 bit (D4) and a waveform data difference data exponent part shared bit 1 bit (D6) which becomes waveform data or a difference data exponent part depending on the mode. Then, four modes are provided from the one having the smallest difference value range. When D5 is 0, the mode value is 0, when D5 is 1 and D4 is 0, the mode value is 1, and D5 is 1 and D4 is 1.
When D6 is 0, the mode value is 2, and when D5 is 1 and D4 is 1 and D6 is 1, the mode value is 3, and the configuration of 1 word (m + n) = 16 bits in each mode is Is 0, the differential data mantissa part is 5 bits (D0 to D4), the differential data exponent part is 1 bit (D5), and the differential data n = 6 bits (D0 to D5), and the waveform data m = 10 bits (D6 to D15). ). When the mode value is 1, the difference data mantissa part 4 bits (D0 to D3) and the difference data exponent part 2 bits (D4 to D5)
The difference data n = 6 bits (D0 to D5), and the waveform data m = 10 bits (D6 to D15). When the mode value is 2 or 3, the difference data mantissa part is 4 bits (D0 to D3), the difference data exponent part is 3 bits (D4 to D6), and the difference data n = 7 bits (D0 to D).
6), and the combination of the waveform data m = 9 bits (D7 to D15).

【0046】モード判定器302は、波形メモリ301
から送られてくるデータの差分データ指数部(D5 また
はD4〜D5またはD4〜D6)から、図4に示すような差
分データ指数部に対応するモード値を判定し出力する。
ここで、D5 が0のときモード値は0と判定され、D5
が1のときでD4 が0の時モード値は1、D5 が1のと
きでD4 が1のときでD6 が0のときモード値は2、D
5 が1のときでD4 が1のときでD6 が1のときモード
値は3、をそれぞれ判定するものとし、モード判定器3
02に入力されるデータのビット数は差分データ指数部
として取り得る最大領域3ビット(D4〜D6)とする。
The mode determiner 302 is the waveform memory 301.
From the differential data exponent part (D5 or D4 to D5 or D4 to D6) of the data sent from, the mode value corresponding to the differential data exponent part as shown in FIG. 4 is determined and output.
Here, when D5 is 0, the mode value is determined to be 0, and D5
When D4 is 0, the mode value is 1, when D5 is 1, when D4 is 1, and when D6 is 0, the mode value is 2, D
When 5 is 1, when D4 is 1 and when D6 is 1, the mode value is 3, and the mode determiner 3
The number of bits of data input to 02 is 3 bits (D4 to D6), which is the maximum area that can be taken as the differential data exponent.

【0047】ビット抽出器303は、波形メモリ301
から読み出されるデータ(D0〜D15) に対してモード
値を入力することにより、対応する波形データ(モード
値が0または1のときD6〜D15、 モード値が2または
3のときD7〜D15)のビット抽出を行う。ここで、ビ
ット抽出器303に入力する波形メモリ301から読み
出されるデータのビット数は、波形データとしてとり得
る領域10ビット(D6〜D15) とする。
The bit extractor 303 is a waveform memory 301.
By inputting the mode value to the data (D0 to D15) read from, the corresponding waveform data (D6 to D15 when the mode value is 0 or 1 and D7 to D15 when the mode value is 2 or 3) Extract bits. Here, the number of bits of the data read from the waveform memory 301 input to the bit extractor 303 is 10 bits (D6 to D15) that can be taken as the waveform data.

【0048】シフタ304は、各々のモード値に対応す
るシフト量に従ってビット抽出器303で得られた波形
データのビットシフトを行い、波形値Pとして出力す
る。ここで、モード値が0または1のときシフト量は
0、モード値が2または3のときシフト量は1とするの
で、波形値Pは10ビットとして出力される。
The shifter 304 bit-shifts the waveform data obtained by the bit extractor 303 according to the shift amount corresponding to each mode value, and outputs it as the waveform value P. Here, since the shift amount is 0 when the mode value is 0 or 1, and the shift amount is 1 when the mode value is 2 or 3, the waveform value P is output as 10 bits.

【0049】ビット抽出器305は、波形メモリ301
から読み出されるデータ(D0〜D15) に対してモード
値を入力することにより、対応する差分データ仮数部
(モード値が0のときD0〜D4、モード値が1または2
または3のときD0〜D3)のビット抽出を行う。ここ
で、ビット抽出器305に入力する波形メモリ301か
ら読み出されるデータのビット数は、波形データのとり
得る領域を除いた領域6ビット(D0〜D5)とした。
The bit extractor 305 has a waveform memory 301.
By inputting the mode value to the data (D0 to D15) read from the corresponding differential data mantissa (D0 to D4 when the mode value is 0, the mode value is 1 or 2).
Alternatively, when it is 3, the bits of D0 to D3) are extracted. Here, the number of bits of the data read from the waveform memory 301 input to the bit extractor 305 is set to 6 bits (D0 to D5) excluding the area that the waveform data can take.

【0050】シフタ306は、各々のモード値に対応す
るシフト量(差分データ仮数部の分解能相当)に従って
ビット抽出器305で得られた差分データ仮数部のビッ
トシフトを行い出力する。
The shifter 306 bit-shifts the differential data mantissa obtained by the bit extractor 305 according to the shift amount (corresponding to the resolution of the differential data mantissa) corresponding to each mode value, and outputs it.

【0051】オフセット生成器307は、各々のモード
値に対応するオフセットの絶対値を、差分データ仮数部
の正負の符号(モード値が0のときD4 、モード値が1
または2または3のときD3)に対応させた値に変換し
て出力する。
The offset generator 307 determines the absolute value of the offset corresponding to each mode value as the positive or negative sign of the differential data mantissa (D4 when the mode value is 0, and 1 when the mode value is 1).
Alternatively, when it is 2 or 3, it is converted into a value corresponding to D3) and output.

【0052】加算器308は、シフタ306出力とオフ
セット生成器307出力とを加算し、差分値Δを出力す
る。
The adder 308 adds the shifter 306 output and the offset generator 307 output, and outputs the difference value Δ.

【0053】ここで、モード値が0のとき、差分データ
仮数部の分解能を1とするためシフタ306におけるシ
フト量を0ビット、オフセット生成器307から出力さ
れるオフセットを0とする。また、モード値が1のと
き、差分データ仮数部の分解能を2とするためシフタ3
06におけるシフト量を1ビット、オフセット生成器3
07から出力されるオフセットを差分データ仮数部の正
負の符号に対応して16あるいは−16とする。また、
モード値が2のとき、差分データ仮数部の分解能を4と
するためシフタ306におけるシフト量を2ビット、オ
フセット生成器307から出力されるオフセットを差分
データ仮数部の正負の符号に対応して32あるいは−3
2とする。また、モード値が3のとき、差分データ仮数
部の分解能を8とするためシフタ306におけるシフト
量を3ビット、オフセット生成器307から出力される
オフセットを差分データ仮数部の正負の符号に対応して
64あるいは−64とする。このとき、波形データと差
分データ仮数部が2の補数形式で表現されビット抽出器
303,シフタ306,オフセット生成器307,加算
器308における動作が2の補数対応でなされた場合、
各々のモードでの差分値のレンジは、モード値が0のと
き−16〜15(分解能1)、モード値が1のとき−3
2〜−18及び16〜30(分解能2)、モード値が2
のとき−64〜−36及び32〜60(分解能4)、モ
ード値が3のとき−72〜−128及び64〜120
(分解能8)であり、全体として−128〜120(8
ビット)のレンジを取ることができるので、差分データ
6ビットを固定小数点表現(分解能1)としたときの差
分値のレンジ−32〜31(6ビット)に比べはるかに
広くなるとともに、モード値が0における差分データ仮
数部のビット数が4ビットではなく5ビットであるため
に、−16〜15(5ビット)まで分解能1で差分値を
とることができる。
Here, when the mode value is 0, the shift amount in the shifter 306 is 0 bit and the offset output from the offset generator 307 is 0 so that the resolution of the differential data mantissa is 1. Further, when the mode value is 1, the shifter 3 is used to set the resolution of the differential data mantissa to 2.
The shift amount in 06 is 1 bit, and the offset generator 3
The offset output from 07 is set to 16 or -16 corresponding to the positive / negative sign of the difference data mantissa. Also,
When the mode value is 2, the shift amount in the shifter 306 is 2 bits in order to set the resolution of the differential data mantissa to 4, and the offset output from the offset generator 307 corresponds to the positive / negative sign of the differential data mantissa 32. Or -3
Set to 2. Further, when the mode value is 3, the shift amount in the shifter 306 is 3 bits and the offset output from the offset generator 307 corresponds to the positive and negative signs of the differential data mantissa so that the resolution of the differential data mantissa is 8. 64 or −64. At this time, when the waveform data and the differential data mantissa are expressed in the 2's complement format and the operations of the bit extractor 303, the shifter 306, the offset generator 307, and the adder 308 are performed in the 2's complement correspondence,
The range of the difference value in each mode is -16 to 15 (resolution 1) when the mode value is 0, and -3 when the mode value is 1.
2 to -18 and 16 to 30 (resolution 2), mode value is 2
Is -64 to -36 and 32 to 60 (resolution 4), and the mode value is 3 is -72 to -128 and 64 to 120.
(Resolution is 8), and as a whole, -128 to 120 (8
Since it can take a range of (bits), it is much wider than the difference value range of 32 to 31 (6 bits) when the difference data of 6 bits is fixed point representation (resolution 1), and the mode value is Since the number of bits of the differential data mantissa at 0 is 5 bits instead of 4 bits, the difference value can be taken with a resolution of 1 from -16 to 15 (5 bits).

【0054】乗算器309は、加算器308から出力さ
れる整数値で表現される差分値Δ(8ビット)とアドレ
ス小数部Af (10ビット)とを乗算するが、アドレス
小数部Af は1より小さな小数であるので、加算器31
0において、乗算器309の乗算結果の上位8ビット
と、シフタ304から送られてくる波形値P(10ビッ
ト)とを加算すれば、補間された楽音波形値(10ビッ
ト)が得られることとなる。
The multiplier 309 multiplies the difference value Δ (8 bits) represented by the integer value output from the adder 308 by the address fraction part Af (10 bits), but the address fraction part Af is 1 or more. Adder 31 because it is a small decimal
In 0, by adding the upper 8 bits of the multiplication result of the multiplier 309 and the waveform value P (10 bits) sent from the shifter 304, an interpolated tone waveform value (10 bits) can be obtained. Become.

【0055】なお、ここでは差分データ指数部固有ビッ
トを1ビット、差分データ指数部仮数部共有ビットを1
ビット、波形データ差分データ指数部共用ビットを1ビ
ットとし差分値のモードを4種類にしたが、そのいずれ
かあるいは複数のビットを増やしてモードをより多く設
定し、差分値のレンジをより広くとることも可能であ
る。
Here, the differential data exponent part peculiar bit is 1 bit, and the differential data exponent part mantissa part shared bit is 1
Bit and waveform data Difference data The common bit for the exponent part was set to 1 bit, and the difference value mode was set to 4 types, but one or more of these bits were increased to set more modes and a wider difference value range was set. It is also possible.

【0056】なお、ここでは差分データ指数部(D5 ま
たはD4〜D5またはD4〜D6)に対応してモード判定器
で出力されるモード値が0のとき、差分データ仮数部の
シフト量を0、オフセットを0、また、モード値が1の
とき、差分データ仮数部のシフト量を1、オフセットを
差分データ仮数部の正負の符号に対応して16あるいは
−16、また、モード値が2のとき、シフト量を2、オ
フセットを32あるいは−32、また、モード値が3の
とき、シフト量を3、オフセットを64あるいは−64
としたが、例えばそれぞれのモード値におけるシフト量
及びオフセット量を1ビット大きく(2倍)してもよ
く、その場合、差分値は−256〜240(9ビット)
のレンジを取ることができるようになる。
Here, when the mode value output by the mode determiner corresponding to the differential data exponent part (D5 or D4 to D5 or D4 to D6) is 0, the shift amount of the differential data mantissa part is 0, When the offset is 0 and the mode value is 1, the shift amount of the differential data mantissa is 1, the offset is 16 or -16 corresponding to the positive / negative sign of the differential data mantissa, and the mode value is 2. , The shift amount is 2, the offset is 32 or -32, and when the mode value is 3, the shift amount is 3, the offset is 64 or -64.
However, for example, the shift amount and the offset amount in each mode value may be increased (doubled) by 1 bit, and in that case, the difference value is -256 to 240 (9 bits).
Will be able to take the range of.

【0057】なお、ここではビット抽出器303を、波
形メモリ301から読み出されるデータの10ビット
(D6〜D15) を入力し、波形データとしてモード値に
したがった10ビット(D6〜D15) または9ビット
(D7〜D15) を抽出し出力するものとし、また、ビッ
ト抽出器305を、波形メモリ301から読み出される
データの6ビット(D0〜D5)を入力し、差分データ仮
数部としてモード値にしたがった5ビット(D0〜4)
または4ビット(D0〜D3) を抽出し出力する構成と
したが、例えば、ビット抽出器303,304の入力
を、ともに波形メモリ301から読み出されるデータ1
6ビット(D0〜D15)として、それぞれ実施例と同じ
出力を得るような構成にすることも可能である。
Here, 10 bits (D6 to D15) of the data read from the waveform memory 301 are input to the bit extractor 303, and 10 bits (D6 to D15) or 9 bits according to the mode value are used as the waveform data. (D7 to D15) are extracted and output, and the bit extractor 305 inputs 6 bits (D0 to D5) of the data read from the waveform memory 301 and follows the mode value as the differential data mantissa. 5 bits (D0-4)
Alternatively, the configuration is such that 4 bits (D0 to D3) are extracted and output. For example, the inputs of the bit extractors 303 and 304 are both data 1 read from the waveform memory 301.
It is also possible to use 6 bits (D0 to D15) so as to obtain the same output as that of the embodiment.

【0058】以上のように本実施例によれば、波形メモ
リの1ワードを、波形データが10ビットのとき隣合う
波形データを6ビットとし、波形データが9ビットのと
き隣合う差分データを7ビットとして組み合わせた構成
としたので、波形メモリの1ワード構成16ビットを効
率的に使用することができる。また、波形データ10ビ
ットと差分データ6ビットの組合せの時差分データ指数
部と差分データ仮数部とのビット数を互いに関連して1
ビット変化させて2つのモード(差分データ仮数部の分
解能1または2)を設定し、また、波形データと差分デ
ータのビット数を互いに関連して1ビット変化させて波
形データ9ビットと差分データ7ビットの組合せとした
とき2つのモード(差分データ仮数部の分解能4または
8)を設定して、計4種類のモードをとることによっ
て、波形データ10ビットのレンジに対して、分解能が
1の差分値のレンジを5ビットまで保ちながら全体の差
分値のレンジを8ビットまで広げることが可能となり、
波形変化の小さな楽音波形においてはその波形変化すな
わち差分値を精度よく取れて、過渡部などの波形変化の
かなり大きなものに適用できるまで差分値のレンジを広
く取ることができる。
As described above, according to this embodiment, one word in the waveform memory has 6 bits of adjacent waveform data when the waveform data has 10 bits, and 7 bits of adjacent difference data when the waveform data has 9 bits. Since the configuration is such that the bits are combined, 16-bit one word configuration of the waveform memory can be efficiently used. Also, when the combination of waveform data 10 bits and difference data 6 bits, the number of bits of the difference data exponent part and the difference data mantissa part are associated with each other by 1
Two modes (resolution 1 or 2 of the mantissa of the differential data) are set by changing the bit, and the number of bits of the waveform data and the differential data is changed by 1 bit in association with each other to change the waveform data 9 bits and the differential data 7 When a combination of bits is set, two modes (resolution of mantissa of difference data 4 or 8) are set, and a total of 4 modes are set, so that the difference of resolution is 1 with respect to the range of 10-bit waveform data. It is possible to extend the range of the total difference value to 8 bits while keeping the value range to 5 bits.
In the case of a musical tone waveform having a small waveform change, the waveform change, that is, the difference value can be accurately obtained, and the difference value range can be widened until it can be applied to a considerably large waveform change such as a transient portion.

【0059】[0059]

【発明の効果】以上のように本発明は、波形メモリのデ
ータ1ワードを波形データと対応する差分データとを1
つずつ組み合わせた構成とすることによって、波形メモ
リからデータの読み出しを1回行うだけで補間された楽
音波形値を演算することができるとともに、差分データ
を浮動小数点表示として仮数部と指数部を設けることに
よって差分値のレンジを広くとることができるために、
波形変化の大きな楽音に対しても補間された楽音波形値
を演算することが可能となり、その実用上優れた効果を
有するものである。
As described above, according to the present invention, one word of data in the waveform memory is converted into one waveform data and the corresponding difference data.
By combining them one by one, the interpolated tone waveform value can be calculated by reading the data from the waveform memory only once, and the differential data is provided as a floating point display with a mantissa part and an exponent part. By doing so, the range of difference values can be widened,
It is possible to calculate the interpolated tone waveform value even for a tone having a large waveform change, which has an excellent effect in practical use.

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

【図1】本発明の第1の実施例における楽音合成装置の
構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of a musical sound synthesizer according to a first embodiment of the present invention.

【図2】同第1の実施例における波形メモリに記憶され
ている波形データ1ワードのビット構成図
FIG. 2 is a bit configuration diagram of one word of waveform data stored in a waveform memory according to the first embodiment.

【図3】本発明の第2の実施例における楽音合成装置の
構成を示すブロック図
FIG. 3 is a block diagram showing a configuration of a musical sound synthesizer in a second embodiment of the present invention.

【図4】同第2の実施例における波形メモリに記憶され
ている波形データ1ワードのビット構成図
FIG. 4 is a bit configuration diagram of one word of waveform data stored in a waveform memory according to the second embodiment.

【図5】従来の楽音合成装置の構成を示すブロック図FIG. 5 is a block diagram showing a configuration of a conventional musical sound synthesizer.

【図6】同従来例におけるアドレス発生器の構成を示す
ブロック図
FIG. 6 is a block diagram showing a configuration of an address generator in the conventional example.

【図7】同従来例におけるアドレスのビット構成図FIG. 7 is a bit configuration diagram of an address in the conventional example.

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

11,301 波形メモリ 12,302 モード判定器 13,303,305 ビット抽出器 14,304,306 シフタ 15,307 オフセット生成器 16,18,308,310 加算器 17,309 乗算器 51 アドレス発生器 11,301 Waveform memory 12,302 Mode determiner 13,303,305 Bit extractor 14,304,306 Shifter 15,307 Offset generator 16,18,308,310 Adder 17,309 Multiplier 51 Address generator

───────────────────────────────────────────────────── フロントページの続き (72)発明者 中西 雅浩 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 田中 温子 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Masahiro Nakanishi 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 出力したい楽器の音高に対応して変化す
るアドレス整数部とアドレス小数部とから形成されるア
ドレスを出力するアドレス発生器と、 互いに関連してビット数が変化する差分データ指数部と
差分データ仮数部とからなる予め定めたビット数nビッ
トの差分データとmビットの波形データとを組み合わせ
て予め定めたビット数(m+n)ビットを1ワードのデ
ータとして記憶し、前記アドレス発生器から出力される
前記アドレス整数部に対応したデータを出力する波形メ
モリと、 前記波形メモリから読み出されるデータの差分データ指
数部からモード値を判定するモード判定器と、 前記波形メモリから読み出されるデータに対して前記モ
ード判定器出力にしたがったビット数を持つ前記差分デ
ータ仮数部を抽出するビット抽出器と、 前記モード判定器出力にしたがって前記ビット抽出器か
ら出力される前記差分データ仮数部のビットシフトを行
うシフタと、 前記モード判定器出力に対応して前記差分データ仮数部
と同一の正負の符号を持つオフセットを生成するオフセ
ット生成器と、 前記シフタ出力と前記オフセット生成器出力とを加算し
差分値を出力する第1の加算器と、 前記第1の加算器出力と前記アドレス発生器から出力さ
れる前記アドレス小数部とを乗算する乗算器と、 前記乗算器出力と前記波形メモリから読み出されるデー
タの波形データとを加算する第2の加算器とを備えたこ
とを特徴とする楽音合成装置。
1. An address generator for outputting an address formed from an address integer part and an address decimal part which change corresponding to the pitch of an instrument to be output, and a differential data exponent in which the number of bits changes in relation to each other. Part and difference data mantissa part, a predetermined number of bits n bits of difference data and m bits of waveform data are combined to store a predetermined number of bits (m + n) bits as 1-word data, and the address is generated. A waveform memory that outputs data corresponding to the address integer part output from the waveform unit, a mode determiner that determines a mode value from the differential data exponent part of the data read from the waveform memory, and data read from the waveform memory Bit extractor for extracting the differential data mantissa having the number of bits according to the output of the mode determiner A shifter for bit-shifting the differential data mantissa output from the bit extractor according to the mode determiner output, and a positive / negative code identical to the difference data mantissa corresponding to the mode determiner output An offset generator for generating an offset having the following: a first adder for adding the shifter output and the offset generator output to output a difference value; and a first adder output and an output from the address generator. And a second adder for adding the output of the multiplier and the waveform data of the data read out from the waveform memory. ..
【請求項2】 出力したい楽器の音高に対応して変化す
るアドレス整数部とアドレス小数部とから形成されるア
ドレスを出力するアドレス発生器と、 互いに関連してビット数が変化する差分データ指数部と
差分データ仮数部とからなる変化するビット数nビット
の差分データとmビットの波形データとを組み合わせて
予め定めたビット数(m+n)ビットを1ワードのデー
タとして記憶し、前記アドレス発生器から出力される前
記アドレス整数部に対応したデータを出力する波形メモ
リと、 前記波形メモリから読み出されるデータの差分データ指
数部からモード値を判定するモード判定器と、 前記波形メモリから読み出されるデータに対して前記モ
ード判定器出力にしたがったビット数を持つ前記波形デ
ータを抽出する第一のビット抽出器と、 前記モード判定器出力にしたがって前記第一のビット抽
出器から出力される前記波形データのビットシフトを行
い波形値を出力する第1のシフタと、 前記波形メモリから読み出されるデータに対して前記モ
ード判定器出力にしたがったビット数を持つ前記差分デ
ータ仮数部を抽出する第2のビット抽出器と、 前記モード判定器出力にしたがって前記第2のビット抽
出器から出力される前記差分データ仮数部のビットシフ
トを行う第2のシフタと、 前記モード判定器出力に対応して前記差分データ仮数部
と同一の正負の符号を持つオフセットを生成するオフセ
ット生成器と、 前記第2のシフタ出力と前記オフセット生成器出力とを
加算し差分値を出力する第1の加算器と、 前記第1の加算器出力と前記アドレス発生器から出力さ
れるアドレス小数部とを乗算する乗算器と、 前記乗算器出力と前記第1のシフタ出力とを加算する第
2の加算器とを備え、 前記波形データと対応する前記差分データとは互いに関
連してビット数が変化することを特徴とする楽音合成装
置。
2. An address generator for outputting an address formed from an address integer part and an address fraction part which change corresponding to the pitch of a musical instrument to be output, and a differential data exponent whose bit number changes in relation to each other. Part and the differential data mantissa, the changing bit number n bits of difference data and m bits of waveform data are combined to store a predetermined number of bits (m + n) bits as 1 word data, and the address generator A waveform memory that outputs data corresponding to the address integer part output from the waveform memory; a mode determiner that determines a mode value from the differential data exponent part of the data read from the waveform memory; and a data read from the waveform memory. On the other hand, a first bit extractor for extracting the waveform data having the number of bits according to the output of the mode determiner, A first shifter for bit-shifting the waveform data output from the first bit extractor according to the output of the mode determiner and outputting a waveform value; and a mode for the data read from the waveform memory. A second bit extractor for extracting the differential data mantissa having a bit number according to the decision device output; and a difference data mantissa output from the second bit extractor according to the mode determiner output. A second shifter for performing a bit shift; an offset generator for generating an offset having the same positive / negative sign as the difference data mantissa corresponding to the mode determiner output; the second shifter output and the offset; A first adder for adding a generator output and outputting a difference value; and an adder output from the first adder output and the address generator. And a second adder for adding the multiplier output and the first shifter output, and the waveform data and the corresponding difference data are associated with each other. A musical tone synthesizer characterized in that the number of bits changes.
JP4059942A 1992-03-17 1992-03-17 Musical tone synthesizing device Pending JPH05265462A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4059942A JPH05265462A (en) 1992-03-17 1992-03-17 Musical tone synthesizing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4059942A JPH05265462A (en) 1992-03-17 1992-03-17 Musical tone synthesizing device

Publications (1)

Publication Number Publication Date
JPH05265462A true JPH05265462A (en) 1993-10-15

Family

ID=13127709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4059942A Pending JPH05265462A (en) 1992-03-17 1992-03-17 Musical tone synthesizing device

Country Status (1)

Country Link
JP (1) JPH05265462A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016050981A (en) * 2014-08-29 2016-04-11 株式会社河合楽器製作所 Effect provision device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016050981A (en) * 2014-08-29 2016-04-11 株式会社河合楽器製作所 Effect provision device

Similar Documents

Publication Publication Date Title
JP2567717B2 (en) Musical sound generator
US9040800B2 (en) Musical tone signal generating apparatus
JPH032318B2 (en)
JPH05265462A (en) Musical tone synthesizing device
JPH02240697A (en) Device for changing speed for reading out waveform data
US5113740A (en) Method and apparatus for representing musical tone information
JP2608938B2 (en) Waveform interpolation device
JPS6240716B2 (en)
JPH05232963A (en) Musical tone synthesizer
JP3527396B2 (en) Waveform recording device and waveform reproducing device
JPH10320524A (en) Look-up table device and image generator
JP3059617B2 (en) Envelope signal generator and electronic musical instrument using the same
JP3223560B2 (en) Waveform data reading device
JPH043556B2 (en)
JP2950893B2 (en) Music signal generator
JP3288500B2 (en) Musical instrument for electronic musical instruments
JP2678970B2 (en) Tone generator
JPH0519767A (en) Musical tone synthesis device
JPS58199393A (en) Frequency controller
JP5101352B2 (en) Electronic musical sound generator musical sound processing device
JP2000081968A (en) Arithmetic unit for reciprocal
JP3245617B2 (en) Waveform generator
JP2512270B2 (en) Envelope control device
JPH09198049A (en) Musical sound synthesizing device
JPS6132896A (en) Frequency control system for electronic musical instrument