JPS6252317B2 - - Google Patents

Info

Publication number
JPS6252317B2
JPS6252317B2 JP60175995A JP17599585A JPS6252317B2 JP S6252317 B2 JPS6252317 B2 JP S6252317B2 JP 60175995 A JP60175995 A JP 60175995A JP 17599585 A JP17599585 A JP 17599585A JP S6252317 B2 JPS6252317 B2 JP S6252317B2
Authority
JP
Japan
Prior art keywords
tone
channel
data
key
routine
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
JP60175995A
Other languages
English (en)
Other versions
JPS6211894A (ja
Inventor
Hirokazu Kato
Akinori Endo
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 JP60175995A priority Critical patent/JPS6211894A/ja
Publication of JPS6211894A publication Critical patent/JPS6211894A/ja
Publication of JPS6252317B2 publication Critical patent/JPS6252317B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】
「産業上の利用分野」 この発明は複数の楽音発生チヤンネルを有する
電子楽器に係り、特に、各楽音発生チヤンネルに
おいて任意の音色の楽音を発生し得るようにした
電子楽器に関する。 「従来の技術」 最近、コンピユータや半導体技術の発展にとも
なつてLSI(大規模集積回路)部品等を使用した
デイジタル式の電子楽器が種々開発され実用化さ
れている。第1図は従来のデイジタル式電子オル
ガンの概念的な構成を示すブロツク図である。図
にみられるように、従来の電子オルガンは、鍵盤
回路1、キーコーダ2、チヤンネルアサイナ3か
らなるブロツクAと、エンベロープジエネレータ
5、ウエイブジエネレータ6、D/A変換器7、
増幅器8、スピーカ9からなるブロツクBとから
構成されている。 上記鍵盤回路1は、各鍵盤キー(以下単にキー
と称す)に対応して設けられた多数のキースイツ
チを有して構成される。キーコーダ2は上記各キ
ースイツチのオン・オフ状態を検出し、押下キー
を表わすキーコードを順次出力する。チヤンネル
アサイナ3は、キーコーダ2から供給されるキー
コード(押下キー)に対応する楽音の発生をウエ
イブジエネレータ6に設けられた複数の楽音発生
チヤンネル(以下単にチヤンネルと略称する)の
いずれかに割当てる。この場合、チヤンネルアサ
イナ3は各チヤンネルに対応する記憶位置を有
し、あるキーの発音が割当てられたチヤンネルに
対応する記憶位置にそのキーを表わすキーコード
を記憶し、各記憶位置に記憶されたキーコードを
順次、時分割でウエイブジエネレータ6の各チヤ
ンネルに出力する。また、このチヤンネルアサイ
ナ3は、押下キーが発音割当てされたチヤンネル
において発音がなされるべきであることを表わす
エンベロープスタート信号を、前記キーコードの
出力と同期して、時分割でエンベロープジエネレ
ータ5へ出力し、さらに、各チヤンネルに発音割
当てされたキーが離された時は、離されたキーに
対応する楽音が減衰状態になるべきことを表わす
デイケイスタート信号を、時分割でエンベロープ
ジエネレータ5へ出力する。 エンベロープジエネレータ5は、チヤンネルア
サイナ3から供給される各チヤンネルのエンベロ
ープスタート信号およびデイケイスタート信号に
基づき、各チヤンネルの楽音の発音を制御するエ
ンベロープ情報(エンベロープ波形)を各チヤン
ネルに対応して出力する。 ウエイブジエネレータ6は、複数(例えば12
個)のチヤンネルを有し、各チヤンネル毎にそれ
ぞれ独立して楽音信号を形成するもので、例えば
周波数情報メモリ、波形メモリ等から構成され、
チヤンネルアサイナ3から供給される押下キーの
キーコードおよびエンベロープジエネレータ5か
ら供給されるエンベロープ情報に基づいて、各チ
ヤンネルにおいて楽音信号(デジタル信号)を形
成する。そして、このウエイブジエネレータ6の
各チヤンネルにおいて形成された楽音信号(デジ
タル信号)がD/A(デジタル/アナログ)変換
回路7においてアナログ楽音信号に変換され、増
幅器8を介してスピーカ9から楽音として放音さ
れる。なお、上述した従来のデイジタル式電子オ
ルガンはこの発明の出願人の出願になる特開昭49
−130213号によつて開示されている。 「発明が解決しようとする問題点」 上述した従来の電子楽器において、ウエイブジ
エネレータ6の各チヤンネルにおける音色設定
は、トーンレバー(音色選択スイツチ)の操作状
態に基づいて行なわれるが、この設定はチヤンネ
ルアサイナ3とは全く無関係に、トーンレバーの
操作状態のみに基づいて行なわれ、また、各チヤ
ンネル共通に同じ音色が設定されるようになつて
いた。このため、従来の電子楽器においては、各
チヤンネル毎に異なる音色を設定することができ
ず、また、強いて設定しようとする場合は各チヤ
ンネル毎にトーンレバーを設けなければならず、
構成が極めて複雑になる問題があつた。 この発明は上述した事情に鑑みてなされたもの
で、簡単な構成で各チヤンネル毎に独立して異な
る音色を設定することができる電子楽器を提供す
ることを目的としている。 「問題点を解決するための手段」 この発明は、次の各構成要件を具備することを
特徴としている。 (a) 複数のキーを有する鍵盤と、 (b) 音色を選択する音色選択手段と、 (c) それぞれに与えられるキーに対応したデータ
および音色に対応したデータに基づいて、等該
キーおよび音色に対応する楽音信号を発生する
複数の楽音発生チヤンネルを有する楽音発生手
段と、 (d) 前記複数の楽音発生チヤンネルに対応して設
けられ、それぞれ前記キーおよび音色に対応し
たデータを記憶する複数の記憶領域を有し、各
記憶領域に記憶された該データをそれぞれ対応
する前記楽音発生チヤンネルに与える記憶手段
と、 (e) 前記鍵盤で操作されたキーおよび前記音色選
択手段で選択された音色に対応して前記楽音発
生チヤンネルで発生すべき楽音信号を指定する
前記キーに対応するデータおよび音色に対応す
るデータを前記記憶手段の当該楽音発生チヤン
ネルに対応する記憶領域に対して書き込む割当
手段。 「実施例」 以下、図面を参照してこの発明の一実施例につ
いて説明する。第2図はこの発明の一実施例によ
る電子オルガン(電子楽器)の構成を示すブロツ
ク図であり、この図に示す電子オルガンは大きく
分けると、鍵盤回路11、アサイナ12および楽
音発生部13から構成される。そして、上記アサ
イナ12は制御部14、演算部15、割込制御回
路16、パルス発生器17、データポート18を
具備する演算制御部19と、ROM(リードオン
リーメモリ)20、RAM(ランダムアクセスメ
モリ)21、レジスタ22を具備する第1の記憶
部23とから構成され、また楽音発生部13は、
32個のチヤンネルを有するウエイブジエネレータ
(以下WGと称す)25と、このWG25にエンベ
ロープ情報を送出するエンベロープジエネレータ
26と、D/A(デジタル/アナログ)変換回路
27と、増幅器28と、スピーカ29とから構成
される。なお、上述した制御部14および演算部
15は通常マイクロコンピユータを用いて構成さ
れる。また、上述したエンベロープとは楽音信号
の包絡線のことである。すなわち、通常の楽音信
号は第2図において符号Bにて示すように、立上
り状態(アタツク状態)B1、接続状態B2、立
下り状態(デイケイ状態)B3の3状態からなる
エンベロープを有している。 この電子オルガンはプログラムコントロールで
動作するもので、そのプログラムはROM20に
記憶されている処理プログラムと制御部14内の
マイクロプログラムメモリ45に記憶されている
各種マイクロプログラムから構成される。また、
WG25において楽音信号(デジタル信号)を形
成するために必要な各種トーンデータおよび周波
数データはROM20に記憶されている。そし
て、上記処理プログラムおよびマイクロプログラ
ムに基づいて、次の様に動作するものである。す
なわち、キーが押下されると、まず鍵盤回路11
が押下されたキーに対応するキースイツチ情報を
データバス30を介してアサイナ12に供給す
る。アサイナ12は供給されたキースイツチ情報
に対応する周波波データおよびトーンデータを
ROM20から読出し、読出したデータをWG2
5の複数のチヤンネルに対して割当てる。WG2
5の各チヤンネルは当該チヤンネルに割当てられ
たデータおよびエンベロープジエネレータ26か
ら供給されるエンベロープ情報に基づいて楽音信
号(デジタル信号)を形成する。そして、これら
各チヤンネルで形成された楽音信号がD/A変換
器27においてアナログ信号に変換され、増幅器
28を介してスピーカ29から楽音として放音さ
れる。 以上、この電子オルガンの概略を述べたが、次
にこの電子オルガンの詳細を説明する。 まず、鍵盤回路11はアドレスデコーダ34、
バツフアバスドライバ35、マトリツクス回路3
6から構成される。アドレスデコーダ34はアド
レスバス37を介して供給されるスイツチアドレ
ス信号をデコードするもので、この実施例では5
個の出力端を有し、またこれらの各出力端がマト
リツクス回路36の各列線にそれぞれ接続されて
いる。マトリツクス回路36は12行5列のマトリ
ツクスであり、このマトリツクスの各支点には、
トーンレバー(「ヴアイオリン」、「フルート」等
の音色を設定するためのレバー)38の各スイツ
チの接点および鍵盤キー39の各キースイツチの
接点が、図において符号Aにて示すように、ダイ
オードと共に介挿されている。なおこの実施例に
おいては、説明の便宜上トーンレバー38が6個
のトーンレバーからなり、また各トーンレバーは
いずれも4段階で重量を調整可能なものとし(し
たがつて、各トーンレバーに関する情報は2ビツ
トで表わされ、この2ビツトに対応してトーンレ
バースイツチは各トーンレバーに対し2個づつ、
合計12個となる)、また鍵盤キー39は4オクタ
ーブ(12×4=48キー)から構成されるものとす
る。そして、各トーンレバーのスイツチがマトリ
ツクス回路36の左側(図において)1列に配置
され(図において破線で囲んだスイツチ2個が1
つのトーンレバーに対応する)、また鍵盤キー3
9の各キースイツチがマトリツクス回路36の右
側4列に配置されている。 バツフアバスドライバ35は上記各スイツチの
オン・オフ情報をデータバス30に出力するため
のバスドライバであり、12個の入力端および出力
端を有し、入力端は各々マトリツクス回路36の
各行線に接続されているとともに、出力端はデー
タバス30に接続されている。 制御部14はインストラクシヨンレジスタ4
2、インストラクシヨンデコーダ43、マイクロ
プログラム・アドレスシーケンサ44、マイクロ
プログラムメモリ45(第2の記憶部)、パイプ
ラインレジスタ46から構成される。インストラ
クシヨンレジスタ42はROM20から読出され
る処理プログラムの各命令を一時記憶するもの
で、このインストラクシヨンレジスタ42に一時
記憶された命令はインストラクシヨンデコーダ4
3によつて解続され、マイクロプログラム・アド
レスシーケンサ44に供給される。マイクロプロ
グラム・アドレスシーケンサ44はインストラク
シヨンデコーダ43の出力に基づいてマイクロプ
ログラムメモリ45のアドレスを指定し、この結
果、マイクロプログラムメモリ45から前述した
インストラクシヨンレジスタ42に一時記憶され
ているプログラムの命令に対応するマイクロプロ
グラムが読出され、パイプラインレジスタ46に
供給される。 演算部15はマイクロフアンクシヨン・デコー
ダ(以下、MFDと略称する)48、演算回路4
9等を有して構成され、制御部14から供給され
るマイクロプログラムの各命令を解読して所定の
処理を実行するものである。すなわち、MFD4
8はパイプラインレジスタ46から供給される上
記マイクロプログラムの各命令を解読し、この解
読結果に基づいて、レジスタ群50、マルチプレ
クサ51,52、演算回路49、メモリアドレス
レジスタ53、データレジスタ54、アウトプツ
トバツフア55,56へ各々制御信号を出力す
る。レジスタ群50はマイクロプログラムの各命
令を処理する過程で使用されるワーキングレジス
タであり、演算回路49の出力がMFD48から
の制御信号により読込まれ、またこのレジスタ群
50の出力はマルチプレクサ51の第2の入力端
に供給される。マルチプレクサ51は、その第1
の入力端がデータバス30に、第3の入力端がデ
ータレジスタ54の出力端に各々接続されてお
り、MFD48からの制御信号に基づいて第1〜
第3の入力端に得られるデータを選択的に演算回
路49へ出力するものである。マルチプレクサ5
2は、その第1の入力端がデータバス30に、第
2の入力端がデータレジスタ54の出力端に各々
接続されており、これら第1、第2の入力端に得
られるデータを選択的に演算回路49へ出力す
る。 演算回路49はマルチプレクサ51,52から
供給される各種データ(このデータには第1の記
憶部23の各メモリのアドレスを指定するアドレ
スデータおよび前述したキーをチヤンネルに割当
てる際使用されるデータがある)をMFD48か
らの制御信号に基づいて演算し、演算結果をメモ
リアドレスレジスタ53あるいはデータレジスタ
54へ供給する。メモリアドレスレジスタ53は
演算回路49から供給されるアドレスデータを一
時記憶するもので、このメモリアドレスレジスタ
53の出力はアウトプツトバツフア55を介して
アドレスバス37へ出力される。データレジスタ
54は演算回路49から供給されるデータ(キー
をチヤンネルに割当てる際使用されるデータ)を
一時記憶するもので、このデータレジスタ54の
出力はアウトプツトバツフア56を介してデータ
バス30に出力される。 割込制御回路16は割込発生の際の各種処理を
行うものである。ここで、この電子オルガンの割
込信号について説明する。この電子オルガンは3
個の割込信号INTER1,INTER2,INTER3を
有している。割込信号INTER1はパルス発生器
17の出力に基づいて、割込制御回路16内で数
msec毎に周期的に発生する割込信号であり、こ
の割込信号INTER1が発生すると、鍵盤キー3
9のキースイツチのオン/オフ情報がRAM21
内に読込まれる。割込信号INTER2はパルス発
生器17の出力を割込制御回路16内の分周器に
よつて分周して作られる割込信号であり、数100
msec毎に周期的に発生する。そして、この割込
信号INTER2が発生すると、トーンレバー38
の各スイツチのオン/オフ情報がRAM21内に
読込まれる。なお、割込信号INTER2の周期が
割込信号INTER1の周期よりはるかに大となつ
ている理由は、通常各キーが頻繁に操作されるの
に対して、各トーンレバーは各キーほど頻繁には
操作されないからである。割込信号INTER3は
WG25から供給される割込信号であり、WG2
5内のチヤンネルにおいて形成された楽音信号が
0となつて時点で発生するものである。なお、こ
の割込信号INTER3については後述する。 そして、これらの割込信号INTER1〜INTER
3のいずれかが発生すると、制御部14がこれを
検知し、現在実行中のマイクロプログラムモジユ
ールが終了した時点で割込命令をインストラクシ
ヨンレジスタ42内に読込み、その解読を行な
う。なお、割込信号INTER1〜INTER3の優先
順位は、割込制御回路16において、 INTER3>INTER1>INTER2 の如く定められる。 ROM20は、前述したように処理プログラ
ム、周波数データおよびトーンデータ等を記憶す
るもので、アウトプツトバツフア55からアドレ
スバス37を介してアドレス信号が供給され、ま
た同アドレス信号によつて読出された処理プログ
ラムの各命令あるいは各種データがデータバス3
0に出力される。RAM21は、チヤンネル割当
ての際使用される各種データテーブル、データフ
アイル等が記憶されるもので、アウトプツトバツ
フア55からアドレス信号が供給され、またその
入出力端がデータバス30に接続されている。レ
ジスタ22は各種ステイタスあるいはコマンド
(後述)等が記憶されるもので、アウトプツトバ
ツフア55からアドレス信号が供給され、またそ
の入出力端はデータバス30に接続されている。 データポート18はROM20に記憶されてい
る周波数データ、トーンデータおよびレジスタ2
2に記憶されている各種コマンドをWG25およ
びエンベロープジエネレータ26へ出力するため
のレジスタであり、アウトプツトバツフア55か
らアドレスが供給され、また、その入力端はデー
タバス30に接続されている。なお、上述した
ROM20、RAM21、レジスタ22およびデー
タポート18の各記憶内容を第14図に示す。 次に、第2図に示す電子オルガンの動作を第3
図に示す流れ図に基づいて説明する。なお、以下
の説明において“1”とあるのは二値論理レベル
の“1”信号を示し、“0”とあるのは二値論理
レベルの“0”信号を示すものとする。 第3図イはプログラムの流れを示す流れ図であ
り、また第3図ロは割込処理ルーチンである。こ
の図に示すように、この電子オルガンのプログラ
ムはR1〜R8なる8個のメインルーチンおよび
I1〜I3になる3個の割込処理ルーチンから構
成される。そして、各ルーチンが複数のマイクロ
プログラムモジユール化されマイクロプログラム
メモリ45内に記憶され、またこれらのマイクロ
プログラムモジユールを呼出すマイクロ命令が処
理プログラムとしてROM20内に記憶されてい
る。以下、上記各ルーチンについて順次説明す
る。 (1) 初期リセツトルーチンR1 この電子オルガンにおいて電源が投入される
と、プログラムはまずこの初期リセツトルーチ
ンR1に入り、各部に初期リセツトが行われ
る。 (2) トーンレバー・オン/オフ検出ルーチンI1 この割込処理ルーチンは割込信号INTER2
が数100msecのインターバルで発生するたびに
実行されるもので、割込信号INTER2が発生
した時点における鍵盤回路11の各トーンレバ
ースイツチのオン/オフ状態を検出するもので
ある。すなわち、割込制御回路16において割
込信号INTER2が発生すると、アドレスデコ
ーダ34にスイツチアドレス信号が供給され、
このスイツチアドレス信号に基づいて各トーン
レバースイツチのオン/オフ情報がバツフアバ
スドライバ35およびデータバス30を介して
レジスタ22内に読込まれる。そして、この読
込まれたトーンレバースイツチのオン/オフ情
報に基づいて、レジスタ22内に第4図に示す
ニユートーンレバー・ステイタステーブル(以
下、NTSと略称する)60が作成される。こ
の場合、このNTS60においては、各トーン
レバー1〜6の音量設定が2進数によつて示さ
れるようになつている。すなわち、図に示す例
においてはトーンレバー1,4,5,6が音量
「0」を要求し、トーンレバー2が音量「3」
を、トーンレバー3が音量「2」を要求してい
る。 (3) トーンレバー位置・変化検出ルーチンR2 前述した初期リセツトルーチンR1が終了す
ると、プログラムはこのルーチンR2に進行す
る。このルーチンR2は、現在のNTS60の
内容が前回このルーチンR2を実行した時点に
おける同NTS60の内容と異なつているか否
かを検出するもので、このNTS60の内容と
RAM21内に作成されているオールドトーン
レバー・ステイタステーブル(以下、OTSと
略称する;第4図参照)61の内容とを比較す
ることにより上記検出が行なわれる。なお
OTS61は前回このルーチンR2を実行した
時点におけるNTS60の内容を示すもので、
次に説明するルーチンR3において作成され
る。そして、ルーチンR2を実行した結果が
「YES」(変化あり)の場合は、プログラムが
ルーチンR3に進行し、また「NO」(変化な
し)の場合はルーチンR4に進行する。 (4) トーンレバー処理ルーチンR3 このルーチンR3は上記NTS60の内容に
基づいて第4図に示すトーンリクエストフアイ
ル62をRAM21内に作成するものである。
そして、この電子オルガンにおいては、このル
ーチンR3において作成されるトーンリクエス
トフアイル62に基づいてROM20内のトー
ンデータがWG25の各チヤンネルに割当てら
れるようになつている。 すなわち、ROM20内には第4図に示すよ
うに予め音量テーブル63、トーンレバー・イ
ンデツクステーブル64およびトーンデータバ
ンク65が設けられている。そして、音量テー
ブル63には、トーンレバーによつて設定され
る音量「1」〜「3」に対応する音量係数
(WG25の各チヤンネルはこの音量係数に基
づいて音量設定を行なう)が予め記憶され、ト
ーンデータバンク65には複数のトーンデー
タ、すなわち……トーンデータi−1、トーン
データi、トーンデータi+1、トーンデータ
i+2……が記憶され、またトーンレバーイン
デツクステーブル64には、各トーンレバー1
〜6に対応するトーン(音色)を構成するため
のトーンデータのアドレスポインタが記憶され
ている。この場合、図に示す例について説明す
ると、トーンレバー1に対応するトーン(音
色)はトーンデータi−1およびiから構成さ
れ、したがつてトーンレバーインデツクステー
ブル64のトーンレバー1に対応するスロツト
(記憶エリア)64aには、トーンデータバン
ク65におけるトーンデータi−1、iの各先
頭番地、すなわちアドレスAおよびアドレスB
が記憶され、トーンレバー2に対応するトーン
はトーンデータi+2によつて構成され、した
がつてスロツト64bにはアドレスDが記憶さ
れ、またトーンレバー3に対応するトーンはト
ーンデータi、i+1から構成され、したがつ
てスロツト64cにはアドレスB、アドレスC
が記憶されている。なお、この実施例において
は各トーンレバーに対応するトーンを構成する
トーンデータの数を最大2としたが、これは複
数個可能であり、最大2に制限する必要はな
い。 そして、プログラムがこのトーンレバー処理
ルーチンR3(第5図にこのルーチンR3のフ
ローチヤートを示す)に入ると、まずレジスタ
22内のNTS60(第4図)に記憶されてい
るトーンレバー1の音量情報が演算部15のレ
ジスタ群50内に読出される。しかし、この場
合音量が「0」であるので、何らの処理も行な
われない。次いで、トーンレバー2の音量情報
がレジスタ群50内に読出される。この場合、
音量「3」が指定されている。したがつてまず
トーンレバーインデツクステーブル64のスロ
ツト64b内のアドレスポインタ(すなわち、
アドレスD)がトーンリクエストフアイル62
のエリア62c内に書込まれ、次いで音量テー
ブル63内の音量「3」に対応する音量係数
「1111111」が上記エリア62c内に書込まれる
(第4図参照)。次にトーンレバー3の音量情報
がレジスタ群50内に読出される。この場合、
音量「2」が指定されており、したがつて、ま
ずテーブル64のスロツト64c内の第1のア
ドレスポインタ(すなわち、アドレスB)がト
ーンリクエストフアイル62のエリア62d内
に書込まれ、次に音量「2」に対応する音量係
数(「0100000」)が同エリア62d内に書込ま
れ、次にスロツト64c内の第2のアドレスポ
インタ(すなわち、アドレスC)がエリア62
e内に書込まれ、次に音量「2」に対応する音
量係数(「0100000」)が同エリア62e内に書
込まれる。このようにして、NTS60内の各
トーンレバーの音量情報が順次読出され、処理
される。そして、最後にトーンリクエストフア
イル62内に書込まれたアドレスポインタの
数、すなわちトーンリクエストフアイル62に
登録されたトーンデータの数が同トーンリクエ
ストフアイル62のヘツダー(すなわち、エリ
ア62a)に書込まれ、トーンリクエストフア
イル62の作成が終了する。トーンリクエスト
フアイル62の作成が終了した後NTS60の
内容をOTS61内に転送し、プログラムはこ
のルーチンR3を出る。 このように、この電子オルガンにおいてはこ
のルーチンR3において第4図に示すようなト
ーンリクエストフアイル62が作成される。こ
の場合、各トーンレバーはトーンレバーインデ
ツクステーブル64のアドレスポインタのみと
対応しているので、このテーブル64のアドレ
スポインタを変更することにより各トーンレバ
ーに対し任意のトーンデータ(音色)を対応さ
せることができる。 なお、このトーンリクエストフアイル62に
おいて、エリア62bにはこのフアイル62に
共通する音色加工のための情報、例えばビブラ
ート周波数、ビブラート深さ、デイケイ長さ等
が記憶されている。すなわち、詳細は説明は省
略するが、予めこれらの音色加工のための情報
をROM20内に記憶しておき、音色加工用レ
バーの操作位置にしたがつて音色加工情報を
ROM20から読出しこのフアイル62に登録
することにより、WG25の各チヤンネルにお
いて形成される楽音信号に音色加工を施すこと
が可能になる。 ところで、上述したトーンリクエストフアイ
ル62作成の過程において、ヘツダー62aに
記入されるアドレスポインタ数の検出は、通常
レジスタ22内にトーンリクエストカウンタな
るカウンタを設け、アドレスポインタをフアイ
ル62内に書込むたびにこのトーンリクエスト
カウンタをインクリメントし、最後にこのトー
ンリクエストカウンタのカウント結果を参照す
ることにより行なわれる。また、上記過程にお
けるNTS60の内容の順次読出し、トーンレ
バーインデツクステーブル64の各スロツト内
のアドレスポインタの順次読出し、トーンリク
エストフアイル62内の各エリアへの順次書込
み等は、通常対応するポインタをたて、1つの
処理が済むたびにこのポインタの内容を進め、
このポインタの内容に基づいて実行されるもの
である。例えば、トーンリクエストフアイル6
2へアドレスポインタを書込む場合は、まずト
ーンリクエストフアイルポインタなるポインタ
にエリア62cのエントリイアドレス(アドレ
スE)をセツトし、このトーンリクエストポイ
ンタに基づいてエリア62c内に書込み、次い
でトーンリクエストポインタの内容をエリア6
2dのエントリイアドレス(アドレスF)に進
め、このエントリイアドレス(アドレスF)に
基づいてエリア62d内に書込み……の如く行
なわれる。しかしながら、これらの処理はこの
業界においては極く当然に行なわれる処理であ
り、したがつてこの明細書においてはこれらの
処理過程の記載を省略している。 (5) キー・オン/オフ検出ルーチンI2 この割込処理ルーチンI2は割込信号
INTER1が数msecのインターバルで発生する
たびに実行されるもので、割込信号INTER1
が発生した時点における鍵盤回路11の各キー
スイツチのオン/オフ状態を検出するものであ
る。すなわち、割込制御回路16において割込
信号INTER1が発生すると、アドレスデコー
ダ34にスイツチアドレス信号が供給され、こ
のスイツチアドレス信号に基づいてキースイツ
チのオン/オフ情報がバツフアバスドライバ3
5およびデータバス30を介してレジスタ22
内に読込まれ、このレジスタ22内に第6図に
示すニユーキーボード・ステイタステーブル
(以下NKSと略称する)70が作成される。こ
の図に示すNKS70において、“1”とあるの
はこの“1”に対応するキーが割込信号
INTER1発生時点において押下されているこ
とを示している。すなわち、この例では現在第
1オクターブのC音、E音、第2オクターブの
D#音、第3オクターブのF#音、第4オクタ
ーブのA音に各々対応するキーが押下されてい
ることを示している。なお、この図において無
印は“0”を示している。 (6) 押下キー位置・変化検出ルーチンR4 トーンレバー処理ルーチンR3が終了する
と、プログラムはこのルーチンR4に進行す
る。このルーチンR4は、現在のNKS70の
状態が前回このルーチンR4を実行した時点に
おけるNKS70の状態と異なつているか否か
を検出するもので、NKS70の内容と第6図
に示すオールドキーボード・ステイタステーブ
ル(以下OKSと略称する)71の内容とを比
較することにより上記検出が行なわれる。この
場合、OKS71は前回このルーチンR4を実
行した時点におけるキースイツチの状態を示す
もので、後述するルーチンR6において作成さ
れる。そして、このルーチンR4を実行した結
果が「YES」(変化あり)の場合は、プログラ
ムがルーチンR5に進行し、また「NO」(変化
なし)の場合はルーチンR2へ戻る。 (7) キーオン・リクエストフアイル作成ルーチン
R5 このルーチンR5は新たに楽音発生をすべき
キー、言い換えれば新たに押下されたキーを検
出し、この検出結果に基づいて、第6図に示す
キーオンリクエストフアイル(以下ON・RQと
略称する)72をRAM21上に作成するもの
である。 このルーチンR5においては、まずOKS7
1の各ビツトとNKS70の対応する各ビツト
との間のエクスクルーシブオアがとられる
(OKSNKS)。この結果、状態が変化したキ
ースイツチに対応するビツトのみ“1”とな
る。次いで、上記演算結果とNKS70の各ビ
ツトとの間のアンドがとられる。〔NKS∧
(OKSNKS)〕。この結果、キースイツチが新
たにオンとなつたビツトのみ“1”となる。最
後に、上記アンド演算の結果とON・RQ72の
各ビツトとの間のオアがとられ、その結果が新
たにON・RQ72に書込まれる。 ON・RQ=ON・RQ∨{NKS∧(OKS
NKS)} ………(1) ここで、最後のオア演算の意味について説明
する。この電子オルガンは後に説明するキーオ
ン・チヤンネルアサインメントルーチンR7に
おいて、ここで作られたON・RQ72に基づい
て楽音発生すべきキーをWG25の各チヤンネ
ルに割当てる処理を実行し、この割当て処理が
終了した時点で順次ON・RQ72の“1”ビツ
トを消去するようになつている。ところで、こ
のルーチン5が実行される時点で、前回ルーチ
ンR5が実行された際ON・RQ72に記入され
た“1”ビツトが全て消去されているとは限ら
ず、チヤンネル割当処理をすべき“1”ビツト
が残つている場合がある。最後のオア演算は、
この処理が済んでいない“1”ビツトをON・
RQ72上に残すために行なわれるものであ
る。第6図において第1オクターブ・C音に丸
印が付してあるのは、この処理ビツトを示して
いる。 (8) キーオフ・リクエストフアイル作成ルーチン
R6 このルーチンR6は楽音発生を停止すべきキ
ー、すなわち離鍵されたキーを検出し、この検
出結果に基づいて第6図に示すキーオフ・リク
エストフアイル(以下、OF・RQと略称する)
73をRAM21上に作成するものである。 このルーチンR6においては、まずルーチン
R5と同様にOKS71、NKS70、OF・RQ
73に対応する各ビツト間で、 ON・RQ=OF・RQ∨{∧(OKS
NKS)} ………(2) なる演算がなされ、この演算結果がOF・RQ7
3内に書込まれる。なおこの式において、
はNKS70の各ビツトの反転を意味して
いる。またオア演算の意味はルーチンR5の場
合と同じである。次にNKS70の内容がOKS
71内に書込まれる。すなわち、この処理によ
り今回NKSとして用いられたテーブルが次回
のルーチンR4〜R6の処理においてはOKS
71として用いられることになる。 (9) キーオン・チヤンネルアサインメントルーチ
ンR7 このルーチンR7はルーチンR5において作
成されたON・RQ72およびルーチンR3にお
いて作成されたトーンリクエストフアイル62
に基づいて、新たに押下されたキーに対応する
周波数データおよびトーンデータをWG25の
空チヤンネルに割当てる処理を実行するもので
ある。 以下、第7図〜第9図を参照しこのルーチン
R7の実行過程を説明する。なお、第7図にお
けるON・RQ72は第6図におけるON・RQ7
2と同一である。 プログラムがこのルーチンR7に入ると、ま
ず第8図に示すステツプS1に進行し、ON・
RQ72上の“1”ビツトの検出が行なわれ
る。この検出は、ON・RQ72のまず第1オク
ターブに対応するスロツトを左方(第7図にお
いて)へ1ビツトづつシフトし、次いで第2オ
クターブに対応するスロツトを左方へ1ビツト
づつシフトし、次いで第3、第4オクターブに
対応するスロツトを順次左方へシフトすること
により行なわれるもので、“1”ビツトを検出
した時点で(ステツプS2)プログラムはステ
ツプS3に進行する。第7図に示す例において
は、まず第1オクターブ・C音の“1”ビツト
が検出されるので、この時点でプログラムがス
テツプS3に進行する。ステツプS3では、ROM
20内に記憶されている周波数テーブルから第
1オクターブ・C音に対応する周波数データが
読出され、レジスタ22内の周波数データエリ
ア75(予め設定されている)に転送される。
次いでステツプS4に進行すると、RAM21上
に用意されているビジイキーテーブル76の第
1オクターブ・C音に対応するスロツト76a
のエントリイアドレス(アドレスX)が算出さ
れ、算出されたエントリイアドレス(アドレス
X)がレジスタ22内に一時記憶される。な
お、ビジイキーテーブル76とは予めRAM2
1内に用意されているもので、各キーに対応し
て設けられた48個のスロツト76a,76b,
76c……からなるものである。次に、ステツ
プS5に進行すると、チヤンネルアサイメント
テーブル(以下CATと略称する)77内の空
エリアの検出が行なわれる。ここで、CAT7
7について説明する。このCAT77は予め
RAM21内に用意されているもので、E1,E2
……E15なる15個のエリアから構成され、また
これらのエリアE1,E2……E15は各々16ビツト
からなる3個のスロツトa1,b1,c1,a
2,b2,c2,……から構成されている。こ
のCAT77は、現在発音中の楽音(デイケイ
状態にある楽音も含む)がどのチヤンネルに割
当てられているかを示すテーブルであり、以下
に説明するように、あるキーに対応する楽音の
発音が割当てられると各エリアE1,E2……E15
のヘツダー、すなわちスロツトa1,a2,a
3……に該当キーを表わすビジイキーテーブル
76のエントリイアドレスが登録され、またス
ロツトb1,c1、スロツトb2,c2……に
使用チヤンネルが登録されるようになつてい
る。この場合、スロツトb,cの各ビツトがそ
れぞれWG25の32個のチヤンネルに対応して
おり、さらに発音が割当てられたチヤンネルに
対応するビツトに“1”が登録される。 さて、プログラムがステツプS5に進行する
とCAT77の各エリアのヘツダーを検出する
ことにより空エリアの検出が行なわれる。そし
て、例えばエリアE2が空エリアとして検出さ
れたとすると、エリアE2のエントリイアドレ
ス(アドレスY)がレジスタ22内に記憶さ
れ、そしてステツプS6に進行する。ステツプ
S6では、レジスタ22内に設けられているビ
ジイステイタスレジスタ78内の“0”ビツト
の数が算出される。このビジイステイタスレジ
スタ78は32ビツトのレジスタであり、各ビツ
トが各々32個のチヤンネルに対応し、また使用
中のチヤンネルに対応するビツトに“1”が登
録されている。したがつて、このステツプS6
で算出される“0”ビツトの数は現在の空チヤ
ンネルの数に等しくなる。ステツプS6におい
てビジイステイタスレジスタ78の“0”ビツ
トの数(空チヤンネルの数)が算出されると、
プログラムはステツプS7へ進み、算出された
“0”ビツトの数とトーンリクエストフアイル
62(第4図参照)内に登録されているトーン
データ数(すなわちトーンリクエストフアイル
62のヘツダー62a内に記憶されている数)
とが比較される。この場合、“0”ビツトの数
がトーンデータ数より大きいかあるいは等しい
とすると(YES)、プログラムはステツプS8に
進行する。ステツプS8では、ビジイステイタ
スレジスタ78内の“0”ビツトを検索するこ
とにより空チヤンネルのチヤンネル番号が検出
される。第7図の例においては、まずスロツト
78aの第2ビツトの“0”が検索され、これ
により第2チヤンネルが空チヤンネルであるこ
とが検出される。なお、ビジイステイタスレジ
スタ78において、スロツト78aの第1〜第
16ビツトが各々第1〜第16チヤンネルに対応
し、またスロツト78bの第1〜第16ビツトが
各々第17〜第32チヤンネルに対応している。第
2チヤンネルの空チヤンネルが検出されると、
プログラムはステツプS9に進行し、同チヤン
ネル番号「2」がチヤンネルレジスタ79内に
格納される。次いで、ステツプS10に進行する
と、トーンリクエストフアイル62に基づいて
ROM20内のトーンデータがレジスタ22内
のトーンデータエリア80に転送される。すな
わち、第4図の例について説明すると、まずエ
リア62c内に記憶されているアドレスDがレ
ジスタ群50内に読出され、次いでこのアドレ
スDに基づいてROM20内のトーンデータi
+2が読出され、トーンデータエリア80に転
送される。次に、エリア62c内の音量係数が
エリア80の転送される。 そして、プログラムはステツプS11に進行
し、トーンデータの修飾(音色加工)が行なわ
れる。このトーンデータの修飾はトーンリクエ
ストフアイル62のエリア62bに記憶されて
いる音色加工のための情報に基づいて行なわれ
るもので、この修飾によりトーンデータに音色
加工(例えば、ビブラートの付加)が施され
る。そして、プログラムはステツプS12に進行
する。ステツプS12では、チヤンネルレジスタ
79に記憶されている空チヤンネルのチヤンネ
ル番号(この場合、「2」)に基づいてデータポ
ート18(第2図)の第2チヤンネルに対応す
る領域のエントリイアドレスが算出される。次
いでステツプS13(第9図)に進行すると、周
波数データエリア75内の周波数データおよび
トーンデータエリア80内のトーンデータ、音
量係数が上記エントリイアドレスに基づいてデ
ータポート18の対応する領域に出力される。
次にステツプS14に進行すると、まずレジスタ
22内に設けられた32ビツトのスタートコマン
ドレジスタ81の第2チヤンネルに対応するビ
ツト(スロツト81aの第2ビツト)に“1”
がたてられ、次いでこのスタートコマンドレジ
スタ81の内容がデータポート18に転送され
る。このようにして、データポート18に転送
された周波数データ、トーンデータ、音量計数
およびスタートコマンドはWG25の対応する
チヤンネル(第2チヤンネル)に供給され、こ
れによりWG25の当該チヤンネル(第2チヤ
ンネル)がスタートし、同第2チヤンネルにお
いてデータポート18から供給されている周波
数データ、トーンデータ等に基づいて楽音信号
が形成される。次に、プログラムはステツプ
S15に進み、チヤンネルレジスタ79に記憶さ
れているチヤンネル番号「2」に基づいて、ス
テツプS5において検出されたエリアE2内のス
ロツトb2の第2ビツトに“1”を書込む。
(なお、このスロツトb2の第2ビツトが第2
チヤンネルに対応している。)次いでステツプ
S16に進行し、チヤンネルレジスタ79内のチ
ヤンネル番号「2」に基づいてビジイステイタ
スレジスタ78のスロツト78aの第2ビツト
に“1”が書込まれる。そして、ステツプS17
へ進行する。 ステツプS17では、トーンリクエストフアイ
ル62に登録されている全てのトーンデータが
チヤンネル割当てされたか否かが判断される。
この場合、エリア62c(第4図)に登録され
ているトーンデータの割当てのみしか済んでい
ないので、判断結果は「NO」であり、したが
つてプログラムはステツプS8に戻る。そし
て、上述したステツプS8〜S16の過程が再度繰
返される。すなわち、ステツプS8において空
チヤンネルとして第4チヤンネルが検出され、
ステツプS9においてチヤンネル番号「4」が
チヤンネルレジスタ79に格納され、ステツプ
S10においてトーンリクエストフアイル62の
エリア62dに記憶されているアドレスBに基
づいてトーンデータバンク65からトーンデー
タiが読出されトーンデータエリア80に転送
され、またエリア62d内の音量係数がトーン
データエリア80に転送され、ステツプS11に
おいてトーンデータの修飾が行なわれ、ステツ
プS12においてデータポート18の第4チヤン
ネルに対応する領域のエントリイアドレスが算
出され、ステツプS13において周波数データエ
リア75内の周波数データおよびトーンデータ
エリア80内のトーンデータ、音量係数がデー
タポート18へ出力され、ステツプS14におい
てスタートコマンドレジスタ81の第4チヤン
ネルに対応するビツトに“1”がたてられ、こ
れによりWG25の第4チヤンネルがスタート
し、ステツプS15、S16においてCAT77のス
ロツトbの第4ビツトおよびビジイステイタス
レジスタ78のスロツト78aの第4ビツトに
“1”が書込まれ、そして、ステツプS17へ進
行する。 ステツプS17では、再度全トーンデータの割
当てが終了したか否かが判断されるが、この場
合まだトーンリクエストフアイル62のエリア
62eに記憶されているアドレスcに対応する
トーンデータの割当てが終了していないので、
判断結果は「NO」であり、したがつてプログ
ラムは再度ステツプS8へ戻り、ステツプS8〜
S16の過程が再度実行される。そして、このス
テツプS8〜S16の過程が実行されると、トーン
リクエストフアイル62のエリア62eに記憶
されているアドレスcに対応するトーンデータ
i+1が第5チヤンネルに割当てられ、WG2
5の第5チヤンネルがスタートし、またCAT
77のスロツトb2の第5ビツトおよびビジイ
ステイタスレジスタ78のスロツト78aの第
5ビツトに各々“1”が書込まれる。 このようにして、第1オクターブ・C音のチ
ヤンネル割当てが終了し、スピーカ29から
は、第1オクターブのC音の音高で、かつそれ
ぞれトーンデータi、トーンデータi+1、ト
ーンデータi+2に対応する音色の3種類の楽
音が同時に発音される。また、この時点でビジ
イステイタスレジスタ78、スタートコマンド
レジスタ81の第2、第4、第5チヤンネルに
対応するビツトには各々“1”が登録されてお
り、さらにCAT77のエリアE2の第2、第
4、第5チヤンネルに対応するビツトにも
“1”が登録されている。 そして、プログラムはステツプS17へ進行す
るが、このステツプでの判断結果は当然
「YES」であり、したがつてプログラムはステ
ツプS18へ進行する。このステツプS18では、
割当処理がなされた第1オクターブ・C音に対
応するビジイキーテーブル76のスロツト76
aのエントリイアドレス(アドレスX)が、
CAT77のエリアE2のヘツダー(すなわち、
スロツトa2)に書込まれる。次いでステツプ
S19に進行すると、エリアE2のエントリイアド
レス(アドレスY)がビジイキーテーブル76
のスロツト76a内に書込まれる。そして、ス
テツプS20に進行し、ON・RQ72の第1オク
ターブ・C音に対応する“1”ビツトが“0”
とされる。こうして、第1オクターブ・C音に
基づく割当処理が全て終了する。 次に、プログラムは再びステツプS1に戻
り、ON・RQ72上の“1”ビツトの検出が行
なわれる。この場合、第7図に示す例において
は第2オクターブ・D#音に対応する“1”ビ
ツトが検出され(ステツプS2)、したがつてプ
ログラムはステツプS3に進行し、以下上述し
た場合と全く同様の割当処理がなされる。そし
て、第2オクターブ・D#音の割当処理が終了
すると再びON・RQ72上の“1”ビツトの検
出が行なわれ、次に検出された“1”ビツト
(第3オクターブ・F#音)に対応する割当処
理がなされる。このようにしてON・RQ72上
の“1”ビツトの処理が全て終了すると、ステ
ツプS2での判断結果は「NO」となり、ルーチ
ンR7における処理が全て終了する。 次に、第8図におけるステツプS21について
説明する。上述した説明においてはステツプ
S7における判断結果を「YES」として説明を
進めたが、これは「NO」なる場合もあり得
る。すなわち、ジイステイタスレジスタ78の
の“0”ビツトの数がトーンリクエストフアイ
ル62のヘツダー62a内に登録されている数
より少ない場合、言い換えればトーンデータを
チヤンネルに割当てたくとも、空チヤンネルの
数が少なく割当てることができない場合は、ス
テツプS7の判断結果は「NO」となり、プログ
ラムはステツプS21へ進む。このステツプS21
では、デイケイ状態にあるチヤンネルのチヤン
ネル番号を後述するダンプコマンドレジスタ8
5(第10図参照)へロードし、さらにこのダ
ンプコマンドレジスタ85の内容をデータポー
ト18へ出力することにより、WG25におい
てデイケイ状態にあるチヤンネルを強制的に停
止させてしまう。そして、ルーチンR7を出
る。このような処理をしておくと、WG終了処
理ルーチンI3においてビジイステイタスレジ
スタ78の対応する“1”ビツトが“0”とさ
れ、これにより空チヤンネルの数が増加し、ト
ーンデータの割当てが可能となる。なお、この
処理の意味は、デイケイ状態にある楽音の発音
より新たに押下されたキーに対応する楽音の発
音の方を優先するということである。また、こ
の処理を行なうために、レジスタ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”も同
エリアE2にそのまま残されることになる。(な
お、楽音信号の発生が停止した場合の処理につ
いては後述する割込処理ルーチンI3を参照の
こと。) なお、この実施例においてはトーンリクエス
トフアイル62内の各トーンデータ毎にチヤン
ネルをスタートさせているが、各チヤンネルを
まとめて同時にスタートさせることも可能であ
る。 (10) キーオフ・チヤンネルマネジメントルーチン
R8 このルーチンR8は、ルーチンR6において
作成されたOF・RQ73およびルーチンR7に
おいて作成されたビジイキーテーブル76、
CAT77に基づいて、離されたキー(押下状
態が解除されたキー)に対応する楽音を消去す
るものである。以下、このルーチンR6の実行
過程を第10図、第11図を参照し説明する。
なお、第10図におけるOF・RQ73は第6図
におけるOF・RQ73と同一である。 プログラムはこのルーチンR8に入ると、ま
ず第11図に示すステツプS1に進行し、OF・
RQ73上の“1”ビツトの検出が行なわれ
る。なお、この検出は前述したON・RQ72上
の“1”ビツトの検出(第8図のステツプ
S1)の場合と全く同様に行なわれる。そし
て、第10図に示す例において、まず第1オク
ターブ・A#音の“1”ビツトが検出され(ス
テツプS2)、プログラムがステツプS3に進行す
る。ステツプS3では、検出された“1”ビツ
トの位置(OF・RQ73上の位置)に基づい
て、ビジイキーテーブル76の第1オクター
ブ・A#音に対応するスロツト76mのエント
リイアドレス(アドレスVとする)が算出され
る。 次にステツプS4に進行すると、算出された
エントリイアドレス(アドレスV)に基づいて
スロツト76mの内容が読出され、レジスタ群
50内に転送される。この場合、スロツト76
mの内容は、第1オクターブ・A#音に関する
チヤンネル割当てがCAT77のエリアEnに登
録されているとすると、エリアEnのエントリ
イアドレス(アドレスUとする)である。次に
ステツプS5に進行すると、スロツト76mの
内容(アドレスU)に基づいてエリアEnのス
ロツトbnおよびcnの内容が読出され、デイケ
イコマンドレジスタ84またはダンプコマンド
レジスタ85のいずれかにロードされる。 なお、いずれにロードされるかはこの電子オ
ルガンの操作部に設けられた切換スイツチによ
つて制御される。そして、ステツプS6に進行
すると、ステツプS5においてエリアEnの内容
がロードされたレジスタ84または85の内容
がデータポート18に出力され、これにより第
1オクターブ・A#音に対応する楽音の発音が
割当てられているチヤンネル(第10図に示す
例についていえば、第1、第7、第8チヤンネ
ル)の楽音信号の発生が停止される。この場
合、ステツプS5においてデイケイコマンドレ
ジスタ84にロードされた場合は、楽音がデイ
ケイをもつて徐々に消去され、ダンプコマンド
レジスタ85にロードされた場合は、楽音が即
座に消去される。次いでステツプS7へ進行す
ると、OF・RQ73上の第1オクターブ・A
#音の“1”ビツトが消去され、再びステツプ
S1に戻る。そして、ステツプS1において第3
オクターブ・F音の“1”ビツトが検出される
と、ステツプS2の判断結果が「YES」とな
り、上述した場合と同様にステツプS3〜S6の
過程が実行され、第3オクターブ・F音が割当
てられているチヤンネルの楽音信号が停止さ
れ、またはデイケイ状態とされる。そして、ス
テツプS7において第3オクターブ・F音の
“1”ビツトが消去され、再びステツプS1に戻
る。このようにして、OF・RQ73上の“1”
ビツトの処理が全て処理するとステツプS2で
の判断結果が「NO」となり、このルーチンR
8における処理が終了する。 (11) WG終了処理ルーチンI3 この割込処理ルーチンI3は、WG25のチ
ヤンネルにおける楽音信号の発生が完全に停止
した時(デイケイ状態が終了した時)WG25
から発生する割込信号INTER3に基づいて実
行されるもので、その主な目的はビジイステイ
タスレジスタ78(第7図、第12図)の当該
チヤンネルに対応するビツトを“0”とし、こ
れにより同チヤンネルを空チヤンネルとして新
たに他のキーに対応する楽音の発生を割当て得
るようにすることである。 すなわち、1個の押下されたキーに対応し
て、複数のチヤンネル(上述した第4図、第7
図等の例においては3個のチヤンネル)におい
て発生する楽音信号は、必ずしも同一タイミン
グで停止するとは限らず、例えばパーカツシブ
系の音の場合はキーが押下されているにもかか
わらず停止してしまうことがある。このような
場合に、同一キーに対応する他のチヤンネルの
楽音信号発生が全て停止するまで、すでに楽音
発生が停止したチヤンネルを待期させるとする
と、チヤンネル使用の効率が非常に悪いものに
なる。この電子オルガンはこのような点を考慮
し、楽音発生が停止したチヤンネルを即座に他
のキーに解放し得るように、この割込処理ルー
チンI3を設けている。 以下、第12図、第13図を参照しこの割込
処理ルーチンI3の実行過程について説明す
る。なお以下の説明においては、いま第7チヤ
ンネルにおいて楽音信号の発生が停止し、また
この第7チヤンネルがCAT77のエリアE6
登録されているものとする。 第7チヤンネルにおいて楽音信号の発生が停
止し、これによりWG25から割込信号INTER
3が発生すると、プログラムは先ず第13図に
示すステツプS1に進行する。そして、このス
テツプS1においてビジイステイタスレジスタ
78のスロツト78aの第7ビツト(第7チヤ
ンネルに対応)が“0”とされ、次いでステツ
プS2に進行する。このステツプS2および次の
ステツプS3はCAT77に登録されている第7
チヤンネルの消去する、具体的にいえばエリア
E6の第7チヤンネルに対応するスロツトb6
の第7ビツトの“1”を消去するためのもので
ある。そして、この処理を行なわなければなら
ない理由は次の通りである。例えば、第7チヤ
ンネルにおいて今まで発生していた楽音信号が
パーカツシブ系の楽音信号であり、また同楽音
信号の発生が停止した時点で同楽音信号に対応
するキー(最初のキーと称す)がまだ押下され
たままであつたとする。そして、同楽音信号が
停止した時点でビジイステイタスレジスタ78
の第7チヤンネルに対応するビツトが“0”と
されることにより(ステツプS1)、最初のキー
が離される前に新たに押下されたキー(次のキ
ーと称す)に対応する楽音の発生がこの第7チ
ヤンネルに割当てられる可能性がある。このよ
うな場合に上述した処理を行つていないとする
と、最初のキーが離された時点で同最初のキー
に対応するCAT77のエリアの内容が例えば
デイケイコマンドレジスタ84に転送され、さ
らにこのデイケイコマンドレジスタ84の内容
がデータポート18に出力されて、次のキーに
対応する楽音の発生が割当てられている第7チ
ヤンネルをもデイケイ状態に移行させてしまう
ことになる。このような不都合を除くためにス
テツプS2およびS3による処理が必要とな
る。 さて、プログラムがステツプS2に進行する
とCAT77のエリアE1のヘツダー(スロツト
a1)が“0”であるか否かが判断される。こ
の場合、例えば「NO」(“0”でない)とする
と、プログラムはステツプS3に進行する。ス
テツプS3では、まずエリアE1のスロツトb
1,c1の各ビツトとビジイステイタスレジス
タ78の対応するビツトとの間で論理ANDが
とられ、次いでこの演算結果がスロツトb1,
c1内に格納される。これによりスロツトb1
の第7ビツトに“1”があつた場合はその
“1”が消去される。なお、この例においては
エリアE6のスロツトb6の第7ビツトに
“1”があるので、エリアE6のスロツトb1の
第7ビツトに“1”はない。したがつて、上記
AND演算の結果は、演算前のエリアE1の内容
と同一となる。 ステツプS3の実行が終了するとステツプS4
へ進行する。このステツプS4では、エリアE1
の内容(スロツトb1,c1の内容)が全て
“0”か否かが判断される。この場合、エリア
E1には“1”が残つているので判断結果は
「NO」となり、プログラムはステツプS6へ進
む。このステツプS6では上述したステツプS3
における処理がヘツダーが“0”でない全ての
エリアE1〜E15においてなされたか否かが判断
される。この場合、エリアE1の処理しかなさ
れていないので、判断結果は「NO」であり、
したがつてプログラムは再びステツプS2に戻
る。ステツプS2では、今度はエリアE2のヘツ
ダー(スロツトa2)が“0”か否かが判断さ
れる。この場合、ヘツダーが“0”とすると
(「YES」)、プログラムはステツプS6に進む。
このステツプS6での判断結果は「NO」であ
り、プログラムは再びステツプS2に進み、エ
リアE3のヘツダーが調べられる。このように
してエリアE1,E2,……と順次各エリアが調
べられ、またステツプS3の処理がなされ、そ
してステツプS2においてエリアS6のヘツダー
(スロツトs6)が調べられたとする。この場
合、ステツプS2における判断結果は「NO」と
なり、ステツプS3に進む。そして、このステ
ツプS3においてビジイステイタスレジスタ7
8の内容とエリアE6のスロツトb6,c6の
内容の論理ANDがとられることにより、スロ
ツトb6の第7ビツトの“1”が消去される
(“0”とされる)。次いで、ステツプS4へ進行
すると、エリアE6のスロツトb6,c6の内
容が全て“0”であるか否かが判断され、この
場合、まだ“1”が残つているとするとプログ
ラムはステツプS6へ進行する。こうして、全
エリアE1〜E15についての処理が終了するとプ
ログラムはこの割込処理ルーチンI3を出る。 次に、例えばいま第8チヤンネルが終了し、
またこの第8チヤンネルがCAT77のエリア
E7に登録されており、さらにこの第8チヤン
ネルで発生していた楽音信号のデイケイ時間が
比較的長かつた場合について説明する。 割込信号INTER3が発生し、プログラムが
ステツプS1に進行すると、ビジイステイタス
レジスタ78のスロツト78aの第8ビツト
(第8チヤンネルに対応)の“1”が消去され
る。次いで、前述した場合と同様にしてエリア
E1〜E6が処理された後、ステツプS3において
エリアE7のスロツトb7の第8ビツトの
“1”が消去され、そしてステツプS4へ進む。
ここで、第8チヤンネルの楽音信号のデイケイ
時間が比較的長かつたため、第8チヤンネルが
終了した時点ではエリアE7の他の“1”ビツ
トが全て消去されていたとする。この場合、ス
テツプS3の実行によつてステツプS4の判断結
果は「YES」となり、プログラムはステツプ
S5へ進行する。そして、このステツプS5にお
いて、まずエリアE7のヘツダーに記憶されて
いるビジイキーテーブル76(第10図参照)
のエントリイアドレスに基づいて、同エントリ
イアドレスによつて指示されるビシイキーテー
ブル76のスロツトの内容が消去され、次にエ
リアE7のヘツダーが消去される。すなわち、
エリアとビジイキーテーブルとの結合が解かれ
る。そして、この処理によりエリアE7が他の
キーに対して解放されることになる。 以上でこの電子オルガンの説明を終るが、参考
までにこれまでに説明したROM20、RAM2
1、レジスタ22の各内容をまとめて第14図に
示す。 なお、上記実施例では、この発明を電子オルガ
ンに適用したが、電子オルガン以外の他の電子楽
器においても勿論実施することができる。また、
上記説明では、チヤンネル数を32としたが、この
数は必要に応じて増減可能である。 〔発明の効果〕 以上説明したように、この発明によれば、キー
に関するデータだけでなく音色に関するデータを
も楽音発生チヤンネルに対して出力するようにし
たので、各チヤンネル毎に独立して異なる音色を
設定することができる効果がある。この結果、各
チヤンネルを従来以上に有効に利用することが可
能となる。例えば、メロデイ音のチヤンネル数と
伴奏音のチヤンネル数を必要に応じて変えること
も可能となる。
【図面の簡単な説明】
第1図は従来のデイジタル式電子オルガンの概
略的な構成を示す図、第2図ないし第14図はこ
の発明の一実施例による電子オルガンを説明する
ための図であり、第2図は全体の構成を示す図、
第3図イはプログラムの流れを示すフローチヤー
ト、第3図ロは割込処理ルーチンを示す図、第4
図は第3図に示すトーンレバー処理ルーチンR3
の実行時において関係するROM20、RAM2
1、レジスタ22の記憶内容を示す図、第5図は
上記ルーチンR3のフローチヤート、第6図は第
3図に示すキーオン・リクエストフアイル作成ル
ーチンR5、キーオフ・リクエストフアイル作成
ルーチンR6の実行時において関係するRAM2
1、レジスタ22の記憶内容を示す図、第7図は
第3図に示すキーオン・チヤンネルアサインメン
トルーチンR7の実行時において関係するRAM
21、レジスタ22の内容を示す図、第8図、第
9図は共に上記ルーチンR7のフローチヤート、
第10図は第3図に示すキーオフ・チヤンネルマ
ネジメントルーチンR8の実行時において関係す
るRAM21、レジスタ22の内容を示す図、第
11図は上記ルーチンR8のフローチヤート、第
12図は第3図に示すWG終了処理ルーチンI3
の実行時において関係するRAM21、レジスタ
22の内容を示す図、第13図は上記ルーチンI
3のフローチヤート、第14図はROM20、
RAM21、レジスタ22、データポート18の
各記憶内容をまとめて示した図である。 11……鍵盤回路、18……データポート(記
憶手段)、19……演算制御部、25……ウエイ
ブジエネレータ、38……トーンレバー、39…
…鍵盤キー。

Claims (1)

  1. 【特許請求の範囲】 1 (a) 複数のキーを有する鍵盤と、 (b) 音色を選択する音色選択手段と、 (c) それぞれに与えられるキーに対応したデータ
    および音色に対応したデータに基づいて、当該
    キーおよび音色に対応する楽音信号を発生する
    複数の楽音発生チヤンネルを有する楽音発生手
    段と、 (d) 前記複数の楽音発生チヤンネルに対応して設
    けられ、それぞれ前記キーおよび音色に対応し
    たデータを記憶する複数の記憶領域を有し、各
    記憶領域に記憶された該データをそれぞれ対応
    する前記楽音発生チヤンネルに与える記憶手段
    と、 (e) 前記鍵盤で操作されたキーおよび前記音色選
    択手段で選択された音色に対応して前記楽音発
    生チヤンネルで発生すべき楽音信号を指定する
    前記キーに対応するデータおよび音色に対応す
    るデータを前記記憶手段の当該楽音発生チヤン
    ネルに対応する記憶領域に対して書き込む割当
    手段と、 を具備してなる電子楽器。
JP60175995A 1985-08-10 1985-08-10 電子楽器 Granted JPS6211894A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60175995A JPS6211894A (ja) 1985-08-10 1985-08-10 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60175995A JPS6211894A (ja) 1985-08-10 1985-08-10 電子楽器

Publications (2)

Publication Number Publication Date
JPS6211894A JPS6211894A (ja) 1987-01-20
JPS6252317B2 true JPS6252317B2 (ja) 1987-11-04

Family

ID=16005864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60175995A Granted JPS6211894A (ja) 1985-08-10 1985-08-10 電子楽器

Country Status (1)

Country Link
JP (1) JPS6211894A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0387953U (ja) * 1989-12-25 1991-09-09

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0734855B2 (ja) * 1989-03-27 1995-04-19 東北電力株式会社 石炭灰砂の製造方法
WO2000000421A1 (fr) 1998-06-30 2000-01-06 Mitsubishi Denki Kabushiki Kaisha Ascenseur

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5143912A (ja) * 1974-09-27 1976-04-15 Nippon Musical Instruments Mfg
JPS5158320A (ja) * 1974-11-18 1976-05-21 Matsushita Electric Ind Co Ltd
JPS5943758A (ja) * 1982-08-04 1984-03-10 ハ−・クランツ・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング・ウント・コンパニイ クリツプテンタの把持装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5143912A (ja) * 1974-09-27 1976-04-15 Nippon Musical Instruments Mfg
JPS5158320A (ja) * 1974-11-18 1976-05-21 Matsushita Electric Ind Co Ltd
JPS5943758A (ja) * 1982-08-04 1984-03-10 ハ−・クランツ・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング・ウント・コンパニイ クリツプテンタの把持装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0387953U (ja) * 1989-12-25 1991-09-09

Also Published As

Publication number Publication date
JPS6211894A (ja) 1987-01-20

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US4981066A (en) Electronic musical instrument capable of editing chord performance style
US4387617A (en) Assigner for electronic musical instrument
JPS5943758B2 (ja) 電子楽器用アサイナ
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
US5321198A (en) Tone signal generator utilizing ancillary memories for electronic musical instrument
US4387618A (en) Harmony generator for electronic organ
JPS6222157B2 (ja)
JP2629891B2 (ja) 楽音信号発生装置
JPS6252317B2 (ja)
JPS6113599B2 (ja)
JPS6252316B2 (ja)
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JP2522337B2 (ja) 自動演奏装置
JPS62208099A (ja) 楽音発生装置
JPS6339075B2 (ja)
JPS6222158B2 (ja)
JPH0474718B2 (ja)
JPS6339074B2 (ja)
JPS6339073B2 (ja)
JPH0572596B2 (ja)
US4389914A (en) Chord identification system for electronic musical instruments
JPH0515279B2 (ja)
JP3050779B2 (ja) 信号処理装置
JPH0460698A (ja) 楽音波形発生装置