(57)【要約】【課題】ピアノロールの譜面と鍵盤との位置関係を把握しながら、実際の楽譜を用いた演奏に近いプロセスで練習を行うことのできる曲データ表示装置を提供する。【解決手段】曲データ表示装置に設けられたＣＰＵ１１は、読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示するピアノロール表示処理部１１ｃと、ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、曲データの再生に同期させてカーソルを現在の再生位置と対応する位置に移動させて表示させるカーソル表示処理部１１ｄとを備える。【選択図】図２
2015060207.tif 000002
【特許請求の範囲】
【請求項１】
読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示するピアノロール表示手段と、
このピアノロール表示手段によって表示された上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させるカーソル表示手段と、
を具備したことを特徴とする曲データ表示装置。
【請求項２】
上記カーソル表示手段は、
上記曲データの再生時に上記カーソルと対応する位置に、上記曲データの演奏をサポートするための表示処理を施すことを特徴とする請求項１記載の曲データ表示装置。
【請求項３】
上記カーソルの表示に応じて演奏者に押鍵入力させる演奏入力手段をさらに有し、
上記カーソル表示手段は、
上記カーソルに対応する位置に、上記演奏入力手段により演奏者が入力した音に応じた入力音を表わす第１のマークと、上記曲データから得られるお手本の音を表わす第２のマークとを対比させて表示することを特徴とする請求項１または２記載の曲データ表示装置。
【請求項４】
上記カーソル表示手段は、
上記曲データの現在の調に基づいて、上記カーソルに対応する位置に、現在再生中の小節の調に対応した白鍵と黒鍵を表わすマークを表示するとともに、上記曲データの現在の次の小節の調に基づいて、上記カーソルに対応する位置に、現在再生中の次の小節の調に対応した白鍵と黒鍵を表わすマークを表示することを特徴とする請求項１から３のいずれかに記載の曲データ表示装置。
【請求項５】
上記カーソル表示手段は、
上記カーソルに対応する位置に、現在再生中の小節に対する左右パートの境界線を表示するとともに、現在再生中の次の小節に対する左右パートの境界線を表示することを特徴とする請求項１から４のいずれかに記載の曲データ表示装置。
【請求項６】
上記カーソル表示手段は、
上記カーソルに対応する位置に、現在再生中の小節の各音に対応する運指番号を表示するとともに、現在再生中の次の小節の各音に対応する運指番号を表示することを特徴とする請求項１から５のいずれかに記載の曲データ表示装置。
【請求項７】
上記カーソル表示手段は、
上記曲データの現在の調に基づいて、上記カーソルの中の現在再生中の小節の調に対応した移動ドの位置、若しくは、予め定められた鍵盤の基準位置を示す、所定のマークを表示することを特徴とする請求項１から６のいずれかに記載の曲データ表示装置。
【請求項８】
上記カーソル表示手段は、
上記カーソルに対応する位置に、現在再生中の次の小節のお手本の音を表わす第３のマークを表示することを特徴とする請求項３に記載の曲データ表示装置。
【請求項９】
上記カーソル表示手段は、
上記第１のマークおよび上記第２のマークに上記演奏者の入力音の音量と上記お手本の音の音量とを反映させて表示するとともに、上記第３のマークに、上記お手本の音の音量と、予め設定された基準音量とを反映させて表示することを特徴とする請求項８記載の曲データ表示装置。
【請求項１０】
カーソル表示モードを設定するモード設定手段をさらに備え、
上記カーソル表示手段は、上記曲データの再生時に上記ピアノロール画面上に、上記モード設定手段によって設定されたカーソル表示モードに応じた、上記曲データの演奏をサポートするための表示処理を施すことを特徴とする請求項１から９のいずれかに記載の曲データ表示装置。
【請求項１１】
曲データ表示装置が実行する曲データ表示方法であって、
該曲データ表示装置が、
読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示するステップと、
上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させるステップと
を実行することを特徴とする曲データ表示方法。
【請求項１２】
コンピュータによって実行される演奏指示のためのプログラムであって、
上記コンピュータに、
読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示する機能と、
上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させる機能と
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽譜の曲に合わせて押鍵の位置とタイミングを指示する曲データ表示装置、曲データ表示方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ピアノ演奏を行う場合にパーソナルコンピュータなどの画面上に鍵盤の画像を表示すると共に、その鍵盤の画像に対応させてピアノロールを表示するものがある（例えば、特許文献１参照）。
【０００３】
鍵盤の画像は画面の下部などに固定的に表示されており、ピアノロールは曲の自動演奏に合わせて上記鍵盤の画像に向かってスクロール表示される。ピアノロールには、演奏曲の各音を発音する押鍵の位置やタイミングを示すマークなどが付されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３１２０７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ピアノロールを鍵盤の画像に向けてスクロール表示する方法は、ユーザが曲の流れを把握でき、初心者でも押鍵すべき鍵を瞬時に判断できるという利点がある。しかし、発音時刻を過ぎた音のマークは鍵盤画像の位置で見えなくなってしまうので、ユーザが実際に押鍵入力した音との正誤関係を確認することができない。なお、演奏後にお手本に対する正解率などを表示する方法もあるが、お手本と入力の音長の間の差異を直感的には確認できない。
【０００６】
また、ピアノロールを一般的なシーケンサのようなスクロール方法で実現すれば、発音時刻を過ぎた音のマークを見ることができ、そこに押鍵入力された音のマークを重ね合わせれば正誤を見て取れる。しかしながら、そのようなスクロール方法では、ユーザが押鍵入力する位置と鍵盤画像の位置が離れてしまい、それらの対応関係がわかりづらいといった問題がある。
【０００７】
ここで、楽器演奏練習用としてピアノロールを画面上に表示する場合に、楽譜と同様にピアノロールの譜面は固定的にある方が先読みなどの点では利便性がある。つまり、記号の意味を先読みしながら演奏操作を行えるといった点で、実際の楽譜を用いた演奏に近いプロセスで練習ができる。逆に、ピアノロールの譜面がスクロールする場合、発音タイミング以外の情報を演奏中に読み取ることが難しくなることが問題となる。
【０００８】
そこで、本発明は、ピアノロールの譜面と鍵盤との位置関係を把握しながら、実際の楽譜を用いた演奏に近いプロセスで練習を行うことのできる曲データ表示装置、曲データ表示方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る曲データ表示装置は、読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示するピアノロール表示手段と、このピアノロール表示手段によって表示された上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させるカーソル表示手段と、を具備したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ピアノロールの譜面と鍵盤との位置関係を把握しながら、実際の楽譜を用いた演奏に近いプロセスで練習を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は本発明の一実施形態に係る演奏システムの構成を示すブロック図である。
【図２】図２は同実施形態における演奏システムのＰＣに備えられたＣＰＵの機能構成を示すブロック図である。
【図３】図３は同実施形態における演奏システムのＰＣに備えられたＲＡＭの構成を示す図である。
【図４】図４は同実施形態における演奏システムのお手本ピアノロールデータの構成を示す図である。
【図５】図５は同実施形態における演奏システムの入力ピアノロールデータの構成を示す図である。
【図６】図６は同実施形態における演奏システムの小節データの構成を示す図である。
【図７】図７は同実施形態における演奏システムの入力音符データの構成を示す図である。
【図８】図８は同実施形態における演奏システムのピアノロール形式の演奏練習画面の一例を示す図である。
【図９】図９は同実施形態における演奏システムのピアノロール形式の演奏練習画面のカーソルの移動を説明するための図である。
【図１０】図１０は同実施形態における演奏システムのピアノロール形式の演奏練習画面の更新後のピアノロールとカーソルとの関係を説明するための図である。
【図１１】図１１は同実施形態における演奏システムのユーザの入力後のピアノロールの状態を示す図である。
【図１２】図１２は同実施形態における演奏システムの基準音表示モードを説明するための図である。
【図１３】図１３は同実施形態における演奏システムの鍵盤基準位置表示モードを説明するための図である。
【図１４】図１４は同実施形態における演奏システムの調表示モードを説明するための図である。
【図１５】図１５は同実施形態における演奏システムの音高・音量表示モードを説明するための図である。
【図１６】図１６は同実施形態における演奏システムの先行表示する音の音量表示方法を説明するための図である。
【図１７】図１７は同実施形態における演奏システムの再生中の音の音量表示方法を説明するための図である。
【図１８】図１８は同実施形態における演奏システムの入力音とお手本の音の音量マークの関係を説明するための図である。
【図１９】図１９は同実施形態における演奏システムの運指表示モードを説明するための図である。
【図２０】図２０は同実施形態における演奏システムのパート境界線表示モードを説明するための図である。
【図２１】図２１は同実施形態における演奏システムのＰＣ（ＣＰＵ）によって実行されるメイン処理を示すフローチャートである。
【図２２】図２２は上記図２１のステップＡ１３で実行されるピアノ演奏練習処理を示すフローチャートである。
【図２３】図２３は上記図２２のステップＢ１４で実行されるお手本ピアノロール表示処理を示すフローチャートである。
【図２４】図２４は上記図２２のステップＢ１７で実行されるカーソル表示処理を示すフローチャート（その１）である。
【図２５】図２５は上記図２２のステップＢ１７で実行されるカーソル表示処理を示すフローチャート（その２）である。
【図２６】図２６は上記図２２のステップＢ１７で実行されるカーソル表示処理を示すフローチャート（その３）である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態について説明する。
【００１３】
図１は本発明の一実施形態に係る演奏システムの構成を示すブロック図である。
【００１４】
この演奏システムは、ＰＣ（パーソナルコンピュータ）１０と電子楽器２０とで構成される。ＰＣ１０は、本発明の曲データ表示装置として用いられる。ＰＣ１０には、主制御部であるＣＰＵ１１と、このＣＰＵ１１に接続されるＲＯＭ１２、ＲＡＭ１３、入力部１４、表示部１５、ＭＩＤＩインタフェース（Ｉ／Ｆ）１６、発音部１７などが設けられている。
【００１５】
ＣＰＵ１１は、ＲＯＭ１２に記憶された各種プログラム１２ａを起動し、入力部１４から入力されるイベントに従って各種処理を実行する。本実施形態において、このＣＰＵ１１には、本発明の曲データ表示装置を実現するための各種機能が備えられている（図２参照）。
【００１６】
ＲＯＭ１２には、各種プログラム１２ａの他、後述する演奏指示用の鍵盤の画像データや押鍵マークの画像データなどが記憶されている。上記各種プログラム１２ａには、本発明の演奏指示制御用のプログラムも含まれる。ＲＡＭ１３には、ＣＰＵ１１の処理に必要な各種データが記憶される（図３参照）。
【００１７】
入力部１４は、例えばキーボードやマウスなどの入力デバイスであり、ユーザの入力操作に対応したイベントを発生してＣＰＵ１１に与える。表示部１５は、例えばＬＣＤ（Liquid Crystal Display）等のカラー表示可能な表示デバイスからなり、所定サイズの画面を有する。
【００１８】
ＭＩＤＩインタフェース１６は、ＭＩＤＩ（musical instrument digital interface）規格の電子楽器２０との間で信号の入出力処理を行う。発音部１７は、サウンドシステムの音源を備え、演奏対象として指定された曲データを楽音に変換して再生出力する。
【００１９】
ここで、本実施形態では、電子楽器２０としては電子ピアノが用いられる。この電子楽器２０は、所定数分の鍵からなる鍵盤２１を備える。この鍵盤２１の各鍵を押鍵したしたときに信号（ノートオン／オフ信号）がＭＩＤＩインタフェース１６を介してＰＣ１０に入力される。なお、発音部１７が電子楽器２０側に備えられる構成となっており、押鍵等の情報はＭＩＤＩインタフェース１６を介してＰＣ１０に入力されるが、楽音の再生出力はこの電子楽器２０側の発音部１７から発音されることとしても良い。
【００２０】
なお、図１の例では、ＰＣ１０に電子楽器２０を接続して演奏する構成を示したが、例えば表示部１５の画面に鍵盤の画像（ソフトキーボード）を表示して、入力部１４の操作によって演奏するような構成であっても良い。
【００２１】
図２はＣＰＵ１１の機能構成を示すブロック図である。ＣＰＵ１１には、本発明の曲データ表示装置に関わる機能構成として、曲データ読込み部１１ａ、小節データ管理部１１ｂ、ピアノロール表示処理部１１ｃ、カーソル表示処理部１１ｄが設けられている。
【００２２】
曲データ読込み部１１ａは、演奏対象とする曲データを読み込む。この曲データは、例えばＰＣ１０のＲＯＭ１２若しくはＲＡＭ１３に保存されている曲データや、図示しないネットワーク等を介してＰＣ１０と接続されたサーバー装置などから読み込むことができる。
【００２３】
小節データ管理部１１ｂは、曲データ読込み部１１ａによって読み込まれた曲データの小節毎に調を解析し、その解析結果として得られた調のデータを含む小節データを後述するＲＡＭ１３の所定の領域に記憶して管理する。なお、この調データは、解析によって取得することとせず、あらかじめ曲データに組み込まれているものとしてもよい。
【００２４】
ピアノロール表示処理部（ピアノロール表示手段）１１ｃは、読み込まれたに基づき該曲データを構成する各音を表す示すピアノロール画面を生成して表示部１５に表示する。
【００２５】
カーソル表示処理部（カーソル表示手段）１１ｄは、ピアノロール表示処理部１１ｃによって表示されたピアノロール画面上の各位置の音高に対応させた画像を有する鍵盤カーソルを表示すると共に、曲データの再生に同期させて鍵盤カーソルを現在の再生位置と対応する位置に移動させて表示する。
【００２６】
さらに、ＣＰＵ１１には、カーソル表示モードを設定するモード設定部１１ｅが設けられている。上記カーソル表示処理部１１ｄは、このモード設定部１１ｅによって設定されたカーソル表示モードに応じて、曲データの再生時に鍵盤カーソルと対応する位置に曲データの演奏をサポートするための表示処理を施す。具体的には、例えば基準音表示モードが設定された場合に鍵盤カーソルに移動ドの位置を示す基準音マークを表示するなどであるが、その詳細については後述する。
【００２７】
また、ＣＰＵ１１には、鍵盤カーソルの表示に応じて演奏者に押鍵入力させる演奏入力処理部（演奏入力手段)１１ｆが設けられている。上記カーソル表示処理部１１ｄは、鍵盤カーソルに対応する位置に、演奏入力処理部１１ｆにより演奏者が入力した音に応じた入力音を表わす第１のマークと、曲データから得られるお手本の音を表わす第２のマークとを対比させて表示する。
【００２８】
図３はＲＡＭ１３の構成を示す図である。
【００２９】
ＲＡＭ１３には、演奏対象となる曲データに関する各種データとして、お手本ピアノロールデータ１３ａ、入力ピアノロールデータ１３ｂ、一時保存入力ピアノロールデータ１３ｃ、小節データ１３ｄ、入力音符データ１３ｅ、音高パートデータリスト１３ｆが記憶される。これらのデータ１３ａ〜１３ｆの構成について、図４〜図７を参照して説明する。
【００３０】
（ピアノロールデータ）
図４はお手本ピアノロールデータ１３ａの構成を示す図、図５は入力ピアノロールデータ１３ｂの構成を示す図である。
【００３１】
ピアノロールデータは、楽譜の各音符について、その発音タイミングを時系列に沿った形で表現したデータである。本実施形態では、お手本ピアノロールデータ１３ａと入力ピアノロールデータ１３ｂがある。お手本ピアノロールデータ１３ａは、演奏のお手本用のデータである。これに対し、入力ピアノロールデータ１３ｂは、ユーザの押鍵入力を反映させたデータである。どちらも基本的には同じデータ構成であり、音符毎に構成され、「発音時刻」，「発音時間」，「音高」，「推定パート」，「音量」の各データを有しており、また、お手本ピアノロール１３ａは、さらに「運指」のデータを有している。なお、入力ピアノロールデータ１３ｂには「運指」のデータは無くても良い。
【００３２】
ここで、入力ピアノロールデータにおける「推定パート」とは、右手パートまたは左手パートのいずれであるかと推定されるかを表すデータである。お手本ピアノロールデータ１３ａでは、曲データによって、音符毎に左右のパートが予め決められている。一方、ユーザによる押鍵入力では、左右どちらで弾いたかは鍵盤側からでは分からない。そこで、ある再生時刻における押鍵入力に対しては、その時刻のお手本ピアノロールデータ１３ａの音符のパートを参照して、左右どちらのパートかを推定した結果をセットしていくものとする。
【００３３】
なお、入力ピアノロールデータに関しては、ユーザの押鍵入力による音符データを確定するまでの間（ノートオン／オフが確定するまでの間）、一時的に音符データを保存しておくための一時保存入力ピアノロールデータ１３ｃがある。データ構成については入力ピアノロールデータ１３ｂと同様である。入力ピアノロールデータ１３ｂが入力確定後のデータとして用いられるのに対し、一時保存入力ピアノロールデータ１３ｃは入力が確定するまでの一時保存用として用いられる。
【００３４】
（小節データ）
図６は小節データ１３ｄの構成を示す図である。
【００３５】
小節データ１３ｄは、曲データを小節単位で管理しているデータであり、「開始時刻」，「拍分子」，「拍分母」，「調」のデータからなる。「開始時刻」は、当該小節の部分の再生が開始されたときの時刻である。ピアノロールデータは小節単位で呼び出すことができるので、その小節毎の開始時刻がセットされる。また、「調」のデータは、曲データが読み込まれたときに、ＣＰＵ１１（小節データ管理部１１ｂ）によって小節毎に解析される。
【００３６】
なお、「拍」のデータについては、予め設定されていても良いし、プログラム的にその都度算出してセットしても良い。この拍データはピアノロールに拍を反映させるために用いる。
【００３７】
（入力音符データ）
図７は入力音符データ１３ｅの構成を示す図である。
【００３８】
入力音符データ１３ｅは、ユーザの押鍵入力によって生成される音符データである。この入力音符データ１３ｅは、電子楽器２０の鍵盤２１の操作（押鍵、離鍵）を検出して、検出された入力音符ごとに所定のデータ形式で格納される。
【００３９】
なお、図中の「システム時刻」は当該音符がユーザによって押鍵入力されたときのシステムの時刻（リアルタイム）を表し、「再生時刻」は再生開始時をゼロとしてカウンタされる相対時刻を表している。
【００４０】
ここで、本システムの動作を説明する前に理解を容易にするため、本発明の演奏指示方法について具体例を挙げて説明する。
【００４１】
図８はピアノロール形式の演奏練習画面の一例を示す図である。
【００４２】
ピアノ演奏を練習する場合に、ＰＣ１０の表示部１５に図８に示すようなピアノロール形式の演奏練習画面３０が表示される。この演奏練習画面３０の縦方向は時間軸（曲の進行）、横方向は音階を表しており、曲データの各音の構成を視覚的に把握できる構成になっている。
【００４３】
図中の３１は鍵盤画像である。この鍵盤画像３１は、例えば電子楽器２０の鍵域等、曲データの最低音から最高音を包含する音域の鍵盤を模式化した画像であり、演奏練習画面３０の最下部にユーザが実際の鍵盤を見下ろしたようなイメージで横向きに表示されている。
【００４４】
図中の３２はピアノロール表示エリアであり、４つの小節区分エリア３２ａ〜３２ｄで構成されている。また、図中の３３および３４は現在の再生位置を示すカーソルである。カーソル３３は、１小節分の長さを有する縦長のバーからなり、演奏練習画面３０の片側（この例では左側）に設けられている。カーソル３４は、矩形状のカーソルであり、半透明の色（例えば水色）で演奏練習画面３０上に表示される。
【００４５】
この矩形状のカーソル３４には鍵盤の絵が描かれ、移動型の鍵盤画像として利用することができる。以後、カーソル３３のことを「縦バーカーソル」、カーソル３４のことを「鍵盤カーソル」と称して両者を区別する。
【００４６】
縦バーカーソル３３と鍵盤カーソル３４は、演奏練習画面３０の中で曲データの進行に伴って移動する。なお、図８の例では、鍵盤カーソル３４が演奏練習画面３０の最下部の位置にあり、そこに固定的に設けられている鍵盤画像３１上に重ねて表示されている状態を示している。
【００４７】
曲データを再生すると、ピアノロール表示エリア３２の小節区分エリア３２ａ〜３２ｄに帯状の押鍵指示マーク３５，３６を有するピアノロール３７が小節単位で表示される。押鍵指示マーク３５，３６は、鍵盤の各鍵に対応させて、演奏者が押鍵する位置と時間を表したものである。押鍵指示マーク３５，３６は、曲データに応じて右手パートと左手パートに分けられており、例えば押鍵指示マーク３５は左手パートとして赤色で表示され、押鍵指示マーク３６は右手パートとして青色で表示される。
【００４８】
この押鍵指示マーク３５，３６を含んだピアノロール３７は、図４のお手本ピアノロールデータ１３ａに基づいて演奏のお手本用として４小節分表示される。図８の例では、１小節目〜４小節目に対応したピアノロール３７が表示されている。曲データの再生に伴い、縦バーカーソル３３と鍵盤カーソル３４がピアノロール３７上を移動する。
【００４９】
図９は縦バーカーソル３３と鍵盤カーソル３４が３小節目に移動した状態を示している。このとき、ピアノロール３７の表示内容は図８と同様に曲データの１小節目〜４小節目の楽譜を表している。つまり、４小節分の演奏が終了するまでの間はピアノロール３７の表示内容は固定であり、縦バーカーソル３３と鍵盤カーソル３４のみが１小節ずつ移動する。
【００５０】
ここで、縦バーカーソル３３と鍵盤カーソル３４が移動したときに、現在の再生位置から過去の楽譜範囲が別の表示形態（例えばグレー表示など）で表示される。ここでは２小節分の過去の楽譜範囲が表示されている例を示している。４小節分の演奏が終了すると、ピアノロール３７の表示内容が更新される。この場合、図１０に示すように、過去の２小節分を残しながら次の２小節分が新たに表示される。
【００５１】
図１０は更新後のピアノロール３７とカーソル３３，３４との関係を説明するための図である。この例では、４小節目と５小節が過去の小節として例えばグレー表示され、縦バーカーソル３３と鍵盤カーソル３４が現在の再生位置として６小節目を示している。
【００５２】
ユーザが押鍵するタイミングは、鍵盤カーソル３４の中にピアノロール３７上の押鍵指示マーク３５，３６が入ったときである。また、押鍵の操作時間は当該押鍵指示マーク３５，３６の長さで指示されている。つまり、鍵盤カーソル３４の位置に押鍵指示マーク３５，３６が表示されている間は押鍵を続け、押鍵指示マーク３５，３６が消えたときに離鍵することで、正しい長さで弾くことができる。
【００５３】
図１１はユーザの入力後のピアノロール３７の状態を示す図である。
【００５４】
ユーザが鍵盤カーソル３４の位置でピアノロール３７上の押鍵指示マーク３５，３６に合わせて押鍵すると、入力マーク３８がピアノロール３７上に表示される。押鍵のタイミングが合っていれば、演奏のお手本として表示されている押鍵指示マーク３５または３６に入力マーク３８が重ねて表示されることになる。実際には、例えば色などを変える等して表示しても良い。
【００５５】
その際、お手本ピアノロールデータ１３ａの音符のパートを参照して左右どちらのパートが推定され、その推定されたパートに対応した色で入力マーク３８が表示される。さらに、押鍵から離鍵までの長さ分の帯状の音長バー３９が当該入力マーク３８に付加される。
【００５６】
なお、実際にはピアノロール３７上の押鍵指示マーク３５，３６が鍵盤カーソル３４に到達したタイミングで正確に押鍵入力することは難しく、多少の時間ずれが生じる。そこで、「クォンタイズ（quantize）」の機能を利用して、多少の時間ずれであれば、ジャストのタイミングで入力したとみなして、押鍵指示マーク３５または３６に入力マーク３８を重ねて表示するものとする。
【００５７】
ここで、本システムでは、ユーザの演奏操作をサポートするために、カーソル表示モードとして、以下のような複数種類のモードを有する。これらのモードは、所定のキー操作などによって表示される図示せぬモード設定画面を通じてユーザが任意選択的に設定することができる。
【００５８】
（基準音表示モード）  
図１２は基準音表示モードを説明するための図である。
【００５９】
所定の操作により基準音表示モードが設定されると、鍵盤カーソル３４の中の現在再生中の小節の調に対応した移動ドの位置に基準音マーク４１が例えば赤色で表示される。この例はハ長調の場合である。
【００６０】
このような基準音マーク４１を鍵盤カーソル３４上に表示しておくことにより、ピアノの演奏に不慣れなユーザであっても、鍵盤の基準音（現在の小節の調の主音）がどこにあるのかを理解して演奏することができる。
【００６１】
（鍵盤基準位置表示モード）  
図１３は鍵盤基準位置表示モード（オクターブ表示モード）を説明するための図である。
【００６２】
所定の操作により鍵盤基準位置モードが設定されると、鍵盤カーソル３４の中の鍵盤の基準位置に基準位置マーク４２が例えば赤色で表示される。この基準位置マーク４２は、調が変わっても固定の位置、例えばドの鍵盤の左等に１オクターブ間隔で表示され、ド〜シの１オクターブの鍵盤の位置が区切られるように表示される。
【００６３】
このような基準位置マーク４２を鍵盤カーソル３４上に表示しておくことにより、鍵盤の基準位置がどこにあるのかを確認しながら演奏することができる。
【００６４】
（調表示モード）  
図１４は調表示モードを説明するための図である。
【００６５】
所定の操作により調表示モードが設定されると、鍵盤カーソル３４の下段の現在再生中の小節の調に対応した位置に矩形マーク４３，４４，４５がそれぞれに所定の色で表示される。矩形マーク４３は白鍵の位置を表しており、矩形マーク４４は現在の調についての移動ドの位置に矩形マーク４３とは異なる色で表示される。矩形マーク４５は黒鍵の位置を表している。なお、本例では、矩形マーク４４は「ソ」の位置に表示されており、現在の調が「ト長調」であることを示している。そして、矩形マーク４５は、ファ＃の位置に表示されており、これは、現在の調「ト長調」で用いられる黒鍵「ファ＃」の位置を示している。
【００６６】
また、先行表示モードが設定されている場合には、鍵盤カーソル３４の上段に別の矩形マーク４６，４７，４８がそれぞれに所定の色で表示される。これらの矩形マーク４６，４７，４８は、次の小節で転調がある場合に先行して表示されるものである。矩形マーク４６が白鍵の位置、矩形マーク４７は転調後の調についての移動ドの位置を表わしている。矩形マーク４８は転調後の黒鍵の位置を表している。本例では、次の小節で「ニ長調」に転調する場合の例を示している。従って、矩形マーク４７は「レ」の位置に表示されている。また、矩形マーク４８は、「ニ長調」で用いられる黒鍵である「ファ＃」と「ド＃」の位置に表示されている。
【００６７】
これらの矩形マーク４６，４７，４８は曲の調が変わることをユーザに事前に知らせるためにあり、現在の調に対応した矩形マーク４３，４４，４５とは別の表示形態で鍵盤カーソル３４の上段に表示される。図１４の例では、矩形マーク４６，４７，４８が点線で表示されているが、特にこの表示形態に限らず、例えば表示色を変えることなどでも良い。
【００６８】
また、この図１４では、白鍵すべてに加えて現在の調あるいは転調後の調で用いられる黒鍵を表示しているが、単に、現在の調で用いられる音階の音や、転調後の調で用いられる音階の音のみをマーキングするようにしても良い。この場合、例えば現在の調である「ト長調」の音階に含まれない白鍵の「ファ」の位置には、矩形マーク４３を表示しないようにし、また、転調後の調である「ニ長調」の音階に含まれない白鍵の「ファ」と「ド」の位置には、矩形マーク４６を表示しないようにする。
【００６９】
このように、現在の調に対応した鍵盤の各鍵の位置に矩形マーク４６，４７，４８を鍵盤カーソル３４上に表示しておくことにより、ピアノの演奏に不慣れなユーザであっても、現在の調と鍵盤の各鍵との対応関係を理解して演奏することができる。
【００７０】
さらに、次の小節で転調がある場合には、その転調後の調に対応した位置に別の矩形マーク４６，４７，４８を先行表示しておくことで、次の小節で転調があることを意識して演奏を続けることができ、また、現在の調や転調後の調で用いる音階の音を視覚的に認識できるため、ミスタッチ等を減らすことが可能となる。
【００７１】
（音高・音量表示モード）
図１５は音高・音量表示モードを説明するための図である。
【００７２】
所定の操作により音高・音量表示モードが設定されると、鍵盤カーソル３４の下段に円マーク５１が表示されると共に、鍵盤カーソル３４の中段に円マーク５２が表示される。
【００７３】
下段の円マーク５１は、ユーザの入力音の位置（音高）を表わしており、ユーザが押鍵を開始したときに鍵盤カーソル３４の下段に所定の色（例えば黄色）で表示される。この円マーク５１は、ユーザの入力に応じて一時的に表示される。つまり、この円マーク５１は、ユーザが押鍵したときに表示され、離鍵したときには消えてしまう。
【００７４】
これに対し、中段の円マーク５２は、曲データの再生時に演奏のお手本として発生される音の位置（音高）を表している。この円マーク５２は、お手本上、ノートオンしてからノートオフまでの間、鍵盤カーソル３４の中段に左右パート別の色（例えば左パートは赤色、右パートは緑色）で表示される。
【００７５】
さらに、先行表示モードが設定されている場合には、鍵盤カーソル３４の上段に円マーク５３が表示されると共に、鍵盤カーソル３４の上段枠外に円マーク５４が表示される。これらの円マーク５３，５４は、次の小節のお手本の音の位置（音高）を先行表示したものであり、それぞれに左右パート別の色（例えば左パートは赤色、右パートは緑色）で表示される。このうち、円マーク５４は、次の小節の中で最初に弾く音に対応して表示される。
【００７６】
このように、再生中のお手本の音表示（中段の円マーク５２）と入力の音表示（下段の円マーク５１）を区別して表示することで、ユーザはお手本と自分の演奏との違いをリアルタイムで視認でき、入力が誤っている場合に次の行動ですぐに修正することができる。
【００７７】
さらに、次の小節の音を別の円マーク５３，５４で先行表示しておけば、小節の音の位置を先読みしながら、スムーズに指を動かして演奏することができる。
【００７８】
次に、音量の表示方法について説明する。音量の表示は、図１５の音高・音量表示モードの表示形態で、各音符の円マークにおいて表示される。  
図１６は先行表示する音の音量表示方法を説明するための図である。
【００７９】
先行表示で用いられる上段の円マーク５３，５４は、２つの円形状の音量マーク５５，５６を有する。音量マーク５５の大きさ（直径）は比較用の基準音量を表しており、音量マーク５６の大きさ（直径）はお手本データ（お手本ピアノロールデータの略）の音量を表わしている。なお、音量マーク５５は例えばオレンジ色、音量マーク５６は赤色（左パートの場合）または緑色（右パートの場合）で表示される。
【００８０】
ここで、円の中心に基準音量を表わす音量マーク５５を配置しておくのは、基準音量が分からないと、どのくらいの強さで弾いていいのか分からないからである。例えば音の強弱を示すベロシティが「０〜１２７」の範囲であるとすると、音量マーク５５の基準音量はベロシティ「６４」の音量である。
【００８１】
図１７は再生中の音の音量表示方法を説明するための図である。
【００８２】
本システムでは、曲データの再生中にユーザが入力した音とお手本の音が発生する。再生中に表示される中段の円マーク５２は、この２種類の音の音量を反映させた円形状の音量マーク５７，５８を有する。
【００８３】
音量マーク５７はユーザの入力音の音量を表しており、音量マーク５８はお手本データ（お手本ピアノロールデータの略）の音量を表わしている。円の直径が大きいほど、音量が大きいことを意味する。なお、入力音の音量マーク５７は例えばオレンジ色で表示され、お手本の音量マーク５８は赤色（左パートの場合）または緑色（右パートの場合）で表示される。
【００８４】
ここで、入力音がお手本の音量と一致すれば、図１８（ａ）に示すように、お手本の音量マーク５８と同じ大きさの音量マーク５７が表示される。一方、入力音がお手本の音量より小さい場合には、図１８（ｂ）に示すように、お手本の音量マーク５８の中に音量マーク５７が表示される。逆に、入力音がお手本の音量より大きい場合には、図１８（ｃ）に示すように、お手本の音量マーク５８の外側に音量マーク５７が表示されることになる。このように、入力音量とお手本の音量を視覚的に分かるようにしておくことで、ユーザは音の強弱についても意識しながら演奏することができる。
【００８５】
（運指表示モード）
図１９は運指表示モードを説明するための図である。
【００８６】
所定の操作により運指表示モードが設定されると、鍵盤カーソル３４の下段に現在再生中の小節に対応した各音の位置に運指番号６１が左右パート別に表示される。この運指番号６１は、現在再生中の小節の各音に対応した指の運びを表しており、親指＝１，人差し指＝２，中指＝３，薬指＝４，小指＝５といった数字で表される。
【００８７】
また、鍵盤カーソル３４の上段には、次の小節の各音に対応させて運指番号６２，６３が運指番号６１とは別の表示形態で表示される。運指番号６２，６３のうち、最上段に表示されている運指番号６３は、次の小節の中で最初に弾く音に対応している。この例では、運指番号６２，６３が点線で表示されているが、特にこの表示形態に限らず、例えば表示色を変えるなどしても良い。
【００８８】
このように、現在再生中の小節の各音に対する運指番号６１を鍵盤カーソル３４に付加しておくことにより、ピアノの演奏に不慣れなユーザであっても、運指番号６１を見ながら指を正しく動かして演奏することができる。
【００８９】
さらに、次の小節に対応した運指番号６２，６３を先行表示しておくことで、次の小節を弾くときに慌てることなくスムーズに指を動かして演奏することができる。
【００９０】
（パート境界線表示モード）
図２０はパート境界線表示モードを説明するための図である。
【００９１】
所定の操作によりパート境界線表示モードが設定されると、鍵盤カーソル３４の中に現在再生中の小節に対する左右パートの境界線７１が所定の色で表示される。この境界線７１の左側が左手パート、右側が右手パートである。なお、左手パートと右手パートの境界は、あらかじめ曲データに付随して設定されていることとしても良いし、あるいは曲データに応じて自動的に判別されることとしても良い。自動的に判別する場合、小節中の最も右側にある左手パートの音符の音高と小節中の最も左側にある右手パートの音符の音高とを比較して、以下のようにして判断するものとする。
【００９２】
・小節中の最も右側にある左手パートの音符の音高＜小節中の最も左側にある右手パートの音符の音高の場合  
境界の音高＝小節中の最も右側にある左手パートの音符の音高＋（小節中の最も左側にある右手パートの音符の音高−最も右側にある左手パートの音符の音高）
・小節中の最も右側にある左手パートの音符の音高＞小節中の最も左側にある右手パートの音符の音高  
境界の音高＝なし（判定不能）
・小節中の最も右側にある左手パートの音符の音高＝小節中の最も左側にある右手パートの音符の音高の場合  
境界の音高＝小節中の最も右側にある左手パートの音符の音高＝小節中の最も左側にある右手パートの音符の音高。
【００９３】
また、１つ先の小節に対する左右パートの境界線７２が現在の境界線７１とは別の表示形態で表示される。この例では境界線７２が白抜きの点線で表示されているが、特にこの表示形態に限らず、例えば表示色を変えるなどしても良い。
【００９４】
このように、現在再生中の小節に対する左右パートの境界線７１を鍵盤カーソル３４に付加しておくことで、そのときに弾く曲に合わせて左手と右手の配置を決めて演奏することができる。
【００９５】
さらに、次の小節に対応した左右パートの境界線７２を先行表示しておくことで、次の小節を弾くときに左手と右手をスムーズに移動させて演奏することができる。
【００９６】
次に、本システムの動作について、（ａ）メイン処理、（ｂ）ピアノ演奏練習処理に分けて説明する。なお、以下のフローチャートで示される処理は、ＰＣ１０に設けられたＣＰＵ１１がＲＯＭ１２に記憶されたプログラム１２ａを読み込むことにより実行される。
【００９７】
（ａ）メイン処理
図２１は本システムにおけるＰＣ１０（ＣＰＵ１１）によって実行されるメイン処理を示すフローチャートである。
【００９８】
ＣＰＵ１１は、演奏対象となる楽譜の曲データを読み込むと（ステップＡ１０）、以下のような処理を実行する。なお、曲データは、予めＲＡＭ１３などに記憶されていても良いし、電子楽器２０あるいは図示せぬ外部機器から入力されることでも良い。
【００９９】
まず、ＣＰＵ１１は、曲データを小節毎に調を含めて解析し、その解析結果を図６の小節データ１３ｄにセットする（ステップＡ１１）。
【０１００】
ここで、ユーザの指示に従ってピアノロールの作成開始小節と終了小節がセットされる（ステップＡ１２）。ＣＰＵ１１は、そのセットされた小節範囲分のお手本ピアノロールデータ１３ａを作成し、これをＲＡＭ１３の所定のエリアに展開しながら、図８に示したような演奏練習画面３０を表示部１５に表示し、ユーザにピアノ演奏を練習させる（ステップＡ１３）。詳しい処理については、後に図２２を参照して説明する。
【０１０１】
ユーザにより練習場所（ピアノロールの範囲）の変更指示があると（ステップＡ１４のＹｅｓ）、ＣＰＵ１１は、その変更指示に従って上記ステップＡ１２からの処理を繰り返す。また、ユーザによりカーソル表示モードの設定指示があると（ステップＡ１５のＹｅｓ）、ＣＰＵ１１は、図示せぬモード設定画面を表示部１５に表示し、予めカーソル表示モードとして用意されている各種モードをユーザに設定させる（ステップＡ１６）。
【０１０２】
上記各種モードとは、上述した基準音表示モード、鍵盤基準位置表示モード、音高表示モード、音量表示モード、運指表示モード、パート境界線表示モードなどである。これらのモードを任意選択的に組み合わせて設定することができる。
【０１０３】
ユーザにより終了指示があると（ステップＡ１７のＹｅｓ）、ＣＰＵ１１は、ここでの一連の処理を終了する。なお、ユーザの指示は、ＰＣ１０に備えられた入力部１４などを通じて行われるものとする。
【０１０４】
（ｂ）ピアノ演奏練習処理
図２２は上記図２１のステップＡ１３で実行されるピアノ演奏練習処理を示すフローチャートである。このピアノ演奏練習処理は、ユーザによる再生開始から終了の指示があるまでの間、繰り返し実行される。
【０１０５】
まず、ＣＰＵ１１は、表示部１５にピアノロール形式の演奏練習画面３０を表示部１５に表示する（ステップＢ１１）。この演奏練習画面３０には、鍵盤画像３１とピアノロール表示エリア３２が設けられている。
【０１０６】
ここで、ＣＰＵ１１は、再生コントロールを行う（ステップＢ１２）。再生コントロールとは、ユーザの指示に従って曲データの再生、停止、小節スキップ、先頭に戻るなど、再生時刻に関連した処理を行うもの。なお、再生処理は一般的なので、その詳しい説明は省略する。また、再生処理自体は別のスレッドで行われていて、本フローチャート上での再生時刻はそのスレッドから随時更新されているものとし、各処理での再生時刻は最新の時刻を用いることができるものとする。
【０１０７】
今、曲データの再生が指示されたものとして説明する。
【０１０８】
ＣＰＵ１１は、現在時刻から表示する小節の番号を所定小節数分決めて、図示せぬ表示小節番号リストに保存する（ステップＢ１３）。この表示小節番号リストは、例えばＲＡＭ１３のワークエリアに設けられる。例えば、ピアノロール表示エリア３２に一度に表示できる小節数が４小節であれば、ユーザが指定した再生開始小節を基準にして、そこから４小節分の番号を表示小節番号リストに保存することになる。
【０１０９】
（お手本ピアノロール表示処理）
ここで、曲データが再生されると、ＣＰＵ１１は、図２３に示すようなお手本ピアノロール表示処理を実行し、演奏練習画面３０に設けられたピアノロール表示エリア３２にピアノロール３７の表示を行う（ステップＢ１４）。
【０１１０】
図２３は上記図２２のステップＢ１４で実行されるお手本ピアノロール表示処理を示すフローチャートである。
【０１１１】
まず、現在時刻に対応した小節番号が記憶されている表示小節番号リストの要素番号をｉ＝０とし、ｉ＝０に初期化した状態で処理を開始する（ステップＣ１１）。ＣＰＵ１１は、表示小節番号リストのｉ番目の要素で示される小節（簡単に「小節ｉ」という）に対応したお手本ピアノロールデータ１３ａを取得し（ステップＣ１２）、当該小節ｉに存在する各音符の発音時刻と発音時間を演奏練習画面３０の座標データに変換する（ステップＣ１３）。
【０１１２】
ＣＰＵ１１は、その座標変換された各音符の発音時刻と発音時間に基づいて、演奏練習画面３０のピアノロール表示エリア３２に演奏のお手本用としてのピアノロール３７を表示する（ステップＣ１４）。
【０１１３】
具体的には、各音符の発音時刻と発音時間に基づいて演奏練習画面３０のピアノロール表示エリア３２に帯状の押鍵指示マーク３５，３６を表示する。図８に示したように、例えば押鍵指示マーク３５は左手パートとして赤色で表示され、押鍵指示マーク３６は右手パートとして青色で表示される。
【０１１４】
ｉをインクリメントしながら（ステップＣ１５）、ｉの値が上記表示小節番号リストの要素数（ここでは４つ）になるまで、上記同様の処理を繰り返す（ステップＣ１６）。これにより、ピアノロール表示エリア３２に所定小節数分のピアノロール３７が表示されることになる。このピアノロール３７の表示は小節単位で更新され、上記図２１のステップＡ１２でユーザが指定した終了小節まで表示されることになる。
【０１１５】
（入力ピアノロール生成処理）  
演奏者であるユーザは、演奏練習画面３０のピアノロール表示エリア３２に表示されたピアノロール３７を見ながら、電子楽器２０の鍵盤２１を押鍵してピアノ演奏の練習を行う。このときの押鍵入力された信号はＭＩＤＩインタフェース１６を介してＣＰＵ１１に与えられる。これにより、ＣＰＵ１１では、入力ピアノロール生成処理を実行する（ステップＢ１５）。
【０１１６】
この「入力ピアノロール生成処理」は、ユーザの押鍵操作によって入力された音符をピアノロールに反映させるためにある。入力ピアノロールデータは、図５で説明したように、入力ピアノロールデータ１３ｂと一時保存入力ピアノロールデータ１３ｃの２種類が用意されている。一時保存入力ピアノロールデータ１３ｃは、入力ピアノロールデータ１３ｂと同じデータ構造であり、想定音高入力数分（例えば、電子楽器２０の鍵盤数など）の一時的なリストとして用いられる。これに対し、入力ピアノロールデータ１３ｂは、入力確定リストとして用いられる。
【０１１７】
ノートオン信号が入力されると、一時的なリスト（一時保存入力ピアノロールデータ１３ｃ）の入力音高に対応する場所に発音時刻、推定パート、音量が入力される。ノートオン継続状態では、一時的なリストで、入力音高に対応する場所の発音時間に、現在の再生時刻に対応する値が代入され続ける。
【０１１８】
ここで、ノートオフ信号が入力されると、一時的なリストで入力音高に対応するアドレスの発音時間が確定し、入力確定リスト（入力ピアノロールデータ１３ｂ）にコピーされる。このとき、一時的なリストの入力音高に対応する場所のデータを初期化しておく。
【０１１９】
このようして、ユーザが押鍵入力した音符に関する入力ピアノロールデータ１３ｂが生成される。この入力ピアノロールデータ１３ｂは、ユーザが押鍵入力した音符の位置とタイミングを示す入力マーク３８を表示するために用いる。
【０１２０】
すなわち、ＣＰＵ１１は、入力ピアノロールデータ１３ｂの入力音符の発生時刻と音高のデータに基づいて、入力マーク３８を演奏練習画面３０のピアノロール表示エリア３２の中の該当する位置に表示する。その際、ＣＰＵ１１は、入力ピアノロールデータ１３ｂの推定パートのデータに基づいて、入力マーク３８を左右パート別の色で表示する。さらに、ＣＰＵ１１は、入力ピアノロールデータ１３ｂの入力音符の発音時間のデータに基づいて、押鍵から離鍵までの長さを表す帯状の音長バー３９を当該入力マーク３８に付加して表示する（ステップＢ１６）。
【０１２１】
この状態が図１１である。  
ユーザが押鍵入力した音符の入力マーク３８と音長バー３９がピアノロール３７上に表示されている。ユーザがピアノロール３７を見ながら正しく押鍵していれば、帯状の押鍵指示マーク３５または３６に入力マーク３８と音長バー３９が重なって表示されることになる。
【０１２２】
（カーソル表示処理）
演奏練習画面３０において、ピアノロール３７は小節単位で順次表示される。ＣＰＵ１１は、このようなピアノロール３７の表示に連動させて縦バーカーソル３３と鍵盤カーソル３４を表示する（ステップＢ１７）。このときのカーソル表示処理について、図２４乃至図２６を参照して詳しく説明する。
【０１２３】
図２４乃至図２６は上記図２２のステップＢ１７で実行されるカーソル表示処理を示すフローチャートである。
【０１２４】
まず、ＣＰＵ１１は、先行表示時刻を設定する（ステップＤ１１）。これは、先行表示を行う際に、現在の時刻からどのくらい先の時刻の小節を表示するのかを決めておく処理である。また、ＣＰＵ１１は、曲データの再生時間から縦バーカーソル３３と鍵盤カーソル３４を表示する演奏練習画面３０上の座標を求める（ステップＤ１２）。
【０１２５】
次に、ＣＰＵ１１は、現在時刻で発音されている入力音符の音高と音量を図５の一時保存入力ピアノロールデータ１３ｃから取り出し、図示せぬ入力音高音量リストＬ１にセットする（ステップＤ１３）。この処理は、図１５で説明した入力の音表示（下段の円マーク５１の表示）を行うための準備として行われる。
【０１２６】
また、ＣＰＵ１１は、現在の再生時刻における音符データを図４のお手本ピアノロールデータ１３ａから取り出し、図示せぬ現在音符データリストＬ２にセットする（ステップＤ１４）。さらに、ＣＰＵ１１は、現在再生時刻から上記先行表示時刻までに発生する音符データを図４のお手本ピアノロールデータ１３ａから取り出し、図示せぬ先行音符データリストＬ３にセットする（ステップＤ１５）。これらの処理は、図１５で説明した再生中の音表示（中段の円マーク５２の表示）と先行表示（上段の円マーク５３，５４）を行うための準備として行われる。
【０１２７】
なお、上記リストＬ１〜Ｌ３はＲＡＭ１３のワークエリアに設けられており、ＣＰＵ１１によって適宜参照される。また、以下の処理で参照される各種フラグは、上記図２１のステップＡ１６のカーソル表示モードとして適宜設定され、その設定情報（フラグのオン／オフ）がＲＡＭ１３のワークエリアに記憶されているものとする。
【０１２８】
ここで、ＣＰＵ１１は、鍵盤絵表示フラグが設定（フラグオン）されているか否かを確認する（ステップＤ１６）。鍵盤絵表示フラグが設定されていれば（ステップＤ１６のＹｅｓ）、ＣＰＵ１１は、表示レイアウトとして「レイアウトパターン１」を設定する（ステップＤ１７）。鍵盤絵表示フラグが設定されていなければ（ステップＤ１６のＮｏ）、ＣＰＵ１１は、表示レイアウトとして「レイアウトパターン２」を設定する（ステップＤ１８）。
【０１２９】
「レイアウトパターン１」は、鍵盤カーソル３４に鍵盤の絵柄ありのパターンである。「レイアウトパターン２」は、鍵盤カーソル３４に鍵盤の絵柄なしのパターンである。鍵盤の絵柄とは、演奏練習画面３０の最下部に固定表示されている鍵盤画像３１と同様に鍵盤を模式化した画像のことであり、ピアノロール３７上の各音に対応させて配置される。「レイアウトパターン１」では、鍵盤の絵柄ありとして白鍵、黒鍵の位置が定められるので、鍵盤カーソル３４の表示および以後の表示処理において、これらの白鍵黒鍵の位置に対応した表示処理を行う。「レイアウトパターン２」では、鍵盤の絵柄なしで、単なる矩形の横並びを表示することになるので、以後の表示処理もこれに応じた表示処理を行う。
【０１３０】
演奏練習画面３０の最下部には鍵盤画像３１が標準的に表示されているので、ユーザによっては、鍵盤カーソル３４に鍵盤の絵柄を必要としないこともある。そこで、初期設定時に鍵盤の絵柄を表示するか否かを任意に設定できるようにしている。
【０１３１】
ＣＰＵ１１は、「レイアウトパターン１」または「レイアウトパターン２」に対応した鍵盤カーソル３４の背景を表示する（ステップＤ１９）。「レイアウトパターン１」であれば、鍵盤カーソル３４に鍵盤の絵柄を描くことになる。
【０１３２】
以下では、説明を簡単にするため、鍵盤カーソル３４に鍵盤の絵柄ありの場合を想定して説明する。なお、鍵盤カーソル３４と共に縦バーカーソル３３も演奏練習画面３０上に表示されているものとする。
【０１３３】
鍵盤カーソル３４が表示されると、以後、上記カーソル表示モードとして適宜設定される各種フラグに基づいて、この鍵盤カーソル３４上にユーザの演奏をガイド（支援）するための所定の表示処理がなされる。
【０１３４】
すなわち、基準音表示フラグが設定されていれば（ステップＤ２０のＹｅｓ）、ＣＰＵ１１は、図６に示した小節データ１３ｄに基づいて現在再生中の小節の調を判断し、鍵盤カーソル３４に現在再生中の小節の調に対応した移動ドの位置を表示する（ステップＤ２１）。具体的には、図１２に示したように、鍵盤カーソル３４の中の現在再生中の小節の調に対応した移動ドの位置に基準音マーク４１を所定の色（例えば赤色）で表示する。
【０１３５】
鍵盤位置表示フラグが設定されていれば（ステップＤ２２のＹｅｓ）、ＣＰＵ１１は、鍵盤カーソル３４に鍵盤の基準位置を表示する（ステップＤ２３）。具体的には、図１３に示したように、鍵盤カーソル３４の中の鍵盤の基準位置に基準位置マーク４２を所定の色（例えば赤色）で表示する（ステップＤ２３）。
【０１３６】
ここで、入力音高表示フラグと音量表示フラグが設定されていれば（ステップＤ２４のＹｅｓ→Ｄ２５のＹｅｓ）、ＣＰＵ１１は、まず、入力音量表示をＯＮにする（ステップＤ２６）。「入力音量表示」とは、図１７および図１８示した入力音の音量マーク５７を表示することを言う。なお、入力音高表示フラグが設定されているものの音量表示フラグが設定されていない場合は（ステップＤ２４のＹｅｓ→Ｄ２５のＮｏ）、入力音量表示はＯＦＦとされる。
【０１３７】
ＣＰＵ１１は、上記入力音高音量リストＬ１を参照して鍵盤カーソル３４にユーザが入力した音の位置（音高）を表示する（ステップＤ２７，Ｄ２８）。具体的には、図１５に示したように、鍵盤カーソル３４の下段にユーザの入力音を表わす円マーク５１を表示する。この円マーク５１の表示位置は、ユーザが押鍵した位置（音高）に対応している。また、この際、入力音量表示がＯＮであれば、ユーザの押鍵の強さ（ベロシティ）に応じて、円マーク５１の大きさを変化させて表示する。
【０１３８】
運指表示フラグが設定されていれば（ステップＤ２９のＹｅｓ）、ＣＰＵ１１は、上記現在音符データリストＬ２を参照して鍵盤カーソル３４に現在再生中の小節の各音に対応させて運指の表示を行う（ステップＤ３１）。さらに、その先行表示フラグが設定されていれば（ステップＤ３２のＹｅｓ）、ＣＰＵ１１は、上記先行音符データリストＬ３を参照して鍵盤カーソル３４に次の小節の各音に対応させて運指番号を先行表示する（ステップＤ３３，３４）。
【０１３９】
具体的には、図１９に示したように、鍵盤カーソル３４の下段に現在再生中の小節の各音の位置に運指番号６１を表示し、鍵盤カーソル３４の上段に次の小節の各音の位置に運指番号６２を運指番号６１とは別の表示形態で表示する。
【０１４０】
また、発音中の音表示フラグと音量表示フラグが設定されていれば（ステップＤ３５のＹｅｓ→Ｄ３６のＹｅｓ）、ＣＰＵ１１は、まず、発音中音量表示をＯＮにする（ステップＤ３７）。なお、音量表示フラグが設定されていない場合は（ステップＤ２５のＹｅｓ→Ｄ３６のＮｏ）、発音中音量表示はＯＦＦとされる。そして、ＣＰＵ１１は、上記現在音符データリストＬ２を参照して鍵盤カーソル３４に発音中の音を表示する（ステップＤ３８，Ｄ３９）。
【０１４１】
「発音中の音」とは、現在演奏すべきお手本の音のことである。具体的には、図１５に示したように、鍵盤カーソル３４の中段に、そのお手本の音を表わす円マーク５２を表示する。このとき、「発音中音量表示」がＯＮしていれば、図１７および図１８で説明したように、お手本の音量マーク５８とともに入力音の音量マーク５７を表示して、入力音量の状態を確認できるようにする。
【０１４２】
さらに、先行表示フラグと音量表示フラグが設定されていれば（ステップＤ４０のＹｅｓ→Ｄ４１のＹｅｓ）、ＣＰＵ１１は、まず、先行音量表示をＯＮにする（ステップＤ４２）。なお、音量表示フラグが設定されていない場合は（ステップＤ４０のＹｅｓ→Ｄ４１のＮｏ）、先行音量表示はＯＦＦとされる。そして、ＣＰＵ１１は、上記先行音符データリストＬ３を参照して鍵盤カーソル３４に先行音についての表示を行う（ステップＤ４３，Ｄ４４）。
【０１４３】
「先行音についての表示」とは、次の小節のお手本の音を先行して表示することである。具体的には、図１５に示したように、鍵盤カーソル３４の上段と上段枠外に、次の小節のお手本の音を表わす円マーク５３，５４を再生中の円マーク５２とは別の表示形態で表示する。さらに、先行音量表示がＯＮの場合には、図１６に示したように、これらの円マーク５３，５４を２つの円形状の音量マーク５５，５６で表示する。音量マーク５５は比較用の基準音量、音量マーク５６はお手本データの音量を示す。
【０１４４】
また、右手左手の境目表示フラグが設定されていれば（ステップＤ４５のＹｅｓ）、ＣＰＵ１１は、上記現在音符データリストＬ２を参照して鍵盤カーソル３４に現在再生中の小節の各音に対応した右手左手の境目表示を行う（ステップＤ４６，Ｄ４７）。さらに、その先行表示フラグが設定されていれば（ステップＤ４８のＹｅｓ）、ＣＰＵ１１は、上記先行音符データリストＬ３を参照して鍵盤カーソル３４に次の小節の各音に対応した右手左手の境目を先行表示する（ステップＤ４９，Ｄ５０）。
【０１４５】
具体的には、図２０に示したように、鍵盤カーソル３４の下方に現在再生中の小節に対する左右パートの境界線７１を表示し、鍵盤カーソル３４の上方に次の小節に対する左右パートの境界線７２を境界線７１とは別の表示形態で表示する。
【０１４６】
また、調表示フラグが設定されていれば（ステップＤ５１のＹｅｓ）、ＣＰＵ１１は、図６に示した小節データ１３ｄに基づいて現在再生中の小節の調を判断し、鍵盤カーソル３４にその調の表示を行う（ステップＤ５２，Ｄ５３）。さらに、その先行表示フラグが設定されていれば（ステップＤ５４のＹｅｓ）、ＣＰＵ１１は、上記小節データ１３ｄから次の小節の調を判断し、鍵盤カーソル３４にその次の小節の調を先行表示する（ステップＤ５５，Ｄ５６）。
【０１４７】
具体的には、図１４に示したように、鍵盤カーソル３４の下段に、現在再生中の小節の調に対応する位置に白鍵と黒鍵を表わす矩形マーク４３，４４，４５を表示する。さらに、鍵盤カーソル３４の上段に、次の小節の調に対応する位置に同様の矩形マーク４６，４７，４８を矩形マーク４３，４４，４５とは別の表示形態で表示する。
【０１４８】
以上のように本実施形態によれば、ピアノロール３７上の各音に対応させて鍵盤の絵柄を有する鍵盤カーソル３４が表示され、曲データの再生に同期して移動する。したがって、この鍵盤カーソル３４の位置を基準に押鍵入力すれば、ピアノロール３７の譜面と鍵盤カーソル３４の鍵盤との位置関係を把握しながら、実際の楽譜を用いた演奏に近いプロセスで練習を行うことができる。
【０１４９】
さらに、カーソル表示モードの設定により、鍵盤カーソル３４の中に現在再生中の小節の調に対応した基準音マーク４１を表示するなど、演奏サポート用のマークを任意選択的に表示することができる。したがって、演奏に不慣れなユーザでも、これらのマークを見ることで、現在の基準音の位置などを把握して正しく演奏することができる。
【０１５０】
なお、上記実施形態では、各種モードで先行表示を行う場合に、先行表示用のマークを現在のマークと同じタイミングで鍵盤カーソル３４に表示していたが、例えば先行表示用のマークについては、切り替えを必要とする少し前に現在表示中のマークに代えて徐々に表示することでも良い。
【０１５１】
例えば、図１４に示した調表示モードであれば、先行表示用の矩形マーク４６，４７，４８については、曲データの進行に伴い、次の調の切替えに近付いたときに現在表示中の矩形マーク４３，４４，４５に代えて徐々に表示する。これにより、鍵盤カーソル３４がマーク表示で煩雑になることを回避できる。また、この際、上記で表示形態を変えるものとして説明している部分、例えば先行表示と現在の表示で表示形態を変えるとしている各種マークについて、同じ表示形態で表示しても差し支えない。例えば表示される位置や鍵盤カーソル３４の表示などから、ユーザは、どれが現在の表示で、どれが先行表示、あるいは過去の表示であるかなどが判るからである。
【０１５２】
また、図１５に示した音量・音高表示モードにおいて、図２２のステップＢ１１の「再生コントロール」の処理でテンポを調整すれば、再生中のお手本の音表示（中段の円マーク５２）と入力の音表示（下段の円マーク５１）をスローモーション状態で確かめながら練習することができるといった利点がある。
【０１５３】
また、上記実施形態では、曲データの再生時にお手本データの音とユーザの押鍵入力した音の両方が発生するものとして説明したが、お手本データの音は発生させずに、上記図１５に示したように、そのお手本データの音の位置を表わす円マーク５２の表示のみを行うようにしても良い。
【０１５４】
また、お手本データの音とユーザの押鍵入力した音の両方を発生する場合には、例えばお手本データの音はストリングの音で発生し、ユーザが入力した音はピアノの音で発生するなど音色を変えて発生することが好ましい。
【０１５５】
また、上記で説明した図９や図１９の表示については、必ずしもこの表示形態に限られない。例えば、横スクロールのピアノロール画面を用いても良い。また、図９、図１０の表示では、鍵盤カーソル３４がピアノロールを一部隠して表示しても良いし、例えば半透過で下のピアノロールが透けるように表示しても良い。さらに、鍵盤カーソル３４がピアノロールを全く隠さず、鍵盤カーソル３４の上辺と下辺でピアノロール表示が連続であるように表示することとしても良い。
【０１５６】
要するに、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１５７】
さらに、上述した実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレシキブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで各種装置に適用したり、通信媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【０１５８】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］
読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示するピアノロール表示手段と、
このピアノロール表示手段によって表示された上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させるカーソル表示手段と、
を具備したことを特徴とする曲データ表示装置。
【０１５９】
［２］
上記カーソル表示手段は、
上記曲データの再生時に上記カーソルと対応する位置に、上記曲データの演奏をサポートするための表示処理を施すことを特徴とする請求項［１］記載の曲データ表示装置。
【０１６０】
［３］
上記カーソルの表示に応じて演奏者に押鍵入力させる演奏入力手段をさらに有し、
上記カーソル表示手段は、
上記カーソルに対応する位置に、上記演奏入力手段により演奏者が入力した音に応じた入力音を表わす第１のマークと、上記曲データから得られるお手本の音を表わす第２のマークとを対比させて表示することを特徴とする請求項［１］または［２］記載の曲データ表示装置。
【０１６１】
［４］
上記カーソル表示手段は、
上記曲データの現在の調に基づいて、上記カーソルに対応する位置に、現在再生中の小節の調に対応した白鍵と黒鍵を表わすマークを表示するとともに、上記曲データの現在の次の小節の調に基づいて、上記カーソルに対応する位置に、現在再生中の次の小節の調に対応した白鍵と黒鍵を表わすマークを表示することを特徴とする請求項［１］から［３］のいずれかに記載の曲データ表示装置。
【０１６２】
［５］
上記カーソル表示手段は、
上記カーソルに対応する位置に、現在再生中の小節に対する左右パートの境界線を表示するとともに、現在再生中の次の小節に対する左右パートの境界線を表示することを特徴とする請求項［１］から［４］のいずれかに記載の曲データ表示装置。
【０１６３】
［６］
上記カーソル表示手段は、
上記カーソルに対応する位置に、現在再生中の小節の各音に対応する運指番号を表示するとともに、現在再生中の次の小節の各音に対応する運指番号を表示することを特徴とする請求項［１］から［５］のいずれかに記載の曲データ表示装置。
【０１６４】
［７］
上記カーソル表示手段は、
上記曲データの現在の調に基づいて、上記カーソルの中の現在再生中の小節の調に対応した移動ドの位置、若しくは、予め定められた鍵盤の基準位置を示す、所定のマークを表示することを特徴とする請求項［１］から［６］のいずれかに記載の曲データ表示装置。
【０１６５】
［８］
上記カーソル表示手段は、
上記カーソルに対応する位置に、現在再生中の次の小節のお手本の音を表わす第３のマークを表示することを特徴とする請求項［３］に記載の曲データ表示装置。
【０１６６】
［９］
上記カーソル表示手段は、
上記第１のマークおよび上記第２のマークに上記演奏者の入力音の音量と上記お手本の音の音量とを反映させて表示するとともに、上記第３のマークに、上記お手本の音の音量と、予め設定された基準音量とを反映させて表示することを特徴とする請求項［８］記載の曲データ表示装置。
【０１６７】
［１０］
カーソル表示モードを設定するモード設定手段をさらに備え、
上記カーソル表示手段は、上記曲データの再生時に上記ピアノロール画面上に、上記モード設定手段によって設定されたカーソル表示モードに応じた、上記曲データの演奏をサポートするための表示処理を施すことを特徴とする請求項［１］から［９］のいずれかに記載の曲データ表示装置。
【０１６８】
［１１］
曲データ表示装置が実行する曲データ表示方法であって、
該曲データ表示装置が、
読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示するステップと、
上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させるステップと
を実行することを特徴とする曲データ表示方法。
【０１６９】
［１２］
コンピュータによって実行される演奏指示のためのプログラムであって、
上記コンピュータに、
読み込まれた曲データに基づき該曲データを構成する各音を表すピアノロール画面を生成して表示部に表示する機能と、
上記ピアノロール画面上の各位置の音高に対応させた画像を有するカーソルを表示すると共に、上記曲データの再生に同期させて上記カーソルを現在の再生位置と対応する位置に移動させて表示させる機能と
を実現させることを特徴とするプログラム。
【符号の説明】
【０１７０】
１０…ＰＣ、１１…ＣＰＵ、１１ａ…曲データ読込み部、１１ｂ…小節データ管理部、１１ｃ…ピアノロール表示処理部、１１ｄ…カーソル表示処理部、１１ｅ…モード設定部、１１ｆ…演奏入力処理部、１２…ＲＯＭ、１３…ＲＡＭ、１３ａ…お手本ピアノロールデータ、１３ｂ…入力ピアノロールデータ、１３ｃ…一時保存入力ピアノロールデータ、１３ｄ…小節データ、１３ｅ…入力音符データ、１４…入力部、１５…表示部、１６…ＭＩＤＩインタフェース、１７…発音部、２０…電子楽器、２１…鍵盤、３０…演奏練習画面、３１…鍵盤画像、３２…ピアノロール表示エリア、３２ａ〜３２ｄ…小節区分エリア、３３…縦バーカーソル、３４…鍵盤カーソル、３５…押鍵指示マーク、３６…押鍵指示マーク、３７…ピアノロール、３８…入力マーク、３９…音長バー、４１…基準音マーク、４２…基準位置マーク、４３，４４，４５…現在の調に対応した黒鍵と白鍵の矩形マーク、４６，４７，４８…次の調に対応した黒鍵と白鍵の矩形マーク、５１…入力音の円マーク、５２…お手本の音の円マーク、５３，５４…次の小節のお手本の音の円マーク、５５…基準音の音量マーク、５６…入力音の音量マーク、５８…お手本の音の音量マーク、６１…運指番号、６２，６３…次の小節の運指番号、７１…左右パートの境界線、７２…次の小節の左右パート境界線。
【図１】
2015060207.tif 000003
【図２】
2015060207.tif 000004
【図３】
2015060207.tif 000005
【図４】
2015060207.tif 000006
【図５】
2015060207.tif 000007
【図６】
2015060207.tif 000008
【図７】
2015060207.tif 000009
【図８】
2015060207.tif 000010
【図９】
2015060207.tif 000011
【図１０】
2015060207.tif 000012
【図１１】
2015060207.tif 000013
【図１２】
2015060207.tif 000014
【図１３】
2015060207.tif 000015
【図１４】
2015060207.tif 000016
【図１５】
2015060207.tif 000017
【図１６】
2015060207.tif 000018
【図１７】
2015060207.tif 000019
【図１８】
2015060207.tif 000020
【図１９】
2015060207.tif 000021
【図２０】
2015060207.tif 000022
【図２１】
2015060207.tif 000023
【図２２】
2015060207.tif 000024
【図２３】
2015060207.tif 000025
【図２４】
2015060207.tif 000026
【図２５】
2015060207.tif 000027
【図２６】
2015060207.tif 000028