JPH0588673A - 演奏装置 - Google Patents

演奏装置

Info

Publication number
JPH0588673A
JPH0588673A JP3036429A JP3642991A JPH0588673A JP H0588673 A JPH0588673 A JP H0588673A JP 3036429 A JP3036429 A JP 3036429A JP 3642991 A JP3642991 A JP 3642991A JP H0588673 A JPH0588673 A JP H0588673A
Authority
JP
Japan
Prior art keywords
key
register
rate
value
data
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
Application number
JP3036429A
Other languages
English (en)
Inventor
Tadahiko Iketani
忠彦 池谷
Shiro Sugiyama
四郎 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP3036429A priority Critical patent/JPH0588673A/ja
Publication of JPH0588673A publication Critical patent/JPH0588673A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 イニシャルタッチとゲートタイムとを組み合
わせた楽音制御を行い、これにより、ダンプ時の表現力
を飛躍的に向上させる。 【構成】図12に示すエンベロープL1,L2,L3,
L4についてみると、ゲートタイムが等しい1番から4
番までのダンプ(破線部分)についてはイニシャルタッ
チデータ(1/Δtに対応)が最も大きいエンベロープ
L1のダンプの傾斜が最も急峻であり、イニシャルタッ
チデータが小さいエンベロープL4のダンプの傾斜が最
も緩くなっている(例としてL4の8番、12番、16
番参照)。また、ゲートタイムが長くなれば、ダンプの
傾斜は緩やかになる(例としてL4)。このことを音楽
的に説明すれば、強いタッチで短く弾くほど急激なダン
プとなり、音のはぎれのよさが際立ってくる。逆に、弱
いタッチで長く弾くほど緩やかなダンプとなり、ムーデ
ィーな音になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、歯切れの良い演奏表
現やムーディーな演奏表現を可能にする演奏装置に関す
る。
【0002】
【従来の技術】発生楽音に豊かな表情をつけるために、
鍵のイニシャルタッチやキーオン時間(ゲートタイム)
によって楽音制御を行うようにした楽音発生装置が種々
開発されている。例えば、特開平2−187794号に
は、ゲートタイムによって楽音の要素(例えば、エンベ
ロープ)を制御する装置が開示されており、また、実開
昭60−3892号にはイニシャルタッチによって記憶
波形を選択する電子楽器が示されている。ここで、エン
ベロープのステートについて述べると、図18に示すよ
うに、楽音の立ち上がり部分であるアタックa、その後
の減衰期間であるディケイb、さらにゆっくり減衰して
いくリリースcおよびキーオフされた際に急速に減衰す
るダンプdがある。
【0003】
【発明が解決しようとする課題】ところで、従来の電子
楽器の演奏や自動演奏装置の再生演奏においては、演奏
表現力が今一つであるという問題があった。すなわち、
アコースティックピアノ(生ピアノ)のように歯切れの
良い演奏とムーディーな演奏の双方を行うことができな
かった。ところで、アコースティックピアノの表現力の
広さは、演奏者が曲に対するイメージを鍵タッチ等に反
映させ得ることから可能になる。言い換えれば、弦に対
するハンマの当たり方のイメージと、指に感じる反力と
の関係から人間の脳をも含めたフィードバック系が作ら
れ、これによって、微妙な表現が達成される。したがっ
て、キーオンタッチ、キーオフタッチおよびゲートタイ
ム等が相互に微妙に関係し合って楽音がコントロールさ
れる。例えば、リリース時のフェルトによる弦の押さえ
方は、主にキーオフタッチによってコントロールされる
が、これはゲートタイムの長短にも関係している。
【0004】ところで、電子楽器の中には、リリース時
の表現力を向上させるために、キーオフタッチによる楽
音制御を行うものがある。例えば、特公昭63−344
73号においては、キーの離鍵時の動作スピードを検出
し、この検出結果に応じて楽音信号を制御するようにし
ている。しかしながら、このような制御をキーオフから
ダンプ終了までの僅かな時間において行うには、処理の
高速化等の種々の問題を解決しなければならない。例え
ば、キーが所定のスイッチを通過する時間差に基づいて
キーオフタッチを検出するタイプのものでは、楽音制御
へのフィードバックを追従させにくいという欠点があっ
た。これを解決した装置として、鍵の全行程にわたって
移動量を検出し、この検出結果を微分してキーオフ速度
を求めるようにしたものがある(例えば、特開平2−2
14897号)。これによれば、鍵の速度がリアルタイ
ムで検出されるので楽音制御の高速化を図ることができ
る。しかしながら、全ての鍵に移動量の検出機構を設け
なければならず、このため、装置が高価になって製品化
が困難になるといつ問題が生じた。
【0005】この発明は、上述した事情に鑑みてなされ
たもので、比較的簡単に検出できるイニシャルタッチと
ゲートタイムとを組み合わせた楽音制御を行い、これに
より、リリース時の表現力を飛躍的に向上させることが
でき、しかも、安価に実現することができる演奏装置を
提供することを目的としている。
【0006】なお、上述した特開平2−187794号
には、ゲートタイムと他の演奏情報(イニシャルタッ
チ、リリースタッチ等)とを組み合わせて楽音制御を行
うという記載があるが、どのような組み合わせによって
どのような表現力が向上するのかが示されておらず、上
記課題を解決するには至らなかった。
【0007】
【課題を解決するための手段】この発明は、上述した課
題を解決するために、音高データを含む演奏情報に応じ
た楽音を発生するとともに、演奏のイニシャルタッチを
示すタッチデータに応じたエンベロープ制御を前記楽音
に対して行う演奏装置において、キーオンを示すキーオ
ン情報が供給されてからキーオフを示すキーオフ情報が
供給されるまでのゲートタイムを計時するゲートタイム
計時手段と、前記キーオフ情報が供給された後にエンベ
ロープを減衰させるとともに、前記ゲートタイム計時手
段が計時したゲートタイムが長くなるに従って減衰レー
トを小さくし、かつ、前記イニシャルタッチデータが大
きくなるに従って減衰レートを大きくする減衰レート制
御手段とを具備している。
【0008】
【作用】前記減衰レート制御手段により、キーオフ後の
エンベロープが、タッチが強いほど速く減衰し、また、
キーオン時間(ゲート時間)が長いほどゆっくり減衰す
る。すなわち、イニシャルタッチのキーオン時間の双方
の関係に従ってキーオフ後(ダンプ時)の減衰レートが
決定される。
【0009】
【実施例】
A:実施例の構成 以下図面を参照してこの発明の実施例について説明す
る。
【0010】図1は、この発明の一実施例の構成を示す
ブロック図である。図において、1は装置各部を制御す
るCPUであり、2、3は各々プログラムメモリ(RO
M)およびワーキングメモリ(RAM)である。4は回
路の動作の基本となる各種クロックφ,φt1,φt2を発生
するタイマ回路であり、5は音色スイッチやその他のス
イッチによって構成されるスイッチ群である。6は多数
のキーによって構成される鍵盤であり、押下されたキー
のキーコードKCを出力するようになっている。7は楽
音信号形成回路であり、CPU1の制御の下に楽音信号
を形成して出力する。この楽音信号は、D/Aコンバー
タ8によってアナログ信号に変換された後、サウンドシ
ステム9によって楽音として発音される。
【0011】次に、楽音信号形成回路7の構成について
説明する。まず、15は発音の有無を示すフラグを記憶
する時分割キーイングレジスタであり、図2に示すよう
に発音チャンネル数と同数のビットのシフトレジスタ1
6を有している。シフトレジスタ16はアンドゲート1
7およびオアゲート18を介して内部のデータが循環す
るようになっており、シフト速度はクロックφによって
制御される。シフトレジスタ16のビットのセットは、
Set信号(“1”)がオアゲート18を介して供給さ
れることにより行われる。また、Reset信号
(“1”)が供給されたときはインバータ19の出力信
号が“0”になるため、この状態においてシフトレジス
タ16の入力に循環されるデータは“0”になる。この
キーオンレジスタ16の各チャンネルの内容を以後キー
オンレジスタKON(n)と表す(nはチャンネル番号
である)。
【0012】次に、図1に示すダンプΔレートレジスタ
20には、図4に示すテーブルTBLから読み出される
データが書き込まれるようになっている。テーブルTB
Lからは、スイッチ時間差の逆数(横軸)とゲートタイ
ム(縦軸)に応じたデータが読み出されるようになって
いる。スイッチ時間差とは、その逆数がイニシャルタッ
チの強さに対応するデータであり、図5に示すキーの下
部23が第1スイッチ21と第2スイッチ22との間を
通過する時間である。この時間差データは、タイマレジ
スタΔt(n)に書き込まれるようになっている。ま
た、ゲートタイムはキーオンからキーオフまでの時間で
あり、その時間はゲートタイムレジスタG(n)に書き
込まれる。そして、図4に示す表の各値は、TBL(Δ
t(n),GT(n))と表される。また、図4におけ
るCは演算のための定数であり、例えば、小数点以下で
レートを決定する方法においては1/10,1/100
等の値になる。
【0013】図3はダンプΔレートレジスタ20の構成
を示しており、図示のようにセレクタ30、アンドゲー
ト31および1ステージが複数のビットで構成されてい
るシフトレジスタ32によって構成されている。セレク
タ30は、Set信号(“1”)が供給されたときに第
1入力端を選択し、CPU1から供給されるデータTB
L(Δt(n),GT(n))をアンドゲート31を介
してシフトレジスタ32に書き込む。Set信号が供給
されない時は、セレクタ31は第0入力端を選択し、こ
れにより、シフトレジスタ32内のデータは、セレクタ
31、アンドゲート31を介して循環する。また、Re
set信号が供給された場合は、アンドゲート31(多
ビットゲート)の全ビットの出力信号が“0”になるか
ら、シフトレジスタ32内の対応するステージはクリア
される。以後においては、ダンプΔレートレジスタ20
内のシフトレジスタ32の各ステージの内容をレジスタ
ΔDMPR(n)と表す。
【0014】次に、図1に示す加減算回路35はダンプ
Δレートレジスタ20から出力されるデータとCPU1
から供給されるデータとの間で加減算を行う回路であ
り、加算を行うか減算を行うかは正/負判定回路36に
よって制御されるようになっている。正/負判定回路3
6は、ダンプΔレートレジスタ20の出力信号に基づい
て判定を行う。ただし、ダンプΔレートレジスタ20
は、ダンプ時(キーオフから消音されるまでの期間)に
おいてのみデータを出力するようになっており、この結
果、加減算回路35は各発音チャンネルがダンプ時のと
きだけ加減算処理を行う。したがって、ダンプ時以外に
おいては、CPU1から出力されるデータは加減算回路
35を介してそのままレートレジスタ40の入力端に供
給される。
【0015】レートレジスタ40は、アタック、ディケ
イ、リリース、ダンプの各ステートにおけるエンベロー
プ波形のレート(傾き)を決めるデータが発音チャンネ
ル毎に記憶されるレジスタである。この場合、前のステ
ートが終了すると次のステートのレートデータがCPU
1から加減算回路35を介して供給されるようになって
いる。また、レートレジスタの構成は、前述したダンプ
Δレートレジスタ20と同様の構成になっており(図3
参照)、その内部のシフトレジスタ(図3の符合32に
対応)の各ステージの内容を以下においてレジスタRA
TE(n)と表す。
【0016】次に、レートレジスタ40から出力される
レートデータは、加減算回路41の一方の入力端に供給
され、加減算回路41の出力データは、ANDゲート4
2およびシフトレジスタ43を介して加減算回路41の
他方の入力端に供給されるようになっている。シフトレ
ジスタ43は、図3に示すレジスタ32と同様の複数ビ
ット複数ステージの構成になっている。ANDゲート4
2は時分割キーイングレジスタ15から出力される時分
割キーイング信号が“1”のときに開状態になるように
設定されている。この場合、レートレジスタ40から供
給されるレートデータとシフトレジスタ43から循環さ
れるデータのチャンネル番号は等しくなるようにシフト
段数等が設定されており、したがって、あるチャンネル
についてANDゲート42が開状態であれば、そのチャ
ンネルのデータは、シフトレジスタ43から加減算器4
1に供給される際にレートデータと加算(または減算)
され、この結果、その値が順次増大(または減少)して
いく。加減算器41は、データI/Dが“1”のときに
加算、“0”のときに減算を行うようになっており、デ
ータI/Dはワーキングメモリ3内のレジスタI/D
(n)に格納され、所定のタイミングにおいてCPU1
から出力されるようになっている。また、あるチャンネ
ルについての時分割キーイング信号が“0”になると、
ANDゲート42が閉状態になるため、シフトレジスタ
43内の対応するステージはクリアされる。
【0017】上述のように、シフトレジスタ43の各ス
テージの値は、順次加算もしくは減算されていきその値
は、各ステートのエンベロープを示すもの(累積値)と
なる。そして、シフトレジスタ43の出力信号は、CP
U1に供給されて所定の値と比較され、各ステートの終
了点の判断等に用いられる。
【0018】次に、図1に示す50は音源ブロックであ
り、時分割キーイング信号が“1”になっている発音チ
ャンネルについてキーコードKCに対応する音高の楽音
を指定された音色で発音する。この際、シフトレジスタ
43から供給されるエンベロープ信号に従って発生楽音
のエンベロープを制御し、アタック、ディケイ、リリー
ス、ダンプの各ステートに応じた楽音信号制御を行う。
【0019】B:実施例の動作 メインルーチン 図6は、同実施例のメインルーチンの処理を示すフロー
チャートである。まず、ステップSPa1においては、
イニシャライズ処理が行われ各種レジスタに初期値が設
定される。次に、キーオンイベントの有無がステップS
Pa2において判定される。ここで、キーオンイベント
とは、キーがオフ状態からオン状態に変化したことをい
う。この判定が「YES」の場合はステップSPa3の
キーオンイベント処理を行う。キーイベント処理の終了
後およびステップSPa2で「NO」と判定された場合
はステップSPa4に移ってキーオフイベントの有無を
判定する。ここで、キーオフイベントとは、キーがオン
状態からオフ状態に変化することをいう。この判定が
「YES」であれば、ステップSPa5のキーオフイベ
ント処理を行う。キーオフイベント処理の終了後および
ステップSPa4において「NO」と判定された場合
は、ステップSPa6に移ってスイッチ群5内の音色ス
イッチ(図1参照)が操作されたか否かを判定する。こ
の判定が「YES」であれば、音色設定処理を行い新た
な音色を音源ブロック50に設定する(ステップSPa
7)。音色設定処理の終了後およびステップSPa6で
「NO」と判定された場合は、ステップSPa8におい
てその他のイベントがあったか否かが判定され、「YE
S」であれば該当する処理を行った後(ステップSP
9)にステップSPa2に戻り、「NO」であれば直ち
にステップSPa2に戻る。
【0020】キーオンイベント処理 次に、キーオンイベント処理について図7、図8を参照
して説明する。まず、ステップSPb1において、キー
オンイベントバッファKONBUF(i)のアドレスナ
ンバーiをクリアする。キーオンイベントバッファKO
NBUF(i)は、図9に示すようにキーオンイベント
があったキーのキーコードKCおよびマークKSを記憶
する(i+1)個のレジスタである。マークKSとは、
キーオンが第1スイッチ21によって検出された場合に
0、第2スイッチによって検出された場合に1となるフ
ラグである。このように、キーオンイベントは第1スイ
ッチ21によるものと第2スイッチ21によるもものの
2種がある。また、アドレスナンバーiは0〜7であ
り、したがって、キーオンイベントバッファKONBU
F(i)は、最大8個までのキーコードを格納すること
ができる。
【0021】次いで、ステップSPb2においては、キ
ーオンイベントバッファKONBUF(i)に1回のキ
ースキャン中に生じたキーオンイベントのキーコードお
よびフラグKSの内容が書き込まれる。この場合、複数
のキーイベントが検出されれば対応する数のキーオンイ
ベントバッファKONBUF(i)に書き込みが行われ
る。そして、ステップSPb3においてアドレスナンバ
ーiをクリアする。これは以下においてキーオンイベン
トバッファKONBUF(0)から順に処理を行うため
である。次に、フラグKSが1か否かが判定される。す
なわち、第1スイッチ21によるキーオンか第2スイッ
チ22によるキーオンかが識別される。キーオンは、第
1スイッチ、第2スイッチの順で検出されるので、ある
キーオンイベントバッファKONBUF(i)について
の最初のステップSPb4の判定は「NO」となる。
今、仮にキーオンイベントバッファKONBUF(0)
についての判定が「NO」であったとすれば、処理はス
テップSPb5へ進んでチャンネルナンバーn1の空き
がサーチされる。チャンネルナンバーn1は、第1スイ
ッチについてのチャンネルを示し、値は0から15まで
である。そして、空きがない場合は、ステップSPb1
6からステップSPb8に進んでキーオンイベントバッ
ファKONBUF(i)を全てのチャンネルについてク
リアし、メインルーチンにリターンする(図8参照)。
全てのチャンネルのキーオンイベントバッファKONB
UF(i)についてクリアするのは、発音させるべきチ
ャンネルがないので、この場合のキーオンイベントを無
効にするためである。
【0022】一方、チャンネルに空きがある場合は、ス
テップSPb6からステップSPb7に進みフラグCA
L1(n1)に“1”を立てる。フラグCAL1(n
1)は、第1スイッチついてのキーオンがチャンネルナ
ンバーn1に発生すると、この時刻から立てられるフラ
グであり、値が“1”のときに後述するイニシャルタッ
チの演算が実行されていることを示す。また、ステップ
SPb7においては、カウンタレジスタt1の値がタイ
マレジスタT1(n1)に書き込まれる。カウンタレジ
スタt1は、フラグCAL1(n1)のいずれかのチャ
ンネルが“1”になった時点からカウントを開始するレ
ジスタであり、全てのキーがオフするまでカウントを継
続する。そして、全てのキーがオフになった時点でリセ
ットされる。
【0023】ステップSPb7の処理の後は、図8に示
すステップSPb17に進み、キーオンイベントバッフ
ァKONBUF(i+1)の内容が0か否かが判断さ
れ、0でなければステップSPb18においてiの値を
インクリメントし、次のキーオンイベントバッファKO
NBUF(i)についてキーオン処理をすべくステップ
SPb4へ戻る。ステップSPb17における判定は、
iの値が最大値の7の場合に「YES」になる。この場
合は、(i+1)の値が8になるが、キーオンイベント
バッファKONBUF(8)が存在しないので(図9参
照)、その値が0になりステップSPb7の判定が「Y
ES」になるわけである。この判定が「YES」の場合
は、全てのキーオンイベントバッファKONBUF
(i)についてキーオンイベント処理が終了した場合で
あるから、メインルーチンへリターンする。
【0024】一方、第2スイッチによってキーオンイベ
ントが生じた場合は、ステップSPb4の判定が「YE
S」になり、ステップSPb9に移り、チャンネル番号
nについて空きチャンネルのサーチが行われる。チャン
ネルナンバーnは、第2スイッチについてのチャンネル
を示し、値は0から15までである。次に、キーオンイ
ベントバッファKONBUF(i)内のキーコードと同
一チャンネルのチャンネルナンバーn1をサーチする
(ステップSPb10)。そして、空きチャンネルがあ
り、かつ、同一のキーコードを有するチャンネルn1が
あったか否かが判定される。この判定が「YES」であ
る場合が発音可能状態であり、空きチャンネルがあって
同一チャンネルがない場合、すなわち、何かの理由で第
2スイッチのみのキーオンイベントがあった場合は、ス
テップSPb12、SPb17へ移り、その他の場合は
ステップSPb12,SPb8を経てリターンする。
【0025】ステップSPb11で「YES」と判定さ
れると、図8に示すステップSPb13に進み接点時間
差(イニシャルタッチに対応)を算出する。まず、チャ
ンネルナンバーnとしてチャンネルナンバーn1の値を
書き込み、計算中を示すフラグCAL1(n1)をクリ
アする。そして、タイマレジスタT2(n)にカウンタ
レジスタt1の値を代入する。これにより、第2スイッ
チによるキーオン時刻がタイマレジスタT2(n)に書
き込まれる。そして、T2(n)−T1(n)の減算を
行い接点時間差を求め、その結果をタイマレジスタΔt
(n)に格納する。
【0026】そして、ステップSPb14に進みアタッ
クレートおよびおアタックレベルの設定を行う。まず、
タイマレジスタΔt(n)の値を所定のテーブルに入力
してアタックレートを求め(ATR(Δt(n)))、
この値をレートレジスタRATE(n)、すなわち、図
1に示すレートレジスタ40に代入する。また、タイマ
レジスタΔt(n)の値を所定のテーブルに入力してア
タックレベルを求め(ATL(Δt(n)))、この値
をレベルレジスタL(n)に代入する。レベルレジスタ
L(n)は、アタック、ディケイ、リリース、ダンプの
各ステートにおけるレベルデータをストックするレジス
タであり(リリース、ダンプについては“0”をストッ
ク)、ワーキングメモリ3内に設定されている。また、
このステップにおいては、ステートレジスタSTATE
(n)の値をインクリメントする。ステートレジスタS
TATE(n)には、各ステートを識別するための値が
書き込まれるようになっており、無音状態で0、アタッ
クで1、ディケイで2、リリースで3、ダンプで4がそ
れぞれ書き込まれる。ステップSPb14では、ステー
トレジスタSTATE(n)の内容が1になり、以後の
ステートがアタックであることを示す。また、このステ
ップにおいては、レジスタI/Dの値を1にする。この
レジスタI/Dの値が1のときは、図1に示す加減算回
路41が加算モードになり、0のときは減算モードにな
る。さらに、このステップにおいては、フラグRATE
_SET(n)の値を一度“1”にしてから再び“0”
にする。これはフラグRATE_SET(n)の値を出
力して図1に示すレートレジスタ40にSet信号を与
え、レートレジスタL(n)の値を書き込むためであ
る。
【0027】次に、ステップSPb15に進むと、キー
オンイベントにかかるキーコードKCを送出する処理を
行う。すなわち、キーオンイベントバッファKONBU
F(i)内のキーコードKCを音源ブロック50内のK
ON=0に対応するキーコードレジスタKC(n)に送
出し、キーオンレジスタKON(n)を“1”にする。
この結果、音源ブロック50による発音処理が開始され
る。
【0028】キーオフイベント処理 次に、キーがオフされた際に行われるキーオフ処理につ
いて説明する。まず、ステップSPc1において、キー
オフイベントバッファKOFBUF(i)のアドレスナ
ンバーiをクリアする。キーオフイベントバッファKO
FBUF(i)は、キーオフイベントがあったキーのキ
ーコードKCおよびマークKSを記憶する(i+1)個
のレジスタであり、図9に示すキーオンイベントバッフ
ァKONBUF(i)と同様のレジスタである。マーク
KSは、キーオンイベント処理の場合と同様にキーオフ
が第1スイッチ21によって検出された場合に0、第2
スイッチによって検出された場合に1となるフラグであ
る。また、アドレスナンバーiは0〜7であり、したが
って、キーオフイベントバッファKOFBUF(i)
は、最大8個までのキーコードを格納することができ
る。
【0029】次いで、ステップSPc2においては、キ
ーオフイベントバッファKOFBUF(i)に1回のキ
ースキャン中に生じたキーオフイベントのキーコードお
よびフラグKSの内容が書き込まれる。この場合、複数
のキーイベントが検出されれば対応する数のキーオフイ
ベントバッファKONBUF(i)に書き込みが行われ
る。そして、ステップSPc3においてアドレスナンバ
ーiをクリアする。これは以下においてキーオフイベン
トバッファKOFBUF(0)から順に処理を行うため
である。次に、KSが1か否かが判定される。すなわ
ち、第1スイッチ21によるキーオフか第2スイッチ2
2によるキーオフかが識別される。キーオフは、第2ス
イッチ、第1スイッチの順で検出されるので、あるキー
オフイベントバッファKOFBUF(i)についての最
初のステップSPc4の判定は「YES」となる。今、
仮にキーオフイベントバッファKOFBUF(0)につ
いての判定が「YES」であったとすれば、処理はステ
ップSPc5へ進んでキーオフイベントバッファKOF
BUF(i)内のキーコードと同じキーコードを格納し
ている音源ブロック50内のキーコードレジスタKC
(n)をサーチする。そして、ステップSPc6に進
み、ダンプΔレートレジスタΔDMPR(n)、すなわ
ち、ダンプΔレートレジスタ20内のシフトレジスタ3
2(図3参照)に、図4に示すテーブルから求められる
データTBL(Δt(n),GT(n))を書き込む。
また、タイマレジスタΔt(n)の値を所定のテーブル
に入力してダンプレートを求め(DMPR(Δt
(n)))、この値をレートレジスタRATE(n)、
すなわち、図1に示すレートレジスタ40に代入する。
この際、フラグレジスタDMPR_SET(n)に順次
“1”、“0”をセットして出力し、ダンプΔレートレ
ジスタ20およびレートレジスタ40にSet信号(パ
ルス信号)を供給する。
【0030】そして、ゲートタイムの測定が終了するた
めゲートタイムレジスタG(n)をクリアし、また、ス
テートがダンプになったことを示すためレジスタSTA
TE(n)の値を4にする。さらに、レジスタI/Dの
値を“0”にして加減算回路40を減算モードにする。
【0031】次に、ステップSPc7に進み、音源ブロ
ック50側のレジスタをキーオフするために、KON=
1に対応するキーコードレジスタKC(n)にキーオフ
イベントバッファKOFBUF(i)内のキーコードを
書き込み、キーオンレジスタKON(n)をクリアす
る。この処理の後は、ステップSPc8において、全て
のキーオフイベントバッファKOFBUF(i)につい
てキーオフイベント処理が終了したか否かを判定し、
「YES」であればメインルーチンへリターンし、「N
O」であればアドレスナンバーiをインクリメントして
(ステップSPc9)、ステップSPc4へ戻る。
【0032】一方、キーオフイベントが第1スイッチに
ついて発生した場合は、ステップSPc4の判定が「N
O」になってステップSP10の判定を行う。この判定
は、ステップSP8と同様の判定であり、未処理のキー
オフイベントバッファKOFBUF(i)がある場合
は、ステップSP9を経てSPc4へ戻る。全てのキー
オフイベントバッファKOFBUF(i)についての処
理が終了すると、キーコードレジスタKC(n)内をサ
ーチし、キーコードが残存しているか否かを判定する。
そして、キーコードが残っていればメインルーチンへリ
ターンし、残っていなければカウンタレジスタt1をク
リアする(ステップSPc11〜SPc13)。
【0033】タイマインタラプト処理 次に、タイマインタラプト処理について説明する。この
処理は、タイマによる割り込みにより所定周期毎に行わ
れる処理であり、処理1と処理2とがある。
【0034】処理1は、図11に示すようになってお
り、速いクロック周期で割り込みがなされる。この処理
は、計算中を示すフラグCAL1(n)が“1”である
限り、カウンタレジスタt1をカウントアップする処理
である(ステップSPd1,SPd2)。
【0035】処理2は図13および図14に示すように
なっており、ステートの切り換わりを検出すると共に、
切り換わったステートのレートおよびレベルを設定する
処理である。まず、ステップSPe1においてはチャン
ネルナンバーnをクリアする。これはチャンネルナンバ
ー0から15の全てについて順次処理を行うためであ
る。ステップSPe2においては、チャンネルナンバー
nが16か否かが判定され、16であれば処理が全チャ
ンネルについて終了したことになるのでメインルーチン
にリターンする。ステップSP2の判定が「NO」であ
れば、ステップSPe3に進みキーコードレジスタKC
(n)の内容が0か否かが判定される。この判定が「Y
ES」であればステップSPe10に進みレジスタST
ATE(n)が4か否か、すなわち、ステートがダンプ
であるか否かが判定される。この判定が「NO」である
場合は、そのチャンネルは発音を行っていないので、図
14に示すステップSPe13においてチャンネルナン
バーをインクリメントし、ステップSPe2に戻る。す
なわち、次のチャンネルナンバーについての処理に移
る。
【0036】ところで、以下の説明においては、ステー
トがアタック、ディケイ、リリースおよびダンプのいず
れかに属するので、図12に示すエンベロープL1の場
合を例にとって説明する。
【0037】まず、キーオン処理のステップSPb14
において、アタックレートが設定されるとともに加減算
回路41に加算モードが設定されると、加減算回路4
1、ANDゲート42およびシフトレジスタ43から成
るループによってアタックレートが累算されていき図1
2に示すようにアタック部のエンベロープが直線的に上
昇していく。この累算値、すなわち、シフトレジスタ4
3の出力値(レジスタLVL(n))は、ステップSP
b14において設定されたアタックレベルと逐次比較さ
れ、このレベルに達しない限り上記累算処理が継続され
る。この動作に対応するのが、図13、図14に示すス
テップSPe4→SPe5→SPe7→SPe11→S
Pe12→SPe13→SPe2である。ここで、ステ
ップSP11は、定数LC(0に近い小さな数)とレジ
スタLVL(n)の値とを比較する処理であり、消音さ
れたか否かの判定である。発音中であれば「NO」と判
定されてステップSPe12に進む。ステップSPe1
2は、発音中のチャンネルについてゲートタイムレジス
タG(n)をカウントアップする処理である。次に、レ
ジスタLVL(n)の値が図12に示すアタックレベル
AL1に達すると、図13のステップSPe5の判定が
「YES」となってステップSPe6に進みレジスタS
TATE(n)をインクリメントしてディケイモードに
変わったことを示す。また、このステップにおいては、
ディケイレートおよびおディケイレベルの設定を行う。
まず、タイマレジスタΔt(n)の値を所定のテーブル
に入力してディケイレートを求め(DECR(Δt
(n)))、この値をレートレジスタRATE(n)、
すなわち、図1に示すレートレジスタ40に代入する。
また、タイマレジスタΔt(n)の値を所定のテーブル
に入力してディケイレベルを求め(ATL(Δt
(n)))、その値をレベルレジスタL(n)に代入す
る。また、レジスタI/D(n)の値を“0”にして加
減算器41を減算モードに設定する。
【0038】以後は、ステップSPe7→ステップSP
e8→ステップSPe11→ステップSPe12→ステ
ップSPe13→ステップSPe2→ステップSPe3
(あるいはリターン)→ステップSPe4→ステップS
Pe7なるループを循環する。これにより、加減算器4
1がディケイレートを順次減算して発生楽音のエンベロ
ープが図12に示すように下降する。
【0039】次に、レジスタLVL(n)の値が図12
に示すディケイレベルDC1に達すると、図13のステ
ップSPe8の判定が「YES」となってステップSP
e9に進みレジスタSTATE(n)をインクリメント
してステートがリリースに変わったことを示す。また、
このステップにおいては、リリースレートおよびリリー
スレベルの設定を行う。まず、タイマレジスタΔt
(n)の値を所定のテーブルに入力してリリースレート
を求め(RELR(Δt(n)))、この値をレートレ
ジスタRATE(n)、すなわち、図1に示すレートレ
ジスタ40に代入する。また、リリースレベルとして値
“0”をレベルレジスタL(n)に代入する。
【0040】以後は、ステップSPe9→ステップSP
e11→ステップSPe12→ステップSPe13→ス
テップSPe2→ステップSPe3(あるいはリター
ン)→ステップSPe4→ステップSPe7→ステップ
SPe11なるループを循環する。これにより、加減算
器41がリリースレートを順次減算して発生楽音のエン
ベロープが図12に示すように下降する。
【0041】次に、ディケイまたはリリースが継続して
いる段階においてキーオフがされた場合の動作について
説明する。キーオフがされると、前述したキーオフイベ
ント処理(図10)が行われ、ステートレジスタSTA
TE(n)の値が4に設定されるとともに(ステップS
Pc6)、キーオンレジスタKON(n)がクリアされ
る(ステップSPc7)。この結果、図13に示すステ
ップSPe3の判定が「YES」となり、また、ステッ
プSPe10の判定が「YES」となる。したがって、
ステップSPe3→ステップSPe10→ステップSP
e11→ステップSPe12→ステップSPe13→ス
テップSPe2→ステップSPe3(あるいはリター
ン)なるループを循環する。これにより、加減算器41
がダンプレートを順次減算し、発生楽音のエンベロープ
が図12に示す破線のように下降する。
【0042】ここで、図12に示す破線の傾斜、すなわ
ち、ダンプレートについて説明する。前述したステップ
SPc6の処理によって、ダンプΔレートレジスタΔD
MPR(n)、すなわち、ダンプΔレートレジスタ20
内のシフトレジスタ32(図3参照)に、図4に示すテ
ーブルから求められるデータTBL(Δt(n),GT
(n))が書き込まれるが、この値(以下補正値とい
う)は図4に示すようにゲートタイムとイニシャルタッ
チ(1/Δt)によって決まる。そして、この補正値
は、加減算回路35において、ステップSPc6で求め
たダンプレート(DMPR(Δt(n)))に加算もし
くは減算される。加算もしくは減算のいずれかは補正値
の符合に応じて選択される。この場合、補正値が0であ
れば、ステップSPc6のダンプレートがそのままレー
トレジスタRATE(n)に代入されるので、エンベロ
ープは予め記憶されている標準的なダンプレートに応じ
て下降する。また、補正値が正の値であれば加減算器3
5によってダンプレートに補正値が加算されるので、エ
ンベロープの傾斜は急峻となるように補正され、逆に補
正値が負の値でればエンベロープの傾斜は緩やかになる
ように補正される。そして、補正値は、図4に示すよう
にタッチデータがおおきくなるに従って大きくなり、ゲ
ートタイムが長くなるに従って小さくなる。図12のエ
ンベロープL1について言えば、ゲートタイムが短い1
番の破線と5番の破線が急峻になっており(補正値は、
各々+2Cおよび+1C)、9番、13番の破線が標準
の傾きになっている。
【0043】また、図12に示す全てのエンベロープL
1,L2,L3,L4についてみてみると、ゲートタイ
ムが等しい1番から4番までのダンプについてはイニシ
ャルタッチデータ(1/Δtに対応)が最も大きいエン
ベロープL1のダンプの傾斜が最も急峻であり、イニシ
ャルタッチデータが小さいエンベロープL1のダンプの
傾斜が最も緩くなっている(補正値0)。このことを音
楽的に説明すれば、強いタッチで短く弾くほど急激なダ
ンプとなり、音のはぎれのよさが際立ってくる。逆に、
弱いタッチで長く弾くほど緩やかなダンプとなり、音の
ニュアンスはムーディーになってくる。これはアコース
ティックピアノの特性と同じであり、演奏家の表現に対
応するものである。
【0044】以上の処理内容により、ダンプ処理が継続
していくと、音量が0に近づき消音状態になる。この結
果、図14示すステップSPe11の判定が「YES」
となって、ステップSPe14の消音処理を行う。この
処理は、レジスタSTATE(n)をクリアしてステー
トが消音状態であることを示し、また、キーコードレジ
スタKC(n)およびゲートタイムレジスタGT(n)
をクリアする。さらに、ダンプレートレジスタとレート
レジスタ40にリセット信号を送ってクリアする。以上
の処理の後は、ステップSPe13を介してステップS
Pe2に戻る。
【0045】なお、キーオン状態が継続してリリース状
態が長く続いた場合も、音量がほぼ0になれば、ステッ
プSPe11の判定において「YES」となり消音処理
(ステップSPe14)が行われる。
【0046】C:変形例 次に、変形例について説明する。 (1)上述した実施例は、この発明を電子楽器に適用し
た実施例であったが、この発明は、例えば、供給される
演奏データに基づいて自動演奏を行う自動演奏装置にも
適用することができる。例えば、図15に示すように、
自動演奏用の情報を記録再生する自動演奏記録再生装置
60と、この発明による楽音信号発生装置61を設け、
MIDI信号によって演奏情報を伝送するように構成す
る。MIDI信号には音高情報、キーオン情報、キーオ
フ情報、タッチ情報、音色情報およびピッチベンド等に
よる操作子情報が含まれている。楽音信号発生装置61
は、MIDI信号に含まれる情報から前述した実施例に
おけるダンプ処理等を行う。なお、自動演奏記録再生装
置60と楽音信号発生装置61とを一体に形成してもよ
い。
【0047】(2)上述の実施例では、楽音制御の一例
として音量のレベル(エンベロープ)をコントロールし
たが、音色変化、ピッチ変化、あるいは楽音信号に付与
される各種効果(リバーブ、ビブラート、音像位置)を
コントロールしてもよい。
【0048】(3)上述の実施例においては、図4に示
すテーブルを4×4のマトリックスとしたが、これをさ
らに細かく設定してもよい。3次元的に表現すれば、図
16に示すようになっていればよい。なお、この場合は
ゲートタイムGTの最小値60と最大値100を固定し
てその間を細かくするやり方と、最小値と最大値を広げ
ていくやり方とがある。後者の例としては、最小値を4
0ms以下、最大値を500ms以上としその間を細か
くするやり方などがある。しかし、後者の方法にあって
は、範囲に限界がある。例えば、ゲートタイムが10m
s以下でイニシャルタッチが大きい場合を想定すると、
これは金槌で鍵盤をたたき、すばやく戻すようなもので
現実的でない。また、ゲートタイムが500msを超え
て2秒、3秒というロングトーンになれば、ダンパペダ
ルを踏んだようなキーオフになり、ロングリリースが実
現する。しかし、このようなダンプ処理をするのであれ
ば、実際にダンパペダルを踏めば足りる。したがって、
上記に示したような数値が妥当な最小値および最大値と
いえる。
【0049】なお、図16において、ハッチングを付け
た領域は、補正をしない標準的な領域である。また、ダ
ンプレートの補正値の特性は、曲線でも直線でもよい。
【0050】(4)図12に示したエンベロープ波形L
1〜L4は、各レベルへの到達時間が全て同じであった
が、これを図17に示すように異ならせても良い。これ
は各ステートのレベルおよびレートを適宜設定すること
によって容易に実現できる。
【0051】
【発明の効果】以上説明したように、この発明によれ
ば、イニシャルタッチとゲートタイムとを組み合わせた
楽音制御を行い、これにより、ダンプ時の表現力を飛躍
的に向上させることができる。しかも、イニシャルタッ
チとゲートタイムとを検出すれば良いので安価に実現す
ることができる利点が得られる。
【図面の簡単な説明】
【図1】 この発明の一実施例の構成を示すブロック図
である。
【図2】 図1に示す時分割キーイングレジスタ15の
内部構成を示すブロック図である。
【図3】 図1に示すダンプΔレートレジスタ20の内
部構成を示すブロッック図である。
【図4】 ダンプレートの補正値を記憶しているテーブ
ルを示す概念図である。
【図5】 鍵の動きを検出する第1スイッチ21と第2
スイッチ22の検出位置を示す概略構成図である。
【図6】 同実施例のメインルーチンを示すフローチャ
ートである。
【図7】 同実施例のキーオンイベント処理の一部を示
すフローチャートである。
【図8】 同実施例のキーオンイベント処理の一部を示
すフローチャートである。
【図9】 同実施例におけるキーコードバッファの内容
を示す概念図である。
【図10】 同実施例におけるキーオフイベント処理を
示すフローチャートである。
【図11】 同実施例におけるタイマインタラプト処理
1を示すフローチャートである。
【図12】 同実施例の制御に基づくエンベロープ波形
を示す波形図である。
【図13】 同実施例のタイマインタラプト処理2の一
部を示すフローチャートである。
【図14】 同実施例のタイマインタラプト処理2の一
部を示すフローチャートである。
【図15】 この発明の変形実施例の構成を示すブロッ
ク図である。
【図16】 図4に示すテーブルを3次元的に表現した
グラフである。
【図17】 同実施例のエンベロープ波形の他の例を示
す波形図である。
【図18】 一般的なエンベロープのステートを示す波
形図である。
【符号の説明】
1……CPU(ゲートタイム計時手段,減衰レート制御
手段)、2……プログラムメモリ(減衰レート制御手
段)、20……ダンプΔレートレジスタ(減衰レート制
御手段)、35……加減算器(減衰レート制御手段)、
36……正/負判定回路(減衰レート制御手段)、40
……レートレジスタ(減衰レート制御手段)、41……
加減算器(減衰レート制御手段)、43……シフトレジ
スタ(減衰レート制御手段)。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 音高データを含む演奏情報に応じた楽音
    を発生するとともに、演奏のイニシャルタッチを示すイ
    ニシャルタッチデータに応じたエンベロープ制御を前記
    楽音に対して行う演奏装置において、 キーオンを示すキーオン情報が供給されてからキーオフ
    を示すキーオフ情報が供給されるまでのゲートタイムを
    計時するゲートタイム計時手段と、 前記キーオフ情報が供給された後にエンベロープを減衰
    させるとともに、前記ゲートタイム計時手段が計時した
    ゲートタイムが長くなるに従って減衰レートを小さく
    し、かつ、前記イニシャルタッチデータが大きくなるに
    従って減衰レートを大きくする減衰レート制御手段とを
    具備することを特徴とする演奏装置。
  2. 【請求項2】 演奏に対応した音高データ、キーオンデ
    ータ、キーオフデータを発生する演奏情報発生手段と、 演奏のイニシャルタッチを検出してイニシャルタッチデ
    ータを発生するタッチデータ検出手段とを具備すること
    を特徴とする請求項1記載の演奏装置。
JP3036429A 1991-03-01 1991-03-01 演奏装置 Pending JPH0588673A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3036429A JPH0588673A (ja) 1991-03-01 1991-03-01 演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3036429A JPH0588673A (ja) 1991-03-01 1991-03-01 演奏装置

Publications (1)

Publication Number Publication Date
JPH0588673A true JPH0588673A (ja) 1993-04-09

Family

ID=12469573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3036429A Pending JPH0588673A (ja) 1991-03-01 1991-03-01 演奏装置

Country Status (1)

Country Link
JP (1) JPH0588673A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009031457A (ja) * 2007-07-26 2009-02-12 Casio Comput Co Ltd 楽音発生装置および楽音発生処理プログラム
JP2009251261A (ja) * 2008-04-07 2009-10-29 Roland Corp 電子楽器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6334473A (ja) * 1986-07-30 1988-02-15 理工科学産業株式会社 恒温槽の冷却方法
JPH02187794A (ja) * 1989-01-13 1990-07-23 Yamaha Corp 楽音発生装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6334473A (ja) * 1986-07-30 1988-02-15 理工科学産業株式会社 恒温槽の冷却方法
JPH02187794A (ja) * 1989-01-13 1990-07-23 Yamaha Corp 楽音発生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009031457A (ja) * 2007-07-26 2009-02-12 Casio Comput Co Ltd 楽音発生装置および楽音発生処理プログラム
JP2009251261A (ja) * 2008-04-07 2009-10-29 Roland Corp 電子楽器

Similar Documents

Publication Publication Date Title
US4332183A (en) Automatic legato keying for a keyboard electronic musical instrument
JP2576619B2 (ja) 楽音発生装置
JP3372124B2 (ja) 電子楽器
JPH0634170B2 (ja) 電子楽器の自動伴奏装置
JPS58140794A (ja) 自動ピアノ
JPH0588673A (ja) 演奏装置
JPH0572596B2 (ja)
US5998723A (en) Apparatus for forming musical tones using impulse response signals and method of generating musical tones
JP2640267B2 (ja) 電子楽器
JP3194850B2 (ja) 自動演奏機能を有する電子楽器
JP3280794B2 (ja) 残響音生成装置及び残響音生成方法
JPS61292689A (ja) 自動伴奏装置付き電子楽器
JP2526636B2 (ja) 電子楽器
JP2646812B2 (ja) 電子楽器
JP2560485B2 (ja) 電子楽器
JP2625668B2 (ja) 自動演奏装置
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP3143039B2 (ja) 自動演奏装置
JP3090589B2 (ja) 自動演奏装置
JP3344872B2 (ja) 自動演奏装置
JPH0786754B2 (ja) 電子鍵盤楽器
JP3706232B2 (ja) 楽音生成装置及び楽音生成方法
JPS5827517B2 (ja) 電子楽器の減衰音消去装置
JP2636393B2 (ja) 自動演奏装置
JP2556370Y2 (ja) 電子鍵盤楽器

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19960723