JP4816930B2 - 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 PDF

Info

Publication number
JP4816930B2
JP4816930B2 JP2006174968A JP2006174968A JP4816930B2 JP 4816930 B2 JP4816930 B2 JP 4816930B2 JP 2006174968 A JP2006174968 A JP 2006174968A JP 2006174968 A JP2006174968 A JP 2006174968A JP 4816930 B2 JP4816930 B2 JP 4816930B2
Authority
JP
Japan
Prior art keywords
finger
sound
key
coordinate
pointer
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
Application number
JP2006174968A
Other languages
Japanese (ja)
Other versions
JP2008003460A (en
Inventor
淳一郎 副島
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 JP2006174968A priority Critical patent/JP4816930B2/en
Publication of JP2008003460A publication Critical patent/JP2008003460A/en
Application granted granted Critical
Publication of JP4816930B2 publication Critical patent/JP4816930B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 Patent Document 1, data indicating the posture (posture) of the hand operating the keyboard is generated from fingering information indicating which key should be pressed with which finger, and the key operation is practiced. What is supported is disclosed. Patent Document 2 also reads out song data including the pitch of each tone constituting a song and fingering data representing the finger that plays each tone from the memory, and corresponds to the pitch in the read song data. When the fingering data to be performed is a fingering for instructing a finger change, a method for generating a fingering image for instructing the finger change and instructing a fingering method is disclosed.

特開2004−177546号公報JP 2004-177546 A 特開2004−205791号公報JP 2004-205791 A

ところで、鍵盤操作に不慣れな初心者ユーザでは、押鍵時の手の位置や姿勢あるいは指替えの仕方はもとより、それ以前に押鍵しない指をどの位置に置いておけばよいのかも判らないことが多い。したがって、上記特許文献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 Patent Documents 1 and 2, even if the user is instructed about the position and posture of the hand at the time of key pressing or the way of changing the finger, It is necessary to prepare for the key operation at a proper position with the finger that does not. In other words, in the techniques disclosed in Patent Documents 1 and 2, there arises a problem that it is impossible to teach where to place a finger that is not pressed.

本発明は、このような事情に鑑みてなされたもので、押鍵しない指をどの位置に置いておけばよいのかを教示することができる演奏支援情報生成装置および演奏支援情報生成プログラムを提供することを目的としている。   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, according to the first aspect of the present invention, at least each piece of music constituting song and song data representing song data representing a finger playing each sound, and each piece of music data from the song data storage unit are stored. The music data for each sound is read out, and the key pressing finger position generating means for generating the key pressing finger position coordinates indicating the position of the finger pressing the sound of the read music data, and the music data for each sound from the music data storage means. Non-pressing finger position generating means for reading the data and generating no-pressing finger position coordinates representing the position of the finger that does not press the sound of the read music data, and the key pressing generated by the key pressing position generating means The position change of each finger when playing music data with reference to the finger position coordinates and the no-pressing finger position coordinates generated by the no-pressing finger position generating means , with the horizontal axis as the starting point of the performance With the performance time and the vertical axis as keyboard coordinates. Characterized by comprising a finger position display means for displaying on the display unit as off, the.

上記請求項1に従属する請求項2に記載の発明では、前記押鍵指位置発生手段は、読み出した曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする。   In the invention according to claim 2 that is dependent on claim 1, the key pressing finger position generating means is arranged on the keyboard of the finger to press the key according to the pitch of the read music data and the finger to be played. The key-pressing finger position coordinate representing the position at is generated.

請求項に記載の発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段を有するコンピュータに、前記曲データ記憶手段から前記曲データを各音毎に読み出す読み出し処理と、前記読み出し処理により読み出される曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成する押鍵指位置発生処理と、前記読み出し処理により読み出される曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、前記押鍵指位置発生処理により生成された押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を、横軸を演奏開始時点を起点とした演奏時刻とし縦軸を鍵盤座標とするグラフとして表示部に表示させる指位置表示処理と、を実行させることを特徴とする。 According to a third aspect of the present invention, in a computer having song data storage means for storing at least each sound constituting a song and song data representing a finger playing each of the sounds, each piece of song data is stored from the song data storage means. A read process for each sound, a key finger position generation process for generating a key finger position coordinate representing the position of the finger that presses the sound of the music data read by the read process, and a music read by the read process A no-pressing finger position generation process for generating a no-pressing finger position coordinate representing a position of a finger that does not press the sound of the data; a key pressing finger position coordinate generated by the key pressing finger position generation process; The change in the position of each finger when playing music data with reference to the coordinate position of the non-pressing finger generated by the keying finger position generation process is defined as the performance time with the horizontal axis as the starting point of the performance. The keyboard seat Characterized in that to execute a finger position display processing for displaying on the display unit as a graph to.

上記請求項に記載の発明では、前記押鍵指位置発生処理は、前記読み出し処理により読み出される曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする。 In the invention described in claim 4, wherein at depressed finger position generating process, in response to said finger to play the pitch of the sound of the music data read by the reading process, the fingers depressed on the keyboard The key-pressing finger position coordinates representing the position of the key are generated.

本発明では、少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを各音毎に読み出し、読み出した曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成して対応する曲データに登録すると共に、読み出した曲データの音を押鍵しない指の位置を表す無押鍵指位置座標と、その読み出した曲データの音に対して親指から小指までの全ての指が取り得る位置範囲から手の位置を表す手位置座標とを生成して対応する曲データに登録する。そして、曲データに登録された押鍵指位置座標、無押鍵指位置座標および手位置座標を参照して曲データを演奏する際の手および各指の位置変化を表示するので、押鍵しない指をどの位置に置いておけばよいのかを教示することができる。   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 keyboard 10 generates performance information such as key-on / key-off events, key numbers, and velocities in response to key press / release operations (performance operations). The switch unit 11 has various operation switches arranged on the musical instrument panel, and generates a switch event corresponding to a switch type operated by the user. As main switches arranged in the switch unit 11, for example, there are a power switch for turning on / off power, a music selection switch for selecting music data, a mode switch for setting an operation mode, and the like. In the present embodiment, a performance mode or a performance support information generation mode is set by a mode switch operation.

表示部12は、LCDパネル等から構成され、CPU13から供給される表示制御信号に応じて楽器全体の動作モードや各種設定状態を表示する。具体的には、演奏支援情報発生モードに設定されている場合、CPU13が後述する演奏支援処理を実行することにより、曲を構成する各音を演奏する際の手および各指の位置をグラフ化して表示部12に画面表示するようになっている。   The display unit 12 is composed of an LCD panel or the like, and displays an operation mode and various setting states of the entire musical instrument in accordance with a display control signal supplied from the CPU 13. Specifically, when the performance support information generation mode is set, the CPU 13 performs a performance support process to be described later, thereby graphing the positions of hands and fingers when playing the sounds constituting the music. The screen is displayed on the display unit 12.

CPU13は、モードスイッチ操作で設定される動作モードで楽器各部を制御する。具体的には、演奏モードに設定されると、CPU13は押離鍵操作に応じて鍵盤10から出力される演奏情報に対応した各種楽音パラメータ(ノートオン/ノートオフ等)を発生し、これを音源16に供給して楽音発生を指示する。一方、演奏支援情報発生モードに設定された場合には、CPU13は後述する演奏支援処理を実行し、曲選択スイッチ操作で選択された曲データに基づき演奏支援情報を生成し、生成した演奏支援情報に基づき演奏時の手および各指の位置をグラフ化して表示部12に画面表示する。   The CPU 13 controls each part of the musical instrument in an operation mode set by a mode switch operation. Specifically, when the performance mode is set, the CPU 13 generates various musical sound parameters (note on / note off, etc.) corresponding to the performance information output from the keyboard 10 in response to the key release operation. The tone generator 16 is supplied to the tone generator 16 to instruct the generation of musical sounds. On the other hand, when the performance support information generation mode is set, the CPU 13 executes performance support processing described later, generates performance support information based on the song data selected by the song selection switch operation, and generates the generated performance support information. Based on the above, the positions of the hands and fingers during performance are graphed and displayed on the display unit 12 on the screen.

ROM14には、CPU13にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述する演奏支援処理を含む。RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に使用される各種レジスタ・フラグデータが一時記憶される。RAM15のデータエリアには、複数曲の曲データが格納されており、そのデータ構成については追って述べる。   The ROM 14 stores various control programs loaded on the CPU 13. The various control programs include performance support processing described later. The RAM 15 includes a work area and a data area. In the work area of the RAM 15, various register / flag data used for the processing of the CPU 13 are temporarily stored. The data area of the RAM 15 stores music data of a plurality of songs, and the data structure will be described later.

音源16は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源16は、各種音色の波形データを記憶しており、これらの内、CPU13から供給される楽音パラメータに応じた波形データを読み出して楽音波形を発生する。サウンドシステム17は、音源16から出力される楽音波形をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。   The sound source 16 is configured by a well-known waveform memory reading method and includes a plurality of sound generation channels that perform time-division operation. This sound source 16 stores waveform data of various timbres, and among these, reads out waveform data corresponding to a musical tone parameter supplied from the CPU 13 to generate a musical tone waveform. The sound system 17 converts the musical sound waveform output from the sound source 16 into an analog musical tone signal, and then performs filtering such as removing unnecessary noise from the musical tone signal, and then amplifies the level to generate sound from the speaker.

(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 RAM 15. One song is expressed in a so-called MIDI format, and is composed of song data ME [0] to ME [N] corresponding to each sound constituting the song. One piece of music data ME includes sound generation start time lTime, sound generation time (sound length) lGate, sound generation start time (absolute time) lTimsec, pitch (pitch) pitch, keyboard coordinates iPos, chord flag clsHarm, pointer pHTop, pointer pHtail, pointer pPHTop, pointer pPHTail, pointer pNHTop, pointer pNHTail, and fingering cfig. Further, the music data ME includes a key depression flag iFigOn [1] to [5] that indicates the presence / absence of key depression for each finger, coordinates sfigPos [1] to [5] that represent the position of each finger, and hand position coordinates. sHandPos is generated and registered by a performance support process described later. In addition, the place where each said data which comprises music data ME intends is described with description of the operation | movement mentioned later.

B.動作
次に、図3〜図12を参照して上記構成による実施形態におけるCPU13が実行する演奏支援処理の動作を説明する。
B. Operation Next, the operation of the performance support process executed by the CPU 13 in the embodiment having the above-described configuration will be described with reference to FIGS.

(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 CPU 13 executes the performance support processing shown in FIG. 3 and proceeds to step SA1. . In step SA1, song data ME [0] to ME [N] selected by the song selection switch operation are read from the data area of the RAM 15 and developed in the work area.

続いて、ステップ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 display unit 12. As a result, it is possible to teach where to place a finger that is not pressed.

(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 CPU 13 proceeds to step SB1 shown in FIG. 4 and sets an address for specifying the head song data ME [0]. Store to pointer me. Next, in step SB2, it is determined whether or not the incremented pointer me is “NULL”, that is, whether or not all the music data ME has been processed. If the incremented pointer me is not “NULL” and all the music data ME has been processed, the determination result is “NO”, and the process proceeds to step SB3.

ステップ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 CPU 13 proceeds to step SC1 shown in FIG. 6, and sets an address for specifying the head song data ME [0]. Store to pointer me. Next, in step SC2, it is determined whether or not the incremented pointer me is “NULL”, that is, whether or not all the music data ME has been processed. If the incremented pointer me is not “NULL” and all the music data ME has been processed, the determination result is “NO”, and the process proceeds to step SC3.

ステップ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 CPU 13 proceeds to step SD1 shown in FIG. 7, and increments the finger number of the pointer ifig and stores it in the register ifg. The value of the register ifg is referred to as a search pointer ifg.

続いて、ステップ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 correction value 2 × (ifg−ifig) is subtracted from sfigPos [ifg]) to calculate a coordinate candidate sfigH of the finger not to be pressed designated by the pointer ifig. The coordinate correction value 2 × (ifg−ifig) is a value obtained by converting the difference between the finger number ifg of the finger to be depressed and the finger number ifig of the finger not to be depressed into the number of white keys. In keyboard coordinates, one white key corresponds to “2”.

例えばポインタ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 correction value 2 × (ifg−ifig) is subtracted from sfigPos [ifg]) to calculate the coordinate candidate sfigl of the finger not to be pressed designated by the pointer ifig, and this processing is completed.

例えばポインタ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 CPU 13 proceeds to step SE1 shown in FIG. Pointer me. In data ME [me]. Set pPHTail to the pointer mep. Pointer me. pPHTail is a pointer to the end (topmost sound) of the chord group of the sound string group before the sound of the music data ME [me] specified by the pointer me. A pointer to the sound itself. That is, it is a pointer that points to the sound immediately before ME [me].

続いて、ステップ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 CPU 13 proceeds to step SF1 shown in FIG. Pointer me. In data ME [me]. pNTop is set to the pointer men. Pointer me. pNTop is a pointer to the head (bottom sound) of the chord of the tone string group after the sound of the music data ME [me] specified by the pointer me. If the tone string group is a single note, A pointer to the sound itself. That is, it is a pointer that points to the sound immediately after ME [me].

続いて、ステップ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 CPU 13 proceeds to step SG1 shown in FIG. In step SG1, it is determined whether or not both the finger position coordinate sfigP obtained by the coordinate acquisition [1] process and the finger position coordinate sfiGN obtained by the coordinate acquisition [2] process exist. Hereinafter, "when both finger position coordinates sfigP and sfigN exist", "when only finger position coordinates sfigP exist", "when only finger position coordinates sfigN exist", and "finger position coordinates sfigP, sfigN" The explanation of the operation is divided into “the case where none exists”.

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 display unit 12 so that no key is depressed. It is possible to teach where to put a finger.

したがって、例えば図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.

本発明による実施の一形態の構成を示すブロック図である。It is a block diagram which shows the structure of one Embodiment by this invention. 曲データMEのデータ構成を示す図である。It is a figure which shows the data structure of music data ME. 演奏支援処理の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a performance assistance process. 押鍵する指の座標設定処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the coordinate setting process of the finger to press a key. 押鍵する指の座標設定処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the coordinate setting process of the finger to press a key. 押鍵しない指の座標設定処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the coordinate setting process of the finger | toe which does not press a key. 座標候補取得処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a coordinate candidate acquisition process. 座標取得[1]処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of coordinate acquisition [1] process. 座標取得[2]処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of coordinate acquisition [2] process. 座標決定処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a coordinate determination process. 演奏支援処理の動作の一例を説明するための図である。It is a figure for demonstrating an example of operation | movement of a performance assistance process. 演奏支援処理の動作の一例を説明するための図である。It is a figure for demonstrating an example of operation | movement of a performance assistance process.

符号の説明Explanation of symbols

10 鍵盤
11 スイッチ部
12 表示部
13 CPU
14 ROM
15 RAM
16 音源
17 サウンドシステム
10 keyboard 11 switch section 12 display section 13 CPU
14 ROM
15 RAM
16 sound source 17 sound system

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; song data for each sound is read from the song data storage means, and the sound of the read song data is pressed. Keying finger position generating means for generating keying finger position coordinates representing the position of the finger to be locked; and reading out song data for each sound from the song data storage means; A non-pressing finger position generating means for generating a non-pressing finger position coordinate representing a position; a key pressing finger position coordinate generated by the key pressing finger position generating means; and a non-pressing finger position generating means. Displays the position change of each finger when playing music data with reference to the position coordinates of the non-pressed key finger 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 finger position display means for displaying on the Performance support information generating apparatus, characterized in that the Bei. 前記押鍵指位置発生手段は、読み出した曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする請求項1記載の演奏支援情報生成装置。 The key-pressing finger position generating means generates key-pressing finger position coordinates representing the position of the finger to be pressed on the keyboard in accordance with the pitch of the read music data and the finger to be played. The performance support information generating apparatus according to claim 1. 少なくとも曲を構成する各音およびそれら各音を弾く指を表す曲データを記憶する曲データ記憶手段を有するコンピュータに、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, 前記曲データ記憶手段から前記曲データを各音毎に読み出す読み出し処理と、Read processing for reading out the song data from the song data storage means for each sound; 前記読み出し処理により読み出される曲データの音を押鍵する指の位置を表す押鍵指位置座標を生成する押鍵指位置発生処理と、A keying finger position generation process for generating a keying finger position coordinate representing a position of a finger pressing the sound of the music data read out by the reading process; 前記読み出し処理により読み出される曲データの音を押鍵しない指の位置を表す無押鍵指位置座標を生成する無押鍵指位置発生処理と、A no-pressing finger position generation process for generating a no-pressing finger position coordinate representing a finger position that does not press the sound of the music data read out by the reading process; 前記押鍵指位置発生処理により生成された押鍵指位置座標と、前記無押鍵指位置発生処理により生成された無押鍵指位置座標とを参照して曲データを演奏する際の各指の位置変化を、横軸を演奏開始時点を起点とした演奏時刻とし縦軸を鍵盤座標とするグラフとして表示部に表示させる指位置表示処理と、Each finger when playing music data with reference to the 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 Finger position display processing for displaying the change in position 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; を実行させることを特徴とする演奏支援情報生成プログラム。The performance support information generation program characterized by performing this. 前記押鍵指位置発生処理では、前記読み出し処理により読み出される曲データの音の音高と弾くべき指とに応じて、押鍵する指の鍵盤上での位置を表す押鍵指位置座標を生成することを特徴とする請求項3記載の演奏支援情報生成プログラム。In the key pressing finger position generation process, key pressing finger position coordinates representing the position of the key to be pressed on the keyboard are generated according to the pitch of the music data read by the reading process and the finger to be played. The performance support information generating program according to claim 3, wherein
JP2006174968A 2006-06-26 2006-06-26 Performance support information generation apparatus and performance support information generation program Expired - Fee Related JP4816930B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006174968A JP4816930B2 (en) 2006-06-26 2006-06-26 Performance support information generation apparatus and performance support information generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006174968A JP4816930B2 (en) 2006-06-26 2006-06-26 Performance support information generation apparatus and performance support information generation program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011151389A Division JP5029770B2 (en) 2011-07-08 2011-07-08 Performance support information generation apparatus and performance support information generation program

Publications (2)

Publication Number Publication Date
JP2008003460A JP2008003460A (en) 2008-01-10
JP4816930B2 true JP4816930B2 (en) 2011-11-16

Family

ID=39007869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006174968A Expired - Fee Related JP4816930B2 (en) 2006-06-26 2006-06-26 Performance support information generation apparatus and performance support information generation program

Country Status (1)

Country Link
JP (1) JP4816930B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP2008003460A (en) 2008-01-10

Similar Documents

Publication Publication Date Title
JP7190284B2 (en) Harmony generator and its program
JP2008089975A (en) Electronic musical instrument
JP2583809B2 (en) Electronic musical instrument
JP4816930B2 (en) Performance support information generation apparatus and performance support information generation program
JP4225362B2 (en) Code determination apparatus and code determination processing program
JP5029770B2 (en) Performance support information generation apparatus and performance support information generation program
JP4259532B2 (en) Performance control device and program
JP4670686B2 (en) Code display device and program
JP6268674B2 (en) Musical sound generating device, electronic musical instrument, musical sound generating method and program
JP4217978B2 (en) Code determination apparatus and code determination processing program
JP4509298B2 (en) Music score display device
JP4035715B2 (en) Accompaniment generation apparatus and accompaniment generation program
JP4632646B2 (en) Electronic musical instruments and programs
JP4239937B2 (en) Composition support apparatus and program
JP4548365B2 (en) Music score display apparatus and program
JP2006178268A (en) Musical sound controller and musical sound control program
JP4222377B2 (en) Electronics
JP6217896B2 (en) Rhythm display device, electronic musical instrument, rhythm display method and program
JP4696808B2 (en) Temporary symbol display device and temporary symbol display program
JP4345433B2 (en) Performance device and performance processing program
JP2012252073A (en) Musical tone data correcting device and program
JP3543159B2 (en) Automatic accompaniment device
JP6511732B2 (en) Electronic musical instrument, parameter setting method and program
JPH087436Y2 (en) Bass sound generator
JP5605695B2 (en) Electronic musical instrument registration apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees