(57)【特許請求の範囲】
【請求項１】
楽器を接続可能とするとともにディスプレイを有するコンピュータ装置を用いた音楽教習システムであって、前記コンピュータ装置内に、
楽器演奏に必要な複数の異なる要素についてユーザの演奏能力を表すユーザモデルデータを記憶するユーザモデル記憶手段と、
ユーザが演奏練習するための練習曲に関する練習曲データを記憶した練習曲データ記憶手段と、
前記ユーザモデルデータに基づいて前記練習曲に対する演奏練習のための練習計画を作成する練習計画作成手段と、
前記作成された練習計画を表す練習計画データを記憶する練習計画記憶手段と、
前記練習曲データ記憶手段に記憶されている練習曲データに基づく前記練習曲に関する情報を、前記練習計画記憶手段に記憶されている練習計画データによって表された練習計画に従って前記ディスプレイを用いてユーザに提示する提示手段とを備えた音楽教習システム。
【請求項２】
前記練習曲は複数の楽曲の中からユーザによって選択されたものである前記請求項１に記載の音楽教習システム。
【請求項３】
前記請求項１または請求項２に記載の音楽教習システムにおいて、前記コンピュータ装置内に、さらに、
ユーザの演奏能力を診断するための課題を前記ディスプレイに表示してユーザに課題を提示する課題提示手段と、
前記課題に対するユーザの回答を入力してユーザの演奏能力を診断する診断手段と、
前記診断手段によって診断されたユーザの演奏能力に応じて前記ユーザモデルデータを作成して前記ユーザモデル記憶手段に記憶するユーザモデル作成手段とを設けた音楽教習システム。
【請求項４】
前記請求項１ないし請求項３のうちのいずれか一つに記載の音楽教習システムにおいて、前記コンピュータ装置内に、さらに、
前記練習計画作成手段によって作成された練習計画を前記ディスプレイに表示してユーザに前記練習計画に対する要望を問い合わせるとともに同要望を入力する要望入力手段を設け、
前記練習計画作成手段は前記入力した要望にも基づいて前記練習計画を作成するようにした音楽教習システム。
【請求項５】
前記請求項１ないし請求項４のうちのいずれか一つに記載の音楽教習システムにおいて、前記コンピュータ装置内に、さらに、
ユーザによる楽器の演奏操作を表す演奏情報を入力する演奏情報入力手段と、
前記入力した演奏情報と前記練習曲データ記憶手段に記憶されている練習曲データとを比較することによりユーザの演奏練習を評価する評価手段と、
前記評価の結果を前記練習計画記憶手段に書き込む書き込み手段とを設けた音楽教習システム。
【請求項６】
前記請求項１ないし請求項５のうちのいずれか一つに記載の音楽教習システムにおいて、前記コンピュータ装置内に、さらに、
前記コンピュータ装置の使用時間に応じた料金をユーザに課金する課金手段を設けた音楽教習システム。
【請求項７】
楽器を接続可能とするとともにディスプレイを有するコンピュータ装置を用いた音楽教習方法であって、
ユーザモデル記憶手段に記憶されていて楽器演奏に必要な複数の異なる要素についてユーザの演奏能力を表すユーザモデルデータに基づいて、練習曲データ記憶手段に記憶されている練習曲データによって表されてユーザが演奏練習するための練習曲に対する演奏練習のための練習計画を作成するステップと、
前記作成された練習計画を表す練習計画データを練習計画記憶手段に記憶するステップと、
前記練習曲データ記憶手段に記憶されている練習曲データに基づく前記練習曲に関する情報を、前記練習計画記憶手段に記憶されている練習計画データによって表された練習計画に従って前記ディスプレイを用いてユーザに提示するステップとを有するようにした音楽教習方法。
【請求項８】
前記練習曲は複数の楽曲の中からユーザによって選択されたものである前記請求項７に記載の音楽教習方法。
【請求項９】
前記請求項７または請求項８に記載の音楽教習方法において、さらに、
ユーザの演奏能力を診断するための課題を前記ディスプレイに表示してユーザに課題を提示するステップと、
前記課題に対するユーザの回答を入力してユーザの演奏能力を診断するステップと、
前記診断されたユーザの演奏能力に応じて前記ユーザモデルデータを作成して前記ユーザモデル記憶手段に記憶するステップとを有するようにした音楽教習方法。
【請求項１０】
前記請求項７ないし請求項９のうちのいずれか一つに記載の音楽教習方法において、さらに、
前記作成された練習計画を前記ディスプレイに表示してユーザに前記練習計画に対する要望を問い合わせるとともに同要望を入力するステップを有し、
前記練習計画を作成するステップは前記入力した要望にも基づいて前記練習計画を作成するようにした音楽教習方法。
【請求項１１】
前記請求項７ないし請求項１０のうちのいずれか一つに記載の音楽教習方法において、さらに、
ユーザによる楽器の演奏操作を表す演奏情報を入力するステップと、
前記入力した演奏情報と前記練習曲データ記憶手段に記憶されている練習曲データとを比較することによりユーザの演奏練習を評価するステップと、
前記評価の結果を前記練習計画記憶手段に書き込むステップとを有するようにした音楽教習方法。
【請求項１２】
前記請求項７ないし請求項１１のうちのいずれか一つに記載した音楽教習方法において、さらに、コンピュータ装置の使用時間に応じた料金をユーザに課金するステップを有するようにした音楽教習方法。
【請求項１３】
楽器を接続可能とするとともにディスプレイを有するコンピュータ装置を用いて音楽教習を行うプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
ユーザモデル記憶手段に記憶されていて楽器演奏に必要な複数の異なる要素についてユーザの演奏能力を表すユーザモデルデータに基づいて、練習曲データ記憶手段に記憶されている練習曲データによって表されてユーザが演奏練習するための練習曲に対する演奏練習のための練習計画を作成するステップと、
前記作成された練習計画を表す練習計画データを練習計画記憶手段に記憶するステップと、
前記練習曲データ記憶手段に記憶されている練習曲データに基づく前記練習曲に関する情報を、前記練習計画記憶手段に記憶されている練習計画データによって表された練習計画に従って前記ディスプレイを用いてユーザに提示するステップとを有するようにしたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記練習曲は複数の楽曲の中からユーザによって選択されたものである前記請求項１３に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記請求項１３または請求項１４に記載のコンピュータ読み取り可能な記録媒体において、さらに、
ユーザの演奏能力を診断するための課題を前記ディスプレイに表示してユーザに課題を提示するステップと、
前記課題に対するユーザの回答を入力してユーザの演奏能力を診断するステップと、
前記診断されたユーザの演奏能力に応じて前記ユーザモデルデータを作成して前記ユーザモデル記憶手段に記憶するステップとを有するようにしたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記請求項１３ないし請求項１５のうちのいずれか一つに記載のコンピュータ読み取り可能な記録媒体において、さらに、
前記作成された練習計画を前記ディスプレイに表示してユーザに前記練習計画に対する要望を問い合わせるとともに同要望を入力するステップを有し、
前記練習計画を作成するステップは前記入力した要望にも基づいて前記練習計画を作成するようにしたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記請求項１３ないし請求項１６のうちのいずれか一つに記載のコンピュータ読み取り可能な記録媒体において、さらに、
ユーザによる楽器の演奏操作を表す演奏情報を入力するステップと、
前記入力した演奏情報と前記練習曲データ記憶手段に記憶されている練習曲データとを比較することによりユーザの演奏練習を評価するステップと、
前記評価の結果を前記練習計画記憶手段に書き込むステップとを有するようにしたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記請求項１３ないし請求項１７のうちのいずれか一つに記載のコンピュータ読み取り可能な記録媒体において、さらに、コンピュータ装置の使用時間に応じた料金をユーザに課金するステップを有するようにしたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ装置を用いて楽器の演奏練習を個人的に行うことができる音楽教習システム、音楽教習方法及び同教習方法を実現するためのコンピュータプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来、楽器演奏を練習する場合、学校、その他の機関に通って先生に楽器の演奏を教わったり、個人的なレッスンを受けて楽器演奏を修得するのが通常であった。また、押鍵指示装置、正押鍵判定装置などを内蔵させておき、楽器演奏の修得のために助けとなるようにした電子楽器も知られている。
【０００３】
【発明が解決しようとする課題】
しかし、前者の場合には、先生を必要とする他、レッスン時間の拘束を受けるので、簡単に楽器演奏を修得することができない。また、後者の場合には、単に練習曲を正しく演奏したか否かを判定するのみであって簡単な練習内容しか実現できず、練習者に対し練習課題が提示されたり、演奏練習に対する評価及びコメントが与えられたり、繰り返し練習が指示されたり、練習曲の演奏を修得するための特定練習曲が提示されたりするなどのきめ細かな教習が行われないので、練習の効果が充分ではなかった。
【０００４】
【発明の概要】
本発明は、上記問題に対処するためになされたもので、その目的は、ユーザ（練習者）の都合に合わせて簡単に演奏練習できるとともに、充分な練習効果を得ることができ、またユーザが予め用意された複数の教授方法のいずれかをユーザの意志により選択できるようにしたコンピュータ装置を用いた音楽教習システム、及び同教習方法を提供しようとするものである。また、このコンピュータ装置に前記音楽教習方法を実現させるためのプログラムを記録した記録媒体を提供するものである。
【０００５】
上記目的を達成するために、本発明の特徴は、楽器を接続可能とするとともにディスプレイを有するコンピュータ装置を用いた音楽教習システム又は音楽教習方法にある。これによれば、ユーザは、先生を必要とすることなく、コンピュータ装置を用いて楽器の演奏練習を単独で行うことができるので、ユーザの都合に合わせて簡単に楽器の演奏練習を行うことができるようになる。
【００１０】
また、本発明の他の特徴は、ユーザモデル記憶手段に記憶されていて楽器演奏に必要な複数の異なる要素についてユーザの演奏能力を表すユーザモデルデータに基づいて、練習曲データ記憶手段に記憶されている練習曲データによって表されてユーザが演奏練習するための練習曲に対する演奏練習のための練習計画を作成し、前記作成された練習計画を表す練習計画データを練習計画記憶手段に記憶し、練習曲データ記憶手段に記憶されている練習曲データに基づく練習曲に関する情報を、練習計画記憶手段に記憶されている練習計画データによって表された練習計画に従ってディスプレイを用いてユーザに提示するようにしたことにある。これによれば、ユーザの演奏能力に応じて練習計画が作成され、かつ同練習計画に従って楽器の演奏練習が行われるので、ユーザに的確な演奏練習を行わせることができて、音楽教習が効率的に行われることになる。
【００１１】
また、本発明の他の特徴は、練習曲は複数の楽曲の中からユーザによって選択されたものである。これによれば、ユーザの要望も取り入れた上で、練習曲が決定されるので、練習曲がユーザにとって適切なものとなる。
【００１２】
また、本発明の他の特徴は、ユーザの演奏能力を診断するための課題をディスプレイに表示してユーザに課題を提示し、課題に対するユーザの回答を入力してユーザの演奏能力を診断し、前記診断されたユーザの演奏能力に応じてユーザモデルデータを作成してユーザモデル記憶手段に記憶するようにしたことにある。これによれば、ユーザの演奏能力が的確に診断され、この診断結果が、ユーザモデルデータを介して練習計画に反映されるので、ユーザにより的確な演奏練習を行わせることができて、音楽教習がより効率的に行われることになる。
【００１３】
また、本発明の他の特徴は、前記作成された練習計画をディスプレイに表示してユーザに練習計画に対する要望を問い合わせるとともに同要望を入力し、前記入力した要望にも基づいて練習計画を作成するようにしたことにある。これによれば、ユーザの好みも演奏練習に取り入れられるので、ユーザは楽しみながから楽器の演奏練習を行うことができる。
【００１４】
また、本発明の他の特徴は、ユーザによる楽器の演奏操作を表す演奏情報を入力し、前記入力した演奏情報と練習曲データ記憶手段に記憶されている練習曲データとを比較することによりユーザの演奏練習を評価し、前記評価の結果を練習計画記憶手段に書き込むようにしたことにある。これによれば、練習計画に従って楽器の演奏練習が行われるとともに、同練習結果の履歴が記録されるので、ユーザの演奏練習の進度判定が的確になる。
【００１９】
また、本発明の他の特徴は、コンピュータ装置の使用時間に応じた料金をユーザに課金するようにしたことにある。これによれば、演奏能力の診断又は演奏練習に対する料金を的確に徴収できるようになる。
【００２１】
また、本発明の他の特徴は、前述した音楽教習方法を実現するためのプログラムを記録した記録媒体にもある。これによれば、市販されている通常のコンピュータ装置を用いて前記音楽教習を行わせるようにすることができる。
【００２２】
【発明の実施の形態】
Ａ．第１実施形態
ａ．全体構成
本発明の第１実施形態を図面を用いて説明すると、図１はコンピュータ装置を含む音楽教習システムを概略的に示している。
【００２３】
コンピュータ装置は、バス１０に接続されたＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、キーボード１４及びディスプレイ１５からなるコンピュータ本体部を備えている。キーボード１４は、テンキー、文字キーなどの複数の入力操作子及び各入力操作子の操作をそれぞれ検出する複数の操作子スイッチからなり、各操作子スイッチはキーインターフェース１４ａを介してバス１０に接続されている。ディスプレイ１５は楽譜、文字などを表示するもので、表示インターフェース１５ａを介してバス１０に接続されている。
【００２４】
このコンピュータ装置は、大容量の内部記憶装置としてのハードディスク１６も備えており、同ディスク１６はプログラム記憶エリア、ユーザ情報記憶エリアなどを有している。プログラム記憶エリアには、図２，４〜１４にフローチャート又は表形式で表したプログラムが記憶される。ユーザ情報記憶エリアには、図１５に示すように、このコンピュータ装置を利用するユーザ（演奏練習者）の人数ｎを表すユーザ人数データ、及び各ユーザに関するユーザ情報ｉ（ｉ＝１〜ｎ）が記憶される。ユーザ情報ｉは、ユーザの名前を表すユーザ名データ、使用時間に応じてユーザに課される料金を表す課金データ、後述するユーザモデルデータ、ユーザが練習中の曲数を表す曲数データ、及び後述する練習曲データ１，２などからなる。
【００２５】
ユーザモデルデータは、図１６に示すように、読譜力及び演奏技能からなりユーザ（演奏練習者）の総合的な演奏能力を表す演奏能力データ、ユーザの性向を表す個人性向データとからなる。読譜力を表す演奏能力データとしては、単音旋律及び複音旋律における幹音及び派生音の認識の正確さ及び速さの能力を表すデータ、ト音記号、ヘ音記号、ハ音記号などの音部記号及びシャープ、フラットなどの調号の認識の正確さ及び速さの能力を表すデータなどが上げられる。演奏技能を表す演奏能力データとしては、右手及び左手による単音及び和音（複音）の打鍵の指力均等性、敏捷性、伸長性、方向順応性、黒鍵打鍵の正確性などの能力を表すデータ、リズム表現（テンポ維持）及び両手のコンビネーションの能力を表すデータなどが上げられる。なお、これらの演奏能力を表すデータは、満点を１００点とした点数で表される。個人性向データは、ユーザの曲の好み、レッスンに関する希望、性格などを表す自由な書式（フォーマット）のデータで構成されている。
【００２６】
練習曲データ１，２は、図１５に示すように、練習中の曲に関するデータであって、曲名データ、練習計画データ、楽譜データ、演奏データ、運指データ及び属性データからなる。なお、ユーザが１曲のみを練習中であれば練習曲データは１曲分のみであり、複数曲を同時に練習中であればその曲数分だけ用意される。図１５は、２曲を練習中とした場合を例示している。
【００２７】
曲名データは楽曲名を表すものである。練習計画データは、図１７に示すように、練習内容（音階練習、各種テンポの右手、左手、両手演奏練習など）、実施日、成功率、終了認定の有無、予定時間、消費時間など、練習内容の計画及び練習結果を表すデータからなる。楽譜データは、この楽曲に関する五線譜上の各音符、休符などをディスプレイ１５に視覚表示するためのイメージデータである。演奏データは、この楽曲の演奏テンポを表すデータ、及び各音符の音高、符長、休符などを表す楽曲の進行に従ったデータからなる。運指データは、この楽曲の各音符を押鍵すべき手及び指を表すデータである。属性データは、図１８に示すように、この楽曲を演奏するために必要な読譜力及び演奏技能を表す各要求レベルを表す点数（１００点を満点とする）、及びこの楽曲の各練習内容（図１７に示す練習内容）を修得するのに必要な標準時間を表すデータからなる。
【００２８】
バス１０には、曲データインターフェース１７ａを介して非常に大容量のハードディスクで構成された内部データベース１７が接続されている。内部データベース１７には、多数の楽曲にそれぞれ対応した多数曲分の曲データが記憶されるようになっている。各曲データは、前述した曲名データ、楽譜データ、演奏データ、運指データ及び属性データ（図１５参照）からなる。また、同バス１０には、公共の電話回線、専用回線に接続される通信インターフェース１８も接続されている。この通信インターフェース１８は、外部に設けられて多数曲分の曲データを記憶した外部データベース２１から前記回線を介して必要な曲データを入力できるようになっている。また、通信インターフェース１８は、外部に設けたホストコンピュータ２２などと交信可能となっている。
【００２９】
また、このコンピュータ装置には、バス１０に接続されたディスクドライバ２３ａ，２４ａも接続されており、各ドライバ２３ａ，２４ａはフレキシブルディスク２３及びコンパクトディスク２４に対するデータ又はプログラムの書き込み及び読み出しを行う。フレキシブルディスク２３及びコンパクトディスク２４は外部記録装置として利用されるもので、前述した図２，４〜１４のプログラムを予め記録しておき、ハードディスク１６へ前記プログラムをインストールするために利用される。また、これらのディスク２３，２４は、予め記録しておいた曲データを内部データベース１７に記憶させたり、予め記録しておいた各種データをハードディスク１６へ記憶させたり、同ディスク１６に記憶されている各種データの保存にも利用される。
【００３０】
さらに、バス１０には、楽器インターフェース２５ａを介して練習用の電子楽器２５が接続されるようになっている。この場合、電子楽器２５は、例えば鍵盤型電子楽器で構成され、音高を指定するための複数の鍵、各鍵の押離鍵を検出する複数の鍵スイッチ、各鍵の鍵タッチ（鍵押圧力）を検出する複数の鍵タッチ検出回路、楽音の音色及び音量などを指定するための楽音制御操作子、各楽音制御操作子の操作を検出するための複数の楽音制御操作子スイッチ、並びに楽音信号を形成する楽音信号形成回路を備え、鍵の押離鍵及び楽音制御操作子の操作に応じて楽音信号を出力するようになっている。
【００３１】
このように構成した音楽教習システムは、ＣＰＵ１１がＲＯＭ１２に記憶されたプログラム（図示しない）及びハードディスク１６などに記憶された前述したプログラムを実行することにより作動する。この作動前には、図示しないプログラムの実行により、フレキシブルディスク２３又はコンパクトディスク２４に予め記録又は記憶されている前記プログラムの一部又は全部をハードディスク１６にインストールするとともに、外部データベース２１、フレキシブルディスク２３又はコンパクトディスク２４内に記憶されている曲データを内部データベース１７に転送するようにする。
【００３２】
ｂ．全体作動
上記のように構成した音楽教習システムにおいては、ユーザが図２のメインプログラムを起動させると、ＣＰＵ１１は図２のステップ１００にてメインプログラムの実行を開始し、ステップ１０２の初期設定処理を実行する。
【００３３】
そして、ステップ１０４にて、起動オブジェクトプログラム（図４）の実行により、演奏練習の準備を行う。この演奏準備においては、ユーザが登録済みのユーザであれば、登録ユーザ情報中のユーザ名データに基づいてディスプレイ１５にユーザ名を表示し、その中からユーザにユーザ名を選択させておく。一方、ユーザが新規であれば、ユーザ名をキーボード１４を用いて入力するとともに、ディスプレイ１５を用いてユーザに対して演奏能力を表すユーザレベル（初級／中級／上級）を自己申告させる。この場合も、ユーザは、キーボード１４を用いて、ユーザレベルを入力する。そして、前記起動オブジェクトプログラム（図４）の実行により診断オブジェクト（図７）が呼び出されて、診断オブジェクトプログラム（図７）の実行によりユーザレベルが診断される。
【００３４】
このユーザレベルの診断においては、前記申告ユーザレベルに応じた課題であって図１６に示す種々の診断項目を診断するための複数種類の課題がディスプレイ１５に順次表示される。ユーザはキーボード１４又は電子楽器２５を用いて前記課題に対して順次回答し、コンピュータ装置はこの回答に応答して種々の課題に対して診断する。こり診断結果は一次的にＲＡＭ１３に記憶されるとともに、同診断結果と自己申告によるユーザレベルを判定して、両者が大きく違わなければ、ハードディスク１６にユーザ情報の一部を構成するユーザモデルデータとしてユーザ名と共に書き込まれる。また、診断結果と自己申告とが大きくずれていれば、申告レベルを修正した上で前記診断が再度行われる。このように、ユーザの演奏能力に応じて各種項目について診断されるので、診断結果が的確なものになる。また、この診断中においては、タイマオブジェクトプログラム（図８）の実行により、診断時間が管理され途中結果の有無などによって診断時間が延長されたり、診断開始から所定時間が経過すれば診断結果の有無とは無関係に次の項目の診断に移る。これにより、診断が時間管理のためにむやみに途中で中断されることがなくなるとともに、一つの項目に留まることなく効率よくユーザの診断がなされる。
【００３５】
次に、以前からの練習曲を継続して練習する場合にはレッスン予定内容を決定するための後述するステップ１０６の処理にプログラムを進め、練習曲を新たに選択する場合には、前記起動オブジェクトプログラム（図４）の継続した実行により、ディスプレイ１５を用いてユーザに練習曲に関する希望を問い合わせる。ユーザは、キーボード１４を用いて希望を入力する。そして、候補曲選択ルーチン（図１０）の実行により、ユーザが要望する練習内容をディスプレイ１５を用いて問い合わせ、ユーザはキーボード１４を用いて同問い合わせに対して答える。そして、前記診断結果を表すユーザモデルデータ及び前記ユーザの要望に応じた練習曲を内部データベース１７より複数曲分選択して、ディスプレイ１５に表示する。ユーザは、前記複数の練習曲の中からキーボード１４を用いて一つの練習曲を選択する。その後、前記選択した練習曲に関する曲データ中の属性データとユーザモデルデータとの比較により、このユーザにとって難しい演奏箇所及び練習時間をディスプレイ１５に表示して、ユーザに選択曲の決定を問い合わせる。ユーザがこの選択曲を否定すれば、前記複数の曲の表示ステップからの選択動作が繰り返される。なお、練習曲は通常一曲であるが、複数曲でもよい。このように、ユーザの要望も取り入れた上で、ユーザレベルに応じて練習曲が決定されるので、決定される練習曲がユーザにとって適切なものとなるとともにユーザも楽しみながら演奏練習を行うことができる。。
【００３６】
この練習曲の決定後、ユーザモデルデータにより表された演奏能力に応じて練習曲に対する練習計画が作成され、ディスプレイ１５に表示されるとともにユーザに同練習計画に対する要望が問い合わされる。ユーザはキーボード１４を用いて要望を入力し、この要望に応じて練習計画が一部修正された後に最終的に練習計画データとしてハードディスク１６にユーザ情報の一部として記憶される。このように、練習曲に対する練習計画が、ユーザの演奏能力及びユーザの要望に応じて決定されるので、ユーザは後述する演奏練習を無理なくかつ楽しみながら行うことができる。
【００３７】
ふたたび、図２のメインプログラムの説明に戻ると、コンピュータ装置は、ステップ１０６にて、レッスン内容決定オブジェクトプログラム（図５）の実行により、ユーザの希望も考慮して、ウォーミングアップ、復習及び練習曲の演奏練習の有無及びこれらの各練習時間からなる今回のレッスン予定内容を決定する。これにより、ユーザの希望も考慮された演奏練習が行われるようになる。
【００３８】
そして、ステップ１０８にて前記決定したレッスン予定内容からウォーミングアップ、復習及び練習曲の演奏練習の各練習時間を順次取り出して、同予定内容に従ってステップ１１０にてレッスンオブジェクトプログラム（図６）を実行することにより、ウォーミングアップ、復習及び練習曲の演奏練習を順次行う。練習曲の演奏練習においては、読譜練習及びメトロノームステップ練習に対する時間配分をした後、練習曲を小節毎、フレーズ毎などに分割するとともに分割した複数の練習部分がディスプレイ１５に順次表示されて、読譜練習及びメトロノームステップ練習が前記作成した練習計画に従って行われる。読譜練習は譜読みに重きが置かれて鍵盤にて正しい押鍵がなされることを期待するもので、メトロノームステップ練習は押鍵タイミングに重きが置かれて正しいタイミングで正しい鍵が押鍵されることを期待するものである。
【００３９】
そして、このような演奏練習の結果は所定の基準に従って評価されるとともに採点され、この評価及び採点は前記複数の練習部分毎及び練習曲全体の両者についてなされ、各採点結果が良好でなければ、前記複数の練習部分の順次表示及び前記練習計画にしたがった練習の進行が停止されるなど、採点結果に応じて練習の進度が制御される。これにより、ユーザによる演奏修得の度合いに応じて練習の進度が決定されるので、ユーザは確実かつ効率的に楽器演奏の練習を行うことができる。また、このような演奏練習中においては、タイマオブジェクトプログラム（図８）の実行により練習時間が管理され、途中結果の有無などによって練習時間が延長されたり、練習開始から所定時間が経過すれば、演奏練習の終了とは無関係に次の練習課題に移される。これにより、演奏練習が時間管理のためにむやみに途中で中断されることがなくなるとともに、一つの練習課題に留まることなく効率よく演奏練習がなされる。
【００４０】
前記のようなウォーミングアップ、復習及び練習曲の演奏練習の全てを終了すると、コンピュータ装置はステップ１１２にてレッスン終了と判定して、ステップ１１４にてレッスンオブジェクトプログラム（図６）の実行によりレッスンの終了処理を行う。この終了処理においては、前記評価及び採点結果、練習に要した時間などのデータが、練習計画データに書き加えられるとともに、ユーザレベルを表すユーザモデルが今回の練習結果に応じて修正される。これにより、ユーザの演奏の進度判定が的確になされるとともに、今後の練習のためにユーザレベルが適切に利用できるようになる。そして、ステップ１１６にてこのプログラムの実行を終了する。
【００４１】
一方、前記のような診断及び練習中においては、タイマオブジェクトプログラム（図８）及び課金オブジェクトプログラム（図９）が並行して実行され、コンピュータ装置の使用時間に応じた料金がユーザに課金される。また、この料金は、診断及び練習の内容などによっても異なっている。これにより、この音楽教育システムの使用に対する適切な料金がユーザから徴収できるようになる。
【００４２】
次に、本発明の第１実施形態をさらに詳細に説明するが、同詳細な説明の前に、本明細書におけるオブジェクトの概念及び各オブジェクトの連係について説明しておく。
【００４３】
この第１実施形態においては、オブジェクト指向プログラムを採用している。オブジェクトとはオブジェクト指向型計算モデルの構成単位を意味しており、具体的には前記各構成単位毎のプログラム処理を示す。図３は、第１実施形態にて実行される各種オブジェクトの連係図であり、前記メインプログラムの実行により、起動オブジェクト２００、レッスン内容決定オブジェクト３００及びレッスンオブジェクト４００がこの順に指定される（太矢印参照）。起動オブジェクト２００は、診断オブジェクト５００、タイマオブジェクト６００及び課金オブジェクト７００を指定するとともに各オブジェクト５００〜７００に対してメッセージを発行する（矢印参照）。レッスンオブジェクト４００は、タイマオブジェクト６００及び課金オブジェクト７００を指定するとともに各オブジェクト６００，７００に対してメッセージを発行する（矢印参照）。診断オブジェクト５００は、タイマオブジェクト６００及び課金オブジェクト７００を指定するとともに各オブジェクト６００，７００に対してメッセージを発行する。タイマオブジェクト６００は、課金オブジェクト７００を指定するとともに同オブジェクト７００に対してメッセージを発行する。また、起動オブジェクト２００、レッスンオブジェクト４００及び診断オブジェクト５００は、それぞれ自己に対してもメッセージを発行する（矢印参照）。なお、図３の起動オブジェクト２００内の候補曲選択、並びにレッスンオブジェクト４００内の読譜練習及びメトロノームステップ練習に関しては、具体的処理内容がフローチャートにより示されている。
【００４４】
次に、各オブジェクトにて実行される処理内容の記述方法について説明しておく。この第１実施形態においては、各オブジェクトにて実行されるプログラムの具体的処理内容を、通常のフローチャートを用いた記述による煩雑化を避けるために、表形式の処理工程図により記述してある。この処理工程図においては、図４〜図９に示すように、左欄には各オブジェクトに対して発行されるメッセージを記載し、右欄には前記メッセージ毎の具体的な処理内容（メッセージに対するアクション）を記載し、中央欄には前記処理内容を実行するための条件を記載してある。基本的には、メッセージ内容に該当しかつ条件に合致した処理が上から下に順次実行され、条件の記載されていない処理は常に実行される。なお、右欄内の「Ｏ」は指定するオブジェクト名を示し、「Ｍ」はメッセージ内容を示し、＊印のついた候補曲選択（図４）、読譜練習及びメトロノームステップ練習（図６）に関しては、前述のように処理内容を表すフローチャートが別途用意されていることを示している。また、オブジェクト名の指定されないメッセージは、自己のオブジェクトを指定していることを意味している。
【００４５】
以下、起動オブジェクト２００、診断オブジェクト５００、レッスン内容決定オブジェクト３００及びレッスンオブジェクト４００についてこの順に詳しく説明するとともに、タイマオブジェクト６００及び課金オブジェクト７００に関しては、関連したオブジェクトの説明中にて説明する。
【００４６】
ｃ．起動オブジェクト
起動オブジェクト２００は、図２のステップ１０４にて指定されるとともに練習開始メッセージを受けて処理を開始するもので、ステップ２０２にてタイマオブジェクト６００を指定して初期化メッセージを発行し、ステップ２０４にて課金オブジェクト７００を指定して初期化メッセージを発行し、ステップ２０６にて課金オブジェクト７００を再度指定して実行プログラム通知メッセージを発行する。なお、この実行プログラム通知メッセージの発行の際には、起動オブジェクト２００の練習開始メッセージに伴う処理であることも、課金オブジェクト７００に対して通知される。
【００４７】
タイマオブジェクト６００は、図８に示すように、ステップ６０２にてＣＰＵ１１に内蔵のタイマによる時間計測値を初期値「０」に設定し、これにより、タイマは時間計測を開始し始めて、ステップ６０４の処理により前記時間計測値に基づいて所定時間毎（例えば１分毎）に課金オブジェクト７００を指定して割り込みメッセージを繰り返し発行し始める。
【００４８】
一方、課金オブジェクト７００は、図９に示すように、前記起動オブジェクト２００による初期化メッセージに応答して、ステップ７０２にてＲＡＭ１３内に設けた課金データを初期値「０」に設定する。また、課金オブジェクト７００は、前記起動オブジェクト２００による実行プログラム通知メッセージに応答して、ステップ７０４にてＲＡＭ内に設けた単位料金データを前記練習開始メッセージに伴う処理に対応して予め定められている金額に設定する。また、課金オブジェクト７００は、前記タイマオブジェクト６００による割り込みメッセージに応答して、ステップ７０６にてＲＡＭ内の課金データに前記設定した単位料金データを累算する。
【００４９】
ふたたび、起動オブジェクト２００の説明に戻り、前記ステップ２０６の処理後、自己に対してユーザ問い合わせメッセージを発行する。起動オブジェクト２００は、前記メッセージに応答して、ステップ２１４にてディスプレイ１５にて既に登録済みユーザであるか、新規ユーザであるかを表示してユーザに問い合わせ、キーボード１４からの入力を待つ。ユーザがキーボード１４を用いて前記いずれかを選択すると、同選択が登録済みユーザであれば、起動オブジェクト２００はステップ２１６にてハードディスク１６内のユーザ情報記憶エリアの該当ユーザ情報をユーザに単に指定させる。
【００５０】
一方、ユーザが新規ユーザを選択すれば、起動オブジェクト２００はステップ２１８にてハードディスク１６にユーザ情報を格納する記憶エリアを確保するとともに、ディスプレイ１５にてユーザ名の入力を指示し、ユーザによりキーボード１４にて入力されたユーザ名を前記記憶エリアに記憶する。次に、ステップ２２０にて、ディスプレイ１５にユーザのレベル（初級、中級、上級）を自己申告する旨の表示を行い、ユーザによりキーボード１４にて入力されたレベルをＲＡＭ１３に一時記憶しておく。次に、起動オブジェクト２００は、ステップ２２２にて自己に対してユーザレベル診断メッセージを発行する。
【００５１】
このメッセージに応答して、起動オブジェクト２００は、ステップ２２６にて診断オブジェクト５００を指定して起動メッセージを発行する。このメッセージの発行と同時に、起動オブジェクト２００は、診断オブジェクト５００に対して、条件データとして診断を表すデータと共に、前記自己申告したユーザレベル及び予め決められた診断時間（例えば１０分）を表すデータを与える。診断オブジェクト５００は、詳しくは後述するように、前記申告ユーザレベルに応じた各種課題をユーザに与えることにより前記ユーザモデル（図１６）に対応した各種の項目に関して読譜診断及び演奏診断をユーザレベルに応じて行い、各種項目毎の点数をＲＡＭ１３内に一時記憶する。次に、起動オブジェクト２００は、ステップ２２８にて前記各種項目毎の点数、各種項目の診断に要した時間及び申告ユーザレベルとに基づいてユーザレベル（初級、中級、上級）を計算し、ステップ２３０にて自己に対してユーザレベル決定メッセージを発行する。なお、前記ユーザレベルの計算に申告ユーザレベルを用いた理由は、診断のために利用される課題が申告ユーザレベルにより異なるためであり、ユーザレベルを申告させた理由はレベルに応じた課題をユーザに与えることによって診断の精度を高めるためである。
【００５２】
前記ユーザレベル決定メッセージに応答して、起動オブジェクト２００はステップ２３２にて前記申告したユーザレベルと前記計算したユーザレベルとを比較し、両者の差が大きければ、ステップ２３４にて申告ユーザレベルを修正する。例えば、ユーザが初級と申告したにもかかわらず、診断に基づくユーザレベルが上級となった場合には、申告ユーザレベルを中級にする。また、ユーザが上級と申告したにもかかわらず、診断に基づくユーザレベルが初級となった場合には、申告ユーザレベルを中級にする。前記ステップ２３４の処理後、起動オブジェクト２００は、前記同様に自己に対してユーザレベル診断メッセージを発行して、ユーザのレベルを再度診断する。これにより、ユーザの能力にあった診断を可能として、診断の正確さを向上させることができる。一方、前記一回の診断又は複数回の診断により申告したユーザレベルと計算したユーザレベルとがほぼ等しくなれば、ステップ２３８にて前記ＲＡＭ１３の各種項目毎の点数、各種項目の診断に要した時間及び申告ユーザレベルに基づいて図１６の各項目に対応した診断結果を計算し、同診断結果を表すデータをハードディスク１６のユーザ情報記憶エリアにユーザモデルとして書き込むとともに、ユーザ人数データを増加させておく。
【００５３】
次に、起動オブジェクト２００は、ステップ２２４にて付属情報を取得する。この付属情報の取得においては、起動オブジェクト２００はディスプレイ１５に質問を表示しながらユーザの曲の好み、レッスンに関する希望、性格などをキーボード１４を用いて入力させて、前記入力内容をハードディスク１６にユーザモデルデータの付属情報として書き込む。
【００５４】
このステップ２２４の処理の終了により、起動オブジェクト２００はユーザの問い合わせメッセージに関する処理を全て終了したことになるので、次にステップ２１０にて自己に対して練習曲選択メッセージを発行する。このメッセージの発行に応答して、起動オブジェクト２００は、ステップ２４０にて、ディスプレイ１５を用いてユーザに対して前回の練習曲と同一曲を練習したいか、新曲を練習したいかを問い合わせる。なお、始めて練習を開始する場合には、この問い合わせに対する回答は自動的に新曲側になる。
【００５５】
この問い合わせにより、ユーザが新曲を選択した場合、又は始めて練習を開始する場合、起動オブジェクト２００は、ステップ２４２にて候補曲選択ルーチンを実行する。この候補曲選択ルーチンは図１０に詳細に示されており、起動オブジェクト２００は、ステップ２６０にて同ルーチンの実行を開始し、ステップ２６１にてユーザに練習内容を選択させる。この場合、起動オブジェクト２００は、練習内容として、▲１▼レパートリー拡張、▲２▼特定技術のレベルアップ、▲３▼全体的なレベルアップ、▲４▼特定曲に挑戦などをディスプレイ１５に表示し、ユーザにより入力されたキーボード１４からの選択情報を入力する。次に、起動オブジェクト２００は、ステップ２６２にて、前記選択内容が▲２▼であれば、リズム練習、左手の練習などのユーザモデルに示した各項目の特定技術をディスプレイ１５に表示して、ユーザに同表示の中から特定技術を選択させる。また、前記選択内容が▲２▼又は▲３▼であれば、ステップ２６３にて、ハードディスク１６に記憶されているユーザモデルの各データ、特にユーザの性格に基づいて一曲の練習でレベルアップ可能なレベル幅を計算する。次に、ステップ２６４にて、前記レベル幅に基づいてユーザモデルデータの各項目毎に目標レベル値を計算してＲＡＭ１３に一時記憶する。
【００５６】
そして、ステップ２６５にて、前記各項目毎の目標レベル値と、前記ステップ２６１，２６２にて選択された練習内容とに基づいて、内部データベース１７内の曲データ中の属性データ（図１８）を参考にして、前記目標レベル以上の演奏能力（読譜力及び演奏技能）を必要とするとともに前記練習内容のユーザの希望に適合した候補曲の曲データを前記データベース１７から検索する。次に、ステップ２６６にて検索した候補曲の曲名をディスプレイ１５に表示し、ステップ２６７にてユーザにキーボード１４を用いて選択させる。そして、ステップ２６８にて前記選択した曲名に対応した曲データ中の属性データを内部データベース１７から読み出して、ステップ２６９にて前記計算したユーザモデルの各項目の目標レベルと属性データ中の各項目の要求レベルとを比較して、レベル差の大きい項目を表示する。そして、ステップ２７０にて前記各項目毎のレベル差に応じて、目標レベルをクリアするのに必要な時間を予め決めた基準に従って計算し、ステップ２７１にて同時間を予想練習時間としてディスプレイ１５に表示する。
【００５７】
そして、ステップ２７２にて、ディスプレイ１５を用いて選択曲を承認するか否かをユーザに対して問い合わせる。この問い合わせに対して、ユーザがキーボード１４を用いて承認する旨の入力をすれば、ステップ２７３にてこの候補曲選択ルーチンの実行を終了する。一方、前記問い合わせに対して、ユーザが承認しなければ、ステップ２６６にて複数の候補曲をディスプレイ１５に表示し、ステップ２６７〜２７２の処理により、選択曲の決定をふたたび行う。
【００５８】
この候補曲選択ルーチンの実行後、起動オブジェクト２００は、ステップ２４４にて前記選択曲に関する曲データの全てを内部データベース１７から読み出して、ＲＡＭ１３及びハードディスク１６に書き込む。そして、ステップ２４６にてＲＡＭ１３上にて練習計画案を作成する。この練習計画案の作成においては、前記計算した各項目のレベル差に基づいて、図１７に示すように、予め用意されている多数の練習項目の中からユーザが練習すべき項目が決定されるとともに、各項目毎の練習予定時間が計算される。ただし、図１７の表中、実施日、成功率、終了の認定及び消費時間に関しては空欄のままに保たれる。
【００５９】
次に、ステップ２４８に前記作成した練習計画案をディスプレイ１５に表示し、ステップ２５０にてディスプレイ１５を用いて前記練習計画案に対するユーザの要望を問い合わせる。そして、ステップ２５２にて、要望があれば練習計画案を前記要望に応じて修正し、要望がなければプログラムをステップ２５４に進める。ステップ２５４においては、この練習計画案をハードディスク１６内のユーザ情報記憶エリアのユーザ名に対応した箇所に練習計画データとして記憶させる。
【００６０】
一方、前記ステップ２４０にて練習中の曲が選択されれば、ステップ２５６の処理が実行される。ステップ２５６においては、前記ステップ２１８にて入力されたユーザ名に対応したユーザ情報の中の練習曲データがハードディスク１６から読み出されて、ＲＡＭ１３に書き込まれる。なお、練習曲が複数存在する場合には、ディスプレイ１５にその旨が表示され、キーボード１４を用いてユーザが選択した練習曲データがＲＡＭ１３に書き込まれる。
【００６１】
ｄ．診断オブジェクト
次に、起動オブジェクト２００のステップ２２６にて指定される診断オブジェクト５００（図７）について説明する。この場合、前記ステップ２２６の処理により、起動メッセージが発行され、このメッセージと共に診断を表すデータが条件データとして診断オブジェクト５００に送られ、また自己申告したユーザレベルを表すユーザレベルデータ及び診断時間を表す時間データも診断オブジェクト５００に送られる。
【００６２】
診断オブジェクト５００は、ステップ５０２〜５０６の処理後、前記条件データに基づいてステップ５０８〜５１２の処理を実行する。ステップ５０８の処理は、診断オブジェクトを自己指定するとともに楽譜力診断を表すデータを条件データとして起動メッセージを発行して、ステップ５１４〜５３２の処理を実行させることにより、単音読譜、複音読譜及び音部記号読譜の各診断を行うものである。ステップ５１０の処理も、診断オブジェクトを自己指定するとともに演奏技能診断を表すデータを条件データとして起動メッセージを発行して、ステップ５３４〜５６８の処理を実行させることにより、打鍵に関して右手及び左手毎に単音打鍵及び複音打鍵の各診断を行うものである。ステップ５１２の処理は、楽想記号の理解力（読譜力の一部を構成する）を診断するものである。そして、これらの各診断の終了毎に、診断オブジェクト５００は、ステップ５７０，５７２の処理を実行する。また、前記ステップ５０２〜５０６の処理は、各診断のために自己指定される毎に実行される。
【００６３】
各診断内容については後述することにして、ステップ５０２〜５０４，５７０，５７２について先に説明しておく。ステップ５０２においては、起動メッセージと共に常に送られる時間データにより表されて上位の診断項目に与えられている時間を、下位の診断項目のそれぞれに配分する。例えば、起動オブジェクト２００により診断オブジェクト５００が指定された場合には、ユーザを診断するための合計時間（例えば１０分）を読譜力、演奏技能、楽想記号理解力の各診断に所定時間（例えば４分、４分、２分）ずつ配分する。また、ステップ５０８の処理により、読譜力診断データを条件データとして起動メッセージが発行された場合には、前記読譜力診断に割り当てられた時間（例えば４分）を、単音読譜力、複音読譜力及び音部記号読譜力の各診断のために所定時間（例えば２分、１分、１分）ずつ配分する。
【００６４】
ステップ５０４においては、課金オブジェクト７００に対して実行プログラム通知メッセージを発行する。このとき、診断項目を表すデータも課金オブジェクト７００にも送られる。これにより、課金オブジェクト７００は、前記と同様に、ステップ７０４にてＲＡＭ内の単位料金データを診断に対応して予め定められている金額に設定する。したがって、タイマによる所定時間の計測毎に診断に対応した単位料金が課金データに累算されていくことになる。
【００６５】
ステップ５０６にてタイマオブジェクト６００に対してセットメッセージを発行する。この時、次の診断処理に配分されている時間を表すデータも、タイマオブジェクト６００に対して送られる。これに応答して、タイマオブジェクト６００（図８）は、ステップ６０６にて前記配分された時間を表すデータを記憶し、同時間の経過後にメッセージの発行元のオブジェクトに対してプロセス終了要求メッセージを発行する。例えば、ステップ５１４にて単音読譜力診断データを条件データとして起動メッセージが発行された際には、単音読譜力診断に配分された時間が経過しても、単音読譜力診断が終了しない場合には、タイマオブジェクト６００は、診断オブジェクト５００に対してプロセス終了要求メッセージを発行する。
【００６６】
いま、前記単音読譜力、複音読譜力、音部記号読譜力、右手及び左手の各単音打鍵及び複音打鍵、リズム表現、両手演奏及び楽想記号理解力の各診断が前記配分された時間内に終了されれば、診断オブジェクト５００は、前記各診断後、ステップ５７０の処理を実行する。ステップ５７０においては、タイマオブジェクト６００に対して開放メッセージを発行する。この開放メッセージの発行に応答して、タイマオブジェクト６００（図８）は、ステップ６０８にてプロセス終了要求メッセージを発行するための前記セットを解除する。したがって、この場合には、プロセス終了要求メッセージは発行されない。一方、診断オブジェクト５００は、ステップ５７２にて今回の診断項目のために発行された時間が残っていれば、今後行われる診断に対して前記残り時間を与える。この場合、次の診断のみに時間を与えてもよいし、今後行われる複数の診断に対して残り時間を適当に配分するようにしてもよい。
【００６７】
一方、前記各診断が配分された時間以内に完了しない場合には、前記のように、ステップ６０６の処理によりタイマオブジェクト６００が診断オブジェクト５００に対してプロセス終了要求メッセージを発行する。このメッセージの発行に応答して、診断オブジェクト５００は、現在診断中の診断項目に対する中間診断結果を表すデータがＲＡＭ１３にあるか否かにより、ステップ５７４又はステップ５７８の処理を実行する。中間診断結果があれば、ステップ５７４にて同中間診断結果をそのままにして、ステップ５７６にて進行中の診断処理を強制的に終了させて次の処理に進める。また、中間診断結果がなければ、ステップ５７８にて延長時間を設定し、ステップ５８０にてタイマオブジェクト６００に対して前記延長時間を表す時間データと共にセットメッセージを発行し、ステップ５８２にてＲＡＭ１３に終了要求フラグをセットする。これにより、タイマオブジェクト６００は、ステップ６０６の処理のために以前に指定された時間に対して前記延長時間をセットする。そして、延長時間内に前記処理中の診断結果がでれば、前述のように次の診断に移行する。
【００６８】
また、前記時間延長によっても診断結果が得られない場合には、タイマオブジェクト６００が再びプロセス終了要求メッセージを発行する。しかし、この場合には、前記ステップ５８２の処理により終了要求フラグがセットされているために、診断オブジェクト５００は、ステップ５８４にて最低点（例えば０点）を診断結果としてＲＡＭ１３に一時記憶する。そして、ステップ５８６にて、終了要求フラグをクリアしておく。
【００６９】
ｄ−１．読譜力診断
次に、読譜力診断について説明する。起動オブジェクト２００によって条件データとして診断を表すデータと共に起動メッセージが供給されて、診断オブジェクト５００が、前述のステップ５０２〜５０６の処理の実行後、ステップ５０８にて自己のオブジェクト５００に対して起動メッセージを発行する。この場合、前記メッセージと共に、読譜力診断を表すデータが条件データとして送られるとともに、ユーザレベル（初級、中級、上級）及び前記読譜力診断のために配分された時間を表す時間データも送られる。この起動メッセージの発行に応答して、診断オブジェクト５００は、前述したステップ５０２〜５０４の処理の実行後、ステップ５１４にて自己のオブジェクト５００に対して起動メッセージをふたたび発行する。この場合、前記メッセージと共に、単音読譜力診断を表すデータが条件データとして送られるとともに、ユーザレベル（初級、中級、上級）及び前記単音読譜力診断のために配分された時間を表す時間データも送られる。この起動メッセージの発行に応答して、診断オブジェクト５００は、再び前述したステップ５０２〜５０６の処理の実行後、条件データである単音読譜力診断を表すデータに基づいてステップ５２０の処理を実行する。
【００７０】
ステップ５２０においては、幹音のみで構成されていて予め用意された単音からなる音符列がディスプレイ１５上に表示される。ユーザは、ディスプレイ１５上の音符列を見ながら、電子楽器２５にて前記音符列に応じた鍵を順次押していく。そして、診断オブジェクト５００は、前記表示した音符列と押鍵された鍵とを比較して、その正確さを幹音読譜力の診断結果としてＲＡＭ１３に一時記憶しておく。次に、診断オブジェクト５００は、ステップ５２２にて、派生音を含む予め用意された単音からなる音符列をディスプレイ１５上に表示して、前記と同様にして派生音に関する押鍵の正確さにより派生音読譜力の診断結果をＲＡＭ１３に一時的に記憶しておく。次に、診断オブジェクト５００は、ステップ５２４にて、４分音符、８分音符などの各種符長の音符と４分休符、８分休符などの各種符長の休符の混じった予め用意された単音からなる音符列をディスプレイ１５上に表示して、ユーザによる押鍵タイミングと前記音符列の符長との比較によりリズム読譜力を診断してその結果をＲＡＭ１３に記憶しておく。なお、診断の精度を上げるために、前記表示される各音符列は、供給されたユーザレベルデータが初級から上級を示すにしたがって難しいものになる。
【００７１】
前記ステップ５２４の処理後、診断オブジェクト５００は、ステップ５７０，５７２の処理を経てステップ５１６の処理を実行する。ステップ５１６においては、自己のオブジェクト５００に対して複音読譜力診断を表すデータを条件データとして起動メッセージを発行する。この場合も、ユーザレベルデータ（初級、中級、上級）及び前記複音読譜力診断のために配分された時間を表す時間データも前記メッセージと同時に送られる。このように、診断オブジェクト５００の一つの処理により自己のオブジェクト５００を指定して診断の項目を下層に下げていく場合には、ユーザレベルデータ及び時間データが必ず送られるので、説明の重複を避けるために、以下の説明ではこれらのデータの転送についての説明を省略する。また、後述する各診断処理においても、前記ユーザレベルデータに応じて異なる課題が与えられるが、この点についても説明を省略する。
【００７２】
前記複音読譜力診断を表すデータを条件データとした起動メッセージの発行に応答して、診断オブジェクト５００は、前記ステップ５０２〜５０６の処理後、ステップ５２６の処理を実行する。このステップ５２６の処理は、複音の読譜力を診断するもので、前記単音読譜力の診断を複音を同時に押鍵する診断に換えただけであるので、詳しい説明を省略する。
【００７３】
前記ステップ５２６の処理後、診断オブジェクト５００は、ステップ５７０，５７２の処理を経て、ステップ５１８の処理を実行する。ステップ５１８においては、自己のオブジェクト５００に対して音部記号読譜力を表すデータを条件データとして起動メッセージを発行する。この起動メッセージの発行に応答して、診断オブジェクト５００は、前記ステップ５０２〜５０６の処理後、前記条件データである音部記号を表すデータに基づいてステップ５２８〜５３２の処理を実行する。
【００７４】
ステップ５２８の処理はト音記号の読譜力を診断するもので、跳躍を含む音符列により構成されていて予め用意されたト音記号で書かれた音符列がディスプレイ１５上に表示される。ユーザは、ディスプレイ１５上の音符列を見ながら、電子楽器２５にて前記音符列に応じた鍵を順次押していく。そして、診断オブジェクト５００は、前記表示した音符列と押鍵された鍵とを比較して、その正確度をト音記号読譜力の診断結果としてＲＡＭ１３に一時記憶しておく。次に、ステップ５３０，５３２において、ヘ音記号及びハ音記号に対して前記同様な診断を行う。前記ステップ５３０，５３２の処理後、ステップ５７０，５７２の処理を経て読譜力の診断を終了する。
【００７５】
ｄ−２．演奏技能診断
次に、演奏技能診断について説明する。前記読譜力の診断の終了後、診断オブジェクト５００は、ステップ５１０にて、自己のオブジェクト５００に対して演奏技能診断を表すデータを条件データとして起動メッセージを発行する。この起動メッセージの発行に応答して、診断オブジェクト５００は、前記ステップ５０２〜５０６の処理後、ステップ５３４の処理を実行する。ステップ５３４においては、診断オブジェクト５００は、自己のオブジェクト５００に対して打鍵診断を表すデータを条件データとして起動メッセージを発行する。これに応答して、診断オブジェクト５００は、前記ステップ５０２〜５０６の処理後、ステップ５４０の処理を実行する。ステップ５４０においては、診断オブジェクト５００は、自己のオブジェクト５００に対して右手の打鍵診断を表すデータを条件データとして起動メッセージを発行する。これに応答して、診断オブジェクト５００は、前記ステップ５０２〜５０６の処理後、ステップ５４４の処理を実行する。ステップ５４４においては、診断オブジェクト５００は、自己のオブジェクト５００に対して右手の単音打鍵診断を表すデータを条件データとして起動メッセージを発行する。これに応答して、診断オブジェクト５００は、ステップ５０２〜５０６の処理後、ステップ５４８〜５５２の診断処理を実行する。
【００７６】
ステップ５４８の処理は、指力の均等性を診断するもので、ピアノｐ、メゾフォルテｍｆ、フォルテｆなどの強弱記号のついた音符列をディスプレイ１５に表示するとともに、表示した音符列の強弱と電子楽器２５における鍵タッチとを比較して均等性の診断を行い、診断結果をＲＡＭ１３に一時記憶する。ステップ５５０の処理は、どの程度速いテンポまで演奏できるかの敏捷性を診断するもので、簡単な音符列のテンポ表示を異ならせてディスプレイ１５に表示するとともに、表示された音符列と電子楽器２５にて押鍵された鍵の比較による押鍵の正確さにより敏捷性の診断を行い、診断結果をＲＡＭ１３に一時記憶する。ステップ５５２の処理は、上昇及び下降する音符に対する方向順応性を診断するもので、指くぐりを必要とするとともに上昇及び下降する音符列をディスプレイ１５に表示し、表示した音符列と電子楽器２５にて押鍵された鍵との比較による押鍵の正確さ、特に上昇及び下降への切り換え点の正確さにより方向順応性の診断を行い、診断結果をＲＡＭ１３に一時記憶しておく。なお、これらの診断においては、表示される音符列は単音列で構成されている。
【００７７】
これらのステップ５４８〜５５２の診断が終了すると、診断オブジェクト５００は、ステップ５７０，５７２の処理を経てステップ５４６の処理を実行する。ステップ５４６においては、自己のオブジェクト５００に対して右手の複音打鍵診断を表すデータを条件データとして起動メッセージが発行される。この起動メッセージに応答して、診断オブジェクト５００は、ステップ５０２〜５０６の処理後、ステップ５５４，５５６の診断処理を実行する。ステップ５５４の処理は、複音の指力均等性を診断するもので、和音を構成する複数の音符と各音符に対応して指番号を順次ディスプレイ１５に表示して、電子楽器２５にて押鍵された各鍵（各指）の鍵タッチの相違をチェックして前記均等性の診断を行い、同診断結果をＲＡＭ１３に一時記憶しておく。ステップ５５６の処理は、どの程度離れた音高の押鍵まで可能であるかの手の伸長性を診断するもので、音高の離れた複数の音符と各音符に対応して指番号を順次ディスプレイ１５に順次表示して、電子楽器２５にてユーザが押鍵可能であるかの診断を行い、同診断結果をＲＡＭ１３に一時記憶しておく。
【００７８】
これらのステップ５５４，５５６の終了後、診断オブジェクト５００は、ステップ５７０，５７２の処理を経てステップ５４２の処理を実行する。ステップ５４２においては、自己のオブジェクト５００に対して左手の打鍵診断を表すデータを条件データとして起動メッセージを発行する。この起動メッセージに応答して、診断オブジェクト５００は、ステップ５０２〜５０６の処理後、ステップ５５８の診断処理を実行する。ステップ５５８の処理は、ステップ５４４〜５５６の全ての処理を左手に置き換えたものであるので、説明を省略する。これにより、左手に関しても、前記右手の場合と同様に打鍵診断結果がＲＡＭ１３に一時記憶される。
【００７９】
このステップ５５８の処理後、診断オブジェクト５００は、ステップ５７０，５７２の処理を経てステップ５３６の処理を実行する。ステップ５３６においては、自己のオブジェクト５００に対してリズム診断を表すデータを条件データとして起動メッセージを発行する。この起動メッセージに応答して、診断オブジェクト５００は、ステップ５０２〜５０６の処理後、ステップ５６０〜５６４の診断処理を実行する。ステップ５６０の処理は、４連符系のリズム表現能力を診断するもので、４連符系の音符列を順次ディスプレイ１５に表示して、電子楽器２５にて押鍵されたタイミングの正確さの診断を行い、同診断結果をＲＡＭ１３に一時記憶しておく。ステップ５６２の処理は、前記４連符系を３連符に換えたものである。ステップ５６４の処理は、シンコペーションなどの変拍子リズムの表現能力を診断するもので、前記変拍子のついた音符列をディスプレイ１５に表示して、電子楽器２５にて押鍵されたタイミングの正確さの診断を行い、同診断結果をＲＡＭ１３に一時記憶しておく。
【００８０】
このステップ５６４の処理後、診断オブジェクト５００は、ステップ５７０，５７２の処理を経て、ステップ５３８の処理を実行する。ステップ５３８においては、自己のオブジェクト５００に対して両手演奏診断を表すデータを条件データとして起動メッセージを発行する。この起動メッセージに応答して、診断オブジェクト５００は、ステップ５０２〜５０６の処理後、ステップ５６６，５６８の診断処理を実行する。ステップ５６６の処理は、どの程度両手を連携させて演奏できるかを診断するもので、両手演奏のための複数列の音符列をディスプレイ１５に表示し、電子楽器２５における押鍵の正確さを診断して、同診断結果をＲＡＭ１３に一時記憶しておく。ステップ５６８の処理は、左手と右手で異なるリズムの演奏が可能かを診断するもので、異なるリズムの２つの音符列をディスプレイ１５に表示し、電子楽器２５にて押鍵の正確さを診断して、同診断結果をＲＡＭ１３に一時記憶しておく。そして、診断オブジェクト５００は、ステップ５７０，５７２の処理を経て、演奏診断を終了する。
【００８１】
ｄ−３．楽想記号理解力診断
次に、楽想記号理解力診断について説明する。前記演奏技能の診断の終了後、診断オブジェクト５００は、ステップ５１２にて楽想記号理解力の診断処理を行う。この診断処理は、クレッシェンド、ディミニエンドなどの楽想記号及び同記号に対する複数種類の説明をディスプレイ１５に表示して、ユーザにキーボード１４を用いて正解を選択させる。そして、複数の出題の正解率を診断結果としてＲＡＭ１３に一時記憶する。そして、診断オブジェクト５００は、ステップ５７０，５７２の処理を経て、楽想記号理解力診断を終了する。
【００８２】
ｅ．レッスン内容決定オブジェクト
次に、レッスン内容決定オブジェクト３００（図５）について、詳細に説明する。このレッスン内容決定オブジェクト３００は、図２のステップ１０６にて指定されるとともに作成開始メッセージを受けて処理を開始するもので、ステップ３０２，３０４にてウォーミングアップ及び復習の各要否の問い合わせをディスプレイ１５に表示するとともに、ユーザによるキーボード１４からの回答を入力する。次に、ステップ３０６にて、予め定められた基準により、ウォーミングアップ及び復習の各要否の問い合わせ結果と、ハードディスク１６に記憶されている練習計画データの今回の練習時間とに基づいて今回の練習予定テーブルをＲＡＭ１３上に作成する。この練習予定テーブルは、図１９に示すように、練習計画の今回の練習時間をウォーミングアップ、復習及び練習曲の演奏練習にそれぞれ割り当てたものである。なお、ウォーミングアップ及び復習の各要否の問い合わせの結果、ウォーミングアップ又は復習が必要ないという回答であれば、その項目の数値が「０」に設定される。
【００８３】
そして、レッスン内容決定オブジェクト３００は、ステップ３０８，３１０にて、前記練習予定テーブルの内容をディスプレイ１５に表示するとともに、同テーブルの練習内容に関するユーザの要望をディスプレイ１５上にて問い合わせる。そして、キーボード１４から入力されるユーザの要望に応じて、練習予定テーブルの内容を修正してレッスン内容オブジェクトの処理を終了する。また、ユーザがディスプレイ１５に提示された練習予定に納得した場合には、練習予定テーブルの修正は行われない。
【００８４】
ｆ．レッスンオブジェクト（起動及びプロセス終了要求）
次に、メインプログラム（図２）のステップ１１０にて指定されるレッスンオブジェクト４００（図６）について説明する。前記ステップ１１０の処理により、起動メッセージが発行されるとともに、ウォーミングアップ、復習及び練習曲を表すデータのいずれかが条件データとして送られると、レッスンオブジェクト４００は、ステップ４０２にて課金オブジェクト７００に対して実行プログラム通知メッセージを発行する。このとき、レッスンオブジェクト４００はレッスンを行うことを表すデータも課金オブジェクト７００に送る。これにより、課金オブジェクト７００は、前記と同様に、ステップ７０４にてＲＡＭ内の単位料金データを診断に対応して予め定められている金額に設定する。したがって、課金オブジェクト７００は、タイマオブジェクト６００による所定時間の計測毎にレッスンに対応した単位料金を課金データに累算していくことになる。
【００８５】
次に、レッスンオブジェクト４００は、ステップ４０４にてタイマオブジェクト６００に対してセットメッセージを発行する。この時、条件データとして指定されているウォーミングアップ、復習又は練習曲を表すデータに応じて、前記練習予定テーブル（図１９）内の練習時間を表すデータが時間データとして、タイマオブジェクト６００に対して送られる。これに応答して、タイマオブジェクト６００は、ステップ６０６にて前記送られた時間データを記憶し、同時間により表された時間の経過後に、メッセージの発行元のオブジェクト（レッスンオブジェクト４００）に対してプロセス終了要求メッセージを発行する。
【００８６】
前記ステップ４０４の処理後に、条件データとしてウォーミングアップを表すデータが与えられていれば、ステップ４０６の処理を実行する。条件データとして復習を表すデータが与えられていれば、ステップ４０８の処理を実行する。また、条件データとして練習曲を表すデータが与えられていれば、ステップ４１０〜４１８からなる練習曲による練習処理を実行する。
【００８７】
ステップ４０６においては、ディスプレイ１５に単純な音符列（例えば、単純に音高が上昇又は下降する複数の音符からなる音符列）が表示されるとともに同表示音符列に対応した演奏をすることが指示され、ユーザは電子楽器２５を用いて前記表示音符列に応じた演奏をウォーミングアップに配分された時間だけ行う。また、ステップ４０８においては、練習計画データ（図１７）より前回の練習内容の一部を抽出して、ディスプレイ１５にその内容を表示し、ユーザは電子楽器２５を用いて前記表示に応じた演奏練習を復習練習に配分された時間だけ行う。
【００８８】
ステップ４１０においては、練習曲の練習のために配分された時間をさらに下位の読譜練習及びメトロノームステップ練習からなる各練習項目にそれぞれ配分する。次に、レッスンオブジェクト４００はステップ４１２にて自己のオブジェクト４００に対して読譜練習を表すデータを条件データとして起動メッセージを発行する。このメッセージの発行により、前述したステップ４０２，４０４の処理後、ステップ４１６にて図１１，１２のフローチャートに従ってユーザに読譜練習を行わせる。この読譜練習の処理後、後述するステップ４２０，４２２の処理を経て、ステップ４１４の処理を実行する。このステップ４１４においては、レッスンオブジェクト４００は自己のオブジェクト４００に対してメトロノームステップ練習を表すデータを条件データとして起動メッセージを発行する。このメッセージの発行により、前述したステップ４０２，４０４の処理後、ステップ４１８にて図１３，１４のフローチャートに従ってユーザにメトロノームステップ練習を行わせる。なお、前記読譜練習及びメロトノームステップ練習については詳しく後述する。
【００８９】
前記ウォーミングアップ、復習又は練習曲（読譜及びメトロノームステップ）の各練習処理後、ステップ４２０にてタイマオブジェクト６００に対して開放メッセージを発行し、ステップ４２２にてタイマスケジュール調整を行う。前記練習処理がウォーミングアップ又は復習であれば、これらの練習は配分された時間だけ行われるので、前記タイマオブジェクト６００によるセット処理及び前記タイマスケジュール調整は実質的には意味がなくなる。一方、前記練習処理が練習曲に関するものであれば、前述した診断オブジェクト５００の場合と同様な意味をもつ。すなわち、練習曲の各種練習が配分された時間以内に終了すれば、ステップ４２８にてタイマオブジェクト６００のセット状態が解除され、またステップ４３０にて今後の練習に残りの時間が配分される。
【００９０】
しかし、前記配分された時間が経過しても、練習曲の各種練習が終了されない場合には、前記診断オブジェクト５００の場合と同様に、タイマオブジェクト６００がレッスンオブジェクト４００を指定してプロセス終了要求メッセージを発行する。このメッセージの発行に応答して、レッスンオブジェクト４００は、現在練習中の内容に対する中間評価結果（採点結果）を表すデータがＲＡＭ１３にあるか否かにより、ステップ４２４又はステップ４２８の処理を実行する。中間診断結果があれば、ステップ４２４にて同中間評価結果をそのままにして、ステップ４２６にて練習中の内容を強制的に終了させて次の処理に進める。また、中間評価結果がなければ、ステップ４２８にて延長時間を設定し、ステップ４３０にてタイマオブジェクト６００に対して前記延長時間を表す時間データと共にセットメッセージを再び発行し、ステップ４３２にて終了要求フラグをセットする。
【００９１】
ｆ−１．読譜練習
図１１，１２の読譜練習ルーチンについて説明する。このルーチンは、レッスンオブジェクト（図６）のステップ４１６にて実行されるものであり、ステップ８００にて開始され、ステップ８０２にて練習範囲が指定される。この練習範囲の指定においては、まずハードディスク１６内の練習計画データの該当箇所から今回の練習内容を読み出し、同内容に基づいてＲＡＭ１３に記憶させた練習曲データの最初のフレーズ（図２０の▲１▼）を指定する。そして、このステップ８０２の処理が実行される毎に、練習曲データの次のフレーズ（図２０▲２▼▲３▼…）が順次指定される。なお、練習内容が特殊リズム部分であれば、特殊なリズム部分（例えば、図２０の特殊リズム▲１▼▲２▼）を順次指定する。
【００９２】
次に、レッスンオブジェクト４００は、ステップ８０４にて、前記練習内容を表すデータ、練習曲データ中の楽譜データ及び演奏データに基づいてディスプレイ１５上に前記指定範囲の楽譜を表示する。この場合、例えば練習内容が音階練習（図１７のＳＴＥＰ１）であれば、練習曲データ中の演奏データに基づいて指定範囲に登場する音高の音符列を抽出した新たな演奏データを作成して、同演奏データに対応した音符列をディスプレイ１５に表示する。また、練習内容が右手演奏、左手演奏又は両手演奏ならば、前記指定範囲であって右手演奏部分（メロディ部分）、左手演奏部分（伴奏部分）又は全ての演奏部分を練習曲データの楽譜データ中から抜き出してディスプレイ１５上に表示する。さらに、練習内容が特殊リズム部分であれば、特殊なリズム部分（例えば、図２０の特殊リズム▲１▼▲２▼）が練習曲データの楽譜データ中から抜き出してディスプレイ１５上に表示する。この場合、運指データに基づいて、運指も表示するとよい。
【００９３】
次に、レッスンオブジェクト４００は、ステップ８０６にて、前記ディスプレイ１５に表示されている音符列に対応した前記新たに作成された演奏データ又は前記ディスプレイ１５にて表示されている楽譜に対応した前記練習曲データ中の演奏データを電子楽器２５に供給する。電子楽器２５は、前記供給された演奏データに基づいて楽音を発生して、ユーザに対して模範演奏音を聴かせる。コンピュータ装置内に楽音信号発生回路を内蔵しているものであれば、同楽音信号発生回路を用いて模範演奏音を発生させるようにしてもよい。次に、レッスンオブジェクト４００は、ステップ８０８にてユーザに対して演奏練習開始の指示をディスプレイ１５を介して行うとともに、ＣＰＵ１１に内蔵したタイマによる時間計測を開始させる。
【００９４】
そして、レッスンオブジェクト４００は、ステップ８１０にてディスプレイ１５に表示されている楽譜上にて次に演奏すべき音符を指示し、ステップ８１２にて電子楽器２５における押鍵を待つ。ユーザが電子楽器のいずれかの鍵を押鍵すれば、ステップ８１２における「ＹＥＳ」との判定のもとに、ステップ８１４にてＲＡＭ１３に押鍵された鍵に対応した音高データを押鍵列データに書き込む。次に、ステップ８１６にて終了要求フラグが”１”であるか否かを判定し、ステップ８１８にて押鍵された鍵が前記ステップ８１０により指示された音符に対応したものであるか否かを判定する。終了要求フラグは通常”０”に設定されているので、プログラムはステップ８１８に進められ、正しい押鍵であれば、ステップ８２０にてＲＡＭ１３に押鍵された鍵に対応した音高データを正答押鍵列データに書き込む。そして、ステップ８２２にて指定範囲の練習を終了した否かを判定する。
【００９５】
指定範囲の練習を終了していなければ、ステップ８２２にて「ＮＯ」と判定して、前記ステップ８１０〜８２２からなる処理が前記指定範囲の練習終了まで続けられる。この繰り返し処理中、指定範囲の押鍵列データ及び正答押鍵列データが順次形成されていく。一方、前記ステップ８１０〜８２２の繰り返し処理中に、ユーザにより誤った鍵が押鍵されてステップ８１８にて「ＮＯ」と判定されると、レッスンオブジェクト４００はステップ８３４以降の処理を実行する。
【００９６】
ステップ８３４においては、間違い総数を計測するために間違い総数データを「１」だけアップする。次に、ステップ８３６に前記間違いが連続したものであるか否かを判定し、連続したものでなければ、プログラムをステップ８４２に進める。一方、前記間違いが連続したものであれば、ステップ８３８にて押鍵された鍵と演奏すべき音符との比較により間違い内容が解析され、ステップ８４０にて間違い内容及び同間違い対する適当な指示がディスプレイ１５に表示される。例えば、＃，ｂの記号が付いた音符に対して、＃，ｂの記号が付かない音高に対応した鍵を押鍵した場合に、＃，ｂの記号付きの音符であること、同＃，ｂの記号の意味などを説明する。これにより、ユーザは次の演奏で間違わないように対処できる。
【００９７】
ステップ８４２においては、間違い総数データに基づいて間違い総数が予め決めた規定値を超過したか否かを判定する。間違い総数が規定値を超過していれば、プログラムを後述するステップ８４４以降へすすめる。間違い総数が規定値を超過していなければ、プログラムをステップ８１２に戻し、ステップ８１２にて新たな押鍵を待つ。このようなステップ８１０〜８２２，８３４〜８４２からなる処理により、間違い押鍵を含む押鍵列データ及び正答押鍵列データが順次形成され、指定範囲の全ての正答押鍵が終了すると、レッスンオブジェクト４００はステップ８２２にて「ＹＥＳ」と判定して、ステップ８２４にて押鍵列データに対する正答押鍵列データのデータ数の比を正答率として計算し、ステップ８２６にてディスプレイ１５の音符列又は楽譜に押鍵列データと正答押鍵列データとの比較によって間違い箇所を表示する。
【００９８】
次に、ステップ８２８にて終了要求フラグが”１”であるか否かを判定するが、終了要求フラグは通常は”０”に設定されているので、プログラムはステップ８３０に進められる。ステップ８３０においては、前記計算した正答率が所定率（例えば８０％）を越えているか否かを判定する。正答率が前記所定率を越えていなければ、プログラムをステップ８０６に戻し、前回と同一の指定範囲の押鍵練習を繰り返し行うことになる。一方、正答率が前記所定率以上であれば、プログラムをステップ８３２に進めて、同ステップ８３２にて練習曲の指定されるべき全範囲を終了したか否かを判定する。全範囲が終了していなければ、プログラムをステップ８０２に戻し、次の指定範囲を決定して、前記場合と同様にユーザに押鍵練習を行わせる。
【００９９】
また、全範囲が終了していれば、ステップ８４８にて各指定範囲の正答率、試行回数、所用時間などを曲データ中の演奏データと比較して練習結果を採点し、同採点結果をＲＡＭ１３上に設けた達成度テーブル（図２１）に書き込む。この読譜練習においては、読譜力に重点がおかれて採点されて、幹音及び派生音の正確さ、音部記号、複音記号、両手コンビネーションなどの欄に点数が記入される。
【０１００】
次に、前記ステップ８４２にて間違い総数が規定値を超過していると判定された場合について説明する。この場合、レッスンオブジェクト４００は、ステップ８４４にて再挑戦とレッスン中止とのいずれかを選択することをディスプレイ１５に表示し、ユーザにいずれか一つを選択させる。ユーザが再挑戦を選択すれば、ステップ８４６の処理によりプログラムをステップ８０６に戻し、指定範囲の模範練習から再開される。一方、ユーザがレッスン中止を選択すれば、ステップ８４６の処理によりプログラムをステップ８４８に進める。
【０１０１】
また、前記レッスンオブジェクト４００による読譜練習中に、同オブジェクト４００によりプロセス終了要求メッセージに応答して前記ステップ４３２にて終了要求フラグが”１”にセットされた場合について説明する。この場合、ステップ８１６，８２８にて共に「ＹＥＳ」と判定されるために、演奏練習が中断されてプログラムをステップ８４８に進める。これらの間違い総数の増大又はプロセス終了要求メッセージによる場合には、前記ステップ８４８の点数は悪い値に設定される。そして、ステップ８５０にて、この読譜練習ルーチンの実行を終了する。
【０１０２】
ｆ−２．メトロノームステップ練習
図１３，１４のメトロノームステップ練習ルーチンについて説明する。このルーチンは、レッスンオブジェクト（図６）のステップ４１８にて実行されるものである。このメトロノームステップ練習ルーチンは、前述した図１１，１２の読譜練習ルーチンにテンポを加味したもので、大半部分が読譜練習ルーチンと同じであるので、同一部分について同一符号を付して説明を省略し、異なる部分についてのみ説明する。
【０１０３】
メトロノームステップ練習ルーチンの実行はステップ８６０にて開始され、レッスンオブジェクト４００はステップ８６２にて練習曲のテンポ（演奏データの一部として記憶）を練習計画データのうち今回の練習内容に応じて補正し、同補正したテンポで４分音符毎に基準テンポ音を発生し始める。したがって、練習者はこのテンポ音を聴きながら演奏練習することになる。その後のステップ８０２〜８１６については、読譜練習ルーチンと同じである。ステップ８６４においては、読譜練習ルーチンとは異なり、音高の一致ばかりではなく、押鍵のタイミングが演奏されるべきタイミングの許容範囲内であるか否かも考慮にいれて正答押鍵か否かが判定される。なお、このタイミングの判定は、ステップ８０８にて開始されたタイマによる計測時間と、曲データ中の演奏データを練習計画データのうちの今回の練習内容（テンポ）で補正した値とを比較することにより行われる。
【０１０４】
また、ステップ８２０以降の処理も読譜練習ルーチンの場合と同じであるが、同ルーチン８３６〜８４０の処理が省略されている。これは、間違った鍵が連続して押鍵されても演奏を中断しないようにしたものである。
【０１０５】
また、ステップ８４８の達成度テーブルへの書き込みにおいては、リズムに重点が置かれ、速さ、リズム表現、両手コンビネーションなどの欄に採点が記入されるとともに、前記読譜練習とメトロノームステップ練習の合計の達成時間も記入される。
【０１０６】
ｇ．レッスンオブジェクト（終了）
次に、メインプログラム（図２）のステップ１１４にて指定されるレッスンオブジェクト４００（図６）について説明する。前記ステップ１１４の処理により、レッスンオブジェクト４００が指定されるとともに終了メッセージが発行されると、同オブジェクト４００はステップ４３４以降の処理を実行する。
【０１０７】
ステップ４３４においては、練習結果に基づいて、ハードディスク１６の練習計画データに、実施日、成功率、成功率が所定点数以上であれば終了記号及び消費時間が書き加えられる。この場合、成功率は、達成度テーブル内容に基づいて、練習計画データの練習内容に関係した演奏練習に重きをおいて計算される。例えばテンポの遅い練習は、幹音及び派生音の正確さ、音部記号、調号、両手コンビネーションに重きがおかれる。また、通常テンポの演奏練習の場合には、幹音及び派生音の押鍵速さ、リズム表現、両手コンビネーションに重きがおかれる。消費時間は、達成度テーブルに記憶されている前記読譜練習及びメトロノームステップ練習との合計時間である。
【０１０８】
次に、ステップ４３６にてハードディスク１６内のユーザモデルデータが更新される。この場合、前記達成度テーブルを参照するとともに、曲データの属性データを参照して、達成度が属性データの要求レベルを越えている各項目について、属性データ内の標準時間と達成度テーブル内の達成時間とにより計算した値を前記各項目毎に変更する。この変更される値は、例えば（定数×（標準時間−達成時間）／標準時間）により計算された値に、ユーザモデルデータの各項目データを加算した値である。
【０１０９】
次に、レッスンオブジェクト４００は、ステップ４３８にて練習成果をディスプレイ１５上に表示する。この場合、読譜練習及びメトロノームステップ練習において、今回の練習で間違いの多い箇所及び評価をディスプレイ１５に表示するとともに、同箇所の演奏に対するコメント及び評価の悪い点を克服するためのコメントなどをディスプレイ１５に表示する。表示される評価及びコメントは、予め用意された多数の評価及びコメントの中から適当なものが選択される。そして、ステップ４４０にて宿題を表示する。この場合、前記間違いの多い箇所、前記コメントに対応した練習課題がディスプレイ１５に表示される。
【０１１０】
次に、レッスンオブジェクト４００は、ステップ４４２にてＲＡＭ１３上に記憶されている課金データにより表された金額をディスプレイ１５に表示するとともに、同課金データをハードディスク１６に該当するユーザ情報の課金データとして格納しておく。これらのハードディスク１６上の課金データ、練習計画データ、ユーザモデルデータなどは、ホストコンピュータ２２に通信回線を介して取り込まれて、同コンピュータ２２によって課金の徴収及びコメントの発信に利用される。
【０１１１】
Ｂ．第２実施形態
次に、本発明の第２実施形態について説明すると、同実施形態の構成も図１に示すように構成されている。
【０１１２】
ただし、この第２実施例においては、ハードディスク１６のプログラム記憶エリアには、図２２〜２６に示すフローチャートに対応したプログラムが記憶される。ハードディスク１６のユーザ情報記憶エリアには、図２７に示すように、このコンピュータ装置を利用する各ユーザ（演奏練習者）に関するユーザ情報ｉ（ｉ＝１〜ｎ）が記憶される。
【０１１３】
ユーザ情報ｉは、ユーザ名データ、教授方法データ、練習計画データ、ユーザモデルデータ及び練習曲データからなる。ユーザ名データは、ユーザの名前を表すデータである。教授方法データは、詳しくは後述するが、予め用意された複数の教授方法（教師）のうちユーザが選んだ一つの教授方法（教師）を表すデータである。練習計画データは、図２８に示すように、テーブルの形で記憶されており、一つの練習曲の演奏を習得するために必要な複数の練習内容（各種テンポの右手、左手、両手演奏練習など）を時系列的に表すデータと、前記各練習内容の終了の有無を表すデータとからなる。ユーザモデルデータは、この第２実施形態に係る発明には直接関係しないので詳しい説明を省略するが、診断、練習結果などに基づいて形成されたユーザの演奏レベルを表すデータである。
【０１１４】
練習曲データは、練習中の曲に関するデータであって、曲名データ、楽譜データ、演奏データ、運指データ及び属性データからなる。曲名データは楽曲名を表すものである。楽譜データは、この楽曲に関する五線譜上の各音符、休符などをディスプレイ１５に視覚表示するためのイメージデータである。演奏データは、この楽曲の演奏テンポを表すデータ、及び各音符の音高、符長、休符などを表す楽曲の進行に従ったデータからなる。運指データは、この楽曲の各音符を押鍵すべき手及び指を表すデータである。属性データは、この楽曲を演奏するために必要な演奏レベルを表すデータ、楽曲の種類及び特徴を表すデータなどからなる。
【０１１５】
また、内部データベース１７には、通常の練習曲（以下、一般練習曲という）として選択される多数の楽曲にそれぞれ対応した多数組の曲データ（以下、一般曲データという）と、特定の課題に対する練習曲（以下、特定練習曲という）として選択される多数の楽曲又は楽曲の一部にそれぞれ対応した多数組の曲データ（以下、特定曲データという）とに分けて記憶されるようになっている。特定練習曲は、４小節又は８小節程度の短いものであって一般練習曲の演奏練習における特定の課題を克服するために用意されたもので、特に特定曲データの付属データには前記特定の課題を表すデータが含まれている。ただし、特に区別することなく練習曲及び曲データという場合には、一般練習曲及び特定練習曲の両者を指すとともに、一般曲データ及び特定曲データの両者を指す。各曲データは、前述した曲名データ、楽譜データ、演奏データ、運指データ及び属性データ（図２７参照）によりそれぞれ構成されている。
【０１１６】
また、このコンピュータ装置においても、フレキシブルディスク２３及びコンパクトディスク２４は外部記録装置として利用されるもので、前述した図２２〜２６のプログラムを予め記録しておき、ハードディスク１６へ前記プログラムをインストールするために利用される。
【０１１７】
このように構成した音楽教習システムにおいても、ＣＰＵ１１がＲＯＭ１２に記憶されたプログラム（図示しない）及びハードディスク１６などに記憶された前述したプログラムを実行することにより作動する。この作動前には、図示しないプログラムの実行により、フレキシブルディスク２３又はコンパクトディスク２４に予め記録又は記憶されている前記プログラムの一部又は全部をハードディスク１６にインストールするとともに、外部データベース２１、フレキシブルディスク２３又はコンパクトディスク２４内に記憶されている曲データを内部データベース１７に転送するようにする。
【０１１８】
そして、ユーザが図２２のメインプログラムを起動させると、ＣＰＵ１１は図２２のステップ１１００にてメインプログラムの実行を開始する。
【０１１９】
前記メインプログラムの実行開始後、ＣＰＵ１１は、ステップ１１０２にてディスプレイ１５にてユーザ名の問い合わせを表示して、ユーザによるユーザ名の入力を待つ。ユーザがキーボード１４を用いてユーザ名を入力すると、ＣＰＵ１１はハードディスク１６内のユーザ情報記憶エリアを検索して、新規なユーザであるか登録済みのユーザであるかを判定して、新規のユーザであれば前記ユーザ情報記憶エリアに一人分のユーザ情報の記憶エリアをそれぞれ確保するとともに、ユーザ名を同記憶エリアに書き込む。一方、登録済みのユーザであれば、ハードディスク１６から該当するユーザ情報中の練習曲データのみをＲＡＭ１３に転送しておく。
【０１２０】
次に、ＣＰＵ１１は、ステップ１１０４にて一般練習曲を選択し、ステップ１１０６にて教授方法を選択し、ステップ１１０８にて練習計画データを作成する。これらのステップ１１０４〜１１０８の処理においては、前記入力されたユーザ名が新規であったり、練習計画データが全ての練習内容の終了を表していたり、ユーザが特に一般練習曲の変更をキーボード１４を用いて入力した場合に、ＣＰＵ１１は、前記一般練習曲の選択処理、教授方法の選択処理及び練習計画データの作成処理をそれぞれ行う。一方、ユーザ名が登録済みであって練習計画データが全ての練習内容の終了を表しておらず、かつユーザが特に一般練習曲の変更を要求していなければ、ＣＰＵ１１はそれぞれプログラムを次のステップに進める。
【０１２１】
一般練習曲の選択処理においては、内部データベース１７内の多数組の一般曲データの中からユーザの意志を考慮して一組の一般曲データを取り出し、ハードディスク１６及びＲＡＭ１３の該当エリアにそれぞれ記憶する。前記内部データベース１７からの一般曲データの取り出しにおいては、内部データベース１７内に記憶されている多数組の曲データ中の各曲名データにより表された各曲名がディスプレイ１５に順次表示されて、ユーザがキーボード１４を用いて所望の曲名を選択することにより行われる。この場合、内部データベース１７内に莫大な組数の一般曲データが記憶されている場合には、ユーザの好みが問い合わせられたり、ユーザモデルデータ（ユーザの演奏レベルを表す）が読み出されて、前記ユーザの好み又は演奏レベルと一般曲データ中の属性データにより表された必要演奏レベル及び楽曲の種類とが比較されて、少数組の一般曲データが候補として選択された後で、ユーザが前記少数組の一般曲データの中から選ぶようにする。また、ユーザが曲名を指定して、内部データベース１７の一般曲データを指定するようにしてもよいし、ＣＵＰ１１がランダム性を加味して前記内部データベース１７内の全ての一般曲データの中から、又は前記候補とした選択した少数の一般曲データの中から選択するようにしてもよい。
【０１２２】
教授方法の選択処理においては、ＣＰＵ１１が複数の教授方法（教師）をディスプレイ１５に表示し、ユーザにキーボード１４を用いて前記教授方法の一つを指定させる。この第２実施形態においては、下記表１に示すように、６パターンの教授方法が６タイプの教師１〜６として教授方法テーブル内に予め用意されている。このテーブルは、前記図２２〜２６のプログラムの付属データとして同プログラムの一部を成している。この６パターンの教授方法は、実際の教師の特徴を、例えば要求レベル、教習教材、教示方法及び時間管理の４つの要素に分解して、同４つの要素に関する各教授方法（下記▲１▼▲２▼又は▲１▼〜▲３▼）の組み合わせにより分類されている。前記各要素に関する各方法はそれぞれ前記各要素の教師の対応方法を表しており、次のとおりである。
【０１２３】
要求レベル要素に関しては、「▲１▼練習曲の演奏がかなり高いレベルに達するまで、同一の練習を繰り返させる」と、「▲２▼練習曲の演奏があまり高いレベルに達しなくても、ある程度の演奏を行えば次の練習に進ませる」との２種類に分けられている。教習教材要素に関しては、「▲１▼特定の課題が習得できない場合には、同課題に対応した特定練習曲を中心に演奏練習をさせる」と、「▲２▼特定の課題が習得できない場合でも、ユーザが選択した一般練習曲を中心に演奏練習をさせる」との２種類に分けられている。教示方法要素に関しては、「▲１▼間違い箇所を指摘する」と、「▲２▼間違い箇所を模範演奏する」と、「▲３▼間違い内容を文章にて説明する」との３種類に分けられている。時間管理要素に関しては、「▲１▼時間管理を行い、所定時間Ｔ１で演奏練習を終了させたり、さらに所定時間Ｔ２の延長を許容する」と、「▲２▼時間管理を行わないで、予定の演奏練習を終了するまで同練習を続けさせる」との２種類に分けられている。
【０１２４】
【表１】
0003582320.tif 000002
【０１２５】
なお、前記表１中、▲１▼＋▲２▼，▲２▼＋▲３▼などは、▲１▼及び▲２▼、▲２▼及び▲３▼などの２種類の教示方法を同時に採用することを意味する。ユーザにより指定された教授方法（教師１〜６）を表す教授方法データは、ハードディスク１６の該当するユーザ情報中に書き込まれる。
【０１２６】
練習計画データの作成処理においては、前記選択された一般曲データ中の演奏データ及び属性データに基づいて、選択された一般曲を演奏できるようにするための練習計画が立てられ、同立てられた練習計画を表すデータが練習計画データとしてハードディスク１６の該当するユーザ情報中に書き込まれる。例えば、テンポの速い曲であればテンポを遅くした練習が計画され、また右手と左手との同時演奏が難しければ左手及び右手演奏の独立練習の回数が多く計画される。なお、この練習計画データの作成にあたり、ユーザモデルデータ（ユーザの演奏レベル）と選択された一般曲データ中の属性データにより表された演奏レベルとを考慮したり、ユーザの要望を考慮して決定するようにしてもよい。なお、この練習計画データの作成時においては、終了の有無を表すデータを全て「無」すなわち”０”に設定しておく。
【０１２７】
前記ステップ１１０４〜１１０８の処理後、ＣＰＵ１１はステップ１１１０にて前記選択された教授方法データ中の時間管理要素が時間管理することを表しているか否か、すなわち時間管理要素が▲１▼であるか▲２▼であるかを判定する。同時間管理要素が▲１▼であれば、ステップ１１１０にて「ＹＥＳ」すなわち時間管理すると判定して、ステップ１１１２にてＣＰＵ１１に内蔵のタイマを所定時間Ｔ１（例えば、３０分）に設定するとともに、ステップ１１１４にてこのメインプログラムの実行中におけるタイマによる割り込みを許容状態に設定する。これにより、タイマは時間計測を開始し、前記設定時間Ｔ１の経過後にＣＰＵ１１に対して割り込み命令を発する。一方、前記時間管理要素が▲２▼であれば、ステップ１１１０にて「ＮＯ」すなわち時間管理しないと判定して、ステップ１１１６にてこのメインプログラムの実行中におけるタイマによる割り込みを禁止状態に設定する。この場合には、タイマが割り込み命令を発することはない。
【０１２８】
次に、ＣＰＵ１１は、ステップ１１１８にて練習計画データに基づいて、複数の練習内容のうちの最初の終了無しを表すデータに対応した練習内容を表すデータを読み出す。そして、ステップ１１２０にて、練習実行ルーチンを実行する。この練習実行ルーチンに関しては、詳しくは後述するが、簡単に説明しておく。まず、前記読み出した今回の練習内容にしたがって一般練習曲データ及び楽譜データの加工が必要な場合には同データを加工し、加工した一般練習曲データ及び楽譜データをフレーズ等の単位毎に切り出して楽譜データに基づいて前記切り出した部分の楽譜をディスプレイ１５に表示する。ユーザは電子楽器２５にて表示された楽譜に従った演奏をし、この演奏を表す押鍵列データをＲＡＭ１３に記憶する。そして、同記憶した押鍵列データと前記切り出した演奏データとを比較することにより、ユーザによる演奏の間違い箇所を見つけて同演奏の正確さを評価し、また間違い内容を解析する。
【０１２９】
次に、前記間違った押鍵、評価、解析結果、コメントなどをディスプレイ１５に表示するとともに、前記評価が悪い場合には前記切り出し部分の繰り返し練習をさせたり、解析結果に基づいて特定の課題を習得させるための特定練習曲の演奏練習を行わせる。例えば、特定のリズムの演奏ができない場合には、同リズムを多く含む特定練習曲を演奏させたりする。これらの評価、解析結果、コメントなどのディスプレイ１５上の表示、繰り返し練習、特定練習曲の練習などは、全てのユーザに共通ではなく、ユーザにより選択された教授方法データ（教師１〜６）に依存する。
【０１３０】
前記ステップ１１２０の練習実行ルーチンの処理が終了すると、ＣＰＵ１１は、ステップ１１２２にて、ハードディスク１６内に記憶されている練習計画データのうちで今回の練習内容に対応した終了の有無を表すデータを”１”に設定するともに、総評をディスプレイ１５に表示して、ステップ１１２４にてこのメインプログラムの実行を終了する。これにより、今回の演奏練習が終了したことになる。なお、前記練習の評価結果が悪い場合には、前記終了の有無を表すデータを”０”のままに残しておいてもよい。この場合には、ユーザは、次回の練習にて今回の練習内容と同じ内容の練習を行うことになる。
【０１３１】
一方、前述のように、タイマ割り込みが許容された状態にあり、タイマが所定時間Ｔ１を計測した後にＣＰＵ１１に対して割り込み命令を発すると、ＣＰＵ１１は、図２３のタイマ割り込みプログラムをステップ１２００にて開始する。そして、ステップ１２０２にて現在実行中の処理を一時停止させ、ステップ１２０４にてディスプレイ１５に演奏練習を終了させるか続行させるかを表示して、ユーザに演奏練習の終了又は続行を問い合わせる。ユーザがキーボード１４を用いて演奏練習の終了を選択すれば、ステップ１２０６にて「ＹＥＳ」と判定してプログラムを図２２のステップ１１２２に進める。これにより、この場合には、前記ステップ１１２２の処理後、前述した場合と同様に、メインプログラムの実行を終了して演奏練習を終了する。
【０１３２】
また、前記終了の問い合わせ時に、ユーザが演奏練習の続行を選択すれば、ＣＰＵ１１はステップ１２０６にて「ＮＯ」と判定して、プログラムをステップ１２０８，１２１０に進める。ステップ１２０８においては前記タイマに所定の延長時間Ｔ２（例えば５分）を設定し、ステップ１２１０においてはこの割り込みプログラムの実行を終了して、前記一時停止させたメインプログラムの実行を前記停止位置から再び実行する。その結果、演奏練習時間が延長時間Ｔ２だけ延長されたことになる。
【０１３３】
一方、タイマは、前記ステップ１２０８の延長時間Ｔ２の設定により、時間計測をあらためて開始し、この設定から所定時間Ｔ２の経過後に再び割り込み命令を発する。割り込み命令がふたたび発生すれば、前述のステップ１２００〜１２１０の処理により、演奏練習の終了がふたたび問い合わされ、再延長の有無が決定される。なお、前記ステップ１１１２，１２０８の処理によりタイマが所定時間Ｔ１，Ｔ２に設定されても、前記メインプログラムの実行がタイマによる所定時間Ｔ１，Ｔ２の計測前に終了した場合には、タイマは割り込み命令を発することなく図２３のタイマ割り込みプログラムも実行されない。
【０１３４】
このように、教授データにより表された教授方法のうちの時間管理要素が時間管理有りに選択されていれば、前記ステップ１１１２，１１１４，１２００〜１２１０の処理により、演奏練習の時間がタイマによって管理される。また、時間管理要素が時間管理無しに選択されていれば、前記ステップ１１１６の処理によってタイマ割り込みが禁止されるので、演奏練習は全く時間管理されない。
【０１３５】
次に、前記図２２のステップ１１２０の練習実行ルーチンの処理について詳しく説明する。この練習実行ルーチンの詳細は図２４に示されており、その実行がステップ１３００にて開始され、ＣＰＵ１１はステップ１３０２にて練習範囲を指定する。この練習範囲の指定においては、まず前記図２２のステップ１１１８の処理により読み出された今回の練習内容に基づいてＲＡＭ１３に記憶させた練習曲データの最初のフレーズ（図２９の▲１▼）を指定する。そして、このステップ１３０２の処理が実行される毎に、練習曲データの次のフレーズ（図２９▲２▼▲３▼…）が順次指定される。
【０１３６】
次に、ＣＰＵ１１は、ステップ１３０４にて練習曲データ中の楽譜データに基づいてディスプレイ１５の楽譜欄Ａ（図３０）に前記指定範囲の楽譜を表示するとともに同表示楽譜に運指データに基づく運指表示も添え、ステップ１３０６にて練習曲データ中の演奏データであって前記指定範囲に属する演奏データを前記今回の練習内容に応じて補正してＲＡＭ１３に記憶させる。この補正においては、例えば練習内容が遅いテンポの演奏を指示していれば、演奏データの符長データなどを変更する。そして、ステップ１３０８にて、前記補正した演奏データを電子楽器２５に供給して、電子楽器２５に模範演奏をさせる。この後、ステップ１３１０にて、ユーザに演奏開始を指示した後、ユーザによる電子楽器２５の演奏を表す押鍵データを楽器インターフェース２５ａを介して入力し、ＲＡＭ１３に押鍵データ列として順次記憶し続ける。この場合、押鍵データ列には、押された鍵を表す鍵データ、押鍵時の鍵タッチを表す鍵タッチデータ、及びＣＰＵ１１に内蔵のタイマにより測定された押鍵の時間間隔すなわち符長に対応した時間データが含まれている。そして、ユーザによる演奏が終了すると、ＣＰＵ１１は、プログラムをステップ１３１２に進め、同ステップ１３１２にて解析評価ルーチンを実行する。
【０１３７】
この解析評価ルーチンは図２５に詳細に示されており、その実行がステップ１３３０にて開始される。この開始後、ＣＰＵ１１は、ステップ１３３２にて前記補正した演奏データと押鍵データ列とを比較することによりユーザによる演奏間違いの箇所を抽出し、ステップ１３３２にて前記間違いの個数と間違い内容に応じてユーザによる演奏を評価して同評価結果を数値化する。例えば、１００点を満点として、評価点を計算する。次に、ステップ１３３６にて、前記間違い箇所に基づいて、予めプログラムと共に用意されている複数の課題の中から前記間違いを克服するために適切な課題を抽出して、同課題を表すデータを特別課題データとしてＲＡＭ１３に記憶しておく。
【０１３８】
前記ステップ１３３６の処理後、ステップ１３３８にて、ステップ１３４０〜１３５０における教授方法データに基づく間違い箇所に対する教示処理に対して、教示内容の重複を避けたり、ランダム性を付加するための処理を行う。すなわち、この解析評価ルーチンの実行が何度も繰り返して行われるような場合には、前記教示処理としての間違い箇所の指摘（ステップ１３４０，１３４２）、間違い箇所の模範演奏（ステップ１３４４，１３４６）、及び間違い箇所に関する説明（ステップ１３４８，１３５０）を適当に間引きして、何度も何度も同一な教示がユーザに提示されることを避ける。具体的には、前記ステップ１３３８にて、この解析評価ルーチンの実行回数をカウントして同カウント値を教示処理の種類と共にＲＡＭ１３に記憶しておき、前記記憶しておいたカウント値及び教示処理の種類に基づいて前記各教示方法の処理が実行されるべきか否かを表すフラグをランダム性を加味して設定する。
【０１３９】
前記ステップ１３３８の処理後、ステップ１３４０〜１３５２の処理が実行されるが、まず前記フラグが各教示方法の処理を実行すべきことを表している場合について同ステップ１３４０〜１３５２の処理ついて説明する。教授方法データにより表された教示方法要素として間違い箇所指摘（前記教示方法▲１▼に対応）が選択されていれば、ステップ１３４０にて「ＹＥＳ」と判定して、ステップ１３４２にてディスプレイ１５の楽譜欄Ａの楽譜上にて押鍵を間違えた音符を他のものとは区別して表示（異色表示、点滅表示など）する。教示方法要素として間違い箇所指摘が選択されていなければ、ステップ１３４０にて「ＮＯ」と判定して、前記間違い箇所の指摘をせずにプログラムをステップ１３４４に進める。
【０１４０】
教授方法データにより表された教示方法要素として模範演奏（前記教示方法▲２▼に対応）が選択されていれば、ステップ１３４４にて「ＹＥＳ」と判定して、ステップ１３４６にて前記間違い箇所を含む前後の演奏データを電子楽器２５に転送して、同楽器２５に模範演奏させる。教示方法要素として模範演奏が選択されていなければ、ステップ１３４４にて「ＮＯ」と判定して、前記間違い箇所の模範演奏をせずにプログラムをステップ１３４８に進める。
【０１４１】
教授方法データにより表された教示方法要素として間違った内容の説明を（前記教示方法▲３▼に対応）が選択されていれば、ステップ１３４８にて「ＹＥＳ」と判定して、ステップ１３５０にて前記間違った理由、同理由に対応した注釈等をディスプレイ１５のコメント欄Ｂ（図３０）にて表示するとともに音声でも説明する。例えば、＃，ｂの記号が付いた音符に対して、＃，ｂの記号が付かない音高に対応した鍵を押鍵しているような場合には、＃，ｂの記号付きの音符であること、同＃，ｂの記号の意味などを説明する。教示方法要素として間違った内容の説明が選択されていなければ、ステップ１３４８にて「ＮＯ」と判定して、前記間違った内容の説明がなされずにプログラムをステップ１３５２に進める。
【０１４２】
このように、ユーザが選択した教授方法の一つである教示方法要素に応じて、演奏練習の間違いに対して種々の教示方法が採用される。
【０１４３】
一方、前記ステップ１３３８の処理により、フラグがこれらの各教示方法の処理を採用しないことを表していれば、前記各教示方法がユーザによりそれぞれ選択されていても、前記フラグに基づいてステップ１３４０，１３４４，１３４８にて「ＮＯ」と判定されて、同種類に対応したステップ１３４２，１３４６，１３５０の処理が実行されない。前記ステップ１３４０〜１３５０の処理後、ステップ１３５２にてこの解析評価ルーチンの実行が終了する。
【０１４４】
ふたたび、図２４の練習実行ルーチンの説明に戻ると、前記ステップ１３１４にてディスプレイ１５の表示欄Ｃ（図３０）に前記評価結果に応じて教師の表情を表示する。例えば、前記図２５のステップ１３３４による評価点が８０点以上であれば図３１の（Ａ）に示すような教師の笑った表情が表示される。評価点が８０点未満かつ５０点以上であれば、図３１の（Ｂ）に示すような教師の首をかしげた表情が表示される。評価点が５０点未満３０点以上であれば、図３１の（Ｃ）に示すような教師の怒った表情が表示される。評価点が３０点未満であれば、図３１の（Ｄ）に示すような教師の泣いた表情が表示される。
【０１４５】
前記ステップ１３１４の処理後、ステップ１３１６にて前記評価点が第１基準値以上であるか否かが判定される。評価点が第１基準値以上であれば、ステップ１３１６にて「ＹＥＳ」と判定し、ステップ１３２２にて練習曲の全範囲の演奏練習が終了したか否かが判定される。全範囲の演奏練習が終了していなければ、ステップ１３２２にて「ＮＯ」と判定して、プログラムはステップ１３０２に戻されて、ステップ１３０２〜１３２０からなる次の指定範囲の演奏練習が行われる。また、一般練習曲の全範囲の演奏練習が終了すると、ステップ１３２２における「ＹＥＳ」との判定のもとに、ステップ１３２４にてこの練習実行ルーチンの処理を終了する。
【０１４６】
一方、評価点が第１基準値未満であれば、前記ステップ１３１６にて「ＮＯ」と判定し、後述するステップ１３１８の判定のもとに、ステップ１３０８〜１３１６からなる前回と同一指定範囲の繰り返し練習か、ステップ１３２０の特別練習が行われる。このように練習方法の相違に使われた第１基準値は、教授データにより表された教授方法のうちの要求レベル要素により異なった値をとる。すなわち、要求レベル要素として前記「▲１▼練習曲の演奏がかなり高いレベルに達するまで、同一の練習を繰り返させる」が選択されていれば、第１基準値としては標準的な点数（例えば８０点）が採用される。逆に、要求レベル要素として前記「▲２▼練習曲の演奏があまり高いレベルに達しなくても、ある程度の演奏を行えば次の練習に進める」が選択されていれば、第１基準値としては比較的低い点数（例えば７０点）が採用される。これにより、ユーザが選択した教授方法の一つである要求レベル要素に応じて、演奏練習の方法として異なった方法が採用される。
【０１４７】
前記ステップ１３１８の判定処理について説明すると、同判定処理においては、前記評価点が第２基準値以上であるか否かが判定される。前記評価点が第２基準値以上であれば、ステップ１３１８における「ＹＥＳ」との判定のもとにプログラムはステップ１３０８に戻されてステップ１３０８〜１３１６からなる前記繰り返し練習が行われる。一方、前記評価点が第２基準値未満であれば、ステップ１３１８における「ＮＯ」との判定のもとに、ステップ１３２０にて特別練習ルーチンが実行される。この特別練習ルーチンは、練習中の一般曲とは若干離れて特定曲に関する演奏練習を行わせるものである。
【０１４８】
この場合の第２基準値は前記第１基準値より低く設定されているとともに、教授方法データにより表された教授方法のうちの教習教材要素により異なる値をとる。すなわち、教習教材要素として「▲１▼特定の課題が習得できない場合には、同課題に対応した特定練習曲を中心に演奏練習させる」が選択されていれば、前記第２基準値は比較的高い点数（例えば６０点）が採用される。また、教習教材要素として「▲２▼特定の課題が習得できない場合でも、ユーザが選択した一般練習曲を中心に演奏練習させる」が選択されていれば、前記第２基準値は比較的低い点数（例えば５０点）が採用される。これによっても、ユーザが選択した教授方法の一つである教習教材要素に応じて、演奏練習の方法として異なった方法が採用される。
【０１４９】
次に、前記ステップ１３２０の特別練習ルーチンについて説明すると、同ルーチンの実行は図２６のステップ１３６０にて開始される。この開始後、ＣＰＵ１１は、ステップ１３６２にて前記ステップ１３３６（図２５）の処理により設定された特定課題に対応した特定練習曲に対応した特定曲データを内部データベース１７から読み出してＲＡＭ１３に書き込む。この場合、前記特定課題と複数組の特定曲データ中の各付属データとの比較により特定曲が選択されるが、同選択された特定曲が複数存在する場合には、ディスプレイ１５を用いてユーザに対する問い合わせを表示し、ユーザにキーボード１４を用いて所望の特定曲を選択させるようにする。
【０１５０】
次に、ステップ１３６４にて、前記ＲＡＭ１３に書き込んだ特定曲データの演奏データ及び楽譜データを前記練習中の一般練習曲及び練習内容に応じて補正して、同補正した演奏データをＲＡＭ１３に書き込んでおく。この補正においては、テンポ、リズムタイプ、調、拍子などを練習中の一般練習曲に合わせるようにする。
【０１５１】
前記ステップ１３６４の処理後、ステップ１３６６にて、前記補正した楽譜データに基づいて特定練習曲をディスプレイ１５の楽譜欄Ａに表示するとともに、前記特定課題を同ディスプレイ１５のコメント欄Ｂに表示する。そして、ステップ１３６８〜１３７２にて、前記図２４のステップ１３０８，１３１０，１３１２（図２５のステップ１３３２，１３３４）の処理と同様に、模範演奏、ユーザによる演奏の入力、及び演奏の解析評価を行って評価点を計算する。次に、ステップ１３７４にて前記評価点と第３基準値とを比較し、前記評価点が第３基準値以上であれば、ステップ１３７８にてこの特別練習ルーチンの実行を終了する。一方、前記評価点が第３基準値未満であれば、ステップ１３７６にて前記解析結果に基づくを注意点をディスプレイ１５のコメント欄Ｂに表示し、その後にプログラムをステップ１３６８に戻してステップ１３６８〜１３７４からなる繰り返し練習を行わせる。これにより、一般練習曲の演奏練習においてユーザが不得意とする箇所の特別練習が行われて、効率のよい演奏練習が行われる。
【０１５２】
また、この場合も、第３基準値としては、教授方法データにより表された教授方法により異なる値が採用される。すなわち、教授方法の要求レベル及び教習教材の各要素がそれぞれ▲１▼である場合には第３基準値は比較的高い点数に設定され、前記各要素がそれぞれ▲２▼である場合には第３基準値は比較的低い点数に設定される。これにより、この場合も、ユーザが選択した教授方法である要求レベル及び教習教材の各要素に応じて、演奏練習の方法として異なった方法が採用されることになる。
【０１５３】
なお、上記第２実施形態においては、図２２のステップ１１０６の処理により教授データを練習計画の作成毎すなわち一つの一般練習曲の変更毎に行うようにしたが、この教授方法の選択を毎回の練習において行うようにしてもよい。この場合、図２２のメインプログラムが実行される毎に、ステップ１１０６にて前記練習計画の作成及び一般練習曲の変更とは無関係に常に行うようにすればよい。
【０１５４】
また、上記第２実施形態においては、教授方法の各要素に係る対応種類をパターン化しておき、同パターン化した複数の教授方法の中からユーザが所望の教授方法を選択するようにした。しかし、教授方法の各要素に関する各方法をそれぞれ選択することにより教授方法を選択するようにしてもよい。この場合、図２２のステップ１０６にて、前述した教授方法の要求レベル、教習教材、教示方法及び時間管理の各要素毎に、各要素に属する▲１▼▲２▼（又は▲１▼〜▲３▼）の方法を選択して、同選択結果を教授方法データとして記憶しておくようにすればよい。
【０１５５】
Ｃ．第１及び第２実施形態に共通の変形例
上記第１及び第２実施形態においては、内部データベース１７及び外部データベース２１の両者を用いたが、内部データベース１７を削除して外部データベース２１からＲＡＭ１３及び／又はハードディスク１６に練習曲データを直接入力してもよい。また、外部データベース２１に接続しなくても、内部データベース１７内の曲データを随時更新して、多数のユーザが内部データベース１７を共用するようにしてもよい。
【０１５６】
また、上記第１及び第２実施形態においては、電子楽器２５として鍵盤電子楽器を採用したが、演奏操作子の操作を検出するスイッチを有するとともに、同スイッチによる演奏操作子の検出に基づいて楽音信号を発生する電子楽器であれば、鍵盤電子楽器以外の電子管楽器、電子打楽器などを用いるようにしてもよい。また、ピアノなどの自然楽器においても、押鍵及びタッチなどを検出する電気回路を付属させれば、前記電子楽器２５に代えて前記ピアノを用いることもできる。
【０１５７】
また、上記第１及び第２実施形態では、外部記録装置に記録させてあったプログラムをハードディスク１６に記憶させた後に同プログラムを使用するようにしたが、ＲＯＭ１２及び／又はハードディスク１６に前記プログラムを予め記憶させておいたり、ホスコンピュータ２２から通信インターフェース１８を介して前記プログラムを予め転送しておくようにしてもよい。
【図面の簡単な説明】
【図１】本発明の第１及び第２実施形態にかかる音楽教習システムの概略ブロック図である。
【図２】前記音楽教習システムで用いられるメインプログラムのフローチャートである。
【図３】前記メインプログラムにより指定される各オブジェクト及び同各オブジェクトにより指定される各オブジェクトの連係図である。
【図４】起動オブジェクトを詳細に示す表形式の処理チャートである。
【図５】レッスン内容決定オブジェクトを詳細に示す表形式の処理チャートである。
【図６】レッスンオブジェクトを詳細に示す表形式の処理チャートである。
【図７】診断オブジェクトを詳細に示す表形式の処理チャートである。
【図８】タイマオブジェクトを詳細に示す表形式の処理チャートである。
【図９】課金オブジェクトを詳細に示す表形式の処理チャートである。
【図１０】前記起動オブジェクトにて実行される候補曲選択ルーチンを詳細に示すフローチャートである。
【図１１】前記レッスンオブジェクトにて実行される読譜練習ルーチンの前半部分を詳細に示すフローチャートである。
【図１２】同読譜練習ルーチンの後半部分を詳細に示すフローチャートである。
【図１３】前記レッスンオブジェクトにて実行されるメトロノームステップ練習ルーチンの前半部分を詳細に示すフローチャートである。
【図１４】同メトロノームステップ練習ルーチンの後半部分を詳細に示すフローチャートである。
【図１５】ハードディスク内のユーザ情報記憶エリアのメモリマップである。
【図１６】ユーザモデルデータのフォーマット図である。
【図１７】練習計画データのフォーマット図である。
【図１８】曲の属性データのフォーマット図である。
【図１９】練習予定テーブルのフォーマット図である。
【図２０】練習曲の楽譜例を示す図である。
【図２１】達成度テーブルのフォーマット図である。
【図２２】本発明の第２実施形態に係る音楽教習システムで用いられるメインプログラムのフローチャートである。
【図２３】前記音楽教習システムで用いられるタイマ割り込みプログラムのフローチャートである。
【図２４】前記メインプログラムの練習実行ルーチンを詳細に示すフローチャートである。
【図２５】前記練習実行ルーチンの解析評価ルーチンを詳細に示すフローチャートである。
【図２６】前記練習実行ルーチンの特別練習ルーチンを詳細に示すフローチャートである。
【図２７】ハードディスク内のユーザ情報記憶エリアのメモリマップである。
【図２８】練習計画データのフォーマット図である。
【図２９】練習曲の楽譜例を示す図である。
【図３０】ディスプレイの一表示例を示す図である。
【図３１】（Ａ）〜（Ｄ）は、それぞれ教師の表情の例を示す図である。
【符号の説明】
１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…キーボード、１５…ディスプレイ、１６…ハードディスク、１７…内部データベース、１８…通信インターフェース、２１…外部データベース、２２…ホストコンピュータ、２３…フレキシブルディスク、２４…コンパクトディスク、２５…電子楽器。
【図１】
0003582320.tif 000003
【図２】
0003582320.tif 000004
【図３】
0003582320.tif 000005
【図４】
0003582320.tif 000006
【図５】
0003582320.tif 000007
【図６】
0003582320.tif 000008
【図７】
0003582320.tif 000009
【図８】
0003582320.tif 000010
【図９】
0003582320.tif 000011
【図１０】
0003582320.tif 000012
【図１１】
0003582320.tif 000013
【図１２】
0003582320.tif 000014
【図１３】
0003582320.tif 000015
【図１４】
0003582320.tif 000016
【図１５】
0003582320.tif 000017
【図１６】
0003582320.tif 000018
【図１７】
0003582320.tif 000019
【図１８】
0003582320.tif 000020
【図１９】
0003582320.tif 000021
【図２０】
0003582320.tif 000022
【図２１】
0003582320.tif 000023
【図２２】
0003582320.tif 000024
【図２３】
0003582320.tif 000025
【図２４】
0003582320.tif 000026
【図２５】
0003582320.tif 000027
【図２６】
0003582320.tif 000028
【図２７】
0003582320.tif 000029
【図２８】
0003582320.tif 000030
【図２９】
0003582320.tif 000031
【図３０】
0003582320.tif 000032
【図３１】
0003582320.tif 000033