練習装置およびプログラム
【課題】練習を通じて新たな楽しみを得たり、学習効果を高めたりする練習装置を実現する。
【解決手段】外部メモリ16にステップデータSTEPを記憶しておく。ステップデータSTEPは、ユーザが現在、絶対音感として聴覚できる段階(ステップレベル)を表す。CPU12は、外部メモリ16から読み出したステップデータSTEPに対応した難易度の問題音を出題し、ユーザが押鍵操作で解答した解答音とを比較して正誤判定を行い、正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる「ステップ問題」を繰り返し行わせ、その過程でランダムに変化する周期毎に、現在より一段上のステップレベル(STEP+1)の難易度の問題音を出題する「チャレンジ問題」や、現在より一段下のステップレベル(STEP−1)の難易度の問題音を出題する「確認問題」を行って絶対音感の実力を試すレッスン処理を実行する。
【解決手段】外部メモリ16にステップデータSTEPを記憶しておく。ステップデータSTEPは、ユーザが現在、絶対音感として聴覚できる段階(ステップレベル)を表す。CPU12は、外部メモリ16から読み出したステップデータSTEPに対応した難易度の問題音を出題し、ユーザが押鍵操作で解答した解答音とを比較して正誤判定を行い、正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる「ステップ問題」を繰り返し行わせ、その過程でランダムに変化する周期毎に、現在より一段上のステップレベル(STEP+1)の難易度の問題音を出題する「チャレンジ問題」や、現在より一段下のステップレベル(STEP−1)の難易度の問題音を出題する「確認問題」を行って絶対音感の実力を試すレッスン処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、発音して出題された問題音と同じ音高の音を当てさせる練習を繰り返してユーザの絶対音感を訓練する練習装置およびプログラムに関する。
【背景技術】
【0002】
出題として発音される問題音を聴き、その問題音と同じ音高の音を鍵操作で解答させて正誤判定する装置が知られている。この種の装置として、例えば特許文献1には、各種和音から構成される問題音の中からランダムに選択した問題音を発音して出題し、出題された問題音を構成する和音構成音とユーザが鍵操作で入力した各解答音とを比較して正誤判定した結果をユーザに報知する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−72965号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、絶対音感を養う為には、問題音を聴いて解答する練習を繰り返し行う必要があるが、問題音が単音だったり、上記特許文献1に開示の装置のように問題音が和音であると、繰り返すうちに練習に飽きてしまう。飽きずに練習させる工夫として、例えば玩具的な面白味を持たせて練習を進める手法が知られているが、それだけでは練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが出来ないという問題がある。
【0005】
本発明は、このような事情に鑑みてなされたもので、練習を通じて新たな楽しみを得たり、学習効果を高めたりすることができる練習装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載の発明では、ユーザが絶対音感として聴覚可能な段階を表すステップレベルを記憶する記憶手段と、前記記憶手段に記憶されるステップレベルに対応した難易度の問題音を出題するステップ問題出題手段と、前記ステップ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するステップ更新手段と、ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定手段と、前記チャレンジ指定手段によりチャレンジ問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題手段と、前記チャレンジ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計手段と、前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算手段と、前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するチャレンジ更新手段とを具備することを特徴とする。
【0007】
上記請求項1に従属する請求項2に記載の発明では、ランダムに変化する周期で確認問題の出題時期を指定する確認指定手段と、前記確認指定手段により確認問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題手段と、前記確認問題出題手段により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計手段と、前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段降格させて更新する確認更新手段とを更に具備することを特徴とする。
【0008】
請求項3に記載の発明では、コンピュータに、ユーザが絶対音感として聴覚可能な段階を表すステップレベルに対応した難易度の問題音を出題するステップ問題出題処理と、前記ステップ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に現在のステップレベルを所定段昇格させて更新するステップ更新処理と、ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定処理と、前記チャレンジ指定処理によりチャレンジ問題の出題時期が指定された場合に、現在のステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題処理と、前記チャレンジ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計処理と、前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算処理と、前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段昇格させて更新するチャレンジ更新処理とを実行させることを特徴とする。
【0009】
上記請求項3に従属する請求項4に記載の発明では、ランダムに変化する周期で確認問題の出題時期を指定する確認指定処理と、前記確認指定処理により確認問題の出題時期が指定された場合に、現在のステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題処理と、前記確認問題出題処理により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計処理と、前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段降格させて更新する確認更新処理とを更に具備することを特徴とする。
【発明の効果】
【0010】
本発明では、練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが出来る。
【図面の簡単な説明】
【0011】
【図1】実施の一形態による練習装置100の全体構成を示すブロック図である。
【図2】ステップデータSTEPと問題音の種類との対応関係を示す図である。
【図3】メインルーチンの動作を示すフローチャートである。
【図4】モードスイッチ割り込み処理の動作を示すフローチャートである。
【図5】ランダム割り込み処理の動作を示すフローチャートである。
【図6】レッスン処理の動作を示すフローチャートである。
【図7】レッスン処理の動作を示すフローチャートである。
【図8】レッスン処理の動作を示すフローチャートである。
【図9】レッスン処理の動作を示すフローチャートである。
【図10】レッスン処理の動作を示すフローチャートである。
【図11】レッスン処理の動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、本発明の実施の一形態による練習装置100の構成を示すブロック図である。この図において、鍵盤10は押離鍵操作に応じたキーオン/キーオフイベント、鍵番号およびベロシティ等の演奏情報を発生する。スイッチ部11は、装置パネルに配設される各種操作スイッチを有し、操作されるスイッチ種に対応したスイッチイベントを発生する。本発明に係わる主要なスイッチとしては、オン操作される毎に「練習開始」、「練習終了」を交互に指示する所謂トグルスイッチとして機能するモードスイッチMODEが設けられている。
【0013】
具体的には、モードスイッチMODEのオン操作に応じて発生するスイッチイベントに基づき、後述のCPU12がモードスイッチ割り込み処理(後述する)を実行してモードフラグMODEFを反転する。反転されたモードフラグMODEFが「1」ならば「練習開始」を表し、一方、反転されたモードフラグMODEFが「0」ならば「練習終了」を表す。「練習開始」とは後述するレッスン処理の実行を指し、「練習終了」とは当該レッスン処理の終了を指す。
【0014】
CPU12は、スイッチ部11が発生するスイッチイベントに応じて装置各部を制御したり、鍵盤10が発生する演奏情報に応じて音源18を制御する。本発明の要旨に係わるCPU12の特徴的な処理動作については追って述べる。ROM13には、CPU12にロードされる各種プログラムデータが記憶される。ここで言う各種プログラムとは、後述するメインルーチン、モードスイッチ割り込み処理、ランダム割り込み処理およびレッスン処理を含む。
【0015】
RAM14は、ワークエリアおよび問題音エリアを備える。RAM14のワークエリアには、CPU12の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM14の問題音エリアには、ステップデータSTEPに対応する種類の問題音が複数種記憶される。ステップデータSTEPとは、ユーザが絶対音感として聴覚できる段階(ステップレベル)を表すデータである。したがって、換言すれば、RAM14の問題音エリアには、ユーザの絶対音感能力(ステップレベル)に対応した難易度の問題音が各種記憶される。
【0016】
ユーザの絶対音感能力(ステップレベル)に対応した難易度の問題音とは、図2に図示する一例のように、ピアノ音の単音について絶対音感として聴覚できる段階ならば、ステップデータSTEPはステップレベル「1」となる。ピアノ音の和音について絶対音感として聴覚できる段階ならば、ステップデータSTEPはステップレベル「2」となる。ピアノ音以外の音色の単音について絶対音感として聴覚できればステップレベル「3」となる。ピアノ音以外の音色の和音について絶対音感として聴覚できればステップレベル「4」となる。さらに、ピアノ音のメロディについて絶対音感として聴覚できればステップレベル「5」とななる。ピアノ音以外の音色のメロディについて絶対音感として聴覚できればステップレベル「6」となる。なお、ピアノ音以外の音色とは、ピアノ以外の他の楽器音の他、音高要素を備える人工的な音(汽笛、クラクション音など)や自然音(風のうなり音、雷鳴音など)を含む。
【0017】
LED部15は、鍵盤10の各鍵毎に配設されるLED(発光素子)と、これらLEDを点灯駆動するドライバ(不図示)とから構成され、CPU12から供給される制御信号に従って指定される鍵のLEDを点灯する。LED部15では、CPU12の制御の下に、出題(発音)された問題音に対応する鍵のLEDを点灯させ、これによりユーザの押鍵操作(解答操作)の正誤を報知する。外部メモリ16には、練習終了時にユーザ個人のステップデータSTEPが退避格納される。
【0018】
表示部17は、LCDパネル等から構成され、CPU12から供給される表示制御信号に応じて装置の動作モードを表示したり、出題に対応するユーザの解答(押鍵操作)の正誤を表示する。音源18は、周知の波形メモリ読み出し方式によって構成され、CPU12が演奏情報に基づき生成する楽音パラメータに応じた波形データを読み出して楽音波形を発生する。サウンドシステム19は、音源18から出力される楽音波形をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【0019】
B.動作
次に、図3〜図11を参照して練習装置100が備えるCPU12の動作について説明する。以下では、最初にメインルーチンの動作を説明した後、このメインルーチンの実行中に割り込み実行されるモードスイッチ割り込み処理およびランダム割り込み処理の各動作を説明し、さらにモードスイッチ割り込み処理からコールされるレッスン処理の動作について述べる。
【0020】
(1)メインルーチンの動作
上記構成による練習装置100に電源が投入されると、CPU12は図3に図示するメインルーチンを実行してステップSA1に進み、RAM14のワークエリアに格納される各種レジスタやフラグデータをゼロリセットしたり初期値セットしたりする他、音源18に初期化を指示するイニシャライズを行う。続いて、ステップSA2では、モードフラグMODEFが「0」であるか否か、すなわち練習終了の状態であるかどうかを判断する。練習終了の状態ならば、判断結果は「YES」となり、再びステップSA2に戻る。つまり、ステップSA2では、モードスイッチMODEのオン操作によりモードフラグMODEFが「1」にセットされて練習開始の状態になるまで待機する。
【0021】
後述するモードスイッチ割り込み処理(図4参照)において、モードスイッチMODEのオン操作によりモードフラグMODEFが「1」にセットされ、練習開始の状態に遷移すると、上記ステップSA2の判断結果は「NO」になり、ステップSA3に進む。ステップSA3では、出題(発音)された問題音に対応したユーザの押鍵操作(解答操作)に従い、その押鍵された鍵の音高の楽音を発生するよう音源18に指示する演奏処理を実行する。
【0022】
続いて、ステップSA4に進み、公知のランダム関数に基づき発生間隔(周期)がランダムに変化するランダム割り込みタイミングを発生する。このランダム割り込みタイミングは、後述するランダム割り込み処理(図5参照)を実行する割り込みタイミングとして用いられる。そして、ランダム割り込みタイミングを発生し終えると、上述のステップSA2に処理を戻す。以後、練習開始の状態(モードフラグMODEFが「1」)が維持されている間は、ステップSA2〜SA4を繰り返し実行する。
【0023】
(2)モードスイッチ割り込み処理の動作
次に、図4を参照してモードスイッチ割り込み処理の動作を説明する。スイッチ部11に配設されるモードスイッチMODEのオン操作に応じたスイッチイベントが発生すると、CPU12は図4に図示するモードスイッチ割り込み処理を実行し、ステップSB1に進み、モードフラグMODEFが「0」であるか否か、すなわち練習終了の状態でモードスイッチMODEがオン操作されたかどうかを判断する。
【0024】
練習終了の状態でモードスイッチMODEがオン操作されたならば、判断結果は「YES」となり、ステップSB2に進み、モードフラグMODEFを「1」にセットして練習開始の状態に遷移する。そして、ステップSB3に進み、後述するレッスン処理を実行させた後、本処理を終える。
【0025】
レッスン処理では、後述するように、現在のステップデータSTEPに対応した難易度の問題音を用いた「ステップ問題」が出題(発音)され、出題された問題音と同じ音高の音を押鍵操作で指定する解答を進め、解答の正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる。また、レッスン処理では、こうした「ステップ問題」の解答を進めている途中において、上述のランダム割り込みタイミングに基づくランダムな周期に従った時期に、絶対音感の実力を試す「チャレンジ問題」あるいは「確認問題」を出題する。
【0026】
「チャレンジ問題」では、現在のステップデータSTEPより一段上のステップレベル(STEP+1)の難易度の問題音を順次出題し、その解答が正解になる度に連続正解数を歩進するが、一問でも不正解になると連続正解数をゼロリセットする。全問に解答し終えた時に正解数が所定数を超えて「チャレンジ問題」をクリアすると、ボーナスポイントとして「ステップ問題」時の正解数を3ポイント加算し、さらに連続正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段昇格させる。
【0027】
「確認問題」では、現在のステップデータSTEPより一段下のステップレベル(STEP−1)の難易度の問題音を順次出題し、その解答が不正解になる度に連続不正解数を歩進するが、一問でも正解すると連続不正解数をゼロリセットする。全問に解答し終えた時に不正解数が所定数を超えていれば、ペナルティとして「ステップ問題」時の正解数を3ポイント分減算し、さらに連続不正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段降格させる。
【0028】
さて一方、モードフラグMODEFが「1」の場合、つまり練習開始の状態でモードスイッチMODEがオン操作されると、上記ステップSB1の判断結果は「NO」になり、ステップSB4に進み、モードフラグMODEFをゼロリセットして練習終了の状態に遷移させる。この後、ステップSB5に進み、RAM14のレジスタSTEPにストアされるステップデータを外部メモリ16に退避格納して本処理を終える
【0029】
(3)ランダム割り込み処理の動作
次に、図5を参照してランダム割り込み処理の動作を説明する。前述したメインルーチン(図3参照)のステップSA4において生成されたランダム割り込みタイミングになると、CPU12は図5に図示するランダム割り込み処理を実行し、ステップSC1に進む。ステップSC1では、モードフラグMODEFが「1」であるか否か、すなわち練習開始の状態であるかどうかを判断する。練習停止の状態(モードフラグMODEFが「0」)であると、判断結果は「NO」になり、本処理を終える。
【0030】
一方、練習開始の状態ならば、上記ステップSC1の判断結果は「YES」となり、ステップSC2に進む。ステップSC2では、インタラプトフラグINTFが「0」であるか否か、すなわち後述のレッスン処理において「チャレンジ問題」(あるいは「確認問題」)の出題に全て解答し終えた状態であるかどうかを判断する。後述のレッスン処理において、「チャレンジ問題」について解答中(インタラプトフラグINTFが「1」)であったり、あるいは「確認問題」について解答中(インタラプトフラグINTFが「2」)であったりすると、ここでの判断結果は「NO」となり、本処理を終える。
【0031】
これに対し、後述のレッスン処理において、「チャレンジ問題」(あるいは「確認問題」)の出題に全て解答し終えた状態ならば、インタラプトフラグINTFは「0」にセットされる為、上記ステップSC2の判断結果は「YES」となり、ステップSC3に進む。ステップSC3では、公知のランダム関数に基づき乱数を発生させ、続くステップSC4では、発生させた乱数が偶数であるか否かを判断する。
【0032】
発生させた乱数が偶数ならば、判断結果は「YES」となり、ステップSC5に進み、インタラプトフラグINTFを「1」にセットする。なお、インタラプトフラグINTFが「1」にセットされると、後述するレッスン処理において「チャレンジ問題」が出題される。一方、発生させた乱数が奇数であると、上記ステップSC4の判断結果は「NO」となり、ステップSC6に進み、インタラプトフラグINTFを「2」にセットする。なお、インタラプトフラグINTFが「2」にセットされると、後述するレッスン処理において「確認問題」が出題される。
【0033】
このように、ランダム割り込み処理は、発生間隔(周期)がランダムに変化するランダム割り込みタイミング毎に実行され、その実行タイミングになると、練習開始の状態(モードフラグMODEFが「1」)であって、かつ後述のレッスン処理において「チャレンジ問題」(あるいは「確認問題」)の出題に全て解答し終えた状態(インタラプトフラグINTFが「0」)であると、乱数を発生し、発生させた乱数が偶数又は奇数の何れであるかを判別する。発生乱数が偶数ならば、インタラプトフラグINTFを「1」にセットして「チャレンジ問題」の出題開始を指示し、一方、発生乱数が奇数であると、インタラプトフラグINTFを「2」にセットして「確認問題」の出題開始を指示する。したがって、発生間隔(周期)がランダムに変化することよって、ユーザの意表を突く時期に絶対音感の実力を試す「チャレンジ問題」や「確認問題」が出題される為にゲーム的な面白味を醸し出し、結果的に練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが可能になる。
【0034】
(4)レッスン処理の動作
次に、図6〜図11を参照してレッスン処理の動作を説明する。前述したように、レッスン処理のステップSD1〜SD21では、現在のステップデータSTEPに対応した難易度の問題音を用いた「ステップ問題」が順次出題され、出題(発音)された問題音と同じ音高の音を当てる解答を進め、その解答が正解になる度に歩進される正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる一方、こうした「ステップ問題」の解答を進めている過程で、ランダムな周期に従ってステップSD22〜SD42の「チャレンジ問題」や、ステップSD43〜SD65の「確認問題」が出題される。以下、こうした動作について詳述する。
【0035】
前述したモードスイッチ割り込み処理のステップSB3(図4参照)を介して本処理が実行されると、図6に図示するステップSD1に進み、前回練習終了の際に退避格納したステップデータSTEPを外部メモリ16から読み出し、続くステップSD2では、読み出したステップデータSTEPをレジスタSTEPにストアする。以後、レジスタSTEPの内容を、絶対音感として聴覚できる段階(ステップレベル)を表すステップデータSTEPと称す。
【0036】
次いで、ステップSD3では、正解数をカウントするレジスタOKをゼロリセットする。以下、レジスタOKの内容を正解数OKと称す。そして、ステップSD4では、ステップデータSTEPに対応する難易度の問題音をランダムに作成する。具体的には、ステップデータSTEPに対応した種類の問題音を、RAM14の問題音エリアからランダムに選択する。例えばステップデータSTEPのステップレベルが「2」であると、複数種の「和音(ピアノ)」の内からランダムに選択する。
【0037】
続いて、ステップSD5では、不正解数をカウントするレジスタMISSをゼロリセットする。以下、レジスタMISSの内容を不正解数MISSと称す。次に、ステップSD6では、上記ステップSD4において作成(選択)した問題音の発音を音源18に指示する。これに応じて音源18が問題音を発音して出題が為されると、ステップSD7に進み、押鍵待ちを開始する。押鍵待ちの開始とは、出題(問題音発音)してからユーザが解答音を押鍵するまでの時間を計時するタイマをスタートさせることを意味する。
【0038】
そして、ステップSD8〜SD9では、押鍵待ち開始から一定時間経過する迄の間に押鍵の有無を判断する。押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵しなければ、ステップSD9の判断結果が「YES」となり、図8に図示するステップSD22(後述する)に進むが、押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵すると、ステップSD8の判断結果が「YES」となり、ステップSD10に進む。
【0039】
ステップSD10では、問題音と押鍵された解答音とを比較して正誤判定を行う。問題音と解答音とが一致して正解と判定された場合には、ステップSD11に進み、正解数OKをインクリメントして歩進させ、続くステップSD12では、表示部17に「正解です!」なるメッセージを画面表示させると共に、LED部15に対し、問題音に対応した鍵のLEDを点灯するよう指示する正解報知を実行する。
【0040】
この後、図7に図示するステップSD17に進み、正解数OKが所定回数を超えたか否か、すなわち所定回数連続して正解したかどうかを判断する。正解数OKが所定回数を超えていない場合、つまり所定回数連続して正解していなければ、判断結果は「NO」になり、後述のステップSD22(図8参照)に進む。
【0041】
これに対し、所定回数連続して正解したことにより正解数OKが所定回数を超えたならば、上記ステップSD17の判断結果は「YES」となり、ステップSD18に進む。ステップSD18では、ステップデータSTEPが最高レベルに未達であるか否かを判断する。ステップデータSTEPが既に最高レベルに到達していれば、判断結果は「NO」になり、ステップSD20に進み、レッスン修了の旨を表示部17に画面表示する。この後、ステップSD21に進み、モードフラグMODEFをゼロリセットし、これにより練習停止の状態に遷移して本処理を終える。
【0042】
一方、ステップデータSTEPが最高レベルに未達であると、上記ステップSD18の判断結果は「YES」となり、ステップSD19に進み、ステップデータSTEPをインクリメントしてステップレベルを一段昇格する。この後、前述したステップSD3(図6参照)に処理を戻し、ステップレベルの昇格に伴い難易度を増した「ステップ問題」に解答する練習を進める。
【0043】
さて一方、問題音と押鍵された解答音とが一致せず、上記ステップSD10(図6参照)において不正解と判定されたとする。そうすると、図6に図示するステップSD13に進み、正解数OKをゼロリセットした後、ステップSD14に進み、不正解数MISSをインクリメントして歩進させる。つまり、一度不正解になると、それまでカウントしていた正解数OKをゼロリセットして不正解数MISSを歩進する。そして、ステップSD15に進み、歩進された不正解数MISSが所定回数を超えたか否か、すなわち一つの設問について所定回数不正解となったかどうかを判断する。一つの設問について所定回数間違えておらず、不正解数MISSが所定回数を超えなければ、判断結果は「NO」となり、前述のステップSD6に処理を戻し、問題音を発音(再出題)する。
【0044】
これに対し、一つの設問について所定回数不正解となってしまい、この結果、不正解数MISSが所定回数を超えると、上記ステップSD15の判断結果が「YES」となり、ステップSD16に進み、表示部17に「不正解です。」なるメッセージを画面表示させると共に、LED部15に対し、問題音に対応した鍵のLEDを点灯するよう指示する不正解報知を実行した後、図8に図示するステップSD22に進む。
【0045】
上述したように、押鍵待ち開始から一定時間経過する迄の間に解答(押鍵)しなかったり、所定回数連続して正解できなかったりした場合や、一つの設問について所定回数不正解となった場合には、図8に図示するステップSD22に進む。ステップSD22では、インタラプトフラグINTFが「1」にセットされているか否か、すなわち「チャレンジ問題」を出題する時期であるかどうかを判断する。インタラプトフラグINTFが「1」にセットされ、「チャレンジ問題」を出題する時期であると、判断結果は「YES」となり、ステップSD23以降を実行する。
【0046】
「チャレンジ問題」を出題する時期でなければ、上記ステップSD22の判断結果は「NO」になり、図10に図示するステップSD43に進み、インタラプトフラグINTFが「2」にセットされているか否か、すなわち「確認問題」を出題する時期であるかどうかを判断する。インタラプトフラグINTFが「2」にセットされ、「確認問題」を出題する時期であるならば、判断結果は「YES」となり、ステップSD44以降を実行する。「確認問題」を出題する時期でなければ、上記ステップSD43の判断結果は「NO」となり、本処理を終える。
【0047】
このように、図8に図示するステップSD22以降では、インタラプトフラグINTFの値に基づき、ランダムに変化する周期で「チャレンジ問題」又は「確認問題」を出題するようになっている。以下では、「チャレンジ問題」を出題する場合と、「確認問題」を出題する場合とに分けて動作を説明する。
【0048】
<「チャレンジ問題」を出題する場合>
インタラプトフラグINTFが「1」にセットされ、「チャレンジ問題」を出題する時期ならば、図8に図示するステップSD22の判断結果が「YES」となり、ステップSD23に進み、現在のステップレベルを表すステップデータSTEPが最高レベルに未達であるか否かを判断する。ステップデータSTEPが既に最高レベルに達していると、判断結果は「NO」になり、ステップSD24に進み、インタラプトフラグINTFを「2」にセットした後、図10に図示するステップSD43に進み、後述の「確認問題」を出題する動作を実行する。つまり、現在のステップレベルが最高レベルならば、昇格テストに相当する「チャレンジ問題」を行う必要が無い為、図10に図示するステップSD43に進む。
【0049】
一方、ステップデータSTEPが最高レベルに達していなければ、上記ステップSD23の判断結果は「YES」となり、ステップSD25に進み、例えば表示部17の表示画面に「チャレンジ問題を開始します。」なるメッセージを表示してユーザに「チャレンジ問題」の出題開始を報知する。次いで、ステップSD26では、レジスタN,YES,RYESをそれぞれゼロリセットする。
【0050】
なお、レジスタNはチャレンジ問題の出題数を計数するものであり、以後、当該レジスタNの内容を出題数Nと称する。レジスタYESはチャレンジ問題の正解数を計数するものであり、以後、当該レジスタYESの内容をチャレンジ問題正解数YESと称する。レジスタRYESはチャレンジ問題の連続正解数を計数するレジスタであり、以後、当該レジスタRYESの内容をチャレンジ問題連続正解数RYESと称する。
【0051】
さて、出題数N、チャレンジ問題正解数YESおよびチャレンジ問題連続正解数RYESをそれぞれゼロリセットし終えると、CPU12はステップSD27に処理を進め、「チャレンジ問題」としてステップデータSTEP(現在のステップレベル)より一段上のステップレベル(STEP+1)に対応する難易度の問題音を、RAM14の問題音エリアからランダムに選択し、続くステップSD28では、その選択した問題音の発音を音源18に指示する。
【0052】
そして、一段上のステップレベル(STEP+1)の問題音が「チャレンジ問題」として発音(出題)されると、ステップSD29に進み、押鍵待ちを開始する。続いて、ステップSD30〜SD31では、押鍵待ち開始から一定時間経過する迄の間に押鍵の有無を判断する。押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵すると、ステップSD30の判断結果が「YES」となり、ステップSD32に進み、問題音と押鍵された解答音とを比較して正誤判定を行う。
【0053】
問題音と押鍵された解答音とが一致して正解と判定された場合には、ステップSD33〜SD34に進み、チャレンジ問題正解数YESおよびチャレンジ問題連続正解数RYESを各々インクリメントして歩進させ、続くステップSD35では、出題数Nをインクリメントして歩進させた後、図9に図示するステップSD37に進む。
【0054】
一方、問題音と押鍵された解答音とが一致せず、不正解と判定された場合には、ステップSD36に進む。また、押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵しない場合にも、上記ステップSD31の判断結果が「YES」となり、ステップSD36に進む。そして、ステップSD36では、チャレンジ問題連続正解数RYESをゼロリセットする。
【0055】
この後、ステップSD35に進み、出題数Nをインクリメントして歩進させた後、図9に図示するステップSD37に進む。ステップSD37では、出題数Nが所定数を超えたか否か、つまり「チャレンジ問題」を全て出題し終えたかどうかを判断する。全て出題し終えていなければ、判断結果は「NO」になり、上述したステップSD27(図8参照)に処理を戻して「チャレンジ問題」の出題を続ける。
【0056】
これに対し、「チャレンジ問題」を全て出題し終えると、上記ステップSD37の判断結果は「YES」になり、ステップSD38に進む。ステップSD38では、チャレンジ問題正解数YESが所定数を超えているか否か、つまり「チャレンジ問題」をクリアすることが出来たかどうかを判断する。チャレンジ問題正解数YESが所定数を超えず、「チャレンジ問題」をクリアすることが出来なかった場合には、判断結果が「NO」になり、ステップSD42に進み、インタラプトフラグINTFをゼロリセットし、「チャレンジ問題」の出題を終えた状態に遷移して本処理を終える。
【0057】
一方、チャレンジ問題正解数YESが所定数を超え、「チャレンジ問題」をクリアすることが出来ると、上記ステップSD38の判断結果は「YES」となり、ステップSD39に進み、正解数OKに「3」を加算して更新する。すなわち「チャレンジ問題」をクリアしたことによるボーナスポイントとして正解数OKが3ポイント分加算される。
【0058】
続いて、ステップSD40では、チャレンジ問題連続正解数RYESが所定数を超えているか否か、つまりステップレベル昇格に相当する成績であるかどうかを判断する。チャレンジ問題連続正解数RYESが所定数を超えず、ステップレベル昇格に相当する成績でなければ、判断結果は「NO」となり、ステップSD42に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0059】
これに対し、チャレンジ問題連続正解数RYESが所定数を超え、ステップレベル昇格に相当する成績ならば、上記ステップSD40の判断結果が「YES」になり、ステップSD41に進み、ステップデータSTEPをインクリメントしてステップレベルを一段昇格した後、ステップSD42に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0060】
このように、「チャレンジ問題」の出題では、正解する度にチャレンジ問題連続正解数RYESが一つずつ歩進されるが、一問でも不正解になるとチャレンジ問題連続正解数RYESはゼロリセットされる。そして、「チャレンジ問題」について全て解答し終えた時に、チャレンジ問題正解数YESが所定数を超えて「チャレンジ問題」をクリアすることが出来ると、ボーナスポイントとして正解数OKが3ポイント加算され、さらにチャレンジ問題連続正解数RYESが所定数を超え、ステップレベル昇格に相当する成績ならば、ステップレベルを一段昇格させる。
【0061】
<「確認問題」を出題する場合>
インタラプトフラグINTFが「2」にセットされ、「確認問題」を出題する時期ならば、図10に図示するステップSD43の判断結果が「YES」となり、ステップSD44に進む。ステップSD44では、現在のステップレベルを表すステップデータSTEPが最低レベルより上であるか否かを判断する。現在のステップレベルが最低レベルならば、判断結果は「NO」になり、ステップSD45に進み、インタラプトフラグINTFを「1」にセットした後、図8に図示するステップSD22に進み、上述した「チャレンジ問題」を出題する場合の動作を実行する。
【0062】
一方、現在のステップレベルが最低レベルより上であると、上記ステップSD44の判断結果は「YES」となり、ステップSD46に進み、例えば表示部17の表示画面に「確認問題を開始します。」なるメッセージを表示してユーザに「確認問題」の出題開始を報知する。次いで、ステップSD47では、出題数N,レジスタNOおよびレジスタRNOをそれぞれゼロリセットする。なお、レジスタNOは確認問題の不正解数を計数するものであり、以後、当該レジスタNOの内容を確認問題不正解数NOと称する。レジスタRNOは確認問題の連続不正解数を計数するレジスタであり、以後、当該レジスタRNOの内容を確認問題連続不正解数RNOと称する。
【0063】
さて、出題数N、確認問題不正解数NOおよび確認問題連続不正解数RNOをそれぞれゼロリセットし終えると、CPU12はステップSD48に進み、確認問題として現在のステップレベルより一段下のステップレベル(STEP−1)に対応する難易度の問題音を、RAM14の問題音エリアからランダムに選択し、続くステップSD49では、その選択した問題音の発音を音源18に指示する。
【0064】
そして、一段下のステップレベル(STEP−1)の問題音が「確認問題」として発音(出題)されると、ステップSD50に進み、押鍵待ちを開始する。続いて、ステップSD51〜SD52では、押鍵待ち開始から一定時間経過する迄の間に押鍵の有無を判断する。押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵すると、ステップSD51の判断結果が「YES」となり、ステップSD53に進み、問題音と押鍵された解答音とを比較して正誤判定を行う。問題音と解答音とが一致して正解と判定されると、ステップSD54に進み、確認問題連続不正解数RNOをゼロリセットした後、図11に図示するステップSD57に進む。
【0065】
一方、問題音と解答音とが一致せず、不正解と判定された場合や、押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵しない場合には、ステップSD55に進み、確認問題不正解数NOをインクリメントして歩進させ、続くステップSD56では、確認問題連続不正解数RNOをインクリメントして歩進させた後、図11に図示するステップSD57に進む。
【0066】
そして、ステップSD57では、出題数Nをインクリメントして歩進させ、続くステップSD58では、歩進させた出題数Nが所定数を超えたか否か、つまり「確認問題」を全て出題し終えたかどうかを判断する。全て出題し終えていなければ、判断結果は「NO」になり、上述したステップSD48(図10参照)に処理を戻し、「確認問題」の出題を続ける。これに対し、「確認問題」を全て出題し終えると、上記ステップSD58の判断結果が「YES」になり、ステップSD59に進む。
【0067】
ステップSD59では、確認問題不正解数NOが所定数を超えているか否かを判断する。確認問題不正解数NOが所定数未満ならば、判断結果は「NO」になり、後述のステップSD63に進むが、確認問題不正解数NOが所定数を超えていると、判断結果は「YES」になり、ステップSD60に進み、不正解数が多いことのペナルティとして正解数OKを3ポイント分減算する。
【0068】
次いで、ステップSD61では、3ポイント分減算された正解数OKの値が「0」より小さいか否かを判断する。3ポイント分減算された正解数OKの値が「0」より小さければ、判断結果は「YES」となり、ステップSD62に進み、正解数OKをゼロリセットした後、ステップSD63に進む。これに対し、3ポイント分減算された正解数OKの値が「0」以上ならば、上記ステップSD61の判断結果は「NO」となり、ステップSD63に進む。
【0069】
ステップSD63では、確認問題連続不正解数RNOが所定数を超えているか否か、つまりステップレベル降格に相当する成績であるかどうかを判断する。確認問題連続不正解数RNOが所定数を超えず、ステップレベル降格に相当する成績でなければ、判断結果は「NO」となり、ステップSD65に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0070】
一方、確認問題連続不正解数RNOが所定数を超え、ステップレベル降格に相当する成績であると、上記ステップSD63の判断結果が「YES」になり、ステップSD64に進み、ステップデータSTEPをデクリメントしてステップレベルを一段下げる。この後、ステップSD65に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0071】
このように、「確認問題」の出題では、不正解の度に確認問題連続不正解数RNOが一つずつ歩進されるが、一問でも正解すると確認問題連続不正解数RNOレンジはゼロリセットされる。そして、「確認問題」について全て解答し終えた時に、確認問題不正解数NOが所定数を超えていれば、不正解数が多いことのペナルティとして正解数OKを3ポイント分減算し、さらに確認問題連続不正解数RNOが所定数を超え、ステップレベル降格に相当する成績であると、ステップレベルを一段降格する。
【0072】
以上のように、本実施形態では、現在のステップデータSTEPに対応した難易度の問題音が出題(発音)され、出題された問題音と同じ音高の音をユーザが押鍵操作で解答し、正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる「ステップ問題」を繰り返し行わせ、その過程でランダムに変化する周期毎に「チャレンジ問題」あるいは「確認問題」が出題される。
【0073】
「チャレンジ問題」では、現在のステップデータSTEPより一段上のステップレベル(STEP+1)の難易度の問題音を出題し、その解答が正解になる度に連続正解数を歩進するが、一問でも不正解になると連続正解数をゼロリセットする。全問に解答し終えた時に正解数が所定数を超えて「チャレンジ問題」をクリアすると、ボーナスポイントとして「ステップ問題」時の正解数を3ポイント加算し、さらに連続正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段昇格させる。
【0074】
「確認問題」では、現在のステップデータSTEPより一段下のステップレベル(STEP−1)の難易度の問題音を順次出題し、その解答が不正解になる度に連続不正解数を歩進するが、一問でも正解すると連続不正解数をゼロリセットする。全問に解答し終えた時に不正解数が所定数を超えていれば、ペナルティとして「ステップ問題」時の正解数を3ポイント分減算し、さらに連続不正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段降格させる。
【0075】
したがって、「ステップ問題」に取り組んでいる最中に、ユーザの意表を突く時期、つまりランダムに変化する周期毎に絶対音感の実力を試す「チャレンジ問題」あるいは「確認問題」が出題される為、ゲーム的な面白味を醸し出し、これにより練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが出来る。
【0076】
なお、上述の実施形態では、ランダムに変化する周期毎に、発生乱数の偶数/奇数に応じて「チャレンジ問題」あるいは「確認問題」の何れかを出題する態様としたが、これに限らず、ランダムに変化する周期毎に「チャレンジ問題」だけを出題する態様としても良いし、ランダムに変化する周期毎に「確認問題」だけを出題する態様としても構わない。
【符号の説明】
【0077】
10 鍵盤
11 スイッチ部
12 CPU
13 ROM
14 RAM
15 LED部
16 外部メモリ
17 表示部
18 音源
19 サウンドシステム
100 練習装置
【技術分野】
【0001】
本発明は、発音して出題された問題音と同じ音高の音を当てさせる練習を繰り返してユーザの絶対音感を訓練する練習装置およびプログラムに関する。
【背景技術】
【0002】
出題として発音される問題音を聴き、その問題音と同じ音高の音を鍵操作で解答させて正誤判定する装置が知られている。この種の装置として、例えば特許文献1には、各種和音から構成される問題音の中からランダムに選択した問題音を発音して出題し、出題された問題音を構成する和音構成音とユーザが鍵操作で入力した各解答音とを比較して正誤判定した結果をユーザに報知する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−72965号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、絶対音感を養う為には、問題音を聴いて解答する練習を繰り返し行う必要があるが、問題音が単音だったり、上記特許文献1に開示の装置のように問題音が和音であると、繰り返すうちに練習に飽きてしまう。飽きずに練習させる工夫として、例えば玩具的な面白味を持たせて練習を進める手法が知られているが、それだけでは練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが出来ないという問題がある。
【0005】
本発明は、このような事情に鑑みてなされたもので、練習を通じて新たな楽しみを得たり、学習効果を高めたりすることができる練習装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載の発明では、ユーザが絶対音感として聴覚可能な段階を表すステップレベルを記憶する記憶手段と、前記記憶手段に記憶されるステップレベルに対応した難易度の問題音を出題するステップ問題出題手段と、前記ステップ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するステップ更新手段と、ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定手段と、前記チャレンジ指定手段によりチャレンジ問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題手段と、前記チャレンジ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計手段と、前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算手段と、前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するチャレンジ更新手段とを具備することを特徴とする。
【0007】
上記請求項1に従属する請求項2に記載の発明では、ランダムに変化する周期で確認問題の出題時期を指定する確認指定手段と、前記確認指定手段により確認問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題手段と、前記確認問題出題手段により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計手段と、前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段降格させて更新する確認更新手段とを更に具備することを特徴とする。
【0008】
請求項3に記載の発明では、コンピュータに、ユーザが絶対音感として聴覚可能な段階を表すステップレベルに対応した難易度の問題音を出題するステップ問題出題処理と、前記ステップ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に現在のステップレベルを所定段昇格させて更新するステップ更新処理と、ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定処理と、前記チャレンジ指定処理によりチャレンジ問題の出題時期が指定された場合に、現在のステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題処理と、前記チャレンジ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計処理と、前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算処理と、前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段昇格させて更新するチャレンジ更新処理とを実行させることを特徴とする。
【0009】
上記請求項3に従属する請求項4に記載の発明では、ランダムに変化する周期で確認問題の出題時期を指定する確認指定処理と、前記確認指定処理により確認問題の出題時期が指定された場合に、現在のステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題処理と、前記確認問題出題処理により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計処理と、前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段降格させて更新する確認更新処理とを更に具備することを特徴とする。
【発明の効果】
【0010】
本発明では、練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが出来る。
【図面の簡単な説明】
【0011】
【図1】実施の一形態による練習装置100の全体構成を示すブロック図である。
【図2】ステップデータSTEPと問題音の種類との対応関係を示す図である。
【図3】メインルーチンの動作を示すフローチャートである。
【図4】モードスイッチ割り込み処理の動作を示すフローチャートである。
【図5】ランダム割り込み処理の動作を示すフローチャートである。
【図6】レッスン処理の動作を示すフローチャートである。
【図7】レッスン処理の動作を示すフローチャートである。
【図8】レッスン処理の動作を示すフローチャートである。
【図9】レッスン処理の動作を示すフローチャートである。
【図10】レッスン処理の動作を示すフローチャートである。
【図11】レッスン処理の動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、本発明の実施の一形態による練習装置100の構成を示すブロック図である。この図において、鍵盤10は押離鍵操作に応じたキーオン/キーオフイベント、鍵番号およびベロシティ等の演奏情報を発生する。スイッチ部11は、装置パネルに配設される各種操作スイッチを有し、操作されるスイッチ種に対応したスイッチイベントを発生する。本発明に係わる主要なスイッチとしては、オン操作される毎に「練習開始」、「練習終了」を交互に指示する所謂トグルスイッチとして機能するモードスイッチMODEが設けられている。
【0013】
具体的には、モードスイッチMODEのオン操作に応じて発生するスイッチイベントに基づき、後述のCPU12がモードスイッチ割り込み処理(後述する)を実行してモードフラグMODEFを反転する。反転されたモードフラグMODEFが「1」ならば「練習開始」を表し、一方、反転されたモードフラグMODEFが「0」ならば「練習終了」を表す。「練習開始」とは後述するレッスン処理の実行を指し、「練習終了」とは当該レッスン処理の終了を指す。
【0014】
CPU12は、スイッチ部11が発生するスイッチイベントに応じて装置各部を制御したり、鍵盤10が発生する演奏情報に応じて音源18を制御する。本発明の要旨に係わるCPU12の特徴的な処理動作については追って述べる。ROM13には、CPU12にロードされる各種プログラムデータが記憶される。ここで言う各種プログラムとは、後述するメインルーチン、モードスイッチ割り込み処理、ランダム割り込み処理およびレッスン処理を含む。
【0015】
RAM14は、ワークエリアおよび問題音エリアを備える。RAM14のワークエリアには、CPU12の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM14の問題音エリアには、ステップデータSTEPに対応する種類の問題音が複数種記憶される。ステップデータSTEPとは、ユーザが絶対音感として聴覚できる段階(ステップレベル)を表すデータである。したがって、換言すれば、RAM14の問題音エリアには、ユーザの絶対音感能力(ステップレベル)に対応した難易度の問題音が各種記憶される。
【0016】
ユーザの絶対音感能力(ステップレベル)に対応した難易度の問題音とは、図2に図示する一例のように、ピアノ音の単音について絶対音感として聴覚できる段階ならば、ステップデータSTEPはステップレベル「1」となる。ピアノ音の和音について絶対音感として聴覚できる段階ならば、ステップデータSTEPはステップレベル「2」となる。ピアノ音以外の音色の単音について絶対音感として聴覚できればステップレベル「3」となる。ピアノ音以外の音色の和音について絶対音感として聴覚できればステップレベル「4」となる。さらに、ピアノ音のメロディについて絶対音感として聴覚できればステップレベル「5」とななる。ピアノ音以外の音色のメロディについて絶対音感として聴覚できればステップレベル「6」となる。なお、ピアノ音以外の音色とは、ピアノ以外の他の楽器音の他、音高要素を備える人工的な音(汽笛、クラクション音など)や自然音(風のうなり音、雷鳴音など)を含む。
【0017】
LED部15は、鍵盤10の各鍵毎に配設されるLED(発光素子)と、これらLEDを点灯駆動するドライバ(不図示)とから構成され、CPU12から供給される制御信号に従って指定される鍵のLEDを点灯する。LED部15では、CPU12の制御の下に、出題(発音)された問題音に対応する鍵のLEDを点灯させ、これによりユーザの押鍵操作(解答操作)の正誤を報知する。外部メモリ16には、練習終了時にユーザ個人のステップデータSTEPが退避格納される。
【0018】
表示部17は、LCDパネル等から構成され、CPU12から供給される表示制御信号に応じて装置の動作モードを表示したり、出題に対応するユーザの解答(押鍵操作)の正誤を表示する。音源18は、周知の波形メモリ読み出し方式によって構成され、CPU12が演奏情報に基づき生成する楽音パラメータに応じた波形データを読み出して楽音波形を発生する。サウンドシステム19は、音源18から出力される楽音波形をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【0019】
B.動作
次に、図3〜図11を参照して練習装置100が備えるCPU12の動作について説明する。以下では、最初にメインルーチンの動作を説明した後、このメインルーチンの実行中に割り込み実行されるモードスイッチ割り込み処理およびランダム割り込み処理の各動作を説明し、さらにモードスイッチ割り込み処理からコールされるレッスン処理の動作について述べる。
【0020】
(1)メインルーチンの動作
上記構成による練習装置100に電源が投入されると、CPU12は図3に図示するメインルーチンを実行してステップSA1に進み、RAM14のワークエリアに格納される各種レジスタやフラグデータをゼロリセットしたり初期値セットしたりする他、音源18に初期化を指示するイニシャライズを行う。続いて、ステップSA2では、モードフラグMODEFが「0」であるか否か、すなわち練習終了の状態であるかどうかを判断する。練習終了の状態ならば、判断結果は「YES」となり、再びステップSA2に戻る。つまり、ステップSA2では、モードスイッチMODEのオン操作によりモードフラグMODEFが「1」にセットされて練習開始の状態になるまで待機する。
【0021】
後述するモードスイッチ割り込み処理(図4参照)において、モードスイッチMODEのオン操作によりモードフラグMODEFが「1」にセットされ、練習開始の状態に遷移すると、上記ステップSA2の判断結果は「NO」になり、ステップSA3に進む。ステップSA3では、出題(発音)された問題音に対応したユーザの押鍵操作(解答操作)に従い、その押鍵された鍵の音高の楽音を発生するよう音源18に指示する演奏処理を実行する。
【0022】
続いて、ステップSA4に進み、公知のランダム関数に基づき発生間隔(周期)がランダムに変化するランダム割り込みタイミングを発生する。このランダム割り込みタイミングは、後述するランダム割り込み処理(図5参照)を実行する割り込みタイミングとして用いられる。そして、ランダム割り込みタイミングを発生し終えると、上述のステップSA2に処理を戻す。以後、練習開始の状態(モードフラグMODEFが「1」)が維持されている間は、ステップSA2〜SA4を繰り返し実行する。
【0023】
(2)モードスイッチ割り込み処理の動作
次に、図4を参照してモードスイッチ割り込み処理の動作を説明する。スイッチ部11に配設されるモードスイッチMODEのオン操作に応じたスイッチイベントが発生すると、CPU12は図4に図示するモードスイッチ割り込み処理を実行し、ステップSB1に進み、モードフラグMODEFが「0」であるか否か、すなわち練習終了の状態でモードスイッチMODEがオン操作されたかどうかを判断する。
【0024】
練習終了の状態でモードスイッチMODEがオン操作されたならば、判断結果は「YES」となり、ステップSB2に進み、モードフラグMODEFを「1」にセットして練習開始の状態に遷移する。そして、ステップSB3に進み、後述するレッスン処理を実行させた後、本処理を終える。
【0025】
レッスン処理では、後述するように、現在のステップデータSTEPに対応した難易度の問題音を用いた「ステップ問題」が出題(発音)され、出題された問題音と同じ音高の音を押鍵操作で指定する解答を進め、解答の正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる。また、レッスン処理では、こうした「ステップ問題」の解答を進めている途中において、上述のランダム割り込みタイミングに基づくランダムな周期に従った時期に、絶対音感の実力を試す「チャレンジ問題」あるいは「確認問題」を出題する。
【0026】
「チャレンジ問題」では、現在のステップデータSTEPより一段上のステップレベル(STEP+1)の難易度の問題音を順次出題し、その解答が正解になる度に連続正解数を歩進するが、一問でも不正解になると連続正解数をゼロリセットする。全問に解答し終えた時に正解数が所定数を超えて「チャレンジ問題」をクリアすると、ボーナスポイントとして「ステップ問題」時の正解数を3ポイント加算し、さらに連続正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段昇格させる。
【0027】
「確認問題」では、現在のステップデータSTEPより一段下のステップレベル(STEP−1)の難易度の問題音を順次出題し、その解答が不正解になる度に連続不正解数を歩進するが、一問でも正解すると連続不正解数をゼロリセットする。全問に解答し終えた時に不正解数が所定数を超えていれば、ペナルティとして「ステップ問題」時の正解数を3ポイント分減算し、さらに連続不正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段降格させる。
【0028】
さて一方、モードフラグMODEFが「1」の場合、つまり練習開始の状態でモードスイッチMODEがオン操作されると、上記ステップSB1の判断結果は「NO」になり、ステップSB4に進み、モードフラグMODEFをゼロリセットして練習終了の状態に遷移させる。この後、ステップSB5に進み、RAM14のレジスタSTEPにストアされるステップデータを外部メモリ16に退避格納して本処理を終える
【0029】
(3)ランダム割り込み処理の動作
次に、図5を参照してランダム割り込み処理の動作を説明する。前述したメインルーチン(図3参照)のステップSA4において生成されたランダム割り込みタイミングになると、CPU12は図5に図示するランダム割り込み処理を実行し、ステップSC1に進む。ステップSC1では、モードフラグMODEFが「1」であるか否か、すなわち練習開始の状態であるかどうかを判断する。練習停止の状態(モードフラグMODEFが「0」)であると、判断結果は「NO」になり、本処理を終える。
【0030】
一方、練習開始の状態ならば、上記ステップSC1の判断結果は「YES」となり、ステップSC2に進む。ステップSC2では、インタラプトフラグINTFが「0」であるか否か、すなわち後述のレッスン処理において「チャレンジ問題」(あるいは「確認問題」)の出題に全て解答し終えた状態であるかどうかを判断する。後述のレッスン処理において、「チャレンジ問題」について解答中(インタラプトフラグINTFが「1」)であったり、あるいは「確認問題」について解答中(インタラプトフラグINTFが「2」)であったりすると、ここでの判断結果は「NO」となり、本処理を終える。
【0031】
これに対し、後述のレッスン処理において、「チャレンジ問題」(あるいは「確認問題」)の出題に全て解答し終えた状態ならば、インタラプトフラグINTFは「0」にセットされる為、上記ステップSC2の判断結果は「YES」となり、ステップSC3に進む。ステップSC3では、公知のランダム関数に基づき乱数を発生させ、続くステップSC4では、発生させた乱数が偶数であるか否かを判断する。
【0032】
発生させた乱数が偶数ならば、判断結果は「YES」となり、ステップSC5に進み、インタラプトフラグINTFを「1」にセットする。なお、インタラプトフラグINTFが「1」にセットされると、後述するレッスン処理において「チャレンジ問題」が出題される。一方、発生させた乱数が奇数であると、上記ステップSC4の判断結果は「NO」となり、ステップSC6に進み、インタラプトフラグINTFを「2」にセットする。なお、インタラプトフラグINTFが「2」にセットされると、後述するレッスン処理において「確認問題」が出題される。
【0033】
このように、ランダム割り込み処理は、発生間隔(周期)がランダムに変化するランダム割り込みタイミング毎に実行され、その実行タイミングになると、練習開始の状態(モードフラグMODEFが「1」)であって、かつ後述のレッスン処理において「チャレンジ問題」(あるいは「確認問題」)の出題に全て解答し終えた状態(インタラプトフラグINTFが「0」)であると、乱数を発生し、発生させた乱数が偶数又は奇数の何れであるかを判別する。発生乱数が偶数ならば、インタラプトフラグINTFを「1」にセットして「チャレンジ問題」の出題開始を指示し、一方、発生乱数が奇数であると、インタラプトフラグINTFを「2」にセットして「確認問題」の出題開始を指示する。したがって、発生間隔(周期)がランダムに変化することよって、ユーザの意表を突く時期に絶対音感の実力を試す「チャレンジ問題」や「確認問題」が出題される為にゲーム的な面白味を醸し出し、結果的に練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが可能になる。
【0034】
(4)レッスン処理の動作
次に、図6〜図11を参照してレッスン処理の動作を説明する。前述したように、レッスン処理のステップSD1〜SD21では、現在のステップデータSTEPに対応した難易度の問題音を用いた「ステップ問題」が順次出題され、出題(発音)された問題音と同じ音高の音を当てる解答を進め、その解答が正解になる度に歩進される正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる一方、こうした「ステップ問題」の解答を進めている過程で、ランダムな周期に従ってステップSD22〜SD42の「チャレンジ問題」や、ステップSD43〜SD65の「確認問題」が出題される。以下、こうした動作について詳述する。
【0035】
前述したモードスイッチ割り込み処理のステップSB3(図4参照)を介して本処理が実行されると、図6に図示するステップSD1に進み、前回練習終了の際に退避格納したステップデータSTEPを外部メモリ16から読み出し、続くステップSD2では、読み出したステップデータSTEPをレジスタSTEPにストアする。以後、レジスタSTEPの内容を、絶対音感として聴覚できる段階(ステップレベル)を表すステップデータSTEPと称す。
【0036】
次いで、ステップSD3では、正解数をカウントするレジスタOKをゼロリセットする。以下、レジスタOKの内容を正解数OKと称す。そして、ステップSD4では、ステップデータSTEPに対応する難易度の問題音をランダムに作成する。具体的には、ステップデータSTEPに対応した種類の問題音を、RAM14の問題音エリアからランダムに選択する。例えばステップデータSTEPのステップレベルが「2」であると、複数種の「和音(ピアノ)」の内からランダムに選択する。
【0037】
続いて、ステップSD5では、不正解数をカウントするレジスタMISSをゼロリセットする。以下、レジスタMISSの内容を不正解数MISSと称す。次に、ステップSD6では、上記ステップSD4において作成(選択)した問題音の発音を音源18に指示する。これに応じて音源18が問題音を発音して出題が為されると、ステップSD7に進み、押鍵待ちを開始する。押鍵待ちの開始とは、出題(問題音発音)してからユーザが解答音を押鍵するまでの時間を計時するタイマをスタートさせることを意味する。
【0038】
そして、ステップSD8〜SD9では、押鍵待ち開始から一定時間経過する迄の間に押鍵の有無を判断する。押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵しなければ、ステップSD9の判断結果が「YES」となり、図8に図示するステップSD22(後述する)に進むが、押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵すると、ステップSD8の判断結果が「YES」となり、ステップSD10に進む。
【0039】
ステップSD10では、問題音と押鍵された解答音とを比較して正誤判定を行う。問題音と解答音とが一致して正解と判定された場合には、ステップSD11に進み、正解数OKをインクリメントして歩進させ、続くステップSD12では、表示部17に「正解です!」なるメッセージを画面表示させると共に、LED部15に対し、問題音に対応した鍵のLEDを点灯するよう指示する正解報知を実行する。
【0040】
この後、図7に図示するステップSD17に進み、正解数OKが所定回数を超えたか否か、すなわち所定回数連続して正解したかどうかを判断する。正解数OKが所定回数を超えていない場合、つまり所定回数連続して正解していなければ、判断結果は「NO」になり、後述のステップSD22(図8参照)に進む。
【0041】
これに対し、所定回数連続して正解したことにより正解数OKが所定回数を超えたならば、上記ステップSD17の判断結果は「YES」となり、ステップSD18に進む。ステップSD18では、ステップデータSTEPが最高レベルに未達であるか否かを判断する。ステップデータSTEPが既に最高レベルに到達していれば、判断結果は「NO」になり、ステップSD20に進み、レッスン修了の旨を表示部17に画面表示する。この後、ステップSD21に進み、モードフラグMODEFをゼロリセットし、これにより練習停止の状態に遷移して本処理を終える。
【0042】
一方、ステップデータSTEPが最高レベルに未達であると、上記ステップSD18の判断結果は「YES」となり、ステップSD19に進み、ステップデータSTEPをインクリメントしてステップレベルを一段昇格する。この後、前述したステップSD3(図6参照)に処理を戻し、ステップレベルの昇格に伴い難易度を増した「ステップ問題」に解答する練習を進める。
【0043】
さて一方、問題音と押鍵された解答音とが一致せず、上記ステップSD10(図6参照)において不正解と判定されたとする。そうすると、図6に図示するステップSD13に進み、正解数OKをゼロリセットした後、ステップSD14に進み、不正解数MISSをインクリメントして歩進させる。つまり、一度不正解になると、それまでカウントしていた正解数OKをゼロリセットして不正解数MISSを歩進する。そして、ステップSD15に進み、歩進された不正解数MISSが所定回数を超えたか否か、すなわち一つの設問について所定回数不正解となったかどうかを判断する。一つの設問について所定回数間違えておらず、不正解数MISSが所定回数を超えなければ、判断結果は「NO」となり、前述のステップSD6に処理を戻し、問題音を発音(再出題)する。
【0044】
これに対し、一つの設問について所定回数不正解となってしまい、この結果、不正解数MISSが所定回数を超えると、上記ステップSD15の判断結果が「YES」となり、ステップSD16に進み、表示部17に「不正解です。」なるメッセージを画面表示させると共に、LED部15に対し、問題音に対応した鍵のLEDを点灯するよう指示する不正解報知を実行した後、図8に図示するステップSD22に進む。
【0045】
上述したように、押鍵待ち開始から一定時間経過する迄の間に解答(押鍵)しなかったり、所定回数連続して正解できなかったりした場合や、一つの設問について所定回数不正解となった場合には、図8に図示するステップSD22に進む。ステップSD22では、インタラプトフラグINTFが「1」にセットされているか否か、すなわち「チャレンジ問題」を出題する時期であるかどうかを判断する。インタラプトフラグINTFが「1」にセットされ、「チャレンジ問題」を出題する時期であると、判断結果は「YES」となり、ステップSD23以降を実行する。
【0046】
「チャレンジ問題」を出題する時期でなければ、上記ステップSD22の判断結果は「NO」になり、図10に図示するステップSD43に進み、インタラプトフラグINTFが「2」にセットされているか否か、すなわち「確認問題」を出題する時期であるかどうかを判断する。インタラプトフラグINTFが「2」にセットされ、「確認問題」を出題する時期であるならば、判断結果は「YES」となり、ステップSD44以降を実行する。「確認問題」を出題する時期でなければ、上記ステップSD43の判断結果は「NO」となり、本処理を終える。
【0047】
このように、図8に図示するステップSD22以降では、インタラプトフラグINTFの値に基づき、ランダムに変化する周期で「チャレンジ問題」又は「確認問題」を出題するようになっている。以下では、「チャレンジ問題」を出題する場合と、「確認問題」を出題する場合とに分けて動作を説明する。
【0048】
<「チャレンジ問題」を出題する場合>
インタラプトフラグINTFが「1」にセットされ、「チャレンジ問題」を出題する時期ならば、図8に図示するステップSD22の判断結果が「YES」となり、ステップSD23に進み、現在のステップレベルを表すステップデータSTEPが最高レベルに未達であるか否かを判断する。ステップデータSTEPが既に最高レベルに達していると、判断結果は「NO」になり、ステップSD24に進み、インタラプトフラグINTFを「2」にセットした後、図10に図示するステップSD43に進み、後述の「確認問題」を出題する動作を実行する。つまり、現在のステップレベルが最高レベルならば、昇格テストに相当する「チャレンジ問題」を行う必要が無い為、図10に図示するステップSD43に進む。
【0049】
一方、ステップデータSTEPが最高レベルに達していなければ、上記ステップSD23の判断結果は「YES」となり、ステップSD25に進み、例えば表示部17の表示画面に「チャレンジ問題を開始します。」なるメッセージを表示してユーザに「チャレンジ問題」の出題開始を報知する。次いで、ステップSD26では、レジスタN,YES,RYESをそれぞれゼロリセットする。
【0050】
なお、レジスタNはチャレンジ問題の出題数を計数するものであり、以後、当該レジスタNの内容を出題数Nと称する。レジスタYESはチャレンジ問題の正解数を計数するものであり、以後、当該レジスタYESの内容をチャレンジ問題正解数YESと称する。レジスタRYESはチャレンジ問題の連続正解数を計数するレジスタであり、以後、当該レジスタRYESの内容をチャレンジ問題連続正解数RYESと称する。
【0051】
さて、出題数N、チャレンジ問題正解数YESおよびチャレンジ問題連続正解数RYESをそれぞれゼロリセットし終えると、CPU12はステップSD27に処理を進め、「チャレンジ問題」としてステップデータSTEP(現在のステップレベル)より一段上のステップレベル(STEP+1)に対応する難易度の問題音を、RAM14の問題音エリアからランダムに選択し、続くステップSD28では、その選択した問題音の発音を音源18に指示する。
【0052】
そして、一段上のステップレベル(STEP+1)の問題音が「チャレンジ問題」として発音(出題)されると、ステップSD29に進み、押鍵待ちを開始する。続いて、ステップSD30〜SD31では、押鍵待ち開始から一定時間経過する迄の間に押鍵の有無を判断する。押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵すると、ステップSD30の判断結果が「YES」となり、ステップSD32に進み、問題音と押鍵された解答音とを比較して正誤判定を行う。
【0053】
問題音と押鍵された解答音とが一致して正解と判定された場合には、ステップSD33〜SD34に進み、チャレンジ問題正解数YESおよびチャレンジ問題連続正解数RYESを各々インクリメントして歩進させ、続くステップSD35では、出題数Nをインクリメントして歩進させた後、図9に図示するステップSD37に進む。
【0054】
一方、問題音と押鍵された解答音とが一致せず、不正解と判定された場合には、ステップSD36に進む。また、押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵しない場合にも、上記ステップSD31の判断結果が「YES」となり、ステップSD36に進む。そして、ステップSD36では、チャレンジ問題連続正解数RYESをゼロリセットする。
【0055】
この後、ステップSD35に進み、出題数Nをインクリメントして歩進させた後、図9に図示するステップSD37に進む。ステップSD37では、出題数Nが所定数を超えたか否か、つまり「チャレンジ問題」を全て出題し終えたかどうかを判断する。全て出題し終えていなければ、判断結果は「NO」になり、上述したステップSD27(図8参照)に処理を戻して「チャレンジ問題」の出題を続ける。
【0056】
これに対し、「チャレンジ問題」を全て出題し終えると、上記ステップSD37の判断結果は「YES」になり、ステップSD38に進む。ステップSD38では、チャレンジ問題正解数YESが所定数を超えているか否か、つまり「チャレンジ問題」をクリアすることが出来たかどうかを判断する。チャレンジ問題正解数YESが所定数を超えず、「チャレンジ問題」をクリアすることが出来なかった場合には、判断結果が「NO」になり、ステップSD42に進み、インタラプトフラグINTFをゼロリセットし、「チャレンジ問題」の出題を終えた状態に遷移して本処理を終える。
【0057】
一方、チャレンジ問題正解数YESが所定数を超え、「チャレンジ問題」をクリアすることが出来ると、上記ステップSD38の判断結果は「YES」となり、ステップSD39に進み、正解数OKに「3」を加算して更新する。すなわち「チャレンジ問題」をクリアしたことによるボーナスポイントとして正解数OKが3ポイント分加算される。
【0058】
続いて、ステップSD40では、チャレンジ問題連続正解数RYESが所定数を超えているか否か、つまりステップレベル昇格に相当する成績であるかどうかを判断する。チャレンジ問題連続正解数RYESが所定数を超えず、ステップレベル昇格に相当する成績でなければ、判断結果は「NO」となり、ステップSD42に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0059】
これに対し、チャレンジ問題連続正解数RYESが所定数を超え、ステップレベル昇格に相当する成績ならば、上記ステップSD40の判断結果が「YES」になり、ステップSD41に進み、ステップデータSTEPをインクリメントしてステップレベルを一段昇格した後、ステップSD42に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0060】
このように、「チャレンジ問題」の出題では、正解する度にチャレンジ問題連続正解数RYESが一つずつ歩進されるが、一問でも不正解になるとチャレンジ問題連続正解数RYESはゼロリセットされる。そして、「チャレンジ問題」について全て解答し終えた時に、チャレンジ問題正解数YESが所定数を超えて「チャレンジ問題」をクリアすることが出来ると、ボーナスポイントとして正解数OKが3ポイント加算され、さらにチャレンジ問題連続正解数RYESが所定数を超え、ステップレベル昇格に相当する成績ならば、ステップレベルを一段昇格させる。
【0061】
<「確認問題」を出題する場合>
インタラプトフラグINTFが「2」にセットされ、「確認問題」を出題する時期ならば、図10に図示するステップSD43の判断結果が「YES」となり、ステップSD44に進む。ステップSD44では、現在のステップレベルを表すステップデータSTEPが最低レベルより上であるか否かを判断する。現在のステップレベルが最低レベルならば、判断結果は「NO」になり、ステップSD45に進み、インタラプトフラグINTFを「1」にセットした後、図8に図示するステップSD22に進み、上述した「チャレンジ問題」を出題する場合の動作を実行する。
【0062】
一方、現在のステップレベルが最低レベルより上であると、上記ステップSD44の判断結果は「YES」となり、ステップSD46に進み、例えば表示部17の表示画面に「確認問題を開始します。」なるメッセージを表示してユーザに「確認問題」の出題開始を報知する。次いで、ステップSD47では、出題数N,レジスタNOおよびレジスタRNOをそれぞれゼロリセットする。なお、レジスタNOは確認問題の不正解数を計数するものであり、以後、当該レジスタNOの内容を確認問題不正解数NOと称する。レジスタRNOは確認問題の連続不正解数を計数するレジスタであり、以後、当該レジスタRNOの内容を確認問題連続不正解数RNOと称する。
【0063】
さて、出題数N、確認問題不正解数NOおよび確認問題連続不正解数RNOをそれぞれゼロリセットし終えると、CPU12はステップSD48に進み、確認問題として現在のステップレベルより一段下のステップレベル(STEP−1)に対応する難易度の問題音を、RAM14の問題音エリアからランダムに選択し、続くステップSD49では、その選択した問題音の発音を音源18に指示する。
【0064】
そして、一段下のステップレベル(STEP−1)の問題音が「確認問題」として発音(出題)されると、ステップSD50に進み、押鍵待ちを開始する。続いて、ステップSD51〜SD52では、押鍵待ち開始から一定時間経過する迄の間に押鍵の有無を判断する。押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵すると、ステップSD51の判断結果が「YES」となり、ステップSD53に進み、問題音と押鍵された解答音とを比較して正誤判定を行う。問題音と解答音とが一致して正解と判定されると、ステップSD54に進み、確認問題連続不正解数RNOをゼロリセットした後、図11に図示するステップSD57に進む。
【0065】
一方、問題音と解答音とが一致せず、不正解と判定された場合や、押鍵待ち開始から一定時間経過する迄の間にユーザが解答音を押鍵しない場合には、ステップSD55に進み、確認問題不正解数NOをインクリメントして歩進させ、続くステップSD56では、確認問題連続不正解数RNOをインクリメントして歩進させた後、図11に図示するステップSD57に進む。
【0066】
そして、ステップSD57では、出題数Nをインクリメントして歩進させ、続くステップSD58では、歩進させた出題数Nが所定数を超えたか否か、つまり「確認問題」を全て出題し終えたかどうかを判断する。全て出題し終えていなければ、判断結果は「NO」になり、上述したステップSD48(図10参照)に処理を戻し、「確認問題」の出題を続ける。これに対し、「確認問題」を全て出題し終えると、上記ステップSD58の判断結果が「YES」になり、ステップSD59に進む。
【0067】
ステップSD59では、確認問題不正解数NOが所定数を超えているか否かを判断する。確認問題不正解数NOが所定数未満ならば、判断結果は「NO」になり、後述のステップSD63に進むが、確認問題不正解数NOが所定数を超えていると、判断結果は「YES」になり、ステップSD60に進み、不正解数が多いことのペナルティとして正解数OKを3ポイント分減算する。
【0068】
次いで、ステップSD61では、3ポイント分減算された正解数OKの値が「0」より小さいか否かを判断する。3ポイント分減算された正解数OKの値が「0」より小さければ、判断結果は「YES」となり、ステップSD62に進み、正解数OKをゼロリセットした後、ステップSD63に進む。これに対し、3ポイント分減算された正解数OKの値が「0」以上ならば、上記ステップSD61の判断結果は「NO」となり、ステップSD63に進む。
【0069】
ステップSD63では、確認問題連続不正解数RNOが所定数を超えているか否か、つまりステップレベル降格に相当する成績であるかどうかを判断する。確認問題連続不正解数RNOが所定数を超えず、ステップレベル降格に相当する成績でなければ、判断結果は「NO」となり、ステップSD65に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0070】
一方、確認問題連続不正解数RNOが所定数を超え、ステップレベル降格に相当する成績であると、上記ステップSD63の判断結果が「YES」になり、ステップSD64に進み、ステップデータSTEPをデクリメントしてステップレベルを一段下げる。この後、ステップSD65に進み、インタラプトフラグINTFをゼロリセットして本処理を終える。
【0071】
このように、「確認問題」の出題では、不正解の度に確認問題連続不正解数RNOが一つずつ歩進されるが、一問でも正解すると確認問題連続不正解数RNOレンジはゼロリセットされる。そして、「確認問題」について全て解答し終えた時に、確認問題不正解数NOが所定数を超えていれば、不正解数が多いことのペナルティとして正解数OKを3ポイント分減算し、さらに確認問題連続不正解数RNOが所定数を超え、ステップレベル降格に相当する成績であると、ステップレベルを一段降格する。
【0072】
以上のように、本実施形態では、現在のステップデータSTEPに対応した難易度の問題音が出題(発音)され、出題された問題音と同じ音高の音をユーザが押鍵操作で解答し、正解数が所定回数を超えたらステップデータSTEPのステップレベルを昇格させる「ステップ問題」を繰り返し行わせ、その過程でランダムに変化する周期毎に「チャレンジ問題」あるいは「確認問題」が出題される。
【0073】
「チャレンジ問題」では、現在のステップデータSTEPより一段上のステップレベル(STEP+1)の難易度の問題音を出題し、その解答が正解になる度に連続正解数を歩進するが、一問でも不正解になると連続正解数をゼロリセットする。全問に解答し終えた時に正解数が所定数を超えて「チャレンジ問題」をクリアすると、ボーナスポイントとして「ステップ問題」時の正解数を3ポイント加算し、さらに連続正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段昇格させる。
【0074】
「確認問題」では、現在のステップデータSTEPより一段下のステップレベル(STEP−1)の難易度の問題音を順次出題し、その解答が不正解になる度に連続不正解数を歩進するが、一問でも正解すると連続不正解数をゼロリセットする。全問に解答し終えた時に不正解数が所定数を超えていれば、ペナルティとして「ステップ問題」時の正解数を3ポイント分減算し、さらに連続不正解数が所定数を超えると、現在のステップデータSTEPのステップレベルを一段降格させる。
【0075】
したがって、「ステップ問題」に取り組んでいる最中に、ユーザの意表を突く時期、つまりランダムに変化する周期毎に絶対音感の実力を試す「チャレンジ問題」あるいは「確認問題」が出題される為、ゲーム的な面白味を醸し出し、これにより練習を通じて新たな楽しみを得たり、学習効果を高めたりすることが出来る。
【0076】
なお、上述の実施形態では、ランダムに変化する周期毎に、発生乱数の偶数/奇数に応じて「チャレンジ問題」あるいは「確認問題」の何れかを出題する態様としたが、これに限らず、ランダムに変化する周期毎に「チャレンジ問題」だけを出題する態様としても良いし、ランダムに変化する周期毎に「確認問題」だけを出題する態様としても構わない。
【符号の説明】
【0077】
10 鍵盤
11 スイッチ部
12 CPU
13 ROM
14 RAM
15 LED部
16 外部メモリ
17 表示部
18 音源
19 サウンドシステム
100 練習装置
【特許請求の範囲】
【請求項1】
ユーザが絶対音感として聴覚可能な段階を表すステップレベルを記憶する記憶手段と、
前記記憶手段に記憶されるステップレベルに対応した難易度の問題音を出題するステップ問題出題手段と、
前記ステップ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するステップ更新手段と、
ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定手段と、
前記チャレンジ指定手段によりチャレンジ問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題手段と、
前記チャレンジ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計手段と、
前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算手段と、
前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するチャレンジ更新手段と
を具備することを特徴とする練習装置。
【請求項2】
ランダムに変化する周期で確認問題の出題時期を指定する確認指定手段と、
前記確認指定手段により確認問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題手段と、
前記確認問題出題手段により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計手段と、
前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、
前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段降格させて更新する確認更新手段と
を更に具備することを特徴とする請求項1記載の練習装置。
【請求項3】
コンピュータに、
ユーザが絶対音感として聴覚可能な段階を表すステップレベルに対応した難易度の問題音を出題するステップ問題出題処理と、
前記ステップ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に現在のステップレベルを所定段昇格させて更新するステップ更新処理と、
ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定処理と、
前記チャレンジ指定処理によりチャレンジ問題の出題時期が指定された場合に、現在のステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題処理と、
前記チャレンジ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計処理と、
前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算処理と、
前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段昇格させて更新するチャレンジ更新処理と
を実行させることを特徴とするプログラム。
【請求項4】
ランダムに変化する周期で確認問題の出題時期を指定する確認指定処理と、
前記確認指定処理により確認問題の出題時期が指定された場合に、現在のステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題処理と、
前記確認問題出題処理により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計処理と、
前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、
前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段降格させて更新する確認更新処理と
を更に具備することを特徴とする請求項3記載のプログラム。
【請求項1】
ユーザが絶対音感として聴覚可能な段階を表すステップレベルを記憶する記憶手段と、
前記記憶手段に記憶されるステップレベルに対応した難易度の問題音を出題するステップ問題出題手段と、
前記ステップ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するステップ更新手段と、
ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定手段と、
前記チャレンジ指定手段によりチャレンジ問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題手段と、
前記チャレンジ問題出題手段により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計手段と、
前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算手段と、
前記チャンレジ問題出題手段によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計手段により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段昇格させて更新するチャレンジ更新手段と
を具備することを特徴とする練習装置。
【請求項2】
ランダムに変化する周期で確認問題の出題時期を指定する確認指定手段と、
前記確認指定手段により確認問題の出題時期が指定された場合に、前記記憶手段に記憶されるステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題手段と、
前記確認問題出題手段により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計手段と、
前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、
前記確認問題出題手段によって出題された全ての問題音に解答し終えた時点で前記確認集計手段により計数された確認問題連続正解数が所定数を超えた場合に、前記記憶手段に記憶されるステップレベルを所定段降格させて更新する確認更新手段と
を更に具備することを特徴とする請求項1記載の練習装置。
【請求項3】
コンピュータに、
ユーザが絶対音感として聴覚可能な段階を表すステップレベルに対応した難易度の問題音を出題するステップ問題出題処理と、
前記ステップ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、その判定結果に基づき計数されるステップ問題正解数が所定数を超えた場合に現在のステップレベルを所定段昇格させて更新するステップ更新処理と、
ランダムに変化する周期でチャレンジ問題の出題時期を指定するチャレンジ指定処理と、
前記チャレンジ指定処理によりチャレンジ問題の出題時期が指定された場合に、現在のステップレベルより所定段上のレベルに対応した難易度の問題音を出題するチャレンジ問題出題処理と、
前記チャレンジ問題出題処理により出題される問題音とユーザ操作で指定される解答音とを比較して正誤判定し、正解と判定されたチャレンジ問題正解数および連続して正解と判定されたチャレンジ問題連続正解数を計数する一方、不正解と判定された場合にチャレンジ問題連続正解数をゼロリセットするチャレンジ集計処理と、
前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題正解数が所定数を超えた場合に、前記ステップ問題正解数に所定数を加算する加算処理と、
前記チャンレジ問題出題処理によって出題された全ての問題音に解答し終えた時点で前記チャレンジ集計処理により計数されたチャレンジ問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段昇格させて更新するチャレンジ更新処理と
を実行させることを特徴とするプログラム。
【請求項4】
ランダムに変化する周期で確認問題の出題時期を指定する確認指定処理と、
前記確認指定処理により確認問題の出題時期が指定された場合に、現在のステップレベルより所定段下のレベルに対応した難易度の問題音を出題する確認問題出題処理と、
前記確認問題出題処理により出題された問題音とユーザ操作で指定される解答音とを比較して正誤判定し、不正解と判定された確認問題不正解数および連続して不正解と判定された確認問題連続不正解数を計数する一方、正解と判定された場合に確認問題連続不正解数をゼロリセットする確認集計処理と、
前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題不正解数が所定数を超えた場合に、前記ステップ問題正解数から所定数を減算する減算手段と、
前記確認問題出題処理によって出題された全ての問題音に解答し終えた時点で前記確認集計処理により計数された確認問題連続正解数が所定数を超えた場合に、現在のステップレベルを所定段降格させて更新する確認更新処理と
を更に具備することを特徴とする請求項3記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−164547(P2011−164547A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−30462(P2010−30462)
【出願日】平成22年2月15日(2010.2.15)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願日】平成22年2月15日(2010.2.15)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]