JP5029770B2 - Performance support information generation apparatus and performance support information generation program - Google Patents
Performance support information generation apparatus and performance support information generation program Download PDFInfo
- Publication number
- JP5029770B2 JP5029770B2 JP2011151389A JP2011151389A JP5029770B2 JP 5029770 B2 JP5029770 B2 JP 5029770B2 JP 2011151389 A JP2011151389 A JP 2011151389A JP 2011151389 A JP2011151389 A JP 2011151389A JP 5029770 B2 JP5029770 B2 JP 5029770B2
- Authority
- JP
- Japan
- Prior art keywords
- finger
- sound
- key
- music data
- pressing
- 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
- 210000003811 finger Anatomy 0.000 claims description 321
- 238000000034 method Methods 0.000 claims description 116
- 210000003813 thumb Anatomy 0.000 claims description 20
- 210000004932 little finger Anatomy 0.000 claims description 18
- 239000000470 constituent Substances 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 10
- 230000000994 depressogenic effect Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 3
- 210000004247 hand Anatomy 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101100473077 Clostridium kluyveri (strain ATCC 8527 / DSM 555 / NCIMB 10680) rpoN gene Proteins 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 101150087632 sigL gene Proteins 0.000 description 2
- 238000001914 filtration Methods 0.000 description 1
Images
Landscapes
- Auxiliary Devices For Music (AREA)
Description
本発明は、電子楽器に用いて好適な演奏支援情報生成装置および演奏支援情報生成プログラムに関する。 The present invention relates to a performance support information generation apparatus and a performance support information generation program suitable for use in an electronic musical instrument.
従来より、演奏操作を支援するための情報を生成する装置が知られている。この種の装置として、例えば特許文献1には、どの鍵をどの指で押鍵すべきかを示す運指情報から鍵盤操作する手のポスチャー(姿勢)を示すデータを発生して鍵操作の練習を支援するものが開示されている。また、特許文献2には、曲を構成する各音の音高と、それら各音を弾く指を表す運指データとを含む曲データをメモリから読み出し、読み出した曲データ中の音高に対応する運指データが指替えを指示する運指である場合、その指替えを指示する運指画像を生成して運指の仕方を指示するものが開示されている。
Conventionally, an apparatus for generating information for supporting a performance operation is known. As an apparatus of this type, for example, in
ところで、鍵盤操作に不慣れな初心者ユーザでは、押鍵時の手の位置や姿勢あるいは指替えの仕方はもとより、それ以前に押鍵しない指をどの位置に置いておけばよいのかも判らないことが多い。したがって、上記特許文献1,2に開示の技術のように、押鍵時の手の位置や姿勢あるいは指替えの仕方などをユーザに教示しても、その教示に通りに行うには、押鍵しない指を適正な位置において鍵操作に備える必要がある。つまり、換言すれば、上記特許文献1,2に開示の技術では、押鍵しない指をどの位置に置いておけばよいのかを教示することができない、という問題が生じる。
By the way, novice users who are unfamiliar with keyboard operation may not know where to put a finger that will not be pressed before that, as well as the position and posture of the hand when pressing the key, or how to change the finger. Many. Therefore, as in the techniques disclosed in
本発明は、このような事情に鑑みてなされたもので、押鍵しない指をどの位置に置いておけばよいのかを教示することができる演奏支援情報生成装置および演奏支援情報生成プログラムを提供することを目的としている。 The present invention has been made in view of such circumstances, and provides a performance support information generation apparatus and a performance support information generation program capable of teaching a position where a finger not to be depressed should be placed. The purpose is that.
上記目的を達成するため、請求項1に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成するとともに、前記読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指が押鍵状態にあるか否かを表わす押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置座標とを生成して当該曲データに登録する押鍵指位置発生手段と、
前記曲データ記憶手段から各音毎の曲データを読み出すとともに、当該読み出した曲データの音を押鍵する指及び前記曲データの音が和音を構成する場合に前記押鍵情報が押鍵状態を表わす指を除く指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生手段と、
前記押鍵指位置発生手段により生成された押鍵指位置座標及び和音押鍵指位置座標と、前記無押鍵指位置発生手段により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を、横軸を演奏開始時点を起点とした演奏時刻とし縦軸を鍵盤座標とするグラフとして表示部に表示させる指位置表示手段と
を具備することを特徴とする。
In order to achieve the above object, in the invention described in
The music data for each sound is read from the music data storage means, and the key-pressing finger position coordinates representing the position of the finger pressing the sound of the read music data are generated, and the sound of the read music data is a chord. If configured, key press information indicating whether or not each finger assigned to other chord constituent sounds other than the music data sound is in a key pressing state, and the position of each finger pressing the chord constituent sounds A key pressing finger position generating means for generating a chord key pressing finger position coordinate representing
The tune data for each sound is read from the tune data storage means, and when the tune data is composed of a finger for squeezing the sound of the read tune data and the tune data sounds constitute a chord, A no-pressing finger position generating means for generating a no-pressing finger position coordinate representing a finger position excluding the representing finger ;
Music data with reference to the key-pressing finger position coordinates and chord key-pressing finger position coordinates generated by the key-pressing finger position generating means, and the non-pressing key position coordinates generated by the non-pressing finger position generating means Finger position display means for displaying on the display unit a change in the position of each finger when playing the keyboard as a graph with the horizontal axis as the performance time starting from the performance start point and the vertical axis as the keyboard coordinates. And
上記請求項1に従属する請求項2に記載の発明では、前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生手段と、前記手位置発生手段により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示手段とを更に具備することを特徴とする。
In the invention according to
請求項3に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段を有するコンピュータに、
前記曲データ記憶手段から各音毎の曲データを読み出す読み出し処理と、
前記読み出し処理により読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成するとともに、前記読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指が押鍵状態にあるか否かを表わす押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置座標とを生成して当該曲データに登録する押鍵指位置発生処理と、
前記読み出し処理により読み出した曲データの音を押鍵する指及び前記曲データの音が和音を構成する場合に前記押鍵情報が押鍵状態を表わす指とを除く指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、
前記押鍵指位置発生処理により生成された押鍵指位置座標及び和音押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を、横軸を演奏開始時点を起点とした演奏時刻とし縦軸を鍵盤座標とするグラフとして表示部に表示させる指位置表示処理と
を実行させることを特徴とする。
In the invention according to claim 3, a computer having song data storage means for storing at least each song constituting the song and song data representing a finger playing each of the sounds,
A reading process of reading out song data for each sound from the song data storage means;
When the keying finger position coordinates representing the position of the finger pressing the key of the music data read out by the reading process are generated and the sound of the read music data constitutes a chord, the sound of the music data is excluded Generates key press information indicating whether or not each finger assigned to another chord constituent sound is in a key press state, and chord key press finger position coordinates indicating the position of each finger pressing the chord constituent sound Key finger position generation processing to be registered in the song data,
No key depression that represents the position of the finger excluding the finger that depresses the sound of the song data read out by the readout process and the key depression information when the sound of the song data constitutes a chord. Non-pressing key finger position generation processing for generating finger position coordinates;
Music data with reference to the key pressing finger position coordinates and chord key pressing finger position coordinates generated by the key pressing finger position generation process and the no key pressing finger position coordinates generated by the no key pressing finger position generation process A finger position display process for displaying a change in the position of each finger when playing the keyboard on the display unit as a graph with the horizontal axis as the starting time and the vertical axis as the keyboard coordinates. And
上記請求項3に従属する請求項4に記載の発明では、前記読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標を生成する手位置発生処理と、前記手位置発生処理により生成された手位置座標を参照して曲データを演奏する際の手の位置変化を表示する手位置表示処理をさらにコンピュータに実行させることを特徴とする。 In the invention according to claim 4 , which is dependent on claim 3 , the hand position coordinates representing the position of the hand are generated from the position range that can be taken by all fingers from the thumb to the little finger with respect to the sound of the read music data. And a hand position display process for displaying a change in the hand position when playing music data with reference to the hand position coordinates generated by the hand position generation process. And
本発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを各音毎に読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成して対応する曲データに登録すると共に、読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標と、その読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標とを生成して対応する曲データに登録する。そして、曲データに登録された押鍵指位置座標、無押鍵指位置座標および手位置座標を参照して曲データを演奏する際の手および各指の位置変化を表示するので、押鍵しない指をどの位置に置いておけばよいのかを教示することができる。 In the present invention, at least the music constituting the music and the music data representing the fingers playing those sounds are read for each sound, and the keying finger position coordinates representing the position of the finger that presses the sound of the read music data are obtained. Generated and registered in the corresponding song data, and the keyless finger position coordinates indicating the position of the finger that does not press the sound of the read song data, and the thumb to the little finger with respect to the sound of the read song data Hand position coordinates representing the position of the hand are generated from the position range that can be taken by all fingers and registered in the corresponding music data. And since the position change of the hand and each finger when playing the song data is displayed with reference to the key-pressing finger position coordinates, the no-pressing finger position coordinates and the hand position coordinates registered in the music data, no key pressing is performed. You can teach where to put your finger.
以下、図面を参照して本発明の実施の形態について説明する。
A.構成
(1)全体構成
図1は、本発明による演奏支援情報生成装置を搭載した電子楽器の全体構成を示すブロック図である。この図において、鍵盤10は押離鍵操作(演奏操作)に応じたキーオン/キーオフイベント、鍵番号およびベロシティ等の演奏情報を発生する。スイッチ部11は、楽器パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。スイッチ部11に配設される主要なスイッチとしては、例えばパワーオンオフする電源スイッチの他、曲データを選択する曲選択スイッチや、動作モードを設定するモードスイッチ等がある。なお、本実施の形態では、モードスイッチ操作により演奏モード又は演奏支援情報発生モードが設定される。
Embodiments of the present invention will be described below with reference to the drawings.
A. Constitution
(1) Overall configuration
FIG. 1 is a block diagram showing the overall configuration of an electronic musical instrument equipped with a performance support information generating apparatus according to the present invention. In this figure, the
表示部12は、LCDパネル等から構成され、CPU13から供給される表示制御信号に応じて楽器全体の動作モードや各種設定状態を表示する。具体的には、演奏支援情報発生モードに設定されている場合、CPU13が後述する演奏支援処理を実行することにより、曲を構成する各音を演奏する際の手および各指の位置をグラフ化して表示部12に画面表示するようになっている。
The
CPU13は、モードスイッチ操作で設定される動作モードで楽器各部を制御する。具体的には、演奏モードに設定されると、CPU13は押離鍵操作に応じて鍵盤10から出力される演奏情報に対応した各種楽音パラメータ(ノートオン/ノートオフ等)を発生し、これを音源16に供給して楽音発生を指示する。一方、演奏支援情報発生モードに設定された場合には、CPU13は後述する演奏支援処理を実行し、曲選択スイッチ操作で選択された曲データに基づき演奏支援情報を生成し、生成した演奏支援情報に基づき演奏時の手および各指の位置をグラフ化して表示部12に画面表示する。
The
ROM14には、CPU13にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述する演奏支援処理を含む。RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に使用される各種レジスタ・フラグデータが一時記憶される。RAM15のデータエリアには、複数曲の曲データが格納されており、そのデータ構成については追って述べる。
The
音源16は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源16は、各種音色の波形データを記憶しており、これらの内、CPU13から供給される楽音パラメータに応じた波形データを読み出して楽音波形を発生する。サウンドシステム17は、音源16から出力される楽音波形をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
The
(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を構成する上記各データが意図するところについては後述する動作の説明に交えて述べる。
(2) Configuration of Song Data FIG. 2 is a diagram showing the configuration of song data stored in the data area of the
B.動作
次に、図3〜図12を参照して上記構成による実施形態におけるCPU13が実行する演奏支援処理の動作を説明する。
B. Operation Next, the operation of the performance support process executed by the
(1)演奏支援処理の動作
電源投入後のモードスイッチ操作に応じて、演奏支援情報発生モードに設定されると、CPU13は図3に図示する演奏支援処理を実行してステップSA1に処理を進める。ステップSA1では、曲選択スイッチ操作で選択された曲データME[0]〜ME[N]を、RAM15のデータエリアから読み込み、ワークエリアに展開する。
(1) Performance Support Processing Operation When the performance support information generation mode is set in response to the mode switch operation after power-on, the
続いて、ステップSA2では、押鍵する指の座標設定処理を実行する。この処理では、後述するように、ポインタmeで指定される曲データME[me]毎に、鍵の位置(鍵盤座標me.iPos)を、押鍵する指の位置座標me.sfigPos[ifig]として登録したり、曲データME[me]が和音構成音であると、他の和音構成音にそれぞれ割当てられた各指の押鍵(押鍵フラグiFigOn[cfigE]=1)と、それら各指が押鍵する鍵盤座標(座標me.sfigPos[cfigE])とを登録する。 Subsequently, in step SA2, a coordinate setting process for a finger to be pressed is executed. In this process, as will be described later, for each piece of music data ME [me] specified by the pointer me, the key position (keyboard coordinates me.iPos) is changed to the position coordinates me. If it is registered as sfigPos [ifig], or the music data ME [me] is a chord constituent sound, the key pressing of each finger assigned to the other chord constituent sounds (key pressing flag iFigOn [cfigE] = 1) and The keyboard coordinates (coordinate me.sigPos [cfigE]) to be pressed by each finger are registered.
次いで、ステップSA3では、押鍵しない指の座標設定処理を実行する。この処理では、後述するように、ポインタmeで指定される曲データME[me]毎に、押鍵しない指の座標位置me.sfigPos[ifig]を登録すると共に、親指から小指までの全ての指が取り得る最大指座標sfMaxおよび最小指座標sfMinの平均値(sfMax+sfMin)/2から得られる手の位置座標sHandPosを登録する。 Next, in step SA3, a coordinate setting process for a finger not to be depressed is executed. In this process, as will be described later, for each piece of music data ME [me] designated by the pointer me, the coordinate position me. In addition to registering sfigPos [ifig], register the hand position coordinate sHandPos obtained from the average value (sfMax + sfMin) / 2 of the maximum finger coordinate sfMax and the minimum finger coordinate sfMin that can be taken by all fingers from the thumb to the little finger.
そして、ステップSA4では、上記ステップSA2〜SA3において、ポインタmeで指定される曲データME[me]毎に登録した押鍵する指の位置座標me.sfigPos[ifig]、押鍵しない指の座標位置me.sfigPos[ifig]および手の位置座標sHandPosに基づき、各曲データME[0]〜[N]を演奏する際の手および各指の位置変化をグラフ化して表示部12に画面表示する。これにより、押鍵しない指をどの位置に置いておけばよいのかを教示し得るようになる。
In step SA4, the position coordinates me. Of the key to be pressed me. Registered for each piece of music data ME [me] specified by the pointer me in steps SA2 to SA3. sigPos [ifig], coordinate position me. Based on sfigPos [ifig] and hand position coordinates sHandPos, the position change of the hand and each finger when playing each piece of music data ME [0] to [N] is graphed and displayed on the
(2)押鍵する指の座標設定処理の動作
次に、図4〜図5を参照して、押鍵する指の座標設定処理の動作を説明する。上述した演奏支援処理のステップSA2(図3参照)を介して本処理が実行されると、CPU13は図4に図示するステップSB1に進み、先頭の曲データME[0]を指定するアドレスを、ポインタmeにストアする。次いで、ステップSB2では、歩進されたポインタmeが「NULL」、つまり全ての曲データMEについて処理し終えたかどうかを判断する。歩進されたポインタmeが「NULL」ではなく、全ての曲データMEについて処理し終えていなければ、判断結果は「NO」になり、ステップSB3に進む。
(2) Operation of the coordinate setting process for the finger to be pressed Next, the operation of the coordinate setting process for the finger to be pressed will be described with reference to FIGS. When this process is executed through step SA2 (see FIG. 3) of the performance support process described above, the
ステップSB3では、メロディパートを演奏する右手の各指を指定するポインタifigに初期値「1」をセットする。なお、ポインタifigは「1」の時に親指、「2」の時に人差し指、「3」の時に中指、「4」の時に薬指、「5」の時に小指をそれぞれ指定する。したがって、ステップSB3では、先ず親指を指定することになる。次いで、ステップSB4では、ポインタifigが「6」より小さいか否か、つまり親指から小指までの全ての指について処理し終えたかどうかを判断する。全ての指について処理し終えていなければ、判断結果は「NO」になり、ステップSB5に進む。 In step SB3, an initial value “1” is set to a pointer ifig for designating each finger of the right hand playing the melody part. The pointer ifig designates the thumb when “1”, the index finger when “2”, the middle finger when “3”, the ring finger when “4”, and the little finger when “5”. Therefore, in step SB3, the thumb is first designated. Next, in step SB4, it is determined whether or not the pointer ifig is smaller than “6”, that is, whether or not all the fingers from the thumb to the little finger have been processed. If processing has not been completed for all fingers, the determination result is “NO”, and the flow proceeds to step SB5.
ステップSB5では、ポインタifigと、ポインタmeで指定される曲データME[me]中の運指cfig(me.cfig)とが一致するか、すなわちポインタifigにより現在指定されている指が、運指me.cfigで表される押鍵すべき指の指番号に一致するかどうかを判断する。現在指定されている指が押鍵すべき指でなければ、判断結果が「NO」になり、ステップSB6に進み、ポインタifigをインクリメントして歩進させた後、上記ステップSB4に処理を戻す。 In step SB5, the pointer ifig matches the fingering cfig (me.cfig) in the music data ME [me] specified by the pointer me, that is, the finger currently specified by the pointer ifig is the fingering me. It is determined whether or not it matches the finger number of the finger to be pressed represented by cfig. If the currently designated finger is not a finger to be pressed, the determination result is “NO”, the process proceeds to step SB6, the pointer ifig is incremented, and the process is returned to step SB4.
歩進されたポインタifigの値が「6」より小さく、親指から小指までの全ての指について処理し終えていない場合には、上記ステップSB4の判断結果が再び「NO」になり、ステップSB5に進む。そして、ステップSB5において、歩進されたポインタifigと運指cfigとが一致し、現在指定されている指が押鍵すべき指になると、判断結果は「YES」になり、ステップSB7に進む。 If the value of the incremented pointer ifig is smaller than “6” and processing has not been completed for all the fingers from the thumb to the little finger, the determination result in step SB4 becomes “NO” again, and the process returns to step SB5. move on. In step SB5, when the incremented pointer ifig matches the fingering cfig and the currently designated finger becomes the finger to be depressed, the determination result is “YES”, and the flow proceeds to step SB7.
ステップSB7では、ポインタmeで指定される曲データME[me]中の鍵盤座標me.iPosを、当該曲データME[me]中の指座標me.sfigPos[ifig]に登録する。ここで、鍵盤座標me.iPosとは、曲データME[me]のピッチPitch(音高)に対応した鍵の位置を表す。したがって、このステップSB7では、曲データME[me]の音を押鍵する指の位置として、押鍵すべき鍵の位置を登録する。 In step SB7, the keyboard coordinates me. In the music data ME [me] designated by the pointer me. iPos is changed to finger coordinates me. Register in sfigPos [ifig]. Here, the keyboard coordinates me. iPos represents the position of the key corresponding to the pitch Pitch (pitch) of the music data ME [me]. Therefore, in this step SB7, the position of the key to be pressed is registered as the position of the finger pressing the sound of the music data ME [me].
続いて、図5に図示するステップSB8に進み、ポインタmeで指定される曲データME[me]中の和音フラグme.clsHarmが「0」より大であるか否かを判断する。和音フラグme.clsHarmは、曲データME[me]の音が和音であるか否かを表すフラグであり、「0」の場合に非和音を、「1」の場合に和音であることを表す。 Subsequently, the process proceeds to step SB8 shown in FIG. 5, and the chord flag me. It is determined whether or not clsHarm is greater than “0”. Chord flag me. clsHarm is a flag that indicates whether or not the sound of the music data ME [me] is a chord. When it is “0”, it represents a non-chord, and when it is “1”, it represents a chord.
したがって、このステップSB8では、曲データME[me]の音が和音であるかどうかを判断する。曲データME[me]の音が非和音であると、判断結果は「NO」になり、図4に図示するステップSB14に処理を進め、次の曲データME[me.next]を指定するようポインタmeを更新させた後、前述のステップSB2に処理を戻す。 Therefore, in this step SB8, it is determined whether or not the sound of the music data ME [me] is a chord. If the sound of the song data ME [me] is a non-chord, the determination result is “NO”, the process proceeds to step SB14 shown in FIG. 4, and the next song data ME [me. After updating the pointer me so as to designate “next], the process is returned to step 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には、最低音を押鍵する指を表す運指番号が格納される。 On the other hand, if the sound of the music data ME [me] is a chord, the determination result in step SB8 is “YES”, and the flow advances to next Step SB9. In step SB9, pointer me. In music data ME [me] designated by pointer me. pHTop is stored in the pointer mee. Here, the pointer me. pHTop designates the music data ME of the chord constituent sound (hereinafter referred to as the lowest sound) having the lowest pitch among the chords including the music data ME [me]. Next, in step SB10, the fingering mee.in the music data ME [mee] designated by the pointer mee. cfig is stored in register cfigE. That is, the register cfigE stores a fingering number representing a finger that presses the lowest sound.
そして、ステップSB11では、ポインタmeで指定される曲データME[me]中の押鍵フラグiFigOn[1]〜[5]の内、レジスタcfigEに格納された運指番号で指定される指の押鍵フラグiFigOn[cfigE]に「1」をセットする。これにより、最低音に割当てられた指の押鍵が曲データME[me]中に登録される。 In step SB11, among the key pressing flags iFigOn [1] to [5] in the music data ME [me] specified by the pointer me, the finger pressing specified by the fingering number stored in the register cfigE is performed. “1” is set to the key flag iFigOn [cfigE]. As a result, the key depression of the finger assigned to the lowest sound is registered in the music data ME [me].
また、ステップSB11では、ポインタmeeで指定される曲データME[mee]中の鍵盤座標mee.iPosを、ポインタmeで指定される曲データME[me]中の座標me.sfigPos[cfigE]にストアする。これにより、最低音の鍵盤座標が、レジスタcfigEに格納された運指番号で指定される指の座標me.sfigPos[cfigE]として曲データME[me]中に登録される。 In step SB11, the keyboard coordinates mee.in the music data ME [mee] designated by the pointer mee. iPos is set to coordinates me. in the music data ME [me] specified by the pointer me. Store in sfigPos [cfigE]. As a result, the keyboard coordinates of the lowest note are set to the finger coordinates me. Designated by the fingering number stored in the register cfigE. It is registered in the music data ME [me] as sfigPos [cfigE].
次いで、ステップSB12では、ポインタmeeと、ポインタmeで指定される曲データME[me]中のポインタme.pHTailとが一致するか否かを判断する。ここで、ポインタme.pHTailとは、曲データME[me]の音を含む和音の内、音高が最も高い和音構成音(以下、最高音と称す)の曲データMEを指定する。 Next, in step SB12, the pointer mee and the pointer me. In the music piece data ME [me] specified by the pointer me. It is determined whether or not pHTail matches. Here, the pointer me. pHTail designates music data ME of a chord constituent sound (hereinafter referred to as the highest sound) having the highest pitch among the chords including the music data ME [me].
したがって、このステップSB12では、最低音から最高音までの各和音構成音について上記ステップSB11の処理を行ったかどうかを判断する。つまり、最低音から最高音までの各和音構成音にそれぞれ割当てられた各指の押鍵と、それら各指が押鍵する鍵盤座標とを曲データME[me]に登録し終えたか否かを判断する。そして、登録し終えていなければ、判断結果は「NO」になり、次のステップSB13に進む。 Accordingly, in this step SB12, it is determined whether or not the processing in step SB11 has been performed for each chord constituent sound from the lowest sound to the highest sound. That is, whether or not the key depression of each finger assigned to each chord component sound from the lowest tone to the highest tone and the keyboard coordinates to be depressed by each finger have been registered in the music data ME [me]. to decide. If registration has not been completed, the determination result is “NO”, and the flow advances to next Step SB13.
ステップSB13では、曲データME[me]の音を含む和音の内、最低音の次に音高が低い和音構成音を指定するようポインタmeを更新させた後、前述のステップSB10に処理を戻す。以後、最高音に達する迄、上述したステップSB10〜SB13を繰り返す。 In step SB13, the pointer me is updated so as to designate the chord constituent sound having the next lowest pitch among the chords including the music data ME [me], and the process is then returned to step SB10. . Thereafter, steps SB10 to SB13 are repeated until the highest sound is reached.
こうして、最低音から最高音までの各和音構成音にそれぞれ割当てられた各指の押鍵と、それら各指が押鍵する鍵盤座標とが曲データME[me]に登録されると、上記ステップSB12の判断結果が「YES」になり、図4に図示するステップSB14に進み、次の曲データME[me.next]を指定するようポインタmeを更新させた後、前述のステップSB2に処理を戻す。以後、上述したステップSB2以降を繰り返し、全ての曲データME[0]〜[N]について処理し終えると、ステップSB2の判断結果が「YES」になり、本処理を完了させる。 Thus, when the key depression of each finger assigned to each chord constituent sound from the lowest tone to the highest tone and the keyboard coordinates to be depressed by each finger are registered in the music data ME [me], the above steps The determination result of SB12 is “YES”, and the process proceeds to step SB14 shown in FIG. After updating the pointer me so as to designate “next], the process is returned to step SB2. Thereafter, the above-described step SB2 and subsequent steps are repeated, and when all the music data ME [0] to [N] have been processed, the determination result in step SB2 is “YES”, and this processing is completed.
このように、押鍵する指の座標設定処理では、歩進されるポインタmeで指定される曲データME[me]において、鍵の位置(鍵盤座標me.iPos)を、押鍵する指の位置(指座標me.sfigPos[ifig])として登録する。また、曲データME[me]の音が和音ならば、和音構成音の最低音から最高音にそれぞれ割当てられた各指の押鍵(押鍵フラグiFigOn[cfigE]=1)と、それら各指が押鍵する鍵盤座標(座標me.sfigPos[cfigE])とを登録する。 As described above, in the coordinate setting process of the finger to be pressed, the key position (keyboard coordinate me.iPos) in the music data ME [me] designated by the incremented pointer me is used as the position of the finger to be pressed. It is registered as (finger coordinate me.sigPos [ifig]). Further, if the music data ME [me] is a chord, each finger pressing (key pressing flag iFigOn [cfigE] = 1) assigned to the lowest to highest tone of the chord component and each finger The keyboard coordinates (coordinate me.sfigPos [cfigE]) to be pressed by the key are registered.
(3)押鍵しない指の座標設定処理の動作
次に、図6を参照して、押鍵しない指の座標設定処理の動作を説明する。上述した演奏支援処理のステップSA3(図3参照)を介して本処理が実行されると、CPU13は図6に図示するステップSC1に進み、先頭の曲データME[0]を指定するアドレスを、ポインタmeにストアする。次いで、ステップSC2では、歩進されたポインタmeが「NULL」、つまり全ての曲データMEについて処理し終えたかどうかを判断する。歩進されたポインタmeが「NULL」ではなく、全ての曲データMEについて処理し終えていなければ、判断結果は「NO」になり、ステップSC3に進む。
(3) Operation of Finger Coordinate Setting Process without Key Pressing Next, with reference to FIG. 6, an operation of finger coordinate setting processing without key pressing will be described. When this process is executed through step SA3 (see FIG. 3) of the performance support process described above, the
ステップSC3では、メロディパートを演奏する右手の各指を指定するポインタifigに初期値「1」をセットする。なお、ポインタifigは「1」の時に親指、「2」の時に人差し指、「3」の時に中指、「4」の時に薬指、「5」の時に小指をそれぞれ指定する。したがって、ステップSC3では、先ず親指を指定することになる。次いで、ステップSC4では、ポインタifigが「6」より小さいか否か、つまり親指から小指までの全ての指について処理し終えたかどうかを判断する。全ての指について処理し終えていなければ、判断結果は「NO」になり、ステップSC5に進む。 In step SC3, an initial value “1” is set to a pointer ifig for designating each finger of the right hand playing the melody part. The pointer ifig designates the thumb when “1”, the index finger when “2”, the middle finger when “3”, the ring finger when “4”, and the little finger when “5”. Therefore, in step SC3, the thumb is first designated. Next, in step SC4, it is determined whether or not the pointer ifig is smaller than “6”, that is, whether or not all the fingers from the thumb to the little finger have been processed. If all the fingers have not been processed, the determination result is “NO”, and the flow proceeds to step SC5.
ステップSC5では、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される指の押鍵フラグiFigOn[ifig]が「0」、つまり現在指定されている指は押鍵していないかどうかを判断する。現在指定されている指が押鍵している場合(押鍵フラグiFigOn[ifig]=1)には、判断結果が「NO」になり、後述するステップSC10に処理を進める。 In step SC5, in the music data ME [me] specified by the pointer me, the key pressing flag iFigOn [ifig] of the finger specified by the pointer ifig is “0”, that is, the currently specified finger is pressed. Judge whether there is no. When the currently designated finger is depressed (key depression flag iFigOn [ifig] = 1), the determination result is “NO”, and the process proceeds to Step SC10 described later.
一方、現在指定されている指が押鍵していなければ、上記ステップSC5の判断結果は「YES」になり、ステップSC6に進む。ステップSC6では、座標候補取得処理を実行する。後述するように、座標候補取得処理では、上記ステップSC5で抽出された押鍵しない指の座標候補を取得するものであり、押鍵しない指より上側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])から減算して押鍵しない指の座標候補sfigHを算出する。一方、押鍵しない指より下側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])に加算して押鍵しない指の座標候補sfigLを算出する。 On the other hand, if the currently designated finger is not depressed, the determination result in step SC5 is “YES”, and the flow advances to step SC6. In step SC6, coordinate candidate acquisition processing is executed. As will be described later, in the coordinate candidate acquisition process, the coordinate candidate of the finger not to be pressed extracted in step SC5 is acquired. When the finger of the finger number above the finger not to be pressed is pressed, The coordinate correction value determined according to the difference between the finger number of the finger to be depressed and the finger number of the finger not to be depressed is subtracted from the coordinate (me.sigPos [ifg]) representing the position of the finger to be depressed, and the key is depressed. A finger coordinate candidate sfigH is calculated. On the other hand, when a finger with a lower finger number than the finger that does not press the key is pressed, a coordinate correction value determined according to the difference between the finger number of the finger that is pressed and the finger number of the finger that is not pressed is Is added to the coordinates (me.sfigPos [ifg]) representing the position of the finger to be played, and a coordinate candidate sfigL of the finger not to be depressed is calculated.
次いで、ステップSC7では、座標取得[1]処理を実行する。後述するように、座標取得[1]処理では、ポインタmeで指定される曲データME[me]の音以前に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[mep])を探し出し、該当する音が存在する場合には、その音を押鍵した指の位置座標sfigPおよび押鍵時刻lTfigPを抽出する。 Next, in step SC7, coordinate acquisition [1] processing is executed. As will be described later, in the coordinate acquisition [1] process, the sound existing before the sound of the music data ME [me] specified by the pointer me has the same fingering as the non-key-pressed finger specified by the pointer ifig. The sound (music data ME [mep]) is searched, and if the corresponding sound exists, the position coordinates sfigP and the key pressing time lTfigP of the finger that pressed the sound are extracted.
続いて、ステップSC8では、座標取得[2]処理を実行する。後述するように、座標取得[2]処理では、座標取得[2]処理では、ポインタmeで指定される曲データME[me]の音以降に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[men])を探し出し、該当する音が存在する場合には、その音を押鍵する指の位置座標sfigNおよび押鍵時刻lTfigNを抽出する。 Subsequently, in step SC8, coordinate acquisition [2] processing is executed. As will be described later, in the coordinate acquisition [2] process, in the coordinate acquisition [2] process, in the sound existing after the sound of the music data ME [me] specified by the pointer me, the key depression specified by the pointer ifig is performed. A sound having the same fingering as the finger that does not play (music data ME [men]) is searched, and if there is a corresponding sound, the position coordinates sfigN and the key pressing time lTfigN of the finger that presses the sound are extracted.
そして、ステップSC9では、座標決定処理を実行する。後述するように、座標決定処理では、ステップSC6の座標候補取得処理で得られる押鍵しない指の座標候補sfigH、sfigLと、ステップSC7の座標取得[1]処理で得られる指の位置座標sfigP、押鍵時刻lTfigPと、ステップSC8の座標取得[2]処理で得られる指の位置座標sfigN、押鍵時刻lTfigNとを勘案して、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録する。 In step SC9, coordinate determination processing is executed. As will be described later, in the coordinate determination process, the finger coordinate candidates sfigH and sigL obtained in the coordinate candidate acquisition process in step SC6, and the finger position coordinates sfigP obtained in the coordinate acquisition [1] process in step SC7, In consideration of the key pressing time lTfigP, the finger position coordinates sfigN obtained by the coordinate acquisition [2] process of step SC8, and the key pressing time lTfigN, the pointer ifig in the music data ME [me] specified by the pointer me The coordinate position me. Register sfigPos [ifig].
次いで、ステップSC10では、ポインタifigで指定されている指の座標位置me.sfigPos[ifig]が最大指座標sfMaxより大きければ、それを新たに最大指座標sfMaxとして更新したり、ポインタifigで指定されている指の座標位置me.sfigPos[ifig]が最小指座標sfMinより小さければ、それを新たに最小指座標sfMinとして更新したりする。そして、ステップSC11では、ポインタifigを歩進させて次の指を指定した後、上述のステップSC4に処理を戻す。 Next, in step SC10, the finger coordinate position me. If sfigPos [ifig] is larger than the maximum finger coordinate sfMax, it is updated as the maximum finger coordinate sfMax, or the finger coordinate position me. If sfigPos [ifig] is smaller than the minimum finger coordinate sfMin, it is newly updated as the minimum finger coordinate sfMin. In step SC11, the pointer ifig is incremented to designate the next finger, and then the process returns to step SC4.
以後、歩進されたポインタifigが「6」に達するまで、つまり親指から小指までの全ての指について処理し終えるまで上述したステップSC4〜SC11を繰り返し、ポインタmeで指定される曲データME[me]において、押鍵しない指の座標位置me.sfigPos[ifig]を登録すると共に、親指から小指までの全ての指が取り得る最大指座標sfMaxおよび最小指座標sfMinを検出する。そして、親指から小指までの全ての指について処理し終えると、上述したステップSC4の判断結果が「YES」になり、ステップSC12に進む。 Thereafter, the above-described steps SC4 to SC11 are repeated until the stepped pointer ifig reaches “6”, that is, until all the fingers from the thumb to the little finger have been processed, and the music data ME [me ] In the coordinate position me. sfigPos [ifig] is registered, and the maximum finger coordinate sfMax and the minimum finger coordinate sfMin that can be taken by all fingers from the thumb to the little finger are detected. When all the fingers from the thumb to the little finger have been processed, the determination result in step SC4 described above is “YES”, and the flow proceeds to step SC12.
ステップSC12では、上記ステップSC10にて更新され、親指から小指までの全ての指で取り得る最大指座標sfMaxおよび最小指座標sfMinの平均値(sfMax+sfMin)/2を、ポインタmeで指定される曲データME[me]中の手の位置座標sHandPosとして登録する。続いて、ステップSC13に進み、次の曲データME[me.next]を指定するようポインタmeを更新させた後、前述のステップSC2に処理を戻す。そして、全ての曲データMEについて上述した処理をし終えると、ステップSC2の判断結果が「YES」になり、本処理を終える。 In step SC12, the song data specified by the pointer me is updated in step SC10 and the average value (sfMax + sfMin) / 2 of the maximum finger coordinate sfMax and the minimum finger coordinate sfMin that can be taken by all the fingers from the thumb to the little finger. Register as hand position coordinates sHandPos in ME [me]. Subsequently, the process proceeds to step SC13, and the next song data ME [me. After updating the pointer me so as to designate “next], the process returns to the above-described step SC2. When the above-described processing is completed for all the music data ME, the determination result in step SC2 is “YES”, and this processing is completed.
このように、押鍵しない指の座標設定処理では、歩進されるポインタmeで指定される曲データME[me]において、押鍵しない指の座標位置me.sfigPos[ifig]を登録すると共に、親指から小指までの全ての指が取り得る最大指座標sfMaxおよび最小指座標sfMinの平均値(sfMax+sfMin)/2を、手の位置座標sHandPosとして登録する。 As described above, in the coordinate setting process of the finger not to be depressed, the coordinate position me. Of the finger not to be depressed is set in the music data ME [me] designated by the incremented pointer me. In addition to registering sfigPos [ifig], an average value (sfMax + sfMin) / 2 of the maximum finger coordinate sfMax and the minimum finger coordinate sfMin that can be taken by all fingers from the thumb to the little finger is registered as the hand position coordinate sHandPos.
(4)座標候補取得処理の動作
次に、図7を参照して座標候補取得処理の動作を説明する。上述したステップSC6(図6参照)を介して本処理が実行されると、CPU13は図7に図示するステップSD1に進み、ポインタifigの指番号をインクリメントしてレジスタifgにストアする。レジスタifgの値を検索ポインタifgと記す。
(4) Operation of Coordinate Candidate Acquisition Process Next, the operation of the coordinate candidate acquisition process will be described with reference to FIG. When this process is executed via the above-described step SC6 (see FIG. 6), the
続いて、ステップSD2では、検索ポインタifgが「6」より小さいか否かを判断する。検索ポインタifgが「6」より小さければ、判断結果は「YES」になり、ステップSD3に進む。ステップSD3では、ポインタmeで指定される曲データME[me]において、検索ポインタifgで指定される指の押鍵フラグiFigOn[ifig]が「1」、つまり検索ポインタifgで指定されている指が押鍵しているかどうかを判断する。検索ポインタifgで指定されている指が押鍵していなければ、判断結果は「NO」になり、ステップSD4に進み、検索ポインタifgを歩進させた後、上述のステップSD2に処理を戻す。 Subsequently, in step SD2, it is determined whether or not the search pointer ifg is smaller than “6”. If the search pointer ifg is smaller than “6”, the determination result is “YES”, and the flow proceeds to step SD3. In step SD3, in the music data ME [me] designated by the pointer me, the finger pressing flag iFigOn [ifig] designated by the search pointer ifg is “1”, that is, the finger designated by the search pointer ifg. Determine if the key is pressed. If the finger specified by the search pointer ifg is not depressed, the determination result is “NO”, the process proceeds to step SD4, the search pointer ifg is incremented, and the process returns to step SD2.
このように、ステップSD1〜SD4では、例えば上述した「押鍵しない指の座標設定処理」において、ポインタifigで指定される押鍵しない指が「中指(指番号:3)」であったとすると、歩進される検索ポインタifgに応じて指定される「薬指(指番号:4)」および「小指(指番号:5)」の内から押鍵する指を検索する。押鍵する指が存在しなければ、上記ステップSD2の判断結果が「NO」になり、後述のステップSD6に処理を進める。 As described above, in steps SD1 to SD4, for example, in the above-described “coordinate setting processing of a finger not to be depressed”, if the finger not to be depressed designated by the pointer ifig is “middle finger (finger number: 3)”, The finger to be pressed is searched from “ring finger (finger number: 4)” and “little finger (finger number: 5)” designated according to the search pointer ifg to be advanced. If there is no finger to press, the determination result in step SD2 is “NO”, and the process proceeds to step SD6 described later.
これに対し、押鍵する指が見つかると、上記ステップSD3の判断結果が「YES」になり、ステップSD5に進む。ステップSD5では、上述の「押鍵しない指の座標設定処理」で処理対象とされている曲データME[me]において、検索ポインタifgで指定され、押鍵する指の位置を表す座標(me.sfigPos[ifg])から座標補正値2×(ifg−ifig)を減算して、ポインタifigで指定される押鍵しない指の座標候補sfigHを算出する。なお、座標補正値2×(ifg−ifig)は、押鍵する指の指番号ifgと押鍵しない指の指番号ifigとの差を白鍵の数に換算した値である。また、鍵盤座標では、白鍵1つ分が「2」に相当する。
On the other hand, when a finger to press the key is found, the determination result in step SD3 is “YES”, and the process proceeds to step SD5. In step SD5, in the music data ME [me] to be processed in the above-mentioned “coordinate setting process of finger not to be pressed”, coordinates (me. Me) that are designated by the search pointer ifg and indicate the position of the finger to be pressed. The coordinate
例えばポインタifigで指定される押鍵しない指が「中指(指番号:3)」であって、検索ポインタifgで指定される押鍵する指が「小指(指番号:5)」の場合には、座標補正値は2×(5−3)=4となる。したがって、押鍵する指の位置を表す座標(me.sfigPos[ifg])から座標補正値「4」を減算した座標値、つまり押鍵する指の位置を表す座標(me.sfigPos[ifg])から白鍵2個分低い座標が、ポインタifigで指定される押鍵しない指の座標候補sfigHとなる。 For example, when the finger that is not pressed by the pointer ifig is “middle finger (finger number: 3)” and the finger that is pressed by the search pointer ifg is “little finger (finger number: 5)” The coordinate correction value is 2 × (5-3) = 4. Therefore, the coordinate value obtained by subtracting the coordinate correction value “4” from the coordinate (me.sfigPos [ifg]) representing the position of the finger to be depressed, that is, the coordinate (me.sfigPos [ifg]) representing the position of the finger to be depressed. The coordinates that are two white keys lower than the white key are the coordinate candidates sfigH of the finger that is not pressed, designated by the pointer ifig.
次に、ステップSD6では、検索ポインタifgをデクリメントする。続いて、ステップSD7では、デクリメントした検索ポインタifgの値が「0」以上であるか否かを判断する。検索ポインタifgが「0」以上であれば、判断結果は「YES」になり、ステップSD8に進む。ステップSD8では、ポインタmeで指定される曲データME[me]において、検索ポインタifgで指定される指の押鍵フラグiFigOn[ifig]が「1」、つまり検索ポインタifgで指定されている指が押鍵しているかどうかを判断する。検索ポインタifgで指定されている指が押鍵していなければ、判断結果は「NO」になり、ステップSD9に進み、検索ポインタifgをデクリメントさせた後、上述のステップSD7に処理を戻す。 Next, in step SD6, the search pointer ifg is decremented. Subsequently, in step SD7, it is determined whether or not the value of the decremented search pointer ifg is “0” or more. If the search pointer ifg is greater than or equal to “0”, the determination result is “YES”, and the flow proceeds to step SD8. In step SD8, in the music data ME [me] designated by the pointer me, the finger pressing flag iFigOn [ifig] designated by the search pointer ifg is “1”, that is, the finger designated by the search pointer ifg. Determine if the key is pressed. If the finger specified by the search pointer ifg is not depressed, the determination result is “NO”, the process proceeds to step SD9, the search pointer ifg is decremented, and the process returns to step SD7 described above.
このように、ステップSD6〜SD9では、例えば上述した「押鍵しない指の座標設定処理」において、ポインタifigで指定される押鍵しない指が「中指(指番号:3)」であったとすると、デクリメントされる検索ポインタifgに応じて指定される「人差し指(指番号:2)」および「親指(指番号:1)」の内から押鍵する指を検索する。押鍵する指が存在しなければ、上記ステップSD7の判断結果が「NO」になり、本処理を完了させる。 As described above, in steps SD6 to SD9, for example, in the above-described “coordinate setting processing of the finger not to be depressed”, if the finger not to be depressed designated by the pointer ifig is “middle finger (finger number: 3)”, The finger to be pressed is searched from “index finger (finger number: 2)” and “thumb (finger number: 1)” designated according to the search pointer ifg to be decremented. If there is no finger to press the key, the determination result in step SD7 is “NO”, and this process is completed.
一方、押鍵する指が見つかると、上記ステップSD8の判断結果が「YES」になり、ステップSD10に進む。ステップSD10では、上述の「押鍵しない指の座標設定処理」で処理対象とされている曲データME[me]において、検索ポインタifgで指定され、押鍵する指の位置を表す座標(me.sfigPos[ifg])から座標補正値2×(ifg−ifig)を減算して、ポインタifigで指定される押鍵しない指の座標候補sfigLを算出して本処理を終える。
On the other hand, if a finger to be pressed is found, the determination result in step SD8 is “YES”, and the process proceeds to step SD10. In step SD10, in the music data ME [me] to be processed in the above-described “coordinate setting process of finger not to be pressed”, the coordinates (me. The coordinate
例えばポインタifigで指定される押鍵しない指が「中指(指番号:3)」であって、検索ポインタifgで指定される押鍵する指が「親指(指番号:1)」の場合には、座標補正値は2×(1−3)=−4となる。したがって、押鍵する指の位置を表す座標(me.sfigPos[ifg])に座標補正値「4」を加算した座標値、つまり押鍵する指の位置を表す座標(me.sfigPos[ifg])から白鍵2個分高い座標が、ポインタifigで指定される押鍵しない指の座標候補sfigLとなる。 For example, when the finger not to be pressed designated by the pointer ifig is “middle finger (finger number: 3)” and the finger to be pushed designated by the search pointer ifg is “thumb (finger number: 1)” The coordinate correction value is 2 × (1-3) = − 4. Therefore, the coordinate value obtained by adding the coordinate correction value “4” to the coordinates (me.sigPos [ifg]) representing the position of the finger to be depressed, that is, the coordinates representing the position of the finger to be depressed (me.sfigPos [ifg]). The coordinate that is two white keys higher than the white key becomes the coordinate candidate sfigL of the finger that is not pressed, designated by the pointer ifig.
このように、座標候補取得処理では、「押鍵しない指の座標設定処理」で処理対象とされている曲データME[me]において、ポインタifigで指定される押鍵しない指の座標候補を取得するものであり、押鍵しない指より上側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])から減算して押鍵しない指の座標候補sfigHを算出し、一方、押鍵しない指より下側の指番号の指が押鍵する時には、その押鍵する指の指番号と押鍵しない指の指番号との差分に応じて定まる座標補正値を、押鍵する指の位置を表す座標(me.sfigPos[ifg])に加算して押鍵しない指の座標候補sfigLを算出する。 As described above, in the coordinate candidate acquisition process, the coordinate candidate of the finger not to be pressed specified by the pointer ifig is acquired in the music data ME [me] to be processed in the “coordinate setting process of the finger not to be pressed”. When the finger of the finger number above the finger that does not press the key presses, the coordinate correction value determined according to the difference between the finger number of the finger that presses the key and the finger number of the finger that does not press the key, By subtracting from the coordinates (me.sfigPos [ifg]) representing the position of the finger to be depressed, the coordinate candidate sfigH of the finger not depressed is calculated. On the other hand, the finger having the lower finger number than the finger not depressed is depressed. When the key is pressed, a coordinate correction value determined according to the difference between the finger number of the finger to be pressed and the finger number of the finger not to be pressed is added to the coordinates (me.sfigPos [ifg]) representing the position of the key to be pressed. And finger coordinate candidate sfi To calculate the L.
(5)座標取得[1]処理の動作
次に、図8を参照して座標取得[1]処理の動作を説明する。上述の「押鍵しない指の座標設定処理」のステップSC7(図6参照)を介して本処理が実行されると、CPU13は図8に図示するステップSE1に進み、ポインタmeで指定される曲データME[me]中のポインタme.pPHTailを、ポインタmepにセットする。ポインタme.pPHTailとは、ポインタmeで指定される曲データME[me]の音の前の音列群の和音の終端(一番上の音)へのポインタであり、音列群が単音であればその音自身を指すポインタである。つまり、ME[me]の直前の音を指し示すポインタである。
(5) Operation of Coordinate Acquisition [1] Process Next, the operation of the coordinate acquisition [1] process will be described with reference to FIG. When this processing is executed via step SC7 (see FIG. 6) of the above “coordinate setting processing of finger not to be pressed”, the
続いて、ステップSE2では、ポインタmeで指定される曲データME[me]中の発音開始時間me.lTimsecからポインタmepで指定される曲データME[mep]中の発音開始時間mep.lTimsecを減算した時間差が所定値ForcastTimeより小さいか否かを判断する。つまり、曲データME[me]の直前の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime遡った範囲内に存在するかどうかを判断する。 Subsequently, in step SE2, the sound generation start time me. In the music data ME [me] designated by the pointer me. lTimsec. Sound generation start time mep. in the music data ME [mep] specified by the pointer mep. It is determined whether or not the time difference obtained by subtracting lTimsec is smaller than a predetermined value ForecastTime. That is, it is determined whether or not the sound immediately before the music data ME [me] is within a range that is a predetermined value FocusTime earlier than the current time (sounding start time me.lTimsec).
そして、曲データME[me]の直前の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime遡った範囲内に存在するならば、上記ステップSE2の判断結果は「YES」になり、ステップSE3に進む。ステップSE3では、ポインタmepで指定される曲データME[mep]中の運指mep.cfigと、ポインタifigで指定される押鍵しない指とが一致するか否かを判断する。一致しなければ、判断結果は「NO」になり、ステップSE4に進む。ステップSE4では、さらに一つ前の音を指定するようポインタmepを更新させた後、上述のステップSE2に処理を戻す。 If the sound immediately before the music data ME [me] is within a range that is a predetermined value FocusTime earlier than the current time (sound generation start time me.lTimsec), the determination result in step SE2 is “YES”. The process proceeds to step SE3. In step SE3, the fingering mep. In the music data ME [mep] specified by the pointer mep. It is determined whether or not cfig matches the finger not pressed by the pointer ifig. If they do not match, the determination result is “NO”, and the flow proceeds to step SE4. In step SE4, the pointer mep is updated so as to specify the previous sound, and then the process returns to step SE2.
以後、ステップSE2〜SE4を繰り返して現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime遡った範囲内に、ポインタifigで指定される押鍵しない指と同じ運指を有し、曲データME[me]の音より前に存在する音を探し出す。そして、該当する音が見つからなければ、上記ステップSE2の判断結果が「NO」になり、本処理を終えるが、該当する音が見つかると、上記ステップSE3の判断結果が「YES」になり、ステップSE5に進む。 Thereafter, Steps SE2 to SE4 are repeated to have the same fingering as the non-key-pressed finger designated by the pointer ifig within a range that is a predetermined value FocusTime from the current time (sounding start time me.lTimsec). Search for sounds that exist before the sound of [me]. If the corresponding sound is not found, the determination result in step SE2 is “NO”, and this process is finished. However, if the corresponding sound is found, the determination result in step SE3 is “YES”. Proceed to SE5.
ステップSE5では、ポインタmepで指定される曲データME[mep](該当する音)においてポインタifigで指定される指の座標mep.sfigPos[ifig]をレジスタsfigPにストアすると共に、曲データME[mep]の発音開始時間mep.lTimsecをレジスタlTfigPにストアする。 In step SE5, in the music data ME [mep] (corresponding sound) designated by the pointer mep, the coordinate mep. Of the finger designated by the pointer ifig. sfigPos [ifig] is stored in the register sfigP, and the sound generation start time mep. of the music data ME [mep] is stored. lTimsec is stored in the register lTfigP.
このように、座標取得[1]処理では、曲データME[me]の音以前に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[mep])を探し出し、該当する音が存在する場合には、その音を押鍵した指の位置座標sfigPおよび押鍵時刻lTfigPを抽出する。 As described above, in the coordinate acquisition [1] process, in the sound existing before the music data ME [me], the sound having the same fingering as the non-keyed finger specified by the pointer ifig (music data ME [mep ]) Is found, and if there is a corresponding sound, the position coordinates sfigP and the key pressing time lTfigP of the finger that pressed the sound are extracted.
(6)座標取得[2]処理の動作
次に、図9を参照して座標取得[2]処理の動作を説明する。上述の「押鍵しない指の座標設定処理」のステップSC8(図6参照)を介して本処理が実行されると、CPU13は図9に図示するステップSF1に進み、ポインタmeで指定される曲データME[me]中のポインタme.pNHTopを、ポインタmenにセットする。ポインタme.pNHTopとは、ポインタmeで指定される曲データME[me]の音の後の音列群の和音の先頭(一番下の音)へのポインタであり、音列群が単音であればその音自身を指すポインタである。つまり、ME[me]の直後の音を指し示すポインタである。
(6) Operation of Coordinate Acquisition [2] Process Next, the operation of the coordinate acquisition [2] process will be described with reference to FIG. When this processing is executed via step SC8 (see FIG. 6) of the above “coordinate setting processing of finger not to be pressed”, the
続いて、ステップSF2では、ポインタmeで指定される曲データME[me]中の発音開始時間me.lTimsecからポインタmenで指定される曲データME[men]中の発音開始時間mep.lTimsecを減算した時間差が所定値ForcastTimeより小さいか否かを判断する。つまり、曲データME[me]の直後の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime経過した範囲内に存在するかどうかを判断する。 Subsequently, in step SF2, the sound generation start time me. In the music data ME [me] designated by the pointer me. lTimsec, the sound generation start time mep. in the music data ME [men] specified by the pointer men. It is determined whether or not the time difference obtained by subtracting lTimsec is smaller than a predetermined value ForecastTime. That is, it is determined whether or not the sound immediately after the music data ME [me] is within a range in which the predetermined value FocusTime has elapsed from the current time (sound generation start time me.lTimsec).
そして、曲データME[me]の直後の音が、現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime経過した範囲内に存在するならば、上記ステップSF2の判断結果は「YES」になり、ステップSF3に進む。ステップSF3では、ポインタmenで指定される曲データME[men]中の運指men.cfigと、ポインタifigで指定される押鍵しない指とが一致するか否かを判断する。一致しなければ、判断結果は「NO」になり、ステップSF4に進む。ステップSF4では、さらに一つ後の音を指定するようポインタmenを更新させた後、上述のステップSF2に処理を戻す。 If the sound immediately after the song data ME [me] is within a range in which a predetermined value FocusTime has elapsed from the current time (sounding start time me.lTimsec), the determination result in step SF2 is “YES”. The process proceeds to step SF3. In step SF3, the fingering men. In the music data ME [men] designated by the pointer men. It is determined whether or not cfig matches the finger not pressed by the pointer ifig. If they do not match, the determination result is “NO”, and the process proceeds to Step SF4. In step SF4, the pointer men is updated so as to designate the next subsequent sound, and then the process returns to step SF2.
以後、ステップSF2〜SF4を繰り返して現在時刻(発音開始時間me.lTimsec)より所定値ForcastTime経過した範囲内に、ポインタifigで指定される押鍵しない指と同じ運指を有し、曲データME[me]の音以降に存在する音を探し出す。そして、該当する音が見つからなければ、上記ステップSF2の判断結果が「NO」になり、本処理を終えるが、該当する音が見つかると、上記ステップSF3の判断結果が「YES」になり、ステップSF5に進む。 Thereafter, steps SF2 to SF4 are repeated and the same fingering as the non-key-pressing finger specified by the pointer ifig is within the range where the predetermined value FocusTime has elapsed from the current time (sounding start time me.lTimsec), and the song data ME Search for sounds that exist after the [me] sound. If the corresponding sound is not found, the determination result in step SF2 is “NO”, and this process ends. However, if the corresponding sound is found, the determination result in step SF3 is “YES”. Proceed to SF5.
ステップSF5では、ポインタmenで指定される曲データME[men](該当する音)においてポインタifigで指定される指の座標men.sfigPos[ifig]をレジスタsfigNにストアすると共に、曲データME[men]の発音開始時間men.lTimsecをレジスタlTfigNにストアする。 In step SF5, the coordinates of the finger specified by the pointer ifig in the music data ME [men] (corresponding sound) specified by the pointer men. sfigPos [ifig] is stored in the register sfigN, and the sound generation start time men. lTimsec is stored in the register lTfigN.
このように、座標取得[2]処理では、曲データME[me]の音以降に存在する音において、ポインタifigで指定される押鍵しない指と同じ運指を有する音(曲データME[men])を探し出し、該当する音が存在する場合には、その音を押鍵する指の位置座標sfigNおよび押鍵時刻lTfigNを抽出する。 As described above, in the coordinate acquisition [2] process, in the sound existing after the sound of the music data ME [me], the sound (music data ME [men] having the same fingering as the finger not pressed specified by the pointer ifig is used. ]), And if there is a corresponding sound, the position coordinates sfigN of the finger that presses the sound and the key pressing time lTfigN are extracted.
(7)座標決定処理の動作
次に、図10を参照して座標決定処理の動作を説明する。上述の「押鍵しない指の座標設定処理」のステップSC9(図6参照)を介して本処理が実行されると、CPU13は図10に図示するステップSG1に進む。ステップSG1では、座標取得[1]処理で得られる指の位置座標sfigPと、座標取得[2]処理で得られる指の位置座標sfigNとの双方が存在するか否かを判断する。以下、「指の位置座標sfigP,sfigNの双方が存在する場合」、「指の位置座標sfigPのみ存在する場合」、「指の位置座標sfigNのみ存在する場合」、「指の位置座標sfigP,sfigNいずれも存在しない場合」に分けて動作説明を進める。
(7) Operation of coordinate determination processing
Next, the operation of the coordinate determination process will be described with reference to FIG. When this process is executed through step SC9 (see FIG. 6) of the above-described “coordinate setting process of finger not to be pressed”, the
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)
a. When both finger position coordinates sfigP and sfigN exist In this case, the determination result in step SG1 is “YES”, and the process proceeds to step SG2. In step SG2, according to the following equation (1), the finger position coordinates sfigP and the key pressing time lTfigP obtained by the coordinate acquisition [1] process described above, and the finger position coordinates sigN obtained by the coordinate acquisition [2] process are obtained. Further, interpolation interpolation is performed based on the key pressing time lTfigN to calculate the position coordinates sfigD of the finger not pressed at the current time (sounding start time me.lTimsec).
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はその時刻を表す。 Note that the finger position coordinates sfigP obtained by the coordinate acquisition [1] processing are fingers that do not press the sound of the music data ME [me], and the finger is the sound before the music data ME [me]. This represents the position of the finger when the key is pressed, and the key pressing time lTfigP represents the time. Also, the finger position coordinates sfigN obtained by the coordinate acquisition [2] process is a finger that does not press the sound of the music data ME [me], and that finger is the sound after the music data ME [me]. The position of the finger when the key is pressed is indicated, and the key pressing time lTfigN indicates the time.
次いで、ステップ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]に登録して本処理を終える。
Next, in step SG3, the following operations (a) to (e) are performed, and in the music data ME [me] specified by the pointer me, the coordinate position me. Register sfigPos [ifig]. That is,
(A) The larger coordinate candidate Max (sigH, sfigL) is selected from the finger coordinate candidates sfigH, sfigL obtained in the coordinate candidate acquisition process described above.
(B) Max (sigH, sigL) selected in (a) above is compared with the position coordinate sfiGD of the finger not to be depressed calculated by the interpolation in step SG2, and a position coordinate having a large value is selected.
(C) The smaller coordinate candidate min (sfigH, sfigL) is selected from the candidate coordinate candidates sfigH and sfigL obtained in the above-described coordinate candidate acquisition process.
(D) Compare min (sfigH, sfigL) selected in (c) above with the position coordinate sfigD of the finger not to be depressed calculated by the interpolation in step SG2, and select a position coordinate having a smaller value. .
(E) The average value of the position coordinate selected in (b) above and the position coordinate selected in (d) above is calculated, and this is calculated with the pointer ifig in the music data ME [me] designated by the pointer me. The coordinate position me. Registration in sfigPos [ifig] ends this processing.
b.指の位置座標sfigPのみ存在する場合
この場合、上述したステップSG1の判断結果が「NO」となり、ステップSG4に進む。ステップSG4では、指の位置座標sfigPのみ存在するか否かを判断する。そして、ステップSG4の判断結果は「YES」になり、ステップSG5に進む。ステップSG5では、指の位置座標sfigPを、押鍵しない指の位置座標sfigDに設定する。この後、上述したステップSG3に進み、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録して本処理を終える。
b. When only the finger position coordinates sfigP exist
In this case, the determination result in step SG1 is “NO”, and the process proceeds to step SG4. In step SG4, it is determined whether or not only the finger position coordinates sfigP exist. Then, the judgment result at step SG4 is “YES”, and the CPU 4 proceeds to step SG5. In step SG5, the finger position coordinates sfigP are set to the finger position coordinates sfigD that are not depressed. Thereafter, the process proceeds to step SG3 described above, and the coordinate position me. sfigPos [ifig] is registered and the process is terminated.
c.指の位置座標sfigNのみ存在する場合
この場合、上述したステップSG1、SG4の各判断結果がいずれも「NO」となり、ステップSG6に進む。ステップSG6では、指の位置座標sfigNのみ存在するか否かを判断する。そして、ステップSG6の判断結果は「YES」になり、ステップSG7に進む。ステップSG7では、指の位置座標sfigNを、押鍵しない指の位置座標sfigDに設定する。この後、上述したステップSG3に進み、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を登録して本処理を終える。
c. When only the finger position coordinates sfigN exist
In this case, the determination results of steps SG1 and SG4 described above are both “NO”, and the process proceeds to step SG6. In step SG6, it is determined whether or not only the finger position coordinates sfigN exist. And the judgment result of step SG6 becomes "YES", and it progresses to step SG7. In step SG7, the finger position coordinates sfigN are set to the finger position coordinates sfigD that are not depressed. Thereafter, the process proceeds to step SG3 described above, and the coordinate position me. sfigPos [ifig] is registered and the process is terminated.
d.指の位置座標sfigP,sfigNいずれも存在しない場合
この場合、上述したステップSG1、SG4、SG6の各判断結果がいずれも「NO」となり、ステップSG8に進む。ステップSG8では、上述した座標候補取得処理で求めた指の座標候補sfigH,sfigLの平均値(sfigH+sfigL)/2を、ポインタmeで指定される曲データME[me]において、ポインタifigで指定される押鍵しない指の座標位置me.sfigPos[ifig]を設定して本処理を終える。
d. When neither finger position coordinates sfigP nor sfigN exist
In this case, all the determination results of the above-described steps SG1, SG4, and SG6 are “NO”, and the process proceeds to step SG8. In step SG8, the average value (sfigH + sfigL) / 2 of the finger coordinate candidates obtained in the coordinate candidate obtaining process described above is designated by the pointer ifig in the music data ME [me] designated by the pointer me. The coordinate position me. sfigPos [ifig] is set and the process is terminated.
以上説明したように、本実施の形態では、曲を構成する各音を表すと共に、それら各音を弾くべき指を指定する曲データME[0]〜[N]毎に、押鍵する指の位置座標me.sfigPos[ifig]、押鍵しない指の座標位置me.sfigPos[ifig]および手の位置座標sHandPosを生成して登録し、これらに基づき各音を演奏する際の手および各指の位置変化をグラフ化して表示部12に画面表示するので、押鍵しない指をどの位置に置いておけばよいのかを教示し得るようになる。
As described above, in the present embodiment, each sound constituting a song is represented, and the key to be pressed is set for each piece of music data ME [0] to [N] designating a finger to play each sound. Position coordinates me. sigPos [ifig], coordinate position me. sigPos [ifig] and hand position coordinates sHandPos are generated and registered, and based on these, the position change of the hand and each finger when playing each sound is graphed and displayed on the
したがって、例えば図11に図示する楽譜の曲データME[0]〜[N]の場合、演奏する際の手および各指の位置は図12に図示するグラフとして表現される。なお、図11に図示した楽譜において各音符上に付与される数字は運指を表す指番号である。また、図12に図示したグラフにおいて、横軸は演奏開始時点を起点とした演奏時刻を、縦軸は鍵盤座標を表す。 Therefore, for example, in the case of musical score music data ME [0] to [N] shown in FIG. 11, the positions of hands and fingers during performance are expressed as a graph shown in FIG. In addition, the number given on each note in the musical score shown in FIG. 11 is a finger number representing fingering. In the graph shown in FIG. 12, the horizontal axis represents performance time starting from the performance start point, and the vertical axis represents keyboard coordinates.
10 鍵盤
11 スイッチ部
12 表示部
13 CPU
14 ROM
15 RAM
16 音源
17 サウンドシステム
10
14 ROM
15 RAM
16
Claims (4)
前記曲データ記憶手段から各音毎の曲データを読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成するとともに、前記読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指が押鍵状態にあるか否かを表わす押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置座標とを生成して当該曲データに登録する押鍵指位置発生手段と、
前記曲データ記憶手段から各音毎の曲データを読み出すとともに、当該読み出した曲データの音を押鍵する指及び前記曲データの音が和音を構成する場合に前記押鍵情報が押鍵状態を表わす指を除く指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生手段と、
前記押鍵指位置発生手段により生成された押鍵指位置座標及び和音押鍵指位置座標と、前記無押鍵指位置発生手段により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を、横軸を演奏開始時点を起点とした演奏時刻とし縦軸を鍵盤座標とするグラフとして表示部に表示させる指位置表示手段と、
を具備することを特徴とする演奏支援情報生成装置。 Song data storage means for storing song data representing at least each sound constituting the song and a finger playing each of the sounds;
The music data for each sound is read from the music data storage means, and the key-pressing finger position coordinates representing the position of the finger pressing the sound of the read music data are generated, and the sound of the read music data is a chord. If configured, key press information indicating whether or not each finger assigned to other chord constituent sounds other than the music data sound is in a key pressing state, and the position of each finger pressing the chord constituent sounds A key pressing finger position generating means for generating a chord key pressing finger position coordinate representing
The tune data for each sound is read from the tune data storage means, and when the tune data is composed of a finger for squeezing the sound of the read tune data and the tune data sounds constitute a chord, A no-pressing finger position generating means for generating a no-pressing finger position coordinate representing a finger position excluding the representing finger;
Music data with reference to the key-pressing finger position coordinates and chord key-pressing finger position coordinates generated by the key-pressing finger position generating means, and the non-pressing key position coordinates generated by the non-pressing finger position generating means Finger position display means for displaying the change in the position of each finger when playing the sound on the display unit as a graph with the horizontal axis as the performance time starting from the performance start point and the vertical axis as the keyboard coordinates;
A performance support information generating apparatus comprising:
前記曲データ記憶手段から各音毎の曲データを読み出す読み出し処理と、
前記読み出し処理により読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成するとともに、前記読み出した曲データの音が和音を構成する場合、当該曲データの音を除く他の和音構成音にそれぞれ割当てられる各指が押鍵状態にあるか否かを表わす押鍵情報と、それら和音構成音を押鍵する各指の位置を表す和音押鍵指位置座標とを生成して当該曲データに登録する押鍵指位置発生処理と、
前記読み出し処理により読み出した曲データの音を押鍵する指及び前記曲データの音が和音を構成する場合に前記押鍵情報が押鍵状態を表わす指とを除く指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、
前記押鍵指位置発生処理により生成された押鍵指位置座標及び和音押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を、横軸を演奏開始時点を起点とした演奏時刻とし縦軸を鍵盤座標とするグラフとして表示部に表示させる指位置表示処理と
を実行させることを特徴とする演奏支援情報生成プログラム。 A computer having song data storage means for storing song data representing at least each sound constituting a song and a finger playing each of the sounds,
A reading process of reading out song data for each sound from the song data storage means;
When the keying finger position coordinates representing the position of the finger pressing the key of the music data read out by the reading process are generated and the sound of the read music data constitutes a chord, the sound of the music data is excluded Generates key press information indicating whether or not each finger assigned to another chord constituent sound is in a key press state, and chord key press finger position coordinates indicating the position of each finger pressing the chord constituent sound Key finger position generation processing to be registered in the song data,
No key depression that represents the position of the finger excluding the finger that depresses the sound of the song data read out by the readout process and the key depression information when the sound of the song data constitutes a chord. Non-pressing key finger position generation processing for generating finger position coordinates;
Music data with reference to the key pressing finger position coordinates and chord key pressing finger position coordinates generated by the key pressing finger position generation process and the no key pressing finger position coordinates generated by the no key pressing finger position generation process A finger position display process for displaying a change in the position of each finger when playing the keyboard on the display unit as a graph with the horizontal axis as the starting time and the vertical axis as the keyboard coordinates. A performance support information generation program.
Generated by hand position generation processing for generating hand position coordinates representing the position of the hand from a position range that can be taken by all fingers from the thumb to the little finger with respect to the sound of the read music data, and generated by the hand position generation processing 4. The performance support information generating program according to claim 3, further causing the computer to execute hand position display processing for displaying a change in the position of the hand when playing the music data with reference to the hand position coordinates.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011151389A JP5029770B2 (en) | 2011-07-08 | 2011-07-08 | Performance support information generation apparatus and performance support information generation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011151389A JP5029770B2 (en) | 2011-07-08 | 2011-07-08 | Performance support information generation apparatus and performance support information generation program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006174968A Division JP4816930B2 (en) | 2006-06-26 | 2006-06-26 | Performance support information generation apparatus and performance support information generation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011237821A JP2011237821A (en) | 2011-11-24 |
JP5029770B2 true JP5029770B2 (en) | 2012-09-19 |
Family
ID=45325773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011151389A Expired - Fee Related JP5029770B2 (en) | 2011-07-08 | 2011-07-08 | Performance support information generation apparatus and performance support information generation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5029770B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3753798B2 (en) * | 1996-07-23 | 2006-03-08 | 新日鉄ソリューションズ株式会社 | Performance reproduction device |
JP3521838B2 (en) * | 2000-03-24 | 2004-04-26 | カシオ計算機株式会社 | Performance operation display device and recording medium |
JP4070100B2 (en) * | 2002-09-17 | 2008-04-02 | 株式会社河合楽器製作所 | Fingering display method and program therefor |
JP4301125B2 (en) * | 2004-09-06 | 2009-07-22 | カシオ計算機株式会社 | Fingering information generation device and program |
-
2011
- 2011-07-08 JP JP2011151389A patent/JP5029770B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011237821A (en) | 2011-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5360510B2 (en) | Performance evaluation apparatus and program | |
JP6493543B2 (en) | Performance assist device and method | |
JP6402878B2 (en) | Performance device, performance method and program | |
JP2020056938A (en) | Musical performance information display device and musical performance information display method, musical performance information display program, and electronic musical instrument | |
JP2019200390A (en) | Automatic performance apparatus and automatic performance program | |
JP2008089975A (en) | Electronic musical instrument | |
JP2583809B2 (en) | Electronic musical instrument | |
JP5029770B2 (en) | Performance support information generation apparatus and performance support information generation program | |
JP4225362B2 (en) | Code determination apparatus and code determination processing program | |
JP4816930B2 (en) | Performance support information generation apparatus and performance support information generation program | |
JP6268674B2 (en) | Musical sound generating device, electronic musical instrument, musical sound generating method and program | |
JP4259532B2 (en) | Performance control device and program | |
JP4217978B2 (en) | Code determination apparatus and code determination processing program | |
JP4035715B2 (en) | Accompaniment generation apparatus and accompaniment generation program | |
JP4509298B2 (en) | Music score display device | |
JP6210356B2 (en) | Performance device, performance method and program | |
JP6217896B2 (en) | Rhythm display device, electronic musical instrument, rhythm display method and program | |
JP4239937B2 (en) | Composition support apparatus and program | |
JP2006178268A (en) | Musical sound controller and musical sound control program | |
JP4222377B2 (en) | Electronics | |
JP2012252073A (en) | Musical tone data correcting device and program | |
JP2012128152A (en) | Performance practicing device and program | |
JP4696808B2 (en) | Temporary symbol display device and temporary symbol display program | |
JP2012220861A (en) | Musical sound generating device and program | |
JP5605695B2 (en) | Electronic musical instrument registration apparatus and program |
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 |