JP2531317B2 - 電子楽器の押鍵割当て装置 - Google Patents

電子楽器の押鍵割当て装置

Info

Publication number
JP2531317B2
JP2531317B2 JP3177525A JP17752591A JP2531317B2 JP 2531317 B2 JP2531317 B2 JP 2531317B2 JP 3177525 A JP3177525 A JP 3177525A JP 17752591 A JP17752591 A JP 17752591A JP 2531317 B2 JP2531317 B2 JP 2531317B2
Authority
JP
Japan
Prior art keywords
key
data
tone
assigned
channel
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
Application number
JP3177525A
Other languages
English (en)
Other versions
JPH04356099A (ja
Inventor
竹夫 渋川
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 JP3177525A priority Critical patent/JP2531317B2/ja
Publication of JPH04356099A publication Critical patent/JPH04356099A/ja
Application granted granted Critical
Publication of JP2531317B2 publication Critical patent/JP2531317B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、鍵盤にて押された鍵
を鍵の数より少ない複数の楽音発生チャンネルのいずれ
かに割当てる電子楽器の押鍵割当て装置に関する。
【0002】
【従来の技術】従来、この種の割当て装置においては、
鍵盤にて新たな鍵が押された場合、次のような方法によ
り新たに押された鍵の割当て処理を行なっていた。第1
の方法は、特開昭52−25613号公報に示されるよ
うに、各楽音発生チャンネルにおける楽音の音量レベル
制御用のエンベロープ波形振幅値を各々比較してエンベ
ロープ波形振幅値が最も小さい(すなわち最低音量レベ
ルの)楽音発生チャンネルを検出し、この検出した楽音
発生チャンネルに新たに押された鍵を割当て、このチャ
ンネルにおいて、これまで発生していた楽音に代えて該
新押鍵に対応する楽音を発生させるものである。
【0003】第2の方法は、特公昭59−22238号
公報に示されるように、各楽音発生チャンネルに割当て
られた鍵が離鍵される毎に既に離鍵状態にある全ての楽
音発生チャンネルに関して各々計数値を一律に増加させ
ることにより、該計数値によって各楽音発生チャンネル
の離鍵の順序を表示しておき、そして各楽音発生チャン
ネルの計数値を各々比較して計数値が最も大きい(すな
わち最も古く離鍵された)楽音発生チャンネルを検出
し、この検出した楽音発生チャンネルに新たに押された
鍵を割当て、このチャンネルにおいて、これまで発生し
ていた楽音に代えて該新押鍵に対応する楽音を発生させ
るものである。
【0004】
【発明が解決しようとする課題】しかるに、上記第1の
方法による従来の割当て装置においては、全ての楽音発
生チャンネルにて楽音が発生されている状態において新
たな鍵が押された場合、該鍵はエンベロープ波形振幅値
が最低であるすなわち楽音の発生が最も早く終了する楽
音発生チャンネルに割当てられ、該チャンネルにおい
て、これまで発生していた楽音に代えて該新押鍵に対応
する楽音が発生され、かつ残りの楽音発生チャンネルに
おいては、これまで発生していた楽音が引続き発生され
るので、割当ての優先順位は妥当なものである。しかし
ながら、各楽音発生チャンネルのエンベロープ波形振幅
値を常に監視しかつ該振幅値が最低である楽音発生チャ
ンネルを検出する回路を必要とするので、この種の割当
て装置の構成が複雑になるとともに、コストが高くなる
という問題があった。しかも、割当て回路と楽音発生チ
ャンネルを構成する楽音発生回路は、これらの回路を集
積回路等で構成した場合、通常異なるチップに配置され
るので、上記エンベロープ波形振幅値を表すデータを楽
音発生回路から割当て回路に転送する回路が必要とな
り、上記コストはこの回路の分だけさらに高くなる。
【0005】また、上記第2の方法による従来の押鍵割
当て装置は、各楽音発生チャンネル毎の離鍵の順序を表
示する値を増加させかつ比較して該値が最大である楽音
発生チャンネルを検出する回路により構成され、上記第
1の方法による押鍵割当て装置のように、エンベロープ
波形振幅値を監視する回路及び楽音発生回路から押鍵割
当て回路にエンベロープ波形振幅値を表すデータを転送
する回路が不必要であるので、この種の割当て装置のコ
ストは差程高くなることはないが、各楽音発生チャンネ
ルにて発生される楽音の音量特性が各々異なる場合、す
なわち押鍵強さ等の鍵タッチに応じて音量レベル(楽音
が減衰を開始する直前のエンベロープ波形振幅値)を異
ならせた場合、新たな鍵が押されると、該鍵はエンベロ
ープ波形振幅値の大きさとは無関係に最も古く離鍵され
た楽音発生チャンネルに割当てられるので、エンベロー
プ波形振幅値が極めて小さい楽音発生チャンネルがあっ
ても、前記鍵はエンベロープ波形振幅値が大きな楽音発
生チャンネルに割当てられてしまい、これまで該チャン
ネルにて発生されていた楽音が消されることがあるとい
う問題がある。すなわち、前に離された鍵の楽音のエン
ベロープ波形の減衰時間が長くて該楽音が引続き長く発
生される状態にあり、かつ後に離された鍵の楽音のエン
ベロープ波形の減衰時間が短くて該楽音の発生が終了し
又は終了寸前の状態にあっても、新たな鍵が押されると
前者の楽音が消されることになるので、この押鍵割当て
装置による割当てチャンネルの優先順位は適切に決定さ
れるものではない。
【0006】この発明は、上記問題に対処するため、各
楽音発生チャンネルにて発生される楽音の音量特性を鍵
タッチに応じて制御する場合においても、割当てチャン
ネルの優先順位が適切に決定され、かつ簡単な構成で低
コストにて実現される電子楽器の押鍵割当て装置を提供
しようとするものである。
【0007】
【課題を解決するための手段】かかる問題の解決にあた
り、この発明の構成上の特徴は、発音すべき楽音に関す
る鍵の押鍵及び離鍵を表す鍵情報並びに同鍵の鍵タッチ
を表す鍵タッチ情報を入力して、前記鍵タッチ情報に応
じて音量レベルの制御された楽音信号をそれぞれ発生す
る複数の楽音発生チャンネルのいずれかに発音すべき楽
音に関する鍵を割当る電子楽器の押鍵割当て装置にお
いて、前記割当ての優先順位をその値の大きさにより表
すデータを前記各楽音発生チャンネルに対応して記憶す
る記憶手段と、前記押鍵又は離鍵を表す鍵情報を入力す
る毎に前記記憶手段に記憶されている各楽音発生チャン
ネルに対応したデータの値をそれぞれ前記優先順位が高
くなる方向に所定値だけ変更するデータ変更手段と、前
記押鍵を表す鍵情報を入力したとき前記記憶手段に記憶
されているデータの値に基づき最も前記優先順位の高い
データに対応した楽音発生チャンネルに前記押鍵に係る
鍵を割当てる割当て制御手段と、前記押鍵又は離鍵を表
す鍵情報を入力する毎に前記割当てられた鍵に関する鍵
タッチ情報により表された鍵タッチに応じて設定され前
記優先順位を表す値を前記押鍵又は離鍵に関する鍵が割
当てられた楽音発生チャンネルに対応して前記記憶手段
に書込む書込み手段とを備えたことにある。
【0008】
【作用】上記のように構成したこの発明においては、新
たな押鍵を表す鍵情報が入力されると、割当て制御手段
が、記憶手段に記憶されていて割当て優先順位を表す各
データの値に基づき、最も優先順位の高いデータに対応
した楽音発生チャンネルを探し出して、同チャンネルに
前記押鍵に係る鍵を割当てる。この場合、記憶手段に記
憶されている各データは、書込み手段により、前記割当
てられた鍵に関する鍵タッチ情報により表された鍵タッ
チに応じて初期設定され、この初期設定されたデータ
は、さらに異なる鍵が押され又は離される毎に、データ
変更手段により記憶手段に記憶されている他のデータと
ともに、割当て優先順位が高くなる方向に所定値だけ変
更されるので、記憶手段に記憶されている各データは各
々古い押鍵又は離鍵に係るもの程高い割当て優先順位を
示し、かつ楽音発生チャンネルにて鍵タッチに応じて
御される楽音信号の音量レベルに応じた割当て優先順位
を示すことになる。
【0009】
【発明の効果】これにより、記憶手段に記憶されている
各データは、古く押鍵又は離鍵されている程減衰が進む
ことによって小さくなり、かつ鍵タッチにより決定され
る楽音信号の音量レベル(エンベロープ波形振幅値)を
間接的に示すことになるので、割当て優先順位の設定が
上記従来の第1の方法による装置のように妥当なものと
なる。そのため、全ての楽音発生チャンネルにて楽音が
発生されている状態において、新たな鍵情報が入力され
た場合、減衰時間が短く楽音の発生が終了し又は終了寸
前の状態にある楽音発生チャンネルがあれば、前記鍵は
該チャンネルに割当てられ、最も古く押鍵又は離鍵され
たという理由だけで長い減衰時間を有する楽音を発生中
の楽音発生チャンネルに前記鍵が割当てられることがな
く該チャンネルの楽音はそのまま発生し続けることがで
きる。
【0010】また、楽音発生チャンネルにて発生中の楽
音のエンベロープ波形振幅値を示すデータを用いること
なく、各楽音発生チャンネルに割当てられた鍵の鍵タッ
チにより、当該楽音発生チャンネルにて発生される楽音
の音量レベル(エンベロープ波形振幅値)を推定するよ
うにしたので、該押鍵割当て装置の構成を複雑化するこ
となく、かつコストも差程高くなることなく実現され
る。
【0011】
【実施例】
a.構成例 以下、この発明の一実施例を図面を用いて説明すると、
図1はこの発明が適用された減衰系(パーカッシブ系)
の楽音を発生する電子楽器を概略的に示すものであり、
この電子楽器は鍵盤10と、音色、音量等を選択制御す
る操作子群11と、楽音の減衰時間(減衰時定数)を切
換えるサステインペダル12と、楽音信号を発生する楽
音発生回路13と、鍵盤10、操作子群11及びサステ
インペダル12の状態を入力して楽音発生回路13を制
御するマイクロコンピュータ部14を備えている。
【0012】鍵盤10は楽音発生回路13にて発生され
る楽音の音高を指定するための複数の鍵(例えばA0〜
C8の88鍵)を有し、各鍵の押鍵又は離鍵操作は各鍵
に対応して設けられた複数の鍵スイッチ(例えば88個
の鍵スイッチ)からなる鍵スイッチ回路10aによって
検出されるようになっているとともに、上記押鍵操作に
伴う押鍵速さ、押鍵圧力等の鍵タッチ強さ(イニシャル
鍵タッチ)が各鍵に対応して設けられた押鍵速度検出回
路又は押鍵圧力検出回路等からなる鍵タッチ検出回路1
0bによって検出されるようになっている。鍵スイッチ
回路10a及び鍵タッチ検出回路10bは、バス15を
介してマイクロコンピュータ部14に接続され、マイク
ロコンピュータ部14によって制御されて、各鍵の押鍵
又は離鍵状態を表す鍵データ及び各鍵操作に伴う鍵タッ
チデータをマイクロコンピュータ部14に供給するよう
になっている。操作子群11は楽音発生回路13にて発
生される減衰系の音色、例えばピアノ、ハープシコード
等の音色を選択する操作子及び発生される楽音の音量等
を調節する操作子等を有し、これらの操作子の操作状態
は前記各操作子に対応して設けられたスイッチ、ボリュ
ウム等からなる操作子スイッチ回路11aによって検出
されるようになっている。操作子スイッチ回路11aは
バス15を介してマイクロコンピュータ部14に接続さ
れ、マイクロコンピュータ部14によって制御されて、
各操作子の状態を表すデータをマイクロコンピュータ部
14に供給するようになっている。サステインペダル1
2は、その踏込み操作により楽音発生回路13にて発生
される楽音の減衰時間を長くし、かつ踏込み解除により
前記楽音の減衰時間を短くするために演奏者の足により
操作されるものであり、サステインペダル12の踏込み
又は踏込み解除はサステインペダルスイッチ回路12a
により検出され、この検出されたサステインペダル12
の踏込み又は踏込み解除を表すデータは、同回路12a
に接続されたバス15を介してマイクロコンピュータ部
14に供給されるようになっている。
【0013】楽音発生回路13は、鍵盤10の鍵数より
少ないN個(例えば、8個)の楽音発生チャンネルを有
し、鍵盤10にて新たな鍵が押されたとき、マイクロコ
ンピュータ部14により該鍵が割当てられた楽音発生チ
ャンネルにおいて、鍵盤10の鍵操作、操作子群11の
操作状態及びサステインペダル12の操作状態に応じた
楽音信号を発生し、アンプ16を介しスピーカ17から
楽音として発音する。この場合、発生楽音の周波数は鍵
盤10にて押された鍵により指定された該鍵に対応する
音高周波数であり、発生楽音の音色は操作子群11の操
作状態に応じて指定されるピアノ、ハープシコード等の
音色である。また、発生楽音のエンベロープ波形は、基
本的には図2(A)の実線にて示すように、押鍵と同時に
急速に立上り、所定のアタックレベルALに達すると、
離鍵とは無関係に所定の減衰時定数DTで徐々に減衰し
て、押鍵中はこの減衰を続行し、減衰中に離鍵される
と、破線にて示すようにその時点から急速に減衰する形
状であるが、このエンベロープ波形はサステインペダル
12の操作及び鍵盤10の鍵操作により制御されて、サ
ステインペダル12が踏込まれた状態にあれば離鍵され
ても破線のように変化せず実線のように変化し、また、
発生される音高が低くなるに従って減衰時定数DTが大
きくなるように設定されて一点鎖線のように変化し、さ
らに、鍵タッチ検出回路10bにより検出された鍵タッ
チが強ければすなわち押鍵速度が大きく又は押鍵圧力が
大きければ上記所定のアタックレベルALが大きくなっ
て二点鎖線のように変化するようになっている。さら
に、前記減衰時定数DT及びアタックレベルALは発生
楽音の音色に応じても変化するようになっている。これ
により、ピアノ等の減衰系の自然楽器において見られる
ように、発生楽音に応じて減衰時間(楽音の音量レベル
が高い状態から除々に低くなってほぼ零になるまでの時
間)を異ならせるようになっている。
【0014】マイクロコンピュータ部14は、図4〜図
8及び図10に示すフローチャートに対応したプログラ
ムを記憶する読出し専用メモリ(以下単にROMとい
う)14aと、このプログラムを実行する中央処理装置
(以下単にCPUという)14bと、このプログラムを
実行するのに必要な後述する諸変数を一時的に記憶して
ワーキングメモリとしての役目を果す書込み可能メモリ
(以下単にRAMという)14cと、時間を計測して所
定時間毎に、実行中のプログラム処理を中断して図7に
示すフローチャートに対応した「タイマ割込み」プログ
ラムをCPU14bに実行させるタイマ回路14dとを
備え、上記プログラムの実行により鍵盤10,操作子群
11及びサステインペダル12の操作に応じたデータを
楽音発生回路13に出力して楽音の発生を制御する。な
お、ROM14a,CPU14b,RAM14c及びタ
イマ回路14dはバス15に接続されている。
【0015】RAM14cは、楽音発生回路13の各楽
音発生チャンネルに割当てた鍵に関するデータを記憶す
る割当てキーデータレジスタ領域AKDR(図3(A))
と、前記各楽音発生チャンネルに割当てた鍵の鍵タッチ
強さを表すデータを記憶する割当てタッチデータレジス
タ領域ATDR(図3(B))と、前記各楽音発生チャン
ネルへの割当て優先順位を表すデータを記憶する優先順
位データレジスタ領域PRDR(図3(C))と、鍵盤1
0にて新たに押された鍵の割当てるべきチャンネルを指
定するための割当て指定チャンネルデータ等を記憶する
割当チャンネルレジスタ領域ACHR(図3(D))と、
鍵盤10の押鍵検出及び操作子群11の操作検出に利用
する押鍵及び操作検出レジスタ領域KOR(図3(E))
と、チャンネルの割当て演算及びその他の演算に利用す
る一般レジスタ領域GNR(図3(F))に区分されてい
る。
【0016】さらに、割当てキーデータレジスタ領域A
KDR(図3(A))は楽音発生回路13の各楽音発生チ
ャンネルに各々対応したN個のレジスタを有し、各レジ
スタは各々対応する楽音発生チャンネルに割当てられた
鍵を表すキーコードKC及び該鍵の状態を示すキーオン
データKOからなる割当てキーデータAKD(1)〜A
KD(N)を各々記憶する。なお、この実施例ではキー
コードKCは高音になるに従って「1」ずつ増加し、鍵
盤10の88鍵に対応して「21」〜「108」の値を
とるものであり、キーオンデータKOは値”0”にて離
鍵状態を示しかつ値”1”にて押鍵状態を示すものであ
る。
【0017】割当てタッチデータレジスタ領域ATDR
(図3(B))も、割当てキーデータレジスタ領域AKD
Rと同様に、N個のレジスタを有し、各レジスタは割当
てキーデータレジスタ領域AKDRに記憶されている各
割当てキーデータAKD(1)〜(N)が示す鍵に関す
るタッチデータTDを割当てタッチデータATD(1)
〜(N)として各々記憶する。なお、タッチデータTD
は押鍵強さが大きくなると大きな値となるデータであ
る。優先順位データレジスタ領域PRDR(図3(C))
も、割当てキーデータレジスタ領域AKDRと同様に、
各楽音発生チャンネルに対応したN個のレジスタを有
し、各レジスタは各楽音発生チャンネルに対応してその
値が小さい程割当て優先順位が高くなる優先順位データ
PRD(1)〜PRD(N)を記憶する。
【0018】割当てチャンネルレジスタ領域ACHR
(図3(D))は、鍵盤10にて新たに押された鍵が割当
てられる楽音発生チャンネルの番号を示す割当てチャン
ネル番号データACHNを記憶するレジスタと、この割
当てチャンネル番号データACHNを探し出す処理過程
において抽出されるチャンネル番号CHN及び優先順位
データPRDを記憶するレジスタ群を有する。
【0019】押鍵及び操作検出レジスタ領域KOR(図
3(E))は、鍵盤10の各鍵に各々対応する複数のビッ
トからなり、各ビットが各鍵の押鍵又は離鍵を表わす”
1”又は”0”のデータを記憶する鍵状態メモリKEY
MEMと、操作子群11の各スイッチ及び各ボリュウム
に対応した複数の記憶位置を有し、各々対応するスイッ
チの開閉状態データ又はボリュウムの位置データを記憶
する操作子状態メモリSWMEMと、鍵盤10の押鍵イ
ベントデータKEVT1、離鍵イベントデータKEVT
2、又は操作子群11の操作子イベントデータSWEV
Tを記憶するための複数のレジスタを有する。なお、こ
の押鍵イベントデータKEVT1は鍵名を表すキーコー
ドKC、鍵の操作状態を表すキーオンデータKO及び鍵
タッチ強さを表すタッチデータTDからなり、離鍵イベ
ントデータKEVT2は上記キーコードKC及び上記キ
ーオンデータKOからなる。
【0020】一般レジスタ領域GNR(図3(F))は押
鍵イベントデータKEVT1の処理中に上記レジスタ領
域KORから読出したキーデータKD及びタッチデータ
TDを記憶する2箇のレジスタと、最低音検出により検
出した最低音に対応する最低音キーコードLKCを記憶
するレジスタと、同一鍵が割当てられている楽音発生チ
ャンネル数を示す重複割当てチャンネル数データMAN
Yを記憶するレジスタと、サステインペダル12が踏込
まれた状態を”1”にて表しかつサステインペダル12
が踏込まれていない状態を”0”にて表すサステインデ
ータSUSを記憶するレジスタと、マイクロコンピュー
タ部14の演算に必要なその他の変数等を記憶するその
他のレジスタ群から成る。
【0021】b.基本動作 上記のように構成した実施例の基本的動作を図4に示す
フローチャートを用いて説明すると、電源の投入によ
り、CPU14bは図4のステップ20からプログラム
の実行を開始してステップ21にてRAM14cの初期
設定を行う。
【0022】上記初期設定後、CPU14bは、プログ
ラムをステップ22の鍵処理ルーチンに進め、同ルーチ
ンにて、後述する図5、図6及び図8のフローチャート
に対応したプログラムを実行することにより、鍵盤10
の押鍵又は離鍵に応じて楽音発生回路13による楽音の
発生を制御する。上記鍵処理ルーチンの実行後、CPU
14bは、プログラムをステップ23に進め、同ルーチ
ンにて、後述する図10のフローチャートに対応したプ
ログラムを実行することにより、サステインペダル12
の踏込み又は踏込み解除に応じて楽音発生回路13にて
発生中の楽音の減衰状態を制御する。
【0023】次に、プログラムはステップ24,25に
進み、マイクロコンピュータ部14は操作子群11の操
作子状態を検出し、検出結果を楽音発生回路13に出力
して楽音の音色、音量等を制御する。ステップ24に
て、CPU14bは操作子スイッチ回路11a内の各ス
イッチの開閉状態及びボリュウムの設定位置を表わすデ
ータを操作子群11の新操作子データとして入力し、こ
れらの入力データと操作子状態メモリSWMEMに記憶
されている旧操作子データとを各操作子毎に各々対比
し、両データが異なる場合にのみ当該データに関する操
作子の操作状態が変化したものとして、同操作子の新操
作子データを操作子状態メモリSWMEMの同操作子に
対応する記憶位置に書込むと共に、同新操作子データを
押鍵及び操作検出レジスタ領域KORに操作子イベント
データSWEVTとして記憶する。ステップ25にて、
CPU14bは操作子イベントデータSWEVTの有無
を調べ、データがある場合、このデータを楽音発生回路
13に出力した後、出力した操作子イベントデータSW
EVTを消去し、操作子イベントデータSWEVTがな
くなるまで上記動作を繰返し、全ての操作子イベントデ
ータの送出を行う。なお、全操作子に関する新旧操作子
データが一致する場合には、ステップ24,25におけ
る操作子データの書換え及び出力は実行されない。
【0024】上記ステップ24,25の処理後、プログ
ラムはステップ22に戻り、CPU14bはステップ2
2〜25の各処理を繰返し実行して鍵盤10、サステイ
ンペダル12及び操作子群11の状態に応じて楽音発生
回路13の楽音発生を制御する。
【0025】c.鍵処理操作 次に鍵処理ルーチンについて詳述すると、CPU14b
は図5のステップ30からプログラムの実行を開始し、
ステップ31にて鍵スイッチ回路10a内の各鍵スイッ
チを低音側又は高音側から順次走査し、この走査により
各鍵スイッチの開閉成の状態信号を鍵盤10の新鍵状態
データとして入力し、これらの入力データと鍵状態メモ
リKEYMEMに記憶されている旧鍵状態データとを各
鍵毎に各々対比して鍵盤10における押鍵状態の変化を
検出するとともに、新たな押鍵を検出したときには鍵タ
ッチ検出回路10bから該鍵に関するタッチデータを取
込む。すなわち、新鍵状態データが”1”であり、かつ
旧鍵状態データが”0”である場合、CPU14bは鍵
盤10にて新たに鍵が押されたことを検知し、この新鍵
状態データ”1”を鍵状態メモリKEYMEMの新たに
押された鍵に対応する記憶位置に書込むと共に、同鍵名
を表すキーコードKC及び鍵が押されたことを表す値”
1”のキーオンデータKOからなるキーデータKDと鍵
タッチ検出回路10bから取込んだ該鍵の鍵タッチ強さ
を表すタッチデータTDとを押鍵イベントデータKEV
T1として押鍵及び操作検出レジスタ領域KOR(図3
(F))のレジスタ群に記憶する。また、新鍵状態データ
が”0”でありかつ旧鍵状態データが”1”である場
合、CPU14bは鍵盤10にて新たに鍵が離されたこ
とを検知し、この新鍵状態データ”0”を鍵状態メモリ
KEYMEMの新たに離された鍵に対応する記憶位置に
書込むと共に、同鍵名を表わすキーコードKCおよび鍵
が離されたことを表わす値”0”のキーオンデータKO
からなるキーデータKDを離鍵イベントデータKEVT
2として上記レジスタ群に記憶する。なお、上記キーコ
ードKCは上記走査において各鍵に対応する鍵スイッチ
を順次指定している走査カウンタ(図示しない)により
決定される。このような走査により、鍵盤10の全ての
鍵の状態検出を終了すると、前回のステップ31の実行
時から今回のステップ31の実行までに状態が変化した
鍵に対応する押鍵イベントデータKEVT1及び離鍵イ
ベントデータKEVT2が上記レジスタ群に全て記憶さ
れることになる。
【0026】次に、プログラムはステップ32,33に
進み、CPU14bはステップ32,33にて上記レジ
スタ群の記憶内容により押鍵または離鍵イベントの発生
の有無を判別する。鍵盤10の各鍵に状態変化がない場
合、CPU14bはステップ32,33にて共に「N
O」と判断して、ステップ34により鍵処理ルーチンの
実行を終了して図4のステップ23の実行に移る。
【0027】鍵盤10にて新たな押鍵があった場合、C
PU14bはステップ32にて、上記レジスタ群に記憶
されている押鍵イベントデータKEVT1の存在により
「YES」と判定して、ステップ40の「割当てchサ
ーチ」プログラム(図6)、ステップ50の「割当てc
hデータ設定」プログラム(図8)及びステップ60の
処理から成る押鍵イベント処理ルーチンの実行に移る。
【0028】CPU14bは、新たに押された鍵の割当
てられるべきチャンネル番号ACHNを決定する図6の
「割当てchサーチ」プログラムにおいて、ステップ4
0aからプログラムの実行を開始し、ステップ41aに
て押鍵及び操作検出レジスタ領域KORのレジスタ群か
らキーデータKD及びタッチデータTDからなる一組の
押鍵イベントデータKEVT1を読出して一般レジスタ
領域GNRに今後処理するキーデータKDおよびタッチ
データTDとして記憶した後、ステップ41bにて該押
鍵イベントデータKEVT1を上記レジスタ群から消去
し、ステップ42にて優先順位データレジスタ領域PR
DRの各レジスタに記憶されている優先順位データPR
D(1)〜PRD(N)を順次読出し、同読出した優先
順位データPRDの値が「0」でなければこの値から
「1」を減算して減算結果を新たな優先順位データPR
Dとして上記読出したレジスタに再び記憶し、又上記値
が「0」であれば、上記読出したレジスタの内容を書換
えないようにする。これにより、鍵盤10にて新たな鍵
が押される毎にそのデータ値が「0」でないチャンネル
の優先順位データPRD(N)が一率に「1」ずつ減算
されることになり、このことは押鍵毎に各チャンネルの
優先順位データが割当て優先順位の高い方向に一率に更
新されることを意味する。
【0029】上記優先順位データPRD(1)〜PRD
(N)の更新後、CPU14bは、ステップ43aに
て、一般レジスタGNRにステップ41aの処理により
記憶したキーデータKDに基づき、該キーデータKD中
のキーコードKCの値と等しい値のキーコードKCを有
する割当てキーデータAKDの数を、割当てキーデータ
レジスタAKDRに記憶されている割当てキーデータA
KD(1)〜AKD(N)を順次読出してキーコードK
C同志を比較することにより検出し、検出した数を重複
割当てチャンネル数データMANYとして記憶する。こ
の重複割当てチャンネル数データMANYの検出は、ト
リル演奏等の演奏態様により鍵盤10にて所定数(楽音
発生チャンネル数N)の押鍵操作の間に同一鍵が2回以
上繰返し押された場合に、該鍵の割当てられる最大チャ
ンネル数を決定するもので、この実施例では同一鍵の異
なるチャンネルへの割当ては2チャンネルまで許容さ
れ、3チャンネル以上の割当ては禁止されるようになっ
ている。
【0030】次に、CPU14bはステップ43bにて
上記記憶した重複割当てチャンネル数データMANYの
値が「1」より大きいか否かを判断する。上記新たに押
された鍵が上記所定数の押鍵操作の間に2回以上押され
たものでない場合、割当てキーデータレジスタ領域AK
DRの各レジスタには各々異なるキーコードKCを有す
るキーデータKDが記憶されているので、上記ステップ
43bにて検出した重複割当てチャンネル数データMA
NYは「0」であり、CPU14bはステップ43bに
て「NO」と判定し、ステップ44aにて割当てキーデ
ータレジスタ領域AKDRの各レジスタに記憶されてい
る割当てキーデータAKD(1)〜AKD(N)を順次
読出し、読出した割当てキーデータAKDのキーコード
KCが最低音キーコードLKCと一致せずかつ同キーデ
ータAKDのキーオンデータKOが”0”である割当て
キーデータAKDを検出することにより、該割当てキー
データAKDが記憶されているチャンネルを探し出して
該チャンネルの番号を表すチャンネル番号データCHN
と、優先順位データレジスタ領域PRDRに記憶されて
いて該チャンネル番号CHNに対応する優先順位データ
PRDとを一組の抽出データとして割当てチャンネルレ
ジスタ領域ACHRに順次記憶する。これにより、最低
音でなくかつ離鍵されている鍵に関するキーデータKD
が割当てられている楽音発生チャンネルが全て抽出され
ることになる。この抽出処理後、CPU14bは、ステ
ップ44bにて上記抽出処理により抽出された該当チャ
ンネルが有るか否かを判断し、抽出された該当チャンネ
ルがある場合には「YES」との判定の基に、ステップ
45aにて前記抽出チャンネルの中からその値が最小で
ある優先順位データPRDを探し出し、この優先順位デ
ータPRDと一組になって記憶されているチャンネル番
号データCHNを割当てチャンネルレジスタ領域ACH
Rに割当てチャンネル番号データACHNとして記憶し
て、ステップ46にて「割当てchサーチ」プログラム
の実行を終了する。
【0031】また、ステップ44aの抽出処理により該
当するチャンネルがない場合、すなわち最低音でないチ
ャンネルが全て押鍵中である場合には、CPU14bは
ステップ44bにて「NO」と判定し、ステップ45b
にて、割当てキーデータレジスタ領域AKDRに記憶さ
れている割当てキーデータAKD(1)〜AKD(N)
のキーコードKCが最低音キーコードLKCと一致せ
ず、かつ優先順位データレジスタ領域PRDRに記憶さ
れている優先順位データPRD(1)〜PRD(N)が
最小の値であるチャンネルを検出し、該チャンネルの番
号CHNを割当てチャンネルレジスタ領域ACHRに割
当てチャンネル番号データACHNとして記憶して、ス
テップ46にて「割当てchサーチ」のプログラムの実
行を終了する。これにより、鍵盤10にて押された鍵が
上記所定数の押鍵操作の間に2回以上押されたものでな
い場合、ステップ44a,44b,45a,45bの処
理により、該鍵が割当てられるチャンネルを示す割当て
チャンネル番号データACHNは、割当てキーデータA
KD(1)〜AKD(N)の中に、最低音を示すキーデ
ータKD以外で離された鍵を表すキーデータKDがあれ
ば、このキーデータKDを記憶するチャンネルのうち、
優先順位データPRDが最小値であるチャンネルを表す
チャンネル番号CHNに決定され、また上記の条件に該
当するキーデータKDがなければ全チャンネル中最低音
を表すキーデータKDを記憶するチャンネル以外であっ
て、優先順位データPRDが最小値のチャンネルを表す
チャンネル番号CHNに設定される。
【0032】一方、トリル演奏のように鍵盤10におい
て上記所定数の押鍵操作の間に同一鍵が2回以上繰返し
て押された場合、新たに押された鍵が1回目であれば、
上記と同様に、ステップ43aにて重複割当てチャンネ
ル数データMANYが「0」に設定され、また2回目で
あれば、割当てキーデータレジスタ領域AKDRには1
回の押鍵時の割当てにより該鍵に関する割当てキーデー
タAKDが存在しているのでステップ43aの処理によ
り重複割当てチャンネル数データMANYは「1」に設
定され、さらに3回目であればステップ43aの処理に
より重複割当てチャンネル数データMANYは「2」に
設定される。このように、重複割当てチャンネル数デー
タMANYは同一鍵の繰返し押鍵回数により種々の値に
設定され、同データMANYが「0」又は「1」のとき
はステップ43bにて「NO」すなわち同データMAN
Yが「1」より大きくないと判定されて、ステップ44
a,44b,45a,45bにて上記のようにして割当
てチャンネル番号データACHNが設定されるが、同デ
ータMANYが「2」になると、CPU14bはステッ
プ43bにて「YES」と判定し、ステップ45cにて
割当てキーデータレジスタ領域AKDRの各レジスタに
記憶してある割当てキーデータAKD(1)〜AKD
(N)を順次読出し、読出した割当てキーデータAKD
中のキーコーデKCと新たに押された鍵を表すキーデー
タKD中のキーコードKCとを比較し、これらのキーコ
ードKCが一致する複数のチャンネルを抽出して、この
抽出した複数のチャンネルに対応して割当てタッチデー
タレジスタ領域ATDRに記憶されている複数の割当て
タッチデータATDのうちその値が最も小さな割当てタ
ッチデータATDを記憶するチャンネルを検出し、該チ
ャンネルを示す番号を割当てチャンネルレジスタ領域A
CHRに割当てチャンネル番号データACHNとして記
憶して、ステップ46の処理により「割当てchサー
チ」プログラムの実行を終了する。
【0033】このステップ43a,43bの処理によ
り、割当てチャンネル番号データACHNは、鍵盤10
にて上記所定数の押鍵操作の間に同一鍵の押される回数
が「2」以内のときにはステップ44a,44b,45
a,45bの処理により設定され、又上記回数が「3」
以上になるとステップ45cの処理により前に押された
同一鍵が割当てられているチャンネルの中で、割当てタ
ッチデータATDが最小であるチャンネルを示すチャン
ネル番号CHNに設定される。このことは同一鍵に関す
る楽音を同時に発生するチャンネル数を「2」までに制
限していることを意味する。なお、この制御チャンネル
数は他の数例えば「3」等でもよく、この場合にはステ
ップ43bにて重複割当てチャンネル数MANYと比較
する値を「2」にするとよい。また、上記割当てタッチ
データATDは、後述する「割当てchデータ設定」プ
ログラムの実行により、鍵が新たに押されたときキーデ
ータKDとともに鍵タッチ強さを表すタッチデータTD
として割当て記憶された後、図7に記すフローチャート
に対応した「タイマ割込み」プログラムの実行によりそ
の値が更新されるものである。
【0034】上記「タイマ割込み」プログラムにおいて
は、CPU14bはタイマ回路14dにより制御され
て、他のプログラムの実行を中断してステップ65から
該プログラムの実行を開始し、ステップ65にて割当て
タッチデータレジスタ領域ATDRの各レジスタに記憶
されている割当てタッチデータATD(1)〜ATD
(N)を順次読出し、読出した割当てタッチデータAT
Dが「0」でなければ該データATDから「1」を減算
し、減算結果(ATD−1)を新たな割当てタッチデー
タATDとして割当てタッチデータレジスタ領域ATD
Rの読出したレジスタに再び記憶する。また、読出した
タッチデータATDが「0」であれば、該データATD
の書換えは行なわない。上記のようにして、全ての割当
てタッチデータATDの更新処理を実行すると、CPU
14bはステップ67の処理によりこの「タイマ割込
み」プログラムの実行を終了して、前記中断したプログ
ラムの実行に移る。この「タイマ割込み」プログラムに
より、押鍵時に設定された割当てタッチデータATD
(1)〜ATD(N)の各値は時間が経過するに従って
小さくなるので、同一鍵が上記所定数の押鍵操作の間に
3回以上押された場合における該鍵が割当てられるべき
チャンネルを示す割当てチャンネル番号データACHN
は押鍵時の鍵タッチ強さ及び押鍵からの経過時間に応じ
て決定されることになる。
【0035】なお、上記「割当てchサーチ」(図6)
プログラムにおいては、全ての楽音発生チャンネルにて
発生中の楽音が、最低音を除き鍵盤10における押鍵中
のものである場合、CPU14bがステップ44bにて
「NO」と判定し、ステップ45bの処理により割当て
チャンネル番号データACHNを設定記憶するようにし
たが、このステップ45bの処理の代わりに図6に破線
で示すようにステップ45dの処理をするようにしても
よい。すなわち、上記場合、CPU14bは、ステップ
45dにて最低音とは無関係に優先順位データレジスタ
領域PRDRに記憶してある全ての優先順位データPR
D(1)〜PRD(N)の中から最小値を示す優先順位
データPRDを記憶するチャンネルを探し出し、該チャ
ンネルを示すチャンネル番号CHNを割当てチャンネル
番号データACHNとして設定記憶し、ステップ46に
て「割当てchサーチ」プログラムの実行を終了するよ
うにしてもよい。
【0036】上記「割当てchサーチ」プログラムの実
行を終了すると、CPU14bは、図5のステップ50
にて、上述した図6のステップ45a〜45dの処理に
より設定された割当てチャンネル番号ACHNに基づい
て、優先順位データPRD(ACHN)、割当てキーデ
ータAKD(ACHN)及び割当てタッチデータATD
(ACHN)を初期設定する「割当てchデータ設定」
プログラムの実行に移る。
【0037】このプログラムの詳細は図8のフローチャ
ートに示されており、CPU14bはステップ50aに
てこのプログラムの実行を開始し、ステップ51aにて
サステインデータSUSの値に基づきサステインペダル
12が踏込まれているか否かを判断する。この判断にお
いてサステインペダル12が踏込まれた状態にあれば、
後述するサステインペダル処理ルーチンのプログラムの
実行によりサステインデータSUSは”1”に設定され
ており、CPU14bは「YES」と判定し、ステップ
51bにて新たに押された鍵を表すキーデータKD中の
キーコードKCと現時点における最低音を表すキーコー
ドLKCとを比較し、前記キーコードKCが最低音キー
コードLKCにより小さければ「YES」と判定して、
ステップ51cにて最低音キーコードLKCを前記キー
コードKCに設定し、又前記キーコードKCが最低音キ
ーコードLKCより大きければ「NO」と判定してステ
ップ51cの処理をせずプログラムをステップ52aに
進める。
【0038】これにより、サステインペダル12が踏込
まれているとき、新たな鍵が押され、この新たな鍵が以
前に割当てられていたいずれの鍵よりも低い音高の鍵で
あれば、最低音キーコードLKCが新たに押された鍵を
示すキーコードKCに変更される。また、サステインペ
ダル12の踏込みが解除されていれば、後述するサステ
インペダル処理ルーチンのプログラムの実行によりサス
テインデータSUSは”0”に設定されており、CPU
14bはステップ51aにて「NO」と判定してステッ
プ51b,51cの処理を実行しないでプログラムをス
テップ52aに進める。このことは、サステインペダル
12が踏込まれていないときには、最低音検出が行われ
ないことを意味する。
【0039】次に、CPU14bは、ステップ52aに
て新たに押された鍵を示すキーデータKD中のキーコー
ドKCを一般レジスタ領域GNRから再び読出し、読出
したキーコードKCを右へ4ビットシフトすることによ
りこのキーコードKCの値を「16」で除算してこの除
算結果を変数WGHTとして設定し、ステップ52bに
て「8」から前記変数WGHTの値を減算して、この減
算結果を上述の「割当てchサーチ」プログラムにより
設定された割当てチャンネル番号データACHNの示す
チャンネルにおける優先順位データPRD(ACHN)
として設定する。これにより、優先順位データPRD
(ACHN)は、キーコードKCの値に応じて、音名A
O〜A8に渡り16音毎に「1」ずつ減少する「7」〜
「2」のいずれかの値に設定され、このことは押鍵時に
設定される優先順位データPRDが低音程割当て優先順
位が低く重み付けされることを意味する。
【0040】さらに、CPU14bは、ステップ53a
にて前記新たに押された鍵を示すキーデータKD中のキ
ーコードKCと値「60」とを比較し、キーコードKC
が値「60」より小さければステップ53bにて上記ス
テップ52bにて設定した優先順位データPRD(AC
HN)に「32」を加算し、キーコードKCが値「6
0」以上であればステップ53cにて前記優先順位デー
タPRD(ACHN)に「26」を加算する。この値
「60」は音高C4を示すキーコードKCに相当し、こ
れにより、音高C4を境に、前記優先順位データPRD
(ACHN)はさらに低音程割当て優先順位が低く重み
付けられ、その値は、図9に示すように新たに押された
鍵のキーコードKCに応じて、音高AO〜C8に渡り「3
9」〜「37」,「31」〜「28」のいずれかとな
る。
【0041】上記優先順位データPRDの設定後、CP
U14bはステップ54a,54bにて新たに押された
鍵を示すキーコードKC及び該鍵の鍵タッチ強さを示す
タッチデータTDを一般レジスタ領域GNRから再び読
出して、これらのデータKD、TDを各々割当てキーデ
ータレジスタ領域AKDR及び割当てタッチデータレジ
スタ領域ATDR内の上記割当てチャンネル番号データ
ACHNが示すチャンネルに対応する位置に書込むこと
により、押鍵割当てに伴う割当てキーデータAKD(A
CHN)及び割当てタッチデータATD(ACHN)の
設定を実行する。
【0042】次に、CPU14bはステップ55aにて
再び上記タッチデータTDを一般レジスタ領域GNRか
ら再度読出し、読出したタッチデータTDを右へ4ビッ
トシフトすることによりこのタッチデータTDを「1
6」で除算してこの除算結果を変数WGHTとして設定
し、ステップ55bにて上記音高による重み付けした優
先順位データPRD(ACHN)に変数WGHTを加算
することにより、優先順位データPRD(ACHN)を
タッチデータTDの値が大きい程割当て優先順位が低く
なるように重み付けして、ステップ56にて「割当てc
hデータ設定」プログラムの処理を終了する。なお、上
述の音高及び鍵タッチ強さに基づく優先順位データPR
D(1)〜PRD(N)の重み付けは、上記ステップ5
2a,55aの除算値の変更及びステップ53aの比較
値の変更により種々に変更されるものである。
【0043】上記「割当てchデータ設定」プログラム
の実行を終了すると、CPU14bは、図5のステップ
60にプログラムを進め、ステップ60にて再び一般レ
ジスタ領域GNRからキーデータKDとタッチデータT
Dを読出して楽音発生回路13に出力するとともに、割
当てチャンネルレジスタ領域ACHRから割当てチャン
ネル番号データACHNを読出して楽音発生回路13に
出力する。これにより、楽音発生回路13はマイクロコ
ンピュータ部14から鍵盤10にて新たに押された鍵を
示すキーデータKD、該鍵のタッチ強さを表すタッチデ
ータTD及び楽音を発生すべき楽音発生チャンネルを示
すチャンネル番号データCHNを入力することになり、
同回路13はこのチャンネル番号データCHNに基づき
楽音を発生すべき楽音発生チャンネルを指定し、この指
定された楽音発生チャンネルが上記キーデータKD中の
キーオンデータKO(”1”)に基づき、キーデータK
D中のキーコードKCにより指定された音高の楽音信号
を発生し始める。また、この楽音信号のエンベロープは
そのアタックレベルALがタッチデータに応じて決定さ
れ、かつその減衰時定数DTがキーコードKCに応じて
決定される。このとき、同楽音発生チャンネルがいまだ
他の楽音信号を発生中であれば、この他の楽音信号の発
生は停止されて上記指定される音高の楽音信号の発生を
開始する。なお、上記のように他の楽音信号から新たに
指定された音高の楽音信号への切換え時には、新たな音
のアタック感を確保しかつクリック音の発生を防止する
ために、他の楽音信号を所定の時定数で急速に減衰させ
た後上記切換えを行うようにするとよい。
【0044】上記楽音発生回路13への新たに押された
鍵に関するデータの送出を終了すると、CPU14bは
プログラムをステップ32に進め、上述のようにステッ
プ32にて押鍵及び操作検出レジスタ領域KOR内の押
鍵イベントデータKEVT1の有無を調べ、押鍵イベン
トデータKEVT1がまだ存在する場合には、ステップ
40の「割当てchサーチ」プログラム、ステップ50
の「割当てchデータ設定」プログラム及びステップ6
0の処理からなる押鍵イベント処理ルーチンにより次の
押鍵イベントデータKEVT1に対応する押鍵に関する
データを楽音発生回路13に出力し、押鍵イベントデー
タKEVT1がなくなるまで上記押鍵イベント処理ルー
チンの循環処理を実行し続ける。この循環処理により押
鍵イベントデータKEVT1が全て処理されると、CP
U14bはステップ32にて「NO」と判断し、プログ
ラムをステップ33に進め、押鍵及び操作検出レジスタ
領域KOR内に離鍵イベントデータKEVT2が存在し
なければステップ33にて「NO」と判定し、ステップ
34の処理により鍵処理ルーチンの実行を終了し、離鍵
イベントデータKEVT2が存在すればステップ33に
て「YES」と判定し、ステップ70〜73からなる離
鍵イベント処理ルーチンにプログラムを進める。
【0045】この離鍵イベント処理ルーチンでは、CP
U14bはステップ70にて押鍵及び操作レジスタ領域
KORから、キーデータKDからなる一つの離鍵イベン
トデータKEVT2を読出して、一般レジスタ領域GN
Rに今後処理するキーデータKDとして記憶した後、ス
テップ71にて上記レジスタ領域KORの読出した離鍵
イベントデータKEVT2を消去する。次に、CPU1
4bは前記記憶したキーデータKDを読出し、このキー
データKDのキーコードKCと同じキーコードKCを有
しかつキーオンデータKOが”1”である割当てキーデ
ータAKDを、割当てキーデータレジスタ領域AKDR
に記憶されている割当てキーデータAKD(1)〜AK
D(N)の中から探し出し、探し出した割当てキーデー
タAKDのキーオンデータKOを”0”に設定変更し、
ステップ73にてキーオンデータKOを”0”に設定変
更したキーデータKD及び該キーデータKDが記憶され
ていたチャンネルを表すチャンネル番号データCHNを
楽音発生回路13に出力する。これにより、楽音発生回
路13は前記チャンネル番号データCHNにて指定され
る楽音発生チャンネルにて発生中の楽音信号の減衰を制
御する。このとき、後述するサステインペダル処理ルー
チンにて設定されるサステインデータSUSが”0”で
あれば上記減衰は図2(A)に破線で示すように急速に進
み、またサステインデータSUSが”1”であれば上記
減衰は図2(A)に実線にて示すように緩やかに進む。
【0046】このステップ73の処理後、CPU14b
はプログラムをステップ32に進め、ステップ32にて
「NO」と判定し、押鍵及び操作検出レジスタ領域KO
Rの離鍵イベントデータKEVT2がなくなるまでステ
ップ32,33,70〜73の循環処理を実行し、離鍵
イベントデータKEVT2がなくなると、ステップ33
にて「NO」と判定し、ステップ34の処理にて鍵処理
ルーチンの実行を終了して図4のステップ23のサステ
インペダル処理ルーチンの実行に移る。
【0047】d.サステインペダル処理動作 サステインペダル12の踏込み又は踏込み解除に伴うサ
ステインペダル処理動作について詳述すると、図4のス
テップ23のサステインペダル処理のプログラムは図1
0のフローチャートに詳細に示されている。このプログ
ラムにおいては、CPU14bはステップ80にてプロ
グラムの実行を開始し、ステップ81にてサステインペ
ダルスイッチ回路12aからサステインペダル12の現
状態を示す現状態データを読込み、ステップ82a,8
2bにて一般レジスタ領域GNRに記憶されているサス
テインペダル12の以前の状態を示すサステインデータ
SUSと上記現状態データとを比較することによりサス
テインペダル12の状態変化を検出する。
【0048】サステインペダル12が以前踏込まれてお
らず、新たに踏込まれた場合、サステインデータSUS
は”0”であり上記取込んだ現状態データは”1”であ
るので、CPU14bはステップ82aにて「YES」
すなわちオンイベント有りと判断し、ステップ83aに
てサステインデータSUSを”1”に設定変更する。次
に、CPU14bは、ステップ84aにて割当てキーデ
ータレジスタ領域AKDRに記憶されている割当てキー
データAKD(1)〜AKD(N)を順次読出し、これ
らの割当てキーデータAKD(1)〜AKD(N)の中
に押鍵中の鍵すなわちキーオンデータKOが”1”であ
る鍵を表す割当てキーデータAKDがあるか否かを調べ
て、押鍵中の鍵に関する割当てキーデータAKDがあれ
ば、ステップ84bにて上記押鍵中の鍵に関する割当て
キーデータAKDの中から最小のキーコードKCを有す
るものを探し出し、該キーコードKCを最低音として一
般レジスタ領域GNRに記憶する。また、押鍵中に関す
る割当てキーデータAKDがなければ、CPU14bは
ステップ84aにて「NO」と判定し、ステップ84c
にて一般レジスタ領域GNR内の最低音キーコードLK
Cを鍵盤10における最高音C8のキーコードKC(1
08)よりも大きい値、例えば「128」に設定する。
これにより、サステインペダル12が踏込まれた時点で
鍵盤10にて押されている鍵があれば、この鍵の中から
最低音が検出され、押されていない鍵がなければ最低音
が検出されないことになる。なお、ステップ84cにて
最低音キーコードLKCを鍵盤10における最高音C8
のキーコードKC(108)より大きく設定したのは、
サステインペダル12が踏込み状態にあるときに新たな
鍵が押された場合、上述の図8のステップ51a〜51
cの処理により該新たな鍵が最低音として検出されるよ
うにするためである。
【0049】上記最低音キーコードLKCの設定後、C
PU14bはステップ85にてサステインデータSUS
(=”1”)を楽音発生回路13に出力し、ステップ8
6の処理によりサステインペダル処理ルーチンの実行を
終了する。楽音発生回路13は、このサステインデータ
SUS(=”1”)を記憶し、以降このサステインデー
タSUS(=”1”)が変更されるまで各楽音発生チャ
ンネルにて発生される楽音の減衰特性を同データSUS
(=”1”)に基づき制御し、これにより、該楽音は離
鍵されても図2(A)に実線で示すようにゆっくりと減衰
するようになる。
【0050】サステインペダル12が以前踏込まれてお
り新たに踏込みが解除された場合、一般レジスタ領域G
NRに記憶されているサステインデータSUSは”1”
であり、上記ステップ81にて取込んだサステインペダ
ル12の現状態データは”0”であるので、CPU14
bはステップ82aにて「NO」すなわちオンイベント
無しと判定し、ステップ82bにて「YES」すなわち
オフイベント有りと判定して、ステップ83bにてサス
テインデータSUSを”0”に設定変更し、ステップ8
4dにて一般レジスタ領域GNR内の最低音キーコード
LKCを鍵盤10における最低音A0のキーコードKC
(21)より小さな値、例えば「1」に設定する。この
ように、最低音キーコードLKCを鍵盤10の鍵を表す
キーコードKCとして利用されていない値「1」に設定
することは、サステインペダル12が踏込まれていない
ときには最低音キーコードLKCをクリアしておくこと
を意味する。このステップ84dの処理後、CPU14
bはステップ85にて、上記と同様に、サステインデー
タSUS(=”0”)を楽音発生回路13に出力し、ス
テップ86の処理によりサステインペダル処理ルーチン
の実行を終了する。楽音発生回路13はこのサステイン
データSUS(=”0”)を記憶し、以降このサステイ
ンデータSUS(=”0”)が変更されるまで各楽音発
生チャンネルにて発生される楽音の減衰特性を同データ
SUSの値”0”に基づき制御し、これにより該楽音は
離鍵されると図2(A)に破線で示すように急速に減衰す
るようになる。
【0051】さらに、サステインペダル12の状態が変
化しない場合には、一般レジスタ領域GNRに記憶され
ているサステインデータSUSと上記ステップ81にて
取込んだサステインペダル12の現状態データは同じで
あり、CPU14bは、ステップ82aにて「NO」す
なわちオンイベント無しと判定し、ステップ82bにて
「NO」すなわちオフイベント無しと判定してステップ
86の処理によりこのサステインペダル処理ルーチンの
実行を終了する。
【0052】e.実施例の効果 以上の動作説明からも理解できる通り、上記実施例にお
いては、割当て優先順位を決定するための優先順位デー
タPRD(1)〜PRD(N)は押鍵検出によってのみ
設定され、楽音発生回路13からの発生楽音の音量を示
すエンベロープ振幅値データ等を必要としないので、こ
の実施例に係る押鍵割当て装置は低コストにて実現され
る。また、上記優先順位データPRD(1)〜PRD
(N)は、押鍵時に、図8のステップ52a,52b,
53a,53b,53cの処理により音高が低くなるに
従って大きくなる値に初期設定され(図9参照)、かつ
図8のステップ55a,55bの処理により鍵タッチ強
さが大きくなるに従って大きくなる値に初期設定され
て、この初期設定された優先順位データPRD(1)〜
PRD(N)は図6のステップ42の処理により各デー
タとも押鍵毎に一律に減ぜられ、この減ぜられた優先順
位データPRD(1)〜PRD(N)に基づいてステッ
プ45a,45b,45dの処理により小さな値の優先
順位データPRDを記憶するチャンネルが、新たな鍵が
押されたときの該鍵の割当てチャンネルとして決定され
るので、該新たに押された鍵は、音高が低くかつ鍵タッ
チ強さが大きくなるに従ってその減衰時間が長くなる楽
音を発生中のチャンネルには割当てられにくくなり、割
当て優先順位決定が押鍵順のみにより決定されるものに
比べて適切になる。
【0053】また、トリル演奏等のように所定数(楽音
発生チャンネル数N)の押鍵操作の間に同一鍵が2回以
上繰返し押された場合、図6のステップ43a,43b
の処理により該鍵は2チャンネルまで割当てを許容され
るので、同一鍵に関する楽音が2チャンネルで同時に発
生されて、例えばピアノ等の自然楽器に見られるように
発音源である弦は後の打鍵に関する楽音を発生している
にもかかわらず、響板等の共鳴装置が前の打鍵に関する
楽音を発生するような効果がより良くシミュレートでき
る。また、所定数(楽音発生チャンネル数N)の押鍵操
作の間に同一鍵が3回以上繰返し押された場合には、図
6のステップ45c及び図7のタイマ割込みプログラム
の処理により、鍵タッチ強さと押鍵からの時間経過とを
考慮して以前に押された同一鍵が割当てられているチャ
ンネルに該鍵が再度割当てられるようにしたので、同一
鍵が連続して何回も繰返し押されても全く若しくは大部
分の楽音発生チャンネルが同一鍵により専有されてしま
うことがなく、しかも同一鍵が割当てられているチャン
ネルの中では小さな音量の方に新たに押された鍵の割当
てがなされるので、この割当ても適切なものとなる。な
お、この同一鍵の重複割当てはサステインペダル12が
踏込まれていて、楽音の減衰時間が長い場合程、より大
きな効果となって現われる。
【0054】さらに、サステインペダル12が踏まれて
いて、発生楽音の減衰時間が長い場合、図8のステップ
51b,51c及び図10のステップ84b,84cの
処理により最低音が検出され、図6のステップ44a,
44b,45a,45bの処理により最低音が割当てら
れているチャンネルには新たに押された鍵の割当てが禁
止されるようになっているので、該最低音は引続き発生
され続けることになり、ピアノ等で見られるように、低
音部の楽音の余韻を残したまま高音部の速い押鍵による
楽音を次々に発生させることができる。また、サステイ
ンペダル12が踏込まれていず発生楽音の減衰時間が短
い場合、図10のステップ84dの処理により最低音が
検出されないように最低音キーコードLKCがクリアさ
れるので、減衰時間が短く低音部(特に最低音)の余韻
が残らない場合には、上記割当て禁止が解除されて新た
に押された鍵の割当てが不必要に制限されない。これに
より、全ての楽音発生チャンネルが有効に利用される。
【0055】e.他の実施例 上記実施例においては、楽音発生回路13がピアノ、ハ
ープシコード等の減衰系の楽音を発生する電子楽器にこ
の発明に係る押鍵割当て装置が適用された例について説
明したが、この発明に係る押鍵割当て装置は、楽音発生
回路13がフルート、バイオリン等の持続系の楽音を発
生する電子楽器にも適用される。この場合、エンベロー
プ波形振幅値は、図2(B)にて実線にて示すように、押
鍵と同時に急速に立上がり、押鍵中はほぼ一定レベルS
Lを維持し、離鍵後減衰時定数DTに応じて徐々に減衰
するものであり、この場合には楽音の減衰時間が押鍵タ
イミングにより決定されないで離鍵タイミングにより決
定されるので、優先順位データPRD(1)〜PRD
(N)の減算は離鍵されているチャンネルにおいてのみ
離鍵毎に実行されるようにする。すなわち、図6のステ
ップ42の処理を「割当てchサーチ」プログラムにお
いて実行する代りに、図5のステップ70〜73からな
る離鍵イベント処理ルーチンにて離鍵されているチャン
ネルにおいてのみ実行するようにする。また、持続系の
エンベロープ波形振幅値においては、前記減衰時定数D
Tが音高が低くなるに従って図2(B)に一点鎖線で示す
ように変化し、かつ前記一定レベルSLは鍵タッチ強さ
が大きくなるに従って図2(B)に二点鎖線で示すように
変化する。さらに、持続系の楽音を制御するために利用
される鍵タッチ検出装置は通常押鍵深さ又は押鍵圧力を
押鍵中検出し続ける、いわゆるアフタータッチセンサに
より構成することもでき、前記一定レベルSLはこの検
出結果に基づき変更制御されるので、この種のタッチ検
出装置を有する電子楽器にこの発明に係る押鍵割当て装
置を適用する場合、鍵タッチ強さによる優先順位データ
PRD(1)〜PRD(N)の重み付けは離鍵時に行う
ようにする。すなわち、図8のステップ55a,55b
の処理は図5のステップ72又はステップ73の処理後
に実行するようにし、この場合には割当てチャンネル番
号データACHNでなく、ステップ72にて検出される
離鍵チャンネルにより指定されるチャンネルの優先順位
データPRDを鍵タッチ強さに応じて重み付けするとよ
い。
【0056】また、上記実施例においては、各鍵毎に設
けられた押鍵速度検出回路又は押鍵圧力検出回路から各
鍵タッチ強さを表す信号が出力されるようにしたが、各
鍵毎に第1及び第2の固定接点と押鍵操作により可動す
る可動接点を備えた切換え型のスイッチを有し、押鍵操
作に応じて可動接点が第1の固定接点から第2の固定接
点に切換わる時間を計数手段により計測して押鍵速度を
検出し、又は各鍵毎に固定接点と押鍵操作に応じて可動
する可動接点とを備えた2組のスイッチを有し、押鍵操
作に応じて2組のスイッチが各々閉成(又は開成)され
るタイミング差を計数手段により計測して押鍵速度を検
出する場合には、前記計数手段を楽音発生チャンネル数
だけ用意するようにし、押鍵割当てとともに前記計数手
段の割当てを行うようにして該計数手段の計数結果に応
じて押鍵に伴う鍵タッチ強さを表すデータを得るように
してもよい。
【0057】また、上記実施例では、鍵盤10にて押さ
れた鍵は楽音発生チャンネルのいずれか一つに割当てら
れ、該楽音発生チャンネルは操作子群11の操作により
選択された一つの楽音を発生するようにしたので、優先
順位データPRD(1)〜PRD(N)を音色に応じて
重み付けしなかったが、この発明に係る押鍵割当て装置
を一押鍵に対して異なる音色毎に複数の楽音発生チャン
ネルへの割当てを行うようにした電子楽器に適用した場
合、音色毎に減衰時定数DTは変化するので上記音色毎
の割当てと同時に優先順位データPRD(1)〜PRD
(N)を割当て音色に応じて重み付けするようにすると
よい。
【0058】また、上記実施例においては、サステイン
ペダル12が踏込まれていない状態においては、図10
のステップ84dの処理により最低音キーコードLKC
をクリアすることにより割当てキーデータAKD(1)
〜AKD(N)の中から最低音が検出されないようにし
て、図6のステップ44a,45bの処理により最低音
に対応する鍵が割当てられている楽音発生チャンネルに
も新たに押された鍵が割当てられる。すなわち上記楽音
発生チャンネルを他の楽音発生チャンネルとは区別せ
ず、新たに押された鍵の割当てられるべき楽音発生チャ
ンネルが所定の優先順位に基づき全ての楽音発生チャン
ネルの中から決定されるようにしたが、このことは図6
の「割当てchサーチ」プログラムを図11,12のフ
ローチャートにより表されたプログラムのように変形し
ても実現される。この図11,12のフローチャートに
対応するプログラムにおいては、図6の場合に比べ、ス
テップ140,141,142の処理が付加されてお
り、CPU14bはステップ140にてサステインデー
タSUSに基づきサステインペダル12の状態を判断
し、サステインペダル12が踏込まれていれば、ステッ
プ44aにて、上記実施例と同様、最低音でなくかつ離
鍵に関する割当てキーデータAKDを記憶するチャンネ
ルを抽出し、サステインペダル12の踏込みが解除され
ていればステップ141にて最低音とは無関係に離鍵に
関する割当てキーデータAKDを記憶するチャンネルを
抽出し、上記抽出により該当チャンネルがある場合には
ステップ44b,45aの処理により該当チャンネルの
中から優先順位データPRDに基づき割当てチャンネル
が決定される。そして、上記該当チャンネルがない場合
には、ステップ142にて再びサステインデータSUS
に基づきサステインペダル12の状態が判断され、サス
テインペダル12が踏込まれていればステップ45bに
て最低音に対応する鍵が割当てられていない楽音発生チ
ャンネルの中から優先順位データPRDに基づき割当て
チャンネルが決定され、またサステインペダル12の踏
込みが解除されていればステップ45dにて最低音とは
無関係に全ての楽音発生チャンネルの中から優先順位デ
ータPRDに基づき割当てチャンネルが決定される。こ
れにより、上記実施例と同等な効果が達成される。
【0059】また、上記実施例では、サステインペダル
12が踏込まれている状態にて最低音に対応する鍵が割
当てられている楽音発生チャンネルのみ新たに押された
鍵の割当てを禁止するようにしたが、最低音キーコード
LKCの設定処理及び図6(又は図11,12)のステ
ップ44a,45bの処理を変更することにより、上記
鍵が、(1)最高音に対応する鍵が割当てられている楽
音発生チャンネル、(2)低音側又は高音側から2音若
しくは3音に対応する鍵が割当てられている楽音発生チ
ャンネル、(3)最低音又は最高音から所定音域例えば
1乃至2オクターブ程度の所定音域に含まれる音に対応
する鍵が割当てられている楽音発生チャンネル、(4)
所定音域(例えば低音域、中音域、高音域)に属する音
に対応する鍵が割当てられている楽音発生チャンネル、
または、(5)上記(1)〜(4)を各々組合せた楽音
発生チャンネルには、割当てられないようにしてもよ
い。この場合、上記楽音発生チャンネルにて発生される
楽音の減衰時間を長くする(減衰時定数DTを大きくす
る)ことにより、上記楽音を他の楽音に比べ長く発生さ
せ続けることができ、今までにない演奏効果が達成され
る。なお、サステインペダル12の踏込み又は踏込み解
除には関係なく楽音の減衰時間がある程度長い場合又は
サステインペダル12がない場合には、サステインペダ
ル12の状態を上記割当て禁止の条件とする必要はな
い。
【0060】さらに、上記実施例では、この発明に係る
押鍵割当て装置を既存のマイクロコンピュータを用いて
構成するようにしたが、この押鍵割当て装置を上記実施
例のプログラムの各処理に応じた機能を有する各電気回
路を組合せたハード回路により構成するようにしてもよ
い。
【図面の簡単な説明】
【図1】 この発明が適用される電子楽器の一実施例を
示す概略図である。
【図2】 (A)は減衰系の楽音のエンベロープの波形
図、(B)は持続系の楽音のエンベロープの波形図であ
る。
【図3】 (A)〜(F)は図1のマイクロコンピュータ部
内に設けられたRAMのメモリマップの一例を示す図で
ある。
【図4】 図1のマイクロコンピュータ部で実行される
プログラムに対応したフローチャートの一例を示す図で
ある。
【図5】 図1のマイクロコンピュータ部で実行される
プログラムに対応したフローチャートの一例を示す図で
ある。
【図6】 図1のマイクロコンピュータ部で実行される
プログラムに対応したフローチャートの一例を示す図で
ある。
【図7】 図1のマイクロコンピュータ部で実行される
プログラムに対応したフローチャートの一例を示す図で
ある。
【図8】 図1のマイクロコンピュータ部で実行される
プログラムに対応したフローチャートの一例を示す図で
ある。
【図9】 音高に対応する優先順位データの初期値の一
例を示す図である。
【図10】図1のマイクロコンピュータ部で実行される
プログラムに対応したフローチャートの一例を示す図で
ある。
【図11】図6に示されたプログラムを一部を変形した
変形プログラムの一部分に対応するフローチャートの一
例を示す図である。
【図12】図6に示されたプログラムを一部を変形した
変形プログラムの他の部分に対応するフローチャートの
一例を示す図である。
【符号の説明】
10…鍵盤、10a…鍵スイッチ回路、10b…鍵タッ
チ検出回路、11…操作子群、11a…操作子スイッチ
回路、12…サステインペダル、12a…サステインペ
ダルスイッチ回路、13…楽音発生回路、14…マイク
ロコンピュータ部。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 発音すべき楽音に関する鍵の押鍵及び離
    鍵を表す鍵情報並びに同鍵の鍵タッチを表す鍵タッチ情
    報を入力して、前記鍵タッチ情報に応じて音量レベル
    制御された楽音信号をそれぞれ発生する複数の楽音発生
    チャンネルのいずれかに発音すべき楽音に関する鍵を割
    る電子楽器の押鍵割当て装置において、 前記割当ての優先順位をその値の大きさにより表すデー
    タを前記各楽音発生チャンネルに対応して記憶する記憶
    手段と、 前記押鍵又は離鍵を表す鍵情報を入力する毎に前記記憶
    手段に記憶されている各楽音発生チャンネルに対応した
    データの値をそれぞれ前記優先順位が高くなる方向に所
    定値だけ変更するデータ変更手段と、 前記押鍵を表す鍵情報を入力したとき前記記憶手段に記
    憶されているデータの値に基づき最も前記優先順位の高
    いデータに対応した楽音発生チャンネルに前記押鍵に係
    る鍵を割当てる割当て制御手段と、 前記押鍵又は離鍵を表す鍵情報を入力する毎に前記割当
    てられた鍵に関する鍵タッチ情報により表された鍵タッ
    チに応じて設定され前記優先順位を表す値を前記押鍵又
    は離鍵に関する鍵が割当てられた楽音発生チャンネルに
    対応して前記記憶手段に書込む書込み手段とを備えたこ
    とを特徴とする電子楽器の押鍵割当て装置。
JP3177525A 1991-06-21 1991-06-21 電子楽器の押鍵割当て装置 Expired - Fee Related JP2531317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3177525A JP2531317B2 (ja) 1991-06-21 1991-06-21 電子楽器の押鍵割当て装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3177525A JP2531317B2 (ja) 1991-06-21 1991-06-21 電子楽器の押鍵割当て装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP60232241A Division JPS6290697A (ja) 1985-04-24 1985-10-17 電子楽器の押鍵割当て装置

Publications (2)

Publication Number Publication Date
JPH04356099A JPH04356099A (ja) 1992-12-09
JP2531317B2 true JP2531317B2 (ja) 1996-09-04

Family

ID=16032448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3177525A Expired - Fee Related JP2531317B2 (ja) 1991-06-21 1991-06-21 電子楽器の押鍵割当て装置

Country Status (1)

Country Link
JP (1) JP2531317B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55140893A (en) * 1979-04-21 1980-11-04 Kawai Musical Instr Mfg Co System for allocating keyboard switch information
JPS5922238A (ja) * 1982-07-28 1984-02-04 Fujitsu Ltd 光デイスクの記録検査方式

Also Published As

Publication number Publication date
JPH04356099A (ja) 1992-12-09

Similar Documents

Publication Publication Date Title
EP0204122B1 (en) Electronic musical instrument
JP2664098B2 (ja) 電子楽器のペダル装置
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
JP2531317B2 (ja) 電子楽器の押鍵割当て装置
JP3791796B2 (ja) 楽音発生装置
JPH0128397B2 (ja)
JPH0335679B2 (ja)
JPH0335680B2 (ja)
JP3624780B2 (ja) 楽音制御装置
JPH0572596B2 (ja)
JP2526636B2 (ja) 電子楽器
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JPH0127439B2 (ja)
JP2953217B2 (ja) 電子楽器
JPH0515279B2 (ja)
JPH0580754A (ja) 電子楽器
JPH0127438B2 (ja)
JPH0746271B2 (ja) 楽音信号発生装置
JPH05281967A (ja) 電子楽器のキーアサイナ
JP2685419B2 (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JP3646611B2 (ja) 楽音発生装置
JPH08278781A (ja) 音源モジュール
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP4186855B2 (ja) 楽音制御装置及びプログラム
JP2814479B2 (ja) 電子楽器

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees