JP2843852B2 - 音源モジュール - Google Patents

音源モジュール

Info

Publication number
JP2843852B2
JP2843852B2 JP63281642A JP28164288A JP2843852B2 JP 2843852 B2 JP2843852 B2 JP 2843852B2 JP 63281642 A JP63281642 A JP 63281642A JP 28164288 A JP28164288 A JP 28164288A JP 2843852 B2 JP2843852 B2 JP 2843852B2
Authority
JP
Japan
Prior art keywords
note
value
polyphonic
processing
determination
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 - Fee Related
Application number
JP63281642A
Other languages
English (en)
Other versions
JPH02127692A (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.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
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 KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP63281642A priority Critical patent/JP2843852B2/ja
Priority to US07/431,738 priority patent/US5025701A/en
Publication of JPH02127692A publication Critical patent/JPH02127692A/ja
Application granted granted Critical
Publication of JP2843852B2 publication Critical patent/JP2843852B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、外部からノート情報(楽音データ)を入力
して楽音を発音する音源モジュールに係り、さらに詳し
くは複数の音源モジュールを接続した場合に1台の音源
楽器として連動して動作させることが可能な音源モジュ
ールに関する。
〔従来の技術〕
MIDI(Musical Instrument Digital Interface)方式
の出現と、デジタル信号処理を用いた電子楽器の発展に
より、複数の電子楽器をMIDIで相互に接続し、同期させ
て演奏動作を行わせることが可能となっている。特に、
そのような同期演奏を目的として、鍵盤等の演奏部を除
いた音源モジュールタイプの電子楽器が多々開発されて
おり、このような音源モジュールを複数接続することに
より、高度な演奏効果を得ることが可能となっている。
上記のような音源モジュールにおいては、外部に鍵盤
等を接続し、そこから入力するNOTE ONデータ(ノート
オンデータ;発音指示データ)又はNOTE OFFデータ(ノ
ートオフデータ;消音指示データ)等のMIDIデータを受
信することにより、楽音の発音又は消音等の発音制御を
行う。この場合、音源モジュール単体では、通常、時分
割処理により複数の楽音を並列して発音させることが可
能であり、8〜16音程度のポリフォニック数を有する音
源モジュールが一般的である。そして、このような音源
モジュールをMIDIにより複数台接続して使用する場合、
各音源モジュールが各MIDIデータを独立して受信するこ
とにより、複数の音源モジュールを同期させて演奏させ
ることが可能である。この場合、8〜16音ポリフォニッ
クの各音源モジュールが並列して独立して発音動作を行
うことになる。
〔発明が解決しようとする課題〕
しかし、上記従来例では、複数の音源モジュールが並
列に演奏動作されるだけであり、音源モジュールを拡張
接続し、複数台の音源モジュールを1台の音源モジュー
ルとして使用するようなことはできないという問題点を
有している。
このような問題点に対して、音源モジュール毎に発音
する音域を指定し、外部から入力するNOTE No.(ノート
ナンバー;音階)により、発音の有無を決定して音源の
拡張性を図った従来例があるが、このタイプでは、演奏
する音域によって発音を行う音源モジュールが決定され
てしまい、ある音域を多用するような演奏においては、
1台の音源モジュールあたりのポリフォニック数をオー
バーしてしまい、それ以上は発音不可能となってしまっ
て、自由度の狭い演奏しか行えないという問題点を有し
ている。
また、偶数番号のNOTE No.と、奇数番号のNOTE No.と
で、別々の音源で発音を行わせる従来例もあるが、この
場合も演奏形態によっては、偶数番号のNOTE No.ばかり
が指定された場合には、前記音域指定による場合と同様
の問題点が発生する。
本発明の課題は、複数の音源モジュールを接続するこ
とにより、発音される楽音のポリフォニック数を接続台
数に応じて拡張することを可能にし、特に各音源モジュ
ール毎に独立したポリフォニック数の設定を可能にし、
これにより各音源モジュールの特性を生かした細かいポ
リフォニック数の拡張を可能にすることにある。
〔課題を解決するための手段〕 本発明は、外部からノート情報を受信可能で、該ノー
ト情報により楽音の発音制御が可能な音源モジュールを
前提とする。この場合、各音源モジュールは、例えばMI
DIにより相互に接続され、また、例えばそのうち1台が
鍵盤等の演奏部を有し、そこでの演奏動作により演奏部
から出力されるノート情報に基づいて自己の音源及び外
部に接続される他の音源モジュールを制御するような構
成にできる。
上記音源モジュールにおいて、まず、ノート情報記憶
手段は、その音源モジュールでの同時発音可能数(ポリ
フォニック数=ポリフォニックチャンネル数)よりも多
い数のポリフォニックチャンネルである第1のポリフォ
ニックチャンネルの各々に対応する記憶領域を有するこ
とにより、各ポリフォニックチャンネル毎にノート情報
を記憶する手段である。ここで、上記第1のポリフォニ
ックチャンネルは、例えば複数台の音源モジュールを接
続したと仮定した際の総ポリフォニックチャンネル数
(1台のポリフォニックチャンネル数×接続台数)をそ
の数とするものであって、その数は予め決められてお
り、ここでは便宜上8チャンネル×8台=64チャンネル
とする。同手段は、例えば前記64チャンネルの第1チャ
ンネルから第64チャンネルに対応する各アドレスに、ノ
ートナンバー又は消音中であることを示すコードその他
の情報を記憶可能なメモリである。
次に、指定手段は、その音源モジュールでの同時発音
可能数と同数もしくはそれ以下の数のポリフォニックチ
ャンネルである第2のポリフォニックチャンネルを、前
記第1のポリフォニックチャンネルの中から任意に指定
する手段である。ここで、第2のポリフォニックチャン
ネルは、前記第1のポリフォニックチャンネルに相当す
る第1チャンネルから第64チャンネルの内の8チャンネ
ル分又はそれ以下のチャンネル数であり、例えば第9チ
ャンネルから第16チャンネルまでをいう。そして、この
例の場合、同手段は、下限値「9」と上限値「16」を指
定することにより、第9〜第16チャンネルからなる第2
のポリフォニックチャンネルを指定するための、例えば
カーソルスイッチとLCD等の表示装置である。
続いて、記憶制御手段は、ノート情報を受信した場合
に、所定の規則に従ってノート情報記憶手段上の各記憶
領域に記憶されているノート情報を更新する手段であ
る。同手段は、例えばノートオン(発音指示)データを
受信した場合に、前記ノート情報記憶手段上の第1チャ
ンネルから第64チャンネルに対応する各アドレスのう
ち、現在空いているか又は消音中のチャンネルに、若い
アドレスから順にノートオンすべきノートナンバーをセ
ーブする制御を行う。また、ノートオフ(消音指示)デ
ータを受信した場合に、前記各アドレスに記憶されてい
るノートナンバーのうち、ノートオフすべきノートナン
バーと一致するものを消音中を表すコードに変更する制
御を行う。その他、音高変更(ベンド指示)又は各種効
果の変更等を指示するノート情報に従って、記憶内容を
前記と同様に制御する手段としてもよい。
更に、楽音制御手段は、ノート情報記憶手段上の前記
第2のポリフォニックチャンネルに対応する記憶領域に
記憶されているノート情報に基づいて楽音の発音制御を
行う手段である。同手段は、例えば前記ノート情報記憶
手段上の第1〜第64チャンネルに対応するアドレスのう
ち、自己の音源モジュールに対して指定された第9〜第
16チャンネルのアドレスのうち何れかにノートナンバー
が記憶されれば、そのノートナンバーで発音を開始し、
また、消音中を表すコードが記憶されれば、今までそこ
に記憶されていたノートナンバーに対応する発音中の楽
音を消音する。
〔作用〕
本発明の作用は、以下の通りである。
まず、上記のような音源モジュールを複数台接続した
場合、全ての音源モジュールで前記第1のポリフォニッ
クチャンネルの数は共通である。そして、各音源モジュ
ール毎に、前記第2のポリフォニックチャンネルを例え
ば互いに重ならないように指定する。すなわち、1台目
の音源モジュールでは第1〜第8チャンネルまで、2台
目の音源モジュールでは第9〜第16チャンネルまでとい
うように指定する。
前記指定の後、各音源モジュールを同時に動作させた
場合、各音源モジュールにおけるノート情報記憶手段上
の更新動作は、同じ規則によって完全に一致して行われ
る。そして、各音源モジュールは、各々に指定された第
2のポリフォニックチャンネルのみを分担して楽音の発
音制御を行う。
従って、接続された音源モジュール全体では、あたか
も1台の音源モジュールで楽音を発音しているように動
作する。
この場合、各音源モジュールの指定手段は、所定の指
定操作により第2のポリフォニックチャンネルを任意に
設定でき、各音源モジュール毎にポリフォニック数を異
なるように設定することもでき、また、互いに重複させ
ることも自由である。これにより、各音源モジュールの
特性を生かした細かい拡張を行うことが可能となる。
〔実施例〕
以下、図面を参照しながら本発明の実施例を説明す
る。
{本実施例の構成} 第1図は、本発明の実施例の全体構成図である。本実
施例は外部からのMIDIデータを入力することにより楽音
を発音する音源モジュールタイプの電子楽器として実現
され、鍵盤部等の演奏部は具備していない。従って、鍵
盤部等の演奏部はMIDIを介して外部に接続されるが、外
部からMIDIデータ等としてNOTE ONデータ及びNOTE OFF
データを入力可能であれば、鍵盤部等を有する通常の電
子楽器として実現してもよい。
第1図において、外部入力インタフェース回路1は、
シリアルデジタル信号であるMIDIデータを受信するイン
タフェース回路である。
CPU4は、ROM2に記憶されているプログラムに従い、ま
た、RAM3をデータメモリとして用いながら、後述する各
動作フローチャートを実行する。これにより、外部入力
インタフェース回路1よりMIDIデータを受信し、コンソ
ール部インタフェース回路5を介して、コンソールスイ
ッチ8の各スイッチのオン/オフ状態を入力すると共に
表示装置9を制御し、これら各処理に基づいて、楽音発
音のための制御処理を行う。なお、表示装置9は、LCD
によって構成される。
音源回路6は、8音を同時に発音可能な楽音発生回路
であり、CPU4から発音の開始・終了、音色の設定及びビ
ブラート等、発音に関する制御処理に基づいて、8音対
応の8時分割処理によって楽音の発音処理を行い、デジ
タルの楽音信号を出力する。
D/A部7は、音源回路6から出力されるデジタル楽音
信号をD/A変換した後、ローパスフィルタでろ波するこ
とにより、アナログ楽音信号を出力する回路である。こ
のアナログ楽音信号は、音源モジュール本体から外部に
出力され、外部の増幅器及びスピーカ及びヘッドホン等
を介して放音される。
{本実施例の概略動作} 本実施例では、外部から楽音データを入力して楽音を
発音する第1図の構成の音源モジュールタイプの電子楽
器を、楽音データ転送用の専用インタフェースMIDI(Mu
sical Instrument Digital Interface)により複数台接
続し、それら複数台の音源モジュールを1台の楽器とし
て使用できるようにするものである。すなわち、通常、
音源モジュール1台では、同時発音可能なポリフォニッ
ク数は8音程度であり、従来はこれらを複数台接続して
も8音ポリフォニックの楽音がその台数分重なって発音
されたり、又ある音域に楽音が集中すると発音されない
楽音が生じるが、本実施例では8音ポリフォニックの音
源モジュールを2台接続すると16音ポリフォニックの1
台の楽器として使用でき、そのような接続を最大8台ま
で可能とし、従って64音ポリフォニックまで実現するこ
とができる。
そのため、第1図の構成の各音源モジュール毎に最大
8音ポリフォニックまでの範囲で、ポリナンバーという
ものを定義可能としている。演奏者は、1台目の音源モ
ジュールに例えばNo.1〜No.8のポリナンバーを割り当
て、2台目の音源モジュールに例えばNo.9〜No.16のポ
リナンバーを割り当てることができる。そして、この設
定例で演奏者が例えば外部の鍵盤等で演奏開始し、押鍵
操作に基づくNOTE ONデータ(発音開始データ)がMIDI
を介して、1台目及び2台目の音源モジュールに順次入
力すると、同時押鍵操作による第1音目から第8音目ま
での各NOTE ONデータによって指示されるNOTE番号(音
階番号、以下NOTE No.)は、1台目の音源モジュールで
発音される。更に、同時押鍵操作による第9音目以降の
各NOTE ONデータが入力すると、2台目の音源モジュー
ルで発音される。この処理中に、現在押鍵中の何れかの
鍵が離鍵されて、対応するNOTE OFFデータ(消音指示デ
ータ)が入力すると、そのデータで指示されるNOTE No.
が割り当てられているポリナンバーの楽音が消音され
る。それ以後、新たなNOTE ONデータが入力すると、現
在空いているポリナンバーのうち最も番号の若いものに
割り当てられ、そのポリナンバーが含まれる音源モジュ
ールで発音される。
以上の動作を、接続されている全ての音源モジュール
が互いに同期して行い、演奏者は音源モジュールを望み
の台数分接続することにより、所望のポリフォニック数
での楽音の発音が可能となる。そのため、第1図の構成
の各音源モジュールのRAM3内に、自己に割り当てられて
いるポリナンバーに関する状態と共に他の全ての音源モ
ジュールに割り当てられているポリナンバーに関する状
態を保持するNOTE SAVE MEMORYというテーブルを有し、
NOTE ON及びNOTE OFFの各データが入力する毎に、上記
テーブルの内容を全ての音源モジュールが一定の規則に
従って、完全に同期して更新するようにしている。これ
が本実施例の大きな特徴である。
以下の説明では、上記動作を実現するための第1図の
構成の1台あたりの音源モジュールの動作につき、詳細
に説明する。なお、本実施例では、各音源モジュール毎
に上記ポリフォニックの同期動作を行うモードと、従来
通り他の音源モジュールからは独立して動作するモード
を切り換えることができ、以下前者をポリ同期動作ENAB
LEモード、後者をポリ同期動作DISABLEモードと呼ぶこ
とにする。
{本実施例の詳細動作} 上記構成の実施例の動作を以下に説明する。まず、第
2図は、本実施例のメイン動作フローチャートである。
まず、特には図示しない電源スイッチが投入される
と、S1でイニシャライズ処理を行う。ここでは、第1図
のRAM3の記憶内容の初期化、音源回路6のリセットと音
色設定等を行う。
そして、S2のスイッチチェンジ処理及びS3のMIDI IN
処理(共に後述する)を繰り返すことにより、楽音発音
のための制御を行う。
これとは別に、一定時間間隔で割り込み(インターラ
プト)が発生し、S4において第1図の音源回路6の制御
処理が実行される。この処理は本発明には直接は関係し
ないが、音源回路6で発音される楽音信号にビブラート
効果を付加する処理である。この効果は、一定時間間隔
で楽音の音程にゆらぎを与える効果であるため、上記の
ように一定時間間隔の割り込み処理によって制御するよ
うにしている。
第1図のコンソールスイッチ8及び表示装置9の外観
構成を第3図に示す。同図において、LCD9は第1図の表
示装置9である。その他の部分は、第1図のコンソール
スイッチ8に対応する。ここで、モード設定スイッチ
(MODE)10は、前記LCD9により表示されるパラメータの
モードを設定する(これについては後述する)。また、
カーソルスイッチ11、12で、LCD9内に表示されている複
数のデータのうち1つを選択し、選択したデータの変更
をUPスイッチ14及びDOWNスイッチ13で行う。更に、#1
〜#8の番号が付与されているスイッチ15〜22によっ
て、発音すべき音色を選択する。
次に、第4図は第2図S1のスイッチチェンジ処理の詳
細であり、この処理は第2図で示すように繰り返し実行
され、第3図の各スイッチ10〜22が切り替えられたか否
かを常に監視しており、切り替えられたスイッチに対応
するモードの処理を行う。
まず、S5では、ポリ数設定モードか否かを判定する。
今、LCD9には、例えば音色設定の情報、エフェクト設定
の情報等の様々なモードの情報の表示が可能であるが、
そのモード表示は、第3図のモード設定スイッチ10を1
回押す毎に切り替わる。ここで、本発明に特に関係する
のは、ポリ数設定モードである。そして、ポリ数設定モ
ード以外のモードが表示されている場合には、S9でポリ
数設定モード以外の処理、例えば第3図のスイッチ15〜
22による音色の設定変更、又は特には図示しないスイッ
チによるエフェクトの設定変更等を行った後、スイッチ
チェンジ処理を終了する。
これとは逆に、ポリ数設定モードが表示されている場
合にはS6に進み、第3図のモード設定スイッチ10が切り
替えられたか否かを判定する。判定がYESの場合にはS10
に進み、ここで第3図のLCD9に表示のモードを現在のポ
リ数設定モードからモード設定スイッチ10の切り替え動
作に対応する他のモードに切り替えた後、第2図S2のス
イッチチェンジ処理を終了する。従って、これ以後第2
図S3のMIDI IN処理を経て再び第2図S2のスイッチチェ
ンジ処理になると、第3図S5の判定がNOとなり、S9で前
記したようなポリ数設定モード以外の処理が実行され
る。なお、特には図示しないが、S9の処理の中にも、S6
→S10と同様の処理フローがあり、そこでモード設定ス
イッチ10が切り替えられてポリ数設定モードになると、
S5の判定がYESとなってポリ数設定モードの処理に戻
る。
S6の判定がNOの場合S7に進み、ここで第3図のカーソ
ルスイッチ11、12の何れかが切り替えられたか否かが判
定される。判定がYESの場合S11に進み、LCD9内に表示さ
れている複数のデータのうち1つを選択する。本実施例
では、ポリ数設定モードにおける第3図のLCD9の表示
は、例えば第5図のようになっている。すなわち、「本
実施例の概略動作」の項でも説明したように、本実施例
による音源モジュールは、各モジュール毎にポリナンバ
ーを設定でき、そのポリナンバーの範囲は第5図のLCD9
のP2及びP3の位置に示される数字によって表示される。
同図の例では、No.9〜No.16のポリナンバーが割り当て
られていることを表示している。また、第5図のP1の位
置に表示される記号ONは、現在自己の音源モジュールが
「本実施例の概略動作」の項で説明したポリ同期動作EN
ABLEモードであることを表示し、また、この表示がOFF
の場合、ポリ同期動作DISABLEモードであることを表示
する。そして、P1〜P3の各位置に表示される状態は、第
3図のDOWNスイッチ13及びUPスイッチ14によって切り換
えられるが、第3図のカーソルスイッチ11、12は、これ
らP1〜P3のどの位置の状態を変更するかを選択する。す
なわち、第5図では現在、P1の位置にカーソル23があ
り、P1の位置のデータが変更可能であるが、第3図のカ
ーソルスイッチ11、12を押すことにより、カーソル23の
位置をP2又はP3の位置に移動させることができ、これに
よりカーソル23の移動した位置のデータが変更可能とな
る。このカーソル変更処理を行うのが第4図のS11であ
り、このカーソル変更処理の後、第2図S2のスイッチチ
ェンジ処理を終了する。
上記処理の後、第2図S3のMIDI IN処理を経て再び第
2図S2のスイッチチェンジ処理になると、第3図S7の判
定がNOとなり、S8で第3図のDOWNスイッチ13又はUPスイ
ッチ14が押されたか否かが判定される。何れも押されて
いなければS8の判定はNOとなり、そのまま第2図S2のス
イッチチェンジ処理を終了する。
上記とは逆に何れかのスイッチが押された場合におい
て、第5図のLCD9上でP1の位置にカーソル23があれば、
S12及びS13の判定がNOとなって、S16のDIS./ENA.変更処
理を行う。また、第5図のLCD9上でP2の位置にカーソル
23があれば、S12の判定がNO、S13の判定がYESとなっ
て、S15のLOWER変更処理を行う。更に、第5図のLCD9上
でP3の位置にカーソル23があれば、S12の判定がYESとな
って、S14のUPPER変更処理を行う。
以下、上記3つの処理を順に追って説明する。
まず、S16のDIS./ENA.変更処理は、前記したように、
現在の自己の音源モジュールのモードを、第3図のDOWN
スイッチ13又はUPスイッチ14によって、ポリ同期動作の
ENABLEモードとDISABLEモードとで切り換える処理であ
る。第6図に第4図S16の処理の詳細を示す。
まず、S17で現在のモードが前記ポリ同期動作のDISAB
LEモードであるかENABLEモードであるかが判定される。
DISABLEモードすなわち第5図P1の位置の表示がOFFで
あれば、S17の判定がYESとなり、S18でJOB DISABLE FLA
Gをリセットする。このフラグについては後に詳述する
が、DISABLEモードがENABLEモードかを設定するフラグ
であり、第1図のRAM3内に構成される発音数割り当て制
御メモリのFLAG内に設けられる(第10図参照)。そし
て、このフラグはS18でリセットされることによりENABL
Eモードに変化する。この処理と共に、第5図P1の位置
の表示をONにする。
一方、現在のモードがENABLEモードすなわち第5図P1
の位置の表示がONであれば、S17の判定がNOとなり、S19
でJOB DISABLE FLAGがセットされることでDISABLEモー
ドに変化する。この処理と共に、第5図P1の位置の表示
をOFFにする。
なお、上記S18又はS19の処理は、第3図のDOWNスイッ
チ13又はUPスイッチ14のどちらが押されても同様に行わ
れ、両スイッチの区別はない。
上記S18又はS19の処理の後、S20で第1図のRAM3内に
構成される第10図の発音数割り当て制御メモリの、各PO
INTER、COUNTER、FLAG及びNOTE SAVE MEMORYをイニシャ
ライズ(0にクリア)し、発音中の楽音を全て消音す
る。なお、同メモリについては後述する。
以上第6図に示される第4図S16のDIS./ENA.変更処理
の後、第2図S2のスイッチチェンジ処理を終了する。
次に、第4図S15のLOWER変更処理は、前記したよう
に、現在の自己の音源モジュールに設定されているポリ
ナンバーの範囲の下限を、第3図のDOWNスイッチ13又は
UPスイッチ14によって、変更する処理である。第7図に
第4図S15の処理の詳細を示す。
まず、S21でJOB RANGE LOWER POINTERの値をレジスタ
AREGにロードし、JOB RANGE UPPER POINTERの値をレジ
スタBREGにロードする。ここで、JOB RANGE LOWER POIN
TER及びJOB RANGE UPPER POINTERは後に詳述するが、ポ
リナンバーの下限及び上限の値を設定するポインターで
あり、第1図のRAM3内に構成される発音数割り当て制御
メモリ内に設けられる(第10図参照)。また、レジスタ
AREG及びレジスタBREGは、第1図のCPU4内のレジスタで
ある。なお、第5図のLCD9のP2とP3の位置に表示される
ポリナンバーの下限及び上限の値に対して、−1した値
が上記各ポインタ及びレジスタにセットされる。
上記S21の処理の後、S22で第3図のDOWNスイッチ13が
切り換えられたか否かが判定される。この場合、既に第
4図のS8で、第3図のDOWNスイッチ13又はUPスイッチ14
の何れかが押されたと判定されているため、S22の判定
がYESならDOWNスイッチ13が押され、NOならUPスイッチ1
4が押されたことになる。
DOWNスイッチ13が押されS22の判定がYESの場合、S23
でレジスタAREGの値が0であるか否かが判定される。
「本実施例の概略動作」の項で説明したように、ポリナ
ンバーとして指定できる最小値は1であり、レジスタA
REG上の値ではそれより1だけ少ない0が最小値であ
る。従って、レジスタAREGの値が0であればそれ以下に
設定できないため、S23の判定がYESとなってそのまま第
4図S15のLOWER変更処理を終了する。0でなければ、S2
4でレジスタAREGの値が−1される。なお、レジスタA
REGでの値0は前記したように第5図のLCD9上の表示で
はNo.1のポリナンバーに対応する。
逆に、UPスイッチ14が押されS22の判定がNOの場合、S
25でレジスタAREGの値が+1される。
上記S24又はS25の処理の後、S26のJOB RANGE POINTER
設定処理に進む。この処理の詳細を第9図に示す。
S33ではレジスタAAEGの値がレジスタBREGの値を越え
ていないか否かが判定される。前記したように(第7図
S21)、レジスタBREGにはポリナンバーの上限の値が格
納されているため、ここでは、レジスタAREGの新たに変
更されるべきポリナンバーの下限の値が上限の値を上回
らないようチェックする。そして、S33の判定がYESの場
合、何もせず第7図S26の処理を終了し、S24又はS25で
変更されたレジスタAREGの値は無効とし、JOB RANGE UP
PER POINTERの値は変更せずに、第4図S15の処理を終了
する。
第9図でS33の判定がNOの場合、S34に進む。LOWER変
更処理では、レジスタBREGの値は変更されないため、S3
4の判定はNOとなり(この処理は後述する)、S35に進
む。ここでは、レジスタBREGのポリナンバーの上限値と
レジスタAREGのポリナンバーの下限値との差が8以上で
あるか否が判定される。本実施例では、1つの音源モジ
ュールで発音可能なポリフォニック数は8であるため、
ここでは上限と下限の差が8以上に設定されないようチ
ェックする。そして、S35の判定がYESの場合、S33の場
合と同様、何もせずに第7図S26の処理を終了し、その
まま第4図S15の処理を終了する。
S35の判定がNOの場合、次のS36で第6図S20の場合と
同様、第1図のRAM3内に構成される第10図の発音数割り
当て制御メモリの、各POINTER等をイニシャライズし、
発音中の楽音を全て消音する。
続いて、S37でレジスタAREGの内容をJOB RANGE LOWER
POINTERにセーブし、レジスタBREGの内容をJOB RANGE
UPPER POINTERにセーブする。そして、JOB RANGE LOWER
POINTERの内容が変更されるのに従って、第5図P2の位
置の表示を変更する。
以上の処理により、第7図S26の処理を終了し、第4
図S15のLOWER変更処理を終了する。なお、上記一連の処
理は、第3図のDOWNスイッチ13又はUPスイッチ14が1回
押されるのに対応して実行され、更に続けて押された場
合は、第2図S2、S3のループの繰り返しにより、S2が実
行される毎に1回ずつ処理される。
次に、第4図S14のUPPER変更処理は、前記したよう
に、現在の自己の音源モジュールに設定されているポリ
ナンバーの範囲の上限を、第3図のDOWNスイッチ13又は
UPスイッチ14によって、変更する処理である。第8図に
第4図S16の処理の詳細を示す。ここでのS27〜S32の処
理は、処理の対象がポリナンバーの下限値に関するレジ
スタAREGの内容から上限値に関するレジスタBREGの内容
に変更されるだけで、第4図S15に対応する第7図のS21
〜S26のLOWER変更処理と同様である。
すなわち、第3図のDOWNスイッチ13又はUPスイッチ14
の操作に従い、JOB RANGE UPPER POINTERの内容がロー
ドされたレジスタBREGの内容が+1又は−1され、S32
に対応する第9図のS33〜S35で変更されたレジスタBREG
の内容がレジスタAREGの内容と矛盾しないか否かがチェ
ックされる。
なお、第9図S34では、レジスタBREGの値が64以上で
あるか否かが判定される。「本実施例の概略動作」の項
で説明したように、ポリナンバーとして指定できる最大
値は64であり、レジスタBREG上の値ではそれより1だけ
少ない63が最大値である。従って、レジスタBREGの値が
64以上であればその設定は無効となり、S34の判定がYES
となって第8図S32の処理を終了し、そのまま第4図S14
のUPPER変更処理を終了する。
S33〜S35のチェックを全てパスすれば、S36で発音数
割り当て制御メモリの各POINTER等をイニシャライズ
し、発音中の楽音を全て消音する。そして、S37でレジ
スタAREGの内容をJOB RANGE LOWER POINTERにセーブ
し、レジスタBREGの内容をJOB RANGE UPPER POINTERに
セーブする。更に、JOB RANGE UPPER POINTERの内容が
変更されるのに従って、第5図P3の位置の表示を変更す
る。
上記処理により、第8図S32の処理を終了し、第4図S
14のUPPER変更処理を終了する。
以上説明したように、第3図のカーソルスイッチ11、
12を操作すると、第4図のS11の処理により第5図のLCD
9上でP1〜P3の各位置にカーソル23を移動させることが
できる。更に、第3図のDOWNスイッチ13又はUPスイッチ
14を操作した場合、P1の位置にカーソル23があれば、第
4図S16のDIS./ENA.変更処理により、ポリ同期動作のEN
ABLEモードとDISABLEモードとを切り換えることができ
る。また、P2の位置にカーソル23があれば、S15のLOWER
変更処理により、ポリナンバーの範囲の下限を変更でき
る。更に、P3の位置にカーソル23があれば、S14のUPPER
変更処理により、ポリナンバーの範囲の上限を変更でき
る。
次に、第2図S3のMIDI IN処理について説明する。こ
れ以降は、第10図の発音数割り当て制御メモリの構成に
つき説明した後、第12図〜第14図のMIDI IN処理の詳細
動作につき、第11図に基づくMIDI IN処理に従ったポリ
同期動作の動作例を用いながら説明してゆく。
まず、第10図は第1図のRAM3内に構成される発音数割
り当て制御メモリの構成図である。同図(a)のNOTE S
AVE MEMORYは、64バイト構成であり、64個までのNOTE N
o.をセーブでき、各バイトは1〜64のポリナンバーに対
応する。そして、各バイトの構成は、同図に示すように
下位7ビットが0〜127の値を取り得るNOTE No.、最上
位ビット(MSB)がON/OFFフラグで、このフラグが1の
場合そのバイトに対応するポリナンバーが消音中である
ことを示し、更に、この場合下位7ビットは全て0の値
をとり、従って、消音時の1バイト分の値は80H(H
は、16進数表現であることを示す)となる。これらにつ
いては、後に詳述する。
次に、ポインタ、カウンタ及びフラグ類について、簡
単に説明する。なお、これらについては、後に詳述す
る。
第10図(b)のOFF POINTERは、ノートオフしたNOTE
No.がセーブされていたNOTE SAVE MEMORYの先頭番地か
らの相対アドレスで、かつ、最も小さい数値を保持する
ポインターで、下位6ビットにより0〜63の値をとり得
る。上位2ビットには、値0が挿入される。
第10図(c)のEMPTY COUNTERは、NOTE SAVE MEMORY
に一度NOTE No.がセーブされ、更に、ノートオフされて
値80Hが書き込まれた後に、まだ、NOTE No.が書き込ま
れていない番地の総数を保持するカウンターで、下位7
ビットにより0〜64の値をとり得る。MSBには値0が挿
入される。
第10図(d)のON POINTERは、NOTE SAVE MEMORYにセ
ーブされているNOTE No.の中で、最も前記相対アドレス
が大きいNOTE No.の相対アドレスに1だけ加算した値を
保持するポインターで、下位6ビットにより0〜63の値
をとり得る。上位2ビットには、値0が挿入される。
第10図(e)のJOB RANGE LOWER POINTERは、前記し
たようにポリナンバーの下限の値を保持するポインター
であり、第5図のLCD9上のP2の位置に表示されるポリナ
ンバーより1だけ小さい数値が保持され、下位6ビット
により0〜63の値をとり得る。上位2ビットには、値0
が挿入される。
第10図(f)のJOB RANGE UPPER POINTERは、前記し
たようにポリナンバーの上限の値を保持するポインター
であり、第5図のLCD9上のP3の位置に表示されるポリナ
ンバーより1だけ小さい数値が保持され、JOB RANGE LO
WER POINTERと同様のビット構成である。
第10図(g)のNOTE ON COUNTERは、NOTE SAVE MEMOR
YにセーブされているNOTE No.の総数を保持するカウン
ターで、下位7ビットにより0〜64の値をとり得る。MS
Bには値0が挿入される。
第10図(h)のFLAGは、最下位ビット(LSB)にJOB R
EQUEST FLAG、最下位ビットから2ビット目にJOB DISAB
LE FLAGが設けられる。JOB REQUEST FLAGは、入力したN
OTE ONデータに対して、そのデータで指示されるNOTE N
o.で発音を要求するか否かを保持するフラグであり、JO
B DISABLE FLAGは自己の音源モジュールに対して、ポリ
同期動作についてDISABLEモードかENABLEモードかを設
定するフラグである。
上記発音数割り当て制御メモリを用いた本実施例によ
るMIDI IN処理の詳細動作を、第12図〜第14図の動作フ
ローチャートに沿って説明する。
第12図は、第2図S3のMIDI IN処理の詳細な動作フロ
ーチャートである。
まず、S38において、第1図のCPU4は、外部入力イン
タフェース回路1を介してMIDIデータが入力しているか
否かを監視する。入力していなければ、S38の判定はNO
となり、第2図S3のMIDI IN処理を即座に終了し、S2の
スイッチチェンジ処理を介して再びS3を繰り返す。従っ
て、S38が繰り返し実行されることにより、MIDIデータ
の入力待ち状態を維持する。
MIDIデータが入力してS38の判定がYESとなるとS39に
進み、そのMIDIデータがNOTE ONデータ、NOTE OFFデー
タの何れかであるか否かが判定される。NOの場合S50に
進み、ノートオン及びノートオフ以外の処理を行い、S3
8の監視を繰り返す。
NOTE ONデータ又はNOTE OFFデータが入力し、S39の判
定がYESとなるとS40に進み、そのデータに含まれている
NOTE No.をCPU4内のレジスタAREGにロードする。
続いて、S41において、入力したMIDIデータがNOTE ON
データであるかNOTE OFFデータであるかを判定する。NO
TE ONデータが入力しS41の判定がYESとなった場合S42に
進み、ポリ同期動作のENABLEモードであるかDISABLEモ
ードであるかを判定する。
DISABLEモードである場合(第5図P1の位置の表示がO
FFの場合)、S42の判定がYESとなってS45に進み、レジ
スタAREGにセットされたNOTE No.に従って、NOTE ON処
理を行った後、S38の判定に戻る。すなわち、この場合
の動作は通常の音源モジュールの発音動作であり、第1
図のCPU4が音源回路6に対して、NOTE ONデータのNOTE
No.に対応する音高で無条件に発音指示を行う処理であ
る。
ENABLEモードである場合(第5図P1の位置の表示がON
の場合)、S42の判定がNOとなってS43に進み、ここでNO
TE ON JOB判別処理を行う。この処理が本実施例の最も
特徴とする処理であり、後に詳述するが、ここではNOTE
ON処理を行うか否かを決定し、行うならば第10図
(h)の発音数割り当て制御メモリのFLAG内のJOB REQU
EST FLAGを1にセットし、行わないなら0にリセットす
る。
この処理によりJOB REQUEST FLAGに1がセットされた
場合、S44の判定がYESとなってS45に進み、NOTE ON処理
が実行される。一方、0にリセットされた場合、S44の
判定がNOとなり、NOTE ON処理は行わずにS38の処理に戻
る。
上記NOTE ONデータが入力した場合とは逆に、NOTE OF
Fデータが入力しS41の判定がNOとなった場合S46に進
み、S42の場合と同様の判定を行う。
DISABLEモードである場合、S46の判定がYESとなってS
49に進み、レジスタAREGにセットされたNOTE No.に従っ
て、NOTE OFF処理を行った後、S38の判定に戻る。すな
わち、この場合の動作は通常の音源モジュールの消音動
作であり、第1図のCPU4が音源回路6に対し、NOTE OFF
データのNOTE No.に対応する現在発音中の楽音について
無条件に消音指示を行う処理である。
一方、ENABLEモードである場合、S46の判定がNOとな
ってS47に進み、ここでNOTE OFF JOB判別処理を行う。
この処理も、S43のNOTE ON JOB判別処理と並んで、本実
施例の最も特徴とする処理であり、後に詳述するが、こ
こではNOTE OFF処理を行うか否かを決定し、行うならば
JOB REQUEST FLAGを1にセットし、行わないなら0にリ
セットする。
この処理によりJOB REQUEST FLAGに1がセットされた
場合、S48の判定がYESとなってS49に進み、NOTE OFF処
理が実行される。一方、0にリセットされた場合、S48
の判定がNOとなり、NOTE OFF処理は行わずにS38の処理
に戻る。
次に、第12図S43のNOTE ON JOB判別処理及びS47のNOT
E OFF JOB判別処理に対応する第13図及び第14図の動作
フローチャートにつき、第11図の動作例に従って説明す
る。
まず、本実施例では、音源モジュール1台分につき説
明を行っているが、その音源モジュールでは、前記第2
図S2のスイッチチェンジ処理により、第5図に示すよう
に例えばNo.9〜No.16のポリナンバーが指定されたとす
る。そして、第2図S1、第6図S20又は第9図S36で、発
音数割り当て制御メモリがイニシャライズされた状態で
は、第11図(a)に示すように、 ON POINTER=0 JOB RANGE LOWER POINTER=8 JOB RANGE UPPER POINTER=15 EMPTY COUNTER=0 NOTE ON COUNTER=0 OFF POINTER=不定 となる。また、この状態では、NOTE SAVE MEMORYの内容
は不定である。
次に、音源モジュールの外部で鍵盤等が演奏され、第
1図の外部入力インタフェース回路1を介してCPU4に、
NOTE No.が20H〜34Hの各NOTE ONデータが連続して21ノ
ート分入力されると、第11図(b)に示すように、ON P
OINTERの値は0→21、NOTE ON COUNTERの値も0→21と
なり、NOTE SAVE MEMORYには先頭番地から連続する相対
アドレス0〜20に、20H〜34Hの各NOTE No.がセーブされ
る。なお、OFF POINTERの値は不定である。この場合、
第1図のCPU4は第11図(b)の状態で、JOB RANGE LOWE
R POINTER及びJOB RANGE UPPER POINTERによって指定さ
れるポリナンバーに対応する相対アドレス8〜15にセー
ブされたNOTE No.についてのみ、第1図の音源回路6に
対して発音指示を行う。これにより、自己の音源モジュ
ールにおいてポリナンバー9〜16に対応する8ポリフォ
ニック分の発音が行われる。
上記第11図(b)の状態における動作は、以下のよう
にして実現される。
まず、NOTE ONデータが1個入力する毎に第2図S3のM
IDI IN処理が1回ずつ繰り返される。そして、各繰り返
し毎に、第12図S38→S39→S40→S41→S42→S43と処理さ
れ、第13図のNOTE ON JOB判別処理に入る。
第13図のS51では、NOTE ON COUNTERの値が64以上にな
っていないか否かを判別し、64以上になっていればS66
に進み、JOB REQUEST FLAGをリセットし第12図S43のNOT
E ON JOB判別処理を終了する。すなわち、本実施例で
は、ポリフォニック数すなわち同時発音数は64まで許容
しているため、65個目からはサポートしないようにする
ための判定処理であり、JOB REQUEST FLAGが0にリセッ
トされることにより、第12図S44の判定がNOとなり、こ
れ以上NOTE ON処理は行われない。第11図(b)の例で
は、初期状態は、NOTE ON COUNTERの値が63以下である
ため、S51の判定がYESとなりS52に進む。
S52では、NOTE ON COUNTERの値が+1される。このS5
2での処理が各NOTE No.入力毎に繰り返されることで、
第11図(b)の例では、NOTE ON COUNTERの値が0→21
と変化する。
次に、S53では、EMPTY COUNTERの値が0か否かを判定
する。第11図(b)の例では0であるためS54に進む。
ここでは、ON POINTERの値をレジスタCREGにロードし
た後、ON POINTERの値を+1する。すなわち、ON POINT
ERは第10図(d)で説明したように、NOTE SAVE MEMORY
にセーブされているNOTE No.の中で、最も相対アドレス
が大きいNOTE No.の相対アドレスに1を加算した値が入
っているため、このS54での処理が各NOTE No.の入力毎
に繰り返されることにより、レジスタCREGには今回NOTE
No.をセーブすべき相対アドレスがセットされることに
なる。また、ここで、第11図(b)の例では、ON POINT
ERの値が0→21と変化する。
S56では、第10図(a)のNOTE SAVE MEMORYの先頭番
地(絶対番地)AD0に、レジスタCREGにセットされてい
る相対アドレスを加算して当該相対アドレスに対応する
絶対アドレスを計算し、そのアドレスに第12図のS40で
レジスタAREGにセットされたNOTE No.をセーブする。こ
のS54での処理が各NOTE No.の入力毎に繰り返されるこ
とで、第11図(b)の例では、NOTE SAVE MEMORYの先頭
番地から連続する相対アドレス0〜20に、20H〜34Hの各
NOTE No.がセーブされる。
S57では、レジスタCREGにセットされている相対アド
レスが、JOB RANGE LOWER POINTERの値とJOB RANGE UPP
ER POINTERの値で定まる範囲内に入っているか否かが判
定される。そして、入っていればS58でJOB REQUEST FLA
Gが1にセットされ、入っていなければS59で0にリセッ
トされる。このS57での判定が各NOTE No.の入力毎に繰
り返されることで、第11図(b)の例では、相対アドレ
ス8〜15にセーブされたNOTE No.についてのみ、JOB RE
QUEST FLAGが1にセットされ、それ以外は0にリセット
される。
続いて、S60ではEMPTY COUNTERの値が0か否かを判定
する。第11図(b)の例では0であるため、この判定が
YESとなり、第12図S43のNOTE ON JOB判別処理を終了す
る。
そして、第12図S44で、JOB REQUEST FLAGに1がセッ
トされた場合にのみ、その判定がYESとなってS45に進
み、NOTE ON処理が実行される。このS44での判定が各NO
TE NO.の入力毎に繰り返されることで、第11図(b)の
例では、前記したように相対アドレス8〜15にセーブさ
れたNOTE No.についてのみ、第1図の音源回路6に対し
て発音指示が行われることになる。
次に、第11図の説明に戻る。同図(b)の状態で、2B
H、32H及び23Hの各NOTE No.に対応する外部の鍵盤等が
離鍵され、それらの各NOTE No.に対応するNOTE OFFデー
タが上記順で入力すると、2BH、32H及び23Hの各NOTE N
o.が格納されていた相対アドレス11、18及び3に消音中
を示す値80Hが格納され、同時にOFF POINTERの値(相対
アドレス)は、不定→11→11→3と変化する(第11図
(c)→→)。なお、の過程において、NOTE N
o.=32Hが格納されていた相対アドレス18は、NOTE No.
=2BHが格納されていた相対アドレス11より大きいの
で、OFF POINTERの値は18へは変化しない。また、EMPTY
COUNTERの値は、0→1→2→3、NOTE ON COUNTERの
値は21→20→19→18と変化する。但し、ON POINTERの値
は変化しない。この場合、第1図のCPU4は、第11図
(c)の状態で、JOB RANGE LOWER POINTER及びJOB RAN
GE UPPER POINTERによって指示されるポリナンバーに対
応する相対アドレス8〜15において、値80Hに書き換え
られたNOTE No.=2BHが格納されていた相対アドレス11
についてのみ、第1図の音源回路6に対しそのNOTE No.
の消音指示を行う。
上記第11図(c)の状態における動作は、以下のよう
にして実現される。
まず、NOTE OFFデータが1個入力する毎に第2図S3の
MIDI IN処理が1回ずつ繰り返される。そして、各繰り
返し毎に、第12図S38→S39→S40→S41→S46→S47と処理
され、第14図のNOTE OFF JOB判別処理に入る。
第14図のS67では、まず、レジスタCREGに0をセット
し、次のS68→S69→S70→S68のループ処理で、S70でレ
ジスタCREGの値を+1ずつインクリメントしながら、S6
9でレジスタAREGにセットされたノートオフすべきNOTE
No.とNOTE SAVE MEMORY上のアドレス(AD0+CREG)の内
容とを比較し、一致するものを検索する。なお、S68で
は、レジスタCREGの指定する相対アドレスが、NOTE SAV
E MEMORY上でNOTE No.が存在しなくなるON POINTERの値
に達したか否かを判定する。この値に達すると、S68の
判定がYESとなり、S82でJOB REQUEST FLAGが0にリセッ
トされ、第12図S47のNOTE OFF JOB判別処理を終了す
る。従って、この場合は、NOTE SAVE MEMORY上に対応す
るNOTE No.が存在しないことになり、第12図S48の判定
がNOとなって、S49のNOTE OFF処理は行われない。上記
第14図S68→S69→S70→S68のループ処理が繰り返される
ことにより、第11図(c)の例では、ノートオフすべき
2BH、32H及び23Hの各NOTE No.が格納されていた相対ア
ドレス11、18及び3が検索される。
そして、上記処理でNOTE No.が一致する相対アドレス
が検索される毎にS69の判定がYESとなりS71に進む。こ
こでは、検索されたアドレス(AD0+CREG)に、消音中
を示す値80Hが格納されると共に、EMPTY COUNTERの値が
+1される。このS71の処理が各NOTE No.の入力毎に繰
り返されることで、第11図(c)の例では、相対アドレ
ス11、18及び3に消音中を示す値80Hが格納され、同時
にEMPTY COUNTERの値が、0→1→2→3と変化する。
次に、S72ではEMPTY COUNTERの値が1か否かを判定
し、1である場合にはS74でレジスタCREGの値をOFF POI
NTERにセーブする。この処理は、第11図(c)の例で
は、第1番目のNOTE No.=2BHに対応する相対アドレス1
1が検索された場合に、OFF POINTERの値が不定→11とな
る場合に実行される。
S72の判定がNOの場合、S73においてOFF POINTERのレ
ジスタCREGの値を比較し、レジスタCREGの値の方が大き
ければ、OFF POINTERの値は変更しない。この処理は、
第11図(c)の例では、第2番目のNOTE No.=32Hに対
応する相対アドレス18が検索された場合に、OFF POINTE
Rの値が11のまま変化しない場合に実行される。
上記とは逆に、レジスタCREGの値の方が小さければ、
レジスタCREGの値をOFF POINTERにセーブする。この処
理は、第11図(c)の例では、第3番目のNOTE No.=23
Hに対応する相対アドレス3が検索された場合に、OFF P
OINTERの値が11→3に変化する場合に実行される。
上記S72〜S74の処理により、OFF POINTERには現在消
音中を示す値80Hが格納されている相対アドレスのう
ち、最も小さい相対アドレスが格納される。
S75では、レジスタCREGにセットされている相対アド
レスが、JOB RANGE LOWER POINTERの値とJOB RANGE UPP
ER POINTERの値で定まる範囲内に入っているか否かが判
定される。そして、入っていればS76でJOB REQUEST FLA
Gが1にセットされ、入っていなければS77で0にリセッ
トされる。このS75での判定が各NOTE No.の入力毎に繰
り返されることで、第11図(c)の例では、相対アドレ
ス8〜15において、値80Hに書き換えられたNOTE No.=2
BHが格納されていた相対アドレス11についてのみJOB RE
QUEST FLAGが1にセットされ、それ以外は0にリセット
される。
次に、S78ではレジスタCREGの値を+1し、続くS79で
レジスタCREGとON POINTERの値とを比較し、レジスタC
REGの値≧ON POINTERであれば、S80でON POINTERの値を
−1する。これらの処理は、NOTE SAVE MEMORY上のNOTE
No.のうち、最も相対アドレスが大きいNOTE No.がノー
トオフされたときに、ON POINTERの値をノートオフされ
た相対アドレスにもってくる処理である。第11図(c)
の例では、S79の判定は常にNOとなり、ON POINTERの値
は変化しない。
最後に、S81ではNOTE ON COUNTERの値を1だけ減算し
て、第12図S47のNOTE OFF JOB判別処理を終了する。S81
の処理を各NOTE No.の入力毎に繰り返すことで、第11図
(c)の例では、NOTE ON COUNTERの値が21→20→19→1
8と変化する。
上記処理の後、第12図S48で、前記第14図S76でJOB RE
QUEST FLAGに1がセットされた場合にのみ、その判定が
YESとなってS49に進み、NOTE OFF処理が実行される。こ
のS48での判定が各NOTE No.の入力毎に繰り返されるこ
とで、第11図(c)の例では、前記したように相対アド
レス8〜15において、値80Hに書き換えられたNOTE No.
=2BHが格納されていた相対アドレス11についてのみ、
第1図の音源回路6に対して消音指示が行われることに
なる。
再び第11図の説明に戻る。同図(c)の状態で、外部
の鍵盤等で新たな押鍵動作が行われ、50H、51H及び52H
の各NOTE No.に対応のNOTE ONデータが順に入力した場
合を考える。
まず、NOTE No.=50HのNOTE ONデータが入力した時点
で、50HがOFF POINTERの指示する相対アドレス3に書き
込まれ、OFF POINTERの値は現在消音中を示す値80Hが格
納されている最小相対アドレス11に変更され、EMPTY CO
UNTERの値は−1されて3→2へ変更され、また、NOTE
ON COUNTERの値は+1されて18→19に変更される。続い
て、NOTE No.=51HのNOTE ONデータが入力すると、51H
がOFF POINTERの指示する相対アドレス11に書き込ま
れ、OFF POINTERの値は相対アドレス18に変更される。
これと共に、EMPTY COUNTERの値は2→1へ変更され、
また、NOTE ON COUNTERの値は19→20に変更される。更
に、NOTE No.=52HのNOTE ONデータが入力すると、52H
がOFF POINTERの指示する相対アドレス18に書き込ま
れ、OFF POINTERの値は不定となり、EMPTY COUNTERの値
は1→0となり、NOTE ON COUNTERの値は20→21とな
る。すなわち、上記動作により、OFF POINTERの値は、
第11図(c)のの状態から同図(d)の→と変化
する。この場合、第1図のCPU4は、第11図(d)の状態
で、JOB RANGE LOWER POINTER及びJOB RANGE UPPER POI
NTERによって指示されるポリナンバーに対応する相対ア
ドレス8〜15に含まれる相対アドレス11にセーブされた
NOTE No.51Hについてのみ、第1図の音源回路6に対し
て発音指示を行う。
上記第11図(c)→(d)の状態における動作は、以
下のようにして実現される。
まず、NOTE ONデータが1個入力する毎に第2図S3のM
IDI IN処理が1回ずつ繰り返される。そして、各繰り返
し毎に、第12図S38→S39→S40→S41→S42→S43と処理さ
れ、第11図(b)の場合と同様に、第13図のNOTE ON JO
B判別処理に入る。
第11図(c)状態で、NOTE No.=50HのNOTE ONデータ
が入力した時点で、S51の判定はNOとなり、S52でNOTE O
N COUNTERの値が18→19と変化する。
次に、S53の判定は、現在EMPTY COUNTERの値が3(第
11図(c)の状態)であるためNOとなりS55に進む。こ
こでは、EMPTY COUNTERの値が−1されて3→2へ変更
され、OFF POINTERの値がレジスタCREGにロードされ
る。
続くS56では、NOTE SAVE MEMORYの先頭番地AD0に上記
レジスタCREGの相対アドレスを加算したアドレスに、レ
ジスタAREGに格納されているNOTE No.をセーブする。第
11図(c)→(d)の例でNOTE No.=50Hが入力した場
合、NOTE No.=50Hが相対アドレス3に書き込まれる。
S57〜S59のJOB REQUEST FLAGに関する処理は、第11図
(b)の場合と全く同様であり、NOTE No.=50Hの場合
は、レジスタCREGの値3がS57の条件を満たさず、S59で
JOB REQUEST FLAGに0がリセットされる。
次に、S60の判定は、現在EMPTY COUNTERの値が2であ
るためNOとなり、S61に進む。
S61→S62→S63→S61のループ処理は、S55、S56でOFF
POINTERの指していた相対アドレスに新たなNOTE No.が
セーブされたため、OFF POINTERを消音中を示す値80Hが
格納されている最も若い相対アドレスまで移動させる処
理である。すなわち、S62でレジスタCREGの値を1ずつ
インクリメントさせながら、S63でアドレス(AD0
CREG)の内容が、消音中を示す値80Hと一致するか否か
比較する。なお、S61では、上記検索範囲が、NOTE SAVE
MEMORYの相対アドレスの上限63を越えていないか否か
を判定する。EMPTY COUNTERが0でなければ、消音中を
示す相対アドレスは必ずもう1つあるため、S61の判定
がYESとなることはあり得ないが、何らかの原因でYESと
なってしまった場合にS65に進み、適切なエラー処理を
行い、S66でJOB REQUEST FLAGを0にリセットする。す
なわち、この場合は、後述する第12図S44の判定がNOと
なり消音動作は行わない。
S63の判定がYESとなって、消音中を示す相対アドレス
が見つかると、S64でそれを示すレジスタCREGの値をOFF
POINTERにセーブする。この結果、第11図(c)→
(d)の例でNOTE No.=50Hが入力した場合は、OFF POI
NTERの値は3→11に変化する。
以上の処理により、第12図S43のNOTE ON JOB判別処理
を終了する。
上記動作の後、S44でJOB REQUEST FLAGの値が判定さ
れる。第11図(c)→(d)の例でNOTE No.=50Hが入
力した場合、前記のようにJOB REQUEST FLAGは0にリセ
ットされているため、S44の判定はNOとなり、NOTE ON処
理は行われない。
以下、NOTE No.=51Hと52Hの各NOTE ONデータが入力
した場合も、上記と全く同様に動作し、前記第11図
(c)→(d)の説明のように動作する。
以上、説明したように、音源モジュール内に、自己に
割り当てられているポリナンバーに関する状態と共に他
の全ての音源モジュールに割り当てられているポリナン
バーに関する状態を保持するNOTE SAVE MEMORYを有し、
NOTE ON及びNOTE OFFの各データの入力毎に、上記NOTE
SAVE MEMORYの内容を更新するようにしている。そし
て、この動作は音源モジュールが複数台接続された場
合、各音源モジュール毎に同期して行われることにな
る。これは、NOTE ON及びNOTE OFFの各データが全ての
音源モジュールに並列に入力し、各音源モジュールが同
じ規則に従ってNOTE SAVE MEMORYの内容を書き換えるた
めである。更に、各音源モジュールは、自己に設定され
たポリナンバーの範囲に、NOTE ON指示に基づくNOTE N
o.がセットされた場合にのみ発音動作を行い、上記の範
囲にセットされているNOTE No.に対してNOTE OFFの指示
が行われた場合にのみ消音動作を行うことにより、各音
源モジュールが分担してポイフォニック動作を行うこと
ができる。
MIDIデータとして入力するNOTE ONデータ又はNOTE OF
Fデータには、通常MIDIチャンネルと呼ばれる識別コー
ドが付加されているが、本実施例ではMIDIチャンネルに
ついては特には処理はしていない。MIDIチャンネルは、
そのチャンネルナンバーが同じデータが入力した場合の
み、そのデータを受信できるようにするためのものであ
り、各楽器毎に別々のデータを受信又は送信可能とする
ものである。また、例えば1つの音源モジュールでも複
数のMIDIチャンネルを指定でき、それにより複数種類の
楽音を別々の制御で発音できる機能を有する場合もあ
る。本実施例でこのような機能に対応可能とするために
は、例えばポリナンバーの範囲指定を、各MIDIチャンネ
ル毎に行えるようにすればよい。また、第2図S3のMIDI
IN処理に対応する第10図の動作フローチャートを各MIDI
チャンネル毎に時分割で独立に動作させ、各動作フロー
チャート毎にMIDIチャンネルの一致するNOTEデータのみ
を取り込むようにすればよい。
また、本実施例では、NOTE ON(発音)とNOTE OFF
(消音)の指示のみをポリナンバーに基づいて制御する
ようにしたが、これに限られるものではなく、例えば所
定のNOTE No.につき音高を変更するMIDI情報若しくはベ
ンド情報等が入力した場合にも同様の制御を行うことに
より、複数の音源モジュールが連動してベンド制御等を
行うことができる。その他、様々な効果を付加する場合
等においても同様の制御が可能である。
〔発明の効果〕
本発明によれば、複数の音源モジュールを接続し、各
音源モジュールを同時に動作させた場合、各音源モジュ
ールにおけるノート情報記憶手段上の更新動作は、同じ
規則に従って完全に一致して行われ、各音源モジュール
は、各々に指定された第2のポリフォニックチャンネル
のみを分担して楽音の発音制御を行うため、接続された
音源モジュール全体では、あたかも1台の音源モジュー
ルで楽音を発音しているように動作させることが可能と
なり、接続台数に応じてポリフォニック数を拡張させる
ことが可能となる。
特に、各音源モジュールの指定手段は、所定の指定操
作により第2のポリフォニックチャンネルを任意に設定
でき、各音源モジュール毎にポリフォニック数を異なる
ように設定することもでき、また、互いに重複させるこ
とも自由である。これにより、各音源モジュールの特性
を生かした細かい拡張を行うことが可能となる。
【図面の簡単な説明】
第1図は、本発明の実施例の全体構成図、 第2図は、メイン動作フローチャート、 第3図は、コンソールスイッチと表示装置の外観構成
図、 第4図は、スイッチチェンジ処理の動作フローチャー
ト、 第5図は、表示装置の発音数設定表示例を示した図、 第6図は、DIS./ENA.変更処理の動作フローチャート、 第7図は、LOWER変更処理の動作フローチャート、 第8図は、UPPER変更処理の動作フローチャート、 第9図は、JOB RANGE POINTER設定処理の動作フローチ
ャート、 第10図は、発音数割り当て制御メモリの構成図、 第11図(a)〜(d)は、ポリ同期動作の動作例を示し
た図、 第12図は、MIDI IN処理の動作フローチャート、 第13図は、NOTE ON JOB判別処理の動作フローチャー
ト、 第14図は、NOTE OFF JOB判別処理の動作フローチャート
である。 1……外部入力インタフェース回路、 2……ROM、 3……RAM、 4……CPU、 5……コンソール部インタフェース回路、 6……音源回路、 7……D/A部、 8……コンソールスイッチ、 9……表示装置(LCD).

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】外部からノート情報を受信可能かつ当該ノ
    ート情報により楽音の発音制御が可能で、同時に発音さ
    せることのできる楽音の数(以下、同時発音数という)
    が予め決められている音源モジュールにおいて、 前記同時発音数よりも多数のポリフォニックチャンネル
    である第1のポリフォニックチャンネルのそれぞれに対
    応する記憶領域を有し、各記憶領域には前記ノート情報
    が記憶可能であるノート情報記憶手段と、 所定の指定操作によって、前記同時発音数と同数もしけ
    はそれ以下の数のポリフォニックチャンネルである第2
    のポリフォニックチャンネルを、前記第1のポリフォニ
    ックチャンネルの内から任意に指定する指定手段と、 外部よりノート情報を受信する毎に、所定の規則に従っ
    て前記ノート情報記憶手段上の記憶領域に記憶されてい
    るノート情報を更新する記憶制御手段と、 前記指定手段で指定された第2のポリフォニックチャン
    ネルに対応する前記ノート情報記憶手段上の記憶領域に
    記憶されているノート情報のみに基づいて楽音の発音制
    御を行う楽音制御手段と、 を有することを特徴とする音源モジュール。
JP63281642A 1988-11-08 1988-11-08 音源モジュール Expired - Fee Related JP2843852B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63281642A JP2843852B2 (ja) 1988-11-08 1988-11-08 音源モジュール
US07/431,738 US5025701A (en) 1988-11-08 1989-11-03 Sound source apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63281642A JP2843852B2 (ja) 1988-11-08 1988-11-08 音源モジュール

Publications (2)

Publication Number Publication Date
JPH02127692A JPH02127692A (ja) 1990-05-16
JP2843852B2 true JP2843852B2 (ja) 1999-01-06

Family

ID=17641950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63281642A Expired - Fee Related JP2843852B2 (ja) 1988-11-08 1988-11-08 音源モジュール

Country Status (1)

Country Link
JP (1) JP2843852B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111599366B (zh) * 2020-05-19 2024-04-12 科大讯飞股份有限公司 一种车载多音区语音处理的方法和相关装置

Also Published As

Publication number Publication date
JPH02127692A (ja) 1990-05-16

Similar Documents

Publication Publication Date Title
US5521322A (en) Tone information processing device for an electronic musical instrument for generating sounds
US5949012A (en) Electronic musical instrument and music performance information inputting apparatus capable of inputting various music performance information with simple operation
US5014586A (en) Chord setting apparatus and electronic wind instrument using the same
JP2843852B2 (ja) 音源モジュール
US5319152A (en) Chord information output apparatus and automatic accompaniment apparatus
US5025701A (en) Sound source apparatus
JP3625914B2 (ja) アルペジエータ
JP3656781B2 (ja) エフェクト制御装置
JPH0968980A (ja) 電子鍵盤楽器の音色制御装置
JP3156285B2 (ja) 電子楽器
JPH06259064A (ja) 電子楽器
US6080926A (en) Automatic accompanying apparatus and automatic accompanying method capable of simply setting automatic accompaniment parameters
JP2639381B2 (ja) 電子楽器
JP3902207B2 (ja) アルペジエータ
JPH02127693A (ja) 音源装置
JP3625913B2 (ja) アルペジエータ
JPH01179089A (ja) 自動伴奏装置
JPH1091160A (ja) 電子楽器の効果付与装置
JP2002162964A (ja) 自動演奏装置
JPH09106284A (ja) 和音発生指示装置
JPH05188941A (ja) 電子楽器
JP2714893B2 (ja) 和音情報出力装置
JP2001051681A (ja) 自動伴奏情報発生装置
JP3529123B2 (ja) 自動演奏装置及び自動演奏方法
JPH07117834B2 (ja) 楽音発生装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees