JPH0631984B2 - Musical sound generator - Google Patents

Musical sound generator

Info

Publication number
JPH0631984B2
JPH0631984B2 JP58011865A JP1186583A JPH0631984B2 JP H0631984 B2 JPH0631984 B2 JP H0631984B2 JP 58011865 A JP58011865 A JP 58011865A JP 1186583 A JP1186583 A JP 1186583A JP H0631984 B2 JPH0631984 B2 JP H0631984B2
Authority
JP
Japan
Prior art keywords
data
waveform
signal
register
supplied
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
Application number
JP58011865A
Other languages
Japanese (ja)
Other versions
JPS59136796A (en
Inventor
多弘 村瀬
欣士 河本
正隆 二階堂
達也 足立
哲彦 金秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP58011865A priority Critical patent/JPH0631984B2/en
Publication of JPS59136796A publication Critical patent/JPS59136796A/en
Publication of JPH0631984B2 publication Critical patent/JPH0631984B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は楽音発生装置に関し、特に、楽音波形の形状を
操作し時間的な変化を施して自然楽器音を模擬する楽音
発生装置に関する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical tone generator, and more particularly to a musical tone generator that manipulates the shape of a musical tone waveform and changes it with time to simulate a natural musical instrument sound.

従来例の構成とその問題点 従来、自然楽器音を模擬するものとして、正弦波合成方
式を用いたもの、周波数変調方式を用いたもの、減算方
式(おもにアナログ処理でVCO,VCF,VCAなどを使用した
もの。)を用いたものなどが提示されているが、回路規
模が大きくなり実現化が困難なものとか、方式上の限界
があるという問題点を有していた。
Conventional configuration and its problems Conventionally, to simulate natural musical instrument sounds, a sine wave synthesis method, a frequency modulation method, a subtraction method (mainly analog processing such as VCO, VCF, VCA However, there are problems that the circuit scale is large and it is difficult to realize, and that there is a limit in the method.

発明の目的 本発明の目的は、簡単な構成で自然楽器音を模擬すると
ともに、にごりのない音をつくることができる楽音発生
装置を提供するものである。
OBJECT OF THE INVENTION It is an object of the present invention to provide a musical tone generating apparatus capable of simulating a natural musical instrument sound with a simple structure and producing a sound with no turbidity.

発明の構成 本発明の楽音発生装置は、楽音の発生開始から発音終了
時までの複数個の楽音波形のうち少なくとも2つ以上の
楽音波形を音域ごとに独立に準備すると共に上記選択抽
出した楽音波形を用いて合成波形を形成する時に使用す
る制御データとを記憶するデータメモリ部と、発音音階
を決定するノートクロツク発生部と、上記ノートクロツ
ク発生部の出力信号と音域指定データに基づいて上記デ
ータメモリ部から2つの波形サンプルデータと制御デー
タとを読み出すデータ読み出し部と、上記データ読み出
し部で読み出した2つの波形サンプルデータと制御デー
タとを用いて合成波形サンプルデータを求める波形計算
部と、上記波形計算部のデイジタル出力信号をアナログ
信号に変換する変換部とを具備し、楽音波形を発生する
ように構成したものであり、楽音波形の形状を時間的に
変化させて自然楽器音に近い楽音波形を発生することが
でき、さらに発生する折り返し成分や量子化により生じ
るサンプル波成分をすべて基本周波数の高調波に一致さ
せることによりにごり音をなくせる。
According to the musical sound generating apparatus of the present invention, at least two or more musical sound waveforms among a plurality of musical sound waveforms from the start of musical sound generation to the end of sound generation are independently prepared for each musical range, and the selected and extracted musical sound waveforms. , A data memory unit for storing control data used when forming a synthesized waveform using, a note clock generation unit for determining a tone scale, and an output signal of the note clock generation unit and the data memory unit based on range specification data. A data reading section for reading two waveform sample data and control data from the waveform reading section, a waveform calculating section for obtaining combined waveform sample data using the two waveform sample data and control data read by the data reading section, and the waveform calculation The digital output signal of the unit is provided with a conversion unit for converting the signal to an analog signal so that a tone waveform is generated. The configuration is such that the shape of the musical tone waveform can be changed with time to generate a musical tone waveform close to that of a natural musical instrument, and the aliasing components that occur and sample wave components that occur due to quantization are all harmonics of the fundamental frequency. You can eliminate the noise by matching the waves.

実施例の説明 以下本発明の一実施例を図面に基づいて説明する。ま
ず、本発明の原理について説明する。第1図に離散的に
抽出した楽音1周期の楽音波形を示す。発音開始時から
の時間経過と楽音波形との関係を下記に示す。
Description of Embodiments An embodiment of the present invention will be described below with reference to the drawings. First, the principle of the present invention will be described. FIG. 1 shows a musical tone waveform of one cycle of a musical tone which is discretely extracted. The relationship between the passage of time from the start of pronunciation and the tone waveform is shown below.

第1図からもわかるように、時間経過と共に楽音波形の
形状が変化している。本発明は、楽音波形の時間的形状
変化という点に着目し、波形の形状に時間変化を施すこ
とにより、自然楽器らしい楽音を発生するものである。
As can be seen from FIG. 1, the shape of the musical tone waveform changes over time. The present invention focuses on the point that the shape of a musical tone waveform changes with time, and generates a musical tone like a natural musical instrument by changing the shape of a waveform with time.

データメモリの記憶内容についての説明 第2図に発音開始時から発音終了時までの楽音波形のエ
ンベロープ包絡状態の一例を示す。第2図に示したエン
ベロープ包絡の発音開始時から発音終了時までをI分割
(I=0,1,…,i,…,I−1)する。そして、各
分割点から選択抽出した楽音波形1周期をそれぞれN分
割する。第3図に選択抽出した楽音波形の一例を示す。
抽出したI個の楽音波形1周期をN分割して得たN個の
波形サンプル値すなわち、N×I個の波形サンプル値
と、楽音を発生する時に使用する制御データ(本発明で
は、波形内挿を行なうための制御データを考えている)
とをデータメモリに記憶しておく。
Description of contents stored in data memory FIG. 2 shows an example of the envelope envelope state of the musical tone waveform from the start of sound generation to the end of sound generation. From the start of sounding of the envelope envelope shown in FIG. 2 to the end of sounding, it is divided into I (I = 0, 1, ..., I, ..., I-1). Then, one period of the musical tone waveform selected and extracted from each division point is divided into N portions. FIG. 3 shows an example of the musical tone waveforms selectively extracted.
N waveform sample values obtained by dividing one period of the extracted I musical tone waveforms into N, that is, N × I waveform sample values, and control data used to generate a musical tone (in the present invention, I am considering the control data for insertion)
And are stored in the data memory.

波形内挿方法についての説明 波形内挿方法としては、I分割して選択抽出したサンプ
ル波位置iからi+1(i=0,1,2,…,I−1)
の間を楽音波形1周期がM回くり返して推移するものと
し、波形サンプルf(Xi,n)とf(Xi+1,n)との間に存在す
る仮想サンプル値 を補間演算を用い仮想的に仮想サンプル点の波形サンプ
ル値を算出して近似値を求めるようとするものである。
補間式を下式に示す。
Description of Waveform Interpolation Method As a waveform interpolation method, i + 1 (i = 0, 1, 2, ..., I-1) from sample wave positions i selected by I division and extracted
It is assumed that one period of the musical tone waveform repeats M times and the virtual sample value existing between the waveform samples f (X i, n ) and f (X i + 1, n ) Is used to virtually calculate a waveform sample value at a virtual sample point to obtain an approximate value.
The interpolation formula is shown below.

iは、I分割して抽出したサンプル位置で、波形ナンバ
である。(i=0,1,2,…,I−1) mは、波形ナンバiからi+1の間をM回繰り返し推移
している途中の位置を表わすものである。(m=0,
1,2,…,M−1) nは、楽音波形1周期をN分割したサンプル位置で波形
サンプルナンドである。
i is a sample position extracted by I division and is a waveform number. (I = 0, 1, 2, ..., I-1) m represents a position in which the waveform number i to i + 1 is being repeated M times. (M = 0,
1, 2, ..., M-1) n is a waveform sample NAND at a sample position obtained by dividing one period of the tone waveform into N.

(n=0,1,2,…,N−1) 第4図(a)に(1)式を用いた補間例を示す。図からもわか
るように、波形のつなぎ目で不連続が発生している。こ
の不連続点のレベル差が大きい場合は、不用なノイズ成
分として聴感上問題となる場合がある。そこで、本実施
例では、(1)式に補正項を加えて第4図(b)に示すように
不連続点の発生を防止している。(2)式に補正項を加え
た補間式を示す。
(N = 0, 1, 2, ..., N-1) FIG. 4 (a) shows an example of interpolation using the equation (1). As can be seen from the figure, discontinuity occurs at the joint between the waveforms. When the level difference between the discontinuities is large, it may cause a hearing problem as an unnecessary noise component. Therefore, in this embodiment, a correction term is added to the equation (1) to prevent the occurrence of discontinuities as shown in FIG. 4 (b). An interpolation formula in which a correction term is added to formula (2) is shown.

エンベロープの付加方法についての説明 楽音の種類として、オルガン型エンベロープとピアノ型
エンベロープがある。第5図にオルガン型とピアノ型の
エンベロープを付加した一例を示す。図中(a)はオルガ
ン型、(b)はピアノ型である。
Description of the method of adding envelopes There are two types of musical sounds: organ type envelopes and piano type envelopes. FIG. 5 shows an example in which organ type and piano type envelopes are added. In the figure, (a) is an organ type, and (b) is a piano type.

この説明では、前述までと違いデータメモリに記憶して
いる波形は、発音終了時までの波形ではなく楽音の定常
部あるいは波形の形状が安定した所までを持ち、以後の
波形発生はデータメモリに記憶している最後の波形をく
り返し使用するものとする。
In this explanation, unlike the above, the waveform stored in the data memory is not the waveform until the end of sounding, but the steady part of the musical tone or the place where the waveform shape is stable, and the subsequent waveform generation is stored in the data memory. The last stored waveform shall be used repeatedly.

オルガン型の説明 第5図中A点でキー信号がオン状態となると、データメ
モリの波形データを用い波形内挿を行なつて楽音を合成
する。そして、B点まで時間が進むと最終波形データと
なり、以後最終波形がくり返し発生する。その後、C点
でキー信号がオフ状態になると、エンベロープ信号は減
衰特性となり、出力波形は減衰することになる。
Description of Organ Type When the key signal is turned on at point A in FIG. 5, the waveform data in the data memory is used to perform waveform interpolation to synthesize a musical tone. Then, when the time advances to point B, the final waveform data is obtained, and thereafter, the final waveform is repeatedly generated. After that, when the key signal is turned off at the point C, the envelope signal has an attenuation characteristic and the output waveform is attenuated.

ピアノ型の説明 第5図中A点でキー信号がオン状態となると、データメ
モリの波形データを用い波形内挿を行なつて楽音を合成
する。そして、B点まで進むと最終波形データとなり、
以後最終波形データをくり返し使用するとともに、エン
ベロープ信号が減衰特性状態となり、出力波形は減衰特
性に対応して減衰して行く。
Description of the piano type When the key signal is turned on at point A in FIG. 5, the waveform data in the data memory is used to perform waveform interpolation to synthesize a musical tone. Then, when it goes to point B, it becomes the final waveform data,
After that, the final waveform data is repeatedly used, the envelope signal becomes in the attenuation characteristic state, and the output waveform attenuates in accordance with the attenuation characteristic.

音程の発生方法についての説明 音階の決定については、12音階に相当するクロツク信号
を発生する。オクターブ関係については、データメモリ
に記憶している楽音波形1周期のサンプル数をかえるこ
とによりオクターブ関係の音程を発生している。
Explanation of pitch generation method To determine the scale, a clock signal corresponding to 12 scales is generated. Regarding the octave relation, the octave relation pitch is generated by changing the number of samples of one period of the tone waveform stored in the data memory.

C0音を512サンプルとすると、音階クロツク信号は、32.
703Hz×512サンプル≒16.74KHzとなる。第1表に音階ク
ロツク周波数を、第2表に波形サンプル数とオクターブ
関係について示す。
If the C 0 note is 512 samples, the scale clock signal is 32.
703Hz x 512 samples ≒ 16.74KHz. Table 1 shows the scale clock frequencies, and Table 2 shows the number of waveform samples and the octave relationship.

次に本発明の一実施例について図面を参照しながら説明
する。第6図は本発明の楽音発生装置を採用した電子楽
器のブロツク図である。(601)は鍵盤部(KB)、(602)は音
色タブレツトスイツチやビブラート効果のオンオフスイ
ツチやグライド効果のオンオフスイツチなどにより構成
される操作部(TAB)、(603)は中央処理装置(CPU)で、コ
ンピユータなどに用いられているものと同様のもの、(6
04)は読み書き可能な記憶装置(ランダムアクセスメモ
リでRAMと呼ぶ)、(605)はCPU(603)の動作を決定するプ
ログラムが格納された読み出し専用記憶装置(シードオ
ンリーメモリでROMと呼ぶ)、(606)は楽音の合成を行な
うための波形サンプルデータや波形内挿を行なうための
制御データなどを記憶しているROMである。(607)はROM
(606)に記憶している波形サンプルデータや制御データ
を用いて楽音を発生する楽音発生部、(608)はサンプリ
ングノイズを除去するフイルタ、(609)は電気音響変換
器である。
Next, an embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a block diagram of an electronic musical instrument which employs the musical sound generating apparatus of the present invention. (601) is the keyboard section (KB), (602) is the operation section (TAB) that is composed of on / off switch for tone tabulation switch, vibrato effect, on / off switch for glide effect, etc., and (603) is the central processing unit (CPU). ), Similar to those used in computers, etc., (6
04) is a readable / writable storage device (random access memory called RAM), (605) is a read-only storage device (seed only memory called ROM) that stores a program that determines the operation of the CPU (603), Reference numeral (606) is a ROM that stores waveform sample data for synthesizing musical tones, control data for waveform interpolation, and the like. (607) is ROM
A tone generation unit that generates a tone using the waveform sample data and control data stored in (606) is a filter that removes sampling noise (608), and an electroacoustic transducer (609).

鍵盤部(601)、操作部(602)、CPU(603)、RAM(604)、ROM
(605)(606)、楽音発生部(607)はデータバス、アドレス
バスおよびコントロール線で結合されている。このよう
にデータバスとア ドレスバスとコントロール線とで結合する方法そのもの
は、ミニコンピユータやマイクロコンピユータを中心と
した構成方法として公知のものである。データバスとし
ては8〜16本位用いられ、このバス線上をデータが一方
向でなく多方向に時分割的に送受信される。アドレスバ
スも複数本たとえば16本用意され、通常はCPU(603)がア
ドレスコードを出力し、他の部分がアドレスコードを受
き取る。コントロール線は通常メモリ・リクエスト線
(▲詔▼)、I/Oリクエスト線(▲
▼)、リード線(▲▼)、ライト線(▲▼)な
どが用いられる。
Keyboard part (601), operation part (602), CPU (603), RAM (604), ROM
(605) and (606) and the tone generating section (607) are connected by a data bus, an address bus and a control line. In this way, the data bus and The method itself for connecting the dress bus and the control line is a known method as a construction method centering on a minicomputer or a microcomputer. About 8 to 16 data buses are used, and data is transmitted and received on this bus line not in one direction but in multiple directions in a time division manner. A plurality of address buses, for example, 16 are also prepared. Normally, the CPU (603) outputs the address code, and the other parts receive the address code. Control lines are usually memory request line (▲ 詔 ▼), I / O request line (▲)
▼), lead wire (▲ ▼), write wire (▲ ▼), etc. are used.

▲▼はメモリを読み書きすることを示し、▲
▼は入出力装置(I/O)の内容を取り出しすること
を示し、▲▼はメモリやI/Oからデータを読み出す
タイミングを示し、▲▼はメモリやI/Oにデータを
書き込むタイミングを示す。このようなコントロール線
を用いたものとしては、ザイログ社のマイクロプロセツ
サZ80があげられる。
▲ ▼ indicates reading / writing memory, ▲
▼ indicates that the contents of the input / output device (I / O) are taken out, ▲ ▼ indicates the timing to read data from the memory or I / O, and ▲ ▼ indicates the timing to write data to the memory or I / O. . Microprocessor Z80 manufactured by Zylog Co., Ltd. can be used as such a control line.

次に第6図の電子楽器の動作について述べる。鍵盤部(6
01)は、複数の鍵スイツチを複数の群に分けて、群内の
鍵スイツチのオン/オフ状態を一括してデータバスに送
ることができるように構成される。たとえば61鍵の鍵盤
の場合、6鍵(半オクターブ)ずつの10群と1鍵の1群
の11群に分け、各群にアドレスコードを1つずつ割りつ
ける。アドレスラインに上記各群のうちの1つを示すア
ドレスコードが到来し、信号▲▼と信号▲
▼が印加されると、鍵盤部(601)はそのアドレスコード
を解読して、対応する群内のキースイツチのオン/オフ
を示す6ビツトまたは1ビツトのデータをデータバスに
出力する。これらは、デコーダ、バスドライバおよび若
干のゲート回路を用いて構成することができる。操作部
(602)のうち、ダブレツトスイツチについては、鍵盤部
(601)と同様の構成をとることができる。
Next, the operation of the electronic musical instrument shown in FIG. 6 will be described. Keyboard part (6
01) is configured so that a plurality of key switches are divided into a plurality of groups and the ON / OFF states of the key switches in the group can be collectively sent to the data bus. For example, in the case of a 61-key keyboard, it is divided into 10 groups of 6 keys (half octave) and 11 groups of 1 key, and one address code is assigned to each group. An address code indicating one of the above groups arrives on the address line, and signals ▲ ▼ and ▲
When ▼ is applied, the keyboard section (601) decodes the address code and outputs 6-bit or 1-bit data indicating ON / OFF of the key switch in the corresponding group to the data bus. These can be configured using a decoder, a bus driver and some gate circuits. Operation part
Of the (602), the doublet switch is the keyboard
A configuration similar to (601) can be adopted.

CPU(603)はその内部にあるプログラムカウンタのコード
に対応するROM(605)のアドレスから命令コードを読み取
り、これを解読して算術演算、論理演算、データの読み
込みと書き込み、プログラムカウンタの内容の変更によ
る命令のジヤンプなどの作業を行なう。これらの作業の
手順はROM(605)に書き込まれている。まずCPU(603)はRO
M(605)より鍵盤部(601)のデータを取り込むための命令
を読み取り、鍵盤部(601)の各鍵のオン/オフを示すコ
ードを各群ごとに取り込んで行く。そして、押鍵されて
いる鍵コードを、楽音発生部(607)の有限のチヤネルに
割り当て鍵コードに対応する楽音発生データを送出す
る。
The CPU (603) reads the instruction code from the address of the ROM (605) corresponding to the code of the program counter in the CPU (603), decodes it, and performs arithmetic operations, logical operations, reading and writing of data, and the contents of the program counter. Performs operations such as jumps on orders due to changes. The procedures for these operations are written in the ROM (605). First, the CPU (603) is RO
The command for fetching the data of the keyboard section (601) is read from M (605), and the code indicating ON / OFF of each key of the keyboard section (601) is fetched for each group. Then, the depressed key code is assigned to a finite channel of the tone generation unit (607), and tone generation data corresponding to the key code is transmitted.

次にCPU(603)はは操作部(602)よりデータを取り込むた
めの一群の命令を順次ROM(605)から読み取り、これらを
解読して操作部(602)に対応するアドレスコードとコン
トロール信号▲▼と▲▼を出力し、データ
バスに操作部(602)のスイツチの状態を表現するコード
を出力させ、CPU(603)内に読み込む。CPU(603)内に読み
込んだデータに基づいて、音色の選択や所定の効果制御
データの生成を行ない、ROM(606)に音色選択データ、楽
音発生部(607)に効果制御データを送出する。なお、押
鍵されている鍵コードを楽音発生部(607)の有限のチヤ
ネルに割り当ててゆく方法そのものは、ジエネレータア
サイナ機能として公知のものである。
Next, the CPU (603) sequentially reads a group of instructions for fetching data from the operation unit (602) from the ROM (605), decodes them, and decodes the address code and control signal corresponding to the operation unit (602). ▼ and ▲ ▼ are output, a code expressing the state of the switch of the operation unit (602) is output to the data bus, and the code is read into the CPU (603). Based on the data read into the CPU (603), the tone color is selected and predetermined effect control data is generated, and the tone color selection data is sent to the ROM (606) and the effect control data is sent to the musical tone generating unit (607). The method of assigning the depressed key code to the finite channel of the musical sound generating section (607) is known as a generator assigner function.

楽音発生部(607)ではCPU(603)から供給された楽音発生
データに基づいて、楽音合成データROM(606)から所定の
波形サンプルデータや制御データを取り込み波形内挿処
理を行なつて楽音波形を発生し、フイルタ(608)を介し
て電気音響変換器(609)から楽音を発生させる。なお、
楽音発生部(607)の内部処理としては前述に説明したと
おりである。
The tone generator (607) fetches predetermined waveform sample data and control data from the tone synthesis data ROM (606) based on the tone generation data supplied from the CPU (603) and performs waveform interpolation processing to perform tone waveform Is generated, and a musical sound is generated from the electroacoustic transducer (609) via the filter (608). In addition,
The internal processing of the musical sound generating unit (607) is as described above.

第7図にCPU(603)から楽音発生部(607)にデータを供給
する場合のタイムチヤートを示す。アドレスバスにI/O
ポートアドレスを、データバスに楽音発生データや効果
制御データなどをそれぞれ供給する。そして、コントロ
ール信号▲▼と▲▼が論理ロウレベル(以
下“O”と略す)から論理ハイレベル(以下“1”と略
す)へ変化するタイミングで、I/Oポートアドレスで指
定されているチヤネルにデータバスの内容をラツチす
る。
FIG. 7 shows a time chart when the data is supplied from the CPU (603) to the musical sound generating unit (607). I / O to address bus
It supplies the port address and the tone generation data and effect control data to the data bus. Then, at the timing when the control signals ▲ ▼ and ▲ ▼ change from the logic low level (hereinafter abbreviated as “O”) to the logic high level (hereinafter abbreviated as “1”), the channel specified by the I / O port address is changed. Latch the contents of the data bus.

次に、楽音発生部(607)に供給される各種のデータにつ
いての説明を行なう。
Next, various data supplied to the musical sound generating unit (607) will be described.

第8表にI/Oポートアドレスと各種データの内容を示
す。I/Oポートアドレスは16進表示となつている。I/Oポ
ートアドレス(00)16から(07)16に対応するデータは、楽
音発生データで8チヤネル分すなわち、8音分の発生が
可能となつている。I/Oポートアドレス(08)16はサステ
インデータで、第5図で説明したエンベロープ信号の減
衰特性を指定するものである。I/Oポートアドレス(09)
16はエンベロープ特性がピアノ型の時に有効となるダン
パデータで、サステインデータと同様エンベロープ信号
の減衰特性を指定するものである。I/Oポートアドレス
(OA)16はビートデータで、2楽音発生時の周波数のずれ
を指定するものである。I/Oポートアドレス(OB)16は効
果制御データで、ビブラートオン/オフ信号やグライド
オン/オフ信号などで構成している。
Table 8 shows the contents of I / O port addresses and various data. The I / O port address is displayed in hexadecimal. The data corresponding to the I / O port addresses (00) 16 to (07) 16 are musical tone generation data for eight channels, that is, eight tones can be generated. The I / O port address (08) 16 is sustain data, and designates the attenuation characteristic of the envelope signal described in FIG. I / O port address (09)
Reference numeral 16 is damper data that is effective when the envelope characteristic is a piano type, and designates the attenuation characteristic of the envelope signal like the sustain data. I / O port address
(OA) 16 is beat data for designating a frequency shift when two musical tones are generated. The I / O port address (OB) 16 is effect control data, and is composed of a vibrato on / off signal and a glide on / off signal.

第4表に楽音発生データの構成内容を示す。ビツト位置
D0からD3は音階周波数を指定するノートクロツク指
定データである。ビツト位置D4 〜D6は発生音域を指定する波形サンプル数指定データ
である。ビツト位置D7は鍵スイツチのオン/オフ操作
に伴なうキーオン/オフ信号で、オフ時は“0”、オン
時は“1”となる。
Table 4 shows the composition of the tone generation data. Bit positions D0 to D3 are note clock designation data for designating scale frequencies. Bit position D4 D6 are waveform sample number designation data for designating the generated sound range. The bit position D7 is a key on / off signal associated with the on / off operation of the key switch, which is "0" when it is off and "1" when it is on.

第5表に波形サンプル数指定データSD0〜SD2のコード内
容とそのコードで指定される波形1周期のサンプル数を
示す。波形サンプル数指定データSDは(000)2から(111)2
までの8種類の波形サンプル数が指定できるようになつ
ており、本実施例では、512サンプルから4サンプルま
でを指定している。
Table 5 shows the code contents of the waveform sample number designation data SD0 to SD2 and the number of samples in one cycle of the waveform designated by the code. Waveform sample number specification data SD is (000) 2 to (111) 2
Up to 8 types of waveform sample numbers can be designated. In this embodiment, 512 to 4 samples are designated.

第6表にノートクロツク指定データND0〜ND3で表わされ
るコードの内容と、そのコードで指定される指定音階の
関係を示す。
Table 6 shows the relationship between the contents of the chords represented by the note clock designation data ND0 to ND3 and the designated scale designated by the chords.

第7表に効果制御データの構成内容を示す。ビツト位置
D0はビブラートオン/オフ信号VIBで、操作部(602)内
のビブラートオン/オフスイツチがオフの時“0”、オ
ンの時“1”となる。
Table 7 shows the structure of the effect control data. The bit position D0 is a vibrato on / off signal VIB, which is "0" when the vibrato on / off switch in the operation unit (602) is off and "1" when it is on.

ビツト位置D1はデイレイビブラートオン/オフ信号DV
IBで、デイレイビブラート効果制御信号 であり、操作部(602)内のデイレイビブラートオン/オ
フスイツチがオフの時“0”、オンの時“1”となる。
Bit position D1 is the delay vibrato on / off signal DV
IB, delay vibrato effect control signal The delay vibrato on / off switch in the operation unit (602) is "0" when it is off and "1" when it is on.

ビツト位置D2はグランドオン/オフ信号GLで、操作部
(602)内のグランドスイツチがオフの時“0”、オンの
時“1”となる。
Bit position D2 is ground on / off signal GL
It is "0" when the ground switch in (602) is off and "1" when it is on.

ビツト位置D3はオルガン型/ピアノ型指定信号OPS
で、エンベロープ特性を指定するものであり、オルガン
型の時“0”、ピアノ型の時“1”となる。
Bit position D3 is organ type / piano type designation signal OPS
In this case, the envelope characteristic is designated, which is "0" for the organ type and "1" for the piano type.

ビツト位置D4はダンパオン/オフ信号DMPで、エンベ
ロープ特性がピアノ型の時のみ有効となるもので、ダン
パオフの時“0”、オンの時“1”となる。
The bit position D4 is a damper on / off signal DMP, which is effective only when the envelope characteristic is a piano type, and is "0" when the damper is off and "1" when the damper is on.

ビツト位置D5はジエネレータアサイナ動作モード信号
GAMで、1鍵で楽音発生チヤネルを2チヤネル使用する
場合の指定信号であり、GAM信号が“0”の場合、1鍵
1チヤネル使用(8音発生)となり、“1”の場合、1
鍵2チヤネル使用(4音発生)となる。
Bit position D5 is the generator assigner operation mode signal
In GAM, it is a designated signal when two channels are used to generate a tone with one key. When the GAM signal is "0", one channel uses one channel (eight notes are generated), and when "1", it is 1
Key 2 channel is used (4 sounds are generated).

第8図は楽音発生部(607)の構成図である。第8図にお
いて、(801)は主発振器、(802)は楽音発生部(607)の動
作内容を制御するシーケンサ、(803)はCPU(603)から供
給される各種のデータをラツチする入力レジスタ部、(8
04)はタイマー、(805)は比較レジスタ部、(806)は発音
すべき周波数に対応する周波数データを発生する周波数
データプロセツサ(以下FDPと略す)、(807)は前述で説
明した(2)式の波形内挿処理を行なう波形データプロセ
ツサ(以下WDPと略す)、(808)は楽音合成データROM(60
6)から波形サンプルデータや制御データなどを読み込む
データ・リード・プロセツサ(以下DRPと略す)、(809)
は所定のパルス幅のパルス信号を生成する読み出しパル
ス形成部、(810)はWDP(807)、DRP(808)などに演算処理
要求を行なう計算要求フラグ発生部、(811)はデイジタ
ル信号をアナログ信号に変換するデイジタル/アナログ
変化器(以下DACと略す)、(812)は1チヤネル当りアナ
ログスイツチ2つとコンデンサ1つとで構成されてお
り、アナログ信号を保持するアナログバツフアメモリ
部、(813)は積分器である。
FIG. 8 is a block diagram of the musical sound generating unit (607). In FIG. 8, (801) is a main oscillator, (802) is a sequencer for controlling the operation contents of the tone generating section (607), and (803) is an input register for latching various data supplied from the CPU (603). Department, (8
(04) is a timer, (805) is a comparison register section, (806) is a frequency data processor (hereinafter abbreviated as FDP) that generates frequency data corresponding to the frequency to be sounded, and (807) is described in (2) above. ) Is a waveform data processor (hereinafter abbreviated as WDP) that performs the waveform interpolation processing of Eq.
Data read processor (hereinafter abbreviated as DRP) that reads waveform sample data and control data from 6), (809)
Is a read pulse forming unit that generates a pulse signal of a predetermined pulse width, (810) is a calculation request flag generating unit that requests the WDP (807), DRP (808), and the like to perform arithmetic processing, and (811) is an analog digital signal. The digital / analog converter (abbreviated as DAC hereinafter) for converting to a signal, (812) is composed of two analog switches and one capacitor per channel, and an analog buffer memory section for holding analog signals, (813) Is the integrator.

上記構成において、(804)(805)(806)(810)は発音音階を
決定するノートクロツク発生部を構成し、その出力信号
に基づいて、データ読み出し部であるDRP(808)が楽音合
成データROM(606)から所定のデータを読み出す。
In the above configuration, (804) (805) (806) (810) constitutes a note clock generation unit that determines the tone scale, and based on the output signal, the DRP (808) that is the data read unit is the musical tone synthesis data ROM. Predetermined data is read from (606).

また、入力レジスタ部(803)、比較レジスタ部(805)、FD
P(806)、WDP(807)、DRP(808)、計算要求フラグ発生部(8
10)はシーケンサ(802)によつて処理を行なう手順が決め
られている。
In addition, the input register (803), comparison register (805), FD
P (806), WDP (807), DRP (808), calculation request flag generator (8
In step 10), the sequence of processing is determined by the sequencer (802).

CPPU(603)から所定のチヤネルたとえばチヤネル1に楽
音発生データが供給されると、シーケンサ(803)で決め
られている所定のタイミングで入力レジスタ部(803)か
らFDP(806)、WDP(807)、DRP(808)に楽音発生データが供
給される。そうすると、DRP(808)において、音楽合成デ
ータROM(606)から波形サンプルデータと制御データを読
み取る。そして、(2)式に示したf(Xi,n)をデータWDIと
し、f(Xi+1,n)をデータWDIIとしてWDP(807)に供給す
る。さらに、読み取つた制御データに基づいた(2)式に
示した内挿係数の分子項をデータMLPとしてWDP(807)に
供給する。また、最終波形データになると最終波形デー
タを指示するWEF信号をWDP(807)に供給する。
When the tone generation data is supplied from the CPPU (603) to a predetermined channel, for example, the channel 1, the FDP (806) and WDP (807) are input from the input register unit (803) at a predetermined timing determined by the sequencer (803). , DRP (808) is supplied with tone generation data. Then, the DRP (808) reads the waveform sample data and the control data from the music composition data ROM (606). Then, f (X i, n ) shown in the equation (2) is supplied as data WDI and f (X i + 1, n ) is supplied as data WDII to the WDP (807). Further, the numerator term of the interpolation coefficient shown in the equation (2) based on the read control data is supplied to the WDP (807) as data MLP. When the final waveform data is reached, the WEF signal indicating the final waveform data is supplied to the WDP (807).

WDP(807)では、DRP(808)から供給されたデータWDI,WDI
I,MLPを用い、(2)式の波形演算処理を行なつてDAC(811)
に供給する。そして、DAC(811)において、WDP(807)から
供給されたデイジタル信号をアナログ信号に変換し、ア
ナログバツフアメモリ部(812)にアナログ信号として供
給し、チヤネル1に対応するコンデンサ電荷が蓄えられ
る。
In WDP (807), data WDI, WDI supplied from DRP (808)
Using I and MLP, perform the waveform calculation process of equation (2) and perform DAC (811)
Supply to. Then, in the DAC (811), the digital signal supplied from the WDP (807) is converted into an analog signal and supplied to the analog buffer memory section (812) as an analog signal, and the capacitor charge corresponding to the channel 1 is stored. .

一方、FDP(806)では、入力レジスタ部(803)から供給さ
れた楽音発生データに基づいた周波数データが生成さ
れ、比較レジスタ部(805)のチヤネル1に対応するレジ
スタに供給される。そして、比較レジスタ(805)に供給
されたデータとタイマー(804)から供給されている時間
データとの比較処理を行ない、一致が検出できると一致
パルスを読み出しパルス形成部(809)と計算要求フラグ
発生部(810)に供給する。
On the other hand, in the FDP (806), frequency data based on the tone generation data supplied from the input register unit (803) is generated and supplied to the register corresponding to the channel 1 of the comparison register unit (805). Then, the data supplied to the comparison register (805) is compared with the time data supplied from the timer (804), and if a match is detected, a match pulse is read out and a calculation request flag is output with the pulse forming unit (809). Supply to the generation unit (810).

そうすると、読み出しパルス形成部(809)で所定のパル
ス幅の読み出し信号が生成され、アナログバツフアメモ
リ部(812)に供給される。アナログバツフアメモリ部(81
2)内のチヤネル1に対応するコンデンサに蓄えられてい
る電荷は読み出し信号によつて積分器(813)に流れ込
む。
Then, the read pulse forming unit (809) generates a read signal having a predetermined pulse width and supplies the read signal to the analog buffer memory unit (812). Analog buffer memory section (81
The charge stored in the capacitor corresponding to the channel 1 in 2) flows into the integrator (813) by the read signal.

計算要求フラグ発生部(810)では、次波形サンプルすな
わち、仮想サンプル点 を求めるための計算要求フラグを発生し保持する。そし
て、その後再び処理タイミングがチヤネル1となると、
計算要求フラグが発生しているので前述と同様に波形内
挿処理が行なわれ、アナログバツフアメモリ部(812)内
のコンデンサに電荷が蓄えられる。以後、計算要求フラ
グに対応して波形内挿処理が行なわれ、楽音波形を発生
することになる。
In the calculation request flag generator (810), the next waveform sample, that is, the virtual sample point Generate and hold a calculation request flag for calculating Then, when the processing timing again becomes channel 1,
Since the calculation request flag is generated, the waveform interpolation processing is performed in the same manner as described above, and the electric charge is stored in the capacitor in the analog buffer memory unit (812). After that, waveform interpolation processing is performed corresponding to the calculation request flag, and a musical tone waveform is generated.

なお、コンデンサに蓄える電荷は、 と今回求めた波形サンプル値 との差分に相当する。そして、積分器(813)によつて、
今回求めた波形サンプル値 が復元されることになる。アナログバツフアメモリ部(8
12)と積分器(813)周辺の動作については、特願昭57−12
6413「波形読み出し装置」に述べてある。
The charge stored in the capacitor is And the sample waveform value obtained this time It corresponds to the difference with. Then, by the integrator (813),
Waveform sample value obtained this time Will be restored. Analog buffer memory section (8
12) and the operation around the integrator (813), see Japanese Patent Application No. 57-12.
6413 “Waveform readout device”.

第9図はシーケンサ(802)の一具体例のブロツク図であ
る。図中、(901)は2相クロツク信号φ1と信号φ2と
を発生する2相クロツク発生部、(902)は1チヤネル当
りの動作シーケンスを決める11進カウンタ、(903)は現
在演算処理を行なつているチヤネルコードを発生するカ
ウンタ、(904)は動作手順が記憶されているROM、(905)
はデコーダである。第10図にシーケンサ(802)のタイミ
ングチヤート図を示す。
FIG. 9 is a block diagram of a specific example of the sequencer (802). In the figure, (901) is a two-phase clock generator that generates two-phase clock signals φ1 and φ2, (902) is an 11-ary counter that determines the operation sequence per channel, and (903) is the current arithmetic processing. A counter that generates a channel code that is running, (904) is a ROM that stores the operating procedure, (905)
Is a decoder. FIG. 10 shows a timing chart of the sequencer (802).

主発振器(801)からマスタクロツク(MCK)信号が2相クロ
ツク発生部(901)に供給される。2相クロツク発生部(90
1)では、第10図に示すような2相クロツク信号φ1、φ
2を発生する。信号φ1は11進カウンタ(902)とカウン
タ(903)に供給されている。
A master clock (MCK) signal is supplied from the main oscillator (801) to the two-phase clock generator (901). 2-phase clock generator (90
In 1), two-phase clock signals φ1, φ as shown in Fig. 10
2 is generated. The signal φ1 is supplied to the 11-ary counter (902) and the counter (903).

11進カウンタ(902)は4ビツト構成となつており、信号
φ1が“0”から“1”へ変化するタイミングでカウン
トアツプ処理が行なわれ、出力信号が(1111)2となり、
次にカウントアツプを行なうと(0101)2にセツトされ
る。この結果、11進カウンタ(902)の出力信号は11の状
態、すなわち(0101)2〜(1111)2となる。これを命令ステ
ツプ信号として使用する。
The 11-ary counter (902) has a 4-bit configuration, and the count-up processing is performed at the timing when the signal φ1 changes from "0" to "1", and the output signal becomes (1111) 2 .
Next, when counting up, it is set to (0101) 2 . As a result, the output signal of the 11-ary counter (902) becomes 11 states, that is, (0101) 2 to (1111) 2 . This is used as an instruction step signal.

カウンタ(903)は3ビツト構成となつており、11カウン
タ(902)の出力信号が(1111)2から(0101)2へ変化するた
びにカウントアツプ処理が行なわれる。この結果、カウ
ンタ(903)の出力信号は8の状態、すなわち(000)2〜(11
1)2となる。これをチヤネルコードとして使用する。
The counter (903) has a 3-bit configuration, and the count-up processing is performed every time the output signal of the 11 counter (902) changes from (1111) 2 to (0101) 2 . As a result, the output signal of the counter (903) is in the state of 8, that is, (000) 2 to (11
1) 2 This is used as a channel code.

ROM(904)は11進カウンタ(902)から供給される命令ステ
ツプ信号に基づいた命令コードを読み出し、デコーダ(9
05)に供給する。デコーダ(905)はROM(904)から供給され
た命令コードを解読して処理制御信号を各部に供給す
る。
The ROM (904) reads the instruction code based on the instruction step signal supplied from the 11-decimal counter (902), and the decoder (9
Supply to 05). The decoder (905) decodes the instruction code supplied from the ROM (904) and supplies a processing control signal to each unit.

この結果、1チヤネル当りの計算時間は2.75μsとな
り、11の命令ステツプで各演算処理を行なうことにな
る。そして、22μsごとに計算タイミングが返されるこ
とになる。
As a result, the calculation time per channel becomes 2.75 μs, and each arithmetic processing is performed in 11 instruction steps. Then, the calculation timing is returned every 22 μs.

第11図にアナログバツフアメモリ部(812)の一具体例の
構成図を示す。図中、(1101)は入力端、(1102)は出力
端、(1103)〜(1108)はアナログスイツチ、C1〜C8はコン
デンサである。
FIG. 11 shows a block diagram of a specific example of the analog buffer memory unit (812). In the figure, (1101) is input, (1102) an output terminal, (1103) - (1108) the analog switch, C 1 -C 8 denotes a capacitor.

アナログスイツチ(1103)(1105)(1107)のゲート入力に供
給されている信号AW1〜AW8はWDP(807)から供給されてい
る。また、アナログスイツチ(1104)(1106)(1108)のゲー
ト入力に供給されている信号AR1〜AR8は読み出しパルス
形成部(809)から供給されている。
The signals AW1 to AW8 supplied to the gate inputs of the analog switches (1103) (1105) (1107) are supplied from the WDP (807). The signals AR1 to AR8 supplied to the gate inputs of the analog switches (1104) (1106) (1108) are supplied from the read pulse forming section (809).

DAC(811)で変換されたアナログ信号は入力端(1101)に印
加されアナログスイツチ(1103)(1105)(1107)に供給され
る。そして、チヤネル1に対応するデータであれば、ア
ナログスイツチ(1103)のみオン状態となり、入力端(110
1)に印加されたアナログ信号に相当する電荷がコンデン
サC1に蓄えられる。
The analog signal converted by the DAC (811) is applied to the input terminal (1101) and supplied to the analog switches (1103) (1105) (1107). If the data corresponds to the channel 1, only the analog switch (1103) is turned on and the input terminal (110
A charge corresponding to the analog signal applied to 1) is stored in the capacitor C 1 .

その後、チヤネル1に対応する読み出しパルスAR1が読
み出しパルス発生部(809)からアナログスイツチ(1104)
のゲート入力に供給されると、コンデンサC1に蓄えられ
ている電荷が出力端(1102)を介して積分器(813)に供給
される。
After that, the read pulse AR1 corresponding to the channel 1 is output from the read pulse generator (809) to the analog switch (1104).
When supplied to the gate input of, the electric charge stored in the capacitor C 1 is supplied to the integrator (813) via the output end (1102).

アナログスイツチ(1103)(1105)(1107)はWDP(807)の動作
タイミングに同期しているので、同時に複数個オン状態
にならない。アナログスイツチ(1104)(1106)(1108)は音
階周波数に同期してオンするようになつているため、複
数個同時にオン状態となりうる。
Since the analog switches (1103) (1105) (1107) are synchronized with the operation timing of the WDP (807), a plurality of analog switches cannot be turned on at the same time. Since the analog switches (1104) (1106) (1108) are turned on in synchronization with the scale frequency, a plurality of analog switches can be turned on at the same time.

第12図は楽音発生部(607)の内部動作タイミングチヤー
トである。第12図には4チヤネル分のタイミングを示し
た。
FIG. 12 is an internal operation timing chart of the musical sound generating unit (607). Figure 12 shows the timing for four channels.

図中の略記号の説明 CRFは、各チヤネルごとの計算要求信号である。そし
て、要求開始時点が比較レジスタ部(805)から供給され
る一致信号と同期している。すなわち、音階周波数に同
期することとなり、たとえば、C音階であれば59.74μ
sごとに発生する。
Explanation of abbreviations in the figure CRF is a calculation request signal for each channel. Then, the request start time point is synchronized with the coincidence signal supplied from the comparison register unit (805). That is, it is synchronized with the scale frequency. For example, in the C scale, it is 59.74μ.
It occurs every s.

CLCは、波形演算タイミングを示す。CLC indicates the waveform calculation timing.

DACは、DAC(811)を介してアナログバツフアメモリ(812)
内のコンデンサに電荷を蓄えるタイミングを示す。
The DAC is an analog buffer memory (812) via the DAC (811).
The timing to store the charge in the internal capacitor is shown.

OTCは、アナログバツフアメモリ(812)内のコンデンサに
蓄えられている電荷を積分器(813)に供給するタイミン
グであり、CRFと同様に、音階周波数に同期して発生し
ている。
OTC is a timing at which the electric charge stored in the capacitor in the analog buffer memory (812) is supplied to the integrator (813), and is generated in synchronization with the scale frequency like CRF.

チヤネル1のタイムチヤートについて説明する。チヤネ
ル1に相当する演算タイミングはシーケンサ(802)で発
生しているチヤネルコードによつて決まつており、図に
も示してあるように、22μsごとに演算タイミングが発
生している。
The time chart of the channel 1 will be described. The calculation timing corresponding to the channel 1 is determined by the channel code generated in the sequencer (802), and as shown in the figure, the calculation timing is generated every 22 μs.

…信号CRF1がチヤネルコード1の途中で発生する。発
生したタイミングでは波形内挿処理を行なわない。
... Signal CRF1 occurs in the middle of channel code 1. Waveform interpolation processing is not performed at the timing of occurrence.

…信号CRF1が発生すると同時に信号OTC1が発生し、ア
ナログバツフアメモリ(812)内のコンデンサC1の電荷が
積分器(813)に供給される。信号OTCのパルス幅は2μs
程度である。
... signal CRF1 simultaneously signal OTC1 to occur has occurred, the charge of the capacitor C 1 in the analog cross Hua memory (812) is supplied to the integrator (813). The pulse width of the signal OTC is 2 μs
It is a degree.

…チヤネルコードが再び1となると、波形サンプルデ
ータなどの読み込み処理や波形内挿処理や周波数データ
の更新処理などを行なう。
When the channel code becomes 1 again, the process of reading the waveform sample data, the process of waveform interpolation, and the process of updating the frequency data are performed.

…チヤネル1の演算処理が終了すると、信号DAC1が発
生し、DAC(811)を介してコンデンサC1に電荷が蓄えられ
る。
... When the calculation process of the channel 1 is finished, the signal DAC1 is generated, electric charge stored in the capacitor C 1 via the DAC (811).

…チヤネル1の演算処理が終了すると、信号CRF1をリ
セツトして計算要求を解除する。
... When the arithmetic processing of the channel 1 is completed, the signal CRF1 is reset to cancel the calculation request.

…前述のと同様に、信号CRF1が再び発生するタイミ
ングで、前述ののタイミングでコンデンサC1に蓄えら
れた電荷が積分器(813)に供給される。
.. Similarly to the above, at the timing when the signal CRF1 is generated again, the charge accumulated in the capacitor C 1 at the above timing is supplied to the integrator (813).

以後、上述と同様に、信号CRFが発生するたびに、1回
の仮想波形サンプル値算出処理が行なわれ、信号CRFの
発生タイミング、すなわち音階同期に同期して波形算出
結果が積分器(813)に供給される。
Thereafter, similar to the above, each time the signal CRF is generated, the virtual waveform sample value calculation processing is performed once, and the waveform calculation result is synchronized with the generation timing of the signal CRF, that is, the scale synchronization, and the waveform calculation result is integrator (813). Is supplied to.

演算サイクルと音階周期の関係は、最小音階周期内に同
一チヤネルの演算タイミングが2回と演算結果をアナロ
グバツフアメモリ部(812)内のコンデンサに電荷を蓄え
ることが出来ればよい。すなわち、最小音階周期内に10
チヤネル分に相当する演算タイミングを設ければよい。
The relationship between the calculation cycle and the scale cycle is such that the calculation timing of the same channel is twice within the minimum scale cycle and the calculation result can be stored in the capacitor in the analog buffer memory unit (812). That is, within the minimum scale period, 10
It suffices to provide a calculation timing corresponding to the channel.

音階周期の発生方法についての説明 第13図に、FDP(806)から比較レジスタ部(805)に供給す
る周波数データの推移を示す。タイマー(804)は10ビツ
トの2進カウンタで構成しており、出力状態を16進表示
で表わすと、(000)16から(3FF)16まで順次カウントアツ
プを行ない、(3FF)16から再び(000)16となり、(000)16
から(3FF)16が主発振器(801)から供給される信号MCKに
基づいてくり返される。すなわち、タイマー(804)のく
り返し周期TRは下式のようになる。
Description of Method of Generating Scale Period FIG. 13 shows a transition of frequency data supplied from the FDP (806) to the comparison register unit (805). Timer (804) is constituted by a binary counter 10 bits and represents the output state in hexadecimal notation, (000) performs a sequential count up-from 16 to (3FF) 16, again from (3FF) 16 ( 000) 16 and (000) 16
To (3FF) 16 are repeated based on the signal MCK supplied from the main oscillator (801). That is, the repeating cycle T R of the timer (804) is given by the following equation.

タイマー(804)の出力データ推移状態を第13図中のタイ
マー出力データとして記載してある。
The output data transition state of the timer (804) is described as timer output data in FIG.

音階周期の発生方法としては、タイマー(804)の出力信
号とFDP(806)から供給された周波数データとの比較を行
ない、一致が検出できれば一致パルスを比較レジスタ部
(805)から送出する。その一致パルスの発生周期が発音
すべき音階の音階周期となる。
The method of generating the scale cycle is to compare the output signal of the timer (804) with the frequency data supplied from the FDP (806), and if a match is detected, compare the match pulse with the register pulse.
Send from (805). The generation cycle of the coincidence pulse becomes the scale cycle of the scale to be generated.

第13図に示したように、周波数データを更新することに
よりノートクロツク信号が発生できる。すなわち、下式
に示すような演算処理をFDP(806)で行なう。
As shown in FIG. 13, a note clock signal can be generated by updating the frequency data. That is, the FDP (806) performs the arithmetic processing shown in the following equation.

NFD=MOD(OFD+PD,TDmax)…(4) NFDは、新しい周波数データである。NFD = MOD (OFD + PD, TD max ) ... (4) NFD is new frequency data.

OFDは、更新前の周波数データである。OFD is frequency data before updating.

PDは、発生音階によつて決まつている音階データであ
る。
PD is scale data that is determined by the generated scale.

TDmaxは、タイマー(804)の出力状態数である。本実施例
の場合TDmaxは210すなわち1024である。
TD max is the number of output states of the timer (804). If TD max of this example is 2 10 i.e. 1024.

第8表に12音階に対応する音階データPDを示す。Table 8 shows scale data PD corresponding to 12 scales.

第14図は、FDP(806)の一具体例の構成図である。第14図
において、(1401)はセント尺度で表わした音階データ
(CPDとする)を発生するセント音階データ発生部(以
下CPD発生部と略す)で、セント音階データを記憶して
いるROMで構成しており、ノートクロツク指定データ(N
D)と波形サンプル数指定データ(SD)とオルガン型/ピア
ノ型指定信号(OPS)に基づいたCPDを選択発生するように
なつている。(1402)はビートデータを選択するビートデ
ータゲート、(1403)はビブラート信号を発生するビブラ
ート信号発生部、(1404)はグライド信号を発生するグラ
イド信号発生部、(1405)はセント尺度で表わされた周波
数値を周波数に正比例する周波数データに変換する指数
変換器、(1406)は演算部、(1407)はラツチ(ALとす
る)、(1408)はラツチ(BLとする)、(1409)は加算器
(FAとする)、(1410)はバツフア、(1411)はゲートであ
る。(1412)(1413)(1414)はバスラインで、(1412)がFAバ
ス、(1413)がFBバス、(1414)がFCバスである。
FIG. 14 is a block diagram of a specific example of the FDP (806). In FIG. 14, reference numeral (1401) denotes a cent scale data generation unit (hereinafter abbreviated as CPD generation unit) that generates scale data (CPD) represented by a cent scale, and is composed of a ROM that stores the cent scale data. The note clock specified data (N
D), the waveform sample number designation data (SD), and the CPD based on the organ type / piano type designation signal (OPS) are selectively generated. (1402) is a beat data gate that selects beat data, (1403) is a vibrato signal generator that generates a vibrato signal, (1404) is a glide signal generator that generates a glide signal, and (1405) is a cent scale. An exponential converter that converts the frequency value obtained into frequency data that is directly proportional to the frequency, (1406) is a computing unit, (1407) is a latch (AL), (1408) is a latch (BL), (1409) Is an adder (denoted as FA), (1410) is a buffer, and (1411) is a gate. (1412) (1413) (1414) are bus lines, (1412) is FA bus, (1413) is FB bus, and (1414) is FC bus.

なお、ビートデータCBD、ビブラートデータCVD、グライ
ドデータCGDもセント尺度で表わしている。
The beat data CBD, the vibrato data CVD, and the glide data CGD are also shown on the cent scale.

各種データの構造 セントピツチデータ(CPD) 11ビツト構成で、上位4ビツトで12音階平均律を表わ
し、下位7ビツトで半音階を128等分した各点を表わし
ている。
Structure of various data St. Pitch data (CPD) 11-bit structure. Upper 4 bits represent 12-note equal temperament, and lower 7 bits represent each chromatic scale into 128 equal parts.

ビートデータ(CBD)、ビブラートデータ(CVD)、グライド
データ(CGD) 各ビツト構成は8ビツトで、2の補数表現を用い、半音
階を128等分した分解能を有する。そして、正負のビー
ト成分、ビブラート成分、グライド成分を表わしてい
る。
Beat data (CBD), vibrato data (CVD), glide data (CGD) Each bit structure is 8 bits and uses a two's complement representation and has a resolution of 128 equal chromatic scales. Then, positive and negative beat components, vibrato components, and glide components are represented.

ビブラート信号発生部(1403)の説明 第22図はビブラート信号発生部(1403)の一具体例の構成
図を示す。図中、(2201)はビブラートデータCVDを記憶
しておくビブラートROM、(2202)はビブラートROM(2201)
から記憶してあるビブラートデータを読み出すためのア
ドレスデータを格納するビブラートアドレスレジスタ、
(2203)はデイレイビブラート効果の時に用いるシフタ、
(2204)は信号RDCVDによりシフタ(2203)の出力信号(ビ
ブラートデータCVD)をFBバスに供給するゲート、(220
5)は入力レジスタ部(803)から供給されている信号KD、
信号VIB、信号DVIBとシーケンサ(802)から供給されてい
る信号CHCに基づいてビブラート信号発生部(1403)の動
作条件を設定する条件設定部、(2206)はゲート、(2207)
はゲート、(2208)はANDゲートである。
Description of Vibrato Signal Generating Unit (1403) FIG. 22 is a block diagram showing a specific example of the vibrato signal generating unit (1403). In the figure, (2201) is a vibrato ROM for storing the vibrato data CVD, (2202) is a vibrato ROM (2201)
Vibrato address register for storing address data for reading the vibrato data stored from
(2203) is a shifter used for the day vibrato effect,
(2204) is a gate that supplies the output signal (vibrato data CVD) of the shifter (2203) to the FB bus by the signal RDCVD, and (220
5) is the signal KD supplied from the input register unit (803),
A condition setting unit that sets the operating conditions of the vibrato signal generation unit (1403) based on the signal VIB, the signal DVIB, and the signal CHC supplied from the sequencer (802), (2206) is a gate, (2207)
Is a gate, and (2208) is an AND gate.

レジスタ(2202)に格納するアドレスデータは14ビツト構
成となつており、下位11ビツトをビブラートROM(2201)
のアドレスデータとし、上位3ビツトをシフタ(2203)の
シフトデータとしている。シフタ(2203)はシフトデータ
に基づいてビブラートROM(2201)から供給されているビ
ブラートデータCVDの振幅を制御するものである。シフ
トデータVSFDとシフタ(2203)の出力データOSFDとの関係
は次のとおりである。
The address data stored in the register (2202) has a 14-bit configuration, and the lower 11 bits are vibrato ROM (2201).
Address data, and the upper 3 bits are shift data for the shifter (2203). The shifter (2203) controls the amplitude of the vibrato data CVD supplied from the vibrato ROM (2201) based on the shift data. The relationship between the shift data VSFD and the output data OSFD of the shifter (2203) is as follows.

VSFD=(000)2…OSFD=(00)16、VSFD=(001)2…OSFD=(C
VD/64)、VSFD=(010)2…OSFD=(CVD/32)、……、VSFD=
(110)2…OSFD=(CVD/2)、VSFD=(111)2…OSFD=(CVD) 条件設定部(2205)は次のような動作条件設定を行なう。
VSFD = (000) 2 ... OSFD = (00) 16 , VSFD = (001) 2 ... OSFD = (C
VD / 64), VSFD = (010) 2 … OSFD = (CVD / 32) , ……, VSFD =
(110) 2 ... OSFD = (CVD / 2), VSFD = (111) 2 ... OSFD = (CVD) The condition setting section (2205) sets the following operating conditions.

ビブラートオフ ビブラートオン/オフ信号VIBが“0”の場合であり、
ゲート(2206)の出力を強制的に常時(00)16とする。そう
すると、シフタ(2203)のシフトデータは常時(000)2とな
る。この結果、シフタ(2203)の出力データは(00)16とな
る。すなわち、ビブラートデータCVDが常時(00)16とな
る。
Vibrato off Vibrato on / off signal VIB is “0”,
The output of the gate (2206) is forced to always (00) 16 . Then, the shift data of the shifter (2203) is always (000) 2 . As a result, the output data of the shifter (2203) becomes (00) 16 . That is, the vibrato data CVD is always (00) 16 .

ビブラートオン ビブラートオン/オフ信号VIBが“1”で信号DVIBが
“0”の場合、ビブラートオン状態となる。レジスタ(2
202)に格納しているアドレスデータをゲート(2206)を介
してゲート(2207)とシフタ(2203)に供給する。なお、ア
ドレスデータの上位3ビツト、すなわちシフトデータを
強制的に(111)2とする。そうすると、ゲート(2204)の入
力にはビブラートROM(2201)の出力(ビブラートデータC
VD)がそのまま供給されることになる。
Vibrato on When the vibrato on / off signal VIB is "1" and the signal DVIB is "0", the vibrato is on. Register (2
The address data stored in 202 is supplied to the gate (2207) and the shifter (2203) via the gate (2206). Note that the upper 3 bits of the address data, that is, the shift data is forcibly set to (111) 2 . Then, the output of the vibrato ROM (2201) is input to the input of the gate (2204) (vibrato data C
VD) will be supplied as is.

デイレイビブラート ビブラートオン/オフ信号VIBとデイレイビブラートオ
ン/オフ信号DVIBが“1”の場合、デイレイビブラート
状態となる。8チヤネルのキーオン/オフ信号KDがすべ
てオフ状態からいずれか1つのキーオン/オフ信号KDが
オン状態となると、アドレスデータを(000)16に設定す
るように、ゲート(2206)を制御する。そうすると、シフ
タ(2203)において、ビブラート信号1周期ごとに、ビブ
ラートデータCVDの振幅制御(0,CVD/64,CVD/32,CVD
/16,CVD/8,CVD/4,CVD/2,CVD)が行なわれる。そし
て、シフトデータが(111)2となるとビブラートオン状態
と同様にシフトデータを強制的に(111)2とする。レジス
タ(2202)に格納しているアドレスデータは、シーケンサ
(802)から供給されている信号RDVADによつてゲート(220
7)を介してFBバスに供給される。
Daylight vibrato When the vibrato on / off signal VIB and the daylight vibrato on / off signal DVIB are “1”, the daylight vibrato state is set. When any one of the key on / off signals KD of the eight channels is turned off from the off state, the gate (2206) is controlled so that the address data is set to (000) 16 . Then, in the shifter (2203), the amplitude control of the vibrato data CVD (0, CVD / 64, CVD / 32, CVD
/ 16, CVD / 8, CVD / 4, CVD / 2, CVD). Then, when the shift data becomes (111) 2 , the shift data is forcibly set to (111) 2 as in the vibrato on state. The address data stored in the register (2202) is the sequencer
The gate (220) is supplied by the signal RDVAD supplied from (802).
It is supplied to the FB bus via 7).

演算部(1406)で加算処理されたアドレスデータは、信号
WRVADによつて信号φ2の立上りエツチで、FCバスから
レジスタ(2202)に格納される。また、信号RDCVDによつ
て、ビブラートROM(2201)に格納してあるビブラートデ
ータCVDがシフタ(2203)、ゲート(2204)を介してFBバス
に供給される。
The address data added by the arithmetic unit (1406) is a signal
It is stored in the register (2202) from the FC bus at the rising edge of the signal φ2 by WRVAD. Further, the signal RDCVD supplies the vibrato data CVD stored in the vibrato ROM (2201) to the FB bus via the shifter (2203) and the gate (2204).

グライド信号発生部(1404)の説明 グライド信号発生部(1404)も、ビブラート信号発生部(1
403)と同様にグライドデータを記憶しておくグライドRO
Mと、そのグライドROMから所定のグライドデータを読み
出すためのグライドアドレスレジスタと、発生制御を行
なう制御器とから構成している。
Description of glide signal generator (1404) The glide signal generator (1404) also includes the vibrato signal generator (1404).
Glide RO that stores glide data in the same way as (403)
M, a glide address register for reading out predetermined glide data from the glide ROM, and a controller for controlling generation.

動作モードとしては、グライドオフとグライドオンの2
種類がある。
There are two operation modes: glide off and glide on.
There are types.

グライドオフ 信号GLが“0”の場合グライドオフ状態となる。グライ
ドデータCGDは常時(00)16となる。
Glide-off signal When the signal GL is "0", the glide-off state is set. The glide data CGD is always (00) 16 .

グライドオン 信号GLが“1”の場合グライドオン状態となる。通常よ
く知られているグライド効果と同様なものである。すな
わち、8チヤネルのキーオン/オフ信号KDがすべてオフ
状態からいずれか1チヤネルのキーオン/オフ信号KDが
オンになるとグライドROMからグライドデータCGDが読み
出される。そして、所定な時間が経過すると再びグライ
ドデータCGDは(00)16となる。
Glide-on signal When the signal GL is “1”, the glide-on state is set. It is similar to the commonly known glide effect. That is, the glide data CGD is read from the glide ROM when the key-on / off signal KD of 8 channels is turned off and the key-on / off signal KD of any one channel is turned on. Then, when the predetermined time has elapsed, the glide data CGD becomes (00) 16 again.

指数変換器(1405)の説明 指数変換器(1405)は、セント尺度のデータを周波数に正
比例する周波数データEDに変換する変換データを記憶し
た変換ROMを内蔵している。
Description of exponential converter (1405) The exponential converter (1405) has a built-in conversion ROM that stores conversion data for converting cent scale data into frequency data ED that is directly proportional to frequency.

本実施例では、セント尺度上の周波数データCFDの上位
4ビツト(ビツト位置7〜10)をアドレスデータとする
EXP・ROMと、ビツト位置0〜10の11ビツトをアドレスデ
ータとするΔEXP・ROMとを用意している。
In this embodiment, the upper 4 bits (bit positions 7 to 10) of the frequency data CFD on the cent scale are used as the address data.
An EXP ROM and a ΔEXP ROM that uses 11 bits from bit positions 0 to 10 as address data are available.

そして、演算部(1406)で加算処理されたセント尺度上の
周波数データCFDを信号WREXPによつて格納するレジスタ
と、そのレジスタに格納されているデータをアドレスデ
ータとする上述したEXP・ROM、ΔEXP・ROMと、信号RDEX
P、RDΔEXPによつてEXP・ROM、ΔEXP・ROMに格納してい
るデータをそれぞれFAバス、FBバスに供給するゲートか
ら構成されている。
Then, the register that stores the frequency data CFD on the cent scale that has been subjected to the addition processing in the arithmetic unit (1406) by the signal WREXP, and the above-mentioned EXP ROM that uses the data stored in the register as the address data, ΔEXP・ ROM and signal RDEX
P, RD ΔEXP is used to configure the gates that supply the data stored in EXP ROM and ΔEXP ROM to the FA bus and FB bus, respectively.

EXP・ROMは100セント間隔の周波数データ16語を記憶し
ており、ΔEXP・ROMは100セント内を27すなわち128分割
して0.78セント間隔に対応する15×128=1920点の差分
周波数データを記憶している。
EXP / ROM stores 16 words of frequency data at 100 cent intervals. ΔEXP / ROM divides 100 cents by 2 7 or 128 to obtain 0.78 cent intervals of 15 × 128 = 1920 points of difference frequency data. I remember.

第15図はEDP(806)のデータ処理手順を示す処理流れ図で
あり、下記に示す演算処理を行なつて旧周波数データOF
Dから新周波数データNFDを算出し、比較レジスタ部(80
5)に供給している。
FIG. 15 is a processing flow chart showing the data processing procedure of the EDP (806). By performing the arithmetic processing shown below, the old frequency data OF
The new frequency data NFD is calculated from D and the comparison register (80
Supply to 5).

、CPD=CPD+CVD 、CPD=CPD+CGD 、CPD=CPD+CBD 、PD=EXP(CPD)+ΔEXP(CPD) 、NED=OFD+PD 次に第14図の動作について説明を行なう。FDP(806)はシ
ーケンサ(802)から送られてくる処理命令信号によつて
演算処理を行なつている。
, CPD = CPD + CVD, CPD = CPD + CGD, CPD = CPD + CBD, PD = EXP (CPD) + ΔEXP (CPD), NED = OFD + PD Next, the operation of FIG. 14 will be described. The FDP (806) performs arithmetic processing according to the processing command signal sent from the sequencer (802).

演算処理シーケンスの流れを第9表に示す。第9表に示
す命令ステツプを順次実行することにより、第15図で説
明した処理が実現され新周波数データNFDを算出するこ
とになる。
Table 9 shows the flow of the arithmetic processing sequence. By sequentially executing the instruction steps shown in Table 9, the processing described in FIG. 15 is realized and the new frequency data NFD is calculated.

第9表に記載している記号の説明は次の通りである。The symbols used in Table 9 are explained below.

ALは、FAバスに供給されたデータを信号φ2の立下りエ
ツヂでラツチするもの。
AL latches the data supplied to the FA bus at the falling edge of signal φ2.

BLは、FBバスに供給されたデータを信号φ2の立下りエ
ツヂでラツチするもの。
BL latches the data supplied to the FB bus at the falling edge of signal φ2.

CRALは、ラツチALを信号φ2の“1”でクリヤする命
令。
CRAL is an instruction to clear latch AL with signal φ2 "1".

ADD1は、FA(1409)のキヤリー入力に“1”を加える命
令。
ADD1 is an instruction to add "1" to the carrier input of FA (1409).

TCAは、FA(1409)で演算処理した結果をFAバスに供給す
る命令。
TCA is an instruction to supply the result of arithmetic processing in FA (1409) to FA bus.

RDCPDは、CPD発生部(1401)で発生するセントピツチデー
タCPDをFAバスに供給する命令。
RDCPD is an instruction for supplying the cent data CPD generated by the CPD generator (1401) to the FA bus.

RDCBDは、ビートデータゲート(1402)のゲートを開いてF
BバスにビートデータCBDを供給する命令。
RDCBD opens the beat data gate (1402) gate to F
Command to supply beat data CBD to B bus.

RDCVDは、ビブラート信号発生部(1403)で発生するビブ
ラートデータCVDをFBバスに供給する命令。
RDCVD is an instruction to supply the vibrato data CVD generated by the vibrato signal generator (1403) to the FB bus.

RDCGDは、グライド信号発生部(1404)で発生するグライ
ドデータCGDをFBバスに供給する命令。
RDCGD is an instruction to supply the glide data CGD generated by the glide signal generation unit (1404) to the FB bus.

RDEXPは、指数変換器(1405)内で変換したEXP(CPD)をFA
バスに供給する命令。
RDEXP is the FA that converts EXP (CPD) converted in the exponential converter (1405).
Instructions to supply to the bus.

RDΔEXPは、指数変換器(1405)内で変換したΔEXP(CPD)
をFBバスに供給する命令。
RDΔEXP is ΔEXP (CPD) converted in the exponential converter (1405)
To supply to the FB bus.

RDFDは、比較レジスタ部(805)から旧周波数データOFDを
読み出してFBバスに供給する命令。
RDFD is an instruction to read the old frequency data OFD from the comparison register unit (805) and supply it to the FB bus.

RDVADは、ビブラート信号発生部(1403)内にあるビブラ
ートカウンタの内容をFBバスに供給する命令。
RDVAD is an instruction to supply the contents of the vibrato counter in the vibrato signal generator (1403) to the FB bus.

RDGADは、グライド信号発生部(1404)内にあるグライド
カウンタの内容をFAバスに供給する命令。
RDGAD is an instruction to supply the contents of the glide counter in the glide signal generator (1404) to the FA bus.

WRVADは、FA(1409)で演算した結果をビブラート信号発
生部(1403)内のビブラートカウンタに信号φ2の立上り
エツヂで書き込む命令。
WRVAD is an instruction to write the result calculated by FA (1409) to the vibrato counter in the vibrato signal generator (1403) at the rising edge of signal φ2.

WRGADは、FA(1409)で演算した結果をグライド信号発生
部(1404)内のグライドカウンタに信号φ2の立上りエツ
ヂで書き込む命令。
WRGAD is an instruction to write the result calculated by FA (1409) to the glide counter in the glide signal generator (1404) at the rising edge of signal φ2.

WREXPは、FA(1409)で演算した結果を指数変換部(1405)
に信号φ2の立上りエツヂで書き込む命令。
WREXP is the exponent converter (1405) that calculates the result of FA (1409).
Command to write to the rising edge of signal φ2.

WRFDは、FA(1409)で演算した結果を比較レジスタ部(80
5)に信号φ2の立上りエツヂで書き込む命令。
WRFD is the comparison register (80
Command to write to 5) at the rising edge of signal φ2.

なお、第9図に示したシーケンサ(802)内の11進カウン
タ(902)で発生している11の状態は、第9表に示した命
令ステツプ1〜11に対応している。
The 11 states generated in the 11-ary counter (902) in the sequencer (802) shown in FIG. 9 correspond to the instruction steps 1 to 11 shown in Table 9.

信号GAM(ジエネレータアサイナ動作モード信号)によ
る動作内容の説明 信号GAM=“0”の場合、1鍵1チヤネル動作となる。
この場合、ビートデータCBDは強制的(00)16の状態とな
る。すなわち、ビート効果を付加しない。
Description of operation contents by signal GAM (generator assigner operation mode signal) When signal GAM = "0", 1 key 1 channel operation is performed.
In this case, the beat data CBD is in the compulsory (00) 16 state. That is, no beat effect is added.

信号GAM=“1”の場合、1鍵2チヤネルアサイン動作
となる。この場合、1チヤネルと5チヤネル、2チヤネ
ルと6チヤネル、3チヤネルと7チヤネル、4チヤネル
と8チヤネルを同一楽音データとする。そして、1チヤ
ネル〜4チヤネルに使用するビートデータCBDを強制的
に(00)16とし、5チヤネル〜8チヤネルに使用するビー
トデータCBDをCPU(603)から供給されたビートデータを
用いることにより、ビート効果を発生することができ
る。
When the signal GAM = "1", 1-key 2-channel assign operation is performed. In this case, 1 channel and 5 channels, 2 channels and 6 channels, 3 channels and 7 channels, 4 channels and 8 channels are the same tone data. Then, the beat data CBD used for 1 to 4 channels is forcibly set to (00) 16 and the beat data CBD used for 5 channels to 8 channel is set by using the beat data supplied from the CPU (603). The beat effect can be generated.

以上のように、複数の比較器を用い、比較データを演算
処理して求めるようにしているので、高速動作の分周器
を複数個(チヤネル数分)並列に 設ける必要がなく、回路規模が小さくできる。
As described above, since a plurality of comparators are used and the comparison data is calculated and obtained, a plurality of high-speed frequency dividers (for the number of channels) are arranged in parallel. The circuit scale can be reduced because there is no need to provide it.

さらに、信号GAMを用いてチヤネル1〜4はビートデー
タCBD=(00)16とし、チヤネル5〜8のビートデータCBD
をCPU(603)から供給されたビートデータを用い、チヤネ
ル1とチヤネル5、チヤネル2とチヤネル6、チヤネル
3とチヤネル7、チヤネル4とチヤネル8を同一楽音発
生データとすることにより複雑な周辺回路を付加するこ
となく、ビート効果を容易に実現できる。
Further, using the signal GAM, the channels 1 to 4 are set to beat data CBD = (00) 16 and the beat data CBD of the channels 5 to 8 are set.
Using the beat data supplied from the CPU (603), channels 1 and 5; channels 2 and 6; channels 3 and 7; channels 4 and 8 are the same tone generation data The beat effect can be easily realized without adding.

さらに、グライド信号発生部(1404)内のグライドアドレ
スカウンタをチヤネル分用意するだけでチヤネル独立の
グライド効果を付加することができる。
Furthermore, a channel-independent glide effect can be added simply by preparing the glide address counters in the glide signal generator (1404) for the channels.

第16図は比較レジスタ部(805)の一具体例を示す構成図
である。図中、(1601)(1602)(1603)は周波数データレジ
スタFDR1〜FDR8で、8チヤネル分用意している。(1604)
(1605)(1606)はゲートGT1〜GT8で、8チヤネル分用意し
ている。(1607)(1608)(1609)は比較器、(1610)(1611)は
デコーダ、(1612)はアンドゲートである。
FIG. 16 is a block diagram showing a specific example of the comparison register section (805). In the figure, (1601) (1602) (1603) are frequency data registers FDR1 to FDR8, which are prepared for eight channels. (1604)
(1605) and (1606) are the gates GT1 to GT8, with 8 channels available. Reference numerals (1607), (1608) and (1609) are comparators, (1610) and (1611) are decoders, and (1612) is an AND gate.

タイマー(804)の出力信号TM0〜TM9は比較器(1607)〜(16
09)に共通に供給されている。そして、FDP(806)で算出
された新周波数データNEDはレジスタFDR1〜FDR8の入力
にFCバスからそれぞれ供給され、信号WRFDと信号CLRF
(計算要求フラグ信号)がともに“1”の場合、所定の
レジスタFDRに新周波数データNFDが書き込まれる。すな
わち、計算要求が発生している時だけデータを書き込む
こととなる。
The output signals TM0 to TM9 of the timer (804) are compared to the comparators (1607) to (16
It is commonly supplied to 09). Then, the new frequency data NED calculated by the FDP (806) is supplied to the inputs of the registers FDR1 to FDR8 from the FC bus respectively, and the signal WRFD and the signal CLRF are supplied.
When both (calculation request flag signals) are "1", the new frequency data NFD is written in the predetermined register FDR. That is, the data is written only when the calculation request is generated.

また、FDP(806)で旧周波数データOFDが必要になると、
信号FDFDがデコーダ(1610)に供給され、GT1〜GT8の所定
のゲートを開き、旧周波数データOFDをFBバスに供給す
る。
Also, when the old frequency data OFD is required in FDP (806),
The signal FDFD is supplied to the decoder (1610), which opens the predetermined gates of GT1 to GT8 and supplies the old frequency data OFD to the FB bus.

第15図で説明した、データ処理手段における新しい周波
数データNFDがWR1〜WR8に従つてレジスタFDR1〜FDR8の
いずれかに書き込まれ、その後、RD1〜RD8に従つてゲー
トGT1〜GT8を経て読み出されるときは、新周波数データ
NFDが旧周波数データOFDとして、FBバスに供給されるこ
とになる。
When the new frequency data NFD in the data processing means described in FIG. 15 is written to any of the registers FDR1 to FDR8 according to WR1 to WR8, and then read through the gates GT1 to GT8 according to RD1 to RD8. Is the new frequency data
The NFD will be supplied to the FB bus as the old frequency data OFD.

一方、比較器(1607)〜(1609)では、タイマー(804)から
の信号TM0〜TM9とレジスタFDR1〜FDR8に記憶されている
周波数データFDとの比較を行ない、一致が検出できた
ら、一致信号NC1〜NC8として出力する。
On the other hand, the comparators (1607) to (1609) compare the signals TM0 to TM9 from the timer (804) with the frequency data FD stored in the registers FDR1 to FDR8, and if a match is detected, a match signal is detected. Output as NC1 to NC8.

第17図は計算要求フラグ発生部(810)の一具体例を示す
構成図である。図中、(1701)〜(1710)はNANDゲート、(1
711)はデコーダ、(1712)〜(1719)はRSフリツプフロツプ
(RSFF)、(1720)はセレクタ、(1721)はD型フリツプフロ
ツプ(DFF)である。
FIG. 17 is a block diagram showing a specific example of the calculation request flag generating section (810). In the figure, (1701) to (1710) are NAND gates, and (1
711) is the decoder, (1712) to (1719) is the RS flip-flop.
(RSFF) and (1720) are selectors, and (1721) is a D-type flip-flop (DFF).

比較レジスタ部(805)から供給される一致信号NC1〜NC8
をNANDゲート(1701)〜(1708)でそれぞれ主発振器(801)
から供給されている信号MCKとの論理演算を行ない、そ
の結果をRSFF(1712)〜(1719)の各入力に供給する。一
致信号が“1”(比較器で一致を検出)となると、RSFF
の入力に“0”が供給されて出力Qは“1”となり、
第12図で説明した計算要求信号CRFが“1”となる。
Match signals NC1 to NC8 supplied from the comparison register block (805)
The main oscillator (801) with NAND gates (1701) to (1708)
The logical operation is performed with the signal MCK supplied from, and the result is supplied to each input of RSFF (1712) to (1719). When the match signal becomes “1” (match is detected by the comparator), RSFF
"0" is supplied to the input of and the output Q becomes "1",
The calculation request signal CRF described in FIG. 12 becomes “1”.

セレクタ(1720)で演算タイミングに対応する信号CRFを
選択し、DFF(1721)の入力Dに供給する。そして、シー
ケンサ(802)から供給されている制御データの中の信号W
RCLFが“1”となると、信号φ2の立下りエツヂでDFF
(1721)にセレクタ(1720)で選択した計算要求信号CRFを
ラツチさせ、計算要求フラグ信号CLRFとして出力され
る。計算要求が発生していればフラグ信号CLRFは
“1”、そうでなければフラグ信号CLRFは“0”とな
る。
The selector (1720) selects the signal CRF corresponding to the operation timing and supplies it to the input D of the DFF (1721). Then, the signal W in the control data supplied from the sequencer (802)
When RCLF becomes "1", DFF is generated at the falling edge of signal φ2.
The calculation request signal CRF selected by the selector (1720) is latched in (1721) and output as the calculation request flag signal CLRF. If the calculation request is generated, the flag signal CLRF becomes "1", and if not, the flag signal CLRF becomes "0".

信号WRCLFの発生するタイミングは、命令ステツプ1で
発生する。すなわち、演算処理の先頭で計算要求の有無
を判定することになる。
The timing at which the signal WRCLF is generated is generated at the instruction step 1. That is, the presence or absence of the calculation request is determined at the beginning of the arithmetic processing.

その後、命令ステツプ11のタイミングになると、シーケ
ンサ(802)から供給される制御データの中の1つである
リセツト(クリヤ)信号CRCLFが供給される。そうする
と、フラグ信号CLRFが“1”の場合、NANDゲート(1709)
の出力信号は“0”となり、チヤネルコードCHCでデコ
ーダ(1711)によつて選択されたRSFF(1712)〜(1713)の所
定の入力に“0”を供給し、RSFFをリセツト(出力Q
=“0”)する。この動作は、第12図で説明した計算要
求信号CRFをリセツトするタイミングに対応してい
る。
After that, at the timing of the instruction step 11, the reset (clear) signal CRCLF which is one of the control data supplied from the sequencer (802) is supplied. Then, if the flag signal CLRF is “1”, the NAND gate (1709)
Output signal becomes "0", "0" is supplied to the predetermined input of RSFF (1712) to (1713) selected by the decoder (1711) by the channel code CHC, and RSFF is reset (output Q
= “0”). This operation corresponds to the timing of resetting the calculation request signal CRF described in FIG.

データ・リード・プロセツサDRP(808)の詳細な説明 まず、楽音合成データROM(606)(以後データ・バンク(D
BK)と称する)のデータフオーマツトについて説明す
る。
Detailed description of the data read processor DRP (808) First, the tone synthesis data ROM (606) (hereinafter referred to as the data bank (D
BK)) will be described.

第18図はDBK(606)のデータ構成図である。アドレス(000
0)16から128語の領域に、以後に続く合成データの先頭
位置を示す先頭アドレスを格納している。合成データは
制御データと波形データとで構成されている。制御デー
タは波形間のくり返し回数指定データと最終波形フラグ
データとで構成されている。
FIG. 18 is a data configuration diagram of DBK (606). Address (000
0) In the area of 16 to 128 words, the start address indicating the start position of the subsequent composite data is stored. The synthetic data is composed of control data and waveform data. The control data is composed of repeat number designation data between waveforms and final waveform flag data.

くり返し数回数指定データについて説明する。本実施例
では、(2)式に示した内挿係数 の算出を簡略化する方法として以下のようにしている。
The number-of-times designation data will be described. In this embodiment, the interpolation coefficient shown in equation (2) The following is a method of simplifying the calculation of

(1)(2)式ではN・m+n項の増分値が1であったが、内
挿係数の分子の増分値をαとする。
In equations (1) and (2), the increment value of the N · m + n term was 1, but the numerator increment value of the interpolation coefficient is α.

(2)内挿係数 と置き換える。(2) Interpolation coefficient Replace with.

(3)M・N・α項を216と固定化する。(3) Fix the M, N, and α terms as 2 16 .

この結果、内挿係数は(M・N+n)α/216となり、
1/216項は右シフト操作を行なうだけでよく、M・N
項を求める必要がなくなり、内挿係数の算出が容易にな
る。第10表にくり返し指定データ、増分値α、波形1周
期のサンプル数と、くり返し回数の関係を示す。
As a result, the interpolation coefficient becomes (M · N + n) α / 2 16 ,
For the 1/2 16th term, it suffices to perform a right shift operation.
It is not necessary to calculate the term, and the interpolation coefficient can be calculated easily. Table 10 shows the relationship between the repeat designation data, the increment α, the number of samples in one cycle of the waveform, and the number of repeats.

なお、くり返し数指定データが(F)16であれば、最終波
形を示す最終波形フラグ(信号WEF)として用いてい
る。
If the repeat number designation data is (F) 16 , it is used as a final waveform flag (signal WEF) indicating the final waveform.

DBK(606)の制御データ領域は波形板数に関係なく128語
として固定化している。また、制御データ1語は16ビツ
ト構成であり、次のように、4ビツトづつの4グループ
にくり返し指定データを分けている。
The control data area of DBK (606) is fixed as 128 words regardless of the number of corrugated boards. Further, one word of control data has a structure of 16 bits, and the repeat designation data is divided into 4 groups of 4 bits as follows.

ビツト位置0〜3…C,C,D音 ビツト位置4〜7…D,E,F音 ビツト位置8〜11…F,G,G音 ビツト位置12〜15…A,A,B音 このようにすることにより、音階によつて制御データを
異なるように設定でき、1オクターブ内同一波形データ
を使用しても、楽音の立上り時間や、波形形状の変化時
間を一定にすることが可能となる。波形データは1語16
ビツト構成のPCMデータである。
Bit positions 0 to 3 ... C, C # , D sound Bit positions 4 to 7 ... D # , E, F sound Bit positions 8 to 11 ... F # , G, G # sound bit positions 12 to 15 ... A, A # , B tone In this way, the control data can be set differently depending on the scale, and even if the same waveform data in one octave is used, the rise time of the musical tone and the change time of the waveform shape are made constant. It becomes possible. Waveform data is 1 word 16
Bit-structured PCM data.

第19図はDRP(808)の一具体例を示す構成図である。図
中、(1901)は楽音合成データROM(DBK)(606)から所定の
合成データを読み出すアドレスデータを格納するDBKア
ドレスレジスタ、(1902)は楽音合成データROM(DBK)(60
6)から合成データDRP(808)の内部に取り込むDBK入力バ
ツフア、(1903)はDBK(606)に格納している先頭アドレス
を読み取るためのアドレスデータを出力する参照先頭ア
ドレスゲート、(1904)はf(Xi,n)に相当する波形サンプ
ルに値を格納する波形データメモリI、(1905)はf(X
i+1,n)に相当する波形サンプルに値を格納する波形デー
タメモリII、(1906)は内挿係数の分子に相当する(N・
m+n)αを格納する係数データメモリ、(1907)は先頭
アドレスレジス タ、(1908)は内挿係数の(N・m+n)α項の増分値α
を生成する増分生成部、(1909)は波形1周期内のサンプ
ルナンバnを格納する波形サンプルナンバメモリ、(191
0)は波形ナンバiを格納する波形ナンバメモリ、(1911)
はオフセツトデータゲート、(1912)は累積レジスタ(AC
C)、(1913)はフルアダー、ラツチ、やキヤリフラグレジ
スタなどで構成している演算部、(1914)は演算部(1913)
内のラツチALにデータを供給するDAバス、(1915)は演算
部(1913)内のラツチBLにデータを供給するDBバス、(191
6)は演算部(1913)で行なう演算結果を各レジスタに供給
するDCバス、(1917)はDBK入力バツフア(1902)の
出力を波形データメモリI(1904)などに供給するDBKバ
スである。
FIG. 19 is a block diagram showing a specific example of the DRP (808). In the figure, (1901) is a DBK address register for storing address data for reading out predetermined synthesis data from the tone synthesis data ROM (DBK) (606), and (1902) is a tone synthesis data ROM (DBK) (60
DBK input buffer fetched from 6) into the synthesized data DRP (808), (1903) is a reference start address gate that outputs address data for reading the start address stored in DBK (606), (1904) is Waveform data memory I, which stores a value in the waveform sample corresponding to f (X i, n ), is stored in f (X
The waveform data memory II, (1906), which stores values in the waveform sample corresponding to (i + 1, n ), corresponds to the numerator of the interpolation coefficient (N ·
m + n) coefficient data memory that stores α, (1907) is the start address register , (1908) is the increment value α of the (Nm + n) α term of the interpolation coefficient
(1909) is a waveform sample number memory that stores the sample number n within one cycle of the waveform,
(0) is the waveform number memory that stores the waveform number i, (1911)
Is the offset data gate, (1912) is the accumulation register (AC
(C) and (1913) are arithmetic units composed of full adders, latches, carry flag registers, etc., (1914) are arithmetic units (1913)
DA bus for supplying data to latch AL in (1915) is DB bus for supplying data to latch BL in operation unit (1913), (191
6) is a DC bus for supplying the results of the operation performed by the operation unit (1913) to each register, and (1917) is a DBK bus for supplying the output of the DBK input buffer (1902) to the waveform data memory I (1904).

次に各部の構成について説明する。波形データメモリI
(1904)、波形データメモリII(1905)は、それぞれDBK(60
6)から読み取つた波形データをシーケンサ(802)から供
給されている制御データの中の信号WRWDI、WRWDIIによ
つて一時格納しておくレジスタR(WDI)、R(WDII)と、
8チヤネル分の波形データを記憶する16ビツト×8語の
メモリM(WDI)、M(WDII)で構成されている。通常、メ
モリは読み出し状態となつており、シーケンサ(802)か
ら供給されているチヤネルコードCHCに基づいたチヤネ
ルの波形データ▲▼、▲▼をWDP(807)に
供給している。
Next, the configuration of each part will be described. Waveform data memory I
(1904), waveform data memory II (1905), DBK (60
6) Registers R (WDI) and R (WDII) for temporarily storing the waveform data read from the sequencer (802) by the signals WRWDI and WRWDII in the control data supplied from the sequencer (802),
It is composed of 16 bits × 8 words of memories M (WDI) and M (WDII) for storing waveform data of 8 channels. Normally, the memory is in a read state, and the channel waveform data ▲ ▼ and ▲ ▼ based on the channel code CHC supplied from the sequencer (802) is supplied to the WDP (807).

そして、シーケンス(802)からの制御データの中の信号W
RRAMによつて、メモリは書き込み状態となり、レジスタ
R(WDI)、R(WDII)に格納している波形データをチヤネ
ルコードCHCに基づいたメモリの所定のアドレスに書き
込む。
Then, the signal W in the control data from the sequence (802)
The RRAM causes the memory to be in a write state, and the waveform data stored in the registers R (WDI) and R (WDII) is written to a predetermined address of the memory based on the channel code CHC.

係数データメモリ(1906)は、演算部(1913)の演算結果を
シーケンサ(802)から供給されている制御データの中の
信号WRMDによつて一時格納しておくレジスタR(MD)と、
8チヤネル分の係数データを記憶する16ビツト×8語の
メモリM(MD)と、メモリM(MD)の出力データを信号RDMD
によつてDBバスに供給するゲートで構成している。通
常、メモリは読み出し状態となつており、シーケンサ(8
02)から構成されているチヤネルコードCHCに基づいたア
ドレスの係数データ(M(MD))を、上述のゲートとWDP
(807)に供給している。
The coefficient data memory (1906) is a register R (MD) for temporarily storing the calculation result of the calculation unit (1913) by the signal WRMD in the control data supplied from the sequencer (802),
A 16-bit x 8-word memory M (MD) for storing coefficient data for 8 channels, and a signal RDMD for output data from the memory M (MD).
It consists of a gate that supplies to the DB bus. Normally, the memory is in the read state, and the sequencer (8
02) The address coefficient data (M (MD)) based on the channel code CHC composed of
(807).

そして、信号WRRAMによつて、メモリは書き込み状態と
なり、レジスタR(MD)に格納している新係数データをチ
ヤネルコードCHCに基づいたメモリの所定のアドレスに
書き込む。
Then, in response to the signal WRRAM, the memory enters the write state, and the new coefficient data stored in the register R (MD) is written to the predetermined address of the memory based on the channel code CHC.

先頭アドレスレジスタ(1907)は、DBK(606)から読み取つ
た先頭番地をシーケンサ(802)からの制御データの中
(以下同じ)の信号TDAによつてDAバスに供給するゲー
ト1と、信号WRTADによつて読み取つた先頭番地を一時
格納するレジスタR(TAD)と、信号RDTADによつてレジス
タR(TAD)に格納している先頭番地をDBバスに供給する
ゲート2から構成している。
The start address register (1907) supplies the start address read from the DBK (606) to the gate 1 that supplies the start address to the DA bus by the signal TDA in the control data (same below) from the sequencer (802) and the signal WRTAD. The register R (TAD) for temporarily storing the read start address and the gate 2 for supplying the start address stored in the register R (TAD) to the DB bus by the signal RDTAD.

増分生成部(1908)は、DBK(606)から読み取つた制御デー
タを信号WRREPによつて一時格納するレジスタR(REP)
と、入力レジスタ部(803)から供給されているノートク
ロツク指定データNDに基づいてレジスタR(REP)に格納
している制御データから所定のくり返し指定データを選
択する選択器と、選択器で選択したくり返し数指定デー
タを第10表に示した増分値αに変換する変換器と、最終
波形フラグを検出して最終波形フラグWEF〔“1”〕を
出力する検出器と、信号RDREPによつて変換器の出力デ
ータ(増分値α)をDAバスに供給するゲートとで構成し
ている。
The increment generation section (1908) temporarily stores the control data read from the DBK (606) by a signal WRREP.
And a selector for selecting predetermined repeat designation data from the control data stored in the register R (REP) based on the note clock designation data ND supplied from the input register unit (803), and the selector. A converter that converts the repeat number designation data into the increment value α shown in Table 10, a detector that detects the final waveform flag and outputs the final waveform flag WEF [“1”], and a signal RDREP. It is composed of a gate that supplies the output data (increment value α) of the device to the DA bus.

波形サンプルナンバメモリ(1909)は、演算部(1913)の演
算結果(新波形サンプルナンバn)を信号WRWSNによつ
て一時格納しておくレジスタR(WSN)と、8チヤネル分
の波形サンプルナンバnを記憶する16ビツト×8語のメ
モリM(WSN)と、メモリM(WSN)の出力データを信号RDWS
NによつてDBバスに供給するゲートとで構成している。
通常、メモリM(WSN)は読み出し状態となつており、シ
ーケンサ(802)から供給されているチヤネルコードCHCに
基づいたチヤネルの波形サンプルナンバnを上述のゲー
トに供給している。
The waveform sample number memory (1909) has a register R (WSN) for temporarily storing the calculation result (new waveform sample number n) of the calculation unit (1913) by the signal WRWSN and a waveform sample number n for 8 channels. 16 bits x 8 words of memory M (WSN) for storing the data and the output data of the memory M (WSN) as the signal RDWS.
It consists of a gate supplied to the DB bus by N.
Normally, the memory M (WSN) is in a read state, and the channel waveform sample number n based on the channel code CHC supplied from the sequencer (802) is supplied to the above gate.

そして、信号WRRAMによつてメモリM(WSN)は書き込み状
態となり、レジスタR(WSN)に格納している新波形サン
プルナンバnをチヤネルコードに基づいたメモリの所定
のアドレスに書き込む。
Then, the signal WRRAM causes the memory M (WSN) to be in a write state, and the new waveform sample number n stored in the register R (WSN) is written to a predetermined address of the memory based on the channel code.

波形ナンバメモリ(1910)は、演算部(1913)の演算結果
(新波形ナンバi)を信号WRWNDによつて一時格納して
おくレジスタR(WND)と、8チヤネル分の波形ナンバi
を記憶する16ビツト×8語のメモリM(WND)と、メモリ
M(WND)の出力データ(波形ナンバ)を入力レジスタ部
(803)から供給されている波形サンプル数指定データSD
に基づいてシフト処理(i×サンプル数)を行ない、波
形ナンバアドレスWNAを出力するシフタ部と、信号RDWND
によつてメモリの出力データをDBバスに供給するゲート
1と、信号RDWNAによつてシフタ部の出力データをDBバ
スに供給するゲート2と、波形サンプル数指定データSD
に対応するサンプル数データを発生するサンプル数発生
器と、信号RDNWSによつてサンプル数発生器の出力デー
タをDBバスに供給するゲート3とで構成している。
The waveform number memory (1910) stores a calculation result (new waveform number i) of the calculation unit (1913) temporarily by a signal WRWND, and a waveform number i for 8 channels.
16-bit x 8-word memory M (WND) for storing the data and the output data (waveform number) of the memory M (WND) are input to the register section.
Waveform sample number specification data SD supplied from (803)
Shifter (i × number of samples) based on the above, and the shifter unit that outputs the waveform number address WNA and the signal RDWND
The gate 1 that supplies the output data of the memory to the DB bus by the, the gate 2 that supplies the output data of the shifter section to the DB bus by the signal RDWNA, and the waveform sample number designation data SD
, And a gate 3 which supplies the output data of the sample number generator to the DB bus by the signal RDNWS.

通常メモリM(WND)は読み出し状態となつており、シー
ケンサ(802)から供給されているチヤネルコードCHCに基
づいたチヤネルの波形ナンバiを上述のゲート1とシフ
タ部に供給している。
The normal memory M (WND) is in a read state, and supplies the waveform number i of the channel based on the channel code CHC supplied from the sequencer (802) to the gate 1 and the shifter section.

そして、信号WRRAMによつて、メモリM(WND)は書き込み
状態となり、レジスタR(WND)に格納している新波形ナ
ンバiをチヤネルコードに基づいたメモリの所定のアド
レスに書き込む。
Then, the signal WRRAM causes the memory M (WND) to be in a writing state, and the new waveform number i stored in the register R (WND) is written to a predetermined address of the memory based on the channel code.

累積レジスタ(ACC)(1912)は、演算部(1913)の演算結果
を信号WRACCによつて一時格納しておくレジスタR(ACC)
と、信号RDACCによつてレジスタR(ACC)に格納している
データをDAバスに供給するゲートとで構成している。
The accumulation register (ACC) (1912) is a register R (ACC) for temporarily storing the calculation result of the calculation unit (1913) by the signal WRACC.
And a gate for supplying the data stored in the register R (ACC) to the DA bus by the signal RDACC.

第23図は演算部(1913)の一具体例を示す構成図である。
(2301)は信号φ2の立下りエツヂでDAバスの内容を記憶
するラツチALであり、信号DCRALでクリヤされる。(230
2)は信号φ2の立下りエツヂでDBバスの内容を記憶する
ラツチBL、(2303)はキヤリ入力(CI)とキヤリ出力(CO)と
を有する16ビツト加算器(FA)、(3204)はFA(2303)のキヤ
リ出力信号を信号WRMDによつて格納するキヤリフラグレ
ジスタ、(2305)は信号TCAによつてFA(2303)の出力デー
タをDAバスに供給するゲート、(2306)はFA(2303)の出力
データをDCバスに供給するゲート、(2307)はDCバスにデ
ータ(0000)16を供給するゲート、(2308)は入力レジスタ
部(803)から供給されているキーオン/オフ信号KDと信
号RDFLGとチヤネルコードCHCとを入力とし、チヤネルご
とに独立にキー信号がオフ状態からオン状態に変化する
タイミングを検出して検出信号を出力するオン/オフ検
出部、(2309)〜(2313)はANDゲート、(2314)(2315)(231
6)はORゲートである。
FIG. 23 is a block diagram showing a specific example of the calculation unit (1913).
(2301) is a latch AL that stores the contents of the DA bus at the falling edge of the signal φ2, and is cleared by the signal DCRAL. (230
2) is a latch BL that stores the contents of the DB bus at the falling edge of the signal φ2, (2303) is a 16-bit adder (FA) having a carry input (CI) and a carry output (CO), and (3204) is A carry flag register that stores the carrier output signal of FA (2303) by signal WRMD, (2305) is a gate that supplies the output data of FA (2303) to the DA bus by signal TCA, and (2306) is FA ( 2303) is a gate for supplying the output data to the DC bus, (2307) is a gate for supplying the data (0000) 16 to the DC bus, and (2308) is a key on / off signal KD supplied from the input register section (803). And a signal RDFLG and a channel code CHC are input, and an on / off detection unit that outputs a detection signal by detecting the timing when the key signal changes from the off state to the on state independently for each channel, (2309) to (2313) ) Is an AND gate, (2314) (2315) (231
6) is an OR gate.

増分生成部(1908)から供給されている最終波形フラグ信
号WEFと信号RDNWSとがともに“1”の場合、ANDゲート
(2309)の出力信号は“1”となり、ラツチBL(2302)をリ
セツトする。信号WEFと信号WRMDがともに“1”の場
合、ANDゲート(2312)の出力信号は“1”となり、DCバ
スにはゲート(2307)からのデータ(0000)16が供給され
る。
If both the final waveform flag signal WEF and the signal RDNWS supplied from the increment generator (1908) are "1", the AND gate
The output signal of (2309) becomes "1" and the latch BL (2302) is reset. When both the signal WEF and the signal WRMD are "1", the output signal of the AND gate (2312) becomes "1" and the data (0000) 16 from the gate (2307) is supplied to the DC bus.

オフセツトデータゲート(1911)で発生するオフセツトデ
ータは10進数で256であり、制御データの格納領域に相
当する。
The offset data generated in the offset data gate (1911) is 256 in decimal number, which corresponds to the control data storage area.

DRP(808)もFDP(806)と同様に、シーケンサ(802)から供
給される制御信号に基づいて下述する演算処理を行な
う。
Like the FDP (806), the DRP (808) also performs the arithmetic processing described below based on the control signal supplied from the sequencer (802).

DBKに格納してある先頭アドレスTADを読み取る。Read the start address TAD stored in DBK.

入力レジスタ部(803)から供給されている楽音発生デー
タ(ND,SD)をシーケンサ(802)から供給されている信号RD
RTAによつてDCバスに供給する。そして、DCバス上の信
号ND,SDを信号WRDBKによつてDBKアドレスレジスタ(190
1)に格納し、DBK(606)に供給する。DBK(606)から読み出
した先頭アドレスデータTADを信号WRTADによつて先頭ア
ドレスレジスタ(1907)のレジスタR(TAD)に格納する。
The tone generation data (ND, SD) supplied from the input register section (803) is transferred to the signal RD supplied from the sequencer (802).
Supply to DC bus by RTA. Then, the signals ND and SD on the DC bus are sent to the DBK address register (190
Stored in 1) and supplied to DBK (606). The head address data TAD read from the DBK (606) is stored in the register R (TAD) of the head address register (1907) by the signal WRTAD.

くり返し数指定データの読み込み処理。Reading process of the specified number of repeats

読み込んだ先頭アドレスデータTADと波形ナンバメモリ
(1910)に格納している波形ナンバiとの加算処理(TAD
+i)を演算部(1913)で行ない、加算結果をDBKアドレ
スレジスタ(1901)に格納し、DBK(606)からくり返し数指
定データを読み取り、増分生成部(1908)のレジスタR(R
EP)に格納する。
Read start address data TAD and waveform number memory
Addition processing with the waveform number i stored in (1910) (TAD
+ I) is performed by the operation unit (1913), the addition result is stored in the DBK address register (1901), the repeat number designation data is read from DBK (606), and the register R (R) of the increment generation unit (1908) is read.
EP).

波形サンプルf(Xi,n)の読み取り処理。Reading process of waveform sample f (X i, n ).

先頭アドレスレジスタ(1907)に格納した先頭アドレスデ
ータTADとオフセツトデータ(256)10との加算処理(WAD1
=TAD+256)を演算部(1913)で行ない、加算結果をACC
(1912)のR(ACC)に格納する。ACC(1912)に格納したアド
レスデータWAD1と波形サンプルナンバメモリ(1910)に格
納している波形サンプルナンバnとの加算処理(WAD1=
WAD1+n)を演算部(1913)で行ない加算結果をACC(191
2)に格納する。そして、ACC(1912)に格納してあるアド
レスデータWAD1′と波形ナンバiを波形サンプル数指定
データSDに基づいてシフト処理したデータ(i×サンプ
ル数;i=0,1,2,…,I−1)との加算処理(WA
D1″=WAD1′+i×サンプル数)を演算部(1913)で行な
い、加算結果をACC(1912)とDBKアドレスレジスタ(1901)
に格納し、DBK(606)からf(Xi,n)に相当する波形サンプ
ルデータを読み取り波形メモリI(1904)内のレジスタR
(WDI)に格納する。
Addition processing of the start address data TAD stored in the start address register (1907) and the offset data (256) 10 (WAD1
= TAD + 256) in the calculation unit (1913) and the addition result is ACC
Store in R (ACC) of (1912). Addition processing of the address data WAD1 stored in the ACC (1912) and the waveform sample number n stored in the waveform sample number memory (1910) (WAD1 =
WAD1 + n) is calculated by the operation unit (1913) and the addition result is calculated by ACC (191
Store in 2). Then, the address data WAD1 ′ and the waveform number i stored in the ACC (1912) are shifted based on the waveform sample number designation data SD (i × sample number; i = 0, 1, 2, ..., I -1) and addition process (WA
D1 ″ = WAD1 ′ + i × number of samples) is calculated by the operation unit (1913) and the addition result is ACC (1912) and DBK address register (1901)
The waveform sample data corresponding to f (X i, n ) is stored in the DBK (606) and is read from the register R in the waveform memory I (1904).
Store in (WDI).

波形サンプルf(Xi+1,n)の読み取り処理。Reading process of waveform sample f (X i + 1, n ).

ACC(1912)に格納したアドレスデータWAD1″と波形サン
プル数指定デタSDで指定している波形サンプル数NWS
(波形ナンバメモリ(1910)内で発生)との加算処理(WA
D2=WAD1′+NWS)を演算部(1913)で行ない加算結果をD
BKアドレスレジスタ(1901)に格納し、DBK(606)からf(X
i+1,n)に相当する波形サンプルデータを読み取り波形メ
モリII(1905)内のレジスタR(WDII)に格納する。
Address data WAD1 ″ stored in ACC (1912) and the number of waveform samples NWS specified in the waveform sample number specification data SD
Addition process (generated in the waveform number memory (1910)) (WA
D2 = WAD1 '+ NWS) is performed by the operation unit (1913) and the addition result is D
It is stored in the BK address register (1901), and f (X
The waveform sample data corresponding to ( i + 1, n ) is read and stored in the register R (WDII) in the waveform memory II (1905).

波形サンプルナンバnの更新処理。Update processing of waveform sample number n.

波形サンプルナンバnとシーケンサ(802)から供給され
る信号DADD1との加算処理(n=n+1)を演算部(191
3)で行ない、波形サンプルナンバメモリ(1909)内の波形
ナンバレジスタR(WSN)に格納する。
A calculation unit (191) performs addition processing (n = n + 1) of the waveform sample number n and the signal DADD1 supplied from the sequencer (802).
3) and store it in the waveform number register R (WSN) in the waveform sample number memory (1909).

内挿係数(N・m+n)αの更新処理。Update process of the interpolation coefficient (N · m + n) α.

係数データメモリ(1906)に格納している内挿係数〔(N
・m+n)α〕と増分生成部(1908)で発生している増分
値αとの加算処理を演算部(1913)で行ない、加算結果を
係数データメモリ(1906)内にある係数データレジスタR
(MD)に格納すると共に、加算結果がオーバフオローした
場合演算部(1913)内にあるキヤリーフラグレジスタCFを
“1”にセツトする。
Interpolation coefficient stored in coefficient data memory (1906) [(N
[M + n) α] and the increment value α generated in the increment generation unit (1908) are added by the calculation unit (1913), and the addition result is added to the coefficient data register R in the coefficient data memory (1906).
In addition to storing it in (MD), when the addition result is over-followed, the carry flag register CF in the arithmetic unit (1913) is set to "1".

波形ナンバiの更新処理。Waveform number i update processing.

波形ナンバメモリ(1910)に格納している波形ナンバiと
上述で説明したキヤリーフラグレジスタCFの内容との
加算処理(i=i+CF)を演算部(1913)で行ない、波形
ナンバメモリ(1910)にある波形ナンバレジスタR(WND)
に格納する。
The calculation unit (1913) performs addition processing (i = i + CF) between the waveform number i stored in the waveform number memory (1910) and the contents of the carry flag register CF described above, and the waveform number memory (1910) Waveform number register R (WND) in
To store.

レジスタR(WND)、R(WSD)、R(MD)、R(WDI)、R(WD
II)に格納した各種データをチヤネルコードCHCで指定さ
れたそれぞれのメモリ領域へのデータ転送処理。命令ス
テツプ11のタイミングで、シーケンサ(802)から供給さ
れる信号WRRAMに基づいてデータ転送処理が行なわれ
る。なお、計算要求フラグ信号CLRFが“0”の場合には
転送処理を行なわないようにしている。なぜならば、新
しい波形サンプルの算出を行なわないためである。
Register R (WND), R (WSD), R (MD), R (WDI), R (WD
Data transfer processing of various data stored in II) to each memory area specified by the channel code CHC. At the timing of the instruction step 11, data transfer processing is performed based on the signal WRRAM supplied from the sequencer (802). When the calculation request flag signal CLRF is "0", the transfer process is not performed. This is because no new waveform sample is calculated.

第11表にDRP(808)の演算シーケンサを示す。Table 11 shows the DRP (808) operation sequencer.

第11表に示す命令ステツプを順次実行することにより、
上述〜で説明した処理が実現される。
By sequentially executing the instruction steps shown in Table 11,
The processes described in the above are realized.

なお、第4表で説明したキーオン/オフ信号KDが“0”
から“1”に変化した最初の処理はイニシヤル処理とし
て下述のような条件設定を行なう。
The key on / off signal KD described in Table 4 is "0".
The first process that changes from "1" to "1" is an initial process, and the following condition setting is performed.

イニシヤル処理を指示する信号〔“1”〕は、第23図に
示した演算部(1913)内のオン/オフ検出部(2308)で発生
する。
The signal [“1”] instructing the initial processing is generated by the on / off detecting unit (2308) in the arithmetic unit (1913) shown in FIG.

波形サンプルナンバn=(0)10設定。Waveform sample number n = (0) 10 setting.

第11表に示した命令ステツプ7のタイミングで信号WRWS
Nが演算部(1913)に供給される。そうすると、ANDゲート
(2310)の出力信号は“1”となり、ゲート(2306)(2307)
の制御入力に“1”が供給される。この結果、DCバスに
は(0000)16が供給され、波形サンプルナンバメモリ(190
9)内のレジスタR(WSN)に(0000)16を格納する。
Signal WRWS at the timing of instruction step 7 shown in Table 11
N is supplied to the calculation unit (1913). Then, AND gate
The output signal of (2310) becomes "1", and the gates (2306) (2307)
"1" is supplied to the control input of. As a result, (0000) 16 is supplied to the DC bus and the waveform sample number memory (190
Store (0000) 16 in the register R (WSN) in 9).

波形ナンバi=(0)10設定。Waveform number i = (0) 10 setting.

第11表に示した命令ステツプ10のタイミングで、信号WR
WNDが演算部(1913)に供給される。そうすると、ANDゲー
ト(2311)の出力信号は“1”となり、ゲート(2306)(230
7)の制御入力に“1”が供給される。この結果、DCバス
には(0000)16が供給され、波形ナンバメモリ(1910)内の
レジスタR(WND)に(0000)16を格納する。
At the timing of instruction step 10 shown in Table 11, signal WR
WND is supplied to the calculation unit (1913). Then, the output signal of the AND gate (2311) becomes “1”, and the gate (2306) (230
"1" is supplied to the control input of 7). As a result, (0000) 16 is supplied to the DC bus, and (0000) 16 is stored in the register R (WND) in the waveform number memory (1910).

上述の,の処理によつて、キーオン/オフ信号KDが
オフからオンに変化するたびに、波形ナンバiと波形サ
ンプルナンバnとが初期設定される。
Through the above process, the waveform number i and the waveform sample number n are initialized each time the key-on / off signal KD changes from off to on.

また、DBK(606)から読み込んだくり返し指定データが
(F)16すなわち、最終波形フラグWEFならば、下述のよう
な条件設定を行なう。
In addition, the repeat specified data read from DBK (606)
(F) 16 That is, if the final waveform flag is WEF, the condition setting as described below is performed.

内挿係数の分子項(N・m+n)α=(0)10の設定。Numerator term of interpolation coefficient (Nm + n) α = (0) 10 setting.

第11表に示した命令ステツプ9のタイミングで信号WRMD
が演算部(1913)内のANDゲート(2312)に供給される。そ
うすると、ANDゲート(2312)の出力信号は“1”とな
り、ゲート(2306)(2307)の制御入力に“1”供給され
る。この結果、DCバスには(0000)16が供給され、係数レ
ジスタメモリ(1906)内のレジスタR(MD)に(0000)16を格
納する。
Signal WRMD at the timing of instruction step 9 shown in Table 11
Is supplied to the AND gate (2312) in the arithmetic unit (1913). Then, the output signal of the AND gate (2312) becomes "1", and "1" is supplied to the control inputs of the gates (2306) and (2307). As a result, (0000) 16 is supplied to the DC bus, and (0000) 16 is stored in the register R (MD) in the coefficient register memory (1906).

波形サンプル数NWS=(0)10の設定。Waveform sample number NWS = (0) 10 setting.

第11表に示した命令ステツプ7のタイミングで信号RDNW
Sが演算部(1913)内のANDゲート(2309)に供給される。そ
うすると、ANDゲート(2309)の出力信号は“1”とな
り、ラツチBL(2302)の格納状態をクリヤ(0000)16する。
この結果、波形サンプルf(Xi+1,n)を読み込むためのDB
K(606)のアドレスデータは波形サンプルf(Xi,n
を読み込んだアドレスデータと等しくなる。
Signal RDNW at the timing of instruction step 7 shown in Table 11
S is supplied to the AND gate (2309) in the arithmetic unit (1913). Then, the output signal of the AND gate (2309) becomes "1", and the storage state of the latch BL (2302) is cleared (0000) 16 .
As a result, a DB for reading the waveform sample f (X i + 1, n )
The address data of K (606) is the waveform sample f (X i, n )
Becomes equal to the read address data.

上述,の設定によつて、最終波形データとなると、
実質的に波形内挿処理を行なわず、最終波形データをく
り返し使用することになる。
With the above settings, when the final waveform data is reached,
The waveform interpolation processing is not substantially performed, and the final waveform data is repeatedly used.

第11表に示した信号についての説明 下述する信号はシーケンサ(802)から供給される。Description of signals shown in Table 11 The signals described below are supplied from the sequencer (802).

RDOSDは、オフセツトデータ(256)をDAバスに供給する。 RDOSD supplies the offset data (256) to the DA bus.

RDACCは、ACC(1912)内のレジスタR(ACC)に格納してい
るデータをDAバスに供給する命令。
RDACC is an instruction to supply the data stored in the register R (ACC) in the ACC (1912) to the DA bus.

RDREPは、増分生成部(1908)内で生成された増分値αをD
Aバスに供給する命令。
RDREP sets the increment value α generated in the increment generator (1908) to D
Instruction to supply to the A bus.

RDWSNは、波形サンプルナンバメモリ(1909)内のメモリ
M(WSN)から読み出されている波形サンプルナンバnをD
Bバスに供給する命令。
RDWSN is the waveform sample number n read from the memory M (WSN) in the waveform sample number memory (1909).
Instruction to supply to the B bus.

RDWNDは、波形ナンバメモリ(1910)内のメモリM(WND)か
ら読み出されている波形サンプルナンバiをDBバスに供
給する命令。
RDWND is an instruction to supply the waveform sample number i read from the memory M (WND) in the waveform number memory (1910) to the DB bus.

RDWNAは、波形ナンバメモリ(1910)内にあるシフタ部で
発生している波形ナンバアドレス(WNA)をDBバスに供給
する命令。
RDWNA is an instruction to supply the waveform number address (WNA) generated in the shifter section in the waveform number memory (1910) to the DB bus.

RDTADは、先頭アドレスレジスタ(1907)内のレジスタR
(TAD)に格納している先頭番地をDBバスに供給する命
令。
RDTAD is the register R in the start address register (1907)
An instruction to supply the start address stored in (TAD) to the DB bus.

RDNWSは、波形ナンバメモリ(1910)内のサンプル数発生
器で発生しているサンプル数をDBバスに供給する命令。
RDNWS is an instruction to supply the number of samples generated by the sample number generator in the waveform number memory (1910) to the DB bus.

RDMDは、係数データメモリ(1906)内のメモリM(MD)から
読み出されている係数データをDBバスに供給する命令。
RDMD is an instruction to supply the coefficient data read from the memory M (MD) in the coefficient data memory (1906) to the DB bus.

RDRTAは、入力レジスタ部(803)から供給されている楽音
発生データ(ND,SD)をDCバスに供給する命令。
RDRTA is an instruction to supply the tone generation data (ND, SD) supplied from the input register unit (803) to the DC bus.

WRDBKは、DCバス上のデータをDBKアドレスレジスタ(190
1)内のレジスタR(DBK)に格納する命令。
WRDBK transfers data on the DC bus to the DBK address register (190
Instruction to store in register R (DBK) in 1).

WRACCは、DCバス上のデータをACC(1912)内のレジスタR
(ACC)に格納する命令。
WRACC transfers the data on the DC bus to the register R in ACC (1912).
Instruction to store in (ACC).

WRWSNは、DCバス上のデータを波形サンプルナンバメモ
リ(1909)内のレジスタR(WSN)に格納する命令。
WRWSN is an instruction to store the data on the DC bus in the register R (WSN) in the waveform sample number memory (1909).

WRMDは、DCバス上のデータを係数データメモリ(1906)内
のレジスタR(MD)に格納する命令。
WRMD is an instruction to store the data on the DC bus in the register R (MD) in the coefficient data memory (1906).

WRWNDは、DCバス上のデータを波形ナンバメモリ(1910)
内のレジスタR(WND)に格納する命令。
WRWND is a waveform number memory (1910) for data on the DC bus.
Instruction to be stored in the internal register R (WND).

TDAは、先頭アドレスレジスタ(1907)にDBKから読み
込んだ先頭番地をDAバスに供給する命令。
TDA is an instruction to supply the start address read from DBK to the start address register (1907) to the DA bus.

TCAは、DCバス上のデータをDAバスに供給する命令。TCA is an instruction to supply the data on the DC bus to the DA bus.

DCRALは、演算部(1913)内のラツチAL(2301)をクリヤす
る命令。
DCRAL is an instruction to clear the latch AL (2301) in the operation unit (1913).

DADD1は、演算部(1913)内のFA(2303)にキヤリ入力信号
(+1)を供給する命令。
DADD1 is an instruction to supply the carrier input signal (+1) to the FA (2303) in the arithmetic unit (1913).

RDFLGは、演算部(1913)内のオン/オフ検出部(2308)に
新キーオン/オフ信号KDを取り込む命令。
RDFLG is an instruction to take in the new key on / off signal KD to the on / off detection part (2308) in the operation part (1913).

WRRAMは、波形データメモリI(1904)内のレジスタR(WD
I)、波形データメモリII(1905)内のレジスタR(WDII)、
係数データメモリ(1906)内のレジスタR(MD)、波形サン
プルナンバメモリ(1909)内のレジスタR(WSN)、波形ナ
ンバメモリ(1910)内のレジスタR(WND)に格納している
データを、それぞれのメモリM(WDI)、M(WDII)、M(M
D)、M(WSN)、M(WND)に書き込む命令。
WRRAM is the register R (WD
I), the register R (WDII) in the waveform data memory II (1905),
The data stored in the register R (MD) in the coefficient data memory (1906), the register R (WSN) in the waveform sample number memory (1909), and the register R (WND) in the waveform number memory (1910), Memory M (WDI), M (WDII), M (M
D), M (WSN), M (WND) write command.

以上のように、データメモリ(DBK)に合成データ(波形
データ、制御データ)の先頭番地を格納することによ
り、回路構成を複雑化することなく、データメモリ内の
データ内容操作だけで異なる波形データの選択ができ、
異なる楽音を容易に発生することができる。
As described above, by storing the start address of the composite data (waveform data, control data) in the data memory (DBK), the waveform data that differs only by the data content operation in the data memory can be performed without complicating the circuit configuration. Can be selected,
Different musical tones can be easily generated.

さらに、複数組の制御データ(くり返し数指定データ)
を用意し、合成する場合には、所定の制御データを選択
して使用するようにしているため、音階によつて制御デ
ータを異なるように設定することができ、1オクターブ
内同一波形データを使用しても、楽音の立上り時間や、
波形形状の変化時間を一定にすることができる。
In addition, multiple sets of control data (data for specifying the number of repetitions)
When preparing and synthesizing, the predetermined control data is selected and used, so the control data can be set differently depending on the scale, and the same waveform data within one octave is used. Even if the rise time of the musical sound,
The change time of the waveform shape can be made constant.

さらに、同一データベース上に波形データ、制御データ
と先頭番地とを格納し、時分割的に各種データを読み取
るようにしているので、データメモリ(DBK)の回路構成
が簡略化できるとともに、データメモリとDRP(808)との
インターフエース処理が簡略化できる。
Furthermore, since the waveform data, control data, and start address are stored in the same database and various data are read in a time-division manner, the circuit configuration of the data memory (DBK) can be simplified and the data memory and Interface processing with DRP (808) can be simplified.

波形データプロセツサWDP(807)の詳細な説明 第20図はWDP(807)の演算処理の流れ図である。WDP(807)
の演算処理として、4種類の演算がある。
Detailed Description of Waveform Data Processor WDP (807) FIG. 20 is a flowchart of the arithmetic processing of WDP (807). WDP (807)
There are four types of calculation processing.

波形内挿演算を行なつて仮想波形サンプル値 を求める。Virtual waveform sample value by performing waveform interpolation operation Ask for.

仮想波形サンプル値 とエンベロープデータEDとの乗算を行ない、エンベロー
プ付加波形サンプル値 を求める。
Virtual waveform sample value And the envelope data ED are multiplied, and the envelope added waveform sample value Ask for.

前回求めたエンベロープ付加波形サンプル値旧 と今回求めたエンベロープ付加波形サンプル値新 との差分演算を行なつて差分波形サンプル値Df(X
i,m,n,q,r)を求める。
Previously obtained envelope added waveform sample value Old And the envelope added waveform sample value obtained this time The difference waveform sample value Df (X
i, m, n, q, r ) is calculated.

エンベロープデータEDの更新を行なう。The envelope data ED is updated.

次に、エンベロープデータEDとエンベロープ付加方法に
ついて説明する。
Next, the envelope data ED and the envelope addition method will be described.

エンベロープデータEDは20ビツトで構成されている。上
位4ビツトをEDU(Q)、下位16ビツトをEDL(R)とする。
The envelope data ED consists of 20 bits. The upper 4 bits are EDU (Q) and the lower 16 bits are EDL (R).

エンベロープデータEDの更新方法は、新ED=旧ED+ΔED
と云う演算処理を行なつて求める。増分エンベロープデ
ータΔEDは、CPU(603)から入力レジスタ部(803)に供給
されたサステインデータDSUSあるいは、ダンパーデータ
DDMPを使用する。サステインデータ、ダンパーデータの
選択は、オルガン型エンベロープ、ピアノ型エンベロー
プおよびキーオン/オフ信号に基づいて使い分けを行な
う。
The method of updating the envelope data ED is: new ED = old ED + ΔED
The calculation processing is called. The incremental envelope data ΔED is the sustain data DSUS or damper data supplied from the CPU (603) to the input register section (803).
Use DDMP. The sustain data and the damper data are selected according to the organ type envelope, the piano type envelope, and the key on / off signal.

エンベロープ付加波形サンプル値を求める演算式を下式
に示す。
The equation below is used to calculate the envelope added waveform sample value.

q=0,1,2,…,Q−1(Q=2) r=0,1,2,…,R−1(R=216) エンベロープデータEDを単調増加すなわち、新ED=旧ED
+ΔED(一定)とし、(5)式を実行することにより、指
数特性の減衰(立下り)エンベロープが付加できる。ま
た、単調減少、すなわち新ED=旧ED−ΔED(一定)とす
ることにより、指数特性の立上り(アタツク)エンベロ
ープを付加することができる。このような処理を行なう
ことで、指数特性のエンベロープを発生せずに、演算だ
けで求められ、エンベロープデータEDの生成が簡単な構
成で実現できる。
q = 0,1,2, ..., Q-1 (Q = 2 4 ) r = 0,1,2, ..., R-1 (R = 2 16 ) Envelope data ED monotonically increases, that is, new ED = old ED
By setting + ΔED (constant) and executing the equation (5), the attenuation (falling) envelope of the exponential characteristic can be added. Also, by monotonically decreasing, that is, new ED = old ED−ΔED (constant), a rising envelope of the exponential characteristic can be added. By performing such processing, it is possible to obtain the envelope data ED with a simple configuration, which is obtained only by calculation without generating the envelope of the exponential characteristic.

第21図はWDP(807)の一具体例を示す構成図である。図中
(2101)は波形データゲートI、(2102)は波形データゲー
トII、(2103)はエンベロープデータEDの増分値を発生す
るエンベロープ増分発生部(ΔED発生部)、(2104)は旧
波形サンプル値 を記憶している旧波形データメモリ部、(2105)はエンベ
ロープデータEDを記憶しておくエンベロープデータメモ
リ部(EDメモリ部)(2106)は乗算部、(2107)は(5)式に
示した1/2qあるいは1/2q+1の演算を行なうシフタ部、(2
108)はフルアダー、ラツチやキヤリーフラグレジスタな
どで構成している演算部、(2109)は差分波形サンプル値 を格納するアウトプツトバツフアレジスタ(OBR)、(211
0)はアナログバツフアメモリ部(812)内のアナログスイ
ツチ(1103)〜(1107)(コンデンサC1〜C8に電荷を蓄える
ためのスイツチ)(第11図)のオン/オフを制御する書
き込みパルス発生部、(2111)は演算部(2108)内のラツチ
ALにデータを供給するWAバス、(2112)は演算部(2108)内
のラツチBLにデータを供給するWBバス、(2113)は演算部
(2108)で行なつた演算処理結果を各レジスタに供給する
WCバスである。
FIG. 21 is a block diagram showing a specific example of WDP (807). In the figure
(2101) is a waveform data gate I, (2102) is a waveform data gate II, (2103) is an envelope increment generating section (ΔED generating section) that generates an increment value of the envelope data ED, and (2104) is an old waveform sample value. The old waveform data memory section storing (2105), the envelope data memory section (ED memory section) storing the envelope data ED (2106) is the multiplying section, and (2107) is the expression (5). A shifter section that performs 1/2 q or 1/2 q + 1 operation, (2
108) is a full adder, an arithmetic unit composed of latch and carry flag registers, etc., (2109) is a differential waveform sample value To store the output buffer register (OBR), (211
0) controls the on / off of the analog switch (1103) - in analog cross Hua memory unit (812) (1107) (switch for storing a charge in the capacitor C 1 -C 8) (Figure 11) Writing The pulse generator (2111) is the latch in the calculator (2108).
WA bus that supplies data to AL, (2112) a WB bus that supplies data to latch BL in computing unit (2108), (2113) computing unit
Supply the calculation result of (2108) to each register.
It is a WC bus.

次に各部の構成内容について説明する。ΔED発生部(210
3)は増分データΔEDとしてサステインデータDSUSとダン
パーデータDDMPのどちらか一方を選択する選択器と入力
レジスタ部(803)から供給されているキーオン/オフ信
号KD、オルガン型/ピアノ型指定信号OPSとダンパーオ
ン/オフ信号DMPから選択信号を生成する制御器と、信
号KD、信号OPS、信号DMPとDRP(803)内の増分生成部(190
8)から供給されている最終波形フラグ信号WEFから仮想
キーオン/オフ信号を生成し仮想キー信号EADGを出力す
る仮想キー信号発生部とから構成している。第12表に増
分データΔEDの選択内容と仮想キー信号EADGの発生状態
を示す。
Next, the configuration contents of each unit will be described. ΔED generator (210
3) is a selector for selecting either sustain data DSUS or damper data DDMP as the increment data ΔED and a key on / off signal KD and an organ type / piano type designation signal OPS supplied from the input register section (803). A controller that generates a selection signal from the damper on / off signal DMP, and an increment generation unit (190) in the signal KD, the signal OPS, the signal DMP, and the DRP (803).
8) A virtual key signal generator that generates a virtual key on / off signal from the final waveform flag signal WEF supplied from 8) and outputs a virtual key signal EADG. Table 12 shows the selection contents of the increment data ΔED and the generation state of the virtual key signal EADG.

第7表に示した信号OPSが“0”、すなわちオルガン型
指定の場合、仮想キー信号EADGは、キーオン/オフ信号
KDのオン(“1”)、オフ(“0”)状態と等しくな
る。
When the signal OPS shown in Table 7 is "0", that is, when the organ type is designated, the virtual key signal EADG is the key on / off signal.
It is equal to the on (“1”) and off (“0”) state of KD.

信号OPSが“1”、すなわちピアノ型指定の場合、仮想
キー信号EADGは下述の状態となる。
When the signal OPS is "1", that is, when the piano type is designated, the virtual key signal EADG is in the state described below.

信号WEFが“0”の場合 (a)信号DMP(第7表に示したダンパオン/オフ信号)が
“0”の場合、仮想キー信号EADGは“オン”状態とな
る。
When the signal WEF is "0" (a) When the signal DMP (damper on / off signal shown in Table 7) is "0", the virtual key signal EADG is in the "on" state.

(b)信号DMPが“1”の場合、仮想キー信号EADGは、キー
オン/オフ信号KDのオン、オフ状態と等しくなる。
(b) When the signal DMP is "1", the virtual key signal EADG becomes equal to the on / off state of the key on / off signal KD.

信号WEFが“1”の場合 信号DMP、キーオン/オフ信号KDの状態に関係なく、仮
想キー信号EADGはオフ状態となる。
When the signal WEF is "1", the virtual key signal EADG is turned off regardless of the states of the signal DMP and the key on / off signal KD.

仮想キー信号EADGの働きの説明 信号WEFが“1”となり最終波形データをくり返し用い
て、接続者の楽音を発生する場合、オルガン型指定であ
れば、オルガン型の楽音特性と等しくなり問題は発生し
ない。
Explanation of the function of the virtual key signal EADG When the signal WEF becomes "1" and the final waveform data is repeatedly used to generate the musical tone of the connecting person, if the organ type is designated, it will be equal to the musical tone characteristic of the organ type and a problem will occur. do not do.

ピアノ型指定となると、楽音特性は減衰特性とする必要
があり、信号WEF=“1”となり、最終波形データをく
り返し用いて接続者を発生しても、仮想キー信号EADGを
オフ状態として、減衰エンベロープ特性を付加して強制
的に楽音特性を減衰特性とする。
When the piano type is designated, it is necessary to set the tone characteristic to be the attenuation characteristic, and the signal WEF = "1". Even if a connection person is generated by repeatedly using the final waveform data, the virtual key signal EADG is turned off and the attenuation is performed. Envelope characteristics are added to force the musical sound characteristics to be attenuation characteristics.

旧波形データメモリ部(2104)は、演算部(2108)の演算結
果をシーケンサ(802)から供給されている信号WROWDによ
つて一時格納しておくレジスタR(OWD)と、8チヤネル
分のエンベロープ付加波形サンプル値 を記憶する16ビツト×8語のメモリM(OWD)と、メモリ
M(OWD)の出力データを信号RDOWDによつてWBバスに供給
するゲートとで構成している。通常メモリM(OWD)は読
み出し状態となつており、シーケンサ(802)から供給さ
れているチヤネルコードCHCに基づいたアドレスのエン
ベロープ付加波形サンプル値を上述のゲートに供給して
いる。そして、信号WRRAMによつてメモリM(OWD)は書き
込み状態となり、レジスタR(OWD)に格納しているデー
タがメモリM(OWD)に書き込まれる。
The old waveform data memory unit (2104) has a register R (OWD) for temporarily storing the operation result of the operation unit (2108) by the signal WROWD supplied from the sequencer (802) and an envelope for eight channels. Additional waveform sample value Is composed of a 16-bit × 8-word memory M (OWD) for storing data and a gate for supplying the output data of the memory M (OWD) to the WB bus by a signal RDOWD. The normal memory M (OWD) is in a read state and supplies the envelope added waveform sample value of the address based on the channel code CHC supplied from the sequencer (802) to the above-mentioned gate. Then, the signal WRRAM causes the memory M (OWD) to be in a write state, and the data stored in the register R (OWD) is written to the memory M (OWD).

EDメモリ部(2104)は、演算部(2108)の演算結果を信号WR
EDL、WREDUによつてそれぞれ一時格納するレジスタR(ED
L)、R(EDU)と、8チヤネル分のエンベロープデータED
を記憶するメモリM(EDL)、M(EDU)と、メモリM(EDL)
の出力データを信号RDEDLによつてWBバスに供給するゲ
ートLと、メモリM(EDU)の出力データを信号RDEDUによ
つてWBバスに供給するゲートUとで構成している。メモ
リM(EDL)は16ビツト×8語、メモリM(EDU)は4ビツト
×8語である。通常メ モリM(EDL)、M(EDU)は読み出し状態となつており、チ
ヤネルコードCHCに基づいたアドレスのエンベロープデ
ータEDが読み出され、上述のゲートL、ゲートUにそれ
ぞれ供給される。また、信号EDUは乗算部(2106)に、信
号EDLはシフタ部(2107)に供給されている。
The ED memory unit (2104) outputs the calculation result of the calculation unit (2108) to the signal WR.
Register R (ED that temporarily stores each by EDL, WREDU
L), R (EDU), and envelope data ED for 8 channels
Memory M (EDL), M (EDU) and memory M (EDL)
Of the memory M (EDU) is supplied to the WB bus by a signal RDEDU and a gate U of the memory M (EDU) is supplied to the WB bus by a signal RDEDU. The memory M (EDL) has 16 bits × 8 words, and the memory M (EDU) has 4 bits × 8 words. Normal The memories M (EDL) and M (EDU) are in the read state, and the envelope data ED of the address based on the channel code CHC is read and supplied to the gate L and the gate U, respectively. The signal EDU is supplied to the multiplication unit (2106) and the signal EDL is supplied to the shifter unit (2107).

そして、信号WRRAMによつてメモリM(EDL)、M(EDU)は
書き込み状態となり、レジスタR(EDL)、R(EDU)に格納
しているデータがメモリM(EDL)、M(EDU)に書き込まれ
る。
Then, the memories M (EDL) and M (EDU) are in a write state by the signal WRRAM, and the data stored in the registers R (EDL) and R (EDU) are stored in the memories M (EDL) and M (EDU). Written.

乗算部(2106)は、波形データを信号WRMLPによつて一時
格納するレジスタR(MLP1)と、信号SELWE=“0”の時D
RP(808)から供給されている係数データMLPを一時格納
し、信号SELWE=“1”の時EDメモリ部(2105)から供給
されているエンベロープデータEDLを一時格納するレジ
スタR(MLP2)と、レジスタR(MLP1)に格納しているデー
タを被乗数(2の補数表現)としレジスタR(MLP2)に格
納しているデータを乗数(絶対値表現)とする16ビツト
×16ビツト=32ビツトの乗算器と、信号RDMLPによつて
乗算器の乗算結果上位16ビツトをWBバスに供給するゲー
トとで構成している。
The multiplication unit (2106) is a register R (MLP1) for temporarily storing the waveform data by the signal WRMLP, and a signal D when the signal SELWE = "0".
A register R (MLP2) for temporarily storing the coefficient data MLP supplied from the RP (808) and temporarily storing the envelope data EDL supplied from the ED memory unit (2105) when the signal SELWE = "1", Multiply 16 bits x 16 bits = 32 bits by using the data stored in register R (MLP1) as the multiplicand (2's complement representation) and the data stored in register R (MLP2) as the multiplier (absolute value representation). And a gate for supplying the upper 16 bits of the multiplication result of the multiplier by the signal RDMLP to the WB bus.

シフタ部(2107)は、演算部(2108)の演算結果を信号WRSF
Tによつて一時格納するレジスタR(SFT)と、レジスタR
(SFT)に格納したデータをEDメモリ部(2105)から供給さ
れているエンベロープデータEDUに基づいてシフト操作 するシフタと、シフタの出力データを信号WRSFAによつ
て一時格納するレジスタR(SFA)と、信号RDSFAによつて
レジスタR(SFA)に格納したデータをWAバスに供給する
ゲートAと、信号RDSFBによつてシフタのデータを直接W
Bバスに供給するゲートBとで構成している。
The shifter unit (2107) outputs the calculation result of the calculation unit (2108) to the signal WRSF.
Register R (SFT) temporarily stored by T and register R
Shift operation of the data stored in (SFT) based on the envelope data EDU supplied from the ED memory unit (2105) Shifter, a register R (SFA) for temporarily storing the output data of the shifter by the signal WRSFA, a gate A for supplying the data stored in the register R (SFA) by the signal RDSFA to the WA bus, and a signal RDSFB. The shifter data directly to W
It is composed of a gate B that supplies the B bus.

第24図は演算部(2108)の一具体例を示す構成図である。
(2401)はWAバス上のデータを信号INVによつて反転する
反転ゲート、(2402)は反転ゲート(2401)の出力データを
信号φ2の立下りエツヂで一時格納するラツチALで、信
号WCRALによつて格納状態が(0000)16になる。すなわち
リセツトされる。(2403)はWBバス上のデータを信号φ2
の立下りエツヂで一時格納するラツチBL、(2404)はキヤ
リ入力、キヤリ出力を有する16ビツト加算器(FA)、(240
5)はFA(2404)のキヤリ出力を信号WREDLによつて記憶
し、信号RDEDLによつてリセツトするキヤリフラグレジ
スタECF、(2406)はANDゲート、(2407)はORゲート、(240
8)は信号WTCAによつてFA(2404)の出力データをWAバスに
供給するゲートA、(2409)はWCバスにデータ(FFFF)16
供給するゲートB、(2410)はWCバスにWBバス上のデータ
を供給するゲートC、(2411)はFA(2404)の出力データを
WCバスに供給するゲートD、(2412)はデータ(0000)16
WCバスに供給するゲートE、(2413)は信号TBC、信号WRE
DU、信号WREDL、信号EADGおよびFA(2404)の出力信号
(ビツト位置4)に基づいてゲートB(2409)〜ゲートE
(2412)のいずれか1つを選択するゲート選択器である。
FIG. 24 is a block diagram showing a specific example of the calculation unit (2108).
(2401) is an inversion gate that inverts the data on the WA bus by the signal INV, and (2402) is a latch AL that temporarily stores the output data of the inversion gate (2401) at the falling edge of the signal φ2. Therefore, the storage status becomes (0000) 16 . That is, it is reset. (2403) is data φ2 on the WB bus
Latch BL temporarily stored at the falling edge of (2404) is a 16-bit adder (FA) with a carrier input and a carrier output, (240
5) is a carry flag register ECF that stores the carry output of FA (2404) by the signal WREDL and resets it by the signal RDEDL, (2406) is an AND gate, (2407) is an OR gate, and (240
8) is a gate A which supplies the output data of FA (2404) to the WA bus by the signal WTCA, (2409) is a gate B which supplies the data (FFFF) 16 to the WC bus, and (2410) is a WB to the WC bus. Gate C, which supplies data on the bus, (2411) outputs the output data of FA (2404).
Gate (D) supplied to the WC bus (2412) is data (0000) 16
Gate E supplied to the WC bus, (2413) is signal TBC, signal WRE
Gate B (2409) to gate E based on the output signals (bit position 4) of DU, signal WREDL, signal EADG and FA (2404)
A gate selector for selecting any one of (2412).

ゲート選択器(2413)で選択するゲートについて説明す
る。シーケンサ(802)から供給されている信号TBCによつ
てゲートC(2410)が選択され、WCバスにはWBバス上のデ
ータが供給される。
The gate selected by the gate selector (2413) will be described. The gate C (2410) is selected by the signal TBC supplied from the sequencer (802), and the data on the WB bus is supplied to the WC bus.

ΔED発生部(2103)から供給されている仮想キー信号EADG
がオン状態であると、信号WREDLあるいは信号WREDUによ
つてゲートE(2412)が選択され、WCバス上にはデータ(0
000)16が供給される。すなわち、エンベロープデータED
U、EDLをともに(0000)16と設定することになる。この結
果、エンベロープ付加波形サンプル値 となる。
Virtual key signal EADG supplied from ΔED generator (2103)
Is ON, gate E (2412) is selected by signal WREDL or signal WREDU, and data (0
000) 16 will be supplied. That is, the envelope data ED
Both U and EDL will be set to (0000) 16 . As a result, the envelope added waveform sample value Becomes

また、FA(2404)の出力信号(ビツト位置4)が“1”で
かつ信号WREDUが供給されるとゲートB(2409)が選択さ
れWCバス上にデータ(FFFF)16が供給される。すなわち、
エンベロープデータEDUを常時(F)16と設定することにな
る。
When the output signal (bit position 4) of FA (2404) is "1" and the signal WREDU is supplied, the gate B (2409) is selected and the data (FFFF) 16 is supplied on the WC bus. That is,
Envelope data EDU will always be set to (F) 16 .

上述以外の状態では、ゲートD(2411)が選択され、FA(2
404)の出力データがWCバスに供給される。
In states other than the above, gate D (2411) is selected and FA (2
The output data of (404) is supplied to the WC bus.

なお、旧波形データメモリ部(2105)、EDメモリ部(2106)
に供給されている信号WRRANは、DRP(808)で説明した信
号WRRAMと同一のものである。WDP(807)もDRP(808)、EDP
(806)と同様にシーケンサ(802)から供給される制御信号
に基づいて下述する演算処理を行ない、上述した〜
の処理内容を実現するようになつている。
The old waveform data memory section (2105) and ED memory section (2106)
The signal WRRAN supplied to is the same as the signal WRRAM described in DRP (808). WDP (807) also DRP (808), EDP
Similar to (806), the following arithmetic processing is performed based on the control signal supplied from the sequencer (802), and
The processing contents of are realized.

仮想波形サンプル値f(Xi,m,n)を求める。A virtual waveform sample value f (X i, m, n ) is obtained.

信号RDWDI、RDWDII(命令ステツプ2に対応)によつてD
RP(808)から供給されている波形サンプル値f(Xi,n)と
f(Xi+1,n)をWAバス、WBバスに供給し、演算部(2108)の
ラツチAL、BLに信号φ2立下りエツヂで波形サンプル値
を格納する。この時演算部(2108)に加えられる信号INV
によつてラツチALに格納されるデータは反転データ、す
なわち となる。
D by signals RDWDI and RDWDII (corresponding to instruction step 2)
The waveform sample values f (X i, n ) and f (X i + 1, n ) supplied from RP (808) are supplied to the WA bus and WB bus, and are input to the latches AL and BL of the calculation unit (2108). The waveform sample value is stored at the falling edge of the signal φ2. Signal INV applied to the calculation unit (2108) at this time
Therefore, the data stored in the latch AL is the inverted data, that is, Becomes

そして、ラツチAL(2402)、ラツチBL(2403)に格納された
データを用いて演算部(2108)で加算処理 すなわち〔f(Xi-1,n)−f(Xi,n)〕が実行され、演算結
果がWCバスに出力され、信号WRMLPによつて乗算部(210
6)内の被乗数レジスタR(MLP1)に信号φ2の立上りエツ
ヂで書き込まれるとともに、DRP(808)から供給されてい
る内挿係数(N・m+n)αが乗数レジスタR(MLP
2)に格納される。
Then, addition processing is performed by the calculation unit (2108) using the data stored in the latch AL (2402) and the latch BL (2403). That is, [f (X i-1, n ) −f (X i, n )] is executed, the operation result is output to the WC bus, and the multiplication unit (210
6) is written in the multiplicand register R (MLP1) at the rising edge of the signal φ2, and the interpolation coefficient (N · m + n) α supplied from the DRP (808) is used in the multiplier register R (MLP).
It is stored in 2).

そうすると、乗算部(2106)内で 〔f(Xi-1,n)−f(Xi,n)〕×(N・m+n)α の乗算が実行される。乗算結果は命令ステツプ4の終了
までに正しい値になるものとする。次に信号RDWDIによ
つて矩形サンプル値f(Xi,n)をWAバスに、信号RDMLPに
よつて乗算結果をWBバスに供給し、信号φ2の立下りエ
ツヂでラツチAL、BLにそれぞれのデータを格納する(命
令ステツプ5に対応)。なお、乗算結果は乗算器の上位
16ビツトを利用している。これは、1/216処理と等価な
ものである。
Then, multiplication of [f (Xi-1, n) −f (Xi, n)] × (N · m + n) α is executed in the multiplication unit (2106). It is assumed that the multiplication result has a correct value by the end of the instruction step 4. Next, the rectangular sample value f (X i, n ) is supplied to the WA bus by the signal RDWDI and the multiplication result is supplied to the WB bus by the signal RDMLP, and the latch AL and BL are respectively supplied at the trailing edge of the signal φ2. Store data (corresponding to instruction step 5). The multiplication result is the higher order of the multiplier
Uses 16 bits. This is equivalent to 1/2 16 processing.

演算部(2108)で加算処理を実行することにより、(2)式
で表わした仮想波形サンプル値f(Xi,m,n)が求められ
る。
The virtual waveform sample value f (X i, m, n ) represented by the equation (2) is obtained by executing the addition process in the calculation unit (2108).

エンベロープ付加波形サンプル値 を求める。Envelope added waveform sample value Ask for.

仮想波形サンプル値 を、信号信号WRMLP、信号WRSFT(命令ステツプ6に対
応)によつて、乗算部(2106)内の被乗数レジスタR(MLP
1)とシフタ部(2107)内のレジスタR(SFT)に信号φ2の
立上りエツヂで格納する。また、EDメモリ部(2105)から
乗算部(2106)に供給しているエンベロープデータEDLを
信号SELWE(命令ステツプ6に対応)によつて乗算部(21
06)内の乗数レジスタR(MLP2)に格納し、乗算処理 を実行する。
Virtual waveform sample value By the signal WRMLP and the signal WRSFT (corresponding to the instruction step 6), the multiplicand register R (MLP in the multiplication unit (2106)
1) and the register R (SFT) in the shifter unit (2107) are stored at the rising edge of the signal φ2. Further, the envelope data EDL supplied from the ED memory unit (2105) to the multiplication unit (2106) is supplied to the multiplication unit (21) by the signal SELWE (corresponding to the instruction step 6).
Stored in multiplier register R (MLP2) in 06), and multiply To execute.

一方、シフタ部(2107)内のレジスタR(SFT)に格納した
仮想波形サンプル値 をEDメモリ部(2105)からシフタ部(2107)に供給されてい
るエンベロープデータEDU(Q)に基づいて、シフト操作 を行ない、信号WRSFB(命令ステツプ7に対応)によつ
て、シフタ部(2107)内の出力レジスタR(SFB)に格納す
る。
On the other hand, the virtual waveform sample value stored in the register R (SFT) in the shifter unit (2107) Shift operation based on the envelope data EDU (Q) supplied from the ED memory unit (2105) to the shifter unit (2107). Then, it is stored in the output register R (SFB) in the shifter unit (2107) by the signal WRSFB (corresponding to the instruction step 7).

そして、乗算部(2106)で行なつた乗算結果を、信号TB
C、信号WRSFT(命令ステツプ8に対応)によつてシフタ
部(2107)内のレジスタR(SFT)に格納し、エンベロープ
データEDU(Q)に基づいたシフト操作行なう。
Then, the multiplication result obtained by the multiplication unit (2106) is converted into the signal TB.
C, the signal WRSFT (corresponding to the instruction step 8) is stored in the register R (SFT) in the shifter unit (2107), and the shift operation is performed based on the envelope data EDU (Q).

信号RDSFA、RDSFB(命令ステツプ9に対応)によつて、
シフタ部(2107)内の出力レジスタR(SFB)に格納してあ
るデータ〔f(Xi,m,n)/2q〕を演算部(2108)内のラツチB
Lに、シフタ部(2107)のシフト結果データ を信号INVによつて論理反転し、演算部(2108)内のラツ
チALにそれぞれ格納する。
Signals RDSFA and RDSFB (corresponding to instruction step 9)
The data [f (X i, m, n ) / 2 q ] stored in the output register R (SFB) in the shifter unit (2107) is used as the latch B in the arithmetic unit (2108).
Shift result data of shifter part (2107) to L Is logically inverted by the signal INV and stored in the latch AL in the arithmetic unit (2108).

そして、演算部(2108)で加算処理を実行することによ
り、エンベロープ付加波形サンプル値 が求められる。
Then, the addition unit is executed in the calculation unit (2108) to obtain the envelope added waveform sample value. Is required.

差分波形サンプル値Df(Xi,m,n,q,r)を求める。The differential waveform sample value Df (X i, m, n, q, r ) is obtained.

エンベロープ付加波形サンプル値 を信号WROWDによつて旧波形メモリ部(2104)内のレジス
タR(OWD)に格納するとともに、信号TCAによつて、FA(2
404)の出力データをWAバスに供給し、信号INVによつて
論理反転を行ない、演算部(2108)内のラツチALに格納す
る。また、信号RDOWDによつて、旧エンベロープ付加波
形サンプル値を旧波形メモリ部(2104)から読み出し、演
算部(2108)内のラツチBLに格納する。
Envelope added waveform sample value Is stored in the register R (OWD) in the old waveform memory unit (2104) by the signal WROWD, and FA (2
The output data of (404) is supplied to the WA bus, logical inversion is performed by the signal INV, and the result is stored in the latch AL in the arithmetic unit (2108). The old envelope added waveform sample value is read from the old waveform memory unit (2104) by the signal RDOWD and stored in the latch BL in the arithmetic unit (2108).

そして、演算部(2108)で加算処理を実行することによ
り、差分波形サンプル値 が求められ、信号WOBRによつてOBR(2109)内のレジスタ
R(OBR)に差分波形サンプル値を格納する。
Then, the difference waveform sample value is calculated by executing addition processing in the calculation unit (2108). Is obtained, and the differential waveform sample value is stored in the register R (OBR) in the OBR (2109) by the signal WOBR.

エンベロープデータEDの更新。Update envelope data ED.

信号RDEDL、RDΔED(命令ステツプ8に対応)によつ
て、EDメモリ部(2105)からエンベロープデータEDが、Δ
ED発生部(2103)から増分データΔEDがWAバスとWBバスに
それぞれ読み出され、信号φ2の立下りエツヂで演算部
(2108)内のラツチALとBLにそれぞれ格納される。
The signals RDEDL, RDΔED (corresponding to the instruction step 8) cause the envelope data ED from the ED memory unit (2105) to be Δ
Incremental data ΔED is read out from the ED generator (2103) to the WA bus and WB bus, respectively, and the arithmetic unit operates at the falling edge of the signal φ2
It is stored in each of the latches AL and BL in (2108).

そして、加算処理(EDL+ΔED)を演算部(2108)で実行
し、新エンベロープデータEDを求め、信号WREDL(命令
ステツプ4に対応)によつて、EDメモリ部(2105)内のレ
ジスタR(EDL)に新エンベロープデータEDを格納すると
ともに、演算部(2108)内の加算器FA(2404)のキヤリー出
力を演算部(2108)内のフラグレジスタECF(2405)に格納
する。
Then, the addition processing (EDL + ΔED) is executed by the arithmetic unit (2108) to obtain the new envelope data ED, and the signal WREDL (corresponding to the instruction step 4) is used to register R (EDL) in the ED memory unit (2105) The new envelope data ED is stored in and the carrier output of the adder FA (2404) in the arithmetic unit (2108) is stored in the flag register ECF (2405) in the arithmetic unit (2108).

信号RDEDU(命令ステツプ6に対応)によつて、エンベ
ロープデータEDUが読み出され、演算部(2108)で、レジ
スタECF(2405)の内容とエンベロープデータEDUとの加算
処理を実行して、新エンベロープデータEDUを求める。
求めたエンベロープEDUを信号WREDUによつて、EDメモリ
部(2105)内のレジスタR(EDU)に格納する。
The envelope data EDU is read by the signal RDEDU (corresponding to the instruction step 6), and the addition unit of the contents of the register ECF (2405) and the envelope data EDU is executed by the arithmetic unit (2108) to obtain the new envelope. Calculate the data EDU.
The obtained envelope EDU is stored in the register R (EDU) in the ED memory unit (2105) by the signal WREDU.

そして、DRP(808)と同様に、信号WRRAMによつてレジス
タR(EDL)、R(EDU)、R(OWD)に格納している各種デー
タをチヤネルコードCHCで指定されたそれぞれのメモリ
領域にデータ転送を行なう。
Then, like the DRP (808), various data stored in the registers R (EDL), R (EDU), and R (OWD) by the signal WRRAM are stored in the respective memory areas designated by the channel code CHC. Transfer data.

アナログバツフアメモリ部(812)、DAC(811)にデータを
供給するタイミングについて説明する。
The timing of supplying data to the analog buffer memory unit (812) and the DAC (811) will be described.

信号CRDAS(命令ステツプ9に対応)によつて、書き込
みパルス発生部(2110)で発生している書き込みパルスを
リセツトする。そして、信号WROBR(命令ステツプ11に
対応)によつて、OBR(2109)内のレジスタR(OBR)に差分
波形サンプル値 を格納し、DAC(811)に供給してデイジタル信号をアナロ
グ信号に変換しアナログバツフアメモリ部(812)に供給
するとともに、書き込みパルス発生部(2110)でチヤネル
コードCHCで指定されたチヤネルに対応する書き込みパ
ルスをセツトし、アナログバツフアメモリ部(812)内の
アナログスイツチAW1〜AW8に供給する。この時、信号CL
RFが“0”(計算要求を行なつていない場合)の場合
は、書き込みパルスをセツトしないようにする。
A signal CRDAS (corresponding to the instruction step 9) resets the write pulse generated in the write pulse generator (2110). Then, the signal WROBR (corresponding to the instruction step 11) is sent to the register R (OBR) in the OBR (2109) for the difference waveform sample value. Is stored, supplied to the DAC (811) to convert the digital signal to an analog signal and supplied to the analog buffer memory section (812), and also to the channel specified by the channel code CHC in the write pulse generation section (2110). The corresponding write pulse is set and supplied to the analog switches AW1 to AW8 in the analog buffer memory section (812). At this time, signal CL
When RF is "0" (when no calculation request is made), the write pulse is not set.

第13表にWDP(807)の演算シーケンスを示す。第13表に示
す命令ステツプを順次実行することにより、上述で説明
した処理が実現する。
Table 13 shows the operation sequence of WDP (807). By sequentially executing the instruction steps shown in Table 13, the processing described above is realized.

第13表に示した制御信号について説明する。The control signals shown in Table 13 will be described.

下述する信号はシーケンサ(802)から供給される。The signals described below are supplied from the sequencer (802).

RDWDIは、DRP(808)から供給されている波形データWDIを
WAバスに供給する命令。
RDWDI is the waveform data WDI supplied from DRP (808).
Instruction to supply to the WA bus.

RDWDIIは、DRP(808)から供給されている波形データWDII
をWBバスに供給する命令。
RDWDII is the waveform data WDII supplied from DRP (808).
To supply to the WB bus.

RDΔEDは、ΔED発生部(2103)内で選択されたサステイン
データDSUSあるいはダンパデータDDMPを増分データΔED
としてWAバスに供給する命令。
RDΔED is the increment data ΔED based on the sustain data DSUS or damper data DDMP selected in the ΔED generator (2103).
As an instruction to supply to the WA bus.

RDSFAは、シフタ部(2107)内のシフタの出力データをWA
バスに供給する命令。
RDSFA uses the output data of the shifter in the shifter block (2107) as WA
Instructions to supply to the bus.

RDEDLは、EDメモリ部(2105)内のメモリM(EDL)から読み
出されているエンベロープデータEDLをWBバスに供給す
る命令。
RDEDL is an instruction to supply the envelope data EDL read from the memory M (EDL) in the ED memory unit (2105) to the WB bus.

RDMLPは、乗算部(2106)内の乗算器の出力データ(上位1
6ビツト)をWBバスに供給する命令。
RDMLP is the output data of the multiplier in the multiplication unit (2106) (upper 1
6 bits) command to supply to the WB bus.

RDEDUは、EDメモリ部(2105)内のメモリM(EDU)から読み
出されているエンベロープデータEDUをWBバスに供給す
る命令。
RDEDU is an instruction to supply the envelope data EDU read from the memory M (EDU) in the ED memory unit (2105) to the WB bus.

RDSFBは、シフタ部(2107)内のレジスタR(SFB)に格納し
ているデータ /2q)をWBバスに供給する命令。
RDSFB is the data stored in the register R (SFB) in the shifter unit (2107) / 2 q ) command to feed WB bus.

RDOWDは、旧波形メモリ部(2104)内のメモリM(OWD)から
読み出されているエンベロープ付加波形サンプル値をWB
バスに供給する命令。
RDOWD is the WB of the envelope-added waveform sample value read from the memory M (OWD) in the old waveform memory unit (2104).
Instructions to supply to the bus.

WRMLPは、WCバス上のデータを乗算部(2106)内の被乗数
レジスタR(MLP1)に格納する命令。
WRMLP is an instruction to store the data on the WC bus in the multiplicand register R (MLP1) in the multiplication unit (2106).

WREDLは、WCバス上のデータをEDメモリ部(2105)内のレ
ジスタR(EDL)に格納する命令。
WREDL is an instruction to store the data on the WC bus in the register R (EDL) in the ED memory unit (2105).

WRSFTは、WCバス上のデータをシフタ部(2107)内のレジ
スタR(SFT)に格納する命令。
WRSFT is an instruction to store the data on the WC bus in the register R (SFT) in the shifter unit (2107).

WREDUは、WCバス上のデータをEDメモリ部(2105)内のレ
ジスタR(EDU)に格納する命令。
WREDU is an instruction to store the data on the WC bus in the register R (EDU) in the ED memory unit (2105).

WROWDは、WCバス上のデータを旧波形データメモリ部(21
04)内のレジスタR(OWD)に格納する命令。
WROWD stores the data on the WC bus in the old waveform data memory section (21
Instruction to store in register R (OWD) in 04).

WROBRは、WCバス上のデータをOBR(2109)内のレジスタR
(OWR)に格納する命令。
WROBR transfers the data on the WC bus to register R in OBR (2109).
Instruction to store in (OWR).

INVは、WAバス上のデータの論理を反転し、反転したデ
ータを演算部(2108)内のラツチAL(2402)に供給する命
令。
INV is an instruction that inverts the logic of the data on the WA bus and supplies the inverted data to the latch AL (2402) in the arithmetic unit (2108).

WADD1は、演算部(2108)内のFA(2404)にキヤリ入力信号
(+1)を供給する命令。
WADD1 is the input signal to FA (2404) in the calculation unit (2108).
An instruction to supply (+1).

WCRALは、演算部(2108)内のラツチAL(2402)をクリヤす
る命令。
WCRAL is an instruction to clear the latch AL (2402) in the operation unit (2108).

SELWEは、乗算部(2106)内の乗数レジスタR(MLP2)に格
納するデータ選択命令。選択データは、DRP(808)から供
給されている係数データ(MLP)とEDメモリ部(2105)から
供給されているエンベロープデータEDLである。
SELWE is a data selection instruction to be stored in the multiplier register R (MLP2) in the multiplication unit (2106). The selection data are coefficient data (MLP) supplied from the DRP (808) and envelope data EDL supplied from the ED memory unit (2105).

WRSFBは、シフタ部(2107)内のシフタの出力データをシ
フタ部(2107)内のレジスタR(SFB)に格納する命令。
WRSFB is an instruction to store the output data of the shifter in the shifter unit (2107) in the register R (SFB) in the shifter unit (2107).

TBCは、WBバス上のデータをWCバスに供給する命令。TBC is an instruction to supply the data on the WB bus to the WC bus.

CRDASは、書き込みパルス発生部(2110)からアナログバ
ツフアメモリ部(812)に供給している書き込みパルスを
リセツトする命令。
CRDAS is an instruction to reset the write pulse supplied from the write pulse generator (2110) to the analog buffer memory (812).

TCAは、演算部(2108)内のFA(2404)の出力データをWAバ
スに供給する命令。
TCA is an instruction to supply the output data of the FA (2404) in the calculation unit (2108) to the WA bus.

なお、第12表に示した、仮想キー信号EADGがオン状態時
は、演算部(2108)内のゲート選択器(2413)によつてゲー
トE(2412)が選択され、エンペロープデータEDL、EDUは
ともにデータ(0000)16となる。この結果、エンベロープ
付加波形サンプル値 となる(q=0,r=0)。
When the virtual key signal EADG shown in Table 12 is on, the gate E (2412) is selected by the gate selector (2413) in the arithmetic unit (2108), and the envelope data EDL, EDU Are both data (0000) 16 . As a result, the envelope added waveform sample value (Q = 0, r = 0).

そして、仮想キー信号EADGがオフ状態となると、エンベ
ロープデータEDの更新処理(ED=ED+ΔED)が開始す
る。この結果、(5)式に示したエンベロープ付加波形サ
ンプル値を求める演算処理が行なわれ、減衰特性の楽音
波形が得られる。
Then, when the virtual key signal EADG is turned off, the updating process (ED = ED + ΔED) of the envelope data ED is started. As a result, the arithmetic processing for obtaining the envelope-added waveform sample value shown in the equation (5) is performed, and the tone waveform having the attenuation characteristic is obtained.

また、エンベロープデータEDの更新処理が進み、エンベ
ロープデータEDUが(1111)2の状態となると、エンベロー
プデータEDUの更新タイミングで演算部(2108)内のゲー
トB(2409)が選択され、エンベロープデータEDUは常時
(1111)2の状態となる。この状態は、楽音波形の発音停
止に相当する。
Further, when the updating process of the envelope data ED progresses and the envelope data EDU becomes the state of (1111) 2 , the gate B (2409) in the arithmetic unit (2108) is selected at the update timing of the envelope data EDU, and the envelope data EDU is selected. Is always
(1111) The state becomes 2 . This state corresponds to the stop of sound generation of the musical tone waveform.

以上のように、波形内挿方法を(2)式に示したように、
補正項を付加した内挿係数 で実現しているため、波形間のレベル差が大きくても不
用なノイズ成分の発生を防ぐことができる。
As described above, the waveform interpolation method is as shown in equation (2),
Interpolation coefficient with correction term Since it is realized by, it is possible to prevent the generation of unnecessary noise components even if the level difference between the waveforms is large.

さらに、波形形状の変化が少ない所では、データメモリ
部に格納する波形データを少なくし、くり返し数を大き
くすることにより、データ圧縮が可能となる。
Further, where there is little change in the waveform shape, the data can be compressed by reducing the waveform data stored in the data memory unit and increasing the number of repetitions.

さらに、アナログ信号に変換する変換部を、1つのDAC
とアナログバツフアメモリ部とで構成しているので、DA
Cは1個だけでよく、チヤネルごとに独立に動作するか
ら、2チヤネルの音を同時に鳴らしても、量子化ひずみ
による混変調ひずみの発生がなくなる。
In addition, the converter that converts analog signals into a single DAC
And an analog buffer memory section, so DA
Since only one C is required and each channel operates independently, intermodulation distortion due to quantization distortion does not occur even if two channels are played simultaneously.

さらに、波形の基本周波数に対してサンプリング周波数
を整数倍にしているので、発生する折り返し成分や、量
子化により生じるサンプル波成分をすべて、基本周波数
の高調波に一致させることができ、したがつてにごりの
ない音をつくることができる。
Furthermore, because the sampling frequency is an integral multiple of the fundamental frequency of the waveform, it is possible to match all the aliasing components that occur and the sample wave components that occur due to quantization with the harmonics of the fundamental frequency. It is possible to create a sound that does not have any dirt.

次に、楽音発生部(607)内の各部の相互関係について説
明する。
Next, the mutual relation of each part in the musical sound generating unit (607) will be described.

