以下、本発明の実施形態について、図面を参照しながら説明する。以下に説明する実施形態は、家庭及び店舗に設置されたカラオケシステムを介してユーザにカラオケサービスを提供するカラオケ用通信システムに対して、本発明の楽曲推薦システム及びプログラムを適用した場合の実施形態である。
なお、カラオケサービスとは、例えば、各ユーザが過去に歌唱した楽曲の一覧、お気に入りの楽曲の一覧及び、各種のお知らせの提供、楽曲を推薦する推薦楽曲の一覧を提供するとともに、他のユーザともコミュニケーションを図ることができるサービスである。
[1]カラオケ用通信システム
まず、図1を用いて本実施形態のカラオケ用通信システム1の概要構成について説明する。なお、図1は、本実施形態におけるカラオケ用通信システム1の構成を示すシステム構成図である。また、図が煩雑になることを防止するために、図1においては、一部のカラオケシステム10のみを示している。すなわち、実際のカラオケ用通信システム1においては、図1に表示するよりも多数のカラオケシステム10が存在している。
本実施形態のカラオケ用通信システム1は、家庭及び店舗に設置されるカラオケシステム10と、ネットワーク20と、ネットワーク20を介して新譜などの楽曲データをカラオケシステム10に提供する各種のデータを管理及びその提供を行うカラオケ用の管理サーバ装置30と、を有し、ユーザにカラオケを興じさせるためのシステムである。
特に、本実施形態のカラオケ用通信システム1は、複数のユーザによってカラオケ歌唱に興じるとともに、各ユーザのカラオケ歌唱における歌唱結果を採点し、その採点結果に基づいて対戦(以下、「カラオケ対戦」ともいう。)を行うことが可能なシステムである。
そして、本実施形態のカラオケ用通信システム1は、カラオケ対戦中に、各ユーザの歌唱レベルが異なっている場合であっても、歌唱結果に基づく採点結果において公平に競わせることが可能な構成を有している。
カラオケシステム10は、カラオケ店舗にある装置の他に、家庭用ゲーム機、パーソナルコンピュータ、携帯型電話機、スマートフォン、タブレット型情報端末装置などの装置である。
また、カラオケシステム10は、
(1)ユーザの選曲に基づいて、特定の楽曲データを取得する取得機能、
(2)取得した楽曲データを再生して楽音を出力させるとともに、楽音の出力に伴って当該楽曲の歌詞を表示する楽曲データ再生機能、
(3)歌唱終了後やその他のタイミングにおいて歌唱したユーザの採点を行う採点機能、及び、
(4)複数のユーザの対戦形式によって採点結果に基づいて対戦中又は対戦後に対戦結果の表示及び当該対戦の勝敗を決定する対戦機能、
を有している。
さらに、カラオケシステム10は、カラオケ対戦中に、歌唱結果に基づく採点結果の公平性を担保するために、各ユーザにカラオケ用の楽曲を推薦する推薦機能を有している。
特に、カラオケシステム10は、上記の推薦機能としては、カラオケ対戦中の各ユーザの採点結果及び選択された楽曲における過去の採点履歴を用いて歌唱レベルに統一性のある楽曲を推薦する構成を有している。
ネットワーク20は、例えば、携帯電話網を含む公衆電話網と、IP(Internet Protocol)ネットワークが相互接続されて構成される。ただし、当該ネットワーク20の構成は、これに限られない。
管理サーバ装置30は、
(1)楽曲音源データと、歌詞データ及びそれを表示制御する表示制御データから構成されるテロップデータと、選曲番号その他の識別番号に関する情報と、を含む新譜などの楽曲データと、
(2)ユーザ毎にユーザIDに対応付けられて、カラオケに関するサービスを受けるために登録されたカラオケに関する情報と、ユーザの属性を示す属性情報と、ユーザの嗜好情報と、ユーザが過去に歌唱した楽曲の履歴を示す歌唱履歴情報と、その歌唱履歴情報にある楽曲ごとの採点結果を含むユーザ情報と、を規定するユーザデータと、
が記録されるデータベース(以下、「DB」という。)300を有している。
また、管理サーバ装置30は、カラオケシステム10からの要求又は予め設定された条件に従って新譜などの楽曲データを当該カラオケシステム10に提供するとともに、所定のタイミングで、該当する楽曲データの採点情報をカラオケシステム10に提供する構成を有している。
このような構成を有することによって、本実施形態のカラオケ用通信システム1は、例えば、基準となる楽曲(後述のカラオケ対戦中に最初に選曲される楽曲(以下、「第1楽曲」ともいう。))の過去の採点結果の平均点と同様な平均点を有する楽曲など、歌唱レベルに統一性のある楽曲を推薦することができる構成を有している。
したがって、カラオケ用通信システム1は、歌唱レベルに統一性のある楽曲に基づいて採点を行うことによって、異なる楽曲をユーザが歌唱した場合であっても、それらの採点結果については、ユーザの歌唱レベルの差を適切に反映させることができるので、複数のユーザの対戦形式によってカラオケ歌唱に興ずる際に、歌唱結果に基づく採点結果において公平に競わせることができるようになっている。
[2]カラオケ装置
次に、図2を用いて本実施形態におけるカラオケシステム10について説明する。なお、図2は、本実施形態のカラオケシステム10の構成を示すブロック図である。
本実施形態におけるカラオケシステム10は、図2に示すように、ネットワーク20に通信接続され、管理サーバ装置30から新譜などの楽曲データ及び採点情報を取得する通信制御部110と、楽曲データを再生するカラオケ再生部120と、マイクロホンMから入力された音声信号に対して所定の処理を行う音声入力処理部130と、再生された楽曲データに対応してカラオケ用の楽音をスピーカSPに拡声させる拡声処理部131と、を有している。
また、カラオケシステム10は、楽曲データの再生中に背景画像、カラオケ画像及び歌詞を表示するための表示部140と、表示部140を制御する表示制御部150と、各種の情報に対応するデータ、管理サーバ装置30から取得した新譜を含む楽曲データ及びそれに対応した選曲番号が記録される記録部160と、操作部170と、制御部180と、ROM/RAM181と、タイマー182と、を有している。
そして、カラオケシステム10は、楽曲データの再生中に当該楽曲データとマイクロホンMから取得した音声信号とに基づいて採点を行うとともに、ランキングを含めてその結果を表示部140に表示する採点処理部200と、有している。
なお、カラオケシステム10の各部は、バスBによって相互に接続されており、データの授受を実行している。
通信制御部110は、制御部180の制御の下、ネットワーク20を介して管理サーバ装置30に接続して通信回線を構築し、新譜などの楽曲データの授受のための通信を行う。
また、操作部170によって入力された楽曲データを指定する選曲番号のデータ(以下、「選曲番号データ」という。)から記録部160に該当する楽曲がない場合に、通信制御部110は、管理サーバ装置30から、選曲番号データの選曲番号に対応付けられて記録されている楽曲データを取得し、カラオケ再生部120に出力するようになっている。
また、通信制御部110は、楽曲データの再生が終了するタイミング又はその他のタイミングにおいて、管理サーバ装置30から該当する楽曲データの採点情報を取得し、取得した採点情報を採点処理部200に提供する。
カラオケ再生部120は、制御部180の制御の下、操作部170を介して入力された選曲番号から出力された選曲番号データに基づいて、記録部160から取得又は通信制御部110を介して管理サーバ装置30から楽曲データを取得する。そして、カラオケ再生部120は、取得した楽曲データに基づいてMIDI音源を制御する再生処理を実行する。
また、カラオケ再生部120は、楽曲データの再生開始時に、楽曲データに基づいて記録部160に記録された背景画像データを選択して出力開始を指示する。
すなわち、カラオケ再生部120は、再生処理によって生成された楽音データを拡声処理部131に出力するとともに、歌詞データを表示部140に所定のタイミングにて出力する。
音声入力処理部130は、マイクロホンMから入力された信号を増幅その他の処理を実行しつつ、デジタル信号に変換し、拡声処理部131に出力するとともに採点処理部200に出力する。
表示部140は、例えば、有機EL(Electro−Luminescence)素子又は液晶表示素子によって構成され、表示制御部150によって出力される描画データに従って所定の映像信号を表示する。具体的には、描画データには、背景画像と、歌詞データが含まれる。特に、表示部140は、表示制御部150によって出力された描画データに基づいて、背景画像を表示しつつ、再生される楽曲に同期した歌詞データを表示する。
表示制御部150は、制御部180の制御の下、表示部140に所定の画像を描画させるために必要な描画データを生成し、生成した描画データを当該表示部140に出力する。
なお、表示制御部150は、楽曲データを再生する際に、当該楽曲データが有する曲調情報(具体的には、ジャンル情報)に基づいて取得した画像データやユーザによって提供された画像データを、背景画像を表示させるためのデータとして用いることが可能な構成を有している。
例えば、表示制御部150は、ユーザの操作に基づいて、複数の静止画の画像データを取得し、当該静止画を背景画像として用いる場合には、予め定められたタイミングにおける画像の切り替え(スライドショー)、間奏その他の所定の期間での静止画像の再生(スライドショーを含む)、又は、各画像の差し込みタイミングやワイプなどの種々の加工による再生を実行する。
記録部160には、HDD(Hard Disc Drive)又はSSD(Solid State Drive)により構成される。特に、記録部160には、その記録領域内に曲調情報毎に対応付けられた背景画像のデータ(以下、「背景画像データ」という。)と、楽曲データと、が記録される。
また、記録部160は、カラオケ対戦モード中においては、ワークエリアとしても機能し、例えば、カラオケ対戦モード時に登録された各ユーザの歌唱した楽曲の履歴(以下、「対戦モード用歌唱履歴」という。)及び各歌唱した楽曲の採点結果が記録される。
操作部170は、カラオケシステム10に設けられ、又は、図示しないが店舗に設置されるリモコン装置によって構成される。そして、操作部170は、各種の確認ボタン、各操作指令を入力する操作ボタンその他のキーにより構成され、各操作を行う際に用いられる。
制御部180は、主に中央演算処理装置(CPU)によって構成されるとともに、キー入力ポート、表示制御ポート等の各種入出力ポートを含み、カラオケシステム10の全般的な機能を総括的に制御する。
特に、制御部180は、操作部170に入力された操作指示に基づいて選曲された楽曲に対してカラオケ歌唱を実行させる通常モードから、複数のユーザによって採点結果に基づいて対戦(歌合戦)を行う対戦モードに切り換るための制御を実行する。
ROM/RAM181には、カラオケシステム10の駆動に必要な各種のプログラムが記録されている。また、ROM/RAM181は、カラオケ再生部120及び採点処理部200が各種の処理を実行する際のワークエリアとして用いられる。
タイマー182は、制御部180の制御の下、日付けも含めて現在時刻を出力する。
採点処理部200は、独立した中央演算処理装置(CPU)によって構成され、又は、制御部180の中央演算処理装置(CPU)を用いて構成される。また、採点処理部200は、制御部180による制御の下、所定のアプリケーションを実行することによって、採点処理を実行して採点結果の算出を行う採点実行部210と、複数のユーザによって実行されるカラオケ対戦を管理するカラオケ対戦管理部220と、カラオケ対戦に用いる楽曲の推薦を行う推薦処理部230と、を実現する。
なお、例えば、本実施形態のカラオケ対戦管理部220は、本発明の管理手段及び採点結果取得手段を構成し、推薦処理部230は、本発明の平均データ取得手段、検出手段、推薦手段及び補正手段を構成する。
採点実行部210は、ユーザのリクエスト(推薦された楽曲に基づく選曲も含む)に応じて(すなわち、操作部170を介して入力されたユーザの指示に基づいて)、楽曲データの再生中に当該楽曲データの主旋律のデータ又はユーザの歌唱をサポートするためのメロディ(ガイドメロディ)のデータとマイクロホンMから取得した音声信号とに基づいて採点処理を実行する。
そして、採点実行部210は、楽曲データの再生中の所定のタイミング又は終了後に採点結果を算出し、表示制御部150へ出力し、表示部140に算出した採点結果を表示する。
具体的には、採点実行部210は、カラオケ再生部120から出力された主旋律又はガイドメロディの音信号と、音声入力処理部130を介してマイクロホンMからユーザの音声信号と、を受信し、音波形や信号の有無に基づいて、音程、タイミング及び音レベルなどの周波数解析を含む信号の差分を常時抽出し、最終的にそのトータルで採点を実行する。
また、採点実行部210は、通信制御部110を介して、算出した採点結果を示す採点結果情報を、選曲番号及びユーザIDとともに管理サーバ装置30に送信し、ユーザ情報DB302及び採点履歴DB303に登録する
カラオケ対戦管理部220は、通常モードから、対戦モードに切り換わると、推薦処理部230と連動し、各ユーザにカラオケの楽曲を推薦しつつ、各ユーザの採点結果に基づいて、個人戦又はチーム戦で競わせる楽曲推薦処理を含むカラオケ対戦処理を実行する。
特に、カラオケ対戦管理部220は、
(1)ユーザの人数を特定する人数特定処理、
(2)歌唱しているユーザの特定する歌唱ユーザ特定処理、
(3)カラオケ対戦モード中に採点実行部210によって採点された採点結果を集計する採点結果集計処理(カラオケ対戦の勝敗決定を行う勝敗決定処理も含む)、
の各処理を実行する。
具体的には、カラオケ対戦管理部220は、人数特定処理としては、カラオケ対戦モードに移行した際に、管理サーバ装置30によって提供されているカラオケサービスにログインされたユーザの人数をカウントし、カウントした人数をカラオケ対戦モードに参加する人数として特定する。
なお、カラオケ対戦管理部220は、上記のログインに変えて、ユーザの操作入力によって特定してもよい。この場合には、カラオケ対戦管理部220は、操作部170を介して入力されたユーザ人数及びユーザ名に基づいて、カラオケ対戦モードに参加する人数を特定する。
また、カラオケ対戦管理部220は、図示しない声紋解析装置又は画像認識装置と連動して歌唱ユーザを特定し、ユーザの人数を特定してもよい。この場合には、カラオケ対戦管理部220は、複数のユーザが順番に歌唱されるものと想定して最初に歌唱したユーザと同一のユーザを認識した際に、最初に歌唱したユーザから直前に歌唱したユーザまでの人数をカラオケ対戦モードに参加する人数として特定する。
カラオケ対戦管理部220は、歌唱ユーザ特定処理として、個人戦の場合には、個人毎に、チーム戦の場合には、チーム毎に、歌唱している歌唱ユーザを採点対象のユーザとして特定する。
具体的には、カラオケ対戦管理部220は、選曲及びその歌唱前に、表示部140に歌唱ユーザを特定して歌唱を促すことによって、その後に選曲及び歌唱したユーザを歌唱ユーザとして特定する。
カラオケ対戦管理部220は、採点結果集計処理としては、歌唱ユーザ特定処理として特定した歌唱ユーザとその採点結果を当該歌唱ユーザの採点結果として記録部160に登録するとともに、カラオケ対戦モードの設定時に設定された個人毎又はチーム毎の採点結果の集計を実行する。
また、カラオケ対戦管理部220は、予め定められたタイミングで途中経過として個人毎、チーム毎又はその双方の集計結果を表示部140に表示させるとともに、最終的な集計結果に基づいて勝敗や個人の歌唱優秀者を決定し、その結果を表示部140に表示させる。
なお、カラオケ対戦管理部220は、採点結果の集計を行う際に、
(A)ユーザによって歌唱された全ての楽曲に基づく集計結果、
(B)楽曲推薦処理によって推薦された楽曲に基づく集計結果、及び、
(C)一定以上歌唱された楽曲に基づく集計結果、
など、特定の条件に基づいて集計結果を算出し、その集計結果を表示制御部150へ出力し、表示部140に表示させるとともに、当該集計結果に基づいて勝敗や個人の歌唱優秀者を決定させてもよい。
例えば、(C)の一定以上歌唱された楽曲としては、採点実行部210によって採点を行う際に、一定の時間再生があった楽曲、1番のサビまで歌唱した曲又は予め定められた楽曲再生中の採点タイミングまで再生された楽曲などが該当する。
なお、本実施形態においては、基本的には、カラオケ対戦管理部220は、カラオケ対戦中に歌唱及び採点されたすべての採点結果に基づいて採点結果の集計を実行する。しかしながら、推薦処理部230によって推薦された推薦楽曲の中から各ユーザの歌唱する楽曲を選択せずに、各ユーザの希望によって特定の楽曲を選択することも可能である。したがって、この場合には、カラオケ対戦管理部220は、ユーザの希望する楽曲によってカラオケ歌唱が実行された場合には、その採点結果については、カラオケ対戦モードの集計結果には含めずに勝敗を決定してもよい。
推薦処理部230は、カラオケ対戦モードが開始されると、通信制御部110を介して管理サーバ装置30と連動し、
(A)カラオケ対戦モードにおいて最初に歌唱される第1楽曲(以下、「基準楽曲」)を特定する基準楽曲抽出処理と、
(B)基準楽曲に基づいてカラオケ対戦の対戦モード中にユーザ毎に推薦する楽曲を特定する推薦楽曲抽出処理と、
(C)対戦モードにおいて順番が一巡する毎に推薦楽曲抽出処理に用いる基準楽曲の全ユーザにおける採点結果の平均点(以下、「基準楽曲平均点」という。)を補正する平均点補正処理と、
を実行する。
具体的には、推薦処理部230は、対戦モードにおいて採点結果の公平性を担保するために、最初の楽曲の選曲においては、選曲の基準となる基準楽曲抽出処理を実行するとともに、当該基準楽曲抽出処理において特定した基準楽曲に基づいて、当該基準楽曲における全ユーザの平均点の補正を行う基準楽曲平均点補正処理を実行しつつ、各ユーザに推薦楽曲を推薦する推薦楽曲抽出処理及びを実行する。
なお、本実施形態においては、上述のように、ユーザの希望する楽曲によってカラオケ歌唱が実行され、上述のように特定された推薦楽曲の中から選択されない場合もある。この場合には、推薦処理部230は、このような楽曲を基準楽曲として特定するとともに、その場合に、推薦楽曲抽出処理及び基準楽曲平均点補正処理には除外して上記の(B)及び(C)の各処理を実行する。
また、本実施形態の基準楽曲抽出処理、推薦楽曲抽出処理及び基準楽曲平均点補正処理の詳細については後述する。
[3]管理サーバ装置
次に、図3〜図6を用いて本実施形態の管理サーバ装置30について説明する。
なお、図3は、本実施形態の管理サーバ装置30の構成を示すブロック図であり、図4は、ROM/RAM320に記憶される基準楽曲平均点補正処理に用いるテーブルデータの一例である。
また、図5は、本実施形態における採点履歴DB303に記録された情報であって、歌唱ユーザ情報に含まれる歌唱履歴の楽曲毎の採点結果を示す一例であり、図6は、本実施形態における採点履歴DB303に記録された情報であって、全ユーザの各楽曲に対する採点結果が記憶される採点履歴の一例である。
本実施形態における管理サーバ装置30は、図3に示すように、ネットワーク20に通信接続される通信制御部310と、各種のメモリとして機能するROM/RAM320と、DB300と、システム全体を制御するシステム管理制御部350と、カラオケ対戦中に楽曲の推薦を行う推薦情報提供処理及び各種の処理を実行するデータ処理部360と、を有し、上記の各部は、バスBによって相互に接続されている。
通信制御部310は、所定のネットワークインターフェースであり、ネットワーク
20を介してカラオケシステム10及びとデータの授受を行う。
ROM/RAM320には、管理サーバ装置30の駆動に必要な各種のプログラムが記録されている。また、ROM/RAM320は、システム管理制御部350やデータ処理部360が各種の処理を実行する際のワークエリアとして用いられる。
特に、本実施形態のROM/RAMには、各カラオケシステム10カラオケ対戦時に用いられる基準楽曲平均点補正処理用のテーブルデータ(以下、「補正処理用テーブルデータ」という。)が記憶されている。
具体的には、本実施形態の補正処理用テーブルデータは、補正処理を行う際に用いられる基準楽曲平均点と補正係数を定めるデータである。例えば、補正処理用テーブルデータには、図4に示すように、基準楽曲平均点の所定の範囲(満点となる100点〜69点以下のそれぞれの範囲)毎に、補正係数が規定されている。
なお、補正処理用テーブルデータとしては、採点結果に基づいて補正係数を算出することができるものであれば、上記以外のデータであってもよい。
DB300は、HDD(Hard Disc Drive)又はSSD(Solid State Drive)により構成され、その記録領域内に各楽曲データが記録される楽曲データDB301と、ユーザ毎の楽曲情報が記録されるユーザ情報DB302と、採点履歴DB303と、を少なくとも有する。
楽曲データDB301には、カラオケ歌唱を実行する際にカラオケシステム10に提供される各楽曲データが記録されている。具体的には、楽曲データDB301には、カラオケの楽曲における識別情報(すなわち、楽曲ID)に対応付けて、
(1)楽曲音源データと、
(2)歌詞データ及び表示制御データを含むテロップデータと、
(3)曲名その他の楽曲関連情報及び楽曲テキストデータを含む楽曲情報と、
が記録される。
ユーザ情報DB302には、ユーザを識別するためのユーザID毎に、ユーザの生年月日、ニックネーム、性別、出身地、その他の属性に関する情報(以下、「属性情報」という。)、カラオケ歌唱によって歌唱した歌唱履歴を示す歌唱履歴情報(以下、「ユーザ別歌唱履歴情報」という。)、及び、ユーザのお気に入りの楽曲の情報など、各ユーザのカラオケに関する各種の情報が記録される。
特に、ユーザ情報DB302には、ユーザ別歌唱履歴情報として、カラオケ歌唱した日時、歌唱した選曲番号及び過去に歌唱した回数とともに、図5(A)及び(B)に示すように、各楽曲における採点履歴情報(以下、「ユーザ別採点履歴情報」ともいう。)が記録されている。
例えば、ユーザ情報DB302には、図5(A)及び(B)に示すように、ユーザX及びユーザYのユーザ別採点履歴情報として、選曲番号、採点結果(得点)及び全体のユーザ(すなわち、カラオケ対戦に参加しているユーザだけなく、ユーザ情報DB302に登録されている全ユーザ)における採点結果の平均点(以下、「全ユーザ平均点」という。)が記録されている。
なお、上記の全ユーザ平均点は、当該ユーザ別採点履歴情報が読み出される毎に、又は、採点履歴DB303によって該当する楽曲の全ユーザ平均点が更新された際に、同様にして更新される。
また、本実施形態においては、採点結果は、「100」点を満点とした数値の情報である。また、ユーザ情報DB302には、ユーザ毎に、歌唱中に撮像された歌唱ユーザ画像などの画像データが記録されていてもよい。
採点履歴DB303には、楽曲毎に、各ユーザにおける採点結果と全ユーザ平均点が記録される。例えば、採点履歴DB303には、図6に示すように、選曲番号及び楽曲名とともに、各ユーザ(図6においては、ユーザA−ユーザI)の採点結果、及び、それらに基づく楽曲毎の全ユーザ平均点が記録される。
システム管理制御部350は、主に中央演算処理装置(CPU)によって構成され、プログラムを実行することによって、管理サーバ装置30の各部を統合制御する。
データ処理部360は、システム管理制御部350による制御の下、カラオケシステム10と連動し、所定のアプリケーションを実行することによって、ユーザ情報DB302に記録された該当するユーザ情報を提供する楽曲データ配信部361と、ユーザ情報の管理及び採点履歴を管理するデータ管理部362と、を実現する
楽曲データ配信部361は、カラオケシステム10から送信されたユーザ情報の取得要求に基づいて、当該管理サーバ装置30へのログインに関する情報に基づいて、該当するユーザを特定するとともに、特定したユーザの楽曲情報をユーザ情報DB302から読み出して該当するカラオケシステム10に送信する。
また、楽曲データ配信部361は、カラオケシステム10からの楽曲データの送信要求に基づいて、楽曲データDB301に記録されている楽曲データの中から該当する楽曲データを送信する。
データ管理部362は、
(1)カラオケシステム10からのユーザIDを含む登録要求に基づく、各ユーザの属性に関する情報及び歌唱履歴などの各ユーザ情報のユーザ情報DBへの登録、
(2)ユーザ情報のカラオケシステム10への提供、
(3)採点結果情報を取得した際に、選曲番号に基づいて当該採点結果情報を採点履歴DB303に登録する各処理を実行する。
なお、データ管理部362は、カラオケ歌唱が行われている際に歌唱ユーザが撮像された画像データの管理登録や既に登録されている画像データの管理も行う。
[4]推薦処理部(カラオケシステム)
[4.1]基準楽曲抽出処理
次に、本実施形態のカラオケシステム10の推薦処理部230において実行される基準楽曲抽出処理の詳細にについて説明する。
推薦処理部230は、カラオケ対戦に参加しているユーザ全員が、カラオケサービスのユーザとしてユーザ情報DB302に登録されているユーザであって、当該カラオケサービスにログインしているユーザ(以下、「ログインユーザ」という。)の場合に、基準楽曲抽出処理を実行する。
そして、推薦処理部230は、各ログインユーザのユーザIDに基づいて、管理サーバ装置30(具体的にはデータ管理部362)を介してデータベース300を検索するとともに、当該各ログインユーザにおける過去に歌唱された楽曲データ及びその採点結果を特定し、当該特定した楽曲データ及びその採点結果に基づいて、対戦形式のカラオケ歌唱を行う際の基準となる第1楽曲の抽出及び当該抽出した第1楽曲の第1のユーザへの推薦を実行する。
具体的には、推薦処理部230は、ログインユーザにおける過去に歌唱された楽曲データ及びその採点結果を特定すると、当該特定した楽曲の共通の楽曲の有無に基づいて1の楽曲における全ユーザ平均点を基準楽曲平均点に設定する。
特に、推薦処理部230は、ログインユーザにおける過去に歌唱された楽曲データにおいて共通の楽曲が有る場合には、当該共通の楽曲における全ユーザ平均点を基準楽曲平均点として設定する。なお、推薦処理部230は、複数の楽曲を基準楽曲として抽出した場合には、複数の楽曲の中から1の楽曲をランダムに設定しつつ当該設定した楽曲データの全ユーザ平均点を基準楽曲平均点とし、又は、複数の楽曲データのうち最大の全ユーザ平均点を基準楽曲平均点として設定する。
一方、推薦処理部230は、ログインユーザにおける過去に歌唱された楽曲データにおいて共通の楽曲が無い場合には、所定の条件を具備する(具体的には、平均点が一致する)全ユーザ平均点を基準楽曲平均点として設定する。なお、推薦処理部230は、複数の基準楽曲平均点を設定した場合には、その中から1の基準楽曲平均点を特定し、その中において最大の全ユーザ平均点を基準楽曲平均点として設定する。
そして、推薦処理部230は、設定した基準楽曲平均点と、全ログインユーザにおける当該基準楽曲の採点結果と、に基づいて、後述する基準楽曲平均点補正処理を実行しつつ、後述する推薦楽曲抽出処理を実行し、推薦すべき1の楽曲を基準楽曲として抽出する。
例えば、カラオケ対戦をログインであるユーザXとユーザYと行う場合であって、ユーザX及びユーザYが図5(A)に示すユーザ別採点履歴情報を有している場合を想定する。
この場合において、ユーザX及びユーザYのユーザ別採点履歴情報においては、楽曲「aab」が共通する。したがって、推薦処理部230は、楽曲「aab」の平均値(すなわち、82点)を基準楽曲平均点として設定する。
一方、例えば、カラオケ対戦をログインであるユーザXとユーザYと行う場合であって、ユーザX及びユーザYが図5(B)に示すユーザ別採点履歴情報を有している場合を想定する。
この場合において、ユーザX及びユーザYのユーザ別採点履歴情報においては、共通する楽曲がないので、推薦処理部230は、全ユーザ平均点が一致する楽曲「aac」及び「bbj」の平均値(すなわち、84点)を基準楽曲平均点として設定する。
そして、推薦処理部230は、設定した基準楽曲平均点(82点又は84点)と、全ログインユーザにおける当該基準楽曲の採点結果と、に基づいて、後述する基準楽曲平均点補正処理を実行しつつ、後述する推薦楽曲抽出処理を実行し、推薦すべき1の楽曲を基準楽曲として抽出する。
また、推薦処理部230は、推薦すべき1の楽曲を基準楽曲として抽出した場合には、当該抽出した楽曲に関する情報を記録部160又は管理サーバ装置30から取得して図示しないリモコン装置の表示部又は表示部140に表示する。
さらに、推薦処理部230は、第1のユーザによって選択された楽曲を基準楽曲として特定する。
なお、カラオケ対戦に参加しているユーザ全員が、ログインユーザでない場合、又は、楽曲として推薦された楽曲には、推薦処理部230は、カラオケ対戦において最初に歌唱するユーザによって選曲された楽曲を基準楽曲に特定する(確定させる)。ただし、カラオケ対戦において最初に歌唱するユーザによって推薦された基準楽曲以外の曲が選択された場合であっても、推薦処理部230は、当該選曲された楽曲を基準楽曲に確定させる。
[4.2]推薦楽曲抽出処理
次に、本実施形態のカラオケシステム10の推薦処理部230において実行される推薦楽曲抽出処理の詳細について説明する。
推薦処理部230は、基準楽曲抽出処理によって特定された基準楽曲(基準楽曲抽出処理中の推薦楽曲抽出処理においては抽出された基準楽曲)における基準楽曲平均点又は後述の基準楽曲平均点補正処理によって補正した基準楽曲平均点に基づいて、推薦楽曲抽出処理を実行する。
特に、推薦楽曲抽出処理としては、基準楽曲平均点から所定の範囲(例えば、±3点)に属する全ユーザ(ユーザ情報DB302に登録されている全ユーザ)の平均点を有する楽曲を、推薦楽曲として抽出し、その結果を図示しないリモコン装置の表示部又は表示部140に表示する。
例えば、図6に示すように、基準楽曲平均点が「82点」の場合には、推薦処理部230は、全ユーザ平均点が当該「82点」から上下3点以内の「森のくまさん」、「カブトムシ」、「〇〇〇〇」及び「△△△△」の楽曲を推薦楽曲として抽出する。
なお、推薦処理部230は、推薦楽曲抽出処理として多くの楽曲を抽出した場合には、基本的には、全ての抽出した楽曲を推薦楽曲として該当するユーザに選択可能に図示しないリモコン装置の表示部又は表示部140に表示してもよいし、ランダムに選択された又は後述のように選択されることによって抽出された楽曲を推薦楽曲として該当するユーザに選択可能に図示しないリモコン装置の表示部又は表示部140に表示してもよい。
また、推薦処理部230は、複数の推薦楽曲が抽出された場合に、1又はそれ以下の推薦楽曲数に絞る手法としては、抽出した推薦楽曲の中から、推薦すべきユーザのユーザ情報における履歴情報、ユーザにおける年齢や性別などの属性情報、又は、好きなアーティストや好きな曲などのユーザの嗜好情報に基づいて、さらに楽曲を抽出し、当該抽出した楽曲を推薦楽曲として推薦してもよい。
例えば、推薦処理部230は、
(1)推薦すべきユーザのユーザ情報において歌唱履歴に含まれる楽曲
(2)推薦すべきユーザのユーザ情報にお気に入りとして登録されている楽曲又はお気に入りのアーティストとして登録されているアーティストの楽曲、
(3)推薦すべきユーザの性別や年齢などのユーザ情報に含まれる属性において人気(上位50曲など)の楽曲として特定されている楽曲、又は、
(4)(1)〜(3)の2以上に合致する楽曲
を更に抽出し、抽出した楽曲を推薦楽曲として推薦してもよい。
また、推薦処理部230は、上記の(1)〜(4)に代えて、又は、(1)〜(4)に加えて、推薦すべきユーザの歌唱傾向に合致する楽曲を更に抽出して抽出した楽曲を推薦楽曲として推薦してもよい。
具体的には、推薦処理部230は、歌唱傾向に基づく推薦楽曲の抽出においては、各ユーザ(例えばユーザ情報に登録している全てのユーザ)に対応付けて、過去に歌唱した歌唱履歴における歌唱頻度に基づく歌手名を配置させてクラスタリングされた2次元又は3次元の空間(空間座標)を利用し、該当するユーザの歌唱履歴における歌唱頻度に基づいて、当該歌唱頻度によって空間上の範囲に含まれる歌手の楽曲を、歌唱傾向に合致する楽曲として抽出する。
また、推薦処理部230は、歌唱傾向に基づく推薦楽曲の抽出の技術の詳細については、特開2012−63458号公報に記載されている技術を用いて推薦すべきユーザの歌唱傾向に合致する楽曲を推薦楽曲として推薦する。
[4.3]基準楽曲平均点補正処理
次に、本実施形態のカラオケシステム10の推薦処理部230において実行される基準楽曲平均点補正処理の詳細にについて説明する。
推薦処理部230は、基準楽曲抽出処理においては、基準楽曲の基準楽曲平均点と、全ログインユーザの当該基準楽曲における採点結果(以下、「過去の採点結果」とおいう。)の平均値と、において予め定められた比較条件を具備しているか否かを判定し、当該比較条件を具備している場合に、基準楽曲平均点を補正する基準楽曲平均点補正処理を実行する。
また、推薦処理部230は、2曲目以降のカラオケ対戦中に実行される処理としては、カラオケ対戦中において歌唱の順番が1巡する毎に、そのときの基準楽曲平均点と、カラオケ対戦中におけるそれまでのカラオケ対戦に参加している全ユーザの採点結果(以下、「全採点結果」という。)の平均値又はその対戦回(2順目又は3巡目)における全ユーザの採点結果(以下、「一巡採点結果」)の平均値と、において予め定められた比較条件を具備しているか否かを判定し、当該比較条件を具備している場合に、基準楽曲平均点を補正する基準楽曲平均点補正処理を実行する。
特に、推薦処理部230は、基準楽曲平均点に対して基準楽曲抽出処理においては過去の採点結果における全ログインユーザ数に基づく平均値(以下、「ログインユーザ平均値」という。)、又は、カラオケ対戦中における基準楽曲平均点補正処理においては、全採点結果若しくは一巡採点結果の当該カラオケ対戦中のユーザに基づく平均値(以下、「カラオケ対戦中の平均値」ともいう。)が予め定められた範囲(例えば、10点)を超えた場合に、比較条件を具備すると判定する。
具体的には、推薦処理部230は、図4に例示する管理サーバ装置30から補正処理用テーブルデータを用いる。
また、推薦処理部230は、基準楽曲抽出処理においてはログインユーザ平均値を算出し、又は、カラオケ対戦中における基準楽曲平均点補正処理においては、カラオケ対戦中の平均値を算出する。
そして、推薦処理部230は、ログインユーザ平均値又はカラオケ対戦中の平均値と基準楽曲平均点とを比較し、予め定められた範囲(±10点)を超えた場合(例えば、±10.1点以上の場合)に、基準楽曲平均点を補正するための演算を実行する。
この演算としては、推薦処理部230は、基準楽曲平均点よりもログインユーザ平均値又はカラオケ対戦中の平均値が小さい場合であって、予め定められた範囲(−10点)を超えた場合(例えば、−10.1点以下の場合)には、基準楽曲平均点をプラス方向に補正し(すなわち、基準楽曲平均点に後述する値を加算し)、基準楽曲平均点よりもログインユーザ平均値又はカラオケ対戦中の平均値が大きい場合であって、予め定められた範囲(+10点)を超えた場合(例えば、+10.1点以上の場合)には、基準楽曲平均点をマイナス方向に補正する(すなわち、基準楽曲平均点に後述する値を減算する)演算を実行する。
そして、推薦処理部230は、このような演算としては、以下の(式1)に基づいて、現在の基準楽曲平均点S(N)を新たな基準楽曲平均点S(N+1)を算出する演算を実行し、当該基準楽曲平均点を補正する。
なお、(式1)において、「T」は、基準楽曲抽出処理においては過去の採点結果における全ログインユーザ数に基づくログインユーザ平均値を示し、カラオケ対戦中の基準楽曲平均点補正処理においては、その時点における全採点結果若しくは一巡採点結果の当該カラオケ対戦中の平均値を示す。さらに、「α」は、補正処理用テーブルデータにおいて、現在の基準楽曲平均点に基づいて定まる補正係数である。
例えば、基準楽曲が「森のくまさん」でかつ基準楽曲平均点が「82点」であり、カラオケ対戦に「ユーザX」及び「ユーザY」が参加している場合を想定する。
この場合において、当該対戦回(例えば3回戦目)における「ユーザX」が推薦楽曲「カブトムシ」について採点結果「70点」及び「ユーザY」が推薦楽曲「△△△」について採点結果「72点」であるとすると、カラオケ対戦中の平均値が「71点」となり、基準楽曲平均点「82点」よりも10.1点以上異なるので、推薦処理部230は、基準楽曲平均点補正処理(加算)を実行する。
そして、推薦処理部230は、基準楽曲平均点が「82点」であることから、補正処理用テーブルデータを参照して補正係数「0.3」を取得し、基準楽曲平均点S(N)が「82点」、カラオケ対戦中の平均値Tが「71点」及び補正係数αが「0.3」として上記の(式1)の演算(加算)を実行し、新たな基準楽曲平均点S(N+1)を「85.3点」を設定する。
なお、推薦処理部230は、当該設定した新たな基準楽曲平均点に基づいて、上述の基準楽曲抽出処理又は推薦楽曲抽出処理を実行する。
また、推薦処理部230は、カラオケ対戦中において、推薦楽曲抽出処理によって推薦された楽曲以外の楽曲を用いて歌唱したユーザが存在する場合には、当該ユーザの採点結果を用いて上記の基準楽曲平均点補正処理を実行してもよいし、その結果を除外し上記の基準楽曲平均点補正処理を実行してもよい。
さらに、推薦処理部230は、ログインユーザ平均値、又は、カラオケ対戦中の平均値と基準楽曲平均点を比較して予め定められた範囲を超えた場合に、基準楽曲平均点を補正しているが、各ログインユーザの過去の又はカラオケ対戦中の採点結果のそれぞれと、基準楽曲平均点を比較していずれか1のユーザにおける予め定められた範囲を超えた場合に、基準楽曲平均点を補正してもよい。
[5]カラオケ対戦処理
次に、図7及び図8を用いて本実施形態のカラオケシステム10において実行されるカラオケ対戦中の推薦情報提供処理について説明する。なお、図7及び図8は、本実施形態の管理サーバ装置30において実行されるカラオケ対戦中の推薦情報提供処理の動作を示すフローチャートである。
本動作において、管理サーバ装置30のDB300には、選曲される楽曲データの採点情報及び歌唱する歌唱ユーザのユーザ情報が既に記録されているものとする。
また、本動作においては、カラオケシステム10を介してカラオケサービスにログインしているログインユーザによってカラオケ対戦モードに参加するユーザの人数特定処理を実行するものとする。
さらに、本動作においては、推薦楽曲抽出処理によって推薦された楽曲以外の楽曲を歌唱した場合の採点結果については、基準楽曲平均点補正処理から除外する一方、カラオケ対戦の集計結果に含めるものとする。
まず、カラオケ対戦管理部220は、カラオケ対戦の対戦モードの開始指示を受け付けると(ステップS101)、対戦モードに参加している全てのユーザがログインユーザであるか否かを判定する(ステップS102)。
このとき、カラオケ対戦管理部220は、カラオケ対戦モードに参加している全てのユーザがログインユーザであると判定した場合には、ステップS103の処理に移行し、カラオケ対戦モードに参加している全てのユーザがログインユーザであると判定した場合には、第1番目の楽曲である基準楽曲を第1のユーザに自由に選択させる通常選択処理を実行して(ステップS110)ステップS111の処理に移行する。
なお、カラオケ対戦管理部220は、選択処理としては、選曲番号の入力を受け付けるための処理であり、直接選曲番号を受け付けてもよいし、楽曲一覧を図示しないリモコン装置に提供して楽曲を選択させることによって選曲番号を受け付けてもよい。
次いで、推薦処理部230は、対戦モードに参加している全てのユーザがログインユーザであると判定した場合には、第1ユーザに推薦すべき第1楽曲である基準楽曲を特定する基準楽曲抽出処理を実行する(ステップS103)。
具体的には、推薦処理部230は、上述のように、各ログインユーザのユーザIDに基づいて、データベース300から当該ログインユーザにおける過去に歌唱された楽曲データ及びその採点結果(全ユーザ返金点を含む。)を特定し、当該特定した楽曲データ及びその採点結果に基づいて、対戦形式のカラオケ歌唱を行う際の基準となる第1楽曲の特定及び当該特定した第1楽曲の第1のユーザへの推薦を実行する。
なお、推薦処理部230は、基準楽曲を特定した場合には、その情報を図示しないリモコン装置の表示部又は表示部140に表示し、ユーザの選択入力を待機し、基準楽曲を特定することができなかった場合には、その情報を図示しないリモコン装置の表示部又は表示部140に表示する。
次いで、カラオケ対戦管理部220は、推薦処理部230によって基準楽曲を特定することができなかったか否かを判定しつつ、及び、基準楽曲が特定されている場合にはユーザの操作を検出することによって特定した基準楽曲が選択されたか拒否されたかを判定する(ステップS104)。
このとき、当該特定した基準楽曲が選択された場合には、ステップS111の処理に移行し、特定した基準楽曲が選択されなかったと判定した場合には、ステップS110の通常選択処理を介してステップS111の処理に移行する。
次いで、カラオケ対戦管理部220は、制御部180に、選択された楽曲を基準楽曲として特定しつつ、当該選曲番号に基づいて楽曲データの再生を開始する再生開始指示を出力して、採点実行部210に楽曲データの再生終了を待機させる(ステップS111)。
なお、この楽曲データの再生終了は、楽曲データが最後まで再生されたことだけでなく、途中で強制的に終了した場合も含む。ただし、本動作においては、楽曲データの再生終了は、無音状態又は一定の再生時間以内で終了など採点不能な条件を除外し、すべて採点可能状態にて再生が終了しているものとする。
次いで、カラオケ対戦管理部220は、採点実行部210は、楽曲データの再生終了を検出すると(ステップS112)、歌唱したユーザを特定する歌唱ユーザ特定処理を実行しつつ、採点実行部210に歌唱に基づく採点結果を算出させ、当該採点結果情報を記録部160に登録させるとともに、管理サーバ装置30を介して採点履歴DB303に登録させる(ステップS113)。
次いで、推薦処理部230は、管理サーバ装置30を介して採点履歴DB303から基準楽曲の全ユーザ平均点を取得し、当該取得した全ユーザ平均点(すなわち、基準楽曲平均点)に基づいて、又は、補正した基準楽曲平均点に基づいて、推薦楽曲抽出処理を実行する(ステップS114)。
特に、推薦処理部230は、推薦楽曲抽出処理としては、基準楽曲の全ユーザ平均点から所定の範囲(±3点以内)に属する全ユーザ平均点を有する楽曲を、推薦楽曲として抽出する。
次いで、推薦処理部230は、抽出した1以上の楽曲を推薦楽曲として図示しないリモコン装置の表示部又は表示部140に表示し、選曲番号の操作入力を待機する(ステップS115)。
次いで、カラオケ対戦管理部220は、ユーザの選曲番号の入力操作を検出することによって推薦楽曲が選択されたか否かを判定するとともに、その情報と選曲番号に基づいて該当する楽曲データの再生を開始する再生開始指示を出力し、採点実行部210に楽曲データの再生終了を待機させる(ステップS116)。
具体的には、カラオケ対戦管理部220は、推薦楽曲が選択された場合には、その旨と選曲番号に基づいて該当する楽曲データの再生を開始する再生開始指示を出力し、当該推薦楽曲が選択されなかった場合には、その旨と選曲番号に基づいて該当する楽曲データの再生を開始する再生開始指示を出力する。
なお、この楽曲データの再生終了は、上述と同様に、楽曲データが最後まで再生されたことだけでなく、途中で強制的に終了した場合も含む。ただし、本動作においては、楽曲データの再生終了は、無音状態又は一定の再生時間以内で終了など採点不能な条件を除外し、すべて採点可能状態にて再生が終了しているものとする。
次いで、カラオケ対戦管理部220における採点実行部210は、楽曲データの再生終了を検出すると(ステップS117)、歌唱したユーザを特定する歌唱ユーザ特定処理を実行しつつ、採点実行部210に歌唱に基づく採点結果を算出させ、当該採点結果情報を記録部160に登録させるとともに、管理サーバ装置30を介して採点履歴DB303に登録させる(ステップS118)。
なお、カラオケ対戦管理部220は、推薦楽曲以外の楽曲の場合には、その旨を示すフラグ情報を採点結果に合わせて記録部160に登録する。
次いで、カラオケ対戦管理部220は、歌唱したユーザを特定する歌唱ユーザ特定処理を実行して最後の順番の歌唱ユーザであるか否かを判定し(ステップS119)、最後の順番の歌唱ユーザでないと判定した場合は、ステップS114の処理に移行する。
一方、カラオケ対戦管理部220は、歌唱したユーザを特定する歌唱ユーザ特定処理を実行して最後の順番の歌唱ユーザであると判定した場合には、カラオケ対戦モードの終了指示を検出したか否かを判定する(ステップS120)。
このとき、カラオケ対戦管理部220は、カラオケ対戦モードの終了指示を検出していないと判定した場合には、推薦処理部230に、基準楽曲平均点を補正するための比較条件が具備するか否か(カラオケ対戦中に参加している各ユーザのカラオケ対戦中の採点結果と基準楽曲平均点とに乖離があるかないか)を判定させる(ステップS121)。
そして、推薦処理部230は、基準楽曲平均点を補正するための比較条件が具備すると判定した場合には、上記の基準楽曲平均点補正処理を実行して(ステップS122)ステップS114の処理に移行し、当該比較条件が具備しないと判定した場合には、直接ステップS114の処理に移行する。
他方、カラオケ対戦管理部220は、カラオケ対戦モードの終了指示を検出したと判定した場合には、採点を集計して対戦結果を表示部140に表示するなどの対戦カラオケモードの終了処理を実行し(ステップS123)、本動作を終了させる。
なお、ステップS120におけるカラオケ対戦モードの終了指示には、ユーザの終了指示の他に、予め定められた楽曲数の歌唱が終了した場合など制御部180からの指示も含む。
以上説明したように、本実施形態のカラオケ用通信システム1においては、カラオケ対戦中に、例えば、第1楽曲の全ユーザ平均点と同様な平均点を有する楽曲など、当該第1楽曲を基準として第2のユーザとして他のユーザが歌唱する楽曲を推薦することができるので、歌唱レベルに統一性のある楽曲を推薦することができる。
したがって、本実施形態のカラオケ用通信システム1においては、歌唱レベルに統一性のある楽曲に基づいて採点を行うことによって、異なる楽曲をユーザが歌唱した場合であっても、それらの採点結果については、ユーザの歌唱レベルの差を適切に反映させることができるので、複数のユーザの対戦形式によってカラオケ歌唱に興ずる際に、歌唱結果に基づく採点結果において公平に競わせることができる。
また、本実施形態のカラオケ用通信システム1においては、カラオケ対戦に参加しているユーザがログインユーザの場合など、当該参加しているユーザの過去の歌唱履歴を利用することができる場合には、カラオケ対戦の最初の曲である基準楽曲についても、参加ユーザの歌唱レベルを考慮した楽曲を推薦することができる。
また、本実施形態のカラオケ用通信システム1においては、基準楽曲がカラオケ対戦に参加しているユーザの歌唱レベルと乖離している場合には、上述のように、各ユーザに楽曲を推薦する際の基準楽曲平均点を適宜補正することができるので、カラオケ対戦中に参加する各ユーザに対して難しい楽曲に偏ること、又は、当該各ユーザに歌唱レベルの差が有る場合であっても満足度の高い楽曲を推薦することができる。
[6]変形例
[6.1]変形例1
上記実施形態においては、カラオケシステム10によって基準楽曲抽出処理、推薦楽曲抽出処理及び基準楽曲平均点補正処理を実行しているが、管理サーバ装置30によってその一部又は全部を実行してもよい。
この場合には、上記の採点処理部200において必要な機能を管理サーバ装置30に設ければよい。
また、上記実施形態においては、カラオケボックス等に設置されたカラオケシステム10によって基準楽曲抽出処理、推薦楽曲抽出処理及び基準楽曲平均点補正処理を実行しているが、家庭用のゲーム機器、又は、スマートフォンやタブレット型情報端末装置などの通信機器によっても実現可能である。
[6.2]変形例2
上記実施形態における管理サーバ装置30は、1台のサーバ装置によって構成されていてもよいし、複数のサーバ装置によってシステムとして構成されていてもよい。また、管理サーバ装置30に設けられたDB300は、ネットワークを介して管理サーバ装置30から独立したデータベースとして構成されていてもよいし、各DB301〜303が複数のデータベースによって構成されていてもよい。
[6.3]変形例3
上記の基準楽曲抽出処理又は推薦楽曲抽出処理においては、対象となる楽曲におけるすべての楽曲(カラオケ対戦に参加しているユーザだけなく、ユーザ情報DB302に登録されている全ユーザの平均点を全ユーザ平均点として設定されている楽曲)を用いているが、歌唱結果が一定数以下の楽曲(すなわち、採点結果が一致数登録されていない楽曲)については、その対象から除外し、除外された楽曲の中から基準楽曲又は推薦楽曲を抽出してもよい。
上記実施形態におけるカラオケシステム10によって実行される図7のステップS101を起点に本発明を説明しているが、開始指示が無くても常に本発明の処理を実行してもよい。