<第1実施形態>
図1~図4を参照して、第1実施形態に係るカラオケ装置について説明する。
==カラオケ装置及び楽器==
カラオケ装置は、利用者が選曲した楽曲のカラオケ演奏、及び利用者がカラオケ歌唱を行うための装置である。カラオケ装置は、楽器の演奏が可能なカラオケ店舗に設置される。図1の例において、カラオケ装置Kは、カラオケ店舗KSに設置されている。カラオケ装置Kは、利用者Uが利用している。また、利用者Uはステージ上にいる。
楽器は、エレクトリックギター、アコーステックギター、エレクトリックベース、シンセサイザー、ドラム等の楽器である。各楽器は、カラオケ演奏音に合わせて、演奏者が生演奏するために用いられる。演奏者は、楽器を演奏する者である。図1では、楽器MI1(ギター)を演奏する演奏者P1と、楽器MI2(ベース)を演奏する演奏者P2と、楽器MI3(ドラム)を演奏する演奏者P3とがステージ上にいる例を示している。なお、楽器のうち、電気楽器や電子楽器の演奏音は、楽器用アンプ装置を介し、楽器用スピーカから放音される(いずれも図示なし)。
また、カラオケ店舗KSには、照明装置LE及び撮影装置SEが設置されている。
照明装置LEは、楽曲の進行に応じて、ステージ上に照明を当てるための装置である。たとえば、利用者Uが、カラオケ演奏音に合わせてカラオケ歌唱を行う場合、照明担当者は、照明装置LEを操作し、利用者Uに照明が当たるよう調整する。一方、一の演奏者がソロ演奏を行う場合、照明担当者は、照明装置LEを操作し、当該一の演奏者に対してスポット照明が当たるよう調整する。ソロ演奏は、複数の演奏者で楽器の生演奏を行う際に、単独または一部の演奏者のみが行う演奏である。
撮影装置SEは、たとえばカメラのような、演奏者がいるステージやカラオケ店舗KS内を撮影するための装置である。撮影装置SEは、カラオケ装置Kからの指示に基づいて撮影を開始し、得られた映像データをカラオケ装置Kに送信する。
==カラオケ装置の詳細==
図2に示すように、カラオケ装置Kは、カラオケ本体10、スピーカ20、表示装置30、マイク40、及びリモコン装置50を備える。
カラオケ本体10は、選曲された楽曲のカラオケ演奏制御、歌詞や背景映像等の表示制御、マイク40を通じて入力された音声信号の処理といった、カラオケ演奏やカラオケ歌唱に関する各種の制御を行う。スピーカ20はカラオケ本体10からの信号に基づいて放音するための構成である。表示装置30はカラオケ本体10からの信号に基づいて映像や画像を画面に表示するための構成である。マイク40は利用者のカラオケ歌唱の歌唱音声をアナログの音声信号に変換してカラオケ本体10に入力するための構成である。リモコン装置50は、カラオケ本体10に対する各種操作をおこなうための装置である。
図3に示すように、本実施形態に係るカラオケ本体10は、記憶手段10a、通信手段10b、入力手段10c、演奏手段10d、及び制御手段10eを備える。各構成はインターフェース(図示なし)を介してバスBに接続されている。
[記憶手段]
記憶手段10aは、各種のデータを記憶する大容量の記憶装置である。記憶手段10aは、楽曲データを記憶する。楽曲データは、楽曲識別情報が付与されている。楽曲識別情報は、楽曲を識別するための楽曲ID等、各楽曲に固有の情報である。楽曲データは、カラオケ演奏データ、リファレンスデータ、区間情報等を含む。カラオケ演奏データは、カラオケ演奏音の元となるMIDI形式のデータである。リファレンスデータは、カラオケ演奏された楽曲の主旋律を示すデータである。区間情報は、演奏区間を示す。演奏区間は、カラオケ演奏が行われる区間である。演奏区間は、歌唱区間及び非歌唱区間を含む。歌唱区間は、ある楽曲において歌唱すべき歌詞が設定されている区間(たとえば、1番のAメロ、Bメロ、サビ)である。非歌唱区間は、たとえば前奏、間奏、後奏のような、ある楽曲において歌唱すべき歌詞が設定されていない区間である。
また、記憶手段20は、楽曲毎に、カラオケ演奏時に表示される背景映像に対応する背景映像データ、楽曲の歌詞を表示するための歌詞テロップデータ、及び楽曲の属性情報(楽曲名、歌手名、ジャンル等)を記憶する。
[通信手段・入力手段]
通信手段10bは、外部との通信を行うためのインターフェースを提供する。入力手段10cは、利用者が各種の指示入力を行うための構成である。入力手段10cは、カラオケ本体10に設けられたボタン等である。或いは、リモコン装置50が入力手段10cとして機能してもよい。
[演奏手段]
演奏手段10dは、制御手段10eの制御に基づき、楽曲のカラオケ演奏、及びマイク40を通じて入力された歌唱音声に基づく信号の処理を行う。演奏手段10dは、音源、ミキサ、アンプ等を含む(いずれも図示なし)。
[制御手段]
制御手段10eは、カラオケ装置Kにおける各種の制御を行う。制御手段10eは、CPUおよびメモリ(いずれも図示無し)を備える。CPUは、メモリに記憶されたプログラムを実行することにより各種の機能を実現する。
本実施形態においてはCPUがメモリに記憶されるプログラムを実行することにより、制御手段10eは、判定部100及び演奏制御部200として機能する。
(判定部)
判定部100は、楽曲のカラオケ演奏音に合わせた楽器の生演奏を行う演奏者によるソロ演奏の開始及び終了を判定する。
ソロ演奏の開始及び終了の判定は、様々な方法で行うことができる。本実施形態において、判定部100は、演奏者を撮影して得られた映像データに基づいて、当該演奏者によるソロ演奏の開始及び終了を判定する。
たとえば、カラオケ装置Kの利用者は、リモコン装置50を操作し、カラオケ演奏音に合わせて演奏者による楽器の生演奏を行うモード(以下、「生演奏モード」)を選択する。リモコン装置50は、生演奏モードが選択された旨の信号をカラオケ装置Kに送信する。
生演奏モードが選択された旨の信号を受信した場合、カラオケ装置Kは、カラオケ店舗KSに設置された撮影装置SE(図1参照)に対し、演奏者がいるステージの撮影を開始するよう指示する。撮影装置SEは、ステージを撮影して得られた映像データをカラオケ装置Kに送信する。なお、カラオケ装置Kは、撮影装置SEに対し、楽曲のカラオケ演奏が開始されるタイミング(すなわち、生演奏が開始されるタイミング)で演奏者がいるステージの撮影を開始するよう指示してもよい。
判定部100は、受信した映像データを公知の画像認識技術を用いて解析し、映像に含まれる演奏者毎の映像データを取得する。
判定部100は、演奏者の映像データそれぞれについて、公知の技術を用いて輝度値を求め、所定条件を満たすかどうかを判断する。所定条件は、たとえば、「1000ルクス以上」、「1500ルクスより高い」等、予め設定されている。
ここで上述の通り、一の演奏者がソロ演奏を行う際、照明担当者は、照明装置LEを操作し、当該一の演奏者に対してスポット照明が当たるよう調整する。この場合、ソロ演奏を行っている演奏者に対応する映像データの輝度値は、高い値を示す。
よって、判定部100は、一の演奏者に対応する映像データについて求めた輝度値が、所定条件を満たすと判断した場合、一の演奏者によるソロ演奏が開始されたと判定する。なお、本実施形態では、複数の演奏者のうち、一の演奏者のみがソロ演奏を行う例について説明を行う(複数の演奏者それぞれがソロ演奏を行う例については後述の変形例を参照)。
一方、判定部100は、一の演奏者によるソロ演奏の開始を判定した後、当該一の演奏者に対応する映像データの輝度値をモニタリングする。一の演奏者がソロ演奏を終えた際、照明担当者は、照明装置LEを操作し、当該一の演奏者に対して当たっていたスポット照明を外すよう調整する。この場合、一の演奏者に対応する映像データの輝度値は、スポット照明が当たっていた際の映像データの輝度値に比べて低い値を示す。
よって、判定部100は、一の演奏者に対応する映像データについて求めた輝度値が、所定条件を満たさないと判断した場合、一の演奏者によるソロ演奏が終了したと判定する。
なお、映像データからソロ演奏の開始及び終了を判定する方法は上記例に限られない。たとえば、カラオケ装置Kは、撮影装置SEに対し、演奏者がいるステージ及びカラオケ歌唱を行う利用者の撮影を開始するよう指示する。撮影装置SEは、ステージ及び利用者を撮影して得られた映像データをカラオケ装置Kに送信する。
判定部100は、受信した映像データを解析し、カラオケ店舗の客席と各演奏者との距離を求め、所定条件を満たすかどうかを判断する。所定条件は、たとえば、「3メートル以内」、「2メートル未満」等、予め設定されている。
ここで、演奏者がソロ演奏を行う際、通常の立ち位置からステージ前方に移動し、客席に近づく可能性が高い。この場合、ソロ演奏を行っている演奏者と客席との距離は、短くなる可能性が高い。
よって、判定部100は、客席と一の演奏者との距離が、所定条件を満たすと判断した場合、一の演奏者によるソロ演奏が開始されたと判定する。
一方、判定部100は、一の演奏者によるソロ演奏の開始を判定した後、当該一の演奏者と客席との距離をモニタリングする。一の演奏者がソロ演奏を終えた際、通常の立ち位置に戻る。この場合、一の演奏者と客席との距離は、ソロ演奏時における距離に比べて長い値を示す。
よって、判定部100は、一の演奏者と客席との距離が、所定条件を満たさないと判断した場合、一の演奏者によるソロ演奏が終了したと判定する。
或いは、判定部100は、上述の例と同様、受信した映像データを公知の画像認識技術を用いて解析し、映像に含まれる演奏者毎の映像データを取得する。
判定部100は、演奏者の映像データそれぞれについて、公知の技術を用いて演奏者の動作を抽出し、ソロ演奏の開始を判定するための所定条件を満たすかどうかを判断する。ソロ演奏の開始を判定するための所定条件は、たとえば、「楽器を高く掲げる」、「(ドラムの場合)ステックによるカウントを取る動作を行う」等、予め設定されている。
判定部100は、一の演奏者に対応する映像データから抽出した動作が、ソロ演奏の開始を判定するための所定条件を満たすと判断した場合、一の演奏者によるソロ演奏が開始されたと判定する。
一方、判定部100は、一の演奏者によるソロ演奏の開始を判定した後、当該一の演奏者の動作をモニタリングする。判定部100は、一の演奏者の動作が、ソロ演奏の終了を判定するための所定条件を満たすかどうかを判断する。ソロ演奏の終了を判定するための所定条件は、たとえば、「手を挙げる」、「お辞儀をする」等、予め設定されている。
判定部100は、一の演奏者に対応する映像データから抽出した動作が、ソロ演奏の終了を判定するための所定条件を満たすと判断した場合、一の演奏者によるソロ演奏が終了したと判定する。
(演奏制御部)
演奏制御部200は、カラオケ装置Kにおけるカラオケ演奏の制御を行う。
たとえば、利用者は、生演奏モードを選択したのち、リモコン装置50を操作し、選曲画面を介してカラオケ歌唱を希望する楽曲の選曲を行う。リモコン装置50は、利用者が選曲した楽曲の楽曲IDをカラオケ装置Kに送信する。カラオケ装置Kは、受信した楽曲IDを予約待ち行列に登録することで、楽曲のカラオケ演奏の予約を行う。
演奏制御部200は、予約待ち行列に登録されている楽曲IDを元に、楽曲のカラオケ演奏データを記憶手段10aから取得する。演奏制御部200は、取得したカラオケ演奏データを再生し、スピーカ20からカラオケ演奏音を放音させるよう、演奏手段10dを制御する。
演奏者は、スピーカ20から放音されるカラオケ演奏音に合わせて楽器の生演奏を行う。利用者は、スピーカ20から放音されるカラオケ演奏音及び楽器演奏音に合わせてカラオケ歌唱を行うことができる。
ここで、本実施形態に係る演奏制御部200は、ソロ演奏の開始が判定された場合、楽曲のカラオケ演奏を中断させ、且つ当該ソロ演奏の終了が判定された場合、当該ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、当該楽曲のカラオケ演奏を再開させる。
たとえば、利用者は、前奏、1番のAメロ、1番のBメロ、1番のサビ、間奏、2番のAメロ、2番のBメロ、・・・のような歌唱区間及び非歌唱区間で構成される楽曲Xのカラオケ歌唱を行っているとする。ここで、演奏者が、楽曲Xの1番のサビの次の間奏において、ソロ演奏を開始したとする。この場合、判定部100は、ソロ演奏の開始を判定し、演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xの間奏のカラオケ演奏を中断する。
一方、演奏者がソロ演奏を終了したとする。この場合、判定部100は、ソロ演奏の終了を判定し、演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間(すなわち、2番のAメロ)から、楽曲Xのカラオケ演奏を再開させる。
なお、演奏制御部200は、楽曲のカラオケ演奏を再開させる際、当該楽曲の前奏のカラオケ演奏を行った後、次の歌唱区間のカラオケ演奏を行わせてもよい。
たとえば、上記例において、演奏制御部200は、楽曲Xのカラオケ演奏を再開させる際、先に前奏のカラオケ演奏を行った後、2番のAメロのカラオケ演奏を再開させることができる。
また、演奏制御部200は、ソロ演奏の開始が判定された場合、楽曲のカラオケ演奏音をフェードアウトさせた後、カラオケ演奏を中断させてもよい。カラオケ演奏音のフェードアウトは、公知の技術を用いて行うことができる。
たとえば、上述の通り、楽曲Xの1番のサビの次の間奏でソロ演奏が判定された場合、演奏制御部200は、間奏のカラオケ演奏音をフェードアウトさせた後、カラオケ演奏を中止させることができる。
また、上記例では、予め楽曲Xに設定されている間奏においてソロ演奏が開始される例について説明した。一方、ソロ演奏が開始されるタイミングは、これに限られない。
たとえば、前奏、1番のAメロ、1番のBメロ、1番のサビ、2番のAメロ、2番のBメロ、2番のサビ、間奏、3番のBメロ・・・のような歌唱区間及び非歌唱区間で構成されている楽曲Yがあるとする。
ここで、楽曲Yのカラオケ演奏に合わせて、演奏者が1番のサビの終了直後にソロ演奏を開始したとする。この場合、判定部100は、演奏者によるソロ演奏が開始されたと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Yのカラオケ演奏を中断する。その後、判定部100によってソロ演奏の終了が判定された場合、演奏制御部200は、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Yのカラオケ演奏を再開させる。
==カラオケ装置Kの動作について==
次に、図4を参照して本実施形態におけるカラオケ装置Kの動作の具体例について述べる。図4は、カラオケ装置Kの動作例を示すフローチャートである。この例では、カラオケ店舗KSにおいて、利用者Uがカラオケ装置Kを利用するとする(図1参照)。また、楽器の生演奏を行う演奏者として、演奏者P1~演奏者P3がステージにいるとする(図1参照)。さらに、この例では、利用者Uが、楽曲Xを生演奏モードでカラオケ歌唱を行うとする。楽曲Xは、前奏、1番のAメロ、1番のBメロ、1番のサビ、間奏、2番のAメロ、2番のBメロ、・・・のような歌唱区間及び非歌唱区間で構成されているとする。
演奏制御部200は、予約待ち行列に登録されている楽曲Xの楽曲IDを元に、楽曲Xのカラオケ演奏データを記憶手段10aから取得する。演奏制御部200は、取得したカラオケ演奏データを再生し、スピーカ20からカラオケ演奏音を放音させるよう、演奏手段10dを制御する(楽曲のカラオケ演奏を開始。ステップ10)。演奏者P1~演奏者P3は、スピーカ20から放音されるカラオケ演奏音に合わせてそれぞれ楽器の生演奏を行う。利用者Uは、スピーカ20から放音されるカラオケ演奏音及び楽器演奏音に合わせてカラオケ歌唱を行う。
判定部100は、演奏者によるソロ演奏の開始を判定する処理を行う。ソロ演奏の開始を判定した場合(ステップ11でYの場合)、判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xのカラオケ演奏を中断する(カラオケ演奏を中断。ステップ12)。よって、演奏者は、ソロ演奏を自由に行うことができる。
一方、一の演奏者によるソロ演奏の開始を判定した後、判定部100は、当該一の演奏者によるソロ演奏の終了を判定する処理を行う。ソロ演奏の終了を判定した場合(ステップ13でYの場合)、判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、楽曲Xのカラオケ演奏を再開させる(ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、楽曲のカラオケ演奏を再開。ステップ14)。
カラオケ装置Kは、楽曲Xのカラオケ演奏が終了するまで(ステップ15でYの場合)、ステップ11からステップ14の処理を繰り返し行う。
具体的に、判定部100は、撮影装置SEから受信した映像データを解析し、映像に含まれる演奏者P1~演奏者P3毎の映像データM1~映像データM3を取得する。なお、カラオケ装置Kは、各映像データがどの演奏者に対応しているかを判別する必要はない。
判定部100は、映像データM1~映像データM3それぞれについて、輝度値を求め、所定条件を満たすかどうかを判断する。たとえば、楽曲Xの間奏において、映像データM1について求めた輝度値が所定条件を満たすと判断した場合、判定部100は、映像データM1に対応する演奏者によるソロ演奏が開始されたと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xの間奏のカラオケ演奏を中断する。映像データM1に対応する演奏者は、自由にソロ演奏を行う。また、映像データM2、M3に対応する演奏者は、ソロ演奏をサポートする演奏を行う。
一方、判定部100は、映像データM1に対応する演奏者によるソロ演奏の開始を判定した後、映像データM1の輝度値をモニタリングする。判定部100は、映像データM1の輝度値が所定条件を満たすかどうかを判断する。映像データM1について求めた輝度値が所定条件を満たさないと判断した場合、判定部100は、映像データM1に対応する演奏者によるソロ演奏が終了したと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Xのカラオケ演奏を再開させる。
以上から明らかなように、本実施形態に係るカラオケ装置Kは、楽曲のカラオケ演奏音に合わせた楽器の生演奏を行う演奏者によるソロ演奏の開始及び終了を判定する判定部100と、ソロ演奏の開始が判定された場合、楽曲のカラオケ演奏を中断させ、且つ当該ソロ演奏の終了が判定された場合、当該ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、当該楽曲のカラオケ演奏を再開させる演奏制御部200と、を有する。
このようなカラオケ装置Kによれば、演奏者がソロ演奏を開始した場合、カラオケ演奏を中断することができる。カラオケ演奏の中断により、カラオケ演奏音が放音されることがない。よって、演奏者は、利用者や聴衆の要求に応じた自由なソロ演奏を行うことにより、カラオケ歌唱の場を盛り上げることができる。一方、カラオケ装置Kは、演奏者がソロ演奏を終了した場合、ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、カラオケ演奏を再開させることができる。よって、利用者は、ソロ演奏が終了した後、引き続きカラオケ歌唱を楽しむことができる。すなわち、本実施形態に係るカラオケ装置Kによれば、カラオケ演奏音に合わせて演奏者が楽器の生演奏を行う際に、ソロ演奏の自由度を高めることができる。
また、本実施形態に係るカラオケ装置Kにおける判定部100は、演奏者を撮影して得られた映像データに基づいて、当該演奏者によるソロ演奏の開始及び終了を判定することができる。映像データを用いることにより、ソロ演奏の開始及び終了を容易に判定できる。
また、本実施形態に係るカラオケ装置Kにおける演奏制御部200は、楽曲のカラオケ演奏を再開させる際、当該楽曲の前奏のカラオケ演奏を行った後、次の歌唱区間のカラオケ演奏を行わせることができる。カラオケ演奏の再開時に非歌唱区間である前奏のカラオケ演奏を行うことにより、利用者はソロ演奏の終了を把握しやすくなる。よって、ソロ演奏の終了後、すぐに歌唱区間のカラオケ演奏が開始される場合に比べ、カラオケ歌唱の再開をスムーズに行うことができる。
また、本実施形態に係るカラオケ装置Kにおける演奏制御部200は、ソロ演奏の開始が判定された場合、楽曲のカラオケ演奏音をフェードアウトさせた後、カラオケ演奏を中断させることができる。カラオケ演奏音をフェードアウトさせることにより、カラオケ演奏が突然中断されることがないため、演奏者はスムーズにソロ演奏やソロ演奏をサポートする演奏を行うことができる。
<第2実施形態>
図5及び図6を参照して、第2実施形態に係るカラオケ装置について説明する。本実施形態においては、カラオケ演奏が中断されている間の生演奏のテンポを考慮してカラオケ演奏を再開する例について述べる。第1実施形態と同様の構成等については説明を省略する。
[制御手段]
本実施形態においてはCPUがメモリに記憶されるプログラムを実行することにより、制御手段10eは、判定部100、演奏制御部200、演奏データ取得部300、及び抽出部400として機能する(図5参照)。
(演奏データ取得部)
演奏データ取得部300は、演奏者による生演奏に対応する演奏データを取得する。
演奏データの取得は、たとえば、カラオケ店舗に設置された、マイク等の集音手段(図示なし)を用いて行うことができる。
生演奏モードにおいて、演奏者は楽器の生演奏を行う。ここで、判定部100によりソロ演奏の開始が判定された場合、演奏データ取得部300は、集音手段に対し、生演奏の演奏音を集音するよう指示する。集音手段は、当該指示に応じて演奏音の集音を開始する。集音手段は、集音した演奏音に対応するデータを演奏データ取得部300に出力する。演奏データ取得部300は、演奏音に対応するデータを演奏データとして取得する。一方、判定部100によりソロ演奏の終了が判定された場合、演奏データ取得部300は、集音手段に対し、生演奏の演奏音の集音を停止するよう指示する。集音手段は、当該指示に応じて演奏音の集音を停止する。
(抽出部)
抽出部400は、演奏者によるソロ演奏が開始された後、取得された演奏データに基づいてテンポ情報を抽出する。
テンポ情報は、ソロ演奏及びソロ演奏をサポートする他の楽器による演奏を含む生演奏を行うテンポを示す情報である。演奏データからテンポ情報を抽出する処理は、公知の技術を用いることができる。たとえば、抽出部400は、複数の楽器の演奏音が含まれる音声信号を所定の周波数特性を有するフィルタで処理した後、波高値に基づいてビートを特定し、特定したビートに基づいてテンポ情報を抽出することができる。
抽出部400は、演奏者によるソロ演奏が開始された後に演奏データ取得部300で取得された演奏データを解析し、テンポ情報を抽出する。抽出部400は、抽出したテンポ情報を演奏制御部200に出力する。
なお、演奏データ取得部300は、演奏者による生演奏が開始された時点から演奏データの取得を開始してもよい。この場合、判定部100は、ソロ演奏の開始を判定し、抽出部400に通知する。抽出部400は、当該通知後に演奏データ取得部300が取得した演奏データを解析し、テンポ情報を抽出する。
また、ソロ演奏の途中で演奏のテンポが変わる可能性もある。よって、抽出部400は、判定部100によりソロ演奏の終了が判定される直前に取得された演奏データに基づいてテンポ情報を抽出することが好ましい。
(演奏制御部)
本実施形態に係る演奏制御部200は、抽出したテンポ情報に基づいて、楽曲のカラオケ演奏を再開させる。
たとえば、第1実施形態で述べたように、判定部100が、ソロ演奏の終了を判定し、演奏制御部200に通知したとする。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間(すなわち、2番のAメロ)から、楽曲Xのカラオケ演奏を再開させる。
この際、演奏制御部200は、抽出したテンポ情報が示すテンポと、楽曲Xに予め設定されているテンポとを比較する。
抽出したテンポ情報が示すテンポと、楽曲Xに予め設定されているテンポとが異なっている場合、演奏制御部200は、抽出したテンポ情報が示すテンポで2番のAメロのカラオケ演奏を再開する。
==カラオケ装置Kの動作について==
次に、図6を参照して本実施形態におけるカラオケ装置Kの動作の具体例について述べる。図6は、カラオケ装置Kの動作例を示すフローチャートである。この例では、カラオケ店舗KSにおいて、利用者Uがカラオケ装置Kを利用するとする(図1参照)。また、楽器の生演奏を行う演奏者として、演奏者P1~演奏者P3がステージにいるとする(図1参照)。さらに、この例では、利用者Uが、楽曲Xを生演奏モードでカラオケ歌唱を行うとする。また、楽曲Xは、前奏、1番のAメロ、1番のBメロ、1番のサビ、間奏、2番のAメロ、2番のBメロ、・・・のような歌唱区間及び非歌唱区間で構成されているとする。
ステップ20からステップ22は、第1実施形態のステップ10からステップ12と同様である。ステップ22の後、演奏者は、ソロ演奏を自由に行うことができる。
演奏データ取得部300は、演奏者による生演奏に対応する演奏データを取得する(生演奏に対応する演奏データを取得。ステップ23)。
抽出部400は、ステップ23で取得した生演奏に対応する演奏データに基づいて、テンポ情報を抽出する(テンポ情報を抽出。ステップ24)。
一方、一の演奏者によるソロ演奏の開始を判定した後、判定部100は、当該一の演奏者によるソロ演奏の終了を判定する処理を行う。ソロ演奏の終了を判定した場合(ステップ25でYの場合)、判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、楽曲Xのカラオケ演奏を、ステップ24で抽出したテンポ情報に基づいて再開させる(ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、楽曲のカラオケ演奏を、抽出したテンポ情報に基づいて再開。ステップ26)。
カラオケ装置Kは、楽曲Xのカラオケ演奏が終了するまで(ステップ27でYの場合)、ステップ21からステップ26の処理を繰り返し行う。
具体的に、判定部100は、第1実施形態と同様、撮影装置SEから受信した映像データを解析し、映像に含まれる演奏者P1~演奏者P3毎の映像データM1~映像データM3を取得する。
判定部100は、映像データM1~映像データM3それぞれについて、輝度値を求め、所定条件を満たすかどうかを判断する。たとえば、楽曲Xの間奏において、映像データM1について求めた輝度値が所定条件を満たすと判断した場合、判定部100は、映像データM1に対応する演奏者によるソロ演奏が開始されたと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xの間奏のカラオケ演奏を中断する。映像データM1に対応する演奏者は、自由にソロ演奏を行う。また、映像データM2、M3に対応する演奏者は、ソロ演奏をサポートする演奏を行う。
ここで、演奏データ取得部300は、映像データM1~映像データM3に対応する演奏者による生演奏に対応する演奏データを取得し、抽出部400に出力する。
抽出部400は、取得された生演奏に対応する演奏データに基づいて、テンポTsを示すテンポ情報を抽出する。抽出部400は、抽出したテンポ情報を演奏制御部200に出力する。
一方、判定部100は、映像データM1に対応する演奏者によるソロ演奏の開始を判定した後、映像データM1の輝度値をモニタリングする。判定部100は、映像データM1の輝度値が所定条件を満たすかどうかを判断する。映像データM1について求めた輝度値が所定条件を満たさないと判断した場合、判定部100は、映像データM1に対応する演奏者によるソロ演奏が終了したと判定する。判定部100は、その旨を演奏制御部200に通知する。
演奏制御部200は、抽出したテンポ情報が示すテンポTsと、楽曲Xに予め設定されているテンポToとを比較する。
テンポの値が異なる場合、演奏制御部200は、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Xのカラオケ演奏を、テンポTsで再開させる。なお、演奏制御部200は、テンポ情報が示すテンポと楽曲Xに予め設定されているテンポとを比較することなく、抽出したテンポ情報が示すテンポでカラオケ演奏を再開してもよい。
以上から明らかなように、本実施形態に係るカラオケ装置Kは、演奏者による生演奏に対応する演奏データを取得する演奏データ取得部300と、演奏者によるソロ演奏が開始された後、取得された演奏データに基づいてテンポ情報を抽出する抽出部400と、を有する。本実施形態に係る演奏制御部200は、抽出したテンポ情報に基づいて、楽曲のカラオケ演奏を再開させる。
このようなカラオケ装置Kによれば、ソロ演奏において楽曲のテンポが変わった場合、ソロ演奏終了後のカラオケ演奏のテンポをソロ演奏のテンポに合わせることができる。よって、利用者は、ソロ演奏のテンポに合わせて引き続きカラオケ歌唱を楽しむことができる。
<第3実施形態>
図7及び図8を参照して、第3実施形態に係るカラオケ装置について説明する。本実施形態においては、楽器の演奏データを利用してソロ演奏の開始や終了を判定する例について述べる。第1実施形態等と同様の構成等については説明を省略する。
[制御手段]
本実施形態においてはCPUがメモリに記憶されるプログラムを実行することにより、制御手段10eは、判定部100、演奏制御部200、及び演奏データ取得部300として機能する(図7参照)。
(演奏データ取得部)
演奏データ取得部300は、演奏者による生演奏に対応する演奏データを取得する。
本実施形態において、演奏データ取得部300は、楽器の生演奏が開始された時点から演奏データの取得を開始する。
演奏データの取得は、第2実施形態と同様、カラオケ店舗に設置された、マイク等の集音手段(図示なし)を用いて行うことができる。生演奏モードにおいて、演奏者は楽器の生演奏を行う。演奏データ取得部300は、集音手段に対し、生演奏の演奏音を集音するよう指示する。集音手段は、当該指示に応じて演奏音の集音を開始する。集音手段は、集音した演奏音に対応するデータを演奏データ取得部300に出力する。演奏データ取得部300は、演奏音に対応するデータを演奏データとして取得する。一方、生演奏が終了した場合(すなわち、カラオケ演奏が終了した場合)、演奏データ取得部300は、集音手段に対し、生演奏の演奏音の集音を停止するよう指示する。集音手段は、当該指示に応じて演奏音の集音を停止する。なお、本実施形態において、演奏データの取得は楽器毎に行う。ここで、生演奏に使用する楽器が電気楽器や電子楽器の場合、演奏データ取得部300は、楽器用アンプ装置に入力された演奏信号に基づいて、演奏データを取得することができる。
(判定部)
本実施形態に係る判定部100は、取得した演奏データ、及び予め楽器毎に設定された開始判定データに基づいてソロ演奏の開始を判定し、且つ取得した演奏データ、及び予め楽器毎に設定された終了判定データに基づいてソロ演奏の終了を判定する。
開始判定データは、ソロ演奏の開始を判定するためのデータである。具体的に、開始判定データは、ソロ演奏を開始する際の音高列やリズムパターンを示す情報である。終了判定データは、ソロ演奏の終了を判定するためのデータである。具体的に、終了判定データは、ソロ演奏を終了する際の音高列やリズムパターンを示す情報である。開始判定データ及び終了判定データは、楽器毎に予め設定されている。開始判定データ及び終了判定データは、たとえば記憶手段10aに記憶されている。
第1実施形態で述べたように、生演奏モードにおいて、演奏者は、スピーカ20から放音されるカラオケ演奏音に合わせて楽器の生演奏を行う。利用者は、スピーカ20から放音されるカラオケ演奏音及び楽器演奏音に合わせてカラオケ歌唱を行うことができる。
演奏データ取得部300は、楽器の生演奏が開始された時点で演奏データの取得を開始する。演奏データ取得部300は、取得した演奏データを判定部100に出力する。
判定部100は、出力された演奏データ、及び開始判定データに基づいて、ソロ演奏が開始されたかどうかを判定する。たとえば、判定部100は、出力された演奏データからいずれかの楽器の開始判定データが示す音高列(フレーズ)が検出された場合、ソロ演奏が開始されたと判定する。
一方、判定部100は、ソロ演奏の開始を判定した後、出力された演奏データ、及び終了判定データに基づいて、ソロ演奏が終了したかどうかを判定する。たとえば、判定部100は、出力されたソロ演奏が開始されたと判定された演奏データから当該開始判定に対応する楽器の終了判定データが示す音高列(フレーズ)が検出された場合、ソロ演奏が終了したと判定する。
==カラオケ装置Kの動作について==
次に、図8を参照して本実施形態におけるカラオケ装置Kの動作の具体例について述べる。図8は、カラオケ装置Kの動作例を示すフローチャートである。この例では、カラオケ店舗KSにおいて、利用者Uがカラオケ装置Kを利用するとする(図1参照)。また、楽器の生演奏を行う演奏者として、演奏者P1~演奏者P3がステージにいるとする(図1参照)。さらに、この例では、利用者Uが、楽曲Xを生演奏モードでカラオケ歌唱を行うとする。また、楽曲Xは、前奏、1番のAメロ、1番のBメロ、1番のサビ、間奏、2番のAメロ、2番のBメロ、・・・のような歌唱区間及び非歌唱区間で構成されているとする。
演奏制御部200は、予約待ち行列に登録されている楽曲Xの楽曲IDを元に、楽曲Xのカラオケ演奏データを記憶手段10aから取得する。演奏制御部200は、取得したカラオケ演奏データを再生し、スピーカ20からカラオケ演奏音を放音させるよう、演奏手段10dを制御する(楽曲のカラオケ演奏を開始。ステップ30)。演奏者P1~演奏者P3は、スピーカ20から放音されるカラオケ演奏音に合わせてそれぞれ楽器の生演奏を行う。利用者Uは、スピーカ20から放音されるカラオケ演奏音及び楽器演奏音に合わせてカラオケ歌唱を行う。
演奏データ取得部300は、楽器の生演奏が開始された時点で演奏データの取得を開始する(演奏データの取得を開始。ステップ31)。演奏データ取得部300は、取得した演奏データを判定部100に出力する。
判定部100は、出力された演奏データ及び開始判定データに基づいて、演奏者によるソロ演奏の開始を判定する処理を行う。ソロ演奏の開始を判定した場合(ステップ32でYの場合)、判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xのカラオケ演奏を中断する(カラオケ演奏を中断。ステップ33)。よって、演奏者は、ソロ演奏を自由に行うことができる。
一方、ソロ演奏の開始を判定した後、判定部100は、出力された演奏データ及び終了判定データに基づいて、演奏者によるソロ演奏の終了を判定する処理を行う。ソロ演奏の終了を判定した場合(ステップ34でYの場合)、判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、楽曲Xのカラオケ演奏を再開させる(ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、楽曲のカラオケ演奏を再開。ステップ35)。
カラオケ装置Kは、楽曲Xのカラオケ演奏が終了するまで(ステップ36でYの場合)、ステップ32からステップ35の処理を繰り返し行う。
具体的に、判定部100は、公知のフレーズ検出技術やパターン検出技術を用いて、出力された所定長の一の演奏データから、楽器毎の開始判定データのいずれかが示す音高列(フレーズ)を検出する。ここで、当該所定長の一の演奏データからギターの開始判定データが示す音高列が検出された場合、判定部100は、ギターによるソロ演奏が開始されたと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xのカラオケ演奏を中断する。ギターの演奏者P1は、自由にソロ演奏を行う。また、当該所定長の一の演奏データについてソロ演奏が開始されたと判定されなかった場合、同じタイミングで出力された所定長の他の演奏データに対して同様の処理を行う。判定部100は、ソロ演奏が開始されたと判定されるまで、所定長の演奏データの開始タイミングを歩進させてこの処理を繰り返す。
一方、判定部100は、ギターのソロ演奏の開始を判定した後、公知のフレーズ検出技術やパターン検出技術を用いて、出力されソロ演奏が開始されたと判定された演奏データから、当該開始判定に対応する楽器の終了判定データが示す音高列(フレーズ)を検出する。当該演奏データからギターの終了判定データが示す音高列が検出された場合、判定部100は、ギターのソロ演奏が終了したと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Xのカラオケ演奏を再開させる。
以上から明らかなように、本実施形態に係るカラオケ装置Kは、演奏者による生演奏に対応する演奏データを取得する演奏データ取得部300を有する。本実施形態に係る判定部100は、取得した演奏データ、及び予め楽器毎に設定された開始判定データに基づいてソロ演奏の開始を判定し、且つ取得した演奏データ、及び予め楽器毎に設定された終了判定データに基づいてソロ演奏の終了を判定する。
このようなカラオケ装置Kによれば、第1実施形態のように映像データを用いることなく、ソロ演奏の開始及び終了を判定することができる。よって、撮影装置が設置されていないようなカラオケ店舗であっても、カラオケ演奏音に合わせて演奏者が楽器の生演奏を行う際に、ソロ演奏の自由度を高めることができる。
なお、ソロ演奏の開始及び終了を判定する際に、第1実施形態及び第3実施形態の処理を組み合わせて行ってもよい。
たとえば、判定部100は、ソロ演奏の開始を映像データに基づいて行い、ソロ演奏の終了を、演奏データ及び終了判定データに基づいて行ってもよい。逆に、判定部100は、ソロ演奏の開始を演奏データ及び開始判定データに基づいて行い、ソロ演奏の終了を映像データに基づいて行ってもよい。
或いは、判定部100は、映像データに基づく判定と、演奏データ及び開始判定データに基づく判定との両方を行ってもよい。たとえば、判定部100は、映像データについて求めた輝度値が、所定条件を満たすと判断した場合、且つ演奏データから開始判定データのいずれかが示す音高列が検出された場合、ソロ演奏の開始を判定する。また、判定部100は、映像データに基づく判定と、演奏データ及び終了判定データに基づく判定との両方をおこなってもよい。たとえば、判定部100は、映像データについて求めた輝度値が、所定条件を満たさないと判断した場合、且つ演奏データから終了判定データが示す音高列が検出された場合、ソロ演奏の終了を判定する。
<変形例>
図1に示した演奏者P1~演奏者P3のように複数の演奏者で生演奏を行う場合、複数の演奏者がそれぞれソロ演奏を行うこともありうる。
このような場合、判定部100は、一の演奏者のソロ演奏中は、他の演奏者のソロ演奏の開始を判定しないとしてもよい。
演奏制御部200は、第1実施形態と同様、一の演奏者のソロ演奏の終了が判定された場合、当該ソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、当該楽曲のカラオケ演奏を再開させる。更に、演奏制御部200は、カラオケ演奏の再開後、再度のソロ演奏の開始が判定された場合、カラオケ演奏を再度中断する。ここで、本変形例に係る演奏制御部200は、カラオケ演奏の再開から再度のソロ演奏の開始までの時間が所定時間以内であれば、再度のソロ演奏の終了が判定された場合、最初の一の演奏者のソロ演奏が開始される直前にカラオケ演奏が行われていた歌唱区間の次の歌唱区間から、当該楽曲のカラオケ演奏を再開させる。所定時間は、たとえば、2000msecのように予め設定されている。
たとえば、第1実施形態で述べたように、演奏制御部200が、映像データM1に対応する演奏者によるソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Xのカラオケ演奏を再開させたとする。
判定部100は、引き続き、映像データM1~映像データM3それぞれについて輝度値を求め、所定条件を満たすかどうかを判断する。ここで、たとえば、2番のAメロのカラオケ演奏開始から500msec後、判定部100は、映像データM2について求めた輝度値が所定条件を満たすと判断したとする。この場合、判定部100は、映像データM2に対応する演奏者によるソロ演奏が開始されたと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xのカラオケ演奏を再度、中断する。
一方、判定部100は、映像データM2に対応する演奏者によるソロ演奏の開始を判定した後、映像データM2の輝度値をモニタリングする。判定部100は、映像データM2の輝度値が所定条件を満たすかどうかを判断する。映像データM2について求めた輝度値が所定条件を満たさないと判断した場合、判定部100は、映像データM2に対応する演奏者によるソロ演奏が終了したと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、映像データM1に対応する演奏者によるソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Xのカラオケ演奏を再開させる。
このようなカラオケ装置Kによれば、複数の演奏者によるソロ回しをスムーズに行うことが可能となる。
或いは、判定部100は、各演奏者のソロ演奏の開始をそれぞれ判定してもよい。この場合、演奏制御部200は、すべての演奏者のソロ演奏が終了するまで、カラオケ演奏を再開しない。
たとえば、第1実施形態で述べたように、判定部100が、楽曲Xの間奏において、映像データM1に対応する演奏者によるソロ演奏の開始を判定したとする。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、楽曲Xのカラオケ演奏を中断する。
同様に、判定部100は、映像データM2及び映像データM3を解析し、演奏者によるソロ演奏が開始されたかとどうかを判定する。ここで、判定部100が、映像データM2に対応する演奏者によるソロ演奏の開始を判定したとする。
判定部100は、映像データM1及び映像データM2に対応する演奏者それぞれによるソロ演奏の開始を判定した後、映像データM1及び映像データM2の輝度値をモニタリングする。判定部100は、映像データM1の輝度値及び映像データM2の輝度値がそれぞれ所定条件を満たすかどうかを判断する。ここで、映像データM1について求めた輝度値及び映像データM2について求めた輝度値がいずれも所定条件を満たさないと判断した場合、判定部100は、映像データM1に対応する演奏者及び映像データM2に対応する演奏者によるソロ演奏が終了したと判定する。判定部100は、その旨を演奏制御部200に通知する。演奏制御部200は、当該通知に応じて、ソロ演奏が開始される直前にカラオケ演奏が行われていた1番のサビの次の歌唱区間である2番のAメロから、楽曲Xのカラオケ演奏を再開させる。
一方、映像データM1について求めた輝度値または映像データM2について求めた輝度値のいずれか一方のみが所定条件を満たさないと判断した場合、判定部100は、ソロ演奏が終了したと判定しない。
このようなカラオケ装置Kによれば、異なる楽器の演奏者同士で自由なソロ演奏を行うこと(たとえば、ドラムの演奏者が先にソロ演奏を開始し、途中でベースの演奏者とのセッションを行うような演奏)が可能となる。
<その他>
上記実施形態は、例として提示したものであり、発明の範囲を限定するものではない。上記の構成は、適宜組み合わせて実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。