(57)【要約】【課題】カラオケの歌詞文字について、判読のし易いローマ字ルビを生成する。【解決手段】本発明に係るカラオケ装置は、前記ルビ生成・仮決定処理により生成されたローマ字ルビについて、所定の歌詞文字から生成された所定のローマ字ルビが、他の歌詞文字から生成された他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断する重複判断処理と、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記基準位置に応じて仮決定された前記描画位置から変更して確定し、前記重複判断手段で重複しないと判断された場合、前記ルビ生成・仮決定処理により仮決定されたローマ字ルビの描画位置をそのまま確定する確定処理と、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した描画位置に従って前記所定のローマ字ルビを描画する描画処理と、を実行可能とする。【選択図】図１２
2018059966.tif 000002
【特許請求の範囲】
【請求項１】
楽曲情報に基づいて楽曲の再生を行うカラオケ装置であって、
前記楽曲情報は、演奏情報と、表示手段に表示させる基準位置が対応付けられた複数の歌詞文字で構成された歌詞情報とを含んで構成され、
ルビ生成・仮決定処理と、重複判断処理と、確定処理と、描画処理とを実行可能とし、
前記ルビ生成・仮決定処理は、所定単位の歌詞文字毎に、前記歌詞文字からローマ字ルビを生成し、当該ローマ字ルビの生成元となった歌詞文字に対応する前記基準位置に応じた描画位置を、前記ローマ字ルビを表示させる位置に仮決定し、
前記重複判断処理は、前記ルビ生成・仮決定処理により生成されたローマ字ルビについて、所定の歌詞文字から生成された所定のローマ字ルビが、他の歌詞文字から生成された他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断し、
前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記基準位置に応じて仮決定された前記描画位置から変更して確定し、前記重複判断手段で重複しないと判断された場合、前記ルビ生成・仮決定処理により仮決定されたローマ字ルビの描画位置をそのまま確定し、
前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した描画位置に従って前記所定のローマ字ルビを描画することを特徴とする
カラオケ装置。
【請求項２】
前記重複判断処理は、前記所定のローマ字ルビについて、前記所定のローマ字ルビの前記描画位置に基づく描画範囲の一端側が、前記所定のローマ字ルビと隣り合う前記描画位置が定められた前記他のローマ字ルビの描画位置に基づく描画範囲の他端側と重複するか否かを判断し、
前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記前記基準位置に応じて仮決定された前記描画位置を、前記ローマ字ルビの前記一端側から前記他端側へ向かう方向に変更して確定することを特徴とする。
請求項１に記載のカラオケ装置。
【請求項３】
前記歌詞情報の前記複数の歌詞文字は、歌詞を構成する漢字およびかな文字と、前記歌詞の漢字の読みを示す仮名ルビとを含み、前記基準位置は、前記漢字およびかな文字を表示する歌詞位置と前記仮名ルビを表示するルビ位置とを有して構成され、
前記ルビ生成・仮決定処理は、前記かな文字ルビと前記仮名ルビとからローマ字ルビを生成し、且つ、前記かな文字から生成された前記ローマ字ルビの前記描画位置を前記歌詞位置に応じて仮決定し、前記仮名ルビから生成された前記ローマ字ルビの前記描画位置を前記ルビ位置に応じて仮決定することを特徴とする
請求項１または２に記載のカラオケ装置。
【請求項４】
歌詞情報は、漢字およびかな文字を色変化させる開始タイミングを示す歌詞色変え時間情報と、仮名ルビを色変化させる開始タイミングを示すルビ色変え時間情報を有し、
前記ルビ生成・仮決定処理は、生成するローマ字ルビの生成元が漢字およびかな文字であるとき前記歌詞色変え時間情報に基づいて、前記生成するローマ字ルビを色変化させる開始タイミングを示す色変え時間情報を生成し、前記生成元が仮名ルビであるとき前記ルビ色変え時間情報を、前記生成するローマ字ルビを色変化させる開始タイミングを示す色変え時間情報に設定し、
前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した前記描画位置に従って前記所定のローマ字ルビを描画し、且つ、前記ルビ生成・仮決定処理により設定された色変え時間情報の開始タイミングで、描画されたローマ字ルビの色変えを行う色変え処理を含むことを特徴とする
請求項３に記載のカラオケ装置。
【請求項５】
歌詞情報は、漢字およびかな文字を色変化させる速度を示す歌詞色変え速度情報と、仮名ルビを色変化させる速度を示すルビ色変え速度情報を有し、
前記ルビ生成・仮決定処理は、生成するローマ字ルビの生成元の漢字およびかな文字の前記歌詞色変え速度情報または仮名ルビの前記ルビ色変え速度情報を、生成元の歌詞文字である漢字およびかな文字の長さまたは仮名ルビの長さに対する前記ローマ字ルビの長さに応じて補正した速度を、前記ローマ字ルビを色変化させる色変え速度情報に設定し、
前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した前記描画位置に従って前記所定のローマ字ルビを描画し、且つ、前記ルビ生成・仮決定処理により設定された色変え速度情報が示す速度で、描画されたローマ字ルビの色変えを行う色変え処理を含むことを特徴とする
請求項３または４に記載のカラオケ装置。
【請求項６】
歌詞文字は、英字を含み、
前記ルビ生成・仮決定処理は、歌詞文字が英字であるか否かを判断し、歌詞文字が英字であると判断されなかった歌詞文字についてローマ字ルビを生成する
請求項１から請求項５の何れか１項に記載のカラオケ装置。
【請求項７】
楽曲の再生位置を巻き戻す巻き戻し処理を実行可能とし、
前記巻き戻し処理時における前記重複判断処理は、前記ルビ生成・仮決定処理により所定の歌詞文字に対して生成した所定のローマ字ルビについて、ローマ字ルビの読み方向に沿って先に位置する他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断し、
前記巻き戻し処理時における前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記所定のローマ字ルビの前記描画位置に基づく描画範囲の前記読み方向の前端が、前記読み方向に沿って先に位置する他のローマ字ルビの描画範囲の前記読み方向の後端がとなるように、変更して確定し、前記重複判断手段で重複しないと判断された場合、仮決定されたローマ字ルビの描画位置をそのまま確定することを特徴とする
請求項１から請求項６の何れか１項に記載のカラオケ装置。
【請求項８】
ルビ生成・仮決定処理と、重複判断処理と、確定処理は、前記楽曲情報に基づいて再生される楽曲の再生位置に対応して前記ローマ字ルビを表示させるとき、表示される前記ローマ字ルビに対応する歌詞文字よりも所定数分の単位の歌詞文字を先読みして処理されることを特徴とする
請求項１から請求項７の何れか１項に記載のカラオケ装置。
【請求項９】
情報処理装置で実行され、楽曲情報に基づいて楽曲の再生を行うカラオケ用プログラムであって、
前記楽曲情報は、演奏情報と、表示手段に表示させる基準位置が対応付けられた複数の歌詞文字で構成された歌詞情報とを含んで構成され、
ルビ生成・仮決定処理と、重複判断処理と、確定処理と、描画処理とを実行可能とし、
前記ルビ生成・仮決定処理は、所定単位の歌詞文字毎に、前記歌詞文字からローマ字ルビを生成し、当該ローマ字ルビの生成元となった歌詞文字に対応する前記基準位置に応じた描画位置を、前記ローマ字ルビを表示させる位置に仮決定し、
前記重複判断処理は、前記ルビ生成・仮決定処理により生成されたローマ字ルビについて、所定の歌詞文字から生成された所定のローマ字ルビが、他の歌詞文字から生成された他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断し、
前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記基準位置に応じて仮決定された前記描画位置から変更して確定し、前記重複判断手段で重複しないと判断された場合、前記ルビ生成・仮決定処理により仮決定されたローマ字ルビの描画位置をそのまま確定し、
前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した描画位置に従って前記所定のローマ字ルビを描画することを特徴とする
カラオケ用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲の演奏にあわせて歌唱を楽しむことのできるカラオケ装置、並びに、情報処理装置で実行可能なカラオケ用プログラムに関するものであり、特に、演奏に同期して歌詞を表示可能なカラオケ装置、並びに、カラオケ用プログラムに関するものである。
【背景技術】
【０００２】
従来、カラオケ装置においては、歌唱補助を目的としてディスプレイなどの表示手段に、演奏に同期させて歌詞や、日本語の歌詞であれば漢字の読み仮名（通称：ルビ）を表示することが行われている。このようなカラオケ装置は、ユーザーが歌詞や漢字の読みを覚えておかなくても気軽に歌唱を楽しむことを可能にしている。
【０００３】
ところで、現在、カラオケは日本人ユーザーのみならず、外国人ユーザーにおいても好評を得ており、外国人ユーザーの中には、外国曲のみならず日本語の楽曲を歌唱したいというユーザーも増えつつある。特に、国内における観光需要が高まる中、外国人ユーザーに対する歌唱支援は重要である。
【０００４】
特許文献１には、外国人ユーザー向けの機能として、表示されるカラオケの歌詞テロップに追記してルビを振る技術が開示されている。ルビは、歌詞テロップの日本語１文字が複数のローマ字となる。歌詞テロップの全ての文字にルビをローマ字で振った場合、歌詞テロップの１文字の描画幅より、対応するローマ字でのルビの描画幅が大きくなる場合がある。特に、歌詞テロップの文字が漢字の場合は、漢字の１文字に複数文字の読み仮名が対応することがあるため、歌詞テロップの文字がひらがなである場合より、ルビのローマ字の文字数は多くなり、描画幅も大きくなることが考えられる。
【０００５】
特許文献１に開示されるカラオケ装置では、隣り合うルビの文字の重複を防ぐ対処方法として、（１）歌詞テロップの漢字に対する複数の仮名のローマ字を縮小して表示する方法、（２）歌詞テロップの漢字に対するローマ字描画位置と、歌詞テロップのひらがなまたはカタカナに対するローマ字描画位置とを、画面縦方向においてずらして表示する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１１８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示される（１）の方法、すなわち、複数の仮名のローマ字を縮小して表示する方法は、ローマ字で描画された仮名を読み進めて歌唱する場合には、ローマ字が小さいために読みにくくなってしまい、ルビのローマ字を読ませるという本来の目的に関して、ユーザーに不便さを感じさせることが考えられる。また、特許文献１に開示される（２）の方法、すなわち、歌詞テロップの漢字と、ひらがなまたはカタカナとのローマ字描画位置を、画面縦方向にずらして表示する方法は、ひらがなまたはカタカナと、漢字とが交互に出現する歌詞テロップのような場合に、読む位置が変動し、非常に読みにくくなることが考えられる。
【０００８】
楽曲中に、予めローマ字のルビが振られた歌詞テロップを用意しておき、ルビの描画位置を規定しておくことで、読みやすさを考慮することも可能であるが、数十万曲を収録したカラオケ装置では、全ての楽曲に対してローマ字ルビを予め歌詞テロップとして付与することは現実的ではない。
【０００９】
本発明は、このような事情を鑑み、ローマ字のルビを有していない楽曲であっても、ローマ字のルビを表示することができ、更に、読みやすさを考慮したローマ字ルビの配置を可能とすることを目的としている。
【課題を解決するための手段】
【００１０】
そのため、本発明に係るカラオケ装置は以下の構成を採用するものである。
楽曲情報に基づいて楽曲の再生を行うカラオケ装置であって、前記楽曲情報は、演奏情報と、表示手段に表示させる基準位置が対応付けられた複数の歌詞文字で構成された歌詞情報とを含んで構成され、ルビ生成・仮決定処理と、重複判断処理と、確定処理と、描画処理とを実行可能とし、前記ルビ生成・仮決定処理は、所定単位の歌詞文字毎に、前記歌詞文字からローマ字ルビを生成し、当該ローマ字ルビの生成元となった歌詞文字に対応する前記基準位置に応じた描画位置を、前記ローマ字ルビを表示させる位置に仮決定し、前記重複判断処理は、前記ルビ生成・仮決定処理により生成されたローマ字ルビについて、所定の歌詞文字から生成された所定のローマ字ルビが、他の歌詞文字から生成された他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断し、前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記基準位置に応じて仮決定された前記描画位置から変更して確定し、前記重複判断手段で重複しないと判断された場合、前記ルビ生成・仮決定処理により仮決定されたローマ字ルビの描画位置をそのまま確定し、前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した描画位置に従って前記所定のローマ字ルビを描画することを特徴とする。
【００１１】
さらに本発明に係るカラオケ装置において、前記重複判断処理は、前記所定のローマ字ルビについて、前記所定のローマ字ルビの前記描画位置に基づく描画範囲の一端側が、前記所定のローマ字ルビと隣り合う前記描画位置が定められた前記他のローマ字ルビの描画位置に基づく描画範囲の他端側と重複するか否かを判断し、前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記前記基準位置に応じて仮決定された前記描画位置を、前記ローマ字ルビの前記一端側から前記他端側へ向かう方向に変更して確定することを特徴とする。
【００１２】
さらに本発明に係るカラオケ装置において、前記歌詞情報の前記複数の歌詞文字は、歌詞を構成する漢字およびかな文字と、前記歌詞の漢字の読みを示す仮名ルビとを含み、前記基準位置は、前記漢字およびかな文字を表示する歌詞位置と前記仮名ルビを表示するルビ位置とを有して構成され、前記ルビ生成・仮決定処理は、前記かな文字ルビと前記仮名ルビとからローマ字ルビを生成し、且つ、前記かな文字から生成された前記ローマ字ルビの前記描画位置を前記歌詞位置に応じて仮決定し、前記仮名ルビから生成された前記ローマ字ルビの前記描画位置を前記ルビ位置に応じて仮決定することを特徴とする。
【００１３】
さらに本発明に係るカラオケ装置において、歌詞情報は、漢字およびかな文字を色変化させる開始タイミングを示す歌詞色変え時間情報と、仮名ルビを色変化させる開始タイミングを示すルビ色変え時間情報を有し、前記ルビ生成・仮決定処理は、生成するローマ字ルビの生成元が漢字およびかな文字であるとき前記歌詞色変え時間情報に基づいて、前記生成するローマ字ルビを色変化させる開始タイミングを示す色変え時間情報を生成し、前記生成元が仮名ルビであるとき前記ルビ色変え時間情報を、前記生成するローマ字ルビを色変化させる開始タイミングを示す色変え時間情報に設定し、前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した前記描画位置に従って前記所定のローマ字ルビを描画し、且つ、前記ルビ生成・仮決定処理により設定された色変え時間情報の開始タイミングで、描画されたローマ字ルビの色変えを行う色変え処理を含むことを特徴とする。
【００１４】
さらに本発明に係るカラオケ装置において、歌詞情報は、漢字およびかな文字を色変化させる速度を示す歌詞色変え速度情報と、仮名ルビを色変化させる速度を示すルビ色変え速度情報を有し、前記ルビ生成・仮決定処理は、生成するローマ字ルビの生成元の漢字およびかな文字の前記歌詞色変え速度情報または仮名ルビの前記ルビ色変え速度情報を、生成元の歌詞文字である漢字およびかな文字の長さまたは仮名ルビの長さに対する前記ローマ字ルビの長さに応じて補正した速度を、前記ローマ字ルビを色変化させる色変え速度情報に設定し、前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した前記描画位置に従って前記所定のローマ字ルビを描画し、且つ、前記ルビ生成・仮決定処理により設定された色変え速度情報が示す速度で、描画されたローマ字ルビの色変えを行う色変え処理を含むことを特徴とする。
【００１５】
さらに本発明に係るカラオケ装置において、歌詞文字は、英字を含み、前記ルビ生成・仮決定処理は、歌詞文字が英字であるか否かを判断し、歌詞文字が英字であると判断されなかった歌詞文字についてローマ字ルビを生成する。
【００１６】
さらに本発明に係るカラオケ装置において、楽曲の再生位置を巻き戻す巻き戻し処理を実行可能とし、前記巻き戻し処理時における前記重複判断処理は、前記ルビ生成・仮決定処理により所定の歌詞文字に対して生成した所定のローマ字ルビについて、ローマ字ルビの読み方向に沿って先に位置する他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断し、前記巻き戻し処理時における前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記所定のローマ字ルビの前記描画位置に基づく描画範囲の前記読み方向の前端が、前記読み方向に沿って先に位置する他のローマ字ルビの描画範囲の前記読み方向の後端がとなるように、変更して確定し、前記重複判断手段で重複しないと判断された場合、仮決定されたローマ字ルビの描画位置をそのまま確定することを特徴とする。
【００１７】
さらに本発明に係るカラオケ装置において、ルビ生成・仮決定処理と、重複判断処理と、確定処理は、前記楽曲情報に基づいて再生される楽曲の再生位置に対応して前記ローマ字ルビを表示させるとき、表示される前記ローマ字ルビに対応する歌詞文字よりも所定数分の単位の歌詞文字を先読みして処理されることを特徴とする。
【００１８】
また本発明に係るカラオケ用プログラムは、情報処理装置で実行され、楽曲情報に基づいて楽曲の再生を行うカラオケ用プログラムであって、前記楽曲情報は、演奏情報と、表示手段に表示させる基準位置が対応付けられた複数の歌詞文字で構成された歌詞情報とを含んで構成され、ルビ生成・仮決定処理と、重複判断処理と、確定処理と、描画処理とを実行可能とし、前記ルビ生成・仮決定処理は、所定単位の歌詞文字毎に、前記歌詞文字からローマ字ルビを生成し、当該ローマ字ルビの生成元となった歌詞文字に対応する前記基準位置に応じた描画位置を、前記ローマ字ルビを表示させる位置に仮決定し、前記重複判断処理は、前記ルビ生成・仮決定処理により生成されたローマ字ルビについて、所定の歌詞文字から生成された所定のローマ字ルビが、他の歌詞文字から生成された他のローマ字ルビと重複するか否かを前記描画位置に基づいて判断し、前記確定処理は、前記重複判断手段で重複すると判断された場合、前記所定のローマ字ルビの描画位置を、前記基準位置に応じて仮決定された前記描画位置から変更して確定し、前記重複判断手段で重複しないと判断された場合、前記ルビ生成・仮決定処理により仮決定されたローマ字ルビの描画位置をそのまま確定し、前記描画処理は、演奏情報に基づいて再生される楽曲の進行に応じて、前記確定処理で確定した描画位置に従って前記所定のローマ字ルビを描画することを特徴とする。
【発明の効果】
【００１９】
本発明に係るカラオケ装置、カラオケ用プログラムによれば、ローマ字ルビが歌詞情報として予め用意されていない楽曲であっても、歌詞情報に基づいてローマ字ルビを生成して描画することができる。その際、ローマ字ルビの描画位置が重複すると判定された場合、ローマ字ルビの描画位置を変更することで、ローマ字ルビの読みやすさを実現している。
【００２０】
さらに、本発明に係るカラオケ装置、カラオケ用プログラムによれば、所定のローマ字ルビの描画範囲が、他のローマ字ルビの描画範囲と重複する場合であっても、一端側から他端側へ向かう方向に変更することにより、所定のローマ字ルビの描画位置を、他のローマ字ルビとの重複を避ける方向に変更させることができる。
【００２１】
さらに本発明に係るカラオケ装置、カラオケ用プログラムによれば、かな文字からローマ字ルビを生成する場合、かな文字の歌詞位置から描画位置を仮決定し、仮名ルビからローマ字ルビを生成する場合、仮名ルビのルビ位置から描画位置を仮決定する。したがって、生成されるローマ字ルビは、生成元のかな文字および仮名ルビの配置と一対一で対応する描画位置が定められることとなり、ローマ字ルビを楽曲の歌詞にあらかじめ定められたより正確な位置を用いて仮決定することが可能となる。
【００２２】
さらに本発明に係るカラオケ装置、カラオケ用プログラムによれば、漢字およびかな文字を色変化させる歌詞色変え時間情報に基づいて、あるいは、仮名ルビを色変化させるルビ色変え時間情報から、ローマ字ルビの色変え情報を生成することとしている。したがって、漢字およびかな文字が生成元のローマ字ルビの色変え時間は、漢字およびかな文字の歌詞色変え時間に基づいて定めることができ、仮名ルビが生成元のローマ字ルビの色変え時間は、仮名ルビのルビ色変え時間をそのまま利用することができるため、新たに生成したローマ字ルビに対しても適切な歌唱タイミングで色変えを行うことが可能となる。
【００２３】
さらに本発明に係るカラオケ装置、カラオケ用プログラムによれば、漢字およびかな文の歌詞色変え速度情報あるいは仮名ルビを色変化させるルビ色変え速度情報を、生成元の歌詞文字である漢字およびかな文字の長さまたは仮名ルビの長さに対する前記ローマ字ルビの長さに応じて補正した速度で色変え処理を行う。生成されたローマ字ルビの文字の長さが、生成元の漢字およびかな文字の長さと異なる場合であっても、適切な歌唱タイミングに合わせて歌詞文字と同じ速度で色変えを行うことが可能となる。
【００２４】
さらに本発明に係るカラオケ装置、カラオケ用プログラムによれば、歌詞ブロック中の歌詞文字がすべて英字である場合には、ローマ字ルビを生成しないこととしている。ローマ字ルビを使用するユーザーは、歌詞文字中、英字の部分は判読可能であることが考えられる。また、日本人ユーザー向けに英字部分に平仮名あるいは片仮名のかな文字ルビが振られることがある。このようなかな文字ルビについても、ローマ字ルビの生成対象としないことで、適切なローマ字ルビを適切に描画することが可能となる。
【００２５】
さらに本発明に係るカラオケ装置、カラオケ用プログラムによれば、巻き戻し処理を行う場合においても、生成したローマ字ルビを巻き戻し処理に対応して読みやすい適切な位置に描画することが可能となる。
【００２６】
さらに本発明に係るカラオケ装置、カラオケ用プログラムによれば、描画処理に先駆けて所定数分の単位の歌詞文字に対するルビ生成・仮決定処理と、重複判断処理と、確定処理を先読みして処理することで、楽曲情報の再生の進行に対して遅延を抑えたローマ字ルビの描画を行うことが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係るカラオケ装置の構成を示す図
【図２】本実施形態に係る楽曲情報のデータ構成を示す図
【図３】本実施形態の歌詞情報の例、並びに、それに基づく描画例を示す図
【図４】本実施形態に係る楽曲情報の再生処理を示すフロー図
【図５】本実施形態に係るローマ字ルビ準備処理を示すフロー図
【図６】本実施形態に係る歌詞ブロック処理を示すフロー図
【図７】本実施形態に係る歌詞文字処理を示すフロー図
【図８】本実施形態に係るローマ字ルビ生成・仮決定処理を示すフロー図
【図９】本実施形態に係る重複判断・確定処理を示すフロー図
【図１０】通常時の歌詞表示例、並びに、ローマ字ルビによる歌詞表示例を示す図
【図１１】通常時の歌詞表示の生成を説明するための図
【図１２】ローマ字ルビの生成手順を説明するための図（１）
【図１３】ローマ字ルビの生成手順を説明するための図（２）
【図１４】ローマ字ルビ変化における変化開始時間の算出を説明する図
【図１５】ローマ字ルビ変化における補正を説明する図（１）
【図１６】ローマ字ルビ変化における補正を説明する図（２）
【図１７】本実施形態に係る歌詞再生処理を示すフロー図
【発明を実施するための形態】
【００２８】
図１は、本実施形態に係るカラオケ装置１の構成を示す図である。本実施形態のカラオケ装置１は、ＣＰＵ１４、ＲＡＭ１５、ＲＯＭ１６等を有して構成される制御部を中心として、ハードディスク１３、音声処理部１８、映像処理部１１、操作パネル１０、通信インタフェイス１７などを備えて構成されている。
【００２９】
ＣＰＵ１４、ＲＡＭ１５、ＲＯＭ１６は、コンピュータにおいて一般的に使用される構成であって、ＣＰＵ１４は、プログラムの実行などに基づく各種制御を、ＲＡＭ１５、ＲＯＭ１６、ハードディスク１３などに記憶する各種プログラム、各種データに基づいて行う。本実施形態においては、ハードディスク１３に楽曲情報を記憶する。楽曲情報には、演奏情報、歌詞情報等が含まれる。ＣＰＵ１４は、演奏情報を再生する処理を行うことで楽曲の演奏制御を行う。
【００３０】
カラオケ装置１における音声処理部１８は、主として演奏情報の再生処理を実行することにより楽曲を演奏する手段である。演奏情報はＭＩＤＩ規格に基づいて作成されるＭＩＤＩ情報や、コーラスなどを担当する音声データなどを含んで構成される場合もある。音声処理部１８では、ユーザーが操作パネル１０や図示外のリモコンにより指定した楽曲に対応する演奏情報に基づいて再生処理を実行することで、所望の楽曲の演奏が行われる。具体的には、音声処理部１８は、ＭＩＤＩ情報を用いて楽音を奏でる。また、オーディオ入力端子に接続されたマイクから入力された音声と、演奏情報に基づく演奏音をミキシングしてアンプに出力し、アンプに接続されているスピーカーから放音する。なお、マイクロホンから入力される音声に対しては、エコーなどの効果を付加することも可能としている。
【００３１】
映像処理部１１は、歌詞表示処理、並びに、背景映像表示処理など、カラオケ装置１に接続されるディスプレイ１２を介してユーザーに視覚的情報を提供する処理を実行する。歌詞表示処理は、楽曲情報に含まれる歌詞情報に基づいて歌詞をディスプレイ１２に表示させる処理であって、演奏情報の再生処理に同期して実行される。ディスプレイ１２に表示された歌詞は、楽曲の演奏に同期して歌唱すべき箇所が色変え表示され、歌唱者に歌唱箇所を教示する。また、背景映像表示処理は、楽曲の演奏されるときにディスプレイ１２に各種映像を表示することで、歌唱の雰囲気を盛り上げる処理である。そのため、ハードディスク１３には、ＭＰＥＧ形式などによる圧縮が施された背景映像情報が記憶されており、映像処理部１１では、この背景映像情報をデコードしてディスプレイ１２に映像を表示させる。
【００３２】
通信インタフェイス１７は、ネットワーク接続端子を介してインターネットに接続され、図示しないサーバー装置から、新しくリリースされた楽曲情報や、背景映像情報、プログラムなどを受信する。
【００３３】
ハードディスク１３には、楽曲情報と、背景映像情報と、カラオケ装置１において再生処理などの各種処理を実行するためのプログラムとを記憶している。また、サーバー装置から各種データを受信することで、記憶しているデータの追加、更新が実行される。本実施形態で説明する歌詞表示処理についても、プログラムを予めＲＯＭ１６に記憶させておく方法のほか、サーバー装置から配信プログラムを受信して既存のカラオケ装置１に機能追加させることが可能である。
【００３４】
図２は、本発明の実施形態に係る楽曲情報のデータ構成を示した図である。本実施形態の楽曲情報は、既存のものを利用することが可能である。すなわち、本実施形態では、楽曲情報に対して予め何ら加工、改変を行うことなく、歌唱補助機能であるとして、ディスプレイ１２にローマ字ルビを表示させることが可能とする。このように、カラオケ装置１にて実行されるプログラムにてローマ字ルビの表示を行うこととしているため、楽曲情報の加工、改変に手間、コストを要することを抑えることが可能である。また、ローマ字ルビを表示のためのデータ量の増加がハードディスク１３に伴うこともなく、カラオケ装置１の記憶容量を増加させる必要がない。
【００３５】
図２に示されるように楽曲情報は、楽曲情報の各種属性を示すメタ情報、演奏のために使用される演奏情報、歌詞表示のために使用される歌詞情報（テロップ情報とも呼ばれる）を含んで構成されている。本実施形態では、メタ情報として曲名、作曲者名、楽曲ＩＤ、ジャンル、個別素材画像の有無などを含んで構成されている。曲名、作曲者名、楽曲ＩＤ、ジャンルは、楽曲を検索および指定するための情報として用いられる。個別素材画像は、背景映像として当該楽曲に特化したものを有しているか否かを示す情報であって、有りの場合には、アーティストのライブ映像など当該楽曲に特化した映像が、対応する楽曲の再生時にディスプレイ１２に表示可能である。
【００３６】
歌詞情報（テロップ情報）は、演奏情報による楽曲の再生に同期してディスプレイ１２に１曲の歌詞の一部を順に表示させるためのデータである。本実施形態では、１曲の歌詞は、１つのタイミングで１度に表示させる１または複数の文字を１単位の歌詞ブロックとした複数の歌詞ブロックで構成されている。歌詞ブロックの文字に漢字が含まれる場合、漢字の読み方を規定するルビが付与される。歌詞ブロックは、１曲の歌詞の全文字について、一文字あるいは複数文字ずつを１単位の歌詞ブロックとして定めてもよい。歌詞ブロックは、本発明の歌詞文字の一例である。ハードディスク１３に記憶される楽曲情報の歌詞情報には、１単位の歌詞ブロックそれぞれに対応して、後述する１つの歌詞ブロック情報が定められる。歌詞表示処理では、演奏情報の再生処理に同期して出力されるステップ値に基づいて、この歌詞ブロックに対応する歌詞ブロック情報を読み出し、表示制御をすることで、楽曲の再生に同期した歌詞表示が実行される。なお、１画面内に表示させる歌詞ブロックは、複数設けることが可能であって、歌唱終了した箇所の歌詞ブロックの歌詞文字を消去し、新たな歌詞ブロックの歌詞文字を表示させることで、スムースな歌唱を行わせることが可能である。
【００３７】
歌詞ブロックを示す歌詞情報として、歌詞の文字を示す歌詞ブロック情報と、歌詞の文字が漢字である場合の読み方を規定するルビブロック情報とがある。１曲につき、複数の歌詞ブロックに対応して、複数の歌詞ブロック情報と複数のルビブロック情報とが定められている。ルビブロック情報は、１曲の歌詞に漢字が含まれている場合に、漢字の読み方を示すルビの情報として定められる。歌詞ブロック情報は、歌詞ブロックＩＤ、歌詞文字ブロック、表示段、表示基準位置、表示開始時間、表示終了時間、変化開始時間、変化速度が、歌詞ブロックＩＤごとに対応付けられて構成されている。本実施形態の歌詞ブロック情報の表示基準位置が、本発明の基準位置の一例である。本実施形態の歌詞ブロック情報の表示基準位置が、本発明の歌詞位置の一例である。本実施形態の歌詞ブロック情報の変化開始時間が、本発明の歌詞色変え時間情報の一例である。本実施形態の歌詞ブロック情報の変化速度が、本発明の歌詞色変え時間情報の一例である。本実施形態の歌詞ブロックＩＤごとに歌詞ブロック情報で定められる歌詞ブロックのひとかたまりが、本発明の所定単位の一例である。なお、本発明の所定単位は、歌詞ブロックのうちの一文字としてもよい。ルビブロック情報は、ルビブロックＩＤ、かな文字ルビブロック、表示段、表示基準位置、表示開始時間、表示終了時間、変化開始時間、変化速度が、ルビブロックＩＤごとに対応づけられて構成されている。本実施形態のルビブロック情報の表示基準位置が、本発明のルビ位置の一例である。本実施形態のルビブロック情報の変化開始時間が、本発明のルビ色変え時間情報の一例である。本実施形態のルビブロック情報の変化速度が、本発明のルビ色変え速度情報の一例である。歌詞ブロック情報の歌詞文字ブロックは、漢字、平仮名、片仮名、英字の少なくともいずれかを含む１または複数の文字で構成される文字のかたまりである。ルビブロック情報のルビ文字ブロックは、１または複数の平仮名または片仮名から構成される文字のかたまりである。本実施形態では、かな文字ルビブロックには、漢字の読みを規定する平仮名を使用している。
【００３８】
なお、本実施形態では、変化開始時間と変化速度とによって、描画された歌詞文字の色を変化させる色変え情報を生成している。色変え情報の形態は、このような形態に限られるものではなく、各種形態を採用することが可能である。歌詞ブロックＩＤは、歌詞ブロックを識別するための情報であり、ルビブロックＩＤは、ルビブロックを識別するための情報である。本実施形態では、歌詞ブロックＩＤと、ルビブロックＩＤとにより、演奏の順に沿って文字をディスプレイ１２に表示するために読み出す順番が付されている。この歌詞ブロックＩＤとルビブロックＩＤとを使用することで、歌詞情報中、次にどのブロックを読み出すべきかを判定することが可能である。歌詞文字およびかな文字ルビは、ディスプレイ１２に表示させる文字を規定した情報であり、テキストベースのデータ等が使用される。この歌詞文字およびかな文字ルビのディスプレイ１２上での表示位置を規定するのが、表示段、表示基準位置である。本実施形態では、ディスプレイ１２上において歌詞文字およびかな文字ルビが表示された領域の左上を基準座標として、基準座標のＸ座標を表示基準位置に規定し、基準座標のＹ座標を表示段で規定している。
【００３９】
表示開始時間は、歌詞文字とかな文字ルビとをそれぞれディスプレイ１２に表示開始する情報である。表示終了時間は、ディスプレイ１２に表示された歌詞文字とかな文字ルビとを消去する情報である。変化開始時間は、ディスプレイ１２に表示された歌詞文字とかな文字ルビとを、変化速度にしたがって色変えする情報である。本実施形態では、歌詞ブロック情報およびルビブロック情報中の時間に関する情報（表示開始時間、表示終了時間、変化開始時間）を、演奏情報の演奏開始からカウントされるステップ値で規定している。演奏処理に同期して出力されるステップ値を使用して、歌詞文字およびかな文字ルビの表示開始、色変え開始、表示終了を実行することで、楽曲の再生と歌詞表示の同期を取ることが可能となっている。なお、同期の取り方は、ステップ値で規定する形態に限られるものではなく、各種形態を採用することが可能である。なお、歌詞文字とかな文字ルビを同時にディスプレイ１２に表示させる場合、ルビブロック情報の表示開始時間、表示終了時間は、歌詞ブロック情報の表示開始時間、表示終了時間と兼用することとしてもよい。
【００４０】
以上が本実施形態の楽曲情報のデータ構成であるが、データ構成については、本発明の趣旨を変更しない限り適宜の形態を採用することができる。では、本実施形態の歌詞情報とその描画結果の例について図３を用いて説明する。図３（ａ）は、本実施形態の歌詞ブロック情報およびルビブロック情報を示した例である。なお、この例では、表示開始時間などタイミングを示す各種データは省略して記載している。この例は、「志を抱いて」「明日へ向かって飛べ」という歌詞文字をそれぞれ有する２つの歌詞ブロック情報と、２つの歌詞ブロック情報から対応関係が求められる「こころざし」「いだ」「あす」「む」「と」というルビ文字をそれぞれ有する５つのルビブロック情報が設けられている例である。歌詞ブロック情報からルビブロック情報の対応関係を求める方法は、後述により説明する。なお、図３（ａ）中の歌詞文字、かな文字ルビの上部に示す数値は、表示段、表示基準位置によって規定される基準座標である。
【００４１】
図３（ｂ）は、図３（ａ）に示される２つの歌詞ブロック情報に基づいて歌詞文字とルビ文字とをディスプレイ１２に描画された状態を示した図である。本実施形態において、歌詞文字、かな文字ルビを位置づけるための基準座標は、左上の基準座標で示される。図に示すように、ディスプレイ１２の横方向をＸ軸、縦方向をＹ軸にとり、歌詞文字、かな文字ルビの基準座標中、Ｘ軸方向の位置を表示基準位置で規定し、Ｙ軸方向の位置を表示段で規定している。なお、表示基準位置は、ディスプレイ１２におけるドット数で示しているが、表示段は、図３（ｂ）に示されるよう、歌詞文字、かな文字ルビ、それぞれの表示段毎にドット数が割り当てられている。したがって、歌詞文字、かな文字ルビについては、表示段を指定することで、Ｙ軸方向におけるドット数を指定することが可能である。
【００４２】
図４は、本実施形態に係る歌唱補助機能を備える楽曲情報再生処理を示すフロー図である。カラオケ装置１を操作するユーザーは、図１の操作パネル１０、あるいは、ネットワークに接続されたリモコン装置などの指定手段を利用して歌唱したい楽曲を指定する。楽曲の指定は通常、予約という形態で行うことが可能となっており、予約された楽曲は、その識別子（例えば、曲番号）をＲＡＭ１５内の予約テーブルに記録し、予約テーブルから識別子を順次、読み出して楽曲情報の再生が実行される。
【００４３】
操作パネル１０などから指定された楽曲について、楽曲情報の再生が開始されると、まず、Ｓ１０１にてハードディスク１３に格納されている楽曲情報が読み出される。Ｓ１０２では、読み出された楽曲情報に基づいて楽曲の再生が行われることになるが、本実施形態では、楽曲の再生に先駆けて、ローマ字ルビ準備処理（Ｓ２００）を実行する。本実施形態のカラオケ装置１は、外国人ユーザーに対する歌唱補助機能として、ローマ字によるルビ表記を行うことが可能である。この歌唱補助機能を使用した場合、表示する歌詞文字の上方にローマ字ルビが描画される。本実施形態の歌詞情報中には、ローマ字ルビは用意されておらず、ルビブロック情報に含まれるかな文字ルビ、歌詞文字の平仮名、あるいは、片仮名部分から生成される。
【００４４】
なお、ローマ字ルビ準備処理（Ｓ２００）は、歌詞再生処理（Ｓ３００）で描画対象となる歌詞ブロック情報よりも先行して先読み処理される。例えば、歌詞再生処理（Ｓ３００）で描画対象となる歌詞ブロック情報よりも歌詞ブロックＩＤの昇順に所定ブロック数（例えば、２０ブロック）までの歌詞ブロック情報について先行して処理される。ローマ字ルビ準備処理（Ｓ２００）を実行開始した後、演奏処理（Ｓ４００）と、歌詞再生処理（Ｓ３００）と、が並列実行される。演奏処理（Ｓ４００）は、読み出された楽曲情報内に含まれる演奏情報を、音声処理部１８に演奏させることで実行される。この演奏処理（Ｓ４００）は、カラオケ装置１ではよく知られる処理であるため、ここでの説明は省略する。演奏処理（Ｓ４００）では、演奏情報の進行を示すステップ値が順次出力されており（Ｓ１０３）、歌詞再生処理（Ｓ３００）では、このステップ値に基づいて歌詞の描画、消去、色変えが実行される。楽曲情報の再生は、これら演奏処理（Ｓ４００）、歌詞再生処理（Ｓ３００）が終了する（Ｓ１０４）まで実行されることとなる。なお、ローマ字ルビ準備処理（Ｓ２００）は、本実施形態では、常時実行されることとしているが、ユーザーにより歌唱補助機能が選択された場合に実行されることとしてもよい。
【００４５】
図５は、ローマ字ルビ準備処理（Ｓ２００）を示すフロー図である。ローマ字ルビ準備処理では、再生対象となっている楽曲情報の歌詞情報を参照し、全歌詞ブロック情報の数ＴＢＮを取得する（Ｓ２０１）。そして、処理対象の歌詞ブロックＩＤを示すｉを初期値（ｉ＝１）に設定（Ｓ２０２）し、歌詞ブロックＩＤの昇順に各歌詞ブロック情報に対してＳ２０３〜Ｓ２０６、Ｓ２１０およびＳ２０７の処理を実行していく。まず、処理対象に定められた歌詞ブロックＩＤを示すｉが、全歌詞ブロック情報の数ＴＢＮ以下であるか否かが判断される（Ｓ２０３）。ｉが全歌詞ブロック情報の数ＴＢＮ以下であると判断されたとき、処理対象となるｉ番目が歌詞ブロックＩＤに定められた歌詞ブロック情報が取得される（Ｓ２０４）。続くＳ２０５では、歌詞ブロック情報中、歌詞文字の段数をチェックし、処理対象であるｉに定められた歌詞ブロックより１つ前に処理した歌詞ブロックの歌詞ブロック情報に定められていた表示段の段数から変化したか否かを確認する（Ｓ２０５）。変化した場合には、ローマ字ルビブロックの終端位置ＦＲＸを初期値０にリセットする（Ｓ２０６）。そして、処理対象となっているｉ番目の歌詞ブロック情報について、歌詞ブロック処理（Ｓ２１０）を実行する。ｉ＝１の歌詞ブロック情報について歌詞ブロック処理（Ｓ２１０）が完了すると、処理対象を、次の歌詞ブロック情報（ｉ＝２）に変更し（Ｓ２０７）、Ｓ２０４〜Ｓ２１０の処理が実行される。以上の処理を、全歌詞ブロック情報の数ＴＢＮを超える（Ｓ２０３：Ｎｏ）まで実行することで、ローマ字ルビの描画に必要な情報が生成される。
【００４６】
図６は、歌詞ブロック処理（Ｓ２１０）を示すフロー図である。歌詞ブロック処理（Ｓ２１０）では、まず、Ｓ２０４において取得されたｉ番目の歌詞ブロック情報の歌詞文字の全ての文字が英字であるか否かが判定される（Ｓ２０１）。歌唱補助機能は、日本語の判読が困難であって、英字を判読できる外国人ユーザーを対象としているため、英字の歌詞文字に対しては、ローマ字ルビを描画しないこととしている。外国人ユーザーは、英字で表記された歌詞文字を見て歌唱を行う。なお、歌詞表示を行う場合、日本人等、英字の判読が困難なユーザーを対象として、英字の歌詞文字に対して、片仮名等で表記されたルビを描画するように歌詞テロップが規定されている場合がある。ローマ字ルビの描画を行うときは、この英字の歌詞文字に対するルビは描画しないことが好ましい。
【００４７】
Ｓ２０４において取得されたｉ番目の歌詞ブロック情報の歌詞文字の全てが英字で無い場合（Ｓ２１１：Ｙｅｓ）には、対象となるｉ番目の歌詞ブロック情報に含まれる歌詞文字から求められる歌詞文字の全文字数ＴＣＮを取得する（Ｓ２１２）。そして、処理対象の歌詞ブロック情報の歌詞文字のうち何番目の文字であるかを示すｊを初期値（ｊ＝１）に設定（Ｓ２１３）し、歌詞文字を示すｊが、ｉ番目の歌詞ブロック情報の歌詞文字の全数ＴＣＮを超えたか否かが判断される（Ｓ２１４）。ｊがｉ番目の歌詞ブロック情報の歌詞文字の全数ＴＣＮを超えないと判断されたとき、歌詞ブロック情報中の各文字に対してＳ２１５、Ｓ２２０の処理を実行する。Ｓ２１５では、処理対象となるｊ番目の歌詞文字を取得し、当該歌詞文字に対して歌詞文字処理（Ｓ２２０）を実行する。ｊ＝１の歌詞文字について歌詞文字処理（Ｓ２１０）が完了すると、処理対象ｊを、次の歌詞文字を示すｊ＝２に変更し（Ｓ２１６）、Ｓ２１５、Ｓ２２０の処理が実行される。以上の処理を、全歌詞文字数ＴＣＮを超える（Ｓ２１４：Ｎｏ）まで実行することで、１の歌詞ブロック情報の歌詞文字について、後述する歌詞文字処理が行われ、ローマ字ルビの描画に必要な情報が生成される。
【００４８】
図７は、歌詞文字処理（Ｓ２２０）のフロー図を示す図である。歌詞文字処理（Ｓ２２０）は、ローマ字ルビ生成・仮決処理（Ｓ２３０）と、重複判断・確定処理（Ｓ２４０）を有して実行される。ローマ字ルビ生成・仮決定処理（Ｓ２３０）は、処理対象となっている歌詞ブロック情報の歌詞文字について、ローマ字ルビを生成し、その描画位置を仮決定する処理である。重複判断・確定処理（Ｓ２４０）は、仮決定したローマ字ルビの描画位置を読み進める方向（読み方向）における重複状況を判断し、重複する場合には描画位置を調整して確定する処理である。図１０は、図３で説明した歌詞文字「志を抱いて」を有する歌詞ブロック情報について、図１０（ａ）通常の描画形態、図１０（ｂ）、（ｃ）ローマ字ルビによる描画形態を示した図である。本実施形態では、図１０（ｂ）、（ｃ）に示されるように、読み進める方向に歌詞文字すべてに対応するローマ字ルビを並べた読みやすい形態で表記することが可能となる。
【００４９】
では、ローマ字ルビブロック情報の生成手順について、図３で説明した「志を抱いて」という歌詞文字を有する歌詞文字ブロックを使用して説明する。図１１は、歌詞ブロック情報とルビブロック情報に基づく歌詞表示の生成を説明するための図である。図１２、図１３は、ローマ字ルビの生成手順を説明するための図である。図１４、図１５は、ローマ字ルビが表示される場合の表示位置の補正を説明する図である。
【００５０】
図１１に示されるように歌詞ブロック情報とルビブロック情報とに基づいて、５文字の歌詞文字２１ａ〜２１ｅで構成された歌詞文字ブロック２０ａ「志を抱いて」と、歌詞文字２１ａ「志」に対応するかな文字ルビブロック２２ａ「こころざし」と、歌詞文字２１ｃ「抱」に対応するかな文字ルビブロック２２ｃ「いだ」が描画されることになる。歌詞文字ブロック２０ａは、歌詞ブロック情報中に規定されている表示基準位置をＸ座標、表示段をＹ座標として規定されている基準座標Ｓａを左上の基準位置として描画される。一方、かな文字ルビブロック２２ａ、２２ｂは、各ルビブロック情報中に規定されている表示基準位置にＸ座標が規定され、表示段にＹ座標が規定されている基準座標Ｔａ、Ｔｃを左上の表示基準位置として描画される。
【００５１】
このように本実施形態では、歌詞文字、かな文字ルビは、それぞれ独立して表示基準位置が定められており、それぞれの表示基準位置に描画されることとしている。各歌詞文字２１ａ〜２１ｅには、文字幅Ｗａ〜Ｗｅが定められる。この文字幅Ｗａ〜Ｗｅは、等幅フォントを使用して文字を描画する場合は一律の所定幅に定められた文字幅を取得し、文字によって文字幅が異なるプロポーショナルフォントの場合には、描画するフォントの種類および文字を参照して文字幅を取得することが可能である。したがって、各歌詞文字２１ａ〜２１ｅは、歌詞文字ブロックの基準座標Ｓａと歌詞文字ブロック内の各歌詞文字の文字幅に基づいて、それぞれ基準位置（この場合、各歌詞文字の左上の座標）を算出することが可能である。また、この文字幅Ｗａ〜Ｗｅは、ハードディスク１３等にあらかじめ記憶された文字幅を読み出すことにより取得して定める方法のほか、各歌詞文字２１ａ〜２１ｅについて、それぞれ各歌詞文字の基準先頭位置と基準終端位置とを歌詞ブロック情報に付加し、その基準終端位置と基準先頭位置との差を算出することにより、各文字幅を取得して定める方法であってもよい。なお、かな文字ルビについても、歌詞文字と同様の方法で文字幅を定めることが可能である。
【００５２】
そして、本実施形態では、各歌詞文字について、その歌詞文字が含まれる範囲内であって、ディスプレイ１２の左端座標Ｘ０またはその歌詞文字の基準位置の座標から、右側に隣り合う歌詞文字の基準位置の座標またはディスプレイ１２の右端座標Ｘｅまでの範囲内に、基準位置が含まれるかな文字ルビブロックが存在するとき、歌詞文字ブロック中のその歌詞文字に対応するかな文字ルビブロックがあることが判断される。例えば、ディスプレイ１２の左端座標Ｘ０および右端座標Ｘｅと、算出された各歌詞文字の基準位置のＸ座標とに基づいて求めることができる各歌詞文字のＸ座標の描画範囲内に、例えば、図１１に示すように、歌詞文字ブロック２０ａ「志を抱いて」の各歌詞文字２１ａ〜２１ｅの描画範囲内のいずれかに、かな文字ルビブロック２２ａ、２２ｃの各表示基準位置である基準座標ＴａのＸ座標、基準座標ＴｃのＸ座標が含まれるとき、歌詞文字ブロック２０ａの歌詞文字に対応するかな文字ルビブロック２２ａ、２２ｃがあることが判断される。
【００５３】
具体的には、図１１に示すように、歌詞文字２１ａ「志」の場合、ディスプレイ１２の左端座標Ｘ０から、Ｘ軸方向における歌詞文字２１ａの描画範囲である表示基準座標Ｓａ＋文字幅Ｗａまでの判断対象範囲内に、かな文字ルビの基準座標Ｔａが位置している。このため、歌詞文字２１ａ「志」に対応するかな文字ルビブロック２２ａ「こころざし」があると判定される。また、歌詞文字２１ｂ「を」については、歌詞文字２１ａ「志」の終端位置である歌詞文字２１ｂの描画範囲の基準座標Ｓａ＋文字幅Ｗａから、基準座標Ｓａ＋文字幅Ｗａ＋文字幅Ｗｂまでの判断対象範囲内に、かな文字ルビの基準座標は存在していない。したがって、歌詞文字２１ｂ「を」に対応するかな文字ルビは無いと判定される。そして、歌詞文字２１ｃ「抱」の場合、歌詞文字２１ｃの基準座標は、基準座標Ｓａ＋文字幅Ｗａ＋文字幅Ｗｂの座標となる。Ｘ軸方向における歌詞文字２１ｃの描画範囲である歌詞文字２１ｂ「を」の終端位置である基準座標Ｓａ＋文字幅Ｗａ＋文字幅Ｗｂから、基準座標Ｓａ＋文字幅Ｗａ＋文字幅Ｗｂ＋文字幅Ｗｃの判断対象範囲内に、かな文字ルビの基準座標Ｔｂが位置しているため、歌詞文字２１ｃ「抱」に対応するかな文字ルビブロック２２ｃ「いだ」があると判定される。歌詞文字２１ｄ「い」、歌詞文字２１ｅ「て」についても同様の方法で判定が行われ、歌詞文字２１ｂ「を」と同様に、対応するかな文字ルビは無いと判定される。
【００５４】
図８は、ローマ字ルビ生成・仮決定処理（Ｓ２３０）を示すフロー図である。まず、図５のローマ字ルビ準備処理のＳ２０４において取得されたｉ番目の歌詞ブロック情報の歌詞文字ブロック中の歌詞文字であって、図６の歌詞ブロック処理（Ｓ２１０）のＳ２１５において判断の対象とされたｊ番目の歌詞文字の判断対象範囲内に、対応するルビブロック情報があるか否かが判定される（Ｓ２３１）。ルビブロック情報がある場合（Ｓ２３２：Ｙｅｓ）には、判断の対象とされた歌詞文字に対応するルビブロック情報に基づいて、ローマ字ルビブロック情報が作成される（Ｓ２３３）。次に、ｊ番目の歌詞文字が平仮名もしくは片仮名であるかが判定される（Ｓ２３４）。ｊ番目の歌詞文字が平仮名もしくは片仮名の場合（Ｓ２３４：Ｙｅｓ）、平仮名もしくは片仮名からローマ字ルビブロックが作成される（Ｓ２３５）。
【００５５】
このローマ字ルビ生成・仮決定処理では、１つの歌詞文字に対して、Ｓ２３３の処理とＳ２３５の処理の両方を実行する場合がある。Ｓ２３３の処理は、主に漢字に対して実行される処理である。一方、Ｓ２３５の処理は、平仮名もしくは片仮名に対して実行される処理である。通常、両処理は重複されることはないが、歌詞情報では、描画レイアウトの都合上、平仮名もしくは片仮名に対してもルビブロック情報を対応付けることがある。例えば、歌詞文字ブロック「志を抱いて」について、１つの歌詞文字「志」のかな文字ルビ「こころざし」が読み方向に長いことを理由として、漢字の歌詞文字「志」に「こころざ」を割り当て、歌詞文字「志」に続く平仮名の歌詞文字「を」にかな文字ルビ「し」を割り当てることで、描画レイアウト上、歌詞文字「志」のかな文字ルビである「こころざし」をバランスよく配置されることがある。このようなレイアウトがされる場合、歌詞文字「志」について、ローマ字ルビ生成・仮決定処理が行われるとき、Ｓ２３３において、かな文字ルビ「こころざ」のローマ字ルビブロック情報が作成される、そして、歌詞文字「を」について、ローマ字ルビ生成・仮決定処理が行われるとき、Ｓ２３３において、かな文字ルビ「し」のローマ字ルビブロック情報が作成され、Ｓ２３５において、かな文字ルビ「を」のローマ字ルビブロック情報が作成される。このように、Ｓ２３３の処理とＳ２３５の処理の両方は、このような状況を鑑みたものであって、たとえ、平仮名あるいは片仮名であっても、本来は対応していないかな文字ルビが対応付けられている場合は、かな文字ルビと歌詞文字（平仮名または片仮名）の両方からローマ字ルビブロック情報を生成することで、ローマ字ルビを不足なく適切な位置に描画することが可能となっている。
【００５６】
ローマ字ルビ生成・仮決定処理の手順を、図８および図１２（ａ）〜図１２（ｃ）、図１３（ｄ）、（ｅ）を用いて詳細に説明する。図１２（ａ）は、図１１で説明した歌詞文字ブロック２０ａ「志を抱いて」について、歌詞文字２１ａ「志」を処理の対象文字としている場合である。この場合、まず、歌詞文字２１ａに対応するルビブロック情報の有無が探索される（Ｓ２３１）。図１１で説明したように、歌詞文字２１ａ「志」については、歌詞文字２１ａの判断対象範囲内にかな文字ルビブロック２２ａ「こころざし」があり、歌詞文字２１ａ「志」に対応するかな文字ルビブロック２２ａ「こころざし」の表示基準位置Ｕａがあるため、かな文字ルビブロック２２ａのルビブロック情報があると判断される（Ｓ２３２：Ｙｅｓ）。そして、かな文字ルビブロック２２ａ「こころざし」のルビブロック情報から、ローマ字ルビブロック情報が作成される（Ｓ２３３）。
【００５７】
この場合、ローマ字ルビブロック情報は、図２で説明したルビブロック情報から生成される。まず、かな文字ルビ「こころざし」から、ローマ字ルビ「ＫｏＫｏＲｏＺａＳｈｉ」が生成される。平仮名からローマ字のへの変換は、漢字から変換する場合と異なって、変換後のローマ字は変換元の平仮名から一意に定められ、歌詞の読みを正確に反映したものとすることが可能である。本実施形態では、かな文字ルビからローマ字ルビが生成される場合、新たに作成するローマ字ルビブロック情報の表示段、表示基準位置、表示開始時間、表示終了時間、変化開始時間、変化速度には、かな文字ルビのルビブロック情報の値が適用される。新たに作成されるローマ字ルビブロック情報は、かな文字ルビのルビブロック情報が利用されることにより、ローマ字ルビブロックの作成に必要な処理工数の削減を図ることができるうえ、ローマ字ルビを表示する場合であっても適切な位置を定めることができる。なお、Ｓ２３３において定められるローマ字ルビブロック情報の表示基準位置は、仮決定された値である。
【００５８】
ローマ字ルビ生成・仮決定処理（Ｓ２３０）では、次に、歌詞文字２１ａ「志」が平仮名もしくは片仮名であるかが判定される（Ｓ２３４）。歌詞文字２１ａ「志」は漢字である（Ｓ２３４：Ｎｏ）ため、Ｓ２３５の処理はスキップされる。Ｓ２３６では、処理対象のｊ番目の歌詞文字について作成されたローマ字ルビブロックが２つ以上である場合に、並び替えが行われる。歌詞文字２１ａ「志」のローマ字ルビブロックが作成された時点では、作成されたローマ字ルビブロックは１つであるため、Ｓ２３６の並べ替えは実行されない。なお、Ｓ２３６で実行される並べ替えは、Ｓ２３３、Ｓ２３５の両方においてルビブロック情報が作成された場合に実行される処理である。Ｓ３１６における並び替えは、例えば、漢字の歌詞文字「志」にかな文字ルビ「こころざ」が割り当てられ、歌詞文字「志」に続く平仮名の歌詞文字「を」にかな文字ルビ「し」が割り当てられている場合において、平仮名「を」について、「し」と「を」に対応するルビブロック情報が作成される場合に行われる。この場合、「し」のルビブロック情報の後に「を」のルビブロック情報が配置される並べ替えが行われる。
【００５９】
次に、歌詞文字２１ａ「志」に対応して新たに生成されたローマ字ルビブロック情報については、Ｓ３１３において仮決定された描画位置を確定するための重複判断・確定処理（Ｓ２４０）が実行される。まず、ローマ字ルビブロック情報は、先頭か否か、すなわち、歌詞ブロック情報中で初回に生成されたローマ字ルビブロック情報であるか否かが判定される（Ｓ２４１）。この場合、例えば、処理の対象となる歌詞文字２１ａ「志」では、対応して生成されたローマ字ルビブロック２４ａは、歌詞文字ブロック「志を抱いて」の先頭であると判断されるため、ローマ字ルビブロック２４ａの終端位置がＦＲＸに設定され（Ｓ３２６）、重複判断・確定処理（Ｓ２４０）は終了する。Ｓ２４６において、ローマ字ルビブロック２４ａの終端位置は、例えば、アルファベットごとに定められた文字幅をハードディスク等により記憶しておき、記憶された各字の文字幅を用いて算出される。本実施形態の終端位置が、本発明の他端の一例である。図１２（ａ）は、歌詞文字２１ａ「志」に対する歌詞文字処理（Ｓ２２０）が完了した際の、ローマ字ルビブロック２４ａの位置を示す図となっている。
【００６０】
次に、歌詞文字ブロック２０ａ中の歌詞文字２１ｂ「を」に対して歌詞文字処理（Ｓ２２０）が実行される。歌詞文字２１ｂ「を」に対して実行されるローマ字ルビ生成・仮決定処理（Ｓ２３０）では、まず、処理の対象となる歌詞文字に対応するかな文字ルビのルビブロック情報の探索（Ｓ２３１）が実行されるが、歌詞文字２１ｂ「を」に対応するかな文字ルビのルビブロック情報は無い（Ｓ２３２：Ｎｏ）ため、Ｓ２３３の処理はスキップされる。次に、歌詞文字２１ｂ「を」は平仮名であると判断され（Ｓ２３４：Ｙｅｓ）、歌詞文字２１ｂ「を」から、歌詞ブロック情報を用いてローマ字ルビブロック情報が作成される（Ｓ２３５）。
【００６１】
歌詞文字から作成されるローマ字ルビブロック情報は、図２で説明した歌詞ブロック情報から生成される。まず、歌詞文字２１ａ「を」から、ローマ字ルビブロック２４ｂ「Ｗｏ」が生成される。平仮名（あるいは片仮名）からローマ字のへの変換は、変換後のローマ字が変換元の平仮名から一意に定めることが可能であるため、歌詞の読みを正確に反映したものとすることが可能である。本実施形態では、新たに作成するローマ字ルビブロック情報の表示段、表示開始時間、表示終了時間、変化速度には、歌詞文字の歌詞ブロック情報中のものが適用される。また、ローマ字ルビブロック情報中、ローマ字ルビブロック２４ｂの表示基準位置、変化開始時間は、歌詞文字２１ａの左上の座標を使用して算出される。あるいは、ローマ字ルビブロックの表示基準位置は、変換元の歌詞文字の基準位置と文字幅とから、変換元の歌詞文字ブロックの左右方向の中心位置を導出し、且つ、ローマ字ルビブロックの文字幅からローマ字ルビブロックの左右方向の中心位置を導出し、ローマ字ルビブロックの左右方向の中心位置が、変換元の歌詞文字の基準位置から文字幅である終端位置までの左右方向の中心位置と同じＸ座標となるように、ローマ字ルビブロックの表示基準位置を定めるものであってもよい。なお、ローマ字ルビブロックの文字幅は、ハードディスク等により記憶されたアルファベットごとに定められた文字幅をから算出が可能である。
【００６２】
歌詞文字２１ａ「を」を変換したローマ字ルビブロック２４ｂ「Ｗｏ」のＸ軸方向の位置を示す表示基準位置は、歌詞文字２１ａ「を」の基準座標を用いて、歌詞文字Ｓａ＋文字幅Ｗａの座標となる。Ｙ軸方向の位置は、歌詞文字ブロック２０ａと同じ表示段が使用される。そして、ローマ字ルビブロック２４ｂの変化開始時間は、ローマ字ルビブロック２４ｂの表示基準位置と、歌詞ブロック情報の変化速度を使用して算出される。図１４は、ローマ字ルビ変化における変化開始時間の算出を説明する図である。ローマ字ルビブロック２４ｂ「Ｗｏ」の色変化は、歌詞文字２１ｂ「を」の色変化に同期して行うことが好ましい。なお、歌詞ブロック情報中には、歌詞文字ブロック２０ａに対する変化開始時間しか規定されていない。このため、ローマ字ルビブロック２４ｂの変化開始時間は、歌詞ブロックの文字幅と歌詞ブロック情報に定められる変化速度とを使用して歌詞文字２１ｂ「を」の変化開始時間を算出し、ローマ字ルビブロック２４ｂの変化開始時間に適用する。具体的には、ローマ字ルビブロック２４ｂの変化開始時間は、歌詞文字ブロック２０ａ「志を抱いて」の変化開始時間Ｈａと、歌詞文字２１ａ「志」の文字幅Ｗａを歌詞文字ブロック２０ａ「志を抱いて」の変化速度で割った値Ｗａ／Ｖの和で算出される。
【００６３】
図１２（ｂ）は、歌詞文字２１ｂ「を」に対する歌詞文字処理（Ｓ２２０）が完了した際の、ローマ字ルビブロック２４ａの位置を示す図となっている。歌詞文字２１ｂ「を」から生成されたローマ字ルビブロック２４ｂは、ローマ字ルビブロック２４ａと同じＹ座標に位置するが、説明上、重なって見づらくなることを理由として便宜的に、ローマ字ルビブロック２４ａの上方に位置させている。ローマ字ルビブロック２４ｂ「Ｗｏ」に対して仮決定された位置について、図９に示す重複判断・確定処理（Ｓ２４０）が実行される。まず、ローマ字ルビブロック２４ｂは歌詞文字ブロックの先頭ではない（Ｓ２４１：Ｎｏ）ため、ローマ字ルビブロック２４ｂの開始位置ＲＸが設定される（Ｓ２４２）。Ｓ２４２では、ローマ字ルビブロック２４ｂの開始位置ＲＸは、歌詞文字２１ｂ「を」の基準位置と同じＸ座標が設定される。あるいは、ローマ字ルビブロック２４ｂ「Ｗｏ」の左右方向の中心位置が、変換元の歌詞文字２１ｂ「を」の左右方向の中心位置と同じＸ座標となるように、ローマ字ルビブロックの開始位置を定めるものであってもよい。なお、Ｓ２４２において設定される開始位置ＲＸは、仮決めの位置である。本実施形態の開始位置が、本発明の一端の一例である。そして、Ｓ２４２において定められたローマ字ルビブロック２４ｂの開始位置ＲＸは、先に設定されているローマ字ルビブロック２４ａの終端位置ＦＲＸよりも小さいか否か、すなわち、ローマ字ルビブロック２４ａとローマ字ルビブロック２４ｂのＸ軸の方向における重複状態が判定される（Ｓ２４３）。図１２（ｂ）から分かるように、Ｘ軸方向においてローマ字ルビブロック２４ａとローマ字ルビブロック２４ｂは、重複している（Ｓ２４３：Ｙｅｓ）ため、重複状態を解消するようにローマ字ルビブロック２４ａの開始位置ＲＸは、ローマ字ルビブロック２４ａの終端位置ＦＲＸに変更される（Ｓ２４４）。
【００６４】
図１２（ｃ）は、ローマ字ルビブロック２４ｂの開始位置が変更された状態を示した図である。このように、Ｓ２４２において仮決めしたローマ字ルビブロック２４ｂの開始位置を、Ｓ２４４において変更することで、ローマ字ルビブロック２４ａとローマ字ルビブロック２４ｂの重複状態を解消し、読みやすいローマ字ルビの描画を実現している。そして、終端位置ＦＲＸをローマ字ルビブロック２４ａの終端位置からローマ字ルビブロック２４ｂの終端位置に更新し（Ｓ２４５）、一連の重複判断・確定処理（Ｓ２４０）が終了する。
【００６５】
歌詞文字２１ｃ「抱」に対しては、歌詞文字２１ａ「志」と同様に、歌詞文字２１ｃ「抱」に対応するルビブロック情報を使用して、ローマ字ルビブロック情報が生成される。図１２（ｃ）には、歌詞文字２１ｃ「抱」について生成されたローマ字ルビブロック２４ｃ「ＩＤａ」が示されている。ローマ字ルビブロック２４ｃは、ローマ字ルビブロック２４ａ、２４ｂと同じＹ座標に位置するが、説明上、ローマ字ルビブロック２４ｂと重なって見づらくなることを理由として便宜的に、ローマ字ルビブロック２４ｂの上方に位置させている。ローマ字ルビブロック２４ｃ「ＩＤａ」に対して仮決定された開始位置について、図９に示す重複判断・確定処理（Ｓ２４０）が実行される。
【００６６】
図１２（ｃ）から分かるように、Ｘ軸方向においてローマ字ルビブロック２４ｂとローマ字ルビブロック２４ｃは、重複している（Ｓ２４３：Ｙｅｓ）ため、重複状態を解消するようにローマ字ルビブロック２４ｃの開始位置ＲＸは、ローマ字ルビブロック２４ｂの終端位置ＦＲＸに変更される（Ｓ２４４）。図１３（ｄ）は、ローマ字ルビブロック２４ｃの開始位置が変更された状態を示した図である。
【００６７】
歌詞文字２１ｄ「い」に対しては、歌詞文字２１ｂ「を」と同様に、歌詞文字２１ｄ「い」に対応する歌詞ブロック情報を使用して、ローマ字ルビブロック情報が生成される。図１３（ｄ）には、歌詞文字２１ｄ「い」について生成されたローマ字ルビブロック２４ｄ「Ｉ」が示されている。重複判断・確定処理（Ｓ２４０）では、Ｘ軸方向においてローマ字ルビブロック２４ｃとローマ字ルビブロック２４ｄは、重複していない（Ｓ２４３：Ｎｏ）ため、ローマ字ルビブロック２４ｄ「Ｉ」に対して仮決めした開始位置は、変更することなくそのまま確定される。
【００６８】
歌詞文字２１ｅ「て」に対しては、歌詞文字２１ｂ「を」、歌詞文字２１ｄ「い」と同様に、歌詞文字２１ｅ「て」に対応する歌詞ブロック情報を使用して、ローマ字ルビブロック情報が生成される。図１３（ｅ）には、歌詞文字２１ｅ「て」について形成生成されたローマ字ルビブロック２４ｅ「Ｔｅ」が示されている。重複判断・確定処理（Ｓ２４０）では、Ｘ軸方向においてローマ字ルビブロック２４ｄとローマ字ルビブロック２４ｅは、重複していない（Ｓ２４３：Ｎｏ）ため、ローマ字ルビブロック２４ｅ「Ｔｅ」に対して仮決めした開始位置は、変更することなくそのまま確定される。
【００６９】
なお、平仮名または片仮名など、かな文字ルビブロックからではなく、歌詞文字から生成されたローマ字ルビブロックに対して仮決めする開始位置は、図１３（ｄ）に示すように、変換元の歌詞文字の左端ではなく、変換元の歌詞文字の中央にする等、適宜形態を採用することができる。図１３（ｆ）には、歌詞文字２１ｄ「い」および歌詞文字２１ｅ「て」について生成されたローマ字ルビブロック２４ｄ「Ｉ」およびローマ字ルビブロック２４ｅ「Ｔｅ」が、左右方向の中心位置が、変換元の歌詞文字の左右方向の中心位置と同じＸ座標となるように、それぞれの開始位置が定められた例が示されている。なお、図示はしないが、生成されたローマ字ルビブロックは、その先頭位置が、変換元の歌詞文字の左右方向の中心位置と同じＸ座標となるように、それぞれの開始位置が定められてもよい。
【００７０】
以上、説明したように、歌詞文字ブロック２０ａの各歌詞文字２１ａ〜２１ｅに対して、ローマ字ルビ生成・仮決処理（Ｓ２３０）と、重複判断・確定処理（Ｓ２４０）を実行することで、図１０（ｂ）に示されるローマ字ルビによる描画形態に必要なローマ字ルビブロック情報が生成される。なお、図１０（ｃ）は、図１３（ｆ）によるローマ字ルビブロックの左右方向の中心位置が、変換元の歌詞文字の左右方向の中心位置と同じＸ座標となるように、それぞれの開始位置が定められた例における描画形態を示している。
【００７１】
なお、本実施形態では、ローマ字ルビブロック２４ａ〜２４ｅの変化速度は、歌詞文字ブロック２０ａの変化速度を利用しているが、色の変化開始から終了までのタイミングが合うように、ローマ字ルビブロック２４ａ〜２４ｅについて、歌詞ブロック情報内に規定されている変化速度、あるいは、ルビブロック情報内に規定されている変化速度を補正して算出することとしてもよい。
【００７２】
例えば、図１５は、ルビブロック情報によって規定されるかな文字ルビブロック２２ａが存在するときの例である。この場合、前述の実施形態では、ルビブロック情報内の変化速度を利用することとしていたが、図１５（ａ）のかな文字ルビブロック２２ａ「こころざし」のブロック幅Ｘａと、新たに生成されたローマ字ルビブロック２４ａ「ＫｏＫｏＲｏＺａＳｈｉ」のブロック幅Ｘａ’は異なることが考えられる。同じ変化速度で色変えを行った場合には、ローマ字ルビブロック２４ａの色変化が、再生される楽曲の進行とうまく同期しないことになる。そのため、本実施形態では、かな文字ルビブロック２２ａの変化速度Ｖａを、ブロック幅Ｘａ、ブロック幅Ｘａ’で補正して、ローマ字ルビブロック２４ａの変化速度Ｖａ’を算出している。補正後の変化速度Ｖａ’は、Ｘａ’／Ｘａにかな文字ルビブロック２２ａの変化速度Ｖａを乗算することで算出することが可能である。このように、ローマ字ルビブロック２４ａの変化速度を補正して算出することで、再生される楽曲の進行に同期してローマ字ルビブロック２４ａを色変化させることが可能となる。
【００７３】
あるいは、図１６は、歌詞ブロック情報中の歌詞文字２１ｂによってローマ字ルビブロック情報が生成されるときの例である。この場合、前述の実施形態では、歌詞ブロック情報内の変化速度を利用することとしていたが、図１６（ａ）の歌詞文字２１ｂ「を」の文字幅Ｘｂと、新たに生成されたローマ字ルビブロック２４ｂ「Ｗｏ」のブロック幅Ｘｂ’は異なることが考えられる。そのため、本実施形態では、歌詞文字２１ｂの変化速度Ｖｂを、文字幅Ｘｂ、ブロック幅Ｘｂ’で補正して、ローマ字ルビブロック２４ｂの変化速度Ｖｂ’を算出している。補正後の変化速度Ｖｂ’は、Ｘｂ’／Ｘｂに歌詞文字２１ｂの変化速度Ｖｂ（歌詞ブロック情報中の変化速度）を乗算することで算出することが可能である。
【００７４】
図１７は、本実施形態に係る歌詞再生処理（Ｓ３００）を示すフロー図である。歌詞再生処理（Ｓ３００）は、楽曲情報内の歌詞情報、歌詞文字を描画するためのフォント情報、演奏処理に伴って出力されるステップ値に基づいて実行される処理であり、描画を行う描画処理、色変えを行う色変え処理を含んでいる。なお、フォント情報には、フォント種別、フォントサイズ等が含まれる。
【００７５】
歌詞情報に含まれる各ブロック情報に対して、Ｓ３０１〜Ｓ３１２のブロック情報処理ループが順次実行される。Ｓ３０２では、演奏処理で出力されるＭＩＤＩのステップ値と、読み出されている歌詞ブロック情報中の各歌詞ブロックＩＤに対応づけられている表示開始時間、変化開始時間、表示終了時間とが比較される。Ｓ３０３、Ｓ３０６、Ｓ３０９ではこの比較に基づいて後続の各処理に進むこととなる。
【００７６】
Ｓ３０２におけるステップ値との比較の結果、表示開始時間であることを示す表示ステップであることが判定された場合（Ｓ３０３：Ｙｅｓ）には、ローマ字機能操作チェック、すなわち、現在、ローマ字による描画を行う設定となっているか否かのチェックが実行される（Ｓ３０４）。ローマ字による描画を行う設定は、操作パネル１０などの各種入力手段からユーザーの操作によって行われる。この設定は、楽曲再生中においてもローマ字による描画の要否を切り替えることが可能である。判定の結果、ローマ字描画機能を使用している場合（Ｓ３０５：Ｙｅｓ）には、ルビブロック情報を使用することに代えて、ローマ字ルビ準備処理（Ｓ２００）で新たに生成したローマ字ルビブロック情報を使用して歌詞の描画が実行される。一方、機能を使用していない場合（Ｓ３０５：Ｎｏ）には、ハードディスク１３に記憶される楽曲情報の歌詞情報に規定される歌詞ブロック情報とルビブロック情報とを使用した通常ブロック描画処理が実行される。
【００７７】
Ｓ３０２におけるステップ値との比較の結果、変化ステップのタイミングであると判定された場合（Ｓ３０６：Ｙｅｓ）には、当該ブロックの文字列（歌詞文字、かな文字ルビ、ローマ字ルビ）に対して色変えが実行される。この色変えは、ローマ字変換ブロック処理Ｓ５００あるいは通常ブロック描画処理Ｓ６００にて、画面に表示された文字列について、指定されている変化速度にて、左端から順に色変えを行い、歌唱者に対して歌唱位置を通知する処理である。この処理は、歌詞ブロック情報中の変化開始時間、変化速度と、ルビブロック情報中の変化開始時間、変化速度（あるいは、ローマ字ルビブロック情報中の変化開始時間、変化速度）に基づいて行われ、演奏の進行に同期して色変化による歌唱指示が行われる。
【００７８】
Ｓ３０２におけるステップ値との比較の結果、消去ステップであることが判定された場合（Ｓ３０９：Ｙｅｓ）には、当該ブロックの文字列（歌詞文字、ルビ）の消去が実行される（Ｓ３１０）。以上の処理を演奏情報の演奏が終了するまで（Ｓ３１１：Ｙｅｓ）実行することで、演奏処理に同期した歌詞表示が実行される。
【００７９】
以上、本実施形態のカラオケ装置１において、ローマ字ルビを表示させる機能について説明したが、この実施形態に限られるものではなく、例えば、他の機能を付加することも可能である。カラオケ装置１では、歌唱を練習する際などに使用する巻き戻し機能が設けられている場合がある。巻き戻し機能を使用する際においても、ローマ字ルビを適切に表示する機能を設けることが考えられる。
【００８０】
図１２および図１３では、通常の楽曲再生においてローマ字ルビブロック２４ａ〜２４ｃを配置していくことを説明した。この場合、ローマ字ルビブロック２４ａ〜２４ｃの順に配置している。楽曲の巻き戻しを行う場合には、ローマ字ルビブロック２４ａ〜２４ｃを逆に取り扱うこととしてもよい。すなわち、まず歌詞文字２１ｅ「て」について、ローマ字ルビブロック２４ｅ「Ｔｅ」を生成して、その位置を確定させる。次に、歌詞文字２１ｄ「い」について、ローマ字ルビブロック２４ｄ「Ｉ」を生成して、その位置を仮決めする。そして、先に生成したローマ字ルビブロック２４ｅ「Ｔｅ」と今回生成したローマ字ルビブロック「Ｉ」のＸ軸方向での重複関係を判断する。重複している場合には、今回生成したローマ字ルビブロック２４ｄ「Ｉ」の描画範囲の後端が、ローマ字ルビブロック２４ｅの前端に位置するように、ローマ字ルビブロック２４ｄ「Ｉ」の位置を変更し、確定させる。一方、重複していない場合には、ローマ字ルビブロック２４ｄ「Ｉ」の位置を変更せずにそのまま確定させる。
【００８１】
歌詞文字２１ｃ「抱」、歌詞文字２１ｂ「を」、歌詞文字２１ａ「志」の順にローマ字ルビブロック２４ｃ、２４ｂ、２４ａを生成し、位置を仮決めした後、重複関係に基づいて位置を変更、あるいはそのまま確定することで、読み方向（Ｘ軸方向）において重複していないローマ字ルビブロック２４ａ〜２４ｅを生成することが可能となる。
【００８２】
なお、本実施形態において、演奏情報に基づいて再生される楽曲の進行に応じて、予め記憶されている歌詞文字の漢字およびかな文字と、生成されたローマ字ルビとが表示されていたがこれに限らない。例えば、予め記憶されている歌詞文字の漢字およびかな文字は表示させず、生成されたローマ字ルビのみが表示される構成であってもよい。
【００８３】
また、本実施形態において、歌詞ブロック情報に定められる表示基準位置には、その表示基準位置が対応付けられる歌詞ブロックのうち、ディスプレイ１２の左端座標Ｘ０から最も近いＸ座標が定められていたがこれに限らない。例えば、表示基準位置には、歌詞ブロックのＸ座標方向の描画幅の真ん中のＸ座標、歌詞ブロックのディスプレイ１２の左端座標Ｘ０から最も近いＸ座標から所定幅の座標分が異なる位置の座標、あるいは歌詞ブロックのＸ座標方向におけるディスプレイ１２の左端座標Ｘ０から最も遠いＸ座標などが定められていてもよい。
【００８４】
また、本実施形態においては、生成されたローマ字ルビは、ローマ字ルビの読み方向において、仮決定された表示基準位置が、前に位置するローマ字ルビの後端位置と重複した場合に、表示基準位置を後ろ方向へ移動させる処理が行われていたがこれに限らない。例えば、生成されたローマ字ルビは、ローマ字ルビの読み方向において、仮決定された表示基準位置が、後ろに位置するローマ字ルビの前端位置と重複した場合に、表示基準位置を後ろ方向へ移動させる処理が行われてもよい。また、生成されるローマ字ルビの表示基準位置の仮決定または確定を行う順番および表示基準位置の仮決定または確定を行う順番は、ローマ字ルビの読み方向や楽曲の再生に従ってローマ字ルビが表示される方向に沿う順番に限らない。生成されるローマ字ルビの表示基準位置の仮決定を行う順番および表示基準位置の仮決定を行う順番は、ランダムやローマ字ルビの読み方向や楽曲の再生に従ってローマ字ルビが表示される方向に逆行する順番であってもよい。また、例えば、生成されたローマ字ルビのＸ軸方向の描画幅の長さに応じて、描画幅が短いローマ字ルビから順に、あるいは描画幅が長いローマ字ルビから順に定められるものであってもよい。
【００８５】
なお、現在、スマートフォン、パーソナルコンピュータ、ゲーム装置等の情報処理装置において、カラオケ用プログラムを実行することでカラオケを行うことが一般的である。このような各種情報処理装置において実行され、上述するようなローマ字ルビ表示機能を実現するカラオケ用プログラムについても本発明の範疇に属するものである。
【符号の説明】
【００８６】
１：カラオケ装置
２：カラオケ装置
１０：操作パネル
１１：映像処理部
１２：ディスプレイ
１３：ハードディスク
１４：ＣＰＵ
１５：ＲＡＭ
１６：ＲＯＭ
１７：通信インタフェイス
１８：音声処理部
２０ａ：歌詞文字ブロック
２１ａ〜２１ｅ：歌詞文字
２２ａ〜２２ｃ：かな文字ルビブロック
２４ａ〜２４ｅ：ローマ字ルビブロック
【図１】
2018059966.tif 000003
【図２】
2018059966.tif 000004
【図３】
2018059966.tif 000005
【図４】
2018059966.tif 000006
【図５】
2018059966.tif 000007
【図６】
2018059966.tif 000008
【図７】
2018059966.tif 000009
【図８】
2018059966.tif 000010
【図９】
2018059966.tif 000011
【図１０】
2018059966.tif 000012
【図１１】
2018059966.tif 000013
【図１２】
2018059966.tif 000014
【図１３】
2018059966.tif 000015
【図１４】
2018059966.tif 000016
【図１５】
2018059966.tif 000017
【図１６】
2018059966.tif 000018
【図１７】
2018059966.tif 000019