(57)【特許請求の範囲】
【請求項１】
曲データ並びにその曲データの演奏レッスンを補助するための複数の補助表示データ及び当該補助表示データ夫々に対応する補助曲データ及び補助曲表示データを記憶している記憶手段と、
前記記憶手段から曲データを読み出して再生する曲再生手段と、
前記曲再生手段より前記曲データを再生している状態において、外部から入力された表示指令に基づき、前記曲再生手段による前記曲データの再生を一時停止させるとともに、前記記憶手段に記憶された複数の補助表示データのいずかひとつを読み出して所定の表示手段に表示する第１の表示制御手段と、
この第１の表示制御手段により補助表示データが表示されている状態において、外部から入力された再生指令に基づき、当該補助表示データに対応する補助曲表示データを前記表示手段に表示するとともに、前記補助表示データに対応する補助曲データを再生する補助曲再生表示手段と、
この補助曲再生表示手段により補助曲表示データが表示されている状態において、外部から入力された停止命令に基づいて前記補助曲データの再生を停止させるとともに、前記表示手段に前記補助表示データを表示させる第２の表示制御手段と、
前記補助表示データが表示されている状態において、外部から入力された復帰指令に基づいて前記補助表示データの表示を消去するとともに、その後外部から入力された再開指令に基づいて一時停止させていた曲データの再生を再開させる再開手段と、
を有する演奏教習装置。
【請求項２】
前記記憶手段はさらに前記複数の補助表示データ夫々の名称を表わすリスト画面を記憶し、
前記表示制御手段は、
外部から入力された表示指令に基づいて前記記憶手段からリスト画面を読み出して前記表示手段にさせるリスト表示手段と、
外部からの選択指令に基づき、当該リスト画面上で選択された名称に対応する補助表示データを前記記憶手段から読み出して前記表示手段に表示させる選択手段と、
を有することを特徴とする請求項１に記載の演奏教習装置。
【請求項３】
前記第１の表示制御手段は、外部から入力される指定指令に基づき、前記記憶手段から当該指定指令により指定された補助表示データを読み出して前記表示手段に表示することを特徴とする請求項１に記載の演奏教習装置。
【請求項４】
コンピュータに、
曲データ並びにその曲データの演奏レッスンを補助するための複数の補助表示データ及び当該補助表示データ夫々に対応する補助曲データ及び補助曲表示データを記憶している記憶手段から曲データを読み出して再生する曲再生ステップと、
前記曲データを再生している状態において、外部から入力された表示指令に基づき、前記曲データの再生を一時停止させるとともに、前記記憶手段に記憶された複数の補助表示データのいずかひとつを読み出して所定の表示手段に表示する第１の表示制御ステップと、
この補助表示データが表示されている状態において、外部から入力された再生指令に基づき、当該補助表示データに対応する補助曲表示データを前記表示手段に表示するとともに、前記補助表示データに対応する補助曲データを再生する補助曲再生表示ステップと、
この補助曲表示データが表示されている状態において、外部から入力された停止命令に基づいて前記補助曲データの再生を停止させるとともに、前記表示手段に前記補助表示データを表示させる第２の表示制御ステップと、
前記補助表示データが表示されている状態において、外部から入力された復帰指令に基づいて前記補助表示データの表示を消去するとともに、その後外部から入力された再開指令に基づいて一時停止させていた曲データの再生を再開させる再開ステップと、
を実行させる演奏教習処理のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏教習装置及び演奏教習処理のプログラムに関する。
【０００２】
【従来の技術】
従来の演奏教習装置においては、例えば、ＬＣＤ等の表示装置に曲データを構成する音符の楽譜及び演奏データの再生に伴って演奏すべき音符を示すマークを表示して演奏教習を行っている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の技術においては、表示装置に表示された画像を見ながら一人で演奏レッスンをするだけでは、演奏の高度な部分や不得意な部分を克服するのが困難な場合もある。このような場合には、音楽教室のように個人別のアドバイスを受けることができないので、すみやかに上達することが難しいという問題があった。
【０００４】
本発明の課題は、表示された曲データの画像を見ながら一人で演奏レッスンをする場合でも、音楽教室で個人別のアドバイスを受ける場合と同様に、演奏の高度な部分や不得意な部分を克服できる演奏教習を実現することである。
【０００５】
【課題を解決するための手段】
請求項１に記載の演奏教習装置は、曲データ並びにその曲データの演奏レッスンを補助するための複数の補助表示データ及び当該補助表示データ夫々に対応する補助曲データ及び補助曲表示データを記憶している記憶手段と、前記記憶手段から曲データを読み出して再生する曲再生手段と、前記曲再生手段より前記曲データを再生している状態において、外部から入力された表示指令に基づき、前記曲再生手段による前記曲データの再生を一時停止させるとともに、前記記憶手段に記憶された複数の補助表示データのいずかひとつを読み出して所定の表示手段に表示する第１の表示制御手段と、この第１の表示制御手段により補助表示データが表示されている状態において、外部から入力された再生指令に基づき、当該補助表示データに対応する補助曲表示データを前記表示手段に表示するとともに、前記補助表示データに対応する補助曲データを再生する補助曲再生表示手段と、この補助曲再生表示手段により補助曲表示データが表示されている状態において、外部から入力された停止命令に基づいて前記補助曲データの再生を停止させるとともに、前記表示手段に前記補助表示データを表示させる第２の表示制御手段と、前記補助表示データが表示されている状態において、外部から入力された復帰指令に基づいて前記補助表示データの表示を消去するとともに、その後外部から入力された再開指令に基づいて一時停止させていた曲データの再生を再開させる再開手段と、を有する構成になっている。
この場合は、前記記憶手段はさらに前記複数の補助表示データ夫々の名称を表わすリスト画面を記憶し、前記表示制御手段は、外部から入力された表示指令に基づいて前記記憶手段からリスト画面を読み出して前記表示手段にさせるリスト表示手段と、外部からの選択指令に基づき、当該リスト画面上で選択された名称に対応する補助表示データを前記記憶手段から読み出して前記表示手段に表示させる選択手段と、を有するような構成にしてもよい。
また、前記第１の表示制御手段は、外部から入力される指定指令に基づき、前記記憶手段から当該指定指令により指定された補助表示データを読み出して前記表示手段に表示するような構成にしてもよい。
【０００６】
請求項４に記載の演奏教習処理のプログラムは、コンピュータに、曲データ並びにその曲データの演奏レッスンを補助するための複数の補助表示データ及び当該補助表示データ夫々に対応する補助曲データ及び補助曲表示データを記憶している記憶手段から曲データを読み出して再生する曲再生ステップと、前記曲データを再生している状態において、外部から入力された表示指令に基づき、前記曲データの再生を一時停止させるとともに、前記記憶手段に記憶された複数の補助表示データのいずかひとつを読み出して所定の表示手段に表示する第１の表示制御ステップと、この補助表示データが表示されている状態において、外部から入力された再生指令に基づき、当該補助表示データに対応する補助曲表示データを前記表示手段に表示するとともに、前記補助表示データに対応する補助曲データを再生する補助曲再生表示ステップと、この補助曲表示データが表示されている状態において、外部から入力された停止命令に基づいて前記補助曲データの再生を停止させるとともに、前記表示手段に前記補助表示データを表示させる第２の表示制御ステップと、前記補助表示データが表示されている状態において、外部から入力された復帰指令に基づいて前記補助表示データの表示を消去するとともに、その後外部から入力された再開指令に基づいて一時停止させていた曲データの再生を再開させる再開ステップと、を実行させる構成になっている。
【０００７】
請求項１又は請求項４に記載の発明によれば、曲データの演奏中において、その曲データの演奏レッスンを補助するための補助曲データ又は補助表示データをユーザの操作に応じて記憶手段から読み出して、その補助曲データの演奏又はその補助表示データの表示を可能にする。
【０００８】
【発明の実施の形態】
以下、本発明による演奏教習装置の実施形態について、図を参照して説明する。
図１は、実施形態における演奏教習装置の構成を示すブロック図である。図１において、ＣＰＵ１はシステムバス２を介して、プログラムＲＯＭ３、ワークＲＡＭ４、曲メモリ５、表示部６、鍵盤７、スイッチ部８、音源９に接続され、これら各部との間でコマンド及びデータを授受してこの装置全体を制御する。また、音源９には、Ｄ／Ａ変換器、アンプ、スピーカ等からなる発音回路１０が接続されている。
【０００９】
プログラムＲＯＭ３には、演奏教習処理のプログラムや、電源投入時のイニシャライズにおける初期データが格納されている。ワークＲＡＭ４は、ＣＰＵ１によって処理される各種のデータを一時的に記憶するとともに、演奏教習処理を実行する際の各種のレジスタやフラグのエリアをもっている。表示部５には、後述する図６〜図１０に示すような、演奏ガイドの画面が表示される。
曲メモリ６には複数の曲データが記憶されている。鍵盤７は、演奏操作に応じてその演奏データをＣＰＵ１に入力する。スイッチ部８には、ステップ１、２、３の３種類のレッスンが可能なレッスンスイッチ、スタート／ストップスイッチ、エンタースイッチ、戻るスイッチ、カーソル移動スイッチ、テンキーからなる数字スイッチ、演奏／一時停止スイッチ、及び他のスイッチがある。音源９は、鍵盤７で演奏操作された演奏データに応じて生成した楽音波形データを発音回路１０に送出して発音させる。また、曲メモリ５から読み出された曲データの再生に対して、スイッチ部８のボリューム操作に応じて音量調整を施して発音回路１０に送出して発音させる。
【００１０】
図２〜図４は、曲メモリ５に記憶されている曲ファイルの構成を示している。曲ファイルは複数の曲データで構成され、各曲データは、図２に示すように、親曲データ、アドバイスリストデータ、及び複数種類のアドバイスデータ［１］、［２］、［３］…で構成されている。親曲データは、図３に示すように、演奏データ及び表示データで構成されている。そして、演奏データは、各小節データの親曲データ［１］、［２］、［３］…で構成され、表示データは、各小節データの親表示データ［１］、［２］、［３］…で構成されている。さらに、例えばｍ番目の小節データの表示データ［ｍ］は、アドバイスデータの番号を指定するアドバイス番号の画像データと五線譜及びその小節の音符の画像データとで構成されている。また、ｍ番目の小節の親曲データは、タイムデータである親曲データ［ｍ］［０］、イベントデータである親曲データ［ｍ］［１］、タイムデータである親曲データ［ｍ］［２］、イベントデータである親曲データ［ｍ］［３］…のように、タイムデータとイベントデータとが各アドレス［０］、［１］、［２］、［３］…ごとに交互に配列されている。
【００１１】
一方、複数のアドバイスデータ［１］、［２］、［３］…ごとの子曲データは、例えば、ｎ番目の子曲データ［ｎ］の場合は、図４に示すように、演奏データ［ｎ］及び表示データ［ｎ］で構成されている。そして、演奏データは、各小節データの子曲データ［ｎ］［１］、［ｎ］［２］、［ｎ］［３］…で構成され、表示データは、各小節データの子表示データ［ｎ］［１］、［ｎ］［２］、［ｎ］［３］…で構成されている。さらに、例えばｍ番目の小節データの表示データ［ｎ］［ｍ］は、五線譜及びその小節の音符の画像データとで構成されている。また、ｍ番目の小節の子曲データは、タイムデータである子曲データ［ｎ］［ｍ］［０］、イベントデータである親曲データ［ｎ］［ｍ］［１］、タイムデータである親曲データ［ｎ］［ｍ］［２］、イベントデータである親曲データ［ｎ］［ｍ］［３］…のように、タイムデータとイベントデータとが各アドレス［０］、［１］、［２］、［３］…ごとに交互に配列されている。
【００１２】
次に、図１の演奏教習装置における演奏教習処理について、まず、図５の状態遷移図及び図６〜図１０に示す表示部６の画面に基づいて全体的な動作を説明し、図１１〜図２７に示すＣＰＵ１のフローチャートに基づいて個々の詳細な動作を説明する。
図５において、ＭＯＤＥ＝「０」の状態では、図６のメニュー画面を表示する。このメニュー画面での操作によって表示される画面については図に示さないが、例えば、メニュー画面において、カーソル移動スイッチを操作して曲選択メニューを指定すると、曲メモリ５の曲データリスト画面が表示され、テンキーで任意の親曲データを選択できる。また、メニュー画面においてレッスンメニューを選択すると、ステップ１、２、３の３種類のレッスン内容を選択する画面が表示される。
【００１３】
そして、レッスンスイッチ１、２又は３のいずれかのレッスンスイッチがオンされたときはＭＯＤＥ＝「１」の状態に移行する。ＭＯＤＥ＝「１」の状態では、図７の親曲演奏画面を表示する。この画面には、選択された親曲データにおける最初の小節の五線譜、音符が表示され、アドバイス番号（図７の例では「２」）を表示する。この状態でスタート／ストップスイッチがオンされたときは親曲データの再生を開始する。その再生中に演奏／一時停止スイッチがオンされると親曲データの再生を一時的に中断する。そして、再び一時停止スイッチがオンされると親曲データの再生を再開する。親曲データの再生中にスタート／ストップスイッチがオンされたときは親曲データの再生を停止する。
【００１４】
ＭＯＤＥ＝「０」の状態において、レッスンスイッチがオンされたときはＭＯＤＥ＝「１」の状態に移行する。ＭＯＤＥ＝「１」の状態において、エンタースイッチがオンされたときは、親曲データの再生を一時的に中断して、ＭＯＤＥ＝「１」の状態からＭＯＤＥ＝「２」の状態に移行する。この状態においては、図８のアドバイスリスト画面を表示する。この画面には、複数のアドバイスの種類が表示される。カーソル移動スイッチがオンされたときは、反転表示するアドバイスの文字画像を変更する。したがってユーザは、演奏の高度な部分や不得意な部分に関係するアドバイスの種類を選択することができる。なお、この状態において、戻るスイッチがオンされたときはＭＯＤＥ＝「０」の状態に戻る。
【００１５】
ＭＯＤＥ＝「２」の状態において、エンタースイッチがオンされたときはＭＯＤＥ＝「３」の状態に移行する。あるいは、ＭＯＤＥ＝「１」の状態において、数字スイッチがオンされたときは、親曲データの再生を一時的に中断して、ＭＯＤＥ＝「３」の状態に移行する。この状態では、図９に示すアドバイスの内容を表示する。この内容は、図８の画面で選択されたアドバイスの番号又は図７の画面で数字スイッチで指定されたアドバイスの番号に対応する内容が表示される。この状態において、戻るスイッチがオンされたときはＭＯＤＥ＝「１」の親曲演奏画面の状態に戻る。
したがってユーザは、親曲データの演奏中に演奏の高度な部分や不得意な部分があった場合には、エンタースイッチをオンにしてアドバイスリスト画面を表示させ、その部分に関係するアドバイスを選択して、エンタースイッチのオンにする。そして、図９に示すようなアドバイス画面を見てその部分を克服するアドバイスを受けて、戻るスイッチを２回オンにすると元の親曲演奏画面に戻るので、そのアドバイスを参考にして親曲データの演奏レッスンを再開することができる。
あるいは、親曲データの演奏中に演奏の高度な部分や不得意な部分があった場合には、数字スイッチをオンにして図７の親曲演奏画面から直接図９のアドバイス画面を表示させて、高度な部分や不得意な部分を克服するアドバイスを受けて、戻るスイッチを１回オンにすると元の親曲演奏画面に戻るので、そのアドバイスを参考にして親曲データの演奏レッスンを再開することができる。
この結果、表示された演奏データの画像を見ながら一人で演奏レッスンをする場合でも、音楽教室で個人別のアドバイスを受ける場合と同様に、演奏の高度な部分や不得意な部分を克服できる。
【００１６】
ＭＯＤＥ＝「３」の状態において、レッスンスイッチ又は演奏／一時停止スイッチがオンされたときは、ＭＯＤＥ＝「４」の状態に移行する。この状態においては、図１０の子曲演奏画面を表示する。そして、表示した子曲データを再生する。この子曲データは親曲データを演奏するための基礎となる曲データである。子曲データの再生中に演奏／一時停止スイッチがオンされたときは一時的に子曲データの再生を中断し、再び演奏／一時停止スイッチがオンされたときは、子曲データの再生を再開する。この状態において、スタート／ストップスイッチがオンされたときは、ＭＯＤＥ＝「３」の状態に戻る。
したがってユーザは、親曲データの演奏中に高度な部分や不得意な部分があった場合には、その部分の演奏を一時的に中断して、その演奏の基礎となる子曲データを演奏した上で、スイッチ操作により元の元の親曲演奏画面に戻ることができる。
この結果、表示された演奏データの画像を見ながら一人で演奏レッスンをする場合でも、音楽教室で個人別のアドバイスを受ける場合と同様に、演奏の高度な部分や不得意な部分を克服できる。
【００１７】
次に、図５の状態遷移図及び図６〜図１０の画面に示した演奏教習の詳細な動作について、ＣＰＵ１のフローチャートを参照して説明する。
図１１はＣＰＵ１のメインフローであり、所定のイニシャライズ（ステップＡ１）の後、スイッチ処理（ステップＡ２）、鍵盤処理（ステップＡ３）、再生処理（ステップＡ４）、その他の処理（ステップＡ５）を繰り返し実行する。
図１２は、図１１のステップＡ２におけるスイッチ処理のフローである。まず、現在の状態がＭＯＤＥ＝「０」であるか否かを判別し（ステップＢ１）、ＭＯＤＥ＝「０」である場合にはメニュー画面を表示する（ステップＢ２）。メニュー画面を表示した後、又は、ＭＯＤＥ＝「０」でない場合には、レッスンスイッチ処理（ステップＢ３）、スタート／ストップスイッチ処理（ステップＢ４）、エンタースイッチ処理（ステップＢ５）、戻るスイッチ処理（ステップＢ６）、カーソル移動スイッチ処理（ステップＢ７）、数字スイッチ処理（ステップＢ８）、演奏／一時停止スイッチ処理（ステップＢ９）、その他のスイッチ処理（ステップＢ１０）を実行して、図１１のメインフローに戻る。
【００１８】
図１３及び図１４は、図１２におけるレッスンスイッチ処理のフローである。レッスンスイッチがオンされたか否かを判別し（ステップＣ１）、このスイッチがオンされない場合にはこのフローを終了するが、このスイッチがオンされたときは、現在の状態がＭＯＤＥ＝「０」のメニュー画面表示の状態であるか否かを判別する（ステップＣ２）。ＭＯＤＥ＝「０」である場合には、ＭＯＤＥに「１」をストアして、フラグＰＦ１に「０」をセットする（ステップＣ３）。ＰＦ１は親曲データの再生の一時停止「１」又は一時停止解除「０」をセットするフラグである。次に、親曲データのアドレスを指定するレジスタＡＤ１を「０（小節の先頭アドレス）」にセットする（ステップＣ４）。また、親曲データの小節番号を指定するレジスタＢ１を「１（最初の小節）」にセットする（ステップＣ５）。
次に、親曲データ［Ｂ１］［ＡＤ１］をタイムレジスタＴＩＭＥ１にストアする（ステップＣ６）。すなわち、親曲データの最初のタイムデータをストアする。そして、親表示データ［１］及びアドバイス番号を表示する（ステップＣ７）。すなわち、図７の画面において、親曲データの１小節目の楽譜を表示するとともに、その楽譜の上にアドバイス番号（この場合は「２」）を表示する。また、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＣ８）。そして、このフローを終了する。
【００１９】
ステップＣ２において、ＭＯＤＥ＝「０」でない場合には、現在の状態がＭＯＤＥ＝「１」の親曲演奏の状態であるか否かを判別する（ステップＣ９）。ＭＯＤＥ＝「１」である場合には、ＭＯＤＥに「０」をストアする（ステップＣ１０）。また、親曲データの再生スタートフラグＳＴＦ１を「０（再生停止）」に戻し、ＰＦ１を「０」に戻す（ステップＣ１１）。次に、音源９に対して消音指示を行い（ステップＣ１２）、親曲演奏画面の表示を消去する（ステップＣ１３）。そして、このフローを終了する。
【００２０】
ステップＣ９において、ＭＯＤＥ＝「１」でない場合には、図１４のフローにおいて、現在の状態がＭＯＤＥ＝「３」のアドバイス画面表示の状態であるか否かを判別する（ステップＣ１４）。ＭＯＤＥ＝「３」である場合には、ＭＯＤＥに「４」をセットし、ＰＦ２を「０」に戻す（ステップＣ５）。ＰＦ２は子曲データの再生の一時停止「１」又はその一時停止解除「０」をセットするフラグである。次に、子曲データのアドレスを指定するレジスタＡＤ２に「０（小節の先頭アドレス）」をセットする（ステップＣ１６）。また、子曲データの小節番号を指定するレジスタＢ２に「１（最初の小節）」をセットする（ステップＣ１７）。
次に、子曲データ［Ｎ］［Ｂ２］［ＡＤ２］をタイムレジスタＴＩＭＥ２にストアする（ステップＣ１８）。すなわち、カーソル移動スイッチで選択された又は数字スイッチで入力されたアドバイス番号［Ｎ］に対応する子曲データの最初のタイムデータをストアする。そして、子表示データ［Ｎ］［Ｂ２］を表示する（ステップＣ１９）。すなわち、図１０の画面において、子曲データの１小節目の楽譜を表示する。また、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＣ２０）。次に、子曲データの再生スタートフラグＳＴＦ２に「１（子曲再生）」をセットする（ステップＣ２１）。そして、このフローを終了する。
したがって、ＭＯＤＥ＝「４」の子曲演奏の状態に移行した場合には、自動的に子曲データの再生を開始する。すなわち、レッスンスイッチがオンされた場合には、現在の状態がＭＯＤＥ＝「０」のメニュー画面表示の状態である場合には、ＭＯＤＥ＝「１」の親曲演奏の状態に移行する。現在の状態がＭＯＤＥ＝「１」である場合には、ＭＯＤＥ＝「０」の状態に戻る。また、現在の状態がＭＯＤＥ＝「３」のアドバイス画面の表示状態である場合には、ＭＯＤＥ＝「４」の子曲演奏の状態に移行する。
【００２１】
図１５は、図１２のステップＢ４におけるスタート／ストップスイッチ処理のフローである。このスイッチがオンされたか否かを判別し（ステップＤ１）、オンされない場合にはこのフローを終了するが、オンされたときは現在の状態がＭＯＤＥ＝「１」の親曲演奏の状態であるか否かを判別する（ステップＤ２）。ＭＯＤＥ＝「１」である場合には、ＰＦ１を「０（一時停止解除状態）」にセットする（ステップＤ３）。次に、親曲データの再生スタートフラグＳＴＦ１を反転する（ステップＤ４）。そして、ＳＴＦ１に「０（親曲再生停止）」であるか否かを判別する（ステップＤ５）。ＳＴＦ１が「０」である場合には、音源９に対して消音指示をして（ステップＤ６）、このフローを終了する。
【００２２】
ＳＴＦ１が「１（親曲再生）」である場合には、親曲データのアドレスを指定するレジスタＡＤ１を「０（小節の先頭アドレス）」にセットする（ステップＤ８）。また、親曲データの小節番号を指定するレジスタＢ１を「１（最初の小節）」にセットする（ステップＤ９）。次に、親曲データ［Ｂ１］［ＡＤ１］をタイムレジスタＴＩＭＥ１にストアする（ステップＤ１０）。そして、親表示データ［１］及びアドバイス番号を表示する（ステップＤ１１）。また、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＤ１２）。そして、このフローを終了する。
【００２３】
ステップＤ２においてＭＯＤＥ＝「１」でない場合には、現在の状態がＭＯＤＥ＝「４」の子曲演奏の状態であるか否かを判別する（ステップＤ１３）。ＭＯＤＥ＝「４」でない場合にはこのフローを終了するが、ＭＯＤＥ＝「４」である場合には、ＭＯＤＥに「３」をセットする（ステップＤ１４）。次に、子曲データの再生スタートフラグＳＴＦ２を「０（子曲再生停止）」に戻し、子曲データのフラグＰＦ２を「０（一時停止解除状態）」に戻す（ステップＤ１５）。そして、音源９に対して消音指示を行い（ステップＤ１６）、アドバイス番号［Ｎ］のアドバイス画面を表示する（ステップＤ１７）。そして、このフローを終了する。
すなわち、ＭＯＤＥ＝「１」の親曲演奏である場合に、スタート／ストップスイッチがオンされると、親曲データの再生又は再生停止を行う。この場合には、スタート／ストップスイッチはトグルスイッチとして機能する。一方、ＭＯＤＥ＝「４」の子曲演奏の場合には、スタート／ストップスイッチがオンされると、ＭＯＤＥ＝「３」のアドバイス画面を表示する。この場合には、スタート／ストップスイッチは戻るスイッチとして機能する。
【００２４】
すなわち、ＭＯＤＥ＝「１」の親曲演奏の状態では、スタート／ストップスイッチがオンされたときは、親曲データの再生又は再生停止を行う。しかし、ＭＯＤＥ＝「４」の子曲演奏の状態では再生停止の状態にはならないので、スタート／ストップスイッチがオンされたときは、ＭＯＤＥ＝「３」のアドバイス画面表示の状態に移行する。
【００２５】
図１６は、図１２のステップＢ５におけるエンタースイッチ処理のフローである。このスイッチがオンされたか否かを判別し（ステップＥ１）、オンされない場合にはこのフローを終了するが、オンされたときは、現在の状態がＭＯＤＥ＝「１」の親曲演奏の状態であるか否かを判別する（ステップＥ２）。ＭＯＤＥ＝「１」である場合には、ＳＴＦ１が「１（親曲再生）」であるか否かを判別する（ステップＥ３）。ＳＴＦ１が「１」である場合には、ＰＦ１を「１（一時停止状態）」にセットする（ステップＥ４）。このセットの後又はＳＴＦ１が「０（親曲再生停止）」である場合には、ＭＯＤＥに「２」をセットして（ステップＥ５）、アドバイスリスト画面を表示する（ステップＥ６）。そして、リストの一番上の項目にカーソルを表示し（ステップＥ７）、ポインタＮに「１（一番上の項目）」をセットして（ステップＥ８）、このフローを終了する。
ステップＥ２において、ＭＯＤＥ＝「１」でない場合には、現在の状態がＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態であるか否かを判別する（ステップＥ９）。ＭＯＤＥ＝「２」でない場合にはこのフローを終了するが、ＭＯＤＥ＝「２」である場合には、ＭＯＤＥに「３」をセットして（ステップＥ１０）、アドバイス番号Ｎのアドバイス画面を表示する（ステップＥ１１）。そして、フラグＬＩＳＴＦに「１」をセットして（ステップＥ１２）、このフローを終了する。ＬＩＳＴＦが「１」のときは、リスト画面経由でＭＯＤＥ＝「３」に移行したことを表す。
すなわち、ＭＯＤＥ＝「１」の親曲演奏の状態でエンタースイッチがオンされたときは、親曲データの再生を一時的に中断して、ＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態に移行する。ＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態でエンタースイッチがオンされたときは、ＭＯＤＥ＝「３」のアドバイス画面表示の状態に移行する。
【００２６】
図１７及び図１８は、図１２におけるステップＢ６の戻るスイッチ処理のフローである。図１７において、このスイッチがオンされたか否かを判別し（ステップＦ１）、オンされない場合にはこのフローを終了するが、このスイッチがオンされたときは、現在の状態がＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態であるか否かを判別する（ステップＦ２）。ＭＯＤＥ＝「２」である場合には、ＭＯＤＥに「１」をセットする（ステップＦ３）。次に、親曲データ［Ｂ１］［ＡＤ１］をタイムレジスタＴＩＭＥ１にストアする（ステップＦ４）。そして、親表示データ［Ｂ１］及びアドバイス番号を表示する（ステップＦ５）。また、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＦ６）。そして、このフローを終了する。
【００２７】
ステップＦ２において、ＭＯＤＥ＝「２」でない場合には、図１８のフローにおいて、現在の状態がＭＯＤＥ＝「３」のアドバイス画面表示の状態であるか否かを判別する（ステップＦ７）。ＭＯＤＥ＝「３」でない場合にはこのフローを終了するが、ＭＯＤＥ＝「３」である場合には、ＬＩＳＴＦが「１（リスト画面経由）」であるか否かを判別する（ステップＦ８）。このフラグが「１」である場合には、アドバイスリスト画面を表示し（ステップＦ９）、アドバイス番号Ｎのリストを強調表示する（ステップＦ１０）。この後、ＬＩＳＴＦを「０」に戻し（ステップＦ１１）、ＭＯＤＥに「２」をセットして（ステップＦ１２）、このフローを終了する。
ステップＦ８において、ＬＩＳＴＦが「０」である場合、すなわちＭＯＤＥ＝「１」からＭＯＤＥ＝「３」に直接移行した経過がある場合には、ＭＯＤＥに「１」をセットする（ステップＦ１３）。そして、親曲データ［Ｂ１］［ＡＤ１］をタイムレジスタＴＩＭＥ１にストアする（ステップＦ１４）。そして、親表示データ［Ｂ１］及びアドバイス番号を表示する（ステップＦ１５）。また、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＦ１６）。そして、このフローを終了する。
【００２８】
すなわち、ＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態において、戻るスイッチがオンされたときはＭＯＤＥ＝「１」の親曲演奏の状態に戻る。一方、ＭＯＤＥ＝「３」のアドバイス画面表示の状態において、戻るスイッチがオンされたときは、このＭＯＤＥ＝「３」の状態に移行した経過に従って元の状態に戻る。いずれの場合にも、親曲演奏の状態に戻ったときに、親曲データの読み出しのアドレスは、他の状態に移行する前のアドレスと同じである。
【００２９】
図１９及び図２０は、図１２におけるステップＢ７のカーソル移動スイッチ処理のフローである。図１９において、このスイッチがオンされたか否かを判別し（ステップＧ１）、オンされない場合にはこのフローを終了するが、オンされたときは現在の状態がＭＯＤＥ＝「２」のアドレスリスト画面表示の状態であるか否かを判別する（ステップＧ２）。ＭＯＤＥ＝「２」である場合には、上下２つのカーソル移動スイッチのうち、上カーソル移動スイッチがオンされたか否かを判別する（ステップＧ３）。
このスイッチがオンされたときは、アドレスリストの項目を指定するポインタＮが「１（１番目のリスト）」でないか否かを判別する（ステップＧ４）。Ｎが「１」である場合には、上カーソル移動スイッチは無効であるので、このフローを終了する。Ｎが「１」でない場合には、カーソル表示を上のリストへ移動する（ステップＧ５）。次に、Ｎをデクリメントして（ステップＧ６）、このフローを終了する。
ステップＧ３において上カーソル移動スイッチがオンでない場合、すなわち、オンされたのが下カーソル移動スイッチである場合には、Ｎがアドバイスリストの数と同じでないか否かを判別する（ステップＧ７）。Ｎがアドバイスリストの数と同じで、カーソル位置が１番下の項目である場合には、下カーソル移動スイッチは無効であるので、このフローを終了する。Ｎがアドバイスリストの数より小さい場合には、カーソル表示を下のリストへ移動する（ステップＧ８）。次に、Ｎをインクリメントして（ステップＧ９）、このフローを終了する。
【００３０】
ステップＧ２において、ＭＯＤＥ＝「２」でない場合には、図２０のフローにおいて、現在の状態がＭＯＤＥ＝「３」のアドバイス画面表示の状態であるか否かを判別する（ステップＧ１０）。ＭＯＤＥ＝「３」である場合には、上カーソル移動スイッチがオンされたか否かを判別する（ステップＧ１１）。このスイッチがオンされたときは、アドバイス画面を上スクロールする（ステップＧ１２）。一方、下カーソル移動スイッチがオンされたときは、アドバイス画面を下スクロールする（ステップＧ１３）。上スクロール又は下スクロールの状態において、カーソル移動スイッチがオフされたか否かを判別し（ステップＧ１４）、このスイッチがオフされない場合にはスクロールを続行し、このスイッチがオフされたときはスクロールを停止する（ステップＧ１５）。そして、このフローを終了する。
すなわち、ＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態では、カーソル移動スイッチによってリストを選択する。一方、ＭＯＤＥ＝「３」のアドバイス画面表示の状態では、カーソル移動スイッチの操作によって画面に表示するアドバイスのメッセージをスクロールして表示する。
【００３１】
図２１は、図１２におけるステップＢ８における数字スイッチ処理のフローである。まず、この数字スイッチがオンされたか否かを判別し（ステップＨ１）、オンされない場合にはこのフローを終了するが、オンされたときは現在の状態がＭＯＤＥ＝「１」の親曲演奏の状態であるか否かを判別する（ステップＨ２）。ＭＯＤＥ＝「１」でない場合にはこのフローを終了するが、ＭＯＤＥ＝「１」である場合には、数字スイッチで入力された数字をレジスタＮにストアする（ステップＨ３）。次に、ＭＯＤＥに「３」をセットして（ステップＨ４）、アドバイス番号Ｎのアドバイス画面を表示する（ステップＨ５）。そして、ＰＦ１を「１（一時停止状態）」にセットして（ステップＨ６）、このフローを終了する。
すなわち、ＭＯＤＥ＝「１」の親曲演奏の状態でこのスイッチがオンされたときは、ＭＯＤＥ＝「２」のアドバイスリスト画面表示の状態に移行せずに、ＭＯＤＥ＝「３」のアドバイス画面表示の状態に直接に移行して、入力された数字に対応するアドバイス画面を表示する。
【００３２】
図２２及び図２３は、図１２におけるステップＢ９の演奏／一時停止スイッチ処理のフローである。図２２において、この演奏／一時停止スイッチがオンされたか否かを判別し（ステップＪ１）、オンされない場合にはこのフローを終了するが、オンされたときは現在の状態がＭＯＤＥ＝「１」の親曲演奏の状態であるか否かを判別する（ステップＪ２）。ＭＯＤＥ＝「１」である場合には、ＰＦ１が「０（一時停止解除状態）」であるか否かを判別する（ステップＪ３）。ＰＦ１が「０」である場合にはＰＦ１を「１（一時停止状態）」にセットする（ステップＪ４）。一方、ＰＦ１が「１」である場合には、ＰＦ１を「０」に戻す。
ステップＪ２においてＭＯＤＥ＝「１」でない場合には、現在の状態がＭＯＤＥ＝「４」の子曲演奏の状態であるか否かを判別する（ステップＪ６）。ＭＯＤＥ＝「４」である場合には、ＰＦ２が「０（一時停止解除状態）」であるか否かを判別する（ステップＪ７）。ＰＦ１が「０」である場合にはＰＦ２を「１（一時停止状態）」にセットする（ステップＪ８）。一方、ＰＦ２が「１」である場合には、ＰＦ２を「０」に戻す。
【００３３】
ステップＪ６においてＭＯＤＥ＝「４」でない場合には、図２３のフローにおいて、現在の状態がＭＯＤＥ＝「３」のアドバイス画面表示の状態であるか否かを判別する（ステップＪ１０）。ＭＯＤＥ＝「３」である場合には、ＭＯＤＥに「４」をセットし、ＰＦ２を「０（一時停止解除状態）」にセットする（ステップＪ１１）。次に、子曲データのアドレスを指定するレジスタＡＤ２に「０（小節の先頭アドレス）」をセットする（ステップＪ１２）。また、子曲データの小節番号を指定するレジスタＢ２に「１（最初の小節）」をセットする（ステップＪ１３）。次に、子曲データ［Ｎ］［Ｂ２］［ＡＤ２］をタイムレジスタＴＩＭＥ２にストアする（ステップＪ１４）。そして、子表示データ［Ｎ］［Ｂ２］を表示する（ステップＪ１５）。また、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＪ１６）。次に、子曲データの再生スタートフラグＳＴＦ２に「１（再生）」をセットする（ステップＪ１７）。そして、このフローを終了する。
【００３４】
すなわち、ＭＯＤＥ＝「１」の親曲演奏の状態、又はＭＯＤＥ＝「４」の子曲演奏の状態においては、演奏／一時停止スイッチがオンされると、親曲データ又は子曲データの一時停止若しくは一時停止解除を行う。この場合には、演奏／一時停止スイッチはトグルスイッチとしての機能を持つ。一方、ＭＯＤＥ＝「３」のアドバイス画面表示の状態においては、演奏／一時停止スイッチがオンされると、ＭＯＤＥ＝「４」の子曲演奏の状態に移行する。この場合には、演奏／一時停止スイッチはエンタースイッチとしての機能を持つ。
【００３５】
図２４〜図２７は、図１１のメインフローにおけるステップＡ４の再生処理のフローである。図２４において、現在の状態がＭＯＤＥ＝「１」の親曲演奏の状態であるか否かを判別する（ステップＫ１）。ＭＯＤＥ＝「１」である場合には、ＳＴＦ１が「１（親曲再生）」であるか否かを判別する（ステップＫ２）。ＳＴＦ１が「１」である場合には、ＰＦ１が「０（一時停止解除状態）」であるか否かを判別する（ステップＫ３）。ＰＦ１が「０」である場合には、所定の最小時間が経過したか否かを判別する（ステップＫ４）。最小時間が経過したときは、親曲データのイベント処理を開始するまでの待機時間をストアするレジスタＴＩＭＥ１の値をデクリメントする（ステップＫ５）。そして、ＴＥＩＭＥ１の値が「０（イベント処理開始時間）」に達したか否かを判別する（ステップＫ６）。
ステップＫ２においてＳＴＦ１が「０（親曲再生停止）」である場合、ステップＫ３においてＰＦ１が「１（一時停止状態）」である場合、ステップＫ４において最小時間が経過していない場合、又はステップＫ６においてＴＩＭＥ１が「０」に達していない場合には、いずれの場合もこのフローを終了する。
【００３６】
ステップＫ６において、ＴＩＭＥ１が「０」に達したときは、親曲データのアドレスを指定するレジスタＡＤ１をインクリメントして次のアドレスを指定する（ステップＫ７）。そして、ＡＤ１のアドレスが現在の１小節の最終アドレスより大きい（過ぎている）か否かを判別する（ステップＫ８）。最終アドレスより大きい場合には、ＡＤ１を「０（小節の最初のアドレス）」にセットし（ステップＫ９）、小節番号を指定するレジスタＢ１をインクリメントする（ステップＫ１０）。そして、Ｂ１の小節番号が曲の小節数以内であるか否かを判別する（ステップＫ１１）。
【００３７】
Ｂ１が小節数以内である場合には、図２５のフローにおいて、親表示データ［Ｂ１］の表示を行う（ステップＫ１４）。すなわち、図７の画面にＢ１で指定した小節の楽譜を表示する。そして、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＫ１５）。この表示の後、又は図２４のステップ８においてＡＤ１のアドレスが現在の小節の最終アドレス以下である場合には、親曲データ［Ｂ１］［ＡＤ１］がタイムデータであるか又はイベントデータであるかを判別する（ステップＫ１６）。タイムデータである場合には、その親曲データ［Ｂ１］［ＡＤ１］をＴＩＭＥ１にストアして（ステップＫ１７）、このフローを終了する。
親曲データ［Ｂ１］［ＡＤ１］がイベントデータである場合には、そのイベントデータを処理する（ステップＫ１８）。そして、その処理したイベントデータがノートオンであるか否かを判別する（ステップＫ１９）。ノートオンである場合には、曲の再生に伴って移動するカーソルをノートオンイベントに対応する音符の上に移動する（ステップＫ２０）。この後は、図２４のステップＫ７に移行してＡＤ１をインクリメントして次の親曲データを指定する。
【００３８】
そして、親曲データのアドレスをインクリメントしながら図２４のステップＫ７から図２５のステップＫ２０までのループを繰り返し、図２４のステップＫ１１においてＢ１の小節番号が曲の小節数を超えたとき、すなわち親曲データが終了したときは、ＳＴＦ１を「０（親曲再生停止）」にセットして（ステップＫ１２）、音源９に対して消音指示をする（ステップＫ１３）。そして、メインフローに戻る。
【００３９】
図２４のステップＫ１においてＭＯＤＥ＝「１」でない場合には、図２６のフローにおいて、現在の状態がＭＯＤＥ＝「４」の子曲演奏の状態であるか否かを判別する（ステップＫ２１）。ＭＯＤＥ＝「４」である場合には、ＳＴＦ２が「１（子曲再生）」であるか否かを判別する（ステップＫ２２）。ＳＴＦ２が「１」である場合には、ＰＦ２が「０（一時停止解除状態）」であるか否かを判別する（ステップＫ２３）。ＰＦ２が「０」である場合には、所定の最小時間が経過したか否かを判別する（ステップＫ２４）。最小時間が経過したときは、子曲データのイベント処理を開始するまでの待機時間をストアするレジスタＴＩＭＥ２の値をデクリメントする（ステップＫ２５）。そして、ＴＥＩＭＥ２の値が「０（イベント処理開始時間）」に達したか否かを判別する（ステップＫ２６）。
ステップＫ２１においてＭＯＤＥ＝「４」でない場合、ステップＫ２２においてＳＴＦ２が「０（子曲再生停止）」である場合、ステップＫ２３においてＰＦ２が「１（一時停止状態）」である場合、ステップＫ２４において最小時間が経過していない場合、又はステップＫ２６においてＴＩＭＥ２が「０」に達していない場合には、いずれの場合もこのフローを終了する。
【００４０】
ステップＫ２６において、ＴＩＭＥ２が「０」に達したときは、子曲データのアドレスを指定するレジスタＡＤ２をインクリメントして次のアドレスを指定する（ステップＫ２７）。そして、ＡＤ２のアドレスが現在の１小節の最終アドレスより大きい（過ぎている）か否かを判別する（ステップＫ２８）。最終アドレスより大きい場合には、ＡＤ２を「０（小節の最初のアドレス）」にセットし（ステップＫ２９）、小節番号を指定するレジスタＢ２をインクリメントする（ステップＫ３０）。そして、Ｂ２の小節番号が曲の小節数以内であるか否かを判別する（ステップＫ３１）。
【００４１】
Ｂ２が小節数以内である場合には、図２７のフローにおいて、子表示データ［Ｂ２］の表示を行う（ステップＫ３５）。すなわち、図１０の画面にＢ２で指定した小節の楽譜を表示する。そして、曲の再生に伴って移動するカーソルを楽譜上の最初の音符に表示する（ステップＫ３６）。この表示の後、又は図２６のステップ２８においてＡＤ２のアドレスが現在の小節の最終アドレス以下である場合には、子曲データ［Ｂ２］［ＡＤ２］がタイムデータであるか又はイベントデータであるかを判別する（ステップＫ３７）。タイムデータである場合には、子曲データ［Ｂ２］［ＡＤ２］をＴＩＭＥ２にストアして（ステップＫ３８）、このフローを終了する。
子曲データ［Ｂ２］［ＡＤ２］がイベントデータである場合には、そのイベントデータを処理する（ステップＫ３９）。そして、その処理したイベントデータがノートオンであるか否かを判別する（ステップＫ４０）。ノートオンである場合には、曲の再生に伴って移動するカーソルをノートオンイベントに対応する音符の上に移動する（ステップＫ４１）。この後は、図２６のステップＫ２７に移行してＡＤ２をインクリメントして次の親曲データを指定する。
【００４２】
そして、子曲データのアドレスをインクリメントしながら図２６のステップＫ２７から図２７のステップＫ４１までのループを繰り返し、図２６のステップＫ３１においてＢ２の小節番号が曲の小節数を超えたとき、すなわち子曲データの再生が終了したときは、ＳＴＦ２を「０（子曲再生停止）」にセットして（ステップＫ３２）、音源９に対して消音指示をする（ステップＫ３２）。次に、ＡＤ２に「０」をセットし（ステップＫ３３）、Ｂ２に「１」をセットする（ステップＫ３４）。すなわち、子曲データの再生が終了したときは、再び子曲データの先頭に戻る。そして、図２７のステップＫ３７に移行して子曲データの再生を繰り返す。
すなわち、親曲データの再生の場合には曲の再生が終了すると再生停止の状態に移行するが、子曲データの再生の場合には曲の再生が終了すると、再び曲の最初から再生を繰り返す。
【００４３】
このように、上記実施形態によれば、鍵盤７による親曲データの演奏中において、その親曲データの演奏レッスンを補助するための子曲データ又は子表示データをスイッチ部８からの操作に応じて曲メモリ５から読み出して、鍵盤７によるその子曲データの演奏、又はその子表示データの画面の表示部６への表示を可能にする。したがって、表示された曲データの画像を見ながら一人で演奏レッスンをする場合でも、音楽教室で個人別のアドバイスを受ける場合と同様に、演奏の高度な部分や不得意な部分を克服できる演奏教習を実現できる。
【００４４】
なお、上記実施形態においては、子曲データは対応する親曲データの一部を演奏するための基礎となる曲データを構成するようにしたが、親曲データの全体を演奏するための基礎となる曲データを構成するようにしてもよい。例えば、親曲データに類似した曲データで親曲データよりも演奏するのがやさしいもので子曲データを構成してもよい。
【００４５】
【発明の効果】
本発明によれば、表示された曲データの画像を見ながら一人で演奏レッスンをする場合でも、音楽教室で個人別のアドバイスを受ける場合と同様に、演奏の高度な部分や不得意な部分を克服できる演奏教習を実現する演奏教習を実現できる。
【図面の簡単な説明】
【図１】本発明の実施形態における演奏教習装置の構成を示すブロック図。
【図２】図１の曲メモリに記憶されている曲データの構成を示す図。
【図３】図２における親曲データの構成を示す図。
【図４】図２における子曲データの構成を示す図。
【図５】図１における演奏教習装置の状態遷移図。
【図６】図１の表示部６に表示されたメニュー画面を示す図。
【図７】図１の表示部６に表示された親曲演奏の画面を示す図。
【図８】図１の表示部６に表示されたアドバイスリスト画面を示す図。
【図９】図１の表示部６に表示されたアドバイス画面を示す図。
【図１０】図１の表示部６に表示された子曲演奏の画面を示す図。
【図１１】図１のＣＰＵのメインフローチャート。
【図１２】図１１におけるスイッチ処理のフローチャート。
【図１３】図１２におけるレッスンスイッチ処理のフローチャート。
【図１４】図１３に続くレッスンスイッチ処理のフローチャート。
【図１５】図１２におけるスタート／ストップスイッチ処理のフローチャート。
【図１６】図１２におけるエンタースイッチ処理のフローチャート。
【図１７】図１２における戻るスイッチ処理のフローチャート。
【図１８】図１７に続く戻るスイッチ処理のフローチャート。
【図１９】図１２におけるカーソル移動スイッチ処理のフローチャート。
【図２０】図１９に続くカーソル移動スイッチ処理のフローチャート。
【図２１】図１２における数字スイッチ処理のフローチャート。
【図２２】図１２における演奏／一時停止スイッチ処理のフローチャート。
【図２３】図２２に続く演奏／一時停止スイッチ処理のフローチャート。
【図２４】図１１における再生処理のフローチャート。
【図２５】図２４に続く再生処理のフローチャート。
【図２６】図２５に続く再生処理のフローチャート。
【図２７】図２６に続く再生処理のフローチャート。
【符号の説明】
１  ＣＰＵ
３  ＲＯＭ
４  ワークＲＡＭ
５  曲メモリ
６  表示部
７  鍵盤
８  スイッチ部
９  音源
１０  発音回路
【図１】
0004244543.tif 000002
【図２】
0004244543.tif 000003
【図３】
0004244543.tif 000004
【図４】
0004244543.tif 000005
【図５】
0004244543.tif 000006
【図６】
0004244543.tif 000007
【図７】
0004244543.tif 000008
【図８】
0004244543.tif 000009
【図９】
0004244543.tif 000010
【図１０】
0004244543.tif 000011
【図１１】
0004244543.tif 000012
【図１２】
0004244543.tif 000013
【図１３】
0004244543.tif 000014
【図１４】
0004244543.tif 000015
【図１５】
0004244543.tif 000016
【図１６】
0004244543.tif 000017
【図１７】
0004244543.tif 000018
【図１８】
0004244543.tif 000019
【図１９】
0004244543.tif 000020
【図２０】
0004244543.tif 000021
【図２１】
0004244543.tif 000022
【図２２】
0004244543.tif 000023
【図２３】
0004244543.tif 000024
【図２４】
0004244543.tif 000025
【図２５】
0004244543.tif 000026
【図２６】
0004244543.tif 000027
【図２７】
0004244543.tif 000028