JPH052998B2 - - Google Patents
Info
- Publication number
- JPH052998B2 JPH052998B2 JP62196698A JP19669887A JPH052998B2 JP H052998 B2 JPH052998 B2 JP H052998B2 JP 62196698 A JP62196698 A JP 62196698A JP 19669887 A JP19669887 A JP 19669887A JP H052998 B2 JPH052998 B2 JP H052998B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- envelope
- memory
- circuit
- phase
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 229910001369 Brass Inorganic materials 0.000 description 3
- 239000010951 brass Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 210000003127 knee Anatomy 0.000 description 3
- 238000009527 percussion Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 1
- ZYXYTGQFPZEUFX-UHFFFAOYSA-N benzpyrimoxan Chemical compound O1C(OCCC1)C=1C(=NC=NC=1)OCC1=CC=C(C=C1)C(F)(F)F ZYXYTGQFPZEUFX-UHFFFAOYSA-N 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001743 silencing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
本発明は電子楽器におけるエンベロープ制御装
置に関し、とくに外部からデジタル量によつてエ
ンベロープ波形の立上りまたは立下りの形状を制
御する装置に関するものである。
従来デジタル式のエンベロープ発生器を制御す
るには多くのデジタル情報を必要とし、多くの音
色を発生可能とするためには非常に多くのデジタ
ル情報を記憶させておくメモリを必要とするので
不経済である。エンベロープ情報の精度は周波類
情報等の精度と比べそれほど精密である必要はな
く聴感的には鈍感な部類に属する。従つてエンベ
ロープに関してはそれほど精度を上げても無意味
なことである。
しかしながら、エンベロープの長さ、つまりア
タツクタイム、デイケイタイム等の時間のレンジ
は、ほぼ瞬時に変化するものから数秒に亘り変化
するものまでさまざまなものがあり、幅広いレン
ジをカバーする必要がある。従つて、従来はこの
レンを確保するため不必要な精度とデイジタル情
報を持たざるを得なかつた。
本願はこの欠点を改善するもので、その目的は
外部からエンベロープ波形の立上りまたは立下り
を制御する場合、スピードパラメータを用いるこ
とにより幅広いエンベロープの変化レンジを有し
かつデジタル情報を圧縮し少ない記憶容量で多く
の音色を発生することができる経済的かつ高性能
な電子楽器を提供することにある。
前記目的を達成するため、本発明の電子楽器
は、押鍵に応じ発生すべきエンベロープ波形を演
算し形成する電子楽器において、
発生されるエンベロープの時間を外部より変更
制御する操作子手段120と、
該操作子手段からの出力を前記演算に使用され
る演算値のビツト数より少ないビツト数のスピー
ドパラメータに変換する変換手段160,59
と、
該変換手段からのスピードパラメータを記憶す
るバツフアメモリ手段60,61と、
該バツフアメモリ手段から出力される前記スピ
ードパラメータを前記演算に使用される演算値に
変換するスピードパラメータデコード手段17
0,23とを設け、
該スピードパラメータデコード手段からの演算
値に基きエンベロープ波形を時分割で演算し形成
することを特徴とするものである。
以下本発明を実施例につき詳述する。
第1図は本発明を適用する電子楽器の概略説明
図である。
同図において、演奏者によつて操作される鍵盤
100からの鍵情報はキーアサイナ130によつ
て処理され、エンベロープ発生回路170へ送出
される。また、演奏者によつてセツトされたタブ
レツト110とエンベロープコントロールボリウ
ム120(操作子)はタブレツトデータ処理回路
140によりデータ処理され、本発明の要部のエ
ンベロープデータ制御回路160へ送られる。エ
ンベロープコントロールボリウム120の値は一
旦AD変換器150によつてAD変換された後送
出される。エンベロープデータ制御回路160は
それらのデータを処理し、エンベロープ発生回路
170へエンベロープの形状を決定するスピード
パラメータを送出する。エンベロープ発生回路1
70はそのスピードパラメータとキーアサイナ1
30の鍵情報によつてエンベロープを計算してバ
ツフアメモリ190へデータを転送する。また、
エンベロープ発生回路170はそのエンベロープ
の最終計算値を一時記憶メモリ180に時分割演
算のためのデータとして一時記憶させ次の演算に
具える。バツフアメモリ190は後述の実行制御
回路40によつてエンベロープ演算の速度と異な
る速度で繰返し読出され、データをDA変換器2
00へ送る。DA変換器200はエンベロープの
デジタル値をアナログ電圧に変換しエンベロープ
波形を形成する。
本発明を適用するエンベロープ発生回路は、特
願昭55−165721号のエンベロープ波形をスピード
パラメータを用いて表わし、所定タイミングで演
算する方式が好適である。
第2図は本発明に使用される上記既提案のエン
ベロープ発生回路の原理説明図である。
同図に示すように、本発明ではエンベロープを
複数の位相たとえば12の位相(以下これをフエ
ーズという)に分ける。
エンベロープのアタツク部はフエーズ1からフ
エーズ4までに分割される。
デイケイ部はフエーズ5からフエーズ8まで、
鍵の押されている状態はフエーズ8で停止され、
離鍵後リリース部のフエーズ9からフエーズ12
までの12のフエーズによつて表わされる。
次に、エンベロープデータは浮動小数点数とし
て表わされ、第1表に示す指数と仮数に分けれ
る。
The present invention relates to an envelope control device for an electronic musical instrument, and more particularly to a device for controlling the rise or fall shape of an envelope waveform using digital quantities from the outside. Conventional digital envelope generators require a lot of digital information to control, and in order to be able to generate many tones, they require memory to store a large amount of digital information, making them uneconomical. It is. The accuracy of envelope information does not need to be so precise as the accuracy of frequency information, etc., and belongs to the category of being audibly insensitive. Therefore, there is no point in increasing the precision of the envelope that much. However, the length of the envelope, that is, the time range of attack time, decay time, etc., varies from those that change almost instantly to those that change over several seconds, and it is necessary to cover a wide range. Therefore, in the past, in order to secure this lens, unnecessary precision and digital information had to be provided. The purpose of this application is to improve this drawback, and the purpose is to have a wide envelope change range by using the speed parameter when controlling the rise or fall of the envelope waveform from the outside, and to compress digital information so that the storage capacity is small. Our goal is to provide an economical and high-performance electronic musical instrument that can generate many tones. In order to achieve the above object, the electronic musical instrument of the present invention is an electronic musical instrument that calculates and forms an envelope waveform to be generated in response to a key press, and includes an operator means 120 that externally changes and controls the time of the generated envelope; Conversion means 160, 59 for converting the output from the operator means into a speed parameter having a smaller number of bits than the number of bits of the calculation value used in the calculation.
Buffer memory means 60, 61 for storing the speed parameters from the conversion means; Speed parameter decoding means 17 for converting the speed parameters output from the buffer memory means into calculation values used in the calculation.
0 and 23, and the envelope waveform is calculated and formed in a time-division manner based on the calculated value from the speed parameter decoding means. The present invention will be described in detail below with reference to examples. FIG. 1 is a schematic explanatory diagram of an electronic musical instrument to which the present invention is applied. In the figure, key information from a keyboard 100 operated by a performer is processed by a key assigner 130 and sent to an envelope generation circuit 170. Further, the tablet 110 and envelope control volume 120 (manipulator) set by the performer are data-processed by the tablet data processing circuit 140 and sent to the envelope data control circuit 160, which is the main part of the present invention. The value of the envelope control volume 120 is once subjected to AD conversion by the AD converter 150 and then sent out. Envelope data control circuit 160 processes the data and sends speed parameters that determine the shape of the envelope to envelope generation circuit 170. Envelope generation circuit 1
70 is its speed parameter and key assigner 1
The envelope is calculated using the key information of 30 and the data is transferred to the buffer memory 190. Also,
The envelope generating circuit 170 temporarily stores the final calculated value of the envelope in the temporary storage memory 180 as data for time-division calculation, and prepares it for the next calculation. The buffer memory 190 is repeatedly read out by an execution control circuit 40 (described later) at a speed different from the speed of envelope calculation, and the data is transferred to the DA converter 2.
Send to 00. The DA converter 200 converts the digital value of the envelope into an analog voltage to form an envelope waveform. The envelope generation circuit to which the present invention is applied preferably uses a method of expressing the envelope waveform of Japanese Patent Application No. 165721/1984 using a speed parameter and calculating at a predetermined timing. FIG. 2 is a diagram illustrating the principle of the previously proposed envelope generating circuit used in the present invention. As shown in the figure, in the present invention, the envelope is divided into a plurality of phases, for example, 12 phases (hereinafter referred to as phases). The attack portion of the envelope is divided into phases 1 to 4. The day-care section is from phase 5 to phase 8,
The pressed state of the key is stopped at phase 8,
Phase 9 to Phase 12 of the release section after key release
It is represented by 12 phases. The envelope data is then represented as a floating point number and divided into an exponent and a mantissa as shown in Table 1.
【表】
たとえば最大値を1以下とすると、エンベロー
プの最大レベルは指数「000」,仮数「000」で表
わされ、1000×20を0dbとすると、最小レベルは
指数「111」,仮数「000」で1000×2-7(−42db)
と表わされる。
そして、エンベロープの指数関数特性はこの浮
動小数点の特微を利用して形成される。すなわ
ち、デイケイ,リリース部は仮数部をダウンカウ
ントさせ、指数部をアツプカウントすれば容易に
形成することができる。また、アタツク部につい
ては後述の2進シフト回路によつてデータをフエ
ーズに対応してシフトすることにより得られる。
前述の2進浮動小数点数によつてADSRを表現
して形成する方法はてとえば本出願人の提案によ
る特開昭54−1609「電子オルガン用振幅発生器」
に開示されているので詳細は省略する。
本発明において、アクツク,デイケイ,リリー
スの長さはデジタルパラメータとして表わされ、
このパラメータをエンベロープの演算手段に有効
に適用される。
いま、リリース部を考えると、リリースの長さ
は1ミリ秒〜3秒に変化できるようにするため、
これを離散的にたとえば32段階に分割し、啖位置
を2進数の5ビツトで表わし、これをエンベロー
プのスピードパラメータとしてスピードパラメー
タデコーダに送り、
SL×SC/RT
SL;サステインレベル
SC;システムクロツク(計算時間)
RRT;リリース時間
に相当する値を発生する。この値はリリース時間
RTに含まれる各計算サイクル当りの変位量を意
味する。従つてリリース中の各フエーズ毎に異な
るスピードパラメータが与えられると、そのフエ
ーズに含まれる計算時間はその変位でリリースが
進行する。デイケイの場合も同様である。
第3図a,bは本発明に特に関連の深い第1図
のエンベロープ発生回路170の構成を示す説明
図であり、前述の浮動小数点の演算回路に上述の
スピードパラメータを適用した特願昭55−165721
号のエンベロープ発生回路のブロツク図である。
各構成の番号は提案例と同一とした。
同図aにおいて、キーデータの入力によりフエ
ーズ初期値発生回路11により、第2図に説明し
たエンベロープのADSRの各フエーズの初期値が
発生し、フエーズデコーダADSR制御回路12で
デコードされて系内の所要回路のフエーズの移行
制御に用いられる。その1つはフエーズ終値予測
回路19でありサステインレベルデータが入力さ
れて、各フエーズ終値の予測値が比較器18に送
られ、後述する演算部からの値と比較され、一致
すると一致信号がフエーズデコーダADSR制御回
路12に送られ、フエーズ加算器13に1が加算
されてフエーズメモリ10に記憶され、フエーズ
初期値発生回路11を介してフエーズデコーダ
ADSR制御回路12に送られて次のフエーズに移
行する。
一方、前述のリリース部またはデイケイ部にお
ける下降時間の変化部分を離散的にたとえば32分
割し各位置を5ビツトのスピードパラメータで表
わし、所要位置のスピードパラメータをスピード
パラメータデコーダ23に入れてデコードし前述
のSL×SC/RTの値を発生する。このデコーダ
23と次の2進シフト回路20はフエーズデコー
ダ制御回路12により制御され、リリースとデイ
ケイの場合はデコーダ出力は2進シフト回路20
をシフトすることなく通過し、加減算制御回路2
1に送られ、フエーズデコーダADSR制御回路1
2の制御により演算部への加算減算の制御を行な
うものでリリースとデイケイの場合は指数を加算
し仮数を減算させるように動作する。演算部の加
算器16と加算器17は加減算制御回路21から
のデータにより第1表の指数と仮数を格納した指
数メモリ14と仮数メモリ15から読出されるデ
ータを加減算し、比較器18とデータ選択回路2
4を送出される。比較器18では加算器16から
の加算された指数と加算器17からの減算された
仮数とをフエーズ終値予測回路19に格納された
それぞれ終値データと比較し一致あるいは終値を
超えるまで演算が繰返えされる。すなわち、加算
器16からの指数と加算器17からの仮数とをデ
ータ選択回路24に入力し、フエーズデコーダ
ADSR制御回路12の制御信号によつて、このデ
ータを指数メモリ14と仮数メモリ15に再び格
納する。このようにフエーズ毎に計算が繰返えさ
れ前述の5ビツトで表わされたパラメータに対応
する長さのリリースまたはデイケイが形成され
る。なお、データ選択回路24の機能として、た
えば加算器16がオーバフローした場合には、オ
ーバフロー検出回路28によつてオーバフローが
検出され、前記データを指数メモリ14と仮数メ
モリ15に送る代りに、前記メモリ出力を選択す
るかまたはフエエーズ初期振幅値発生回路22か
ら次のフエーズ初期値を選択して送るように制御
される。
次にアタツクの場合は、スピードパラメータデ
コーダ23からのデコードされたデータを2進シ
フト回路20に送る。2進シフト回路20はフエ
ーズに対応してデータを増大するようにシフトす
ると良好なアタツク形状が得られる。たとえば、
フエーズ1の時前記スピードパラメータデコーダ
23からのデータを2ビツト左シフト、すなわち
4倍にするようにシフトする。次にフエーズ2に
なると、前記データを1ビツト左シフト、すなわ
ち2倍にするようにシフトする。フエーズ3にな
るとシフトせずに送出し、フエーズ4は1ビツト
右シフト、すなわち1/2になるようにセツトする
と、第2図におけるような形状のアクツクが形成
される。
このようにして形成されたエンベロープの
ADSRの各フエーズの振幅が指数メモリ14と仮
数メモリ15に出力データとして一時記憶され
る。
以上のようにして所定の通常のエンベロープが
形成され、また同様に振幅変調効果のためのエン
ベロープも同一のエンベロープ発生器によつて形
成される。形成された振幅変調効果用エンベロー
プは一旦バツフアメモリ25に記憶される。ここ
でたとえばマリンバのようなリピート効果は所定
の繰り返し信号をスタート信号としてキーデータ
のラインに入力し、減衰音波形の形状のADSRパ
ラメータを設定すれば容易にリピート効果用エン
ベロープを得ることができる。
またクレツシエツド効果はすべての押鍵信号の
論理和の信号をスタート信号として入力させ立上
がりのおそいADSRパラメータを設定すれば同様
に得られる。
次にすべて計算された通常のエンベロープが指
数メモリ14仮数メモリ15から読出されデータ
選択回路39へ送られると同時に、バツフアメモ
リ25から実行制御回路40の制御のもとで振幅
変調効果用エンベロープが読出されデータ選択回
路39へ送られる。
ここで通常のエンベロープと振幅変調効果用エ
ンベロープが乗算されるが、本発明に使用された
浮動小数点数演算によるADSR発生器の特徴であ
る乗算方式について以下に述べる。
A=(1+a1+2-1+a2×2-2+a3×2-3)×2-c (1)
B=(1+b1×2-1+b2×2-2+b32- 3)×2-d (2)
A,Bの2つの数を2進数を使つた浮動小数点
数であらわすと(1),(2)式のようにあらわせる。こ
れは第1表に対応している数である。
いまAとBを乗算すると(3)式で表わされる。
A×B={1+(a1+b1)×2-1+(a2+b2)×2-2
+(a3+b3)×2-3+a1b1×2-2+(a1b2+a2b1)
×2-3
+(a1b3+a2b2+a3b1)×2-4+(a2b3+a3b3)×
2-5
+a3b3×2-6}×2-(C+d) (3)
(3)式をa1b1×2-2以下の項を切り捨てると
A×B≒{1+(a1+b1)×2-1+(a2+b2)×2-2
+(a3+b3)×3-3}×2-(c+d) (4)
(4)式で表わされるような近似式となる。
この近似式からわかるように、AとBとの乗算
は各々の仮数部の小数以下の加算と指数部の加算
によつて表わすことができる。この切り捨て誤差
は実測値によると最大誤差は±2dB程度であり、
単調増加または単調減少関数で表わされるエンベ
ロープ波形に適応できることが推測でき、また聴
感的な試験においても十分満足できる結果が得ら
れている。
乗算の第1のステツプは通常のADSRデータと
後述の発音される音色間あるいは音域によつて異
なる音量を出力させるためのラウドネスデータが
乗算される。まず、データ選択回路39によつて
通常のADSRデータが実行制御回路40の制御の
もとで選択され、指数部は指数加算器27の仮数
部は仮数加算器29へ送られる。
一方、データ選択回路30は実行制御回路40
の制御のもとでラウドネスデータを選択し同様に
指数加算器27および仮数加算器29のもう一つ
の入力へ送出する。指数加算器27は通常の
ADSRデータとラウドネスデータの指数部を加算
し指数減算器33へ送出する。同様に仮数加算器
29は仮数部を加算しラツチ34へ送る。もしこ
こで仮数部を加算した結果、桁上げがおこると指
数部の演算結果に対して数値1を減算するように
指数減算器33へ信号を送る。指数減算器33は
桁上げ信号がある場合指数に対し数値1を減算
し、ない場合にはそのままのデータをラツチ34
へ送出する。ラツチ34はそれらの演算結果をラ
ツチし第1のステツプを終了する。
次に第2のステツプとして前述の結果に対して
振幅変調効果用エンベロープを乗算する。第1の
ステツプと同様にデータ選択回路39は今度はバ
ツフアメモリ25のデータを選択し指数加算器2
7および仮数加算器29へ送る。データ選択回路
30はラツチ34のデータを選択し指数加算器2
7および仮数加算器29へ送る。指数加算器2
7、仮数加算器29、指数減算器33はステツプ
1と同様に動作し、その結果のデータはラツチ3
4にラツチされ指数部はデコーダ31へ仮数部は
2進シフト回路32へ送られる。デコーダ31は
指数部のデータをデコードし、2進シフト回路3
2を制御する。もしステツプ1およびステツプ2
の演算中に指数部桁上げが発生した場合、指数加
算器27から桁上げ信号がオーバフロー検出回路
26に送られる。
オーバフロー検出回路26はこの信号を保持し
デコーダ31へ送る。この信号はたとえば指数部
が−7−7=−17の結果である場合表現できるダ
イナミツクレンジ以外の数値を意味する。従つて
デコーダ31はこの信号がある場合数値を最小レ
ベルに丸めるように動作する。2進シフト回路は
デコーダ31の信号に基づいて仮数部データをシ
フトさせデータを浮動小数点数から固定小数点数
に直しバツフアメモリ190へ送出する。バツフ
アメモリ190は実行制御回路40の制御のもと
でこのデータを一時記憶する。バツフアメモリ1
90は実行制御回路40によつてADSR発生器の
演算レートと異なるレートで繰り返し読み出され
る。DA変換器200はこのデータをアナログ電
圧に変換しエンベロープ波形を形成する。
第3図bはラウドネスデータの入力部を示す具
体回路例である。
ラウドネスデータはラウドネスメモリ37に記
憶されているものと外部からコントロールされる
ラウドネスレベルデータによつて与えられる。ラ
ウドネスメモリ37は操作される鍵盤の周波数情
報と形成しようとする音色の情報によつて読み出
されデータ選択回路38に送られる。データ選択
回路38はこのデータとラウドネスレベルデータ
をデータ選択信号によつて選択する。選択された
ラウドネスデータは前述のように使用される。ラ
ウドネスレベルメモリ37のデータは発音される
音の周波数あるいは鍵盤によつてレベルをコント
ロールする。ラウドネスレベルデータは音色間の
音量バランスを調整するためのデータである。こ
のラウドネスレベルメモリ37は発音できる音色
数より少ない数のパターンを記憶させておきラウ
ドネスレベルデータからの音色間バランスのため
のデータと前述の浮動小数点乗算を行なえば少な
い容量のメモリですみ経済的にシステムが作られ
る。
第4図は本発明の要部の構成説明図であり、第
1図のエンベロープ制御回路160の詳細ブロツ
ク図を示す。
第1図におけるタブレツトデータ処理回路14
0によつて処理されたデータは第4図のタブレツ
トデータバスによつてエンベロープデータ制御回
路160に送られる。このデータバスによつて送
られるデータとしては、たとえば音の減衰時間を
長くするサステイーン効果(エンベロープの定常
状態を示すサステイーンレベルとは異なるもので
ある。)用スイツチのデータや、ピアノにおける
ダンパーペダルのような消音効果と同様な効果を
ねらつた演奏者のひざによつてコントロールする
ニーレバースイツチ、音色によつて振幅変調効果
を付加するためのマリンバススイツチ,クレツシ
エンドスイツチ、音を合成するシンセサイザスイ
ツチ等のスイツチのデータや、前述のサステイー
ン効果の減衰時間の長さを調整するサステイーン
タイムボリユーム、音の立上がり時間を調整する
クレツシエンドタイムボリユーム,シンセサイザ
における音のアタツク,デイケイ,サステイー
ン,リリースを調整するボリユーム等のデイジタ
ル化されたデータや、また発音される音色のタブ
レツトスイツチに付加されたデイジタル数(これ
を音色ナンバーという)等のデータが挙げられ
る。前述の各スイツチのデータはタブレツトデー
タメモリ50に記憶される。
第5図aはタブレツトデータメモリ50の内容
を図示している。タブレツトデータメモリ50は
たとえばRAMで構成され、ここでRAMの各番
地にそれぞれスイツチの状態が記憶される。たと
えば、上鍵盤サステイーンタブレツトスイツチ
US(以下USという)がONであれば“1”,の
OFFであれば“0”というように記憶される。
以下LSは下鍵盤サステイーンタブレツト,PS
は足鍵盤サステイーンタブレツト,PSSはパーカ
ツシヨン音(ピアノのような減衰音)サステイー
ンタブレツト,BSは金管木管系の音のサステイ
ーンタブレツト,KLはニーレバー,MAはマリ
ンバのような減衰音を繰返すような振幅変調効果
用のタブレツト,CRはクレツシエンド効果(音
をだんだん強くする)用のタブレツト,SYはシ
ンセサイザタブレツトである。以上のように各タ
ブレツトスイツチの状態がメモリ制御回路55に
よつて記憶される。
次に前述のボリユーム値がボリユーム値メモリ
58に記憶され、ボリユーム値メモリ58の内容
は第5図bに図示される。ここでUSTは上鍵盤
サステイーンタイムを示す。LSTは下鍵盤サス
テイーンタイム,…以下前記と同様である。さら
に、SYATはシンセサイザのアタツクタイムで
あり、SYDTはデイケイタイム,SYSLはサステ
イーンレベル(音の定常レベル),SYRTはリリ
ースタイムを示す。
また音色ナンバーデータがメモリ制御回路55
によつて音色ナンバーメモリ52に書込まれる。
この音色ナンバーはたとえば複数個ある音色のそ
れぞれに付けられたナンバーであり、それらを選
択的に1音色を発音させるような機構のものと
し、ここではそれぞれパーカシヨン音系列PS,
プラス系Bの2系列とする。
次に、バツフアメモリ61の内容は第5図eに
示される。
ここで
UF…上鍵盤フルート系
UO… 〃 オーケストラ系(ストリング等の音
色系列)
LF…下鍵盤フルート系
LO… 〃 オーケストラ系
PF…足鍵盤フルート系
PO… 〃 オーケストラ系
PS…パーカツシヨン系
B…プラス系(金管木管)
MA…マリンバ効果
CR…クレツシエンド効果
SY…シンセサイザ
とし、それぞれアタツク,デイケイ,サステイー
ン,リリース,ラウドネスの各データを記憶する
領域をもつている。このバツフアメモリ61は
RAMで構成される。
次に、エンベロープデータ制御回路160を説
明するにあたつて、たとえば第5図eの0番地か
ら順に処理していくものとすると、実行制御回路
40からの制御信号をもとにメモリ制御回路55
はバツフアメモリ61の0番地を指定する。0番
地はUFにおけるアクツクパラメータデータのメ
モリ領域である。
次に、メモリ制御回路55はエンベロープデー
タメモリ読出回路53へ信号を送る。エンベロー
プデータメモリ読出回路53はエンベロープデー
タメモリ54およびエンベロープデータ制御メモ
リ56へアドレス信号を送出する。
エンベロープデータメモリ54の内容は第5図
cに示され、エンベロープデータ制御メモリ56
の内容は第5図dに示される。エンベロープデー
タメモリ54は前述のアドレス信号によつてUF
のアタツクパラメータデータが読み出されデータ
セレクタ60へ送出する。それと同時にエンベロ
ープデータ制御メモリ56からエンベロープデー
タを制御するための信号が読出され、エンベロー
プデータ選択制御回路51へ送られる。この信号
は1ビツトで表わされ、エンベロープデータメモ
リ54に記憶されているデータかまたはボリユー
ム値メモリ58に記憶されるボリユームの値を選
択するための信号であり、この信号が“0”なら
エンベロープデータメモリ54の内容を、“1”
ならばボリユーム値メモリ58の内容を選択する
ように動作する。
エンベロープデータ選択制御回路51は前述の
信号を1つの入力とし、タブレツトデータメモリ
50からのデータをもう1つの入力とする。タブ
レツトデータメモリ50はメモリ制御回路55か
らの信号によつて内容が読出される。エンベロー
プデータ選択制御回路51はたとえばこの2つの
入力の論理積をとりデータセレクタ60へ送る。
たとえばタブレツトデータメモリ50のUSが
“1”であり、エンベロープデータ制御メモリ5
6のUFのアタツクコントロールデータが“0”
であれば、エンベロープデータ選択回路51の出
力信号は“0”となりデータセレクタ60のエン
ベロープデータメモリ54の出力を選択する。こ
のようにして、データセレクタ60はアタツクパ
ラメータデータをバツフアメモリ61に送り、メ
モリ制御回路55からの書込み信号によつてバツ
フアメモリ61内のUFのアクツクパラメータデ
ータの番地にそのデータを書込む。同様にして、
デイケイパラメータ,サステイーンレベル,ラウ
ドネスレベルの各データが書き込まれる。
一方、リリースパラメータ処理の際エンベロー
プデータ制御メモリ56から読出される信号が
“1”であると、エンベロープデータ選択制御回
路51においてタブレツトデータメモリ50から
の信号との論理積が“1”となり、データセレク
タ60は変換回路59のデータを選択する。ポリ
ユーム値メモリ58はメモリ制御回路55によつ
てUSTの値が読み出され変換回路59へデータ
を送る。変換回路59は複数の特性の異なる変換
回路をもつており、メモリ制御回路55によつて
どの特性を使用するかが指定される。このように
して、ボリユーム値メモリ58からのデータは変
換されデータセレクタ60に送られバツフアメモ
リ61に書き込まれる。結果として、UFのリリ
ース時間がボリユームによつてコントロールされ
る。以下UO等のデータが書き込まれる。
一方、パーカツシヨン系およびブラス系に関し
ては音色ナンバーメモリ52の内容の音色ナンバ
ーをメモリ制御回路55によつて読み出しエンベ
ロープデータメモリ読出回路53へ送る。エンベ
ロープデータメモリ読出回路53はこの音色ナン
バーによつてエンベロープデータメモリ54の中
のPSまたはBのどのデータを読出すかを決定す
る。以下前述の方法と同様にデータ処理を行な
う。
タブレツトデータメモリ50内のKLはもし
“1”であれば、たとえばUS,PS,BSが“1”
になるようにエンベロープデータ選択制御回路5
1に信号を送り、各信号と論理和をとるように働
く。このようにしてタブレツトだけではなくニー
レバーによつても減衰時間を制御できる。
また、もしMAが“1”であればUFと同様に
処理を行ない、“0”であればエンベロープデー
タメモリ54内のEFFECT OFFのデータをバツ
フアメモリ61に書き込む。これによつて効果を
付加するか否かを制御する。CRも同様である。
SYが“1”の時バツフアメモリ61へボリユー
ム値メモリ内のSYAT,SYDT,SYSL,SYRT
の各データを変換回路59を介して書込む。
次に第1図のエンベロープ発生回路170から
フエーズデータがメモリ制御回路55へ送られ
る。このフエーズデータと実行制御回路40から
の信号によつてバツフアメモリ61のアドレス指
定が実行される。たとえば、アタツクフエーズの
時はアタツクパラメータデータ,デイケイフエー
ズの時はデイケイパラメータデータのように、バ
ツフアメモリ61内のデータが読み出され、デー
タセレクタ57を介してエンベロープ発生回路1
70へ必要とするデータが時分割的に送られる。
次に、発音可能チヤンネル数以上に鍵盤が押さ
れた場合キーアサイナ130がこれを検出し、エ
ンベロープ発生回路170に接続されている一時
記憶メモリ180から各チヤンネルのフエーズデ
ータを読み出し、フエーズの最も進んだチヤンネ
ルを検出し、そのチヤンネルのエンベロープを計
算するタイミングに同期して要求信号をエンベロ
ープデータ制御回路160内のメモリ制御回路5
5へ送る。メモリ制御回路55はデータセレクタ
57へ高速パラメータデータを選択するように信
号を送る。このようにして、高速度で音の減衰が
終了するようなパラメータデータをエンベロープ
発生器170へ送ることによつてチヤンネルを早
く解除できる。
次にラウドネス制御について説明する。
エンベロープデータメモリ54のラウドネスレ
ベルデータはたとえば8ビツトであらわされ、
MSBをコントロールビツトとし下位の7ビツト
をデータとした時、このコントロールビツトが第
3図bのデータ選択信号になり、下位7ビツトが
ラウドネスレベルデータとなる。もし、このコン
トロールビツトが“1”の時、データ選択回路3
8はラウドネスレベルデータを選択する。次に、
コントロールビツトが0の時、データ選択回路3
8はラウドネスメモリ37の出力を選択する。ラ
ウドネスメモリ37は第1図のキーアサイナ13
0からの周波数情報(あるいは押されている鍵盤
情報でもよい)と音色情報で読出される。この音
色情報はたとえば前述のコントロールビツトが0
の時そのデータの下位の7ビツトに音色情報を記
憶させておけば、音色情報のラインはラウドネス
レベルデータのラインと同一のもので構成でき
る。
なお、実施例ではバツフアメモリ61から読出
された各データはデータセレクタ57を介して第
3図a,bにおけるエンベロープ発生回路170
へ送られ、エンベロープ発生回路170において
ADSRパラメータデータ,サステイーンレベルパ
ラメータ,ラウドネスレベルデータの入力に対し
前述のデータが分配されるわけであるが、ここで
時分割的に送られてきた各データをラツチするラ
ツチ回路が必要であるが、本明細書および図面に
は記述されていない。
以上説明したように、本発明によれば、外部か
らエンベロープ波形の立上りまたは立下りを制御
する場合、スピードパラメータを用いることによ
り幅広いエンベロープの変化レンジを有しかつデ
ジタル情報を圧縮し少ない記憶容量で多くの音色
を発生することができる経済的かつ高性能な電子
楽器を提供できる効果がある。[Table] For example, if the maximum value is 1 or less, the maximum level of the envelope is represented by the exponent "000" and the mantissa "000". If 1000 x 2 0 is 0db, the minimum level is the exponent "111" and the mantissa "000". 000” is 1000×2 -7 (−42db)
It is expressed as The exponential characteristic of the envelope is formed by utilizing this floating point feature. That is, the decay and release parts can be easily formed by down-counting the mantissa part and up-counting the exponent part. The attack portion is obtained by shifting data in accordance with the phase using a binary shift circuit, which will be described later. The above-mentioned method of expressing and forming ADSR using binary floating point numbers is based on the method proposed by the present applicant, ``Amplitude Generator for Electronic Organs,'' published in Japanese Patent Application Laid-open No. 54-1609.
Since it is disclosed in , the details are omitted. In the present invention, the actuation, decay, and release lengths are expressed as digital parameters,
This parameter is effectively applied to the envelope calculation means. Now, considering the release part, in order to be able to change the length of the release from 1 millisecond to 3 seconds,
Divide this discretely into, for example, 32 steps, express the position as a 5-bit binary number, and send this to the speed parameter decoder as the speed parameter of the envelope, SL×SC/RT SL; Sustain level SC; System clock (Calculation time) RRT: Generates a value equivalent to release time. This value is the release time
It means the amount of displacement per each calculation cycle included in RT. Therefore, if a different speed parameter is given for each phase during release, the calculation time included in that phase allows the release to proceed according to the displacement. The same is true for DAYK. FIGS. 3a and 3b are explanatory diagrams showing the configuration of the envelope generating circuit 170 shown in FIG. 1, which is particularly relevant to the present invention. −165721
FIG. 2 is a block diagram of the envelope generating circuit of the No.
The numbers for each configuration were the same as in the proposed example. In the same figure a, the initial value of each phase of ADSR of the envelope explained in FIG. It is used to control the phase transition of the required circuit. One of them is a phase end value prediction circuit 19, into which sustain level data is input, and the predicted value of each phase end value is sent to a comparator 18, where it is compared with a value from an arithmetic unit (described later), and when they match, a match signal is output. It is sent to the phase decoder ADSR control circuit 12, 1 is added to the phase adder 13, stored in the phase memory 10, and then sent to the phase decoder ADSR via the phase initial value generation circuit 11.
It is sent to the ADSR control circuit 12 and moves to the next phase. On the other hand, the part where the fall time changes in the release part or decay part is discretely divided into, for example, 32 parts, each position is represented by a 5-bit speed parameter, and the speed parameter at the desired position is input into the speed parameter decoder 23 and decoded. Generates the value of SL×SC/RT. This decoder 23 and the next binary shift circuit 20 are controlled by the phase decoder control circuit 12, and in the case of release and decay, the decoder output is transferred to the binary shift circuit 20.
is passed through without shifting, and the addition/subtraction control circuit 2
1, phase decoder ADSR control circuit 1
2 controls addition and subtraction to the arithmetic unit, and in the case of release and decay, it operates to add exponents and subtract mantissas. The adder 16 and the adder 17 of the arithmetic section add and subtract the data read from the exponent memory 14 and the mantissa memory 15, which store the exponents and mantissas in Table 1, based on the data from the addition/subtraction control circuit 21, and then add and subtract the data read from the mantissa memory 15 and the comparator 18. Selection circuit 2
4 is sent out. The comparator 18 compares the added exponent from the adder 16 and the subtracted mantissa from the adder 17 with the respective closing price data stored in the phase closing price prediction circuit 19, and the operation is repeated until they match or exceed the closing price. be fed. That is, the exponent from the adder 16 and the mantissa from the adder 17 are input to the data selection circuit 24, and the phase decoder
This data is stored again in the exponent memory 14 and the mantissa memory 15 according to the control signal of the ADSR control circuit 12. In this way, calculations are repeated for each phase to form a release or decay of length corresponding to the parameter expressed by the 5 bits described above. Note that as a function of the data selection circuit 24, for example, when the adder 16 overflows, the overflow detection circuit 28 detects the overflow, and instead of sending the data to the exponent memory 14 and the mantissa memory 15, It is controlled to select the memory output or to select and send the next phase initial value from the phase initial amplitude value generating circuit 22. Next, in the case of an attack, the decoded data from the speed parameter decoder 23 is sent to the binary shift circuit 20. If the binary shift circuit 20 shifts the data to increase in accordance with the phase, a good attack shape can be obtained. for example,
During phase 1, the data from the speed parameter decoder 23 is shifted to the left by 2 bits, that is, shifted to quadruple. Next, in phase 2, the data is shifted to the left by 1 bit, that is, shifted to double the data. When phase 3 is reached, it is sent out without shifting, and phase 4 is set to be shifted to the right by 1 bit, that is, set to 1/2, so that an act having the shape as shown in FIG. 2 is formed. The envelope thus formed
The amplitude of each phase of ADSR is temporarily stored in the exponent memory 14 and the mantissa memory 15 as output data. A predetermined normal envelope is generated in this way, and an envelope for the amplitude modulation effect is also generated by the same envelope generator. The formed amplitude modulation effect envelope is temporarily stored in the buffer memory 25. Here, for example, for a repeat effect such as a marimba, an envelope for the repeat effect can be easily obtained by inputting a predetermined repeat signal as a start signal to the key data line and setting the ADSR parameter of the shape of the attenuated sound waveform. The crisscrossed effect can also be obtained in the same way by inputting the logical sum of all key press signals as the start signal and setting the slow rise ADSR parameter. Next, all the calculated normal envelopes are read out from the exponent memory 14 and the mantissa memory 15 and sent to the data selection circuit 39, and at the same time, the amplitude modulation effect envelope is read out from the buffer memory 25 under the control of the execution control circuit 40. The data is sent to the data selection circuit 39. Here, the normal envelope and the amplitude modulation effect envelope are multiplied, and the multiplication method that is characteristic of the ADSR generator using floating point arithmetic used in the present invention will be described below. A = (1 + a1 +2 -1 + a2 ×2 -2 + a3 ×2 -3 ) ×2 -c (1) B = (1 + b 1 ×2 -1 + b 2 ×2 -2 + b 3 2 - 3 ) × 2 -d (2) When the two numbers A and B are expressed as floating point numbers using binary numbers, they can be expressed as in equations (1) and (2). This is the number corresponding to Table 1. Now, when A and B are multiplied, it is expressed by equation (3). A × B = {1 + (a 1 + b 1 ) × 2 -1 + (a 2 + b 2 ) × 2 -2 + (a 3 + b 3 ) × 2 -3 + a 1 b 1 × 2 -2 + (a 1 b 2 + a 2 b 1 )
×2 -3 + (a 1 b 3 + a 2 b 2 + a 3 b 1 ) × 2 -4 + (a 2 b 3 + a 3 b 3 ) ×
2 -5 +a 3 b 3 ×2 -6 }×2 -(C+d) (3) If we cut down the terms below a 1 b 1 ×2 -2 in equation (3), we get A×B≒{1+(a 1 + b 1 ) x 2 -1 + (a 2 + b 2 ) x 2 -2 + (a 3 + b 3 ) x 3 -3 } x 2 -(c+d) (4) As expressed by equation (4) This is an approximate formula. As can be seen from this approximate expression, the multiplication of A and B can be expressed by addition of the decimal parts of the respective mantissa parts and addition of the exponent parts. According to actual measurements, the maximum error in this truncation error is about ±2 dB.
It can be assumed that this method can be applied to envelope waveforms expressed by monotonically increasing or decreasing functions, and sufficiently satisfactory results have been obtained in auditory tests. In the first step of multiplication, normal ADSR data is multiplied by loudness data, which will be described later, for outputting different volumes depending on the tones or range of sounds to be produced. First, normal ADSR data is selected by the data selection circuit 39 under the control of the execution control circuit 40, and the exponent part is sent to the exponent adder 27, and the mantissa part is sent to the mantissa adder 29. On the other hand, the data selection circuit 30 is connected to the execution control circuit 40.
selects loudness data under the control of and similarly sends it to the other inputs of exponent adder 27 and mantissa adder 29. The exponent adder 27 is a normal
The exponent parts of the ADSR data and loudness data are added and sent to the exponent subtracter 33. Similarly, mantissa adder 29 adds the mantissa and sends it to latch 34. If a carry occurs as a result of adding the mantissa part, a signal is sent to the exponent subtractor 33 to subtract a numerical value 1 from the result of the calculation of the exponent part. The exponent subtractor 33 subtracts the value 1 from the exponent when there is a carry signal, and when there is no carry signal, the data remains as is.
Send to. Latch 34 latches the results of these operations and completes the first step. Next, as a second step, the above result is multiplied by an envelope for amplitude modulation effect. Similar to the first step, the data selection circuit 39 now selects the data in the buffer memory 25 and inputs the data to the exponent adder 2.
7 and mantissa adder 29. The data selection circuit 30 selects the data in the latch 34 and inputs the data to the exponent adder 2.
7 and mantissa adder 29. Exponent adder 2
7. The mantissa adder 29 and the exponent subtracter 33 operate in the same manner as in step 1, and the resulting data is sent to the latch 3.
4 and the exponent part is sent to a decoder 31 and the mantissa part to a binary shift circuit 32. The decoder 31 decodes the data of the exponent part, and the binary shift circuit 3
Control 2. If Step 1 and Step 2
If an exponent carry occurs during the calculation, a carry signal is sent from the exponent adder 27 to the overflow detection circuit 26. Overflow detection circuit 26 holds this signal and sends it to decoder 31. This signal means, for example, a numerical value other than the dynamic range that can be expressed when the exponent part is the result of -7-7=-17. The decoder 31 therefore operates to round the numerical value to the minimum level in the presence of this signal. The binary shift circuit shifts the mantissa data based on the signal from the decoder 31, converts the data from a floating point number to a fixed point number, and sends the data to the buffer memory 190. Buffer memory 190 temporarily stores this data under the control of execution control circuit 40. buffer memory 1
90 is repeatedly read out by the execution control circuit 40 at a rate different from the calculation rate of the ADSR generator. The DA converter 200 converts this data into an analog voltage and forms an envelope waveform. FIG. 3b is a concrete example of a circuit showing a loudness data input section. The loudness data is given by what is stored in the loudness memory 37 and by externally controlled loudness level data. The loudness memory 37 is read out based on the frequency information of the operated keyboard and the information of the timbre to be formed, and sent to the data selection circuit 38. The data selection circuit 38 selects this data and loudness level data using a data selection signal. The selected loudness data is used as described above. The data in the loudness level memory 37 controls the level depending on the frequency of the sound being produced or the keyboard. Loudness level data is data for adjusting the volume balance between tones. If this loudness level memory 37 stores a number of patterns smaller than the number of tones that can be produced and performs the aforementioned floating point multiplication with the data for balance between tones from the loudness level data, a small memory capacity will be needed, making it economical. A system is created. FIG. 4 is an explanatory diagram of the configuration of the main part of the present invention, and shows a detailed block diagram of the envelope control circuit 160 of FIG. 1. Tablet data processing circuit 14 in FIG.
The data processed by 0 is sent to the envelope data control circuit 160 by the tablet data bus of FIG. Data sent via this data bus includes, for example, switch data for a sustain effect that lengthens the decay time of a sound (this is different from the sustain level, which indicates the steady state of the envelope), and data for a damper pedal on a piano. A knee-lever switch controlled by the performer's knee that aims to produce a similar effect to the silencing effect, a marimbus switch and cressendo switch that add amplitude modulation effects depending on the tone, and a crescendo switch that synthesizes sounds. Switch data such as the synthesizer switch, the sustain time volume that adjusts the length of the decay time of the sustain effect mentioned above, the crescendo end time volume that adjusts the rise time of the sound, the attack, decay, sustain, etc. of the sound in the synthesizer. Examples include digitized data such as the volume for adjusting the release, and data such as the digital number (called a tone number) added to the tablet switch of the tone to be sounded. Data for each of the aforementioned switches is stored in tablet data memory 50. FIG. 5a illustrates the contents of tablet data memory 50. FIG. The tablet data memory 50 is composed of, for example, a RAM, and the state of each switch is stored in each address of the RAM. For example, the upper keyboard sustain tablet switch
“1” if US (hereinafter referred to as US) is ON.
If it is OFF, it is stored as “0”. LS below is the lower keyboard sustain tablet, PS
is a foot keyboard sustain tablet, PSS is a percussion sound (damped sound like a piano) sustain tablet, BS is a sustain tablet of brass/woodwind sound, KL is a knee lever, and MA is a damped sound like a marimba. CR is a tablet for amplitude modulation effects such as repeating , CR is a tablet for cresciendo effects (increasing the sound gradually), and SY is a synthesizer tablet. As described above, the state of each tablet switch is stored by the memory control circuit 55. The aforementioned volume value is then stored in a volume value memory 58, the contents of which are illustrated in FIG. 5b. Here, UST indicates the upper keyboard sustain time. LST is the lower keyboard sustain time...hereinafter the same as above. Furthermore, SYAT is the attack time of the synthesizer, SYDT is the decay time, SYSL is the sustain level (steady sound level), and SYRT is the release time. In addition, the tone number data is stored in the memory control circuit 55.
is written into the tone color number memory 52 by.
This timbre number is, for example, a number assigned to each of a plurality of timbres, and has a mechanism that allows them to selectively produce one timbre. Here, each of the percussion tone series PS,
There are two series, plus series B. Next, the contents of buffer memory 61 are shown in FIG. 5e. Here, UF...upper keyboard flute type UO... 〃 Orchestra type (string etc. tone series) LF...lower keyboard flute type LO... 〃 Orchestral type PF...pedal flute type PO... 〃 Orchestral type PS...percution type B...plus type (Brass woodwind) MA...Marimba effect CR...Cresciendo effect SY...Synthesizer, each with areas to store attack, decay, sustain, release, and loudness data. This buffer memory 61 is
Consists of RAM. Next, in explaining the envelope data control circuit 160, assume that processing is performed sequentially starting from address 0 in FIG.
specifies address 0 of buffer memory 61. Address 0 is a memory area for actu parameter data in the UF. Next, the memory control circuit 55 sends a signal to the envelope data memory read circuit 53. Envelope data memory read circuit 53 sends address signals to envelope data memory 54 and envelope data control memory 56. The contents of the envelope data memory 54 are shown in FIG.
The content of is shown in FIG. 5d. The envelope data memory 54 is set to UF by the aforementioned address signal.
The attack parameter data is read out and sent to the data selector 60. At the same time, a signal for controlling envelope data is read from the envelope data control memory 56 and sent to the envelope data selection control circuit 51. This signal is expressed by 1 bit and is a signal for selecting the data stored in the envelope data memory 54 or the volume value stored in the volume value memory 58. If this signal is "0", the envelope The contents of the data memory 54 are set to “1”.
If so, the contents of the volume value memory 58 are selected. Envelope data selection control circuit 51 takes the aforementioned signal as one input and data from tablet data memory 50 as another input. The contents of tablet data memory 50 are read by signals from memory control circuit 55. The envelope data selection control circuit 51 takes the AND of these two inputs and sends it to the data selector 60, for example.
For example, if the US of the tablet data memory 50 is "1" and the envelope data control memory 5
Attack control data of UF 6 is “0”
If so, the output signal of the envelope data selection circuit 51 becomes "0" and the output of the envelope data memory 54 of the data selector 60 is selected. In this manner, the data selector 60 sends the attack parameter data to the buffer memory 61, and writes the data to the address of the attack parameter data of the UF in the buffer memory 61 in response to a write signal from the memory control circuit 55. Similarly,
Decay parameter, sustain level, and loudness level data are written. On the other hand, if the signal read from the envelope data control memory 56 during release parameter processing is "1", the AND with the signal from the tablet data memory 50 in the envelope data selection control circuit 51 becomes "1", Data selector 60 selects data from conversion circuit 59. The value of UST is read out from the polynomial value memory 58 by the memory control circuit 55 and the data is sent to the conversion circuit 59. The conversion circuit 59 has a plurality of conversion circuits having different characteristics, and the memory control circuit 55 specifies which characteristic to use. In this manner, data from volume value memory 58 is converted and sent to data selector 60 and written to buffer memory 61. As a result, the release time of the UF is controlled by the volume. Data such as UO is written below. On the other hand, for the percussion system and brass system, the timbre number contained in the timbre number memory 52 is read out by the memory control circuit 55 and sent to the envelope data memory reading circuit 53. The envelope data memory reading circuit 53 determines which data of PS or B in the envelope data memory 54 is to be read based on this tone color number. Thereafter, data processing is performed in the same manner as in the method described above. If KL in the tablet data memory 50 is “1”, then US, PS, and BS are “1”, for example.
Envelope data selection control circuit 5 so that
It works by sending a signal to 1 and performing a logical OR with each signal. In this way, the decay time can be controlled not only by the tablet but also by the knee lever. Further, if MA is "1", the same processing as UF is performed, and if it is "0", EFFECT OFF data in envelope data memory 54 is written to buffer memory 61. This controls whether or not to add effects. The same goes for CR.
When SY is “1”, SYAT, SYDT, SYSL, and SYRT in the volume value memory are transferred to the buffer memory 61.
Each data is written through the conversion circuit 59. Next, phase data is sent from the envelope generation circuit 170 of FIG. 1 to the memory control circuit 55. Based on this phase data and a signal from the execution control circuit 40, addressing of the buffer memory 61 is executed. For example, data in the buffer memory 61 is read out, such as attack parameter data during the attack phase and decay parameter data during the decay phase, and sent to the envelope generating circuit 1 via the data selector 57.
Required data is sent to 70 in a time-division manner. Next, if the keyboard is pressed more than the number of channels that can be sounded, the key assigner 130 detects this, reads out the phase data of each channel from the temporary storage memory 180 connected to the envelope generation circuit 170, and selects the channel with the most advanced phase. is detected, and the request signal is sent to the memory control circuit 5 in the envelope data control circuit 160 in synchronization with the timing of calculating the envelope of the channel.
Send to 5. Memory control circuit 55 sends a signal to data selector 57 to select high speed parameter data. In this way, the channel can be released quickly by sending parameter data to the envelope generator 170 such that the sound attenuation ends at a high speed. Next, loudness control will be explained. The loudness level data in the envelope data memory 54 is expressed, for example, in 8 bits,
When the MSB is used as a control bit and the lower 7 bits are used as data, this control bit becomes the data selection signal shown in FIG. 3b, and the lower 7 bits become loudness level data. If this control bit is “1”, the data selection circuit 3
8 selects loudness level data. next,
When the control bit is 0, data selection circuit 3
8 selects the output of the loudness memory 37. The loudness memory 37 corresponds to the key assigner 13 in FIG.
It is read out using frequency information starting from 0 (or information about which keys are being pressed) and timbre information. This timbre information can be used, for example, if the aforementioned control bit is 0.
If timbre information is stored in the lower 7 bits of the data, the timbre information line can be made up of the same line as the loudness level data line. In the embodiment, each data read from the buffer memory 61 is sent to the envelope generating circuit 170 in FIGS. 3a and 3b via the data selector 57.
and in the envelope generation circuit 170.
The aforementioned data is distributed to the inputs of ADSR parameter data, sustain level parameters, and loudness level data, but a latch circuit is required to latch each data sent in a time-sharing manner. , which are not described in the specification or drawings. As explained above, according to the present invention, when controlling the rise or fall of an envelope waveform from the outside, by using the speed parameter, it is possible to have a wide envelope change range, compress digital information, and use a small storage capacity. This has the effect of providing an economical and high-performance electronic musical instrument that can generate many tones.
第1図は本発明を適用する電子楽器の概略説明
図、第2図は本発明を適用するエンベロープ発生
器の原理説明図、第3図a,bは本発明を適用す
るエンベロープ発生器の具体例の説明図、第4図
は本発明の要部の構成を示す説明図、第5図a〜
eは第4図の構成の各メモリ内容の具体例を示
し、図中、40は実行制御回路、50はタブレツ
トデータメモリ、51はエンベロープデータ選択
制御回路、52は音色ナンバーメモリ、53はエ
ンベロープデータメモリ読出回路、54はエンベ
ロープデータメモリ、55はメモリ制御回路、5
6はエンベロープデータ制御メモリ、57はデー
タセレクタ、58はボリウム値メモリ、59は変
換回路、60はデータセレクタ、61はバツフア
メモリ、160はエンベロープ制御回路、170
はエンベロープ発生回路を示す。
FIG. 1 is a schematic explanatory diagram of an electronic musical instrument to which the present invention is applied, FIG. 2 is an explanatory diagram of the principle of an envelope generator to which the present invention is applied, and FIGS. 3 a and b are specific diagrams of an envelope generator to which the present invention is applied. An explanatory diagram of an example, FIG. 4 is an explanatory diagram showing the configuration of the main part of the present invention, and FIGS.
e shows a specific example of the contents of each memory in the configuration shown in FIG. 4, in which 40 is an execution control circuit, 50 is a tablet data memory, 51 is an envelope data selection control circuit, 52 is a tone number memory, and 53 is an envelope. 5 is a data memory read circuit; 54 is an envelope data memory; 55 is a memory control circuit;
6 is an envelope data control memory, 57 is a data selector, 58 is a volume value memory, 59 is a conversion circuit, 60 is a data selector, 61 is a buffer memory, 160 is an envelope control circuit, 170
indicates an envelope generation circuit.
Claims (1)
算し形成する電子楽器において、 発生されるエンベロープの時間を外部より変更
制御する操作子手段120と、 該操作子手段からの出力を前記演算に使用され
る演算値のビツト数より少ないビツト数のスピー
ドパラメータに変換する変換手段160,59
と、 該変換手段からのスピードパラメータを記憶す
るバツフアメモリ手段160,61と、 該バツフアメモリ手段から出力される前記スピ
ードパラメータを前記演算に使用される演算値に
変換するスピードパラメータデコード手段17
0,23とを設け、 該スピードパラメータデコード手段からの演算
値に基きエンベロープ波形を時分割で演算し形成
することを特徴とする電子楽器。 2 前記変換手段は複数の異なる変換特性を有す
るものであり、前記操作子手段からの出力を音色
系列に応じ指定された変換特性により前記スピー
ドパラメータに変換する変換手段であることを特
徴とする特許請求の範囲第1項記載の電子楽器。[Scope of Claims] 1. An electronic musical instrument that calculates and forms an envelope waveform to be generated in response to a key press, comprising: operator means 120 for externally changing and controlling the time of the generated envelope; and an output from the operator means. conversion means 160, 59 for converting the speed parameter into a speed parameter having a smaller number of bits than the number of bits of the calculation value used in the calculation;
Buffer memory means 160, 61 for storing the speed parameters from the conversion means; Speed parameter decoding means 17 for converting the speed parameters output from the buffer memory means into calculation values used in the calculation.
0, 23, and calculates and forms an envelope waveform in a time-division manner based on the calculated value from the speed parameter decoding means. 2. A patent characterized in that the conversion means has a plurality of different conversion characteristics, and is a conversion means that converts the output from the operator means into the speed parameter according to the conversion characteristics designated according to the timbre series. An electronic musical instrument according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62196698A JPS6380297A (en) | 1987-08-06 | 1987-08-06 | Electronic musical instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62196698A JPS6380297A (en) | 1987-08-06 | 1987-08-06 | Electronic musical instrument |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6380297A JPS6380297A (en) | 1988-04-11 |
JPH052998B2 true JPH052998B2 (en) | 1993-01-13 |
Family
ID=16362100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62196698A Granted JPS6380297A (en) | 1987-08-06 | 1987-08-06 | Electronic musical instrument |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6380297A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0519756A (en) * | 1991-06-29 | 1993-01-29 | Kawai Musical Instr Mfg Co Ltd | Envelope waveform generation device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52102710A (en) * | 1976-02-25 | 1977-08-29 | Nippon Gakki Seizo Kk | Functional wave generator for electronic instrument |
JPS5559496A (en) * | 1978-10-28 | 1980-05-02 | Nippon Musical Instruments Mfg | Time function waveform generator |
JPS5652800A (en) * | 1979-10-05 | 1981-05-12 | Nippon Musical Instruments Mfg | Device for setting parameter information for electronic musical instrument |
-
1987
- 1987-08-06 JP JP62196698A patent/JPS6380297A/en active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52102710A (en) * | 1976-02-25 | 1977-08-29 | Nippon Gakki Seizo Kk | Functional wave generator for electronic instrument |
JPS5559496A (en) * | 1978-10-28 | 1980-05-02 | Nippon Musical Instruments Mfg | Time function waveform generator |
JPS5652800A (en) * | 1979-10-05 | 1981-05-12 | Nippon Musical Instruments Mfg | Device for setting parameter information for electronic musical instrument |
Also Published As
Publication number | Publication date |
---|---|
JPS6380297A (en) | 1988-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3243821B2 (en) | Electronic musical instrument | |
US4909119A (en) | Musical tone control system with a pedal for adding a musical effect to a musical tone | |
US4953437A (en) | Method and apparatus for digitally generating musical notes | |
US4195545A (en) | Digital touch response circuit of electronic musical instrument | |
JPH09127941A (en) | Electronic musical instrument | |
US5637821A (en) | Storing and interpolating means for a musical sound generating device | |
US5248842A (en) | Device for generating a waveform of a musical tone | |
JPS6242515B2 (en) | ||
US4421003A (en) | Envelope generator for electronic musical instruments | |
JPH052998B2 (en) | ||
JPH0235316B2 (en) | ||
GB1586528A (en) | Electronic musical instrument of digital processing type | |
JPS6211357B2 (en) | ||
JPS6310836B2 (en) | ||
JPS6380298A (en) | Electronic musical instrument | |
JP2701177B2 (en) | Tone generator | |
JP2665326B2 (en) | Electronic musical instrument | |
JP4205627B2 (en) | Operator correction device, operator correction method, and computer program for operator correction | |
JP3261713B2 (en) | Tone generator | |
JPS6330638B2 (en) | ||
JP2009186632A (en) | Temperament control method, computer program for controlling temperament, and temperament control device | |
JPH11109975A (en) | Device and method for generating musical sound | |
JP2950893B2 (en) | Music signal generator | |
JP2638090B2 (en) | Music parameter controller | |
JP3062569B2 (en) | Electronic musical instrument frequency modulation device |