"演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶する画像記憶手段と、曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得手段と、前記取得手段により取得される複数の評価結果に各々対応するキャラクタ画像を前記画像記憶手段から読み出す画像読み出し手段と、予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出し手段によって読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御手段とを具備することを特徴とする演奏練習装置。前記取得手段は、複数の評価結果として、少なくとも左手演奏ミス率、右手演奏ミス率および練習回数を取得することを特徴とする請求項1記載の演奏練習装置。前記表示制御手段は、表示画面上で左手演奏ミス率に割り当てられた表示範囲において、左手演奏ミス率に相当する数の第1のキャラクタ画像をランダムな位置に表示する第1の表示制御手段と、表示画面上で右手演奏ミス率に割り当てられた表示範囲において、右手演奏ミス率に相当する数の第2のキャラクタ画像をランダムな位置に表示する第2の表示制御手段と、表示画面上で練習回数に割り当てられ、当該練習回数に応じて可変設定される表示範囲において、所定数の第3のキャラクタ画像をランダムな位置に表示する第3の表示制御手段とを具備することを特徴とする請求項1記載の演奏練習装置。コンピュータに、曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得ステップと、演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶しておき、前記取得ステップにて取得された複数の評価結果に各々対応するキャラクタ画像を読み出す画像読み出しステップと、予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出しステップにて読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御ステップとを実行させることを特徴とするプログラム。ところで、上記特許文献1に開示の装置では、単に演奏練習の評価結果を画面表示するだけなので、ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現することが出来ないという問題がある。本発明は、このような事情に鑑みてなされたもので、ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現することができる演奏練習装置およびプログラムを提供することを目的としている。上記目的を達成するため、請求項1に記載の発明では、演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶する画像記憶手段と、曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得手段と、前記取得手段により取得される複数の評価結果に各々対応するキャラクタ画像を前記画像記憶手段から読み出す画像読み出し手段と、予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出し手段によって読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御手段とを具備することを特徴とする。本発明では、ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現することができる。以下、図面を参照して本発明の実施形態について説明する。A.構成図1は、実施の一形態による演奏練習装置100の構成を示すブロック図である。この図において、鍵盤10は押離鍵操作に応じたキーオン/キーオフ信号、ノートナンバおよびベロシティ等の演奏情報を発生する。押鍵ガイド部11は、鍵盤10の各鍵毎に配設されるLED発光素子と、これらLEDを点灯駆動するドライバ不図示とから構成され、CPU13から供給される制御信号に従って指定される鍵のLEDを点灯/消灯して弾くべき鍵と押鍵のタイミングとをユーザにガイドする。操作部12は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。操作部12に配設される主要なスイッチとしては、例えば装置電源をパワーオン/パワーオフさせる電源スイッチの他、楽器動作をオンオフさせる楽器スイッチ、演奏練習の開始/停止を指示するスタート/ストップスイッチ等を備える。CPU13は、操作部12が発生する各種スイッチイベントに応じて装置各部を制御する。本発明の要旨に係わるCPU13の処理動作については追って詳述する。ROM14は、プログラムエリアおよびデータエリアを備える。ROM14のプログラムエリアには、CPU13にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、楽器初期処理、スクリーンセーバー初期処理、楽器処理およびスクリーンセーバー処理を含む。なお、スクリーンセーバー初期処理は、FISHA初期処理、FISHB初期処理およびFISHC初期処理から構成される。楽器処理は、スイッチ処理、自動演奏処理および鍵盤処理から構成される。スクリーンセーバー処理は、FISHA処理、FISHB処理およびFISHC処理から構成される。ROM14のデータエリアには、図2に図示するように、曲データMD、FISHA画像、FISHB画像およびFISHC画像が記憶される。曲データMDは、演奏練習する曲を構成する各音を表すデータであり、タイムTIMEとイベントEVENTとが組となって曲進行に対応した時系列のアドレス順に記憶される、いわゆる相対時間方式と呼ばれるデータ形式で表現される。タイムTIMEは、前イベントからの経過時間で次イベントのタイミングを表す。イベントEVENTは、発音すべき音高を表すノートナンバおよび発音音量から構成されるノートオンイベント又は消音すべき音高を表すノートナンバから構成されるノートオフイベントの何れかを含む。ROM14のデータエリアに記憶されるFISHA~FISHCの各画像は、楽器動作がオフ状態の時に起動されるスクリーンセーバーに用いられる画像である。本実施形態では、表示部16の表示画面を水槽に見立て、例えば図3a~図3cに図示する一例の各種熱帯魚の画像FISHA~FISHCの各画像をスクリーンセーバー動作で画面表示させる。スクリーンセーバー動作では、後述するように、水槽表示画面中のどのエリアにどの熱帯魚が何匹表示されているかで演奏練習の評価結果を表現するゲーム的な面白味を持たせている。RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に用いられる各種レジスタフラグデータが一時記憶される。RAM15のデータエリアには、図4に図示するFISHA用座標データ、FISHB用座標データおよびFISHC用座標データが格納される。FISHA用座標データは、図5に図示する表示画面座標系において、表示範囲0≦x1n≦X1、0≦y1n≦Y2において定義されるN1個分の座標位置から構成される。FISHB用座標データは、表示範囲X1≦x2n≦X2、0≦y2n≦Y2において定義されるN2個分の座標位置から構成される。FISHC用座標データは、表示範囲0≦x3n≦X3、0≦y3n≦Y3において定義されるN個分の座標位置から構成される。座標位置は対応する画像FISHA~FISHCの各画像の表示位置を指定する。例えば図3に図示したFISHA~FISHCの各画像がn行×m列の矩形画素領域から形成される場合、左上頂点の画素0,0が座標位置x,yに対応する。再び図1を参照して実施形態の構成について説明を進める。図1において、表示部16は、LCDパネル等から構成され、CPU13から供給される表示制御信号に応じて各種設定状態を表示したり、後述する表示態様でスクリーンセーバーを表示したりする。音源17は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源17は、各種音色の波形データを記憶しており、これらの内、CPU13から供給される楽音パラメータに応じた波形データを読み出して楽音出力を発生する。サウンドシステム18は、音源17の楽音出力をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。B.動作次に、図6~図20を参照して上記構成による実施形態の動作を説明する。以下では、最初に全体動作を示すメインルーチンの動作を説明し、続いてメインルーチンからコールされる各処理楽器初期処理、スクリーンセーバー初期処理、楽器処理およびスクリーンセーバー処理の動作について述べる。なお、スクリーンセーバー初期処理は、FISHA初期処理、FISHB初期処理およびFISHC初期処理を含む。また、楽器処理はスイッチ処理、自動演奏処理および鍵盤処理を含む。さらに、スクリーンセーバー処理は、FISHA処理、FISHB処理およびFISHC処理を含む。1メインルーチンの動作演奏練習装置100がパワーオンされると、CPU13は図6に図示するメインルーチンを実行してステップSA1に処理を進め、RAM15のワークエリアに格納される各種レジスタやフラグデータをゼロリセット又は初期値セットする他、音源17に対して初期化を指示するイニシャライズを行う。そして、イニシャライズが完了すると、CPU13は、ステップSA2に進み、楽器スイッチのオン操作の有無を判断する。楽器スイッチがオン操作されると、上記ステップSA2の判断結果はYESになり、ステップSA3に進み、オンフラグONFを反転する。続いて、ステップSA4では、反転されたオンフラグONFのフラグ値が1であるか否かを判断する。反転されたオンフラグONFのフラグ値が1であると、判断結果はYESとなり、ステップSA5を介して楽器初期処理を実行する。楽器初期処理では、後述するように、練習回数Mを初期値1にセットすると共に、右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットする。一方、反転されたオンフラグONFのフラグ値が0ならば、上記ステップSA4の判断結果はNOとなり、ステップSA6を介してスクリーンセーバー初期処理を実行する。スクリーンセーバー初期処理では、後述するように、左手演奏ミス率N1に相当する数のFISHA用座標データを、FISHA画像の表示範囲0≦x1n≦X1、0≦y1n≦Y2の中でランダムに生成し、生成した各FISHA用座標データをRAM15のデータエリアに登録すると共に、生成されたFISHA用座標データで表される各表示位置にFISHA画像を画面表示させる。また、スクリーンセーバー初期処理では、右手演奏ミス率N2に相当する数のFISHB用座標データを、FISHB画像の表示範囲X1≦x2n≦X2、0≦y2n≦Y2の中でランダムに生成し、生成した各FISHB用座標データをRAM15のデータエリアに登録すると共に、生成されたFISHB用座標データで表される各表示位置にFISHB画像を画面表示させる。さらに、所定値N分のFISHC用座標データを、練習回数Mに応じて変化するFISHC画像の表示範囲0≦x3n≦X3、0≦y3n≦Y3の中でランダムに生成し、生成した各FISHC用座標データをRAM15のデータエリアに登録すると共に、生成されたFISHC用座標データで表される各表示位置にFISHC画像を画面表示させる。さて、ステップSA5の楽器初期処理もしくはステップSA6のスクリーンセーバー初期処理の実行後、上述したステップSA2に処理を戻し、楽器スイッチがオン操作されなければ、当該ステップSA2の判断結果はNOになり、ステップSA7に進む。ステップSA7では、オンフラグONFが1であるか否かを判断する。オンフラグONFが1ならば、判断結果はYESになり、ステップSA8を介して楽器処理を実行する。楽器処理では、後述するように、スタート/ストップスイッチのオン操作により演奏練習を開始スタートフラグSTFが1させると、曲データMDに基づき鍵のLEDを点灯させてユーザに弾くべき鍵をガイドする一方、そのガイドに伴うユーザの演奏操作押離鍵操作に応じた楽音を発音/消音させると共に、左鍵域および右鍵域毎に適正な押鍵が為されたかどうかを判断する演奏評価を施し、適正な押鍵タイミング期間を失したり間違った鍵を押鍵した場合に、左手演奏ミス回数MISSL又は右手演奏ミス回数MISSRをカウントする。これに対し、オンフラグONFが1でなければ、上記ステップSA7の判断結果はNOになり、ステップSA9を介してセクリーンセーバー処理を実行する。セクリーンセーバー処理では、後述するように、表示範囲0≦x1nΔx≦X1、0≦y1nΔy≦Y2の中で表示座標位置をランダムに変化させた左手演奏ミス率N1に相当する数のFISHA画像と、表示範囲X1≦x2nΔx≦X2、0≦y2nΔy≦Y2の中で表示座標位置をランダムに変化させた右手演奏ミス率N1に相当する数のFISHB画像と、表示範囲0≦x3nΔx≦X3、0≦y3nΔy≦Y3の中で表示座標位置をランダムに変化させた所定値NのFISHC画像とを画面表示させる。2楽器初期処理の動作次に、図7を参照して楽器初期処理の動作を説明する。上述したメインルーチンのステップSA5図6参照を介して本処理が実行されると、CPU13は図7に図示するステップSB1に進み、レジスタMに初期値1をストアする。このレジスタMは曲演奏の練習回数を計数するものである。以下、レジスタMの値を練習回数Mと称す。次いで、ステップSB2では、レジスタMISSR、MISSLをそれぞれゼロリセットする。レジスタMISSRは右手演奏ミスの回数を計数し、レジスタMISSLは左手演奏ミスの回数を計数する。以下、レジスタMISSRの値を右手ミス回数MISSR、レジスタMISSLの値を左手ミス回数MISSLと称する。なお、ここで言う右手演奏とは鍵盤10の右手鍵域における演奏例えばメロディ演奏を指し、左手演奏とは鍵盤10の左手鍵域における演奏例えば伴奏演奏を指す。3スクリーンセーバー初期処理の動作次に、図8を参照してスクリーンセーバー初期処理の動作を説明する。上述したメインルーチンのステップSA6図6参照を介して本処理が実行されると、CPU13は図8に図示するステップSC1に進み、左手ミス回数MISSLを練習回数Mで除算した値に100を乗算して得られる左手演奏ミス率値を、レジスタN1にストアする。以下、レジスタN1の値を左手演奏ミス率N1と称す。なお、左手演奏ミス率N1は、後述するように、画面に表示するFISHA画像の数に割り当てられる。続いて、ステップSC2では、右手ミス回数MISSRを練習回数Mで除算した値に100を乗算して得られる右手演奏ミス率値を、レジスタN2にストアする。以下、レジスタN2の値を右手演奏ミス率N2と称す。なお、右手演奏ミス率N2は、後述するように、画面に表示するFISHB画像の数に割り当てられる。次いで、ステップSC3では、練習回数Mに応じた関数TXMの値をレジスタX3にストアすると共に、練習回数Mに応じた関数TYMの値をレジスタY3にストアする。レジスタX3、レジスタY3の値は、前述したように、図5に図示する表示画面座標系におけるFISHC画像の表示範囲を規定する。したがって、例えば関数TXM、関数TYMが一次関数であれば、練習回数Mに応じてFISHC画像の表示範囲が拡大する。そして、ステップSC4では、FISHA画像の表示範囲0≦x1n≦X1、0≦y1n≦Y2で発生させた乱数x1n、y1nをFISHA用座標データx1n、y1nとしてRAM15のデータエリアに登録すると共に、そのFISHA用座標データx1n、y1nで表される表示位置にFISHA画像を画面表示させる動作を行う毎に、FISHA用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが左手演奏ミス率N1以上になるまで上記動作を繰り返すFISHA初期処理を実行する。ステップSC5では、FISHB画像の表示範囲X1≦x2n≦X2、0≦y2n≦Y2で発生させた乱数x2n、y2nをFISHB用座標データx2n、y2nとしてRAM15のデータエリアに登録すると共に、そのFISHB用座標データx2n、y2nで表される表示位置にFISHB画像を画面表示させる動作を行う毎に、FISHB用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが右手演奏ミス率N2以上になるまで上記動作を繰り返すFISHB初期処理を実行する。ステップSC6では、FISHC画像の表示範囲0≦x3n≦X3、0≦y3n≦Y3で発生させた乱数x3n、y3nをFISHC用座標データx3n、y3nとしてRAM15のデータエリアに登録すると共に、そのFISHB用座標データx3n、y3nで表される表示位置にFISHC画像を画面表示させる動作を行う毎に、FISHC用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが所定値N以上になるまで上記動作を繰り返すFISHC初期処理を実行した後、本処理スクリーンセーバー初期処理を終える。このように、スクリーンセーバー初期処理では、左手演奏ミス率N1に相当する数のFISHA用座標データを、FISHA画像の表示範囲0≦x1n≦X1、0≦y1n≦Y2の中でランダムに生成し、生成した各FISHA用座標データをRAM15のデータエリアに登録すると共に、生成されたFISHA用座標データで表される各表示位置にFISHA画像を画面表示させる。また、右手演奏ミス率N2に相当する数のFISHB用座標データを、FISHB画像の表示範囲X1≦x2n≦X2、0≦y2n≦Y2の中でランダムに生成し、生成した各FISHA用座標データをRAM15のデータエリアに登録すると共に、生成されたFISHA用座標データで表される各表示位置にFISHA画像を画面表示させる。さらに、所定値N分のFISHC用座標データを、練習回数Mに応じて変化するFISHC画像の表示範囲0≦x3n≦X3、0≦y3n≦Y3の中でランダムに生成し、生成した各FISHC用座標データをRAM15のデータエリアに登録すると共に、生成されたFISHC用座標データで表される各表示位置にFISHAC画像を画面表示させる。4FISHA初期処理の動作次に、図9を参照してFISHA初期処理の動作を説明する。上述したスクリーンセーバー初期処理のステップSC4図8参照を介して本処理が実行されると、CPU13は図9に図示するステップSD1に進み、ポインタnをゼロリセットし、続くステップSD2では、FISHA画像の表示範囲0≦x1n≦X1、0≦y1n≦Y2に収まる乱数x1n、y1nを発生させ、これをポインタnで指定されるFISHA用座標データx1n、y1nとしてRAM15のデータエリア図4参照にストアする。次いで、ステップSD3では、ポインタnで指定されるFISHA用座標データx1n、y1nで表される座標位置に、ROM14から読み出したFISHA画像を画面表示する。この後、ステップSD4に進み、ポインタnをインクリメントして歩進させ、続くステップSD5では、歩進されたポインタnの値が左手演奏ミス率N1以上であるか否かを判断する。歩進されたポインタnの値が左手演奏ミス率N1未満であれば、判断結果はNOになり、上述のステップSD2に処理を戻す。以後、歩進されたポインタnが左手演奏ミス率N1以上になる迄、発生した乱数x1n、y1nをFISHA用座標データx1n、y1nとしてRAM15のデータエリアに登録すると共に、その登録したFISHA用座標データx1n、y1nで表される座標位置にFISHA画像を画面表示する、上記ステップSD2~SD5の処理を繰り返す。そして、歩進されたポインタnの値が左手演奏ミス率N1以上になると、上記ステップSD5の判断結果がYESとなり、本処理を終える。なお、左手演奏ミス率N1が0、つまり演奏練習が行われていない初期状態の場合には、最初に発生させた乱数x10、y10をFISHA用座標データx10、y10としてRAM15のデータエリアに登録すると共に、その登録したFISHA用座標データx10、y10で表される座標位置に一匹分のFISHA画像を画面表示して本処理を終える。このように、FISHA初期処理では、FISHA画像の表示範囲0≦x1n≦X1、0≦y1n≦Y2で発生させた乱数x1n、y1nをFISHA用座標データx1n、y1nとしてRAM15のデータエリアに登録すると共に、そのFISHA用座標データx1n、y1nで表される座標位置にFISHA画像を画面表示させる動作を行う毎に、FISHA用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが左手演奏ミス率N1以上になるまで上記動作を繰り返す。5FISHB初期処理の動作次に、図10を参照してFISHB初期処理の動作を説明する。前述したスクリーンセーバー初期処理のステップSC5図8参照を介して本処理が実行されると、CPU13は図10に図示するステップSE1に進み、ポインタnをゼロリセットする。次いで、ステップSE2では、FISHB画像の表示範囲X1≦x2n≦X2、0≦y2n≦Y2で発生させた乱数x2n、y2nをFISHB用座標データx2n、y2nとしてRAM15のデータエリアに登録する。そして、ステップSE3では、FISHB用座標データx2n、y2nで表される座標位置にFISHB画像を画面表示させ、続くステップSE4では、FISHB用座標データを指定するポインタnをインクリメントして歩進させる。ステップSE5では、歩進されたポインタnの値が右手演奏ミス率N1以上であるか否かを判断する。歩進されたポインタnの値が右手演奏ミス率N2未満であれば、判断結果はNOになり、上述のステップSE2に処理を戻す。以後、歩進されたポインタnが右手演奏ミス率N2以上になる迄、発生した乱数x2n、y2nをFISHB用座標データx2n、y2nとしてRAM15のデータエリアに登録すると共に、そのFISHB用座標データx2n、y2nで表される座標位置にFISHB画像を画面表示する、上記ステップSE2~SE5の処理を繰り返す。そして、歩進されたポインタnの値が右手演奏ミス率N2以上になると、上記ステップSE5の判断結果がYESとなり、本処理を終える。なお、右手演奏ミス率N2が0、つまり演奏練習が行われていない初期状態の場合には、最初に発生させた乱数x20、y20をFISHB用座標データx20、y20としてRAM15のデータエリアに登録すると共に、そのFISHB用座標データx20、y20で表される座標位置にFISHB画像を画面表示して本処理を終える。このように、FISHB初期処理では、FISHB画像の表示範囲X1≦x2n≦X2、0≦y2n≦Y2で発生させた乱数x2n、y2nをFISHB用座標データx2n、y2nとしてRAM15のデータエリアに登録すると共に、そのFISHB用座標データx2n、y2nで表される座標位置にFISHB画像を画面表示させる動作を行う毎に、FISHB用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが右手演奏ミス率N2以上になるまで上記動作を繰り返す。6FISHC初期処理の動作次に、図11を参照してFISHC初期処理の動作を説明する。前述したスクリーンセーバー初期処理のステップSC6図8参照を介して本処理が実行されると、CPU13は図11に図示するステップSF1に進み、ポインタnをゼロリセットする。次いで、ステップSF2では、FISHC画像の表示範囲0≦x3n≦X3、0≦y3n≦Y3で発生させた乱数x3n、y3nをFISHC用座標データx3n、y3nとしてRAM15のデータエリアに登録する。そして、ステップSF3では、FISHC用座標データx3n、y3nで表される座標位置にFISHC画像を画面表示させ、続くステップSF4では、FISHC用座標データを指定するポインタnをインクリメントして歩進させる。ステップSF5では、歩進されたポインタnの値が所定値N以上であるか否かを判断する。歩進されたポインタnの値が所定値N未満であれば、判断結果はNOになり、上述のステップSF2に処理を戻す。以後、歩進されたポインタnが所定値N以上になる迄、発生した乱数x3n、y3nをFISHC用座標データx3n、y3nとしてRAM15のデータエリアに登録すると共に、そのFISHC用座標データx3n、y3nで表される座標位置にFISHC画像を画面表示する、上記ステップSF2~SF5の処理を繰り返す。そして、歩進されたポインタnの値が所定値N以上になると、上記ステップSF5の判断結果がYESとなり、本処理を終える。このように、FISHC初期処理では、FISHC画像の表示範囲0≦x3n≦X3、0≦y3n≦Y3で発生させた乱数x3n、y3nをFISHC用座標データx3n、y3nとしてRAM15のデータエリアに登録すると共に、そのFISHC用座標データx3n、y3nで表される座標位置にFISHC画像を画面表示させる動作を行う毎に、FISHC用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが所定値N以上になるまで上記動作を繰り返す。7楽器処理の動作次に、図12を参照して楽器処理の動作を説明する。前述したメインルーチンのステップSA8図6参照を介して本処理が実行されると、CPU13は図12に図示するステップSG1に進み、スイッチ処理を実行する。スイッチ処理では、後述するように、スタート/ストップスイッチのオン操作により演奏練習を開始すると、曲データMDの先頭アドレスを読み出しアドレスADとし、これに応じて曲データMDから読み出される先頭のタイムTIMEをレジスタtにストアすると共に、タイマT2をスタートさせる。一方、スタート/ストップスイッチのオン操作により演奏練習の停止すると、押鍵ガイド部11に点灯中のLEDを消灯するよう指示した後、タイマT2を停止させる。続いて、ステップSG2では、自動演奏処理を実行する。自動演奏処理では、後述するように、最小単位時間ティックが経過する毎に、レジスタtの値タイムTIMEをデクリメントし、デクリメントされたレジスタtの値タイムTIMEが0以下のイベントタイミングに達すると、曲データMDの読み出しアドレスADを歩進させ、歩進された読み出しアドレスADに応じて読み出されるイベントEVENTが発音を指示するノートオンイベントであると、当該ノートオンイベント中のノートナンバに対応する鍵に配設されるLEDの点灯を押鍵ガイド部11に指示して弾くべき鍵をガイドすると同時にタイマT2を停止させる。一方、歩進された読み出しアドレスADに応じて、次イベントタイミングを表すタイムTIMEが読み出されると、当該タイムTIMEをレジスタtにストアして本処理を一旦終える。なお、歩進された読み出しアドレスADが曲データMDの最終アドレスを超えた場合には、読み出しアドレスADを曲データMDの先頭アドレスに戻し、さらに右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットすると共に、練習回数Mをインクリメントして歩進させる。次いで、ステップSG3では、押離鍵操作に応じて楽音を発音/消音させる一方、鍵盤10の左鍵域および右鍵域毎に適正な押鍵が為されたかどうかを判断し、適正な押鍵タイミング期間を失した場合や間違った鍵を押鍵した場合に、左手演奏ミス回数MISSL又は右手演奏ミス回数MISSRを歩進させる鍵盤処理を実行する。この後、ステップSG4に進み、例えばユーザ操作に応じて発生楽音の音色を変更したり、効果付与する等の、その他の処理を実行した後に本処理を終える。8スイッチ処理の動作次に、図13を参照してスイッチ処理の動作を説明する。上述した楽器処理のステップSG1図12参照を介して本処理が実行されると、CPU13は図13に図示するステップSH1に進み、演奏練習の開始/停止を指示するスタート/ストップスイッチのオン操作の有無を判断する。スタート/ストップスイッチがオン操作されなければ、判断結果はNOになり、本処理を終えるが、スタート/ストップスイッチがオン操作されると、上記ステップSH1の判断結果はYESになり、ステップSH2に進み、スタートフラグSTFを反転する。スタートフラグSTFは、フラグ値1の場合に演奏練習の開始を表し、フラグ値0の場合に演奏練習の停止を表す。また、スタート/ストップスイッチは所謂トグル動作するスイッチであり、オン操作に応じて演奏練習の開始/停止を交互に指示する。次いで、ステップSH3では、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが1であるか否かを判断する。反転されたスタートフラグSTFが0演奏練習の停止ならば、判断結果はNOになり、ステップSH4に進み、点灯中のLEDを消灯するよう押鍵ガイド部11に指示し、続くステップSH5では、タイマT2を停止させて本処理を終える。一方、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが1演奏練習の開始であると、上記ステップSH3の判断結果がYESになり、ステップSH6に進み、ROM14のデータエリアに格納される曲データMDのアドレス初期値先頭アドレスを読み出しアドレスADにセットし、続くステップSH7では、読み出しアドレスADに応じて曲データMDから読み出される先頭のタイムTIMEをレジスタtにストアする。そして、ステップSH8では、タイマT2をスタートさせて本処理を終える。このように、スイッチ処理では、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが1となり、演奏練習の開始を表すと、曲データMDのアドレス初期値先頭アドレスを読み出しアドレスADにセットし、この読み出しアドレスADに応じて曲データMDから読み出される先頭のタイムTIMEをレジスタtにストアすると共に、タイマT2をスタートさせる。一方、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが0となり、演奏練習の停止を表すと、押鍵ガイド部11に点灯中のLEDを消灯するよう指示した後、タイマT2を停止させる。9自動演奏処理の動作次に、図14を参照して自動演奏処理の動作を説明する。上述した楽器処理のステップSG2図12参照を介して本処理が実行されると、CPU13は図14に図示するステップSJ1に進み、スタートフラグSTFが1演奏練習の開始であるかどうかを判断する。スタートフラグSTFが0演奏練習の停止ならば、判断結果はNOになり、本処理を終えるが、スタートフラグSTFが1であると、判断結果はYESになり、ステップSJ2に進み、最小単位時間ティックが経過したか否かを判断する。最小単位時間が経過していなければ、判断結果はNOとなり、本処理を終えるが、最小単位時間が経過していると、判断結果はYESになり、ステップSJ3に進み、レジスタtの値タイムTIMEをデクリメントする。そして、ステップSJ4では、デクリメントされたレジスタtの値タイムTIMEが0以下、すなわちイベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、上記ステップSJ4の判断結果はNOになり、本処理を終える。一方、デクリメントされたレジスタtの値タイムTIMEが0以下となり、イベントタイミングに達すると、上記ステップSJ4の判断結果はYESになり、ステップSJ5に進み、曲データMDの読み出しアドレスADを歩進させる。そして、ステップSJ6では、歩進された読み出しアドレスADが曲データMDの最終アドレス以下であるか否かを判断する。歩進された読み出しアドレスADが曲データMDの最終アドレスを超えたならば、判断結果はNOになり、ステップSJ7に進み、読み出しアドレスADを曲データMDの先頭アドレスに戻す。そして、ステップSJ8に進み、右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットし、続くステップSJ9では、練習回数Mをインクリメントして歩進させた後、ステップSJ10に処理を進める。これに対し、歩進された読み出しアドレスADが曲データMDの最終アドレス以下であると、上記ステップSJ6の判断結果はYESになり、ステップSJ10に進む。ステップSJ10では、歩進された読み出しアドレスADに応じて読み出される曲データMDがタイムTIME又はイベントEVENTの何れであるかを判別する。読み出された曲データMDがイベントEVENTならば、ステップSJ11に進み、当該イベントEVENTに含まれるノートナンバをレジスタNOTEにストアする。続いて、ステップSJ12では、イベントEVENTが発音を指示するノートオンイベントであると、レジスタNOTEに格納されたノートナンバに対応する鍵に配設されるLEDを点灯するよう押鍵ガイド部11に指示する。この後、ステップSJ13に進み、タイマT2を停止させた後、上述のステップSJ5に処理を戻す。一方、読み出された曲データMDが次イベントタイミングを表すタイムTIMEであれば、ステップSJ14に進み、そのタイムTIMEをレジスタtにストアして本処理を終える。このように、自動演奏処理では、最小単位時間ティックが経過する毎に、レジスタtの値タイムTIMEをデクリメントし、デクリメントされたレジスタtの値タイムTIMEが0以下のイベントタイミングに達すると、曲データMDの読み出しアドレスADを歩進させ、歩進された読み出しアドレスADに応じて読み出されるイベントEVENTが発音を指示するノートオンイベントであると、当該ノートオンイベント中のノートナンバに対応する鍵に配設されるLED点灯を押鍵ガイド部11に指示して弾くべき鍵をガイドすると同時にタイマT2を停止させる。一方、歩進された読み出しアドレスADに応じて、次イベントタイミングを表すタイムTIMEが読み出されると、当該タイムTIMEをレジスタtにストアして本処理を一旦終える。なお、歩進された読み出しアドレスADが曲データMDの最終アドレスを超えた場合には、読み出しアドレスADを曲データMDの先頭アドレスに戻し、さらに右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットすると共に、練習回数Mをインクリメントして歩進させる。10鍵盤処理の動作次に、図15~図16を参照して鍵盤処理の動作を説明する。前述した楽器処理のステップSG3図12参照を介して本処理が実行されると、CPU13は図15に図示するステップSK1に進み、鍵盤10の左鍵域の各鍵についてキーオン/キーオフ信号の有無を検出する鍵走査を行い、続くステップSK2では、上記ステップSK1の鍵走査結果に基づき鍵変化を判別する。押離鍵操作が行われず、鍵変化が生じなければ、ステップSK2において鍵変化無しと判別して図16に図示するステップSK11に進む。押鍵操作に応じて発生するキーオン信号を検出した場合には、ステップSK2を介してステップSK3に進み、押鍵に応じて鍵盤10が発生する演奏情報に基づきノートオンイベントを発生して音源17に送出する。これにより、音源17は、押鍵された鍵の音高の楽音をベロシティに従った音量で発音させる。次いで、ステップSK4では、押鍵された鍵のノートナンバをレジスタKEYにストアする。続いて、ステップSK5では、タイマT2が停止中であるか否か、すなわち適正な押鍵タイミング期間であるかどうかを判断する。タイマT2が計時中の、適正な押鍵タイミング期間を失した誤押鍵であると、判断結果がNOになり、ステップSK10に進み、左手演奏ミス回数MISSLをインクリメントして歩進させた後、図16に図示するステップSK11に進む。一方、タイマT2が停止中の、適正な押鍵タイミング期間の押鍵であると、上記ステップSK5の判断結果がYESになり、ステップSK6に進む。ステップSK6では、レジスタKEYの押鍵された鍵のノートナンバと、レジスタNOTEのノートナンバとが一致しているか否か、つまり正しい鍵が押鍵されたかどうかを判断する。間違った鍵を押鍵した場合には、判断結果がNOになり、ステップSK10に進み、左手演奏ミス回数MISSLをインクリメントして歩進させた後、図16に図示するステップSK11に進む。これに対し、正しい鍵が押鍵されたならば、上記ステップSK6の判断結果はYESとなり、ステップSK7に進み、タイマT2をスタートさせ、続くステップSK8では、レジスタNOTEにストアされたノートナンバに対応する鍵に配設されるLEDの消灯を押鍵ガイド部11に指示した後、図16に図示するステップSK11に進む。さて一方、離鍵操作に応じて発生するキーオフ信号を検出した場合には、ステップSK2を介してステップSK9に進み、離鍵に応じて鍵盤10が発生する演奏情報に基づきノートオフイベントを発生して音源17に送出した後、図16に図示するステップSK11に進む。なお、音源17では、ノートオフイベントの受信に応じて、離鍵された鍵の音高の楽音を消音させる。そして、図16に図示するステップSK11に進むと、鍵盤10の右鍵域の各鍵についてキーオン/キーオフ信号の有無を検出する鍵走査を行い、続くステップSK12では、上記ステップSK11の鍵走査結果に基づき鍵変化を判別する。押離鍵操作が行われず、鍵変化が生じなければ、ステップSK12において鍵変化無しと判別して本処理を終える。押鍵操作に応じて発生するキーオン信号を検出した場合には、ステップSK12を介してステップSK13に進み、押鍵に応じて鍵盤10が発生する演奏情報に基づきノートオンイベントを発生して音源17に送出する。これにより、音源17は、押鍵された鍵の音高の楽音をベロシティに従った音量で発音させる。次いで、ステップSK14では、押鍵された鍵のノートナンバをレジスタKEYにストアする。続いて、ステップSK15では、タイマT2が停止中であるか否か、すなわち適正な押鍵タイミング期間であるかどうかを判断する。タイマT2が計時中の、適正な押鍵タイミング期間を失した誤押鍵であると、判断結果がNOになり、ステップSK20に進み、右手演奏ミス回数MISSRをインクリメントして歩進させた後、本処理を終える。一方、タイマT2が停止中の、適正な押鍵タイミング期間における押鍵ならば、上記ステップSK15の判断結果がYESになり、ステップSK16に進む。ステップSK16では、レジスタKEYの押鍵された鍵のノートナンバと、レジスタNOTEのノートナンバとが一致しているか否か、つまり正しい鍵が押鍵されたかどうかを判断する。間違った鍵を押鍵した場合には、判断結果がNOになり、ステップSK20に進み、右手演奏ミス回数MISSRをインクリメントして歩進させた後、本処理を終える。これに対し、正しい鍵が押鍵されたならば、上記ステップSK16の判断結果はYESとなり、ステップSK17に進み、タイマT2をスタートさせ、続くステップSK18では、レジスタNOTEにストアされたノートナンバに対応する鍵に配設されるLEDの消灯を押鍵ガイド部11に指示した後、本処理を終える。さて一方、離鍵操作に応じて発生するキーオフ信号を検出した場合には、ステップSK2を介してステップSK9に進み、離鍵に応じて鍵盤10が発生する演奏情報に基づきノートオフイベントを発生して音源17に送出した後、本処理を終える。なお、音源17では、ノートオフイベントの受信に応じて、離鍵された鍵の音高の楽音を消音させる。以上のように、鍵盤処理では、押離鍵操作に応じて楽音を発音/消音させる一方、鍵盤10の左鍵域および右鍵域毎に適正な押鍵が為されたかどうかを判断し、適正な押鍵タイミング期間を失した場合や間違った鍵を押鍵した場合に左手演奏ミス回数MISSL又は右手演奏ミス回数MISSRを歩進させる。11スクリーンセーバー処理の動作次に、図17~図18を参照してスクリーンセーバー処理の動作を説明する。前述したメインルーチンのステップSA9図6参照を介して本処理が実行されると、CPU13は図17に図示するステップSL1を介してFISHA処理を実行する。FISHA処理が実行されると、CPU13は図18に図示するステップSM1に進む。<FISHA処理の動作>ステップSM1では、ポインタnに初期値0をセットする。なお、ポインタnは、FISHA用座標データを指定する。続いて、ステップSM2では、所定値域の乱数Δx、Δyを発生する。次いで、ステップSM3では、ポインタnで指定されるFISHA用座標データx1nに乱数Δxを加算した値が、FISHA画像のx軸表示範囲0≦x1nΔx≦X1に収まるか否かを判断する。表示範囲外ならば、判断結果はNOになり、後述のステップSM5に進むが、表示範囲内であると、判断結果がYESになり、ステップSM4に進み、FISHA用座標データx1nに乱数Δxを加算してx軸座標データを更新する。次に、ステップSM5では、ポインタnで指定されるFISHA用座標データy1nに乱数Δyを加算した値が、FISHA画像のy軸表示範囲0≦y1nΔy≦Y2に収まるか否かを判断する。表示範囲外ならば、判断結果はNOになり、後述のステップSM7に進むが、表示範囲内であると、判断結果がYESになり、ステップSM6に進み、FISHA用座標データy1nに乱数Δyを加算してy軸座標データを更新する。そして、ステップSM7に進むと、FISHA用座標データx1n,y1nで指定される表示画面座標系上の座標位置にFISHA画像を表示し、続くステップSM8では、ポインタnをインクリメントして歩進させる。次いで、ステップSM9では、歩進されたポインタnが左手演奏ミス率N1を超えたか否かを判断する。歩進されたポインタnが左手演奏ミス率N1を超えなければ、判断結果はNOになり、上述のステップSM2に処理を戻す。以後、歩進されたポインタnが左手演奏ミス率N1を超える迄、上述したステップSM2~SM9を繰り返す。これにより、乱数成分Δx、Δyを加算してもFISHA画像の表示範囲0≦x1nΔx≦X1、0≦y1nΔy≦Y2を逸脱しない場合にはその乱数成分Δx、Δyを加算して更新されたFISHA用座標データx1n、y1nや、乱数成分Δx、Δyの加算によりFISHA画像の表示範囲を逸脱する場合には元のFISHA用座標データx1n、y1nを用いて左手演奏ミス率N1に相当する数のFISHA画像を画面表示させる。そして、歩進されたポインタnが左手演奏ミス率N1を超えると、上記ステップSM9の判断結果がYESになり、本処理を終える。<FISHB処理の動作>FISHA処理が完了すると、CPU13は図17に図示するステップSL2を介して図19に図示するステップSN1~SN9から構成されるFISHB処理を実行する。FISHB処理では、上述したFISHA処理と同様に、歩進されたポインタnが右手演奏ミス率N2を超える迄、ステップSN2~SN9を繰り返す。これにより、乱数成分Δx、Δyを加算してもFISHB画像の表示範囲X1≦x2nΔx≦X2、0≦y2nΔy≦Y2を逸脱しない場合にはその乱数成分Δx、Δyを加算して更新されたFISHB用座標データx2n、y2nや、乱数成分Δx、Δyの加算によりFISHB画像の表示範囲を逸脱する場合には元のFISHB用座標データx2n、y2nを用いて右手演奏ミス率N2に相当する数のFISHB画像を画面表示させる。そして、歩進されたポインタnが右手演奏ミス率N2を超えると、ステップSN9の判断結果がYESになり、本処理を終える。<FISHC処理の動作>FISHB処理が完了すると、CPU13は図17に図示するステップSL3を介して図20に図示するステップSP1~SP9から構成されるFISHC処理を実行する。FISHC処理では、上述したFISHA処理と同様に、歩進されたポインタnが所定値Nを超える迄、ステップSP2~SP9を繰り返す。これにより、乱数成分Δx、Δyを加算してもFISHC画像の表示範囲0≦x3nΔx≦X3、0≦y3nΔy≦Y3を逸脱しない場合にはその乱数成分Δx、Δyを加算して更新されたFISHC用座標データx3n、y3nや、乱数成分Δx、Δyの加算によりFISHC画像の表示範囲を逸脱する場合には元のFISHC用座標データx3n、y3nを用いて所定値N分のFISHC画像を画面表示させる。そして、歩進されたポインタnが所定値Nを超えると、ステップSP9の判断結果がYESになり、本処理を終える。このように、スクリーンセーバー処理では、表示範囲0≦x1nΔx≦X1、0≦y1nΔy≦Y2の中で表示座標位置をランダムに変化させた左手演奏ミス率N1に相当する数のFISHA画像と、表示範囲X1≦x2nΔx≦X2、0≦y2nΔy≦Y2の中で表示座標位置をランダムに変化させた右手演奏ミス率N1に相当する数のFISHB画像と、表示範囲0≦x3nΔx≦X3、0≦y3nΔy≦Y3の中で表示座標位置をランダムに変化させた所定値NのFISHC画像とを画面表示させる。以上のように、本実施形態では、演奏練習の評価結果の種類毎に対応付けた画像FISHA画像、FISHB画像およびFISHC画像を記憶しておき、曲を構成する各音を表す曲データとユーザの演奏操作に応じて発生する演奏データとを比較して複数の評価結果左手演奏ミス率N1、右手演奏ミス率N2および練習回数Mを取得すると、左手演奏ミス率N1に相当する数のFISHA画像を、表示画面上で予め割り当てられた表示範囲中のランダムな位置に表示し、右手演奏ミス率N2に相当する数のFISHB画像を、表示画面上で予め割り当てられた表示範囲中のランダムな位置に表示し、所定数のFISHC画像を、表示画面上で予め割り当てられ、練習回数に応じて可変設定される表示範囲中のランダムな位置に表示するスクリーンセーバー処理によって表示画面を水槽に見立て、その水槽表示画面中のどのエリアにどの熱帯魚が何匹表示されているかで演奏練習の評価結果左手演奏ミス率N1、右手演奏ミス率N2および練習回数Mを表現するので、ゲーム的な面白味を持たせることが出来る。なお、上述した実施形態では、演奏ミス率が増すほど画面表示する画像の数も増える比例関係としたが、これに限らず、演奏ミス率が増すほど画面表示する画像の数を減らすに反比例関係としても構わない。また、練習回数が増えるほどFISHC画像の表示画面上の表示範囲を拡大するようにしたが、これに替えて、表示範囲の面積を一定にしておき、例えば練習回数が少ない時には画面上部、練習回数が増えるに連れて画面下部へ移動する等、練習回数に応じてFISHC画像の表示範囲の位置を変化させる態様とすることも可能である。さらに、本実施形態では、説明の簡略化を図る為、熱帯魚の静止画像を用いたが、これに限らず、泳ぐ動作をする熱帯魚の動画像を用いて実際の水槽中のような雰囲気を表現することも勿論可能である。加えて、本実施形態では、熱帯魚をキャラクタとした画像を用いたが、これに限定されず、例えばユーザ自身の顔画像や似顔絵画像などユーザが選択した画像をキャラクタとして用いる態様にすることも可能である。以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。付記[請求項1]演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶する画像記憶手段と、曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得手段と、前記取得手段により取得される複数の評価結果に各々対応するキャラクタ画像を前記画像記憶手段から読み出す画像読み出し手段と、予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出し手段によって読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御手段とを具備することを特徴とする演奏練習装置。[請求項2]前記取得手段は、複数の評価結果として、少なくとも左手演奏ミス率、右手演奏ミス率および練習回数を取得することを特徴とする請求項1記載の演奏練習装置。[請求項3]前記表示制御手段は、表示画面上で左手演奏ミス率に割り当てられた表示範囲において、左手演奏ミス率に相当する数の第1のキャラクタ画像をランダムな位置に表示する第1の表示制御手段と、表示画面上で右手演奏ミス率に割り当てられた表示範囲において、右手演奏ミス率に相当する数の第2のキャラクタ画像をランダムな位置に表示する第2の表示制御手段と、表示画面上で練習回数に割り当てられ、当該練習回数に応じて可変設定される表示範囲において、所定数の第3のキャラクタ画像をランダムな位置に表示する第3の表示制御手段とを具備することを特徴とする請求項1記載の演奏練習装置。[請求項4]コンピュータに、曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得ステップと、演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶しておき、前記取得ステップにて取得された複数の評価結果に各々対応するキャラクタ画像を読み出す画像読み出しステップと、予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出しステップにて読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御ステップとを実行させることを特徴とするプログラム。"