(57)【要約】【課題】  楽音波形をパーソナルコンピュータのソフトウエア上で実現する、いわゆるソフトウエア音源においては、ユーザの押鍵操作から発音が開始されるまでにある程度のタイムラグが生じる。パーソナルコンピュータによる演奏の評価を希望しつつこのタイムラグに違和感を覚えるユーザに対して、違和感を解消する。【解決手段】  ユーザが所定のボタンを押下すると、図１１の処理が開始される。処理が実行される毎にＳＳフラグが反転し、発音が許可または禁止状態に交互に設定される。【選択図】  図１１
2006085186.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる発音可否の指示を認識する過程と、
予め記憶された第１の演奏情報に基づいて、入力された第２の演奏情報に対して評価を行う過程と、
該発音が許可された場合に、該第２の演奏情報に基づいて発音処理を行う過程と、
該発音が拒否された場合に、該第２の演奏情報に基づく発音を禁止する過程と、
前記評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する過程と、
この判定が肯定的であることを条件として、以後入力される第２の演奏情報を記録する過程と
を有することを特徴とする演奏制御方法。
【請求項２】
ユーザによる発音可否の指示を認識する過程と、
該発音が許可された場合に、予め記憶された第１の演奏情報に基づいて、入力された第２の演奏情報に対して評価を行いつつ該第２の演奏情報に基づいて発音処理を行う過程と、
該発音が拒否された場合に、前記第１の演奏情報に基づいて前記第２の演奏情報に対して評価を行いつつ、該第２の演奏情報に基づく発音を禁止する過程と
を有することを特徴とする演奏制御方法。
【請求項３】
予め記憶された第１の演奏情報に基づいて、入力された第２の演奏情報に対して評価を行う過程と、
前記評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する過程と、
この判定が肯定的であることを条件として、以後入力される第２の演奏情報を記録する過程と
を有することを特徴とする演奏情報記録方法。
【請求項４】
ユーザによる発音可否の指示を認識する発音可否認識手段と、
該発音が許可された場合に、予め記憶された第１の演奏情報に基づいて、入力された第２の演奏情報に対して評価を行いつつ該第２の演奏情報に基づいて発音処理を行う発音実行手段と、
該発音が拒否された場合に、前記第１の演奏情報に基づいて前記第２の演奏情報に対して評価を行いつつ、該第２の演奏情報に基づく発音を禁止する発音禁止手段と
を有することを特徴とする演奏練習装置。
【請求項５】
予め記憶された第１の演奏情報に基づいて、入力された第２の演奏情報に対して評価を行う評価手段と、
前記評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する判定手段と、
この判定が肯定的であることを条件として、以後入力される第２の演奏情報を記録する記録手段と
を有することを特徴とする演奏練習装置。
【請求項６】
前記第１の演奏情報を記憶する記憶手段と前記第２の演奏情報を入力する入力手段とプログラムに基づいて処理を実行する処理装置とを有する演奏練習装置が読み取り可能な記録媒体であって、前記処理装置に請求項１乃至３の何れかに記載の方法の各過程を実行させる前記プログラムを記憶したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、和音演奏の練習に用いて好適な演奏制御方法、演奏情報記録方法、演奏練習装置および記録媒体に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等においては、従来より和音練習用のアプリケーションが知られている。このアプリケーションにおいては、和音パートを含む複数のパートからなる演奏情報が再生される。そして、和音パートの演奏情報（以下、模範演奏情報という）に基づいて演奏すべき和音（押下すべき鍵）がディスプレイやＬＥＤインジケータ等によって表示される。また、特許文献１に開示されているように、再生されるパートのうち実際に発音すべきものをユーザが任意に指定できる技術も知られている。従って、例えば演奏情報中の和音パートのみを発音させることもでき、和音パート以外のパートを発音させることもできる。また、演奏情報の再生中にユーザがキーボード等を操作すると、その操作に係る演奏情報（以下、入力演奏情報という）と上記模範演奏情報とが比較される。そして、両者が一致する度合によってユーザの演奏のスキルが評価される。また、ユーザは、所定の操作を行うことにより、随時入力演奏情報を記録することが可能である。
【０００３】
【特許文献１】特開平１１−１６７３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した技術においては、以下のように種々の問題があった。
まず、ユーザは再生されるパートのうち実際に発音すべきパートを指定することができるが、個々のパート毎に発音の可否を設定する作業は煩雑である。また、初心者は各パートの内容を知らないことも多いため、適切な発音可否の設定を行うことも困難であった。また、再生可能な楽曲が複数存在する場合は、各楽曲に対する過去の演奏評価に基づいて楽曲を選択できれば便利であるが、従来の技術ではかかる操作は不可能であった。また、演奏を希望する楽曲の和音が高度なテクニックを要求するものである場合、初心者はその和音の演奏を行う前に、希望する楽曲ではなく、簡単な和音の楽曲から順に練習を積まなければならならず、練習意欲を削ぐことにもなりかねない。さらに、入力演奏情報は模範演奏情報に対して常に一致することが必ずしも望ましいわけではなく、その時々の状況に応じて和音を転回形で演奏した方が望ましい場合もある。しかし、従来の技術では、転回形の和音は模範演奏情報の和音とは音高が異なるために「不正解」と評価されていた。従って、ユーザの演奏のスキルを適切に評価することは困難であった。
【０００５】
特に本願において問題視していることは以下の点である。すなわち、楽音波形をパーソナルコンピュータのソフトウエア上で実現する、いわゆるソフトウエア音源においては、ユーザの押鍵操作から発音が開始されるまでにある程度のタイムラグが生じる。パーソナルコンピュータ等による演奏の評価を希望しつつこのタイムラグに違和感を覚えるユーザに対して、特に対策は採られていなかった。また、ユーザは、所定の操作を行うことにより入力演奏情報を記録することができるが、無条件に記録できるため、記録を行うことによってユーザが達成感を味わえないという問題があった。
【０００６】
この発明は上述した事情に鑑みてなされたものであり、タイムラグに違和感を覚えるユーザに対して対応するとともに、記録を行うことによってユーザが達成感を味わえる演奏制御方法、演奏情報記録方法、演奏練習装置および記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の演奏制御方法にあっては、ユーザによる発音可否の指示を認識する過程（ステップＳＰ２におけるＭＩＤＩセットアップボタン４５のイベント検出、ステップＳＰ１２）と、予め記憶された第１の演奏情報（図８〜１０）に基づいて、入力された第２の演奏情報に対して評価を行う過程（ステップＳＰ６３，ＳＰ７１〜７４，ＳＰ５５〜ＳＰ５７）と、該発音が許可された場合に、該第２の演奏情報に基づいて発音処理を行う過程（ステップＳＰ６４）と、該発音が拒否された場合に、該第２の演奏情報に基づく発音を禁止する過程（ステップＳＰ６４）と、前記評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する過程（ステップＳＰ４１）と、この判定が肯定的であることを条件として、以後入力される第２の演奏情報を記録する過程（ステップＳＰ４２）とを有することを特徴とする。
また、請求項２記載の演奏制御方法にあっては、ユーザによる発音可否の指示を認識する過程（ステップＳＰ２におけるＭＩＤＩセットアップボタン４５のイベント検出、ステップＳＰ１２）と、該発音が許可された場合に、予め記憶された第１の演奏情報（図８〜１０）に基づいて、入力された第２の演奏情報に対して評価を行いつつ（ステップＳＰ６３，ＳＰ６４，ＳＰ７１〜７４）該第２の演奏情報に基づいて発音処理を行う過程（ステップＳＰ６４）と、該発音が拒否された場合に、前記第１の演奏情報に基づいて前記第２の演奏情報に対して評価を行いつつ、該第２の演奏情報に基づく発音を禁止する過程（ステップＳＰ６４）とを有することを特徴とする。
また、請求項３記載の演奏情報記録方法にあっては、予め記憶された第１の演奏情報（図８〜１０）に基づいて、入力された第２の演奏情報に対して評価を行う過程（ステップＳＰ６３，ＳＰ７１〜７４，ＳＰ５５〜ＳＰ５７）と、前記評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する過程（ステップＳＰ４１）と、この判定が肯定的であることを条件として、以後入力される第２の演奏情報を記録する過程（ステップＳＰ４２）とを有することを特徴とする。
また、請求項４記載の演奏練習装置にあっては、ユーザによる発音可否の指示を認識する発音可否認識手段（ステップＳＰ２におけるＭＩＤＩセットアップボタン４５のイベント検出、ステップＳＰ１２）と、該発音が許可された場合に、予め記憶された第１の演奏情報（図８〜１０）に基づいて、入力された第２の演奏情報に対して評価を行いつつ（ステップＳＰ６３，ＳＰ６４，ＳＰ７１〜７４）該第２の演奏情報に基づいて発音処理を行う発音実行手段（ステップＳＰ６４）と、該発音が拒否された場合に、前記第１の演奏情報に基づいて前記第２の演奏情報に対して評価を行いつつ、該第２の演奏情報に基づく発音を禁止する発音禁止手段（ステップＳＰ６４）とを有することを特徴とする。
また、請求項５記載の演奏練習装置にあっては、予め記憶された第１の演奏情報（図８〜１０）に基づいて、入力された第２の演奏情報に対して評価を行う評価手段（ステップＳＰ６３，ＳＰ７１〜７４，ＳＰ５５〜ＳＰ５７）と、前記評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する判定手段（ステップＳＰ４１）と、この判定が肯定的であることを条件として、以後入力される第２の演奏情報を記録する記録手段（ステップＳＰ４２）とを有することを特徴とする。
また、請求項６記載の記録媒体にあっては、前記第１の演奏情報を記憶する記憶手段と前記第２の演奏情報を入力する入力手段とプログラムに基づいて処理を実行する処理装置（ＣＰＵ１８）とを有する演奏練習装置が読み取り可能な記録媒体であって、前記処理装置に請求項１乃至３の何れかに記載の方法の各過程を実行させる前記プログラムを記憶したことを特徴とする。
【発明の効果】
【０００８】
このように、ユーザによる発音可否の指示に基づいて、第２の演奏情報に基づく発音処理を行うか否かを選択できる構成によれば、タイムラグに違和感を覚えるユーザは発音を禁止することによって、違和感を解消することができる。また、入力された第２の演奏情報に対する評価に基づいて、以後入力される第２の演奏情報の記録を許容するか否かを判定する構成によれば、記録を行うことによってユーザが達成感を味わうことができる。
【発明を実施するための最良の形態】
【０００９】
1．実施例の構成
次に、本発明の一実施例の構成を図１を参照し説明する。なお、本実施例は汎用パーソナルコンピュータ１によって和音練習装置を実現したものである。
パーソナルコンピュータ１の内部において１８はＣＰＵであり、後述する制御プログラムによりバス１０を介してパーソナルコンピュータ１内の各部を制御する。
【００１０】
２１は鍵盤であり、ＭＩＤＩインターフェース１１を介してパーソナルコンピュータ１に演奏情報（入力演奏情報）を供給する。２２はキーボード、マウス等の操作子であり、検出回路１２を介してＣＰＵ１８に各種の操作情報を入力する。２３は表示部であり、表示回路１３を介してユーザに各種の情報を表示する。
【００１１】
１４は通信インターフェースであり、通信ネットワーク２４との間で各種の情報をやりとりする。１５は外部記憶装置であり、フレキシブルディスクドライブ、ハードディスクドライブ、ＭＯドライブ等から構成され、オペレーティングシステム、和音練習アプリケーションプログラムおよび演奏情報等が格納される。１７はＲＯＭであり、パーソナルコンピュータ１においてオペレーティングシステムを起動させるためのイニシャルプログラムローダ等が記憶されている。
【００１２】
１６はＲＡＭであり、ＣＰＵ１８によって読出しおよび書込み可能になっている。１９はタイマであり、所定時間毎にＣＰＵ１８に対してタイマ割込みを発生させる。２０はサウンドボードであり、ＣＰＵ１８によって生成されたデジタル信号の楽音波形をアナログ信号に変換する。２６はサウンドシステムであり、サウンドボード２０から出力された楽音波形を発音する。
【００１３】
次に、２５は外部音源であり、鍵盤２１から出力された演奏情報に基づいて楽音波形を合成する。この楽音波形もサウンドシステム２６を介して発音される。但し、外部音源２５は必須の構成要素ではなく、省略してもよい。
【００１４】
2．実施例のデータ構成
2．1．ファイル構成
次に、本実施例で用いられる演奏情報のファイル構成を図６を参照し説明する。演奏情報のファイルフォーマットは、ＳＭＦ（スタンダードＭＩＤＩファイル）形式であり、慣例に従って拡張子は「.MID」である。
【００１５】
拡張子以外の部分は、「（ジャンル名）−（レベル）」の形式で表現される。ここで、「ジャンル名」とは、楽曲の曲名（または曲名を簡略化して成る文字列）をいう。また、「レベル」とは演奏の難易度を示すものであり、一のジャンル名に対して「BGN（初級）」、「MID（中級）」および「EXP（上級）」の３種類が設けられる。
【００１６】
2．2．ファイル形式
上記各演奏情報ファイルの形式を図７に示す。図において演奏情報ファイルは設定情報９０と演奏情報１００とから構成される。ここで設定情報９０は、楽曲再生に係る各種の初期設定情報であり、テンポの値、マスターボリュームの値、各パートの音色等を規定する。
【００１７】
また、演奏情報１００は、ＳＭＦフォーマット“０”に対応するものであり、複数のタイミングデータ１１０，１１０，……と、各タイミングデータ１１０，１１０，……の後に設けられるイベントデータ１２０，１２０，……と、末尾に設けられるエンドデータ１３０とから構成される。
【００１８】
タイミングデータ１１０，１１０，……は、これらに続く各イベントデータ１２０，１２０，……の再生タイミングを表す。また、エンドデータ１３０は楽曲の終了位置を表す。イベントデータ１２０，１２０，……は該イベントの内容を表す情報であり、同一タイミングで再生されるべき複数パート分のイベントの内容を記憶することも可能である。
【００１９】
具体的には、一のイベントデータ１２０には、一または複数の演奏イベント１２１，１２２，……が含まれている。演奏イベント１２１，１２２，……はノートオン，ノートオフ等の楽曲再生に関するイベントである。そして、これら演奏イベント１２１，１２２，……に対して、各々のパート（ＭＩＤＩチャンネル番号に相当する）を示す番号部１４１，１４２，……が設けられている。
【００２０】
ここで、パート４，５は、各々右手，左手で演奏されるべきピアノ音色の和音パートであり、パート１０はパーカッション音のパートである。その他のパートは、メロディや伴奏音等のパートである。
【００２１】
１５０は和音テキスト部であり、パート４，５の内容（和音演奏の進行）に対応付けて順次記憶されている。すなわち、演奏イベント１２１，１２２，……が和音に係るパート４または５のイベントを含む場合には、その和音名（「Ｅ」，「Ｅ７」，「ＥＭ９」等）がテキスト形式で記憶される。また、１５１は歌詞テキスト部であり、当該タイミングで発声されるべき歌詞の文字列が存在する場合は、その文字列をテキスト形式で記憶する。
【００２２】
2．3．和音イベント情報の内容
次に、各レベルに応じた和音イベント情報の例を図８〜図１０を参照し説明する。
これらの図において縦線は拍タイミングを示しており、１小節は４拍から成る。「Ｅ」，「Ｅ７」，「ＥＭ９」等の文字は和音テキスト部１５０に基づく和音名であり、黒丸印はノートオンのタイミングである。また、黒丸印から図上右方向に延びる線分は和音の持続時間を示している。
【００２３】
まず、図８は初級者（Beginner）用の和音イベント情報の一例である。この例にあっては、右手での和音演奏を中心とした内容になっており、ノートオンのタイミングがなるべく拍タイミングに一致するように設定され、かつ、和音の持続時間はなるべく拍タイミング間隔の整数倍になるように設定されている。
【００２４】
次に、図９は中級者（Middle）用の和音イベント情報の一例である。図示のように、右手での和音演奏は７th程度の属性を表すものが加わっている。また、左手の演奏は根音を表すものになっている。ノートオン／オフのタイミングもある程度曲の雰囲気に合ったタイミングに設定され、その結果、拍タイミングからややずれる場合もある。
【００２５】
次に、図１０は上級者（Expert）用の和音イベント情報の一例である。右手での和音演奏はテンションコードまで含み、左手での和音演奏はフラットやシャープの付いた音名も含むものになっている。また、ノートオン／オフのタイミングは、最も楽曲の雰囲気に合うように設定されている。
【００２６】
上述した各レベルにおいては、上記パート中のパート４，５および和音テキスト部１５０の内容にある。パート１０およびその他のパートについては、レベルが異なったとしても同ジャンル（曲名）であれば同じ情報が記憶されている。
【００２７】
3．実施例の動作
3．1．和音練習アプリケーションの起動
次に、本実施例の動作を説明する。
まず、パーソナルコンピュータ１の電源が投入されると、ＲＯＭ１７に格納されたイニシャルプログラムローダが実行され、オペレーティングシステムが立上る。このオペレーティングシステムにおいて所定の操作を行うと、本実施例の和音練習アプリケーション（図２）が起動される。
【００２８】
図２において処理がステップＳＰ１に進むと、所定の初期設定が行われる。ここでは、和音練習アプリケーションのメインウィンドウ４０（図３参照）が表示部２３に表示される。次に、処理がステップＳＰ２に進むと、オペレーティングシステムからなんらかのメッセージを受信するまで処理が待機する。ここで何らかのメッセージを受信すると、処理はステップＳＰ３に進み、該メッセージに対応するルーチン（詳細は後述する）が呼び出される。
【００２９】
以後、ステップＳＰ２，ＳＰ３の処理が繰返される。ここで、和音練習アプリケーション配下のウィンドウ（メインウィンドウ４０等）にフォーカスがある場合は、操作子２２におけるキーボードイベント、マウスイベント等は、オペレーティングシステムから上記メッセージとして和音練習アプリケーションに通知される。同様に、タイマ割込み等、各種の割込みが発生した場合においても、その旨が和音練習アプリケーションに通知される。なお、発生するイベントに応じて実行される個々の処理の詳細については後述する。
【００３０】
ここで、メインウィンドウ４０の詳細を説明しておく。図３において４１は和音進行表示部であり、再生中の演奏情報における和音テキスト部１５０に基づいて、右手および左手で演奏すべき和音の和音名と、これら和音のノートオンタイミング（黒丸印）とを表示する。さらに和音進行表示部４１の最下段には、歌詞テキスト部１５１に基づいて歌詞のテキストが表示される。図８〜図１０と同様に、縦線は拍タイミングを示す。
【００３１】
和音進行表示部４１には、現在演奏中の小節が表示されるため、その内容は楽曲の進行に伴って更新されてゆく。５１は鍵盤インジケータであり、鍵盤をあしらった図形が表示され、現在演奏すべき和音に対応する鍵を点灯表示する。４２はソロボタン、４３はミュートボタンであり、各々動作モードをソロモードまたはミュートモード（詳細は後述する）に設定する。
【００３２】
４４はソングセレクトボタンであり、選択ウィンドウ６０（図４）の表示を指示する。４５はＭＩＤＩセットアップボタンであり、鍵盤２１からの入力演奏情報をサウンドボード２０を介して出力するか否かを設定する。４７はスタートボタンであり、演奏情報の再生開始を指示する。４９はストップボタンであり、演奏情報の再生停止を指示する。
【００３３】
具体的には、本実施例においては、演奏情報の自動再生を行うか否かを示すRUNフラグが設けられており、スタートボタン４７が押下されるとRUNフラグが“１”に、ストップボタン４９が押下されるとRUNフラグが“０”に設定される。４６は巻き戻しボタンであり、４８は早送りボタンである。また、５０はレックボタンであり、入力演奏情報の記録を指示する。
【００３４】
3．2．ＭＩＤＩセットアップボタン４５のイベント処理
ＭＩＤＩセットアップボタン４５がマウスでクリックされると、図１１に示すルーチンが起動される。図において処理がステップＳＰ１１に進むと、SSフラグが反転される。なお、SSフラグは初期設定時（ステップＳＰ１）において“１”に設定されている。次に処理がステップＳＰ１２に進むと、SSフラグが“１”であるか否かが判定される。
【００３５】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１３に進み、ＭＩＤＩインターフェース１１を介して入力された入力演奏情報の発音、すなわち内部ソフトウエア音源を用いてのが許可される。一方、ステップＳＰ１２において「ＮＯ」と判定されると、処理はステップＳＰ１４に進み、該入力演奏情報の発音が禁止される。以上で本ルーチンの処理は終了する。従って、ユーザは、ＭＩＤＩセットアップボタン４５をマウスでクリックする毎に該入力演奏情報のソフトウエア音源を用いての発音のオンオフを切り換えることができる。
【００３６】
ここで、入力演奏情報に対する発音のオンオフを切り換える意義について説明しておく。本実施例のように楽音波形をパーソナルコンピュータのソフトウエア上で実現する、いわゆるソフトウエア音源においては、ユーザの押鍵操作から発音が開始されるまでにある程度のタイムラグが生じる。これに対して違和感を覚えるユーザが存在することも事実である。そこで、ユーザが外部音源２５を使用でき、かつその性能が満足できるものである場合は、レスポンスの早い外部音源２５を用いた方が好適である。
【００３７】
そこで、本実施例においては、ユーザが希望する場合には、鍵盤２１の演奏情報に基づいて外部音源２５で楽音波形を合成し、パーソナルコンピュータ１を介さずにサウンドシステム２６から発音させることを可能としたものである。さらに、外部音源２５およびソフトウエア音源の発音切換は、ＭＩＤＩセットアップボタン４５をクリックするという簡単な操作によって可能である。しかも、外部音源２５を使用するか否かにかかわらず入力演奏情報はＭＩＤＩインターフェース１１を介してパーソナルコンピュータ１に送られるから、入力演奏情報に対する評価（詳細は後述する）は何れの場合においてもパーソナルコンピュータ１において実行されることになる。
【００３８】
3．3．ソロボタン４２，ミュートボタン４３のイベント処理
ソロボタン４２またはミュートボタン４３がマウスでクリックされると、図１２に示すルーチンが起動される。図において処理がステップＳＰ２１に進むと、押下されたボタンに応じて動作モードが選択され再生パートが設定される。すなわち、ソロボタン４２が押下された場合（ソロモード）においては、和音に係るパート４，５と、パーカッション音に係るパート１０のみが再生パート（実際に発音されるパート）に設定される。
【００３９】
一方、ミュートボタン４３が押下された場合（ミュートモード）においては、パート４，５以外の全てのパートが再生パートに設定される。ここで、ソロモードにおいてパート１０のパーカッション音を再生する意義について説明しておく。本来ソロモードは模範演奏情報の和音を聞きながらユーザが練習するための動作モードであるが、実際に和音のみを再生すると、リズム感がつかみにくいという問題がある。
【００４０】
そこで、本実施例においては、ユーザがリズム感をつかみやすいように、ソロモードにおいてもパーカッション音を再生することとしたものである。しかも、かかる操作は「ソロボタン４２をマウスでクリックする」というワンタッチの動作で可能であるため、ユーザはどのパートが和音でありどのパートがパーカッション音であるかを知る必要はなく、初心者でも最適なパート選択を確実かつ迅速に実行することができる。
【００４１】
3．4．ソングセレクトボタン４４のイベント処理
ソングセレクトボタン４４がマウスでクリックされると、図４に示す選択ウィンドウ６０が表示部２３に表示される。図４において６４はジャンル表示部であり、曲名またはこれを簡略化した文字列であるジャンル名が表示される。図示の例では、選択ウィンドウ６０の縦方向に沿って１０個のジャンル表示部６４が設けられている。
【００４２】
６５は初級者（Beginner）用の演奏情報を選択する選択ボタンであり、各ジャンル表示部６４に対応して縦方向に１０個設けられている。６６は記録インジケータであり、各演奏情報毎に設けられたENABLEフラグ（詳細は後述する）が“１”である場合に点灯し、“０”である場合に消灯する。なお、このENABLEフラグは、ＭＩＤＩインターフェース１１からの入力演奏情報を記録しても良いか否かを示すフラグである。また、６７は得点表示部であり、初級者用の各演奏情報に対してユーザが取得した最高得点を１０段階のヒストグラムで表示する。
【００４３】
初級者用と同様に、中級者（Middle）用の選択ボタン６８，記録インジケータ６９，得点表示部７０および上級者（Expert）用の選択ボタン７１，記録インジケータ７２，得点表示部７３が順次選択ウィンドウ６０の横方向に沿って配列されている。これにより、ユーザは、縦方向の「ジャンル」と横方向の「レベル」から成るマトリクス上で過去の最高得点および入力演奏情報の記録の可否を一望することができる。
【００４４】
６３は選択ジャンル名表示部であり、選択された演奏情報のジャンル名を表示する。７６はＯＫボタンであり、選択された演奏情報を確定して選択ウィンドウ６０を閉じるために設けられている。７５はキャンセルボタンであり、選択結果を破棄して選択ウィンドウ６０を閉じるために設けられている。
【００４５】
７４は詳細得点表示部であり、選択された演奏情報に対してユーザが取得した最高得点を表示する。なお、上述した得点表示部６７，７０，７３は100点満点の最高得点を１０段階で表示するものであったが、詳細得点表示部７４においては１点単位まで表示される。
【００４６】
ここで、何れかの選択ボタン６５，６８，７１がマウスでクリックされると、図１３に示すルーチンが起動される。図において処理がステップＳＰ３１に進むと、現在の選択状態が全てリセットされる。次に処理がステップＳＰ３２に進むと、新たにクリックされた選択ボタン６５，６８，７１に対応する演奏情報が選択状態になる。すなわち、該選択ボタン６５，６８，７１が点灯され、これに応じて選択ジャンル名表示部６３および詳細得点表示部７４の表示も更新される。
【００４７】
従って、各選択ボタン６５，６８，７１は、クリックされると排他的に選択（点灯）状態になる。図示の例では、１番目のジャンル「BRCK NVC」の初級者（Beginner）用の演奏情報が選択されている。このようにして演奏情報が選択された後にＯＫボタン７６が押下されると、選択結果された演奏情報が確定され選択ウィンドウ６０が閉じられる。これにより、メインウィンドウ４０が再び表示される。
【００４８】
その際、和音進行表示部４１には、パート４，５の内容に基づく演奏タイミング、和音テキスト部１５０に基づく和音名および歌詞テキスト部１５１の内容が表示される。ここで、パート４，５の内容に基づく演奏タイミングおよび和音テキスト部１５０に基づく和音名は、図８〜図１０に表示したものと同様の形式で表示される。また、対応する歌詞テキスト部１５１が存在する場合には併せて歌詞テキストが表示される（図３参照）。
【００４９】
3．5．レックボタン５０のイベント処理
メインウィンドウ４０においてレックボタン５０がマウスでクリックされると、図１４に示すルーチンが起動される。図において処理がステップＳＰ４１に進むと、選択された演奏情報に係るENABLEフラグが“１”であるか否かが判定される。ここで「ＮＯ」と判定されると、本ルーチンは終了するため、実質的な処理は行われない。
【００５０】
一方、「ＹＥＳ」と判定されると、処理はステップＳＰ４２に進み、RECフラグが“１”に設定される。なお、RECフラグは入力演奏情報を記録するか否かを示すフラグであり、初期状態では“０”に設定されている。以上により本ルーチンの処理は終了する。
【００５１】
3．6．タイマ割込み処理（再生中）
本実施例においては、所定時間毎にタイマ１９によるタイマ割込みが発生する。このタイマ割込みが発生すると、図１５に示すルーチンが起動される。図において処理がステップＳＰ５１に進むと、RUNフラグが“１”であるか否かが判定される。ここで「ＮＯ」と判定されると、本ルーチンの処理は直ちに終了する。
【００５２】
一方、先にスタートボタン４７が押下された場合等、RUNフラグが“１”に設定されている場合は「ＹＥＳ」と判定され、処理はステップＳＰ５２に進む。ここでは、再生中の演奏情報が読み出され、今回のタイマ割込みタイミングにおける再生パートのイベント処理が実行される。すなわち、今回発生すべきイベントに応じて、楽音波形の合成が開始され、合成された楽音波形はサウンドボード２０、サウンドシステム２６を介して発音される。
【００５３】
その際、動作モードがソロモードであれば和音に係るパート４，５と、パーカッション音に係るパート１０に対して楽音波形が合成され、ミュートモードにおいてはパート４，５以外の全てのパートに対して楽音波形が合成される。なお、今回のタイマ割込みタイミングに対して再生すべきイベントが存在しない場合は、ステップＳＰ５２において実質的な処理は行われない。
【００５４】
次に、処理がステップＳＰ５３に進むと、今回のタイマ割込みタイミングにおけるコード情報すなわちパート４，５に係る演奏情報に基づいて、演奏ガイドが実施される。すなわち、これら演奏情報に基づいて鍵盤インジケータ５１の表示内容が更新され、和音テキスト部１５０および歌詞テキスト部１５１の内容に基づいて和音進行表示部４１内の和音名および歌詞が更新される。
【００５５】
なお、今回のタイミングに再生すべきコード情報、和音テキスト部１５０または歌詞テキスト部１５１が存在しない場合は、ステップＳＰ５３において実質的な処理は行われない。次に、処理がステップＳＰ５４に進むと、今回の演奏情報におけるイベントがエンドデータ１３０であるか否かが判定される。再生中の演奏情報が未だエンドデータ１３０まで達していなければここで「ＮＯ」と判定され、本ルーチンの処理は終了する。
【００５６】
3．7．鍵盤イベント割込
ＭＩＤＩインターフェース１１に入力演奏情報（鍵盤２１のキーオン／キーオフイベント）が供給されると、これに基づいてＣＰＵ１８に割込みが発生し、図１６に示すルーチンが起動される。図において処理がステップＳＰ６１に進むと、現在押下されている鍵（キーオンイベントが発生し対応するキーオフイベントが未だ発生していない鍵）に対する押鍵パターンが作成される。
【００５７】
この押鍵パターンの例を図１８(a)に示す。図において押鍵パターンは１２ビットから構成され、各ビットが各々12個の音名（Ｃ，Ｃ＃，Ｄ，……，Ａ＃，Ｂ）に対応する。ここで押下されている鍵に対応する音名のビットは“１”に設定され、それ以外のビットは“０”に設定されている。
【００５８】
図１６に戻り、処理がステップＳＰ６２に進むと、RUNフラグが“１”であるか否か（演奏情報が再生中であるか否か）が判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ６３に進む。ここでは、図１７に示すサブルーチンが呼び出され、模範演奏情報との比較により、入力演奏情報に係る上記キーオン／キーオフイベントが正しいか否かが判定される。
【００５９】
その詳細を説明する。図１７において処理がステップＳＰ７１に進むと、キーオン／キーオフイベントの発生タイミングが和音の模範演奏情報（パート４，５）の何れかのイベントタイミングの許容幅内（例えば±３００ｍｓｅｃ）に収まるか否かが判定される。収まる場合は「ＹＥＳ」と判定され、処理はステップＳＰ７２に進む。
【００６０】
上述したように、本実施例においては、模範演奏情報の和音に対して和音テキスト部１５０に和音名が記憶されている。そして、和音名が決定すれば、その和音を構成する音名が一意に決定される。そこで、本実施例においては、各和音名に対して１２ビットから成るコードパターンが予め作成され、外部記憶装置１５に記憶されている。各コードパターンは、図１８(b)に示すように、押鍵パターン（同図(a)）と同一のフォーマットを有している。
【００６１】
さて、ステップＳＰ７２においては、上記模範演奏情報のイベントにおける和音テキスト部１５０に基づいて、対応するコードパターンが読み出される。次に処理がステップＳＰ７３に進むと、押鍵パターンと読み出されたコードパターンとが一致するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ７４に進み、当該模範演奏情報のイベントに対して「正解した」旨がＲＡＭ１６内の所定領域（演奏評価バッファ）に記録される。
【００６２】
このように、ステップＳＰ７３においては、入力演奏情報および模範演奏情報の音名の一致が判定され、例えば従来技術のようにキーコード等が比較されるのではない点も本実施例の特徴の一つである。このような判定を行うことにより、模範演奏情報に対してユーザが転回形で演奏した場合においても、「正解した」と判断される。これは、ユーザその時々の状況に応じて和音を転回形で演奏した方が望ましい場合もあるためである。このように、本実施例においては、転回形による和音演奏のバリエーションを広げつつ正確な判定を行うことができる。
【００６３】
以上のステップが終了すると、処理は鍵盤イベント割込ルーチン（図１６）に戻る。なお、入力演奏情報のキーオン／キーオフイベントのタイミングが模範演奏情報の何れのイベントに対しても許容幅外であった場合、あるいは、押鍵パターンとコードパターンとが一致しなかった場合は、それぞれステップＳＰ７１あるいはＳＰ７３において「ＮＯ」と判定され、「正解した」旨が演奏評価バッファに記録されることなく処理は鍵盤イベント割込ルーチン（図１６）に戻る。
【００６４】
ところで、上述したステップＳＰ７３における判定は、RUNフラグが“１”であって模範演奏情報（パート４，５）の何れかのイベントタイミングの許容幅内であれば、入力演奏情報の複数回のキーオン／キーオフイベントに対して実行されうる。従って、この許容幅内であれば、何度誤鍵操作があったとしても、少なくとも１回正しい鍵が押下されれば、「正解した」旨が演奏評価バッファに記録され、得点に反映されることになる。
【００６５】
次に、図１６において処理がステップＳＰ６４に進むと、入力演奏情報のキーオン／キーオフイベントに基づいて発音／消音の楽音処理が行われる。次に処理がステップＳＰ６５に進むと、RECフラグが“１”であるか否かが判定される。ここで「ＹＥＳ」と判定されると、該入力演奏情報のイベントが外部記憶装置１５内のファイルに記録される。以上により鍵盤イベント割込ルーチンの処理は終了する。
【００６６】
3．8．タイマ割込み処理（再生終了）
上述したように本実施例においては所定時間毎にタイマ割込み処理ルーチン（図１５）が起動され、演奏情報が自動再生される。ここで、演奏情報の末尾におけるエンドデータ１３０が読み出されると、ステップＳＰ５４において「ＹＥＳ」と判定され、処理がステップＳＰ５５に進む。
【００６７】
ここでは、演奏評価バッファの内容が読み出され、入力演奏情報の誤鍵回数、正解回数、正解押鍵完了までに要した時間、選択された演奏情報のレベル等に基づいて、ユーザ演奏に対する評価（点数）が算出される。この評価は、図５に示す得点ウィンドウに表示される。図において８０は得点表示部であり、ユーザが獲得した得点を表示する。また、８１はメッセージ表示部であり、獲得した得点に応じた文字列のメッセージを表示する。８２はＯＫボタンであり、マウスでクリックされると、得点ウィンドウが閉じられる。
【００６８】
図１５に戻り、次に処理がステップＳＰ５６に進むと、この獲得した得点が所定値を超えているか否かが判定される。ここで「ＹＥＳ」と判定されると、当該演奏情報のENABLEフラグが“１”にセットされる。これにより、以後、ユーザは当該演奏情報に対してレックボタン５０を操作して入力演奏情報を記録することが可能になる。なお、ステップＳＰ５６において「ＮＯ」と判定されると、ステップＳＰ５７はスキップされる。
【００６９】
次に、処理がステップＳＰ５８に進むと、今回取得した得点と、過去の最高得点とが比較され、今回取得した得点が最高得点を超えていれば、今回取得した得点が新たな最高得点として外部記憶装置１５内の所定ファイルに格納される。このように、本ルーチンにおいてENABLEフラグあるいは最高得点が更新されると、以後選択ウィンドウ６０が開かれた場合は、新たに設定された状態に基づいて記録インジケータ６６，６９，７２、得点表示部６７，７０，７３等が表示されることになる。
【００７０】
4．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、１つのジャンル名（曲名）に対応して複数のレベルの演奏情報を独立したファイルに記憶したが、レベル毎に異なる情報（例えば和音テキスト部１５０やパート４，５の演奏情報）のみを独立して記憶させ、各レベルにおいて同一の情報（例えば歌詞テキスト部１５１やパート４，５以外の演奏情報）を共通のファイルに記憶させてもよい。この場合、再生時には共通のファイルと、レベル毎の個別ファイルのうち何れかとが共に読み出されることになる。これにより、所要記憶容量を削減することができる。
【００７１】
(2)上記実施例においては、演奏情報のレベルとして初級，中級，上級の３段階を設けたが、初級，上級の２段階にしてもよく、４段階以上にしてもよい。要するに、１つのジャンル名に対して練習内容の難易度が異なる複数の演奏情報を提供できればよい。
【００７２】
(3)上記実施例においては、演奏情報内に和音テキスト部１５０を設けて和音名を特定したが、和音テキスト部１５０を設けることなくパート４，５の演奏イベント１２１，１２２，……に基づいて和音名を特定してもよい。これは、パート４，５に係るノートオン／オフイベントに含まれるキーコードを参照すれば可能である。
【００７３】
すなわち、キーコードは例えば全８８鍵に対して昇順に番号を付したものであるから、これを「１２」で除算した「余り」は各音名に対応する値になる。そして、持続中の（ノートオンが発生し未だノートオフが発生していない）音名に対応するビットを“１”とし、その他のビットを“０”とする１２ビットのビット列を作成し、そのビット列に一致するコードパターン（図１８(b)）を検索すれば、演奏中の任意の時点において演奏されるべき和音名を特定することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施例の和音練習装置のブロック図である。
【図２】上記実施例のメインルーチンのフローチャートである。
【図３】上記実施例におけるメインウィンドウ４０を示す図である。
【図４】上記実施例における選択ウィンドウ６０を示す図である。
【図５】上記実施例における得点ウィンドウを示す図である。
【図６】上記実施例における演奏情報のファイル構成を示す図である。
【図７】上記実施例における演奏情報のデータ構成を示す図である。
【図８】初級者用の和音イベント情報の一例を示す図である。
【図９】中級者用の和音イベント情報の一例を示す図である。
【図１０】上級者用の和音イベント情報の一例を示す図である。
【図１１】ＭＩＤＩセットアップボタン４５のイベント処理ルーチンのフローチャートである。
【図１２】ソロボタン４２，ミュートボタン４３のイベント処理ルーチンのフローチャートである。
【図１３】選択ボタン６５，６８，７１のイベント処理ルーチンのフローチャートである。
【図１４】レックボタン５０のイベント処理ルーチンのフローチャートである。
【図１５】タイマ割込み処理ルーチンのフローチャートである。
【図１６】鍵盤イベント割込ルーチンのフローチャートである。
【図１７】押鍵判定サブルーチンのフローチャートである。
【図１８】押鍵パターンおよびコードパターンを例示する図である。
【符号の説明】
【００７５】
１……パーソナルコンピュータ、１０……バス、１１……ＭＩＤＩインターフェース、１２……検出回路、１３……表示回路、１４……通信インターフェース、１５……外部記憶装置、１６……ＲＡＭ、１７……ＲＯＭ、１８……ＣＰＵ、１９……タイマ、２０……サウンドボード、２１……鍵盤、２２……操作子、２３……表示部、２４……通信ネットワーク、２５……外部音源、２６……サウンドシステム、４０……メインウィンドウ、４１……和音進行表示部、４２……ソロボタン、４３……ミュートボタン、４４……ソングセレクトボタン、４５……ＭＩＤＩセットアップボタン、４６……巻き戻しボタン、４７……スタートボタン、４８……早送りボタン、４９……ストップボタン、５０……レックボタン、５１……鍵盤インジケータ、６０……選択ウィンドウ、６３……選択ジャンル名表示部、６４……ジャンル表示部、６５，６８，７１……選択ボタン、６６，６９，７２……記録インジケータ、６７，７０，７３……得点表示部、７４……詳細得点表示部、７５……キャンセルボタン、７６……ＯＫボタン、８０……得点表示部、８１……メッセージ表示部、８２……ＯＫボタン、９０……設定情報、１００……演奏情報。
【図１】
2006085186.tif 000003
【図２】
2006085186.tif 000004
【図３】
2006085186.tif 000005
【図４】
2006085186.tif 000006
【図５】
2006085186.tif 000007
【図６】
2006085186.tif 000008
【図７】
2006085186.tif 000009
【図８】
2006085186.tif 000010
【図９】
2006085186.tif 000011
【図１０】
2006085186.tif 000012
【図１１】
2006085186.tif 000013
【図１２】
2006085186.tif 000014
【図１３】
2006085186.tif 000015
【図１４】
2006085186.tif 000016
【図１５】
2006085186.tif 000017
【図１６】
2006085186.tif 000018
【図１７】
2006085186.tif 000019
【図１８】
2006085186.tif 000020