後述する明細書及び図面の記載から、上記の主たる発明の他、少なくとも以下の事項が明らかとなる。
すなわち、前記逆読み変換部が、変換された前記ローマ字表記を、更に仮名表記に変換し、前記表示位置特定部が、前記仮名表記に対応する文字の表示画面における表示位置を特定するカラオケ装置が明らかとなる。ローマ字表記を仮名表記に変換することにより、歌唱者は逆再生用の歌詞を認識し易くなる。
また、カラオケ楽曲の楽曲データに基づいて、当該カラオケ楽曲を逆再生するための逆再生用楽曲データを作成する逆再生楽曲データ作成手段と、前記逆再生用歌詞描出データ作成手段により作成された、逆再生されるカラオケ楽曲用の歌詞描出データに基づいて、前記表示画面に歌詞を表示させる表示制御手段と、前記歌詞を参照してカラオケ歌唱を行った際に得られる歌唱音声を録音する録音手段と、録音した前記歌唱音声を逆再生で放音させる放音手段と、を有するカラオケ装置が明らかとなる。このように、逆再生用の歌詞を参照して行ったカラオケ歌唱で得られた歌唱音声を逆再生することにより、元々の歌詞に沿った歌唱音声が放音される。
或いは、コンピュータに、カラオケ楽曲の歌詞を表示画面に表示させるための歌詞描出データに基づいて、逆再生されるカラオケ楽曲用の歌詞描出データを作成させるためのプログラムであって、歌詞描出データは、カラオケ楽曲の歌詞を構成する文字に対応する文字データ、当該文字が当該歌詞の中で登場する順番に対応する順番データ、各文字の歌唱を開始する時刻及び終了する時刻に対応する歌唱タイミングデータ、各文字の表示画面上の位置に対応する位置データ、複数の前記文字で構成される行の表示順に対応する行データ、表示画面において前記行の表示を開始する時刻及び消去する時刻に対応する表示タイミングデータ、少なくとも一つの前記行で構成される頁の表示順に対応する頁データを含み、前記コンピュータに、前記文字のうち、ひらがな、カタカナ、または長音をローマ字表記に変換し、且つ変換されたローマ字表記に対して前記順番データとは逆の順番を付与することで、ローマ字歌詞描出データを作成させ、前記ローマ字歌詞描出データに含まれるローマ字表記を、逆読み可能となるように変換させ、前記位置データに基づいて、逆読み変換されたローマ字表記の表示画面における表示位置を特定させ、前記行データ及び前記頁データに基づいて、前記行及び前記頁の表示順を逆に設定させ、選曲されたカラオケ楽曲の総演奏時間、及び前記表示タイミングデータに基づいて、表示順が変更された各行の表示を開始する時刻及び終了する時刻を設定させ、選曲されたカラオケ楽曲の総演奏時間、及び前記歌唱タイミングデータに基づいて、逆読み変換された各ローマ字表記の歌唱を開始する時刻及び終了する時刻を設定させるプログラムが明らかとなる。このようなプログラムをコンピュータ(たとえば、カラオケ装置)で実行することにより、逆再生するカラオケ楽曲用の歌詞を生成することができる。
<実施形態>
図1〜図10を参照して、本実施形態に係るカラオケ装置1について説明する。
==カラオケ装置のハードウェア構成==
カラオケ装置1は、カラオケ演奏及び歌唱者がカラオケ歌唱を行うための装置である。カラオケ装置1は、カラオケ店舗の各部屋に設置される。カラオケ装置1では、様々なカラオケ歌唱を楽しむことが可能である。
本実施形態に係るカラオケ装置1は、カラオケ楽曲を逆再生する機能を有する。歌唱者は逆再生されたカラオケ楽曲を、逆再生用の歌詞を参照しながら歌唱する。カラオケ装置1は、当該歌唱により得られた歌唱音声を録音した後、逆再生して放音することができる(詳細は後述)。
図1に示すように、カラオケ装置1は、カラオケ本体10、スピーカ20、表示装置30、マイク40、及びリモコン装置50を備える。
スピーカ20はカラオケ本体10からの放音信号に基づいて放音するための構成である。表示装置30はカラオケ本体10からの信号に基づいて映像や画像を画面に表示するための構成である。マイク40は歌唱者の歌唱音声をアナログの音声信号に変換してカラオケ本体10に入力するための構成である。リモコン装置50は、カラオケ本体10に対する各種操作をおこなうための装置である。歌唱者はリモコン装置50を用いてカラオケ歌唱を希望する楽曲の選曲(予約)等を行うことができる。リモコン装置50の表示画面には各種操作の指示入力を行うためのアイコン等が表示される。
カラオケ本体10は、選択されたカラオケ楽曲の演奏制御、歌詞や背景映像等の表示制御、マイク40を通じて入力された音声信号の処理といった、カラオケ歌唱に関する各種の制御を行う。図1に示すように、カラオケ本体10は、制御部11、通信部12、記憶部13、音響処理部14、表示処理部15及び操作部16を備える。各構成はインターフェース(図示なし)を介してバスBに接続されている。
制御部11は、CPU11aおよびメモリ11bを備える。CPU11aは、メモリ11bに記憶された動作プログラムを実行することにより各種の制御機能を実現する。メモリ11bは、CPU11aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶装置である。
通信部12は、ルーター(図示なし)を介してカラオケ本体10を通信回線に接続するためのインターフェースを提供する。
記憶部13は、各種のデータを記憶する大容量の記憶装置であり、たとえばハードディスクドライブなどである。記憶部13は、カラオケ装置1によりカラオケ演奏を行うための複数の楽曲データを記憶する。
楽曲データは、個々の楽曲を特定するための楽曲IDが付与されている。楽曲データは、伴奏データ、リファレンスデータ等を含む。伴奏データは、カラオケ演奏音の元となるデータである。リファレンスデータは、楽曲の主旋律等を示す音高データである。リファレンスデータは、たとえば、歌唱者によるカラオケ歌唱を採点する際の基準として用いられる。伴奏データ及びリファレンスデータは、たとえばMIDI形式で構成される。また、記憶部13は、カラオケ演奏時に表示装置30等に表示される背景画像等の背景画像データ、及び楽曲の属性情報(歌手名、作詞・作曲者名、ジャンル等の当該楽曲に関する情報)を記憶する。
また、本実施形態における記憶部13は、カラオケ楽曲の歌詞(歌詞テロップ)を表示装置30等の表示画面に表示させるための歌詞描出データを記憶する。
図2は、あるカラオケ楽曲の歌詞描出データの構成を示した例である。歌詞描出データは、文字データ、順番データ、歌唱タイミングデータ、位置データ、行データ、表示タイミングデータ、及び頁データを含む。
文字データは、カラオケ楽曲の歌詞を構成する文字に対応するデータである。各文字は漢字、ひらがな、カタカナ、アルファベット(英語以外の歌詞の場合は当該言語の表記)、及び長音(ー)である。各文字は文字コードで特定される(図2参照)。また各文字には、文字属性が付与されている。文字属性は、ある文字が主文字に相当するか、ルビ(主文字に対するフリガナ)に相当するかを識別するための情報である。本実施形態に係る文字データは、文字コード及び文字属性を含む。なお、各文字は、その種類毎に所定のフォントサイズが設定されている。
順番データは、文字データを構成する各文字が、カラオケ楽曲の歌詞の中で登場する順番に対応するデータである。順番は、カラオケ楽曲の歌詞の一番初めの文字から順に「1」、「2」、「3」・・・・と付与される(図2参照)。
歌唱タイミングデータは、各文字の歌唱を開始する時刻及び終了する時刻に対応するデータである。たとえば、カラオケ装置1は、歌唱すべき文字を認識し易くなるよう、カラオケ楽曲の演奏に伴って文字の色を変化させる。歌唱タイミングデータは、この色変わりを開始するタイミング及び色変わりが終了するタイミングを特定する際に使用される。具体例として、図2における番号「1」の文字「山」は、カラオケ演奏の開始から1675ms後に色変わりを開始し、75ms後(カラオケ演奏の開始から1750ms後)に色変わりが終了する。
位置データは、各文字の表示画面上の位置に対応するデータである。位置データは、たとえば、表示画面上の所定位置(たとえば、左上)を原点としたXY座標の値(文字表示位置)として特定される。
行データは、複数の文字で構成される行の表示順に対応するデータである。行の表示順は、カラオケ楽曲の歌詞の最初の文字を含む行から順に「1」、「2」、「3」・・・・と付与される(図2参照。図2では、1番目及び2番目の行のみ示している)。
表示タイミングデータは、表示画面において行の表示を開始する時刻及び消去する時刻に対応するデータである。各行は、上述の表示順に従い、カラオケ楽曲の演奏に伴って表示及び消去される。表示タイミングデータは、この表示を開始するタイミング及び消去するタイミングに相当する。具体例として、図2における行「1」は、カラオケ演奏の開始から1400ms後に表示され、1650ms後(カラオケ演奏の開始から3050ms後)に消去される。
頁データは、少なくとも一つの行で構成される頁の表示順に対応するデータである。頁の表示順は、カラオケ楽曲の歌詞の最初の文字を含む行を含む頁から順に「1」、「2」、「3」・・・・と付与されている(図2参照。図2では、1番目の頁のみ示している)。
なお、歌詞描出データは、サーバ(図示なし)に記憶されていてもよい。この場合、歌唱者がカラオケ装置1で所定のカラオケ楽曲を選曲すると、カラオケ装置1は、サーバに当該カラオケ楽曲の識別情報(楽曲ID)を送信する。サーバは、識別情報に対応する歌詞描出データを読み出してカラオケ装置1に送信する。カラオケ装置1は、サーバから受信した歌詞描出データを記憶部13に記憶させる。
音響処理部14は、制御部11の制御に基づき、カラオケ楽曲に対する演奏の制御およびマイク40を通じて入力された歌唱音声信号の処理を行う。音響処理部14は、たとえばMIDI音源、ミキサ、アンプ(いずれも図示なし)を含む。MIDI音源は、楽曲データに基づいて楽音信号を生成する。ミキサは、当該音楽信号およびマイク40から出力される歌唱音声信号を適当な比率でミキシングしてアンプに出力する。アンプは、ミキサからのミキシング信号を増幅し、放音信号としてスピーカ20へ出力する。これにより、スピーカ20からは放音信号に基づくカラオケ演奏音およびマイク40からの歌唱音声が放音される。
表示処理部15は、制御部11の制御に基づき、表示装置30やリモコン装置50における各種表示に関する処理を行う。たとえば、表示処理部15は、カラオケ演奏時における背景映像に歌詞テロップや各種アイコンが重ねられた映像を表示装置30に表示させる制御を行う。
操作部16は、パネルスイッチおよびリモコン受信回路などからなり、歌唱者によるカラオケ装置1のパネルスイッチあるいはリモコン装置50の操作に応じて選曲信号、演奏中止信号などの操作信号を制御部11に対して出力する。制御部11は、操作部16からの操作信号を検出し、対応する処理を実行する。
==カラオケ装置のソフトウェア構成==
図3はカラオケ本体10のソフトウェア構成例を示す図である。カラオケ本体10は、逆再生楽曲データ作成手段100、表示制御手段200、録音手段300、放音手段400、及び逆再生用歌詞描出データ作成手段500を備える。これらの手段は、CPU11aがメモリ11bに記憶されるプログラムを実行することにより実現される。
(逆再生楽曲データ作成手段)
逆再生楽曲データ作成手段100は、カラオケ楽曲の楽曲データに基づいて、当該カラオケ楽曲を逆再生するための逆再生用楽曲データを作成する。
たとえば、逆再生によるカラオケ歌唱を行おうとする歌唱者は、リモコン装置50等を介してカラオケ楽曲Xを選択する際に、カラオケ楽曲Xの予約確認画面に表示される設定オプションの中から「逆再生」ボタンを押下する。リモコン装置50は、カラオケ本体10に対して、カラオケ楽曲Xの楽曲ID及び逆再生フラグを出力する。
逆再生フラグが入力された場合、逆再生楽曲データ作成手段100は、記憶部13からカラオケ楽曲Xの楽曲データを読み出す。
逆再生楽曲データ作成手段100は、読み出した楽曲データに含まれる各音符について、カラオケ演奏が行われる方向とは逆方向から順に特定する。そして、逆再生楽曲データ作成手段100は、各音符について、ノートオフに関する情報が読み出されたら対応するノートの発音を開始し、ノートオンに関する情報が読み出されたら対応するノートの消音を開始するよう設定することで、逆再生楽曲データを作成する。なお、逆再生楽曲データは、カラオケ楽曲の演奏を開始する前に作成してもよいし、演奏に合わせて順次作成することでもよい。逆再生用楽曲データの作成については、たとえば、特許文献1や特開2001−154670号公報の技術を利用することができる。
なお、逆再生による演奏は、上記例のように楽曲毎に選択することでもよいし、「逆再生」ボタンの押下に基づき、以降に歌唱されるカラオケ楽曲を全て逆再生で演奏する「逆再生モード」を設定することでもよい。
(表示制御手段)
表示制御手段200は、表示処理部15を制御し、カラオケ装置1における各種表示制御を行う。
本実施形態に係る表示制御手段200は、逆再生用歌詞描出データ作成手段500により作成された、逆再生されるカラオケ楽曲用の歌詞描出データに基づいて、表示画面に歌詞を表示させる。
逆再生されるカラオケ楽曲用の歌詞描出データは、歌詞描出データの一部を変換(変更)したデータで構成される(詳細は後述)。表示制御手段200は、逆再生用楽曲データに基づくカラオケ演奏に合わせて、逆再生されるカラオケ楽曲用の歌詞を表示装置30等の表示画面に表示させる。
(録音手段)
録音手段300は、歌詞を参照してカラオケ歌唱を行った際に得られる歌唱音声を録音する。
たとえば、ある歌唱者が、表示制御手段200により表示された歌詞(逆再生されるカラオケ楽曲用の歌詞描出データに基づく歌詞)を参照し、逆再生されるカラオケ楽曲Xに合わせて歌唱を行ったとする。このカラオケ歌唱による歌唱音声データは、マイク40を介して音響処理部14に入力される。録音手段300は、音響処理部14に入力された歌唱音声データを記憶部13に記憶させることで録音を行う。録音手段300による録音開始及び録音終了は、たとえば、カラオケ楽曲Xの演奏開始から演奏終了までである。
(放音手段)
放音手段400は、録音した歌唱音声を逆再生で放音させる。
逆再生で放音される歌唱音声は、歌詞描出データに基づいて表示される歌詞に沿ったものとなっている。そこで、たとえば、歌唱者Aにより逆再生されるカラオケ楽曲Xの歌唱が終了した後、聴衆が録音された歌唱音声を聴いて歌唱した楽曲名を当てるゲームを行うことができる(聴衆は歌唱者Aが選曲した楽曲名を知らない状態にある)。この場合、たとえば聴衆がリモコン装置50に表示された「逆再生」アイコンを選択する。放音手段400は、記憶部13からカラオケ楽曲Xの歌唱音声データを読み出し、スピーカ20を介し、逆再生で放音させる。聴衆は、放音される歌唱音声を聴きながら、歌唱された楽曲を当てるゲームを楽しむことができる。
(逆再生用歌詞描出データ作成手段)
逆再生用歌詞描出データ作成手段500は、カラオケ楽曲の歌詞を表示画面に表示させるための歌詞描出データに基づいて、逆再生されるカラオケ楽曲用の歌詞描出データを作成する。
図3に示すように、逆再生用歌詞描出データ作成手段500は、ローマ字歌詞描出データ作成部500a、逆読み変換部500b、表示位置特定部500c、表示順設定部500d、表示時刻設定部500e、及び歌唱時刻設定部500fを含む。
[ローマ字歌詞描出データ作成部]
ローマ字歌詞描出データ作成部500aは、歌詞描出データに含まれる文字のうち、ひらがな、カタカナ、または長音をローマ字表記に変換し、且つ変換されたローマ字表記に対して順番データとは逆の順番を付与することで、ローマ字歌詞描出データを作成する。
ここで、図2に示した歌詞描出データの一部(行「1」)を参照して、ローマ字歌詞描出データ作成の具体例について述べる。なお、図2の歌詞描出データに対応するカラオケ楽曲の歌詞は、全10頁、且つ各頁に2行ずつ行が含まれる構成となっているとする。
まず、ローマ字歌詞描出データ作成部500aは、各文字データに含まれる文字属性に基づいて、行「1」に含まれる各文字が主文字であるかルビであるかを判断する。また、ローマ字歌詞描出データ作成部500aは、文字が主文字である場合、各文字が漢字、ひらがな、カタカナ、アルファベット、または長音のいずれであるかを判断する。なお、この例において、ルビは、全てひらがなである。
ローマ字歌詞描出データ作成部500aは、歌詞描出データに含まれる各文字について、文字属性が主文字でひらがな、カタカナ、長音である文字、または文字属性がルビである文字をローマ字表記に変換する。図2の行「1」であれば、文字番号「2」の文字「や」、文字番号「3」の文字「ま」、文字番号「4」の文字「は」、文字番号「5」の文字「ヨ」、文字番号「6」の文字「ー」、文字番号「8」の文字「や」、文字番号「9」の文字「ま」、文字番号「10」の文字「は」、文字番号「11」の文字「ヨ」、文字番号「12」の文字「ー」をローマ字表記に変換する。なお、ローマ字表記は、所定のフォントサイズが設定されている。
ローマ字表記への変換は、所定のルールに基づいて実行される。たとえば、図4に示すようなローマ字変換テーブルを記憶部13に記憶しておく。ローマ字歌詞描出データ作成部500aは、当該テーブルを参照してローマ字表記への変換を行う。
なお、ひらがな(またはカタカナ)はローマ字表記に変換しやすいもの(たとえば、「あ」と「a」、「し」と「si」)がある一方、ローマ字表記に変換し難いものがある。このようなひらがなについては、ローマ字表記への変換に対する所定のルールを設定することが好ましい。
具体的には、図4に示したように、「っ」は、次に続く文字の子音をローマ字表記に変換するように設定されている。「は」は、文字属性が主文字であれば「wa」に変換され、ルビであれば「ha」に変換するように設定されている。「へ」は、文字属性が主文字であれば「e」に変換され、ルビであれば「he」に変換するように設定されている。また、「ゃ」、「ゅ」、「ょ」のような拗音は、録音した歌唱音声を逆再生して放音する際の聞こえ方を考慮して、それぞれ「a」、「u」、「o」に変換するように設定されている。また、「ー」は、ひとつ前の文字の母音に変換するように設定されている。
また、ローマ字歌詞描出データ作成部500aは、変換されたローマ字表記に対して順番データとは逆の順番を付与する。
各ローマ字表記の順番は、順番データと逆になるように付与される。一方、漢字やアルファベットのようにローマ字表記に変換されなかった文字については順番を付与しない。すなわち、ローマ字表記に変換されない文字は、逆再生されるカラオケ楽曲用の歌詞描出データでは使用されない。
なお、逆再生用の歌詞は、ローマ字表記、ひらがな表記またはカタカナ表記のいずれかの表記で表示される(詳細は後述)。従って、ローマ字歌詞描出データ作成部500aは、ルビの文字については、文字属性を主文字に変更する。
ローマ字歌詞描出データ作成部500aは、変換したローマ字表記、逆の順番を付与した新たな順番データに、元の歌詞描出データが有する歌唱タイミングデータ、位置データ、行データ、表示タイミングデータ、及び頁データを関連付けることにより、ローマ字歌詞描出データを作成する。図5は、図2に示す歌詞描出データの一部(行「1」)に基づいて作成されたローマ字歌詞描出データを示す。図5では、位置データの記載を省略している。
ローマ字歌詞描出データ作成部500aは、行毎に同様の処理を行うことで、一のカラオケ楽曲全体のローマ字歌詞描出データを作成する。
[逆読み変換部]
逆読み変換部500bは、ローマ字歌詞描出データに含まれるローマ字表記を、逆読み可能となるように変換する。
「ローマ字表記を逆読み可能となるように変換する」とは、所定の順番で並んでいるローマ字表記を逆側から読めるように並び替えることをいう。
図6は、図5に示すローマ字歌詞描出データに含まれるローマ字表記を逆読み可能となるように変換する例を模式的に示した図である。
まず、逆読み変換部500bは、メモリ11bの記憶領域の一部に子音の退避メモリを確保する。
次に、逆読み変換部500bは、ローマ字歌詞描出データに含まれるローマ字表記を次新たな順番データに対応する順番で一つずつ確認する。
ここで、(1)ある順番におけるローマ字表記が母音のみの場合、且つ子音が退避メモリに記憶されていない場合、逆読み変換部500bは、当該順番のローマ字表記として、母音をそのまま当てはめる。
たとえば、図5に示した最初のローマ字表記は「o」である。また、最初のローマ字表記であるため、退避メモリに子音は記憶されていない。この場合、逆読み変換部500bは、文字の順番「1」に対して、「o」を当てはめる(図6参照)。
また、(2)ある順番におけるローマ字表記が母音のみの場合、且つ子音が退避メモリに記憶されている場合、逆読み変換部500bは、当該順番のローマ字表記として、記憶されている子音と当該順番における母音とを組み合わせて、ローマ字表記に変換すると共に、退避メモリの子音を削除する。
たとえば、図5に示した6番目のローマ字表記は「o」である。また、退避メモリには子音「y」が記憶されている。この場合、逆読み変換部500bは、文字の順番「6」に対して、ローマ字表記を「yo」に変換する(図6参照)。また、逆読み変換部500bは、退避メモリから子音「y」を削除する。
また、(3)ある順番におけるローマ字表記が子音+母音の場合、且つ子音が退避メモリに記憶されていない場合、逆読み変換部500bは、当該順番のローマ字表記を母音のみに変換し、当該順番の子音を退避メモリに記憶させる。
たとえば、図5に示した2番目のローマ字表記は「yo」である。また、退避メモリには子音が記憶されていない。この場合、逆読み変換部500bは、文字の順番「2」に対して、ローマ字表記を「o」に変換する(図6参照)。また、逆読み変換部500bは、退避メモリに子音「y」を記憶させる。
また、(4)ある順番におけるローマ字表記が子音+母音の場合、且つ子音が退避メモリに記憶されている場合、逆読み変換部500bは、当該順番のローマ字表記の母音と退避メモリに記憶されている子音とを組み合わせたローマ字表記に変換し、且つ当該順番の子音を退避メモリに記憶させる。
たとえば、図5に示した3番目のローマ字表記は「wa」である。また、退避メモリには子音「y」が記憶されている。この場合、逆読み変換部500bは、文字の順番「3」のローマ字表記について、当該順番のローマ字表記の母音「a」と退避メモリに記憶されている子音「y」を組み合わせてローマ字表記「ya」に変換する(図6参照)。また、逆読み変換部500bは、退避メモリに子音「w」を記憶させる。
最後に、(5)一行の最後のローマ字表記に対して逆読み変換が完了した場合、且つ子音が退避メモリに記憶されている場合、逆読み変換部500bは、退避メモリに記憶されている子音と最後のローマ字表記の母音とを組み合わせて新たなローマ字表記を作成する。また、逆読み変換部500bは、新たなローマ字表記に対して、先に変換したローマ字表記と連番になるよう順番を追加する。更に、逆読み変換部500bは、追加した順番の歌唱タイミングの開始時刻として追加前の最後のローマ字表記の開始時刻を設定すると共に、追加した順番の歌唱タイミングの終了時刻、及び追加前の最後のローマ字表記の開始時刻として、追加前の最後のローマ字表記の開始時刻から終了時刻の中間となる時刻を設定する。
たとえば、図5に示した10番目のローマ字表記は「ya」である。また、退避メモリには子音「y」が記憶されている。この場合、逆読み変換部500bは、退避メモリに記憶されている子音「y」と最後のローマ字表記の母音「a」とを組み合わせて新たなローマ字表記「ya」を作成する(図6参照)。また、逆読み変換部500bは、新たなローマ字表記「ya」に対して、先に変換したローマ字表記「o」〜「ma」と連番になるよう順番「11」を追加する。更に、逆読み変換部500bは、追加した順番「11」の歌唱タイミングの開始時刻として追加前の最後のローマ字表記「ya」の開始時刻「1675ms」を設定すると共に、追加した順番「11」の歌唱タイミングの終了時刻、及び追加前の最後のローマ字表記「ma」の開始時刻として、追加前の最後のローマ字表記の開始時刻から終了時刻の中間となる時刻「1683ms」を設定する。
一方、一行の最後のローマ字表記に対して逆読み変換が完了した際に子音が退避メモリに記憶されていない場合、逆読み変換部500bは特段の処理を行わない。
逆読み変換部500bは、上記の変換処理を1行単位で行う。図7は、図5に示したローマ字表記を逆読み変換部500bにより逆読み変換した結果を示す。図7では、位置データの記載を省略している。逆読み変換部500bは、全ての行毎に対して同様の変換処理を行うことで、一のカラオケ楽曲全体のローマ字表記を逆読み変換する。
[表示位置特定部]
表示位置特定部500cは、位置データに基づいて、逆読み変換されたローマ字表記の表示画面における表示位置を特定する。
表示位置特定部500cは、原則、新たな順番データに含まれる順番毎に関連付けられている位置データを参照し、逆読み変換されたローマ字表記の表示画面における表示位置を座標値として特定する。
一方、図6の例で示したように、新たなローマ字表記が追加された場合、新たなローマ字表記は、位置データを有していない。
この場合、表示位置特定部500cは、新たなローマ字表記のひとつ前のローマ字表記の文字表示位置のX軸の値に、1文字の幅(フォントサイズに基づく)及び所定の余白を加えた値を、新たなローマ字表記のX軸の値とし、新たなローマ字表記のひとつ前のローマ字表記の文字表示位置のY軸の値を、新たなローマ字表記のY軸の値として設定する。
[表示順設定部]
表示順設定部500dは、行データ及び頁データに基づいて、行及び頁の表示順を逆に設定する。
たとえば、図2に示した歌詞描出データに含まれる頁データ及び行データに対し、表示順設定部500dは、予め設定されている順番を降順にソートし、番号を逆に振りなおすことによって頁及び行の順番を逆に設定する。
上記例において、表示順設定部500dは、たとえば、10頁目に相当する頁を1番目(1頁目)と設定し、1頁目に相当する頁を10番目(10頁目)と設定する。また、表示設定部500dは、たとえば、20行目に相当する行を1番目(1行目)と設定し、1行目に相当する行を20番目(20行目)と設定する。
[表示時刻設定部]
表示時刻設定部500eは、選曲されたカラオケ楽曲の総演奏時間、及び表示タイミングデータに基づいて、表示順が変更された各行の表示を開始する時刻及び終了する時刻を設定する。カラオケ楽曲の総演奏時間は、カラオケ楽曲毎に予め記憶されている。
各行の表示を開始する時刻は、総演奏時間から当該行の表示を終了する時刻を減じた値となる。一方、各行の表示を終了する時刻は、総演奏時間から当該行の表示を開始する時刻を減じた値となる。
たとえば、上記例において、カラオケ楽曲の総演奏時間が180000msの場合、表示時刻設定部500eは、180000msから20行目の表示を終了する時刻3050msを減じた値(176950ms)を表示順が20番目の行の表示開始時刻であるとする。また、表示時刻設定部500eは、180000msから20行目の表示開始時刻1400msを減じた値(178600ms)を表示順が20番目の行の表示終了時刻であるとする。
表示時刻設定部500eは、全ての行に対して同様の処理を行う。
[歌唱時刻設定部]
歌唱時刻設定部500fは、選曲されたカラオケ楽曲の総演奏時間、及び歌唱タイミングデータに基づいて、逆読み変換された各ローマ字表記の歌唱を開始する時刻及び終了する時刻を設定する。
各ローマ字表記の歌唱を開始する時刻は、総演奏時間から当該ローマ字表記の歌唱を終了する時刻を減じた値となる。一方、各ローマ字表記の歌唱を終了する時刻は、総演奏時間から当該ローマ字表記の歌唱を開始する時刻を減じた値となる。
たとえば、上記例において、カラオケ楽曲の総演奏時間が180000msの場合、歌唱時刻設定部500fは、180000msから20番目のローマ字表記「o」の歌唱を終了する時刻2400msを減じた値(177600ms)を20番目のローマ字表記「o」の歌唱を開始する時刻であるとする。また、歌唱時刻設定部500fは、180000msから20番目のローマ字表記「o」の歌唱を開始する時刻2300msを減じた値(177700ms)を20番目のローマ字表記「o」の歌唱を終了する時刻であるとする。
歌唱時刻設定部500fは、全てのローマ字表記に対して同様の処理を行う。
歌唱描出データに対して以上の処理を実行することにより、逆再生されるカラオケ楽曲用の歌詞描出データを作成することができる。図8は、図2に示した歌唱描出データから作成された逆再生されるカラオケ楽曲用の歌詞描出データの一部を示す。すなわち、逆再生されるカラオケ楽曲用の歌詞描出データは、変換したローマ字表記、及び新たに設定された、順番データ、歌唱タイミングデータ、位置データ、行データ、表示タイミングデータ、頁データを含んで構成されている。
==カラオケ装置1の動作について==
次に、図9及び図10を参照して本実施形態におけるカラオケ装置1の動作の具体例について述べる。図9は、カラオケ装置1において、逆再生されたカラオケ楽曲の歌唱音声を録音、逆再生する例を示すフローチャートである。図10は、カラオケ装置1において、逆再生されたカラオケ楽曲の歌唱を行う際に参照する歌唱描出データを作成する例を示すフローチャートである。この例では、逆再生によるカラオケ歌唱を行おうとする歌唱者がリモコン装置50を介し、カラオケ楽曲Xを選曲し、且つ逆再生での演奏指示を行ったものとする。また、リモコン装置50は、カラオケ本体10に対して、選曲されたカラオケ楽曲の楽曲ID及び逆再生フラグを出力したものとする。
逆再生フラグが入力された場合、逆再生楽曲データ作成手段100は、カラオケ楽曲Xの楽曲データに基づいて、カラオケ楽曲Xを逆再生するための逆再生用楽曲データを作成する(逆再生用楽曲データの作成。ステップ10)。
一方、逆再生用歌詞描出データ作成手段500は、カラオケ楽曲の歌詞を表示画面に表示させるための歌詞描出データに基づいて、逆再生されるカラオケ楽曲用の歌詞描出データを作成する(逆再生用歌詞描出データの作成。ステップ11)。
逆再生用歌詞描出データの作成は、以下の処理により行われる(図10参照)。
ローマ字歌詞描出データ作成部500aは、歌詞描出データに含まれる文字のうち、ひらがな、カタカナ、または長音をローマ字表記に変換し、且つ変換されたローマ字表記に対して順番データとは逆の順番を付与することで、ローマ字歌詞描出データを作成する(ローマ字歌詞描出データの作成。ステップ100)。
逆読み変換部500bは、ステップ100で作成されたローマ字歌詞描出データに含まれるローマ字表記を、逆読み可能となるように変換する(逆読み変換。ステップ101)。
表示位置特定部500cは、歌詞描出データに含まれる位置データに基づいて、ステップ101で逆読み変換されたローマ字表記の表示画面における表示位置を特定する(表示位置の特定。ステップ102)。
表示順設定部500dは、歌詞描出データに含まれる行データ及び頁データに基づいて、行及び頁の表示順を逆に設定する(行及び頁の表示順を設定。ステップ103)。
表示時刻設定部500eは、カラオケ楽曲Xの総演奏時間、及び歌詞描出データに含まれる表示タイミングデータに基づいて、表示順が変更された各行の表示を開始する時刻及び終了する時刻を設定する(行の表示時刻を設定。ステップ104)。
歌唱時刻設定部500fは、カラオケ楽曲Xの総演奏時間、及び歌詞描出データに含まれる歌唱タイミングデータに基づいて、ステップ101で逆読み変換された各ローマ字表記の歌唱を開始する時刻及び終了する時刻を設定する(各ローマ字表記の歌唱時刻を設定。ステップ105)。
ステップ100〜105の処理を行うことにより、逆再生用歌詞描出データが作成される。
図9に戻り、カラオケ装置1は、ステップ10で作成された逆再生用楽曲データに基づいて、カラオケ楽曲Xの演奏を開始する(演奏開始。ステップ12)。
また、表示制御手段200は、カラオケ楽曲Xの演奏に合わせて、ステップ11で作成された逆再生されるカラオケ楽曲用の歌詞描出データに基づいて、表示装置30の表示画面に歌詞を表示させる(逆再生されるカラオケ楽曲用の歌詞を表示。ステップ13)。
歌唱者は、カラオケ楽曲Xの演奏に合わせて、ステップ13で表示された歌詞を参照しながらカラオケ歌唱を行う。
録音手段300は、ステップ13で表示された歌詞を参照してカラオケ歌唱を行った際に得られる歌唱音声を録音する(歌唱音声の録音。ステップ14)。
カラオケ楽曲Xのカラオケ歌唱が終了した後、たとえば、聴衆がリモコン装置50に表示された「逆再生」アイコンを選択する。
この場合、放音手段400は、スピーカ20を介し、ステップ14で録音された歌唱音声を逆再生で放音させる(歌唱音声を逆再生で放音。ステップ15)。
このように、本実施形態に係るカラオケ装置1は、歌詞描出データに含まれる文字のうち、ひらがな、カタカナ、または長音をローマ字表記に変換し、且つ変換されたローマ字表記に対して順番データとは逆の順番を付与する。また、カラオケ装置1は、変換されたローマ字表記を逆読み可能となるように更に変換する。また、カラオケ装置1は、位置データに基づいて、逆読み変換されたローマ字表記の表示画面における表示位置を特定し、行データ及び頁データに基づいて、行及び頁の表示順を逆に設定し、選曲されたカラオケ楽曲の総演奏時間、及び表示タイミングデータに基づいて、表示順が変更された各行の表示を開始する時刻及び終了する時刻を設定し、選曲されたカラオケ楽曲の総演奏時間、及び歌唱タイミングデータに基づいて、逆読み変換された各ローマ字表記の歌唱を開始する時刻及び終了する時刻を設定する。このようにして、カラオケ装置1は、カラオケ楽曲の歌詞を表示画面に表示させるための歌詞描出データに基づいて、逆再生されるカラオケ楽曲用の歌詞描出データを作成することができる。すなわち、本実施形態に係るカラオケ装置1によれば、逆再生するカラオケ楽曲用の歌詞を生成することができる。
また、本実施形態において説明した処理を実行するプログラムを作成し、コンピュータ(たとえばカラオケ装置1)に実行させることにより、逆再生するカラオケ楽曲用の歌詞を生成することができる。
また、カラオケ装置1は、カラオケ楽曲の楽曲データに基づいて、当該カラオケ楽曲を逆再生するための逆再生用楽曲データを作成し、当該逆再生用楽曲データに基づいてカラオケ楽曲を逆再生で演奏することができる。また、カラオケ装置1は、逆再生されるカラオケ楽曲用の歌詞描出データに基づいて、表示画面に歌詞を表示させる。また、カラオケ装置1は、表示された歌詞を参照してカラオケ歌唱を行った際に得られる歌唱音声を録音し、録音した歌唱音声を逆再生で放音できる。このように、逆再生用の歌詞を参照して行ったカラオケ歌唱で得られた歌唱音声を逆再生することにより、元々の歌詞に沿った歌唱音声が放音される。放音された歌唱音声を聴いた歌唱者は、自己のカラオケ歌唱が上手く行われているかを確認することができる。或いは、複数の聴衆で放音された歌唱音声を聴き、逆再生で歌唱を行った楽曲名を当てるといったゲームを楽しむこともできる。
<その他>
上記実施形態では、歌詞描出データに含まれる文字をローマ字表記に変換する例について述べた。一方、変換されたローマ字表記を更に別の表記に変換することも可能である。
この場合、逆読み変換部500bは、変換されたローマ字表記を、更に仮名表記に変換する。仮名表記は、ひらがな、またはカタカナである。
また、ローマ字表記と仮名表記では文字の表示位置が異なる場合がありうる。そこで、表示位置特定部500cは、変換された仮名表記に対応する文字の表示画面における表示位置を特定する。
このように、ローマ字表記を仮名表記に変換することにより、歌唱者は逆再生用の歌詞を認識し易くなる。
上記実施形態は、例として提示したものであり、発明の範囲を限定するものではない。上記の構成は、適宜組み合わせて実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。