JP2005173136A - 音楽システム及び音楽データ送受装置 - Google Patents

音楽システム及び音楽データ送受装置 Download PDF

Info

Publication number
JP2005173136A
JP2005173136A JP2003412292A JP2003412292A JP2005173136A JP 2005173136 A JP2005173136 A JP 2005173136A JP 2003412292 A JP2003412292 A JP 2003412292A JP 2003412292 A JP2003412292 A JP 2003412292A JP 2005173136 A JP2005173136 A JP 2005173136A
Authority
JP
Japan
Prior art keywords
music
data
sample number
music data
timing information
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
Application number
JP2003412292A
Other languages
English (en)
Other versions
JP3861873B2 (ja
Inventor
Masahiro Shimizu
正宏 清水
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 JP2003412292A priority Critical patent/JP3861873B2/ja
Publication of JP2005173136A publication Critical patent/JP2005173136A/ja
Application granted granted Critical
Publication of JP3861873B2 publication Critical patent/JP3861873B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 音楽データの転送時間遅れの解決。波形データと演奏データを一緒に転送して再生又は記録できるようにする。
【解決手段】 記録時、音楽機器は、時間経過に伴い現サンプル番号を進行させ、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与してネットワーク上に送信する。制御装置は、送信された音楽データを受信し、該音楽データに付与されたタイミング情報に従う順序で記憶手段に記憶させる。再生時、制御装置は、時間経過に伴い現サンプル番号を進行させ、現サンプル番号より後の再生順の音楽データを記憶手段から読み出し、読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与してネットワーク上に送信する。音楽機器は、受信した音楽データをそこに付与されたタイミング情報に従うタイミングで再生処理する。
【選択図】 図5

Description

この発明は、波形データ(波形サンプルデータ)や演奏データ(MIDI形式やその他の形式の演奏データ)などの音楽データをネットワークを介して送受することのできる音楽システムに関し、更には音楽データ送受装置に関する。
マルチメディアに対応した所定の通信規格(例えばIEEE1394規格)に従って構成されたネットワークにおいて、波形データ(波形サンプルデータ)や演奏データ(MIDIのような演奏イベントデータ)などの音楽データを送受できるように構成した音楽システム(例えば商標「mLAN」で呼ばれる当出願人の開発に係る音楽システム)がある。そのような音楽システムにおいては、ネットワークを介して複数のノード例えばパーソナルコンピュータなどの制御装置や各種の音楽機器(シンセサイザ、音源装置、レコーダ、ミキサなど、波形データ及び/又はMIDIデータなどの音楽データの入出力機能ないし再生機能を具備する機器)を接続してシステムが構成され、多数の波形データストリームあるいはMIDIデータストリームを、任意のノードから任意の複数ノードに流すことができる。これに関連する公知文献として下記がある。
特開平10−32606号公報 特開2000−78170号公報 特開2000−278353号公報
特許文献2には、上述のような音楽システムにおいて、複数のノード間でサンプル時刻を同期させて波形データ処理を行うために、ワードクロックを使用することが示されている。また、特許文献2,3には、複数サンプルの波形データを含むデータパケットを送信するとき、そのサンプル番号すなわちサンプル時刻を示す情報を所定のオフセット値を加算した未来のサンプル時刻を示す情報に変換し、これをパケットに付加して送信することが示されている。再生ノードにおいては、受信した波形データに付加された未来のサンプル時刻が到来したときに該波形データを再生するものとし、これにより、転送時間遅れ(及び時間揺れ)を吸収することができる。また、特許文献3においては、上述のような音楽システムにおいて、オーディオデータ(波形データ)とMIDIデータのような演奏データとを送受するようにしたことが示されている。この場合、MIDIデータ再生処理を送信側のCPUで行い、その再生(演奏)タイミングで送信パケットに入れて送信するようにしているため、それ以後の伝送路における時間的揺らぎの影響を受ける、という問題がある。
従来の音楽システムでは、入力された音楽データを音楽機器から制御装置(PC)に送信して記録させる場合、上述のように、その音楽データの生成時現在のサンプル時刻又はサンプル番号をそのまま該送信すべき音楽データに付加するタイミング情報とはせず、その現在サンプル時刻又はサンプル番号に所定のオフセット値を加えた未来のサンプル時刻又はサンプル番号を該送信すべき音楽データに付加するタイミング情報としていた。該音楽機器から送信された音楽データを受信した制御装置では、該受信した音楽データを記憶装置に記憶する場合に、該音楽データを受信後にそのオフセット加算された(未来の)サンプル時刻又はサンプル番号のタイミングが到来するので、上述のように転送時間遅れを吸収して、該音楽データに付加されたタイミング情報が示すタイミングで該音楽データを再生することができる。このとき、記憶装置に記録される該受信した音楽データのサンプル時刻又はサンプル番号は、制御装置で音楽データが再生されたタイミングのタイミング情報が示すものに変わっている。
一方、記憶された音楽データを制御装置(PC)から音楽機器に送信する場合においては、該音楽データを送信する際の現在サンプル時刻又はサンプル番号に所定のオフセット値を加算したタイミング情報を生成し、このオフセット加算されたタイミング情報を該音楽データに付加して送信するようになっていた。従って、この場合も、該制御装置から送信された音楽データを受信した音楽機器では、該音楽データを受信後のオフセット加算された(未来の)サンプル時刻又はサンプル番号のタイミングで該音楽データを再生することができるので、転送時間遅れを吸収した再生処理が可能である。
このように、送信するパケットに含まれる音楽データに付加するタイミング情報として、現在のサンプル時刻又はサンプル番号ではなくそれに所定のオフセット値を加算した未来のサンプル時刻又はサンプル番号を示すタイミング情報を用いるやり方は、入力された音楽データを転送して受信側で再生するだけの場合は特に目立った問題はないが、受信した音楽データを一旦記録し、これを読み出してまた転送して再生させるような場合には、複数回にわたる送信によってオフセット値が累積されることで予期しなかった大きなタイミングずれをもたらすことになる。すなわち、PCで記憶された音楽データを読み出して音楽機器に転送したときから該音楽機器でその音楽データが再生されるまでの遅延時間(再生遅延時間)と、該音楽機器で再生した音楽データを再びPCに転送して記録させるような場合(例えばPCから転送して再生させた音楽データと新たに入力された音楽データの混合した音楽データをPCに転送して記録させるような場合)の遅延時間(記録遅延時間)とが重複して生じることになる。
また、音楽データとして、波形データと演奏データを同時に転送して再生ないし記録する場合、従来の音楽システムでは、波形データの各サンプルの実際の再生タイミングの遅れとして現われる上記オフセット値が、MIDIのような演奏データの実際の演奏タイミングには反映されないので、両データの間で、再生タイミング又は記録データ上の演奏タイミングに差が生じるという問題があった。よって、従来の音楽システムは、波形データとMIDIのような演奏データとを一緒に送信して両者を同期して再生するには適していなかった。
この発明は上述の点に鑑みてなされたもので、音楽データの転送時間遅れの問題とそれに伴う不都合を解決しうる音楽システムを提供しようとするものである。また、波形データと演奏データとを一緒に転送して再生又は記録する場合にも不都合のない音楽システムを提供しようとするものである。
この発明に係る請求項1の音楽システムは、演奏又は波形の入力を行う機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、前記音楽機器が、時間経過に従って現サンプル番号を進行させる手段と、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して送信する制御手段とを具備し、前記制御装置が、記憶手段と、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる制御手段とを具備することを特徴とする。
これによれば、音楽機器から送信される音楽データには現サンプル番号に対応するタイミング情報が付与され、制御装置で受信された音楽データは該音楽データに付与されたタイミング情報に従う順序で記憶手段に記憶される。従って、この音楽システムで転送されてきた音楽データを受け手側で記憶する際に、従来のようなオフセット値相当分の時間遅れを持つサンプル時刻に対応して記憶されることがなく、送り手側の現サンプル番号に相当するサンプル時刻に対応して記憶されることになり、記録遅延時間が存在しなくなる。従って、従来のような不都合が解決される。なお、サンプル番号に対応するタイミング情報とは、サンプル位置を示すサンプル番号そのものからなる情報であってもよいし、あるいは当該サンプル番号に係るサンプル位置の時刻つまりサンプル時刻を示す情報であってもよく、要するに時系列的なサンプル番号の時間関係を明らかにすることができる情報であればよい。
また、この発明に係る請求項4の音楽システムは、音楽データ再生機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、前記制御装置が、順次に再生されるべき音楽データを記憶する記憶手段と、時間経過に従って現サンプル番号を進行させる手段と、現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与して送信する制御手段を具備し、前記音楽機器が、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する制御手段を具備することを特徴とする。
これによれば、制御装置の記憶手段からは現サンプル番号より後の再生順の音楽データが読み出され、これが該再生順に応じたサンプル番号に対応するタイミング情報を付与されて送信されるので、このタイミング情報には従来のようなオフセット値相当分の時間遅れが存在せず、該音楽データの本来のサンプル番号に対応するタイミング情報が維持される。受信側の音楽機器では、適宜の転送時間遅れをもって、この音楽データのパケットを受け取るのであるが、該受信した音楽データそのものが送信時の現サンプル番号より後の再生順に対応するもの(未来のサンプル番号に対応するもの)であり、それに付与されているタイミング情報も送信時の現サンプル番号より後のサンプル番号(未来のサンプル番号)を示している。従って、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理することで、何の不都合もなく、再生を行うことができる。このように、この音楽システムで転送されてきた音楽データを受け手側で再生する際に、従来のような音楽データの本来のサンプル時刻からオフセット値相当分の時間遅れのサンプル時刻で再生されることがなく、音楽データの本来のサンプル時刻で再生することとなり、再生遅延時間が存在しなくなる。従って、従来のような不都合が解決される。
こうして、本発明は、音楽データ記録時の記録遅延時間を実質的にゼロにすることができ、また、音楽データ再生時の再生遅延時間を実質的にゼロとすることができるので、累積的なオフセット値によるタイミングずれの拡大という問題も起きない。従って、ネットワークを介して転送する音楽データの記録及び/又は再生を、サンプル番号を基準としてサンプル精度のタイミングで行うことができる。
請求項3によれば、前記制御装置の制御手段は、前記受信した音楽データが演奏データならば、前記タイミング情報をテンポマップに基づく第2のタイミング情報に変換し、該第2のタイミング情報を付加して該演奏データを前記記憶手段に記憶させることを特徴とする。これにより、音楽機器から送信された音楽データが演奏データならば、それに付与されたタイミング情報をテンポマップに基づく第2のタイミング情報に変換して、この第2のタイミング情報を付加して該演奏データを記憶するので、送信時の現サンプル番号に対応するタイミング情報に対応する第2のタイミング情報がテンポマップに基づき適切に付与されることで、送信時の現サンプル番号が演奏データの実際の演奏タイミングには反映されることになる。従って、演奏データと波形データとの記録上の演奏タイミングにずれが生じないようにできる。
請求項6によれば、前記制御装置の記憶手段は、演奏イベント順に演奏データを記憶しており、前記制御装置の制御手段は、現サンプル番号より後のイベント時刻に対応する演奏データを前記記憶手段から読み出し、該読み出した演奏データに対して当該イベント時刻に対応する現サンプル番号より後のサンプル番号に対応するタイミング情報を付与して送信し、前記音楽機器は、時間経過に従って現サンプル番号を進行させる手段を具備し、前記音楽機器の制御手段は、前記受信した音楽データが演奏データならば、現サンプル番号の進行が前記タイミング情報の示すサンプル番号に対応するものとなったとき該演奏データに係る演奏イベントを再生することを特徴とする。
これにより、制御装置の記憶手段からは現サンプル番号より後のイベント時刻に対応する演奏データが読み出され、これが当該イベント時刻に対応する現サンプル番号より後のサンプル番号に対応するタイミング情報を付与されて送信されるので、送信時に付与されるタイミング情報は演奏データの実際の演奏タイミングを反映したものである。従って、音楽機器で受信した演奏データを該演奏データに付与されたタイミング情報に従うタイミングで再生処理することで、何の不都合もなく、再生を行うことができる。従って、同時に波形データをも再生する場合、演奏データと波形データとの再生上の演奏タイミングにずれが生じないようにできる。
この発明は、演奏又は波形の入力を行う機能と音楽データ再生機能とを有する音楽機器における音楽データ送受装置として構成してもよい。請求項7によれば、この音楽データ送受装置は、時間経過に従って現サンプル番号を進行させる手段と、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して他の装置に送信する第1の制御手段と、他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する第2の制御手段とを具備する。
この発明は、順次に再生されるべき音楽データを記憶する記憶手段を有する制御装置における音楽データ送受装置として構成してもよい。請求項8によれば、この音楽データ送受装置は、時間経過に従って現サンプル番号を進行させる手段と、現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じた現サンプル番号より後のサンプル番号に対応するタイミング情報を付与して他の装置に送信する第1の制御手段と、他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる第2の制御手段とを具備する。
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
図1は、この発明に係る音楽システムの基本的な構成例を示すブロック図である。この音楽システムは、所定の通信規格例えばIEEE1394規格(USB等その他の規格でもよい)に従うネットワークを介して接続された複数のノードで構成される。図では、ノードの基本的な例として、少なくとも記憶装置を具える制御装置10と音楽機器20が示されており、更にその他の機器51、52が適宜接続される。制御装置10は、そこで記録された音楽データを音楽機器20に送る機器であり、例えばパーソナルコンピュータPCで実現される。ネットワークの接続形式は、図示したような各ノードを順次連鎖的に接続するチェーン接続方式に限らず、ハブ装置を介して各ノードを接続する方式であってもよく、また、有線に限らず無線式に接続する方式であってもよい。
この音楽システムを音楽データ記録用途に使用するためには、音楽機器20としては、少なくとも波形入出力機能及び/またはMIDI入出力機能を具備する機器が用いられ、音楽機器20からネットワークを介して送信された音楽データを制御装置(PC)10で受信して記憶装置に記憶する。また、この音楽システムを音楽データ再生用途に使用するためには、音楽機器20としては、音楽再生機能を具備する機器が用いられ、記憶装置から読み出した音楽データを制御装置(PC)10がネットワークを介して送信し、これを音楽機器20で受信して再生する。勿論、音楽データの記録と再生を同時並行的に行なってもよい。音楽機器20としては、ミュージックシンセサイザのような電子楽器、シーケンサのような自動演奏装置、レコーダのような波形記録装置、ミキサやエフェクタのような信号処理装置、音源装置など、任意の音楽関連機器が該当する。なお、制御装置10及び音楽機器20とは、機能的な定義であり、特定のハードウェア構成を一義的に定義するものではない。例えば、シンセサイザ等の音楽関連機器であっても、それが記憶装置とコンピュータ又は処理装置を付属していて、他の音楽機器から転送された音楽データをその記憶装置内に記憶するようにコンピュータ又は処理装置で制御する場合は、本発明でいう制御装置10として機能することになる。勿論、同じシンセサイザ等の音楽関連機器が、他の制御装置又は音楽機器から転送された音楽データを受信して再生する場合は、本発明でいう音楽機器20として機能することになる。よって、図1に示されたその他の機器51、52とは、その機能から定義すると、制御装置10と音楽機器20のどちらでもあり得る。なお、「音楽データ」とは、波形データ(オーディオ波形のサンプルデータ)と、MIDIのような演奏イベントデータからなる演奏データの双方を包含する意味で使用するものとする。
IEEE1394規格に準拠する音楽データの転送方式の具体例については、上述の従来技術(特許文献1,2,3)にも記載されており、この実施例に係る音楽システムにおいても、同様のデータ転送方式を適宜必要箇所において取り入れて採用してよい。すなわち、この実施例に係る音楽システムにおける音楽データ転送にあたり、下位構造として公知のIEEE1394規格準拠のデータ転送方式を採用し、上位構造として本発明に従う特有のデータ転送方式を採用するよう構成される。
従って、IEEE1394規格準拠の下位のデータ転送方式については、公知の構成を採用してよいので、その詳細説明は省略するが、次に、簡単に説明しておく。
〔サイクルマスタ〕
IEEE1394規格に準拠するネットワークにおいては、125μsを1サイクルとするサイクル動作を行う。すなわち、ネットワークに接続された複数ノードのうちの1つのノードがサイクルマスタとなり、自ノードの「サイクルタイマ」により計時して所定の送信サイクル周期(例えば125μs)毎に、当該ノードのサイクルタイマの示すサイクル時刻を含むサイクル開始パケットを送出する。該サイクル開始パケットをトリガとしてアイソクロナス転送が開始され、アイソクロナス転送が終了したらアシンクロナス転送が開始される。サイクルマスタ以外のノードは該サイクル開始パケットを取り込み、自分の「サイクルタイマ」をそのサイクル開始パケットのサイクル時刻に合わせる。こうして、ネットワークに接続された全てのノードの「サイクルタイマ」が示すサイクル時刻を、サイクルマスタが計時するサイクル時刻に合わせる。サイクル時刻は、該ネットワークにおける共通の時刻情報として使用される。なお、サイクルタイマは所定の高速クロック(例えば25MHz)で動作する。
〔ワードクロックマスタ〕
本出願人が提唱している音楽LAN(音楽データ用のロカール・エリア・ネットワーク方式)では、ネットワークに接続された複数のノードが共通のサンプリング周期で音楽データ処理動作を行なう。各ノードは、時間経過に従って現サンプル番号を進行させる手段として、サンプル番号をインクメントする「サンプルカウンタ」をそれぞれ備える。その場合、すべてのノードの現サンプル番号の進行を同期化するために、複数のノードの何れか1つのノードがワードクロックマスタとなり、ワードクロックマスタのサンプリングクロックに従い現サンプル番号を共通に進行させるよう同期化制御する。ワードクロックマスタのサンプリングクロックの周波数は、取り扱うオーディオ波形データのサンプリング周波数(例えば48kHz、その他)に応じたものである。ワードクロックマスタとなったノードは、所定サンプル数毎(例えば8サンプル毎)の時間間隔で、現在サンプル番号とそのサイクル時刻情報とを含むワードクロックパケットを発生し、ネットワークにブロードキャストする。ワードクロックマスタ以外の他のノードは、ワードクロックスレーブとなって、このワードクロックパケットを受信し、そのパケットに含まれるサンプル番号とサイクル時刻に基づいて当該ノードのサンプリングクロックを発生する。そして、該サンプリングクロックをカウントする。自ノードのサンプルカウンタの値を該受信したワードクロックパケットのサンプル番号に合わせる。こうして、すべてのノードでの現サンプル番号の時間進行(つまり「サンプルカウンタ」の値)がワードクロックマスタによって同期化される。なお、ワードクロックパケットで送信されるサイクル時刻情報は、IEEE1394規格で補償している通信遅延時間(例えば352μs)だけワードクロックマスタのサイクルタイマの示すサイクル時刻をオフセット加算したものである。各ノードでは、自己のサイクルタイマの示すサイクル時刻がワードクロックパケットに含まれるサイクル時刻情報になったとき、自ノードのサンプルカウンタの値を該ワードクロックパケットに含まれるのサンプル番号に合わせる。これにより、通信遅延時間を吸収して、すべてのノードでの現サンプル番号の時間進行(つまり「サンプルカウンタ」の値)が同期化される。
上述したようなサイクルマスタ及びワードクロックマスタによって、各ノードの「サイクルタイマ」が示すサイクル時刻を同期化し、また、各ノードの「サンプルカウンタ」が示すサンプルカウントつまりサンプル番号を同期化する技術は、前記特許文献1〜3等で公知のものを用いてよい。
更に、サイクルマスタ及びワードクロックマスタに関連する本実施例での工夫事項を示すと、次の通りである。
ワードクロックスレーブとして動作する機器は、当該機器のワードクロックを他の機器(マスタ)のワードクロックに同期させるため、当該機器のワードクロックには追従のずれや追従に伴うゆらぎが発生する場合がある。それに対して、ワードクロックマスタとなって動作している機器は、他の機器のワードクロックに関係なく、当該機器のサイクルタイマないしシステムクロックのみからワードクロックを生成するので、当該機器におけるワードクロックは極めて安定度の高いものとなる。正確な現サンプル番号を必要としているのは、外部との波形データやMIDIデータの入出力を行う音楽機器20であり、他方、制御装置10は大まかなサンプル番号さえ得られれば、多少ずれたり多少不安定であっても全く問題が無い。そこで、音楽機器20をワードクロックマスタとして動作させるのがよく、それにより、本実施例に係る音楽システムに安定した動作を行わせることができる。一方、サイクルマスタに関しては、サイクルタイマがサンプリング周波数よりかなり高速のクロック周波数でサイクル時刻のカウントを行っているので、どのノードをサイクルマスタとして動作させても差し支えない。従って、サイクルマスタとなるのは制御装置10でも音楽機器20でもよい。勿論、制御装置10をワードクロックマスタとして動作させるようにしてもよい。その場合、音楽機器20ではワードクロックに正確に同期できるように精密なクロックシステムを持つ必要がある。
次に、図2を参照して制御装置10と音楽機器20のハード構成の一例につき説明する。
制御装置10は、典型的には、パーソナルコンピュータ(PC)で構成され、CPU11、受信した音楽データやその他データ及びプログラム等を記憶するハードディスク15、プログラムやデータなどを不揮発的に記憶するフラッシュメモリ12、プログラム・ワーキング及びデータ一時記憶用のRAM13、タイマ14、キーボードやマウス等の操作装置16、表示器17、TCP/IPインターフェース18などがCPUバス19を介して接続されており、更に、本実施例に従って音楽データの送受を制御する音楽LANインターフェース31がCPUバス19に接続されている。ハードディスク15に記憶されたプログラムはRAM13に転送され、RAM13上で展開される。PCでは、Windows(登録商標)のような所定のOSを動かすことができ、このOSにはIEEE1394用及びLANインタフェース用のドライバが入っている。このOS上で音楽ソフトウェア(シーケンサソフトウェア)を実行することにより、PCは制御装置10としての機能を実行する。
音楽機器20は、CPU21、プログラムやデータなどを不揮発的に記憶するフラッシュメモリ22、ワーキング及びデータ一時記憶用のRAM23、タイマ24、操作子装置26、表示器27などがCPUバス25を介して接続されてなるマイクロコンピュータ構成の電子機器からなる。フラッシュメモリ22には、この音楽機器20の組込用OS及び音楽機器として動作させるための組込プログラムが記憶されている。音楽機器20は、更に、MIDI形式の演奏データを入出力するためのMIDI入出力インターフェース28と、アナログまたはディジタルの波形データを入出力するための波形入出力インターフェース29をCPUバス25に接続してなり、また、波形入出力インターフェース29を介して入出力する波形データを適宜処理するための波形処理部30を具えている。更に、本実施例に従って音楽データの送受を制御する音楽LANインターフェース32がCPUバス25に接続されている。波形処理部30は、この音楽機器20の目的(ミキサ、エフェクタ、音源、シンセサイザなど)に応じて適宜の波形処理機能を担うようにしてよい。例えば、ミキシング処理やフィルタ処理、エフェクト処理、音源処理(波形形成処理)、波形再生処理などを適宜行なうように構成してよい。一例として、DSP(ディジタル信号プロセッサ)で波形処理部30を構成し、DSPのマイクロプログラムによってその波形処理機能を適宜設定するようにしてもよい。波形入出力インターフェース29は、アナログ/ディジタル変換器及びディジタル/アナログ変換器並びにバッファメモリ等を含んでおり、適宜のサンプリング周波数に従ってディジタルまたはアナログの波形データをリアルタイムに入力または出力する。波形入出力インターフェース29は、図示しないピックアップ用のマイクロフォンや、オーディオ発音用のサウンドシステムや、他の波形データ入出力機器等に接続される。MIDI入出力インターフェース28は、MIDI形式の演奏データをリアルタイムに/または非リアルタイムに入力または出力するもので、図示しない演奏操作用キーボードやMIDI楽器あるいはシーケンサ等のMIDI入出力機器等に接続される。勿論、この音楽機器20自身がシーケンサ機能(自動演奏データ再生機能)を持っていてもよい。また、この音楽機器20自身が、演奏操作用キーボードを持つシンセサイザのような電子楽器であってもよい。
音楽LANインターフェース31及び32は、送受信される音楽データをバッファするためのFIFOのようなバッファメモリと、後述するような必要な送受信制御・処理機能を実行するためのプロセッサ機能およびタイマ機能等を具備する。この音楽LANインターフェース31及び32は、下位構造としてのIEEE1394規格準拠のインターフェース部と、上位構造としての本発明に従う特有の音楽インターフェース部との2重構造からなる。前述の「サイクルタイマ」は下位のIEEE1394規格準拠のインターフェース部に含まれ、「サンプルカウンタ」は上位の音楽インターフェース部に含まれる。各ノードのCPU11,21は、CPUバス19、25を介して、自己の音楽LANインターフェース31、32における「サンプルカウンタ」の値を読み取ることができ、これにより、現サンプル番号に従う処理を適宜行なうことができる。
例えば、ワードクロックパケットに含まれるサンプル番号は8ビットで構成されている。この場合、「サンプルカウンタ」は8ビットバイナリカウンタで構成してもよい。しかし、それではすぐにオーバーフローしてしまい、サンプル番号を絶対値で管理することがしにくくなり、使いにくい。そこで、各ノードの音楽LANインターフェース31、32が有する「サンプルカウンタ」を32ビットバイナリカウンタに拡張して構成するとよい。その場合は、最長24時間程度までの絶対値で連続的サンプル時刻(サンプル番号)を管理できるようになる。32ビットに拡張された「サンプルカウンタ」を各ノードで同期させるには、再生開始時、バスリセット時等にワードクロックマスタのサイクルカウンタの全32ビットの値を、送信するワードクロックパケットに含めて送信し、他のノードの32ビットのサンプルカウンタ値をこれに合わせるようにすればよい。そのようにすれば、一旦、32ビットの値できちっと合わせた後はワードクロックパケットで随時同期されるので、各機器のサンプルカウント値(32ビット)が常に一致する。さらに、該全32ビットのサンプルカウンタ値を数秒とか数十秒の長い周期で定期的にワードクロックパケットに含めて送信し、これによって他のノードの32ビットのサンプルカウンタ値を時刻合わせしてもよい。
図3は、制御装置10と音楽機器20における音楽データの送受に関連する処理例を機能的に示す図である。
前述のとおり、それぞれの音楽LANインターフェース31、32は、サイクルタイマCTa、CTbとサンプルカウンタSCa,SCbを具備しており、それぞれがサイクルマスタとワードクロックマスタによって同期化されている。サンプルカウンタSCa,SCbは、ワードクロックマスタの指示に従う所定のサンプリング周波数に従い、時間経過に伴って現サンプル番号を進行させるものである。例えば、ワードクロックパケットで所定数(例えば8個)毎のサンプルについてのサンプル番号及び時刻の情報が伝送される場合、該送ワードクロックパケットに含まれるサンプル時刻(このサンプル時刻はサイクル時刻で表わされている)とサイクルタイマCTa、CTbが指示する現サイクル時刻とが一致するとき、該サンプル時刻に対応する該ワードクロックパケットに含まれるサンプル番号をサンプルカウンタSCa,SCbにセットすることで、各ノードのサンプル番号を同期化する。かつ、音楽LANインターフェース31、32内に含まれるフェーズロックループ等で該一致タイミングに同期してサンプリングクロックを発振させ、このサンプリングクロックでサンプルカウンタSCa,SCbをインクメントすることで、ワードクロックマスタにおけるサンプリング周波数に従う時間経過に伴って現サンプル番号を進行させることができ、このことを全ノードで同期して行なうことができる。
それぞれの音楽LANインターフェース31、32においては、送信処理部Tx1,Tx2と受信処理部Rx1,Rx2の機能を果たすハードウェア及びソフトウェアを具えている。各送信処理部Tx1,Tx2においては、ネットワークに送り出す直前のデータパケットを順次バッファするための送信バッファ(例えばFIFO)を具備しており、また、各受信処理部Rx1,Rx2においては、ネットワークを介して送信されてくるデータパケットを順次バッファするための受信バッファ(例えばFIFO)を具備している。複数チャンネル分の音楽データを1データパケットで送信/受信することができる。よって、送信バッファと受信バッファは、各チャンネル毎に音楽データをバッファしうる構成からなる。例えば、前述の従来技術にも示されているように、第1乃至第6チャンネルを使用して波形データを伝送し、第7乃至第8チャンネルを使用してMIDI演奏データを伝送するというように、音楽データの性質に応じて伝送チャンネルを使い分けるとよい。
制御装置10は、音楽ソフトウェアを実行し、現サンプル番号を基準として音楽機器20から入力される音楽データの記録及び記録されている音楽データの音楽機器20を用いた再生を行う。その際に、制御装置10及び音楽機器20の各音楽LANインターフェース31、32における送信処理部Tx1,Tx2と受信処理部Rx1,Rx2の働きによって、本発明に係る音楽データの送受信処理が行なわれる。以下、この音楽データ送受信処理の実施例につき、(1)波形データの記録処理、(2)波形データの再生処理、(3)演奏データの記録処理、(4)演奏データの再生処理、という4種の処理目的別に説明を行なう。簡単化のために、以下の説明は、或る1チャンネル分の波形データまたは演奏データの送受信処理について行なう。
(1)波形データの記録処理
これは、例えば、音楽機器20の波形入出力インターフェース29(図2)を介して波形データを入力し、該音楽機器20の音楽LANインターフェース32の送信処理部Tx1で該波形データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された制御装置10の音楽LANインターフェース31の受信処理部Rx1で受信し、該受信した波形データを該制御装置10の記憶装置すなわちハードディスク15(図2)に記憶する処理である。音楽機器20の波形入出力インターフェース29(図2)を介して入力された波形がアナログ波形であればアナログ/ディジタル変換器(図3のADC29A)でディジタル波形データに変換され、波形処理部30(図2)等で適宜のリアルタイム処理(フィルタリングやミキシング、ルーティングなど)を施したものが、送信処理部Tx1に与えられる。
音楽機器20の送信処理部Tx1で波形データを送信するときに行なわれる処理のタイミングチャートが図4(b)に例示されている。例えば、約125μs毎にデータパケットを作成し送信する場合、約125μsの時間長の或る時間区間T1で入力された複数サンプルの波形データが、送信処理部Tx1の送信バッファに順次記憶される。送信処理部Tx1では、該送信バッファに記憶された複数サンプルの波形データを1チャンネル分のデータパケットとしてパケットを作成し、その際、先頭のサンプルの波形データに対応する現サンプル番号(図4のSct)を示すサンプルカウント値をサンプルカウンタSCbから取り込み、該データパケットに付与する。こうして、入力した波形に対応する波形データに現サンプル番号(Sct)に対応するタイミング情報(サンプルカウント値すなわちサンプル番号)を付与してなるデータパケットが作成され、これが送信される(図4中のDPTx)。1データパケット中の複数サンプルの波形データは連続しているので、そのうち1つの(例えば先頭の)サンプルの現サンプル番号をデータパケットに付与すればよく、残りのサンプルの現サンプル番号もそこから特定できるので問題ない。勿論、これに限らず、特開平9−298558号公報に示されたようなやり方であってもよい。このように、本発明は、送信する波形データの現サンプル番号に対応するタイミング情報をそのまま付与して該波形データを送信することが特徴である。すなわち、従来行なっていたような、通信遅延時間つまり受信ノードでの該波形データの受信タイミングの遅れを吸収するためのサンプルオフセット値の加算を行なっていない。なお、図中で、「S番号」とは、「サンプル番号」の略である。
送信されたデータパケットは、制御装置10の受信処理部Rx1で受信され、その受信バッファに順次記憶される。受信処理部Rx1では、受信バッファの波形データを第1の所定時間(例えば1ms)毎にまとめて制御装置10の内部メモリ(図2のRAM13)にDMA転送出力する。このDMA転送のために、サイクルタイマCTaによって該第1の所定時間(例えば1ms)毎にハードウェア割込みがかけられる。125μs毎に送信されるデータパケットは、1msの間には複数パケット分が受信バッファに溜められており、これらがまとめてDMA転送される。なお、この第1の所定時間は、1ms丁度に限らず、例えば64サンプルなど8の倍数のサンプル数分の時間とすると、DMA転送が行い易い。
制御装置10の受信処理部Rx1で波形データを受信するときに行なわれる処理のタイミングチャートが図5(b)に例示されている。音楽LANインターフェース31内のサンプルカウンタSCaのカウント値に基づく或る現サンプル番号Scxを基準にすると、それよりも過去1ms乃至プラスα(通信遅延時間相当)以内のサンプル番号の波形データ群W1が受信バッファから内部メモリにDMA転送されることになる。内部メモリに記憶される波形データ群W1は、それぞれに付与されているタイミング情報の示すサンプル番号に対応づけて記憶(配置)される。
なお、参考のために、図4においても、同じサンプル番号Scxに対応する時刻位置を例示する。ここから、サンプル番号Scxの時刻で制御装置10の受信処理部Rx1の受信バッファ内に受信済みの(あるいはそこから内部メモリにDMA転送される)波形データ群W1の中には、それよりも過去の前記サンプル番号Sctの波形データが含まれていることが理解できる。なお、図4と図5は異なるタイムスケールで図示しており、図4の方が時間軸が拡大表示されている。
制御装置10では、上記のように受信されて内部メモリに転送記憶された波形データに対して、プラグインでエフェクト処理を施すことができるようになっている。この受信波形データに対するプラグイン・エフェクト処理を図3では符号PEF1で示す。このプラグイン・エフェクト処理は、CPU11によるソフトウェア割込みによって上記第1の所定時間よりも長い第2の所定時間(例えば10ms)毎に実行される。つまり、内部メモリに転送記憶された10ms分の波形データに対してまとめてエフェクト処理を施す。音楽LANインターフェース31内のサンプルカウンタSCaのカウント値に基づく或る現サンプル番号Scxを基準にすると、それよりも適当な過去(例えば30ms位過去)の10ms分のサンプル番号の波形データ群W2に対してプラグイン・エフェクト処理が施される。この場合、波形データの入力時に付与したサンプル番号を保ったままでエフェクトをかけることができる。
制御装置10では、上記のようにプラグイン・エフェクト処理済で内部メモリに記憶されている波形データを、該内部メモリから読み出してハードディスク15に転送して書き込む処理を、CPU11によるソフトウェア割込みによって上記第2の所定時間よりも長い第3の所定時間(例えば100ms)毎に実行する。このハードディスク書き込み処理を図3では符号WRで示す。つまり、内部メモリに記憶されている約100ms相当の複数クラスタ分の波形データをまとめてハードディスク15に転送記憶する。音楽LANインターフェース31内のサンプルカウンタSCaのカウント値に基づく或る現サンプル番号Scxを基準にすると、それよりも適当な過去(例えば500ms位過去)の約100ms相当の複数クラスタ分のサンプル番号の波形データ群W3が対してハードディスク15に転送記憶される。ハードディスク15に記憶される波形データ群W3は、それぞれに付与されているタイミング情報の示すサンプル番号に対応づけて記憶(配置)される。このように、音楽機器20の入力で音楽データに付与したサンプル番号に対応するタイミング情報を変更することなく、制御装置10で記録することができる。
(2)波形データの再生処理
これは、上述のように制御装置10の記憶装置すなわちハードディスク15に記憶された波形データを読み出し、該制御装置10の音楽LANインターフェース31の送信処理部Tx2(図3)で該読み出した波形データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された音楽機器20の音楽LANインターフェース32の受信処理部Rx2(図3)で受信し、該受信した波形データを該音楽機器20で再生する処理である。
制御装置10で行う、ハードディスク15からの波形データの読み出しと、それに基づくプラグイン・エフェクト処理及び送信処理に関連するタイミングチャートが図5(a)に例示されている。
制御装置10では、ハードディスク15から読み出すべき波形データのファイルが指定されると、該ファイルの波形データを先頭からそのサンプル番号順に読み出す。制御装置10は、このハードディスク15からの波形データの読み出し処理を、CPU11によるソフトウェア割込みによって前記第3の所定時間(例えば100ms)毎に実行する。このハードディスク読み出し処理を図3では符号REで示す。つまり、ハードディスク15に記憶されている約100ms相当の複数クラスタ分の波形データをまとめて読み出して内部メモリ(RAM)に転送記憶する。勿論、ハードディスク15から読み出して内部メモリに転送記憶された波形データのサンプル番号は、制御装置10によって正確に管理される。
音楽LANインターフェース31内のサンプルカウンタSCaのカウント値に基づく或る時点での現サンプル番号Scxを基準にすると、それよりも適当な未来(例えば500ms位未来)の約100ms相当の複数クラスタ分のサンプル番号の波形データ群Wt3(図5(a)参照)がハードディスク15から読み出され、内部メモリに転送記憶される。
制御装置10では、上記のように内部メモリに転送記憶された送信すべき波形データに対して、プラグインでエフェクト処理を施すことができるようになっている。この送信波形データに対するプラグイン・エフェクト処理を図3では符号PEF2で示す。このプラグイン・エフェクト処理は、CPU11によるソフトウェア割込みによって上記第2の所定時間(例えば10ms)毎に実行される。つまり、内部メモリに記憶された100ms分の波形データのうち10ms分の波形データに対してまとめてエフェクト処理を施す。サンプルカウンタSCaのカウント値に基づく或る時点での現サンプル番号Scxを基準にすると、それよりも適当な未来(例えば30ms位未来)の10ms分のサンプル番号の波形データ群Wt2(図5(a)参照)に対してプラグイン・エフェクト処理が施される。この場合も、波形データの入力時に付与したサンプル番号を保ったままでエフェクトをかけることができる。
制御装置10の送信処理部Tx2では、上記のようにプラグイン・エフェクト処理済で内部メモリに記憶されている波形データを、前記第1の所定時間(例えば1ms)毎に該内部メモリからDMA転送して内部の送信バッファに記憶する。このDMA転送のために、サイクルタイマCTaによって該第1の所定時間(1ms)毎にハードウェア割込みがかけられる。サンプルカウンタSCaのカウント値に基づく或る時点での現サンプル番号Scxを基準にすると、それよりも適当な未来(例えば5ms位未来)の1ms分のサンプル番号の波形データ群Wt1(図5(a)参照)が内部メモリから送信バッファにDMA転送されることになる。内部メモリに転送記憶された波形データのサンプル番号は制御装置10による各サンプルの記録時のサンプル番号であり、内部メモリから送信バッファにDMA転送される波形データもそのサンプル番号が維持され、サンプル番号の変更が行われない。
さらに、制御装置10の送信処理部Tx2では、そのサンプル番号順に従って送信バッファから複数サンプルの波形データを取り出し、1チャンネル分のデータパケットとしてパケットを作成し、その際、先頭のサンプルの波形データに対応するサンプル番号を示す情報をタイミング情報として該データパケットに付与する。ただし、送信バッファに入っている波形データは上述のように約5msだけ先行しているつまり未来のサンプル番号に対応するものであり、それに付与されるタイミング情報も、サンプルカウンタSCbが示す現サンプル番号に対応するものではなく、当該波形データそのもの本来のサンプル番号(現サンプル番号から見て未来のサンプル番号)である。
こうして、ハードディスク15からそのサンプル番号に対応する順序で読み出されて送信バッファにバッファされた波形データに、当該サンプル番号に対応するタイミング情報を付与してなるデータパケットが作成され、これがネットワークに送信される。送信バッファから波形データを取り出してデータパケットを作成する処理は、例えば、送信サイクルの1周期である125μsで行われ、その時間内で生じる複数サンプルの波形データからなるデータパケットが作成される。こうして、前述と同様に、125μs毎に複数サンプルの波形データからなるデータパケットが生成され、送信される。前述と同様、1データパケット中の複数サンプルの波形データは連続しているので、そのうち1つの(例えば先頭の)サンプルのサンプル番号をデータパケットに付与すればよく、残りのサンプルのサンプル番号もそこから特定できるので問題ない。
このように、本発明では、記録した波形データを読み出して送信し、これを受信側で再生させる場合においても、送信する波形データの持つ本来のサンプル番号(波形データの記録時に音楽機器20の側で付与したサンプル番号)に対応するタイミング情報をそのまま付与して該波形データを送信することが特徴である。すなわち、従来行なっていたような、通信遅延時間つまり受信ノードでの該波形データの受信タイミングの遅れを吸収するためのサンプルオフセット値を送信に際して加算することを行なっていない。その代わり、記憶装置(ハードディスク15あるいは内部メモリ)からの該波形データの読み出しをその本来のサンプル番号の時刻より先行して行っており、その本来のサンプル番号の時刻よりも約5ms位先行して該波形データのパケットをネットワークに送信している。これにより、通信遅延時間つまり受信ノードでの該波形データの受信タイミングの遅れを吸収している。
すなわち、送信されたデータパケットは、音楽機器20の受信処理部Rx2で受信され、その受信バッファに順次記憶される。音楽機器20の受信処理部Rx2で波形データを受信するときに行なわれる処理のタイミングチャートが図4(a)に例示されている。図中のDPRxは1つのデータパケットを受信したタイミングを示している。例えば、サンプル番号Scxよりも前の時点で受信されるデータパケットDPRxの中には、該サンプル番号Scxよりも後の(未来の)サンプル番号Scyの波形データが含まれている。なお、再生経路(音楽機器20の受信処理部Rx2)における波形データ用の受信バッファは、例えば約5ms分程度のサンプル数の波形データは確実に記憶できる容量のFIFOで構成する。例えば最高96kHzのサンプリング周波数の波形データに対応できるようにするには、512ワード分の容量を持つFIFOを使用すればよい。これに対して、前述の記録経路(制御装置10の受信処理部Rx1)における波形データ用の受信バッファには、それほどの容量は要求されない。
このように受信処理部Rx2で受信した波形データが受信バッファに順次記憶され、そして、該受信バッファは、当該音楽LANインターフェース32内のサンプルカウンタSCbのカウント値に基づく或る時点での現サンプル番号Scyになると、その現サンプル番号Scyに対応する波形データを読み出す。こうして、受信バッファに溜められた波形データがそれぞれに付与された本来のサンプル番号に対応する時刻が到来すると、順次に、該受信バッファから読み出される。読み出された波形データは適宜のリアルタイム処理が施されて、ディジタルアナログ変換器(図3のDAC29B)から出力され、サウンドシステムを介して発音される。こうして、受信ノードでは、受信したパケットに付与されたサンプル番号のサンプル時刻が到来する前に受信完了して受信バッファ内に波形データを蓄えているので、該付与されたサンプル番号のサンプル時刻の到来に合わせて、問題なく、波形データを読み出して再生することができる。
(3)演奏データの記録処理
これは、例えば、音楽機器20のMIDI入出力インターフェース28(図2)を介してMIDI等の演奏データを入力し、該音楽機器20の音楽LANインターフェース32の送信処理部Tx1で該演奏データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された制御装置10の音楽LANインターフェース31の受信処理部Rx1で受信し、該受信した演奏データを該制御装置10の記憶装置すなわちハードディスク15(図2)に記憶する処理である。例えば、MIDI出力型電子楽器におけるリアルタイムでのキーボード演奏に応じてMIDI形式の演奏データが発生され、これがMIDI入出力インターフェース28(図2)を介して音楽機器20に入力されることを想定して説明を行う。この演奏データは、ノートオンやノートオフ、あるいはコントロールチェンジ等のイベントデータであり、キーオン(又はオフ)されたノートを示すノートナンバデータや、ベロシティデータ、MIDIチャンネルデータなどを含む公知の演奏データ形式からなっていてよい。
音楽機器20では、MIDI入出力インターフェース28(図3ではMIDIin28A)から入力された演奏データを送信処理部Tx1に与える。このとき、必要に応じて、音楽機器20の内部処理によって該演奏データに対応する楽音の発生処理を同時に行うようにしてもよい。勿論、音楽機器20では発音処理は行わず、それに接続されたMIDI出力型電子楽器で発音処理を行うようにしてもよい。音楽機器20の送信処理部Tx1では、入力された演奏データを送信バッファに記憶すると共に、サンプルカウンタSCbのカウント値に基づき現サンプル番号に対応するタイミング情報を該演奏データに付加して送信バッファに記憶する。この場合に、音楽LANインタフェース32又はMIDI入出力インターフェース28又はCPU21により自動的に該タイミング情報を付与してやればよい。こうして、演奏データは、該演奏データそのものと、該演奏データに関するイベント発生時刻に相当する現サンプル番号(タイミング情報)との対で、送信バッファに記憶される。
送信処理部Tx1では、前述と同様に、送信バッファに記憶されている演奏データとタイミング情報の対を読み出して、125μs毎に演奏データのデータパケットを作成し、ネットワークに送信する。演奏データのイベントはそれほど頻繁には起こらないので、送信バッファ内に送信すべき演奏データがない場合は、勿論、データパケットを作成しないようにしてもよい。従って、一般に、演奏データ用の送信バッファは極めて小容量で済む。なお、送信する演奏データに付与するタイミング情報は、送信バッファに演奏データを書き込むときの現サンプル番号に対応するものに限らず、送信バッファから演奏データを読み出してネットワークに送り出すときの現サンプル番号に対応するものであってもよい。このように、演奏データを送信する場合も、送信する演奏データに付与された現サンプル番号に対応するタイミング情報をそのまま付加して該演奏データを送信する。
送信された演奏データのデータパケットは、制御装置10の受信処理部Rx1で受信され、その受信バッファ(FIFO)に取り込まれる。受信処理部Rx1では、受信バッファ(FIFO)に記憶された演奏データ及びタイミング情報を随時又は所定時間(例えば1ms)毎に内部メモリの所定領域に設定された受信データバッファに転送する。受信処理部Rx1での演奏データの受信処理の一例として、図6(a)を示す。図6(a)は制御装置10の音楽LANインターフェース31で行われる演奏データ受信イベント処理の一例である。この図6(a)は、送信された演奏データのデータパケットが受信バッファ(FIFO)に取り込まれたとき、その都度、受信イベント処理として行われる。ステップS1では受信バッファ(FIFO)に取り込まれた演奏データとそれに付属するタイミング情報を読み出し、ステップS2では該読み出した演奏データとそれに付属するタイミング情報を内部メモリ(RAM)上の受信データバッファに転送する。
制御装置10では、上記のように受信されて内部メモリの受信データバッファに記憶された演奏データのタイミング情報に対して、例えば10ms毎のソフトウェア割込みによって、該タイミング情報をテンポマップに基づく第2のタイミング情報に変換する処理を行う。図6(b)は制御装置10のCPU11によって演奏データの記録/再生のために行われる10ms毎の割込み処理の一例を示す。この図6(b)における受信時の処理について説明すると、ステップS3で、内部メモリの受信データバッファが空か、つまり未処理のデータが記憶されていないかをチェックする。内部メモリの受信データバッファが空でない、つまり未処理のデータがある場合は、ステップS4に行き、該タイミング情報をテンポマップに基づく第2のタイミング情報に変換する処理を行う。すなわち、受信データバッファに記憶されている演奏データに付与されているタイミング情報(サンプル番号)を、テンポマップに従い、拍を基準とするタイムスタンプ(第2のタイミング情報)に変換する。なお、テンポマップでは、公知のように、レコーダにおいて波形データのサンプル番号と演奏データの演奏位置(何小節目の何拍目のどのあたり)とを対応付けるための情報である。演奏データのタイミングに要求される精度は、波形データほど高くなくてよく、また、テンポに応じて変化するので、タイミング情報をテンポマップに従って変換しているのである。次のステップS5では、変換されたタイムスタンプ(第2のタイミング情報)を伴う演奏データを、内部メモリ(RAM)上の所定の記録領域に書き込む。
更に、制御装置10では、上記のように内部メモリ(RAM)上の所定の記録領域に書き込まれた変換されたタイムスタンプ(第2のタイミング情報)を伴う演奏データを、該内部メモリから読み出してハードディスク15に転送して書き込む処理を、CPU11によるソフトウェア割込みによって第3の所定時間(例えば100ms)毎に実行する。
(4)演奏データの再生処理
これは、制御装置10の記憶装置すなわちハードディスク15に記憶された演奏データを読み出し、該制御装置10の音楽LANインターフェース31の送信処理部Tx2(図3)で該読み出した演奏データのデータパケットを作成してネットワークに送信し、これをネットワークに接続された音楽機器20の音楽LANインターフェース32の受信処理部Rx2(図3)で受信し、該受信した演奏データを該音楽機器20で再生する処理である。
制御装置10では、まず、再生開始に先行して(例えば前記と同様に500ms位先行して)、送信しようとする演奏データのファイル(例えば1曲分のファイル)をハードディスク15から適宜一括して読み出して、内部メモリの所定送信領域に転送記憶する。そして、図6(b)に示す10ms毎の割込み処理によって、該所定送信領域の演奏データを順次読み出して送信処理部Tx2の送信バッファ(FIFO)に順次転送する。演奏イベントは波形サンプルタイミングのように頻繁には起こらないので、送信バッファ(FIFO)への転送は、該送信バッファ(FIFO)の空き具合(送信済み具合)を見ながら、適宜行うようにしてよい。また、送信処理部Tx2における演奏データ用の送信バッファ(FIFO)も小容量であってよい。この演奏データ用の送信バッファ(FIFO)が保持しうる演奏イベントの最大数をImaxとする。このImaxは、少なくとも10msの間に起こりうる演奏イベントの最大数に相当していればよく、例えば数乃至10イベント程度の数であっても用が足りると思われる。
図6(b)のステップS11では、内部メモリの所定送信領域から送信処理部Tx2の送信バッファ(FIFO)に既に転送済みであるが、まだ未再生の(まだ送信せずに送信バッファで保持している)演奏データのイベント数を検出し、この検出した数nをレジスタにセットする。ステップS12では、演奏データ用の送信バッファ(FIFO)が保持可能な演奏イベントの最大数Imaxから上記検出した未再生イベント数nを引き、該送信バッファ(FIFO)に追加転送すべきイベント数xを求める。x=0ではないことをステップS13で判定すると、ステップS14で、内部メモリの所定送信領域に記憶されている未転送分の演奏データのうち先頭のx個のイベントの演奏データとそれに付加されているタイムスタンプ(第2のタイミング情報)を読み出す。ステップS15では、読み出されたx個イベントの演奏データのタイムスタンプを、テンポマップに従い、それぞれサンプル番号に変換する。例えば、テンポマップに従い所定の基準サンプル番号(例えば曲の再生開始時刻に対応するサンプル番号を基準サンプル番号とする)を参照して各タイムスタンプを固有のサンプル番号に変換すればよい。ステップS16では、変換されたサンプル番号(あるいはそれに対応するタイミング情報)を持つx個イベントの演奏データを、送信処理部Tx2の送信バッファ(FIFO)の空き領域に書き込む。なお、この10ms割込み時において、x=0(つまり送信処理部Tx2の送信バッファが未送信の演奏データで一杯である)ならば、ステップS14〜S16の処理は行わない。なお、送信処理部Tx2の送信バッファ(FIFO)への演奏データの転送の仕方は、図6(b)に示すような追加可能なイベント数xを求めて可能な限りどんどん転送する例に限らず、所定時間区間分だけ未来のイベントの演奏データを転送するよう時間管理して転送するようにしてもよい。
こうして、送信処理部Tx2の送信バッファ(FIFO)に書き込まれた各演奏データ毎のサンプル番号は、該演奏データの実際の再生イベント時刻のサンプル番号に対応するものとされる。記憶装置つまりハードディスク15及び内部メモリからの該演奏データの読み出しは、実際の再生イベントタイミングに先行して行われるので、これらの演奏データに付属するサンプル番号は、サンプルカウンタSCaがカウントしている現サンプル番号よりも未来のサンプル番号を示している。制御装置10の送信処理部Tx2では、そのサンプル番号順(再生順)に従って送信バッファから1又は複数イベント分の演奏データとそれに付与されたサンプル番号とを取り出して演奏データのデータパケットを作成し、これをネットワークに送信する。送信バッファから波形データを取り出してデータパケットを作成する処理は、送信サイクルの1周期である125μs毎に行われる。勿論、送信すべき演奏データが送信バッファに無い場合は演奏データのデータパケットは作成されない。
このように、記録した演奏データを読み出して送信し、これを受信側で再生させる場合においても、送信する演奏データの再生イベント時刻に対応するサンプル番号に対応するタイミング情報を付与して該演奏データを送信する。
送信された演奏データのデータパケットは、音楽機器20の受信処理部Rx2で受信され、その演奏データ用の受信バッファに順次記憶される。該受信バッファでは、当該音楽LANインターフェース32内のサンプルカウンタSCbのカウント値に基づく或る時点での現サンプル番号になると、音楽LANインターフェース32がCPU21にその旨を通知し、CPU21によりその現サンプル番号に対応するサンプル番号が付与された演奏データを読み出す。こうして、受信バッファに溜められた演奏データがそれぞれに付与されたサンプル番号に対応する時刻が到来すると、順次に、該受信バッファから読み出される。音楽機器20では、読み出された演奏データの指示する演奏イベントに係る楽音再生(発音開始または発音終了)処理又は演奏再生状態の制御処理をリアルタイムに行う。
上記実施例では、転送に際して音楽データに付与するタイミング情報としてサンプル番号そのものからなる情報を用いているが、これに限らず、当該サンプル番号に係るサンプル位置の時刻つまりサンプル時刻を示す情報であってもよく、要するに時系列的なサンプル番号の時間関係を明らかにすることができる情報であればよい。
以上の通り、この発明によれば、記録系統にあっては、音楽機器から送信される音楽データには現サンプル番号に対応するタイミング情報が付与され、制御装置で受信された音楽データは該音楽データに付与されたタイミング情報に従う順序で記憶手段に記憶される。従って、この音楽システムで転送されてきた音楽データを受け手側で記憶する際に、従来のようなオフセット値相当分の時間遅れを持つサンプル時刻に対応して記憶されることがなく、実際のサンプル番号に相当するサンプル時刻に対応して記憶されることになり、記録に際しての遅延時間が存在しなくなる。従って、記録させるために音楽データを転送する毎にタイミング情報が付け直されるというような不都合が起こらない。
また、再生系統にあっては、制御装置の記憶手段からは現サンプル番号より後の(つまり未来の)再生順の音楽データが読み出され、これが該再生順に応じた現サンプル番号より後の(つまり未来の)サンプル番号に対応するタイミング情報を付与されて送信されるので、このタイミング情報には従来のようなオフセット値相当分の時間遅れが存在せず、該音楽データの本来のサンプル番号に対応するタイミング情報が維持される。受信側の音楽機器では、適宜の転送時間遅れをもって、この音楽データのパケットを受け取るのであるが、該受信した音楽データそのものが送信時の現サンプル番号より後の再生順に対応するもの(未来のサンプル番号に対応するもの)であり、それに付与されているタイミング情報も送信時の現サンプル番号より後のサンプル番号(未来のサンプル番号)を示しているので、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理することで、何の不都合もなく、再生を行うことができる。このように、この音楽システムで転送されてきた音楽データを受け手側で再生する際に、従来のような音楽データの本来のサンプル時刻からオフセット値相当分の時間遅れのサンプル時刻で再生されることがなく、音楽データの本来のサンプル時刻で再生することとなり、再生に際しての遅延時間が存在しなくなる。従って、再生(又は記録)させるために音楽データを転送する毎に通信遅延時間分のオフセット値が重複加算されてしまうような不都合が起こらない。
また、波形データ(サンプルデータ)と演奏データ(イベントデータ)とを一緒に転送して再生又は記録する場合にも、当該波形データ及び演奏データの本来のサンプル番号に対応するタイミング情報を付加して転送処理するので、それぞれの波形データ及び演奏データの本来のサンプル番号に対応して適切に再生又は記録することができるので、共通のサンプル番号進行に従って、両者の時間関係にずれを来すことなく、不都合のない処理を行うことができる。
この発明に係る音楽システムの基本的なネットワーク構成例を示すブロック図。 該音楽システムを構成するノードの一例として制御装置と音楽機器のハード構成例を示すブロック図。 図2における制御装置と音楽機器との間における音楽データの送受に関連する処理例を機能的に示す図。 (a)は音楽機器の受信処理部で波形データを受信するときに行なわれる処理を例示的に説明するタイミングチャートで、(b)は該音楽機器の送信処理部で波形データを送信するときに行なわれる処理を例示的に説明するタイミングチャート。 (a)は制御装置の送信処理部で波形データを送信するときに行なわれる処理を例示的に説明するタイミングチャートで、(b)は制御装置の受信処理部で波形データを受信するときに行なわれる処理を例示的に説明するタイミングチャート。 (a)は制御装置の受信処理部での演奏データの受信処理の一例を示すフロー図で、(b)は該制御装置のCPUによって演奏データの記録/再生のために行われる10ms毎の割込み処理の一例を示すフロー図。
符号の説明
10 制御装置(例えばパーソナルコンピュータPC)
20 音楽機器
11,21 CPU
12,22 フラッシュメモリ
13,23 RAM
15 ハードディスク
28 MIDI入出力インターフェース
29 波形入出力インターフェース
30 波形処理部
31,32 音楽LANインターフェース
CTa、CTb サイクルタイマ
SCa,SCb サンプルカウンタ
Tx1,Tx2 送信処理部
Rx1,Rx2 受信処理部

Claims (8)

  1. 演奏又は波形の入力を行う機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、
    前記音楽機器が、時間経過に従って現サンプル番号を進行させる手段と、入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して送信する制御手段とを具備し、
    前記制御装置が、記憶手段と、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる制御手段とを具備する
    ことを特徴とする音楽システム。
  2. 前記制御装置の制御手段は、前記受信した音楽データが波形データならば、前記タイミング情報の示すサンプル番号に対応づけて該波形データを前記記憶手段に記憶させることを特徴とする請求項1に記載の音楽システム。
  3. 前記制御装置の制御手段は、前記受信した音楽データが演奏データならば、前記タイミング情報をテンポマップに基づく第2のタイミング情報に変換し、該第2のタイミング情報を付加して該演奏データを前記記憶手段に記憶させることを特徴とする請求項1に記載の音楽システム。
  4. 音楽データ再生機能を有する音楽機器と、該音楽機器に対してネットワークを介して結合する制御装置とを含む音楽システムであって、
    前記制御装置が、順次に再生されるべき音楽データを記憶する記憶手段と、時間経過に従って現サンプル番号を進行させる手段と、現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与して送信する制御手段を具備し、
    前記音楽機器が、前記送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する制御手段を具備する
    ことを特徴とする音楽システム。
  5. 前記制御装置の記憶手段は、順次の各サンプル番号に対応して波形データを記憶しており、前記制御装置の制御手段は、現サンプル番号より後のサンプル番号に対応する波形データを前記記憶手段から読み出し、該読み出した波形データに対して当該後のサンプル番号に対応するタイミング情報を付与して送信し、
    前記音楽機器は、時間経過に従って現サンプル番号を進行させる手段を具備し、前記音楽機器の制御手段は、前記受信した音楽データが波形データならば、現サンプル番号の進行が前記タイミング情報の示すサンプル番号に対応するものとなったとき該波形データを再生することを特徴とする請求項4に記載の音楽システム。
  6. 前記制御装置の記憶手段は、演奏イベント順に演奏データを記憶しており、前記制御装置の制御手段は、現サンプル番号より後のイベント時刻に対応する演奏データを前記記憶手段から読み出し、該読み出した演奏データに対して当該イベント時刻に対応する現サンプル番号より後のサンプル番号に対応するタイミング情報を付与して送信し、
    前記音楽機器は、時間経過に従って現サンプル番号を進行させる手段を具備し、前記音楽機器の制御手段は、前記受信した音楽データが演奏データならば、現サンプル番号の進行が前記タイミング情報の示すサンプル番号に対応するものとなったとき該演奏データに係る演奏イベントを再生することを特徴とする請求項4に記載の音楽システム。
  7. 演奏又は波形の入力を行う機能と音楽データ再生機能とを有する音楽機器における音楽データ送受装置であって、
    時間経過に従って現サンプル番号を進行させる手段と、
    入力した演奏又は波形に対応する音楽データに、現サンプル番号に対応するタイミング情報を付与して他の装置に送信する第1の制御手段と、
    他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従うタイミングで再生処理する第2の制御手段と
    を具備する音楽データ送受装置。
  8. 順次に再生されるべき音楽データを記憶する記憶手段を有する制御装置における音楽データ送受装置であって、
    時間経過に従って現サンプル番号を進行させる手段と、
    現サンプル番号より後の再生順の音楽データを前記記憶手段から読み出し、該読み出した音楽データに該再生順に応じたサンプル番号に対応するタイミング情報を付与して他の装置に送信する第1の制御手段と、
    他の装置から送信された音楽データを受信し、該受信した音楽データを該音楽データに付与されたタイミング情報に従う順序で前記記憶手段に記憶させる第2の制御手段と
    を具備する音楽データ送受装置。
JP2003412292A 2003-12-10 2003-12-10 音楽システム及び音楽データ送受装置 Expired - Fee Related JP3861873B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003412292A JP3861873B2 (ja) 2003-12-10 2003-12-10 音楽システム及び音楽データ送受装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003412292A JP3861873B2 (ja) 2003-12-10 2003-12-10 音楽システム及び音楽データ送受装置

Publications (2)

Publication Number Publication Date
JP2005173136A true JP2005173136A (ja) 2005-06-30
JP3861873B2 JP3861873B2 (ja) 2006-12-27

Family

ID=34732777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003412292A Expired - Fee Related JP3861873B2 (ja) 2003-12-10 2003-12-10 音楽システム及び音楽データ送受装置

Country Status (1)

Country Link
JP (1) JP3861873B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007025410A (ja) * 2005-07-20 2007-02-01 Yamaha Corp Midiデータ送信装置及びプログラム
JP2007235476A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 音楽ネットワークシステム
JP2007233006A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 集団音楽教習システム
JP2008233558A (ja) * 2007-03-20 2008-10-02 Yamaha Corp 電子楽器及びプログラム
JP2008233557A (ja) * 2007-03-20 2008-10-02 Yamaha Corp 電子楽器及びプログラム
JP2009020297A (ja) * 2007-07-11 2009-01-29 Yamaha Corp 電子音楽装置及びプログラム
JP2019168517A (ja) * 2018-03-22 2019-10-03 カシオ計算機株式会社 電子楽器、方法及びプログラム
CN111991802A (zh) * 2020-07-17 2020-11-27 北京达佳互联信息技术有限公司 控制方法、装置、服务器及存储介质
US20210112106A1 (en) * 2018-02-05 2021-04-15 D&M Holdings, Inc. System and Method for Synchronizing Networked Rendering Devices

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4626429B2 (ja) * 2005-07-20 2011-02-09 ヤマハ株式会社 Midiデータ送信装置及びプログラム
JP2007025410A (ja) * 2005-07-20 2007-02-01 Yamaha Corp Midiデータ送信装置及びプログラム
JP2007235476A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 音楽ネットワークシステム
JP2007233006A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 集団音楽教習システム
JP4677929B2 (ja) * 2006-02-28 2011-04-27 ヤマハ株式会社 集団音楽教習システム
JP2008233558A (ja) * 2007-03-20 2008-10-02 Yamaha Corp 電子楽器及びプログラム
JP2008233557A (ja) * 2007-03-20 2008-10-02 Yamaha Corp 電子楽器及びプログラム
JP2009020297A (ja) * 2007-07-11 2009-01-29 Yamaha Corp 電子音楽装置及びプログラム
US20210112106A1 (en) * 2018-02-05 2021-04-15 D&M Holdings, Inc. System and Method for Synchronizing Networked Rendering Devices
US11876847B2 (en) * 2018-02-05 2024-01-16 D&M Holding System and method for synchronizing networked rendering devices
JP2019168517A (ja) * 2018-03-22 2019-10-03 カシオ計算機株式会社 電子楽器、方法及びプログラム
JP7124371B2 (ja) 2018-03-22 2022-08-24 カシオ計算機株式会社 電子楽器、方法及びプログラム
CN111991802A (zh) * 2020-07-17 2020-11-27 北京达佳互联信息技术有限公司 控制方法、装置、服务器及存储介质
CN111991802B (zh) * 2020-07-17 2023-07-07 北京达佳互联信息技术有限公司 控制方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
JP3861873B2 (ja) 2006-12-27

Similar Documents

Publication Publication Date Title
US6477181B1 (en) Data communication method and system
JP3915585B2 (ja) データ生成方法、プログラム、記録媒体およびデータ生成装置
US5913258A (en) Music tone generating method by waveform synthesis with advance parameter computation
EP0762684A2 (en) Data transmission method for digital audio signals
USRE43076E1 (en) Waveform processing apparatus with versatile data bus
JP3900522B2 (ja) コマンド同期確立システムおよび方法
JP3861873B2 (ja) 音楽システム及び音楽データ送受装置
JP3552667B2 (ja) 通信システム及び通信プログラムを記録した記録媒体
US7515979B2 (en) Automix system
JP3451971B2 (ja) パケット転送装置
JP3351385B2 (ja) シリアルデータ送受信方法及び装置
JP3741047B2 (ja) 音源装置
US20210134256A1 (en) Midi events synchronization system, method and device
JP3451973B2 (ja) パケット転送装置
US11418883B2 (en) Audio interface apparatus and recording system
JP2000253091A (ja) サンプルデータの送信方法、受信方法、伝送方法、及びその送信装置、受信装置、伝送装置
JP3716845B2 (ja) ネットワークに接続される信号処理装置
JP4692056B2 (ja) 音波形生成装置、及び、音波形の波形生成データのデータ構造
JP3627743B2 (ja) データ伝送システムにおけるノード
JP3496562B2 (ja) パケット転送装置
JP3977124B2 (ja) データ伝送方式
JP3451972B2 (ja) パケット転送装置
JP2576323B2 (ja) 演奏記録再生装置
JP3815353B2 (ja) マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置
JP2004102128A (ja) 波形データ処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060812

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: 20060905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060918

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20101006

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees