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 PDF

Info

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
Application number
JP2000264242A
Other languages
Japanese (ja)
Other versions
JP2002073040A (en
Inventor
由幸 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000264242A priority Critical patent/JP4318013B2/en
Publication of JP2002073040A publication Critical patent/JP2002073040A/en
Application granted granted Critical
Publication of JP4318013B2 publication Critical patent/JP4318013B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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, reference numeral 1 denotes a remote location recording system as a whole. For example, a personal computer 4 installed in New York, which is a remote location, is connected to each other via the Internet 2 for a personal computer 3 installed in Tokyo. ing.
[0015]
In this case, the personal computer 3 in Tokyo and the personal computer 4 in New York communicate with each other via the Internet 2 using the TCP / IP (Transmission Control Protocol / Internet Protocol) protocol. Content data such as video data requiring real-time properties can be transmitted and received with each other in packet units.
[0016]
This remote location recording system 1 will be described below by taking as an example a case where recording editing processing relating to audio data is executed between a personal computer 3 in Tokyo and a personal computer 4 in New York in a music production environment.
[0017]
The personal computer 3 in Tokyo stores, for example, drum audio data and piano audio data in a built-in hard disk (not shown) in advance, reads the drum and piano audio data, and transmits the drum and piano audio data via the Internet 2 in New York. The data is transmitted to the personal computer 4.
[0018]
The personal computer 4 in New York generates drum playback sound and piano playback sound based on the drum and piano audio data transmitted from the personal computer 3 in Tokyo via the Internet 2 and outputs it from the speaker 4C.
[0019]
At this time, the personal computer 4 in New York captures the audio signal of the guitar played by the performer (not shown) in accordance with the reproduced sound of the drum and piano through the microphones 4A and 4B, and then converts it into digital audio data. This is transmitted to the personal computer 3 in Tokyo via the Internet 2.
[0020]
The personal computer 3 in Tokyo automatically stores the audio data of the guitar transmitted from the personal computer 4 in New York in time with the audio data of the drum and piano, and then mixes them, for example, by CD (Compact). Recording data of 2ch (L channel and R channel) for recording on (Disc) is generated.
[0021]
By the way, when the drum and piano audio data actually reaches the personal computer 4 in New York, a delay on the transmission path has already occurred since the personal computer 3 in Tokyo transmitted the audio data of the drum and piano. Even when the guitar audio data transmitted from the computer 4 reaches the personal computer 3 in Tokyo, a delay occurs on the transmission path, and a delay corresponding to the signal processing time in the personal computer 4 also occurs.
[0022]
Therefore, when the personal computer 3 in Tokyo receives the audio data of the guitar from the personal computer 4 in New York, the transmission path delay for the round trip and the delay for the signal processing time from the time when the audio data for the drum and piano are already transmitted. Therefore, by correcting the timing shift due to the delay, 2ch recording data for recording on the CD can be generated by executing the recording process in parallel between remote locations. ing. Hereinafter, the remote location recording system 1 including delay timing correction will be described in detail.
[0023]
(1-1) Circuit configuration of personal computer
As shown in FIG. 2, the personal computer 3 controls the personal computer 3 as a whole and edits audio data for each musical instrument to generate 2ch recording data for a CPU (Central Processing Unit) 10. , Hard disk drive (HDD) 11, RAM (Random Access Memory) 12, communication interface 13 for performing data communication with New York personal computer 4 via Internet 2 using TCP / IP protocol, external input terminal 14, external output A terminal 15 and a monitor 16 are connected via a bus 17.
[0024]
In this case, for example, the microphones 3A and 3B (FIG. 1) are connected to the external input terminal 14, and the speaker 3C is connected to the external output terminal 15, for example. Therefore, the personal computer 3 can collect vocal voices via the microphones 3A and 3B and record the voices again on the recording data.
[0025]
The hard disk drive 11 stores various application programs such as an operating system program such as Windows 98 (Microsoft, trademark) and a recording processing program (to be described later) for executing remote location recording processing in the present invention. Yes.
[0026]
The CPU 10 reads various programs stored in the hard disk drive 11 as appropriate, develops them in the RAM 12 and executes them to execute various processes, and displays the processing results on the monitor 16.
[0027]
The personal computer 4 has the same circuit configuration as that of the personal computer 3, and the added numbers (210 to 217) are only different from those of the personal computer 3, so that the description thereof is omitted here.
[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 personal computer 3 in Tokyo as an example will be described.
[0029]
Incidentally, in the remote location recording system 1, the remote location recording process can be controlled not by the personal computer 3 in Tokyo but by the personal computer 4 installed in New York, which is a master and which is a slave. Even if it becomes.
[0030]
(2-1) Remote location connection processing
First, the personal computer 3 in FIG. 2 (FIG. 2) reads a recording processing program from the hard disk of the HDD 11 under the control of the CPU 10 when given an instruction to perform remote area recording processing after being activated in response to the power button being turned on. And expanded in the RAM 12.
[0031]
Here, as shown in FIG. 3, the recording processing program 30 includes a work space 31, an IO (In-Out) manager 32, DSP (Digital Signal Processor) plug-ins 33A to 33N, and GUI (Graphical User Interface) plug-ins 34A to 34A. Four types of objects called 34N are hierarchically linked to each other.
[0032]
Therefore, in the personal computer 3, each object of the work space 31, the IO manager 32, the DSP plug-ins 33A to 33N, and the GUI plug-ins 34A to 34N executes predetermined processing, and the processing result is displayed on the monitor 16. ing.
[0033]
The New York personal computer 4 similarly has a recording processing program 230, and four types of objects called a workspace 231, an IO manager 232, DSP plug-ins 233A to 233N, and GUI plug-ins 234A to 234N are hierarchical. In general, they are configured in cooperation with each other.
[0034]
Incidentally, the DSP plug-ins 33A to 33N and 233A to 233N respectively correspond to the number of digital signal processing functions held by the personal computers 3 and 4, and the GUI plug-ins 34A to 34N and 234A to 234N are DSP plug-ins. Objects for adjusting the parameters 33A to 33N and 233A to 233N, each corresponding one to one.
[0035]
Here, in the present embodiment, in order to explain the following description as the relationship between the objects, the workspaces 31 and 231, the IO managers 32 and 232, the DSP plug-ins 33A to 33N and 233A to 233N, the GUI The plug-ins 34 </ b> A to 34 </ b> N and 234 </ b> A to 234 </ b> N will be mainly described, but in reality, the CPUs 10 and 210 are all executing various processes.
[0036]
The workspace 31 controls the loading and unloading of the DSP plug-ins 33A to 33N, and the DSP plug-ins 33A to 33N or the DSP plug-ins 233A to 233N held by the DSP plug-ins 33A to 33N and the personal computer 4 in New York. Management and control of loading and unloading of the GUI plug-ins 34A to 34N, and display control of the connection status of the DSP plug-ins 33A to 33N and the DSP plug-ins 233A to 233N as a whole. Has been made.
[0037]
That is, the work space 31 is a connection of the entire DSP plug-ins 33A to 33N and DSP plug-ins 233A to 233N created based on the plug-in list regarding the currently loaded DSP plug-ins 33A to 33N and the inquiry results to the IO managers 32 and 232. The connection state data representing the state and the work space ID (Identification) unique to the work space 31 are held, and the above-described display control is performed based on these various data.
[0038]
The IO manager 32 has individual plug-in data for the DSP plug-ins 33A to 33N being loaded and an IO manager ID unique to the IO manager 32 itself. The connection management of the DSP plug-ins 33A to 33N and the DSP plug-in 33A Data management for each packet processed by .about.33N is performed, and the connection management status regarding the DSP plug-ins 33A to 33N is notified to the work space 31 at predetermined time intervals.
[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 IO manager 32 can recognize the connection management state of the DSP plug-ins 33A to 33N in detail by holding the plug-in data, and can also input / output the audio data in units of packets to each DSP plug-in 33A. It is designed to be able to accurately indicate ~ 33N.
[0042]
The DSP plug-ins 33A to 33N are loaded or unloaded by the work space 31, and perform predetermined digital signal processing on the audio data in units of packets supplied from the connected DSP plug-in in the previous stage. The processed data is transmitted to the DSP plug-in at the subsequent stage, which is a predetermined transmission destination, in accordance with an instruction from the IO manager 32.
[0043]
Here, the DSP plug-ins 33A to 33N are configured to operate on independent memory spaces, so that even if the DSP plug-in 33A operating on a certain memory space stops functioning, The influence is not exerted on the other DSP plug-ins 33B to 33N.
[0044]
The GUI plug-ins 34 </ b> A to 34 </ b> N include a list in the lower level DSP plug-in of the DSP plug-in corresponding to each one-to-one, a connection status data list in the lower level DSP plug-in, parameter adjustment data regarding parameters of the DSP plug-in, and GUI plugs. The plug-in has its own GUI plug-in ID and is loaded or unloaded by the work space 31 so that parameters relating to various functions in the DSP plug-ins 33A to 33N can be adjusted.
[0045]
When the DSP plug-ins 33A to 33N are configured by a plurality of lower level DSP plug-ins located in the lower hierarchy, the lower level GUI plug-ins are loaded or unloaded by the higher level GUI plug-ins 34A to 34N. Has been made.
[0046]
In practice, the DSP plug-ins 33A to 33N include an audio input plug-in as an analog / digital conversion processing function for an audio signal collected by the microphones 3A and 3B connected via the external input terminal 14, and an external output terminal 15 Audio output plug-in as a digital / analog conversion processing function for audio data for outputting performance sound via a speaker 3C connected via the effector plug as an effector function for giving a predetermined sound quality effect to the audio data In, there are a recorder plug-in as a recorder function for reproducing and recording audio data, a mixer plug-in as a mixer function for mixing, and the like.
[0047]
The workspace 31 displays plug-in icons (to be described later) corresponding to these various DSP plug-ins 33A to 33N on the monitor 16, and each plug-in icon is displayed on the screen of the monitor 16. By connecting according to the user's specification, various recording plug-ins 33A to 33N and 233A to 233N can be combined to generate recording data of desired sound quality.
[0048]
That is, in the recording processing program 30, the work space 31 first displays the work space screen 20 as shown in FIG. The workspace screen 20 includes an almost central IO manager display unit 21, a tool box 22 displaying a plug-in list of a plurality of various DSP plug-ins 33A to 33N, and playback, stop, fast reverse, fast forward, pause, etc. Transport windows 23 for performing various operations are provided.
[0049]
Incidentally, nothing is displayed on the IO manager display unit 21 on the workspace screen 20 at this time, indicating that none of the DSP plug-ins 33A to 33N is selected.
[0050]
The user selects the select button 22X from the tool box 22 on the workspace screen 20 and, for example, the DSP plug-ins 33A and 33B shown in FIG. 3 (hereinafter referred to as the recorder plug-in 33A and the mixer plug-in). When the IO manager display unit 21 is clicked after clicking the plug-in buttons 22A and 22B corresponding to (33B), the workspace 31 reads and loads the recorder plug-in 33A and the mixer plug-in 33B from the hard disk of the HDD 11. At the same time, as shown in FIG. 5, the recorder plug-in icon 40A and the mixer plug-in icon 40B corresponding to the recorder plug-in 33A and the mixer plug-in 33B are displayed on the IO manager display unit 21.
[0051]
In this case, the recorder plug-in icon 40A is provided with 6ch input terminals (indicated by ◯) on the left side and 6ch output terminals (indicated by ◯) on the right side. 6ch input terminals (indicated by circles) corresponding to the output terminal of the recorder plug-in icon 40A and 2ch output terminals (indicated by circles) for outputting the final recording data of 2ch. Is provided.
[0052]
Next, when the user clicks the connect button 22Y in the tool box 22 on the workspace screen 20 and drags and drops it from the output terminal of the recorder plug-in icon 40A to the input terminal of the mixer plug-in icon 40B, the IO manager 32 is displayed. The output of the recorder plug-in 33A and the input of the mixer plug-in 33B are connected, and the connection source output terminal (indicated by a circle) of the recorder plug-in icon 40A of the IO manager display unit 21 and the connection destination of the mixer plug-in icon 40B Connect and display the input terminal (indicated by a circle) on the screen.
[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 HDD 11, and recording processing on guitar audio data transmitted from an external personal computer 4 in New York. And a recording system for performing.
[0054]
In this case, the recorder plug-in 33A transmits the L channel and the R channel transmitted from the personal computer 4 in New York via the Internet 2 via the 2ch located at the bottom of the 6ch input terminals of the recorder plug-in icon 40A. The guitar audio data can be input and recorded.
[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 work space screen 20, the work space 31 enters an IP address input screen (not shown) for inputting a connection destination IP (Internet Protocol) address. ) Overlaid on the workspace screen 20.
[0057]
When the user inputs the IP address of the New York personal computer 4 desired to be connected to the IP address input screen, the work space 31 connects the Tokyo personal computer 3 and the New York personal computer 4 via the Internet 2 over the network. As shown in FIG. 6, an IO manager display unit 27 corresponding to the personal computer 4 in New York is displayed over the IO manager display unit 21.
[0058]
As a result, the work space 31 (FIG. 3) is connected to the IO manager 232 of the recording processing program 230 in the personal computer 4 in New York via the Internet 2.
[0059]
In the workspace screen 20 in this state, the IO manager display unit 27 is a currently active window, and the IO manager display unit 21 is an inactive window.
[0060]
Subsequently, the user selects the select button 22X from the tool box 22 on the workspace screen 20, and plug-in buttons 22C corresponding to, for example, the audio output plug-in 233A and the audio input plug-in 233B (FIG. 3). When the IO manager display unit 27 is clicked, the workspace 31 sends the audio output plug-in 233A and the audio input plug-in 233B to the IO manager 232 in the New York personal computer 4 side. The start command to start up is transmitted via the Internet 2.
[0061]
As a result, the workspace 31 activates the audio output plug-in 233A and the audio input plug-in 233B on the personal computer 4 side in New York, and also outputs the audio output plug-in icon corresponding to the audio output plug-in 233A and the audio input plug-in 233B. 41A and the voice input plug-in icon 41B are displayed on the IO manager display unit 27.
[0062]
Thereafter, the user clicks the connect button 22Y in the tool box 22, and the 2ch portion located at the lowest position of the recorder plug-in icon 40A from the connection source output terminal (indicated by a circle) of the audio input plug-in icon 41B. Drag and drop to the connection destination input terminal (indicated by a circle), and from the connection source output terminal (indicated by a circle) of the mixer plug-in icon 40B to the connection destination input terminal of the audio output plug-in icon 41A (indicated by a circle) When dragged and dropped, the IO manager 32 connects the recorder plug-in 33A and the mixer plug-in 33B, and the audio output plug-in 233A and the audio input plug-in 233B to each other via the Internet 2.
[0063]
At this time, the work space 31 includes a recorder plug-in icon 40A and a mixer plug-in icon 40B on the IO manager display unit 21, and an audio output plug-in icon 41A and an audio input plug-in icon on the IO manager display unit 27 as shown in FIG. 41B is connected and displayed on the workspace screen 20 to display the recorder plug-in 33A and mixer plug-in 33B of the personal computer 3 in Tokyo and the audio output plug-in 233A and audio input of the personal computer 4 in New York. The user can visually recognize that the plug-in 233B is connected to a remote place.
[0064]
As a result, the audio data of the 2ch guitar transmitted from the audio input plug-in 233B in the personal computer 4 in New York via the Internet 2 is input to the 2ch input terminal located at the lowest position of the recorder plug-in 33A. The 2ch input terminal of the audio output plug-in 233A is connected to the 2ch output terminal of the mixer plug-in 33B.
[0065]
Thereby, the remote location recording system 1 reproduces the drum and piano audio data reproduced by the recorder plug-in 33A in the personal computer 3 in Tokyo and mixed in the mixer plug-in 33B, and the audio output plug-in 233A in the personal computer 4 in New York. And output as drum and piano performance sounds from a speaker (not shown) via the audio output plug-in 233A.
[0066]
Then, the remote area recording system 1 takes in the audio signal of the guitar played by the personal computer 4 in New York in accordance with the performance sound of the drum and piano to the audio input plug-in 233B via the microphones 4A and 4B, and inputs the audio input It returns to the recorder plug-in 33A in the personal computer 3 in Tokyo as audio data of the guitar via the plug-in 233B.
[0067]
The personal computer 3 in Tokyo stores the audio data of the guitar by the recording system of the recorder plug-in 33A so as to synchronize with the drum and piano audio data read and reproduced from the hard disk of the HDD 11 by the playback system of the recorder plug-in 33A. As a result, it is possible to execute a storage process in which a deviation between the reproduction timing and the recording timing of the recorder plug-in 33A due to a transmission path delay between remote locations is corrected.
[0068]
Further, the remote location recording system 1 remotely connects the recorder plug-in 33A and the mixer plug-in 33B in the personal computer 3 in Tokyo, and the audio output plug-in 233A and the audio input plug-in 233B started up in the personal computer 4 in New York. By connecting to the ground, the recorder function, mixer function, voice output function and voice input function are distributed to the personal computer 3 in Tokyo and the personal computer 4 in New York when viewed as the whole system.
[0069]
Thus, the remote location recording system 1 distributes various functions even if only one of the personal computer 3 in Tokyo or the personal computer 4 in New York could not be processed due to the limit of the processing capacity of the CPUs 10 and 210. As a result, it has become possible to execute the system as a whole because the overall processing capability has been improved.
[0070]
The IO manager 32 dynamically loads and unloads the audio output plug-in 233A and the audio input plug-in 233B started up by the mixer plug-in 33B and the personal computer 4 in New York, even while the audio data is being reproduced by the recorder plug-in 33A. Thus, the remote location recording system 1 can be constructed by freely changing the combination of various plug-ins at any time and combining the functions desired by the user.
[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 location recording system 1 will be described in detail.
[0072]
(2-2-1) Timing correction processing for transmission line delay
In the remote location recording system 1 described above, when a personal computer 3 in Tokyo and a personal computer 4 in New York are connected to the network via the Internet 2, an inter-transmission path delay always occurs between the networks. In order to store the guitar audio data sent from the personal computer 4 in the hard disk of the HDD 11 so as to be synchronized with the drum and piano audio data, it is necessary to correct the timing shift due to the delay between the transmission paths.
[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 IO manager 32 for each packet period, and are also connected to the audio output plug. The master clock MCLK2 generated by the internal real-time clock is also supplied from the IO manager 232 for each packet cycle to the IN 233A and the audio output plug-in 233B.
[0074]
In this case, the master clock MCLK1 that the IO manager 32 supplies to the recorder plug-in 33A and the mixer plug-in 33B is synchronized with the master clock MCLK2 that the IO manager 232 supplies to the audio output plug-in 233A and the audio output plug-in 233B. The master clocks MCLK1 and MCLK2 that are common to the remote locations are supplied at the same time.
[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 IO manager 32, respectively, and the next drum packet data DrPD1, DrPD2 In addition, a time stamp “0001” is added to the piano packet data PiPD1 and PiPD2, and the drum packet data DrPD to which the time stamp is added is added by sequentially incrementing the time stamp value in units of packets. Generates DrPD2 and piano packet data PiPD1, PiPD2, and outputs it to a sequential mixer plug 33B.
[0076]
The IO manager 32 recognizes the connection state to the recorder plug-in 33A, the mixer plug-in 33B, the audio output plug-in 233A, and the audio input plug-in 233B based on the plug-in data, and the drum packet data DrPD1, DrPD2, and the piano The packet data PiPD1 and PiPD2 are instructed for connection destination information indicating a destination to be transmitted next.
[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 IO manager 32, and set a predetermined connection destination according to the connection destination information. Packet data can be accurately transmitted to the DSP plug-in.
[0078]
At the same time, the IO manager 32 waits for the input of various packet data of the time stamp “0000” at the input of 4ch of the mixer plug-in 33B connected to the output of the recorder plug-in 33A, and waits for the time stamp “0000”. Set.
[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 IO manager 32, and mixes the time stamp “0000”. Data MIXPD1 and MIXPD2 are transmitted to the audio output plug-in 233A of the personal computer 4 in New York via the Internet 2.
[0081]
At this time, the work space 31 receives the mixing data MIXPD1 of the time stamp “0000” at the input of 2ch of the audio output plug-in 233A connected to the output of the mixer plug-in 33B via the IO manager 232 of the personal computer 4. A wait time stamp “0000” is set so as to wait for the input of MIXPD2.
[0082]
Thereafter, the IO manager 32 sets the waiting time stamp “0001” so as to wait for the input of various packet data of the time stamp “0001” with the input of 4 channels of the mixer plug-in 33B, and is sequentially output from the recorder plug-in 33A. The wait time stamp value is incremented in accordance with various packet data.
[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 MIXPD 2 is converted into a digital / analog signal and then output as drum and piano performance sounds via a speaker (not shown).
[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 IO manager 232 Are sequentially read out and digital-analog converted, and then output through a speaker.
[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 IO manager 232 sets the waiting time stamp “0001” so as to wait for the input of various packet data of the next time stamp “0001” at the input of the audio output plug-in 233A for two channels, and sequentially the mixer plug-in 33B. The wait time stamp value is incremented in accordance with the mixing data MIXPD1 and MIXPD2 supplied from.
[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 personal computer 3.
[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 IO manager 32 waits for input of guitar packet data GiPD1 and GiPD2 in which the time stamp “0000” is added to the input of the recording system in the recorder plug-in 33A connected to the output of the audio input plug-in 233B. Set “0000”.
[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 HDD 11 so as to be synchronized with the PiPD2.
[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 location recording system 1, for example, as shown in FIG. 9A, the IO manager 32 waits for 2ch input in the mixer plug-in 33B to wait for drum packet data DrPD1 and DrPD2 of the time stamp “0002”. When the input of piano packet data PiPD1 and PiPD2 is newly added from the recorder plug-in 33A in the previous stage with the time stamp “0002” set, for example, the piano packet of the time stamp “0006” is added to the newly added input. A waiting time stamp “0006” is set so as to wait for the data PiPD1 and PiPD2.
[0093]
The IO manager 32 sets the waiting time stamp “0006” so as to wait for the piano packet data PiPD1 and PiPD2 having the time stamp “0006” to be input after the piano packet data PiPD1 and PiPD2 are input. In fact, the maximum delay time required for the piano packet data PiPD1 and PiPD2 to arrive is expected.
[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 IO manager 32 performs time stamping as shown in FIG. 9B. Since the mixing data MIXPD1 and MIXPD2 of “0002” are output, the value of the waiting time stamp for the drum packet data DrPD1 and DrPD2 is incremented to the time stamp “0003”.
[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 IO manager 32 mixes the mixing data MIXPD1 of the time stamp “0003” and Since MIXPD2 is output, the drum packet data DrPD1 and DrPD2 are incremented to the waiting time stamp “0004” and sequentially incremented to the time stamp “0006”.
[0096]
That is, the IO manager 32 waits until the piano packet data PiPD1 and PiPD2 of the time stamp “0006” reach the input in which the wait time stamp “0006” of the mixer plug-in 33B is set. The mixing process for the drum packet data DrPD1 and DrPD2 of “0005” is continuously executed by the mixer plug-in 33B, and a new input is added to the mixing process for the drum packet data DrPD1 and DrPD2. It is made to be able to prevent stagnation.
[0097]
As shown in FIG. 9C, when the IO manager 32 eventually sets the waiting time stamp “0006” for the drum packet data DrPD1 and DrPD2 at the input of the mixer plug-in 33B, all inputs for four channels are made. Thus, the drum packet data DrPD1 and DrPD2 with the time stamp “0006” and the piano packet data PiPD1 and PiPD2 with the time stamp “0006” are awaited.
[0098]
The IO manager 32 inputs the drum packet data DrPD1 and DrPD2 with the time stamp “0006” and the piano packet data PiPD1 and PiPD2 with the time stamp “0006” from the recorder plug-in 33A in the previous stage to the mixer plug-in 33B. When the mixing data MIXPD1 and MIXPD2 of “0006” are output, the input for 4 channels is incremented to the waiting time stamp “0007” as shown in FIG. 9D, and thereafter the mixing processing is sequentially performed for the inputs for 4 channels. It is made to do.
[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 IO manager 32 actually performs the previous stage on the newly added input. By setting a waiting time stamp that anticipates the maximum delay time required for the piano packet data PiPD1 and PiPD2 to reach the mixer plug-in 33B from the recorder plug-in 33A, all inputs for 4ch are surely received after the maximum delay time has elapsed. The mixing process for 4ch can be executed at the same time, and the mixing process for the drum packet data DrPD1 and DrPD2 can be continuously executed without delay until the input for 4ch is completed.
[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 IO manager 32 receives the piano packet of the time stamp “0005”. The input of data PiPD1 and PiPD2 is not accepted, but it waits for piano packet data PiPD1 and PiPD2 of time stamp “0006” to arrive.
[0101]
In other words, the IO manager 32 sets the wait time stamp “0006” that allows for the maximum delay time, and waits for the piano packet data PiPD1 and PiPD2 of the time stamp “0006”, so that the wait time shorter than the maximum delay time is assumed. When the stamp “0003” is set, the piano packet data PiPD1 and PiPD2 of the time stamp “0006” arrive and the situation where the mixing process cannot be executed forever because the input for 4ch is not complete is prevented. It is made to be able to do.
[0102]
(2-2-3) Timing correction processing when input is canceled during recording processing
On the other hand, in the remote location recording system 1, for example, as shown in FIG. 10A, the mixer plug-in 33B is outputting the mixing data MIXPD1 and MIXPD2 of the time stamp “0016” and the recorder plug-in 33A in the previous stage. The timing correction processing when the input of the piano packet data PiPD1 and PiPD2 is canceled due to the partial connection cancellation will be described.
[0103]
In this case, as shown in FIG. 10B, the IO manager 32, when the connection with the recorder plug-in 33A is canceled, the piano packet data PiPD1 with the time stamp “0017” already reached from the recorder plug-in 33A. And PiPD2 exist, after mixing them, the waiting time stamp “0018” for the input of the next piano packet data PiPD1 and PiPD2 is set to “invalid”.
[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 IO manager 32 thereafter outputs the mixing data MIXPD1 and MIXPD2 of the time stamp “0018” as shown in FIG. 10C, and “invalid” the waiting time stamp for the input of the piano packet data PiPD1 and PiPD2. With this setting, only the waiting time stamp for the input of the drum packet data DrPD1 and DrPD2 is sequentially incremented.
[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 IO manager 32 at that time The piano packet data PiPD1 and PiPD2 already sent from the recorder plug-in 33A to the mixer plug-in 33B are mixed, but the piano packet data PiPD1 and PiPD2 sent thereafter are not accepted. By disabling, it is possible to smoothly shift to the mixing processing for only the drum packet data DrPD1 and DrPD2 without delay from the connection cancellation time point.
[0107]
(2-2-4) Timing correction processing when packet data after the waiting time stamp packet data is sent
Next, in the remote location recording system 1, for example, as shown in FIG. 11A, the mixer plug-in 33B is waiting for the drum packet data DrPD1 and DrPD2 of the time stamp “0021”, and inputs one channel. The timing correction process when the drum packet data DrPD2 with the time stamp “0022” is sent from the preceding recorder plug-in 33A will be described.
[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 IO manager 32.
[0109]
The IO manager 32 once buffers the drum packet data DrPD2 with the time stamp “0022”, sends the drum packet data DrPD2 with the time stamp “0021” to the mixer plug-in 33B, and then the drum packet with the time stamp “0022”. The packet data DrPD2 is retransmitted to the mixer plug-in 33B.
[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 IO manager 32, when the drum packet data DrPD2 of the time stamp “0022” after the waiting time stamp “0021” is rejected and sent back by the mixer plug-in 33B, the time stamp “0022”. The drum packet data DrPD2 of the time stamp is temporarily buffered, the drum packet data DrPD2 of the time stamp “0021” is sent to the mixer plug-in 33B, and then the drum packet data DrPD2 of the time stamp “0022” is retransmitted to the mixer plug-in 33B. Thus, the mixer plug-in 33B can be controlled to execute the mixing process without causing the packet data to be out of order.
[0112]
(2-2-5) Parameter adjustment processing of DSP plug-in by GUI plug-in In the work space 31, for example, when the mixer plug-in icon 40B is double-clicked, the mixer GUI provided corresponding to the mixer plug-in 33B The plug-in 34B is loaded, and a mixer GUI plug-in screen 50 as shown in FIG. 12 is displayed on the IO manager display unit 21 based on the mixer GUI plug-in 34B.
[0113]
The mixer GUI plug-in screen 50 in this case is a GUI screen for adjusting the volume of audio data input to the mixer plug-in 33B for each instrument by two channels, and the volume value ("0db") by the user. The volume of the mixer plug-in 33B that is the operation target can be adjusted in accordance with the setting.
[0114]
When the audio output plug-in icon 41A is double-clicked, the workspace 31 sends a request command for the audio output GUI plug-in 234A corresponding to the audio output plug-in 233A to the personal computer 4 in New York via the Internet 2. Based on the audio output GUI plug-in 234A transmitted and received from the personal computer 4, the audio output GUI plug-in screen can be displayed on the IO manager display unit 27 in an overlapping manner.
[0115]
As a result, the work space 31 can remotely control the parameters related to the audio output plug-in 233A being activated on the personal computer 4 in New York based on the audio output GUI plug-in screen.
[0116]
As described above, in the remote location recording system 1, the DSP plug-ins 33A to 33N and 233A to 233N and the GUI plug-ins 34A to 34N and 234A to 234N are separately stored in the personal computers 3 and 4, for example, The personal computer 3 can receive the GUI plug-in 234A of the personal computer 4 and remotely control the DSP plug-in 33A via the GUI plug-in 234A. Thus, remote control across the network can be easily executed. it can.
[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 IO manager 32 responds to the input processing instructions. Thus, the recorder plug-in 33A, the mixer plug-in 33B, the audio output plug-in 233A, and the audio input plug-in 233B are operated in an interlocking manner so that the reproduction process and the recording process can be executed.
[0118]
(2-3) Recording procedure
Next, when the above-described recording processing procedure performed by the personal computer 3 according to the recording processing program 30 is summarized using the flowchart of FIG. 13, the personal computer 3 enters from the start step of the routine RT1 and loads the DSP plug-in 33. Move on to subroutine SRT2.
[0119]
(2-3-1) DSP plug-in loading procedure
As shown in FIGS. 14 and 15, in step SP1 of the subroutine SRT2, the work space 31 is clicked by the user on the select button 22X and the plug-in buttons 22A and 22B from the tool box 22 on the work space screen 20 (FIG. 3). Then, the DSP plug-ins 33A and 33B read from the hard disk of the HDD 11 together with the load request commands of the DSP plug-in (recorder plug-in) 33A and DSP plug-in (mixer plug-in) 33B are sent to the IO manager 32. The process proceeds to the next step SP2.
[0120]
In step SP2, the IO manager 32 loads the objects of the DSP plug-ins 33A and 33B into the RAM 12, and proceeds to the next step SP3.
[0121]
In step SP3, the work space 31 sends an IO manager update check command for checking the update status of the DSP plug-in 33 being loaded to the IO manager 32 at regular time intervals, and proceeds to the next step SP4.
[0122]
In step SP4, the IO manager 32 sends an update result message indicating whether or not the DSP plug-in 33 has been updated to the work space 31, and proceeds to the next step SP5.
[0123]
In step SP5, the work space 31 determines whether or not the DSP plug-in 33 has been updated based on the content of the update result message. If a negative result is obtained here, this means that the newly loaded DSP plug-in 33 does not exist and the DSP plug-in 33 has not been updated. The process proceeds to the next subroutine SRT3.
[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 space 31 moves to the next step SP6.
[0125]
In step SP6, the work space 31 sends a plug-in data request command for requesting plug-in data relating to the updated new DSP plug-in 33 to the IO manager 32, and proceeds to the next step SP7.
[0126]
In step SP7, the IO manager 32 sends the updated plug-in data relating to the new DSP plug-in 33 to the work space 31, and proceeds to the next step SP8.
[0127]
In step SP8, the workspace 31 displays, for example, the recorder plug-in icon 40A and the mixer plug-in icon 40B corresponding to the loaded new DSP plug-ins 33A and 33B on the IO manager display unit 21 based on the plug-in data. Thus, the screen of the IO manager display unit 21 is newly updated, and the process proceeds to the next subroutine SRT3.
[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 work space 31 is clicked on the connect button 22Y from the tool box 22 on the work space screen 20 (FIG. 3), for example, the recorder plug-in icon 40A. When dragged and dropped from the output terminal to the input terminal of the mixer plug-in icon 40B, the connection source output and the connection destination together with connection request commands for the DSP plug-in (recorder plug-in) 33A and the DSP plug-in (mixer plug-in) 33B Various connection information including input and a connection start time stamp at the start of connection is sent to the IO manager 32, and the process proceeds to the next step SP12.
[0129]
In step SP12, the IO manager 32 executes connection processing of the DSP plug-ins 33A and 33B, and proceeds to the next step SP13.
[0130]
In step SP13, the work space 31 sends an IO manager connection update check command for checking the connection status to the DSP plug-in 33 being loaded to the IO manager 32 at regular time intervals, and proceeds to the next step SP14.
[0131]
In step SP14, the IO manager 32 sends a connection update result message indicating the presence / absence of connection update for the DSP plug-ins 33A and 33B to the work space 31, and proceeds to the next step SP15.
[0132]
In step SP15, the workspace 31 determines whether or not the connection status has been updated for the DSP plug-ins 33A and 33B based on the content of the connection update result message. If a negative result is obtained here, this means that there has been no change in the connection status regarding the DSP plug-ins 33A and 33B, and at this time, the work space 31 moves to the next subroutine SRT4.
[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-ins 33A and 33B, and at this time the workspace 31 moves to the next step SP16. .
[0134]
In step SP16, the work space 31 sends a plug-in data request command related to the DSP plug-in 33 whose connection status is newly changed to the IO manager 32, and proceeds to the next step SP17.
[0135]
In step SP17, the IO manager 32 sends plug-in data related to the DSP plug-in 33 whose connection status is newly changed to the work space 31, and proceeds to the next step SP18.
[0136]
In step SP18, the workspace 31 newly displays the plug-in icons 40A and 40B whose connection status is newly changed on the IO manager display unit 21 based on the plug-in data, thereby displaying the screen of the IO manager display unit 21. Is newly updated, and the process proceeds to the next subroutine SRT4.
[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 CPU 10 updates the GUI plug-in screen by displaying the GUI plug-in screen in which the parameters are newly changed based on the parameter adjustment data, and proceeds to the next subroutine SRT5.
[0146]
(2-3-4) Timing correction processing procedure
As shown in FIG. 20, in step SP31 of the subroutine SRT5, the IO manager 32 sets the time to the drum packet data DrPD1, DrPD2 and piano packet data PiPD1, PiPD2 reproduced by the reproduction system of the recorder plug-in 33A as shown in FIG. The stamp “0000” is added and output, and the waiting time stamp “0000” is set to the input of the recording system in the mixer plug-in 33B, the audio output plug-in 233A, and the recorder plug-in 33A (FIG. 8) after the next stage. Then, the process proceeds to the next step SP32.
[0147]
In step SP32, the IO manager 32 adds a time stamp “0000” to the mixing data MIXPD1 and MIXPD2 output from the mixer plug-in 33B in the subsequent stage, and also adds to the guitar packet data GiPD1 and GiPD2 output from the audio input plug-in 233B. Also adds a time stamp “0000”, and proceeds to the next step SP33.
[0148]
In step SP33, the IO manager 32 plays back the drum packet data DrPD1 with the time stamp “0000” reproduced from the playback system of the guitar packet data GiPD1 and GiPD2 with the time stamp “0000” input from the audio input plug-in 233B to the recorder plug-in 33A. Then, the timing shift due to the transmission path delay is corrected by controlling the storage on the hard disk of the HDD 11 based on the time stamp “0000” so as to be synchronized with the DrPD2 and the piano packet data PiPD1 and PiPD2, and the process proceeds to the next step SP34.
[0149]
In step SP34, the IO manager 32 determines whether or not a new input is added to the mixer plug-in 33B, for example, as shown in FIG. If a negative result is obtained here, this means that a new input has not been added. At this time, the IO manager 32 moves to step SP40 and ends the recording processing procedure by the recording processing program 30.
[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 IO manager 32 proceeds to the next step SP35.
[0151]
In step SP35, the IO manager 32 sets a waiting time stamp in consideration of the maximum delay time until the packet data arrives from the DSP plug-in in the previous stage with respect to the new input, so that the new input has been added. Therefore, it is prevented that the processing for the packet data that has already been input is delayed, and the process proceeds to the next step SP36.
[0152]
In step SP36, for example, as shown in FIG. 10, the IO manager 32 determines whether or not the input of the piano packet data PiPD1 and PiPD2 is canceled during the mixing process in the mixer plug-in 33B.
[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 IO manager 32 moves to step SP40 and performs the recording processing procedure by the recording processing program 30. All ends.
[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 IO manager 32 proceeds to the next step SP37.
[0155]
In step SP37, the IO manager 32 sets the canceled input waiting time stamp “0000” of the mixer plug-in 33B to “invalid”, so that only the drum packet data DrPD1 and DrPD2 are promptly transmitted without delay from the input cancellation time point. The process proceeds to the mixing process, and the process proceeds to the next step SP38.
[0156]
In step SP38, for example, as shown in FIG. 11, the IO manager 32 sends packet data of a time stamp later than the waiting time stamp to the input of the mixer plug-in 33B. It is determined whether or not the input is rejected.
[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 IO manager 32 moves to step SP40 and completes the recording processing procedure by the recording processing program 30.
[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 IO manager 32 once buffers the packet data rejected by the mixer plug-in 33B, and resends it until it is received at the input of the mixer plug-in 33B. After the mixing process is accurately executed without being distorted, the process proceeds to the next step SP40, and all the recording process procedures by the recording process program 30 are terminated.
[0160]
(3) Operations and effects in the embodiment
In the above configuration, the remote inter-site recording system 1 reproduces with the playback system of the recorder plug-in 33A when performing recording processing almost simultaneously in parallel between the personal computer 3 in Tokyo and the personal computer 4 in New York. A time stamp “0000” is added to the drum packet data DrPD1 and DrPD2 and the piano packet data PiPD1 and PiPD2 and output.
[0161]
At this time, the remote location recording system 1 sets a waiting time stamp “0000” at each input in the recording system of the mixer plug-in 33B, the audio output plug-in 233A, and the recorder plug-in 33A in the subsequent stage, and the mixer plug-in 33B. And the time stamp “0000” is added at the output of the audio input plug-in 233B.
[0162]
As a result, the remote location recording system 1 is a playback system of the recorder plug-in 33A, and the drum packet data DrPD1 and DrPD2 with the time stamp “0000” and the guitar packet with the time stamp “0000” with respect to the piano packet data PiPD1 and PiPD2. The data GiPD1 and GiPD2 can be stored and controlled in association with the hard disk of the HDD 11 so as to synchronize. As a result, a timing shift due to a transmission path delay between remote locations is corrected and recording processing is executed in parallel. Can do.
[0163]
In addition, the remote location recording system 1 can flexibly respond to new additions and cancellations of input during the recording process by changing the waiting time stamp setting while maintaining temporal timing consistency. Thus, it is possible to easily generate recording data having a desired sound quality by combining user-desired functions.
[0164]
According to the above configuration, the remote inter-site recording system 1 adds a time stamp for each packet to audio data that requires real-time performance, and based on the time stamp, shifts in timing due to transmission path delays. By performing storage control so that correction is performed, audio data that requires real-time performance between remote locations can be exchanged via the Internet 2 and recording processing can be executed in parallel.
[0165]
(4) Other embodiments
In the above-described embodiment, the remote location recording system 1 as the content editing apparatus of the present invention is applied to the case where the recording process is executed between the personal computer 3 in Tokyo and the personal computer 4 in New York. However, the present invention is not limited to this. For example, the present invention is applied to a case where a recording process is executed between a personal computer 3 and a personal computer 4 connected to each other by a transmission cable in the same studio. Also good.
[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 personal computer 4 in New York is connected to the personal computer 3 in Tokyo and expanded is described. However, the present invention is not limited to this, for example, digital signal processing of a personal computer. It may be extended by connecting to a digital signal processing apparatus having only a portion and no display portion. In this case, the digital signal processing apparatus is designed to perform various processes by the IO manager in the same way as the personal computer 3, and is expanded to a simple configuration as compared with the personal computer because display control is not performed. The accompanying increase in space can be minimized.
[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 personal computer 3 in Tokyo and the personal computer 4 in New York are connected to each other via the Internet has been described. However, the present invention is not limited to this, and the personal computer 3 and 4 may be connected to each other via a LAN (Local Area Network) such as Ethernet.
[0170]
Further, in the above-described embodiment, the personal computer 3 in Tokyo and the personal computer 4 in New York are connected via the Internet 2 and the recording process is executed in parallel between remote locations in Tokyo and New York. Although the present invention is not limited to this, the present invention is not limited to this, and other various remote locations such as London and Paris other than New York may be connected via the Internet 2 to perform recording processing in parallel. good.
[0171]
Furthermore, in the above-described embodiment, the DSP plug plug icon 40A and the mixer plug-in icon 40B, and the audio output plug-in icon 41A and the audio input plug-in icon 41B are connected between the input terminal and the output terminal, thereby connecting the DSP plug. Although the case where the connection status of each other is visually shown to the user has been described, the present invention is not limited to this, and the DSP plug-in can be displayed by arranging and displaying the loaded DSP plug-ins in a matrix. You may make it show the connection state of a comrade.
[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 recording processing program 30 started up from the hard disk of the HDD 11, but the present invention is not limited to this, By installing the program storage medium storing the recording processing program 30 in the personal computers 3 and 4, the remote location recording processing may be executed.
[0173]
As a program storage medium used for installing the recording processing program 30 for executing the above-described series of remote location recording processes in the personal computers 3 and 4 and making the personal computers 3 and 4 executable. For example, not only package media such as a floppy disk, CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc., but also a semiconductor memory or magnetic field in which the recording processing program 30 is temporarily or permanently stored. You may implement | achieve with a disk etc. Further, as means for storing the recording processing program 30 in these program storage media, wired and wireless communication media such as a local area network, the Internet, digital sanitary broadcasting, etc. may be used, and various communication interfaces such as routers and modems may be used. You may make it store via.
[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 personal computer 4 IO plug as timing correction means for adjusting the first content data and the second content data to be temporally synchronized based on the recorder plug-in 33A and the time stamp “0000” Although the remote location recording system 1 as a content editing apparatus is constructed by using the jar 32, the present invention is not limited to this, but various other first content data output means, input means, and timing A content editing apparatus may be constructed by correcting means.
[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コンテンツデータに付加された上記タイムスタンプとが一致したとき、上記第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コンテンツデータ及び上記第3コンテンツデータは、曲を構成する楽曲毎にそれぞれ対応したリアルタイム性が要求されるオーディオデータである
請求項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入力端子又は上記第3入力端子を介した接続状態が解消されたとき、当該解消された入力を無効にする
請求項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入力端子に設定したうえで、当該待ちタイムスタンプと上記第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の情報処理装置及び第2の情報処理装置によって構成されるコンテンツ編集システムにおいて、
上記第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.
JP2000264242A 2000-08-31 2000-08-31 Content editing apparatus, content editing method, program storage medium, and content editing system Expired - Fee Related JP4318013B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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