==システム構成==
以下、本発明の実施形態について説明する。本実施形態の通信カラオケシステムは、ホスト装置1とカラオケ装置2とを備える。カラオケ装置2は、カラオケ店KBの各カラオケルームRMに設置される。図1に示すように、ホスト装置1とカラオケ装置2とは通信回線3を介して通信可能に接続される。通信回線3は、たとえば公衆電話回線、携帯電話回線、専用電話回線、無線通信路、イーサネット(登録商標)などにより敷設される回線であり、たとえばインターネット、VAN(Value Added Network)などである。ホスト装置1からカラオケ装置2にカラオケを行うためのデータ(以下、カラオケデータといい、伴奏データ、歌詞データ、映像データなどを含む。)が送信され、カラオケ装置2がカラオケ楽曲を演奏することにより、利用者はカラオケの歌唱が可能となる。
カラオケ装置2では利用者からの指示に応じてカラオケ楽曲の演奏を途中で中止することができる。本実施形態の通信カラオケシステムでは、自動的に演奏を中止するようなオプション(以下、自動中止オプションという。)を利用者(歌唱者)が指定した場合に、カラオケ装置2がカラオケ楽曲の演奏を自動的に中止するようにしている。カラオケ楽曲のどこで中止するかは、当該カラオケ楽曲の演奏が過去に中止された位置に応じて決定される。
==ホスト装置1==
ホスト装置1は、サーバとして機能し、利用者や店舗などに関する各種情報を蓄積して管理するコンピュータである。図2はホスト装置1のハードウェア構成例を示す図である。ホスト装置1は、制御部11、通信部12および記憶部13を備える。制御部11は、ホスト装置1における制御の中心となる部分であり、CPU111およびメモリ112を備える。CPU111は、メモリ112に記憶された動作プログラムを実行することにより各種の制御機能を実現する。メモリ112は、CPU111により実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶装置である。通信部12は、ホスト装置1を通信回線3に接続するためのインタフェースを提供する。記憶部13は、各種のデータを記憶する記憶装置であり、たとえばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。
図3は、ホスト装置1のソフトウェア構成例を示す図である。ホスト装置1は、カラオケデータ送信部121、演奏中止情報登録部122、演奏中止位置決定部123、演奏中止位置提供部124、利用者情報記憶部131、店舗情報記憶部132、カラオケデータ記憶部133、演奏中止履歴記憶部134および演奏中止位置記憶部135を備える。
なお、カラオケデータ送信部121、演奏中止情報登録部122、演奏中止位置決定部123および演奏中止位置提供部124は、CPU111がメモリ112に記憶されるプログラムを実行することにより実現され、利用者情報記憶部131、店舗情報記憶部132、カラオケデータ記憶部133、演奏中止履歴記憶部134および演奏中止位置記憶部135は記憶部13の提供する記憶領域の一部として実現される。
利用者情報記憶部131は、カラオケ装置2の利用者(歌唱者)に関する情報(以下、利用者情報という。)を記憶する。図4に示すように、利用者情報記憶部131に記憶される利用者情報には、利用者を特定する情報(以下、利用者IDという。)に対応付けて各種の利用者の属性が設定される。図4の例では、利用者の年齢(年代)、性別および利用者の好きな楽曲のジャンルなどが属性として登録されている。好きなジャンルは、利用者から指定を受け付けてもよいし、過去に利用者が歌唱したカラオケ楽曲のジャンルのうち歌唱回数が多い(歌唱回数が閾値以上の)ものを自動的に設定するようにしてもよい。また、ジャンルなど、属性によっては複数の値を設定することも可能である。
なお、利用者情報記憶部131には、図4の例に限らず、たとえば職業、電話番号など、利用者に関する各種の属性を設定することができる。また、利用者情報記憶部131には、たとえば、過去に利用した店舗、歌唱日時、カラオケ楽曲の採点結果など、利用者のカラオケ利用履歴あるいはカラオケ利用履歴を統計解析した解析結果を登録するようにしてもよい。以下の説明において利用者の属性にはこれらの各種属性ならびにカラオケ利用履歴およびその解析結果も含むものとする。
店舗情報記憶部132は、カラオケ店KBなど、カラオケ装置2が設置される場所(店舗)に関する情報(以下、店舗情報という。)を記憶する。図5に示すように、店舗情報記憶部132に記憶される店舗情報には、店舗を特定する情報(以下、店舗IDという。)に対応付けて、店舗の属性が設定される。図5の例では、店舗の属性として、店舗の住所(市区町村)、店舗のカテゴリおよび店舗の立地が設定されている。なお、店舗情報記憶部132には、図5の例に限らず、たとえば店舗の収容可能客数、客層、客単価など各種の店舗の属性を設定することができる。
カラオケデータ記憶部133はカラオケデータを記憶するデータベースである。たとえば図6に示すように、カラオケデータ記憶部133には、カラオケ楽曲を特定するための情報(以下、楽曲IDという。)に対応付けて、伴奏データ、歌詞データおよび映像データが記憶される。伴奏データは、たとえばMIDI(Musical Instrument Digital Interface)のSMF(Standard MIDI Format)のデータとすることができる。歌詞データには、たとえば伴奏データの再生位置に対応付けたテキストデータとすることができる。映像データは、任意のフォーマットの動画データとすることができる。なお、カラオケデータ記憶部133には、これら以外にも、たとえば歌唱のための旋律の音楽データなど、カラオケに用いられる各種のデータを記憶させることができる。
本実施形態では、カラオケデータ(少なくとも伴奏データ)は、複数の演奏区間に分割可能であるものとする。楽曲はたとえば図7に示すように前奏、1番、間奏、2番、間奏、3番、後奏から構成されることがあり、本実施形態ではこれらの楽曲構成が演奏区間である。
伴奏データの構成要素は、たとえば伴奏データの区切り部分に区切りを示す情報(マーカー)を設定したり、伴奏データに構成要素の開始および終了の時点を示す制御情報を含めたりすることにより区別可能とすることができる。
カラオケデータ送信部121は、カラオケデータをカラオケ装置2に送信する。カラオケデータ送信部121は、たとえばカラオケデータ記憶部133に新しいカラオケデータが登録された場合、およびカラオケデータ記憶部133に記憶されているカラオケデータが更新された場合に、登録または更新されたカラオケデータをカラオケ装置2に送信することができる。なお、カラオケデータ送信部121は、ホスト装置1のオペレータからの指示に従ってカラオケデータを送信するようにしてもよい。
演奏中止履歴記憶部134は、利用者が手動で演奏を中止させたカラオケ楽曲についての情報(以下、演奏中止情報という。)の履歴を記憶する。図8に示すように、演奏中止履歴記憶部134が記憶する演奏中止情報には、演奏を中止させた利用者を示す利用者ID、演奏が中止された店舗を示す店舗IDおよび演奏が中止されたカラオケ楽曲を示す楽曲IDに対応付けて、演奏が中止された日時(中止日時)およびカラオケ楽曲中に利用者によって演奏が中止された位置(以下、中止位置という。)が設定される。中止位置はカラオケ楽曲の楽曲構成のどこで演奏が中止されたかを示すものであり、本実施形態では、カラオケ楽曲中の演奏区間を示す情報と、当該演奏区間の開始時点または終了時点のいずれであるかを示す情報とが含まれるものとする。図8の例では、楽曲ID「X0001」が示すカラオケ楽曲は、「2番」の「終了時」において演奏が中止されたことを表している。
演奏中止情報は後述するカラオケ装置2から送信される。カラオケ装置2から送信される演奏中止情報の中止位置には、カラオケ楽曲の先頭からのオフセット(経過時間)が設定される。演奏中止情報登録部122は、上述のように演奏区間と開始時点または終了時点との組み合わせとなるように中止位置を更新したうえで演奏中止情報を演奏中止履歴記憶部134に登録する。演奏中止情報登録部122による演奏中止情報の登録処理の流れを図9に示す。
演奏中止情報登録部122は、カラオケ装置2から演奏中止情報を受信すると(S511)、受信した演奏中止情報に含まれる中止位置が位置するカラオケ楽曲の演奏区間を特定してXとする(S512)。たとえば図7の例において、中止位置がSであった場合には、Xは「2番」になる。
演奏中止情報登録部122はさらに、中止位置が演奏区間Xの開始時点および終了時点のどちらに近いかを判定し(S513)、中止位置がXの終了時点よりも開始時点の方に近ければ(S514:YES)、Xに「開始時」を追記したものをSTとし(S515)、そうでなければ(S514:NO)、Xに「終了時」を追記したものをSTとする(S516)。たとえば図7の例において、中止位置Sから演奏区間「2番」の開示時点tsまでの長さ441は、中止位置Sから演奏区間「2番」の終了時点teまでの長さ442よりも短いので、STは「2番開始時」となる。
演奏中止情報登録部122は、受信した演奏中止情報の中止位置をSTに更新し(S517)、中止位置を更新した演奏中止情報を演奏中止履歴記憶部134に登録する(S518)。
演奏中止位置記憶部135は、演奏を自動で中止するカラオケ楽曲中の位置(以下、演奏中止位置という。)に関する情報(以下、演奏中止位置情報という。)を記憶する。図10に示すように、演奏中止位置記憶部135に記憶される演奏中止位置情報には、楽曲IDと、利用者の属性、店舗の属性および時間帯(本実施形態では、0時から23時までの1時間ごとの時間帯とする。)のいずれか(以下、中止条件という。)と、に対応付けて演奏中止位置が設定される。演奏中止位置も上述した演奏中止情報の中止位置と同様に、カラオケ楽曲中の演奏区間を示す情報と、当該演奏区間の開始時点または終了時点のいずれであるかを示す情報とが含まれる。また、演奏中止位置記憶部135には、NULL値を中止条件とする演奏中止位置も登録される。NULL値を中止条件とした演奏中止位置は、デフォルトの演奏中止位置となる。図10の例では、デフォルトの演奏中止位置として2番の終了時が登録されている。また、カラオケ楽曲の楽曲IDが「X0001」であり、利用者の年齢が「20代」であることを中止条件として同じく2番の終了時が演奏中止位置として登録されている。
演奏中止位置決定部123は、演奏中止情報に基づいて演奏中止位置を決定する。本実施形態では、利用者および店舗の属性ならびに中止された時間帯ごとに演奏中止位置を決定する。図11は、演奏中止位置決定部123により実行される処理の流れを示す図である。演奏中止位置決定部123は、カラオケ楽曲のそれぞれを示す各楽曲IDについて以下の処理を行う。
演奏中止位置決定部123は、利用者情報および店舗情報の利用者IDおよび店舗IDを除く各カラムのカラム名について以下の処理を行う。演奏中止位置決定部123は、利用者情報記憶部131または店舗情報記憶部132から、カラム名が示す利用者情報または店舗情報のカラムの値を重複無く読み出してリストを作成する(S531)。演奏中止位置決定部123は、リストに含まれるそれぞれの値をCとして、演奏中止履歴記憶部134に登録されている楽曲IDに対応する演奏中止情報のうち、演奏中止情報の利用者IDまたは店舗IDに対応する利用者情報または店舗情報の当該カラム名が示すカラムの値がCに一致する演奏中止情報を中止位置ごとにカウントする(S532)。演奏中止位置決定部123は、楽曲ID、カラム名、C、およびカウント値が最大となる中止位置を設定した演奏中止位置情報を作成して演奏中止位置記憶部135に登録する(S533)。
また、演奏中止位置決定部123は、各時間帯について以下の処理を行う。すなわち、演奏中止位置決定部123は、演奏中止履歴記憶部134を参照して、楽曲IDに対応し、かつ、Tに対応する中止日時を含む演奏中止情報を中止位置ごとにカウントする(S534)。演奏中止位置決定部123は、楽曲ID、「時間帯」、T、およびカウント値が最大となる中止位置を設定した演奏中止位置情報を作成して演奏中止位置記憶部135に登録する(S535)。
また、演奏中止位置決定部123は、演奏中止履歴記憶部134に登録されている楽曲IDに対応した全ての演奏中止情報を中止位置ごとにカウントし(S536)、楽曲ID、NULL値、NULL値、およびカウント値が最大となる中止位置を設定した演奏中止位置情報を作成して演奏中止位置記憶部135に登録する(S536)。
以上のようにして、演奏中止位置決定部123は演奏中止情報に基づいて演奏中止位置を決定する。これにより、中止条件別に、過去に最も多くの利用者が演奏を中止させた位置が演奏中止位置として登録される。また、中止条件を問わずに最も多く中止された位置がデフォルトの演奏中止位置として登録される。
演奏中止位置提供部124は、演奏中止位置をカラオケ装置2に提供する。演奏中止位置提供部124は、カラオケ装置2から送信されるリクエスト(以下、演奏中止位置取得要求という。)に応じて演奏中止位置を提供する。演奏中止位置取得要求には、利用者ID、店舗IDおよび楽曲IDが設定される。図12は、演奏中止位置提供部124による演奏中止位置の提供処理の流れを示す図である。
演奏中止位置提供部124は、カラオケ装置2から演奏中止位置要求を受信すると(S551)、演奏中止位置要求に含まれる利用者IDに対応する利用者情報を利用者情報記憶部131から読み出し(S552)、演奏中止位置要求に含まれる店舗IDに対応する店舗情報を店舗情報記憶部132から読み出す(S553)。演奏中止位置提供部124は空のリストを作成する(S554)。
演奏中止位置提供部124は、現在の時間帯を取得してTとし(S555)、演奏中止位置記憶部135から、演奏中止位置要求に含まれる楽曲IDに対応する演奏中止位置情報のうち、「時間帯」およびTを中止条件として含む演奏中止位置情報を読み出してリストに追加する(S556)。
演奏中止位置提供部124は、利用者情報および店舗情報の利用者IDおよび店舗IDを除く各カラムのカラム名について、カラム名が示す上記読み出した利用者情報または店舗情報のカラムの値をCとし(S557)、カラム名およびCを中止条件として含む演奏中止位置情報を読み出してリストに追加する(S558)。
リストが空である場合(S559:YES)、演奏中止位置提供部124は、デフォルトの演奏中止位置情報(すなわち、NULL値の中止条件を含む演奏中止位置情報)を演奏中止位置記憶部135から読み出し、読み出した演奏中止位置情報の演奏中止位置を、カラオケ装置2に提供する演奏中止位置Aとして決定する(S560)。リストが空でなければ(S559:NO)、演奏中止位置提供部124は、リストに含まれる演奏中止位置情報の演奏中止位置のうちもっとも遅いものを、カラオケ装置2に提供する演奏中止位置Aとして決定する(S561)。演奏中止位置提供部124は、決定したAをカラオケ装置2に送信する。
以上のようにして、利用者の属性、店舗の属性および時間帯ごとに最も中止された回数の多かった演奏中止位置のうち最も遅いものが、演奏中止位置取得要求に対する応答として送信される。
==カラオケ装置2==
カラオケ装置2は、カラオケ演奏を行うものである。図13は、カラオケ装置2のハードウェア構成例を示す図である。カラオケ装置2は、カラオケ本体21、スピーカ22、モニタ23、マイク24、リモコン装置25を備える。
スピーカ22、モニタ23およびマイク24は、カラオケ本体21に接続される。スピーカ22はカラオケ本体21からの放音信号に基づいて放音し、モニタ22はカラオケ本体21からの映像信号に基づいて映像を画面に表示する。マイク24は歌唱者の音声をアナログの歌唱音声信号に変換してカラオケ本体21に入力させる。
リモコン装置25は、カラオケ本体21との間で情報を送受信するための双方向通信可能な短距離無線通信部を備える。利用者はリモコン装置25を用いてカラオケ楽曲の予約および演奏の中止を行うことができる。なお、カラオケ楽曲の予約および演奏の中止は、カラオケ装置2を直接操作して行うようにしてもよい。
本実施形態では、リモコン装置25は、歌唱者(利用者)に関する利用者情報を取得するものとする。リモコン装置25は、たとえばインタフェースを介して利用者から利用者情報の入力を受け付けるようにすることができる。また、利用者が提示するICカードや磁気カードなどの会員証に利用者情報を記録しておき、リモコン装置25がこれを読み出すようにしてもよい。利用者が携帯する携帯電話やスマートフォン、タブレットコンピュータなどの携帯端末に利用者情報を記録しておき、リモコン装置25がこれを読み出すようにしてもよい。
カラオケ楽曲の予約もリモコン装置25を用いて行われる。リモコン装置25は、利用者から歌唱者の利用者IDと楽曲IDとの入力を受け付け、楽曲を予約するための操作信号(以下、予約信号という。)に受け付けた利用者IDおよび楽曲IDを含めてカラオケ本体21に向けて出力する。これに応じてカラオケ本体21ではカラオケ楽曲が待ち行列で管理される。
利用者はリモコン装置25を用いてカラオケ楽曲を予約するに際して自動中止オプションを指定することができる。リモコン装置25は、予約時に自動中止オプションの指定を受け付けた場合には、予約信号に「真」のフラグ値(以下、自動中止フラグという。)を設定してカラオケ本端21に送信する。自動中止オプションが指定されなかった場合に、リモコン装置25は「偽」の自動中止フラグを予約信号に設定する。
カラオケ楽曲の予約が完了した後に自動中止オプションを設定することもできる。リモコン装置25は、たとえば、予約の一覧から自動中止オプションを設定するものを選択させ、自動中止オプションの指定を受け付けることができる。リモコン装置25は、予約したカラオケ楽曲を特定するための情報(以下、予約IDという。)と、「真」の自動中止フラグとを含む操作信号(以下、自動中止信号という。)をカラオケ装置2に送信する。
また、カラオケ楽曲の予約が完了した後に自動中止オプションを解除することもできる。リモコン装置25は、たとえば、予約の一覧から解除するものを選択させ、選択された予約を示す予約IDと、「偽」の自動中止フラグとを含む自動中止信号をカラオケ装置2に送信する。
カラオケ楽曲の演奏中における演奏中止もリモコン装置25を用いて行われる。リモコン装置25は、楽曲の演奏を中止するための操作信号(以下、中止信号という。)をカラオケ本体21に向けて出力する。中止信号に応じてカラオケ本体21により演奏中のカラオケ楽曲が中止される。
カラオケ本体21は、選択されたカラオケ楽曲の演奏制御、歌詞および背景映像の表示制御、マイク24を通じて入力された歌唱音声信号の処理といった、カラオケ歌唱に関する各種の制御を行う。図14はカラオケ本体21のハードウェア構成例を示す図である。カラオケ本体21は、制御部31、通信部32、記憶部33、音響処理部34、表示処理部35および操作部36を備え、これらの各部がバスBSを介して通信可能な状態に接続される。
制御部31は、カラオケ本体21における制御の中心となる部分であり、CPU311およびメモリ312を備える。CPU311は、メモリ312に記憶された動作プログラムを実行することにより各種の制御機能を実現する。たとえば操作部36からの操作を受け付ける操作入力処理、シーケンサとして動作するシーケンサ処理などの機能もCPU311がメモリ312に記憶された動作プログラムを実行することにより実現される。メモリ312は、CPU311に実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶装置である。
通信部32は、カラオケ本体21を通信回線3に接続するためのインタフェースを提供する。通信部32は、制御部31によって動作が制御される。記憶部33は、各種のデータを記憶する大容量の記憶装置であり、たとえばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。
音響処理部34は、カラオケ楽曲に対する演奏の制御およびマイク24を通じて入力された歌唱音声信号の処理行う。図15に示すように音響処理部34は、音源装置41、ミキサ42、およびアンプ43を備える。
音源装置41は、たとえばMIDI音源であり、カラオケデータに含まれる伴奏データに基づいて楽音信号を生成する。ミキサ42は、音源装置41およびマイク24から出力される各種信号を適当な比率でミキシングしてアンプ43に出力する。アンプ43は、ミキサ42からのミキシング信号を増幅し、放音信号としてスピーカ22へ出力する。これにより、スピーカ22からは放音信号に基づくカラオケ演奏音およびマイク24からの歌唱音声が放音される。
図14に戻り、表示処理部35は、カラオケ演奏時における背景映像の表示等の制御を行う。カラオケ演奏時に、表示処理部35には映像データが入力され、この映像データのデコードが行われる。表示処理部35は、デコードで生成された背景映像の映像信号に対して、歌詞データに基づき歌詞テロップを合成し、合成後の映像信号をモニタ23に出力する。モニタ23には、背景映像に歌詞テロップが重ねられた映像が表示されることになる。
操作部36は、パネルスイッチおよびリモコン受信回路などからなり、利用者によるカラオケ装置2のパネルスイッチあるいはリモコン装置25の操作に応じて予約信号、中止信号および自動中止信号などの操作信号を制御部31に対して出力する。制御部31は、操作部36からの操作信号を検出し、対応する処理を実行する。
図16はカラオケ本体21のソフトウェア構成例を示す図である。カラオケ本体21は、カラオケデータ登録部321、予約登録部322、カラオケ演奏処理部323、手動演奏中止処理部324、演奏中止情報送信部325、自動演奏中止処理部326、カラオケデータ記憶部331および予約キュー332を備える。
なお、カラオケデータ登録部321、予約登録部322、カラオケ演奏処理部323、手動演奏中止処理部324、演奏中止情報送信部325および自動演奏中止処理部326は、制御部31のCPU311がメモリ312に記憶されている動作プログラムを実行することにより実現され、カラオケデータ記憶部331および予約キュー332は、記憶部33が提供する記憶領域の一部として実現される。
カラオケデータ記憶部331はカラオケデータを記憶する。カラオケデータ記憶部331に記憶されるカラオケデータは、ホスト装置1のカラオケデータ記憶部133に記憶されるカラオケデータ(図6)と同じである。
カラオケデータ登録部321は、ホスト装置1から送信されるカラオケデータを受信する。カラオケデータ登録部321は、受信したカラオケデータをカラオケデータ記憶部331に登録する。なお、カラオケデータ登録部321は、受信したカラオケデータに含まれる楽曲IDに対応するカラオケデータがカラオケデータ記憶部331に登録されている場合には、当該カラオケデータを受信したカラオケデータで更新する。
予約キュー332は、予約されたカラオケ楽曲を管理する待ち行列である。図17に示すように、予約キュー332には、予約ID、利用者ID、楽曲IDおよび自動中止フラグを含むデータ(以下、予約情報という。)が登録される。予約キュー332は、FIFO(First In, First Out)キューであり、登録された順番に予約情報は取り出される。
予約登録部322は、リモコン装置25からの予約信号に応じてカラオケ楽曲の予約を行う。予約登録部322は、予約信号に含まれる利用者ID、楽曲IDおよび自動中止フラグを設定した予約情報を作成して予約キュー332に登録する。また、予約登録部322は、リモコン装置25から自動中止信号を受信した場合には、受信した自動中止信号に指定されている予約IDに対応する予約情報の自動中止フラグを、自動中止信号に含まれている自動中止フラグに更新する。
カラオケ演奏処理部323は、カラオケ楽曲を演奏するために必要な各種の制御処理を行う。カラオケ演奏処理部323は、カラオケ楽曲が演奏されていない場合、または演奏中のカラオケ楽曲が終了しもしくは中止された場合には、予約キュー332から予約情報を取り出して次に演奏するカラオケ楽曲を特定する。カラオケ演奏処理部323は、取り出した予約情報に含まれる楽曲IDに対応するカラオケデータをカラオケデータ記憶部331から読み出す。カラオケ演奏処理部323は、たとえば、音響処理部34を制御して、カラオケデータに含まれる伴奏データに基づいてカラオケ演奏音をスピーカ22から放音させるとともに、マイク24からの歌唱音声もスピーカ22から放音させる。また、カラオケ演奏処理部323は、表示処理部35を制御して、カラオケデータに含まれる映像データに基づく背景映像と歌詞データに基づく歌詞テロップとを合成した映像をモニタ23に表示させる。
カラオケ演奏処理部323は、予約キュー332から取り出した予約情報の自動中止フラグが「真」である場合には、後述する自動演奏中止処理部326を呼び出し、自動的にカラオケ楽曲の演奏を中止させる。
なお、カラオケ演奏処理部323は、予約キュー332から取り出した予約情報の利用者IDおよび楽曲ID、演奏が開始された日時、カラオケ店舗KBを特定する店舗IDなどをホスト装置1に送信してもよい。これにより、ホスト装置1は、カラオケ装置2から受信した利用者IDおよび楽曲IDならびに演奏開始日時および店舗IDに基づき、いつどこでどの利用者がどの楽曲を歌唱したかを把握することが可能となり、またこのデータに基づいて各種の解析処理を行うことができる。
手動演奏中止処理部324は、カラオケ楽曲の演奏を中止する。手動演奏中止処理部324は、リモコン装置25から中止信号を受信した場合に、たとえば、カラオケ楽曲の演奏を中止するように、音響処理部34および表示処理部35を制御する。なお、手動演奏中止処理部324は、カラオケ演奏処理部323を呼び出して演奏中止の処理を行わせるようにしてもよい。
演奏中止情報送信部325は、手動演奏中止処理部324がカラオケ楽曲の演奏を中止した場合に演奏中止情報をホスト装置1に送信する。演奏中止情報送信部325は、リモコン装置25から中止信号を受信した場合に、現在演奏中の楽曲を示す楽曲ID(直近に取り出した予約情報の楽曲ID)、現在歌唱中の利用者を示す利用者ID(直近に取り出した予約情報の利用者ID)、およびカラオケ装置2が設置されている店舗を示す店舗ID(予め設定されているものとする。)と、演奏が中止された楽曲中の位置(先頭からのオフセット位置)とを含む演奏中止情報を作成し、作成した演奏中止情報をホスト装置1に送信する。
自動演奏中止処理部326は、自動的にカラオケ楽曲の演奏を中止する。自動演奏中止処理部326は、カラオケ演奏処理部323が取り出した予約情報に含まれる利用者IDおよび楽曲IDと、カラオケ装置2が設置されている店舗を示す店舗IDとを設定した演奏中止位置取得要求をホスト装置1に送信し、これに対してホスト装置1から応答される演奏中止位置を受信する。自動演奏中止処理部326は、受信した演奏中止位置でカラオケ楽曲の演奏を中止するように、音響処理部34および表示処理部35を制御することができる。なお、自動演奏中止処理部326は、カラオケ演奏処理部323を呼び出して演奏中止の処理を行わせるようにしてもよい。
図18は、カラオケ本体21により実行される制御処理の流れを説明する図である。
カラオケ演奏処理部323は、予約キュー332から予約情報を取り出し(S611)、予約情報の自動中止オプションが「真」であれば(S612:YES)、自動演奏中止処理部326を呼び出す。自動演奏中止処理部326は、カラオケ演奏処理部323が取り出した予約情報に含まれている楽曲IDおよび利用者IDならびにカラオケ装置2が設置されている店舗を示す店舗IDを設定した演奏中止位置取得要求をホスト装置1に送信し(S613)、演奏中止位置取得要求に応じてホスト装置1の演奏中止位置提供部124が送信する演奏中止位置を受信する(S614)。
カラオケ演奏処理部323は、予約情報の楽曲IDが示すカラオケ楽曲の演奏を開始させる(S615)。たとえばカラオケ演奏処理部323は、対応するカラオケデータをカラオケデータ記憶部331から読み出し、音響処理部34および表示処理部35を制御して、カラオケデータに基づきカラオケ演奏音およびマイク24からの歌唱音声をスピーカ22から放音させるとともに、映像データに基づく背景映像および歌詞データに基づく歌詞テロップを合成した映像をモニタ23に表示させることができる。
手動演奏中止処理部324は中止信号を受信した場合(S616:YES)、音響処理部34および表示処理部35を制御して、演奏中のカラオケ楽曲の演奏を中止する(S617)。演奏中止情報送信部325は、予約情報に含まれている利用者IDおよび楽曲IDと、カラオケ装置2が設置されている店舗を示す店舗IDと、演奏が中止された楽曲中の位置(先頭からのオフセット位置)とを含む演奏中止情報を作成してホスト装置1に送信する(S618)。そして処理はステップS623に進む。
一方、中止信号を受信しておらず(S616:NO)、予約情報の自動中止オプションが「真」の場合(S619:YES)、自動演奏中止処理部326は、現在のカラオケ楽曲の演奏位置が演奏中止位置に来ているか否かを判定し(S620)、演奏中止位置に来ていれば(S620:YES)、音響処理部34および表示処理部35を制御して、演奏中のカラオケ楽曲の演奏を中止する(S621)。演奏中止位置に来ていなければ(S620:NO)、処理はステップS622に進む。
中止信号を受信しておらず(S616:NO)、自動中止オプションが設定されていなければ(S619:NO)、カラオケ演奏処理部323は、カラオケ楽曲の演奏が終了したかどうかを判定する(S622)。演奏が終了していなければ(S622:NO)、処理はステップS616に戻る。
カラオケの演奏が終了した場合(S622:YES)、中止信号に応じて演奏を中止した場合(S616:YES)、または自動中止オプションに応じて自動的に演奏を中止した場合には(S619:YES、S620:YES)、カラオケ演奏処理部323は、カラオケを継続するか否かを判定し(S623)、たとえばカラオケを終了するように利用者からの操作指示を受けるなど、カラオケを終了すると判定すれば(S623:YES)、処理を終了する。そうでなければ、ステップ611からの処理が繰り返される。
以上のようにして、本実施形態の通信カラオケシステムによれば、利用者は、たとえば利用時間が限られた環境で多くの楽曲を歌唱したい場合に、自動演奏終了オプションを設定することで、利用者が歌唱中に指示を出すことなく自動的に演奏を中止させることができる。また、演奏中止位置は、他の多くの歌唱者が実際に演奏を中止させた時点に基づいて決定されるので、利用者に満足のいく自然な最適位置で自動的に演奏を中止させることが可能となる。
また、本実施形態の通信カラオケシステムによれば、図7に示すような楽曲の構成単位の区切りで自動的に演奏を中止させることができる。したがって、不自然な場所で演奏が中止されてしまうことなく、歌唱者および聴者にとって自然な位置で演奏を中止させることができる。
また、本実施形態の通信カラオケシステムでは、利用者の年齢などの属性や店舗の属性、時間帯などが近い状況で演奏が中止されたときの中止位置に応じた演奏中止位置で演奏を中止させることができる。したがって、さらに確実に自然かつ最適な演奏中止位置にて演奏を中止することができる。
また、本実施形態の通信カラオケシステムによれば、利用者の属性、店舗の属性および時間帯という中止条件に対応する演奏中止位置のうち最も遅い位置で自動的に演奏を中止することができる。利用者が手動で演奏を中止させる位置は、中止条件ごとにばらつくことが想定されるところ、その中で最も遅いところを演奏中止位置とすることができるので、たとえば盛り上がっている最中に演奏が終了してしまうなど、歌唱者に物足りなさを感じさせることがなるべく起こらないようにすることができる。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。たとえば、次のように構成してもよい。
本実施形態では、ホスト装置1およびカラオケ装置2により通信カラオケシステムが構成されるものとしたが、カラオケ装置2単体でカラオケシステムを構成するようにしてもよい。この場合、カラオケ装置2は、ホスト装置1が備える演奏中止位置決定部123、演奏中止位置提供部124、利用者情報記憶部131、カラオケデータ記憶部133、演奏中止履歴記憶部134および演奏中止位置記憶部135を備えるようにし、カラオケ本体21の演奏中止情報送信部324は演奏中止情報を演奏中止位置記憶部135に登録するようにすればよい。
また、本実施形態では、1台のホスト装置1に複数のカラオケ装置2が接続されている構成としたが、ホスト装置1は複数台設けるようにしてもよい。この場合、複数台のコンピュータにより1台のホスト装置1を構成するようにしてもよいし、たとえばエリアごとにホスト装置1を設け、当該エリア内の店舗に設置されたカラオケ装置2が対応するホスト装置1に接続するようにしてもよい。
また、本実施形態では、伴奏データに演奏区間を区別する情報が含まれていることができるものとしたが、たとえば歌詞データと伴奏データとが同期可能なっており、歌詞データは画面に表示される長さが決まっていることから、伴奏データには演奏区間を区別する情報を含めず、画面に表示される歌詞部分の長さに対応する長さの伴奏データを演奏区間とすることもできる。
また、本実施形態では、カラオケデータは図7に示すような楽曲の構成単位により複数の演奏区間に分割されているものとしたが、楽曲の演奏区間は、たとえばノート(音符)単位としてもよいし、小節単位としてもよいし、1秒、5秒、10秒などの一定時間の単位としてもよい。また、Aメロ、Bメロ、サビといった主題の単位としてもよい。また、伴奏データがPCM(Pulse Code Modulation)音源であるような場合には、伴奏データの波形に応じて演奏区間を区切るようにしてもよい。この場合でも、多くの利用者が中止した位置で演奏を中止させることができる。したがって、多くの利用者にとって自然な位置で演奏を中止させることが可能となり、自動演奏中止に係る不自然さを低減することができる。
また、本実施形態では、利用者の属性および店舗の属性の組み合わせごとに演奏中止位置を決定するものとしたが、利用者の属性および店舗の属性に加え、カラオケ楽曲の属性も加えた組み合わせごとに決定するようにしてもよい。この場合、たとえばカラオケデータ記憶部133が楽曲IDに対応付けてカラオケ楽曲のカテゴリ等の属性を記憶するようにし、演奏中止位置決定部123は演奏中止情報に含まれる利用者ID、店舗IDおよび楽曲IDに対応する利用者、店舗およびカラオケ楽曲の属性を利用者情報記憶部131、店舗情報記憶部132およびカラオケデータ記憶部133からそれぞれ読み出し、読み出した属性の組み合わせごとに演奏中止位置を決定するようにすればよい。
また、本実施形態では、演奏中止位置には、カラオケ楽曲中の演奏区間を示す情報と、当該演奏区間の開始時点または終了時点のいずれであるかを示す情報とが含まれるものとしたが、演奏区間のみが含まれるようにしてもよい。この場合、演奏区間の開始位置または終了位置のいずれかを演奏中止位置とすればよい。
また、本実施形態では、カラオケ装置2から送信される演奏中止情報の中止位置は先頭からのオフセットが設定され、ホスト装置1において演奏区間と開始または終了時点との組み合わせに更新するものとしたが、カラオケ装置2において演奏区間と開始または終了時点との組み合わせを中止位置に設定するようにしてもよい。この場合、カラオケ装置2の手動演奏中止処理部324が図9のステップS512−S516の処理を行うようにすればよい。
また、本実施形態では、演奏中止情報登録部122が演奏中止情報の登録時に、演奏区間と開始時点または終了時点との組み合わせとなるように演奏中止情報の中止位置を変換するものとしたが、演奏中止情報の中止位置はカラオケ装置2から送信されたまま(カラオケ楽曲の先頭からのオフセット位置)としておき、後から変換するようにしてもよい。たとえば、中止位置を演奏区間と開始時点または終了時点との組み合わせに変換する図9のステップS512−S516の処理を関数として準備し、演奏中止位置決定部123が、図11の処理のステップS532およびS534において、上記関数に中止位置を与えた結果ごとにカウントを行いステップS533およびS535において、当該結果を設定した演奏中止位置情報を演奏中止位置記憶部135に登録することができる。これにより、多数のカラオケ装置2から大量の演奏中止情報が送信されてくる状況において、演奏中止情報の登録処理の負荷を軽減することができる。
また、本実施形態では、演奏区間の途中で演奏が中止された場合には、開始時点または終了時点の近い方を中止位置とするものとしたが、常に開始時点を中止位置としてもよい。この場合中止位置は演奏区間のみを指定すればよい。またこの場合に、終了時点から所定時間(たとえば1秒、1小節、1ノートなど任意の単位とすることができる。)前以後に演奏が中止された場合には、次の演奏区間を指定するようにしてもよい。
また、本実施形態では、演奏中止位置記憶部135はホスト装置1に設け、カラオケ装置2から演奏中止位置をホスト装置1に問い合わせるものとしたが、カラオケ楽曲ごとの演奏中止位置をホスト装置1からカラオケ装置2に送信し、各カラオケ装置2が演奏中止位置記憶部135を備えるようにしてもよい。
また、本実施形態では、中止条件(利用者の属性、店舗の属性および時間帯)に対応する演奏中止位置のうちいずれで自動的に演奏を中止させるかをホスト装置1で決定するものとしたが、カラオケ装置2で決定するようにしてもよい。この場合、ホスト装置1の演奏中止位置提供部124は、図12のステップS559の前までを実行するとともに、デフォルトの演奏中止位置情報をリストに加えたうえでリストをカラオケ装置2に応答し、自動演奏中止処理部326は、図18のステップS614において、受信したリストに1つしか演奏中止位置情報が含まれていない場合にはその演奏中止位置を選択し、複数の演奏中止情報が含まれている場合には、デフォルトの演奏中止位置情報を除いたものの中で最も遅い演奏中止位置を選択することができる。
また、本実施形態では、中止条件に対応する演奏中止位置が複数あった場合には、最も遅い演奏中止位置を選択するものとしたが(図12のステップS561)、これに限らず、他の演奏中止位置を選択するようにしてもよい。たとえば、図12の処理において、リストに含まれている中止位置ごとの演奏中止位置情報の数をカウントし、カウント値の多い中止位置を演奏中止位置として選択するようにしてもよい。また、図11のステップS536でカウント値(すなわち、その演奏中止位置で演奏を中止させた利用者の延べ人数)を演奏中止位置情報に含めるようにし、図12のステップS561において、延べ人数の最も多い演奏中止位置情報を選択するようにしてもよい。
また、所定の演奏区間については演奏中止位置としないようにしてもよい。たとえば、当該所定の演奏区間が図7の例の「1番」とした場合には、「1番」までの前奏41および1番42に中止位置(S)が演奏中止情報に設定されていた場合には、演奏中止情報登録部122は、その演奏中止情報を演奏中止位置提供部124に登録しないようにしてもよいし、中止位置を「1番」の終了時として演奏中止情報を演奏中止位置提供部124に登録するようにしてもよい。同様に、所定の演奏区間(たとえば後奏)以後の中止位置についても演奏中止位置としないようにしてもよい。
また、本実施形態では、図11に示すように、中止条件に対応する演奏中止回数(すなわち中止条件に対応する演奏中止情報のカウント値)が最も多い演奏中止位置を演奏中止位置記憶部135に登録するものとしたが、所定数以上のカウント値となった中止位置の中で最も遅いものを演奏中止位置記憶部135に登録するようにしてもよい。この場合の図11の処理の変形例を図19に示す。図11の処理と比べて図19の処理では、演奏中止位置決定部123は、ステップS532で利用者および店舗の属性ごとに演奏中止回数をカウントした後、カウント値が所定数以上の中止位置を特定し(S541)、特定した中止位置のうち最も遅いものをXとして(S542)、楽曲ID、カラム名、CおよびXを含む演奏中止位置情報を演奏中止位置記憶部135に登録するようにする(S533’)。また、演奏中止位置決定部123は、時間帯についても同様に、ステップS534で時間帯ごとに演奏中止回数をカウントした後、カウント値が所定数以上の中止位置を特定し(S543)、特定した中止位置のうち最も遅いものをXとして(S544)、楽曲ID、「時間帯」、TおよびXを含む演奏中止位置情報を演奏中止位置記憶部135に登録するようにする(S535’)。これにより、中止条件ごとに演奏の中止された回数の多い中止位置のうち最も遅いものを演奏中止位置として決定することができる。したがって、たとえば盛り上がっている最中に演奏が終了してしまうなど、歌唱者に物足りなさを感じさせることがなるべく起こらないようにすることができる。
また、本実施形態では、中止条件として利用者の属性、店舗の属性および時間帯を用いるものとしたが、これに限らず、たとえばカラオケ楽曲の属性(ジャンル、長さ、曲調、テンポなど)を中止条件として用いてもよい。この場合、図11の処理により、演奏中止情報の楽曲IDに対応するカラオケ楽曲の属性ごとに演奏中止位置別の中止回数をカウントして演奏中止位置情報を登録しておき、図12の処理において、ステップS557,S558の処理をカラオケ楽曲の属性についても行うようにすればよい。
また、本実施形態では、カラオケ楽曲ごとに演奏中止位置を算出しておくものとしたが、楽曲IDを問わずに全ての演奏中止情報基づいて中止条件(利用者の属性、店舗の属性および時間帯)ごとに演奏中止位置を決定するようにしてもよい。
また、本実施形態では、中止条件ごとに演奏中止位置を決定するものとしたが、利用者別に演奏中止位置を決定するようにしてもよい。この場合、図10に示す中止位置情報には、利用者IDのカラムを設けるようにし、演奏中止位置決定部123は、図11の処理では利用者IDにNULL値を設定した演奏中止位置情報を登録するようにし、さらに、楽曲IDおよび利用者IDごとに演奏中止情報を読み出して、中止位置ごとに演奏中止情報の数をカウントし、カウント値が最も大きい中止位置と利用者IDとを設定した演奏中止位置情報を登録すればよい。また、演奏中止位置提供部124は、図12の処理において、利用者IDおよび楽曲IDに対応する演奏中止位置が演奏中止位置記憶部135に登録されている場合には、その演奏中止位置を応答することができる。ここで、利用者IDおよび楽曲IDに対応する演奏中止位置が演奏中止位置記憶部135に登録されていない場合には、利用者IDが設定されていない(NULL値)演奏中止位置情報について図12の処理を行うことで、演奏中止位置を決定することができる。
また、利用者別に演奏中止位置を決定しておき、演奏中止位置取得要求に設定されている楽曲IDを問わず、利用者IDに対応する演奏中止位置を応答するようにしてもよい。
また、本実施形態では、利用者情報の取得はカラオケ装置2のリモコン装置25を用いて取得するものとしたが、カラオケ店KBに設置されるストアコンピュータ(不図示)が取得するようにしてもよい。この場合、カラオケ店KBの店員が利用者情報をストアコンピュータに入力したり、ストアコンピュータが会員証から利用者情報を読み出したりすることができる。