(57)【要約】【課題】反復記号を含む練習曲であっても曲全体を満遍なく練習できる演奏練習装置を実現する。【解決手段】ＣＰＵ１は練習設定処理を含む設定処理と、練習処理とを実行する。先ず設定処理では、曲データに含まれる反復記号に従って当該曲データを構成する各小節毎の練習回数を計数する。そして、練習設定処理では、設定処理にて計数された各小節毎の練習回数の中から最大練習回数を検出し、検出された最大練習回数と各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出する。そして、練習処理を実行すると、練習設定処理にて抽出した小節について最大練習回数との差分に相当する回数分の練習を指示する。この結果、反復記号を含む練習曲であっても曲全体を満遍なく練習することが可能になる。【選択図】図１
2010002707.tif 000002
【特許請求の範囲】
【請求項１】
繰り返し演奏する小節を表す反復記号を含み、曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段に記憶される曲データ中の反復記号を参照して当該曲データの各小節毎の練習回数を計数する計数手段と、
前記計数手段により計数された各小節毎の練習回数の中から最大練習回数を検出する検出手段と、
前記検出手段により検出された最大練習回数と前記計数手段により計数された各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出する抽出手段と、
前記抽出手段により抽出された小節毎に、その小節の練習回数と前記検出手段により検出された最大練習回数との差分に相当する回数分の演奏練習の実行を指示する練習指示手段と
を具備することを特徴する演奏練習装置。
【請求項２】
前記曲データ記憶手段に記憶される曲データ中の反復記号が括弧付き反復記号である場合、その括弧付き反復記号を有する小節の１つ前の小節の練習回数を１回分増加する増加手段を更に備えることを特徴とする請求項１記載の演奏練習装置。
【請求項３】
繰り返し演奏する小節を表す反復記号を含み、曲を構成する各音を表す曲データ中の反復記号を参照して当該曲データの各小節毎の練習回数を計数する計数ステップと、
前記計数ステップにより計数された各小節毎の練習回数の中から最大練習回数を検出する検出ステップと、
前記検出ステップにより検出された最大練習回数と前記計数ステップにより計数された各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出する抽出ステップと、
前記抽出ステップにより抽出された小節毎に、その小節の練習回数と前記検出ステップにより検出された最大練習回数との差分に相当する回数分の演奏練習の実行を指示する練習指示ステップと
をコンピュータで実行させることを特徴する演奏練習プログラム。
【請求項４】
曲データ中の反復記号が括弧付き反復記号である場合、その括弧付き反復記号を有する小節の１つ前の小節の練習回数を１回分増加する増加ステップを更に備えることを特徴とする請求項３記載の演奏練習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば電子楽器に用いて好適な演奏練習装置および演奏練習プログラムに関する。
【背景技術】
【０００２】
練習曲の曲データを再生してユーザに演奏操作を練習させる演奏練習装置が知られている。この種の装置として、例えば特許文献１には、１曲分の曲データとユーザの演奏操作に応じて入力される演奏データとを比較して両データの不一致部分を抽出しておき、この曲データの抽出部分を繰り返して演奏データと比較し、両データの一致が検出された時に抽出部分の出力を停止させて１曲分の曲データを出力させることによって、演奏ミスした部分を間違えなく演奏出来るようになるまで繰り返し練習させるものが開示されている。
【０００３】
【特許文献１】特開平５−２９７７９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示の装置は、演奏ミスした部分（小節）を間違えずに演奏出来るようになるまで繰り返し練習させることによって曲全体を完全に弾けるようにするものであるが、反復記号（リピートマーク）に従って繰り返し演奏する小節を含む練習曲であると、繰り返して演奏しない小節の練習回数が少なくなってしまい、結果的に曲全体を満遍なく練習することが出来なくなるという弊害が生じる。
【０００５】
そこで本発明は、このような事情に鑑みてなされたもので、反復記号を含む練習曲であっても曲全体を満遍なく練習することができる演奏練習装置および演奏練習プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、繰り返し演奏する小節を表す反復記号を含み、曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段に記憶される曲データ中の反復記号を参照して当該曲データの各小節毎の練習回数を計数する計数手段と、前記計数手段により計数された各小節毎の練習回数の中から最大練習回数を検出する検出手段と、前記検出手段により検出された最大練習回数と前記計数手段により計数された各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出する抽出手段と、前記抽出手段により抽出された小節毎に、その小節の練習回数と前記検出手段により検出された最大練習回数との差分に相当する回数分の演奏練習の実行を指示する練習指示手段とを具備することを特徴する。
【０００７】
上記請求項１に従属する請求項２に記載の発明では、前記曲データ記憶手段に記憶される曲データ中の反復記号が括弧付き反復記号である場合、その括弧付き反復記号を有する小節の１つ前の小節の練習回数を１回分増加する増加手段を更に備えることを特徴とする。
【０００８】
請求項３に記載の発明では、繰り返し演奏する小節を表す反復記号を含み、曲を構成する各音を表す曲データ中の反復記号を参照して当該曲データの各小節毎の練習回数を計数する計数ステップと、前記計数ステップにより計数された各小節毎の練習回数の中から最大練習回数を検出する検出ステップと、前記検出ステップにより検出された最大練習回数と前記計数ステップにより計数された各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出する抽出ステップと、前記抽出ステップにより抽出された小節毎に、その小節の練習回数と前記検出ステップにより検出された最大練習回数との差分に相当する回数分の演奏練習の実行を指示する練習指示ステップとをコンピュータで実行させることを特徴する。
【０００９】
上記請求項３に従属する請求項４に記載の発明では、曲データ中の反復記号が括弧付き反復記号である場合、その括弧付き反復記号を有する小節の１つ前の小節の練習回数を１回分増加する増加ステップを更に備えることを特徴とする。
【発明の効果】
【００１０】
本発明では、反復記号を含む練習曲であっても曲全体を満遍なく練習することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施の形態について説明する。
[第１実施形態]
Ａ．構成
図１は、本発明の第１実施形態による演奏練習装置１０の構成を示すブロック図である。この図において、電子楽器２０は鍵盤を備え、この鍵盤を用いたユーザの演奏操作に応じて発生する演奏データをＭＩＤＩ出力する。こうした電子楽器２０とＭＩＤＩ接続される演奏練習装置１０は、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３、入力部４、表示部５およびＭＩＤＩインタフェース部６を備える。
【００１２】
ＣＰＵ１は装置各部の動作を制御する。本発明の要旨に係わるＣＰＵ１の特徴的な処理動作については追って述べる。ＲＯＭ２は、ＣＰＵ１が実行する各種プログラムを記憶する。ここで言う各種プログラムとは、後述するメインルーチン、設定処理、練習設定処理および練習処理を含む。
【００１３】
ＲＡＭ３は、ワークエリアおよびデータエリアを備える。ＲＡＭ３のワークエリアには、ＣＰＵ１の処理により用いられる各種レジスタ・フラグデータが一時記憶される。ＲＡＭ３のデータエリアには、図２に図示するように、複数の練習曲の曲データＳＯＮＧ［１］〜ＳＯＮＧ［Ｎ］が格納される。
【００１４】
曲データＳＯＮＧは、曲を構成する各小節にそれぞれ対応する第１〜第ｎ小節データから構成される。１つの小節データは、小節中の各音を表す音符データ、カウンタＰＬＡＹＣＮＴおよびカウンタＰＬＡＣを備える。音符データには、繰り返し演奏する小節区間に該当する場合に、その旨を示す反復記号が含まれる。カウンタＰＬＡＹＣＮＴには、該当する小節の練習回数がストアされる。つまり、曲中に含まれる反復記号に従って繰り返し演奏する場合における現小節の練習回数を表す。カウンタＰＬＡＣには、カウンタＰＬＡＹＣＮＴの値（現小節の練習回数）と最も多く繰り返し演奏する小節の練習回数との差分値がストアされる。
【００１５】
入力部４は、キーボードやマウスを備え、キー入力操作に応じたイベントを発生したり、クリック操作に応じたクリックイベントを発生したりする。表示部５は、ＬＣＤパネル等から構成され、ＣＰＵ１から供給される表示制御信号に応じて、各部の動作状態を表示する他、曲全体を満遍なく練習できるように案内表示する。ＭＩＤＩインタフェース６は、ＣＰＵ１の制御の下に、電子楽器２０側から送出される演奏データを取り込む。
【００１６】
Ｂ．動作
次に、図３〜図８を参照して第１実施形態の動作について説明する。以下では、最初に全体動作としてメインルーチンの動作について説明し、続いて設定処理、練習設定処理および練習処理の各動作について述べる。
【００１７】
（１）メインルーチンの動作
装置電源の投入に応じてＣＰＵ１は図３に図示するメインルーチンを実行し、ステップＳＡ１に処理を進め、装置各部を初期化するイニシャライズを実行する。イニシャライズが完了すると、ステップＳＡ２に進み、ユーザ操作により入力されるモード値を判断する。ユーザ操作により入力されるモード値が「１」であると、ステップＳＡ３に進み、後述の設定処理を実行した後、上記ステップＳＡ２に処理を戻す。一方、ユーザ操作により入力されるモード値が「２」ならば、ステップＳＡ４に進み、後述の練習処理を実行した後、上記ステップＳＡ２に処理を戻す。
【００１８】
（２）設定処理の動作
次に、図４を参照して設定処理の動作を説明する。上述したメインルーチンのステップＳＡ３（図３参照）を介して本処理が実行されると、ＣＰＵ１は図４に図示するステップＳＢ１に進み、ＲＡＭ３のデータエリアに格納される複数の練習曲の曲データＳＯＮＧ［１］〜ＳＯＮＧ［Ｎ］のいずれかを選択する曲選択処理を実行する。また、このステップＳＢ１では、選択した曲データに含まれる反復記号に従った演奏順序の小節番号をレジスタＯＲＤ［０］〜ＯＲＤ［ｎ］にストアする、
【００１９】
続いて、ステップＳＢ２では、ポインタＪに初期値「０」をストアする。また、ステップＳＢ２では、ポインタＪで指定されるレジスタＯＲＤ［Ｊ］の値をレジスタＩにストアする。上述したように、レジスタＯＲＤ［０］〜ＯＲＤ［ｎ］には、上記ステップＳＢ１にて曲データに含まれる反復記号に従った演奏順序の小節番号がストアされる。したがって、ステップＳＢ２では、初期値「０」のポインタＪで指定されるレジスタＯＲＤ［Ｊ］の値、すなわち、最初に演奏する小節番号をレジスタＯＲＤ［Ｊ］から読み出してレジスタＩにストアする。以後、レジスタＩの値を小節番号Ｉと記す。
【００２０】
次いで、ステップＳＢ３では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の値、すなわち曲データ中で小節番号Ｉにより指定される小節の練習回数をインクリメントして歩進させ、続くステップＳＢ４では、ポインタＪを歩進させる。そして、ステップＳＢ５では、歩進されたポインタＪで指定されるレジスタＯＲＤ［Ｊ］の値を、次の演奏順序を表す小節番号Ｉに更新する。次に、ステップＳＢ６では、更新された小節番号Ｉが「０」、すなわち曲の最後の小節に達したかどうかを判断する。更新された小節番号Ｉが曲の最後の小節に達したならば、判断結果は「ＹＥＳ」となり、ステップＳＢ７を介して後述の練習設定処理を実行する。
【００２１】
一方、更新された小節番号Ｉが曲の最後の小節に達していなければ、上記ステップＳＢ６の判断結果は「ＮＯ」になり、上述したステップＳＢ３に処理を戻す。以後、小節番号Ｉが曲の最後の小節に達するまで上述したステップＳＢ３〜ＳＢ６を繰り返すことによって、曲データを構成する各小節毎の練習回数がそれぞれ対応する小節データ中のカウンタＰＬＡＹＣＮＴ（図２参照）にストアされる。
【００２２】
（３）練習設定処理の動作
次に、図５を参照して練習設定処理の動作を説明する。上述した設定処理のステップＳＢ７（図４参照）を介して本処理が実行されると、ＣＰＵ１は図５に図示するステップＳＣ１に進み、最大練習回数ＭＡＸを「０」に初期化する。続いて、ステップＳＣ２では、小節番号Ｉに初期値「１」をストアする。そして、ステップＳＣ３では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数が最大練習回数ＭＡＸより多いか否かを判断する。
【００２３】
小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数が最大練習回数ＭＡＸより少なければ、上記ステップＳＣ３の判断結果は「ＮＯ」になり、後述のステップＳＣ５に進む。これに対し、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数が最大練習回数ＭＡＸより多ければ、上記ステップＳＣ３の判断結果は「ＹＥＳ」となり、ステップＳＣ４に進み、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数を、最大練習回数ＭＡＸとして更新する。次いで、ステップＳＣ５では、小節番号Ｉをインクリメントして歩進させ、続くステップＳＣ６では、歩進された小節番号Ｉが曲の小節数より小さいか否かを判断する。
【００２４】
歩進された小節番号Ｉが曲の小節数より小さければ、上記ステップＳＣ６の判断結果は「ＹＥＳ」となり、上述のステップＳＣ３に処理を戻す。以後、歩進された小節番号Ｉが曲の小節数を超えるまで上述したステップＳＣ３〜ＳＣ６を繰り返すことによって、曲中で最も練習回数の多い小節の練習回数（カウンタＰＬＡＹＣＮＴ[Ｉ]の値）が、最大練習回数ＭＡＸとして登録される。
【００２５】
そして、歩進された小節番号Ｉが曲の小節数を超えると、上記ステップＳＣ６の判断結果が「ＮＯ」になり、ステップＳＣ７に進む。ステップＳＣ７では、小節番号Ｉに初期値「１」をストアする。続いて、ステップＳＣ８では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数と最大練習回数ＭＡＸとの差分値（ＭＡＸ−ＰＬＡＹＣＮＴ[Ｉ]）を、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]にストアする。この後、ステップＳＣ９に進み、小節番号Ｉをインクリメントして歩進させる。そして、ステップＳＣ１０では、歩進された歩進された小節番号Ｉが曲の小節数より小さいか否かを判断する。
【００２６】
歩進された小節番号Ｉが曲の小節数より小さければ、上記ステップＳＣ１０の判断結果は「ＹＥＳ」となり、上述のステップＳＣ７に処理を戻す。以後、歩進された小節番号Ｉが曲の小節数を超えるまで上述したステップＳＣ７〜ＳＣ１０を繰り返すことによって、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数と最大練習回数ＭＡＸとの差分値（ＭＡＸ−ＰＬＡＹＣＮＴ[Ｉ]）が、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]に順次ストアされる。そして、歩進された小節番号Ｉが曲の小節数を超えると、ステップＳＣ１０の判断結果が「ＮＯ」となり、本処理を終える。
【００２７】
（４）設定処理および練習設定処理の具体的動作
次に、上述した設定処理および練習設定処理の具体的な動作について説明する。設定処理において選択された曲データが、例えば図６に図示する楽譜のように、第１小節〜第８小節から構成され、かつ第４小節に反復記号が設けられているとする。そうすると、設定処理では、第１小節〜第８小節にそれぞれ対応するカウンタＰＬＡＹＣＮＴ[１]〜ＰＬＡＹＣＮＴ[８]（図７（ａ）参照）に各小節毎の練習回数（演奏練習する回数）がストアされる。これにより、第１小節〜第４小節は演奏を２回繰り返し、第５小節〜第８小節は１回の演奏となることが表される。
【００２８】
そして、練習設定処理では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数と最大練習回数ＭＡＸとの差分値（ＭＡＸ−ＰＬＡＹＣＮＴ[Ｉ]）を、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]にストアするので、図７（ｂ）に示すように、第１小節〜第４小節に対応するカウンタＰＬＡＣ［１］〜ＰＬＡＣ［４］には「０」が、第５小節〜第８小節に対応するカウンタＰＬＡＣ［５］〜ＰＬＡＣ［８］には「１」がストアされる。これにより、第５小節〜第８小節の練習回数が第１小節〜第４小節より１回少ないことを表すようになっている。
【００２９】
（５）練習処理の動作
次に、図８を参照して練習処理の動作を説明する。上述したメインルーチンのステップＳＡ４（図３参照）を介して本処理が実行されると、ＣＰＵ１は図８に図示するステップＳＤ１に進み、演奏練習処理を実行する。演奏練習処理では、例えば小節データに含まれる音符データと演奏操作に応じて入力される演奏データとを比較して、両データが一致したときには次小節の音符データを読み出させ、一方、不一致であるときは同一小節の音符データを再び読み出すようにして、演奏ミスした小節をミスせず演奏し得るようになるまで繰り返し練習させてから次の小節に進む処理を行う。
【００３０】
こうした演奏練習処理を、例えば図６に図示した楽譜の曲データについて行った場合、上述したように、第１小節〜第４小節では演奏を２回繰り返し、第５小節〜第８小節では１回の演奏となる。そして、ステップＳＤ２では、各小節データに含まれるカウンタＰＬＡＣの値に基づき、練習回数の少なかった小節を何回練習するかを指示する案内メッセージを表示部５に画面表示する。
【００３１】
例えば、図７（ａ）に図示する一例であれば、第５小節〜第８小節の練習回数が第１小節〜第４小節より１回少ないことを表すので、図７（ｂ）に示すように、「５、６、７、８小節目を、もう一度練習しましょう。」なる案内メッセージを表示する。この後、ステップＳＤ３に進み、上記ステップＳＤ２にて指示された小節の演奏練習処理を実行する。
【００３２】
次いで、ステップＳＤ４では、指示された小節の演奏練習が終了したか否かを判断する。指示された小節の演奏練習が終了するまでは、判断結果が「ＮＯ」になり、上記ステップＳＤ３〜ＳＤ４を繰り返す。そして、指示された小節の演奏練習が終了すると、上記ステップＳＤ４の判断結果は「ＹＥＳ」になり、本処理を終える。
【００３３】
このように、第１実施形態では、曲データに含まれる反復記号に従って当該曲データを構成する各小節毎の練習回数を計数し、計数された各小節毎の練習回数の中から最大練習回数を検出する。そして、検出された最大練習回数と各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出し、抽出した小節について最大練習回数との差分に相当する回数分の練習を指示するので、反復記号を含む練習曲であっても曲全体を満遍なく練習することが可能になる。
【００３４】
なお、上述した第１実施形態では、反復記号により繰り返し演奏する区間以外の小節の練習回数を増やすようにしたが、これに限らず、例えば繰り返し演奏する区間以外で演奏を間違えた場合にのみ、その演奏を間違えた区間の練習回数を増やす態様としても構わない。また、計数した各小節の練習回数の中で練習回数の少ない小節を他の小節の練習回数と同じになるように演奏練習させる態様としてもよい。
【００３５】
[第２実施形態]
前述した第１実施形態では、通常の反復記号を含む曲データに対応する練習設定処理について言及したが、第２実施形態では、括弧付きの反復記号を含む曲データに対応する練習設定処理の動作について説明する。図９は、第２実施形態による練習設定処理の動作を示すフローチャートである。
【００３６】
前述した第１実施形態と同様、設定処理のステップＳＢ７（図４参照）を介して本処理が実行されると、ＣＰＵ１は図９に図示するステップＳＥ１に進み、最大練習回数ＭＡＸを「０」に初期化する。続いて、ステップＳＥ２では、小節番号Ｉに初期値「１」をストアする。そして、ステップＳＥ３では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数が最大練習回数ＭＡＸより多いか否かを判断する。
【００３７】
小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数が最大練習回数ＭＡＸより少なければ、上記ステップＳＥ３の判断結果は「ＮＯ」になり、後述のステップＳＥ５に進む。これに対し、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数が最大練習回数ＭＡＸより多ければ、上記ステップＳＥ３の判断結果は「ＹＥＳ」となり、ステップＳＥ４に進み、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数を最大練習回数ＭＡＸとして更新する。次いで、ステップＳＥ５では、小節番号Ｉをインクリメントして歩進させ、続くステップＳＥ６では、歩進された小節番号Ｉが曲の小節数より小さいか否かを判断する。
【００３８】
歩進された小節番号Ｉが曲の小節数より小さければ、上記ステップＳＥ６の判断結果は「ＹＥＳ」となり、上述のステップＳＥ３に処理を戻す。以後、歩進された小節番号Ｉが曲の小節数を超えるまで上述したステップＳＥ３〜ＳＥ６を繰り返すことによって、曲中で最も練習回数の多い小節の練習回数（カウンタＰＬＡＹＣＮＴ[Ｉ]の値）が、最大練習回数ＭＡＸとして登録される。
【００３９】
そして、歩進された小節番号Ｉが曲の小節数を超えると、上記ステップＳＥ６の判断結果が「ＮＯ」になり、ステップＳＥ７に進む。ステップＳＥ７では、小節番号Ｉに初期値「１」をストアする。続いて、ステップＳＥ８では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数と最大練習回数ＭＡＸとの差分値（ＭＡＸ−ＰＬＡＹＣＮＴ[Ｉ]）を、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]にストアする。
【００４０】
次いで、図１０に図示するステップＳＥ９では、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]にストアされた差分値が「０」より大きく、かつ当該カウンタＰＬＡＣ[Ｉ]を備える小節データ中に括弧付き反復記号が存在する場合、つまり練習回数が最大練習回数ＭＡＸより少ない小節であって、かつ括弧付き反復記号を有する小節であるか否かを判断する。該当する小節でなかったならば、判断結果は「ＮＯ」になり、後述のステップＳＥ１５に進む。
【００４１】
一方、練習回数が最大練習回数ＭＡＸより少ない小節であって、かつ括弧付き反復記号を有する小節であると、上記ステップＳＥ９の判断結果は「ＹＥＳ」となり、ステップＳＥ１０に進む。ステップＳＥ１０では、ポインタＪに初期値「０」をストアする。次いで、ステップＳＥ１１〜ＳＥ１２では、レジスタＯＲＤ［Ｊ］の値が現在の小節番号Ｉに一致するまでポインタＪを歩進させる。すなわち、現在の小節番号Ｉを指定するポインタＪの値をサーチする。
【００４２】
そして、現在の小節番号Ｉを指定するポインタＪの値が見つかると、ステップＳＥ１１の判断結果が「ＹＥＳ」になり、ステップＳＥ１３に進み、現在の小節番号Ｉを指定するポインタＪから１を減算した値（Ｊ−１）に基づき、レジスタＯＲＤ（Ｊ−１）から１つ前の小節を指定する小節番号Ｋを読み出す。つまり、括弧付き反復記号を有する小節の１つ前の小節を指定する小節番号Ｋを発生する。
【００４３】
続いて、ステップＳＥ１４では、小節番号Ｋで指定され、括弧付き反復記号を有する小節の１つ前の小節のカウンタＰＬＡＣ[Ｋ]をインクリメントして歩進させる。これにより、括弧付き反復記号を有する小節の１つ前の小節の練習回数を１回分増加する。この後、ステップＳＥ１５に進み、小節番号Ｉをインクリメントして歩進させる。
【００４４】
そして、ステップＳＥ１６では、歩進された小節番号Ｉが曲の小節数より小さいか否かを判断する。歩進された小節番号Ｉが曲の小節数より小さければ、上記ステップＳＥ１６の判断結果は「ＹＥＳ」となり、上述したステップＳＥ８（図９参照）に処理を戻す。
【００４５】
以後、歩進された小節番号Ｉが曲の小節数を超えるまで上述したステップＳＥ８〜ＳＥ１６を繰り返すことによって、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数と最大練習回数ＭＡＸとの差分値（ＭＡＸ−ＰＬＡＹＣＮＴ[Ｉ]）が、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]に順次ストアされる一方、括弧付き反復記号を有する小節の１つ前の小節のカウンタＰＬＡＣについてはインクリメントして練習回数を１回分増加する。そして、歩進された小節番号Ｉが曲の小節数を超えると、上記ステップＳＥ１６の判断結果が「ＮＯ」となり、本処理を終える。
【００４６】
（４）具体的動作
次に、第２実施形態の具体的な動作について説明する。設定処理において選択された曲データが、例えば図１１に図示する楽譜のように、第１小節〜第６小節から構成され、その内の第５小節に第１括弧の反復記号が設けられ、第６小節に第２括弧の反復記号が設けられているとする。
【００４７】
この場合、演奏の順序は「第１小節」→「第２小節」→「第３小節」→「第４小節」→「第５小節」→「第１小節」→「第２小節」→「第３小節」→「第４小節」→「第６小節」となる。つまり、第１小節〜第４小節では演奏を２回繰り返し、第５小節および第６小節では１回の演奏となるので、第１実施形態と同様の設定処理に基づき、カウンタＰＬＡＹＣＮＴ[１]〜ＰＬＡＹＣＮＴ[６]には、図１２（ａ）に図示する練習回数（演奏する回数）がストアされる。
【００４８】
そして、第２実施形態の練習設定処理では、小節番号Ｉで指定されるカウンタＰＬＡＹＣＮＴ[Ｉ]の練習回数と最大練習回数ＭＡＸとの差分値（ＭＡＸ−ＰＬＡＹＣＮＴ[Ｉ]）を、小節番号Ｉで指定されるカウンタＰＬＡＣ[Ｉ]にストアする一方、括弧付き反復記号を有する小節の１つ前の小節の練習回数をインクリメントする結果、図１２（ｂ）に示すように、第１小節〜第３小節に対応するカウンタＰＬＡＣ［１］〜ＰＬＡＣ［３］には「０」が、第４小節に対応するカウンタＰＬＡＣ［４］には「２」が、第５小節〜第６小節に対応するカウンタＰＬＡＣ［５］〜ＰＬＡＣ［６］には「１」がストアされる。この後、第１実施形態と同様に練習処理を実行すると、例えば、図１２（ａ）に図示する一例であれば、図１２（ｂ）に示すように、「４小節目と５小節目、４小節目と６小節目を、もう一度練習しましょう。」なる案内メッセージが表示される。
【００４９】
このように、第２実施形態では、曲データに含まれる反復記号に従って当該曲データを構成する各小節毎の練習回数を計数し、計数された各小節毎の練習回数の中から最大練習回数を検出する。そして、検出された最大練習回数と各小節毎の練習回数との差分に基づき最大練習回数より少ない練習回数の小節を抽出し、抽出した小節について最大練習回数との差分に相当する回数分の練習を指示する一方、括弧付き反復記号を有する小節の１つ前の小節については練習回数を１回分増やすようにしたので、括弧付き反復記号を含む練習曲であっても曲全体を満遍なく練習することが可能になる。
【００５０】
また、第２実施形態では、練習回数の少ない小節が「１括弧」、「２括弧」の場合、これら「１括弧」、「２括弧」の前小節も含めて演奏練習する形態としたが、これに限らず、「１括弧」、「２括弧」が曲の途中にある場合には、前小節のみならず「１括弧」、「２括弧」の後小節も含めて演奏練習する形態としても構わない。
【図面の簡単な説明】
【００５１】
【図１】本発明による第１実施形態の構成を示すブロック図である。
【図２】ＲＡＭ３のデータエリアに格納される曲データの構成を示す図である。
【図３】第１実施形態のメインルーチンの動作を示すフローチャートである。
【図４】第１実施形態の設定処理の動作を示すフローチャートである。
【図５】第１実施形態の練習設定処理の動作を示すフローチャートである。
【図６】反復記号を含む曲データの小節構成例を示す楽譜である。
【図７】第１実施形態の具体的な動作を説明する為の図である。
【図８】第１実施形態の練習処理の動作を示すフローチャートである。
【図９】第２実施形態による練習設定処理の動作を示すフローチャートである。
【図１０】第２実施形態による練習設定処理の動作を示すフローチャートである。
【図１１】括弧付き反復記号を含む曲データの小節構成例を示す楽譜である。
【図１２】第２実施形態の具体的な動作を説明する為の図である。
【符号の説明】
【００５２】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  入力部
５  表示部
６  ＭＩＤＩインタフェース部
１０  演奏練習装置
２０  電子楽器
【図１】
2010002707.tif 000003
【図２】
2010002707.tif 000004
【図３】
2010002707.tif 000005
【図４】
2010002707.tif 000006
【図５】
2010002707.tif 000007
【図６】
2010002707.tif 000008
【図７】
2010002707.tif 000009
【図８】
2010002707.tif 000010
【図９】
2010002707.tif 000011
【図１０】
2010002707.tif 000012
【図１１】
2010002707.tif 000013
【図１２】
2010002707.tif 000014