JPH0468397A - エンベロープ波形発生装置 - Google Patents
エンベロープ波形発生装置Info
- Publication number
- JPH0468397A JPH0468397A JP2180666A JP18066690A JPH0468397A JP H0468397 A JPH0468397 A JP H0468397A JP 2180666 A JP2180666 A JP 2180666A JP 18066690 A JP18066690 A JP 18066690A JP H0468397 A JPH0468397 A JP H0468397A
- Authority
- JP
- Japan
- Prior art keywords
- key
- state
- envelope waveform
- level
- envelope
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 24
- 230000002238 attenuated effect Effects 0.000 abstract description 8
- 238000000034 method Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 51
- 230000007423 decrease Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 1
- 241000252203 Clupea harengus Species 0.000 description 1
- 101150046378 RAM1 gene Proteins 0.000 description 1
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 235000019514 herring Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野コ
この発明は、電子楽器用として好適なエンベロープ波形
発生装置に関する。
発生装置に関する。
[従来の技術〕
従来、電子楽器用のエンベロープ波形発生装置として、
アタック、デイケイ等複数のステートからなるエンベロ
ープ波形を発生させるものか知られている(例えは特公
昭a3−3c+o7.l’3−)。
アタック、デイケイ等複数のステートからなるエンベロ
ープ波形を発生させるものか知られている(例えは特公
昭a3−3c+o7.l’3−)。
しかしながら、従来のエンベロープ波形発生装置におい
ては、キーオフ時にサスティンをかける場合、あるいは
リソース時間を長くする場合に、例えはアタックステー
トにおいてエンベロープ波形のレベルか大きくなった瞬
間にキーオフかあると、そこからエンベロープ波形にサ
スティンかかったり、リリースされるため、高レベルの
エンベロープ波形が長時間持続してしまい、このエンベ
ロープ波形に従って楽音の音量制御等を行なうと、演奏
音が不自然になるという不都合かあった。
ては、キーオフ時にサスティンをかける場合、あるいは
リソース時間を長くする場合に、例えはアタックステー
トにおいてエンベロープ波形のレベルか大きくなった瞬
間にキーオフかあると、そこからエンベロープ波形にサ
スティンかかったり、リリースされるため、高レベルの
エンベロープ波形が長時間持続してしまい、このエンベ
ロープ波形に従って楽音の音量制御等を行なうと、演奏
音が不自然になるという不都合かあった。
[発明か解決しようとする課題]
この発明は、前記従来技術の欠点に鑑みてなされたもの
で、サスティンの有無やリリースの長短およびキーオフ
タイミング等にかかわらす不自然な音の発生を防止でき
るニンベロープ波形発生装置を提供することを目的とす
る。
で、サスティンの有無やリリースの長短およびキーオフ
タイミング等にかかわらす不自然な音の発生を防止でき
るニンベロープ波形発生装置を提供することを目的とす
る。
[課題を解決するための手段コ
前記の目的を達成するため、この発明では、エンベロー
プ波形上に特定位置を設定しておき、キーオフのタイミ
ングのときのエンベロープ波形の位置(キーオフ位置)
が前記特定位置より時間的に前で、かつ高レベルである
か否かに応じて定まるキーオフ波形に従フてエンベロー
プ波形を減衰させるようにしている。
プ波形上に特定位置を設定しておき、キーオフのタイミ
ングのときのエンベロープ波形の位置(キーオフ位置)
が前記特定位置より時間的に前で、かつ高レベルである
か否かに応じて定まるキーオフ波形に従フてエンベロー
プ波形を減衰させるようにしている。
例として、前記エン−、ローブ波形は、振幅が急激に増
大するアタックステート、振幅か急激に減衰するデイケ
イステート、振幅か一定であるかまたは同一のエンベロ
ープ波形を繰り退すホールトステート、および振幅か緩
やかに減衰するりリースまたはサスティンステートの順
序て配列された各ステートからなる。このような場合、
前記キーオフ波形を減衰させるための傾き(レート)は
、例えば前記キーオフ位置が前記特定位置より後のとき
通常のキーオフレートである前記リリースまたはサステ
ィンステートのレートとなり、前記キーオフ位置が前記
特定位置より前で、かつ高レベルのときはエンベロープ
波形をより急激に減衰させるためのより大きな値となる
ように設定される。この前記キーオフ位置が前記特定位
置より前で、かつ高レベルのときのキーオフレートとし
ては、前記デイケイステートのレートを設定することが
できる。
大するアタックステート、振幅か急激に減衰するデイケ
イステート、振幅か一定であるかまたは同一のエンベロ
ープ波形を繰り退すホールトステート、および振幅か緩
やかに減衰するりリースまたはサスティンステートの順
序て配列された各ステートからなる。このような場合、
前記キーオフ波形を減衰させるための傾き(レート)は
、例えば前記キーオフ位置が前記特定位置より後のとき
通常のキーオフレートである前記リリースまたはサステ
ィンステートのレートとなり、前記キーオフ位置が前記
特定位置より前で、かつ高レベルのときはエンベロープ
波形をより急激に減衰させるためのより大きな値となる
ように設定される。この前記キーオフ位置が前記特定位
置より前で、かつ高レベルのときのキーオフレートとし
ては、前記デイケイステートのレートを設定することが
できる。
U作用コ
前記の構成によれは、エンヘロープ波形上ニキーオンか
らの経過時間およびレベル等て定まる特定位置を設定し
ておき、キーオフのときのエンベロープ波形上における
位置(キーオフ位置)が前記特定位置より時間的に前で
、かつ高レベルであるか否かを検出する。そして、その
検出結果に基づいて、キーオフ位置か例えばアタックス
テート等、音のレベルが比較的大きい位置ではエンベロ
ープ波形をより急速に減衰させるようにしている(第8
図参照)。
らの経過時間およびレベル等て定まる特定位置を設定し
ておき、キーオフのときのエンベロープ波形上における
位置(キーオフ位置)が前記特定位置より時間的に前で
、かつ高レベルであるか否かを検出する。そして、その
検出結果に基づいて、キーオフ位置か例えばアタックス
テート等、音のレベルが比較的大きい位置ではエンベロ
ープ波形をより急速に減衰させるようにしている(第8
図参照)。
[効果]
したがって、この発明によれは、サスティンの有無やリ
リースの長短およびキーオフタイミング等にかかわらす
、高レベルのエンベロープ波形か持続して不自然な音が
発生するという事態を防止することかできる。
リースの長短およびキーオフタイミング等にかかわらす
、高レベルのエンベロープ波形か持続して不自然な音が
発生するという事態を防止することかできる。
[実施例コ
以下、図面によりこの発明の詳細な説明する。
第1図は、この発明の一実施例に係る電子楽器のハード
ウェア構成を示す。
ウェア構成を示す。
同図の電子楽器は、中央処理装置(cps)10を用い
てその全体動作を制御するように構成したものである。
てその全体動作を制御するように構成したものである。
CPU10には双方向ハスラインBUSを介してリート
オンリメモリ(ROM)11、ランダムアクセスメモリ
(RAM)12、キー検出回路13、EG段設定スイッ
チ群4、その他のスイッチ群15、および音源回路16
が接続されている。さらに、CPUl0には信号ライン
■、を介してタイマ回路17か接続され、キー検出回路
13には鍵盤回路18か接続され、音源回路16にはサ
ウンドシステム19か接続されている。
オンリメモリ(ROM)11、ランダムアクセスメモリ
(RAM)12、キー検出回路13、EG段設定スイッ
チ群4、その他のスイッチ群15、および音源回路16
が接続されている。さらに、CPUl0には信号ライン
■、を介してタイマ回路17か接続され、キー検出回路
13には鍵盤回路18か接続され、音源回路16にはサ
ウンドシステム19か接続されている。
ROMIIには、プログラムエリアとパラメータエリア
か設けられている。プログラムエリアには、第2〜7図
に示すフローチャートに対応するメインルーチン処理、
およびタイマインタラブド処理等の各種制御プログラム
か格納されている。
か設けられている。プログラムエリアには、第2〜7図
に示すフローチャートに対応するメインルーチン処理、
およびタイマインタラブド処理等の各種制御プログラム
か格納されている。
この電子楽器において発生ずる楽音のエンベロープ波形
は、第8〜11図に示されるように、アタック、デイケ
イ、ホールト、およびリリースまたはサスティン等の各
ステートを有している。前記パラメータエリアには、こ
のようなエンベロープ波形の各ステート(ホールトステ
ートを除く)の傾きを表わすレートデータおよび目標(
最終)レベルを表わすレベルデータが、音色ごとのテー
ブルとして格納されている。
は、第8〜11図に示されるように、アタック、デイケ
イ、ホールト、およびリリースまたはサスティン等の各
ステートを有している。前記パラメータエリアには、こ
のようなエンベロープ波形の各ステート(ホールトステ
ートを除く)の傾きを表わすレートデータおよび目標(
最終)レベルを表わすレベルデータが、音色ごとのテー
ブルとして格納されている。
RAM12には、CPLJIOが前記制御プログラムを
実行する際に発生する各種のデータを一時記憶するため
下記のようなレジスタ群が設定されている。なお、以下
においては、レジCメタ等とその内容とは同一のラベル
で表わすものとする。また、i (=O〜7)はステ
ートナンバであり、例えはステート0はアタックステー
ト、ステート1はデイケイステートを表わす。j (=
O〜15)は発音チャンネルナンバである。
実行する際に発生する各種のデータを一時記憶するため
下記のようなレジスタ群が設定されている。なお、以下
においては、レジCメタ等とその内容とは同一のラベル
で表わすものとする。また、i (=O〜7)はステ
ートナンバであり、例えはステート0はアタックステー
ト、ステート1はデイケイステートを表わす。j (=
O〜15)は発音チャンネルナンバである。
Liニステートiの目標レベル
O〜95. 25 (0,75ステツプ、7ビツト)R
1ニステート1のレート O〜95. 25 (0,75ステツプ、7ビツト)
RR,リリースレート 0〜95. 25 (0,75ステツプ、7ビツト)S
USR:サスティンレート 0〜95. 25 (0,75ステツプ、7ビツト)E
Gj・チャンネルjの現エンベロープレベル0〜95.
25 (0,75ステツプ、7ビツト)INTj:チ
ャンネルjのイニシャルタッチO〜127(7ビツト) KCDj・チャンネルJに発音割当されたキーコート MP:マスクポイント 0〜7(3ビツト)DP:デ
イケイポイント 0〜7(3ヒツト)HP・ホールトポ
イント O〜7 (3ビツト)SUSON :サステイ
ンフラグ 1:サスティンオン、0:サスティンオフSYNM ニ
シンセフラグ 1:シンセモード、0.ノーマルモードDPINH:D
Pインヒビットフラグ 1:DPインヒビット、0・DPイネーブルHOLDj
:チャンネルjのホールドフラグ1 ホールド KONj、チャンネルjのキーオンフラグ1:キーオン
中 KOFFj :チャンネルjのキーオフフラグトエンベ
ローブ波形形成終了 キー検出回路13は、鍵盤18における各曜(キー)の
操作状態を検出し、各曜ごとの押鍵、離鍵およびキータ
ッチ(イニシャルタッチ)を表わすキー情報を発生する
。
1ニステート1のレート O〜95. 25 (0,75ステツプ、7ビツト)
RR,リリースレート 0〜95. 25 (0,75ステツプ、7ビツト)S
USR:サスティンレート 0〜95. 25 (0,75ステツプ、7ビツト)E
Gj・チャンネルjの現エンベロープレベル0〜95.
25 (0,75ステツプ、7ビツト)INTj:チ
ャンネルjのイニシャルタッチO〜127(7ビツト) KCDj・チャンネルJに発音割当されたキーコート MP:マスクポイント 0〜7(3ビツト)DP:デ
イケイポイント 0〜7(3ヒツト)HP・ホールトポ
イント O〜7 (3ビツト)SUSON :サステイ
ンフラグ 1:サスティンオン、0:サスティンオフSYNM ニ
シンセフラグ 1:シンセモード、0.ノーマルモードDPINH:D
Pインヒビットフラグ 1:DPインヒビット、0・DPイネーブルHOLDj
:チャンネルjのホールドフラグ1 ホールド KONj、チャンネルjのキーオンフラグ1:キーオン
中 KOFFj :チャンネルjのキーオフフラグトエンベ
ローブ波形形成終了 キー検出回路13は、鍵盤18における各曜(キー)の
操作状態を検出し、各曜ごとの押鍵、離鍵およびキータ
ッチ(イニシャルタッチ)を表わすキー情報を発生する
。
EG段設定スイッチ群4は、サスティンオン/オフスイ
ッチ、シンセモード設定スイッチおよびDPインヒビッ
トスイッチ等により構成され、これらのスイッチごとの
オン/オフまたは設定状態を表わすスイッチ情報を発生
する。
ッチ、シンセモード設定スイッチおよびDPインヒビッ
トスイッチ等により構成され、これらのスイッチごとの
オン/オフまたは設定状態を表わすスイッチ情報を発生
する。
その他のスイッチ群15としては、音色選択スイッチ、
音量設定スイッチや各種効果スイッチか設けられている
。
音量設定スイッチや各種効果スイッチか設けられている
。
音源回路16は、EG段設定スイッチ群4およびその他
のスイッチ群15のオン/オフまたは設定状態、ならび
に鍵盤18の操作に応じてCPU10から送出されるエ
ンヘローブレベル情報EGJ、ならびにノートオン/オ
フ指令、キーコード情報KCDj、およびイニシャルタ
ッチ情報INTj等の楽音制御情報に基づいて楽音信号
を形成する。この楽音信号は、サウンドシステム19に
供給される。ここで、音源回路16は、ナンバj(−〇
〜15)で表わされる16個の時分割発音チャンネルを
形成されており、この電子楽器は、16個の楽音を同時
発音可能となっている。
のスイッチ群15のオン/オフまたは設定状態、ならび
に鍵盤18の操作に応じてCPU10から送出されるエ
ンヘローブレベル情報EGJ、ならびにノートオン/オ
フ指令、キーコード情報KCDj、およびイニシャルタ
ッチ情報INTj等の楽音制御情報に基づいて楽音信号
を形成する。この楽音信号は、サウンドシステム19に
供給される。ここで、音源回路16は、ナンバj(−〇
〜15)で表わされる16個の時分割発音チャンネルを
形成されており、この電子楽器は、16個の楽音を同時
発音可能となっている。
サウンドシステム19は、音源回路16から供給される
楽音信号を音響に変換して放音する。
楽音信号を音響に変換して放音する。
次に、第2図〜第7図のフローヂャートを参照しながら
、第1図の電子楽器におけるCPUl0の動作を説明す
る。
、第1図の電子楽器におけるCPUl0の動作を説明す
る。
第1図の電子楽器において図示しない電源か投入される
と、CPUl0はROM1.1に格納された制御プログ
ラムに従って動作を開始する。先ず、第2図ステップ1
00以下のメインルーチンで示される処理を実行し、そ
れとともに第5図AおよびBに示されるタイマ割込処理
を実行する。
と、CPUl0はROM1.1に格納された制御プログ
ラムに従って動作を開始する。先ず、第2図ステップ1
00以下のメインルーチンで示される処理を実行し、そ
れとともに第5図AおよびBに示されるタイマ割込処理
を実行する。
第2図を参照して、先ず、ステップ201てはRAM1
2内に設定されている各ステートごとの目標レートレジ
スタLO〜L7およびレートレジスタRO〜R7、リリ
ースレートレジスタRR。
2内に設定されている各ステートごとの目標レートレジ
スタLO〜L7およびレートレジスタRO〜R7、リリ
ースレートレジスタRR。
サスティンレートレジスタ5USR1各発音チャンネル
ごとのエンベロープレベルレジスタEGO〜EG15、
イニシャルタッチレジスタINTO〜lNT15、キー
コートレジスタKCDO〜KCD15、キーオンフラグ
KONO〜KON15およびホールトフラグHOLDO
−HOLD15、マスクポイントレジスタMP、デイケ
イポイントレジスタDP、ホールトポイントレジスタH
P、サスティンフラグ5USON、シンセフラグSYN
M、ならびにDPインヒビットフラグDPINHをクリ
アし、かつ各発音チャンネルのキーオフフラグKOFF
O〜KOFF15をそれぞれ1にセットする等の初期設
定を行なう。その後、ステップ202の押鍵処理、ステ
ップ203のEG設定処理、およびステップ204のそ
の他の処理からなる循環処理を実行する。
ごとのエンベロープレベルレジスタEGO〜EG15、
イニシャルタッチレジスタINTO〜lNT15、キー
コートレジスタKCDO〜KCD15、キーオンフラグ
KONO〜KON15およびホールトフラグHOLDO
−HOLD15、マスクポイントレジスタMP、デイケ
イポイントレジスタDP、ホールトポイントレジスタH
P、サスティンフラグ5USON、シンセフラグSYN
M、ならびにDPインヒビットフラグDPINHをクリ
アし、かつ各発音チャンネルのキーオフフラグKOFF
O〜KOFF15をそれぞれ1にセットする等の初期設
定を行なう。その後、ステップ202の押鍵処理、ステ
ップ203のEG設定処理、およびステップ204のそ
の他の処理からなる循環処理を実行する。
第3図は、第2図における押鍵処理(ステップ202)
の詳細を示す。
の詳細を示す。
第3図を参照して、ステップ301てはキー検出回路1
3の出力に基つき鍵盤18における押鍵による鍵状態の
変化があった(キーオフイベント有)か否かを判定する
。キーオンイベント有りならば、ステップ302にてオ
ンイベントの発生した鍵に対応する楽音(キーコート)
の発音チャンネル割当を行ない、ステップ303にてそ
の割当られた発音チャンネルjのキーオンフラグKON
jを1にセットし、かつその鍵のキーコートおよびイニ
シャルタッチデータをそれぞれキーコートレジスタKC
DjおよびイニシャルタッチレジスタINTjに格納し
、ステップ304にて音源回路16のjチャンネルへノ
ートオン(発音開始)指令、前記キーコートKCDjお
よびイニシャルタッチデータINTjを送出した後、ス
テップ305に処理を進める。これにより、音源回路1
6は、これらのキーコートKCDjおよびイニシャルタ
ッチデータINTjならびに後述するエンヘロープレベ
ルデータEGjに基づく楽音形成処理を開始する。
3の出力に基つき鍵盤18における押鍵による鍵状態の
変化があった(キーオフイベント有)か否かを判定する
。キーオンイベント有りならば、ステップ302にてオ
ンイベントの発生した鍵に対応する楽音(キーコート)
の発音チャンネル割当を行ない、ステップ303にてそ
の割当られた発音チャンネルjのキーオンフラグKON
jを1にセットし、かつその鍵のキーコートおよびイニ
シャルタッチデータをそれぞれキーコートレジスタKC
DjおよびイニシャルタッチレジスタINTjに格納し
、ステップ304にて音源回路16のjチャンネルへノ
ートオン(発音開始)指令、前記キーコートKCDjお
よびイニシャルタッチデータINTjを送出した後、ス
テップ305に処理を進める。これにより、音源回路1
6は、これらのキーコートKCDjおよびイニシャルタ
ッチデータINTjならびに後述するエンヘロープレベ
ルデータEGjに基づく楽音形成処理を開始する。
一方、前記ステップ301の判定がrNOJ、すなわち
キーオフイベントか発生していなければ、ステップ30
2〜304の処理をスキップしてステップ301から直
接ステップ305に処理を進める。
キーオフイベントか発生していなければ、ステップ30
2〜304の処理をスキップしてステップ301から直
接ステップ305に処理を進める。
ステップ305では前記キー検出回路13の出力より、
鍵盤18における離鍵操作(キーオフイベント)の有無
を判定する。キーオフイベント有りならば、ステップ3
06にてキーオフイベントのあった鍵に対応するキーコ
ードが割り当てられている発音チャンネルを検索する。
鍵盤18における離鍵操作(キーオフイベント)の有無
を判定する。キーオフイベント有りならば、ステップ3
06にてキーオフイベントのあった鍵に対応するキーコ
ードが割り当てられている発音チャンネルを検索する。
該当するチャンネルJが見付かれば、次のステップ30
7からステップ308へ分岐して該当チャンネルjのキ
ーオンフラグKONjをリセットし、続くステップ30
9にて音源回路16の該当チャンネルJにノートオフ(
発音停止)指令を送出した後、この押鍵処理を終了して
メイン処理(第2図ステップ203)に戻る。これによ
り、音源回路16は、該当チャンネルjにおいてキーオ
フ後の楽音信号の形成処理を行なう。
7からステップ308へ分岐して該当チャンネルjのキ
ーオンフラグKONjをリセットし、続くステップ30
9にて音源回路16の該当チャンネルJにノートオフ(
発音停止)指令を送出した後、この押鍵処理を終了して
メイン処理(第2図ステップ203)に戻る。これによ
り、音源回路16は、該当チャンネルjにおいてキーオ
フ後の楽音信号の形成処理を行なう。
一方、前記ステップ307の判定か「NO」、すなわち
キーオフされた鍵と同しキーコートか割り当てられてい
る発音チャンネルか見付からない場合には、ステップ3
08〜309の処理をスキップしてステップ307から
そのままこの押鍵処理を終了してメイン処理(第2図ス
テップ203)に戻る。
キーオフされた鍵と同しキーコートか割り当てられてい
る発音チャンネルか見付からない場合には、ステップ3
08〜309の処理をスキップしてステップ307から
そのままこの押鍵処理を終了してメイン処理(第2図ス
テップ203)に戻る。
また、前記ステップ3050判定かrNOJ、すなわち
キーオフイベントか発生していない場合には、ステップ
306〜309の処理をスキップしてステップ305か
らそのままこの押m処理を終了してメイン処理(第2図
ステップ203)に戻る。
キーオフイベントか発生していない場合には、ステップ
306〜309の処理をスキップしてステップ305か
らそのままこの押m処理を終了してメイン処理(第2図
ステップ203)に戻る。
第4図は、第2図におけるEG設定処理(ステップ20
3)の詳細を示す。
3)の詳細を示す。
このEG設定処理において、CPU10は、EG段設定
スイッチ群4を構成する各スイッチの設定状態を読み取
り、その設定状態に対応するパラメータをRAM12内
の対応するレジスタに格納する。例えば、各ステートの
目標レベルLO〜L7、各ステートのレベル変化レート
RO〜R7、リリースレートRR,およびサスティンレ
ート5USRは、音色選択スイッチによって選択された
音色に対応してROMII内のテーブルから読み込まれ
るデータをそれぞれ対応するレジスタLO〜L7、RO
〜R7、RRおよび5USRに格納する。また、マスク
ポイントMP、デイケイポイントDP、ホールトポイン
トHP、サスティンオン/オフ5USON、シン上モー
トオン/オフS Y N M、およびDPインヒビット
オン/オフDPINHの各パラメータは、EG段設定ス
イッチ群4における各設定スイッチの状態に基づいて作
成し、それらをそれぞれ対応するレジスタMP、DPお
よびHP、フラグ5tJSON、SYNMおよびDPI
NHに格納する。
スイッチ群4を構成する各スイッチの設定状態を読み取
り、その設定状態に対応するパラメータをRAM12内
の対応するレジスタに格納する。例えば、各ステートの
目標レベルLO〜L7、各ステートのレベル変化レート
RO〜R7、リリースレートRR,およびサスティンレ
ート5USRは、音色選択スイッチによって選択された
音色に対応してROMII内のテーブルから読み込まれ
るデータをそれぞれ対応するレジスタLO〜L7、RO
〜R7、RRおよび5USRに格納する。また、マスク
ポイントMP、デイケイポイントDP、ホールトポイン
トHP、サスティンオン/オフ5USON、シン上モー
トオン/オフS Y N M、およびDPインヒビット
オン/オフDPINHの各パラメータは、EG段設定ス
イッチ群4における各設定スイッチの状態に基づいて作
成し、それらをそれぞれ対応するレジスタMP、DPお
よびHP、フラグ5tJSON、SYNMおよびDPI
NHに格納する。
CPUl0は、タイマ17からf言分ラインLを介して
固定周期(例えは50μs)のクロックが入力されると
、これを割込信号として第5〜7図に示すタイマインタ
ラブド処理を実行する。ここでは、−回のタイマインタ
ラブド処理によって、チャンネルナンバjで表ねされる
1個の発音チャンネルについてのエンベロープ波形形成
処理が実行される。
固定周期(例えは50μs)のクロックが入力されると
、これを割込信号として第5〜7図に示すタイマインタ
ラブド処理を実行する。ここでは、−回のタイマインタ
ラブド処理によって、チャンネルナンバjで表ねされる
1個の発音チャンネルについてのエンベロープ波形形成
処理が実行される。
第5図Aを参照1.て、ステップ501ては、このタイ
マインタラブド処理がjチャンネルを発音チャンネルと
して割り当てた後、当該チャンネルについての最初の割
込処理であるか否かを判定する。最初の割込処理であれ
ば、ステップ502にてアタックレートROか最大値(
95,25)であるか否かを判定する。最大値であれは
、ステップ503にてステートナンバiを1に設定し、
エンベロープレベルEGjをアタックステート(i=0
)の目標レベルLOに設定した後、ステップ505に進
む。この場合、エンベロープ波形は、初期値がアタック
目標値LOとなって瞬時にアタックステートを終了する
という極めて急峻なアタック波形を有するものとなる。
マインタラブド処理がjチャンネルを発音チャンネルと
して割り当てた後、当該チャンネルについての最初の割
込処理であるか否かを判定する。最初の割込処理であれ
ば、ステップ502にてアタックレートROか最大値(
95,25)であるか否かを判定する。最大値であれは
、ステップ503にてステートナンバiを1に設定し、
エンベロープレベルEGjをアタックステート(i=0
)の目標レベルLOに設定した後、ステップ505に進
む。この場合、エンベロープ波形は、初期値がアタック
目標値LOとなって瞬時にアタックステートを終了する
という極めて急峻なアタック波形を有するものとなる。
一方、アタックレートROが最大値でなければステップ
504にてステートナンバiを0に設定し、エンベロー
プレベルEGjを最大値の1/2の値(47,25)に
設定した後、ステップ505に進む。この場合、エンベ
ロープ波形は、初期値が47.25となり、ここからア
タックステートか開始される。
504にてステートナンバiを0に設定し、エンベロー
プレベルEGjを最大値の1/2の値(47,25)に
設定した後、ステップ505に進む。この場合、エンベ
ロープ波形は、初期値が47.25となり、ここからア
タックステートか開始される。
次に、ステップ505にてキーオフフラグKOFFjを
リセットすると、ステップ551(第5図B)へ処理を
進める。
リセットすると、ステップ551(第5図B)へ処理を
進める。
前記ステップ501の判定結果がrNOJ 、すなわち
このインタラブド処理がキーオンイベントによるjチャ
ンネルへの発音割当後、当該チャンネルについて2回目
以降のものである場合、処理はステップ511へ進む。
このインタラブド処理がキーオンイベントによるjチャ
ンネルへの発音割当後、当該チャンネルについて2回目
以降のものである場合、処理はステップ511へ進む。
ステップ511ではキーオフフラグKOFFjを検査す
る。フラグKOFFjが1となるのは、エンベロープ波
形信号の形成か終了したときく第6図ステップ615お
よび第7図ステップ707参照)である。したがって、
この場合は、それ以上エンベロープに関する処理を行な
うことなく、ステップ511から直接ステップ551(
第5図B)へ進む。
る。フラグKOFFjが1となるのは、エンベロープ波
形信号の形成か終了したときく第6図ステップ615お
よび第7図ステップ707参照)である。したがって、
この場合は、それ以上エンベロープに関する処理を行な
うことなく、ステップ511から直接ステップ551(
第5図B)へ進む。
前記ステップ511の判定結果がKOFFj二〇であれ
は、ステップ512にてキーオンフラグKONjを検査
する。キーオン中(KONj=1)であれは、続くステ
ップ513にてボールドフラグHOLDjを検査する。
は、ステップ512にてキーオンフラグKONjを検査
する。キーオン中(KONj=1)であれは、続くステ
ップ513にてボールドフラグHOLDjを検査する。
フラグHOLDjかOてあれば、ステップ514にて後
述するサブルーチン■(第6図)を実行して現ステート
】のレートRiでエンベロープレベルEGjを増減した
後、前記したステップ551 (第5図B)へ進む。
述するサブルーチン■(第6図)を実行して現ステート
】のレートRiでエンベロープレベルEGjを増減した
後、前記したステップ551 (第5図B)へ進む。
一方、ステップ5130判定結果かHOLDj=1てあ
れば、ステップ521にてシンセモートフラグSYNM
を検査し、シンセモート(SYNM=1)であれは、ざ
らにステップ522にてDPインヒビットフラグDPI
NHを検査する。
れば、ステップ521にてシンセモートフラグSYNM
を検査し、シンセモート(SYNM=1)であれは、ざ
らにステップ522にてDPインヒビットフラグDPI
NHを検査する。
そして、DPインヒビットモード(DPINH=1)で
あれは、ステップ523にてステートナンバiをデイケ
イポイントDPを設定されているステートの次のステー
トであるDP+1にジャンプ(ステートジャンプ)させ
、続くステップ524にてホールトフラグHOLDjを
リセットし、ざらにステップ514にてサブルーチン■
(第6図)のエンベロープレベル増減処理を実行した後
、ステップ551(第5図B)へ進む。前記ステップ5
21〜524の処理を経由する場合、DP<HPであれ
は、前記ステップ523のステートジャンプ処理によっ
て、エンベロープ波形としてステートナンバDP+1か
らHPまでの波形か繰り返される。
あれは、ステップ523にてステートナンバiをデイケ
イポイントDPを設定されているステートの次のステー
トであるDP+1にジャンプ(ステートジャンプ)させ
、続くステップ524にてホールトフラグHOLDjを
リセットし、ざらにステップ514にてサブルーチン■
(第6図)のエンベロープレベル増減処理を実行した後
、ステップ551(第5図B)へ進む。前記ステップ5
21〜524の処理を経由する場合、DP<HPであれ
は、前記ステップ523のステートジャンプ処理によっ
て、エンベロープ波形としてステートナンバDP+1か
らHPまでの波形か繰り返される。
前記ステップ521の判定結果かノーマルモート(SY
NM=O)である場合、およびステップ522の判定結
果がDPイネーブル(DPINH−0)である場合には
、これらのステップ52】または522からステップ5
25へ進み、音源回路16ヘエンベローブレヘルデータ
EGjを送出した後、前記ステップ551(第5図B)
へ処理を進める。
NM=O)である場合、およびステップ522の判定結
果がDPイネーブル(DPINH−0)である場合には
、これらのステップ52】または522からステップ5
25へ進み、音源回路16ヘエンベローブレヘルデータ
EGjを送出した後、前記ステップ551(第5図B)
へ処理を進める。
第6図を番目して、ステップ601ではエンベロープレ
ヘルEGjと現ステートiの目標レベルLiとの大小を
比較してエンベロープ波形の現時点における傾きか正で
あるか負であ条かを判定する。傾きが正(EGj<Li
)てあればステップ602にてレベルEGjにレートR
iを力U算し、負(EGj≧Li)てあればステップ6
03にてレベルEGjからレートRiを減算した後、ス
テップ604または605にてエンベローブレヘルEG
jが目標レベルLiに達したか否かを判定する。目標レ
ベルし】に達していなけれは、ステップ606または6
07にて音源回路16ヘエンヘロープレヘルデータEG
jを送出した後、もとのルーチン(第5図Bステップ5
51)へ戻る。
ヘルEGjと現ステートiの目標レベルLiとの大小を
比較してエンベロープ波形の現時点における傾きか正で
あるか負であ条かを判定する。傾きが正(EGj<Li
)てあればステップ602にてレベルEGjにレートR
iを力U算し、負(EGj≧Li)てあればステップ6
03にてレベルEGjからレートRiを減算した後、ス
テップ604または605にてエンベローブレヘルEG
jが目標レベルLiに達したか否かを判定する。目標レ
ベルし】に達していなけれは、ステップ606または6
07にて音源回路16ヘエンヘロープレヘルデータEG
jを送出した後、もとのルーチン(第5図Bステップ5
51)へ戻る。
一方、目標レベルLiに達していれは、ステップ゛60
9に進み、エンベローブレベルEGjを目標レベルL1
に設定した後、ステップ610にて現ステートiがホー
ルトポイントHPを設定されたステートであるか否かを
判定する。ホールトポイントHPを設定されたステート
(i=HP)てあれば、ステップ611にてホールトフ
ラグHOLDjをセットした後、そうでなければステッ
プ612にてステートナンバjをインクリメントした後
、ステップ613にて音源回路16ヘエンへローブレベ
ルデータEGjを送出し、さらにステップ614にてス
テートナンバiが8に達したか否かを判定する。この電
子楽器において、エンベロープのステート数はO〜7の
8個に設定しである。したがって、ステートナンバiか
8に達していれは、それはエンベロープ波形形成処理を
終了したことを意味する。この場合は、ステップ615
にてキーオフフラグKOFFjをセットした後、もとの
ルーチン(第5図Bステッフ551)へ戻る。また、ス
テートナンバiが8に達していなければ、ステップ61
4からそのまま、もとのルーチン(第5図Bステップ5
51)へ戻る。
9に進み、エンベローブレベルEGjを目標レベルL1
に設定した後、ステップ610にて現ステートiがホー
ルトポイントHPを設定されたステートであるか否かを
判定する。ホールトポイントHPを設定されたステート
(i=HP)てあれば、ステップ611にてホールトフ
ラグHOLDjをセットした後、そうでなければステッ
プ612にてステートナンバjをインクリメントした後
、ステップ613にて音源回路16ヘエンへローブレベ
ルデータEGjを送出し、さらにステップ614にてス
テートナンバiが8に達したか否かを判定する。この電
子楽器において、エンベロープのステート数はO〜7の
8個に設定しである。したがって、ステートナンバiか
8に達していれは、それはエンベロープ波形形成処理を
終了したことを意味する。この場合は、ステップ615
にてキーオフフラグKOFFjをセットした後、もとの
ルーチン(第5図Bステッフ551)へ戻る。また、ス
テートナンバiが8に達していなければ、ステップ61
4からそのまま、もとのルーチン(第5図Bステップ5
51)へ戻る。
第5図Aに戻って、前記ステップ5120判定かキーオ
ンフラグKONj=Oであれは、これは鍵盤18におい
て当該チャンネルjに割り当てられたキーが離鍵(キー
オフ)されていることを意味する(第2図ステップ30
8参照)。この場合には、第5図Bに示すキーオフ後処
理を実行する。
ンフラグKONj=Oであれは、これは鍵盤18におい
て当該チャンネルjに割り当てられたキーが離鍵(キー
オフ)されていることを意味する(第2図ステップ30
8参照)。この場合には、第5図Bに示すキーオフ後処
理を実行する。
第5図Bを参照して、ステップ530てはホールトフラ
グHOLDjをクリアし、続くステップ531ては現ス
テートiかマスクポイントMPを設定されたステート以
後のステート(i≧MP)であるか否かを判定する。マ
スクポインl−M Pは、それより前に生じたキーオフ
を直ちには受は付けす、エンベロープ波形がマスクポイ
ントMPまで形成された後、キーオフエンベロープを形
成するためのものである。したかって、現ステート1が
マスクポイントMPを設定されたステートMPより前の
ステート(i<MP)であれは、ステップ532にて前
記サブルーチン■(第6図)のエンベロープレベル増減
処理を実行した後、ステップ551へIA埋を進める。
グHOLDjをクリアし、続くステップ531ては現ス
テートiかマスクポイントMPを設定されたステート以
後のステート(i≧MP)であるか否かを判定する。マ
スクポインl−M Pは、それより前に生じたキーオフ
を直ちには受は付けす、エンベロープ波形がマスクポイ
ントMPまで形成された後、キーオフエンベロープを形
成するためのものである。したかって、現ステート1が
マスクポイントMPを設定されたステートMPより前の
ステート(i<MP)であれは、ステップ532にて前
記サブルーチン■(第6図)のエンベロープレベル増減
処理を実行した後、ステップ551へIA埋を進める。
この場合には、キーオン中と同様のエンベロープ形成処
理か続行される。
理か続行される。
前記ステップ531の判定結果がrYESJ、すなわち
現ステートlかマスクポイントMPを設定されたステー
ト以後のステート(i≧MP)てあれば、今度はステッ
プ533にて現ステートiかデイケイポイントDPを設
定されたステート以後のステート(i>DP)であるか
否かを判定する。デイケイポイントDPは、キーオフが
それより前であるか後であるかによフてキーオフ後のエ
ンベロープ波形を異ならせるために設けられている。現
ステートiかデイケイポイントDPを設定されたステー
ト以前のステート(1≦DP)であれは、ステップ53
4にてDPインヒビットフラグDP I NHを検査す
る。DPインヒビットモード(DPINH=1)はデイ
ケイポイントDPを無視することを意味する。したがっ
て、DPインヒビットフラグDPINHが1てあれば、
後述するステップ541以下においてシンセフラグおよ
びノーマルモードのそれぞれに応じて設定された標準の
キーオフエンベロープ波形を形成する。
現ステートlかマスクポイントMPを設定されたステー
ト以後のステート(i≧MP)てあれば、今度はステッ
プ533にて現ステートiかデイケイポイントDPを設
定されたステート以後のステート(i>DP)であるか
否かを判定する。デイケイポイントDPは、キーオフが
それより前であるか後であるかによフてキーオフ後のエ
ンベロープ波形を異ならせるために設けられている。現
ステートiかデイケイポイントDPを設定されたステー
ト以前のステート(1≦DP)であれは、ステップ53
4にてDPインヒビットフラグDP I NHを検査す
る。DPインヒビットモード(DPINH=1)はデイ
ケイポイントDPを無視することを意味する。したがっ
て、DPインヒビットフラグDPINHが1てあれば、
後述するステップ541以下においてシンセフラグおよ
びノーマルモードのそれぞれに応じて設定された標準の
キーオフエンベロープ波形を形成する。
方、DPインヒビットフラグDPrNHがOであれば、
デイケイポイントDP前のキーオフに対応した、前記標
準のキーオフエンベロープ波形とは異なるキーオフエン
ベロープ波形を形成する。すなわち、ステップ535に
てシンセフラグSYNMを検査し、シンセフラグ(SY
NM=1)であれば、ステップ536にて後述するサブ
ルーチン■(第7図)のリリース/サスティン処理を実
行した後、ステップ551へ処理を進める。
デイケイポイントDP前のキーオフに対応した、前記標
準のキーオフエンベロープ波形とは異なるキーオフエン
ベロープ波形を形成する。すなわち、ステップ535に
てシンセフラグSYNMを検査し、シンセフラグ(SY
NM=1)であれば、ステップ536にて後述するサブ
ルーチン■(第7図)のリリース/サスティン処理を実
行した後、ステップ551へ処理を進める。
第7図を参照して、ステップ701ではサスティンフラ
グ5USONを検査する。サスティンオン(SUSON
=1)であれば、エンベロープレベルEGjをサスティ
ンレート5USRだけ減衰させた後、一方、サスティン
オフ(SUSON=0)であれは、エンベロープレベル
EGjをリリースレートRRだけ減衰させた後、ステッ
プ704にて音源回路16ヘエンベロープレベルデータ
EGjを送出し、さらにステップ705にてエンベロー
プレベルEGjが0より大きいか否かを判定する。エン
ベロープレベルEGjが0以下(EGj≦O)であわば
、ステップ706にてレベルEGjをOにセットし、ス
テップ707にてキーオフフラグKOFFjを1にセッ
トした後、一方、エンベロープレベルEGjが0より大
(EGj>O)てあればそのまま、もとのルーチン(第
5図Bステップ551)へ戻る。前記ステップ706て
レベルEGjが0にセットされ、ステップ707てキー
オフフラグかKOFFj=1にセットされた場合、当該
チャンネルについては、以後、第5図Aのタイマインタ
ラブド処理がステップ511から525を通る経路で、
エンベロープレベルEGjの増減処理(前記サブルーチ
ン■■および後述のステップ538)を経由するこトナ
く実行される。このため、エンベロープレベルEGjは
0のまま一定となる。すなわち、当該チャンネルのエン
ベロープ波形形成は終了する。
グ5USONを検査する。サスティンオン(SUSON
=1)であれば、エンベロープレベルEGjをサスティ
ンレート5USRだけ減衰させた後、一方、サスティン
オフ(SUSON=0)であれは、エンベロープレベル
EGjをリリースレートRRだけ減衰させた後、ステッ
プ704にて音源回路16ヘエンベロープレベルデータ
EGjを送出し、さらにステップ705にてエンベロー
プレベルEGjが0より大きいか否かを判定する。エン
ベロープレベルEGjが0以下(EGj≦O)であわば
、ステップ706にてレベルEGjをOにセットし、ス
テップ707にてキーオフフラグKOFFjを1にセッ
トした後、一方、エンベロープレベルEGjが0より大
(EGj>O)てあればそのまま、もとのルーチン(第
5図Bステップ551)へ戻る。前記ステップ706て
レベルEGjが0にセットされ、ステップ707てキー
オフフラグかKOFFj=1にセットされた場合、当該
チャンネルについては、以後、第5図Aのタイマインタ
ラブド処理がステップ511から525を通る経路で、
エンベロープレベルEGjの増減処理(前記サブルーチ
ン■■および後述のステップ538)を経由するこトナ
く実行される。このため、エンベロープレベルEGjは
0のまま一定となる。すなわち、当該チャンネルのエン
ベロープ波形形成は終了する。
第5図Bに戻って、前記ステップ535の判定結果かノ
ーマルモード(SYNM=O)であれは、ステップ53
7にてステートナンバiをDPに設定(ステートジャン
プ)した後、ステップ538にてエンベロープレベルE
GjがステートDPの目標レベルLi (i=DP)に
達しているか否かを判定する。目標レベルLiに達して
いなければ(EGj≦Li)、前記ステップ536にて
第7図のサブルーチン■にょろリリース/サスティン処
理を実行した後、ステップ551へ処理を進める。また
、目標レベルLiに達していれは(EGj>i)、ステ
ップ539にてステートDPのレートであるデイケイレ
ートRi (i=DP)によるエンベロープ減衰処理
を行ない、ステップ540にて音源回路16ヘエンベロ
ープレヘルデータEGjを送出した後、ステップ551
へ処理を進める。
ーマルモード(SYNM=O)であれは、ステップ53
7にてステートナンバiをDPに設定(ステートジャン
プ)した後、ステップ538にてエンベロープレベルE
GjがステートDPの目標レベルLi (i=DP)に
達しているか否かを判定する。目標レベルLiに達して
いなければ(EGj≦Li)、前記ステップ536にて
第7図のサブルーチン■にょろリリース/サスティン処
理を実行した後、ステップ551へ処理を進める。また
、目標レベルLiに達していれは(EGj>i)、ステ
ップ539にてステートDPのレートであるデイケイレ
ートRi (i=DP)によるエンベロープ減衰処理
を行ない、ステップ540にて音源回路16ヘエンベロ
ープレヘルデータEGjを送出した後、ステップ551
へ処理を進める。
方、前記ステップ533の判定結果がデイケイポイント
DP後(i>DP)である場合には、ステップ541以
下の標準キーオフエンベロープ波形形成処理を実行する
。すなわち、ステップ541ではシンセモートフラグS
YNMを検査する。ノーマルモード(SYNM=O)で
あれば、ステップ542にてサブルーチン■(第7図)
のリリース/サスティン処理を実行した後、ステップ5
51へ処理を進める。したがって、ノーマルモート(S
YNM=O)でデイケイポイントDPより後にキーオフ
された(i>DP)場合、キーオフエンベロープ波形は
、サブルーチン■(第7図)の処理で形成されるリリー
スまたはサスティン波形となる。つまり、ノーマルモー
):(SYNM=0)の標準キーオフエンベロープ波形
はリリースまたはサスティン波形である。
DP後(i>DP)である場合には、ステップ541以
下の標準キーオフエンベロープ波形形成処理を実行する
。すなわち、ステップ541ではシンセモートフラグS
YNMを検査する。ノーマルモード(SYNM=O)で
あれば、ステップ542にてサブルーチン■(第7図)
のリリース/サスティン処理を実行した後、ステップ5
51へ処理を進める。したがって、ノーマルモート(S
YNM=O)でデイケイポイントDPより後にキーオフ
された(i>DP)場合、キーオフエンベロープ波形は
、サブルーチン■(第7図)の処理で形成されるリリー
スまたはサスティン波形となる。つまり、ノーマルモー
):(SYNM=0)の標準キーオフエンベロープ波形
はリリースまたはサスティン波形である。
一方、前記ステップ541の判定結果がシンセモード(
SYNM=1)であれば、ステップ543にて現ステー
トナンバiがホールドポイン)HPより後であるか否か
を判定する。ホールトポイントHP以前(i≦HP)で
あれば、ステップ544にてステートナンバiをホール
ドポイント直後のステートナンバであるHP+1に設定
(ステートジャンプ)した後、ホールドポイントHPよ
り後(i>HP)であればそのまま、ステップ545へ
処理を進める。ステップ545ては、前記サブルーチン
■(第6図)のエンベロープレベル増減処理を実行した
後、ステップ551へ処理を進める。
SYNM=1)であれば、ステップ543にて現ステー
トナンバiがホールドポイン)HPより後であるか否か
を判定する。ホールトポイントHP以前(i≦HP)で
あれば、ステップ544にてステートナンバiをホール
ドポイント直後のステートナンバであるHP+1に設定
(ステートジャンプ)した後、ホールドポイントHPよ
り後(i>HP)であればそのまま、ステップ545へ
処理を進める。ステップ545ては、前記サブルーチン
■(第6図)のエンベロープレベル増減処理を実行した
後、ステップ551へ処理を進める。
ステップ551〜553では、発音チャンネルを次のチ
ャンネルに切り換える。すなわち、ステップ551にて
チャンネルナンバjをインクリメントした後、ステップ
552にてチャンネルナンバjが16に達したか否かを
判定する。この電子楽器において、発音チャンネルは、
ナンバj=0〜15の16個である。したかつて、チャ
ンネルナンバjが16でなければそのまま、チャンネル
ナンバjが16になったときはステップ553にてチャ
ンネルナンバをj=15の次のナンバであるj=0に設
定した後、このタイマインタラブドを解除してメインル
ーチンに復帰する。
ャンネルに切り換える。すなわち、ステップ551にて
チャンネルナンバjをインクリメントした後、ステップ
552にてチャンネルナンバjが16に達したか否かを
判定する。この電子楽器において、発音チャンネルは、
ナンバj=0〜15の16個である。したかつて、チャ
ンネルナンバjが16でなければそのまま、チャンネル
ナンバjが16になったときはステップ553にてチャ
ンネルナンバをj=15の次のナンバであるj=0に設
定した後、このタイマインタラブドを解除してメインル
ーチンに復帰する。
以上の動作によって、第8〜11図に示すようなエンベ
ロープ波形を形成することができる。
ロープ波形を形成することができる。
第8〜11図は、デイケイポイントDPを1に、ホール
ドポイントHPを3に設定した場合のエンベロープ波形
図を示す。各図ともアタックレートROを最大値(95
,25)より小さな値に設定された場合のものである。
ドポイントHPを3に設定した場合のエンベロープ波形
図を示す。各図ともアタックレートROを最大値(95
,25)より小さな値に設定された場合のものである。
このようなエンベロープ波形は、キーオフイベントか検
出されて(第3図ステップ301)発音チャンネル割当
が行なわれ(ステップ302)、キーオンフラグKON
jがセットされる(ステップ303)ことにより形成処
理が開始され、キーオフイベントが検出されて(ステッ
プ305)、キーオンフラグKONjがリセットされる
(ステップ308)ことにより減衰消音処理される。
出されて(第3図ステップ301)発音チャンネル割当
が行なわれ(ステップ302)、キーオンフラグKON
jがセットされる(ステップ303)ことにより形成処
理が開始され、キーオフイベントが検出されて(ステッ
プ305)、キーオンフラグKONjがリセットされる
(ステップ308)ことにより減衰消音処理される。
先ず、キーオン検出直後の当該発音チャンネルのタイマ
インタラブド処理(第5図A)において、エンベロープ
レベルEGjおよびステートナンバiの初期値は、前記
ステップ504にてそれぞれ47.25および0(アタ
ックステート)に設定される。これにより、エンベロー
プ波形はこれらの初期値で指定された初期位置から開始
する。
インタラブド処理(第5図A)において、エンベロープ
レベルEGjおよびステートナンバiの初期値は、前記
ステップ504にてそれぞれ47.25および0(アタ
ックステート)に設定される。これにより、エンベロー
プ波形はこれらの初期値で指定された初期位置から開始
する。
そして、第8〜11図のエンベロープ波形における、リ
リースまたはサスティンステートRR/5USRを除く
傾斜部は、前記ステップ602または603(第6図)
の処理がタイマインタラブドの都度実行されることによ
り形成される。
リースまたはサスティンステートRR/5USRを除く
傾斜部は、前記ステップ602または603(第6図)
の処理がタイマインタラブドの都度実行されることによ
り形成される。
また、前記ステップ612のffi埋により、第8〜1
1図のエンベロープ波形における傾きの切換(ステート
切換)か行なわれ、かつ前記ステップ610からステッ
プ612をスキップすることにより、第8〜10図の平
坦部(ホールトステート)か形成される。さらに、前記
ステップ611にてホールドフラグHOLDjをセット
することによって、前記ステップ523のステートジャ
ンプが実行され、第11図におけるステートナンバ2と
3の繰返しか実現される。
1図のエンベロープ波形における傾きの切換(ステート
切換)か行なわれ、かつ前記ステップ610からステッ
プ612をスキップすることにより、第8〜10図の平
坦部(ホールトステート)か形成される。さらに、前記
ステップ611にてホールドフラグHOLDjをセット
することによって、前記ステップ523のステートジャ
ンプが実行され、第11図におけるステートナンバ2と
3の繰返しか実現される。
次に、キーオフ時のエンベロープ形成を説明する。以下
において、丸付の順番号は、図中のキーオフエンベロー
プ波形を示す破線の付番と一致させである。
において、丸付の順番号は、図中のキーオフエンベロー
プ波形を示す破線の付番と一致させである。
第8図に示すノーマルモート(SYNM=0)、マスク
ポイント無しくMP=O)の場合、■デイケイポイント
DPの属するステートよりも前のステートであるステー
ト0(アタックステート)でDPのレベル(レベルLl
)よりも低い状態てキーオフになったと診は、タイマイ
ンタラブドの都度、第5図Bのステップ538からステ
ツブ536に進んで第7図のサブルーチン■を実行する
ので、リリースまたはサスティンレートで減衰する。そ
して、エンベロープレベルEGjが0以下になる(ステ
ップ705)と、レベルEGjを0にセットし、キーオ
フフラグKOFFJをセットする。これにより、以後の
タイマインタラブドてはステップ511から525へ抜
ける経路で処理が行なわれるため、エンベロープレベル
EGjはOのまま増減はされない。すなわち、エンベロ
ープ波形形成処理は終了する。
ポイント無しくMP=O)の場合、■デイケイポイント
DPの属するステートよりも前のステートであるステー
ト0(アタックステート)でDPのレベル(レベルLl
)よりも低い状態てキーオフになったと診は、タイマイ
ンタラブドの都度、第5図Bのステップ538からステ
ツブ536に進んで第7図のサブルーチン■を実行する
ので、リリースまたはサスティンレートで減衰する。そ
して、エンベロープレベルEGjが0以下になる(ステ
ップ705)と、レベルEGjを0にセットし、キーオ
フフラグKOFFJをセットする。これにより、以後の
タイマインタラブドてはステップ511から525へ抜
ける経路で処理が行なわれるため、エンベロープレベル
EGjはOのまま増減はされない。すなわち、エンベロ
ープ波形形成処理は終了する。
■DPの属するステート(ステート1)よりも前のステ
ート(ステート0)のDPレベルLi(i=DP)より
も高い状態でキーオフされたときは、エンベロープレベ
ルEGjがDPレベルに下がるまで、タイマインタラブ
ドの都度、ステップ539にてDPのレートRi (i
=DP)による減衰処理が実行され、その後ステップ5
38゜536にてサブルーチン■が実行されることによ
りリリースまたはサスティンレートで減衰する。
ート(ステート0)のDPレベルLi(i=DP)より
も高い状態でキーオフされたときは、エンベロープレベ
ルEGjがDPレベルに下がるまで、タイマインタラブ
ドの都度、ステップ539にてDPのレートRi (i
=DP)による減衰処理が実行され、その後ステップ5
38゜536にてサブルーチン■が実行されることによ
りリリースまたはサスティンレートで減衰する。
■DPの属するステート(ステート1)でキーオフされ
たときは、前記■と同様に、DPレレベまでDPレート
で減衰し、その後リリースまたはサスティンレートで減
衰する。
たときは、前記■と同様に、DPレレベまでDPレート
で減衰し、その後リリースまたはサスティンレートで減
衰する。
■DPの属するステートより後のステート(ステート2
以降)でキーオフされたときは、ステップ542にてサ
ブルーチン■が実行されることにより、リリースまたは
サスティンレートで減衰する。
以降)でキーオフされたときは、ステップ542にてサ
ブルーチン■が実行されることにより、リリースまたは
サスティンレートで減衰する。
■キーオフされることなくホールドポイントHPまで達
すると、前記したようにそこからホールドステートとな
る。そして、キーオフがあったら、前記■と同様に、タ
イマインタラブドの都度ステップ542にてサブルーチ
ン■が実行されることにより、リリースまたはサスティ
ンレートで減衰する。
すると、前記したようにそこからホールドステートとな
る。そして、キーオフがあったら、前記■と同様に、タ
イマインタラブドの都度ステップ542にてサブルーチ
ン■が実行されることにより、リリースまたはサスティ
ンレートで減衰する。
第9図に示すシンセモート(SYNM= 1 )、マス
クポイント無しくM P = O)の場合、■および■
は、それぞれ前記ノーマルモート時(第8図)の■およ
び■と同様の減衰波形である。また、DPの属するステ
ート(ステート1)てキーオフされたときも第8図の破
線■と同様の減衰波形になる。
クポイント無しくM P = O)の場合、■および■
は、それぞれ前記ノーマルモート時(第8図)の■およ
び■と同様の減衰波形である。また、DPの属するステ
ート(ステート1)てキーオフされたときも第8図の破
線■と同様の減衰波形になる。
■および■゛のDPの属するステートより後のステート
(ステート2以降)でキーオフされたときは、ホールド
ポイントHP (=3)の直後のステートHP+1
(=4)までジャンプしくステップ544)、その後は
タイマインタラブドの都度、ステップ514にて第6図
のサブルーチン■を実行する。これにより、ホールドポ
イントHPの直後のステート4からステート7まての各
ステートに対して設定されたレートRiおよび目標レベ
ルLiに基づくキーオフエンベロープ波形(キーオフE
G)が形成される。すなわち、キーオフされたレベルか
らレートR4で目標レベルL4へ向かい、その後はレー
トR5でレベルL5へ、レートR6でレベルL6へ向か
い、レートR7でレベルL7まで減衰する。このエンベ
ロープ波形はキーオフ時の音にクリック感を与えること
ができる。ステートナンバiが8になる(ステップ61
4)と、キーオフフラグKOFFjをセットする(ステ
ップ615)。これにより、以後のタイマインタラブド
ではステップ511から525へ抜ける経路で処理され
、エンベロープレベルEGjの増減はない。すなわち、
エンベロープ波形形成処理は終了する。
(ステート2以降)でキーオフされたときは、ホールド
ポイントHP (=3)の直後のステートHP+1
(=4)までジャンプしくステップ544)、その後は
タイマインタラブドの都度、ステップ514にて第6図
のサブルーチン■を実行する。これにより、ホールドポ
イントHPの直後のステート4からステート7まての各
ステートに対して設定されたレートRiおよび目標レベ
ルLiに基づくキーオフエンベロープ波形(キーオフE
G)が形成される。すなわち、キーオフされたレベルか
らレートR4で目標レベルL4へ向かい、その後はレー
トR5でレベルL5へ、レートR6でレベルL6へ向か
い、レートR7でレベルL7まで減衰する。このエンベ
ロープ波形はキーオフ時の音にクリック感を与えること
ができる。ステートナンバiが8になる(ステップ61
4)と、キーオフフラグKOFFjをセットする(ステ
ップ615)。これにより、以後のタイマインタラブド
ではステップ511から525へ抜ける経路で処理され
、エンベロープレベルEGjの増減はない。すなわち、
エンベロープ波形形成処理は終了する。
■キーオフされることなくホールドポイントHPまで達
すると、そのレベルでホールドされ、キーオフがあった
ら前記キーオフEGで減衰する。
すると、そのレベルでホールドされ、キーオフがあった
ら前記キーオフEGで減衰する。
第10図に示すノーマルモート(SYNM=0)、マス
クポイントMP=1の場合、■マスクポイント無Pより
も前のステート(ステート01例えば点■)でキーオフ
したときは、マスクポイントMPに達するまで、タイマ
インタラブドの都度、ステップ531からステップ53
2へ分岐するため、ステップ532にてエンベロープレ
ベルEGjの増減処理(第6図のサブルーチン■)は実
行するが、キーオフ動作に移らない。そして、ステート
ナンバiがステップ612にてインクリメントされてマ
スクポイントMPに達したら、前記第8図■と同様に、
前記デイケイポイントDP(=1)のレートR1てデイ
ケイポイントDPまで減衰し、その後リリースまたはサ
スティンレートで減衰する。
クポイントMP=1の場合、■マスクポイント無Pより
も前のステート(ステート01例えば点■)でキーオフ
したときは、マスクポイントMPに達するまで、タイマ
インタラブドの都度、ステップ531からステップ53
2へ分岐するため、ステップ532にてエンベロープレ
ベルEGjの増減処理(第6図のサブルーチン■)は実
行するが、キーオフ動作に移らない。そして、ステート
ナンバiがステップ612にてインクリメントされてマ
スクポイントMPに達したら、前記第8図■と同様に、
前記デイケイポイントDP(=1)のレートR1てデイ
ケイポイントDPまで減衰し、その後リリースまたはサ
スティンレートで減衰する。
■DPINH=1のときは、デイケイポイントDPの位
置にかかわらず、どこでキーオフされてもリリースまた
はサスティンレートで減衰する。
置にかかわらず、どこでキーオフされてもリリースまた
はサスティンレートで減衰する。
第11図に示すシンセモード(SYNM=1)、マスク
ポイントMP= 1の場合、■DPINH=1のときは
、デイケイポイントDPの位置にかかわらず、どこでキ
ーオフされてもステップ533または534からテップ
541へ進むので、第9図■〜■の場合と同様に、キー
オフEG波形を形成する。
ポイントMP= 1の場合、■DPINH=1のときは
、デイケイポイントDPの位置にかかわらず、どこでキ
ーオフされてもステップ533または534からテップ
541へ進むので、第9図■〜■の場合と同様に、キー
オフEG波形を形成する。
■DPINH=1のときは、ホールドポイントHP (
=3) に達すル(ステップ61o)と、デイケイポイ
ントDP(=1)の直後のステートDP+1 (=2
)までジャンプしくステップ611.523)、ステー
ト2および3の波形を繰返す(ループ)。キーオフされ
ると、第9図■の場合と同様に、キーオフEG波形を形
成する。
=3) に達すル(ステップ61o)と、デイケイポイ
ントDP(=1)の直後のステートDP+1 (=2
)までジャンプしくステップ611.523)、ステー
ト2および3の波形を繰返す(ループ)。キーオフされ
ると、第9図■の場合と同様に、キーオフEG波形を形
成する。
[発明の適用例コ
なお、この発明は、上記実施例に限定されることなく適
宜変形して実施することかできる。
宜変形して実施することかできる。
例えば、上述の実施例においては、ソフトウェアで制御
したが、専用のハードウェアを用いて制御してもよい。
したが、専用のハードウェアを用いて制御してもよい。
上述においては、電子鍵盤楽器にこの発明を適用した例
を示したが、この発明は鍵盤の内音源ユニットのような
ものにも適用可能である。
を示したが、この発明は鍵盤の内音源ユニットのような
ものにも適用可能である。
前記マスクポイント、デイケイポイント、およびホール
ドポイントは任意の位置に設定可能である。あるいは、
音色に対応して自動的に設定するようにしてもよい。
ドポイントは任意の位置に設定可能である。あるいは、
音色に対応して自動的に設定するようにしてもよい。
前記リリースとサスティンをフットペダル等で演奏時に
切り換えるようにしてもよい。
切り換えるようにしてもよい。
エンベロープ波形は、前記実施例のように、複数の直線
からなるものに限らず、曲線等を自由に組み合わせたも
のであってもよい。また、レベルとレートを指定してエ
ンベロープを形成するものに限らず、波形をメモリに記
憶しであるようなものでもよい。
からなるものに限らず、曲線等を自由に組み合わせたも
のであってもよい。また、レベルとレートを指定してエ
ンベロープを形成するものに限らず、波形をメモリに記
憶しであるようなものでもよい。
第1図は、この発明の一実施例に係る電子楽器のハード
ウェア構成図、 第2図〜第7図は、第1図におけるCPUが実行する処
理を示すフローチャート図、 第8〜11図は、第1図における音源回路て形成される
エンベロープ波形図である。 :中央処理装置(CPU) :キー検出回路 二EG設定スイッチ :音源回路 :鍵盤
ウェア構成図、 第2図〜第7図は、第1図におけるCPUが実行する処
理を示すフローチャート図、 第8〜11図は、第1図における音源回路て形成される
エンベロープ波形図である。 :中央処理装置(CPU) :キー検出回路 二EG設定スイッチ :音源回路 :鍵盤
Claims (1)
- (1)エンベロープ波形信号を形成するエンベロープ波
形信号形成手段と、 エンベロープ波形上の特定位置を設定する特定位置設定
手段と、 キーオフの指示があったとき、該キーオフのタイミング
における前記エンベロープ波形上の位置が前記特定位置
より前で、かつ高レベルであるか否かを検出する検出手
段と、 前記検出手段の検出結果に基づく所定のキーオフ波形で
前記エンベロープ波形信号を減衰させるキーオフ制御手
段と を具備することを特徴とするエンベロープ波形発生装置
。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2180666A JPH0468397A (ja) | 1990-07-10 | 1990-07-10 | エンベロープ波形発生装置 |
| US07/727,548 US5256831A (en) | 1990-07-10 | 1991-07-09 | Envelope waveform generation apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2180666A JPH0468397A (ja) | 1990-07-10 | 1990-07-10 | エンベロープ波形発生装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0468397A true JPH0468397A (ja) | 1992-03-04 |
Family
ID=16087189
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2180666A Pending JPH0468397A (ja) | 1990-07-10 | 1990-07-10 | エンベロープ波形発生装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0468397A (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5325416A (en) * | 1976-08-20 | 1978-03-09 | Nippon Gakki Seizo Kk | Control waveform generator of electronic musical instruments |
| JPH0160274B2 (ja) * | 1979-10-20 | 1989-12-21 | Mathbirk Ltd | |
| JPH02173793A (ja) * | 1988-12-27 | 1990-07-05 | Yamaha Corp | エンベロープ波形発生装置 |
-
1990
- 1990-07-10 JP JP2180666A patent/JPH0468397A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5325416A (en) * | 1976-08-20 | 1978-03-09 | Nippon Gakki Seizo Kk | Control waveform generator of electronic musical instruments |
| JPH0160274B2 (ja) * | 1979-10-20 | 1989-12-21 | Mathbirk Ltd | |
| JPH02173793A (ja) * | 1988-12-27 | 1990-07-05 | Yamaha Corp | エンベロープ波形発生装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2743680B2 (ja) | 自動演奏装置 | |
| JP2714954B2 (ja) | 発音制御装置 | |
| JPH0656552B2 (ja) | 自動演奏装置 | |
| US5218158A (en) | Musical tone generating apparatus employing control of musical parameters in response to note duration | |
| US5502275A (en) | Automatic accompaniment apparatus implementing smooth transition to fill-in performance | |
| US6066793A (en) | Device and method for executing control to shift tone-generation start timing at predetermined beat | |
| JPH0468397A (ja) | エンベロープ波形発生装置 | |
| JP2967787B2 (ja) | 楽音発生装置 | |
| JP2933141B2 (ja) | エンベロープ波形発生装置 | |
| US5786541A (en) | Musical tone synthesizing apparatus | |
| US4926738A (en) | Electronic rhythm performing apparatus generating both manual and automatic rhythm tones | |
| US5256831A (en) | Envelope waveform generation apparatus | |
| US5300728A (en) | Method and apparatus for adjusting the tempo of auto-accompaniment tones at the end/beginning of a bar for an electronic musical instrument | |
| JP2606918B2 (ja) | 楽音情報演算方式 | |
| JP2629418B2 (ja) | 楽音合成装置 | |
| JPS648355B2 (ja) | ||
| JP2959389B2 (ja) | 自動リズム演奏装置 | |
| JP3182466B2 (ja) | 電子楽器 | |
| JPH055357B2 (ja) | ||
| JP2004109285A (ja) | 音源制御プログラム | |
| JPS6266295A (ja) | 電子楽器 | |
| JPH0695672A (ja) | 電子打楽器 | |
| JP4311667B2 (ja) | 電子楽音発生装置 | |
| JPH0581915B2 (ja) | ||
| JP2927848B2 (ja) | 自動演奏装置 |