JPS60149090A - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JPS60149090A
JPS60149090A JP59029910A JP2991084A JPS60149090A JP S60149090 A JPS60149090 A JP S60149090A JP 59029910 A JP59029910 A JP 59029910A JP 2991084 A JP2991084 A JP 2991084A JP S60149090 A JPS60149090 A JP S60149090A
Authority
JP
Japan
Prior art keywords
tone
key
program
address
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.)
Granted
Application number
JP59029910A
Other languages
English (en)
Other versions
JPS6339073B2 (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.)
Nippon Gakki Co Ltd
Original Assignee
Nippon Gakki 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 Nippon Gakki Co Ltd filed Critical Nippon Gakki Co Ltd
Priority to JP59029910A priority Critical patent/JPS60149090A/ja
Publication of JPS60149090A publication Critical patent/JPS60149090A/ja
Publication of JPS6339073B2 publication Critical patent/JPS6339073B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

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

Description

【発明の詳細な説明】 この発明は、プログラム制御を適用した電子楽器に関す
る。
従来の電子楽器においては、鍵操作検出用のキースイッ
チの走査をハードウェアによる走査回路によって行って
おり、このため、鍵数が賃なる機種毎に、別個の走査回
路を作成しなlづればならないという欠点があった。ま
た、上記走査回路は各キースイッチを1個づつ順次走査
するようになっており、このため、走査に時間がかかる
欠点があった。
そこでこの発明は、機種(8r数)が箕なった場合にお
いても簡単な変更で対処することができ、しかもキース
イッチの走査スピードが速い電子楽器を提供するもので
、プログラム制御を用いると共に、複数のキースイッチ
をグループ分けし、キー走査の11グループ内のキース
イッチを同時にチェックするJ:うにしたものである。
以下、図面を参照しこの発明の実施例について説明する
第1図は、この発明による電子オルガン(電子楽器)の
構成を示すブロック図であり、この図に示す電子オルガ
ンは大きく分けると鍵盤回路11、アサイナ12および
楽音発生部13から構成される。そして、上記アサイナ
12は制御部14、演算部15、割込制御回路16、パ
ルス発生器17、データボート18を具1+fiiする
演算制御部19と、ROM(リードオンリーメモリ)2
0、RAM(ランダムアクセスメ[す)21、レジスタ
22を具備する第1の記憶部23とから構成され、また
楽品発生部13は、32個のチャンネルを有するウニイ
ブジェネレータ(1ズ下WGと称−1−>25と、この
WG25にエンベロープ情報を送出するエンベロー1ジ
エネレータ26と、D/△(デジタル/アナログ)変換
回路27ど、増幅器28と、スピーカ29どから(11
1成される。なお、に述した制御11部14おJzび演
W部151は通常マイクロコンピュータを用いて構成さ
れる。また、十3jli シたエンベロープとば楽音信
号の包絡線のことである。
すなわち、通常の楽音信号は第1図において符号日にて
示すように、立上り状態(アタック状態)B1、持続状
態B2、立下り状態(ディケイ状態)B3の3状態から
なるエンベロープを有している。
この電子オルカンはプログラムコントロールで動作する
もので、そのプログラムはROM20に記憶されている
処理プログラムと制御部14内のマイクロプログラムメ
モリ45に記憶されている各種マイクロプログラムl)
日ら構成される。また、WG25において楽音伏目(デ
ジタル信号)を形成するために必要な各種i〜−ンデー
タおよび周波数データはROM 20に記憶されている
。モして、上記処理プログラムおよびマイクロプログラ
ムに基づいて、次の様に動作するものである。すなわち
、キーが押下されると、まず鍵盤回路11が押下された
キーに対応するキースイッチ情報をデータバス30を介
してアサイ、す12に供給する。アサイナ12は供給さ
れたキースイッチ情報に対応する周波数データおよび1
〜−ンチータをROM20から読出し、読出したデ゛−
夕をWG25の複数のチャンネルに対して割当てる。W
G25の各チャンネルは当該チャンネルに割当てられた
データおよびエンベロープジェネレータ26から供給さ
れるエンベロープ情報に基づいて楽音信8(デジタル信
号)を形成する。そして、これら各チャンネルで形成さ
れた楽音信号が117/Δ疫換器27においてアナログ
信翼に変換され、増幅器28を介してスピーカ29から
楽音として放音される。
以上、この電子オルガンの概略を述べたが、次にこの電
子オルガンの詳細を説明する。
まず、鍵盤回路11はアドレスデコーダ34、バッフ?
バスドライバ35.マトリックス回路36から構成され
る。アドレスデコーダ34はアドレスバス37を介して
供給されるスイッチアドレス信号をデニゴードするもの
で、この実施例では5個の出力端を有し、またこれらの
各出力端がマトリックス回路36の各列線にそれぞれ接
続されている。マトリックス回路36は12行5列のマ
トリックスであり、この71〜リツクスの各交点には、
トーンレバー(「ヴァイオリンJ、Uフルート1等の音
色を設定するためのレバー)38の各スイラグの接点お
よび鍵q3キー39の各キースイ・ンチの接点が、図に
おいて符号Aにて示すにうに、ダイA−ドと共に介挿さ
れている。なおこの実施例に、+3いては、説明の便宜
上1・−ンレバー38が6個の1〜−ンレパーからなり
、また各トーンレバー(よいずれも4段階で音品を調整
可能なものとしくしたがって、各トーンレバーに関ザる
情報は2ビツトで現わされ、この2ビツトに対応してト
ーンレバースイッチは各トーンレバーに対し2個ずつ、
合計12個となる)、また鍵盤キー39は4Aクターブ
(12X4=’4Bキー)から構成されるものとする。
そして、各トーンレバーのスイッチがマトリックス回路
36の左側(図において)1列に配回され(図において
破線で囲んだスイッチ2個が1つのトーンレバーに対応
する)、またtill(キー39の各キースイッチがマ
トリックス回路36の右側4列に配置されている。
バッファパスドライバ35は上記各スイッチのオン・オ
フ情報をデータバス30に出力するためのバスドライで
あり、12個の入力端および出力端を有し、入力端は各
々マトリックス回路36の各行線に接続されているとど
−bに、出力端はデータバス30に接続されている。
制御部14はインストラクションレジスタ/12、イン
ストラクションデコーダ43、マイク1]プログラム・
アドレスシーケンサ/I4、マイク11ブ【1グラムメ
モリ45.(第2の記憶部)、パイプラインレジスタ7
16から構成される。インストラクションレジスタ42
はROM20から読出される処理プログラムの各命令を
−nh記値するもので、このインストラクションレジス
タ42に一時記憶された命令はインストラクションデコ
ーダ43によって解読され、マイク[]プログラム・ア
ドレスシーケンサ/I4に供給される。マイクロプログ
ラムアドレスシーケンサ7′I4はインストラクション
デコーダ43の出力に基づいてマイクロプログラムメモ
リ45のアドレスを指定し、この結果、マイクロプログ
ラムメモリ45から前;ボしたインストラクションレジ
スタ42に一時記憶されている処理プログラムの命令に
対応するマイクロプログラムが読出され、パイプライン
レジスタ46に供給される。
aij算部15はマイクロファンクション・デコーダ(
以下、MFDと略称する)48、演算回路49等を有し
て4111成され、制御部14から供給されるマイクロ
プログラムの各命令を解読して所定の処理を実行するも
のである。ずなわち、M F I) 48はパイプライ
ンレジスタ46から供給される上記マイク1]プログラ
ムの各命令を解読し、この解i売結果に基づいて、レジ
スタICY5 (1、マルチプレクサ レジスタ53、データレジスタ51、アラ1〜プツトバ
ツフアJ 5 + ” 56へ各々制御信号を出力ηる
レジスタ群50はマイクロプログラムの各命令を処理す
る過程で使用されるワーキングレジスタであり、演算回
路49の出力がMFD48からの制御信号により読込ま
れ、またこのレジスタ群50の出力はマルチプレクサ5
1の第2の入力端に供給される。マルヂプレク1す51
は、その第1の入力端がデータバス30に、第3の入力
端がデータレジスタ54の出力端に各々接続されており
、M「D48からの制御信号に基づいて第1へ・第3の
入力端に得られるデータを選択的に演算回路/I9へ出
力するものである。マルずブレクザ52は、その第1の
入力端がデータバス30に、第2の入力端がデータレジ
スタ54の出力端に各々接続されており、これら第1、
第2の入力端にiqられるデータを選択的に演約回路4
9へ出力する。
演算回路4つはマルチプレクサ51.5”2から供給さ
れる各種データ(このデータには第1の記憶部23の各
メモリのアドレスを指定するアドレスデータおよび前列
(したキーをチャンネルに771当てる際使用されるデ
ータがある)をM FD 48からの制tlll似舅に
以づいて演算し、1jii p結果をメモリアドレスレ
ジスタ53あるいはデータレジスタ57Iへ供給りる。
メモアドレスレジスタ53(j、演算回路49から供給
されるアドレスデータを一時記憶するもので、このメモ
リアドレスレジスタ53の出力はアラ1へプツトバッフ
ァ55を介してアドレスバス37へ出力される。j゛−
タ1ノジスタ54は演わ回路49から供給されるデータ
(キーをチャンネルに割当てる際使用されるデータ)を
一時記恒するもので、このデータレジスタ54の出力は
アラ1〜プツトバツフア56を介してデータボート30
に出力される。
割込制御回路16は割込発生の際の各種処理を行なうも
のである。ここで、この電子オルガンの割込信号につい
て説明する。この電子オルガン(ま3個の割込信号lN
TR1、I NTR2、lNTR3を有している。割込
13号lNTR1はパルス発生器17の出力に駐づいて
、割込制御回路16内で数m気毎に周期的に発生ずる割
込信号であり、この割込信号I NTR1が発生すると
、鍵盤キー39の各キースイッチのオン/オフ情報がR
AM21内に読込まれる。割込信号lNTR2はパルス
発生器17の出力を割込制御回路16内の分周器によっ
て分周して作られる割込信号であり、数100m se
c毎に周期的に発生する。そして、この割込信号lNT
R2が発生づると、トーンレバー38の各スイッチのオ
ン/オフ情報がRAM21内に読込まれる。なお、割込
信号IN王R20周期が割込信号lNTR1の周期J:
りはるかに大となっている理由は、通常各キーがVA繁
に操作されるのに対して、各1ヘーンレバーは各−1゛
−はど頻幣には操作されないからである。割込イハ号l
NTR3はWG25から供給される割込信号であり、W
G25内の各チャンネルにおいて形成された楽音仁君が
Oとなった時点′C発11コするものである。なお、こ
の割込信号lNTR3については後述する。
そして、これらの割込化S、31 N丁R1〜lNTR
3のいずれかが発生すると、制御部14がこれを検知し
、現在実行中のマイク[]プ[1グラムモジコールが終
了した時点で割込命令をインストラクションレジスタ4
2内に読込み、その解読を行なう。なお、割込信号lN
TR1へ1NTR3の優先順位は、割込制御回路16に
おいて、lNTR3> lNTR1> lNTR,2の
如く定められる。
ROM20は、前述したように処理プログラム、周波数
データおにびトーンデータ等を記憶するもので、アウト
ブツ1〜バツーノア55からアドレスバス37を介して
アドレス信号が供給され、また同アドレス信号によって
読出された処理プログラムの各命令あるいは各種データ
がデータバス30に出力される。RAM21内 際使用される各秤データテーブル、データファイル等が
記憶されるもので、アウトプットバッファ55からアド
レス信号が供給さね、またその入出力端がデータバス3
0に接続されている。レジスタ22は各秤スティタスあ
るいはコマンド(後述)等が記憶されるもので、アラ!
・プツ1〜バッファ55からアドレス信号が供給され、
またその入力端はデータバス30に接続されている。
データポー1〜18はROM20に配憶されている周波
数データ、1〜−ンデータおよびレジスタ22に記憶さ
れている各種コマンドをWG25およびエンベロープジ
ェネレータ26へ出力するためのレジスタであり、アウ
トプットバッファ55からアドレスが供給され、また、
その入力端はデータバス30に接続されている。なお、
上述したROM20、RΔM21、レジスタ22おJ、
びデータボート18の各記憶内容を第153図に示づ。
次に、第1図に示?l電子オルガンの動作を第2図に示
す流れ図に基づいて説明する。なA3、以下の説明にお
いて111 IIとあるのは二値論理!ノベルの゛′1
″信号を示し、” o ”とあるのは二()α論理レベ
ルの“0゛信号を示すものと4−る。
第2図(イ)はプログラムの流れを示す流れ図であり、
また第2図(ロ)はυ1込処理ルーチンである。この図
に示りように、この電子Aル刀゛ンのプログラムはR1
−R8なる8個のメインルー1ンおよび11〜13なる
3個の割込処理ルーチンから構成される。そして、各ル
ーチンが複数のマイクロプログラムモジュール化されマ
イクロプログラムメモリ45内に記憶され、またこれら
のマイクロプログラムモジュールを呼出すマクロ命令が
処理プログラムとしてROM20内に記憶されている。
以下、上記各ルーチンについて順次説明する。
(1)初期リセットルーチンR1 この電子オルガンにおいて電源が投入されると、プログ
ラムはJ:ずこの初期リセットルーチンR1に入り、各
部の初期リレットが行なわれる。
(2)トーンレバー・オン/オフ検出ルーチン■この割
込処理ルーチンは割込信号TNTR2がvll 00 
Ill seeのインターバルで発生するたびに実行さ
れるもので、割込信号lNTR2が光生した時点にお【
する鍵盤回路11の各1・−ンレバースイッヂのオン/
7Iフ状態を検出するものである。すなわち、割込制御
回路16において割込信号lNT1マ2が光生りるど、
アドレスデコーダ3/lにスイッチアドレス信号が供給
され、このスイッチアドレス信号に基づいて各1〜−ン
レバースイツチのオン/オフ情報がバッファバスドライ
バ35およびデータバス30を介してレジスタ22内に
読込まれる。そして、この読込まれた1−一ンレバース
イッチのAン/7Iフ情報に基づいて、レジスタ22内
に第3図に示すココ−1〜−ンレバー・スティタステー
ブル(以下、NTSと略称する)60が作成される。こ
の場合、このN T−860においては、各1〜−ンレ
バー1〜6の8量設定が2進数によって示されるように
なっている。リーイTわち、図に示す例においてはトー
ンレバー1.4,5.6が音量[0−1を要求し、トー
ンレバー2が合F1]「3」を、トーンレバー3が音量
[21を東求している。
(3)1〜−ンレバー位f& %変化検出ルーチンR2
前述した初期リセットルーチンR1が終了4ると、プ[
コグラl\はこのルーチンR2に進行する。このルーチ
ンR2は、現在のNTS60の内容が前回このルーチン
R2を実行した++;)点にお【プる同N l−360
の内容と異なっているか盃かを検出Jるもので、このN
王S60に内容どRAM21内に作成されているオール
ドト−ンレバー・スティタスデープル(以下、OTSど
略称する;113図参照)61の内容とを比較すること
により」−記検出が行なわれる。なお0TS61は前回
このルーチンR2を実行した時点にJ5 L−JるN 
T S 60の内容を示すもので、次にμ2明するルー
アン1テ3において作成される。そして、ルーチンR2
を実行した結果がrYEsJ (変化あり)の場合は、
プログラムがルーチンR3に進行し、またrNO,J’
(変化なし)の場合はルーチンR4に進行する。
(4)トーンレバー処理ルーチンR3 このルーチンR3は上記NTS60の内容に基づいて第
3図に示Jトーンリクエストファイル62をRAM21
内に作成するものである。そして、この電子オルガンに
おいては、このルーチンR3において作成されるトーン
リクエストファイル62に基づいてROM20内の1〜
−ンデータがWG25の各チャンネルに割当てられるよ
うになっている。
すなわち、ROM20内には第3図に示すように予め音
量テーブル63、トーンレバー・インデックステーブル
64およびトーンデータパンクロ5が設(プられている
。そして、音量テーブル63には、1〜−ン1ツバ−に
よって設定される音量「1」〜「3」に対応する音量係
数(WG 25の各チャンネルはこの音量係数に基づい
て音m設定を行なう)が予め記憶され、1〜−ンデータ
バンク65には複数のトーンデータ、すなわち・・・・
・・トーンデータi−1、トーンデータ11トーンデー
タi+1.1−−ンデータ1+2・・・・・・が記憶さ
れ、またトーンレバーインデックステーブル64には、
各トーンレバー1〜6に対応するトーン(音色)を構成
するための1・−ンデニタのアドレスポインタが記憶さ
れている。この場合、図に示4例について説明すると、
トーンレバー1に対応Jる1・−ン(音色)は1・−ン
データi−1おにびiから構成され、したがってトーン
レバーインデックステーブル64のトーンレバー1に対
応するスロット(記憶エリア)64aには、トーンデー
タパンクロ5におりるトーンデータi−1,1の各先頭
番地、すなわちアドレスAおにびアドレスBが記憶され
、トーンレバー2に対応するトーンはトーンデータi+
2によって構成され、したがってスロット641)には
アドレスDが記憶され、またトーンレバー3に対応する
トーンはトーンデータ1.1+1から構成され、したが
っそスロット64cにはアドレスB1アドレスCが記憶
されている。なお、この実施例においては各トーンレバ
ーに対応するトーンを構成する1〜−ンデータのvl&
最大2としたが、これは複数11M+可能であり、最大
2に制限覆る必要はない。
そして、プログラムがこのトーンレバー処理ルーヂンR
3(第4図にこのルーチンR3のフローアト−1〜を示
す)に入ると、まずレジスタ22内のNTS60 (第
3図)に記憶されている1〜−ンレバー1の8母情報が
演算部15のレジスタ群50内に読出される。しかし、
この場合音量が「0」であるので、何らの処理も行なわ
れない。次いで、トーンレバー2のM M情報がレジス
クI!T50内に読出される。この場合、音fili 
[3−lが指定されている。したがってまず1)−ンレ
バーインデックステーブル64のスロワl−’64 b
内のアドレスポインタ(すなわち、アドレスD)がトー
ンリクエストファイル620エリア62c内に書込まれ
、次いで音量テーブル63内の合量「3」に対応する音
量係数r1111111jが上記エリア62c内に書込
まれる(第3図参照)。次に、トーン1ツバ−3の&量
情報がレジスタ群50内に読出される。この場合、高♀
12」が指定されており、したがって、まずテーブル6
4のスロット64c内の第1のアドレスポインタ(”I
−1,rゎ15、アドレスB)が1ヘーンリクエストフ
アイル62のエリア62d内に書込まれ、次に音部[2
]に対応7J−るγ1量係数(rol 00000J 
)が同Tリア62に内に書込まれ、次にスロット64’
C内の第2のアドレスポインタ(すなわち、アト1ノス
C)がエリア62e内に書込まれ、次に音ir+ r 
2 Jに対応覆る音量係数(ro 100000ゴ)が
同エリア62e内に(■込まれる。このようにして、N
丁s60内の各トーンレバーの音量情報が順次読出され
、処理される。ぞして、最後にトーンリクエストファイ
ル62内に書込まれたアドレスポインタの数、すなわち
トーンリクエストファイル62にヒ録されたトーンデー
タの数が同トーンリクエストファイル62のヘッダー(
すなわら、エリア62a〉に書込まれ、トーンリクエス
トファイル62の作成か終了する。]・−ンリクエス]
〜ファイル62の作成が終了した後N T S 60の
内容を0TS61内に転送し、プログラムはこのルーチ
ンR3を出る。
このように、この電子Aルガンにおいてはこのルーチン
R3において第3図に示すようなトーンリクエストファ
イル62が作成される。この場合、各トーンレバーはl
・−ンレバーインデックステーブル64のアドレスポイ
ンタのみと対応しているので、このテーブル64のアド
レスポインタを変更することに」;り各トーンレバーに
対し任意のトーンデータ(8色〉を対応させることがで
きる。
なお、この1・−ンリクJストファイル62において、
エリア62hにはこのファイル62に共通する音色加工
のための情報、例えばビブラート周波数、ビブラート深
さ、ディケイ長さ等が記憶されている。寸イ丁4つら、
詳細な説明は省略するが、予めこれらの音色加工のため
の情報をROM20内に記憶しておぎ、音色加工用レバ
ーの操作位置にしたがって音色加工情報をROM20か
ら続出しこのファイル62に登録することにより、WG
25の各チ1シンネルにおいて形成される楽音信号に音
色加工を施すことが可能になる。
ところで、j二連したトーンリクエストフッ41162
作成の過程において、ヘッダー628に記入されるアド
レスポインタ数の検出は、通常レジスタ22内にトーン
リクエストカウンタなるカウンタを設(〕、アドレスポ
インタをファイル62内に書込むたびにこのトーンリク
エストカウンタをインクリメントし、最後にこのトーン
リクエストカウンタのカウント結果を参照することによ
り行なわれる。また、上記過程おけるNTS60の内容
の順次読出し、1〜−ンレバーインデックステーブル6
4の各スロット内のアト1ノスポインタの順次読出し、
トーンリクエストファイル62内の各エリアへの順次J
?込み等は、通常対応するポインタをたて、1つの処理
が淡むたびにこのポインタの内容を進め、このポインタ
の内容に5.↓づいて実行されるものである。例えば、
トーンリクエストファイル62ヘアドレスポインタを書
込む場合は、まり“1〜−ンリクエスI−ファイルポイ
ンタなるポインタにエリア62Cのエン1〜リイアドレ
ス(アドレス「〉をビット・シ、この1〜−ンリクエス
トファイルポインタに基づいてエリア620内に書込み
、次いでトーンリクJストファイルポインタの内容をエ
リア62(Iのエン1−リイアドレス(アドレスF)に
進め、このエントリイアドレス(アドレス[二)に基づ
いてエリア62d内に書込み・・・・・・の如く行なわ
れる。しかしながら、これらの処理はこの業界において
は極く当然に行なわれる処理であり、したがってこの明
fill書においてはこれらの始期過程の記載を省略し
ている。
(5)キー・オン/オフ検出ルーチンI2この割込処理
ルーチン12は割込信号lNTR1が数m5ecのイン
ターバルで発生するたびに実行されるもので、vj込倍
信号lNTR1発生した時点における鍵盤回路11の各
キースイッチのオン/オフ状態を検出するものである。
すなわち、割込制御回路16において割込信号I NT
R1が発生すると、アドレスデコーダ34にスイッチア
ドレス信号が供給され、このスイッチアドレス信号に基
づいてキースイッチのAン/Aフ情報がバッファバスド
ライバ35J3よびデータバス30を介してレジスタ2
2内に読込まれ、このレジスタ22内に第5図に示すニ
ューキーボード・スティタス・テーブル(以下NKSと
略称する)70が作成される。この図に示すN K S
 7. Oにおいて、” 1 ”とあるのはこの1″に
対応するキーが割込信号lNTR1発生時点において押
下されていることを示1ノでいる。すなわち、この例で
は現在第1オクターブのC音、E音、第2オクターブの
D#音、第3オクターブのF # 7:A、第1IZク
ターブのA音に各々対応する4;−が押下されているこ
とを示している。なお、この図においで無印は” o 
”を示している。
(6)押下キー位置・変化検出ルーヂンR/Iトーンレ
バー処理ルーチンR3が終了すると、プログラムはこの
ルーチンR/Iに進行する。このルーチンR4は、現在
のNKS70の状態が前回このルーチンR4を実行した
時点におけるN K S70の状態ど異なっているか否
かを検出するもので、N K S 70の内容と第5図
に示すオールドキーボード・スティタステーブル(以下
OKSと略称する)71の内容とを比較することにより
上記検出が行なわれる。この場合、0KS71は前回こ
のルーチンR4を実行した時点におけるキースイッチの
状態を示寸もので、後述覆るルーチンR6において作成
される。そして、このルーチンR4を実行した結果がr
YEsJ (変化あり)の場合は、プログラムがルーチ
ンR5に進行し、またrNOJ (変化なし)の場合は
ルーチンR2へ戻る。
(7)キーオン・リクエストファイル作成ルーチンR5 このルーチンR5は新たに楽音発生をすべぎキー、言い
換えれば新たに押下されたキーを検出し、この検出結果
に基づいて、第5図に示すキーオン・リフニストフアイ
ル(以下0N−RQと略称する)72をRAM21上に
作成するものである。
このルーチンR5においては、まず0KS71の各ビッ
トとN K S 7 ’Oの対応する各ビットどの間の
エクスクル−シブオアがとられる( OK S■NKS
)。この結果、状態が変化したキースイッチに対応する
ビットのみ′1″となる。次いe、上記演算結果とNK
S70の各ビットどの間のアントがとらレル。((NK
’S△(OKS(DNKS)〕。この結果、キースイッ
チが新たにオンどなったビットのみti 1 uとなる
。最後に、上記アンド演算の結果と0N−R−Q72の
各ピッ1〜どの間のオアがとられ、その結果が新たに0
N−RQ72に書込まれる。
0N−RQ−ON−RQV(NKS △ くOKS■N
KS))・・・・・・(1) ここで、R後のAア演→の意味について説明りる。この
電子オルガンは後に説明するキーオン・チャンネルアサ
インメントルーチンR7において、ここで作られた0N
−RQ72に基づいて楽音発生すべきキーをWG25の
各ヂVンネルにv1当てる処理を実行し、このv1当て
処理が修了した時点で順次0N−RQ72(7)”1”
ビットを消去Tvルようになっている。ところで、この
ルーチンR5か実行される時点で、前回ルーチンR5が
実行された際ON −RQ 72に記入されたパ1°°
ピッ1〜が全て消去されているとは限らず、チャンネル
割〉11処理をすべぎ“1゛°ピツトが残っている場合
がある。R後のA7演算は、この処理が演/υでいない
” 1 ”ピッIへを0N−R’Q72十に残すために
行なわれるものである。第5図において第1オクターブ
・C音に丸印がイqしであるのはこの処理ヒッi〜を示
している。
(8)キーオフ・リフニストフアイル作成ルーチンRに のルーチンR6は楽音発生を停止すべきキー、すなわち
離鍵されたキーを検出し、この検出結果に基づいて第5
図に示づキーオフ・リフニストフアイル(以下、0F−
RQと略称する)73をRA M 21−J二に作成す
るものである。
このルーチンR6においては、まずルーチンR5と同様
に0KS71、NKS、70.0F−RQ3の対応する
各ビット間で、 OF、−RQ=OF−RQv(NKS△ (OKS■N
KS>) ・・・・・・ (2) なる演算がなされ、この演算結果が0F−RQ73内に
書込まれる。なおこの式において、N K SはNKS
70の各ビットの反転を意味している。
またオア演算の意味はルーチンR5の場合と同じである
。次にNKS70の内容が0KS71内に回込まれる。
リ−なわち、このす1理により今回N KSとして用い
られたテーブルが次回のルーチンR4〜R6の処理にお
いては0KS71として用いられることになる。
(9)キーオフ・チャンネルア1ツインメン1〜ルーヂ
ンR7 このルーチンR7はルーチンR5において11成された
0N−RQ72およびルーチンR3において作成された
トーンリフニストフアイル62に基づいて、新たに押下
されたキーに対応ザる周波数データおよびトーンデータ
をW G 25の空チャンネルに割当てる処理を実行す
るものである。
以下、第6図へ・第8図を参照しこのルーチンR7の実
行過程を説明号る。なお、第6図における0N−RQ7
2は第5図における0N−RQ72と同一である。
プ「1グラムがこのルーチンR7に入ると、まず第7図
に示すステップS1に進行し、ON −RQ72上の”
 1 ”ビットの検出が行なわれる。この検出は、0N
−RQ72のまず第1オクターブに対応するスロットを
左方(第6図において)へ1ビット−fつシフ1〜し、
次いで第2オクターブに対応するス[]ットをノを方へ
1ビツトずつシフトし、次いで第3、第471クターブ
に対応するスロットを順次左方へシフ1へすることによ
り行なわれるもので、II 1 IIピッ]−を検出し
た時点で(ステップ82)プログラムはステップS3に
進行する。第6図に示1例においては、まず第1オクタ
ーブ・C音の” 1 ”ビットが検出されるので、この
時点でプログラムがステップS3に進行する。ステップ
S3では、ROM20内に記載されている周波数テーブ
ルから第1オクターブ・C音に対応する周波数データが
読出され、レジスタ22内の周波数データエリア75(
予め設定されlいる)に転送される。次いでステップS
4に進行すると、RAM21上に用意されているビジィ
キーテーブル76の第1オクターブ・C音に対応するス
ロット76aのエントリイアドレス(アドレスX)が算
出され、算出されたエントリイアドレス(アドレスX)
がレジスタ22内に一時記憶される。なお、ビジィキー
テーブル76とは予めRAM21内に用意されているも
ので、各キーに対応して設C−1られた48個のスロワ
t−76a 、 761)、76c −・・・・・から
なるものである。次に、ステップS5に進行すると、ブ
ヤンネルアサイメンI−テーブル(以下CATと略称覆
る)77内の空エリアの検出が行なわれる。ここで、C
AT77について説明する。このCA’T77は予めR
AM21上に用意されているもので、El 、F2・・
・El5なる15個のエリアから構成され、またこれら
のエリア[1゜F2・・・El5は各々16ビツトから
なる3個のスロットa1.b’1.c1.a2.l+2
.c2.・・・から構成されている。このCAT77は
、現在発音中の楽音(ディケイ状態にある楽音−も含む
)がどのチャンネルに割当てられているかを示すテーブ
ルであり、以下に説明するように、あるキーに対応づ−
る奈γ1の発音が割当てられると各エリアE1゜E2.
・・・・・・「15のヘッダー、’l’ <<わちスロ
ワ1〜a1、 il、2. a 3・・・・・・に該当
キーを表わすビジィキーテーブル76のエントリイアド
レスが登録され、またスロットb1.C1、スロットb
 2. c 2・・・・・・に使用チャンネルが登録さ
れるようになっている。この場合、スロ、ットl) 、
 Cの各ピッ1〜がそれぞれWG25の32個のチャン
ネルに対応しており、さらに発音が割当てられたチャン
ネルに対応するピットに” 1 ”が登録される。
さて、プログラムがステップS5に進行すると、CAT
77の各コーリアのヘッダーを検索することにより空エ
リアの検出が行なわれる。そして、例えばエリア「2が
空エリアとして検出されたとすると、■リア1三2のエ
ントリイアドレス(アドレスY)がレジスタ22内に記
憶され、そしてステップS6に進行する。ステップS6
では、レジスタ22内に設けられているビジィスフイタ
スレジスタフ8内の” o ”ピッ1〜の数が算出され
る。このビジィスティタスレジスタ78は32ビツトの
レジスタであり、各ピットが各々32個のチャンネルに
対応し、また(す!■中のチャンネルに対応りるピット
に1′″が登録されている1、シたがって、このステッ
プ86で弾出される“′O°°ピッ1への数は現在の空
チャンネルの数に等しくなる。ステップS6においてビ
ジィスティタスレジスタ78のrr O++ビットの数
(空チャンネルの数)が算出されると、プログラムはス
テップS7へ進み、算出された“O゛′′ビツトと1〜
−ンリク■ス]・フ7・イル62(第3図参照)内に登
録されているトーンデータ数(すなわちトーンリフニス
1へ77・イル62のヘッダー628内に記憶されてい
る数)とが比較される。この場合、“O″ピツト数がト
ーンデータ数より大きいかあるいは等しいとすると(Y
ES)、プログラムはステップS8に進行する。ステッ
プS8では、ビジィスティタス1ノジスタ78内の” 
o ”ピットを検索することにより空チャンネルのチャ
ンネル番号が検出される。第6図の例においては、まず
スロット78aの第2ピツ]〜の0゛′が検索され、こ
れにより第2チヤンネルが空チャンネルであることが検
出される。
なお、ビジィスティタスレジスタ78において、スロッ
ト78aの第1〜第16ビツトが各々第1〜第16ヂV
ンネルに対応し、またスロワ1−781の第1〜第16
ビツトが各々第17〜第32チヤンネルに対応している
。第2チヤンネルの空チャンネルが検出されると、プロ
グラムはステップS9に進行し、同チャンネル番君「2
」がチャンネルレジスタ79内に格納される。次いで、
ステップS10に進行すると、1〜−ンリクエス[−フ
ァイル62に基づいてROM20内のトーンデータがレ
ジスタ22内の1〜−ンデータエリア80に転送される
。すなわち、第3図の例について説明づ−ると、まずエ
リア62c内に記憶されているアドレスDがレジスタ群
50内に読出され、次いでこのアドレスDに基づいてR
OM20内のトーンデータミート2が読出され、トーン
データエリア80に転送される。次に、]ニクリア62
0のg LjI係数がエリア80に転送される。
そして、プログラムはステップ811にt fr シ、
トーンデータの修飾(音色加工)が行なわれる。
この1−−ンデータの修飾は1〜−ンリクエストファイ
ル62の1リア62bに記憶されている音色加工のため
の情報に基づいて行なわれるもので、この修飾によりト
ーンデータに音色加工(例えば、ビブラートの付加)が
施される。そして、プログラムはステップ312に進行
する。ステップS12では、チャンネルレジスタ79に
記憶されている空チャンネルのチャンネル番号(この場
合、「2」)に基づいてデータポート18(第1図)の
第2チヤンネルに対応する領域のエントリイアドレスが
算出される。次いでステップ513(第8図〉に進行す
ると、周波数データエリア75内の周波数データおよび
トーンデータエリア80内のトーンデ〜り、8但係数が
一ト記エントリイアドレスに基づいてデータボー1へ1
8の対応づる領域に出力される。次にステップ814に
進行すると、まずレジスタ22内に設けられた32ビツ
トのスタートコマンドレジスタ81の第2チヤンネルに
対応するピッ1−(スロット81aの第2ピッl−)に
” i ”がたてられ、次いでこのスタートコマンドレ
ジスタ81の内容がデータボート18に転送される。こ
のJ、うにして、データボート18に転送された周波数
データ、1〜−ンデータ、音量係数およびスタートコマ
ンドはWG25の対応するチャンネル(第2チヤンネル
)に供給され、これによりWG25の当該チャンネル(
第2チヤンネル)がスタートし、同第2チヤンネルにお
いてデータポー1〜18から供給されている周波数デー
タ、トーンデータ等に基づいて楽音信号が形成される。
次に、プロゲラl\はスアーツプ815に進み、チャン
ネルレジスタ79に記憶されているチャンネル75号f
’2Jに基づいて、ステップS5によ夕いて検出された
エリアE2内のスロットb2の第2ビツトに1′′を書
込む。(なお、このスロットb2の第2ビツトが第2チ
」・ンネルに対応して(Xる。)次いでステップ816
に進行し、チャンネルレジスタ79内のチャンネル番号
[2]にIJづいてビジィスティタスレジスタ78のス
]]ツh 78 aの第2ビツトに′1′′が書込まれ
る。そして、ステップS17へ進行する。
ステップ817では、トーンリクエストファイル62に
登録されている全ての1−−ンデータがチャンネル割当
てされたか否かが’I’!I 断される。この場合、エ
リア62C(第3図)にひ録されているトーンデータの
割当てのみしか欝んで・いないので、判断結果はrNO
Jであり、したがってプログラムはステップS8に戻る
。そして、L述したステップ88〜S16の過程が再度
繰返される。すなわち、ステップS8において空ヂVン
ネルとして第4チヤンネルが検出され、ステップ$9に
おいてヂ17ンネル番号「4」がヂVンネルレジスタ7
9に格納され、ステップS10においてトーンリクエス
トファイル62のエリア62dに記憶されているアドレ
スBに基づいてトーンデータパンクロ5からトーンデー
タiが続出され1〜−ンデータエリア80に転送され、
またエリア62d内の音量係数がトーンデータエリア8
0に転送され、ステップ811においてトーンデータの
修飾が行なわれ、ステップ5−12においてデータポー
1・18の第4チヤンネルに対応する領域エントリイア
ドレスが算出され、ステップS13において周波数デー
タエリア75内の周波数データおよび1〜−ンデータエ
リア80内のトーンデータ、音量係数がデータボート1
8へ出力され、ステップS14においてスタートコマン
ドレジスタ81の第4チヤンネルに対応するビットに“
1゛′がたてられ、これによりWG25の第4チヤンネ
ルがスタートシ、ステップS15.S16においてCΔ
T77のスロットb2の第4ビツトおよびビジィスティ
タスレジスタ78のスロット78aの第4ビツトに11
11+が書込まれ、そして、ステップ817へ進行する
ステップ817では、再度全トーンデータの割当てが終
了したか否かが判断されるが、この場合まだトーンリク
エストファイル62のエリア62eに記憶されているア
ドレスCに対応するトーンデータの割当てが終了してい
ないので、判断結果はr N 0.1で、あり、したが
っC1[1グラムは再度ステップS8へ戻り、ステップ
88〜816の過程が再度実行される。そして、このス
テップ88〜816の過程が実行されると、1〜−ンリ
クエストファイル62のエリア62eに記憶されている
アドレスCに対応するトーンデータ1−1−1が第5チ
ヤンネルに割当てられ、W G 25の第5チヤンネル
がスタートし、またCAT77のスロワ+−b2の第5
ビツトおよびビジィスティタスレジスタ78のスロット
78aの第5ビツトに各々111 IJが書込まれる。
このようにして、第1Aクターブ・C音のブpンネル割
当てが終了し、スピーカ2つからは、第1オクターブの
C音の音高で、かつそれぞれトーンデータi、i+1.
i+2に対応する音色の3種類の楽音が同時に発音され
る。また、この時点でビジィスティタスレジスタ78、
スタートコマンドレジスタ81の第2、第4、第5ヂP
ンネルに対応するビットには各々# I IJが登録さ
れておリ、ざらにCAT7.7のエリアF2の第2、第
4、第5ヂVンネルに対応するビットにもII 1 +
+が登録されている。
そして、プ[1グラノ、はステップ817へ進行するが
、このステップでの判断結果は当然rYEsJであり、
したがってプログラムはステップ818へ進行する。こ
のステップ818では、割当処理がなされた第1Aクク
ーブ・G 11に対応するビジィ−キーテープJし76
のスロット76aのエン1ヘリイアドレス(アドレスX
)が、CΔT77のエリアF2のヘッダー(すなわち、
スロワ1−a2)にJ1込まれる。次いで、ステップS
19に進行すると、エリア[2のエントリイアドレス(
アドレスY)がビジィキーデープル76のスロット76
a内に書込まれる。そして、ステップ820に進行し、
0N−RQ72の第171クターブ・C音に対応する″
゛1″1″ビツトo ”とされる。こうして、第1オク
ターブ・C音に基づく割当処理が全て終了する。
次に、プログラムは再びステップ$1に戻り、0N−R
Q72十の″″1″1″ビツトが行なわれる。この場合
、第6図に承り例においては第2オクターブ・D#γ1
に対応する“1゛°ピットが検出され(ステップ82)
、したがってプログラムはステップS3にjW行し、以
下上述した場合と全く同様の割当処理がなされる。そし
て、第2オクターブ・D#音の割当処理が終了すると再
びON・RQ72上の(r 1 IIビットの検出が行
なわれ、次に検出された゛1″ビット(第3Aククーブ
・[#音)に対応する割当処理がなされる。このように
して0N−RQ72上の゛1°′ビットの処理が全て終
了すると、ステップS2での判断結果は「NO」どなり
、ルーチンR7における処理が全て終了覆る。
次に、第7図におけるステップS21について説明する
。」口述した説明においてはステップS7におけるII
jlj断結果をrYEsJどして説明を進めたが、これ
は1NO」となる場合もあり11?る。すなわち、ビジ
ィスティタスレジスタ78の” O”ビットの数がトー
ンリクエストファイル62のへッダー62a内にひ録さ
れている数より少ない場合、言い換えれば1〜−ンデー
タをチャンネルに割当てたくとも、空ヂVンネルの数が
少なく、割当−てることができhい場合は、ステップS
7の判断結果はr N 0.1となり、プログラムはス
テップS21へ進む。このステップ821では、ディケ
イ状態にあるチャンネルのチャンネル番号を後述するダ
ンプコマンドレジスタ85(第9図参照)へロードし、
さらにこのダンプコマンドレジスタ85の内容をデータ
ボー1・18へ出力づ”ることにより、WG’25にお
いてディケイ状態にあるチャンネルを強制的に停止させ
てしまう。そして、ルーチンR7を出る。このような処
理をしておくと、WG終了処狸ルーチンI3においてビ
ジィスティタスレジスタ78の対応する゛′1″ビット
が” o ”とされ、これにより空チャンネルの数が増
加し、トーンデータの割当てが可能となる。なお、この
処理の意味は、ディケイ状態にある楽音の発音より新た
に押下されたキーに対応する楽音の発音の方を優先する
ということである。また、この処理を行なうために、レ
ジスタ22内に設(Jられた7゛イケイ状態のチャンネ
ル番gを記憶りるディケイスティタスレジスタ82が利
用される。
次に、CAT77のスロットh2の第6ビツトの”1”
(丸印を付しである)について説明する。
この第6ビツトの++ 1 ++は今回第1オクターブ
・C音のキーが押下されたことにより割当てられたもの
ではなく、前回同キーが押下された際771当てられた
ものである。ガなわら、前回押下されたキーが離される
と該キーが割当てられ!、:各チ17ンネルにおいて所
定のディケイ時間を経た後楽音信号の発生が停止トシ(
なお、この楽音伝号発生の停止は各チャンネル同時どは
限らない)、楽γI信月の発生が停止1−シたヂPンネ
ルに対応するCAT77内の゛1″ピットが′0″どさ
れるが、ある割当てチャンネルのディケイ時間が良い場
合は該チャンネルにおいて今回同キーを押下した時点ま
で1111回の楽音信号が発生し続けていることがある
。この場合、同キーを新たに押下した時点でビジィキー
テーブル76のスロット76aにはCAT77のエリア
E2のエントリイアドレス(アドレスYが登録され−で
おり、またエリア「2には楽音信号が発生し続けている
チレンネルに対応するビット(スロワ1〜b2の第6ビ
ツト)に1°′が残っている。したがって、今回の押下
キーに対するヂせンネル割当てはエリア「2に0録され
、さらにスロットb2の第6ビツトの1″ら同エリア[
2にそのまま残されることになる。(なお、楽音信号の
発生が停止卜シた場合の処理については後述する割込処
理ルーチン13を参照のこと。)なお、この実施例にお
いてはトーンリクエストファイル62内の各1〜−ンデ
ータ毎にチャンネルをスター1〜されているが、各チャ
ンネルをまとめて同時にスタートさせることも可能であ
る。
(10)キーオフ・チャンネルマネジメントルーヂンR
8 このルーチンR8は、ルーチンR6において作成された
0F−RQ73およびルーチンR7において作成された
ビジィキーテーブル76、CAT77に基づいて、離さ
れたキー(押下状態が解除〉 されたキー)にり・1応
する楽高を)重大するものである。以下、このルーチン
R6の実?7過程を第9図、第10図を参照し説明する
。なお、第9図にお()る0F−RQ73は第5図にd
ハJるO「・R073と同一である。
プログラムがこのルーチン1<8に入ると、まず第10
図に示11ステップS1に進行し、0「・RQ73上の
゛1″ピッ1〜の検出が?jなねれる。tI:お、この
検出は前述したO N −RQ 72上の“1″ビツト
の検出(第7図のステップ81)の場合と全く同様に行
なわれる。そして、第9図に示4例においては、まず第
1オクターブ・△#バーのII 1 IIビットが検出
され(ステップs2)、プログラムがステップS3に進
行する。ステップs3では、検出された゛1″ビットの
位置(OF−RQ73上の位置)に基づいて、ビジィキ
ーテーブル76の第1オクターブ・A#音に対応するス
ロット76mのエントリイアドレス(アドレスVとする
)が算出される。
次にステップS4に進行Jるど、咋出されたTン1〜リ
イアドレス(アドレスV)に基づいてスロワ1〜76m
の内容が続出され、レジスタ群50内に転送される。こ
の場合、スロット76IIlの内容(よ、第1オクター
ブ・A#音に関するチャンネル割当てがCAT77のエ
リア[nに登録されているとづると、■リアEnのエン
トリイアドレス(アドレスUとする)である。次にステ
ップS5に進行すると、スロワ1〜76mの内容(アド
レスU)に基づいてエリアE nのスロットbnおJ:
びcnの内容が続出され、ディケイコマンドレジスタ8
4はたはダンプコマンドレジスタ85のいずれかにロー
ドされる。
なお、いずれにロードされかはこの電子オルガンの操作
部に設けられた切替スイッチによってfil制御される
。ぞして、ステップS6に進行すると、ステップS5に
おいてエリアEnの内容がロードされたレジスタ(84
はたは85)の内容がデータポート18に出力され、こ
れにより第1オクターブ・△#音に対応する楽音の発音
が割当てられているチVンネル(第9図に示す例につい
ていえば、第1、第7、第8ブ(1ンネル)の楽音信号
の発生が停止される。この場合、ステップS5において
ディケイコマンドレジスタ84にロードされた場合は、
楽音がディケイをもって徐々に消去され、ダンプコマン
ドレジスタ85にロードされた場合は、楽音が即座に消
去される。次いでステップS7へ進行する゛と、OF・
RQ7’3上の第1オクターブ・A#音の“1°′ビツ
トが消去され、再びステップS1に戻る。そして、ステ
ップS1において第3オクターブ・10高の“11″ビ
ツトが検出されると、ステップS2の判断結果がrYE
sJとなり、上述した場合と同様にステップ$3〜S6
の過程が実行され、第3Aクターブ・「nが割当てられ
でいるチャンネルの楽音信号が停止され、またはディケ
イ状態とされる。そして、ステップS7において第3オ
クターブ・[nの” 1 ”ピッ1−が)重大され、再
びステップS1に戻る。このようにして、0F−RQ7
3十のll 1 IIピッ1〜の処理が全て終了すると
ステップS2での判断結果がr N 0.1どなり、こ
のルーチンR8における処理が終了する。
(,11)WG終了処理ルーチンI3 この割込処理ルーチンI3は、WG25のチャンネルに
おける楽音信号の発(1−が完全に停止した時(ディク
イ状態が終了した時)WG25から発生りる割込信号T
NTR3に基づいて実行されるしので、その主な目的は
ビジィスティタスレジスタ78(第6図、第11図)の
当該ヂ1シンネルに対応するビットを“′O″とし、こ
れにより同チャンネルを空ブI7ンネルとして新たに他
のキーに対応する楽音の発生を割当て得・るようにする
ことである。
づ゛なわち、1個の押下されたキーに対応して、複数の
チャンネル(上述した第3図、第6図等の例においては
3個のチャンネル)において発生する楽音信号は、必ず
しも同一タイミングで停止するとは限らず、例えばパー
カッシブ系の音の場合はキーが押下されているにもかか
わらず停止してしまうことがある。このような場合に、
同一キーに対応する他のチャンネルの楽音信号が全て停
止するまで、すでに楽音信号が停止したヂレンネルを待
機させるとすると、チャンネル使用の効率が非常に悪い
ものになる。この電T−オルガン【まこのような点を考
慮し、楽音発/I]が停止1几たヂトンネルを即座に他
のキーに解放しij7る。j:)に、この7.11込処
理ルーブン■3をiqcプでいる。
以下、第11図、゛第12図を参照しこの割込処理ルー
チン■3の実行過程について説明ηる。なお以下の説明
においては、いま第7チヤンネルにおいて楽音信号の発
と1−が停止し、またこの第7ブヤンネルがCAT77
のエリア[6に登録されているものどする。
第7ヂヤンネルにおいて楽音信号の発生が停)]二し、
これによりWG25から*I込(5号lNTR3が発生
ずると、プログラムは先ず第12図に示づステップS1
に進行する。ぞして、このステップS1においてビジィ
スティタスレジスタ78のスロワl−78aの第7ビツ
I〜(第7チヤンネルに対応)が0″とされ、次いでス
テップs2に進行する。このステップs2および次のス
テップs3はCAT77に登録されている第7チヤンネ
ルを消去する、具体的にいえばエリアE6の第7ヂヤン
ネルに対応するスロットb6の第7ビツi・の++ 1
 ++を消去するためのものである。そしてこの処理を
行なわれなければならない理由は次の通りである。例え
ば、第7チヤンネルにおいて今まで発生していた楽音信
号がパーカッシブ系の楽音信号であり、また同楽音信号
の発生が停止した時白で同楽音信号に対応するキー(最
初のキーと称?i)がまだ押下されたままであったとす
る。そして、同楽音信号が停止した時点でビジィスティ
タスレジスタ78の第7ヂヤンネルに対応するビットが
II O11とされることにより(ステップS1)、最
初のキーが離される前に新たに押下されたキー(次のキ
ーと称す)に対応する楽音の発生がこの第7チヤンネル
に割当てられる可能性がある。このような場合に上述し
た処理を行なっていないとすると、最初のキーが離され
た時点で同最初のキーに対応するCAT77のエリア(
7)−内容が例えばディケイコマンドレジスタ84に転
送され、さらにこのディケイコマンド1ノジスタ8/I
の内容がデータボート18に出力されて、次のキーに対
応する楽音の発生が割当てられている第7ブトンネルを
もディケイ状態に移行させて1ノまうことになる。
このような不都合を除くためにステップs2およびS3
による処理が必要となる。
さて、ブ【]グラムがステップs2に進?j−するどC
AT77の]エリアE1のヘッダー(スト1ツL−81
)が0′°であるか否かが判断される。この場合、例え
ばrNOJ(”O”でない)とJると、プログラムはス
テップs3に進行り゛る。ステップS3では、まずエリ
アF1のスロワl−b 1. C1の各ビットとビジィ
スティタスレジスタ78の対応するビットとの間で論理
ANDがとられ、次いでこの演算結束がスロットh 1
. c 1内に格納される。これによりスロットb1の
第7ごツI・に” 1 ”があった場合はその1′′が
消去される。
なお、この例においてはエリアE6のスロワ1〜1)6
の第7ビツトに1111+があるので、二1リア]三〇
のスロットb1の第7ビツトに“1″はない。したがっ
て、l j2AND演算の結果は、演算前のエリア[1
の内容と同一となる。
ステップS3の実行が終了するとステップS4へ進行す
る。このステップS4では、エリアE1の内容(スロッ
トl)1 、 c 1の内容)が全て((0++か否か
が判断される。この場合、−TリアE1には1″が残っ
ているので判断結末はrNOJとなり、プログラムはス
テップS6へ進む。このステップS6では上述したステ
ップS3にお番〕る処理がヘッダーが0“でない全ての
エリア(E1〜[15)においてなされたか否かが判断
される。この場合、エリア「1の処理しかなされていな
いので、判断結果1.1:rNOlであり、したがって
プログラムは再びステップS2に戻る。ステップS2で
は、今度CまコーリアE2のヘッダー(スロワI−a2
)が゛0パか否かが判断される。この場合、ヘッダーが
0″とすると(「YES」)、プロゲラ18はステップ
S6に進む。このステップS6での判断結果はr 、N
 OJであり、プログラムは再びステップS2に進み、
■リアE3のヘッダーが調べられる。このうにしてエリ
アE1.F2.・・・・・・と順次各エリアが調べられ
、またステップS3の処理がなされ、そしてステップS
2においてエリアE6のヘッダー(スロットaf’3)
が調べられたとする。この場合、ステップS2にお)す
る判断結果はrNOJとなり、ステップS3に進む。そ
して、このステップS3においてビジィスティタスレジ
スタ78の内容と1リアF6のスロットb6゜C6の内
容との論理A N Dがとられることにより、スロワ]
〜b6の第7ビツ1〜の1″が消去される( ” O”
とされる)。次いで、ステップS/lへ進行すると、エ
リア「6のスロットb6.c6の内容が全て” O”で
あるか否かが判断され、この場合、まだ′1′′が残っ
ているとするとプログラムはステ・シブS6へ進行する
。こうしく、仝:[リアE1〜[15についての処理が
終Y′?するとブ[1グラムはこの割込処理ルーチンI
3を出る。
次に、例えばいj:第8チヤンネルが終了し、またこの
第8チヤンネルがCAT77のエリアF7にσ録されて
おり、さらにこの第8チトンネルC発生していた楽ン入
信号のディケイ時間が比較的長かった場合について説明
覆る。
割込信号lNTR3が発生し、プログラムがステップS
1に進行すると、ビジィスティタスレジスタ78のスロ
ワt−7)’l aの第8ビツト(第8チヤンネルに対
応)の1″が消去される。次いで、前述した場合と同様
にしてエリアE1〜E6が処理された後、ステップS3
においてエリアF7のスロットh7の第8ピツ1〜の“
1″が消去され、そしてスフツブS/Iへ!!oむ。こ
こで、第8チヤンネルの楽B (; 弓のディケイ時間
が比較的長かったため、第8ヂVンネルが終了した時点
ではエリアF7の他の” 1 ”ピッ1〜が全て消去さ
れていたとする。この場合、ステップS3の実行によっ
てステップS4の判断結果はrYEsJとなり、プログ
ラムはステップS5へ進行づる。そして、このステップ
S5において、まずエリアE7のヘッダーに記憶されて
いるビジィキルテーブル76(第9図参照)のエントリ
イアドレスに基づいて、同エントリイアドレスによって
指示されるビジィキーテーブル76のスロットの内容が
消去され、次にエリアE7のヘッダーが消去される。す
イ(わち、エリアとビジィキーテーブルとの結合が解か
れる。
そして、この処理によりエリア「1が他のキーに対しで
解放されることになる。
なお、参考までにこれまでに説明したROM20、RA
M2ルジスタ22の各内容をまとめて第13図に示1゜ R後に、第1図に示す1〜−ン1ツバ−38として用い
られるエンコーグスイッチを第14図に示す原理図を用
い(説明づるn11目IQ3(1a、l=には、図示す
る4つの領域a 、 b 、 c 、 d間に連続して
導体(図中斜線で・示1)が形成された接点381)、
領域a、Cに導体が形成され且つ領域b 、 dに絶縁
体(図中白い部分で示71−)が形成された接点38C
1領域a、hに導体が形成され且つ領域C1dに絶縁、
体が形成された接点3811がそれぞれ配設され、更に
これら各接点38b 、38c 、38d上の各領域a
、b、c、d上をこれら接点38b〜38dに接触しな
がら図中の矢印方向eまたは[にスライドできるように
した導体からなる接点スライダ380が配設されている
。また上記各接点38b 、38c 、38dはそれぞ
れ対応する端子38f 、’38o +’ 381+に
接続されている。
更に上記Q;!、i了38fに【、1スギヤンストロ一
ブ信号が加えられている。他方、端子38(1,381
+はぞれぞれ対応するダイオードDO、DIのカソード
に接続され、上記ダイオード[)0 、 [)1の各ア
ノードはそれぞれ対応するバッフ7アンブBO。
Biの入力端に接続されている。更にまた一V記ダイオ
ードl)O,DIの各アノードは一喘が電源十VCCに
接続された抵抗RO,R1の各11(端にも接続され、
また上記バッファアンプBO、B1の出力端:からは信
号BI T < 0> HFたはBIT<1>が出力さ
れるように構成されている。
上記スキVンストローブ信号は、−ヒ述したエンコーダ
スイッチをスキレンするための信号で、この実施例の場
合前述した第1図のアトIノスデコーグ34にスイッチ
アドレス信号が供給されたときに該デコーダ34から出
力される。
エンコーダスイッチが上記のJ:うに構成されているの
で、たとえば第1/1図に示111ンコーダスイッヂが
第3図にお(〕るトーンレバー1として使用されている
とぎに【:1、このエンコーダスイッチの接点スライダ
38eは第14図に想像線で示1領域(1の位置に設定
されていることになる。つまり、接点38C,38dの
各領域(1は1)3S5.!381+と電気的に遮断さ
れているから、端子38[にスキI?ンスi〜【]−ブ
信号が入力されでも各ダイオードDo 、DIのアノー
ドは電源+VCCの電圧レベルにあり、したがって各バ
ッファアンプBO,B1の出力信号B I T < O
>、BIT<1>の出力レベルはともに2値論理レベル
゛Oパである。したがってトーンレバー1は音量Oのリ
フニス[・状態にあることになる。
なお、上記エンコーダスイッチは2ビツトのバイナリコ
ードによる4段階の音量切換え用としたが、更に3ビツ
ト、4ピツ1〜のようなバイナリコードによる多数段階
の音量切換え用にすることも容易である。またエンコー
ダスイッチとしてはバイナリコードのみならずグレイコ
ードのような他のコードによるものでも使用できる。
以上J2明したように、この発明によればプログラム制
御を用いているので、#l数の変更等各種の仕様変更に
交うし、プログラムを変更することにより簡単に対処す
ることがでさる。また、この発明によれば複数のキース
イッチをグループ分けし、キー走査の際各グループ内の
キースイッチを同時にヂエックするようにしたので、従
来のものに比較しキースイツヂの走査スピードが上がる
利点がある。演奏曲目にj;っては鍵走杏が非常に速い
曲があるが、この発明による電子楽器はこのような曲の
場合にも充分対応1)−ることができる。
【図面の簡単な説明】
第1図ないし第13図はこの発明による電子Aルガンの
一実施例を示す図であり、第1図は全体の構成を示す図
、第2図(イ)はプログラムの流れを示すフローチャー
ト、第2図(ロ)は割込処理ルーチンを示す図、第3図
は第2図に示すトーンレバー処理ルーヂンR3の実行時
において関係するROM20、RAM21.1ノジスタ
22の記憶内容を示す図、第4図は上記ルーチンR3の
フローチャート、第5図は第2図に示すキーオン・リク
エス]−ファイル作成ルーヂンR5、キーオフ・リクエ
ストファイル作成ルーチンR6の実行時において関係す
るRAM21、レジスタ22の記憶内容を示す図、第6
図は第2図に示1゛キーオン・チャンネル71ノーイン
メントルーチンR7の実行時において関係づ゛るRAM
21、レジスタ22の内容を示す図、第7図、第8図は
其に上記ルーヂンR7の7[]−ヂャート、第9図は第
2図に示す4ニーオフ・チャンネルマネジメントル−ヂ
ンR8の実行n、iにおいて関係するRAM21、レジ
スタ22の内容を示す図、第10図は上記ルーチンR8
のフローヂV−ト、第11UAは第2図1s示η−WG
終了処始期−ブン13の実行時にJjいて関係するRA
M21、レジスタ22の内容を示TI図、第12図は上
記ルーチンI3のフロープレー1・、第13図はROM
20、RAM21、lノジスク22、データボート18
の各記憶内容4:1:どめて示しl、:図、第14図は
トーンレバーとして用いられるエンコーダスイッチの構
成を示す図である。 11・・・・・・鍵盤回路、15・・・・・・演算部、
16・・・・・・割込制御回路、20・・・・・・RO
M、21・・・・・・RAM、22・・・・・・レジス
タ、30・・・・・・データバス、34・・・・・・ア
ドレスバスク、35・・・・・・バッハアバスドライバ
、37・・・・・・アドレスバス、39・・・・・・鍵
盤キー、44・・・・・・マイク[コブログラムアドレ
スシーケン゛す”、45・・・・・・マイクロプログラ
ムメモリ。 出願人 日本楽器製造株式会社 f′へ8図 第14図

Claims (2)

    【特許請求の範囲】
  1. (1)鍵情報を処理するための所定のプログラムを記憶
    したプログラムメモリと、 上記プログラムメモリに記憶された」−記プログラムを
    順次読み出すプログラムシーケンサと、読み出された上
    記プログラムの内容を解読して該プログラムの内容に対
    応した処理を実行する制御手段と、 パスラインと、 上記制御手段により制御され、所定のアドレス情報を上
    記パスラインに出力するアドレス情報出力手段と、 複数の鍵スィッチを、所定数の鍵スィッチを1つのグル
    ープとして複数の鍵スイツチグループに分割した鍵スィ
    ッチ回路と、 上記パスライン及び−上記鍵スイッチ回路に接続され、
    上記パスライン上のアドレス情報に対応して、上記複数
    の鍵スイツチグループのうら1つの鍵スイツチグループ
    を指定し、この指定した鍵スイツチグループに属J“る
    複数の鍵スィッチの走査状態情報を上記パスラインに出
    力さ1!る手段と、上記制御手段により制御され、ト記
    パスライン上の鍵スィッチの走査状態情報を取り込み記
    憶するための記憶手段と、 を備え、 上記アドレス情報出力手段が出力りる上記アドレス情報
    を順次変化させることににす、手記鍵スイッチの操作状
    態情報を、鍵スィッチグループ毎に順次上記パスライン
    を介して上記記憶1段に取り込み、この記憶手段の内容
    に対応して楽音信号の発生を制御するようにしたことを
    特徴とする電子楽器。
  2. (2)所定のタイミングで割込制御信号を出力する割込
    制御手段を具備し、上記プログラムの読み出しは上記割
    込制御信号により利口11されることを特徴とする特許
    請求の範囲第1項記載の電子楽器。
JP59029910A 1984-02-20 1984-02-20 電子楽器 Granted JPS60149090A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59029910A JPS60149090A (ja) 1984-02-20 1984-02-20 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59029910A JPS60149090A (ja) 1984-02-20 1984-02-20 電子楽器

Publications (2)

Publication Number Publication Date
JPS60149090A true JPS60149090A (ja) 1985-08-06
JPS6339073B2 JPS6339073B2 (ja) 1988-08-03

Family

ID=12289143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59029910A Granted JPS60149090A (ja) 1984-02-20 1984-02-20 電子楽器

Country Status (1)

Country Link
JP (1) JPS60149090A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49130213A (ja) * 1973-04-13 1974-12-13
JPS5120815A (ja) * 1974-08-12 1976-02-19 Nippon Musical Instruments Mfg
JPS5120816A (ja) * 1974-08-12 1976-02-19 Nippon Musical Instruments Mfg
JPS51131623A (en) * 1975-05-12 1976-11-16 Kawai Musical Instr Mfg Co Ltd Circuit for electric instrument key

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49130213A (ja) * 1973-04-13 1974-12-13
JPS5120815A (ja) * 1974-08-12 1976-02-19 Nippon Musical Instruments Mfg
JPS5120816A (ja) * 1974-08-12 1976-02-19 Nippon Musical Instruments Mfg
JPS51131623A (en) * 1975-05-12 1976-11-16 Kawai Musical Instr Mfg Co Ltd Circuit for electric instrument key

Also Published As

Publication number Publication date
JPS6339073B2 (ja) 1988-08-03

Similar Documents

Publication Publication Date Title
US4022098A (en) Keyboard switch detect and assignor
US3990339A (en) Electric organ and method of operation
US4881440A (en) Electronic musical instrument with editor
US4476766A (en) Electronic musical instrument with means for generating accompaniment and melody sounds with different tone colors
US5393927A (en) Automatic accompaniment apparatus with indexed pattern searching
US4633751A (en) Automatic performance apparatus
US4387617A (en) Assigner for electronic musical instrument
US4448104A (en) Electronic apparatus having a tone generating function
US4160399A (en) Automatic sequence generator for a polyphonic tone synthesizer
US5321198A (en) Tone signal generator utilizing ancillary memories for electronic musical instrument
JPS6222157B2 (ja)
JPS5943758B2 (ja) 電子楽器用アサイナ
JPS6336669B2 (ja)
JPS60149090A (ja) 電子楽器
US4957031A (en) Automatic music playing apparatus having plural tone generating channels separately assignable to the parts of a musical piece
US4466326A (en) Electronic musical instrument
GB2091470A (en) Electronic Musical Instrument
JPS6222158B2 (ja)
JPS6113599B2 (ja)
JPS6252317B2 (ja)
JPS60149091A (ja) 電子楽器
JPS60149092A (ja) 電子楽器
JPS58214198A (ja) 電子楽器
CN1047582A (zh) 一种乐器导引装置
JPH01179087A (ja) 自動演奏装置