JP4200998B2 - 楽音発生システムにおける処理装置 - Google Patents

楽音発生システムにおける処理装置 Download PDF

Info

Publication number
JP4200998B2
JP4200998B2 JP2005304033A JP2005304033A JP4200998B2 JP 4200998 B2 JP4200998 B2 JP 4200998B2 JP 2005304033 A JP2005304033 A JP 2005304033A JP 2005304033 A JP2005304033 A JP 2005304033A JP 4200998 B2 JP4200998 B2 JP 4200998B2
Authority
JP
Japan
Prior art keywords
processing
connection
data
processing device
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005304033A
Other languages
English (en)
Other versions
JP2007114351A (ja
Inventor
弘行 大場
周三 唐川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2005304033A priority Critical patent/JP4200998B2/ja
Priority to US11/582,493 priority patent/US7847174B2/en
Priority to DE602006018693T priority patent/DE602006018693D1/de
Priority to AT06122400T priority patent/ATE491285T1/de
Priority to DE602006020055T priority patent/DE602006020055D1/de
Priority to AT08103495T priority patent/ATE498260T1/de
Priority to EP08103495A priority patent/EP1936874B1/en
Priority to EP06122400A priority patent/EP1777882B1/en
Priority to CN2006101320106A priority patent/CN1953382B/zh
Publication of JP2007114351A publication Critical patent/JP2007114351A/ja
Application granted granted Critical
Publication of JP4200998B2 publication Critical patent/JP4200998B2/ja
Priority to US12/913,665 priority patent/US7977559B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Small-Scale Networks (AREA)

Description

この発明は、ネットワークに接続されている複数の処理装置により楽音発生システムが構成される楽音発生システムにおける処理装置に関する。
従来、複数の電子楽器を互いに接続して電子楽器ネットワークシステムを構成している、いわゆるMIDI(Musical Instrument Digital Interface)が知られている。このMIDIは、自動演奏データ等を伝送するための共通規格であり、ネットワーク上に分散した複数の楽器の内のあるものから他のものにキーコード等の演奏データを一方向に伝送することを可能としている。MIDIでは、MIDIメッセージがシリアルデータであると共に、電子楽器間を接続しているMIDIラインは各機器を直列に接続するようそれぞれ布線されているため、各機器間を接続したMIDIラインがかなりの占有場所を取るようになり、また、MIDIラインが誤って1か所でもはずれてしまうと、その先に信号が伝送されず発音が停止されてしまうようになる。さらには、一度接続をはずしてしまうと元に戻す配線作業が大変になってしまう。
そこで、ネットワークを用いる楽器システムとしてmLAN(music Local Area Network)が提唱されている。mLANは、IEEE1394を使ったデジタルオーディオ/MIDIデータの伝送技術であり、AV機器や電子楽器、コンピュータシステム間をIEEE1394インターフェイスで接続することにより、256チャンネル以上のデジタルオーディオデータやMIDIデータをやり取りすることができる。このmLANは、IEEE1394上でオーディオ/MIDIデータをやり取りするためのプロトコルである「IEC61833-6 Audio and Music Data Transmission Protocol」をベースにして、AV機器や電子楽器を制御したり、連携して動作するように制御するためのコマンドを定義している。このmLANにより、従来はアナログケーブルやMIDIケーブルなどを使って行われていた複雑な機器間の接続を、IEEE1394ケーブルのデイジーチェイン接続に置き換えることができ、機器間の接続を大幅に簡略化することができる。
特許第3271493号公報
しかしながら、mLANはデイジーチェーン接続であるため、新たな機器を任意の箇所に物理的に接続して論理的な接続設定を行うことは困難な作業を伴うという問題点があった。また、各機器を直列に接続するようそれぞれ布線されているため、各機器間を接続したラインがかなりの占有場所を取るようになる。さらに、ラインが誤って1か所でもはずれてしまうと、その先に信号が伝送されず発音が停止されてしまうようになり、さらには、一度接続をはずしてしまうと元に戻す配線作業が大変であるという問題点があった。
また、新たな装置を任意の箇所に接続することのできるネットワークとしてLAN(Local Area Network)が知られている。LANは、企業内ネットワークなど比較的限られたエリア内のコンピュータ・ネットワークであり、最近では一般家庭においても構築されるようになってきている。しかしながら、LANに直接接続できる音源や各種の楽音発生関連装置が存在せず、LANのような一般的なネットワークを用いた楽器システムを構築することができないという問題点があった。
そこで、本発明はLANのような一般的なネットワークを利用して、音源や各種の楽音発生関連の処理装置をネットワーク上の任意の箇所へ物理的に接続して論理的な接続設定を簡単に行うことができ、ネットワークに接続されている処理装置を組み合わせて楽音発生システムを構築する楽音発生システムにおける処理装置を提供することを目的としている。
上記目的を達成するために、本発明の楽音発生システムにおける処理装置は、それぞれが楽音発生に関連する1乃至複数の処理要素として機能する複数の処理装置をネットワークを介して相互に接続し、該ネットワークを介して前記処理要素間を接続することにより楽音を発生する楽音発生システムにおける前記処理装置であって、前記楽音発生システム上に存在する、前記楽音発生システムを構成する各処理装置が備える前記1乃至複数の処理要素を処理装置毎に登録した装置テーブルを記憶した装置テーブル記憶手段と、前記装置テーブルに登録された処理要素のうちから複数の処理要素を選択し、該選択され処理要素間での接続設定を行う接続設定手段と、他の処理装置から、前記複数の処理要素間での接続設定を規定した接続設定情報を受信し、該受信した接続設定情報に基づいて前記接続設定手段に前記接続設定を行わせる接続設定情報受信手段と、前記接続設定手段で設定された接続設定に基づいて、当該処理装置が備える処理要素を接続元としたとき、該接続元の処理要素に対して直接に接続されるよう設定された、他の処理装置が備える接続先の処理要素を特定する接続先特定手段と、前記接続先特定手段にて特定された接続先の処理要素と、当該処理装置が備える前記接続元の処理要素との間に、データ通信の接続を確立する接続確立手段と、前記接続設定手段で設定された接続設定にて、前記接続確立手段により接続が確立された接続先の処理要素からさらに他の処理要素が接続先の処理要素となるよう設定されていたとき、前記接続確立手段にて接続が確立された前記接続先の処理要素を備えた他の処理装置に対し、前記接続設定手段にて設定された接続設定情報を送信することにより、該他の処理装置にて該送信した接続設定情報に基づく接続を確立するよう指示する接続確立指示手段とを備えることを最も主要な特徴としている。
本発明によれば、処理装置が備える処理要素を接続元としたとき、該接続元の処理要素に対して直接に接続されるよう設定された、他の処理装置が備える接続先の処理要素を特定し、特定された接続先の処理要素と、当該処理装置が備える接続元の処理要素との間に、データ通信の接続を確立し、接続が確立された接続先の処理要素からさらに他の処理要素が接続先の処理要素となるよう設定されていたとき、接続先の処理要素を備えた他の処理装置に対し、設定された接続設定情報を送信することにより、該他の処理装置にて該送信した接続設定情報に基づく接続を確立するよう指示するようにしたので、複数の処理要素を縦続して接続する際に、処理要素が機能している処理装置のいずれからも、縦続接続される処理要素の全ての接続をまとめて設定できるようになる。また、接続したい複数の処理要素が機能している処理装置とは異なる別の処理装置においてその接続を設定することもできるようになる。
本発明の実施例の楽音発生システムの構成を示すブロック図を図1に示す。
本発明にかかる楽音発生システムは、図1に示すように外部ネットワークに接続可能な内部ネットワークを備えている。内部ネットワークはイーサネット等のLANとされ一つの家の中で構築されている。この内部ネットワークはルータ2と、ルータ2の複数のLAN端子にLANケーブルを介してそれぞれ接続されているハブ10,ハブ20,ハブ30,ハブ40を備え、一つの家の中の部屋1,部屋2,部屋3,部屋4の4つの部屋にまたがって構築されるスター型のネットワークとされている。ルータ2のWAN端子はインターネット1に接続されており、インターネット1には他のネットワークに接続されているルータ3,ルータ4が接続されている。これにより、内部ネットワークはルータ2およびインターネット1を介してルータ3に接続されている他のネットワークやルータ4に接続されている他のネットワークに接続可能とされる。
部屋1には、SV(サーバ)11,TG1(音源)12,TG2(音源)13,KB(鍵盤)14,SP1(スピーカ)15の各装置が設置されており、これらの装置にはネットワークアダプタが設けられてLAN装置とされている。部屋1に設けられたハブ10の上流のLAN端子はLANケーブルを介してルータ2のLAN端子に接続されており、ハブ10の下流の複数のLAN端子とSV(サーバ)11,TG1(音源)12,TG2(音源)13,KB(鍵盤)14,SP1(スピーカ)15にそれぞれ設けられているネットワークアダプタのLAN端子との間が、それぞれLANケーブルを介して接続されている。なお、本明細書にかかるLAN装置は、例えばイーサネット等の通信プロトコルに従ってデータを通信できる機器と定義される。
また、部屋2には、SP2(スピーカ)21,DU(DSPユニット)22,MX(ミキサ)23,CR(コンテンツレコーダ)24の各装置が設置されており、これらの装置にはネットワークアダプタが設けられてLAN装置とされている。部屋2に設けられたハブ20の上流のLAN端子はLANケーブルを介してルータ2のLAN端子に接続されており、ハブ20の下流の複数のLAN端子とSP2(スピーカ)21,DU(DSPユニット)22,MX(ミキサ)23,CR(コンテンツレコーダ)24にそれぞれ設けられているネットワークアダプタのLAN端子との間が、それぞれLANケーブルを介して接続されている。
さらに、部屋3には、AA(自動伴奏)31,MR(MIDIレコーダ)32,ED(エディタ)33,EF(エフェクタ)34,AR(オーディオレコーダ)35,SY(音源、鍵盤)36の各装置が設置されており、これらの装置にはネットワークアダプタが設けられてLAN装置とされている。部屋3に設けられたハブ30の上流のLAN端子はLANケーブルを介してルータ2のLAN端子に接続されており、ハブ30の下流の複数のLAN端子とAA(自動伴奏)31,MR(MIDIレコーダ)32,ED(エディタ)33,EF(エフェクタ)34,AR(オーディオレコーダ)35,SY(音源、鍵盤)36にそれぞれ設けられているネットワークアダプタのLAN端子との間が、それぞれLANケーブルを介して接続されている。
さらにまた、部屋4には、MC(マイク)41,CD(CDプレーヤ)42の各装置が設置されており、これらの装置にはネットワークアダプタが設けられてLAN装置とされている。部屋4に設けられたハブ40の上流のLAN端子はLANケーブルを介してルータ2のLAN端子に接続されており、ハブ40の下流の複数のLAN端子とMC(マイク)41,CD(CDプレーヤ)42にそれぞれ設けられているネットワークアダプタのLAN端子との間が、それぞれLANケーブルを介して接続されている。
本発明の楽音発生システムにおける内部ネットワークに接続されている、部屋1ないし部屋4に設置されている各装置は1つずつの単体の機器でありDU(DSPユニット)22を除いて、CPU(Central Processing Unit)、RAM(Random Access Memory )、ROM(Read Only Memory)を少なくとも備え、各装置に対応するハードウェアを備える構成とされている。そして、装置名に対応するプログラムが実行されることにより、装置名の機能で動作するようになされている。このように、本発明における各装置はDU(DSPユニット)22を除いて、種々のプログラムを実行することのできる処理装置(コンピュータ)とされており、以下の記載においてはこの処理装置がプログラムを実行することにより達成される機能を処理要素と定義している。すなわち、部屋1に設置されるSV(サーバ)11,TG1(音源)12,TG2(音源)13,KB(鍵盤)14,SP1(スピーカ)15、部屋2に設置されるSP2(スピーカ)21,MX(ミキサ)23,CR(コンテンツレコーダ)24、部屋3に設置されるAA(自動伴奏)31,MR(MIDIレコーダ)32,ED(エディタ)33,EF(エフェクタ)34,AR(オーディオレコーダ)35,SY(音源、鍵盤)36、部屋4に設置されるMC(マイク)41,CD(CDプレーヤ)42は、全て処理要素であり処理装置が対応するプログラムを実行することにより、その処理要素として機能している。
SV(サーバ)11はクライアントコンピュータに対し、自身の持っている機能やデータを提供するコンピュータであり、クライアントコンピュータは上記した処理要素が機能している処理装置である。また、DU(DSPユニット)22は多数のDSPを備える処理装置により構成され、DSPがマイクロプログラムを実行することにより、ミキサ、エディタやエフェクタ等の処理要素として機能するようになる。すなわち、DU(DSPユニット)22はマイクロプログラムを選択して実行させることにより、機能する処理要素を切り替えることができる。
処理要素について具体的に説明すると、TG1(音源)12およびTG2(音源)13は、処理装置が音源プログラムを実行することにより音源要素として機能している。KB(鍵盤)14は、ハードウェアとしての鍵盤を備える処理装置が鍵盤プログラムを実行することにより鍵盤要素として機能している。SP1(スピーカ)15およびSP2(スピーカ)21は、ハードウェアとしてのスピーカを備える処理装置がスピーカプログラムを実行することによりスピーカ要素として機能している。MX(ミキサ)23は、処理装置がミキサプログラムを実行することによりミキサ要素として機能している。CR(コンテンツレコーダ)24は、大容量の記憶装置を備える処理装置がレコーダプログラムを実行することによりコンテンツレコーダ要素として機能している。AA(自動伴奏)31は、処理装置が自動伴奏プログラムを実行することにより自動伴奏要素として機能している。MR(MIDIレコーダ)32は、大容量の記憶装置を備える処理装置がレコーダプログラムを実行することによりMIDIレコーダ要素として機能している。ED(エディタ)33は、処理装置がエディタプログラムを実行することによりエディタ要素として機能している。EF(エフェクタ)34は、処理装置がエフェクタプログラムを実行することによりエフェクタ要素として機能している。AR(オーディオレコーダ)35は、大容量の記憶装置を備える処理装置がレコーダプログラムを実行することによりオーディオレコーダ要素として機能している。SY(音源、鍵盤)36は、ハードウェアとしての鍵盤を備える処理装置が音源プログラムと鍵盤プログラムを実行することにより音源要素および鍵盤要素の2つで機能している。MC(マイク)41は、ハードウェアとしてのマイクを備える処理装置がマイクプログラムを実行することによりマイク要素として機能している。CD(CDプレーヤ)42は、ハードウェアとしてのCDドライブを備える処理装置がプレーヤプログラムを実行することによりCDプレーヤ要素として機能している。
なお、SV(サーバ)11とDU(DSPユニット)22や上記した処理要素との間や処理要素同士の間で通信を行ってデータの授受を行うことができるが、ここではSV(サーバ)11と上記した処理要素とはTCP/IP(Transmission Control Protocol/Internet Protocol)をサポートしており、TCP/IPプロトコルを用いてデータ授受の通信を行うようにしている。
内部ネットワークにおいて、LANケーブル上を流れる情報はすべてMACフレームと呼ばれる所定長のパケットに入れられる。MACフレームにはIPパケットがカプセル化されており、その先頭と最後にはそれぞれ受信部で信号の先頭を見つけるためのプリアンブルとMACフレームの内容の正当性を検査するためのチェックコードが付けられている。さらに、MACフレームのヘッダには送信先と送信元を表わすMACアドレス(Media Access Control Address)が含まれている。MACアドレスとは、すべてのネットワーク手段に一意に与えられている固有の番号であり、イーサネットの場合はMACアドレスは48ビットとされている。また、MACフレームの送信はCSMA/CD(Carrier Sense Multiple Access with Collision Detection )方式で行われている。CSMA/CDとは「搬送波感知多重アクセス/衝突検出方式」であり、データを送信したいノード(処理装置)はケーブルの搬送波を検出することにより通信状況を監視し空いている場合は送信を開始する。このとき、もし複数のノード(処理装置)が同時に送信を開始するとケーブル内でデータが衝突して壊れるので、これを検出(Collision Detection)しランダムな時間待機して送信を再開している。
なお、ハブ10ないしハブ40はスイッチングハブとされて単なるリピータではなくブリッジとして働き、ノード(処理装置)から送られてきたデータを解析してあて先を検出し、送り先のノード(処理装置)にだけデータを振り分けるようにしている。
また、TCP/IPは通信プロトコルのひとつでありOSI参照モデルではIPが第3層(ネットワーク層)、TCPが第4層(トランスポート層)に相当している。TCP層では、IP層によるデータグラム指向の通信機能を使って信頼性のある全二重のフロー制御つきの通信機能を上位の処理要素(アプリケーション)に対して提供している。これにより、データの抜けや重複あるいは誤りがなく、送信側で送ったデータがそのままの順序で正しく受信側へ届くようになる。すなわち、IP層やその下位の物理的な伝送媒体の特性により、送信側が送り出したパケットが消失したり、遅延によって順序が入れ替わって到着したり、再送によって重複して到着したりすることがあるが、それらの影響を排除して、処理要素にとって信頼性のある通信路をTCPにより確保している。TCPを使って送受信されるデータの各バイトには、シーケンス番号という連続する一連の番号が付けられており、シーケンス番号によりデータの抜けや重複がないかどうかを検査している。データを受け取った側では、ACK(ACKnowledgement)を送信元へ返すことによりどのシーケンス番号のデータまでを受け取ったかを通知しており、これにより、送信側ではデータが正しく相手に届いたことが確認できる。この場合、所定の時間が経過してもACKが返ってこなければ、途中でデータが消失したか、相手がパケットを受信できなかったと判断して再度パケットを送信する再送制御を行う。これにより、信頼性の高い通信を行うことができるようになる。なお、再送を開始するまでの待ち時間は固定とされておらず、通信路の遅延特性、ACKが返ってくるまでの時間や再送回数などの条件によって動的に変更され、効率よく通信が行なえるように高度に制御されている。
本発明にかかる楽音発生システムは、図1に示す内部ネットワークに接続されている複数の処理装置において機能している処理要素を組み合わせることにより構成される。例えば、KB(鍵盤)14から出力される演奏データをTG1(音源)12に供給し、TG1(音源)12において演奏データに基づいて生成されて出力される楽音波形データをSP1(スピーカ)15に供給する楽音発生システムを構築する場合は、KB(鍵盤)14とTG1(音源)12、および、TG1(音源)12とSP1(スピーカ)15とを論理的に接続する設定を行うことにより、楽音発生システムが構築されるようになる。このような楽音発生システムは、内部ネットワークに接続されている複数の処理装置において機能している処理要素を組み合わせて構築することができる。すなわち、KB(鍵盤)14とSY(鍵盤,音源)36の音源機能とSP2(スピーカ)21との間を論理的に接続しても楽音発生システムが構築されるようになる。この場合、EF(エフェクタ)34やMX(ミキサ)23をさらに論理的に接続することにより、楽音波形データにエフェクトをかけたり複数の楽音波形データをミキシングすることができるようになる。
処理装置において機能している処理要素はLANにより物理的に接続されているが、論理的に接続されることにより処理装置において機能している処理要素間においてデータの受け渡しが可能となる。例えば、KB(鍵盤)14とTG1(音源)12とが論理的に接続された際には、処理要素であるKB(鍵盤)14から出力される演奏データを、処理要素であるTG1(音源)12に受け渡すことができるようになる。この場合、KB(鍵盤)14とTG1(音源)12とはTCP/IPを用いて通信を行うことにより、KB(鍵盤)14からパケット化されて出力された演奏データが、TG1(音源)12で受信されるようになる。この場合の送信元の処理要素において生成されてネットワーク上に出力されるMACフレームの生成過程の概要を図2に示す。
図2に示すように、送信元の処理要素から出力されるデータは所定の長さの送信データに分割され、TCP層において所定長の送信データの先頭にTCPヘッダを付加してTCPセグメントが生成される。TCPヘッダには、シーケンス番号と送信元の処理要素のポート番号とあて先の処理要素のポート番号とが含まれている。IP層では、このTCPセグメントの先頭にIPヘッダを付加してIPパケットが生成される。IPヘッダには、送信元のIPアドレスとあて先のIPアドレスと、図示していないがパケット長やプロトコル番号等が含まれている。IPアドレスは、図1に示す内部ネットワークおよびインターネットを含む外部ネットワークに接続された処理装置の1台1台に割り振られた識別番号であり、IPv4では、8ビットずつ4つに区切られた32ビットの数値が使われており、「192.168.100.8」などのように、0から255までの10進数の数字を4つ並べて表現されている。そして、データリンク層および物理層においてこのIPパケットの先頭にMACヘッダを付加してMACフレームが生成される。MACヘッダには、送信元の処理装置に一意に与えられている送信元MACアドレスと、あて先の処理装置に一意に与えられているあて先MACアドレスとが含まれている。このようにして生成されたMACフレームが送信元の処理装置からLANケーブル上に送出され、MACフレームにおけるあて先MACアドレスが一致する処理装置がこのMACフレームを取り込み、IPアドレスとポート番号とで特定される処理要素に送信データが渡されるようになる。このように、ポート番号はIPアドレスの下のサブアドレスでありIPアドレスとポート番号との組み合わせにより処理要素を特定できることから、SY(音源、鍵盤)36のように1つの処理装置において機能している処理要素が複数とされていてもそれぞれの処理要素をIPアドレスとポート番号との組み合わせにより特定して渡すことができるようになる。
次に、図1に示す内部ネットワークにおけるすべての処理要素毎の識別情報の対応表である装置テーブルを図3に示す。この装置テーブルでは、ブロードキャストドメイン内に含まれる処理装置で機能している全ての処理要素が含まれている。この装置テーブルはSV(サーバ)11で作成されて、内部ネットワーク上の全ての処理装置に記録され、その内容は同一とされている。内部ネットワークに接続される処理装置に変更があった際の装置テーブルの内容はSV(サーバ)11が更新し、更新後の装置テーブルをSV(サーバ)11から全ての処理装置へ送信するようにしている。なお、内部ネットワークに接続された処理装置は、SV(サーバ)11から装置テーブルを取得して記録する。
図3に示す装置テーブルにおいて、論理装置IDは処理要素のポート番号に相当し処理要素毎に異なるIDが割り当てられている。IPアドレスは、内部ネットワークおよびインターネットを含む外部ネットワークに接続された処理装置の1台1台に一意に割り振られた識別番号であり、処理装置がネットワークにログインした際に、DHCP(Dynamic Host Configuration Protocol)サーバが予め用意されたIPアドレスの1つをその処理装置に割り当てるようにしている。DHCPサーバにはルータ2がなることができるが、SV(サーバ)11や処理装置の一つがなることもできる。物理装置IDは、すべてのネットワーク装置に一意に与えられている固有の番号であり、図3では内部ネットワークの処理装置に一意に与えられた固有番号とされている。装置名は、処理要素が機能している処理装置の略称とされている。処理IDは処理要素の種類毎に予め決められており、処理要素の種類毎に決められた処理IDが割り当てられている。処理要素名は、処理要素が実現している楽音発生関連装置の名称とされている。なお、論理装置ID”No.7”のDSPユニットにおいては、DSPユニットであることを示す処理IDである「AE」および処理要素名「DSPユニット」と、実行されるマイクロプログラムに応じて機能している現在の処理要素を示す処理ID(例えば、「AF」)およびその処理要素名(例えば、「ミキサ」)とが装置テーブルに記録される。また、論理装置ID”No.15”の処理要素名「音源」と論理装置ID”No.16”の処理要素名「鍵盤」は1つの処理装置で機能している処理要素であることから、IPアドレスと物理装置IDは同一とされるものの、異なる論理装置ID(ポート番号)を与えてそれぞれ独立して扱えるようにしている。
本発明の楽音発生システムにおいて、処理装置には上記した処理要素として機能することができるプログラムが、内蔵するハードディスク装置等の記憶手段に格納されている。そして、記憶手段に記憶されているプログラムを実行することにより、処理装置が当該プログラムに対応する処理要素として機能するようになる。この場合、1台の処理装置において同時に複数のプログラムを実行することができ、1台の処理装置を複数の処理要素で機能させることができる。なお、処理装置においてプログラムが実行されて当該プログラムに対応する処理要素として機能するようになった際に、当該処理要素がSV(サーバ)11に登録されることにより論理装置ID(ポート番号)がその処理要素に設定される。そして、SV(サーバ)11において更新された装置テーブルが、内部ネットワーク上の全ての処理装置に送信されて記録されるようになる。
本発明の楽音発生システムにおいて、処理要素間において通信するデータは、実体データと制御データの2種類に分類される。ここでは、再生する音楽の内容を直接表すデータであって、リアルタイムでの通信を必要として優先的に通信するデータを実体データと定義する。具体的にはMIDIデータやオーディオ(PCMやMP3)データが実体データとなる。また、実体データ以外のデータを制御データと定義する。制御データの送受信はSV(サーバ)11を含むすべての処理装置が実行することができる。
そこで、内部ネットワーク上の処理要素において、実体データの通信が可能な処理要素毎の入力側と出力側ごとに記録される接続テーブルを図4に示す。接続テーブルは、SV(サーバ)11で作成されて、内部ネットワーク上の全ての処理装置に記録され、その内容は同一とされている。この接続テーブルには、図1に示す内部ネットワークに接続可能な全処理装置において機能している処理要素毎についての情報が記録されている。内部ネットワークに接続された処理装置は、SV(サーバ)11から接続テーブルを取得して記録する。
図4に示す接続テーブルは図1に示す構成の内部ネットワークにおける一部の処理要素の接続テーブルであり、接続テーブル中の「×」は、接続できる処理要素がないことを表しており、処理IDが「AA」のサーバは実体データの送受信を行わないことを示している。このサーバは、図1に示すSV(サーバ)11である。処理IDが「AB」の音源要素は、実体データとしてMIDIデータ等の演奏データを送信する処理要素を入力接続することができ、実体データとしてオーディオデータを受信する処理要素を出力接続することができる。すなわち、入力接続できる処理要素は、処理IDが「AC」の鍵盤要素、処理IDが「AH」の自動伴奏要素、処理IDが「AI」のMIDIレコーダ要素、処理IDが「AJ」のエディタ要素となり、出力接続できる処理要素は、処理IDが「AD」のスピーカ、処理ID「AK」のエフェクタ要素、処理IDが「AL」のオーディオレコーダ、要素処理IDが「AF」のミキサ要素となる。また、処理IDが「AC」の鍵盤は、実体データとしてMIDIデータ等の演奏データを受信する処理要素を出力接続することができ、その性質から入力接続できる処理要素はない。すなわち、出力接続できる処理要素は、処理IDが「AB」の音源要素、処理IDが「AI」のMIDIレコーダ要素、処理IDが「AJ」のエディタ要素となる。さらに、処理IDが「AD」のスピーカは、実体データとしてオーディオデータを送信する処理要素を入力接続することができ、その性質から出力接続できる処理要素はない。すなわち、入力接続できる処理要素は、処理IDが「AB」の音源要素、処理IDが「AF」のミキサ要素、処理IDが「AK」のエフェクタ要素、処理IDが「AL」のオーディオレコーダ要素、処理IDが「AM」のマイク要素、処理IDが「AN」のCDプレーヤ要素等となる。接続テーブルでは、このような入力接続できる処理要素や出力接続できる処理要素が処理要素毎に示されており、接続テーブルを参照することにより入力接続する処理要素や出力接続する処理要素を選択することができるようになる。
次に、内部ネットワークに新たに処理装置が接続(ログイン)された際に実行されるネットワーク接続処理のフローチャートを図6に示す。なお、クライアントはSV(サーバ)11に対するクライアントであり、内部ネットワークにおいてSV(サーバ)11以外の処理装置は全てクライアントとなる。なお、クライアントとSV(サーバ)11間で通信される制御データは、あて先の処理装置のIPアドレスと予め定められている制御データ用のポート番号とを用いて通信される。図6において、新たに接続されたクライアントが実行する処理のフローが左側のクライアントの列に示され、ハブが実行する処理のフローが次のハブの列に示され、サーバが実行する処理のフローが次のサーバの列に示され、既存のクライアントが実行する処理のフローが次のその他のクライアントの列に示されている。
ネットワーク接続処理が起動されると、ステップS10にて新たに接続された新クライアントが複数の処理要素を有しているか否かが判断される。ここで、新クライアントが図5の上段に示す処理装置NEWのように鍵盤プログラムおよび音源プログラムを実行することにより鍵盤要素KBと音源要素TGとして機能しており、鍵盤要素KBで発生したMIDIデータを音源要素TGへ入力できるように接続されていた場合はYESと判断されてステップS11に進み、図5の下段に示すように鍵盤要素KBと音源要素TGとの間の内部接続が切断される。これにより、複数の処理要素が機能している処理装置NEWにおいては、ログオンした際に自動的に処理要素間の接続が切断されることから、ログオンする前に予め切断しておく作業を省略することができるようになる。そして、ステップS10で複数の処理要素を持っていないと判断された場合と同様にステップS12に進み、自機情報と登録要求を含むデータ部を作成する。自機情報は、IPアドレス(IPアドレスは内部ネットワークにクライアントがログインした際にDHCPサーバからクライアントへ割り当てられている)、物理装置ID、全ての処理要素の処理IDと処理要素名の情報であり、登録要求とは、SV(サーバ)11にある装置テーブルへ自機情報を登録する要求とされる。次いで、ステップS13にて送信処理が行われる。送信処理では、ステップS12において作成されたデータ部が送信データとされて図2に示すように最終的に送信データがカプセル化されたMACフレームが生成されて、内部ネットワーク上に送信される。MACフレームのMACヘッダにはあて先MACアドレスとしてSV(サーバ)11のMACアドレス(物理装置ID)が設定される。
新クライアントから送信されたMACフレームは、スター型の内部ネットワークとされていることからハブで受信され、経路決定処理が行われる(ステップS20)。経路決定処理では、ハブは受信されたMACフレームのあて先MACアドレスを見て送信経路を決定し、MACフレームを中継する。例えば、新クライアントがハブ30に物理的に接続された場合は、ハブ30は受信したMACフレームをルータ2に中継し、ルータ2は受信したMACフレームをハブ10に中継し、ハブ10は受信したMACフレームをSV(サーバ)11に中継する。これにより、新クライアントから送信されたMACフレームがあて先MACアドレスが一致するSV(サーバ)11で受信されて、受信処理が行われる(ステップS30)。受信処理では、MACフレームからIPパケットが取り出され、IPパケットからTCPセグメントが取り出され、さらに、TCPセグメントからデータ部が取得される。そして、取得されたデータ部を解釈して登録要求があることから登録要求処理を行うと判断する。次いで、ステップS31にてデータ部の自機情報とSV(サーバ)11が新クライアントの処理要素に割り当てた論理装置IDとを装置テーブルへ記録し、ステップS32にて変更後の装置テーブルと、装置テーブルを変更する要求である変更要求を含むデータ部を作成する。このデータ部は、ステップS33で送信処理が行われることにより内部ネットワーク上に送信される。この送信処理は、前述したステップS13の送信処理と同様の処理とされるが、あて先MACアドレスにはオール”1”のブロードキャストアドレス(FF-FF-FF-FF-FF-FF)が設定され、あて先IPアドレスもブロードキャストアドレスが設定される。この場合、図3に示す装置テーブルのように内部ネットワークのネットワークアドレスが”192.168.111.0”とされている場合は、IPアドレスのブロードキャストアドレスは”192.168.111.255”とされる。
SV(サーバ)11からブロードキャストされたMACフレームは、ハブ10で受信され経路決定処理が行われる(ステップS20)。この経路決定処理では、ステップS20と同様の経路決定処理が行われるが、ブロードキャストアドレスのMACフレームとされていることからルータ2およびハブ10〜40により全ての処理装置にMACフレームが中継されるようになる。新クライアントは、ブロードキャストされたMACフレームが到来した際にブロードキャストアドレスとされていることからステップS30と同様のMACフレームを受信する受信処理を行う(ステップS14)。受信処理では、取得されたデータ部を解釈して装置テーブルの変更要求があることから装置テーブルを変更する処理を行うと判断し、ステップS15にて受信されたMACフレームから取り出された装置テーブル情報で内部の記憶手段に記憶されていた装置テーブルを更新する。これにより、新クライアントにおけるネットワーク接続処理は終了する。また、他のクライアントにおいてはブロードキャストされたMACフレームが到来した際にブロードキャストアドレスとされていることからステップS30と同様のMACフレームを受信する受信処理を行う(ステップS40)。受信処理では、取得されたデータ部を解釈して装置テーブルの変更要求があることから装置テーブルを変更する処理を行うと判断し、ステップS41にて受信されたMACフレームから取り出された装置テーブル情報で記憶されている装置テーブルを更新し、他のクライアントにおけるネットワーク接続処理は終了する。
次に、内部ネットワークに接続されている処理装置が切断(ログオフ)された際に実行されるネットワーク切断処理のフローチャートを図7に示す。
内部ネットワークに接続されている処理装置が切断(ログオフ)されると、ネットワーク切断処理が起動され、ステップS50にて切断された処理装置が複数の処理要素を有しており復帰すべき接続があるか否かが判断される。ここで、切断された処理装置が図8の上段に示す処理装置OLDのように複数の処理要素を有しており復帰すべき接続があると判断された場合は、ステップS51に進み複数の処理要素における復帰すべき全ての接続を復帰する。この場合、どの処理要素間の接続を復帰すべきかを規定した情報を記憶しておいて、この情報を参照することにより処理要素間の接続を復帰させる。例えば、図8の上段に示すように鍵盤要素KBと音源要素TGとを有している処理装置OLDの場合は、鍵盤要素KBで発生したMIDIデータを音源要素TGへ入力できるように、鍵盤要素KBと音源要素TGとの間を図8の下段に示すように内部接続する。ステップS51の処理が終了した場合と、ステップS50にて復帰すべき接続がないと判断された場合は、ネットワーク切断処理は終了する。これにより、複数の処理要素が機能している処理装置OLDにおいては、ログオフした際に自動的に処理要素間の接続が復帰されてあらためて処理要素間の接続を行うことなく使用できるようになる。なお、処理要素間の接続はAPI(Application Program Interface)等を使用して内部接続されるが、各処理要素に割り当てられているポート番号を用いて論理的に接続する外部接続としてもよい。
なお、SV(サーバ)11は、定期的に内部ネットワーク上のクライアントの存在を確認する処理を行っており、この処理により切断されたクライアントが検出された際に、当該クライアントの情報を装置テーブルから削除して、装置テーブルを更新する。そして、更新された装置テーブルを全クライアントへブロードキャスト送信する。ブロードキャストを受信した各クライアントでは、受信した装置テーブル情報により自機に記憶している装置テーブルが更新されるようになる。
次に、処理要素間の接続を行う接続処理時に表示される設定画面を図10および図11に示す。この設定画面は、内部ネットワークが図9に示す簡易な構成とされている際の設定画面とされている。
図9に示す内部ネットワークでは、複数の処理要素が機能している処理装置SY1がハブHBaにLANケーブルで接続されていると共に、複数の処理要素が機能している処理装置SY2がハブHBaにLANケーブルで接続されている。処理装置SY1では鍵盤要素KBaと、音源要素TGaと、スピーカ要素SPaとが機能しており、処理装置SY2では音源要素TBbと、スピーカ要素SPbとが機能している。処理装置SY1、SY2におけるこれらの処理要素は内部においてそれぞれ論理的に接続が分離されており、各処理要素は論理的に独立して内部ネットワークに接続されている。このように複数の処理要素が機能している処理装置SY1,SY2において、処理要素の接続は処理要素毎に確立することができる。ここでは、処理装置SY1の鍵盤要素KBaから論理接続の設定を行う場合を説明する。この場合は、処理装置SY1において接続処理を起動させる。すると、処理装置SY1の画面上に図10に示す画面A1が表示される。画面A1は、処理装置SY1において機能している鍵盤要素KBa、音源要素TGa、スピーカ要素SPaの3つの処理要素を表示して、接続を設定する処理要素としてそのうちの一つを選択する画面とされる。ここで、画面A1において鍵盤要素KBaを接続を設定する処理要素として選択すると、処理装置SY1の画面上に図10に示す画面A2が表示される。
画面A2は、図9に示す内部ネットワーク上にあって、選択された処理要素である鍵盤要素KBaに接続することのできる処理要素が表示され、そのうちの一つを選択する画面とされる。内部ネットワーク上にあって鍵盤要素に接続することのできる処理要素は、装置テーブルと接続テーブルを参照して表示する。この場合、装置テーブルには鍵盤要素KBa、音源要素TGa、スピーカSPaと、音源TBb、スピーカSPbとが記録されている。また、接続テーブルを参照すると鍵盤要素KBaには入力接続がないので出力接続可能な処理要素についてのみ記録されている。すると、鍵盤要素に出力接続できる内部ネットワーク上の処理要素は音源要素のみであることから画面A2には音源要素だけが表示される。画面A2において表示されている音源要素を選択すると、処理装置SY1の画面上に図10に示す画面A3が表示される。画面A3は、選択した処理要素である音源要素に出力接続することのできる処理要素の接続を行うか(続行)、否か(終了)を選択させる画面とされる。ここで続行を選択すると、処理装置SY1の画面上に図10に示す画面A4が表示される。画面A4は、選択された処理要素である音源要素に出力接続することのできる処理要素であって図9に示す内部ネットワーク上にある処理要素が表示され、そのうちの一つを選択する画面とされる。
内部ネットワーク上にある接続可能な処理要素は、装置テーブルと接続テーブルを参照して検出され、この場合、装置テーブルには鍵盤要素KBa、音源要素TGa、スピーカSPaと、音源TBb、スピーカSPbとが記録されている。すると、音源要素に出力接続できる処理要素はスピーカ要素とされることから画面A4にはスピーカ要素だけが表示される。この画面A4において表示されているスピーカ要素を選択すると、処理装置SY1の画面上に図10に示す画面A6が表示される。画面A6では、スピーカ要素の出力接続はなくスピーカ要素の先に処理要素を接続することができないことから終了を選択する画面とされる。そこで、画面A6において終了を選択すると処理装置SY1の画面上に図10に示す画面A7が表示される。終了を選択したことにより、鍵盤要素−音源要素−スピーカ要素の順に論理接続する設定が行われたことになり、内部ネットワーク上に複数の同じ処理要素がある場合は、それぞれの処理要素についていずれかの処理要素を選択して設定することになる。そこで、まず画面A2で選択された音源要素が機能している処理装置を装置テーブルを参照することにより内部ネットワークから検出して、その処理装置の装置名を画面A7に表示し、音源要素が機能している表示された装置名のいずれかを接続先として選択させる。図9に示す内部ネットワークの場合は、処理装置SY1と処理装置SY2とが音源要素が機能している処理装置として検出され、その装置名SY1および装置名SY2のいずれかが音源要素として選択されるように画面A7に表示される。
ここで、装置名SY2(あるいは装置名SY1)の音源要素を選択すると、次に、画面A4で選択されたスピーカ要素が機能している処理装置を装置テーブルを参照することにより内部ネットワークから検出して、その処理装置の装置名を画面A8に表示し、スピーカ要素が機能している表示された装置名のいずれかを接続先として選択させる。画面A8で、装置名SY1(あるいは装置名SY2)のスピーカ要素を選択すると接続するそれぞれの処理要素が決定されて、鍵盤要素KBa−音源要素TGb−スピーカ要素SPaの順で論理接続を行う設定が終了し、処理要素間の接続を行う接続選択処理は終了する。なお、選択された処理要素が機能している処理装置が複数あればそれらすべてについて順番に装置名を選択させる画面が順次表示されるようになる。
また、画面A3において終了を選択すると処理装置SY1の画面上に図10に示す画面A5が表示される。終了を選択したことにより、鍵盤要素−音源要素の順で論理接続する設定が行われたことになり、次に、それぞれの処理要素について内部ネットワーク上に複数の同じ処理要素がある場合はいずれかの処理要素を選択することになる。そこで、選択された音源要素が機能している処理装置を装置テーブルを参照することにより内部ネットワークから検出して、その処理装置の装置名を画面A5に表示し、音源要素が機能している表示された装置名のいずれかを接続先として選択させる。すなわち、画面A7と同様の画面が画面A5に表示され、ここで、装置名SY2の音源要素を選択すると接続するそれぞれの処理要素が決定されて、鍵盤要素KBa−音源要素TGbの順で論理接続を行う設定が終了し、処理要素間の接続を行う接続選択処理は終了する。
なお、処理要素間の接続を行う接続選択処理が終了した際には、設定された接続の内容が設定を行った処理装置の接続バッファに記録される。そして、後述する周期的に起動される接続確立処理が起動された際に、接続バッファに記録されている接続の内容に基づいて接続確立処理が行われて論理接続が確立され、確立された接続情報がカレントバッファに記録されるようになる。
次に、処理装置SY2の音源要素TGbから接続選択の設定をする際の説明を行う。ただし、この設定を行う際には図10に示す設定が行われて、鍵盤要素KBa−音源要素TGb−スピーカ要素SPaの順の論理接続が確立されているものとする。ここで、処理装置SY2において接続選択処理を起動させる。すると、処理装置SY2の画面上に図11に示す画面B1が表示される。画面B1は、処理装置SY2において機能している音源要素TGb、スピーカ要素SPbの2つの処理要素を表示して、接続を設定する処理要素としてそのうちの一つを選択する画面とされる。ここで、画面B1において音源要素TGbを接続を設定する処理要素として選択すると、処理装置SY2の画面上に図11に示す画面B2が表示される。
画面B2は、選択された処理要素である音源要素TGbに接続することのできる処理要素であって図9に示す内部ネットワーク上にある処理要素が表示され、そのうちの一つを選択する画面とされる。内部ネットワーク上にあって接続可能な処理要素は、装置テーブルと接続テーブルを参照して検出する。この場合、装置テーブルには鍵盤要素KBa、音源要素TGa、スピーカSPaと、音源TBb、スピーカSPbとが登録されている。接続テーブルを参照すると音源要素は入力接続および出力接続可能とされているので、まず入力接続を選択する画面B2が表示される。音源要素に入力接続できる処理要素は鍵盤要素のみとされることから、画面B2には鍵盤要素のみが表示されると共に、「入力接続」のタイトルも表示される。この画面B2において鍵盤要素を選択すると処理装置SY2の画面上に図11に示す画面B3が表示される。鍵盤要素が選択されると、鍵盤要素に入力接続される処理要素を選択する処理が続けられるのであるが、鍵盤要素には入力接続する処理要素がないことから、画面B3には入力接続に替えて出力接続を選択する画面が表示されるようになる。なお、処理要素が選択された際にその先に接続できる処理要素があれば、続行か出力接続かのいずれかを選択させる画面を表示して、続行であればその先に接続する処理要素を選択させるようにする。
画面B3において、出力接続を選択すると処理装置SY2の画面上に図11に示す画面B4が表示される。画面B4では、音源要素に出力接続できる処理要素が「出力接続」のタイトルと共に表示される。内部ネットワーク上にある出力接続可能な処理要素は、装置テーブルと接続テーブルを参照して検出される。この検出により、鍵盤要素から音源要素へ入力された信号の処理結果をスピーカ要素へ出力する鍵盤要素→音源要素→スピーカ要素の対応付けが自動的に設定され、音源要素に出力接続できる内部ネットワーク上の処理要素はスピーカ要素のみであることから画面B4にはスピーカ要素と、スピーカ要素を選択することなく設定を終了する「終了」とのいずれかを選択する画面が表示される。画面B4においてスピーカ要素を選択すると、処理装置SY2の画面上に図11に示す画面B5が表示される。スピーカ要素が選択されると、スピーカ要素の先に処理要素を接続することができないことから画面B5には、終了を選択する画面が「出力接続」のタイトルと共に表示される。そこで、画面B5において終了を選択すると処理装置SY2の画面上に図11に示す画面B7が表示される。終了を選択したことにより、鍵盤要素−音源要素−スピーカ要素の順に論理接続する設定が行われたことになり、次に、内部ネットワーク上に複数の同じ処理要素がある場合はそれぞれの処理要素についていずれかの処理要素を選択することになる。
そこで、画面B7では装置テーブルを参照して選択された音源要素が機能している処理装置を内部ネットワークから検出して、その処理装置の装置名を表示して、表示された装置名の音源要素のいずれかを接続先として選択させる画面とされる。この場合、音源要素TGbに論理接続することのできる鍵盤要素は処理装置SY1のみで機能していると検出されるから、その装置名SY1を選択する画面が画面B7に表示される。この場合、図10に示す設定が既に行われて鍵盤要素KBa−音源要素TGbの論理接続が確立していることから鍵盤要素KBaが機能している装置名SY1には既に接続確立されていることを示すアンダーラインが付されて表示される。画面B7において鍵盤要素として装置名SY1を選択すると、音源要素に論理接続することのできるスピーカ要素が機能している処理装置を内部ネットワークから検出して、その処理装置の装置名を表示して、表示された装置名のスピーカ要素のいずれかを接続先として選択させる画面B8が表示される。この場合、図10に示す設定が行われて音源要素TGb−スピーカ要素SPaの論理接続が確立されていることからスピーカ要素SPaが機能している装置名SY1には既に接続確立されていることを示すアンダーラインが付されて表示される。画面B8において装置名SY2のスピーカ要素を選択すると、音源要素TGbはスピーカ要素SPaに加えてスピーカ要素SPbにも論理的に接続される設定が行われたことになる。なお、選択された処理要素が機能している処理装置が複数あればそれらすべてについて順番に装置名を選択させる画面が順次表示されるようになる。
また、画面B4において終了を選択すると処理装置SY2の画面上に図11に示す画面B6が表示される。終了を選択したことにより、鍵盤要素−音源要素の順で論理接続する設定が行われたことになり、次に、それぞれの処理要素について内部ネットワーク上に複数の同じ処理要素がある場合はいずれかの処理要素を選択することになる。そこで、選択された鍵盤要素が機能している処理装置を装置テーブルを参照することにより内部ネットワークから検出して、その処理装置の装置名を画面B6に表示し、鍵盤要素が機能している表示された装置名のいずれかを接続先として選択させる。すなわち、画面B7と同じ画面が画面B6に表示される。画面B6では音源要素TGb−スピーカ要素SPaの論理接続が確立されていることからスピーカ要素SPaが機能している装置名SY1には既に接続確立されていることを示すアンダーラインが付されて表示される。ここで、装置名SY1の鍵盤要素を選択すると既に接続確立された鍵盤要素KBa−音源要素TGbの論理接続が選択されて、処理要素間の接続を行う接続選択処理は終了する。
なお、処理要素間の接続を行う接続選択処理が終了した際には、設定された接続の内容が設定を行った処理装置の接続バッファに記録される。そして、後述する周期的に起動される接続確立処理が起動された際に、接続バッファに記録されている接続の内容に基づいて接続確立処理が行われて論理接続が確立され、確立された接続情報がカレントバッファに記録されるようになる。
以上説明した図10および図11に示す設定画面により処理要素と処理要素との接続を設定する接続選択処理は、処理装置SY1と処理装置SY2において独立して行われており、前述の説明においては処理装置SY1における接続選択処理が先に行われた場合とされているが、処理装置SY1における接続選択処理が後に行われても良い。この場合は、図10および図11に示す設定画面とは異なる設定画面となる。処理装置SY1における接続選択処理が先に行われた場合において、処理装置SY1における接続選択処理が終了した際には、前述したようにタイマ割り込みにより周期的に起動される接続確立処理により、処理装置SY1の接続バッファに記録されている接続の内容に基づいた論理接続が直ちに確立されるようになる。このため、処理装置SY2において接続選択処理が行われる際には、既に処理装置SY1における処理要素の論理接続は確立しているのである。そして、処理装置SY2における接続選択処理が終了した際には、前述したようにタイマ割り込みにより周期的に起動される接続確立処理により、処理装置SY2の接続バッファに記録されている接続の内容に基づいた論理接続が直ちに確立されるようになる。
次に、図10および図11に示す設定画面により処理要素と処理要素との接続を設定する接続選択処理のフローチャートを図12に示す。
処理要素の接続を設定する処理装置において接続選択処理が起動されると、ステップS60にて図10の画面A1や図11の画面B1のように自機の全処理要素を画面に表示し、いずれかの処理要素の選択を受け付ける。ここで、いずれかの処理要素が選択されるとステップS61に進み、接続テーブルを参照して選択された処理要素が入力接続と出力接続とを持つか否かが判断される。ここで、選択された処理要素が入力接続と出力接続とを持たない場合はNOと判断されてステップS62に進み選択された処理要素に接続することのできる処理要素を表示し、表示された処理要素の選択を受け付ける画面を表示する。表示された処理要素のいずれかが選択されると、ステップS63にて選択された処理要素の先に続けて接続できる処理要素があれば、続けて接続するか終了するかのいずれかを選択させる画面を表示する。また、続けて接続できる処理要素がなければ、終了を選択させる画面を表示する。そして、処理要素の選択を終了する選択がされたか否かがステップS64にて判断される。ここで、「終了」を選択した場合はステップS65に進むが、続行すると選択した場合はステップS62に戻り、ステップS62ないしステップS64の処理が再度行われて前回選択された処理要素の先に続けて接続できる処理要素の選択処理が行われる。ステップS62ないしステップS64の処理は、先に続けて接続できる処理要素がなくなるまで、あるいは、終了が選択されるまで繰り返し実行される。
また、ステップS61にて選択された処理要素が入力接続と出力接続とを持つと検出された場合はステップS67に分岐して、まず、処理要素の入力に接続できる処理要素を表示して、表示された処理要素の選択を受け付ける画面を表示する。表示された処理要素のいずれかが選択されると、ステップS68にて選択された処理要素に入力接続できる処理要素があれば、続けて接続するか終了するかのいずれかを選択させる画面を表示する。また、続けて接続できる処理要素がなければ、終了を選択させる画面を表示する。そして、処理要素の選択を終了する選択がされたか否かがステップS69にて判断される。ここで、終了すると選択した場合はステップS70に進むが、続行すると選択した場合はステップS67に戻り、ステップS67ないしステップS69の処理が再度行われて前回選択された処理要素に入力接続できる処理要素の選択処理が行われる。ステップS67ないしステップS69の処理は、選択された処理要素に入力接続できる処理要素がなくなるまで、あるいは、終了が選択されるまで繰り返し実行される。
ステップS69にて終了が選択されたと判断されてステップS70に進むと、ステップS61にて選択された処理要素の出力に接続できる処理要素を表示して、表示された処理要素の選択を受け付ける画面を表示する。表示された処理要素のいずれかが選択されると、ステップS71にて選択された処理要素に出力接続できる処理要素があれば、続けて接続するか終了するかのいずれかを選択させる画面を表示する。また、続けて接続できる処理要素がなければ、終了を選択させる画面を表示する。そして、処理要素の選択を終了する選択がされたか否かがステップS72にて判断される。ここで、終了すると選択した場合はステップS65に進むが、続行すると選択した場合はステップS70に戻り、ステップS70ないしステップS72の処理が再度行われて前回選択された処理要素に出力接続できる処理要素の選択処理が行われる。ステップS70ないしステップS72の処理は、選択された処理要素に出力接続できる処理要素がなくなるまで、あるいは、終了が選択されるまで繰り返し実行される。
ステップS64あるいはステップS72にて終了が選択されたと判断されてステップS65に進むと、装置テーブルを参照して選択された処理要素毎に該当する処理要素が機能している処理装置の装置名を表示して、表示された装置名のいずれかの選択を受け付ける画面を表示する。表示されたいずれかの装置名が選択されると、選択された装置名の処理装置で機能している処理要素が選択されるようになり、これにより設定された論理接続の接続の内容を接続バッファに記録する。この場合、連続して選択された論理接続は連続して通信を行うものとして対応付けて接続バッファに記録し、処理要素の入力と出力の接続が連続して選択されたときはそれらの間で通信が行われることを接続バッファに記録する。なお、連続して選択された論理接続とは、接続選択処理が開始されて設定された接続の内容が接続バッファに書き込まれるまでの間に設定された複数の論理接続を意味している。ステップS66の処理が終了すると、接続選択処理は終了する。そして、後述する周期的に起動される接続確立処理が起動された際に、接続バッファの接続情報に基づいて接続確立処理が行われて論理接続が確立され、確立された接続情報がカレントバッファに記録されるようになる。
なお、図10および図11に示す接続選択処理が行われて処理要素の論理接続の設定が行われた場合に、接続バッファに記録される接続情報の例が図13に示されている。
図10に示す接続選択処理は処理装置SY1において、鍵盤要素KBaの接続から開始され、鍵盤要素KBaと処理装置SY2の音源要素TGbとの接続が設定されると共に、音源要素TGbと処理装置SY1のスピーカ要素SPaとの接続が設定されることから、図13に「●SY1鍵盤の例」として示すように、接続バッファには「出力1→SY2音源→SY1スピーカ」の接続情報が記録される。なお、「出力1」はSY1鍵盤の1番目の出力を意味している。
また、図11に示す接続選択処理は処理装置SY2において、音源要素TGbの接続から開始され、音源要素TGbの入力に処理装置SY1の鍵盤要素KBaを接続する設定と、音源要素TGbの出力に処理装置SY2のスピーカ要素SPbを接続する設定が行われることから、図13に「●SY2音源の例」として示すように、接続バッファには「入力1←SY1鍵盤」「入力1→出力1」「出力1→SY2スピーカ」の接続情報が記録される。ここで、「入力1→出力1」が設定されるのは音源要素TGbにおいて入力側の設定と出力側の設定が連続して行われたことによる。この「入力1←SY1鍵盤」「入力1→出力1」「出力1→SY2スピーカ」の接続情報は、SY1鍵盤から出力されたMIDIデータが自機(SY2)の音源要素TGbに入力(入力1)され、入力されたMIDIデータの音源要素TGbにおける処理結果(出力1)を、SY2スピーカへ出力する(対応付ける)ことを表わす接続情報である。
次に、実体データの通信を行うための論理接続を確立する接続確立処理のフローチャートを図14に示す。接続確立処理はタイマ割り込みにより所定時間間隔で周期的に起動される。なお、接続確立処理の実行を開始した実行元の処理装置が、接続相手の処理装置を通信相手として通信する制御データは、あて先の処理装置のIPアドレスと予め定められている制御データ用のポート番号とを用いて通信される。
接続確立処理が起動されると、ステップS80にて接続バッファの記録内容から未処理の接続があるか否かが判定される。ここで、未処理の接続がないと判定された場合は接続確立処理はそのまま終了する。また、ステップS80にて未処理の接続があると判定された場合はステップS81に進み未処理の接続の一つを接続確立の対象とする。ここで、接続の一つとは接続バッファにおける一行分のデータのことであり、確立する接続とは実体データの通信を行うためのポートの設定を意味している。次いで、ステップS82にてカレントバッファが参照され、対象とする接続が既に確立しているか否かを検出する。ここで、対象とする接続が既に確立されていると検出された場合は、新たな接続の確立を行わずステップS83に進む。ステップS83では、対象とする接続の先の接続があるか否かが検出され、先の接続がないと検出された場合は接続確立処理はそのまま終了する。また、ステップS83にて先の接続があると検出された場合はステップS84に進み接続指示を含むデータ部を作成する。この場合、対応付けがある場合は対応付けの情報を接続指示に含める。接続指示は、接続相手に接続させる先の相手の指示とされ、接続相手の先に複数の接続が連続して設定されている場合にはそれらすべての情報を含めるようにする。
また、ステップS82にてカレントバッファに対象とする接続の記録がされておらず、対象とする接続が未だ確立していないと検出された場合はステップS85に分岐し、接続要求と接続指示を含むデータ部を作成する。接続要求は自機と通信先である接続相手との間で接続を確立する要求である。接続指示は、接続相手に接続させる先の相手の指示とされ、対応付けがある場合は対応付けの情報も記録され、接続相手の先に複数の接続が連続して設定されている場合にはそれらすべての情報を含めるようにする。ステップS84あるいはステップS85においてデータ部が作成されると、ステップS86にてデータ部を送信する送信処理が行われる。送信処理では、ステップS84あるいはステップS85において作成されたデータ部が送信データとされて図2に示すように最終的に送信データがカプセル化されたMACフレームが生成されて、内部ネットワーク上に送信される。この場合、対象とする接続先の処理要素が機能している処理装置のMACアドレス(物理装置ID)が、MACフレームのMACヘッダにあて先MACアドレスとして設定される。
接続確立の操作をしている処理装置からネットワーク上に送信されたMACフレームは、スター型の内部ネットワークとされていることからハブで受信され、経路決定処理が行われる(ステップS90)。経路決定処理では、ハブは受信されたMACフレームのあて先MACアドレスを見て送信経路を決定し、MACフレームを中継する。この結果、接続確立の操作をしている処理装置から送信されたMACフレームがあて先MACアドレスが一致する接続相手の処理要素が機能している処理装置で受信されて、受信処理が行われる(ステップS100)。受信処理では、MACフレームからIPパケットが取り出され、IPパケットからTCPセグメントが取り出され、さらに、TCPセグメントからデータ部が取得される。そして、ステップS101にて取得されたデータ部を解釈して要求された接続を確立する。また、対応付けの指示がある場合は対応付けも行う。確立した接続の接続情報および対応付けがカレントバッファに記録される。接続確立では、装置テーブルを参照して対象とされる接続の接続相手の処理要素が機能している処理装置のIPアドレスと、当該処理要素の論理装置ID(ポート番号)が取得される。このIPアドレスとポート番号とにより処理装置における接続相手の処理要素を特定することができることから、IPアドレスとポート番号とを設定することにより対象とする接続を確立することができる。ステップS101の処理が終了するとステップS102に進み接続指示があるか否かが判定される。ここで、接続指示があると判定された場合は接続指示で指示された他の処理装置との接続を自己の接続バッファに記録してステップS104に進む。
また、ステップS102にてデータ部に接続指示があると検出されない場合は、ステップS104に分岐する。ステップS104では接続完了を含むデータ部が作成され、ステップS105にてデータ部を送信する送信処理が行われる。送信処理では、ステップS104において作成されたデータ部が送信データとされて図2に示すように最終的に送信データがカプセル化されたMACフレームが生成されて、内部ネットワーク上に送信される。この場合、実行元の処理装置のMACアドレスが、MACフレームのMACヘッダにあて先MACアドレスとして設定される。接続相手である処理装置からネットワーク上に送信されたMACフレームは、スター型の内部ネットワークとされていることからハブで受信され、経路決定処理が行われる(ステップS91)。経路決定処理では、ハブは受信されたMACフレームのあて先MACアドレスを見て送信経路を決定し、MACフレームを中継する。この結果、接続相手の処理装置から送信されたMACフレームがあて先MACアドレスが一致する接続確立処理が実行されている処理装置で受信されて、受信処理が行われる(ステップS87)。
受信処理では、MACフレームからIPパケットが取り出され、IPパケットからTCPセグメントが取り出され、さらに、TCPセグメントからデータ部が取得される。そして、ステップS88にて取得されたデータ部を解釈して接続完了の返答(ACK)がされた接続を確立する。また、対応付けがある場合は対応付けも行う。確立した接続の接続情報および対応付けがカレントバッファに記録される。接続確立では、装置テーブルを参照して対象とされる接続の接続相手の処理要素が機能している処理装置のIPアドレスと、当該処理要素の論理装置ID(ポート番号)が取得される。このIPアドレスとポート番号とにより処理装置における接続相手の処理要素を特定することができることから、IPアドレスとポート番号とを設定することにより対象とする接続を確立することができる。ステップS88の処理が終了すると接続確立処理は終了する。
なお、接続相手の処理装置の接続バッファに記録された接続情報に基づく接続確立は、接続相手の処理装置において接続確立処理が起動された際に、接続相手の処理装置が実行元の処理装置となって、図14に示す接続確立処理が実行されることにより確立される。
上述したように、接続確立処理が実行されることにより確立された実体データを通信するための論理接続の接続情報と対応付けがカレントバッファに記録される。そこで、カレントバッファに記録される接続情報と対応付けの例を図15に示す。この場合、カレントバッファには自処理装置において現在確立している論理接続が記録される。
図15に示す接続情報と対応付けは、図13に示すように記録された接続バッファの接続情報に基づいて接続確立処理を行った場合とされ、処理装置SY1のカレントバッファには処理装置SY1で機能している鍵盤要素KBa、音源要素TGaおよびスピーカ要素SPaのそれぞれの接続情報と対応付けが記録される。この場合、鍵盤要素KBaの接続情報と対応付けは「ポート1:出力→SY2音源」とされ、鍵盤要素KBaから出力されるMIDIデータを処理装置SY1のポート1からSY2音源へ出力する接続情報とされる。また、音源要素TGaは接続されていないことから接続情報と対応付けはなく、スピーカ要素SPaの接続情報と対応付けは「ポート2:入力←SY2音源」とされ、処理装置SY2の音源要素TGbから出力されるオーディオデータを処理装置SY1のポート2で受信することによりスピーカ要素SPaに入力される接続情報とされる。
また、処理装置SY2のカレントバッファには処理装置SY2で機能している音源要素TGbとスピーカ要素SPbのそれぞれの接続情報と対応付けが記録される。この場合、音源要素TGbの接続情報と対応付けは「ポート1:入力←SY1鍵盤」、「ポート1→ポート2」、「ポート1→ポート3」、「ポート2:出力→SY1スピーカ」、「ポート3:出力→SY2スピーカ」とされている。「ポート1:入力←SY1鍵盤」は、処理装置SY1の鍵盤要素KBaから出力されるMIDIデータを処理装置SY2のポート1で受信することにより、音源要素TGbへ入力する接続情報である。「ポート1→ポート2」、「ポート1→ポート3」は、処理装置SY1の鍵盤要素KBaから入力されたMIDIデータの音源要素TGbでの処理結果であるオーディオデータをポート2およびポート3から出力する接続情報である。「ポート2:出力→SY1スピーカ」、「ポート3:出力→SY2スピーカ」は、ポート1から入力されたMIDIデータの処理結果として音源要素TGbから出力されるオーディオデータをポート2から処理装置SY1のスピーカ要素SPaへ出力すること、および、ポート1から入力されたMIDIデータの処理結果として音源要素TGbから出力されるオーディオデータをポート3から処理装置SY2のスピーカ要素SPbへ出力する接続情報である。スピーカ要素SPbの接続情報との対応付けは「ポート3:入力←SY2音源」とされ、処理装置SY2においてポート1から入力されたMIDIデータの処理結果として音源要素TGbから出力されるオーディオデータをポート3で受信することにより、スピーカ要素SPbに入力される対応付けとされる。
上記説明した接続選択処理はSV(サーバ)11において実行することもできる。SV(サーバ)11で実行される接続選択処理のフローチャートを図16に示す。なお、SV(サーバ)11と基点とされる処理装置間で通信される制御データは、あて先の処理装置のIPアドレスと予め定められている制御データ用のポート番号とを用いて通信される。
SV(サーバ)11において接続選択処理が起動されると、ステップS120にて装置テーブルを参照し、内部ネットワーク上の全処理装置を表示して、接続の基点とする処理装置の選択を受け付ける。ここで、接続の基点とする処理装置が選択されたことが検出されると、ステップS121にてSV(サーバ)11は選択された処理装置を基点とする接続の選択処理を実行し、接続の選択処理を行うことにより設定された内部ネットワーク上の全処理装置の接続内容をSV(サーバ)11に記憶する。次いで、ステップS122にて接続の選択処理を行うことにより設定された接続内容と、接続の基点とした処理装置へ接続内容の接続を確立することを指示する接続確立指示とを含むデータ部を作成する。
次いで、ステップS123にて送信処理が行われる。送信処理では、ステップS122において作成されたデータ部が送信データとされて図2に示すように最終的にデータ部がカプセル化されたMACフレームが生成されて、内部ネットワーク上に送信される。この場合、基点とされる処理装置のMACアドレス(物理装置ID)が、MACフレームのMACヘッダにあて先MACアドレスとして設定される。SV(サーバ)11からネットワーク上に送信されたMACフレームは、スター型の内部ネットワークとされていることからハブで受信され、経路決定処理が行われる(ステップS130)。経路決定処理では、ハブは受信されたMACフレームのあて先MACアドレスを見て送信経路を決定し、MACフレームを中継する。この結果、SV(サーバ)11から送信されたMACフレームがあて先MACアドレスが一致する基点として選択された処理装置で受信されて、受信処理が行われる(ステップS140)。受信処理では、MACフレームからIPパケットが取り出され、IPパケットからTCPセグメントが取り出され、さらに、TCPセグメントからデータ部が取得される。そして、ステップS141にて取得されたデータ部を解釈して接続確立指示された接続内容を接続バッファへ記録し、接続選択処理は終了する。
なお、基点の処理装置の接続バッファに記録された接続情報に基づく接続確立は、基点の処理装置において接続確立処理が起動された際に、基点の処理装置が実行元の処理装置となって、図14に示す接続確立処理が実行されることにより確立される。
ところで、図6に示すネットワーク接続処理、図7に示すネットワーク切断処理、図10ないし図12に示す接続選択処理、図14に示す接続確立処理、図16に示すSV(サーバ)11において実行される接続選択処理を、これらの処理を行う処理装置においてブラウザソフトウェアを立ち上げてブラウザを利用して実行することができる。ブラウザでは、HTTP(HyperText Transfer Protocol)よるファイル転送を行え、HTML(Hyper Text Markup Language)で記述されたハイパーテキストを解読し表示することができる。この場合、ブラウザに必要とする設定画面や選択画面を表示させて、ユーザが画面上で設定や選択を行えるようになる。そして、制御データの通信はHTTPに用意されているファイル要求を行える”GET”、任意のデータを送る”POST”やファイルの更新を行える”PUT”等のリクエスト・メソッドを用いて行うことができる。なお、HTTPで使用されるポート番号は一般に80番とされるが、これに限るものではない。
次に、各処理要素の説明を行うが、各処理要素における送信ポートや受信ポートのポート番号は、個々の処理要素毎に異なる固有値とされているが、個々の処理要素の各ポートをIPアドレスとポート番号とで特定することができることから、個々の処理要素毎に異なる固有値としなくてもよい。
まず、音源要素の機能ブロック図を図17に示す。図示するように音源要素TGは、受信ポートからMIDIデータをタイミングデータと共に受信して処理順に記録する受信バッファ100と、タイミングデータと音源要素TGの内臓MIDIクロックのタイミングにあわせて、受信バッファ100から処理すべきMIDIデータを順次に読み出して、そのMIDIデータを楽音合成部102に供給する読出部101と、供給されたMIDIデータのノートデータで音高を決定すると共に、プログラムチェンジデータで音色を決定し、さらに、コントロールチェンジデータで音量やエフェクト量などの制御量を決定して、決定された情報でPCMデータの楽音を生成する楽音合成部102と、楽音合成部102で生成されたPCMデータを発生順に記録する送信バッファ103から構成されている。受信バッファ100は音源要素の受信ポートから実体データ(MIDIデータ)を受信し、送信バッファ103は音源要素の送信ポートから実体データ(PCMデータ)を送信する。なお、受信ポートのポート番号は図3に示される装置テーブルに記録されている該当する音源要素の論理装置IDであり、送信ポートは送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。また、送信バッファ103から送信されるPCMデータはMP3データとして圧縮して送信するようにしてもよい。PCMデータやMP3データはオーディオデータと呼ばれる。
次に、鍵盤要素の機能ブロック図を図18に示す。図示するように鍵盤要素KBは、ハードウェアの操作子111と、操作子111の操作を検出して、発生されたMIDIデータのタイミングデータを内蔵MIDIクロックに基づいて発生する操作検出部112と、操作検出部112からのMIDIデータとタイミングデータを組にして発生順に記録する送信バッファ113とから構成されている。送信バッファ113は鍵盤要素の送信ポートからMIDIデータである実体データを送信する。なお、送信ポートは送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、スピーカ要素の機能ブロック図を図19に示す。図示するようにスピーカ要素SPは、受信ポートから受信したPCMデータを処理順に記録する受信バッファ121と、サンプリング周波数fsのタイミングにあわせてPCMデータを1サンプルずつ受信バッファ121から取り出してDA変換部123へ供給する読出部122と、読出部122から供給されたPCMデータをアナログのオーディオ信号に変換するDA変換部123と、DA変換部123からのオーディオ信号を増幅して放音するスピーカを備える出力部124とから構成されている。受信バッファ121はスピーカ要素の受信ポートから実体データ(PCMデータ)を受信する。なお、受信ポートのポート番号は図3に示される装置テーブルに記録されている該当するスピーカ要素の論理装置IDである。
次に、DSPユニットの機能ブロック図を図20に示す。DSPユニットDUは処理装置であり機能している処理要素を切り替えられるようにされている。DSPユニットDUは、処理要素を実現するためのDSPが実行する処理要素毎のマイクロプログラムとパラメータが記録されている内蔵されている記憶部133と、切替指示を検出して切替部131へ設定すべき処理要素の情報を含む切り替えを指示する切替検出部132と、切替指示で指示された処理要素のマイクロプログラムとパラメータを記憶部133から読み出して複数のDSPを有する信号処理部134へ設定する切替部131と、設定されたマイクロプログラムとパラメータに基づいて信号処理を行う信号処理部134とから構成されている。信号処理部134が信号処理を行うことにより、DSPユニットDUはマイクロプログラムに対応する処理要素として機能するようになる。すなわち、DSPユニットDUは、図17ないし図19および図22ないし図28に示す機能ブロックの処理要素のいずれかとして機能することができる。なお、処理要素が切り替えられた際には、カレントバッファから変更前の処理要素の接続を切断するようにかかる接続の情報を削除する。
DSPユニットDUにおいて処理要素が切り替えられた際に、切り替えられたことを通知する通知処理のフローチャートを図21に示す。
DSPユニットDUにおいて処理要素を切り替える際には、切り替える前の現在の処理要素における接続が切断される。次いで、切替指示が検出されると通知処理が起動される(ステップS150)。次いで、ステップS151にて切替指示されたマイクロプログラムとパラメータを設定して処理要素を機能させる。さらに、ステップS152にて自機情報と変更要求を含むデータ部を作成する。この場合の自機情報は、論理装置ID、IPアドレス(IPアドレスは内部ネットワークにログインした際にDHCPサーバから割り当てられている)、物理装置ID、装置名、信号処理部134に設定した処理要素名とその処理IDの情報であり、変更要求とは、SV(サーバ)11にある装置テーブルのデータを添付した自機情報で書き換える要求とされる。次いで、ステップS153にて送信処理が行われる。送信処理では、ステップS152において作成されたデータ部が送信データとされて図2に示すように最終的にMACフレームが生成されて、内部ネットワーク上に送信される。MACフレームのMACヘッダにはあて先MACアドレスとしてSV(サーバ)11のMACアドレス(物理装置ID)が設定される。
DSPユニットDUから送信されたMACフレームは、スター型の内部ネットワークとされていることからハブで受信され、経路決定処理が行われる(ステップS161)。経路決定処理では、ハブは受信されたMACフレームのあて先MACアドレスを見て送信経路を決定し、MACフレームを中継する。これにより、DSPユニットDUから送信されたMACフレームがあて先MACアドレスが一致するSV(サーバ)11で受信されて、受信処理が行われる(ステップS170)。受信処理では、MACフレームからIPパケットが取り出され、IPパケットからTCPセグメントが取り出され、さらに、TCPセグメントからデータ部が取得される。そして、取得されたデータ部を解釈して変更要求があることから変更要求処理を行うと判断する。次いで、ステップS171にてデータ部におけるDSPユニットDUの自機情報で装置テーブルを書き換えて、ステップS172にて変更後の装置テーブルと変更要求を含むデータ部を作成する。このデータ部は、ステップS173で送信処理が行われることにより内部ネットワーク上に送信される。この送信処理は、前述したステップS153の送信処理と同様の処理とされるが、あて先MACアドレスにはオール”1”のブロードキャストアドレス(FF-FF-FF-FF-FF-FF)が設定され、あて先IPアドレスもブロードキャストアドレスが設定される。この場合、図3に示す装置テーブルのように内部ネットワークのネットワークアドレスが”192.168.111.0”とされている場合は、IPアドレスのブロードキャストアドレスは”192.168.111.255”とされる。
SV(サーバ)11からブロードキャストされたMACフレームは、ハブで受信され経路決定処理が行われる(ステップS161)。この経路決定処理では、ステップS160と同様の経路決定処理が行われるが、ブロードキャストアドレスのMACフレームとされていることから全ての処理装置にMACフレームが中継されるようになる。DSPユニットDUは、ブロードキャストされたMACフレームが到来した際にブロードキャストアドレスとされていることからステップS170と同様のMACフレームを受信する受信処理を行う(ステップS154)。次いで、ステップS155にて受信されたMACフレームから取り出された装置テーブル情報を内部の記憶手段に記憶することにより装置テーブルを更新し、DSPユニットにおけるネットワーク接続処理は終了する。また、他のクライアントにおいてはブロードキャストされたMACフレームが到来した際にブロードキャストアドレスとされていることからステップS170と同様のMACフレームを受信する受信処理を行う(ステップS180)。次いで、ステップS181にて受信されたMACフレームから取り出された装置テーブル情報で記憶されている装置テーブルを更新し、他のクライアントにおけるネットワーク接続処理は終了する。
次に、ミキサ要素の機能ブロック図を図22に示す。図示するようにミキサ要素MXは、受信ポートからPCMデータを受信して処理順に記録する受信チャンネル毎に用意されている受信バッファ141と、受信バッファ141からサンプリング周波数fsのタイミングにあわせてPCMデータを1サンプルずつ取り出してミックス部143へ供給する読出部142と、操作子144から入力された各種のパラメータの設定にあわせて、受信バッファ141から入力されたPCMデータをミキシング(信号処理)するミックス部143と、各種パラメータの設定を行う操作子144と、ミックス部143から出力されるPCMデータを発生順に記録する送信チャンネル毎に用意されている送信バッファ145から構成されている。受信バッファ141はミキサ要素の受信ポートから実体データ(PCMデータ)を受信し、送信バッファ145はミキサ要素の送信ポートから実体データ(PCMデータ)を送信する。なお、受信ポートのポート番号はチャンネル毎に異なるポート番号が割り当てられ、送信ポートもチャンネル毎に異なるポート番号が割り当てられる。
次に、コンテンツレコーダ要素の機能ブロック図を図23に示す。コンテンツレコーダ要素CRにおいて通信するデータは、実体データではなく制御データとされ、他の処理要素と通信を行うときは実体データの通信に使うポートではなく制御データ通信用のポートを使用して通信を行う。この場合、コンテンツを要求する処理要素(処理装置)にコンテンツの取得に必要とする画面を表示させて、ユーザが画面上でコンテンツの選択を行えるようにしてもよい。そして、制御データの通信はHTTPに用意されているファイル要求を行う”GET”のリクエスト・メソッドを用いて行うことができる。
コンテンツレコーダ要素CRにコンテンツを要求する処理要素(処理装置)は、コンテンツ要求とコンテンツデータの識別情報を送信する制御データのデータ部に入れて送信する。コンテンツとは特定の処理要素で使用されるファイル、ソングやスタイルやボイスなどのファイルである。コンテンツレコーダ要素CRは、受信ポートからコンテンツ要求を検出(受信)して、コンテンツ要求とコンテンツデータの識別情報を読出部151へ供給する要求検出部152と、識別情報に該当するコンテンツデータをコンテンツ記憶部153から読み出してコンテンツ送信部154へわたす読出部151と、複数のコンテンツデータを識別情報と共に記憶しているコンテンツ記憶部153と、コンテンツ要求を送信した処理要素(処理装置)へ、読み出したコンテンツデータを送信ポートから送信するコンテンツ送信部154から構成されている。なお、受信ポートのポート番号は制御データ用に予め割り当てられたポート番号(HTTPの場合は一般に80番とされるが、これに限られない)とされ、送信ポートは送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、自動伴奏要素の機能ブロック図を図24に示す。自動伴奏要素AAは、他の処理要素からの伴奏データの要求に応じて、指示された伴奏データを演奏データに基づいて編集し、伴奏データを処理要素に送るようにしている。そして、自動伴奏の要求データは実体データの通信に使うポートではなく制御データ通信用のポートを使用して通信を行う。この場合、伴奏データを要求する処理要素が機能している処理装置において自動伴奏の要求に必要とする画面を表示させて、ユーザが画面上で自動伴奏の選択や伴奏データの送り先の選択を行うようにしてもよい。そして、伴奏データの要求および取得の通信をHTTPにより行うようにしてもよい。
自動伴奏要素AAは、受信ポート1からMIDIデータ(演奏データ)を受信して処理順に記録する受信バッファ161と、自動伴奏要素AAの内臓MIDIクロックのタイミングにあわせて、処理すべきMIDIデータ(演奏データ)を受信バッファ161から取り出す読出部162と、読出部162で取り出したMIDIデータ(演奏データ)のうちのノートオンイベントとノートオフイベントを使用して演奏データにおける和音を検出する和音検出部163を備えている。
また、自動伴奏要素AAに自動伴奏を要求する処理要素(処理装置)は、伴奏データ要求と伴奏データの識別情報を送信する制御データのデータ部に入れて送信する。そして、自動伴奏要素AAは、受信ポート2から伴奏データ要求を検出(受信)した際に、受信された伴奏データ要求と自動伴奏の識別情報を読出部164へわたす要求検出部165と、識別情報に該当する伴奏データを伴奏データ記憶部166から読み出して伴奏データバッファ167へわたす読出部164と、複数の伴奏データを識別情報と共に記憶している伴奏データ記憶部166と、伴奏データ記憶部166から読み出した伴奏データを記録する伴奏データバッファ167を備えている。なお、伴奏データとは伴奏を再生するためのMIDIデータを処理順に記録したファイルとされている。
和音検出部163は検出した和音データと供給されたMIDIデータ(演奏データ)とを自動伴奏部168にわたし、伴奏データバッファ167はMIDIデータ(伴奏データ)を自動伴奏部168に渡す。自動伴奏部168は、自動伴奏要素AAの内臓MIDIクロックのタイミングにあわせて、処理すべきMIDIデータ(伴奏データ)を伴奏データバッファ167から順に取り出す。そして、取り出したMIDIデータ(伴奏データ)がノートオンであれば和音検出部163から渡されたその時点の和音データでノートナンバを変更し、変更後もしくは取り出したMIDIデータ(伴奏データ)と和音検出部163より受け取ったMIDIデータ(演奏データ)を、各データの処理タイミングを表すタイミングデータとともに、送信バッファ169へわたしている。送信バッファ169では、自動伴奏部168から送られたMIDIデータとタイミングデータを処理順に記録し、伴奏データ要求に含まれているあて先のIPアドレスとポート番号で特定される処理要素に送信ポートから送信している。なお、受信ポート1は実体データ(MIDIデータ)の受信ポートであり、受信ポート1のポート番号は図3に示される装置テーブルに記録されている該当する自動伴奏要素AAの論理装置IDとされ、受信ポート2のポート番号は制御データ用に予め割り当てられたポート番号(HTTPの場合は一般に80番とされるが、これに限られない)とされ、送信ポートは実体データ(MIDIデータ)の送信ポートであり送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、MIDIレコーダ要素の機能ブロック図を図25に示す。MIDIレコーダ要素MRは、受信したMIDIデータを記録することができ、読出要求に応じて記録されたMIDIデータをあて先の処理要素(処理装置)に送信するようにしている。
MIDIレコーダ要素MRは、受信ポート1からMIDIデータを受信して処理順に記録する受信バッファ171と、受信バッファ171からMIDIデータを取り出して、MIDIのイベントデータとその処理タイミングを表すタイミングデータの組を処理順にMIDI記録部173に書き込む書込部172と、書込部172によりMIDIデータからなる演奏データがMIDIファイルとして記録されるMIDI記録部173を備えている。また、MIDIレコーダ要素MRにMIDIデータ(演奏データ)を要求する処理要素(処理装置)は、読出要求とMIDIファイルの識別情報を制御データのデータ部に入れて送信する。この場合、読出要求する処理要素が機能している処理装置において読出要求に必要とする画面を表示させて、ユーザが画面上でMIDIファイルの選択やMIDIデータの送り先の選択を行うようにしてもよいし、読出要求およびMIDIデータの取得の通信をHTTPにより行うようにしてもよい。
そして、MIDIレコーダ要素MRは、受信ポート2から読出要求を検出(受信)した際に、受信された読出要求とMIDIファイルの識別情報を読出部174へわたす要求検出部176と、識別情報に対応するMIDIファイルから、MIDIレコーダ要素MRの内臓MIDIクロックのタイミングにあわせて、処理すべきMIDIデータをMIDI記録部173から読み出して送信バッファ175へわたす読出部174と、読出部174から送られたMIDIデータとタイミングデータを処理順に記録する送信バッファ175とを備えている。送信バッファ175は、バッファに記録されたMIDIデータとタイミングデータを、読出要求に含まれているあて先のIPアドレスとポート番号で特定される処理要素に送信ポートから送信している。なお、受信ポート1は実体データ(MIDIデータ)の受信ポートであり、受信ポート1のポート番号は図3に示される装置テーブルに記録されている該当するMIDIレコーダ要素MRの論理装置IDとされ、受信ポート2のポート番号は制御データ用に予め割り当てられたポート番号(HTTPの場合は一般に80番とされるが、これに限られない)とされ、送信ポートは実体データ(MIDIデータ)の送信ポートであり送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、エディタ要素の機能ブロック図を図26に示す。エディタ要素EDは、受信したMIDIデータを設定要求に応じてエディットしてあて先の処理要素(処理装置)に送信するようにしている。
エディタ要素EDは、MIDIデータを受信ポート1から受信して処理順に記録する受信バッファ181と、受信バッファ181からエディタ要素EDの内臓MIDIクロックのタイミングにあわせて処理すべきMIDIデータを読み出してエディット部183へ渡す読出部182とを備えている。また、エディタ要素EDにエディットの設定を要求する処理要素(処理装置)は、設定要求とエディット情報を制御データのデータ部に入れて送信する。この場合、設定要求する処理要素が機能している処理装置において設定要求に必要とする画面を表示させて、ユーザが画面上でエディットする内容の設定を行うようにしてもよいし、設定要求の通信をHTTPにより行うようにしてもよい。なお、エディット情報はエディット内容を表す情報である。
そして、エディタ要素EDは、受信ポート2から設定要求を検出(受信)した際に、受信された設定要求とエディット情報をエディット部183へわたす要求検出部185と、読出部182から渡されたMIDIデータに要求検出部185からのエディット情報に基づいてエディットを行い、エディットされたMIDIデータを送信バッファ184に渡すエディット部183と、エディット部183から送られたMIDIデータとタイミングデータを処理順に記録する送信バッファ184を備えている。エディット部183では、自動作曲の場合、読み出したMIDIデータ(フレーズ)から1曲分の楽曲を表すMIDIデータをエディット情報に基づいて作成し、作成したMIDIデータを送信バッファ184へわたしている。また、自動編曲の場合、読み出したMIDIデータ(メロディ)をエディット情報に基づいて編曲してオーケストラ曲を表すMIDIデータを作成し、作成したMIDIデータを送信バッファ184へわたしている。送信バッファ184は、バッファに記録されたMIDIデータとタイミングデータを、設定要求に含まれているあて先のIPアドレスとポート番号で特定される処理要素に送信ポートから送信している。なお、受信ポート1は実体データ(MIDIデータ)の受信ポートであり、受信ポート1のポート番号は図3に示される装置テーブルに記録されている該当するエディタ要素EDの論理装置IDとされ、受信ポート2のポート番号は制御データ用に予め割り当てられたポート番号(HTTPの場合は一般に80番とされるが、これに限られない)とされ、送信ポートは実体データ(MIDIデータ)の送信ポートであり送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、エフェクタ要素の機能ブロック図を図27に示す。エフェクタ要素EFは、受信したPCMデータに設定要求に応じたエフェクトを施してあて先の処理要素(処理装置)に送信するようにしている。
エフェクタ要素EFは、PCMデータを受信ポート1から受信して処理順に記録する図示していないが受信チャンネル(入力チャンネル)毎に設けられた受信バッファ191と、受信バッファ191からサンプリング周波数fsのタイミングにあわせてPCMデータを1サンプルずつ取り出してエフェクト部193へ送る読出部192とを備えている。また、エフェクタ要素EFにエフェクトの設定を要求する処理要素(処理装置)は、設定要求とエフェクト情報を制御データのデータ部に入れて送信する。この場合、設定要求する処理要素が機能している処理装置において設定要求に必要とする画面を表示させて、ユーザが画面上でエフェクト内容の設定を行うようにしてもよいし、設定要求の通信をHTTPにより行うようにしてもよい。なお、エフェクト情報はエフェクトの設定内容を表す情報である。
そして、エフェクタ要素EFは、受信ポート2から設定要求を検出(受信)した際に、受信された設定要求とエフェクト情報をエフェクト部193へわたす要求検出部195と、読出部192から読み出されたPCMデータにエフェクトを施して新たなPCMデータを作成し、作成後のPCMデータを送信バッファ194へわたすエフェクト部193と、エフェクト部193から送られたPCMデータとタイミングデータを処理順に記録する図示していないが送信チャンネル毎に設けられた送信バッファ194を備えている。エフェクト部193でのエフェクトは、エフェクト情報に基づいて設定(決定)され、リバーブやコーラスなどのエフェクトがPCMデータに施される。送信バッファ194は、バッファに記録されたPCMデータを、設定要求に含まれているあて先のIPアドレスとポート番号で特定される処理要素に送信ポートから送信している。なお、受信ポート1は実体データ(PCMデータ)の受信ポートであり、受信ポート1のポート番号は図3に示される装置テーブルに記録されている該当するエフェクタ要素EFの論理装置IDとされ、受信ポート2のポート番号は制御データ用に予め割り当てられたポート番号(HTTPの場合は一般に80番とされるが、これに限られない)とされ、送信ポートは実体データ(PCMデータ)の送信ポートであり送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、オーディオレコーダ要素の機能ブロック図を図28に示す。オーディオレコーダ要素ARは、受信したPCMデータを記録することができ、読出要求に応じて記録されたPCMデータをあて先の処理要素(処理装置)に送信するようにしている。
オーディオレコーダ要素ARは、受信ポート1からPCMデータを受信して処理順に記録する受信バッファ201と、受信バッファ201からPCMデータを取り出してPCM記録部203に書き込む書込部202と、書込部202によりPCMデータがPCMファイルとして記録されるPCM記録部203を備えている。また、オーディオレコーダ要素ARにPCMデータを要求する処理要素(処理装置)は、読出要求とPCMファイルの識別情報を制御データのデータ部に入れて送信する。この場合、読出要求する処理要素が機能している処理装置において読出要求に必要とする画面を表示させて、ユーザが画面上でPCMファイルの選択やPCMデータの送り先の選択を行うようにしてもよいし、読出要求およびPCMデータの取得の通信をHTTPにより行うようにしてもよい。
そして、オーディオレコーダ要素ARは、受信ポート2から読出要求を検出(受信)した際に、受信された読出要求とPCMファイルの識別情報を読出部204へわたす要求検出部206と、識別情報に対応するPCMファイルからサンプリング周波数fsのタイミングにあわせて、PCMデータをPCM記録部203から読み出して送信バッファ205へわたす読出部204と、読出部204から送られたPCMデータを処理順に記録する送信バッファ205とを備えている。送信バッファ205は、バッファに記録されたPCMデータを、読出要求に含まれているあて先のIPアドレスとポート番号で特定される処理要素に送信ポートから送信している。なお、受信ポート1は実体データ(PCMデータ)の受信ポートであり、受信ポート1のポート番号は図3に示される装置テーブルに記録されている該当するオーディオレコーダ要素ARの論理装置IDとされ、受信ポート2のポート番号は制御データ用に予め割り当てられたポート番号(HTTPの場合は一般に80番とされるが、これに限られない)とされ、送信ポートは実体データ(PCMデータ)の送信ポートであり送信する際にランダムなポート番号が割り当てられるが、固定のポート番号としても良い。
次に、実体データの通信を行う際に実行される通信処理のフローチャートを図29に示す。
実体データの通信を行う際には、実体データを送信する処理装置において通信処理が起動され、送信する装置と受信する装置との間でハンドシェークが行われてTCPの論理回線が確立される。次いで、ステップS190にて送信バッファからデータを取り出してデータ部が作成される。次いで、ステップS191にて送信処理が行われる。送信処理では、ステップS190において作成されたデータ部が送信データとされて図2に示すように最終的に送信データがカプセル化されたMACフレームが生成されて、内部ネットワーク上に送信される。MACフレームのMACヘッダにはあて先MACアドレスとして実体データを受信するあて先の処理装置のMACアドレス(物理装置ID)が設定される。
送信されたMACフレームは、スター型の内部ネットワークとされていることからハブで受信され、経路決定処理が行われる(ステップS200)。経路決定処理では、ハブは受信されたMACフレームのあて先MACアドレスを見て送信経路を決定し、MACフレームを中継する。これにより、送信する処理装置から送信されたMACフレームがあて先MACアドレスが一致する受信する処理装置で受信されて、受信処理が行われる(ステップS210)。受信処理では、MACフレームからIPパケットが取り出され、IPパケットからTCPセグメントが取り出され、さらに、TCPセグメントからデータ部が取得される。次いで、ステップS211で取得されたデータ部が受信バッファに記録される。なお、通信には実態データを送信するために確立されたカレントバッファに記録されているポートが使用される。
以上の説明では、内部ネットワークをイーサネットのLANとしたが本発明はこれに限るものではなく、他のネットワーク媒体としても良い。また、通信プロトコルとしてTCPとしたが、本発明はこれに限るものではなく、リアルタイムを重んずる場合は信頼性は低いが転送速度が高いUDP(User Datagram Protocol)を用いても良いし、TCP/IPに替えてIPX/SPX(Internetwork Packet Exchange/Sequenced Packet Exchange)を用いるようにしても良い。
また、エディタ要素のエディット情報やエフェクタ要素のエフェクト情報を他の処理要素で設定して送るようにすると、他の部屋にあるエディタ要素やエフェクト要素をスピーカ要素のある部屋から操作することができるようになり、あたかもその部屋にエディタ要素やエフェクト要素があるものとして操作することができることから操作性を向上することができる。
さらに、一つの処理装置内の複数の処理要素間の接続解除はネットワーク接続時にかぎるものではなく、ネットワーク接続後の任意のタイミングで解除を可能とすることができる。この場合、ネットワーク接続時には接続の解除を行わず、ネットワーク接続後に接続解除の指示を確認する処理を周期的に起動するようにしておき、接続解除の指示を検出したときに処理装置内の処理要素間の接続を解除するようにすればよい。また、接続解除の指示はそれを指示する特別なスイッチを設けてそのスイッチにより指示してもよい。このような接続解除の指示は自処理装置に限らず、ネットワーク上の他の処理装置から行うこともできる。
本発明の実施例の楽音発生システムの構成を示すブロック図である。 本発明にかかる楽音発生システムにおいてネットワーク上に送出されるMACフレームの生成過程の概要を示す図である。 本発明にかかる楽音発生システムの内部ネットワークにおけるすべての処理要素毎の識別情報の対応表である装置テーブルである。 本発明にかかる楽音発生システムの内部ネットワーク上の処理要素において、実体データの通信が可能な処理要素毎の入力側と出力側の接続テーブルである。 本発明にかかる楽音発生システムにおいて、ネットワーク接続処理の一部の処理の態様を示す図である。 本発明にかかる楽音発生システムにおいて、内部ネットワークに新たに処理装置が接続(ログイン)された際に実行されるネットワーク接続処理のフローチャートである。 本発明にかかる楽音発生システムにおいて、内部ネットワークに接続されている処理装置が切断(ログオフ)された際に実行されるネットワーク切断処理のフローチャートである。 本発明にかかる楽音発生システムにおいて、ネットワーク切断処理の一部の処理の態様を示す図である。 本発明にかかる楽音発生システムにおける内部ネットワークの構成の例を示す図である。 本発明にかかる楽音発生システムにおいて、処理要素間の接続を行う接続処理時に表示される設定画面の例を示す図である。 本発明にかかる楽音発生システムにおいて、処理要素間の接続を行う接続処理時に表示される設定画面の他の例を示す図である。 本発明にかかる楽音発生システムにおいて、処理要素と処理要素との接続を設定する際に実行される接続選択処理のフローチャートである。 本発明にかかる楽音発生システムにおいて、接続選択処理が行われて処理要素の論理接続の設定が行われた場合に、接続バッファに記録される接続情報の例を示す図である。 本発明にかかる楽音発生システムにおいて、接続選択処理に続けて実行される接続確立処理のフローチャートである。 本発明にかかる楽音発生システムにおいて、カレントバッファに記録される接続情報と対応付けの例を示す図である。 本発明にかかる楽音発生システムにおいて、SV(サーバ)で実行される接続選択処理のフローチャートである。 本発明にかかる楽音発生システムにおける音源要素の機能ブロック図である。 本発明にかかる楽音発生システムにおける鍵盤要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるスピーカ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるDSPユニットの機能ブロック図である。 本発明にかかる楽音発生システムにおいて、DSPユニットにおいて処理要素が切り替えられた際に、切り替えられたことを通知する通知処理のフローチャートである。 本発明にかかる楽音発生システムにおけるミキサ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるコンテンツレコーダ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおける自動伴奏要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるMIDIレコーダ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるエディタ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるエフェクタ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおけるオーディオレコーダ要素の機能ブロック図である。 本発明にかかる楽音発生システムにおける実体データの通信を行う際に実行される通信処理のフローチャートである。
符号の説明
1 インターネット、2 ルータ、3 ルータ、4 ルータ、10 ハブ、11 SV(サーバ)、12 TG1(音源)、13 TG2(音源)、14 KB(鍵盤)、15 SP1(スピーカ)、20 ハブ、21 SP2(スピーカ)、22 DU(DSPユニット)、23 MX(ミキサ)、24 CR(コンテンツレコーダ)、30 ハブ、31 AA(自動伴奏)、32 MR(MIDIレコーダ)、33 ED(エディタ)、34 EF(エフェクタ)、35 AR(オーディオレコーダ)、36 SY(音源、鍵盤)40 ハブ、41 MC(マイク)、42 CD(CDプレーヤ)、100 受信バッファ、101 読出部、102 楽音合成部、103 送信バッファ、111 操作子、112 操作検出部、113 送信バッファ、121 受信バッファ、122 読出部、123 DA変換部、124 出力部、131 切替部、132 切替検出部、133 記憶部、134 信号処理部、141 受信バッファ、142 読出部、143 ミックス部、144 操作子、145 送信バッファ、151 読出部、152 要求検出部、153 コンテンツ記憶部、154 コンテンツ送信部、161 受信バッファ、162 読出部、163 和音検出部、164 読出部、165 要求検出部、166 伴奏データ記憶部、167 伴奏データバッファ、168 自動伴奏部、169 送信バッファ、171 受信バッファ、172 書込部、173 記録部、174 読出部、175 送信バッファ、176 要求検出部、181 受信バッファ、182 読出部、183 エディット部、184 送信バッファ、185 要求検出部、191 受信バッファ、192 読出部、193 エフェクト部、194 送信バッファ、195 要求検出部、201 受信バッファ、202 書込部、203 記録部、204 読出部、205 送信バッファ、206 要求検出部

Claims (1)

  1. それぞれが楽音発生に関連する1乃至複数の処理要素として機能する複数の処理装置をネットワークを介して相互に接続し、該ネットワークを介して前記処理要素間を接続することにより楽音を発生する楽音発生システムにおける前記処理装置であって、
    前記楽音発生システム上に存在する、前記楽音発生システムを構成する各処理装置が備える前記1乃至複数の処理要素を処理装置毎に登録した装置テーブルを記憶した装置テーブル記憶手段と、
    前記装置テーブルに登録された処理要素のうちから複数の処理要素を選択し、該選択され処理要素間での接続設定を行う接続設定手段と、
    他の処理装置から、前記複数の処理要素間での接続設定を規定した接続設定情報を受信し、該受信した接続設定情報に基づいて前記接続設定手段に前記接続設定を行わせる接続設定情報受信手段と、
    前記接続設定手段で設定された接続設定に基づいて、当該処理装置が備える処理要素を接続元としたとき、該接続元の処理要素に対して直接に接続されるよう設定された、他の処理装置が備える接続先の処理要素を特定する接続先特定手段と、
    前記接続先特定手段にて特定された接続先の処理要素と、当該処理装置が備える前記接続元の処理要素との間に、データ通信の接続を確立する接続確立手段と、
    前記接続設定手段で設定された接続設定にて、前記接続確立手段により接続が確立された接続先の処理要素からさらに他の処理要素が接続先の処理要素となるよう設定されていたとき、前記接続確立手段にて接続が確立された前記接続先の処理要素を備えた他の処理装置に対し、前記接続設定手段にて設定された接続設定情報を送信することにより、該他の処理装置にて該送信した接続設定情報に基づく接続を確立するよう指示する接続確立指示手段と、
    を備えることを特徴とする楽音発生システムにおける処理装置。
JP2005304033A 2005-10-19 2005-10-19 楽音発生システムにおける処理装置 Expired - Fee Related JP4200998B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2005304033A JP4200998B2 (ja) 2005-10-19 2005-10-19 楽音発生システムにおける処理装置
US11/582,493 US7847174B2 (en) 2005-10-19 2006-10-16 Tone generation system controlling the music system
AT06122400T ATE491285T1 (de) 2005-10-19 2006-10-17 Tonerzeugungssystem
DE602006020055T DE602006020055D1 (de) 2005-10-19 2006-10-17 Tonerzeugungssystem
AT08103495T ATE498260T1 (de) 2005-10-19 2006-10-17 Tonerzeugungssystem
EP08103495A EP1936874B1 (en) 2005-10-19 2006-10-17 Tone generation system
DE602006018693T DE602006018693D1 (de) 2005-10-19 2006-10-17 Tonerzeugungssystem
EP06122400A EP1777882B1 (en) 2005-10-19 2006-10-17 Tone generation system
CN2006101320106A CN1953382B (zh) 2005-10-19 2006-10-19 乐音产生系统及用于该乐音产生系统中的网络处理方法
US12/913,665 US7977559B2 (en) 2005-10-19 2010-10-27 Tone generation system controlling the music system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005304033A JP4200998B2 (ja) 2005-10-19 2005-10-19 楽音発生システムにおける処理装置

Publications (2)

Publication Number Publication Date
JP2007114351A JP2007114351A (ja) 2007-05-10
JP4200998B2 true JP4200998B2 (ja) 2008-12-24

Family

ID=38096631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005304033A Expired - Fee Related JP4200998B2 (ja) 2005-10-19 2005-10-19 楽音発生システムにおける処理装置

Country Status (1)

Country Link
JP (1) JP4200998B2 (ja)

Also Published As

Publication number Publication date
JP2007114351A (ja) 2007-05-10

Similar Documents

Publication Publication Date Title
US6175872B1 (en) Collaborative environment for syncronizing audio from remote devices
US7977559B2 (en) Tone generation system controlling the music system
JP4200996B2 (ja) 楽音発生システムにおける処理装置
US6627807B2 (en) Communications apparatus for tone generator setting information
JP4200998B2 (ja) 楽音発生システムにおける処理装置
JP4155295B2 (ja) 楽音発生システム
JP4200997B2 (ja) 楽音発生システム
JP4207972B2 (ja) 楽音発生システムにおける処理装置
JP4207970B2 (ja) 楽音発生システムにおける処理装置
US7592531B2 (en) Tone generation system
JP4207971B2 (ja) 楽音発生システムにおける処理装置
JP4318013B2 (ja) コンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システム
JP3271572B2 (ja) 楽音情報の通信方法、通信装置及びプログラムを記録した媒体
JP5066975B2 (ja) ネットワーク接続環境設定用クライアント装置及びネットワーク接続環境設定システム並びにプログラム
JP2002073039A (ja) 情報処理装置、情報処理方法及びプログラム格納媒体並びに情報処理システム
JP7456215B2 (ja) オーディオインターフェース装置、及び、録音システム
JP4207901B2 (ja) 音楽lan設定装置及びプログラム
JP3956324B2 (ja) カラオケシステム
JP3890927B2 (ja) 他ノードを管理する通信装置及び他ノードに管理される通信装置
JP3196681B2 (ja) 通信データ一時記憶装置
JP2007193291A (ja) ネットワークを介して接続された複数の機器で構成される音楽システムの制御装置及び該音楽システムを制御するための統合的なソフトウェアプログラム
Ferrer Wifi Musical Orchestra Based on Raspberry PI.
JP2004363780A (ja) 通信ネットワークにおける通信品質設定方法及び通信品質設定システム並びにプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080929

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121017

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121017

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131017

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees