(57)【要約】【課題】  音楽データの転送時間遅れの解決。波形データと演奏データを一緒に転送して再生又は記録できるようにする。【解決手段】  記録時、音楽機器は、時間経過に伴い現サンプル番号を進行させ、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与してネットワーク上に送信する。制御装置は、送信された音楽データを受信し、該音楽データに付与されたタイミング情報に従う順序で記憶手段に記憶させる。再生時、制御装置は、時間経過に伴い現サンプル番号を進行させ、現サンプル番号より後の再生順の音楽データを記憶手段から読み出し、読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与してネットワーク上に送信する。音楽機器は、受信した音楽データをそこに付与されたタイミング情報に従うタイミングで再生処理する。【選択図】        図５
2005173136.tif 000002
【特許請求の範囲】
【請求項１】
演奏又は波形の入力を行う機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、
前記音楽機器が、時間経過に従って現サンプル番号を進行させる手段と、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して送信する制御手段とを具備し、
前記制御装置が、記憶手段と、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる制御手段とを具備する
ことを特徴とする音楽システム。
【請求項２】
前記制御装置の制御手段は、前記受信した音楽データが波形データならば、前記タイミング情報の示すサンプル番号に対応づけて該波形データを前記記憶手段に記憶させることを特徴とする請求項１に記載の音楽システム。
【請求項３】
前記制御装置の制御手段は、前記受信した音楽データが演奏データならば、前記タイミング情報をテンポマップに基づく第２のタイミング情報に変換し、該第２のタイミング情報を付加して該演奏データを前記記憶手段に記憶させることを特徴とする請求項１に記載の音楽システム。
【請求項４】
音楽データ再生機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、
前記制御装置が、順次に再生されるべき音楽データを記憶する記憶手段と、時間経過に従って現サンプル番号を進行させる手段と、現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与して送信する制御手段を具備し、
前記音楽機器が、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する制御手段を具備する
ことを特徴とする音楽システム。
【請求項５】
前記制御装置の記憶手段は、順次の各サンプル番号に対応して波形データを記憶しており、前記制御装置の制御手段は、現サンプル番号より後のサンプル番号に対応する波形データを前記記憶手段から読み出し、該読み出した波形データに対して当該後のサンプル番号に対応するタイミング情報を付与して送信し、
前記音楽機器は、時間経過に従って現サンプル番号を進行させる手段を具備し、前記音楽機器の制御手段は、前記受信した音楽データが波形データならば、現サンプル番号の進行が前記タイミング情報の示すサンプル番号に対応するものとなったとき該波形データを再生することを特徴とする請求項４に記載の音楽システム。
【請求項６】
前記制御装置の記憶手段は、演奏イベント順に演奏データを記憶しており、前記制御装置の制御手段は、現サンプル番号より後のイベント時刻に対応する演奏データを前記記憶手段から読み出し、該読み出した演奏データに対して当該イベント時刻に対応する現サンプル番号より後のサンプル番号に対応するタイミング情報を付与して送信し、
前記音楽機器は、時間経過に従って現サンプル番号を進行させる手段を具備し、前記音楽機器の制御手段は、前記受信した音楽データが演奏データならば、現サンプル番号の進行が前記タイミング情報の示すサンプル番号に対応するものとなったとき該演奏データに係る演奏イベントを再生することを特徴とする請求項４に記載の音楽システム。
【請求項７】
演奏又は波形の入力を行う機能と音楽データ再生機能とを有する音楽機器における音楽データ送受装置であって、
時間経過に従って現サンプル番号を進行させる手段と、
入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して他の装置に送信する第１の制御手段と、
他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する第２の制御手段と
を具備する音楽データ送受装置。
【請求項８】
順次に再生されるべき音楽データを記憶する記憶手段を有する制御装置における音楽データ送受装置であって、
時間経過に従って現サンプル番号を進行させる手段と、
現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与して他の装置に送信する第１の制御手段と、
他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる第２の制御手段と
を具備する音楽データ送受装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形データ（波形サンプルデータ）や演奏データ（ＭＩＤＩ形式やその他の形式の演奏データ）などの音楽データをネットワークを介して送受することのできる音楽システムに関し、更には音楽データ送受装置に関する。
【背景技術】
【０００２】
マルチメディアに対応した所定の通信規格（例えばＩＥＥＥ１３９４規格）に従って構成されたネットワークにおいて、波形データ（波形サンプルデータ）や演奏データ（ＭＩＤＩのような演奏イベントデータ）などの音楽データを送受できるように構成した音楽システム（例えば商標「ｍＬＡＮ」で呼ばれる当出願人の開発に係る音楽システム）がある。そのような音楽システムにおいては、ネットワークを介して複数のノード例えばパーソナルコンピュータなどの制御装置や各種の音楽機器（シンセサイザ、音源装置、レコーダ、ミキサなど、波形データ及び／又はＭＩＤＩデータなどの音楽データの入出力機能ないし再生機能を具備する機器）を接続してシステムが構成され、多数の波形データストリームあるいはＭＩＤＩデータストリームを、任意のノードから任意の複数ノードに流すことができる。これに関連する公知文献として下記がある。
【特許文献１】特開平１０−３２６０６号公報
【特許文献２】特開２０００−７８１７０号公報
【特許文献３】特開２０００−２７８３５３号公報
【０００３】
特許文献２には、上述のような音楽システムにおいて、複数のノード間でサンプル時刻を同期させて波形データ処理を行うために、ワードクロックを使用することが示されている。また、特許文献２，３には、複数サンプルの波形データを含むデータパケットを送信するとき、そのサンプル番号すなわちサンプル時刻を示す情報を所定のオフセット値を加算した未来のサンプル時刻を示す情報に変換し、これをパケットに付加して送信することが示されている。再生ノードにおいては、受信した波形データに付加された未来のサンプル時刻が到来したときに該波形データを再生するものとし、これにより、転送時間遅れ（及び時間揺れ）を吸収することができる。また、特許文献３においては、上述のような音楽システムにおいて、オーディオデータ（波形データ）とＭＩＤＩデータのような演奏データとを送受するようにしたことが示されている。この場合、ＭＩＤＩデータ再生処理を送信側のＣＰＵで行い、その再生（演奏）タイミングで送信パケットに入れて送信するようにしているため、それ以後の伝送路における時間的揺らぎの影響を受ける、という問題がある。
【０００４】
従来の音楽システムでは、入力された音楽データを音楽機器から制御装置（ＰＣ）に送信して記録させる場合、上述のように、その音楽データの生成時現在のサンプル時刻又はサンプル番号をそのまま該送信すべき音楽データに付加するタイミング情報とはせず、その現在サンプル時刻又はサンプル番号に所定のオフセット値を加えた未来のサンプル時刻又はサンプル番号を該送信すべき音楽データに付加するタイミング情報としていた。該音楽機器から送信された音楽データを受信した制御装置では、該受信した音楽データを記憶装置に記憶する場合に、該音楽データを受信後にそのオフセット加算された（未来の）サンプル時刻又はサンプル番号のタイミングが到来するので、上述のように転送時間遅れを吸収して、該音楽データに付加されたタイミング情報が示すタイミングで該音楽データを再生することができる。このとき、記憶装置に記録される該受信した音楽データのサンプル時刻又はサンプル番号は、制御装置で音楽データが再生されたタイミングのタイミング情報が示すものに変わっている。
【０００５】
一方、記憶された音楽データを制御装置（ＰＣ）から音楽機器に送信する場合においては、該音楽データを送信する際の現在サンプル時刻又はサンプル番号に所定のオフセット値を加算したタイミング情報を生成し、このオフセット加算されたタイミング情報を該音楽データに付加して送信するようになっていた。従って、この場合も、該制御装置から送信された音楽データを受信した音楽機器では、該音楽データを受信後のオフセット加算された（未来の）サンプル時刻又はサンプル番号のタイミングで該音楽データを再生することができるので、転送時間遅れを吸収した再生処理が可能である。
【０００６】
このように、送信するパケットに含まれる音楽データに付加するタイミング情報として、現在のサンプル時刻又はサンプル番号ではなくそれに所定のオフセット値を加算した未来のサンプル時刻又はサンプル番号を示すタイミング情報を用いるやり方は、入力された音楽データを転送して受信側で再生するだけの場合は特に目立った問題はないが、受信した音楽データを一旦記録し、これを読み出してまた転送して再生させるような場合には、複数回にわたる送信によってオフセット値が累積されることで予期しなかった大きなタイミングずれをもたらすことになる。すなわち、ＰＣで記憶された音楽データを読み出して音楽機器に転送したときから該音楽機器でその音楽データが再生されるまでの遅延時間（再生遅延時間）と、該音楽機器で再生した音楽データを再びＰＣに転送して記録させるような場合（例えばＰＣから転送して再生させた音楽データと新たに入力された音楽データの混合した音楽データをＰＣに転送して記録させるような場合）の遅延時間（記録遅延時間）とが重複して生じることになる。
【０００７】
また、音楽データとして、波形データと演奏データを同時に転送して再生ないし記録する場合、従来の音楽システムでは、波形データの各サンプルの実際の再生タイミングの遅れとして現われる上記オフセット値が、ＭＩＤＩのような演奏データの実際の演奏タイミングには反映されないので、両データの間で、再生タイミング又は記録データ上の演奏タイミングに差が生じるという問題があった。よって、従来の音楽システムは、波形データとＭＩＤＩのような演奏データとを一緒に送信して両者を同期して再生するには適していなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は上述の点に鑑みてなされたもので、音楽データの転送時間遅れの問題とそれに伴う不都合を解決しうる音楽システムを提供しようとするものである。また、波形データと演奏データとを一緒に転送して再生又は記録する場合にも不都合のない音楽システムを提供しようとするものである。
【課題を解決するための手段】
【０００９】
この発明に係る請求項１の音楽システムは、演奏又は波形の入力を行う機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、前記音楽機器が、時間経過に従って現サンプル番号を進行させる手段と、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して送信する制御手段とを具備し、前記制御装置が、記憶手段と、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる制御手段とを具備することを特徴とする。
【００１０】
これによれば、音楽機器から送信される音楽データには現サンプル番号に対応するタイミング情報が付与され、制御装置で受信された音楽データは該音楽データに付与されたタイミング情報に従う順序で記憶手段に記憶される。従って、この音楽システムで転送されてきた音楽データを受け手側で記憶する際に、従来のようなオフセット値相当分の時間遅れを持つサンプル時刻に対応して記憶されることがなく、送り手側の現サンプル番号に相当するサンプル時刻に対応して記憶されることになり、記録遅延時間が存在しなくなる。従って、従来のような不都合が解決される。なお、サンプル番号に対応するタイミング情報とは、サンプル位置を示すサンプル番号そのものからなる情報であってもよいし、あるいは当該サンプル番号に係るサンプル位置の時刻つまりサンプル時刻を示す情報であってもよく、要するに時系列的なサンプル番号の時間関係を明らかにすることができる情報であればよい。
【００１１】
また、この発明に係る請求項４の音楽システムは、音楽データ再生機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、前記制御装置が、順次に再生されるべき音楽データを記憶する記憶手段と、時間経過に従って現サンプル番号を進行させる手段と、現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与して送信する制御手段を具備し、前記音楽機器が、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する制御手段を具備することを特徴とする。
【００１２】
これによれば、制御装置の記憶手段からは現サンプル番号より後の再生順の音楽データが読み出され、これが該再生順に応じたサンプル番号に対応するタイミング情報を付与されて送信されるので、このタイミング情報には従来のようなオフセット値相当分の時間遅れが存在せず、該音楽データの本来のサンプル番号に対応するタイミング情報が維持される。受信側の音楽機器では、適宜の転送時間遅れをもって、この音楽データのパケットを受け取るのであるが、該受信した音楽データそのものが送信時の現サンプル番号より後の再生順に対応するもの（未来のサンプル番号に対応するもの）であり、それに付与されているタイミング情報も送信時の現サンプル番号より後のサンプル番号（未来のサンプル番号）を示している。従って、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理することで、何の不都合もなく、再生を行うことができる。このように、この音楽システムで転送されてきた音楽データを受け手側で再生する際に、従来のような音楽データの本来のサンプル時刻からオフセット値相当分の時間遅れのサンプル時刻で再生されることがなく、音楽データの本来のサンプル時刻で再生することとなり、再生遅延時間が存在しなくなる。従って、従来のような不都合が解決される。
【００１３】
こうして、本発明は、音楽データ記録時の記録遅延時間を実質的にゼロにすることができ、また、音楽データ再生時の再生遅延時間を実質的にゼロとすることができるので、累積的なオフセット値によるタイミングずれの拡大という問題も起きない。従って、ネットワークを介して転送する音楽データの記録及び／又は再生を、サンプル番号を基準としてサンプル精度のタイミングで行うことができる。
【００１４】
請求項３によれば、前記制御装置の制御手段は、前記受信した音楽データが演奏データならば、前記タイミング情報をテンポマップに基づく第２のタイミング情報に変換し、該第２のタイミング情報を付加して該演奏データを前記記憶手段に記憶させることを特徴とする。これにより、音楽機器から送信された音楽データが演奏データならば、それに付与されたタイミング情報をテンポマップに基づく第２のタイミング情報に変換して、この第２のタイミング情報を付加して該演奏データを記憶するので、送信時の現サンプル番号に対応するタイミング情報に対応する第２のタイミング情報がテンポマップに基づき適切に付与されることで、送信時の現サンプル番号が演奏データの実際の演奏タイミングには反映されることになる。従って、演奏データと波形データとの記録上の演奏タイミングにずれが生じないようにできる。
【００１５】
請求項６によれば、前記制御装置の記憶手段は、演奏イベント順に演奏データを記憶しており、前記制御装置の制御手段は、現サンプル番号より後のイベント時刻に対応する演奏データを前記記憶手段から読み出し、該読み出した演奏データに対して当該イベント時刻に対応する現サンプル番号より後のサンプル番号に対応するタイミング情報を付与して送信し、前記音楽機器は、時間経過に従って現サンプル番号を進行させる手段を具備し、前記音楽機器の制御手段は、前記受信した音楽データが演奏データならば、現サンプル番号の進行が前記タイミング情報の示すサンプル番号に対応するものとなったとき該演奏データに係る演奏イベントを再生することを特徴とする。
【００１６】
これにより、制御装置の記憶手段からは現サンプル番号より後のイベント時刻に対応する演奏データが読み出され、これが当該イベント時刻に対応する現サンプル番号より後のサンプル番号に対応するタイミング情報を付与されて送信されるので、送信時に付与されるタイミング情報は演奏データの実際の演奏タイミングを反映したものである。従って、音楽機器で受信した演奏データを該演奏データに付与されたタイミング情報に従うタイミングで再生処理することで、何の不都合もなく、再生を行うことができる。従って、同時に波形データをも再生する場合、演奏データと波形データとの再生上の演奏タイミングにずれが生じないようにできる。
【００１７】
この発明は、演奏又は波形の入力を行う機能と音楽データ再生機能とを有する音楽機器における音楽データ送受装置として構成してもよい。請求項７によれば、この音楽データ送受装置は、時間経過に従って現サンプル番号を進行させる手段と、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して他の装置に送信する第１の制御手段と、他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する第２の制御手段とを具備する。
【００１８】
この発明は、順次に再生されるべき音楽データを記憶する記憶手段を有する制御装置における音楽データ送受装置として構成してもよい。請求項８によれば、この音楽データ送受装置は、時間経過に従って現サンプル番号を進行させる手段と、現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じた現サンプル番号より後のサンプル番号に対応するタイミング情報を付与して他の装置に送信する第１の制御手段と、他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる第２の制御手段とを具備する。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
図１は、この発明に係る音楽システムの基本的な構成例を示すブロック図である。この音楽システムは、所定の通信規格例えばＩＥＥＥ１３９４規格（ＵＳＢ等その他の規格でもよい）に従うネットワークを介して接続された複数のノードで構成される。図では、ノードの基本的な例として、少なくとも記憶装置を具える制御装置１０と音楽機器２０が示されており、更にその他の機器５１、５２が適宜接続される。制御装置１０は、そこで記録された音楽データを音楽機器２０に送る機器であり、例えばパーソナルコンピュータＰＣで実現される。ネットワークの接続形式は、図示したような各ノードを順次連鎖的に接続するチェーン接続方式に限らず、ハブ装置を介して各ノードを接続する方式であってもよく、また、有線に限らず無線式に接続する方式であってもよい。
【００２０】
この音楽システムを音楽データ記録用途に使用するためには、音楽機器２０としては、少なくとも波形入出力機能及び／またはＭＩＤＩ入出力機能を具備する機器が用いられ、音楽機器２０からネットワークを介して送信された音楽データを制御装置（ＰＣ）１０で受信して記憶装置に記憶する。また、この音楽システムを音楽データ再生用途に使用するためには、音楽機器２０としては、音楽再生機能を具備する機器が用いられ、記憶装置から読み出した音楽データを制御装置（ＰＣ）１０がネットワークを介して送信し、これを音楽機器２０で受信して再生する。勿論、音楽データの記録と再生を同時並行的に行なってもよい。音楽機器２０としては、ミュージックシンセサイザのような電子楽器、シーケンサのような自動演奏装置、レコーダのような波形記録装置、ミキサやエフェクタのような信号処理装置、音源装置など、任意の音楽関連機器が該当する。なお、制御装置１０及び音楽機器２０とは、機能的な定義であり、特定のハードウェア構成を一義的に定義するものではない。例えば、シンセサイザ等の音楽関連機器であっても、それが記憶装置とコンピュータ又は処理装置を付属していて、他の音楽機器から転送された音楽データをその記憶装置内に記憶するようにコンピュータ又は処理装置で制御する場合は、本発明でいう制御装置１０として機能することになる。勿論、同じシンセサイザ等の音楽関連機器が、他の制御装置又は音楽機器から転送された音楽データを受信して再生する場合は、本発明でいう音楽機器２０として機能することになる。よって、図１に示されたその他の機器５１、５２とは、その機能から定義すると、制御装置１０と音楽機器２０のどちらでもあり得る。なお、「音楽データ」とは、波形データ（オーディオ波形のサンプルデータ）と、ＭＩＤＩのような演奏イベントデータからなる演奏データの双方を包含する意味で使用するものとする。
【００２１】
ＩＥＥＥ１３９４規格に準拠する音楽データの転送方式の具体例については、上述の従来技術（特許文献１，２，３）にも記載されており、この実施例に係る音楽システムにおいても、同様のデータ転送方式を適宜必要箇所において取り入れて採用してよい。すなわち、この実施例に係る音楽システムにおける音楽データ転送にあたり、下位構造として公知のＩＥＥＥ１３９４規格準拠のデータ転送方式を採用し、上位構造として本発明に従う特有のデータ転送方式を採用するよう構成される。
従って、ＩＥＥＥ１３９４規格準拠の下位のデータ転送方式については、公知の構成を採用してよいので、その詳細説明は省略するが、次に、簡単に説明しておく。
【００２２】
〔サイクルマスタ〕
ＩＥＥＥ１３９４規格に準拠するネットワークにおいては、１２５μｓを１サイクルとするサイクル動作を行う。すなわち、ネットワークに接続された複数ノードのうちの１つのノードがサイクルマスタとなり、自ノードの「サイクルタイマ」により計時して所定の送信サイクル周期（例えば１２５μｓ）毎に、当該ノードのサイクルタイマの示すサイクル時刻を含むサイクル開始パケットを送出する。該サイクル開始パケットをトリガとしてアイソクロナス転送が開始され、アイソクロナス転送が終了したらアシンクロナス転送が開始される。サイクルマスタ以外のノードは該サイクル開始パケットを取り込み、自分の「サイクルタイマ」をそのサイクル開始パケットのサイクル時刻に合わせる。こうして、ネットワークに接続された全てのノードの「サイクルタイマ」が示すサイクル時刻を、サイクルマスタが計時するサイクル時刻に合わせる。サイクル時刻は、該ネットワークにおける共通の時刻情報として使用される。なお、サイクルタイマは所定の高速クロック（例えば２５ＭＨｚ）で動作する。
【００２３】
〔ワードクロックマスタ〕
本出願人が提唱している音楽ＬＡＮ（音楽データ用のロカール・エリア・ネットワーク方式）では、ネットワークに接続された複数のノードが共通のサンプリング周期で音楽データ処理動作を行なう。各ノードは、時間経過に従って現サンプル番号を進行させる手段として、サンプル番号をインクメントする「サンプルカウンタ」をそれぞれ備える。その場合、すべてのノードの現サンプル番号の進行を同期化するために、複数のノードの何れか１つのノードがワードクロックマスタとなり、ワードクロックマスタのサンプリングクロックに従い現サンプル番号を共通に進行させるよう同期化制御する。ワードクロックマスタのサンプリングクロックの周波数は、取り扱うオーディオ波形データのサンプリング周波数（例えば４８ｋＨｚ、その他）に応じたものである。ワードクロックマスタとなったノードは、所定サンプル数毎（例えば８サンプル毎）の時間間隔で、現在サンプル番号とそのサイクル時刻情報とを含むワードクロックパケットを発生し、ネットワークにブロードキャストする。ワードクロックマスタ以外の他のノードは、ワードクロックスレーブとなって、このワードクロックパケットを受信し、そのパケットに含まれるサンプル番号とサイクル時刻に基づいて当該ノードのサンプリングクロックを発生する。そして、該サンプリングクロックをカウントする。自ノードのサンプルカウンタの値を該受信したワードクロックパケットのサンプル番号に合わせる。こうして、すべてのノードでの現サンプル番号の時間進行（つまり「サンプルカウンタ」の値）がワードクロックマスタによって同期化される。なお、ワードクロックパケットで送信されるサイクル時刻情報は、ＩＥＥＥ１３９４規格で補償している通信遅延時間（例えば３５２μｓ）だけワードクロックマスタのサイクルタイマの示すサイクル時刻をオフセット加算したものである。各ノードでは、自己のサイクルタイマの示すサイクル時刻がワードクロックパケットに含まれるサイクル時刻情報になったとき、自ノードのサンプルカウンタの値を該ワードクロックパケットに含まれるのサンプル番号に合わせる。これにより、通信遅延時間を吸収して、すべてのノードでの現サンプル番号の時間進行（つまり「サンプルカウンタ」の値）が同期化される。
【００２４】
上述したようなサイクルマスタ及びワードクロックマスタによって、各ノードの「サイクルタイマ」が示すサイクル時刻を同期化し、また、各ノードの「サンプルカウンタ」が示すサンプルカウントつまりサンプル番号を同期化する技術は、前記特許文献１〜３等で公知のものを用いてよい。
更に、サイクルマスタ及びワードクロックマスタに関連する本実施例での工夫事項を示すと、次の通りである。
【００２５】
ワードクロックスレーブとして動作する機器は、当該機器のワードクロックを他の機器（マスタ）のワードクロックに同期させるため、当該機器のワードクロックには追従のずれや追従に伴うゆらぎが発生する場合がある。それに対して、ワードクロックマスタとなって動作している機器は、他の機器のワードクロックに関係なく、当該機器のサイクルタイマないしシステムクロックのみからワードクロックを生成するので、当該機器におけるワードクロックは極めて安定度の高いものとなる。正確な現サンプル番号を必要としているのは、外部との波形データやＭＩＤＩデータの入出力を行う音楽機器２０であり、他方、制御装置１０は大まかなサンプル番号さえ得られれば、多少ずれたり多少不安定であっても全く問題が無い。そこで、音楽機器２０をワードクロックマスタとして動作させるのがよく、それにより、本実施例に係る音楽システムに安定した動作を行わせることができる。一方、サイクルマスタに関しては、サイクルタイマがサンプリング周波数よりかなり高速のクロック周波数でサイクル時刻のカウントを行っているので、どのノードをサイクルマスタとして動作させても差し支えない。従って、サイクルマスタとなるのは制御装置１０でも音楽機器２０でもよい。勿論、制御装置１０をワードクロックマスタとして動作させるようにしてもよい。その場合、音楽機器２０ではワードクロックに正確に同期できるように精密なクロックシステムを持つ必要がある。
【００２６】
次に、図２を参照して制御装置１０と音楽機器２０のハード構成の一例につき説明する。
制御装置１０は、典型的には、パーソナルコンピュータ（ＰＣ）で構成され、ＣＰＵ１１、受信した音楽データやその他データ及びプログラム等を記憶するハードディスク１５、プログラムやデータなどを不揮発的に記憶するフラッシュメモリ１２、プログラム・ワーキング及びデータ一時記憶用のＲＡＭ１３、タイマ１４、キーボードやマウス等の操作装置１６、表示器１７、ＴＣＰ／ＩＰインターフェース１８などがＣＰＵバス１９を介して接続されており、更に、本実施例に従って音楽データの送受を制御する音楽ＬＡＮインターフェース３１がＣＰＵバス１９に接続されている。ハードディスク１５に記憶されたプログラムはＲＡＭ１３に転送され、ＲＡＭ１３上で展開される。ＰＣでは、Ｗｉｎｄｏｗｓ（登録商標）のような所定のＯＳを動かすことができ、このＯＳにはＩＥＥＥ１３９４用及びＬＡＮインタフェース用のドライバが入っている。このＯＳ上で音楽ソフトウェア（シーケンサソフトウェア）を実行することにより、ＰＣは制御装置１０としての機能を実行する。
【００２７】
音楽機器２０は、ＣＰＵ２１、プログラムやデータなどを不揮発的に記憶するフラッシュメモリ２２、ワーキング及びデータ一時記憶用のＲＡＭ２３、タイマ２４、操作子装置２６、表示器２７などがＣＰＵバス２５を介して接続されてなるマイクロコンピュータ構成の電子機器からなる。フラッシュメモリ２２には、この音楽機器２０の組込用ＯＳ及び音楽機器として動作させるための組込プログラムが記憶されている。音楽機器２０は、更に、ＭＩＤＩ形式の演奏データを入出力するためのＭＩＤＩ入出力インターフェース２８と、アナログまたはディジタルの波形データを入出力するための波形入出力インターフェース２９をＣＰＵバス２５に接続してなり、また、波形入出力インターフェース２９を介して入出力する波形データを適宜処理するための波形処理部３０を具えている。更に、本実施例に従って音楽データの送受を制御する音楽ＬＡＮインターフェース３２がＣＰＵバス２５に接続されている。波形処理部３０は、この音楽機器２０の目的（ミキサ、エフェクタ、音源、シンセサイザなど）に応じて適宜の波形処理機能を担うようにしてよい。例えば、ミキシング処理やフィルタ処理、エフェクト処理、音源処理（波形形成処理）、波形再生処理などを適宜行なうように構成してよい。一例として、ＤＳＰ（ディジタル信号プロセッサ）で波形処理部３０を構成し、ＤＳＰのマイクロプログラムによってその波形処理機能を適宜設定するようにしてもよい。波形入出力インターフェース２９は、アナログ／ディジタル変換器及びディジタル／アナログ変換器並びにバッファメモリ等を含んでおり、適宜のサンプリング周波数に従ってディジタルまたはアナログの波形データをリアルタイムに入力または出力する。波形入出力インターフェース２９は、図示しないピックアップ用のマイクロフォンや、オーディオ発音用のサウンドシステムや、他の波形データ入出力機器等に接続される。ＭＩＤＩ入出力インターフェース２８は、ＭＩＤＩ形式の演奏データをリアルタイムに／または非リアルタイムに入力または出力するもので、図示しない演奏操作用キーボードやＭＩＤＩ楽器あるいはシーケンサ等のＭＩＤＩ入出力機器等に接続される。勿論、この音楽機器２０自身がシーケンサ機能（自動演奏データ再生機能）を持っていてもよい。また、この音楽機器２０自身が、演奏操作用キーボードを持つシンセサイザのような電子楽器であってもよい。
【００２８】
音楽ＬＡＮインターフェース３１及び３２は、送受信される音楽データをバッファするためのＦＩＦＯのようなバッファメモリと、後述するような必要な送受信制御・処理機能を実行するためのプロセッサ機能およびタイマ機能等を具備する。この音楽ＬＡＮインターフェース３１及び３２は、下位構造としてのＩＥＥＥ１３９４規格準拠のインターフェース部と、上位構造としての本発明に従う特有の音楽インターフェース部との２重構造からなる。前述の「サイクルタイマ」は下位のＩＥＥＥ１３９４規格準拠のインターフェース部に含まれ、「サンプルカウンタ」は上位の音楽インターフェース部に含まれる。各ノードのＣＰＵ１１，２１は、ＣＰＵバス１９、２５を介して、自己の音楽ＬＡＮインターフェース３１、３２における「サンプルカウンタ」の値を読み取ることができ、これにより、現サンプル番号に従う処理を適宜行なうことができる。
【００２９】
例えば、ワードクロックパケットに含まれるサンプル番号は８ビットで構成されている。この場合、「サンプルカウンタ」は８ビットバイナリカウンタで構成してもよい。しかし、それではすぐにオーバーフローしてしまい、サンプル番号を絶対値で管理することがしにくくなり、使いにくい。そこで、各ノードの音楽ＬＡＮインターフェース３１、３２が有する「サンプルカウンタ」を３２ビットバイナリカウンタに拡張して構成するとよい。その場合は、最長２４時間程度までの絶対値で連続的サンプル時刻（サンプル番号）を管理できるようになる。３２ビットに拡張された「サンプルカウンタ」を各ノードで同期させるには、再生開始時、バスリセット時等にワードクロックマスタのサイクルカウンタの全３２ビットの値を、送信するワードクロックパケットに含めて送信し、他のノードの３２ビットのサンプルカウンタ値をこれに合わせるようにすればよい。そのようにすれば、一旦、３２ビットの値できちっと合わせた後はワードクロックパケットで随時同期されるので、各機器のサンプルカウント値（３２ビット）が常に一致する。さらに、該全３２ビットのサンプルカウンタ値を数秒とか数十秒の長い周期で定期的にワードクロックパケットに含めて送信し、これによって他のノードの３２ビットのサンプルカウンタ値を時刻合わせしてもよい。
【００３０】
図３は、制御装置１０と音楽機器２０における音楽データの送受に関連する処理例を機能的に示す図である。
前述のとおり、それぞれの音楽ＬＡＮインターフェース３１、３２は、サイクルタイマＣＴａ、ＣＴｂとサンプルカウンタＳＣａ，ＳＣｂを具備しており、それぞれがサイクルマスタとワードクロックマスタによって同期化されている。サンプルカウンタＳＣａ，ＳＣｂは、ワードクロックマスタの指示に従う所定のサンプリング周波数に従い、時間経過に伴って現サンプル番号を進行させるものである。例えば、ワードクロックパケットで所定数（例えば８個）毎のサンプルについてのサンプル番号及び時刻の情報が伝送される場合、該送ワードクロックパケットに含まれるサンプル時刻（このサンプル時刻はサイクル時刻で表わされている）とサイクルタイマＣＴａ、ＣＴｂが指示する現サイクル時刻とが一致するとき、該サンプル時刻に対応する該ワードクロックパケットに含まれるサンプル番号をサンプルカウンタＳＣａ，ＳＣｂにセットすることで、各ノードのサンプル番号を同期化する。かつ、音楽ＬＡＮインターフェース３１、３２内に含まれるフェーズロックループ等で該一致タイミングに同期してサンプリングクロックを発振させ、このサンプリングクロックでサンプルカウンタＳＣａ，ＳＣｂをインクメントすることで、ワードクロックマスタにおけるサンプリング周波数に従う時間経過に伴って現サンプル番号を進行させることができ、このことを全ノードで同期して行なうことができる。
【００３１】
それぞれの音楽ＬＡＮインターフェース３１、３２においては、送信処理部Ｔｘ１，Ｔｘ２と受信処理部Ｒｘ１，Ｒｘ２の機能を果たすハードウェア及びソフトウェアを具えている。各送信処理部Ｔｘ１，Ｔｘ２においては、ネットワークに送り出す直前のデータパケットを順次バッファするための送信バッファ（例えばＦＩＦＯ）を具備しており、また、各受信処理部Ｒｘ１，Ｒｘ２においては、ネットワークを介して送信されてくるデータパケットを順次バッファするための受信バッファ（例えばＦＩＦＯ）を具備している。複数チャンネル分の音楽データを１データパケットで送信／受信することができる。よって、送信バッファと受信バッファは、各チャンネル毎に音楽データをバッファしうる構成からなる。例えば、前述の従来技術にも示されているように、第１乃至第６チャンネルを使用して波形データを伝送し、第７乃至第８チャンネルを使用してＭＩＤＩ演奏データを伝送するというように、音楽データの性質に応じて伝送チャンネルを使い分けるとよい。
【００３２】
制御装置１０は、音楽ソフトウェアを実行し、現サンプル番号を基準として音楽機器２０から入力される音楽データの記録及び記録されている音楽データの音楽機器２０を用いた再生を行う。その際に、制御装置１０及び音楽機器２０の各音楽ＬＡＮインターフェース３１、３２における送信処理部Ｔｘ１，Ｔｘ２と受信処理部Ｒｘ１，Ｒｘ２の働きによって、本発明に係る音楽データの送受信処理が行なわれる。以下、この音楽データ送受信処理の実施例につき、（１）波形データの記録処理、（２）波形データの再生処理、（３）演奏データの記録処理、（４）演奏データの再生処理、という４種の処理目的別に説明を行なう。簡単化のために、以下の説明は、或る１チャンネル分の波形データまたは演奏データの送受信処理について行なう。
【００３３】
（１）波形データの記録処理
これは、例えば、音楽機器２０の波形入出力インターフェース２９（図２）を介して波形データを入力し、該音楽機器２０の音楽ＬＡＮインターフェース３２の送信処理部Ｔｘ１で該波形データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された制御装置１０の音楽ＬＡＮインターフェース３１の受信処理部Ｒｘ１で受信し、該受信した波形データを該制御装置１０の記憶装置すなわちハードディスク１５（図２）に記憶する処理である。音楽機器２０の波形入出力インターフェース２９（図２）を介して入力された波形がアナログ波形であればアナログ／ディジタル変換器（図３のＡＤＣ２９Ａ）でディジタル波形データに変換され、波形処理部３０（図２）等で適宜のリアルタイム処理（フィルタリングやミキシング、ルーティングなど）を施したものが、送信処理部Ｔｘ１に与えられる。
【００３４】
音楽機器２０の送信処理部Ｔｘ１で波形データを送信するときに行なわれる処理のタイミングチャートが図４（ｂ）に例示されている。例えば、約１２５μｓ毎にデータパケットを作成し送信する場合、約１２５μｓの時間長の或る時間区間Ｔ１で入力された複数サンプルの波形データが、送信処理部Ｔｘ１の送信バッファに順次記憶される。送信処理部Ｔｘ１では、該送信バッファに記憶された複数サンプルの波形データを１チャンネル分のデータパケットとしてパケットを作成し、その際、先頭のサンプルの波形データに対応する現サンプル番号（図４のＳｃｔ）を示すサンプルカウント値をサンプルカウンタＳＣｂから取り込み、該データパケットに付与する。こうして、入力した波形に対応する波形データに現サンプル番号（Ｓｃｔ）に対応するタイミング情報（サンプルカウント値すなわちサンプル番号）を付与してなるデータパケットが作成され、これが送信される（図４中のＤＰＴｘ）。１データパケット中の複数サンプルの波形データは連続しているので、そのうち１つの（例えば先頭の）サンプルの現サンプル番号をデータパケットに付与すればよく、残りのサンプルの現サンプル番号もそこから特定できるので問題ない。勿論、これに限らず、特開平９−２９８５５８号公報に示されたようなやり方であってもよい。このように、本発明は、送信する波形データの現サンプル番号に対応するタイミング情報をそのまま付与して該波形データを送信することが特徴である。すなわち、従来行なっていたような、通信遅延時間つまり受信ノードでの該波形データの受信タイミングの遅れを吸収するためのサンプルオフセット値の加算を行なっていない。なお、図中で、「Ｓ番号」とは、「サンプル番号」の略である。
【００３５】
送信されたデータパケットは、制御装置１０の受信処理部Ｒｘ１で受信され、その受信バッファに順次記憶される。受信処理部Ｒｘ１では、受信バッファの波形データを第１の所定時間（例えば１ｍｓ）毎にまとめて制御装置１０の内部メモリ（図２のＲＡＭ１３）にＤＭＡ転送出力する。このＤＭＡ転送のために、サイクルタイマＣＴａによって該第１の所定時間（例えば１ｍｓ）毎にハードウェア割込みがかけられる。１２５μｓ毎に送信されるデータパケットは、１ｍｓの間には複数パケット分が受信バッファに溜められており、これらがまとめてＤＭＡ転送される。なお、この第１の所定時間は、１ｍｓ丁度に限らず、例えば６４サンプルなど８の倍数のサンプル数分の時間とすると、ＤＭＡ転送が行い易い。
【００３６】
制御装置１０の受信処理部Ｒｘ１で波形データを受信するときに行なわれる処理のタイミングチャートが図５（ｂ）に例示されている。音楽ＬＡＮインターフェース３１内のサンプルカウンタＳＣａのカウント値に基づく或る現サンプル番号Ｓｃｘを基準にすると、それよりも過去１ｍｓ乃至プラスα（通信遅延時間相当）以内のサンプル番号の波形データ群Ｗ１が受信バッファから内部メモリにＤＭＡ転送されることになる。内部メモリに記憶される波形データ群Ｗ１は、それぞれに付与されているタイミング情報の示すサンプル番号に対応づけて記憶（配置）される。
なお、参考のために、図４においても、同じサンプル番号Ｓｃｘに対応する時刻位置を例示する。ここから、サンプル番号Ｓｃｘの時刻で制御装置１０の受信処理部Ｒｘ１の受信バッファ内に受信済みの（あるいはそこから内部メモリにＤＭＡ転送される）波形データ群Ｗ１の中には、それよりも過去の前記サンプル番号Ｓｃｔの波形データが含まれていることが理解できる。なお、図４と図５は異なるタイムスケールで図示しており、図４の方が時間軸が拡大表示されている。
【００３７】
制御装置１０では、上記のように受信されて内部メモリに転送記憶された波形データに対して、プラグインでエフェクト処理を施すことができるようになっている。この受信波形データに対するプラグイン・エフェクト処理を図３では符号ＰＥＦ１で示す。このプラグイン・エフェクト処理は、ＣＰＵ１１によるソフトウェア割込みによって上記第１の所定時間よりも長い第２の所定時間（例えば１０ｍｓ）毎に実行される。つまり、内部メモリに転送記憶された１０ｍｓ分の波形データに対してまとめてエフェクト処理を施す。音楽ＬＡＮインターフェース３１内のサンプルカウンタＳＣａのカウント値に基づく或る現サンプル番号Ｓｃｘを基準にすると、それよりも適当な過去（例えば３０ｍｓ位過去）の１０ｍｓ分のサンプル番号の波形データ群Ｗ２に対してプラグイン・エフェクト処理が施される。この場合、波形データの入力時に付与したサンプル番号を保ったままでエフェクトをかけることができる。
【００３８】
制御装置１０では、上記のようにプラグイン・エフェクト処理済で内部メモリに記憶されている波形データを、該内部メモリから読み出してハードディスク１５に転送して書き込む処理を、ＣＰＵ１１によるソフトウェア割込みによって上記第２の所定時間よりも長い第３の所定時間（例えば１００ｍｓ）毎に実行する。このハードディスク書き込み処理を図３では符号ＷＲで示す。つまり、内部メモリに記憶されている約１００ｍｓ相当の複数クラスタ分の波形データをまとめてハードディスク１５に転送記憶する。音楽ＬＡＮインターフェース３１内のサンプルカウンタＳＣａのカウント値に基づく或る現サンプル番号Ｓｃｘを基準にすると、それよりも適当な過去（例えば５００ｍｓ位過去）の約１００ｍｓ相当の複数クラスタ分のサンプル番号の波形データ群Ｗ３が対してハードディスク１５に転送記憶される。ハードディスク１５に記憶される波形データ群Ｗ３は、それぞれに付与されているタイミング情報の示すサンプル番号に対応づけて記憶（配置）される。このように、音楽機器２０の入力で音楽データに付与したサンプル番号に対応するタイミング情報を変更することなく、制御装置１０で記録することができる。
【００３９】
（２）波形データの再生処理
これは、上述のように制御装置１０の記憶装置すなわちハードディスク１５に記憶された波形データを読み出し、該制御装置１０の音楽ＬＡＮインターフェース３１の送信処理部Ｔｘ２（図３）で該読み出した波形データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された音楽機器２０の音楽ＬＡＮインターフェース３２の受信処理部Ｒｘ２（図３）で受信し、該受信した波形データを該音楽機器２０で再生する処理である。
制御装置１０で行う、ハードディスク１５からの波形データの読み出しと、それに基づくプラグイン・エフェクト処理及び送信処理に関連するタイミングチャートが図５（ａ）に例示されている。
【００４０】
制御装置１０では、ハードディスク１５から読み出すべき波形データのファイルが指定されると、該ファイルの波形データを先頭からそのサンプル番号順に読み出す。制御装置１０は、このハードディスク１５からの波形データの読み出し処理を、ＣＰＵ１１によるソフトウェア割込みによって前記第３の所定時間（例えば１００ｍｓ）毎に実行する。このハードディスク読み出し処理を図３では符号ＲＥで示す。つまり、ハードディスク１５に記憶されている約１００ｍｓ相当の複数クラスタ分の波形データをまとめて読み出して内部メモリ（ＲＡＭ）に転送記憶する。勿論、ハードディスク１５から読み出して内部メモリに転送記憶された波形データのサンプル番号は、制御装置１０によって正確に管理される。
音楽ＬＡＮインターフェース３１内のサンプルカウンタＳＣａのカウント値に基づく或る時点での現サンプル番号Ｓｃｘを基準にすると、それよりも適当な未来（例えば５００ｍｓ位未来）の約１００ｍｓ相当の複数クラスタ分のサンプル番号の波形データ群Ｗｔ３（図５（ａ）参照）がハードディスク１５から読み出され、内部メモリに転送記憶される。
【００４１】
制御装置１０では、上記のように内部メモリに転送記憶された送信すべき波形データに対して、プラグインでエフェクト処理を施すことができるようになっている。この送信波形データに対するプラグイン・エフェクト処理を図３では符号ＰＥＦ２で示す。このプラグイン・エフェクト処理は、ＣＰＵ１１によるソフトウェア割込みによって上記第２の所定時間（例えば１０ｍｓ）毎に実行される。つまり、内部メモリに記憶された１００ｍｓ分の波形データのうち１０ｍｓ分の波形データに対してまとめてエフェクト処理を施す。サンプルカウンタＳＣａのカウント値に基づく或る時点での現サンプル番号Ｓｃｘを基準にすると、それよりも適当な未来（例えば３０ｍｓ位未来）の１０ｍｓ分のサンプル番号の波形データ群Ｗｔ２（図５（ａ）参照）に対してプラグイン・エフェクト処理が施される。この場合も、波形データの入力時に付与したサンプル番号を保ったままでエフェクトをかけることができる。
【００４２】
制御装置１０の送信処理部Ｔｘ２では、上記のようにプラグイン・エフェクト処理済で内部メモリに記憶されている波形データを、前記第１の所定時間（例えば１ｍｓ）毎に該内部メモリからＤＭＡ転送して内部の送信バッファに記憶する。このＤＭＡ転送のために、サイクルタイマＣＴａによって該第１の所定時間（１ｍｓ）毎にハードウェア割込みがかけられる。サンプルカウンタＳＣａのカウント値に基づく或る時点での現サンプル番号Ｓｃｘを基準にすると、それよりも適当な未来（例えば５ｍｓ位未来）の１ｍｓ分のサンプル番号の波形データ群Ｗｔ１（図５（ａ）参照）が内部メモリから送信バッファにＤＭＡ転送されることになる。内部メモリに転送記憶された波形データのサンプル番号は制御装置１０による各サンプルの記録時のサンプル番号であり、内部メモリから送信バッファにＤＭＡ転送される波形データもそのサンプル番号が維持され、サンプル番号の変更が行われない。
【００４３】
さらに、制御装置１０の送信処理部Ｔｘ２では、そのサンプル番号順に従って送信バッファから複数サンプルの波形データを取り出し、１チャンネル分のデータパケットとしてパケットを作成し、その際、先頭のサンプルの波形データに対応するサンプル番号を示す情報をタイミング情報として該データパケットに付与する。ただし、送信バッファに入っている波形データは上述のように約５ｍｓだけ先行しているつまり未来のサンプル番号に対応するものであり、それに付与されるタイミング情報も、サンプルカウンタＳＣｂが示す現サンプル番号に対応するものではなく、当該波形データそのもの本来のサンプル番号（現サンプル番号から見て未来のサンプル番号）である。
【００４４】
こうして、ハードディスク１５からそのサンプル番号に対応する順序で読み出されて送信バッファにバッファされた波形データに、当該サンプル番号に対応するタイミング情報を付与してなるデータパケットが作成され、これがネットワークに送信される。送信バッファから波形データを取り出してデータパケットを作成する処理は、例えば、送信サイクルの１周期である１２５μｓで行われ、その時間内で生じる複数サンプルの波形データからなるデータパケットが作成される。こうして、前述と同様に、１２５μｓ毎に複数サンプルの波形データからなるデータパケットが生成され、送信される。前述と同様、１データパケット中の複数サンプルの波形データは連続しているので、そのうち１つの（例えば先頭の）サンプルのサンプル番号をデータパケットに付与すればよく、残りのサンプルのサンプル番号もそこから特定できるので問題ない。
【００４５】
このように、本発明では、記録した波形データを読み出して送信し、これを受信側で再生させる場合においても、送信する波形データの持つ本来のサンプル番号（波形データの記録時に音楽機器２０の側で付与したサンプル番号）に対応するタイミング情報をそのまま付与して該波形データを送信することが特徴である。すなわち、従来行なっていたような、通信遅延時間つまり受信ノードでの該波形データの受信タイミングの遅れを吸収するためのサンプルオフセット値を送信に際して加算することを行なっていない。その代わり、記憶装置（ハードディスク１５あるいは内部メモリ）からの該波形データの読み出しをその本来のサンプル番号の時刻より先行して行っており、その本来のサンプル番号の時刻よりも約５ｍｓ位先行して該波形データのパケットをネットワークに送信している。これにより、通信遅延時間つまり受信ノードでの該波形データの受信タイミングの遅れを吸収している。
【００４６】
すなわち、送信されたデータパケットは、音楽機器２０の受信処理部Ｒｘ２で受信され、その受信バッファに順次記憶される。音楽機器２０の受信処理部Ｒｘ２で波形データを受信するときに行なわれる処理のタイミングチャートが図４（ａ）に例示されている。図中のＤＰＲｘは１つのデータパケットを受信したタイミングを示している。例えば、サンプル番号Ｓｃｘよりも前の時点で受信されるデータパケットＤＰＲｘの中には、該サンプル番号Ｓｃｘよりも後の（未来の）サンプル番号Ｓｃｙの波形データが含まれている。なお、再生経路（音楽機器２０の受信処理部Ｒｘ２）における波形データ用の受信バッファは、例えば約５ｍｓ分程度のサンプル数の波形データは確実に記憶できる容量のＦＩＦＯで構成する。例えば最高９６ｋＨｚのサンプリング周波数の波形データに対応できるようにするには、５１２ワード分の容量を持つＦＩＦＯを使用すればよい。これに対して、前述の記録経路（制御装置１０の受信処理部Ｒｘ１）における波形データ用の受信バッファには、それほどの容量は要求されない。
【００４７】
このように受信処理部Ｒｘ２で受信した波形データが受信バッファに順次記憶され、そして、該受信バッファは、当該音楽ＬＡＮインターフェース３２内のサンプルカウンタＳＣｂのカウント値に基づく或る時点での現サンプル番号Ｓｃｙになると、その現サンプル番号Ｓｃｙに対応する波形データを読み出す。こうして、受信バッファに溜められた波形データがそれぞれに付与された本来のサンプル番号に対応する時刻が到来すると、順次に、該受信バッファから読み出される。読み出された波形データは適宜のリアルタイム処理が施されて、ディジタルアナログ変換器（図３のＤＡＣ２９Ｂ）から出力され、サウンドシステムを介して発音される。こうして、受信ノードでは、受信したパケットに付与されたサンプル番号のサンプル時刻が到来する前に受信完了して受信バッファ内に波形データを蓄えているので、該付与されたサンプル番号のサンプル時刻の到来に合わせて、問題なく、波形データを読み出して再生することができる。
【００４８】
（３）演奏データの記録処理
これは、例えば、音楽機器２０のＭＩＤＩ入出力インターフェース２８（図２）を介してＭＩＤＩ等の演奏データを入力し、該音楽機器２０の音楽ＬＡＮインターフェース３２の送信処理部Ｔｘ１で該演奏データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された制御装置１０の音楽ＬＡＮインターフェース３１の受信処理部Ｒｘ１で受信し、該受信した演奏データを該制御装置１０の記憶装置すなわちハードディスク１５（図２）に記憶する処理である。例えば、ＭＩＤＩ出力型電子楽器におけるリアルタイムでのキーボード演奏に応じてＭＩＤＩ形式の演奏データが発生され、これがＭＩＤＩ入出力インターフェース２８（図２）を介して音楽機器２０に入力されることを想定して説明を行う。この演奏データは、ノートオンやノートオフ、あるいはコントロールチェンジ等のイベントデータであり、キーオン（又はオフ）されたノートを示すノートナンバデータや、ベロシティデータ、ＭＩＤＩチャンネルデータなどを含む公知の演奏データ形式からなっていてよい。
【００４９】
音楽機器２０では、ＭＩＤＩ入出力インターフェース２８（図３ではＭＩＤＩｉｎ２８Ａ）から入力された演奏データを送信処理部Ｔｘ１に与える。このとき、必要に応じて、音楽機器２０の内部処理によって該演奏データに対応する楽音の発生処理を同時に行うようにしてもよい。勿論、音楽機器２０では発音処理は行わず、それに接続されたＭＩＤＩ出力型電子楽器で発音処理を行うようにしてもよい。音楽機器２０の送信処理部Ｔｘ１では、入力された演奏データを送信バッファに記憶すると共に、サンプルカウンタＳＣｂのカウント値に基づき現サンプル番号に対応するタイミング情報を該演奏データに付加して送信バッファに記憶する。この場合に、音楽ＬＡＮインタフェース３２又はＭＩＤＩ入出力インターフェース２８又はＣＰＵ２１により自動的に該タイミング情報を付与してやればよい。こうして、演奏データは、該演奏データそのものと、該演奏データに関するイベント発生時刻に相当する現サンプル番号（タイミング情報）との対で、送信バッファに記憶される。
【００５０】
送信処理部Ｔｘ１では、前述と同様に、送信バッファに記憶されている演奏データとタイミング情報の対を読み出して、１２５μｓ毎に演奏データのデータパケットを作成し、ネットワークに送信する。演奏データのイベントはそれほど頻繁には起こらないので、送信バッファ内に送信すべき演奏データがない場合は、勿論、データパケットを作成しないようにしてもよい。従って、一般に、演奏データ用の送信バッファは極めて小容量で済む。なお、送信する演奏データに付与するタイミング情報は、送信バッファに演奏データを書き込むときの現サンプル番号に対応するものに限らず、送信バッファから演奏データを読み出してネットワークに送り出すときの現サンプル番号に対応するものであってもよい。このように、演奏データを送信する場合も、送信する演奏データに付与された現サンプル番号に対応するタイミング情報をそのまま付加して該演奏データを送信する。
【００５１】
送信された演奏データのデータパケットは、制御装置１０の受信処理部Ｒｘ１で受信され、その受信バッファ（ＦＩＦＯ）に取り込まれる。受信処理部Ｒｘ１では、受信バッファ（ＦＩＦＯ）に記憶された演奏データ及びタイミング情報を随時又は所定時間（例えば１ｍｓ）毎に内部メモリの所定領域に設定された受信データバッファに転送する。受信処理部Ｒｘ１での演奏データの受信処理の一例として、図６（ａ）を示す。図６（ａ）は制御装置１０の音楽ＬＡＮインターフェース３１で行われる演奏データ受信イベント処理の一例である。この図６（ａ）は、送信された演奏データのデータパケットが受信バッファ（ＦＩＦＯ）に取り込まれたとき、その都度、受信イベント処理として行われる。ステップＳ１では受信バッファ（ＦＩＦＯ）に取り込まれた演奏データとそれに付属するタイミング情報を読み出し、ステップＳ２では該読み出した演奏データとそれに付属するタイミング情報を内部メモリ（ＲＡＭ）上の受信データバッファに転送する。
【００５２】
制御装置１０では、上記のように受信されて内部メモリの受信データバッファに記憶された演奏データのタイミング情報に対して、例えば１０ｍｓ毎のソフトウェア割込みによって、該タイミング情報をテンポマップに基づく第２のタイミング情報に変換する処理を行う。図６（ｂ）は制御装置１０のＣＰＵ１１によって演奏データの記録／再生のために行われる１０ｍｓ毎の割込み処理の一例を示す。この図６（ｂ）における受信時の処理について説明すると、ステップＳ３で、内部メモリの受信データバッファが空か、つまり未処理のデータが記憶されていないかをチェックする。内部メモリの受信データバッファが空でない、つまり未処理のデータがある場合は、ステップＳ４に行き、該タイミング情報をテンポマップに基づく第２のタイミング情報に変換する処理を行う。すなわち、受信データバッファに記憶されている演奏データに付与されているタイミング情報（サンプル番号）を、テンポマップに従い、拍を基準とするタイムスタンプ（第２のタイミング情報）に変換する。なお、テンポマップでは、公知のように、レコーダにおいて波形データのサンプル番号と演奏データの演奏位置（何小節目の何拍目のどのあたり）とを対応付けるための情報である。演奏データのタイミングに要求される精度は、波形データほど高くなくてよく、また、テンポに応じて変化するので、タイミング情報をテンポマップに従って変換しているのである。次のステップＳ５では、変換されたタイムスタンプ（第２のタイミング情報）を伴う演奏データを、内部メモリ（ＲＡＭ）上の所定の記録領域に書き込む。
【００５３】
更に、制御装置１０では、上記のように内部メモリ（ＲＡＭ）上の所定の記録領域に書き込まれた変換されたタイムスタンプ（第２のタイミング情報）を伴う演奏データを、該内部メモリから読み出してハードディスク１５に転送して書き込む処理を、ＣＰＵ１１によるソフトウェア割込みによって第３の所定時間（例えば１００ｍｓ）毎に実行する。
【００５４】
（４）演奏データの再生処理
これは、制御装置１０の記憶装置すなわちハードディスク１５に記憶された演奏データを読み出し、該制御装置１０の音楽ＬＡＮインターフェース３１の送信処理部Ｔｘ２（図３）で該読み出した演奏データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された音楽機器２０の音楽ＬＡＮインターフェース３２の受信処理部Ｒｘ２（図３）で受信し、該受信した演奏データを該音楽機器２０で再生する処理である。
制御装置１０では、まず、再生開始に先行して（例えば前記と同様に５００ｍｓ位先行して）、送信しようとする演奏データのファイル（例えば１曲分のファイル）をハードディスク１５から適宜一括して読み出して、内部メモリの所定送信領域に転送記憶する。そして、図６（ｂ）に示す１０ｍｓ毎の割込み処理によって、該所定送信領域の演奏データを順次読み出して送信処理部Ｔｘ２の送信バッファ（ＦＩＦＯ）に順次転送する。演奏イベントは波形サンプルタイミングのように頻繁には起こらないので、送信バッファ（ＦＩＦＯ）への転送は、該送信バッファ（ＦＩＦＯ）の空き具合（送信済み具合）を見ながら、適宜行うようにしてよい。また、送信処理部Ｔｘ２における演奏データ用の送信バッファ（ＦＩＦＯ）も小容量であってよい。この演奏データ用の送信バッファ（ＦＩＦＯ）が保持しうる演奏イベントの最大数をＩｍａｘとする。このＩｍａｘは、少なくとも１０ｍｓの間に起こりうる演奏イベントの最大数に相当していればよく、例えば数乃至１０イベント程度の数であっても用が足りると思われる。
【００５５】
図６（ｂ）のステップＳ１１では、内部メモリの所定送信領域から送信処理部Ｔｘ２の送信バッファ（ＦＩＦＯ）に既に転送済みであるが、まだ未再生の（まだ送信せずに送信バッファで保持している）演奏データのイベント数を検出し、この検出した数ｎをレジスタにセットする。ステップＳ１２では、演奏データ用の送信バッファ（ＦＩＦＯ）が保持可能な演奏イベントの最大数Ｉｍａｘから上記検出した未再生イベント数ｎを引き、該送信バッファ（ＦＩＦＯ）に追加転送すべきイベント数ｘを求める。ｘ＝０ではないことをステップＳ１３で判定すると、ステップＳ１４で、内部メモリの所定送信領域に記憶されている未転送分の演奏データのうち先頭のｘ個のイベントの演奏データとそれに付加されているタイムスタンプ（第２のタイミング情報）を読み出す。ステップＳ１５では、読み出されたｘ個イベントの演奏データのタイムスタンプを、テンポマップに従い、それぞれサンプル番号に変換する。例えば、テンポマップに従い所定の基準サンプル番号（例えば曲の再生開始時刻に対応するサンプル番号を基準サンプル番号とする）を参照して各タイムスタンプを固有のサンプル番号に変換すればよい。ステップＳ１６では、変換されたサンプル番号（あるいはそれに対応するタイミング情報）を持つｘ個イベントの演奏データを、送信処理部Ｔｘ２の送信バッファ（ＦＩＦＯ）の空き領域に書き込む。なお、この１０ｍｓ割込み時において、ｘ＝０（つまり送信処理部Ｔｘ２の送信バッファが未送信の演奏データで一杯である）ならば、ステップＳ１４〜Ｓ１６の処理は行わない。なお、送信処理部Ｔｘ２の送信バッファ（ＦＩＦＯ）への演奏データの転送の仕方は、図６（ｂ）に示すような追加可能なイベント数ｘを求めて可能な限りどんどん転送する例に限らず、所定時間区間分だけ未来のイベントの演奏データを転送するよう時間管理して転送するようにしてもよい。
【００５６】
こうして、送信処理部Ｔｘ２の送信バッファ（ＦＩＦＯ）に書き込まれた各演奏データ毎のサンプル番号は、該演奏データの実際の再生イベント時刻のサンプル番号に対応するものとされる。記憶装置つまりハードディスク１５及び内部メモリからの該演奏データの読み出しは、実際の再生イベントタイミングに先行して行われるので、これらの演奏データに付属するサンプル番号は、サンプルカウンタＳＣａがカウントしている現サンプル番号よりも未来のサンプル番号を示している。制御装置１０の送信処理部Ｔｘ２では、そのサンプル番号順（再生順）に従って送信バッファから１又は複数イベント分の演奏データとそれに付与されたサンプル番号とを取り出して演奏データのデータパケットを作成し、これをネットワークに送信する。送信バッファから波形データを取り出してデータパケットを作成する処理は、送信サイクルの１周期である１２５μｓ毎に行われる。勿論、送信すべき演奏データが送信バッファに無い場合は演奏データのデータパケットは作成されない。
このように、記録した演奏データを読み出して送信し、これを受信側で再生させる場合においても、送信する演奏データの再生イベント時刻に対応するサンプル番号に対応するタイミング情報を付与して該演奏データを送信する。
【００５７】
送信された演奏データのデータパケットは、音楽機器２０の受信処理部Ｒｘ２で受信され、その演奏データ用の受信バッファに順次記憶される。該受信バッファでは、当該音楽ＬＡＮインターフェース３２内のサンプルカウンタＳＣｂのカウント値に基づく或る時点での現サンプル番号になると、音楽ＬＡＮインターフェース３２がＣＰＵ２１にその旨を通知し、ＣＰＵ２１によりその現サンプル番号に対応するサンプル番号が付与された演奏データを読み出す。こうして、受信バッファに溜められた演奏データがそれぞれに付与されたサンプル番号に対応する時刻が到来すると、順次に、該受信バッファから読み出される。音楽機器２０では、読み出された演奏データの指示する演奏イベントに係る楽音再生（発音開始または発音終了）処理又は演奏再生状態の制御処理をリアルタイムに行う。
上記実施例では、転送に際して音楽データに付与するタイミング情報としてサンプル番号そのものからなる情報を用いているが、これに限らず、当該サンプル番号に係るサンプル位置の時刻つまりサンプル時刻を示す情報であってもよく、要するに時系列的なサンプル番号の時間関係を明らかにすることができる情報であればよい。
【００５８】
以上の通り、この発明によれば、記録系統にあっては、音楽機器から送信される音楽データには現サンプル番号に対応するタイミング情報が付与され、制御装置で受信された音楽データは該音楽データに付与されたタイミング情報に従う順序で記憶手段に記憶される。従って、この音楽システムで転送されてきた音楽データを受け手側で記憶する際に、従来のようなオフセット値相当分の時間遅れを持つサンプル時刻に対応して記憶されることがなく、実際のサンプル番号に相当するサンプル時刻に対応して記憶されることになり、記録に際しての遅延時間が存在しなくなる。従って、記録させるために音楽データを転送する毎にタイミング情報が付け直されるというような不都合が起こらない。
【００５９】
また、再生系統にあっては、制御装置の記憶手段からは現サンプル番号より後の（つまり未来の）再生順の音楽データが読み出され、これが該再生順に応じた現サンプル番号より後の（つまり未来の）サンプル番号に対応するタイミング情報を付与されて送信されるので、このタイミング情報には従来のようなオフセット値相当分の時間遅れが存在せず、該音楽データの本来のサンプル番号に対応するタイミング情報が維持される。受信側の音楽機器では、適宜の転送時間遅れをもって、この音楽データのパケットを受け取るのであるが、該受信した音楽データそのものが送信時の現サンプル番号より後の再生順に対応するもの（未来のサンプル番号に対応するもの）であり、それに付与されているタイミング情報も送信時の現サンプル番号より後のサンプル番号（未来のサンプル番号）を示しているので、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理することで、何の不都合もなく、再生を行うことができる。このように、この音楽システムで転送されてきた音楽データを受け手側で再生する際に、従来のような音楽データの本来のサンプル時刻からオフセット値相当分の時間遅れのサンプル時刻で再生されることがなく、音楽データの本来のサンプル時刻で再生することとなり、再生に際しての遅延時間が存在しなくなる。従って、再生（又は記録）させるために音楽データを転送する毎に通信遅延時間分のオフセット値が重複加算されてしまうような不都合が起こらない。
【００６０】
また、波形データ（サンプルデータ）と演奏データ（イベントデータ）とを一緒に転送して再生又は記録する場合にも、当該波形データ及び演奏データの本来のサンプル番号に対応するタイミング情報を付加して転送処理するので、それぞれの波形データ及び演奏データの本来のサンプル番号に対応して適切に再生又は記録することができるので、共通のサンプル番号進行に従って、両者の時間関係にずれを来すことなく、不都合のない処理を行うことができる。
【図面の簡単な説明】
【００６１】
【図１】この発明に係る音楽システムの基本的なネットワーク構成例を示すブロック図。
【図２】該音楽システムを構成するノードの一例として制御装置と音楽機器のハード構成例を示すブロック図。
【図３】図２における制御装置と音楽機器との間における音楽データの送受に関連する処理例を機能的に示す図。
【図４】（ａ）は音楽機器の受信処理部で波形データを受信するときに行なわれる処理を例示的に説明するタイミングチャートで、（ｂ）は該音楽機器の送信処理部で波形データを送信するときに行なわれる処理を例示的に説明するタイミングチャート。
【図５】（ａ）は制御装置の送信処理部で波形データを送信するときに行なわれる処理を例示的に説明するタイミングチャートで、（ｂ）は制御装置の受信処理部で波形データを受信するときに行なわれる処理を例示的に説明するタイミングチャート。
【図６】（ａ）は制御装置の受信処理部での演奏データの受信処理の一例を示すフロー図で、（ｂ）は該制御装置のＣＰＵによって演奏データの記録／再生のために行われる１０ｍｓ毎の割込み処理の一例を示すフロー図。
【符号の説明】
【００６２】
１０  制御装置（例えばパーソナルコンピュータＰＣ）
２０  音楽機器
１１，２１  ＣＰＵ
１２，２２  フラッシュメモリ
１３，２３  ＲＡＭ
１５  ハードディスク
２８  ＭＩＤＩ入出力インターフェース
２９  波形入出力インターフェース
３０  波形処理部
３１，３２  音楽ＬＡＮインターフェース
ＣＴａ、ＣＴｂ  サイクルタイマ
ＳＣａ，ＳＣｂ  サンプルカウンタ
Ｔｘ１，Ｔｘ２  送信処理部
Ｒｘ１，Ｒｘ２  受信処理部
【図１】
2005173136.tif 000003
【図２】
2005173136.tif 000004
【図３】
2005173136.tif 000005
【図４】
2005173136.tif 000006
【図５】
2005173136.tif 000007
【図６】
2005173136.tif 000008