JP3123132B2 - エンベロープ発生装置 - Google Patents
エンベロープ発生装置Info
- Publication number
- JP3123132B2 JP3123132B2 JP03190852A JP19085291A JP3123132B2 JP 3123132 B2 JP3123132 B2 JP 3123132B2 JP 03190852 A JP03190852 A JP 03190852A JP 19085291 A JP19085291 A JP 19085291A JP 3123132 B2 JP3123132 B2 JP 3123132B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- envelope
- output
- data
- level
- 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 - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【産業上の利用分野】本発明は、鍵盤等の操作に伴って
電子楽器から発生する楽音等の音量や音質を制御するエ
ンベロープ発生装置に関する。
電子楽器から発生する楽音等の音量や音質を制御するエ
ンベロープ発生装置に関する。
【0002】
【従来の技術】従来の一般的なエンベロープ発生装置と
しては、図12及び図13に示した制御を実行するもの
が一般的に知られている。すなわち、エンベロープは操
作子が操作開始してからレベルが最大値になるまでのア
タックと、この最大値から持続音のレベルに至るまでデ
ィケイと、前記持続音のレベルであるサステイン、及び
操作終了してからレベル0に至るまでのリリースとから
構成されている。このエンベロープを前記エンベロープ
発生装置により生成する際には、アタック、ディケイ、
サステイン、リリースに対応する各ステップ1,2,
3,4ごとに目標値であるレベルA,B,C,Dと、図
13に示した変化速度であるレートとを記憶しておき、
一定時間ごとにレートに基づき累算を行った値と、前記
レベルとを比較する。
しては、図12及び図13に示した制御を実行するもの
が一般的に知られている。すなわち、エンベロープは操
作子が操作開始してからレベルが最大値になるまでのア
タックと、この最大値から持続音のレベルに至るまでデ
ィケイと、前記持続音のレベルであるサステイン、及び
操作終了してからレベル0に至るまでのリリースとから
構成されている。このエンベロープを前記エンベロープ
発生装置により生成する際には、アタック、ディケイ、
サステイン、リリースに対応する各ステップ1,2,
3,4ごとに目標値であるレベルA,B,C,Dと、図
13に示した変化速度であるレートとを記憶しておき、
一定時間ごとにレートに基づき累算を行った値と、前記
レベルとを比較する。
【0003】つまり、例えばエンベロープのアタック部
分を生成するに際しては、アタックに対応するステップ
のレートとレベルとを読み出し、このレートにて累算を
行った値によりアタック部分を生成し、この累算した値
が当該ステップのレベルであるAに達したとき、次のデ
ィケイに対応するステップのレートとレベルBとを読み
出す。以下同様にして、対応するステップのレートとレ
ベルとを読み出し、このレートにて累算を行った値によ
りエンベロープの対応する各部分を生成し、この累算し
た値が当該ステップのレベルに達したとき、次のステッ
プに対応するエンベロープの各部分を生成する。
分を生成するに際しては、アタックに対応するステップ
のレートとレベルとを読み出し、このレートにて累算を
行った値によりアタック部分を生成し、この累算した値
が当該ステップのレベルであるAに達したとき、次のデ
ィケイに対応するステップのレートとレベルBとを読み
出す。以下同様にして、対応するステップのレートとレ
ベルとを読み出し、このレートにて累算を行った値によ
りエンベロープの対応する各部分を生成し、この累算し
た値が当該ステップのレベルに達したとき、次のステッ
プに対応するエンベロープの各部分を生成する。
【0004】このように従来の一般的なエンベロープ発
生装置おいては、リリース部分が単一のステップ(ステ
ップ4のみ)により構成されているが、今日においては
図14に示したようにリリース部分に関しては複数の対
応するステップ4とステップ5とによりエンベロープを
発生させるエンベロープ発生装置が出現するに至ってい
る。かかるエンベロープ発生装置によれば、サステイン
からリリースの終了まで複数段の速度にて減衰させつつ
楽音を制御することができ、これにより複雑な減衰特性
の楽音を発生させることができるものである。
生装置おいては、リリース部分が単一のステップ(ステ
ップ4のみ)により構成されているが、今日においては
図14に示したようにリリース部分に関しては複数の対
応するステップ4とステップ5とによりエンベロープを
発生させるエンベロープ発生装置が出現するに至ってい
る。かかるエンベロープ発生装置によれば、サステイン
からリリースの終了まで複数段の速度にて減衰させつつ
楽音を制御することができ、これにより複雑な減衰特性
の楽音を発生させることができるものである。
【0005】
【発明が解決しようとする課題】しかしながら、エンベ
ロープにおいてサステインの終端は操作終了した時点で
あって、この時点で次のリリース部分に対応するステッ
プ4のレートとレベルとが読み出されて、該レートとレ
ベルとによりリリース部分の生成が行われる。したがっ
て、図15に示したように操作開始から操作終了するま
での時間が長いと、サステイン部分が減衰してしまうこ
とから、該サステインの最終値Cがリリース部分の第1
ステップ(ステップ4)のレベルDより小さくなってし
まう場合が生ずる。このため、操作終了後ステップ4の
レートとレベルに従ってリリース部分の生成を行うと、
図示したようにステップ4においてレベルCから該レベ
ルCより高いレベルDに向かう波形部分Uが生ずる。し
たがって、このエンベロープに基づいて発生する楽音は
減衰途中で操作終了と同時に再び音量が増大するものと
なり、不自然な減衰特性となって聴感上の違和感が生じ
てしまうものであった。
ロープにおいてサステインの終端は操作終了した時点で
あって、この時点で次のリリース部分に対応するステッ
プ4のレートとレベルとが読み出されて、該レートとレ
ベルとによりリリース部分の生成が行われる。したがっ
て、図15に示したように操作開始から操作終了するま
での時間が長いと、サステイン部分が減衰してしまうこ
とから、該サステインの最終値Cがリリース部分の第1
ステップ(ステップ4)のレベルDより小さくなってし
まう場合が生ずる。このため、操作終了後ステップ4の
レートとレベルに従ってリリース部分の生成を行うと、
図示したようにステップ4においてレベルCから該レベ
ルCより高いレベルDに向かう波形部分Uが生ずる。し
たがって、このエンベロープに基づいて発生する楽音は
減衰途中で操作終了と同時に再び音量が増大するものと
なり、不自然な減衰特性となって聴感上の違和感が生じ
てしまうものであった。
【0006】本発明は、このような従来の課題に鑑みて
なされたものであり、操作開始から終了までの時間に左
右されることなく、サステインからリリースに亙って違
和感のない減衰特性が得られるようにしたエンベロープ
発生装置を提供することを目的とするものである。
なされたものであり、操作開始から終了までの時間に左
右されることなく、サステインからリリースに亙って違
和感のない減衰特性が得られるようにしたエンベロープ
発生装置を提供することを目的とするものである。
【0007】
【課題を解決するための手段】前記課題を解決するため
に、本発明の一構成例にあっては、エンベロープ波形を
形成する連続した各ステップの目標値であるレベルデー
タと変化速度を示すレートデータとを予め定められた順
序にて記憶した記憶手段と、操作手段と、該操作手段の
操作開始及び操作終了に応答して前記記憶手段から対応
するステップのレベルデータとレートデータとを順次読
み出す読出手段と、該読出手段により読み出されたステ
ップのレートデータに基づき一定時間毎に累算を実行
し、その累算値を各ステップに対応するエンベロープ波
形を形成するためのエンベロープ出力値として出力する
とともに、前記累算値が当該ステップのレベルデータの
値を超えたとき次のステップのレベルデータとレートデ
ータの読み出しを前記読出手段に指示するエンベロープ
出力手段と、前記操作終了時に、前記エンベロープ出力
手段から出力されているエンベロープ出力値と前記次の
ステップのレベルデータの値とを比較する比較手段と、
該比較手段により、前記エンベロープ出力値が前記レベ
ルデータの値より小さいと判断されたとき、さらに次の
ステップのレベルデータと前記エンベロープ出力値との
比較を前記比較手段に指示するとともに、前記エンベロ
ープ出力値が前記レベルデータの値より大きいと判断さ
れたとき、当該ステップのレベルデータとレートデータ
の読み出しを前記読出手段に指示する読出制御手段と、
を設けてある。さらに、本発明の他の構成例にあって
は、エンベロープ波形を形成する連続した各ステップの
目標値であるレベルデータと変化速度を示すレートデー
タとを予め定められた順序にて記憶した記憶手段と、操
作手段と、該操作手段の操作開始及び操作終了に応答し
て前記記憶手段から対応するステップのレベルデータと
レートデータとを順次読み出す読出手段と、該読出手段
により読み出されたステップのレートデータに基づき一
定時間毎に累算を実行し、その累算値を各ステップに対
応するエンベロープ波形を形成するためのエンベロープ
出力値として出力するとともに、前記累算値が当該ステ
ップのレベルデータの値を超えたとき次のステップのレ
ベルデータとレートデータの読み出しを前記読出手段に
指示するエンベロープ出力手段と、前記操作終了時に、
前記エンベロープ出力手段から出力さ れているエンベロ
ープ出力値と前記次のステップのレベルデータの値とを
比較する比較手段と、該比較手段による比較結果に応じ
て前記次のステップを省略するか否かを決定し、前記読
出手段に指示する読出制御手段と、を設けてある。
に、本発明の一構成例にあっては、エンベロープ波形を
形成する連続した各ステップの目標値であるレベルデー
タと変化速度を示すレートデータとを予め定められた順
序にて記憶した記憶手段と、操作手段と、該操作手段の
操作開始及び操作終了に応答して前記記憶手段から対応
するステップのレベルデータとレートデータとを順次読
み出す読出手段と、該読出手段により読み出されたステ
ップのレートデータに基づき一定時間毎に累算を実行
し、その累算値を各ステップに対応するエンベロープ波
形を形成するためのエンベロープ出力値として出力する
とともに、前記累算値が当該ステップのレベルデータの
値を超えたとき次のステップのレベルデータとレートデ
ータの読み出しを前記読出手段に指示するエンベロープ
出力手段と、前記操作終了時に、前記エンベロープ出力
手段から出力されているエンベロープ出力値と前記次の
ステップのレベルデータの値とを比較する比較手段と、
該比較手段により、前記エンベロープ出力値が前記レベ
ルデータの値より小さいと判断されたとき、さらに次の
ステップのレベルデータと前記エンベロープ出力値との
比較を前記比較手段に指示するとともに、前記エンベロ
ープ出力値が前記レベルデータの値より大きいと判断さ
れたとき、当該ステップのレベルデータとレートデータ
の読み出しを前記読出手段に指示する読出制御手段と、
を設けてある。さらに、本発明の他の構成例にあって
は、エンベロープ波形を形成する連続した各ステップの
目標値であるレベルデータと変化速度を示すレートデー
タとを予め定められた順序にて記憶した記憶手段と、操
作手段と、該操作手段の操作開始及び操作終了に応答し
て前記記憶手段から対応するステップのレベルデータと
レートデータとを順次読み出す読出手段と、該読出手段
により読み出されたステップのレートデータに基づき一
定時間毎に累算を実行し、その累算値を各ステップに対
応するエンベロープ波形を形成するためのエンベロープ
出力値として出力するとともに、前記累算値が当該ステ
ップのレベルデータの値を超えたとき次のステップのレ
ベルデータとレートデータの読み出しを前記読出手段に
指示するエンベロープ出力手段と、前記操作終了時に、
前記エンベロープ出力手段から出力さ れているエンベロ
ープ出力値と前記次のステップのレベルデータの値とを
比較する比較手段と、該比較手段による比較結果に応じ
て前記次のステップを省略するか否かを決定し、前記読
出手段に指示する読出制御手段と、を設けてある。
【0008】
【作用】前記構成において、操作子の操作が開始される
とこれと同時にエンベロープ波形のアタック部分に対応
するステップのレベルデータとレートデータとが読み出
され、該レートデータに基づき一定時間間隔で累算が行
われるとともに、その累算値がエンベロープ出力値とし
て出力され、該エンベロープ出力値によりエンベロープ
波形のアタック部分が形成される。また、このアタック
部分を形成しているエンベロープ出力値としての前記累
算値が前記ステップのレベルデータの値を超えると、次
のステップ、つまりディケイ部分に対応するステップの
レートデータが読み出される。そして、該レートデータ
に基づき累算が行われるとともに、その累算値がエンベ
ロープ出力値として出力され、該エンベロープ出力値に
よりエンベロープ波形のディケイ部分が形成される。さ
らに、このディケイ部分を形成しているエンベロープ出
力値としての前記累算値が前記ステップのレベルデータ
の値を超えると、次のステップ、つまりサステイン部分
に対応するステップのレートデータが読み出され、同様
にして累算値がエンベロープ出力値として出力される。
とこれと同時にエンベロープ波形のアタック部分に対応
するステップのレベルデータとレートデータとが読み出
され、該レートデータに基づき一定時間間隔で累算が行
われるとともに、その累算値がエンベロープ出力値とし
て出力され、該エンベロープ出力値によりエンベロープ
波形のアタック部分が形成される。また、このアタック
部分を形成しているエンベロープ出力値としての前記累
算値が前記ステップのレベルデータの値を超えると、次
のステップ、つまりディケイ部分に対応するステップの
レートデータが読み出される。そして、該レートデータ
に基づき累算が行われるとともに、その累算値がエンベ
ロープ出力値として出力され、該エンベロープ出力値に
よりエンベロープ波形のディケイ部分が形成される。さ
らに、このディケイ部分を形成しているエンベロープ出
力値としての前記累算値が前記ステップのレベルデータ
の値を超えると、次のステップ、つまりサステイン部分
に対応するステップのレートデータが読み出され、同様
にして累算値がエンベロープ出力値として出力される。
【0009】そして、操作終了の時点におけるエンベロ
ープ出力値と、次のステップつまりリリース部分に対応
する最初のステップのレベルデータとが比較され、前記
エンベロープ出力値が前記レベルデータよりも小さいと
きには、当該レベルデータに対応するステップを省略す
るようにし、リリース部分を構成する更に次のステップ
のレベルデータと前記エンベロープ出力値との比較が行
われる。そして、リリース部分を構成するステップのレ
ベルデータの方が前記エンベロープ出力値より小さくな
ったとき、このステップのレベルデータとレートデータ
とが読み出され、前述と同様にして累算値がエンベロー
プ出力値として順次出力され、該エンベロープ出力値に
よりエンベロープ波形のリリース部分が形成される。
ープ出力値と、次のステップつまりリリース部分に対応
する最初のステップのレベルデータとが比較され、前記
エンベロープ出力値が前記レベルデータよりも小さいと
きには、当該レベルデータに対応するステップを省略す
るようにし、リリース部分を構成する更に次のステップ
のレベルデータと前記エンベロープ出力値との比較が行
われる。そして、リリース部分を構成するステップのレ
ベルデータの方が前記エンベロープ出力値より小さくな
ったとき、このステップのレベルデータとレートデータ
とが読み出され、前述と同様にして累算値がエンベロー
プ出力値として順次出力され、該エンベロープ出力値に
よりエンベロープ波形のリリース部分が形成される。
【0010】
【実施例】以下、本発明のエンベロープ発生装置を電子
楽器に適用した場合の一実施例を図面に従って説明す
る。すなわち図1は、本実施例の全体的な回路構成を示
すものであり、CPU1はROM2に記憶されたプログ
ラム及びワーク用のRAM3に一時記憶されたデータ等
に基づき、後述するエンベロープ発生器処理等のこの電
子鍵盤楽器において必要となる全ての制御を実行する。
ROM2には、前記プログラムとともに、図2に示した
LEVEL(0)〜LEVEL(5)までのレベルデー
タと、RATE(0)〜RATE(5)までのレイトデ
ータとが記憶されている。この各データは、図3に示し
たエンベロープ波形に対応する値であって、LEVEL
(0)はA点の値、LEVEL(1)はB点の値・・・
LEVEL(5)はF点の値であって実数値は“0”で
ある。また、RATE(0)はキーオンからA点までの
変化率つまり変化速度であって、RATE(1)はA点
からB点の変化速度、・・・RATE(5)はE点から
F点までの変化速度が各々記憶されている。また、前記
RAM3には、図4に示したように、汎用のレジスタA
−RegとSTEPレジスタとが用意されており、該S
TEPレジスタには図3に示したエンベロープ波形に対
応して設けられ0〜7までのステップの値が格納される
とともに、前記レジスタA−RegにはこのSTEPレ
ジスタに格納されたステップに対応するレベルデータと
レイトデータの番号(0)〜(5)が格納される。
楽器に適用した場合の一実施例を図面に従って説明す
る。すなわち図1は、本実施例の全体的な回路構成を示
すものであり、CPU1はROM2に記憶されたプログ
ラム及びワーク用のRAM3に一時記憶されたデータ等
に基づき、後述するエンベロープ発生器処理等のこの電
子鍵盤楽器において必要となる全ての制御を実行する。
ROM2には、前記プログラムとともに、図2に示した
LEVEL(0)〜LEVEL(5)までのレベルデー
タと、RATE(0)〜RATE(5)までのレイトデ
ータとが記憶されている。この各データは、図3に示し
たエンベロープ波形に対応する値であって、LEVEL
(0)はA点の値、LEVEL(1)はB点の値・・・
LEVEL(5)はF点の値であって実数値は“0”で
ある。また、RATE(0)はキーオンからA点までの
変化率つまり変化速度であって、RATE(1)はA点
からB点の変化速度、・・・RATE(5)はE点から
F点までの変化速度が各々記憶されている。また、前記
RAM3には、図4に示したように、汎用のレジスタA
−RegとSTEPレジスタとが用意されており、該S
TEPレジスタには図3に示したエンベロープ波形に対
応して設けられ0〜7までのステップの値が格納される
とともに、前記レジスタA−RegにはこのSTEPレ
ジスタに格納されたステップに対応するレベルデータと
レイトデータの番号(0)〜(5)が格納される。
【0011】また、前記CPU1の入力端及び出力端に
おいて、ARVにはエンベロープ出力値がレベルデータ
の値に達したことを示す信号がエンベロープ発生器5か
ら入力され、WTからはエンベロープ発生器5、RAM
3、及び音源6への書き込み信号が出力される。また、
RDからはエンベロープ発生器5、鍵盤4、RAM3、
及びROM2に読み出し信号が出力され、Aによりエン
ベロープ発生器5、RAM3、ROM2、及び音源6に
アドレスデータの転送が行われるとともに、Dによりエ
ンベロープ発生器5から音源6までに各々必要となるデ
ータの転送が行われる。前記鍵盤4からは、キーオン、
キーオフ及びキーデータ(音高)が読み込まれ、前記音
源6は転送されたキーデータとエンベロープ出力値に基
づき楽音信号を生成し、該楽音信号はアンプ及びスピー
カ等により構成される発音回路7を介して外部に放音さ
れる。
おいて、ARVにはエンベロープ出力値がレベルデータ
の値に達したことを示す信号がエンベロープ発生器5か
ら入力され、WTからはエンベロープ発生器5、RAM
3、及び音源6への書き込み信号が出力される。また、
RDからはエンベロープ発生器5、鍵盤4、RAM3、
及びROM2に読み出し信号が出力され、Aによりエン
ベロープ発生器5、RAM3、ROM2、及び音源6に
アドレスデータの転送が行われるとともに、Dによりエ
ンベロープ発生器5から音源6までに各々必要となるデ
ータの転送が行われる。前記鍵盤4からは、キーオン、
キーオフ及びキーデータ(音高)が読み込まれ、前記音
源6は転送されたキーデータとエンベロープ出力値に基
づき楽音信号を生成し、該楽音信号はアンプ及びスピー
カ等により構成される発音回路7を介して外部に放音さ
れる。
【0012】図5は、前記エンベロープ発生器5の構成
を示す回路図であって、IOポート8はCPU1から入
力端RDに与えられる出力が“1”のとき入力可能とな
り、このとき入出力端Dには、CPU1から1ステップ
分のレートデータ及びレベルデータが入力される。この
レートデータとレートデータとはIOポート8の出力端
Oから、WT=0で書き込み可能となる第1RAM9に
入力され、該第1RAM9におい入力端Aに入力される
Adrによって指定されるアドレスに書き込まれる。こ
の第1RAM9に書き込まれたレベルデータは、出力端
01から第1比較器10の入力端Bに与えられるととも
に、第2比較器11の入力端Bに与えられ、さらにスイ
ッチ12の接点bに与えられる。
を示す回路図であって、IOポート8はCPU1から入
力端RDに与えられる出力が“1”のとき入力可能とな
り、このとき入出力端Dには、CPU1から1ステップ
分のレートデータ及びレベルデータが入力される。この
レートデータとレートデータとはIOポート8の出力端
Oから、WT=0で書き込み可能となる第1RAM9に
入力され、該第1RAM9におい入力端Aに入力される
Adrによって指定されるアドレスに書き込まれる。こ
の第1RAM9に書き込まれたレベルデータは、出力端
01から第1比較器10の入力端Bに与えられるととも
に、第2比較器11の入力端Bに与えられ、さらにスイ
ッチ12の接点bに与えられる。
【0013】一方、第2RAM13は入力端WTに入力
される信号が“0”のとき書き込み可能な状態となっ
て、入力端Aに入力されるAdrによって示されるアド
レスに入力端Iに入力されたデータを書き込む。前記第
2RAM13の入力端WTには、NOT回路15を介し
てクロックパルスCK1が入力され、また、この第2R
AM13の出力端Oからは、前記第1比較器10の入力
端Aと加減算器14の入力端Aにデータが出力される。
前記第1比較器10は、各入力端A,Bからの入力がA
=Bであるとき“1”を出力する出力端EQと、A>B
であるとき“1”を出力する出力端A>Bとを有し、前
記出力端EQからの出力は、第1OR回路16の一方の
入力として与えられる。また、前記出力端A>Bの出力
は、前記加減算器14の入力端SUBと、第1AND回
路17及び第2AND回路18の一方の入力端に与えら
れる。前記加減算器14は、入力端SUBへの入力が
“1”のとき減算器として機能する一方、“0”のとき
加算器として機能し、入力端Bには前記第1RAM9の
出力端02から前記レートデータが入力され、さらに、
加減算器14の出力端Oからは、前記第2比較器11の
入力端Aと前記スイッチ12の他方の端子bに加算結果
あるいは減算結果が入力される。
される信号が“0”のとき書き込み可能な状態となっ
て、入力端Aに入力されるAdrによって示されるアド
レスに入力端Iに入力されたデータを書き込む。前記第
2RAM13の入力端WTには、NOT回路15を介し
てクロックパルスCK1が入力され、また、この第2R
AM13の出力端Oからは、前記第1比較器10の入力
端Aと加減算器14の入力端Aにデータが出力される。
前記第1比較器10は、各入力端A,Bからの入力がA
=Bであるとき“1”を出力する出力端EQと、A>B
であるとき“1”を出力する出力端A>Bとを有し、前
記出力端EQからの出力は、第1OR回路16の一方の
入力として与えられる。また、前記出力端A>Bの出力
は、前記加減算器14の入力端SUBと、第1AND回
路17及び第2AND回路18の一方の入力端に与えら
れる。前記加減算器14は、入力端SUBへの入力が
“1”のとき減算器として機能する一方、“0”のとき
加算器として機能し、入力端Bには前記第1RAM9の
出力端02から前記レートデータが入力され、さらに、
加減算器14の出力端Oからは、前記第2比較器11の
入力端Aと前記スイッチ12の他方の端子bに加算結果
あるいは減算結果が入力される。
【0014】前記第2比較器11は、入力端A,Bから
の入力がA>Bであるとき“1”を出力する出力端A>
Bと、B>Aであるとき“1”を出力する出力端B>A
とを有し、前記出力端A>Bの出力は前記第2AND回
路18に、また、出力端B>Aの出力は前記第1AND
回路17に与えられる。この両AND回路17,18の
出力は、第2OR回路19に与えられ、該第2OR回路
19の出力は前記第1OR回路16に与えられる。そし
て、該第1OR回路16の出力はCPU1のARVに入
力されるとともに、この出力により前記スイッチ12は
駆動される。つまり、第1OR回路16の出力が“0”
である場合には、スイッチ12は図示した接点a側と導
通した状態を維持し、よって加減算器14の出力がスイ
ッチ12を介して前記IOポート8の入力端Iと2相F
/F20、及び前記第2RAM13の入力端Iに与えら
れる。また、前記第1OR回路16の出力が“1”とな
った場合には、スイッチ12が接点b側に切り換え動作
し、よって、第1RAM9の出力端01からのレベルデ
ータがスイッチ12を介して、前記IOポート8の入力
端Iと2相F/F20、及び前記第2RAM13の入力
端Iに与えられる。また、前記2相F/F20には、ク
ロックパルスCK1,CK2が入力されており、該クロ
ックパルスCK1,CK2と前記Adrとの出力タイミ
ングは、図6に示したようAdrとCK2とは同期し、
CK1はCK2の出力タイミングに対して1/2周期ず
れた出力タイミングに設定されている。
の入力がA>Bであるとき“1”を出力する出力端A>
Bと、B>Aであるとき“1”を出力する出力端B>A
とを有し、前記出力端A>Bの出力は前記第2AND回
路18に、また、出力端B>Aの出力は前記第1AND
回路17に与えられる。この両AND回路17,18の
出力は、第2OR回路19に与えられ、該第2OR回路
19の出力は前記第1OR回路16に与えられる。そし
て、該第1OR回路16の出力はCPU1のARVに入
力されるとともに、この出力により前記スイッチ12は
駆動される。つまり、第1OR回路16の出力が“0”
である場合には、スイッチ12は図示した接点a側と導
通した状態を維持し、よって加減算器14の出力がスイ
ッチ12を介して前記IOポート8の入力端Iと2相F
/F20、及び前記第2RAM13の入力端Iに与えら
れる。また、前記第1OR回路16の出力が“1”とな
った場合には、スイッチ12が接点b側に切り換え動作
し、よって、第1RAM9の出力端01からのレベルデ
ータがスイッチ12を介して、前記IOポート8の入力
端Iと2相F/F20、及び前記第2RAM13の入力
端Iに与えられる。また、前記2相F/F20には、ク
ロックパルスCK1,CK2が入力されており、該クロ
ックパルスCK1,CK2と前記Adrとの出力タイミ
ングは、図6に示したようAdrとCK2とは同期し、
CK1はCK2の出力タイミングに対して1/2周期ず
れた出力タイミングに設定されている。
【0015】次に、以上の構成にかかる本実施例の動作
について、図7以下に示したフローチャートにしたがっ
て説明する。すなわち、図7に示したフローチャート
は、図示しないメインルーチンに押鍵があったときに割
り込んで実行され、先ず前記STEPレジスタに“1”
を格納し(SA1)、引き続きエンベロープ発生器制御
(SA2)を実行する。このエンベロープ発生器制御
は、図8に示したフローチャートに従って実行され、前
記STEPレジスタの内容に対応するレベル、レートの
番号をA−Regに転送する(SB1)。つまり、この
SB1においては、STEPが“0”〜“7”である場
合に応じて、A−Regには各STEPに対応する番号
(5)(0)・・・(4)(5)が転送され、このA−
Regに転送される番号(0)〜(5)は、図2に示し
た6種類のLEVEL(0)〜(5)及びRATE
(0)〜(5)に対応している。
について、図7以下に示したフローチャートにしたがっ
て説明する。すなわち、図7に示したフローチャート
は、図示しないメインルーチンに押鍵があったときに割
り込んで実行され、先ず前記STEPレジスタに“1”
を格納し(SA1)、引き続きエンベロープ発生器制御
(SA2)を実行する。このエンベロープ発生器制御
は、図8に示したフローチャートに従って実行され、前
記STEPレジスタの内容に対応するレベル、レートの
番号をA−Regに転送する(SB1)。つまり、この
SB1においては、STEPが“0”〜“7”である場
合に応じて、A−Regには各STEPに対応する番号
(5)(0)・・・(4)(5)が転送され、このA−
Regに転送される番号(0)〜(5)は、図2に示し
た6種類のLEVEL(0)〜(5)及びRATE
(0)〜(5)に対応している。
【0016】そして、各STEPに対応する番号(0)
〜(5)をA−Regに転送した後、RDから“1”を
出力させ(SB2)、これにより図5に示したエンベロ
ープ発生器5のIOポート8は入力可能な状態となる。
引き続き、エンベロープ発生器5にLEVEL(A−R
eg)とRATE(A−Reg)とを転送するとともに
(SB3)、WTにパルスを発生させ(SB4)、これ
により第1RAM9は書き込み可能な状態となる。した
がって、前述のようにSTEPレジスタに“1”が格納
されてたとすると、A−Regの番号は(0)であるこ
とから、LEVEL(0)とRATE(0)とが入力端
Dを介してIOポート8に入力され、第1RAM9にお
いてAdrによって示されるアドレスに書き込まれる。
〜(5)をA−Regに転送した後、RDから“1”を
出力させ(SB2)、これにより図5に示したエンベロ
ープ発生器5のIOポート8は入力可能な状態となる。
引き続き、エンベロープ発生器5にLEVEL(A−R
eg)とRATE(A−Reg)とを転送するとともに
(SB3)、WTにパルスを発生させ(SB4)、これ
により第1RAM9は書き込み可能な状態となる。した
がって、前述のようにSTEPレジスタに“1”が格納
されてたとすると、A−Regの番号は(0)であるこ
とから、LEVEL(0)とRATE(0)とが入力端
Dを介してIOポート8に入力され、第1RAM9にお
いてAdrによって示されるアドレスに書き込まれる。
【0017】この第1RAM9に書き込まれたLEVE
Lは出力端01から第1比較器10の入力端Bと第2比
較器11の入力端B、及びスイッチ12の一方の端子b
に与えられ、RATEは出力端02から加減算器14の
入力端Bに与えられる。このとき、第2RAM13は後
述するようにエンベロープの現在値を保持しており、こ
の現在値は第1比較器10の入力端Aに与えられてい
る。したがって、RATEが+であるSTEP=1の処
理を行っている場合のように、現在値より目標値(LE
VEL)が大きい場合には、第1比較器10において入
力端A,Bの関係は、B>Aであることから、この第1
比較器10の両出力端EQ,A>Bは共に“0”とな
る。
Lは出力端01から第1比較器10の入力端Bと第2比
較器11の入力端B、及びスイッチ12の一方の端子b
に与えられ、RATEは出力端02から加減算器14の
入力端Bに与えられる。このとき、第2RAM13は後
述するようにエンベロープの現在値を保持しており、こ
の現在値は第1比較器10の入力端Aに与えられてい
る。したがって、RATEが+であるSTEP=1の処
理を行っている場合のように、現在値より目標値(LE
VEL)が大きい場合には、第1比較器10において入
力端A,Bの関係は、B>Aであることから、この第1
比較器10の両出力端EQ,A>Bは共に“0”とな
る。
【0018】よって、加減算器14のSUB入力は
“0”となって、該加減算器14は加算器として機能す
る。このため、加減算器14においては第2RAM13
から入力端Aに入力される現在値に、入力端Bに入力さ
れたRATEを加算して、この加算結果を第2比較器1
1の入力端Aとスイッチ12の端子aに出力する。する
と、第2比較器11においては、入力端Aに入力された
前記加算結果と入力端Bに入力された今実行されている
ステップの目標値であるLEVELとを比較し、加算結
果が目標値(LEVEL)に上昇到達していなければ、
出力端B>Aから“1”を第1AND回路17に出力す
る。しかし、第1AND回路17の他方の入力は“0”
であることから、該第1AND回路17の出力は“0”
である。また、第2AND回路18の出力の“0”であ
ることから、第2OR回路19及び第1OR回路16の
出力も“0”となり、その結果、スイッチ12は接点a
と接触した状態を維持する。
“0”となって、該加減算器14は加算器として機能す
る。このため、加減算器14においては第2RAM13
から入力端Aに入力される現在値に、入力端Bに入力さ
れたRATEを加算して、この加算結果を第2比較器1
1の入力端Aとスイッチ12の端子aに出力する。する
と、第2比較器11においては、入力端Aに入力された
前記加算結果と入力端Bに入力された今実行されている
ステップの目標値であるLEVELとを比較し、加算結
果が目標値(LEVEL)に上昇到達していなければ、
出力端B>Aから“1”を第1AND回路17に出力す
る。しかし、第1AND回路17の他方の入力は“0”
であることから、該第1AND回路17の出力は“0”
である。また、第2AND回路18の出力の“0”であ
ることから、第2OR回路19及び第1OR回路16の
出力も“0”となり、その結果、スイッチ12は接点a
と接触した状態を維持する。
【0019】つまり、スイッチ12が接点aと接触して
いる状態においては、加減算器14の出力が、スイッチ
12を介して第2RAM13に入力されるとともに、2
相F/F20を介してCPU1の入力端Dに入力され
る。そして、第2RAM13においては、加減算器14
の出力をCK1のタイミングで現在値として書き込むと
ともに、この現在値を第1比較器10の入力端Aと加減
算器14の入力端Aとに出力する。したがって、RAT
Eが+である値をステップの処理を行っている場合にお
いて、目標値(LEVEL)>現在値の状態が続く限
り、スイッチ12を介して第2RAM13には加減算器
14の加算結果である現在値が入力される。
いる状態においては、加減算器14の出力が、スイッチ
12を介して第2RAM13に入力されるとともに、2
相F/F20を介してCPU1の入力端Dに入力され
る。そして、第2RAM13においては、加減算器14
の出力をCK1のタイミングで現在値として書き込むと
ともに、この現在値を第1比較器10の入力端Aと加減
算器14の入力端Aとに出力する。したがって、RAT
Eが+である値をステップの処理を行っている場合にお
いて、目標値(LEVEL)>現在値の状態が続く限
り、スイッチ12を介して第2RAM13には加減算器
14の加算結果である現在値が入力される。
【0020】そして、現在値が目標値(LEVEL)に
到達すると、第1比較器10においてA=Bとなり、該
第1比較器10の出力端EQから“1”が出力される。
すると、第1OR回路16の出力が“1”となって、ス
イッチ12が接点bと導通し、第2RAM13には今回
のLEVELが書き込まれ、また、ARV=1となりC
PU1に次のステップのLEVELとRATEを要求す
る。
到達すると、第1比較器10においてA=Bとなり、該
第1比較器10の出力端EQから“1”が出力される。
すると、第1OR回路16の出力が“1”となって、ス
イッチ12が接点bと導通し、第2RAM13には今回
のLEVELが書き込まれ、また、ARV=1となりC
PU1に次のステップのLEVELとRATEを要求す
る。
【0021】また、A=Bとなることなく加減算器14
の加算し過ぎにより、現在値が目標値をオーバーした場
合には、第2比較器11においてA>Bとなることか
ら、第2AND回路18の出力が“1”となって、第
1、第2各OR回路16,19の出力が“1”となり、
前述と同様にスイッチ12が接点bと接触し、第2RA
M13には今回のLEVELが書き込まれ、また、AR
V=1となりCPU1に次のステップのLEVELとR
ATEを要求する。
の加算し過ぎにより、現在値が目標値をオーバーした場
合には、第2比較器11においてA>Bとなることか
ら、第2AND回路18の出力が“1”となって、第
1、第2各OR回路16,19の出力が“1”となり、
前述と同様にスイッチ12が接点bと接触し、第2RA
M13には今回のLEVELが書き込まれ、また、AR
V=1となりCPU1に次のステップのLEVELとR
ATEを要求する。
【0022】すると、CPU1はARV=1となること
により、図9に示したフローチャートの実行を開始し、
現在のステップがSTEP=0であるか否かを判別する
(SC1)。この判別がYESであって、現在のステッ
プがSTEP=0であれば、既にアタックからリリース
までのエンベロープ波形の形成は終了していることか
ら、そのままリターンする。また、前記判別がNOであ
ればSC2〜SC8の各ステップにおいて、前の判別が
NOであった場合に順次判別を行い、現在STEP=1
であった場合にはSTEPアドレスに“2”をセットし
(SC10)、STEP=2であった場合には“3”を
セット(SC11)して、各々図8をもって既説したエ
ンベロープ発生器制御を実行する(SC13)。
により、図9に示したフローチャートの実行を開始し、
現在のステップがSTEP=0であるか否かを判別する
(SC1)。この判別がYESであって、現在のステッ
プがSTEP=0であれば、既にアタックからリリース
までのエンベロープ波形の形成は終了していることか
ら、そのままリターンする。また、前記判別がNOであ
ればSC2〜SC8の各ステップにおいて、前の判別が
NOであった場合に順次判別を行い、現在STEP=1
であった場合にはSTEPアドレスに“2”をセットし
(SC10)、STEP=2であった場合には“3”を
セット(SC11)して、各々図8をもって既説したエ
ンベロープ発生器制御を実行する(SC13)。
【0023】したがって、例えば現在STEP=1であ
ったとすると、STEPレジスタには“2”がセットさ
れて、図8に示したエンベロープ発生器制御が実行され
る。このとき、エンベロープ波形はSTEP=1が終了
していることにより、その現在値はSTEP=1の目標
値であるLEVEL(0)となっている(図3のA
点)。したがって、このSTEP=1に対応する目標値
[LEVEL(1)]が第1比較器10に入力される
と、現在値>目標値であることからA>Bとなって、第
1比較器の出力端A>Bから“1”が出力される。よっ
て、加減算器14は減算器として機能し、現在値からR
ATEを減算して出力する。
ったとすると、STEPレジスタには“2”がセットさ
れて、図8に示したエンベロープ発生器制御が実行され
る。このとき、エンベロープ波形はSTEP=1が終了
していることにより、その現在値はSTEP=1の目標
値であるLEVEL(0)となっている(図3のA
点)。したがって、このSTEP=1に対応する目標値
[LEVEL(1)]が第1比較器10に入力される
と、現在値>目標値であることからA>Bとなって、第
1比較器の出力端A>Bから“1”が出力される。よっ
て、加減算器14は減算器として機能し、現在値からR
ATEを減算して出力する。
【0024】そして、この減算が行われることにより、
現在値=目標値となると、第1比較器10の出力端EQ
から“1”が出力され、第1OR回路16から“1”が
出力されることにより、ARV=1となってCPU1に
次のステップのLEVELとRATEを要求する。ま
た、この減算している状態において加減算器14の減算
し過ぎにより目標値>現在値となると、第2比較器11
においてB>Aとなって、出力端B>Aから“1”が出
力されこれにより第1AND回路17から“1”が出力
され、その結果第1OR回路16から“1”が出力され
ることにより、ARV=1となってCPU1に次のステ
ップのLEVELとRATEを要求する。
現在値=目標値となると、第1比較器10の出力端EQ
から“1”が出力され、第1OR回路16から“1”が
出力されることにより、ARV=1となってCPU1に
次のステップのLEVELとRATEを要求する。ま
た、この減算している状態において加減算器14の減算
し過ぎにより目標値>現在値となると、第2比較器11
においてB>Aとなって、出力端B>Aから“1”が出
力されこれにより第1AND回路17から“1”が出力
され、その結果第1OR回路16から“1”が出力され
ることにより、ARV=1となってCPU1に次のステ
ップのLEVELとRATEを要求する。
【0025】すると、前述したようにCPU1はARV
=1となることにより、図9に示したフローチャートの
実行を開始し、このフローチャートにおいて現在のステ
ップがSTEP=3であった場合には、SC4の判別が
YESとなってSTEPレジスタに“4”がセットされ
るが(SC14)、このSTEP=4は図3に示したよ
うにサステイン部であり、また、離鍵によりキーオフと
なるまで、エンベロープ発生器制御を実行することな
く、そのままの状態を継続する。
=1となることにより、図9に示したフローチャートの
実行を開始し、このフローチャートにおいて現在のステ
ップがSTEP=3であった場合には、SC4の判別が
YESとなってSTEPレジスタに“4”がセットされ
るが(SC14)、このSTEP=4は図3に示したよ
うにサステイン部であり、また、離鍵によりキーオフと
なるまで、エンベロープ発生器制御を実行することな
く、そのままの状態を継続する。
【0026】そして、離鍵を行うと図10に示したフロ
ーチャートの実行が開始され、CPU1の出力端RDか
ら“0”が出力される(SD1)。これにより、図5に
示したエンベロープ発生器5のIOポート8は読み取り
可能な状態となり、CPU1はエンベロープ発生器5か
らエンベロープ現在値を読み取る(SD2)。次に、こ
の読み取ったエンベロープ現在値が図3のD点に対応す
るLEVEL(3)より大きいか否かを判別する(SD
3)。この判別がYESであれば、現在値は目標値より
大きいことから、STEP=4に続いてSTEP=5を
実行しても現在値から目標値に向かってエンベロープ波
形が上昇するようなことはなく、減衰を継続する。した
がって、かかる場合にはレジスタSTEPに“5”をセ
ットして、STEP=5のLEVEL(3)とRATE
(3)によって、前述したエンベロープ発生器制御を実
行する(SD8)。
ーチャートの実行が開始され、CPU1の出力端RDか
ら“0”が出力される(SD1)。これにより、図5に
示したエンベロープ発生器5のIOポート8は読み取り
可能な状態となり、CPU1はエンベロープ発生器5か
らエンベロープ現在値を読み取る(SD2)。次に、こ
の読み取ったエンベロープ現在値が図3のD点に対応す
るLEVEL(3)より大きいか否かを判別する(SD
3)。この判別がYESであれば、現在値は目標値より
大きいことから、STEP=4に続いてSTEP=5を
実行しても現在値から目標値に向かってエンベロープ波
形が上昇するようなことはなく、減衰を継続する。した
がって、かかる場合にはレジスタSTEPに“5”をセ
ットして、STEP=5のLEVEL(3)とRATE
(3)によって、前述したエンベロープ発生器制御を実
行する(SD8)。
【0027】これに対し、SD3の判別がNOであっ
て、現在値がLEVEL(3)より小さい状態にある
と、仮にこの状態でSTEP=5を実行したとすると、
該STEP=5は図8に示したように、LEVEL
(3)、RATE(3)であることから、エンベロープ
波形は現在値からこれより高いLEVEL(3)に向か
って上昇する形態となる。よって、このエンベロープ波
形にしたがって発音回路7から楽音を発生させた場合
は、楽音は減衰途中で離鍵と同時に再び音量が増大する
こととなり、不自然な減衰特性となって聴感上の違和感
が生じてしまう。
て、現在値がLEVEL(3)より小さい状態にある
と、仮にこの状態でSTEP=5を実行したとすると、
該STEP=5は図8に示したように、LEVEL
(3)、RATE(3)であることから、エンベロープ
波形は現在値からこれより高いLEVEL(3)に向か
って上昇する形態となる。よって、このエンベロープ波
形にしたがって発音回路7から楽音を発生させた場合
は、楽音は減衰途中で離鍵と同時に再び音量が増大する
こととなり、不自然な減衰特性となって聴感上の違和感
が生じてしまう。
【0028】そこで、SD3の判別がNOであって現在
値が次の目標値であるLEVEL(3)以下である場合
には、さらに現在値がLEVEL(4)より大きいか否
かを判別する(SD5)。そして、この判別がYESで
あって、現在値がLEVEL(4)より大きい場合に
は、STEP=6を実行しても現在値から目標値に向か
ってエンベロープ波形が上昇するようなことはない。よ
って、この場合にはSTEP=5を省略して、STEP
=4に続いてSTEP=6にてエンベロープ発生器制御
(SD8)を実行すれば、楽音は減衰途中で再び音量が
増大するようなことはなく、徐々に減衰する特性となっ
て、違和感の発生は未然に防止される。
値が次の目標値であるLEVEL(3)以下である場合
には、さらに現在値がLEVEL(4)より大きいか否
かを判別する(SD5)。そして、この判別がYESで
あって、現在値がLEVEL(4)より大きい場合に
は、STEP=6を実行しても現在値から目標値に向か
ってエンベロープ波形が上昇するようなことはない。よ
って、この場合にはSTEP=5を省略して、STEP
=4に続いてSTEP=6にてエンベロープ発生器制御
(SD8)を実行すれば、楽音は減衰途中で再び音量が
増大するようなことはなく、徐々に減衰する特性となっ
て、違和感の発生は未然に防止される。
【0029】また、SD5の判別もNOであって、現在
値がLEVEL(4)以下である場合には、STEP=
5とSTEP=6とを省略し、STEP=4に続いてS
TEP=7にてエンベロープ発生器制御(SD8)を実
行する。このSTEP=7にあっては、図8に示したよ
うに、LEVEL(5)であって、該LEVEL(5)
は、図2に示したようにその目標値がF(=0)である
ことから、現在値が如何なる値であっても目標値=0に
向かってエンベロープ波形を発生させれば、該エンベロ
ープ波形が上昇することはない。よって、前述と同様に
楽音は減衰途中で再び音量が増大するようなことはな
く、徐々に減衰する特性となって、違和感のない減衰特
性が得られる。そして、この図10に示したSD7にて
STEP=7がセットされてエンベロープ発生器制御
(SD8)が完了すると、図9に示したSC8の判別が
YESとなって、レジスタSTEPに“0”がセットさ
れ(SC9)、キーオン前の待機状態となるのである。
値がLEVEL(4)以下である場合には、STEP=
5とSTEP=6とを省略し、STEP=4に続いてS
TEP=7にてエンベロープ発生器制御(SD8)を実
行する。このSTEP=7にあっては、図8に示したよ
うに、LEVEL(5)であって、該LEVEL(5)
は、図2に示したようにその目標値がF(=0)である
ことから、現在値が如何なる値であっても目標値=0に
向かってエンベロープ波形を発生させれば、該エンベロ
ープ波形が上昇することはない。よって、前述と同様に
楽音は減衰途中で再び音量が増大するようなことはな
く、徐々に減衰する特性となって、違和感のない減衰特
性が得られる。そして、この図10に示したSD7にて
STEP=7がセットされてエンベロープ発生器制御
(SD8)が完了すると、図9に示したSC8の判別が
YESとなって、レジスタSTEPに“0”がセットさ
れ(SC9)、キーオン前の待機状態となるのである。
【0030】なお、前述した実施例においては、図3に
示したようにSTEP=1からSTEP=7までによっ
てエンベロープ波形が構成されるものを示したが、図1
1に示したエンベロープ波形に対しても本発明を適用す
ることは可能である。すなわち、このエンベロープ波形
はSTEP=1〜STEP=5までにより形成され、S
TEP=3のサステイン部分が押鍵から離鍵までの時間
に応じて徐々に低下している。この場合、離鍵を行った
際のSTEP=3の現在値とSTEP=4のLEVEL
(目標値)とを比較し、前記現在値が目標値より低い場
合にはSTEP=4を省略する。さらに、この現在値よ
り低い値をLEVEL(目標値)とするSTEP=5に
よりエンベロープ波形を発生させれば、同図に示したよ
うにSTEP=3からSTEP=5に徐々に低下する特
性のエンベロープ波形が得られ、前述した実施例と同様
に、楽音が減衰途中で再び音量が増大するようなことは
なく、徐々に減衰する特性となって、違和感のない減衰
特性が得られる。
示したようにSTEP=1からSTEP=7までによっ
てエンベロープ波形が構成されるものを示したが、図1
1に示したエンベロープ波形に対しても本発明を適用す
ることは可能である。すなわち、このエンベロープ波形
はSTEP=1〜STEP=5までにより形成され、S
TEP=3のサステイン部分が押鍵から離鍵までの時間
に応じて徐々に低下している。この場合、離鍵を行った
際のSTEP=3の現在値とSTEP=4のLEVEL
(目標値)とを比較し、前記現在値が目標値より低い場
合にはSTEP=4を省略する。さらに、この現在値よ
り低い値をLEVEL(目標値)とするSTEP=5に
よりエンベロープ波形を発生させれば、同図に示したよ
うにSTEP=3からSTEP=5に徐々に低下する特
性のエンベロープ波形が得られ、前述した実施例と同様
に、楽音が減衰途中で再び音量が増大するようなことは
なく、徐々に減衰する特性となって、違和感のない減衰
特性が得られる。
【0031】
【発明の効果】以上説明したように本発明によれば、操
作子の操作終了時においては現在のエンベロープ出力値
よりも小さい値を目標値とするステップによりエンベロ
ープ波形を発生させることを可能にしたので、操作終了
時以降において現在値から目標値に向かってエンベロー
プ波形が上昇してしまうことが防止される。よって、操
作終了後楽音が減衰途中で再び音量が不自然に増大する
ようなことはなく、徐々に減衰する特性とすることがで
き、これにより聴感上の違和感のない減衰特性を得るこ
とが可能となる。
作子の操作終了時においては現在のエンベロープ出力値
よりも小さい値を目標値とするステップによりエンベロ
ープ波形を発生させることを可能にしたので、操作終了
時以降において現在値から目標値に向かってエンベロー
プ波形が上昇してしまうことが防止される。よって、操
作終了後楽音が減衰途中で再び音量が不自然に増大する
ようなことはなく、徐々に減衰する特性とすることがで
き、これにより聴感上の違和感のない減衰特性を得るこ
とが可能となる。
【図1】本発明の一実施例の全体構造を示すブロック図
である。
である。
【図2】同実施例のROMに記憶されたデータの内容を
示す模式図である。
示す模式図である。
【図3】同実施例のエンベロープ波形と各STEPとの
関係を示す説明図である。
関係を示す説明図である。
【図4】同実施例のRAMに用意されたレジスタを示す
模式図である。
模式図である。
【図5】同実施例において用いられたエンベロープ発生
器の回路図である。
器の回路図である。
【図6】同実施例のAdr,CK1,CK2の出力タイ
ミングを示すタイムチャートである。
ミングを示すタイムチャートである。
【図7】同実施例のキーオン処理の内容を示すフローチ
ャートである。
ャートである。
【図8】同実施例のエンベロープ発生器制御の内容を示
すフローチャートである。
すフローチャートである。
【図9】同実施例のARV=1となったとき実行される
処理内容を示すフローチャートである。
処理内容を示すフローチャートである。
【図10】同実施例のキーオフ処理の内容を示すフロー
チャートである。
チャートである。
【図11】本発明よって発生するエンベロープ波形の一
例を示す波形図である。
例を示す波形図である。
【図12】一般的なエンベロープ発生器により形成され
るエンベロープ波形の一例を示す波形図である。
るエンベロープ波形の一例を示す波形図である。
【図13】同エンベロープ発生器の累算状態を示す模式
図である。
図である。
【図14】リリースが複数のステップにより形成された
エンベロープ波形の波形図である。
エンベロープ波形の波形図である。
【図15】リリース部分上昇変化したエンベロープ波形
の波形図である。
の波形図である。
1 CPU 2 ROM 3 RAM 4 鍵盤 5 エンベロープ発生器 9 第1RAM 10 第1比較器 11 第2比較器 13 第2RAM 14 加減算器
Claims (2)
- 【請求項1】 エンベロープ波形を形成する連続した各
ステップの目標値であるレベルデータと変化速度を示す
レートデータとを予め定められた順序にて記憶した記憶
手段と、 操作手段と、該 操作手段の操作開始及び操作終了に応答して前記記憶
手段から対応するステップのレベルデータとレートデー
タとを順次読み出す読出手段と、 該読出手段により読み出されたステップのレートデータ
に基づき一定時間毎に累算を実行し、その累算値を各ス
テップに対応するエンベロープ波形を形成するためのエ
ンベロープ出力値として出力するとともに、前記累算値
が当該ステップのレベルデータの値を超えたとき次のス
テップのレベルデータとレートデータの読み出しを前記
読出手段に指示するエンベロープ出力手段と、 前記操作終了時に、前記エンベロープ出力手段から出力
されているエンベロープ出力値と前記次のステップのレ
ベルデータの値とを比較する比較手段と、 該比較手段により、前記エンベロープ出力値が前記レベ
ルデータの値より小さいと判断されたとき、さらに次の
ステップのレベルデータと前記エンベロープ出力値との
比較を前記比較手段に指示するとともに、前記エンベロ
ープ出力値が前記レベルデータの値より大きいと判断さ
れたとき、当該ステップのレベルデータとレートデータ
の読み出しを前記読出手段に指示する読出制御手段と、 を設けたことを特徴とするエンベロープ発生装置。 - 【請求項2】 エンベロープ波形を形成する連続した各
ステップの目標値であるレベルデータと変化速度を示す
レートデータとを予め定められた順序にて記憶した記憶
手段と、 操作手段と、 該操作手段の操作開始及び操作終了に応答して前記記憶
手段から対応するステップのレベルデータとレートデー
タとを順次読み出す読出手段と、 該読出手段により読み出されたステップのレートデータ
に基づき一定時間毎に累算を実行し、その累算値を各ス
テップに対応するエンベロープ波形を形成するためのエ
ンベロープ出力値として出力するとともに、前記累算値
が当該ステップ のレベルデータの値を超えたとき次のス
テップのレベルデータとレートデータの読み出しを前記
読出手段に指示するエンベロープ出力手段と、 前記操作終了時に、前記エンベロープ出力手段から出力
されているエンベロープ出力値と前記次のステップのレ
ベルデータの値とを比較する比較手段と、 該比較手段による比較結果に応じて前記次のステップを
省略するか否かを決定し、前記読出手段に指示する読出
制御手段と、 を設けたことを特徴とするエンベロープ発生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03190852A JP3123132B2 (ja) | 1991-07-05 | 1991-07-05 | エンベロープ発生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03190852A JP3123132B2 (ja) | 1991-07-05 | 1991-07-05 | エンベロープ発生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0511759A JPH0511759A (ja) | 1993-01-22 |
JP3123132B2 true JP3123132B2 (ja) | 2001-01-09 |
Family
ID=16264849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03190852A Expired - Fee Related JP3123132B2 (ja) | 1991-07-05 | 1991-07-05 | エンベロープ発生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3123132B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015047119A (ja) * | 2013-08-30 | 2015-03-16 | グローブライド株式会社 | 保持部材 |
-
1991
- 1991-07-05 JP JP03190852A patent/JP3123132B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015047119A (ja) * | 2013-08-30 | 2015-03-16 | グローブライド株式会社 | 保持部材 |
Also Published As
Publication number | Publication date |
---|---|
JPH0511759A (ja) | 1993-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4025501B2 (ja) | 楽音発生装置 | |
US5567900A (en) | Electronic tone generator system with CPU and DSP | |
JP3123132B2 (ja) | エンベロープ発生装置 | |
US5657466A (en) | Circuit for designating write and read address to provide a delay time in a sound system | |
JPS6233599B2 (ja) | ||
US5590364A (en) | Signal processing apparatus | |
US5522010A (en) | Pitch control apparatus for setting coefficients for cross-fading operation in accordance with intervals between write address and a number of read addresses in a sampling cycle | |
US5559298A (en) | Waveform read-out system for an electronic musical instrument | |
JP2950461B2 (ja) | 楽音発生装置 | |
JP3658826B2 (ja) | 楽音生成方法 | |
US4227433A (en) | Electronic musical instruments | |
JP3252296B2 (ja) | 波形データ出力装置 | |
JP3139063B2 (ja) | エンベロープ発生装置 | |
JP2626315B2 (ja) | 信号処理装置 | |
JP3136735B2 (ja) | 効果付加装置 | |
JP3138585B2 (ja) | 電子楽音発生装置 | |
JP4254677B2 (ja) | 楽音発生装置および楽音発生処理のプログラム | |
JP3018620B2 (ja) | 電子楽器 | |
US5932826A (en) | Effect adder circuit with a coefficient smoothing circuit for an electronic musical instrument | |
JP2939098B2 (ja) | 電子楽器 | |
JPH03174592A (ja) | 電子楽器の音源回路 | |
JP3588815B2 (ja) | 音源装置 | |
JPH0740197B2 (ja) | 楽音発生装置 | |
JP3288500B2 (ja) | 電子楽器の楽音発生装置 | |
JPS63261395A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081027 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091027 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091027 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101027 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |