(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-13
(45)【発行日】2024-11-21
(54)【発明の名称】音声配信システム、音声配信方法及びプログラム
(51)【国際特許分類】
G10K 15/04 20060101AFI20241114BHJP
【FI】
G10K15/04 302D
(21)【出願番号】P 2023103580
(22)【出願日】2023-06-23
【審査請求日】2023-09-27
【新規性喪失の例外の表示】特許法第30条第2項適用 ▲1▼配信プラットフォームの配信日:令和 4年10月19日 ▲2▼配信プラットフォーム名:アプリケーション「VARK」(Meta Quest 2,Android,iOS) ▲3▼公開者:株式会社VARK
(73)【特許権者】
【識別番号】518010625
【氏名又は名称】株式会社VARK
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】加藤 卓也
(72)【発明者】
【氏名】大柿 高志
(72)【発明者】
【氏名】野呂 大祐
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2022-155752(JP,A)
【文献】特開2022-53099(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 15/04
(57)【特許請求の範囲】
【請求項1】
音声通話に参加する複数のクライアント装置への音声データの配信を制御する音声配信システムであって、
前記複数のクライアント装置における音声入力に基づいた音声データを取得する音声取得手段と、
1つのクライアント装置から取得した音声データを、前記複数のクライアント装置のうちの当該1つのクライアント装置を除くクライアント装置に配信する音声配信手段と、
前記複数のクライアント装置からの歌唱要求を受け付ける受付手段と、
前記歌唱要求が受け付けられたことに応じて前記複数のクライアント装置を分類する分類手段と、
を有し、
前記歌唱要求を受け付けた場合に、
前記分類手段は当該歌唱要求に応じて、歌唱を行わせる第1クライアント装置と歌唱を行わせない第2クライアント装置とに前記複数のクライアント装置を分類し、
前記音声配信手段は、前記第1クライアント装置から取得した第1音声データを前記第2クライアント装置に配信する一方で、前記第2クライアント装置から取得した第2音声データを前記第1クライアント装置に配信しない
ことを特徴とする音声配信システム。
【請求項2】
前記音声配信手段は、前記歌唱要求を受け付けた場合に、前記第1音声データと前記第2音声データとを並行して前記第2クライアント装置に配信することを特徴とする請求項1に記載の音声配信システム。
【請求項3】
前記音声配信手段は、前記歌唱要求を受け付けた場合に、前記第1音声データと前記第2音声データとを合成せずに前記第2クライアント装置に配信することを特徴とする請求項1に記載の音声配信システム。
【請求項4】
前記音声配信手段は、前記第2音声データよりも高いビットレートで前記第1音声データを配信することを特徴とする請求項1に記載の音声配信システム。
【請求項5】
前記分類手段は、前記第1クライアント装置における歌唱の終了に応じて前記複数のクライアント装置の分類を解除することを特徴とする請求項1に記載の音声配信システム。
【請求項6】
前記複数のクライアント装置の各々は、
音声入力に基づいて音声データを生成する生成手段と、
前記生成手段により生成された音声データを送出する音声送信手段と、
前記音声配信手段により配信された音声データを受信して再生する音声再生手段と、
を有し、
前記第2クライアント装置の前記音声再生手段は、受信した前記第1音声データと前記第2音声データとを並行して再生する
ことを特徴とする請求項1乃至5のいずれか1項に記載の音声配信システム。
【請求項7】
前記音声通話は、仮想空間に配置された前記複数のクライアント装置の各々に対応付けられたアバタの表示を伴って行われるものであり、
前記音声配信システムは、
前記複数のクライアント装置の各々から、当該クライアント装置に対応付けられたアバタの状態に関する状態データを取得する状態取得手段と、
前記状態取得手段により取得された状態データを前記複数のクライアント装置に共有する共有手段と、
をさらに有し、
前記複数のクライアント装置の各々は、
当該クライアント装置に対応付けられたアバタに係る状態データを送出する状態送信手段と、
前記共有手段により共有された状態データに基づいて、前記複数のクライアント装置の各々に対応付けられたアバタが配置された前記仮想空間を表示手段に表示させる表示制御手段と、
をさらに有する
ことを特徴とする請求項6に記載の音声配信システム。
【請求項8】
前記第1クライアント装置の前記表示制御手段は、前記歌唱要求に対応する歌詞を示す歌詞オブジェクトがさらに配置された前記仮想空間を前記表示手段に表示させることを特徴とする請求項7に記載の音声配信システム。
【請求項9】
前記仮想空間は、前記歌唱要求を受け付けていない場合に前記複数のクライアント装置の各々に対応付けられたアバタが配置される第1エリアと、当該第1エリアに隣接し、前記歌唱要求を受け付けた場合に前記第1クライアント装置に対応付けられたアバタが配置される第2エリアと、を含み、
前記歌詞オブジェクトは、前記第1エリアに配置される
ことを特徴とする請求項8に記載の音声配信システム。
【請求項10】
前記歌詞オブジェクトは、前記第2クライアント装置に対応付けられたアバタよりも前記第2エリアから遠離した位置に配置されることを特徴とする請求項9に記載の音声配信システム。
【請求項11】
前記第2エリアには、情報表示を行う表示オブジェクトがさらに配置され、
前記表示制御手段は、前記歌唱要求を受け付けた場合に、当該歌唱要求に対応する歌詞を前記表示オブジェクトを介して前記表示手段に表示させることを特徴とする請求項9に記載の音声配信システム。
【請求項12】
前記音声配信手段は、前記歌唱要求を受け付けた場合に、当該歌唱要求に対応する楽曲データを前記第1クライアント装置に配信することを特徴とする請求項6に記載の音声配信システム。
【請求項13】
前記第1クライアント装置において、
前記音声再生手段は、前記楽曲データを再生し、
前記生成手段は、少なくとも前記楽曲データの再生中の音声入力に基づいて前記第2音声データを生成する
ことを特徴とする請求項12に記載の音声配信システム。
【請求項14】
前記第1クライアント装置の前記生成手段は、前記楽曲データの再生中の音声入力に基づく音声データと前記楽曲データとを合成することで前記第2音声データを生成することを特徴とする請求項13に記載の音声配信システム。
【請求項15】
音声通話に参加する複数のクライアント装置への音声データの配信を制御する音声配信方法であって、
前記複数のクライアント装置における音声入力に基づいた音声データを取得する音声取得工程と、
1つのクライアント装置から取得した音声データを、前記複数のクライアント装置のうちの当該1つのクライアント装置を除くクライアント装置に配信する音声配信工程と、
前記複数のクライアント装置からの歌唱要求を受け付ける受付工程と、
前記歌唱要求が受け付けられたことに応じて前記複数のクライアント装置を分類する分類工程と、
を有し、
前記歌唱要求を受け付けた場合に、
前記分類工程において、当該歌唱要求に応じて、歌唱を行わせる第1クライアント装置と歌唱を行わせない第2クライアント装置とに前記複数のクライアント装置が分類され、
前記音声配信工程において、前記第1クライアント装置から取得した第1音声データを前記第2クライアント装置に配信させる一方で、前記第2クライアント装置から取得した第2音声データを前記第1クライアント装置に配信させない
ことを特徴とする音声配信方法。
【請求項16】
音声通話に参加する複数のクライアント装置への音声データの配信を制御するプログラムであって、
コンピュータに、
前記複数のクライアント装置における音声入力に基づいた音声データを取得する音声取得処理と、
1つのクライアント装置から取得した音声データを、前記複数のクライアント装置のうちの当該1つのクライアント装置を除くクライアント装置に配信する音声配信処理と、
前記複数のクライアント装置からの歌唱要求を受け付ける受付処理と、
前記歌唱要求が受け付けられたことに応じて前記複数のクライアント装置を分類する分類処理と、
を実行させ、
前記歌唱要求を受け付けた場合に、
前記分類処理において、当該歌唱要求に応じて、歌唱を行わせる第1クライアント装置と歌唱を行わせない第2クライアント装置とに前記複数のクライアント装置が分類され、
前記音声配信処理において、前記第1クライアント装置から取得した第1音声データを前記第2クライアント装置に配信させる一方で、前記第2クライアント装置から取得した第2音声データを前記第1クライアント装置に配信させない
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声配信システム、音声配信方法及びプログラムに関し、特に両眼立体視コンテンツの配信技術に関する。
【背景技術】
【0002】
オンライン会議システムを利用してオンラインのカラオケを実現するオンラインカラオケサーバ装置がある(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、オンライン会議システムでは、サーバを介して参加者の音声データを送受信するため、必然的に参加者が発話したタイミングから遅延して他の参加者に発話内容が伝達される。従って、このようなシステム環境下でカラオケを行った場合、いずれか参加者の歌唱中、他の参加者がリアクションしたり楽曲に合わせて歌ったりして発生した音声が歌唱者に遅延して伝達することで、歌唱者の歌唱体験が損なわれ得る。
【0005】
故に、従前のオンラインカラオケサービスでは、いずれかの参加者が歌唱中である場合には、通話機能を中断する運用がなされているが、参加者同士が歌唱の都度コミュニケーションできなくなるため興趣性が低減し得る。
【0006】
本発明は、上述の問題点に鑑みてなされたものであり、興趣性の高いオンラインカラオケサービスを提供する音声配信システム、音声配信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
前述の目的を達成するために、本発明の音声配信システムは、音声通話に参加する複数のクライアント装置への音声データの配信を制御する音声配信システムであって、複数のクライアント装置における音声入力に基づいた音声データを取得する音声取得手段と、1つのクライアント装置から取得した音声データを、複数のクライアント装置のうちの当該1つのクライアント装置を除くクライアント装置に配信する音声配信手段と、複数のクライアント装置からの歌唱要求を受け付ける受付手段と、歌唱要求が受け付けられたことに応じて複数のクライアント装置を分類する分類手段と、を有し、歌唱要求を受け付けた場合に、分類手段は当該歌唱要求に応じて、歌唱を行わせる第1クライアント装置と歌唱を行わせない第2クライアント装置とに複数のクライアント装置を分類し、音声配信手段は、第1クライアント装置から取得した第1音声データを第2クライアント装置に配信する一方で、第2クライアント装置から取得した第2音声データを第1クライアント装置に配信しないことを特徴とする。
【発明の効果】
【0008】
このような構成により本発明によれば、興趣性の高いオンラインカラオケサービスを提供することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態及び変形例に係る音声配信システムの構成を例示した図
【
図2】本発明の実施形態及び変形例に係る配信サーバ100のハードウェア構成を例示したブロック図
【
図3】本発明の実施形態及び変形例に係るクライアント装置200のハードウェア構成を例示したブロック図
【
図4】本発明の実施形態及び変形例に係るカラオケルームを説明するための図
【
図5】本発明の実施形態及び変形例に係るカラオケ機能の利用時に提示される画面例を示した図
【
図6】本発明の実施形態及び変形例に係る配信サーバ100において実行される音声配信処理を例示したフローチャート
【発明を実施するための形態】
【0010】
[実施形態]
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴は任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0011】
以下に説明する一実施形態は、音声配信システムの一例としての、複数のクライアント装置が参加した音声通話サービスと並行してオンラインカラオケサービスを提供することが可能な音声配信システムに、本発明を適用した例を説明する。しかし、本発明は、複数のクライアント装置から取得した音声通話に係る音声データと、いずれかのクライアント装置において入力された歌唱に係る音声データのクライアント装置への配信制御を行うことが可能な任意のシステムに適用可能である。
【0012】
《音声配信システムの構成》
以下、本実施形態の音声配信システムの構成を
図1を参照して説明する。
【0013】
図示されるように本実施形態の音声配信システムを構成する装置は、サービスを利用するユーザが使用するクライアント装置200が含まれるユーザ側と、これらクライアント装置200に対してサービスを提供する提供側とに分けられる。
図1では、提供側の装置として、配信サーバ100、API(Application Programming Interface)サーバ140、データサーバ150、ボイスチャット(VC)サーバ160が含まれている。これらの装置はネットワーク300を介して通信接続可能に構成される。
【0014】
ここで、APIサーバ140は、サービスの各種機能をクライアント装置200に提供するためのインタフェースの役割を有し、クライアント装置200からの各種機能の利用に係る要求を受信して処理する。ユーザは、例えばクライアント装置200において専用のサービスアプリケーションを実行することで、音声配信システムにより提供されるサービスを利用することができる。従って、APIサーバ140は、ユーザがサービスアプリケーション上で行った操作入力に基づいて送出された要求を取得し、提供側の各装置に必要な処理を行わせる。
【0015】
音声配信システムが提供するサービスは音声通話機能をユーザに提供する。当該音声通話機能は、VCサーバ160を介して提供される。VCサーバ160は、サービスアプリケーションを介してクライアント装置200における音声入力に基づいた通話に係る音声データ(以下、通話音声データとして言及)を取得する。VCサーバ160は、通話音声データを取得すると必要に応じて当該音声データを処理し、通話相手のユーザが使用するクライアント装置200に順次配信する。このようなVCサーバ160の動作により、サービスを利用中であって通話参加中のユーザ同士は音声通話をすることができる。
【0016】
またサービスは、音声通話機能に加えてカラオケ体験を提供する機能(以下、カラオケ機能として言及)も提供する。詳細は後述するが、カラオケ機能を利用することにより、例えばホストとなるユーザが招待した複数のユーザが使用するクライアント装置200がグループとして管理され、当該グループ内のクライアント装置200において音声通話及び歌唱音声(カラオケ音声)の配信を行うことができる。カラオケ機能のうち、グループに参加中のユーザ同士の音声通話は、カラオケ機能を利用していない場合と同様にVCサーバ160が担う。一方、参加者により行われたカラオケ音声データの配信は、配信サーバ100が担う。配信サーバ100は、歌唱を行うユーザが使用するクライアント装置200から、当該クライアント装置200における音声入力に基づいて生成されたカラオケ音声データを取得し、グループに参加中の他のユーザが使用するクライアント装置200に順次配信する。以下の説明では、1つのグループとしてカラオケ機能を利用する複数のユーザのうち、歌唱を行うユーザを「シンガー」、歌唱を行わない、即ち、シンガーの歌唱を観賞するユーザを「オーディエンス」として峻別する。歌唱は1人のユーザに固定されるものでなく、カラオケ機能を利用中のユーザはその利用状況によってシンガーとオーディエンスのいずれにもなり得る。
【0017】
カラオケ機能に係る楽曲データ(例えば、伴奏に係るMIDIデータ(伴奏音源データ)やメロディラインのデータ、歌詞のデータ等を含む)は、本実施形態の音声配信システムではデータサーバ150から供給される。データサーバ150は、サービスのカラオケ機能において歌唱可能な楽曲について楽曲データを格納している。APIサーバ140は、シンガーのクライアント装置200から歌唱する楽曲を指定する情報を取得すると、データサーバ150に格納された対応する楽曲データにアクセスするための情報(以下、楽曲情報として言及)をクライアント装置200に返送する。これにより、シンガーのクライアント装置200で実行されるサービスアプリケーションはデータサーバ150の楽曲データをダウンロードすることができる。楽曲データをダウンロードすると、サービスアプリケーションは伴奏音源を再生し、シンガーはこれに合わせて歌唱することでカラオケを行うことができる。上述したように、サービスアプリケーションはシンガーの歌唱した音声入力に基づいてカラオケ音声データを生成して配信サーバ100に送出し、当該音声データが配信サーバ100を介してオーディエンスのクライアント装置200に配信される。
【0018】
なお、本実施形態の音声配信システムで提供されるサービスは、カラオケ体験の興趣性を増大すべく、少なくともカラオケ機能の提供にあたり利用グループに対してカラオケルームに対応する仮想空間を設け、当該仮想空間内においてユーザ間の視覚的なコミュニケーションを可能ならしめる。仮想空間には各ユーザに対応するアバタが配置され、クライアント装置200において当該仮想空間が描画されて表示されることで、ユーザは他のユーザと共にカラオケルームにてカラオケを行っている様子を視覚的に観賞することができる。本実施形態では、クライアント装置200はHMD等の両眼立体視コンテンツを観賞可能な装置であるものとし、サービスアプリケーションは、仮想空間の様子を左眼用の視点と右眼用の視点のそれぞれについて描画させることで、あたかもカラオケルーム内にユーザが存在しているかの如く観賞体験を提供する。
【0019】
仮想空間に各ユーザの分身として配置されるアバタの状態(挙動)は、当該ユーザの使用するクライアント装置200においてなされた入力に基づいて制御される。アバタの状態制御は、ユーザによりなされた移動や表情変更に係る操作入力やエモート選択に係る操作入力等に基づいて行われるものであってもよいし、ユーザの発話した音声や、HMDやコントローラの位置/姿勢の変化の検出結果に基づいて行われるものであってもよい。このようなアバタの状態制御に用いられる状態データは、各クライアント装置200からAPIサーバ140を介して取得され、配信サーバ100によって他のクライアント装置200に共有される。そして各クライアント装置200では、サービスアプリケーションは配信サーバ100を介して共有された各アバタの状態データに基づいて仮想空間に配置する各アバタの状態を変更し、当該仮想空間を当該クライアント装置200に対応するアバタの視点に基づいて描画させることでカラオケ機能に係る両眼立体視映像をユーザに提示する。ここで、アバタの視点は、例えばアバタ頭部の位置とその正面が向いている方向とに基づいて設定することができる。配信サーバ100は、この他、歌唱が行われる楽曲の情報、カラオケルーム内に配置されるオブジェクトの状態を示す情報や発生する演出の情報等をグループのクライアント装置200に共有するためにも用いられる。
【0020】
このように本実施形態の音声配信システムにおいて提供されるサービスは仮想空間を介したユーザ間のコミュニケーションを実現するため、以下では当該サービスを「メタバースサービス」として言及する。
【0021】
〈配信サーバ100の構成〉
ここで、本実施形態の配信システムに係る配信サーバ100のハードウェア構成を、
図2のブロック図を参照して説明する。
【0022】
制御部101は、例えばCPUであり、配信サーバ100が有する各ブロックの動作を制御する。具体的には制御部101は、例えば記憶装置102に記録されている各ブロックの動作プログラムを読み出し、メモリ103に展開して実行することにより各ブロックの動作を制御する。
【0023】
記憶装置102は、例えば不揮発性メモリやHDD等の、恒久的にデータを保持可能な記録装置である。記憶装置102は、配信サーバ100が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要となるパラメータ等の情報を記憶する。記憶装置102は、カラオケ機能の提供に係り必要な情報を管理するデータベース(DB)も兼ねる。本実施形態の配信サーバ100では記憶装置102は、カラオケ機能において歌唱可能な楽曲の楽曲データや、カラオケルームの外観構成等のカラオケルームを表示するための基本的な情報を管理するマスタDB110を含む。また記憶装置102は、サービスアプリケーションを利用するユーザについての情報を管理するユーザDB120も含む。ユーザDB120は、例えば、各ユーザに対応するアバタの外観を特定するための情報の管理や、カラオケ機能の利用時にオーディエンスからシンガーに贈られたギフト等の管理に用いられる。また記憶装置102は、現在開設されているカラオケルームを管理するルームDB130を含む。
【0024】
なお、本実施形態では、配信サーバ100の記憶装置102が各種DBとして機能するものとして説明するが、本発明の実施はこれに限られるものではない。マスタDB110、ユーザDB120、及びルームDB130の少なくともいずれかは、配信サーバ100とは異なる外部のデータベースサーバ等を利用してもよいことは言うまでもない。
【0025】
メモリ103は、例えば揮発性メモリ等の一時的なデータ記憶に使用される記憶装置である。メモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力されたデータ等を一時的に記憶する格納領域としても用いられる。メモリ103は、カラオケ機能の利用時において、グループのクライアント装置200に共有/配信すべき情報が一時的に蓄積されるキャッシュとしても機能する。
【0026】
通信I/F104は、配信サーバ100が有する外部装置との通信インタフェースである。通信I/F104は、ネットワーク300(有線・無線を問わない)を介して外部装置と接続し、データの送受信を可能とすることができる。通信I/F104は、例えば送信対象として入力された情報を所定の形式のデータに変換し、ネットワーク300を介して外部装置に送信する。また通信I/F104は、例えばネットワーク300を介して外部装置から情報を受信すると、必要に応じて該情報を復号してメモリ103に格納する。
【0027】
〈クライアント装置200の構成〉
続いて、本実施形態のクライアント装置200のハードウェア構成を、
図3のブロック図を参照して説明する。
【0028】
制御部201は、例えばCPUであり、クライアント装置200が有する各ブロックの動作を制御する。具体的には制御部201は、例えば記憶装置202に記録されている各ブロックの動作プログラムや、サービスアプリケーションのプログラムを読み出し、メモリ203に展開して実行することにより各ブロックの動作を制御する。
【0029】
記憶装置202は、例えば不揮発性メモリやHDD等の、恒久的にデータを保持可能な記録装置である。記憶装置202は、クライアント装置200が有する各ブロックの動作プログラム及びサービスアプリケーションのプログラムに加え、各ブロックの動作において必要となるパラメータ等の情報を記憶する。メモリ203は、例えば揮発性メモリ等の一時的なデータ記憶に使用される記憶装置である。メモリ203は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力されたデータ等を一時的に記憶する格納領域としても用いられる。
【0030】
描画装置204は、例えばGPUやグラフィックチップ等の描画装置である。描画装置204は、メタバースサービスの利用中、仮想空間の両眼立体視を可能ならしめる画面を生成する。カラオケ機能の利用中においては、描画装置204は、参加中のカラオケルームに関して受信した各種情報(アバタの状態、カラオケルームの状態等)に基づいて描画処理を実行する。より詳しくは描画装置204は、カラオケルームに対応する3次元空間に各参加ユーザのアバタをその状態データに基づいた態様で配置する。そして描画装置204は、アバタを配置した状態の3次元空間をクライアント装置200のユーザに係るアバタの視点に基づいて描画することで、左眼用及び右眼用の画面を生成する。ユーザの頭部の動きに応じて当該視点のパラメータを変更することで、ユーザがあたかもライブ会場にいるかの如き観賞体験を提供することができる。ここで、ユーザの頭部の動きは、例えば表示装置230であるHMDに内蔵された姿勢センサ231のセンサ出力に基づいて特定されてよい。姿勢センサ231は、例えば加速度センサやジャイロセンサ等であってよく、後述の入力I/F205を介して姿勢センサ231のセンサ出力が取得される。描画装置204により生成された画面は、出力I/F206を介して表示装置230に表示される。
【0031】
入力I/F205は、クライアント装置200が備える種々の入力を受け付けるインタフェースである。本実施形態のクライアント装置200では、表示装置230が備える姿勢センサ231からのセンサ出力の取得だけでなく、例えばコントローラやキーボード等の入力装置210においてなされた操作入力に関する情報を入力I/F205は取得する。入力I/F205は、受け付けられた入力に関する情報を例えばメモリ203に格納する。この他、入力I/F205は、マイク220を介して入力された音声信号も取得する。入力I/F205は、受け付けられた入力に関する情報を、必要に応じてA/D変換処理等を実行して所定の形式のデータに変換して例えばメモリ203に格納する。
【0032】
出力I/F206は、クライアント装置200が備える情報提示のための各種情報出力を行うインタフェースである。本実施形態のクライアント装置200では、ユーザに対するカラオケ体験を提供するために、カラオケルームに係る3次元空間を示す画面の表示装置230への表示、及びカラオケ体験に係る音声データのスピーカ232からの出力が出力I/F206を介して行われる。
【0033】
通信I/F207は、クライアント装置200が有する外部装置との通信インタフェースである。通信I/F207は、ネットワーク300(有線・無線を問わない)を介して外部装置と接続し、データの送受信を可能とすることができる。通信I/F207は、例えば送信対象として入力された情報を所定の形式のデータに変換し、ネットワーク300を介してAPIサーバ140等の外部装置に送信する。また通信I/F207は、例えばネットワーク300を介して外部装置から情報を受信すると、必要に応じて該情報を復号してメモリ203に格納する。
【0034】
《カラオケ機能の概要》
以下、本実施形態の音声配信システムにおいて提供されるカラオケ機能の概要を説明する。
【0035】
サービスアプリケーション実行中のクライアント装置200において、カラオケ機能の利用に係る操作入力がなされたことにより、ユーザへのカラオケ機能に係るサービスの提供が開始される。カラオケ機能の利用に係る操作入力は、例えばメタバースサービスについて設けられたカラオケに係るメニューを選択することにより受け付けられるものであってもよいし、メタバースサービスについて設けられた仮想空間内で所定の施設に移動することにより受け付けられるものであってもよい。
【0036】
ホストとなるユーザ(以下、単にホストとして言及)は、サービスアプリケーションにおいて新規カラオケルームの開設に係る手続きを行う。当該手続きにより、ホストのクライアント装置200からAPIサーバ140にルーム開設要求が送信され、APIサーバ140はカラオケルームの開設に係る処理を行う。カラオケルームの開設に係る処理は、例えば、新規に開設するカラオケルームを一意に特定する識別情報(ルームID)を発行すること、当該カラオケルームについての音声通話チャネルをVCサーバ160に生成させること、ルームIDとホストのユーザIDと音声通話チャネルの情報とを新たなカラオケルームの情報(ルーム情報)としてルームDB130に登録すること、を含む。
【0037】
新規のカラオケルームが開設されると、ホストのクライアント装置200は、配信サーバ100から当該ルームの表示に用いられる各種の情報を取得し、当該ルーム内を示す画面の表示を開始し、当該ルームに入室した状態となる。またホストのクライアント装置200は、配信サーバ100から当該カラオケルームに対応するVCサーバ160の音声通話チャネルの接続先の情報を取得し、当該音声通話チャネルに接続して通話音声データの送受信を可能な状態となる。またホストのクライアント装置200には、開設したカラオケルームのルームIDが提供される。ホストは、例えばルームIDをSNSやメッセージアプリケーションを介して他のユーザに伝えることで、当該カラオケルームにゲストとして招待することができる。
【0038】
ゲストとなるユーザ(以下、単にゲストとして言及)は、サービスアプリケーションにおいて既設のカラオケルームへの入室に係る手続きを行う。入室するカラオケルームは、例えば、ホストから提供されたルームIDを入力することにより特定することができる。この他、カラオケルームが一般公開され、いずれのユーザであっても入室可能に構成される態様では、例えば入室可能なカラオケルームの一覧からルームを選択する操作入力に基づいて特定されるものであってもよい。当該手続きにより、ゲストのクライアント装置200のからAPIサーバ140に入室要求が送信され、APIサーバ140は対応するカラオケルームへの入室に係る処理を行う。カラオケルームの入室に係る処理は、例えば、ルームDB130にて管理される該当のルーム情報にゲストのユーザIDを追加することを含む。
【0039】
カラオケルームの入室に係る処理が完了すると、ゲストのクライアント装置200は、配信サーバ100から当該ルームの表示に用いられる各種の情報を取得し、当該ルーム内を示す画面の表示を開始し、当該ルームに入室した状態となる。またゲストのクライアント装置200は、配信サーバ100から当該カラオケルームに対応するVCサーバ160の音声通話チャネルの接続先の情報を取得し、当該音声通話チャネルに接続して通話音声データの送受信を可能な状態となる。
【0040】
カラオケルームに入室した状態(参加した状態)になると、ホスト及びゲストはVCサーバ160を介して音声通話を行いつつ、カラオケに係る各種メニューを利用することができる。各ユーザは、楽曲リストのうちから歌唱したい楽曲を選択してリクエスト操作を行うことができる。リクエスト操作がなされると、クライアント装置200からAPIサーバ140に対して歌唱要求が送出される。APIサーバ140は、歌唱要求がなされると配信サーバ100においてシンガーとなるユーザが決定される。複数のクライアント装置200からの歌唱要求が競合した場合には、制御部101は、所定のルールに基づいてこのうちの1つのクライアント装置200のユーザをシンガーとして決定する。シンガーが決定すると、カラオケルームに参加中の他のユーザはオーディエンスとなる。即ち、制御部101は、歌唱要求が受け付けられたことに応じて、参加中のユーザの使用するクライアント装置200を、シンガーのクライアント装置200とオーディエンスのクライアント装置200とに分類して、カラオケ実行中の音声配信の制御を行う。本実施形態では、シンガーとなるユーザの決定から、シンガーによる楽曲の歌唱(カラオケ)が完了する、即ち、当該シンガーのクライアント装置200からのカラオケ音声データの受信が完了する(歌唱終了に係る情報を受信する)までの期間を、シンガーによる「カラオケ実行中」として言及する。
【0041】
上述したように、オンラインでカラオケを行う場合、オーディエンスの通話音声はシンガーの好適な歌唱体験を妨げる。このため本実施形態の音声配信システムでは、制御部101は、カラオケ実行中、シンガーのクライアント装置200をカラオケルームに対応する音声通話チャネルからの通話音声データを受信させないようにする制御を行う。当該制御は、例えば、音声通話チャネルからの一時離脱命令が配信サーバ100からシンガーのクライアント装置200に送出されたことに応じて、サービスアプリケーションが音声通話チャネルから離脱する処理を行うことにより実現することができる。あるいは、当該制御は、シンガーのクライアント装置200との通話音声データの送受信を行わないようVCサーバ160を動作させることによって実現されてもよい。
【0042】
また制御部101は、歌唱する楽曲(以下、対象楽曲として言及)のカラオケを開始するために必要な情報(必要情報)をキャッシュに蓄積し、各クライアント装置200に配信する。必要情報には、例えばシンガーとなったユーザを示す情報、対象楽曲を示す情報、対象楽曲の楽曲データへのパスの情報が含まれる。シンガーのクライアント装置200では、当該必要情報に基づいてデータサーバ150からの楽曲データのダウンロードが行われる。即ち、配信サーバ100からシンガーのクライアント装置200に必要情報が送信されることで、音声配信システム内においては提供側からユーザ側への楽曲データの配信が実現される。
【0043】
そしてサービスアプリケーションは、ダウンロードされた楽曲データに基づいてシンガーにカラオケ体験を提供する。より詳しくは、サービスアプリケーションは、受信した楽曲データに基づいて、対象楽曲の伴奏音源データの再生、歌詞表示を行いつつ、入力された音声をボーカル音声データとして収録する。収録されたボーカル音声データは、順次メモリ203に蓄積され、当該ボーカル音声データと伴奏音源データとが合成されることでカラオケ音声データが生成され、順次配信サーバ100に送出される。
【0044】
ここで、シンガーのクライアント装置200における伴奏音源データの再生と、これに合わせてシンガーが入力した音声信号がボーカル音声データとして格納されるまでにはタイムラグが発生する。故に、カラオケ音声データの生成にあたっては、伴奏音源データとボーカル音声データとをタイミング調整して合成する処理を行う。サービスアプリケーションは、例えば伴奏音源データを再生タイミングからタイムラグ分遅延させ、そのとき生成されたボーカル音声データと合成することにより、タイミングが調整されたカラオケ音声データを生成する。
【0045】
なお、タイムラグの程度は、クライアント装置200の性能、クライアント装置200に採用されているオペレーティングシステム、クライアント装置200に接続されている音声入力機器等によって変化し得る。故に、サービスアプリケーションはタイムラグの程度を特定して合成処理を実行する。簡易的には、サービスアプリケーションは、クライアント装置200に採用されているオペレーティングシステムごとに予め定められたタイムラグの情報(遅延時間)を取得して合成処理を行うことができる。
【0046】
このようにすることで、シンガーのクライアント装置200から配信サーバ100に対して、好適な状態のカラオケ音声データが伝達される。配信サーバ100は、シンガーのクライアント装置200からカラオケ音声データを取得すると、オーディエンスのクライアント装置200に対して当該音声データを配信する。即ち、配信サーバ100はカラオケ実行中、オーディエンスのクライアント装置200から取得した通話音声データはシンガーのクライアント装置200に配信されないよう制御する一方で、シンガーのクライアント装置200から取得したカラオケ音声データはオーディエンスのクライアント装置200に配信されるよう制御する。また、オーディエンスのクライアント装置200は、カラオケ実行中も音声通話チャネルに接続した状態であるため、当該クライアント装置200にはカラオケ実行中、カラオケ音声データと通話音声データとが提供側からユーザ側に並行して配信される。即ち、オーディエンスは、カラオケ実行中において、シンガーが対象楽曲を歌唱している音声を観賞しつつ、他のオーディエンスと音声通話をすることができる。
【0047】
ところで、シンガーの歌唱体験を損なわないようにするとの観点では、オーディエンスに係る通話音声データをシンガーのクライアント装置200に配信しないよう制御するだけでも足りる。即ち、音声通話チャネルを利用してカラオケ音声データをオーディエンスのクライアント装置200に配信する手法でも、シンガー自体の歌唱体験は損なわれない。一方で、VCサーバ160により実現される音声通話は、リアルタイム性が要求されるというサービスの性質上、各クライアント装置200から受信する通話音声データはビットレートが少なく設定されている。また、他のユーザの通話音声データが合成されることによって音声が途切れたりする等、音声通話では観賞に堪える音質でカラオケ音声データがオーディエンスに提供されない可能性がある。故に、本実施形態の音声配信システムは、サービスアプリケーションは、通話音声データよりも高いビットレートでカラオケ音声データを生成し、音声通話チャネルを介して他の通話音声データと合成させるのではなく、配信サーバ100を介して独立してカラオケ音声データを配信するよう構成されている。これにより、好適な態様でシンガーの歌唱する様をオーディエンスが観賞することができる。
【0048】
シンガーによる対象楽曲のカラオケが終了すると、制御部101は、カラオケルームの参加ユーザの分類を解除する。即ち、制御部101は、カラオケ実行中に行っていたシンガーのクライアント装置200とオーディエンスのクライアント装置200とで音声配信を異ならせる制御を終了し、クライアント装置200の分類も解除する。また制御部101は、シンガーであったユーザのクライアント装置200をカラオケルームに対応する音声通話チャネルからの通話音声データを再び受信させるようにする制御を行う。当該制御は、例えば、音声通話チャネルへの再接続命令が配信サーバ100からシンガーであったユーザのクライアント装置200に送出されたことに応じて、サービスアプリケーションが音声通話チャネルに再接続する処理を行うことにより実現することができる。これによりシンガーであったユーザは、再度音声通話に復帰することができ、カラオケ実行前と同様に参加ユーザ同士での会話を再開できる。
【0049】
〈表示制御〉
カラオケへの没入感を高めるべく、カラオケルームは例えば
図4に示されるような構造で設けられる。
図4の例ではカラオケルームは、ステージエリア401と観賞エリア402とに区切られて、それぞれで役割が異なっている。ステージエリア401と観賞エリア402とは隣接しており、例えばステージエリア401は観賞エリア402よりも高い位置にそのフロア面が設けられる。
【0050】
カラオケが実行されていない期間は、全参加ユーザのアバタは観賞エリア402に配置される。即ち、全参加ユーザは、観賞エリア402にて他のユーザと音声通話を楽しむことができる。一方、カラオケ実行中は、オーディエンスとなったユーザのアバタ404は観賞エリア402に配置され続けるが、シンガーとなったユーザのアバタ403はステージエリア401に配置が変更される。シンガーとなったユーザは、そのアバタ403が観賞エリア402の方向を向いた状態でステージエリア401に配置されるため、ステージ上から観賞エリア402にいるオーディエンスのアバタ404を一望できる。即ち、カラオケ実行中、シンガーのアバタ403とオーディエンスのアバタ404とは、ステージエリアと観賞エリアの境界を介して対向した状態となる。このようにすることで、カラオケを行うシンガーには、ステージ上にてオーディエンスに注目された状態での歌唱体験を提供することができる。またオーディエンスには、ステージにて行われるシンガーの歌唱パフォーマンスを、他のオーディエンスと音声通話をしながら観賞する体験を提供することができる。
【0051】
またステージエリア401には、例えばスクリーンやモニタ等の表示装置のオブジェクト(以下、モニタオブジェクトとして言及)405が配置され、カラオケ実行中の演出表示や歌詞表示等の各種情報表示が行われる。即ち、モニタオブジェクト405の情報表示面に適用されるテクスチャの内容は、例えば受信した必要情報や配信サーバ100から順次供給される情報に基づいて動的に変化させることができる。本実施形態ではモニタオブジェクト405には、カラオケ実行中は対象楽曲の歌詞が表示される。
【0052】
当該歌詞表示は、シンガーが歌唱時に歌詞を確認するために表示されているものではなく、主としてオーディエンスに対象楽曲の歌詞を知らしめるために用いられる。従って、モニタオブジェクト405は、
図4に示されるようにステージエリア401において、観賞エリア402から見てシンガーのアバタ403よりも遠離した位置に配置されている。即ち、オーディエンスは、モニタオブジェクト405を捉えるように視点を調整することで、
図5(a)に示されるようにモニタオブジェクト405を介して対象楽曲の歌詞を知ることができる。
【0053】
一方、シンガーがモニタオブジェクト405に表示された歌詞を確認しながらカラオケを行うとしてしまうと、ステージエリア401においてシンガーのアバタ403がオーディエンスのアバタ404に背を向ける態様となり、特にオーディエンスにとって好適な観賞体験とならない。このため、シンガーに対しては異なる態様で対象楽曲の歌詞の提示が行われる。シンガーに対する歌詞提示は、観賞エリア402に歌詞に対応した歌詞オブジェクト406を配置することにより行われる。歌詞オブジェクト406は、例えば歌詞を示す文字列画像を適用した平板オブジェクトとして構成することができる。即ち、歌詞オブジェクト406が示す文字列は、例えば楽曲データと共に受信した歌詞情報に基づいて動的に変化させることができる。
【0054】
歌詞オブジェクト406は、シンガーが歌唱時に歌詞を確認するために表示されるものであるため、歌詞オブジェクト406はシンガーのクライアント装置200においてのみ3次元空間に配置されるよう制御してもよい。従って、歌詞オブジェクト406は、
図4に示されるように観賞エリア402において、ステージエリア401から見てオーディエンスのアバタ404よりも遠離した位置に配置されている。即ち、シンガーは、歌詞オブジェクト406を捉えるように視点を調整することで、
図5(b)に示されるように歌詞オブジェクト406によって対象楽曲の歌詞を確認しつつ、自然にオーディエンスに向けて歌唱パフォーマンスを行っているよう、アバタ403の挙動を制御することができる。
【0055】
《音声配信処理》
以下、本実施形態の音声配信システムにおいて行われる音声配信処理について、
図6のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、配信サーバ100の制御部101が、例えば記憶装置102に記憶されている対応する処理プログラムを読み出し、それぞれのメモリ103に展開して実行することにより実現することができる。なお、本音声配信処理は、所定のカラオケルーム(以下、対象ルームとして言及)に参加中のいずれかのクライアント装置200からAPIサーバ140が歌唱要求を受信した場合に実行されるものとして説明する。また詳細は説明しないが、制御部101は、本音声配信処理に限らず対象ルームが開設されている期間、当該対象ルームに参加中のクライアント装置200から通話音声データを順次取得させ、当該通話音声データをその送信元と異なるクライアント装置200に順次配信させるようVCサーバ160を制御するものとする。通話音声データの配信にあたり、VCサーバ160は必要に応じて複数の通話音声データを合成してもよい。
【0056】
S601で、制御部101は、歌唱要求に基づいてシンガーを決定する。また制御部101は、歌唱要求に基づいて対象ルームに参加中のクライアント装置200をシンガーのクライアント装置200とオーディエンスのクライアント装置200に分類する。
【0057】
S602で、制御部101は、シンガーのクライアント装置200を対象ルームに係る音声通話チャネルからの通話音声データを受信しない状態に制御する。本ステップの処理は、通信I/F104を介してシンガーのクライアント装置200に音声通話チャネルからの一時離脱命令を送信することにより行われる。当該一時離脱命令を受けて、シンガーのクライアント装置200で実行されているサービスアプリケーションは、接続中であった音声通話チャネルから離脱する処理を行う。
【0058】
S603で、制御部101は、歌唱要求に係る対象楽曲について必要情報をメモリ103に蓄積し、その後対象ルームに参加中のクライアント装置200に対して当該必要情報を配信する。必要情報を受信すると、シンガーのクライアント装置200で実行されているサービスアプリケーションは、楽曲データのダウンロードを開始し、その後対象楽曲のカラオケを開始可能な状態になるとその旨を示す情報をルームDB130に送出する。
【0059】
S604で、制御部101は、シンガーのクライアント装置200がカラオケ開始可能な状態になったか否かを判断する。制御部101は、シンガーのクライアント装置200がカラオケ開始可能な状態になったと判断した場合は処理をS605に移し、カラオケ開始可能な状態になっていないと判断した場合は本ステップの処理をくり返す。
【0060】
S605で、制御部101は、シンガーのクライアント装置200からカラオケ音声データの取得を開始する。また制御部101は、カラオケ音声データを取得すると、通信I/F104を介して当該カラオケ音声データをオーディエンスのクライアント装置200に配信する。これにより、オーディエンスのクライアント装置200には、配信サーバ100からのカラオケ音声データとVCサーバ160からの通話音声データとが並行して配信される。またこのとき、対象ルームに参加中のクライアント装置200の各々では、サービスアプリケーションによりカラオケ実行中に係る表示制御も行われる。即ち、シンガーのアバタはステージエリアに配置され、モニタオブジェクト405には対象楽曲の歌詞のテクスチャが適用され、観賞エリアに対象楽曲に係る歌詞オブジェクトに配置された3次元空間が、カラオケルームとして各ユーザに提示される。
【0061】
S606で、制御部101は、シンガーによる対象楽曲のカラオケが終了したか否かを判断する。本ステップの判断は、例えばシンガーのクライアント装置200から歌唱終了に係る情報を受信したか否かに基づいて行われてよい。制御部101は、シンガーによる対象楽曲のカラオケが終了したと判断した場合は処理をS607に移し、終了していないと判断した場合は本ステップの処理をくり返す。
【0062】
S607で、制御部101は、シンガーのクライアント装置200を対象ルームに係る音声通話チャネルからの通話音声データを受信する状態に制御する。本ステップの処理は、通信I/F104を介してシンガーのクライアント装置200に音声通話チャネルへの再接続命令を送信することにより行われる。当該再接続命令を受けて、シンガーのクライアント装置200で実行されているサービスアプリケーションは、対象ルームに係る音声通話チャネルに再接続する処理を行う。
【0063】
S608で、制御部101は、歌唱要求に基づいて対象ルームに参加中のクライアント装置200の分類を解除し、本音声配信処理を完了する。
【0064】
以上説明したように、本実施形態の音声配信システムによれば、興趣性の高いオンラインカラオケサービスを提供することができる。より詳しくは、音声配信システムは、シンガーのクライアント装置200を音声通話から分離してカラオケ体験を提供する一方で、シンガーの歌唱に係るカラオケ音声データはオーディエンスのクライアント装置200に配信しつつ、オーディエンスのクライアント装置200間の音声通話を並行して実現することができる。換言すれば、シンガーは歌唱を妨げられることなくカラオケ体験を得ることができ、オーディエンスは他のオーディエンスと音声通話しつつ、シンガーによる歌唱を観賞することができる。
【0065】
なお、本実施形態の音声配信システムでは提供側の構成として、配信サーバ100、APIサーバ140、データサーバ150、VCサーバ160が各種機能を担うよう構成されるものとして説明したが、本発明の実施はこれに限られるものではない。提供側の各種機能は、その全てが1つの装置により提供されるものであってもよいし、任意の数の装置に分離して提供されるものであってもよい。
【0066】
また、本実施形態の音声配信システムではシンガーのクライアント装置200がボーカル音声データと伴奏音源データとを合成して生成したカラオケ音声データを配信サーバ100に送出するものとして説明したが、本発明の実施はこれに限られるものではない。例えば、シンガーのクライアント装置200が例えばタイムスタンプ等のボーカル音声データを伴奏音源データと同期させるための同期情報を付したボーカル音声データを送出し、配信サーバ100が当該同期情報に基づいてカラオケ音声データを生成してオーディエンスのクライアント装置200に配信してもよい。
【0067】
[変形例]
上述した実施形態では、仮想空間に配置された複数のアバタの表示を伴って音声通話機能やカラオケ機能を提供するメタバースサービスに本発明を適用した態様を説明したが、本発明の実施はこれに限られるものではない。本発明は、仮想空間に関する表示を伴って行われるものである必要はなく、単純に音声のみのコミュニケーションを提供するプラットフォームにて、参加する一部のクライアント装置200のユーザをシンガーとし、他のクライアント装置200のユーザをオーディエンスとする態様にも適用することができる。即ち、本発明の実施は、仮想空間に関する表示を伴うことを必須とするものではない。
【0068】
[その他の実施形態]
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【符号の説明】
【0069】
100:配信サーバ、101:制御部、102:記憶装置、103:メモリ、104:通信I/F、110:マスターDB、120:ユーザDB、130:ルームDB、140:APIサーバ、150:データサーバ、160:VCサーバ、200:クライアント装置、201:制御部、202:記憶装置、203:メモリ、204:描画装置、205:入力I/F、206:出力I/F、207:通信I/F、210:入力装置、220:マイク、230:表示装置、231:姿勢センサ、232:スピーカ、300:ネットワーク
【要約】 (修正有)
【課題】興趣性の高いオンラインカラオケサービスを実現する音声配信システム、方法及びプログラムを提供する。
【解決手段】複数のクライアント装置からの歌唱要求を受け付ける受付手段と、歌唱要求が受け付けられたことに応じて複数のクライアント装置を分類する分類手段と、音声配信手段と、を有する音声配信システムであって、分類手段は、歌唱要求を受け付けた場合に、分類手段は歌唱要求に応じて、歌唱を行わせる第1クライアント装置と歌唱を行わせない第2クライアント装置とに複数のクライアント装置を分類し、音声配信手段は、第1クライアント装置から取得した第1音声データを第2クライアント装置に配信する一方で、第2クライアント装置から取得した第2音声データを第1クライアント装置に配信しない。
【選択図】
図6