JPH0335679B2 - - Google Patents

Info

Publication number
JPH0335679B2
JPH0335679B2 JP61108986A JP10898686A JPH0335679B2 JP H0335679 B2 JPH0335679 B2 JP H0335679B2 JP 61108986 A JP61108986 A JP 61108986A JP 10898686 A JP10898686 A JP 10898686A JP H0335679 B2 JPH0335679 B2 JP H0335679B2
Authority
JP
Japan
Prior art keywords
key
data
channel
assigned
musical
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 - Lifetime
Application number
JP61108986A
Other languages
English (en)
Other versions
JPS6291996A (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 JP61108986A priority Critical patent/JPS6291996A/ja
Publication of JPS6291996A publication Critical patent/JPS6291996A/ja
Publication of JPH0335679B2 publication Critical patent/JPH0335679B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、鍵盤にて押された鍵を鍵の数より
少ない複数の楽音発生チヤンネルのいずれかに割
当てる電子楽器の押鍵割当て装置に関する。
〔従来技術〕
近年、電気楽器の分野では、鍵の数より少ない
複数の楽音発生チヤンネルからなる楽音発生手段
を用意しておき、鍵盤にて新たな鍵が押される
と、該鍵を複数の楽音発生チヤンネルのいずれか
に割当て、該割当てられた楽音発生チヤンネルに
て新たに押された鍵に関する楽音を発生するよう
にした電子楽器が一般化してきている。そして、
このような割当てを行なう割当て装置は、例えば
特開昭52−25613号公報に示されるように、全て
の楽音発生チヤンネルの中から発生楽音の音量が
最小である楽音発生チヤンネルを探し出し、該チ
ヤンネルに新たに押された鍵を割当て、または例
えば特公昭59−22238号公報に示されるように、
全ての楽音発生チヤンネルの中から最も古く離鍵
された鍵が割当てられている楽音発生チヤンネル
を探し出し、該チヤンネルに新たに押された鍵を
割当てるようにして、発音を終了し又は最も早く
発音を終了する楽音発生チヤンネルにて新たに押
された鍵に関する楽音が発生されるようにしてい
る。
また、この種の割当て装置においては、特公昭
52−46088号公報に示されるように、上記割当て
条件の他に、ある鍵に対応する楽音が減衰発音中
であつて再びその鍵が押された場合、該減衰発音
中の楽音は消され、再押鍵された鍵が該減衰発音
中であつた楽音発生チヤンネルに再び割当てられ
るようにした同一チヤンネルの再割当て処理を行
なうようにしたものも知られている。そして、ト
リル演奏等のように同一鍵が短時間内に多数回繰
返し押された場合にも、楽音発生チヤンネルの多
くが該鍵に専有されて、他の鍵の押鍵に伴う楽音
の発生に支障を来たさないようにしている。
〔発明が解決しようとする問題点〕
しかるに、同一チヤンネルへの再割当て処理を
行う上記従来の割当て装置を採用した電子楽器に
あつては、上記のように楽音発生チヤンネルの多
くが同一鍵のために専有されてしまうことはない
が、同一鍵に関する楽音は必ず単一の楽音発生チ
ヤンネルから発生されるので、例えばピアノ等の
自然楽器におけるトリル演奏等のように短時間内
に同一鍵が繰返し押鍵された場合に生じる効果、
すなわち発音源である弦は後の押鍵に関する楽音
を発生しているにもかかわらず、響板等の共鳴装
置が前の押鍵に関する楽音を発生するのような効
果をシユミレートすることができないという問題
がある。一方、同一チヤンネルへの再割当て処理
を行わない一般的な上記従来の割当て装置を採用
した電子楽器であつては、トリル演奏等のように
同一鍵が短時間内に多数回繰返し押された場合、
上述したように多くの楽音発生チヤンネルが該同
一鍵に専有されて、他の鍵の押鍵に伴う楽音の発
生に支障を来すという問題がある。
この発明は、上記両問題点に鑑み案出されたも
ので、その目的とするところはピアノ等の自然楽
器におけるトリル演奏に伴う上記効果をよりよく
シユミレートできるようにするとともに、前記ト
リル演奏がされた場合でも他の鍵の押鍵に伴う楽
音の発生に支障を来すことがないようにした電子
楽器の押鍵割当て装置を提供することにある。
〔問題点を解決するための手段〕
かかる問題の解決にあたり、この発明の構成上
の特徴は、第1図に示すように、鍵盤1にて押さ
れた鍵を鍵の数より少ない複数の楽音発生チヤン
ネル2のいずれかに割当てる電子楽器の押鍵割当
て装置3において、前記鍵盤1の鍵を表すととも
に前記楽音発生チヤンネル2にて発生されるべき
楽音の音高を指定するキー情報を各々前記各楽音
発生チヤンネル2に対応して記憶する複数の記憶
チヤンネルからなるキー情報記憶手段3aと、前
記鍵盤1にて新たに押された鍵を表すキー情報と
同一キー情報を記憶している前記記憶チヤンネル
の数を検出するチヤンネル数検出手段3bと、前
記検出した記憶チヤンネルの数が2以上かつ前記
楽音発生チヤンネル2の数未満の所定整数値より
小さいとき前記新たに押された鍵を表すキー情報
を前記記憶チヤンネルのうちいずれかに記憶させ
ることにより前記新たに押された鍵の割当てを制
御し、かつ前記検出した記憶チヤンネルの数が前
記所定整数値以上のとき前記新たに押された鍵を
表すキー情報を該キー情報と同一キー情報を記憶
している前記記憶チヤンネルのうちいずれかに記
憶させることにより前記新たに押された鍵の割当
てを制御する割当て制御手段と3cとを備えたこ
とにある。
〔発明の作用〕
上記のように構成したこの発明においては、鍵
盤1にて新たな鍵が押されると、チヤンネル数検
出手段3bは、この新たに押された鍵を表すキー
情報と同一キー情報を記憶しているキー情報記憶
手段3a内の記憶チヤンネルの数を検出する。こ
の検出した記憶チヤンネルの数が所定整数値より
小さければ、割当て制御手段3cは前記新たに押
された鍵を表すキー情報をキー情報記憶手段3a
内の全ての記憶チヤンネルのいずれかに記憶させ
ることにより、前記新たに押された鍵の楽音発生
チヤンネル2への割当てを制御する。そして、こ
の所定整数値は2以上の値に設定されているの
で、同一鍵が短時間内に繰返し押鍵された場合に
は、該同一鍵は前記所定整数値に等しい複数の楽
音発生チヤンネル2に同時に割当てられることに
なる。
また、チヤンネル数検出手段3bにより検出さ
れた記憶チヤンネルの数が所定整数値以上であれ
ば、割当て制御手段3cは前記新たに押された鍵
を表すキー情報を該キー情報と同一キー情報を記
憶している記憶チヤンネルのうちのいずれかに記
憶させることにより、前記押された鍵の楽音発生
チヤンネル2への割当てを制御する。そして、こ
の所定整数値は楽音発生チヤンネル2の数未満の
値に設定されているので、同一鍵が短時間内に多
数回繰返し押鍵されても、該同一鍵は最大でも所
定整数値に等しい複数の楽音発生チヤンネル2に
割当てられ、残りの楽音発生チヤンネル2は他の
鍵の割当て利用される。
〔発明の効果〕
上記作用説明からも理解できる通り、トリル演
奏等のように鍵盤1にて同一鍵が短時間内に繰返
し押鍵された場合、該鍵は複数の楽音発生チヤン
ネル2に重複して割当てられて、時間を異にして
押された同一鍵に関する楽音が同時に発音可能と
なるので、例えばピアノ等の自然楽器で見られる
ように発音源である弦は後の押鍵に関する楽音を
発生しているにもかかわらず、響板等の共鳴装置
が前の押鍵に関する音楽を発生するような効果が
よりよくシユミレートできて、電子楽器の品質が
向上する。
また、同一鍵の上記繰返し押鍵の回数が所定整
数値(2以上かつ楽音発生チヤンネル2の数未
満)より大きくなつても、上記同一鍵の重複割当
てが許容される楽音発生チヤンネル2の数は所定
整数値までに制限され、残りの楽音発生チヤンネ
ル2は他の割当てに利用されるので、このような
場合でも他の鍵の押鍵に伴う楽音の発生に支障を
来たすことがなくなる。
〔実施例〕
a 構成例 以下、この発明の実施例を図面を用いて説明
すると、第2図はこの発明が適用された減衰系
(パーカツシブ)あの楽音を発生する電子楽器
を概略的に示すものであり、この電子楽器は鍵
盤10と、音色、音量等の選択制御する操作子
群11と、楽音の減衰時間(減衰時定数)を切
換えるサステインペダル12と、楽音信号を発
生する楽音発生回路13と、鍵盤10、操作子
群11及びサステインペダル12の状態を入力
して楽音発生回路13を制御するマイクロコン
ピユータ部14を備えている。
鍵盤10は楽音発生回路13にて発生される
楽音の音高を指定するための複数の鍵(例えば
A0〜C8の88鍵)を有し、各鍵の押鍵又は離
鍵操作は各鍵に対応して設けられた鍵スイツチ
からなる鍵スイツチ回路10aによつて検出さ
れるようになつているとともに、上記押鍵操作
に伴う押鍵速さ、押鍵圧力等の鍵タツチ強さ
(イニシヤル鍵タツチ)が各鍵に対応して設け
られた押鍵速度検出回路又は押鍵圧力検出回路
等からなる鍵タツチ検出回路10bによつて検
出されるようになつている。鍵スイツチ回路1
0a及び鍵タツチ検出回路10bは、バス15
を介してマイクロコンピユータ部14に接続さ
れ、マイクロコンピユータ部14に制御され
て、各鍵の押鍵又は離鍵状態を表す鍵データ及
び各鍵操作に伴う鍵タツチデータをマイクロコ
ンピユータ部14に供給するようになつてい
る。操作子群11は楽音発生回路13にて発生
される減衰系の例えばピアノ、ハープシコード
等の音色を選択する操作子及び発生される楽音
の音量等を調節する操作子等を有し、これらの
操作子の操作状態は前記各操作子に対応して設
けられたスイツチ、ボリユウム等からなる操作
子スイツチ回路11aによつて検出されるよう
になつている。操作子スイツチ回路11aはバ
ス15を介してマイクロコンピユータ部14に
接続され、マイクロコンピユータ部14に制御
されて、各操作子の状態を表すデータをマイク
ロコンピユータ部14に供給するようになつて
いる。サステインペダル12は、その踏込み操
作により楽音発生回路13にて発生される楽音
の減衰時間を長くし、かつ踏込み解除により前
記楽音の減衰時間を短くするために演奏者の足
により操作されるものであり、サステインペダ
ル12の踏込み又は踏込み解除はサステインペ
ダルスイツチ回路12aにより検出され、この
検出されたサステインペダル12の踏込み又は
踏込み解除を表すデータは、同回路12aに接
続されたバス15を介してマイクロコンピユー
タ部14を供給されるようになつている。
楽音発生回路13は、鍵盤10の鍵数より少
ないN個(例えば8個)の楽音発生チヤンネル
を有し、鍵盤10にて新たな鍵が押されたと
き、マイクロコンピユータ部14により該鍵が
割当てられた楽音発生チヤンネルにおいて、鍵
盤10の鍵操作、操作子群11の操作状態及び
サステインペダル12の操作状態に応じた楽音
信号を発生し、アンプ16を介しスピーカ17
から楽音として発音する。この場合、発生楽音
の周波数は鍵盤10にて押された鍵により指定
された該鍵に対応する音高周波数であり、発生
楽音の音色は操作子群11の操作状態に応じて
指定されるピアノ、ハープシコード等の音色で
ある。また、発生楽音のエンベロープ波形は、
基本的には第3A図の実線にて示すように、押
鍵と同時に急速に立上り、所定のアタツクレベ
ルALに達すると、離鍵とは無関係に所定の減
衰時定数DTで徐々に減衰して、押鍵中はこの
減衰を続行し、減衰中に離鍵されると、破線に
て示すようにその時点から急速に減衰する形状
であるが、このエンベロープ波形はサステイン
ペダル12の操作及び鍵盤10の鍵操作により
制御されて、サステインペダル12が踏込まれ
た状態にあれば離鍵されても破線のように変化
せず実線のように変化し、また、発生される音
高が低くなるに従つて減衰時定数DTが大きく
なるように設定されて一点鎖線のように変化
し、さらに、鍵タツチ検出回路10bにより検
出された鍵タツチが強ければすなわち押鍵速度
が大きく又は押鍵圧力が大きければ上記所定の
アタツクレベルALが大きくなつて二点鎖線の
ように変化するようになつている。さらに、前
記減衰時定数DT及びアタツクレベルALは発
生楽音の音色に応じても変化するようになつて
いる。これにより、ピアノ等の減衰系の自然楽
器において見られるように、発生楽音に応じて
楽音の減衰時間(楽音の音量レベルが高い状態
から徐々に低くなつてほぼ零になるまでの時
間)を異ならせるようになつている。
マイクロコンピユータ部14は、第5図乃至
第9図及び第11図に示すフローチヤートに対
応したプログラムを記憶する読出し専用メモリ
(以下単にROMという)14aと、このプロ
グラムを実行する中央処理装置(以下単に
CPUという)14bと、このプログラムを実
行するのに必要な後述する諸変数を一時的に記
憶してワーキングメモリとしての役目を果す書
込み可能メモリ(以下単にRAMという)14
cと、時間を計測して所定時間毎に、実行中の
プログラム処理を中断して第8図に示すフロー
チヤートに対応した「タイマー割込み」プログ
ラムをCPU14bに実行させるタイマ回路1
4dとを備え、上記プログラムの実行により鍵
盤10、操作子群11及びサステインペダル1
2の操作に応じたデータを楽音発生回路13に
出旅して楽音の発生を制御する。なお、ROM
14a、CPU14b、RAM14c及びタイマ
回路14dはバス15に接続されている。
RAM14cは、楽音発生回路13の各楽音
発生チヤンネルに割当てた鍵に関するデータを
記憶する割当てキーデータレジスタ領域
AKDR(第4A図)と、前記各楽音発生チヤン
ネルに割当てた鍵の鍵タツチ強さを表すデータ
を記憶する割当てタツチデータレジスタ領域
ATDR(第4B図)と、前記各楽音発生チヤン
ネルへの割当て優先順位を表すデータを記憶す
る優先順位データレジスタ領域PRDR(第4C
図)と、鍵盤10にて新たに押された鍵の割当
てるべきチヤンネルを指定するための割当指定
チヤンネルデータ等を記憶する割当てチヤンネ
ルレジスタ領域ACHR(第4D図)と、押鍵1
0の押鍵検出及び操作子群11の操作検出に利
用する押鍵及び操作検出レジスタ領域KOR(第
4E図)と、チヤンネルの割当て演算及びその
他の演算に利用する一般レジスタ領域GNR(第
4F図)に区分されている。
さらに、割当てキーデータレジスタ領域
AKDR(第4A図)は楽音発生回路13の各楽
音発生チヤンネルに各々対応したN個のレジス
タを有し、各レジスタは各々対応する楽音発生
チヤンネルに割当てられた鍵を表すキーコード
KC及び該鍵の状態を示すキーオンデータKO
からなる割当てキーデータAKD(1)〜AKD(N)
を各々記憶する。なお、この実施例ではキーコ
ードKCは高音になるに従つて「1」ずつ増加
し、鍵盤10の88鍵に対応して「21」〜「108」
の値をとるものであり、キーオンデータKOは
値“0”にて離鍵状態を示しかつ値“1”にて
押鍵状態を示すものである。
割当てタツチデータレジスタ領域ATDR(第
4B図)も、割当てキーデータレジスタ領域
AKDRと同様に、N個のレジスタを有し、各
レジスタは割当てキーデータレジスタ領域
AKDRに記憶されている各割当てキーデータ
AKD(1)〜(N)が示す鍵に関するタツチデー
タTDを割当てタツチデータATD(1)〜(N)と
して各々記憶する。なお、タツチデーダTDは
押鍵強さが大きくなると大きな値となるデータ
である。優先順位データレジスタ領域PRDR
(第4C図)も、割当てキーデータレジスタ領
域AKDRと同様に、各楽音発生チヤンネルに
対応したN個のレジスタを有し、各レジスタは
各楽音発生チヤンネルに対応してその値が小さ
い程割当て優先順位が高くなる優先順位データ
PRD(1)〜PRD(N)を記憶する。
割当てチヤンネルレジスタ領域ACHR(第4
D図)は、鍵盤10にて新たに押された鍵が割
当てられる楽音発生チヤンネルの番号を示す割
当てチヤンネル番号データACHNを記憶する
レジスタと、この割当てチヤンネル番号データ
ACHNを探し出す処理過程において抽出され
るチヤンネル番号CHN及び優先順位データ
PRDを記憶するレジスタ群を有する。
押鍵及び操作検出レジスタ領域KOR(第4E
図)は、鍵盤10の各鍵に各々対応する複数の
ビツトから成り、各ビツトが各鍵の押鍵又は離
鍵を表わす。“1”又は“0”のデータを記憶
する鍵状態メモリKEYMEMと、操作子群11
の各スイツチ及び各ボリユウムに対応した複数
の記憶位置を有し、各々対応するスイツチの開
閉成状態データ又はボリユウムの位置データを
記憶する操作子状態メモリSWMEMと、鍵盤
10の押鍵イベントデータKEVT1、離鍵イベ
ントデータKEVT2、又は操作子群11の操作
子イベントデータSWEVTを記憶するための複
数のレジスタを有する。なお、この押鍵イベン
トデータKEVT1は鍵名を表すキーコードKC、
鍵の操作状態を表すキーオンデータKO及び鍵
タツチ強さを表すタツチデータTDからなり、
離鍵イベントデータKEVT2は上記キーコード
KC及びキーオンデータKOからなる。
一般レジスタ領域GNR(第4F図)は押鍵イ
ベントデータKEVT1の処理中に上記レジスタ
領域KORから読出したキーデータKD及びタツ
チデータTDを記憶する2箇のレジスタと、最
低音検出により検出した最低音に対応する最低
音キーコードLKCを記憶するレジスタと、同
一鍵が割当てられている楽音発生チヤンネル数
を示す重複割当てチヤンネル数データMANY
を記憶するレジスタと、サステインペダル12
が踏込まれた状態を値“1”にて表しかつサス
テインペダル12が踏込まれていない状態を値
“0”にて表すサステインデータSUSを記憶す
るレジスタと、マイクロコンピユータ部14の
演算に必要なその他の変数等を記憶するその他
のレジスタ群から成る。
b 基本動作 上記のように構成した実施例の基本動作を第
5図に示すフローチヤートを用いて説明する
と、電源の投入により、CPU14bは第5図
のステツプ20からプログラムの実行を開始して
ステツプ21にてRAM14Cの初期設定を行
う。
上記初期設定後、CPU14bは、プログラ
ムをステツプ22の鍵処理ルーチンに進め、同ル
ーチンにて、後述する第6図、第7図及び第9
図のフローチヤートに対応したプログラムを実
行することにより、鍵盤10の押鍵または離鍵
に応じて楽音発生回路13による楽音の発生を
制御する。上記鍵処理ルーチンの実行後、
CPU14bは、プログラムをステツプ23のサ
ステインペダル処理ルーチンに進め、同ルーチ
ンにて、後述する第11図のフローチヤートに
対応したプログラムを実行することにより、サ
ステインペダル12の踏込み又は踏込み解除に
応じて楽音発生回路13にて発生中の楽音の減
衰状態を制御する。
次に、プログラムはステツプ24、25に進み、
マイクロコンピユータ部14は操作子群11の
操作子状態に検出し、検出結果を楽音発生回路
13に出力して楽音の音色、音量等を制御す
る。ステツプ24にて、CPU14bは操作子ス
イツチ回路11a内の各スイツチの開閉状態及
びボリユウムの設定位置を表わすデータを操作
子群11の新操作子データとして入力し、これ
らの入力データと操作子状態メモリSWMEM
に記憶されている旧操作子データとを各操作子
毎に各々対比し、両データが異なる場合にのみ
該当データに関する操作子の操作状態が変化し
たものとして、同操作子の新操作子データを操
作子状態メモリSWMEMの同操作子に対応す
る記憶位置に書込むと共に、同新操作子データ
を押鍵及び操作検出レジスタ領域にKORに操
作子イベントデータSWEVTとして記憶する。
ステツプ25にて、CPU14bは操作子イベン
トデータSWEVTの有無を調べ、データがある
場合、このデータを楽音発生回路13に出力し
た後、出力した操作子イベントデータSWEVT
を消去し、操作子イベントデータSWEVTがな
くなるまで上記動作を繰返し、全ての操作子イ
ベントデータの送出を行う。なお、全操作子に
関する新旧操作子データが一致する場合には、
ステツプ24、25における操作子データの書換え
及び出力は実行されない。
上記ステツプ24、25の処理後、プログラムは
ステツプ22に戻り、CPU14bはステツプ22
〜25の各処理を繰返し実行して鍵盤10、サス
テインペダル12及び操作子群11の状態に応
じて楽音発生回路13の楽音発生を制御する。
c 鍵処理動作 次に鍵処理ルーチンについて詳述すると、
CPU14bは第6図のステツプ30からプログ
ラムの実行を開始し、ステツプ31にて鍵スイツ
チ回路10a内の各鍵スイツチを低音側又は高
音側から順次走査し、この走査により各鍵スイ
ツチの開閉成の状態信号を鍵盤10の新鍵状態
データとして入力し、これらのデータと鍵状態
メモリKEYMEMに記憶されている旧鍵状態デ
ータとを各鍵毎に各々対比して鍵盤10におけ
る押鍵状態の変化を検出するとともに、新たな
押鍵を検出したときには鍵タツチ検出回路10
bから該鍵に関するタツチデータを取込む。す
なわち、新鍵状態データが“1”であり、かつ
旧鍵状態データが“0”である場合、CPU1
4bは鍵盤10にて新たに鍵が押されたことを
検知し、この新鍵状態データ“1”を鍵状態メ
モリKEYMEMの新たに押された鍵に対応する
記憶位置に書込むと共に、同鍵名を表わすキー
コードKC及び鍵が押されたことを表わす値
“1”のキーオンデータKOからなるキーデー
タKDと鍵タツチ検出回路10bから取込んだ
該鍵の鍵タツチ強さを表すタツチデータTDと
を押鍵イベントデータKEVT1として押鍵及び
操作検出レジスタ領域KOR(第4E図)のレジ
スタ群に記憶する。また、新鍵状態データが
“0”でありかつ旧鍵状態データが“1”であ
る場合、CPU14bは鍵盤10にて新たに鍵
が離されたことを検知し、この新鍵状態データ
“0”を鍵状態メモリKEYMEMの新たに離さ
れた鍵に対応する記憶位置に書込むと共に、同
鍵名を表わすキーコードKC及び鍵が離された
ことを表わす値“0”のキーオンデータKCか
らなるキーデータKDを離鍵イベントデータ
KEVT2として上記レジスタ群に記憶する。な
お、上記キーコードKCは上記走査において各
鍵に対応する鍵スイツチを順次指定している走
査カウンタ(図示しない)により決定される。
このような走査により、鍵盤10の全ての鍵の
状態検出を終了すると、前回のステツプ31の実
行時から今回のステツプ31の実行までに状態が
変化した鍵に対応する押鍵イベントデータ
KEVT1及び離鍵イベントデータKEVT2が上
記レジスタ群に全て記憶されることになる。
次に、プログラムはステツプ32、33に進み、
CPU14bはステツプ32、33にて上記レジス
タ群の内容により押鍵または離鍵イベントの発
生の有無を判別する。鍵盤10の各鍵に状態変
化がない場合、CPU14bはステツプ32及び
ステツプ33にて「NO」と判断して、ステツプ
34により鍵処理ルーチンの実行を終了して第5
図のステツプ23の実行に移る。
鍵盤10にて新たな押鍵があつた場合、
CPU14bはステツプ32にて、上記レジスタ
群に記憶されている押鍵イベントデータ
KEVT1の存在により「YES」と判別して、ス
テツプ40の「割当てchサーチ」プログラム
(第7図)、ステツプ50の「割当てchデータ設
定」プログラム(第9図)及びステツプ60の処
理から成る押鍵イベント処理ルーチンの実行に
移る。
CPU14bは、新たに押された鍵の割当て
られるべきチヤンネル番号ACHNを決定する
第7図の「割当てchサーチ」プログラムにお
いて、ステツプ40aからプログラムの実行を開
始し、ステツプ41aにて押鍵及び操作検出レジ
スタ領域KORのレジスタ群からキーデータKD
及びタツチデータTDからなる一組の押鍵イベ
ントデータKEVT1を読出して一般レジスタ領
域GNRに今後処理するキーデータKD及びタツ
チデータTDとして記憶した後、ステツプ41b
にて該押鍵イベントデータKEVT1を上記レジ
スタ群から消去し、ステツプ42にて優先順位デ
ータレジスタ領域PRDRの各レジスタに記憶さ
れている優先順位データPRD(1)〜PRD(N)を
順次読出し、読出した優先順位データPRDの
値が「0」でなければこの値から「1」が減算
して減算結果を新たな優先順位データPRDと
して上記読出したレジスタに再び記憶し、又上
記値が「0」であれば、上記読出したレジスタ
の内容を書換えないようにする。これにより、
鍵盤10にて新たな鍵が押される毎にそのデー
タ値が「0」でないチヤンネルの優先順位デー
タPRD(1)〜PRD(N)が一率に「1」ずつ減算
されることになり、このことは押鍵毎に各チヤ
ンネルの優先順位データが割当て優先順位の高
い方向に一率に更新されることを意味する。
上記優先順位データPRD(1)〜PRD(N)の更
新後、CPU14bは、ステツプ43aにて、一般
レジスタGNRにステツプ41aの処理により記憶
したキーデータKDに基づき、該キーデータ
KD中のキーコードKCの値と等しい値のキー
コードKCを有する割当てキーデータAKDの数
を、割当てキーデータレジスタAKDRに記憶
されている割当てキーデータAKD(1)〜AKD
(N)を順次読出してキーコードKC同志を比較
することにより検出し、検出した数を重複割当
てチヤンネル数データMANYとして記憶す
る。この重複割当てチヤンネル数データ
MANYの検出は、トリル演奏等の演奏態様に
より鍵盤10にて所定数(楽音発生チヤンネル
数N)の押鍵操作の間に同一鍵が2回以上繰返
し押された場合に、該鍵の割当てられる最大チ
ヤンネル数を決定するもので、この実施例では
同一鍵の異なるチヤンネルへの割当ては2チヤ
ンネルまで許容され、3チヤンネル以上の割当
ては禁止されるようになつている。
次にCPU14bはステツプ43bにて上記記憶
した重複割当てチヤンネル数データMANYの
値が「1」より大きいか否かを判断する。上記
新たに押された鍵が上記所定数の押鍵操作の間
に2回以上押されたものでない場合、割当てキ
ーデータレジスタ領域AKDRの各レジスタに
は各々異なるキーコードKCを有するキーデー
タKDが記憶されているので、上記ステツプ
43bにて検出した重複割当てチヤンネル数デー
タMANYは「0」であり、CPU14bはステ
ツプ43bにて「ON」と判定し、ステツプ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を割当てチヤンネルレジスタ領域
ACHRに割当てチヤンネル番号データACHN
として記憶して、ステツプ46にて「割当てch
サーチ」プログラムの実行を終了する。
また、ステツプ44aの抽出処理により該当す
るチヤンネルがない場合、すなわち最低音でな
いチヤンネルが全て押鍵中である場合には、
CPU14bはステツプ44bにて「ON」と判定
し、ステツプ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は、割当てキ
ーデータAKD(1)〜AKD(N)の中に、最低音
を示すキーデータKD以外で離された鍵を表す
キーデータKDがあれば、このキーデータKD
を記憶するチヤンネルのうち、優先順位データ
PRDが最小値であるチヤンネルを表すチヤン
ネル番号CHNに決定され、また上記の条件に
該当するキーデータKDがなければ全チヤンネ
ル中最低音を表すキーデータKDを記憶するチ
ヤンネル以外であつて、優先順位データPRD
が最小値のチヤンネルを表すチヤンネル番号
CHNに設定される。
一方、トリル演奏のように鍵盤10において
上記所定数の押鍵操作の間に同一鍵が2回以上
繰返して押された場合、新たに押された鍵が1
回目であれば、上記と同様に、ステツプ43aに
て重複割当てチヤンネル数データMANYが
「0」に設定され、また2回目であれば、割当
てキーデータレジスタ領域AKDRには1回の
押鍵時の割当てにより該鍵に関する割当てキー
データAKDが存在しているのでステツプ43aの
処理により重複割当てチヤンネル数データ
MANYは「1」に設定され、さらに3回目で
あればステツプ43aの処理により重複割当てチ
ヤンネル数データMANYは「2」に設定され
る。このように、重複割当てチヤンネル数デー
タMANYは同一鍵の繰返し押鍵回数により
種々の値に設定され、同データMANYが
「0」又は「1」のときはステツプ43bにて
「NO」すなわち同データMANYが「1」より
大きくないと判定されて、ステツプ44a、44b、
45a、45bにて上記のようにして割当てチヤン
ネル番号データACHNが設定されるが、同デ
ータMANYが「2」になると、CPU14bは
ステツプ43bにて「YES」と判定し、ステツプ
45cにて割当てキーデータレジスタ領域AKDR
の各レジスタに記憶してある割当てキーデータ
AKD(1)〜AKD(N)を順次読出し、読出した
割当てキーデータAKD中のキーコードKCと新
たに押された鍵を表すキーデータKD中のキー
コードKCとを比較し、これらのキーコードKC
が一致する複数のチヤンネルを抽出して、この
抽出した複数のチヤンネルに対応して割当てタ
ツチデータレジスタ領域ATDRに記憶されて
いる複数の割当てタツチデータATDのうちそ
の値が最も小さい割当てタツチデータATDを
記憶するチヤンネルを検出し、該チヤンネルを
示す番号を割当てチヤンネルレジスタ領域
ACHRに割当てチヤンネル番号データACHN
として記憶して、ステツプ46の処理により「割
当てchサーチ」プログラムの実行を終了する。
このステツプ43a、43bの処理により、割当
てチヤンネル番号データACHNは、鍵盤10
にて上記所定数の押鍵操作の間に同一鍵の押さ
れる回数が「2」以内のときにはステツプ
44a、44b、45a、45bの処理により設定され、
又上記回数が「3」以上になるとステツプ45c
の処理により前に押された同一鍵が割当てられ
ているチヤンネルの中で、割当てタツチデータ
ATDが最小であるチヤンネルを示すチヤンネ
ル番号CHNに設定される。このことは同一鍵
に関する楽音を同時に発生するチヤンネル数を
「2」までに制限していることを意味する。な
お、この制御チヤンネル数は他の数例えば
「3」等でもよく、この場合にはステツプ43b
にて重複割当てチヤンネル数MANYと比較す
る値を「2」とするとよい。また、上記割当て
タツチデータADは、後述する「割当てchデー
タ設定」プログラムの実行により、鍵が新たに
押されたときキーデータKDとともに鍵タツチ
強さを表すタツチデータTDとして割当て記憶
された後、第8図に示すフローチヤートに対応
した「タイマ割込み」プログラムの実行により
その値が変更されるものである。
上記「タイマ割込み」プログラムにおいて
は、CPU14bはタイマ回路14dにより制
御されて、他のプログラムの実行を中断してス
テツプ65から該プログラムの実行を開始し、ス
テツプ66にて割当てタツチデータレジスタ領域
ATDRの各レジスタに記憶されている割当て
タツチデータATD(1)〜ATD(N)を順次読出し、
読出した割当てタツチデータATDが「0」で
なければ該データATDから「1」を減算し、
減算結果(ATD−1)を新たな割当てタツチ
データATDとして割当てタツチデータレジス
タ領域ATDRの読出したレジスタに再び記憶
する。また、読出したタツチデータATDが
「0」であれば、該データATDの書換えは行な
わない。上記のようにして、全ての割当てタツ
チデータATDの更新処理を実行すると、CPU
14bはステツプ67の処理によりこの「タイマ
割込み」プログラムの実行を終了して、前記中
断したプログラムの実行に移る。この「タイマ
割込み」プログラムにより、押鍵時に設定され
た割当てタツチデータATD(1)〜ATD(N)の
各値は時間が経過するに従つて小さくなるの
で、同一鍵が上記所定数の押鍵操作の間に3回
以上押された場合における該鍵が割当てられる
べきチヤンネルを示す割当てチヤンネル番号デ
ータACHNは押鍵時の鍵タツチ強さ及び押鍵
からの経過時間に応じて決定されることにな
る。
なお、上記「割当てchサーチ」プログラム
においては、全ての楽音発生チヤンネルにて発
生中の楽音が、最低音を除き鍵盤10における
押鍵中のものである場合、CPU14bがステ
ツプ44bにて「NO」と判定し、ステツプ45bの
処理により割当てチヤンネル番号データ
ACHNを設定記憶するようにしたが、このス
テツプ45bの処理の代わりに第7図に破線で示
すようにステツプ45dの処理をするようにして
もよい。すなわち、上記場合、CPU14bは、
ステツプ45dにて最低音とは無関係に優先順位
データレジスタ領域PRDRに記憶してある全て
の優先順位データPRD(1)〜PRD(N)の中から
最小値を示す優先順位データPRDを記憶する
チヤンネルを探し出し、該チヤンネルを示すチ
ヤンネル番号CHNを割当てチヤンネル番号デ
ータACHNとして設定記憶し、ステツプ46に
て「割当てchサーチ」プログラムの実行を終
了するようにしてもよい。
上記「割当てchサーチ」プログラムの実行
を終了すると、CPU14bは、第6図のステ
ツプ50にて、上述した第7図のステツプ45a〜
45dの処理により設定された割当てチヤンネル
番号ACHNに基づいて、優先順位データPRD
(ACHN)、割当てキーデータAKD(ACHN)
及び割当てタツチデータATD(ACHN)を初
期設定する「割当てchデータ設定」プログラ
ムの実行に移る。
このプログラムの詳細は第9図のフローチヤ
ートに示されており、CPU14bはステツプ
50aにてこのプログラムの実行を開始し、ステ
ツプ51aにてサステインデータNSUSの値に基
づきサステインペダル12が踏込まれているか
否かを判断する。この判断においてサステイン
ペダル12が踏込まれた状態であれば、後述す
るサステインペダル処理ルーチンのプログラム
の実行によりサステインデータSUSは“1”
に設定されており、CPU14bは「YES」と
判定し、ステツプ51bにて新たに押された鍵を
表すキーデータKD中のキーコードKCと現時
点における最低音を表すキーコードLKCとを
比較し、前記キーコードKCが最低音キーコー
ドLKCより小さければ「YES」と判定して、
ステツプ51cにて最低音キーコードLKCを前記
キーコードKCに設定し、又前記キーコードKC
が最低音キーコードLKCより大きければ
「NO」と判定してステツプ51cの処理をせずプ
ログラムをステツプ52aに進める。これによ
り、サステインペダル12が踏込まれていると
き、新たな鍵が押され、この新たな鍵が以前に
割当てられていたいずれの鍵よりも低い音高の
鍵であれば、最低音キーコードLKCが新たに
押された鍵を示すキーコードKCに変更される。
また、サステインペダル12の踏込みが解除さ
れていれば、後述するサステインペダル処理ル
ーチンのプログラムの実行によりサステインデ
ータSUSは“0”に設定されており、CPU1
4bはステツプ51aにて「NO」と判定してス
テツプ51b、51cの処理を実行しないでプログ
ラムをステツプ51aに進める。このことは、サ
ステインペダル12が踏込まれていないときに
は、最低音検出が行われないことを意味する。
次に、CPU14bは、ステツプ52aにて新た
に押された鍵を示すキーデータKD中のキーコ
ードKCを一般レジスタ領域GNRから再び読出
し、読出したキーコードKCを右へ4ビツトシ
フトすることによりこのキーコードKCの値を
「16」で割算してこの割算結果を変数WGHTと
して設定し、ステツプ52bにて「8」から前記
変数WGHTの値を減算して、この減算結果を
上述の「割当てchサーチ」プログラムにより
設定された割当てチヤンネル番号データ
ACHNの示すチヤンネルにおける優先順位デ
ータPRD(ACHN)として設定する。これによ
り、優先順位データPRD(ACHN)は、キーコ
ードKCの値に応じて、音名A0〜A8に渡り16音
毎に「1」ずつ減少する「7」〜「2」のいず
れかの値に設定され、このことは押鍵時に設定
される優先順位データPRDが低音程割当て優
先順位が低く重み付けされることを意味する。
さらに、CPU14bは、ステツプ53aにて前
記新たに押された鍵を示すキーデータKD中の
キーコードKCと値「60」とを比較し、キーコ
ードKCが値「60」より小さければステツプ
53bにて上記ステツプ52bにて設定した優先順
位データPRD(ACHN)に「32」を加算し、キ
ーコードKCが値「60」以上であればステツプ
53cにて前記優先順位データPRD(ACHN)に
「26」を加算する。この値「60」は音高C4を
示すキーコードKCに相当し、これにより音高
C4を境に、前記優先順位データPRD
(ACHN)はさらに低音程割当て優先順位が低
く重み付けられ、その値は、第10図に示すよ
うに新たに押されたキーコードKCに応じて、
音高A0〜C8に渡り「39」〜「37」、「31」〜
「28」のいずれかとなる。
上記優先順位データPRDの設定後、CPU1
4bはステツプ54a、54bにて新たに押された
鍵を示すキーデータKD及び該鍵の鍵タツチ強
さを示すタツチデータTDを一般レジスタ領域
GNRから再び読出して、これらのデータKD、
TDを各々割当てキーデータレジスタ領域
AKDR及び割当てタツチデータレジスタ領域
ATDR内の上記割当てチヤンネル番号データ
ACHNが示すチヤンネルに対応する位置に書
込むことにより、押鍵割当てに伴う割当てキー
データAKD(ACHN)及び割当てタツチデー
タATD(ACHN)の設定を実行する。
次に、CPU14bはステツプ55aにて再び上
記タツチデータTDを一般レジスタ領域GNRか
ら再度読出し、読出したタツチデータTDを右
へ4ビツトシフトすることによりこのタツチデ
ータTDを「16」で割算してこの割算結果を変
数WGHTとして設定し、ステツプ55bにて上
記音高による重み付けした優先順位データ
PRD(ACHN)に変数WGHTを加算すること
により、優先順位データPRD(ACHN)をタツ
チデータTDの値が大きい程割当て優先順位が
低くなるように重み付けして、ステツプ56にて
「割当てchデータ設定」プログラムの処理を終
了する。なお、上述の音高及び鍵タツチ強さに
基づく優先順位データPRD(1)〜PRD(N)の重
み付けは、上記ステツプ52a、55aの割算値の
変更及びステツプ53aの比較値の変更により
種々に変更されるものである。また、鍵タツチ
検出回路10bがなくてタツチデータTDが得
られない場合又は鍵タツチ強さの楽音の減衰時
間に与える影響が小さくてタツチデータTDに
応じて優先順位データPRD(1)〜PRD(N)の重
み付けを特に必要としない場合、CPU14b
は第9図に破線にて示すようにステツプ54b
の処理後、ステツプ55a、55bを処理を経ない
で、ステツプ56にてこのプログラムの実行を
終了するようにしてもよい。
上記「割当てchデータ設定」プログラムの
実行を終了すると、CPU14bは、第6図の
ステツプ60にプログラムを進め、ステツプ60に
て再び一般レジスタ領域GNRからキーデータ
KDとタツチデータTDを読出して楽音発生回
路13に出力するとともに、割当てチヤンネル
レジスタ領域ACHRから割当てチヤンネル番
号データACHNを読出して楽音発生回路13
に出力する。これにより、楽音発生回路13は
マイクロコンピユータ部14から鍵盤10にて
新たに押された鍵を表すキーデータKD、該鍵
のタツチ強さを表すタツチデータTD及び楽音
を発生すべき楽音発生チヤンネルを示すチヤン
ネル番号データCHNを入力することになり、
同回路13はこのチヤンネル番号データCHN
に基づき楽音を発生すべき楽音発生チヤンネル
を指定し、この指定された楽音発生チヤンネル
が上記キーデータKD中のキーオンデータKO
(“1”)に基づき、キーデータKD中のキーコ
ードKCにより指定された音高の楽音信号を発
生し始める。また、この楽音信号のエンベロー
プはそのアタツクレベルALがタツチデータに
応じて決定され、かつその減衰時定数DTがキ
ーコードKCに応じて決定される。このとき、
同楽音発生チヤンネルがいまだ他の楽音信号を
発生中であれば、この他の楽音信号の発生は停
止されて上記設定される音高の楽音信号の発生
を開始する。なお、上記のように他の楽音信号
から新たに指定された音高の楽音信号への切換
え時には、新たな音のアタツク感を確保しかつ
クリツク音の発生を防止するために、他の楽音
信号を所定の時定数で急速に減衰させた後上記
切換えを行うようにするとよい。
上記楽音発生回路13への新たに押された鍵
に関するデータの送出を終了すると、CPU1
4bはプログラムをステツプ32に進め、上述の
ようにステツプ32にて押鍵及び操作検出レジス
タ領域KOR内の押鍵イベントデータKEVT1の
有無を調べ、押鍵イベントデータKEVT1がま
だ存在する場合には、ステツプ40の「割当て
chサーチ」プログラム、ステツプ50の「割当
てchデータ設定」プログラム及びステツプ60
の処理からなる押鍵イベント処理ルーチンによ
り次の押鍵イベントデータKEVT1に対応する
押鍵に関するデータを楽音発生回路13に出力
し、押鍵イベントデータKEVT1がなくなるま
で上記押鍵イベント処理ルーチンの循環処理を
実行し続ける。この循環処理により押鍵イベン
トデータKEVT1が全て処理されると、CPU1
4bはステツプ32にて「NO」と判断し、プロ
グラムをステツプ33に進め、押鍵及び操作検出
レジスタ領域KOR内に離鍵イベントデータ
KEVT2が存在しなければステツプ33にて
「NO」と判定し、ステツプ34の処理により鍵
処理ルーチンの実行を終了し、離鍵イベントデ
ータKEVT2が存在すればステツプ33にて
「YES」と判定し、ステツプ70〜73からなる離
鍵イベント処理ルーチンにプログラムを進め
る。
この離鍵イベント処理ルーチンでは、CPU
14bはステツプ70にて押鍵及び操作レジスタ
領域KORから、キーデータKDからなる一つの
離鍵イベントデータKEVT2を読出して、一般
レジスタ領域GNRに今後処理するキーデータ
KDとして記憶した後、ステツプ71にて上記レ
ジスタ領域KORの読出した離鍵イベントデー
タKEVT2を消去する。次に、CPU14bは前
記記憶したキーデータKDを読出し、このキー
データKDのキーコードKCと同じキーコード
KCを有しかつキーオンデータKOが“1”で
ある割当てキーデータAKDを、割当てキーデ
ータレジスタ領域AKDRに記憶されている割
当てキーデータAKD(1)〜AKD(N)の中から
探し出し、探し出した割当てキーデータAKD
のキーオンデータKOを“0”に設定変更し、
ステツプ73にてキーオンデータKOを“0”に
設定変更したキーデータKD及び該キーデータ
KDが記憶されていたチヤンネルを表すチヤン
ネル番号データCHNを楽音発生回路13に出
力する、これにより、楽音発生回路13は前記
チヤンネル番号データCHNにて指定される楽
音発生チヤンネルにて発生中の楽音信号の減衰
を制御する。このとき、後述するサステインペ
ダル処理ルーチンにて設定されるサステインデ
ータSUSが“0”であるば上記減衰は第3A
図に破線で示すように急速に進み、またサステ
インデータSUSが“1”であれば上記減衰は
第3A図に実線にて示すように緩やかに進む。
このステツプ73の処理後、CPU14bはプ
ログラムをステツプ32に進め、ステツプ32にて
「NO」と判定し、押鍵及び操作検出レジスタ
領域KORの離鍵イベントデータKEVT2がなく
なるまでステツプ32、33、70〜73の循環処理を
実行し、離鍵イベントデータKEVT2がなくな
ると、ステツプ33にて「NO」と判定し、ステ
ツプ34の処理にて鍵処理ルーチンの実甲を終了
して第5図のステツプ23のサステインペダル処
理ルーチンの実行に移る。
d サステインペダル処理動作 サステインペダル12の踏込み又は踏込み解
除に伴うサステインペダル処理動作について詳
述すると、第5図のステツプ23のサステインペ
ダル処理のプログラムは第11図のフローチヤ
ートに詳細に示されている。このプログラムに
おいては、CPU14bはステツプ80にてプロ
グラムの実行を開始し、ステツプ81にてサステ
インペダルスイツチ回路12aからサステイン
ペダル12の現状態を示す現状態データを読込
み、ステツプ82a、82bにて一般レジスタ領域
GNRに記憶されているサステインペダル12
の以前の状態を示すサステインデータSUSと
上記現状態データとを比較することによりサス
テインペダル12の状態変化を検出する。
サステインペダル12が以前踏込まれておら
ず新たに踏込まれた場合、サステインデータは
“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がなければ、CPU
14bはステツプ84aにて「NO」と判定し、
ステツプ84cにて一般レジスタ領域GNR内の最
低音キーコードLKCを鍵盤10における最高
音C8のキーコードKC(108)よりも大きい値、
例えば「128」に設定する。これにより、サス
テインペダル12が踏込まれた時点で鍵盤10
にて押されている鍵があれば、この鍵の中から
最低音が検出され、押されている鍵がなければ
最低音が検出されないことになる。なお、ステ
ツプ84cにて最低音キーコードLKCを鍵盤10
における最高音C8のキーコードKC(108)より
大きく設定したのは、サステインペダル12が
踏込み状態にあるときに新たな鍵が押された場
合、上述の第9図のステツプ51a〜51cの処理
により該新たな鍵が最低音として検出されるよ
うにするためである。
上記最低音キーコードLKCの設定後、CPU
14bはステツプ85にてサステインデータ
SUS(=“1”)を楽音発生回路13に出力し、
ステツプ86の処理によりサステインペダル処理
ルーチンの実行を終了する。楽音発生回路13
は、このサステインデータSUS(=“1”)を記
憶し、以降このサステインデータSUS(=
“1”)が変更されるまで各楽音発生チヤンネル
にて発生される楽音の減衰特性を同データ
SUS(=“1”)に基づき制御し、これにより、
該楽音は離鍵されても第3A図に実線で示すよ
うにゆつくりと減衰するようになる。
サステインペダル12が以前踏込まれており
新たに踏込みが解除された場合、一般レジスタ
領域GNRに記憶されているサステインデータ
SUSは“1”であり、上記ステツプ81にて取
込んだサステインペダル12の現状態データは
“0”であるので、CPU14bはステツプ82a
にて「NO」すなわちオンイベント無しと判定
し、ステツプ82bにて「YES」すなわちオフイ
ベント有りと判定して、ステツプ83bにてサス
テインデータSUSを“0”に設定変更し、ス
テツプ84dにて一般レジスタ領域GNR内の最低
音キーコードLKCを鍵盤10における最低音
A0のキーコードKC(21)より小さな値、例え
ば「1」に設定する。このように、最低音キー
コードLKCを鍵盤10の鍵を表すキーコード
KCとして利用されていない値「1」に設定す
ることは、サステインペダル12が踏込まれて
いないときには最低音キーコードLKCをクリ
アしておくことを意味する。このステツプ84d
の処理後、CPU14bはステツプ85にて、上
記と同様に、サステインデータSUS(=“0”)
を楽音発生回路13に出力し、ステツプ86の処
理によりサステインペダル処理ルーチンの実行
を終了する。楽音発生回路13はサステインデ
ータSUS(=“0”)を記憶し、以降このサステ
インデータSUS(=“0”)が変更されるまで各
楽音発生チヤンネルにて発生される楽音の減衰
特性を同データSUSの値“0”に基づき制御
し、これにより該楽音は離鍵されると第3A図
に破線で示すように急速に減衰するようにな
る。
さらに、サステインペダル12の状態が変化
しない場合には、一般レジスタ領域GNRに記
憶されているサステインデータSUSと上記ス
テツプ81にて取込んだサステインペダル12の
現状態データは同じであり、CPU14bは、
ステツプ82aにて「NO」すなわちオフイベン
ト無しと判定しし、ステツプ82bにて「NO」
すなわちオフイベント無しと判定してステツプ
86の処理によりこのサステインペダル処理ルー
チンの実行を終了する。
e 実施例の効果 以上の説明からも理解できる通り、上記実施
例においては、割当て優先順位を決定するため
の優先順位データPRD(1)〜PRD(N)は押鍵検
出によつてのみ設定され、楽音発生回路13か
らの発生楽音の音量を示すエンベロープ振幅値
データ等を必要としないので、この実施例に係
る押鍵割当て装置は低コストにて実現される。
また、上記優先順位データPRD(1)〜PRD(N)
は、押鍵時に、第9図のステツプ52a、52b、
53a、53b、53cの処理により音高が低くなるに
従つて大きくなる値に初期設定され(第10図
参照)、かつ第9図のステツプ55a、55bの処理
により鍵タツチ強さが大きくなるに従つて大き
くなる値に初期設定されて、この初期設定され
た優先順位データPRD(1)〜PRD(N)は第7図
のステツプ42の処理により各データとも押鍵毎
に一率に減ぜられ、この減ぜられた優先順位デ
ータPRD(1)〜PRD(N)に基づいてステツプ
45a、45b、45dの処理により小さな値の優先順
位データPRDを記憶するチヤンネルが、新た
な鍵が押されたときの該鍵の割当てチヤンネル
として決定されるので、該新たに押された鍵
は、音高が低くかつ鍵タツチ強さが大きくなる
に従つてその減衰時間が長くなる楽音を発生中
のチヤンネルには割当てられにくくなり、割当
て優先順位決定が押鍵順のみにより決定される
ものに比べて適切になる。
また、トリル演奏等のように所定数(楽音発
生チヤンネル数N)の押鍵操作の間に同一鍵が
2回以上繰返し押された場合、第7図のステツ
プ43a、43bの処理により該鍵は2チヤンネル
まで割当てを許容されるので、同一鍵に関する
楽音が2チヤンネルで同時に発生されて、例え
ばピアノ等の自然楽器に見られるように発音源
である弦は後の打鍵に関する楽音を発生してい
るにもかかわらず、響板等の共鳴装置が前の打
鍵に関する楽音を発生するような効果がより良
くシユミレートできる。また、所定数(楽音発
生チヤンネル数N)の押鍵操作の間に同一鍵が
3回以上繰返し押された場合には、第7図のス
テツプ45c及び第8図のタイマ割込みプログラ
ムの処理により、鍵タツチ強さと押鍵からの時
間経過とを考慮して以前に押された同一鍵が割
当てられているチヤンネルに該鍵が再度割当て
られるようにしたので、同一限が連続して何回
も繰返し押されても全て若しくは大部分の楽音
発生チヤンネルが同一鍵により専有されてしま
うことがなく、しかも同一鍵が割当てられてい
るチヤンネル中では小さな音量の方に新たに押
された鍵の割当てがなされるので、この割当て
も適切なものとなる。なお、この同一鍵の重複
割当てはサステインペダル12が踏込まれてい
て、楽音の減衰時間が長い場合程、より大きな
効果となつて現われる。
さらに、サステインペダル12が踏まれてい
て、発生楽音の減衰時間が長い場合、第9図の
ステツプ51b、51c及び第11図のステツプ
84b,84cの処理により最低音が検出され、第
7図のステツプ44a、44b、45a、45bの処理に
より最低音が割当てられているチヤンネルには
新たに押された鍵の割当てが禁止されるように
なつているので、該最低音は引続き発生され続
けることになり、ピアノ等で見られるように、
低音部の楽音の余韻を残したまま高音部の速い
押鍵による楽音を次々に発生させることができ
る。また、サステインペダル12が踏込まてて
いず発生楽音の減衰時間が短い場合、第11図
のステツプ84dの処理により最低音が検出され
ないように最低音キーコードLKCがクリアさ
れるので、減衰時間が短く低音部(特に最低
音)の余韻が残らない場合には、上記割当て禁
止が解除されて新たに押された鍵の割当てが不
必要に制限されない。これにより、全てお楽音
発生チヤンネルが有効に利用される。
e 他の実施例 上記実施例においては、楽音発生回路13が
ピアノ、ハープシコード等の減衰系の楽音を発
生する電子楽器にこの発明に係る押鍵割当て装
置が適用された例について説明したが、この発
明に係る押鍵割当て装置は、楽音発生回路13
がフルート、バイオリン等の持続系の楽音を発
生する電子機器にも適用される。この場合、エ
ンベロープ波形振幅値は、第3B図に実線にて
示すように、押鍵と同時に急速に立上がり、押
鍵中はほぼ一定レベルSLを維持し、離鍵後減
衰時定数DTに応じて徐々に減衰するものであ
り、この場合には楽音の減衰時間が押鍵タイミ
ングにより決定されないで離鍵タイミングによ
り決定されるので、優先順位データPRD(1)〜
PRD(N)の減算は離鍵されているチヤンネル
においてのみ離鍵毎に実行されるようにする。
すなわち、第7図のステツプ42の処理を「割当
てchサーチ」プログラムにおいて実行する代
わり、第6図のステツプ70〜73からなる離鍵イ
ベント処理ルーチンにて離鍵されているチヤン
ネルにおいてのみ実行するようにするまた、持
続系の楽音のエンベロープ波形振幅値において
は、前記減衰時定数DTが音高が低くなるに従
つて第3B図に一点鎖線で示すように変化し、
かつ前記一定レベルSLは鍵タツチ強さが大き
くなるに従つて第3B図に二点鎖線で示すよう
に変化する。さらに、持続系の楽音を制御する
ために利用される鍵タツチ検出装置は通常押鍵
深さ又は押鍵圧力を押鍵中検出し続けるいわゆ
るアフタータツチセンサにより構成することも
でき、前記一定レベブSLはこの検出効果に基
づき変更制御されるので、この種のタツチ検出
装置を有する電子楽器にこの発明に係る押鍵を
割当て装置を適用する場合、鍵タツチ強さによ
る優先順位データPRD(1)〜PRD(N)の重み付
けは離鍵時に行うようにする。すなわち、第9
図のステツプ55a、55bの処理は第6図のステ
ツプ72又はステツプ73の処理後に実行するよう
にし、この場合には割当てチヤンネル番号デー
タACHNではなく、ステツプ72にて検出され
る離鍵チヤンネルにより指定されるチヤンネル
の優先順位データPRDを鍵タツチ強さに応じ
て重み付けするとよい。
また、上記実施例においては、各鍵毎に設け
られた押鍵速度検出回路又は押鍵圧力検出回路
から各鍵タツチ強さを表す信号が出力されるよ
うにしたが、各鍵毎に第1及び第2の固定接点
と押鍵操作により可動する可動接点を備えた切
換え型のスイツチを有し、押鍵操作に応じて可
動接点が第1の固定接点から第2の固定接点に
切換わる時間を計数手段により計測して押鍵速
度を検出し、又は各鍵毎に固定接点と押鍵操作
に応じて可動する可動接点とを備えた2組のス
イツチを有し、押鍵操作に応じて2組のスイツ
チが各々閉成(又開成)されるタイミング差を
計数手段により計測して押鍵速度を検出する場
合には、前記計数手段を楽音発生チヤンネル数
分だけ用意するようにし、押鍵割当てとともに
前記計数手段の割当てを行うようにして該計数
手段の計数結果に応じて押鍵に伴う鍵タツチ強
さを表すデータを得るようにしてもよい。
また上記実施例では、鍵盤10にて押された
鍵は楽音発生チヤンネルのいずれか一つに割当
てられ、該楽音発生チヤンネルは操作子群11
の操作により選択された一つの楽音を発生する
ようにしたので、優先順位データPRD(1)〜
PRD(N)を音色に応じて重み付けしなかつた
が、この発明に係る押鍵割当て装置を一押鍵に
対して異なる音色に複数の楽音発生チヤンネル
への割当てを行うようにした電子楽器に適用し
た場合、音色毎に減衰時定数DTは変化するの
で上記音色毎の割当てと同時に優先順位データ
PRD(1)〜PRD(N)を割当て音色に応じて重み
付けするようにするとよい。
なお、上記実施例においては、割当て優先順
位を表す優先順位データPRD(1)〜PRD(N)に
基づいて「割当てchサーチ」プログラムのス
テツプ45a、45b、45d(第7図)の処理により
新たに押された鍵の割当てチヤンネルを決定す
るようにしたが、上記〔従来技術〕の項で引用
した特開昭52−22238号公報に示されるように、
楽音発生回路13にて発生されている実際の楽
音の音量レベルが最小である楽音発生チヤンネ
ルを探し出すことにより、前記割当てチヤンネ
ルを決定するようにしてもよい。この場合、
CPU14は、上記ステツプ45a、45b、45dに
て、上記実施例のような優先順位データPRD
(1)〜(N)を最小値を検出する処理に換え、楽
音発生回路13の各楽音発生チヤンネルにおけ
る楽音の音量レベル制御用のエンベロープ波形
振幅値を各々比較し、エンベロープ波形振幅値
が最も小さい(最低音量レベルの)楽音発生チ
ヤンネルを検出して該チヤンネルを割当てチヤ
ンネル番号データACHNとして決定するよう
にするとよい。
また、上記実施例においては、サステインペ
ダル12が踏み込まれていない状態において
は、第11図のステツプ84dの処理により最低
音キーコードLKCをクリアすることにより割
当てキーデータAKD(1)〜AKD(N)の中から
最低音が検出されないようにして、第7図のス
テツプ44a、45bの処理により最低音に対応す
る鍵が割当てられている楽音発生チヤンネルに
も新たに押された鍵が割当てられる。すなわち
上記楽音発生チヤンネルを他の楽音発生チヤン
ネルとは区別せず、新たに押された鍵の割当て
られるべき楽音発生チヤンネルが所定の優先順
位に基づき全ての楽音発生チヤンネルの中から
決定されるようにしたが、このことは第7図の
「割当てchサーチ」プログラムを第12図のフ
ローチヤートにより表されたプログラムのよう
に変形しても実現される。この第12図のフロ
ーチヤートに対応するプログラムにおいては、
第7図の場合に比べ、ステツプ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に
基づき割当てチヤンネルが決定される。これに
より、上記実施例と同等な効果が達成される。
また、上記実施例では、サステインペダル1
2が踏まれている状態にて最低音に対応する鍵
が割当てられている楽音発生チヤンネルのみ新
たに押された鍵の割当てを禁止するようにした
が、最低音キーコードLKCの設定処理及び第
7図(又は第12図)のステツプ44a、45bの
処理を変更することにより、上記鍵が、 (1) 最高音に対応する鍵が割当てられている楽
音発生チヤンネル、 (2) 低音側又は高音側から2音若しくは3音に
対応する鍵が割当てられている楽音発生チヤ
ンネル、 (3) 最低音又は最高音から所定音域例えば1乃
至2オクターブ程度の所定音域に含まれる音
に対応する鍵が割当てられている楽音発生チ
ヤンネル、 (4) 所定音域(例えば低音域、中音域、高音
域)に属する音に対応する鍵が割当てられて
いる楽音発生チヤンネル、または、 (5) 上記(1)〜(4)を各々組合わせた楽音発生チヤ
ンネル、 には、割当てられないようにしてもよい。この
場合、上記楽音発生チヤンネルにて発生される
楽音の減衰時間を長くする(減衰時定数DTを
大きくする)ことにより、上記楽音を他の楽音
に比べ長く発生させ続けることができ、今まで
にない演奏効果が達成される。なお、サステイ
ンペダル12の踏込み又は踏込み解除には関係
なく楽音の減衰時間がある程度長い場合又はサ
ステインペダル12がない場合には、サステイ
ンペダル12の状態を上記割当て禁止の条件と
する必要はない。
さらに、上記実施例では、この発明に係る押
鍵割当て装置を既存のマイクロコンピユータを
用いで構成するようにしたが、この押鍵割当て
装置を上記実施例のプログラムの各処理に応じ
た機能を有する各電気回路を組合せたハード回
路により構成するようにしてもよい。
【図面の簡単な説明】
第1図は特許請求の範囲に記載した発明の構成
に対応する図、第2図はこの発明が適用される電
子楽器の一実施例を示す概略図、第3A図及び第
3B図は楽音のエンベロープ波形を示す図、第4
A図乃至第4F図は第2図のマイクロコンピユー
タ部14内に設けられたRAM14cのメモリマ
ツプの一例を示す図、第5図乃至第9図及び第1
1図は第2図のマイクロコンピユータ部14で実
行されるプログラムに対応するフローチヤートの
一例を示す図、第10図は音高に対応する優先順
位データの初期値の一例を示す図、及び第12図
は第7図に示されたプログラムを一部変形した変
形プログラムに対応するフローチヤートの一例を
示す図である。 符号の説明、10……鍵盤、10a……鍵スイ
ツチ回路、10b……鍵タツチ検出回路、11…
…操作子群、11a……操作子スイツチ回路、1
2……サステインペダル、12a……サステイン
ペダルスイツチ回路、13……楽音発生回路、1
4……マイクロコンピユータ部。

Claims (1)

  1. 【特許請求の範囲】 1 鍵盤にて押された鍵を鍵の数より少ない複数
    の楽音発生チヤンネルのいずれかに割当てる電子
    楽器の押鍵割当て装置において、 前記鍵盤の鍵を表すとともに前記楽音発生チヤ
    ンネルにて発生されるべき楽音の音高を指定する
    キー情報を各々前記各楽音発生チヤンネルに対応
    して記憶する複数の記憶チヤンネルからなるキー
    情報記憶手段と、 前記鍵盤にて新たに押された鍵を表すキー情報
    と同一キー情報を記憶している前記記憶チヤンネ
    ルの数を検出するチヤンネル数検出手段と、 前記検出した記憶チヤンネルの数が2以上かつ
    前記楽音発生チヤンネルの数未満の所定整数値よ
    り小さいとき前記新たに押された鍵を表すキー情
    報を前記記憶チヤンネルのうちのいずれかに記憶
    させることにより前記新たに押された鍵の割当て
    を制御し、かつ前記検出した記憶チヤンネルの数
    が前記所定整数値以上のとき前記新たに押された
    鍵を表すキー情報を該キー情報と同一キー情報を
    記憶している前記記憶チヤンネルのうちのいずれ
    かに記憶させることにより前記新たに押された鍵
    の割当てを制御する割当て制御手段と を備えたことを特徴とする電子楽器の押鍵割当て
    装置。
JP61108986A 1986-05-13 1986-05-13 電子楽器の押鍵割当て装置 Granted JPS6291996A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61108986A JPS6291996A (ja) 1986-05-13 1986-05-13 電子楽器の押鍵割当て装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61108986A JPS6291996A (ja) 1986-05-13 1986-05-13 電子楽器の押鍵割当て装置

Publications (2)

Publication Number Publication Date
JPS6291996A JPS6291996A (ja) 1987-04-27
JPH0335679B2 true JPH0335679B2 (ja) 1991-05-29

Family

ID=14498688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61108986A Granted JPS6291996A (ja) 1986-05-13 1986-05-13 電子楽器の押鍵割当て装置

Country Status (1)

Country Link
JP (1) JPS6291996A (ja)

Also Published As

Publication number Publication date
JPS6291996A (ja) 1987-04-27

Similar Documents

Publication Publication Date Title
EP0204122B1 (en) Electronic musical instrument
JPH03174590A (ja) 電子楽器
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
JP2664098B2 (ja) 電子楽器のペダル装置
JPH0128397B2 (ja)
JP2531317B2 (ja) 電子楽器の押鍵割当て装置
JPH04198994A (ja) 電子楽器の楽音制御方法
JPH0335680B2 (ja)
JP3624780B2 (ja) 楽音制御装置
JPH0572596B2 (ja)
JPS6291996A (ja) 電子楽器の押鍵割当て装置
JP2526636B2 (ja) 電子楽器
JP7722090B2 (ja) 電子楽器、方法及びプログラム
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JP3194850B2 (ja) 自動演奏機能を有する電子楽器
JP2640267B2 (ja) 電子楽器
JPH0515279B2 (ja)
JPH0127439B2 (ja)
JPH0746271B2 (ja) 楽音信号発生装置
JPH0127438B2 (ja)
JP3143039B2 (ja) 自動演奏装置
JP2685419B2 (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JPH08278781A (ja) 音源モジュール
JPH05281967A (ja) 電子楽器のキーアサイナ
JP3090589B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term