(57)【要約】【課題】曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容を報知する演奏教習装置を実現する。【解決手段】ＣＰＵ１３は、曲の各音を表すデータと、それら各音の中で演奏ミスした音についてはどのような演奏ミスを仕勝ちであるかを表すデータ（有効フラグ、演奏回数、傾向フラグ、タイミングずれ（早）回数、タイミングずれ（遅）回数および押鍵ミス回数）とを備えた曲データに基づき弾くべき鍵をガイドする。ガイドに対してユーザが演奏ミスすると、ガイドに用いた曲データ中の該当する演奏ミス項目（押鍵ミス回数、タイミングずれ（早）回数およびタイミングずれ（遅）回数の何れか）および演奏回数を歩進して更新する。更新された演奏回数がＮ回以上になると、最も回数の多い演奏ミス項目に対応した形態で弾くべき鍵をガイドする。【選択図】図２
2011039419.tif 000002
【特許請求の範囲】
【請求項１】
曲を構成する各音を表すと共に、それら各音に対応して設けられ、少なくとも演奏ミスの内容を分類する複数のミス項目毎のミス回数を含む曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段に記憶される曲データに従って曲を構成する各音の演奏をガイドするガイド手段と、
前記ガイド手段によってガイドされた演奏とユーザの演奏操作とを比較し、ガイドされた音に演奏ミスが生じたか否かを判定する判定手段と、
前記判定手段により演奏ミスが生じたと判定された場合に、その演奏ミスの内容に対応したミス項目を判別するミス項目判別手段と、
前記判定手段により演奏ミスが生じたと判定された音に対応付けられた曲データ中の複数のミス項目の内、前記ミス項目判別手段により判別されたミス項目のミス回数を歩進する歩進手段と、
前記曲データ記憶手段に記憶される曲データ中の各音毎に、ミス回数の最も多いミス項目を最頻ミス項目として抽出する抽出手段と、
前記抽出手段により抽出された各音毎の最頻ミス項目を参照し、前記ガイド手段によって演奏がガイドされる音において頻発する演奏ミスの内容を報知する報知手段と
を具備することを特徴とする演奏教習装置。
【請求項２】
前記曲データ記憶手段に記憶される曲データ中に、曲を構成する各音に対応付けたデータであって、ガイドされた回数を表す演奏回数を更に設け、
前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の演奏回数を歩進する演奏回数歩進手段と、
前記演奏回数歩進手段により歩進された曲データ中の演奏回数が所定回数未満の場合に、前記抽出手段および前記報知手段の機能を停止させる機能制御手段と
を更に具備することを特徴とする請求項１記載の演奏教習装置。
【請求項３】
前記曲データ記憶手段に記憶される曲データ中に、曲を構成する各音に対応付けたデータであって、有効・無効を表す有効フラグを更に設けると共に、
前記演奏回数歩進手段により歩進された曲データ中の演奏回数が所定回数以上の場合に、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の有効フラグを「有効」に設定するフラグ設定手段を更に備え、
前記機能制御手段は、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の有効フラグが「有効」に設定されている場合に、前記抽出手段および前記報知手段の機能を実行させることを特徴とする請求項２記載の演奏教習装置。
【請求項４】
前記曲データ記憶手段に記憶される曲データ中に、曲を構成する各音に対応付けたデータであって、前記抽出手段により抽出された各音毎の最頻ミス項目を値で表す傾向フラグを更に設け、
前記報知手段は、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の傾向フラグの値に応じて、頻発する演奏ミスの内容を報知することを特徴とする請求項１記載の演奏教習装置。
【請求項５】
前記ミス項目判別手段は、少なくとも前記ガイド手段によって演奏がガイドされる音の発音タイミングより遅い演奏操作を第１の演奏ミス、発音タイミングより早い演奏操作を第２の演奏ミスおよびガイドされる音とは異なる音を発音させる演奏操作を第３の演奏ミスの何れかのミス項目を判別することを特徴とする請求項１記載の演奏教習装置。
【請求項６】
コンピュータに、
曲を構成する各音を表すと共に、それら各音に対応して設けられるデータであって、少なくとも演奏ミスの内容を分類する複数のミス項目毎のミス回数を含む曲データに従って曲を構成する各音の演奏をガイドするガイドステップと、
前記ガイドステップによりガイドされた演奏とユーザの演奏操作とを比較し、ガイドされた音に演奏ミスが生じたか否かを判定する判定ステップと、
前記判定ステップにより演奏ミスが生じたと判定された場合に、その演奏ミスの内容に対応したミス項目を判別するミス項目判別ステップと、
前記判定ステップにて演奏ミスが生じたと判定された音に対応付けられた曲データ中の複数のミス項目の内、前記ミス項目判別ステップにより判別されたミス項目のミス回数を歩進する歩進ステップと、
前記曲データ中の各音毎に、ミス回数の最も多いミス項目を最頻ミス項目として抽出する抽出ステップと、
前記抽出ステップにより抽出された各音毎の最頻ミス項目を参照し、前記ガイドステップによって演奏がガイドされる音において頻発する演奏ミスの内容を報知する報知ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知して練習効果を高める演奏教習装置およびプログラムに関する。
【背景技術】
【０００２】
発音すべき音高とその発音タイミングとを表す曲データに基づき、鍵盤の各鍵に設けられたＬＥＤ（発光素子）の内、発音すべき音高の鍵に配設されるＬＥＤを発音タイミングに対応して点灯させて演奏者に弾くべき鍵をガイドする装置が知られている。この種の装置として、例えば特許文献１には、発音タイミングを過ぎてもガイドされた鍵が押鍵されない時には、そのガイドされた鍵が押鍵されるまで曲データの読み出しを停止させる教習形態とし、発音タイミング前にガイドされた鍵を押鍵した時にはその発音タイミングまで曲データを早送りさせる教習形態とする装置、すなわち弾くべき鍵の押鍵タイミングに応じて教習形態を変化させる装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２０６９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、音楽に慣れ親しんでいない初心者ユーザでは、上記特許文献１に開示の教習形態であっても、ガイドされた鍵を押鍵することだけに専心してしまう。この為、演奏練習する過程で曲中のどの音でどのような演奏ミスをしたのかを憶えることが出来ず、この結果、毎回同じ箇所（音）で同じ演奏ミスを繰り返してしまうことも起こり得る。すなわち、言い換えれば、曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知して練習効果を高めることが叶わない、という問題がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知して練習効果を高めることができる演奏練習装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、曲を構成する各音を表すと共に、それら各音に対応して設けられ、少なくとも演奏ミスの内容を分類する複数のミス項目毎のミス回数を含む曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段に記憶される曲データに従って曲を構成する各音の演奏をガイドするガイド手段と、前記ガイド手段によってガイドされた演奏とユーザの演奏操作とを比較し、ガイドされた音に演奏ミスが生じたか否かを判定する判定手段と、前記判定手段により演奏ミスが生じたと判定された場合に、その演奏ミスの内容に対応したミス項目を判別するミス項目判別手段と、前記判定手段により演奏ミスが生じたと判定された音に対応付けられた曲データ中の複数のミス項目の内、前記ミス項目判別手段により判別されたミス項目のミス回数を歩進する歩進手段と、前記曲データ記憶手段に記憶される曲データ中の各音毎に、ミス回数の最も多いミス項目を最頻ミス項目として抽出する抽出手段と、前記抽出手段により抽出された各音毎の最頻ミス項目を参照し、前記ガイド手段によって演奏がガイドされる音において頻発する演奏ミスの内容を報知する報知手段とを具備することを特徴とする。
【０００７】
上記請求項１に従属する請求項２に記載の発明では、前記曲データ記憶手段に記憶される曲データ中に、曲を構成する各音に対応付けたデータであって、ガイドされた回数を表す演奏回数を更に設け、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の演奏回数を歩進する演奏回数歩進手段と、前記演奏回数歩進手段により歩進された曲データ中の演奏回数が所定回数未満の場合に、前記抽出手段および前記報知手段の機能を停止させる機能制御手段とを更に具備することを特徴とする。
【０００８】
上記請求項２に従属する請求項３に記載の発明では、前記曲データ記憶手段に記憶される曲データ中に、曲を構成する各音に対応付けたデータであって、有効・無効を表す有効フラグを更に設けると共に、前記演奏回数歩進手段により歩進された曲データ中の演奏回数が所定回数以上の場合に、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の有効フラグを「有効」に設定するフラグ設定手段を更に備え、前記機能制御手段は、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の有効フラグが「有効」に設定されている場合に、前記抽出手段および前記報知手段の機能を実行させることを特徴とする。
【０００９】
上記請求項１に従属する請求項４に記載の発明では、前記曲データ記憶手段に記憶される曲データ中に、曲を構成する各音に対応付けたデータであって、前記抽出手段により抽出された各音毎の最頻ミス項目を値で表す傾向フラグを更に設け、前記報知手段は、前記ガイド手段によって演奏がガイドされる音に対応付けられた曲データ中の傾向フラグの値に応じて、頻発する演奏ミスの内容を報知することを特徴とする。
【００１０】
上記請求項１に従属する請求項５に記載の発明では、前記ミス項目判別手段は、少なくとも前記ガイド手段によって演奏がガイドされる音の発音タイミングより遅い演奏操作を第１の演奏ミス、発音タイミングより早い演奏操作を第２の演奏ミスおよびガイドされる音とは異なる音を発音させる演奏操作を第３の演奏ミスの何れかのミス項目を判別することを特徴とする。
【００１１】
請求項６に記載の発明では、コンピュータに、曲を構成する各音を表すと共に、それら各音に対応して設けられるデータであって、少なくとも演奏ミスの内容を分類する複数のミス項目毎のミス回数を含む曲データに従って曲を構成する各音の演奏をガイドするガイドステップと、前記ガイドステップによりガイドされた演奏とユーザの演奏操作とを比較し、ガイドされた音に演奏ミスが生じたか否かを判定する判定ステップと、前記判定ステップにより演奏ミスが生じたと判定された場合に、その演奏ミスの内容に対応したミス項目を判別するミス項目判別ステップと、前記判定ステップにて演奏ミスが生じたと判定された音に対応付けられた曲データ中の複数のミス項目の内、前記ミス項目判別ステップにより判別されたミス項目のミス回数を歩進する歩進ステップと、前記曲データ中の各音毎に、ミス回数の最も多いミス項目を最頻ミス項目として抽出する抽出ステップと、前記抽出ステップにより抽出された各音毎の最頻ミス項目を参照し、前記ガイドステップによって演奏がガイドされる音において頻発する演奏ミスの内容を報知する報知ステップとを実行させることを特徴とする。
【発明の効果】
【００１２】
本発明では、曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知して練習効果を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】実施の一形態による演奏教習装置１００の構成を示すブロック図である。
【図２】ＲＡＭ１５に記憶される曲データの構成を示す図である。
【図３】メインルーチンの動作を示すフローチャートである。
【図４】スイッチ処理の動作を示すフローチャートである。
【図５】ガイドスイッチ処理の動作を示すフローチャートである。
【図６】スタート／ストップスイッチ処理の動作を示すフローチャートである。
【図７】スタート／ストップスイッチ処理の動作を示すフローチャートである。
【図８】ガイド処理の動作を示すフローチャートである。
【図９】鍵盤処理の動作を示すフローチャートである。
【図１０】鍵盤処理の動作を示すフローチャートである。
【図１１】鍵盤処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成
図１は、実施の一形態による演奏教習装置１００の構成を示すブロック図である。この図において、鍵盤１０は押離鍵操作に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等の演奏情報を発生する。ＬＥＤ部１１は、鍵盤１０の各鍵毎に配設され、指定色で発光するＬＥＤ（フルカラー発光素子）と、これらＬＥＤを点灯駆動するドライバ（不図示）とから構成され、ＣＰＵ１３から供給される制御信号に従って指定される鍵のＬＥＤを指定色で点滅して次に弾くべき鍵を、点滅から点灯に変更して弾くべき鍵をそれぞれユーザにガイドしたり、ガイドにより点滅（又は点灯）しているＬＥＤの発光色を変化させ、現在ガイドされている音（鍵）がどのような演奏ミスを仕勝ちな音であるかユーザに報知する。
【００１５】
スイッチ部１２は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。スイッチ部１２に配設される主要なスイッチとしては、例えばガイド実行の可否を選択するガイドスイッチや、ガイドの進行開始／停止を指示するスタート／ストップスイッチ等を備える。
【００１６】
ＣＰＵ１３は、スイッチ部１２が発生する各種スイッチイベントに応じて装置各部を制御する。本発明の要旨に係わるＣＰＵ１３の処理動作については追って詳述する。ＲＯＭ１４には、ＣＰＵ１３にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、スイッチ処理、ガイド処理および鍵盤処理を含む。
【００１７】
ＲＡＭ１５は、ワークエリアおよびデータエリアを備える。ＲＡＭ１５のワークエリアには、ＣＰＵ１３の処理に用いられる各種レジスタ・フラグデータが一時記憶される。ＲＡＭ１５のデータエリアには、図２に図示する構成の曲データが記憶される。曲データは、曲を構成する各音を表すデータと、それら各音の中で演奏ミスした音についてはどのような演奏ミスを仕勝ちであるかを表すデータとを含む。曲データは、タイムＴＩＭＥとイベントＥＶＥＮＴとが組となって曲進行に対応した時系列のアドレス順に記憶される、いわゆる相対時間方式と呼ばれるデータ形式で表現される。
【００１８】
タイムＴＩＭＥは、前イベントからの経過時間で現イベントのタイミングを表す。イベントＥＶＥＮＴは、イベント識別、ノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数を含む。イベント識別は、発音の場合にはノートオンイベントを、消音の場合にノートオフイベントを表す。ノートナンバは、発音（又は消音）する音高を表す。
【００１９】
有効フラグは、どのような演奏ミスを仕勝ちな音であるかを表すデータ（演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）が有効であるか否かを表す。後述するように、イベントＥＶＥＮＴで表される音が所定回数以上のガイドが行われた場合（後述の演奏回数がＮ回以上に達した場合）に、有効フラグが「１」にセットされる。有効フラグが「１」になると、どのような演奏ミスを仕勝ちな音であるかを表すデータ（演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）が有効になる。
【００２０】
演奏回数は、イベントＥＶＥＮＴで表される音をガイドした回数を表す。タイミングずれ（遅）回数とは、イベントＥＶＥＮＴで表される音を所定の適正タイミング範囲より遅れて押鍵した時にカウントされる回数である。タイミングずれ（早）回数とは、イベントＥＶＥＮＴで表される音を所定の適正タイミング範囲より早く押鍵した時にカウントされる回数である。
【００２１】
押鍵ミス回数とは、イベントＥＶＥＮＴに含まれるノートナンバに対応した鍵のＬＥＤ点灯によりガイドされた鍵（弾くべき鍵）と異なる鍵を押鍵した時にカウントされる回数である。傾向フラグには、上述した演奏ミス項目（タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）の内、最も回数の多い演奏ミス項目を表すフラグ値がセットされる。具体的には、最も回数の多い演奏ミス項目が「タイミングずれ（遅）回数」ならばフラグ値「１」が、「タイミングずれ（早）回数」ならばフラグ値「２」が、「押鍵ミス回数」ならばフラグ値「３」がセットされる。
【００２２】
再び図１を参照して実施形態の構成について説明を進める。図１において、表示部１６は、ＬＣＤパネル等から構成され、ＣＰＵ１３から供給される表示制御信号に応じて各種設定状態や動作状態など画面表示する。音源１７は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源１７は、各種音色の波形データを記憶しており、これらの内、ＣＰＵ１３から供給される楽音パラメータに応じた波形データを読み出して楽音出力を発生する。サウンドシステム１８は、音源１７の楽音出力をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【００２３】
Ｂ．動作
次に、図３〜図１１を参照して上記構成による実施形態の動作について説明する。以下では、最初にメインルーチンの動作を説明し、続いてメインルーチンからコールされる各処理（スイッチ処理、ガイド処理および鍵盤処理）の動作について述べる。
【００２４】
（１）メインルーチンの動作
演奏教習装置１００がパワーオンされると、ＣＰＵ１３は図３に図示するメインルーチンを実行してステップＳＡ１に処理を進め、ＲＡＭ１５のワークエリアに格納される各種レジスタやフラグデータをゼロリセット又は初期値セットする他、音源１７に対して初期化を指示するイニシャライズを行う。イニシャライズが完了すると、ＣＰＵ１１３は、ステップＳＡ２に進み、ガイドスイッチ処理およびスタート／ストップスイッチ処理を含むスイッチ処理を実行する。
【００２５】
ガイドスイッチ処理では、後述するように、ガイドスイッチがオン状態ならば、ガイドフラグＧＦを「１」にセットしてガイド実行指示状態に設定し、一方、ガイドスイッチがオフ状態であると、ガイドフラグＧＦおよびスタートフラグＳＴＦをそれぞれゼロリセットしてガイド中止指示状態に設定すると共に、ガイド停止を指示した後、鍵盤１０の各鍵に配設されるＬＥＤの全てを消灯させ、さらに曲進行時間を計時するタイマインタラプトを禁止する。
【００２６】
スタート／ストップスイッチ処理では、後述するように、上記ガイドスイッチ処理によりガイド実行指示状態に設定された場合に、スタート／ストップスイッチのオン操作に応じてガイドの進行開始が指示されると、最初のノートオンイベントを含む曲データが見つかるまでＲＡＭ１５に格納される曲データを先頭から順番に読み出し、その過程で曲データのタイムＴＩＭＥが読み出された場合には、そのタイムＴＩＭＥを順次レジスタＴに加算して最初のノートオンイベントの発音タイミングを算出する。
【００２７】
最初のノートオンイベントを含む曲データのイベントＥＶＥＮＴが見つかると、当該イベントＥＶＥＮＴを構成する各データ（ノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）を読み出し、その中のノートナンバをレジスタＮＯＴＥにストアする。そして、有効フラグが「０」ならば、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを所定色（例えば白色）で点滅させてまず最初に弾くべき鍵をユーザにガイドする。
【００２８】
これに対し、有効フラグが「１」ならば、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤの発光色を、傾向フラグの値に応じて変化させる等の発光形態制御によって、最初に弾くべき音がどのような演奏ミスを仕勝ちな音であるかをユーザに報知する。
【００２９】
次いで、ステップＳＡ３では、ガイド処理を実行する。後述するように、ガイド処理では、ガイド実行指示状態（ガイドフラグＧＦが「１」）であって、かつガイド進行中（スタートフラグＳＴＦが「１」）に、タイマ機能（タイマインタラプト）によってタイマ最小時間がカウントされると、レジスタＴの値をデクリメントし、デクリメントされたレジスタＴの値が「０」以下となって、ノートオンイベントの発音タイミングに達すると、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを点滅から点灯に変更する。
【００３０】
続いて、ステップＳＡ４では、鍵盤処理を実行する。後述するように、鍵盤処理では、押離鍵操作に応じて楽音を発音／消音させる一方、ガイド進行中であると、曲データ（ノートオンイベントを含むイベントＥＶＥＮＴ）に基づくガイドに対して演奏ミスすると、その演奏ミスに該当するイベントＥＶＥＮＴ中の演奏ミス項目（押鍵ミス回数、タイミングずれ（早）回数およびタイミングずれ（遅）回数の何れか）と演奏回数とをインクリメントする。
【００３１】
そして、インクリメントした演奏回数がＮ回以上に達すると、イベントＥＶＥＮＴ中の有効フラグを「１」にセットし、どのような演奏ミスを仕勝ちな音であるかを表すデータ（演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）が有効になった旨を表す。
【００３２】
有効フラグが「１」にセットされると、イベントＥＶＥＮＴ中の「タイミングずれ（遅）回数」、「タイミングずれ（早）回数」および「押鍵ミス回数」の内から最も回数の多い演奏ミス項目を抽出し、抽出した演奏ミス項目が「タイミングずれ（遅）回数」ならばイベントＥＶＥＮＴ中の傾向フラグを「１」に、「タイミングずれ（早）回数」ならばイベントＥＶＥＮＴ中の傾向フラグを「２」に、「押鍵ミス回数」ならばイベントＥＶＥＮＴ中の傾向フラグを「３」にセットする。
【００３３】
こうして、ガイドに対して誤った押鍵が為され、それに応じてイベントＥＶＥＮＴ中の、どのような演奏ミスを仕勝ちな音であるかを表すデータを更新し終えると、次に弾くべき鍵のガイドを行うべく次の曲データ（ノートオンイベントを含むイベントＥＶＥＮＴ）からノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）を読み出す。
【００３４】
そして、読み出した有効フラグが「１」ならば、ノートナンバの鍵に配設されるＬＥＤを傾向フラグの値で指定される発光色で点滅させる。例えば傾向フラグが「１」（押鍵するタイミングが遅れるという演奏ミスを仕勝ちな音）ならば赤色点滅、傾向フラグが「２」（押鍵するタイミングが早いという演奏ミスを仕勝ちな音）ならば青色点滅、傾向フラグが「３」（間違った鍵を押鍵するという演奏ミスを仕勝ちな音）ならば黄色点滅させることによって、次に弾くべき鍵をガイドしつつ、どのような演奏ミスを仕勝ちな音であるかをユーザに報知する。
【００３５】
次いで、ステップＳＡ５では、例えば曲データを表示部１６に楽譜として表示し、その表示された楽譜において現在ガイドされている音符をブリンク表示させる等の、その他の処理を実行する。以後、上述したステップＳＡ２〜ＳＡ５を繰り返し実行する。
【００３６】
（２）スイッチ処理の動作
次に、図４〜図７を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップＳＡ２（図３参照）を介して実行されるスイッチ処理は、図４に図示するステップＳＢ１のガイドスイッチ処理、ステップＳＢ２のスタート／ストップスイッチ処理およびステップＳＢ３のその他のスイッチ処理から構成される。以下、ガイドスイッチ処理およびスタート／ストップスイッチ処理の各動作について述べる。
【００３７】
＜ガイドスイッチ処理の動作＞
スイッチ処理のステップＳＢ１（図４参照）を介して本処理が実行されると、ＣＰＵ１３は図５に図示するステップＳＣ１に進み、ガイドスイッチがオン状態であるか否かを判断する。オン状態ならば、判断結果は「ＹＥＳ」になり、ステップＳＣ２に進み、ガイドフラグＧＦを「１」にセットしてガイド実行指示状態に設定して本処理を終える。
【００３８】
一方、ガイドスイッチがオフ状態であると、上記ステップＳＣ１の判断結果は「ＮＯ」になり、ステップＳＣ３に進み、ガイドフラグＧＦをゼロリセットしてガイド中止指示状態に設定し、続くステップＳＣ４では、スタートフラグＳＴＦ（後述する）をゼロリセットしてガイド停止を指示する。そして、ステップＳＣ５では、鍵盤１０の各鍵に配設されるＬＥＤの全てを消灯するようＬＥＤ部１１に指示する。この後、ステップＳＣ６に進み、曲進行時間を計時するタイマインタラプトを禁止して本処理を終える。
【００３９】
＜スタート／ストップスイッチ処理の動作＞
スイッチ処理のステップＳＢ２（図４参照）を介して本処理が実行されると、ＣＰＵ１３は図６に図示するステップＳＤ１に進み、ガイドフラグＧＦが「１」であるか否かを判断する。ガイドフラグＧＦが「０」（ガイド中止指示状態）ならば、判断結果は「ＮＯ」になり、本処理を終えるが、ガイドフラグＧＦが「１」（ガイド実行指示状態）であれば、判断結果は「ＹＥＳ」になり、ステップＳＤ２に処理を進める。
【００４０】
ステップＳＤ２では、ガイドの進行開始／停止を指示するスタート／ストップスイッチのオン操作の有無を判断する。スタート／ストップスイッチがオン操作されなければ、判断結果は「ＮＯ」になり、本処理を終える。スタート／ストップスイッチがオン操作されると、上記ステップＳＤ２の判断結果が「ＹＥＳ」になり、ステップＳＤ３に進む。ステップＳＤ３では、スタートフラグＳＴＦを反転する。スタートフラグＳＴＦとは、フラグ値「１」の場合にガイドの進行開始を表し、フラグ値「０」の場合にガイドの停止を表すフラグである。また、スタート／ストップスイッチは所謂トグル動作するスイッチであり、オン操作に応じてガイドの進行開始／停止を交互に指示する。
【００４１】
次いで、ステップＳＤ４では、スタート／ストップスイッチのオン操作に応じて反転されたスタートフラグＳＴＦが「１」であるか否かを判断する。反転されたスタートフラグＳＴＦが「０」（ガイドの停止）ならば、判断結果は「ＮＯ」になり、ステップＳＤ５に進み、鍵盤１０の各鍵に配設されるＬＥＤの内、点灯中（あるいは点滅中）のＬＥＤを消灯するようＬＥＤ部１１に指示する。そして、ステップＳＤ６に進み、曲進行時間を計時するタイマインタラプトを禁止して本処理を終える。
【００４２】
一方、スタート／ストップスイッチのオン操作に応じて反転されたスタートフラグＳＴＦが「１」（ガイドの進行開始）であると、上記ステップＳＤ４の判断結果は「ＹＥＳ」になり、ステップＳＤ７に進み、ＲＡＭ１５のデータエリアに格納される曲データの先頭アドレスを読み出しアドレスＡＤにセットし、続くステップＳＤ８では、レジスタＴをゼロリセットする。次いで、ステップＳＤ９では、読み出しアドレスＡＤに応じてＲＡＭ１５のデータエリアから曲データを読み出す。
【００４３】
そして、ステップＳＤ１０では、読み出した曲データがタイムＴＩＭＥ又はイベントＥＶＥＮＴの何れであるかを判断する。読み出した曲データがタイムＴＩＭＥであると、ステップＳＤ１１に進み、レジスタＴにタイムＴＩＭＥを加算する。続いて、ステップＳＤ１２では、次データであるイベントＥＶＥＮＴの読み出しの為に読み出しアドレスＡＤを歩進させた後、上記ステップＳＤ９に戻る。
【００４４】
歩進された読み出しアドレスＡＤに応じてイベントＥＶＥＮＴが読み出されると、上記ステップＳＤ１０を介してステップＳＤ１３に進み、読み出したイベントＥＶＥＮＴに含まれるイベント識別を参照して当該イベントＥＶＥＮＴがノートオンイベントであるか否かを判断する。ノートオフイベントであったならば、判断結果は「ＮＯ」になり、上述したステップＳＤ１２に進み、読み出しアドレスＡＤを歩進させた後、再びステップＳＤ１０に処理を戻す。
【００４５】
これに対し、ノートオンイベントならば、上記ステップＳＤ１３の判断結果は「ＹＥＳ」になり、ステップＳＤ１４に進み、そのノートオンイベントのイベントＥＶＥＮＴを構成する各データ（ノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）を読み出す。この後、図７に図示するステップＳＤ１５に進み、上記ステップＳＤ１４にて読み出したノートナンバをレジスタＮＯＴＥにストアする。
【００４６】
次いで、ステップＳＤ１６では、上記ステップＳＤ１４にて読み出した有効フラグが「０」であるか否かを判断する。有効フラグが「１」、すなわち上記ステップＳＤ１４にて読み出されたイベントＥＶＥＮＴで指定される音が、これまでにＮ回以上演奏されていると、判断結果は「ＮＯ」となり、ステップＳＤ１７に進む。ステップＳＤ１７では、上記ステップＳＤ１４にて読み出されたイベントＥＶＥＮＴに含まれる傾向フラグに基づき、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤの発光形態を制御して本処理を終える。
【００４７】
上記ステップＳＤ１７の発光形態制御とは、具体的には傾向フラグが「１」（押鍵するタイミングが遅れるという演奏ミスを仕勝ちな音）の場合には、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤが赤色点滅するようＬＥＤ部１１に指示する。傾向フラグが「２」（押鍵するタイミングが早いという演奏ミスを仕勝ちな音）の場合には、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤが青色点滅するようＬＥＤ部１１に指示する。傾向フラグが「３」（間違った鍵を押鍵するという演奏ミスを仕勝ちな音）の場合には、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤが黄色点滅するようＬＥＤ部１１に指示する。こうすることで曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知し得るようになる。
【００４８】
一方、上記ステップＳＤ１４にて読み出されたイベントＥＶＥＮＴで指定される音がこれまでにＮ回以上演奏されておらず、有効フラグが「０」であると、上記ステップＳＤ１６の判断結果は「ＹＥＳ」になり、ステップＳＤ１８に進む。ステップＳＤ１８では、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを所定色（例えば白色）で点滅するようＬＥＤ部１１に指示する。これにより、まず最初に弾くべき鍵をユーザに案内するガイドが開始される。この後、ステップＳＤ１９に進み、タイマインタラプト禁止を解除して本処理を終える。なお、ＣＰＵ１３では、タイマインタラプト禁止解除によりタイマ機能を具現するタイマインタラプト（不図示）をスタートさせ、曲再生テンポに対応したタイマ最小時間（ティック）をカウントし始める。
【００４９】
このように、スタート／ストップスイッチ処理では、ガイド実行指示状態（ガイドフラグＧＦが「１」）において、スタート／ストップスイッチのオン操作に応じて反転されるスタートフラグＳＴＦが「１」になると、最初のノートオンイベントを含む曲データが見つかるまでＲＡＭ１５に格納される曲データを先頭から順番に読み出し、その過程で曲データのタイムＴＩＭＥが読み出された場合には、そのタイムＴＩＭＥを順次レジスタＴに加算して最初のノートオンイベントの発音タイミングを算出する。
【００５０】
最初のノートオンイベントを含む曲データ中のイベントＥＶＥＮＴが見つかると、当該イベントＥＶＥＮＴ構成する各データ（ノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）を読み出し、その中のノートナンバをレジスタＮＯＴＥにストアする。そして、有効フラグが「０」であると、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤが所定色（例えば白色）で点滅させ、まず最初に弾くべき鍵をユーザにガイドする。
【００５１】
これに対し、有効フラグが「１」ならば、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤの発光色を、傾向フラグの値に応じて変化させる発光形態制御によって、最初に弾くべき音がどのような演奏ミスを仕勝ちなのかをユーザに報知する。なお、傾向フラグの値に応じた発光形態制御とは、一例として挙げた点滅発光色変化の他、発光輝度や点滅間隔を異ならせる等、各種バリエーションが可能である。
【００５２】
（３）ガイド処理の動作
次に、図８を参照してガイド処理の動作を説明する。前述したメインルーチンのステップＳＡ３（図３参照）を介して本処理が実行されると、ＣＰＵ１３は図８に図示するステップＳＥ１に進み、ガイドフラグＧＦが「１」であるか否かを判断する。ガイドフラグＧＦが「０」（ガイド中止指示状態）ならば、判断結果は「ＮＯ」になり、本処理を終えるが、ガイドフラグＧＦが「１」（ガイド実行指示状態）であると、判断結果は「ＹＥＳ」になり、ステップＳＥ２に進む。
【００５３】
ステップＳＥ２では、スタートフラグＳＴＦが「１」（ガイドの進行開始）であるかどうかを判断する。スタートフラグＳＴＦが「０」（ガイドの停止）ならば、判断結果は「ＮＯ」になり、本処理を終えるが、スタートフラグＳＴＦが「１」（ガイドの進行開始）であると、判断結果は「ＹＥＳ」になり、ステップＳＥ３に進む。ステップＳＥ３では、タイマ機能（タイマインタラプト）が曲再生テンポに対応したタイマ最小時間をカウントしたか否かを判断する。
【００５４】
タイマ最小時間をカウントしていなければ、判断結果は「ＮＯ」となり、本処理を終えるが、タイマ最小時間をカウントすると、判断結果は「ＹＥＳ」になり、ステップＳＥ４に進む。ステップＳＥ４では、レジスタＴの値をデクリメントする。そして、ステップＳＥ５では、デクリメントされたレジスタＴの値が「０」以下になったか否か、すなわちノートオンイベントの発音タイミングに達したかどうかを判断する。
【００５５】
ノートオンイベントの発音タイミングに達していなければ、判断結果は「ＮＯ」となり、本処理を終えるが、デクリメントされたレジスタＴの値が「０」以下となって、ノートオンイベントの発音タイミングに達すると、上記ステップＳＥ５の判断結果は「ＹＥＳ」になり、ステップＳＥ６に進む。そして、ステップＳＥ６では、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを点滅から点灯に変更するようＬＥＤ部１１に指示して本処理を終える。こうしてＬＥＤの点滅から点灯に変更することによって、弾くべき鍵の押鍵タイミングがユーザにガイドされる。
【００５６】
このように、ガイド処理では、ガイド進行中に、タイマ機能（タイマインタラプト）によってタイマ最小時間がカウントされると、レジスタＴの値をデクリメントし、デクリメントされたレジスタＴの値が「０」以下となって、ノートオンイベントの発音タイミングに達すると、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを点滅から点灯に変更するようＬＥＤ部１１に指示して本処理を終える。
【００５７】
（４）鍵盤処理の動作
次に、図９〜図１１を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図３参照）を介して本処理が実行されると、ＣＰＵ１３は図９に図示するステップＳＦ１に進み、鍵盤１０の各鍵についてキーオン／キーオフ信号の有無を検出する鍵走査を行い、続くステップＳＦ２では、上記ステップＳＦ１の鍵走査結果に基づき鍵変化を判別する。
【００５８】
押離鍵操作が行われず、鍵変化が生じなければ、ステップＳＦ２において鍵変化無しと判別して本処理を終えるが、押鍵操作に応じて発生するキーオン信号を検出した場合には後述のステップＳＦ３〜ＳＦ３８を、離鍵操作に応じて発生するキーオフ信号を検出した場合には後述のステップＳＦ３９〜ＳＦ４１を実行する。以下、キーオン信号を検出した場合の動作と、キーオフ信号を検出した場合の動作とに分けて説明を進める。
【００５９】
＜キーオン信号を検出した場合＞
押鍵操作に応じて発生するキーオン信号を検出すると、ステップＳＦ２を介してステップＳＦ３に進み、押鍵された鍵の鍵番号をレジスタＫＥＹにストアする。以下、レジスタＫＥＹの内容を鍵番号ＫＥＹと称す。次いで、ステップＳＦ４では、鍵番号ＫＥＹおよびベロシティを含むノートオンイベントを作成し、続くステップＳＦ５では、作成したノートオンイベントに基づき生成した楽音パラメータを音源１７に供給する。これにより、音源１７は、押鍵された鍵の音高の楽音を発音する。
【００６０】
次に、ステップＳＦ６では、ガイドフラグＧＦが「１」であるか否かを判断する。ガイドフラグＧＦが「０」ならば、判断結果は「ＮＯ」になり、本処理を終えるが、ガイドフラグＧＦが「１」であれば、判断結果は「ＹＥＳ」になり、ステップＳＦ７に進む。そして、ステップＳＦ７では、スタートフラグＳＴＦが「１」、すなわちガイド進行中であるかどうかを判断する。ガイド停止中（スタートフラグＳＴＦが「０」）ならば、判断結果は「ＮＯ」になり、本処理を終えるが、ガイド進行中であれば、判断結果は「ＹＥＳ」になり、ステップＳＦ８に進む。
【００６１】
ステップＳＦ８では、レジスタＮＯＴＥにストアされたノートナンバで表される音高と鍵番号ＫＥＹとが同一であるか否か、つまり曲データに従ってガイドされた鍵が押鍵されたかどうかを判断する。ガイドされた鍵とは異なる音高の鍵が押鍵された場合には、判断結果は「ＮＯ」になり、ステップＳＦ９に進む。ステップＳＦ９では、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中の押鍵ミス回数（図２参照）をインクリメントした後、後述のステップＳＦ１４（図１０参照）に処理を進める。
【００６２】
一方、曲データに従ってガイドされた鍵が押鍵された場合には、上記ステップＳＦ８の判断結果が「ＹＥＳ」になり、ステップＳＦ１０に進む。ステップＳＦ１０では、押鍵時点のレジスタＴの値が、タイミングずれ（早）判定条件（０＜α１≦Ｔ≦α２）を満たすか否かを判断する。なお、定数α１, α２は、ノートオンイベントの発音タイミング（Ｔ＝０）以前の所定期間を指定する時間値である。
【００６３】
押鍵時点のレジスタＴの値が、タイミングずれ（早）判定条件（０＜α１≦Ｔ≦α２）を満たすと、判断結果は「ＹＥＳ」となり、ステップＳＦ１１に進み、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中のタイミングずれ（早）回数（図２参照）をインクリメントした後、後述のステップＳＦ１４（図１０参照）に処理を進める。
【００６４】
これに対し、押鍵時点のレジスタＴの値が、タイミングずれ（早）判定条件（０＜α１≦Ｔ≦α２）を満たさなければ、上記ステップＳＦ１０の判断結果は「ＮＯ」になり、ステップＳＦ１２に進む。ステップＳＦ１２では、押鍵時点のレジスタＴの値が、タイミングずれ（遅）判定条件（β１≦Ｔ≦β２＜０）を満たすか否かを判断する。なお、定数β１, β２は、ノートオンイベントの発音タイミング（Ｔ＝０）以降の所定期間を指定する時間値である。
【００６５】
押鍵時点のレジスタＴの値が、タイミングずれ（遅）判定条件（β１≦Ｔ≦β２＜０）を満たすと、判断結果は「ＹＥＳ」となり、ステップＳＦ１３に進み、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中のタイミングずれ（遅）回数（図２参照）をインクリメントした後、図１０に図示するステップＳＦ１４に進む。
【００６６】
一方、押鍵時点のレジスタＴの値が、タイミングずれ（遅）判定条件（β１≦Ｔ≦β２＜０）を満たさなければ、上記ステップＳＦ１２の判断結果が「ＮＯ」となり、図１０に図示するステップＳＦ１４に進む。そして、ステップＳＦ１４では、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中の演奏回数（図２参照）をインクリメントする。
【００６７】
次いで、ステップＳＦ１５では、インクリメントした演奏回数がＮ回以上であるか否かを判断する。インクリメントした演奏回数がＮ回以上ならば、判断結果は「ＹＥＳ」になり、ステップＳＦ１６に進み、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中の有効フラグを「１」にセットする。続いて、ステップＳＦ１７では、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中の「タイミングずれ（遅）回数」、「タイミングずれ（早）回数」および「押鍵ミス回数」の内から最も回数の多い演奏ミス項目を抽出する。
【００６８】
そして、ステップＳＦ１８〜ＳＦ２０では、上記ステップＳＦ１７において抽出した演奏ミス項目が、「タイミングずれ（遅）回数」、「タイミングずれ（早）回数」および「押鍵ミス回数」の何れに該当するのかを判別する。なお、最も回数の多い演奏ミス項目を特定出来ない場合、例えば全ての演奏ミス項目が同じミス回数だったり演奏ミスが皆無であったりすると、上記ステップＳＦ１８〜ＳＦ２０の各判断結果はいずれも「ＮＯ」となり、ステップＳＦ２４に進み、レジスタＮＯＴＥにストアされたノートナンバを含むイベントＥＶＥＮＴ中の有効フラグをゼロリセットした後、図１１に図示するステップＳＦ２５に進む。
【００６９】
これに対し、最も回数の多い演奏ミス項目が「タイミングずれ（遅）回数」であれば、上記ステップＳＦ１８の判断結果が「ＹＥＳ」となり、ステップＳＦ２１に進み、傾向フラグを「１」にセットした後、図１１に図示するステップＳＦ２５に進む。最も回数の多い演奏ミス項目が「タイミングずれ（早）回数」であれば、上記ステップＳＦ１９の判断結果が「ＹＥＳ」となり、ステップＳＦ２２に進み、傾向フラグを「２」にセットした後、図１１に図示するステップＳＦ２５に進む。最も回数の多い演奏ミス項目が「押鍵ミス回数」の場合には、上記ステップＳＦ２０の判断結果が「ＹＥＳ」となり、ステップＳＦ２３に進み、傾向フラグを「３」にセットした後、図１１に図示するステップＳＦ２５に進む。
【００７０】
さて一方、上述したステップＳＦ１４においてインクリメントされた演奏回数がＮ回数未満であったならば、上記ステップＳＦ１５の判断結果は「ＮＯ」となり、図１１に図示するステップＳＦ２５に進む。ステップＳＦ２５では、鍵盤１０の各鍵に配設されるＬＥＤの内、弾くべき鍵をガイドして点灯中のＬＥＤを消灯するようＬＥＤ部１１に指示する。次いで、ステップＳＦ２６では、次の曲データの読み出しを進める為、読み出しアドレスＡＤを歩進させ、続くステップＳＦ２７では、歩進された読み出しアドレスＡＤに応じてＲＡＭ１５のデータエリアから曲データを読み出す。
【００７１】
続いて、ステップＳＦ２８では、曲データの有無、つまり上記ステップＳＦ２７において曲データを読み出せたか否かを判断する。曲終端まで読み出しを進めていなければ、曲データを読み出せる為、判断結果は「ＹＥＳ」になり、ステップＳＦ２９に進む。ステップＳＦ２９では、読み出した曲データがタイムＴＩＭＥ又はイベントＥＶＥＮＴの何れであるかを判断する。読み出した曲データがタイムＴＩＭＥならば、ステップＳＦ３０に進み、レジスタＴにタイムＴＩＭＥを加算し、続くステップＳＦ３１では、次データであるイベントＥＶＥＮＴの読み出しの為に読み出しアドレスＡＤを歩進させた後、上記ステップＳＦ２７に処理を戻す。
【００７２】
そして、歩進された読み出しアドレスＡＤに応じてイベントＥＶＥＮＴが読み出されると、上記ステップＳＦ２９を介してステップＳＦ３２に進み、読み出したイベントＥＶＥＮＴに含まれるイベント識別を参照して当該イベントＥＶＥＮＴがノートオンイベントであるか否かを判断する。ノートオフイベントであったならば、判断結果は「ＮＯ」になり、上述したステップＳＦ３１に進み、読み出しアドレスＡＤを歩進させた後、上述のステップＳＦ２７に戻る。
【００７３】
これに対し、読み出したイベントＥＶＥＮＴがノートオンイベントであると、上記ステップＳＦ３２の判断結果が「ＹＥＳ」になり、ステップＳＦ３３に進む。ステップＳＦ３３では、そのノートオンイベントのイベントＥＶＥＮＴを構成する各データ（ノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）を読み出し、読み出したノートナンバについてはレジスタＮＯＴＥにストアし、それ以外はテンポラリレジスタに一時記憶する。
【００７４】
次に、ステップＳＦ３４では、ノートオンイベントのイベントＥＶＥＮＴから読み出した有効フラグが「０」であるか否かを判断する。ここで、当該ノートオンイベントのイベントＥＶＥＮＴで指定される音がＮ回以上演奏されておらず、有効フラグが「０」であったとする。そうすると、判断結果は「ＹＥＳ」になり、ステップＳＦ３５に進み、レジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを所定の発光色（例えば白色）で点滅させるようＬＥＤ部１１に指示する。これにより、新たに弾くべき鍵がユーザにガイドされる。
【００７５】
一方、イベントＥＶＥＮＴで指定される音がＮ回以上演奏され、有効フラグが「１」にセットされていれば、上記ステップＳＦ３４の判断結果は「ＮＯ」となり、ステップＳＦ３６に進み、イベントＥＶＥＮＴに含まれる傾向フラグの値で指定される発光色でレジスタＮＯＴＥにストアされたノートナンバの鍵に配設されるＬＥＤを点滅させるようＬＥＤ部１１に指示した後、本処理を終える。
【００７６】
具体的には、傾向フラグが「１」（押鍵するタイミングが遅れるという演奏ミスを仕勝ちな音）ならば赤色点滅、傾向フラグが「２」（押鍵するタイミングが早いという演奏ミスを仕勝ちな音）ならば青色点滅、傾向フラグが「３」（間違った鍵を押鍵するという演奏ミスを仕勝ちな音）ならば黄色点滅させる。このようにして、傾向フラグの値に対応した発光色で弾くべき鍵に配設されるＬＥＤを点滅させると、ガイドしつつ、曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知することが可能になる。
【００７７】
さて一方、曲終端まで読み出しを進め、全ての曲データを読み出し終えると、上述したステップＳＦ２８の判断結果が「ＮＯ」になり、ステップＳＦ３７に進み、鍵盤１０の各鍵に配設されるＬＥＤの内、点灯中のＬＥＤを消灯するようＬＥＤ部１１に指示する。次いで、ステップＳＦ３８では、スタートフラグＳＴＦをゼロリセットしてガイドを停止させ、続くステップＳＦ３９では、曲進行時間を計時するタイマインタラプトを禁止して本処理を終える。
【００７８】
＜キーオフ信号を検出した場合＞
離鍵操作に応じて発生するキーオフ信号を検出した場合には、ステップＳＦ２（図９参照）を介してステップＳＦ４０に進み、離鍵された鍵の鍵番号をレジスタＫＥＹにストアする。そして、ステップＳＦ４１では、その鍵番号ＫＥＹを含むノートオフイベントを作成し、続くステップＳＦ４２では、作成したノートオフイベントに基づき生成した楽音パラメータを音源１７に供給する。これにより、音源１７は、離鍵された鍵の音高の楽音を消音する。
【００７９】
以上のように、鍵盤処理では、押離鍵操作に応じて楽音を発音／消音させる一方、ガイド進行中であると、曲データ（ノートオンイベントを含むイベントＥＶＥＮＴ）に基づくガイドに対して演奏ミスすると、その演奏ミスに該当するイベントＥＶＥＮＴ中の演奏ミス項目（押鍵ミス回数、タイミングずれ（早）回数およびタイミングずれ（遅）回数の何れか）と演奏回数とをインクリメントして更新する。更新された演奏回数がＮ回以上に達すると、イベントＥＶＥＮＴ中の有効フラグを「１」にセットし、どのような演奏ミスを仕勝ちな音であるかを表すデータ（演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）が有効になった旨を表す。
【００８０】
有効フラグが「１」にセットされると、イベントＥＶＥＮＴ中の「タイミングずれ（遅）回数」、「タイミングずれ（早）回数」および「押鍵ミス回数」の内から最も回数の多い演奏ミス項目を抽出し、抽出した演奏ミス項目が「タイミングずれ（遅）回数」ならばイベントＥＶＥＮＴ中の傾向フラグを「１」に、「タイミングずれ（早）回数」ならばイベントＥＶＥＮＴ中の傾向フラグを「２」に、「押鍵ミス回数」ならばイベントＥＶＥＮＴ中の傾向フラグを「３」にセットする。
【００８１】
こうして、ガイドに対して誤った押鍵が為され、それに応じてイベントＥＶＥＮＴ中の、どのような演奏ミスを仕勝ちな音であるかを表すデータを更新し終えると、次に弾くべき鍵をガイドするべく次の曲データ（ノートオンイベントを含むイベントＥＶＥＮＴ）からノートナンバ、有効フラグ、演奏回数、傾向フラグ、タイミングずれ（遅）回数、タイミングずれ（早）回数および押鍵ミス回数）を読み出す。
【００８２】
そして、読み出した有効フラグが「１」ならば、ノートナンバの鍵に配設されるＬＥＤを傾向フラグの値で指定される発光色で点滅させる。例えば、傾向フラグが「１」（押鍵するタイミングが遅れるという演奏ミスを仕勝ちな音）ならば赤色点滅、傾向フラグが「２」（押鍵するタイミングが早いという演奏ミスを仕勝ちな音）ならば青色点滅、傾向フラグが「３」（間違った鍵を押鍵するという演奏ミスを仕勝ちな音）ならば黄色点滅させることによって、次に弾くべき鍵をガイドしつつ、どのような演奏ミスを仕勝ちな音であるかをユーザに報知する。
【００８３】
以上説明したように、本実施形態では、曲を構成する各音を表すデータと、それら各音の中で演奏ミスした音についてはどのような演奏ミスを仕勝ちであるかを表すデータ（有効フラグ、演奏回数、傾向フラグ、タイミングずれ（早）回数、タイミングずれ（遅）回数および押鍵ミス回数）とを備えた曲データに基づきユーザに弾くべき鍵をガイドする。このガイドに対してユーザが演奏ミスすると、ガイドに用いた曲データ中の該当する演奏ミス項目（押鍵ミス回数、タイミングずれ（早）回数およびタイミングずれ（遅）回数の何れか）および演奏回数をインクリメントして更新する。
【００８４】
更新された演奏回数がＮ回以上になった場合には、有効フラグを「１」にセットし、どのような演奏ミスを仕勝ちな音であるかを表すデータが有効になった旨を表す。そして、有効フラグが「１」にセットされると、最も回数の多い演奏ミス項目を抽出する。抽出した演奏ミス項目が「タイミングずれ（遅）回数」ならば、ガイドに用いた曲データ中の傾向フラグを「１」にセットし、「タイミングずれ（早）回数」ならば、ガイドに用いた曲データ中の傾向フラグを「２」にセットし、「押鍵ミス回数」ならば、ガイドに用いた曲データ中の傾向フラグを「３」にセットする。
【００８５】
こうして、演奏ミスの発生に応じて、ガイドに用いた曲データ中の、どのような演奏ミスを仕勝ちな音であるかを表すデータを更新し終えると、次の曲データを読み出し、読み出した曲データ中の有効フラグが「１」となっていれば、当該曲データ中の傾向フラグの値に応じたガイド形態で次に弾くべき鍵をガイドする。例えば、傾向フラグが「１」（押鍵タイミングが遅れがちな音）であると、次に弾くべき鍵に配設されるＬＥＤを赤色点滅させ、傾向フラグが「２」（押鍵タイミングが早めがちの音）であると、次に弾くべき鍵に配設されるＬＥＤを青色点滅させ、傾向フラグが「３」（押鍵し間違いがちな音）であると、次に弾くべき鍵に配設されるＬＥＤを黄色点滅させる。こうすることによって、次に弾くべき鍵をガイドしつつ、どのような演奏ミスを仕勝ちな音であるかをユーザに報知することが出来る。
【００８６】
また、本実施形態では、演奏ミスに応じて更新される演奏回数がＮ回未満の場合、最も回数の多い演奏ミス項目を抽出する処理や、傾向フラグに基づきどのような演奏ミスを仕勝ちな音であるかをユーザに報知する処理を行わないようにしたので、最も回数の多い演奏ミス項目を見誤る虞が無くなり、この結果、ユーザに誤った報知することを回避し得るという効果も奏する。
【００８７】
さらに、本実施形態では、更新された演奏回数がＮ回以上になった場合に有効フラグを「１」にセットし、これにより、曲データ中の、どのような演奏ミスを仕勝ちな音であるかを表すデータを有効にして、最も回数の多い演奏ミス項目を抽出する処理や、傾向フラグに基づきどのような演奏ミスを仕勝ちな音であるかをユーザに報知する処理を実行する結果、最も起き易い演奏ミスをユーザに報知できるという効果も得られる。
【００８８】
なお、上述した実施形態では、説明の簡略化を図る為、曲を構成する各音を表すデータと、それら各音の中で演奏ミスした音についてはどのような演奏ミスを仕勝ちであるかを表すデータ（有効フラグ、演奏回数、傾向フラグ、タイミングずれ（早）回数、タイミングずれ（遅）回数および押鍵ミス回数）とを一体化した曲データを用いるようにしたが、それら両データを分離した態様とすることも可能である。
【００８９】
すなわち、どのような演奏ミスを仕勝ちであるかを表すデータ（有効フラグ、演奏回数、傾向フラグ、タイミングずれ（早）回数、タイミングずれ（遅）回数および押鍵ミス回数）を、曲を構成する各音に対応付けた別個のデータベースとして設けておき、ガイド実行時にこのデータベースを参照してどのような演奏ミスを仕勝ちな音であるかをユーザに報知し、一方、演奏ミスが生じた時には、その演奏ミスの内容に従ってデータベース中の対応するデータを更新すればよい。このようにしても、上述の実施形態と同様、曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知して練習効果を高めることができる。
【００９０】
また、本実施形態では、鍵盤１０の各鍵に配設されるＬＥＤの発光形態を制御して曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知するようにしたが、これに限らず、例えば鍵盤１０の各鍵を示す画像を表示部１６に画面表示しておき、その画面表示された鍵画像の表示形態を変化させて曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに報知する態様としても構わない。また、音声合成された人声音を用いて曲中の演奏ミス仕勝ちな音や、そこで起こしやすい演奏ミスの内容をユーザに音声案内することも可能である。
【符号の説明】
【００９１】
１０  鍵盤
１１  ＬＥＤ部
１２  スイッチ部
１３  ＣＰＵ
１４  ＲＯＭ
１５  ＲＡＭ
１６  表示部
１７  音源
１８  サウンドシステム
１００  演奏教習装置
【図１】
2011039419.tif 000003
【図２】
2011039419.tif 000004
【図３】
2011039419.tif 000005
【図４】
2011039419.tif 000006
【図５】
2011039419.tif 000007
【図６】
2011039419.tif 000008
【図７】
2011039419.tif 000009
【図８】
2011039419.tif 000010
【図９】
2011039419.tif 000011
【図１０】
2011039419.tif 000012
【図１１】
2011039419.tif 000013