(57)【要約】【課題】演奏する曲によっては、曲の進行過程で一連の音高が演奏者の手の幅を超える程、高音側或いは低音側に向かって音高が変化していくことがある。このような音高が連続して一方向に変化する曲を演奏するときは、手の位置を移動するのに指くぐり、腕クロス、或いは、指広げなど難易度の高い運指方法で指示することになってしまう。【解決手段】音高と運指データから成る曲データをメモリから読み出し、この音高に対応する運指データが指替えを指示する運指か否かを検出して、指替えを指示する運指画像、及び、指替えと異なる運指画像を夫々生成して運指指示する構成とした。【選択図】      図１６
2004205791.tif 000002
【特許請求の範囲】
【請求項１】
曲を構成する曲データを記憶する記憶手段と、
前記記憶手段より曲データを順次読み出す読出手段と、
この読み出された曲データに対応する演奏に用いられる運指が指替えを指示する運指か否かを検出する指替検出手段と、
前記指替検出手段の検出結果に基づき、指替えを指示する運指画像、或いは、指替えと異なる運指画像を夫々生成する運指指示手段と、
を具備して成る運指指示装置。
【請求項２】
前記記憶手段に記憶されている曲データは、一連の音高と、この音高の演奏に用いる指を指定する運指データとから成り、前記指替えを指示する運指データは、一つの音高に対して先に押鍵する指を示す前運指のデータと、この先に押鍵された指に替えて異なる指に変更する後運指のデータと、から成ることを特徴とする請求項１記載の運指指示装置。
【請求項３】
前記運指指示手段は、前記押鍵する指を示す前運指と後運指の運指データに基づき、前運指と後運指の双方に対応する運指指示を夫々異なる態様で指示することを特徴とする請求項２に記載の運指指示装置。
【請求項４】
前記運指指示手段は、前記指替えを指示する運指データに基づき、前運指と後運指の双方に対応する運指指示をするとともに、当該運指の対象となる音高を指示表示することを特徴とする請求項３に記載の運指指示装置。
【請求項５】
記憶手段に記憶されている曲データを読み出す読出ステップと、
この読み出された曲データに対応する演奏に用いられる運指が指替えを指示する運指か否かを検出する指替検出ステップと、
この検出結果に基づき、指替えの運指画像、或いは、指替えと異なる運指画像を夫々生成する運指指示ステップと、
から成る運指指示処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、運指指示装置及び運指指示処理プログラムに関する。
【０００２】
【従来の技術】
従来より、電子鍵盤楽器のレッスン機能として演奏する運指画像を表示する技術が知られている。
例えば、演奏中の音高データ及び運指データに応じて、次に最も演奏操作が容易となる運指画像を記憶手段から選択して表示する運指指示装置がある。（特許文献１参照）
また、記憶装置に運指ガイドのデータと、押鍵操作開始時の運指画像データ、及び、次に押鍵する鍵の操作開始に至るまでの経過を示す運指画像データを記憶し、この運指ガイドデータに応じて、離鍵してから次の押鍵操作がなされるまでの運指の経過を運指画像データから選択して読み出し、この運指の経過の画像を表示する運指指示装置がある。（特許文献２参照）
【０００３】
【特許文献１】
特開平１１−１２６０７１号（第１頁−第６頁、図１３−図１５）
【特許文献２】
特開２０００−１１２４７０号（第１頁−第６頁、図７）
【０００４】
【発明が解決しようとする課題】
演奏する曲によっては、曲の進行過程で一連の音高が演奏者の手の幅を超える程、高音側或いは低音側に向かって音高が変化していくことがある。
このような音高が上下に変化する曲を円滑に鍵操作する運指方法として、一つの鍵に対して所定の指で押鍵中に、この手の位置を音高が変化する方向に他の指に指替えを行って、手を移動させる運指法がある。
しかしながら、特許文献１、２の運指指示装置はこうした音高の変化に応じて手の位置を移動する方法として指くぐり、腕クロス、或いは、指広げなど初心者や手の小さい人にとって難易度の高い運指法で演奏するよう案内表示してしまうという問題が生ずる。
【０００５】
本発明は、上述の如き従来の課題を解決するために成されたもので、その目的は、初心者や手の小さい人でも曲の音高が変化する方向にムリな運指法で押鍵することなく演奏させることができるようにすることにある。
【０００６】
【課題を解決するための手段】
この発明の解決の手段は以下のとおりである。
上記目的を達成するために、請求項１に係る発明においては、まず曲データを記憶する記憶手段を有し、この記憶手段から曲データを順次読み出す読出手段を有する。
そして、この読み出された曲データに対応する演奏に用いられる運指が、指替えを指示する運指か否かを検出する指替検出手段を有し、この検出結果に基づいて、指替えを指示する運指画像、或いは、指替えと異なる運指画像を夫々生成する運指指示手段を有する。
【０００７】
前記記憶手段に記憶されている曲データは、曲を構成する一連の音高と、この音高の演奏に用いる指を指定する運指データとから成り、前記指替えを指示する運指データは、例えば、一つの音高に対して先に押鍵する指を示す前運指のデータと、この先に押鍵された指に替えて異なる指に変更する後運指のデータとから成るようにしてもよい。
【０００８】
また、前記運指指示手段は、例えば、前記押鍵する指を示す前運指と後運指の運指データに基づき、前運指と後運指の双方に対応する運指指示を夫々異なる態様で指示するようにしてもよい。
【０００９】
前記運指指示手段は、例えば、前記指替えを指示する運指データに基づき、前運指と後運指の双方に対応する運指指示をするとともに、当該運指の対象となる音高を指示表示するようにしてもよい。
【００１０】
本発明は、請求項５の記載のように、上記手段の動作手順をプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記録媒体を通じてコンピュータに供給することができる。
【００１１】
本発明は、上記構成を有することにより、演奏する曲の音高が高音側或いは低音側に移動していくときに、ユーザーは指替えによる円滑な手の移動を可能とすることができる。
【００１２】
【発明の実施の形態】
図１は、本発明の実施形態に係る運指指示装置の構成例を示したブロック図である。
ＣＰＵ１０１は、バスライン１１１を介して運指指示装置を構成する後述する各回路、装置に接続され、各種データを授受して全体の機能を統制するものである。
【００１３】
ＳＷ群１０２は、電源をオンオフする電源スイッチ、複数の曲データの中から所望の曲データを選択するスイッチ、選曲された曲のパートを選択するスイッチ、演奏ガイドなどのモードを選択するモード選択スイッチ、選択された曲データの自動演奏を開始／停止するスタート／ストップ スイッチ等、複数のスイッチから成る。
【００１４】
ＳＷ検出回路１０３は、ＳＷ群１０２に設けられたスイッチに対して操作された状態を検出し、これらの操作データは、バスライン１１１を介してＣＰＵ１０１に入力される。
【００１５】
鍵盤部１０４は、複数の鍵から成り、鍵盤下方には鍵表面部を照射する発光ダイオードなどの鍵ガイド用の表示素子が設けられ、更に、各鍵盤の上面基端部の近傍には押鍵位置を知らせる表示素子が設けられている。
押鍵検出回路１０５は、各鍵に対応して夫々押鍵／離鍵を検出する鍵スイッチを搭載している。
【００１６】
プログラムＲＯＭ１０６は、ＣＰＵ１０１において、定められた手順に従い各種機能の処理を実行するためのプログラムを記憶する記憶装置である。
【００１７】
ワークＲＡＭ１０７は、ＣＰＵ１０１がプログラムの処理を実行する際に、必要なデータを一時的にストアするワークメモリである。
【００１８】
演奏データメモリ１０８は、演奏データを記憶する記憶装置である。
【００１９】
表示部１０９は、ＬＣＤパネルから成る手形表示部を有し、ＣＰＵ１０１の表示指示に基づいて、運指画像の生成及びこの運指の表示処理を行う。
【００２０】
楽音生成回路１１０は、ＣＰＵ１０１からの楽音生成指示に基づいて、楽音の生成及び発音処理を行う。
【００２１】
図２〜図３は、演奏データメモリ１０８に記憶されているデータの構成を示す。
演奏データメモリ１０８は、図２に示すように、曲パートスタートアドレス・テンポエリアと曲データ群をストアするエリアとから成る。
曲データ群は、複数の曲データが曲番号（０）〜（Ｍ）に対応したメモリエリアが割り当てられている。この曲データ（０）〜（Ｍ）は夫々複数のパートから構成されており、これらのパートにはパート番号（０）〜（Ｐ）が付与されている。
曲データの構成については後述する。
【００２２】
曲パートスタートアドレス・テンポのエリアは、各曲データ（０）〜（Ｍ）に夫々対応したエリアが割り当てられ、例えば、曲パートスタートアドレス・テンポ（０）のデータエリアには、曲データ（０）の先頭のパート（０）のスタートアドレスから最終パート（Ｐ）までのスタートアドレス、及び、曲データ（０）のテンポがストアされている。
【００２３】
曲データ群のメモリエリアは、図３（イ）に示すように、各曲データを指定するための曲番号（０）〜（Ｍ）に対応して割り当てられている。
曲データ（０）は、更に、（Ｐ＋１）個のパートから成り、各パートに含まれるデータは、パート番号（０）〜（Ｐ）毎に区分されたメモリエリアにストアされる。
そして、曲（０）パート（０）のメモリエリアには、複数のイベントと各イベント間の時間値を示すタイムがストアされており、曲データの末端のメモリエリアには曲データの終了を示すＥＮＤが記録されている。
【００２４】
次に、イベントの種類として、図３（ロ）に示すように、運指を指示する運指イベント、発音開始を指示するノートオンイベント、及び、この発音指示されたノートを発音停止するノートオフイベント、がある。
運指を指示するイベントは、運指、前運指、後運指、からなる。
このメモリエリアの“運指”は運指の識別コード、“前運指”と“後運指”のメモリエリアには運指番号がストアされている。
指替えを指示する場合の運指データは、一つのノート（音高）に対して前運指と後運指の各メモリエリアに、夫々異なる運指番号がストアされている。
尚、指替えが行われない運指データは、前運指に相当するメモリエリアにのみ、この運指に用いる指番号のデータがストアされているが、後運指のメモリエリアのデータには運指を指示しない「０」がストアされている。
【００２５】
図４は、ワークＲＡＭ１０７のデータの配置構成を示すものである。
ワークＲＡＭ１０７のメモリエリアは、「現在アドレス」、「次イベントまでの時間」、「経過時間」、「現在曲番号Ｍ」、「現在テンポ」、「テンポカウンタ」、「ガイド中パートＧＰ」、「ガイドモードフラグＧＦ」、「スタートフラグＳＴＦ」、「ストア運指」、が夫々割り当てられている。
【００２６】
「現在アドレス」は、演奏データメモリ１０８からイベント、及び、タイムを読み出しする時のアドレス値をストアするエリアである。
「次イベントまでの時間」は、イベントが開始されてから次のイベントが開始されるまでの時間をカウントしたときに、タイムの残り時間値をストアするエリアである。
【００２７】
「経過時間」は、イベントが開始されてからの経過時間をカウントされた時間値をストアするエリアである。
この「現在アドレス」、「次イベントまでの時間」、「経過時間」のメモリエリアは、夫々パート毎に対応するデータが記憶されている。
「現在曲番号Ｍ」は、選曲された曲データの曲番号をストアするエリアである。
「現在テンポ」は、曲データ（Ｍ）の読出しの際に、タイマインタラプトでこの読出しに必要なテンポ時間をカウントしているときの時間値をストアするエリアである。
【００２８】
「テンポカウンタ」は、タイマインタラプトでテンポ時間をカウントして選曲された曲データのテンポに達したか否かを比較するためのもので、このテンポカウントされた時間値を逐次ストアするためのメモリエリアである。
「ガイド中パートＧＰ」は、パート選択スイッチ（図示せず）で選択されたパート番号をストアするメモリエリアである。
【００２９】
「ガイドモードフラグＧＦ」は、モード選択スイッチ（図示せず）でガイドモードが選択されたか否かを示すフラグをストアするメモリエリアである。
「スタートフラグＳＴＦ」は、スタート／ストップスイッチ（図示せず）により、選択された曲データの自動演奏が開始／停止したかを示すフラグ「１」／「０」をストアするメモリエリアである。
「ストア運指」は、曲データに記録されている運指イベントの前運指、及び、後運指の運指データをストアするメモリエリアである。
【００３０】
図５は、本発明の基本処理を示すフローチャートである。
ＣＰＵ１０１は、電源スイッチ（図示せず）がオンされるとワークＲＡＭ１０７内にストアされている各データを初期状態にセットする（Ｓ５０１）。
【００３１】
次に、ＳＷ検出回路１０３によって検出されたスイッチ状態を取り込んで（Ｓ５０２）、電源スイッチがオフでないか否かを判定する（Ｓ５０３）。
ここで、電源スイッチがオンされていれば、後述するＳＷ処理（Ｓ５０５）を実行した後、曲データ処理（Ｓ５０６）、鍵盤処理（Ｓ５０７）、その他の処理（Ｓ５０８）を夫々実行して電源スイッチがオフされるまでＳ５０２からＳ５０８の処理を繰り返す。
電源スイッチがオフされると電源オフ処理を実行して（Ｓ５０４）本ルーティンを終了する。
【００３２】
次に、図５に示されるＳＷ処理Ｓ５０５の詳細について、図６のフローチャートを参照して説明する。
まず、曲選択スイッチの選択状態を調べて、曲選択スイッチの処理を実行する（Ｓ６０１）。
次に、パート選択スイッチの選択状態を調べて、パート選択スイッチの処理を実行する（Ｓ６０２）。
そして、演奏ガイドのモードを選択するスイッチの状態を調べて、ガイドモードスイッチの処理を実行する（Ｓ６０３）。
次に、選曲された曲データの読出し開始／終了を指示するスタート／ストップスイッチのオンオフ状態を調べて、スタート／ストップ スイッチの処理を実行して（Ｓ６０４）から本ルーティンを終了する。
【００３３】
図７は、図６に示されるＳ６０１ 曲選択スイッチ処理の処理を示すフローチャートである。
まず、「スタートフラグＳＴＦ」が「０」であるか否かを判定する（Ｓ７０１）。
ここで、「スタートフラグＳＴＦ」が「０」であれば、曲選択スイッチが選曲状態であるか否かを判定する（Ｓ７０２）。
この曲選択スイッチが選曲状態であれば、ワークＲＡＭ１０７の現在曲番号Ｍのメモリエリアに選曲された曲番号をストアする（Ｓ７０３）。
【００３４】
次に、演奏データメモリ１０８より、選曲された曲番号の曲データに含まれる曲テンポ（Ｍ）の値を読み出して、ワークＲＡＭ１０７の「現在テンポ」のメモリエリアにストアして（Ｓ７０４）、本ルーティンを終了する。
一方、Ｓ７０１の判定で、「スタートフラグＳＴＦ」が「１」である場合、或いは、曲選択スイッチが操作されていない場合は、何もしないでそのまま本ルーティンを終了する。
【００３５】
図８は、図６に示されるＳ６０２ パート選択スイッチの処理を示すフローチャートである。
まず、「スタートフラグＳＴＦ」が「０」であるか否かを判定する（Ｓ８０１）。
ここで、「スタートフラグＳＴＦ」が「０」であれば、パート選択スイッチが選曲状態であるか否かを判定する（Ｓ８０２）。
このパート選択スイッチが選択状態であれば、この選択された曲のパート番号をワークＲＡＭ１０７内の「ガイド中パートＧＰ」のメモリエリアにストアしてから（Ｓ８０３）、本ルーティンを終了する。
一方、Ｓ８０１の判定で「スタートフラグＳＴＦ」が「１」であるとき、或いは、パート選択スイッチが選択状態になっていないときは、何もしないで本ルーティンを終了する。
【００３６】
図９は、図６のＳ６０３ ガイドモードスイッチ処理を実行するフローチャートである。
まず、「スタートフラグＳＴＦ」が「０」であるか否かを判定する（Ｓ９０１）。
ここで、「スタートフラグＳＴＦ」が「０」であれば、ガイドモードスイッチがオンであるか否かを判定する（Ｓ９０２）。
このガイドモードスイッチがオンされていれば、「ガイドモードフラグＧＦ」を反転して（Ｓ９０３）本ルーティンを終了する。
一方、Ｓ９０１の判定で「スタートフラグＳＴＦ」が「０」でないとき、或いは、ガイドモードスイッチがオンでないときは、何もしないでそのまま本ルーティンを終了する。
【００３７】
上述の如く、これらのＳＷ処理に基づいて、選曲された曲番号の読込み、この選曲されたテンポの読込み、選択されたパート番号の読込み、選曲されたパートの全てのアドレスとタイムの読込み、及び、ガイドモードのＳＷオンの検出処理、を実行する。
【００３８】
図１０は、図６のＳ６０４のスタート／ストップ スイッチ処理のフローチャートである。
まず、スタート／ストップ スイッチがオンされているか否かを判定する（Ｓ１００１）。
スタート／ストップ スイッチがオンされると、「スタートフラグＳＴＦ」を反転させ（Ｓ１００２）、このＳＴＦが「１」であるか否かを判定する（Ｓ１００３）。
ここで、ＳＴＦが「１」であればパート番号を指定するレジスタＰを「０」にセットする（Ｓ１００４）。
【００３９】
次に、演奏データメモリ１０８内の「曲データ（Ｍ）パート（Ｐ）」にストアされているアドレスをスタートアドレスとして、ワークＲＡＭ１０７の「パート（Ｐ）現在アドレス」のメモリエリアにストアする（Ｓ１００５）。
そして、ワークＲＡＭ１０７の「パート（Ｐ）次イベントまでの時間」のメモリエリアを「０」にセット（Ｓ１００６）するとともに、ワークＲＡＭ１０７の「パート（Ｐ）経過時間」のメモリエリアを「０」にセットする（Ｓ１００７）。
【００４０】
次に、演奏データメモリ１０８より「パート（Ｐ）の現在アドレス」の次のアドレスに指定されるタイムを読み込む（Ｓ１００８）。
この読み込まれたタイムをワークＲＡＭ１０７の「パート（Ｐ）次イベントまでの時間」のメモリエリアにストアする（Ｓ１００９）。
【００４１】
次に、パート番号を指定するレジスタＰをインクリメントする（Ｓ１０１０）。
そして、このレジスタＰがパート数の最大値に到達したか否かを判定し（Ｓ１０１１）、レジスタＰの値がパート数の最大値に到達するまで、Ｓ１００５の処理からＳ１０１０の処理までを繰り返すことで、選曲された曲データ（Ｍ）の全てパートのスタートアドレス、及びタイムをワークＲＡＭにストアするとともに、次イベントまでの時間、及び、経過時間、を「０」にセットする。
このレジスタＰがパート数の最大値に到達するまでタイムの読込み処理が進むと、ワークＲＡＭ１０７の「テンポカウンタ」のメモリエリアを「０」にセットしてから（Ｓ１０１２）、タイマインタラプトを禁止解除（Ｓ１０１３）して、本ルーティンを終了する。
【００４２】
再びＳ１００３の判定に戻って、もし「スタートフラグＳＴＦ」が「１」でなければ、タイマインタラプトを禁止して（Ｓ１０１４）、鍵盤部１０４内の鍵ガイド用の表示素子を消灯するとともに、表示部１０９の運指表示を消去して（Ｓ１０１５）、本ルーティンを終了する。
尚、Ｓ１００１の判定で、スタート／ストップ スイッチがオンされていなければ、何もしないで本ルーティンを終了する。
【００４３】
上述のガイドモードＳＷ処理において、図９中のＳ１０１３の処理でタイマインタラプトが禁止解除されると、タイマインタラプトが起動される。
図１１は、このタイマインタラプトのフローチャートを示すものである。
ＣＰＵ１０１は、周期的に図１１のタイマインタラプト処理を実行する。
まず、「テンポカウンタ」をインクリメントする（Ｓ１１０１）。
この「テンポカウンタ」の値がワークＲＡＭ１０７内にストアされている「現在テンポ」に対応する値と等しいか否かを比較する（Ｓ１１０２）。
ここで、「テンポカウンタ」の値と「現在テンポ」に対応する値と等しければ、この「テンポカウンタ」を「０」にセット（Ｓ１１０３）するとともに、パート番号を指定するレジスタＰを「０」にセット（Ｓ１１０４）する。
【００４４】
次に、パート（Ｐ）の経過時間をインクリメント（Ｓ１１０５）するとともに、レジスタＰをインクリメントする（Ｓ１１０６）。
そして、このレジスタＰの値がパート数の最大値に達したか否かを判定する（Ｓ１１０７）。
このレジスタＰが最大パート数に達しなければ、レジスタＰの値がパート数の最大値に達するまで、「パート（Ｐ）経過時間」のインクリメントを繰り返す。
このレジスタＰの値がパート数の最大値に達すると本ルーティンを終了する。
また、Ｓ１１０２の判定において、「テンポカウンタ」の値が「現在テンポ」に対応する値と等しくなければ、そのまま何もしないで本ルーティンを終了する。
【００４５】
上述の如く、このタイマインタラプトの処理は、選曲された曲データのテンポに同期させて、この曲の全パートに対して順次、タイム経過時間をカウントするものである。
【００４６】
図１２は、図５のＳ５０６のステップである曲データ処理を実行するフローチャートである。
まず、「スタートフラグＳＴＦ」が「１」であるか否かを判定する（Ｓ１２０１）。
ここで、「スタートフラグＳＴＦ」が「１」であれば、パート番号を指定するレジスタＰを「０」にセットする（Ｓ１２０２）。
そして、演奏データメモリ１０８から「パート（Ｐ）現在アドレス」で指定されるイベントデータを読み出す（Ｓ１２０３）。
【００４７】
そして、この読み出されたイベントデータがＥＮＤであるか否かを判定する（Ｓ１２０４）。
このイベントデータがＥＮＤでなければＳ１２０５の処理に進んで、ワークＲＡＭ１０７内の「パート（Ｐ）次イベントまでの時間」がパート（Ｐ）のタイムの経過時間より小さいか否かを判定する。
ここで、「パート（Ｐ）次イベントまでの時間」がパート（Ｐ）のタイムの経過時間より小さければ、「パート（Ｐ）経過時間」と「パート（Ｐ）次イベントまでの時間」の差を、ワークＲＡＭ１０７の「パート（Ｐ）経過時間」のメモリエリアにストアすることによって（Ｓ１２０６）、パート（Ｐ）の経過時間のメモリエリアを「０」にする処理を行ってからＳ１２０７のイベント処理を実行する。
このイベント処理の詳細については後述する。
【００４８】
次に、このイベント処理実行の後、Ｓ１２０８の処理に進んで、「パート（Ｐ）現在アドレス」の次のアドレスのタイムを読み込み、「パート（Ｐ）現在アドレス」を次イベント位置まで進める（Ｓ１２０８）。
そして読み込まれたタイムの値をワークＲＡＭ１０７の「パート（Ｐ）次イベントまでの時間」のメモリエリアにストアする（Ｓ１２１０）。
【００４９】
このＳ１２１０の処理を実行するとＳ１２１２の処理に移行する。
また、Ｓ１２０５の判定で、「パート（Ｐ）次イベントまでの時間」がパート（Ｐ）のタイムの経過時間を超えた場合においても、Ｓ１２１２の処理に移行し、パート番号を指定するレジスタＰをインクリメントして、このレジスタＰがパート数の最大値に達したか否かを判定する（Ｓ１２１３）。
このレジスタＰがパート数の最大値に達しなければ、再びＳ１２０３の処理に戻り、レジスタＰがパート数の最大値になるまでイベントデータの読み出しを繰り返し、レジスタＰがパート数の最大値に達すると本ルーティンを終了する。
【００５０】
一方、もしＳ１２０４の判定において、イベントデータがＥＮＤであれば、全てのパートがＥＮＤであるか否かを判定する（Ｓ１２１１）。
ここで、全てのパートがＥＮＤでなければ、Ｓ１２１２の処理に移行する。
【００５１】
次に、Ｓ１２１１において、全てのパートがＥＮＤになると「スタートフラグＳＴＦ」を「０」にセットして（Ｓ１２１４）、鍵盤部１０４の鍵盤下方に設けた鍵ガイドの表示素子を全て消灯して（Ｓ１２１５）、タイマインタラプトを禁止（Ｓ１２１６）した後、本ルーティンを終了する。
再びＳ１２０１の判定に戻って、「スタートフラグＳＴＦ」が「１」でなければ、何もしないでそのまま本ルーティンを終了する。
【００５２】
図１３と図１４は、図１２のＳ１２０７ イベント処理を実行するフローチャートである。
まず、読み出されたイベントデータがノートオンコマンドであるか否かを判定する（Ｓ１３０１）。
ここで、イベントデータがノートオンコマンドなければ、このイベントデータがノートオフコマンドであるか否かを判定する（Ｓ１３０６）。
このイベントデータがノートオフコマンドでなければ、このイベントデータが運指のイベントであるのか否かを判定する(図１４のＳ１４０１)。
ここで、読み込まれたコマンドが運指イベントであれば、パート番号を指定するレジスタＰがワークＲＡＭ１０７の「ガイド中パートＧＰ」のメモリエリアにストアされているパート番号と同じか否かを判定する（Ｓ１４０２）。
【００５３】
このレジスタＰの値と「ガイド中パートＧＰ」の値が同じであれば、「ガイドモードフラグＧＦ」が「１」になっているか否かを判定する（Ｓ１４０３）。
この「ガイドモードフラグＧＦ」が「１」になっていれば、Ｓ１４０４の処理に進んで、表示部１０９に設けられている手形表示部の表示を全て消去して、Ｓ１４０５の処理に進み、運指イベント内の前運指が「０」であるか否かを判定する。
この運指イベント内の前運指が「０」でなければ、Ｓ１４０８の処理に進んで、運指イベント内の後運指が「０」であるか否かを判定する。
この運指イベント内の後運指が「０」でなければ、イベント内の前運指と後運指の夫々の運指データに相当する運指番号をワークＲＡＭ１０７内の「ストア運指」のメモリエリアにストアする（Ｓ１４１０）。
【００５４】
これに続いて、表示部１０９の手形表示部の画面に、「ストア運指」のメモリエリアにストアされた前運指番号に対応する指を強調表示（Ｓ１４１１）するとともに、「ストア運指」のメモリエリアにストアされている、次に指替えされる後運指番号に対応する指を、前述の前運指番号に対応する指と異なる表示態様で予告表示して（Ｓ１４１２）、本ルーティンを終了する。
【００５５】
一方、Ｓ１４０５の判定において、運指イベントの前運指が「０」であれば、ワークメモリの「ストア運指」内の後運指がイベント内の後運指と同じ運指番号であるか否かを判定する（Ｓ１４０６）。
ここで、「ストア運指」内の後運指がイベント内の後運指と同じ運指番号であれば、表示部１０９内の手形表示部の画面上において、「ストア運指」内の前運指に対応する指から後運指に対応する指に、指替えを指示する画像を表示して（Ｓ１４０７）、本ルーティンを終了する。
【００５６】
一方、Ｓ１４０６の判定において、「ストア運指」内の後運指がイベント内の後運指と同じ運指番号でなければ、そのまま本ルーティンを終了する。
また、Ｓ１４０８の判定において、運指イベントの後運指が「０」であれば、表示部１０９内の手形表示部の画面上に、前運指番号に対応する指のみを強調表示して（Ｓ１４０９）、本ルーティンを終了する。
この強調表示は即ち、通常の運指或いは指替えと異なる運指を指示している。
【００５７】
Ｓ１４０２の判定に戻って、読み出された運指イベントのパートＰが「ガイド中パートＧＰ」にストアされたパート番号ではない場合、或いは、Ｓ１４０３の判定でガイドモードフラグが「１」でないときは、そのまま何もしないで本ルーティンを終了する。
また、Ｓ１４０１の判定で、読み出されたイベントが運指イベントでなければその他の処理を実行して（Ｓ１４１３）、本ルーティンを終了する。
【００５８】
また、図１３のＳ１３０１の判定に戻って、読み込まれたコマンドがノートオンであれば、パート番号を指定するレジスタＰの値が「ガイド中パートＧＰ」のメモリエリアにストアされているパート番号と同じか否かを判定する（Ｓ１３０２）。
ここで、レジスタＰの値と「ガイド中パートＧＰ」の値が同じであれば、「ガイドモードフラグＧＦ」が「１」になっているか否かを判定する（Ｓ１３０３）。
この「ガイドモードフラグＧＦ」が「１」であれば、コマンドのノート番号に対応する鍵盤部１０４の鍵下方に設けた押鍵ガイド用表示素子を点灯させて（Ｓ１３０４）、本ルーティンを終了する。
【００５９】
一方、Ｓ１３０２の判定で、レジスタＰのパート番号が「ガイド中パートＧＰ」のパート番号と異なっていれば、この読み出されたノートオンコマンドを楽音生成回路１１０内の音源に送付して（Ｓ１３０５）から、本ルーティンを終了する。
また、Ｓ１３０３の判定で、「ガイドモードフラグＧＦ」が「１」でない場合においても、この読み出されたノートオンコマンドを楽音生成回路１１０内の音源に送付して（Ｓ１３０５）から、本ルーティンを終了する。
【００６０】
次に、Ｓ１３０６の判定において、読み込まれたコマンドがノートオフであれば、パート番号を指定するレジスタＰの値が「ガイド中パートＧＰ」のメモリエリアにストアされているパート番号と同じか否かを判定する（Ｓ１３０７）。
ここで、レジスタＰの値が「ガイド中パートＧＰ」と同じパート番号であれば、「ガイドモードフラグＧＦ」が「１」であるか否かを判定する（Ｓ１３０８）。
そして「ガイドモードフラグＧＦ」が「１」であれば、この読み込まれたコマンドのノート番号に対応する鍵の下方に設けた押鍵ガイド用表示素子を消灯して（Ｓ１３０９）、本ルーティンを終了する。
【００６１】
一方、Ｓ１３０７の判定で、レジスタＰのパート番号が「ガイド中パートＧＰ」のパート番号と異なる場合、及び、Ｓ１３０８の判定で、「ガイドモードフラグＧＦ」が「１」でない場合は、この読み出されたノートオフコマンドを楽音生成回路１１０内の音源に送付して（Ｓ１３１０）、本ルーティンを終了する。
【００６２】
上述の如く、このイベント処理では、選曲された曲データのイベントが運指イベントであるか、ノートオンコマンドであるか、或いは、ノートオフコマンドであるか、に応じて夫々のイベント処理を実行する。
例えば、演奏ガイドのモードを指定しているときに、読み込まれたイベントが運指イベントであれば、指替えを指示するか否かの運指データに応じて運指画像を表示部１０９の手形表示部に表示する。
【００６３】
また、ノートオンコマンドであれば、このノートに対応する鍵盤下方に設けた表示素子を点灯して押鍵ガイドを実行し、ノートオフコマンドであれば、押鍵ガイド中の表示素子を消灯するものである。
【００６４】
図１５は、指替えを指示する楽譜の一例である。
図１５中、ノートＤ４（レ）の四分音符上に記された上括弧付き２４の数字は、人差し指（指番号２番）から薬指（指番号４番）に指替えを指示する運指番号であり、その他の音符に付された数字は、その音符の押鍵に用いられる運指番号を示す。
【００６５】
図１６〜図１８は、表示部１０９に設けられた手形表示部における運指表示例を示す。
図１６の（イ）は、図１５の楽譜に示された第１音を押鍵するときの運指表示例である。この第１音は音高Ｄ４、運指番号２番を示す。
このときの運指表示と押鍵ガイド表示は、手形画像の人差し指（指番号２番）の指先のセグメントを強調表示し、更に、鍵下方に設けたＤ４（レ）の表示素子と同鍵基端部に設けた表示素子を点灯して押鍵を指示する。これは指替えを行わない通常の運指を指示している。
【００６６】
図１６の（ロ）は、図１５の指替えの指示（上括弧付き２４  音高Ｄ４）に対応して運指と鍵ガイドを指示する第１表示例である。
この指替えの運指表示は、前運指の運指番号２に相当する指先のセグメントを強調表示するとともに、後運指の運指番号４に相当する指先のセグメントを点滅して予告表示している。
そして、鍵Ｄ４の表示素子と同鍵基端部のＬＥＤを点灯して押鍵を指示する。
【００６７】
図１７の（イ）は、図１５の指替え指示に対応して別形態の運指画像を表示する第２表示例である。
この第２表示例の運指表示を実施する形態として、演奏データメモリ１０８の曲データの中に、予め、指替えを指定するセグメントデータをストアしておき、指替えを指示する運指データが判別されると、この指替えに対応する運指画像データに基づいて、対象となるセグメントを手形表示部に表示させる例である。
この第２表示例の手形画像は５本の指の手形セグメントと、これらの各指先を夫々セグメントラインで連ねた画像から成る。
【００６８】
この手形画像を指替え表示すると、前運指の運指番号２に相当する指先のセグメントを強調表示し、後運指の運指番号４に相当する指先のセグメントを点滅して予告表示するとともに、運指番号２から運指番号４までの指先を結ぶセグメントラインを表示して、指替えを更に強調している。
図１７（ロ）は、運指番号１から運指番号５に指替えされるときの運指画像の例である。
【００６９】
図１８（イ）（ロ）は、更に、別形態の運指画像を指示する第３表示例である。
この第３表示例の運指表示を実施する形態として、演奏データメモリ１０８の曲データの中に、予め、指替えの種類に応じた運指画像をストアしておき、指替えを指示する運指データが判別されると、この指替えに対応する運指画像データを読み出して手形表示部に表示させるものである。
この図１８の運指画像は、図１６、図１７の運指画像に示す手形が固定であるのに対して、押鍵中の１つの鍵に対して指替えされる瞬間の手形の模写画像を表示することが特徴である。
図１８（イ）は、運指番号２から運指番号４に指替えされる瞬間の手形の画像を示す。
図１８（ロ）は、運指番号１から運指番号５に指替えされる瞬間の手形の画像を示す。
【００７０】
尚、他の実施形態として、演奏データメモリ１０８に楽譜表示用データを含む曲データを記憶して、表示部１０９の手形表示部にこの楽譜を表示させながら運指画像を同時に表示してもよい。
また、指替えを表示するときに指替えの強調表示と予告表示の表示色を異ならせたり、或いは、表示サイズ、表示形状、濃淡表示、点滅表示等、表示態様を異ならせてもよい。
また、運指表示をアニメーション画像等の動画としてもよく、更に、運指番号を音声等で指示するようにしてもよい。
本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【００７１】
また、上記実施の形態で説明した動作手順をプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記録媒体を通じてコンピュータに供給することができる。
【００７２】
【発明の効果】
本発明の運指指示装置は、曲データに対応して押鍵演奏が行われている際に、指替えが必要であることが検出されると、指替えの運指画像を生成して指替え指示する構成としたので、音高が変化する方向にムリな運指操作をすることなく、円滑にユーザーの手の位置を移動させて演奏させることができる。
【図面の簡単な説明】
【図１】本発明の運指指示装置の構成を示すブロック図である。
【図２】図１に示した演奏データメモリの記憶領域に記憶されている演奏データのデータ構成（その１）である。
【図３】（イ）図１に示した曲データのデータ構成を示す。
（ロ）図３（イ）に示したイベントのデータ構成の一例を示す。
【図４】図１のワークＲＡＭの記憶領域に記憶されている各種データ構成を示す。
【図５】本運指指示装置の動作全体概略処理手順を示すフローチャートである。
【図６】図５に示したＳＷ処理のサブルーティンの詳細を示すフローチャートである。
【図７】図６に示した曲選択ＳＷ処理のサブルーティンの詳細を示すフローチャートである。
【図８】図６に示したパート選択ＳＷ処理のサブルーティンの詳細を示すフローチャートである。
【図９】図６に示したガイドモードＳＷ処理のサブルーティンの詳細を示すフローチャートである。
【図１０】図６に示したスタート／ストップＳＷ処理のサブルーティンの詳細を示すフローチャートである。
【図１１】本発明のタイマインタラプトのフローチャートである。
【図１２】図５に示した曲データ処理のサブルーティンの詳細を示すフローチャートである。
【図１３】図１２に示したイベント処理のサブルーティンの詳細を示すフローチャート（その１）である。
【図１４】図１２に示したイベント処理のサブルーティンの詳細を示すフローチャート（その２）である。
【図１５】指替えを含む楽譜表示を示す。
【図１６】（イ）運指番号２番のみ指替えを指示しない通常の運指画像を示す。
（ロ）運指番号２番→運指番号４番へ指替え指示される第１表示例を示す。
【図１７】（イ）運指番号２番→運指番号４番へ指替え指示される第２表示例を示す。
（ロ）運指番号１番→運指番号５番へ指替え指示される第２表示例を示す。
【図１８】（イ）運指番号２番→運指番号４番へ指替え指示される第３表示例を示す。
（ロ）運指番号１番→運指番号５番へ指替え指示される第３表示例を示す。
【符号の説明】
１０１  ＣＰＵ
１０２  ＳＷ群
１０３  ＳＷ検出回路
１０４  鍵盤部
１０５  押鍵検出回路
１０６  プログラムＲＯＭ
１０７  ワークＲＡＭ
１０８  演奏データメモリ
１０９  表示部
１１０  楽音生成回路
【図１】
2004205791.tif 000003
【図２】
2004205791.tif 000004
【図３】
2004205791.tif 000005
【図４】
2004205791.tif 000006
【図５】
2004205791.tif 000007
【図６】
2004205791.tif 000008
【図７】
2004205791.tif 000009
【図８】
2004205791.tif 000010
【図９】
2004205791.tif 000011
【図１０】
2004205791.tif 000012
【図１１】
2004205791.tif 000013
【図１２】
2004205791.tif 000014
【図１３】
2004205791.tif 000015
【図１４】
2004205791.tif 000016
【図１５】
2004205791.tif 000017
【図１６】
2004205791.tif 000018
【図１７】
2004205791.tif 000019
【図１８】
2004205791.tif 000020