JPH0340400B2 - - Google Patents
Info
- Publication number
- JPH0340400B2 JPH0340400B2 JP57013069A JP1306982A JPH0340400B2 JP H0340400 B2 JPH0340400 B2 JP H0340400B2 JP 57013069 A JP57013069 A JP 57013069A JP 1306982 A JP1306982 A JP 1306982A JP H0340400 B2 JPH0340400 B2 JP H0340400B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- signal
- waveform
- value
- address
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
発明の技術分野
この発明は電子楽器の楽音波形形成方法に関
し、特に楽音波形を複数のサンプル点振幅値で記
憶した波形メモリの読出し値にもとづき楽音波形
を形成する方法の改良に関する。
発明の技術的背景
楽音波形を複数のサンプル点振幅値で波形メモ
リに記憶し、該記憶波形を発音すべき楽音の音高
に対応した周波数で変化するアドレス信号によつ
て繰返し読出すことにより所望の楽音波形を形成
するようにした電子楽器の楽音波形形成方法は、
いわゆる「波形メモリ方式」として種々提案され
ている。ところで、このような波形メモリ方式の
楽音波形形成方法において重要な課題の1つは、
いかにして少ない数のサンプル点振幅値の記憶で
滑めらかに変化する楽音波形を得るかということ
である。この課題を解決するために、隣りあうサ
ンプル点振幅値の間を補間する技術が各種提案さ
れているが、そのいずれもが波形の全周期を複数
のサンプル点振幅値で記憶する波形メモリを対象
としているものであ。したがつて補間技術の採用
によりある程度波形メモリの容量を小さくするこ
とができるが、やはり依然として楽音波形1周期
分の多数のサンプル点振幅値を記憶する必要があ
るため、波形メモリとしてはかなりの容量のもの
を用いなければならなかつた。
発明の目的
この発明は、波形メモリに記憶するサンプル点
振幅値の数を大幅に減少させるとともに充分滑ら
かな波形が得られるようにした電子楽器の楽音波
形形成方法を得供することを目的とする。
発明の概要
この発明においては、楽音波形の正または負の
半波形の複数のサンプル点振幅値で波形メモリに
記憶し、この各サンプル点振幅値を双方向に読出
すようにするとともに、この読出し方向の逆転に
伴い読出された(読出される)サンプル点振幅値
の符号(正、負の極性)を適宜反転することによ
り楽音波形を形成する方式を採用する。そして隣
接するサンプル点振幅値にもとづく読出し値間を
内挿補間することにより楽音波形を形成するよう
にしている。ただし、波形メモリの読出し方向の
逆転に際しては同一のサンプル点振幅値にもとづ
く符号の異なる読出し値間を内挿補間するように
構成される。
この発明の一実施態様において、波形メモリは
各サンプル点振幅値のうち偶数番目のサンプル点
振幅値を各アドレスに記憶する第1のメモリと、
奇数番目のサンプル点振幅値を各アドレスに記憶
する第2のメモリとから構成される。例えば、正
弦波楽音波形の正の半波形を16のサンプル点振幅
値で記憶する構成を考えると、波形メモリには第
1図aに示すような16のサンプル点振幅値が記憶
されることになり、第1図aで実線で示した偶数
番目のサンプル点振幅値X0,X2,…X14が
上記第1のメモリに記憶され、破線で示した奇数
番目のサンプル点振幅値X1,X3,…X15が
上記第2のメモリに記憶される。そして隣接する
サンプル点振幅値の間、すなわち第1のメモリの
読出し値と第2のメモリの読出し値との間で補間
が行われることになる。ここで採用される補間は
例えば直線補間が用いられ、この補間の様子を示
すと第1図bのようになる。すなわち隣接するサ
ンプル点振幅値に基づく読出し値X(R)とX(R+
1)との間を直線近似し、この直線上の各値例え
ばP1,P2,P3を適宜算出することにより波形メ
モリの各読出し値間を内挿補間するものである。
このような構成によると第1のメモリの読出し値
と第2のメモリの読出し値との間、この第2のメ
モリの読出し値と第1のメモリの次の読出し値と
の間、というように第1のメモリの読出し値およ
び第2のメモリの読出し値が交互に始点となる補
間が順次行われるのであるが、この動作を単純に
繰返すと波形メモリの読出し方向の逆転時には次
のような不都合が生じる。すなわち第2のメモリ
から第15サンプル点の振幅値X15を読出した次
は第1のメモリから第14サンプル点の振幅値X1
4を符号反転した値14が読出されることにな
り、第1図cに示すように値X15と値14と
の間で補間が行われることになる。したがつてこ
の部分で形成される楽音波形の滑らかさが失なわ
れることになつてしまう。同様に波形メモリを逆
方向に読出し、第1のメモリから第0サンプル点
の振幅値X0を符号反転した値0を読出した次
は第2のメモリから第1サンプル点の振幅値X1
が読出されることにより、この部分においても形
成される楽音波形の滑らかさが失なわれることに
なつてしまう。そこでこの発明では上記のような
波形メモリの読出し方向の逆転に際しては同一の
サンプル点振幅値にもとづく符号の異なる読出し
値間を補間するように構成されている。例えば第
15サンプル点から読出し方向を逆転して第14サン
プル点の向かう場合には、第1図dに示すよう
に、第2のメモリから読出された値X15とこの
値X15を符号反転した値15との間で補間を
するように構成され、また第0サンプル点から読
出し方向を逆転して第1サンプル点に向かう場合
には、第1のメモリから読出された値X0を符号
反転した値0と該値X0との間で補間するよう
に構成されている。すなわち波形メモリの読出し
方向の逆転に際しては同一サンプル点に関する符
号の異なる読出し値間で補間が行われるように構
成される。またこの発明の方法によれば振幅値0
は波形メモリに記憶されない。すなわち振幅値0
は符号の異なる同一の読出し値間の補間によつて
形成されるようになつている。
発明の実施例
以下、この発明の一実施例を添付図面を参照し
て詳細に説明する。
第2図はこの発明に係わる楽音波形形成方法が
適用される電子楽器の一例を示したものである。
この電子楽器は複数音の同時発音が可能なもの
で、キースイツチ回路1には図示しない鍵盤の各
鍵の押圧に対応してそれぞれ動作する複数のキー
スイツチが含まれており、これらキースイツチの
動作状態はキーアサイナ2で検出される。キーア
サイナ2はキースイツチ回路1の各キースイツチ
の動作状態の検出にもとづき押圧されている1ま
たは複数の鍵(発音すべき鍵の音)を判別し、こ
の鍵の音を識別するキーコードKCを形成し、こ
れらキーコードKCをそれぞれ同時発音可能な複
数の発音チヤンネルのいずれかに割当てる動作を
行う。キーアサイナ2からは上記割当てに基づく
キーコードKCとこのキーコードKCに対応する鍵
が押圧中にあるか否かを示すキーオン信号KON
が出力される。このキーコードKCとキーオン信
号KONの出力は各発音チヤンネル別に時分割で
行われる。キーコードKCは12の音名を識別する
ためのノートコードNCと例えば5のオクターブ
音域を識別するためのオクターブコードOCから
構成され、それぞれ、4ビツトのデジタルコード
および3ビツトのデジタルコードを用いて構成す
ることができる。キーアサイナ2から出力される
キーコードKCのうちノートコードNCはアドレ
スジエネレータ3に加えられる。アドレスジエネ
レータ3は加えられたノートコードNCに対応し
て該ノートコードが示す音名の音のうち最低オク
ターブにおける音の周波数に対応するアドレス信
号を発生する。このアドレス信号は8ビツトの信
号A0〜A7からなり、上位6ビツトの信号A2
〜A7が上記最低オクターブの音の周波数に対応
している。正確にはこの電子楽器に関連して後に
説明するこの発明の実施例において、楽音波形の
1波形を64のサンプル点振幅値で表わし、半波形
分の32のサンプル点振幅値を波形メモリに記憶す
る構成をとつている関係上、上記最低オクターブ
の音の周波数をMとすると、アドレス信号A0〜
A7のうちの上位6ビツトの信号A2〜A7は速
度64Mで変化しアドレス信号A0〜A7全体では
速度4×64Mで変化することになる。このアドレ
ス信号A0〜A7の出力も前記発音チヤンネルに
同期した時分割で行われる。アドレスジエネレー
タ3からノートコードNCに対応して発生される
アドレス信号A0〜A7はシフタ4に加えられ
る。またシフタ4にはキーアサイナ2から出力さ
れるキーコードKCのうちのオクターブコードOC
が加えられている。シフタ4はアドレスジエネレ
ータ3から発生された各ノートの最低オクターブ
音に対応するアドレス信号A0〜A7をオクター
ブコードOCに対応してシフトすることにより発
音すべき音に対応する周波数のアドレスデータ信
号AD0〜AD7を形成する。例えば、アドレス
ジエネレータ3から発生されるアドレス信号A0
〜A7が第1オクターブのC音に対応するもので
あり、オクターブコードOCが第2オクターブを
示すものであるとすると、シフタ4はアドレス信
号A0〜A7を上位側へ1ビツトシフトする動作
を行い第2オクターブのC音に対応するアドレス
データ信号AD0〜AD7を形成する。このアド
レスデータ信号AD0〜AD7はトーンジエネレ
ータ5に加えられる。トーンジエネレータ5の構
成はこの発明に終わるもので、その詳細は第3図
に示される。
第3図において、発生すべき楽音波形は偶数波
形メモリ501と奇数波形メモリ502とによつ
て記憶されている。偶数波形メモリ501と奇数
波形メモリ502による楽音波形の記憶は、所定
の楽音波形の1周期分を64のサンプル点振幅値で
抽出し、このサンプル点振幅値のうちの正の振幅
値(X0からX31までの32のサンプル点振幅
値)を記憶するもので、偶数波形メモリ501に
は上記各サンプル点振幅値X0〜X31のうちの
偶数番目のサンプル点振幅値X0,X2,X4…
X30が記憶され、奇数波形メモリ502には奇
数番目のサンプル点振幅値X1,X3,X5…X
31が記憶されている。
排他オアゲート群503からなる回路および加
算器504、排他オアゲート群505からなる回
路は、それぞれシフタ4から加えられるアドレス
データ信号AD2〜AD7にもとづき互に位相が
異りかつ波形メモリ501,502を双方向に読
出すための2つのアドレス信号、すなわち第1の
アドレス信号AS1および第2のアドレス信号AS
2を形成する。この第1のアドレス信号AS1と
第2のアドレス信号AS2は波形メモリ501,
502の読出し方向の逆転に際しセレクタ50
6,507で適宜切換えられて偶数波形メモリ5
01、奇数波形メモリ502に加えられる。また
波形メモリ501,502の出力側にそれぞれ設
けられている排他オアゲート群508、加算器5
09からなる回路および排他オアゲート群51
0、加算器511からなる回路はそれぞれ、波形
メモリ501,502の読出し値の符号を反転
(補数で負の値を示すものに変換)するためのも
のである。
演算制御データ発生回路512と演算回路51
3は補間データの形成を行うもので、その詳細は
第5図、第6図に示されている。
まず、第1のアドレス信号AS1および第2の
アドレス信号AS2の形成動作について説明する。
第1および第2のアドレス信号AS1,AS2は第
2図のシフタ4から加えられるアドレスデータ信
号AD0〜AD7のうちの上位6ビツトの信号AD
2〜AD7にもとづいて形成される。なおこの上
位6ビツトの信号AD2〜AD7は第4図a〜f
に示すように10進数で0から63までの値を繰返し
変化し、その周期は発音すべき楽音の音高(周波
数)に対応している。すなわち発音すべき楽音の
周波数をOとすると、信号AD2〜AD7は速度
64Oで変化するものであり、この単位変化時間
1/64O(各サンプル点の読出し時間間隔に相当)
を以下読出し単位時間という。
信号AD2〜AD7のうち最上位ビツトを除く
上位4ビツトの信号AD3〜AD6は排他オアゲ
ート群503の各排他オアゲートの一方の入力に
それぞれ加えられ、最上位ビツトの信号AD7は
各排他オアゲートの他方の入力に共通に加えられ
る。そして上記最上位ビツトの信号AD7と各排
他オアゲートの出力信号との計5ビツトの信号に
よつて第1のアドレス信号AS1,AS11〜AS
15が形成される。
また信号AD2〜AD7のうち上位5ビツトの
信号AD3〜AD7は加算器504に加えられ、
信号AD2は加算器504のキヤリイ入力に加え
られる。したがつて加算器504は信号AD3〜
AD7の値に信号AD2の内容を加算することに
なる。この加算器504の出力信号は最上位ビツ
トを除き排他オアゲート群505の各排他オアゲ
ートの一方の入力にそれぞれ加えられ、最上位ビ
ツトの出力信号は上記各排他オアゲートの各他方
の入力に共通に加えられる。そして加算器504
の最上位ビツト出力信号と排他オアゲート群の各
ゲート出力信号の計5ビツトの信号によつて第2
のアドレス信号AS2,AS21〜AS25が形成
される。
上記第1のアドレス信号AS1,AS11〜AS
15および第2のアドレス信号AS2,AS21〜
AS25をアドレスデータ信号AD0〜AD7の上
位6ビツトの信号AD2〜AD7との関係のもと
に示すと第1表のようになる。
TECHNICAL FIELD OF THE INVENTION The present invention relates to a method of forming a musical sound waveform for an electronic musical instrument, and more particularly to an improvement in a method of forming a musical sound waveform based on read values of a waveform memory in which a musical sound waveform is stored as a plurality of sample point amplitude values. Technical Background of the Invention A musical sound waveform is stored in a waveform memory as a plurality of sample point amplitude values, and the stored waveform is repeatedly read out using an address signal that changes at a frequency corresponding to the pitch of the musical sound to be generated. The musical sound waveform forming method for an electronic musical instrument is as follows.
Various so-called "waveform memory methods" have been proposed. By the way, one of the important issues in such a waveform memory type musical waveform forming method is as follows.
The problem is how to obtain smoothly changing tone waveforms by storing a small number of sample point amplitude values. To solve this problem, various techniques have been proposed to interpolate between adjacent sample point amplitude values, but all of them target waveform memory that stores the entire waveform period as multiple sample point amplitude values. That's what I'm saying. Therefore, although it is possible to reduce the capacity of the waveform memory to some extent by adopting interpolation technology, it is still necessary to store a large number of sample point amplitude values for one cycle of the musical waveform, so the capacity of the waveform memory is quite large. I had to use one. OBJECTS OF THE INVENTION It is an object of the present invention to provide a musical sound waveform forming method for an electronic musical instrument, which greatly reduces the number of sample point amplitude values stored in a waveform memory and allows a sufficiently smooth waveform to be obtained. Summary of the Invention In the present invention, a plurality of sample point amplitude values of a positive or negative half waveform of a musical sound waveform are stored in a waveform memory, and each sample point amplitude value is read out bidirectionally. A method is adopted in which a tone waveform is formed by suitably reversing the sign (positive or negative polarity) of the sample point amplitude value read out (read out) as the direction is reversed. A tone waveform is then formed by interpolating between the read values based on the amplitude values of adjacent sample points. However, when the reading direction of the waveform memory is reversed, interpolation is performed between read values having different signs based on the same sample point amplitude value. In one embodiment of the present invention, the waveform memory includes a first memory that stores even-numbered sample point amplitude values among the sample point amplitude values at each address;
and a second memory that stores odd-numbered sample point amplitude values at each address. For example, if we consider a configuration in which the positive half waveform of a sine wave musical waveform is stored as 16 sample point amplitude values, the waveform memory will store 16 sample point amplitude values as shown in Figure 1a. Therefore, the even-numbered sample point amplitude values X0, X2, . . . , X14 indicated by solid lines in FIG. X15 is stored in the second memory. Interpolation is then performed between adjacent sample point amplitude values, that is, between the read values of the first memory and the read values of the second memory. The interpolation adopted here is, for example, linear interpolation, and the state of this interpolation is shown in FIG. 1b. That is, the read values X( R ) and X( R+
1 ) is interpolated between each readout value of the waveform memory by linearly approximating and calculating each value on this straight line, for example, P 1 , P 2 , P 3 as appropriate.
According to such a configuration, between the read value of the first memory and the read value of the second memory, between the read value of the second memory and the next read value of the first memory, and so on. Interpolation is performed sequentially, with the read values of the first memory and the read values of the second memory being alternate starting points, but if this operation is simply repeated, the following problems will occur when the read direction of the waveform memory is reversed. occurs. That is, after reading the amplitude value X15 of the 15th sample point from the second memory, the amplitude value X1 of the 14th sample point is read from the first memory.
The value 14 obtained by inverting the sign of 4 is read out, and interpolation is performed between the value X15 and the value 14 as shown in FIG. 1c. Therefore, the smoothness of the musical sound waveform formed in this portion will be lost. Similarly, the waveform memory is read in the opposite direction, and the value 0 obtained by inverting the sign of the amplitude value X0 of the 0th sample point is read from the first memory. Next, the amplitude value X1 of the first sample point is read from the second memory.
As a result, the smoothness of the tone waveform formed in this portion is also lost. Therefore, in the present invention, when the reading direction of the waveform memory is reversed as described above, interpolation is performed between read values having different signs based on the same sample point amplitude value. For example,
When the reading direction is reversed from the 15th sample point to the 14th sample point, the value X15 read from the second memory and the value 15 obtained by reversing the sign of this value In addition, when reversing the reading direction from the 0th sample point to go to the 1st sample point, the value 0 is obtained by inverting the sign of the value X0 read from the first memory. It is configured to interpolate between the value X0 and the value X0. That is, when the reading direction of the waveform memory is reversed, interpolation is performed between read values having different signs regarding the same sample point. Furthermore, according to the method of this invention, the amplitude value is 0.
is not stored in waveform memory. That is, the amplitude value is 0
is formed by interpolation between identical read values with different signs. Embodiments of the Invention Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. FIG. 2 shows an example of an electronic musical instrument to which the musical sound waveform forming method according to the present invention is applied.
This electronic musical instrument is capable of producing multiple tones at the same time, and the key switch circuit 1 includes a plurality of key switches that operate in response to the pressing of each key on a keyboard (not shown), and the operating status of these key switches is Detected by key assigner 2. The key assigner 2 determines which key or keys are being pressed (the sound of the key to be sounded) based on the detection of the operating state of each key switch in the key switch circuit 1, and forms a key code KC that identifies the sound of this key. , an operation is performed in which each of these key codes KC is assigned to one of a plurality of sounding channels that can be sounded simultaneously. Key assigner 2 sends a key code KC based on the above assignment and a key-on signal KON indicating whether or not the key corresponding to this key code KC is being pressed.
is output. The key code KC and key-on signal KON are outputted in a time-division manner for each sound generation channel. The key code KC is composed of a note code NC for identifying 12 note names and an octave code OC for identifying, for example, a 5-octave range, using a 4-bit digital code and a 3-bit digital code, respectively. Can be configured. Of the key codes KC output from the key assigner 2, the note code NC is added to the address generator 3. In response to the added note code NC, the address generator 3 generates an address signal corresponding to the frequency of the note in the lowest octave among the notes indicated by the note code. This address signal consists of 8-bit signals A0 to A7, of which the upper 6 bits are the signal A2.
~A7 corresponds to the frequency of the above-mentioned lowest octave sound. More precisely, in an embodiment of the present invention that will be explained later in connection with this electronic musical instrument, one musical waveform is represented by 64 sample point amplitude values, and 32 sample point amplitude values corresponding to half the waveform are stored in the waveform memory. Since the frequency of the sound in the lowest octave is M , the address signal A0~
Signals A2-A7 of the upper 6 bits of A7 change at a speed of 64M , and the address signals A0-A7 as a whole change at a speed of 4.times.64M . The address signals A0 to A7 are also output in a time-division manner synchronized with the sound generation channel. Address signals A0 to A7 generated from the address generator 3 in response to the note code NC are applied to the shifter 4. The shifter 4 also has an octave code OC of the key code KC output from the key assigner 2.
has been added. The shifter 4 shifts address signals A0 to A7 corresponding to the lowest octave tone of each note generated from the address generator 3 in accordance with the octave code OC, thereby generating an address data signal AD0 having a frequency corresponding to the tone to be generated. ~ forms AD7. For example, address signal A0 generated from address generator 3
-A7 corresponds to the C note of the first octave, and the octave code OC indicates the second octave.The shifter 4 operates to shift the address signals A0-A7 by 1 bit to the upper side. Address data signals AD0 to AD7 corresponding to two octaves of C note are formed. These address data signals AD0 to AD7 are applied to tone generator 5. The structure of the tone generator 5 is the same as that of this invention, and its details are shown in FIG. In FIG. 3, musical waveforms to be generated are stored in an even waveform memory 501 and an odd waveform memory 502. To store a musical sound waveform in the even waveform memory 501 and the odd waveform memory 502, one period of a predetermined musical sound waveform is extracted with 64 sample point amplitude values, and positive amplitude values (from X0 to The even-numbered waveform memory 501 stores the even-numbered sample point amplitude values X0, X2, X4, . . . of the sample point amplitude values X0 to X31.
X30 is stored, and the odd-numbered sample point amplitude values X1, X3, X5...X are stored in the odd-numbered waveform memory 502.
31 is stored. The circuit consisting of the exclusive OR gate group 503, the adder 504, and the circuit consisting of the exclusive OR gate group 505 have mutually different phases based on the address data signals AD2 to AD7 applied from the shifter 4, and the waveform memories 501 and 502 are bidirectional. two address signals, namely a first address signal AS1 and a second address signal AS
form 2. The first address signal AS1 and the second address signal AS2 are transmitted to the waveform memory 501,
When the read direction of 502 is reversed, the selector 50
6,507, the even number waveform memory 5
01, is added to the odd waveform memory 502. Further, an exclusive OR gate group 508 and an adder 5 are provided on the output sides of the waveform memories 501 and 502, respectively.
09 circuit and exclusive OR gate group 51
0 and an adder 511 are for inverting the signs of the read values of the waveform memories 501 and 502 (converting them into complementary numbers indicating negative values). Arithmetic control data generation circuit 512 and arithmetic circuit 51
3 forms interpolated data, the details of which are shown in FIGS. 5 and 6. First, the operation of forming the first address signal AS1 and the second address signal AS2 will be explained.
The first and second address signals AS1 and AS2 are signals AD of the upper 6 bits of the address data signals AD0 to AD7 applied from the shifter 4 in FIG.
2 to AD7. The upper 6-bit signals AD2 to AD7 are shown in Fig. 4 a to f.
As shown in the figure, the value repeatedly changes from 0 to 63 in decimal notation, and its cycle corresponds to the pitch (frequency) of the musical note to be produced. In other words, if the frequency of the musical tone to be sounded is O , the signals AD2 to AD7 are the speed
64 O , and this unit change time is 1/64 O (corresponding to the readout time interval of each sample point)
is hereinafter referred to as the read unit time. Among the signals AD2 to AD7, the signals AD3 to AD6 of the upper four bits excluding the most significant bit are respectively applied to one input of each exclusive OR gate of the exclusive OR gate group 503, and the signal AD7 of the most significant bit is applied to the other input of each exclusive OR gate. Commonly added to input. Then, the first address signals AS1, AS11 to AS are generated by a total of 5 bits of the signal AD7 of the most significant bit and the output signal of each exclusive OR gate.
15 is formed. Further, among the signals AD2 to AD7, the higher 5 bits of the signals AD3 to AD7 are added to the adder 504,
Signal AD2 is applied to the carry input of adder 504. Therefore, the adder 504 receives the signal AD3~
The contents of signal AD2 will be added to the value of AD7. The output signal of this adder 504, except for the most significant bit, is applied to one input of each exclusive OR gate of the exclusive OR gate group 505, and the output signal of the most significant bit is commonly applied to the other input of each of the exclusive OR gates. It will be done. and adder 504
A total of 5 bits of signals, including the most significant bit output signal of the
address signals AS2, AS21 to AS25 are formed. The above first address signals AS1, AS11 to AS
15 and second address signals AS2, AS21~
Table 1 shows AS25 in relation to signals AD2 to AD7 of the upper six bits of address data signals AD0 to AD7.
【表】
また第1のアドレス信号AS1および第2のア
ドレス信号AS2の指定アドレスを信号AD2〜
AD7との関係のもとにタイミングチヤートで示
すと第4図g,hのようになる。なお第4図g,
hにおいてバーのついた数字は読出し方向が逆転
している場合のアドレスを示す。すなわち第1の
アドレス信号AS1および第2のアドレス信号AS
2はいずれも信号AD2〜AD7の1/2の速度で変
化し、かつ、第2のアドレス信号AS2は第1の
アドレス信号AS1に比較して位相が前記読出し
単位時間だけずれたものとなる。このような第1
のアドレス信号AS1はセレクタ506,507
のA入力にそれぞれ加えられ、第2のアドレス信
号AS2はセレクタ506,507のB入力にそ
れぞれ加えられる。
セレクタ506,507はA入力に加えられる
信号とB入力に加えられる信号のいずれかをそれ
ぞれ選択して出力するものであるが、この選択制
御はアンド回路A1,A2および排他オア回路
EX1によつて形成される信号SSによつて制御さ
れる。この信号SSを論理式で示すと
SS=AD1,AD2,AD3,AD4,AD5,
AD6AD7
となる。すなわち信号SSは第4図iに示すよう
に信号AD2〜AD7が値63を示す期間の中央
において立下り、信号AD2〜AD7が値31を
示す期間の中央において立上る信号となる。この
信号SSは直接セレクタ506のA入力選択端子
SAに加えられるとともにセレクタ507のB入
力選択端子SBに加えられ、またインバータIN
1,IN2でそれぞれ反転されてセレクタ506
のB入力選択端子SBに加えられるとともにセレ
クタ507のA入力選択端子SAに加えられる。
したがつてセレクタ506は信号SSが“1”
の間はA入力に加えられる第1のアドレス信号
AS1を選択し、“0”の間はB入力に加えられる
第2のアドレス信号AS2を選択する。またセレ
クタ507は信号SSが“1”の間にB入力に加
えられる第2のアドレス信号AS2を選択し、
“0”の間はA入力に加えられる第1のアドレス
信号AS1を選択する。セレクタ506によつて
選択されたアドレス信号AS1またはAS2のうち
下位4ビツトの信号AS11〜AS14またはAS
21〜AS24は偶数波形メモリ501に読出し
アドレス信号として加えられ、最上位ビツトの信
号AE5,AS15またはAS25は偶数波形メモ
リ501から読出された値を補数形式で符号を反
転した値にするために加算器509のキヤリイ入
力Ciに加えられる。同様にセレクタ507によつ
て選択されたアドレス信号AS2またはAS1のう
ち下位4ビツトの信号AS21〜AS24または
AS11〜AS14は奇数波形メモリ502に読出
しアドレス信号として加えられ、最上位ビツトの
信号AO5,AS25またはAS15は奇数波形メ
モリ502から読出された値を補数形式で符号を
反転した値にするために加算器511に加えられ
る。
偶数波形メモリ501は前述したように楽音波
形の正の半波形に対応する32のサンプル点振幅値
のうち偶数番目のサンプル点の振幅値X0,X
2,X4…X30を各アドレスに記憶しており、
また奇数波形メモリ502は奇数番目のサンプル
点の振幅値X1,X3,X5…X31を各アドレ
スに記憶しており、それぞれ加えられる4ビツト
の読出しアドレス信号に対応してその記憶値を順
次読出す。偶数波形メモリ501から読出された
値は排他オア回路群508、加算器509を介し
て演算回路513に加えられる。ここで、セレク
タ506によつて選択されたアドレス信号の最上
位ビツトの信号AE5が“0”の場合は排他オア
回路群508、加算器509では何の処理も行わ
れず偶数波形メモリ501の読出し値はそのまま
演算回路513に加えられる。しかし信号AE5
が“1”の場合は排他オアゲート群508におい
て偶数波形メモリ501の各ビツト出力が反転さ
れ、この反転された信号の値に「1」が加算器5
09で加算され、補数形式で負の値を示すものと
して演算回路513に加えられる。同様に排他オ
アゲート群510、加算器511からなる回路は
セレクタ507によつて選択されたアドレス信号
の最上位ビツトの信号AO5が“0”の場合は奇
数波形メモリ502の読出し値をそのまま演算回
路513に加え、“1”の場合は奇数波形メモリ
502の読出し値を補数形式で符号を反転して演
算回路513に加える。
演算回路513は、加算器509,511の出
力および演算制御データ発生回路512から発生
される制御データX1,E2,E4,O2,O4
にもとづき偶数波形メモリ501、奇数波形メモ
リ502に記憶された各サンプル点振幅値間の補
間演算を行う。
この補間演算は、通常偶数波形メモリ501の
読出し値にもとづく値と奇数波形メモリ502の
読出し値にもとづく値との間で行われるが、偶数
波形メモリ501、奇数波形メモリ502の読出
し方向の逆転時には偶数波形メモリ501または
奇数波形メモリ502のいずれかの単一のメモリ
の読出し値にもとづく符号の異なる値間で補間が
行われる。第4図jとkの間に示した矢印はこの
補間の様子を示したものである。すなわち信号
AD2〜AD7の示す値が0のときは偶数波形メ
モリ501は0番地がアドレスされて、メモリ5
01の0番地の記憶値EV0(サンプル点振幅値
X0に対応)が読出され、奇数波形メモリ502
は同様に0番地がアドレスされてメモリ502の
0番地の記憶値OD0(サンプル点振幅値X1に
対応)が読出され、値EV0を始点として値OD
0に至る補間演算が行われる。次に信号AD2〜
AD7の示す値が1のときは偶数波形メモリ50
1は1番地、奇数波形メモリ502は上記と同様
に0番地がアドレスされ、値OD0を始点として
メモリ501の1番地の記憶値EV1(サンプル
点振幅値X2に対応)に至る補間演算が行われ
る。同様に信号AD2〜AD7の示す値が2のと
きは偶数波形メモリ501および奇数波形メモリ
502はときに1番地がアドレスされ、偶数波形
メモリ501の1番地の記憶値EV1を始点とし
奇数波形メモリ502の1番地の記憶値OD1
(サンプル点振幅値X3に対応)に至る補間が行
われる。以下同様に補間動作が繰返えされ、信号
AD2〜AD7の示す値が31になると、その期間
の中央でメモリ501,502に加えられるアド
レス信号が切換えられ、この期間においては奇数
波形メモリ502の15番地の読出し値OD15を
始点とし、該読出し値OD15にもとづく負の値
OD15に至る補間が行われる。続いて、奇数波
形メモリ502の15番地の読出し値OD15にも
とづく負の値15を始点とし、偶数波形メモ
リ501の15番地の読出し値EV15にもとづく
負の値15に至る補間が行われる。以下同様
の動作が繰返えされ、信号AD2〜AD7の示す
値が63になると、その期間の中央において再びメ
モリ501,502の読出しアドレス信号が切換
えられるので、この期間においては偶数波形メモ
リ501の第0番地の読出し値EV0にもとづく
負の値0を始点とし、該読出し値EV0に至る
補間が行われる。
上記補間は3つの補間点を内挿する直線補間に
よつて行われる。第7図a〜dは上記補間の4つ
の典型的例を示している。第7図aは偶数波形メ
モリ501の読出し値にもとづく値EVを始点と
し奇数波形メモリ502の読出し値ODに至る補
間の例を示したものである。この補間による補間
点P1,P2,P3の値は次の演算によつて求め
ることができる。
P1=OD−EV/4+EV (1)
P2=2(OD−EV)/4+EV (2)
P3=3(OD−EV)/4+EV (3)
ところで、式(1)は
P1=(OD/4+EV/4)×1+EV/4×2 (4)
と変形でき、また式(2)は
P2=OD/4×2+EV/4×2 (5)
と変形でき、また式(3)は
P3=(OD/4+EV/4)×1+OD/4×2 (6)
と変形できる。
また
EV=EV/4×4 (7)
と表わされる。
したがつて偶数波形メモリ501の記憶値
(EV)がEV/4に対応するものであり、奇数波形メ
モリ502の記憶値(OD)がOD/4に対応するも
のであるとすれば始点P0(EV)と3つの補間
点P1,P2,P3は次の演算によつて求めるこ
とができる。
P0=EV×4 (8)
P1=(OD+EV)×1+EV×2 (9)
P2=OD×2+EV×2 (10)
P3=(OD+EV)×1+OD×2 (11)
ここで、演算EV×4を指令する指号をE4、
演算(OD+EV)×1を指令する信号をX1、演
算EV×2を指令する信号をE2、演算OD×2
を指令する信号をO2とすると、始点P0と3つ
の補間点P1,P2,P3を求める演算は第2表
に示すような指令信号を与え、2つの演算が同時
に指令された場合はそれらの演算結果を加算すれ
ばよいことがわかる。[Table] Also, the designated addresses of the first address signal AS1 and the second address signal AS2 are set to the signals AD2~
A timing chart based on the relationship with AD7 is shown in Figure 4 g and h. In addition, Figure 4g,
The numbers with bars in h indicate addresses when the reading direction is reversed. That is, the first address signal AS1 and the second address signal AS
2 change at half the speed of the signals AD2 to AD7, and the phase of the second address signal AS2 is shifted by the read unit time compared to the first address signal AS1. The first one like this
The address signal AS1 of selector 506, 507
The second address signal AS2 is applied to the B inputs of selectors 506 and 507, respectively. The selectors 506 and 507 select and output either the signal applied to the A input or the signal applied to the B input, respectively, and this selection control is performed by AND circuits A1 and A2 and an exclusive OR circuit.
It is controlled by the signal SS generated by EX1. This signal SS is expressed by a logical formula: SS=AD1, AD2, AD3, AD4, AD5,
It becomes AD6AD7. That is, the signal SS falls at the center of the period in which the signals AD2 to AD7 take the value 63, and rises at the center of the period in which the signals AD2 to AD7 take the value 31, as shown in FIG. 4i. This signal SS is directly connected to the A input selection terminal of the selector 506.
SA and the B input selection terminal SB of the selector 507, and the inverter IN
1 and IN2 are inverted, respectively, and the selector 506
is applied to the B input selection terminal SB of the selector 507, and also applied to the A input selection terminal SA of the selector 507. Therefore, the selector 506 indicates that the signal SS is "1".
the first address signal applied to the A input during
AS1 is selected, and during "0", the second address signal AS2 applied to the B input is selected. Further, the selector 507 selects the second address signal AS2 to be applied to the B input while the signal SS is "1",
During "0", the first address signal AS1 applied to the A input is selected. Signals AS11 to AS14 or AS of the lower 4 bits of the address signal AS1 or AS2 selected by the selector 506
21 to AS24 are added to the even waveform memory 501 as read address signals, and the most significant bit signal AE5, AS15 or AS25 is added to make the value read from the even waveform memory 501 into a value with the sign reversed in complement form. is added to the carry input C i of the device 509 . Similarly, of the address signal AS2 or AS1 selected by the selector 507, the lower 4 bits of the signal AS21 to AS24 or
AS11 to AS14 are added to the odd waveform memory 502 as read address signals, and the most significant bit signal AO5, AS25 or AS15 is added to make the value read from the odd waveform memory 502 a value with the sign inverted in complement form. It is added to the container 511. As described above, the even waveform memory 501 stores the amplitude values X0,
2, X4...X30 are stored in each address,
In addition, the odd waveform memory 502 stores the amplitude values X1, X3, X5... . The value read from the even waveform memory 501 is added to the arithmetic circuit 513 via an exclusive OR circuit group 508 and an adder 509. Here, if the signal AE5 of the most significant bit of the address signal selected by the selector 506 is "0", no processing is performed in the exclusive OR circuit group 508 and the adder 509, and the read value of the even waveform memory 501 is is added to the arithmetic circuit 513 as is. But signal AE5
is “1”, each bit output of the even waveform memory 501 is inverted in the exclusive OR gate group 508, and “1” is added to the value of this inverted signal in the adder 5.
09 and is added to the arithmetic circuit 513 as a negative value in complement form. Similarly, when the signal AO5 of the most significant bit of the address signal selected by the selector 507 is "0", the circuit consisting of the exclusive OR gate group 510 and the adder 511 directly inputs the read value of the odd waveform memory 502 to the arithmetic circuit 513. In addition, in the case of "1", the read value of the odd waveform memory 502 is applied to the arithmetic circuit 513 with its sign inverted in complement form. The arithmetic circuit 513 receives control data X1, E2, E4, O2, O4 generated from the outputs of the adders 509 and 511 and the arithmetic control data generation circuit 512.
Based on this, interpolation calculations are performed between the amplitude values of each sample point stored in the even waveform memory 501 and the odd waveform memory 502. This interpolation calculation is normally performed between a value based on the read value of the even waveform memory 501 and a value based on the read value of the odd waveform memory 502, but when the read direction of the even waveform memory 501 and the odd waveform memory 502 is reversed, Interpolation is performed between values of different signs based on the read value of a single memory, either the even waveform memory 501 or the odd waveform memory 502. The arrow shown between j and k in FIG. 4 shows this interpolation. i.e. signal
When the value indicated by AD2 to AD7 is 0, even number waveform memory 501 is addressed to address 0, and memory 5
The memory value EV0 (corresponding to the sample point amplitude value X0) at address 0 of 01 is read out and stored in the odd waveform memory 502.
Similarly, address 0 is addressed, and the value OD0 (corresponding to the sample point amplitude value
An interpolation operation leading to 0 is performed. Next, signal AD2~
When the value indicated by AD7 is 1, even waveform memory 50
1 is addressed at address 1, and the odd waveform memory 502 is addressed at address 0 in the same way as above, and an interpolation calculation is performed starting from the value OD0 and reaching the stored value EV1 (corresponding to the sample point amplitude value X2) at address 1 in the memory 501. . Similarly, when the value indicated by the signals AD2 to AD7 is 2, the even waveform memory 501 and the odd waveform memory 502 are addressed to address 1, and the stored value EV1 at address 1 of the even waveform memory 501 is the starting point, and the odd waveform memory 502 Memory value OD1 of address 1
(corresponding to sample point amplitude value X3) is performed. The interpolation operation is repeated in the same way, and the signal
When the value indicated by AD2 to AD7 reaches 31, the address signals applied to the memories 501 and 502 are switched in the middle of that period, and in this period, the read value OD15 at address 15 of the odd waveform memory 502 is the starting point, and the read value is Negative value based on value OD15
Interpolation is performed to reach OD15. Subsequently, interpolation is performed starting from the negative value 15 based on the read value OD15 at address 15 of the odd waveform memory 502 to the negative value 15 based on the read value EV15 at address 15 of the even waveform memory 501. The same operation is repeated thereafter, and when the value indicated by the signals AD2 to AD7 reaches 63, the read address signals of the memories 501 and 502 are switched again at the center of the period, so that the even waveform memory 501 is Starting from a negative value 0 based on the read value EV0 at the 0th address, interpolation is performed to reach the read value EV0. The above interpolation is performed by linear interpolation that interpolates three interpolation points. Figures 7a-d show four typical examples of the above interpolation. FIG. 7a shows an example of interpolation starting from the value EV based on the read value of the even waveform memory 501 and reaching the read value OD of the odd waveform memory 502. The values of interpolation points P1, P2, and P3 resulting from this interpolation can be determined by the following calculation. P1=OD-EV/4+EV (1) P2=2(OD-EV)/4+EV (2) P3=3(OD-EV)/4+EV (3) By the way, formula (1) is P1=(OD/4+EV/ 4) × 1 + EV / 4 × 2 (4), formula (2) can be transformed as P2 = OD / 4 × 2 + EV / 4 × 2 (5), and formula (3) can be transformed as P3 = (OD / It can be transformed as 4+EV/4)×1+OD/4×2 (6). Also, it is expressed as EV=EV/4×4 (7). Therefore, if the stored value (EV) of the even waveform memory 501 corresponds to EV/4, and the stored value (OD) of the odd waveform memory 502 corresponds to OD/4, then the starting point P0 ( EV) and the three interpolation points P1, P2, P3 can be obtained by the following calculation. P0=EV×4 (8) P1=(OD+EV)×1+EV×2 (9) P2=OD×2+EV×2 (10) P3=(OD+EV)×1+OD×2 (11) Here, calculate EV×4. The command finger is E4,
X1 is the signal that commands calculation (OD + EV) x 1, E2 is the signal that commands calculation EV x 2, calculation OD x 2
Assuming that the command signal is O2, the calculation for the starting point P0 and the three interpolation points P1, P2, P3 will give the command signals shown in Table 2, and if two calculations are commanded at the same time, those calculations will be It turns out that all you have to do is add up the results.
【表】
第7図bは奇数波形メモリ502の読出し値
ODを始点とし、偶数メモリ501の読出し値
EVに至る補間の例を示したものである。この場
合も第7図aで説明したことと同様のことが成立
し、上記指令信号の定義に加えて、演算OD×4
を指令する信号をO4とすると、第7図bの場合
において始点P0と3つの補間点P1,P2,P
3を求める演算は第3表に示すような指令信号を
与えればよいことがわかる。[Table] Figure 7b shows the read value of the odd waveform memory 502.
Starting from OD, read value of even number memory 501
This shows an example of interpolation leading to EV. In this case as well, the same thing as explained in Fig. 7a holds true, and in addition to the definition of the command signal above,
Assuming that the signal for commanding is O4, in the case of Fig. 7b, the starting point P0 and the three interpolation points P1, P2, P
It can be seen that the calculation for obtaining 3 can be performed by giving a command signal as shown in Table 3.
【表】
第7図cは奇数波形メモリ502の読出し値
ODを始点とし、読出し値ODを符号反転した値
ODに至る補間をする場合を示したもので、信号
AD2〜AD7の示す値が31の場合に相当する。
この場合の各補間点P1,P2,P3は、それぞ
れ
P1=OD/4×2 (12)
P2=0 (13)
P3=−OD/4×2 (14)
として求めることができ、またこの場合は点P2
を境として読出し値の符号が反転されるので第4
表に示すような指令信号を与えればよいことがわ
かる。[Table] Figure 7c shows the read value of the odd waveform memory 502.
The value obtained by starting from OD and reversing the sign of the read value OD.
This shows the case of interpolation leading to OD, and the signal
This corresponds to the case where the value indicated by AD2 to AD7 is 31.
In this case, each interpolation point P1, P2, P3 can be obtained as P1=OD/4×2 (12) P2=0 (13) P3=−OD/4×2 (14), and in this case is point P2
Since the sign of the read value is inverted after the fourth
It can be seen that it is sufficient to give command signals as shown in the table.
【表】
また第7図dは偶数波形メモリ501の読出し
値EVを符号反転した値を始点とし、該読出し
値EVに至る補間をする場合を示したもので、信
号AD2〜AD7の示す値が63の場合に相当する。
この場合は第7図cで説明したことと同様のこと
が成立する。すなわち、この場合は第5表に示す
ような指令信号を与えればよい。[Table] Also, FIG. 7d shows a case in which the starting point is a value obtained by inverting the sign of the read value EV of the even waveform memory 501, and interpolation is performed to reach the read value EV, and the values indicated by the signals AD2 to AD7 are Corresponds to case 63.
In this case, the same thing as explained in FIG. 7c holds true. That is, in this case, command signals as shown in Table 5 may be given.
【表】
演算制御データ発生回路512は上記各場合に
おける指令信号X1,E2,E4,O2,O4の
発生を行なうものである。この演算制御データ発
生回路512の詳細は第5図に示される。演算制
御データ発生回路512は11個のアンド回路A5
〜A15と2個のオア回路OR1,OR2から構
成され、入力される信号AD0,AD1,AD2′,
PTM,MTPにもとづき指令信号X1,E2,E
4,O2,O4を発生する。ここで信号AD0,
AD1は第4図l,mにそれぞれ示され、信号
AD2′は信号AD7と信号AD2の排他オア条件
を排他オア回路EX2によつてとつたもので、第
4図nに示される。なお、信号AD2′は偶数波
形メモリ501と奇数波形メモリ502のいずれ
の読出し値を始点として補間を行うかを示すもの
で、信号AD2′と補間の方向との関係を表に示
すと第6表のようになる。[Table] The arithmetic control data generation circuit 512 generates command signals X1, E2, E4, O2, and O4 in each of the above cases. Details of this arithmetic control data generation circuit 512 are shown in FIG. The arithmetic control data generation circuit 512 includes 11 AND circuits A5
~A15 and two OR circuits OR1 and OR2, and input signals AD0, AD1, AD2',
Command signals X1, E2, E based on PTM, MTP
4, O2, and O4 are generated. Here signal AD0,
AD1 is shown in Figure 4l and m, respectively, and the signal
AD2' is the exclusive OR condition of the signal AD7 and the signal AD2 determined by the exclusive OR circuit EX2, as shown in FIG. 4n. Note that the signal AD2' indicates which reading value from the even waveform memory 501 or the odd waveform memory 502 is used as the starting point for interpolation, and the relationship between the signal AD2' and the direction of interpolation is shown in Table 6. become that way.
【表】
また信号PTMはアンド回路A1,A3および
インバータIN3によつて形成され、信号MTPは
アンド回路A1,A4によつて形成されるもの
で、それぞれ論理式で示すと次のようになる。
PTM=AD2・AD3・AD4・AD5・AD6・7
MTP=AD2・AD3・AD4・AD5・AD6・AD7
この信号PTMおよびMTPはそれぞれ第4図o+
pに示される。
演算制御データ発生回路512から発生される
信号X1,E2,E4,O2,O4の発生態様は
4つのパターンからなり、各パターンは前掲の第
2表から第5表に対応している。各パターンを列
挙すると次のようになる。
1 AD2′=0 PTM=0 MTP=0
E4→X1,E2→E2,O2→X1,O2
2 AD2′=1 PTM=0 MTP=0
O4→X1,O2→E2,O2→X1,E2
3 AD2′=0 PTM=1 MTP=0
O4→O2→0→O2
4 AD2′=0 PTM=0 MTP=1
E4→E2→0→E2
上記関係をタイミングチヤートで示すと第4図q
〜uのようになる。
演算回路513は、加算器509,511の出
力および演算制御データ発生回路512から出力
される信号X1,E2,E4,O2,O4にもと
づき所定の演算を行うもので、その詳細は第6図
に示される。この回路513はアンドゲート群5
14,515、オアゲート群516,517、加
算器518,519,520から構成される。ま
ず演算制御データ発生回路512から発生される
信号X1〜O4のうちE4のみが“1”で他は全
て“0”である場合について説明する。この場合
はアンドゲート群514、オアゲート群516に
よつて加算器509の出力を上位ビツト側に(右
方に)2ビツトシフトした信号が選択され、この
信号は加算器518のA入力A3〜A8、加算器
520のA入力A3〜A8を介して加算器520
の加算出力S,S3〜S8から送出される。この
場合EV×4の演算を行つたことになる。同様に
信号O4のみが“1”であるとすると、アンドゲ
ート群515、オアゲート群517によつて加算
器511の出力を上位ビツト側に2ビツトシフト
した信号が選択され、この信号は加算器519の
A入力A3〜A8、加算器520のA入力A3〜
A8を介して加算器520の加算出力S,S3〜
S8から送出される。この場合OD×4の演算を
行つたことになる。
また信号X1とE2のみが“1”であるとする
と、アンドゲート群514、オアゲート群516
によつて加算器509の出力およびこの出力を上
位ビツト側に1ビツトシフトした信号が選択さ
れ、シフトしない信号は加算器518のB入力B
1〜B6に、1ビツトシフトした信号は加算器5
18のA入力A2〜A7にそれぞれ加えられる。
加算器518は上記B入力に加えられた信号とA
入力に加えられた信号を加算し、加算器520の
A入力に加える。またアンドゲート群515、オ
アゲート群517は加算器511のシフトしない
信号を選択し、これを加算器519のB入力B1
〜B6を介して加算器520のB入力B1〜B6
に加える。加算器520は上記A入力に加えられ
た信号とB入力に加えられた信号とを加算し、こ
れを加算出力Sから送出する。すなわちこの場合
(EV+OD)×1+EV×2の演算を行つたこと
になる。
同様に信号X1とO2のみが“1”の場合は加
算器509の出力は加算器518のB入力を介し
て加算器520のA入力に加えられ、また加算器
511の出力とこの出力を上位ビツト順に1ビツ
トシフトした信号とが加算器519において加算
された後加算器520のB入力に加えられる。す
なわち、(EV+OD)×1+OD×2の演算が行わ
れることになる。
また信号E2とO2のみが“1”の場合は加算
器509の出力を上位ビツト側に1ビツトシフト
した信号がアンドゲート群514、オアゲート群
516によつて選択され、加算器518のA入力
を介して加算器520のA入力に加えられ、また
加算器511の出力を上位ビツト側に1ビツトシ
フトした信号がアンドゲート群515、オアゲー
ト群517によつて選択され、加算器519のA
入力を介して加算器520のB入力に加えられ
る。そして両信号は加算器520で加算されて加
算出力Sから送出される。すなわちEV×2+
OD×2の演算が行われたことになる。
また信号E2のみが“1”の場合は、加算器5
09の出力を上位ビツト側に1ビツトシフトした
信号がアンドゲート群514、オアゲート群51
6によつて選択され、加算器518のA入力、加
算器520のA入力を介して送出される。すなわ
ちEV×2の演算が行われる。同様に信号O2の
みが“1”の場合は、加算器511の出力を上位
ビツト側に1ビツトシフトした信号がアンドゲー
ト群515、オアゲート群517によつて選択さ
れ、加算器519のA入力、加算器520のB入
力を介して送出される。すなわちOV×2の演算
が行われる。
演算回路513は演算制御データ発生回路51
2から発生される信号X1〜O4に対応して上記
演算のいずれかを実行し、補間された各サンプル
点振幅値を示す信号を順次出力する。なお上記演
算回路513を含む第3図の回路はアドレスデー
タ信号AD0〜AD7がチヤンネル別に時分割で
供給されることからチヤンネル別に時分割動作
し、演算回路513からはチヤンネル別のサンプ
ル点振幅値を示す信号が時分割で出力される。こ
の演算回路513の出力(トーンジエネレータ5
の出力)は第2図に示すマルチプライヤ7に加え
られる。マルチプライヤ7にはキーアサイナ2か
ら出力されるキーオン信号KONに応答してエン
ベロープジエネレータ6からチヤンネル別に発生
されるエンベロープ信号EVSが加えられており、
マルチプライヤ7はトーンジエネレータ5から発
生された各サンプル点振幅値を示す信号に上記エ
ンベロープ信号EVSを乗算し、押鍵に対応した
振幅制御を各チヤンネル別に行う。マルチプライ
ヤ7で振幅制御がなされた信号はアキユムレータ
8に加えられて各チヤンネルの値が合算された後
D/Aコンバータ9に加えられてアナログ信号に
変換され、発音するためにサウンドシステム10
に供給される。
なお、上記実施例では偶数波形メモリ501と
奇数波形メモリ502の2つのメモリを用いて楽
音波形の正の半波形を記憶するようにするととも
に、読出し方向の逆転時には同一のメモリの読出
し値間で補間演算を行うように構成したが、単一
のメモリを用いても同様に構成することができ
る。この場合、読出し方向の逆転時には同一アド
レスの記憶値にもとづく符号の異なる2つの値の
間で補間動作を行うように構成すればよい。また
波形メモリに記憶する波形は正弦波に限らず対象
性を有するものであればいかなる波形でもよい。
また、上記実施例において高オクターブになる
とトーンジエネレータ5に加えられるアドレスデ
ータ信号の最下位ビツトまたは下位2ビツトが常
に0になることがある。そしてこの結果補間のス
テツプ数は減少するが、高オクターブにおいては
基本周波数が充分高いためこれによる音色への影
響は少ない。
発明の効果
以上説明したように、この発明によれば波形メ
モリに記憶するサンプル点振幅値の数を大幅に減
少させることができるので小容量のメモリを用い
て波形メモリを構成することができ、しかも雑音
成分の少ない滑らかな楽音波形を得ることができ
る。[Table] Furthermore, the signal PTM is formed by AND circuits A1, A3 and inverter IN3, and the signal MTP is formed by AND circuits A1, A4, which are expressed by the following logical formulas. PTM=AD2・AD3・AD4・AD5・AD6・7 MTP=AD2・AD3・AD4・AD5・AD6・AD7 These signals PTM and MTP are respectively shown in Figure 4 o+
It is shown in p. The manner in which the signals X1, E2, E4, O2, and O4 are generated from the arithmetic control data generating circuit 512 consists of four patterns, and each pattern corresponds to Tables 2 to 5 above. Listing each pattern is as follows. 1 AD2'=0 PTM=0 MTP=0 E4→X1, E2→E2, O2→X1, O2 2 AD2'=1 PTM=0 MTP=0 O4→X1, O2→E2, O2→X1, E2 3 AD2 '=0 PTM=1 MTP=0 O4→O2→0→O2 4 AD2'=0 PTM=0 MTP=1 E4→E2→0→E2 The above relationship is shown in a timing chart as shown in Figure 4q.
It becomes like ~u. The arithmetic circuit 513 performs predetermined arithmetic operations based on the outputs of the adders 509 and 511 and the signals X1, E2, E4, O2, and O4 output from the arithmetic control data generation circuit 512, the details of which are shown in FIG. shown. This circuit 513 is an AND gate group 5
14,515, OR gate groups 516,517, and adders 518,519,520. First, a case will be described in which among the signals X1 to O4 generated from the arithmetic control data generation circuit 512, only E4 is "1" and all the others are "0". In this case, the AND gate group 514 and the OR gate group 516 select a signal obtained by shifting the output of the adder 509 by 2 bits to the upper bit side (to the right), and this signal is applied to the A inputs A3 to A8 of the adder 518, Adder 520 via A inputs A3 to A8 of adder 520
It is sent out from the addition outputs S, S3 to S8. In this case, the calculation of EV×4 is performed. Similarly, if only the signal O4 is "1", the AND gate group 515 and the OR gate group 517 select a signal obtained by shifting the output of the adder 511 by 2 bits to the upper bit side, and this signal is used by the adder 519. A inputs A3 to A8, A inputs A3 to A8 of adder 520
Addition output S, S3~ of adder 520 via A8
It is sent from S8. In this case, the calculation of OD×4 has been performed. Further, if only the signals X1 and E2 are "1", the AND gate group 514 and the OR gate group 516
selects the output of adder 509 and a signal obtained by shifting this output by one bit to the upper bit side, and the unshifted signal is selected as B input B of adder 518.
The signal shifted by 1 bit from 1 to B6 is sent to adder 5.
It is applied to 18 A inputs A2 to A7, respectively.
The adder 518 combines the signal added to the B input and the A
The signals applied to the inputs are summed and applied to the A input of adder 520. Furthermore, the AND gate group 515 and the OR gate group 517 select the unshifted signal of the adder 511 and input it to the B input B1 of the adder 519.
B inputs B1 to B6 of adder 520 via ~B6
Add to. The adder 520 adds the signal applied to the A input and the signal applied to the B input, and sends this out from the addition output S. That is, in this case, the calculation (EV+OD)×1+EV×2 has been performed. Similarly, when only the signals X1 and O2 are "1", the output of adder 509 is added to the A input of adder 520 via the B input of adder 518, and the output of adder 511 and this output are added to the upper The signals shifted one bit in bit order are added in an adder 519 and then applied to the B input of an adder 520. That is, the calculation (EV+OD)×1+OD×2 will be performed. Furthermore, when only the signals E2 and O2 are "1", a signal obtained by shifting the output of the adder 509 by one bit to the higher bit side is selected by the AND gate group 514 and the OR gate group 516, and is sent via the A input of the adder 518. A signal obtained by shifting the output of the adder 511 by one bit to the higher bit side is selected by the AND gate group 515 and the OR gate group 517, and is applied to the A input of the adder 519.
is applied to the B input of adder 520 via the input. Then, both signals are added by an adder 520 and sent out from the addition output S. In other words, EV×2+
This means that the calculation of OD×2 has been performed. Moreover, when only the signal E2 is "1", the adder 5
The signal obtained by shifting the output of 09 by 1 bit to the upper bit side is the AND gate group 514 and the OR gate group 51.
6 and sent via the A input of adder 518 and the A input of adder 520. That is, the calculation of EV×2 is performed. Similarly, when only the signal O2 is "1", a signal obtained by shifting the output of the adder 511 by 1 bit to the upper bit side is selected by the AND gate group 515 and the OR gate group 517, and the A input of the adder 519, 520 via the B input. That is, the calculation of OV×2 is performed. The calculation circuit 513 is the calculation control data generation circuit 51
One of the above calculations is performed in response to the signals X1 to O4 generated from 2, and a signal indicating the interpolated amplitude value of each sample point is sequentially output. The circuit shown in FIG. 3 including the arithmetic circuit 513 operates in a time-division manner for each channel because the address data signals AD0 to AD7 are supplied to each channel in a time-division manner, and the arithmetic circuit 513 receives sample point amplitude values for each channel. The signals shown are output in a time-division manner. The output of this arithmetic circuit 513 (tone generator 5
output) is applied to the multiplier 7 shown in FIG. An envelope signal EVS generated for each channel from an envelope generator 6 in response to the key-on signal KON output from the key assigner 2 is added to the multiplier 7.
The multiplier 7 multiplies the signal representing the amplitude value of each sample point generated by the tone generator 5 by the envelope signal EVS, and performs amplitude control for each channel in accordance with the key depression. The signal whose amplitude has been controlled by the multiplier 7 is applied to the accumulator 8, where the values of each channel are summed, and then applied to the D/A converter 9, where it is converted into an analog signal, and then sent to the sound system 10 for sound generation.
supplied to In the above embodiment, two memories, the even waveform memory 501 and the odd waveform memory 502, are used to store the positive half waveform of the musical sound waveform, and when the reading direction is reversed, the read values of the same memory are Although the configuration has been described so as to perform interpolation calculations, a similar configuration can be made using a single memory. In this case, when the reading direction is reversed, an interpolation operation may be performed between two values having different signs based on the stored value at the same address. Further, the waveform stored in the waveform memory is not limited to a sine wave, but any waveform that has symmetry may be used. Furthermore, in the above embodiment, when the octave is high, the least significant bit or the lower two bits of the address data signal applied to the tone generator 5 may always be 0. As a result, the number of interpolation steps decreases, but since the fundamental frequency is sufficiently high in high octaves, this has little effect on the timbre. Effects of the Invention As explained above, according to the present invention, the number of sample point amplitude values stored in the waveform memory can be significantly reduced, so the waveform memory can be configured using a small-capacity memory. Furthermore, a smooth musical sound waveform with few noise components can be obtained.
第1図はこの発明を説明するためのグラフ、第
2図はこの発明を適用した電子楽器の一実施例を
示すブロツク図、第3図はこの発明の要部の一実
施例を示すブロツク図、第4図は第3図の回路の
動作を説明するタイミングチヤート、第5図は第
3図に示した演算制御データ発生回路の詳細構成
例を示す回路図、第6図は第3図に示した演算回
路の詳細構成例を示す回路図、第7図はこの発明
に係わる補間動作を説明するグラフである。
1…キースイツチ回路、2…キーアサイナ、3
…アドレスジエネレータ、4…シフタ、5…トー
ンジエネレータ、6…エンベロープジエネレー
タ、7…マルチプライヤ、8…アキユムレータ、
9…D/Aコンバータ、10…サウンドシステ
ム、501…偶数波形メモリ、502…奇数波形
メモリ、512…演算制御データ発生回路、51
3…演算回路。
Fig. 1 is a graph for explaining this invention, Fig. 2 is a block diagram showing an embodiment of an electronic musical instrument to which this invention is applied, and Fig. 3 is a block diagram showing an embodiment of the main part of this invention. , FIG. 4 is a timing chart explaining the operation of the circuit in FIG. 3, FIG. 5 is a circuit diagram showing a detailed configuration example of the arithmetic control data generation circuit shown in FIG. 3, and FIG. FIG. 7 is a circuit diagram showing a detailed configuration example of the illustrated arithmetic circuit, and is a graph explaining the interpolation operation according to the present invention. 1...Key switch circuit, 2...Key assigner, 3
... Address generator, 4... Shifter, 5... Tone generator, 6... Envelope generator, 7... Multiplier, 8... Accumulator,
9... D/A converter, 10... Sound system, 501... Even number waveform memory, 502... Odd number waveform memory, 512... Arithmetic control data generation circuit, 51
3... Arithmetic circuit.
Claims (1)
のサンプル点振幅値を波形メモリに記憶し、該波
形メモリに記憶した各サンプル点振幅値を双方向
に互に符号を反転して順次読出すとともに各読出
し値の間を適宜補間することにより所望の楽音波
形を得るようにした電子楽器の楽音波形形成方法
において、前記波形メモリに記憶された偶数番目
のサンプル点振幅値にもとづく読出し値と奇数番
目のサンプル点振幅値にもとづく読出し値との間
を順次補間するとともに、前記波形メモリの読出
し方向の逆転に際しては同一サンプル点振幅値に
もとづく符号の異なる読出し値間を補間するよう
にしたことを特徴とする電子楽器の楽音波形形成
方法。 2 前記波形メモリは、前記サンプル点のうちの
偶数番目のサンプル点振幅値を各アドレスに記憶
した第1のメモリと、奇数番目のサンプル点振幅
値を各アドレスに記憶した第2のメモリとからな
り、前記補間は、前記第1のメモリの読出し値と
前記第2のメモリの読出し値との間で行われると
ともに、読出し方向の逆転に際しては同一メモリ
の符号の異なる読出し値の間で行われるようにし
た特許請求の範囲第1項記載の電子楽器の楽音波
形形成方法。 3 前記第1のメモリおよび第2のメモリは所定
時間を単位時間として変化するアドレス信号によ
つてアドレスされ、かつそれぞれのアドレス信号
の変化は前記単位時間の1/2時間づつ互にずれて おり、更にそのずれの方向は前記波形メモリの読
出し方向が逆転する毎に切換わり、前記補間は前
記アドレス信号に同期した前記単位時間の1/2の 期間毎にそれぞれ行われるものである特許請求の
範囲第2項記載の電子楽器の楽音波形形成方法。 4 上位nビツトの信号の値が発音すべき楽音の
周波数に対応した速度で変化するNビツトの2進
デイジタル信号のうち前記上位nビツトの信号を
第1のアドレス信号とし、前記第1のアドレス信
号に上位からn+1ビツト目の信号の内容を加え
た信号を第2のアドレス信号とし、前記第1のア
ドレス信号および前記第2のアドレス信号を読出
し方向の逆転に際して交互に切換えて前記第1の
メモリおよび前記第2のメモリに交互に加えるよ
うにした特許請求の範囲第2項記載の電子楽器の
楽音波形形成方法。[Claims] 1. A plurality of sample point amplitude values in a positive or negative half waveform of a musical sound waveform are stored in a waveform memory, and the signs of each sample point amplitude value stored in the waveform memory are mutually inverted in both directions. In a musical sound waveform forming method for an electronic musical instrument, in which a desired musical sound waveform is obtained by sequentially reading out the reading values and appropriately interpolating between the read values, the amplitude value of the even-numbered sample point stored in the waveform memory is Sequentially interpolating between the original read value and the read value based on the odd-numbered sample point amplitude value, and when reversing the read direction of the waveform memory, interpolate between read values with different signs based on the same sample point amplitude value. A method for forming a musical sound waveform for an electronic musical instrument, characterized in that: 2. The waveform memory includes a first memory that stores even-numbered sample point amplitude values among the sample points at each address, and a second memory that stores odd-numbered sample point amplitude values at each address. The interpolation is performed between the read value of the first memory and the read value of the second memory, and when the read direction is reversed, the interpolation is performed between the read values of the same memory with different signs. A musical sound waveform forming method for an electronic musical instrument according to claim 1. 3. The first memory and the second memory are addressed by address signals that change over a predetermined time as a unit time, and changes in the respective address signals are shifted from each other by 1/2 of the unit time. , furthermore, the direction of the shift is switched each time the reading direction of the waveform memory is reversed, and the interpolation is performed every 1/2 period of the unit time synchronized with the address signal. A musical sound waveform forming method for an electronic musical instrument according to scope 2. 4. Of the N-bit binary digital signal in which the value of the signal of the upper n bits changes at a speed corresponding to the frequency of the musical tone to be generated, the signal of the upper n bits is used as a first address signal, and the signal of the upper n bits is set as a first address signal. A signal obtained by adding the contents of the (n+1)th bit from the higher order to the signal is used as a second address signal, and the first address signal and the second address signal are alternately switched when the reading direction is reversed to obtain the first address signal. 3. The musical sound waveform forming method for an electronic musical instrument according to claim 2, wherein the sound waveform is added alternately to the memory and the second memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57013069A JPS58130388A (en) | 1982-01-29 | 1982-01-29 | Formation of musical sound waveform for electronic musical instrument |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57013069A JPS58130388A (en) | 1982-01-29 | 1982-01-29 | Formation of musical sound waveform for electronic musical instrument |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58130388A JPS58130388A (en) | 1983-08-03 |
| JPH0340400B2 true JPH0340400B2 (en) | 1991-06-18 |
Family
ID=11822854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57013069A Granted JPS58130388A (en) | 1982-01-29 | 1982-01-29 | Formation of musical sound waveform for electronic musical instrument |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58130388A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0631990B2 (en) * | 1984-01-07 | 1994-04-27 | カシオ計算機株式会社 | Waveform interpolator |
| JPS61245196A (en) * | 1985-04-24 | 1986-10-31 | ヤマハ株式会社 | Musical sound generation |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5851307B2 (en) * | 1974-07-11 | 1983-11-15 | ヤマハ株式会社 | Hakei Hatsei Souchi |
| JPS593759B2 (en) * | 1977-11-08 | 1984-01-25 | ヤマハ株式会社 | Waveform memory read method |
| JPS5935037B2 (en) * | 1977-12-14 | 1984-08-25 | ヤマハ株式会社 | electronic musical instruments |
-
1982
- 1982-01-29 JP JP57013069A patent/JPS58130388A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58130388A (en) | 1983-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS60258594A (en) | musical tone generator | |
| US5340938A (en) | Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels | |
| JPS6223319B2 (en) | ||
| JP2605916B2 (en) | Waveform signal generator | |
| GB2091469A (en) | Electronic musical instrument forming tone waveforms by sampling | |
| JP2766662B2 (en) | Waveform data reading device and waveform data reading method for musical sound generator | |
| JPH0340400B2 (en) | ||
| US5185491A (en) | Method for processing a waveform | |
| US5340940A (en) | Musical tone generation apparatus capable of writing/reading parameters at high speed | |
| JP2599193B2 (en) | Music information expression method and music information expression device | |
| JPS6227718B2 (en) | ||
| JPS61124994A (en) | Musical sound signal generator | |
| JPS6330638B2 (en) | ||
| JP2728756B2 (en) | Musical waveform generating apparatus and musical waveform generating method | |
| JP3091343B2 (en) | Electronic musical instrument | |
| JPH03249699A (en) | Fluctuation generator for electronic musical instruments | |
| JP2699886B2 (en) | Music control information generator | |
| JP2912110B2 (en) | Sine synthesizing method, musical tone waveform generator using the same, and electronic musical instrument | |
| JPH05717B2 (en) | ||
| JP2736557B2 (en) | Electronic musical instrument | |
| JP2768086B2 (en) | Musical sound wave generator | |
| JP2859073B2 (en) | Electronic musical instrument | |
| JPH039476B2 (en) | ||
| JP3551992B2 (en) | Electronic musical instrument | |
| JPH0369119B2 (en) |