説明

演奏練習装置およびプログラム

【課題】ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現する演奏練習装置を実現する。
【解決手段】左手演奏ミス率N1に相当する数のFISH A画像を、表示画面上で予め割り当てられた表示範囲中のランダムな位置に表示し、右手演奏ミス率N2に相当する数のFISH B画像を、表示画面上で予め割り当てられた表示範囲中のランダムな位置に表示し、所定数のFISH C画像を、表示画面上で予め割り当てられ、練習回数に応じて可変設定される表示範囲中のランダムな位置に表示するスクリーンセーバー処理(ステップSA9)によって表示画面を水槽に見立て、その水槽(表示画面)中の「どのエリア」に「どの熱帯魚」が「何匹」表示されているかで演奏練習の評価結果(左手演奏ミス率N1、右手演奏ミス率N2および練習回数M)を表現するゲーム的な面白味を持たせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが行った演奏練習の評価結果を、スクリーンセーバー動作で表現する演奏練習装置およびプログラムに関する。
【背景技術】
【0002】
従来より、ユーザの演奏操作を評価する装置が知られている。例えば特許文献1には、曲を構成する各音を表す曲データを再生(自動演奏)させながら、ユーザが当該曲を演奏すると、演奏操作に応じて発生する演奏データと曲データとを比較して演奏データの適否(音高、音量およびタイミングの適否)を判断する演奏評価を行い、評価結果を画面表示する装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−91443号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1に開示の装置では、単に演奏練習の評価結果を画面表示するだけなので、ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現することが出来ないという問題がある。
【0005】
本発明は、このような事情に鑑みてなされたもので、ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現することができる演奏練習装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載の発明では、演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶する画像記憶手段と、曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得手段と、前記取得手段により取得される複数の評価結果に各々対応するキャラクタ画像を前記画像記憶手段から読み出す画像読み出し手段と、予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出し手段によって読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御手段とを具備することを特徴とする。
【発明の効果】
【0007】
本発明では、ゲーム的な面白味を持たせたスクリーンセーバー動作で演奏練習の評価結果を表現することができる。
【図面の簡単な説明】
【0008】
【図1】実施の一形態による演奏練習装置100の構成を示すブロック図である。
【図2】ROM14のデータエリアの構成を示すメモリマップである。
【図3】FISH A画像、FISH B画像およびFISH C画像の一例を示す図である。
【図4】RAM15に記憶されるFISH A用座標データ、FISH B用座標データおよびFISH C用座標データの構成を示すメモリマップである。
【図5】表示画面座標系におけるFISH A画像、FISH B画像およびFISH C画像の各表示範囲を説明するための図である。
【図6】メインルーチンの動作を示すフローチャートである。
【図7】楽器初期処理の動作を示すフローチャートである。
【図8】スクリーンセーバー初期処理の動作を示すフローチャートである。
【図9】FISH A初期処理の動作を示すフローチャートである。
【図10】FISH B初期処理の動作を示すフローチャートである。
【図11】FISH C初期処理の動作を示すフローチャートである。
【図12】楽器処理の動作を示すフローチャートである。
【図13】スイッチ処理の動作を示すフローチャートである。
【図14】自動演奏処理の動作を示すフローチャートである。
【図15】鍵盤処理の動作を示すフローチャートである。
【図16】鍵盤処理の動作を示すフローチャートである。
【図17】スクリーンセーバー処理の動作を示すフローチャートである。
【図18】FISH A処理の動作を示すフローチャートである。
【図19】FISH B処理の動作を示すフローチャートである。
【図20】FISH C処理の動作を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、実施の一形態による演奏練習装置100の構成を示すブロック図である。この図において、鍵盤10は押離鍵操作に応じたキーオン/キーオフ信号、ノートナンバおよびベロシティ等の演奏情報を発生する。押鍵ガイド部11は、鍵盤10の各鍵毎に配設されるLED(発光素子)と、これらLEDを点灯駆動するドライバ(不図示)とから構成され、CPU13から供給される制御信号に従って指定される鍵のLEDを点灯/消灯して弾くべき鍵と押鍵のタイミングとをユーザにガイドする。
【0010】
操作部12は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。操作部12に配設される主要なスイッチとしては、例えば装置電源をパワーオン/パワーオフさせる電源スイッチの他、楽器動作をオンオフさせる楽器スイッチ、演奏練習の開始/停止を指示するスタート/ストップスイッチ等を備える。CPU13は、操作部12が発生する各種スイッチイベントに応じて装置各部を制御する。本発明の要旨に係わるCPU13の処理動作については追って詳述する。
【0011】
ROM14は、プログラムエリアおよびデータエリアを備える。ROM14のプログラムエリアには、CPU13にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、楽器初期処理、スクリーンセーバー初期処理、楽器処理およびスクリーンセーバー処理を含む。なお、スクリーンセーバー初期処理は、FISH A初期処理、FISH B初期処理およびFISH C初期処理から構成される。楽器処理は、スイッチ処理、自動演奏処理および鍵盤処理から構成される。スクリーンセーバー処理は、FISH A処理、FISH B処理およびFISH C処理から構成される。
【0012】
ROM14のデータエリアには、図2に図示するように、曲データMD、FISH A画像、FISH B画像およびFISH C画像が記憶される。曲データMDは、演奏練習する曲を構成する各音を表すデータであり、タイムTIMEとイベントEVENTとが組となって曲進行に対応した時系列のアドレス順に記憶される、いわゆる相対時間方式と呼ばれるデータ形式で表現される。タイムTIMEは、前イベントからの経過時間で次イベントのタイミングを表す。イベントEVENTは、発音すべき音高を表すノートナンバおよび発音音量から構成されるノートオンイベント又は消音すべき音高を表すノートナンバから構成されるノートオフイベントの何れかを含む。
【0013】
ROM14のデータエリアに記憶されるFISH A〜FISH Cの各画像は、楽器動作がオフ状態の時に起動されるスクリーンセーバーに用いられる画像である。本実施形態では、表示部16の表示画面を水槽に見立て、例えば図3(a)〜図3(c)に図示する一例の各種熱帯魚の画像(FISH A〜FISH Cの各画像)をスクリーンセーバー動作で画面表示させる。スクリーンセーバー動作では、後述するように、水槽(表示画面)中の「どのエリア」に「どの熱帯魚」が「何匹」表示されているかで演奏練習の評価結果を表現するゲーム的な面白味を持たせている。
【0014】
RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM15のデータエリアには、図4に図示するFISH A用座標データ、FISH B用座標データおよびFISH C用座標データが格納される。
【0015】
FISH A用座標データは、図5に図示する表示画面座標系において、表示範囲(0≦x1(n)≦X1、0≦y1(n)≦Y2)において定義されるN1個分の座標位置から構成される。FISH B用座標データは、表示範囲(X1≦x2(n)≦X2、0≦y2(n)≦Y2)において定義されるN2個分の座標位置から構成される。FISH C用座標データは、表示範囲(0≦x3(n)≦X3、0≦y3(n)≦Y3)において定義されるN個分の座標位置から構成される。座標位置は対応する画像(FISH A〜FISH Cの各画像)の表示位置を指定する。例えば図3に図示したFISH A〜FISH Cの各画像がn行×m列の矩形画素領域から形成される場合、左上頂点の画素(0,0)が座標位置(x,y)に対応する。
【0016】
再び図1を参照して実施形態の構成について説明を進める。図1において、表示部16は、LCDパネル等から構成され、CPU13から供給される表示制御信号に応じて各種設定状態を表示したり、後述する表示態様でスクリーンセーバーを表示したりする。音源17は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源17は、各種音色の波形データを記憶しており、これらの内、CPU13から供給される楽音パラメータに応じた波形データを読み出して楽音出力を発生する。サウンドシステム18は、音源17の楽音出力をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【0017】
B.動作
次に、図6〜図20を参照して上記構成による実施形態の動作を説明する。以下では、最初に全体動作を示すメインルーチンの動作を説明し、続いてメインルーチンからコールされる各処理(楽器初期処理、スクリーンセーバー初期処理、楽器処理およびスクリーンセーバー処理)の動作について述べる。なお、スクリーンセーバー初期処理は、FISH A初期処理、FISH B初期処理およびFISH C初期処理を含む。また、楽器処理はスイッチ処理、自動演奏処理および鍵盤処理を含む。さらに、スクリーンセーバー処理は、FISH A処理、FISH B処理およびFISH C処理を含む。
【0018】
(1)メインルーチンの動作
演奏練習装置100がパワーオンされると、CPU13は図6に図示するメインルーチンを実行してステップSA1に処理を進め、RAM15のワークエリアに格納される各種レジスタやフラグデータをゼロリセット又は初期値セットする他、音源17に対して初期化を指示するイニシャライズを行う。そして、イニシャライズが完了すると、CPU13は、ステップSA2に進み、楽器スイッチのオン操作の有無を判断する。
【0019】
楽器スイッチがオン操作されると、上記ステップSA2の判断結果は「YES」になり、ステップSA3に進み、オンフラグONFを反転する。続いて、ステップSA4では、反転されたオンフラグONFのフラグ値が「1」であるか否かを判断する。反転されたオンフラグONFのフラグ値が「1」であると、判断結果は「YES」となり、ステップSA5を介して楽器初期処理を実行する。楽器初期処理では、後述するように、練習回数Mを初期値「1」にセットすると共に、右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットする。
【0020】
一方、反転されたオンフラグONFのフラグ値が「0」ならば、上記ステップSA4の判断結果は「NO」となり、ステップSA6を介してスクリーンセーバー初期処理を実行する。スクリーンセーバー初期処理では、後述するように、左手演奏ミス率N1に相当する数のFISH A用座標データを、FISH A画像の表示範囲(0≦x1(n)≦X1、0≦y1(n)≦Y2)の中でランダムに生成し、生成した各FISH A用座標データをRAM15のデータエリアに登録すると共に、生成されたFISH A用座標データで表される各表示位置にFISH A画像を画面表示させる。
【0021】
また、スクリーンセーバー初期処理では、右手演奏ミス率N2に相当する数のFISH B用座標データを、FISH B画像の表示範囲(X1≦x2(n)≦X2、0≦y2(n)≦Y2)の中でランダムに生成し、生成した各FISH B用座標データをRAM15のデータエリアに登録すると共に、生成されたFISH B用座標データで表される各表示位置にFISH B画像を画面表示させる。さらに、所定値N分のFISH C用座標データを、練習回数Mに応じて変化するFISH C画像の表示範囲(0≦x3(n)≦X3、0≦y3(n)≦Y3)の中でランダムに生成し、生成した各FISH C用座標データをRAM15のデータエリアに登録すると共に、生成されたFISH C用座標データで表される各表示位置にFISH C画像を画面表示させる。
【0022】
さて、ステップSA5の楽器初期処理もしくはステップSA6のスクリーンセーバー初期処理の実行後、上述したステップSA2に処理を戻し、楽器スイッチがオン操作されなければ、当該ステップSA2の判断結果は「NO」になり、ステップSA7に進む。ステップSA7では、オンフラグONFが「1」であるか否かを判断する。オンフラグONFが「1」ならば、判断結果は「YES」になり、ステップSA8を介して楽器処理を実行する。
【0023】
楽器処理では、後述するように、スタート/ストップスイッチのオン操作により演奏練習を開始(スタートフラグSTFが「1」)させると、曲データMDに基づき鍵のLEDを点灯させてユーザに弾くべき鍵をガイドする一方、そのガイドに伴うユーザの演奏操作(押離鍵操作)に応じた楽音を発音/消音させると共に、左鍵域および右鍵域毎に適正な押鍵が為されたかどうかを判断する演奏評価を施し、適正な押鍵タイミング期間を失したり間違った鍵を押鍵した場合に、左手演奏ミス回数MISSL又は右手演奏ミス回数MISSRをカウントする。
【0024】
これに対し、オンフラグONFが「1」でなければ、上記ステップSA7の判断結果は「NO」になり、ステップSA9を介してセクリーンセーバー処理を実行する。セクリーンセーバー処理では、後述するように、表示範囲(0≦x1(n)+Δx≦X1、0≦y1(n)+Δy≦Y2)の中で表示座標位置をランダムに変化させた左手演奏ミス率N1に相当する数のFISH A画像と、表示範囲(X1≦x2(n)+Δx≦X2、0≦y2(n)+Δy≦Y2)の中で表示座標位置をランダムに変化させた右手演奏ミス率N1に相当する数のFISH B画像と、表示範囲(0≦x3(n)+Δx≦X3、0≦y3(n)+Δy≦Y3)の中で表示座標位置をランダムに変化させた所定値NのFISH C画像とを画面表示させる。
【0025】
(2)楽器初期処理の動作
次に、図7を参照して楽器初期処理の動作を説明する。上述したメインルーチンのステップSA5(図6参照)を介して本処理が実行されると、CPU13は図7に図示するステップSB1に進み、レジスタMに初期値「1」をストアする。このレジスタMは曲演奏の練習回数を計数するものである。以下、レジスタMの値を練習回数Mと称す。
【0026】
次いで、ステップSB2では、レジスタMISSR、MISSLをそれぞれゼロリセットする。レジスタMISSRは右手演奏ミスの回数を計数し、レジスタMISSLは左手演奏ミスの回数を計数する。以下、レジスタMISSRの値を右手ミス回数MISSR、レジスタMISSLの値を左手ミス回数MISSLと称する。なお、ここで言う右手演奏とは鍵盤10の右手鍵域における演奏(例えばメロディ演奏)を指し、左手演奏とは鍵盤10の左手鍵域における演奏(例えば伴奏演奏)を指す。
【0027】
(3)スクリーンセーバー初期処理の動作
次に、図8を参照してスクリーンセーバー初期処理の動作を説明する。上述したメインルーチンのステップSA6(図6参照)を介して本処理が実行されると、CPU13は図8に図示するステップSC1に進み、左手ミス回数MISSLを練習回数Mで除算した値に「100」を乗算して得られる左手演奏ミス率(%値)を、レジスタN1にストアする。以下、レジスタN1の値を左手演奏ミス率N1と称す。なお、左手演奏ミス率N1は、後述するように、画面に表示するFISH A画像の数に割り当てられる。
【0028】
続いて、ステップSC2では、右手ミス回数MISSRを練習回数Mで除算した値に「100」を乗算して得られる右手演奏ミス率(%値)を、レジスタN2にストアする。以下、レジスタN2の値を右手演奏ミス率N2と称す。なお、右手演奏ミス率N2は、後述するように、画面に表示するFISH B画像の数に割り当てられる。
【0029】
次いで、ステップSC3では、練習回数Mに応じた関数TX(M)の値をレジスタX3にストアすると共に、練習回数Mに応じた関数TY(M)の値をレジスタY3にストアする。レジスタX3、レジスタY3の値は、前述したように、図5に図示する表示画面座標系におけるFISH C画像の表示範囲を規定する。したがって、例えば関数TX(M)、関数TY(M)が一次関数であれば、練習回数Mに応じてFISH C画像の表示範囲が拡大する。
【0030】
そして、ステップSC4では、FISH A画像の表示範囲(0≦x1(n)≦X1、0≦y1(n)≦Y2)で発生させた乱数x1(n)、y1(n)をFISH A用座標データ(x1(n)、y1(n))としてRAM15のデータエリアに登録すると共に、そのFISH A用座標データ(x1(n)、y1(n))で表される表示位置にFISH A画像を画面表示させる動作を行う毎に、FISH A用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが左手演奏ミス率N1以上になるまで上記動作を繰り返すFISH A初期処理を実行する。
【0031】
ステップSC5では、FISH B画像の表示範囲(X1≦x2(n)≦X2、0≦y2(n)≦Y2)で発生させた乱数x2(n)、y2(n)をFISH B用座標データ(x2(n)、y2(n))としてRAM15のデータエリアに登録すると共に、そのFISH B用座標データ(x2(n)、y2(n))で表される表示位置にFISH B画像を画面表示させる動作を行う毎に、FISH B用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが右手演奏ミス率N2以上になるまで上記動作を繰り返すFISH B初期処理を実行する。
【0032】
ステップSC6では、FISH C画像の表示範囲(0≦x3(n)≦X3、0≦y3(n)≦Y3)で発生させた乱数x3(n)、y3(n)をFISH C用座標データ(x3(n)、y3(n))としてRAM15のデータエリアに登録すると共に、そのFISH B用座標データ(x3(n)、y3(n))で表される表示位置にFISH C画像を画面表示させる動作を行う毎に、FISH C用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが所定値N以上になるまで上記動作を繰り返すFISH C初期処理を実行した後、本処理(スクリーンセーバー初期処理)を終える。
【0033】
このように、スクリーンセーバー初期処理では、左手演奏ミス率N1に相当する数のFISH A用座標データを、FISH A画像の表示範囲(0≦x1(n)≦X1、0≦y1(n)≦Y2)の中でランダムに生成し、生成した各FISH A用座標データをRAM15のデータエリアに登録すると共に、生成されたFISH A用座標データで表される各表示位置にFISH A画像を画面表示させる。
【0034】
また、右手演奏ミス率N2に相当する数のFISH B用座標データを、FISH B画像の表示範囲(X1≦x2(n)≦X2、0≦y2(n)≦Y2)の中でランダムに生成し、生成した各FISH A用座標データをRAM15のデータエリアに登録すると共に、生成されたFISH A用座標データで表される各表示位置にFISH A画像を画面表示させる。
【0035】
さらに、所定値N分のFISH C用座標データを、練習回数Mに応じて変化するFISH C画像の表示範囲(0≦x3(n)≦X3、0≦y3(n)≦Y3)の中でランダムに生成し、生成した各FISH C用座標データをRAM15のデータエリアに登録すると共に、生成されたFISH C用座標データで表される各表示位置にFISH A¥C画像を画面表示させる。
【0036】
(4)FISH A初期処理の動作
次に、図9を参照してFISH A初期処理の動作を説明する。上述したスクリーンセーバー初期処理のステップSC4(図8参照)を介して本処理が実行されると、CPU13は図9に図示するステップSD1に進み、ポインタnをゼロリセットし、続くステップSD2では、FISH A画像の表示範囲(0≦x1(n)≦X1、0≦y1(n)≦Y2)に収まる乱数x1(n)、y1(n)を発生させ、これをポインタnで指定されるFISH A用座標データ(x1(n)、y1(n))としてRAM15のデータエリア(図4参照)にストアする。
【0037】
次いで、ステップSD3では、ポインタnで指定されるFISH A用座標データ(x1(n)、y1(n))で表される座標位置に、ROM14から読み出したFISH A画像を画面表示する。この後、ステップSD4に進み、ポインタnをインクリメントして歩進させ、続くステップSD5では、歩進されたポインタnの値が左手演奏ミス率N1以上であるか否かを判断する。
【0038】
歩進されたポインタnの値が左手演奏ミス率N1未満であれば、判断結果は「NO」になり、上述のステップSD2に処理を戻す。以後、歩進されたポインタnが左手演奏ミス率N1以上になる迄、発生した乱数x1(n)、y1(n)をFISH A用座標データ(x1(n)、y1(n))としてRAM15のデータエリアに登録すると共に、その登録したFISH A用座標データ(x1(n)、y1(n))で表される座標位置にFISH A画像を画面表示する、上記ステップSD2〜SD5の処理を繰り返す。そして、歩進されたポインタnの値が左手演奏ミス率N1以上になると、上記ステップSD5の判断結果が「YES」となり、本処理を終える。
【0039】
なお、左手演奏ミス率N1が「0」、つまり演奏練習が行われていない初期状態の場合には、最初に発生させた乱数x1(0)、y1(0)をFISH A用座標データ(x1(0)、y1(0))としてRAM15のデータエリアに登録すると共に、その登録したFISH A用座標データ(x1(0)、y1(0))で表される座標位置に一匹分のFISH A画像を画面表示して本処理を終える。
【0040】
このように、FISH A初期処理では、FISH A画像の表示範囲(0≦x1(n)≦X1、0≦y1(n)≦Y2)で発生させた乱数x1(n)、y1(n)をFISH A用座標データ(x1(n)、y1(n))としてRAM15のデータエリアに登録すると共に、そのFISH A用座標データ(x1(n)、y1(n))で表される座標位置にFISH A画像を画面表示させる動作を行う毎に、FISH A用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが左手演奏ミス率N1以上になるまで上記動作を繰り返す。
【0041】
(5)FISH B初期処理の動作
次に、図10を参照してFISH B初期処理の動作を説明する。前述したスクリーンセーバー初期処理のステップSC5(図8参照)を介して本処理が実行されると、CPU13は図10に図示するステップSE1に進み、ポインタnをゼロリセットする。次いで、ステップSE2では、FISH B画像の表示範囲(X1≦x2(n)≦X2、0≦y2(n)≦Y2)で発生させた乱数x2(n)、y2(n)をFISH B用座標データ(x2(n)、y2(n))としてRAM15のデータエリアに登録する。
【0042】
そして、ステップSE3では、FISH B用座標データ(x2(n)、y2(n))で表される座標位置にFISH B画像を画面表示させ、続くステップSE4では、FISH B用座標データを指定するポインタnをインクリメントして歩進させる。ステップSE5では、歩進されたポインタnの値が右手演奏ミス率N1以上であるか否かを判断する。
【0043】
歩進されたポインタnの値が右手演奏ミス率N2未満であれば、判断結果は「NO」になり、上述のステップSE2に処理を戻す。以後、歩進されたポインタnが右手演奏ミス率N2以上になる迄、発生した乱数x2(n)、y2(n)をFISH B用座標データ(x2(n)、y2(n))としてRAM15のデータエリアに登録すると共に、そのFISH B用座標データ(x2(n)、y2(n))で表される座標位置にFISH B画像を画面表示する、上記ステップSE2〜SE5の処理を繰り返す。そして、歩進されたポインタnの値が右手演奏ミス率N2以上になると、上記ステップSE5の判断結果が「YES」となり、本処理を終える。
【0044】
なお、右手演奏ミス率N2が「0」、つまり演奏練習が行われていない初期状態の場合には、最初に発生させた乱数x2(0)、y2(0)をFISH B用座標データ(x2(0)、y2(0))としてRAM15のデータエリアに登録すると共に、そのFISH B用座標データ(x2(0)、y2(0))で表される座標位置にFISH B画像を画面表示して本処理を終える。
【0045】
このように、FISH B初期処理では、FISH B画像の表示範囲(X1≦x2(n)≦X2、0≦y2(n)≦Y2)で発生させた乱数x2(n)、y2(n)をFISH B用座標データ(x2(n)、y2(n))としてRAM15のデータエリアに登録すると共に、そのFISH B用座標データ(x2(n)、y2(n))で表される座標位置にFISH B画像を画面表示させる動作を行う毎に、FISH B用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが右手演奏ミス率N2以上になるまで上記動作を繰り返す。
【0046】
(6)FISH C初期処理の動作
次に、図11を参照してFISH C初期処理の動作を説明する。前述したスクリーンセーバー初期処理のステップSC6(図8参照)を介して本処理が実行されると、CPU13は図11に図示するステップSF1に進み、ポインタnをゼロリセットする。次いで、ステップSF2では、FISH C画像の表示範囲(0≦x3(n)≦X3、0≦y3(n)≦Y3)で発生させた乱数x3(n)、y3(n)をFISH C用座標データ(x3(n)、y3(n))としてRAM15のデータエリアに登録する。
【0047】
そして、ステップSF3では、FISH C用座標データ(x3(n)、y3(n))で表される座標位置にFISH C画像を画面表示させ、続くステップSF4では、FISH C用座標データを指定するポインタnをインクリメントして歩進させる。ステップSF5では、歩進されたポインタnの値が所定値N以上であるか否かを判断する。
【0048】
歩進されたポインタnの値が所定値N未満であれば、判断結果は「NO」になり、上述のステップSF2に処理を戻す。以後、歩進されたポインタnが所定値N以上になる迄、発生した乱数x3(n)、y3(n)をFISH C用座標データ(x3(n)、y3(n))としてRAM15のデータエリアに登録すると共に、そのFISH C用座標データ(x3(n)、y3(n))で表される座標位置にFISH C画像を画面表示する、上記ステップSF2〜SF5の処理を繰り返す。そして、歩進されたポインタnの値が所定値N以上になると、上記ステップSF5の判断結果が「YES」となり、本処理を終える。
【0049】
このように、FISH C初期処理では、FISH C画像の表示範囲(0≦x3(n)≦X3、0≦y3(n)≦Y3)で発生させた乱数x3(n)、y3(n)をFISH C用座標データ(x3(n)、y3(n))としてRAM15のデータエリアに登録すると共に、そのFISH C用座標データ(x3(n)、y3(n))で表される座標位置にFISH C画像を画面表示させる動作を行う毎に、FISH C用座標データを指定するポインタnをインクリメントして歩進させ、歩進されたポインタnが所定値N以上になるまで上記動作を繰り返す。
【0050】
(7)楽器処理の動作
次に、図12を参照して楽器処理の動作を説明する。前述したメインルーチンのステップSA8(図6参照)を介して本処理が実行されると、CPU13は図12に図示するステップSG1に進み、スイッチ処理を実行する。スイッチ処理では、後述するように、スタート/ストップスイッチのオン操作により演奏練習を開始すると、曲データMDの先頭アドレスを読み出しアドレスADとし、これに応じて曲データMDから読み出される先頭のタイムTIMEをレジスタtにストアすると共に、タイマT2をスタートさせる。一方、スタート/ストップスイッチのオン操作により演奏練習の停止すると、押鍵ガイド部11に点灯中のLEDを消灯するよう指示した後、タイマT2を停止させる。
【0051】
続いて、ステップSG2では、自動演奏処理を実行する。自動演奏処理では、後述するように、最小単位時間(ティック)が経過する毎に、レジスタtの値(タイムTIME)をデクリメントし、デクリメントされたレジスタtの値(タイムTIME)が「0」以下のイベントタイミングに達すると、曲データMDの読み出しアドレスADを歩進させ、歩進された読み出しアドレスADに応じて読み出される「イベントEVENT」が発音を指示するノートオンイベントであると、当該ノートオンイベント中のノートナンバに対応する鍵に配設されるLEDの点灯を押鍵ガイド部11に指示して弾くべき鍵をガイドすると同時にタイマT2を停止させる。
【0052】
一方、歩進された読み出しアドレスADに応じて、次イベントタイミングを表す「タイムTIME」が読み出されると、当該「タイムTIME」をレジスタtにストアして本処理を一旦終える。なお、歩進された読み出しアドレスADが曲データMDの最終アドレスを超えた場合には、読み出しアドレスADを曲データMDの先頭アドレスに戻し、さらに右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットすると共に、練習回数Mをインクリメントして歩進させる。
【0053】
次いで、ステップSG3では、押離鍵操作に応じて楽音を発音/消音させる一方、鍵盤10の左鍵域および右鍵域毎に適正な押鍵が為されたかどうかを判断し、適正な押鍵タイミング期間を失した場合や間違った鍵を押鍵した場合に、左手演奏ミス回数MISSL又は右手演奏ミス回数MISSRを歩進させる鍵盤処理を実行する。この後、ステップSG4に進み、例えばユーザ操作に応じて発生楽音の音色を変更したり、効果付与する等の、その他の処理を実行した後に本処理を終える。
【0054】
(8)スイッチ処理の動作
次に、図13を参照してスイッチ処理の動作を説明する。上述した楽器処理のステップSG1(図12参照)を介して本処理が実行されると、CPU13は図13に図示するステップSH1に進み、演奏練習の開始/停止を指示するスタート/ストップスイッチのオン操作の有無を判断する。スタート/ストップスイッチがオン操作されなければ、判断結果は「NO」になり、本処理を終えるが、スタート/ストップスイッチがオン操作されると、上記ステップSH1の判断結果は「YES」になり、ステップSH2に進み、スタートフラグSTFを反転する。スタートフラグSTFは、フラグ値「1」の場合に演奏練習の開始を表し、フラグ値「0」の場合に演奏練習の停止を表す。また、スタート/ストップスイッチは所謂トグル動作するスイッチであり、オン操作に応じて演奏練習の開始/停止を交互に指示する。
【0055】
次いで、ステップSH3では、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが「1」であるか否かを判断する。反転されたスタートフラグSTFが「0」(演奏練習の停止)ならば、判断結果は「NO」になり、ステップSH4に進み、点灯中のLEDを消灯するよう押鍵ガイド部11に指示し、続くステップSH5では、タイマT2を停止させて本処理を終える。
【0056】
一方、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが「1」(演奏練習の開始)であると、上記ステップSH3の判断結果が「YES」になり、ステップSH6に進み、ROM14のデータエリアに格納される曲データMDのアドレス初期値(先頭アドレス)を読み出しアドレスADにセットし、続くステップSH7では、読み出しアドレスADに応じて曲データMDから読み出される先頭のタイムTIMEをレジスタtにストアする。そして、ステップSH8では、タイマT2をスタートさせて本処理を終える。
【0057】
このように、スイッチ処理では、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが「1」となり、演奏練習の開始を表すと、曲データMDのアドレス初期値(先頭アドレス)を読み出しアドレスADにセットし、この読み出しアドレスADに応じて曲データMDから読み出される先頭のタイムTIMEをレジスタtにストアすると共に、タイマT2をスタートさせる。一方、スタート/ストップスイッチのオン操作に応じて反転されたスタートフラグSTFが「0」となり、演奏練習の停止を表すと、押鍵ガイド部11に点灯中のLEDを消灯するよう指示した後、タイマT2を停止させる。
【0058】
(9)自動演奏処理の動作
次に、図14を参照して自動演奏処理の動作を説明する。上述した楽器処理のステップSG2(図12参照)を介して本処理が実行されると、CPU13は図14に図示するステップSJ1に進み、スタートフラグSTFが「1」(演奏練習の開始)であるかどうかを判断する。スタートフラグSTFが「0」(演奏練習の停止)ならば、判断結果は「NO」になり、本処理を終えるが、スタートフラグSTFが「1」であると、判断結果は「YES」になり、ステップSJ2に進み、最小単位時間(ティック)が経過したか否かを判断する。
【0059】
最小単位時間が経過していなければ、判断結果は「NO」となり、本処理を終えるが、最小単位時間が経過していると、判断結果は「YES」になり、ステップSJ3に進み、レジスタtの値(タイムTIME)をデクリメントする。そして、ステップSJ4では、デクリメントされたレジスタtの値(タイムTIME)が「0」以下、すなわちイベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、上記ステップSJ4の判断結果は「NO」になり、本処理を終える。
【0060】
一方、デクリメントされたレジスタtの値(タイムTIME)が「0」以下となり、イベントタイミングに達すると、上記ステップSJ4の判断結果は「YES」になり、ステップSJ5に進み、曲データMDの読み出しアドレスADを歩進させる。そして、ステップSJ6では、歩進された読み出しアドレスADが曲データMDの最終アドレス以下であるか否かを判断する。
【0061】
歩進された読み出しアドレスADが曲データMDの最終アドレスを超えたならば、判断結果は「NO」になり、ステップSJ7に進み、読み出しアドレスADを曲データMDの先頭アドレスに戻す。そして、ステップSJ8に進み、右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットし、続くステップSJ9では、練習回数Mをインクリメントして歩進させた後、ステップSJ10に処理を進める。
【0062】
これに対し、歩進された読み出しアドレスADが曲データMDの最終アドレス以下であると、上記ステップSJ6の判断結果は「YES」になり、ステップSJ10に進む。ステップSJ10では、歩進された読み出しアドレスADに応じて読み出される曲データMDが「タイムTIME」又は「イベントEVENT」の何れであるかを判別する。読み出された曲データMDが「イベントEVENT」ならば、ステップSJ11に進み、当該「イベントEVENT」に含まれるノートナンバをレジスタNOTEにストアする。
【0063】
続いて、ステップSJ12では、「イベントEVENT」が発音を指示するノートオンイベントであると、レジスタNOTEに格納されたノートナンバに対応する鍵に配設されるLEDを点灯するよう押鍵ガイド部11に指示する。この後、ステップSJ13に進み、タイマT2を停止させた後、上述のステップSJ5に処理を戻す。一方、読み出された曲データMDが次イベントタイミングを表す「タイムTIME」であれば、ステップSJ14に進み、その「タイムTIME」をレジスタtにストアして本処理を終える。
【0064】
このように、自動演奏処理では、最小単位時間(ティック)が経過する毎に、レジスタtの値(タイムTIME)をデクリメントし、デクリメントされたレジスタtの値(タイムTIME)が「0」以下のイベントタイミングに達すると、曲データMDの読み出しアドレスADを歩進させ、歩進された読み出しアドレスADに応じて読み出される「イベントEVENT」が発音を指示するノートオンイベントであると、当該ノートオンイベント中のノートナンバに対応する鍵に配設されるLED点灯を押鍵ガイド部11に指示して弾くべき鍵をガイドすると同時にタイマT2を停止させる。
【0065】
一方、歩進された読み出しアドレスADに応じて、次イベントタイミングを表す「タイムTIME」が読み出されると、当該「タイムTIME」をレジスタtにストアして本処理を一旦終える。なお、歩進された読み出しアドレスADが曲データMDの最終アドレスを超えた場合には、読み出しアドレスADを曲データMDの先頭アドレスに戻し、さらに右手演奏ミス回数MISSRおよび左手演奏ミス回数MISSLをゼロリセットすると共に、練習回数Mをインクリメントして歩進させる。
【0066】
(10)鍵盤処理の動作
次に、図15〜図16を参照して鍵盤処理の動作を説明する。前述した楽器処理のステップSG3(図12参照)を介して本処理が実行されると、CPU13は図15に図示するステップSK1に進み、鍵盤10の左鍵域の各鍵についてキーオン/キーオフ信号の有無を検出する鍵走査を行い、続くステップSK2では、上記ステップSK1の鍵走査結果に基づき鍵変化を判別する。押離鍵操作が行われず、鍵変化が生じなければ、ステップSK2において鍵変化無しと判別して図16に図示するステップSK11に進む。
【0067】
押鍵操作に応じて発生するキーオン信号を検出した場合には、ステップSK2を介してステップSK3に進み、押鍵に応じて鍵盤10が発生する演奏情報に基づきノートオンイベントを発生して音源17に送出する。これにより、音源17は、押鍵された鍵の音高の楽音をベロシティに従った音量で発音させる。次いで、ステップSK4では、押鍵された鍵のノートナンバをレジスタKEYにストアする。続いて、ステップSK5では、タイマT2が停止中であるか否か、すなわち適正な押鍵タイミング期間であるかどうかを判断する。タイマT2が計時中の、適正な押鍵タイミング期間を失した誤押鍵であると、判断結果が「NO」になり、ステップSK10に進み、左手演奏ミス回数MISSLをインクリメントして歩進させた後、図16に図示するステップSK11に進む。
【0068】
一方、タイマT2が停止中の、適正な押鍵タイミング期間の押鍵であると、上記ステップSK5の判断結果が「YES」になり、ステップSK6に進む。ステップSK6では、レジスタKEYの押鍵された鍵のノートナンバと、レジスタNOTEのノートナンバとが一致しているか否か、つまり正しい鍵が押鍵されたかどうかを判断する。間違った鍵を押鍵した場合には、判断結果が「NO」になり、ステップSK10に進み、左手演奏ミス回数MISSLをインクリメントして歩進させた後、図16に図示するステップSK11に進む。
【0069】
これに対し、正しい鍵が押鍵されたならば、上記ステップSK6の判断結果は「YES」となり、ステップSK7に進み、タイマT2をスタートさせ、続くステップSK8では、レジスタNOTEにストアされたノートナンバに対応する鍵に配設されるLEDの消灯を押鍵ガイド部11に指示した後、図16に図示するステップSK11に進む。
【0070】
さて一方、離鍵操作に応じて発生するキーオフ信号を検出した場合には、ステップSK2を介してステップSK9に進み、離鍵に応じて鍵盤10が発生する演奏情報に基づきノートオフイベントを発生して音源17に送出した後、図16に図示するステップSK11に進む。なお、音源17では、ノートオフイベントの受信に応じて、離鍵された鍵の音高の楽音を消音させる。
【0071】
そして、図16に図示するステップSK11に進むと、鍵盤10の右鍵域の各鍵についてキーオン/キーオフ信号の有無を検出する鍵走査を行い、続くステップSK12では、上記ステップSK11の鍵走査結果に基づき鍵変化を判別する。押離鍵操作が行われず、鍵変化が生じなければ、ステップSK12において鍵変化無しと判別して本処理を終える。
【0072】
押鍵操作に応じて発生するキーオン信号を検出した場合には、ステップSK12を介してステップSK13に進み、押鍵に応じて鍵盤10が発生する演奏情報に基づきノートオンイベントを発生して音源17に送出する。これにより、音源17は、押鍵された鍵の音高の楽音をベロシティに従った音量で発音させる。次いで、ステップSK14では、押鍵された鍵のノートナンバをレジスタKEYにストアする。続いて、ステップSK15では、タイマT2が停止中であるか否か、すなわち適正な押鍵タイミング期間であるかどうかを判断する。タイマT2が計時中の、適正な押鍵タイミング期間を失した誤押鍵であると、判断結果が「NO」になり、ステップSK20に進み、右手演奏ミス回数MISSRをインクリメントして歩進させた後、本処理を終える。
【0073】
一方、タイマT2が停止中の、適正な押鍵タイミング期間における押鍵ならば、上記ステップSK15の判断結果が「YES」になり、ステップSK16に進む。ステップSK16では、レジスタKEYの押鍵された鍵のノートナンバと、レジスタNOTEのノートナンバとが一致しているか否か、つまり正しい鍵が押鍵されたかどうかを判断する。間違った鍵を押鍵した場合には、判断結果が「NO」になり、ステップSK20に進み、右手演奏ミス回数MISSRをインクリメントして歩進させた後、本処理を終える。
【0074】
これに対し、正しい鍵が押鍵されたならば、上記ステップSK16の判断結果は「YES」となり、ステップSK17に進み、タイマT2をスタートさせ、続くステップSK18では、レジスタNOTEにストアされたノートナンバに対応する鍵に配設されるLEDの消灯を押鍵ガイド部11に指示した後、本処理を終える。
【0075】
さて一方、離鍵操作に応じて発生するキーオフ信号を検出した場合には、ステップSK2を介してステップSK9に進み、離鍵に応じて鍵盤10が発生する演奏情報に基づきノートオフイベントを発生して音源17に送出した後、本処理を終える。なお、音源17では、ノートオフイベントの受信に応じて、離鍵された鍵の音高の楽音を消音させる。
【0076】
以上のように、鍵盤処理では、押離鍵操作に応じて楽音を発音/消音させる一方、鍵盤10の左鍵域および右鍵域毎に適正な押鍵が為されたかどうかを判断し、適正な押鍵タイミング期間を失した場合や間違った鍵を押鍵した場合に左手演奏ミス回数MISSL又は右手演奏ミス回数MISSRを歩進させる。
【0077】
(11)スクリーンセーバー処理の動作
次に、図17〜図18を参照してスクリーンセーバー処理の動作を説明する。前述したメインルーチンのステップSA9(図6参照)を介して本処理が実行されると、CPU13は図17に図示するステップSL1を介してFISH A処理を実行する。FISH A処理が実行されると、CPU13は図18に図示するステップSM1に進む。
【0078】
<FISH A処理の動作>
ステップSM1では、ポインタnに初期値「0」をセットする。なお、ポインタnは、FISH A用座標データを指定する。続いて、ステップSM2では、所定値域の乱数Δx、Δyを発生する。次いで、ステップSM3では、ポインタnで指定されるFISH A用座標データx1(n)に乱数Δxを加算した値が、FISH A画像のx軸表示範囲(0≦x1(n)+Δx≦X1)に収まるか否かを判断する。表示範囲外ならば、判断結果は「NO」になり、後述のステップSM5に進むが、表示範囲内であると、判断結果が「YES」になり、ステップSM4に進み、FISH A用座標データx1(n)に乱数Δxを加算してx軸座標データを更新する。
【0079】
次に、ステップSM5では、ポインタnで指定されるFISH A用座標データy1(n)に乱数Δyを加算した値が、FISH A画像のy軸表示範囲(0≦y1(n)+Δy≦Y2)に収まるか否かを判断する。表示範囲外ならば、判断結果は「NO」になり、後述のステップSM7に進むが、表示範囲内であると、判断結果が「YES」になり、ステップSM6に進み、FISH A用座標データy1(n)に乱数Δyを加算してy軸座標データを更新する。
【0080】
そして、ステップSM7に進むと、FISH A用座標データ(x1(n),y1(n))で指定される表示画面座標系上の座標位置にFISH A画像を表示し、続くステップSM8では、ポインタnをインクリメントして歩進させる。次いで、ステップSM9では、歩進されたポインタnが左手演奏ミス率N1を超えたか否かを判断する。歩進されたポインタnが左手演奏ミス率N1を超えなければ、判断結果は「NO」になり、上述のステップSM2に処理を戻す。
【0081】
以後、歩進されたポインタnが左手演奏ミス率N1を超える迄、上述したステップSM2〜SM9を繰り返す。これにより、乱数成分Δx、Δyを加算してもFISH A画像の表示範囲(0≦x1(n)+Δx≦X1、0≦y1(n)+Δy≦Y2)を逸脱しない場合にはその乱数成分Δx、Δyを加算して更新されたFISH A用座標データx1(n)、y1(n)や、乱数成分Δx、Δyの加算によりFISH A画像の表示範囲を逸脱する場合には元のFISH A用座標データx1(n)、y1(n)を用いて左手演奏ミス率N1に相当する数のFISH A画像を画面表示させる。そして、歩進されたポインタnが左手演奏ミス率N1を超えると、上記ステップSM9の判断結果が「YES」になり、本処理を終える。
【0082】
<FISH B処理の動作>
FISH A処理が完了すると、CPU13は図17に図示するステップSL2を介して図19に図示するステップSN1〜SN9から構成されるFISH B処理を実行する。FISH B処理では、上述したFISH A処理と同様に、歩進されたポインタnが右手演奏ミス率N2を超える迄、ステップSN2〜SN9を繰り返す。
【0083】
これにより、乱数成分Δx、Δyを加算してもFISH B画像の表示範囲(X1≦x2(n)+Δx≦X2、0≦y2(n)+Δy≦Y2)を逸脱しない場合にはその乱数成分Δx、Δyを加算して更新されたFISH B用座標データx2(n)、y2(n)や、乱数成分Δx、Δyの加算によりFISH B画像の表示範囲を逸脱する場合には元のFISH B用座標データx2(n)、y2(n)を用いて右手演奏ミス率N2に相当する数のFISH B画像を画面表示させる。そして、歩進されたポインタnが右手演奏ミス率N2を超えると、ステップSN9の判断結果が「YES」になり、本処理を終える。
【0084】
<FISH C処理の動作>
FISH B処理が完了すると、CPU13は図17に図示するステップSL3を介して図20に図示するステップSP1〜SP9から構成されるFISH C処理を実行する。FISH C処理では、上述したFISH A処理と同様に、歩進されたポインタnが所定値Nを超える迄、ステップSP2〜SP9を繰り返す。
【0085】
これにより、乱数成分Δx、Δyを加算してもFISH C画像の表示範囲(0≦x3(n)+Δx≦X3、0≦y3(n)+Δy≦Y3)を逸脱しない場合にはその乱数成分Δx、Δyを加算して更新されたFISH C用座標データx3(n)、y3(n)や、乱数成分Δx、Δyの加算によりFISH C画像の表示範囲を逸脱する場合には元のFISH C用座標データx3(n)、y3(n)を用いて所定値N分のFISH C画像を画面表示させる。そして、歩進されたポインタnが所定値Nを超えると、ステップSP9の判断結果が「YES」になり、本処理を終える。
【0086】
このように、スクリーンセーバー処理では、表示範囲(0≦x1(n)+Δx≦X1、0≦y1(n)+Δy≦Y2)の中で表示座標位置をランダムに変化させた左手演奏ミス率N1に相当する数のFISH A画像と、表示範囲(X1≦x2(n)+Δx≦X2、0≦y2(n)+Δy≦Y2)の中で表示座標位置をランダムに変化させた右手演奏ミス率N1に相当する数のFISH B画像と、表示範囲(0≦x3(n)+Δx≦X3、0≦y3(n)+Δy≦Y3)の中で表示座標位置をランダムに変化させた所定値NのFISH C画像とを画面表示させる。
【0087】
以上のように、本実施形態では、演奏練習の評価結果の種類毎に対応付けた画像(FISH A画像、FISH B画像およびFISH C画像)を記憶しておき、曲を構成する各音を表す曲データとユーザの演奏操作に応じて発生する演奏データとを比較して複数の評価結果(左手演奏ミス率N1、右手演奏ミス率N2および練習回数M)を取得すると、左手演奏ミス率N1に相当する数のFISH A画像を、表示画面上で予め割り当てられた表示範囲中のランダムな位置に表示し、右手演奏ミス率N2に相当する数のFISH B画像を、表示画面上で予め割り当てられた表示範囲中のランダムな位置に表示し、所定数のFISH C画像を、表示画面上で予め割り当てられ、練習回数に応じて可変設定される表示範囲中のランダムな位置に表示するスクリーンセーバー処理によって表示画面を水槽に見立て、その水槽(表示画面)中の「どのエリア」に「どの熱帯魚」が「何匹」表示されているかで演奏練習の評価結果(左手演奏ミス率N1、右手演奏ミス率N2および練習回数M)を表現するので、ゲーム的な面白味を持たせることが出来る。
【0088】
なお、上述した実施形態では、演奏ミス率が増すほど画面表示する画像の数も増える比例関係としたが、これに限らず、演奏ミス率が増すほど画面表示する画像の数を減らすに反比例関係としても構わない。また、練習回数が増えるほどFISH C画像の表示画面上の表示範囲を拡大するようにしたが、これに替えて、表示範囲の面積を一定にしておき、例えば練習回数が少ない時には画面上部、練習回数が増えるに連れて画面下部へ移動する等、練習回数に応じてFISH C画像の表示範囲の位置を変化させる態様とすることも可能である。
【0089】
さらに、本実施形態では、説明の簡略化を図る為、熱帯魚の静止画像を用いたが、これに限らず、泳ぐ動作をする熱帯魚の動画像を用いて実際の水槽中のような雰囲気を表現することも勿論可能である。加えて、本実施形態では、熱帯魚をキャラクタとした画像を用いたが、これに限定されず、例えばユーザ自身の顔画像や似顔絵画像などユーザが選択した画像をキャラクタとして用いる態様にすることも可能である。
【0090】
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
【0091】
(付記)
[請求項1]
演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶する画像記憶手段と、
曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得手段と、
前記取得手段により取得される複数の評価結果に各々対応するキャラクタ画像を前記画像記憶手段から読み出す画像読み出し手段と、
予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出し手段によって読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御手段と
を具備することを特徴とする演奏練習装置。
【0092】
[請求項2]
前記取得手段は、複数の評価結果として、少なくとも左手演奏ミス率、右手演奏ミス率および練習回数を取得することを特徴とする請求項1記載の演奏練習装置。
【0093】
[請求項3]
前記表示制御手段は、
表示画面上で左手演奏ミス率に割り当てられた表示範囲において、左手演奏ミス率に相当する数の第1のキャラクタ画像をランダムな位置に表示する第1の表示制御手段と、
表示画面上で右手演奏ミス率に割り当てられた表示範囲において、右手演奏ミス率に相当する数の第2のキャラクタ画像をランダムな位置に表示する第2の表示制御手段と、
表示画面上で練習回数に割り当てられ、当該練習回数に応じて可変設定される表示範囲において、所定数の第3のキャラクタ画像をランダムな位置に表示する第3の表示制御手段と
を具備することを特徴とする請求項1記載の演奏練習装置。
【0094】
[請求項4]
コンピュータに、
曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得ステップと、
演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶しておき、前記取得ステップにて取得された複数の評価結果に各々対応するキャラクタ画像を読み出す画像読み出しステップと、
予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出しステップにて読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御ステップと
を実行させることを特徴とするプログラム。
【符号の説明】
【0095】
10 CPU
11 ROM
12 RAM
13 操作部
14 表示部
20 センサ部
20−1〜20−6 圧力センサ
30 本体部
100 チューニング装置

