(57)【特許請求の範囲】
【請求項１】
パケット単位の第１コンテンツデータにタイムスタンプを順次付加して出力する第１コンテンツデータ出力手段と、
上記タイムスタンプと同一の値でなる待ちタイムスタンプを第１入力端子に設定したうえで、当該待ちタイムスタンプと上記第１コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第１コンテンツデータを上記第１入力端子を介して入力し、上記待ちタイムスタンプを第２入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第１コンテンツデータに対応するパケット単位の第２コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第２コンテンツデータを外部から上記第２入力端子を介して入力する入力手段と、
上記タイムスタンプに基づいて上記第１コンテンツデータと上記第２コンテンツデータとを時間的に同期させるように調整するタイミング補正手段と
を具え、
上記入力手段は、上記タイミング補正手段による処理中に、外部から第３コンテンツデータを追加入力するとき、当該第３コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第３入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第３コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第３コンテンツデータを入力し、
上記タイミング補正手段は、上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータを時間的に同期させるように調整する
コンテンツ編集装置。
【請求項２】
上記コンテンツ編集装置は、
上記タイミング補正手段によって時間的に同期した上記第１コンテンツデータと上記第２コンテンツデータと上記第３コンテンツデータとを互いに対応付けて所定の記憶手段に記憶する記憶制御手段と
を具える請求項１に記載のコンテンツ編集装置。
【請求項３】
上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータは、曲を構成する楽曲毎にそれぞれ対応したリアルタイム性が要求されるオーディオデータである
請求項１に記載のコンテンツ編集装置。
【請求項４】
上記入力手段は、上記第１入力端子、上記第２入力端子又は上記第３入力端子を介した接続状態が解消されたとき、当該解消された入力を無効にする
請求項１に記載のコンテンツ編集装置。
【請求項５】
第１コンテンツデータ出力手段により、パケット単位の第１コンテンツデータにタイムスタンプを順次付加して出力する第１コンテンツデータ出力ステップと、
上記タイムスタンプと同一の値でなる待ちタイムスタンプを入力手段の第１入力端子に設定したうえで、当該待ちタイムスタンプと上記第１コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第１コンテンツデータを上記第１入力端子を介して入力し、上記待ちタイムスタンプを上記入力手段の第２入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第１コンテンツデータに対応するパケット単位の第２コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第２コンテンツデータを外部から上記第２入力端子を介して入力する入力ステップと、
タイミング補正手段により、上記タイムスタンプに基づいて上記第１コンテンツデータと上記第２コンテンツデータとを時間的に同期させるように調整するタイミング補正ステップと
を有し、
上記入力ステップでは、上記タイミング補正手段による処理中に、外部から第３コンテンツデータを追加入力するとき、当該第３コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第３入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第３コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第３コンテンツデータを入力し、
上記タイミング補正ステップでは、上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータを時間的に同期させるように調整する
コンテンツ編集方法。
【請求項６】
コンピュータに、
第１コンテンツデータ出力手段により、パケット単位の第１コンテンツデータにタイムスタンプを順次付加して出力する第１コンテンツデータ出力ステップと、
上記タイムスタンプと同一の値でなる待ちタイムスタンプを入力手段の第１入力端子に設定したうえで、当該待ちタイムスタンプと上記第１コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第１コンテンツデータを上記第１入力端子を介して入力し、上記待ちタイムスタンプを上記入力手段の第２入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第１コンテンツデータに対応するパケット単位の第２コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第２コンテンツデータを外部から上記第２入力端子を介して入力する入力ステップと、
タイミング補正手段により、上記タイムスタンプに基づいて上記第１コンテンツデータと上記第２コンテンツデータとを時間的に同期させるように調整するタイミング補正ステップと
を実行させ、
上記入力ステップでは、上記タイミング補正手段による処理中に、外部から第３コンテンツデータを追加入力するとき、当該第３コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第３入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第３コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第３コンテンツデータを入力し、
上記タイミング補正ステップでは、上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータを時間的に同期させるように調整する
ためのプログラムを記録したプログラム格納媒体。
【請求項７】
ネットワークを介して互いに接続された第１の情報処理装置及び第２の情報処理装置によって構成されるコンテンツ編集システムにおいて、
上記第１の情報処理装置は、
パケット単位の第１コンテンツデータにタイムスタンプを順次付加して出力するタイムスタンプ付加手段と、
上記タイムスタンプと同一の値でなる待ちタイムスタンプを第１入力端子に設定したうえで、当該待ちタイムスタンプと上記第１コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第１コンテンツデータを上記第１入力端子を介して入力し、上記待ちタイムスタンプを第２入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第１コンテンツデータに対応するパケット単位の第２コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第２コンテンツデータを上記第２の情報処理装置から上記第２入力端子を介して入力する入力手段と、
上記タイムスタンプに基づいて上記第１コンテンツデータと上記第２コンテンツデータとを時間的に同期させるように調整するタイミング補正手段と
を具え、
上記入力手段は、上記タイミング補正手段による処理中に、外部から第３コンテンツデータを追加入力するとき、当該第３コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第３入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第３コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第３コンテンツデータを入力し、
上記タイミング補正手段は、上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第１コンテンツデータ、上記第２コンテンツデータ及び上記第３コンテンツデータを時間的に同期させるように調整し、
上記第２の情報処理装置は、
上記第１コンテンツデータに対応するパケット単位の第２コンテンツデータに対して、上記第１コンテンツデータの上記タイムスタンプと同一の値でなるタイムスタンプを順次付加して上記第１の情報処理装置へ出力するコンテンツデータ出力手段と
を具えるコンテンツ編集システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムに関し、例えば各遠隔地からインターネットを介して送信されてきたそれぞれのコンテンツデータの同期を保証することによりリアルタイム性が要求される例えば音楽データ等のコンテンツの編集を行うコンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムに適用して好適なものである。
【０００２】
【従来の技術】
従来、パーソナルコンピュータにおいては、処理能力の向上に伴って音楽データやビデオデータ等の種々のコンテンツデータに対する編集処理を容易に実行し得るようになされており、ユーザの様々な編集処理の要求を十分に実現している。
【０００３】
またパーソナルコンピュータは、処理能力の向上によって例えばレコーディングを行うときに必要なミキサやレコーダ等のディジタル信号処理部分をソフトウェアで実行することが可能となっており、コンテンツデータの編集を容易に実行し得るようになされている。
【０００４】
従ってパーソナルコンピュータは、当該パーソナルコンピュータに接続された複数のマイクを介してギターのオーディオデータ、ベースのオーディオデータ、ピアノのオーディオデータ及びドラムのオーディオデータ等の各種オーディオデータをそれぞれ取り込み、これらを内蔵のソフトウェアによって構成されるレコーダによってハードディスクに一旦記録し、ミキサによって所望の音質に調整した後に合成することにより２ｃｈ（Ｒチャンネル及びＬチャンネル）の録音用データを生成し得るようになされている。
【０００５】
【発明が解決しようとする課題】
ところでかかる構成のパーソナルコンピュータにおいては、例えば複数種類のミキサ機能を同時に用いてミキシング調整を行う必要がある場合、ＣＰＵ（Central Processing Unit ）の処理能力の限界から、ミキシング調整を行っている間には他のレコーダやエフェクタを動作させることができず、所望音質の録音用データを生成し得ないという問題があった。
【０００６】
またパーソナルコンピュータにおいては、例えば東京のスタジオに設置された当該パーソナルコンピュータと、海外のニューヨーク、ロンドン、パリにそれぞれ設置された他のパーソナルコンピュータとの間でオーディオデータを授受し、最終的に東京のスタジオで２ｃｈの録音用データを生成して収録を行う場合、まず東京のスタジオからニューヨーク、ロンドン、パリにそれぞれ設置された他のパーソナルコンピュータに対して予め収録しておいたドラムのオーディオデータを再生して伝送する。
【０００７】
ニューヨークに設置された他のパーソナルコンピュータは、東京のパーソナルコンピュータから伝送されたドラムのオーディオデータに基づいてドラムの演奏音を再生してスピーカから出力し、当該ドラムの演奏音に合わせて演奏されたギターのオーディオデータをマイクを介して取り込み、これを東京のスタジオに設置されたパーソナルコンピュータにインターネットを介して送り返す。
【０００８】
同様に、ロンドン及びパリに設置された他のパーソナルコンピュータも、東京のパーソナルコンピュータから伝送されたドラムのオーディオデータに基づいてドラムの演奏音を再生してスピーカから出力し、当該ドラムの演奏音に合わせて演奏されたピアノ及びベースのオーディオデータをマイクを介してそれぞれ取り込み、これらを東京のスタジオに設置されたパーソナルコンピュータにインターネットを介して送り返す。
【０００９】
東京のスタジオに設置されたパーソナルコンピュータは、ニューヨーク、ロンドン及びパリにそれぞれ設置された他のパーソナルコンピュータからインターネットを介してそれぞれ送り返されたギター、ピアノ及びベースのオーディオデータをそれぞれ取り込むが、このときこれらのオーディオデータは往復の伝送路遅延や、他のパーソナルコンピュータでの信号処理時間分の遅延が生じていると共に、これらの遅延時間がそれぞれ予測できない状態にある。
【００１０】
従って東京のパーソナルコンピュータは、ドラムのオーディオデータを再生したことにより得られたドラムの演奏音と、ニューヨーク、ロンドン、パリの他のパーソナルコンピュータから送り返されてきたギター、ピアノ及びベースの演奏音との間には伝送路遅延分のタイミングのずれがそれぞれ生じてしまい、リアルタイム性が要求される音楽の録音用データを生成することは困難であるという問題があった。
【００１１】
本発明は以上の点を考慮してなされたもので、複数の端末間でリアルタイム性が要求されるコンテンツデータの時間的なタイミングずれを補正して正確に編集し得るコンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムを提案しようとするものである。
【００１２】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、パケット単位の第１コンテンツデータにタイムスタンプを順次付加して出力する第１コンテンツデータ出力手段と、タイムスタンプと同一の値でなる待ちタイムスタンプを第１入力端子に設定したうえで、当該待ちタイムスタンプと第１コンテンツデータに付加されたタイムスタンプとが一致したとき、第１コンテンツデータを第１入力端子を介して入力し、待ちタイムスタンプを第２入力端子に設定したうえで、タイムスタンプと同一の値でなるタイムスタンプが付加された第１コンテンツデータに対応するパケット単位の第２コンテンツデータにおけるタイムスタンプと待ちタイムスタンプとが一致したとき、第２コンテンツデータを外部から第２入力端子を介して入力する入力手段と、タイムスタンプに基づいて第１コンテンツデータと第２コンテンツデータとを時間的に同期させるように調整するタイミング補正手段とを具え、入力手段は、タイミング補正手段による処理中に、外部から第３コンテンツデータを追加入力するとき、当該第３コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第３入力端子に設定し、当該設定した待ちタイムスタンプと第３コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ第３コンテンツデータを入力し、タイミング調整手段は、第１コンテンツデータ、第２コンテンツデータ及び第３コンテンツデータにそれぞれ付加されているタイムスタンプに基づいて第１コンテンツデータ、第２コンテンツデータ及び第３コンテンツデータを時間的に同期させるように調整することにより、最大遅れ時間の経過後には第１コンテンツデータ、第２コンテンツデータ及び第３コンテンツデータのタイムスタンプが全て揃って時間的に同期させるように確実に調整し得ると共に、最大遅れ時間が経過するまでは第１コンテンツデータ及び第２コンテンツデータを時間的に同期させるように調整することを継続し得る。
【００１３】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【００１４】
（１）遠隔地間レコーディングシステムの全体構成
図１において、１は全体として遠隔地間レコーディングシステムを示し、例えば東京に設置されたパーソナルコンピュータ３に対して、遠隔地であるニューヨークに設置されたパーソナルコンピュータ４がインターネット２を介して互いに接続されている。
【００１５】
この場合、東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４とは、インターネット２を介して互いにＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol ）のプロトコルでデータ通信を行うようになされており、オーディオデータやビデオデータ等のリアルタイム性が要求されるコンテンツデータをパケット単位で互いに送受信し得るようになされている。
【００１６】
この遠隔地間レコーディングシステム１では、音楽制作環境においてオーディオデータに関するレコーディング編集処理を東京のパーソナルコンピュータ３及びニューヨークのパーソナルコンピュータ４間で実行する場合を一例として以下説明する。
【００１７】
東京のパーソナルコンピュータ３は、例えばドラムのオーディオデータ及びピアノのオーディオデータを予め内蔵のハードディスク（図示せず）に記憶しており、当該ドラム及びピアノのオーディオデータを読み出し、インターネット２を介してニューヨークのパーソナルコンピュータ４へ伝送する。
【００１８】
ニューヨークのパーソナルコンピュータ４は、インターネット２を介して東京のパーソナルコンピュータ３から伝送されたドラム及びピアノのオーディオデータに基づいてドラム再生音及びピアノ再生音を生成し、これをスピーカ４Ｃから出力する。
【００１９】
このときニューヨークのパーソナルコンピュータ４は、演奏者（図示せず）によりドラム及びピアノの再生音に合わせて演奏されたギターのオーディオ信号をマイク４Ａ及び４Ｂを介して取り込んだ後にディジタルのオーディオデータに変換し、これをインターネット２を介して東京のパーソナルコンピュータ３へ伝送する。
【００２０】
東京のパーソナルコンピュータ３は、ニューヨークのパーソナルコンピュータ４から伝送されてきたギターのオーディオデータを、ドラム及びピアノのオーディオデータに自動的にタイミングを合わせて一旦記憶した後、ミキシングすることにより例えばＣＤ（Compact Disc）に記録するための２ｃｈ（Ｌチャンネル及びＲチャンネル）の録音用データを生成するようになされている。
【００２１】
ところで、実際にドラム及びピアノのオーディオデータがニューヨークのパーソナルコンピュータ４に到達した時点で、東京のパーソナルコンピュータ３がドラム及びピアノのオーディオデータを送信した時から伝送路上での遅延が既に発生し、パーソナルコンピュータ４から伝送されたギターのオーディオデータが東京のパーソナルコンピュータ３に到達した時点でも伝送路上での遅延が発生しており、さらにパーソナルコンピュータ４における信号処理時間分の遅延も発生している。
【００２２】
従って東京のパーソナルコンピュータ３は、ニューヨークのパーソナルコンピュータ４からギターのオーディオデータを受信した時点で、既にドラム及びピアノのオーディオデータを伝送したときから往復分の伝送路遅延と信号処理時間分の遅延が生じているので、当該遅延によるタイミングのずれを補正することにより、遠隔地間においても同時並行的にレコーディング処理を実行してＣＤに記録するための２ｃｈの録音用データを生成し得るようになされている。以下、遅延のタイミング補正を含めた遠隔地間レコーディングシステム１について詳述する。
【００２３】
（１−１）パーソナルコンピュータの回路構成
図２に示すように、パーソナルコンピュータ３は当該パーソナルコンピュータ３を統括的に制御すると共に各楽器毎のオーディオデータを編集して２ｃｈの録音用データを生成するＣＰＵ（Central Processing Unit ）１０に対して、ハードディスクドライブ（ＨＤＤ）１１、ＲＡＭ（Random Access Memory）１２、ＴＣＰ／ＩＰのプロトコルでニューヨークのパーソナルコンピュータ４とインターネット２を介してデータ通信を行うための通信インターフェース１３、外部入力端子１４、外部出力端子１５及びモニタ１６がバス１７を介して接続されている。
【００２４】
この場合、外部入力端子１４には例えばマイク３Ａ及び３Ｂ（図１）が接続され、外部出力端子１５には例えばスピーカ３Ｃが接続される。従ってパーソナルコンピュータ３は、マイク３Ａ及び３Ｂを介してボーカルの音声を集音し、録音用データに重ねて再度録音することも可能である。
【００２５】
ハードディスクドライブ１１には、例えばＷｉｎｄｏｗｓ９８（ Microsoft社、商標）等のオペレーティングシステムプログラムや、本発明における遠隔地間レコーディング処理を実行するためのレコーディング処理プログラム（後述する）等の各種アプリケーションプログラムが格納されている。
【００２６】
ＣＰＵ１０は、ハードディスクドライブ１１に格納された各種プログラムを適宜読み出し、これをＲＡＭ１２に展開して実行することにより種々の処理を実行し、当該処理結果をモニタ１６に表示するようになされている。
【００２７】
なおパーソナルコンピュータ４についても、パーソナルコンピュータ３と同様の回路構成であり、付加された番号（２１０〜２１７）がパーソナルコンピュータ３とは異なるだけなので、ここでは説明を省略する。
【００２８】
（２）遠隔地間レコーディング処理
この場合の遠隔地間レコーディングシステム１（図１）においては、主に東京のパーソナルコンピュータ３を中心として遠隔地間レコーディング処理を制御する場合を一例として説明する。
【００２９】
因みに遠隔地間レコーディングシステム１では、東京のパーソナルコンピュータ３ではなくニューヨークに設置されたパーソナルコンピュータ４によっても遠隔地間レコーディング処理を制御することが可能なシステムであり、いずれがマスタで、いずれがスレーブとなっても差し支えない。
【００３０】
（２−１）遠隔地間接続処理
まず東京のパーソナルコンピュータ３（図２）は、電源ボタンの投入に応じて起動した後に遠隔地間レコーディング処理を行うための命令が与えられると、ＣＰＵ１０の制御によりＨＤＤ１１のハードディスクからレコーディング処理プログラムを読み出してＲＡＭ１２に展開する。
【００３１】
ここで、図３に示すようにレコーディング処理プログラム３０は、ワークスペース３１、ＩＯ（In-Out）マネージャ３２、ＤＳＰ（Digital Signal Processor）プラグイン３３Ａ〜３３Ｎ及びＧＵＩ（Graphical User Interface）プラグイン３４Ａ〜３４Ｎと呼ばれる４種類のオブジェクトが階層的に互いに連携して構成されている。
【００３２】
従ってパーソナルコンピュータ３は、ワークスペース３１、ＩＯマネージャ３２、ＤＳＰプラグイン３３Ａ〜３３Ｎ及びＧＵＩプラグイン３４Ａ〜３４Ｎの各オブジェクトが所定の処理を実行し、その処理結果をモニタ１６に表示するようになされている。
【００３３】
なおニューヨークのパーソナルコンピュータ４についても、同様にレコーディング処理プログラム２３０を有しており、ワークスペース２３１、ＩＯマネージャ２３２、ＤＳＰプラグイン２３３Ａ〜２３３Ｎ及びＧＵＩプラグイン２３４Ａ〜２３４Ｎと呼ばれる４種類のオブジェクトが階層的に互いに連携して構成されている。
【００３４】
因みにＤＳＰプラグイン３３Ａ〜３３Ｎ及び２３３Ａ〜２３３Ｎは、パーソナルコンピュータ３及び４が保持しているディジタル信号処理機能の数にそれぞれ対応しており、ＧＵＩプラグイン３４Ａ〜３４Ｎ及び２３４Ａ〜２３４ＮはＤＳＰプラグイン３３Ａ〜３３Ｎ及び２３３Ａ〜２３３Ｎの各パラメータを調整するためのオブジェクトであり、それぞれ１対１に対応している。
【００３５】
ここで本実施の形態においては、以降の説明を各オブジェクト同志の係わり合いとして説明するために、便宜上ワークスペース３１及び２３１、ＩＯマネージャ３２及び２３２、ＤＳＰプラグイン３３Ａ〜３３Ｎ及び２３３Ａ〜２３３Ｎ、ＧＵＩプラグイン３４Ａ〜３４Ｎ及び２３４Ａ〜２３４Ｎを主体として説明するが、実際には全てＣＰＵ１０及び２１０が各種処理を実行しているものである。
【００３６】
ワークスペース３１は、ＤＳＰプラグイン３３Ａ〜３３Ｎのロード及びアンロードを制御し、当該ＤＳＰプラグイン３３Ａ〜３３Ｎ同志又はＤＳＰプラグイン３３Ａ〜３３Ｎとニューヨークのパーソナルコンピュータ４が保持するＤＳＰプラグイン２３３Ａ〜２３３Ｎとの接続管理を行い、ＧＵＩプラグイン３４Ａ〜３４Ｎのロード及びアンロードを制御し、ＤＳＰプラグイン３３Ａ〜３３Ｎ及びＤＳＰプラグイン２３３Ａ〜２３３Ｎ全体のＤＳＰプラグイン同志の接続状態を表示制御するようになされている。
【００３７】
すなわちワークスペース３１は、現在ロード中のＤＳＰプラグイン３３Ａ〜３３Ｎに関するプラグインリスト、ＩＯマネージャ３２及び２３２に対する問い合わせ結果に基づいて作成したＤＳＰプラグイン３３Ａ〜３３Ｎ及びＤＳＰプラグイン２３３Ａ〜２３３Ｎ全体の接続状態を表す接続状態データ及び当該ワークスペース３１自身固有のワークスペースＩＤ（Identification）を保持し、これら各種データに基づいて上述の表示制御を行うようになされている。
【００３８】
ＩＯマネージャ３２は、ロード中のＤＳＰプラグイン３３Ａ〜３３Ｎに対する個々のプラグインデータと、ＩＯマネージャ３２自身固有のＩＯマネージャＩＤを有し、ＤＳＰプラグイン３３Ａ〜３３Ｎの接続管理と当該ＤＳＰプラグイン３３Ａ〜３３Ｎによってそれぞれ処理されるパケット単位のデータ管理を行い、ワークスペース３１に対してＤＳＰプラグイン３３Ａ〜３３Ｎに関する接続管理状態を所定時間間隔毎に通知するようになされている。
【００３９】
この場合のプラグインデータには、ロードされているＤＳＰプラグインのメーカー名や予め当該ＤＳＰプラグインに対応付けられたデフォルトのＧＵＩプラグイン等を表す種類識別情報、ＤＳＰプラグイン自身に割り当てられたプラグインＩＤ、当該ＤＳＰプラグイン自身の階層レベル（最上位から順に０、１、２、……）、ＤＳＰプラグインの出力先を示す出力先リスト、当該ＤＳＰプラグインに対する入力先を示す入力先リストが含まれている。
【００４０】
さらに出力先リストには、ＤＳＰプラグインの出力端子に対応した出力ＩＤ、出力端子階層レベル（最上位から順に０、１、２、……）及び接続先情報（ハードウェアＩＤ、プラグインＩＤ及び入力端子に対応した入力ＩＤ）が含まれると共に、入力先リストには、ＤＳＰプラグインの入力端子に対応した入力ＩＤ、入力端子階層レベル（最上位から順に０、１、２、……）及び入力に対する有効又は無効を表す有効フラグが含まれている。
【００４１】
このようにＩＯマネージャ３２は、プラグインデータを保持することにより、ＤＳＰプラグイン３３Ａ〜３３Ｎの接続管理状態を詳細に認識し得ると共に、パケット単位のオーディオデータの入出力先を各ＤＳＰプラグイン３３Ａ〜３３Ｎに対して正確に指示し得るようになされている。
【００４２】
ＤＳＰプラグイン３３Ａ〜３３Ｎは、ワークスペース３１によってロード又はアンロードされ、接続されている前段のＤＳＰプラグインから供給されたパケット単位のオーディオデータに対して所定のディジタル信号処理を施し、その結果得られる処理データをＩＯマネージャ３２の指示に従って所定の送信先である後段のＤＳＰプラグインに対して送信するようになされている。
【００４３】
ここでＤＳＰプラグイン３３Ａ〜３３Ｎは、それぞれが独立したメモリ空間上で動作するようになされており、これによりあるメモリ空間上で動作していたＤＳＰプラグイン３３Ａが機能しなくなった場合でも、その影響が他のＤＳＰプラグイン３３Ｂ〜３３Ｎに与えられることはない。
【００４４】
ＧＵＩプラグイン３４Ａ〜３４Ｎは、１対１にそれぞれ対応するＤＳＰプラグインの下位ＤＳＰプラグインにおけるリスト及び当該下位ＤＳＰプラグインにおける接続状態データリスト、当該ＤＳＰプラグインのパラメータに関するパラメータ調整データ及びＧＵＩプラグイン自身のＧＵＩプラグインＩＤを有し、ワークスペース３１によってロード又はアンロードされ、ＤＳＰプラグイン３３Ａ〜３３Ｎにおける各種機能に関するパラメータを調整し得るようになされている。
【００４５】
なお、ＤＳＰプラグイン３３Ａ〜３３Ｎが下位階層に位置する複数の下位ＤＳＰプラグインによって構成されている場合、当該下位ＧＵＩプラグインは上位のＧＵＩプラグイン３４Ａ〜３４Ｎによってロード又はアンロードされるようになされている。
【００４６】
実際上、ＤＳＰプラグイン３３Ａ〜３３Ｎとしては、外部入力端子１４を介して接続されたマイク３Ａ及び３Ｂにより集音されたオーディオ信号に対するアナログディジタル変換処理機能としての音声入力プラグイン、外部出力端子１５を介して接続されたスピーカ３Ｃを介して演奏音を出力するためのオーディオデータのディジタルアナログ変換処理機能としての音声出力プラグイン、オーディオデータに対して所定の音質効果を与えるエフェクタ機能としてのエフェクタプラグイン、オーディオデータの再生及び録音を行うレコーダ機能としてのレコーダプラグイン及びミキシングを行うミキサ機能としてのミキサプラグイン等が存在する。
【００４７】
ワークスペース３１は、これらの各種ＤＳＰプラグイン３３Ａ〜３３Ｎにそれぞれ対応するプラグインアイコン（後述する）をモニタ１６に表示するようになされており、当該モニタ１６の画面上でそれぞれのプラグインアイコンをユーザの指定に従って接続することにより、複数のＤＳＰプラグイン３３Ａ〜３３Ｎ及び２３３Ａ〜２３３Ｎにおける各種機能を組み合わせて所望音質の録音用データを編集して生成し得るようになされている。
【００４８】
すなわちレコーディング処理プログラム３０においてワークスペース３１は、まず図４に示すようなワークスペース画面２０をモニタ１６に表示する。このワークスペース画面２０には、ほぼ中央のＩＯマネージャ表示部２１、複数の各種ＤＳＰプラグイン３３Ａ〜３３Ｎのプラグインリストを表示したツールボックス２２及び再生、停止、早戻し、早送り、一時停止等の各種操作を行うためのトランスポートウィンドウ２３がそれぞれ設けられている。
【００４９】
因みに、このときのワークスペース画面２０には、ＩＯマネージャ表示部２１に何も表示されておらず、ＤＳＰプラグイン３３Ａ〜３３Ｎのいずれも選択されていない状態であることを示している。
【００５０】
ユーザが、ワークスペース画面２０のツールボックス２２の中からセレクトボタン２２Ｘと、ロードを希望するものとして例えば図３に示したＤＳＰプラグイン３３Ａ及び３３Ｂ（以下、これをレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂと呼ぶ）に対応するプラグインボタン２２Ａ及び２２Ｂとをクリックした後、ＩＯマネージャ表示部２１をクリックすると、ワークスペース３１はＨＤＤ１１のハードディスクからレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂを読み出してロードすると共に、図５に示すように当該レコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂに対応するレコーダプラグインアイコン４０Ａ及びミキサプラグインアイコン４０ＢをＩＯマネージャ表示部２１に表示する。
【００５１】
この場合のレコーダプラグインアイコン４０Ａには、左側に６ｃｈ分の入力端子（○印で示す）と右側に６ｃｈ分の出力端子（○印で示す）とが設けられ、ミキサプラグインアイコン４０Ｂにはレコーダプラグインアイコン４０Ａの出力端子に対応した６ｃｈ分の入力端子（○印で示す）と、最終的な２ｃｈの録音用データを出力するための２ｃｈ分の出力端子（○印で示す）とが設けられている。
【００５２】
次にユーザが、ワークスペース画面２０のツールボックス２２の中からコネクトボタン２２Ｙをクリックし、レコーダプラグインアイコン４０Ａの出力端子からミキサプラグインアイコン４０Ｂの入力端子へドラッグアンドドロップすると、ＩＯマネージャ３２はレコーダプラグイン３３Ａの出力とミキサプラグイン３３Ｂの入力とを接続すると共に、ＩＯマネージャ表示部２１のレコーダプラグインアイコン４０Ａの接続元出力端子（○印で示す）とミキサプラグインアイコン４０Ｂの接続先入力端子（○印で示す）とを画面上で接続して表示する。
【００５３】
ここでレコーダプラグイン３３Ａとは、ＨＤＤ１１のハードディスクに記録されたドラム及びピアノのオーディオデータに対する再生処理を行う再生系と、外部のニューヨークのパーソナルコンピュータ４から伝送されてくるギターのオーディオデータに対する記録処理を行う記録系とを有している。
【００５４】
この場合、レコーダプラグイン３３Ａは、レコーダプラグインアイコン４０Ａにおける６ｃｈの入力端子のうち最も下方に位置する２ｃｈを介して、ニューヨークのパーソナルコンピュータ４からインターネット２を介して伝送されるＬチャンネル及びＲチャンネルのギターのオーディオデータを入力して録音処理し得るようになされている。
【００５５】
またミキサプラグイン３３Ｂは、ミキサプラグインアイコン４０Ｂで示されている通り、レコーダプラグイン３３Ａから出力された合計６ｃｈ分のオーディオデータを入力してミキシングすることにより最終的な２ｃｈの録音用データを出力し得るようになされている。
【００５６】
次に、ユーザがワークスペース画面２０の左上端部に設けられた接続ボタン２５をクリックすると、ワークスペース３１は接続先のＩＰ（Internet Protocol）アドレスを入力するためのＩＰアドレス入力画面（図示せず）をワークスペース画面２０に重ねて表示する。
【００５７】
そして、ユーザがＩＰアドレス入力画面に接続を希望するニューヨークのパーソナルコンピュータ４のＩＰアドレスを入力すると、ワークスペース３１は東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４とをインターネット２を介してネットワーク接続し、図６に示すようにＩＯマネージャ表示部２１に重ねてニューヨークのパーソナルコンピュータ４に対応したＩＯマネージャ表示部２７を表示する。
【００５８】
この結果ワークスペース３１（図３）は、ニューヨークのパーソナルコンピュータ４におけるレコーディング処理プログラム２３０のＩＯマネージャ２３２とインターネット２を介してネットワーク接続されたことになる。
【００５９】
なお、この状態のワークスペース画面２０では、ＩＯマネージャ表示部２７が現在アクティブなウィンドウであり、ＩＯマネージャ表示部２１が非アクティブなウィンドウとなっている。
【００６０】
続いて、ユーザがワークスペース画面２０のツールボックス２２の中からセレクトボタン２２Ｘと、ロードを希望するものとして例えば音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂ（図３）に対応するプラグインボタン２２Ｃ及び２２Ｄとをクリックした後、ＩＯマネージャ表示部２７をクリックすると、ワークスペース３１はニューヨークのパーソナルコンピュータ４におけるＩＯマネージャ２３２に対して音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂを当該パーソナルコンピュータ４側で立ち上げる起動命令をインターネット２を介して送信する。
【００６１】
これによりワークスペース３１は、ニューヨークのパーソナルコンピュータ４側で音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂを起動させると共に、当該音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂに対応する音声出力プラグインアイコン４１Ａ及び音声入力プラグインアイコン４１ＢをＩＯマネージャ表示部２７に表示する。
【００６２】
この後ユーザが、ツールボックス２２の中からコネクトボタン２２Ｙをクリックし、音声入力プラグインアイコン４１Ｂの接続元出力端子（○印で示す）からレコーダプラグインアイコン４０Ａの最も下方に位置する２ｃｈ分の接続先入力端子（○印で示す）へドラッグアンドドロップし、ミキサプラグインアイコン４０Ｂの接続元出力端子（○印で示す）から音声出力プラグインアイコン４１Ａの接続先入力端子（○印で示す）へドラッグアンドドロップすると、ＩＯマネージャ３２はレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂと、音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂとをインターネット２を介して遠隔地間接続するようになされている。
【００６３】
このときワークスペース３１は、図７に示すようにＩＯマネージャ表示部２１のレコーダプラグインアイコン４０Ａ及びミキサプラグインアイコン４０Ｂと、ＩＯマネージャ表示部２７の音声出力プラグインアイコン４１Ａ及び音声入力プラグインアイコン４１Ｂとをワークスペース画面２０上で接続して表示することにより、東京のパーソナルコンピュータ３が持つレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂと、ニューヨークのパーソナルコンピュータ４が持つ音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂとが遠隔地間接続されたことをユーザに対して視覚的に認識させ得るようになされている。
【００６４】
この結果、レコーダプラグイン３３Ａの最も下方に位置する２ｃｈの入力端子には、ニューヨークのパーソナルコンピュータ４における音声入力プラグイン２３３Ｂからインターネット２を介して伝送される２ｃｈのギターのオーディオデータが入力され、ミキサプラグイン３３Ｂの２ｃｈの出力端子には音声出力プラグイン２３３Ａの２ｃｈの入力端子が接続されることになる。
【００６５】
これにより遠隔地間レコーディングシステム１は、東京のパーソナルコンピュータ３におけるレコーダプラグイン３３Ａで再生し、ミキサプラグイン３３Ｂでミキシングしたドラム及びピアノのオーディオデータを、ニューヨークのパーソナルコンピュータ４における音声出力プラグイン２３３Ａに送信し、当該音声出力プラグイン２３３Ａを介してスピーカ（図示せず）からドラム及びピアノの演奏音として出力することができる。
【００６６】
そして遠隔地間レコーディングシステム１は、ニューヨークのパーソナルコンピュータ４でドラム及びピアノの演奏音に合わせて演奏されたギターのオーディオ信号をマイク４Ａ及び４Ｂを介して音声入力プラグイン２３３Ｂに取り込み、当該音声入力プラグイン２３３Ｂを介してギターのオーディオデータとして東京のパーソナルコンピュータ３におけるレコーダプラグイン３３Ａに返信する。
【００６７】
東京のパーソナルコンピュータ３は、レコーダプラグイン３３Ａの再生系によってＨＤＤ１１のハードディスクから読み出して再生したドラム及びピアノのオーディオデータと同期するように、当該レコーダプラグイン３３Ａの記録系によってギターのオーディオデータを記憶することにより、結果的に遠隔地間の伝送路遅延等によるレコーダプラグイン３３Ａの再生タイミングと記録タイミングのずれを補正した記憶処理を実行し得るようになされている。
【００６８】
また遠隔地間レコーディングシステム１は、東京のパーソナルコンピュータ３におけるレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂと、ニューヨークのパーソナルコンピュータ４で立ち上げられた音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂとを遠隔地間接続することにより、システム全体として見たときにレコーダ機能及びミキサ機能と音声出力機能及び音声入力機能とを東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４とに分散したことになる。
【００６９】
かくして遠隔地間レコーディングシステム１は、東京のパーソナルコンピュータ３又はニューヨークのパーソナルコンピュータ４のいずれか一方だけではＣＰＵ１０及び２１０の処理能力の限界から処理し得なかったことであっても、各種機能を分散して全体としての処理能力を向上し得たことにより、システム全体として実行することが可能となった。
【００７０】
なおＩＯマネージャ３２は、レコーダプラグイン３３Ａによるオーディオデータの再生中でも、ミキサプラグイン３３Ｂやニューヨークのパーソナルコンピュータ４で立ち上げた音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂのロード又はアンロードを動的に実行し得るようになされており、これにより各種プラグインの組み合わせを何時でも自由に変更してユーザ所望の機能を組み合わせた遠隔地間レコーディングシステム１を構築し得るようになされている。
【００７１】
（２−２）タイミング補正処理
次に、遠隔地間レコーディングシステム１における遠隔地間の伝送路遅延等によるレコーダプラグイン３３Ａの再生タイミングと記録タイミングとのずれを補正するタイミング補正処理について詳述する。
【００７２】
（２−２−１）伝送路遅延に対するタイミング補正処理
上述の遠隔地間レコーディングシステム１においては、東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４とがインターネット２を介してネットワーク接続された場合、ネットワーク間で伝送路間遅延が必ず発生するので、ニューヨークのパーソナルコンピュータ４から送られてくるギターのオーディオデータをドラム及びピアノのオーディオデータと同期するようにＨＤＤ１１のハードディスクに記憶するためには伝送路間遅延によるタイミングのずれを補正する必要がある。
【００７３】
実際上、図８に示すようにレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂには、内部のリアルタイムクロックによって生成されたマスタークロックＭＣＬＫ１がＩＯマネージャ３２からパケット周期毎に供給されていると共に、音声出力プラグイン２３３Ａ及び音声出力プラグイン２３３Ｂにも、内部のリアルタイムクロックによって生成されたマスタークロックＭＣＬＫ２がＩＯマネージャ２３２からパケット周期毎に供給されている。
【００７４】
この場合、ＩＯマネージャ３２がレコーダプラグイン３３Ａ及びミキサプラグイン３３Ｂに供給するマスタークロックＭＣＬＫ１と、ＩＯマネージャ２３２が音声出力プラグイン２３３Ａ及び音声出力プラグイン２３３Ｂに供給するマスタークロックＭＣＬＫ２とは互いに同期した状態に設定され、遠隔地間で同時に共通のマスタークロックＭＣＬＫ１及びＭＣＬＫ２が供給されるようになされている。
【００７５】
すなわちレコーダプラグイン３３Ａは、その再生系を用いてドラム及びピアノのオーディオデータを再生し、当該再生した結果得られる２ｃｈ（Ｌチャンネル及びＲチャンネル）のドラムパケットデータＤｒＰＤ１（Ｌ）、ＤｒＰＤ２（Ｒ）及びピアノパケットデータＰｉＰＤ１（Ｌ）、ＰｉＰＤ２（Ｒ）に対してマスタークロックＭＣＬＫ１に基づくタイムスタンプ（ＴＳ）「００００」をＩＯマネージャ３２の制御の基にそれぞれ付加し、次のドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２に対してはタイムスタンプ「０００１」を付加し、順次パケット単位でタイムスタンプの値をインクリメントして付加することにより、タイムスタンプの付加されたドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２を生成し、これを順次ミキサプラグイン３３Ｂへ出力する。
【００７６】
なおＩＯマネージャ３２は、レコーダプラグイン３３Ａ、ミキサプラグイン３３Ｂ、音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂに対する接続状態をプラグインデータに基づいて認識しており、ドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２に対して次に送出する宛て先を示す接続先情報を指示するようになされている。
【００７７】
これによりレコーダプラグイン３３Ａ、ミキサプラグイン３３Ｂ、音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂは、ＩＯマネージャ３２の指示に基づいて接続先情報を付加し、当該接続先情報に従って所定の接続先のＤＳＰプラグインに対して正確にパケットデータを送信することができる。
【００７８】
このとき同時にＩＯマネージャ３２は、レコーダプラグイン３３Ａの出力と接続されているミキサプラグイン３３Ｂの４ｃｈ分の入力でタイムスタンプ「００００」の各種パケットデータの入力を待つように待ちタイムスタンプ「００００」を設定する。
【００７９】
ミキサプラグイン３３Ｂは、レコーダプラグイン３３Ａからタイムスタンプ「００００」が付加されたドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２が待ちタイムスタンプ「００００」の設定された４ｃｈ分の入力に到達すると、全ての入力にデータが到達した時点でミキシング処理を開始する。
【００８０】
そしてミキサプラグイン３３Ｂは、ミキシング処理を行ったことにより生成したミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２に対してＩＯマネージャ３２の制御の基にタイムスタンプ「００００」を付加し、これをタイムスタンプ「００００」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２としてインターネット２を介してニューヨークにおけるパーソナルコンピュータ４の音声出力プラグイン２３３Ａへ伝送する。
【００８１】
このときワークスペース３１は、パーソナルコンピュータ４のＩＯマネージャ２３２を介して、ミキサプラグイン３３Ｂの出力と接続されている音声出力プラグイン２３３Ａの２ｃｈ分の入力でタイムスタンプ「００００」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２の入力を待つように待ちタイムスタンプ「００００」を設定する。
【００８２】
この後ＩＯマネージャ３２は、ミキサプラグイン３３Ｂの４ｃｈ分の入力でタイムスタンプ「０００１」の各種パケットデータの入力を待つように待ちタイムスタンプ「０００１」を設定し、順次レコーダプラグイン３３Ａから出力される各種パケットデータに合わせて待ちタイムスタンプの値をインクリメントしていくようになされている。
【００８３】
音声出力プラグイン２３３Ａは、ミキサプラグイン３３Ｂからタイムスタンプ「００００」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２が、待ちタイムスタンプ「００００」に設定された入力に到達すると、当該タイムスタンプ「００００」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２をディジタルアナログ変換した後にスピーカ（図示せず）を介してドラム及びピアノの演奏音として出力する。
【００８４】
実際上、音声出力プラグイン２３３Ａは、同一のタイムスタンプが付加されたミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２の入力が揃った時点で順次バッファリングを行い、ＩＯマネージャ２３２から供給されるマスタークロックＭＣＬＫ２に基づく指定タイミングで順次読み出してディジタルアナログ変換した後にスピーカを介して出力するようになされている。
【００８５】
このように音声出力プラグイン２３３Ａは、ミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２のバッファリングを行って指定タイミングで出力することにより、ミキサプラグイン３３Ｂから供給されるミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２の供給間隔があいたときでも音楽が途中で途切れることを未然に防止し得るようになされている。
【００８６】
この後ＩＯマネージャ２３２は、音声出力プラグイン２３３Ａの２ｃｈ分の入力で次のタイムスタンプ「０００１」の各種パケットデータの入力を待つように待ちタイムスタンプ「０００１」を設定し、順次ミキサプラグイン３３Ｂから供給されるミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２に合わせて待ちタイムスタンプの値をインクリメントしていくようになされている。
【００８７】
音声入力プラグイン２３３Ｂは、音声出力プラグイン２３３Ａからスピーカを介して出力されるドラム及びピアノの演奏音に合わせて演奏されたギターのオーディオ信号をディジタルのオーディオデータに変換すると共にパケット化し、さらにタイムスタンプ「００００」を付加することによりギターパケットデータＧｉＰＤ１及びＧｉＰＤ２を生成し、これをパーソナルコンピュータ３のレコーダプラグイン３３Ａへ伝送する。
【００８８】
すなわち音声入力プラグイン２３３Ｂは、レコーダプラグイン３３Ａからタイムスタンプ「００００」の最初のドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２が出力された時点からすると、ギターパケットデータＧｉＰＤ１及びＧｉＰＤ２を出力する時点では既に伝送路遅延分だけ時間的に遅れているので、当該ギターパケットデータＧｉＰＤ１及びＧｉＰＤ２にタイムスタンプ「００００」を付加することにより、タイムスタンプ「００００」のドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２とタイムスタンプ「００００」のギターパケットデータＧｉＰＤ１及びＧｉＰＤ２とが同一タイミングのオーディオデータであることを示すようになされている。
【００８９】
ＩＯマネージャ３２は、音声入力プラグイン２３３Ｂの出力と接続されたレコーダプラグイン３３Ａにおける記録系の入力にタイムスタンプ「００００」が付加されたギターパケットデータＧｉＰＤ１及びＧｉＰＤ２の入力を待つように待ちタイムスタンプ「００００」を設定する。
【００９０】
これによりレコーダプラグイン３３Ａは、タイムスタンプ「００００」のギターパケットデータＧｉＰＤ１及びＧｉＰＤ２が待ちタイムスタンプ「００００」の入力に到達すると、タイムスタンプ「００００」のドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２と同期すうようにタイムスタンプ「００００」のギターパケットデータＧｉＰＤ１及びＧｉＰＤ２をＨＤＤ１１のハードディスクに記憶制御するようになされている。
【００９１】
かくしてレコーダプラグイン３３Ａは、伝送路遅延によって生じるドラム及びピアノのオーディオデータとギターのオーディオデータとの間のタイミングずれを補正し、当該ドラム及びピアノのオーディオデータと同期した状態でギターのオーディオデータを記憶し得るようになされている。
【００９２】
（２−２−２）レコーディング処理中に新たな入力が加わったときのタイミング補正処理
ところで遠隔地間レコーディングシステム１においては、例えば図９（Ａ）に示すようにＩＯマネージャ３２によってミキサプラグイン３３Ｂにおける２ｃｈの入力にタイムスタンプ「０００２」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２を待つように待ちタイムスタンプ「０００２」を設定した状態で、新たに前段のレコーダプラグイン３３ＡからピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力が加えられた場合、新たに加えられた入力に例えばタイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２を待つように待ちタイムスタンプ「０００６」を設定する。
【００９３】
ここで、ＩＯマネージャ３２がタイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力を待つように待ちタイムスタンプ「０００６」を設定したのは、ピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力が加えられてから実際に当該ピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２が到達するまでに要する最大遅れ時間を見込んでのことである。
【００９４】
すなわちＩＯマネージャ３２は、ミキサプラグイン３３Ｂに対して、前段のレコーダプラグイン３３Ａからタイムスタンプ「０００２」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２が入力されると、図９（Ｂ）に示すようにタイムスタンプ「０００２」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２が出力されるので、ドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対する待ちタイムスタンプの値をタイムスタンプ「０００３」にインクリメントする。
【００９５】
この後ＩＯマネージャ３２は、ミキサプラグイン３３Ｂに対して、前段のレコーダプラグイン３３Ａからタイムスタンプ「０００３」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２が入力されると、タイムスタンプ「０００３」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２が出力されるので、ドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対して待ちタイムスタンプ「０００４」にインクリメントし、順次タイムスタンプ「０００６」までインクリメントしていく。
【００９６】
すなわちＩＯマネージャ３２は、ミキサプラグイン３３Ｂの待ちタイムスタンプ「０００６」が設定された入力にタイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２が到達するまでの間、待ちタイムスタンプ「０００２」〜「０００５」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対するミキシング処理を当該ミキサプラグイン３３Ｂで継続して実行するようになされており、これにより新たな入力が加えられたことによってドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対するミキシング処理が滞ることを防止し得るようになされている。
【００９７】
図９（Ｃ）に示すようにＩＯマネージャ３２は、やがてミキサプラグイン３３Ｂの入力でドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対する待ちタイムスタンプ「０００６」を設定することになったとき、４ｃｈ分の全ての入力でタイムスタンプ「０００６」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２と、タイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２とを待ち受けることになる。
【００９８】
ＩＯマネージャ３２は、前段のレコーダプラグイン３３Ａからタイムスタンプ「０００６」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２と、タイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２とがミキサプラグイン３３Ｂに入力され、タイムスタンプ「０００６」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２が出力されると、図９（Ｄ）に示すように４ｃｈ分の入力を待ちタイムスタンプ「０００７」にインクリメントし、以降４ｃｈ分の入力について順次ミキシング処理を実行するようになされている。
【００９９】
このようにＩＯマネージャ３２は、レコーディング処理中に、新たに前段のレコーダプラグイン３３ＡからピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力が加えられたとき、新たに加えられた入力に対して、実際に前段のレコーダプラグイン３３ＡからピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２がミキサプラグイン３３Ｂに到達するまでに要する最大遅れ時間を見込んだ待ちタイムタンプを設定することにより、最大遅れ時間経過後には４ｃｈ分の入力が確実に全て揃って４ｃｈ分のミキシング処理を実行し得ると共に、４ｃｈ分の入力が揃うまでの間ドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対するミキシング処理が滞ることなく継続して実行し得るようになされている。
【０１００】
因みにＩＯマネージャ３２は、ミキサプラグイン３３Ｂで設定した待ちタイムスタンプ「０００６」の入力で、タイムスタンプ「０００５」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２が到達したときでも、当該タイムスタンプ「０００５」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力を受け付けることはなく、あくまでタイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２が到達することを待ち受けるようになされている。
【０１０１】
すなわちＩＯマネージャ３２は、最大遅れ時間を見込んだ待ちタイムタンプ「０００６」を設定し、タイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２を待ち受けるようにしたことにより、仮に最大遅れ時間よりも短い待ちタイムスタンプ「０００３」に設定したときにタイムスタンプ「０００６」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２が到達して、４ｃｈ分の入力が揃わずにミキシング処理を永遠に実行し得なくなるような事態を未然に防止し得るようになされている。
【０１０２】
（２−２−３）レコーディング処理中に入力が解除されたときのタイミング補正処理
一方、遠隔地間レコーディングシステム１においては、例えば図１０（Ａ）に示すように、ミキサプラグイン３３Ｂによってタイムスタンプ「００１６」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２を出力中に、前段のレコーダプラグイン３３Ａとの一部接続解消によってピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２の入力が解除された場合のタイミング補正処理について説明する。
【０１０３】
この場合ＩＯマネージャ３２は、図１０（Ｂ）に示すようにレコーダプラグイン３３Ａとの接続が解消された時点では当該レコーダプラグイン３３Ａから既に到達しているタイムスタンプ「００１７」のピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２が存在するので、それらをミキシング処理した後、次のピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２の入力に対する待ちタイムスタンプ「００１８」を「無効」に設定する。
【０１０４】
これによりミキサプラグイン３３Ｂは、次のタイムスタンプ「００１８」のピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２の入力を受け付けることなく無効にし、タイムスタンプ「００１８」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２に対してのみミキシング処理を行うようになされている。
【０１０５】
従ってＩＯマネージャ３２は、それ以降については図１０（Ｃ）に示すようにタイムスタンプ「００１８」のミキシングデータＭＩＸＰＤ１及びＭＩＸＰＤ２を出力し、ピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２の入力に対する待ちタイムスタンプを「無効」に設定したまま、ドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２の入力に対する待ちタイムスタンプだけを順次インクリメントしていく。
【０１０６】
このようにＩＯマネージャ３２は、レコーディング処理中に、前段のレコーダプラグイン３３Ａとミキサプラグイン３３Ｂとの間で一部接続解消によりピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力が解除されると、その時点でレコーダプラグイン３３Ａから既にミキサプラグイン３３Ｂに送出されたピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２についてはミキシング処理することになるが、それ以降に送られてきたピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２については入力を受け付けることなく無効にすることにより、接続解消時点から遅滞なくドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２だけに対するミキシング処理に円滑に移行し得るようになされている。
【０１０７】
（２−２−４）待ちタイムスタンプのパケットデータよりも後のパケットデータが送られてきたときのタイミング補正処理
次に遠隔地間レコーディングシステム１においては、例えば図１１（Ａ）に示すように、ミキサプラグイン３３Ｂでタイムスタンプ「００２１」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２を待ち受け中に、一方のチャンネルの入力でタイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２が前段のレコーダプラグイン３３Ａから送られてきた場合のタイミング補正処理について説明する。
【０１０８】
この場合ミキサプラグイン３３Ｂは、図１１（Ｂ）に示すように、タイムスタンプ「００２１」のドラムパケットデータＤｒＰＤ２については受け取るが、タイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２については待ちタイムスタンプ「００２１」と一致しないので受け取りを拒否し、ＩＯマネージャ３２に送り返すようになされている。
【０１０９】
ＩＯマネージャ３２は、タイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２を一旦バッファリングし、タイムスタンプ「００２１」のドラムパケットデータＤｒＰＤ２を新たにミキサプラグイン３３Ｂに送出した後、タイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２をミキサプラグイン３３Ｂに再送出するようになされている。
【０１１０】
因みに、このときミキサプラグイン３３Ｂは、タイムスタンプ「００２１」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２が揃うまではミキシング処理を実行することはなく、ドラムパケットデータＤｒＰＤ１とドラムパケットデータＤｒＰＤ２との間でタイミングずれが生じることを確実に防止している。
【０１１１】
このようにＩＯマネージャ３２は、ミキサプラグイン３３Ｂで待ちタイムスタンプ「００２１」よりも後のタイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２が受け取り拒否されて送り返されたときに、当該タイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２一旦バッファリングし、タイムスタンプ「００２１」のドラムパケットデータＤｒＰＤ２をミキサプラグイン３３Ｂに送出した後、タイムスタンプ「００２２」のドラムパケットデータＤｒＰＤ２をミキサプラグイン３３Ｂに再送出することにより、ミキサプラグイン３３Ｂでパケットデータの順番が狂うことなくミキシング処理を実行させるように制御し得るようになされている。
【０１１２】
（２−２−５）ＧＵＩプラグインによるＤＳＰプラグインのパラメータ調整処理またワークスペース３１は、例えばミキサプラグインアイコン４０Ｂがダブルクリックされると、ミキサプラグイン３３Ｂに対応して設けられたミキサＧＵＩプラグイン３４Ｂをロードし、当該ミキサＧＵＩプラグイン３４Ｂに基づいて図１２に示すようなミキサＧＵＩプラグイン画面５０をＩＯマネージャ表示部２１に重ねて表示する。
【０１１３】
この場合のミキサＧＵＩプラグイン画面５０は、ミキサプラグイン３３Ｂに対してそれぞれ楽器毎に２ｃｈずつ入力されるオーディオデータに対する音量調整を行うためのＧＵＩ画面であり、ユーザによる音量値（「０ｄｂ」）の設定に応じて操作対象であるミキサプラグイン３３Ｂの音量を調整し得るようになされている。
【０１１４】
なおワークスペース３１は、音声出力プラグインアイコン４１Ａがダブルクリックされると、ニューヨークのパーソナルコンピュータ４に対して音声出力プラグイン２３３Ａに対応する音声出力ＧＵＩプラグイン２３４Ａの要求命令をインターネット２を介して送信し、当該パーソナルコンピュータ４から受信した音声出力ＧＵＩプラグイン２３４Ａに基づいて音声出力ＧＵＩプラグイン画面をＩＯマネージャ表示部２７に重ねて表示し得るようになされている。
【０１１５】
これによりワークスペース３１は、ニューヨークのパーソナルコンピュータ４で起動中の音声出力プラグイン２３３Ａに関するパラメータを音声出力ＧＵＩプラグイン画面に基づいて遠隔操作し得るようになされている。
【０１１６】
このように遠隔地間レコーディングシステム１では、パーソナルコンピュータ３及び４でＤＳＰプラグイン３３Ａ〜３３Ｎ及び２３３Ａ〜２３３ＮとＧＵＩプラグイン３４Ａ〜３４Ｎ及び２３４Ａ〜２３４Ｎとを個別に分けて保持することにより、例えばパーソナルコンピュータ３でパーソナルコンピュータ４のＧＵＩプラグイン２３４Ａを受信し、当該ＧＵＩプラグイン２３４Ａを介してＤＳＰプラグイン３３Ａを遠隔操作することができ、かくしてネットワークを跨いだ遠隔操作を容易に実行することができる。
【０１１７】
またユーザは、トランスポートウィンドウ２３（図７）を操作することによりオーディオデータの再生処理や記録処理の処理命令等を入力することができ、これによりＩＯマネージャ３２は、入力された処理命令に応じてレコーダプラグイン３３Ａ、ミキサプラグイン３３Ｂ、音声出力プラグイン２３３Ａ及び音声入力プラグイン２３３Ｂを連動動作して再生処理や記録処理を実行し得るようになされている。
【０１１８】
（２−３）レコーディング処理手順
次に、パーソナルコンピュータ３がレコーディング処理プログラム３０に従って行う上述のレコーディング処理手順について図１３のフロチャートを用いてまとめると、当該パーソナルコンピュータ３はルーチンＲＴ１の開始ステップから入って、ＤＳＰプラグイン３３のロードに関するサブルーチンＳＲＴ２に移る。
【０１１９】
（２−３−１）ＤＳＰプラグインのロード処理手順
図１４及び図１５に示すように、サブルーチンＳＲＴ２のステップＳＰ１においてワークスペース３１は、ワークスペース画面２０（図３）のツールボックス２２の中からセレクトボタン２２Ｘ、プラグインボタン２２Ａ及び２２Ｂがユーザによってクリックされると、ＤＳＰプラグイン（レコーダプラグイン）３３Ａ及びＤＳＰプラグイン（ミキサプラグイン）３３Ｂのロード要求コマンドと共にＨＤＤ１１のハードディスクから読み出した当該ＤＳＰプラグイン３３Ａ及び３３ＢのオブジェクトをＩＯマネージャ３２に送出し、次のステップＳＰ２に移る。
【０１２０】
ステップＳＰ２においてＩＯマネージャ３２は、ＤＳＰプラグイン３３Ａ及び３３ＢのオブジェクトをＲＡＭ１２にロードし、次のステップＳＰ３に移る。
【０１２１】
ステップＳＰ３においてワークスペース３１は、一定時間間隔毎にＩＯマネージャ３２に対してロード中のＤＳＰプラグイン３３の更新状況を調べるためのＩＯマネージャ更新チェックコマンドを送出し、次のステップＳＰ４に移る。
【０１２２】
ステップＳＰ４においてＩＯマネージャ３２は、ＤＳＰプラグイン３３の更新有無を表す更新結果メッセージをワークスペース３１に送出し、次のステップＳＰ５に移る。
【０１２３】
ステップＳＰ５においてワークスペース３１は、更新結果メッセージの内容に基づいてＤＳＰプラグイン３３の更新があったか否かを判定する。ここで否定結果が得られると、このことは新たにロードされたＤＳＰプラグイン３３が存在しておらず、ＤＳＰプラグイン３３の更新が無かったことを表しており、このときワークスペース３１は、次のサブルーチンＳＲＴ３へ移る。
【０１２４】
これに対してステップＳＰ５で肯定結果が得られると、このことは新たにロードされたＤＳＰプラグイン３３が存在しており、ＤＳＰプラグイン３３の更新があったことを表しており、このときワークスペース３１は次のステップＳＰ６に移る。
【０１２５】
ステップＳＰ６においてワークスペース３１は、更新された新たなＤＳＰプラグイン３３に関するプラグインデータを要求するためのプラグインデータ要求コマンドをＩＯマネージャ３２に送出し、次のステップＳＰ７に移る。
【０１２６】
ステップＳＰ７においてＩＯマネージャ３２は、更新された新たなＤＳＰプラグイン３３に関するプラグインデータをワークスペース３１に送出し、次のステップＳＰ８に移る。
【０１２７】
ステップＳＰ８においてワークスペース３１は、プラグインデータに基づいて、ロードした新たなＤＳＰプラグイン３３Ａ及び３３Ｂに対応する例えばレコーダプラグインアイコン４０Ａ及びミキサプラグインアイコン４０ＢをＩＯマネージャ表示部２１に表示することにより当該ＩＯマネージャ表示部２１の画面を新たに更新し、次のサブルーチンＳＲＴ３へ移る。
【０１２８】
（２−３−２）ＤＳＰプラグインの接続管理処理手順
図１６及び図１７に示すように、サブルーチンＳＲＴ３のステップＳＰ１１においてワークスペース３１は、ワークスペーシ画面２０（図３）のツールボックス２２の中からコネクトボタン２２Ｙがクリックされ、例えばレコーダプラグインアイコン４０Ａの出力端子からミキサプラグインアイコン４０Ｂの入力端子へドラッグアンドドロップされると、ＤＳＰプラグイン（レコーダプラグイン）３３Ａ及びＤＳＰプラグイン（ミキサプラグイン）３３Ｂの接続要求コマンドと共に、接続元出力、接続先入力及び接続開始時の接続開始タイムスタンプ等からなる種々の接続情報をＩＯマネージャ３２に送出し、次のステップＳＰ１２に移る。
【０１２９】
ステップＳＰ１２においてＩＯマネージャ３２は、ＤＳＰプラグイン３３Ａ及び３３Ｂの接続処理を実行し、次のステップＳＰ１３に移る。
【０１３０】
ステップＳＰ１３においてワークスペース３１は、一定時間間隔毎にＩＯマネージャ３２に対してロード中のＤＳＰプラグイン３３に対する接続状況を調べるためのＩＯマネージャ接続更新チェックコマンドを送出し、次のステップＳＰ１４に移る。
【０１３１】
ステップＳＰ１４においてＩＯマネージャ３２は、ＤＳＰプラグイン３３Ａ及び３３Ｂに関して接続更新有無を表す接続更新結果メッセージをワークスペース３１に送出し、次のステップＳＰ１５に移る。
【０１３２】
ステップＳＰ１５においてワークスペース３１は、接続更新結果メッセージの内容に基づいてＤＳＰプラグイン３３Ａ及び３３Ｂに関して接続状況の更新があったか否かを判定する。ここで否定結果が得られると、このことはＤＳＰプラグイン３３Ａ及び３３Ｂに関する接続状況に何ら変更は無かったことを表しており、このときワークスペース３１は次のサブルーチンＳＲＴ４へ移る。
【０１３３】
これに対してステップＳＰ１５で肯定結果が得られると、このことはＤＳＰプラグイン３３Ａ及び３３Ｂに関する接続状況に何らかの変更があったことを表しており、このときワークスペース３１は次のステップＳＰ１６に移る。
【０１３４】
ステップＳＰ１６においてワークスペース３１は、接続状況が新たに変更されたＤＳＰプラグイン３３に関するプラグインデータ要求コマンドをＩＯマネージャ３２に送出し、次のステップＳＰ１７に移る。
【０１３５】
ステップＳＰ１７においてＩＯマネージャ３２は、接続状況が新たに変更されたＤＳＰプラグイン３３に関するプラグインデータをワークスペース３１に送出し、次のステップＳＰ１８に移る。
【０１３６】
ステップＳＰ１８においてワークスペース３１は、プラグインデータに基づいて、接続状況が新たに変更されたプラグインアイコン４０Ａ及び４０ＢをＩＯマネージャ表示部２１に新たに表示することにより当該ＩＯマネージャ表示部２１の画面を新たに更新し、次のサブルーチンＳＲＴ４へ移る。
【０１３７】
（２−３−３）ＤＳＰプラグインのパラメータ調整処理手順
図１８及び図１９に示すように、サブルーチンＳＲＴ４のステップＳＰ２１においてＧＵＩプラグイン３４は、ＧＵＩプラグイン画面上でユーザによるパラメータ調整が行われると、当該パラメータ調整に応じたパラメータコントロール情報をＤＳＰプラグイン３３に送出し、次のステップＳＰ２２に移る。
【０１３８】
ステップＳＰ２２においてＤＳＰプラグイン３３は、パラメータコントロール情報に応じてパラメータ（例えば音量）を調整し、次のステップＳＰ２３に移る。
【０１３９】
ステップＳＰ２３においてＧＵＩプラグイン３４は、一定時間間隔毎に操作対象であるＤＳＰプラグイン３３に対してパラメータ調整の更新有無を調べるためのパラメータ更新チェックコマンドを送出し、次のステップＳＰ２４に移る。
【０１４０】
ステップＳＰ２４においてＤＳＰプラグイン３３は、当該ＤＳＰプラグイン３３に対して変更されたパラメータ調整の更新有無を表すパラメータ更新結果メッセージをＧＵＩプラグイン３４へ送出し、次のステップＳＰ２５に移る。
【０１４１】
ステップＳＰ２５においてＧＵＩプラグイン３４は、パラメータ更新結果メッセージの内容に基づいてＤＳＰプラグイン３３に対するパラメータ調整の変更があったか否かを判定する。ここで否定結果が得られると、このことはＤＳＰプラグイン３３に対するパラメータ調整の変更は無かったことを表しており、このときＧＵＩプラグイン３４は次のサブルーチンＳＲＴ５へ移る。
【０１４２】
これに対してステップＳＰ２５で肯定結果が得られると、このことはＤＳＰプラグイン３３に対するパラメータ調整の変更があったことを表しており、このときＧＵＩプラグイン３４は次のステップＳＰ２６に移る。
【０１４３】
ステップＳＰ２６においてＧＵＩプラグイン３４は、パラメータ調整の変更があったＤＳＰプラグイン３３に対してパラメータ調整データ要求コマンドを送出し、次のステップＳＰ２７に移る。
【０１４４】
ステップＳＰ２７においてＤＳＰプラグイン３３は、パラメータ調整の内容を表すパラメータ調整データをＧＵＩプラグイン３４に送出し、次のステップＳＰ２８に移る。
【０１４５】
ステップＳＰ２８においてＣＰＵ１０は、パラメータ調整データに基づいて新たにパラメータが変更された状態のＧＵＩプラグイン画面を表示することにより当該ＧＵＩプラグイン画面を更新し、次のサブルーチンＳＲＴ５へ移る。
【０１４６】
（２−３−４）タイミング補正処理手順
図２０に示すように、サブルーチンＳＲＴ５のステップＳＰ３１においてＩＯマネージャ３２は、図８に示したようにレコーダプラグイン３３Ａの再生系によって再生したドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２にタイムスタンプ「００００」を付加して出力すると共に、次段以降のミキサプラグイン３３Ｂ、音声出力プラグイン２３３Ａ及びレコーダプラグイン３３Ａ（図８）における記録系の入力に待ちタイムスタンプ「００００」を設定し、次のステップＳＰ３２に移る。
【０１４７】
ステップＳＰ３２においてＩＯマネージャ３２は、次段以降のミキサプラグイン３３Ｂから出力するミキシングデータＭＩＸＰＤ１、ＭＩＸＰＤ２にタイムスタンプ「００００」を付加し、また音声入力プラグイン２３３Ｂから出力するギターパケットデータＧｉＰＤ１、ＧｉＰＤ２にもタイムスタンプ「００００」を付加し、次のステップＳＰ３３に移る。
【０１４８】
ステップＳＰ３３においてＩＯマネージャ３２は、音声入力プラグイン２３３Ｂからレコーダプラグイン３３Ａに入力したタイムスタンプ「００００」のギターパケットデータＧｉＰＤ１、ＧｉＰＤ２を、再生系で再生したタイムスタンプ「００００」のドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２と同期するようにタイムスタンプ「００００」に基づいてＨＤＤ１１のハードディスクに記憶制御することにより伝送路遅延によるタイミングのずれを補正し、次のステップＳＰ３４に移る。
【０１４９】
ステップＳＰ３４においてＩＯマネージャ３２は、例えば図９に示したようにミキサプラグイン３３Ｂに新たな入力が加えられたか否かを判定する。ここで否定結果が得られると、このことは新たな入力が加えられていないことを表しており、このときＩＯマネージャ３２はステップＳＰ４０に移ってレコーディング処理プログラム３０によるレコーディング処理手順を全て終了する。
【０１５０】
これに対してステップＳＰ３４で肯定結果が得られると、このことは新たな入力が加えられたことを表しており、このときＩＯマネージャ３２は次のステップＳＰ３５に移る
【０１５１】
ステップＳＰ３５においてＩＯマネージャ３２は、新たな入力に対して前段のＤＳＰプラグインからパケットデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを設定することにより、新たな入力が加えられたことによって既に引き続き入力中のパケットデータに対する処理が滞ることを防止し、次のステップＳＰ３６に移る。
【０１５２】
ステップＳＰ３６においてＩＯマネージャ３２は、例えば図１０に示したようにミキサプラグイン３３Ｂにおけるミキシング処理中にピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２の入力が解除されたか否かを判定する。
【０１５３】
ここで否定結果が得られると、このことは入力が解除されておらず、何ら変更がないことを表しており、このときＩＯマネージャ３２はステップＳＰ４０に移ってレコーディング処理プログラム３０によるレコーディング処理手順を全て終了する。
【０１５４】
これに対してステップＳＰ３６で肯定結果が得られると、このことは入力が解除されて接続状態に変更があったことを表しており、このときＩＯマネージャ３２は次のステップＳＰ３７に移る。
【０１５５】
ステップＳＰ３７においてＩＯマネージャ３２は、ミキサプラグイン３３Ｂの解除された入力の待ちタイムスタンプ「００００」を「無効」に設定することにより、入力解除時点から遅滞なく速やかにドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２だけに対するミキシング処理に移行し、次のステップＳＰ３８に移る。
【０１５６】
ステップＳＰ３８においてＩＯマネージャ３２は、例えば図１１に示したようにミキサプラグイン３３Ｂの入力に対して待ちタイムスタンプよりも後のタイムスタンプのパケットデータを送出した結果、当該後のタイムスタンプのパケットデータの入力が拒否されたか否かを判定する。
【０１５７】
ここで否定結果が得られると、このことは待ちタイムスタンプよりも後のタイムスタンプのパケットデータの入力が拒否されることはなかった、すなわち待ちタイムスタンプと同一のタイムスタンプが付加されたパケットデータがミキサプラグイン３３Ｂに入力されたことを表しており、このときＩＯマネージャ３２はステップＳＰ４０に移ってレコーディング処理プログラム３０によるレコーディング処理手順を全て終了する。
【０１５８】
これに対してステップＳＰ３８で肯定結果が得られると、このことは待ちタイムスタンプよりも後のタイムスタンプのパケットデータの入力がミキサプラグイン３３Ｂによって拒否されたことを表しており、このときＩＯマネージャ３２は次のステップＳＰ３９に移る。
【０１５９】
ステップＳＰ３９においてＩＯマネージャ３２は、ミキサプラグイン３３Ｂによって拒否されたパケットデータを一旦バッファリングし、ミキサプラグイン３３Ｂの入力で受け付けてもらえるまで再送出することにより、ミキサプラグイン３３Ｂでパケットデータの順番が狂うことなく正確にミキシング処理を実行させた後、次のステップＳＰ４０に移ってレコーディング処理プログラム３０によるレコーディング処理手順を全て終了する。
【０１６０】
（３）実施の形態における動作及び効果
以上の構成において、遠隔地間レコーディングシステム１は、東京のパーソナルコンピュータ３と、ニューヨークのパーソナルコンピュータ４との間で、ほぼ同時並行的にレコーディング処理を行う際、レコーダプラグイン３３Ａの再生系で再生したドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２、ピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２にタイムスタンプ「００００」を付加して出力する。
【０１６１】
このとき遠隔地間レコーディングシステム１は、次段以降のミキサプラグイン３３Ｂ、音声出力プラグイン２３３Ａ及びレコーダプラグイン３３Ａの記録系における各入力で待ちタイムスタンプ「００００」を設定し、ミキサプラグイン３３Ｂ及び音声入力プラグイン２３３Ｂの出力でタイムスタンプ「００００」を付加する。
【０１６２】
これにより遠隔地間レコーディングシステム１は、レコーダプラグイン３３Ａの再生系で、タイムスタンプ「００００」のドラムパケットデータＤｒＰＤ１及びＤｒＰＤ２、ピアノパケットデータＰｉＰＤ１及びＰｉＰＤ２に対して、タイムスタンプ「００００」のギターパケットデータＧｉＰＤ１及びＧｉＰＤ２を同期するようにＨＤＤ１１のハードディスクに対応付けて記憶制御することができ、この結果、遠隔地間における伝送路遅延によるタイミングずれを補正して同時並行的にレコーディング処理を実行することができる。
【０１６３】
また遠隔地間レコーディングシステム１は、レコーディング処理中における入力の新たな追加や解除に対しても待ちタイムスタンプの設定を変更することにより時間的なタイミングの整合性を保ちつつ柔軟に対応することができ、かくしてユーザ所望の機能を組み合わせた所望音質の録音用データを容易に生成することができる。
【０１６４】
以上の構成によれば、遠隔地間レコーディングシステム１は、リアルタイム性が要求されるオーディオデータに対してパケット毎にタイムスタンプをそれぞれ付加し、当該タイムスタンプに基づいて伝送路遅延によるタイミングのずれを補正するように記憶制御することにより、遠隔地間でリアルタイム性が要求されるオーディオデータをインターネット２を介して互いに授受して同時並行的にレコーディング処理を実行することができる。
【０１６５】
（４）他の実施の形態
なお上述の実施の形態においては、本発明のコンテンツ編集装置としての遠隔地間レコーディングシステム１を東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４との間でレコーディング処理を実行する場合に適用するようにした場合について述べたが、本発明はこれに限らず、例えば同一スタジオ内で伝送ケーブルで互いに接続されたパーソナルコンピュータ３とパーソナルコンピュータ４との間でレコーディング処理を実行する場合に適用するようにしても良い。
【０１６６】
また上述の実施の形態においては、第１コンテンツデータ出力手段及び記憶制御手段としてのレコーダプラグイン３３Ａ、ミキサプラグイン３３Ｂ、音声出力プラグイン２３３Ａ及び第２コンテンツデータ出力手段としての音声入力プラグイン２３３Ｂを組み合わせたことによりレコーディングシステムを構築するようにした場合について述べたが、本発明はこれに限らず、音声入力プラグイン、エフェクタプラグイン及び音声出力プラグインによるエフェクタシステム、シーケンサプラグイン、シンセサイザプラグイン、ミキサプラグイン及び音声出力プラグインによる作曲システム等の他の種々のシステムを構築するようにしても良い。
【０１６７】
さらに上述の実施の形態においては、東京のパーソナルコンピュータ３にニューヨークのパーソナルコンピュータ４を接続して拡張するようにした場合について述べたが、本発明はこれに限らず、例えばパーソナルコンピュータのディジタル信号処理部分だけを有し、表示部を持たないようなディジタル信号処理装置に接続して拡張するようにしても良い。この場合のディジタル信号処理装置は、パーソナルコンピュータ３と同様にＩＯマネージャが各種処理を実行するようになされており、パーソナルコンピュータに比べて表示制御を行わない分だけ簡素な構成であるために拡張に伴うスペースの増大化を最小限に抑えることができる。
【０１６８】
さらに上述の実施の形態においては、ＧＵＩプラグイン３４が下位ＧＵＩプラグインを含む階層構造で構成されており、階層毎のＧＵＩプラグイン画面を表示するようにした場合について述べたが、本発明はこれに限らず、ＧＵＩプラグイン３４と下位ＧＵＩプラグインの操作を一画面で実行し得る単一構造のＧＵＩプラグイン画面を表示するようにしても良い。
【０１６９】
さらに上述の実施の形態においては、東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４とを互いにインターネットを介して接続するようにした場合について述べたが、本発明はこれに限らず、パーソナルコンピュータ３及び４をイーサネット等のＬＡＮ（Local Area Network）を介して互いにネットワーク接続するようにしても良い。
【０１７０】
さらに上述の実施の形態においては、東京のパーソナルコンピュータ３とニューヨークのパーソナルコンピュータ４とをインターネット２を介して接続し、東京及びニューヨークの遠隔地間で同時並行的にレコーディング処理を実行するようにした場合について述べたが、本発明はこれに限らず、ニューヨーク以外のロンドンやパリ等の他の種々の遠隔地ともインターネット２を介して接続し、同時並行的にレコーディング処理を実行するようにしても良い。
【０１７１】
さらに上述の実施の形態においては、レコーダプラグインアイコン４０Ａ及びミキサプラグインアイコン４０Ｂと、音声出力プラグインアイコン４１Ａ及び音声入力プラグインアイコン４１Ｂとを入力端子及び出力端子間で接続することによってＤＳＰプラグイン同志の接続状況をユーザに対して視覚的に示すようにした場合について述べたが、本発明はこれに限らず、ロードしたＤＳＰプラグインをマトリクス状に配置して表示することによってＤＳＰプラグイン同志の接続状態を示すようにしても良い。
【０１７２】
さらに上述の実施の形態においては、ＨＤＤ１１のハードディスクから立ち上げたレコーディング処理プログラム３０に基づいて上述の遠隔地間レコーディング処理を実行するようにした場合について述べたが、本発明はこれに限らず、レコーディング処理プログラム３０の格納されたプログラム格納媒体をパーソナルコンピュータ３及び４にインストールすることにより、遠隔地間レコーディング処理を実行するようにしても良い。
【０１７３】
このように上述した一連の遠隔地間レコーディング処理を実行するレコーディング処理プログラム３０をパーソナルコンピュータ３及び４にインストールし、当該パーソナルコンピュータ３及び４において実行可能な状態にするために用いられるプログラム格納媒体としては、例えばフロッピーディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）等のパッケージメディアのみならず、レコーディング処理プログラム３０が一時的もしくは永続的に格納される半導体メモリや磁気ディスク等で実現しても良い。また、これらプログラム格納媒体にレコーディング処理プログラム３０を格納する手段としては、ローカルエリアネットワークやインターネット、ディジタル衛生放送等の有線及び無線通信媒体を利用しても良く、ルータやモデム等の各種通信インターフェースを介して格納するようにしても良い。
【０１７４】
パケット単位の第１コンテンツデータとしてのドラムパケットデータＤｒＰＤ１、ＤｒＰＤ２及びピアノパケットデータＰｉＰＤ１、ＰｉＰＤ２にタイムスタンプ「００００」を付加して順次出力する第１コンテンツデータ出力手段としてのレコーダプラグイン３３Ａと、タイムスタンプ「００００」と同一のタイムスタンプ「００００」が付加された第１コンテンツデータに対応したパケット単位の第２コンテンツデータとしてのギターパケットデータＧｉＰＤ１、ＧｉＰＤ２を外部のパーソナルコンピュータ４から入力する入力手段としてのレコーダプラグイン３３Ａと、タイムスタンプ「００００」に基づいて第１コンテンツデータと第２コンテンツデータとを時間的に同期させるように調整するタイミング補正手段としてのＩＯマネージャ３２とによってコンテンツ編集装置としての遠隔地間レコーディングシステム１を構築するようにした場合について述べたが、本発明はこれに限らず、他の種々の第１コンテンツデータ出力手段、入力手段及びタイミング補正手段によってコンテンツ編集装置を構築するようにしても良い。
【０１７５】
【発明の効果】
上述のように本発明によれば、パケット単位の第１コンテンツデータにタイムスタンプを順次付加して出力する第１コンテンツデータ出力手段と、タイムスタンプと同一の値でなる待ちタイムスタンプを第１入力端子に設定したうえで、当該待ちタイムスタンプと第１コンテンツデータに付加されたタイムスタンプとが一致したとき、第１コンテンツデータを第１入力端子を介して入力し、待ちタイムスタンプを第２入力端子に設定したうえで、タイムスタンプと同一の値でなるタイムスタンプが付加された第１コンテンツデータに対応するパケット単位の第２コンテンツデータにおけるタイムスタンプと待ちタイムスタンプとが一致したとき、第２コンテンツデータを外部から第２入力端子を介して入力する入力手段と、タイムスタンプに基づいて第１コンテンツデータと第２コンテンツデータとを時間的に同期させるように調整するタイミング補正手段とを具え、入力手段は、タイミング補正手段による処理中に、外部から第３コンテンツデータを追加入力するとき、当該第３コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第３入力端子に設定し、当該設定した待ちタイムスタンプと第３コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ第３コンテンツデータを入力し、タイミング調整手段は、第１コンテンツデータ、第２コンテンツデータ及び第３コンテンツデータにそれぞれ付加されているタイムスタンプに基づいて第１コンテンツデータ、第２コンテンツデータ及び第３コンテンツデータを時間的に同期させるように調整することにより、最大遅れ時間の経過後には第１コンテンツデータ、第２コンテンツデータ及び第３コンテンツデータのタイムスタンプが全て揃って時間的に同期させるように確実に調整し得ると共に、最大遅れ時間が経過するまでは第１コンテンツデータ及び第２コンテンツデータを時間的に同期させるように調整することを継続し得、かくしてリアルタイム性が要求される第１、第２及び第３コンテンツデータの時間的なタイミングずれを補正して正確に編集し得るコンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムを実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態における遠隔地間レコーディングシステムの全体構成を示す略線的概略図である。
【図２】パーソナルコンピュータの回路構成を示すブロック図である。
【図３】レコーディング処理プログラムの構成を示す略線図である。
【図４】ワークスペース画面を示す略線図である。
【図５】ＤＳＰプラグインがロードされたワークスペース画面を示す略線図である。
【図６】他のパーソナルコンピュータと接続されたときのワークスペース画面を示す略線図である。
【図７】他のパーソナルコンピュータのプラグインと接続されたときのワークスペース画面を示す略線図である。
【図８】タイミング補正処理の説明に供する略線図である。
【図９】レコーディング処理中に新たな入力が加わったときのタイミング補正処理の説明に供する略線図である。
【図１０】処理中にプラグインの接続が解除されたときのタイミング補正処理の説明に供する略線図である。
【図１１】待ちタイムスタンプのパケットデータよりも後のパケットデータが送られてきた時のタイミング補正処理の説明に供する略線図である。
【図１２】ミキサＧＵＩプラグイン画面を示す略線図である。
【図１３】レコーディング処理手順を示すフローチャートである。
【図１４】ＤＳＰプラグインのロード処理手順を示すフローチャートである。
【図１５】ＤＳＰプラグインのロード処理手順におけるワークスペースとＩＯマネージャとのやりとりの説明に供する略線図である。
【図１６】ＤＳＰプラグインの接続管理処理手順を示すフローチャートである。
【図１７】ＤＳＰプラグインの接続管理処理手順におけるワークスペースとＩＯマネージャとのやりとりの説明に供する略線図である。
【図１８】ＤＳＰプラグインのパラメータ調整処理手順を示すフローチャートである。
【図１９】ＤＳＰプラグインのパラメータ調整処理手順におけるＧＵＩプラグインとＤＳＰプラグインとのやりとりの説明に供する略線図である。
【図２０】タイミング補正処理手順を示すフローチャートである。
【符号の説明】
１……遠隔地間レコーディングシステム、２……インターネット、３、４……パーソナルコンピュータ、１０、２１０……ＣＰＵ、１１、２１１……ＨＤＤ、１２、２１２……ＲＡＭ、３０、２３０……レコーディング処理プログラム、３１、２３１……ワークスペース、３２、２３２……ＩＯマネージャ、３３、２３３……ＤＳＰプラグイン、３４、２３４……ＧＵＩプラグイン、４０Ａ……レコーダプラグインアイコン、４０Ｂ……ミキサプラグインアイコン、４１Ａ……音声出力プラグインアイコン、４１Ｂ……音声入力プラグインアイコン。
【図１】
0004318013.tif 000002
【図２】
0004318013.tif 000003
【図３】
0004318013.tif 000004
【図４】
0004318013.tif 000005
【図５】
0004318013.tif 000006
【図６】
0004318013.tif 000007
【図７】
0004318013.tif 000008
【図８】
0004318013.tif 000009
【図９】
0004318013.tif 000010
【図１０】
0004318013.tif 000011
【図１１】
0004318013.tif 000012
【図１２】
0004318013.tif 000013
【図１３】
0004318013.tif 000014
【図１４】
0004318013.tif 000015
【図１５】
0004318013.tif 000016
【図１６】
0004318013.tif 000017
【図１７】
0004318013.tif 000018
【図１８】
0004318013.tif 000019
【図１９】
0004318013.tif 000020
【図２０】
0004318013.tif 000021