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

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

Info

Publication number
JPH04356099A
JPH04356099A JP3177525A JP17752591A JPH04356099A JP H04356099 A JPH04356099 A JP H04356099A JP 3177525 A JP3177525 A JP 3177525A JP 17752591 A JP17752591 A JP 17752591A JP H04356099 A JPH04356099 A JP H04356099A
Authority
JP
Japan
Prior art keywords
key
data
assigned
channel
musical tone
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.)
Granted
Application number
JP3177525A
Other languages
English (en)
Other versions
JP2531317B2 (ja
Inventor
Takeo Shibukawa
渋川 竹夫
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

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

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,操作子群1
1及びサステインペダル12の操作に応じたデータを楽
音発生回路13に出力して楽音の発生を制御する。なお
、ROM14a,CPU14b,RAM14c及びタイ
マ回路14dはバス15に接続されている。
【0015】RAM14cは、楽音発生回路13の各楽
音発生チャンネルに割当てた鍵に関するデータを記憶す
る割当てキーデータレジスタ領域AKDR(図3(A)
)と、前記各楽音発生チャンネルに割当てた鍵の鍵タッ
チ強さを表すデータを記憶する割当てタッチデータレジ
スタ領域ATDR(図3(B))と、前記各楽音発生チ
ャンネルへの割当て優先順位を表すデータを記憶する優
先順位データレジスタ領域PRDR(図3(C))と、
鍵盤10にて新たに押された鍵の割当てるべきチャンネ
ルを指定するための割当て指定チャンネルデータ等を記
憶する割当チャンネルレジスタ領域ACHR(図3(D
))と、鍵盤10の押鍵検出及び操作子群11の操作検
出に利用する押鍵及び操作検出レジスタ領域KOR(図
3(E))と、チャンネルの割当て演算及びその他の演
算に利用する一般レジスタ領域GNR(図3(F))に
区分されている。
【0016】さらに、割当てキーデータレジスタ領域A
KDR(図3(A))は楽音発生回路13の各楽音発生
チャンネルに各々対応したN個のレジスタを有し、各レ
ジスタは各々対応する楽音発生チャンネルに割当てられ
た鍵を表すキーコードKC及び該鍵の状態を示すキーオ
ンデータKOからなる割当てキーデータAKD(1)〜
AKD(N)を各々記憶する。なお、この実施例ではキ
ーコードKCは高音になるに従って「1」ずつ増加し、
鍵盤10の88鍵に対応して「21」〜「108」の値
をとるものであり、キーオンデータKOは値”0”にて
離鍵状態を示しかつ値”1”にて押鍵状態を示すもので
ある。
【0017】割当てタッチデータレジスタ領域ATDR
(図3(B))も、割当てキーデータレジスタ領域AK
DRと同様に、N個のレジスタを有し、各レジスタは割
当てキーデータレジスタ領域AKDRに記憶されている
各割当てキーデータAKD(1)〜(N)が示す鍵に関
するタッチデータTDを割当てタッチデータATD(1
)〜(N)として各々記憶する。なお、タッチデータT
Dは押鍵強さが大きくなると大きな値となるデータであ
る。優先順位データレジスタ領域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”のデータを記憶する鍵状態メモリKE
YMEMと、操作子群11の各スイッチ及び各ボリュウ
ムに対応した複数の記憶位置を有し、各々対応するスイ
ッチの開閉状態データ又はボリュウムの位置データを記
憶する操作子状態メモリSWMEMと、鍵盤10の押鍵
イベントデータKEVT1、離鍵イベントデータKEV
T2、又は操作子群11の操作子イベントデータSWE
VTを記憶するための複数のレジスタを有する。なお、
この押鍵イベントデータKEVT1は鍵名を表すキーコ
ードKC、鍵の操作状態を表すキーオンデータKO及び
鍵タッチ強さを表すタッチデータTDからなり、離鍵イ
ベントデータKEVT2は上記キーコードKC及び上記
キーオンデータKOからなる。
【0020】一般レジスタ領域GNR(図3(F))は
押鍵イベントデータKEVT1の処理中に上記レジスタ
領域KORから読出したキーデータKD及びタッチデー
タTDを記憶する2箇のレジスタと、最低音検出により
検出した最低音に対応する最低音キーコードLKCを記
憶するレジスタと、同一鍵が割当てられている楽音発生
チャンネル数を示す重複割当てチャンネル数データMA
NYを記憶するレジスタと、サステインペダル12が踏
込まれた状態を”1”にて表しかつサステインペダル1
2が踏込まれていない状態を”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にて、CP
U14bは操作子イベントデータSWEVTの有無を調
べ、データがある場合、このデータを楽音発生回路13
に出力した後、出力した操作子イベントデータSWEV
Tを消去し、操作子イベントデータ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にて共に「NO
」と判断して、ステップ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」を減算して減算結果を新たな優先順位データPRD
として上記読出したレジスタに再び記憶し、又上記値が
「0」であれば、上記読出したレジスタの内容を書換え
ないようにする。これにより、鍵盤10にて新たな鍵が
押される毎にそのデータ値が「0」でないチャンネルの
優先順位データPRD(N)が一率に「1」ずつ減算さ
れることになり、このことは押鍵毎に各チャンネルの優
先順位データが割当て優先順位の高い方向に一率に更新
されることを意味する。
【0029】上記優先順位データPRD(1)〜PRD
(N)の更新後、CPU14bは、ステップ43aにて
、一般レジスタGNRにステップ41aの処理により記
憶したキーデータKDに基づき、該キーデータKD中の
キーコードKCの値と等しい値のキーコードKCを有す
る割当てキーデータAKDの数を、割当てキーデータレ
ジスタAKDRに記憶されている割当てキーデータAK
D(1)〜AKD(N)を順次読出してキーコードKC
同志を比較することにより検出し、検出した数を重複割
当てチャンネル数データ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は、割当てキーデータAK
D(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を記憶するチャンネルを検出し、該チャ
ンネルを示す番号を割当てチャンネルレジスタ領域AC
HRに割当てチャンネル番号データACHNとして記憶
して、ステップ46の処理により「割当てchサーチ」
プログラムの実行を終了する。
【0033】このステップ43a,43bの処理により
、割当てチャンネル番号データACHNは、鍵盤10に
て上記所定数の押鍵操作の間に同一鍵の押される回数が
「2」以内のときにはステップ44a,44b,45a
,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
)を順次読出し、読出した割当てタッチデータATDが
「0」でなければ該データATDから「1」を減算し、
減算結果(ATD−1)を新たな割当てタッチデータA
TDとして割当てタッチデータレジスタ領域ATDRの
読出したレジスタに再び記憶する。また、読出したタッ
チデータATDが「0」であれば、該データATDの書
換えは行なわない。上記のようにして、全ての割当てタ
ッチデータATDの更新処理を実行すると、CPU14
bはステップ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の値に応じて、音名AO
〜A8に渡り16音毎に「1」ずつ減少する「7」〜「
2」のいずれかの値に設定され、このことは押鍵時に設
定される優先順位データPRDが低音程割当て優先順位
が低く重み付けされることを意味する。
【0040】さらに、CPU14bは、ステップ53a
にて前記新たに押された鍵を示すキーデータKD中のキ
ーコードKCと値「60」とを比較し、キーコードKC
が値「60」より小さければステップ53bにて上記ス
テップ52bにて設定した優先順位データPRD(AC
HN)に「32」を加算し、キーコードKCが値「60
」以上であればステップ53cにて前記優先順位データ
PRD(ACHN)に「26」を加算する。この値「6
0」は音高C4を示すキーコードKCに相当し、これに
より、音高C4を境に、前記優先順位データPRD(A
CHN)はさらに低音程割当て優先順位が低く重み付け
られ、その値は、図9に示すように新たに押された鍵の
キーコードKCに応じて、音高AO〜C8に渡り「39
」〜「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を「16
」で除算してこの除算結果を変数WGHTとして設定し
、ステップ55bにて上記音高による重み付けした優先
順位データPRD(ACHN)に変数WGHTを加算す
ることにより、優先順位データPRD(ACHN)をタ
ッチデータTDの値が大きい程割当て優先順位が低くな
るように重み付けして、ステップ56にて「割当てch
データ設定」プログラムの処理を終了する。なお、上述
の音高及び鍵タッチ強さに基づく優先順位データPRD
(1)〜PRD(N)の重み付けは、上記ステップ52
a,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
のサステインペダル処理のプログラムは図10のフロー
チャートに詳細に示されている。このプログラムにおい
ては、CPU14bはステップ80にてプログラムの実
行を開始し、ステップ81にてサステインペダルスイッ
チ回路12aからサステインペダル12の現状態を示す
現状態データを読込み、ステップ82a,82bにて一
般レジスタ領域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,5
3a,53b,53cの処理により音高が低くなるに従
って大きくなる値に初期設定され(図9参照)、かつ図
8のステップ55a,55bの処理により鍵タッチ強さ
が大きくなるに従って大きくなる値に初期設定されて、
この初期設定された優先順位データPRD(1)〜PR
D(N)は図6のステップ42の処理により各データと
も押鍵毎に一律に減ぜられ、この減ぜられた優先順位デ
ータPRD(1)〜PRD(N)に基づいてステップ4
5a,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)にて実線にて示すように、
押鍵と同時に急速に立上がり、押鍵中はほぼ一定レベル
SLを維持し、離鍵後減衰時定数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,5
5bの処理は図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にてサステインデータS
USに基づきサステインペダル12の状態を判断し、サ
ステインペダル12が踏込まれていれば、ステップ44
aにて、上記実施例と同様、最低音でなくかつ離鍵に関
する割当てキーデータAKDを記憶するチャンネルを抽
出し、サステインペダル12の踏込みが解除されていれ
ばステップ141にて最低音とは無関係に離鍵に関する
割当てキーデータAKDを記憶するチャンネルを抽出し
、上記抽出により該当チャンネルがある場合にはステッ
プ44b,45aの処理により該当チャンネルの中から
優先順位データPRDに基づき割当てチャンネルが決定
される。そして、上記該当チャンネルがない場合には、
ステップ142にて再びサステインデータSUSに基づ
きサステインペダル12の状態が判断され、サステイン
ペダル12が踏込まれていればステップ45bにて最低
音に対応する鍵が割当てられていない楽音発生チャンネ
ルの中から優先順位データPRDに基づき割当てチャン
ネルが決定され、またサステインペダル12の踏込みが
解除されていればステップ45dにて最低音とは無関係
に全ての楽音発生チャンネルの中から優先順位データP
RDに基づき割当てチャンネルが決定される。これによ
り、上記実施例と同等な効果が達成される。
【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)

    【特許請求の範囲】
  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 true JPH04356099A (ja) 1992-12-09
JP2531317B2 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)

Citations (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 光デイスクの記録検査方式

Patent Citations (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
JP2531317B2 (ja) 1996-09-04

Similar Documents

Publication Publication Date Title
EP0204122B1 (en) Electronic musical instrument
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
JP2664098B2 (ja) 電子楽器のペダル装置
US5286910A (en) Electronic musical instrument having automatic channel-assigning function
JPH08202361A (ja) 電子楽器
JP2531317B2 (ja) 電子楽器の押鍵割当て装置
JPH0128397B2 (ja)
JPH04198994A (ja) 電子楽器の楽音制御方法
JPH0335679B2 (ja)
JPH0335680B2 (ja)
JPH0572596B2 (ja)
JP2526636B2 (ja) 電子楽器
JP2629418B2 (ja) 楽音合成装置
JP3624780B2 (ja) 楽音制御装置
JPH01177090A (ja) 電子楽器
JPH0418320B2 (ja)
JPH0580754A (ja) 電子楽器
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JPH0127439B2 (ja)
JP3646611B2 (ja) 楽音発生装置
JPH05281967A (ja) 電子楽器のキーアサイナ
JPH0127438B2 (ja)
JP2685419B2 (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JP2814479B2 (ja) 電子楽器
JPH0746271B2 (ja) 楽音信号発生装置

Legal Events

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