【特許請求の範囲】
【請求項1】
演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶する画像記憶手段と、
曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得手段と、
前記取得手段により取得される複数の評価結果に各々対応するキャラクタ画像を前記画像記憶手段から読み出す画像読み出し手段と、
予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出し手段によって読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御手段と
を具備することを特徴とする演奏練習装置。
【請求項2】
前記取得手段は、複数の評価結果として、少なくとも左手演奏ミス率、右手演奏ミス率および練習回数を取得することを特徴とする請求項1記載の演奏練習装置。
【請求項3】
前記表示制御手段は、
表示画面上で左手演奏ミス率に割り当てられた表示範囲において、左手演奏ミス率に相当する数の第1のキャラクタ画像をランダムな位置に表示する第1の表示制御手段と、
表示画面上で右手演奏ミス率に割り当てられた表示範囲において、右手演奏ミス率に相当する数の第2のキャラクタ画像をランダムな位置に表示する第2の表示制御手段と、
表示画面上で練習回数に割り当てられ、当該練習回数に応じて可変設定される表示範囲において、所定数の第3のキャラクタ画像をランダムな位置に表示する第3の表示制御手段と
を具備することを特徴とする請求項1記載の演奏練習装置。
【請求項4】
コンピュータに、
曲を演奏練習するユーザの演奏操作に応じて発生する演奏データと曲を構成する各音を表す曲データとを比較して演奏練習に係わる複数の評価結果を取得する取得ステップと、
演奏練習の評価結果の種類別に対応付けたキャラクタ画像を記憶しておき、前記取得ステップにて取得された複数の評価結果に各々対応するキャラクタ画像を読み出す画像読み出しステップと、
予め演奏練習の評価結果の種類毎に表示画面上の表示範囲を割り当てておき、前記画像読み出しステップにて読み出された複数の評価結果に各々対応するキャラクタ画像を、それぞれ表示画面上で割り当てられた表示範囲において対応する評価結果の種類に応じた表示態様で表示する表示制御ステップと
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−173474(P2012−173474A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−34640(P2011−34640)
【出願日】平成23年2月21日(2011.2.21)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】