まず、入力レジスタ部(803)について説明する。入力レ
ジスタ部(803)は、CPU(603)から供給されたI/Oポートア
ドレスデータと楽音発生データあるいはサステインデー
タなどを一時格納するレジスタR(ADD)、R(DAT)と、CP
U(603)から入力レジスタ部(803)に対して新データを供
給したことを指示する信号(CPU(603)から供給されてい
る信号▲▼・▲▼を利用する)を記憶する
フラグレジスタ(レジスタWRCFで、指示する場合は
“1”となる)と、レジスタR(ADD)に格納されている
アドレスを書き込みアドレス、シーケンサ(802)から供
給されるチヤネルコードCHCを読み出しアドレスとし、
レジスタR(DAT)に格納された楽音発生データを記憶す
るレジスタフアイル(8チヤネル分の楽音発生データを
記憶し、容量は8ビツト×8語である)と、レジスタR
(ADD)のアドレスデータに基づいてサステインデータ、
ダンパデータ、ビートデータや効果制御データを記憶す
る効果レジスタ部とで構成している。
First, the input register section (803) will be described. The input register unit (803) is a register R (ADD), R (DAT) for temporarily storing I / O port address data supplied from the CPU (603) and musical tone generation data or sustain data, and a CP.
A flag register (which stores the signal (using the signals ▲ ▼ ・ ▲ ▼ supplied from the CPU (603)) indicating that new data has been supplied from the U (603) to the input register unit (803) When the register WRCF gives an instruction, it becomes “1”, and the address stored in the register R (ADD) is the write address, and the channel code CHC supplied from the sequencer (802) is the read address.
A register file that stores the tone generation data stored in the register R (DAT) (stores eight channels of tone generation data and has a capacity of 8 bits × 8 words), and a register R
Sustain data based on (ADD) address data,
It is composed of an effect register section for storing damper data, beat data and effect control data.

レジスタR(DAT)に格納された新データをレジスタフア
イルあるいは効果レジスタ部にデータ転送するタイミン
グは、レジスタWRCFが“1”の状態で、シーケンサ(80
2)から信号WRDATが供給されると、レジスタR(ADD)に格
納されたI/Oポートアドレスに基づいた所定のアドレス
にレジスタR(DAT)の格納データが転送される。その
後、レジスタWRCFをリセツトする。
The timing at which the new data stored in the register R (DAT) is transferred to the register file or the effect register section is the sequencer (80) when the register WRCF is "1".
When the signal WRDAT is supplied from 2), the data stored in the register R (DAT) is transferred to a predetermined address based on the I / O port address stored in the register R (ADD). After that, the register WRCF is reset.

シーケンサ(802)から供給される信号WRDATは、レジスタ
フアイルあるいは効果レジスタ部へのデータ取り込み制
御信号であり、第9表、第11表、第13表に示した命令ス
テツプ1のタイミングのたびに入力レジスタ部(803)に
供給される。
The signal WRDAT supplied from the sequencer (802) is a control signal for fetching data into the register file or the effect register section, and is input at every timing of the instruction step 1 shown in Tables 9, 11, and 13. It is supplied to the register unit (803).

命令ステツプ1のタイミングでレジスタフアイルあるい
は効果レジスタ部に新データを取り込む理由は、EDP(80
6)、WDP(807)やDRP(808)の内部で各種演算処理を実行中
に楽音発生データや各種効果データが変化すると正しい
演算処理が行なわれない。そのため、演算処理を開始す
る命令ステツプ1で取り込んでいる。
The reason why new data is loaded into the register file or effect register section at the timing of instruction step 1 is EDP (80
6), if the tone generation data and various effect data change during execution of various arithmetic processing inside the WDP (807) or DRP (808), correct arithmetic processing is not performed. Therefore, it is fetched in the instruction step 1 for starting the arithmetic processing.

相互関係の説明 チヤネル1に対応する説明を行なう。なお、計算要求フ
ラグ信号CCRFが発生しているものとする。
Explanation of Mutual Relations The explanation corresponding to Channel 1 will be given. It is assumed that the calculation request flag signal CCRF is generated.

シーケンサ(802)で発生しているチヤネルコードCHCが
チヤネル1のタイミングになると、入力レジスタ部(80
3)内のレジスタフアイルからチヤネル1に対応する楽音
発生データがFDP(806)、WDP(807)、DRP(808)に供給され
る。
When the channel code CHC generated by the sequencer (802) reaches the timing of channel 1, the input register (80
The tone generation data corresponding to the channel 1 is supplied to the FDP (806), WDP (807), and DRP (808) from the register file in 3).

そうすると、DRP(808)の詳細な説明の所で述べたよう
に、DRP(808)で楽音発生データに基づいて、DBK(606)か
ら先頭番地、制御データ、波形データf(Xi,n)とf(X
i+1,n)を読み取り、制御データに基づいて求めた係数デ
ータ(N・m+n)αとDBK(606)から読み取つた波形デ
ータf(Xi,n)とf(Xi+1,n)とを命令ステツプ11のタイミ
ングでDRP(808)内のメモリM(MD)、メモリM(WDI)、メ
モリM(WDII)に格納する。
Then, as described in the detailed description of the DRP (808), the head address, the control data, the waveform data f (X i, n ) from the DBK (606) are generated based on the tone generation data in the DRP (808). And f (X
i + 1, n ) and the waveform data f (X i, n ) and f (X i + 1, n ) read from the coefficient data (N · m + n) α and DBK (606) obtained based on the control data. ) And are stored in the memory M (MD), the memory M (WDI), and the memory M (WDII) in the DRP (808) at the timing of the instruction step 11.

一方、WDP(807)では、命令ステツプ1〜10のタイミン
グの間、チヤネルコードCHCに基づいてDRP(808)内のメ
モリM(MD)、メモリM(WDI)、メモリM(WDII)から読み
出されている係数データと波形データf(Xi,n-1)とf(X
i+1,n-1)を用いて、WDP(807)の詳細な説明の所で述べた
ように、波形演算処理が行なわれる。そして、命令ステ
ツプ11のタイミングで、演算結果(差分波形サンプル値 がWDP(807)内のレジスタR(OBR)に格納され、DAC(811)
に供給される。
On the other hand, the WDP (807) reads from the memory M (MD), the memory M (WDI), and the memory M (WDII) in the DRP (808) based on the channel code CHC during the timing of instruction steps 1 to 10. The coefficient data and waveform data f (X i, n-1 ) and f (X
i + 1, n-1 ) is used to perform the waveform calculation processing as described in the detailed description of the WDP (807). Then, at the timing of instruction step 11, the calculation result (difference waveform sample value Is stored in register R (OBR) in WDP (807), and DAC (811)
Is supplied to.

上述の〜の処理が、シーケンサ(802)から発生して
いるチヤネルコードCHCのチヤネル1に対応する命令ス
テツプ1〜11の同一タイミング内で実行される。
The above-mentioned processes (1) to (4) are executed at the same timing of the instruction steps 1 to 11 corresponding to the channel 1 of the channel code CHC generated from the sequencer (802).

そして、再びチヤネル1に対応するチヤネルコードCHC
がシーケンサ(802)から発生されると下述の処理が行な
われる。
And again, the channel code CHC corresponding to channel 1
Is generated from the sequencer (802), the following processing is performed.

上述のの説明と同様に、チヤネル1に対応する楽音
発生データが、FDP(806)、WDP(807)、DRP(808)に供給さ
れる。
Similar to the above description, the musical tone generation data corresponding to the channel 1 is supplied to the FDP (806), WDP (807) and DRP (808).

上述のの説明と同様に、DRP(808)で、DBK(606)内に
格納している先頭番地、制御データ、波形データf(X
i,n+1),f(Xi+1,m+n)が読み込まれ、メモリM(MD)、メ
モリM(WDI)、メモリM(WDII)に格納される。
Similar to the above description, the DRP (808) stores the start address, control data, and waveform data f (X
i, n + 1 ) and f (X i + 1, m + n ) are read and stored in the memory M (MD), the memory M (WDI), and the memory M (WDII).

ただし、上述で説明した内容と異なる点は、DBK(606)
から読み取る制御データと波形データは、上述のタイ
ミング、すなわち前回のチヤネル1の計算タイミングで
更新された波形ナンバi、波形サンプルナンバnに基づ
いたデータとなる。
However, the difference from the contents explained above is that DBK (606)
The control data and the waveform data to be read from are data based on the above-mentioned timing, that is, the waveform number i and the waveform sample number n updated at the previous calculation timing of the channel 1.

上述と同様に、DRP(808)内のメモリM(MD)、メモリ
M(WDI)、メモリM(WDII)から読み出されているデータ
に基づいて、波形演算処理が行なわれる。
Similar to the above, the waveform calculation processing is performed based on the data read from the memory M (MD), the memory M (WDI), and the memory M (WDII) in the DRP (808).

なお、今回の計算タイミングで波形演算処理に用いるデ
ータは、前回のチヤネル1の計算タイミングでDRP(808)
内に読み込み処理を行なつた係数データ、波形データf
(Xi,n),f(Xi+1,n)である。
The data used for the waveform calculation processing at this calculation timing is the DRP (808) at the previous calculation timing of channel 1.
Waveform data f, coefficient data that has been read in
(X i, n ) and f (X i + 1, n ).

以後、計算要求フラグ信号CLRFに基づいて、チヤネル1
に対応する計算タイミングで、上述の処理がくり返され
る。
After that, based on the calculation request flag signal CLRF, the channel 1
The above processing is repeated at the calculation timing corresponding to.

上述の説明のように、DRP(808)で読み取つたデータは、
次回に発生する計算タイミング(ただし、計算要求フラ
グ信号CLRFが発生している時)で、WDP(807)で行なう波
形演算処理に利用される。
As described above, the data read by the DRP (808) is
It is used for the waveform calculation processing performed by the WDP (807) at the next calculation timing (when the calculation request flag signal CLRF is generated).

このように、読み出し、波形演算処理を、同一計算タイ
ミング内ですべて実行せず、時間的に処理タイミングを
分け、パイプライン的処理を行なうことにより、各部の
構成要素の動作スピードを低速化できる。
As described above, the reading and waveform calculation processes are not all executed within the same calculation timing, but the processing timing is divided and the pipeline process is performed, whereby the operation speed of the constituent elements of each unit can be reduced.

上述までの説明では、データメモリ(DBK)に格納してい
る波形データは、PCMデータの形で波形一周期を枚数分
格納したいたが、波形対称化、DPCM化、ADPCM化を行な
つた結果を波形データとしてDBKに格納し、DRP(808)の
内部で復元処理を行なうことにより、波形データのデー
タ圧縮が可能となる。
In the above description, the waveform data stored in the data memory (DBK) was stored in the form of PCM data for one waveform cycle, but the result of performing waveform symmetry, DPCM conversion, and ADPCM conversion was Is stored in the DBK as the waveform data, and the decompression process is performed inside the DRP (808), whereby the data compression of the waveform data becomes possible.

発明の効果 以上説明したように、本発明の楽音発生装置は、楽音の
発音開始から発音終了時までの複数個の楽音波形のうち
少なくとも2つ以上の楽音波形を音域あるいは複数の音
域ごとに独立に準備すると共に楽音波形を用いて合成波
形を形成する時に使用する制御データを記憶するデータ
メモリ部と、発音音階を決定するノートクロック発生部
と、上記ノートクロック発生部の信号出力と音域あるい
は音階指定データに基づいて上記データメモリ部から音
域あるいは音階ごとに独立に準備した2つの波形サンプ
ルデータと制御データとを読み出すデータ読み出し部
と、上記データ読み出し部で読み出した2つの波形サン
プルデータと制御データとを用いて合成波形サンプルデ
ータを求める波形計算部と、上記波形計算部のディジタ
ル出力信号をアナログ信号に変換する変換部とを具備
し、前記波形計算部で実行する計算内容は、前記データ
読み出し部で読み出した2つの波形サンプルf(Xi,n)、
f(Xi+1,n)と、f(Xi)からf(Xi+1)への波形移行数をM
とする制御データとを用い、特許請求の範囲に記載の波
形内挿演算を行ない、仮想サンプル値 (Xi,m,n)を求め、楽音波形を発生するようにしたもので
あるから、楽音発生の形状を時間的になめらかに変化さ
せることができ、自然楽器音を模擬することが可能とな
る。
EFFECTS OF THE INVENTION As described above, the musical tone generating apparatus of the present invention is configured so that at least two or more musical tone waveforms among a plurality of musical tone waveforms from the start of musical tone generation to the end of the musical tone generation are independent of each musical range or plural musical range. Data memory section for storing control data used for forming a synthesized waveform using a musical tone waveform, a note clock generating section for determining a note scale, and a signal output of the note clock generating section and a range or scale. A data reading unit that reads out two waveform sample data and control data independently prepared for each range or scale from the data memory unit based on designated data, and two waveform sample data and control data read by the data reading unit And the waveform calculation section for obtaining the synthesized waveform sample data, and the digital output signal of the waveform calculation section. A conversion unit for converting the signal into an analog signal, and the contents of calculation executed by the waveform calculation unit are two waveform samples f (Xi, n) read by the data reading unit,
f (Xi + 1, n) and the number of waveform transitions from f (Xi) to f (Xi + 1) are M
Using the control data and the waveform interpolation calculation described in the claims, the virtual sample value Since (Xi, m, n) is generated and a musical tone waveform is generated, the musical tone generation shape can be smoothly changed with time, and a natural musical instrument sound can be simulated. .

さらに、ノートクロツクを音階ごとに独立に発生し、楽
音波形のサンプル数によつて音域を発生するようにして
いるので、波形の基本周波数に対してノートクロツク発
生部の出力信号であるサンプリング周波数を整数倍とす
ることができ、再生する折り返し部分や、量子化により
生じるサンプル波成分をすべて、基本周波数の高調波に
一致させることができ、にごりのない音をつくることが
できる。
In addition, note clocks are generated independently for each scale, and the range is generated by the number of musical sound waveform samples.Therefore, the sampling frequency, which is the output signal of the note clock generator, is multiplied by an integer multiple of the fundamental frequency of the waveform. Therefore, it is possible to make all the folded portions to be reproduced and the sample wave components generated by the quantization coincident with the harmonics of the fundamental frequency, and to produce a sound without any turbidity.

さらに、音域ごと独立の楽音波形が発生でき、固定フオ
ルマントの楽音が実現できる利点を有する。
Further, there is an advantage that an independent tone waveform can be generated for each tone range and a fixed-formant tone can be realized.

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

第1図〜第5図は本発明の動作説明図、第6図は本発明
の楽音発生装置を採用した電子楽器のブロツク図、第7
図はCPU(603)から楽音発生部(607)にデータを供給する
場合のタイムチヤート図、第8図は楽音発生部(607)の
構成図、第9図はシーケンサ(802)の一具体例のブロツ
ク図、第10図はシーケンサ(802)の動作タイムチヤート
図、第11図はアナログバツフアメモリ部(812)の一具体
例の構成図、第12図は楽音発生部(607)の内部動作タイ
ムチヤート図、第13図はFDP(806)から比較レジスタ部(8
05)に供給する周波数データの推移図、第14図はFDP(80
6)の一具体例の構成図、第15図はFDP(806)のデータ処理
手順を示す処理流れ図、第16図は比較レジスタ部(805)
の一具体例を示す構成図、第17図は計算要求フラグ発生
部(810)の一具体例を示す構成図、第18図はDBK(606)の
データ構成図、第19図はDRP(808)の一具体例を示す構成
図、第20図はWDP(807)の演算処理の流れ図、第21図はWD
P(807)の一具体例を示す構成図、第22図はビブラート発
生部(1403)の一具体例を示す構成図、第23図は演算部(1
913)の一具体例を示す構成図、第24図は演算部(2108)の
一具体例を示す構成図である。 (601)……鍵盤部、(602)……操作部、(603)……中央処
理装置、(604)……RAM、(605)……ROM、(606)……楽音
合成データROM、(607)……楽音発生部、(801)……主発
振器、(802)……シーケンサ、(803)……入力レジスタ
部、(804)……タイマー、(805)……比較レジスタ部、(8
06)……周波数データプロセツサ、(807)……波形データ
プロセツサ、(808)……データリードプロセツサ、(809)
……読み出しパルス形成部、(810)……計算要求フラグ
発生部、(811)……DAC、(812)……アナログバツフアメ
モリ部、(813)……積分器
1 to 5 are explanatory views of the operation of the present invention, FIG. 6 is a block diagram of an electronic musical instrument employing the musical tone generating apparatus of the present invention, and FIG.
The figure is a time chart when the data is supplied from the CPU (603) to the musical sound generating unit (607). Fig. 8 is a block diagram of the musical sound generating unit (607). Fig. 9 is a specific example of the sequencer (802). FIG. 10, FIG. 10 is an operation time chart of the sequencer (802), FIG. 11 is a block diagram of a specific example of the analog buffer memory unit (812), and FIG. 12 is an inside of the tone generation unit (607). The operation time chart and Fig. 13 show the comparison register section (8
Fig. 14 shows the transition of the frequency data supplied to the FDP (80).
6) A configuration diagram of a specific example, FIG. 15 is a process flow chart showing the data processing procedure of the FDP (806), and FIG. 16 is a comparison register unit (805).
FIG. 17 is a block diagram showing a concrete example of the calculation request flag generator (810), FIG. 18 is a data block diagram of DBK (606), and FIG. 19 is a DRP (808). ) Is a block diagram showing a specific example, FIG. 20 is a flow chart of the calculation processing of WDP (807), and FIG.
FIG. 22 is a block diagram showing a concrete example of P (807), FIG. 22 is a block diagram showing a concrete example of a vibrato generator (1403), and FIG.
913) is a block diagram showing a specific example, and FIG. 24 is a block diagram showing a specific example of a calculation unit (2108). (601) ... keyboard part, (602) ... operation part, (603) ... central processing unit, (604) ... RAM, (605) ... ROM, (606) ... tone synthesis data ROM, ( 607) ... Music tone generator, (801) ... Main oscillator, (802) ... Sequencer, (803) ... Input register, (804) ... Timer, (805) ... Comparison register, (8
06) …… Frequency data processor, (807) …… Waveform data processor, (808) …… Data read processor, (809)
...... Read pulse formation unit, (810) …… Calculation request flag generation unit, (811) …… DAC, (812) …… Analog buffer memory unit, (813) …… Integrator

───────────────────────────────────────────────────── フロントページの続き (72)発明者 二階堂 正隆 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 足立 達也 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 金秋 哲彦 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (56)参考文献 特開 昭54−39616(JP,A) 特開 昭54−65020(JP,A) 実開 昭55−60192(JP,U) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Masataka Nikaido 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. (72) Tatsuya Adachi, 1006 Kadoma, Kadoma City, Osaka Matsushita Electric Industrial Co., Ltd. 72) Inventor Tetsuhiko Kinaki 1006, Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. (56) References JP-A-54-39616 (JP, A) JP-A-54-65020 (JP, A) 55-60192 (JP, U)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】楽音の発音開始から発音終了時までの複数
個の楽音波形のうち少なくとも2つ以上の楽音波形を音
域あるいは複数の音階ごとに独立に準備すると共に楽音
波形を用いて合成波形を形成する時に使用する制御デー
タを記憶するデータメモリ部と、発音音階を決定するノ
ートクロック発生部と、上記ノートクロック発生部の信
号出力と音域あるいは音階指定データに基づいて上記デ
ータメモリ部から音域あるいは音階ごとに独立に準備し
た2つの波形サンプルデータと制御データとを読み出す
データ読み出し部と、上記データ読み出し部で読み出し
た2つの波形サンプルデータと制御データとを用いて合
成波形サンプルデータを求める波形計算部と、上記波形
計算部のディジタル出力信号をアナログ信号に変換する
変換部とを具備し、前記波形計算部で実行する計算内容
は、前記データ読み出し部で読み出した2つの波形サン
プルf(Xi,n)、f(Xi+1,n)と、f(Xi)からf(Xi+1)への
波形移行数をMとする制御データとを用い、実質的に次
式に示す波形内挿演算を行ない、仮想サンプル値 (Xi,m,n)を求め、楽音波形を発生するようにした楽音発
生装置。 i=0,1,2,・・・,I-1 波形ナンバ m=0,1,2,・・・,M-1 くり返しナンバ n=0,1,2,・・・,N-1 波形サンプル数
1. At least two or more musical tone waveforms among a plurality of musical tone waveforms from the start of tone generation to the end of tone generation are independently prepared for each musical range or a plurality of musical scales, and a synthetic waveform is formed using the musical tone waveforms. A data memory unit that stores control data used when forming, a note clock generation unit that determines a sounding scale, a signal output of the note clock generation unit, and a range or a range from the data memory unit based on the range or scale designation data. A data reading section for reading out two waveform sample data and control data independently prepared for each scale, and a waveform calculation for obtaining synthetic waveform sample data using the two waveform sample data and control data read by the data reading section And a converter for converting the digital output signal of the waveform calculator into an analog signal. The contents of calculation executed by the waveform calculation unit are the two waveform samples f (Xi, n) and f (Xi + 1, n) read by the data reading unit and f (Xi) to f (Xi + 1). Using the control data with the number of waveform transitions to M A musical tone generating device that generates a musical tone waveform by obtaining (Xi, m, n). i = 0,1,2, ..., I-1 waveform number m = 0,1,2, ..., M-1 repeated number n = 0,1,2, ..., N-1 waveform number of samples
JP58011865A 1983-01-26 1983-01-26 Musical sound generator Expired - Lifetime JPH0631984B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58011865A JPH0631984B2 (en) 1983-01-26 1983-01-26 Musical sound generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58011865A JPH0631984B2 (en) 1983-01-26 1983-01-26 Musical sound generator

Publications (2)

Publication Number Publication Date
JPS59136796A JPS59136796A (en) 1984-08-06
JPH0631984B2 true JPH0631984B2 (en) 1994-04-27

Family

ID=11789608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58011865A Expired - Lifetime JPH0631984B2 (en) 1983-01-26 1983-01-26 Musical sound generator

Country Status (1)

Country Link
JP (1) JPH0631984B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS604995B2 (en) * 1977-09-05 1985-02-07 ヤマハ株式会社 electronic musical instruments
JPS6037600Y2 (en) * 1978-10-19 1985-11-08 ヤマハ株式会社 electronic musical instruments

Also Published As

Publication number Publication date
JPS59136796A (en) 1984-08-06

Similar Documents

Publication Publication Date Title
JP3812328B2 (en) Automatic accompaniment pattern generation apparatus and method
JPH0375877B2 (en)
JPS6116994B2 (en)
JPH01101590A (en) Electronic musical instrument
JPH0367277B2 (en)
JP2619242B2 (en) Electronic musical instruments that generate musical tones with time-varying spectra
JP2606791B2 (en) Digital signal processor for musical tone generation.
JP3634130B2 (en) Musical sound generating apparatus and musical sound generating method
US5684260A (en) Apparatus and method for generation and synthesis of audio
JPS6343760B2 (en)
JPS6035077B2 (en) electronic musical instruments
JPS6343759B2 (en)
JPH0153800B2 (en)
JP3706232B2 (en) Musical sound generating apparatus and musical sound generating method
JPS59136796A (en) Musical sound generator
JPS59136794A (en) musical tone generator
JPS59123887A (en) Music note generator
JPS59136793A (en) musical tone generator
JPH0127434B2 (en)
JP3684052B2 (en) Musical sound generating apparatus and musical sound generating method
JPH0786755B2 (en) Electronic musical instrument
JPS59136792A (en) musical tone generator
JP3637191B2 (en) Musical sound generating apparatus and musical sound generating method
JP2572875B2 (en) Music synthesizer
JP2997626B2 (en) Music sound generation apparatus and music sound generation method