JP4318013B2 - Content editing apparatus, content editing method, program storage medium, and content editing system - Google Patents
Content editing apparatus, content editing method, program storage medium, and content editing system Download PDFInfo
- Publication number
- JP4318013B2 JP4318013B2 JP2000264242A JP2000264242A JP4318013B2 JP 4318013 B2 JP4318013 B2 JP 4318013B2 JP 2000264242 A JP2000264242 A JP 2000264242A JP 2000264242 A JP2000264242 A JP 2000264242A JP 4318013 B2 JP4318013 B2 JP 4318013B2
- Authority
- JP
- Japan
- Prior art keywords
- content data
- time stamp
- plug
- input
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、コンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムに関し、例えば各遠隔地からインターネットを介して送信されてきたそれぞれのコンテンツデータの同期を保証することによりリアルタイム性が要求される例えば音楽データ等のコンテンツの編集を行うコンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムに適用して好適なものである。
【0002】
【従来の技術】
従来、パーソナルコンピュータにおいては、処理能力の向上に伴って音楽データやビデオデータ等の種々のコンテンツデータに対する編集処理を容易に実行し得るようになされており、ユーザの様々な編集処理の要求を十分に実現している。
【0003】
またパーソナルコンピュータは、処理能力の向上によって例えばレコーディングを行うときに必要なミキサやレコーダ等のディジタル信号処理部分をソフトウェアで実行することが可能となっており、コンテンツデータの編集を容易に実行し得るようになされている。
【0004】
従ってパーソナルコンピュータは、当該パーソナルコンピュータに接続された複数のマイクを介してギターのオーディオデータ、ベースのオーディオデータ、ピアノのオーディオデータ及びドラムのオーディオデータ等の各種オーディオデータをそれぞれ取り込み、これらを内蔵のソフトウェアによって構成されるレコーダによってハードディスクに一旦記録し、ミキサによって所望の音質に調整した後に合成することにより2ch(Rチャンネル及びLチャンネル)の録音用データを生成し得るようになされている。
【0005】
【発明が解決しようとする課題】
ところでかかる構成のパーソナルコンピュータにおいては、例えば複数種類のミキサ機能を同時に用いてミキシング調整を行う必要がある場合、CPU(Central Processing Unit )の処理能力の限界から、ミキシング調整を行っている間には他のレコーダやエフェクタを動作させることができず、所望音質の録音用データを生成し得ないという問題があった。
【0006】
またパーソナルコンピュータにおいては、例えば東京のスタジオに設置された当該パーソナルコンピュータと、海外のニューヨーク、ロンドン、パリにそれぞれ設置された他のパーソナルコンピュータとの間でオーディオデータを授受し、最終的に東京のスタジオで2chの録音用データを生成して収録を行う場合、まず東京のスタジオからニューヨーク、ロンドン、パリにそれぞれ設置された他のパーソナルコンピュータに対して予め収録しておいたドラムのオーディオデータを再生して伝送する。
【0007】
ニューヨークに設置された他のパーソナルコンピュータは、東京のパーソナルコンピュータから伝送されたドラムのオーディオデータに基づいてドラムの演奏音を再生してスピーカから出力し、当該ドラムの演奏音に合わせて演奏されたギターのオーディオデータをマイクを介して取り込み、これを東京のスタジオに設置されたパーソナルコンピュータにインターネットを介して送り返す。
【0008】
同様に、ロンドン及びパリに設置された他のパーソナルコンピュータも、東京のパーソナルコンピュータから伝送されたドラムのオーディオデータに基づいてドラムの演奏音を再生してスピーカから出力し、当該ドラムの演奏音に合わせて演奏されたピアノ及びベースのオーディオデータをマイクを介してそれぞれ取り込み、これらを東京のスタジオに設置されたパーソナルコンピュータにインターネットを介して送り返す。
【0009】
東京のスタジオに設置されたパーソナルコンピュータは、ニューヨーク、ロンドン及びパリにそれぞれ設置された他のパーソナルコンピュータからインターネットを介してそれぞれ送り返されたギター、ピアノ及びベースのオーディオデータをそれぞれ取り込むが、このときこれらのオーディオデータは往復の伝送路遅延や、他のパーソナルコンピュータでの信号処理時間分の遅延が生じていると共に、これらの遅延時間がそれぞれ予測できない状態にある。
【0010】
従って東京のパーソナルコンピュータは、ドラムのオーディオデータを再生したことにより得られたドラムの演奏音と、ニューヨーク、ロンドン、パリの他のパーソナルコンピュータから送り返されてきたギター、ピアノ及びベースの演奏音との間には伝送路遅延分のタイミングのずれがそれぞれ生じてしまい、リアルタイム性が要求される音楽の録音用データを生成することは困難であるという問題があった。
【0011】
本発明は以上の点を考慮してなされたもので、複数の端末間でリアルタイム性が要求されるコンテンツデータの時間的なタイミングずれを補正して正確に編集し得るコンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムを提案しようとするものである。
【0012】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、パケット単位の第1コンテンツデータにタイムスタンプを順次付加して出力する第1コンテンツデータ出力手段と、タイムスタンプと同一の値でなる待ちタイムスタンプを第1入力端子に設定したうえで、当該待ちタイムスタンプと第1コンテンツデータに付加されたタイムスタンプとが一致したとき、第1コンテンツデータを第1入力端子を介して入力し、待ちタイムスタンプを第2入力端子に設定したうえで、タイムスタンプと同一の値でなるタイムスタンプが付加された第1コンテンツデータに対応するパケット単位の第2コンテンツデータにおけるタイムスタンプと待ちタイムスタンプとが一致したとき、第2コンテンツデータを外部から第2入力端子を介して入力する入力手段と、タイムスタンプに基づいて第1コンテンツデータと第2コンテンツデータとを時間的に同期させるように調整するタイミング補正手段とを具え、入力手段は、タイミング補正手段による処理中に、外部から第3コンテンツデータを追加入力するとき、当該第3コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第3入力端子に設定し、当該設定した待ちタイムスタンプと第3コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ第3コンテンツデータを入力し、タイミング調整手段は、第1コンテンツデータ、第2コンテンツデータ及び第3コンテンツデータにそれぞれ付加されているタイムスタンプに基づいて第1コンテンツデータ、第2コンテンツデータ及び第3コンテンツデータを時間的に同期させるように調整することにより、最大遅れ時間の経過後には第1コンテンツデータ、第2コンテンツデータ及び第3コンテンツデータのタイムスタンプが全て揃って時間的に同期させるように確実に調整し得ると共に、最大遅れ時間が経過するまでは第1コンテンツデータ及び第2コンテンツデータを時間的に同期させるように調整することを継続し得る。
【0013】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【0014】
(1)遠隔地間レコーディングシステムの全体構成
図1において、1は全体として遠隔地間レコーディングシステムを示し、例えば東京に設置されたパーソナルコンピュータ3に対して、遠隔地であるニューヨークに設置されたパーソナルコンピュータ4がインターネット2を介して互いに接続されている。
【0015】
この場合、東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4とは、インターネット2を介して互いにTCP/IP(Transmission Control Protocol/Internet Protocol )のプロトコルでデータ通信を行うようになされており、オーディオデータやビデオデータ等のリアルタイム性が要求されるコンテンツデータをパケット単位で互いに送受信し得るようになされている。
【0016】
この遠隔地間レコーディングシステム1では、音楽制作環境においてオーディオデータに関するレコーディング編集処理を東京のパーソナルコンピュータ3及びニューヨークのパーソナルコンピュータ4間で実行する場合を一例として以下説明する。
【0017】
東京のパーソナルコンピュータ3は、例えばドラムのオーディオデータ及びピアノのオーディオデータを予め内蔵のハードディスク(図示せず)に記憶しており、当該ドラム及びピアノのオーディオデータを読み出し、インターネット2を介してニューヨークのパーソナルコンピュータ4へ伝送する。
【0018】
ニューヨークのパーソナルコンピュータ4は、インターネット2を介して東京のパーソナルコンピュータ3から伝送されたドラム及びピアノのオーディオデータに基づいてドラム再生音及びピアノ再生音を生成し、これをスピーカ4Cから出力する。
【0019】
このときニューヨークのパーソナルコンピュータ4は、演奏者(図示せず)によりドラム及びピアノの再生音に合わせて演奏されたギターのオーディオ信号をマイク4A及び4Bを介して取り込んだ後にディジタルのオーディオデータに変換し、これをインターネット2を介して東京のパーソナルコンピュータ3へ伝送する。
【0020】
東京のパーソナルコンピュータ3は、ニューヨークのパーソナルコンピュータ4から伝送されてきたギターのオーディオデータを、ドラム及びピアノのオーディオデータに自動的にタイミングを合わせて一旦記憶した後、ミキシングすることにより例えばCD(Compact Disc)に記録するための2ch(Lチャンネル及びRチャンネル)の録音用データを生成するようになされている。
【0021】
ところで、実際にドラム及びピアノのオーディオデータがニューヨークのパーソナルコンピュータ4に到達した時点で、東京のパーソナルコンピュータ3がドラム及びピアノのオーディオデータを送信した時から伝送路上での遅延が既に発生し、パーソナルコンピュータ4から伝送されたギターのオーディオデータが東京のパーソナルコンピュータ3に到達した時点でも伝送路上での遅延が発生しており、さらにパーソナルコンピュータ4における信号処理時間分の遅延も発生している。
【0022】
従って東京のパーソナルコンピュータ3は、ニューヨークのパーソナルコンピュータ4からギターのオーディオデータを受信した時点で、既にドラム及びピアノのオーディオデータを伝送したときから往復分の伝送路遅延と信号処理時間分の遅延が生じているので、当該遅延によるタイミングのずれを補正することにより、遠隔地間においても同時並行的にレコーディング処理を実行してCDに記録するための2chの録音用データを生成し得るようになされている。以下、遅延のタイミング補正を含めた遠隔地間レコーディングシステム1について詳述する。
【0023】
(1−1)パーソナルコンピュータの回路構成
図2に示すように、パーソナルコンピュータ3は当該パーソナルコンピュータ3を統括的に制御すると共に各楽器毎のオーディオデータを編集して2chの録音用データを生成するCPU(Central Processing Unit )10に対して、ハードディスクドライブ(HDD)11、RAM(Random Access Memory)12、TCP/IPのプロトコルでニューヨークのパーソナルコンピュータ4とインターネット2を介してデータ通信を行うための通信インターフェース13、外部入力端子14、外部出力端子15及びモニタ16がバス17を介して接続されている。
【0024】
この場合、外部入力端子14には例えばマイク3A及び3B(図1)が接続され、外部出力端子15には例えばスピーカ3Cが接続される。従ってパーソナルコンピュータ3は、マイク3A及び3Bを介してボーカルの音声を集音し、録音用データに重ねて再度録音することも可能である。
【0025】
ハードディスクドライブ11には、例えばWindows98( Microsoft社、商標)等のオペレーティングシステムプログラムや、本発明における遠隔地間レコーディング処理を実行するためのレコーディング処理プログラム(後述する)等の各種アプリケーションプログラムが格納されている。
【0026】
CPU10は、ハードディスクドライブ11に格納された各種プログラムを適宜読み出し、これをRAM12に展開して実行することにより種々の処理を実行し、当該処理結果をモニタ16に表示するようになされている。
【0027】
なおパーソナルコンピュータ4についても、パーソナルコンピュータ3と同様の回路構成であり、付加された番号(210〜217)がパーソナルコンピュータ3とは異なるだけなので、ここでは説明を省略する。
【0028】
(2)遠隔地間レコーディング処理
この場合の遠隔地間レコーディングシステム1(図1)においては、主に東京のパーソナルコンピュータ3を中心として遠隔地間レコーディング処理を制御する場合を一例として説明する。
【0029】
因みに遠隔地間レコーディングシステム1では、東京のパーソナルコンピュータ3ではなくニューヨークに設置されたパーソナルコンピュータ4によっても遠隔地間レコーディング処理を制御することが可能なシステムであり、いずれがマスタで、いずれがスレーブとなっても差し支えない。
【0030】
(2−1)遠隔地間接続処理
まず東京のパーソナルコンピュータ3(図2)は、電源ボタンの投入に応じて起動した後に遠隔地間レコーディング処理を行うための命令が与えられると、CPU10の制御によりHDD11のハードディスクからレコーディング処理プログラムを読み出してRAM12に展開する。
【0031】
ここで、図3に示すようにレコーディング処理プログラム30は、ワークスペース31、IO(In-Out)マネージャ32、DSP(Digital Signal Processor)プラグイン33A〜33N及びGUI(Graphical User Interface)プラグイン34A〜34Nと呼ばれる4種類のオブジェクトが階層的に互いに連携して構成されている。
【0032】
従ってパーソナルコンピュータ3は、ワークスペース31、IOマネージャ32、DSPプラグイン33A〜33N及びGUIプラグイン34A〜34Nの各オブジェクトが所定の処理を実行し、その処理結果をモニタ16に表示するようになされている。
【0033】
なおニューヨークのパーソナルコンピュータ4についても、同様にレコーディング処理プログラム230を有しており、ワークスペース231、IOマネージャ232、DSPプラグイン233A〜233N及びGUIプラグイン234A〜234Nと呼ばれる4種類のオブジェクトが階層的に互いに連携して構成されている。
【0034】
因みにDSPプラグイン33A〜33N及び233A〜233Nは、パーソナルコンピュータ3及び4が保持しているディジタル信号処理機能の数にそれぞれ対応しており、GUIプラグイン34A〜34N及び234A〜234NはDSPプラグイン33A〜33N及び233A〜233Nの各パラメータを調整するためのオブジェクトであり、それぞれ1対1に対応している。
【0035】
ここで本実施の形態においては、以降の説明を各オブジェクト同志の係わり合いとして説明するために、便宜上ワークスペース31及び231、IOマネージャ32及び232、DSPプラグイン33A〜33N及び233A〜233N、GUIプラグイン34A〜34N及び234A〜234Nを主体として説明するが、実際には全てCPU10及び210が各種処理を実行しているものである。
【0036】
ワークスペース31は、DSPプラグイン33A〜33Nのロード及びアンロードを制御し、当該DSPプラグイン33A〜33N同志又はDSPプラグイン33A〜33Nとニューヨークのパーソナルコンピュータ4が保持するDSPプラグイン233A〜233Nとの接続管理を行い、GUIプラグイン34A〜34Nのロード及びアンロードを制御し、DSPプラグイン33A〜33N及びDSPプラグイン233A〜233N全体のDSPプラグイン同志の接続状態を表示制御するようになされている。
【0037】
すなわちワークスペース31は、現在ロード中のDSPプラグイン33A〜33Nに関するプラグインリスト、IOマネージャ32及び232に対する問い合わせ結果に基づいて作成したDSPプラグイン33A〜33N及びDSPプラグイン233A〜233N全体の接続状態を表す接続状態データ及び当該ワークスペース31自身固有のワークスペースID(Identification)を保持し、これら各種データに基づいて上述の表示制御を行うようになされている。
【0038】
IOマネージャ32は、ロード中のDSPプラグイン33A〜33Nに対する個々のプラグインデータと、IOマネージャ32自身固有のIOマネージャIDを有し、DSPプラグイン33A〜33Nの接続管理と当該DSPプラグイン33A〜33Nによってそれぞれ処理されるパケット単位のデータ管理を行い、ワークスペース31に対してDSPプラグイン33A〜33Nに関する接続管理状態を所定時間間隔毎に通知するようになされている。
【0039】
この場合のプラグインデータには、ロードされているDSPプラグインのメーカー名や予め当該DSPプラグインに対応付けられたデフォルトのGUIプラグイン等を表す種類識別情報、DSPプラグイン自身に割り当てられたプラグインID、当該DSPプラグイン自身の階層レベル(最上位から順に0、1、2、……)、DSPプラグインの出力先を示す出力先リスト、当該DSPプラグインに対する入力先を示す入力先リストが含まれている。
【0040】
さらに出力先リストには、DSPプラグインの出力端子に対応した出力ID、出力端子階層レベル(最上位から順に0、1、2、……)及び接続先情報(ハードウェアID、プラグインID及び入力端子に対応した入力ID)が含まれると共に、入力先リストには、DSPプラグインの入力端子に対応した入力ID、入力端子階層レベル(最上位から順に0、1、2、……)及び入力に対する有効又は無効を表す有効フラグが含まれている。
【0041】
このようにIOマネージャ32は、プラグインデータを保持することにより、DSPプラグイン33A〜33Nの接続管理状態を詳細に認識し得ると共に、パケット単位のオーディオデータの入出力先を各DSPプラグイン33A〜33Nに対して正確に指示し得るようになされている。
【0042】
DSPプラグイン33A〜33Nは、ワークスペース31によってロード又はアンロードされ、接続されている前段のDSPプラグインから供給されたパケット単位のオーディオデータに対して所定のディジタル信号処理を施し、その結果得られる処理データをIOマネージャ32の指示に従って所定の送信先である後段のDSPプラグインに対して送信するようになされている。
【0043】
ここでDSPプラグイン33A〜33Nは、それぞれが独立したメモリ空間上で動作するようになされており、これによりあるメモリ空間上で動作していたDSPプラグイン33Aが機能しなくなった場合でも、その影響が他のDSPプラグイン33B〜33Nに与えられることはない。
【0044】
GUIプラグイン34A〜34Nは、1対1にそれぞれ対応するDSPプラグインの下位DSPプラグインにおけるリスト及び当該下位DSPプラグインにおける接続状態データリスト、当該DSPプラグインのパラメータに関するパラメータ調整データ及びGUIプラグイン自身のGUIプラグインIDを有し、ワークスペース31によってロード又はアンロードされ、DSPプラグイン33A〜33Nにおける各種機能に関するパラメータを調整し得るようになされている。
【0045】
なお、DSPプラグイン33A〜33Nが下位階層に位置する複数の下位DSPプラグインによって構成されている場合、当該下位GUIプラグインは上位のGUIプラグイン34A〜34Nによってロード又はアンロードされるようになされている。
【0046】
実際上、DSPプラグイン33A〜33Nとしては、外部入力端子14を介して接続されたマイク3A及び3Bにより集音されたオーディオ信号に対するアナログディジタル変換処理機能としての音声入力プラグイン、外部出力端子15を介して接続されたスピーカ3Cを介して演奏音を出力するためのオーディオデータのディジタルアナログ変換処理機能としての音声出力プラグイン、オーディオデータに対して所定の音質効果を与えるエフェクタ機能としてのエフェクタプラグイン、オーディオデータの再生及び録音を行うレコーダ機能としてのレコーダプラグイン及びミキシングを行うミキサ機能としてのミキサプラグイン等が存在する。
【0047】
ワークスペース31は、これらの各種DSPプラグイン33A〜33Nにそれぞれ対応するプラグインアイコン(後述する)をモニタ16に表示するようになされており、当該モニタ16の画面上でそれぞれのプラグインアイコンをユーザの指定に従って接続することにより、複数のDSPプラグイン33A〜33N及び233A〜233Nにおける各種機能を組み合わせて所望音質の録音用データを編集して生成し得るようになされている。
【0048】
すなわちレコーディング処理プログラム30においてワークスペース31は、まず図4に示すようなワークスペース画面20をモニタ16に表示する。このワークスペース画面20には、ほぼ中央のIOマネージャ表示部21、複数の各種DSPプラグイン33A〜33Nのプラグインリストを表示したツールボックス22及び再生、停止、早戻し、早送り、一時停止等の各種操作を行うためのトランスポートウィンドウ23がそれぞれ設けられている。
【0049】
因みに、このときのワークスペース画面20には、IOマネージャ表示部21に何も表示されておらず、DSPプラグイン33A〜33Nのいずれも選択されていない状態であることを示している。
【0050】
ユーザが、ワークスペース画面20のツールボックス22の中からセレクトボタン22Xと、ロードを希望するものとして例えば図3に示したDSPプラグイン33A及び33B(以下、これをレコーダプラグイン33A及びミキサプラグイン33Bと呼ぶ)に対応するプラグインボタン22A及び22Bとをクリックした後、IOマネージャ表示部21をクリックすると、ワークスペース31はHDD11のハードディスクからレコーダプラグイン33A及びミキサプラグイン33Bを読み出してロードすると共に、図5に示すように当該レコーダプラグイン33A及びミキサプラグイン33Bに対応するレコーダプラグインアイコン40A及びミキサプラグインアイコン40BをIOマネージャ表示部21に表示する。
【0051】
この場合のレコーダプラグインアイコン40Aには、左側に6ch分の入力端子(○印で示す)と右側に6ch分の出力端子(○印で示す)とが設けられ、ミキサプラグインアイコン40Bにはレコーダプラグインアイコン40Aの出力端子に対応した6ch分の入力端子(○印で示す)と、最終的な2chの録音用データを出力するための2ch分の出力端子(○印で示す)とが設けられている。
【0052】
次にユーザが、ワークスペース画面20のツールボックス22の中からコネクトボタン22Yをクリックし、レコーダプラグインアイコン40Aの出力端子からミキサプラグインアイコン40Bの入力端子へドラッグアンドドロップすると、IOマネージャ32はレコーダプラグイン33Aの出力とミキサプラグイン33Bの入力とを接続すると共に、IOマネージャ表示部21のレコーダプラグインアイコン40Aの接続元出力端子(○印で示す)とミキサプラグインアイコン40Bの接続先入力端子(○印で示す)とを画面上で接続して表示する。
【0053】
ここでレコーダプラグイン33Aとは、HDD11のハードディスクに記録されたドラム及びピアノのオーディオデータに対する再生処理を行う再生系と、外部のニューヨークのパーソナルコンピュータ4から伝送されてくるギターのオーディオデータに対する記録処理を行う記録系とを有している。
【0054】
この場合、レコーダプラグイン33Aは、レコーダプラグインアイコン40Aにおける6chの入力端子のうち最も下方に位置する2chを介して、ニューヨークのパーソナルコンピュータ4からインターネット2を介して伝送されるLチャンネル及びRチャンネルのギターのオーディオデータを入力して録音処理し得るようになされている。
【0055】
またミキサプラグイン33Bは、ミキサプラグインアイコン40Bで示されている通り、レコーダプラグイン33Aから出力された合計6ch分のオーディオデータを入力してミキシングすることにより最終的な2chの録音用データを出力し得るようになされている。
【0056】
次に、ユーザがワークスペース画面20の左上端部に設けられた接続ボタン25をクリックすると、ワークスペース31は接続先のIP(Internet Protocol)アドレスを入力するためのIPアドレス入力画面(図示せず)をワークスペース画面20に重ねて表示する。
【0057】
そして、ユーザがIPアドレス入力画面に接続を希望するニューヨークのパーソナルコンピュータ4のIPアドレスを入力すると、ワークスペース31は東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4とをインターネット2を介してネットワーク接続し、図6に示すようにIOマネージャ表示部21に重ねてニューヨークのパーソナルコンピュータ4に対応したIOマネージャ表示部27を表示する。
【0058】
この結果ワークスペース31(図3)は、ニューヨークのパーソナルコンピュータ4におけるレコーディング処理プログラム230のIOマネージャ232とインターネット2を介してネットワーク接続されたことになる。
【0059】
なお、この状態のワークスペース画面20では、IOマネージャ表示部27が現在アクティブなウィンドウであり、IOマネージャ表示部21が非アクティブなウィンドウとなっている。
【0060】
続いて、ユーザがワークスペース画面20のツールボックス22の中からセレクトボタン22Xと、ロードを希望するものとして例えば音声出力プラグイン233A及び音声入力プラグイン233B(図3)に対応するプラグインボタン22C及び22Dとをクリックした後、IOマネージャ表示部27をクリックすると、ワークスペース31はニューヨークのパーソナルコンピュータ4におけるIOマネージャ232に対して音声出力プラグイン233A及び音声入力プラグイン233Bを当該パーソナルコンピュータ4側で立ち上げる起動命令をインターネット2を介して送信する。
【0061】
これによりワークスペース31は、ニューヨークのパーソナルコンピュータ4側で音声出力プラグイン233A及び音声入力プラグイン233Bを起動させると共に、当該音声出力プラグイン233A及び音声入力プラグイン233Bに対応する音声出力プラグインアイコン41A及び音声入力プラグインアイコン41BをIOマネージャ表示部27に表示する。
【0062】
この後ユーザが、ツールボックス22の中からコネクトボタン22Yをクリックし、音声入力プラグインアイコン41Bの接続元出力端子(○印で示す)からレコーダプラグインアイコン40Aの最も下方に位置する2ch分の接続先入力端子(○印で示す)へドラッグアンドドロップし、ミキサプラグインアイコン40Bの接続元出力端子(○印で示す)から音声出力プラグインアイコン41Aの接続先入力端子(○印で示す)へドラッグアンドドロップすると、IOマネージャ32はレコーダプラグイン33A及びミキサプラグイン33Bと、音声出力プラグイン233A及び音声入力プラグイン233Bとをインターネット2を介して遠隔地間接続するようになされている。
【0063】
このときワークスペース31は、図7に示すようにIOマネージャ表示部21のレコーダプラグインアイコン40A及びミキサプラグインアイコン40Bと、IOマネージャ表示部27の音声出力プラグインアイコン41A及び音声入力プラグインアイコン41Bとをワークスペース画面20上で接続して表示することにより、東京のパーソナルコンピュータ3が持つレコーダプラグイン33A及びミキサプラグイン33Bと、ニューヨークのパーソナルコンピュータ4が持つ音声出力プラグイン233A及び音声入力プラグイン233Bとが遠隔地間接続されたことをユーザに対して視覚的に認識させ得るようになされている。
【0064】
この結果、レコーダプラグイン33Aの最も下方に位置する2chの入力端子には、ニューヨークのパーソナルコンピュータ4における音声入力プラグイン233Bからインターネット2を介して伝送される2chのギターのオーディオデータが入力され、ミキサプラグイン33Bの2chの出力端子には音声出力プラグイン233Aの2chの入力端子が接続されることになる。
【0065】
これにより遠隔地間レコーディングシステム1は、東京のパーソナルコンピュータ3におけるレコーダプラグイン33Aで再生し、ミキサプラグイン33Bでミキシングしたドラム及びピアノのオーディオデータを、ニューヨークのパーソナルコンピュータ4における音声出力プラグイン233Aに送信し、当該音声出力プラグイン233Aを介してスピーカ(図示せず)からドラム及びピアノの演奏音として出力することができる。
【0066】
そして遠隔地間レコーディングシステム1は、ニューヨークのパーソナルコンピュータ4でドラム及びピアノの演奏音に合わせて演奏されたギターのオーディオ信号をマイク4A及び4Bを介して音声入力プラグイン233Bに取り込み、当該音声入力プラグイン233Bを介してギターのオーディオデータとして東京のパーソナルコンピュータ3におけるレコーダプラグイン33Aに返信する。
【0067】
東京のパーソナルコンピュータ3は、レコーダプラグイン33Aの再生系によってHDD11のハードディスクから読み出して再生したドラム及びピアノのオーディオデータと同期するように、当該レコーダプラグイン33Aの記録系によってギターのオーディオデータを記憶することにより、結果的に遠隔地間の伝送路遅延等によるレコーダプラグイン33Aの再生タイミングと記録タイミングのずれを補正した記憶処理を実行し得るようになされている。
【0068】
また遠隔地間レコーディングシステム1は、東京のパーソナルコンピュータ3におけるレコーダプラグイン33A及びミキサプラグイン33Bと、ニューヨークのパーソナルコンピュータ4で立ち上げられた音声出力プラグイン233A及び音声入力プラグイン233Bとを遠隔地間接続することにより、システム全体として見たときにレコーダ機能及びミキサ機能と音声出力機能及び音声入力機能とを東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4とに分散したことになる。
【0069】
かくして遠隔地間レコーディングシステム1は、東京のパーソナルコンピュータ3又はニューヨークのパーソナルコンピュータ4のいずれか一方だけではCPU10及び210の処理能力の限界から処理し得なかったことであっても、各種機能を分散して全体としての処理能力を向上し得たことにより、システム全体として実行することが可能となった。
【0070】
なおIOマネージャ32は、レコーダプラグイン33Aによるオーディオデータの再生中でも、ミキサプラグイン33Bやニューヨークのパーソナルコンピュータ4で立ち上げた音声出力プラグイン233A及び音声入力プラグイン233Bのロード又はアンロードを動的に実行し得るようになされており、これにより各種プラグインの組み合わせを何時でも自由に変更してユーザ所望の機能を組み合わせた遠隔地間レコーディングシステム1を構築し得るようになされている。
【0071】
(2−2)タイミング補正処理
次に、遠隔地間レコーディングシステム1における遠隔地間の伝送路遅延等によるレコーダプラグイン33Aの再生タイミングと記録タイミングとのずれを補正するタイミング補正処理について詳述する。
【0072】
(2−2−1)伝送路遅延に対するタイミング補正処理
上述の遠隔地間レコーディングシステム1においては、東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4とがインターネット2を介してネットワーク接続された場合、ネットワーク間で伝送路間遅延が必ず発生するので、ニューヨークのパーソナルコンピュータ4から送られてくるギターのオーディオデータをドラム及びピアノのオーディオデータと同期するようにHDD11のハードディスクに記憶するためには伝送路間遅延によるタイミングのずれを補正する必要がある。
【0073】
実際上、図8に示すようにレコーダプラグイン33A及びミキサプラグイン33Bには、内部のリアルタイムクロックによって生成されたマスタークロックMCLK1がIOマネージャ32からパケット周期毎に供給されていると共に、音声出力プラグイン233A及び音声出力プラグイン233Bにも、内部のリアルタイムクロックによって生成されたマスタークロックMCLK2がIOマネージャ232からパケット周期毎に供給されている。
【0074】
この場合、IOマネージャ32がレコーダプラグイン33A及びミキサプラグイン33Bに供給するマスタークロックMCLK1と、IOマネージャ232が音声出力プラグイン233A及び音声出力プラグイン233Bに供給するマスタークロックMCLK2とは互いに同期した状態に設定され、遠隔地間で同時に共通のマスタークロックMCLK1及びMCLK2が供給されるようになされている。
【0075】
すなわちレコーダプラグイン33Aは、その再生系を用いてドラム及びピアノのオーディオデータを再生し、当該再生した結果得られる2ch(Lチャンネル及びRチャンネル)のドラムパケットデータDrPD1(L)、DrPD2(R)及びピアノパケットデータPiPD1(L)、PiPD2(R)に対してマスタークロックMCLK1に基づくタイムスタンプ(TS)「0000」をIOマネージャ32の制御の基にそれぞれ付加し、次のドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2に対してはタイムスタンプ「0001」を付加し、順次パケット単位でタイムスタンプの値をインクリメントして付加することにより、タイムスタンプの付加されたドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2を生成し、これを順次ミキサプラグイン33Bへ出力する。
【0076】
なおIOマネージャ32は、レコーダプラグイン33A、ミキサプラグイン33B、音声出力プラグイン233A及び音声入力プラグイン233Bに対する接続状態をプラグインデータに基づいて認識しており、ドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2に対して次に送出する宛て先を示す接続先情報を指示するようになされている。
【0077】
これによりレコーダプラグイン33A、ミキサプラグイン33B、音声出力プラグイン233A及び音声入力プラグイン233Bは、IOマネージャ32の指示に基づいて接続先情報を付加し、当該接続先情報に従って所定の接続先のDSPプラグインに対して正確にパケットデータを送信することができる。
【0078】
このとき同時にIOマネージャ32は、レコーダプラグイン33Aの出力と接続されているミキサプラグイン33Bの4ch分の入力でタイムスタンプ「0000」の各種パケットデータの入力を待つように待ちタイムスタンプ「0000」を設定する。
【0079】
ミキサプラグイン33Bは、レコーダプラグイン33Aからタイムスタンプ「0000」が付加されたドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2が待ちタイムスタンプ「0000」の設定された4ch分の入力に到達すると、全ての入力にデータが到達した時点でミキシング処理を開始する。
【0080】
そしてミキサプラグイン33Bは、ミキシング処理を行ったことにより生成したミキシングデータMIXPD1及びMIXPD2に対してIOマネージャ32の制御の基にタイムスタンプ「0000」を付加し、これをタイムスタンプ「0000」のミキシングデータMIXPD1及びMIXPD2としてインターネット2を介してニューヨークにおけるパーソナルコンピュータ4の音声出力プラグイン233Aへ伝送する。
【0081】
このときワークスペース31は、パーソナルコンピュータ4のIOマネージャ232を介して、ミキサプラグイン33Bの出力と接続されている音声出力プラグイン233Aの2ch分の入力でタイムスタンプ「0000」のミキシングデータMIXPD1及びMIXPD2の入力を待つように待ちタイムスタンプ「0000」を設定する。
【0082】
この後IOマネージャ32は、ミキサプラグイン33Bの4ch分の入力でタイムスタンプ「0001」の各種パケットデータの入力を待つように待ちタイムスタンプ「0001」を設定し、順次レコーダプラグイン33Aから出力される各種パケットデータに合わせて待ちタイムスタンプの値をインクリメントしていくようになされている。
【0083】
音声出力プラグイン233Aは、ミキサプラグイン33Bからタイムスタンプ「0000」のミキシングデータMIXPD1及びMIXPD2が、待ちタイムスタンプ「0000」に設定された入力に到達すると、当該タイムスタンプ「0000」のミキシングデータMIXPD1及びMIXPD2をディジタルアナログ変換した後にスピーカ(図示せず)を介してドラム及びピアノの演奏音として出力する。
【0084】
実際上、音声出力プラグイン233Aは、同一のタイムスタンプが付加されたミキシングデータMIXPD1及びMIXPD2の入力が揃った時点で順次バッファリングを行い、IOマネージャ232から供給されるマスタークロックMCLK2に基づく指定タイミングで順次読み出してディジタルアナログ変換した後にスピーカを介して出力するようになされている。
【0085】
このように音声出力プラグイン233Aは、ミキシングデータMIXPD1及びMIXPD2のバッファリングを行って指定タイミングで出力することにより、ミキサプラグイン33Bから供給されるミキシングデータMIXPD1及びMIXPD2の供給間隔があいたときでも音楽が途中で途切れることを未然に防止し得るようになされている。
【0086】
この後IOマネージャ232は、音声出力プラグイン233Aの2ch分の入力で次のタイムスタンプ「0001」の各種パケットデータの入力を待つように待ちタイムスタンプ「0001」を設定し、順次ミキサプラグイン33Bから供給されるミキシングデータMIXPD1及びMIXPD2に合わせて待ちタイムスタンプの値をインクリメントしていくようになされている。
【0087】
音声入力プラグイン233Bは、音声出力プラグイン233Aからスピーカを介して出力されるドラム及びピアノの演奏音に合わせて演奏されたギターのオーディオ信号をディジタルのオーディオデータに変換すると共にパケット化し、さらにタイムスタンプ「0000」を付加することによりギターパケットデータGiPD1及びGiPD2を生成し、これをパーソナルコンピュータ3のレコーダプラグイン33Aへ伝送する。
【0088】
すなわち音声入力プラグイン233Bは、レコーダプラグイン33Aからタイムスタンプ「0000」の最初のドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2が出力された時点からすると、ギターパケットデータGiPD1及びGiPD2を出力する時点では既に伝送路遅延分だけ時間的に遅れているので、当該ギターパケットデータGiPD1及びGiPD2にタイムスタンプ「0000」を付加することにより、タイムスタンプ「0000」のドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2とタイムスタンプ「0000」のギターパケットデータGiPD1及びGiPD2とが同一タイミングのオーディオデータであることを示すようになされている。
【0089】
IOマネージャ32は、音声入力プラグイン233Bの出力と接続されたレコーダプラグイン33Aにおける記録系の入力にタイムスタンプ「0000」が付加されたギターパケットデータGiPD1及びGiPD2の入力を待つように待ちタイムスタンプ「0000」を設定する。
【0090】
これによりレコーダプラグイン33Aは、タイムスタンプ「0000」のギターパケットデータGiPD1及びGiPD2が待ちタイムスタンプ「0000」の入力に到達すると、タイムスタンプ「0000」のドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2と同期すうようにタイムスタンプ「0000」のギターパケットデータGiPD1及びGiPD2をHDD11のハードディスクに記憶制御するようになされている。
【0091】
かくしてレコーダプラグイン33Aは、伝送路遅延によって生じるドラム及びピアノのオーディオデータとギターのオーディオデータとの間のタイミングずれを補正し、当該ドラム及びピアノのオーディオデータと同期した状態でギターのオーディオデータを記憶し得るようになされている。
【0092】
(2−2−2)レコーディング処理中に新たな入力が加わったときのタイミング補正処理
ところで遠隔地間レコーディングシステム1においては、例えば図9(A)に示すようにIOマネージャ32によってミキサプラグイン33Bにおける2chの入力にタイムスタンプ「0002」のドラムパケットデータDrPD1及びDrPD2を待つように待ちタイムスタンプ「0002」を設定した状態で、新たに前段のレコーダプラグイン33AからピアノパケットデータPiPD1及びPiPD2の入力が加えられた場合、新たに加えられた入力に例えばタイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2を待つように待ちタイムスタンプ「0006」を設定する。
【0093】
ここで、IOマネージャ32がタイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2の入力を待つように待ちタイムスタンプ「0006」を設定したのは、ピアノパケットデータPiPD1及びPiPD2の入力が加えられてから実際に当該ピアノパケットデータPiPD1及びPiPD2が到達するまでに要する最大遅れ時間を見込んでのことである。
【0094】
すなわちIOマネージャ32は、ミキサプラグイン33Bに対して、前段のレコーダプラグイン33Aからタイムスタンプ「0002」のドラムパケットデータDrPD1及びDrPD2が入力されると、図9(B)に示すようにタイムスタンプ「0002」のミキシングデータMIXPD1及びMIXPD2が出力されるので、ドラムパケットデータDrPD1及びDrPD2に対する待ちタイムスタンプの値をタイムスタンプ「0003」にインクリメントする。
【0095】
この後IOマネージャ32は、ミキサプラグイン33Bに対して、前段のレコーダプラグイン33Aからタイムスタンプ「0003」のドラムパケットデータDrPD1及びDrPD2が入力されると、タイムスタンプ「0003」のミキシングデータMIXPD1及びMIXPD2が出力されるので、ドラムパケットデータDrPD1及びDrPD2に対して待ちタイムスタンプ「0004」にインクリメントし、順次タイムスタンプ「0006」までインクリメントしていく。
【0096】
すなわちIOマネージャ32は、ミキサプラグイン33Bの待ちタイムスタンプ「0006」が設定された入力にタイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2が到達するまでの間、待ちタイムスタンプ「0002」〜「0005」のドラムパケットデータDrPD1及びDrPD2に対するミキシング処理を当該ミキサプラグイン33Bで継続して実行するようになされており、これにより新たな入力が加えられたことによってドラムパケットデータDrPD1及びDrPD2に対するミキシング処理が滞ることを防止し得るようになされている。
【0097】
図9(C)に示すようにIOマネージャ32は、やがてミキサプラグイン33Bの入力でドラムパケットデータDrPD1及びDrPD2に対する待ちタイムスタンプ「0006」を設定することになったとき、4ch分の全ての入力でタイムスタンプ「0006」のドラムパケットデータDrPD1及びDrPD2と、タイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2とを待ち受けることになる。
【0098】
IOマネージャ32は、前段のレコーダプラグイン33Aからタイムスタンプ「0006」のドラムパケットデータDrPD1及びDrPD2と、タイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2とがミキサプラグイン33Bに入力され、タイムスタンプ「0006」のミキシングデータMIXPD1及びMIXPD2が出力されると、図9(D)に示すように4ch分の入力を待ちタイムスタンプ「0007」にインクリメントし、以降4ch分の入力について順次ミキシング処理を実行するようになされている。
【0099】
このようにIOマネージャ32は、レコーディング処理中に、新たに前段のレコーダプラグイン33AからピアノパケットデータPiPD1及びPiPD2の入力が加えられたとき、新たに加えられた入力に対して、実際に前段のレコーダプラグイン33AからピアノパケットデータPiPD1及びPiPD2がミキサプラグイン33Bに到達するまでに要する最大遅れ時間を見込んだ待ちタイムタンプを設定することにより、最大遅れ時間経過後には4ch分の入力が確実に全て揃って4ch分のミキシング処理を実行し得ると共に、4ch分の入力が揃うまでの間ドラムパケットデータDrPD1及びDrPD2に対するミキシング処理が滞ることなく継続して実行し得るようになされている。
【0100】
因みにIOマネージャ32は、ミキサプラグイン33Bで設定した待ちタイムスタンプ「0006」の入力で、タイムスタンプ「0005」のピアノパケットデータPiPD1及びPiPD2が到達したときでも、当該タイムスタンプ「0005」のピアノパケットデータPiPD1及びPiPD2の入力を受け付けることはなく、あくまでタイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2が到達することを待ち受けるようになされている。
【0101】
すなわちIOマネージャ32は、最大遅れ時間を見込んだ待ちタイムタンプ「0006」を設定し、タイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2を待ち受けるようにしたことにより、仮に最大遅れ時間よりも短い待ちタイムスタンプ「0003」に設定したときにタイムスタンプ「0006」のピアノパケットデータPiPD1及びPiPD2が到達して、4ch分の入力が揃わずにミキシング処理を永遠に実行し得なくなるような事態を未然に防止し得るようになされている。
【0102】
(2−2−3)レコーディング処理中に入力が解除されたときのタイミング補正処理
一方、遠隔地間レコーディングシステム1においては、例えば図10(A)に示すように、ミキサプラグイン33Bによってタイムスタンプ「0016」のミキシングデータMIXPD1及びMIXPD2を出力中に、前段のレコーダプラグイン33Aとの一部接続解消によってピアノパケットデータPiPD1、PiPD2の入力が解除された場合のタイミング補正処理について説明する。
【0103】
この場合IOマネージャ32は、図10(B)に示すようにレコーダプラグイン33Aとの接続が解消された時点では当該レコーダプラグイン33Aから既に到達しているタイムスタンプ「0017」のピアノパケットデータPiPD1及びPiPD2が存在するので、それらをミキシング処理した後、次のピアノパケットデータPiPD1、PiPD2の入力に対する待ちタイムスタンプ「0018」を「無効」に設定する。
【0104】
これによりミキサプラグイン33Bは、次のタイムスタンプ「0018」のピアノパケットデータPiPD1、PiPD2の入力を受け付けることなく無効にし、タイムスタンプ「0018」のドラムパケットデータDrPD1及びDrPD2に対してのみミキシング処理を行うようになされている。
【0105】
従ってIOマネージャ32は、それ以降については図10(C)に示すようにタイムスタンプ「0018」のミキシングデータMIXPD1及びMIXPD2を出力し、ピアノパケットデータPiPD1、PiPD2の入力に対する待ちタイムスタンプを「無効」に設定したまま、ドラムパケットデータDrPD1及びDrPD2の入力に対する待ちタイムスタンプだけを順次インクリメントしていく。
【0106】
このようにIOマネージャ32は、レコーディング処理中に、前段のレコーダプラグイン33Aとミキサプラグイン33Bとの間で一部接続解消によりピアノパケットデータPiPD1及びPiPD2の入力が解除されると、その時点でレコーダプラグイン33Aから既にミキサプラグイン33Bに送出されたピアノパケットデータPiPD1及びPiPD2についてはミキシング処理することになるが、それ以降に送られてきたピアノパケットデータPiPD1及びPiPD2については入力を受け付けることなく無効にすることにより、接続解消時点から遅滞なくドラムパケットデータDrPD1及びDrPD2だけに対するミキシング処理に円滑に移行し得るようになされている。
【0107】
(2−2−4)待ちタイムスタンプのパケットデータよりも後のパケットデータが送られてきたときのタイミング補正処理
次に遠隔地間レコーディングシステム1においては、例えば図11(A)に示すように、ミキサプラグイン33Bでタイムスタンプ「0021」のドラムパケットデータDrPD1及びDrPD2を待ち受け中に、一方のチャンネルの入力でタイムスタンプ「0022」のドラムパケットデータDrPD2が前段のレコーダプラグイン33Aから送られてきた場合のタイミング補正処理について説明する。
【0108】
この場合ミキサプラグイン33Bは、図11(B)に示すように、タイムスタンプ「0021」のドラムパケットデータDrPD2については受け取るが、タイムスタンプ「0022」のドラムパケットデータDrPD2については待ちタイムスタンプ「0021」と一致しないので受け取りを拒否し、IOマネージャ32に送り返すようになされている。
【0109】
IOマネージャ32は、タイムスタンプ「0022」のドラムパケットデータDrPD2を一旦バッファリングし、タイムスタンプ「0021」のドラムパケットデータDrPD2を新たにミキサプラグイン33Bに送出した後、タイムスタンプ「0022」のドラムパケットデータDrPD2をミキサプラグイン33Bに再送出するようになされている。
【0110】
因みに、このときミキサプラグイン33Bは、タイムスタンプ「0021」のドラムパケットデータDrPD1及びDrPD2が揃うまではミキシング処理を実行することはなく、ドラムパケットデータDrPD1とドラムパケットデータDrPD2との間でタイミングずれが生じることを確実に防止している。
【0111】
このようにIOマネージャ32は、ミキサプラグイン33Bで待ちタイムスタンプ「0021」よりも後のタイムスタンプ「0022」のドラムパケットデータDrPD2が受け取り拒否されて送り返されたときに、当該タイムスタンプ「0022」のドラムパケットデータDrPD2一旦バッファリングし、タイムスタンプ「0021」のドラムパケットデータDrPD2をミキサプラグイン33Bに送出した後、タイムスタンプ「0022」のドラムパケットデータDrPD2をミキサプラグイン33Bに再送出することにより、ミキサプラグイン33Bでパケットデータの順番が狂うことなくミキシング処理を実行させるように制御し得るようになされている。
【0112】
(2−2−5)GUIプラグインによるDSPプラグインのパラメータ調整処理またワークスペース31は、例えばミキサプラグインアイコン40Bがダブルクリックされると、ミキサプラグイン33Bに対応して設けられたミキサGUIプラグイン34Bをロードし、当該ミキサGUIプラグイン34Bに基づいて図12に示すようなミキサGUIプラグイン画面50をIOマネージャ表示部21に重ねて表示する。
【0113】
この場合のミキサGUIプラグイン画面50は、ミキサプラグイン33Bに対してそれぞれ楽器毎に2chずつ入力されるオーディオデータに対する音量調整を行うためのGUI画面であり、ユーザによる音量値(「0db」)の設定に応じて操作対象であるミキサプラグイン33Bの音量を調整し得るようになされている。
【0114】
なおワークスペース31は、音声出力プラグインアイコン41Aがダブルクリックされると、ニューヨークのパーソナルコンピュータ4に対して音声出力プラグイン233Aに対応する音声出力GUIプラグイン234Aの要求命令をインターネット2を介して送信し、当該パーソナルコンピュータ4から受信した音声出力GUIプラグイン234Aに基づいて音声出力GUIプラグイン画面をIOマネージャ表示部27に重ねて表示し得るようになされている。
【0115】
これによりワークスペース31は、ニューヨークのパーソナルコンピュータ4で起動中の音声出力プラグイン233Aに関するパラメータを音声出力GUIプラグイン画面に基づいて遠隔操作し得るようになされている。
【0116】
このように遠隔地間レコーディングシステム1では、パーソナルコンピュータ3及び4でDSPプラグイン33A〜33N及び233A〜233NとGUIプラグイン34A〜34N及び234A〜234Nとを個別に分けて保持することにより、例えばパーソナルコンピュータ3でパーソナルコンピュータ4のGUIプラグイン234Aを受信し、当該GUIプラグイン234Aを介してDSPプラグイン33Aを遠隔操作することができ、かくしてネットワークを跨いだ遠隔操作を容易に実行することができる。
【0117】
またユーザは、トランスポートウィンドウ23(図7)を操作することによりオーディオデータの再生処理や記録処理の処理命令等を入力することができ、これによりIOマネージャ32は、入力された処理命令に応じてレコーダプラグイン33A、ミキサプラグイン33B、音声出力プラグイン233A及び音声入力プラグイン233Bを連動動作して再生処理や記録処理を実行し得るようになされている。
【0118】
(2−3)レコーディング処理手順
次に、パーソナルコンピュータ3がレコーディング処理プログラム30に従って行う上述のレコーディング処理手順について図13のフロチャートを用いてまとめると、当該パーソナルコンピュータ3はルーチンRT1の開始ステップから入って、DSPプラグイン33のロードに関するサブルーチンSRT2に移る。
【0119】
(2−3−1)DSPプラグインのロード処理手順
図14及び図15に示すように、サブルーチンSRT2のステップSP1においてワークスペース31は、ワークスペース画面20(図3)のツールボックス22の中からセレクトボタン22X、プラグインボタン22A及び22Bがユーザによってクリックされると、DSPプラグイン(レコーダプラグイン)33A及びDSPプラグイン(ミキサプラグイン)33Bのロード要求コマンドと共にHDD11のハードディスクから読み出した当該DSPプラグイン33A及び33BのオブジェクトをIOマネージャ32に送出し、次のステップSP2に移る。
【0120】
ステップSP2においてIOマネージャ32は、DSPプラグイン33A及び33BのオブジェクトをRAM12にロードし、次のステップSP3に移る。
【0121】
ステップSP3においてワークスペース31は、一定時間間隔毎にIOマネージャ32に対してロード中のDSPプラグイン33の更新状況を調べるためのIOマネージャ更新チェックコマンドを送出し、次のステップSP4に移る。
【0122】
ステップSP4においてIOマネージャ32は、DSPプラグイン33の更新有無を表す更新結果メッセージをワークスペース31に送出し、次のステップSP5に移る。
【0123】
ステップSP5においてワークスペース31は、更新結果メッセージの内容に基づいてDSPプラグイン33の更新があったか否かを判定する。ここで否定結果が得られると、このことは新たにロードされたDSPプラグイン33が存在しておらず、DSPプラグイン33の更新が無かったことを表しており、このときワークスペース31は、次のサブルーチンSRT3へ移る。
【0124】
これに対してステップSP5で肯定結果が得られると、このことは新たにロードされたDSPプラグイン33が存在しており、DSPプラグイン33の更新があったことを表しており、このときワークスペース31は次のステップSP6に移る。
【0125】
ステップSP6においてワークスペース31は、更新された新たなDSPプラグイン33に関するプラグインデータを要求するためのプラグインデータ要求コマンドをIOマネージャ32に送出し、次のステップSP7に移る。
【0126】
ステップSP7においてIOマネージャ32は、更新された新たなDSPプラグイン33に関するプラグインデータをワークスペース31に送出し、次のステップSP8に移る。
【0127】
ステップSP8においてワークスペース31は、プラグインデータに基づいて、ロードした新たなDSPプラグイン33A及び33Bに対応する例えばレコーダプラグインアイコン40A及びミキサプラグインアイコン40BをIOマネージャ表示部21に表示することにより当該IOマネージャ表示部21の画面を新たに更新し、次のサブルーチンSRT3へ移る。
【0128】
(2−3−2)DSPプラグインの接続管理処理手順
図16及び図17に示すように、サブルーチンSRT3のステップSP11においてワークスペース31は、ワークスペーシ画面20(図3)のツールボックス22の中からコネクトボタン22Yがクリックされ、例えばレコーダプラグインアイコン40Aの出力端子からミキサプラグインアイコン40Bの入力端子へドラッグアンドドロップされると、DSPプラグイン(レコーダプラグイン)33A及びDSPプラグイン(ミキサプラグイン)33Bの接続要求コマンドと共に、接続元出力、接続先入力及び接続開始時の接続開始タイムスタンプ等からなる種々の接続情報をIOマネージャ32に送出し、次のステップSP12に移る。
【0129】
ステップSP12においてIOマネージャ32は、DSPプラグイン33A及び33Bの接続処理を実行し、次のステップSP13に移る。
【0130】
ステップSP13においてワークスペース31は、一定時間間隔毎にIOマネージャ32に対してロード中のDSPプラグイン33に対する接続状況を調べるためのIOマネージャ接続更新チェックコマンドを送出し、次のステップSP14に移る。
【0131】
ステップSP14においてIOマネージャ32は、DSPプラグイン33A及び33Bに関して接続更新有無を表す接続更新結果メッセージをワークスペース31に送出し、次のステップSP15に移る。
【0132】
ステップSP15においてワークスペース31は、接続更新結果メッセージの内容に基づいてDSPプラグイン33A及び33Bに関して接続状況の更新があったか否かを判定する。ここで否定結果が得られると、このことはDSPプラグイン33A及び33Bに関する接続状況に何ら変更は無かったことを表しており、このときワークスペース31は次のサブルーチンSRT4へ移る。
【0133】
これに対してステップSP15で肯定結果が得られると、このことはDSPプラグイン33A及び33Bに関する接続状況に何らかの変更があったことを表しており、このときワークスペース31は次のステップSP16に移る。
【0134】
ステップSP16においてワークスペース31は、接続状況が新たに変更されたDSPプラグイン33に関するプラグインデータ要求コマンドをIOマネージャ32に送出し、次のステップSP17に移る。
【0135】
ステップSP17においてIOマネージャ32は、接続状況が新たに変更されたDSPプラグイン33に関するプラグインデータをワークスペース31に送出し、次のステップSP18に移る。
【0136】
ステップSP18においてワークスペース31は、プラグインデータに基づいて、接続状況が新たに変更されたプラグインアイコン40A及び40BをIOマネージャ表示部21に新たに表示することにより当該IOマネージャ表示部21の画面を新たに更新し、次のサブルーチンSRT4へ移る。
【0137】
(2−3−3)DSPプラグインのパラメータ調整処理手順
図18及び図19に示すように、サブルーチンSRT4のステップSP21においてGUIプラグイン34は、GUIプラグイン画面上でユーザによるパラメータ調整が行われると、当該パラメータ調整に応じたパラメータコントロール情報をDSPプラグイン33に送出し、次のステップSP22に移る。
【0138】
ステップSP22においてDSPプラグイン33は、パラメータコントロール情報に応じてパラメータ(例えば音量)を調整し、次のステップSP23に移る。
【0139】
ステップSP23においてGUIプラグイン34は、一定時間間隔毎に操作対象であるDSPプラグイン33に対してパラメータ調整の更新有無を調べるためのパラメータ更新チェックコマンドを送出し、次のステップSP24に移る。
【0140】
ステップSP24においてDSPプラグイン33は、当該DSPプラグイン33に対して変更されたパラメータ調整の更新有無を表すパラメータ更新結果メッセージをGUIプラグイン34へ送出し、次のステップSP25に移る。
【0141】
ステップSP25においてGUIプラグイン34は、パラメータ更新結果メッセージの内容に基づいてDSPプラグイン33に対するパラメータ調整の変更があったか否かを判定する。ここで否定結果が得られると、このことはDSPプラグイン33に対するパラメータ調整の変更は無かったことを表しており、このときGUIプラグイン34は次のサブルーチンSRT5へ移る。
【0142】
これに対してステップSP25で肯定結果が得られると、このことはDSPプラグイン33に対するパラメータ調整の変更があったことを表しており、このときGUIプラグイン34は次のステップSP26に移る。
【0143】
ステップSP26においてGUIプラグイン34は、パラメータ調整の変更があったDSPプラグイン33に対してパラメータ調整データ要求コマンドを送出し、次のステップSP27に移る。
【0144】
ステップSP27においてDSPプラグイン33は、パラメータ調整の内容を表すパラメータ調整データをGUIプラグイン34に送出し、次のステップSP28に移る。
【0145】
ステップSP28においてCPU10は、パラメータ調整データに基づいて新たにパラメータが変更された状態のGUIプラグイン画面を表示することにより当該GUIプラグイン画面を更新し、次のサブルーチンSRT5へ移る。
【0146】
(2−3−4)タイミング補正処理手順
図20に示すように、サブルーチンSRT5のステップSP31においてIOマネージャ32は、図8に示したようにレコーダプラグイン33Aの再生系によって再生したドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2にタイムスタンプ「0000」を付加して出力すると共に、次段以降のミキサプラグイン33B、音声出力プラグイン233A及びレコーダプラグイン33A(図8)における記録系の入力に待ちタイムスタンプ「0000」を設定し、次のステップSP32に移る。
【0147】
ステップSP32においてIOマネージャ32は、次段以降のミキサプラグイン33Bから出力するミキシングデータMIXPD1、MIXPD2にタイムスタンプ「0000」を付加し、また音声入力プラグイン233Bから出力するギターパケットデータGiPD1、GiPD2にもタイムスタンプ「0000」を付加し、次のステップSP33に移る。
【0148】
ステップSP33においてIOマネージャ32は、音声入力プラグイン233Bからレコーダプラグイン33Aに入力したタイムスタンプ「0000」のギターパケットデータGiPD1、GiPD2を、再生系で再生したタイムスタンプ「0000」のドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2と同期するようにタイムスタンプ「0000」に基づいてHDD11のハードディスクに記憶制御することにより伝送路遅延によるタイミングのずれを補正し、次のステップSP34に移る。
【0149】
ステップSP34においてIOマネージャ32は、例えば図9に示したようにミキサプラグイン33Bに新たな入力が加えられたか否かを判定する。ここで否定結果が得られると、このことは新たな入力が加えられていないことを表しており、このときIOマネージャ32はステップSP40に移ってレコーディング処理プログラム30によるレコーディング処理手順を全て終了する。
【0150】
これに対してステップSP34で肯定結果が得られると、このことは新たな入力が加えられたことを表しており、このときIOマネージャ32は次のステップSP35に移る
【0151】
ステップSP35においてIOマネージャ32は、新たな入力に対して前段のDSPプラグインからパケットデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを設定することにより、新たな入力が加えられたことによって既に引き続き入力中のパケットデータに対する処理が滞ることを防止し、次のステップSP36に移る。
【0152】
ステップSP36においてIOマネージャ32は、例えば図10に示したようにミキサプラグイン33Bにおけるミキシング処理中にピアノパケットデータPiPD1及びPiPD2の入力が解除されたか否かを判定する。
【0153】
ここで否定結果が得られると、このことは入力が解除されておらず、何ら変更がないことを表しており、このときIOマネージャ32はステップSP40に移ってレコーディング処理プログラム30によるレコーディング処理手順を全て終了する。
【0154】
これに対してステップSP36で肯定結果が得られると、このことは入力が解除されて接続状態に変更があったことを表しており、このときIOマネージャ32は次のステップSP37に移る。
【0155】
ステップSP37においてIOマネージャ32は、ミキサプラグイン33Bの解除された入力の待ちタイムスタンプ「0000」を「無効」に設定することにより、入力解除時点から遅滞なく速やかにドラムパケットデータDrPD1及びDrPD2だけに対するミキシング処理に移行し、次のステップSP38に移る。
【0156】
ステップSP38においてIOマネージャ32は、例えば図11に示したようにミキサプラグイン33Bの入力に対して待ちタイムスタンプよりも後のタイムスタンプのパケットデータを送出した結果、当該後のタイムスタンプのパケットデータの入力が拒否されたか否かを判定する。
【0157】
ここで否定結果が得られると、このことは待ちタイムスタンプよりも後のタイムスタンプのパケットデータの入力が拒否されることはなかった、すなわち待ちタイムスタンプと同一のタイムスタンプが付加されたパケットデータがミキサプラグイン33Bに入力されたことを表しており、このときIOマネージャ32はステップSP40に移ってレコーディング処理プログラム30によるレコーディング処理手順を全て終了する。
【0158】
これに対してステップSP38で肯定結果が得られると、このことは待ちタイムスタンプよりも後のタイムスタンプのパケットデータの入力がミキサプラグイン33Bによって拒否されたことを表しており、このときIOマネージャ32は次のステップSP39に移る。
【0159】
ステップSP39においてIOマネージャ32は、ミキサプラグイン33Bによって拒否されたパケットデータを一旦バッファリングし、ミキサプラグイン33Bの入力で受け付けてもらえるまで再送出することにより、ミキサプラグイン33Bでパケットデータの順番が狂うことなく正確にミキシング処理を実行させた後、次のステップSP40に移ってレコーディング処理プログラム30によるレコーディング処理手順を全て終了する。
【0160】
(3)実施の形態における動作及び効果
以上の構成において、遠隔地間レコーディングシステム1は、東京のパーソナルコンピュータ3と、ニューヨークのパーソナルコンピュータ4との間で、ほぼ同時並行的にレコーディング処理を行う際、レコーダプラグイン33Aの再生系で再生したドラムパケットデータDrPD1及びDrPD2、ピアノパケットデータPiPD1及びPiPD2にタイムスタンプ「0000」を付加して出力する。
【0161】
このとき遠隔地間レコーディングシステム1は、次段以降のミキサプラグイン33B、音声出力プラグイン233A及びレコーダプラグイン33Aの記録系における各入力で待ちタイムスタンプ「0000」を設定し、ミキサプラグイン33B及び音声入力プラグイン233Bの出力でタイムスタンプ「0000」を付加する。
【0162】
これにより遠隔地間レコーディングシステム1は、レコーダプラグイン33Aの再生系で、タイムスタンプ「0000」のドラムパケットデータDrPD1及びDrPD2、ピアノパケットデータPiPD1及びPiPD2に対して、タイムスタンプ「0000」のギターパケットデータGiPD1及びGiPD2を同期するようにHDD11のハードディスクに対応付けて記憶制御することができ、この結果、遠隔地間における伝送路遅延によるタイミングずれを補正して同時並行的にレコーディング処理を実行することができる。
【0163】
また遠隔地間レコーディングシステム1は、レコーディング処理中における入力の新たな追加や解除に対しても待ちタイムスタンプの設定を変更することにより時間的なタイミングの整合性を保ちつつ柔軟に対応することができ、かくしてユーザ所望の機能を組み合わせた所望音質の録音用データを容易に生成することができる。
【0164】
以上の構成によれば、遠隔地間レコーディングシステム1は、リアルタイム性が要求されるオーディオデータに対してパケット毎にタイムスタンプをそれぞれ付加し、当該タイムスタンプに基づいて伝送路遅延によるタイミングのずれを補正するように記憶制御することにより、遠隔地間でリアルタイム性が要求されるオーディオデータをインターネット2を介して互いに授受して同時並行的にレコーディング処理を実行することができる。
【0165】
(4)他の実施の形態
なお上述の実施の形態においては、本発明のコンテンツ編集装置としての遠隔地間レコーディングシステム1を東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4との間でレコーディング処理を実行する場合に適用するようにした場合について述べたが、本発明はこれに限らず、例えば同一スタジオ内で伝送ケーブルで互いに接続されたパーソナルコンピュータ3とパーソナルコンピュータ4との間でレコーディング処理を実行する場合に適用するようにしても良い。
【0166】
また上述の実施の形態においては、第1コンテンツデータ出力手段及び記憶制御手段としてのレコーダプラグイン33A、ミキサプラグイン33B、音声出力プラグイン233A及び第2コンテンツデータ出力手段としての音声入力プラグイン233Bを組み合わせたことによりレコーディングシステムを構築するようにした場合について述べたが、本発明はこれに限らず、音声入力プラグイン、エフェクタプラグイン及び音声出力プラグインによるエフェクタシステム、シーケンサプラグイン、シンセサイザプラグイン、ミキサプラグイン及び音声出力プラグインによる作曲システム等の他の種々のシステムを構築するようにしても良い。
【0167】
さらに上述の実施の形態においては、東京のパーソナルコンピュータ3にニューヨークのパーソナルコンピュータ4を接続して拡張するようにした場合について述べたが、本発明はこれに限らず、例えばパーソナルコンピュータのディジタル信号処理部分だけを有し、表示部を持たないようなディジタル信号処理装置に接続して拡張するようにしても良い。この場合のディジタル信号処理装置は、パーソナルコンピュータ3と同様にIOマネージャが各種処理を実行するようになされており、パーソナルコンピュータに比べて表示制御を行わない分だけ簡素な構成であるために拡張に伴うスペースの増大化を最小限に抑えることができる。
【0168】
さらに上述の実施の形態においては、GUIプラグイン34が下位GUIプラグインを含む階層構造で構成されており、階層毎のGUIプラグイン画面を表示するようにした場合について述べたが、本発明はこれに限らず、GUIプラグイン34と下位GUIプラグインの操作を一画面で実行し得る単一構造のGUIプラグイン画面を表示するようにしても良い。
【0169】
さらに上述の実施の形態においては、東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4とを互いにインターネットを介して接続するようにした場合について述べたが、本発明はこれに限らず、パーソナルコンピュータ3及び4をイーサネット等のLAN(Local Area Network)を介して互いにネットワーク接続するようにしても良い。
【0170】
さらに上述の実施の形態においては、東京のパーソナルコンピュータ3とニューヨークのパーソナルコンピュータ4とをインターネット2を介して接続し、東京及びニューヨークの遠隔地間で同時並行的にレコーディング処理を実行するようにした場合について述べたが、本発明はこれに限らず、ニューヨーク以外のロンドンやパリ等の他の種々の遠隔地ともインターネット2を介して接続し、同時並行的にレコーディング処理を実行するようにしても良い。
【0171】
さらに上述の実施の形態においては、レコーダプラグインアイコン40A及びミキサプラグインアイコン40Bと、音声出力プラグインアイコン41A及び音声入力プラグインアイコン41Bとを入力端子及び出力端子間で接続することによってDSPプラグイン同志の接続状況をユーザに対して視覚的に示すようにした場合について述べたが、本発明はこれに限らず、ロードしたDSPプラグインをマトリクス状に配置して表示することによってDSPプラグイン同志の接続状態を示すようにしても良い。
【0172】
さらに上述の実施の形態においては、HDD11のハードディスクから立ち上げたレコーディング処理プログラム30に基づいて上述の遠隔地間レコーディング処理を実行するようにした場合について述べたが、本発明はこれに限らず、レコーディング処理プログラム30の格納されたプログラム格納媒体をパーソナルコンピュータ3及び4にインストールすることにより、遠隔地間レコーディング処理を実行するようにしても良い。
【0173】
このように上述した一連の遠隔地間レコーディング処理を実行するレコーディング処理プログラム30をパーソナルコンピュータ3及び4にインストールし、当該パーソナルコンピュータ3及び4において実行可能な状態にするために用いられるプログラム格納媒体としては、例えばフロッピーディスク、CD−ROM(Compact Disc-Read Only Memory )、DVD(Digital Versatile Disc)等のパッケージメディアのみならず、レコーディング処理プログラム30が一時的もしくは永続的に格納される半導体メモリや磁気ディスク等で実現しても良い。また、これらプログラム格納媒体にレコーディング処理プログラム30を格納する手段としては、ローカルエリアネットワークやインターネット、ディジタル衛生放送等の有線及び無線通信媒体を利用しても良く、ルータやモデム等の各種通信インターフェースを介して格納するようにしても良い。
【0174】
パケット単位の第1コンテンツデータとしてのドラムパケットデータDrPD1、DrPD2及びピアノパケットデータPiPD1、PiPD2にタイムスタンプ「0000」を付加して順次出力する第1コンテンツデータ出力手段としてのレコーダプラグイン33Aと、タイムスタンプ「0000」と同一のタイムスタンプ「0000」が付加された第1コンテンツデータに対応したパケット単位の第2コンテンツデータとしてのギターパケットデータGiPD1、GiPD2を外部のパーソナルコンピュータ4から入力する入力手段としてのレコーダプラグイン33Aと、タイムスタンプ「0000」に基づいて第1コンテンツデータと第2コンテンツデータとを時間的に同期させるように調整するタイミング補正手段としてのIOマネージャ32とによってコンテンツ編集装置としての遠隔地間レコーディングシステム1を構築するようにした場合について述べたが、本発明はこれに限らず、他の種々の第1コンテンツデータ出力手段、入力手段及びタイミング補正手段によってコンテンツ編集装置を構築するようにしても良い。
【0175】
【発明の効果】
上述のように本発明によれば、パケット単位の第1コンテンツデータにタイムスタンプを順次付加して出力する第1コンテンツデータ出力手段と、タイムスタンプと同一の値でなる待ちタイムスタンプを第1入力端子に設定したうえで、当該待ちタイムスタンプと第1コンテンツデータに付加されたタイムスタンプとが一致したとき、第1コンテンツデータを第1入力端子を介して入力し、待ちタイムスタンプを第2入力端子に設定したうえで、タイムスタンプと同一の値でなるタイムスタンプが付加された第1コンテンツデータに対応するパケット単位の第2コンテンツデータにおけるタイムスタンプと待ちタイムスタンプとが一致したとき、第2コンテンツデータを外部から第2入力端子を介して入力する入力手段と、タイムスタンプに基づいて第1コンテンツデータと第2コンテンツデータとを時間的に同期させるように調整するタイミング補正手段とを具え、入力手段は、タイミング補正手段による処理中に、外部から第3コンテンツデータを追加入力するとき、当該第3コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第3入力端子に設定し、当該設定した待ちタイムスタンプと第3コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ第3コンテンツデータを入力し、タイミング調整手段は、第1コンテンツデータ、第2コンテンツデータ及び第3コンテンツデータにそれぞれ付加されているタイムスタンプに基づいて第1コンテンツデータ、第2コンテンツデータ及び第3コンテンツデータを時間的に同期させるように調整することにより、最大遅れ時間の経過後には第1コンテンツデータ、第2コンテンツデータ及び第3コンテンツデータのタイムスタンプが全て揃って時間的に同期させるように確実に調整し得ると共に、最大遅れ時間が経過するまでは第1コンテンツデータ及び第2コンテンツデータを時間的に同期させるように調整することを継続し得、かくしてリアルタイム性が要求される第1、第2及び第3コンテンツデータの時間的なタイミングずれを補正して正確に編集し得るコンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システムを実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態における遠隔地間レコーディングシステムの全体構成を示す略線的概略図である。
【図2】パーソナルコンピュータの回路構成を示すブロック図である。
【図3】レコーディング処理プログラムの構成を示す略線図である。
【図4】ワークスペース画面を示す略線図である。
【図5】DSPプラグインがロードされたワークスペース画面を示す略線図である。
【図6】他のパーソナルコンピュータと接続されたときのワークスペース画面を示す略線図である。
【図7】他のパーソナルコンピュータのプラグインと接続されたときのワークスペース画面を示す略線図である。
【図8】タイミング補正処理の説明に供する略線図である。
【図9】レコーディング処理中に新たな入力が加わったときのタイミング補正処理の説明に供する略線図である。
【図10】処理中にプラグインの接続が解除されたときのタイミング補正処理の説明に供する略線図である。
【図11】待ちタイムスタンプのパケットデータよりも後のパケットデータが送られてきた時のタイミング補正処理の説明に供する略線図である。
【図12】ミキサGUIプラグイン画面を示す略線図である。
【図13】レコーディング処理手順を示すフローチャートである。
【図14】DSPプラグインのロード処理手順を示すフローチャートである。
【図15】DSPプラグインのロード処理手順におけるワークスペースとIOマネージャとのやりとりの説明に供する略線図である。
【図16】DSPプラグインの接続管理処理手順を示すフローチャートである。
【図17】DSPプラグインの接続管理処理手順におけるワークスペースとIOマネージャとのやりとりの説明に供する略線図である。
【図18】DSPプラグインのパラメータ調整処理手順を示すフローチャートである。
【図19】DSPプラグインのパラメータ調整処理手順におけるGUIプラグインとDSPプラグインとのやりとりの説明に供する略線図である。
【図20】タイミング補正処理手順を示すフローチャートである。
【符号の説明】
1……遠隔地間レコーディングシステム、2……インターネット、3、4……パーソナルコンピュータ、10、210……CPU、11、211……HDD、12、212……RAM、30、230……レコーディング処理プログラム、31、231……ワークスペース、32、232……IOマネージャ、33、233……DSPプラグイン、34、234……GUIプラグイン、40A……レコーダプラグインアイコン、40B……ミキサプラグインアイコン、41A……音声出力プラグインアイコン、41B……音声入力プラグインアイコン。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a content editing apparatus, a content editing method, a program storage medium, and a content editing system. For example, real-time performance is required by guaranteeing synchronization of content data transmitted from each remote location via the Internet. For example, the present invention is suitable for application to a content editing apparatus that edits content such as music data, a content editing method, a program storage medium, and a content editing system.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, personal computers have been able to easily execute editing processing for various content data such as music data and video data as processing capability has been improved, and the user's various editing processing requests have been sufficiently fulfilled. Has been realized.
[0003]
Also, the personal computer can execute digital signal processing parts such as a mixer and a recorder necessary for recording, for example, by software by improving the processing capability, and can easily edit content data. It is made like that.
[0004]
Accordingly, the personal computer takes in various audio data such as guitar audio data, bass audio data, piano audio data, and drum audio data via a plurality of microphones connected to the personal computer, and incorporates these. Recording data of 2ch (R channel and L channel) can be generated by recording once on a hard disk by a recorder constituted by software, adjusting to a desired sound quality by a mixer and then synthesizing.
[0005]
[Problems to be solved by the invention]
By the way, in a personal computer having such a configuration, for example, when it is necessary to perform mixing adjustment using a plurality of types of mixer functions at the same time, due to the limit of the processing capacity of a CPU (Central Processing Unit), There is a problem in that other recorders and effectors cannot be operated, and recording data having a desired sound quality cannot be generated.
[0006]
In the personal computer, audio data is exchanged between the personal computer installed in a studio in Tokyo, for example, and other personal computers installed in New York, London, and Paris, respectively. When 2ch recording data is generated and recorded in the studio, the recorded drum audio data is first played from the Tokyo studio to other personal computers installed in New York, London and Paris. Then transmit.
[0007]
Other personal computers installed in New York played drum sounds based on the drum audio data transmitted from Tokyo personal computers and output them from the speakers. The guitar audio data is taken in via a microphone and sent back to a personal computer installed in a studio in Tokyo via the Internet.
[0008]
Similarly, other personal computers installed in London and Paris also reproduce the drum performance sound based on the drum audio data transmitted from the Tokyo personal computer and output it from the speaker. The piano and bass audio data played together are fetched through a microphone and sent back to a personal computer installed in a studio in Tokyo via the Internet.
[0009]
The personal computer installed in the Tokyo studio captures the guitar, piano, and bass audio data sent back from the other personal computers installed in New York, London, and Paris, respectively. The audio data has a round-trip transmission path delay and a delay corresponding to the signal processing time in another personal computer, and these delay times are unpredictable.
[0010]
Therefore, the personal computer in Tokyo uses the drum performance sound obtained by playing back the audio data of the drum and the performance sound of the guitar, piano and bass sent back from other personal computers in New York, London and Paris. There is a problem in that it is difficult to generate recording data for music that requires real-time performance because there is a difference in timing between transmission line delays.
[0011]
The present invention has been made in consideration of the above points, and a content editing apparatus and a content editing method that can correct and correct a temporal timing shift of content data that requires real-time performance among a plurality of terminals. And a program storage medium and a content editing system.
[0012]
[Means for Solving the Problems]
In order to solve this problem, in the present invention, first content data output means for sequentially adding and outputting time stamps to first content data in units of packets, and a waiting time stamp having the same value as the time stamp are first When the waiting time stamp matches the time stamp added to the first content data after setting the input terminal, the first content data is input via the first input terminal, and the waiting time stamp is set to the second time stamp. When the time stamp in the second content data in a packet unit corresponding to the first content data to which the time stamp having the same value as the time stamp is added and the waiting time stamp match after setting to the input terminal, 2 input means for inputting content data from the outside via the second input terminal; Timing correction means for adjusting the first content data and the second content data to be temporally synchronized based on the time stamp, and the input means receives the third content data from outside during processing by the timing correction means. When additional input is performed, a waiting time stamp considering the maximum delay time until the third content data arrives is set in the third input terminal, and the set waiting time stamp and the time stamp added to the third content data are set. The third content data is input only when and match, and the timing adjustment means Added to the first content data, the second content data, and the third content data, respectively. By adjusting the first content data, the second content data, and the third content data to be temporally synchronized based on the time stamp, the first content data, the second content data, and the second content data after the maximum delay time has elapsed. The time stamps of the three content data can be adjusted so that they are all synchronized in time, and the first content data and the second content data are adjusted in time until the maximum delay time elapses. Can continue to do.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0014]
(1) Overall configuration of the remote location recording system
In FIG. 1,
[0015]
In this case, the
[0016]
This remote
[0017]
The
[0018]
The
[0019]
At this time, the
[0020]
The
[0021]
By the way, when the drum and piano audio data actually reaches the
[0022]
Therefore, when the
[0023]
(1-1) Circuit configuration of personal computer
As shown in FIG. 2, the
[0024]
In this case, for example, the microphones 3A and 3B (FIG. 1) are connected to the
[0025]
The
[0026]
The
[0027]
The
[0028]
(2) Remote location recording process
In the remote location recording system 1 (FIG. 1) in this case, a case where the remote location recording process is controlled mainly with the
[0029]
Incidentally, in the remote
[0030]
(2-1) Remote location connection processing
First, the
[0031]
Here, as shown in FIG. 3, the
[0032]
Therefore, in the
[0033]
The New York
[0034]
Incidentally, the DSP plug-
[0035]
Here, in the present embodiment, in order to explain the following description as the relationship between the objects, the
[0036]
The
[0037]
That is, the
[0038]
The
[0039]
In this case, the plug-in data includes the manufacturer name of the loaded DSP plug-in, the type identification information indicating the default GUI plug-in associated with the DSP plug-in in advance, and the DSP plug-in itself. Plug-in ID, hierarchical level of the DSP plug-in itself (in order from the top, 0, 1, 2,...), Output destination list indicating the output destination of the DSP plug-in, input destination indicating the input destination for the DSP plug-in A list is included.
[0040]
Further, the output destination list includes an output ID corresponding to the output terminal of the DSP plug-in, an output terminal hierarchy level (0, 1, 2,... In order from the top) and connection destination information (hardware ID, plug-in ID, and Input ID corresponding to the input terminal), and the input destination list includes an input ID corresponding to the input terminal of the DSP plug-in, an input terminal hierarchy level (0, 1, 2,... A valid flag indicating whether the input is valid or invalid is included.
[0041]
In this way, the
[0042]
The DSP plug-
[0043]
Here, the DSP plug-
[0044]
The GUI plug-
[0045]
When the DSP plug-
[0046]
In practice, the DSP plug-
[0047]
The
[0048]
That is, in the
[0049]
Incidentally, nothing is displayed on the IO manager display unit 21 on the
[0050]
The user selects the
[0051]
In this case, the recorder plug-in
[0052]
Next, when the user clicks the
[0053]
Here, the recorder plug-in 33A refers to a playback system that performs playback processing on drum and piano audio data recorded on the hard disk of the
[0054]
In this case, the recorder plug-in 33A transmits the L channel and the R channel transmitted from the
[0055]
Also, the mixer plug-in 33B, as indicated by the mixer plug-in icon 40B, inputs the audio data for a total of 6 channels output from the recorder plug-in 33A and mixes them, whereby final 2ch recording data is recorded. It can be output.
[0056]
Next, when the user clicks the connection button 25 provided at the upper left corner of the
[0057]
When the user inputs the IP address of the New York
[0058]
As a result, the work space 31 (FIG. 3) is connected to the
[0059]
In the
[0060]
Subsequently, the user selects the
[0061]
As a result, the
[0062]
Thereafter, the user clicks the
[0063]
At this time, the
[0064]
As a result, the audio data of the 2ch guitar transmitted from the audio input plug-in 233B in the
[0065]
Thereby, the remote
[0066]
Then, the remote
[0067]
The
[0068]
Further, the remote
[0069]
Thus, the remote
[0070]
The
[0071]
(2-2) Timing correction processing
Next, the timing correction processing for correcting the deviation between the playback timing and the recording timing of the recorder plug-in 33A due to a transmission path delay between remote locations in the remote
[0072]
(2-2-1) Timing correction processing for transmission line delay
In the remote
[0073]
In practice, as shown in FIG. 8, the recorder plug-in 33A and the mixer plug-in 33B are supplied with the master clock MCLK1 generated by the internal real-time clock from the
[0074]
In this case, the master clock MCLK1 that the
[0075]
That is, the recorder plug-in 33A reproduces drum and piano audio data using the reproduction system, and 2ch (L channel and R channel) drum packet data DrPD1 (L) and DrPD2 (R) obtained as a result of the reproduction. Time stamp (TS) “0000” based on the master clock MCLK1 is added to the piano packet data PiPD1 (L) and PiPD2 (R) under the control of the
[0076]
The
[0077]
Accordingly, the recorder plug-in 33A, the mixer plug-in 33B, the audio output plug-in 233A, and the audio input plug-in 233B add connection destination information based on an instruction from the
[0078]
At the same time, the
[0079]
In the mixer plug-in 33B, the drum packet data DrPD1 and DrPD2 to which the time stamp “0000” is added from the recorder plug-in 33A and the piano packet data PiPD1 and PiPD2 reach the input for 4ch in which the wait time stamp “0000” is set. Then, mixing processing is started when data reaches all inputs.
[0080]
Then, the mixer plug-in 33B adds the time stamp “0000” to the mixing data MIXPD1 and MIXPD2 generated by performing the mixing process under the control of the
[0081]
At this time, the
[0082]
Thereafter, the
[0083]
When the mixing data MIXPD1 and MIXPD2 of the time stamp “0000” reach the input set to the waiting time stamp “0000” from the mixer plug-in 33B, the audio output plug-in 233A mixes the mixing data MIXPD1 of the time stamp “0000”. The
[0084]
Actually, the audio output plug-in 233A sequentially performs buffering when the input of the mixing data MIXPD1 and MIXPD2 to which the same time stamp is added, and designates timing based on the master clock MCLK2 supplied from the
[0085]
As described above, the audio output plug-in 233A performs the buffering of the mixing data MIXPD1 and MIXPD2 and outputs them at a specified timing, so that even when there is a supply interval of the mixing data MIXPD1 and MIXPD2 supplied from the mixer plug-in 33B. Can be prevented from being interrupted on the way.
[0086]
Thereafter, the
[0087]
The audio input plug-in 233B converts the audio signal of the guitar played in accordance with the drum and piano performance sound output from the audio output plug-in 233A through the speaker into digital audio data and packetizes it. The guitar packet data GiPD1 and GiPD2 are generated by adding the stamp “0000” and transmitted to the recorder plug-in 33A of the
[0088]
That is, the audio input plug-in 233B outputs the guitar packet data GiPD1 and GiPD2 from the time when the first drum packet data DrPD1 and DrPD2 and piano packet data PiPD1 and PiPD2 of the time stamp “0000” are output from the recorder plug-in 33A. Since the time is already delayed by the transmission path delay, adding the time stamp “0000” to the guitar packet data GiPD1 and GiPD2 allows the drum packet data DrPD1, DrPD2 and piano of the time stamp “0000” to be added. The packet data PiPD1 and PiPD2 and the guitar packet data GiPD1 and GiPD2 with the time stamp “0000” indicate audio data at the same timing. It has been made.
[0089]
The
[0090]
Accordingly, when the guitar packet data GiPD1 and GiPD2 with the time stamp “0000” reach the input of the waiting time stamp “0000”, the recorder plug-in 33A causes the drum packet data DrPD1, DrPD2 with the time stamp “0000” and the piano packet data PiPD1. The guitar packet data GiPD1 and GiPD2 with the time stamp “0000” are controlled to be stored in the hard disk of the
[0091]
Thus, the recorder plug-in 33A corrects a timing shift between the drum and piano audio data and the guitar audio data caused by the transmission path delay, and the guitar audio data is synchronized with the drum and piano audio data. It is designed to be memorable.
[0092]
(2-2-2) Timing correction process when a new input is added during the recording process
By the way, in the remote
[0093]
The
[0094]
That is, when the drum packet data DrPD1 and DrPD2 of the time stamp “0002” are input to the mixer plug-in 33B from the recorder plug-in 33A in the previous stage, the
[0095]
Thereafter, when the drum packet data DrPD1 and DrPD2 of the time stamp “0003” are input to the mixer plug-in 33B from the recorder plug-in 33A of the previous stage, the
[0096]
That is, the
[0097]
As shown in FIG. 9C, when the
[0098]
The
[0099]
As described above, when the input of the piano packet data PiPD1 and PiPD2 is newly added from the recorder plug-in 33A in the previous stage during the recording process, the
[0100]
Incidentally, even when the piano packet data PiPD1 and PiPD2 of the time stamp “0005” arrive at the input of the waiting time stamp “0006” set by the mixer plug-in 33B, the
[0101]
In other words, the
[0102]
(2-2-3) Timing correction processing when input is canceled during recording processing
On the other hand, in the remote
[0103]
In this case, as shown in FIG. 10B, the
[0104]
Thereby, the mixer plug-in 33B invalidates the piano packet data PiPD1 and PiPD2 of the next time stamp “0018” without accepting the input, and performs the mixing process only on the drum packet data DrPD1 and DrPD2 of the time stamp “0018”. Has been made to do.
[0105]
Therefore, the
[0106]
In this way, during the recording process, when the input of the piano packet data PiPD1 and PiPD2 is canceled due to partial connection cancellation between the recorder plug-in 33A and the mixer plug-in 33B in the previous stage, the
[0107]
(2-2-4) Timing correction processing when packet data after the waiting time stamp packet data is sent
Next, in the remote
[0108]
In this case, as shown in FIG. 11B, the mixer plug-in 33B receives the drum packet data DrPD2 with the time stamp “0021” but receives the waiting time stamp “0021” with respect to the drum packet data DrPD2 with the time stamp “0022”. ”Is not matched, and the receipt is refused and sent back to the
[0109]
The
[0110]
Incidentally, at this time, the mixer plug-in 33B does not execute the mixing process until the drum packet data DrPD1 and DrPD2 of the time stamp “0021” are prepared, and there is a timing shift between the drum packet data DrPD1 and the drum packet data DrPD2. Is surely prevented.
[0111]
In this way, the
[0112]
(2-2-5) Parameter adjustment processing of DSP plug-in by GUI plug-in In the
[0113]
The mixer GUI plug-in
[0114]
When the audio output plug-in
[0115]
As a result, the
[0116]
As described above, in the remote
[0117]
Further, the user can input processing instructions for audio data reproduction processing and recording processing by operating the transport window 23 (FIG. 7), whereby the
[0118]
(2-3) Recording procedure
Next, when the above-described recording processing procedure performed by the
[0119]
(2-3-1) DSP plug-in loading procedure
As shown in FIGS. 14 and 15, in step SP1 of the subroutine SRT2, the
[0120]
In step SP2, the
[0121]
In step SP3, the
[0122]
In step SP4, the
[0123]
In step SP5, the
[0124]
On the other hand, if a positive result is obtained in step SP5, this indicates that a newly loaded DSP plug-in 33 exists and the DSP plug-in 33 has been updated. The
[0125]
In step SP6, the
[0126]
In step SP7, the
[0127]
In step SP8, the
[0128]
(2-3-2) DSP plug-in connection management processing procedure
As shown in FIGS. 16 and 17, in step SP11 of the subroutine SRT3, the
[0129]
In step SP12, the
[0130]
In step SP13, the
[0131]
In step SP14, the
[0132]
In step SP15, the
[0133]
On the other hand, if a positive result is obtained in step SP15, this indicates that there has been some change in the connection status relating to the DSP plug-
[0134]
In step SP16, the
[0135]
In step SP17, the
[0136]
In step SP18, the
[0137]
(2-3-3) DSP plug-in parameter adjustment processing procedure
As shown in FIGS. 18 and 19, when the user performs parameter adjustment on the GUI plug-in screen in step SP21 of the subroutine SRT4, the GUI plug-in 34 displays parameter control information corresponding to the parameter adjustment in the DSP plug-in. 33, and proceeds to the next step SP22.
[0138]
In step SP22, the DSP plug-in 33 adjusts a parameter (for example, volume) according to the parameter control information, and proceeds to the next step SP23.
[0139]
In step SP23, the GUI plug-in 34 sends a parameter update check command for checking whether or not parameter adjustment is updated to the DSP plug-in 33 that is the operation target at regular time intervals, and proceeds to the next step SP24.
[0140]
In step SP24, the DSP plug-in 33 sends a parameter update result message indicating whether or not the parameter adjustment changed for the DSP plug-in 33 is updated to the GUI plug-in 34, and proceeds to the next step SP25.
[0141]
In step SP25, the GUI plug-in 34 determines whether there has been a parameter adjustment change for the DSP plug-in 33 based on the content of the parameter update result message. If a negative result is obtained here, this means that the parameter adjustment for the DSP plug-in 33 has not been changed, and at this time, the GUI plug-in 34 proceeds to the next subroutine SRT5.
[0142]
On the other hand, if a positive result is obtained in step SP25, this indicates that the parameter adjustment has been changed for the DSP plug-in 33. At this time, the GUI plug-in 34 proceeds to the next step SP26.
[0143]
In step SP26, the GUI plug-in 34 sends a parameter adjustment data request command to the DSP plug-in 33 whose parameter adjustment has been changed, and proceeds to the next step SP27.
[0144]
In step SP27, the DSP plug-in 33 sends parameter adjustment data representing the contents of parameter adjustment to the GUI plug-in 34, and proceeds to the next step SP28.
[0145]
In step SP28, the
[0146]
(2-3-4) Timing correction processing procedure
As shown in FIG. 20, in step SP31 of the subroutine SRT5, the
[0147]
In step SP32, the
[0148]
In step SP33, the
[0149]
In step SP34, the
[0150]
On the other hand, if a positive result is obtained in step SP34, this indicates that a new input has been added. At this time, the
[0151]
In step SP35, the
[0152]
In step SP36, for example, as shown in FIG. 10, the
[0153]
If a negative result is obtained here, this means that the input has not been canceled and there is no change. At this time, the
[0154]
On the other hand, if a positive result is obtained in step SP36, this indicates that the input has been released and the connection state has changed, and at this time, the
[0155]
In step SP37, the
[0156]
In step SP38, for example, as shown in FIG. 11, the
[0157]
If a negative result is obtained here, this means that packet data with a time stamp later than the waiting time stamp is not rejected, that is, packet data with the same time stamp as the waiting time stamp is added. Is input to the mixer plug-in 33B. At this time, the
[0158]
On the other hand, if an affirmative result is obtained in step SP38, this means that the mixer plug-in 33B rejected the input of packet data with a time stamp later than the waiting time stamp. 32 moves to the next step SP39.
[0159]
In step SP39, the
[0160]
(3) Operations and effects in the embodiment
In the above configuration, the remote
[0161]
At this time, the remote
[0162]
As a result, the remote
[0163]
In addition, the remote
[0164]
According to the above configuration, the remote
[0165]
(4) Other embodiments
In the above-described embodiment, the remote
[0166]
In the above embodiment, the recorder plug-in 33A, the mixer plug-in 33B, the audio output plug-in 233A as the first content data output means and the storage control means, and the audio input plug-in 233B as the second content data output means. However, the present invention is not limited to this, and the present invention is not limited to this, and the effector system, sequencer plug-in, and synthesizer plug are not limited to this. Various other systems such as a composition system using the IN, mixer plug-in, and audio output plug-in may be constructed.
[0167]
Further, in the above-described embodiment, the case where the
[0168]
Further, in the above-described embodiment, the GUI plug-in 34 is configured in a hierarchical structure including the lower GUI plug-in, and the GUI plug-in screen for each layer is displayed. However, the present invention is not limited to this, and a GUI plug-in screen having a single structure that can execute the operation of the GUI plug-in 34 and the lower GUI plug-in on one screen may be displayed.
[0169]
Furthermore, in the above-described embodiment, the case where the
[0170]
Further, in the above-described embodiment, the
[0171]
Furthermore, in the above-described embodiment, the DSP
[0172]
Furthermore, in the above-described embodiment, the case has been described where the above-mentioned remote location recording processing is executed based on the
[0173]
As a program storage medium used for installing the
[0174]
Recorder plug-in 33A as first content data output means for sequentially outputting drum packet data DrPD1 and DrPD2 and piano packet data PiPD1 and PiPD2 as first content data in units of packets and adding time stamp “0000”; As input means for inputting guitar packet data GiPD1 and GiPD2 as second content data in units of packets corresponding to the first content data to which the same time stamp “0000” as the stamp “0000” is added from the external
[0175]
【The invention's effect】
As described above, according to the present invention, first content data output means for sequentially adding and outputting time stamps to first content data in units of packets, and a waiting time stamp having the same value as the time stamp are first input. When the waiting time stamp matches the time stamp added to the first content data after being set to the terminal, the first content data is input via the first input terminal, and the waiting time stamp is the second input. When the time stamp in the second content data in units of packets corresponding to the first content data to which the time stamp having the same value as the time stamp is added and the waiting time stamp match after setting to the terminal, the second time Input means for inputting content data from the outside via the second input terminal, and a time stamp And a timing correction means for adjusting the first content data and the second content data so as to be synchronized in time, and the input means additionally inputs the third content data from the outside during the processing by the timing correction means. In this case, a waiting time stamp taking into account the maximum delay time until the third content data arrives is set in the third input terminal, and the set waiting time stamp and the time stamp added to the third content data are The third content data is input only when they match, and the timing adjustment means Added to the first content data, the second content data, and the third content data, respectively. By adjusting the first content data, the second content data, and the third content data to be temporally synchronized based on the time stamp, the first content data, the second content data, and the second content data after the maximum delay time has elapsed. The time stamps of the three content data can be adjusted so that they are all synchronized in time, and the first content data and the second content data are adjusted in time until the maximum delay time elapses. Content editing apparatus, content editing method, and program storage medium capable of correcting the time timing of the first, second, and third content data for which real-time processing is required and correcting the temporal timing accurately In addition, a content editing system can be realized.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing the overall configuration of a remote location recording system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a circuit configuration of a personal computer.
FIG. 3 is a schematic diagram illustrating a configuration of a recording processing program.
FIG. 4 is a schematic diagram showing a workspace screen.
FIG. 5 is a schematic diagram showing a workspace screen loaded with a DSP plug-in.
FIG. 6 is a schematic diagram showing a workspace screen when connected to another personal computer.
FIG. 7 is a schematic diagram showing a workspace screen when connected to a plug-in of another personal computer.
FIG. 8 is a schematic diagram for explaining timing correction processing;
FIG. 9 is a schematic diagram for explaining timing correction processing when a new input is added during recording processing;
FIG. 10 is a schematic diagram for explaining timing correction processing when plug-in connection is released during processing;
FIG. 11 is a schematic diagram for explaining timing correction processing when packet data after the packet data of the waiting time stamp is sent.
FIG. 12 is a schematic diagram illustrating a mixer GUI plug-in screen.
FIG. 13 is a flowchart showing a recording processing procedure.
FIG. 14 is a flowchart showing a procedure for loading a DSP plug-in.
FIG. 15 is a schematic diagram for explaining an exchange between a workspace and an IO manager in a DSP plug-in load processing procedure;
FIG. 16 is a flowchart showing a DSP plug-in connection management processing procedure;
FIG. 17 is a schematic diagram for explaining an exchange between a workspace and an IO manager in a DSP plug-in connection management processing procedure;
FIG. 18 is a flowchart showing a DSP plug-in parameter adjustment processing procedure;
FIG. 19 is a schematic diagram for explaining an exchange between a GUI plug-in and a DSP plug-in in a DSP plug-in parameter adjustment processing procedure;
FIG. 20 is a flowchart illustrating a timing correction processing procedure.
[Explanation of symbols]
1 ... Remote location recording system, 2 ... Internet, 3, 4 ... Personal computer, 10, 210 ... CPU, 11, 211 ... HDD, 12, 212 ... RAM, 30, 230 ... Recording processing Program, 31, 231, ... Workspace, 32, 232 ... IO manager, 33, 233 ... DSP plug-in, 34, 234 ... GUI plug-in, 40A ... Recorder plug-in icon, 40B ... Mixer plug-in Icon, 41A: Audio output plug-in icon, 41B: Audio input plug-in icon.
Claims (7)
上記タイムスタンプと同一の値でなる待ちタイムスタンプを第1入力端子に設定したうえで、当該待ちタイムスタンプと上記第1コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第1コンテンツデータを上記第1入力端子を介して入力し、上記待ちタイムスタンプを第2入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第1コンテンツデータに対応するパケット単位の第2コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第2コンテンツデータを外部から上記第2入力端子を介して入力する入力手段と、
上記タイムスタンプに基づいて上記第1コンテンツデータと上記第2コンテンツデータとを時間的に同期させるように調整するタイミング補正手段と
を具え、
上記入力手段は、上記タイミング補正手段による処理中に、外部から第3コンテンツデータを追加入力するとき、当該第3コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第3入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第3コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第3コンテンツデータを入力し、
上記タイミング補正手段は、上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータを時間的に同期させるように調整する
コンテンツ編集装置。First content data output means for sequentially adding and outputting time stamps to the first content data in packet units;
When the waiting time stamp having the same value as the time stamp is set to the first input terminal and the waiting time stamp matches the time stamp added to the first content data, the first content Corresponds to the first content data to which the time stamp having the same value as the time stamp is added after inputting the data through the first input terminal and setting the waiting time stamp to the second input terminal. Input means for inputting the second content data from the outside through the second input terminal when the time stamp and the waiting time stamp in the second content data in packet units coincide with each other;
Timing correction means for adjusting the first content data and the second content data to be temporally synchronized based on the time stamp,
Said input means, during the treatment with the timing correction unit, when the additional input of the third content data from the external, the waiting time stamp consideration of the maximum delay time until the third content data reaches the third input Set the terminal, and input the third content data only when the set waiting time stamp matches the time stamp added to the third content data,
The timing correction means is configured to determine the first content data, the second content data, and the third content based on the time stamps added to the first content data, the second content data, and the third content data, respectively . A content editing apparatus that adjusts content data so as to be synchronized in time.
上記タイミング補正手段によって時間的に同期した上記第1コンテンツデータと上記第2コンテンツデータと上記第3コンテンツデータとを互いに対応付けて所定の記憶手段に記憶する記憶制御手段と
を具える請求項1に記載のコンテンツ編集装置。The content editing device
2. A storage control unit that stores the first content data, the second content data, and the third content data synchronized in time by the timing correction unit in association with each other and stored in a predetermined storage unit. The content editing apparatus described in 1.
請求項1に記載のコンテンツ編集装置。2. The content editing apparatus according to claim 1, wherein the first content data, the second content data, and the third content data are audio data that requires real-time performance corresponding to each music constituting the music.
請求項1に記載のコンテンツ編集装置。2. The content editing according to claim 1, wherein when the connection state via the first input terminal, the second input terminal, or the third input terminal is canceled, the input unit invalidates the canceled input. apparatus.
上記タイムスタンプと同一の値でなる待ちタイムスタンプを入力手段の第1入力端子に設定したうえで、当該待ちタイムスタンプと上記第1コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第1コンテンツデータを上記第1入力端子を介して入力し、上記待ちタイムスタンプを上記入力手段の第2入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第1コンテンツデータに対応するパケット単位の第2コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第2コンテンツデータを外部から上記第2入力端子を介して入力する入力ステップと、
タイミング補正手段により、上記タイムスタンプに基づいて上記第1コンテンツデータと上記第2コンテンツデータとを時間的に同期させるように調整するタイミング補正ステップと
を有し、
上記入力ステップでは、上記タイミング補正手段による処理中に、外部から第3コンテンツデータを追加入力するとき、当該第3コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第3入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第3コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第3コンテンツデータを入力し、
上記タイミング補正ステップでは、上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータを時間的に同期させるように調整する
コンテンツ編集方法。A first content data output step of sequentially adding and outputting a time stamp to the first content data in packet units by the first content data output means;
When the waiting time stamp having the same value as the time stamp is set in the first input terminal of the input means, and the waiting time stamp matches the time stamp added to the first content data, The first content data is input through the first input terminal, the waiting time stamp is set in the second input terminal of the input means, and a time stamp having the same value as the time stamp is added. An input step of inputting the second content data from the outside via the second input terminal when the time stamp in the second content data in a packet unit corresponding to the first content data matches the waiting time stamp. When,
A timing correction step for adjusting the first content data and the second content data in time synchronization by the timing correction means based on the time stamp;
In the input step, during processing by the timing correction unit, when the additional input of the third content data from the external, the waiting time stamp consideration of the maximum delay time until the third content data reaches the third input Set the terminal, and input the third content data only when the set waiting time stamp matches the time stamp added to the third content data,
In the timing correction step, the first content data, the second content data, and the third content are based on the time stamps added to the first content data, the second content data, and the third content data, respectively . A content editing method that adjusts content data to synchronize in time.
第1コンテンツデータ出力手段により、パケット単位の第1コンテンツデータにタイムスタンプを順次付加して出力する第1コンテンツデータ出力ステップと、
上記タイムスタンプと同一の値でなる待ちタイムスタンプを入力手段の第1入力端子に設定したうえで、当該待ちタイムスタンプと上記第1コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第1コンテンツデータを上記第1入力端子を介して入力し、上記待ちタイムスタンプを上記入力手段の第2入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第1コンテンツデータに対応するパケット単位の第2コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第2コンテンツデータを外部から上記第2入力端子を介して入力する入力ステップと、
タイミング補正手段により、上記タイムスタンプに基づいて上記第1コンテンツデータと上記第2コンテンツデータとを時間的に同期させるように調整するタイミング補正ステップと
を実行させ、
上記入力ステップでは、上記タイミング補正手段による処理中に、外部から第3コンテンツデータを追加入力するとき、当該第3コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第3入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第3コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第3コンテンツデータを入力し、
上記タイミング補正ステップでは、上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータを時間的に同期させるように調整する
ためのプログラムを記録したプログラム格納媒体。On the computer,
A first content data output step of sequentially adding and outputting a time stamp to the first content data in packet units by the first content data output means;
When the waiting time stamp having the same value as the time stamp is set in the first input terminal of the input means, and the waiting time stamp matches the time stamp added to the first content data, The first content data is input through the first input terminal, the waiting time stamp is set in the second input terminal of the input means, and a time stamp having the same value as the time stamp is added. An input step of inputting the second content data from the outside via the second input terminal when the time stamp in the second content data in a packet unit corresponding to the first content data matches the waiting time stamp. When,
A timing correction step for adjusting the first content data and the second content data to be temporally synchronized based on the time stamp by a timing correction means;
In the input step, during processing by the timing correction unit, when the additional input of the third content data from the external, the waiting time stamp consideration of the maximum delay time until the third content data reaches the third input Set the terminal, and input the third content data only when the set waiting time stamp matches the time stamp added to the third content data,
In the timing correction step, the first content data, the second content data, and the third content are based on the time stamps added to the first content data, the second content data, and the third content data, respectively . A program storage medium in which a program for adjusting content data to be synchronized in time is recorded.
上記第1の情報処理装置は、
パケット単位の第1コンテンツデータにタイムスタンプを順次付加して出力するタイムスタンプ付加手段と、
上記タイムスタンプと同一の値でなる待ちタイムスタンプを第1入力端子に設定したうえで、当該待ちタイムスタンプと上記第1コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第1コンテンツデータを上記第1入力端子を介して入力し、上記待ちタイムスタンプを第2入力端子に設定したうえで、上記タイムスタンプと同一の値でなるタイムスタンプが付加された上記第1コンテンツデータに対応するパケット単位の第2コンテンツデータにおける上記タイムスタンプと上記待ちタイムスタンプとが一致したとき、上記第2コンテンツデータを上記第2の情報処理装置から上記第2入力端子を介して入力する入力手段と、
上記タイムスタンプに基づいて上記第1コンテンツデータと上記第2コンテンツデータとを時間的に同期させるように調整するタイミング補正手段と
を具え、
上記入力手段は、上記タイミング補正手段による処理中に、外部から第3コンテンツデータを追加入力するとき、当該第3コンテンツデータが到達するまでの最大遅れ時間を考慮した待ちタイムスタンプを第3入力端子に設定し、当該設定した上記待ちタイムスタンプと上記第3コンテンツデータに付加されたタイムスタンプとが一致した場合にのみ上記第3コンテンツデータを入力し、
上記タイミング補正手段は、上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータにそれぞれ付加されている上記タイムスタンプに基づいて上記第1コンテンツデータ、上記第2コンテンツデータ及び上記第3コンテンツデータを時間的に同期させるように調整し、
上記第2の情報処理装置は、
上記第1コンテンツデータに対応するパケット単位の第2コンテンツデータに対して、上記第1コンテンツデータの上記タイムスタンプと同一の値でなるタイムスタンプを順次付加して上記第1の情報処理装置へ出力するコンテンツデータ出力手段と
を具えるコンテンツ編集システム。In a content editing system including a first information processing apparatus and a second information processing apparatus connected to each other via a network,
The first information processing apparatus includes:
Time stamp adding means for sequentially adding and outputting time stamps to the first content data in packet units;
When the waiting time stamp having the same value as the time stamp is set in the first input terminal and the waiting time stamp matches the time stamp added to the first content data, the first content Corresponds to the first content data to which the time stamp having the same value as the time stamp is added after inputting the data through the first input terminal and setting the waiting time stamp to the second input terminal. Input means for inputting the second content data from the second information processing apparatus via the second input terminal when the time stamp and the waiting time stamp in the second content data in packet units match. ,
Timing correction means for adjusting the first content data and the second content data to be temporally synchronized based on the time stamp,
Said input means, during the treatment with the timing correction unit, when the additional input of the third content data from the external, the waiting time stamp consideration of the maximum delay time until the third content data reaches the third input Set the terminal, and input the third content data only when the set waiting time stamp matches the time stamp added to the third content data,
The timing correction means is configured to determine the first content data, the second content data, and the third content based on the time stamps added to the first content data, the second content data, and the third content data, respectively . Adjust the content data to be synchronized in time,
The second information processing apparatus
A time stamp having the same value as the time stamp of the first content data is sequentially added to the second content data in units of packets corresponding to the first content data and output to the first information processing apparatus. A content editing system comprising content data output means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000264242A JP4318013B2 (en) | 2000-08-31 | 2000-08-31 | Content editing apparatus, content editing method, program storage medium, and content editing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000264242A JP4318013B2 (en) | 2000-08-31 | 2000-08-31 | Content editing apparatus, content editing method, program storage medium, and content editing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002073040A JP2002073040A (en) | 2002-03-12 |
JP4318013B2 true JP4318013B2 (en) | 2009-08-19 |
Family
ID=18751688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000264242A Expired - Fee Related JP4318013B2 (en) | 2000-08-31 | 2000-08-31 | Content editing apparatus, content editing method, program storage medium, and content editing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4318013B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1447790B1 (en) | 2003-01-14 | 2012-06-13 | Yamaha Corporation | Musical content utilizing apparatus |
JP4348546B2 (en) | 2005-01-20 | 2009-10-21 | ソニー株式会社 | Signal processing apparatus, signal processing program, and recording medium |
-
2000
- 2000-08-31 JP JP2000264242A patent/JP4318013B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002073040A (en) | 2002-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9432134B2 (en) | Exchange of metadata between a live sound mixing console and a digital audio workstation | |
US7518051B2 (en) | Method and apparatus for remote real time collaborative music performance and recording thereof | |
US20060156375A1 (en) | Systems and methods for synchronizing media rendering | |
JP2009535988A (en) | System and method for processing data signals | |
JP4304561B2 (en) | Information processing apparatus, information processing method, program storage medium, and information processing system | |
JP4318013B2 (en) | Content editing apparatus, content editing method, program storage medium, and content editing system | |
JP2002073439A (en) | Information processing equipment, information processing method, program storing medium and information processing system | |
JP2005204052A (en) | Method for controlling external equipment, and unit and program for controlling the external equipment | |
WO2022049732A1 (en) | Information processing device and information processing method | |
JP4823483B2 (en) | External device control method, external device control device, and program | |
JP6677343B2 (en) | Operation device, command processing device, and content reproduction system | |
JP2009244712A (en) | Musical performance system and recording method | |
JP4207972B2 (en) | Processing device in musical tone generation system | |
JP4131678B2 (en) | Performance data communication system | |
JP4200996B2 (en) | Processing device in musical tone generation system | |
JP4823482B2 (en) | External device control method, external device control device, and program | |
JP7456215B2 (en) | Audio interface equipment and recording system | |
JP4207970B2 (en) | Processing device in musical tone generation system | |
JP5152152B2 (en) | Remote control system and remote control method | |
JP5152151B2 (en) | Remote control system and remote control method | |
JP4200998B2 (en) | Processing device in musical tone generation system | |
JP4155295B2 (en) | Music generation system | |
JP4200997B2 (en) | Music generation system | |
Wu | JamNSync: A User-Friendly, Latency-Agnostic Virtual Rehearsal Platform for Music Ensembles | |
JP4207971B2 (en) | Processing device in musical tone generation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090408 |
|
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: 20090430 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090513 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |