(57)【要約】    【課題】通信量を抑制して回線負荷を低減させ、伴奏データと歌唱データとを合成させたカラオケ演奏を高音質で再生することのできるカラオケ音声送受信システムの提供を目的とする。    【手段】管理サーバａは伴奏データをシンガー端末ｂおよびリスナー端末ｃのそれぞれに配信する。シンガー端末ｂは伴奏データを再生する。シンガーは再生されたカラオケ伴奏曲を視聴しつつ、カラオケ伴奏に合わせて歌唱を開始する。シンガー端末ｂはマイクロホンを介して歌唱音声を入力された歌唱音声に基づいて音声パケットを生成する。音声パケットには伴奏データとのタイミング情報が付加される。シンガー端末ｂは生成した音声パケットを逐次的にリスナー端末ｃに送信する。リスナー端末ｃは音声パケットのタイミング情報に基づいて伴奏データと音声パケットを同期させて重畳しカラオケ演奏として再生出力する。【選択図】  図１
2006215460.tif 000002
【特許請求の範囲】
【請求項１】
管理サーバ、少なくとも１つのシンガー端末および少なくとも１つのリスナー端末を備えたカラオケ音声送受信システムであって、
(a)管理サーバは、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段と、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段と、を備え、
(b)シンガー端末は、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段と、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段と、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段と、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段と、
(b6)生成した音声パケットを、リスナー端末に送信する音声パケット送信手段と、を備え、
(c)リスナー端末は、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(c2)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段と、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段と、を備えたこと
を特徴とするカラオケ音声送受信システム。
【請求項２】
少なくとも１つのシンガー端末および少なくとも１つのリスナー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するための管理サーバであって、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段と、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段と、を備えたこと
を特徴とするカラオケ音声送受信システムのための管理サーバ。
【請求項３】
少なくとも１つのシンガー端末および少なくとも１つのリスナー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するための管理サーバをコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段。
【請求項４】
管理サーバおよび少なくとも１つのリスナー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するためのシンガー端末であって、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段と、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段と、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段と、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段と、
(b6)生成した音声パケットを、リスナー端末に送信する音声パケット送信手段と、を備えたこと
を特徴とするカラオケ音声送受信システムのためのシンガー端末。
【請求項５】
管理サーバおよび少なくとも１つのリスナー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するためのシンガー端末をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段、
(b6)生成した音声パケットを、リスナー端末に送信する音声パケット送信手段。
【請求項６】
管理サーバおよび少なくとも１つのシンガー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するためのリスナー端末であって、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(c2)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段と、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段と、を備えたこと
を特徴とするカラオケ音声送受信システムのためのリスナー端末。
【請求項７】
管理サーバおよび少なくとも１つのシンガー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するためのリスナー端末をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段、
(c2)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段。
【請求項８】
管理サーバ、少なくとも１つのシンガー端末および少なくとも１つのリスナー端末を備えたカラオケ音声送受信システムであって、
(a)管理サーバは、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段と、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段と、
(a3)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段と、
(a4)取得した音声パケットを、リスナー端末に送信する音声パケット送信手段と、を備え、
(b)シンガー端末は、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段と、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段と、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段と、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段と、
(b6')生成した音声パケットを、管理サーバに送信する音声パケット送信手段と、を備え、
(c)リスナー端末は、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(c2')管理サーバから送信されてきた、音声パケットを取得する音声パケット取得手段と、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段と、を備えたこと
を特徴とするカラオケ音声送受信システム。
【請求項９】
少なくとも１つのシンガー端末および少なくとも１つのリスナー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するための管理サーバであって、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段と、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段と、
(a3)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段と、
(a4)取得した音声パケットを、リスナー端末に送信する音声パケット送信手段と、を備えたこと、
を特徴とするカラオケ音声送受信システムのための管理サーバ。
【請求項１０】
少なくとも１つのシンガー端末および少なくとも１つのリスナー端末のそれぞれと通信可能に設けられカラオケ音声送受信システムを構成するための管理サーバをコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段、
(a3)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段、
(a4)取得した音声パケットを、リスナー端末に送信する音声パケット送信手段。
【請求項１１】
通信可能に設けられた管理サーバおよび、少なくとも１つのリスナー端末とカラオケ音声送受信システムを構成するためのシンガー端末であって、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段と、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段と、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段と、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段と、
(b6')生成した音声パケットを、管理サーバに送信する音声パケット送信手段と、を備えたこと
を特徴とするカラオケ音声送受信システムのためのシンガー端末。
【請求項１２】
通信可能に設けられた管理サーバおよび、少なくとも１つのリスナー端末とカラオケ音声送受信システムを構成するためのシンガー端末をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段、
(b6')生成した音声パケットを、管理サーバに送信する音声パケット送信手段。
【請求項１３】
通信可能に設けられた管理サーバおよび、少なくとも１つのシンガー端末とカラオケ音声送受信システムを構成するためのリスナー端末であって、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、
(c2')管理サーバから送信されてきた、音声パケットを取得する音声パケット取得手段と、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段と、を備えたこと
を特徴とするカラオケ音声送受信システムのためのリスナー端末。
【請求項１４】
通信可能に設けられた管理サーバおよび、少なくとも１つのシンガー端末とカラオケ音声送受信システムを構成するためのリスナー端末をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段、
(c2')管理サーバから送信されてきた、音声パケットを取得する音声パケット取得手段、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段。
【請求項１５】
請求項１〜１４のいずれかのカラオケ音声送受信システム、シンガー端末またはこのプログラムにおいて、
前記シンガー端末の音声パケット生成手段は、シンガーが歌唱した音声を検知した場合にのみ、音声パケットを生成することを特徴とするもの。
【請求項１６】
請求項１〜１５のいずれかのカラオケ音声送受信システム、シンガー端末またはこのプログラムにおいて、
前記シンガー端末の音声パケット生成手段は、シンガーが設定したカラオケ伴奏に関するキー情報、テンポ情報、歌詞タイミング情報、音量情報のうちの少なくとも１つを音声パケットに付加することを特徴とするもの。
【請求項１７】
請求項１〜１６のいずれかのカラオケ音声送受信システム、リスナー端末またはこのプログラムにおいて、
前記リスナー端末の音声パケット取得手段は、演奏出力手段において出力される演奏時刻と音声パケットに付加された同期情報とを比較して、取得した音声パケットが出力に間に合うか否かを判断し、出力に間に合わなければ前記音声パケットを破棄することを特徴とするもの。
【請求項１８】
管理サーバ、少なくとも１つのシンガー端末および少なくとも１つのリスナー端末を備えた仮想カラオケ方法であって、
(a)管理サーバは、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録ステップと、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信ステップと、を備え、
(b)シンガー端末は、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエストステップと、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得ステップと、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生ステップと、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力ステップと、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成ステップと、
(b6)生成した音声パケットを、リスナー端末に送信する音声パケット送信ステップと、を備え、
(c)リスナー端末は、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得ステップと、
(c2)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得ステップと、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力ステップと、を備えたこと
を特徴とする仮想カラオケ方法。
【請求項１９】
管理サーバ、少なくとも１つのシンガー端末および少なくとも１つのリスナー端末を備えた仮想カラオケ方法であって、
(a)管理サーバは、
(a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録ステップと、
(a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信ステップと、
(a3)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得ステップと、
(a4)取得した音声パケットを、リスナー端末に送信する音声パケット送信ステップと、を備え、
(b)シンガー端末は、
(b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエストステップと、
(b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得ステップと、
(b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生ステップと、
(b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力ステップと、
(b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成ステップと、
(b6')生成した音声パケットを、管理サーバに送信する音声パケット送信ステップと、を備え、
(c)リスナー端末は、
(c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得ステップと、
(c2')管理サーバから送信されてきた、音声パケットを取得する音声パケット取得ステップと、
(c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力ステップと、を備えたこと
を特徴とする仮想カラオケ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、カラオケを歌唱するシンガーと、これを視聴するリスナーとの間において、ネットワーク上で実現されるカラオケ音声送受信システムに関する。
【背景技術】
【０００２】
ボイスチャットと呼ばれるコミュニケーション技術を用いてカラオケ伴奏と歌唱音声を配信する技術が知られている。例えば、シンガー側の端末でカラオケ伴奏を再生し、これに合わせてシンガーが歌唱を行うと、カラオケ伴奏と歌唱が合成されて、インターネット等のネットワークを介してリスナー側の端末にリアルタイムに配信される。これにより、インターネット上で仮想的なカラオケボックスを実現することができる。
【０００３】
一方、シンガーが自らの声で作成したコーラス用の歌唱データを予めサーバに記録させておき、カラオケ装置がカラオケの伴奏データを再生する場合に、前記サーバから取得したコーラス用の歌唱データを同時に再生するカラオケシステム（例えば、特許文献１参照。）が知られている。これにより、カラオケ伴奏時において、本人の声を用いたコーラス演奏を行うことができる。
【０００４】
【特許文献１】特開２００４−５３７３６号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したボイスチャットにおいては、シンガー側の端末は、リスナー側の端末に対して、カラオケの伴奏データとシンガーの歌唱データとを同時に配信しているため、通信量が大きくなりネットワークに対する回線負荷が高くなるという問題があった。このため、リスナー側の端末が接続されているネットワーク環境によっては、シンガーによるカラオケ演奏の音質が低下し、リスナー側での娯楽性に欠けるという問題が生じていた。
【０００６】
一方、上述した本人の声を用いたコーラス演奏を行うことのできるカラオケシステムにおいては、コーラス用の歌唱データを一括送信してカラオケ伴奏と同時に再生させる構成のため、リアルタイムで配信することを前提としておらず、通信量や回線負荷についての考察は一切なかった。このため、ネットワーク上において仮想的なカラオケボックスを実現することは前提としていなかった。
【０００７】
この発明は、上記のような問題点を解決するためになされたものであって、通信量を抑制して回線負荷を低減させ、伴奏データと歌唱データとを合成させたカラオケ演奏を高音質で再生することのできるカラオケ音声送受信システムの提供を目的とする。
【課題を解決するための手段】
【０００８】
(1)〜(7)(18)この発明に係るカラオケ音声送受信システムは、  管理サーバ、少なくとも１つのシンガー端末および少なくとも１つのリスナー端末を備えたカラオケ音声送受信システムであって、  (a)管理サーバは、  (a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段と、  (a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段と、を備え、  (b)シンガー端末は、  (b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段と、  (b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、  (b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段と、  (b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段と、  (b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段と、  (b6)生成した音声パケットを、リスナー端末に送信する音声パケット送信手段と、を備え、  (c)リスナー端末は、  (c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、  (c2)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段と、  (c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段と、を備えたことを特徴とする。
【０００９】
したがって、伴奏データと歌唱音声とを分離して送信することができる。例えば、予め伴奏データを配信しておき、リアルタイムに歌唱音声を送信することによって、通信量を抑制して回線負荷を低減させることができる。また、歌唱音声のみをリアルタイムに送信すればよいので、リスナー側では高音質なカラオケ演奏を再生出力することができる。
【００１０】
(8)〜(14)(19)この発明に係るカラオケ音声送受信システムは、  管理サーバ、少なくとも１つのシンガー端末および少なくとも１つのリスナー端末を備えたカラオケ音声送受信システムであって、  (a)管理サーバは、  (a1)複数のカラオケ曲に関する伴奏データを記録する伴奏データ記録手段と、  (a2)シンガー端末からのリクエストを受けて、リクエストに対応するカラオケ曲に関する伴奏データを、シンガー端末およびリスナー端末に配信する伴奏データ配信手段と、  (a3)シンガー端末から送信されてきた、音声パケットを取得する音声パケット取得手段と、  (a4)取得した音声パケットを、リスナー端末に送信する音声パケット送信手段と、を備え、  (b)シンガー端末は、  (b1)シンガーからの操作を受けて、管理サーバにシンガー所望のカラオケ曲に関するリクエストを行うリクエスト手段と、  (b2)管理サーバから配信されてきた、上記リクエストに対応するカラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、  (b3)取得した伴奏データをカラオケ伴奏として再生出力する伴奏データ再生手段と、  (b4)再生出力されたカラオケ伴奏に合わせてシンガーが歌唱した音声を入力する歌唱音声入力手段と、  (b5)入力した音声に基づいて、前記カラオケ伴奏との同期情報を付加した音声パケットを生成する音声パケット生成手段と、  (b6')生成した音声パケットを、管理サーバに送信する音声パケット送信手段と、を備え、  (c)リスナー端末は、  (c1)管理サーバから配信されてきた、カラオケ曲に関する伴奏データを取得する伴奏データ取得手段と、  (c2')管理サーバから送信されてきた、音声パケットを取得する音声パケット取得手段と、  (c3)前記音声パケットに付加された同期情報に基づいて、前記伴奏データおよび前記音声パケットの同期を図るとともに、これらを合成してカラオケ演奏として出力する演奏出力手段と、を備えたことを特徴とする。
【００１１】
したがって、伴奏データと歌唱音声とを分離して送信することができる。例えば、予め伴奏データを配信しておき、リアルタイムに歌唱音声を送信することによって、通信量を抑制して回線負荷を低減させることができる。また、歌唱音声のみをリアルタイムに送信すればよいので、リスナー側では高音質なカラオケ演奏を再生出力することができる。また、シンガー端末は、管理サーバにのみ歌唱音声データを送信すればよいので、シンガー端末での負荷を低減することができる。すなわち、シンガー端末のネットワーク環境における通信速度を低くすることができる。
【００１２】
(15)この発明に係るカラオケ音声送受信システムにおいては、  シンガー端末の音声パケット生成手段は、シンガーが歌唱した音声を検知した場合にのみ、音声パケットを生成する。したがって、間奏部分や無音部分における音声パケットを生成することを防止して、ネットワーク帯域を有効に利用することができる。
【００１３】
(16)この発明に係るカラオケ音声送受信システムにおいては、  シンガー端末の音声パケット生成手段は、シンガーが設定したカラオケ伴奏に関するキー情報、テンポ情報、歌詞タイミング情報、音量情報のうちの少なくとも１つを音声パケットに付加する。したがって、シンガー端末において、キー、テンポ、歌詞タイミング、音量等が変更された場合であっても、リスナー端末は、当該変更を確実に反映して、カラオケ演奏を再生出力することができる。これにより、現実感の強いカラオケ音声送受信システムを実現することができる。
【００１４】
(17)この発明に係るカラオケ音声送受信システムにおいては、  リスナー端末の音声パケット取得手段は、演奏出力手段において出力される演奏時刻と音声パケットに付加された同期情報とを比較して、取得した音声パケットが出力に間に合うか否かを判断し、出力に間に合わなければ前記音声パケットを破棄することを特徴とする。したがって、使用する見込みのない音声パケットを早期に破棄して、無駄な処理を無くすことができる。
【００１５】
管理サーバにおける「伴奏データ記録手段」は、実施形態においては図１２に示した伴奏データ・データベース２０９３がこれに該当する。「伴奏データ配信手段」は、実施形態においては図４に示したステップＳ４２３の機能がこれに該当する。「音声パケット受信手段」は、実施形態においては図５ａに示したステップＳ５５１の機能がこれに該当する。「音声パケット送信手段」は、実施形態においては図５ａに示したステップＳ５５３の機能がこれに該当する。
【００１６】
シンガー端末における「リクエスト手段」は、実施形態においては図４に示したステップＳ４０５の機能がこれに該当する。「伴奏データ取得手段」は、実施形態においてはステップＳ４０７の機能がこれに該当する。「伴奏データ再生手段」は、実施形態においては図４に示したステップＳ４０９〜Ｓ４０１１の機能がこれに該当する。「歌唱音声入力手段」は、実施形態においては図５に示したステップＳ５０１の機能がこれに該当する。「音声パケット生成手段」は、実施形態においては図５に示したステップＳ５０２〜５０９の機能がこれに該当する。「音声パケット送信手段」は、実施形態においては図５に示したステップＳ５１１の機能がこれに該当する。
【００１７】
リスナー端末における、「伴奏データ取得手段」は、実施形態においては図４に示したステップＳ４４５の機能がこれに該当する。「音声パケット取得手段」は、実施形態においては図５に示したステップＳ５２１の機能がこれに該当する。
【００１８】
「演奏出力手段」は、実施形態においては図５に示したステップＳ５２３〜５３１の機能がこれに該当する。
【００１９】
この発明において、「〜手段」とは、プログラムによって実現されるＣＰＵの機能を含む概念である。ここで、「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための最良の形態】
【００２０】
１．第１の実施形態
１−１．概要
図１に、この発明の一実施形態によるカラオケ音声送受信システムの機能ブロック図を示す。管理サーバａは、カラオケ音声送受信システムを実施するウェブサイト等を運営する業者に設置されるコンピュータ装置である。シンガー端末ｂは、カラオケ音声送受信システムにおいてカラオケ演奏を歌唱するシンガー側に設置されるコンピュータ装置である。リスナー端末ｃは、カラオケ音声送受信システムにおいてシンガーのカラオケ演奏を視聴するリスナー側に設置されるコンピュータ装置である。管理サーバａ、シンガー端末ｂおよびリスナー端末ｃは、それぞれインターネット等のネットワーク０に接続されており、それぞれ通信可能である。なお、シンガー端末ｂおよびリスナー端末ｃは、複数存在してもよい。
【００２１】
リスナー端末ｃは、インターネットを介して、ＵＲＬによって示される管理サーバａにアクセスする。管理サーバａのウェブサイト上においては、仮想的なカラオケステージが用意されており、リスナーはネットワークを介して任意のステージを視聴することができる。
【００２２】
シンガー端末ｂのシンガーは、インターネットを介して、ＵＲＬによって示される管理サーバａにアクセスする。カラオケ演奏を行うため、シンガーがシンガー端末ｂに所望のカラオケ伴奏曲についてのリクエストを入力すると、シンガー端末ｂは、当該リクエストを管理サーバａに送信する。送信を受けて管理サーバａは、前記リクエストにかかる伴奏データをデータベースから読み出し、シンガー端末ｂおよびリスナー端末ｃのそれぞれに対して、読み出した伴奏データを配信する。
【００２３】
伴奏データを受けてシンガー端末ｂは、所望のカラオケ伴奏曲についての伴奏データを再生する。シンガーは、再生されたカラオケ伴奏曲を視聴しつつ、カラオケ伴奏に合わせて歌唱を開始する。シンガー端末ｂは、マイクロホンを介して歌唱音声を入力する。入力を受けてシンガー端末ｂは、当該歌唱音声に基づいて音声パケットを生成する。このとき、音声パケットには伴奏データとのタイミング情報が付加される。シンガー端末ｂは、生成した音声パケットを逐次的にリスナー端末ｃに送信する。送信を受けてリスナー端末ｃは、音声パケットのタイミング情報に基づいて、先に配信された伴奏データと音声パケットを同期させて重畳し、シンガーによるカラオケ演奏として再生出力する。
【００２４】
１−２．機能ブロック図
シンガー端末ｂのリクエスト手段ｂ１は、シンガーからシンガー所望のカラオケ伴奏曲についてのリクエストを受け付けるとともに、当該リクエストを管理サーバａに送信するためのものである。伴奏データ取得手段ｂ２は、管理サーバａに送信したカラオケ伴奏曲についてのリクエストに対する伴奏データを管理サーバａから取得するためのものである。伴奏データ再生手段ｂ３は、上記において取得した伴奏データをカラオケ伴奏曲として再生するためのものである。歌唱音声入力手段ｂ４は、再生されたカラオケ伴奏曲に合わせてシンガーが歌唱した音声をマイクロホンを経由して入力するためのものである。音声パケット生成手段ｂ５は、入力したシンガーの歌唱音声に基づいて、カラオケ伴奏曲とのタイミング情報を付加した音声パケットを生成するためのものである。音声パケット送信手段ｂ６は、生成した音声パケットをリスナー端末等の他の装置に送信するためのものである。
【００２５】
リスナー端末の伴奏データ取得手段ｃ１は、シンガー端末が管理サーバａに送信したカラオケ伴奏曲についてのリクエストに対する伴奏データを管理サーバａから取得するためのものである。音声パケット取得手段ｃ２は、シンガー端末等の他の装置から逐次送信されてくる音声パケットを取得するためのものである。演奏出力手段ｃ３は、音声パケットに付加されたタイミング情報に基づいて、伴奏データと音声パケットを同期させて重畳することにより、シンガーによるカラオケ演奏をリスナー端末ｃにおいて再生出力する。
【００２６】
管理サーバａの伴奏データ記録手段ａ１は、カラオケ伴奏曲についての伴奏データを複数記録するためのものである。伴奏データ配信手段ａ２は、シンガー端末ｂからのリクエストを受けて、当該リクエストに対応する伴奏データをシンガー端末およびリスナー端末に送信するためのものである。
【００２７】
１−３．ハードウエア構成
１−３−１．管理サーバ
図１に示す管理サーバａをＣＰＵを用いて実現したハードウェア構成の一例を図２に示す。この管理サーバａは、ディスプレイ２０１、ＣＰＵ２０３、メモリ２０５、キーボード／マウス２０７、ハードディスク２０９、ＣＤ−ＲＯＭドライブ２１１および通信回路２１５を備えている。
【００２８】
ハードディスク２０９には、仮想カラオケサーバプログラム２０９１および伴奏データ・データベース２０９３が記録されている。仮想カラオケサーバプログラム２０９１は、シンガー端末ｂやリスナー端末ｃからのアクセスを受けて、本発明にかかるカラオケ音声送受信システムにかかる各種処理を行う。このプログラムは、ＣＤ−ＲＯＭドライブ２１１を介してＣＤ−ＲＯＭ２１２に記録されたプログラムを読み出してインストールされたものである。なお、上記インストールは、通信回路２１５を用いてインターネット等のネットワーク０からダウンロードしたプログラムを使用して行うようにしてもよい。
【００２９】
管理サーバａを構成する、伴奏データ配信手段ａ２は、仮想カラオケサーバプログラム２０９１による各機能によって実現される。また、伴奏データ記録手段ａ１は、伴奏データ・データベース２０９３によって実現される。
【００３０】
１−３−２．シンガー端末／リスナー端末
図１に示すシンガー端末ｂおよびリスナー端末ｃをＣＰＵを用いて実現したハードウェア構成の一例を図３に示す。このシンガー端末ｂ／リスナー端末ｃは、ディスプレイ３０１、ＣＰＵ３０３、メモリ３０５、キーボード／マウス３０７、スピーカー３０８、ハードディスク３０９、ＣＤ−ＲＯＭドライブ３１１、通信回路３１５およびマイクロホン３１７を備えている。
【００３１】
ハードディスク３０９には、仮想カラオケクライアントプログラム３０９１が記録されている。仮想カラオケクライアントプログラム３０９１は、ネットワーク０を介して管理サーバａまたはリスナー端末ｃにアクセスし、本発明にかかるカラオケ音声送受信システムにかかる各種処理を行う。
【００３２】
シンガー端末ｂを構成する、リクエスト手段ｂ１、伴奏データ取得手段ｂ２、伴奏データ再生手段ｂ３、歌唱音声入力手段ｂ４、音声パケット生成手段ｂ５および音声パケット送信手段ｂ６は、仮想カラオケクライアントプログラム３０９１による各機能によって実現される。また、リスナー端末ｃを構成する、伴奏データ取得手段ｃ１、音声パケット取得手段ｃ２および演奏出力手段ｃ３も、同様に仮想カラオケクライアントプログラム３０９１による各機能によって実現される。
【００３３】
１−４．処理詳細
図４〜１１を用いて、本実施形態における処理詳細を説明する。本実施形態においては、シンガー（歌唱者）のシンガー端末が、当該シンガーの歌唱によって発生した音声データを、インターネットを介して各リスナー（視聴者）のリスナー端末に向けて逐次送信することによって実現されるカラオケ音声送受信システムについて説明する。なお、シンガーのシンガー端末が、仮想カラオケサーバ（管理サーバ）にアクセスして、シンガー所望のカラオケ曲のリクエストを送信することにより、シンガーの歌唱するカラオケの伴奏データは、シンガー端末およびリスナー端末に予め配信されている。
【００３４】
１−４−１．全体フローチャート
図４は、本実施形態におけるカラオケ音声送受信システムにかかる全体フローチャートである。シンガーまたはリスナーが、シンガー端末ｂまたはリスナー端末ｃのキーボード／マウス３０７を操作することによって、ハードディスク３０９に記録されている仮想カラオケクライアントプログラム３０９１を起動させる。起動操作を受けて、シンガー端末ｂまたはリスナー端端末ｃのＣＰＵ３０３は、メモリ３０５等を用いて仮想カラオケクライアントプログラム３０９１を実行し、所定のＵＲＬに基づきインターネットを介して管理サーバａにアクセスする（ステップＳ４０１〜４０３、ステップＳ４４１〜４４３）。
【００３５】
アクセスを受けて管理サーバａのＣＰＵ２０３は、カラオケ音声送受信システムにおけるメイン画面をシンガー端末ｂまたはリスナー端末ｃに送信する（ステップＳ４２１）。図１１のＡに、シンガー端末ｂまたはリスナー端末ｃのディスプレイ３０１上に表示されるメイン画面１１０の例を示す。メイン画面１１０には、リクエスト曲入力欄１１０１、予約状況表示欄１１０３および歌唱状況表示欄１１０５等が表示される。
【００３６】
カラオケを歌唱しようとしているシンガーが、メイン画面１１０のリクエスト曲入力欄１１０１において、所望のリクエスト曲の曲名を入力して送信ボタン１１０２を押下すると、シンガー端末ｂのＣＰＵ３０３は、入力されたリクエスト曲の曲名を、管理サーバａに対して送信する（ステップＳ４０５）。例えば、シンガーがリクエスト曲「ＡＡＡ」を入力して送信ボタン１１０２を押下すると、ＣＰＵ３０３は、管理サーバａに「ＡＡＡ」をリクエストとして送信する。
【００３７】
送信を受けて管理サーバｂのＣＰＵ２０３は、リクエスト曲に対応するカラオケの伴奏データを伴奏データ・データベース２０９３から読み出す（ステップＳ４２３）。図１２に、伴奏データ・データベース２０９３の例を示す。伴奏データ・データベース２０９３には、リクエスト曲１２１と伴奏データ１２３が対応付けて記録されている。例えば、ＣＰＵ２０３は、リクエスト「ＡＡＡ」に対応する伴奏データ「0100ABC…（バイナリデータ）」を読み出す。
【００３８】
管理サーバａは、読み出した伴奏データをシンガー端末ｂおよびリスナー端末ｃに配信する（ステップＳ４２５）。例えば、伴奏データ「0100ABC…（バイナリデータ）」が、インターネットを介して配信される。シンガー端末ｂおよびリスナー端末ｃは、管理サーバａから配信されてきた伴奏データをともに受信する（ステップＳ４０６）。
【００３９】
管理サーバａは、伴奏データの配信後、シンガー端末にのみリスナーリストを送信する（ステップＳ４２７）。ここで、リスナーリストとは、管理サーバａにアクセスしているリスナー端末ｃにかかるＩＰアドレスの一覧である。すなわち、リスナーリストによりシンガー端末ｂは、カラオケの歌唱音声データを送信すべきリスナー端末ｃを認識することができる。
【００４０】
伴奏データおよびリスナーリストの受信を終えると、シンガー端末ｂは、カラオケ演奏の開始通知を、各リスナー端末ｃに向けて送信するとともに受信した伴奏データを再生する（ステップＳ４０９、Ｓ４１１）。開始通知の送信を受けてリスナー端末ｃは、伴奏データの受信を完了していることを条件として伴奏データの再生を開始する（ステップＳ４４７〜Ｓ４４９）。なお、伴奏データの受信完了を条件としたのは、各リスナー端末またはシンガー端末間において、ネットワーク環境が異なる場合があるためである。すなわち、シンガー端末ｂにおいて伴奏データの受信を完了していたとしても、その時点で各リスナー端末ｃにおいて伴奏データの受信を完了している保証がなく、リスナー端末ｃにおいてカラオケ伴奏の開始ができない場合があるためである。
【００４１】
シンガー端末ｂにおいて伴奏データに基づくカラオケ曲の再生が開始されると、シンガーはマイクロホン３１７を利用してカラオケ歌唱を行う。このとき、シンガー端末ｂのＣＰＵ３０３は、マイクロホン３１７を介して入力されてくるシンガーの歌唱音声に基づいて音声パケットを逐次的に生成し、これを各リスナー端末ｃに向けて順次送信する処理を行う（ステップＳ４１３）。以下、この処理について詳細を説明する。
【００４２】
１−４−２．音声パケットの送受信処理
図５に、シンガー端末ｂと各リスナー端末ｃの間で実行される音声パケットの送受信処理におけるフローチャートを示す。
【００４３】
１−４−２−１．シンガー端末（音声パケットの送信処理）
図６に、シンガー端末ｂにおいて実行される仮想カラオケクライアントプログラム３０９１を構成する各構成単位（モジュール）間の関係を示す。さらに、図１３に、この処理において生成される音声パケットの生成過程を模式的に示す。
【００４４】
図６に示すように、シンガー端末ｂのＣＰＵ３０３は、管理サーバａから受信した伴奏データであるＭＩＤＩデータ６０１を読み込み、ＭＩＤＩデータ再生部６０３において当該伴奏データを再生する。再生された伴奏データは、オーディオ出力デバイス制御部６０９によって制御されるＤ／Ａ変換器（図示せず）を介してスピーカ３０８から再生出力される。シンガーは、この再生出力された伴奏データであるカラオケ伴奏を聴きながら、マイクロホン３１７を用いてカラオケの歌唱を開始する。また、シンガー端末ｂのディスプレイ３０１には、図１１のＢに示すような画面が表示され、シンガーは、伴奏データにかかる「キー」１１１１、「テンポ」１１１２、「歌詞タイミング」１１１３、「音量」１１１４等を、再生中において自由に変更することができる。さらに、リスナー端末ｃのディスプレイ３０１には、図１１のＣに示すような画面が表示される。
【００４５】
図５に示すフローチャートにおいて、シンガー端末ｂは、マイクロホン３１７を介して入力されたシンガーのカラオケ歌唱音声を、オーディオ入力デバイス制御部６０５（図６）を介して入力する（ステップＳ５０１）。なお、オーディオ入力デバイス制御部６０５（図６）を介して入力されたシンガーのカラオケ音声は、再生されたＭＩＤＩデータと合成されてオーディオ出力デバイス制御部６０９（図６）に与えられ、Ｄ／Ａ変換器（図示せず）を介してスピーカ３０８から出力される。
【００４６】
シンガー端末ｂのＣＰＵ３０３は、オーディオ入力デバイス制御部６０５（図６）において、マイクロホン３０７を介して入力されたアナログ信号に基づいて、Ａ／Ｄ変換器（図示せず）によりカラオケ音声をデジタル化する（ステップＳ５０２）。カラオケ音声のデジタル化は、音を一定時間ごとに数値化(サンプリング)して記録するＰＣＭ（Pulse Code Modulation）方式によって行えばよい。図１３においては、シンガーのカラオケ音声として入力されたアナログ信号１３１が、符号１３２に変換してＰＣＭ化されている。
【００４７】
ＣＰＵ３０３は、所定時間内（例えば、１００ミリ秒）に入力されたＰＣＭ信号に基づいて、シンガーが発声を行うことによりカラオケ歌唱が行われていると判断すると（ステップＳ５０３、ＹＥＳ）、音声データ圧縮部６０７（図６）において、当該所定時間内において入力されたＰＣＭ信号に基づいて、デジタル化したカラオケ音声を所定のコーデックを用いて圧縮する（ステップＳ５０５）。なお、上記所定時間は、５０ミリ秒〜２００ミリ秒程度ごとに一つの音声パケットを生成するようにしてもよい。
【００４８】
例えば、入力したカラオケ音声のＰＣＭ信号の数値や変化率等が人間の音楽的声域の範囲内にあるか否かによって、カラオケ歌唱が行われているか否かを判断すればよい。また、音声圧縮を行うコーデックとしては、低帯域コーデックの ITU-T G.723.1 や G.729 Annex A、または、広帯域コーデックのＭＰ３（MPEG Audio Layer-3 ）やＡＡＣ（Advanced Audio Coding）等を用いればよい。なお、図１３においては、デジタル化されたカラオケ音声は、ＭＰ３を用いた圧縮データ１３３に変換されている。
【００４９】
ＣＰＵ３０３は、音声パケット生成部６１１において、上記において圧縮したカラオケ音声の圧縮データ１３３に対して、オーディオ出力デバイス制御部６０９から取得した再生中における伴奏データのタイムスタンプ１３５を付加する（ステップＳ５０７）。タイムスタンプとは、シンガー端末ｂにおいてＭＩＤＩデータとして再生されているカラオケ伴奏との同期タイミング情報である。すなわち、カラオケ音声がカラオケ伴奏におけるどのタイミングで入力されたものであるかを示す情報である。タイムスタンプを参照することにより、リスナー端末ｃにおいてカラオケ伴奏のＭＩＤＩデータとカラオケ音声データとを同期させて再生することができる。
【００５０】
図８は、ＭＩＤＩデータ６０１におけるデータ構造の例を示す。なお、このデータ構造は、ＳＭＦ（Standard MIDI File）のフォーマット０規格に基づくものである。当該ＭＩＤＩデータ６０１は、ヘッダチャンク８１およびトラックチャンク８３から構成される。ヘッダチャンク８１には、ＭＩＤＩデータ識別子８１１およびヘッダ情報８１３が格納される。トラックチャンク８３には、トラック識別子８３１、トラックサイズ８３２、デルタタイム８３３、ＭＩＤＩイベント８３４、デルタタイム８３３、ＭＩＤＩイベント８３４、…、が格納される。ここで、デルタタイム８３３とは、直前のＭＩＤＩイベントから次に続くＭＩＤＩイベントまでの時間差を相対的に表したものである。例えば、ＭＩＤＩイベント８３６にかかるデルタタイム８３５が「２４０（チックス）」であった場合、ＭＩＤＩイベント８３４の終了から２４０チックス後にＭＩＤＩイベント８３６が開始されることになる。なお、単位のチックスは、４分音符を４８０の精度で分解した音の長さを表している。したがって、ＭＩＤＩデータ６０１の再生時刻を示すタイムスタンプは、デルタタイムとＭＩＤＩイベントに基づいて生成されたカラオケ伴奏の先頭からの積算時刻を表している。
【００５１】
タイムスタンプの付加に続けて、ＣＰＵ３０３は、音声パケット生成部６１１において、その他の情報を付加して音声パケットを生成する（ステップＳ５０９）。例えば、「タイムスタンプ」１３５の他に、再生中における伴奏データ再生方法を示すための「キー情報」１３６Ａ、「テンポ情報」１３６Ｂおよび「エフェクト情報」１３６Ｃ等が付加される。また、音声パケットであることを示すための「パケット種別」１３６Ｄ、パケットデータ全体のエラー処理に用いるための「チェックサム」１３６Ｅ、パケットの大きさを示す「パケットサイズ」１３６Ｆ、パケットを識別するための「パケット識別子」１３６Ｇ等の情報が付加されて、音声パケット全体が生成される。
【００５２】
図９に、上記において生成される音声パケットのデータ構造を示す。音声パケットはヘッダー部９１およびデータ部９３から構成されており、ヘッダー部には、「パケット識別子」１３６Ｇ、「パケットサイズ」１３６Ｆ、「チェックサム」１３６Ｅ、「タイムスタンプ」１３５、「パケット種別」１３６Ｄ、「キー情報」１３６Ａ、「テンポ情報」１３６Ｂおよび「エフェクト情報」１３６Ｃが記録される。また、データ部には、圧縮された音声データ１３３が記録される。
【００５３】
ＣＰＵ３０３は、音声パケット送信部６１３において、上記音声パケットに対して、ＵＤＰヘッダー１３７Ａを付加する処理（ＵＤＰパケット化）を行うとともに、ＩＰヘッダー１３７Ｂを付加する処理（ＩＰパケット化）を行い、当該音声パケットをネットワーク０に送出する（ステップＳ５１１）。すなわち、生成した音声パケットを、上記リスナーリストに記録されたＩＰアドレスに基づいて特定される各リスナー端末ｃに送信する（ステップＳ５１１）。なお、本実施形態においては、音声パケットのリアルタイム性を重視しているため、パケット再送処理を行わず転送速度が高いＵＤＰ（User Datagram Protocol）を採用している。
【００５４】
ＣＰＵ３０３は、カラオケ終了を検知するまで、上記ステップＳ５０１〜５１１を繰り返す（ステップＳ５１３）。なお、カラオケ終了とは、ＭＩＤＩデータ再生部６０３において、伴奏データの再生をすべて終えた場合、または、シンガーによって、伴奏データの再生中止の操作が行われた場合に発生する所定の制御信号である。したがって、シンガー端末ｂのＣＰＵ３０３は、伴奏データの再生中に限りシンガーのカラオケ音声に基づいて音声パケットの生成処理を行い、これを各リスナー端末ｃに送信することができる。
【００５５】
１−４−２−２．リスナー端末（音声パケットの受信処理）
図７に、リスナー端末ｃにおいて実行される仮想カラオケクライアントプログラム３０９１を構成する各構成単位（モジュール）間の関係を示す。
【００５６】
図７に示すように、リスナー端末ｃのＣＰＵ３０３は、管理サーバａから受信した伴奏データであるＭＩＤＩデータ７０１を読み込み、ＭＩＤＩデータ再生部７０３において当該伴奏データを再生する。再生された伴奏データは、オーディオ出力デバイス制御部７１１によって制御されるＤ／Ａ変換器（図示せず）を介してスピーカ３０８から再生出力される。また、ＣＰＵ３０３は、上述したように、ＭＩＤＩデータ７０１の再生時刻として、デルタタイムとＭＩＤＩイベントに基づいて生成されたカラオケ伴奏の先頭からの積算時刻を記録している。
【００５７】
図５に示すフローチャートにおいて、リスナー端末ｃのＣＰＵ３０３は、音声パケット取得部７０５において、インターネットを介して受信した音声パケット７０を取得する（ステップＳ５２１）。このとき、音声パケット取得部７０５は、音声パケットのパケット種別１３６Ｇに格納されたデータに基づいて取得すべきパケットかどうかを判断している。また、取得したパケットに対しては、パケットサイズ１３６Ｆとチェックサム１３６Ｅによってその正当性を判断すればよい。なお、音声パケット７０は、図１３において示したパケット送信前の音声パケット７０と同一である。すなわち、宛先等を示すＵＤＰヘッダーやＩＰヘッダーは、リスナー端末ｃにおける別の通信プログラム等によって除去されている。
【００５８】
ＣＰＵ３０３は、音声パケット判定部７０７において、音声パケット７０のタイムスタンプ１３５と、再生中の伴奏データの再生時刻とを比較する（ステップＳ５２３）。ＣＰＵ３０３は、タイムスタンプ１３５が再生時刻より大きければ、音声パケット７０に格納された圧縮データ１３３を取り出し、音声パケット伸張部７０９において、データ伸張を行う（ステップＳ５２５）。例えば、タイムスタンプ１３５が「１００００ミリ秒」であり、再生時刻が「９９９０ミリ秒」であれば、音声パケットの圧縮データ１３３は伸張される。一方、タイムスタンプ１３５が再生時刻以下であれば、当該音声パケットを破棄する（ステップＳ５３０）。例えば、タイムスタンプ１３５が「１００００ミリ秒」であり、再生時刻が「１０１００ミリ秒」であれば、音声パケットは破棄される。
【００５９】
データ伸張を終えたＣＰＵ３０３は、音声パケット７０に格納された他のデータを考慮して、カラオケ音声を取得する（ステップＳ５２７）。例えば、パケット種別が「音声」を示すものであれば、伸張したデータをカラオケ音声と見なしてＰＣＭ信号としてのカラオケ音声を取得する。
【００６０】
ＣＰＵ３０３は、オーディオ出力デバイス制御部７１１において、上記において取得したカラオケ音声のＰＣＭデータを、ＭＩＤＩ形式の伴奏データと同期させて再生出力を行う（ステップＳ５２９）。例えば、カラオケ音声のタイムスタンプが「１００００ミリ秒」であれば、伴奏データが「１００００ミリ秒」に達するときに重畳して同時にスピーカ３０８から再生出力される。
【００６１】
また、ＣＰＵ３０３は、音声パケット７０に同時に格納されている、キー情報１３６Ａ、テンポ情報１３６Ｂ、エフェクト情報Ｃ基づいて伴奏データの再生方法を変更する。例えば、音声パケット７０の再生時間（例えば、１００ミリ秒）において、キーやテンポ等が変更されていれば、同時間分だけ伴奏データのキーやテンポを変更して再生出力する。
【００６２】
ＣＰＵ３０３は、終了パケットを受信するまで、上記ステップＳ５２１〜５２９を繰り返す（ステップＳ５３１）。なお、終了パケットは、シンガー端末ｂ側において、伴奏データの再生をすべて終えた場合、または、シンガーによって、伴奏データの再生中止の操作が行われた場合に発生する所定の制御信号を受けて、送信されてくるパケットである。例えば、終了パケットと音声パケットが同一の構造である場合には、ＣＰＵ３０３は、パケット種別１３６Ｄに格納されたデータに基づいて、終了パケットかどうかの判断を行えばよい。
【００６３】
１−５．まとめ
以上に説明したように、本発明のカラオケ音声送受信システムにおいては、カラオケの演奏データを、事前に配信する伴奏データとリアルタイムで配信する歌唱データとに分別するようにしているため、通信量を削減してネットワークに対する回線負荷を抑制することができる。これにより、リスナー側の端末が接続されているネットワーク環境によらず、シンガーによるカラオケ演奏の音質を向上させ、仮想的なカラオケの娯楽性を向上させることができる。
【００６４】
また、シンガーの歌唱データに基づいて所定の時間毎に音声パケットを生成し、当該音声パケット内に、シンガー端末において再生中の伴奏データにかかる情報（キー情報、テンポ情報、エフェクト情報等）を格納している。このため、シンガー端末において変更されたキー情報を、即時にリスナー端末に反映させることができる。
【００６５】
例えば、図１０に示すように、シンガー端末ｂにおいて再生されるＭＩＤＩデータは、「時刻＝２」の状態において「キー＝±０」から「キー＝＋２」に変更されており、これに伴い、音声パケット１００には「時刻＝２」の状態におけるキー情報として「キー＝＋２」が格納される。リスナー端末ｃは、逐次的に音声パケットを受信しており、「時刻＝２」における音声パケット１０１に格納されているキー情報「キー＝＋２」に基づいてＭＩＤＩデータを「キー＝＋２」にて再生する。
【００６６】
また、歌唱データを所定時間毎に音声パケットとして送信することにより、配送遅延が生じた場合であっても、遅延したパケットを破棄して次のパケットを処理することにより、瞬間的に音声が途切れることがあっても、次の音声パケットにより歌唱データを続けて再生することができる。例えば、図１３において、音声パケット１０５が遅延により破棄された場合であっても、音声パケット１０１の処理を行うことにより、歌唱データを続けて再生することができる。
【００６７】
２．第２の実施形態
第１の実施形態においては、シンガー端末ｂは、管理サーバａに接続しているリスナー端末ｃに対して音声パケットを逐次的に送信するように構成している。しかしながら、シンガー端末ｂから管理サーバａに音声パケットを送信しておき、管理サーバａから各リスナー端末ｃに対して、音声パケットを配信するようにしてもよい。これにより、シンガー端末ｂのクライアント負荷を下げることができるとともに、同時に接続可能なリスナー端末の数を多くすることができる。本実施形態においては、上記のように、管理サーバから各リスナー端末に音声パケットを送信する例について説明する。
【００６８】
２−１．機能ブロック図
本実施形態によるカラオケ音声送受信システムの機能ブロック図を、図１ａに示す。図１ａにおいて、シンガー端末ｂおよびリスナー端末ｃの構成は、図１と同様である。管理サーバａは、伴奏データ記録手段ａ１および伴奏データ配信手段ａ２に加えて、音声パケット取得手段ａ３および音声パケット送信手段ａ４を備えている。音声パケット取得手段ａ３は、シンガー端末から逐次送信されてくる音声パケットを取得するためのものである。音声パケット送信手段ａ４は、取得した音声パケットを、各リスナー端末ｃに送信するためのものである。
【００６９】
２−２．ハードウェア構成
本実施形態によるカラオケ音声送受信システムの各装置のハードウェア構成は、図２〜３に示したものと同様である。
【００７０】
２−３．処理詳細
図４ａおよび図５ａを用いて、本実施形態における処理詳細を説明する。図４ａのフローチャートにおいて、シンガー端末ｂのステップＳ４０１〜Ｓ４０５、管理サーバａのステップＳ４２１、Ｓ４２３およびＳ４２５、リスナー端末ｃのステップＳ４４１〜Ｓ４４７の処理は、第１の実施形態において示したものと同様である。
【００７１】
ステップＳ４０６において、シンガー端末ｂのＣＰＵ３０３は、カラオケ演奏の開始通知を管理サーバａに対して行う。これを受けて、管理サーバａは、当該管理サーバａにアクセスしているリスナー端末ｃにかかるＩＰアドレスの一覧にかかるリスナー端末ｃに対して、カラオケ演奏の開始通知を送信する（ステップＳ４２８）。開始通知の送信を受けてリスナー端末ｃは、伴奏データの受信を完了していることを条件として伴奏データの再生を開始する（ステップＳ４４７〜Ｓ４４９）。
【００７２】
図５ａに、シンガー端末ｂ、管理サーバａおよび各リスナー端末ｃの間で実行される音声パケットの送受信処理におけるフローチャートを示す。図５ａにおいて、シンガー端末ｂにかかるステップＳ５０１〜Ｓ５０９、Ｓ５１３、リスナー端末ｃにかかるステップＳ５２１〜Ｓ５３１の処理は、第１の実施形態において示したものと同様である。
【００７３】
ステップＳ５１１において、シンガー端末ｂのＣＰＵ３０３は、音声パケット７０を管理サーバａに逐次送信する。送信を受けて管理サーバａは、上記リスナーリストに記録されたリスナー端末ｃに対して音声パケットを逐次送信する（ステップＳ５５１、Ｓ５５３）。各リスナー端末は、管理サーバａが中継する音声パケット７０を受信する。これにより、シンガー端末ｂは、管理サーバａに対してのみ音声パケット７０を送信すればよい。
【００７４】
音声パケットを送信する場合と同様に、終了パケットを送信する場合においても、シンガー端末ｂのＣＰＵ３０３は、管理サーバａに対してのみ終了パケットを送信する（ステップＳ５１５）。送信を受けて管理サーバａは、各リスナー端末ｃに終了パケットを送信する（ステップＳ５５５、Ｓ５５７）。各リスナー端末は、管理サーバａが中継する終了パケットを受信する。
【００７５】
３．その他の実施形態
（１）上記実施形態においては、シンガー端末ｂまたはリスナー端末ｃにおいて仮想カラオケクライアントプログラム３０９１を実行させることによって、カラオケ音声送受信システムを構成したが、一般的なブラウザプログラムとそのプラグインプログラムによって、当該仮想カラオケクライアントプログラム３０９１と同等の機能を実現するようにしてもよい。また、前記プラグインプログラムは、管理サーバａからシンガー端末ｂまたはリスナー端末ｃにダウンロードさせるようにしてもよい。
【００７６】
（２）上記実施形態においては、シンガー端末ｂからリスナー端末ｃに対して音声パケットまたは終了パケットを送信するように構成したが、リスナー端末ｃからシンガー端末ｂに対してその他の情報パケットを送信するようにしてもよい。例えば、リスナー端末ｃにおいてシンガーのカラオケ演奏（伴奏データ＋歌唱データ）の再生中に、リスナー端末ｃにおいて、カラオケ演奏に対する反応ボタンがリスナーによって押下されると、反応情報に関する情報パケットをリスナー端末ｃからシンガー端末ｂに送信し、シンガー端末ｂにおいて反応パケットに基づいた反応情報を再生または表示するようにしてもよい。これにより、仮想的なカラオケボックスにおける娯楽性を高めることができる。
【００７７】
（３）上記実施形態においては、図１に示す各機能を実現する為に、ＣＰＵを用いソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。なお、プログラムの一部の処理をさらに、オペレーティングシステム（ＯＳ）にさせるようにしてもよい。
【図面の簡単な説明】
【００７８】
【図１】カラオケ音声送受信システムの機能ブロック図である。
【図１ａ】カラオケ音声送受信システムの機能ブロック図である。
【図２】管理サーバのハードウエア構成を示す図である。
【図３】シンガー端末／リスナー端末のハードウエア構成を示す図である。
【図４】カラオケ音声送受信システムにかかる全体フローチャートである。
【図４ａ】カラオケ音声送受信システムにかかる全体フローチャートである。
【図５】音声パケットの送受信処理におけるフローチャートである。
【図５ａ】音声パケットの送受信処理におけるフローチャートである。
【図６】シンガー端末ｂにおける各構成単位の関係を示す図である。
【図７】リスナー端末ｃにおける各構成単位の関係を示す図である。
【図８】ＭＩＤＩデータのデータ構造の例を示す図である。
【図９】音声パケットのデータ構造を示す図である。
【図１０】シンガー端末ｂおよびリスナー端末ｃにおいて再生される音声データのタイミングを示す図である。
【図１１】シンガー端末／リスナー端末のディスプレイに表示される画面の例を示す図である。
【図１２】伴奏データ・データベースを示す図である。
【図１３】音声パケットの生成過程を模式的に示す図である。
【符号の説明】
【００７９】
ａ    管理サーバ
ｂ    シンガー端末
ｃ    リスナー端末
【図１】
2006215460.tif 000003
【図１ａ】
2006215460.tif 000004
【図２】
2006215460.tif 000005
【図３】
2006215460.tif 000006
【図４】
2006215460.tif 000007
【図４ａ】
2006215460.tif 000008
【図５】
2006215460.tif 000009
【図５ａ】
2006215460.tif 000010
【図６】
2006215460.tif 000011
【図７】
2006215460.tif 000012
【図８】
2006215460.tif 000013
【図９】
2006215460.tif 000014
【図１０】
2006215460.tif 000015
【図１１】
2006215460.tif 000016
【図１２】
2006215460.tif 000017
【図１３】
2006215460.tif 000018