JPS59136790A - Musical sound generator - Google Patents
Musical sound generatorInfo
- Publication number
- JPS59136790A JPS59136790A JP58011859A JP1185983A JPS59136790A JP S59136790 A JPS59136790 A JP S59136790A JP 58011859 A JP58011859 A JP 58011859A JP 1185983 A JP1185983 A JP 1185983A JP S59136790 A JPS59136790 A JP S59136790A
- Authority
- JP
- Japan
- Prior art keywords
- data
- waveform
- signal
- section
- register
- 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.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
産業上の利用分野
本発明は楽音発生装置に関し、特に、楽音波形の形状を
操作し時間的な変化を施して自然楽器音を模擬する楽音
発生装置に関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a musical tone generating device, and more particularly to a musical tone generating device that simulates natural musical instrument sounds by manipulating the shape of a musical sound waveform and changing it over time.
従来例の構成とその問題点
従来、自然楽器音を模擬するものとして、正弦波合成方
式を用いたもの、周波数変調方式を用いたもの、減算方
式(おもにアナログ処理でVCO。Conventional configurations and their problems Traditionally, methods that simulate natural musical instrument sounds include those that use a sine wave synthesis method, those that use a frequency modulation method, and those that use a subtraction method (mainly analog processing with VCO).
VCF、VCAなどを使用したもの)を用いたものなど
が提示されているが、回路規模が大きくな夛実現化が困
難なものとか、方式上の限界があるという問題点を有し
ていた。Methods using VCF, VCA, etc.) have been proposed, but these have problems such as large circuit scales that are difficult to realize, and limitations in terms of method.
発明の目的
本発明の目的は、簡単な構成で自然楽器音を模擬すると
ともに波形のつなぎ目で発生する不連続を防ぐことがで
きる楽音発生装置を提供するものである。OBJECTS OF THE INVENTION An object of the present invention is to provide a musical tone generating device that can simulate natural musical instrument sounds with a simple configuration and can prevent discontinuities occurring at waveform joints.
発明の構成
本発明の楽音発生装置は、≠楽音の発音9ト1始がら発
音終了時までの複数個の楽音波形のうち少なくとも2つ
以上の楽音波形をディジタル値の形で記憶する波形メモ
リと、発箭昔階を決定するメートクロック発生部と、上
記メートクロック発生部の出力信号に基づいて上記波形
メモリから°2つの波形サンプルデータを読み出す波形
読み出し部と、上記波形読み出し部で読み出した2つの
波形サンプルデークを用いて楽音波形を形成する波形計
算部と、上記波形計算部のディジタル出力信号をアナロ
グ信号に友換する変換部とを具備し、前記波形計算部で
実行する計算内容は、前記波形読み出し部で読み出した
2つの波形サンプルデータを用いて波形内挿演算を行な
い、仮想波形サンプル値を求めるようにしたものであり
、ノートクロックに同期した楽音を発生するとともに、
楽音波形の形状を時間的に変化させて自然楽器音に近い
楽音波形を発生することができ、しかも隣り合う波形サ
ンプルデータが仮想サンプル値を求めるので、波形のつ
なぎ目で発生する不連続を防ぐことができる。Structure of the Invention The musical tone generating device of the present invention comprises a waveform memory that stores at least two or more musical sound waveforms in the form of digital values from among a plurality of musical sound waveforms from the beginning of the musical tones until the end of the musical tones. , a mate clock generation unit that determines the timing of the start, a waveform readout unit that reads out two waveform sample data from the waveform memory based on the output signal of the mate clock generation unit, and a waveform readout unit that reads out two waveform sample data from the waveform memory based on the output signal of the mate clock generation unit; The waveform calculation unit includes a waveform calculation unit that forms a musical sound waveform using two waveform sample data, and a conversion unit that converts the digital output signal of the waveform calculation unit into an analog signal, and the calculations executed by the waveform calculation unit include: A waveform interpolation operation is performed using the two waveform sample data read out by the waveform reading section to obtain a virtual waveform sample value, and a musical tone synchronized with the note clock is generated.
It is possible to generate a musical sound waveform close to a natural instrument sound by changing the shape of the musical sound waveform over time, and since adjacent waveform sample data determines virtual sample values, discontinuities that occur at waveform joints can be prevented. I can do it.
実施例の説明
以下本発明の一実施例を図面に基づいて説明する。1ず
本発明の原理について説明する。第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 explained. FIG. 1 shows the musical sound waveform of the first musical tone interval extracted discretely.
発音開始時からの時間経過と楽音波形との関係を下記に
示す。The relationship between the time elapsed from the start of pronunciation and the musical sound waveform is shown below.
楽音波形 時間経過
D 320m5(4)
E 720m5第
1図からもわかるように、時間経過と共に楽音波形の形
状が変化している0本発明は、楽音波形の時間的形状変
化という点に着目し、波形の形状に時間変化を施すこと
Icより、自然楽器らしい楽音を発生するものである。Musical sound waveform Time elapsed D 320m5 (4) E 720m5 As can be seen from Fig. 1, the shape of the musical sound waveform changes with the passage of time.0 The present invention focuses on the temporal shape change of the musical sound waveform, By applying time-varying changes to the shape of the waveform, Ic generates musical sounds that are typical of natural musical instruments.
データメモリの記憶内容についての説明第2図に発音開
始時から発音終了時までの楽音波形のエンベロープ包絡
状態の一例を示す、第2図に示したエンベロープ包絡の
発音開始時から発音終了時までを工分割(Il0.1.
・・・Iil・・・、Il1)する0そして、各分割点
から選択抽出した楽音波形1周期をそれぞれN分割する
。第3図に選択抽出した楽音波形の一例を示す。抽出し
た1個の楽音波形1周期をN分割して得たN個の波形サ
ンプル値すなわち、N×工個の波形サンプル値と、楽音
を発生する時に使用する制御データ(本発明では、波形
内挿を行なうための制御データを考えている)とをデー
タメモリに記憶しておく。Explanation of the contents stored in the data memory Figure 2 shows an example of the envelope envelope state of a musical sound waveform from the start of sound generation to the end of sound generation. Labor division (Il0.1.
. . .Iil . FIG. 3 shows an example of selected and extracted tone waveforms. N waveform sample values obtained by dividing one cycle of one extracted musical sound waveform into N, that is, N x waveform sample values, and control data used when generating musical tones (in the present invention, The control data for performing the insertion is stored in the data memory.
波形内挿方法についての説明
波形内挿方法としては、■分割して選択抽出したサンプ
ル波位置iからi+1 (Il0 、1 、2゜・・、
l−1)の間を楽音波形1周期がM回くシ返して推移す
るものとし、波形サンプル/ (X、 、n) 、!;
’(Iil1.n)との間に存在する仮想サンプル値ル
点の波形サンプル値を算出して近似値を求めようとする
ものである。補間式を下式に示す。Explanation of the waveform interpolation method The waveform interpolation method is as follows: ■ Divide and selectively extract the sample wave from position i to i+1 (Il0, 1, 2°...
l-1), one cycle of the musical sound wave repeats M times, and the waveform sample/(X, , n), ! ;
'(Iil1.n) to calculate an approximate value by calculating the waveform sample value of the virtual sample value point that exists between '(Iil1.n). The interpolation formula is shown below.
+f(Xi、n)・四・・・曲・曲・(1)iは、■分
割して抽出したサンプル位置で、波形ナンバである@
(i−o、t、2.・・・、Il−1)は、波形ナン
バ1からi+1の間をM回縁シ返し推移している途中の
位置を表わすものである。(m=o 、 1 、2、−
、M−1)nは、楽音波形1周期をN分割したサンプル
位置で波形サンプルナンドである。+f(Xi,n)・4...Song・Song・(1) i is the sample position extracted by dividing ■ and is the waveform number@
(io, t, 2, . . . , Il-1) represents a position in the middle of the M-cycle transition between waveform numbers 1 and i+1. (m=o, 1, 2, -
, M-1)n is a sample position obtained by dividing one cycle of the musical sound waveform into N, and is a waveform sample NAND.
(n−0,1,2,=−、N−1)
第4図(a)に(1)式を用いた補間例を示す0図から
もわかるように、波形のつなぎ目で不連続が発生してい
る。この不連続点のレベル差が大きい場合は、不用なノ
イズ成分として聴感上問題となる場合がある。そこで、
本実施例では、(1)式に補正項を加えて第4図(b)
に示すように不連続点の発生を防止している。(2)式
に補正項を加えた補間式を示す。(n-0, 1, 2, =-, N-1) As can be seen from Figure 4 (a), which shows an example of interpolation using equation (1), discontinuities occur at the joints of the waveforms. are doing. If the level difference between these discontinuous points is large, it may cause an audible problem as an unnecessary noise component. Therefore,
In this example, by adding a correction term to equation (1),
As shown in Figure 2, the occurrence of discontinuous points is prevented. An interpolation formula obtained by adding a correction term to formula (2) is shown below.
/ (Xl 、rn、n) −(f(X4+、、fl)
−/ (Xi、n)エンベロープの付加方法についての
説明楽音の種類として、オルガン型エンベロープとピア
ノ型エンベロープがある。第5図にオルガン型とピアノ
型のエンベロープを付加した一例を示す、゛図中(a)
はオルガン型、(b)はピアノ型である。/ (Xl, rn, n) - (f(X4+,, fl)
-/ (Xi, n) Description of how to add an envelope There are two types of musical tones: an organ-type envelope and a piano-type envelope. Figure 5 shows an example of adding organ-shaped and piano-shaped envelopes.
is an organ type, and (b) is a piano type.
この説明では、前述までと違いデータメモリに記憶して
いる波形は、発音終了時までの波形ではなく楽音の定常
部あるいは波形の形状が安定した所までを持ち、以後の
波形発生はデータメモリに記憶している最後の波形をく
シ返し使用するものとする。In this explanation, unlike the previous example, the waveform stored in the data memory is not the waveform until the end of sound generation, but the stationary part of the musical tone or the point where the waveform shape is stable, and subsequent waveform generation is stored in the data memory. The last memorized waveform shall be used repeatedly.
オルガン型の説明
第5図中A点でキー信号がオン状態となると、データメ
モリの波形データを用い波形内挿を行なって楽音を合成
する。そして、B点まで時間が進むと最終波形データと
なシ、以後最終波形かくシ返し発生する。その後、0点
でキー信号がオフ状態になると、エンベロープ信号は減
衰特性とな多出力波形は減衰することになる。Explanation of Organ Type When the key signal is turned on at point A in FIG. 5, a musical tone is synthesized by performing waveform interpolation using the waveform data in the data memory. Then, when time advances to point B, the final waveform data is reached, and the final waveform repeats. Thereafter, when the key signal turns off at the 0 point, the envelope signal has an attenuation characteristic and the multi-output waveform attenuates.
ピアノ型の説明
第5図中A点でキー信号がオン状態となると、データメ
モリの波形データを用い波形内挿を行なって楽音を合成
する。そして、B点まで進むと最終波形データとなり、
以後最終波形データをくシ返し使用するとともに、エン
ベロープ信号が減衰特性状態となり、出力波形は減衰特
性に対応して減衰して行く。Description of Piano Type When the key signal is turned on at point A in FIG. 5, waveform data in the data memory is used to perform waveform interpolation to synthesize musical tones. Then, when it advances to point B, it becomes the final waveform data,
Thereafter, as the final waveform data is repeatedly used, the envelope signal enters the attenuation characteristic state, and the output waveform attenuates in accordance with the attenuation characteristic.
音程の発生方法についての説明
音階の決定については、12音階に相当するクロック信
号を発生する。オクターブ関係については、データメモ
リに記憶している楽音波形1周期のサンプル数をかえる
ことによりオクターブ関係の音程を発生している。Description of how to generate pitches To determine a pitch, a clock signal corresponding to a 12-tone scale is generated. Regarding the octave relationship, pitches related to the octave are generated by changing the number of samples of one period of the tone waveform stored in the data memory.
co音を512サンプルとすると、音階クロック信号は
、82.708H2X512サンプル”= 16.74
KHzとなる。第1表に音階クロック周波数を、第2表
に波形サンプル数とオクターブ関係について示す。If the co sound is 512 samples, the scale clock signal is 82.708H2 x 512 samples" = 16.74
It becomes KHz. Table 1 shows the scale clock frequency, and Table 2 shows the number of waveform samples and the octave relationship.
′次に本発明の一実施例について図面を参照しながら説
明する。第6図は本発明の楽音発生装置を採用した電子
楽器のブロック図である。 (601)は鍵、鎧部(
KB) 、(602)は音色タブレットスイッチやビブ
ラート効果のオンオフスイッチやグライド効果のオンオ
フスイッチなどによ多構成される操作部(TAB)、(
608)は中央処理装置(CPU)で、コンピュータな
どに用いられているものと同様のもの、(604)は読
み書き可能な記憶装置(ランダムアクセスメモリでRA
Mと呼ぶ)、(605)はCPU(608)の動作を決
定するプログラムが格納された読み出し専用記憶装置(
リードオンリーメモリでRAMと呼ぶ)、(606)は
楽音の合成を行なうため第 1 表
7M(K= 8.00096MHz
第 2 表
の波形サンプルデiりや波形内挿を行なうための制御デ
ータなどを記憶しているROMである。(607)はR
OM (606)に記憶している波形サンプルデータや
制御デーtりを用いて楽音を発生する楽音発生部、(6
08)はサンプリングノイズを除去するフィルタ、(6
09)は電気音響変換器である。'Next, one embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a block diagram of an electronic musical instrument employing the musical tone generating device of the present invention. (601) is the key, armor part (
KB), (602) is the operation unit (TAB), which is composed of a tone tablet switch, a vibrato effect on/off switch, a glide effect on/off switch, etc.
608) is a central processing unit (CPU) similar to that used in computers, and (604) is a read/write storage device (random access memory with RA
M), (605) is a read-only storage device (605) in which a program that determines the operation of the CPU (608) is stored.
The read-only memory (RAM), (606) stores waveform samples in Table 1 and 7M (K = 8.00096 MHz, Table 2) and control data for waveform interpolation in order to synthesize musical tones. (607) is R
a musical tone generator (606) that generates musical tones using the waveform sample data and control data stored in the OM (606);
08) is a filter that removes sampling noise, (6
09) is an electroacoustic transducer.
鍵盤部(601) 、操作部(602) 、CPU(6
08)、RAM(604)、ROM (605) (6
06) 、楽音発生部(607)はデータバス、アドレ
スバスおよびコントロール線テ結合されている。このよ
うにデータバスとアドレスバスとコントロール線とで結
合する方法そのものハ、ミニコンヒュータやマイクロコ
ンピュータを中心とした構成方法として公知のものであ
る。Keyboard section (601), operation section (602), CPU (6
08), RAM (604), ROM (605) (6
06), the musical tone generator (607) is connected to a data bus, an address bus, and a control line. This method of coupling data buses, address buses, and control lines is itself a well-known configuration method mainly for minicomputers and microcomputers.
データバスとしては8〜16本位用いられ、このパス線
上をデータが一方向でなく多方向に時分割的に送受信さ
れる。アドレスバスも複数本だと、tば16木用意され
、通常はCPU (608)がアドレスコードを出力し
、他の部分がアドレスコードを受は取る。コントロール
線は通常メモリ・リクエスト線(MREO)、I10リ
クエスト陪(LOftQ) 、リード線(RD)、ライ
ト線(WR)などが用いられる。Eight to 16 data buses are used, and data is transmitted and received on these path lines not in one direction but in multiple directions in a time-division manner. If there are multiple address buses, 16 trees are prepared, and normally the CPU (608) outputs the address code, and other parts receive and receive the address code. As control lines, a memory request line (MREO), an I10 request line (LOftQ), a read line (RD), a write line (WR), etc. are normally used.
MREQはメモリを読み書きすることを示し、l0RQ
は入出力装置(Ilo)の内容を取り出しすることを示
し、RDはメモリやIloからデータを読み出すタイミ
ングを示し、WELはメモリやIloにデータを書き込
むタイミングを示す。このようなコントロール線を用い
たものとしては、ザイログ社のマイクロプロセッサZ8
0があげられる。MREQ indicates reading and writing memory, l0RQ
indicates retrieving the contents of the input/output device (Ilo), RD indicates the timing to read data from the memory or Ilo, and WEL indicates the timing to write data to the memory or Ilo. Zilog's microprocessor Z8 uses such a control line.
0 is given.
次に第6図の電子楽器の動作について述べる。Next, the operation of the electronic musical instrument shown in FIG. 6 will be described.
鍵盤部(601)は、複数の鍵スィッチを複数の群に分
ケチ、群内の鍵スィッチのオン/オフ状態’;c一括し
てデータバスに送ることができるように構成される。た
とえば61鍵の鍵盤の場合、6鍵(半オクターブ)ずつ
の10群と1鍵の1群の11群に分け、各群にアドレス
コードを1つずつ割りつける。アドレスラインに上記各
群のうちの1つを示すアドレスコードが到来し、信号I
OR,Qと信号RDが印加されると、鍵盤部(601)
はそのアドレスコードを解読して、対応する群内のキー
スイッチのオン/オフを示す6ビツトまたは1ビツトの
データをデータバスに出力する。これらは、デコーダ、
バスドライバおよび若干のゲート回路を用いて構成する
ことができる。操作部(602)のうち、タブレットス
イッチについては、鍵盤部(601)と同様の構成をと
ることができる。The keyboard section (601) is configured to divide a plurality of key switches into a plurality of groups and send the on/off states of the key switches in the groups to the data bus all at once. For example, in the case of a 61-key keyboard, it is divided into 10 groups of 6 keys (half an 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 a signal I
When OR, Q and signal RD are 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 are the decoder,
It can be configured using a bus driver and some gate circuits. Of the operation section (602), the tablet switch can have the same configuration as the keyboard section (601).
CPU (608)はその内部にあるプログラムカウン
タのコードに対応するROM (605)のアドレスか
ら命令コードを読み取)、これを解読して算術演算、論
理演算、データの読み込みと蓄き込み、プログラムカウ
ンタの内容の変更による命令のジャンプζどの作業を行
なう、これらの作業の手順はROM(605)に書き込
まれている。まずCPU (608)はROM (60
5)より鍵盤部(601)のデータを取り込むための命
令を読み取9、鍵盤部(601)の合鍵のオン/オフを
示すコードを各群ごとに取シ込んで行く。そして、押鍵
されている鍵コードを、楽音発生部(607)の有限の
チャネルに割シ当て鍵コードに対応する楽音発生データ
を送出する。The CPU (608) reads the instruction code from the address of the ROM (605) that corresponds to the code of the internal program counter), decodes it, performs arithmetic operations, logical operations, reads and stores data, and executes the program counter. Instruction jump ζ by changing the contents of ζ The procedures for these operations are written in the ROM (605). First, the CPU (608) is the ROM (60
5) A command for importing data from the keyboard section (601) is read 9, and a code indicating on/off of the duplicate keys of the keyboard section (601) is fetched for each group. Then, the pressed key code is assigned to a finite channel of the musical tone generating section (607), and musical tone generation data corresponding to the assigned key code is sent out.
次にCPU (608)は操作部(602)よシデータ
を取υ込むための一群の命令を順次ROM (605)
から読み取り、これらを解読して操作部(602)に対
応するアドレスコードとコントロール信号l0RQとR
Dを出力し、データバスに操作部(602)のスイッチ
の状態を表現するコードを出力させ、CPU (608
)内に読み込む。CPU (608)内に読み込んだデ
ータに基づいて、音色の選択や所定め効果制御データの
生成を行ない、ROM (606)に音色選択データ、
楽音発生部(607)に効果制御データを送出する。Next, the CPU (608) sequentially stores a group of instructions for importing data from the operation unit (602) into the ROM (605).
The address code and control signals l0RQ and R corresponding to the operation section (602) are read from
D, the data bus outputs a code representing the state of the switch of the operation unit (602), and the CPU (608
). Based on the data read into the CPU (608), tone selection and predetermined effect control data are generated, and tone selection data and data are stored in the ROM (606).
Effect control data is sent to the musical tone generator (607).
なお1押鍵されている鍵コードを楽音発生部(607)
の有限のチャネルに割り当ててゆく方法そのものは、ジ
ェネレータアサイナ機能として公知のものである。Note that the key code of the pressed key is sent to the tone generator (607).
The method of allocating to a finite number of channels itself is known as the generator assigner function.
楽゛音発生部(607) テはCPU(6o8)カラ供
給すした楽音発生データに基づいて、楽音合成データ′
ROM (606)から所定の波形サンプルデータや制
御データを取シ込み波形内挿処理を行なって楽音波形を
発生し、フィルタ(608)を介して電気音響変換器(
609)から楽音を発生させる。なお、楽音発生部(6
07)の内部処理としては前述に説明したとおりである
。Musical sound generation section (607) generates musical sound synthesis data based on the musical sound generation data supplied from the CPU (6o8).
Predetermined waveform sample data and control data are input from the ROM (606) and subjected to waveform interpolation processing to generate a musical sound waveform.
609) to generate musical tones. Note that the musical tone generator (6
The internal processing of 07) is as described above.
第7図にCPU (60B)から楽音発生部(607)
にデータを供給する場合のタイムチャートを示す、アド
レスバスに110ポートアドレスを、データバスに楽音
発生データや効果制御データなどをそれぞれ供給する。Figure 7 shows the musical tone generator (607) from the CPU (60B).
110 port addresses are supplied to the address bus, and tone generation data, effect control data, etc. are supplied to the data bus.
そして、コントロール信号l0RQトiが論理ロウレベ
ル(以下″O“と略す)から論理ハイレベル(以下”1
°と略す)へ貧化するタイミングで、110ボートアド
レスで指定されているチャネルにデータバスの内容をラ
ッチする。Then, the control signal l0RQtoi changes from a logic low level (hereinafter abbreviated as "O") to a logic high level (hereinafter abbreviated as "1").
The contents of the data bus are latched to the channel specified by the 110 port address at the timing when the data bus becomes low (abbreviated as "°").
次に、楽音発生部(607)に供給される各種のデータ
についての説明を行なう。Next, various types of data supplied to the musical tone generating section (607) will be explained.
8P、3表にI10ボートアドレスと各種データの内容
を示す。Ilo 、N −)アドレスは16進表示とな
っている。I10ボートアドレス(00)taから(0
7)toに対応するデータは、楽音発生データで8チャ
ネル分すなわち、8音分の発生が可能となっている。8P, Table 3 shows the I10 boat address and the contents of various data. Ilo, N-) addresses are expressed in hexadecimal. I10 boat address (00) ta to (0
7) The data corresponding to to is musical tone generation data that can be generated for 8 channels, that is, for 8 tones.
I10ポートアドレス(08)taはサスティンデータ
で、第5図で説明したエンベロープ信号の減衰特性を指
定するものである。I10ボートアドレス(09)t。The I10 port address (08) ta is sustain data that specifies the attenuation characteristic of the envelope signal explained in FIG. I10 boat address (09)t.
はエンベロープ特性がピアノ型のiに有効となる第゛′
8 表
ダンパデータで、サスティンデータと同様エンベロープ
信号の減衰特性を指定するものである。■10ボートア
ドレス(OA)s6はビートデータで、2楽音発生時の
周波数のずれを指定するものである。is the ``th'' whose envelope characteristic is valid for piano-shaped i.
8 Table damper data specifies the attenuation characteristics of the envelope signal, similar to the sustain data. (1) 10 boat address (OA) s6 is beat data that specifies the frequency shift when two musical tones are generated.
I/、0ボートアドレス(OB)16は効果制御データ
で、゛ビブラートオン/オフ信号やグライドオン/オフ
信号などで構成している。The I/, 0 port address (OB) 16 is effect control data, which is composed of vibrato on/off signals, glide on/off signals, and the like.
第4表に楽音発生データの構成内容を示す。ビット位置
DQからD3は音階周波数を指定するノートクロック指
定データである。ビット位置D4〜D6は発生音域を指
定する波形サンプル数指定データである。ビット位置D
7は鍵スィッチのオン/オフ操作に伴なうキーオン/オ
フ信号で、オフ時は”0“、オン時は°1“となる。Table 4 shows the composition of the musical tone generation data. Bit positions DQ to D3 are note clock designation data that designates the scale frequency. Bit positions D4 to D6 are waveform sample number designation data that designates the generated sound range. Bit position D
Reference numeral 7 indicates a key on/off signal accompanying the on/off operation of the key switch, which is "0" when off and "°1" when on.
第5表に波形サンプル数指定データ5D6−8D2のコ
ード内容とそのコードで指定される波形1周期のサンプ
ル数を示す。波形サンプル数指定データSDは(ooo
)、から(,111)、までの8種類の波形サンプル数
が指定できるようになっておシ、本実施例では、512
サンプルから4サンプルまでを指定第 5 表
第 6 表
している。Table 5 shows the code contents of the waveform sample number designation data 5D6-8D2 and the number of samples in one period of the waveform designated by the code. The waveform sample number specification data SD is (ooo
), to (,111), the number of waveform samples can be specified in eight types.In this example, it is 512.
Samples up to 4 samples are specified in Table 5 and Table 6.
第6表にノートクロック指定データNDO〜ND8で表
わされるコードの内容と、そのコードで指定される指定
音階の関係を示す。Table 6 shows the relationship between the contents of the chords represented by the note clock designation data NDO to ND8 and the designated scale designated by the chords.
第7表に効果制御データの構成内容を示す。ビット位置
DQはビブラートオン/オフ信号VIBで、操作部(6
02)内のビブラートオン/オフスイッチがオフの時1
0#、オンの時51′となる。Table 7 shows the composition of the effect control data. Bit position DQ is the vibrato on/off signal VIB, and the bit position DQ is the vibrato on/off signal VIB.
02) When the vibrato on/off switch in
0#, becomes 51' when on.
ビット位置D1はディレィビブラートオン/オフ信号D
VIBで、ディレィビブラート効果制却信号であシ、操
作部(602)内のディレィビブラートオン/オフスイ
ッチがオフの時l011オンの時〒となる。Bit position D1 is delay vibrato on/off signal D
VIB is a delay vibrato effect control signal, and when the delay vibrato on/off switch in the operation section (602) is off, 1011 is on.
ビット位置D2はグライドオン/万フ信号GLで、操作
部(602)内のグライドスイッチがオフの時0“、オ
ン、の時”1“となる。The bit position D2 is the glide on/off signal GL, which is 0 when the glide switch in the operation section (602) is off and 1 when it is on.
ビット位taD8はオルガン型/ピアノ型指定信号OP
Sで、エンベロープ特性を指定するものであり、オルガ
ン型の時10′、ピアノ型の時11)なる。Bit position taD8 is organ type/piano type designation signal OP
S specifies the envelope characteristics, and is 10' for an organ type and 11) for a piano type.
ピッ) 位iJ D4はダンパオン/オフ信号DMPで
、エンベロープ特性がピアノ型の時のみ有効となるもの
で、ダンパオフの時tOw、オンの時wI″となる。D4 is a damper on/off signal DMP, which is valid only when the envelope characteristic is a piano type, and becomes tOw when the damper is off and wI'' when it is on.
ビット位置D5はジェネレータアサイナ動作モード信号
GAMで、1鍵で楽音発生゛チャネルを2チヤネル使用
する場合の指定信号であり 、GAM信号がwO“の場
合、1鍵1チギネル使用(8音発生)となシ、′1”の
場合、1鍵2チヤネル使用(4音発生)となる。Bit position D5 is the generator assigner operation mode signal GAM, which is a designated signal when using 2 channels of musical tone generation with 1 key.If the GAM signal is wO'', 1 key is used with 1 tone (8 tone generation). In the case of ``1'', 1 key uses 2 channels (4 tones are generated).
第8図は楽音発生部(607)の構成図である。第8図
において、(801)は主発振器、(802)は楽音発
生部(607)の動作内容を制御するシーケンサ、(8
0B)はCPU (608)から供給される各種のデー
タをラッチする入力レジスタ部、(804)はタイマー
、(805)は比較レジスタ部、(806)は発音すべ
き周波数に対応する周波数データを発生する周波数デー
タプロセッサ(以下FDPと略す)、(807)は前述
で説明した(2)式の波形内挿処理を行なう波形データ
プロセッサ(以下WDPと略す) 、−(808)は楽
音合成データROM(606)から波形サンプルデータ
や制御データなどを読み込むデータ・リード・プロセッ
サ(以下DRPと略す) 、(809)は所定のノ(ル
ス幅のパルス信号を生成する読み出し)くルス形成部、
(810)はWDP (807) 、DRP (808
)などに演算処理要求を行なう計算要求フラグ発生部、
(811)はディジタル信号をアナログ信号に変換する
ディジタル/アナログ変換器(以下DACと略す)、(
812)は1チヤネル当シアナログスイツチ2つとコン
デンサ1つとで構成されておシ、アナログ信号を保持す
るアナログバッファメモリ部、(818)は積分器であ
る。FIG. 8 is a configuration diagram of the musical tone generating section (607). In FIG. 8, (801) is a main oscillator, (802) is a sequencer that controls the operation contents of the musical tone generator (607), and (802) is a sequencer that controls the operation contents of the musical tone generator (607).
0B) is an input register section that latches various data supplied from the CPU (608), (804) is a timer, (805) is a comparison register section, and (806) generates frequency data corresponding to the frequency to be generated. (807) is a waveform data processor (hereinafter abbreviated as WDP) that performs the waveform interpolation process of equation (2) explained above; - (808) is a musical tone synthesis data ROM ( (606) is a data read processor (hereinafter abbreviated as DRP) that reads waveform sample data, control data, etc. from (806), a pulse forming unit (809) that generates a pulse signal with a predetermined pulse width;
(810) is WDP (807), DRP (808)
), etc., a calculation request flag generation unit that requests calculation processing, etc.
(811) is a digital/analog converter (hereinafter abbreviated as DAC) that converts a digital signal into an analog signal, (
812) is an analog buffer memory section which is composed of two analog switches and one capacitor per channel and holds analog signals, and (818) is an integrator.
上記構成において、(804) (805) (806
) (slo)は発音音階を決定するノートクロック発
生部を構成し、その出力信号に基づいて、データ読み出
し部である DRP (808)が楽音合成データ
R,OM (606)からデータを読み出す。In the above configuration, (804) (805) (806
) (slo) constitutes a note clock generating section that determines the tone scale, and based on its output signal, a data reading section DRP (808) reads data from the musical tone synthesis data R, OM (606).
また、人力レジスタ部(SOa) 、比較レジスタ部(
805)、F’l)P (806) 、WDP (80
7) 、DB、P (808)、計算要求フラグ発生部
(810)はシーケンサ(802)によって処理を行な
う手順が決められている。In addition, the manual register section (SOa), comparison register section (
805), F'l)P (806), WDP (80
7) , DB, P (808) and the calculation request flag generating section (810) have a procedure determined by the sequencer (802).
CPPU (60B)から所定のチャネルたとえばチャ
ネル1に楽音発生データが供給されると、シーケンサ(
808)で決められている所定のタイミングで入力レジ
スタ部(808)からFDP (806)、WDP (
807)、DRP (808)に楽音発生データが供給
される。そうすると、DRP (808)において、楽
音合成データR,OM (606)から波形サンプルデ
ータと制御データを読み取る。そして、(2)式に示し
た/(X、、n)をデータWDIとし、’ (Xi−h
、 n )をデータWDIとしてWDP (807)に
供給する。さらに、読み取った制御データに基づいた(
2)式に示した内挿係数の分子項をデータMLPとして
WDP (807)に供給する。また、最終波形データ
になると最終波形データを指示するWEF信号をWDP
(807)に供給する。When musical tone generation data is supplied from the CPU (60B) to a predetermined channel, for example, channel 1, the sequencer (
FDP (806), WDP (
807), musical tone generation data is supplied to the DRP (808). Then, in DRP (808), waveform sample data and control data are read from musical tone synthesis data R, OM (606). Then, let /(X,,n) shown in equation (2) be the data WDI,' (Xi-h
, n) to the WDP (807) as data WDI. Additionally, based on the read control data (
2) The numerator term of the interpolation coefficient shown in the formula is supplied to the WDP (807) as data MLP. Also, when the final waveform data is reached, the WEF signal instructing the final waveform data is sent to the WDP.
(807).
WDP (807)では、DRP (808)から供給
されたデータWDI 、WDI 、MLPを用い、(2
〕式の波形演算処理を行なってDAC(811)に供給
する。そしてDAC(811)において、WDP (8
07)から供給されたディジタル信号をアナログ信号に
変換し、アナログバッファメモリ部(812)にアナロ
グ信号として供給し、チャネル1に対応するコンデンサ
電荷が蓄えられる。WDP (807) uses the data WDI, WDI, and MLP supplied from DRP (808) to calculate (2
] The waveform calculation process is performed and the result is supplied to the DAC (811). Then, in the DAC (811), WDP (8
The digital signal supplied from 07) is converted into an analog signal and supplied as an analog signal to the analog buffer memory section (812), where the capacitor charge corresponding to channel 1 is stored.
一方、li’DP (’806)では、入力レジスタ部
(808)から供給された楽音発生データに基づいた周
波数データが生成され、比較レジスタ部(805)のチ
ャネノ11に対応するレジスタに供−給される。そして
、比較レジスタ(405)に供給されたデータとタイマ
ー (804)から供給されでいる時間データとの比較
処理を行ない、一致が検出できると一致パルスを読み出
しパルス形成部(809)と計算要求フラグ発生部(8
10)に供給する。On the other hand, in li'DP ('806), frequency data is generated based on the musical tone generation data supplied from the input register section (808), and is supplied to the register corresponding to channel no. 11 of the comparison register section (805). be done. Then, the data supplied to the comparison register (405) and the time data supplied from the timer (804) are compared, and if a match is detected, the matching pulse is read out and the pulse forming unit (809) and the calculation request flag are Generating part (8
10).
そうすると、読み出しパルス形成部(809)で所定の
パルス幅の読与出し信号が生成され、アナログバッファ
メモリ部(812)に供給される。アナログバッファメ
モリ部(812)内のチャネル1に対応するコンデンサ
に蓄えられている電荷は読み出し信号によって積分器(
818)に流れ込む。Then, a readout signal with a predetermined pulse width is generated in the readout pulse forming section (809) and supplied to the analog buffer memory section (812). The charge stored in the capacitor corresponding to channel 1 in the analog buffer memory section (812) is transferred to the integrator (
818).
計算要求フラグ発生部(81G)では、次波形サンプル
すなわち、仮想サンプル点/(X、、m、。□)を求め
るための計算要求フラグを発生し保持する。そして、そ
の後再び処理タイミングがチャネル1となると、計算要
求フラグが発生しているので前述と同様に波形内挿処理
が行なわれ、アナログバッファメモリ部(812)内の
コンデンサに電荷が蓄えられる。以後、計算要求フラグ
に対応して波形内挿処理が行なわれ、楽音波形を発生す
ることになる。The calculation request flag generating section (81G) generates and holds a calculation request flag for determining the next waveform sample, that is, the virtual sample point/(X,, m, .□). Thereafter, when the processing timing reaches channel 1 again, since the calculation request flag has been generated, waveform interpolation processing is performed in the same manner as described above, and charges are stored in the capacitor in the analog buffer memory section (812). Thereafter, waveform interpolation processing is performed in response to the calculation request flag, and a musical tone waveform is generated.
なお、コンデンサに蓄える電荷は、/ (Xi 、m
、It−L)と今回求めた波形サンプル値/ (Xl、
m、 n )との差分に相当する。そして、積分器(8
18)によって今回求めた波形サンプル値/ (Xl、
m、n )が復元されることになる。アナログバッファ
メモリ部(812)と積分器(818)周辺の動作につ
いては、特願昭57−1264181波形読み出し装置
」に述べである。Note that the charge stored in the capacitor is / (Xi, m
, It-L) and the waveform sample value obtained this time / (Xl,
m, n). Then, the integrator (8
18) The waveform sample value obtained this time / (Xl,
m, n) will be restored. The operations around the analog buffer memory section (812) and the integrator (818) are described in Japanese Patent Application No. 57-1264181 "Waveform Reading Apparatus".
第9図はシーケンサ(802)の−具体例のブロック図
である0図中、(901)は2相りロック信号φ1と信
号φ2とを発生する2相りロック発生部、(902)は
1チヤネル当シの動作シーケンスを決める11進カウン
タ、(908)は現在演算処理を行なっているチャネル
コードを発生するカウンタ、(904)は動作手順が記
憶されているROM、(905)はデコーダである。第
10図にシーケンサ(802)のタイミングチャート図
を示す。FIG. 9 is a block diagram of a specific example of the sequencer (802). In FIG. A hexadecimal counter that determines the operation sequence for each channel, (908) a counter that generates the channel code that is currently being processed, (904) a ROM that stores the operation procedure, and (905) a decoder. . FIG. 10 shows a timing chart of the sequencer (802).
主発振器(801)からマスタクロック(MCK)信号
が2相りロック発生部(901)に供給される。2相り
ロック発生部(901)では、第10図に示すような2
相りロック伯号φ1、φ2を発生する。信号φ1は11
進カウンタ(902)とカウンタ(908)に供給され
ている。A master clock (MCK) signal is supplied from the main oscillator (801) to the two-phase lock generation section (901). In the two-phase lock generation unit (901), two-phase lock generation unit (901) has two phases as shown in FIG.
Generate mutual lock numbers φ1 and φ2. Signal φ1 is 11
It is supplied to the advance counter (902) and counter (908).
11進カウンタ(902)は4ビツト構成となっておシ
、信号φ1かIolから111へ変化するタイミングで
カウントアツプ処理が行なわれ、出力信号が(1111
)2 となり、次にカウントアツプを行なうと(010
1)2にセットされる。この結果、11進カウンタ(9
02)の出力信号は11の状態、すなわち(0101)
2〜(1111)2 となる。これを命令ステップ信号
として使用する。The 11-decimal counter (902) has a 4-bit configuration, and count-up processing is performed at the timing when the signal φ1 or Iol changes to 111, and the output signal becomes (1111).
)2, and then when you count up (010
1) Set to 2. As a result, the decimal counter (9
The output signal of 02) is in state 11, i.e. (0101)
2 to (1111)2. This is used as a command step signal.
カウンタ(908)は3ビツト構成となっておシ、11
カウンタ(902)の出力信号が(1111)2から(
0101)2へ変化するたびにカウントアツプ処理が行
なわれる。この結果、カウンタ(90B)の出力信号は
8の状態、すなわち(000)2〜(111)2となる
。これをチャネルコードとして使用する。The counter (908) has a 3-bit configuration.
The output signal of the counter (902) is changed from (1111)2 to (
0101) Count-up processing is performed every time the value changes to 2. As a result, the output signal of the counter (90B) becomes 8 states, that is, (000)2 to (111)2. Use this as the channel code.
ROM (904)は11進カウンタ(902)から供
給される命令ステップ信号に基づいた命令コードを読み
出し、デコーダ(905)に供給する。デコーダ(90
5)はROM (904)から供給された命令コードを
解読して処理制御信号を各部に供給する。The ROM (904) reads out the instruction code based on the instruction step signal supplied from the hexadecimal counter (902) and supplies it to the decoder (905). Decoder (90
5) decodes the instruction code supplied from the ROM (904) and supplies processing control signals to each section.
この結果、1チヤネル当シの計算時間は2.75μsと
す、!l)、nの命令ステップで各演算処理を行なうこ
とになる。そして、22μsごとに計算タイミジグが返
されることになる。As a result, the calculation time for one channel is 2.75 μs! Each arithmetic processing is performed in instruction steps of l) and n. Then, the calculated timing jig is returned every 22 μs.
第11図にアナログバッファメモリ部(812)の−具
体例の構成図を示す。図中、(1101)は入力端、(
1102)は出力端、(110g)〜(1108)はア
ナログスイッチ、C1〜C8はコンデンサである。FIG. 11 shows a configuration diagram of a specific example of the analog buffer memory section (812). In the figure, (1101) is the input terminal, (
1102) is an output end, (110g) to (1108) are analog switches, and C1 to C8 are capacitors.
アナログスイッチ(1108) (1105) (11
07)のゲート入力に供給源れている信号AWI〜AW
8はWDP(807)から供給されている。また、アナ
ログスイッチ(1104) (1106) (1108
)のゲート入力に供給されている信号ARI〜AR8は
読み出しパルス形成部(809)から供給されている。Analog switch (1108) (1105) (11
Signals AWI to AW supplied to the gate input of 07)
8 is supplied by WDP (807). Also, analog switches (1104) (1106) (1108
) are supplied from the read pulse forming section (809).
1)AC(811)で変換されたアナログ信号は入力端
(1101)に印加されアナログスイッチ(110B)
(1105)(1107)に供給される。そして、チ
ャネル1に対応するデータであれば、アナログスイッチ
(1108)のみオン状態とをシ、入力端(1101)
に印加されたアナログ48号に相当する電荷がコンデン
サC1に蓄えられる。1) The analog signal converted by AC (811) is applied to the input terminal (1101) and is applied to the analog switch (110B).
(1105) (1107). If the data corresponds to channel 1, only the analog switch (1108) is turned on, and the input terminal (1101) is turned on.
A charge corresponding to analog No. 48 applied to the capacitor C1 is stored in the capacitor C1.
その後、チャネル1に対応する読み出しパルスAlt、
1が読み出しパルス発生部(809)からアナログスイ
ッチ(1104)のゲート入力に供給されると、コンデ
ンサC1に蓄えられている電荷が出力端(1102)を
介して積分器(813)に供給される。Then, the read pulse Alt corresponding to channel 1,
1 is supplied from the read pulse generator (809) to the gate input of the analog switch (1104), the charge stored in the capacitor C1 is supplied to the integrator (813) via the output terminal (1102). .
アナOf スイ7 チ(1108) (1105) (
1107)はWDP(807)の動作タイミングに同期
しているので、同時に複数個オン状態にならない。アナ
ログスイッチ(11i34) (1106) (110
8)は音階周波数に同期してオンするようになって、い
るため、複数個同時にオン状態となシうる。Anna Of Sui 7 Chi (1108) (1105) (
1107) is synchronized with the operation timing of the WDP (807), so multiple devices cannot be turned on at the same time. Analog switch (11i34) (1106) (110
8) is designed to turn on in synchronization with the musical scale frequency, so a plurality of them can be turned on at the same time.
第12図は楽音発生部(607)の内部動作タイミング
チヤードである。第12図には4チャネル分のタイミン
グを示した・
図中の略記号の説明
CRFは、各チャネルごとの計算要求信号でおる。FIG. 12 shows the internal operation timing chart of the musical tone generator (607). FIG. 12 shows the timing for four channels. Explanation of abbreviations in the figure CRF is a calculation request signal for each channel.
そして、要求開始時点が比較レジスタ 部(805)から供給される一致信号と同期している。Then, the request start point is the comparison register. It is synchronized with the coincidence signal supplied from the unit (805).
すなわち、音階周波数に
同期することとなシ、たとえば、C音
階であれば59.74μsごとに発生するっCLCは、
波形演算タイミングを示す。In other words, CLC occurs every 59.74 μs in the C scale, without synchronizing with the scale frequency.
Indicates waveform calculation timing.
DACは、DAC(811)を介してアナログノ(ラフ
アメモリ(812)内のコンデンサに電荷を蓄えるタイ
ミングを示す。 ・
OTCは、アナログバッファメモリ(812)内のコン
デンサに蓄えられている電荷を積分
器(818)に供給するタイミングであり、CRFと同
様に・音階周波数に同期して発生している。DAC indicates the timing of storing charge in the capacitor in the analog buffer memory (812) via the DAC (811). OTC indicates the timing to store the charge in the capacitor in the analog buffer memory (812). (818), and similarly to CRF, it occurs in synchronization with the scale frequency.
チャネル1のタイムチャートについて説明する。The time chart of channel 1 will be explained.
チャネル1に相当する演算タイミングは゛シーケンサ(
802)で発生しているチャネルコードによって決まっ
ておシ、図にも示しであるように、22μsごとに演算
タイミングが発生している。The calculation timing corresponding to channel 1 is the sequencer (
802), and as shown in the figure, calculation timing is generated every 22 μs.
■・・・信号C)LF 1がチャネルコード1の途中で
発生、する0発生したタイミングでは波形内挿処理を行
なわない。(2) Signal C) LF 1 occurs in the middle of channel code 1. Waveform interpolation processing is not performed at the timing when 0 occurs.
■・・・信号CRFIが発生すると同時に信号OTC1
が発生し、アナログノくラフアメモリ(812)内のコ
ンデンサC1の電荷が積分器(813)ニ供給すれる。■...The signal OTC1 is generated at the same time as the signal CRFI is generated.
is generated, and the electric charge of the capacitor C1 in the analog filter memory (812) is supplied to the integrator (813).
信号OTCのパルス幅は2μs程度である。The pulse width of the signal OTC is about 2 μs.
■°・・チャネルコードが再び1となると、波形サンダ
ルデータなどの読み込み処理や波形内挿処理や周波数デ
ータの更新処理などを行なう。■°...When the channel code becomes 1 again, reading processing of waveform sandal data, waveform interpolation processing, frequency data updating processing, etc. are performed.
■・・・チー、・ネル1の演算処理が終了すると、信号
DAC1が発生し、DAC(811)を介してコンデン
サC1に電荷が蓄えられる。(2) When the arithmetic processing of the channel 1 is completed, the signal DAC1 is generated, and the charge is stored in the capacitor C1 via the DAC (811).
■・・・チャネル1の演算処理が終了すると、信号CR
FIをリセットして計算要求を解除する。■...When the arithmetic processing of channel 1 is completed, the signal CR
Reset the FI and cancel the calculation request.
■・・・前述の■と同様に、′信号CRFIが再び発生
するタイミングで、前述の■のタイミングでコンデンサ
C1に蓄えられた電荷が積分器(818)に供給さ゛れ
る。(2) Similar to (2) above, at the timing when the 'signal CRFI is generated again, the charge stored in the capacitor C1 at the timing (2) is supplied to the integrator (818).
以後、上述と同様に、信号CRFが発生するたびに、1
回の仮相波形サンプル値算出処理が行なわれ、信号CR
Fの発生タイミング、すなわち音階同期に同期して波形
算出結果が積分器(818)に供給される。From then on, as described above, each time the signal CRF is generated, 1
The temporary phase waveform sample value calculation process is performed twice, and the signal CR
The waveform calculation result is supplied to the integrator (818) in synchronization with the generation timing of F, that is, with the scale synchronization.
演算サイクルと音階周期の関係は、最小音階周期内に同
一チャネルの演算タイミングが2回と演算結果をアナロ
グバックアメモリ部(812)内のコンデンサに電荷を
蓄えることが出来ればよい、すなわち、最小音階周期内
に10チャネル分に相当する演算タイミングを設ければ
よい。The relationship between the calculation cycle and the scale period is as long as the calculation timing of the same channel can be performed twice within the minimum scale period and the calculation result can be stored in the capacitor in the analog backup memory section (812). It is sufficient to provide calculation timing corresponding to 10 channels within a period.
音階周期の発生方法についての説明
第18図に、FDP (806)から比較レジスタ部(
805)に供給する周波数データの推移を示す、タイマ
ー(804)は10ビツトの2進カウンタで構成してお
シ、出力状態を16進表示で表わすと、(000)sa
から(8FF)+aまで順次カウントアツプを行ない、
(8FP)saから再′び(ooo)taとなり、(0
00)+aから(8F’F)16が主発振器(801)
から供給される信号MCKに基づいてくシ返される。す
なわち、タイマー(804)のくシ返し周期TRは下式
のようになる。Explanation of how to generate a scale period Figure 18 shows how the comparison register section (
The timer (804), which indicates the transition of frequency data supplied to
Count up sequentially from (8FF)+a,
(8FP) sa becomes (ooo)ta again, and (0
00)+a to (8F'F)16 is the main oscillator (801)
The signal is returned based on the signal MCK supplied from the . That is, the repeating cycle TR of the timer (804) is expressed by the following formula.
= 127.98μs
タイマー(804)の出力データ推移状態を第13図中
のタイマー出力データとして記載しである。= 127.98 μs The output data transition state of the timer (804) is described as timer output data in FIG.
音階周期の発生方法としては、タイマー(804)の出
力信号とFl)P (806)から供給された周波数デ
ータとの比較を行ない、一致が検出できれば一致パルス
を比較レジスタ部(805)から送出する。その一致パ
ルスの発生周期が発音すべき音階の音階周期となる。The scale period is generated by comparing the output signal of the timer (804) with the frequency data supplied from Fl)P (806), and if a match is detected, a matching pulse is sent from the comparison register section (805). . The generation cycle of the matching pulse becomes the scale cycle of the scale to be sounded.
第13図に示したように、周波数データを更新すること
によりノートクロック信号が発生できる。As shown in FIG. 13, the note clock signal can be generated by updating the frequency data.
すなわち、下式に示すような演算処理をFDP (80
6)で行なう。In other words, the arithmetic processing shown in the formula below is performed using FDP (80
6).
NFD=MOD(OFD十PD、TDmax) ・・
・・・・・・・ (4)NFDは、新しい周波数データ
である。NFD=MOD (OFD 10 PD, TDmax)...
(4) NFD is new frequency data.
OFDは、更新前の周波数データである。OFD is frequency data before update.
FDは、発生音階によって決1つている音階データであ
る。FD is scale data that is determined by the generated scale.
TDmaxハ、タイマー(804)の出力状態数である
。TDmax C is the number of output states of the timer (804).
本実施例の場合TDmaxは210すなわち1024で
ある。In this embodiment, TDmax is 210, that is, 1024.
第8表に12音階に対応する音階データPDを示す。Table 8 shows scale data PD corresponding to the 12-tone scale.
第14図は、FD、P (806)の−具体例の構成図
である。第14図において、(1401)はセント尺度
で表わした音階データ(CPDとする)を発生するセン
ト音階データ発生部(以下CPD発生部と略す)で、セ
ント音階データを記憶しているROMで構成しておシ、
ノートクロック指定データ(ND)と波形サンプル数指
定データ(SD)とオルガン型/ピアノ型指定信号(O
F2)に基づいたCPDを選択発生するようになってい
る。(1402)はビートデータを選択スルビートデー
タゲート、(140B)はビブラート信号を発生するビ
ブラート信号発生部、(1404) Uグ数字表現は1
0進数でるる。FIG. 14 is a configuration diagram of a specific example of FD, P (806). In FIG. 14, (1401) is a cent scale data generation unit (hereinafter abbreviated as CPD generation unit) that generates scale data (CPD) expressed in cent scale, and is composed of a ROM that stores cent scale data. Shioshioshi,
Note clock designation data (ND), waveform sample number designation data (SD), and organ type/piano type designation signal (O
CPD based on F2) is selectively generated. (1402) is a beat data gate that selects beat data, (140B) is a vibrato signal generator that generates a vibrato signal, (1404) is a Ug number representation of 1
It's a 0-decimal number.
ライド信号を発生するグライド信号発生部、(1405
)はセント尺度で表わされた周波数値を周波数に正比例
する周波数データに変換する指数変換器、(1406)
は演算部、(1407)はラッチ(ALとする)、(1
40B)はラッチ(BLとする)、(1409)は加算
器(FAとする) 、−(1410)はバッファ、(1
411)はゲートである。(1412) (1418)
(1414)はパスラインで、(1412)がFAバ
バス(1418)がFBババス(1414)がF’Cバ
スである。a glide signal generation unit that generates a ride signal (1405
) is an exponential converter that converts a frequency value expressed in a cent scale into frequency data that is directly proportional to the frequency, (1406)
is the calculation unit, (1407) is the latch (assumed to be AL), (1
40B) is a latch (designated as BL), (1409) is an adder (designated as FA), -(1410) is a buffer, (1
411) is a gate. (1412) (1418)
(1414) is the pass line, (1412) is the FA bus (1418), and the FB bus (1414) is the F'C bus.
なお、ビートデータCBD、ビブラートデータCVD、
グライドデータCODもセント尺度で表わしている。In addition, beat data CBD, vibrato data CVD,
Glide data COD is also expressed in cents scale.
各種データの構造
セントピッチデータ(CPD )
11ビツト構成で、上位4ビツトで12音階平均律を表
わし、下位7ビツトで半音階を128等分した各点を表
わしている。Structure of various data Cent pitch data (CPD) It is composed of 11 bits, with the upper 4 bits representing 12-tone equal temperament, and the lower 7 bits representing each point of the chromatic scale divided into 128 equal parts.
ビートデータ(CBD )、ビブラートデータ(C’V
Dχグライドデータ(CQD)
各ビット構成は8ビツトで、2の補数表現を用い、半音
階を128等分した分解能を有する。そして、正負のビ
ート成分、ビブラート成分、グライド成分を表わしてい
る。Beat data (CBD), vibrato data (C'V
Dχ glide data (CQD) Each bit has an 8-bit configuration, uses two's complement representation, and has a resolution that divides the chromatic scale into 128 equal parts. It also represents positive and negative beat components, vibrato components, and glide components.
ビブラート信号発生部(1408)の説明第、22図は
ビブラート信号発生部(1408)の−具体例の構成図
を示す0図中、(2201)はビブラートデータCVD
−全記憶しチオ< ヒフ’ 5− トROM 、 、(
2202)はビブラートROM (2201)から記憶
しであるビブラートデータを読み出すためのアドレスデ
ータを格納するビブラートアドレスレジスタ、(220
8)はディレィビブラート効果の時に用いるシ7り、(
2204)は信号RD’CVDによレジスタ(2208
)の出力信号(ビブラートデータCVD )をFBババ
ス供給スるゲート、(2205)は入力レジスタ部(8
0g)から供給されている信号KD、信号VIB、信号
MIBとシーケンサ(80幻から供給されている信号C
HCに基づいてビブラート信号発生部(140g)の動
作条件を設定する条件設定部、(2206)はゲート、
(2207)はゲート、(220幻はADLDゲートで
ある。Explanation of the vibrato signal generation section (1408) Fig. 22 shows a configuration diagram of a specific example of the vibrato signal generation section (1408) In Fig. 0, (2201) is the vibrato data CV
- Fully memorized thio<hifu' 5-to ROM, ,(
2202) is a vibrato address register (220) that stores address data for reading stored vibrato data from the vibrato ROM (2201);
8) is the shifter used for the delay vibrato effect, (
2204) register (2208) by the signal RD'CVD.
) to supply the output signal (vibrato data CVD) to the FB bus, (2205) is the input register section (8
Signal KD, signal VIB, signal MIB supplied from the sequencer (80g) and signal C supplied from the sequencer (80g)
A condition setting section (2206) is a gate that sets the operating conditions of the vibrato signal generation section (140g) based on HC;
(2207) is a gate, and (220 illusion) is an ADLD gate.
レジスタ(2202)に格納するアドレスデータは14
ビット構成となっておシ、下位11ピツトをビブラ−)
ROM(2201)のアドレスデータとし、上位8ビ
ツトをシフタ(2208)のシフトデータとしている。The address data stored in the register (2202) is 14.
It has a bit configuration, and the lower 11 pits are vibrators)
The address data of the ROM (2201) is used, and the upper 8 bits are used as shift data of the shifter (2208).
シフタ(2208)はシフトデータに基づいてビプラー
) ROM(2201)から供給されているビブラート
デーpcVDの振幅を制御するものである。シフトデー
タvSFDトシフタ(2208)ノ出力f−夕08FD
トtD関係は次のとお)である。The shifter (2208) controls the amplitude of the vibrato data pcVD supplied from the vibrato ROM (2201) based on shift data. Shift data vSFD shifter (2208) output f-08FD
The relationship between t and tD is as follows.
V 8 F D = (000)2・・・OS F D
= (00)ta、VSFD = (001)2・08
FD=(CVD/64)、V8FD=(010)2−O
iFD=(CVD/82)、・・・・・・、V8F’D
=(110)2−08F’D=(CVD/2)、VSF
D=(111)2・−OS’FD= (CVD )条件
設定部(2205)は次のような動作条件設定を行なう
。V 8 F D = (000)2...OS F D
= (00)ta, VSFD = (001)2.08
FD=(CVD/64), V8FD=(010)2-O
iFD=(CVD/82),..., V8F'D
=(110)2-08F'D=(CVD/2), VSF
D=(111)2.-OS'FD= (CVD) The condition setting section (2205) sets the following operating conditions.
ビブラートオフ
ビブラートオン/オフ信号VIBが10“の場合であり
、ゲート(2206)の出力を強制的に常時(00)1
aとする。そうすると、シフタ(220g)のシフトデ
ータは常時(000)2となる。この結果、シフタ(2
208)の出力データは(001,、となる。すなわち
、ビブラートデータCVDが常時(00)soとなる。Vibrato off This is the case when the vibrato on/off signal VIB is 10", and the output of the gate (2206) is forced to always be (00) 1.
Let it be a. Then, the shift data of the shifter (220g) will always be (000)2. As a result, shifter (2
The output data of 208) is (001,.) In other words, the vibrato data CVD is always (00)so.
ビブラートオン
ビブラートオン/オフ信号VIBか111で信号DVI
Bが′0“の場合、ビブラートオン状態となる。レジ、
スタ(2202)に格納しているアドレスデータをデー
) (2206)を介してゲート(2207)とシフタ
(2208)に供給する。なお、アドレスデータの上位
8ビツト、すなわちシフトデータを強制的に(111)
。Vibrato on Vibrato on/off signal VIB or signal DVI with 111
When B is '0'', the vibrato is on.Register,
The address data stored in the star (2202) is supplied to the gate (2207) and shifter (2208) via the data (2206). Note that the upper 8 bits of address data, that is, shift data, are forced (111).
.
とする。そうすると、デー) (2204)の入力には
ビブラートFtOM (2201)の出力(ビブラート
データCVD )がそのまま供給されることになる。shall be. Then, the output (vibrato data CVD) of the vibrato FtOM (2201) will be supplied as is to the input of the vibrato FtOM (2204).
ディレィビブラート
ビブラートオン/オフ信号VIBとディレィ上プレート
オン/オフ信号DVIBがwllの場合、ディレィビブ
ラート状態となる。8チヤネルのキーオン/オフ信号K
Dがすべてオフ状態からいずれか1つのキーオン/オフ
信号KDがオン状態となると、アドレスデータを(00
0)、aに設定するように、デー) (2206)を制
御する。そうすると、シフタ(2208)において、ビ
ブラート信号1周期ごとに、ビブラートデータCVDの
振幅制御(0゜CVD/64 、 CVD/82 、
CVD/16 、 CVD/8 、 CVD/4 。When the delay vibrato vibrato on/off signal VIB and the delay upper plate on/off signal DVIB are wll, a delay vibrato state is entered. 8 channel key on/off signal K
When any one key-on/off signal KD turns on from all D's off, the address data is changed to (00
(2206) so as to set it to 0), a. Then, the shifter (2208) controls the amplitude of the vibrato data CVD (0°CVD/64, CVD/82,
CVD/16, CVD/8, CVD/4.
CVD/2 、 CVD )が行なわれる。そして、シ
フトデータが(111)2となるとビブラー・トオン状
態と同様にシフトデータを強制的に(111)2とする
。CVD/2, CVD) is performed. Then, when the shift data becomes (111)2, the shift data is forcibly set to (111)2 as in the vibrator-on state.
レジスタ(2202)に格納しているアドレスデータは
、シーケンサ(802)から供給されている信号11J
)VADによってゲート(2207)を介してFBCバ
ス供給される。The address data stored in the register (2202) is the signal 11J supplied from the sequencer (802).
) VAD via the gate (2207) to the FBC bus.
演算部(1406)で加算処理されたアドレスデータは
、信号WRVADによって信号φ2の立上シエツチで、
FCバスからレジスタ(2202)に格納される。The address data added in the arithmetic unit (1406) is added at the rising edge of the signal φ2 by the signal WRVAD.
It is stored in the register (2202) from the FC bus.
また、信号RJ)CVDによって、ビブラー) ROM
(2201)に格納しであるビブラートデータCVDが
シフタ(220B) 、ゲート(2204)を介してF
BCバス供給される。Also, signal RJ) by CVD, vibrar) ROM
The vibrato data CVD stored in (2201) is passed through a shifter (220B) and a gate (2204) to F.
BC bus is provided.
グライド信号発生部(1404)の説明グライド信号発
生部(1404)も、ビブラート信号発生部(140B
)と同様にグライドデータを記憶しておくグライドRO
Mと、そのグライド=ROMから所定のグライドデータ
を読み出すためのグ、う゛イドアドレスレジスタと、発
生制御を行なう制御器とから構成している。Description of glide signal generation section (1404) The glide signal generation section (1404) also includes a vibrato signal generation section (140B).
) Glide RO stores glide data in the same way as
The glide controller is composed of a glide register M, a glide register for reading predetermined glide data from the ROM, a wide address register, and a controller for controlling generation.
動作モードとしては、グライドオフとグライドオンの2
種類がある。There are two operating modes: glide-off and glide-on.
There are different types.
グライドオフ 信号GLがlOwの場合グライドオフ状態となる。glide off When the signal GL is lOw, the glide-off state occurs.
グライドデータCGDは常時(00)toとなる。Glide data CGD is always (00)to.
グライドオン 信号GLかwl“の場合グライドオン状態となる。glide on If the signal is GL or wl, the glide-on state is achieved.
通常よく知られているグライド効果と同様なものである
。すなわち、8チヤネルのキーオン/オフ信号KDがす
べてオフ状態からいずれか1チヤネルのキーオン/オフ
信号KDがオンになるとグライドROMからグライドデ
ータCGDが読み出される。そして、所定な時間が経過
すると再びグライドデータCGDは(oo)taとなる
。This is similar to the well-known glide effect. That is, when the key on/off signals KD of all eight channels are turned off and the key on/off signal KD of any one channel is turned on, glide data CGD is read from the glide ROM. Then, after a predetermined time has elapsed, the glide data CGD becomes (oo)ta again.
指数変換器(1405)の説明
指数変換器(1405)は、セント尺度のデータを周波
数に正比例する周波数データEDに変換する変換データ
を記憶した変換I(OMを内蔵している。Description of Index Converter (1405) The index converter (1405) incorporates a conversion I (OM) that stores conversion data for converting cent scale data into frequency data ED that is directly proportional to frequency.
本実施例では、セント尺度上の周波数データCF’Dの
上位4ビツト(ビット位置7〜10)をアドレスデータ
とするEXP −ROMと、ビット位置θ〜10の11
ビツトをアドレスデータとする△EXP・ROMとを用
意している。In this embodiment, the EXP-ROM uses the upper 4 bits (bit positions 7 to 10) of the frequency data CF'D on the cent scale as address data, and the
A ΔEXP ROM that uses bits as address data is available.
そして、演算部(1406)で加算処理されたセント尺
度上の周波数データCFDを信号WREXPによって格
納するレジスタと、そのレジスタに格納されているデー
タをアドレスデータとする上述したEXP・ROM、Δ
EXP−ROMと、信号RDEXP、RDΔEXPによ
ってEXP −ROM 、ΔEXP −ROMに格納し
ているデータをそれぞれFAババスFBババス供給する
ゲートから構成されている。Then, there is a register in which the frequency data CFD on the cent scale subjected to addition processing in the arithmetic unit (1406) is stored by the signal WREXP, and the above-mentioned EXP ROM, Δ, which uses the data stored in the register as address data.
It consists of an EXP-ROM and a gate that supplies the data stored in the EXP-ROM and ΔEXP-ROM to the FA bus and FB bus by signals RDEXP and RDΔEXP, respectively.
EXP −ROMは100セント間隔の周波数データ1
6語を記憶しておシ、ΔEXP−ROMは100セント
内を27すなわち128分割して0.78セント間隔に
対応する15X 128 = 1920点の差分周波数
データを記憶している。EXP-ROM contains frequency data 1 at 100 cent intervals.
The ΔEXP-ROM stores 6 words and stores differential frequency data of 15×128=1920 points corresponding to 0.78 cent intervals by dividing 100 cents into 27, that is, 128.
第15図はEDP (806)のデータ処理手順を示す
処理流れ図であシ、下記に示す演算処理を行なって旧周
波数データOFDから新周波数データNF’Dを算出し
、比較レジスタ部(805)に供給している。FIG. 15 is a processing flowchart showing the data processing procedure of the EDP (806). The calculation processing shown below is performed to calculate new frequency data NF'D from the old frequency data OFD, and the new frequency data NF'D is stored in the comparison register section (805). supplying.
■、CPD=CPD+CVD
■、CPI)二CPD+CQD
■、CPD=CPD+CBD
■、PD =’EXP(CPD)+△EXP(CPD)
■、NED=OFD+PD
次に第14図の動作について説明を行なう。FDP(S
Oa)はシーケンサ(802)から送られてくる処理命
令信号によって演算処理を行なっている。■、CPD=CPD+CVD ■、CPI)2CPD+CQD ■、CPD=CPD+CBD ■、PD ='EXP(CPD)+△EXP(CPD)
(2) NED=OFD+PD Next, the operation shown in FIG. 14 will be explained. FDP(S
Oa) performs arithmetic processing based on processing command signals 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 process explained in FIG. 15 is realized and new frequency data NFD is calculated.
第9表に記載している記号の説明は次の通シである。Explanations of the symbols listed in Table 9 are as follows.
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.
CR,ALは、2ツチALを信号φ2の°1′でクリヤ
する命令。CR, AL are instructions for clearing the two ALs at °1' of the signal φ2.
Al)Diは、F A (1409)のキャリー人力に
”1“を加える命令。Al)Di is an instruction to add "1" to F A (1409)'s carry manpower.
TCAは、F A (1409)で演算処理した結果を
FAババス供給する命令。TCA is an instruction to supply the result of arithmetic processing in FA (1409) to the FA bus.
几D(:’pDは、CPD発生部(1401)で発生す
るセントピッチデータCPDをFAババス供給
する命令。几D(:'pD is an instruction to supply the cent pitch data CPD generated by the CPD generation unit (1401) to the FA bus.
RD CB Dは、ビートデータゲート(1402)の
ゲートを開いてFBババスビートデータ
CBDを供給する命令。RD CB D is an instruction to open the beat data gate (1402) and supply FB Babas beat data CBD.
FLDCVDld、ヒ−1ラ−) Gin発生部(14
08) −c’ia生するビブラートデータCVDをF
Bバ
バス供給する命令。FLDCVDld, healer) Gin generation part (14
08) -c'ia generate vibrato data CVD
B. Command to supply Babasu.
R,DCGDは、グライド信号発生部(1404)で発
生するグライドデータCODをFBババス
供給する命令。R, DCGD is an instruction to supply glide data COD generated by the glide signal generation unit (1404) to the FB bus.
RDEXPは、指数変換器(1405)内で変換したE
XP(、(’:’ P D )をFAババス供給する命
令。RDEXP is E converted in the exponent converter (1405)
Instruction to supply XP(, (':' P D ) to FA Babas.
aD、hEXPは、指数変換器(1405)内で変換し
た△E(CPD)をFBババス供給する命令。aD and hEXP are instructions for supplying ΔE (CPD) converted in the exponent converter (1405) to the FB bus.
1LDFDは、比較レジスタ部(805)から旧周波数
データOFDを読み出してFBババス
供給する命令。1LDFD is an instruction to read the old frequency data OFD from the comparison register section (805) and supply it to the FB bus.
几DVADは、ビブラート信号発生部(1408)内に
あるビブラートカウンタの内容をFB
ババス供給する命令。几DVAD is an instruction to supply the contents of the vibrato counter in the vibrato signal generating section (1408) to the FB bus.
l七D GADは、グライド信号発生部(1404)内
にあるグライドカウンタの内容をFBババ
ス供給する命令。17D GAD is a command to supply the contents of the glide counter in the glide signal generation section (1404) to the FB bus.
W几VADは、F人(1409)で演算した結果をビブ
ラート信号発生部(1408)内のビブラートカウンタ
に信号φ2の立上シエツヂ
で曹き込む命令。W-VAD is an instruction to store the result of calculation by F person (1409) into the vibrato counter in the vibrato signal generating section (1408) at the rising edge of signal φ2.
W凡GADは、F A (1409)で演算した結果を
グライド信号発生部(1404)内のグライドカウンタ
に信号≠2の立上シエツヂで書
き込む命令。W GAD is an instruction to write the result calculated in F A (1409) to the glide counter in the glide signal generator (1404) at the rising edge of the signal≠2.
WREXPは、FA (1409)で演算した結果を指
数変換部(”1405)に信号φ2の立上シエッヂで書
き込む命令。WREXP is an instruction to write the result calculated by FA (1409) to the exponent converter ("1405) at the rising edge of signal φ2.
WRFDは、F’A (1409)で演算した結果を比
較レジスタ部(805)に信号φ2の立上りエッヂで書
き込む命令。WRFD is an instruction to write the result of the operation in F'A (1409) into the comparison register section (805) at the rising edge of signal φ2.
なお、第9図に示したシーケンサ(802)内の11進
カウンタ(902)で発生している11の状態は、第9
表に示した命令ステップ1〜11に対応している。Note that the state 11 occurring in the decimal counter (902) in the sequencer (802) shown in FIG.
This corresponds to instruction steps 1 to 11 shown in the table.
信f GAM (ジェネレータアサイナ動作モード信号
)による動作内容の説明
信号GAM=”0”の場合、1鍵1チャネル動作となる
。この場合、ビートデータCBDは強制的(o 0)1
6の状態となる。すなわち、ビート効果を付加しない。Explanation of operation content by signal f GAM (generator assigner operation mode signal) When GAM=“0”, one key, one channel operation is performed. In this case, the beat data CBD is forced (o 0) 1
It will be in state 6. In other words, no beat effect is added.
信号GAM−“1“の場合、1鍵2チャネルアサイン動
作となる。この場合、1チヤネルと5チヤネル、2チヤ
ネルと6チヤネル、8チヤネルと7チヤネル、4チヤネ
ルと8チヤネルを同一楽音データとする。そして、1チ
ヤネル〜4チヤネルに使用するビートデータCBDを強
制的、に(00)16とし、5チヤネル〜8チヤネルに
使用するビートデータCHDをCPU (608)から
供給されたビートデータを用いることによシ、ビーψト
効果を発生することができる。In the case of signal GAM-“1”, a 1-key 2-channel assignment operation is performed. In this case, the 1st channel and the 5th channel, the 2nd channel and the 6th channel, the 8th channel and the 7th channel, and the 4th channel and the 8th channel are assumed to be the same tone data. Then, the beat data CBD used for channels 1 to 4 is forcibly set to (00)16, and the beat data CHD used for channels 5 to 8 is determined to be the beat data supplied from the CPU (608). Yes, it is possible to generate a beat effect.
以上のように、複数の比較器を用い、比較データを演算
処理して求めるようにしているので、高速動作の分周器
を複数個(チャネル数分)並列に設ける必要がなく、回
路規模が小さくできる。As described above, since multiple comparators are used and the comparison data is calculated and determined, there is no need to install multiple high-speed frequency dividers (as many as the number of channels) in parallel, and the circuit scale is reduced. Can be made smaller.
さらに、信号GAMを用いて、チャネル1〜4はビート
データCBD二(00)s6とし、チャネル5〜8のビ
ートデータCBDをCPU(608)から供給されたビ
ートデータを用い、チャネル1とチャネル5、チャネル
2とチャネル6、チャネル3とチャネル7、チャネル4
とチャネル8を同一楽音発生データとすることによシ複
雑な周辺回路を付加することなく、ビート効果を容易に
実現できる。Furthermore, using signal GAM, channels 1 to 4 are set to beat data CBD2(00)s6, and beat data CBD for channels 5 to 8 is set to beat data CBD supplied from the CPU (608). , channel 2 and channel 6, channel 3 and channel 7, channel 4
By using the same tone generation data for channel 8 and channel 8, a beat effect can be easily realized without adding complicated peripheral circuits.
さらに、グライド信号発生部(1404)内のグライド
アドレスカウンタをチャネル分用意するだけでチャネル
独立のグライド効果を付加することができる。Furthermore, channel-independent glide effects can be added by simply preparing glide address counters for each channel in the glide signal generating section (1404).
第16図は比較レジスタ部(805)の−具体例を示す
構成図である0図中、(1601) (1602) (
1608)は周波数データレジスタF’DRI〜FDR
8で、8チヤネル分用、意している。 (1604)
(1605) (1606)はゲートQTI〜GT8
で、8チヤネル分用意している。 (1607)(16
08)(1609)は比較器、(1610)(1611
)はデコーダ″; (1612)はアンドゲートである
。FIG. 16 is a block diagram showing a specific example of the comparison register section (805). (1601) (1602) (
1608) is the frequency data register F'DRI~FDR
8 is available for 8 channels. (1604)
(1605) (1606) are gates QTI to GT8
We have 8 channels available. (1607) (16
08) (1609) is a comparator, (1610) (1611
) is a decoder''; (1612) is an AND gate.
タイマー(804)の出力信号TMO〜TM9は比較器
(1607)〜(1609)に共通に供給されている。Output signals TMO-TM9 of the timer (804) are commonly supplied to comparators (1607)-(1609).
そして、FDP (806)で算出された新局波数デー
タNEDはレジスタF’1)LL1〜F’DR8の入力
にFCバスからそれぞれ供給され、信号WfLFDと信
号CLRF (計算要求フラグ信号)がともに”1“の
場合、所定のレジスタFDRに新局波数データNFDが
書さ込まれる。すなわち、計算要求が発生している時だ
けデータを1−き込むことになる。The new station wave number data NED calculated by the FDP (806) is supplied from the FC bus to the inputs of registers F'1) LL1 to F'DR8, and both the signal WfLFD and the signal CLRF (calculation request flag signal) are 1'', new station wave number data NFD is written into a predetermined register FDR. In other words, data is loaded only when a calculation request is occurring.
1だ、FDP (806)で旧周波数データOFDが必
要になると、信号RDFDがデコーダ(1610)に供
給され、GTI〜GT8の所定のゲートを開き、旧周波
数データOFDをFBババス供給する。1. When the FDP (806) requires the old frequency data OFD, the signal RDFD is supplied to the decoder (1610), which opens predetermined gates of GTI to GT8 and supplies the old frequency data OFD to the FB bus.
第15図で説明した、データ処理手段における新しい周
波数データNFDがWRI〜WR8に従ってレジスタF
DRI〜FDR8のいずれかに書き込まれ、その後、l
(、DI〜R,D8に従ってグー)GTI〜GT8を経
て読み出されるときは、新局波数データNFDが旧周波
数データOFDとして、F’Bバスに供給されることに
なる。The new frequency data NFD in the data processing means explained in FIG.
Written to any of DRI to FDR8, then l
(According to , DI~R, D8) When read out via GTI~GT8, the new station wave number data NFD is supplied to the F'B bus as the old frequency data OFD.
一方、比較器(1607)〜(1609)では、タイマ
ー(804)からの信号TMO〜TM9とレジスタF’
I)R1〜FDR8に記憶されている周波数データF’
Dとの比較を行ない、一致が検出できたら、一致信号N
CI〜NCRとして出力する。On the other hand, the comparators (1607) to (1609) use the signals TMO to TM9 from the timer (804) and the register F'
I) Frequency data F' stored in R1 to FDR8
When a match is detected, a match signal N is made.
Output as CI~NCR.
第17図は計算要求フラグ発生部(810)の−具体例
を示す構成図である0図中、(1701)〜(1710
)はNANDゲート、(1711)はデコーダ、(17
12)〜(1719)はR87リツプフロツプ(R8F
’F’)、(1720)はセレクタ、(1721)はD
型フリップフロップ(DFF)である。FIG. 17 is a block diagram showing a specific example of the calculation request flag generation unit (810).
) is a NAND gate, (1711) is a decoder, (17
12) to (1719) are R87 lip-flops (R8F
'F'), (1720) is selector, (1721) is D
type flip-flop (DFF).
比較レジスタ部(805)から供給される一致信号NC
I〜NC8をNANDゲート(1701)〜(1708
)でそれぞれ主発振器(801)から供給されている信
号MCKとの論理演算を行ない、その結果をR8F F
’ (1712)〜(1719)の各人カヨに供給する
。一致信号が”11(比較器で一致を検出)となると、
R8FFの入力Sに“0“が供給されて出力Qは°1“
となシ、第12図で説明した計算要求信号CRFが11
1となる。Match signal NC supplied from comparison register section (805)
I~NC8 as NAND gates (1701)~(1708
) performs a logical operation with the signal MCK supplied from the main oscillator (801), and sends the result to R8F
' Each person from (1712) to (1719) supplies Kayo. When the match signal becomes "11" (match detected by the comparator),
“0” is supplied to the input S of R8FF, and the output Q is “1”
Tonanashi, the calculation request signal CRF explained in FIG. 12 is 11.
It becomes 1.
セレクタ(1720)で演算タイミングに対応する信号
cuFを選択し、DFLi’ (1721)の入力りに
供給する。A selector (1720) selects the signal cuF corresponding to the calculation timing and supplies it to the input of DFLi' (1721).
そして、シーケンサ(802)から供給されている制御
データの中の信号WRCLFが”1°となると、信号φ
2の立下シエツヂでDFF(1721)にセレクタ(1
720)で選択した計算要求信号CRFをラッチさせ、
計算要求フラグ信号CLE?、、Fとして出力される。When the signal WRCLF in the control data supplied from the sequencer (802) becomes "1°," the signal φ
At the falling edge of 2, the selector (1
720) to latch the selected calculation request signal CRF,
Calculation request flag signal CLE? , ,F.
計算要求が元止じていればフラグ信号CLRFは°11
、そうでなければフラグ信号CLRFは@ oI hな
る。If the calculation request has stopped, the flag signal CLRF is 11°.
, otherwise the flag signal CLRF becomes @oI h.
信号WRCL Fの発生するタイミングは、命令ステッ
プ1で発生する。すなわち、演算処理の先頭で計算要求
の有無を判定することになる。The timing at which the signal WRCL_F is generated occurs at instruction step 1. That is, the presence or absence of a calculation request is determined at the beginning of the calculation process.
その後、命令ステップ11のタイミングになると、シー
ケンサ(802)から供給される制御データの中の1つ
であるリセット(クリヤ)信号CRCLFが供給される
。そうすると、フラグ信号CLRFが11′の場合、N
ANDゲート(1709) ノ出力信号ハ’o”トナシ
、チャネルコードCHCでデコーダ(1711)によっ
て選択されたRUFF(1712)〜(1718)の所
定の入力孔に”0“を供給し、R8FFをリセット(出
カQ二”0“)する。この動作は、第12図で説明した
計算要求信号CRF’をリセットするタイミング■に対
応している。Thereafter, at the timing of instruction step 11, a reset (clear) signal CRCLF, which is one of the control data supplied from the sequencer (802), is supplied. Then, when the flag signal CLRF is 11', N
The AND gate (1709) outputs the output signal "0" and supplies "0" to the predetermined input holes of the RUFFs (1712) to (1718) selected by the decoder (1711) with the channel code CHC to reset R8FF. (Output Q2 is "0"). This operation corresponds to the timing (2) of resetting the calculation request signal CRF' explained in FIG.
データ・リード・プロセッサDRP (808)の詳細
な説明
捷ず、楽音合成データFtOM(606) (以後デー
タ・バ、7 り(DBK) と称する)のデータフォー
マットについて説明する。Detailed Description of Data Read Processor DRP (808) Without further ado, the data format of musical tone synthesis data FtOM (606) (hereinafter referred to as data bar (DBK)) will be explained.
第18図はD B K (606)のデータ構成図であ
る。FIG. 18 is a data configuration diagram of D B K (606).
アドレス(0000)16から128語の領域に、以後
に続く合成データの先頭位置を示す先頭アドレスを格納
してbる0合成データは制御データと波形データとで構
成されている。制御データは波形間のくシ返し回数指定
データと最終波形フラグデごりとで構成されている。The start address indicating the start position of the subsequent combined data is stored in the area from address (0000) 16 to 128 words.The combined data consists of control data and waveform data. The control data consists of data specifying the number of repetitions between waveforms and a final waveform flag.
くり返し数回数指定データについて説明する。The repetition number designation data will be explained.
出を簡略化する方法として以下のようにしている。The following is a method to simplify the output.
(1) ’(21式ではNm十n項の増分値が1であ
ったが内挿係数の分子の増分値をαとする。(1) '(In Equation 21, the increment value of the Nm-n term was 1, but the increment value of the numerator of the interpolation coefficient is set to α.
(3) MNα項を216と固定化する。(3) Fix the MNα term to 216.
この結果、内挿係数は、(Nm十n)α/216となり
、1/216項は右シフト操作を行なうだけでよく、M
N項を求める必要がなくなシ、内挿係数の算出が容易に
なる。第10表にくシ返し指定データ、増分値α、波形
1周期のサンプル数と、くフ返し回数の関係を示す。As a result, the interpolation coefficient becomes (Nm ten n) α/216, and the 1/216th term only needs to be shifted to the right, and M
There is no need to find the N term, and interpolation coefficients can be easily calculated. Table 10 shows the relationship between the comb return designation data, the increment value α, the number of samples in one cycle of the waveform, and the number of comb returns.
なお、クシ返し数指定データが(F)laであれば、最
終波形を示す最終波形フラグ(信号WEF)として用い
て臂る。Note that if the comb return number designation data is (F)la, it is used as a final waveform flag (signal WEF) indicating the final waveform.
DDK(606)の制御データ領域は波形枚数に関係な
く128語として固定化している。また、制御データ1
語は16ビツト構成であυ、次のように、4ビツトづつ
の4グループにくシ返し指定データを分けている。The control data area of the DDK (606) is fixed at 128 words regardless of the number of waveforms. In addition, control data 1
The word is composed of 16 bits, and the repeat specification data is divided into four groups of 4 bits each as shown below.
ピット位置O〜3・・・c、c”;D音ビット位置4〜
7・・・伊、1す、F音ビット位置8〜11・・・F’
、G、G#音ビット位置12〜15・・・A、A 、B
音このようにすることによシ、音階によって制御データ
を異なるように設定でき、1オクターブ内同−波形デー
タを使用しても、楽音の立上シ時間や、波形形状の変化
時間を一定にすることが可能となる。波形データは1語
16ビツト構成のPCMデータである。Pit position O~3...c, c"; D sound bit position 4~
7...I, 1S, F sound bit position 8-11...F'
, G, G# sound bit position 12-15...A, A, B
By doing this, the control data can be set differently depending on the scale, and even if the same waveform data within one octave is used, the rise time of the musical tone and the change time of the waveform shape can be kept constant. It becomes possible to do so. The waveform data is PCM data consisting of 16 bits per word.
第19図はDRP (80g)の−具体例を示す構成図
である0図中、(1901)は楽音合成データROM
(DBK)(606)から所定の合成データを読み出す
アドレスデータを格納するDBKアドレスレジスタ、(
1902)は楽音合成データROM(DBK) (60
6)から合成データをDRP (sos)の内部に取フ
込むDBK人カバカバッファ1908)はDBK (6
06)に格納している先頭アドレスを読み取るためのア
ドレスデータを出力する参照先頭アドレスゲート、(1
904)は7 (X、、n)に和尚する波形す/プルに
値を格納する波形データメモリ■、(1905)は/(
X山、n)に相当する波形サンプル値を格納する波形デ
ータメモリ■、(1906)は内挿係数の分子に相当す
る(Nm+n)αを格納する係数データメモリ、(19
07)は先頭アドレスレジスタ、(1908)は内挿係
数の(Nm+n)α項の増分値αを生成する増分生成部
、(1909)は波形1周期内のサンプルナンバnを格
納する波形サンプルナンバメモリ、(1910) id
波形ナン/<iを格納する波形ナンバメモリ、(191
1)はオフセットデータゲート、(1912)は累積レ
ジスタ(ACC)、(1918)はフル7#−−、ラッ
チ、やキャリフラグレジスタなどで構成している演算部
、(1914)は演算部(1918)内のラッチALに
データを供給するDAババス(1915)は演算部(1
918)内のラッチBLにデータを供給するDJ3バス
、(1916)は演算部(1918)で行なう′演算結
果を各レジスタに供給するDCバス、(1917)はD
BK人カバカバッファ902)の出力を波形データメモ
リI (1904)などに供給するDBKバスである。Figure 19 is a configuration diagram showing a specific example of DRP (80g).
(DBK) (606) A DBK address register that stores address data for reading predetermined composite data from (606);
1902) is a musical tone synthesis data ROM (DBK) (60
The DBK human Kabaka buffer 1908) that imports the synthetic data from 6) into the DRP (sos) is the DBK (6)
Reference start address gate that outputs address data for reading the start address stored in 06), (1
904) is the waveform data memory that stores the value in 7 (X,, n) and the waveform data memory that stores the value in the pull, (1905) is /(
Waveform data memory (1906) stores the waveform sample value corresponding to the numerator of the interpolation coefficient (Nm+n); (1906) is the coefficient data memory (1906) that stores the waveform sample value corresponding to
07) is the start address register, (1908) is the increment generation unit that generates the increment value α of the (Nm+n) α term of the interpolation coefficient, and (1909) is the waveform sample number memory that stores the sample number n within one waveform period. , (1910) id
Waveform number memory storing waveform number/<i (191
1) is an offset data gate, (1912) is an accumulation register (ACC), (1918) is an arithmetic unit consisting of a full 7#, a latch, a carry flag register, etc., (1914) is an arithmetic unit (1918) ), the DA bus (1915) supplies data to the latch AL in the arithmetic unit (1
(918) is a DJ3 bus that supplies data to the latch BL in
This is a DBK bus that supplies the output of the BK person Kabaka buffer 902) to the waveform data memory I (1904) and the like.
次に各部の構成について説明する。波形データメモ、す
l (1904) 、波形データメモリI (1905
)は、それぞれDBK(606)から読み取った波形デ
ータを7−ケンサ(802)から供給されている制御デ
ータの中の信号WR,WD I 、 WRWD Itに
よりて一時格納しておくレジスタIIL(WDI )、
R(WDI )と、8チャネル分の波形データを記憶す
る16ビツ)X8語のメモリM(W、DI )、M(W
、J)で構成されている0通常、メモリは読み出し状態
となっており、シーケンサ(802)から供給されてい
るチャネルコードCHCに基づいたチャネルの波形デー
タWDI、WDIをWDP (807)に供給している
。 −
そして、シーケンス(802)からの制御データの中の
信号VIFL、’kMによって、メモリは書き込み状態
とな勺、レジス名−R(WDI)、R(WDI)に格納
している波形データをチャネルコードCHCに基づいた
メモリの所定のアドレスに省き込む。Next, the configuration of each part will be explained. Waveform Data Memo, Sl (1904), Waveform Data Memory I (1905)
) are registers IIL (WDI) that temporarily store the waveform data read from the DBK (606) using signals WR, WD I, and WRWD It in the control data supplied from the 7-controller (802). ,
R (WDI), a 16-bit memory that stores waveform data for 8 channels) x 8 words memory M (W, DI), M (W
, J) 0 Normally, the memory is in a read state and supplies waveform data WDI, WDI of the channel based on the channel code CHC supplied from the sequencer (802) to the WDP (807). ing. - Then, by the signals VIFL and 'kM in the control data from the sequence (802), the memory is put into the write state, and the waveform data stored in the register name -R (WDI), R (WDI) is transferred to the channel. The code is omitted at a predetermined address in memory based on the code CHC.
係数データメモリ(1906)は、演算部(1918)
の演算結果をシーケンサ(802)から供給されている
fli(I画データの中の信号WRMDによって一時格
納しておくレジスタR(M’D)と、8チャネル分の係
数データを記憶する16ビツト×8語のメモリM(MD
)と、メモリM(MD)の出力−データを信号RDMD
+こよってDBババス供給するゲートで構成している
。The coefficient data memory (1906) is the calculation unit (1918)
A register R (M'D) temporarily stores the calculation result of fli (signal WRMD in the I image data) supplied from the sequencer (802), and a register R (M'D) that stores coefficient data for 8 channels. 8 word memory M (MD
) and the output-data of memory M (MD) as signal RDMD
Therefore, it is composed of gates that supply DB bus.
通常、メモリは読み出し状態となっており、シーケンサ
(802)から供給されているチャネルコードCHCに
基づいたアドレスの係数データ(M(MD))を、上述
のゲートとWDP (807)に供給している。Normally, the memory is in a read state, and the coefficient data (M(MD)) of the address based on the channel code CHC supplied from the sequencer (802) is supplied to the above-mentioned gate and WDP (807). There is.
そして、信号WRRAMによって、メモリは沓き込み状
態となり、レジスタl”4(MD口こ格納している新係
数データをチャネルコードCl(Cに基づいtこメモリ
の所定のアドレスに書き込む。Then, in response to the signal WRRAM, the memory enters the write state, and the new coefficient data stored in the register 4 (MD) is written to a predetermined address in the memory based on the channel code Cl (C).
先頭アドレスレジスタ(1907)は、DBK(606
)から読み取った先頭番地をシーケンサ(802) 7
5−らの制(財)データの中(以下同じ)の信号TDA
によって9人バスに供給するゲート1と、信号W几TA
D?こよって読み取った先頭番地を一時格納するレジス
タR(TAD)と、信号RDTADによってレジスタ
R(TAD)に格納している先頭番地をDBノ(スに供
給するゲート2から構成している。The start address register (1907) is the DBK (606
) The first address read from ) is sent to the sequencer (802) 7
5- Signal TDA in the control (goods) data (the same applies hereinafter)
Gate 1, which supplies the 9-person bus, and the signal W 几TA
D? There is a register R (TAD) that temporarily stores the read start address, and a register R (TAD) that temporarily stores the read address.
It consists of a gate 2 that supplies the first address stored in R (TAD) to the DB node.
増分生成部(1908)は、DBK(606)から読み
取った制tat+データを信号W几REPによって一時
格納するレジスタR(1’LEP)と、入力レジスタ部
(808)カら供給されているノートクロック指定デー
タNDに基づいてレジスタR(REP)に格納している
制御データから所定の〈シ返し指定データを選択する選
択器と、選択器で選択したくり返し数指定データを第1
0表に示した増分値αに変換する変換器と、最終波形フ
ラグを検出して最終波形フラグWEFじ1“〕を出力す
る検出器と、信号RD BE Pによって斐換器の出力
データ(増分値α)をDAノくス番こ供給するゲートと
で構成している。The increment generation unit (1908) uses a register R (1'LEP) that temporarily stores the control data read from the DBK (606) using a signal WREP, and a note clock supplied from the input register unit (808). A selector selects predetermined repetition specification data from the control data stored in the register R (REP) based on the specification data ND, and a first selector selects the repetition number specification data selected by the selector.
A converter converts the data into the increment value α shown in Table 0, a detector detects the final waveform flag and outputs the final waveform flag WEF same 1"], and a signal RDBEP converts the output data of the converter (increment value It consists of a gate that supplies the value α) to the DA node.
波形サンプルナンバメモリ(1909 )は、演算部(
1918)の演算結果(新波形サンプルナンノ(n)を
信号WRWSNによって一時格納しておくレジスタR(
WSN)と、8チャネル分の波形サンプルナン/(nf
記憶する16ビツト×8語のメモリM(WSN)と、メ
モリM(WSN)の出力データを信号RDWSNによっ
てDBババス供給するゲートとで構成している。The waveform sample number memory (1909) is stored in the calculation section (
1918) in which the calculation result (new waveform sample nano(n)) is temporarily stored in register R(
WSN) and waveform sample number/(nf
It consists of a memory M (WSN) for storing 16 bits x 8 words, and a gate that supplies the output data of the memory M (WSN) to a DB bus by a signal RDWSN.
通常、メモIJ M(WSN)は読み出し状態となって
おシ、シーケンサ(802)から供給されているチャネ
ルコードCHCに基づいたチャネルの波形サンプルナン
バnを上述めゲートに供給している。Normally, the memo IJM (WSN) is in a read state and supplies the waveform sample number n of the channel based on the channel code CHC supplied from the sequencer (802) to the gate as described above.
そして1信号WIIAM+こよってメモ1ノM (WS
N )は書き込み状態となり、レジスタ几(WS N
)に格納している新波形サンプルナンバnをチャネル
コードに基づいたメモリの所定のアドレスに書き込む。And 1 signal WIIAM + memo 1 no M (WS
N) enters the write state and the register 几(WS N
) is written to a predetermined address in the memory based on the channel code.
波形ナンバメモリ(1910)は、演算部(1918)
の演算結果(新波形ナンバりを信号WRWNDによって
一時格納しておくレジスタR(WND)と、8チャネル
分の波形ナンバiを記憶する16ビツト×8語CD メ
モIJ M(WND) ト、l モIJ M(WND
) ノ出,t7 データ(波形ナンバ)を入力レジスタ
部(808)から供給されている波形サンプル数指定デ
ータSDに基づいてシフト処理(iXサンプル数)を行
ない、波形ナンバアドレスWNAを出力するシフタ部と
、信号RDWNDによってメモリの出力データをDBバ
バス供給するゲート1と、信号RDWNAによってシフ
タ部の出力データをDBババス供給するゲート2と、波
形サンプル数指定データ8Dに対応するサンプル数デー
タを発生するすhプル数発生器と、信号ItDNWsに
よってサンプル数発生器の出力データをI)Bバスに供
給するゲート3とで構成している。The waveform number memory (1910) is connected to the calculation section (1918)
(Register R (WND) that temporarily stores the new waveform number using the signal WRWND, and a 16-bit x 8-word CD memo IJ M (WND) that stores the waveform number i for 8 channels. IJ M (WND
) Output, t7 A shifter section that performs a shift process (iX sample number) on data (waveform number) based on the waveform sample number designation data SD supplied from the input register section (808), and outputs a waveform number address WNA. Gate 1 supplies the output data of the memory to the DB bus in response to the signal RDWND, Gate 2 supplies the output data of the shifter section to the DB bus in response to the signal RDWNA, and generates sample number data corresponding to the waveform sample number designation data 8D. It consists of a pull number generator and a gate 3 which supplies the output data of the sample number generator to the I)B bus in response to the signal ItDNWs.
通常メモIJ M(WND)は読み出し状態となってお
り、シーク/す(802)から供給されているチャネル
コードCHCに基づいたチャネルの波形ナンバiを上述
のゲート1とシフタ部に供給している。Normally, the memo IJM (WND) is in a read state and supplies the waveform number i of the channel based on the channel code CHC supplied from the seek/su (802) to the gate 1 and shifter section described above. .
そして、信号W)LRAM ニ! ツテ、l モIJM
(WNJ))は書き込み状態となシ、レジスタR,(W
ND)に格納している新波形ナンバiをチャネルコード
に基づいたメモリの所定のアドレスに書き込む。And signal W) LRAM Ni! Tute, l MoIJM
(WNJ)) is in write state, register R, (W
The new waveform number i stored in ND) is written to a predetermined address in the memory based on the channel code.
累積レジスタ(ACC) (1912)は、演算部(1
918)の演算結果を信号WRACCによって一時格納
しておくレジスタR(ACC)と、信号RDACCによ
ってレジスタR(ACC)に格納しているデータをDA
ババス供給するゲートとで構成している。The accumulation register (ACC) (1912) is the arithmetic unit (1
918) is temporarily stored in the register R (ACC) by the signal WRACC, and the data stored in the register R (ACC) is transferred to the DA by the signal RDACC.
It consists of a Babas supply gate.
第23図は演算部(1918)の−具体例を示す構成図
である。 (2801)は信号φ2の立下りエッヂで
DAババス内容を記憶するラッチALであシ、信号DC
RALでクリヤされる。(2802)は信号φ2の立下
シエツヂでDJ3バスの内容を記憶するラッチBL、(
2808)はキャリ入力(CI)とキャリ出力(Co)
とを有する16ビツト加算器(FA) 1.(1204
)はFA(2808)のキャリ出力信号を信号WRMD
によって格納するキャリフラグレジスタ、(2805)
は信号TCAによってF’A (2808)の出力デー
タをDAババス供給するゲート、(2806)はFA
(2803)の出力データをDCバスに供給するゲート
、(2807)はI) Cバスにデータ(0000)s
6を供給するゲート、(2808)は入力レジスタ部(
80B)・から供給されているキーオン/オフ信号KD
と信号B・DFLGとチャネルコードCHCとを入力と
し、チャネルごとに独立にキー信号がオフ状態からオン
状態に変化するタイミングを検出して検出信号を出力す
るオン/オフ検出部、(2809)〜(2818)はA
NDゲート、(21314) (2815)(2816
)はORゲートである。FIG. 23 is a block diagram showing a specific example of the calculation section (1918). (2801) is a latch AL that stores the contents of the DA bus at the falling edge of the signal φ2, and the signal DC
Cleared by RAL. (2802) is a latch BL that stores the contents of the DJ3 bus at the falling edge of the signal φ2;
2808) is carry input (CI) and carry output (Co)
A 16-bit adder (FA) with 1. (1204
) is the carry output signal of FA (2808) as signal WRMD.
Carry flag register stored by (2805)
is a gate that supplies the output data of F'A (2808) to the DA bus by signal TCA, (2806) is a gate that supplies the output data of F'A (2808) to the DA bus;
The gate that supplies the output data of (2803) to the DC bus, (2807) is the gate that supplies the data (0000)s to the I) C bus.
The gate that supplies 6, (2808) is the input register part (
Key on/off signal KD supplied from 80B)
an on/off detection unit that inputs the signal B/DFLG and the channel code CHC, detects the timing at which the key signal changes from the off state to the on state independently for each channel, and outputs a detection signal, (2809) ~ (2818) is A
ND gate, (21314) (2815) (2816
) is an OR gate.
増分生成部(1908)から供給されている最終波形フ
ラグ信号WEFと信号RDNWSとがともに111の場
合、ANDゲート(2809)の出力信号はWl“とな
シ、ラッチB L (2802)をリセットする。信号
WEFと信号WRMDがともに“11の場合、ANDゲ
ート(2812)の出力信号は”1”となり、DCバス
にはゲート(2807)からのデータ(0000)16
が供給される。When the final waveform flag signal WEF and signal RDNWS supplied from the increment generator (1908) are both 111, the output signal of the AND gate (2809) becomes Wl", and the latch B L (2802) is reset. .When both the signal WEF and the signal WRMD are "11", the output signal of the AND gate (2812) becomes "1", and the data (0000) 16 from the gate (2807) is sent to the DC bus.
is supplied.
オフセットデータゲート(1911)で発生するオフセ
ットデータは10進数で256であシ、制御データの格
納領域に相当する。The offset data generated by the offset data gate (1911) is 256 in decimal notation and corresponds to the storage area for control data.
DRP(808)もF’DP (806)と同様に、シ
ーケンサ(802)から供給される制御信号に基づいて
下述する演算処理を行なう。Like the F'DP (806), the DRP (808) also performs the following arithmetic processing based on the control signal supplied from the sequencer (802).
■ DBKに格納しである先頭アドレスTADを読み取
る。■ Read the start address TAD stored in DBK.
人力レジスタ部(808)から供給されている楽音発生
データ(NII、SD)をシーケンサ(802)から供
給されている信号RDRTAによってDCバスに供給す
る。そして、DCバス上の信号ND。The musical tone generation data (NII, SD) supplied from the manual register section (808) is supplied to the DC bus by the signal RDRTA supplied from the sequencer (802). and the signal ND on the DC bus.
SD6信号WRDBKによってDBKアドレスレジスタ
(1901)に格納し、DDK(606)に供給する。It is stored in the DBK address register (1901) by the SD6 signal WRDBK and supplied to the DDK (606).
DDK(606)から読み出した先頭アドレスデータ゛
TADを信号WRTADによって先頭アドレスレジスタ
(1907)のレジスタR(TAD)に格納する。The start address data "TAD" read from the DDK (606) is stored in the register R (TAD) of the start address register (1907) by the signal WRTAD.
■くシ返し数指定データの読み込み処理。■Reading process of data specifying number of returns.
読み込んだ先頭アドレスデータTADと波形ナンバメモ
リ(1910)に格納している波形ナンバiとの加算処
理(TAD+i)を演算部(1918)で行ない、加算
結果をDBKアドレスレジスタ(1901)に格納し、
DBK (6o6)からくシ返し数指定データを読み取
シ、増分生成部(1908)のレジスタR(R,EP)
に格納する。The arithmetic unit (1918) performs addition processing (TAD+i) between the read head address data TAD and the waveform number i stored in the waveform number memory (1910), and stores the addition result in the DBK address register (1901).
DBK (6o6) Reads the return number specification data, register R (R, EP) of the increment generation unit (1908)
Store in.
■波形サンプル/ (X、 、n)の読み取シ処理。■Waveform sample/(X, , n) reading processing.
先頭アドレスレジスタ(1907)に格納した先頭・ア
ドレスデータTADとオフセットデータ(256)、。Start address data TAD and offset data (256) stored in the start address register (1907).
との加算処理(WAD1=TAD+ 256 )を演算
部(1918)で行ない、加算結果をACC(1912
)のR(Ace)に格納する。ACC(1912)に格
納したアドレス2データWADIと波形サンプルナンバ
メモリ(1910)に格納している波形サンプルナンバ
nとの加算処理(WAD 1 =WAD 1 +n )
を演算部(1918)で行ない加算結果をACC(19
12)に格納する。そL テ、ACC(1912)に格
納しであるアドレスデータWADI’と波形ナンバiを
波形サンプル数指定データSDに基づいてシフト処理し
たデータ(■
i×サンプル数; i=0,1,2.−・・、l−1)
との加算処理(WADF−WAf) 1’+i X?
7 フル数) 全演算部(1918)で行ない、加算結
果をACC(1912)とDBKアドレスレジスダ(1
901)に格納し、DBK(606) カら/(X、、
T1)に相当する波形サンプルデータを読み取り波形メ
モリl (1904)内のレジスタ■t(WDI)に格
納する・
■波形サンプルf (X+ +t 、 n )の読み取
シ処理。The calculation unit (1918) performs addition processing (WAD1=TAD+256) with ACC (1912).
) is stored in R (Ace). Addition process of address 2 data WADI stored in ACC (1912) and waveform sample number n stored in waveform sample number memory (1910) (WAD 1 =WAD 1 +n)
is performed in the arithmetic unit (1918) and the addition result is added to the ACC (1918).
12). Data obtained by shifting address data WADI' and waveform number i stored in ACC (1912) based on waveform sample number designation data SD (i x number of samples; i = 0, 1, 2, etc.). -..., l-1)
Addition process with (WADF-WAf) 1'+i X?
7 full number) is performed in all arithmetic units (1918), and the addition result is sent to ACC (1912) and DBK address register (1
901) and from DBK (606)/(X,,
Read the waveform sample data corresponding to T1) and store it in the register t (WDI) in the waveform memory l (1904). - Read the waveform sample f (X+ +t, n).
ACC(1912) ニ格納1..り7 )”L/ ス
f −p WADI“ト波形サンプル数指定データSD
で指定している波形サンプル数NW8 (波形ナンバメ
モリ(1910)内で=J生) と(DMJN処fll
(WAD2−WAD1//+NWS)を演算部(191
B)で行ない加算結果をDBKアドレスレジスタ(19
01) ニ格納し、DBK (606) カラf(Xi
+ l、 n)に相当する波形サンプルデータヲ読+取
り 波形メ、モ171 (1905) 内o v シス
タR(WDII)に格納する。ACC (1912) Storage 1. .. 7) "L/S f -p WADI" waveform sample number specification data SD
The number of waveform samples specified in NW8 (in the waveform number memory (1910) = J raw) and (DMJN processing full
(WAD2-WAD1//+NWS) in the calculation section (191
B) and the addition result is stored in the DBK address register (19
01) DBK (606) Kara f (Xi
171 (1905) Store the waveform sample data corresponding to (l, n) in the internal o v sister R (WDII).
■波形サンプルナンバnの更新処理。■Update processing of waveform sample number n.
波形lンブルナンノ(nとシーケンサ(802) ;A
”ら供給される信号DADDIとの加算処理(n =
n + 1)を演算部(1918)で行ない、波形サン
プルナンノ(メモリ(1909)内の波形ナンバレジス
タR(WSN)に格納する・
■内挿係数(Nm+ n )αの更新処理。Waveform number (n and sequencer (802); A
Addition processing with the signal DADDI supplied from ``(n =
n + 1) is performed by the arithmetic unit (1918) and stored in the waveform number register R (WSN) in the memory (1909). (2) Update processing of interpolation coefficient (Nm+n) α.
係数データメモリ(1906)に格納している内・挿係
数((Nm+ n ) a〕と増分生成部(1908)
で発生している増分値αとの加算処理を演算部(191
B)で行ない、加算結果を係数データメモIJ (19
06)内をこある係数データレジスタR(MD)に格納
すると共に、加算結果がオーバフォローした場合演算部
(1918)内にあるキャリーフラグレジスタCFを1
11にセットする。The interpolation coefficient ((Nm+n) a) stored in the coefficient data memory (1906) and the increment generation unit (1908)
The calculation unit (191
B) and save the addition result to the coefficient data memo IJ (19
06) Store the contents in this coefficient data register R (MD), and if the addition result overfollows, set the carry flag register CF in the calculation unit (1918) to 1.
Set to 11.
■波形ナンバiの更新処理。■Update processing of waveform number i.
波形ナンバメモリ(1910)に格納している波形ナン
バiと上述■で説明し・たキャリーフラグレジスタCF
の内容との加算処’fl (i = i +CF’)を
演算部(191B)で行ない、波形ナンバメモリ(19
10)内ニする波形ナンバレジスタR(WND)に格納
する。The waveform number i stored in the waveform number memory (1910) and the carry flag register CF explained in the above
The arithmetic unit (191B) performs the addition process 'fl (i = i + CF') with the contents of the waveform number memory (19
10) Store in internal waveform number register R (WND).
■L/ シスp IL(WND)、R(W8D>、R(
MD)、R(WDI)、■、(WDI)に格納した各種
データをチャネルコードCtlCで指定されたそれぞれ
のメモリ領域へのデータ転送処理。■L/ Sysp IL(WND), R(W8D>, R(
Data transfer processing of various data stored in MD), R (WDI), ■, (WDI) to respective memory areas specified by channel code CtlC.
命令ステップ11のタイミングで、シーク/す(漁から
供給される信号WRRAMに基づいてデータ転送処理が
行なわれる。なお、計算要求フラグ信号c LIL F
が°0°の場合には転送処理を行なわないようにしてい
る。なぜならば、新しい波形サンプルの算出を行なわな
いためである。At the timing of command step 11, data transfer processing is performed based on the signal WRRAM supplied from the seek/su (fishing).
When the angle is 0°, no transfer processing is performed. This is because no new waveform samples are calculated.
第11翼″にDfLP (808)の演算シーケンスを
示す。The calculation sequence of DfLP (808) is shown in "11th wing".
第11表に示す命令ステップを順次実行することによシ
、上述■〜■で説明しtこ処理が実現される。By sequentially executing the command steps shown in Table 11, the processes described in sections (1) to (2) above are realized.
なお、第4表で説明したキーオン/オフ信号KDが10
″から〒に変化した最初の処理はイニシャル処理として
上述のような条件設定を行なう。Note that the key on/off signal KD explained in Table 4 is 10
The first process that changes from `` to 〒 is an initial process that sets the conditions as described above.
イニシャル処理を指示する信号〔甲〕は、第23図に示
した演算部(1918)内のオン/オフ検出部(280
8)で発生する。The signal [A] instructing the initial processing is the on/off detection unit (280) in the calculation unit (1918) shown in FIG.
8) occurs.
■波形サンプルナンバn = (0)1(、設定第11
表に示した命令ステップ7のタイミングで信号VIWS
Nが演算部(1918)に供給される。そうすると、A
NDゲーデー(2810)の出力信号は”1“となシ、
デー) (2806)(2807)の制御人力に11″
が供給される。この結果、DCバスには(0000)s
6が供給され、波形サンプルナンノくメモリ(1909
)内のレジスタR,(WSN)に(0000)t6を格
納する。■Waveform sample number n = (0) 1 (, setting 11th
At the timing of instruction step 7 shown in the table, the signal VIWS is
N is supplied to the calculation unit (1918). Then, A
The output signal of ND Gameday (2810) is "1",
Day) (2806) (2807) control human power 11″
is supplied. As a result, the DC bus has (0000)s
6 is supplied and the waveform sample memory (1909
) (0000) t6 is stored in register R, (WSN).
■波形ナンバi ” (0)to設定。■Set waveform number i” (0) to.
第11表に示した命令ステップ10のタイミングで、信
号WRWNDが演算部(1918)に供給される。そう
すると、ANDゲーデー(2811)の出力信号は“1
“となシ、ゲート(QosX2ao7)の制−人力に1
“が供給される。この結果、DCバスには(0000)
t、eが供給され、波形ナンバメモリ(1910)内の
レジスタR(WND)に(0(jOO)16を格納する
。At the timing of instruction step 10 shown in Table 11, signal WRWND is supplied to the calculation unit (1918). Then, the output signal of AND game day (2811) is “1”
“Tonashi, control of gate (QosX2ao7) - 1 in human power
“ is supplied to the DC bus. As a result, (0000)
t and e are supplied, and (0(jOO)16) is stored in the register R (WND) in the waveform number memory (1910).
上述の■、■の処理によって、キーオン/オフ信号KD
がオフからオンに変化するたびに、波形ナンバiと波形
サンプルナンバnとが初期設定される。By the processing of ■ and ■ above, the key on/off signal KD
Each time the waveform number i and the waveform sample number n change from off to on, the waveform number i and the waveform sample number n are initialized.
また、DDK (606)から読み込んだ〈シ返し指定
データが(L”)saすなわち、最終波形フラグWEF
ならば、上述のような条件設定を行なう。Also, the <return designation data read from the DDK (606) is (L”)sa, that is, the final waveform flag WEF
If so, set the conditions as described above.
■内挿係数の分子項(Nm+n)α=(0)to設定。■Numerator term of interpolation coefficient (Nm+n)α=(0)to setting.
第11表に示した命令ステップ9のタイミングで信号W
RMI)が演算部(1918)内のANDゲーデー(2
812)に供給される。そうすると、ANDゲーデー(
2812)の出力信号は@11となり、ゲート(280
6)(2807)の制−入力に′1“供給される。この
結果、DCバスには(o o o o )taが供給さ
れ、係数レジスタメモリ(1906)内のレジスタR(
MD)に(0000)toを格納する。At the timing of instruction step 9 shown in Table 11, the signal W
RMI) is the AND game (2) in the calculation section (1918).
812). Then, AND game day (
The output signal of the gate (2812) becomes @11, and the output signal of the gate (280
6) '1' is supplied to the control input of (2807). As a result, (o o o o ) ta is supplied to the DC bus, and register R (
(0000)to is stored in MD).
■波形サンプル数NWS = (0)to設定。■Number of waveform samples NWS = (0) to setting.
第11表に示した命令ステップ7のタイミングで信号R
,DNW8が演算部(191B)内のANDゲート(2
809)に供給される。そうすると、ANDゲート(2
809)の出力信号は111となシ、ラッチBL (2
802)の格納状態をクリヤ(0000)weする。こ
の結果、波形サンプル/(X、+、、n)を読み込むた
めのDBK(606)のアドレスデータは波形サンプル
f(X、、□)を読み込んだアドレスデータと等しくな
る。At the timing of instruction step 7 shown in Table 11, the signal R
, DNW8 is the AND gate (2
809). Then, AND gate (2
The output signal of the latch BL (2
802) is cleared (0000)we. As a result, the address data of the DBK (606) for reading the waveform sample /(X, +, , n) becomes equal to the address data for reading the waveform sample f(X, , □).
上述■、■の設定によって、最終波形データとなると、
実質的に波形内挿処理を行なわず、最終波形データをく
シ返し使用することになる。By setting ■ and ■ above, when it comes to the final waveform data,
In effect, no waveform interpolation processing is performed, and the final waveform data is repeatedly used.
第11表に示した信号についての説明 上述する信号はシーケンサ(802)から供給される。Explanation of the signals shown in Table 11 The signals mentioned above are provided by the sequencer (802).
flu)O8Dは、オフセットデータ(256)をDA
′バスに供給する。flu) O8D DA the offset data (256)
'Supply the bus.
R,DACCは、ACC(1912)内のレジスタ1t
(ACC)に格納、シているデータをDAババ
ス供給する命令。R, DACC is register 1t in ACC (1912)
An instruction to supply the data stored in (ACC) to the DA bus.
RD RE Pは、増分生成部(1908)内で生成さ
れた増分値αをDAババス供給する命
令・
RDWSNは、波形サンプルナンバメモリ(1909)
内のメモリM(WSN)から読み出さ
れている波形サンプルナンバnを
DBババス供給する命令。RD RE P is an instruction to supply the increment value α generated in the increment generation unit (1908) to the DA bus. RDWSN is the waveform sample number memory (1909)
A command to supply the waveform sample number n read from the memory M (WSN) in the DB bus.
RDWND は、波形ナンバメモリ(1910) 内の
メモIJ M(WND)から読み出されている波形ナン
バiをf)Bバスに供給す
る命令。RDWND is an instruction to supply the waveform number i read from the memo IJM (WND) in the waveform number memory (1910) to the f)B bus.
R,DWNAは、波形ナンバメモリ(1910)内にあ
るシフタ部で発生している波形ナン
バアドレス(WNA)をDBババス
供給する命令。R, DWNA 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) 内
のレジスタI’(、(TAU))に格納している先頭番
地をDBババス供給する命
令。RDTAD is an instruction to supply the start address stored in register I' (, (TAU)) in the start address register (1907) to the DB bus.
R’D N W Sは、波形ナンバメモリ(1910)
内のサンプル数発生器で発生じているサン
プル数をDBババス供給する命令。R'D N W S is waveform number memory (1910)
An instruction to supply the number of samples generated by the sample number generator in the DB bus.
)t、DMDは、係数データメモリ(1906)内のメ
モリM(MD)から読み出されている
係数データをDBババス供給する
命令。)t, DMD 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は、入力レジスタ部(8/113)から供給
されている楽音発生データ(ND、5D)2DCバスに
供給する命令。RDRTA is an instruction to supply musical tone generation data (ND, 5D) supplied from the input register section (8/113) to the 2DC bus.
WItDBKは、l)Cバス上のデータをDBKアドレ
スレジスタ(1901)内のレジスタR(D 13 K
)に格納する命令・
WIIACCは、I)Cバス上のデータをAce (1
912)内のレジスタR(八CC)に格納する
命令。WItDBK transfers data on l) C bus to register R (D 13 K) in DBK address register (1901).
) WIIACC stores data on the I) C bus in Ace (1
Instruction to store in register R (8CC) in 912).
WRWSNは、DCバス上のデータを波形す/プ/L、
fンバメモリ(1909) 内のレジスタl(、(W
SN)に格納する命令。WRWSN waveforms the data on the DC bus.
Register l(, (W
Instruction to store in SN).
W RM Dは、DCバス上のデータを係数データメモ
リ(1906)内のレジスタR(MI))に格納する命
令。W RM D is an instruction to store data on the DC bus in register R (MI) in the coefficient data memory (1906).
WILWNDは、DCCパスQデータを波形ナンバメモ
IJ (1910) 内(1) L/ シフ、 夕FL
(wND)に格納する命令。WILWND is the DCC path Q data in the waveform number memo IJ (1910) (1) L/Schiff, evening FL
Instruction to store in (wND).
T’ D Aは、先頭アドレスレジスタ(1907
)にDBKから読み込んだ先頭番地をD
入バスに供給する命令。T'DA is the start address register (1907
) is an instruction to supply the first address read from DBK to the D input bus.
T CAは、DCバス上のデータをDAババス供給す
る命令。TCA is an instruction to supply data on the DC bus to the DA bus.
DCRALは、演算部(1918)内のラッチA L
(2801)をクリヤする命令。DCRAL is the latch A L in the calculation unit (1918)
Command to clear (2801).
DkDDlは、演算部(1918)内のFA、(23o
s)に゛キャ′り入力信号、<+i)を供給する命令。DkDDl is FA in the calculation unit (1918), (23o
An instruction to supply a carrier input signal, <+i) to s).
RDF’LGは、演算部(1918)内のオン/オフ検
出部(2808)に新キーオン/オフ信号KDを取シ込
む命令。RDF'LG is a command to input a new key on/off signal KD to the on/off detection section (2808) in the calculation section (1918).
WE(SRAMは、波形データメモリI (1904)
内のレジスタR(WD l )、波形データメモリIF
(1905)内のレジスタR(WDI)、係数データ
メモリ(1906)内のレジスタI(、(MD)、波形
サンプルナンバメモリ(1909)内のレジスタR(W
S、N)、波形ナンバメモリ(1910)内のレジスタ
R(WND)に格納して
いるデータを、それぞれのメモリ
M(WD−1)、M(w′Da )、M(MD)、M(
WSN)、・M(WND)に書き込む命令。WE (SRAM is waveform data memory I (1904)
Register R (WD l ) inside, waveform data memory IF
Register R (WDI) in (1905), register I (, (MD) in coefficient data memory (1906), register R (WDI) in waveform sample number memory (1909)
S, N), the data stored in the register R (WND) in the waveform number memory (1910) are transferred to the respective memories M (WD-1), M (w'Da), M (MD), M (
WSN), ・Instruction to write to M(WND).
以上のように、データメモリ(DBK)に合成データ(
波形データ、制御データ)の先頭番地を格納することに
よシ、回路構成を複雑化することなく、データメモリ内
のデータ内容操作だけで異なる波形データの選択ができ
、異なる楽音を容易に発生することができる。As mentioned above, the composite data (
By storing the start address of waveform data, control data), different waveform data can be selected simply by manipulating the data contents in the data memory, without complicating the circuit configuration, and different musical tones can be easily generated. be able to.
さらに、複数組の制御データ(<シ返し数指定データ)
を用意し、合成する場合には、所定の制御Jデータを選
択して使用するようにしているため、音階によって制(
財)データを異なるよ゛うに設定することができ、1オ
クターブ内同−波形データを使用しても、楽音の立上シ
時間や、波形形状の変化時間を一定にすることができる
。In addition, multiple sets of control data (< number of return specification data)
When preparing and synthesizing, predetermined control J data is selected and used, so it is not controlled by the scale (
The data can be set differently, and even if the same waveform data within one octave is used, the rise time of a musical tone and the change time of the waveform shape can be made constant.
さらに、同一データベース上に波形データ、制御データ
ト先頭番地とを格納し、時分割的に各種データを読み取
るようにしているので、データメモリ(DDK)の回路
構成が簡略化できるとともに、データメモリとDRP(
so8)とのインターフェース処理が簡略化できる。Furthermore, since waveform data, control data, and the first address are stored in the same database, and various data are read in a time-sharing manner, the circuit configuration of the data memory (DDK) can be simplified, and the data memory and DRP (
interface processing with SO8) 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). There are four types of arithmetic processing as the arithmetic processing of WDP (807).
■波形内挿演算を行なって仮想波形サンプル値■仮想波
形サンプル値/(X、、rn、n) 、!:エンベロー
グデデーEDとの乗算を行ない、エンベロープ付△
加液形サンプル値/(X、、。l”tQlr)を求める
。■Perform waveform interpolation calculation to obtain virtual waveform sample value ■Virtual waveform sample value/(X,,rn,n),! :Multiply with the envelope ED to obtain the enveloped △ liquid type sample value/(X,...l''tQlr).
■前回求めたエンベロープ付加波形サンプル値△
旧/ (XI、m、n、4.r)と今回求めたエンベロ
ープ付加波形サンプル値新/ (Xi 、m、n+Q+
r )との差分演算を行なって差分波形サンプル値Df
(X、 r) を、m、n、q。■Previously calculated envelope added waveform sample value △ old/ (XI, m, n, 4.r) and envelope added waveform sample value calculated this time new/ (Xi, m, n+Q+
r ) and calculate the difference waveform sample value Df.
(X, r), m, n, q.
求める。demand.
■エンベロープデータEDの更新を行なう。■Update envelope data ED.
次ニ、エンベロープデータEDとエンベロープ付加方法
について説明する。Next, the envelope data ED and the envelope adding method will be explained.
エンベロープデータEDは20ビツトで構成されている
。上位4ビツトをEDU(Q) 、下位16ビツトをE
DL(几)とする。Envelope data ED consists of 20 bits. The upper 4 bits are EDU (Q), the lower 16 bits are E
Let it be DL (几).
エンベロープデータEDの更新方法はミ新BD=旧ED
+IEDと云う演算処理を行なって求める。How to update envelope data ED: New BD = Old ED
It is determined by performing an arithmetic process called +IED.
増分エンベロープデータ△EDは、CP U (60B
)から入力レジスタ部(808)に供給されたサスティ
ンデータDSUSあるいは、ダンパーデータDDMPを
使用する。サスティンデータ、ダンパーデータの選択は
、オルガン型エンベロープ、ピアノ型エンベロープおよ
びキーオン/オフ信号に基づいて使い分けを行なう。Incremental envelope data △ED is CPU (60B
) is used to supply the sustain data DSUS or damper data DDMP to the input register section (808). Sustain data and damper data are selected based on the organ-type envelope, piano-type envelope, and key-on/off signal.
エンベロープ付加波形サンプル値を求める演算式を下式
に示す。The formula for calculating the envelope-added waveform sample value is shown below.
/(X・ )・・・・・・・・・・・・(5)+、m
、n
q=Q 、 1 、2 、・・・、Q−1(Q=2’)
r=0 、1 、2、− 、 R−1(R=2”)エン
ベロープデータHDを単調増加すなわち、新ED=旧E
D+△ED(一定)とし、(5)式を実行することによ
シ、指数特性の減衰(立下シ)エンベロープが付加でき
る。また、単調減少、すなわち新ED−旧ED−ΔhD
<一定)とすることによシ、指数特性の立上シ(アタ
ック)エンベロープデータすることができる。このよう
な処理を行なうことで、指数特性のエンベロープを発生
せずに、演算だけで求められ、エンベロープデータED
の生成が簡単な構成で実現できる。/(X・ )・・・・・・・・・・・・(5)+, m
, n q=Q , 1 , 2 ,..., Q-1 (Q=2')
r=0, 1, 2, -, R-1 (R=2") Envelope data HD is monotonically increased, that is, new ED = old E
By setting D+ΔED (constant) and executing equation (5), an exponential characteristic damping (falling) envelope can be added. Also, monotonically decreasing, i.e. new ED − old ED − ΔhD
<constant), it is possible to obtain attack envelope data of exponential characteristics. By performing such processing, the envelope data ED can be obtained only by calculation without generating an envelope with exponential characteristics.
generation can be realized with a simple configuration.
第21図はWDP(807)の−具体例を示す構成図で
ある0図中(2101)は波形データゲートI、(21
02)は波形データデー)I、(2108)はエンベロ
ープデータHDの増分値を発生するエンベロープ増分発
生部(△ED発生部)、(2104)は旧薩形サンプル
値△
f (X、、m、n、1.r)を記憶している川波形デ
ータメモリ部、(2105)はエンベロープデータED
を記憶しておくエンベロープデータメモリ部(EDメモ
リ部)(2106)は乗算部、(2107)は(5)式
に示した1/2qあるいは1/2”’の演算を行なうシ
ック部、(2108)はフルアダー、ラッチやキャリー
フラグレジスタなどで構成している演算部、(2109
)は差分波形サンプル値D/(X、 r)を格納
するアウトプット、m、n、q。FIG. 21 is a configuration diagram showing a specific example of the WDP (807).
02) is the waveform data data) I, (2108) is the envelope increment generator (△ED generator) that generates the incremental value of the envelope data HD, and (2104) is the old Satsugata sample value △ f (X, , m, n, 1.r), and (2105) is the envelope data ED.
The envelope data memory section (ED memory section) (2106) for storing , is a multiplication section, (2107) is a thick section that performs the operation of 1/2q or 1/2"' shown in equation (5), and (2108) ) is an arithmetic unit consisting of a full adder, latch, carry flag register, etc. (2109
) is an output that stores the difference waveform sample value D/(X, r), m, n, q.
バッファレジスタ(OBR) 、(2110) Uアナ
ログバッファメモリ部(812)内のアナログスイッチ
(1108)〜(1107) (コンデンサC,−C8
に電荷を蓄えるり峠のスイッチ)(711図)のオン/
オフを制御する書き込みパルス発生部、(2111)は
演算部(2108)内のランチALにデータを供給する
WAババス(2112)は演算部(2108)内のラッ
チBLにデータを供給するWBババス(2118)は演
算部(2108)で行なった演算処理結果を各レジスタ
に供給するWCバスである。Buffer register (OBR), (2110) Analog switches (1108) to (1107) in U analog buffer memory section (812) (capacitors C, -C8
Turn on/on the Ruri-toge switch (Fig. 711) that stores charge in
A write pulse generator (2111) that controls off is a WA bus (2112) that supplies data to the launch AL in the calculation unit (2108) and a WB bus (2112) that supplies data to the latch BL in the calculation unit (2108). 2118) is a WC bus that supplies the results of the arithmetic processing performed by the arithmetic unit (2108) to each register.
次に各部の構成内容について説明する。△ED発生部(
2108’)は増分データΔEDとしてサスティンデー
タDSU8とダンパーデータDDMPのどちらか一方を
選択する選択器と入力レジスタ部(80B)から供給さ
れているキーオン/オフ信号KD、オルガン型/ピアノ
型指定信号OPSとダンパーオン/オフ信号DMPから
選択信号を生成する制御器と、信号KD、信号OP8、
信号DMPとbR’P! ’(808)内の増分生成部
(1908)から供給されている最終波形フラグ信号W
BFから仮想キーオン/オフ信号を生成し仮想キー信号
EADGを出力する仮想キー信号発生器とから構成、し
ている、第12表に増分データ△EDの選択内容と仮想
キー信号E/!I)Gの発生状態を示す。Next, the configuration of each part will be explained. △ED generation part (
2108') is a selector for selecting either sustain data DSU8 or damper data DDMP as incremental data ΔED, a key on/off signal KD, and an organ type/piano type designation signal OPS which are supplied from the input register section (80B). and a controller that generates a selection signal from the damper on/off signal DMP, a signal KD, a signal OP8,
Signals DMP and bR'P! ' The final waveform flag signal W supplied from the increment generator (1908) in (808)
It is composed of a virtual key signal generator that generates a virtual key on/off signal from BF and outputs a virtual key signal EADG.Table 12 shows the selection contents of the incremental data △ED and the virtual key signal E/! I) Shows the state of occurrence of G.
第7表に示した信号OPSが101、すなわちオルガン
型指定の場合、仮想キー信号EADGは、キーオン/
オフ 信号K D (7) オy (”1” ) 、オ
フ (”0” )状態と等しくなる。When the signal OPS shown in Table 7 is 101, that is, organ type designation, the virtual key signal EADG is key-on/
The off signal K D (7) is equal to the ("1") and off ("0") state.
信号OPSが”1”、すなわちピアノ製指定の場合、仮
想キー信号EADGは下達の状態となる。When the signal OPS is "1", that is, the piano is specified, the virtual key signal EADG is in the downward state.
■信号WWFが10”の場合
(a)信号DMP(第7表に示したダンバオ//オフ信
号)が10″の場合、仮想キー信号EA−DGは1オン
1状態となる。(a) When the signal WWF is 10'' (a) When the signal DMP (danbao//off signal shown in Table 7) is 10'', the virtual key signal EA-DG is in the 1-on-1 state.
(b)信号DMPが°1′の場合、仮想キー信号EAD
Qは、キーオン/オフ信号KDのオン、オフ状態と等し
くなる。(b) When signal DMP is °1', virtual key signal EAD
Q is equal to the on/off state of the key on/off signal KD.
■信号WEFが“1“の場合
信号DMP 、キーオン/オフ信号KDの状態に関係な
く、仮想キー信号EADGはオフ状態となる。(2) When the signal WEF is "1" The virtual key signal EADG is in the off state regardless of the states of the signal DMP and the key on/off signal KD.
仮想キー信号EAD Gの働きの説明
信号WEFが”1′となシ最終波形データなくシ返し用
いて、持続音の楽音を発生する場合、オルガン型指定で
あれば、オルガン型の楽音特性と等しくな、り問題は発
生しない。Explanation of the function of the virtual key signal EAD G When the signal WEF is ``1'' and is used repeatedly without the final waveform data to generate a sustained musical tone, if an organ type is specified, the musical tone characteristics are equal to the organ type musical tone characteristics. No problems will occur.
ピアノ型指定となると、楽音特性は減衰特性とする必要
があり、信号WEF=”1°となシ、最終波形データを
〈シ返し用いて持続音を発生しても、仮想キー信号EA
DGをオフ状態として、減衰エンベロープ特性を付加し
て強制的に楽音特性を減衰特性とする。When specifying a piano type, the musical tone characteristics must be attenuation characteristics, and if the signal WEF = 1°, even if the final waveform data is used to generate a sustained tone, the virtual key signal EA
The DG is turned off and a damping envelope characteristic is added to force the musical tone characteristic to be a damping characteristic.
川波形データメモリ部(2104)は、演算部(210
B)の演算結果をシーケンサ(802)から供給されて
いる信ywaowtDによって一時格納しておくレジス
タR(OWD)と、8チャネル分のエンベロープ付加波
形サンプル値/(X、 、)a−記憶する16ビ
ツト+、m、n、q。The river waveform data memory section (2104) is connected to the calculation section (210
A register R (OWD) temporarily stores the calculation result of B) using the signal ywaowtD supplied from the sequencer (802), and a register R (OWD) that stores the envelope-added waveform sample value/(X, ,)a-16 for 8 channels. Bit+, m, n, q.
×8語のメモリM (OWD )と、メモリM (OW
D )の出力データを信号R,I)OWDによってWB
パースに供給するゲートとで構成している。通常メモリ
M(OWD)は読み出し状態となっておシ、シーケンサ
(802)から供給されているチャネルコー)” CH
CIζ基づいtこアドレスのエンベロープ付加波形サン
プル値を上述のゲートに供給している。そしテ、信号W
RRAMによってメモリM (OWD )は書き込み状
態となシ、レジスタR(OWD )に格納しているデー
タカ≦メモリM (OWD )に沓き込まれる。×8 word memory M (OWD) and memory M (OW
D) output data to WB by signal R, I) OWD.
It consists of a gate that supplies to Perth. Normally, the memory M (OWD) is in the read state, and the channel code (CH) supplied from the sequencer (802) is
The envelope-added waveform sample value of address t based on CIζ is supplied to the above-mentioned gate. Then, signal W
The RRAM keeps the memory M (OWD) in a write state, and the data stored in the register R (OWD) is written into the memory M (OWD).
EDメモリ部(2104)は、演算部(2108)の演
算結果を信号WREDL%WR,EDU’によってそれ
ぞれ一時格納するレジスタI((EDL )、E(;(
EDU)と、8チャネル分のエンベロープデータEDを
記憶するメモリM(EDL)、M(EDU)と、メモリ
M(EDL)の出力データを信号FLD E D Lに
よってW B /<スl乙供給するデー)Lと、メモリ
M(EDU)の出力データを信号RD E D Uによ
ってWBノ(ス(こ供給するデー)Uとで構成している
。メモリM(EDL)は16ビツト×8語、メモリM(
EDU)は4ビット×8語である1通常メモリM(ED
L)、M(EDU)は読み出し状態となっており、チャ
ネルコードCHC&こ基づいたアドレスのエンベロープ
データEDが読み出され、上述のゲートL1ゲー)Uに
それぞれ供給さ第 12 表
れる、また、信号EDUは乗算部(2106)に、信号
EDLはシフタ部(2107)に供給されている。The ED memory unit (2104) has registers I((EDL), E(;(
EDU), memory M (EDL) that stores envelope data ED for 8 channels, output data of M (EDU) and memory M (EDL) is supplied by signal FLD E D L. The memory M (EDL) consists of 16 bits x 8 words, 16 bits x 8 words, Memory M (
EDU) is one normal memory M(ED
L) and M (EDU) are in the read state, and the envelope data ED of the address based on the channel code CHC& is read out and supplied to the above-mentioned gates L1 and M (EDU), respectively. is supplied to the multiplier section (2106), and the signal EDL is supplied to the shifter section (2107).
そして、信号WRRAMによってメモリM(EDL)、
M(EDU)は書き込み状態となり、レジスタR,(E
、DL)、几(BDU)に格納しているデータがメモリ
M(EDL)、M(EDU)に書き込まれる。Then, by the signal WRRAM, the memory M (EDL),
M (EDU) enters the write state and registers R, (E
, DL) and 几(BDU) are written to the memories M(EDL) and M(EDU).
乗算部(2106)は、波形データを信号WB、MLP
によって一時格納するレジスタR(MLPI)と、信号
8ELWB=’0”の時DRP(808)から供給され
ている係数データMLPを一時格納し、信号5ELWE
=@l“の時BDメモリ部(2105)から供給されて
いるエンベロープデータEDLを一時格納するレジスタ
R(MLP2)と、レジスタI’(、(MLP 1 )
に格納しているデータを被乗数(2の補数表現)としレ
ジスタR(MLP 2 )に格納しているデータを乗数
(絶対値表現)とする16ビツト×16ビツト=32ビ
ツトの乗算器と、信号R,DMLPによって乗算器の乗
算結果上位16ピツトをWBババス供給するゲートとで
構成している。The multiplication unit (2106) converts the waveform data into signals WB and MLP.
When the signal 8ELWB is '0', the coefficient data MLP supplied from the DRP (808) is temporarily stored in the register R (MLPI), and the coefficient data MLP supplied from the DRP (808) is temporarily stored.
=@l", the register R (MLP2) that temporarily stores the envelope data EDL supplied from the BD memory unit (2105) and the register I'(, (MLP 1 )
A 16-bit x 16-bit = 32-bit multiplier whose multiplicand (two's complement representation) is the data stored in register R (MLP 2 ) and a multiplier (absolute value representation), and a signal It is composed of gates that supply the WB bus to the upper 16 pits of the multiplication result of the multiplier using R and DMLP.
シフタ部(2107)は−1演算部(2108)の演算
結果を信号WR8FTによって−、JI格納するレジス
タR(SFT)と、レジスタR(SFT)に格納したデ
ータをEDメモリ部(2105)から供給されているエ
ンベロープデータBDUに基づいてシフト操作1((8
FT)。The shifter section (2107) supplies the operation result of the -1 operation section (2108) with the signal WR8FT to the register R (SFT) for storing JI, and the data stored in the register R (SFT) from the ED memory section (2105). Shift operation 1 ((8
FT).
(−−、q二〇、1,2.・・・、 2’ −1)する
q
シフタと、シックの出力データを信号WR8FAによっ
て一時格納するレジスタR(SFA) ト、信f RD
SFAによってレジスタRC8FA)に格納したデータ
をWAババス供給するデー)Aと、信号R,DSFBに
よってシフタのデータを直接WBババス供給するゲート
Bとで構成している。(--, q20, 1, 2..., 2' -1) q shifter and register R (SFA) that temporarily stores the chic output data by signal WR8FA.
It consists of a gate A which supplies the data stored in the register RC8FA by the SFA to the WA bus, and a gate B which directly supplies shifter data to the WB bus by signals R and DSFB.
第24図は演算部(2108)の−具体例を示す構成図
である。 (2401)はwiババス上データを信号
■Nvにヱつて反転する反転ゲート、(2402)は反
転デー) (2401)の出力データを信号φ2の立下
シエツヂで一時格納するラッチALで、信号WCRAL
によって格納状態が(oooO)t。になる、すなわち
リセットされる。 (240B)はWBババス上デー
タを信号φ2の立下シエツヂで一時格納するラッチBL
、 (2404)はキャリ入力、キャリ出力を有する1
6ピツト加算器(FA)、(2405)はF A (2
404)のキャリ出力を信号WREDLによって記憶し
、信号RDEDLによってリセットするキャリフラグレ
ジスタE、CF、(2406)はANDゲート、(24
0?)はOELゲート、(2408)は信号WTCAに
よってF’A (2404)の出力データをWAババス
供給するゲートA、 (2409)はWCバスにデー
タ(FFFF)soを供給するゲートB、 (241
0)はWCバスにWBババス上データを供給するゲート
C1(2411)はF A (2404)の出力データ
をWCバスに供給するデー) D 、 (2412)は
データ(0000)taをWCバスに供給するゲートE
、 (2418)は信号TBC1信号WREI)U、信
号WR,EDL、信号EADGおよびF 、A (24
04)の出力信号(ピット位置4)に基づいてゲートB
(2409)〜ゲートE(2412)のいずれか1つ
を選択するゲート選択器である。FIG. 24 is a block diagram showing a specific example of the calculation section (2108). (2401) is an inverting gate that inverts the data on the Wi bus with the signal Nv, (2402) is the inverted data latch AL that temporarily stores the output data of (2401) at the falling edge of the signal φ2, and the signal WCRAL
The storage state is (oooO)t. , that is, it is reset. (240B) is a latch BL that temporarily stores data on the WB bus at the falling edge of signal φ2.
, (2404) is 1 with carry input and carry output.
The 6-pit adder (FA), (2405) is FA (2
The carry flag registers E and CF (2406), which store the carry output of (2404) by the signal WREDL and reset by the signal RDEDL, are AND gates (2406).
0? ) is the OEL gate, (2408) is the gate A that supplies the output data of F'A (2404) to the WA bus by the signal WTCA, (2409) is the gate B that supplies data (FFFF)so to the WC bus, (241
0) supplies data on the WB bus to the WC bus. Gate C1 (2411) supplies the output data of F A (2404) to the WC bus. D, (2412) supplies data (0000) ta to the WC bus. Supply gate E
, (2418) are signals TBC1 signal WREI)U, signals WR, EDL, signals EADG and F, A (24
Gate B based on the output signal (pit position 4) of 04)
(2409) to gate E (2412).
ゲート選択器(2418)で選択するゲートについて説
明する。シーケンサ(802)から供給されている信号
TBCによってゲートC(2410)が選択され、WC
バスにはWBババス上データが供給される。The gates selected by the gate selector (2418) will be explained. Gate C (2410) is selected by signal TBC supplied from sequencer (802), and WC
Data on the WB bus is supplied to the bus.
ΔED発生部(2108)から供給されている仮想キー
信号BADGがオン状態であると、信号WREDLある
いは信号WR,EDUによってゲートB (2412)
が選択され、WCバスとにはデータ(0000)1eが
供給さ−れる。すなわち、エンベロープデータEDU。When the virtual key signal BADG supplied from the ΔED generation unit (2108) is in the on state, the gate B (2412) is activated by the signal WREDL or the signals WR and EDU.
is selected, and data (0000) 1e is supplied to the WC bus. That is, envelope data EDU.
EDLをともに−(0000)16と設定することにな
る。Both EDLs will be set to -(0000)16.
この結果、エンベロープ付加波形サンプル値△
’ (Xi、m、n、q、r) =/ (Xi、m、n
)となる。As a result, the envelope added waveform sample value △' (Xi, m, n, q, r) =/ (Xi, m, n
).
−また、FA(2404)の出力信号(ピット位置4)
が111でかつ信号Wl(EDUが供給されるとデー)
B(2409)が選択されw C、;スにデータ(FF
’FF)1.が供給される。すなわち、エンベロープデ
ータEDUを常時(F)IQと設定することになる。-Also, the output signal of FA (2404) (pit position 4)
is 111 and signal Wl (data when EDU is supplied)
B (2409) is selected and the data (FF
'FF)1. is supplied. That is, the envelope data EDU is always set to (F)IQ.
上述以外の状態では、デー) D (2411)が選択
され、F A (2404)の出力データがWCバスに
供給される。In states other than the above, D (2411) is selected and the output data of F A (2404) is supplied to the WC bus.
なお、川波形データメモリ部(2105) 、E Dメ
モリ部(2106)に供給されている信号WRRANは
、DRP(808)で説明した信号WRRAMと同一の
ものである。Note that the signal WRRAN supplied to the river waveform data memory section (2105) and the ED memory section (2106) is the same as the signal WRRAM explained in connection with the DRP (808).
WD P (807)もD RP (808) 、F
D P (806)と同様にシーケンサ(802)から
供給される制御信号に基づいて下達する演算処理を行な
い、上述した■〜■の処理内容を実現するようになって
いる。WD P (807) also D RP (808), F
Similar to the D P (806), it performs the following arithmetic processing based on the control signal supplied from the sequencer (802), thereby realizing the processing contents of (1) to (4) described above.
■仮想波形サンプル値/ (X、 、m、n )を求め
る。■Find the virtual waveform sample value/(X, , m, n).
信号Ell)WDI 、 IもDWDI(命令ステップ
2に対応)によってDRP (808)から供給されて
いる波形サンプル値/(X、、n)とf (X+++
、 n)をWAババスWBババス供給し、演算部(21
08)のラッチAL、BLに信号φ2立下りエッヂで波
形サンプル値を格納する。The waveform sample values /(X,,n) and f(X+++
, n) are supplied to WA Babas, WB Babas, and the arithmetic unit (21
The waveform sample value is stored in the latches AL and BL of 08) at the falling edge of the signal φ2.
この時演算部(2108)に加えられる信号INVによ
ってランチALに格納されるデータは反転データ、すな
わち/(X、、n)となる。At this time, the data stored in the launch AL by the signal INV applied to the arithmetic unit (2108) becomes inverted data, that is, /(X,, n).
そして、ラッチA L (24o2)、ラッチB L
(2408)に格納されたデータを用いて演算部(21
08)で加算処理(/ (X4 、rl)+ / (X
1+t 、 n) +1 〕すなわち(/(X、 、、
n)−/(X、、n))が実行され、演算結果がWCパ
スに出力され、信号WRMLPによって乗算部(210
6)内の被乗数レジスタR(MLP 1)に信号φ2の
立上シェッヂで書き込まれるとともに、DRP (80
8)から供給されている内挿係数(Nm十〇)αが乗算
数レジスタR(MLP2)に格納される。And latch A L (24o2), latch B L
(2408) using the data stored in the calculation unit (21
08) performs addition processing (/ (X4, rl) + / (X
1+t, n) +1] That is, (/(X, ,,
n)−/(X,, n)) is executed, the operation result is output to the WC path, and the multiplication unit (210
It is written to the multiplicand register R (MLP 1) in DRP (80
8) is stored in the multiplication number register R (MLP2).
そうすると、乗算部(2106)内で
(J(Xt++、n) /(Xi、n):)X(Nm
+n)αの乗算が実行される0乗算結果は命令ステップ
4の終了までに正しい値になるものとする0次に信号R
DWDI ニ、L: ッテ矩形#ンフル値/(X4,1
1) ヲWAバスに、信号RDMLPによって乗算結果
をWBババス供給し、信号φ2の立下りエッヂでラッチ
AL、BLにそれぞれのデータを格納する(命令ステッ
プ5に対応)。なお、乗算結果は乗算器の上位16ビツ
トを利用している。こ九は、1/2.+6処理と等価な
ものである。Then, in the multiplier (2106), (J(Xt++, n) /(Xi, n):)X(Nm
+n) Multiplication of α is performed. The 0 multiplication result shall be the correct value by the end of instruction step 4. The 0th order signal R
DWDI D, L: Rectangle #Full value/(X4,1
1) The multiplication result is supplied to the WA bus by the signal RDMLP, and the respective data are stored in the latches AL and BL at the falling edge of the signal φ2 (corresponding to instruction step 5). Note that the multiplication result uses the upper 16 bits of the multiplier. This nine is 1/2. This is equivalent to +6 processing.
乗算部(2108)で加算処理を実行することにょシ、
(2)式で表わした仮想波形サンプル値f(X+、m、
n)が求められる。The multiplication unit (2108) executes the addition process,
Virtual waveform sample value f(X+, m,
n) is required.
■エンベローブ付加波形サンプル値f(Xi、rtl、
n21.r)を求める。■Envelope added waveform sample value f(Xi, rtl,
n21. Find r).
仮想波形サンプル値/(X、、、、、n)を、信号WR
MLP、信号W几5FT(命令ステップ6に対応)によ
って、乗算部(2106)内の被乗数レジスタR(ML
P 1 )とシフタ部(2107)内のレジスタR(S
FT)に信号≠2の立上シエツヂで格納する。また、H
Dメモリ部(2105)から乗算部(2106)に供給
しているエンベロープデータEDL−に信号5ELWE
(命令ステップ6に対応)ニヨって乗算部(2106
)内の乗数レジスタR(MLP 2 )に格納し、乗算
処理D(Xi、m、n)Xr)を実行する。The virtual waveform sample value/(X, , , , n) is the signal WR
MLP, the signal W5FT (corresponding to instruction step 6) causes the multiplicand register R (ML
P 1 ) and register R (S
FT) at the rising edge of the signal≠2. Also, H
A signal 5ELWE is applied to the envelope data EDL- supplied from the D memory section (2105) to the multiplication section (2106).
(corresponding to instruction step 6) Niyotte multiplication unit (2106
) and executes multiplication processing D(Xi, m, n)Xr).
一方、シフタ部(2107)内のレジスタR(SFT、
)に格納した仮想波形サンプル値/(X、、rn、n)
をEDメモリ部(2105)からシフタ部(2107)
に供給されているエンベロープデータEDU(Q)に基
づいて、シフト操作D(XI、t、1.n)/2q)を
行ない、信号WR8FB(命令ステップ7に対応)によ
って、シフタ部(2107)内の出力レジスタR(SF
B)に格納する。On the other hand, register R (SFT,
)/(X,,rn,n)
from the ED memory section (2105) to the shifter section (2107)
Shift operation D(XI, t, 1.n)/2q) is performed based on envelope data EDU(Q) supplied to output register R(SF
B).
そして、乗算部(2106)で行なった乗算結果を、信
号TBC,信号W几8FT(命令ステップ8に対応)に
よってシック部(2107)内のレジスタR(8FT)
に格納し、エンベロープデータEDU(Q)に基づいた
シフト操作材なう。Then, the multiplication result performed in the multiplication unit (2106) is transferred to the register R (8FT) in the thick unit (2107) using the signal TBC and the signal W8FT (corresponding to instruction step 8).
The shift operation material is stored based on the envelope data EDU(Q).
信号[)SFA 、 RDSFB (命令7. テア
)9 ニ対応)によって、シック部(2107)内の出
力レジスタ1?、(SFB)に格納しであるデータ(t
(x、 、m、n)/2q)を演算m (2108)
内(7) ラフ f B L ニ、シフタ部(210′
r)信号INVによって論理反転し、演算部(2108
)内のラッチALにそれぞれ格納する。Signal [) SFA, RDSFB (Instruction 7. Tare
)9 d correspondence), the output register 1? in the thick section (2107) is output. , (SFB) and the data (t
(x, , m, n)/2q) is calculated m (2108)
Inside (7) Rough f B L D, shifter section (210'
r) The logic is inverted by the signal INV, and the arithmetic unit (2108
) are respectively stored in latches AL.
ソシて、演算部(2108)で加算処理を実行すること
により、エンベロープ付加波形サンプル値、・′/ (
Xi 、m、n、q、r)が求メラレル。Then, by performing addition processing in the arithmetic unit (2108), the envelope added waveform sample value, ・′/ (
Xi, m, n, q, r) are melaryl.
■差分波形サンプル値D 7 (x、、r、l、n、1
. ”を求める。■Difference waveform sample value D 7 (x,, r, l, n, 1
.. ”
を信号W几OWDによって旧波形メモリ部(2104)
内のレジスタR(OWD )に格納するとともに、信号
TCAによって、FA(2404) (7) 出力デー
タをWAババス供給し、信号INVによって論理反転を
行ない、演算部(2108)内のラッチALに格納する
。また、信号RDOWDによって、旧エンベロープ付加
波形サンプル値を旧波形メモリ部(2104)から読み
出し、演算部(2108)内のラッチBLに格納する。The old waveform memory section (2104) is output by the signal W OWD.
At the same time, the output data is stored in the register R (OWD) in the arithmetic unit (2108), and the output data is supplied to the WA bus by the signal TCA (FA (2404)). do. Further, in response to the signal RDOWD, the old envelope added waveform sample value is read from the old waveform memory unit (2104) and stored in the latch BL in the calculation unit (2108).
そして、演算部(2108)で加算処理を実行すること
によシ、差分波形サンプル値D f、(XI、m、ny
Qrr )が求められ、信号WOBHによッテ0RR(
2109)内のレジスタR(OBR)に差分波形サンプ
ル値を格納する。Then, by executing the addition process in the calculation unit (2108), the difference waveform sample value D f, (XI, m, ny
Qrr) is determined, and 0RR(
The difference waveform sample value is stored in register R (OBR) in 2109).
■エンベロープデータEDの更新。■Update of envelope data ED.
信号RDEDL、RD、ED(命令ステップ3に対応)
によって、EDメモリ部(2105)からエンベロープ
データEDが、△ED%生部(21o8)カラ増分デー
タ△EDがWAババスW’Bバスにそれぞれ読み出され
、信号φ2の立下りエッヂで演算部(2108)内のラ
ッチALとBLにそれぞれ格納される。Signals RDEDL, RD, ED (corresponding to instruction step 3)
As a result, the envelope data ED and the ΔED% raw part (21o8) empty incremental data ΔED are read out to the WA bus W'B bus from the ED memory section (2105), and the arithmetic operation section ( 2108) in latches AL and BL, respectively.
そして、加算処理(ED、L+ΔED)を演算部(21
08)で実行し、新エンベロープデータE′Dを求め、
信号WRJEDL(命令ステップ4に対応)によって、
EDメモリ部(2105)内(7)L/レジスタ(ED
L) ニ新エンベロープデータE’Dを格納するととも
に、演算部(2108)内の加算器FA(2404)
(7) キャリー出方ヲ演算部(2108)内(7)
7 ラf L/ シフタECF(2405) ニ格納す
る。Then, the addition process (ED, L+ΔED) is performed by the calculation unit (21
08) to obtain new envelope data E'D,
By signal WRJEDL (corresponding to instruction step 4),
(7) L/Register (ED) in ED memory section (2105)
L) Stores the new envelope data E'D and adds the adder FA (2404) in the arithmetic unit (2108).
(7) In the carry calculation section (2108) (7)
7 L f L/ Shifter ECF (2405) Store.
kfRDEDU(命令ステップ6に対応)ニよって、エ
ンベロープデータED’[Jが読み出され、演算部(2
108) テ、レジスタECF’ (2405) (7
)内容とエンベロープデータEDUとの加算処理を実行
して、新二ン、へo −フデータBDTJを求める。求
めたエンベロープEDUを信号WREDUによって、E
Dメモリ部(2105)内のレジスタR(EDU)に格
納する。The envelope data ED'[J is read out by kfRDEDU (corresponding to instruction step 6) and is sent to the arithmetic unit (2).
108) te, register ECF' (2405) (7
) The contents and the envelope data EDU are added to obtain the new second and second half data BDTJ. The obtained envelope EDU is sent to E by the signal WREDU.
It is stored in register R (EDU) in D memory section (2105).
そして、DI(P (808)と同様ニ、信号VIRA
MにヨッテレシフタR(EDL)、R(EDU) 、R
(OWD) ニ格納している各種データをチャネルコー
ドCHCで指定されたそれぞれのメモリ領域にデータ転
送を行なう。Then, similar to DI(P (808)), the signal VIRA
Yacht teleshifter R (EDL), R (EDU), R to M
(OWD) D. Transfers the stored various data to each memory area specified by the channel code CHC.
アナロクハッファメモリ部(812)、DAC(811
)にデータを供給するタイミングについて説明スル。Analog huffer memory section (812), DAC (811)
) Explains the timing of supplying data to .
信号CRI)AS (命令ステップ9に対応)によって
、書き込みパルス発生部(2110)で発生している書
き込みパルスをリセットする。そして、信号WROBR
(命令ステップ11に対応)によってOBB。The write pulse generated by the write pulse generator (2110) is reset by the signal CRI)AS (corresponding to instruction step 9). And the signal WROBR
OBB by (corresponding to instruction step 11).
(2109) 内(7) L/ シフタR,(OBR)
に差分波形サンプル値D /(X、、m、n、4.r)
を格納し、DAC(811) i2m供給してディジタ
ル信号をアナログ信号に変換しアナログバッファメモリ
部(812)に供給するととも番こ、書き込みパルス発
生部(2110)でチャネルコードCHCで指定された
チャネルに対応する書き込みノくバスをセット口、アナ
ログノくソファメモ13部(812)内のアナログスイ
ッチAWL〜AW8iこ供給する。この時、信号CLR
Fが0゛(計算要求を行なっていない場合)の場合は、
書き込みノくバスをセットしないようにする。(2109) Inside (7) L/ Shifter R, (OBR)
Difference waveform sample value D / (X,, m, n, 4.r)
The DAC (811) i2m converts the digital signal into an analog signal and supplies it to the analog buffer memory section (812). The writing bus corresponding to the set port and the analog switches AWL to AW8i in the analog sofa memo 13 (812) are supplied. At this time, the signal CLR
If F is 0゛ (when no calculation request is made),
Avoid setting the write bus.
第18表にWD P (807)の演算シーケンスを示
す。Table 18 shows the calculation sequence of WD P (807).
第18表に示す命令ステップを順次実行すること番こよ
り、上述で説明した処理が実現する。By sequentially executing the instruction steps shown in Table 18, the processing described above is realized.
第13表に示した制御信号について説明する。The control signals shown in Table 13 will be explained.
上述する信号はシーケンサ(802)から供給される。The signals mentioned above are provided by the sequencer (802).
RDWDIは、DRP (808)から供給されている
波形データWDlf:WAバスに供給す
る命令。RDWDI is the waveform data WDlf supplied from the DRP (808): a command to be supplied to the WA bus.
RDWDIは、DRP (80B)から供給されている
波形データWDIをWBババス供給す
る命令。RDWDI is an instruction to supply the waveform data WDI supplied from the DRP (80B) to the WB bus.
RDΔEDは、△ED発生部(2108)内で選択され
たサスティンデータD、SO8あるいは
ダンパデータDUMPを増分データ
△EDとしてWAババス供給する命
令・
RDSFAは、シフタ部(2107)内のシフタの出力
データをWAババス供給する命令。RDΔED is a command to supply the sustain data D, SO8 or damper data DUMP selected in the ΔED generation unit (2108) to the WA bus as incremental data ΔED.・RDSFA is the output data of the shifter in the shifter unit (2107). An instruction to supply WA Babas.
RDEDLは、EDメモリ部(2105)内のメモリM
(EDL)から読み出されているエ
ンベロープデータEDLをWBババ
ス供給する命令。RDEDL is the memory M in the ED memory section (2105)
A command to supply the envelope data EDL read from (EDL) to the WB bus.
RDMLPは、乗算部(2106)内の乗算器の出力デ
ータ(上位16ビツト)をWBババ
ス供給する命令。RDMLP is an instruction to supply the output data (upper 16 bits) of the multiplier in the multiplication unit (2106) to the WB bus.
RDEDUは、EDメモリ部(2105)内のメモリM
(EDU)から読み出されてるエン
ベロープデータBDUをWBババス
供給する命令。RDEDU is the memory M in the ED memory unit (2105)
A command to supply the envelope data BDU read from (EDU) to the WB bus.
RD8FBは、シフタ部(2107)内のレジスタR(
SFB)に格納しているデータ
(f (X(、m、In)/2q )をWBババス供給
する命令。RD8FB is the register R (in the shifter section (2107)).
An instruction to supply data (f (X(, m, In)/2q) stored in SFB) to the WB bus.
fLD OWDは、川波形メモリ部(2104)内のメ
モリM(OWD)から読み出されているエ
ンベロープ付加波形サンプル値を
W Bバスに供給する命令。fLD OWD is a command to supply the envelope added waveform sample value read from memory M (OWD) in the river waveform memory unit (2104) to the W B bus.
WFLMLPは、WCバス上のデータを乗算部(210
6)内の被乗数レジスタR(MLP 1 )に格納する
命令。WFLMLP converts the data on the WC bus into a multiplication unit (210
6) Instruction to store in multiplicand register R (MLP 1 ).
WREDLは、WCバス上のデータをEDメモリ部(2
105)内のレジスタR,(EDL)に格納する命令。WREDL stores data on the WC bus in the ED memory section (2
105) instruction to store in register R, (EDL).
WR8FTは、WCバス上のデータをシフタ部(210
7)内のレジスタR(8FT)に格納する命令。WR8FT transfers data on the WC bus to a shifter section (210
7) Instruction to store in register R (8FT).
WREDUは、wcババス上データをEDメモリ部(2
105)内のレジスタR(EDU)に格納する命令。WREDU transfers the data on the wc bus to the ED memory section (2
105) to be stored in register R (EDU).
WROWDは、WCバス上のデータを旧波形データメモ
リ部(2104)内のレジスタR(OWD)に格納する
命令。WROWD is an instruction to store data on the WC bus in register R (OWD) in the old waveform data memory section (2104).
WB、OB Rは、WCバス上のデータをOBR(21
09)内のレジスタR(OWR)に格納する
命令。WB and OBR transfer data on the WC bus to OBR (21
Instruction to store in register R (OWR) in 09).
INVは、WAババス上データの論理を反転し、反転し
たデータを演算部(2108)内のラッチA L (2
402)に供給する命令。INV inverts the logic of the data on the WA bus and stores the inverted data in the latch A L (2
402).
WADDIは、演算部(2108)内のF’ A (2
404)にキャリ入力信号(+1)を供給する命
令拳
WCRALは、演算部(2108)内のラッチAL (
2402)をクリヤする命令−
8ELWEは、乗算部(2106)内の乗数レジスタR
(MLP 2 )に格納するデータ選択命令0還択デー
タは、DRP (808)から供給されている係数デー
タ(MLP)とEDメモリ部(2105)から供給され
ているエンベロープデータEDL
″T:ある。WADDI is F' A (2
The instruction register WCRAL that supplies the carry input signal (+1) to the latch AL (
2402) - 8ELWE is the instruction to clear the multiplier register R in the multiplication section (2106).
The data selection command zero selection data stored in (MLP2) includes coefficient data (MLP) supplied from DRP (808) and envelope data EDL''T: supplied from ED memory section (2105).
WR8FBは、シフタ部(2107) ’内のシフタの
出力データをシック部(2107)内のレジスタR(S
FB)に格納する命令。WR8FB transfers the output data of the shifter in the shifter section (2107)' to the register R(S) in the thick section (2107).
Instruction to store in FB).
’I:、、BCは、WBババス上データをwcババスに
供給する命令。'I:, , BC is an instruction to supply data on the WB bus to the wc bus.
CRDASは、書き込みパルス発生部(2110)から
アナログバッファメモリ部(812)
に供給している書き込みパルスを
リセットする命令。CRDAS is a command to reset the write pulse supplied from the write pulse generator (2110) to the analog buffer memory unit (812).
TCAは、演算部(2108)内の)i” A (24
04)の出力データをWAババス供給する命
令。TCA is the calculation unit (2108)
An instruction to supply the output data of 04) to the WA bus.
なお、第12表に示した、仮想キー信号EADGがオン
状態時は、演算部(2108)内のゲート選択(241
8)によってデー) B (2412)が選択され、エ
ンベロープデータEDL、EDUはともにデータ(00
00)ssとなる。この結果、エンベロープ付加波形サ
ンプルそして、仮想キー信号EADGがオフ状態となる
と、エンベロープデータHDの更新処理(ED=BD+
△ED)が開始する。この結果、(5)式に示したエン
ベロープ付加波形サンプル値を求める演算処理が行なわ
れ、減衰特性の楽音波形が得られる。Note that when the virtual key signal EADG shown in Table 12 is in the on state, the gate selection (241
Data) B (2412) is selected by 8), and both envelope data EDL and EDU are data (00
00) ss. As a result, when the envelope added waveform sample and the virtual key signal EADG turn off, the envelope data HD is updated (ED=BD+
△ED) starts. As a result, arithmetic processing is performed to obtain the envelope-added waveform sample value shown in equation (5), and a musical sound waveform with a damping characteristic is obtained.
また、エンベロープデータEDの更新処理が進み、エン
ベロープデータEDUが(1111)tの状態となると
、エンベロープデータEDUの更新タイミ7′
ング演算部(2108)内のデー) B (2409)
が選択され八
エンベロープデータEDUは常時(1111)2の状態
となる。この状態は、楽音波形の発音停止に相当する。Further, when the update processing of the envelope data ED progresses and the envelope data EDU reaches the state (1111)t, the update timing of the envelope data EDU is updated (data in the update timing calculation unit (2108)) B (2409).
is selected, and the eight envelope data EDU is always in the state (1111)2. This state corresponds to the stop of sound generation of the musical sound waveform.
以上のように、波形内挿方法を(2)式に示したように
、補正項を付加した内挿係数(Nm十n)α/HNで実
現しているため、波形間のレベル差が大きくても不用な
ノイズ成分の発生を防ぐことができる。As mentioned above, since the waveform interpolation method is realized using the interpolation coefficient (Nm + n) α/HN with a correction term added as shown in equation (2), the level difference between the waveforms is large. It is possible to prevent the generation of unnecessary noise components.
さらに、波形形状の変化が少ない所では、データメモリ
部に格納する波形データを少なくシ、くり返し数を大き
くすることにより、データ圧縮が可能となる。Further, in areas where the waveform shape changes little, data compression becomes possible by reducing the amount of waveform data stored in the data memory section and increasing the number of repetitions.
さらに、アナログ信号に変換する変換部を、1ツ(DD
ACトアナログパツファメモリ部とで構成シているので
、 DACは1個だけでよく、チャネルごとに独立に動
作するから、2チヤネルの音を同時に鳴らしても、量子
化ひずみによる混変調ひずみの発生がなくなる。Furthermore, one converter (DD
Since it consists of an AC and an analog buffer memory section, only one DAC is required, and each channel operates independently, so even if two channels of sound are played simultaneously, there is no cross-modulation distortion due to quantization distortion. No more outbreaks.
さらに、波形の基本周波数に対してサンプリング周波数
を整数倍にしているので、発生する折シ返し成分や、量
子化によ)生じるサンプル波成分をすべて・基本周波数
の高調波に一致させることができ、したかつてにごりの
ない音をつくることができる。Furthermore, since the sampling frequency is an integer multiple of the fundamental frequency of the waveform, all aliasing components and sample wave components generated due to quantization can be matched to harmonics of the fundamental frequency. , it is possible to create the same clear sound as before.
次に、楽音発生部(607)内の各部の相互関係につい
て説明する。Next, the interrelationships between the various parts within the musical tone generating section (607) will be explained.
1ず、入力レジスタ部(808)について説明する。First, the input register section (808) will be explained.
入カッジスp部(goa)は、CPU (608)がら
供給されたI10ポートアドレスデータと楽音発生デー
タあるいはサスティンデータなどを一時格納するレジス
タI(、(ADD)、刊(DAT)と、CPU (60
B)から入力レジスタ部(808)に対して新データを
供給したことを指示する信号(CPU (608)から
供給されている信号l0RQ−WRを利用する)を記憶
するフラグレジスタ(レジスタWBC,Fで、指示する
場合は11′となる)と、レジスタR(ADD)に格納
されているアドレスを書き込みアドレス、シーケンサ(
802)から供給されるチャネルコードCHC2読み出
しアドレスとし、レジスタR(DAT )に格納された
楽音発生データを記憶するレジスタファイル(8チャネ
ル分の楽音発生データを記憶し、容量は8ビット×8語
である)と、レジスタR(ADD)のアドレスデータに
基づいてサスティンデータ、ダンパデータ、ビートデー
タや効果制御データを記憶する効果レジスタ部とで構成
している。The input controller (GOA) has registers I (, (ADD), DAT) that temporarily store I10 port address data, musical tone generation data, sustain data, etc. supplied from the CPU (608), and the CPU (608).
Flag registers (registers WBC, F 11') and the address stored in register R (ADD) as the write address and the sequencer (
A register file (stores musical tone generation data for 8 channels, has a capacity of 8 bits x 8 words) and stores the musical tone generation data stored in register R (DAT). (1) and an effect register section that stores sustain data, damper data, beat data, and effect control data based on the address data of register R (ADD).
レジスタR(DAT)に格納された新データをレジスタ
ファイルあるいは効果レジスタ部にデータ転送するタイ
ミングは、レジスタWRCFが”1”の状態で、シーケ
ンサ(802)から信号WRDATが供給されると、レ
ジスタR(ADD)に格納されたI10ポートアドレス
に基づいた所定のアドレスにレジスタR(DAT)の格
納データが転送される。その後、レジスタWRCFをリ
セットする。The timing for transferring new data stored in register R (DAT) to the register file or effect register section is when register WRCF is in the state of "1" and signal WRDAT is supplied from the sequencer (802). The data stored in register R (DAT) is transferred to a predetermined address based on the I10 port address stored in (ADD). After that, register WRCF is reset.
シーケンサ(802)から供給される信号WRDATは
、レジスタファイルあるいは効果レジスタ部へのデータ
取シ込み制御信号であシ、第9表、第11表、第13表
に示した命令ステップ1のタイミングのjこひに入力レ
ジスタ部(808)に供給される。The signal WRDAT supplied from the sequencer (802) is a data acquisition control signal to the register file or effect register section, and corresponds to the timing of instruction step 1 shown in Tables 9, 11, and 13. The signal is then supplied to the input register section (808).
命令ステップ1のタイミングでレジスタファイルあるい
は効果レジスタ部に新データを取シ込む理由は、El)
P(806) 、WDP (807)やDB、p (8
08)の内部で各種演算処理を実行中に楽音発生データ
や各種効果データが変化すると正しい演算処理が行なわ
れない、そのため、演算処理を開始する命令ステップ1
で取シ込んでイル。The reason for inputting new data into the register file or effect register section at the timing of instruction step 1 is El)
P (806), WDP (807), DB, p (8
08) If the musical tone generation data or various effect data changes while various arithmetic processing is being executed within the .08), the correct arithmetic processing will not be performed.
I'll take it in.
相互関係の説明
チャネル1に対応する説明を行なう。なお、計算要求フ
ラグ信号CCRFが発生しているものとする。Explanation of mutual relationships An explanation corresponding to channel 1 will be given. It is assumed that the calculation request flag signal CCRF is generated.
■シーケンサ(802)で発生しているチャネルコード
CHCがチャネル1のタイミングになると、入力レジス
タ部(808)内のレジスタファイルからチャネル1に
対応する楽音発生データがFDP (806)、WDP
(807)、DRP (808)に供給される。■When the channel code CHC generated by the sequencer (802) reaches the timing of channel 1, the musical tone generation data corresponding to channel 1 is transferred from the register file in the input register section (808) to FDP (806) and WDP.
(807) and is supplied to the DRP (808).
■そうすると、D RP (808)の詳細な説明の所
で述べたように、D RP (808)で楽音発生デー
タに基づいて、DBI((606)から先頭番地、制御
データ、波形データf(Xl、n)と/(X、+、、n
)を読み取シ、制御データに基づいて求めた係数データ
(Nm+n)αとDBK(606)から読み取った波形
データf(’X、、n)と/ (X、+、 、 n)と
を命令ステップ11のタイミングでDB、P (808
)内のメモリM(MD)、メモリM(WD))、メモリ
M(WJ)に格納する。■Then, as mentioned in the detailed explanation of D RP (808), D RP (808) transfers the starting address, control data, and waveform data f(Xl) from DBI ((606) to , n) and /(X, +,, n
) is read, and the coefficient data (Nm+n) α obtained based on the control data and the waveform data f('X, , n) and / (X, +, , n) read from the DBK (606) are sent to the command step. DB, P at the timing of 11 (808
), memory M (MD), memory M (WD)), and memory M (WJ).
■一方、WDP (807) fは、命令ステップ1〜
1゜のタイミングの間、チャネルコードCHCに基づい
てDi(、P(808)内のメモリM(MD)、メモリ
M、(WDI)、メモリM(WDI)から読み出されて
いる係数データと波形データf(X、、n−1)と/
(”++t、 n−+ )を用いて、wDP (807
) (7) 詳fM fx説明の所で述べたように、波
形演算処理が行なわれる。そして、命令ステップ11の
タイミングで、演算結果(差分波形サンプル値DR(O
BR) ニ格納すレ、DAC(811)ニ供給すレる。■On the other hand, WDP (807) f is the instruction step 1~
During the 1° timing, coefficient data and waveforms are read from memory M (MD), memory M, (WDI), and memory M (WDI) in Di(, P (808)) based on channel code CHC. Data f(X,, n-1) and /
wDP (807
) (7) Detailed fM As described in the fx description, waveform calculation processing is performed. Then, at the timing of instruction step 11, the calculation result (difference waveform sample value DR(O
BR) 2 storage area, DAC (811) 2 supply area.
上述の■〜■の処理が、シーケンサ(802)から発生
しているチャネルコードCHCのチャネル1に対応する
命令ステップ1〜11の同一タイミング内で実行される
。The above-described processes (1) to (2) are executed within the same timing of instruction steps 1 to 11 corresponding to channel 1 of channel code CHC generated from the sequencer (802).
(−して、再ひチャネル1に対応するチャネルコ−)”
CHCがシーケンサ(802)から発生されると下
。(-, then re-enter the channel code corresponding to channel 1)
When CHC is generated from the sequencer (802), the
.
述の処理が行なわれる。The processing described above is performed.
■上述の■の説明と同様に、チャネル1に対応する楽音
発生データが、FDP(806) 、WD P(807
)、DRP(808) ニ供給さレル。■Similar to the explanation of ■ above, the musical tone generation data corresponding to channel 1 is transmitted to FDP (806), WD P (807)
), DRP (808) 2-supplied rel.
■上述の■の説明と同様に、DRP(808)で、DB
K (606)内に格納している先頭番地、制御デー
タ、波形データf (Xi 、 n+s ) 、/ (
X++ 、 m+ n)が読み込まれ、メモリM(MD
)、メモリM(WDI)、メモIJ M(WDII )
ニ格納される。■Similar to the explanation of ■ above, in DRP (808), DB
The starting address, control data, and waveform data f (Xi, n+s), / (
X++, m+ n) is read and memory M (MD
), Memory M (WDI), Memo IJ M (WDII)
2 is stored.
ただし、上述■で説明した内容と異なる点は、DBK(
606)から読み取る制御データと波形データは、上述
■のタイミング、すなわち前回のチャネル1の計算タイ
ミングで更新された波形ナンバi、波形サンプルナンバ
nに基づいたデータとなる。However, the difference from the content explained in section ■ above is that DBK (
The control data and waveform data read from 606) are data based on the waveform number i and waveform sample number n updated at the timing (2) above, that is, the previous channel 1 calculation timing.
■上述■と同様に、DRP(808)内のメモリM(M
、D ) 1.lモIJ M(WDI)、メモIJ M
(WDI)がら読み出されているデータに基づいて、波
形演算処理が行なわれる。■Similar to the above ■, memory M (M
,D) 1. lMo IJ M (WDI), Memo IJ M
Waveform calculation processing is performed based on the data read out from (WDI).
なお、今回の計算タイミングで波形演算処理に用いるデ
ータは、前回のチャネル1の計算タイミングでDRP
(808)内に読み込み処理を行なった係数データ、波
形データ/ (X、 、 n)。Note that the data used for waveform calculation processing at the current calculation timing is the data used for the DRP calculation at the previous channel 1 calculation timing.
Coefficient data and waveform data/(X, , n) that were read in (808).
f(X1+2.n)である。f(X1+2.n).
以後、計算要求フラグ信号CLRFに基づいて、チャネ
ル1に対応する計算タイミングで、上述の処理がくシ返
される。Thereafter, the above process is repeated at the calculation timing corresponding to channel 1 based on the calculation request flag signal CLRF.
上述の説明のように、DRP(808)で読み取ったデ
ーターは、次回に発生する計算タイミング(ただし1計
算要求フラグ信号CLRFが発生している時)で、WD
P(807)で行なう波形演算処理に利用される。As explained above, the data read by the DRP (808) is sent to the WD at the next calculation timing (when the 1 calculation request flag signal CLRF is generated).
It is used for waveform calculation processing performed in P (807).
このように、読み出し、波形演算処理を、同一計算タイ
ミング内ですべて実行せず、時間的に処理夕、イミング
を分け、パイプライン的処理を行なうことによシ、各部
の構成要素の動作スピードを低速化できる。In this way, the operation speed of the components of each part can be increased by dividing the processing time and timing and performing pipeline processing, rather than executing all the readout and waveform calculation processing within the same calculation timing. Can be slowed down.
′上A−iでの説明では、データメ硲り(DBK)に格
納している波形データは、PCMデータの形で波形−周
期を枚数分格納していたが、波形対称化、DPCM化、
ADPCM化を行なった結果を波形データとしてDDK
に格納し、DRP(808)の内部で復元処理を行なう
ことによシ、波形データのデータ圧縮が可能となる。'In the explanation in A-i above, the waveform data stored in the data memory (DBK) was in the form of PCM data and stored the number of waveform cycles, but waveform symmetry, DPCM conversion,
The result of converting to ADPCM is sent to DDK as waveform data.
By storing the waveform data in the DRP (808) and performing restoration processing within the DRP (808), data compression of the waveform data becomes possible.
発明の詳細
な説明したように、本発明の楽音発生装置は、楽音の発
音開始から発音終了時までの複数個の楽音波形のうち少
なくとも2つ以上の楽音波形をディジタル値の形で記憶
する波形メモリと、発音音階を決定するノートクロック
発生部と、上記ノート−クロック発生部の出力信号に基
づいて上記波形メモリから2つの波形サンプルデータを
読み出す波形読み出し部と、上記波形読み出し部で読み
出した2つの波形サンプルデータを用いf楽音波形を形
成する波形計算部と、上記波形計算部のディジタル出力
信号をアナログ信号に変換する変換部とを具備し2、か
つ(2)式に示した内挿式を用い1、DRP(808)
で読み出した波形サンプルデータ/(X、、n)とf(
Xi+1.n)とで、仮想サンプル値/ (X、 、m
、 n)をを求めるようにしたので、楽音波形の形状を
時間に変化させることができて、自然楽器音を模擬する
ことができるとともに波形のつなぎ目で発生する不連続
を防ぐことができる。As described in detail, the musical tone generating device of the present invention has a waveform that stores at least two or more musical sound waveforms from among a plurality of musical sound waveforms from the start of musical tone generation to the end of musical tone generation in the form of digital values. a memory, a note clock generation section that determines a tone scale, a waveform readout section that reads out two waveform sample data from the waveform memory based on the output signal of the note-clock generation section, and two waveform sample data read out by the waveform readout section. a waveform calculation unit that forms an f-tone waveform using two waveform sample data, and a conversion unit that converts the digital output signal of the waveform calculation unit into an analog signal; Using 1, DRP (808)
Waveform sample data read out/(X,, n) and f(
Xi+1. n), the virtual sample value/(X, , m
, n), the shape of the musical waveform can be changed over time, making it possible to simulate natural musical instrument sounds and preventing discontinuities that occur at waveform joints.
さらに、内挿係数(Nm+n)/MNを(Nm十n )
tt/h/IRaと置き換え、MNα項を2のべき乗と
することにょシ、(2〕式の演算内容が簡略化でき、波
形内挿による波形発生が容易に実現できる利点を有する
。Furthermore, the interpolation coefficient (Nm+n)/MN is (Nm+n)
Replacing tt/h/IRa and making the MNα term a power of 2 has the advantage that the calculation contents of equation (2) can be simplified and waveform generation by waveform interpolation can be easily realized.
第1図〜第5図は本発明の動作説明図、第6図は本発明
の楽音発生装置を採用した電子楽器のブロック図、第7
図はCPU (608)から楽音発生部(607)にデ
ータを供給する場合のタイムチャート図、第8図は楽音
発生部(607)の構成図、第9図はシーケンサ(80
2)の−具体例のブロック図、第10図はシーケンサ(
802)の動作タイムチャート図、第11図はアナログ
バッファメモリ部(812)の−具体例の構成図、第1
2図は楽音発生部(607)の内部動作タイムチャート
図、第18図はFDP (soe)から比較レジスタ部
(805)に供給する周波数データの推移図、第14図
はFDP (806)の−具体例の構成図、第15図は
FDP (806)のデータ処理手順を示す処理流れ図
、第16図は比較レジスタ部(805)の−具体例を示
す構成図、第17図は計算要求フラグ発生部(810)
の−具体例を示す構成図、第18図はDBK(606)
(7)データ構成図、第19図はDB、P(808)
(7) −具体例を示す構成図、第20図はWDP
(807)の演算処理の流れ図、第21図はWDP(8
07)の−具体例を示す構成図、第22図はビブラート
発生部(1408)の−具体例を示す構成図、第28図
は演算部(1918)の−具体例を示す構成図、第24
図は演算部(2108)の−具体例を示す構成図である
。
(601)・・・鍵盤部、(602)・・・操作部、(
608)・・・中央処理装置、(604)・・・RAM
、 (605)・・・ROM、(606)・・・楽音合
成データR,OM、(607)・・・楽音発生部、(8
01)・・・主発振器、(802)・・・シーケンサ、
(81)8)・・・入力レジスタ部、(804)・・・
タイマー、(805)・・・比較レジスタ部、(806
)・・・周波数データプロセッサ、(807)・・・波
形データプロセッサ、(808)・・・データリードプ
ロセッサ、(809)・・・読み出しパルス形成部、(
810)・・・計算要求フラグ発生部、(811)・・
・D A C、、(812)・・・アナログバッファメ
モリ部、(818)・・・積分器
代理人 森本義弘
第1図1 to 5 are explanatory diagrams of the operation of the present invention, FIG. 6 is a block diagram of an electronic musical instrument employing the musical tone generating device of the present invention, and FIG.
The figure shows a time chart when data is supplied from the CPU (608) to the musical tone generating section (607), FIG. 8 is a configuration diagram of the musical tone generating section (607), and FIG. 9 shows the sequencer (80
2) - A block diagram of a specific example, Figure 10 is a sequencer (
802), and FIG. 11 is a configuration diagram of a concrete example of the analog buffer memory section (812).
Figure 2 is an internal operation time chart of the musical tone generator (607), Figure 18 is a transition diagram of frequency data supplied from the FDP (soe) to the comparison register unit (805), and Figure 14 is a diagram of the - of the FDP (806). A configuration diagram of a specific example, FIG. 15 is a processing flowchart showing the data processing procedure of the FDP (806), FIG. 16 is a configuration diagram of a specific example of the comparison register section (805), and FIG. 17 is a calculation request flag generation Department (810)
- A configuration diagram showing a specific example, Fig. 18 is a DBK (606)
(7) Data configuration diagram, Figure 19 is DB, P (808)
(7) - A configuration diagram showing a specific example, Figure 20 is a WDP
(807) flowchart, Figure 21 is a flowchart of the arithmetic processing of WDP (807).
22 is a block diagram showing a specific example of the vibrato generating section (1408), FIG. 28 is a block diagram showing a specific example of the calculation section (1918), and FIG.
The figure is a configuration diagram showing a specific example of the calculation unit (2108). (601)...Keyboard section, (602)...Operation section, (
608)...Central processing unit, (604)...RAM
, (605)...ROM, (606)...musical tone synthesis data R, OM, (607)...musical tone generator, (8
01)...Main oscillator, (802)...Sequencer,
(81) 8)...Input register section, (804)...
Timer, (805)... Comparison register section, (806
) Frequency data processor, (807) Waveform data processor, (808) Data read processor, (809) Read pulse forming unit, (
810)...Calculation request flag generation unit, (811)...
・DAC,, (812)...Analog buffer memory section, (818)...Integrator agent Yoshihiro Morimoto Figure 1
Claims (1)
波形のうち少なくとも2つ以上の楽音波形をディジタル
値の形+記憶する波形メモリと、発音音階を決定するノ
ートクロックi生部と、上記ノートクロック発生部の出
力信号に基づいて上記波形メモリから2つの波形サンプ
ルデータを読み出す波形読み出し部と、上記波形読み出
し部で読み出した2つの波形サンプルデータを用いて楽
音波形を形成する波形計算部と、上記波形計算部のディ
ジタル出力信号をアナログ信号に変換する変換部とを具
備し、前記波形計算部で実行する計算内容は、前記波形
読み出し部で読み出した2つの波形サンプルデータ/(
Xi、n)、/(Xi+s、 n )を用いて次式に示
す波形内挿演算を行ない、仮想波形サンプル値/(X、
、ff、、n)を求めるよう−にした楽音発生装置。 fCX、 、m、n)−(/(X、、 、n) −fc
X、 、n))(Nm+n) x MN+f(X 、 ) i=0.1.2.・・・・・・f−1波形ナンバm=0
.1.2.・・・・・・M−1<シ返しナンバn=0.
1,2.・・・・・・N−1波形サンプル数2、 仮想
サンプル値を求める演算の内挿係数(Nm+n )A4
Nを(Nm+n )a/MNaと置き換え、MNσ項を
2のべき乗とし、増分データα會くり返し故指定データ
を波形18期のサンプル数によって制御するようにした
特許請求の範囲第1項記載の楽音発生装置。[Claims] 1. A waveform memory that stores at least two or more musical sound waveforms out of a plurality of musical sound waveforms from the start of sound generation to the end of sound generation in the form of digital values, and a note that determines the sounding scale. A clock i generation section, a waveform reading section that reads out two waveform sample data from the waveform memory based on the output signal of the note clock generation section, and a musical waveform using the two waveform sample data read out by the waveform reading section. and a conversion section that converts the digital output signal of the waveform calculation section into an analog signal, and the calculation content executed by the waveform calculation section is based on the two waveforms read out by the waveform reading section. Sample data/(
Xi, n), /(Xi+s, n), perform the waveform interpolation calculation shown in the following formula, and obtain the virtual waveform sample value / (X,
, ff, , n). fCX, , m, n) - (/(X, , , n) - fc
X, , n)) (Nm+n) x MN+f(X, ) i=0.1.2. ... f-1 waveform number m = 0
.. 1.2. ...M-1<return number n=0.
1, 2. ...N-1 number of waveform samples 2, interpolation coefficient (Nm+n) A4 for calculation to obtain virtual sample value
A musical tone according to claim 1, in which N is replaced with (Nm+n)a/MNa, the MNσ term is set to a power of 2, and the specified data is controlled by the number of samples of the 18th period of the waveform because the incremental data α is repeated. Generator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58011859A JPS59136790A (en) | 1983-01-26 | 1983-01-26 | Musical sound generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58011859A JPS59136790A (en) | 1983-01-26 | 1983-01-26 | Musical sound generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59136790A true JPS59136790A (en) | 1984-08-06 |
JPH0153800B2 JPH0153800B2 (en) | 1989-11-15 |
Family
ID=11789447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58011859A Granted JPS59136790A (en) | 1983-01-26 | 1983-01-26 | Musical sound generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59136790A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52107823A (en) * | 1976-03-05 | 1977-09-09 | Nippon Gakki Seizo Kk | Electronic musical instrument |
JPS5778599A (en) * | 1980-11-04 | 1982-05-17 | Matsushita Electric Ind Co Ltd | Electronic musical instrument |
-
1983
- 1983-01-26 JP JP58011859A patent/JPS59136790A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52107823A (en) * | 1976-03-05 | 1977-09-09 | Nippon Gakki Seizo Kk | Electronic musical instrument |
JPS5778599A (en) * | 1980-11-04 | 1982-05-17 | Matsushita Electric Ind Co Ltd | Electronic musical instrument |
Also Published As
Publication number | Publication date |
---|---|
JPH0153800B2 (en) | 1989-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4085644A (en) | Polyphonic tone synthesizer | |
JPS59136790A (en) | Musical sound generator | |
JP3634130B2 (en) | Musical sound generating apparatus and musical sound generating method | |
US4178825A (en) | Musical tone synthesizer for generating a marimba effect | |
JPS6343760B2 (en) | ||
JPS58142396A (en) | Musical sound generator | |
EP0201998B1 (en) | Electronic musical instrument | |
JPS59123887A (en) | Music note generator | |
JPS59136796A (en) | Musical sound generator | |
JPS59136791A (en) | Musical sound generator | |
JPS59136792A (en) | Musical sound generator | |
JPS59136794A (en) | Musical sound generator | |
JPS59136793A (en) | Musical sound generator | |
JPS6042952B2 (en) | Wave generator for electronic musical instruments | |
JPS59136797A (en) | Musical sound generator | |
JPS6032094A (en) | Electronic musical instrument | |
JPS59220798A (en) | Electronic musical instrument | |
JPS59220797A (en) | Electronic musical instrument | |
JPS59214091A (en) | Note clock generator | |
JPS6033597A (en) | Electronic musical instrument | |
JPH0127435B2 (en) | ||
JPS6033596A (en) | Electronic musical instrument | |
JPS6033595A (en) | Vibrato adding apparatus | |
JPS6335994B2 (en) | ||
JPS61290495A (en) | Automatic performer |