(57)【特許請求の範囲】
【請求項１】
課題となる楽曲をユーザが指定する楽曲指定手段と、
該楽曲指定手段で指定した楽曲の再生を、設定された再生テンポで行う再生手段と、
前記楽曲指定手段で指定した楽曲から音符イベントを順次抽出し、抽出された音符イベントに対応する音符オブジェクトを生成する音符オブジェクト生成手段と、
前記音符オブジェクト生成手段で生成した音符オブジェクトを、対応する音符イベントの音高に応じてタッチパネル上に表示された五線譜上に順次表示する音符オブジェクト表示手段と、
前記タッチパネルにユーザがタッチすることで演奏入力が行われ、前記タッチパネルのユーザのタッチ位置を検出するタッチ検出手段と、
五線譜上に順次表示された前記音符オブジェクトは、音高の高低方向に隣接する音高を示す位置が含まれる許容範囲を持っており、前記タッチパネルにユーザがタッチした時刻の前後の所定範囲内において、発音タイミングが到来している前記音符オブジェクトが表示されている五線譜上の位置に、前記タッチ検出手段が検出したユーザのタッチ位置が、前記許容範囲内に入っているかどうかを判定し、判定に応じてユーザの演奏入力を評価する評価手段とを備えることを特徴とする音楽教習装置。
【請求項２】
前記タッチ検出手段が検出したユーザのタッチ位置が、前記許容範囲内に入っている時に、前記評価手段がユーザの演奏入力を正解と判定することを特徴とする請求項１に記載の音楽教習装置。
【請求項３】
前記評価手段は、前記タッチ検出手段が検出したユーザのタッチ位置に相当する音高および当該音高の上下に隣接する音高を音高候補として、前記タッチパネルにユーザがタッチした時刻の前後の所定範囲内において、発音タイミングが到来している前記音符オブジェクトの音高が前記音高候補に含まれているかを判定し、判定に応じてユーザの演奏入力を評価することを特徴とする請求項１に記載の音楽教習装置。
【請求項４】
コンピュータを、
課題となる楽曲をユーザが指定する楽曲指定手段、
該楽曲指定手段で指定した楽曲の再生を、設定された再生テンポで行う再生手段、
前記楽曲指定手段で指定した楽曲から音符イベントを順次抽出し、抽出された音符イベントに対応する音符オブジェクトを生成する音符オブジェクト生成手段、
前記音符オブジェクト生成手段で生成した音符オブジェクトを、対応する音符イベントの音高に応じてタッチパネル上に表示された五線譜上に順次表示する音符オブジェクト表示手段、
前記タッチパネルにユーザがタッチすることで演奏入力が行われ、前記タッチパネルのユーザのタッチ位置を検出するタッチ検出手段、
五線譜上に順次表示された前記音符オブジェクトは、音高の高低方向に隣接する音高を示す位置が含まれる許容範囲を持っており、前記タッチパネルにユーザがタッチした時刻の前後の所定範囲内において、発音タイミングが到来している前記音符オブジェクトが表示されている五線譜上の位置に、前記タッチ検出手段が検出したユーザのタッチ位置が、前記許容範囲内に入っているかどうかを判定し、判定に応じてユーザの演奏入力を評価する評価手段、
として機能させることを特徴とする音楽教習用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、演奏の教習を行うことができる音楽教習装置に関する。
【背景技術】
【０００２】
従来、楽譜を読めない初心者でも簡単に且つ楽しんで電子楽器を演奏することができる音楽的アミューズメントシステムが提案されている（特許文献１参照）。この音楽的アミューズメントシステムでは、各音符がキャラクタ化されて、横方向に拡げられ、演奏者が弾くべき鍵の垂直上方の位置に音符が配置される。リンゴ化された音符は、画面上、上から下にアニメーションスクロールされて移動され、演奏者が、直線で示す「現在の演奏位置」の直線にリンゴの発音許可範囲が差し掛かるタイミングを見計らって、弾くべき鍵盤を押鍵すると、矢が発射されてリンゴに刺さり、矢の刺さったリンゴは画面上から消滅する。リンゴが消滅すると得点が加算される一方、演奏者が弾くべきタイミングをはずすと、矢はリンゴに刺さらずにリンゴは消滅せず、表示画面の最後までスクロールされて行く。また、押鍵されて矢の刺さったリンゴの消音許可範囲が上記直線に差し掛かったときに演奏者がその押鍵された鍵を離鍵したときも、得点が加算される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３０５８０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された従来技術では、課題となる楽曲の演奏データに含まれる各音符が、表示画面に表示音符として表示され、その楽曲に応じたテンポで順に表示画面上を表示音符がスクロールしていく。そして、表示音符が所定の範囲までスクロールしてきたときに、ユーザは所定の範囲に入った表示音符に対応する音高を入力している。この音高の入力は、外部接続された鍵盤などから行うこともできるが、タッチパネルを備える表示器の場合では、対応する全音高のそれぞれに対しユーザが音高を指定するための鍵盤を表示器に表示して、表示された鍵盤の所定の鍵にタッチすることにより音高を入力するようにしている。この場合、メロディを弾くためには最低でも１．５オクターブが必要で、例えばスマートフォンなどの小さい表示画面の携帯情報機器に搭載するとなると、表示される鍵盤の画像が小さくなり、タッチする指の大きさに対して各鍵の大きさが小さくなることから、弾きにくく（タッチしにくく）なると云う問題点が生じる。
また、上記従来技術では演奏する各タイミングに対し、多少のずれは許容されているが、音高については完全な一致だけを正解としている。ユーザが音高を入力する際にハードウェアの鍵盤装置を用いるのであれば、完全な音高の一致のみを正解と判定するのは妥当な方法に思えるが、タッチパネル上に表示された鍵盤などにタッチして音高を入力する場合は、１つの鍵のみにタッチする操作が難しくなるという問題点があった。
さらに、タッチパネル上に表示された鍵盤のようにタッチ入力エリアが音高順に隣接している場合、ユーザが意図した音高に隣接する音高のエリアでタッチ入力が検出されてしまうおそれがある。特に、タッチパネルが小さい場合や音高のエリアが多数隣接して並んでいる場合に、目的とする鍵にタッチしようとした時に隣接する鍵にもタッチしてしまうおそれがあるという問題点があった。
【０００５】
そこで、本発明は、演奏の教習を行う際のユーザ操作が容易になり、スムーズに演奏を進めることができる音楽教習装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の音楽教習装置は、課題となる楽曲をユーザが指定する楽曲指定手段と、 該楽曲指定手段で指定した楽曲の再生を、設定された再生テンポで行う再生手段と、前記楽曲指定手段で指定した楽曲から音符イベントを順次抽出し、抽出された音符イベントに対応する音符オブジェクトを生成する音符オブジェクト生成手段と、前記音符オブジェクト生成手段で生成した音符オブジェクトを、対応する音符イベントの音高に応じてタッチパネル上に表示された五線譜上に順次表示する音符オブジェクト表示手段と、前記タッチパネルにユーザがタッチすることで演奏入力が行われ、前記タッチパネルのユーザのタッチ位置を検出するタッチ検出手段と、五線譜上に順次表示された前記音符オブジェクトは、音高の高低方向に隣接する音高を示す位置が含まれる許容範囲を持っており、前記タッチパネルにユーザがタッチした時刻の前後の所定範囲内において、発音タイミングが到来している前記音符オブジェクトが表示されている五線譜上の位置に、前記タッチ検出手段が検出したユーザのタッチ位置が、前記許容範囲内に入っているかどうかを判定し、判定に応じてユーザの演奏入力を評価する評価手段とを備えることを最も主要な特徴としている。
【発明の効果】
【０００７】
本発明の音楽教習装置では、タッチパネルの縦軸または横軸のどちらか一方の軸に音高を割り付けて、対応する音高位置に音符オブジェクトを配置することで音高を表しているので、ユーザは音符オブジェクトが表示されている音高位置にタッチすればよく、演奏の教習を行う際のユーザ操作が容易になり、スムーズに演奏を進めることができる。
また、音符オブジェクトにおいて、タッチパネルの音高を割り付けた前記軸の方向に許容範囲を持つようにすると、ユーザの実際のタッチ入力位置が隣接する音高に対応する位置であったとしても、タッチ入力位置が許容範囲に入っていれば、対象とする音符オブジェクトに対するユーザの演奏入力が正解と判定することができる。これにより、演奏の教習を行う際のユーザ操作が容易になり、スムーズに演奏を進めることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例の音楽教習装置の構成を示す機能ブロック図である。
【図２】本発明の実施例の音楽教習装置に表示される表示画面の一例を示す図である。
【図３】本発明の実施例の音楽教習装置における、当たり判定区間を示す図表である。
【図４】本発明の実施例の音楽教習装置における、当たり判定区間をｙ軸上で示す図である。
【図５】本発明の実施例の音楽教習装置に表示される表示画面において当たり判定区間を示す図である。
【図６】本発明の実施例の音楽教習装置における、他の当たり判定区間を示す図表である。
【図７】本発明の実施例の音楽教習装置における、他の当たり判定区間をｙ軸上で示す図である。
【図８】本発明の実施例の音楽教習装置における第３の演奏入力手段を説明するための図である。
【図９】本発明の実施例の音楽教習装置において、演奏の教習を行う際に実行される演奏教習処理のフローチャートである。
【図１０】図９に示す演奏教習処理において実行される第１の演奏判定処理のフローチャートである。
【図１１】図９に示す演奏教習処理において実行される第２の演奏判定処理のフローチャートである。
【図１２】図９に示す演奏教習処理において実行される第３の演奏判定処理のフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の実施例の音楽教習装置１の構成を示すブロック図を図１に示す。
図１に示す音楽教習装置１は、ＣＰＵ（Central Processing Unit）１０，ＲＯＭ（Read Only Memory）１１，ＲＡＭ（Random Access Memory）１２，音源１３，傾斜センサ１４，表示器１５，操作子１６，ＭＩＤＩ  Ｉ／Ｆ１７，Ｉ／Ｆ１８を備え、これらが通信バス１９によって接続されている。
ＣＰＵ１０は、音楽教習装置１の動作を統括制御する制御手段であり、ＲＯＭ１１に記憶された所要のプログラムを実行することにより、演奏の教習を行う際に実行される演奏教習処理や表示器１５に表示される画像の表示処理、音楽教習装置１の筐体の傾きの検出処理などの処理を行う。ＲＯＭ１１には、ＣＰＵ１０が実行する動作ソフトウェアや画像情報等が格納されている。また、ＲＡＭ１２には、再生中の楽曲の演奏データやＣＰＵ１０が実行する処理の結果等を一時的に記憶する、ＣＰＵ１０のワークメモリとして使用することができる記憶手段である。
音源１３は、ＭＩＤＩ  Ｉ／Ｆ１７を介して入力された演奏データや、Ｉ／Ｆ１８を介して外部装置２０とされる鍵盤から入力された演奏データに基づいて、指定された音色の楽音信号を指定された音高で生成してスピーカなどから出力する。傾斜センサ１４は、音楽教習装置１が内蔵されている筐体の傾きを検出するセンサである。表示器１５は、ＣＰＵ１０による制御に従って種々の情報を表示する液晶パネル（ＬＣＤ）等の表示手段であり、タッチパネルを備えている。操作子１６は、音楽教習装置１に対するユーザの操作を受け付けるためのものであり、種々のキー、ボタン等や、表示器１５に表示されるカーソルを移動するマウス、ホイール、タッチパネル、トラックボール等によって構成される。ＭＩＤＩ  Ｉ／Ｆ１７は、外部からのＭＩＤＩ（Musical InstrumentDigital Interface）信号を入力したり、ＭＩＤＩ信号として外部に出力したりするためのＭＩＤＩインターフェースである。Ｉ／Ｆ１８は、音楽教習装置１に外部装置２０を接続するためのインターフェースであり、外部装置２０を演奏データを入力するための鍵盤や楽曲の演奏データを記憶する記憶装置とすることができる。なお、ＭＩＤＩ鍵盤はＭＩＤＩ  Ｉ／Ｆ１７に接続される。
【００１０】
図１に示す音楽教習装置１において、演奏の教習を行う際に表示器１５に表示される音楽教習用の表示画面２を図２に示す。表示画面２が表示されている表示器１５に備えられているタッチパネルは横方向がｘ軸、縦方向がｙ軸とされ、タッチパネルにユーザがタッチした際にタッチ位置がｘ座標とｙ座標とで検出される。
図２には筐体に収納された音楽教習装置１を示しており、音楽教習装置１の筐体の前面は周囲の枠を残して表示器１５で占められている。表示器１５に表示された表示画面２には、五線譜３０が表示されており、この五線譜３０上に発音タイミングの到来を報知するタイミングオブジェクト３１と、複数の音符オブジェクト３２ａ，３２ｂ，３２ｃ，３２ｄ，３２ｅが表示されている。表示画面２では、ｘ軸方向が演奏のタイミングを示す軸となり、ｙ軸方向が音高を示す軸となる。この表示画面２では、タイミングオブジェクト３１は矢の図形にキャラクタ化され、音符オブジェクト３２ａ〜３２ｅは風船の図形にキャラクタ化されて表示されている。演奏の教習を行う際には、楽曲や演奏パート等を選択可能なＧＵＩ（Graphical User Interface）画面が表示器１５に表示され、このＧＵＩ画面においてユーザが課題となる任意の楽曲と演奏パートを指定することができる。指定された楽曲には再生テンポが記憶されており、この再生テンポが指定されるが、再生テンポをユーザが指定しても良い。ここで指定された楽曲の演奏パートの音高および発音タイミングを含む音符イベントが順次抽出されて、音符イベントの各々に対応する風船などにキャラクタ化された音符オブジェクト３２が作成され、その音符イベントの音高に対応する五線譜３０上のｙ座標位置であって、その音符イベントの発音タイミングに対応するｘ座標位置に当該音符オブジェクト３２が表示されるようになる。すなわち、表示された音符オブジェクト３２のｙ軸上の高さで音高が表され、ｘ軸上の位置で発音タイミングが表されるようになる。これにより、例えば、図２に示すように風船の図形とされた音符オブジェクト３２ａ〜３２ｅが五線譜３０上に表示されるようになる。指定された楽曲が再生されると、これらの音符オブジェクト３２ａ〜３２ｅは、再生の進行に伴い再生テンポに応じた速度でスクロール（図２の紙面では左方向にスクロール）していく。この場合、タイミングオブジェクト３１のｘ座標位置が楽曲の現在の演奏位置（ソングポジション）を示すようになる。すなわち、タイミングオブジェクト３１のｘ軸上の表示位置と音符オブジェクト３２のｘ軸上の表示位置が同じ位置になった場合は、当該音符オブジェクト３２の発音タイミングが到来したことになる。すなわち、タイミングオブジェクト３１により発音タイミングが到来したことをユーザに報知することができる。タイミングオブジェクト３１を超えてスクロールすると音符オブジェクト３２の表示は消滅するが、最後の音符オブジェクト３２の後に次の音符オブジェクト３２が表示されるようになる。なお、音符オブジェクト３２のスクロールに替えて、タイミングオブジェクト３１が再生の進行に伴い再生テンポに応じた速度でスクロール（図２の紙面では右方向にスクロール）していくようにしてもよい。また、スクロールすることに替えて、表示されている複数の音符オブジェクト３２の最後まで再生が進行した時に、複数の音符オブジェクト３２を次の複数の音符オブジェクト３２に一括して挿し替えるように表示更新してもよい。この表示更新する単位は、１小節とか２小節とかが好適となる。
【００１１】
表示器１５に音楽教習用の表示画面２が表示されて、指定された楽曲の再生を開始する操作をユーザが行うと、その楽曲が再生開始され、表示画面２において再生テンポの速度で再生の進行に従うように、タイミングオブジェクト３１あるいは音符オブジェクト３２ａ〜３２ｅがｘ軸上をスクロールしていくようになる。ユーザは、タイミングオブジェクト３１と音符オブジェクト３２のｘ軸上の位置を観察して発音タイミングが到来する音符オブジェクト３２を見出した時に、当該音符オブジェクト３２に対する演奏入力を行うために、表示器１５上の当該音符オブジェクト３２にタッチする。ＣＰＵ１０は、ユーザがタッチした表示器１５上のタッチ位置（タッチパネルのｘ座標、ｙ座標）を検出して、タッチにより音符オブジェクト３２が指定されたかを判定する。この判定では、検出されたｘ座標とｙ座標の位置に音符オブジェクト３２が表示されていると判定された時に、タッチにより当該音符オブジェクト３２が指定されたと判定する。この場合、検出されたｙ座標が当該音符オブジェクト３２の音高の許容範囲内であればよい。そして、タッチした時刻をユーザが弾いたタイミングとして、この弾いたタイミングが指定された音符オブジェクト３２の発音タイミングの許容範囲内であれば、ＣＰＵ１０は当該音符オブジェクト３２の演奏入力が行われた（正解）と判定する。同時に、検出されたｙ座標の位置にタイミングオブジェクト３１を移動する表示更新処理を行う。そして、正解と判定された場合は、表示画面２に表示されている当該音符オブジェクト３２の表示態様を正解の表示態様に変更する。例えば、音符オブジェクト３２が風船のキャラクタとされている場合は、ＣＰＵ１０は、図２の音符オブジェクト３２ａに示すように、タイミングオブジェクト３１の矢により風船が割れた表示態様の音符オブジェクト３２に変更する表示更新処理を行う。また、不正解の場合は音符オブジェクト３２の表示態様は変更せず、そのままとする。そして、上記許容範囲としては、音符オブジェクト３２の音高の許容範囲と、発音タイミングの許容範囲とが設定されている。ＣＰＵ１０は、ユーザが表示器１５のタッチパネルにタッチした際に、ユーザが入力した音高（ｙ座標）が音高の許容範囲内にある音符オブジェクト３２を指定すると共に、ユーザが弾いたタイミングが指定された音符オブジェクト３２の発音タイミングの許容範囲内であるかを判定して、ユーザのタッチによる演奏入力を正解あるいは不正解と判定する。なお、発音タイミングの許容範囲は、例えば、発音タイミングの前後の１６分音符の長さ程度の時間範囲とすることができる。
【００１２】
音高の許容範囲を当たり判定区間として図３および図４に示す。図３は、Ｃ３ないしＦ４までの音名のセンター座標位置（Center）と、当たり判定区間の下側座標位置（Bottom）と上側座標位置（Top）を示した図表である。また、図４は、Ｃ３ないしＦ４までの音名における当たり判定区間を、ｙ軸上において両端に矢印を付した直線の長さで表示している。なお、図４においては上端の矢印がTopを、黒丸がCenterを、下端の矢印がBottomを示している。図３，４に示すように当たり判定区間はかなり広い区間が設定され、隣接する音名の当たり判定区間と一部重なるようにされている。これは、五線譜３０のｙ軸（音高）方向に隣り合う位置に対応する音符オブジェクト３２同士が一部重なる大きさの音符オブジェクト３２として表示されているからである。すなわち、表示画面２において五線譜３０の第１線に表示された音符オブジェクト３２と、第１間に表示された音符オブジェクト３２は一部重なるように表示されることから、これらの音符オブジェクトへのタッチも一部重ならざるを得なくなり、これを理由として音高の当たり判定区間も一部重なるように設定されているのである。
【００１３】
音楽教習装置１の表示器１５に表示された表示画面２において当たり判定区間を示す図５を参照して説明する。図５において、表示画面２が表示されているタッチパネル（表示器１５）の横方向がｘ軸、縦方向がｙ軸とされている。表示画面２の五線譜３０上には、音名Ｃ３の音符オブジェクト３２ｇと音名Ｆ４の音符オブジェクト３２ｈとが表示されている。音符オブジェクト３２ｇ，３２ｈは風船のキャラクタとして表示されており、図３に示すように音名Ｃ３の音符オブジェクト３２ｇの当たり判定区間はｙ軸上の区間Ｂ１で示すBottomが１６１、Topが２７５とされ、音名Ｆ４の音符オブジェクト３２ｈの当たり判定区間はｙ軸上の区間Ｂ２で示すBottomが６２１、Topが７３５とされている。これにより、演奏すべきタイミングが到来した音符オブジェクト３２ｇ，３２ｈにタッチする際に、そのｙ軸（音高）方向の長さが長い風船本体のキャラクタのどの場所にタッチしてもほぼ正解と判定されることが分かる。また、タイミングオブジェクト３１はタッチ位置のｙ座標（音高）位置に表示されるようｙ軸上を移動するが、その移動範囲Ａが両端が矢印の破線で示されている。例えば、表示画面２においてＣ３〜Ｆ４までが表示される場合は、移動範囲Ａは音名Ｃ３のBottomから音名Ａ４のTopに相当する音高の範囲とされる。
【００１４】
音高の許容範囲は図３および図４に示す当たり判定区間に限ることはなく、図６および図７に示す当たり判定区間を音高の許容範囲とすることができる。図６および図７に示す当たり判定区間は、図３および図４に示す当たり判定区間より狭くされているが、臨時記号付きの音名の当たり判定区間が、上下に隣接する音名の当たり判定区間のどちらに偏っても正解になるように調節されている。図６は、Ｃ３ないしＦ４までの音名のセンター座標位置（Center）と、当たり判定区間の下側座標位置（Bottom）と上側座標位置（Top）を示した図表である。また、図７は、Ｃ３ないしＦ４までの音名における当たり判定区間を、ｙ軸上において両端に矢印を付した直線の長さで表示している。なお、図７においては上端の矢印がTopを、黒丸がCenterを、下端の矢印がBottomを示している。図６，７に示す臨時記号付きの音名の当たり判定区間を参照すると、当たり判定区間のBottomは下に隣接する音高のBottomと等しくされ、そのTopは上に隣接する音高のTopと等しくされている。例えば、臨時記号付きの音名Ｃ＃３の当たり判定区間のBottomは１８８Ｈzであり、下に隣接する音名Ｃ３のBottomの１８８と等しくされ、音名Ｃ＃３のTopは２９３であり上に隣接する音名Ｄ３のTopの２９３と等しくされている。他の臨時記号付きの音名の当たり判定区間についても同様とされている。図６および図７に示す当たり判定区間とした時は、音符オブジェクト３２のキャラクタの大きさを図２に示すキャラクタの大きさより小さくするのが好適とされる。
【００１５】
本発明にかかる音楽教習装置１において、上述したようにユーザが表示画面２上の音符オブジェクト３２にタッチして演奏入力する手段を第１の演奏入力手段という。第１の演奏入力手段では、ユーザが発音タイミングが到来した音符オブジェクト３２にタッチすることにより、正解とする音高と弾いたタイミングとを入力することが可能とされている。本発明にかかる音楽教習装置１では、第２の演奏入力手段を採用することもできる。第２の演奏入力手段では、発音タイミングが到来した音符オブジェクト３２に対する演奏入力を行うために、発音タイミングが到来した時に、表示器１５上の当該音符オブジェクト３２の表示位置のｙ座標の位置にタッチする。このタッチは、ｙ座標の位置さえ合っていれば任意のｘ座標の位置にタッチすることができる。この第２の演奏入力手段では、ユーザのタッチ位置のｙ座標からＣＰＵ１０が音高を検出し、検出した音高が許容範囲内にある音符オブジェクト３２の候補を検出する。そして、ユーザがタッチした時刻から弾いたタイミングを検出して、検出した弾いたタイミングが発音タイミングの許容範囲内にある音符オブジェクト３２を検出する。該当する音符オブジェクト３２が検出された時に、そのタッチによる演奏入力を正解とする。
【００１６】
例えば、図５に示す区間Ｂ１内のｙ座標の領域Ｃ１にタッチしたとすると、ＣＰＵ１０は、タッチ位置のｙ座標から音高を検出し、タッチした時刻から弾いたタイミングを検出する。タッチした領域Ｃ１が音符オブジェクト３２ｇの音高の許容範囲にあることから、音符オブジェクト３２ｇが候補として検出される。領域Ｃ１が音高の許容範囲にある表示中の音符オブジェクトがあれば、該当する音符オブジェクト３２ｇ以外の音符オブジェクトも候補となる。この時、候補とする音符オブジェクト３２ｇの発音タイミングが到来していると、弾いたタイミングが許容範囲内にあると判定され、領域Ｃ１のタッチによる音符オブジェクト３２ｇに対する演奏入力をＣＰＵ１０は正解と判定するようになる。また、図５に示す区間Ｂ２内のｙ座標の領域Ｃ２にタッチしたとすると、ＣＰＵ１０は、タッチ位置のｙ座標から音高を検出し、タッチした時刻から弾いたタイミングを検出する。タッチした領域Ｃ２が音符オブジェクト３２ｈの音高の許容範囲にあることから、音符オブジェクト３２ｈが候補として検出される。この時、候補とする音符オブジェクト３２ｈの発音タイミングが到来していると、弾いたタイミングが許容範囲内にあると検出され、領域Ｃ２のタッチによる演奏入力をＣＰＵ１０は正解と判定するようになる。
領域Ｃ１，領域Ｃ２は図示する表示器１５の右端でもよいことから右手で音楽教習装置１の筐体を把持しながら領域Ｃ１あるいは領域Ｃ２にタッチすることができ、両手で音楽教習装置１の筐体を把持しながら演奏入力を行えるようになる。なお、区間Ｂ１，Ｂ２内のｙ座標位置であれば任意のｘ座標の位置にタッチしてもよい。例えば、左手で音楽教習装置１の筐体を把持しながら、表示器１５の左端にタッチしても演奏入力することができる。
一方、本発明にかかる音楽教習装置１の表示画面２に表示された音符オブジェクト３２にユーザがタッチする第１の演奏入力手段では、一方の手で音楽教習装置１の筐体を把持して他方の手の指で表示画面２の音符オブジェクト３２にタッチすることになり、片手で音楽教習装置１の筐体を把持した状態でタッチしなければならないことになる。もしくは筐体を置いた状態でタッチしなければならないことになる。
【００１７】
さらに、本発明にかかる音楽教習装置１では次に説明する第３の演奏入力手段を採用することができる。第３の演奏入力手段は傾斜センサ１４を利用する演奏入力手段であり図８を参照しながら説明する。
音楽教習装置１は、図１に示すように音楽教習装置１が内蔵されている筐体の傾きを検出する傾斜センサ１４を備えており、ユーザは音楽教習装置１のｙ軸の傾きで音高を、タッチタイミングで弾いたタイミングを演奏入力する。ＣＰＵ１０は、音楽教習装置１の筐体が前後に傾いた際に、傾斜センサ１４の出力から音楽教習装置１の傾き角度θを検出する。検出する角度は最大±２０度とされ、図８（ａ）に示すように音楽教習装置１の手前側より奥側が高くなるよう傾斜した際に、水平位置（０度）から＋２０度までの傾き角度θを検出することができ、図８（ｂ）に示すように音楽教習装置１の手前側より奥側が低くなるよう傾斜した際に、水平位置（０度）から−２０度までの傾き角度θを検出することができる。音楽教習装置１を傾けると、その傾き角度θに対応する「高さ位置」にタイミングオブジェクト３１が移動して表示される。ユーザは、タイミングオブジェクト３１の「高さ位置」を、演奏する対象の音符オブジェクト３２の表示位置に合わせるように、音楽教習装置１を傾けることで、音高を入力することができる。この場合、ＣＰＵ１０は検出した音楽教習装置１の傾き角度θを「高さ位置」に変換し、その「高さ位置」にタイミングオブジェクト３１が表示されるよう表示更新している。図８（ａ）（ｂ）に示す例では、＋２０度の傾き角度θが音名Ｃ３のBottomの１６１に相当する「高さ位置」に、−２０度の傾き角度θが音名Ｆ４のTopの７３５に相当する「高さ位置」に変換される。そして、音楽教習装置１の＋２０度〜−２０度の傾き角度θにリニアに対応する１６１〜７３５の「高さ位置」の間であって音楽教習装置１の傾き角度θに対応する「高さ位置」に、タイミングオブジェクト３１が表示されるようになる。
【００１８】
この第３の演奏入力手段による演奏入力では、ある音符オブジェクト３２の発音タイミングが到来する際に、当該音符オブジェクト３２に対する演奏入力を行う。まず、当該音符オブジェクト３２に対応する音高の入力を行うために、図８（ａ）（ｂ）に示すように音楽教習装置１を傾斜させる。この時、タイミングオブジェクト３１は検出された傾き角度θに相当する「高さ位置」（ｙ座標）に移動するので、タイミングオブジェクト３１が音符オブジェクト３２ｇのｙ座標の位置に合うように音楽教習装置１を傾ける。そして、音符オブジェクト３２ｇの発音タイミングが到来したタイミングで表示画面２の任意の位置にタッチする。ＣＰＵ１０は、タッチした時刻から弾いたタイミングを検出して、検出した弾いたタイミングが、発音タイミングの許容範囲内にある音符オブジェクト３２を検出する。そして、ＣＰＵ１０は、タッチした時の音楽教習装置１の傾き角度θから「高さ位置」を検出し、検出した「高さ位置」に相当する音高が、検出された音符オブジェクト３２の音高の許容範囲内にあるかを判定して、許容範囲内にある場合に音楽教習装置１の傾き角度θとタッチによる演奏入力が正解と判定する。
なお、第３の演奏入力手段では、音楽教習装置１を傾けることで音高の入力を行うことから、音高の許容範囲を狭くすることができ、極端な許容範囲とした場合は対象とする音高の許容範囲を、上下に隣接する音高の許容範囲に重ならないようにすることができる。
【００１９】
本発明にかかる音楽教習装置１において上記説明した第３の演奏入力手段を採用した場合は、同音連打をユーザが容易に行うことができる。例えば、音楽教習装置１の傾き角度θが図５に示すタイミングオブジェクト３１の位置（Ａ３の音高に相当）に対応する傾き角度θとされている場合に、表示画面２の右端の領域Ｃ１と左端の領域Ｃ３とを両手で交互に連続してタッチすると、音高Ａ３の連打を容易に行うことができる。さらに、同音連打を行った際にタッチ入力によるタイミングの遅れと音高のずれを防ぐことができる。この場合、タッチする領域Ｃ１と領域Ｃ３のｙ軸上の座標位置は同じでも異なっていても良いし、図５に示す領域Ｃ１，Ｃ３の表示領域とは異なる位置に両手で交互に連続してタッチしてもかまわない。
なお、第１の演奏入力手段および第２の演奏入力手段では、ｙ軸上のタッチ位置で音高を指定して入力することから、表示画面２においてｙ軸上の同じ高さを連続で入力しようとすると片手（第１の演奏入力手段）の場合は手が引きつりそうになるおそれがあり、両手で交互（第２の演奏入力手段）に入力する場合は、タッチ位置の高さにずれが生じ易くなる。また、一本指での連打では、特に速い連打の場合、遅れが生じやすく、速さには関わらず、音高のずれが生じる可能性がある。
【００２０】
次に、本発明にかかる音楽教習装置１において、ＣＰＵ１０が実行する音楽教習処理のフローチャートを図９に示す。
ユーザが音楽教習装置１の音楽教習の開始を指示すると、音楽教習処理が開始されステップＳ１にて楽曲や演奏パート等を選択可能なＧＵＩ画面が表示器１５に表示され、このＧＵＩ画面においてユーザが課題となる楽曲と演奏パートを指定して、音楽教習装置１に再生テンポと共に設定する。指定された楽曲には、再生テンポが記憶されており、この再生テンポ、あるいは、ユーザが指定した再生テンポを音楽教習装置１に設定することができる。次いで、ステップＳ２にて各種ルールの設定が行われる。ここでは、当たり判定区間が調整されたり、上述した第１の演奏入力手段ないし第３の演奏入力手段の内のいずれかが選択される。ステップＳ３では、ＣＰＵ１０は、ステップＳ１，Ｓ２の設定内容に従って表示画面２の表示更新を行う。具体的には、再生テンポや指定された楽曲の曲名などを表示すると共に、設定された演奏パートの音符イベントを先頭から順次抽出して、その音符イベントの音高および発音タイミングに対応する五線譜３０上の位置に、作成した風船などにキャラクタ化された音符オブジェクト３２および矢などにキャラクタ化されたタイミングオブジェクト３１を表示する。また、表示画面２には図示していないが設定変更、再生終了、再生開始のボタンが用意され、ステップＳ４では、設定変更ボタンが操作されたか否かをＣＰＵ１０が判断する。ここで、ユーザが楽曲などを変更しようとして設定変更ボタンを操作すると、ＣＰＵ１０は設定変更指示を受け付けたと判断（Ｙ）して、ステップＳ１ないしステップＳ３の処理を再度実行する。また、設定変更ボタンが操作されずＣＰＵ１０が設定変更指示を受け付けなかったと判断（Ｎ）した場合は、ステップＳ５に進み再生終了のボタンが操作されたか否かをＣＰＵ１０が判断する。ここで、ユーザが再生を終了しようとして再生終了ボタンを操作すると、ＣＰＵ１０は再生終了指示を受け付けたと判断（Ｙ）して、ステップＳ６に分岐してタイマが起動していればタイマ停止すると共に、楽曲が再生されていればその再生を停止する等の停止処理をＣＰＵ１０が行い、音楽教習処理を終了する。また、再生終了ボタンが操作されずＣＰＵ１０が再生終了指示を受け付けなかったと判断（Ｎ）した場合は、ステップＳ７に進み再生開始のボタンが操作されたか否かをＣＰＵ１０が判断する。ここで、ユーザが再生を開始しようとして再生開始ボタンを操作すると、ＣＰＵ１０は再生開始指示を受け付けたと判断（Ｙ）して、ステップＳ８に進む。また、再生開始ボタンが操作されずＣＰＵ１０が再生開始指示を受け付けなかったと判断（Ｎ）した場合は、ステップＳ４に戻り、ステップＳ４以降の処理をＣＰＵ１０が再度実行する。なお、ステップＳ４ないしステップＳ７では、対象とするボタンが操作されなかった場合、あるいは、いずれのボタンも所定時間操作されなかった場合に、「Ｎ」とＣＰＵ１０が判断する。
【００２１】
ステップＳ８では、タイマを起動し設定された楽曲の再生を開始する。タイマは、自動演奏時の発音タイミングを指定するタイミングで割込信号を発生して、ＣＰＵ１０に再生処理を実行させるためのタイマである。ステップＳ８で再生が開始されるとステップＳ９に進み設定した再生テンポに基づき、設定された楽曲の所定の演奏パートの音符イベントを先頭から順次抽出して再生を行う再生処理をＣＰＵ１０が実行する。この再生処理では、演奏パートとしてメロディパートや伴奏パートなどの楽音が音源１３で再生される。再生された楽音を、ユーザが聴取可能としても、聴取できないようにしてもよい。次いで、ステップＳ１０にて楽曲の再生の進行に伴い、設定された演奏パート内の対応する音符オブジェクト３２の表示を更新する表示更新処理をＣＰＵ１０が行う。この表示更新処理では、再生の進行に伴い音符オブジェクト３２がスクロールしていくよう表示更新したり、発音タイミングが超過した音符オブジェクト３２を消滅して、次の音符オブジェクト３２を表示したりする更新処理が行われる。また、１小節とか２小節とかの単位でその最後の音符イベントの発音タイミングが超過した際に、単位ごとに表示を挿し替えるように表示更新してもよい。また、ステップＳ１０ではユーザの演奏入力の演奏評価を行うためのバッファやデータを一時的に保存する領域をＲＡＭ１２に設定するなどの処理も行われる。
【００２２】
表示画面２には再生をキャンセルするボタンも用意されており、ステップＳ１０の表示更新処理が終了するとステップＳ１１にて、再生をキャンセルするボタンが操作されたか否かをＣＰＵ１０が判断する。ここで、ユーザが再生をキャンセルしようとしてキャンセルボタンを操作すると、ＣＰＵ１０は再生のキャンセル指示を受け付けたと判断（Ｙ）して、ステップＳ１２に分岐する。ステップＳ１２ではタイマを停止して消音処理などを行って再生停止する停止処理をＣＰＵ１０が行う。ステップＳ１２の処理が終了するとステップＳ４に戻り、ステップＳ４以降の処理が再度行われるようになる。また、キャンセルボタンが操作されずＣＰＵ１０が再生のキャンセル指示を受け付けなかったと判断（Ｎ）した場合は、ステップＳ１３に進み楽曲の再生が終了位置に達して楽曲の再生が終了したか否かをＣＰＵ１０が判断する。ここで、楽曲の再生が終了したとＣＰＵ１０が判断（Ｙ）すると、ステップＳ１４に分岐してステップＳ１２と同様の停止処理を行うと共に、後述するステップＳ１６で行われる演奏判定に基づいて算出した演奏評価結果を表示器１５に表示することによりユーザに提示する処理をＣＰＵ１０が行う。この処理では、各演奏判定の結果に基づき演奏評価を算出しており、演奏判定を行う度に演奏評価を更新していってもよい。
【００２３】
また、楽曲は再生中とされてステップＳ１３にてＣＰＵ１０が楽曲の再生は終了していないと判断（Ｎ）した場合は、ステップＳ１５に進みユーザからの演奏入力の操作があったか否かをＣＰＵ１０が判断する。ここでは、ステップＳ２で設定された第１の演奏入力手段ないし第３の演奏入力手段に応じて表示画面２にタッチする操作をユーザが行うと、ＣＰＵ１０がユーザの演奏入力の操作を受け付けたと判断（Ｙ）し、ステップＳ１６に進む。ステップＳ１６ではユーザの演奏入力と、設定された演奏パートに含まれる音符イベントに応じて、ユーザが行った演奏入力が正解あるは不正解とする演奏判定処理をＣＰＵ１０が行う。また、ユーザが演奏入力の操作を行わず、ステップＳ１３にてＣＰＵ１０がユーザの演奏入力を受け付けなかったと判断（Ｎ）した場合は、ステップＳ９に戻り、次の音符イベントの再生処理および表示更新処理が行われる。このように、ステップＳ１３で楽曲の再生終了と判断されるまではステップＳ９ないしステップＳ１６の処理か繰り返し実行されて、楽曲の再生が順次行われていくと共に、ユーザからの演奏入力の操作がある毎にその演奏入力に基づく演奏判定処理が行われる。そして、楽曲の再生が終了すると演奏判定処理で判定された今までの演奏判定から算出された演奏評価結果がユーザに提示される。ユーザは、課題とする楽曲の演奏に関しての演奏評価結果を知ることができ、このようにして、本発明の音楽教習装置１は、音楽教習をユーザに対して行うことができる。
【００２４】
ここで、図９に示す音楽教習処理のステップＳ１６にて行われる演奏判定処理は、設定されている第１の演奏入力手段ないし第３の演奏入力手段に応じた処理が行われる。そこで、以下にそれらの演奏判定処理を説明する。
第１の演奏入力手段が設定されている場合のステップＳ１６で実行される第１の演奏判定処理のフローチャートを図１０に示す。第１の演奏判定処理が開始されると、音楽教習処理のステップＳ１５で受け付けたユーザが音符オブジェクト３２にタッチする演奏入力の操作によりステップＳ２０にて表示画面２上の音符オブジェクト３２が指定されたか否かをＣＰＵ１０が判断する。ここでは、ＣＰＵ１０が検出したユーザの表示器１５上のタッチ位置（ｘ座標、ｙ座標）が、音符オブジェクト３２の表示範囲内にある時に音符オブジェクト３２が指定されたと判断し、ステップＳ２１に進む。また、タッチ位置が音符オブジェクト３２の表示範囲内になくＣＰＵ１０が音符オブジェクト３２が指定されなかったと判断（Ｎ）した場合は、ステップＳ２３に分岐し発音タイミングの許容範囲内に達している音符オブジェクト３２が存在するか否かをＣＰＵ１０が判断する。ここで、ＣＰＵ１０は設定された楽曲の音符イベントを参照して該当する音符イベントが存在すると判断（Ｙ）した場合は、発音対象とする音符オブジェクト３２にユーザがタッチしていないとして、ステップＳ２６に分岐しユーザの演奏入力は不正解と判定する。ここでは、演奏評価を下げる方向に調整してもよい。また、ステップＳ２１では、ステップＳ２０で指定された音符オブジェクト３２に対応する音符イベントが発音タイミングの許容範囲内に達しているか否かがＣＰＵ１０で判断される。ここで、当該音符イベントを参照して発音タイミングの許容範囲内に達しているとＣＰＵ１０が判断（Ｙ）した場合は、発音対象とする音符オブジェクト３２にユーザがタッチしたとして、ステップＳ２２に進みユーザの演奏入力を正解と判定する。ここでは、演奏操作評価を上げる方向に調整してもよい。
【００２５】
また、ＣＰＵ１０が、ステップＳ２１で指定された音符オブジェクト３２の発音タイミングの許容範囲内に達していないと判断（Ｎ）した場合は、ユーザが発音タイミングのみ誤ってタッチしたと判断されてステップＳ２５に進み演奏評価に影響しないようスルーされる。また、ステップＳ２３で音符オブジェクト３２が存在していないと判断（Ｎ）した場合は、表示画面２において音符オブジェクト３２が表示される枠外にユーザがタッチしたと判断されてステップＳ２５に進み演奏評価に影響しないようスルーされる。ステップＳ２２の処理、ステップＳ２５の処理、ステップＳ２６の処理のいずれかが終了したときに、第１の演奏判定処理は終了する。なお、ステップＳ２１において指定された音符オブジェクト３２の発音タイミングの許容範囲内に達していないとＣＰＵ１０が判断した場合は、ステップＳ２６に分岐してユーザの演奏入力を不正解と判定してもよい。すなわち、発音タイミングのみを満足しないユーザの演奏入力を不正解としてもよい。
音符オブジェクト３２のｙ軸上の表示幅（縦方向）には複数の音高が含まれているので、上記ステップＳ２０の処理では、音高入力そのものにあいまいさを持たせることができる。また、音符オブジェクト３２の表示幅をやや小さくして、表示位置の上下においてタッチ入力にゆとりを持たせてもよい。この場合も、音高入力そのものにあいまいさを持たせることができる。
【００２６】
次に、第２の演奏入力手段が設定されている場合のステップＳ１６で実行される第２の演奏判定処理のフローチャートを図１１に示す。第２の演奏判定処理が開始されると、音楽教習処理のステップＳ１５で受け付けたユーザが表示画面２上にタッチする演奏入力のタッチ位置のｙ座標から音高候補をステップＳ３０にてＣＰＵ１０が検出する。この処理では、タッチ位置のｙ座標に相当する音高と、その音高の上下に隣接する音高を音高候補としたり、タッチ位置のｙ座標に相当する音高が当たり判定区間に属する音名を、例えば図３または図６を参照して音高候補とする。さらに、ステップＳ３１にてユーザが表示画面２にタッチしたタイミング（弾いたタイミング）が発音タイミングの許容範囲内にある音符イベント（または、表示画面２に表示されている音符オブジェクト３２）が存在するか否かがＣＰＵ１０で判断される。ここで、発音タイミングの許容範囲内にある音符イベント（音符オブジェクト３２）が存在するとＣＰＵ１０が判断（Ｙ）した場合はステップＳ３２に進み、ステップＳ３１にて存在すると判断された音符イベント（音符オブジェクト３２）の音高が、ステップＳ３０で検出された音高候補に含まれるか否かをＣＰＵ１０が判断する。ここで、含まれるとＣＰＵ１０が判断（Ｙ）した場合は、発音対象とする音符イベント（音符オブジェクト３２）の音高の許容範囲内であってその発音タイミングの許容範囲内で表示画面２にユーザがタッチしたとして、ステップＳ３３に進みユーザの演奏入力を正解と判定する。ここでは、演奏操作評価を上げる方向に調整してもよい。
【００２７】
また、ＣＰＵ１０が、ステップＳ３１で発音タイミングの許容範囲内にある音符イベント（音符オブジェクト３２）が存在しないと判断（Ｎ）した場合、および、ステップＳ３２で該当する音符イベント（音符オブジェクト３２）の音高が音高候補に含まれていないと判断（Ｎ）した場合は、ユーザが発音対象とされる音符オブジェクト３２の音高の許容範囲内にタッチしたものの、その発音タイミングの許容範囲内で表示画面２にタッチしなかったとして、ステップＳ３４に分岐して、ユーザの演奏入力を不正解と判定する。ここでは、演奏評価を下げる方向に調整してもよい。ステップＳ３３の処理あるいはステップＳ３４の処理が終了したときに、第２の演奏判定処理は終了する。
なお、本発明にかかる音楽教習装置１をゲームモードとすることができ、ゲームモードに設定する場合は音楽教習処理のステップＳ２で音高入力を「しない」設定とする。この場合は、ユーザの演奏入力においてタッチ入力のタイミングのみを判断して、正解音高は入力されているものとしてユーザの演奏入力を判断すればよい。すなわち、ゲームモードに設定された場合は、ユーザの音高入力をチェックしないことから、第２の演奏判定処理においてステップＳ３０，ステップＳ３２の処理はスルーする。
【００２８】
次に、第３の演奏入力手段が設定されている場合のステップＳ１６で実行される第３の演奏判定処理のフローチャートを図１２に示す。第３の演奏入力手段では、ユーザは音楽教習装置１のｙ軸の傾きで音高を、タッチタイミングで弾いたタイミングを演奏入力する。そして、第３の演奏入力手段が設定されている場合のステップＳ１５の処理では、ユーザが表示画面２にタッチする演奏入力が検出された時に、ＣＰＵ１０はユーザからの演奏入力を受け付けたと判断して、そのタッチしたタッチタイミングにおける音楽教習装置１の傾き角度θと、タッチタイミングの時刻情報とをＲＡＭ１２の所定の領域に保存している。また、ステップＳ１５では音楽教習装置１の傾きに対応する高さ位置に表示画面２上のタイミングオブジェクト３１を移動させる表示更新処理も行われ、ユーザはタイミングオブジェクト３１の表示位置が演奏の対象となる音符オブジェクト３２の表示位置になるよう音楽教習装置１を傾けることになる。
【００２９】
第３の演奏判定処理が開始されると、音楽教習処理のステップＳ１５において保存されたユーザの演奏入力により入力された音楽教習装置１の傾き角度θが読み出され、傾き角度θと、例えば±２０度に設定された傾きの角度範囲から、音楽教習装置１を傾けることによりユーザが入力した「高さ位置」をＣＰＵ１０が抽出する。ステップＳ４０の処理が終了した時はステップＳ４１に進み、音楽教習処理のステップＳ１５において保存されたユーザの演奏入力のタッチタイミングの時刻情報が読み出され、ユーザが表示画面２にタッチしたタッチタイミング（弾いたタイミング）が発音タイミングの許容範囲内にある該当する音符イベント（または、表示画面２に表示されている音符オブジェクト３２）が存在するか否かがＣＰＵ１０で判断される。ここで、発音タイミングの許容範囲内にある音符イベント（音符オブジェクト３２）が存在するとＣＰＵ１０が判断（Ｙ）した場合はステップＳ４２に進み、ステップＳ４１にて存在すると判断された音符イベント（音符オブジェクト３２）の音高の許容範囲をｙ座標値の許容範囲に置き換えてＣＰＵ１０が抽出する。次いで、ステップＳ４０で検出された「高さ位置」が、ステップＳ４１で存在すると判断された該当する音符イベント（音符オブジェクト３２）の音高の許容範囲内に含まれるか否かをステップＳ４３にてＣＰＵ１０が判断する。ここでは、「高さ位置」がステップＳ４２で抽出されたｙ座標値の許容範囲に含まれている場合は、該当する音符イベント（音符オブジェクト３２）の音高の許容範囲内に含まれていることになる。そこで、ステップＳ４３にて含まれているとＣＰＵ１０が判断（Ｙ）した場合は、発音対象とする音符イベント（音符オブジェクト３２）の音高の許容範囲内に音楽教習装置１が傾けられ、その発音タイミングの許容範囲内で表示画面２にユーザがタッチしたとして、ステップＳ４４に進みユーザの演奏入力を正解と判定する。ここでは、演奏操作評価を上げる方向に調整してもよい。
【００３０】
また、ＣＰＵ１０が、ステップＳ４１で発音タイミングの許容範囲内にある音符イベント（音符オブジェクト３２）が存在しないと判断（Ｎ）した場合、および、ステップＳ４３で含まれていないと判断（Ｎ）した場合は、発音対象とする音符イベント（音符オブジェクト３２）の音高の許容範囲内に音楽教習装置１が傾けられなかった、および／または、その発音タイミングの許容範囲内で表示画面２にユーザがタッチしなかったとして、ステップＳ４５に分岐してユーザの演奏入力を不正解と判定する。ここでは、演奏評価を下げる方向に調整してもよい。ステップＳ４４の処理あるいはステップＳ４５の処理が終了したときに、第３の演奏判定処理は終了する。なお、ステップＳ４０で抽出した「高さ位置」は第３の演奏判定処理が終了すると初期化され、ステップＳ４０で抽出される毎に更新される。
【産業上の利用可能性】
【００３１】
本発明にかかる音楽教習装置１を電子楽器と連携するよう電子楽器をＭＩＤＩ  Ｉ／Ｆ１７あるいはＩ／Ｆ１８を介して音楽教習装置１に接続することができる。この場合は、音楽教習装置１の表示画面は同じとされるが、音高入力を連携している電子楽器の鍵盤をユーザが押鍵することにより行うようにする。その場合、音楽教習処理における正誤判定では電子楽器でユーザが押鍵した鍵の音高と押鍵したタイミングを元に行う。
なお、楽器を演奏する際に、見るのは楽譜が自然なので、本発明にかかる音楽教習装置１では表示画面に五線譜の表示を採用している。特に日本では、小学校教育で五線譜が用いられるので、五線譜での音高指示が有効だと考えられる。
また、本発明にかかる音楽教習装置をプログラムにより実現して、そのプログラムをアプリケーションソフトウェア（以下、「アプリ」という）として携帯情報機器等にインストールし、そのアプリを起動することにより、携帯情報機器等を本発明にかかる音楽情報装置として機能させることができる。この場合、携帯情報機器等に搭載されている傾斜角度検出機能を傾斜センサ１４として使用することができる。
【００３２】
以上説明した本発明にかかる音楽教習装置は、指定した楽曲の演奏パートに含まれる音符イベントに対応する音符オブジェクトが、表示画面（タッチパネル）上に表示された五線譜上に音符イベントの音高に応じて順次表示され、発音タイミングにユーザが表示画面上の音符オブジェクトを指定操作（タッチ操作）できたかどうかを評価する。各音符イベントに対応する音符オブジェクトはそれぞれの音高の五線譜上での対応位置に表示されるが、音符オブジェクトをタッチ操作により指定できる座標範囲は、五線譜の縦（音高）方向に隣り合う位置に対応する別の音符オブジェクトの座標範囲と一部重ならざるを得ない（例えば、五線譜の第１線に表示された音符オブジェクトと第１間に表示された音符オブジェクト）ため、音高の正解判定に許容範囲を設けるようにしている。
また、ユーザの音高入力をｙ座標位置で入力する場合、あるいは、ユーザの音高入力を音楽教習装置のｙ軸の傾きで入力する場合であっても、音高の正解判定に許容範囲を設けるようにしている。
これにより、従来のように、音高を指定するタッチ入力を鍵盤の絵の中の該当鍵へのタッチで受け付けるようにすると、タッチ入力位置が厳密に該当鍵のエリアに入っておらねばならず、ユーザ操作（演奏）の難易度が上がることになる。これに対して、本発明にかかる音楽教習装置では、音高を五線譜上に音符オブジェクトを配置することで表しているので、ユーザは音符オブジェクトが表示されている五線譜上での高低（第１線、第１間、上第１線、下第１間、など）をタッチすればよく、ユーザ操作（演奏）が容易になり、スムーズに演奏を進めることができる。また、各音高の正解タッチ位置に、対応する五線譜上の位置（第１線、第１間、など）を中心に適度なゆとりを持たせている。それにより、ユーザの実際のタッチ入力位置が隣接する音高に対応する位置であったとしても、タッチ入力位置が所定の範囲に入っていれば、対象の音符オブジェクトの演奏に成功したと判断している。これによっても、ユーザ操作（演奏）が容易になり、スムーズに演奏を進めることができる。
【００３３】
以上説明した本発明にかかる音楽教習装置において、ステップＳ１４で算出される演奏評価結果の算出の仕方は加算式でも減算式でもどちらでもよい。また、電子楽器と接続状態かどうかを判断し、非接続状態のときはタッチパネル上のタッチ入力でユーザが演奏操作を行い、電子楽器と接続状態の場合、電子楽器からの押鍵操作を検出し、正誤判定を行うよう自動的に切り替えてもよい。その場合、タッチパネル上では音符オブジェクトが基準位置（ソングポジション）に向かってスクロールしていたが、実際の鍵盤の弾きやすさを考慮して、音符オブジェクト自体はスクロールさせずに、電子楽器の鍵盤で押鍵すべきタイミングに応じて、弾くべき音符オブジェクトの表示態様を、例えば光らせるなどわかりやすく変えるとよい。さらに、課題として選ばれた楽曲に応じて、音部記号の右横に調号を表示したり、各音符オブジェクトの表示の際に必要に応じて左横に臨時記号を付けて表示してもよい。なお、電子楽器からの押鍵を判定する場合は、音高の判定に許容範囲を設けないようにする。
【００３４】
以上説明した本発明にかかる音楽教習装置において、各音高の当たり判定区間は、調整可能であってもよい。この調整を楽曲単位で設定できてもよいし、音高（音名）別に設定（例えば、ＧとＡとＢはデフォルトの区間幅の１２０％など）できるようにしてもよい。あるいは、課題の楽曲の演奏パートの音符列を事前に分析し、上に順次進行している音符オブジェクトについては、正解タッチ範囲を高い方に若干余裕を持たせるように、下に順次進行している音符オブジェクトについては、正解タッチ範囲は低い方に若干余裕を持たせるように自動で設定するようにしてもよい。なお、課題の楽曲において演奏パートはユーザが指定するようにしたが、自動的に演奏パートを指定するようにしても良い。この場合、デフォルトでメロディパートあるいはトラック１を指定するのが好適とされる。
以上説明した本発明にかかる音楽教習装置においては、各音高についてタッチ入力が正解とする許容範囲に入っていれば正解と判定しているが、例えば更に、直前の音高との関係を判定要素に加えてもよい。例えば、課題の音高（音名）がＥ→Ｆ→Ｆ＃→Ｇと続く場合、音名Ｆに対するタッチ入力位置が音名Ｅのタッチ入力の正解タッチ範囲に入っていたとしても、直前の音名Ｅのときのタッチ入力位置よりも低い位置で入力されていたら正解にしない。あるいは、音名Ｆと音名Ｆ＃は五線譜上では同じ高さで表示されるが、正解タッチ範囲に入っていたとしても、音名Ｆ＃のタッチ入力位置が直前の音名Ｆのタッチ入力位置より高い場合に正解とする。また、音名Ｇは音名Ｆ＃から上に半音進行なので、音名Ｇの五線譜上の位置である第２線上より下の位置でのタッチ入力は正解にしない。逆に跳躍進行のときのみ正解タッチ範囲を適用、あるいは例えばデフォルトの１１０％くらいに広くして正誤判定する等としてもよい。
【００３５】
以上説明した本発明にかかる音楽教習装置において、課題とする楽曲の演奏パートの音符の進行状況を自動で判定し、正解とするタッチ範囲の適用／不適用、あるいは、範囲そのものを音符毎に自動調整する仕組みがあってもよい。また、音符オブジェクトが五線譜上を再生テンポの速度で音部記号近くの基準位置（ソングポジション）に向けてスクロールし、基準位置近辺に到達したときに音符オブジェクトをタッチするようにしているが、五線譜上に表示された（発音順に配置された）各音符オブジェクトが発音タイミングの到来時（多少のゆとりあり）に表示態様を変え、表示態様の変わった音符オブジェクトをユーザがタッチするようにしてもよい。この場合、五線譜上に表示された音符オブジェクト群は適当なタイミングで次に続く音符オブジェクト群に更新される。さらに、スクロールしてきた音符オブジェクト上をユーザがタッチするようにしているが、少なくともタッチ入力位置が五線譜の高さ方向で対象の音符オブジェクトの正解タッチ範囲に入っていれば正解としてよい。さらにまた、音符オブジェクトをタッチしたまま所定の操作を続けている間、ビブラートのような効果がかかるような仕組みであってもよい。
また、本発明にかかる音楽教習装置では、音高の高低をタッチパネルのｙ軸で表しているが、例えば右に９０度回転させて、音高の高低をタッチパネルのｘ軸で表してもよい。この音高の高低をｘ軸で表す場合は、タッチパネルを右に傾けると音高が上がり、左に傾けると音高が下がるようにすることができる。
【符号の説明】
【００３６】
１  音楽教習装置、２，２’  表示画面、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  音源、１４  傾斜センサ、１５  表示器、１６  操作子、１７  ＭＩＤＩ  Ｉ／Ｆ、１８  Ｉ／Ｆ、１９  通信バス、２０  外部装置、３０  五線譜、３１  タイミングオブジェクト、３２  音符オブジェクト、３２ａ〜３２ｈ  音符オブジェクト、３３  音符オブジェクト、３３ａ，３３ｂ  音符オブジェクト
【図１】
0006471890.tif 000002
【図２】
0006471890.tif 000003
【図３】
0006471890.tif 000004
【図４】
0006471890.tif 000005
【図５】
0006471890.tif 000006
【図６】
0006471890.tif 000007
【図７】
0006471890.tif 000008
【図８】
0006471890.tif 000009
【図９】
0006471890.tif 000010
【図１０】
0006471890.tif 000011
【図１１】
0006471890.tif 000012
【図１２】
0006471890.tif 000013