JPS5943758B2 - 電子楽器用アサイナ - Google Patents

電子楽器用アサイナ

Info

Publication number
JPS5943758B2
JPS5943758B2 JP51158951A JP15895176A JPS5943758B2 JP S5943758 B2 JPS5943758 B2 JP S5943758B2 JP 51158951 A JP51158951 A JP 51158951A JP 15895176 A JP15895176 A JP 15895176A JP S5943758 B2 JPS5943758 B2 JP S5943758B2
Authority
JP
Japan
Prior art keywords
tone
data
channel
musical
key
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
JP51158951A
Other languages
English (en)
Other versions
JPS5383730A (en
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 JP51158951A priority Critical patent/JPS5943758B2/ja
Publication of JPS5383730A publication Critical patent/JPS5383730A/ja
Priority to US06/124,006 priority patent/US4387617A/en
Publication of JPS5943758B2 publication Critical patent/JPS5943758B2/ja
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 この発明は、ディジタル式の電子楽器に使用され、特に
鍵盤キーにより選択された音の発音を楽音発生チャンネ
ルに割当てるアサイナの改良に関する。
最近、コンピュータや半導体技術の発展にともなつてL
SI(大規模集積回路)部品等を使用したディジタル式
の電子楽器が種々開発され実用化されている。
第1図は従来のディジタル式電子オルガンの概念的な構
成を示すブロック図である。図にみられるように従来の
電子オルガンは鍵盤回路1、キーコータ2、チヤンネル
アサイナ3からなるプロツクAと、エンベロープジェネ
レータ5、ウェーブジェネレータ6、D/A変換器7、
増幅器8、スピーカ9からなるプロツクBとから構成さ
れている。上記鍵盤回路1は、各鍵盤キー(以下単にキ
ーと称す)に対応して設けられた多数のキースイツチを
有して構成される。
キーコータ2は上記各キースイツチのオン・オフ状態を
検出し、押下キーを表わすキーコードを順次出力する。
チヤンネルアサイナ3は、キーコータ2から供給される
キーコード(押下キー)に対応する楽音の発音をウェー
ブジェネレータ6に設けられた複数の楽音発生チヤンネ
ル(以下単にチヤンネルと略称する)のいずれかに割当
てる。この場合、チヤンネルアサイナ3は各チヤンネル
に対応する記憶位置を有し、あるキーの発音が割当てら
れたチヤンネルに対応する記憶位置にそのキーを表わす
キーコードを記憶し、各記憶位置に記憶されたキーコー
ドを順次、シ時分割でウェーブジェネレータ6の各チヤ
ンネルに出力する。また、このチヤンネルアサイナ3は
、押下キーが発音割当てされたチヤンネルにおいて発音
がなされるべきであることを表わすエンベロープスター
ト信号を、前記キーコードの出力と同乏期して、時分割
でエンベロープジェネレータ5へ出力し、さらに、各チ
ヤンネルに発音割当てされたキーが離された時は、離さ
れたキーに対応する楽音が減衰状態になるべきことを表
わすデイケイスタート信号を、時分割でエンベロープジ
エネレ5ータ5へ出力する。エンベロープジェネレータ
5は、チヤンネルアサイナ3から供給される各チヤンネ
ルのエンベロープスタート信号およびデイケイスタート
信号に基づき、各チヤンネルの楽音の発音を制御する工
3ンベロープ情報(エンベロープ波形)を各チヤンネル
に対応して出力する。
ウェーブジェネレータ6は、複数(例えば12個)のチ
ヤンネルを有し、各チヤンネル毎にそれぞれ独立して楽
音信号を形成するもので、例えば4周波数情報メモリ、
波形メモリ等から構成され、チヤンネルアサイナ3から
供給される押下キーのキーコードおよびエンベロープジ
ェネレータ5から供給されるエンベロープ情報に基づい
て、各チャンネルにおいて楽音信号(デジタル信号)を
形成する。
そしてこのウェーブジェネレータ6の各チヤンネルにお
いて形成された楽音信号(デジタル信号)がD/A(デ
ジタル/アナログ)変換回路7においてアナログ楽音信
号に変換され、増幅器8を介してスピーカ9から楽音と
して放音される。なお、上述した従来のデイジタル式電
子オルガンはこの発明の出願人の出願になる特開昭49
130213号によつて開示されている。ところで、上
述した電子オルガンにおけるチヤンネルアサイナ3は、
各押下キーの楽音の発音を複数のチヤンネルのいずれか
1つに割当てるようになつているため、各押下キーに対
し複数の音色の楽音を同時に発生させることができなか
つた。
若し、各押下キーに対し複数の音色の楽音を同時に発生
させようとすると、複数のウェーブジェネレータを並列
的に設けなければならず、構成が非常に複雑となつてし
まう。この発明はこのような欠点を解消するためになさ
れたもので、各押下キーに対して複数のチヤンネルをそ
れぞれ割当て、また割当てられた各チヤンネルの各々に
おいて異なる音色の楽音信号を発生させ、以つて各押下
キーに対し同時に複数の音色の楽音信号を発生できるよ
うにした電子楽器用アサイナを提供するものである。
以下、図面を参照しこの発明の実施例について説明する
第2図は、この発明によるアサイナを適用した電子オル
ガン(電子楽器)の構成を示すプロツタ図であり、この
図に示す電子オルガンは大きく分けると吋盤回路11、
アサイナ12および楽音発生部13から構成される。
そして、上記アサイナ12は制御部14、演算部15、
割込制御回路16、パルス発生器17、データポート1
8を具備する演算制御部19と、ROM(リードオスリ
ーメモリ)20、RAM(ランダムアクセスメモリ)2
1、レジスタ22を具備する第1の記憶部23とから構
成され、また楽音発生部13は、321固のチヤンネノ
レを有するウェーブジェネレータ(以下WGと称す)2
5と、このWG25にエンベロープ情報を送出するエン
ベロープジェネレータ26と、D/A(デジタル/アナ
ログ)変換回路27と、増幅器28と、スピーカ29と
から構成される。なお、上述した制御部14および演算
部15は通常マイクロコンピユータを用いて構成される
。また上述したエンベロープとは楽音信号の包絡線のこ
とである。すなわち、通常の楽音信号は第2図において
符号Bにて示すように、立上り状態(アタツク状態)B
l.持続状態B2、立下り状態(デイケイ状態)B3の
3状態からなるエンベロープを有している。この電子オ
ルガンはプログラムコントロールで動作するもので、そ
のプログラムはROM2Oに記憶されている処理プログ
ラムと制御部14内のマイクロプログラムメモリ45に
記憶されている各種マイクロプログラムから構成される
また、WG25において楽音信号(デジタル信号)を形
成するために必要な各種トーンデータおよび周波数デー
タはROM2Oに記憶されている。そして、上記処理プ
ログラムおよびマイクロプログラムに基づいて、次の様
に動作するものである。すなわち、キーが押下されると
、まず鍵盤回路11が押下されたキーに対応するキース
イツチ情報をデータバス30を介してアサイナ12に供
給する。アサイナ12は供給されたキースイツチ情報に
対応する周波数データおよびトーンデータをROM2O
から読出し、読出したデータをWG25の複数のチヤン
ネルに対して割当てる。WG25の各チヤンネルは当該
チヤンネルに割当てられたデータおよびエンベロープジ
ェネレータ26から供給されるエンベロープ情報に基づ
いて楽音信号(デジタル信号 を形成する。そして、こ
れら各チヤンネルで形成された楽音信号がD/A変換器
27においてアナログ信号に変換され、増幅器28を介
してスピーカ29から楽音として放音される。以上、こ
の電子オルガンの概略を述べたが、次にこの電子オルガ
ンの詳細を説明する。まず、鍵盤回路11はアドレスデ
コーダ34、バツフアバスドライバ35、マトリツクス
回路36から構成される。
アドレスデコーダ34はアドレスバス37を介して供給
されるスイツチアドレス信号をデコードするもので、こ
の実施例では5個の出力端を有し、またこれらの各出力
端がマトリツクス回路36の各列線にそれぞれ接続され
ている。マトリツクス回路36は12行5列のマトリツ
クスであり、このマトリツクスの各支点には、トーンレ
バー([ヴアイオリン」、[フルート」等の音色を設定
するためのレバー)38の各スイツチの接点および鍵盤
キー39の各キースイツチの接点が、図において符号A
にて示すように、ダイオードと共に介挿されている。な
おこの実施例においては、説明の便宜上トーンレバー3
8が6個のトーンレバーからなり、また各トーンレバー
はいずれも4段階で音量を調整可能なものとし(したが
つて、各トーンレバーに関する情報は2ビツトで表わさ
れ、この2ビツトに対応してトーンレバースイツチは各
トーンレバーに対し2個づつ、合計12個となる)、ま
た鍵盤キー39は4オクターブ(12×4−48キー)
から構成されるものとする。そして、各トーンレバーの
スイツチがマトリツクス回路36の左側(図において)
1列に配置され(図において破線で囲んだスイツチ2個
が1つのトーンレバーに対応する)、また鍵盤キー39
の各キースイツチがマトリツクス回路36の右側4列に
配置されている。バツフアバスドライバ35は上記各ス
イツチのオン・オフ情報をデータバス30に出力するた
めのバスドライバであり、12個の入力端および出力端
を有し、入力端は各々マトリツクス回路36の各行線に
接続されているとともに、出力端はデータバス30に接
続されている。
制御部14はインストラクシヨンレジスタ42、インス
トラクシヨンデコーダ43、マイクロプログラム・アド
レスシーケンサ44、マイクロプログラムメモリ45(
第2の記憶部)、パイプラインレジスタ46から構成さ
れる。
インストラクシヨンレジスタ42はROM2Oから読出
される処理プログラムの各命令を一時記憶するもので、
このインストラクシヨンレジスタ42に一時記憶された
命令はインストラクシヨンデコーダ43によつて解読さ
れ、マイクロプログラム・アドレスシーケンサ44に供
給される。マイクロプログラム・アドレスシーケンサ4
4はインストラクシヨンデコーダ43の出力に基づいて
マイクロプログラムメモリ45のアドレスを指定し、こ
の結果、マイクロプログラムメモリ45から前述したイ
ンストラクシヨンレジスタ42に一時記憶されている処
理プログラムの命令に対応するマイクロプログラムが読
出され、パイプラインレジスタ46に供給される。演算
部15はマイクロフアンクシヨン・デコーダ(以下、M
FDと略称する)48、演算回路49等を有して構成さ
れ、制御部14から供給されるマイクロプログラムの各
命令を解読して所定の処理を実行するものである。
すなわち、MFD48はパイプラインレジスタ46から
供給される上記マイクロプログラムの各命令を解読し、
この解読結果に基づいて、レジスタ群50、マルチプレ
クサ51,52、演算回路49、メモリアドレスレジス
タ53、データレジスタ54、アウトプツトバツフア5
5,56へ各々制御信号を出力する。レジスタ群50は
マイクロプログラムの各命令を処理する過程で使用され
るワーキングレジスタであり、演算回路49の出力がM
FD48からの制御信号により読込まれ、またこのレジ
スタ群50の出力はマルチプレクサ51の第2の入力端
に供給される。マルチプレクサ51は、その第1の入力
端がデータバス30に、第3の入力端がデータレジスタ
54の出力端に各々接続されており、MFD48からの
制御信号に基づいて第1〜第3の入力端に得られるデー
タを選択的に演算回路49へ出力するものである。マル
チプレクサ52は、その第1の入力端がデータバス30
に、第2の入力端がデータレジスタ54の出力端に各々
接続されており、これら第1、第2の入力端に得られる
データを選択的に演算回路49へ出力する。演算回路4
9はマルチプレクサ51,52から供給される各種デー
タ(このデータには第1の記憶部23の各メモリのアド
レスを指定するアドレスデータおよび前述したキーをチ
ヤンネルに割当てる際使用されるデータがある)をMF
D48からの制御信号に基づいて演算し、演算結果をメ
モリアドレスレジスタ53あるいはデータレジスタ54
へ供給する。メモリアドレスレジスタ53は演算回路4
9から供給されるアドレスデータを一時記憶するもので
、このメモリアドレスレジスタ53の出力はアウトプツ
トバツフア55を介してアドレスバス37へ出力される
。データレジスタ54は演算回路49から供給されるデ
ータ(キーをチヤンネルに割当てる際使用されるデータ
)を一時記憶するもので、このデータレジスタ54の出
力はアウトプツトバツフア56を介してデータバス30
に出力される。割込制御回路16は割込発生の際の各種
処理を行なうものである。
ここで、この電子オルガンの割込信号について説明する
。この電子オルガンは3個の割込信号1NTR1、IN
TR2、INTR3を有している。割込信号1NTR1
はパルス発生器17の出力に基づいて、割込制御回路1
6内で数Mse晦に周期的に発生する割込信号であり、
この割込信号1NTR1が発生すると、鍵盤キー39の
各キースイツチのオン/オフ情報がRAM2l内に読込
まれる。割込信号1NTR2はパルス発生器17の出力
を割込制御回路16内の分周器によつて分周して作られ
る割込信号であり、数100mse晦に周期的に発生す
る。そして、この割込信号1NTR2が発生すると、ト
ーンレバー38の各スイツチのオン/オフ情報がRAM
2l内に読込まれる。なお、割込信号1NTR2の周期
が割込信号1NTR1の周期よりはるかに犬となつてい
る理由は、通常各キーが頻繁に操作されるのに対して、
各トーンレバーは各キーほど頻繁には操作されないから
である。割込信号1NTR3はWG25から供給される
割込信号であり、WG25内の各チヤンネルにおいて形
成された楽音信号が0となつた時点で発生するものであ
る。なお、この割込信号NTR3については後述する。
そして、これらの割込信号1NTR1〜INTR3のい
ずれかが発生すると、制御部14がこれを検知し、現在
実行中のマイクロプログラムモジユールが終了した時点
で割込命令をインストラクシヨンレジスタ42内に読込
み、その解読を行なう。
なお、割込信号NTRl〜INTR3の優先順位は、割
込制御回路16において、INTR3〉INTRl〉I
NTR2 の如く定められる。
ROM2Oは、前述したように処理プログラム、周波数
データおよびトーンデータ等を記憶するもので、アウト
プツトバツフア55からアドレスバス37を介してアド
レス信号が供給され、また同アドレス信号によつて読出
された処理プログラムの各命令あるいは各種データがデ
ータバス30に出力される。
RAM2lは、チヤンネル割当ての際使用される各種デ
ータテーブル、データフアイル等が記憶されるもので、
アウトプツトバツフア55からアドレス信号が供給され
、またその入出力端がデータバス30に接続されている
。レジスタ22は各種ステイタスあるいはコマンド(後
述)等が記憶されるもので、アウトプツトバツフア55
からアドレス信号が供給され、またその入出力端はデー
タバス30に接続されている。データポート18はRO
M2Oに記憶されている周波数データ、トーンデータお
よびレジスタ22に記憶されている各種コマンドをWG
25お 5よびエンベロープジェネレータ26へ出力す
るためのレジスタであり、アウトプツトバツフア55か
らアドレスが供給され、また、その入力端はデータバス
30に接続されている。
なお上述したROM2O、RAM2l.レジスタ22お
よびデ 10ータポート18の各記憶内容を第14図に
示す。次に、第2図に示す電子オルガンの動作を第3図
に示す流れ図に基づいて説明する。なお、以下の説明に
おいで1”とあるのは二値論理レベルの゛1”信号を示
し、゛O”とあるのは二値論理 15レベルの″0゛信
号を示すものとする。第3図イはプログラムの流れを示
す流れ図であり、また第3図帽ま割込処理ルーチンであ
る。
この図に示すように、この電子オルガンのプログラムは
R1〜R8なる8個のメインルーチンおよび2011〜
13なる3個の割込処理ルーチンから構成される。そし
て、各ルーチンが複数のマイクロプログラムモジユール
化されマイクロプログラムメモリ45内に記憶され、ま
たこれらのマイクロプログラムモジユールを呼出すマク
ロ命令が処理プ25ログラムとしてROM2O内に記憶
されている。以下、上記各ルーチンについて順次説明す
る。(1)初期りセツトルーチンR1この電子オルガン
に いて電源が投入されると、プログラムはまずこの初
期リセツトルーチ30ンR1に入り、各部の初期りセツ
トが行なわれる。
(2) トーンレバー・オン/オフ検出ルーチン1この
割込処理ルーチンは割込信号NTR2が数100TrL
sec0インターバルで発生するたび35に実行される
もので、割込信号1NTR2が発生した時点における鍵
盤回路11の各トーンレバースイツチのオン/オフ状態
を検出するものである。
すなわち、割込制御回路16において割込信号1NTR
2が発生すると、アドレスデ40コータ34にスイツチ
アドレス信号が供給され、このスイツチアドレス信号に
基づいて各トーンレバースイツチのオン/オフ情報がバ
ツフアバスドライバ35およびデータバス30を介して
レジスタ22内に読込まれる。そして、この読込まれた
トーンレバースイツチのオン/オフ情報に基づいて、レ
ジスタ22内に第4図に示すニユートーンレバ一・ステ
イタステーブル(以下、NTSと略称する)60が作成
される。この場合、このNTS6Oにおいては、各トー
ンレバー1〜6の音量設定が2進数によつて示されるよ
うになつている。すなわち、図に示す例においてはトー
ンレバー1,4,5,6が音量「O」を要求し、トーン
レバー2が音量「3」を、トーンレバー3が音量「2」
を要求している。3) トーンレバー位置・変化検出レ
ーチンR2前述した初期りセツトルーチンR1が終了す
ると、プログラムはこのルーチンR2に進行する。
このルーチンR2は、現在のNTS6Oの内容が前回こ
のルーチンR2を実行した時点における同NTS6Oの
内容と異なつているか否かを検出するもので、このNT
S6Oの内容とRAM2l内に作成されているオールド
トーンレバー・ステイタステーブル(以下、0TSと略
称する;第4図参照)61の内容とを比較することによ
り上記検出が行なわれる。なお0TS61は前回このル
ーチンR2を実行した時点におけるNTS6Oの内容を
示すもので、次に説明するルーチンR3において作成さ
れる。
そして、ルーチンR2を実行した結果が「YES」(変
化あり)の場合は、プログラムがルーチンR3に進行し
、また「NO」(変化なし)の場合はルーチンR4に進
行する。
4) トーンレバー処理ルーチンR3 このルーチンR3は上記NTS6Oの内容に基づいて第
4図に示すトーンリクエストフアイル62をRAM2l
内に作成するものである。
そして、この電子オルガンにおいては、このルーチンR
3において作成されるトーンリクエストフアイル62に
基づいてROM2O内のトーンデータがWG25の各チ
ヤンネルに割当てられるようになつている。すなわち、
ROM2O内には第4図に示すように予め音量テーブル
63、トーンレバー・インデツクステーブル64および
トーンデータバンク65が設けられている。
そして、音量テーブル63には、トーンレバーによつて
設定される音量「1」〜「3」に対応する音量係数(W
G25の各チヤンネルはこの音量係数に基づいて音量設
定を行なう)が予め記憶され、トーンデータバンク65
には複数のトーンデータ、すなわち・・・・・・トーン
データi−1、トーンデ一 5夕i1トーンデータi+
1、トーンデータi+2・・・・・・が記憶され、また
トーンレバーインデツクステーブル64には、各トーン
レバー1〜6に対応するトーン(音色)を構成するため
のトーンデータのアドレスポインタが記憶されてい 1
0る。
この場合、図に示す例について説明すると、トーンレバ
ー1に対応するトーン(音色)はトーンデータi−1お
よびiから構成され、したがつてトーンレバーインデツ
クステーブル64のトーンレバー1に対応するスロツト
(記憶工 15リア)64aには、トーンデータバンク
65におけるトーンデータi−1、iの各先頭番地、す
なわちアドレスAおよびアドレスBが記憶され、トーン
レバー2に対応するトーンはトーンデータi+2によつ
て構成され、したがつてス 20ロッド64bにはアド
レスDが記憶され、またトーンレバー3に対応するトー
ンはトーンデータI.i+1から構成され、したがつて
スロツト64cにはアドレスB1アドレスCが記憶され
ている。なお、この実施例においては各ト一 25ンレ
バ一に対応するトーンを構成するトーンデータの数を最
大2としたが、これは複数個可能であり、最大2に制限
する必要はない。そして、プログラムがこのトーンレバ
ー処理ルーチンR3(第5図にこのルーチンR3のフ
30ローチヤートを示す)に入ると、まずレジスタ22
内のNTS6O(第4図)に記憶されているトーンレバ
ー1の音量情報が演算部15のレジスタ群50内に読出
される。
しかし、この場合音量が「0」であるので、何らの処理
も行な 35われない。次いで、トーンレバー2の音量
情報がレジスタ群50内に読出される。この場合、音量
「3」が指定されている。したがつてまずトーンレバー
インデツクステーブル64のスロツト64b内のアドレ
スポインタ(すなわち、 40アドレスD)がトーンリ
クエストフアイル62のエリア62c内に書込まれ、次
いで音量テーブル63内の音量[3」に対応する音量係
数[1111111」が上記エリア62c内に書込まれ
る(第4図参照)。次に、トーンレバー3の音量情報が
レジスタ群50内に読出される。この場合、音量「2」
が指定されており、したがつて、まずテーブル64のス
ロツト64c内の第1のアドレスポインタ(すなわち、
アドレスB)がトーンリクエストフアイル62のエリア
62d内に書込まれ、次に音量「2」に対応する音量係
数(「0100000」)が同エリア62d内に書込ま
れ、次にスロツト64c内の第2のアドレスポインタ(
すなわち、アドレスC)がエリア62e内に書込まれ、
次に音量「2」に対応する音量係数(「0100000
1)が同エリア62e内に書込まれる。このようにして
、NTS6O内の各トーンレバーの音量情報が順次読出
され、処理される。そして、最後にトーンリクエストフ
アイル62内に書込まれたアドレスポインタの数、すな
わちトーンリクニストフアイル62に登録されたトーン
データの数が同トーンリクエストフアイル62のヘツダ
一(すなわち、エリア62a)に書込まれ、トーンリク
エストフアイル62の作成が終了する。トーンリク=〔
ストフアイル62の作成が終了した後NTS6Oの内容
を0TS61内に転送し、プログラムはこのルーチンR
3を出る。このよう(ζこの電子オルガンにおいてはこ
のルーチンR3において第4図に示すようなトーンリク
エストフアイル62が作成される。この場合、各トーン
Lノバ一はトーンレバーインデツクステーブル64のア
ドレスポインタのみと対応しているので、このテーブル
64のアドレスポインタを変更することにより各トーン
レバーに対し任意のトーンデータ(音色)を対応させる
ことができる。なお、このトーンリクエストフアイル6
2において、エリア62bにはこのフアイル62に共通
する音色加工のための情報、例えばビブラート周波数、
ビブラート深さ、デイケイ長さ等が記憶されている。
すなわち、詳細な説明は省略するが、予めこれらの音色
加工のための情報をROM2O内に記憶しておき、音色
加工用レバーの操作位置にしたがつて音色加工情報をR
OM2Oから読出しこのフアイル62に登録することに
より、WG25の各チヤンネルにおいて形成される楽音
信号に音色加工を施すことが可能になる。ところで、上
述したトーンリクエストフアイル62作成の過程におい
て、ヘツダ一62aに記入されるアドレスポインタ数の
検出は、通常レジスタ22内にトーンリクエストカウン
タなるカウンタを設け、アドレスポインタをフアイル6
2内に書込むたびにこのトーンリクエストカウンタをイ
ンクリメントし、最後にこのトーンリクエストカウンタ
のカウント結果を参照することにより行なわれる。
また、上記過程におけるNTS6Oの内容の順次読出し
、トーンレバーインデツクステーブル64の各スロツト
内のアドレスポインタの順次読出し、トーンリクエスト
フアイル62内の各エリア−の順次書込み等は、通常対
応するポインタをたて、1つの処理が済むたびにこのポ
インタの内容を進め、このポインタの内容に基づいて実
行されるものである。例えば、トーンリクエストフアイ
ル62へアドレスポインタを書込む場合は、まずトーン
リタエストフアイルポインタなるポインタにエリア62
cのエントリイアドレス(アドレスE)をセツトし、こ
のトーンリクエストフアイルポインタに基づいてエリア
62c内に書込み、次いでトーンリクエストフアイルポ
インタの内容をエリア62dのエントリイアドレス(ア
ドレスF)に進め、このエントリイアドレス(アドレス
F)に基づいてエリア62d内に書込み・・・・・・の
如く行なわれる。しかしながら、これらの処理はこの業
界においては極く当然に行なわれる処理であり、したが
つてこの明細書においてはこれらの処理過程の記載を省
略している。(5)キー・オン/オフ検出ルーチン2 この割込処理ルーチン2は割込信号 NTRlが数Msecのインターバルで発生するたびに
実行されるもので、割込信号1NTR1が発生した時点
における鍵盤回路11の各キースイツチのオン/オフ状
態を検出するものである。
すなわち、割込制御回路16において割込信号NTRl
が発生すると、アドレスデコーダ34にスイツチアドレ
ス信号が供給され、このスイツチアドレス信号に基づい
てキースイツチのオン/オフ情報がバツフアバスドライ
バ35およびデータバス30を介してレジスタ22内に
読込まれ、このレジスタ22内に第6図に示すニユーキ
ーボード・ステイタステーブル(以下NKSと略称する
)70が作成される。この図に示すNKS7Oにおいて
、″F”とあるのはこの゛1”に対応するキーが割込信
号INTRl発生時点において押下されていることを示
している。すなわち、この例では現在第1オクターブの
C音、E音、第2オクターブの伊音、第3オクターブの
―音、第4オクターブのA音に各々対応するキーが押下
されていることを示している。なお、この図において無
印は″0゛を示している。3)押下キー位置・変化検出
ルーチンR4トーンレバー処理ルーチンR3が終了する
と、プログラムはこのルーチンR4に進行する。
このルーチンR4は、現在のNKS7Oの状態が前回こ
のルーチンR4を実行した時点におけるNKS7Oの状
態と異なつているか否かを検出するもので、NKS7O
の内容と第6図に示すオールドキーボード・ステイタス
テーブル(以下0KSと略称する)71の内容とを比較
することにより上記検出が行なわれる。この場合、0K
S71は前回このルーチンR4を実行した時点における
キースイツチの状態を示すもので、後述するルーチンR
6において作成される。そして、このルーチンR4を実
行した結果が「YES」(変化あり)の場合は、プログ
ラムがルーチンR5に進行し、また「NO」(変化なし
)の場合はルーチンR2へ戻る。
ハ キーオン・リクエストフアイル作成ルーチンR5こ
のルーチンR5は新たに楽音発生をすべきキー、言い換
えれば新たに押下されたキーを検出し、この検出結果に
基づいて、第6図に示すキーオン・リクエストフアイル
(以下0N・RQと略称する)72をRAM2l上に作
成するものである。
このルーチンR5においては、まず0KS71の各ビツ
トとNKS7Oの対応する各ビツトとの間のエクスクル
ーシブオアがとらえる(0KS1NKS)。
この結果、状態が変化したキースイツチに対応するビツ
トのみ゛ゞ1′2となる。次いで、上記演算結果とNK
S7Oの各ビツトとの間のアンドがとられる。CNKS
△(0KS1NKS)〕。この結果、キースイツチが新
たにオンとなつたビツトのみ゛1゛となる。最後に、上
記アンド演算の結果と0N・RQ72の各ビツトとの間
のオアがとられ、その結果が新たに0N−RQ72に書
込まれる。ここで、最後のオア演算の意味について説明
する。この電子オルガンは後に説明するキーオン・チヤ
ンネルアサインメントルーチンR7において、ここで作
られた0N−RQ72に基づいて楽音発生すべきキーを
WG25の各チヤンネルに割当てる処理を実行し、この
割当て処理が終了した時点で順次0N−RQ72の゛1
゛ビツトを消去するようになつている。ところで、この
ルーチンR5が実行される時点で、前回ルーチンR5が
実行された際0N−RQ72に記入されだ1”ビツトが
全て消去されているとは限らず、チヤンネル割当処理を
すべぎ1゛ビツトが残つている場合がある。最後のオア
演算は、この処理が済んでいない゛1゛ビツトを0N−
RQ72上に残すために行なわれるものである。第6図
において第1オクターブ・C音に丸印が付してあるのは
、この未処理ビツトを示している。(8)キーオフ・リ
クエストフアイル作成ルーチンR6このルーチンR6は
楽音発生を停止すべきキー、すなわち離鍵されたキーを
検出し、この検出結果に基づいて第6図に示すキーオフ
・リクエストフアイル(以下、0F−RQと略称する)
73をRAM2l上に作成するものである。
このルーチンR6においては、まずルーチンR5と同様
に0KS71、NKS7O、0F・RQ73の対応する
各ビツト間で、なる演算がなされ、この演算結果が0F
−RQ73内に書込まれる。
なおこの式において、NKSはNKS7Oの各ビツトの
反転を意味している。またオア演算の意味はルーチンR
5の場合と同じである。次にNKS7Oの内容が0KS
71内に書込まれる。すなわち、この処理により今回N
KSとして用いられたテーブルが次回のルーチンR4〜
R6の処理においては0KS71として用いられること
になる。9)キーオン・チヤンネルアサインメントルー
チンR7このルーチンR7はルーチンR5において作成
された0N−RQ72およびルーチンR3において作成
されたトーンリクエストフアイル62に基づいて、新た
に押下されたキーに対応する周波数データおよびトーン
データをWG25の空チヤンネルに割当てる処理を実行
するものである。
以下、第7図〜第9図を参照しこのルーチンR7の実行
過程を説明する。
なお、第7図における0N−RQ72は第6図における
0N・RQ72と同一である。プログラムがこのルーチ
ンR7に入ると、まず第8図に示すステツプS1に進行
し、0N・RQ72上の゛1゛の検出が行なわれる。
この検出は、0N−RQ72のまず第1オクターブに対
応するスロツトを左方(第7図において)へ1ビツトづ
つソフトし、次いで第2オクターブに対応するスロツト
を左方へ1ビツトづつシフトし、次いで第3,第4オク
ターブに対応するスロツトを順次左方へシフトすること
により行なわれるもので、゛1゛ビツトを検出した時点
で(ステツプS2)プログラムはステツプS3に進行す
る。第7図に示す例においては、まず第1オクターブ・
C音の゛1゛ビツトが検出されるので、この時点でプロ
グラムがステツプS3に進行する。ステツプS3では、
ROM2O内に記憶されている周波数テーブルから第1
オタターブ・C音に対応する周波数データが読出され、
レジスタ22内の周波数データエリア75(予め設定さ
れている)に転送される。次いでステツプS4に進行す
ると、RAM2l上に用意されているビジーキーテーブ
ル76の第1オクターブ・C音に対応するスロツト76
aのエントリイアドレス(アドレスX)が算出され、算
出されたエントリイアドレス(アドレスX)がレジスタ
22内に一時記憶される。
なお、ビジーキーテーブル76とは予めRAM2l内に
用意されているもので、各キーに対応して設けられた4
8個のスロツト76a,76b,76c・・・・・・か
らなるものである。
次に、ステツプS5に進行すると、チヤンネルアサイメ
ントテーブル(以下CATと略称する)77内の空エリ
アの検出が行なわれる。ここで、CAT77について説
明する。このCAT77は予めRAM2l内に用意され
ているもので、El,E2・・・・・・El,なる15
個のエリアから構成され、またこれらのエリアEl,E
2・・・・・・El5は各々16ビツトからなる3個の
スロツトAl,bl,cl,a2,b2,c2・・・・
・・から構成されている。このCAT77は、現在発音
中の楽音(デイケイ状態にある楽音も含む)がどのチヤ
ンネルに割当てられているかを示すテーブルであり、以
下に説明するように、あるキーに対応する楽音の発音が
割当てられると各エリアEl,E2・・・・・・E,5
のヘツダ一、すなわちスロツトAl,a2,a3・・・
・・・に該当キーを表わすビジーキーテーブル76のエ
ントリイアドレスが登録され、またスロツトBl,cl
、スロツトB2,c2・・・・・・に使用チヤンネルが
登録されるようになつている。この場合、スロツトB,
cの各ビツトがそれぞれWG25の32個のチヤンネル
に対応しており、さらに発音が割当てられたチヤンネル
に対応するピット1゛が登録される。さて、プログラム
がステツプS5に進行すると、CAT77の各エリアの
ヘツダ一を検索することにより空エリアの検出が行なわ
れる。
そして、例えばエリアE2が空エリアとして検出された
とすると、エリアE2のエントリイアドレス(アドレス
Y)がレジスタ22内に記憶され、そしてステツプS6
に進行する。ステツプS6では、レジスタ22内に設け
られているビジーステータスレジスタ78内のゞTO”
2ビツトの数が算出される。このビジーステータスレジ
スタR8は32ビツトのレジスタであり、各ビツトが各
々32個のチヤンネルに対応し、また使用中のチヤンネ
ルに対応するビツトに゛1゛″が登録されている。した
がつて、このステツプS6で算出される゛0”ビツトの
数は現在の空チヤンネルの に等しくなる。ステツプS
6においてビジーステータスレジスタ78の゛O゛ビツ
トの数(空チヤンネルの数)が算出されると、プログラ
ムはステツプS7へ進み、算出された゛0゛ビツトの数
とトーンリクエストフアイル62(第4図参照)内に登
録されているトーンデータ数(すなわちトーンリクエス
トフアイル4C62のヘツダ一62a内に記憶されてい
る数)とが比較される。
この場合、゛0゛ビツトの数がトーンデータ数より大き
いかあるいは等しいとすると(YES)、プログラムは
ステツプS8に進行する。ステツプS8では、ビジース
テータスレジスタ78内の゛0”ビツトを検索すること
により空チヤンネルのチヤンネル番号が検出される。第
7図の例においては、まずスロツトR8aの第2ビツト
の゛O゛が検索され、これにより第2チヤンネルが空チ
ヤンネルであることが検出される。なお、ビジーステー
タスレジスタ78において、スロツト78aの第1〜第
16ビツトが各々第1〜第16チヤンネルに対応し、ま
たスロツト78bの第1〜第16ビツトが各々第17〜
第32チヤンネルに対応している。第2チヤンネルの空
チヤンネルが検出されると、プログラムはステツプS9
に進行し、同チヤンネル番号「2」がチヤンネルレジス
タ79内に格納される。次いで、ステツプSlOに進行
すると、トーンリクエストフアイル62に基づいてRO
M2O内のトーンデータがレジスタ22内のトーンデー
タエリア80に転送される。すなわち、第4図の例につ
いて説明すると、まずエリア62c内に記憶されている
アドレスDがレジスタ群50内に読出され、次いでこの
アドレスDに基づいてROM2O内のトーンデータi+
2が読出され、トーンデータエリア80に転送される。
次に、エリア62c内の音量係数がエリア80に転送さ
れる。そして、プログラムはステツプSllに進行し、
トーンデータの修飾(音色加工)が行なわれる。
このトーンデータの修飾はトーンリクエストフアイル6
2のエリア62bに記憶されている音色加工のための情
報に基づいて行なわれるもので、この修飾によりトーン
データに音色加工(例えば、ビブラートの付加)が施さ
れる。そして、プログラムはステツプSl2に進行する
。ステツプSl2では、チヤンネルレジスタ79に記憶
されている空チヤンネルのチヤンネル番号(この場合、
「2」)に基づいてデータポート18(第2図)の第2
チヤンネルに対応する領域のエントリイアドレスが算出
される。次いでステツプSl3(第9図)に進行すると
、周波数データエリア75内の周波数データおよびトー
ンデ゛一タエリア80内のトーンデータ、音量係数が上
記エントリイアドレスに基づいてデータポート18の対
応する領域に出力される。次にステツプSl4に進行す
ると、まずレジスタ22内に設けられた32ビツトのス
タートコ ・″マンドレジスタ81の第2チヤンネルに
対応するビツト(スロツト81aの第2ビツト)に゛1
゛がたてられ、次いでこのスタートコマンドレジスタ8
1の内容がデータボート18に転送される。このように
して、データボート181に転送された周波数データ、
トーンデータ、音量係数およびスタートコマンドはWG
25の対応しるチヤンネル(第2チヤンネル)に供給さ
れ、これによりWG25の当該チヤンネル(第2チヤン
ネル)がスタートし、同第2チヤンネ l・″ルにおい
てデータポート18から供給されている周波数データ、
トーンデータ等に基づいて楽音信号が形成される。次に
、プログラムはステツプSl5に進み、チヤンネルレジ
スタ79に記憶されているチヤンネル番号「2」に基づ
い2Cて、ステツプS5において検出されたエリアE2
内のスロツトB2の第2ビツトに゛F゛を書き込む。(
なお、このスロツトB2の第2ビツトが第2チヤンネル
に対応している。)次いでステツプSl6に進行し、チ
ヤンネルレジスタ 2579内のチヤンネル番号「2
]に基づいてビジーステータスレジスタ78のスロツト
78aの第2ビツトに゛1”が書込まれる。そして、ス
テツプSl7へ進行する。ステツプSl7では、トーン
リクエストフア 30イル62に登録されている全ての
トーンデータがチヤンネル割当てされたか否かが判断さ
れる。
この場合、エリア62c(第4図)に登録されているト
ーンデータの割当てのみしか済んでいないので、判断結
果は「NO」であり、したが35つてプログラムはステ
ツプS8に戻る。そして、土述したステツプS8〜Sl
6の過程が再度繰返される。すなわち、ステツプS8に
おいて空チヤンネルとして第4チヤンネルが検出され、
ステツプS9においてチヤンネル番号[4」が40チヤ
ンネルレジスタ79に格納され、ステツプSlOにおい
てトーンリクエストフアイル62のエリア62dに記憶
されているアドレスBに基づいてトーンデータバンタ6
5からトーンデータiが読出されトーンデータエリア8
0に転送され、またエリア62d内の音量係数がトーン
データエリア80に転送され、ステツプSllにおいて
トーンデータの修飾が行なわれ、ステツプSl2におい
てデータポート18の第4チヤンネルに対応する領域の
エントリイアドレスが算出され、ステツプSl3におい
て周波数データエリア75内の周波数データおよびトー
ンデータエリア80内のトーンデータ、音量係数がデー
タホーロ8へ出力され、ステツプSl4においてスター
トコマンドレジスタ81の第4チヤンネルに対応するビ
ツトに゛1”がたてられ、これによりWG25の第4チ
ヤンネルがスタートし、ステツプSl5,Sl6におい
てCAT77のスロツトB2の第4ビツトおよびビジー
ステータスレジスタ78のスロツト78aの第4ビツト
に゛1”が書込まれ、そして、ステツプSl7へ進行す
る。ステツプSl7では、再度全トーンデータの割当て
が終了したか否かが判断されるが、この場合まだトーン
リクエストフアイル62のエリア62eに記憶されてい
るアドレスCに対応するトーンデータの割当てが終了し
ていないので、判断結果は「NO」であり、したがつて
プログラムは再度ステツプS8へ戻り、ステツプS8〜
Sl6の過程が再度実行される。
そして、このステツプS8〜Sl6の過程が実行される
と、トーンリクエストフアイル62のエリア62eに記
憶されているアドレスCに対応するトーンデータi+1
が第5チヤンネルに割当てられ、WG25の第5チヤン
ネルがスタートし、またCAT77のスロツトB2の第
5ビツトおよびビジーステータスレジスタ78のスロツ
ト78aの第5ビツトに各々゛1”が書込まれる。
このようにして、第1オクターブ・C音のチヤンネル割
当てが終了し、スピーカ29からは、第1オタターブの
C音の音高で、かつそれぞれトーンデータI,i+1,
i+2に対応する音色の3種類の楽音が同時に発音され
る。また、この時点でビジーステータスレジスタ78、
スタートコマンドレジスタ81の第2、第4、第5チヤ
ンネルに対V,己するビツトには各々゛1”が登録され
ており、さらにCAT77のエリアE2の第2、第4、
第5チヤンネルに対応するビツトにも゛1゛2が登録さ
れている。そして、プログラムはステツプSl7へ進行
するが、このステツプでの判断結果は当然[YES」で
あり、したがつてプログラムはステツプSl8へ進行す
る。
このステツプSl85では、割当処理がなされた第1オ
クターブ・C音に対応するビジーキーテーブル76のス
ロツト76aのエントリイアドレス(アドレスX)が、
CAT77のエリアE2のヘツダ一(すなわち、スロツ
トA2)に書込まれる。次いでステ 10ツプSl9に
進行すると、エリアE2のエントリイアドレス(アドレ
スY)がビジーキーテーブル76のスロツト76a内に
書込まれる。そして、ステツプS2Oに進行し、0N−
RQ72の第1オクターブ・C音に対応する゛1゛ビツ
15卜が゛0゛とされる。こうして、第1オクターブ
・C音に基づく割当処理が全て終了する。次に、プログ
ラムは再びステツプS1に戻り、0N−RQ72上の゛
1゛ビツトの検出が行なわれる。この場合、第7図に示
す例においては20第2オクターブ・D≠音に対応する
゛ビビツトが検出され(ステツプS2)、したがつてプ
ログラムはステツプS3に進行し、以下上述した場合と
全く同様の割当処理がなされる。そして、第2オクター
ブ・伊音の割当処理が終了すると 25再び0N−RQ
72上の゛1゛ビツトの検出が行なわれ、次に検出され
だ1゛ビツト(第3オクターブ・西)に対応する割当処
理がなされる。このようにして0N−RQ72上の゛゛
1゛ビツトの処理が全て終了すると、ステツ 30プS
2での判断結果は「NO」となり、ルーチンR7におけ
る処理が全て終了する。次に、第8図におけるステツプ
S2lについて説明する。
上述した説明においてはステツプS7における判断結果
を「YES」として説明35を進めたが、これは[NO
」となる場合もあり得る。すなわち、ビジーステータス
レジスタ78の゛0゛ビツトの数がトーンリクエストフ
アイル62のヘツダ一62a内に登録されている数より
少ない場合、言い換えれはトーンデ一 40夕をチヤン
ネルに割当てたくとも、空チヤンネルの数が少なく割当
てることができない場合は、ステツプS7の判断結果は
「NO」となり、プログラムはステツプS2lへ進む。
このステツプS2lでは、デイケイ状態にあるチヤンネ
ルのチヤンネル番号を後述するダンプコマンドレジスタ
85(第10図参照)へロードし、,さらにこのダンプ
コマンドレジスタ85の内容をデータポート18へ出力
することにより、WG25においてデイケイ状態にある
チヤンネルを強制的に停止させてしまう。そして、ルー
チンR7を出る。このような処理をしておくと、WG終
了処理ルーチン13においてビジーステータスレジスタ
78の対応する゛1゛ビツトが゛O”゜とされ、これに
より空チヤンネルの数が増加し、トーンデータの割当て
が可能となる。なお、この処理の意味は、デイケイ状態
にある楽音の発音より新たに押下されたキーに対応する
楽音の発音の方を優先するということである。また、こ
の処理を行なうために、レジスタ22内に設けられたデ
イケイ状態のチヤンネル番号を記憶するデイケイステイ
タスレジスタ82が利用される。次に、CAT77のス
ロツトB2の第6ビツトの゛1”(丸印を付してある)
について説明する。
この第6ビツトの゛1゛は今回第1オクターブ・C音の
キーが押下されたことにより割当てられたものではなく
、前回同キーが押下された際割当てられたものである。
すなわち、前回押下されたキーが離されると該キーが割
当てられた各チヤンネルにおいて所定のデイケイ時間を
経た後楽音信号の発生が停止し(なお、この楽音信号発
生の停止は各チヤンネル同時とは限らない)、楽音信号
の発生が停市したチヤンネルに対応するCAT77内の
゛1゜゛ビツトが゛0”とされるが、ある割当てチヤン
ネルのデイケイ時間が長い場合は該チヤンネルにおいて
今回同キーを押下した時点まで前回の楽音信号が発生し
続けていることがある。この場合、同キーを新たに押下
した時点でビジーキーテーブル76のスロツト76aに
はCAT77のエリアE2のエントリイアドレス(アド
レスY)が登録されており、またエリアE2には楽音信
号が発生し続けているチヤンネルに対応するビツト(ス
ロツトB2の第6ビツト)に゛1゛が残つている。した
がつて、今回の押下キーに対するチヤンネル割当てはエ
リアE2に登録され、さらにスロツトB2の第6ビツト
の゛1”も同エリZOアE2にそのまま残されることに
なる。
(なお、楽音信号の発生が停止した場合の処理について
は後述する割込処理ルーチン13を参照のこと。)なお
、この実施例においてはトーンリクエストフアイル62
内の各トーンデータ毎にチヤン 5ネルをスタートさせ
ているが、各チヤンネルをまとめて回時にスタートさせ
ることも可能である。(10)キーオフ・チヤンネルマ
ネジメントルーチンR8このルーチンR8は、ルーチン
R6において作成された0F−RQ73およびルーチン
R7において作成されたビジーキーテーブル76、CA
T77に基づいて、離されたキー(押下状態が解除され
たキー)に対応する楽音を消去す 15るものである。
以下、このルーチンR6の実行過程を第10図、第11
図を参照し説明する。なお、第10図における0F−R
Q73は第6図における0F−RQ73と同一である。
プログラムがこのルーチンR8に入ると、ま 20ず第
11図に示すステツプS1に進行し、0F−RQ73上
の゛1”ビツトの検出が行なわれる。
なお、この検出は前述した0N−RQ72上のゞゞ1゛
2ビツトの検出(第8図のステツプS1)の場合と全く
同様に行なわれる。そし 25て、第10図に示す例に
おいては、まず第1オクターブ・〜をの゛ビビツトが検
出され(ステツプS2)、プログラムがステツプS3に
進行する。ステツプS3では、検出されだ1゛ビツトの
位置(0F−RQ73土の位置)に基30づいて、ビジ
ーキーテーブル76の第1オクターブ・〜νに対応する
スロツト76mのエントリイアドレス(アドレスVとす
る)が算出される。次にステツプS4に進行すると、算
出された35エントリイアドレス(アドレスV)に基づ
いてスロツト76mの内容が読出され、レジスタ群50
内に転送される。
この場合、スロツト76mの内容は、第1オクターブ・
N害に関するチヤンネル割当てがCAT77のエリアE
n4θに登録されている すると、エリアEnのエント
リイアドレス(アドレスUとする)である。
次にステツプS5に進行すると、スロツト76mの内容
(アドレスU)に基づいてエリアEnのスロツトBnお
よびCnの内容が読出され、デイケイコマンドレジスタ
84またはダンプコマンドレジスタ85のいずれかにロ
ードされる。
なお、いずれにロードされるかはこの電子オルガンの操
作部に設けられた切換スイツチによつて制御される。
そして、ステツプS6に進行すると、ステツプS5にお
いてエリアEnの内容がロードされたレジスタ(84ま
たは85)の内容がデータポート18に出力され、これ
により第1オクターブ・N音に対応する楽音の発音が割
当てられているチヤンネル(第10図に示す例について
いえば、第1、第7、第8チヤンネル)の楽音信号の発
生が停止される。この場合、ステツプS5においてデイ
ケイコマンドレジスタ84にロードされた場合は、楽音
がデイケイをもつて徐々に消去され、ダンプコマンドレ
ジスタ85にロードされた場合は、楽音が即座に消去さ
れる。次いでステツプS7へ進行すると、0F−RQ7
3上の第1オタターブ・N署の゛ビビツトが消去され、
再びステツプS1に戻る。そして、ステツプS1におい
て第3オクターブ・F音の゛1”ビツトが検出されると
、ステツプS2の判断結果が[YfS」となり、上述し
た場合と同様にステツプS3〜S6の過程が実行され、
第3オクターブ・F音が割当てられているチヤンネルの
楽音信号が停止され、またはデイケイ状態とされる。そ
して、ステツプS7において第3オクターブ・F音の゛
1″゛ビツトが消去され、再びステツプS1に戻る。こ
のようにして、0F−RQ73上の゛1”ビツトの処理
が全て終了するとステツプS2での判断結果が「NO」
となり、このルーチンR8における処理が終了する。1
) WG終了処理ルーチン13 この割込処理ルーチン13は、WG25のチヤンネルに
おける楽音信号の発生が完全に停止した時(デイケイ状
態が終了した時)WG25から発生する割込信号NTR
3に基づいて実行されるもので、その主な目的はビジー
ステータスレジスタ78(第7図、第12図)の当該チ
ヤンネルに対応するビツトを゛0゜゛とし、これにより
同チヤンネルを空チヤンネルとして新たに他のキーに対
応する楽音の発生を割当て得るようにすることである。
すなわち、1個の押下されたキーに対応して、数個のチ
ヤンネル(上述した第4図、第7図等の例においては3
個のチヤンネル)において発生る楽音信号は、必ずしも
同一タイミングで停止するとは限らず、例えばパーカツ
シブ系の音の場合はキーが押下されているにもかかわら
ず停止してしまうことがある。
このような場合に、同一キ一に対応する他のチヤンネル
の楽音信号発生が全て停止するまで、すでに楽音発生が
停止したチヤンネルを待期させるとすると、チヤンネル
使用の効率が非常に悪いものになる。この電子オルガン
はこのような点を考慮し、楽音発生が停止したチヤンネ
ルを即座に他のキーに解放し得るように、この割込処理
ルーチン13を設けている。以下、第12図、第13図
を参照しこの割込処理ルーチン13の実行過程について
説明する。
なお以下の説明においては、いま第7チヤンネルにおい
て楽音信号の発生が停止し、またこの第7チヤンネルが
CAT77のエリアE6に登録されているものとする。
第7チヤンネルにおいて楽音信号の発生が停止し、これ
によりWG25から割込信号INTR3が発生すると、
プログラムは先ず第13図に示すステツプS1に進行す
る。
そして、このステツプS1においてビジーステータスレ
ジスタ78のスロツト78aの第7ビツト(第7チヤン
ネルに対応)が゛0”とされ、次いでステツプS2に進
行する。このステツプS2および次のステツプS3はC
AT77に登録されている第7チヤンネルを消去する、
具体的にいえばエリアE6の第7チヤンネルに対応する
スロツトB6の第7ビツトの゛1゛を消去するためのも
のである。そして、この処理を行なわなければならない
理由は次の通りである。例えば、第7チヤンネルにおい
て今まで発生していた楽音信号がパーカツシブ系の楽音
信号であり、また同楽音信号の発生が停止した時点で同
楽音信号に対応するキー(最初のキーと称す)がまだ押
下されたままであつたとする。そして、同楽音信号が停
止した時点でビジーステータスレジスタ78の第7チヤ
ンネルに対応するビツトがfゞ0′2とされることによ
り(ステツプS1)、最初のキーが離される前に新たに
押下されたキー(次のキーと称す)に対応する楽音の発
生がこの第7チヤンネルに割当てられる可能性がある。
このような場合に上述した処理を行つていないとすると
、最初のキーが離された時点で同最初のキーに対応する
CAT77のエリアの内容が例えばデイケイコマンドレ
ジスタ84に転送され、さらにこのデイケイコマンドレ
ジスタ84の内容がデータポート18に出力されて、次
のキーに対応する楽音の発生が割当てられている第7チ
ヤンネルをもデイケイ状態に移行させてしまうことにな
る。このような不都合を除くためにステツプS2および
S3による処理が必要となる。さて、プログラムがステ
ツプS2に進行するとCAT77のエリアE,のヘツダ
一(スロツトal)が゛0”であるか否かが判断される
この場合、例えば[NO」(゛0”でない)とすると、
プログラムはステツプS3に進行する。ステツプS3で
は、まずエリアE1のスロツトBl,clの各ビツトと
ビジーステータスレジスタ78の対応するビツトとの間
で論理ANDがとられ、次いでこの演算結果がスロツト
Bl,cl内に格納される。これによりスロツトblの
第7ビツトに゛1゛があつた場合はその゛1゛が消去さ
れる。
なお、この例においてはエリアE6のスロツトB6の第
7ビツトに゛1゛があるので、エリアE6のスロツトb
lの第7ビツトに゛1″″はない。したがつて、上記A
ND演算の結果は、演算前のエリアE1の内容と同一と
なる。ステツプS3の実行が終了するとステツプS4へ
進行する。
このステツプS4では、エリアE1の内容(スロツトB
l,clの内容)が全で0゛か否かが判断される。この
場合、エリアE1にば1゛が残つているので判断結果は
「NO」となり、プログラムはステツプS6へ進む。こ
のステツプS6では上述したS3における処理がヘツダ
一が゛0゛でない全てのエリア(E1〜El5)におい
てなされたか否かが判断される。この場合、エリアE1
の処理しかなされていないので、判断結果は「NO」で
あり、したがつてプログラムは再びステツプS2に戻る
。ステツプS2では、こんどはエリアE2のヘツZ/ダ
一(スロツトA2)が゛0゛か否かが判斯一される。
この場合、ヘツダ一が゛0゛とすると(「YES」)、
プログラムはS6に進む。このステツプS6での判断結
果は[NO」であり、プログラムは再びステツプS2に
進み、エリアE3のヘツダ一が調べられる。このように
してエリアEl,E2,・・・・・・と順次各エリアが
調べられ、またステツプS3の処理がなされ、そしてス
テツプS2においてエリアE6のヘツダ一(スロツトA
6)が調べられたとする。この場合、ステツプS2にお
ける判断結果は「NO」となり、ステツプS3に進む。
そして、このステツプS3においてビジーステータスレ
ジスタ78の内容とエリアE6のスロツトB6,c6の
内容と論理ANDがとられることにより、スロツトB6
の第7ビツトの゛1”が消去される(゛0゛とされる)
。次いで、ステツプS4へ進行すると、エリアE6のス
ロツトB6,c6の内容が全で0゛であるか否かが判断
され、この場合、まだ゛1゛が残つているとするとプロ
グラムはステツプS6へ進行する。こうして、全エリア
E1〜El5についての処理が終了するとプログラムは
この割込処理ルーチン13を出る。次に、例えばいま第
8チヤンネルが終了し、またこの第8チヤンネルがCA
T77のエリアE7に登録されており、さらにこの第8
チヤンネルで発生していた楽音信号のデイケイ時間が比
較的長かつた場合について説明する。
割込信号1NTR3が発生し、プログラムがステツプS
1に進行すると、ビジーステータスレジスタ78のスロ
ツト78aの第8ビツト(第8チヤンネルに対応)の゛
1”が消去される。
次いで、前述した場合と同様にしてエリアE1〜E6が
処理された後、ステツプS3においてエリアE7のスロ
ツトB7の第8ビツトの゛1゛が消去され、そしてステ
ツプS4へ進む。ここで、第8チヤンネルの楽音信号の
デイケイ時間が比較的長かつたため、第8チヤンネルが
終了した時点ではエリアE7の他の゛ビビツトが全て消
去されていたとする。この場合、ステツプS3の実行に
よつてステツプS4の判断結果は「YES」となり、プ
ログラムはステツプS5へ進行する。そして、このステ
ツプS5において、まずエリアE7のヘツダ一に記憶さ
れているビジーキーテーブル76(第10図参照)のエ
ントリイアドレスに基づいて、同エントリイアドレスに
よつて指示されるビジーキーテーブル76のスロツトの
内容が消去され、次にエリアE7のヘツダ一が消去され
る。すなわち、エリアとビジーキーテーブルとの結合が
解かれる。そして、この処理によりエリアE7が他のキ
ーに対して解放されることになる。以上でこの電子オル
ガンの説明を終るが、参考までにこれまでに説明したR
OM2O、RAM2l、レジスタ22の各内容をまとめ
て第14図に示す。
なお、上記実施例ではこの発明のアサイナを電子オルガ
ンに適用したが、電子オルガン以外の他の電子楽器にも
勿論応用できる。また上記説明ではチヤンネル数を32
としたが、この数は必要に応じて増減可能である。また
この発明のアサイナにより制御されるウェーブジェネレ
ータについては特に説明しないが、任意のウェーブジェ
ネレータが使用できる。以上説明したように、この発明
は、操作中の鍵盤キーに対する楽音の発音を、トーンレ
バーにより選択されている音色毎に楽音発生チヤンネル
の異なるチヤンネルに割当てるようにしたので、同時に
複数の音色の楽音を発生させることができると共に、各
音色毎に異なるエンベロープを付与することが可能にな
る。
また、この発明では、各楽音発生チヤンネルを、?盤キ
ーと音色の両方に対応させているので(換言すれば、各
楽音発生チヤンネルに対し鍵盤キーおよび音色を割当て
るようにしているので)、所定数の楽音発生チヤンネル
を鍵盤キーの操作状態およびトーンレバーの操作状態に
応じて効率よく使用することができる。この結果、複数
の音色の楽音を同時に発生させる場合でも、従来のよ・
うに複数の楽音発生チヤンネルからなるチヤンネル群を
更に複数個並列的に設ける必要はないので楽音発生チヤ
ンネルの数が少なくて済み電子楽器全体の構成も簡単と
なる。
【図面の簡単な説明】 第1図は従来のデイジタル式電子オルガンの概略的な構
成を示す図、第2図ないし第14図はこの発明による電
子楽器用アサイナを電子オルガンに適用した一実施例を
示す図であり、第2図は全体の構成を示す図、第3図イ
はプログラムの流れを示すフローチヤート、第3図帽ま
割込処理ル一チッを示す図、第4図は第3図に示すトー
ンレバー処理ルーチンR3の実行時において関係するR
OM2O、RAM2l、レジスタ22の記憶内容を示す
図、第5図は上記ルーチンR3のフローチヤート、第6
図は第3図に示すキーオン・リクエストフアイル作成ル
ーチンR5、キーオフ・リクエストフアイル作成ルーチ
ンR6の実行時において関係するRAM2l.レジスタ
22の記憶内容を示す図、第7図は第3図に示すキーオ
ン・チヤンネルアサインメントルーチンR7の実行時に
おいて関係するRAM2l、レジスタ22の内容を示す
図、第8図、第9図は共に上記ルーチンR7のフローチ
ヤート、第10図は第3図に示すキーオフ・チヤンネル
マネジメントルーチンR8の実行時において関係するR
AM2l、レジスタ22の内容を示す図、第11図は上
記ルーチンR8のフローチヤート、第12図は第3図に
示すWG終了処理ルーチン13の実行時において関係す
るRAM2Lレジスタ22の内容を示す図、第13図は
上記ルーチン13のフローチヤート、第14図はROM
2O、RAM2l、レジスタ22、データホーロ8の各
記憶内容をまとめて示した図である。 12・・・・・・アサイナ、14・・・・・・制御部、
15・・・・・・演算部、19・・・・・・演算制御部
、23・・・・・・第1の記憶部、38・・・・・・ト
ーンレバー、39・・・・・・鍵盤キー45・・・・・
・第2の記憶部(マイクロプログラムメモリ)。

Claims (1)

  1. 【特許請求の範囲】 1 複数の鍵盤キーと、 複数の音色に対応して設けられ発生楽音の音色を設定す
    る複数のトーンレバーと供給される鍵盤キーに関するデ
    ータおよび音色に関するデータにもとづき、それぞれ独
    立して楽音を発生する複数の楽音発生チャンネルとを有
    する電子楽器において、前記複数の鍵盤キーのうち操作
    された鍵盤キーを検出する第1の検出手段と、前記複数
    のトーンレバーにより選択されている音色を検出する第
    2の検出手段と、前記第1の検出手段で検出された鍵盤
    キーに対する楽音の発生を、前記第2の検出手段で検出
    された音色毎に前記楽音発生チャンネルの異なるチャン
    ネルに割当てる割当て手段と、前記割当て手段の割当て
    動作に応答して割当てが行なわれた楽音発生チャンネル
    に対し、当該チャンネルに割当てられた鍵盤キーに関す
    るデータおよび音色に関するデータを供給するデータ供
    給手段と、を具備してなる電子楽器用アサイナ。 2 複数の音色に対応して設けられ発生楽音の音色を設
    定する複数のトーンレバーと、それぞれ独立して楽音を
    発生する複数の楽音発生チャンネルと、を有する電子楽
    器において、 前記各鍵盤キーに対応する周波数データおよび前記各ト
    ーンレバーの音色に対応するトーンデータを記憶する記
    憶部と、前記トーンレバーにより選択されている音色に
    対応するトーンデータの数を検出する第1の手段と、前
    記鍵盤キーにおいて新たに操作された鍵盤キーを順次検
    出する第2の手段と、前記第2の手段による新たに操作
    された鍵盤キーの検出毎に、前記記憶部から該検出鍵盤
    キーに対応した周波数データを読出し、この読出した周
    波数データを前記楽音発生チャンネルのうち前記第1の
    手段により検出されたトーンデータの数と同数の空チャ
    ンネルに対して割当てるとともに、前記記憶部から前記
    トーンレバーにより選択された音色に対応するトーンデ
    ータを読出し、この読出したトーンデータを前記空チャ
    ンネルに対し1つづつ割当てる処理を実行する第3の手
    段と、を具備してなる電子楽器用アサイナ。
JP51158951A 1976-12-29 1976-12-29 電子楽器用アサイナ Expired JPS5943758B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP51158951A JPS5943758B2 (ja) 1976-12-29 1976-12-29 電子楽器用アサイナ
US06/124,006 US4387617A (en) 1976-12-29 1980-02-25 Assigner for electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP51158951A JPS5943758B2 (ja) 1976-12-29 1976-12-29 電子楽器用アサイナ

Publications (2)

Publication Number Publication Date
JPS5383730A JPS5383730A (en) 1978-07-24
JPS5943758B2 true JPS5943758B2 (ja) 1984-10-24

Family

ID=15682891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51158951A Expired JPS5943758B2 (ja) 1976-12-29 1976-12-29 電子楽器用アサイナ

Country Status (1)

Country Link
JP (1) JPS5943758B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61112169U (ja) * 1984-12-26 1986-07-16

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5450314A (en) * 1977-09-27 1979-04-20 Casio Comput Co Ltd Musical sound generator
FR2523786B1 (fr) * 1982-03-19 1987-10-09 Bernard Alain Systeme de transmission de musique par voie telephonique
JPS6113295A (ja) * 1984-06-29 1986-01-21 カシオ計算機株式会社 電子楽器
JPS62208096A (ja) * 1986-03-09 1987-09-12 ヤマハ株式会社 楽音発生装置
JP2545054Y2 (ja) * 1987-12-28 1997-08-25 カシオ計算機株式会社 音量調整装置
JP2642369B2 (ja) * 1987-12-28 1997-08-20 カシオ計算機株式会社 音量調整装置
JPH0228696A (ja) * 1988-04-11 1990-01-30 Casio Comput Co Ltd 電子楽器
US5177314A (en) * 1988-04-11 1993-01-05 Casio Computer Co., Ltd. Timbre setting device for an electronic musical instrument

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5158931A (ja) * 1974-11-20 1976-05-22 Matsushita Electric Ind Co Ltd

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5158931A (ja) * 1974-11-20 1976-05-22 Matsushita Electric Ind Co Ltd

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61112169U (ja) * 1984-12-26 1986-07-16

Also Published As

Publication number Publication date
JPS5383730A (en) 1978-07-24

Similar Documents

Publication Publication Date Title
US4387617A (en) Assigner for electronic musical instrument
JPS5943758B2 (ja) 電子楽器用アサイナ
JP2641605B2 (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
JPS6222157B2 (ja)
JP2629891B2 (ja) 楽音信号発生装置
JPH04198994A (ja) 電子楽器の楽音制御方法
JPS6252317B2 (ja)
JPS6113599B2 (ja)
JPS6252316B2 (ja)
JPS6222158B2 (ja)
US11042380B2 (en) Apparatus, method and computer program for processing instruction
JPS62208099A (ja) 楽音発生装置
JP2936872B2 (ja) 楽音制御装置
JPH11202866A (ja) 楽音発生方法および楽音発生装置
JPH0572596B2 (ja)
JPS6339074B2 (ja)
JPS6339075B2 (ja)
JP2640267B2 (ja) 電子楽器
JPH0474718B2 (ja)
JPS6339073B2 (ja)
JP3426379B2 (ja) 電子楽器
JPH0515279B2 (ja)
JPS61173297A (ja) 電子楽器
JPS6227716B2 (ja)