JP3092625B2 - Electronic musical instrument network system - Google Patents
Electronic musical instrument network systemInfo
- Publication number
- JP3092625B2 JP3092625B2 JP11265087A JP26508799A JP3092625B2 JP 3092625 B2 JP3092625 B2 JP 3092625B2 JP 11265087 A JP11265087 A JP 11265087A JP 26508799 A JP26508799 A JP 26508799A JP 3092625 B2 JP3092625 B2 JP 3092625B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- processing
- function
- network
- data
- 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
Links
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【0001】[0001]
【発明が属する技術分野】本発明は、ネットワークを用
いて各種の拡張が可能な電子楽器に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic musical instrument that can be variously expanded using a network.
【0002】[0002]
【従来の技術】従来、複数の電子楽器を互いに接続して
電子楽器ネットワークシステムを構成する、いわゆるM
IDIが知られている。このMIDIインタフェース
は、自動演奏データ等を伝送するための共通規格であ
り、ネットワーク上に分散した複数の楽器の内のあるも
のから他のものにキーコード等の演奏データを一方向に
伝送することを可能とするものである。しかしながら、
このようなMIDIを使用した従来型のシステムにおい
ては、ネットワークにコンピュータ、プリンタ、ディス
ク装置等の楽器以外の装置を接続するためには各装置ご
とに特別な制御用ソフトウェアとこのソフトウェアを実
行するコンピュータシステムを必要とするという欠点が
あった。2. Description of the Related Art Conventionally, a plurality of electronic musical instruments are connected to each other to form an electronic musical instrument network system.
IDI is known. The MIDI interface is a common standard for transmitting automatic performance data and the like, and is used to unidirectionally transmit performance data such as key codes from one of a plurality of musical instruments distributed over a network to another. Is made possible. However,
In such a conventional system using MIDI, in order to connect devices other than musical instruments, such as a computer, a printer, and a disk device, to a network, special control software for each device and a computer for executing the software are used. There was the disadvantage of requiring a system.
【0003】そこで、図33に示す特開昭62−129
889号公報に記載されているような電子楽器ネットワ
ークシステムが提案されている。この電子楽器ネットワ
ークシステムは、電子楽器を兼ねるコントローラ201
と、他の電子楽器202と、フロッピディスク203
と、プリンタ204をネットワーク205に接続するよ
うにして構成されている。このコントローラ201はプ
ロセッサ206、基本システム用のリードオンリメモリ
(ROM)207、基本システム用のランダムアクセス
メモリ(RAM)208、拡張デバイス用RAM209
−1,209−2,209−3・・・・、音源回路21
0、出力アンプ211、スピーカ212、パネルインタ
フェース213、コンソールパネル214、バスインタ
フェース215、制御インタフェース216、指示パネ
ル217、スタート情報入力部218、及びこれらの各
回路を接続する内部バス219を備えている。Therefore, Japanese Patent Application Laid-Open No. Sho 62-129 shown in FIG.
An electronic musical instrument network system as described in JP-A-889-89 has been proposed. This electronic musical instrument network system includes a controller 201 also serving as an electronic musical instrument.
And another electronic musical instrument 202 and a floppy disk 203
And the printer 204 is connected to the network 205. The controller 201 includes a processor 206, a read only memory (ROM) 207 for a basic system, a random access memory (RAM) 208 for a basic system, and a RAM 209 for an expansion device.
-1, 209-2, 209-3..., Sound source circuit 21
0, an output amplifier 211, a speaker 212, a panel interface 213, a console panel 214, a bus interface 215, a control interface 216, an instruction panel 217, a start information input section 218, and an internal bus 219 connecting these circuits. .
【0004】第33図の回路においては、コントローラ
201はコンソールパネル214等の操作によって演奏
が行われるとその演奏データがパネルインタフェース2
13を介して基本RAM208及び音源回路210等に
入力される。そして、音源回路210によって所定の音
信号が生成され出力アンプ211によって増幅されてス
ピーカ212から出力される。この時コンソールパネル
214から入力された演奏データは必要に応じてプロセ
ッサ206によって波形操作等各種の処理が施された
後、音源回路210に入力される。なお、プロセッサ2
06は基本システム用ROM207に記憶されたオペレ
ーティングシステム等に基づき処理動作を行う。また、
基本システム用RAM208は演奏データの一次記憶そ
の他各種の作業領域等に使用される。In the circuit shown in FIG. 33, when a performance is performed by operating the console panel 214 or the like, the controller 201 transmits the performance data to the panel interface 2.
The data is input to the basic RAM 208 and the tone generator 210 via the PC 13. Then, a predetermined sound signal is generated by the sound source circuit 210, amplified by the output amplifier 211, and output from the speaker 212. At this time, the performance data input from the console panel 214 is subjected to various processes such as waveform operations by the processor 206 as necessary, and then input to the tone generator 210. The processor 2
Reference numeral 06 performs a processing operation based on an operating system or the like stored in the ROM 207 for the basic system. Also,
The basic system RAM 208 is used for primary storage of performance data and other various work areas.
【0005】次に、図34に図33に示す電子楽器ネッ
トワークシステムにおける情報の授受手順に付いて説明
する。但し、この図に示す親機はコントローラ201で
あり、ネットワーク205に接続されている他の機器は
すべて子機とされている。親機と子機とがパワーオンさ
れると、子機はネットワーク上に送信可能か否かを検出
し、ネットワーク上に送信中の信号がない時は送信可能
と判断し、登録要求信号をネットワーク上に送出する。
親機は子機からの登録要求信号があるまで待機してお
り、登録要求信号があったときは、登録要求信号を送出
した子機に対し認識番号(ID)及び制御プログラムの
送信要求を行う。子機はこれを受けて、ID及び制御プ
ログラムを送信する。このID及び制御プログラムは親
機側の拡張デバイス用メモリにロードされる。この時、
親機側において受信エラーの有無をチェックし、もし受
信エラーがあればエラー表示し、かつ子機の登録処理を
中止する。[0005] Next, FIG. 34 shows a procedure for exchanging information in the electronic musical instrument network system shown in FIG. 33. However, the master unit shown in this figure is the controller 201, and all other devices connected to the network 205 are slave units. When the master unit and the slave unit are powered on, the slave unit detects whether or not transmission is possible on the network, determines that transmission is possible when there is no signal being transmitted on the network, and transmits a registration request signal to the network. Send up.
The master unit waits for a registration request signal from the slave unit. When the registration request signal is received, the master unit requests the slave unit that has transmitted the registration request signal to transmit an identification number (ID) and a control program. . The slave unit receives this and transmits the ID and the control program. The ID and the control program are loaded into the expansion device memory of the master unit. At this time,
The parent device checks whether there is a reception error, and if there is a reception error, displays an error and cancels the registration process of the child device.
【0006】このようにして、親機はすべての子機の制
御プログラムを吸い上げ、親機がこの制御プログラムを
実行することにより、子機に対して各種の指示情報を送
信するようにして子機を制御する。従って、コントロー
ラ201の制御の基で、例えば演奏データをフロッピデ
ィスク203に記憶したり、プリンタ204によりプリ
ントすることが可能となる。In this manner, the master unit downloads the control programs of all the slave units, and the master unit executes the control programs to transmit various kinds of instruction information to the slave units. Control. Therefore, under the control of the controller 201, for example, performance data can be stored in the floppy disk 203 or printed by the printer 204.
【0007】[0007]
【発明が解決しようとする課題】このような構成におい
ては、ネットワークを用いて各種の拡張が可能であるも
のの、すべての処理をコントローラに集中させるのでコ
ントローラの負担が大きくなり、結果的にはコントロー
ラが処理できる能力までしかシステム全体の能力を上げ
ることができないという問題点があった。さらに、ネッ
トワーク上にコントローラとなり得る他の電子楽器を接
続しても、その電子楽器上の処理能力などの資源を有効
に活用することができないという問題点もあった。そこ
で、本発明は各種の拡張が可能であると共に、ネットワ
ーク上に接続された資源を有効に利用できる電子楽器ネ
ットワークシステムを提供することを目的としている。In such a configuration, although various types of expansion can be performed using a network, all the processing is concentrated on the controller, so that the load on the controller increases. However, there has been a problem that the capacity of the entire system can be increased only to the capacity that can be processed. Further, even if another electronic musical instrument that can be a controller is connected to the network, there is a problem that resources such as processing capability on the electronic musical instrument cannot be effectively used. Therefore, an object of the present invention is to provide an electronic musical instrument network system that can be variously expanded and that can effectively use resources connected on a network.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するため
に、本発明はネットワークに接続した各ユニットに、複
数の処理を自動的に分散させることにより、ユニットを
自由に組合わせて大きなシステムを構築するようにした
ものである。In order to achieve the above object, the present invention provides a large system by freely combining units by automatically distributing a plurality of processes to each unit connected to a network. It is intended to be built.
【0009】このような本発明によれば、従来一つの電
子楽器で処理していた複数の処理を、ネットワークに接
続した各ユニットに自動的に分散させることにより、各
種の拡張が可能になると共に、ネットワーク上の資源を
有効に利用することができる電子楽器ネットワークシス
テムを実現することができる。According to the present invention, a plurality of processes conventionally performed by one electronic musical instrument are automatically distributed to each unit connected to a network, thereby enabling various extensions. Thus, an electronic musical instrument network system that can effectively use resources on the network can be realized.
【0010】[0010]
【発明の実施の形態】第1図は、本発明の電子楽器ネッ
トワークシステムの全体構成概念図であり、プログラム
サーバモジュール10、メインユニット20、アサイナ
ユニット30、自動演奏モジュール40、スキャンモジ
ュール50、外部通信モジュール60、発音ユニット7
0〜110、オーディオ出力ユニット120がネットワ
ーク回路140に接続されることにより電子楽器ネット
ワークシステムが構成されている。ただし、以下の説明
においては、ユニット単体だけで処理を行うユニットも
モジュールと称するものとする。上記各モジュールに割
り当てられた各処理は、メインユニット20を除いて予
め割り当てられている処理ではなく、後述するようにシ
ステムの立ち上げ時にメインユニット20により、それ
ぞれ割り当てられた処理である。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a conceptual diagram of the overall configuration of an electronic musical instrument network system according to the present invention. The electronic musical instrument network system includes a program server module 10, a main unit 20, an assigner unit 30, an automatic performance module 40, a scan module 50, and the like. External communication module 60, sounding unit 7
The electronic musical instrument network system is configured by connecting the audio output units 120 to the network circuit 140. However, in the following description, a unit that performs processing only with a single unit is also referred to as a module. The processes assigned to the respective modules are not the processes assigned in advance except for the main unit 20, but are the processes assigned by the main unit 20 when the system starts up, as described later.
【0011】これらのモジュールは、汎用性のユニット
により構成されていると共に、動的にシステムを構成す
ることができ、性能の向上等のためにシステムの変更を
容易にできるようにされている。また、各モジュール内
のCPUユニットとしては汎用のものが用いられてお
り、そのCPUに割り当てられる処理に応じた処理プロ
グラムが演奏情報の処理の開始に先だって転送されるこ
とにより、そのCPUユニットを備えたモジュールが割
り当てられた処理を行うようにされている。これらのモ
ジュールは物理的に互いに離れた位置にあっても局所的
に集中していてもよく、要はネットワークで相互に接続
されていればよいため、大きなシステムから小さなシス
テムまで種々の形態を有する電子楽器ネットワークシス
テムを構築することができる。These modules are composed of versatile units, can dynamically configure the system, and can easily change the system to improve performance and the like. A general-purpose CPU unit in each module is used, and a processing program corresponding to processing assigned to the CPU is transferred prior to the start of processing of performance information, so that the CPU unit is provided. The assigned module performs the assigned process. These modules may be physically separated from each other or may be locally concentrated.In short, they may be interconnected by a network, and thus have various forms from a large system to a small system. An electronic musical instrument network system can be constructed.
【0012】各モジュールに処理プログラムが転送され
た後は、それぞれのモジュールがネットワークを介して
コマンドを発行する。コマンドには相手先のアドレスが
明示されているので、そのアドレスのモジュールがコマ
ンドを受け取り対応する処理が行われるようになる。例
として、一般的な押鍵の処理をおってみると、スキャナ
ユニット51で検出された押鍵情報は、まずアサインユ
ニット30に転送される。アサインユニット30では自
分の管理のもとにある発音ユニット70〜110のうち
空いているチャンネルを探し、その発音ユニット70〜
110に対して受け取った押鍵情報を転送する。発音ユ
ニット70〜110では、転送された押鍵情報に対応す
る楽音のディジタルデータを作成し、ネットワーク回路
140を介してオーディオ出力ユニット120に転送す
る。オーディオ出力ユニット120は受け取ったディジ
タルデータを時間軸上に正しく並べ直し(ディジタルデ
ータにはネットワーク上の転送を効率的にするために各
種の変調が加えられているため。)てサウンドシステム
130に転送し、サウンドシステム130から最終的な
アナログ楽音として発音される。After the processing program is transferred to each module, each module issues a command via the network. Since the destination address is specified in the command, the module at that address receives the command and performs the corresponding processing. As an example, in a general key pressing process, key pressing information detected by the scanner unit 51 is first transferred to the assigning unit 30. The assigning unit 30 searches for a vacant channel among the sounding units 70 to 110 under its own management,
The received key press information is transferred to 110. The sounding units 70 to 110 create digital data of musical tones corresponding to the transferred key press information, and transfer the digital data to the audio output unit 120 via the network circuit 140. The audio output unit 120 correctly rearranges the received digital data on the time axis (because the digital data has been subjected to various types of modulation in order to make the transmission over the network efficient) and transfers it to the sound system 130. Then, the sound is generated from the sound system 130 as a final analog musical sound.
【0013】この場合、発音チャンネルを増やしたい時
は発音ユニットをネットワークに追加するだけでよい。
追加された発音ユニットはメインユニット20によって
自動的に認識され、それに応じてアサインユニット30
の発音割当プログラムが変更される。また、何らかの事
情により今までアサイン機能を実現していたユニット3
0をネットワークから切り離す必要が生じた場合は、比
較的処理能力に余裕のある、例えばスキャナユニット5
1に新たにアサインのプログラムを割り当てて、スキャ
ンとアサインの双方の処理を1つのユニットで行うよう
にすればよい。このように、本発明の電子楽器システム
においては、汎用のユニットにプログラムをアサインす
ることにより、システムの拡張や縮小が可能になり、機
能が適正に配分されるのでどのような組み合わせにおい
ても最適な処理が遂行されるようになる。In this case, when it is desired to increase the number of sounding channels, it is only necessary to add sounding units to the network.
The added sounding unit is automatically recognized by the main unit 20, and accordingly, the assigning unit 30
Is changed. Also, due to some circumstances, the unit 3 that has realized the assignment function until now
If it is necessary to disconnect the network unit 0 from the network, for example, the scanner unit 5 having a relatively large processing capacity can be used.
1, a new assignment program may be assigned to perform both scan and assignment processing in one unit. As described above, in the electronic musical instrument system according to the present invention, by assigning a program to a general-purpose unit, the system can be expanded or reduced, and functions are appropriately allocated. The processing will be performed.
【0014】次に、各モジュールの説明を行う。図1に
示す構成において、プログラムサーバモジュール10
は、プログラムサーバユニット11とプログラムを記憶
する補助記憶装置12からなり、メインユニット20か
らのプログラム要求に従い、必要なプログラムを補助記
憶装置12から読み出して、メインユニット20に転送
する。メインユニット20は、楽器システム全体を制御
しており、システムの立ち上がり時点において各モジュ
ールの接続状況を調べ、それぞれのモジュールに対して
必要なプログラムをプログラムサーバモジュール10よ
り読み出して転送している。なお、全システムの立ち上
げ時点でのみ、各モジュールの接続状況を調べてプログ
ラムの配分を行うようにしているが、システムが動作し
ている最中にこれらの調査を行い、常にシステムの資源
の最適配分を行うようにすることもできる。Next, each module will be described. In the configuration shown in FIG.
Is composed of a program server unit 11 and an auxiliary storage device 12 for storing programs. According to a program request from the main unit 20, a required program is read from the auxiliary storage device 12 and transferred to the main unit 20. The main unit 20 controls the entire musical instrument system, checks the connection status of each module at the time of starting the system, reads out a necessary program for each module from the program server module 10, and transfers the program. It should be noted that the connection status of each module is checked and the program is distributed only when the entire system is started up.However, these checks are performed while the system is operating, and the system resources are always used. Optimal distribution can also be performed.
【0015】アサインユニット30は、楽器システムが
受け付けた発音要求を発音ユニット70〜110に割り
当てる処理を行う。またアサインユニット30は発音ユ
ニット70〜110の割り当てだけではなく、それぞれ
の発音ユニット70〜110の中での発音チャンネルの
割り当てまで行う。このため、アサインユニット30は
各発音チャンネルの情報をテーブルとして記憶してい
る。また、発音割り当て処理は、楽音の発音までの時間
に大きな影響を与えるので、これを複数のユニットに分
散させて高速に処理するように、アサイン処理を行う複
数のユニットとアサイン処理自体の割り当てを行うメタ
アサインユニットとを用意してもよい。The assigning unit 30 performs a process of assigning the sounding request received by the musical instrument system to the sounding units 70 to 110. The assignment unit 30 performs not only the assignment of the sounding units 70 to 110 but also the assignment of the sounding channels in the respective sounding units 70 to 110. Therefore, the assignment unit 30 stores information of each sounding channel as a table. Also, since the sound assignment process has a large effect on the time until the sound of a musical tone, the assignment of a plurality of units performing the assignment process and the assignment process itself is performed so that the sound is distributed to a plurality of units and processed at a high speed. A meta-assignment unit may be prepared.
【0016】このメタアサインユニットは、発音要求の
内容を判断して受け付けた発音要求を割り当てるアサイ
ンユニットを決定し、発音要求をアサインユニットに転
送する。各アサインユニットはメタアサインユニットか
ら転送された発音要求を実際の発音ユニットの発音チャ
ンネルにアサインする。例えば、楽器システムに鍵盤モ
ジュールと自動演奏モジュールとが接続されている場
合、それぞれのモジュールからの発音要求は一旦メタア
サインユニットに転送され、鍵盤モジュールからの発音
要求と、自動演奏モジュールからの発音要求とがメタア
サインユニットにより別々のアサインユニットに割り当
てられるようにされる。The meta-assignment unit determines the contents of the sounding request, determines an assigning unit to which the received sounding request is assigned, and transfers the sounding request to the assigning unit. Each assigning unit assigns the sounding request transferred from the meta-assigning unit to the sounding channel of the actual sounding unit. For example, when a keyboard module and an automatic performance module are connected to an instrument system, a sound generation request from each module is temporarily transferred to a meta-assignment unit, and a sound generation request from the keyboard module and a sound generation request from the automatic performance module are transmitted. Are assigned to different assigning units by the meta-assigning unit.
【0017】一般に、アサイン処理では、空きチャンネ
ルを探したり、トランケート処理で各発音チャンネルの
状況を調べたりする際に、全チャンネルを順次操作する
処理が欠かせない。従って、発音チャンネルの数が増え
れば増えるほどこれらの処理には時間が掛かってしまう
ことになる。そこで、前記のようにメタアサインユニッ
トによりアサイン処理を分割して行うことにより、発音
割り当てにかける時間を短縮することができるようにな
る。このメタアサインユニットでの発音要求の分割の方
法としては、前記のような情報の発信元で分割する方
法、キーコードの偶数と奇数で分割する方法、高音域と
低音域で分割する方法、MIDIのようなチャンネル番
号で分割する方法、音色により分割する方法等さまざま
な形態があり、所望に応じていずれを採用してもよい。
また、メタアサインユニットでの通信のオーバーヘッド
が小さい場合は、これらの分割の方法を組合わせてメタ
アサインを多段で行うこともできる。このようにする
と、アサイン処理に要する時間をより短縮することがで
きる。Generally, in the assigning process, when searching for a free channel or checking the status of each sounding channel in the truncation process, a process of sequentially operating all channels is indispensable. Therefore, as the number of sounding channels increases, these processes take more time. Therefore, by dividing the assignment process by the meta-assignment unit as described above, it is possible to reduce the time required for sound assignment. As a method of dividing a pronunciation request in the meta-assignment unit, a method of dividing at the source of information as described above, a method of dividing at even and odd key codes, a method of dividing at high range and low range, MIDI There are various modes such as a method of dividing by channel number and a method of dividing by tone color, and any of them may be adopted as desired.
If the overhead of communication in the meta-assignment unit is small, the meta-assignment can be performed in multiple stages by combining these division methods. By doing so, the time required for the assignment process can be further reduced.
【0018】上記以外にも発音要求の分割の方法とし
て、通常の発音割り当てのように、メタアサイナの管理
下にある複数のアサイナのうち、空きチャンネルがある
アサイナに割り当てる方法もある。この場合、メタアサ
イナが管理するアサイナの発音チャンネルを直接検出す
るのでは時間が掛かるため、アサイナは自分に空きチャ
ンネルがあるかどうか、あるいは空きチャンネル数をメ
タアサイナに知らせるようにする。メタアサイナは、管
理するアサイナのうち空きチャンネルのあるアサイナ、
あるいは空きチャンネル数の多いアサイナに発音要求を
転送することにより、効率のよい発音割り当てを可能と
している。また、自動演奏モジュール40は、自動演奏
ユニット41と補助記憶装置42とからなり、自動演奏
ユニット41はメインユニット20からの要求に応じ
て、補助記憶装置42に記憶された演奏データを読み出
し、発音要求として前記アサインユニット30に送信す
る。In addition to the above, there is a method of dividing a sounding request, such as a normal sounding assignment, by assigning to an assigner having a vacant channel among a plurality of assigners under the control of the meta assigner. In this case, it takes time to directly detect the sounding channel of the assigner managed by the meta assigner, so the assigner informs the meta assigner of whether there is a free channel or the number of the free channels. Meta assigner is an assigner that has free channels among the assigners it manages,
Alternatively, a sound generation request is transferred to an assigner having a large number of vacant channels, thereby enabling efficient sound generation assignment. The automatic performance module 40 includes an automatic performance unit 41 and an auxiliary storage device 42. The automatic performance unit 41 reads out performance data stored in the auxiliary storage device 42 in response to a request from the main unit 20, and generates a sound. The request is transmitted to the assignment unit 30 as a request.
【0019】スキャンモジュール50は、スキャンユニ
ット51と鍵・パネルスイッチ回路52とからなり、ス
キャンユニット51は鍵・パネルスイッチ回路52をス
キャンし、鍵イベント及びパネルスイッチイベントを検
出する。検出された鍵イベントは、発音要求としてパネ
ルスイッチイベントと共に前記アサインユニット30に
送信される。楽器システムでは、アサインユニットが1
つだけ存在するか、あるいはアサインユニットが複数存
在する場合はメタアサインユニットが1つだけしか存在
しないため、スキャンユニット51はそのユニットに発
音要求を送信するだけでよく、アサインユニットや発音
ユニットの内容などを知っている必要はない。外部通信
モジュール60は、インタフェースユニット61とイン
タフェース回路62とから構成され、インタフェース回
路62には一般に電子楽器に多く利用されるMIDIイ
ンタフェースが用いられている。この外部通信モジュー
ル60は、楽器システムの外部から与えられるMIDI
信号のうち、発音イベントを発音要求として前記アサイ
ンユニット30に送信する。また、MIDI信号のうち
のコントロール情報をメインユニット20に転送し、楽
器システムの制御を行うこともできる。The scan module 50 includes a scan unit 51 and a key / panel switch circuit 52. The scan unit 51 scans the key / panel switch circuit 52 and detects a key event and a panel switch event. The detected key event is transmitted to the assigning unit 30 together with a panel switch event as a sounding request. In an instrument system, one assign unit is
If there is only one, or if there are multiple assign units, there is only one meta-assign unit, so the scan unit 51 only needs to send a sounding request to that unit, and the contents of the assign unit and sound unit You don't need to know anything. The external communication module 60 includes an interface unit 61 and an interface circuit 62, and the interface circuit 62 uses a MIDI interface generally used for electronic musical instruments. The external communication module 60 is provided with MIDI provided from outside the musical instrument system.
Among the signals, a sounding event is transmitted to the assigning unit 30 as a sounding request. The control information of the MIDI signal can be transferred to the main unit 20 to control the musical instrument system.
【0020】発音ユニット70〜110はネットワーク
との通信機能を備えた発音のためのモジュールである。
それぞれの発音ユニット70〜110の発音形式、同時
発音数等は統一されている必要はない。発音ユニットが
波形メモリ方式の場合は、ユニット内部に波形を記憶し
たメモリにより楽音データを発生するようにされるが、
FM音源方式、DSPを用いたシミュレーション音源方
式等の場合はマイクロプログラムにより楽音データを発
生するようにされる。これらの波形データや、シミュレ
ーションのためのマイクロプログラムは各ユニット毎に
予め持っていることもできるが、楽器システムの立ち上
げ時にプログラムサーバモジュール10から転送するこ
ともできる。メインユニット20は楽器システムの立ち
上げ時に各発音ユニットの音源方式、発音チャンネル数
に応じたアサインプログラムをアサイナユニット30に
供給している。The sounding units 70 to 110 are modules for sounding having a function of communicating with a network.
It is not necessary that the pronunciation style, the number of simultaneous pronunciations, and the like of each of the sounding units 70 to 110 be unified. If the sounding unit is of a waveform memory type, the tone data is generated by a memory storing the waveform inside the unit.
In the case of the FM sound source system, the simulation sound source system using a DSP, or the like, musical sound data is generated by a microprogram. These waveform data and a microprogram for simulation can be provided in advance for each unit, but can also be transferred from the program server module 10 when the musical instrument system is started. The main unit 20 supplies the assigner unit 30 with an assignment program according to the tone generator system and the number of sound channels of each sound generator unit when the musical instrument system is started up.
【0021】アサインユニット30から発音要求を受け
とった発音ユニット70〜110は、指示される発音チ
ャンネルにて楽音の合成を開始し、合成されたディジタ
ル楽音データを後述のオーディオ出力ユニット120に
ネットワーク回路140を介して送信する。これによ
り、ネットワーク回路140上に発音ユニット70〜1
10が分散しており、さらに、それらの物理的位置が離
れている場合でも、すべての発音ユニット70〜110
の出力がオーディオ出力ユニット120に集められるた
め、最終的なアナログ楽音に利用することが容易とな
る。ところで、ネットワーク回路140の速度が遅い場
合、またはネットワーク自体が広い範囲に広がっておら
ず、例えば図1に示すネットワークシステムの全体が1
つの電子楽器の本体内部で実現される場合は、全ての発
音ユニット70〜110の出力をネットワーク回路14
0を介さずに、破線で図示するミキシング回路150で
直接集めてミキシングすることもできる。The sounding units 70 to 110 which have received the sounding request from the assigning unit 30 start synthesizing musical tones on the specified sounding channel, and transmit the synthesized digital musical sound data to the audio output unit 120 which will be described later. To send over. Thereby, the sounding units 70 to 1 are placed on the network circuit 140.
10 are dispersed and, furthermore, even if their physical locations are far apart, all sounding units 70-110
Is collected in the audio output unit 120, so that it can be easily used for the final analog musical sound. By the way, when the speed of the network circuit 140 is low or the network itself is not spread over a wide range, for example, the entire network system shown in FIG.
When realized within the main body of one electronic musical instrument, the outputs of all the sounding units 70 to 110 are connected to the network circuit 14.
Instead of passing through 0, it is also possible to directly collect and mix by a mixing circuit 150 shown by a broken line.
【0022】また、オーディオ出力ユニット120は前
記のように各発音ユニット70〜110から転送された
ディジタルデータを組合わせ、発音可能なディジタル情
報としてサウンドシステム130に送信する。ネットワ
ーク回路140は、前記それぞれのモジュール及びユニ
ットを接続するものであって、形式はバス型、リング型
等のどのようなものでもよい。なお、ネットワーク上の
各モジュールには物理アドレスと論理アドレスとが設定
され、物理アドレスは各モジュールに固有の番号であっ
て、一意に決定されており変更することはできない。論
理アドレスは、楽器システムの立ち上げ時に決定され、
1つの処理毎に1つのアドレスが割り当てられる。例え
ば、1つのモジュールでアサインと自動演奏との2つの
処理を実現する際には、物理アドレスは1つであるが、
論理アドレスを2つ持つことになる。また、論理アドレ
スは階層的に構成され、上位のデータがモジュールに割
り当てられた処理の種類を、下位のデータが同一種類の
モジュール毎の番号を示す。これにより、ある特定の処
理を行うモジュール全てに情報を流すときに、上位だけ
で判断させることにより個別にデータを流す必要がない
ブロードキャストを用いることができる。例えば、電子
楽器においてはシステムがエラーを引き起こしたときな
どに、強制的に全ての発音を終了させることがあるが、
このような場合には全ての発音モジュールに個別にデー
タを送信する替わりに、発音モジュールという種類を指
定した発音強制終了のブロードキャストメッセージを送
信することにより、すべての発音モジュールよりの発音
を停止することができる。The audio output unit 120 combines the digital data transferred from each of the sounding units 70 to 110 as described above, and transmits the combined digital data to the sound system 130 as soundable digital information. The network circuit 140 connects the respective modules and units, and may be of any type such as a bus type or a ring type. Note that a physical address and a logical address are set for each module on the network, and the physical address is a number unique to each module and is uniquely determined and cannot be changed. The logical address is determined when the instrument system starts up,
One address is assigned to one process. For example, when realizing two processes of assignment and automatic performance with one module, the physical address is one,
It will have two logical addresses. The logical address is configured in a hierarchical manner, with higher-level data indicating the type of processing assigned to the module, and lower-level data indicating the number of each module of the same type. Thus, when information is sent to all the modules that perform a specific process, it is possible to use a broadcast that does not need to send data individually by making determination only at the upper level. For example, in the case of electronic musical instruments, when the system causes an error, for example, sometimes all sounds are forcibly terminated.
In such a case, instead of sending data individually to all the sounding modules, the sounding from all the sounding modules should be stopped by transmitting a broadcast message for forced termination of sounding specifying the type of sounding module. Can be.
【0023】次に、発音ユニット70〜110のうち、
例えば発音ユニット70がDSPをもちいた音源方式で
ある場合の構成のブロックを図2に示す。この図におい
て、インタフェース71はネットワーク回路140に接
続されており、ネットワーク上を流れるパケットのう
ち、自分に設定された物理アドレスまたはブロードキャ
ストアドレスが指定されているパケットのみを取り込
む。また、発音ユニット70からパケットを発信する際
は、後述のCPU74により指定される各種データに応
じてパケットを作成し、ネットワーク回路140上に送
信する。DSP72はDSP用RAM73に記憶された
マイクロプログラムに従い、楽音の合成を行う。マイク
ロプログラムは、楽器システムの立ち上げ時にプログラ
ムサーバモジュール10から供給されるほか、マイクロ
プログラムによって決定される音色を切り替えたい時な
どに、新たなマイクロプログラムを記憶させることによ
り変更される。Next, among the sounding units 70 to 110,
For example, FIG. 2 shows a block diagram of a configuration in a case where the sound generation unit 70 is of a sound source system using a DSP. In this figure, an interface 71 is connected to a network circuit 140, and takes in only packets for which a physical address or a broadcast address set for itself is specified from among packets flowing on the network. When transmitting a packet from the sounding unit 70, a packet is created in accordance with various data specified by the CPU 74 described later, and transmitted to the network circuit 140. The DSP 72 synthesizes a musical tone in accordance with the microprogram stored in the DSP RAM 73. The microprogram is supplied from the program server module 10 when the musical instrument system is started up, and is changed by storing a new microprogram when it is desired to switch the timbre determined by the microprogram.
【0024】CPU74は、プログラムサーバモジュー
ル10から供給されたRAM76に記憶された制御プロ
グラムに従い、インタフェース71の管理と、DSP7
2の制御とを行うと共に、ROM75に記憶されている
イニシャル時の立ち上げ用のプログラムを実行する。な
お、DSPによる楽音合成では、マイクロプログラムの
種類によって、自然楽器のシミュレーションを行うシミ
ュレーション音源や、RAM76を波形メモリとした波
形メモリ音源、変調型のFM音源を実現することができ
る。また、図3は発音ユニット70〜110のうち、例
えば発音ユニット80が波形メモリ方式である場合の構
成を示すブロック図である。この図に示すブロック図に
おいて、図2に示すブロック図との差異は、DSP72
の替わりに楽音合成回路82、およびDSP用RAM7
3の替わりに波形ROM83が設けられることである。
なお、前記のとおり、DSP72を用いても波形メモリ
方式の音源を実現することができるが、ハードウェアを
利用した専用ボードの方がさまざまな点で有利である。
さらに、楽音合成回路82としては波形メモリ楽音合成
LSIを用いることができる。The CPU 74 manages the interface 71 and controls the DSP 7 in accordance with the control program stored in the RAM 76 supplied from the program server module 10.
In addition to the control of step 2, the program for starting up at the time of the initialization stored in the ROM 75 is executed. In the tone synthesis by the DSP, a simulation sound source for simulating a natural musical instrument, a waveform memory sound source using the RAM 76 as a waveform memory, and a modulation type FM sound source can be realized depending on the type of microprogram. FIG. 3 is a block diagram showing a configuration in which, for example, the sound generation unit 80 of the sound generation units 70 to 110 is of a waveform memory type. The difference between the block diagram shown in this figure and the block diagram shown in FIG.
Instead of the tone synthesis circuit 82 and the DSP RAM 7
3 is provided with a waveform ROM 83.
As described above, a waveform memory type sound source can be realized by using the DSP 72, but a dedicated board using hardware is more advantageous in various points.
Further, as the tone synthesis circuit 82, a waveform memory tone synthesis LSI can be used.
【0025】図4は、汎用ユニットの構成を示すブロッ
ク図である。この図において、インタフェース31はネ
ットワーク回路140に接続するためのインタフェース
であり、スキャンユニット51における鍵・パネルスイ
ッチ回路52等の外部機器は、外部機器接続ポート32
に接続される。また、ROM34にはイニシャル時の立
ち上げ用のプログラムなどが記憶されており、汎用ユニ
ット30をアサインユニットなどとして特定目的に利用
する際には、プログラムサーバモジュール10から読み
出されたプログラムがRAM35に記憶され、それを基
に制御を行う。また、RAM35はCPU33で処理を
実行する際の、各種の記憶領域としても利用される。こ
の汎用ユニットの構成は各モジュールに共通である。た
だし、メインユニットになるべきユニットのみは、RO
M34に記憶されるプログラムがメインユニットとして
立ち上がるように他の汎用ユニットとは異なるようにさ
れている。FIG. 4 is a block diagram showing the configuration of the general-purpose unit. In this figure, an interface 31 is an interface for connecting to a network circuit 140, and external devices such as a key / panel switch circuit 52 in the scan unit 51 are connected to an external device connection port 32.
Connected to. The ROM 34 stores a program for starting at the time of initializing, and the like. When the general-purpose unit 30 is used as an assigning unit for a specific purpose, the program read from the program server module 10 is stored in the RAM 35. It is stored and control is performed based on it. The RAM 35 is also used as various storage areas when the CPU 33 executes processing. The configuration of this general-purpose unit is common to each module. However, only the unit that should become the main unit is RO
The program stored in M34 is different from other general-purpose units so that the program starts as a main unit.
【0026】次に、本発明の電子楽器ネットワークシス
テム全体の動作の概要を図9に示す。この図に示すよう
に、ネットワークシステムの立ち上げに際してはメイン
ユニット(Mein Unit)と汎用ユニットであるスレイブ
ユニット(Slave Unit)とは通信を行う。この通信は、
システムの立ち上げ時に、まずスレイブユニットがネッ
トワーク上に“Add Req ”(アドレスリクエスト)コマ
ンドをブロードキャストメッセージとして流し、メイン
ユニットからのパケットを待つ。このコマンドに対する
応答のプログラムは、メインユニットのみが、ROM3
4内の立ち上げプログラムに有しているため、メインユ
ニットがこのコマンドに答えて、“ACK”(確認)コマ
ンドを、スレイブユニットの物理アドレスを設定して返
送する。なお、スレイブユニットから送信される“Add
Req ”コマンドはパケットの形で送信されるが、このパ
ケットの例を図6に示す。ただし、このパケットにおい
て、システム立ち上げ時は送信先物理アドレスおよび論
理アドレスはいずれもわかっていないため、上述のよう
にブロードキャストコードを送信先物理アドレスに替え
て送信している。また立ち上げ時においては、メインユ
ニットはスレイブユニットからのこのパケットの待ち状
態となっており、受信したパケットから送信元の物理ア
ドレスを知るようにしている。Next, FIG. 9 shows an outline of the operation of the entire electronic musical instrument network system of the present invention. As shown in this figure, when starting up the network system, the main unit (Mein Unit) communicates with the slave unit (Slave Unit) which is a general-purpose unit. This communication is
When the system is started, first, the slave unit sends an “Add Req” (address request) command as a broadcast message on the network, and waits for a packet from the main unit. The program that responds to this command has only the main unit
4, the main unit responds to this command, and returns an "ACK" (confirmation) command by setting the physical address of the slave unit. Note that “Add” sent from the slave unit
The "Req" command is transmitted in the form of a packet. An example of this packet is shown in Fig. 6. However, in this packet, when the system is started up, neither the destination physical address nor the logical address is known, so The main unit is in a waiting state for this packet from the slave unit at the time of start-up, and transmits the physical code of the source from the received packet. I know the address.
【0027】メインユニットからの“ACK ”コマンドを
スレイブユニットが受けると、スレイブユニットはメイ
ンユニットが動作していることを確認できると共に、送
信されたパケットからメインユニットの物理アドレスを
知ることができる。そして、スレイブユニットは、自ユ
ニットのデータである、例えば鍵スイッチが外部機器と
して接続されている、処理速度はこれくらい等のデータ
を前記パケットの形でメインユニットに送信する。この
ようにして、メインユニットはスレイブユニットのデー
タを知ることができるが、スレイブユニットは複数ある
ため上記動作を各スレイブユニットに対して行うことに
より、各スレイブユニットからのデータを収集し、収集
したデータに基づいて、例えば鍵スイッチが接続されて
いるユニットの機能をスキャナに決定する等の処理を行
うことにより、各スレイブユニットの機能を決定し、そ
の機能の処理を行うためのプログラム及び論理アドレス
を各スレイブユニットに送信する。スレイブユニットは
受信したプログラムに応じて処理を行う。メインユニッ
トは、このような処理をコマンドを送信したスレイブユ
ニットの全てに対して行う。When the slave unit receives the "ACK" command from the main unit, the slave unit can confirm that the main unit is operating, and can know the physical address of the main unit from the transmitted packet. The slave unit transmits the data of the slave unit to the main unit in the form of the packet, for example, data having a key switch connected as an external device and having a processing speed of about this. In this way, the main unit can know the data of the slave unit, but since there are a plurality of slave units, the above operation is performed on each slave unit, so that the data from each slave unit is collected and collected. Based on the data, for example, the function of the unit to which the key switch is connected is determined by the scanner, thereby determining the function of each slave unit, and a program and a logical address for performing the processing of the function. To each slave unit. The slave unit performs processing according to the received program. The main unit performs such processing for all slave units that have transmitted the command.
【0028】以上のようにして、論理アドレスを持た
ず、自らの機能を実現するプログラムも持たない各スレ
イブユニットがネットワークを介して立ち上がるように
なる。これにより、楽器システムとしても機能の拡張が
ネットワークに単純に汎用ユニットを接続するだけで実
現することができ、さらに、接続されたユニットに応じ
てプログラムが配分されるので、演奏者に負担を掛ける
ことなく最適な仕事量の配分をすることができる。As described above, each slave unit having no logical address and having no program for realizing its own function starts up via the network. As a result, the function expansion of the musical instrument system can be realized by simply connecting the general-purpose unit to the network, and the program is distributed according to the connected unit, which places a burden on the player. Without distributing the work load.
【0029】次に各フローチャートの説明を行う。図1
0はメインユニット20の中のROMに記憶されている
基本ジョブ処理プログラムの1つであり、メインユニッ
ト20の立ち上げ時にROMより読み出され実行される
メインユニットブート処理のフローチャートである。こ
の処理は、まず、ネットワークインタフェースの初期化
がステップS100で行われ、次にインタフェースの走
査がステップS110で行われ、スレイブユニットから
のパケットの検出が行われる。そして、このパケットが
検出されるまでステップS110とステップS120を
巡回し、パケットが検出されるとステップS130によ
りコマンド(COM)に応じたジョブ(job)が実行
される。そして、所定時間が経過されるまでステップS
110からステップS140の処理が繰り返される。こ
れは、メインユニット20の立ち上がりから所定時間の
間だけ、楽器システム初期化に関するコマンドを受け付
けるためである。ここでは、ネットワークに接続された
各ユニットはほぼ同時に立ち上がるものと仮定してお
り、メインユニットが立ち上がった時点より所定時間の
間にメインユニットと通信を確立したユニットが楽器シ
ステムの資源(リソース)として認識されるようにな
る。Next, each flowchart will be described. FIG.
0 is one of the basic job processing programs stored in the ROM in the main unit 20, and is a flowchart of a main unit boot process that is read from the ROM and executed when the main unit 20 starts up. In this process, first, initialization of a network interface is performed in step S100, scanning of the interface is performed in step S110, and detection of a packet from the slave unit is performed. Steps S110 and S120 are repeated until the packet is detected. When the packet is detected, a job (job) corresponding to the command (COM) is executed in step S130. Then, step S is performed until a predetermined time elapses.
The processing from step 110 to step S140 is repeated. This is because a command relating to the initialization of the musical instrument system is received only for a predetermined time from the start of the main unit 20. Here, it is assumed that each unit connected to the network starts up almost at the same time, and a unit that has established communication with the main unit within a predetermined time from the time when the main unit started up is regarded as a resource of the musical instrument system. Become recognized.
【0030】所定時間経過されると、ステップS150
で各種プログラムを記憶しているプログラムサーバモジ
ュールとの通信が確立され、ステップS160でネット
ワーク上の各ユニットの状況に応じて、制御プログラム
等を供給する機能アサイン処理が行われて、メインユニ
ットのブート処理は終了する。上記ステップS130に
おけるジョブには図11に示すアドレスリクエストジョ
ブ(Addr Req job )処理と、図12に示すイニシャル
ジョブ(INIT job )処理とがある。図11に示すアド
レスリクエストジョブ処理は、ステップS200でメイ
ンユニットにより受信されたスレイブユニットからのパ
ケットに含まれる送信元物理アドレスをPADDRとし
て設定し、ステップS210で“ACK ”信号を送信コマ
ンドSCOMとして設定し、ステップS220で上記S
COMをネットワーク上のPADDRに送信する。スレ
イブユニットは、これを受信することにより、メインユ
ニットが正常に起動していることと、メインユニットの
物理アドレスを知ることができる。なお、メインユニッ
トはシステム内に1つしか存在せず、その論理アドレス
は『0.0』とされている。When a predetermined time has elapsed, step S150 is performed.
In step S160, communication with a program server module storing various programs is established. In step S160, a function assignment process for supplying a control program or the like is performed according to the status of each unit on the network. The process ends. The jobs in step S130 include an address request job (Addr Req job) process shown in FIG. 11 and an initial job (INIT job) process shown in FIG. In the address request job process shown in FIG. 11, the source physical address included in the packet from the slave unit received by the main unit is set as PADDR in step S200, and the "ACK" signal is set as the transmission command SCOM in step S210. Then, in step S220, the above S
Send COM to PADDR on the network. By receiving this, the slave unit can know that the main unit has started normally and the physical address of the main unit. It should be noted that only one main unit exists in the system, and its logical address is "0.0".
【0031】図12に示すイニシャルジョブ処理は、ス
レイブユニットから“INIT”コマンドと共に転送される
DEV,SPEEDデータをバッファに記憶する。DE
Vは各ユニットに接続されているデバイスを示す情報で
あり、SPEEDは各ユニットのCPUの処理速度デー
タであり、処理を割り当てる際の参考にする。メインユ
ニットはこれらの情報を基にどのような処理を各ユニッ
トに割り当てるかを前記ステップS160で決定する。
図8は前記ステップS160の機能アサイン処理のフロ
ーチャートを示している。この処理のステップS400
では、図12に示すステップS310で収集した各ユニ
ットの情報をデバイスの種類毎に分類する。次のステッ
プS410では、少なくとも1つの入力デバイス(例え
ば、鍵盤、MIDIインタフェース等)と、1つの出力
デバイス(発音ユニット)とが存在するか否かが判断さ
れる。これらがない場合は、楽器システムとして機能し
ないため、ステップS470に分岐され、図10に示す
メインユニットブート処理を再度立ち上げるようにす
る。これにより、遅れて立ち上がったユニットの情報を
取り入れることができる。In the initial job processing shown in FIG. 12, DEV and SPEED data transferred from the slave unit together with the "INIT" command are stored in a buffer. DE
V is information indicating a device connected to each unit, and SPEED is processing speed data of the CPU of each unit, which is used as a reference when assigning processing. The main unit determines what processing is to be assigned to each unit based on the information in step S160.
FIG. 8 shows a flowchart of the function assignment process in step S160. Step S400 of this process
Then, the information of each unit collected in step S310 shown in FIG. 12 is classified by device type. In the next step S410, it is determined whether there is at least one input device (for example, a keyboard, a MIDI interface, and the like) and one output device (sound generation unit). If they do not exist, they do not function as the musical instrument system, so the process branches to step S470, and the main unit boot process shown in FIG. 10 is started again. This makes it possible to incorporate information on units that have started up late.
【0032】ステップS410において、楽器システム
としての動作が可能と判断された時は、ステップS41
5以下の各機能の処理を順に実行する。まず、ステップ
S415でオーディオユニット処理が行われる。この処
理では、メインユニットがプログラムサーバモジュール
から読み出したオーディオユニット用のプログラムを、
オーディオユニットに設定すると共に、オーディオユニ
ットの物理アドレスをメインユニットに記憶させ、論理
アドレスを設定させている。物理アドレスをメインユニ
ットに記憶させるのは、後述するTG(発音ユニット)
処理の時にTGがどこに出力を出すのかを指示するため
にオーディオユニットの物理アドレスが必要となるため
である。そして、図14以降で後述するTG処理、アサ
イン処理、KB処理、パネル処理がステップS420〜
S460により、順次行われて機能アサイン処理は終了
する。If it is determined in step S410 that the operation as the musical instrument system is possible, step S41
The processing of each function of 5 or less is sequentially executed. First, audio unit processing is performed in step S415. In this process, the main unit reads the audio unit program read from the program server module,
In addition to setting the audio unit, the physical address of the audio unit is stored in the main unit, and the logical address is set. Storing the physical address in the main unit is performed by a TG (sound generation unit) described later.
This is because the physical address of the audio unit is needed in order to indicate where the TG outputs the output at the time of processing. Then, TG processing, assignment processing, KB processing, and panel processing described later with reference to FIG.
By S460, the function assignment process is sequentially performed and the function assignment process ends.
【0033】図14に図13のステップS420で呼び
出されるTG処理のフローチャートを示す。この処理に
おいては、ステップS500にてカウンタcoが「1」
に設定される。このカウンタcoの値は論理アドレスの
下位データと使用され、下位データの「0」がブロード
キャストに使用されるため、「1」からカウントするよ
うにされている。次に、ステップS505に進み、まだ
処理されずに残っている発音ユニットのデータがバッフ
ァに残っているかが判断される。この場合は、システム
の立ち上げ時であり、図13に示すステップS410に
おいて、発音ユニットは1つ以上存在することが確認さ
れているため、ステップS510に進んで、バッファか
らDEV=“TG”である情報を1つ取り出し、ステッ
プS515にてその発音ユニットの物理アドレスをAD
DRとして設定する。FIG. 14 is a flowchart of the TG process called in step S420 of FIG. In this process, the counter co is set to “1” in step S500.
Is set to The value of the counter co is used as lower-order data of the logical address, and "0" of the lower-order data is used for broadcasting, so that the counter is counted from "1". Next, the process proceeds to step S505, and it is determined whether or not the data of the sound generation unit that has not been processed remains in the buffer. In this case, the system is started up. Since it is confirmed in step S410 shown in FIG. 13 that one or more sounding units exist, the process proceeds to step S510, where DEV = “TG” from the buffer. One piece of information is extracted, and the physical address of the sounding unit is set to AD in step S515.
Set as DR.
【0034】次に、この発音ユニットから詳細情報を取
り出すために送信コマンドSCOMとして“Data Req
”を設定して、このSCOMをネットワーク上のAD
DRに送信する。すると、このSCOMは上記バッファ
から取り出された物理アドレスの発音ユニットにより受
信され、この発音ユニットは自らの発音ユニットの発音
タイプと、最大発音数のデータをメインユニットに送信
する。この発音タイプには波形メモリ方式、FM音源方
式、DSPシミュレーション方式等があり、DSPシミ
ュレーション方式は発音のためにマイクロプログラムを
一般に必要とする。メインユニットはステップS535
にて発音ユニットから送信された発音タイプデータをカ
ウンタcoが「1」のTG TYPEとして記憶し、最大発音
数データをカウンタcoが「1」のCH Num として記憶
する。このステップS535までが発音ユニットからデ
ータを取り出すステップであり、次のステップS540
からが、取り出したデータを元に発音ユニットにプログ
ラムを割り当てるステップである。Next, "Data Req" is transmitted as a transmission command SCOM in order to extract detailed information from this sounding unit.
"And set this SCOM to AD on the network.
Send to DR. Then, the SCOM is received by the sounding unit of the physical address extracted from the buffer, and the sounding unit transmits the sounding type of its own sounding unit and the data of the maximum number of sounds to the main unit. The sound generation type includes a waveform memory system, an FM sound source system, a DSP simulation system, and the like. The DSP simulation system generally requires a microprogram for sound generation. The main unit determines in step S535
Stores the tone type data transmitted from the tone generating unit as the TG TYPE of which the counter co is "1", and stores the maximum tone generation data as the CH Num of which the counter co is "1". Steps up to step S535 are steps for extracting data from the sound generation unit, and the next step S540.
Is a step of allocating a program to a sounding unit based on the extracted data.
【0035】ステップS540では、上記記憶されたTG
TYPEに応じた制御プログラムおよびマイクロプログラ
ムをプログラムサーバモジュールから取り出して、PR
OGとしてレジスタに設定する。さらに、ステップS5
42にて上記図13に示すステップS415で記憶した
オーディオユニットの物理アドレスを、付加情報INF
Oとして設定する。また、ステップS545にて送信コ
マンドSCOMとして“Prog Load”を設定すると共
に、ステップS550にて、この発音ユニットの論理ア
ドレスLADDRとして「3.co」(この場合、
「3.1」となる)を設定して、ステップS555にて
上記SCOM,PROG,INFO,LADDRをネッ
トワーク上のADDRに送信する。そして、ステップS
560に進みカウンタcoの値が1つインクリメントさ
れてco+1とされて、ステップS505に戻り、未処
理ユニットがなくなるまで上記処理が繰り返し行われ
る。これにより、『3.co』の論理アドレスが各発音
ユニットに与えられると共に、発音ユニットの発音タイ
プおよび最大発音数に応じた制御プログラム、およびマ
イクロプログラムが供給される。In step S540, the stored TG
Take out the control program and microprogram corresponding to TYPE from the program server module and
Set as OG in the register. Further, step S5
At 42, the physical address of the audio unit stored in step S415 shown in FIG.
Set as O. In step S545, “Prog Load” is set as the transmission command SCOM, and in step S550, the logical address LADDR of this sounding unit is “3.co” (in this case,
"3.1" is set), and the SCOM, PROG, INFO, and LADDR are transmitted to ADDR on the network in step S555. And step S
Proceeding to 560, the value of the counter co is incremented by one and set to co + 1, the process returns to step S505, and the above processing is repeated until there are no unprocessed units. Thereby, “3. The logical address "co" is given to each sounding unit, and a control program and a microprogram corresponding to the sounding type and the maximum number of sounds of the sounding unit are supplied.
【0036】なお、発音ユニットから取り出した情報に
おいて、発音ユニットがDSPを用いたシミュレーショ
ン音源方式と認識された場合は、例えば、ピアノの音色
を発生するマイクロプログラムを転送するようにする。
これは、楽器の電源を投入した時に音が出ないことを防
止するためである。ただし、音源が波形メモリ方式の場
合はマイクロプログラムは必要としないので、この処理
は必要としない。また、論理アドレスの上位データは、
図5に示す表の左端のように処理に応じて設定されてお
り、メインユニットは『0』、鍵盤は『1』、パネルス
イッチは『2』、発音ユニットは『3』、MIDIイン
タフェースは『4』、アサイナユニットは『5』、オー
ディオユニットは『6』、プログラムサーバモジュール
は『7』、接続されていないものは『8』とされてい
る。この上位の論理アドレスに、前記カウンタcoで設
定されたデータを下位データとして設定することによ
り、同じ処理を行うユニット(論理アドレスの上位デー
タが同じとなる)の論理アドレスをそれぞれ設定するこ
とができる。次に、ステップS560にてカウンタco
の値が、co+1にインクリメントされステップS50
5に戻り、未処理ユニットがなくなるまで上記処理が繰
り返し行われる。In the case where the information taken out from the sounding unit is recognized as the simulation sound source system using the DSP, for example, a microprogram for generating a piano tone is transferred.
This is to prevent no sound from being output when the power of the musical instrument is turned on. However, if the sound source is of the waveform memory type, no microprogram is required, so this process is not required. The upper data of the logical address is
The main unit is set to “0”, the keyboard is set to “1”, the panel switch is set to “2”, the sounding unit is set to “3”, and the MIDI interface is set to “3” as shown in the left end of the table shown in FIG. 4 ", the assigner unit is" 5 ", the audio unit is" 6 ", the program server module is" 7 ", and the unconnected one is" 8 ". By setting the data set by the counter co as low-order data in the high-order logical address, it is possible to set the logical address of a unit that performs the same processing (the high-order data of the logical address is the same). . Next, in step S560, the counter co
Is incremented to co + 1 and step S50
Returning to 5, the above processing is repeated until there are no unprocessed units.
【0037】次に、図15にアサイナ処理のフローチャ
ートを示す。アサインには、空きチャンネルを探す処理
や、空きチャンネルがない時は最も音量の小さいチャン
ネルを探す処理が必須であり、この時には端からチャン
ネルをすべてスキャンする必要があるため、チャンネル
数が増加するとアサインのために時間がかかるようにな
る。そこで、このような場合はアサイン処理を分割して
アサインにかかる時間を短縮するようにする。ここで
は、まずアサイン機能を分担可能なユニットを調べて、
アサインを1つのユニットでできる場合はアサインプロ
グラムをそのユニットに割り当てる。しかし、発音チャ
ンネル数が多く、アサインを1つにユニットではできな
い場合は、発音ユニットを複数のグループに分けて、グ
ループ毎のアサイナユニットと複数のアサイナを統括す
るメタアサイナユニットを決定して、それぞれプログラ
ムを割り当てるようにする。仕事を割り当てる際には、
ステップS310で得られた各モジュールのスピードS
PEEDと既に割り当てられた仕事量に応じ、最も余力
のあるモジュールに割り当てるようにする。Next, FIG. 15 shows a flowchart of the assigner process. The process of searching for an empty channel or the process of searching for the channel with the lowest volume when there are no available channels is essential. In this case, it is necessary to scan all the channels from the end, so if the number of channels increases, the assignment will increase. It takes time for Therefore, in such a case, the assignment process is divided to reduce the time required for the assignment. Here, first, check the units that can share the assignment function,
If the assignment can be made by one unit, assign the assignment program to that unit. However, when the number of sounding channels is large and the assignment cannot be performed by one unit, the sounding units are divided into a plurality of groups, and an assigner unit for each group and a meta-assigner unit that supervises the plurality of assigners are determined. , And assign each program. When assigning jobs,
Speed S of each module obtained in step S310
Depending on the PEED and the amount of work already assigned, the module is assigned to the module with the most margin.
【0038】すなわち、ステップS600にてアサイン
を分担可能な各ユニットの仕事量を調べ、この結果発音
チャンネル数が少なく1つのユニットで処理可能とステ
ップS602にて判断された時は、ステップS603に
てそのユニットの物理アドレスがADDRとして設定さ
れる。そして、ステップS604にて単独用アサイナの
プログラムをプログラムサーバモジュールから取り出
し、PROGとしてレジスタに設定する。次に、ステッ
プS606にて各発音ユニットのTGタイプ(TGTyp
e)、チャンネル数(CH Num )、および物理アドレス
および論理アドレスが付加情報INFOとしてレジスタ
に設定され、ステップS608にて、このアサイナユニ
ットの論理アドレスLADDRが「5.0」に設定され
ると共に、ステップS610にて送信コマンドSCOM
が“Prog Load”とされて、ステップS612にて上記
SCOM,PROG,INFO,LADDRをネットワ
ーク上のADDRに送信する。これにより、単独のユニ
ットで構成されたアサイナのアサイナ処理が可能とな
る。なお、論理アドレスを『5.0』に設定しているの
は、アサイナにおいてはブロードキャストを使用する必
要がなく、主アサイナ(アサイナが1つの場合はそのア
サイナが主アサイナとなる)に発音要求を送信すれば良
いからである。That is, in step S600, the work amount of each unit capable of sharing the assignment is checked, and as a result, when it is determined in step S602 that the number of sound channels is small and one unit can process the sound, in step S603. The physical address of the unit is set as ADDR. Then, in step S604, the program of the single assigner is extracted from the program server module, and set as a PROG in the register. Next, in step S606, the TG type (TGTyp) of each sounding unit is set.
e), the number of channels (CH Num), the physical address and the logical address are set in the register as additional information INFO, and in step S608, the logical address LADDR of this assigner unit is set to “5.0”. , The transmission command SCOM in step S610
Is set to "Prog Load", and the SCOM, PROG, INFO, and LADDR are transmitted to ADDR on the network in step S612. Thereby, the assigner processing of the assigner constituted by a single unit becomes possible. The reason why the logical address is set to “5.0” is that it is not necessary to use the broadcast in the assigner, and the main assigner (when there is one assigner, the assigner becomes the main assigner) generates a sound generation request. This is because transmission is sufficient.
【0039】上記ステップS602で1つのアサイナで
は仕事量が多過ぎると判断された場合は、ステップS6
14に進み、各発音ユニット(TG)のTGタイプおよ
び発音チャンネル数に応じて発音ユニットを複数のグル
ープに分割する。この分割は、例えば波形メモリ方式を
アサインするもの、DSPシミュレーション音源方式を
アサインするものとで分割する。あるいは、手演奏(K
Bから)と自動演奏をアサインするもので分割する、単
に1/2に分割する等のいずれの分割方法でも良い。こ
のようにして、分割されたグループのグループナンバg
nを「1」とするようステップS616にて設定し、ス
テップS618にて、このグループナンバgnの発音チ
ャンネルにアサインを行うユニットを決定し、ステップ
S620にてそのアサインユニットの物理アドレスをA
DDRとして設定する。そして、ステップS622にて
発音ユニットのグループナンバgnに必要なプログラム
をプログラムサーバモジュールから取り出し、PROG
としてレジスタに設定する。If it is determined in step S602 that one assigner has too much work, step S6
Proceeding to 14, the sounding units are divided into a plurality of groups according to the TG type of each sounding unit (TG) and the number of sounding channels. This division is performed, for example, by assigning a waveform memory method or by assigning a DSP simulation sound source method. Or hand performance (K
Any of the division methods, for example, division by assigning an automatic performance to (from B), or simply dividing into 1/2. Thus, the group number g of the divided group
In step S616, n is set to "1". In step S618, a unit to be assigned to the sound channel of this group number gn is determined. In step S620, the physical address of the assigned unit is set to A.
Set as DDR. Then, in step S622, a program required for the group number gn of the sounding unit is extracted from the program server module, and
Is set in the register.
【0040】次に、ステップS624にてグループナン
バgn中の各発音ユニットのTGタイプ(TG Type)、
チャンネル数(CH Num )、および物理アドレスおよび
論理アドレスが付加情報INFOとしてレジスタに設定
される。次に、ステップS626にてグループナンバg
nをアサインするアサイナの論理アドレスLADDR
が、『5.gn』(この場合、『5.1』となる)に設
定されると共に、ステップS628にて送信コマンドS
COMが“Prog Load”とされて、ステップS612に
て上記SCOM,PROG,INFO,LADDRをネ
ットワーク上のADDRに送信する。ここで、残りのグ
ループがある時はステップS632で判断されグループ
ナンバgnがgn+1にインクリメントされて、ステッ
プS618に戻り、上記処理が、残りグループがなくな
るまで繰り返し行われる。残りグループがなくなると、
ステップS636に進みメタアサイナの処理が行われ
る。Next, in step S624, the TG type of each sounding unit in the group number gn,
The number of channels (CH Num), the physical address and the logical address are set in the register as additional information INFO. Next, in step S626, the group number g
logical address LADDR of the assigner that assigns n
But "5. gn ”(in this case,“ 5.1 ”), and in step S628, the transmission command S
COM is set to “Prog Load”, and in step S612, the above SCOM, PROG, INFO, and LADDR are transmitted to ADDR on the network. Here, when there is a remaining group, the judgment is made in step S632, the group number gn is incremented to gn + 1, the process returns to step S618, and the above processing is repeated until there is no remaining group. When there are no more groups left,
Proceeding to step S636, meta-assigner processing is performed.
【0041】すなわち、ステップ636にてメタアサイ
ンを行うユニットを決定し、ステップS638にて、そ
のメタアサインユニットの物理アドレスをADDRとし
て設定する。そして、ステップS640にてメタアサイ
ナのプログラムをプログラムサーバモジュールから取り
出し、PROGとしてレジスタに設定する。次に、ステ
ップS642にてアサイナとなった各ユニットの物理ア
ドレスあるいは論理アドレス、および各アサイナのアサ
イン条件が付加情報INFOとしてレジスタに設定され
る。次に、ステップS644にてメタアサイナの論理ア
ドレスLADDRが『5.0』に設定されると共に、ス
テップS646にて送信コマンドSCOMが“Prog Lo
ad”とされて、ステップS648にて上記SCOM,P
ROG,INFO,LADDRをネットワーク上のAD
DRに送信する。That is, in step 636, a unit to be meta-assigned is determined, and in step S638, the physical address of the meta-assign unit is set as ADDR. Then, in step S640, the meta-assigner program is extracted from the program server module and set as a PROG in the register. Next, in step S642, the physical address or logical address of each unit assigned as an assigner, and the assignment condition of each assigner are set in a register as additional information INFO. Next, the logical address LADDR of the meta-assigner is set to “5.0” in step S644, and the transmission command SCOM is set to “Prog Lo” in step S646.
ad ”, and in step S648, the above SCOM, P
ROG, INFO, LADDR on the network AD
Send to DR.
【0042】これにより、メタアサイナおよびグループ
のアサイナの処理が可能になる。なお、図7にメタアサ
イナのアサイン条件のテーブル例を示す。この図におけ
るテーブルは、例えばキーボード(KB)からの発音要
求、自動演奏からの発音要求、MIDI1〜8ch、M
IDI9〜16chから発音要求をアサイン条件として
分割したグループ、分割されたグループをそれぞれアサ
インするアサイナユニットの物理アドレスをテーブルと
している。Thus, the processing of the meta assigner and the group assigner can be performed. FIG. 7 shows an example of a table of assignment conditions for the meta-assigner. The table in this figure includes, for example, a sound generation request from a keyboard (KB), a sound generation request from an automatic performance, MIDI 1 to 8 ch, M
The table is made up of a group obtained by dividing sound generation requests from IDIs 9 to 16 as assignment conditions, and physical addresses of assigner units to which the divided groups are assigned.
【0043】図16にはKB(キーボード)処理のフロ
ーチャートを示す。キーボードには、例えばタッチレス
ポンスの機能のついているものやついていないもの、ア
フタタッチ機能のついているものやいないもの、キーボ
ードの横にピッチベンドホイールがついているものやい
ないもの、等の種々の制御タイプのキーボードがあるた
め、これらのデータをとり出して、これに応じたプログ
ラムを割り当てるようにしている。まず、ステップS7
00にて、カウンタcoが「1」に設定される。このカ
ウンタcoの値は論理アドレスの下位データと使用さ
れ、下位データの「0」がブロードキャストに使用され
るため、「1」からカウントするようにされる。FIG. 16 is a flowchart of a KB (keyboard) process. Keyboards have various control types, for example, those with or without touch response function, those with or without after-touch function, and those with or without pitch bend wheel beside the keyboard. Since there is a keyboard, these data are extracted and a program is assigned according to the data. First, step S7
At 00, the counter co is set to "1". The value of the counter co is used as the lower data of the logical address, and since the lower data “0” is used for the broadcast, the counter co is counted from “1”.
【0044】次にステップS705に進み、まだ処理さ
れずに残っているキーボードを含むユニットのデータが
バッファに残っているかが判断される。この場合は、シ
ステムの立ち上げ時であり、図13に示すステップS4
10において、キーボードが1つ以上存在することが確
認されているため、ステップS710に進んで、バッフ
ァからDEV=“KB”である情報を1つ取り出し、ス
テップS715にてそのキーボードを含むユニットの物
理アドレスをADDRとして設定する。次に、このキー
ボードを含むユニットから詳細情報を取り出すために送
信コマンドSCOMに“Data Req ”を設定して、この
SCOMをネットワーク上のADDRに送信する。する
と、このSCOMは上記バッファから取り出されたキー
ボードを含むユニットにより受信され、このキーボード
を含むユニットは接続されたキーボードの制御タイプ
と、ホイール等の操作子のデータをメインユニットに返
送する。メインユニットはステップS735にてこのユ
ニットから送信された制御タイプデータをカウンタ値
「1」のKB TYPEとして記憶し、操作子データをカウン
タ値「1」のCnt として記憶する。以上のステップがキ
ーボードからデータを読み出す処理であり、以降のステ
ップが取り出したデータを元にキーボードにプログラム
を割り当てる処理である。Next, the flow advances to step S705 to determine whether or not data of a unit including a keyboard which has not been processed yet remains in the buffer. In this case, the system is started up, and step S4 shown in FIG.
In step S710, it is confirmed that one or more keyboards are present. Therefore, the process proceeds to step S710, where one piece of information with DEV = “KB” is extracted from the buffer, and in step S715, the physical information of the unit including the keyboard is obtained. Set the address as ADDR. Next, "Data Req" is set in the transmission command SCOM to extract detailed information from the unit including the keyboard, and this SCOM is transmitted to ADDR on the network. Then, the SCOM is received by the unit including the keyboard extracted from the buffer, and the unit including the keyboard returns the control type of the connected keyboard and the data of the operation device such as the wheel to the main unit. In step S735, the main unit stores the control type data transmitted from this unit as the KB TYPE of the counter value "1", and stores the operator data as the Cnt of the counter value "1". The above steps are processing for reading data from the keyboard, and the following steps are processing for assigning a program to the keyboard based on the extracted data.
【0045】すなわち、ステップS740にて上記記憶
されたKb TYPEおよび操作子データCnt に応じた制御プ
ログラムをプログラムサーバモジュールから取り出し
て、PROGとしてレジスタに設定する。さらに、ステ
ップS742にてこのユニットの論理アドレスLADD
Rとして『1.co』(この場合、『1.1』となる)
を設定し、ステップS745にて、図15で示すアサイ
ナ処理で記憶された、主アサイナの物理アドレスを付加
情報INFOとしてレジスタに設定する。この場合の主
アサイナとはアサイナが単独のユニットで構成されてい
る場合は、そのユニットの物理アドレスであり、複数の
ユニットで構成されている時は、メタアサイナの物理ア
ドレスとなる。That is, in step S740, a control program corresponding to the stored Kb TYPE and operator data Cnt is taken out of the program server module and set as a PROG in a register. Further, in step S742, the logical address LADD of this unit is
As R, "1. co "(in this case," 1.1 ")
In step S745, the physical address of the main assigner stored in the assigner process shown in FIG. 15 is set in the register as additional information INFO. In this case, the main assigner is the physical address of the unit when the assigner is composed of a single unit, and is the physical address of the meta-assigner when the assigner is composed of a plurality of units.
【0046】次に、ステップS750にて送信コマンド
SCOMとして“Prog Load”を設定すると共に、ステ
ップS755にて、上記SCOM,PROG,INF
O,LADDRをネットワーク上のADDRに送信す
る。そして、ステップS760に進みカウンタcoの値
が1つインクリメントされてco+1とされて、ステッ
プS705に戻り、未処理ユニットがなくなるまで上記
処理が繰り返し行われる。Next, in step S750, "Prog Load" is set as the transmission command SCOM, and in step S755, the above-mentioned SCOM, PROG, INF is set.
O, LADDR are transmitted to ADDR on the network. Then, the process proceeds to step S760, where the value of the counter co is incremented by one to be co + 1, and the process returns to step S705 to repeat the above process until there is no unprocessed unit.
【0047】次に、MIDI処理を図17に示す。この
処理は、まず、ステップS800にて、カウンタcoが
「1」に設定される。このカウンタcoの値は論理アド
レスの下位データと使用され、下位データの「0」がブ
ロードキャストに使用されるため、「1」からカウント
するようにされる。次にステップS810に進み、まだ
処理されずに残っているMIDIユニットのデータが残
っているかが判断される。未処理ユニットが残っている
場合は、ステップS820に進んで、そのMIDIユニ
ットの物理アドレスをADDRとして設定する。そし
て、ステップS830にてMIDI制御プログラムをプ
ログラムサーバモジュールから取り出して、PROGと
してレジスタに設定し、ステップS840にて、このM
IDIユニットの論理アドレスを『4.co』(この場
合、『4.1』となる)を設定し、ステップS850に
て、図15で示すアサイナ処理で記憶された、主アサイ
ナの物理アドレスを付加情報INFOとしてレジスタに
設定する。Next, the MIDI processing is shown in FIG. In this process, first, in step S800, the counter co is set to “1”. The value of the counter co is used as the lower data of the logical address, and since the lower data “0” is used for the broadcast, the counter co is counted from “1”. Next, the process proceeds to step S810, and it is determined whether or not there remains any MIDI unit data that has not been processed yet. If an unprocessed unit remains, the process proceeds to step S820, and the physical address of the MIDI unit is set as ADDR. Then, in step S830, the MIDI control program is extracted from the program server module and set as a PROG in a register.
The logical address of the IDI unit is changed to "4. co "(in this case," 4.1 "), and in step S850, the physical address of the main assigner stored in the assigner processing shown in FIG. 15 is set in the register as additional information INFO.
【0048】次に、ステップS860にて送信コマンド
SCOMとして“Prog Load”を設定すると共に、ステ
ップS870にて、上記SCOM,PROG,INF
O,LADDRをネットワーク上のADDRに送信す
る。そして、ステップS880に進みカウンタcoの値
が1つインクリメントされてco+1とされて、ステッ
プS810に戻り、未処理ユニットがなくなるまで上記
処理が繰り返し行われる。Next, "Prog Load" is set as the transmission command SCOM in step S860, and the SCOM, PROG, INF are set in step S870.
O, LADDR are transmitted to ADDR on the network. Then, the process proceeds to step S880, in which the value of the counter co is incremented by one to be co + 1, the process returns to step S810, and the above process is repeated until there are no unprocessed units.
【0049】なお、前記KB処理、MIDI処理におい
て、主アサイナの物理アドレスをキーボードを含むユニ
ットあるいはMIDIユニットに供給しているのは、主
アサイナの論理アドレス「5.0」を用いて通信を行っ
た場合には、データが論理アドレスを判断するルーチン
まで上がって検出されるため、ネットワークの負担にな
る。しかしながら、物理アドレスはネットワークの入口
のハードウェアで検出するようにすることが一般的であ
るため、物理アドレスで実現できるものはブロードキャ
ストを用いることなく、物理アドレスにより通信を行う
ようにした方が種々の点で有利であるからである。In the KB processing and the MIDI processing, the physical address of the main assigner is supplied to the unit including the keyboard or the MIDI unit because communication is performed using the logical address "5.0" of the main assigner. In such a case, since the data goes up to the routine for determining the logical address and is detected, the load on the network is increased. However, since the physical address is generally detected by the hardware at the entrance to the network, what can be realized by the physical address can be variously performed by using the physical address without using the broadcast. This is advantageous in that respect.
【0050】次に、パネル処理を図18に示す。この処
理においては、まず、ステップS900にて、カウンタ
coが「1」に設定される。このカウンタcoの値は論
理アドレスの下位データと使用され、下位データの
「0」がブロードキャストに使用されるため、「1」か
らカウントするようにされる。次にステップS910に
進み、まだ処理されずに残っているパネルを含むユニッ
トのデータが残っているか否かが判断される。未処理ユ
ニットが残っている場合は、ステップS920に進ん
で、そのパネルを含むユニットの物理アドレスをADD
Rとして設定する。そして、ステップS930にてパネ
ル制御プログラムをプログラムサーバモジュールから取
り出して、PROGとしてレジスタに設定し、ステップ
S940にてパネルを含むユニットの論理アドレスを
『2.co』(この場合、『2.1』となる)を設定
し、ステップS950にて、各発音ユニットの物理アド
レスあるいは論理アドレスを付加情報INFOとしてレ
ジスタに設定する。Next, panel processing is shown in FIG. In this process, first, in step S900, the counter co is set to “1”. The value of the counter co is used as the lower data of the logical address, and since the lower data “0” is used for the broadcast, the counter co is counted from “1”. Next, the process proceeds to step S910, where it is determined whether or not data of a unit including a panel that has not been processed remains. If an unprocessed unit remains, the process proceeds to step S920, and the physical address of the unit including the panel is added to ADD.
Set as R. Then, in step S930, the panel control program is extracted from the program server module and set as a PROG in the register. In step S940, the logical address of the unit including the panel is set to "2. co ”(in this case,“ 2.1 ”) is set, and in step S950, the physical address or the logical address of each sounding unit is set in the register as additional information INFO.
【0051】次に、ステップS960にて送信コマンド
SCOMとして“Prog Load”を設定すると共に、ステ
ップS970にて、上記SCOM,PROG,INF
O,LADDRをネットワーク上のADDRに送信す
る。そして、ステップS980に進みカウンタcoの値
が1つインクリメントされてco+1とされて、ステッ
プS910に戻り、未処理ユニットがなくなるまで上記
処理が繰り返し行われる。以上がメインユニット側のフ
ローチャートであり、次に、スレイブユニット側のフロ
ーチャートを示す。Next, "Prog Load" is set as the transmission command SCOM in step S960, and the SCOM, PROG, INF are set in step S970.
O, LADDR are transmitted to ADDR on the network. Then, the process proceeds to step S980, where the value of the counter co is incremented by one to be co + 1, and the process returns to step S910, where the above process is repeated until there are no unprocessed units. The above is the flowchart on the main unit side, and next, the flowchart on the slave unit side is shown.
【0052】図19はスレイブユニットブート処理のフ
ローチャートを示す。この処理においては、まずステッ
プS1000において周辺回路の初期化を行い、その後
ステップS1005にて、“Addr Req ”コマンドを送
信コマンドSCOMとして設定し、ステップS1010
にてこのSCOMをネットワーク上にブロードキャスト
し、所定時間メインユニットからの返答を待機するよう
にする。メインユニットからの返答があったことがステ
ップS1015にて判断された時は、ステップS102
0にて返答の送信元であるメインユニットの物理アドレ
スをMain ADとして記憶する。次からのステップは自ら
のデータを送るためのステップであり、ステップS10
25にて外部機器接続ポートを走査し、接続機器がある
ことがステップS1030で判断された時は、ステップ
S1035にて検出された接続機器のデバイス名をDE
Vとしてレジスタに設定しステップS1045に進む。FIG. 19 shows a flowchart of the slave unit boot process. In this processing, first, peripheral circuits are initialized in step S1000, and then, in step S1005, an “Addr Req” command is set as a transmission command SCOM, and in step S1010
Broadcasts this SCOM on the network and waits for a response from the main unit for a predetermined time. If it is determined in step S1015 that a response has been received from the main unit, the process proceeds to step S102.
At 0, the physical address of the main unit that is the source of the reply is stored as Main AD. The next step is a step for sending own data, and the step S10
25, the external device connection port is scanned. If it is determined in step S1030 that there is a connected device, the device name of the connected device detected in step S1035 is set to DE.
V is set in the register, and the flow advances to step S1045.
【0053】そして、外部機器が接続されていない時は
ステップS1040にて“NONE”をDEVとして設定し
て、 同様にステップS1045に進み、自ユニットの
CPUの処理スピードをSPEEDとしてレジスタに設
定し、ステップS1050にて初期化を要求する“INI
T”コマンドを送信コマンドSCOMとして設定する。
次に、ステップS1055にて上記SCOM,DEV,
SPEEDをネットワーク上のMain ADに送信する。上
記SPEEDデータはそのスレイブユニットがアサイン
ユニットとされる時にメタアサインとするかどうかの判
断材料となる。また、外部機器として例えば、鍵盤KB
とパネルPNが接続されいる時は、DEVをKB/PN
として2つのデバイスを設定することもできる。次に、
ステップS1060にてメインユニットから送信されて
くるプログラム等のデータを待つべく、ネットワークジ
ョブを立ち上げてスレイブユニットブート処理が終了す
る。If no external device is connected, "NONE" is set as DEV in step S1040, and similarly, the flow advances to step S1045 to set the processing speed of the CPU of the own unit in the register as SPEED. In step S1050, an initialization request “INI
The command "T" is set as the transmission command SCOM.
Next, in step S1055, the above SCOM, DEV,
Send SPEED to Main AD on the network. The SPEED data is a material for determining whether or not the slave unit is a meta-assign when the slave unit is assigned. As an external device, for example, a keyboard KB
When PAN is connected to panel PN, DEV is KB / PN
, Two devices can be set. next,
In step S1060, a network job is started to wait for data such as a program transmitted from the main unit, and the slave unit boot process ends.
【0054】次に、このネットワークジョブ処理のフロ
ーチャートを図20に示す。この処理においては、ステ
ップS1100においてスレイブユニットのインタフェ
ースが走査されて、ステップS1110にてパケットが
受信されたか否かが判断され、パケットが受信されるま
でインタフェースの走査が繰り返し行われる。そして、
パケットが受信されると、ステップS1120にて受信
データの組立が行われる。これは、データ量がプログラ
ムのように大量の場合は複数のパケットに分割されてデ
ータが送信されてくるため、分割されたデータを元に組
み立てる処理をこのステップにより行うためである。従
って、データが組み立てられるまでインタフェースを走
査して繰り返しパケットを取り込むようにしている。Next, FIG. 20 shows a flowchart of the network job processing. In this process, the interface of the slave unit is scanned in step S1100, it is determined in step S1110 whether a packet has been received, and the scanning of the interface is repeated until the packet is received. And
When the packet is received, the reception data is assembled in step S1120. This is because, when the data amount is large, such as a program, the data is transmitted after being divided into a plurality of packets, so that the process of assembling the divided data based on this step is performed in this step. Therefore, the interface is scanned until the data is assembled, and the packet is repeatedly taken.
【0055】このようにして、受信データが組み立てら
れたことがステップS1130で判断されると、ステッ
プS1140にて論理アドレスがあるか否かが判断され
る。論理アドレスはプログラムの転送と同時にメインユ
ニットから割り当てられるため、プログラムがロードさ
れたあとは論理アドレスがあることになる。すなわち、
この場合はプログラムロード状態となっているため、ス
テップS1160にて対応するジョブにデータを渡せる
状態となっていることになる。そして、論理アドレスが
ない場合はプログラムが未だロードされていない状態な
ので、ステップS1150にてプログラムをロードする
等のジョブアサイン処理が行われる。次に、ステップS
1170に進み、以上のステップによる処理を実行した
結果、データを送信する時は、そのデータ送信要求に応
じて対応するアドレスにデータを送信する。すなわち、
ジョブがデータを送りたい場合にはそのデータ長に応じ
て複数のパケットの形にしたり、送信先の物理アドレス
を設定して送る等の処理を行う。このように、このネッ
トワークジョブ処理はデータを受信するだけでなくデー
タを送信する処理も行うと共に、この処理は立ち上げ時
だけではなく通常のルーチンワークの処理も行う。When it is determined in step S1130 that the received data has been assembled in this way, it is determined in step S1140 whether or not there is a logical address. Since the logical address is assigned from the main unit at the same time as the transfer of the program, there is a logical address after the program is loaded. That is,
In this case, since the program has been loaded, the data can be passed to the corresponding job in step S1160. If there is no logical address, the program has not been loaded yet, and a job assignment process such as loading the program is performed in step S1150. Next, step S
Proceeding to 1170, as a result of executing the processing in the above steps, when transmitting data, the data is transmitted to the corresponding address in response to the data transmission request. That is,
When the job wants to send data, processing such as forming a plurality of packets according to the data length or setting and sending a physical address of a transmission destination is performed. As described above, this network job processing not only receives data but also performs data transmission processing, and this processing performs not only the start-up but also the normal routine work processing.
【0056】次に、図21にステップS1150のジョ
ブアサイン処理で呼び出されるフローチャートを示す。
この処理は、ステップS1120で組み立てられた受信
データより受信コマンドRCOMを抽出し、このRCO
Mが“Data Req ”コマンドであるかどうかがステップ
S1210にて判断される。RCOMが“Data Req”
コマンドである時はステップS1220にて“Data An
s ”コマンドが送信コマンドSCOMとして設定され、
ステップS1230にてこのSCOMおよび自ユニット
の処理速度SPPEDや接続機器データDEVをネット
ワーク上のMainADに送信する。Next, FIG. 21 shows a flowchart called in the job assignment process in step S1150.
In this process, the reception command RCOM is extracted from the reception data assembled in step S1120,
It is determined in step S1210 whether M is a “Data Req” command. RCOM is “Data Req”
If it is a command, “Data An
s "command is set as the transmission command SCOM,
In step S1230, this SCOM, the processing speed SPPED of its own unit, and the connected device data DEV are transmitted to MainAD on the network.
【0057】また、RCOMが“Data Req ”コマンド
ではない場合はステップS1240にて、“Prog Roa
d”コマンドであるか否かが判断され、“Prog Road”
コマンドである場合は、ステップS1250にて受信デ
ータよりプログラムPROG,付加情報INFO,論理
アドレスLADDRが抽出され、プログラムPROGを
そのユニットのCPUが実行可能なようにRAMにロー
ドする。この実行可能なようにロードするとは、例えば
発音アサイナのプログラムを読み込んだ場合は、読み込
んだだけでは発音ユニットの最大発音数等がわからない
ため、どれをどこにアサインするのかわからない。この
ため、これらのデータをINFOから得て、アサイナに
設定されたチャンネル数等をスキャンできるようにプロ
グラムを変更する等の処理を含んでいる。そして、ステ
ップS1270にて初期化ジョブを実行する。この初期
化ジョブはステップS1260にてロードされたプログ
ラム中にプログラムされている。このようにして、受信
コマンドRCOMが“ProgRoad”コマンドでない場合と
同様に、ジョブアサイン処理は終了する。If the RCOM is not the "Data Req" command, the "Prog Roa" is determined in step S1240.
It is determined whether the command is a “d” command and “Prog Road”
If it is a command, the program PROG, additional information INFO, and logical address LADDR are extracted from the received data in step S1250, and the program PROG is loaded into the RAM so that the CPU of the unit can execute the program PROG. To load the program so that it can be executed, for example, when a program for the pronunciation assigner is read, the maximum number of pronunciations of the pronunciation unit and the like cannot be known only by reading the program. Therefore, the processing includes obtaining these data from the INFO and changing the program so that the number of channels set in the assigner can be scanned. Then, an initialization job is executed in step S1270. This initialization job is programmed in the program loaded in step S1260. In this way, the job assignment process ends as in the case where the received command RCOM is not the “ProgRoad” command.
【0058】次に、図22にスキャンユニット初期化ジ
ョブのフローチャートを示す。この処理は、まず、スキ
ャンしたデータを主アサイナに送信するため、ステップ
S1300にて付加情報INFOより主アサイナの物理
アドレスを取り出し、ステップS1310にてKBジョ
ブを立ち上げ、この初期化ジョブは終了する。Next, FIG. 22 shows a flowchart of the scan unit initialization job. In this process, first, in order to transmit the scanned data to the main assigner, the physical address of the main assigner is extracted from the additional information INFO in step S1300, a KB job is started in step S1310, and the initialization job ends. .
【0059】図23にKBジョブのフローチャートを示
す。このジョブは、ステップS1400にて外部機器接
続ポートを走査して、ステップS1410にて走査した
データと前回の走査のデータとを比較して、ステップS
1420にて両データの間に一致しないデータがある時
はキーイベントがあるものと判断する。そして、キーイ
ベントが複数ある場合はステップS1430にてその内
の1つのイベントを取り出し、主アサイナに送信するた
めの処理を順次行う。すなわち、ステップS1440に
て“Note On”コマンドあるいは“Note Off ”コマン
ドを送信コマンドSCOMとして設定し、ステップS1
450にてキーの音高情報やキータッチ情報をDATA
としてレジスタに設定した後、ステップS1460にて
SCOM,DATAをネットワーク上の前記スキャンユ
ニット初期化ジョブで記憶した主アサイナの物理アドレ
スに送信する。この後、キーイベントに残りがあればス
テップS1470にて判断されて、ステップS1430
に戻り上記処理が繰り返し行われる。キーイベントの残
りがなくなれば、キーイベントがない場合と同様にKB
ジョブは終了する。これらのジョブは割り込みにより繰
り返し実行される。FIG. 23 shows a flowchart of the KB job. This job scans the external device connection port in step S1400, compares the data scanned in step S1410 with the data of the previous scan, and executes step S1400.
If there is data that does not match between the two data in 1420, it is determined that there is a key event. If there are a plurality of key events, one of the events is extracted in step S1430, and processing for transmitting the events to the main assigner is sequentially performed. That is, in step S1440, the "Note On" command or "Note Off" command is set as the transmission command SCOM, and in step S1
Data of key pitch information and key touch information at 450
In step S1460, SCOM and DATA are transmitted to the physical address of the main assigner stored in the scan unit initialization job on the network in step S1460. Thereafter, if there is any remaining key event, it is determined in step S1470, and step S1430 is performed.
And the above processing is repeated. If there are no more key events left, KB will be the same as if there were no key events
The job ends. These jobs are repeatedly executed by interruption.
【0060】次に、メタアサイナ初期化ジョブのフロー
チャートを図24に示す。この処理のステップS150
0において、付加情報INFOより例えば図7に示すよ
うなメタアサイナのアサイン条件テーブルを作成し、初
期化ジョブは終了する。図25にメタアサインジョブの
フローチャートを示すが、このジョブにはキーボード等
からのノートオン処理やノートオフ処理の信号が送りつ
けられる。そこで、ステップS1600にて受信データ
より各種の情報を取り出し、ステップS1610にて前
記メタアサイナ初期化ジョブで作成したメタアサイナの
アサイン条件テーブルを参照してこの条件に合致するア
サインモジュールの論理アドレスを得る。そして、ステ
ップS1620にてこの論理アドレスに受信データを転
送する。この場合、データがネットワークに送出される
のは前記図20に示すネットワークジョブ処理のステッ
プS1170にて行われるが、このステップではテーブ
ルを参照して上記論理アドレスを物理アドレスに変更し
てパケットを作成し、物理アドレスによりデータを送信
するようにしている。Next, FIG. 24 shows a flowchart of the meta-assigner initialization job. Step S150 of this process
At 0, an assignment condition table of a meta-assigner, for example, as shown in FIG. 7 is created from the additional information INFO, and the initialization job ends. FIG. 25 shows a flowchart of a meta-assignment job. A signal of a note-on process or a note-off process from a keyboard or the like is sent to this job. Therefore, in step S1600, various types of information are extracted from the received data, and in step S1610, the logical address of the assigning module that matches this condition is obtained by referring to the assignment condition table of the metaassigner created by the metaassigner initialization job. Then, in step S1620, the received data is transferred to this logical address. In this case, the data is sent to the network in step S1170 of the network job processing shown in FIG. 20. In this step, a packet is created by changing the logical address to a physical address with reference to the table. Then, data is transmitted by the physical address.
【0061】次に、アサイナ初期化ジョブのフローチャ
ートを図26に示す。この処理のステップS1700に
おいて、付加情報INFOより例えば図8に示すような
アサイナのアサインテーブルを作成し、初期化ジョブは
終了する。このアサインテーブルにおいて、発音ユニッ
トはそれぞれ4チャンネルのユニット1およびユニット
2とされており、このユニット番号が論理アドレスとさ
れ、ユニット固有のアドレスがその物理アドレスとされ
ると共に、1〜4の番号は発音チャンネル番号とされて
いる。Next, a flowchart of the assigner initialization job is shown in FIG. In step S1700 of this process, for example, an assigner assignment table as shown in FIG. 8 is created from the additional information INFO, and the initialization job ends. In this assignment table, the sounding units are respectively defined as a unit 1 and a unit 2 of four channels. The unit number is used as a logical address, the unit-specific address is used as its physical address, and the numbers 1 to 4 are used. It is the pronunciation channel number.
【0062】図27にアサイナジョブのフローチャート
を示す。この処理においては、ステップS1800にて
受信データより各種の情報を取り出し、ステップS18
10にて前記アサイナ初期化ジョブで作成したアサイナ
のアサインテーブルを参照して、ステップS1820に
て特定のユニット番号と発音チャンネル番号にアサイン
するようにする。そして、ステップS1830にて発音
を割り当てる発音ユニットの論理アドレスをLAとして
設定し、ステップS1840にて、付加情報INFOと
して受信データDATAの音高情報とタッチ情報の内
容、アサインタイプ、音色情報、発音を割り当てる発音
ユニット内の発音チャンネル番号を設定する。そして、
ステップS1850にて“Note On”コマンドあるいは
“Note Off ”コマンドを送信コマンドSCOMとし
て、INFOをネットワーク上の論理アドレスLAに送
信し、アサイナジョブは終了する。ただし、この送信は
前記と同様に図20に示すステップS1170にて論理
アドレスが物理アドレスに変更されて行われる。FIG. 27 shows a flowchart of the assigner job. In this process, various information is extracted from the received data in step S1800, and the process proceeds to step S18.
In step S1820, a specific unit number and a sound channel number are assigned with reference to the assigner assignment table created in the assigner initialization job in step S1820. In step S1830, the logical address of the sounding unit to which sound is assigned is set as LA. In step S1840, as additional information INFO, the pitch information of the received data DATA and the content of the touch information, the assignment type, the tone color information, and the sounding are set. Set the sound channel number within the sound unit to be assigned. And
In step S1850, the INFO is transmitted to the logical address LA on the network using the “Note On” command or the “Note Off” command as the transmission command SCOM, and the assigner job ends. However, this transmission is performed by changing the logical address to the physical address in step S1170 shown in FIG.
【0063】次に、図28に発音ユニット初期化ジョブ
のフローチャートを示す。このジョブは、ステップS1
900にて楽音合成回路の初期化を行い、回路をクリア
することにより前回のデータによる異音の発生を防止し
ている。そして、ステップS1910にてメインユニッ
トから送信された付加情報INFOよりオーディオユニ
ットの物理アドレスを取り出す。さらに、オーディオ出
力ジョブの立ち上げをステップS1920で行い、DS
Pを用いたシミュレーション音源のようにマイクロプロ
グラムが与えられた場合は、ステップS1930にて与
えられたマイクロプログラムをマイクロプログラム用メ
モリへ転送している。これにより、発音ユニット初期化
ジョブは終了する。Next, FIG. 28 shows a flowchart of the tone generation unit initialization job. This job is executed in step S1
At 900, the tone synthesis circuit is initialized and the circuit is cleared to prevent the generation of abnormal noise due to the previous data. Then, in step S1910, the physical address of the audio unit is extracted from the additional information INFO transmitted from the main unit. Further, launching of an audio output job is performed in step S1920, and DS
When a microprogram is given as in a simulation sound source using P, the given microprogram is transferred to the microprogram memory in step S1930. Thus, the sounding unit initialization job ends.
【0064】図29にノートオンジョブのフローチャー
トを示す。このジョブにおいて、ステップS2000に
てアサインジョブにより送信されてきた付加情報INF
Oより情報を取り出して、ATとしてAsign Type、KC
としてKey Code、ITとしてInitial Touch 、ACとし
てAssign Channel を設定する。このアサインタイプ
は、例えばDSPを用いたシミュレーション音源方式の
場合は、図28に示すステップS1930にてマイクロ
プログラムが与えられることにより、音色が決定されて
いる。しかしながら、この音色はマイクロプログラムを
変更しなければ変更することができないことから、この
方式をスタティックなアサインタイプとし、例えば波形
メモリ方式は音色コードを送ることにより音色を変更す
ることができることから、ダイナミックなアサインタイ
プとしている。これにより、ダイナミックなアサインタ
イプの場合は、キーオン毎にあるいは発音割当毎に音色
を変えることができる。FIG. 29 shows a flowchart of the note-on job. In this job, the additional information INF transmitted by the assignment job in step S2000
Take out the information from O and assign it as AT, Asign Type, KC
As Key Code, IT as Initial Touch, and AC as Assign Channel. In the case of this assignment type, for example, in the case of a simulation sound source system using a DSP, the timbre is determined by giving a microprogram in step S1930 shown in FIG. However, since this tone cannot be changed without changing the microprogram, this method is of a static assign type. For example, in the waveform memory method, the tone can be changed by sending a tone code, so that the dynamic tone can be changed. Assignment type. As a result, in the case of a dynamic assignment type, the timbre can be changed for each key-on or for each sound generation assignment.
【0065】そこで、ステップS2010にてアサイン
タイプATが“Dynamic ”と判断された場合は、ステッ
プS2020にて、付加情報INFOより音色情報Tone
Color を取り出してTCとして設定する。次に、ステ
ップS2030にてこの音色コードTCを発音チャンネ
ルACに送り、さらに、アサインタイプがスタティック
な時と同様に、ステップS2040にて発音チャンネル
ACにキーコードKC,イニシャルタッチ情報IT、キ
ー音信号KONを送り発音ユニットより発音が開始され
るようにする。そして、ノートオンジョブは終了する。If it is determined in step S2010 that the assign type AT is "Dynamic", then in step S2020, the tone color information Tone is obtained from the additional information INFO.
Extract Color and set it as TC. Next, in step S2030, the tone color code TC is sent to the tone generation channel AC, and the key code KC, the initial touch information IT, and the key tone signal are assigned to the tone generation channel AC in step S2040, as in the case where the assign type is static. KON is sent so that sounding is started from the sounding unit. Then, the note-on job ends.
【0066】次に、図30に示すノートオフジョブにお
いては、ステップS2100にて送信されてきた付加情
報INFOよりAssign Channel を取り出してACとし
て設定し、ステップS2110にて、その発音チャンネ
ルACにキーオフ信号OFFを送ることにより発音を停
止させる。これによりノートオフジョブは終了する。ま
た、全発音を止めるオールノートオフジョブの場合は、
ネットワーク上に論理アドレス「3.0」のブロードキ
ャストにより、キーオフ信号KOFFを送信すると、図
31に示すようにステップ2200にて、全発音チャン
ネルに受信されたキーオフ信号OFFが送られ、すべて
の発音チャンネルよりの発音が停止される。さらに、図
28に示すステップS1920にて立ち上げるオーディ
オ出力ジョブを図32に示す。このジョブは、ステップ
S2300にて楽音合成回路の出力ディジタルデータを
パケット化しオーディオユニットへ送信するジョブであ
る。Next, in the note-off job shown in FIG. 30, an Assign Channel is extracted from the additional information INFO transmitted in step S2100 and set as AC. In step S2110, a key-off signal is sent to the sound generation channel AC. The sound is stopped by sending OFF. This ends the note-off job. In the case of an all-notes-off job that stops all sounds,
When the key-off signal KOFF is transmitted on the network by broadcasting the logical address "3.0", the received key-off signal OFF is transmitted to all the sounding channels in step 2200 as shown in FIG. Is stopped. Further, FIG. 32 shows an audio output job started in step S1920 shown in FIG. This job is a job for packetizing the output digital data of the tone synthesis circuit in step S2300 and transmitting it to the audio unit.
【0067】以上で各フローチャートの説明を終わる
が、1つのユニットの処理能力に余裕があれば、複数の
機能を1ユニットに割り当てることができる。例えば、
1つのユニットに鍵スキャンのプログラムと発音割当の
プログラムとを割当て同時に動作させることができる。
これらのプログラムは割り込みなどにより時分割マルチ
タスクで処理される。このように複数の機能を割当てる
場合、単純に処理能力のあるものにランダムにプログラ
ムを割り当てるのではなく、処理に関連のあるものを割
り当てるようするとよい。すなわち、上記のように割り
当てると鍵スキャンからの情報はネットワークを介する
ことなく、発音割当のプログラムに転送されるので、レ
スポンスが向上するだけでなく、ネットワークのトラフ
ィックを減少させることができる。ただし、この場合
は、ネットワークに送信する前に、自ユニット中に対象
の機能が存在するか否かを調べて、存在する場合にはネ
ットワークに通信しない手段をプログラムに付加するよ
うにする。The description of each flowchart is completed above, but if the processing capacity of one unit has room, a plurality of functions can be assigned to one unit. For example,
A key scan program and a sound assignment program can be assigned to one unit and operated simultaneously.
These programs are processed by time-division multitasking by interruption or the like. When allocating a plurality of functions as described above, it is preferable to allocate a program related to a process instead of simply allocating a program to a device having a processing capability at random. That is, when the assignment is performed as described above, the information from the key scan is transferred to the pronunciation assignment program without passing through the network, so that not only the response is improved but also the traffic on the network can be reduced. However, in this case, before transmitting to the network, it is checked whether or not the target function exists in the own unit, and if it exists, means for not communicating with the network is added to the program.
【0068】また、発音チャンネル数が増加すると、通
常の発音割当アルゴリズムでは発音チャンネル数Nに比
例して処理時間が増加するが、メタアサインユニットが
理想的であった場合(オーバヘッドが0で、割当が均一
に分割される場合)、理論的にはNlogNの時間で処
理を行うことができる。しかしながら、実際にはオーバ
ヘッドがあるのでここまで処理は効率化できないが、さ
らにメタアサインユニットを多段に構成すると、アサイ
ンをさらに高速にすることができる。この場合、メタア
サインユニット、メタメタアサインユニット(メタアサ
インユニットにアサインするためのユニット)とを同一
のモジュール中で構成すると、通信によるオーバヘッド
を極力少なくすることができる。When the number of sound channels increases, the processing time increases in proportion to the number N of sound channels in a normal sound assignment algorithm. However, when the meta-assign unit is ideal (the overhead is 0 and the Can be theoretically processed in NlogN times. However, the processing cannot be made so efficient because of the overhead, but if the meta-assignment unit is configured in multiple stages, the assignment can be made even faster. In this case, if the meta assignment unit and the meta assignment unit (unit for assigning to the meta assignment unit) are configured in the same module, the overhead due to communication can be reduced as much as possible.
【0069】以上説明したように、本発明の電子楽器ネ
ットワークシステムは、ネットワークに接続される複数
の処理ユニットと、この複数の処理ユニットの処理能力
や、外部接続機器が接続されているか等の状態を検出
し、検出された状態に応じて、上記複数の処理ユニット
のそれぞれに少なくとも一つの処理を割り当てる、上記
ネットワークに接続される割り当て手段とを備え、上記
割り当てられた処理に応じて、上記複数の処理ユニット
が協調して動作するようにしたものである。As described above, in the electronic musical instrument network system of the present invention, a plurality of processing units connected to the network, the processing capabilities of the plurality of processing units, and the state of whether or not an externally connected device is connected. And allocating at least one process to each of the plurality of processing units in accordance with the detected state, and allocating means connected to the network. Are operated in cooperation with each other.
【0070】また、本発明の電子楽器ネットワークシス
テムは、各処理を行うためのプログラムを各種記憶して
いる記憶手段と、処理の割当に応じて必要なプログラム
を割り当てられたユニットに転送する手段とをさらに備
えるものである。さらに、本発明の電子楽器ネットワー
クシステムは、ネットワーク上の各発音ユニットの発音
チャンネル数を検出する手段と、この手段により検出さ
れた検出結果に応じて発音割当を管理する発音割り当て
用のテーブルを作成する作成手段と、作成されたテーブ
ルによって発音をネットワーク上の所定のユニットに割
り当てる割当手段とをさらに備えるものである。さらに
また、本発明の電子楽器ネットワークシステムは、複数
の発音チャンネルを複数のグループに分割し、この複数
のグループ毎に発音割当を行う複数の発音割当手段と、
所定の条件に応じて1つの発音割当手段を選択する選択
手段とをさらに備えるものである。Further, the electronic musical instrument network system according to the present invention has a storage means for storing various programs for performing the respective processes, and a means for transferring the necessary programs to the allocated units in accordance with the allocation of the processes. Is further provided. Further, the electronic musical instrument network system of the present invention creates means for detecting the number of sound channels of each sound unit on the network, and a sound assignment table for managing sound assignment according to the detection result detected by the means. And a allocating means for allocating pronunciation to a predetermined unit on the network based on the generated table. Still further, the electronic musical instrument network system of the present invention divides a plurality of sound channels into a plurality of groups, and a plurality of sound assigning means for assigning sounds for each of the plurality of groups;
Selecting means for selecting one sounding assigning means according to a predetermined condition.
【0071】[0071]
【発明の効果】本発明は以上のように構成されているの
で、従来一つの電子楽器で処理していた複数の処理を、
ネットワークに接続した各ユニットに自動的に分散させ
ることができるため、各種の拡張が可能になると共に、
ネットワーク上の資源を有効に利用することができる電
子楽器ネットワークシステムを実現することができる。Since the present invention is configured as described above, a plurality of processes conventionally performed by one electronic musical instrument can be performed.
Because it can be automatically distributed to each unit connected to the network, various expansions are possible,
An electronic musical instrument network system that can effectively use resources on the network can be realized.
【図1】 本発明の電子楽器ネットワークシステムの全
体概念図である。FIG. 1 is an overall conceptual diagram of an electronic musical instrument network system of the present invention.
【図2】 DSPを用いた音源ユニットのブロック図で
ある。FIG. 2 is a block diagram of a sound source unit using a DSP.
【図3】 波形メモリ方式の音源ユニットのブロック図
である。FIG. 3 is a block diagram of a waveform memory type sound source unit.
【図4】 汎用ユニットのブロック図である。FIG. 4 is a block diagram of a general-purpose unit.
【図5】 論理アドレス対照表である。FIG. 5 is a logical address comparison table.
【図6】 パケットの例を示す図である。FIG. 6 is a diagram illustrating an example of a packet.
【図7】 メタアサイナのアサイン条件テーブルの例を
示す図である。FIG. 7 is a diagram illustrating an example of an assignment condition table of a meta-assigner.
【図8】 アサイナのアサインテーブルの例を示す図で
ある。FIG. 8 is a diagram showing an example of an assigner assignment table.
【図9】 本発明の電子楽器ネットワークシステムの全
体の動作の概要を示す図である。FIG. 9 is a diagram showing an outline of the overall operation of the electronic musical instrument network system of the present invention.
【図10】 メインユニットブート処理のフローチャー
トを示す図である。FIG. 10 is a diagram showing a flowchart of a main unit boot process.
【図11】 アドレスリクエストジョブ処理のフローチ
ャートを示す図である。FIG. 11 is a diagram illustrating a flowchart of an address request job process.
【図12】 イニシャルジョブ処理のフローチャートを
示す図である。FIG. 12 is a diagram illustrating a flowchart of an initial job process.
【図13】 機能アサイン処理のフローチャートを示す
図である。FIG. 13 is a diagram showing a flowchart of a function assignment process.
【図14】 TG処理のフローチャートを示す図であ
る。FIG. 14 is a diagram illustrating a flowchart of a TG process.
【図15】 アサイナ処理のフローチャートを示す図で
ある。FIG. 15 is a view illustrating a flowchart of an assigner process.
【図16】 KB処理のフローチャートを示す図であ
る。FIG. 16 is a diagram showing a flowchart of a KB process.
【図17】 MIDI処理のフローチャートを示す図で
ある。FIG. 17 is a diagram showing a flowchart of a MIDI process.
【図18】 パネル処理のフローチャートを示す図であ
る。FIG. 18 is a view illustrating a flowchart of panel processing.
【図19】 スレイブユニットブート処理のフローチャ
ートを示す図である。FIG. 19 is a view showing a flowchart of slave unit boot processing.
【図20】 ネットワークジョブ処理のフローチャート
を示す図である。FIG. 20 is a diagram illustrating a flowchart of network job processing.
【図21】 ジョブアサイン処理のフローチャートを示
す図である。FIG. 21 is a diagram illustrating a flowchart of a job assignment process.
【図22】 スキャンユニット初期化ジョブのフローチ
ャートを示す図である。FIG. 22 is a diagram illustrating a flowchart of a scan unit initialization job.
【図23】 KBジョブのフローチャートを示す図であ
る。FIG. 23 is a diagram illustrating a flowchart of a KB job.
【図24】 メタアサイナ初期化ジョブのフローチャー
トを示す図である。FIG. 24 is a diagram illustrating a flowchart of a meta-assigner initialization job.
【図25】 メタアサイナジョブのフローチャートを示
す図である。FIG. 25 is a diagram illustrating a flowchart of a meta-assigner job.
【図26】 アサイナ初期化ジョブのフローチャートを
示す図である。FIG. 26 is a diagram illustrating a flowchart of an assigner initialization job.
【図27】 アサイナジョブのフローチャートを示す図
である。FIG. 27 is a diagram illustrating a flowchart of an assigner job.
【図28】 発音ユニット初期化ジョブのフローチャー
トを示す図である。FIG. 28 is a diagram illustrating a flowchart of a sounding unit initialization job.
【図29】 ノートオンジョブのフローチャートを示す
図である。FIG. 29 is a diagram illustrating a flowchart of a note-on job.
【図30】 ノートオフジョブのフローチャートを示す
図である。FIG. 30 is a diagram illustrating a flowchart of a note-off job.
【図31】 オールノートオフジョブのフローチャート
を示す図である。FIG. 31 is a diagram illustrating a flowchart of an all-notes-off job.
【図32】 オーディオ出力ジョブのフローチャートを
示す図である。FIG. 32 is a diagram illustrating a flowchart of an audio output job.
【図33】 従来の電子楽器ネットワークシステムの概
要を示すブロック図である。FIG. 33 is a block diagram showing an outline of a conventional electronic musical instrument network system.
【図34】 従来の電子楽器ネットワークシステムのフ
ローチャートを示す図である。FIG. 34 is a diagram showing a flowchart of a conventional electronic musical instrument network system.
10 プログラムサーバモジュール、11 プログラム
サーバ、12,42 補助記憶装置、20 メインユニ
ット、30 アサイナユニット、31,71,81 イ
ンタフェース、32 外部機器接続ポート、33,7
4,84 CPU、34,75,85 ROM、35,
76,86 RAM、36,77,87 内部バス、4
0 自動演奏モジュール、41 自動演奏ユニット、5
0 鍵・パネルスイッチモジュール、51 スキャナユ
ニット、52 鍵・パネルスイッチ回路、60 MID
Iインタフェースユニット、61 インタフェースユニ
ット、62 MIDIインタフェース、70〜110
発音ユニット、72 DSP、73 DSP用RAM、
82 楽音合成回路、83 波形ROM、120 オー
ディオ出力ユニット、130 サウンドシステム、14
0 ネットワーク回路、150 ミキシング回路Reference Signs List 10 program server module, 11 program server, 12, 42 auxiliary storage device, 20 main unit, 30 assigner unit, 31, 71, 81 interface, 32 external device connection port, 33, 7
4,84 CPU, 34,75,85 ROM, 35,
76,86 RAM, 36,77,87 internal bus, 4
0 Automatic performance module, 41 Automatic performance unit, 5
0 key / panel switch module, 51 scanner unit, 52 key / panel switch circuit, 60 MID
I interface unit, 61 interface unit, 62 MIDI interface, 70 to 110
Sounding unit, 72 DSP, RAM for 73 DSP,
82 tone synthesis circuit, 83 waveform ROM, 120 audio output unit, 130 sound system, 14
0 Network circuit, 150 mixing circuit
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 9/06 420K (56)参考文献 特開 昭63−314598(JP,A) 特開 平4−209032(JP,A) 特開 平5−225157(JP,A) 特開 昭59−72557(JP,A) 特開 昭57−76646(JP,A) 特開 昭57−71060(JP,A) 特開 平3−220660(JP,A) 特開 平1−267767(JP,A) 特開 平2−300843(JP,A) 特開 平6−222760(JP,A) 特開 昭62−208099(JP,A) 特開 平3−78862(JP,A) 特開 平2−44456(JP,A) 特開 平2−73447(JP,A) 特開 平4−335463(JP,A) 特開 平2−59953(JP,A) 特開 平2−122365(JP,A) 特開 平5−324583(JP,A) 特開 昭62−272341(JP,A) 特開 平5−120248(JP,A) 実開 平5−96895(JP,U) 特許2561760(JP,B2) 特許3003498(JP,B2) 特公 平2−41757(JP,B2) 特公 平3−1698(JP,B2) 実公 平3−2958(JP,Y2) 米国特許5109512(US,A) 米国特許5616879(US,A) 欧州特許出願公開459931(EP,A 2) Yourdon,Constain著 原田・久保訳「ソフトウェアの構造化 設計法」(昭和61年10月25日発行)日本 コンピュータ協会 p.123−165 (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G06F 9/06 540 G06F 9/445 G06F 15/16 G06F 15/177 670 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)──────────────────────────────────────────────────続 き Continuation of the front page (51) Int.Cl. 7 Identification code FIG06F 9/06 420K (56) References JP-A-63-314598 (JP, A) JP-A-4-209032 (JP, A) JP-A-5-225157 (JP, A) JP-A-59-72557 (JP, A) JP-A-57-76646 (JP, A) JP-A-57-71060 (JP, A) JP-A-3-220660 (JP, A) JP-A-1-267767 (JP, A) JP-A-2-300843 (JP, A) JP-A-6-222760 (JP, A) JP-A-62-208099 (JP, A) JP-A-3-78862 (JP, A) JP-A-2-44456 (JP, A) JP-A-2-73447 (JP, A) JP-A-4-335463 (JP, A) JP-A-2-59953 ( JP, A) JP-A-2-122365 (JP, A) JP-A-5-324483 (JP, A) JP-A-62-272341 (JP, A) JP-A-5-120248 (JP, A) JP-A-5-96895 (JP, U) Patent 2561760 (JP, B2) Patent 3003498 (JP, B2) JP 2-41757 (JP, B2) 3-1698 (JP, B2) U.S.A. 3-2958 (JP, Y2) U.S. Pat. No. 5,109,512 (US, A) U.S. Pat. Translated by Harada and Kubo, "Structured Design Method of Software" (October 25, 1986) Japan Computer Association p. 123-165 (58) Fields investigated (Int. Cl. 7 , DB name) G10H 1/00-7/12 G06F 9/06 540 G06F 9/445 G06F 15/16 G06F 15/177 670 INSPEC (DIALOG) JICST File (JOIS) WPI (DIALOG)
Claims (5)
ニットと、 該複数の処理ユニットの処理能力を検出し、検出された
処理能力と、割り当てようとする機能の仕事量に応じ
て、上記複数の処理ユニットのそれぞれに複数の機能の
うちの適した機能を自動的に割り当てる、上記ネットワ
ークに接続される割り当て手段と、上記複数の処理ユニットに対して共通に設けられ、上記
各処理ユニットに割り当てられる機能に応じた処理プロ
グラムを記憶しているプログラム記憶手段と を備え、 上記割り当て手段は、上記各処理ユニットに機能が割り
当てられた際に、割り当てられた機能の処理に応じた処
理プログラムを上記プログラム記憶手段から読み出し
て、当該処理ユニットに転送すると共に、割り当てよう
とする機能の仕事量が、1つの処理ユニットで処理する
には多すぎると処理動作開始前に判断した場合には、上
記割り当てようとする機能を複数の処理ユニットに分割
して割り当てるようにし、上記各処理ユニットに機能が
それぞれ割り当てられると共に、その機能に応じた処理
プログラムが転送されることにより、上記複数の処理ユ
ニットが協調して電子楽器システムとして動作するよう
になることを特徴とする電子楽器ネットワークシステ
ム。1. A plurality of processing units connected to a network, and a processing capability of the plurality of processing units is detected, and the plurality of processing units are detected in accordance with the detected processing capability and a workload of a function to be allocated. Allocating means connected to the network, which automatically allocates a suitable function among a plurality of functions to each of the processing units; and
Processing processor according to the function assigned to each processing unit
And a program storage means for storing a program . The assignment means assigns a function to each of the processing units.
When it is assigned, the processing according to the processing of the assigned function
Read out the management program from the program storage means
Then, when it is determined before the start of the processing operation that the amount of work of the function to be allocated and transferred to the processing unit is too large to be processed by one processing unit, the function to be allocated is changed to A function is assigned to each of the above processing units, and processing is performed in accordance with the function.
An electronic musical instrument network system, wherein the plurality of processing units cooperate to operate as an electronic musical instrument system by transferring a program .
おいて外部接続機器が接続されているか等の各処理ユニ
ットの状態も検出し、検出された状態および上記処理能
力と、割り当てようとする機能の仕事量に応じて、上記
複数の処理ユニットのそれぞれに複数の機能のうちの適
した機能を自動的に割り当てるようにしたことを特徴と
する請求項1記載の電子楽器ネットワークシステム。2. The assigning means also detects the state of each processing unit such as whether an externally connected device is connected in each processing unit, and detects the detected state and the processing capability and the work of the function to be assigned. 2. The electronic musical instrument network system according to claim 1, wherein a suitable function among a plurality of functions is automatically assigned to each of the plurality of processing units according to the amount.
がり時にのみ、上記複数の処理ユニットのそれぞれに適
した機能を自動的に割り当てるようにされていることを
特徴とする請求項1記載の電子楽器ネットワークシステ
ム。3. The electronic musical instrument network according to claim 1, wherein the assigning means automatically assigns a function suitable for each of the plurality of processing units only at the time of starting the system. system.
トに複数の機能を割り当てる際には、割り当てられる機
能が互いに関連する機能とされ、割り当てられた複数の
機能の処理が実行される際に、複数の機能の間でデータ
のやりとりが行われることを特徴とする請求項1記載の
電子楽器ネットワークシステム。4. When the assigning means assigns a plurality of functions to one processing unit, the assigned functions are regarded as functions related to each other, and when processing of the assigned plurality of functions is executed, 2. The electronic musical instrument network system according to claim 1, wherein data is exchanged between a plurality of functions.
に同一種類の機能を割り当て、同一種類の機能が割り当
てられた複数の処理ユニットに処理を割り当てる機能が
割り当てられた処理ユニットが多段に構成されているこ
とを特徴とする請求項1記載の電子楽器ネットワークシ
ステム。5. The processing unit, wherein the allocating means allocates the same type of function to a plurality of processing units and the function of allocating processing to a plurality of processing units to which the same type of function is allocated is configured in multiple stages. The electronic musical instrument network system according to claim 1, wherein
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11265087A JP3092625B2 (en) | 1999-09-20 | 1999-09-20 | Electronic musical instrument network system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11265087A JP3092625B2 (en) | 1999-09-20 | 1999-09-20 | Electronic musical instrument network system |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6072879A Division JP3003498B2 (en) | 1994-03-18 | 1994-03-18 | Electronic musical instrument network system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000105591A JP2000105591A (en) | 2000-04-11 |
| JP3092625B2 true JP3092625B2 (en) | 2000-09-25 |
Family
ID=17412426
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11265087A Expired - Fee Related JP3092625B2 (en) | 1999-09-20 | 1999-09-20 | Electronic musical instrument network system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3092625B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4605069B2 (en) * | 2006-03-30 | 2011-01-05 | ヤマハ株式会社 | Music content providing system, electronic musical instrument and music content acquisition program |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5109512A (en) | 1990-05-31 | 1992-04-28 | International Business Machines Corporation | Process for dispatching tasks among multiple information processors |
| US5616879A (en) | 1994-03-18 | 1997-04-01 | Yamaha Corporation | Electronic musical instrument system formed of dynamic network of processing units |
-
1999
- 1999-09-20 JP JP11265087A patent/JP3092625B2/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5109512A (en) | 1990-05-31 | 1992-04-28 | International Business Machines Corporation | Process for dispatching tasks among multiple information processors |
| JP2561760B2 (en) | 1990-05-31 | 1996-12-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Process in information processing system and information processing network |
| US5616879A (en) | 1994-03-18 | 1997-04-01 | Yamaha Corporation | Electronic musical instrument system formed of dynamic network of processing units |
| JP3003498B2 (en) | 1994-03-18 | 2000-01-31 | ヤマハ株式会社 | Electronic musical instrument network system |
Non-Patent Citations (1)
| Title |
|---|
| Yourdon,Constain著 原田・久保訳「ソフトウェアの構造化設計法」(昭和61年10月25日発行)日本コンピュータ協会 p.123−165 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000105591A (en) | 2000-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3003498B2 (en) | Electronic musical instrument network system | |
| USRE37367E1 (en) | Computerized music system having software and hardware sound sources | |
| US7189911B2 (en) | Electronic musical apparatus having interface for connecting to communication network | |
| JP3235409B2 (en) | Music system, sound source and tone synthesis method | |
| JPH08263079A (en) | Online karaoke system | |
| JP3092625B2 (en) | Electronic musical instrument network system | |
| JP2705395B2 (en) | Electronic musical instrument | |
| JP3223756B2 (en) | Music systems and electronic musical instruments | |
| JP3152198B2 (en) | Music sound generation method and music sound generation device | |
| JPH06259064A (en) | Electronic musical instrument | |
| JP3050779B2 (en) | Signal processing device | |
| JPH1195751A (en) | Musical sound signal generating method for multiple sound sources, multisound source device, and medium having program recorded | |
| JP2817521B2 (en) | Electronic musical instrument | |
| JPH0638192B2 (en) | Musical sound generator | |
| JP2002258844A (en) | Musical sound playing device | |
| JP2797139B2 (en) | Musical sound wave generator | |
| JP2687810B2 (en) | Electronic musical instrument | |
| JP3228394B2 (en) | Electronic musical instrument | |
| JP2001236067A (en) | Muscial sound generating device and storage medium | |
| JP3010693B2 (en) | Musical sound wave generator | |
| JP3026344B2 (en) | Electronics | |
| JPH10177386A (en) | Method and device for converting timbre data | |
| JPH0762797B2 (en) | Electronic musical instrument | |
| JPH0476750A (en) | Data communication terminal equipment and data communication system | |
| JPH09106277A (en) | Tone generator |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000627 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090728 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090728 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100728 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |