JPH043556B2 - - Google Patents
Info
- Publication number
- JPH043556B2 JPH043556B2 JP58171350A JP17135083A JPH043556B2 JP H043556 B2 JPH043556 B2 JP H043556B2 JP 58171350 A JP58171350 A JP 58171350A JP 17135083 A JP17135083 A JP 17135083A JP H043556 B2 JPH043556 B2 JP H043556B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- waveform
- exponent
- mantissa
- analog
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は電子楽器における波形発生装置に関
し、特に波形データを圧縮した表現形式で波形メ
モリに記憶し、記憶容量の縮減を図ると共にその
後の波形演算の簡単化を図つたことに関する。
従来技術
従来、電子楽器の波形記憶装置においては波形
データの値をリニア又は対数表現形式でそのまま
記憶するようにしていた。そのため、データのビ
ツト数が多くなり、記憶容量が増す傾向にあつ
た。特に、楽音の発音開始から終了までの全波形
又は複数周期の波形のデータをメモリに記憶し、
これを読み出すことにより自然楽器音と同等の高
品質の楽音波形信号を得ようとする場合、1サン
プル点分の波形データが多ビツトであると全体と
してのメモリ容量は膨大なものとなつてしまうお
それがある。この点を避けるために1データ当り
のビツト数を少なくすると、ダイナミツクレンジ
が狭くなつてしまい、音質を損ねる原因となつて
しまう。また、波形データが多ビツトであると、
レベル制御のための演算回路も大型化し、更に、
デイジタルアナログ変換器も大型化し、コスト高
であつた。
発明の目的
この発明は上述の欠点を除去することを目的と
するもので、少ないビツト数でありながら十分な
ダイナミツクレンジをとることのできるデータ表
現形式でデイジタル波形データを処理し得るよう
にし、最終的に望み通りの波形を確実に発生し得
るようにした電子楽器における波形発生装置を提
供しようとするものである。
発明の概要
この発明の特徴は、望みの波形の各サンプル点
に関して隣接するサンプル点間の振幅値の差分デ
ータを仮数部と指数部とから成る浮動少数点表示
で夫々表わし、これを波形メモリに記憶した点に
ある。そして、浮動型デイジタルアナログ変換器
を用いて波形メモリの読み出し出力に対応する仮
数部データを指数部データに応じた比率でアナロ
グ変換することにより各サンプル点毎の差分デー
タの実数値をアナログ信号で求める。こうして求
められた差分データのアナログ信号をアナログア
キユムレータで累積的に加減算することにより各
サンプル点毎のアナログ振幅値が求められる。波
形振幅値そのものではなく差分データを記憶する
ことにより1サンプル点当りのデータビツト数を
縮減することができ、しかもその差分データを浮
動少数点表示で表わすことによりデータビツト数
を更に縮減することができる。また、波形メモリ
から読み出したデータに重みづけ演算を施す場
合、浮動小数点型の演算回路を用いることができ
るので、演算回路の構成を簡単化することができ
る。また、浮動小数点型の差分データを実数値の
アナログ信号に変換した後に累積的加減算を行う
ので、そのための演算回路として構成の簡単なア
ナログアキユムレータを使用することができる。
実施例
第1図において、波形メモリ10には、例えば
第2図に示すような発音開始から終了に至るまで
の複数周期から成る楽音波形の各サンプル点に関
して隣接するサンプル点間の振幅値の差分データ
を浮動少数点表示で表わしたデータが記憶されて
いる。波形サンプル点振幅値の一例を拡大して示
すと第3図のようであり、サンプル点0,1,
2,3,4……の振幅値をA0,A1,A2,A3,A4
……とすると、サンプル点1,2,3,4……の
差分データΔa1,Δa2,Δa3,Δa4……夫々
Δa1=A1−A0,Δa2=A2−A1,
Δa3=A3−A2,Δa4=A4−A3,…
である。波形メモリ10では、このような各サン
プル点に対応する差分データΔa1,Δa2…のデイ
ジタル値(代表してΔaiで表わす)を
Δai=M・BE
なる浮動少数点表示で分解して表わし、その仮数
部Mのデータと指数部Eのデータを記憶してい
る。Bは基数であり、2進法においては一般にB
=2である。
波形メモリ10の記憶フオーマツトの一例は第
4図のようであり、以上のようにして各サンプル
点毎に確定される差分データΔaiの仮数部Mのデ
ータMp〜Moと指数部EのデータEp〜Eoを各サン
プル点アドレスO〜Nに対応して夫々記憶してい
る。
発生すべき楽音の音高を指定するための手段と
して鍵盤11が用いられ、この鍵盤11で押圧さ
れた鍵を示す情報(キーコードKC)がアドレス
データ発生器12に与えられる。アドレスデータ
発生器12は、鍵盤11で指定された音高に応じ
て波形メモリ10から波形データを読み出すため
の手段であり、指定された音高に対応するレート
で順次変化するサンプル点アドレスデータを発生
する。このアドレスデータ発生器12から発生さ
れたサンプル点アドレスデータは波形メモリ10
のアドレス入力に与えられ、そこに記憶されてい
る各サンプル点アドレスO〜Nに対応する仮数部
データMp〜Moと指数部データEp〜Eoを順次読み
出す。尚、アドレスデータ発生器12は、鍵盤1
1で或る鍵が押圧されたとき瞬時に発生するキー
オンパルスKONPによつて初期アドレス(すな
わちサンプル点アドレスO)にリセツトされるよ
うになつている。このアドレスデータ発生器12
におけるアドレスデータ発生技術は公知の如何な
る技術でも用いることができるのでその詳細は特
に示さない。
波形メモリ10から読み出された仮数部データ
Mと指数部データEはレベル制御用の乗算器13
及び加算器14に夫々入力される。キースケーリ
ング又はタツチ関数発生器15は、キースケーリ
ング用のレベル係数データを押圧鍵のキーコード
KCをパラメータとして所定のキースケーリング
関数に従つて発生する、もしくはタツチレスポン
ス制御用のレベル係数データをタツチ検出データ
をパラメータとして所定のタツチ関数に従つて発
生するものであり、このレベル係数データは、
K=m・2e(但し、Kはレベル係数)
なる浮通小数点表示で表わされた仮数部データm
と指数部データeとから成る。乗算13は仮数部
データM,m同士を乗算し、加算器14は指数部
データE,e同士を加算し、その結果、「K・
Δai」なる実数レベルでの重みづけ演算と等価の
浮動少数点レベルでの重みづけ演算を行う。すな
わち、
K・Δai=m・2e・M・2E=(m・M)・(2e+E)
であり、最右辺の第1項(m・M)の乗算を乗算
器13で行い、第2項(2e+E)の指数部の加算を
加算器14で行う。
ところで、仮数部データMの数列を見ると、第
1表に示すように、指数部データEの各値に対応
して最大値1111…(オール“1”)から最小値
0000…(オール“0”)まで連続性を示すが、指
数部データEの値が異なるものの間では不連続で
ある。すなわち、指数部データEが「0」のとき
の仮数部データMはそのまま実数に対応している
が、指数部データEが「0」以外のときは仮数部
データMはそのままでは実数に対応していず、第
1表の右欄に示すように仮数部データMの上位ビ
ツトに“1”を付加したものが実数に対応してお
り、こうすることによつて指数部データEの値が
異なるものの間での仮数部データMの数列の連続
性が確保される。
The present invention relates to a waveform generator for an electronic musical instrument, and more particularly to a method for storing waveform data in a waveform memory in a compressed representation format to reduce storage capacity and simplify subsequent waveform calculations. BACKGROUND ART Conventionally, in waveform storage devices for electronic musical instruments, waveform data values have been stored as they are in a linear or logarithmic representation format. As a result, the number of data bits has increased, and the storage capacity has tended to increase. In particular, data of the entire waveform or multiple cycles of the waveform from the start to the end of the musical tone is stored in the memory,
If you try to obtain a high-quality musical waveform signal equivalent to a natural instrument sound by reading this, if the waveform data for one sample point is multi-bit, the overall memory capacity will become enormous. There is a risk. If the number of bits per piece of data is reduced in order to avoid this problem, the dynamic range will become narrower, causing a loss in sound quality. Also, if the waveform data is multi-bit,
The arithmetic circuit for level control has also become larger, and
Digital-to-analog converters have also become larger and more expensive. OBJECT OF THE INVENTION The object of the present invention is to eliminate the above-mentioned drawbacks by making it possible to process digital waveform data in a data representation format that can provide sufficient dynamic range with a small number of bits. The present invention aims to provide a waveform generator for an electronic musical instrument that can reliably generate a desired waveform. Summary of the Invention The present invention is characterized in that, for each sample point of a desired waveform, the difference data of amplitude values between adjacent sample points is expressed as a floating point representation consisting of a mantissa and an exponent, and this is stored in the waveform memory. It's on the point I remember. Then, by using a floating digital-to-analog converter to convert the mantissa data corresponding to the read output of the waveform memory into analog at a ratio according to the exponent data, the real value of the difference data for each sample point is converted into an analog signal. demand. By cumulatively adding and subtracting the analog signal of the difference data thus obtained using an analog accumulator, an analog amplitude value for each sample point is obtained. By storing the difference data rather than the waveform amplitude value itself, the number of data bits per sample point can be reduced, and by representing the difference data in floating point representation, the number of data bits can be further reduced. can. Further, when weighting calculation is performed on data read from the waveform memory, a floating point type calculation circuit can be used, so the configuration of the calculation circuit can be simplified. Further, since cumulative addition and subtraction are performed after converting floating point type difference data into real-value analog signals, a simple-configured analog accumulator can be used as an arithmetic circuit for this purpose. Embodiment In FIG. 1, the waveform memory 10 stores, for example, the difference in amplitude value between adjacent sample points for each sample point of a musical sound waveform consisting of multiple cycles from the start to the end of sound as shown in FIG. Data expressed in floating point representation is stored. An enlarged example of the waveform sample point amplitude value is shown in Figure 3, where sample points 0, 1,
The amplitude values of 2, 3, 4... are A 0 , A 1 , A 2 , A 3 , A 4
..., the difference data of sample points 1, 2, 3, 4... Δa 1 , Δa 2 , Δa 3 , Δa 4 ... Δa 1 =A 1 −A 0 , Δa 2 =A 2 −A 1 respectively , Δa 3 =A 3 −A 2 , Δa 4 =A 4 −A 3 ,... The waveform memory 10 decomposes the digital values ( representatively represented by Δa i ) of the difference data Δa 1 , Δa 2 . The data of the mantissa part M and the data of the exponent part E are stored. B is the base number, and in binary system it is generally B
=2. An example of the storage format of the waveform memory 10 is shown in FIG. 4, in which the data M p to M o of the mantissa part M of the difference data Δa i determined for each sample point as described above and the data M p to M o of the exponent part E are Data E p to E o are stored corresponding to each sample point address O to N, respectively. A keyboard 11 is used as a means for specifying the pitch of a musical tone to be generated, and information (key code KC) indicating the key pressed on the keyboard 11 is given to an address data generator 12. The address data generator 12 is a means for reading waveform data from the waveform memory 10 in accordance with the pitch specified on the keyboard 11, and reads sample point address data that sequentially changes at a rate corresponding to the specified pitch. Occur. The sample point address data generated from this address data generator 12 is stored in the waveform memory 10.
The mantissa data M p to M o and the exponent data E p to E o corresponding to each sample point address O to N stored therein are sequentially read out. Note that the address data generator 12 is connected to the keyboard 1.
1, it is reset to the initial address (ie, sample point address O) by a key-on pulse KONP that is generated instantaneously when a certain key is pressed. This address data generator 12
Since any known technique can be used as the address data generation technique in , the details thereof will not be particularly shown. The mantissa data M and the exponent data E read from the waveform memory 10 are sent to a multiplier 13 for level control.
and are input to the adder 14, respectively. The key scaling or touch function generator 15 converts the level coefficient data for key scaling into the key code of the pressed key.
The level coefficient data for touch response control is generated according to a predetermined key scaling function using KC as a parameter, or the level coefficient data for touch response control is generated according to a predetermined touch function using touch detection data as a parameter. K=m・2 e (where K is the level coefficient) Mantissa data m expressed in floating decimal point notation
and exponent part data e. The multiplier 13 multiplies the mantissa data M and m, and the adder 14 adds the exponent data E and e, resulting in "K.
A weighting operation at the floating point level equivalent to the weighting operation at the real number level called Δa i is performed. That is, K・Δa i = m・2 e・M・2 E = (m・M)・(2 e+E )
The first term (m·M) on the rightmost side is multiplied by the multiplier 13, and the exponent part of the second term (2 e+E ) is added by the adder 14. By the way, when we look at the sequence of mantissa data M, as shown in Table 1, the values range from the maximum value 1111... (all "1") to the minimum value, corresponding to each value of the exponent data E.
Continuity is shown up to 0000... (all "0"), but discontinuity exists between values of exponent data E that are different. In other words, when the exponent data E is "0", the mantissa data M directly corresponds to a real number, but when the exponent data E is other than "0", the mantissa data M does not directly correspond to a real number. Instead, as shown in the right column of Table 1, the value obtained by adding "1" to the high-order bit of the mantissa data M corresponds to the real number, and by doing this, the value of the exponent data E differs. The continuity of the sequence of mantissa data M between objects is ensured.
【表】【table】
Claims (1)
サンプル点間の振幅値の差分データを仮数部と指
数部とから成る浮動少数点表示で夫々表わし、予
め記憶した波形メモリと、 この波形メモリの読み出し出力に対応する仮数
部データを指数部データに応じた比率でアナログ
変換する浮動型デイジタルアナログ変換器と、 アナログ変換された信号を累積的に加減算する
ことにより前記各サンプル点振幅値に対応するア
ナログ信号を得るアナログアキユムレータと を具えた電子楽器における波形発生装置。 2 前記浮動型デイジタルアナログ変換器で変換
されるべき前記波形メモリの読み出し出力に対応
する仮数部データと指数部データは、前記波形メ
モリから読み出した仮数部データと指数部データ
を適宜重みづけしたデータである特許請求の範囲
第1項記載の電子楽器における波形発生装置。 3 前記重みづけのための係数が仮数部と指数部
とから成る浮動小数点表示で表わされており、仮
数部データ同士を乗算し、指数部データ同士を加
算することにより前記重みづけが行われる特許請
求の範囲第2項記載の電子楽器における波形発生
装置。 4 前記望みの波形が、楽音波形である特許請求
の範囲第1項記載の電子楽器における波形発生装
置。 5 前記望みの波形が、エンベロープ波形である
特許請求の範囲第1項記載の電子楽器における波
形発生装置。[Scope of Claims] 1. A waveform memory that stores in advance the difference data of amplitude values between adjacent sample points for each sample point of a desired waveform, each representing the data in a floating point representation consisting of a mantissa part and an exponent part; A floating digital-to-analog converter converts the mantissa data corresponding to the read output of the waveform memory into analog at a ratio according to the exponent data, and the amplitude of each sample point is calculated by cumulatively adding and subtracting the analog-converted signals. A waveform generator for an electronic musical instrument, comprising an analog accumulator for obtaining an analog signal corresponding to a value. 2. The mantissa data and exponent data corresponding to the read output of the waveform memory to be converted by the floating digital-to-analog converter are data obtained by appropriately weighting the mantissa data and exponent data read from the waveform memory. A waveform generator for an electronic musical instrument according to claim 1. 3. The weighting coefficient is expressed in a floating point representation consisting of a mantissa part and an exponent part, and the weighting is performed by multiplying the mantissa part data together and adding the exponent part data together. A waveform generator for an electronic musical instrument according to claim 2. 4. The waveform generator for an electronic musical instrument according to claim 1, wherein the desired waveform is a musical sound waveform. 5. The waveform generator for an electronic musical instrument according to claim 1, wherein the desired waveform is an envelope waveform.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58171350A JPS6063593A (en) | 1983-09-19 | 1983-09-19 | Waveform generator for electronic musical instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58171350A JPS6063593A (en) | 1983-09-19 | 1983-09-19 | Waveform generator for electronic musical instrument |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6063593A JPS6063593A (en) | 1985-04-11 |
JPH043556B2 true JPH043556B2 (en) | 1992-01-23 |
Family
ID=15921573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58171350A Granted JPS6063593A (en) | 1983-09-19 | 1983-09-19 | Waveform generator for electronic musical instrument |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6063593A (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2599193B2 (en) * | 1989-01-26 | 1997-04-09 | 株式会社河合楽器製作所 | Music information expression method and music information expression device |
JP2901154B2 (en) * | 1989-02-26 | 1999-06-07 | 株式会社河合楽器製作所 | Electronic musical instrument |
JP2605916B2 (en) * | 1990-03-19 | 1997-04-30 | ヤマハ株式会社 | Waveform signal generator |
JPH0820872B2 (en) * | 1990-03-20 | 1996-03-04 | ヤマハ株式会社 | Waveform generator |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5543552A (en) * | 1978-09-25 | 1980-03-27 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS5687098A (en) * | 1979-12-17 | 1981-07-15 | Casio Computer Co Ltd | Piezoelectric buzzer sounddpressure control system in musical tone generator |
JPS5789796A (en) * | 1980-11-25 | 1982-06-04 | Kawai Musical Instr Mfg Co | Generator for envelope of electronic musical instrument |
-
1983
- 1983-09-19 JP JP58171350A patent/JPS6063593A/en active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5543552A (en) * | 1978-09-25 | 1980-03-27 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS5687098A (en) * | 1979-12-17 | 1981-07-15 | Casio Computer Co Ltd | Piezoelectric buzzer sounddpressure control system in musical tone generator |
JPS5789796A (en) * | 1980-11-25 | 1982-06-04 | Kawai Musical Instr Mfg Co | Generator for envelope of electronic musical instrument |
Also Published As
Publication number | Publication date |
---|---|
JPS6063593A (en) | 1985-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4119005A (en) | System for generating tone source waveshapes | |
EP0177934B1 (en) | Musical tone generating apparatus | |
JP2605916B2 (en) | Waveform signal generator | |
JPS6242515B2 (en) | ||
JPH043556B2 (en) | ||
JPH0145078B2 (en) | ||
JPH07199996A (en) | Device and method for waveform data encoding, decoding device for waveform data, and encoding and decoding device for waveform data | |
JPH02240697A (en) | Device for changing speed for reading out waveform data | |
US5113740A (en) | Method and apparatus for representing musical tone information | |
JPH0563799B2 (en) | ||
USRE31648E (en) | System for generating tone source waveshapes | |
US4421003A (en) | Envelope generator for electronic musical instruments | |
JPS636796Y2 (en) | ||
JPH0225515B2 (en) | ||
JP2802565B2 (en) | Envelope generator for electronic musical instruments | |
JP3527396B2 (en) | Waveform recording device and waveform reproducing device | |
US4446769A (en) | Combination tone generator for a musical instrument | |
JP2725524B2 (en) | Waveform data compression method and waveform data reproducing apparatus | |
JP2699886B2 (en) | Music control information generator | |
KR920006183B1 (en) | Envelope data generating circuit of electronic musical instrument | |
JP2880720B2 (en) | Musical sound wave type reading device | |
JP3551992B2 (en) | Electronic musical instrument | |
JPS60147792A (en) | Frequency control system for electronic musical instrument | |
JP2819719B2 (en) | Arithmetic circuit | |
JPH0786755B2 (en) | Electronic musical instrument |