==カラオケシステムの概要==
以下、本発明の一実施形態に係る通信カラオケシステムについて説明する。図1は本実施形態の通信カラオケシステムの全体構成例を示す図である。本実施形態の通信カラオケシステムは、ホスト装置1とカラオケ装置2とを備える。カラオケ装置2は、カラオケ店KBの各カラオケルームRMに設置される。ホスト装置1とカラオケ装置2とは通信回線3を介して通信可能に接続される。通信回線3は、たとえば公衆電話回線、携帯電話回線、専用電話回線、無線通信路、イーサネット(登録商標)などにより敷設される回線であり、たとえばインターネット、VAN(Value Added Network)などである。
ホスト装置1からカラオケ装置2にカラオケを行うためのデータ(以下、カラオケデータという。)が送信され、カラオケ装置2がカラオケ楽曲を演奏することにより、歌唱者はカラオケの歌唱が可能となる。
カラオケ装置2では歌唱者からの指示に応じてカラオケ楽曲の調(キー)を変更することができる。歌唱者はカラオケ楽曲の調が自身の声域に合わない場合にはカラオケ楽曲を半音刻みで上下に移調させることができる。
本実施形態の通信カラオケシステムは、カラオケ楽曲の演奏中に自動的に転調するオプション(以下、自動転調オプションという。)を利用者(歌唱者)が指定した場合に、カラオケ装置が歌唱者の声域に応じてカラオケ楽曲の歌唱区間を自動的に転調するようにしたものである。
一般に楽曲の一部の調を変更することを「転調」と呼び、楽曲全体の調を変更することを「移調」と呼ぶ。カラオケ楽曲全体を移調するように設定した後、演奏中に元の調に戻すようにカラオケ楽曲全体を移調するように設定することも、カラオケ楽曲の一部の調を変えたことになり「転調」である。
本実施形態では、具体的には次のようにして自動的な転調を行う。すなわち、カラオケ装置は、カラオケ楽曲の歌唱区間ごとに、当該歌唱区間の旋律に、歌唱者の声域の最高音高を超える音高または歌唱者の声域の最低音高を下回る音高(以下、これらの音高を声域外音高という。)が含まれる場合には、声域外音高が歌唱者の声域内に含まれるように当該歌唱区間の調(キー)を上下させる(すなわち転調する。)。これにより、歌唱者は自分の声域よりも広い音域のカラオケ楽曲を歌唱することができるようになっている。
以下、本実施形態の通信カラオケシステムの詳細について説明する。
==ホスト装置1==
ホスト装置1は、サーバとして機能し、歌唱者や店舗などに関する各種情報を蓄積して管理するコンピュータである。図2はホスト装置1のハードウェア構成例を示す図である。ホスト装置1は、制御部11、通信部12および記憶部13を備える。制御部11は、ホスト装置1における制御の中心となる部分であり、CPU111およびメモリ112を備える。CPU111は、メモリ112に記憶された動作プログラムを実行することにより各種の制御機能を実現する。メモリ112は、CPU111により実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶装置である。
通信部12は、ホスト装置1を通信回線3に接続するためのインタフェースを提供する。記憶部13は、各種のデータを記憶する記憶装置であり、たとえばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。記憶部13にはカラオケデータが記憶される。通信部12により記憶部13に記憶されているカラオケデータがカラオケ装置2に配信される。
カラオケデータには、伴奏データ、カラオケ楽曲の旋律を表す旋律データ、歌詞データおよび映像データなどが含まれる。なお、旋律データは伴奏データに含めるようにしてもよい。伴奏データは、たとえばMIDI(Musical Instrument Digital Interface)のSMF(Standard MIDI File)のデータもしくはPCM(Pulse Code Modulation)データまたはこれらの組み合わせとすることができる。歌詞データには、たとえば伴奏データの再生位置に対応付けたテキストデータとすることができる。映像データは、任意のフォーマットの動画データとすることができる。なお、カラオケデータには、これら以外にもカラオケに用いられる各種のデータを含めることができる。
本実施形態では、カラオケデータは、複数の演奏区間に分割可能であるものとする。カラオケ楽曲はたとえば図3に示すように前奏、Aメロ、Bメロ、サビ、間奏、Aメロ、Bメロ、サビ、間奏、Cメロ、サビおよび後奏から構成されることがあり、本実施形態ではこれらの楽曲構成が演奏区間である。カラオケ楽曲の演奏区間は、たとえばカラオケデータ(旋律データ、伴奏データもしくは歌詞データまたはこれらいずれかの組み合わせ)の区切り部分に区切りを示す情報(マーカー)を設定したり、構成要素の開始および終了の時点を示す制御情報をカラオケデータに含めたりすることにより区別可能とすることができる。また、歌詞データに関して歌唱者が歌いやすいと考えられる長さで一画面に表示される長さが決まっていることから、旋律データ(あるいは伴奏データ)には演奏区間を区別する情報を含めず、画面に表示される歌詞部分の長さに対応する長さを演奏区間としてもよい。演奏区間には、歌唱区間と非歌唱区間とがある。歌唱区間とは歌唱者が歌唱すべき音高を含む区間であり、非歌唱区間は歌唱者が歌唱すべき音高を含まない区間である。たとえば図3の例において、Aメロ、Bメロ、サビおよびCメロは歌唱区間であり、前奏、間奏および後奏は非歌唱区間である。
==カラオケ装置2==
カラオケ装置2は、カラオケ演奏を行うものである。図4は、カラオケ装置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にカラオケ楽曲の調(キー)を上下させるように指示すると、リモコン装置25は、カラオケ楽曲を移調させるための操作信号(以下、移調信号という。)をカラオケ本体21に向けて出力する。移調信号には、調を上下させるシフト量(以下、移調量という。本実施形態では半音単位とする。移調量には、たとえば「+1」「−1」といった数値が指定される。)が含まれる。移調信号に応じてカラオケ本体21はカラオケ楽曲を移調させて演奏する。
カラオケ本体21は、選択されたカラオケ楽曲の演奏制御、歌詞および背景映像の表示制御、マイク24を通じて入力された歌唱音声信号の処理といった、カラオケ歌唱に関する各種の制御を行う。図5はカラオケ本体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を通じて入力された歌唱音声信号の処理行う。図6に示すように音響処理部34は、音源装置341、変調回路342、ミキサ343、およびアンプ344を備える。
音源装置341は、たとえばMIDI音源であり、カラオケデータに含まれる伴奏データに基づいて楽音信号を生成する。変調回路342は、制御部31からの指示に応じて音源装置341が生成した楽音信号の音程を変化させることによりカラオケ楽曲を移調させる。なお、制御部31からの指示がない場合には、変調回路342は音源装置341が生成した楽音信号をそのまま出力する。本実施形態では、変調回路342は±7半音の処理能力を有する専用のDSP(Digital Signal Processor)であることを想定している。
ミキサ343は、変調回路342およびマイク24から出力される各種信号を適当な比率でミキシングしてアンプ344に出力する。アンプ344は、ミキサ343からのミキシング信号を増幅し、放音信号としてスピーカ22へ出力する。これにより、スピーカ22からは放音信号に基づくカラオケ演奏音およびマイク24からの歌唱音声が放音される。
図5に戻り、表示処理部35は、カラオケ演奏時における背景映像の表示等の制御を行う。カラオケ演奏時において、表示処理部35には映像データが入力され、この映像データのデコードが行われる。表示処理部35は、デコードで生成された背景映像の映像信号に対して、歌詞データに基づき歌詞テロップを合成し、合成後の映像信号をモニタ23に出力する。モニタ23には、背景映像に歌詞テロップが重ねられた映像が表示されることになる。
操作部36は、パネルスイッチおよびリモコン受信回路などからなり、利用者によるカラオケ装置2のパネルスイッチあるいはリモコン装置25の操作に応じて予約信号、移調信号および自動転調信号などの操作信号を制御部31に対して出力する。制御部31は、操作部36からの操作信号を検出し、対応する処理を実行する。
図7はカラオケ本体21のソフトウェア構成例を示す図である。カラオケ本体21は、カラオケデータ登録部321、予約登録部322、カラオケ演奏処理部323、転調指示部324、声域取得部325、転調判定部326、調決定部327、カラオケデータ記憶部331、予約キュー332および異音高数記憶部333を備える。ここで、変調回路342、転調指示部324および調決定部327が合わせて本発明の転調手段に該当する。
なお、カラオケデータ登録部321、予約登録部322、カラオケ演奏処理部323、転調指示部324、声域取得部325、転調判定部326および調決定部327は、制御部31のCPU311がメモリ312に記憶されている動作プログラムを実行することにより実現され、カラオケデータ記憶部331、予約キュー332および異音高数記憶部333は、記憶部33が提供する記憶領域の一部として実現される。
カラオケデータ記憶部331はカラオケデータを記憶する。たとえば図8に示すように、カラオケデータ記憶部331には、カラオケ楽曲を特定するための情報(以下、楽曲IDという。)に対応付けて、伴奏データ、旋律データ、歌詞データおよび映像データが記憶される。伴奏データおよび旋律データは、たとえばMIDIのSMFのデータとすることができる。歌詞データには、たとえば伴奏データの再生位置に対応付けたテキストデータとすることができる。映像データは、任意のフォーマットの動画データとすることができる。なお、カラオケデータには、これら以外にもカラオケに用いられる各種のデータを含めることができる。
カラオケデータ登録部321は、ホスト装置1から送信されるカラオケデータを受信する。カラオケデータ登録部321は、受信したカラオケデータをカラオケデータ記憶部331に登録する。なお、カラオケデータ登録部321は、受信したカラオケデータに含まれる楽曲IDに対応するカラオケデータがカラオケデータ記憶部331に登録されている場合には、当該カラオケデータを受信したカラオケデータで更新する。
予約キュー332は、予約されたカラオケ楽曲を管理する待ち行列である。図9に示すように、予約キュー332には、予約ID、利用者ID、楽曲IDおよび自動転調フラグを含むデータ(以下、予約情報という。)が登録される。予約キュー332は、FIFO(First In, First Out)キューであり、登録された順番に予約情報は取り出される。
予約登録部322は、リモコン装置25からの予約信号に応じてカラオケ楽曲の予約を行う。予約登録部322は、予約信号に含まれる利用者ID、楽曲IDおよび自動転調フラグを設定した予約情報を作成して予約キュー332に登録する。また、予約登録部322は、リモコン装置25から自動転調信号を受信した場合には、受信した自動転調信号に指定されている予約IDに対応する予約情報の自動転調フラグを、自動転調信号に含まれている自動転調フラグに更新する。
カラオケ演奏処理部323は、カラオケ楽曲を演奏するために必要な各種の制御処理を行う。カラオケ演奏処理部323は、予約キュー332から予約情報を取り出して次に演奏するカラオケ楽曲を特定し、取り出した予約情報に含まれる楽曲IDに対応するカラオケデータをカラオケデータ記憶部331から読み出し、読み出したカラオケデータに基づいてカラオケ楽曲の演奏に係る処理を行う。カラオケ演奏処理部323は、たとえば、音響処理部34を制御して、カラオケデータに含まれる伴奏データに基づいてカラオケ演奏音をスピーカ22から放音させるとともに、マイク24からの歌唱音声もスピーカ22から放音させる。また、カラオケ演奏処理部323は、表示処理部35を制御して、カラオケデータに含まれる映像データに基づく背景映像と歌詞データに基づく歌詞テロップとを合成した映像をモニタ23に表示させる。これらのカラオケ演奏処理部323によるカラオケ楽曲の演奏処理については一般的なカラオケ装置に採用されている手法を採用することができる。
なお、カラオケ演奏処理部323は、予約キュー332から取り出した予約情報の利用者IDおよび楽曲ID、演奏が開始された日時、カラオケ店舗KBを特定する店舗IDなどをホスト装置1に送信してもよい。これにより、ホスト装置1は、カラオケ装置2から受信した利用者IDおよび楽曲IDならびに演奏開始日時および店舗IDに基づき、いつどこでどの利用者がどの楽曲を歌唱したかを把握することが可能となり、またこのデータに基づいて各種の解析処理を行うことができる。
転調指示部324は、カラオケ楽曲の転調を行う。転調指示部324は、リモコン装置25または操作部36から移調信号を受信した場合に、移調信号に含まれる移調量を変調回路342に設定し、変調回路342に音源装置341からの楽音信号の音程を移調量だけ上下させることによりカラオケ楽曲を移調させ、これにより転調を実現することができる。以下の説明において、このようにして転調を実現させるべく変調回路342を制御することを、転調指示という。本実施形態では、上述したように変調回路342は±7半音の処理能力であることから、転調指示部324は±7半音の範囲で移調するように変調回路342に指示する。また、転調指示部324は、後述する転調判定部326により転調が必要とされた演奏区間において、転調判定部326が決定した転調先の調となるように変調回路342に転調指示を行う。
声域取得部325は、利用者(歌唱者)の声域を取得する。声域取得部325は、たとえばマイク24から入力された歌唱音声の音高から声域を測定するようにしてもよいし、利用者から最高音および最低音の音高の入力を受け付けてもよい。声域取得部325による声域の取得処理については公知の技術を採用することができる。
転調判定部326は、歌唱区間ごとに転調の要否を判定する。転調判定部326は、カラオケ楽曲の各演奏区間について歌唱区間であるか非歌唱区間であるかを判定し、歌唱区間と判定した演奏区間について、当該区間の旋律に声域外音高が含まれている場合、すなわち、旋律を構成する音高が1音でも利用者の声域の範囲外にある場合に転調が必要と判定する。歌唱区間であるか非歌唱区間であるかは、たとえば旋律データに休符以外のノートを表す音高情報が含まれているか否かにより判定してもよいし、当該演奏区間に対応する歌詞データに歌詞を表すテキストが含まれているか否かにより判定してもよい。また、カラオケデータの各演奏区間に歌唱区間であるか非歌唱区間であるかを示す情報を付帯させるようにしてもよいし、カラオケデータにマーカーを設定する場合にマーカーに歌唱区間であるか非歌唱区間であるかを示す情報を設定するようにしてもよい。
調決定部327は、転調が必要と判定された歌唱区間について転調先となる調(以下、新調という。)を決定する。調決定部327は、当該歌唱区間おいて歌唱するべき旋律の音域が歌唱者の声域に入るように新調を決定する。本実施形態では、調決定部327は、新調を決定しようとしている演奏区間の直前の演奏区間における調(以下、直前調という。)の音階(スケール)を構成する音高(以下、構成音高という。)と、新調の構成音高とを比較した場合に異なる構成音高の数(以下、異音高数という。)に応じて新調を決定する。たとえば直前調がC(ハ長調)であった場合、調を下げて新調としたときの異音高数は表1のようになる。
ここで、たとえば直前調がC(ハ長調)であった場合に、声域の最高音高がB5であり、演奏区間の最高音高がC6であったときには、演奏区間の最高音高が声域を超えるため、当該演奏区間の音域が歌唱者の声域に入るようにするためには、当該演奏区間の調を1半音以上下げる必要がある。調決定部327は、声域に合わせて新調をB(ロ長調)と決定することができる。本実施形態ではさらに進んで、CおよびBの音階構成音高を比較すると、CのC,D,F,G,AがそれぞれBではC#,D#,F#,G#,A#と変化する(調号の#が5つ増える。)ことになり、これに対して、C(ハ長調)の属調であるG(ト長調)および下属調であるF(ヘ長調)の音階構成音高については、G(ト長調)ではF#のみ、F(ヘ長調)ではB♭のみがCの音階構成音高と異なる(調号の#または♭が1つ増える)に過ぎないことになることから、調決定部327は、B5までの声域に合わせて1半音下げる代わりに5半音または7半音下げるようにしている。なお、本実施形態では、異音高数が同じ転調先が複数ある場合には、よりシフト量の少ない調を新調として選択するものとし、たとえば、上述の例では、Cからの転調先としてGが選択される(5半音下げる)ものとする。
異音高数記憶部333は、図10に示すように、シフト量に対応付けて異音高数を記憶する。本実施形態では、シフト量は多くの場合上下1オクターブ未満であることを想定して、異音高数記憶部333には、−1〜−11および+1〜+11のシフト量(半音単位)のそれぞれについて異音高数を記憶する。
図11は、カラオケ本体21により実行される制御処理の流れを説明する図である。
カラオケ演奏処理部323は、予約キュー332から予約情報を取り出し(S501)、予約情報に含まれている楽曲IDに対応するカラオケデータをカラオケデータ記憶部331から読み出す(S502)。カラオケ演奏処理部323は、カラオケデータに含まれる伴奏データを解析してカラオケ楽曲の調(以下、原曲調という。)を特定する(S503)。
カラオケ演奏処理部323は、カラオケデータ(伴奏データ、旋律データ、歌詞データおよび映像データ)から次の演奏区間のデータを取り出す(S504)。自動転調オプションが「真」の場合(S505:YES)、声域取得部325は、たとえばマイク24から入力された歌唱音声の音高を測定したり、利用者から音域の指定を受け付けたりすることにより、利用者の声域を取得する(S506)。次に図12の示す自動転調処理が行われる(S507)。
図12の自動転調処理において、転調判定部326は、次の演奏区間が歌唱区間であるか否かを判定し(S521)、次の演奏区間が歌唱区間であれば(S521:YES)、当該演奏区間における旋律データに登場する音高の音域を特定する(S522)。なお、ここで用いられる旋律データは、カラオケデータから抽出された、移調または転調処理されていない原曲のデータである。
転調判定部326は、特定した音域の最高音高が歌唱者の声域の最高音高よりも高い場合(S523:YES)、当該歌唱区間における転調が必要と判定し、声域の最高音高から音域の最高音高を引いた差(半音数)をシフト量として計算する(S524)。一方、特定した音域の最高音高が歌唱者の声域の最高音高以下である場合でも(S523:NO)、音域の最低音高が歌唱者の声域の最低音高よりも低いときには(S525:YES)、転調判定部326は、当該演奏区間における転調が必要と判断し、声域の最低音高から音域の最低音高を引いた差(半音数)をシフト量として計算する(S526)。声域外音高がある場合(S523:YESまたはS525:YES)には、図13に示す新調決定処理により新調が決定される(S527)。
図13の新調決定処理では、調決定部327は、シフト量を12で割った剰余をX1とし(S541)、原曲調から現在調へのシフト量を12で割った剰余をX2とする(S542)。調決定部327は、X1からX2を引いて、現在調から新調へのシフト量Xを算出する(S543)。Xが0であれば(S544:YES)、調決定部327は、現在調からの転調は不要と判断し(S545)、シフト量を0とする(S546)。つまり当該歌唱区間は原曲調に対して直前の歌唱区間と同じシフト量(シフト量=0の場合を含む)となるので、異音高数を考慮した処理は不要とする。一方、Xが0でなければ(S544:NO)、調決定部327は、現在調からの転調が必要と判断し(S547)、Xが0よりも大きければ(S547:YES)、異音高数記憶部333から、X以上のシフト量のうち対応する異音高数が最も小さいシフト量を読み出してシフト量とする(S549)。Xが0よりも小さければ(S548:NO)、異音高数記憶部333から、X以下のシフト量のうち対応する異音高数が最も小さいシフト量を読み出してシフト量とする(S550)。なお、異音高が最も小さいシフト量が複数あった場合には、複数のシフト量を読み出してよい。調決定部327は、シフト量にX1を加算して原曲調から新調へのシフト量とする(S551)。複数のシフト量を読み出した場合には、それぞれのシフト量にX1を加算する。このようにして、原曲調からシフト量だけ上下させた調が新調として決定される。
図12に戻り、上記新調決定処理において現在調からの転調が必要と判断された場合には(S528:YES)、転調判定部326は、歌唱者に転調がある旨を予告する(S529)。転調判定部326は、たとえば表示処理部35を制御して、モニタ23に転調が行われる旨を表示することができる。図14は、転調予告の表示例を示す図である。図14に示すように、モニタ23の画面の予告表示231には「次に転調があります」として次の演奏区間の演奏前に転調がある旨が表示されており、また「(−5)」として、転調によりどれくらいシフトするのかが表示されている。
次に転調の予告を行った後、図15に示す転調処理が行われる(S530)。
図15に示すように、転調指示部324は、現在調から新調へのシフト量が変調回路342の能力に応じた第1の所定値(本実施形態では+7)よりも大きければ(S561:YES)、シフト量から12を減算して調を下げるようにし(S562)、シフト量が変調回路342の能力に応じた第2の所定値(本実施形態では−7)よりも小さければ(S563:YES)、シフト量に12を加算して調を上げるようにする(S564)。なお、図13のステップS549,S550において異音高が最も小さいシフト量が複数あった場合には、ステップS561〜S564の処理はそれぞれのシフト量について行うものとする。
転調指示部324は、複数のシフト量が読み出されている場合には、絶対値の最も小さいシフト量を選択し(S565)、現在調をシフト量だけシフト(シフト量が負の場合には調を下げ、正の場合には調を上げることになる。)させる(S566)。転調指示部324は、現在調に転調するように変調回路342に転調指示する(S567)。
図11に戻り、カラオケ演奏処理部323は、取り出したデータに基づいて当該演奏区間のカラオケ楽曲を演奏する(S508)。たとえばカラオケ演奏処理部323は、音響処理部34および表示処理部35を制御して、カラオケデータに基づきカラオケ演奏音およびマイク24からの歌唱音声をスピーカ22から放音させるとともに、映像データに基づく背景映像および歌詞データに基づく歌詞テロップを合成した映像をモニタ23に表示させることができる。なお、転調が必要と判断された場合には、図15の転調処理において転調指示部324により現在調への転調指示がなされていることから、当該演奏区間においてカラオケ楽曲は転調することになる。
当該楽曲の終了時点まできていなければ(S509:NO)、ステップS504からの処理が繰り返される。
カラオケ演奏処理部323は、カラオケを継続するか否かを判定し(S510)、たとえばカラオケを終了するように利用者からの操作指示を受けるなど、カラオケを終了すると判定すれば(S510:YES)、処理を終了する。そうでなければ(S510:NO)、ステップS501からの処理が繰り返される。
以上のようにして、本実施形態の通信カラオケシステムによれば、カラオケ楽曲の演奏中に歌唱者の声域に応じて転調することができる。すなわち、歌唱者が歌唱できない音高を含んだ演奏区間があった場合に、その演奏区間について歌唱者の声域に収まるように自動的にカラオケ楽曲を転調することができる。したがって、歌唱者の声域の高低および広狭を問わず、どのようなカラオケ楽曲でも歌唱可能とすることができる。
また、本実施形態の通信カラオケシステムによれば、直前調の音階に使用されている音と同じ音が使われている調を優先的に選択して転調することができる。したがって、転調による音階構成音高の変化を少なくすることが可能となり、転調による違和感も少なくすることができる。これにより、歌唱者は違和感なく歌唱を継続できる。また、音階構成音高の変化が少ないと言うことは、旋律を構成する音高の変化が少ないということにもなり、歌唱者にとって歌いやすいように転調することができる。
また、本実施形態の通信カラオケシステムによれば、直前調から調を−1〜−7半音下げる場合と、+1〜+7半音上げる場合とでは、直前調の近親調(シフト量±5半音および±7半音)に転調することができる。近親調は転調前の調と関係の深い調であり、近親調への転調に違和感は少ないことから、転調をより自然に行うことが可能となる。また、声域とカラオケ楽曲の旋律の音域とのずれは±7半音の範囲に含まれることが多いことから、多くの場合に自然な転調を実現することが可能となる。
また、本実施形態の通信カラオケシステムによれば、図3に示すような楽曲の構成単位(小節単位、主題単位など)のひとまとまりの区切りで転調することができる。したがって、不自然な場所で転調してしまうことなく、歌唱者および聴者にとって自然な転調を実現することが可能となり、聴者も違和感なく楽しむことができる。
また、本実施形態の通信カラオケシステムによれば、図14の予告表示231のように、転調の前に転調がある旨を予告することができる。これにより歌唱者は次の演奏区間において転調があることを把握することが可能となり、転調に対する準備を事前にして歌唱しやすくすることができる。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。たとえば、次のように構成してもよい。
本実施形態では、ホスト装置1およびカラオケ装置2により通信カラオケシステムが構成されるものとしたが、カラオケ装置2単体でカラオケシステムを構成するようにしてもよい。この場合、カラオケ装置2のカラオケデータ記憶部331には予めカラオケデータを記憶させておくようにする。
また、本実施形態では、1台のホスト装置1に複数のカラオケ装置2が接続されている構成としたが、ホスト装置1は複数台設けるようにしてもよい。この場合、複数台のコンピュータにより1台のホスト装置1を構成するようにしてもよいし、たとえばエリアごとにホスト装置1を設け、当該エリア内の店舗に設置されたカラオケ装置2が対応するホスト装置1に接続するようにしてもよい。
また、本実施形態では、変調回路342が音源装置341から出力された楽音信号の移調を行うものとしたが、これに限らず、ソフトウェアにより転調の処理を行うようにしてもよい。たとえば転調指示部324がカラオケデータ記憶部331から読み出したカラオケデータに含まれている伴奏データおよび旋律データを移調するように変更したうえで音源装置341に与えるようにすることができる。この場合、図13のステップS541,S542において12の剰余を計算せず、シフト量をX1とし(S541)、原曲調から現在調へのシフト量をX2とすればよい(S542)。また、図15のステップS561〜S564のようなシフト量の調整を省略してよい。変調回路342を実装するDSPの処理能力に本実施形態のような制約(転調の範囲は±7半音)がない場合においても、同様である。
また、本実施形態では、原曲調からのシフト量を基準にして新調のシフト量を求めるものとしたが、現在調を基準として新調のシフト量を求めてもよい。この場合、図12のステップS522において、転調判定部326は、たとえば旋律データを現在調に合わせて上下させたうえで音域を特定することができる。
また、本実施形態では、演奏中に転調を行うものとしたが、演奏前に転調を行うようにしてもよい。この場合、たとえば転調判定部326が、カラオケデータの演奏区間のうち転調が必要と判定した区間、すなわち最高音高が声域の最高音高を超える、または最低音高が声域の最低音高を下回る区間について、転調するようにカラオケデータ(伴奏データおよび旋律データ)を更新しておき、この更新されたカラオケデータに基づいて演奏がされるようにすればよい。
また、本実施形態では歌唱区間についてのみ転調を行うものとしたが、転調が必要と判定された歌唱区間の直前に先行する非歌唱区間についても歌唱区間と同じく新調に転調するようにしてもよい。この場合、たとえば上記のように演奏前に転調を行うようにし、先頭からi番目の歌唱区間について転調が必要と判定された場合(図12のステップS523:YESまたはステップS525:YES)に、調決定部327は、i−1番目が非歌唱区間であれば、i−1番目から先頭に向けて連続して非歌唱区間である演奏区間について、当該歌唱区間と同じだけ調をシフトするように転調する。たとえば、図3の最初のAメロで転調が必要と判定された場合には、前奏についても転調するようにする。歌唱区間で転調する場合に、当該歌唱区間に先行する非歌唱区間についても歌唱区間と同じく転調しておいた方が歌唱区間において転調するよりも違和感が少なく、歌唱者にとって歌いやすいようにすることができる。
また、本実施形態では、カラオケ楽曲の演奏は原曲調のままで開始するものとしたが、予め歌唱者の声域に合わせて移調しておいてもよい。この場合、移調後の調を原曲調として処理を行えばよい。たとえば、歌唱者の声域の最高音高とカラオケ楽曲の最高音高(歌唱すべき旋律の最高音高)とが同じになるように予め移調することができる。一般的に、カラオケ楽曲の旋律に登場する音高のうち、歌唱者の声域の最高音高を超える音高の数よりも、歌唱者の声域の最低音高を下回る音高の数の方が少ないため、声域の最低音高に合わせることにより、原曲調は下げられることになり、これにより声域の最高音高を超える歌唱すべき音高はなくなる。したがって、転調の頻度を減らし、転調による違和感あるいは歌いにくさを低減することができる。また、歌唱者の声域の最低音高とカラオケ楽曲の最低音高とが同じになるように予め移調しておいてもよい。この場合、たとえば男性歌手のカラオケ楽曲を女性の歌唱者が歌唱する場合など、歌唱者の声域がカラオケ楽曲よりも高い場合などには、転調の頻度を減らすことができる。また、歌唱者の声域の中心音高(最高音高と最低音高との中間の音高)と、カラオケ楽曲の中心音高とが同じになるように移調しておいてもよい。
また、本実施形態では、声域外音高が演奏区間の旋律に1つでも含まれた場合には転調するものとしたが、声域外音高が演奏区間に2つ以上の所定の閾値以上含まれた場合に転調が必要と判定するようにしてもよい。また、演奏区間に含まれる音高(ノート)の数における声域外音高の割合が所定値以上の場合に転調が必要と判定するようにしてもよい。これにより、歌唱者の出せない音高が少ない場合には転調をしないため、転調により違和感が生ずる可能性を低減することができる。
また、本実施形態では、異音高数記憶部333には、−1〜−11および+1〜+11のシフト量について異音高数を記憶するものとしたが、+11よりも大きいシフト量および−11よりも小さいシフト量の少なくともいずれかについても記憶するようにしてもよい。
また、本実施形態では、声域に応じたシフト量よりも大きいシフト量のうち異音高数が最も少ないシフト量だけ調を下げるようにしたが、近親調(シフト量±5半音および±7半音)のみに転調するようにしてもよい。すなわち、図12のステップS523において、転調指示部324は、当該シフト量以下の近親調(−5、−7、−17、−19…)から、最もシフト量の絶対値の小さいものを選択するようにする。これにより、転調が必要と判断された場合には、確実に近親調に転調することが可能となり、かなり調を下げる場合であっても、転調の違和感を低減し、歌いやすくすることができる。
また、本実施形態では、直前調からの異音高数が最小となるように新調を決定するものとしたが、原曲調からの異音高数が最小となるように新調を決定するようにしてもよい。
また、本実施形態では、シフト量が+1〜+7、−1〜−7である場合には近親調(シフト量±5,±7)が選択されることになるが、声域に応じて決定されたシフト量(図12のステップS524,526で計算されたシフト量)から所定の閾値以上調整しないようにしてもよい。この場合、図13のステップS549,550において、転調指示部324は、異音高数記憶部333からXに対応する異音高数を読み出してYとし、異音高数記憶部333を参照して、シフト量とXとの差の絶対値が上記閾値以下であるシフト量のうち、異音高数が最も小さいものを選択するようにすればよい。これにより、必要以上に極端に転調することを抑止することができる。
また、本実施形態では、演奏区間における演奏(図11のステップS508)の直前に転調に関する処理(ステップS505〜S507)を行うものとしたが、カラオケ演奏処理部323による演奏処理中に次の演奏区間について上記転調に関する処理を行うようにしてもよい。これにより、転調に関する処理に時間がかかってしまい演奏が中断するような状況を予防することができる。また、転調前の演奏区間において次の演奏区間での転調を早めに予告することができるので、歌唱者は余裕をもって転調に対する準備を行うことが可能となり、歌唱者の歌いやすさを向上することができる。
また、次の演奏区間について図11のステップS508において演奏を開始する前に、2つ先の演奏区間について、ステップS504〜S507の処理を行うようにしつつ、図15のステップS567における現在調への転調指示を行わないようにし、2つ先の演奏区間の演奏を開始するタイミングで現在調への転調指示を行うとともに、3つ先の演奏区間についてステップS504〜507の処理を行うようにしてもよい。4つ先以後の演奏区間についても同様の処理を繰り返すこともできる。
また、本実施形態では、伴奏データを解析して原曲調を特定するものとしたが、これに限らず、たとえば旋律データの音高情報から判定するようにしてもよいし、カラオケデータに原曲調を示す情報を含めるようにしてもよい。また、伴奏データまたは旋律データにメタ情報として原曲調を付帯させてもよい。
また、本実施形態では、最初に伴奏データを解析して原曲調を特定(S503)し、順次各演奏区間の現在調及び新調を決定するよう構成したが、S503の処理を省き、その後も各演奏区間の現曲調からのシフト量だけに着目するような構成としてもよい。つまり原曲シフト量を0、現在調を現在シフト量、新調を新シフト量と置き換えて処理することができるものである。
また、本実施形態では、声域取得部325が利用者の声域を測定したり入力を受け付けたりすることにより取得するものとしたが、たとえば、利用者ごとの声域を予め管理しておいてもよい。この場合、たとえば過去に利用者が歌唱した歌唱音声から声域を測定し、利用者IDに対応づけてホスト装置1に記憶しておき、カラオケ装置2がホスト装置1から利用者IDに対応する声域情報を取得するようにすることができる。また、利用者ごとの声域情報を、たとえば利用者がカラオケ装置2にログインしたとき(利用者IDの入力をしたとき)にホスト装置1からダウンロードしてカラオケ装置2がメモリ312や記憶部33に記憶しておくようにしてもよい。
また、本実施形態では、利用者情報の取得はカラオケ装置2のリモコン装置25を用いて取得するものとしたが、カラオケ店KBに設置されるストアコンピュータ(不図示)が取得するようにしてもよい。この場合、カラオケ店KBの店員が利用者情報をストアコンピュータに入力したり、ストアコンピュータが会員証から利用者情報を読み出したりすることができる。