JPH07261756A - 電子楽器ネットワークシステム - Google Patents
電子楽器ネットワークシステムInfo
- Publication number
- JPH07261756A JPH07261756A JP6072879A JP7287994A JPH07261756A JP H07261756 A JPH07261756 A JP H07261756A JP 6072879 A JP6072879 A JP 6072879A JP 7287994 A JP7287994 A JP 7287994A JP H07261756 A JPH07261756 A JP H07261756A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- network
- data
- processing
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/095—Identification code, e.g. ISWC for musical works; Identification dataset
- G10H2240/115—Instrument identification, i.e. recognizing an electrophonic musical instrument, e.g. on a network, by means of a code, e.g. IMEI, serial number, or a profile describing its capabilities
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
ク上に接続された資源を有効に利用できる電子楽器ネッ
トワークシステムを提供すること。 【構成】 ネットワーク回路140に単独で所定の機能
を果たすモジュール10〜120を複数接続する。シス
テムの立ち上げ時に、メインユニット20は各モジュー
ル30〜120のデータを収集して各モジュール30〜
120に電子楽器の処理機能を少なくとも1つずつ割り
当てる。さらに、メインユニット20はプログラムサー
バモジュール10から処理機能に必要な制御プログラム
を読み出して、各モジュール30〜120に供給する。
これにより、電子楽器ネットワークシステムを構築でき
る。
Description
各種の拡張が可能な電子楽器に関するものである。
電子楽器ネットワークシステムを構成する、いわゆるM
IDIが知られている。このMIDIインタフェース
は、自動演奏データ等を伝送するための共通規格であ
り、ネットワーク上に分散した複数の楽器の内のあるも
のから他のものにキーコード等の演奏データを一方向に
伝送することを可能とするものである。しかしながら、
このようなMIDIを使用した従来型のシステムにおい
ては、ネットワークにコンピュータ、プリンタ、ディス
ク装置等の楽器以外の装置を接続するためには各装置ご
とに特別な制御用ソフトウェアとこのソフトウェアを実
行するコンピュータシステムを必要とするという欠点が
あった。
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を備えている。
201はコンソールパネル214等の操作によって演奏
が行われるとその演奏データがパネルインタフェース2
13を介して基本RAM208及び音源回路210等に
入力される。そして、音源回路210によって所定の音
信号が生成され出力アンプ211によって増幅されてス
ピーカ212から出力される。この時コンソールパネル
214から入力された演奏データは必要に応じてプロセ
ッサ206によって波形操作等各種の処理が施された
後、音源回路210に入力される。なお、プロセッサ2
06は基本システム用ROM207に記憶されたオペレ
ーティングシステム等に基づき処理動作を行う。また、
基本システム用RAM208は演奏データの一次記憶そ
の他各種の作業領域等に使用される。
トワークシステムにおける情報の授受手順に付いて説明
する。但し、この図に示す親機はコントローラ201で
あり、ネットワーク205に接続されている他の機器は
すべて子機とされている。親機と子機とがパワーオンさ
れると、子機はネットワーク上に送信可能か否かを検出
し、ネットワーク上に送信中の信号がない時は送信可能
と判断し、登録要求信号をネットワーク上に送出する。
親機は子機からの登録要求信号があるまで待機してお
り、登録要求信号があったときは、登録要求信号を送出
した子機に対し認識番号(ID)及び制御プログラムの
送信要求を行う。子機はこれを受けて、ID及び制御プ
ログラムを送信する。このID及び制御プログラムは親
機側の拡張デバイス用メモリにロードされる。この時、
親機側において受信エラーの有無をチェックし、もし受
信エラーがあればエラー表示し、かつ子機の登録処理を
中止する。
御プログラムを吸い上げ、親機がこの制御プログラムを
実行することにより、子機に対して各種の指示情報を送
信するようにして子機を制御する。従って、コントロー
ラ201の制御の基で、例えば演奏データをフロッピデ
ィスク203に記憶したり、プリンタ204によりプリ
ントすることが可能となる。
ては、ネットワークを用いて各種の拡張が可能であるも
のの、すべての処理をコントローラに集中させるのでコ
ントローラの負担が大きくなり、結果的にはコントロー
ラが処理できる能力までしかシステム全体の能力を上げ
ることができないという問題点があった。さらに、ネッ
トワーク上にコントローラとなり得る他の電子楽器を接
続しても、その電子楽器上の処理能力などの資源を有効
に活用することができないという問題点もあった。そこ
で、本発明は各種の拡張が可能であると共に、ネットワ
ーク上に接続された資源を有効に利用できる電子楽器ネ
ットワークシステムを提供することを目的としている。
に、本発明はネットワークに接続した各ユニットに、複
数の処理を自動的に分散させることにより、ユニットを
自由に組合わせて大きなシステムを構築するようにした
ものである。
ていた複数の処理を、ネットワークに接続した各ユニッ
トに自動的に分散させることにより、各種の拡張が可能
になると共に、ネットワーク上の資源を有効に利用する
ことができる電子楽器ネットワークシステムを実現する
ことができる。
ステムの全体構成概念図であり、プログラムサーバモジ
ュール10、メインユニット20、アサイナユニット3
0、自動演奏モジュール40、スキャンモジュール5
0、外部通信モジュール60、発音ユニット70〜11
0、オーディオ出力ユニット120がネットワーク回路
140に接続されることにより電子楽器ネットワークシ
ステムが構成されている。ただし、以下の説明において
は、ユニット単体だけで処理を行うユニットもモジュー
ルと称するものとする。上記各モジュールに割り当てら
れた各処理は、メインユニット20を除いて予め割り当
てられている処理ではなく、後述するようにシステムの
立ち上げ時にメインユニット20により、それぞれ割り
当てられた処理である。
により構成されていると共に、動的にシステムを構成す
ることができ、性能の向上等のためにシステムの変更を
容易にできるようにされている。また、各モジュール内
のCPUユニットとしては汎用のものが用いられてお
り、そのCPUに割り当てられる処理に応じた処理プロ
グラムが演奏情報の処理の開始に先だって転送されるこ
とにより、そのCPUユニットを備えたモジュールが割
り当てられた処理を行うようにされている。これらのモ
ジュールは物理的に互いに離れた位置にあっても局所的
に集中していてもよく、要はネットワークで相互に接続
されていればよいため、大きなシステムから小さなシス
テムまで種々の形態を有する電子楽器ネットワークシス
テムを構築することができる。
た後は、それぞれのモジュールがネットワークを介して
コマンドを発行する。コマンドには相手先のアドレスが
明示されているので、そのアドレスのモジュールがコマ
ンドを受け取り対応する処理が行われるようになる。例
として、一般的な押鍵の処理をおってみると、スキャナ
ユニット51で検出された押鍵情報は、まずアサインユ
ニット30に転送される。アサインユニット30では自
分の管理のもとにある発音ユニット70〜110のうち
空いているチャンネルを探し、その発音ユニット70〜
110に対して受け取った押鍵情報を転送する。発音ユ
ニット70〜110では、転送された押鍵情報に対応す
る楽音のディジタルデータを作成し、ネットワーク回路
140を介してオーディオ出力ユニット120に転送す
る。オーディオ出力ユニット120は受け取ったディジ
タルデータを時間軸上に正しく並べ直し(ディジタルデ
ータにはネットワーク上の転送を効率的にするために各
種の変調が加えられているため。)てサウンドシステム
130に転送し、サウンドシステム130から最終的な
アナログ楽音として発音される。
は発音ユニットをネットワークに追加するだけでよい。
追加された発音ユニットはメインユニット20によって
自動的に認識され、それに応じてアサインユニット30
の発音割当プログラムが変更される。また、何らかの事
情により今までアサイン機能を実現していたユニット3
0をネットワークから切り離す必要が生じた場合は、比
較的処理能力に余裕のある、例えばスキャナユニット5
1に新たにアサインのプログラムを割り当てて、スキャ
ンとアサインの双方の処理を1つのユニットで行うよう
にすればよい。このように、本発明の電子楽器システム
においては、汎用のユニットにプログラムをアサインす
ることにより、システムの拡張や縮小が可能になり、機
能が適正に配分されるのでどのような組み合わせにおい
ても最適な処理が遂行されるようになる。
示す構成において、プログラムサーバモジュール10
は、プログラムサーバユニット11とプログラムを記憶
する補助記憶装置12からなり、メインユニット20か
らのプログラム要求に従い、必要なプログラムを補助記
憶装置12から読み出して、メインユニット20に転送
する。メインユニット20は、楽器システム全体を制御
しており、システムの立ち上がり時点において各モジュ
ールの接続状況を調べ、それぞれのモジュールに対して
必要なプログラムをプログラムサーバモジュール10よ
り読み出して転送している。なお、全システムの立ち上
げ時点でのみ、各モジュールの接続状況を調べてプログ
ラムの配分を行うようにしているが、システムが動作し
ている最中にこれらの調査を行い、常にシステムの資源
の最適配分を行うようにすることもできる。
受け付けた発音要求を発音ユニット70〜110に割り
当てる処理を行う。またアサインユニット30は発音ユ
ニット70〜110の割り当てだけではなく、それぞれ
の発音ユニット70〜110の中での発音チャンネルの
割り当てまで行う。このため、アサインユニット30は
各発音チャンネルの情報をテーブルとして記憶してい
る。また、発音割り当て処理は、楽音の発音までの時間
に大きな影響を与えるので、これを複数のユニットに分
散させて高速に処理するように、アサイン処理を行う複
数のユニットとアサイン処理自体の割り当てを行うメタ
アサインユニットとを用意してもよい。
内容を判断して受け付けた発音要求を割り当てるアサイ
ンユニットを決定し、発音要求をアサインユニットに転
送する。各アサインユニットはメタアサインユニットか
ら転送された発音要求を実際の発音ユニットの発音チャ
ンネルにアサインする。例えば、楽器システムに鍵盤モ
ジュールと自動演奏モジュールとが接続されている場
合、それぞれのモジュールからの発音要求は一旦メタア
サインユニットに転送され、鍵盤モジュールからの発音
要求と、自動演奏モジュールからの発音要求とがメタア
サインユニットにより別々のアサインユニットに割り当
てられるようにされる。
ルを探したり、トランケート処理で各発音チャンネルの
状況を調べたりする際に、全チャンネルを順次操作する
処理が欠かせない。従って、発音チャンネルの数が増え
れば増えるほどこれらの処理には時間が掛かってしまう
ことになる。そこで、前記のようにメタアサインユニッ
トによりアサイン処理を分割して行うことにより、発音
割り当てにかける時間を短縮することができるようにな
る。このメタアサインユニットでの発音要求の分割の方
法としては、前記のような情報の発信元で分割する方
法、キーコードの偶数と奇数で分割する方法、高音域と
低音域で分割する方法、MIDIのようなチャンネル番
号で分割する方法、音色により分割する方法等さまざま
な形態があり、所望に応じていずれを採用してもよい。
また、メタアサインユニットでの通信のオーバーヘッド
が小さい場合は、これらの分割の方法を組合わせてメタ
アサインを多段で行うこともできる。このようにする
と、アサイン処理に要する時間をより短縮することがで
きる。
て、通常の発音割り当てのように、メタアサイナの管理
下にある複数のアサイナのうち、空きチャンネルがある
アサイナに割り当てる方法もある。この場合、メタアサ
イナが管理するアサイナの発音チャンネルを直接検出す
るのでは時間が掛かるため、アサイナは自分に空きチャ
ンネルがあるかどうか、あるいは空きチャンネル数をメ
タアサイナに知らせるようにする。メタアサイナは、管
理するアサイナのうち空きチャンネルのあるアサイナ、
あるいは空きチャンネル数の多いアサイナに発音要求を
転送することにより、効率のよい発音割り当てを可能と
している。また、自動演奏モジュール40は、自動演奏
ユニット41と補助記憶装置42とからなり、自動演奏
ユニット41はメインユニット20からの要求に応じ
て、補助記憶装置42に記憶された演奏データを読み出
し、発音要求として前記アサインユニット30に送信す
る。
ット51と鍵・パネルスイッチ回路52とからなり、ス
キャンユニット51は鍵・パネルスイッチ回路52をス
キャンし、鍵イベント及びパネルスイッチイベントを検
出する。検出された鍵イベントは、発音要求としてパネ
ルスイッチイベントと共に前記アサインユニット30に
送信される。楽器システムでは、アサインユニットが1
つだけ存在するか、あるいはアサインユニットが複数存
在する場合はメタアサインユニットが1つだけしか存在
しないため、スキャンユニット51はそのユニットに発
音要求を送信するだけでよく、アサインユニットや発音
ユニットの内容などを知っている必要はない。外部通信
モジュール60は、インタフェースユニット61とイン
タフェース回路62とから構成され、インタフェース回
路62には一般に電子楽器に多く利用されるMIDIイ
ンタフェースが用いられている。この外部通信モジュー
ル60は、楽器システムの外部から与えられるMIDI
信号のうち、発音イベントを発音要求として前記アサイ
ンユニット30に送信する。また、MIDI信号のうち
のコントロール情報をメインユニット20に転送し、楽
器システムの制御を行うこともできる。
との通信機能を備えた発音のためのモジュールである。
それぞれの発音ユニット70〜110の発音形式、同時
発音数等は統一されている必要はない。発音ユニットが
波形メモリ方式の場合は、ユニット内部に波形を記憶し
たメモリにより楽音データを発生するようにされるが、
FM音源方式、DSPを用いたシミュレーション音源方
式等の場合はマイクロプログラムにより楽音データを発
生するようにされる。これらの波形データや、シミュレ
ーションのためのマイクロプログラムは各ユニット毎に
予め持っていることもできるが、楽器システムの立ち上
げ時にプログラムサーバモジュール10から転送するこ
ともできる。メインユニット20は楽器システムの立ち
上げ時に各発音ユニットの音源方式、発音チャンネル数
に応じたアサインプログラムをアサイナユニット30に
供給している。
とった発音ユニット70〜110は、指示される発音チ
ャンネルにて楽音の合成を開始し、合成されたディジタ
ル楽音データを後述のオーディオ出力ユニット120に
ネットワーク回路140を介して送信する。これによ
り、ネットワーク回路140上に発音ユニット70〜1
10が分散しており、さらに、それらの物理的位置が離
れている場合でも、すべての発音ユニット70〜110
の出力がオーディオ出力ユニット120に集められるた
め、最終的なアナログ楽音に利用することが容易とな
る。ところで、ネットワーク回路140の速度が遅い場
合、またはネットワーク自体が広い範囲に広がっておら
ず、例えば図1に示すネットワークシステムの全体が1
つの電子楽器の本体内部で実現される場合は、全ての発
音ユニット70〜110の出力をネットワーク回路14
0を介さずに、破線で図示するミキシング回路150で
直接集めてミキシングすることもできる。
記のように各発音ユニット70〜110から転送された
ディジタルデータを組合わせ、発音可能なディジタル情
報としてサウンドシステム130に送信する。ネットワ
ーク回路140は、前記それぞれのモジュール及びユニ
ットを接続するものであって、形式はバス型、リング型
等のどのようなものでもよい。なお、ネットワーク上の
各モジュールには物理アドレスと論理アドレスとが設定
され、物理アドレスは各モジュールに固有の番号であっ
て、一意に決定されており変更することはできない。論
理アドレスは、楽器システムの立ち上げ時に決定され、
1つの処理毎に1つのアドレスが割り当てられる。例え
ば、1つのモジュールでアサインと自動演奏との2つの
処理を実現する際には、物理アドレスは1つであるが、
論理アドレスを2つ持つことになる。また、論理アドレ
スは階層的に構成され、上位のデータがモジュールに割
り当てられた処理の種類を、下位のデータが同一種類の
モジュール毎の番号を示す。これにより、ある特定の処
理を行うモジュール全てに情報を流すときに、上位だけ
で判断させることにより個別にデータを流す必要がない
ブロードキャストを用いることができる。例えば、電子
楽器においてはシステムがエラーを引き起こしたときな
どに、強制的に全ての発音を終了させることがあるが、
このような場合には全ての発音モジュールに個別にデー
タを送信する替わりに、発音モジュールという種類を指
定した発音強制終了のブロードキャストメッセージを送
信することにより、すべての発音モジュールよりの発音
を停止することができる。
例えば発音ユニット70がDSPをもちいた音源方式で
ある場合の構成のブロックを図2に示す。この図におい
て、インタフェース71はネットワーク回路140に接
続されており、ネットワーク上を流れるパケットのう
ち、自分に設定された物理アドレスまたはブロードキャ
ストアドレスが指定されているパケットのみを取り込
む。また、発音ユニット70からパケットを発信する際
は、後述のCPU74により指定される各種データに応
じてパケットを作成し、ネットワーク回路140上に送
信する。DSP72はDSP用RAM73に記憶された
マイクロプログラムに従い、楽音の合成を行う。マイク
ロプログラムは、楽器システムの立ち上げ時にプログラ
ムサーバモジュール10から供給されるほか、マイクロ
プログラムによって決定される音色を切り替えたい時な
どに、新たなマイクロプログラムを記憶させることによ
り変更される。
ル10から供給されたRAM76に記憶された制御プロ
グラムに従い、インタフェース71の管理と、DSP7
2の制御とを行うと共に、ROM75に記憶されている
イニシャル時の立ち上げ用のプログラムを実行する。な
お、DSPによる楽音合成では、マイクロプログラムの
種類によって、自然楽器のシミュレーションを行うシミ
ュレーション音源や、RAM76を波形メモリとした波
形メモリ音源、変調型のFM音源を実現することができ
る。また、図3は発音ユニット70〜110のうち、例
えば発音ユニット80が波形メモリ方式である場合の構
成を示すブロック図である。この図に示すブロック図に
おいて、図2に示すブロック図との差異は、DSP72
の替わりに楽音合成回路82、およびDSP用RAM7
3の替わりに波形ROM83が設けられることである。
なお、前記のとおり、DSP72を用いても波形メモリ
方式の音源を実現することができるが、ハードウェアを
利用した専用ボードの方がさまざまな点で有利である。
さらに、楽音合成回路82としては波形メモリ楽音合成
LSIを用いることができる。
ク図である。この図において、インタフェース31はネ
ットワーク回路140に接続するためのインタフェース
であり、スキャンユニット51における鍵・パネルスイ
ッチ回路52等の外部機器は、外部機器接続ポート32
に接続される。また、ROM34にはイニシャル時の立
ち上げ用のプログラムなどが記憶されており、汎用ユニ
ット30をアサインユニットなどとして特定目的に利用
する際には、プログラムサーバモジュール10から読み
出されたプログラムがRAM35に記憶され、それを基
に制御を行う。また、RAM35はCPU33で処理を
実行する際の、各種の記憶領域としても利用される。こ
の汎用ユニットの構成は各モジュールに共通である。た
だし、メインユニットになるべきユニットのみは、RO
M34に記憶されるプログラムがメインユニットとして
立ち上がるように他の汎用ユニットとは異なるようにさ
れている。
テム全体の動作の概要を図9に示す。この図に示すよう
に、ネットワークシステムの立ち上げに際してはメイン
ユニット(Mein Unit)と汎用ユニットであるスレイブ
ユニット(Slave Unit)とは通信を行う。この通信は、
システムの立ち上げ時に、まずスレイブユニットがネッ
トワーク上に“Add Req ”(アドレスリクエスト)コマ
ンドをブロードキャストメッセージとして流し、メイン
ユニットからのパケットを待つ。このコマンドに対する
応答のプログラムは、メインユニットのみが、ROM3
4内の立ち上げプログラムに有しているため、メインユ
ニットがこのコマンドに答えて、“ACK”(確認)コマ
ンドを、スレイブユニットの物理アドレスを設定して返
送する。なお、スレイブユニットから送信される“Add
Req ”コマンドはパケットの形で送信されるが、このパ
ケットの例を図6に示す。ただし、このパケットにおい
て、システム立ち上げ時は送信先物理アドレスおよび論
理アドレスはいずれもわかっていないため、上述のよう
にブロードキャストコードを送信先物理アドレスに替え
て送信している。また立ち上げ時においては、メインユ
ニットはスレイブユニットからのこのパケットの待ち状
態となっており、受信したパケットから送信元の物理ア
ドレスを知るようにしている。
スレイブユニットが受けると、スレイブユニットはメイ
ンユニットが動作していることを確認できると共に、送
信されたパケットからメインユニットの物理アドレスを
知ることができる。そして、スレイブユニットは、自ユ
ニットのデータである、例えば鍵スイッチが外部機器と
して接続されている、処理速度はこれくらい等のデータ
を前記パケットの形でメインユニットに送信する。この
ようにして、メインユニットはスレイブユニットのデー
タを知ることができるが、スレイブユニットは複数ある
ため上記動作を各スレイブユニットに対して行うことに
より、各スレイブユニットからのデータを収集し、収集
したデータに基づいて、例えば鍵スイッチが接続されて
いるユニットの機能をスキャナに決定する等の処理を行
うことにより、各スレイブユニットの機能を決定し、そ
の機能の処理を行うためのプログラム及び論理アドレス
を各スレイブユニットに送信する。スレイブユニットは
受信したプログラムに応じて処理を行う。メインユニッ
トは、このような処理をコマンドを送信したスレイブユ
ニットの全てに対して行う。
ず、自らの機能を実現するプログラムも持たない各スレ
イブユニットがネットワークを介して立ち上がるように
なる。これにより、楽器システムとしても機能の拡張が
ネットワークに単純に汎用ユニットを接続するだけで実
現することができ、さらに、接続されたユニットに応じ
てプログラムが配分されるので、演奏者に負担を掛ける
ことなく最適な仕事量の配分をすることができる。
0はメインユニット20の中のROMに記憶されている
基本ジョブ処理プログラムの1つであり、メインユニッ
ト20の立ち上げ時にROMより読み出され実行される
メインユニットブート処理のフローチャートである。こ
の処理は、まず、ネットワークインタフェースの初期化
がステップS100で行われ、次にインタフェースの走
査がステップS110で行われ、スレイブユニットから
のパケットの検出が行われる。そして、このパケットが
検出されるまでステップS110とステップS120を
巡回し、パケットが検出されるとステップS130によ
りコマンド(COM)に応じたジョブ(job)が実行
される。そして、所定時間が経過されるまでステップS
110からステップS140の処理が繰り返される。こ
れは、メインユニット20の立ち上がりから所定時間の
間だけ、楽器システム初期化に関するコマンドを受け付
けるためである。ここでは、ネットワークに接続された
各ユニットはほぼ同時に立ち上がるものと仮定してお
り、メインユニットが立ち上がった時点より所定時間の
間にメインユニットと通信を確立したユニットが楽器シ
ステムの資源(リソース)として認識されるようにな
る。
で各種プログラムを記憶しているプログラムサーバモジ
ュールとの通信が確立され、ステップS160でネット
ワーク上の各ユニットの状況に応じて、制御プログラム
等を供給する機能アサイン処理が行われて、メインユニ
ットのブート処理は終了する。上記ステップS130に
おけるジョブには図11に示すアドレスリクエストジョ
ブ(Addr Req job )処理と、図12に示すイニシャル
ジョブ(INIT job )処理とがある。図11に示すアド
レスリクエストジョブ処理は、ステップS200でメイ
ンユニットにより受信されたスレイブユニットからのパ
ケットに含まれる送信元物理アドレスをPADDRとし
て設定し、ステップS210で“ACK ”信号を送信コマ
ンドSCOMとして設定し、ステップS220で上記S
COMをネットワーク上のPADDRに送信する。スレ
イブユニットは、これを受信することにより、メインユ
ニットが正常に起動していることと、メインユニットの
物理アドレスを知ることができる。なお、メインユニッ
トはシステム内に1つしか存在せず、その論理アドレス
は『0.0』とされている。
レイブユニットから“INIT”コマンドと共に転送される
DEV,SPEEDデータをバッファに記憶する。DE
Vは各ユニットに接続されているデバイスを示す情報で
あり、SPEEDは各ユニットのCPUの処理速度デー
タであり、処理を割り当てる際の参考にする。メインユ
ニットはこれらの情報を基にどのような処理を各ユニッ
トに割り当てるかを前記ステップS160で決定する。
図8は前記ステップS160の機能アサイン処理のフロ
ーチャートを示している。この処理のステップS400
では、図12に示すステップS310で収集した各ユニ
ットの情報をデバイスの種類毎に分類する。次のステッ
プS410では、少なくとも1つの入力デバイス(例え
ば、鍵盤、MIDIインタフェース等)と、1つの出力
デバイス(発音ユニット)とが存在するか否かが判断さ
れる。これらがない場合は、楽器システムとして機能し
ないため、ステップS470に分岐され、図10に示す
メインユニットブート処理を再度立ち上げるようにす
る。これにより、遅れて立ち上がったユニットの情報を
取り入れることができる。
としての動作が可能と判断された時は、ステップS41
5以下の各機能の処理を順に実行する。まず、ステップ
S415でオーディオユニット処理が行われる。この処
理では、メインユニットがプログラムサーバモジュール
から読み出したオーディオユニット用のプログラムを、
オーディオユニットに設定すると共に、オーディオユニ
ットの物理アドレスをメインユニットに記憶させ、論理
アドレスを設定させている。物理アドレスをメインユニ
ットに記憶させるのは、後述するTG(発音ユニット)
処理の時にTGがどこに出力を出すのかを指示するため
にオーディオユニットの物理アドレスが必要となるため
である。そして、図14以降で後述するTG処理、アサ
イン処理、KB処理、パネル処理がステップS420〜
S460により、順次行われて機能アサイン処理は終了
する。
出されるTG処理のフローチャートを示す。この処理に
おいては、ステップS500にてカウンタcoが「1」
に設定される。このカウンタcoの値は論理アドレスの
下位データと使用され、下位データの「0」がブロード
キャストに使用されるため、「1」からカウントするよ
うにされている。次に、ステップS505に進み、まだ
処理されずに残っている発音ユニットのデータがバッフ
ァに残っているかが判断される。この場合は、システム
の立ち上げ時であり、図13に示すステップS410に
おいて、発音ユニットは1つ以上存在することが確認さ
れているため、ステップS510に進んで、バッファか
らDEV=“TG”である情報を1つ取り出し、ステッ
プS515にてその発音ユニットの物理アドレスをAD
DRとして設定する。
り出すために送信コマンドSCOMとして“Data Req
”を設定して、このSCOMをネットワーク上のAD
DRに送信する。すると、このSCOMは上記バッファ
から取り出された物理アドレスの発音ユニットにより受
信され、この発音ユニットは自らの発音ユニットの発音
タイプと、最大発音数のデータをメインユニットに送信
する。この発音タイプには波形メモリ方式、FM音源方
式、DSPシミュレーション方式等があり、DSPシミ
ュレーション方式は発音のためにマイクロプログラムを
一般に必要とする。メインユニットはステップS535
にて発音ユニットから送信された発音タイプデータをカ
ウンタcoが「1」のTG TYPEとして記憶し、最大発音
数データをカウンタcoが「1」のCH Num として記憶
する。このステップS535までが発音ユニットからデ
ータを取り出すステップであり、次のステップS540
からが、取り出したデータを元に発音ユニットにプログ
ラムを割り当てるステップである。
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』の論理アドレスが各発音
ユニットに与えられると共に、発音ユニットの発音タイ
プおよび最大発音数に応じた制御プログラム、およびマ
イクロプログラムが供給される。
おいて、発音ユニットがDSPを用いたシミュレーショ
ン音源方式と認識された場合は、例えば、ピアノの音色
を発生するマイクロプログラムを転送するようにする。
これは、楽器の電源を投入した時に音が出ないことを防
止するためである。ただし、音源が波形メモリ方式の場
合はマイクロプログラムは必要としないので、この処理
は必要としない。また、論理アドレスの上位データは、
図5に示す表の左端のように処理に応じて設定されてお
り、メインユニットは『0』、鍵盤は『1』、パネルス
イッチは『2』、発音ユニットは『3』、MIDIイン
タフェースは『4』、アサイナユニットは『5』、オー
ディオユニットは『6』、プログラムサーバモジュール
は『7』、接続されていないものは『8』とされてい
る。この上位の論理アドレスに、前記カウンタcoで設
定されたデータを下位データとして設定することによ
り、同じ処理を行うユニット(論理アドレスの上位デー
タが同じとなる)の論理アドレスをそれぞれ設定するこ
とができる。次に、ステップS560にてカウンタco
の値が、co+1にインクリメントされステップS50
5に戻り、未処理ユニットがなくなるまで上記処理が繰
り返し行われる。
ートを示す。アサインには、空きチャンネルを探す処理
や、空きチャンネルがない時は最も音量の小さいチャン
ネルを探す処理が必須であり、この時には端からチャン
ネルをすべてスキャンする必要があるため、チャンネル
数が増加するとアサインのために時間がかかるようにな
る。そこで、このような場合はアサイン処理を分割して
アサインにかかる時間を短縮するようにする。ここで
は、まずアサイン機能を分担可能なユニットを調べて、
アサインを1つのユニットでできる場合はアサインプロ
グラムをそのユニットに割り当てる。しかし、発音チャ
ンネル数が多く、アサインを1つにユニットではできな
い場合は、発音ユニットを複数のグループに分けて、グ
ループ毎のアサイナユニットと複数のアサイナを統括す
るメタアサイナユニットを決定して、それぞれプログラ
ムを割り当てるようにする。仕事を割り当てる際には、
ステップS310で得られた各モジュールのスピードS
PEEDと既に割り当てられた仕事量に応じ、最も余力
のあるモジュールに割り当てるようにする。
を分担可能な各ユニットの仕事量を調べ、この結果発音
チャンネル数が少なく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つの場合はそのア
サイナが主アサイナとなる)に発音要求を送信すれば良
いからである。
仕事量が多過ぎると判断された場合は、ステップS61
4に進み、各発音ユニット(TG)のTGタイプおよび
発音チャンネル数に応じて発音ユニットを複数のグルー
プに分割する。この分割は、例えば波形メモリ方式をア
サインするもの、DSPシミュレーション音源方式をア
サインするものとで分割する。あるいは、手演奏(KB
から)と自動演奏をアサインするもので分割する、単に
1/2に分割する等のいずれの分割方法でも良い。この
ようにして、分割されたグループのグループナンバgn
を「1」とするようステップS616にて設定し、ステ
ップS618にて、このグループナンバgnの発音チャ
ンネルにアサインを行うユニットを決定し、ステップS
620にてそのアサインユニットの物理アドレスをAD
DRとして設定する。そして、ステップS622にて発
音ユニットのグループナンバgnに必要なプログラムを
プログラムサーバモジュールから取り出し、PROGと
してレジスタに設定する。
バ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に進みメタアサイナの処理が行われ
る。
ンを行うユニットを決定し、ステップS638にて、そ
のメタアサインユニットの物理アドレスをADDRとし
て設定する。そして、ステップS640にてメタアサイ
ナのプログラムをプログラムサーバモジュールから取り
出し、PROGとしてレジスタに設定する。次に、ステ
ップS642にてアサイナとなった各ユニットの物理ア
ドレスあるいは論理アドレス、および各アサイナのアサ
イン条件が付加情報INFOとしてレジスタに設定され
る。次に、ステップS644にてメタアサイナの論理ア
ドレスLADDRが『5.0』に設定されると共に、ス
テップS646にて送信コマンドSCOMが“Prog Lo
ad”とされて、ステップS648にて上記SCOM,P
ROG,INFO,LADDRをネットワーク上のAD
DRに送信する。
のアサイナの処理が可能になる。なお、図7にメタアサ
イナのアサイン条件のテーブル例を示す。この図におけ
るテーブルは、例えばキーボード(KB)からの発音要
求、自動演奏からの発音要求、MIDI1〜8ch、M
IDI9〜16chから発音要求をアサイン条件として
分割したグループ、分割されたグループをそれぞれアサ
インするアサイナユニットの物理アドレスをテーブルと
している。
ーチャートを示す。キーボードには、例えばタッチレス
ポンスの機能のついているものやついていないもの、ア
フタタッチ機能のついているものやいないもの、キーボ
ードの横にピッチベンドホイールがついているものやい
ないもの、等の種々の制御タイプのキーボードがあるた
め、これらのデータをとり出して、これに応じたプログ
ラムを割り当てるようにしている。まず、ステップS7
00にて、カウンタcoが「1」に設定される。このカ
ウンタcoの値は論理アドレスの下位データと使用さ
れ、下位データの「0」がブロードキャストに使用され
るため、「1」からカウントするようにされる。
れずに残っているキーボードを含むユニットのデータが
バッファに残っているかが判断される。この場合は、シ
ステムの立ち上げ時であり、図13に示すステップS4
10において、キーボードが1つ以上存在することが確
認されているため、ステップS710に進んで、バッフ
ァからDEV=“KB”である情報を1つ取り出し、ス
テップS715にてそのキーボードを含むユニットの物
理アドレスをADDRとして設定する。次に、このキー
ボードを含むユニットから詳細情報を取り出すために送
信コマンドSCOMに“Data Req ”を設定して、この
SCOMをネットワーク上のADDRに送信する。する
と、このSCOMは上記バッファから取り出されたキー
ボードを含むユニットにより受信され、このキーボード
を含むユニットは接続されたキーボードの制御タイプ
と、ホイール等の操作子のデータをメインユニットに返
送する。メインユニットはステップS735にてこのユ
ニットから送信された制御タイプデータをカウンタ値
「1」のKB TYPEとして記憶し、操作子データをカウン
タ値「1」のCnt として記憶する。以上のステップがキ
ーボードからデータを読み出す処理であり、以降のステ
ップが取り出したデータを元にキーボードにプログラム
を割り当てる処理である。
されたKb TYPEおよび操作子データCnt に応じた制御プ
ログラムをプログラムサーバモジュールから取り出し
て、PROGとしてレジスタに設定する。さらに、ステ
ップS742にてこのユニットの論理アドレスLADD
Rとして『1.co』(この場合、『1.1』となる)
を設定し、ステップS745にて、図15で示すアサイ
ナ処理で記憶された、主アサイナの物理アドレスを付加
情報INFOとしてレジスタに設定する。この場合の主
アサイナとはアサイナが単独のユニットで構成されてい
る場合は、そのユニットの物理アドレスであり、複数の
ユニットで構成されている時は、メタアサイナの物理ア
ドレスとなる。
SCOMとして“Prog Load”を設定すると共に、ステ
ップS755にて、上記SCOM,PROG,INF
O,LADDRをネットワーク上のADDRに送信す
る。そして、ステップS760に進みカウンタcoの値
が1つインクリメントされてco+1とされて、ステッ
プS705に戻り、未処理ユニットがなくなるまで上記
処理が繰り返し行われる。
処理は、まず、ステップS800にて、カウンタcoが
「1」に設定される。このカウンタcoの値は論理アド
レスの下位データと使用され、下位データの「0」がブ
ロードキャストに使用されるため、「1」からカウント
するようにされる。次にステップS810に進み、まだ
処理されずに残っているMIDIユニットのデータが残
っているかが判断される。未処理ユニットが残っている
場合は、ステップS820に進んで、そのMIDIユニ
ットの物理アドレスをADDRとして設定する。そし
て、ステップS830にてMIDI制御プログラムをプ
ログラムサーバモジュールから取り出して、PROGと
してレジスタに設定し、ステップS840にて、このM
IDIユニットの論理アドレスを『4.co』(この場
合、『4.1』となる)を設定し、ステップS850に
て、図15で示すアサイナ処理で記憶された、主アサイ
ナの物理アドレスを付加情報INFOとしてレジスタに
設定する。
SCOMとして“Prog Load”を設定すると共に、ステ
ップS870にて、上記SCOM,PROG,INF
O,LADDRをネットワーク上のADDRに送信す
る。そして、ステップS880に進みカウンタcoの値
が1つインクリメントされてco+1とされて、ステッ
プS810に戻り、未処理ユニットがなくなるまで上記
処理が繰り返し行われる。
て、主アサイナの物理アドレスをキーボードを含むユニ
ットあるいはMIDIユニットに供給しているのは、主
アサイナの論理アドレス「5.0」を用いて通信を行っ
た場合には、データが論理アドレスを判断するルーチン
まで上がって検出されるため、ネットワークの負担にな
る。しかしながら、物理アドレスはネットワークの入口
のハードウェアで検出するようにすることが一般的であ
るため、物理アドレスで実現できるものはブロードキャ
ストを用いることなく、物理アドレスにより通信を行う
ようにした方が種々の点で有利であるからである。
理においては、まず、ステップS900にて、カウンタ
coが「1」に設定される。このカウンタcoの値は論
理アドレスの下位データと使用され、下位データの
「0」がブロードキャストに使用されるため、「1」か
らカウントするようにされる。次にステップS910に
進み、まだ処理されずに残っているパネルを含むユニッ
トのデータが残っているか否かが判断される。未処理ユ
ニットが残っている場合は、ステップS920に進ん
で、そのパネルを含むユニットの物理アドレスをADD
Rとして設定する。そして、ステップS930にてパネ
ル制御プログラムをプログラムサーバモジュールから取
り出して、PROGとしてレジスタに設定し、ステップ
S940にてパネルを含むユニットの論理アドレスを
『2.co』(この場合、『2.1』となる)を設定
し、ステップS950にて、各発音ユニットの物理アド
レスあるいは論理アドレスを付加情報INFOとしてレ
ジスタに設定する。
SCOMとして“Prog Load”を設定すると共に、ステ
ップS970にて、上記SCOM,PROG,INF
O,LADDRをネットワーク上のADDRに送信す
る。そして、ステップS980に進みカウンタcoの値
が1つインクリメントされてco+1とされて、ステッ
プS910に戻り、未処理ユニットがなくなるまで上記
処理が繰り返し行われる。以上がメインユニット側のフ
ローチャートであり、次に、スレイブユニット側のフロ
ーチャートを示す。
ローチャートを示す。この処理においては、まずステッ
プS1000において周辺回路の初期化を行い、その後
ステップS1005にて、“Addr Req ”コマンドを送
信コマンドSCOMとして設定し、ステップS1010
にてこのSCOMをネットワーク上にブロードキャスト
し、所定時間メインユニットからの返答を待機するよう
にする。メインユニットからの返答があったことがステ
ップS1015にて判断された時は、ステップS102
0にて返答の送信元であるメインユニットの物理アドレ
スをMain ADとして記憶する。次からのステップは自ら
のデータを送るためのステップであり、ステップS10
25にて外部機器接続ポートを走査し、接続機器がある
ことがステップS1030で判断された時は、ステップ
S1035にて検出された接続機器のデバイス名をDE
Vとしてレジスタに設定しステップS1045に進む。
ステップS1040にて“NONE”をDEVとして設定し
て、 同様にステップS1045に進み、自ユニットのC
PUの処理スピードをSPEEDとしてレジスタに設定
し、ステップS1050にて初期化を要求する“INIT”
コマンドを送信コマンドSCOMとして設定する。次
に、ステップS1055にて上記SCOM,DEV,S
PEEDをネットワーク上のMain ADに送信する。上記
SPEEDデータはそのスレイブユニットがアサインユ
ニットとされる時にメタアサインとするかどうかの判断
材料となる。また、外部機器として例えば、鍵盤KBと
パネルPNが接続されいる時は、DEVをKB/PNと
して2つのデバイスを設定することもできる。次に、ス
テップS1060にてメインユニットから送信されてく
るプログラム等のデータを待つべく、ネットワークジョ
ブを立ち上げてスレイブユニットブート処理が終了す
る。
ーチャートを図20に示す。この処理においては、ステ
ップS1100においてスレイブユニットのインタフェ
ースが走査されて、ステップS1110にてパケットが
受信されたか否かが判断され、パケットが受信されるま
でインタフェースの走査が繰り返し行われる。そして、
パケットが受信されると、ステップS1120にて受信
データの組立が行われる。これは、データ量がプログラ
ムのように大量の場合は複数のパケットに分割されてデ
ータが送信されてくるため、分割されたデータを元に組
み立てる処理をこのステップにより行うためである。従
って、データが組み立てられるまでインタフェースを走
査して繰り返しパケットを取り込むようにしている。
れたことがステップS1130で判断されると、ステッ
プS1140にて論理アドレスがあるか否かが判断され
る。論理アドレスはプログラムの転送と同時にメインユ
ニットから割り当てられるため、プログラムがロードさ
れたあとは論理アドレスがあることになる。すなわち、
この場合はプログラムロード状態となっているため、ス
テップS1160にて対応するジョブにデータを渡せる
状態となっていることになる。そして、論理アドレスが
ない場合はプログラムが未だロードされていない状態な
ので、ステップS1150にてプログラムをロードする
等のジョブアサイン処理が行われる。次に、ステップS
1170に進み、以上のステップによる処理を実行した
結果、データを送信する時は、そのデータ送信要求に応
じて対応するアドレスにデータを送信する。すなわち、
ジョブがデータを送りたい場合にはそのデータ長に応じ
て複数のパケットの形にしたり、送信先の物理アドレス
を設定して送る等の処理を行う。このように、このネッ
トワークジョブ処理はデータを受信するだけでなくデー
タを送信する処理も行うと共に、この処理は立ち上げ時
だけではなく通常のルーチンワークの処理も行う。
ブアサイン処理で呼び出されるフローチャートを示す。
この処理は、ステップS1120で組み立てられた受信
データより受信コマンドRCOMを抽出し、このRCO
Mが“Data Req ”コマンドであるかどうかがステップ
S1210にて判断される。RCOMが“Data Req”
コマンドである時はステップS1220にて“Data An
s ”コマンドが送信コマンドSCOMとして設定され、
ステップS1230にてこのSCOMおよび自ユニット
の処理速度SPPEDや接続機器データDEVをネット
ワーク上のMainADに送信する。
ではない場合はステップS1240にて、“Prog Roa
d”コマンドであるか否かが判断され、“Prog Road”
コマンドである場合は、ステップS1250にて受信デ
ータよりプログラムPROG,付加情報INFO,論理
アドレスLADDRが抽出され、プログラムPROGを
そのユニットのCPUが実行可能なようにRAMにロー
ドする。この実行可能なようにロードするとは、例えば
発音アサイナのプログラムを読み込んだ場合は、読み込
んだだけでは発音ユニットの最大発音数等がわからない
ため、どれをどこにアサインするのかわからない。この
ため、これらのデータをINFOから得て、アサイナに
設定されたチャンネル数等をスキャンできるようにプロ
グラムを変更する等の処理を含んでいる。そして、ステ
ップS1270にて初期化ジョブを実行する。この初期
化ジョブはステップS1260にてロードされたプログ
ラム中にプログラムされている。このようにして、受信
コマンドRCOMが“ProgRoad”コマンドでない場合と
同様に、ジョブアサイン処理は終了する。
ョブのフローチャートを示す。この処理は、まず、スキ
ャンしたデータを主アサイナに送信するため、ステップ
S1300にて付加情報INFOより主アサイナの物理
アドレスを取り出し、ステップS1310にてKBジョ
ブを立ち上げ、この初期化ジョブは終了する。
す。このジョブは、ステップS1400にて外部機器接
続ポートを走査して、ステップS1410にて走査した
データと前回の走査のデータとを比較して、ステップS
1420にて両データの間に一致しないデータがある時
はキーイベントがあるものと判断する。そして、キーイ
ベントが複数ある場合はステップS1430にてその内
の1つのイベントを取り出し、主アサイナに送信するた
めの処理を順次行う。すなわち、ステップS1440に
て“Note On”コマンドあるいは“Note Off ”コマン
ドを送信コマンドSCOMとして設定し、ステップS1
450にてキーの音高情報やキータッチ情報をDATA
としてレジスタに設定した後、ステップS1460にて
SCOM,DATAをネットワーク上の前記スキャンユ
ニット初期化ジョブで記憶した主アサイナの物理アドレ
スに送信する。この後、キーイベントに残りがあればス
テップS1470にて判断されて、ステップS1430
に戻り上記処理が繰り返し行われる。キーイベントの残
りがなくなれば、キーイベントがない場合と同様にKB
ジョブは終了する。これらのジョブは割り込みにより繰
り返し実行される。
チャートを図24に示す。この処理のステップS150
0において、付加情報INFOより例えば図7に示すよ
うなメタアサイナのアサイン条件テーブルを作成し、初
期化ジョブは終了する。図25にメタアサインジョブの
フローチャートを示すが、このジョブにはキーボード等
からのノートオン処理やノートオフ処理の信号が送りつ
けられる。そこで、ステップS1600にて受信データ
より各種の情報を取り出し、ステップS1610にて前
記メタアサイナ初期化ジョブで作成したメタアサイナの
アサイン条件テーブルを参照してこの条件に合致するア
サインモジュールの論理アドレスを得る。そして、ステ
ップS1620にてこの論理アドレスに受信データを転
送する。この場合、データがネットワークに送出される
のは前記図20に示すネットワークジョブ処理のステッ
プS1170にて行われるが、このステップではテーブ
ルを参照して上記論理アドレスを物理アドレスに変更し
てパケットを作成し、物理アドレスによりデータを送信
するようにしている。
ートを図26に示す。この処理のステップS1700に
おいて、付加情報INFOより例えば図8に示すような
アサイナのアサインテーブルを作成し、初期化ジョブは
終了する。このアサインテーブルにおいて、発音ユニッ
トはそれぞれ4チャンネルのユニット1およびユニット
2とされており、このユニット番号が論理アドレスとさ
れ、ユニット固有のアドレスがその物理アドレスとされ
ると共に、1〜4の番号は発音チャンネル番号とされて
いる。
を示す。この処理においては、ステップS1800にて
受信データより各種の情報を取り出し、ステップS18
10にて前記アサイナ初期化ジョブで作成したアサイナ
のアサインテーブルを参照して、ステップS1820に
て特定のユニット番号と発音チャンネル番号にアサイン
するようにする。そして、ステップS1830にて発音
を割り当てる発音ユニットの論理アドレスをLAとして
設定し、ステップS1840にて、付加情報INFOと
して受信データDATAの音高情報とタッチ情報の内
容、アサインタイプ、音色情報、発音を割り当てる発音
ユニット内の発音チャンネル番号を設定する。そして、
ステップS1850にて“Note On”コマンドあるいは
“Note Off ”コマンドを送信コマンドSCOMとし
て、INFOをネットワーク上の論理アドレスLAに送
信し、アサイナジョブは終了する。ただし、この送信は
前記と同様に図20に示すステップS1170にて論理
アドレスが物理アドレスに変更されて行われる。
のフローチャートを示す。このジョブは、ステップS1
900にて楽音合成回路の初期化を行い、回路をクリア
することにより前回のデータによる異音の発生を防止し
ている。そして、ステップS1910にてメインユニッ
トから送信された付加情報INFOよりオーディオユニ
ットの物理アドレスを取り出す。さらに、オーディオ出
力ジョブの立ち上げをステップS1920で行い、DS
Pを用いたシミュレーション音源のようにマイクロプロ
グラムが与えられた場合は、ステップS1930にて与
えられたマイクロプログラムをマイクロプログラム用メ
モリへ転送している。これにより、発音ユニット初期化
ジョブは終了する。
トを示す。このジョブにおいて、ステップS2000に
てアサインジョブにより送信されてきた付加情報INF
Oより情報を取り出して、ATとしてAsign Type、KC
としてKey Code、ITとしてInitial Touch 、ACとし
てAssign Channel を設定する。このアサインタイプ
は、例えばDSPを用いたシミュレーション音源方式の
場合は、図28に示すステップS1930にてマイクロ
プログラムが与えられることにより、音色が決定されて
いる。しかしながら、この音色はマイクロプログラムを
変更しなければ変更することができないことから、この
方式をスタティックなアサインタイプとし、例えば波形
メモリ方式は音色コードを送ることにより音色を変更す
ることができることから、ダイナミックなアサインタイ
プとしている。これにより、ダイナミックなアサインタ
イプの場合は、キーオン毎にあるいは発音割当毎に音色
を変えることができる。
タイプATが“Dynamic ”と判断された場合は、ステッ
プS2020にて、付加情報INFOより音色情報Tone
Color を取り出してTCとして設定する。次に、ステ
ップS2030にてこの音色コードTCを発音チャンネ
ルACに送り、さらに、アサインタイプがスタティック
な時と同様に、ステップS2040にて発音チャンネル
ACにキーコードKC,イニシャルタッチ情報IT、キ
ー音信号KONを送り発音ユニットより発音が開始され
るようにする。そして、ノートオンジョブは終了する。
いては、ステップS2100にて送信されてきた付加情
報INFOよりAssign Channel を取り出してACとし
て設定し、ステップS2110にて、その発音チャンネ
ルACにキーオフ信号OFFを送ることにより発音を停
止させる。これによりノートオフジョブは終了する。ま
た、全発音を止めるオールノートオフジョブの場合は、
ネットワーク上に論理アドレス「3.0」のブロードキ
ャストにより、キーオフ信号KOFFを送信すると、図
31に示すようにステップ2200にて、全発音チャン
ネルに受信されたキーオフ信号OFFが送られ、すべて
の発音チャンネルよりの発音が停止される。さらに、図
28に示すステップS1920にて立ち上げるオーディ
オ出力ジョブを図32に示す。このジョブは、ステップ
S2300にて楽音合成回路の出力ディジタルデータを
パケット化しオーディオユニットへ送信するジョブであ
る。
が、1つのユニットの処理能力に余裕があれば、複数の
機能を1ユニットに割り当てることができる。例えば、
1つのユニットに鍵スキャンのプログラムと発音割当の
プログラムとを割当て同時に動作させることができる。
これらのプログラムは割り込みなどにより時分割マルチ
タスクで処理される。このように複数の機能を割当てる
場合、単純に処理能力のあるものにランダムにプログラ
ムを割り当てるのではなく、処理に関連のあるものを割
り当てるようするとよい。すなわち、上記のように割り
当てると鍵スキャンからの情報はネットワークを介する
ことなく、発音割当のプログラムに転送されるので、レ
スポンスが向上するだけでなく、ネットワークのトラフ
ィックを減少させることができる。ただし、この場合
は、ネットワークに送信する前に、自ユニット中に対象
の機能が存在するか否かを調べて、存在する場合にはネ
ットワークに通信しない手段をプログラムに付加するよ
うにする。
常の発音割当アルゴリズムでは発音チャンネル数Nに比
例して処理時間が増加するが、メタアサインユニットが
理想的であった場合(オーバヘッドが0で、割当が均一
に分割される場合)、理論的にはNlogNの時間で処
理を行うことができる。しかしながら、実際にはオーバ
ヘッドがあるのでここまで処理は効率化できないが、さ
らにメタアサインユニットを多段に構成すると、アサイ
ンをさらに高速にすることができる。この場合、メタア
サインユニット、メタメタアサインユニット(メタアサ
インユニットにアサインするためのユニット)とを同一
のモジュール中で構成すると、通信によるオーバヘッド
を極力少なくすることができる。
ットワークシステムは、ネットワークに接続される複数
の処理ユニットと、この複数の処理ユニットの処理能力
や、外部接続機器が接続されているか等の状態を検出
し、検出された状態に応じて、上記複数の処理ユニット
のそれぞれに少なくとも一つの処理を割り当てる、上記
ネットワークに接続される割り当て手段とを備え、上記
割り当てられた処理に応じて、上記複数の処理ユニット
が協調して動作するようにしたものである。
テムは、各処理を行うためのプログラムを各種記憶して
いる記憶手段と、処理の割当に応じて必要なプログラム
を割り当てられたユニットに転送する手段とをさらに備
えるものである。さらに、本発明の電子楽器ネットワー
クシステムは、ネットワーク上の各発音ユニットの発音
チャンネル数を検出する手段と、この手段により検出さ
れた検出結果に応じて発音割当を管理する発音割り当て
用のテーブルを作成する作成手段と、作成されたテーブ
ルによって発音をネットワーク上の所定のユニットに割
り当てる割当手段とをさらに備えるものである。さらに
また、本発明の電子楽器ネットワークシステムは、複数
の発音チャンネルを複数のグループに分割し、この複数
のグループ毎に発音割当を行う複数の発音割当手段と、
所定の条件に応じて1つの発音割当手段を選択する選択
手段とをさらに備えるものである。
で、従来一つの電子楽器で処理していた複数の処理を、
ネットワークに接続した各ユニットに自動的に分散させ
ることができるため、各種の拡張が可能になると共に、
ネットワーク上の資源を有効に利用することができる電
子楽器ネットワークシステムを実現することができる。
概念図である。
る。
ある。
す図である。
る。
の動作の概要を示す図である。
を示す図である。
ートを示す図である。
す図である。
である。
る。
る。
る。
トを示す図である。
示す図である。
図である。
ートを示す図である。
る。
を示す図である。
図である。
す図である。
ある。
を示す図である。
である。
である。
示す図である。
す図である。
を示すブロック図である。
ーチャートを示す図である。
Claims (1)
- 【請求項1】ネットワークに接続される複数の処理ユニ
ットと、 該複数の処理ユニットの処理能力や、外部接続機器が接
続されているか等の状態を検出し、検出された状態に応
じて、上記複数の処理ユニットのそれぞれに少なくとも
一つの処理を割り当てる、上記ネットワークに接続され
る割り当て手段とを備え、 上記割り当てられた処理に応じて、上記複数の処理ユニ
ットが協調して動作することを特徴とする電子楽器ネッ
トワークシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6072879A JP3003498B2 (ja) | 1994-03-18 | 1994-03-18 | 電子楽器ネットワークシステム |
US08/398,288 US5616879A (en) | 1994-03-18 | 1995-03-03 | Electronic musical instrument system formed of dynamic network of processing units |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6072879A JP3003498B2 (ja) | 1994-03-18 | 1994-03-18 | 電子楽器ネットワークシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11265087A Division JP3092625B2 (ja) | 1999-09-20 | 1999-09-20 | 電子楽器ネットワークシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07261756A true JPH07261756A (ja) | 1995-10-13 |
JP3003498B2 JP3003498B2 (ja) | 2000-01-31 |
Family
ID=13502069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6072879A Expired - Fee Related JP3003498B2 (ja) | 1994-03-18 | 1994-03-18 | 電子楽器ネットワークシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5616879A (ja) |
JP (1) | JP3003498B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002199046A (ja) * | 2000-12-25 | 2002-07-12 | Yamaha Corp | ネットワークにおけるデータ送受信管理方法及び同データ送受信管理装置 |
US6801944B2 (en) | 1997-03-13 | 2004-10-05 | Yamaha Corporation | User dependent control of the transmission of image and sound data in a client-server system |
US7373431B2 (en) | 2001-12-10 | 2008-05-13 | Sony Corporation | Signal processing apparatus, signal processing method, signal processing system, program and medium |
JP2008236745A (ja) * | 2008-03-10 | 2008-10-02 | Sony Corp | 信号処理装置、信号処理方法、プログラム及び媒体 |
JP2009025499A (ja) * | 2007-07-18 | 2009-02-05 | Yamaha Corp | 波形生成装置、音響効果付与装置、および楽音発生装置 |
JP2009025498A (ja) * | 2007-07-18 | 2009-02-05 | Yamaha Corp | 波形生成装置 |
JP2009065720A (ja) * | 2001-04-12 | 2009-03-26 | Sony Corp | 画像信号処理装置 |
US7694326B2 (en) | 2002-05-17 | 2010-04-06 | Sony Corporation | Signal processing system and method, signal processing apparatus and method, recording medium, and program |
JP2010176147A (ja) * | 2010-04-05 | 2010-08-12 | Yamaha Corp | 電子楽器用バスシステム |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3003498B2 (ja) | 1994-03-18 | 2000-01-31 | ヤマハ株式会社 | 電子楽器ネットワークシステム |
SG76495A1 (en) * | 1996-01-26 | 2000-11-21 | Yamaha Corp | Electronic musical system controlling chain of sound sources |
DE69721471T2 (de) * | 1996-12-26 | 2004-03-18 | Canon K.K. | Fernsteuereinrichtung und zugehöriges System |
US6404770B1 (en) | 1997-12-02 | 2002-06-11 | Yamaha Corporation | Data communication interface with adjustable-size buffer |
US6444890B2 (en) * | 1999-12-17 | 2002-09-03 | Yamaha Corporation | Musical tone-generating apparatus and method and storage medium |
US6961631B1 (en) * | 2000-04-12 | 2005-11-01 | Microsoft Corporation | Extensible kernel-mode audio processing architecture |
US6646195B1 (en) * | 2000-04-12 | 2003-11-11 | Microsoft Corporation | Kernel-mode audio processing modules |
US7277765B1 (en) | 2000-10-12 | 2007-10-02 | Bose Corporation | Interactive sound reproducing |
JP4120978B2 (ja) | 2001-02-27 | 2008-07-16 | ヤマハ株式会社 | 電子楽器用バスシステム |
JP4311897B2 (ja) * | 2001-09-21 | 2009-08-12 | ヤマハ株式会社 | 電子音楽装置システム |
JP3753039B2 (ja) * | 2001-09-21 | 2006-03-08 | ヤマハ株式会社 | 電子音楽装置 |
EP1555772A3 (en) * | 2004-01-15 | 2013-07-17 | Yamaha Corporation | Remote control method of external devices |
JP4432814B2 (ja) * | 2005-03-25 | 2010-03-17 | ヤマハ株式会社 | 演奏データ通信管理システム及び演奏データ通信管理装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5972491A (ja) * | 1982-10-19 | 1984-04-24 | ヤマハ株式会社 | 複数の電子楽器の制御方法 |
JPS6188197U (ja) * | 1984-11-14 | 1986-06-09 | ||
JPS62208099A (ja) * | 1986-04-24 | 1987-09-12 | ヤマハ株式会社 | 楽音発生装置 |
JPS63314598A (ja) * | 1987-06-17 | 1988-12-22 | ロ−ランド株式会社 | キ−アサイナ |
JPH0244456A (ja) * | 1988-08-05 | 1990-02-14 | Nec Corp | 分散処理システムにおける資源情報自動更新方式 |
JPH0259953A (ja) * | 1988-08-26 | 1990-02-28 | Nec Corp | 装置割当方式 |
JPH0273447A (ja) * | 1988-09-09 | 1990-03-13 | Fuji Electric Co Ltd | ローカルcpuのログオン方法 |
JPH0378862A (ja) * | 1989-08-23 | 1991-04-04 | Nec Corp | 電子計算機組み込み制御方式 |
JPH04335463A (ja) * | 1991-05-13 | 1992-11-24 | Nec Software Kansai Ltd | 複合ネットワーク管理方式 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5636697A (en) * | 1979-09-03 | 1981-04-09 | Nippon Musical Instruments Mfg | Electronic musical instrument |
US4736663A (en) * | 1984-10-19 | 1988-04-12 | California Institute Of Technology | Electronic system for synthesizing and combining voices of musical instruments |
JPS61294499A (ja) * | 1985-06-21 | 1986-12-25 | ヤマハ株式会社 | 楽音信号発生装置 |
JPH0664464B2 (ja) * | 1985-12-02 | 1994-08-22 | ヤマハ株式会社 | 電子楽器ネツトワ−クシステム |
US4984497A (en) * | 1986-11-28 | 1991-01-15 | Yamaha Corporation | Tone signal generation device having a tone element control function |
JP2940322B2 (ja) * | 1992-11-11 | 1999-08-25 | ヤマハ株式会社 | 電子楽器 |
JP3003498B2 (ja) | 1994-03-18 | 2000-01-31 | ヤマハ株式会社 | 電子楽器ネットワークシステム |
-
1994
- 1994-03-18 JP JP6072879A patent/JP3003498B2/ja not_active Expired - Fee Related
-
1995
- 1995-03-03 US US08/398,288 patent/US5616879A/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5972491A (ja) * | 1982-10-19 | 1984-04-24 | ヤマハ株式会社 | 複数の電子楽器の制御方法 |
JPS6188197U (ja) * | 1984-11-14 | 1986-06-09 | ||
JPS62208099A (ja) * | 1986-04-24 | 1987-09-12 | ヤマハ株式会社 | 楽音発生装置 |
JPS63314598A (ja) * | 1987-06-17 | 1988-12-22 | ロ−ランド株式会社 | キ−アサイナ |
JPH0244456A (ja) * | 1988-08-05 | 1990-02-14 | Nec Corp | 分散処理システムにおける資源情報自動更新方式 |
JPH0259953A (ja) * | 1988-08-26 | 1990-02-28 | Nec Corp | 装置割当方式 |
JPH0273447A (ja) * | 1988-09-09 | 1990-03-13 | Fuji Electric Co Ltd | ローカルcpuのログオン方法 |
JPH0378862A (ja) * | 1989-08-23 | 1991-04-04 | Nec Corp | 電子計算機組み込み制御方式 |
JPH04335463A (ja) * | 1991-05-13 | 1992-11-24 | Nec Software Kansai Ltd | 複合ネットワーク管理方式 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801944B2 (en) | 1997-03-13 | 2004-10-05 | Yamaha Corporation | User dependent control of the transmission of image and sound data in a client-server system |
JP2002199046A (ja) * | 2000-12-25 | 2002-07-12 | Yamaha Corp | ネットワークにおけるデータ送受信管理方法及び同データ送受信管理装置 |
JP2009065720A (ja) * | 2001-04-12 | 2009-03-26 | Sony Corp | 画像信号処理装置 |
US7373431B2 (en) | 2001-12-10 | 2008-05-13 | Sony Corporation | Signal processing apparatus, signal processing method, signal processing system, program and medium |
KR100953789B1 (ko) * | 2001-12-10 | 2010-04-21 | 소니 주식회사 | 신호 처리 장치, 신호 처리 방법, 신호 처리 시스템, 및 컴퓨터 판독 가능 기록 매체 |
US8255588B2 (en) | 2001-12-10 | 2012-08-28 | Sony Corporation | Signal processing apparatus, signal processing method, signal processing system, program and medium |
US7694326B2 (en) | 2002-05-17 | 2010-04-06 | Sony Corporation | Signal processing system and method, signal processing apparatus and method, recording medium, and program |
US8037509B2 (en) | 2002-05-17 | 2011-10-11 | Sony Corporation | Signal processing system and method, signal processing apparatus and method, recording medium, and program |
JP2009025499A (ja) * | 2007-07-18 | 2009-02-05 | Yamaha Corp | 波形生成装置、音響効果付与装置、および楽音発生装置 |
JP2009025498A (ja) * | 2007-07-18 | 2009-02-05 | Yamaha Corp | 波形生成装置 |
JP2008236745A (ja) * | 2008-03-10 | 2008-10-02 | Sony Corp | 信号処理装置、信号処理方法、プログラム及び媒体 |
JP2010176147A (ja) * | 2010-04-05 | 2010-08-12 | Yamaha Corp | 電子楽器用バスシステム |
Also Published As
Publication number | Publication date |
---|---|
US5616879A (en) | 1997-04-01 |
JP3003498B2 (ja) | 2000-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3003498B2 (ja) | 電子楽器ネットワークシステム | |
US7189911B2 (en) | Electronic musical apparatus having interface for connecting to communication network | |
JP3072452B2 (ja) | カラオケ装置 | |
JP3235409B2 (ja) | ミュージックシステム、音源および楽音合成方法 | |
JPH08263079A (ja) | 通信カラオケシステム | |
JP2623878B2 (ja) | 電子楽器 | |
JP3092625B2 (ja) | 電子楽器ネットワークシステム | |
JP2705395B2 (ja) | 電子楽器 | |
JP3223756B2 (ja) | ミュージックシステムおよび電子楽器 | |
JP2629891B2 (ja) | 楽音信号発生装置 | |
JP3152198B2 (ja) | 楽音発生方法および楽音発生装置 | |
JPH06259064A (ja) | 電子楽器 | |
JP2817521B2 (ja) | 電子楽器 | |
JPH0638192B2 (ja) | 楽音発生装置 | |
JP2002258844A (ja) | 楽音演奏装置 | |
JPS61173297A (ja) | 電子楽器 | |
JP2001236067A (ja) | 楽音発生装置および記憶媒体 | |
JPH0566773A (ja) | 電子楽器 | |
JP2940322B2 (ja) | 電子楽器 | |
JP3518339B2 (ja) | 音源装置およびカラオケ装置 | |
JP3091110B2 (ja) | パラメータ設定装置 | |
JP2600229Y2 (ja) | 電子楽器 | |
JPH0642146B2 (ja) | 楽音発生装置 | |
JPH0944157A (ja) | 信号処理装置 | |
JPH05232956A (ja) | 電子楽器 |
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: 19991019 |
|
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: 20071119 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |