(57)【特許請求の範囲】
【請求項１】
楽曲を電子的に演奏するための演奏情報であって、ギターによるコード演奏のパートに対応する演奏情報が少なくとも含まれている楽曲データを記憶する記憶手段と、
前記記憶手段に記憶されている楽曲データに基づいて楽曲の演奏を行う演奏手段と、
前記演奏手段による楽曲の演奏に合わせて演奏者によって演奏されるギターのコード譜を構成するコードデータであって、演奏されるべきコードを示すコード情報と、楽曲の再生時間において各コードが演奏されるべきタイミングを示すタイミング情報とを含むコードデータを、前記記憶手段に記憶された楽曲データに基づいて生成するコードデータ生成手段と、
前記生成手段により生成されたコードデータと、前記演奏手段による楽曲の再生の進行時間とに基づき、コード譜画像を表示手段に表示させる制御手段とを備え、
前記コード譜画像は、未来に演奏されるコードの演奏タイミングを示すタイミング画像を直近のコードから演奏順に表示するタイミング表示領域と、未来に演奏されるコードの種類を示すコード画像を直近のコードから演奏順に複数並べて表示するコード表示領域と、未来に演奏されるコードの運指を示す運指画像を直近のコードから演奏順に複数並べて表示する運指表示領域とを有し、
前記制御手段は、
前記タイミング表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いほど、前記コード譜画像の所定領域に設けられた演奏タイミング位置から近くなるように、現在の楽曲の再生時刻とコードの演奏タイミングとの差、及び隣接する特定のコード間の時間差から特定した基準時間に基づいて前記タイミング表示領域における表示位置を算出し、算出した表示位置に前記タイミング画像を配置し、
前記コード表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いコードから順に、前記演奏タイミング位置から近くなるように前記コード画像を配置し、
前記運指表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いコードから順に、前記演奏タイミング位置から近くなるように前記運指画像を配置し、
前記タイミング画像と前記コード画像と前記運指画像とをそれぞれ別の場所から前記演奏タイミング位置の方に近づけ、かつ、前記タイミング画像については、前記コード譜画像における左右方向に前記演奏タイミング位置に近づけ、かつ、前記コード画像及び前記運指画像については、前記コード譜画像における上下方向に前記演奏タイミング位置に近づけ、
楽曲の再生時刻がコードの演奏タイミングになるときに、前記演奏タイミングに該当するコードに対応する前記コード画像と前記運指画像と前記タイミング画像とが最も近づく位置に、前記コード画像、前記運指画像及び前記タイミング画像を配置し、
楽曲の再生時刻がコードの演奏タイミングを過ぎてから次のコードの演奏タイミングが到来するまでの間に、当該演奏タイミングを過ぎたコードに対応する前記タイミング画像、前記コード画像及び前記運指画像を、当該演奏タイミングにおける配置位置から排除すること、
を特徴とする演奏情報表示装置。
【請求項２】
請求項１に記載の演奏情報表示装置において、
前記コードデータで示される各コードには、演奏順が隣り合うコードと異なる表示色がそれぞれ対応付けられており、
前記制御手段は、前記コード画像、前記運指画像及び前記タイミング画像を、該当するコードに対応付けられている表示色を用いた図柄で表示すること、
を特徴とする演奏情報表示装置。
【請求項３】
請求項１又は請求項２に記載の演奏情報表示装置において、
楽曲の再生に合わせて演奏されるギターの演奏音を取得する取得手段と、
前記取得手段により取得されたギターの演奏音を評価する評価手段とを更に備え、
前記制御手段は、前記評価手段による演奏音の評価結果を、前記コード譜画像の前記演奏タイミング位置に対応付けた所定の位置に表示させること、
を特徴とする演奏情報表示装置。
【請求項４】
楽曲を電子的に演奏するための演奏情報であって、ギターによるコード演奏のパートに対応する演奏情報が少なくとも含まれている楽曲データに基づいて楽曲の演奏を行う演奏ステップと、
前記演奏ステップにおいて行われる楽曲の演奏に合わせて演奏者によって演奏されるギターのコード譜を構成するコードデータであって、演奏されるべきコードを示すコード情報と、楽曲の再生時間において各コードが演奏されるべきタイミングを示すタイミング情報とを含むコードデータを、前記楽曲データに基づいて生成する生成ステップと、
前記生成ステップにおいて生成されたコードデータと、前記演奏ステップにおける楽曲の再生の進行時間とに基づき、未来に演奏されるコードの演奏タイミングを示すタイミング画像を直近のコードから演奏順に表示するタイミング表示領域と、未来に演奏されるコードの種類を示すコード画像を直近のコードから演奏順に複数並べて表示するコード表示領域と、未来に演奏されるコードの運指を示す運指画像を直近のコードから演奏順に複数並べて表示する運指表示領域とを有するコード譜画像を表示手段に表示させ、
前記タイミング表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いほど、前記コード譜画像の所定領域に設けられた演奏タイミング位置から近くなるように、現在の楽曲の再生時刻とコードの演奏タイミングとの差、及び隣接する特定のコード間の時間差から特定した基準時間に基づいて前記タイミング表示領域における表示位置を算出し、算出した表示位置に前記タイミング画像を配置し、
前記コード表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いコードから順に、前記演奏タイミング位置から近くなるように前記コード画像を配置し、
前記運指表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いコードから順に、前記演奏タイミング位置から近くなるように前記運指画像を配置し、
前記タイミング画像と前記コード画像と前記運指画像とをそれぞれ別の場所から前記演奏タイミング位置の方に近づけ、かつ、前記タイミング画像については、前記コード譜画像における左右方向に前記演奏タイミング位置に近づけ、前記コード画像及び前記運指画像については、前記コード譜画像における上下方向に前記演奏タイミング位置に近づけ、
楽曲の再生時刻がコードの演奏タイミングになるときに、前記演奏タイミングに該当するコードに対応する前記コード画像と前記運指画像と前記タイミング画像とが最も近づく位置に、前記コード画像、前記運指画像及び前記タイミング画像を配置し、
楽曲の再生時刻がコードの演奏タイミングを過ぎてから次のコードの演奏タイミングが到来するまでの間に、当該演奏タイミングを過ぎたコードに対応する前記タイミング画像、前記コード画像及び前記運指画像を、当該演奏タイミングにおける配置位置から排除する制御ステップとを、
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲の再生に合わせてギターのコード譜を表示することでギターの演奏支援を行う演奏情報表示装置に関する。
【背景技術】
【０００２】
従来、再生される楽曲に合わせてユーザがギター等の楽器を演奏することができるカラオケ装置等がある。この種のカラオケ装置には、ギターによるコード（和音）の演奏を評価する機能を備えたものが知られている（例えば、特許文献１参照）。特許文献１に記載のカラオケ装置では、楽曲データに基づく演奏に合わせて入力された撥弦楽器によるコードの演奏音と、予め定められた評価基準とを比較することで演奏の評価を行うようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−６９９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
再生されるカラオケの楽曲に合わせてギターを上手に演奏するためには、楽曲の進行に沿って、どのタイミングでコードを演奏すべきかを把握することが肝要である。しかしながら、楽曲の進行に沿ってコードを演奏すべきタイミングを把握するのは容易ではない。そのため、演奏者にとって分かりやすい態様でコードを演奏すべきタイミングを提示することのできる技術が求められる。
【０００５】
上記問題を解決するためになされたものであり、ギターのコード演奏を支援するための種類の情報を、ユーザにとって分かりやすい態様で表示するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の演奏情報表示装置は、記憶手段と、演奏手段と、コードデータ生成手段と、制御手段とを備える。記憶手段は、楽曲を電子的に演奏するための演奏情報であって、ギターによるコード演奏のパートに対応する演奏情報が少なくとも含まれている楽曲データを記憶する。演奏手段は、記憶手段に記憶されている楽曲データに基づいて楽曲の演奏を行う。コードデータ生成手段は、演奏手段による楽曲の演奏に合わせて演奏者によって演奏されるギターのコード譜を構成するコードデータであって、演奏されるべきコードを示すコード情報と、楽曲の再生時間において各コードが演奏されるべきタイミングを示すタイミング情報とを含むコードデータを、記憶手段に記憶された楽曲データに基づいて生成する。
【０００７】
また、制御手段は、生成手段により生成されたコードデータと、演奏手段による楽曲の再生の進行時間とに基づき、コード譜画像を表示手段に表示させる。このコード譜画像は、タイミング表示領域と、コード表示領域と、運指表示領域とを有する。タイミング表示領域は、未来に演奏されるコードの演奏タイミングを示すタイミング画像を直近のコードから演奏順に表示するための領域である。コード表示領域は、未来に演奏されるコードの種類を示すコード画像を直近のコードから演奏順に複数並べて表示するための領域である。運指表示領域は、未来に演奏されるコードの運指を示す運指画像を直近のコードから演奏順に複数並べて表示するための領域である。制御手段は、タイミング表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いほど、コード譜画像の所定領域に設けられた演奏タイミング位置から近くなるように、現在の楽曲の再生時刻とコードの演奏タイミングとの差、及び隣接する特定のコード間の時間差から特定した基準時間に基づいてタイミング表示領域における表示位置を算出する。そして、制御手段は、算出した表示位置にタイミング画像を配置する。また、制御手段は、コード表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いコードから順に、演奏タイミング位置から近くなるようにコード画像を配置する。また、制御手段は、運指表示領域において、演奏タイミングが現在の楽曲の再生時刻に近いコードから順に、演奏タイミング位置から近くなるように運指画像を配置する。このとき、制御手段は、タイミング画像とコード画像と運指画像とをそれぞれ別の場所から演奏タイミング位置の方に近づけ、かつ、タイミング画像については、コード譜画像における左右方向に前記演奏タイミング位置に近づけ、かつ、コード画像及び運指画像については、コード譜画像における上下方向に演奏タイミング位置に近づける。そして、楽曲の再生時刻がコードの演奏タイミングになるときに、演奏タイミングに該当するコードに対応するコード画像と運指画像とタイミング画像とが最も近づく位置に、コード画像、運指画像及びタイミング画像を配置する。また、制御手段は、楽曲の再生時刻がコードの演奏タイミングを過ぎてから次のコードの演奏タイミングが到来するまでの間に、当該演奏タイミングを過ぎたコードに対応するタイミング画像、コード画像及び運指画像を、当該演奏タイミングにおける配置位置から排除する。
【０００８】
本発明によれば、楽曲データから生成されたコードデータに基づいて、コード表示領域、運指表示領域及びタイミング表示領域のそれぞれの領域に表示されている複数のコード画像、運指画像、タイミング画像が、それぞれ演奏順に演奏タイミング位置に順次近づいてくるように表示できる。そして、あるコードを演奏すべきタイミングにおいて、演奏対象のコードに対応するコード画像、運指画像、及びタイミング画像が最も近づく位置で表示される。これにより、演奏タイミング位置に最も近くに表示されているコード画像、運指画像、及びタイミング画像に注目すれば、直近に演奏すべきコードや演奏すべきタイミングを容易に把握できるので、ユーザにとって分かりやすい。また、タイミング表示領域におけるタイミング画像の表示位置は、楽曲の再生時刻とコードの演奏タイミングとの時間差に加え、隣接する特定のコード間の時間差から特定される基準時間に基づいて決定されるようになっている。このようにすることで、コード間の時間差で表される演奏速度に応じて、タイミング画像が演奏タイミング位置に近づく速さを制御できる。これにより、演奏者にとって演奏しやすい速さでタイミング画像をスクロールさせることができる。
【００１３】
さらに、ユーザにとって分かりやすいコード譜の表示方法として、請求項２に記載のように構成するとよい。すなわち、コードデータで示される各コードには、演奏順が隣り合うコードと異なる表示色がそれぞれ対応付けられている。そして、制御手段は、コード画像、運指画像及びタイミング画像を、該当するコードに対応付けられている表示色を用いた図柄で表示する。このようにすることで、コード譜の視認性を向上させることができ、演奏順が連続するコードが複数表示されていても、ユーザが個々のコードを判別しやすくなる。
【００１４】
また、請求項３に記載のように、本発明の演奏情報表示装置が演奏の評価機能を備えていてもよい。すなわち、演奏情報表示装置は、楽曲の再生に合わせて演奏されるギターの演奏音を取得する取得手段と、取得手段により取得されたギターの演奏音を評価する評価手段とを更に備える。そして、制御手段は、評価手段による演奏音の評価結果を、コード譜画像の演奏タイミング位置に対応付けた所定の位置に表示させる。このようにすることで、ギター演奏の評価結果を、演奏タイミングに対応するコード譜の近傍に表示させることができ、コード譜と演奏の評価結果との対応をユーザが容易に把握できる。
【００１５】
なお、本発明は、請求項４に記載のように、コンピュータにおいて実行されるプログラム、あるいは当該プログラムを記憶する記憶媒体の態様で実現することもできる。
【図面の簡単な説明】
【００１６】
【図１】カラオケ装置１０の概略構成を示すブロック図。
【図２】（ａ）コード演奏時刻データの一例、（ｂ）運指画像テーブルの一例。
【図３】コード譜画面の表示例（表示段階１〜２）を示す説明図。
【図４】コード譜画面の表示例（表示段階３〜５）を示す説明図。
【図５】タイミング表示制御処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に限定されるものではなく様々な態様にて実施することが可能である。
［カラオケ装置の構成の説明］
実施形態のカラオケ装置１０は、図１に示すように、制御部１１、記憶部１２、楽曲再生部１３、音声制御部１４、映像制御部１５、操作部１７等を備える。このカラオケ装置１０は、カラオケ楽曲の再生や、ギターの演奏支援（ギター練習モード）を実行する機能を有する。
【００１８】
制御部１１は、ＣＰＵ，ＲＯＭ，ＲＡＭ等を備える情報処理デバイスであり、装置全体の制御を司る。カラオケ装置１０の主な機能として、制御部１１は、ユーザからリクエストされたカラオケ楽曲に対応する楽曲データの再生を楽曲再生部１３に実行させる。また、カラオケ楽曲の再生に合わせてユーザがギターを演奏する際の演奏支援機能として、制御部１１は、ギター練習モードのアプリケーションをユーザからの指示があった場合に実行する。このギター練習モードでは、再生されるカラオケ楽曲に対応するギターのコード譜を楽曲の再生の進行に同期してモニタ２３に表示する。また、制御部１１は、カラオケ装置１０に接続された楽器による演奏音を評価する機能を有し、その評価結果をモニタ２３に表示する。
【００１９】
記憶部１２は、ハードディスクドライブ等の記憶装置である。記憶部１２は、カラオケ楽曲を再生するためのＭＩＤＩ形式の楽曲データを多数収録したカラオケデータベースや、カラオケ装置１０の動作を制御するプログラム、ギターのコード譜を表示させるための制御データや各種画像データ等を記憶する。なお、本実施形態では、楽曲データのファイルフォーマットとして、マルチトラックに対応したスタンダードＭＩＤＩのFormat1を適用した事例を想定している。この楽曲データには、複数の楽器（ギターを含む）のパートごとに、それぞれ演奏データのトラックが格納されている。
【００２０】
楽曲再生部１３は、記憶部１２に記憶されている楽曲データに基づいて楽曲の再生を行う。音声制御部１４は、音声の入出力を制御するデバイスであり、マイク入力部１４ａ、楽器入力部１４ｂ、出力部１４ｃ等を備える。マイク入力部１４ａには、マイク１９が接続される。これにより、マイク入力部１４ａは、ユーザの歌唱音を取得する。楽器入力部１４ｂには、ユーザが演奏するギター２０が接続される。これにより、楽器入力部１４ｂは、ユーザがギター２０を用いて演奏した楽器音を取得する。楽器入力部１４ｂは、マイクやギター２０に直接接続する端子等を備える。なお、楽器入力部１４ｂは、カラオケ装置１０に組込まれていてもよいし、カラオケ装置１０とは別体の装置として構成されていてもよい。
【００２１】
出力部１４ｃにはスピーカ２１が接続されている。出力部１４ｃは、楽曲再生部１３によって再生される楽曲の音源信号、マイク入力部１４ａ及び楽器入力部１４ｂから出力される歌唱音や楽器音の音源信号をスピーカ２１に出力する。スピーカ２１は、出力部１４ｃから出力される音源信号を音に換えて放音する。
【００２２】
映像制御部１５は、制御部１１から送られてくる画像情報を映像化するグラフィックエンジンや、圧縮形式の映像データを再生するデコーダからなる映像処理装置である。映像制御部１５には、映像の表示を行うモニタ２３が接続されている。これにより、映像制御部１５は再生した映像をモニタ２３に表示させる。操作部１７は、カラオケ装置１０に対する各種操作を行うための入力装置である。なお、カラオケ装置１０のその他の機能や構成については公知技術に従っているので、ここでの詳細な説明は省略する。
【００２３】
［コード譜の表示に用いるデータの説明］
制御部１１は、ギター練習モードにおいてコード譜を表示する際に用いるデータとして、再生対象のカラオケ楽曲の楽曲データであるスタンダードＭＩＤＩファイルから、コード演奏時刻データ（図２（ａ）参照）を作成する。
【００２４】
図２（ａ）に例示されるコード演奏時刻データは、カラオケ楽曲の再生に合わせて演奏されるべきギターのコードと、各コードの演奏開始時刻との対応関係を記述したリストである。図２（ａ）に例示されるとおり、このコード演奏時刻データには、「コード番号」、「演奏開始時刻」、及び「コード名」の各情報項目がある。「コード番号」は、各コードの演奏順を示す番号である。「演奏開始時刻」は、各コード番号に対応するコードの演奏が開始されるべき時刻を示す情報である。この演奏開始時刻は、カラオケ楽曲の再生開始時点を起点（時刻０）として、再生開始からの経過時間を表している。「コード名」は、各コード番号について、演奏されるべきコードの種類を示す情報である。
【００２５】
具体的には、制御部１１は、次のような手順で上述のようなコード演奏時刻データを作成する。制御部１１は、スタンダードＭＩＤＩファイルの演奏データを構成する複数のトラックのうち、ギターパートに対応するトラックから、ノートオンのイベントを探査して、ギターのコードを特定する。ＭＩＤＩでは、１つのノートオンイベントにつき１つの音を鳴らす仕組みであるため、和音を鳴らすときには、和音を構成する複数の音を極めて小さい時間間隔で順番に鳴らすことで和音に聞こえるようにしている。そのため、楽譜に和音が含まれるトラックでは、和音を構成する複数の音のノートオンイベントの時間差（デルタタイム）が、限りなく小さく（例えば、０や１）なっている。なお、デルタタイムには、ＭＩＤＩにおける時間の最小単位であるティックが用いられる。
【００２６】
制御部１１は、ギターパートのトラックから、ノートオンイベントのデルタタイムを参照し、デルタタイムが極端に短い（０や１）ノートイベント同士を、和音とみなせる複数の音の組合せとして特定する。そして、特定した和音に対応するギターのコードの種類を判別する。また、制御部１１は、連続する２つのコードを構成する音のノートオンイベント間のデルタタイムと、楽曲データに定義されているタイムベース（分解能）及びテンポの情報から、連続するコードの演奏時間の差を実時間（秒）で算出する。タイムベース（分解能）は、４分音符が何ティックであるかを定義する情報である。また、テンポは、拍節の速さであり、１分間に打つ４分音符の数で表される。さらに、コードの演奏時間の差を始めから積算することで、各コードの演奏開始時刻を実時間で算出する。なお、演奏開始時刻は、カラオケ楽曲の再生開始時点を起点（時刻０）として、再生開始からの経過時間を示している。
【００２７】
また、記憶部１２には、制御部１１がギター練習モードにおいてコード譜を表示する際に用いるデータとして、運指画像テーブル（図２（ｂ）参照）が記憶されている。図２（ｂ）に例示される運指画像テーブルは、ギターのコードと、当該コードを演奏するための弦の押さえ方（運指）を図案化した運指画像のデータとの対応関係を記録したリストである。図２（ｂ）に例示されるとおり、この運指画像テーブルには、「コード名」と「運指画像」の各情報項目からなるレコードが記述されている。「コード名」は、ギターのコードの種類を示す情報である。「運指画像」は、各コードに対応する運指画像が記述されたデータファイルの識別情報である。制御部１１は、コード演奏時刻データに基づいてコード譜画面を描画する際、運指画像テーブルから表示対象となるコードに対応する運指画像のファイルを特定する。そして、特定した運指画像のファイルを記憶部１２から読み出して、運指画像をコード譜画面上に描画する。
【００２８】
［コード譜画面の表示手順の説明］
制御部１１が、ギター練習モードにおいてギターのコード譜画面をモニタ２３に表示する処理手順について、図３，４の画面表示例を参照しながら説明する。
【００２９】
（表示段階１）
まず、コード譜画面の基本構成について、図３（ａ）に基づいて説明する。制御部１１がモニタ２３に表示するコード譜画面３ａには、コード表示エリア、運指表示エリア、タイミング表示エリア、及び、演奏エリア等の表示領域が設けられている。
【００３０】
コード表示エリアは、画面最上部右側に示す破線領域の位置に表示される。ただし、図中に記した破線は、実際には表示されない。制御部１１は、再生対象の楽曲データから作成したコード演奏時刻データ（図２（ａ）参照）に基づき、演奏開始時刻が楽曲の現在の再生時刻から直近未来に該当するコードを先頭に、連続する複数のコードの種類を示すコード画像を、コード表示エリアの左端から順に並べて描画する。すなわち、直近未来の演奏順に相当するコード画像が、コード表示エリア左端の下方に位置する演奏エリアに最も接近するようになっている。なお、図３（ａ）に示す事例では、６つのコード画像＃１〜＃６がコード表示エリアに表示されている。コード画像は、矩形の枠内に演奏すべきコードの種類を記述した図柄である。
【００３１】
コード演奏時刻データで示される各コードには、演奏順が隣接するコードと異なる表示色が割当てられている。その一例として、本実施形態では、コード演奏時刻データで示されるコード番号が奇数のコードには白色の表示色、偶数のコードには青色の表示色が割当てられているものとする。制御部１１は、コード表示エリアに描画するコード画像の背景色として、各コードに割当てられた表示色を用いる。このようにすることで、コード表示エリアには、図３（ａ）に例示されるとおり、白色の表示色で描画されたコード画像（＃１，＃３，＃５）と、青色の表示色で描画されたコード画像（＃２，＃４，＃６）とが交互に配列する。
【００３２】
運指表示エリアは、画面左側に示す破線領域の位置に表示される。ただし、図中に記した破線は、実際には表示されない。制御部１１は、再生対象の楽曲データから作成したコード演奏時刻データに基づき、演奏開始時刻が楽曲の現在の再生時刻から直近未来に該当するコードを先頭に、連続する複数のコードの運指を示す運指画像を、運指表示エリアの上側から順に並べて描画する。このとき、制御部１１は、運指画像テーブル（図２（ｂ）参照）を参照し、表示対象のコードに対応する運指画像を記憶部１２から読出して運指表示エリアに描画する。ここでは、直近未来の演奏順に相当する運指画像が、運指表示エリアの最上部右方に位置する演奏エリアに最も接近するようになっている。
【００３３】
なお、図３（ａ）に示す事例では、２つの運指画像＃１，＃２が運指表示エリアに表示されている。運指画像は、ギターの弦を表す平行線上にコードを演奏する際に押さえる位置を示すマークと重ねた意匠の図柄である。また、運指画像の下部領域には、コードの種類が描画される。制御部１１は、運指表示エリアに描画する運指画像の下部領域の背景色として、各コードに割当てられた表示色を用いる。このようにすることで、図３（ａ）に例示されるとおり、運指表示エリアには、白色の表示色で描画された運指画像（＃１）と、青色の表示色で描画された運指画像（＃２）とが交互に配列する。
【００３４】
タイミング表示エリアは、コード表示エリアの下側に示す破線領域の位置に表示される。ただし、図中に記した破線は、実際には表示されない。また、タイミング表示エリアの左端側には、演奏エリアが隣接している。制御部１１は、演奏開始時刻が楽曲の現在の再生時刻から近いコードから順次、コードを演奏するタイミングを示す発音カーソルの画像を、楽曲の進行に合わせてタイミング表示エリアの右端から演奏エリアに向けて移動させる表示制御を行う。なお、図３（ａ）に示す事例は、コード画像＃１及び運指画像＃１に対応するコードを演奏するタイミングを示す発音カーソル＃１が、タイミング表示エリア内を左方向に移動する様子を表している。
【００３５】
発音カーソルは、コードの演奏開始時刻までの残り時間を示す時針の図柄と、ギターピックの図柄とを組合せた画像である。また、制御部１１は、発音カーソルの右方に発音カーソルが右から左へ移動する際の残像を模した図柄を描画する。この発音カーソルの残像を模した図柄には、各コードに割当てられた表示色が用いられる。このようにすることで、タイミング表示エリアには、白色の表示色が用いられた発音カーソルと、青色の表示色が用いられた発音カーソルとが交互に出現する。
【００３６】
制御部１１は、楽曲の現在の再生時刻とコードの演奏開始時刻との差、及び隣接する特定のコード間の時間差から特定した最小単位時間に応じて、タイミング表示エリアに配置する発音カーソルの横軸方向の座標（Ｘ軸座標とする）を決定する。そして、前記決定した位置に発音カーソルを描画する。発音カーソルが配置されるＸ軸座標は、タイミング表示エリアの左側にある演奏エリアの右端位置を原点として、この原点から楽曲の現在の再生時刻とコードの演奏開始時刻との差、及び最小単位時間に応じた距離で決定される。これにより、発音カーソルは、ある時点でタイミング表示エリアの右端から出現し、コードの演奏開始時刻が近づくにつれタイミング表示エリア内を左に移動し、演奏開始時刻で演奏エリアに到達するように制御される。制御部１１が、楽曲の再生の進行に合わせて発音カーソルの配置を決定する手順の詳細な説明については後述する。
【００３７】
演奏エリアは、コード表示エリアの左端下側及びタイミング表示エリアの左端側に隣接する破線領域の位置に表示される。ただし、図中に記した破線は、実際には表示されない。この演奏エリアには、コードを演奏すべきタイミングで、演奏対象のコードに対応するコード画像が上から降下してくる。ただし、図３（ａ）の事例は、演奏エリアにコード画像が移動してくる前の段階を表している。
【００３８】
（表示段階２）
図３（ｂ）は、図３（ａ）に例示される表示段階１から、ある時間が経過したときのコード譜画面３ｂの状況を示している。制御部１１は、次に演奏すべきコードの演奏開始時刻が到来する事前のあるタイミングで、図３（ｂ）に示すように、コード表示エリアの先頭（左側）に表示されているコード画像＃１を、演奏エリアに降下させる表示制御を行う。それに伴い、制御部１１は、コード表示エリアに配列しているコード画像＃１以降の各コード画像を左側にスクロールさせる。
【００３９】
（表示段階３）
図４（ａ）は、図３（ｂ）に例示される表示段階２から更に時間が経過して、コードの演奏開始時刻になった時点でのコード譜画面３ｃの状況を示している。図４（ａ）に例示されるとおり、＃１に相当するコードの演奏開始時刻では、発音カーソル＃１がタイミング表示エリアの左端に到達する。この状態において、発音カーソル＃１は、コード表示エリアから降下してきたコード画像＃１が表示されている演奏エリアの右端に重なって表示される。
【００４０】
図４（ａ）に例示されるとおり、＃１に相当するコードの演奏開始時刻になったときに、コード画像＃１と、発音カーソル＃１と、運指画像＃１とが、演奏エリアを基準に最も接近した位置に配置される。さらに、これらのコード画像＃１、発音カーソル＃１及び運指画像＃１は、白色の表示色を用いることで統一されている。同時に、制御部１１は、運指表示エリアの最上位に表示されている運指画像＃１の外縁部に、演奏開始タイミングであることを示す強調表示であるターゲットカーソルを付加する表示制御を行う。この後、制御部１１は、演奏エリアに到達した発音カーソル＃１を消去する表示制御を行う。
【００４１】
（表示段階４）
図４（ｂ）は、コードの演奏開始時刻になったときに、楽器入力部１４ｂを介して入力されたギター２０の演奏音が評価されたときのコード譜画面３ｄの状況を示している。制御部１１は、コードの演奏開始時刻から所定期間、楽器入力部１４ｂを介して入力されたギター２０の演奏音を評価する。制御部１１は、コード演奏時刻データ（図２（ａ）参照）で示されるコードの演奏開始時刻と、ギター２０の演奏音の発音タイミングとの一致度合や、ギター２０の演奏音と評価基準データとの一致度合に応じて演奏の巧拙を段階的に評価する。なお、ギターのコード演奏により発生する演奏音は、高さが異なる複数の音階の楽音が同時に響く和音である。このような和音の正確さを評価する手法としては、例えば、特許文献１に記載のような周知の手法を用いることができる。
【００４２】
制御部１１は、ギター２０の演奏音を評価した結果、評価の高い順に「EXCELLENT」、「GOOD」、「BAD」等と記述されている評価画像の中から、評価結果に該当する評価画像を演奏エリア近傍の所定位置に描画する。また、コードを演奏すべきタイミングにおいて何も演奏されなかった場合には、表示を行わない（何も表示しない）。図４（ｂ）の事例では、演奏エリアに表示されたコード画像＃１に対応するコードの演奏音を評価した結果として、「EXCELLENT」と表記された評価画像＃１が、演奏エリアの近傍に表示されている。
【００４３】
制御部１１は、評価画像＃１を所定時間表示した後、評価画像＃１と、演奏エリアにあるコード画像＃１と、運指表示エリアの最上段にある運指画像＃１とを、消去する表示制御を行う。なお、制御部１１がコード画像＃１や運指画像＃１を消去する際、フェードアウトやスクロールアウトといった映像効果を用いてもよい。また、制御部１１は、運指表示エリアから運指画像＃１を消去するのに伴い、それ以降の運指画像を、運指表示エリアの上方にスクロールさせる。
【００４４】
（表示段階５）
図４（ｃ）は、図４（ｂ）に例示される表示段階４から更に時間が経過して、次の演奏順のコードの演奏開始時刻になった時点でのコード譜画面３ｅの状況を示している。図４（ｃ）に例示されるとおり、演奏エリアには、次の演奏対象のコードに対応するコード画像＃２が、コード表示エリアから降下して配置されている。
【００４５】
これに伴い、コード表示エリアでは、コード画像＃２以降のコード画像が左方にスクロールしてきている。そして、このコード画像＃２に対応する発音カーソル＃２が、コード画像＃２が表示されている演奏エリアの右端に重なって表示されている。また、タイミング表示エリアでは、発音カーソル＃２以降の複数の発音カーソルが、楽曲の再生の進行に合わせて続々と左方にスクロールしてきている。
【００４６】
また、運指表示エリアの最上位には、＃２のコードに対応する運指画像＃２が配置されている。これに伴い、運指表示エリアでは、運指画像＃２以降の運指画像が上方にスクロールしてきている。１つ前の演奏対象であったコード画像＃１、発音カーソル＃１及び運指画像＃１は、白色の表示色で統一されていたが、次の演奏対象であるコード画像＃２、発音カーソル＃２及び運指画像＃２は、青色の表示色で統一されている。
【００４７】
以上、図３，４に例示される表示段階１〜５について説明した手順を、制御部１１がコード演奏時刻データに基づいて順次繰返すことで、楽曲の再生の進行に合わせてギターのコード譜がモニタ２３に順次表示される。
【００４８】
［タイミング表示制御処理の説明］
制御部１１が実行するタイミング表示制御処理の手順について、図５のフローチャートを参照しながら説明する。この処理は、楽曲データの再生の進行と並行して、所定の時間間隔で繰返し実行される。この処理では、再生される楽曲データに基づいてコード演奏時刻データを作成しながら、コード譜画面（図３，４参照）のタイミング表示エリアに配置される発音カーソルの表示制御を行う。
【００４９】
Ｓ１００では、制御部１１は、再生される楽曲に対応するスタンダードＭＩＤＩファイルに含まれる複数のトラックデータから、音色をギターに設定するプログラムチェンジの情報を探査し、ギターパートのトラックの先頭を特定する。次のＳ１０２では、制御部１１は、Ｓ１００で特定したギタートラックの時間情報に基づき、ギタートラックの所定時間（ティック）範囲の区間内に含まれるノートオンイベントを探査し、和音を構成する音のグループを特定する。なお、このＳ１０２では、楽曲データの再生の進行位置より先行して、ギタートラックの先頭から一定時間範囲の区間でノートオンイベントの探査を開始し、次回以降は前回からの続きの位置から一定時間範囲の区間でノートオンイベントを探査する。制御部１１は、ギタートラックからノートオンイベントのデルタタイムを参照し、デルタタイムが極端に短い（０や１）ノートイベント同士を、和音とみなせる複数の音の組合せとして特定する。
【００５０】
Ｓ１０４では、制御部１１は、Ｓ１０３で特定した和音グループに該当するギターのコードの種類を特定する。そして、Ｓ１０６では、制御部１１は、Ｓ１０４で特定した各コードの演奏開始時刻を算出し、所定時間範囲内に対応するコード演奏時間データ（図２（ａ）参照）を作成する。具体的には、連続する２つのコードを構成する音のノートオンイベントのデルタタイムと、楽曲データに定義されているタイムベース（分解能）及びテンポの情報から、連続するコードの演奏時間の差を実時間（例えば、秒）で算出する。そして、コードの演奏時間の差を積算することで、各コードの演奏開始時刻を算出する。
【００５１】
次のＳ１０８では、制御部１１は、Ｓ１０６で作成した所定時間範囲内のコード演奏時間データから、連続する２つのコードの演奏時間間隔のうち最短の時間を最小単位時間に設定する。Ｓ１１０では、制御部１１は、Ｓ１０８で設定した最小単位時間が１秒以上であるか否かを判定する。最小単位時間が１秒未満である場合（Ｓ１１０：ＮＯ）、制御部１１はＳ１１４に進む。一方、最小単位時間が１秒以上である場合（Ｓ１１０：ＹＥＳ）、制御部１１はＳ１１２に進む。Ｓ１１２では、制御部１１は、Ｓ１０８で設定した最小単位時間を２で除算した値を、新たに最小単位時間に設定する。
【００５２】
次のＳ１１４では、作成したコード演奏時刻データから表示対象のコードの情報を読出し、コード番号が奇数のコードに対して白色の表示色を割当て、コード番号が偶数のコードに対して青色の表示色を割当てる。次のＳ１１６では、制御部１１は、楽曲の現在の再生時刻と、この楽曲に対応するコード演奏時刻データで示される各コードの演奏開始時刻とに基づき、タイミング表示エリアにおける発音カーソルのＸ軸座標（横軸方向）を算出する。具体的には、発音カーソルのＸ軸座標を、下記式（１）を用いて算出する。
【００５３】
Ｘ＝Ｘ０＋Ｐ（ＴＭ−Ｔ）／ｕ    ・・・（１）
上記式（１）において、Ｘ０は、発音カーソルがコードの演奏開始時刻を示すときの原点となるＸ軸座標である。本実施形態では、Ｘ０は、タイミング表示エリアと演奏エリア（図３（ａ）参照）とが隣接する境界のＸ軸座標である。Ｐは、発音カーソルが移動する描画をする際の最小移動ピクセル数（例えば、６０ピクセル）である。ＴＭは、コード演奏時刻データで示される演奏開始時刻である。Ｔは、楽曲の現在の再生時刻である。ｕは、最小単位時間である。
【００５４】
上記式（１）によれば、楽曲の再生時刻がコードの演奏開始時刻に近くなるにつれて、発音カーソルがタイミング表示エリアの右側から左側の演奏エリアの方へ近づくように配置される。そして、楽曲の再生時刻がコードの演奏開始時刻になったときに、当該コードに対応する発音カーソルが、原点であるＸ０の位置にくるようになっている。また、最小単位時間が短い、すなわち、コードの演奏時間間隔が小さいほど、発音カーソルの単位時間当たりの移動量が大きくなる（移動が速くなる）ようになっている。
【００５５】
次のＳ１１８では、制御部１１は、Ｓ１１６で算出したＸ座標に相当するタイミング表示エリアの位置に、表示対象のコードに対応する表示色を用いて発音カーソルを描画する。そして、Ｓ１２０では、タイミング表示エリアの先頭（左側）に描画した発音カーソルが、演奏エリアの原点（Ｘ０）に到達したか否かを判定する。発音カーソルが演奏エリアの原点に到達していない場合（Ｓ１２０：ＮＯ）、制御部１１はＳ１１６に戻る。一方、発音カーソルが演奏エリアの原点に到達した場合（Ｓ１２０：ＹＥＳ）、制御部１１はＳ１２２に進む。
【００５６】
Ｓ１２２では、制御部１１は、演奏エリアに到達した発音カーソルを消去する。このとき、制御部１１は、コード表示エリアから演奏エリアに降下してきたコード画像や、運指表示エリアの最上位に表示されている運指画像を、各表示位置から排除（例えば、消去、フェードアウト、スクロールアウト）させる。Ｓ１２２の後、制御部１１は本処理を終了する。以降、制御部１１は、楽曲の再生が終了してコード譜画面の表示を終了するまでの間、本処理を繰返し実行する。
【００５７】
［効果］
上記実施形態のカラオケ装置１０によれば、以下の効果を奏する。
スタンダードＭＩＤＩファイルの楽曲データから、ギターのコード譜画面の表示に用いるコード演奏時刻データを作成できる。そして、生成されたコード演奏時刻データに基づいて、コード譜画面に設けられたコード表示エリア、運指表示エリア及びタイミング表示エリアにそれぞれ表示されているコード画像、運指画像及び発音カーソルが、それぞれ別の場所から演奏エリアの方に段々と近づいてくるような視覚効果を演出できる。このようにすることで、演奏エリアに最も近くに表示されているコード画像、運指画像、発音カーソルに注目すれば、次に演奏すべきコードをユーザが容易に把握できる。
【００５８】
また、タイミング表示エリアにおいて発音カーソルの表示位置を決定する際には、楽曲の再生時刻とコードの演奏タイミングとの時間差に加え、隣接するコード間の演奏時間差から特定される最小単位時間も加味されるようになっている。このようにすることで、楽曲の演奏速度に応じて、発音カーソルが演奏エリアに近づく速さを制御できる。これにより、演奏者にとって演奏しやすい速さで発音カーソルをスクロールさせることができる。
【００５９】
コード画像、運指画像及び発音カーソルにおいて、コードごとに使用する表示色を統一し、かつ、演奏順が隣接するコード同士で表示色が異なるようにしたことで、コード譜の視認性を向上できる。そのため、演奏順が連続するコードが複数表示されていても、ユーザが個々のコードを判別しやすくなる。
【００６０】
ユーザによるギターの演奏音を評価し、その評価結果を示す画像をコード譜画面の演奏エリアに対応付けて表示することで、コード譜と演奏の評価結果との対応をユーザが容易に把握できる。
【００６１】
［変形例］
上記実施形態では、コード演奏時刻データを、楽曲データの演奏の進行と並行して、所定の時間範囲の区間ずつ作成する事例について説明した。これとは別に、楽曲データの再生が開始される事前に、ギタートラックの最初から最後までの区間に対応するコード演奏時刻データを一貫して作成するような構成であってもよい。
【００６２】
また、上記実施形態では、本発明をカラオケ装置１０に適用した事例について説明した。これとは別に、いわゆるスマートフォンやタブレットコンピュータ等の携帯型の情報処理端末や、パーソナルコンピュータ等に本発明を適用してもよい。
【００６３】
［特許請求の範囲に記載の構成との対応］
実施形態に記載の構成と、特許請求の範囲に記載の構成との対応は次のとおりである。
制御部１１が、コードデータ生成手段、制御手段、及び、評価手段に相当する。記憶部１２が記憶手段に相当する。楽曲再生部１３が演奏手段に相当する。楽器入力部１４ｂが取得手段に相当する。
【符号の説明】
【００６４】
１０…カラオケ装置、１１…制御部、１２…記憶部、１３…楽曲再生部、１４…音声制御部、１４ａ…マイク入力部、１４ｂ…楽器入力部、１４ｃ…出力部、１５…映像制御部、１７…操作部、１９…マイク、２０…ギター、２１…スピーカ、２３…モニタ。
【図１】
0005888295.tif 000002
【図２】
0005888295.tif 000003
【図５】
0005888295.tif 000004
【図３】
0005888295.tif 000005
【図４】
0005888295.tif 000006