JPS6222157B2 - - Google Patents

Info

Publication number
JPS6222157B2
JPS6222157B2 JP54049228A JP4922879A JPS6222157B2 JP S6222157 B2 JPS6222157 B2 JP S6222157B2 JP 54049228 A JP54049228 A JP 54049228A JP 4922879 A JP4922879 A JP 4922879A JP S6222157 B2 JPS6222157 B2 JP S6222157B2
Authority
JP
Japan
Prior art keywords
key
channel
released
stored
code
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
Application number
JP54049228A
Other languages
English (en)
Other versions
JPS55140893A (en
Inventor
Sadaaki Ezawa
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP4922879A priority Critical patent/JPS55140893A/ja
Publication of JPS55140893A publication Critical patent/JPS55140893A/ja
Publication of JPS6222157B2 publication Critical patent/JPS6222157B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】
本発明はデジタル処理で楽音を発生する方式の
鍵盤楽器、およびアナログ処理で楽音を発生する
方式の多音シンセサイザ等において有用なチヤン
ネル重み番号を用いた鍵盤スイツチ情報の割当方
式に関するものである。 従来、これらの電子鍵盤楽器において、アナロ
グ処理楽音発生方式で通常行なわれているよう
に、鍵盤上のそれぞれのスイツチに対応して楽音
発生手段を設けることは徒らにシステムを複雑化
して実用に程遠い構成となる。この問題を解決す
るために、演奏者に制約を加えることがない程度
に同時発音数を制限することが一般に行なわれて
いる。すなわち、同時発音数だけ用意された楽音
発生手段に対応して設けられた割当用メモリに割
当装置によつて鍵盤スイツチ情報を記憶させ所望
とする楽音を得る方式である。このような割当装
置を実用化するに際し、多数の個別部品の集合体
の代りに集積回路(IC)化が行なわれ、さらに
これらを量産化により低価格とするため、多種多
様の電子鍵盤楽器に共通に使用できることが望ま
しい。 しかし、一般に電子鍵盤楽器においては機種が
大形になれば鍵盤スイツチ数と鍵盤の段数は共に
増加し、小形になればともに減少する。すなわ
ち、鍵盤スイツチ数は61,49,44,37,25,13に
亘り、鍵盤の段数は1〜3またはそれ以上に及
ぶ。これらに同一の割当装置を適用すると、その
経済性の向上に反しきわめて冗長性の高いものに
なる。さらに、大形機種の演奏者と小形機種の演
奏者とではその演奏能力に大きな差があり、同時
発音数の制限もそれぞれの能力に合せて設定する
ことが望まれ、この点からも同一の割当装置の適
用には無理があつた。 一方、割当装置のアルゴリズムは現時点では確
立されていないので、設計製作した割当装置が後
日演奏者に思いがけない制約を与えることとな
り、割当方法の変更を余儀なくされることもしば
しば起り、集積化に際し常に全面破棄の危険性を
含んでいる。そこで仕様変更が容易な割当装置の
実現が望まれる。さらにデジタル処理の鍵盤楽器
では楽音エンベロープ発生器も当然、デジタル処
理されているので、発音の停止時、すなわち離鍵
された後、楽音が漸次減衰していき発音が停止す
る時点に示すリリースエンド信号の発生は容易で
あり、この信号により対応する割当装置内の鍵盤
スイツチ情報を消去すればよいが、アナログ処理
の多音シンセサイザでは楽音エンベロープ発生器
もアナログ処理のものが多く、リリースエンド信
号を発生するためには、楽音エンベロープが発音
停止を示すレベルまで達したかどうかを判定する
アナログコンパレータを同時発音数だけ用意する
必要があり、大きな経済的負担となる。このこと
から楽音エンベロープ発生器から割当装置へのフ
イードバツクを必要としない、換言すれば、リリ
ースエンド信号を必要としないような割当方法が
要望されていた。 本発明の目的は割当方法の仕様変更が容易でし
かも十分経済性があり、さらに楽音エンベロープ
発生器からのフイードバツク信号を全く必要とし
ないような鍵盤スイツチ情報の割当方式を提供す
ることである。 前記目的を達成するため、本発明の鍵盤スイツ
チ情報の割当方式は、同時発音数だけ設けたアサ
インメントメモリの複数のチヤンネルは、オン/
オフビツト、鍵コード、チヤンネル重み番号で構
成され、各チヤンネルに収納されている鍵コード
に対応する鍵が離鍵されたとき、減衰開始後から
の発音の減衰持続時間の長短に関連してあらかじ
め設定されたチヤンネル重み番号のうち、離鍵さ
れた鍵に対応するチヤンネル重み番号を離鍵され
た鍵コードが収納されているチヤンネルにそれぞ
れ対応して収納し、鍵操作により発生するイベン
ト処理に応じて推移するこのチヤンネル重み番号
により新たに押鍵された鍵の鍵コードを収納する
チヤンネルを選択するに際し、離鍵状態でかつ最
もチヤンネル重み番号の推移が進んでいるチヤン
ネルに優先的に格納することを特徴とするととも
に、さらに前記新たに押鍵された鍵の鍵コードが
アサインメントメモリの離鍵状態のチヤンネルに
既に残存しているときは、そのチヤンネルのオ
ン/オフビツトを押鍵状態にすることを特徴とす
ることを特徴とするものである。 以下本発明を実施例につき詳述する。 第1図は本発明の実施例の構成を示す説明図で
ある。同図において、鍵盤回路10は割当装置で
あるアサイナ20より上鍵盤、下鍵盤、足鍵盤を
区分する鍵盤コード(2ビツト)と音域を区分す
るオクターブコード(3ビツト)を含む5ビツト
の信号を受けとり、これにより任意の鍵盤の任意
のオクターブに対応する鍵情報(C,C#,D…
…,Bに対応する12ビツト)をアサイナ20に送
出する。鍵盤コード、オクターブコードの詳細を
次表に示す。すなわち、第1表は鍵盤ビツト
DIV1,DIV2に対し、第2表はオクターブビツト
OCT1〜OCT3に対し付与したものである。 アサイナ20は情報処理装置(CPU)21と
これを駆動するCPUクロツク発生器22とプロ
グラム23とアサインメントメモリ24、イベン
トメモリ25、
【表】
【表】 チヤンネル重み設定番号メモリ26より成る。 CPU21はその内部レジスタの1つを鍵盤コ
ード、オクターブコードの作成に使用し、このレ
ジスタの値をインクリメントして出力ポート1を
通し鍵盤回路10に出力する。以下このレジスタ
をODレジスタという。鍵盤回路10は即時指定
された鍵盤、指定されたオクターブの鍵情報をア
サイナ20に送出する。アサイナ20ではこれを
入力ポート1より入力し、前回走査した時に残さ
れた鍵情報を記憶したイベントメモリ25内の対
応する鍵盤、オクターブの鍵情報と比較し、変化
の有無を調べる。この場合の変化を以下イベント
と称する。前回走査した時と比較して鍵盤スイツ
チの開閉状態が異なつていた場合はイベントが存
在した状態であり、逆に開閉状態に変化がなけれ
ばイベントがなかつたことになる。イベントがな
ければ再びODレジスタの値をインクリメントし
て鍵盤回路10に出力し次へ移る。イベントがあ
つた場合は同一鍵コードが既にアサインメントメ
モリ24に書き込まれていないか、ON(オン)
からOF(オフ)のイベントか、OFFからONの
イベントか等を調べ、もし、アサインメントメモ
リ24に書き込まれていない鍵コードのイベント
ならば、この鍵コードをアサインメントメモリ2
4のチヤンネルにおいて離鍵状態のものを選択し
て書き込みON/OFFビツトをON記号とし、ま
た既に書き込まれている鍵コードのイベントなら
ば、この鍵コードのON/OFFビツトを反転す
る。これは、もし既に書き込まれている鍵コード
のイベントも、離鍵状態のチヤンネルを減衰の進
み具合を基準にして選択して書き込めば、楽音の
減衰持続時間が長く設定されている場合には、同
一鍵の押鍵、離鍵を速く繰り返すと全チヤンネル
に同じ鍵コードが収納されることになり、これら
の減衰音が重なつて実際の楽器の発音状態とは異
なつてしまうからである。減衰持続時間が短い場
合はこのような考慮は不要である。そして、上
鍵、下鍵、足鍵と一通り走査したならば、アサイ
ンメントメモリ24の内容のうち必要とされるも
のを他のブロツク、たとえば図に点線で示す楽音
エンベロープ発生器31、楽音周波数発生器3
2、楽音波形発生器33等に転送する。 本発明では鍵コードを離鍵状態のチヤンネルに
書き込む際、どのチヤンネルに書き込むかを決定
する基準としてチヤンネル重み番号(以下SNと
する。)の推移を考える。すなわち、各チヤンネ
ルに格納されている鍵コードに対応する鍵が離鍵
されたならば、離鍵後からの発音の減衰持続時間
の長短に関連してあらかじめ設定されたチヤンネ
ル重み設定番号(以下SNSETとする。)のうち、
離鍵された鍵に対応するものを各チヤンネルにそ
れぞれ対応して収納する。SNSETは減衰持続時間
制御スイツチの操作により、またはあらかじめ決
まつた値としてチヤンネル重み設定番号メモリ2
6内に格納する。第3表に全11チヤンネルのアサ
インメントメモリ24におけるSNの推移の途中
経過t1,t2,t3…を示し、第2図a〜fは減衰持
続時間の長短に関連したSNSETの設定例を示す。
SNSETの設定値はアサインメントメモリ24のチ
ヤンネル数(この例では11)以内の数値を適宜割
りふる。なお△印は発音停止時点である。 第2図a〜fにおいて、押鍵、離鍵をON,
OFFとしSN=0は押圧中であることを示す。減
衰持続時間の最も短い例として同図aのEV1の楽
音エンベロープを有する鍵の離鍵に際しては
SNSET
【表】 =1を設定し、順次同図bのEV2ではSNSET
3、同図cのEV3ではSNSET=5、以下同様に同
図fのEV6ではアサインメントメモリ24のチヤ
ンネル数に等しいSNSET=11を設定する。 アサインメントメモリ24内に収納された鍵コ
ード以外の鍵コードをもつものが押圧されたな
ら、この鍵コードはSN=1が収納されているチ
ヤンネルに優先的に格納される。同図fのEV6の
ように、減衰持続時間の長いもの程大きい値の
SNSETを設定するので、このSNSETの値が1に推
移するまでの間の減衰音を保証する時間が長くな
る。SNSETの値はアサインメントメモリ24内で
のイベントの処理に応じて後述する処理過程に従
つて下つていく。この値を1まで下げるのに必要
な演奏者の鍵操作(イベント回数に等しい)は、
減衰音が十分に小さくなる前に完了することはな
いであろう。従つてSN=1のチヤンネルは減衰
音が十分小さくなつているので新たな鍵コードを
格納しても問題がない。これと逆に、同図aの
EV1のように、離鍵してすぐ発音が停止するよう
な鍵では新しい鍵コードをすぐに同じチヤンネル
に格納しても減衰音が途中で消去するような印象
を与えることがないのでSNSET=1が設定でき
る。 第3表において、1チヤンネルより順にSN=
1,2,3……を与える初期値設定の後押鍵、離
鍵操作を経て時点t1に達する。この時点t1までの
SNの推移では1チヤンネルがSN=1である。t1
時点でアサインメントメモリ24に収納されてい
た鍵コード以外の鍵コードに対応する鍵がt2時点
で押圧されると、1チヤンネルにこの鍵コードが
格納される。このチヤンネルに押圧された鍵コー
ドが既に残存しており、偶然SN=1まで推移し
ていたことも当然考えられる。この場合はt13
9チヤンネルの押圧に関して後述するように、こ
のチヤンネルのON/OFFビツトを反転してON
信号とする。 これらの押鍵と離鍵におけるチヤンネル重み番
号SNの順番を補正するため、各チヤンネルは次
のように処理される。 いま、一般表示としてSNtoをto時点のチヤン
ネル重み番号としとくにSN′toを処理がなされる
チヤンネル重み番号とすれば、to+1時点で押鍵
された場合にはこのチヤンネル重み番号SN′to+1
は0とし、他のチヤンネルではSNto>SN′toの場
合は重み番号SNto+1はSNtoより1減少した値と
し、SNto<SN′toの場合はそのままの値とする。 上述した方法を下記の表示(1),(2),(3)で表わす
ものとする。 SN′to←0 (1) SNto+1←SNto−1(SNto>SN′to) (2) SNto+1←SNto(SNto<SN′to) (3) これを第3表に適用すると、n=1のt1時点に
おいては1チヤンネルが最も優先順位が進んでい
る。すなわち、SN′t1=1が押鍵処理されると、
t2時点では表示(1)より1チヤンネルはSN′t2=0
となり、他のチヤンネルのSNt2は表示(2)によりt1
時点の重み番号SNt1の値から1減じた値とな
る。 次に1チヤンネルのt2時点の押鍵がt3時点で離
鍵されると、対応するチヤンネル重み設定番号
SNSETがチヤンネル重み設定番号メモリ26より
読み出され格納される。この場合SNSET=11なの
でEV6に相当する鍵が押圧されたことになる。そ
してこのチヤンネル重み設定番号SNSETの割り込
みに関連して各チヤンネルの重み番号SNの補正
が前述と同様に次のように行なわれる。 SN′to+1←SNSET (4) SNto+1←SNto+1(SNto≧SNSET) (5) SNto+1←SNto(SNto<SNSET) (6) すなわち、1チヤンネルではt3の離鍵時、表示
(4)よりt3時点のSN′t3はSNSET=11となり、他のチ
ヤンネルでは表示(6)によりSNt3はSNt2と同じ番
号となる。 時点t4,t5では第2図cEV3に相当する減衰持続
時間を有する3チヤンネルの鍵につき、また時点
t6,t7では同図aEV1に相当する減衰持続時間を有
する4チヤンネルの鍵についての押圧、離鍵の例
が示されている。次に時点t13,t14では時点t1の時
点でアサインメントメモリ24に残存している鍵
コードと同一のものが押圧、離鍵された例が示さ
れる。すなわち、SN=1である8チヤンネルに
はこの鍵コードは収納されず、9チヤンネルに残
存している鍵コードと同一であることが判定さ
れ、このチヤンネルのON/OFFビツトを反転し
てON信号とする。前述したように減衰持続時間
の長いものが全くない場合にはこのような処理は
不要である。 次に離鍵に際し格納されたチヤンネル重み設定
番号SNSETの他をMとする。このMの各時点の推
移値をMtとすれば、この推移値Mtが1に推移す
る条件は次式で示される。 A+B=M−1 (7) ここで、AはMtが1に推移した時点でのアサ
インメントメモリ24に収納された同時押圧鍵数
であり、BはMtが1に推移する時点までに
(SNSETt+1>Mtが成立するような鍵の押圧、離
鍵の対になつた操作がアサインメントメモリ24
で生じた回数を示す。 いま、3チヤンネルを例にとり説明すると、時
点t4,t5の押圧、離鍵により、時点t5における
SNSET=5=Mに対し他のチヤンネルは表示(5),
(6)に従い5より大きい番号では時点t4の番号に1
加算し、5より小さい番号では時点t4の番号のま
まとする。次に時点t6〜t8では4チヤンネルの押
圧、離鍵、押圧により、また時点t9では6チヤン
ネルの押圧により、さらに時点t10では5チヤン
ネルの押圧により、さらに時点t11では2チヤン
ネルの押圧により、逐次前述の表示(1)〜(3)または
表示(4)〜(6)に従つて番号の補正が行なわれる。こ
の場合、時点t8〜t11に亘り同時押圧鍵数が増加
し、A=4となる。そして時点t6,t7の押圧、離
鍵は(SNSETt+1=1、Mt=4であるから
(SNSETt+1>Mtが成立していないのでB=0と
なる。従つて式(7)においてA=4,B=0,M=
5となり4+0=5−1が成立し、1に推移す
る。 時点t12以後では2,3,4,5,6チヤンネ
ルの押圧が継続した状態が示される。 次に第3表の右欄に時点t5以後のチヤンネル重
み番号SNの他の1例を示し、ダツシユを付して
表わした時点t5′〜t12′について説明する。 同表の左欄と同様に3チヤンネルを例にとつて
説明する。この場合には3チヤンネルは時点
t5′において左欄の時点t5と同じ番号が与えられた
ものとする。そして時点t6′では4チヤンネルの
押圧により、また時点t7′〜t10′では6チヤンネル
の押圧、離鍵により、また時点t8′,t9′では5チ
ヤンネルの押圧、離鍵により、さらにt11′では2
チヤンネルの押圧により、前述の表示(1)〜(3)また
は表示(4)〜(6)に従つて番号の補正が行なわれる。
この場合時点t6′〜t11′に亘り同時押圧鍵数が増加
しA=2となる。そして時点t7′〜t10′の押圧、離
鍵は(SNSETt+1=5、Mt=2、時点t8′,t9′の押
圧、離鍵では(SNSETt+1=3,Mt=2となり何
れも(SNSETt+1>Mtを満足し、B=2となる。
従つて式(7)においてA=2,B=2,M=5とな
り2+2=5−1が成立し1に推移する。そして
時点t12′以後では2,3,4チヤンネルが押圧中
となつている。減衰持続時間の長いもの程大きい
値のSNSET=Mを設定するので、演奏中の鍵操作
によるイベント発生程度では、減衰音が十分小さ
くなる前にA+B=M−1の条件が発生しにくく
なり、従つて減衰音が途中で消去するような印象
を与えにくい。 このようにSNSETの値が何種類にも及ぶのは楽
音エンベロープが広範囲の音域に亘り大きく変化
するような楽器音(たとえばピアノ音、ハープシ
コード音)を忠実にシミユレートする場合であ
る。たとえば各音域に対しC2〜B2にはEV6,C3
〜B3にはEV5、C4〜B4にはEV4,C5〜B5には
EV3,C6〜B6にはEV2,C7以上にはEV1というよ
うにきめ細く減衰持続時間を制御する必要がある
場合、オクターブコードに応じてSNSETの値をチ
ヤンネル重み設定番号メモリ内に格納する。EV1
〜EV6は定常部を有するのでピアノ音、ハープシ
コード音に近似させるにはスタツカート奏法を行
なうか、あるいは後述する第4表のようにSNの
推移を制御する必要がある。しかしながら、一般
の電子鍵盤楽器では上鍵、下鍵、足鍵各別につき
個々の減衰持続時間を制御することは行なわれて
いるが、各々の音域を区分してこれを変化させる
ことは現実的でない。楽音エンベロープだけを実
際の音に近似してシミユレートしても、楽音その
ものが十分に実際の音に近似できない現段階では
その価格高に比べて効果が十分でなく、演奏者に
好印象を与えることがないためである。従つてこ
のような場合には上鍵、下鍵、足鍵別々に各々
SNSETの値を1つ設定すればよい。一方上鍵、下
鍵、足鍵においてEV1〜EV6のいずれが選択され
ても用意するSNSETはSNSETの最大値である11ま
で引き上げることができる。たとえば上鍵では
EV4、下鍵ではEV2、足鍵ではEV5が減衰持続時
間制御スイツチで選択されたとしよう。上鍵は
SNSET=7、下鍵はSNSET=3、足鍵はSNSET
9であるが、すべてに2を加算してその最大値を
11としてチヤンネル重み設定番号メモリ26内に
格納すればよい。この場合上鍵はSNSET=9、下
鍵はSNSET=5、足鍵はSNSET=11として処理す
ればよい。 ここでは足鍵処理も上鍵、下鍵と同様に取扱つ
たが、一般に足鍵は単音優先で充分であり、これ
を別チヤンネルを設けて処理すれば、上鍵は
SNSET=11、下鍵はSNSET=7として処理すれば
よい。 次に鍵を押圧したままでも発音が減衰していく
ピアノのような打撃音に対し本発明の方式を適用
した場合のチヤンネル重み番号SNの推移例の途
中経過t1,t2,t3……を第4表につき説明する。 同表において、押鍵と同時に楽音の減衰が進み
出すので、押圧中を示すSN=0は不要となる。
【表】
【表】 チヤンネル重み番号SNの数値の意味は第3表
の場合と同様であり、第4表の時点t2,t3,t4,t5
では第3表の時点t2,t4,t6,t13で押圧されたの
と同様の鍵が押圧されたとして対応させてある。
ただし時点t6での押圧は説明のため新たに設けた
ものである。アサインメントメモリ24内に収納
された鍵コード以外の鍵が押鍵されれば離鍵状態
のチヤンネルの中からSNの最小のものを見つけ
てこの鍵コードが格納される。(演奏者にとつて
必要な発音は演奏者は離鍵しない。従つてその発
音のチヤンネル重み番号SNの推移が他のチヤン
ネルよりも進んでいる場合もあるがこの発音は保
持するようにする。)従つてもし時点t3において
3チヤンネルが押鍵状態であり4チヤンネルが離
鍵状態ならば3チヤンネルに格納されたSNSET
5の鍵は4チヤンネルに格納されることになる。 SNの順番の補正は押圧、離鍵双方における補
正を同時に実行するので、 SN′to>SNSETにおいては SN′to<SNSETにおいては SN′to=SNSETにおいては何もしなくてよい。 SN′to>SNSETは時点t5,SNto<SNSETはt2
t3,t6,SN′to=SNSETはt4での押圧におけるSNの
推移に対応する。 以上は本発明における各チヤンネルの重み番号
SNの付与方法を述べたが、本発明の方法の特徴
は各チヤンネルの鍵コードに対応する鍵の減衰持
続時間の長短に関連してあらかじめ設定されたチ
ヤンネル重み番号を付与しておき、離鍵に際し開
始するこのチヤンネル重み番号の推移から新たに
押鍵された鍵の鍵コードを格納するチヤンネルを
選択することが容易となることである。そしてこ
の番号の付与において常に減衰が十分に進んだチ
ヤンネルにはSN=1が付与されているから、新
しい押鍵時の探索が容易で構成も簡単になる。そ
の結果、各チヤンネルの発音に最適の減衰持続時
間を自動的に付与することが可能となり、かつ演
奏のしやすさにとつて重要な押鍵の検出から発音
開始までの時間がより短縮され、動作も確実にな
るという利点がある。一方打撃音に際しては、離
鍵状態で減衰の進んでいる演奏者にとつて不必要
なチヤンネルを選んで発音を停止し、その代りに
新しい押鍵に対応する鍵コードを格納し、その発
音を開始することが容易であるという利点があ
る。 第3図は第1図の実施例の鍵盤回路10の具体
回路例を示す。 図から明らかなように、この鍵盤回路10はア
サイナ20の出力ポート1から入力される第1表
の鍵盤コードDIV1,DIV2をデコーダ11に、オ
クターブコードOCT1〜OCT3をデコーダ12に
入れてデコードし、上鍵盤13に対しOR回路の
出力信号U1〜U6を与え、下鍵盤14に対し
OR回路の出力信号L1〜L6を与え、足鍵盤1
5に対しOR回路の出力信号P1〜P3を与え、
それぞれのオクターブの鍵を選択する。各鍵盤ス
イツチを通過した所で各オクターブから同じ音名
ばかりを集めてそれぞれNANDゲート群16,1
7,18を通し、1つでも“0”があればOR回
路群19を通じ“1”を出力し、入力ポート1−
1と1−2とから成る入力ポート1より所定の音
名C〜Bの鍵情報を出力するようになつている。 第4図は鍵盤回路10の入力信号OCT1
OCT2,OCT3,DIV1,DIV2とそれらの入力信号
をデコードした信号をOR回路を介しそれぞれ鍵
盤スイツチ13,14,15へ送出される信号U
1〜U6,L1〜L6,P1〜P3を示すととも
に、演奏中の1例として上鍵G6、下鍵C3,E3
G3、足鍵D2が押圧されている場合のアサイナ2
0の入力ポート1に送出される音名信号C,C
#,D,……,Bを示す。 同図のタイムチヤートはイベントがない場合の
例であるから各オクターブでのタイムスロツトが
同じである。 第5図は第4図において上鍵G6にイベントが
あつた場合の例を示す。イベントが検出されたな
らば、鍵盤コード、オクターブコードをそのまま
の状態で出力したままイベントの処理を行なうの
で、イベントのない時に比べ処理時間が長くかか
る。なお、アサイナ20と鍵盤回路10とを結合
するのに必要な線はわずかに17本であり、アサイ
ナ20が鍵盤より離れたところに設置されても鍵
盤回路10が鍵盤から至近の位置に設置されてい
れば配線上の煩わしさは少ない。 第6図は第1図の実施例のアサイナ20の動作
を説明するフローチヤートであり、そのメインル
ーチンを示す。これに関連するイベントメモリ2
5のデータ構成を第5表に、アサインメントメモ
リ24のデータ構成を第6表に示す。
【表】
【表】
【表】 イベントメモリ25は、第5表に示すように、
鍵盤スイツチの一鍵一鍵がこのメモリ領域のある
ビツトと対応している。初期値は12ビツト全部
“0”としておく。鍵が押されてアサインメント
メモリ内にその鍵コードが記憶されている時、イ
ベントメモリ25内の対応するビツトを“1”と
し、その鍵が離されれば“0”に戻す。 アサインメントメモリ24は、第6表に示すよ
うに、第3表、第4表と同様に全11チヤンネルに
設定している。内容は鍵の開閉を示すON/OFF
ビツトのほか鍵コード、すなわち鍵盤コード
DIV1,DIV2、オクターブコードOCT1〜OCT3
音名コードNOTE1〜NOTE4およびチヤンネル重
み番号SN1〜SN4の合計14ビツトである。初期値
はON/OFFビツトをOFF信号に対応する“0”
とする。鍵コードに対応する各ビツトには何が入
つてもよいが、便宜上すべてを“0”とする。チ
ヤンネル重み番号SNはどんな番号に設定しても
よいが、ここでは表に示すように、1チヤンネル
より順にSN=1,2,……を与える。 以下、アサイナ20のフローチヤートを第6図
に従い説明する。 なお、簡単のため、フローチヤートを構成する
所要のプロセスの引用はその頭に付した丸印番号
で行なう。 プロセスよりスタートし、上述したように、
イベントメモリ25、アサインメントメモリ24
にチヤンネル重み番号SNを含み初期値を設定
し、次に鍵盤コード、オクターブコードを構成す
るODレジスタを16進表示で(00)#に設定する。 ODレジスタのビツトは下記のように配置され
ており、プロセスにおいて鍵盤回路10の出力
ポート1にODレジスタの値がラツチされると上
鍵オクターブ2を指定する。
【表】 これに対する鍵情報をプロセスにおいて鍵盤
回路10より入力ポート1を通し入力し、対応す
るイベントメモリ25の前回の鍵情報と排他的論
理をとりイベントチエツクを行なう。その結果全
部“0”ならばイベントはなかつたことになり、
そのうち1ビツトでも“1”があればイベントが
あることになるのでプロセスの後述する「サブ
イベント処理」に進む。イベントがなかつたなら
ばプロセスへ進み、ODレジスタの値をインク
リメントし、次のオクターブを指定する準備をす
る。インクリメントした結果が上鍵のオクターブ
8に対応する(06)#となれば、上鍵の走査が終
了したことになるので下鍵の走査に進む。そうで
なければ次のオクターブを指定するために、イン
クリメントしたODレジスタの値を鍵盤回路10
への出力ポート1にラツチするためにプロセス
へ戻る。下鍵、足鍵の場合も上鍵同様の手順が適
用される。 以上の説明のように、全鍵を処理し終るには、
上鍵6オクターブ、下鍵6オクターブ、足鍵3オ
クターブであるから6回+6回+3回の計15回ま
わらなければならない。最後にプロセスにおい
て、アサインメントメモリ24の内容のうち必要
なものを他のブロツクに転送する。15回まわるう
ちに1回も「サブイベント処理」を通過しなけれ
ばプロセスを実行することは不要である。プロ
セスの内容については本発明と直接関係がない
ので説明を省略する。 第7図は第6図のフローチヤートにおける「サ
ブイベント処理」の手順の説明図である。ただし
プロセス番号はメインルーチンの続きを用いた。
このサブルーチンはアサイナ20の処理の中心と
なりイベントがあれば必ず通るプロセスである。 第6図のメインルーチンの中のイベントチエツ
クの結果でイベントがあつた時、すなわち、入力
ポート1から入力した鍵情報とこれに対応するイ
ベントメモリの前回の鍵情報との排他的論理和の
結果に“1”が含まれていたならば、この「サブ
イベント処理」にジヤンプする。複数のイベント
を同時にとらえたならばイベントチエツクの結果
には同数の“1”が存在する。プロセス〜ま
での1処理で処理されるイベントは1個だけであ
るから、複数個のイベントが処理できるようにプ
ロセスの処理を終了したならばプロセスに戻
る。プロセスでは指定オクターブ内にまだ処理
をしていないイベントがあるかどうかを調べる。
後述するように、右シフトが施されたイベントチ
エツクの結果から“1”がなくなればイベントの
処理を終えたことになりリターンしてメインルー
チンに戻る。指定オクターブ内にイベントがあつ
た場合はプロセスでイベントに対応する鍵コー
ドを作成する。鍵コードのうち鍵盤コードとオク
ターブコードはODレジスタの値をそのまま流用
すればよい。音名コードの作成を第7表に示す。
イベントチエツクの結果を格納するシフトレジス
タを用意し、イベントの存在を示す“1”がフラ
グビツトに現われるまで右シフトを繰り返す。右
シフトに応じて左からは“0”をシフトする。
“1”が現われるまでの右シフト回数を計数する
ことにより音名コードが得られる。 得られた音名コードおよび右シフトが施された
イベントチエツクの結果を格納するレジスタの内
容をプロセス〜で処理が実行されている間、
CPU21内のレジスタに格納しておき、プロセス
に戻して次のイベントを処理する時これらのレ
ジスタの内容から引き続き右シフトおよび右シフ
ト回数の計数を実行すれば引続き所望の音名コー
ドを得ることができる。プロセスにおける判定
は右シフトが施されたイベントチエツクの結果を
格納するレジスタの値を判定すればよく、“1”
がな
【表】 くなればリターンしメインルーチンに戻る。次に
プロセスで同じ鍵コードがアサインメントメモ
リ24内に存在するかどうかの照合を行なう。存
在しなければアサインメントメモリ24に格納さ
れていない新しい鍵が押圧されたことになるので
プロセスへ進む。そうでなければ、アサインメ
ントメモリ24内に残存していた鍵コードに対応
したものが離鍵されたか再度押圧されたことにな
るのでプロセスに進む。 イベントが発生したということは、ONであつ
たものがOFF,OFFであつたものがONに変つた
ことを意味するので、プロセスで同じ鍵コード
を有するチヤンネルのON/OFFビツトを反転す
る。鍵コードを変更しなくても良いことは勿論で
ある。プロセスでこの反転したON/OFFビツ
トにより、発生したイベントがONからOFFか、
OFFからONかを判定する。反転したON/OFF
ビツトがOFF信号に対応する“0”ならばONか
らOFFでありプロセスへ、ON信号に対応する
“1”ならばOFFからONでありプロセスへそ
れぞれ進む。プロセス,では第3表および表
示(1)〜(6)で詳述したようにチヤンネル重み番号の
補正を行なう。これでイベントの処理が完了した
ので、プロセスにおいて処理した鍵に対応する
イベントメモリ25のビツトを反転する。これに
より処理した鍵において新たな状態が発生するま
ではイベントとしてとらえないようにする。 プロセスへ行つた場合はアサインメントメモ
リ24に格納されていない新しい鍵が押圧された
ことになるので、新たなOFFからONであり、ま
ずアサインメントメモリ24のチヤンネル中に離
鍵状態のものがあるかどうかを判定する。なお本
発明では押圧中のチヤンネルに新たな鍵コードを
入れることはしない。プロセスで離鍵状態にあ
るSN≠0のチヤンネルがあるかどうかを判定す
る。チヤンネル重み番号SNによらないでもON/
OFFビツトで判定してもよい。全チヤンネルの
SNがすべて押圧中を示す0ならばアサインメン
トメモリ、イベントメモリに対しなにもせずメイ
ンルーチンへリターンする。すなわち、押圧鍵数
が同時発音数以上の場合、発音していない押鍵は
常にイベントとしてチエツクされ「サブイベント
処理」に向う。そして発音中の鍵が離されてSN
≠0のチヤンネルが発生したときに、何もしない
でメインルーチンへリターンしたものがへ流
れ、鍵コードをこのチヤンネルに格納するように
している。1つでも離鍵状態のチヤンネルがあれ
ば必ずチヤンネル重み番号SNが1のチヤンネル
が存在するので、プロセスにおいてこのSNが
1を示すチヤンネルに鍵コードを収納する。ここ
におけるイベントはOFFからONであるものに決
つているので、プロセスにおいてチヤンネル重
み番号SNが1のチヤンネルのON/OFFビツトを
ONに対応する“1”とする。この後のプロセス
,は前述と同様である。 第8図は第4表に対応する「サブイベント処
理」のフローチヤートを示す。第7図と比較し、
プロセス,が統一され、プロセスの判定が
鍵の押圧中を示すSN=0がなくなつたことか
ら、ON/OFFビツトによる判定に変更されてい
る。また、プロセス,はON/OFFビツトが
“0”でかつSNが最小であるという条件に変更さ
れている。 以上説明したように、本発明によれば、同時発
音数だけ設けたアサインメントメモリの複数のチ
ヤンネルにおいて、各チヤンネルに収納されてい
る鍵コードに対応する鍵が離鍵され所望の減衰状
態に入つた時前述の方法により各チヤンネルの減
衰持続時間の長短に関連してあらかじめ設定され
たチヤンネル重み番号が付与される。このチヤン
ネル重み番号の推移により新たに押鍵された鍵の
鍵コードを収納するチヤンネルを選択するもので
ある。これにより、各チヤンネルの発音に最適の
減衰持続時間を自動的に付与することが可能とな
り、かつ従来のようにリリースエンド信号を設け
る必要がなく、単にアサインメントメモリ内に各
チヤンネルに付与するチヤンネル重み番号領域を
設けて制御するだけでよいから構成を簡略化する
ことができる。本発明でとくに有効な点は前述し
たように、全チヤンネル同時発音時等に新たな押
鍵があつた場合、減衰が十分に進んだチヤンネル
には常にチヤンネル重み番号の最小値1が付与さ
れているから探索が容易で構成が簡単となること
である。
【図面の簡単な説明】
第1図は本発明の実施例の構成を示す説明図、
第2図a〜fは本発明の要部波形説明図、第3図
は実施例の要部の具体回路例、第4図、第5図は
実施例の動作波形図、第6図〜第8図は実施例の
動作を示すフローチヤートであり、 図中、10は鍵盤回路、20はアサイナ、21
は情報処理部(CPU)、22はCPUクロツク発生
器、24はアサインメントメモリ、25はイベン
トメモリ、26はチヤンネル重み設定番号メモ
リ、31は楽音エンベロープ発生器、32は楽音
周波数発生器、33は楽音波形発生器を示す。

Claims (1)

  1. 【特許請求の範囲】 1 同時発音数だけ設けたアサインメントメモリ
    の複数のチヤンネルは、オン/オフビツト、鍵コ
    ード、チヤンネル重み番号で構成され、各チヤン
    ネルに収納されている鍵コードに対応する鍵が離
    鍵されたとき、減衰開始後からの発音の減衰持続
    時間の長短に関連してあらかじめ設定されたチヤ
    ンネル重み番号のうち、離鍵された鍵に対応する
    チヤンネル重み番号を離鍵された鍵コードが収納
    されているチヤンネルにそれぞれ対応して収納
    し、鍵操作により発生するイベント処理に応じて
    推移するこのチヤンネル重み番号により新たに押
    鍵された鍵の鍵コードを収納するチヤンネルを選
    択するに際し、離鍵状態でかつ最もチヤンネル重
    み番号の推移が進んでいるチヤンネルに優先的に
    格納することを特徴とする鍵盤スイツチ情報の割
    当方式。 2 同時発音数だけ設けたアサインメントメモリ
    の複数のチヤンネルは、オン/オフビツト、鍵コ
    ード、チヤンネル重み番号で構成され、各チヤン
    ネルに収納されている鍵コードに対応する鍵が離
    鍵されたとき、減衰開始後からの発音の減衰持続
    時間の長短に関連してあらかじめ設定されたチヤ
    ンネル重み番号のうち、離鍵された鍵に対応する
    チヤンネル重み番号を離鍵された鍵コードが収納
    されているチヤンネルにそれぞれ対応して収納
    し、鍵操作により発生するイベント処理に応じて
    推移するこのチヤンネル重み番号により新たに押
    鍵された鍵の鍵コードを収納するチヤンネルを選
    択するに際し、離鍵状態でかつ最もチヤンネル重
    み番号の推移が進んでいるチヤンネルに優先的に
    格納するとともに、さらに前記新たに押鍵された
    鍵の鍵コードがアサインメントメモリの離鍵状態
    のチヤンネルに既に残存しているときは、そのチ
    ヤンネルのオン/オフビツトを押鍵状態にするこ
    とを特徴とする鍵盤スイツチ情報の割当方式。
JP4922879A 1979-04-21 1979-04-21 System for allocating keyboard switch information Granted JPS55140893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4922879A JPS55140893A (en) 1979-04-21 1979-04-21 System for allocating keyboard switch information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4922879A JPS55140893A (en) 1979-04-21 1979-04-21 System for allocating keyboard switch information

Publications (2)

Publication Number Publication Date
JPS55140893A JPS55140893A (en) 1980-11-04
JPS6222157B2 true JPS6222157B2 (ja) 1987-05-15

Family

ID=12825050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4922879A Granted JPS55140893A (en) 1979-04-21 1979-04-21 System for allocating keyboard switch information

Country Status (1)

Country Link
JP (1) JPS55140893A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0658600B2 (ja) * 1983-09-30 1994-08-03 カシオ計算機株式会社 電子楽器のチャンネル割当装置
JPS6290697A (ja) * 1985-10-17 1987-04-25 ヤマハ株式会社 電子楽器の押鍵割当て装置
JPS61270799A (ja) * 1985-05-24 1986-12-01 ヤマハ株式会社 電子楽器
JPH01169496A (ja) * 1987-10-26 1989-07-04 Roorand Kk 電子楽器
JPH01169497A (ja) * 1987-10-29 1989-07-04 Roorand Kk 電子楽器
JP2655905B2 (ja) * 1989-02-22 1997-09-24 株式会社河合楽器製作所 電子楽器のチャンネル割り当て装置
JP2522761B2 (ja) * 1989-11-24 1996-08-07 株式会社河合楽器製作所 電子楽器のチャンネル割り当て装置
JP2531317B2 (ja) * 1991-06-21 1996-09-04 ヤマハ株式会社 電子楽器の押鍵割当て装置
JP2943492B2 (ja) * 1992-03-19 1999-08-30 ヤマハ株式会社 電子楽器
JP2562261B2 (ja) * 1992-07-16 1996-12-11 ローランド株式会社 電子楽器のアサイナ

Also Published As

Publication number Publication date
JPS55140893A (en) 1980-11-04

Similar Documents

Publication Publication Date Title
US4378720A (en) Electronic musical instrument having musical performance training system
JPH0643861A (ja) マルチメディア・システム
US6444888B1 (en) Musical computer keyboard apparatus and method
JPS6230635B2 (ja)
JPS6222157B2 (ja)
US4483231A (en) Preset apparatus of electronic musical instrument
JPS6157640B2 (ja)
US4083283A (en) Electronic musical instrument having legato effect
JPH0381157B2 (ja)
JPH0437992B2 (ja)
JPS6222158B2 (ja)
JPS5943758B2 (ja) 電子楽器用アサイナ
GB2091470A (en) Electronic Musical Instrument
JPS6227716B2 (ja)
JP3219252B2 (ja) 自動伴奏装置
JPS6086597A (ja) 音階設定機能付電子楽器
US4498364A (en) Electronic musical instrument
JPS6028359B2 (ja) 電子楽器
JPH0719150B2 (ja) 電子楽器のアサイナ
JPH02127694A (ja) 自動演秦装置
JPH0515279B2 (ja)
JPS6239438B2 (ja)
JP2660447B2 (ja) 電子楽器
JPS6252317B2 (ja)
JP3022496B2 (ja) 自動伴奏装置