以下、本発明の実施形態について説明する。図1に示す通信カラオケシステムは、ホスト装置1とカラオケ装置2と有している。そして、これらが伝送路4を介して通信可能に接続されている。カラオケ装置2は、例えばカラオケ店KBの各カラオケルームRMに設置されている。そして、伝送路4を通じたデュエット歌唱(以下、通信デュエットという)を行う場合、一対のカラオケ装置2,2が伝送路4を介して相互に接続される。以下、各装置について説明する。
ホスト装置1は、サーバーとして機能し、顧客情報などの各種情報を蓄積して管理する。図2に示すように、ホスト装置1は、ホスト側制御部11と、ホスト側通信部12と、ホスト側記憶部13とを有している。ホスト側制御部11は、ホスト装置1における制御の中心となる部分であり、CPU11aやメモリ11bを有している。CPU11aは、メモリ11bに記憶された動作プログラムに従って各種の制御を実行する。メモリ11bは、CPU11aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。ホスト側通信部12は、ホスト装置1を伝送路4に接続するためのインタフェースを提供する。ホスト側記憶部13は、大容量の情報を記憶する記憶装置であり、ハードディスクドライブ等によって構成されている。ホスト側記憶部13の一部領域は、利用者(歌唱者)の個人情報や履歴データが記憶される顧客情報記憶領域として用いられている。この顧客情報記憶領域には、個人情報、来店履歴、歌唱履歴等を示すデータが利用者IDに対応付けられた状態で記憶される。
次に、カラオケ装置2について説明する。カラオケ装置2は、カラオケ演奏等を行うものであり、例えば図3に示すように、カラオケ本体21と、スピーカ22と、モニタ23と、歌唱マイク24と、マイク付カメラ25と、リモコン装置26と、第1通信端末27と、第2通信端末28と、パワーアンプ29とを有している。
カラオケ本体21は、選択されたカラオケ楽曲の演奏制御、歌詞及び背景映像の表示制御、歌唱マイク24で生成された歌唱音声信号の処理といった、カラオケ歌唱に関する各種の制御を行う部分である。このカラオケ本体21については、後で詳しく説明する。
スピーカ22は、第1通信端末27及びパワーアンプ29を介してカラオケ本体21に接続されており、パワーアンプ29で増幅された放音信号に基づいて放音する。例えば、個々のカラオケルームRMで行われる通常のカラオケ歌唱では、歌唱マイク24で生成されてカラオケ本体21で調整されたマイク信号と、カラオケ演奏を行うためカラオケ本体21で生成されたカラオケ演奏音信号とが、第1通信端末27を通じてパワーアンプ29に入力される。このため、スピーカ22からは、歌唱音とカラオケ演奏音とが放音される。なお、このような通常のカラオケ歌唱では、マイク信号及びカラオケ演奏音信号を、第1通信端末27を経ずに直接パワーアンプ29に入力してもよい。
また、2つのカラオケルームRM(拠点)同士を伝送路4で通信可能に接続して行われる通信デュエットでは、後述するように、一方の拠点の歌唱マイク24で生成されたマイク信号(第1マイク信号)と、他方の拠点の歌唱マイク24で生成されたマイク信号(第2マイク信号)と、カラオケ演奏音信号とが、第1通信端末27を介してパワーアンプ29に入力される。このため、スピーカ22からは、各歌唱者の歌唱音とカラオケ演奏音が放音される。
モニタ23は、カラオケ本体21に接続されており、カラオケ本体21からの映像信号に基づいて映像を画面に表示する。例えば、歌唱対象のカラオケ楽曲における歌詞や背景映像を表示させる。また、通信デュエットでは、自室側映像と相手側映像を、歌詞テロップとともに表示させる。歌唱マイク24もカラオケ本体21に接続されており、歌唱者の音声等をマイク信号に変換してカラオケ本体21に入力させる。
マイク付カメラ25は、自室内を撮影することで映像信号を生成する。生成された映像信号は第2通信端末28に入力され、カラオケ本体21に出力されたり、伝送路4を介して相手側へ送信されたりする。なお、この通信カラオケシステムでは、マイク付カメラ25が備えるマイクは無効化されており、映像信号のみが取り扱いの対象になっている。
リモコン装置26は、カラオケ本体21との間で情報を送受信するための双方向通信可能な短距離無線通信部を備えており、カラオケ楽曲の予約時などに操作される。カラオケ楽曲の予約時において、リモコン装置26からは、演奏対象の楽曲を識別するための楽曲IDを含んだ操作信号が送信される。
また、本実施形態のリモコン装置26は、通信デュエットにおける開始信号を送信する開始信号送信手段としても機能する。詳細は後述するが、この通信カラオケシステムでは、通信デュエットを行うに際し、一方の拠点が親側となり、他方の拠点が子側となる。そして、一方の拠点に設置されたカラオケ装置2が親機として機能し、他方の拠点に設置されたカラオケ装置2が子機として機能する。そして、親側のカラオケ装置2が有するリモコン装置26からの開始信号が、親側のカラオケ本体21と子側のカラオケ本体21のそれぞれに送信される。この場合において、親側のカラオケ本体21に対しては開始信号が直接入力され、子側のカラオケ本体21に対しては開始信号が近隣のルーター装置RT及び伝送路4(汎用伝送路4A)を介して送信される。
第1通信端末27は、カラオケ本体21とパワーアンプ29との間に介在し、音に関する各種信号を取り扱う。例えば、通常のカラオケ歌唱において、第1通信端末27は、カラオケ本体21から直接入力されるマイク信号及びカラオケ演奏音信号の入力音量を調整し、パワーアンプ29に対する出力音量を調整する。また、通信デュエット歌唱において、第1通信端末27は、伝送路4を通じて入力された相手側マイク信号と、自室側でのカラオケ歌唱で生成された自室側マイク信号及びカラオケ演奏音信号との入力バランスを調整し、パワーアンプ29に対する出力音量を調整する。
第2通信端末28は、カラオケ本体21とマイク付カメラ25との間に介在し、映像に関する各種信号を取り扱うものであり、例えばセットトップボックスによって構成される。例えば、通信デュエット歌唱において、第2通信端末28は、マイク付カメラ25で生成された自室側映像信号、及び、伝送路4を通じて入力された相手側映像信号を合成し、カラオケ本体21に出力する。カラオケ本体21は、第2通信端末28から入力された合成後の映像信号をモニタ23に出力する。これにより、モニタ23には、自室側映像と相手側映像とが表示される。
これらの第1通信端末27及び第2通信端末28は、通信デュエットが行われる際に、相手側の第1通信端末27及び第2通信端末28と伝送路4を介して通信可能に接続される。また、カラオケ本体21も、相手側のカラオケ本体21と伝送路4を介して通信可能に接続される。さらに、カラオケ本体21は、通信デュエットが行われていない期間において、ホスト装置1と伝送路4を介して通信可能に接続される。
このため、カラオケ本体21、第1通信端末27、及び第2通信端末28は、何れもルーター装置RTに接続されている。このルーター装置RTにより、カラオケ本体21は汎用伝送路4Aに接続され、第1通信端末27は第1専用伝送路4Bに接続され、第2通信端末28は第2専用伝送路4Cに接続される。
ここで、汎用伝送路4Aは、例えばインターネット回線や無線LAN等の汎用性を有する伝送路である。また、第1専用伝送路4B及び第2専用伝送路4Cは、規定の通信速度が得られるように品質管理された専用回線である。本実施形態では、第2専用伝送路4Cとしてテレビ電話用の伝送路を用いている。このため、複数の第2通信端末28のそれぞれには電話番号が割り当てられており、通話状態にすることで一対の第2通信端末28,28が、ルーター装置RT及び第2専用伝送路4Cを介して通信可能に接続される。第1専用伝送路4Bは、次世代型のネットワークなど、第2専用伝送路4Cよりも高品質な通信が可能な専用の伝送路である。各第1通信端末27にも電話番号が割り当てられており、通話状態にすることで一対の第1通信端末27,27が、ルーター装置RT及び第1専用伝送路4Bを介して通信可能に接続される。
汎用伝送路4Aは、通信デュエットの開始信号を他のカラオケ本体21に送信する際に使用される。また、汎用伝送路4Aは、カラオケ歌唱で生成された公開用の歌唱動画データをホスト装置1へ送信する際、或いは、ホスト装置1からの更新データをカラオケ本体21に転送する際にも使用される。そして、第1専用伝送路4Bは、通信デュエット歌唱を行うに際し、マイク信号を送受信するために用いられる。また、第2専用伝送路4Cは、通信デュエット歌唱を行うに際し、マイク付カメラ25で生成された映像信号を送受信するために用いられる。
次に、カラオケ本体21について詳細に説明する。図4に示すように、カラオケ本体21は、本体側制御部31と、本体側通信部32と、本体側記憶部33と、音源部34と、音響処理部35と、表示処理部36と、映像入力部37と、操作部38とを有している。そして、これらの各部がバスBSを介して通信可能な状態に接続されている。
本体側制御部31は、カラオケ本体21における制御の中心となる部分であり、CPU31aやメモリ31bを有している。CPU31aは、メモリ31bに記憶された動作プログラムに従って各種の制御を実行する。例えば、操作部38からの操作を受け付ける操作入力処理やシーケンサとして動作するシーケンサ処理を行う。メモリ31bは、CPU31aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。
本体側通信部32は、ルーター装置RTを介してカラオケ本体21を汎用伝送路4Aに接続するためのインタフェースを提供する。このため、本体側通信部32は、ルーター装置RTとの間で情報の送受信を行う。そして、本体側通信部32は、本体側制御部31によって動作が制御される。
本体側記憶部33は、各種のデータを記憶する大容量の記憶装置であり、例えばハードディスクドライブによって構成されている。この本体側記憶部33には、例えば、楽曲データ記憶領域や背景映像データ記憶領域が設けられる。楽曲データ記憶領域には、リモコン装置26で選択されたカラオケ楽曲を演奏するための楽曲データが記憶され、背景映像データ記憶領域には、モニタ23に背景映像を表示させるための背景映像データが記憶される。
楽曲データには、MIDIデータと歌詞データとが含まれる。MIDIデータは、電子楽器による音楽の演奏情報(演奏データ)であり、時系列のノート情報によって構成される。ノート情報は、例えば発音や消音のタイミング、キーの押圧力、音量や音質、再生テンポ(ピッチ)などを制御する各種の命令によって構成される。歌詞データは、カラオケ楽曲における歌詞テロップをモニタ23で表示させるためのデータである。これらのMIDIデータと歌詞データは、カラオケ装置2で演奏可能なカラオケ楽曲のそれぞれについて、楽曲IDに対応付けられた状態で記憶されている。
音源部34は、MIDIデータに基づいてカラオケ演奏音信号を生成する部分であり、CPU34aと、メモリ34bと、波形メモリ34cとを有している。CPU34aは、メモリ34bに記憶された動作プログラムに従って各種の制御を実行する。メモリ34bは、CPU34aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。波形メモリは、対象楽器が奏でた様々な音の波形データを読み出し可能に記憶する記憶素子である。
この音源部34は、本体側制御部31がシーケンサ処理を行うと、MIDIデータに応じて波形データを加工し、加工後の楽音信号を音響処理部35に出力する。ここで、シーケンサ処理について簡単に説明する。あるカラオケ楽曲について演奏の順番が到来すると、シーケンサ処理が開始される。まず、本体側制御部31は、セットアップ処理を行い、楽曲データ記憶領域に記憶されたMIDIデータ及び歌詞データを読み出してメモリ31bに記憶させる。セットアップが終了すると、本体側制御部31は、MIDIデータに含まれるタイムコード(カラオケ歌唱の進行状況を示す情報)に従ってMIDIメッセージを音源部34に出力する。
音源部34は、入力されたMIDIメッセージに応じた動作を行う。例えば、MIDIメッセージが所定の音を鳴らす命令である場合、音源部34は、対応する読み出しアドレスの波形データを波形メモリ34cから読み出してMIDIメッセージに応じた加工を施し、楽音信号として音響処理部35に出力する。また、MIDIメッセージが音を停止する命令である場合、音源部34は、波高値ゼロとされた波形データに対応する楽音信号を音響処理部35へ出力することで放音を停止させている。このように、波形データの時系列の組み合わせは、カラオケ演奏のオーディオデータに相当する。
音響処理部35は、カラオケ演奏音信号の処理、及び、自室側の歌唱マイク24で生成されたマイク信号の処理を行う部分である。例えば、カラオケ楽曲の演奏制御において、音響処理部35は、音源部34から出力された楽音信号をアナログ変換し、カラオケ演奏音信号として第1通信端末27へ出力する。また、自室側の歌唱マイク24からのマイク信号が入力されると、このマイク信号を第1通信端末27へ出力したり、デジタルデータに変換して本体側記憶部33に記憶させたりする。
表示処理部36は、カラオケ演奏時における背景映像の表示等の制御を行う。カラオケ演奏時において、表示処理部36には背景映像データが入力されており、この背景映像データのデコードが行われる。そして、表示処理部36は、デコードで生成された背景映像の映像信号に歌詞テロップを合成し、合成後の映像信号をモニタ23に出力する。その際、表示処理部36は、本体側制御部31でのシーケンサ処理で出力される歌詞データに基づき、歌詞テロップを合成する。また、シーケンサ処理で出力される色替え命令に従って、歌詞テロップの表示色を変更する。その結果、モニタ23には、背景映像に歌詞テロップが重ねられた映像が表示され、かつ、カラオケ楽曲の進行にあわせて歌詞テロップの表示色が変更される。
映像入力部37は、第2通信端末28からの映像信号を取り込む部分であり、例えばインタフェース回路によって構成されている。通信デュエットが行われる期間において、第2通信端末28からは、自室側映像と相手側映像とが合成された合成映像の映像信号が出力される。そして、映像入力部37は、合成映像の映像信号を表示処理部36に出力する。これにより表示処理部36は、合成後の映像信号をモニタ23に出力し、モニタ23は合成後の映像を表示する。
操作部38は、パネルスイッチやリモコン受信回路などからなっており、利用者によるパネルスイッチやリモコン装置26の操作に応じた操作信号を本体側制御部31に対して出力する。本体側制御部31は、操作入力処理を行うことで操作信号を検出し、対応する処理を実行する。なお、パネルスイッチやリモコン装置26は、操作を選択するための種々のキースイッチ(図示せず)を備えている。そして、リモコン装置26を通じた操作により、通常のカラオケ歌唱や通信デュエットを選択して実行できる。
次に、上記構成を有する通信カラオケシステムの動作について説明する。このカラオケシステムは、通信デュエットの処理に特徴を有している。このため、通信デュエットの動作を中心に説明を行う。
図5は、通信デュエットを行う一対のカラオケ装置2A,2Bが伝送路4(4A〜4C)を介して接続された状態、すなわち通信カラオケシステムを説明するブロック図である。前述したように、通信デュエットの実行時には、一方のカラオケ装置2Aが親機となり、他方のカラオケ装置2Bが子機となる。便宜上、以下の説明では、親機となるカラオケ装置2を親側カラオケ装置2Aといい、子機となるカラオケ装置2を子側カラオケ装置2Bという。そして、親側カラオケ装置2Aが備える各部については「親側」の語を付して示し、子側カラオケ装置2Bが備える各部については「子側」の語を付して示すこととする。
図5において、親側カラオケ装置2Aは親側カラオケルームRM(親)に設置され、子側カラオケ装置2Bは子側カラオケルームRM(子)に設置されている。そして、この実施形態では、親側カラオケルームRM(親)が第1拠点に相当し、子側カラオケルームRM(子)が第2拠点に相当する。従って、親側カラオケ装置2Aが第1拠点の第1カラオケ装置に相当し、子側カラオケ装置2Bが第2拠点の第2カラオケ装置に相当する。
なお、子側カラオケルームRM(子)を第1拠点とし、親側カラオケルームRM(親)を第2拠点としてもよい。この場合、子側カラオケ装置2Bが第1拠点の第1カラオケ装置に相当し、親側カラオケ装置2Aが第2拠点の第2カラオケ装置に相当する。
親側カラオケルームRM(親)には親側ルーター装置RTAが設置され、子側カラオケルームRM(子)には子側ルーター装置RTBが設置されている。また、親側カラオケ本体21Aと子側カラオケ本体21Bとは汎用伝送路4Aによって通信可能に接続されている。同様に、親側第1通信端末27Aと子側第1通信端末27Bとは第1専用伝送路4Bで通信可能に接続され、親側第2通信端末28Aと子側第2通信端末28Bとは第2専用伝送路4Cで通信可能に接続される。
図6は、通信デュエット実行時における各種信号の流れを説明する図である。以下、この図を中心に、通信デュエット実行時の信号の流れを説明する。
通信デュエットを行うに際し、各マイク付カメラ25A,25Bで撮影された映像信号が第2専用伝送路4Cを介して交換される。これにより、各室の映像信号が各第2通信端末28A,28Bで合成され、各カラオケ本体21A,21Bに出力される。その結果、親側モニタ23Aと子側モニタ23Bのそれぞれで、親側映像と子側映像とが合成された合成映像が表示される。また、親側カラオケルームRM(親)と子側カラオケルームRM(子)のマイク信号が第1専用伝送路4Bを介して交換される。これにより、親側歌唱マイク24Aで集音された親側歌唱音が子側スピーカ22Bから放音され、子側歌唱マイク24Bで集音された子側歌唱音が親側スピーカ22Aから放音される。
なお、親側歌唱マイク24Aで集音されることから、親側マイク信号には、親側カラオケルームRM(親)での歌唱者音声に相当する親側歌唱信号に加えて、親側カラオケルームRMで放音されたカラオケ演奏音に相当する親側演奏音信号が含まれている。同様に、子側マイク信号には、子側カラオケルームRM(子)での歌唱者音声に相当する子側歌唱信号に加えて、子側カラオケルームRM(子)で放音されたカラオケ演奏音に相当する子側演奏音信号が含まれている。
また、通信デュエットを行うに際し、各カラオケ本体21A,21Bの時刻合わせを行う時刻合わせ処理が行われる。本実施形態では、調整情報の送受信時刻に基づいて、一方のカラオケ本体21Aで計時されている時刻(第1時刻)が他方のカラオケ本体21Bで計時されている時刻(第2時刻)に合わせられる。この調整情報は、汎用伝送路4Aを通じて送受信されている。なお、時刻合わせ処理については後で説明する。
親側リモコン装置26Aで通信デュエットの開始が指示されると、開始信号が親側カラオケ本体21Aと子側カラオケ本体21Bに送信される。そして、子側カラオケ本体21Bに送信される開始信号には、ポーズ状態を解除させる解除時刻を示す解除時刻情報が含まれている。詳しくは後述するが、ポーズ状態とは、各カラオケ本体21A,21Bが、カラオケ演奏が開始可能な状態で待機している状態を意味する。従って、各カラオケ本体21A,21Bは、開始信号の受信を契機にカラオケ歌唱の準備を行ってポーズ状態になり、解除時刻が到来するとポーズ状態を解除してカラオケ演奏を開始させる。このため、解除時刻情報は、カラオケ演奏の開始時刻を示す開始時刻情報に相当する。
通信デュエットが行われている期間において、各カラオケ本体21A,21Bは、カラオケ歌唱の進行状況を示すタイムコードを、汎用伝送路4Aを通じて相互に交換(送受信)する。そして、交換されたタイムコードの比較により、各カラオケルームRM(親),RM(子)におけるカラオケ演奏の時間的なズレを検出し、必要に応じてズレを抑制する。なお、この処理についても後で説明する。
次に、通信カラオケシステムの処理を、図7のフローチャートを参照して説明する。このフローチャートにおいて、ステップS11〜S21が親側カラオケ装置2Aの処理であり、ステップS31〜S41が子側カラオケ装置2Bの処理である。
この通信カラオケシステムにおいて、通信デュエットが選択されると(S11,S31)と、第1専用伝送路4B及び第2専用伝送路4Cを介して親側カラオケ装置2Aと子側カラオケ装置2Bが通信可能に接続される(S12,S32)。例えば、親側第1通信端末27Aから発呼し、子側第1通信端末27Bで着呼及びオフフックすることで第1専用伝送路4Bが接続される。同様に、親側第2通信端末28Aから発呼し、子側第2通信端末28Bで着呼及びオフフックすることで第2専用伝送路4Cが接続される。なお、子側カラオケ装置2B側から親側カラオケ装置2A側へ発呼して接続するようにしてもよい。
各専用伝送路4B,4Cが接続されたならば、時刻合わせ処理(S13,S33)が行われる。この時刻合わせ処理において、親側カラオケ装置2Aの本体側制御部31は、時刻差取得手段として機能し、親側カラオケ装置2A及び子側カラオケ装置2Bの時刻差を取得する。また、親側カラオケ装置2Aの本体側制御部31は、時刻調整手段としても機能し、自身が計時している時刻情報を、子側カラオケ装置2Bの本体側制御部31で計時されている時刻情報に揃える。
図8に示すように、この時刻合わせ処理において親側カラオケ装置2Aは、第1専用伝送路4Bを介して第1調整情報を子側カラオケ装置2Bへ向けて送信する。そして、本体側制御部31は、送信時点の時刻t1(第1時刻)を記憶する。子側カラオケ装置2Bでは、本体側制御部31が第1調整情報を受信した時刻t2(第2時刻)を取得し、その後、第1専用伝送路4Bを介して第2調整情報を親側カラオケ装置2Aへ送信する。その際、子側カラオケ装置2Bの本体側制御部31は、第1調整情報の受信時刻t2と第2調整情報の送信時刻t3とを、第2調整情報に含ませる。このため、子側カラオケ装置2Bの本体側制御部31は、第2調整情報の生成時に、その時点よりも後の時刻t3(第2時刻)を設定しておき、送信時刻t3が到来したら第2調整情報を送信する。親側カラオケ装置2Aの本体側制御部31は、第2調整情報の受信時点における時刻t4(第1時刻)を記憶する。
図8に示すように、親側カラオケ装置2Aと子側カラオケ装置2Bとの時刻差をα、一方向通信に要する伝送遅延がβであるとすると、時刻t2は時刻t1+α+βで表され、時刻t4は時刻t3−α+βで表される。このため、時刻t2から時刻t1を減算した第1減算値から、時刻t4から時刻t3を減算した第2減算値を減算すると、(t1+α+β−t1)−(t3−α+β−t3)となり、2αが得られる。従って、この2αを2で除すことにより、時刻差αが取得できる。同様に、時刻t4から時刻t1を減算した第3減算値から、時刻t3から時刻t2を減算した第4減算値を減算することで、伝送遅延βも取得できる。
そして、親側カラオケ装置2Aの本体側制御部31は、取得した時刻差αに基づき、自身で計時している時刻を補正し、子側カラオケ装置2Bの本体側制御部31で計時されている時刻に合わせる。このように、本実施形態では、親側カラオケ装置2Aで時刻t1〜t4を取得することのみで、各カラオケ装置2A,2Bの時刻差αを簡単な手順で認識できる。
なお、時刻合わせ処理に関し、子側カラオケ装置2Bの本体側制御部31が時刻を補正するようにしてもよい。この場合、第1調整情報を子側カラオケ装置2Bから、第2調整情報を親側カラオケ装置2Aから送信すればよい。また、取得された時刻差αを各カラオケ装置2A,2Bで共有し、α/2ずつ時刻補正を行ってもよい。
時刻合わせ処理と並行して音・映像調整処理(S14,S34)が行われる。この処理では、例えば、利用者によって自室側と相手側のマイク音量が調整されたり、エコー調整が行われたりする。また、カメラの角度や室内の明るさ等も調整される。
音・映像調整処理が終了すると、親側リモコン装置26Aから開始信号が送信される(S15)。前述したように、子側カラオケ本体21Bに送信される開始信号には、解除時刻情報が含まれている。この解除時刻情報は、伝送遅延βやセットアップ処理に要する時間を考慮して、親側カラオケ装置2Aの本体側制御部31が決定する。そして、本体側制御部31は、伝送遅延βとセットアップ時間とマージン時間を、現在時刻に加算することで解除時刻を決定する。
なお、セットアップ処理に要する時間は、各カラオケ装置2A,2Bの状態によってばらつきが生じる。例えば、公開用の歌唱動画データをホスト装置1へ送信している場合や、コラボレーション歌唱用の歌唱動画データや更新データをホスト装置1から受信している場合などには、処理負担が大きいことからセットアップ処理に要する時間が長くなりがちである。また、各カラオケ本体21A,21Bの性能差によってもセットアップ処理に要する時間にばらつきが生じ得る。親側カラオケ装置2Aの本体側制御部31は、これらの事情も考慮して解除時刻を決定する。
この開始信号の送信処理(S15)において、親側リモコン装置26Aからは、まず親側カラオケ本体21Aに対して開始信号が送信される。親側カラオケ本体21Aが開始信号を受信すると、本体側制御部31は解除時刻を取得し、親側リモコン装置26Aに対して解除時刻情報を含む返信信号を送信する。親側リモコン装置26Aは、受信した返信信号から解除時刻を認識し、解除時刻情報を含んだ開始信号を子側カラオケ本体21Bに送信する。この開始信号を子側カラオケ本体21Bが受信し(S35)、本体側制御部31に記憶させることで、解除時刻の情報が各カラオケ装置2A,2Bで共有される。
前述したように、解除時刻情報は、カラオケ演奏の開始時刻を示す開始時刻情報に相当するため、親側リモコン装置26A、親側カラオケ装置2Aの本体側制御部31、及び子側カラオケ装置2Bの本体側制御部31は、開始時刻情報を設定する開始時刻情報設定手段に相当する。
なお、本実施形態では、ステップS13,S33の処理にて時刻差αを取得した後、この時刻差αに基づき親側カラオケ装置2Aと子側カラオケ装置2Bのいずれかで時刻合わせを行うよう構成しているが、時刻合わせは行わずに、ステップS15,S35の処理にて親側カラオケ装置2Aと子側カラオケ装置2Bのいずれかで解除時刻を時刻差αに応じた時刻に設定してもよい。
次に、各カラオケ装置2A,2Bではセットアップ処理が行われる(S16,S36)。このセットアップ処理では、本体側記憶部33の楽曲データ記憶領域に記憶されたMIDIデータ、及び、歌詞データ記憶領域に記憶された歌詞データが読み出され、本体側制御部31のメモリ31bに記憶される。なお、前述したように、セットアップ処理の終了時刻は、様々な要因によってバラつきが生じる。
セットアップ処理が終了したならば、ポーズ処理を行い各カラオケ装置2A,2Bをポーズ状態に移行させる(S17,S37)。前述したように、ポーズ状態とは、各カラオケ本体21A,21Bが、カラオケ演奏が開始可能な状態で待機している状態を意味する。本実施形態においては、本体制御部31がシーケンサとして機能し音源部34をMIDIデータにより駆動する。MIDIデータは通常、先頭に音色設定などの音源をセットアップするためのデータが配置され、その後に演奏データが続く。そして、カラオケ用の音源は、複数の楽器音を同時に出力するため16ないし32パートの音源を持つ。したがって本体側制御部31は、音源部34に大量のセットアップデータを送信し、その間の音源部34の処理の負荷は重く、結果的にセットアップ終了つまり演奏開始までの時間にバラつきが生じる。そこで、本実施形態では音源部34のセットアップが終了したところ、すなわち最初の演奏データを送信するところでポーズ状態としている。なお、演奏データの送信開始の直前でポーズ状態にしてもよい。
図9(a)に示すように、MP3やWAVファイルなどのオーディオデータは、読み出しアドレスに対応付けられた時系列の波高値群によって構成されている。そして、カラオケ演奏音がオーディオデータである場合、図9(b)に示すように、このオーディオデータには、先頭アドレスから所定期間に亘って波高値ゼロ区間が継続的に設けられる。すなわち無音区間が設けられる。そこで、このポーズ処理では、波高値ゼロ区間の最終アドレスtpで待機させている。
これらのセットアップ処理及びポーズ処理は、各カラオケ装置2A,2Bが備える本体側制御部31及び音源部34によって行われる。このため、これらの本体側制御部31及び音源部34は、設定された開始時刻(第1開始時刻,第2開始時刻)よりも前に各カラオケ装置2A,2Bでのカラオケ演奏を準備し、準備の完了状態で待機させる準備手段(第1準備手段,第2準備手段)に相当する。
その後、解除時刻(開始時刻)が到来したならば(S18,S38)、ポーズ状態が解除されてカラオケ演奏が開始される(S19,S39)。これにより、伝送路4に状態変化が生じたり、各拠点のカラオケ装置2A,2Bに処理負荷の差異が生じたりしても、同じタイミングでデュエット歌唱を開始させることができる。また、ポーズ状態では、演奏データ送信開始の直前で、あるいは波高値ゼロ区間の最終アドレスtpで待機させるので、カラオケ演奏を即時に開始させることができる。
これらの処理もまた、各カラオケ装置2A,2Bが備える本体側制御部31及び音源部34により、タイムコードに基づいて行われる。このため、これらの本体側制御部31及び音源部34は、各カラオケ装置2A,2Bで計時される時刻が開始時刻となったことを条件に待機状態を解除し、対応するカラオケ装置2A,2Bでのカラオケ演奏を開始させる演奏手段(第1演奏手段,第2演奏手段)に相当する。
カラオケ歌唱期間中は、タイムコードを交換することで、各拠点における演奏のズレを認識し、ズレが閾値を超えた場合にはカラオケ演奏の再生テンポを調整してズレを抑制する(S20,S40)。そして、カラオケ演奏が終了したならば、各専用伝送路4B,4Cを切断するなどして通信デュエットを解除する(S21,S41)。
次に、カラオケ歌唱期間中におけるタイムコード交換及びテンポ調整処理(S20,S40)について、図10のフローチャートに基づき詳細に説明する。
この処理では、まず確認タイミングが到来したか否かが判断される(S51,S61)。本実施形態の確認タイミングは任意の間隔で設定される。例えば、数秒〜十数秒間隔に設定される。これにより、タイムコードの交換やテンポ調整が定期的に行われる。そして、確認タイミングが到来するとステップS52,62に移行し、そうでない場合はステップS58,S68に移行する。
ステップS52では親側遅延時間が計測され、ステップS62では子側遅延時間が計測される。親側遅延時間は、親側カラオケ装置2Aから子側カラオケ装置2Bへの通信に要する遅延時間であり、子側遅延時間は、子側カラオケ装置2Bから親側カラオケ装置2Aへの通信に要する遅延時間である。例えば、親側遅延時間は、親側カラオケ装置2Aの本体側制御部31からpingを送信することで計測され、子側遅延時間は、子側カラオケ装置2Bの本体側制御部31からpingを送信することで計測される。これらのステップS52,S62の処理において、各カラオケ装置2A,2Bの本体側制御部31,31は、遅延時間計測手段(第1遅延時間計測手段,第2遅延時間計測手段)に相当する。
遅延時間が計測されたならば、タイムコードの交換がなされる(S53,S54,S63,S64)。ここでは、親側カラオケ装置2Aでのカラオケ演奏の再生位置を示す親側タイムコードが、親側カラオケ装置2Aの本体側制御部31から送信され(S53)、この親側タイムコードが子側カラオケ装置2Bで受信される(S64)。同様に、子側カラオケ装置2Bでのカラオケ演奏の再生位置を示す子側タイムコードが、子側カラオケ装置2Bの本体側制御部31から送信され(S63)、この子側タイムコードが親側カラオケ装置2Aで受信される(S54)。
なお、各ステップの処理において、本実施形態では親側カラオケ装置2Aが第1カラオケ装置であるので、親側カラオケ装置2Aの本体側制御部31は第1タイムコード送信手段に相当し、子側カラオケ装置2Bの本体側制御部31は第2タイムコード送信手段に相当する。
次に、各カラオケ装置2A,2Bの本体側制御部31,31は、タイムコードの補正と比較処理を行う(S55,S65)。親側カラオケ装置2Aの本体側制御部31は、受信された子側タイムコードを子側遅延時間に基づいて補正し、親側タイムコードと比較する。同様に、子側カラオケ装置2Bの本体側制御部31は、受信された親側タイムコードを親側遅延時間に基づいて補正し、子側タイムコードと比較する。例えば、両タイムコードの差分時間を取得する。
そして、比較結果(差分時間)が閾値以上であった場合(S56,S66でY)、各カラオケ装置2A,2Bの本体側制御部31は、各カラオケルームRM(親),RM(子)間の演奏位置のズレを抑制するため、テンポの変更が必要と判断する。そして、ステップS57,S67に移行し、所定期間に亘ってカラオケ演奏の再生テンポを変更する。このテンポ変更処理は、各カラオケ装置2A,2Bの本体側制御部31,31が、MIDIデータの再生テンポを変更することで行われる。例えば、再生が遅れている側の本体側制御部31は、再生テンポが若干速くなるように再生テンポを変更する。反対に、再生が進んでいる側の本体側制御部31は、再生テンポが若干遅くなるように再生テンポを変更する。なお、再生テンポの変更期間は、ステップS51,S61における確認タイミングの間隔よりも短い時間に設定される。再生テンポが変更されることで、演奏位置のズレが抑制される。
なお、ステップS55〜57及びS65〜67の処理において、親側カラオケ装置2Aの本体側制御部31及び親側カラオケ装置2Aの本体側制御部31はテンポ変更手段に相当する。本実施形態では、親側カラオケ装置2Aの本体側制御部31が第1テンポ変更手段に相当し、子側カラオケ装置2Bの本体側制御部31が第2テンポ変更手段に相当する。
ステップS57,S67のテンポ変更処理が終了した場合、ステップS56,S66の比較結果が閾値未満であった場合、及びステップS51,S61にて確認タイミングでないと判断された場合には、ステップS58,S68に移行する。これらのステップS58,S68では、カラオケ楽曲の演奏が終了したか否かが判定される。そして、まだ終了していない場合にはステップS51,S61に戻って前述の処理を繰り返し行う。一方、演奏が終了した場合には、メインフローチャートに復帰し、ステップS21のデュエット解除処理を行う。
このように、本実施形態では、各カラオケ装置2A,2Bの間でタイムコードを交換し、伝送遅延を考慮してタイムコードを補正し、相手側のタイムコードとの差が閾値以上であることを条件に、カラオケ楽曲の再生テンポを変更している。これにより、カラオケ演奏の進行に伴って蓄積された、各カラオケ装置2A,2Bでのカラオケ演奏のズレを抑制することができる。なお、伝送遅延は必ず生じるものなので、各カラオケ装置2A,2Bでのカラオケ演奏のズレを伝送遅延より小さくしようとしてはいけない。
なお、図10の例では、各カラオケ装置2A,2Bのそれぞれでテンポの変更を行っているが、親側カラオケ装置2Aと子側カラオケ装置2Bの一方だけでテンポの調整を行ってもよい。すなわち、第1テンポ変更手段と第2テンポ変更手段の少なくとも一方を備えていればよい。また、図10の例では、親側遅延時間と子側遅延時間の両方を用いていたが、何れか一方の遅延時間のみを用いてもよいし、親側遅延時間と子側遅延時間の平均値を用いてもよい。
ところで、前述の実施形態では、タイムコードを交換することで親側カラオケ装置2Aと子側カラオケ装置2Bにおけるカラオケ演奏のズレを認識していたが、この構成に限定されるものではない。例えば、相手側のマイク信号には、相手側の歌唱音以外に相手側の拠点で演奏されたカラオケ演奏音が、相対的に小さいレベルで混入する。そこで、相手側のマイク信号からカラオケ演奏音に相当する演奏音信号を抽出して自室側のカラオケ演奏音と位相を比較し、位相差が閾値以上であることを条件に、位相差を一定にする制御をしてもよい。
以下、図11のフローチャートを参照し、このような制御を行うようにした実施形態について説明する。なお、この実施形態では、図7のステップS20,40の処理が先に説明した実施形態と異なっているが、他の処理はこの実施形態と同じである。このため、異なる処理について説明をすることにする。
図11は、ステップS20,40の処理に代えて行われるテンポ調整処理を説明するフローチャートである。このテンポ調整処理においては、まず親側カラオケ装置2Aで子側演奏音抽出処理が行われ(S71)、子側カラオケ装置2Bで親側演奏音抽出処理が行われる(S81)。
すなわち、親側カラオケ装置2Aでは、親側歌唱マイク24Aで生成された親側マイク信号を、子側カラオケ装置2Bに送信する一方、子側歌唱マイク24Bで生成され子側カラオケ装置2Bから送信された子側マイク信号を受信する。同様に、子側カラオケ装置2Bでは、子側歌唱マイク24Bで生成された子側マイク信号を、親側カラオケ装置2Aに送信する一方、親側歌唱マイク24Aで生成され親側カラオケ装置2Aから送信された親側マイク信号を受信する。
本実施形態では、親側カラオケ装置2Aが第1カラオケ装置であるので、親側カラオケ本体21Aと親側第1通信端末27Aの組は、第1拠点の歌唱マイクで生成された第1マイク信号を、伝送路を介して第2カラオケ装置へ送信する第1マイク信号送信手段に相当する。同様に、子側カラオケ本体21Bと子側第1通信端末27Bの組は、第2拠点の歌唱マイクで生成された第2マイク信号を、伝送路を介して第1カラオケ装置へ送信する第2マイク信号送信手段に相当する。また、親側カラオケ本体21Aと親側第1通信端末27Aの組は、第1拠点で第2マイク信号を受信する第2マイク信号受信手段に相当し、子側カラオケ本体21Bと子側第1通信端末27Bの組は、第2拠点で第1マイク信号を受信する第1マイク信号受信手段に相当する。
そして、親側カラオケ装置2Aでは、受信された子側マイク信号に、相対的に小さい音量レベルで含まれる子側演奏音信号を抽出し、子側カラオケ装置2Bでは、受信された親側マイク信号に、相対的に小さい音量レベルで含まれる親側演奏音信号を抽出する。子側演奏音信号と親側演奏音信号の抽出は、例えば歌唱信号を含む周波数帯域をフィルタリングしてもよいし、センターキャンセル処理してもよい。フィルタリングする場合には、比較対象である自室側の演奏音信号も同じフィルター特性でフィルタリングして比較するとよい。あるいは、自室側で生成されているカラオケ演奏音信号を用いて行ってもよい。この場合には、受信された相手側のマイク信号に自室側のカラオケ演奏音信号を重ね、カラオケ演奏音信号に近い信号成分を、受信されたマイク信号から抽出する。
次に、相手側の演奏音信号と自室側のカラオケ演奏音信号の位相を比較する(S72,S82)。例えば図12に示すように、相手側の演奏音信号SG2と自室側のカラオケ演奏音信号SG1の振幅を合わせたうえで、対応する変曲点同士を比較し、その位相差dT1,dT2を取得する。
位相差を取得したならば、各カラオケ装置2A,2Bの本体側制御部31は、取得した位相差が閾値以上であるか否かを判断する(S73,S83)。そして、位相差が所定値以上であった場合には、演奏音のズレを抑制する必要があるとし、第1実施形態と同様の手順で各カラオケ演奏音信号の再生テンポを変更する(S74,S84)。この場合、図12に示す位相差dT1,dT2が、閾値未満の一定値となる様に再生テンポを修正する。再生テンポが変更されることで、演奏位置のズレが抑制される。なお、伝送遅延は必ず生じるものなので、位相差を伝送遅延より小さくしようとしてはいけない。
本実施形態では、親側カラオケ装置2Aの設置場所が第1拠点であるので、親側カラオケ装置2Aの本体側制御部31や音源部34は、第1テンポ変更手段に相当する。そして、受信された子側マイク信号(第2マイク信号)に含まれる子側演奏音信号(第2演奏音信号)と、親側カラオケ装置2Aでのカラオケ演奏音信号(第1拠点でのカラオケ演奏音信号)とを比較し、比較結果に応じて本体側制御部31及び音源部34(第1演奏手段)による親側カラオケ演奏の再生テンポを所定時間に亘って変更する。同様に、子側カラオケ装置2Bの本体側制御部31や音源部34は、第2テンポ変更手段に相当する。そして、受信された親側マイク信号(第1マイク信号)に含まれる親側演奏音信号(第1演奏音信号)と、子側カラオケ装置2Bでのカラオケ演奏音信号(第2拠点でのカラオケ演奏音信号)とを比較し、比較結果に応じて本体側制御部31及び音源部34(第2演奏手段)による子側カラオケ演奏の再生テンポを所定時間に亘って変更する。
所定時間に亘ってカラオケ演奏の再生テンポを変更した場合、及び、前述のステップS73,S83の処理で位相差が閾値未満であった場合には、ステップS75,S85に移行する。これらのステップでは、カラオケ楽曲の演奏が終了したか否かが判定される。そして、まだ終了していない場合にはステップS71,S81に戻って前述の処理を繰り返し行う。一方、演奏が終了した場合には、メインフローチャートに復帰し、ステップS21のデュエット解除処理を行う。
この実施形態でも、カラオケ演奏の進行に伴って蓄積された、各カラオケ装置2A,2Bでのカラオケ演奏のズレを抑制することができる。また、マイク信号に含まれる演奏音信号と自室側のカラオケ演奏音信号の位相差が一定になるようにカラオケ演奏の再生テンポが変更されるので、聴感上の違和感を抑制することができる。なお、再生テンポの変更手段に関し、この実施形態では親側カラオケ装置2Aと子側カラオケ装置2Bのそれぞれに設けたが、少なくとも一方のカラオケ装置2A,2Bに設けられていればよい。
以上の実施形態の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれる。