(57)【要約】【課題】  プロの演奏家を目指している練習生に対するように、わずかな演奏ミスも許容しない厳格な練習方法でなく、アマチュアで楽器の演奏を修得したい人や初心者が長続きできるような練習方法を実現する。【解決手段】  ＣＰＵ１は、曲メモリ５のイベントデータに応じて演奏をガイドし、ガイドしたイベントデータであるＮＯＴＥのノートに対する演奏ミスの有無を判定して、所定数のイベントデータに対して、演奏ミスの比率が所定値αより小さい場合には、その演奏ミスによるＫＥＹの鍵ナンバーの音高に代えて、ガイドされたＮＯＴＥのノートの音高を音源９に出力して発音させ、演奏ミスの比率が所定値α以上である場合には、その演奏ミスによるＫＥＹの鍵ナンバーの音高をそのまま音源９に出力して発音させる。【選択図】  図１
2007139929.tif 000002
【特許請求の範囲】
【請求項１】
入力される曲のイベントデータに応じて演奏をガイドする演奏ガイド手段と、
前記演奏ガイド手段によってガイドされたイベントデータに対する演奏ミスの有無を判定する演奏判定手段と、
所定数のイベントデータに対して、前記演奏判定手段によって判定された演奏ミスの比率が所定値より小さい場合には、当該演奏ミスに係る演奏データに代えてガイドされたイベントデータを音源手段に出力して発音させ、演奏ミスの比率が所定値以上である場合には、当該演奏ミスに係る演奏データを前記音源手段に出力して発音させる発音制御手段と、
を備えた演奏練習装置。
【請求項２】
入力される曲のイベントデータに応じて演奏をガイドするステップＡと、
前記ステップＡによってガイドされたイベントデータに対する演奏ミスの有無を判定するステップＢと、
所定数のイベントデータに対して、前記ステップＢによって判定された演奏ミスの比率が所定値より小さい場合には、当該演奏ミスに係る演奏データに代えてガイドされたイベントデータを音源手段に出力して発音させ、演奏ミスの比率が所定値以上である場合には、当該演奏ミスに係る演奏データを前記音源手段に出力して発音させるステップＣと、
をコンピュータに実行させる演奏練習処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏をガイドする演奏練習装置および演奏練習処理のプログラムに関し、特に、演奏データの誤りの有無を判定する演奏練習装置および演奏練習処理のプログラムに関するものである。
【背景技術】
【０００２】
電子ピアノや電子オルガンのような電子楽器を利用した演奏練習装置の中には、練習の効率を向上させるとともに、単調な練習の繰り返しを回避するものがある。
ある提案の演奏独習装置は、楽譜情報を表示して演奏者に楽器の演奏指示を行う際に、演奏曲の範囲をユニット毎に演奏指示を行う。この場合において、演奏指示のためのユニットの指定を予定の進行に従って自動的に行う自動モードと、任意のユニットを指定できる手動モードとで選択的に動作できる構成になっている。この構成により、自動的に進行を指示できる機能を維持しつつ、演奏者自身が練習の進行を変更することにより、練習の効率を向上させるとともに、単調な練習の繰り返しを回避することができる。（特許文献１参照）
【特許文献１】特開２００４−１０９６１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
楽器の演奏練習が長続きしない理由の１つとして、練習曲又はその一部のフレーズにおいて、演奏ミスが皆無になるまで何度も同じ曲又はフレーズの練習を繰り返すため、次第に演奏に対する自信を喪失することが挙げられる。しかしながら、このような練習法はプロの演奏家を目指している練習生の場合と同じであり、アマチュアで楽器の演奏を修得したい練習生には不向きである。特に、初心者にとって、演奏ミスのために発音される音程外れの音を自分で聴いたり他人に聴かれたりすることは、本来楽しいはずの演奏に苦痛を感じるばかりである。ところが、上記特許文献１を含む従来の演奏練習の場合には、練習者のレベルや希望にかかわらず、プロの演奏家を目指している練習生のように厳格で画一的な演奏練習を行っていたので、アマチュアで楽器の演奏を楽しむために修得したい人や初心者は練習が長続きしなかった。
本発明は、このような従来の課題を解決するためのものであり、アマチュアで楽器の演奏を修得したい人や初心者が長続きできるような練習方法を実現することを目的とする。
【課題を解決するための手段】
【０００４】
請求項１に記載の演奏練習装置は、入力される曲のイベントデータに応じて演奏をガイドする演奏ガイド手段（実施形態においては、図１のＣＰＵ１に相当する）と、演奏ガイド手段によってガイドされたイベントデータ（実施形態においては、ＮＯＴＥのノートに相当する）に対する演奏ミスの有無を判定する演奏判定手段（実施形態においては、図１のＣＰＵ１に相当する）と、所定数のイベントデータに対して、演奏判定手段によって判定された演奏ミスの比率（実施形態においては、図５のＭＩＳＳの値に相当する）が所定値（実施形態においては、図５のαに相当する）より小さい場合には、当該演奏ミスに係る演奏データに代えてガイドされたイベントデータを音源手段（実施形態においては、図１の音源９に相当する）に出力して発音させ、演奏ミスの比率が所定値以上である場合には、当該演奏ミスに係る演奏データ（実施形態においては、ＫＥＹの鍵ナンバーに相当する）を音源手段に出力して発音させる発音制御手段（実施形態においては、図１のＣＰＵ１に相当する）と、を備えた構成になっている。
【０００５】
請求項２に記載の演奏練習処理のプログラムは、入力される曲のイベントデータに応じて演奏をガイドするステップＡと、ステップＡによってガイドされたイベントデータ（実施形態においては、ＮＯＴＥのノートに相当する）に対する演奏ミスの有無を判定するステップＢと、所定数のイベントデータに対して、ステップＢによって判定された演奏ミスの比率（実施形態においては、図５のＭＩＳＳの値に相当する）が所定値（実施形態においては、図５のαに相当する）より小さい場合には、当該演奏ミスに係る演奏データに代えてガイドされたイベントデータを音源手段（実施形態においては、図１の音源９に相当する）に出力して発音させ、演奏ミスの比率が所定値以上である場合には、当該演奏ミスに係る演奏データ（実施形態においては、ＫＥＹの鍵ナンバーに相当する）を音源手段に出力して発音させるステップＣと、をコンピュータに実行させる。
ステップＡないしステップＣは、実施形態においては、図１のＣＰＵ１によって実行される処理に相当する。
【発明の効果】
【０００６】
本発明の演奏練習装置および演奏練習処理のプログラムによれば、アマチュアで楽器の演奏を修得したい人や初心者が長続きできるような練習方法を実現できるという効果が得られる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明による演奏練習装置の実施形態について、電子楽器を例に採って、図１ないし図５を参照して説明する。
図１は、実施形態における電子楽器の構成を示すブロック図である。ＣＰＵ１は、システムバス２を介して、プログラムメモリ３、ワークメモリ４、曲メモリ５、鍵盤６、ガイド部７、スイッチ部８、および音源９に接続され、各部との間でコマンドおよびデータの授受を行ってこの電子楽器を制御する。プログラムメモリ３は、ＣＰＵ１によって実行される演奏練習処理のプログラム、および、デフォルトの初期データなどを記憶している。ワークメモリ４は、ＣＰＵ１によって処理される各種のデータを一時的に記憶する。曲メモリ５は、演奏練習用の複数の曲のイベントデータを記憶している。このイベントデータは、ノートデータ、タイムデータ、および、プログラムチェンジなどの制御データで構成されている。鍵盤６には、各鍵にＬＥＤ（発光ダイオード）が設けられており、押鍵すべき鍵をガイドするために、ガイド部７からの駆動信号によって、その鍵のＬＥＤが点灯する。スイッチ部８は、曲セレクトスイッチ、スタート／ストップスイッチ、その他のスイッチで構成され、操作に応じてコマンドやデータをＣＰＵ１に入力する。音源９は、ＣＰＵ１からの発音指示に応じて楽音信号を発生して、Ｄ／Ａ変換回路、フィルタ回路、増幅回路など（図示せず）を有する発音部１０から発音させる。
【０００８】
次に、図１の電子楽器の動作について、ＣＰＵ１によって実行されるフローチャートに基づいて説明する。
図２は、メインルーチンのフローチャートである。まず、所定のイニシャライズ処理（ステップＳＡ１）の後、各スイッチのオン・オフを検出するスイッチ処理（ステップＳＡ２）、ガイド部７によって鍵盤６の演奏をガイドするガイド処理（ステップＳＡ３）、鍵盤のオン・オフの変化に応じた処理を行う鍵盤処理（ステップＳＡ４）、その他の処理（ステップＳＡ５）を繰り返し実行する。
【０００９】
図４は、メインルーチンにおけるスイッチ処理のフローチャートである。このフローチャートでは、オンされたスイッチに対応する処理を行う。スタート／ストップスイッチがオンされたか否かを判別し（ステップＳＢ１）、このスイッチがオンされたときは、フラグＳＴＦを反転する（ステップＳＢ２）。そして、ＳＴＦが反転して１（曲開始）になったか又は０（曲停止）になったかを判別し（ステップＳＢ３）、ＳＴＦが１になったときは、曲の開始アドレスを指定する（ステップＳＢ４）。次に、指定したアドレスにより曲メモリ５から最初のイベントデータであるノートを読み出し（ステップＳＢ５）、読み出したイベントデータをレジスタＮＯＴＥにストアする（ステップＳＢ６）。そして、ＮＯＴＥによるノートに対応する鍵のＬＥＤを点灯してガイド表示を行う（ステップＳＢ７）。
この後は、アドレスを進める（ステップＳＢ８）。そして、アドレスのイベントデータであるタイムを読み出し（ステップＳＢ９）、レジスタＴにタイムをストアする（ステップＳＢ１０）。次に、レジスタＭＩＳＳを０にクリアし（ステップＳＢ１１）、レジスタＥＲＲＣＮＴを０にクリアし（ステップＳＢ１２）、レジスタＴＯＣＨＣＮＴを０にクリアし（ステップＳＢ１３）、タイマーをスタートする（ステップＳＢ１４）。そして、メインルーチンに戻る。
【００１０】
ステップＳＢ３において、ＳＴＦが１から０（曲停止）に反転したときは、ガイド表示を停止し（ステップＳＢ１５）、タイマーを停止する（ステップＳＢ１６）。そして、メインルーチンに戻る。また、ステップＳＢ１において、スタート／ストップスイッチがオンでない場合には、他のスイッチがオンされたか否かを判別し（ステップＳＢ１７）、他のスイッチがオンされたときは、そのオンされたスイッチに対応する処理を実行する（ステップＳＢ１８）。この後は、メインルーチンに戻る。
【００１１】
図４は、図２のメインルーチンにおけるステップＳＡ３のガイド処理のフローチャートである。ＳＴＦが１であるか否かを判別し（ステップＳＣ１）、ＳＴＦが１であるときは、最小単位時間が経過したか否かを判別する（ステップＳＣ２）。最小単位時間は、イベントデータの進行の単位時間であり、例えば、９６分音符の時間長である。最小単位時間が経過したときは、レジスタＴの値をデクリメントする（ステップＳＣ３）。この後、Ｔの値が０に達したか否かを判別する（ステップＳＣ４）。ステップＳＣ１においてＳＴＦが０である場合、ステップＳＣ２において最小単位時間が経過していない場合、又は、ステップＳＣ４においてＴの値が０に達しない場合には、メインルーチンに戻る。
【００１２】
ステップＳＣ４において、Ｔの値が０に達したときは、アドレスを進める（ステップＳＣ５）。そして、アドレスのイベントデータを読み出し（ステップＳＣ６）、そのイベントデータが曲の終了であるＥＮＤであるか否かを判別する（ステップＳＣ７）。イベントデータがＥＮＤでない場合には、そのイベントデータがノートであるか否かを判別し（ステップＳＣ８）、ノートである場合には、レジスタＮＯＴＥにノートの値である音高をストアする（ステップＳＣ９）。さらに、ＮＯＴＥによるガイド表示を行う（ステップＳＣ１０）。すなわち、ＮＯＴＥの音高に対応する鍵ナンバーのＬＥＤを点灯して押鍵をガイドする。この後は、ステップＳＣ５に移行してアドレスを進める。
【００１３】
ステップＳＣ８において、イベントデータがノートでない場合には、そのイベントデータがタイムであるか否かを判別し（ステップＳＣ１１）、タイムである場合にはレジスタＴにタイムをストアする（ステップＳＣ１２）。この後は、メインルーチンに戻る。ステップＳＣ１１においてイベントデータがタイムでない場合、すなわち、コントロールチェンジなどの制御データである場合には、その他の処理を行う（ステップＳＣ１３）。この後は、ステップＳＣ５に移行してアドレスを進める。
ステップＳＣ７において、イベントデータが曲の終了を示すＥＮＤである場合には、ガイド表示を停止し（ステップＳＣ１４）、タイマーと停止する（ステップＳＣ１５）。そして、ＳＴＦを０にリセットして（ステップＳＣ１６）、図２のメインルーチンに戻る。
【００１４】
図５は、メインルーチンにおけるステップＳＡ４の鍵盤処理のフローチャートである。まず、鍵盤６の各鍵をスキャンして、鍵変化があるか否かを判別する（ステップＳＤ１）。鍵変化がない場合にはメインルーチンに戻るが、鍵変化があったときは、その鍵変化に応じた処理を行う。鍵変化がオンの場合、すなわち押鍵がされたときは、レジスタＫＥＹに鍵ナンバーをストアし（ステップＳＤ２）、押鍵回数を示す変数ＴＯＣＨＣＮＴをインクリメントする（ステップＳＤ３）。次に、ＫＥＹの鍵ナンバーとＮＯＴＥの音高とが一致するか又は異なっているかを判別する（ステップＳＤ４）。すなわち、ＬＥＤの点灯によってガイドされた鍵が正しく押鍵されたか、又は、ガイドされた鍵とは異なる鍵が押鍵された演奏ミスであるか否かを判別する。
【００１５】
ＫＥＹの鍵ナンバーとＮＯＴＥの音高とが異なる演奏ミスのときは、エラー回数を示す変数ＥＲＲＣＮＴをインクリメントする（ステップＳＤ５）。次に、演奏ミスの比率を示すレジスタＭＩＳＳの値が所定値αより小さいか否かを判別する（ステップＳＤ６）。このとき、ＭＩＳＳの値が所定値αより小さい場合には、音源９に対してＮＯＴＥに基づく発音を指示する（ステップＳＤ７）。すなわち、演奏ミスの比率が許容できる範囲である場合には、演奏ミスによる発音の代わりにガイドされたノートに基づく発音を行う。そして、フラグＭＩＳＦを１にセットする（ステップＳＤ８）。
一方、ステップＳＤ６において、ＭＩＳＳの値が所定値α以上で、演奏ミスの比率が許容できない範囲である場合には、音源９に対してＫＥＹに基づく発音を指示する（ステップＳＤ９）。すなわち、押鍵された演奏ミスの鍵ナンバーに従った発音を行う。
ステップＳＤ４において、ＫＥＹの鍵ナンバーとＮＯＴＥの音高とが一致するときは、音源９に対してＫＥＹに基づく発音を指示する（ステップＳＤ９）。この場合には、ガイドに従って正しい押鍵がされた鍵ナンバーに従った発音を行う。
ステップＳＤ８においてＭＩＳＦを１にセットした後、又は、ステップＳＤ９においてＫＥＹに基づく発音を指示した後は、ＥＲＲＣＮＴ／ＴＯＣＨＣＮＴの百分率を計算して、ＭＩＳＳの値をその計算値に更新する（ステップＳＤ１０）。そして、メインルーチンに戻る。
【００１６】
ステップＳＤ１において、鍵変化がオフの場合、すなわち離鍵がされたときは、レジスタＫＥＹに鍵ナンバーをストアする（ステップＳＤ１１）。次に、ＭＩＳＦが１であるか否かを判別し（ステップＳＤ１２）、ＭＩＳＦが１の場合には、音源９に対してＮＯＴＥに基づく消音を指示し（ステップＳＤ１３）、ＭＩＳＦを０にリセットする（ステップＳＤ１４）。ＭＩＳＦが０の場合には、音源９に対してＫＥＹに基づく消音を指示する（ステップＳＤ１５）。ステップＳＤ１４において、ＭＩＳＦをリセットした後、又は、ステップＳＤ１５においてＫＥＹに基づく消音を指示した後は、図２のメインルーチンに戻る。
【００１７】
以上のように、上記実施形態によれば、ＣＰＵ１は、入力される曲のイベントデータに応じて演奏をガイドし、ガイドしたイベントデータであるＮＯＴＥのノートに対する演奏ミスの有無を判定して、所定数のイベントデータに対して、演奏ミスの比率が所定値αより小さい場合には、その演奏ミスによるＫＥＹの鍵ナンバーの音高に代えて、ガイドされたＮＯＴＥのノートの音高を音源９に出力して発音させ、演奏ミスの比率が所定値α以上である場合には、その演奏ミスによるＫＥＹの鍵ナンバーの音高をそのまま音源９に出力して発音させる。
したがって、プロの演奏家を目指している練習生に対するように、わずかな演奏ミスも許容しない厳格な練習方法でなく、アマチュアで楽器の演奏を修得したい人や初心者が長続きできるような練習方法を実現できる。
【００１８】
なお、上記実施形態においては、プログラムメモリ３にあらかじめ記憶された演奏練習処理のプログラムをＣＰＵ１が実行する装置の発明について説明したが、フレキシブルディスク（ＦＤ）、ＣＤ、メモリカードなどの外部記憶媒体に記録されている演奏練習処理のプログラムをハードディスクやフラッシュＲＯＭなどの書き込み可能な不揮発性メモリにインストールするか、又は、インターネットなどのネットワークからダウンロードした演奏練習処理のプログラムを不揮発性メモリにインストールして、そのプログラムをＣＰＵが実行することも可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
【００１９】
すなわち、本発明による演奏練習処理のプログラムは、入力される曲のイベントデータに応じて演奏をガイドするステップＡと、前記ステップＡによってガイドされたイベントデータに対する演奏ミスの有無を判定するステップＢと、所定数のイベントデータに対して、前記ステップＢによって判定された演奏ミスの比率が所定値より小さい場合には、当該演奏ミスに係る演奏データに代えてガイドされたイベントデータを音源手段に出力して発音させ、演奏ミスの比率が所定値以上である場合には、当該演奏ミスに係る演奏データを前記音源手段に出力して発音させるステップＣと、をコンピュータに実行させる。
【図面の簡単な説明】
【００２０】
【図１】本発明の演奏練習装置の実施形態における電子楽器のブロック図。
【図２】図１におけるＣＰＵのメインルーチンのフローチャート。
【図３】図２のメインルーチンにおけるスイッチ処理のフローチャート。
【図４】図２のメインルーチンにおけるガイド処理のフローチャート。
【図５】図４のメインルーチンにおける鍵盤処理のフローチャート。
【符号の説明】
【００２１】
１  ＣＰＵ
２  システムバス
３  プログラムメモリ
４  ワークメモリ
５  曲メモリ
６  鍵盤
７  ガイド部
８  スイッチ部
９  音源
１０  発音部
【図１】
2007139929.tif 000003
【図２】
2007139929.tif 000004
【図３】
2007139929.tif 000005
【図４】
2007139929.tif 000006
【図５】
2007139929.tif 000007