JP4054912B2 - 運指指示装置及び運指指示処理プログラム - Google Patents
運指指示装置及び運指指示処理プログラム Download PDFInfo
- Publication number
- JP4054912B2 JP4054912B2 JP2002374513A JP2002374513A JP4054912B2 JP 4054912 B2 JP4054912 B2 JP 4054912B2 JP 2002374513 A JP2002374513 A JP 2002374513A JP 2002374513 A JP2002374513 A JP 2002374513A JP 4054912 B2 JP4054912 B2 JP 4054912B2
- Authority
- JP
- Japan
- Prior art keywords
- fingering
- data
- finger
- event
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Auxiliary Devices For Music (AREA)
Description
【発明の属する技術分野】
この発明は、運指指示装置及び運指指示処理プログラムに関する。
【0002】
【従来の技術】
従来より、電子鍵盤楽器のレッスン機能として演奏する運指画像を表示する技術が知られている。
例えば、演奏中の音高データ及び運指データに応じて、次に最も演奏操作が容易となる運指画像を記憶手段から選択して表示する運指指示装置がある。(特許文献1参照)
また、記憶装置に運指ガイドのデータと、押鍵操作開始時の運指画像データ、及び、次に押鍵する鍵の操作開始に至るまでの経過を示す運指画像データを記憶し、この運指ガイドデータに応じて、離鍵してから次の押鍵操作がなされるまでの運指の経過を運指画像データから選択して読み出し、この運指の経過の画像を表示する運指指示装置がある。(特許文献2参照)
【0003】
【特許文献1】
特開平11−126071号(第1頁−第6頁、図13−図15)
【特許文献2】
特開2000−112470号(第1頁−第6頁、図7)
【0004】
【発明が解決しようとする課題】
演奏する曲によっては、曲の進行過程で一連の音高が演奏者の手の幅を超える程、高音側或いは低音側に向かって音高が変化していくことがある。
このような音高が上下に変化する曲を円滑に鍵操作する運指方法として、一つの鍵に対して所定の指で押鍵中に、この手の位置を音高が変化する方向に他の指に指替えを行って、手を移動させる運指法がある。
しかしながら、特許文献1、2の運指指示装置はこうした音高の変化に応じて手の位置を移動する方法として指くぐり、腕クロス、或いは、指広げなど初心者や手の小さい人にとって難易度の高い運指法で演奏するよう案内表示してしまうという問題が生ずる。
【0005】
本発明は、上述の如き従来の課題を解決するために成されたもので、その目的は、初心者や手の小さい人でも曲の音高が変化する方向にムリな運指法で押鍵することなく演奏させることができるようにすることにある。
【0006】
【課題を解決するための手段】
この本発明の解決手段は以下のとおりである。
上記目的を達成するために、請求項1に係る発明においては、押鍵に用いる指を指定する運指イベント及び当該運指データを読み出すタイミングを示す時間データとから構成され、前記運指イベントは、一つの押鍵すべき鍵に対して先に押鍵する指を示す前運指データ及びこの前運指データにて指定された指に替えて異なる指に変更する後運指データの少なくとも1つを含むように構成された演奏データを記憶する記憶手段と、前記記憶手段に記憶された運指イベントを前記記憶された時間データにて指定されるタイミングで順次読み出す読出手段と、この読み出し手段にて読み出された運指イベントが前記前運指データのみ含む場合は、表示手段に当該読み出された運指イベントの前運指データにて指定される指を第1の表示形態で表示させる第1の表示制御手段と、前記読み出し手段にて読み出された運指イベントが前記前運指データ及び後運指データを含む場合は、当該運指イベントを運指記憶手段に記憶し、前記表示手段に当該運指記憶手段に記憶された運指イベントの前運指データにて指定される指を前記第1の表示形態で表示させるとともに、後運指データにて指定される指を第2の表示形態で表示させる第2の表示制御手段と、前記読み出し手段にて読み出された運指イベントが前記後運指データのみ含む場合は、当該後運指データにて指定される指が前記運指記憶手段に記憶された後運指データにて指定される指と一致する否か判断し、一致している場合のみ前記表示手段に前記運指記憶手段に記憶された前運指データ及び後運指データに基づいた指替え指示表示を行わせる第3の表示制御手段と、を有する。
【0010】
本発明は、請求項2に記載のように、上記手段の動作手順をプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記憶媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記憶媒体を通じてコンピュータに供給することができる。
【0011】
本発明は、上記構成を有することにより、演奏する曲の音高が高音側或いは低音側に移動していくときに、ユーザーは指替えによる円滑な手の移動を可能とすることができる。
【0012】
【発明の実施の形態】
図1は、本発明の実施形態に係る運指指示装置の構成例を示したブロック図である。
CPU101は、バスライン111を介して運指指示装置を構成する後述する各回路、装置に接続され、各種データを授受して全体の機能を統制するものである。
【0013】
SW群102は、電源をオンオフする電源スイッチ、複数の曲データの中から所望の曲データを選択するスイッチ、選曲された曲のパートを選択するスイッチ、演奏ガイドなどのモードを選択するモード選択スイッチ、選択された曲データの自動演奏を開始/停止するスタート/ストップ スイッチ等、複数のスイッチから成る。
【0014】
SW検出回路103は、SW群102に設けられたスイッチに対して操作された状態を検出し、これらの操作データは、バスライン111を介してCPU101に入力される。
【0015】
鍵盤部104は、複数の鍵から成り、鍵盤下方には鍵表面部を照射する発光ダイオードなどの鍵ガイド用の表示素子が設けられ、更に、各鍵盤の上面基端部の近傍には押鍵位置を知らせる表示素子が設けられている。
押鍵検出回路105は、各鍵に対応して夫々押鍵/離鍵を検出する鍵スイッチを搭載している。
【0016】
プログラムROM106は、CPU101において、定められた手順に従い各種機能の処理を実行するためのプログラムを記憶する記憶装置である。
【0017】
ワークRAM107は、CPU101がプログラムの処理を実行する際に、必要なデータを一時的にストアするワークメモリである。
【0018】
演奏データメモリ108は、演奏データを記憶する記憶装置である。
【0019】
表示部109は、LCDパネルから成る手形表示部を有し、CPU101の表示指示に基づいて、運指画像の生成及びこの運指の表示処理を行う。
【0020】
楽音生成回路110は、CPU101からの楽音生成指示に基づいて、楽音の生成及び発音処理を行う。
【0021】
図2〜図3は、演奏データメモリ108に記憶されているデータの構成を示す。
演奏データメモリ108は、図2に示すように、曲パートスタートアドレス・テンポエリアと曲データ群をストアするエリアとから成る。
曲データ群は、複数の曲データが曲番号(0)〜(M)に対応したメモリエリアが割り当てられている。この曲データ(0)〜(M)は夫々複数のパートから構成されており、これらのパートにはパート番号(0)〜(P)が付与されている。
曲データの構成については後述する。
【0022】
曲パートスタートアドレス・テンポのエリアは、各曲データ(0)〜(M)に夫々対応したエリアが割り当てられ、例えば、曲パートスタートアドレス・テンポ(0)のデータエリアには、曲データ(0)の先頭のパート(0)のスタートアドレスから最終パート(P)までのスタートアドレス、及び、曲データ(0)のテンポがストアされている。
【0023】
曲データ群のメモリエリアは、図3(イ)に示すように、各曲データを指定するための曲番号(0)〜(M)に対応して割り当てられている。
曲データ(0)は、更に、(P+1)個のパートから成り、各パートに含まれるデータは、パート番号(0)〜(P)毎に区分されたメモリエリアにストアされる。
そして、曲(0)パート(0)のメモリエリアには、複数のイベントと各イベント間の時間値を示すタイムがストアされており、曲データの末端のメモリエリアには曲データの終了を示すENDが記録されている。
【0024】
次に、イベントの種類として、図3(ロ)に示すように、運指を指示する運指イベント、発音開始を指示するノートオンイベント、及び、この発音指示されたノートを発音停止するノートオフイベント、がある。
運指を指示するイベントは、運指、前運指、後運指、からなる。
このメモリエリアの“運指”は運指の識別コード、“前運指”と“後運指”のメモリエリアには運指番号がストアされている。
指替えを指示する場合の運指データは、一つのノート(音高)に対して前運指と後運指の各メモリエリアに、夫々異なる運指番号がストアされている。
尚、指替えが行われない運指データは、前運指に相当するメモリエリアにのみ、この運指に用いる指番号のデータがストアされているが、後運指のメモリエリアのデータには運指を指示しない「0」がストアされている。
【0025】
図4は、ワークRAM107のデータの配置構成を示すものである。
ワークRAM107のメモリエリアは、「現在アドレス」、「次イベントまでの時間」、「経過時間」、「現在曲番号M」、「現在テンポ」、「テンポカウンタ」、「ガイド中パートGP」、「ガイドモードフラグGF」、「スタートフラグSTF」、「ストア運指」、が夫々割り当てられている。
【0026】
「現在アドレス」は、演奏データメモリ108からイベント、及び、タイムを読み出しする時のアドレス値をストアするエリアである。
「次イベントまでの時間」は、イベントが開始されてから次のイベントが開始されるまでの時間をカウントしたときに、タイムの残り時間値をストアするエリアである。
【0027】
「経過時間」は、イベントが開始されてからの経過時間をカウントされた時間値をストアするエリアである。
この「現在アドレス」、「次イベントまでの時間」、「経過時間」のメモリエリアは、夫々パート毎に対応するデータが記憶されている。
「現在曲番号M」は、選曲された曲データの曲番号をストアするエリアである。
「現在テンポ」は、曲データ(M)の読出しの際に、タイマインタラプトでこの読出しに必要なテンポ時間をカウントしているときの時間値をストアするエリアである。
【0028】
「テンポカウンタ」は、タイマインタラプトでテンポ時間をカウントして選曲された曲データのテンポに達したか否かを比較するためのもので、このテンポカウントされた時間値を逐次ストアするためのメモリエリアである。
「ガイド中パートGP」は、パート選択スイッチ(図示せず)で選択されたパート番号をストアするメモリエリアである。
【0029】
「ガイドモードフラグGF」は、モード選択スイッチ(図示せず)でガイドモードが選択されたか否かを示すフラグをストアするメモリエリアである。
「スタートフラグSTF」は、スタート/ストップスイッチ(図示せず)により、選択された曲データの自動演奏が開始/停止したかを示すフラグ「1」/「0」をストアするメモリエリアである。
「ストア運指」は、曲データに記録されている運指イベントの前運指、及び、後運指の運指データをストアするメモリエリアである。
【0030】
図5は、本発明の基本処理を示すフローチャートである。
CPU101は、電源スイッチ(図示せず)がオンされるとワークRAM107内にストアされている各データを初期状態にセットする(S501)。
【0031】
次に、SW検出回路103によって検出されたスイッチ状態を取り込んで(S502)、電源スイッチがオフでないか否かを判定する(S503)。
ここで、電源スイッチがオンされていれば、後述するSW処理(S505)を実行した後、曲データ処理(S506)、鍵盤処理(S507)、その他の処理(S508)を夫々実行して電源スイッチがオフされるまでS502からS508の処理を繰り返す。
電源スイッチがオフされると電源オフ処理を実行して(S504)本ルーティンを終了する。
【0032】
次に、図5に示されるSW処理S505の詳細について、図6のフローチャートを参照して説明する。
まず、曲選択スイッチの選択状態を調べて、曲選択スイッチの処理を実行する(S601)。
次に、パート選択スイッチの選択状態を調べて、パート選択スイッチの処理を実行する(S602)。
そして、演奏ガイドのモードを選択するスイッチの状態を調べて、ガイドモードスイッチの処理を実行する(S603)。
次に、選曲された曲データの読出し開始/終了を指示するスタート/ストップスイッチのオンオフ状態を調べて、スタート/ストップ スイッチの処理を実行して(S604)から本ルーティンを終了する。
【0033】
図7は、図6に示されるS601 曲選択スイッチ処理の処理を示すフローチャートである。
まず、「スタートフラグSTF」が「0」であるか否かを判定する(S701)。
ここで、「スタートフラグSTF」が「0」であれば、曲選択スイッチが選曲状態であるか否かを判定する(S702)。
この曲選択スイッチが選曲状態であれば、ワークRAM107の現在曲番号Mのメモリエリアに選曲された曲番号をストアする(S703)。
【0034】
次に、演奏データメモリ108より、選曲された曲番号の曲データに含まれる曲テンポ(M)の値を読み出して、ワークRAM107の「現在テンポ」のメモリエリアにストアして(S704)、本ルーティンを終了する。
一方、S701の判定で、「スタートフラグSTF」が「1」である場合、或いは、曲選択スイッチが操作されていない場合は、何もしないでそのまま本ルーティンを終了する。
【0035】
図8は、図6に示されるS602 パート選択スイッチの処理を示すフローチャートである。
まず、「スタートフラグSTF」が「0」であるか否かを判定する(S801)。
ここで、「スタートフラグSTF」が「0」であれば、パート選択スイッチが選曲状態であるか否かを判定する(S802)。
このパート選択スイッチが選択状態であれば、この選択された曲のパート番号をワークRAM107内の「ガイド中パートGP」のメモリエリアにストアしてから(S803)、本ルーティンを終了する。
一方、S801の判定で「スタートフラグSTF」が「1」であるとき、或いは、パート選択スイッチが選択状態になっていないときは、何もしないで本ルーティンを終了する。
【0036】
図9は、図6のS603 ガイドモードスイッチ処理を実行するフローチャートである。
まず、「スタートフラグSTF」が「0」であるか否かを判定する(S901)。
ここで、「スタートフラグSTF」が「0」であれば、ガイドモードスイッチがオンであるか否かを判定する(S902)。
このガイドモードスイッチがオンされていれば、「ガイドモードフラグGF」を反転して(S903)本ルーティンを終了する。
一方、S901の判定で「スタートフラグSTF」が「0」でないとき、或いは、ガイドモードスイッチがオンでないときは、何もしないでそのまま本ルーティンを終了する。
【0037】
上述の如く、これらのSW処理に基づいて、選曲された曲番号の読込み、この選曲されたテンポの読込み、選択されたパート番号の読込み、選曲されたパートの全てのアドレスとタイムの読込み、及び、ガイドモードのSWオンの検出処理、を実行する。
【0038】
図10は、図6のS604のスタート/ストップ スイッチ処理のフローチャートである。
まず、スタート/ストップ スイッチがオンされているか否かを判定する(S1001)。
スタート/ストップ スイッチがオンされると、「スタートフラグSTF」を反転させ(S1002)、このSTFが「1」であるか否かを判定する(S1003)。
ここで、STFが「1」であればパート番号を指定するレジスタPを「0」にセットする(S1004)。
【0039】
次に、演奏データメモリ108内の「曲データ(M)パート(P)」にストアされているアドレスをスタートアドレスとして、ワークRAM107の「パート(P)現在アドレス」のメモリエリアにストアする(S1005)。
そして、ワークRAM107の「パート(P)次イベントまでの時間」のメモリエリアを「0」にセット(S1006)するとともに、ワークRAM107の「パート(P)経過時間」のメモリエリアを「0」にセットする(S1007)。
【0040】
次に、演奏データメモリ108より「パート(P)の現在アドレス」の次のアドレスに指定されるタイムを読み込む(S1008)。
この読み込まれたタイムをワークRAM107の「パート(P)次イベントまでの時間」のメモリエリアにストアする(S1009)。
【0041】
次に、パート番号を指定するレジスタPをインクリメントする(S1010)。
そして、このレジスタPがパート数の最大値に到達したか否かを判定し(S1011)、レジスタPの値がパート数の最大値に到達するまで、S1005の処理からS1010の処理までを繰り返すことで、選曲された曲データ(M)の全てパートのスタートアドレス、及びタイムをワークRAMにストアするとともに、次イベントまでの時間、及び、経過時間、を「0」にセットする。
このレジスタPがパート数の最大値に到達するまでタイムの読込み処理が進むと、ワークRAM107の「テンポカウンタ」のメモリエリアを「0」にセットしてから(S1012)、タイマインタラプトを禁止解除(S1013)して、本ルーティンを終了する。
【0042】
再びS1003の判定に戻って、もし「スタートフラグSTF」が「1」でなければ、タイマインタラプトを禁止して(S1014)、鍵盤部104内の鍵ガイド用の表示素子を消灯するとともに、表示部109の運指表示を消去して(S1015)、本ルーティンを終了する。
尚、S1001の判定で、スタート/ストップ スイッチがオンされていなければ、何もしないで本ルーティンを終了する。
【0043】
上述のガイドモードSW処理において、図9中のS1013の処理でタイマインタラプトが禁止解除されると、タイマインタラプトが起動される。
図11は、このタイマインタラプトのフローチャートを示すものである。
CPU101は、周期的に図11のタイマインタラプト処理を実行する。
まず、「テンポカウンタ」をインクリメントする(S1101)。
この「テンポカウンタ」の値がワークRAM107内にストアされている「現在テンポ」に対応する値と等しいか否かを比較する(S1102)。
ここで、「テンポカウンタ」の値と「現在テンポ」に対応する値と等しければ、この「テンポカウンタ」を「0」にセット(S1103)するとともに、パート番号を指定するレジスタPを「0」にセット(S1104)する。
【0044】
次に、パート(P)の経過時間をインクリメント(S1105)するとともに、レジスタPをインクリメントする(S1106)。
そして、このレジスタPの値がパート数の最大値に達したか否かを判定する(S1107)。
このレジスタPが最大パート数に達しなければ、レジスタPの値がパート数の最大値に達するまで、「パート(P)経過時間」のインクリメントを繰り返す。
このレジスタPの値がパート数の最大値に達すると本ルーティンを終了する。
また、S1102の判定において、「テンポカウンタ」の値が「現在テンポ」に対応する値と等しくなければ、そのまま何もしないで本ルーティンを終了する。
【0045】
上述の如く、このタイマインタラプトの処理は、選曲された曲データのテンポに同期させて、この曲の全パートに対して順次、タイム経過時間をカウントするものである。
【0046】
図12は、図5のS506のステップである曲データ処理を実行するフローチャートである。
まず、「スタートフラグSTF」が「1」であるか否かを判定する(S1201)。
ここで、「スタートフラグSTF」が「1」であれば、パート番号を指定するレジスタPを「0」にセットする(S1202)。
そして、演奏データメモリ108から「パート(P)現在アドレス」で指定されるイベントデータを読み出す(S1203)。
【0047】
そして、この読み出されたイベントデータがENDであるか否かを判定する(S1204)。
このイベントデータがENDでなければS1205の処理に進んで、ワークRAM107内の「パート(P)次イベントまでの時間」がパート(P)のタイムの経過時間より小さいか否かを判定する。
ここで、「パート(P)次イベントまでの時間」がパート(P)のタイムの経過時間より小さければ、「パート(P)経過時間」と「パート(P)次イベントまでの時間」の差を、ワークRAM107の「パート(P)経過時間」のメモリエリアにストアすることによって(S1206)、パート(P)の経過時間のメモリエリアを「0」にする処理を行ってからS1207のイベント処理を実行する。
このイベント処理の詳細については後述する。
【0048】
次に、このイベント処理実行の後、S1208の処理に進んで、「パート(P)現在アドレス」の次のアドレスのタイムを読み込み、「パート(P)現在アドレス」を次イベント位置まで進める(S1208)。
そして読み込まれたタイムの値をワークRAM107の「パート(P)次イベントまでの時間」のメモリエリアにストアする(S1210)。
【0049】
このS1210の処理を実行するとS1212の処理に移行する。
また、S1205の判定で、「パート(P)次イベントまでの時間」がパート(P)のタイムの経過時間を超えた場合においても、S1212の処理に移行し、パート番号を指定するレジスタPをインクリメントして、このレジスタPがパート数の最大値に達したか否かを判定する(S1213)。
このレジスタPがパート数の最大値に達しなければ、再びS1203の処理に戻り、レジスタPがパート数の最大値になるまでイベントデータの読み出しを繰り返し、レジスタPがパート数の最大値に達すると本ルーティンを終了する。
【0050】
一方、もしS1204の判定において、イベントデータがENDであれば、全てのパートがENDであるか否かを判定する(S1211)。
ここで、全てのパートがENDでなければ、S1212の処理に移行する。
【0051】
次に、S1211において、全てのパートがENDになると「スタートフラグSTF」を「0」にセットして(S1214)、鍵盤部104の鍵盤下方に設けた鍵ガイドの表示素子を全て消灯して(S1215)、タイマインタラプトを禁止(S1216)した後、本ルーティンを終了する。
再びS1201の判定に戻って、「スタートフラグSTF」が「1」でなければ、何もしないでそのまま本ルーティンを終了する。
【0052】
図13と図14は、図12のS1207 イベント処理を実行するフローチャートである。
まず、読み出されたイベントデータがノートオンコマンドであるか否かを判定する(S1301)。
ここで、イベントデータがノートオンコマンドなければ、このイベントデータがノートオフコマンドであるか否かを判定する(S1306)。
このイベントデータがノートオフコマンドでなければ、このイベントデータが運指のイベントであるのか否かを判定する(図14のS1401)。
ここで、読み込まれたコマンドが運指イベントであれば、パート番号を指定するレジスタPがワークRAM107の「ガイド中パートGP」のメモリエリアにストアされているパート番号と同じか否かを判定する(S1402)。
【0053】
このレジスタPの値と「ガイド中パートGP」の値が同じであれば、「ガイドモードフラグGF」が「1」になっているか否かを判定する(S1403)。
この「ガイドモードフラグGF」が「1」になっていれば、S1404の処理に進んで、表示部109に設けられている手形表示部の表示を全て消去して、S1405の処理に進み、運指イベント内の前運指が「0」であるか否かを判定する。
この運指イベント内の前運指が「0」でなければ、S1408の処理に進んで、運指イベント内の後運指が「0」であるか否かを判定する。
この運指イベント内の後運指が「0」でなければ、イベント内の前運指と後運指の夫々の運指データに相当する運指番号をワークRAM107内の「ストア運指」のメモリエリアにストアする(S1410)。
【0054】
これに続いて、表示部109の手形表示部の画面に、「ストア運指」のメモリエリアにストアされた前運指番号に対応する指を強調表示(S1411)するとともに、「ストア運指」のメモリエリアにストアされている、次に指替えされる後運指番号に対応する指を、前述の前運指番号に対応する指と異なる表示態様で予告表示して(S1412)、本ルーティンを終了する。
【0055】
一方、S1405の判定において、運指イベントの前運指が「0」であれば、ワークメモリの「ストア運指」内の後運指がイベント内の後運指と同じ運指番号であるか否かを判定する(S1406)。
ここで、「ストア運指」内の後運指がイベント内の後運指と同じ運指番号であれば、表示部109内の手形表示部の画面上において、「ストア運指」内の前運指に対応する指から後運指に対応する指に、指替えを指示する画像を表示して(S1407)、本ルーティンを終了する。
【0056】
一方、S1406の判定において、「ストア運指」内の後運指がイベント内の後運指と同じ運指番号でなければ、そのまま本ルーティンを終了する。
また、S1408の判定において、運指イベントの後運指が「0」であれば、表示部109内の手形表示部の画面上に、前運指番号に対応する指のみを強調表示して(S1409)、本ルーティンを終了する。
この強調表示は即ち、通常の運指或いは指替えと異なる運指を指示している。
【0057】
S1402の判定に戻って、読み出された運指イベントのパートPが「ガイド中パートGP」にストアされたパート番号ではない場合、或いは、S1403の判定でガイドモードフラグが「1」でないときは、そのまま何もしないで本ルーティンを終了する。
また、S1401の判定で、読み出されたイベントが運指イベントでなければその他の処理を実行して(S1413)、本ルーティンを終了する。
【0058】
また、図13のS1301の判定に戻って、読み込まれたコマンドがノートオンであれば、パート番号を指定するレジスタPの値が「ガイド中パートGP」のメモリエリアにストアされているパート番号と同じか否かを判定する(S1302)。
ここで、レジスタPの値と「ガイド中パートGP」の値が同じであれば、「ガイドモードフラグGF」が「1」になっているか否かを判定する(S1303)。
この「ガイドモードフラグGF」が「1」であれば、コマンドのノート番号に対応する鍵盤部104の鍵下方に設けた押鍵ガイド用表示素子を点灯させて(S1304)、本ルーティンを終了する。
【0059】
一方、S1302の判定で、レジスタPのパート番号が「ガイド中パートGP」のパート番号と異なっていれば、この読み出されたノートオンコマンドを楽音生成回路110内の音源に送付して(S1305)から、本ルーティンを終了する。
また、S1303の判定で、「ガイドモードフラグGF」が「1」でない場合においても、この読み出されたノートオンコマンドを楽音生成回路110内の音源に送付して(S1305)から、本ルーティンを終了する。
【0060】
次に、S1306の判定において、読み込まれたコマンドがノートオフであれば、パート番号を指定するレジスタPの値が「ガイド中パートGP」のメモリエリアにストアされているパート番号と同じか否かを判定する(S1307)。
ここで、レジスタPの値が「ガイド中パートGP」と同じパート番号であれば、「ガイドモードフラグGF」が「1」であるか否かを判定する(S1308)。
そして「ガイドモードフラグGF」が「1」であれば、この読み込まれたコマンドのノート番号に対応する鍵の下方に設けた押鍵ガイド用表示素子を消灯して(S1309)、本ルーティンを終了する。
【0061】
一方、S1307の判定で、レジスタPのパート番号が「ガイド中パートGP」のパート番号と異なる場合、及び、S1308の判定で、「ガイドモードフラグGF」が「1」でない場合は、この読み出されたノートオフコマンドを楽音生成回路110内の音源に送付して(S1310)、本ルーティンを終了する。
【0062】
上述の如く、このイベント処理では、選曲された曲データのイベントが運指イベントであるか、ノートオンコマンドであるか、或いは、ノートオフコマンドであるか、に応じて夫々のイベント処理を実行する。
例えば、演奏ガイドのモードを指定しているときに、読み込まれたイベントが運指イベントであれば、指替えを指示するか否かの運指データに応じて運指画像を表示部109の手形表示部に表示する。
【0063】
また、ノートオンコマンドであれば、このノートに対応する鍵盤下方に設けた表示素子を点灯して押鍵ガイドを実行し、ノートオフコマンドであれば、押鍵ガイド中の表示素子を消灯するものである。
【0064】
図15は、指替えを指示する楽譜の一例である。
図15中、ノートD4(レ)の四分音符上に記された上括弧付き24の数字は、人差し指(指番号2番)から薬指(指番号4番)に指替えを指示する運指番号であり、その他の音符に付された数字は、その音符の押鍵に用いられる運指番号を示す。
【0065】
図16〜図18は、表示部109に設けられた手形表示部における運指表示例を示す。
図16の(イ)は、図15の楽譜に示された第1音を押鍵するときの運指表示例である。この第1音は音高D4、運指番号2番を示す。
このときの運指表示と押鍵ガイド表示は、手形画像の人差し指(指番号2番)の指先のセグメントを強調表示し、更に、鍵下方に設けたD4(レ)の表示素子と同鍵基端部に設けた表示素子を点灯して押鍵を指示する。これは指替えを行わない通常の運指を指示している。
【0066】
図16の(ロ)は、図15の指替えの指示(上括弧付き24 音高D4)に対応して運指と鍵ガイドを指示する第1表示例である。
この指替えの運指表示は、前運指の運指番号2に相当する指先のセグメントを強調表示するとともに、後運指の運指番号4に相当する指先のセグメントを点滅して予告表示している。
そして、鍵D4の表示素子と同鍵基端部のLEDを点灯して押鍵を指示する。
【0067】
図17の(イ)は、図15の指替え指示に対応して別形態の運指画像を表示する第2表示例である。
この第2表示例の運指表示を実施する形態として、演奏データメモリ108の曲データの中に、予め、指替えを指定するセグメントデータをストアしておき、指替えを指示する運指データが判別されると、この指替えに対応する運指画像データに基づいて、対象となるセグメントを手形表示部に表示させる例である。
この第2表示例の手形画像は5本の指の手形セグメントと、これらの各指先を夫々セグメントラインで連ねた画像から成る。
【0068】
この手形画像を指替え表示すると、前運指の運指番号2に相当する指先のセグメントを強調表示し、後運指の運指番号4に相当する指先のセグメントを点滅して予告表示するとともに、運指番号2から運指番号4までの指先を結ぶセグメントラインを表示して、指替えを更に強調している。
図17(ロ)は、運指番号1から運指番号5に指替えされるときの運指画像の例である。
【0069】
図18(イ)(ロ)は、更に、別形態の運指画像を指示する第3表示例である。
この第3表示例の運指表示を実施する形態として、演奏データメモリ108の曲データの中に、予め、指替えの種類に応じた運指画像をストアしておき、指替えを指示する運指データが判別されると、この指替えに対応する運指画像データを読み出して手形表示部に表示させるものである。
この図18の運指画像は、図16、図17の運指画像に示す手形が固定であるのに対して、押鍵中の1つの鍵に対して指替えされる瞬間の手形の模写画像を表示することが特徴である。
図18(イ)は、運指番号2から運指番号4に指替えされる瞬間の手形の画像を示す。
図18(ロ)は、運指番号1から運指番号5に指替えされる瞬間の手形の画像を示す。
【0070】
尚、他の実施形態として、演奏データメモリ108に楽譜表示用データを含む曲データを記憶して、表示部109の手形表示部にこの楽譜を表示させながら運指画像を同時に表示してもよい。
また、指替えを表示するときに指替えの強調表示と予告表示の表示色を異ならせたり、或いは、表示サイズ、表示形状、濃淡表示、点滅表示等、表示態様を異ならせてもよい。
また、運指表示をアニメーション画像等の動画としてもよく、更に、運指番号を音声等で指示するようにしてもよい。
本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【0071】
また、上記実施の形態で説明した動作手順をプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記録媒体を通じてコンピュータに供給することができる。
【0072】
【発明の効果】
本発明の運指指示装置は、曲データに対応して押鍵演奏が行われている際に、指替えが必要であることが検出されると、指替えの運指画像を生成して指替え指示する構成としたので、音高が変化する方向にムリな運指操作をすることなく、円滑にユーザーの手の位置を移動させて演奏させることができる。
【図面の簡単な説明】
【図1】本発明の運指指示装置の構成を示すブロック図である。
【図2】図1に示した演奏データメモリの記憶領域に記憶されている演奏データのデータ構成(その1)である。
【図3】(イ)図1に示した曲データのデータ構成を示す。(ロ)図3(イ)に示したイベントのデータ構成の一例を示す。
【図4】図1のワークRAMの記憶領域に記憶されている各種データ構成を示す。
【図5】本運指指示装置の動作全体概略処理手順を示すフローチャートである。
【図6】図5に示したSW処理のサブルーティンの詳細を示すフローチャートである。
【図7】図6に示した曲選択SW処理のサブルーティンの詳細を示すフローチャートである。
【図8】図6に示したパート選択SW処理のサブルーティンの詳細を示すフローチャートである。
【図9】図6に示したガイドモードSW処理のサブルーティンの詳細を示すフローチャートである。
【図10】図6に示したスタート/ストップSW処理のサブルーティンの詳細を示すフローチャートである。
【図11】本発明のタイマインタラプトのフローチャートである。
【図12】図5に示した曲データ処理のサブルーティンの詳細を示すフローチャートである。
【図13】図12に示したイベント処理のサブルーティンの詳細を示すフローチャート(その1)である。
【図14】図12に示したイベント処理のサブルーティンの詳細を示すフローチャート(その2)である。
【図15】指替えを含む楽譜表示を示す。
【図16】(イ)運指番号2番のみ指替えを指示しない通常の運指画像を示す。
(ロ)運指番号2番→運指番号4番へ指替え指示される第1表示例を示す。
【図17】(イ)運指番号2番→運指番号4番へ指替え指示される第2表示例を示す。
(ロ)運指番号1番→運指番号5番へ指替え指示される第2表示例を示す。
【図18】(イ)運指番号2番→運指番号4番へ指替え指示される第3表示例を示す。
(ロ)運指番号1番→運指番号5番へ指替え指示される第3表示例を示す。
【符号の説明】
101 CPU
102 SW群
103 SW検出回路
104 鍵盤部
105 押鍵検出回路
106 プログラムROM
107 ワークRAM
108 演奏データメモリ
109 表示部
110 楽音生成回路
Claims (2)
- 押鍵に用いる指を指定する運指イベント及び当該運指データを読み出すタイミングを示す時間データとから構成され、前記運指イベントは、一つの押鍵すべき鍵に対して先に押鍵する指を示す前運指データ及びこの前運指データにて指定された指に替えて異なる指に変更する後運指データの少なくとも1つを含むように構成された演奏データを記憶する記憶手段と、
前記記憶手段に記憶された運指イベントを前記記憶された時間データにて指定されるタイミングで順次読み出す読出手段と、
この読み出し手段にて読み出された運指イベントが前記前運指データのみ含む場合は、表示手段に当該読み出された運指イベントの前運指データにて指定される指を第1の表示形態で表示させる第1の表示制御手段と、
前記読み出し手段にて読み出された運指イベントが前記前運指データ及び後運指データを含む場合は、当該運指イベントを運指記憶手段に記憶し、前記表示手段に当該運指記憶手段に記憶された運指イベントの前運指データにて指定される指を前記第1の表示形態で表示させるとともに、後運指データにて指定される指を第2の表示形態で表示させる第2の表示制御手段と、
前記読み出し手段にて読み出された運指イベントが前記後運指データのみ含む場合は、当該後運指データにて指定される指が前記運指記憶手段に記憶された後運指データにて指定される指と一致する否か判断し、一致している場合のみ前記表示手段に前記運指記憶手段に記憶された前運指データ及び後運指データに基づいた指替え指示表示を行わせる第3の表示制御手段と、
を具備して成る運指指示装置。 - コンピュータに、
押鍵に用いる指を指定する運指イベント及び当該運指データを読み出すタイミングを示す時間データとから構成され、前記運指イベントは、一つの押鍵すべき鍵に対して先に押鍵する指を示す前運指データ及びこの前運指データにて指定された指に替えて異なる指に変更する後運指データの少なくとも1つを含むように構成された演奏データを記憶する記憶手段に記憶された運指イベントを前記記憶された時間データにて指定されるタイミングで順次読み出す読出ステップと、
この読み出しステップにて読み出された運指イベントが前記前運指データのみ含む場合は、表示手段に当該読み出された運指イベントの前運指データにて指定される指を第1の表示形態で表示させる第1の表示制御ステップと、
前記読み出しステップにて読み出された運指イベントが前記前運指データ及び後運指データを含む場合は、当該運指イベントを運指記憶手段に記憶し、前記表示手段に当該運指記憶手段に記憶された運指イベントの前運指データにて指定される指を前記第1の表示形態で表示させるとともに、後運指データにて指定される指を第2の表示形態で表示させる第2の表示制御ステップと、
前記読み出しステップにて読み出された運指イベントが前記後運指データのみ含む場合は、当該後運指データにて指定される指が前記運指記憶手段に記憶された後運指データにて指定される指と一致する否か判断し、一致している場合のみ前記表示手段に前記運指記憶手段に記憶された前運指データ及び後運指データに基づいた指替え指示表示を行わせる第3の表示制御ステップと、
を実行させる運指指示処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002374513A JP4054912B2 (ja) | 2002-12-25 | 2002-12-25 | 運指指示装置及び運指指示処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002374513A JP4054912B2 (ja) | 2002-12-25 | 2002-12-25 | 運指指示装置及び運指指示処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004205791A JP2004205791A (ja) | 2004-07-22 |
JP4054912B2 true JP4054912B2 (ja) | 2008-03-05 |
Family
ID=32812520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002374513A Expired - Fee Related JP4054912B2 (ja) | 2002-12-25 | 2002-12-25 | 運指指示装置及び運指指示処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4054912B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4501590B2 (ja) * | 2004-08-24 | 2010-07-14 | ヤマハ株式会社 | 音楽情報表示装置および音楽情報表示方法を実現するためのプログラム |
JP4534835B2 (ja) * | 2005-03-17 | 2010-09-01 | ヤマハ株式会社 | 演奏ガイド装置及びプログラム |
JP4000335B1 (ja) * | 2006-05-19 | 2007-10-31 | 株式会社コナミデジタルエンタテインメント | 音楽ゲーム用データ演算装置、音楽ゲーム用データ演算プログラム及び音楽ゲーム用データ演算方法 |
JP2013097089A (ja) * | 2011-10-31 | 2013-05-20 | Casio Comput Co Ltd | 演奏動作表示装置、方法及びプログラム |
CN103578302B (zh) * | 2012-07-29 | 2016-01-06 | 黄颖峰 | 被动式张力感受记忆器 |
JP7279700B2 (ja) * | 2020-12-08 | 2023-05-23 | カシオ計算機株式会社 | 演奏装置、方法、及びプログラム |
-
2002
- 2002-12-25 JP JP2002374513A patent/JP4054912B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004205791A (ja) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5144875A (en) | Music sheet | |
EP2251857B1 (en) | Music composition method and system for portable device having touchscreen | |
JP4328828B2 (ja) | 携帯型和音出力装置、コンピュータプログラムおよび記録媒体 | |
JP4211672B2 (ja) | 演奏データ作成装置及びプログラム | |
US7183476B2 (en) | Portable electronic music score device for transporting, storing displaying, and annotating music scores | |
JP2006280706A (ja) | ゲーム装置 | |
JPWO2005093529A1 (ja) | テンポの変化に対応するメトロノーム | |
EP4145438A1 (en) | Automatic music document displaying on performing music | |
JP4054912B2 (ja) | 運指指示装置及び運指指示処理プログラム | |
JP2000231379A (ja) | 電子譜面台及び電子譜面の表示方法 | |
JP5043971B2 (ja) | ゲームシステム、及びそのコンピュータプログラム | |
JP4424218B2 (ja) | 電子音楽装置および同装置に適用されるコンピュータプログラム | |
JP3632488B2 (ja) | データセット選択装置 | |
JP3244397B2 (ja) | パラメータ編集装置 | |
JPS6115198A (ja) | 情報入力装置 | |
JP2003066957A (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP2004219778A (ja) | 演奏指示装置及び演奏指示処理プログラム | |
JP4894696B2 (ja) | 演奏操作トレーニング装置および演奏操作トレーニング処理のプログラム | |
JP2016099817A (ja) | 情報処理装置 | |
JP3717651B2 (ja) | 歌詞表示装置、同装置に適用されるコンピュータ読み取り可能な記録媒体及び歌詞表示方法 | |
JP2962075B2 (ja) | 電子楽器の編集装置 | |
JP4029710B2 (ja) | レジストレーションデータの呼出装置及びレジストレーションデータの呼出プログラム | |
JP7107720B2 (ja) | 運指表示プログラム | |
JP2004118165A (ja) | 手形表示装置、演奏案内装置、手形表示プログラム、及び演奏案内プログラム | |
JP2004094092A (ja) | 曲進行表示装置及び曲進行表示処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070730 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4054912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |