JP2011237821A - 演奏支援情報生成装置および演奏支援情報生成プログラム - Google Patents

演奏支援情報生成装置および演奏支援情報生成プログラム Download PDF

Info

Publication number
JP2011237821A
JP2011237821A JP2011151389A JP2011151389A JP2011237821A JP 2011237821 A JP2011237821 A JP 2011237821A JP 2011151389 A JP2011151389 A JP 2011151389A JP 2011151389 A JP2011151389 A JP 2011151389A JP 2011237821 A JP2011237821 A JP 2011237821A
Authority
JP
Japan
Prior art keywords
finger
sound
music data
pressing
key
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.)
Granted
Application number
JP2011151389A
Other languages
English (en)
Other versions
JP5029770B2 (ja
Inventor
Junichiro Soejima
淳一郎 副島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2011151389A priority Critical patent/JP5029770B2/ja
Publication of JP2011237821A publication Critical patent/JP2011237821A/ja
Application granted granted Critical
Publication of JP5029770B2 publication Critical patent/JP5029770B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)

Abstract

【課題】押鍵しない指をどの位置に置いておけばよいのかを教示する演奏支援情報生成装置を実現する。
【解決手段】曲を構成する各音を表すと共に、それら各音を弾くべき指を指定する曲データME[0]〜[N]毎に、押鍵する指の位置座標me.sfigPos[ifig]、押鍵しない指の座標位置me.sfigPos[ifig]および手の位置座標sHandPosを生成して登録し、これらに基づき各音を演奏する際の手および各指の位置をグラフ化して表示部12に画面表示するので、押鍵しない指をどの位置に置いておけばよいのかを教示し得るようになる。
【選択図】図2

Description

本発明は、電子楽器に用いて好適な演奏支援情報生成装置および演奏支援情報生成プログラムに関する。
従来より、演奏操作を支援するための情報を生成する装置が知られている。この種の装置として、例えば特許文献1には、どの鍵をどの指で押鍵すべきかを示す運指情報から鍵盤操作する手のポスチャー(姿勢)を示すデータを発生して鍵操作の練習を支援するものが開示されている。また、特許文献2には、曲を構成する各音の音高と、それら各音を弾く指を表す運指データとを含む曲データをメモリから読み出し、読み出した曲データ中の音高に対応する運指データが指替えを指示する運指である場合、その指替えを指示する運指画像を生成して運指の仕方を指示するものが開示されている。
特開2004−177546号公報 特開2004−205791号公報
ところで、鍵盤操作に不慣れな初心者ユーザでは、押鍵時の手の位置や姿勢あるいは指替えの仕方はもとより、それ以前に押鍵しない指をどの位置に置いておけばよいのかも判らないことが多い。したがって、上記特許文献1,2に開示の技術のように、押鍵時の手の位置や姿勢あるいは指替えの仕方などをユーザに教示しても、その教示に通りに行うには、押鍵しない指を適正な位置において鍵操作に備える必要がある。つまり、換言すれば、上記特許文献1,2に開示の技術では、押鍵しない指をどの位置に置いておけばよいのかを教示することができない、という問題が生じる。
本発明は、このような事情に鑑みてなされたもので、押鍵しない指をどの位置に置いておけばよいのかを教示することができる演奏支援情報生成装置および演奏支援情報生成プログラムを提供することを目的としている。
上記目的を達成するため、請求項1に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成する押鍵指位置発生手段と、前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生手段と、前記押鍵指位置発生手段により生成された押鍵指位置座標と、前記無押鍵指位置発生手段により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を表示する指位置表示手段とを具備することを特徴とする。
上記請求項1に従属する請求項2に記載の発明では、前記押鍵指位置発生手段は、読み出した曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする。
上記請求項1に従属する請求項3に記載の発明では、前記押鍵指位置発生手段は、読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指の押鍵状態を表す押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置情報とを生成して当該曲データに登録することを特徴とする。
上記請求項1に従属する請求項4に記載の発明では、前記無押鍵指位置発生手段は、読み出した曲データの音と同時刻に押鍵される指の位置と、読み出した曲データの音以前に押鍵していた指の位置と、読み出した曲データの音以降に押鍵する指の位置とを勘案して、読み出した曲データの音を押鍵しない指の鍵盤上での位置を表す無押鍵指位置座標を生成することを特徴とする。
上記請求項1に従属する請求項5に記載の発明では、前記押鍵指位置発生手段によって生成された押鍵指位置座標と、前記無押鍵指位置発生手段によって生成された無押鍵指位置座標とを対応する曲データに登録する指位置座標登録手段を更に具備することを特徴とする。
上記請求項1に従属する請求項6に記載の発明では、前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生手段と、前記手位置発生手段により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示手段とを更に具備することを特徴とする。
請求項7に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを各音毎に読み出す読み出し処理と、前記読み出し処理により読み出される曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成する押鍵指位置発生処理と、前記読み出し処理により読み出される曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、前記押鍵指位置発生処理により生成された押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を表示する指位置表示処理とをコンピュータで実行させることを特徴とする。
上記請求項7に従属する請求項8に記載の発明では、前記押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする。
上記請求項7に従属する請求項9に記載の発明では、前記押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指の押鍵状態を表す押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置情報とを生成して当該曲データに登録することを特徴とする。
上記請求項7に従属する請求項10に記載の発明では、前記無押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音と同時刻に押鍵される指の位置と、読み出される曲データの音以前に押鍵していた指の位置と、読み出される曲データの音以降に押鍵する指の位置とを勘案して、読み出される曲データの音を押鍵しない指の鍵盤上での位置を表す無押鍵指位置座標を生成することを特徴とする。
上記請求項7に従属する請求項11に記載の発明では、前記押鍵指位置発生処理によって生成された押鍵指位置座標と、前記無押鍵指位置発生処理によって生成された無押鍵指位置座標とを対応する曲データに登録する登録処理をさらにコンピュータで実行させることを特徴とする。
上記請求項7に従属する請求項12に記載の発明では、前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生処理と、前記手位置発生処理により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示処理をさらにコンピュータで実行させることを特徴とする。
本発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを各音毎に読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成して対応する曲データに登録すると共に、読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標と、その読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標とを生成して対応する曲データに登録する。そして、曲データに登録された押鍵指位置座標、無押鍵指位置座標および手位置座標を参照して曲データを演奏する際の手および各指の位置変化を表示するので、押鍵しない指をどの位置に置いておけばよいのかを教示することができる。
本発明による実施の一形態の構成を示すブロック図である。 曲データMEのデータ構成を示す図である。 演奏支援処理の動作を示すフローチャートである。 押鍵する指の座標設定処理の動作を示すフローチャートである。 押鍵する指の座標設定処理の動作を示すフローチャートである。 押鍵しない指の座標設定処理の動作を示すフローチャートである。 座標候補取得処理の動作を示すフローチャートである。 座標取得[1]処理の動作を示すフローチャートである。 座標取得[2]処理の動作を示すフローチャートである。 座標決定処理の動作を示すフローチャートである。 演奏支援処理の動作の一例を説明するための図である。 演奏支援処理の動作の一例を説明するための図である。
以下、図面を参照して本発明の実施の形態について説明する。
A.構成
(1)全体構成
図1は、本発明による演奏支援情報生成装置を搭載した電子楽器の全体構成を示すブロック図である。この図において、鍵盤10は押離鍵操作(演奏操作)に応じたキーオン/キーオフイベント、鍵番号およびベロシティ等の演奏情報を発生する。スイッチ部11は、楽器パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。スイッチ部11に配設される主要なスイッチとしては、例えばパワーオンオフする電源スイッチの他、曲データを選択する曲選択スイッチや、動作モードを設定するモードスイッチ等がある。なお、本実施の形態では、モードスイッチ操作により演奏モード又は演奏支援情報発生モードが設定される。
表示部12は、LCDパネル等から構成され、CPU13から供給される表示制御信号に応じて楽器全体の動作モードや各種設定状態を表示する。具体的には、演奏支援情報発生モードに設定されている場合、CPU13が後述する演奏支援処理を実行することにより、曲を構成する各音を演奏する際の手および各指の位置をグラフ化して表示部12に画面表示するようになっている。
CPU13は、モードスイッチ操作で設定される動作モードで楽器各部を制御する。具体的には、演奏モードに設定されると、CPU13は押離鍵操作に応じて鍵盤10から出力される演奏情報に対応した各種楽音パラメータ(ノートオン/ノートオフ等)を発生し、これを音源16に供給して楽音発生を指示する。一方、演奏支援情報発生モードに設定された場合には、CPU13は後述する演奏支援処理を実行し、曲選択スイッチ操作で選択された曲データに基づき演奏支援情報を生成し、生成した演奏支援情報に基づき演奏時の手および各指の位置をグラフ化して表示部12に画面表示する。
ROM14には、CPU13にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述する演奏支援処理を含む。RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に使用される各種レジスタ・フラグデータが一時記憶される。RAM15のデータエリアには、複数曲の曲データが格納されており、そのデータ構成については追って述べる。
音源16は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源16は、各種音色の波形データを記憶しており、これらの内、CPU13から供給される楽音パラメータに応じた波形データを読み出して楽音波形を発生する。サウンドシステム17は、音源16から出力される楽音波形をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
(2)曲データの構成
図2は、RAM15のデータエリアに格納される曲データの構成を示す図である。1つの曲は、所謂MIDI形式で表現され、曲を構成する各音に対応する曲データME[0]〜ME[N]から構成される。そして、1つの曲データMEは、発音開始時刻lTime、発音時間(音長)lGate、発音開始時間(絶対時間)lTimsec、ピッチ(音高)Pitch、鍵盤座標iPos、和音フラグclsHarm、ポインタpHTop、ポインタpHTail、ポインタpPHTop、ポインタpPHTail、ポインタpNHTop、ポインタpNHTailおよび運指cfigを備える。さらに、曲データMEには、押鍵の有無を各指毎に表す押鍵フラグiFigOn[1]〜[5]、各指の位置を表す座標sfigPos[1]〜[5]および手の位置座標sHandPosが後述の後述する演奏支援処理により生成されて登録される。なお、曲データMEを構成する上記各データが意図するところについては後述する動作の説明に交えて述べる。
B.動作
次に、図3〜図12を参照して上記構成による実施形態におけるCPU13が実行する演奏支援処理の動作を説明する。
(1)演奏支援処理の動作
電源投入後のモードスイッチ操作に応じて、演奏支援情報発生モードに設定されると、CPU13は図3に図示する演奏支援処理を実行してステップSA1に処理を進める。ステップSA1では、曲選択スイッチ操作で選択された曲データME[0]〜ME[N]を、RAM15のデータエリアから読み込み、ワークエリアに展開する。
続いて、ステップSA2では、押鍵する指の座標設定処理を実行する。この処理では、後述するように、ポインタmeで指定される曲データME[me]毎に、鍵の位置(鍵盤座標me.iPos)を、押鍵する指の位置座標me.sfigPos[ifig]として登録したり、曲データME[me]が和音構成音であると、他の和音構成音にそれぞれ割当てられた各指の押鍵(押鍵フラグiFigOn[cfigE]=1)と、それら各指が押鍵する鍵盤座標(座標me.sfigPos[cfigE])とを登録する。
次いで、ステップSA3では、押鍵しない指の座標設定処理を実行する。この処理では、後述するように、ポインタmeで指定される曲データME[me]毎に、押鍵しない指の座標位置me.sfigPos[ifig]を登録すると共に、親指から小指までの全ての指が取り得る最大指座標sfMaxおよび最小指座標sfMinの平均値(sfMax+sfMin)/2から得られる手の位置座標sHandPosを登録する。
そして、ステップSA4では、上記ステップSA2〜SA3において、ポインタmeで指定される曲データME[me]毎に登録した押鍵する指の位置座標me.sfigPos[ifig]、押鍵しない指の座標位置me.sfigPos[ifig]および手の位置座標sHandPosに基づき、各曲データME[0]〜[N]を演奏する際の手および各指の位置変化をグラフ化して表示部12に画面表示する。これにより、押鍵しない指をどの位置に置いておけばよいのかを教示し得るようになる。
(2)押鍵する指の座標設定処理の動作
次に、図4〜図5を参照して、押鍵する指の座標設定処理の動作を説明する。上述した演奏支援処理のステップSA2(図3参照)を介して本処理が実行されると、CPU13は図4に図示するステップSB1に進み、先頭の曲データME[0]を指定するアドレスを、ポインタmeにストアする。次いで、ステップSB2では、歩進されたポインタmeが「NULL」、つまり全ての曲データMEについて処理し終えたかどうかを判断する。歩進されたポインタmeが「NULL」ではなく、全ての曲データMEについて処理し終えていなければ、判断結果は「NO」になり、ステップSB3に進む。
ステップSB3では、メロディパートを演奏する右手の各指を指定するポインタifigに初期値「1」をセットする。なお、ポインタifigは「1」の時に親指、「2」の時に人差し指、「3」の時に中指、「4」の時に薬指、「5」の時に小指をそれぞれ指定する。したがって、ステップSB3では、先ず親指を指定することになる。次いで、ステップSB4では、ポインタifigが「6」より小さいか否か、つまり親指から小指までの全ての指について処理し終えたかどうかを判断する。全ての指について処理し終えていなければ、判断結果は「NO」になり、ステップSB5に進む。
ステップSB5では、ポインタifigと、ポインタmeで指定される曲データME[me]中の運指cfig(me.cfig)とが一致するか、すなわちポインタifigにより現在指定されている指が、運指me.cfigで表される押鍵すべき指の指番号に一致するかどうかを判断する。現在指定されている指が押鍵すべき指でなければ、判断結果が「NO」になり、ステップSB6に進み、ポインタifigをインクリメントして歩進させた後、上記ステップSB4に処理を戻す。
歩進されたポインタifigの値が「6」より小さく、親指から小指までの全ての指について処理し終えていない場合には、上記ステップSB4の判断結果が再び「NO」になり、ステップSB5に進む。そして、ステップSB5において、歩進されたポインタifigと運指cfigとが一致し、現在指定されている指が押鍵すべき指になると、判断結果は「YES」になり、ステップSB7に進む。
ステップSB7では、ポインタmeで指定される曲データME[me]中の鍵盤座標me.iPosを、当該曲データME[me]中の指座標me.sfigPos[ifig]に登録する。ここで、鍵盤座標me.iPosとは、曲データME[me]のピッチPitch(音高)に対応した鍵の位置を表す。したがって、このステップSB7では、曲データME[me]の音を押鍵する指の位置として、押鍵すべき鍵の位置を登録する。
続いて、図5に図示するステップSB8に進み、ポインタmeで指定される曲データME[me]中の和音フラグme.clsHarmが「0」より大であるか否かを判断する。和音フラグme.clsHarmは、曲データME[me]の音が和音であるか否かを表すフラグであり、「0」の場合に非和音を、「1」の場合に和音であることを表す。
したがって、このステップSB8では、曲データME[me]の音が和音であるかどうかを判断する。曲データME[me]の音が非和音であると、判断結果は「NO」になり、図4に図示するステップSB14に処理を進め、次の曲データME[me.next]を指定するようポインタmeを更新させた後、前述のステップSB2に処理を戻す。
一方、曲データME[me]の音が和音ならば、上記ステップSB8の判断結果が「YES」になり、次のステップSB9に進む。ステップSB9では、ポインタmeで指定される曲データME[me]中のポインタme.pHTopを、ポインタmeeにストアする。ここで、ポインタme.pHTopとは、曲データME[me]の音を含む和音の内、音高が最も低い和音構成音(以下、最低音と称す)の曲データMEを指定する。次いで、ステップSB10では、ポインタmeeで指定される曲データME[mee]中の運指mee.cfigを、レジスタcfigEにストアする。つまり、レジスタcfigEには、最低音を押鍵する指を表す運指番号が格納される。
そして、ステップSB11では、ポインタmeで指定される曲データME[me]中の押鍵フラグiFigOn[1]〜[5]の内、レジスタcfigEに格納された運指番号で指定される指の押鍵フラグiFigOn[cfigE]に「1」をセットする。これにより、最低音に割当てられた指の押鍵が曲データME[me]中に登録される。
また、ステップSB11では、ポインタmeeで指定される曲データME[mee]中の鍵盤座標mee.iPosを、ポインタmeで指定される曲データME[me]中の座標me.sfigPos[cfigE]にストアする。これにより、最低音の鍵盤座標が、レジスタcfigEに格納された運指番号で指定される指の座標me.sfigPos[cfigE]として曲データME[me]中に登録される。
次いで、ステップSB12では、ポインタmeeと、ポインタmeで指定される曲データME[me]中のポインタme.pHTailとが一致するか否かを判断する。ここで、ポインタme.pHTailとは、曲データME[me]の音を含む和音の内、音高が最も高い和音構成音(以下、最高音と称す)の曲データMEを指定する。
したがって、このステップSB12では、最低音から最高音までの各和音構成音について上記ステップSB11の処理を行ったかどうかを判断する。つまり、最低音から最高音までの各和音構成音にそれぞれ割当てられた各指の押鍵と、それら各指が押鍵する鍵盤座標とを曲データME[me]に登録し終えたか否かを判断する。そして、登録し終えていなければ、判断結果は「NO」になり、次のステップSB13に進む。
ステップSB13では、曲データME[me]の音を含む和音の内、最低音の次に音高が低い和音構成音を指定するようポインタmeを更新させた後、前述のステップSB10に処理を戻す。以後、最高音に達する迄、上述したステップSB10〜SB13を繰り返す。
こうして、最低音から最高音までの各和音構成音にそれぞれ割当てられた各指の押鍵と、それら各指が押鍵する鍵盤座標とが曲データME[me]に登録されると、上記ステップSB12の判断結果が「YES」になり、図4に図示するステップSB14に進み、次の曲データME[me.next]を指定するようポインタmeを更新させた後、前述のステップSB2に処理を戻す。以後、上述したステップSB2以降を繰り返し、全ての曲データME[0]〜[N]について処理し終えると、ステップSB2の判断結果が「YES」になり、本処理を完了させる。
このように、押鍵する指の座標設定処理では、歩進されるポインタmeで指定される曲データME[me]において、鍵の位置(鍵盤座標me.iPos)を、押鍵する指の位置(指座標me.sfigPos[ifig])として登録する。また、曲データME[me]の音が和音ならば、和音構成音の最低音から最高音にそれぞれ割当てられた各指の押鍵(押鍵フラグiFigOn[cfigE]=1)と、それら各指が押鍵する鍵盤座標(座標me.sfigPos[cfigE])とを登録する。
(3)押鍵しない指の座標設定処理の動作
次に、図6を参照して、押鍵しない指の座標設定処理の動作を説明する。上述した演奏支援処理のステップSA3(図3参照)を介して本処理が実行されると、CPU13は図6に図示するステップSC1に進み、先頭の曲データME[0]を指定するアドレスを、ポインタmeにストアする。次いで、ステップSC2では、歩進されたポインタmeが「NULL」、つまり全ての曲データMEについて処理し終えたかどうかを判断する。歩進されたポインタmeが「NULL」ではなく、全ての曲データMEについて処理し終えていなければ、判断結果は「NO」になり、ステップSC3に進む。
ステップSC3では、メロディパートを演奏する右手の各指を指定するポインタifigに初期値「1」をセットする。なお、ポインタifigは「1」の時に親指、「2」の時に人差し指、「3」の時に中指、「4」の時に薬指、「5」の時に小指をそれぞれ指定する。したがって、ステップSC3では、先ず親指を指定することになる。次いで、ステップSC4では、ポインタifigが「6」より小さいか否か、つまり親指から小指までの全ての指について処理し終えたかどうかを判断する。全ての指について処理し終えていなければ、判断結果は「NO」になり、ステップSC5に進む。
ステップSC5では、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される指の押鍵フラグiFigOn[ifig]が「0」、つまり現在指定されている指は押鍵していないかどうかを判断する。現在指定されている指が押鍵している場合(押鍵フラグiFigOn[ifig]=1)には、判断結果が「NO」になり、後述するステップSC10に処理を進める。
一方、現在指定されている指が押鍵していなければ、上記ステップSC5の判断結果は「YES」になり、ステップSC6に進む。ステップSC6では、座標候補取得処理を実行する。後述するように、座標候補取得処理では、上記ステップSC5で抽出された押鍵しない指の座標候補を取得するものであり、押鍵しない指より上側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])から減算して押鍵しない指の座標候補sfigHを算出する。一方、押鍵しない指より下側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])に加算して押鍵しない指の座標候補sfigLを算出する。
次いで、ステップSC7では、座標取得[1]処理を実行する。後述するように、座標取得[1]処理では、ポインタmeで指定される曲データME[me]の音以前に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[mep])を探し出し、該当する音が存在する場合には、その音を押鍵した指の位置座標sfigPおよび押鍵時刻lTfigPを抽出する。
続いて、ステップSC8では、座標取得[2]処理を実行する。後述するように、座標取得[2]処理では、座標取得[2]処理では、ポインタmeで指定される曲データME[me]の音以降に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[men])を探し出し、該当する音が存在する場合には、その音を押鍵する指の位置座標sfigNおよび押鍵時刻lTfigNを抽出する。
そして、ステップSC9では、座標決定処理を実行する。後述するように、座標決定処理では、ステップSC6の座標候補取得処理で得られる押鍵しない指の座標候補sfigH、sfigLと、ステップSC7の座標取得[1]処理で得られる指の位置座標sfigP、押鍵時刻lTfigPと、ステップSC8の座標取得[2]処理で得られる指の位置座標sfigN、押鍵時刻lTfigNとを勘案して、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録する。
次いで、ステップSC10では、ポインタifigで指定されている指の座標位置me.sfigPos[ifig]が最大指座標sfMaxより大きければ、それを新たに最大指座標sfMaxとして更新したり、ポインタifigで指定されている指の座標位置me.sfigPos[ifig]が最小指座標sfMinより小さければ、それを新たに最小指座標sfMinとして更新したりする。そして、ステップSC11では、ポインタifigを歩進させて次の指を指定した後、上述のステップSC4に処理を戻す。
以後、歩進されたポインタifigが「6」に達するまで、つまり親指から小指までの全ての指について処理し終えるまで上述したステップSC4〜SC11を繰り返し、ポインタmeで指定される曲データME[me]において、押鍵しない指の座標位置me.sfigPos[ifig]を登録すると共に、親指から小指までの全ての指が取り得る最大指座標sfMaxおよび最小指座標sfMinを検出する。そして、親指から小指までの全ての指について処理し終えると、上述したステップSC4の判断結果が「YES」になり、ステップSC12に進む。
ステップSC12では、上記ステップSC10にて更新され、親指から小指までの全ての指で取り得る最大指座標sfMaxおよび最小指座標sfMinの平均値(sfMax+sfMin)/2を、ポインタmeで指定される曲データME[me]中の手の位置座標sHandPosとして登録する。続いて、ステップSC13に進み、次の曲データME[me.next]を指定するようポインタmeを更新させた後、前述のステップSC2に処理を戻す。そして、全ての曲データMEについて上述した処理をし終えると、ステップSC2の判断結果が「YES」になり、本処理を終える。
このように、押鍵しない指の座標設定処理では、歩進されるポインタmeで指定される曲データME[me]において、押鍵しない指の座標位置me.sfigPos[ifig]を登録すると共に、親指から小指までの全ての指が取り得る最大指座標sfMaxおよび最小指座標sfMinの平均値(sfMax+sfMin)/2を、手の位置座標sHandPosとして登録する。
(4)座標候補取得処理の動作
次に、図7を参照して座標候補取得処理の動作を説明する。上述したステップSC6(図6参照)を介して本処理が実行されると、CPU13は図7に図示するステップSD1に進み、ポインタifigの指番号をインクリメントしてレジスタifgにストアする。レジスタifgの値を検索ポインタifgと記す。
続いて、ステップSD2では、検索ポインタifgが「6」より小さいか否かを判断する。検索ポインタifgが「6」より小さければ、判断結果は「YES」になり、ステップSD3に進む。ステップSD3では、ポインタmeで指定される曲データME[me]において、検索ポインタifgで指定される指の押鍵フラグiFigOn[ifig]が「1」、つまり検索ポインタifgで指定されている指が押鍵しているかどうかを判断する。検索ポインタifgで指定されている指が押鍵していなければ、判断結果は「NO」になり、ステップSD4に進み、検索ポインタifgを歩進させた後、上述のステップSD2に処理を戻す。
このように、ステップSD1〜SD4では、例えば上述した「押鍵しない指の座標設定処理」において、ポインタifigで指定される押鍵しない指が「中指(指番号:3)」であったとすると、歩進される検索ポインタifgに応じて指定される「薬指(指番号:4)」および「小指(指番号:5)」の内から押鍵する指を検索する。押鍵する指が存在しなければ、上記ステップSD2の判断結果が「NO」になり、後述のステップSD6に処理を進める。
これに対し、押鍵する指が見つかると、上記ステップSD3の判断結果が「YES」になり、ステップSD5に進む。ステップSD5では、上述の「押鍵しない指の座標設定処理」で処理対象とされている曲データME[me]において、検索ポインタifgで指定され、押鍵する指の位置を表す座標(me.sfigPos[ifg])から座標補正値2×(ifg−ifig)を減算して、ポインタifigで指定される押鍵しない指の座標候補sfigHを算出する。なお、座標補正値2×(ifg−ifig)は、押鍵する指の指番号ifgと押鍵しない指の指番号ifigとの差を白鍵の数に換算した値である。また、鍵盤座標では、白鍵1つ分が「2」に相当する。
例えばポインタifigで指定される押鍵しない指が「中指(指番号:3)」であって、検索ポインタifgで指定される押鍵する指が「小指(指番号:5)」の場合には、座標補正値は2×(5−3)=4となる。したがって、押鍵する指の位置を表す座標(me.sfigPos[ifg])から座標補正値「4」を減算した座標値、つまり押鍵する指の位置を表す座標(me.sfigPos[ifg])から白鍵2個分低い座標が、ポインタifigで指定される押鍵しない指の座標候補sfigHとなる。
次に、ステップSD6では、検索ポインタifgをデクリメントする。続いて、ステップSD7では、デクリメントした検索ポインタifgの値が「0」以上であるか否かを判断する。検索ポインタifgが「0」以上であれば、判断結果は「YES」になり、ステップSD8に進む。ステップSD8では、ポインタmeで指定される曲データME[me]において、検索ポインタifgで指定される指の押鍵フラグiFigOn[ifig]が「1」、つまり検索ポインタifgで指定されている指が押鍵しているかどうかを判断する。検索ポインタifgで指定されている指が押鍵していなければ、判断結果は「NO」になり、ステップSD9に進み、検索ポインタifgをデクリメントさせた後、上述のステップSD7に処理を戻す。
このように、ステップSD6〜SD9では、例えば上述した「押鍵しない指の座標設定処理」において、ポインタifigで指定される押鍵しない指が「中指(指番号:3)」であったとすると、デクリメントされる検索ポインタifgに応じて指定される「人差し指(指番号:2)」および「親指(指番号:1)」の内から押鍵する指を検索する。押鍵する指が存在しなければ、上記ステップSD7の判断結果が「NO」になり、本処理を完了させる。
一方、押鍵する指が見つかると、上記ステップSD8の判断結果が「YES」になり、ステップSD10に進む。ステップSD10では、上述の「押鍵しない指の座標設定処理」で処理対象とされている曲データME[me]において、検索ポインタifgで指定され、押鍵する指の位置を表す座標(me.sfigPos[ifg])から座標補正値2×(ifg−ifig)を減算して、ポインタifigで指定される押鍵しない指の座標候補sfigLを算出して本処理を終える。
例えばポインタifigで指定される押鍵しない指が「中指(指番号:3)」であって、検索ポインタifgで指定される押鍵する指が「親指(指番号:1)」の場合には、座標補正値は2×(1−3)=−4となる。したがって、押鍵する指の位置を表す座標(me.sfigPos[ifg])に座標補正値「4」を加算した座標値、つまり押鍵する指の位置を表す座標(me.sfigPos[ifg])から白鍵2個分高い座標が、ポインタifigで指定される押鍵しない指の座標候補sfigLとなる。
このように、座標候補取得処理では、「押鍵しない指の座標設定処理」で処理対象とされている曲データME[me]において、ポインタifigで指定される押鍵しない指の座標候補を取得するものであり、押鍵しない指より上側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])から減算して押鍵しない指の座標候補sfigHを算出し、一方、押鍵しない指より下側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])に加算して押鍵しない指の座標候補sfigLを算出する。
(5)座標取得[1]処理の動作
次に、図8を参照して座標取得[1]処理の動作を説明する。上述の「押鍵しない指の座標設定処理」のステップSC7(図6参照)を介して本処理が実行されると、CPU13は図8に図示するステップSE1に進み、ポインタmeで指定される曲データME[me]中のポインタme.pPHTailを、ポインタmepにセットする。ポインタme.pPHTailとは、ポインタmeで指定される曲データME[me]の音の前の音列群の和音の終端(一番上の音)へのポインタであり、音列群が単音であればその音自身を指すポインタである。つまり、ME[me]の直前の音を指し示すポインタである。
続いて、ステップSE2では、ポインタmeで指定される曲データME[me]中の発音開始時間me.lTimsecからポインタmepで指定される曲データME[mep]中の発音開始時間mep.lTimsecを減算した時間差が所定値ForcastTimeより小さいか否かを判断する。つまり、曲データME[me]の直前の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime遡った範囲内に存在するかどうかを判断する。
そして、曲データME[me]の直前の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime遡った範囲内に存在するならば、上記ステップSE2の判断結果は「YES」になり、ステップSE3に進む。ステップSE3では、ポインタmepで指定される曲データME[mep]中の運指mep.cfigと、ポインタifigで指定される押鍵しない指とが一致するか否かを判断する。一致しなければ、判断結果は「NO」になり、ステップSE4に進む。ステップSE4では、さらに一つ前の音を指定するようポインタmepを更新させた後、上述のステップSE2に処理を戻す。
以後、ステップSE2〜SE4を繰り返して現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime遡った範囲内に、ポインタifigで指定される押鍵しない指と同じ運指を有し、曲データME[me]の音より前に存在する音を探し出す。そして、該当する音が見つからなければ、上記ステップSE2の判断結果が「NO」になり、本処理を終えるが、該当する音が見つかると、上記ステップSE3の判断結果が「YES」になり、ステップSE5に進む。
ステップSE5では、ポインタmepで指定される曲データME[mep](該当する音)においてポインタifigで指定される指の座標mep.sfigPos[ifig]をレジスタsfigPにストアすると共に、曲データME[mep]の発音開始時間mep.lTimsecをレジスタlTfigPにストアする。
このように、座標取得[1]処理では、曲データME[me]の音以前に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[mep])を探し出し、該当する音が存在する場合には、その音を押鍵した指の位置座標sfigPおよび押鍵時刻lTfigPを抽出する。
(6)座標取得[2]処理の動作
次に、図9を参照して座標取得[2]処理の動作を説明する。上述の「押鍵しない指の座標設定処理」のステップSC8(図6参照)を介して本処理が実行されると、CPU13は図9に図示するステップSF1に進み、ポインタmeで指定される曲データME[me]中のポインタme.pNHTopを、ポインタmenにセットする。ポインタme.pNHTopとは、ポインタmeで指定される曲データME[me]の音の後の音列群の和音の先頭(一番下の音)へのポインタであり、音列群が単音であればその音自身を指すポインタである。つまり、ME[me]の直後の音を指し示すポインタである。
続いて、ステップSF2では、ポインタmeで指定される曲データME[me]中の発音開始時間me.lTimsecからポインタmenで指定される曲データME[men]中の発音開始時間mep.lTimsecを減算した時間差が所定値ForcastTimeより小さいか否かを判断する。つまり、曲データME[me]の直後の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime経過した範囲内に存在するかどうかを判断する。
そして、曲データME[me]の直後の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime経過した範囲内に存在するならば、上記ステップSF2の判断結果は「YES」になり、ステップSF3に進む。ステップSF3では、ポインタmenで指定される曲データME[men]中の運指men.cfigと、ポインタifigで指定される押鍵しない指とが一致するか否かを判断する。一致しなければ、判断結果は「NO」になり、ステップSF4に進む。ステップSF4では、さらに一つ後の音を指定するようポインタmenを更新させた後、上述のステップSF2に処理を戻す。
以後、ステップSF2〜SF4を繰り返して現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime経過した範囲内に、ポインタifigで指定される押鍵しない指と同じ運指を有し、曲データME[me]の音以降に存在する音を探し出す。そして、該当する音が見つからなければ、上記ステップSF2の判断結果が「NO」になり、本処理を終えるが、該当する音が見つかると、上記ステップSF3の判断結果が「YES」になり、ステップSF5に進む。
ステップSF5では、ポインタmenで指定される曲データME[men](該当する音)においてポインタifigで指定される指の座標men.sfigPos[ifig]をレジスタsfigNにストアすると共に、曲データME[men]の発音開始時間men.lTimsecをレジスタlTfigNにストアする。
このように、座標取得[2]処理では、曲データME[me]の音以降に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[men])を探し出し、該当する音が存在する場合には、その音を押鍵する指の位置座標sfigNおよび押鍵時刻lTfigNを抽出する。
(7)座標決定処理の動作
次に、図10を参照して座標決定処理の動作を説明する。上述の「押鍵しない指の座標設定処理」のステップSC9(図6参照)を介して本処理が実行されると、CPU13は図10に図示するステップSG1に進む。ステップSG1では、座標取得[1]処理で得られる指の位置座標sfigPと、座標取得[2]処理で得られる指の位置座標sfigNとの双方が存在するか否かを判断する。以下、「指の位置座標sfigP,sfigNの双方が存在する場合」、「指の位置座標sfigPのみ存在する場合」、「指の位置座標sfigNのみ存在する場合」、「指の位置座標sfigP,sfigNいずれも存在しない場合」に分けて動作説明を進める。
a.指の位置座標sfigP,sfigNの双方が存在する場合
この場合、ステップSG1の判断結果が「YES」になり、ステップSG2に進む。ステップSG2では、次式(1)に従い、上述した座標取得[1]処理で得られた指の位置座標sfigPおよび押鍵時刻lTfigPと、座標取得[2]処理で得られた指の位置座標sfigNおよび押鍵時刻lTfigNとに基づき内挿補間を行って、現在時刻(発音開始時間me.lTimsec)における押鍵しない指の位置座標sfigDを算出する。
sfigD=(sfigP(lTfigN−me.lTimsec)+sfigN(lTfigP−me.lTimsec))/(lTfigN−lTfigP)…(1)
なお、座標取得[1]処理で得られる指の位置座標sfigPは、曲データME[me]の音を押鍵しない指であって、その指が曲データME[me]の音以前の音を押鍵したときの指の位置を表し、押鍵時刻lTfigPはその時刻を表す。また、座標取得[2]処理で得られる指の位置座標sfigNは、曲データME[me]の音を押鍵しない指であって、その指が曲データME[me]の音以降の音を押鍵するときの指の位置を表し、押鍵時刻lTfigNはその時刻を表す。
次いで、ステップSG3では、下記(イ)〜(ホ)の操作を行って、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録する。すなわち、
(イ)上述した座標候補取得処理で求めた指の座標候補sfigH,sfigLの内、大きい方の座標候補Max(sfigH,sfigL)を選択する。
(ロ)上記(イ)で選択したMax(sfigH,sfigL)と、上記ステップSG2の内挿補間により算出した押鍵しない指の位置座標sfigDとを比較して大きい値の位置座標を選択する。
(ハ)上述した座標候補取得処理で求めた指の座標候補sfigH,sfigLの内、小さい方の座標候補min(sfigH,sfigL)を選択する。
(ニ)上記(ハ)で選択したmin(sfigH,sfigL)と、上記ステップSG2の内挿補間にて算出した押鍵しない指の位置座標sfigDとを比較して小さい値の位置座標を選択する。
(ホ)上記(ロ)で選択した位置座標と、上記(ニ)で選択した位置座標との平均値を算出し、これをポインタmeで指定される曲データME[me]において、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]に登録して本処理を終える。
b.指の位置座標sfigPのみ存在する場合
この場合、上述したステップSG1の判断結果が「NO」となり、ステップSG4に進む。ステップSG4では、指の位置座標sfigPのみ存在するか否かを判断する。そして、ステップSG4の判断結果は「YES」になり、ステップSG5に進む。ステップSG5では、指の位置座標sfigPを、押鍵しない指の位置座標sfigDに設定する。この後、上述したステップSG3に進み、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録して本処理を終える。
c.指の位置座標sfigNのみ存在する場合
この場合、上述したステップSG1、SG4の各判断結果がいずれも「NO」となり、ステップSG6に進む。ステップSG6では、指の位置座標sfigNのみ存在するか否かを判断する。そして、ステップSG6の判断結果は「YES」になり、ステップSG7に進む。ステップSG7では、指の位置座標sfigNを、押鍵しない指の位置座標sfigDに設定する。この後、上述したステップSG3に進み、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録して本処理を終える。
d.指の位置座標sfigP,sfigNいずれも存在しない場合
この場合、上述したステップSG1、SG4、SG6の各判断結果がいずれも「NO」となり、ステップSG8に進む。ステップSG8では、上述した座標候補取得処理で求めた指の座標候補sfigH,sfigLの平均値(sfigH+sfigL)/2を、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を設定して本処理を終える。
以上説明したように、本実施の形態では、曲を構成する各音を表すと共に、それら各音を弾くべき指を指定する曲データME[0]〜[N]毎に、押鍵する指の位置座標me.sfigPos[ifig]、押鍵しない指の座標位置me.sfigPos[ifig]および手の位置座標sHandPosを生成して登録し、これらに基づき各音を演奏する際の手および各指の位置変化をグラフ化して表示部12に画面表示するので、押鍵しない指をどの位置に置いておけばよいのかを教示し得るようになる。
したがって、例えば図11に図示する楽譜の曲データME[0]〜[N]の場合、演奏する際の手および各指の位置は図12に図示するグラフとして表現される。なお、図11に図示した楽譜において各音符上に付与される数字は運指を表す指番号である。また、図12に図示したグラフにおいて、横軸は演奏開始時点を起点とした演奏時刻を、縦軸は鍵盤座標を表す。
10 鍵盤
11 スイッチ部
12 表示部
13 CPU
14 ROM
15 RAM
16 音源
17 サウンドシステム
上記目的を達成するため、請求項1に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成するとともに、前記読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指の押鍵状態を表す押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置情報とを生成して当該曲データに登録する押鍵指位置発生手段と、
前記曲データ記憶手段から各音毎の曲データを読み出し、当該読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生手段と、
前記押鍵指位置発生手段により生成された押鍵指位置座標と、前記無押鍵指位置発生手段により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を表示する指位置表示手段とを具備することを特徴とする。
上記請求項1に従属する請求項に記載の発明では、前記無押鍵指位置発生手段は、前記読み出した曲データの音と同時刻に押鍵される指の位置と、前記読み出した曲データの音以前に押鍵していた指の位置と、前記読み出した曲データの音以降に押鍵する指の位置とを勘案して、読み出した曲データの音を押鍵しない指の鍵盤上での位置を表す無押鍵指位置座標を生成することを特徴とする。
上記請求項1に従属する請求項に記載の発明では、前記押鍵指位置発生手段によって生成された押鍵指位置座標と、前記無押鍵指位置発生手段によって生成された無押鍵指位置座標とを対応する曲データに登録する指位置座標登録手段を更に具備することを特徴とする。
上記請求項1に従属する請求項に記載の発明では、前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生手段と、前記手位置発生手段により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示手段とを更に具備することを特徴とする。
請求項に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段を有するコンピュータに、
各音毎に読み出す読み出し処理と、
前記読み出し処理により読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成するとともに、前記読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指の押鍵状態を表す押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置情報とを生成して当該曲データに登録する押鍵指位置発生処理と、
前記読み出し処理により読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、
前記押鍵指位置発生処理により生成された押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を表示する指位置表示処理とを実行させることを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記無押鍵指位置発生処理は、前記読み出し処理により読み出した曲データの音と同時刻に押鍵される指の位置と、前記読み出した曲データの音以前に押鍵していた指の位置と、前記読み出した曲データの音以降に押鍵する指の位置とを勘案して、前記読み出した音を押鍵しない指の鍵盤上での位置を表す無押鍵指位置座標を生成することを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記押鍵指位置発生処理によって生成された押鍵指位置座標と、前記無押鍵指位置発生処理によって生成された無押鍵指位置座標とを対応する曲データに登録する登録処理をさらにコンピュータ実行させることを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生処理と、前記手位置発生処理により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示処理をさらにコンピュータ実行させることを特徴とする。

Claims (12)

  1. 少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段と、
    前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成する押鍵指位置発生手段と、
    前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生手段と、
    前記押鍵指位置発生手段により生成された押鍵指位置座標と、前記無押鍵指位置発生手段により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を表示する指位置表示手段と
    を具備することを特徴とする演奏支援情報生成装置。
  2. 前記押鍵指位置発生手段は、読み出した曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする請求項1記載の演奏支援情報生成装置。
  3. 前記押鍵指位置発生手段は、読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指の押鍵状態を表す押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置情報とを生成して当該曲データに登録することを特徴とする請求項1記載の演奏支援情報生成装置。
  4. 前記無押鍵指位置発生手段は、読み出した曲データの音と同時刻に押鍵される指の位置と、読み出した曲データの音以前に押鍵していた指の位置と、読み出した曲データの音以降に押鍵する指の位置とを勘案して、読み出した曲データの音を押鍵しない指の鍵盤上での位置を表す無押鍵指位置座標を生成することを特徴とする請求項1記載の演奏支援情報生成装置。
  5. 前記押鍵指位置発生手段によって生成された押鍵指位置座標と、前記無押鍵指位置発生手段によって生成された無押鍵指位置座標とを対応する曲データに登録する指位置座標登録手段を更に具備することを特徴とする請求項1記載の演奏支援情報生成装置。
  6. 前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生手段と、前記手位置発生手段により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示手段とを更に具備することを特徴とする請求項1記載の演奏支援情報生成装置。
  7. 少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを各音毎に読み出す読み出し処理と、
    前記読み出し処理により読み出される曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成する押鍵指位置発生処理と、
    前記読み出し処理により読み出される曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、
    前記押鍵指位置発生処理により生成された押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を表示する指位置表示処理と
    をコンピュータで実行させることを特徴とする演奏支援情報生成プログラム。
  8. 前記押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする請求項5記載の演奏支援情報生成プログラム。
  9. 前記押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指の押鍵状態を表す押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置情報とを生成して当該曲データに登録することを特徴とする請求項5記載の演奏支援情報生成プログラム。
  10. 前記無押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音と同時刻に押鍵される指の位置と、読み出される曲データの音以前に押鍵していた指の位置と、読み出される曲データの音以降に押鍵する指の位置とを勘案して、読み出される曲データの音を押鍵しない指の鍵盤上での位置を表す無押鍵指位置座標を生成することを特徴とする請求項5記載の演奏支援情報生成プログラム。
  11. 前記押鍵指位置発生処理によって生成された押鍵指位置座標と、前記無押鍵指位置発生処理によって生成された無押鍵指位置座標とを対応する曲データに登録する登録処理をさらにコンピュータで実行させることを特徴とする請求項7記載の演奏支援情報生成プログラム。
  12. 前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生処理と、前記手位置発生処理により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示処理をさらにコンピュータで実行させることを特徴とする請求項7記載の演奏支援情報生成プログラム。
JP2011151389A 2011-07-08 2011-07-08 演奏支援情報生成装置および演奏支援情報生成プログラム Expired - Fee Related JP5029770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011151389A JP5029770B2 (ja) 2011-07-08 2011-07-08 演奏支援情報生成装置および演奏支援情報生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011151389A JP5029770B2 (ja) 2011-07-08 2011-07-08 演奏支援情報生成装置および演奏支援情報生成プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006174968A Division JP4816930B2 (ja) 2006-06-26 2006-06-26 演奏支援情報生成装置および演奏支援情報生成プログラム

Publications (2)

Publication Number Publication Date
JP2011237821A true JP2011237821A (ja) 2011-11-24
JP5029770B2 JP5029770B2 (ja) 2012-09-19

Family

ID=45325773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011151389A Expired - Fee Related JP5029770B2 (ja) 2011-07-08 2011-07-08 演奏支援情報生成装置および演奏支援情報生成プログラム

Country Status (1)

Country Link
JP (1) JP5029770B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1039739A (ja) * 1996-07-23 1998-02-13 Nippon Steel Corp 演奏再現装置
JP2001324919A (ja) * 2000-03-24 2001-11-22 Casio Comput Co Ltd 演奏動作表示装置、及び記録媒体
JP2004109376A (ja) * 2002-09-17 2004-04-08 Kawai Musical Instr Mfg Co Ltd 運指表示方法およびそのためのプログラム
JP2006072230A (ja) * 2004-09-06 2006-03-16 Casio Comput Co Ltd 運指情報生成装置、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1039739A (ja) * 1996-07-23 1998-02-13 Nippon Steel Corp 演奏再現装置
JP2001324919A (ja) * 2000-03-24 2001-11-22 Casio Comput Co Ltd 演奏動作表示装置、及び記録媒体
JP2004109376A (ja) * 2002-09-17 2004-04-08 Kawai Musical Instr Mfg Co Ltd 運指表示方法およびそのためのプログラム
JP2006072230A (ja) * 2004-09-06 2006-03-16 Casio Comput Co Ltd 運指情報生成装置、及びプログラム

Also Published As

Publication number Publication date
JP5029770B2 (ja) 2012-09-19

Similar Documents

Publication Publication Date Title
JP6402878B2 (ja) 演奏装置、演奏方法およびプログラム
JP2020056938A (ja) 演奏情報表示装置及び演奏情報表示方法、演奏情報表示プログラム、並びに、電子楽器
JP7190284B2 (ja) ハーモニー生成装置およびそのプログラム
JP2008089975A (ja) 電子楽器
JP2583809B2 (ja) 電子楽器
JP5029770B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP4816930B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP4225362B2 (ja) コード判定装置およびコード判定処理プログラム
JP4259532B2 (ja) 演奏制御装置、およびプログラム
JP4670686B2 (ja) コード表示装置及びプログラム
JP6268674B2 (ja) 楽音発生装置、電子楽器、楽音発生方法およびプログラム
JP4509298B2 (ja) 楽譜表示装置
JP6459237B2 (ja) 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム
JP4035715B2 (ja) 伴奏生成装置および伴奏生成プログラム
JP4217978B2 (ja) コード判定装置およびコード判定処理プログラム
JP6210356B2 (ja) 演奏装置、演奏方法およびプログラム
JP6217896B2 (ja) リズム表示装置、電子楽器、リズム表示方法およびプログラム
JP4239937B2 (ja) 作曲支援装置、及びプログラム
JP4632646B2 (ja) 電子楽器およびプログラム
JP4222377B2 (ja) 電子機器
JP2006178268A (ja) 楽音制御装置および楽音制御プログラム
JP5605695B2 (ja) 電子楽器のレジストレーション装置およびプログラム
JP2012252073A (ja) 楽音データ補正装置およびプログラム
JP2012128152A (ja) 演奏練習装置およびプログラム
JP3533764B2 (ja) 自動伴奏装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120315

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: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120611

R150 Certificate of patent or registration of utility model

Ref document number: 5029770

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: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees