JPS58200297A - Envelope signal generator - Google Patents
Envelope signal generatorInfo
- Publication number
- JPS58200297A JPS58200297A JP57084235A JP8423582A JPS58200297A JP S58200297 A JPS58200297 A JP S58200297A JP 57084235 A JP57084235 A JP 57084235A JP 8423582 A JP8423582 A JP 8423582A JP S58200297 A JPS58200297 A JP S58200297A
- Authority
- JP
- Japan
- Prior art keywords
- envelope
- data
- address
- sample
- 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 The present invention relates to an envelope signal generating device that generates various envelope signals of musical tone signals used in electronic musical instruments as digital data, and in particular, it is capable of generating signals of a wide range of shapes with a small amount of data. This is how it was done.
第1図は、本発明の周波数制御装置を採用した電子楽器
のブロック図である。1は鍵盤部、2は音色タブレット
スイッチやビブラート効果のオンオフスイッチ、ビブラ
ート効果の深さを設定するボリー−ムなどにより構成さ
れる操作部、31d中央処理装置(CPU)で、コンビ
ーータなどに用いられているものと同様のもの、4は読
み書き可能な記憶装置(ランダムアクセスメモリ、通常
RAMと呼ぶ)、6はCPU3の動作を決定するプログ
ラムが格納された読み出し専用記憶装置(リードオンリ
ーメモリ、通常ROMと呼ぶ)、7は音色の合成するだ
めのパラメータのうちエンベロープパラメータを記憶し
ているROM、6は音色の合成を行なうためのパラメー
タのうち周波数に本発明の周波数制御装置、9は特願昭
66−165189号のような正弦波発生器、1oは包
絡線信号発生器、11は、正弦波と包絡線信号を表わす
エンベロープデータを掛は合わせる掛算器、12は時分
割多重化されている掛算結果のうち、所定のものと加え
合わせたり、時分割多重の順序と入れかえるタイムスロ
ット制御装置、13は時分割多重化された位相変調器、
14はディジタルアナログ変換器、15.16は空気音
響変換器である。FIG. 1 is a block diagram of an electronic musical instrument employing the frequency control device of the present invention. 1 is a keyboard section, 2 is an operation section consisting of a tone tablet switch, a vibrato effect on/off switch, a volume control for setting the depth of the vibrato effect, etc., and a 31d central processing unit (CPU), which is used in conbeaters, etc. 4 is a read/write storage device (random access memory, usually called RAM), and 6 is a read-only storage device (read-only memory, usually called ROM) in which the program that determines the operation of the CPU 3 is stored. 7 is a ROM that stores envelope parameters among the parameters for timbre synthesis; 6 is a frequency control device of the present invention for frequencies among the parameters for timbre synthesis; 66-165189, 1o is an envelope signal generator, 11 is a multiplier that multiplies envelope data representing the sine wave and the envelope signal, and 12 is a time-division multiplexed multiplier. A time slot control device that adds the results to a predetermined value or replaces them with the order of time division multiplexing; 13 is a time division multiplexed phase modulator;
14 is a digital-to-analog converter, and 15.16 is an aeroacoustic transducer.
鍵盤部1.操作部2 、CPU3 、RAM4 、RO
M6 、ROM6 、ROM7 、周波数制御装置8゜
包絡線信号発生器10i1:、データバス、アドレスバ
スおよびコントロール線で結合されている。こ(Djう
Kf−タバスとアドレスバスとコントロール線とで結合
する方、法そのものは、ミニコンピユータやマイクロコ
ンビーータを中心とした構成方法として公知のものであ
る。データバスとしては8〜16本位用いら)1− 、
このバス線」二をデータが5べ一゛
一方向でなく双方向に時分割的に送受信される。Keyboard section 1. Operation unit 2, CPU3, RAM4, RO
M6, ROM6, ROM7, frequency control device 8° envelope signal generator 10i1: are coupled by a data bus, an address bus, and a control line. This method of connecting the Kf-ta bus, address bus, and control line is a well-known method for configuring minicomputers and microcomputers.As a data bus, 8 to 16 Standard usage) 1-,
Data is transmitted and received over this bus line 2 in a time-division manner, not in one direction, but in both directions.
アドレスバスも複数本たとえば16本用意され、通常は
CPU3がアドレスコードを出力し、他の部分がアドレ
スコードを受は取る。コントロール線は、通常、メモリ
φリクエスト線(MREQ)。A plurality of address buses, for example 16, are prepared, and normally the CPU 3 outputs the address code, and other parts receive and receive the address code. The control line is usually the memory φ request line (MREQ).
I10リクエスト線(IσRQ)、リード線MREQは
、メモリを読み書きすることを示し、l0RQは入出力
装置(Ilo)の内容を取り出しするととを示し、RD
はメモリやIloからデータを読み出すタイミングを示
し、WRはメモリやIloにデータを書き込むタイミン
グを示す。The I10 request line (IσRQ) and the lead line MREQ indicate that the memory is to be read and written, l0RQ indicates that the contents of the input/output device (Ilo) are to be retrieved, and the RD
indicates the timing to read data from the memory or Ilo, and WR indicates the timing to write data to the memory or Ilo.
このようなコントロール線を用いたものとしては、ザイ
ログ社のマイクロプロセッサZ8oがあげられる。An example of a microprocessor using such a control line is the microprocessor Z8o manufactured by Zilog.
つぎに第1図の電子楽器の動作について述べる。Next, the operation of the electronic musical instrument shown in FIG. 1 will be described.
鍵盤部1は、複数の鍵スィッチを複数の群に分けて、群
内の鍵スィッチのON−〇FF状態を一括してデータバ
スに送ることができるように構成される。たとえば、6
オクターブの鍵盤の場合6167、−ジ
鍵を6鍵(半オクターブ)ずつの10群と1鍵のみの1
群の11群に分け、各群にアドレスコードを1つずつ割
りつける。アドレスラインに、上記各群のうちの1つを
示すアドレスコードが到来し、l0RQとRDが印加さ
れると、鍵盤部1はそのアドレスコードを解読して、対
応する群内のキースイッチの0N−OFFを示す6ビツ
トまたは1ピツトのデータをデータバスに出力する。こ
れらは、デコーダ、バスドライバおよび若干のゲート回
路を用いて構成することができる。操作部2のうち、タ
ブレットスイッチについては、鍵盤部1と同様の構成を
とることができる。ボリー−ムの設定状態については、
ボリュームの出力する電圧をアナログディジタル変換器
によりディジタルコードに変換し、これを、アドレスコ
ードとコントロール線l0RQとRDにより読み出すよ
うにする0
CPU3はその内部にあるプログラムカウンタのコード
に対応するROM5のアドレスから命令コードを読み取
り、これを解読して、算術演算。The keyboard section 1 is configured to divide a plurality of key switches into a plurality of groups, and to collectively send the ON-FF states of the key switches in the group to the data bus. For example, 6
For an octave keyboard, 6167, 10 groups of 6 keys (half octave) each and 1 with only 1 key.
Divide into 11 groups and assign one address code to each group. When an address code indicating one of the above groups arrives on the address line and l0RQ and RD are applied, the keyboard section 1 decodes the address code and selects the key switch 0N in the corresponding group. - Outputs 6-bit or 1-bit data indicating OFF to the data bus. These can be constructed using decoders, bus drivers and some gate circuits. Of the operation section 2, the tablet switch can have the same configuration as the keyboard section 1. For the volume setting status,
The voltage output from the volume is converted into a digital code by an analog-to-digital converter, and this is read out using the address code and control lines 10RQ and RD0.The CPU 3 reads the address of the ROM 5 corresponding to the code of the internal program counter. Read the instruction code from , decode it, and perform arithmetic operations.
7 、 −
論理演算、データの読み込みと書き込み、プログラムカ
ウンタの内容の変更による命令のジャンプなどの作業を
行なう。これらの作業の手順はROM5に書き込まれて
いる。まずCPU3はROM6より鍵盤部1のデータを
取り込むための命令を読み取り鍵盤部1の各錘の0N−
OFFを示すコードを各群ごとに取り込んで行く。そし
て、押鍵されている鍵コードを、楽音発生部の有限のチ
ャンネルに割り当ててゆく。7. - Performs operations such as logical operations, reading and writing data, and jumping instructions by changing the contents of the program counter. Procedures for these operations are written in the ROM 5. First, the CPU 3 reads a command for importing the data of the keyboard section 1 from the ROM 6, and reads the 0N-
A code indicating OFF is imported for each group. Then, the pressed key code is assigned to a finite channel of the musical tone generator.
つぎにCPU3は、操作部2よりデータを取り込むだめ
の一群の命令を順次ROM5から読み取り、これらを解
読して、操作部2に対応するアドレスコートトコントロ
ールi号l0RQとRDを出力し、データバスに操作部
2のスイッチやボリー−ムの状態を表現するコードを出
力させ、CPU5内に読み込む。そして、どの音色の楽
音信号を合成すべきかをCPU3は知る。Next, the CPU 3 sequentially reads a group of instructions from the ROM 5 to read data from the operation section 2, decodes them, outputs the address code control number I0RQ and RD corresponding to the operation section 2, and outputs the address code control number I0RQ and RD corresponding to the operation section 2. The CPU 5 outputs codes representing the states of the switches and volume of the operating section 2, and reads them into the CPU 5. Then, the CPU 3 knows which timbre of musical tone signals should be synthesized.
以上で、楽音発生部のどのチャンネルにどの周波数をも
ったどの音色を発生させるべきかが明確になったので、
CPU3は、各音色の周波数に関するデータを記憶して
いるROM6より、所望の音色の周波数パラメータを格
納しであるアドレスコードとコントロール信号MREQ
とRDとを出力して、データバスに所望の周波数パラメ
ータを読み出してCPUa内に取り込み、周波数制御装
置8に書き込む。11き込むためには、周波数制御装置
8の内部に設けられたデータレジスタに対応するアドレ
スコードをCPUaが出力し、同時にl0RQとWRと
を出力すると、WR倍信号立上り時にデータバス上に出
力されている周波数パラメータを表わすデータが−に記
データレジスタに書き込まれる。Now that it is clear which tone with which frequency should be generated in which channel of the musical tone generator,
The CPU 3 receives an address code and a control signal MREQ that store frequency parameters of a desired tone from a ROM 6 that stores data regarding the frequency of each tone.
and RD, the desired frequency parameters are read out onto the data bus, taken into the CPUa, and written into the frequency control device 8. 11, the CPUa outputs the address code corresponding to the data register provided inside the frequency control device 8, and at the same time outputs l0RQ and WR, which is output on the data bus at the rising edge of the WR times signal. Data representing the frequency parameter is written to the data register marked -.
つぎに、出力すべき音色の内容を表わす音色パラメータ
をROM 7より読み出し、エンベロープ発生器10の
内部のレジスタに書き込む。つぎに周波数制御装置8と
エンベロープ発生器1oの両方に、発音出力指令を与え
ると、周波数制御装置8は、飛越数1′を正弦波発生器
9に与え、包路線信号発生器10はエンベロープデータ
を発生する。Next, tone parameters representing the contents of the tone to be output are read from the ROM 7 and written into a register inside the envelope generator 10. Next, when a sound output command is given to both the frequency control device 8 and the envelope generator 1o, the frequency control device 8 gives the jump number 1' to the sine wave generator 9, and the envelope signal generator 10 outputs the envelope data. occurs.
正弦波発生器9の出力する飛越数丁に比例した周9 ペ
ージ
波数をもった正弦波データとエンベロープデータは掛算
されて、エンベロープが正弦波に付与される。正弦波デ
ータとエンベロープデータとはそれぞれ時分割多重化さ
れて発生する。時分割多重は、例えば、160多重とし
、1チャンネル当り20の正弦波を割り当て、8チャン
ネル設けることにする。通常は、20本の正弦波の合成
により、ひとつの楽音を合成することになる。したがっ
て、フーリエ級数の式で知られるとおり、2oの正弦波
データを加算することになる。このためのタイムスロッ
ト間のデータ加算を、タイムスロット交換器12で実施
する。タイムスロット変換器は、160のタイムスロッ
トで時分割多重されて入力されるエンベロープデータで
変調された正弦波データ列のうち、所定のデータを加算
しタイムスロットの数を減らしたり、あるいは、特願昭
67−202790号 の時分
割多重変換装置のようにタイムスロットの交換を行なう
ものである。時分割多重位相変調器13は、特願昭56
−152oaa「ディジタル楽音変調1oべ一已
装置」のように、時分割多重で複数種の変調を同時に実
施するものである。時分割多重位相変調装置13の出力
し1、アナログディジタル変換器14によりアナログ信
りに直されて、電気音響変換器1516より出力される
。The sine wave data having a frequency of 9 pages proportional to the jump number output from the sine wave generator 9 and the envelope data are multiplied, and an envelope is given to the sine wave. The sine wave data and envelope data are generated by being time-division multiplexed, respectively. The time division multiplexing is, for example, 160 multiplexed, with 20 sine waves assigned to each channel, providing 8 channels. Normally, one musical tone is synthesized by synthesizing 20 sine waves. Therefore, as known from the Fourier series formula, 20 sine wave data are added. Data addition between time slots for this purpose is performed by the time slot exchanger 12. The time slot converter adds predetermined data from a sine wave data string modulated with envelope data that is time-division multiplexed into 160 time slots and reduces the number of time slots. This converter exchanges time slots like the time division multiplex converter disclosed in No. 67-202790. The time division multiplexing phase modulator 13 is manufactured by patent application No. 56
-152oaa "Digital musical tone modulation 1obe 1x device", which simultaneously performs multiple types of modulation by time division multiplexing. The output signal 1 from the time division multiplexing phase modulation device 13 is converted into an analog signal by the analog-to-digital converter 14, and then output from the electroacoustic converter 1516.
第1図でit図示を省いたが、タイムスロット変換器1
2や時分割多重位相変調装置13に対してモ、アドレス
バス、データパス、コン)ロール線を介してCPU3と
結合1〜て、操作部2によって行なわれる音色や変調効
果の設定に対応して、タイムスロットの変換や変調条件
を変えて設定するようにすることができる。Although it is not shown in Fig. 1, the time slot converter 1
2 and the time-division multiplex phase modulation device 13 are connected to the CPU 3 via the address bus, data path, control line, and are connected to the CPU 3 in response to settings of tone and modulation effects made by the operation section 2. , time slot conversion and modulation conditions can be changed and set.
第1図において包絡線信号発生器1oはROM了にアド
レスと読出指令信号とを出力して所望のデータを直接読
み取ることもできるようにしている。In FIG. 1, the envelope signal generator 1o outputs an address and a read command signal to the ROM so that desired data can be directly read.
第2図は、本発明の包絡線信号発生装置の実施例のブロ
ック図である。第2図において、7は上述のパラメータ
ROMであって、その内部には包絡線信号のサンプル値
を圧縮したデータが記憶さ11 、:
れている。20はサンプル演算器、21はタブレットイ
ンタフェース、22は鍵インタフェース、23は補間側
算器である。FIG. 2 is a block diagram of an embodiment of the envelope signal generator of the present invention. In FIG. 2, reference numeral 7 denotes the above-mentioned parameter ROM, in which data 11, which is a compressed sample value of an envelope signal, is stored. 20 is a sample calculator, 21 is a tablet interface, 22 is a key interface, and 23 is an interpolation calculator.
タブレットインタフェース21とパラメータROM7に
は、第1図のCPUより音色コードが供給される。音色
コードのうちの上位3ビツトハ、8種類の楽器のうちの
1つを指定するコードとしてパラメータROM7の上位
アドレスに印加され、パラメータROM7のうちの上記
指定された楽器音のパラメータが格納されている領域を
選択する。Tone color codes are supplied to the tablet interface 21 and the parameter ROM 7 from the CPU shown in FIG. The upper three bits of the tone color code are applied to the upper address of the parameter ROM 7 as a code specifying one of the eight types of musical instruments, and the parameters of the specified instrument sound in the parameter ROM 7 are stored. Select an area.
音色コードの下位ピットには、音色のモード、たトエハ
、エンベロープ形状が、オルガン型カビアノ型かなどを
示すデータが含まれており、タブレットインタフェース
21を介してサンプル演X器2oに供給される。タブレ
ットインタフェース21は、データラッチを含むもので
、CPU3がデータラッチに音色コードを書き衿み、そ
の後、必要なタイミングにおいてサンプル演算器2oが
読み出す。CPU5は鍵インタフェース22に対シテ、
発生させようとする音の高さを表わすノートオクターブ
データと、その音高の鍵がONかOFFかを表わす鍵0
NOFF信号とを供給し、内部のラッチに書き込む。サ
ンプル演算器2oは、内部の所定のタイミングにしたが
ってタブレットインタフェース21と鍵インタフェース
22の保持しているデータを読み出し、このデータにも
とづいて、パラメータROM7に対し、アドレスデータ
を出力して、その内容を読み出し、サンプルを演算によ
って生成し、補間計算器23に供給する。The lower pit of the timbre code contains data indicating whether the timbre mode, tone, envelope shape is organ type, caviano type, etc., and is supplied to the sample generator 2o via the tablet interface 21. The tablet interface 21 includes a data latch, and the CPU 3 writes a tone code in the data latch, and then the sample arithmetic unit 2o reads it out at a necessary timing. The CPU 5 connects to the key interface 22,
Note octave data that represents the pitch of the sound you are trying to generate, and key 0 that represents whether the key for that pitch is ON or OFF.
NOFF signal is supplied and written to the internal latch. The sample calculator 2o reads out the data held by the tablet interface 21 and the key interface 22 according to internal predetermined timing, outputs address data to the parameter ROM 7 based on this data, and reads the contents. Reading, samples are generated by calculation and supplied to the interpolation calculator 23.
補間演算器23は、つぎつぎに供給される包絡線サンプ
ルの途中を、補間演算たとえば、直線補間して、なめら
かに変化する包絡線サンプルを出力する。The interpolation calculator 23 performs an interpolation operation, for example, linear interpolation, on the middle of the envelope samples supplied one after another, and outputs smoothly changing envelope samples.
第3図は、本発明において適用するサンプル演算を説明
するための包絡線信号とそれらのサンプル値の例を示す
ものである。第3図すは、発生させようとする包絡線を
dB尺度で描いたものであって、最大値をodB、最小
値を−aodBとしている。この曲線」二の黒点(So
、Sl、S2.・・・・)は、時間間隔Ti=Tおよび
2Tでサンプリング13 ′
したサンプル値を表わす。このようなデータをもとに、
各サンプル値のdB尺度庇上差分値をとると第3図f、
)の(ΔEo、ΔE1.ΔE2.・・・・・)ようにな
る。第3図(C)は、第3図(b)の黒点で示すサンプ
ル値を、dB尺度からリニア尺度の値(LEo。FIG. 3 shows examples of envelope signals and their sample values for explaining the sample calculation applied in the present invention. FIG. 3 shows the envelope to be generated in dB scale, with the maximum value being odB and the minimum value being -aodB. This curve's second black point (So
, Sl, S2. ) represents sample values sampled 13' at time intervals Ti=T and 2T. Based on such data,
If we take the difference value on the dB scale eaves of each sample value, we get Fig. 3 f.
) of (ΔEo, ΔE1.ΔE2...). FIG. 3(C) shows the sample values indicated by the black dots in FIG. 3(b) from the dB scale to the linear scale value (LEo).
LE LE ・・・・・・)に変換し、それぞれ
の点の121
間を点線状の直線で結んだものである。本発明では、第
3図(、)に示したdB差分値ΔEo、ΔE1゜ΔE2
.・・・・・をパラメータROM7に記憶しておく。こ
れらのdB差分値を順次読み出して累算してゆくことに
より、dB尺度庇上包絡線サンプルSSS ・・・
・・を得る。LE LE . . .) and connects each point with a dotted straight line. In the present invention, the dB difference values ΔEo, ΔE1°ΔE2 shown in FIG.
.. ... is stored in the parameter ROM7. By sequentially reading and accumulating these dB difference values, the dB scale eaves envelope sample SSS...
Get...
oI 11 21
つぎにdB尺度庇上包絡線サンプルを対数−直線変換し
てリニア尺度上の包絡線サンプルLEo。oI 11 21 Next, the dB scale eaves envelope sample is subjected to logarithmic-linear transformation to obtain an envelope sample LEo on the linear scale.
LE LE ・・・・・ を得る01 I
21
この包絡線サンプルのサンプル周期は、上記7i=Tや
2Tなどであるが、この周期は、最終的に出力される楽
音サンプルの周期Ts より大きい。したがって楽音
のサンプル周期に対応した時刻での包絡線サンプルをつ
ぎつぎに生成するために、す14ベン
ンプルLE LE LE ・・・・・・の隣接
する2つOL 11 21
のサンプルの間を直線補間演算し、周期T8 ごとに第
3図(C)の点線で示したような形状をもつ包絡線サン
プルを得る。LE LE ...... Obtain 01 I
21 The sampling period of this envelope sample is the above-mentioned 7i=T or 2T, and this period is larger than the period Ts of the musical tone sample that is finally output. Therefore, in order to successively generate envelope samples at times corresponding to the sample period of the musical tone, linear interpolation is performed between the two adjacent samples of OL 11 21 of LE LE LE ...... Then, an envelope sample having a shape as shown by the dotted line in FIG. 3(C) is obtained every period T8.
第4図は本発明の実施例のプロツク図で、第3図に述べ
た演算手順を実現する。第4図において読出演算制御部
25は、音色コード、ノートオクターブデータ、鍵0N
OFFデータを読み込み、これらのデータにしたがって
、音色コードと、ノートオクターブデータに対応する包
絡線信号を表わすdB差分値ΔEiを格納しである番地
のアドレスADを順次発生し、読出指令信号RDを出力
して、パラメータROM7よりdB差分値ΔEiを出力
端子DOに読み出し、ラッチ3oに格納する。FIG. 4 is a block diagram of an embodiment of the present invention, which implements the calculation procedure described in FIG. In FIG. 4, the readout calculation control unit 25 outputs tone code, note octave data, key 0N
Reads the OFF data, stores the timbre code and the dB difference value ΔEi representing the envelope signal corresponding to the note octave data, sequentially generates the address AD according to these data, and outputs the read command signal RD. Then, the dB difference value ΔEi is read out from the parameter ROM 7 to the output terminal DO and stored in the latch 3o.
ラッチ31には常にゼロが入っているものとする。It is assumed that the latch 31 always contains zero.
加減算器32は、ΔE、とゼロを加算してΔE、 を
出しこれを加減算器32の一方の入力に供給する。The adder/subtractor 32 adds ΔE and zero to produce ΔE, which is supplied to one input of the adder/subtractor 32.
加減算器33の出力は、レジスタ34に格納されると共
に、対数−直線変換器35に供給される。The output of the adder/subtractor 33 is stored in a register 34 and is also supplied to a logarithm-linear converter 35.
加減算器33の他の入力にはレジスタ34の出力161
″
が供給される。レジスタ34は、1ワードのラッチであ
る。加減算器33とレジスタ34とは、ΔE、を累算し
て、
を生成し出力する累算器として働く。対数−直線変換器
35は、入力コードSnに対して、直線化された出力コ
ードLEnを生成する読み出し専用メモリ(ROM)で
ある。入力が8ビツト、出力が16ビツトとすると25
6X16=4096ビツトのROMになる0包結線サン
プルLEnU、レジスタ36に加えられ、1サンプル時
間遅延される。The other input of the adder/subtractor 33 is the output 161 of the register 34.
'' is supplied. The register 34 is a 1-word latch. The adder/subtractor 33 and the register 34 function as an accumulator that accumulates ΔE and generates and outputs the logarithm-to-linear converter. 35 is a read-only memory (ROM) that generates a linearized output code LEn for the input code Sn.If the input is 8 bits and the output is 16 bits, then 25
The 0-envelope interconnection sample LEnU, which becomes 6×16=4096 bits of ROM, is added to register 36 and delayed by one sample time.
そして、減算器37において、ΔLE : LEn−L
En−1が演算される。減算器37の出力ΔLEnは、
ビットシフトレジスタ38において下位に所定ビットだ
けシフトされ、加減算器39の一方の入力に供給される
。加減算器3′9の出力は、シフトレジスタ40で、楽
音サンジル周期T11だけ遅延されて加減算器39の他
方の入力に供給される。Then, in the subtracter 37, ΔLE:LEn-L
En-1 is calculated. The output ΔLEn of the subtracter 37 is
The signal is shifted downward by a predetermined bit in the bit shift register 38 and supplied to one input of the adder/subtractor 39 . The output of the adder/subtractor 3'9 is delayed by a musical tone period T11 in a shift register 40 and is supplied to the other input of the adder/subtractor 39.
ビットシフトレジスタ38は一種の割算器で、δ、−(
T、En−LEn、)/(Tn−、/T8)
(2)(’n=2 、3 、4 、・・・・・・・)を
実行する。The bit shift register 38 is a kind of divider, and the bit shift register 38 is a kind of divider.
T, En-LEn, )/(Tn-, /T8)
(2) ('n=2, 3, 4,...) is executed.
Tn、 / T8= 2P(3)
のように2のべき乗であれば、Pビットシフトすること
が、割ηに相当する。If it is a power of 2, such as Tn,/T8=2P(3), shifting by P bits corresponds to the division η.
δ を2P回累aすると、
ΔLEn= LEn−T、En−1(n=2.3,4.
・・・)(4)になる。したがって、LEn、からLE
n の間を、Tn−1の時間で直線補間できる。補間
された包絡線サンプルは
LEn、 、=(、li:n−1月(LEn−LEn−
1)/(Tn−1/TB) (5)(i−1、・・・・
・・、Tn−4/T8)と表わすことができる。When δ is multiplied 2P times, ΔLEn=LEn-T, En-1 (n=2.3, 4.
...) (4). Therefore, LEn, to LE
Linear interpolation can be performed between n in time Tn-1. The interpolated envelope samples are LEn, , = (, li:n-1(LEn-LEn-
1)/(Tn-1/TB) (5)(i-1,...
..., Tn-4/T8).
Sn、 LEn、ΔLEn、δ。の生成は、T4周期で
実行される。したがって、ラッチ30.レジスタ34
、36 、ビットジフトレジスタ38の記憶はT・ ご
とのラッチパフ1スが読出演算制御部25より出力され
て、更薪される。ビ・ントシフトレジスタ38のシフト
ビット数Pは、読出演算制御部25172、工
から出力されるT、/T、に対応したPを表わすコード
により複数通りのシフトをされた出力コードΔLEn、
ΔLEn/2.ΔLEn/2 、・・・・・・から選択
され、その出力がラッチされる。レジスタ40は、周期
Tsごとにその内容が更新されるため、周期T8ごとに
ラッチパルスが読出演算制御部25より供給される。Sn, LEn, ΔLEn, δ. The generation of is executed in the T4 cycle. Therefore, latch 30. register 34
, 36, the memory of the bit shift register 38 is updated by outputting one latch puff every T. from the read operation control section 25. The number of shift bits P of the bit shift register 38 is an output code ΔLEn that is shifted in multiple ways using a code representing P corresponding to T and /T output from the read operation control unit 25172,
ΔLEn/2. A signal is selected from ΔLEn/2, . . . and its output is latched. Since the contents of the register 40 are updated every cycle Ts, a latch pulse is supplied from the read operation control unit 25 every cycle T8.
第5図は、簡単化された包絡線データ(ΔE、 1(i
=1.2,3.・・・・・・、N)の例である。dB差
分値ΔEiがパラメータROM内のアドレス1〜Nに配
置されている。先頭の番地0には、レリーズアドレスR
ADが格納されている。今、簡単化するために、第3図
(b)のT、(i=1.2,3.・・・・・ )が皆等
しい場合について説明する。読出演算制御部25に入力
される鍵0NOFF信号が′1”になり押鍵されると、
まず、番地0を示すアドレスADがROM7に出力され
、RDが’o”になって、番地Oに格納されているレリ
ーズアドレスRADを読み出し、これを内部のレジスタ
に格納しておく。そのつぎにADを1増やし、かつ18
ベージ
RDを0″にして1番地のΔE1をラッチ3oに書き込
む。初期状態としてレジスタ30 、34 。Figure 5 shows simplified envelope data (ΔE, 1(i
=1.2,3. . . . is an example of N). The dB difference value ΔEi is placed at addresses 1 to N in the parameter ROM. The first address 0 is the release address R.
AD is stored. For the sake of simplicity, we will now explain the case where all T's (i=1.2, 3, . . . ) in FIG. 3(b) are equal. When the key 0NOFF signal input to the read calculation control unit 25 becomes '1' and the key is pressed,
First, the address AD indicating address 0 is output to the ROM 7, RD becomes 'o', and the release address RAD stored at address O is read out and stored in an internal register. Increase AD by 1 and 18
The page RD is set to 0'' and ΔE1 at address 1 is written to the latch 3o.Registers 30 and 34 are set as an initial state.
36.38.40にゼロが格納してあったとすると、5
1=O、LE1=O、ΔLE1=o 、δ1−oであっ
た。したがって加減算器33の出力は82=ΔE1とな
る。このあとは、先に述べた手順で演算が実施される。If zero is stored at 36.38.40, then 5
1=O, LE1=O, ΔLE1=o, δ1−o. Therefore, the output of the adder/subtractor 33 becomes 82=ΔE1. After this, calculations are performed according to the procedure described above.
iが1つ進むごとにアドレスADが1ずつ増加する。Each time i advances by one, the address AD increases by one.
鍵を押しつづけるとT、はどんどん進むが、Ti二T1
6の直前になると、アドレスADの増加を、7−〜−−
停止し、ビットシフトレジスタ
ア1−て、ゼロにし、直前の累算値を保持するようにす
れば包絡線信号しI:LP01を維持したままになる。If you keep pressing the key, T will advance rapidly, but Ti2T1
Just before 6, increase the address AD by 7----
If the bit shift register is stopped, the bit shift register is set to zero, and the previous accumulated value is held, the envelope signal will remain I:LP01.
その後、鍵ONOFF信号が60”になって鍵がけなさ
れたことがわかると、Ti二T15に対応して、ΔE1
5を読み出して、816〜S16の減衰過程に入るよう
にする。”15はレリーズの開始点で、これに対応する
ΔE15が格納されている番地をレリーズアドレスRA
Dとする。After that, when the key ONOFF signal becomes 60'' and it is known that the key has been turned off, ΔE1 corresponds to Ti2T15.
5 is read out to enter the decay process of 816 to S16. ”15 is the release start point, and the address where ΔE15 corresponding to this is stored is the release address RA.
Let it be D.
’r,=’r16になる前に、鍵ONOFF信号がO”
になると、アドレスADが1増加する代りにRADに書
きかえられて出力し、ΔE15が読み出される。そして
そのあとは、RAD+1 、RAD+2.・・・・・・
とレリーズ過程を進むようにする。Before 'r,='r16, the key ONOFF signal is O''
Then, instead of incrementing address AD by 1, it is rewritten to RAD and output, and ΔE15 is read out. And after that, RAD+1, RAD+2.・・・・・・
and proceed with the release process.
このようにすると1.どの時刻に鍵がOFFになっても
、その時点あるいはそれにもっとも近い所定の時点でR
ADに飛ぶことができ、鍵OFF後、速やかにレリーズ
に入ってゆく。しかも、dB差分値を用いているから、
つながシがなめらかになる。たとえばS12から”15
へ飛ぶと、約sdBの不連続になるが、ΔE11からΔ
E1.に飛べば、S12のあとに、816〜S28かも
とのデータにくらべsdB低下してなめらかにつながる
ことになる。したがって、飛ぶ前後のつながりが、どん
な包路線形状でも、不連続を生じない。また、dB尺度
庇上あるから、レリーズ過程の単位時間当りのdB変化
(dB尺度庇上傾慰)は保たれる。したがって、楽音の
減衰の時間変化の聴いた感じは、どの時点で鍵をOFF
にしても、同じものになる。If you do this, 1. No matter what time the key is turned off, the R
It can jump to AD, and after turning the key OFF, it immediately goes into release. Moreover, since the dB difference value is used,
The connections become smooth. For example, from S12 to “15
There is a discontinuity of about sdB when jumping from ΔE11 to Δ
E1. If the data jumps to 816 to S28 after S12, the data will be lowered by sdB compared to the original data and will be connected smoothly. Therefore, the connection before and after the flight does not cause discontinuity, no matter what the envelope shape. Furthermore, since the dB scale is on the eave, the dB change per unit time in the release process (dB scale eave change) is maintained. Therefore, the way you hear the time change in the decay of musical tones depends on when you turn off the key.
However, it will be the same thing.
以上述べた動作を実現する読出演算制御部25は、アド
レスADを制御するレジスタ、RADを格納するレジス
タ、アドレスを増減したり、変更したりする演算装置、
いわゆるALu、および、これらをコントロールするプ
ログラムの入ったROMとその解読器など、マイクロコ
ンビーータにおいて用いられている要素回路を用いて、
マイクロコンビーータの順序制御と同様の手法で実現す
ることができる。The read operation control unit 25 that realizes the operations described above includes a register that controls the address AD, a register that stores the RAD, an arithmetic unit that increases, decreases, or changes the address,
Using the elemental circuits used in microconbeaters, such as the so-called ALu, ROM containing the program that controls these, and its decoder,
This can be achieved using a method similar to the order control of microcombinators.
第5図では1通りのd B差分値よりなる包絡線データ
を示している。この一群のデータを、鍵盤のオクターブ
が異なるごとに別々にもったり、さらに1オクターブ内
のノートが異なるごとに別々にもつことができる。この
ように別々のデータを持っておくと、各音域の鍵に対し
て最適な包絡線を使用することができ、優れた音色がど
の音域でもつくり出せる。このために、第4図における
ノートオクターブデータを受は取り、このデータによっ
てパラメータROMのアドレスADを変更して、第6図
の0〜N番地と別の番地に格納された同種の形式のデー
タを選択するようにもできる。FIG. 5 shows envelope data consisting of one type of dB difference value. This group of data can be stored separately for each different octave of the keyboard, or even separately for each different note within one octave. By having separate data like this, you can use the optimal envelope for each key in each range, allowing you to create excellent tones in any range. For this purpose, the note octave data shown in FIG. 4 is received, the address AD of the parameter ROM is changed according to this data, and the data in the same type of format is stored at addresses different from the addresses 0 to N in FIG. 6. You can also select.
21べ−
第5図のデータ形式では、T、を一定としたが、一般に
楽音の立上りでは包絡線の変化が激しいので、T を小
さくして、サンプル点を多くするのが良い。Ti の大
きさをiによって変更できるよ、 うにするには、第
6図のようなデータ形式にすれば良い。第6図では0番
地にレリーズアドレスRAD、 1番地にスロープデー
タ5LOPE、2番地にポイントインタバルPIとポイ
ントナンノくPN、その後3〜7番地にΔE、〜ΔE5
が格納されている。つぎにPIとPN、そのあとにΔE
6〜ΔE14が格納され、最後のグループとして、RA
D番地にPIとPN、その後にΔE16〜ΔE19が格
納されている。RADは第5図で述べたもの、5LOP
Eは、立上り部の平均的増分を示すデータでΔE1〜Δ
E5に対し共通に加算されるものである。PIは、サン
プル点間の間隔Tiミラすコード、PNはサンプル点間
隔Ti が何ポイント続くかを示すコードである。第3
図(b)の包絡線であれば、2番地のPIはT、を指定
し、PNは5である。8番地ではP I it、T6(
=2T1)でPNは9で22ページ
ある。レリーズアドレスRADでは、PIはT1を指定
しPNは6である。In the data format shown in Figure 5, T is constant, but since the envelope generally changes rapidly at the rise of a musical tone, it is better to reduce T and increase the number of sample points. In order to be able to change the size of Ti depending on i, the data format should be as shown in Figure 6. In Figure 6, the release address RAD is at address 0, the slope data 5LOPE is at address 1, the point interval PI and point number PN are at address 2, and then ΔE, ~ΔE5 are at addresses 3 to 7.
is stored. Next, PI and PN, then ΔE
6 to ΔE14 are stored, and as the last group, RA
PI and PN are stored at address D, followed by ΔE16 to ΔE19. RAD is as described in Figure 5, 5LOP
E is data indicating the average increment of the rising part, and is ΔE1 to Δ
This is commonly added to E5. PI is a code indicating the interval Ti between sample points, and PN is a code indicating how many points the sample point interval Ti lasts. Third
For the envelope shown in Figure (b), the PI at address 2 specifies T, and the PN is 5. At number 8, P I it, T6 (
= 2T1), the PN is 9, and there are 22 pages. In the release address RAD, PI specifies T1 and PN is 6.
第4図の実施例において第6図のデータ形式のパラメー
タROMを読み出す手順を説明する。鍵がONになると
、まず0番地のRADをRADレジスタに格納する。つ
ぎにスロープデータ5LOPEを読み出しレジスタ31
(第4図)に格納する。The procedure for reading out the parameter ROM in the data format shown in FIG. 6 in the embodiment shown in FIG. 4 will be explained. When the key is turned on, first the RAD at address 0 is stored in the RAD register. Next, read the slope data 5LOPE from the register 31.
(Fig. 4).
その後PIとPNを読出しPIレジスタとPNレジスタ
に格納する。つぎに3番地よりΔE1を読み出しレジス
タ30に格納する。そして、PNを1だけ減じ、PIに
従って決まるTi/T8に対応す・るビットシフト用の
コードをビットシフトレジスタ38に供給する。このよ
うにすれば、区間T1の間の包絡線ザンプルLEi1.
が計算される。T1の終了直前に、4番地からΔE2全
2ヲしレジスタ30に格納し、PNを1だけ減じる。こ
のようにして7番地まで進むとPN=Oになっているか
ら、つぎはPIとPNが格納されていることがわかる。After that, PI and PN are read out and stored in the PI register and PN register. Next, ΔE1 is read from address 3 and stored in the register 30. Then, PN is subtracted by 1 and a bit shift code corresponding to Ti/T8 determined according to PI is supplied to the bit shift register 38. In this way, the envelope sample LEi1. during the section T1.
is calculated. Immediately before the end of T1, ΔE2 total 2 is written from address 4 and stored in the register 30, and PN is decremented by 1. In this way, when the address reaches address 7, PN=O, so it can be seen that PI and PN are stored next.
したがって8番地を読み出し、PIレジスタとPNレジ
スタに格納する。そして、その後ΔE6を読み23 ・
出しレジスタ3oに格納すると共にレジスタ31をクリ
アする。さらにPN−1を求め、PIのコードに従って
、T6(=2T1) に対応するビットシフト用のコ
ードをビットシフトレジスタ38に供給する。RAD−
1番地に達するとPNがゼロになるから、つぎにPIと
PNが格納されていることがわかる。そこで8番地と同
様の操作により、今度はレリーズ過程に入る0RADが
レリーズ過程であることはRADレジスタのデータと現
アドレスとの比較により判定できるから、ΔE19”読
み出すとそのあとは、続いて同じΔE19を読み出すよ
うにすることができる。鍵ONが続けば、RAD番地の
前で停止するようにすればよい。鍵がRADより前の状
態でOFFになったときは、ADレジスタの内容をRA
Dに書きかえてレリーズ過程に入ればよい。Therefore, address 8 is read and stored in the PI register and PN register. Thereafter, ΔE6 is read and stored in the output register 3o, and the register 31 is cleared. Furthermore, PN-1 is obtained, and a bit shift code corresponding to T6 (=2T1) is supplied to the bit shift register 38 according to the code of PI. RAD-
Since PN becomes zero when it reaches address 1, it can be seen that PI and PN are stored next. Therefore, by performing the same operation as at address 8, it can be determined that 0RAD is in the release process by comparing the data in the RAD register with the current address, so if ΔE19'' is read, then the same ΔE19 If the key continues to be ON, it can be stopped before the RAD address.If the key is turned OFF before the RAD, the contents of the AD register can be read out from the RA.
Just change it to D and start the release process.
第6図のように5L6PE7”−夕を設けると、ΔE1
〜ΔE6の立上シ部のデータ長を小さくすることができ
、データ圧縮できる。5LOPEデータは第3図(b)
の包絡線形状の平均傾斜を示し、ΔE1〜ΔE6はその
傾斜からのずれ分になる。レリーズ過程でRADに逆傾
斜すなわち負のスロープデータを設けても」:い。If 5L6PE7”-Y is provided as shown in Figure 6, ΔE1
The data length of the rising edge portion of ~ΔE6 can be reduced, and the data can be compressed. 5LOPE data is shown in Figure 3(b)
represents the average slope of the envelope shape, and ΔE1 to ΔE6 are deviations from the slope. Even if a reverse slope, that is, negative slope data is provided to RAD during the release process, no.
第6図のデータ形式のパラメータROMを読み出す読出
演算制御装置26はその内部に、第7図に示すよりなP
Iレジスタ、PNレジスタ、ADレジスタ、RADレジ
スタなどを備え、さらにALU(算術論理演算器)、こ
れらの動作手順を指示するROM、プログラムカウンタ
、命令解読器などマイクロコンピータで周知の回路を用
いて構成することができる。また、マイクロコンピュー
タそのものを使って構成することも可能である。The readout arithmetic control device 26 that reads out the parameter ROM in the data format shown in FIG.
It is equipped with an I register, a PN register, an AD register, a RAD register, etc., and is constructed using well-known circuits used in microcomputers, such as an ALU (arithmetic logic unit), a ROM that instructs these operating procedures, a program counter, and an instruction decoder. can do. Furthermore, it is also possible to construct the system using the microcomputer itself.
上記説明では、1通りの包絡線信号をつくり出す場合に
ついて説明した。楽音は一般に複数の周波数成分より成
り立っているから、複数の包絡線信号を必要とする。ま
た、単旋律だけでなく複音を出す場合にも、それぞれの
音に対して別々に包絡線信号が必要になる。このために
は、第4図の実施例において、レジスタ34,36.4
0の内部に、複数個のレジスタを設け、加減算器33゜
26 ベ −二
39、減算器37.対数−直線変換器36.ビットシフ
トレジスタ38を時分割多重化して使用するようにすれ
ばよい。レジスタ34 、36 、40は多重化数の段
数を備えたシフトレジスタでも良い。読出演算制御部2
6の動作手順も、多重化数に対応して時分割動作するよ
うに構成すればよい。In the above explanation, the case where one type of envelope signal is generated has been explained. Since musical tones generally consist of multiple frequency components, multiple envelope signals are required. Furthermore, when producing not only a single melody but also multiple notes, a separate envelope signal is required for each note. To this end, in the embodiment of FIG.
0 is provided with a plurality of registers, an adder/subtracter 33.26, a subtracter 39, and a subtracter 37. Log-linear converter 36. The bit shift register 38 may be used in a time-division multiplexed manner. The registers 34, 36, and 40 may be shift registers having the same number of stages as the number of multiplexers. Read calculation control section 2
The operation procedure No. 6 may also be configured to perform time-division operation in accordance with the number of multiplexing operations.
第8図は、第4図で説明した本発明の包絡線信号発生装
置のサンプル演算器の部分をマイクロプロセッサと同様
に、加減算器を時分割で使い、かつ、種々のデータをパ
スライン上で伝送し、演算手順をプログラム制御により
実行するようにした実施例である。FIG. 8 shows that the sample arithmetic unit of the envelope signal generator of the present invention explained in FIG. This is an embodiment in which the information is transmitted and the calculation procedure is executed under program control.
第8図において、6oはアドレスコントローラで第1図
のCPU3からアドレスコードADR。In FIG. 8, 6o is an address controller which receives the address code ADR from the CPU 3 in FIG.
データDB、入出力指令信号l0RQ、書込指令信号W
Rを受けて、パラメータROM7にアドレスADを送出
し、パラメータROM7からアドレスADにより指定さ
れたデータをデータバスRDBより読み込む。61はタ
イミングパルネジエネレータ(TPG)で、マスタクロ
ック周波数から26ページ
内部に必要なパルス信号をつくり出す。TPG61は、
クロック発振器とカウンタとゲートを用いれば構成でき
る。62はシーケンサで、アドレスや後述する書込指令
信りや読出指令信号などを、演算手順にしたがい出力さ
せるための手順を記憶したROMである。63し1−命
令解読器で、シーケンサ52が出力する命令コードを入
力とし、アドレスコード、@込指令イ計り、読出指令信
号を出力させる。Data DB, input/output command signal l0RQ, write command signal W
Upon receiving R, the address AD is sent to the parameter ROM 7, and data specified by the address AD is read from the parameter ROM 7 via the data bus RDB. A timing pulse generator (TPG) 61 generates a pulse signal necessary for the internal operation of page 26 from the master clock frequency. TPG61 is
It can be constructed using a clock oscillator, counter, and gate. Reference numeral 62 denotes a sequencer, which is a ROM that stores procedures for outputting addresses, write command signals, read command signals, etc., which will be described later, according to calculation procedures. 63 1-A command decoder inputs the command code output from the sequencer 52 and outputs an address code, an @include command, and a read command signal.
54H1l−1z−E1変調レジスタで、トレモロ変調
を生じさせる周期的変動データの差分値をデータバスR
DBより受は入れWRlの立上りで記憶する。OClが
n111のとき、内容をAバスに出カスる。スロープレ
ジスタ55はデータバスRDBよりスロープデータを受
は入れWR2の立上りで記憶する。OC2が1゛のとき
Aバスに出力する0AD1にはスロープレジスタ55の
中にある120個のレジスタのうちの1゛□つを指定す
るアドレスコードが/>えられる。56゛はdB差分レ
ジスタで120個のデータレジスタより成り、AD12
77・
によりそのうちの1つが指定される。そしてWRaの立
上りで、データバスRDBよりdB差分データを受は入
れて記憶し、OC3が1”のとき、その内容をBバスに
出力する。57はエンベロープレジスタで120個のデ
ータレジスタより成り、アドレスコードAD2によりそ
のうちの1つが指定され、Cバスより供給されるデータ
SnをWR4の立上りで記憶する。OC4が1”のとき
dB尺度上の包絡線サンプルデータSnをAバスに出力
する。58は対数−直線変換器で、Cバスより供給され
るデータSnをWRsの立上りでラッチし、対数−直線
変換された包絡線サンプルLEnを。In the 54H1l-1z-E1 modulation register, the difference value of periodic fluctuation data that causes tremolo modulation is sent to the data bus R.
Reception is input from DB and stored at the rising edge of WRl. When OCl is n111, the contents are output to the A bus. The slope register 55 receives slope data from the data bus RDB and stores it at the rising edge of WR2. When OC2 is 1, 0AD1 output to the A bus contains an address code that specifies one of the 120 registers in the slope register 55. 56゛ is a dB difference register consisting of 120 data registers, AD12
One of them is specified by 77. Then, at the rising edge of WRa, the dB difference data is received from the data bus RDB and stored, and when OC3 is 1", the contents are output to the B bus. 57 is an envelope register consisting of 120 data registers. One of them is designated by the address code AD2, and data Sn supplied from the C bus is stored at the rising edge of WR4. When OC4 is 1'', envelope sample data Sn on the dB scale is output to the A bus. 58 is a logarithmic-linear converter which latches the data Sn supplied from the C bus at the rising edge of WRs, and converts it into a logarithmic-linear converted envelope sample LEn.
OC5が°°1”のときにAバスに出力する。59は、
包絡線サンプルレジスタで120個のレジスタより成り
アドレスコードAD3によりその1つが指定され、Cバ
スより供給される包楽線サンプルLEnが、WRe
の立上りでラッチされ、OC6が1″のときBバスに出
力される。6oはワーキングレジスタ(WREG)で2
ワードのレジスタにより構成され、アドレスコードAD
3によりそのうちの1つが選択され、Cバスより供給さ
れるデータをWR7の立」ニリで内部に記憶し、0C7
Aが1″のときにAパスにその内容を出力し、0C7B
が°“1”のときにBパスにその内容を出力する。61
は加減算器でAバスとBバスの各入力データを演算して
、Cバスに出力する。Outputs to the A bus when OC5 is °°1”.59 is
The envelope sample register consists of 120 registers, one of which is specified by the address code AD3, and the envelope sample LEn supplied from the C bus is sent to WRe.
It is latched at the rising edge of OC6, and is output to the B bus when OC6 is 1". 6o is a working register (WREG) and is output to the B bus.
Consists of word registers, address code AD
One of them is selected by 0C7, and the data supplied from the C bus is stored internally by 0C7.
When A is 1'', output the contents to A path, 0C7B
When is "1", the contents are output to the B path. 61
calculates each input data of the A bus and B bus with an adder/subtracter and outputs it to the C bus.
加減算の切り換え選択は命令解読器63より指定される
。The addition/subtraction switching selection is specified by the instruction decoder 63.
62打V差分包絡線データレジスタでΔEnを記憶する
。20個のレジスタより成りそのうちの1つがアドレス
コードAD4により選択され、WRl。62-stroke V Store ΔEn in the differential envelope data register. It consists of 20 registers, one of which is selected by address code AD4 and is WRl.
の立上り時点で加減n器61が出力するΔLEnを内部
に記憶する。63は差分包絡線データレジスタで120
個のデータレジスタより成りそのうちの1つがアドレス
データAD5により指定され、WRaが立上がるときに
入力データが記憶されOC8がn 1uのときに出力さ
れる。64は入力データを所定のビット数だけシフトす
るためのシフトゲート
IFT信号により指定される。シフトされた信号29べ
一
は、データδ。に対応する。66は累算用の加減算器で
ある。66は、加減算器65の出力を受けて記憶するレ
ジスタで120個のレジスタから成る。アドレスデータ
AD5によりそのうちの1つが指定され、WReの立上
りで記憶し、OC9がII 111のときに出力する。ΔLEn output from the adder/subtractor 61 at the rising edge of is stored internally. 63 is the difference envelope data register and 120
It consists of data registers, one of which is designated by address data AD5, and input data is stored when WRa rises and is output when OC8 is n1u. 64 is designated by a shift gate IFT signal for shifting input data by a predetermined number of bits. The shifted signal 29 is data δ. corresponds to 66 is an adder/subtracter for accumulation. A register 66 receives and stores the output of the adder/subtractor 65, and is made up of 120 registers. One of them is designated by address data AD5, stored at the rising edge of WRe, and output when OC9 is II 111.
第8図の実施例では、1音当り20次の周波数 ・成
分に対応する20個の包結線信号を、8チヤンネルすな
わち8音分同時に発生するように、2。In the embodiment shown in FIG. 8, 2.2.times.2 is generated so that 20 envelope signals corresponding to the 20th frequency component per note are simultaneously generated for 8 channels, that is, 8 notes.
X8=1 60の160重の時分割多重動作をするよう
にしている。8音のうちの何音目かをに−1〜8で表わ
し、20次のうちの何番目かをI=1〜2oを表わす。X8=160 160 time division multiplex operations are performed. The number of the 8 tones is represented by -1 to 8, and the number of the 20 tones is represented by I=1 to 2o.
演算の手順をつぎに説明する。先に用いた添字nの代り
に、ここではiを用いる。The calculation procedure will be explained below. Instead of the subscript n used earlier, i is used here.
WREG 4− SLOPE(K,I)+ΔEi(
K,I) (6)WREG 4− WREG
+ 3,(K,I) (力S. (K,I
) ←WREG +ΔAM, (K, I
) (a)1+1
LOG/LIN 4− WREG +ΔAM,
(K,I ) (9)ΔLE.1(K,I)←L5
G/LIN −LE,(K,I)(1o)30ベー
ジ
LE,、+,I(K,I)←L伽/LIN
(11)1ず(6)式により、S LOP E
(K,I)をスロープレジスタ56より読み出し、dB
差分データΔEi(K, I )をdB差分レジスタ5
6より読出して加算し、ワーキングレジスタ6oに格納
する。つぎに(7)式のようにワーキングレジスタ6o
の内容と、エンベロープレジスタ67の内容Si(K,
I)とを読出して加算し、ワーキングレジスタ60に格
納する。つぎに(8)式にしたがい、ワーキングレジス
タ60の内容と、トレモロ変調レジスタ54の内容ΔA
M(K,I)とを読み出して加算し、新たなエンベロー
プレジスタSi+1(K,I) を得、これをエンベ
ロープレジスタ67の(K,I)番地に格納する。また
(9)式により、同じ答を、対数−直線変換器68の入
力ラッチに書込む。つぎに、(1q式にしたがい、対数
−直線変換器68の出力と包絡線サンプルレジスタ69
の出力を読み出し、その差ΔLE,,(K,I)をとっ
て、差分包絡線データレジスタ62の(I)番地に1.
き込む。つぎに(11)式にしたがい対数−直線変換器
68の出力であるLEi+131 ・′ ゛
(K、I)を包絡線サンプルレジスタ69の(K、I)
番地に書き込む。上記説明および(6)〜(11)式に
おいて、(K、I)は、8X20−160ワードのレジ
スタのうちの1つを指示する。i[正の整数で鍵ONを
検出した後を1として順次増加するサンプル番号である
。WREG 4- SLOPE (K, I) + ΔEi (
K, I) (6) WREG 4- WREG
+ 3, (K, I) (force S. (K, I
) ←WREG +ΔAM, (K, I
) (a) 1+1 LOG/LIN 4- WREG +ΔAM,
(K, I) (9) ΔLE. 1(K,I)←L5
G/LIN -LE, (K, I) (1o) 30 pages LE,, +, I (K, I) ← L / LIN
(11)1 By equation (6), S LOP E
(K, I) is read from the slope register 56, dB
Difference data ΔEi (K, I) is stored in dB difference register 5
6 is read out, added, and stored in the working register 6o. Next, as in equation (7), working register 6o
and the contents of the envelope register 67 Si(K,
I) are read out, added, and stored in the working register 60. Next, according to equation (8), the contents of the working register 60 and the contents ΔA of the tremolo modulation register 54 are determined.
M(K, I) is read out and added to obtain a new envelope register Si+1(K, I), which is stored in the envelope register 67 at address (K, I). Also, the same answer is written to the input latch of the logarithmic-linear converter 68 using equation (9). Next, according to equation (1q), the output of the logarithm-linear converter 68 and the envelope sample register 69
Read the output of , take the difference ΔLE, , (K, I), and store it at address (I) of the differential envelope data register 62.
Get into it. Next, according to equation (11), the output of the logarithm-linear converter 68, LEi+131 ・' ゛(K, I), is converted to (K, I) of the envelope sample register 69.
Write in the address. In the above description and equations (6)-(11), (K, I) points to one of the 8×20-160 word registers. i [is a positive integer and is a sample number that increases sequentially starting from 1 after detecting the key ON.
上記計算手順を実行するには、先に説明した、アドレス
コードAD1〜4.書込指令信号WR4〜7,10.読
出指令信号QC1〜e 、 7A、7Bを(6)〜(1
1)式の順序で出力するようにすればよい0
(6)〜(11)式を、まずに=1において、■=1〜
2oに対して実行し、つぎにに=2.・・・・、8とし
てゆき、−順すると、また最初にもどるようにすること
により、iを1つずつ進めてゆくことができる。To execute the above calculation procedure, the address codes AD1 to AD4. Write command signals WR4 to 7, 10. Read command signals QC1~e, 7A, 7B (6)~(1
1) The equations should be output in the order of the equations0 (6) to (11), first with =1, then ■=1 to
2o, then =2. . . . , 8, then in - order, and then back to the beginning, so that i can be incremented one by one.
差分包絡線データレジスタ62′は、■=1〜2゜14
′
の2oワードのレジスタからなる。したがって、■=1
〜20の新しい20個のΔLEi+1(K、■)カ求ま
ると、そのあと、この新しいΔLEi、(K、I)Fi
、、差分包絡線データレジスタ63の内部の対応する2
0個の番地のレジスタへ転送される。この転送の速度は
、差分包絡線データレジスタ63の読出速度、すなわち
、アドレスコードADsの更新速度に一致していなけJ
tげならない。またこの速度は、最終的にエンベロープ
データLEi2.が出力される周期に対応する。差分包
絡線データレジスタ63のアドレスADsは常に160
を周期として循環的に変化し、ΔLE、 (K、 I
)がアドレスコードAD5で決まる(K、I)にしたが
って、つぎつぎ出力される。シフトゲート6
定ピッ!・数だけシフl− して、δ, (K, I
)を出力し、加減算器66とレジスタ66により累算し
てゆく。The differential envelope data register 62' has ■=1 to 2°14
′ consists of 2o word registers. Therefore, ■=1
~20 new ΔLEi+1(K, ■) is found, then this new ΔLEi, (K, I)Fi
, , the corresponding 2 inside the differential envelope data register 63
Transferred to register at address 0. The speed of this transfer must match the read speed of the differential envelope data register 63, that is, the update speed of the address code ADs.
Don't give up. Moreover, this speed is finally determined by the envelope data LEi2. corresponds to the period in which is output. The address ADs of the differential envelope data register 63 is always 160.
ΔLE, (K, I
) are output one after another according to (K, I) determined by address code AD5. Shift gate 6 constant beep!・Shift by the number l−, δ, (K, I
) is output and accumulated by the adder/subtractor 66 and the register 66.
第9図は第8図の実施例に用いるパラメータROM7の
データの例である。番地0は、パーカッシブかノーマル
エンベロープかなど音の基本性質を示すMOD E :
l −I− トと、■=1〜20の20本の包絡線のう
ち最大何本を出力するかを指定する高調波制限コードよ
り成る。番地1は先述のレリーズアドレスである。番地
2〜21は、20本33 ・“−二
の包絡線信号に対応する各タイムスロットが、何番目の
エンベロープデータを使用するかを指定するデータのテ
ーブルである。22〜41番地は20個のスロープデー
タである。42番地は立上り部分のポイントインタバル
PIとポイントナンバーPNである。43〜62.63
〜82,・・・・・・。FIG. 9 shows an example of data in the parameter ROM 7 used in the embodiment shown in FIG. Address 0 indicates the basic nature of the sound, such as percussive or normal envelope. MOD E:
It consists of a harmonic limit code that specifies the maximum number of envelopes to output out of the 20 envelopes of ■=1 to 20. Address 1 is the release address mentioned above. Addresses 2 to 21 are a table of data that specifies the number of envelope data to be used in each time slot corresponding to the 20 envelope signals. Addresses 22 to 41 are 20 envelope data tables. This is the slope data. Address 42 is the point interval PI and point number PN of the rising part. 43 to 62.63
~82,...
103〜122番地は各20個ずつPNNダグループd
B差分データである。12323番地ぎのPIとPNで
ある。124〜143,144〜1 63 、 1 6
4〜183,・・ 。Addresses 103 to 122 have 20 PNN groups d each.
B is differential data. These are the PI and PN at address 12323. 124-143, 144-163, 16
4~183,...
は各20個ずつのdB差分データである。以降同様の配
列となっている。このような構成のパラメータが複数セ
ット用意されている。それぞれのセットは特定の音色の
特定の音域に対応して設けられている。are 20 dB difference data each. From then on, the arrangement is the same. Multiple sets of parameters with such a configuration are prepared. Each set is provided corresponding to a specific range of a specific tone.
第8図のアドレスコントローラ50KCPU3(第1図
)からアドレスコード、データ、制御信号IORQ,W
Rが供給されて、音色コード、ノートオクターブデータ
、鍵ONOFFデータが供給されると、それらのデータ
をもとにして、パラ34 ベーン
メータROMの内の指示された音色領域の中のノートオ
クターブに対応.するパラメータセットが入っている領
域のスタートアドレスが判る。(このスタートアドレス
は、CPU3から直接与えるようにしてもJ二い。)こ
のスタートアドレスをパラメータROMヘアドレスバス
ADを介して供給し、データをRDBより読み出して、
アドレスコントローラ60の内部のレジスタに格納する
。つぎつぎにアドレスを進めて、0〜21番地のデータ
を取り込む。つぎにスロープデータを22〜41番地よ
り読出してスロープデータレジスタ56に格納する。つ
ぎに42番地のl) IとPNをアドレスコントローラ
6o内の所定のレジスタに格納する。Address code, data, control signals IORQ, W from address controller 50KCPU3 (FIG. 1) in FIG.
When R is supplied, and tone code, note octave data, and key ONOFF data are supplied, based on these data, it corresponds to the note octave in the specified tone area in Para 34 Vane meter ROM. .. You can find the start address of the area containing the parameter set. (This start address can also be given directly from the CPU 3.) This start address is supplied to the parameter ROM via the address bus AD, and the data is read from RDB.
It is stored in a register inside the address controller 60. The address is advanced one after another and the data from addresses 0 to 21 are taken in. Next, the slope data is read from addresses 22 to 41 and stored in the slope data register 56. Next, I and PN at address 42 are stored in a predetermined register in the address controller 6o.
つぎに43〜62番地のdB差分デ―りΔE1(K,
I ) 、をdB差分レジスタ56に格納する。Next, the dB difference data ΔE1(K,
I), is stored in the dB difference register 56.
以上のデータを読み込んだので(6)〜(11)式の演
算が先述の手順で行なえる。モード、高調波制限コード
、レリーズアドレス、タイムスロ・ント/包絡線番号テ
ーブル、PI,PMなどは、各チャンネルごとに必要な
ので、それぞれを格納するレジスタをアドレスコントロ
ーラの内部に備えている。Since the above data has been read, the calculations of equations (6) to (11) can be performed using the procedure described above. Since the mode, harmonic limit code, release address, time slot/envelope number table, PI, PM, etc. are necessary for each channel, registers for storing them are provided inside the address controller.
第9図において、高調波制限コードMは1〜2゜の数で
、この数Mを越え20以下の包絡線サンプルとして、ゼ
ロを出力するように指定する。このためには、(M+1
)〜20に対してはΔEiとして負の大きい数を適用す
ることにより、ΔLE、として負の大きい数とし、シフ
ト量を小さくとっておくことにより、δ、を負の大きな
数とする。このようにすることにより、加減算器65に
おける累積値を負数としてしまう。一方、一般に包絡線
サンプルは通常ゼロか正の値でよい。したがって、加減
算器66の演算結果が負のときは、これを検出して、ゼ
ロを強制的に出力するように制御線68を設けている。In FIG. 9, the harmonic limit code M is a number between 1 and 2 degrees, and specifies that zero is output as an envelope sample that exceeds this number M and is 20 or less. For this, (M+1
) to 20, by applying a large negative number as ΔEi, ΔLE is set to a large negative number, and by keeping the shift amount small, δ is set to a large negative number. By doing this, the cumulative value in the adder/subtractor 65 becomes a negative number. On the other hand, in general, envelope samples may typically be zero or positive values. Therefore, when the calculation result of the adder/subtractor 66 is negative, a control line 68 is provided so as to detect this and forcibly output zero.
このようにすれば、不用な包絡線サンプルをゼロとする
ことができる。In this way, unnecessary envelope samples can be reduced to zero.
第9図においてタイムスロット/包絡線番号テーブルは
、I=1〜2oのp5イムスロットの任意のタイムスロ
ットの包絡線のdB差分データΔEi(K、I)をIが
異なる他のデータΔに、 (K、 I’)(I’や)で
代用する際に、Iと1′の対応表を与えるものである。In FIG. 9, the time slot/envelope number table is such that the dB difference data ΔEi (K, I) of the envelope of any time slot of p5 time slots with I=1 to 2o is converted to other data Δ with different I. It provides a correspondence table between I and 1' when substituting (K, I') (I' and).
このようにしておくと、ΔEi(K、I)としては、I
−1〜20の全部をもつ必要がなく、■=1〜10を準
備しておきl−11〜2oについては、I−=1〜10
のうちの適切なもの、形状の似ているものを選択するよ
うにできる。このためには、l−11〜20の語算にお
いて、■=1〜10に対応するΔEi(K、 I )の
格納されているアドレスを出力するようなアドレス変換
操作を行なえばよい。このようなアドレスの変換は、マ
イクロコンビーータやミニコンピー−夕の相対番地や間
接番地の操作と同様の11v!作により実現できる。By doing this, ΔEi (K, I) becomes I
It is not necessary to have all of -1 to 20, but prepare ■ = 1 to 10, and for l-11 to 2o, I- = 1 to 10.
You can select an appropriate one or one with a similar shape. For this purpose, in the word calculation of l-11 to 20, an address conversion operation such as outputting the address where ΔEi (K, I) corresponding to ■=1 to 10 is stored may be performed. Such address conversion is similar to the operation of relative addresses and indirect addresses on microcomputers and minicomputers. This can be achieved by creating.
第8図のトレモロ変W1ルジスタ64に供給するデータ
は、周期的に変動する波形の差分PCMデータをROM
に格納したものを読出すようにすれば」二い。The data supplied to the tremolo variable W1 register 64 in FIG.
If you read what is stored in ``2.''
以上のように、第8図に示したマイクロプロセッサ構造
のサンプル演′#A器を用いることによってパスライン
に接続したレジスタ群と加減算器などに上り、プログラ
ムによって所定の演算ができる0(6)〜(11)式の
手順は1つの例であって、一部の37 ・、−一
データを省いたり、あるいは、手順を変更することによ
り種々の実施例を構成できる。As described above, by using the sample arithmetic unit with the microprocessor structure shown in FIG. 8, the 0(6) The procedure of equations (11) to (11) is one example, and various embodiments can be constructed by omitting some of the 37·, -1 data or changing the procedure.
アドレスコントローラ50.タイミングパルスジェネレ
ータ51.シーケンサ52.命令解読器53は、既に種
々のマイクロプロセッサで知られているので、その詳細
については省く。Address controller 50. Timing pulse generator 51. Sequencer 52. Since the instruction decoder 53 is already known in various microprocessors, its details will be omitted.
上記説明において、鍵ONの状態が続くと、レリーズア
ドレスRADの手前で一定の包絡線サンプルを出しつづ
けるようにしたが、RAD−1に到達するとそのあとか
ら、さらに手前のアドレスに飛ばすことにより、たとえ
ば第3図(b)で説明すれば、86〜S1.を繰り返す
ようにアドレスの操作を行なってもよい。また、86〜
S1.を繰返すのでなく、Sl、からS6〜S16の間
のアドレスに適当に飛ぶようにしてもよい。このような
アドレスの操作は、擬似ランダムシーケンス発生器の出
力するランダムコードをアドレスに加算または減算する
ことによって実現することができる。In the above explanation, when the key remains in the ON state, a certain envelope sample is continued to be output before the release address RAD, but when it reaches RAD-1, it is skipped to an even earlier address after that. For example, referring to FIG. 3(b), 86 to S1. The address may be manipulated repeatedly. Also, 86~
S1. Instead of repeating , it may be possible to jump to an appropriate address from S1 to S6 to S16. Such address manipulation can be realized by adding or subtracting a random code output from a pseudo-random sequence generator to or from an address.
レリーズ過程の一種として、楽器ではダンパーをかけた
り、ミー−ティングを高速でかけたりす38べ一:゛
ることか要求される。この」:うな要求が発生した場合
、dB差分データを負の大きい値にすることにより、累
算により急速な減衰を実現できる。このためには、ΔF
として所定の値を書き込むような手順をつくっておけば
良い。As a type of release process, musical instruments require 38 steps such as applying a damper or applying a high-speed meeting. When such a request occurs, by setting the dB difference data to a large negative value, rapid attenuation can be achieved through accumulation. For this, ΔF
All you have to do is create a procedure to write a predetermined value as .
第10図は、第8図の実施例のタイミングを示す図であ
る。第10図(八け、正弦波波形のサンプル並びを示す
もので、ある1つの正弦波波形のサンプル周期は20μ
Bである。第10図(B)は、20μsの中を拡大した
もので、この中に8×お〜160個のタイムスロットが
あり、160個のサンプルが存在する。各サンプルは、
125nsきざみで処理される。チャンネル1(CHl
)には、20個のサレプルがある。CH2〜8も同様で
ある。一方、第10図(qは、問に同期しながら差分包
絡線サンプルΔLE、、の4算を行なうタイミングであ
る。160μBを学位とするチャンネルタイムスロツー
・CH8が1〜8まで設けられている。CH31では、
チャンネル1のΔLEi(1,I)の手泪算が行なわれ
、以下順に対応するチヤンネルの計算が行なわれる。1
6oX8=1280Ils(1,25m5)周期で各チ
ャンネルのΔLE、計算が繰り返される。第10図−は
、各チャンネルタイムスロ、)CH8の内部を表わした
もので、例として、CH31を拡大している。CH31
の中には、6μBを単位として、処理タイムスロットP
TSが1〜32まである。PTS(I)、I=1〜20
ではチャンネル1における、20個のスペクトル(正弦
波形)に対応する差分包絡線サンプルΔLE。FIG. 10 is a diagram showing the timing of the embodiment of FIG. 8. Figure 10 (8) This shows the sample arrangement of a sine wave waveform, and the sample period of one sine wave waveform is 20μ.
It is B. FIG. 10(B) is an enlarged view of 20 μs, in which there are 8×160 time slots and 160 samples. Each sample is
It is processed in 125ns increments. Channel 1 (CHl
) has 20 salepules. The same applies to CH2-8. On the other hand, in FIG. 10 (q is the timing at which the four calculations of the differential envelope samples ΔLE, . In CH31,
A manual calculation of ΔLEi (1, I) for channel 1 is performed, and calculations for the corresponding channels are performed in the following order. 1
The calculation of ΔLE for each channel is repeated at a cycle of 6oX8=1280Ils (1,25m5). FIG. 10 shows the inside of each channel time slot ()CH8, and as an example, CH31 is enlarged. CH31
In the processing time slot P, the unit is 6 μB.
There are TSs from 1 to 32. PTS(I), I=1-20
Here are the difference envelope samples ΔLE corresponding to 20 spectra (sine waveforms) in channel 1.
(K、I)を計算する。そして、PTS21の前半の2
.5μsにおいて、計算された20個のΔLEi(K。Calculate (K, I). And the first 2 of PTS21
.. At 5 μs, 20 calculated ΔLEi(K.
■)値を第10図(jに示すように125ngきざみで
、差分包絡線レジスタ63(第8図)へ転送する。この
転送のタイミングは、CH31〜8で異なる。たとえば
、CH35ではPST24の後半で実行される。第10
図(Elは、各処理タイムスロットPT31〜2oの中
味をi:拡大したものである。PT81〜20は、それ
ぞれ、命令タイムスロッ)IT81〜6の6つの部分に
分かれている。■) The value is transferred to the differential envelope register 63 (Fig. 8) in 125 ng increments as shown in Fig. 10 (j). The timing of this transfer differs for CH31 to CH8. For example, in CH35, the second half of PST24 It is executed in the 10th
(El is an i: enlarged view of the contents of each processing time slot PT31-2o. PT81-20 are instruction time slots) IT81-6, respectively.
それぞれは830nsの長さである。これらの命令タイ
ムスロッ)ITSにおいて前記(6)〜(11)式の命
令が実行される。2181〜200間は、第8図の実施
例において、加減算器61を中心とする演算が行なわれ
る。PT821〜32の間に、第8図におけるΔAMi
(K、I)、 S LOP E (K、I)。Each is 830ns long. In these instruction time slots (ITS), the instructions in formulas (6) to (11) are executed. Between 2181 and 200, calculations centering on the adder/subtractor 61 are performed in the embodiment of FIG. Between PT821 and PT32, ΔAMi in FIG.
(K, I), S LOP E (K, I).
ΔE、 (K、 I )を中心とするデータの新たな書
き込みをデータバスDBを介して行なう〇
第3図の包絡線の形状において、パーカッシブ形の場合
、指数関数で減衰する場合には、ΔEは減衰過程におい
ては、iにかかわらず一定の値で良いことになるから、
減衰過程における代表値として、一種のΔEを持つだけ
で良くなり、大幅なデータ圧縮ができることになる。A new write of data centering on ΔE, (K, I) is performed via the data bus DB. In the shape of the envelope shown in Figure 3, in the case of percussive type, when attenuating with an exponential function, ΔE In the attenuation process, it is sufficient to have a constant value regardless of i, so
It is sufficient to have one kind of ΔE as a representative value in the attenuation process, and a large amount of data compression can be achieved.
第4図の対数−直線変換器35の変換特性として、入力
Snが小さいとき、たとえば−80dB以下に相当する
入力コードに対しては、LEnとしてゼロを出力する」
:うに、ROMを構成してもよい。As a conversion characteristic of the logarithmic-linear converter 35 in FIG. 4, when the input Sn is small, for example, for an input code corresponding to -80 dB or less, zero is output as LEn.
:Uni, ROM may be configured.
以」−のように本発明にJ: hげ、次のような優れた
効果が得られる。According to the present invention, the following excellent effects can be obtained.
41、、、、。41,,,,.
(1)包絡線サンプルをディジタルデータとして記憶し
、これをもとに、補間演算しているので、まばらな包絡
線サンプルをもとにして、なめらかに連続する包絡線信
号データが得られる。(1) Since envelope samples are stored as digital data and interpolation calculations are performed based on this, smoothly continuous envelope signal data can be obtained based on sparse envelope samples.
(2)包絡線サンプルを差分PCMデータとして記憶し
ておき、これを累算するようにしているので、包絡線サ
ンプルを単純に連続的に読み出すことが適切でない、鍵
ON −+ OF Fへの変化時点においても、なめら
かな包絡線変化がつくり出せる。(2) Since the envelope samples are stored as differential PCM data and accumulated, it is not appropriate to simply read out the envelope samples continuously. Even at the point of change, a smooth envelope change can be created.
(3)差分PCMデータを包絡線サンプルのdB表示尺
度上でとるようにしているから、指数的減衰過程が、d
B差分の加減算で実現でき、乗算器を必要としない。(3) Since the differential PCM data is taken on the dB display scale of the envelope sample, the exponential decay process
This can be achieved by adding and subtracting B differences and does not require a multiplier.
(+)dB尺度上の包絡線サンプルSi を対数直線
変換しているが、乗算器を使う場合にくらべ小規模のR
OMのみで良く、その後で直線補間を行なうので、楽音
の時間変化が折線状のなめらかで不連続のない形にでき
る。Although the envelope sample Si on the (+) dB scale is log-linearly transformed, the R is smaller than when using a multiplier.
Only OM is required, and then linear interpolation is performed, so that the time change of musical tones can be made into a polygonal, smooth and non-discontinuous form.
42 ベージ
第1図は本発明を採用した電子楽器のブロック図、第2
図は本発明の基本構成を示すブロック図、第3図は本発
明の包絡線信号発生装置の扱う包絡線信号波形を示す図
、第4図は本発明の実施例の要部のブロック図、第6図
、第6図は本発明に用いるデータのフォーマットの一例
を示す図、第7図はアドレス演算レジスタを示す図、第
8図は本発明の他の実施例のブロック図、第9図はその
データのフォーマットの一例を示す図、第10図はその
タイミングチャートを示す図である。
7・・・・・・記憶器、20・・・・・・サンプル演算
器、23・・・・・・補間計算器〇
代理人の氏名 弁理士 中 尾 敏 男 ほか1名第6
図
詩m昭58−200297(14)
第8図
4
(tc、r)
Rρβ B
D
cs 嶋R(ssI
雨 5ρ )Dl 1acz 、(可 A
DR
C,歎、L 祷(k、I)Ap、RJa
c35?
94“C入り
705
TP(r jhtpr
ADz WRa 0C4
62、、、’l’R911’It/’/N ”s〜
4ご! ニー(
第7図
Rν2 0C2ApJ
”5tltJ Qt lit!14ba
Hcoprp oc4 1u
(x山 4E′″′ 〜
+l+tl
祷、 ρCりA、
、c、
、 (4Pt Wfil
lt6@り ’CA’
16 w121G#is
at9濱勘鈴 ゎ、−、、
e、7C42 Page Figure 1 is a block diagram of an electronic musical instrument adopting the present invention, Figure 2 is a block diagram of an electronic musical instrument adopting the present invention.
3 is a block diagram showing the basic configuration of the present invention, FIG. 3 is a diagram showing the envelope signal waveform handled by the envelope signal generator of the present invention, FIG. 4 is a block diagram of the main part of the embodiment of the present invention, 6, FIG. 6 is a diagram showing an example of the data format used in the present invention, FIG. 7 is a diagram showing an address calculation register, FIG. 8 is a block diagram of another embodiment of the present invention, and FIG. is a diagram showing an example of the format of the data, and FIG. 10 is a diagram showing the timing chart. 7...Memory unit, 20...Sample calculation unit, 23...Interpolation calculator〇Name of agent Patent attorney Toshio Nakao and 1 other person No. 6
Illustration poem m 1977-200297 (14) Fig. 8 4 (tc, r) Rρβ B D cs Shima R (ssI rain 5ρ) Dl 1acz, (possible A
DR C, 歭, L prayer (k, I) Ap, RJa
c35? 94"C705 TP(r jhtpr ADz WRa 0C4 62,,,'l'R911'It/'/N"s~ 4 go! Knee (Fig. 7 Rν2 0C2ApJ
”5tltJ Qt lit!14ba
Hcoprp oc4 1u
(x mountain 4E′″′ ~ +l+tl prayer, ρCriA,
,c,
, (4Pt Wfil
lt6@ri 'CA'
16 w121G#is
at9 Hama Kanzu ゎ、-、、
e, 7C
Claims (1)
器と、上記記憶器から包絡線信号を順次読出して包絡線
サンプルを生成するサンプル演算器と、上記包絡線サン
プルの相隣るものの間を補間演算する補間計算器とを備
え、上記記憶器が記憶しているデータは、包絡線信号を
対数変換しさらにその差分をとった対数差分値であって
、上記サンプル演算器は上記対数差分値を順次累算する
ことにより対数化包絡線サンプルを生成し、さらに累算
値を対数−直線変換して、包結線サンプルを生成するよ
うにした包絡線信号発生装置。 (2、特許請求の範囲第1項の記載において、記憶器は
、包絡線信号の立上りと立下り区間の少なくとも一方に
おいて、傾斜に対応したスロープデータを記憶し、上記
サンプル演算器は、上記スロープデータにより指定され
るスロープ値を、上記室2べ一〕 上りと立下り区間において包絡線サンプルに加えること
により、急峻な包絡線信号を生成し得るようにした包絡
線信号発生装置。 (3)特許請求の範囲第1項の記載において、包絡線サ
ンプルの生成周期を可変にすると共に、生成周期に応じ
て補間演算区間を可変とした包絡線信号発生装置。 (4)特許請求の範囲第1項の記載において、記憶器に
記憶されたディジタルデータの読み出しを、鍵OFF時
に辷1、レリーズ過程のアドレスに飛ぶようにした包絡
線信号発生装置。 (5)特許請求の範囲第1項の記載において、記憶器に
記憶さ九たディジタルデータの読み出しを、鍵ONが長
時間続くときに、データΩアドレスがランダムに変化す
るJ:うにしたことを特徴とする包絡線信号発生装置。 (6)特許請求の範囲第1項の記載において、サンプル
演算器と捕間演算器を時分割多重動作させ、複数の包路
線イ計りを発生するようにした包絡線信号発生装置。[Scope of Claims] (1) A digital storage device that stores envelope signals of musical tones, a sample calculator that sequentially reads envelope signals from the storage device and generates envelope samples, and the envelope sample and an interpolation calculator that performs an interpolation calculation between adjacent ones of the samples. An envelope signal generating device, wherein the arithmetic unit sequentially accumulates the logarithmic difference values to generate logarithmized envelope samples, and further performs logarithmic-linear conversion on the accumulated values to generate envelope samples. (2. In the statement of claim 1, the storage device stores slope data corresponding to the slope in at least one of the rising and falling sections of the envelope signal, and the sample arithmetic unit stores the slope data corresponding to the slope in at least one of the rising and falling sections of the envelope signal. An envelope signal generator capable of generating a steep envelope signal by adding the slope value specified by the data to the envelope sample in the rising and falling sections of the chamber 2. (3) Claim 1 provides an envelope signal generating device in which the generation cycle of envelope samples is made variable and the interpolation calculation interval is made variable in accordance with the generation cycle. (4) Claim 1 (5) The envelope signal generating device according to claim 1, wherein reading of digital data stored in a memory device is made to jump to the address of the release process when the key is turned off. (5) The description of claim 1. An envelope signal generating device characterized in that the data Ω address changes randomly when the key is kept ON for a long time when reading the digital data stored in the memory device. (6) An envelope signal generating device according to claim 1, wherein the sample computing unit and the interpolation computing unit are time-division multiplexed to generate a plurality of envelope curves.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57084235A JPS58200297A (en) | 1982-05-18 | 1982-05-18 | Envelope signal generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57084235A JPS58200297A (en) | 1982-05-18 | 1982-05-18 | Envelope signal generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58200297A true JPS58200297A (en) | 1983-11-21 |
JPH0310959B2 JPH0310959B2 (en) | 1991-02-14 |
Family
ID=13824803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57084235A Granted JPS58200297A (en) | 1982-05-18 | 1982-05-18 | Envelope signal generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58200297A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61209496A (en) * | 1985-03-14 | 1986-09-17 | ヤマハ株式会社 | Electronic musical instrument |
JPS62111288A (en) * | 1985-11-08 | 1987-05-22 | カシオ計算機株式会社 | Envelope generator for electronic musical apparatus |
JPS6491197A (en) * | 1987-10-02 | 1989-04-10 | Casio Computer Co Ltd | Musical sound synthesizer |
JPH03126094A (en) * | 1989-10-11 | 1991-05-29 | Yamaha Corp | Filter device for electronic musical instrument |
JPH0594194A (en) * | 1991-10-03 | 1993-04-16 | Casio Comput Co Ltd | Musical tone synthesizing device |
JPH07152380A (en) * | 1994-08-19 | 1995-06-16 | Yamaha Corp | Musical sound control information generating device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51132818A (en) * | 1974-12-27 | 1976-11-18 | Kawai Musical Instr Mfg Co Ltd | Electron musical instrument |
JPS5383612A (en) * | 1976-12-29 | 1978-07-24 | Nippon Gakki Seizo Kk | Wave generator for electronic musical instruments |
JPS5465020A (en) * | 1977-11-01 | 1979-05-25 | Nippon Gakki Seizo Kk | Waveform generator of electronic musical instruments |
JPS5540417A (en) * | 1978-09-15 | 1980-03-21 | Casio Computer Co Ltd | Controlling tone generation in electronic musical instrument |
JPS5543552A (en) * | 1978-09-25 | 1980-03-27 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS5565995A (en) * | 1978-11-11 | 1980-05-17 | Nippon Musical Instruments Mfg | Electronic musical instrument |
-
1982
- 1982-05-18 JP JP57084235A patent/JPS58200297A/en active Granted
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51132818A (en) * | 1974-12-27 | 1976-11-18 | Kawai Musical Instr Mfg Co Ltd | Electron musical instrument |
JPS5383612A (en) * | 1976-12-29 | 1978-07-24 | Nippon Gakki Seizo Kk | Wave generator for electronic musical instruments |
JPS5465020A (en) * | 1977-11-01 | 1979-05-25 | Nippon Gakki Seizo Kk | Waveform generator of electronic musical instruments |
JPS5540417A (en) * | 1978-09-15 | 1980-03-21 | Casio Computer Co Ltd | Controlling tone generation in electronic musical instrument |
JPS5543552A (en) * | 1978-09-25 | 1980-03-27 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS5565995A (en) * | 1978-11-11 | 1980-05-17 | Nippon Musical Instruments Mfg | Electronic musical instrument |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61209496A (en) * | 1985-03-14 | 1986-09-17 | ヤマハ株式会社 | Electronic musical instrument |
JPH0782336B2 (en) * | 1985-03-14 | 1995-09-06 | ヤマハ株式会社 | Electronic musical instrument |
JPS62111288A (en) * | 1985-11-08 | 1987-05-22 | カシオ計算機株式会社 | Envelope generator for electronic musical apparatus |
JPS6491197A (en) * | 1987-10-02 | 1989-04-10 | Casio Computer Co Ltd | Musical sound synthesizer |
JP2722460B2 (en) * | 1987-10-02 | 1998-03-04 | カシオ計算機株式会社 | Music synthesizer |
JPH03126094A (en) * | 1989-10-11 | 1991-05-29 | Yamaha Corp | Filter device for electronic musical instrument |
US5631434A (en) * | 1989-10-11 | 1997-05-20 | Yamaha Corporation | Filtering apparatus for an electronic musical instrument |
JP2751470B2 (en) * | 1989-10-11 | 1998-05-18 | ヤマハ株式会社 | Electronic musical instrument filter device |
USRE38003E1 (en) * | 1989-10-11 | 2003-02-25 | Yamaha Corporation | Filtering apparatus for an electronic musical instrument |
JPH0594194A (en) * | 1991-10-03 | 1993-04-16 | Casio Comput Co Ltd | Musical tone synthesizing device |
JPH07152380A (en) * | 1994-08-19 | 1995-06-16 | Yamaha Corp | Musical sound control information generating device |
JP2699886B2 (en) * | 1994-08-19 | 1998-01-19 | ヤマハ株式会社 | Music control information generator |
Also Published As
Publication number | Publication date |
---|---|
JPH0310959B2 (en) | 1991-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05165480A (en) | Waveform generator | |
EP0454047B1 (en) | Tone waveform generation apparatus | |
CN101149916B (en) | Filter device and electronic musical instrument using the filter device | |
JP2921376B2 (en) | Tone generator | |
JPS58200297A (en) | Envelope signal generator | |
EP0235538B1 (en) | Waveform generator for electronic musical instrument | |
JPH0642149B2 (en) | Electronic musical instrument | |
JPS6140119B2 (en) | ||
JPS59168493A (en) | Musical tone waveform generator | |
JPH0573031B2 (en) | ||
JPS58200296A (en) | Envelope signal generator | |
JPS58200294A (en) | Envelope signal generator | |
JPS6330638B2 (en) | ||
JPS6352400B2 (en) | ||
JP2723041B2 (en) | Tone generator | |
JP3094759B2 (en) | Music signal distribution processor | |
US5861568A (en) | Generation of wave functions by storage of parameters for piecewise linear approximations | |
JP2571918B2 (en) | Electronic musical instrument | |
JP2905904B2 (en) | Electronic musical instrument signal processor | |
JP2678970B2 (en) | Tone generator | |
JP3104873B2 (en) | Sound source device | |
JP3433764B2 (en) | Waveform changing device | |
JP2546464B2 (en) | Electronic musical instrument | |
JPH08234785A (en) | Sound source device | |
JPS5926790A (en) | Combination musical tone generator for musical instrument |