JP2007178696A - Fingering information generating device and program - Google Patents

Fingering information generating device and program Download PDF

Info

Publication number
JP2007178696A
JP2007178696A JP2005376695A JP2005376695A JP2007178696A JP 2007178696 A JP2007178696 A JP 2007178696A JP 2005376695 A JP2005376695 A JP 2005376695A JP 2005376695 A JP2005376695 A JP 2005376695A JP 2007178696 A JP2007178696 A JP 2007178696A
Authority
JP
Japan
Prior art keywords
fingering
value
variable
information
finger
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.)
Pending
Application number
JP2005376695A
Other languages
Japanese (ja)
Other versions
JP2007178696A5 (en
Inventor
Junichiro Soejima
淳一郎 副島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2005376695A priority Critical patent/JP2007178696A/en
Publication of JP2007178696A publication Critical patent/JP2007178696A/en
Publication of JP2007178696A5 publication Critical patent/JP2007178696A5/ja
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for automatically generating fingering information suitable to a user. <P>SOLUTION: Once the user sets use frequencies of respective fingers, a fingering cost table for calculating fingering cost is corrected according to the setting contents. Through the correction, even the same fingering changes in fingering cost according to the setting contents. Consequently, user's intention is reflected on fingering determined while the fingering cost is determined. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、楽器に設けられた演奏操作子群のなかで操作して楽曲を演奏していく際の指の運びである運指を示す運指情報を生成するための技術に関する。   The present invention relates to a technique for generating fingering information indicating fingering when a musical piece is operated and operated in a group of performance operators provided on a musical instrument.

例えば鍵盤楽器では、押鍵(操作)すべき鍵を順次、押鍵していくことで楽曲の演奏が行われる。しかし、演奏技術の未熟な演奏者の多くは、押鍵すべき鍵をどの指で押鍵すべきかが分からないのが実情である。このことから、押鍵すべき鍵の押鍵に用いるべき指を示す指情報を表示する運指表示装置が製品化されている。運指情報は、その指情報の表示に用いられている。運指情報生成装置は、その運指情報を自動生成するものである。演奏の進行に応じて押鍵していくべき鍵毎の運指情報は、例えばその鍵、その鍵を押鍵しているべきタイミング、及びその押鍵に用いるべき指を示すものである。鍵、及びその鍵を押鍵しているべきタイミングは演奏データとして与えられるため、運指情報の生成はその鍵の押鍵に用いるべき指を決定することに相当する。   For example, in a keyboard instrument, a musical piece is played by sequentially pressing keys to be pressed (operated). However, in reality, many performers who are unskilled in performance technology do not know which finger should press the key to be pressed. For this reason, fingering display devices that display finger information indicating the finger to be used for pressing the key to be pressed have been commercialized. The fingering information is used to display the finger information. The fingering information generation device automatically generates the fingering information. The fingering information for each key to be pressed in accordance with the progress of performance indicates, for example, the key, the timing at which the key should be pressed, and the finger to be used for the key pressing. Since the key and the timing at which the key should be pressed are given as performance data, the generation of fingering information corresponds to determining the finger to be used to press the key.

従来の運指情報生成装置としては、例えば特許文献1に記載されたものがある。何れの運指情報生成装置であっても、運指情報の生成は運指がより容易となる指を特定することを基本にして行われる。   As a conventional fingering information generation device, for example, there is one described in Patent Document 1. In any fingering information generation device, fingering information is generated based on identifying a finger that makes fingering easier.

従来の運指情報生成装置は、多数の演奏者を想定して、平均的な演奏者にとって最適と思われる運指情報を生成していた。しかし、周知のように、身体的特徴や好みなどは演奏者によって異なる。このため、違和感を覚える演奏者も少なくないのが実情である。このことから、運指情報は対象となる演奏者(ユーザー)に合わせて生成することも重要であると考えられる。
特開2001−331173号公報
The conventional fingering information generation device generates fingering information that is considered optimal for an average player assuming a large number of players. However, as is well known, physical characteristics and preferences vary depending on the performer. For this reason, there are many players who feel uncomfortable. For this reason, it is considered important to generate fingering information in accordance with the target player (user).
JP 2001-331173 A

本発明の課題は、ユーザーにとってより適切な運指情報を自動生成するための技術を提供することにある。   An object of the present invention is to provide a technique for automatically generating fingering information more appropriate for a user.

本発明の運指情報生成装置は、楽器に設けられた演奏操作子群のなかで操作して楽曲を演奏していく際の指の運びである運指を示す運指情報を生成することを前提とし、楽曲の進行に応じて操作していくべき演奏操作子毎に、該演奏操作子、及び該演奏操作子を操作すべきタイミングを示す演奏データを取得するデータ取得手段と、運指情報の生成に係わるユーザーの個人情報を入力するための情報入力手段と、データ取得手段が取得した演奏データを参照して、情報入力手段により入力される個人情報を考慮した運指情報を該演奏データ毎に生成する運指情報生成手段と、を具備する。   The fingering information generation device according to the present invention generates fingering information indicating fingering, which is the carrying of a finger when performing music by operating among performance operators provided on the musical instrument. As a premise, for each performance operator to be operated according to the progress of music, the performance operator, data acquisition means for acquiring performance data indicating the timing at which the performance operator should be operated, and fingering information Information input means for inputting the user's personal information related to the generation of data, and the performance data acquired by the data acquisition means with reference to the performance data acquired by the data acquisition means, and the fingering information in consideration of the personal information input by the information input means Fingering information generating means for generating each time.

なお、上記情報入力手段は、個人情報として、各指の使いやすさ、手の大きさ、及び演奏のための所定の指使いを行う頻度、のうちの少なくとも一つを入力できる、ことが望ましい。また、運指情報生成手段は、個人情報として、各指の使いやすさ、及び手の大きさのうちの何れかが入力された場合、運指を行ううえでの難易度を求めるために用意したテーブルの内容を更新することにより、該個人情報を考慮した運指情報の生成を行う、ことが望ましい。   The information input means is preferably capable of inputting at least one of the ease of use of each finger, the size of the hand, and the frequency of performing a predetermined finger use for performance as personal information. . In addition, the fingering information generation means is prepared for obtaining a difficulty level in fingering when any one of the ease of use of each finger and the size of the hand is input as personal information. It is desirable to generate fingering information in consideration of the personal information by updating the contents of the table.

本発明のプログラムは、楽器に設けられた演奏操作子群のなかで操作して楽曲を演奏していく際の指の運びである運指を示す運指情報を生成する運指情報生成装置を実現可能なデータ処理装置に実行させることを前提とし、上記運情報生成装置が具備する手段を実現させるための機能を搭載している。   A program according to the present invention is a fingering information generation device that generates fingering information indicating fingering when a musical piece is operated by operating in a group of performance operators provided on a musical instrument. On the premise that it is executed by a feasible data processing device, a function for realizing the means included in the luck information generation device is installed.

本発明は、楽曲の進行に応じて操作していくべき演奏操作子毎に、演奏操作子、及びその演奏操作子を操作すべきタイミングを示す演奏データを取得し、運指情報の生成に係わるユーザーの個人情報を入力可能とし、取得した演奏データを参照して、入力された個人情報を考慮した運指情報を演奏データ毎に生成する。ユーザーが入力した個人情報を考慮することにより、運指情報の生成にその個人情報を反映させることができる。このため、ユーザーにとってより適切な運指情報をより確実に生成できることとなる。   The present invention relates to generation of fingering information by acquiring performance data indicating a performance operator and timing for operating the performance operator for each performance operator to be operated according to the progress of the music. The user's personal information can be input, and the fingering information considering the input personal information is generated for each performance data with reference to the acquired performance data. By considering the personal information input by the user, the personal information can be reflected in the generation of fingering information. For this reason, fingering information more appropriate for the user can be generated more reliably.

以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施の形態による運指情報生成装置の構成を説明する図である。
その運指情報生成装置10は、図1に示すように、装置10全体の制御を行うCPU11と、そのCPU11がワークに用いるRAM12と、CPU11が実行するプログラムや各種制御用データ等を格納したROM103と、例えばキーボードやポインティングデバイス(マウス等)等の入力装置用のインターフェース、CD−ROMやDVD等の記録媒体にアクセスする媒体駆動装置、及びそのインターフェース等からなる入力部14と、及び表示装置に画像を表示させる表示部15と、を備えた構成となっている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration of a fingering information generation device according to this embodiment.
As shown in FIG. 1, the fingering information generating apparatus 10 includes a CPU 11 that controls the entire apparatus 10, a RAM 12 that the CPU 11 uses for work, and a ROM 103 that stores programs executed by the CPU 11, various control data, and the like. For example, an interface for an input device such as a keyboard or a pointing device (such as a mouse), a medium driving device for accessing a recording medium such as a CD-ROM or DVD, an input unit 14 including the interface, and a display device And a display unit 15 for displaying an image.

その運指情報生成装置10は、例えばパーソナルコンピューター(PC)に、運指情報生成装置10として動作させるためのアプリケーション・プログラム(以下「運指生成アプリケーション」)を搭載させることにより実現させている。そのアプリケーションは、例えば入力部14を構成する媒体駆動装置がアクセス可能な記録媒体に記録して提供されるものである。そのアプリケーションは、インターネット等のネットワークを介して配信するようにしても良い。アプリケーションを搭載(インストール)できるように、ROM13としては書き込み可能なメモリ(例えばフラッシュメモリ)が採用されている。運指情報生成装置10を実現させるPCは、ROM13の他に、或いはその代わりにハードディスク装置等の補助記憶装置を搭載したものであっても良い。表示部15が画像を表示させる表示装置は、外付けのもの、搭載されたものの何れであっても良い。ここでは便宜的に、表示装置は搭載されたもの、つまり表示部15を構成しているものと想定する。   The fingering information generation device 10 is realized, for example, by mounting an application program (hereinafter, “fingering generation application”) for operating the fingering information generation device 10 on a personal computer (PC). The application is provided, for example, by being recorded on a recording medium accessible by the medium driving device constituting the input unit 14. The application may be distributed via a network such as the Internet. A writable memory (for example, a flash memory) is employed as the ROM 13 so that an application can be installed (installed). The PC that implements the fingering information generation device 10 may be one that is equipped with an auxiliary storage device such as a hard disk device in addition to or instead of the ROM 13. The display device on which the display unit 15 displays an image may be either an external device or a mounted device. Here, for convenience, it is assumed that the display device is mounted, that is, the display unit 15 is configured.

本実施の形態では、楽曲の演奏で発音させるべき楽音毎に、その楽音を発音させるべきタイミング、及びその楽音の音高を示す演奏データを取得し、その演奏データを参照して運指データを生成する。それにより、最終的に図2に示すような演奏データを取得している。図2に示す演奏データはRAM12に書き込まれた場合のものであり、その格納場所は、[]で示す括弧内の数値(インデクス値)で指定される。   In the present embodiment, for each musical sound to be generated in the performance of the music, performance data indicating the timing at which the musical sound should be generated and the pitch of the musical sound are acquired, and the fingering data is obtained by referring to the performance data. Generate. Thereby, performance data as shown in FIG. 2 is finally obtained. The performance data shown in FIG. 2 is written in the RAM 12, and the storage location is specified by a numerical value (index value) in parentheses indicated by [].

その演奏データは、図2に示すように、データlTime、lGate、lTmsec、Pitch、iPosX、cfig、iHand、icost、cIsHarm、iArpS、iArpE、pHTop、pHTail、cTendency、cTendSteps、cIsSO、pPFTop、pPHTail、pNHTop、pNHTail、iNP、prev、及びnextを有している。各データは以下のようなものである。   The performance data is shown in FIG. , PNHTail, iNP, prev, and next. Each data is as follows.

データlTimeは、発音開始時刻を示すものである。その発音開始時刻は例えば演奏開始からのものをMIDIで扱う単位時間(ステップ)数で表されている。データlGateは発音時間を示すものである。データlTmsecはデータlTimeが示す発音開始時刻を絶対時間(単位はmsec)で示すものである。データPitchは楽音のピッチを示すもの(ピッチ番号、或いはノート番号と呼ぶ)である。データiPosXはそのピッチが割り当てられた鍵の鍵盤上の座標(X座標)を示すものである。データcfigは、その鍵の押鍵に割り当てられた指を示す指番号である。値の0は親指を示し、同様にして、1は人差し指、2は中指、3は薬指、4は小指をそれぞれ示している。データiHandは鍵を押鍵して発音される楽音が属するパートを示すものである。そのパートは押鍵に使う指がある手で区別されるものであり、その手が右手のパートでは1、左手では2がデータiHandとして格納される。データicostは、割り当てられた指で鍵を押鍵する難易度の評価値(難易度データ)である。データcIsHarmは楽音が和音の構成音か否かを示すものである。その値は構成音でなければ0、構成音であれば−1となる。   The data lTime indicates the sound generation start time. The sound generation start time is represented by, for example, the number of unit times (steps) handled by MIDI from the start of performance. Data lGate indicates the sound generation time. Data lTmsec indicates the sound generation start time indicated by the data lTime in absolute time (unit: msec). Data Pitch indicates the pitch of a musical sound (referred to as pitch number or note number). The data iPosX indicates the coordinates (X coordinate) on the keyboard of the key to which the pitch is assigned. The data cfg is a finger number indicating a finger assigned to the key depression. A value of 0 indicates the thumb, and similarly, 1 indicates the index finger, 2 indicates the middle finger, 3 indicates the ring finger, and 4 indicates the little finger. The data iHand indicates the part to which the musical sound generated by pressing the key belongs. The part is discriminated by a hand with a finger used to press the key, and 1 is stored as data iHand for the right hand part and 2 for the left hand. The data icost is an evaluation value (difficulty data) of the difficulty level of pressing a key with an assigned finger. Data cIsHarm indicates whether or not the musical tone is a constituent sound of a chord. The value is 0 if it is not a constituent sound, and is -1 if it is a constituent sound.

データiArpSは、アルペジオを構成する先頭の楽音か否かを示す先頭フラグである。データiArpEは、その末端(最後)の楽音か否かを示す末端フラグである。それらの値は、該当するか否かによって、予め定めた2種類の値のうちの何れかとなる。データpHTopは、和音の先頭音(一番下の音(最低音))の演奏データの格納場所を示すポインタ(インデクス値)である。データpHTailは、和音の終端音(一番上の音(最高音))の演奏データの格納場所を示すポインタ(インデクス値)である。それらのインデクス値は、楽音が和音の構成音であった場合に格納される。そうでなければ予め定めた固定値が格納される。   The data iArpS is a head flag indicating whether or not the head tone is included in the arpeggio. Data iArpE is an end flag indicating whether or not the end (last) musical tone is present. These values are one of two predetermined values depending on whether or not they are applicable. The data pHTop is a pointer (index value) indicating the storage location of the performance data of the first note of the chord (the lowest note (lowest note)). The data pHTail is a pointer (index value) indicating a storage location of performance data of a chord end tone (top note (highest note)). Those index values are stored when the tone is a chord component. Otherwise, a predetermined fixed value is stored.

データcTendencyは、楽音近傍の楽音の並び(音列)の高低傾向を示す値(0は極値、正の値は上昇傾向、負の値は下降傾向、1は変化しない踊り場、2はそれ以外(の変化あり))である。データcTendStepsは極値となるまでの段階数である。データcIsSOは、ポリフォニーとなっているか否かを示すフラグである。その値の絶対値は音数を示している。正の値は前に同時発音中の楽音の存在を示し、負の値は後に同時発音中の楽音の存在を示している。データpPHTopは前の音列を構成する和音の先頭音の演奏データのポインタである。データpPHTailはその和音の終端音の演奏データのポインタである。データpNHTop、pNHTailはそれぞれ、次の音列を構成する和音の先頭音、終端音の演奏データのポインタである。データiNPは割り当てた指を押鍵に使うべきでない禁止条件に該当するか否かを示す値である(0は該当しないことを示す)。データprevは前の演奏データのポインタである。データnextは次の演奏データのポインタである。   The data cTendency is a value indicating the tendency of the arrangement (tone sequence) of musical sounds in the vicinity of the musical sounds (0 is extreme value, positive value is upward trend, negative value is downward trend, 1 is non-changing landing, 2 is otherwise) (With changes)). The data cTendSteps is the number of steps until reaching an extreme value. The data cIsSO is a flag indicating whether or not polyphony is present. The absolute value of the value indicates the number of sounds. A positive value indicates the presence of a musical sound that is simultaneously sounding before, and a negative value indicates the presence of a musical sound that is simultaneously sounded later. The data pPHTop is a pointer to performance data of the first tone of the chord constituting the previous string. Data pPHTail is a pointer to performance data of the end tone of the chord. The data pNHTop and pNHTail are pointers to the performance data of the chord's head tone and end tone, respectively, constituting the next string. The data iNP is a value indicating whether or not the assigned finger should not be used for pressing the key, and whether or not the prohibition condition is satisfied (0 indicates not applicable). Data prev is a pointer to previous performance data. Data next is a pointer to the next performance data.

上記データlTime、lGate、lTmsec、及びPitchは発音させるべき楽音、及びそれを発音させるべき期間(タイミング)を示すデータであり、本来の演奏データ(以下、混乱を避けるために「実演奏データ」と呼ぶ)を構成する。それら、並びにデータcfig、及びiHandは運指データを構成するものである。それらのなかで、データcfig、及びiHandは最小限の運指データ(以下、混乱を避けるために「最小運指データ」と呼ぶ)を構成する。それら、並びにデータprev、及びnextを除く他のデータは、その最小運指データ生成用のものである。   The above-mentioned data lTime, lGate, lTmsec, and Pitch are data indicating a musical sound to be generated and a period (timing) in which the musical sound is to be generated. Original performance data (hereinafter referred to as “actual performance data” to avoid confusion) Configure). These, as well as the data cfig and iHand, constitute fingering data. Among them, data cfig and iHand constitute minimum fingering data (hereinafter referred to as “minimum fingering data” to avoid confusion). The data other than the data prev and next are for generating the minimum fingering data.

図2に示すような構成の実演奏データは例えば、入力部14を構成する媒体駆動装置がアクセス可能な記録媒体により、或いは不図示の通信ネットワークを介して運指情報生成装置10に入力される。ここでは記録媒体により入力されるものと想定する。   The actual performance data configured as shown in FIG. 2 is input to the fingering information generating apparatus 10 through a recording medium accessible by the medium driving device constituting the input unit 14 or via a communication network (not shown). . Here, it is assumed that the input is made by a recording medium.

上記運指(最小運指)データは、運指がより容易となるように生成される。しかし、その運指が容易か否かは演奏者によって異なる。演奏を行ううえで好む指使いも演奏者によって異なる。このようなことから、本実施の形態では、運指データ生成上の条件をユーザーが任意に指定できるようにして、ユーザーにとってより適切な運指(最小運指)データを生成可能とさせている。   The fingering (minimum fingering) data is generated so that fingering is easier. However, whether or not the fingering is easy depends on the performer. The fingering you prefer to perform depends on the performer. For this reason, in this embodiment, the user can arbitrarily specify the fingering data generation conditions, and the user can generate more appropriate fingering (minimum fingering) data. .

その条件としては、各指の使用頻度(使いやすさ)、手の大きさ、及び特殊な指使い(演奏のための所定の指使い)、を指定可能とさせている。指定可能な条件として各指の使用頻度を採用したのは、ユーザーが各指に対して使いやすいと感じる程度を運指データの生成に反映させるためである。手の大きさを採用したのは、その大きさによって、押鍵が容易と感じられる音高差(連続して押鍵すべき鍵間、或いは同時に押鍵しているべき鍵間)は変化するからである。特殊な指使いを採用したのは、その指使いを困難とする程度を運指データの生成に反映させるためである。そのような条件のうちの1つ以上を必要に応じて指定することにより、ユーザーにとってより適切と感じられる運指データを生成できるようになる。   As the conditions, the usage frequency (ease of use) of each finger, the size of the hand, and special finger usage (predetermined finger usage for performance) can be specified. The reason why the frequency of use of each finger is adopted as a condition that can be specified is to reflect the degree that the user feels easy to use for each finger in the generation of fingering data. The use of the size of the hand changes the pitch difference (between keys that should be pressed continuously or keys that should be pressed at the same time) depending on the size. Because. The reason for using the special fingering is to reflect the degree of difficulty of the fingering in the generation of fingering data. By specifying one or more of these conditions as necessary, fingering data that is more appropriate for the user can be generated.

各条件の指定は、特には詳細な説明は省略するが、所望の条件の種類を選択させてその指定を行わせるようにしている。その条件として各指の使用頻度が選択された場合、図13に示すような設定画面を表示部15に表示させ、手毎に各指の使用頻度を相対的に設定させるようにしている。条件として手の大きさ(手の幅指定)が選択された場合には、図14に示すような設定画面を表示部15に表示させ、手毎にその最大幅(指の並びに沿った方向のもの)を長さで設定させるようにしている。条件として特殊な指使いが選択された場合には、図15に示すような設定画面を表示させ、その実行頻度を設定させるようにしている。その設定は、「多い」「普通」「少ない」のうちから一つを選択させることで行わせるようにしている。   Although the detailed description of the designation of each condition is omitted, the type of desired condition is selected and designated. When the usage frequency of each finger is selected as the condition, a setting screen as shown in FIG. 13 is displayed on the display unit 15 to relatively set the usage frequency of each finger for each hand. When the size of the hand (hand width designation) is selected as the condition, a setting screen as shown in FIG. 14 is displayed on the display unit 15, and the maximum width (in the direction along the line of fingers) is displayed for each hand. ) Is set by length. When a special finger usage is selected as a condition, a setting screen as shown in FIG. 15 is displayed, and the execution frequency is set. The setting is made by selecting one of “many”, “normal”, and “small”.

連続する2つの音を発音させるための難易度(運指コスト)は、図3に示す運指コストテーブルを参照して求めている。図3中、「bw」は鍵盤種類(0は白鍵、1は黒鍵)、「pm」はピッチ変化方向(0は増加方向、1は減少方向)、「f1」は変数ev1の値で指定される音符の指番号(その値で指定される演奏データ中のデータcfigの値)、「f2」は変数ev2の値で指定される音符の指番号、「intv」はそれら2つの音符間のピッチ差、をそれぞれ表している。それにより、テーブルは、それらのデータの各値の組み合わせで示される状況別に、その状況下での運指のコスト(の値)を格納したものとなっている。そのテーブルは、運指生成アプリケーションが格納された記録媒体に併せて格納されており、そのアプリケーションと共にロードするようになっている。   The difficulty level (fingering cost) for generating two consecutive sounds is obtained with reference to the fingering cost table shown in FIG. In FIG. 3, “bw” is the keyboard type (0 is the white key, 1 is the black key), “pm” is the pitch change direction (0 is the increasing direction, 1 is the decreasing direction), and “f1” is the value of the variable ev1. The finger number of the specified note (the value of the data cfig in the performance data specified by that value), “f2” is the finger number of the note specified by the value of the variable ev2, and “intv” is the interval between the two notes Represents the pitch difference. Thereby, the table stores the cost (value) of fingering under the situation according to the situation indicated by the combination of each value of the data. The table is stored together with the recording medium in which the fingering generation application is stored, and is loaded together with the application.

図3に示すような運指コストテーブルを用いていることから、本実施の形態では、条件として各指の使用頻度、或いは手の大きさが選択されてその設定が行われた場合、その設定内容に応じて運指コストテーブルの内容を更新するようにしている。その更新により、ユーザーが指定した条件を反映させた最小運指データの生成を行っている。運指データの生成中に求められた運指コストは上記データicostとして格納される。運指データの生成は、そのデータicostの値を順次、更新しながら行われる。   Since the fingering cost table as shown in FIG. 3 is used, in the present embodiment, when the usage frequency of each finger or the size of the hand is selected as a condition, the setting is performed. The content of the fingering cost table is updated according to the content. By the update, the minimum fingering data reflecting the conditions specified by the user is generated. The fingering cost obtained during the generation of fingering data is stored as the data icost. The fingering data is generated while sequentially updating the value of the data icost.

以降は図4〜図12に示す各種フローチャートを参照して、上述したような運指データの生成を行う運指情報生成装置10の動作について詳細に説明する。その動作は、CPU13が、上記運指生成アプリケーションをROM13からRAM12に読み出して実行することで実現される。   Hereinafter, the operation of the fingering information generation apparatus 10 that generates the fingering data as described above will be described in detail with reference to various flowcharts shown in FIGS. The operation is realized by the CPU 13 reading the fingering generation application from the ROM 13 to the RAM 12 and executing it.

図4は、全体処理のフローチャートである。これは、上記運指生成アプリケーションを起動させてから終了させるまでの間に実行される処理を抜粋してその流れを示したものである。始めに図4を参照して、その全体処理について詳細に説明する。   FIG. 4 is a flowchart of the entire process. This is an excerpt of processing executed between starting and ending the fingering generation application and shows the flow. First, the entire process will be described in detail with reference to FIG.

先ず、ステップ101では、各種変数に初期値を代入するといった初期化を行う。次のステップ102では、入力部14を構成する媒体駆動装置に、それに装着された記録媒体にアクセスさせ、その記録媒体に格納された演奏データ(図2)の読み込みを行う。特には詳細な説明は省略するが、その読み込みは、入力部14を構成する入力装置、或いはそれと接続された入力装置への操作によってユーザーが指定した演奏データを対象に行う。その読み込みによって演奏データをRAM12に格納した後はステップ103に移行する。   First, in step 101, initialization is performed such that initial values are assigned to various variables. In the next step 102, the medium driving device constituting the input unit 14 is made to access the recording medium attached thereto, and the performance data (FIG. 2) stored in the recording medium is read. Although detailed description is omitted, the reading is performed on performance data designated by the user by operating the input device constituting the input unit 14 or the input device connected thereto. After the performance data is stored in the RAM 12 by the reading, the process proceeds to step 103.

ステップ103では、図3に示す運指コストテーブルをROM13から読み出してRAM12に展開し、準備する。続くステップ104では、条件別の設定をユーザーに行わせて、その設定内容を取り込むためのユーザー指定条件読込処理を実行する。その実行により、図13〜図15に示す各種設定画面を表示部15に表示させての設定を可能とさせている。   In step 103, the fingering cost table shown in FIG. 3 is read from the ROM 13, loaded into the RAM 12, and prepared. In the subsequent step 104, a user-specific condition reading process is executed for allowing the user to perform setting for each condition and for loading the setting contents. As a result of the execution, various setting screens shown in FIGS. 13 to 15 are displayed on the display unit 15 to enable setting.

ステップ104に続くステップ105では、その読込処理の実行により取り込んだ設定内容に従って運指コストテーブルを修正するためのコストテーブル修正処理を実行する。その後に移行するステップ106では、修正後の運指コストテーブルを参照して運指データを生成するための運指生成処理を実行する。その実行後、一連の処理を終了する。   In step 105 following step 104, a cost table correction process for correcting the fingering cost table is executed in accordance with the setting contents acquired by executing the reading process. In step 106, which moves to the subsequent step, a fingering generation process for generating fingering data is executed with reference to the corrected fingering cost table. After the execution, a series of processing is terminated.

生成した運指データは、ユーザーの指定した格納場所への格納や表示も行えるようになっている。しかしここでは、そのことについての詳細な説明は省略する。
上述したように運指コストテーブルは、各指の使用頻度、或いは手の幅指定の何れかの条件を選択しての設定によって修正するようにしている。それらの条件別にテーブルを修正するために、コストテーブル修正処理では、図5、及び図6に示すコストテーブルの修正処理を実行するようにしている。ここで図5、及び図6を参照してそれらコストテーブル修正処理で実行されるサブルーチン処理について詳細に説明する。
The generated fingering data can be stored and displayed in a storage location designated by the user. However, a detailed description thereof will be omitted here.
As described above, the fingering cost table is modified by selecting and selecting the use frequency of each finger or the condition of hand width designation. In order to correct the table according to these conditions, the cost table correction processing shown in FIGS. 5 and 6 is executed in the cost table correction processing. Here, the subroutine processing executed in the cost table correction processing will be described in detail with reference to FIGS.

図5は、各指の使用頻度によるコストテーブルの修正処理のフローチャートである。始めに図5を参照して、その修正処理について詳細に説明する。
図3に示す運指コストテーブルは、右手用、左手用の2つ存在する。このことから、図5中では運指コストテーブルは6次元の配列変数cCostTwoFingerとして「cCostTwoFinger[iRL][ibw][ipm][iFf][iFt][iI]」と表記している(以降、この表記も用いる)。添字として表記したiRL、ibw、ipm、iFf、iFt、及びiIはそれぞれ、鍵盤種類、ピッチ変化方向、現在、対象とする音符(指定音)の指番号、その次に位置する音符の指番号、それら2つの音符間のピッチ差、を指定するための変数名である。図5中に表記の「RL」「BLACKANDWHITE」「PLUSMINUS」「MAXFINGER」「MAXPITINTERVAL」はそれぞれ、それらの変数の値の上限値として用意した定数である。設定された指毎の指定頻度は、上記ステップ104のユーザー指定条件読込処理の実行により、2次元の配列変数iFigPriorityの対応する要素に代入される。
FIG. 5 is a flowchart of the cost table correction process based on the usage frequency of each finger. First, the correction process will be described in detail with reference to FIG.
There are two fingering cost tables shown in FIG. 3 for the right hand and the left hand. Therefore, in FIG. 5, the fingering cost table is expressed as “cCostTwoFinger [iRL] [ibw] [ipm] [iFf] [iFt] [iI]” as a six-dimensional array variable cCostTwoFinger (hereinafter, this Notation is also used). IRL, ibw, ipm, iFf, iFt, and iI expressed as subscripts are the keyboard type, the pitch change direction, the finger number of the current note (designated note), the finger number of the next note, This is a variable name for designating the pitch difference between these two notes. In FIG. 5, “RL”, “BLACKANDWHITE”, “PLUSMINUS”, “MAXFINGER”, and “MAXPITINTERVAL” are constants prepared as upper limit values of these variables. The set designation frequency for each finger is substituted into the corresponding element of the two-dimensional array variable iFigPriority by executing the user designated condition reading process in Step 104.

上記変数iRL、ibw、ipm、iFf、iFt、及びiIはステップ301の実行により、それぞれ初期値として0が代入される。続くステップ302〜315では、変数iT以外の5つの変数の値の組み合わせによって指定される複数の要素を処理単位として、その処理単位を順次、変更していくための処理が行われる。その処理単位となる複数の要素は、ステップ314の判定がYESなって移行するステップ316〜323の処理を実行することで内容が更新される。   The variables iRL, ibw, ipm, iFf, iFt, and iI are each assigned 0 as an initial value by executing step 301. In subsequent steps 302 to 315, processing for sequentially changing the processing units is performed with a plurality of elements specified by combinations of values of five variables other than the variable iT as processing units. The contents of the plurality of elements serving as the processing unit are updated by executing the processing of Steps 316 to 323 in which the determination in Step 314 is YES and shifts.

先ず、ステップ316では、変数iIに0を代入する。続くステップ317では、変数iTの値が定数MAXINTERVAL未満か否か判定する。その関係が満たされている場合、判定はYESとなってステップ319に移行する。そうでない場合には、判定はNOとなり、ステップ318で変数iFtの値をインクリメントした後、ステップ314に戻る。それにより、変数iIを除く5つの変数のうち、変数iFtの値のみを代えて指定される複数の要素が次の処理対象に変更される。   First, in step 316, 0 is substituted for the variable iI. In the following step 317, it is determined whether or not the value of the variable iT is less than the constant MAXINTERVAL. If the relationship is satisfied, the determination is yes and the process moves to step 319. Otherwise, the determination is no, the value of variable iFt is incremented in step 318, and the process returns to step 314. Thereby, among the five variables excluding the variable iI, a plurality of elements specified by changing only the value of the variable iFt are changed to the next processing target.

ステップ319では、変数cTmpに、要素cCostTwoFinger[iRL][ibw][ipm][iFf][iFt][iI]の値を代入する。次のステップ320では、変数cTmpに、それまでの値に要素iFigPriority[iRL][iFf]の値(変数iRLの値が示す手の変数iFtの値が示す指に設定された使用頻度を示す値)を乗算し、その乗算結果を100で割った除算結果(=cTmp・iFigPriority[iRL][iFf]/100)を代入する。その次のステップ321では、変数cTmpに、それまでの値に要素iFigPriority[iRL][iFt]の値を乗算し、その乗算結果を100で割った除算結果(=cTmp・iFigPriority[iRL][iFt]/100)を代入する。その代入後は、ステップ322で変数cTmpの値をcCostTwoFinger[iRL][ibw][ipm][iFf][iFt][iI]に代入し、更にステップ323で変数iIの値をインクリメントした後、上記ステップ317に戻る。   In step 319, the value of the element cCostTwoFinger [iRL] [ibw] [ipm] [iFf] [iFt] [iI] is substituted for the variable cTmp. In the next step 320, the value of the element iFigPriority [iRL] [iFf] is added to the variable cTmp (the value indicating the use frequency set for the finger indicated by the value of the variable iFt of the hand indicated by the value of the variable iRL). ) And the division result obtained by dividing the multiplication result by 100 (= cTmp · iFigPriority [iRL] [iFf] / 100) is substituted. In the next step 321, the variable cTmp is multiplied by the value of the element iFigPriority [iRL] [iFt] by the previous value and the multiplication result is divided by 100 (= cTmp · iFigPriority [iRL] [iFt ] / 100). After the substitution, in step 322, the value of the variable cTmp is substituted into cCostTwoFinger [iRL] [ibw] [ipm] [iFf] [iFt] [iI], and in step 323, the value of the variable iI is incremented. Return to step 317.

次に図6に示す手の幅指定によるコストテーブルの修正処理について詳細に説明する。その図6では、図5に示す修正処理と内容が同じステップの処理には同一の符号を付している。それにより、図5から異なっている部分にのみ着目する形で説明する。設定された手の幅は、上記ステップ104のユーザー指定条件読込処理の実行により、1次元の配列変数iHandWidthの対応する要素に代入される。   Next, cost table correction processing by hand width designation shown in FIG. 6 will be described in detail. In FIG. 6, steps having the same contents as the correction processing shown in FIG. 5 are denoted by the same reference numerals. Accordingly, the description will be given in a form that focuses only on the portions that differ from FIG. The set hand width is substituted into the corresponding element of the one-dimensional array variable iHandWidth by executing the user-specified condition reading process in step 104.

図6では、ステップ319の処理の実行後、ステップ401に移行する。そのステップ401では、変数iIの値が示す幅が要素iHandWidth[iRL]の値(設定された手の幅)より大きいか否か判定する。その大小関係が満たされている場合、判定はYESとなり、ステップ402で変数cTmpに、それまでの値に変数iIの値が示す幅を乗算し、その乗算結果を要素iHandWidth[iRl]の値で割って得られる値(=cTmp・iI/iHandWidth[iRl])を代入した後、上記ステップ322に移行する。そうでない場合には、判定はNOとなって次にそのステップ322に移行する。それにより、設定された手の幅から修正が必要とする内容だけを修正する。   In FIG. 6, after executing the process of step 319, the process proceeds to step 401. In step 401, it is determined whether or not the width indicated by the value of the variable iI is larger than the value of the element iHandWidth [iRL] (the set hand width). If the magnitude relationship is satisfied, the determination is yes, and in step 402, the variable cTmp is multiplied by the value indicated by the value of the variable iI to the variable cTmp, and the result of the multiplication is represented by the value of the element iHandWidth [iRl]. After substituting the value obtained by dividing (= cTmp · iI / iHandWidth [iRl]), the process proceeds to step 322. Otherwise, the determination is no and the process moves to step 322 next. As a result, only the contents that need to be corrected are corrected from the set hand width.

図7は、図4に示す全体処理内でステップ106として実行される運指生成処理のフローチャートである。次に図7を参照して、その生成処理について詳細に説明する。
押鍵すべき鍵の押鍵に用いることが可能な指は5本である。楽曲全体では、押鍵すべき鍵の数をNとすると、全組み合わせ(運指系列)数は5Nとなる。本実施の形態では、全組み合わせで運指コストを調べ、そのなかで最も低い組み合わせを抽出することにより、各鍵の押鍵に用いるべき指を決定している。それまでで最適な組み合わせを保存するためにバッファcfigsave[]をRAM12に確保している。
FIG. 7 is a flowchart of the fingering generation process executed as step 106 in the overall process shown in FIG. Next, the generation process will be described in detail with reference to FIG.
There are five fingers that can be used to press the key to be pressed. In the whole music, if the number of keys to be pressed is N, the total number of combinations (fingering sequences) is 5 N. In the present embodiment, the fingering cost is checked for all combinations, and the lowest combination is extracted, thereby determining the finger to be used for pressing each key. The buffer cfgsave [] is secured in the RAM 12 so as to store the optimum combination so far.

先ず、ステップ501では、変数mefに先頭の演奏データのインデクス値を代入し、変数meTermには運指データ生成範囲の終端に位置する演奏データのインデクス値を代入する。次のステップ502では、変数CostBestに、生成範囲内で生成した運指データの全運指コスト(データicostの累算値)として考えられる最大値を代入する。その代入後は、ステップ503で変数meに変数mefの値、変数iNCntに0、変数iLoopMaxに1をそれぞれ代入してからステップ504に移行する。   First, in step 501, the index value of the first performance data is substituted for the variable mef, and the index value of the performance data located at the end of the fingering data generation range is substituted for the variable meTerm. In the next step 502, the maximum value considered as the total fingering cost (accumulated value of the data icost) of the fingering data generated within the generation range is substituted into the variable CostBest. After the substitution, in step 503, the value of the variable mef is substituted for the variable me, 0 is substituted for the variable iNCnt, and 1 is substituted for the variable iLoopMax, and then the process proceeds to step 504.

ステップ504では、変数meの値が変数meTermの値と異なるか否か判定する。それらの値が一致する場合、判定はNOとなってステップ507に移行する。そうでない場合には、判定はYESとなり、ステップ505で変数iNCntの値をインクリメントすると共に、変数iLoopmaxの値をそれまでの値に5を掛けた値に更新し、次のステップ506で変数meにme.nextの値を代入する。その後、上記ステップ504に戻る。それにより、ステップ504の判定がNOとなってステップ507に移行した際には、変数iLoopmaxには全組み合わせ数が値として代入される。   In step 504, it is determined whether the value of the variable me is different from the value of the variable meTerm. If the values match, the determination is no and the process moves to step 507. Otherwise, the determination is yes, the value of the variable iNCnt is incremented at step 505, the value of the variable iLoopmax is updated to the value obtained by multiplying the previous value by 5, and the variable me is set at the next step 506. me. Substitute the value of next. Thereafter, the process returns to step 504. Thus, when the determination in step 504 is NO and the process proceeds to step 507, the total number of combinations is substituted as a value for the variable iLoopmax.

ステップ507では、変数iLoopに0を代入する。次のステップ208では、変数iLoopの値が変数iLoopmaxの値より小さいか否か判定する。全組み合わせの確認が終了していない場合、その関係が満たされることから、判定はYESとなり、ステップ509で変数iDigitに1、変数meに変数mefの値、変数iCntに0をそれぞれ代入した後、ステップ510に移行する。そうでない場合には、判定はNOとなり、ステップ518に移行して、バッファcfigsave[]に保存した組み合わせ(運指系列)にとなるように、各演奏データのデータcfigを更新する。それにより、全体としての運指コストが最低となる指を各演奏データに適用させた後、一連の処理を終了する。   In step 507, 0 is substituted into the variable iLoop. In the next step 208, it is determined whether or not the value of the variable iLoop is smaller than the value of the variable iLoopmax. If all the combinations have not been confirmed, the relationship is satisfied, so the determination is YES, and after substituting 1 for the variable iDigit, 1 for the variable mef, and 0 for the variable iCnt in Step 509, Move on to step 510. Otherwise, the determination is no, the process proceeds to step 518, and the data cfig of each performance data is updated so that the combination (fingering sequence) stored in the buffer cfigsave [] is obtained. As a result, the finger having the lowest fingering cost as a whole is applied to each piece of performance data, and then the series of processes is terminated.

ステップ510〜513で形成される処理ループでは、変数iLoopの値によって決定する運指の組み合わせを設定するための処理が行われる。
先ず、ステップ510では、変数meの値が変数meTermの値と等しくないか否か判定する。それらの値が等しい場合、判定はNOとなり、対象とする組み合わせの設定が終了したとしてステップ514に移行する。そうでない場合には、判定はYESとなってステップ511に移行する。
In the processing loop formed in steps 510 to 513, processing for setting a fingering combination determined by the value of the variable iLoop is performed.
First, in step 510, it is determined whether or not the value of the variable me is not equal to the value of the variable meTerm. If the values are equal, the determination is no, and the process proceeds to step 514, assuming that the target combination has been set. Otherwise, the determination is yes and the process moves to step 511.

ステップ511では、me.cfigとして、変数ILoopの値を変数iDigitの値で割った除算結果を5で割ったときの余り(図中「(iLoop/iDigit)%5」と表記)を格納する。続くステップ512では、変数iDigitに、それまでの値に5を掛けた値を代入する。その後はステップ513に移行し、変数iCntの値をインクリメントし、変数meにme.nextの値を代入してから上記ステップ510に戻る。それにより、ステップ510の判定がNOとなるまで、各演奏データのデータcfigを更新していくことにより、対象とする組み合わせの設定を行う。   In step 511, me. As cfig, the remainder (represented as “(iLoop / iDigit)% 5” in the figure) when the division result obtained by dividing the value of the variable Iloop by the value of the variable iDigit is divided by 5 is stored. In the following step 512, a value obtained by multiplying the previous value by 5 is substituted for the variable iDigit. Thereafter, the process proceeds to step 513, the value of the variable iCnt is incremented, and the variable me. After substituting the value of next, the process returns to step 510. Thus, the target combination is set by updating the data cfig of each performance data until the determination in step 510 becomes NO.

そのステップ510の判定がNOとなって移行するステップ514では、設定した組み合わせを評価するための運指評価処理を実行する。次のステップ515では、その運指評価処理の実行により変数CostTmpに代入された運指コスト累算値が変数CostBestの値より小さいか否か判定する。今回の組み合わせがこれまでのなかで最も全体の運指コストが小さかった場合、その関係が満たされることから、判定はYESとなり、ステップ516で各演奏データからデータcfigを読み出してバッファcfigsave[]に保存し、次のステップ519で変数iLoopの値をインクリメントした後、上記ステップ508に戻る。そうでない場合には、判定はNOとなってそのステップ517に移行する。   In step 514 where the determination in step 510 is NO and the process proceeds, fingering evaluation processing for evaluating the set combination is executed. In the next step 515, it is determined whether or not the accumulated fingering cost value assigned to the variable CostTmp by execution of the fingering evaluation process is smaller than the value of the variable CostBest. If the total fingering cost is the lowest among the combinations thus far, the relationship is satisfied, so the determination is YES, and in step 516, the data cfig is read from each performance data and stored in the buffer cfigsave []. In step 519, the value of the variable iLoop is incremented, and the process returns to step 508. Otherwise, the determination is no and the process moves to step 517.

図8は、上記ステップ514として実行される運指評価処理のフローチャートである。次に図8を参照して、その評価処理について詳細に説明する。
先ず、ステップ601では、運指評価に用いる各種変数の初期化等を行う。その初期化により、変数CostTmpには0を代入する。続くステップ602では、変数meに、楽曲データ中で先頭に位置する演奏データを指定するインデクス値(ポインタ)を代入する。次のステップ603では、運指評価が終了したか否か判定する。その評価は、変数meの値で指定される演奏データを先頭のものから最後のものまで順次、変更しながら行われる。このため、変数meの値で指定される演奏データが存在しない場合、判定はYESとなり、ここで一連の処理を終了する。そうでない場合には、判定はNOとなってステップ604に移行する。
FIG. 8 is a flowchart of the fingering evaluation process executed as step 514. Next, the evaluation process will be described in detail with reference to FIG.
First, in step 601, initialization of various variables used for fingering evaluation is performed. As a result of the initialization, 0 is substituted into the variable CostTmp. In the next step 602, an index value (pointer) for designating performance data located at the head of the music data is substituted for the variable me. In the next step 603, it is determined whether or not the fingering evaluation has been completed. The evaluation is performed while sequentially changing the performance data designated by the value of the variable me from the first one to the last one. For this reason, if there is no performance data specified by the value of the variable me, the determination is YES, and the series of processing ends here. Otherwise, the determination is no and the process moves to step 604.

ステップ604では、変数meの値で指定される演奏データが示す楽音(指定音)とその次に発音すべき楽音間のコストを算出する2音間コスト算出処理を実行する。次に移行するステップ605では、現在、注目している運指(指定音を発音させるための運指)が禁止条件とする事項の何れかに該当しているか否か確認するための禁止事項検索処理を実行する。その後はステップ606に移行する。   In step 604, a two-tone cost calculation process is executed to calculate the cost between the musical sound (designated sound) indicated by the performance data designated by the value of the variable me and the musical sound to be generated next. In the next step 605, a prohibited matter search for checking whether or not the fingering currently focused (fingering for generating a specified sound) corresponds to any of the prohibited conditions. Execute the process. Thereafter, the process proceeds to step 606.

ステップ606では、変数meの値で指定される演奏データ中のデータiNP(図中「me.iNP」と表記)の値が0でないか否か判定する。上記禁止事項検索処理では、該当する事項(禁止条件)に該当していることが判明した場合、その値として0以外の値を格納する。このことから、その場合、判定はYESとなり、ステップ610でme.icostとして、想定範囲内におけるコストの最大値を格納した後、ステップ608に移行する。そうでない場合には、判定はNOとなってステップ607に移行し、運指に従って指定音を発音させるためのコストをより適切なものに更新するためのコスト補正処理を実行する。ステップ608にはその後に移行する。   In step 606, it is determined whether or not the value of the data iNP in the performance data designated by the value of the variable me (indicated as “me.iNP” in the figure) is not zero. In the prohibited item search process, when it is found that the item corresponds to the corresponding item (prohibited condition), a value other than 0 is stored as the value. Therefore, in this case, the determination is YES, and in step 610, me. After storing the maximum cost value within the assumed range as icost, the process proceeds to step 608. Otherwise, the determination is no, the process proceeds to step 607, and a cost correction process for updating the cost for generating the designated sound according to the fingering to a more appropriate one is executed. Step 608 then proceeds.

ステップ608では、変数CostTmpに、それまでの値にme.icostの値を加算して得られる値を代入する。続くステップ609では、変数meにme.nextの値を代入する。その後に上記ステップ603に戻る。   In step 608, the variable CostTmp is changed to me. A value obtained by adding the values of icost is substituted. In the subsequent step 609, the variable me. Substitute the value of next. Thereafter, the process returns to step 603.

このようにして、演奏データのデータicostが求められ、その最終的な値が変数CostTmpを用いて累算される。それにより、運指系列毎に運指コストの累算値を比較できるようにさせている。   In this way, the performance data data icost is obtained, and the final value is accumulated using the variable CostTmp. Thereby, the accumulated values of fingering costs can be compared for each fingering series.

以降は、この運指評価処理内で実行される各種サブルーチン処理について詳細に説明する。
図9は、上記ステップ604として実行される2音間コスト算出処理のフローチャートである。始めに図9を参照して、そのコスト算出処理について詳細に説明する。
Hereinafter, various subroutine processes executed in the fingering evaluation process will be described in detail.
FIG. 9 is a flowchart of the cost calculation process between two sounds executed as step 604 described above. First, the cost calculation process will be described in detail with reference to FIG.

このコスト算出処理では、上述したように、図3に示す運指コストテーブルを参照して、連続する2音にのみ着目する形でその2音を発音させるための運指コストを算出するようになっている。   In this cost calculation process, as described above, with reference to the fingering cost table shown in FIG. 3, the fingering cost for generating the two sounds in a form that focuses only on the two consecutive sounds is calculated. It has become.

先ず、ステップ701では、変数ev1、及びev2にそれぞれ、変数meの値、及びme.nextの値を代入する。続くステップ702では、変数f1にev1.cfigの値、変数p1にev1.iPosXの値、変数bwに変数p1の値を2で割った余り(図中「p1%2」と表記)、変数f2にev2.cfigの値、変数p2にev2.iPosXの値、をそれぞれ代入する。その代入後に移行するステップ703では、変数p1の値が変数p2の値以下か否か判定する。後者が前者より大きい場合、判定はYESとなり、ステップ704で0を変数pmに、変数p2の値から変数p1の値を引いた値を変数intvにそれぞれ代入してからステップ706に移行する。そうでない場合には、判定はNOとなり、ステップ705で1を変数pmに、変数p1の値から変数p2の値を引いた値を変数intvにそれぞれ代入してからステップ706に移行する。   First, in step 701, the values of the variable me and me. Substitute the value of next. In the subsequent step 702, ev1. The value of cfig, ev1. The value of iPosX, the remainder of dividing the value of variable p1 by 2 (represented as “p1% 2” in the figure), and the variable f2, ev2. The value of cfig, the variable p2, ev2. iPosX value is substituted respectively. In step 703 which moves to after the substitution, it is determined whether or not the value of the variable p1 is equal to or smaller than the value of the variable p2. If the latter is larger than the former, the determination is yes, and in step 704, 0 is substituted for the variable pm, and the value obtained by subtracting the value of the variable p1 from the value of the variable p2 is substituted for the variable intv. Otherwise, the determination is no, and in step 705, 1 is substituted for the variable pm, and the value obtained by subtracting the value of the variable p2 from the value of the variable p1 is substituted for the variable intv.

ステップ706では、変数intvの値が定数MAXINTV以下か否か判定する。その定数MAXINTVは、運指により押鍵を行う難易度が極めて高いと考えられる鍵間(ピッチ差)を判定するために用意したものである。このことから、着目する2つの音符の間にそのようなピッチ差が存在していない場合、判定はYESとなり、ステップ707でev1.icostとして、変数bw、pm、f1、f2、及びintvの各値によって運指コストテーブル(図3)から抽出される値(図中「CT[bw][pm][f1][f2][intv]」と表記)を代入した後、一連の処理を終了する。そうでない場合には、判定はNOとなり、ステップ708でev1.icostとして定数MAXCOSTを代入した後、一連の処理を終了する。   In step 706, it is determined whether or not the value of the variable intv is less than or equal to the constant MAXINTV. The constant MAXINTV is prepared in order to determine a key interval (pitch difference) considered to be extremely difficult to press a key by fingering. From this, when such a pitch difference does not exist between the two notes of interest, the determination is YES, and in step 707 ev1. As icost, values extracted from the fingering cost table (FIG. 3) by the values of the variables bw, pm, f1, f2, and intv (“CT [bw] [pm] [f1] [f2] [intv in the figure] ]] Is substituted, and the series of processing is terminated. Otherwise, the determination is no and ev1. After a constant MAXCOST is substituted as icost, a series of processing is terminated.

上記定数MAXCOSTは、例えばコストとして想定する範囲内で最大値として定めたものである。図8中のステップ610では最大値としてこの定数MAXCOSTにme.icostを更新するようになっている。   The constant MAXCOST is determined as a maximum value within a range assumed as a cost, for example. In step 610 in FIG. 8, me. icost is updated.

上記運指コストテーブルは、ユーザーが設定した条件により、格納された運指コストが修正されている。その修正により、条件を設定したか否か、その設定内容によって変数CostTmpに最終的に代入される運指コストの累算値が変化する。このため、設定した条件、その内容によって、最終的に選択される運指系列を変化させることが可能となっている。   In the fingering cost table, the stored fingering cost is corrected according to the conditions set by the user. As a result of the correction, the accumulated value of the fingering cost that is finally assigned to the variable CostTmp changes depending on whether the condition is set or not. For this reason, it is possible to change the fingering sequence to be finally selected according to the set condition and the content thereof.

図10は、図8示す運指評価処理内でステップ605として実行される禁止事項検索処理のフローチャートである。次に図10を参照して、その検索処理について詳細に説明する。   FIG. 10 is a flowchart of the prohibited matter search process executed as step 605 in the fingering evaluation process shown in FIG. Next, the search process will be described in detail with reference to FIG.

例えば親指や小指はその長さ、手における位置などの理由により、鍵盤上の黒鍵の押鍵はそれ以外の指よりも困難である。同じ指を使った連続する押鍵は、離鍵から押鍵までの時間間隔、押鍵する鍵間の距離(音高(ピッチ)差)などに応じて難易度(コスト)が変化する。時間間隔が短く、且つ鍵間の距離が大きいような場合、その押鍵は不可能か、或いは極めて困難となる。他にも不可能、或いは極めて困難な運指は存在する。このようなことから、検索処理では、指定音に割り当てられた運指が不可能、或いは極めて困難と考えられる条件(禁止事項)毎に、それを満たしているか否か検索により確認するようになっている。   For example, the black key on the keyboard is more difficult to press than the other fingers because of the length and position of the thumb or little finger on the hand. The degree of difficulty (cost) of successive key presses using the same finger changes according to the time interval from key release to key press, the distance between keys to be pressed (pitch (pitch) difference), and the like. When the time interval is short and the distance between the keys is large, the key depression is impossible or extremely difficult. There are other fingerings that are impossible or extremely difficult. For this reason, in the search process, whether or not fingering assigned to the specified sound is impossible or extremely difficult is confirmed by searching whether or not the condition (prohibited matter) is satisfied. ing.

先ず、ステップ801では、親指や小指といった比較的に短い指で演奏者から見て離れた場所にある黒鍵を押鍵するような運指を禁止条件に該当しているとして検出するための黒鍵の指使い検出処理を実行する。次のステップ802では、和音を発音させる場合に、或る指で押鍵する鍵より高音の鍵をその指より低音側に位置する指で押鍵する、或いはその逆に押鍵するといったことを禁止事項として検出するための和音での指の逆転検出処理を実行する。その後はステップ803に移行する。   First, in step 801, a black for detecting that fingering such as pressing a black key at a location far away from the performer with a relatively short finger such as a thumb or a little finger falls under the prohibition condition. The key finger detection process is executed. In the next step 802, when a chord is generated, a key that is higher than a key pressed by a certain finger is pressed by a finger positioned on the lower side of the finger, or vice versa. Executes a finger reversal detection process with a chord for detection as a prohibited matter. Thereafter, the process proceeds to step 803.

ステップ803では、複数の鍵を押鍵する状況下で、同時に押鍵していることが不可能と考えられる指の割り当てを禁止条件として検出するための指の開き幅の限界検出処理を実行する。続くステップ804では、同時に押鍵していることが不可能な数の押鍵を禁止条件として検出するための多声条件検出処理を実行する。その実行後、一連の処理を終了する。   In step 803, under the circumstance where a plurality of keys are pressed, a finger opening width limit detection process is performed to detect a finger assignment that cannot be simultaneously pressed as a prohibition condition. . In the subsequent step 804, polyphonic condition detection processing is executed to detect the number of key presses that cannot be simultaneously pressed as prohibition conditions. After the execution, a series of processing is terminated.

上記ステップ801〜4の各検出処理では、禁止条件を満たしていることが確認された場合、me.iNPとして0以外の値を格納(更新)する。それにより、図8に示す運指評価処理では、ステップ606の判定がYESとなって、その指定音のコストは最大値に更新されることとなる。   In each of the detection processes in the above steps 801 to 4, when it is confirmed that the prohibition condition is satisfied, me. A value other than 0 is stored (updated) as iNP. Thereby, in the fingering evaluation process shown in FIG. 8, the determination in step 606 is YES, and the cost of the designated sound is updated to the maximum value.

図11は、図8に示す運指評価処理内でステップ607として実行されるコスト補正処理のフローチャートである。その運指評価処理内で実行される(呼び出される)サブルーチン処理では、最後に図11を参照してその補正処理について詳細に説明する。   FIG. 11 is a flowchart of the cost correction process executed as step 607 in the fingering evaluation process shown in FIG. In the subroutine process executed (called) in the fingering evaluation process, the correction process will be described in detail with reference to FIG.

先ず、ステップ901では、運指に従って指定音を発音させる際の状況を示す各種値を対応する変数に代入するための処理を実行する。その処理の実行により、指越えを行うべき状況であれば1、指くぐりを行うべき状況であれば2、が変数iPassFに代入される。次のステップ902では、変数meの値で指定される演奏データが示す楽音(指定音)の発音開始時刻に発音中の他の楽音、或いはその発音終了時刻前に発音を開始する他の楽音に着目してコストを補正するための多声音の補正処理を実行する。続くステップ903では、指定音の押鍵に必要な、指越え、或いは指くぐりという比較的に高度な演奏方法に着目してコストを補正するための指越え/指くぐりでの補正処理を実行する。その次のステップ904では、分散和音とそれに続く分散和音間の相互関係に着目してコストを補正するための分散和音での補正処理を実行する。その後はステップ905に移行する。   First, in step 901, processing for substituting various values indicating the situation when a specified sound is produced according to fingering into corresponding variables is executed. By executing this process, 1 is substituted into the variable iPassF if the situation is to perform finger crossing and 2 is the situation to perform finger penetration. In the next step 902, another musical sound that is sounding at the sounding start time of the musical sound (designated sound) indicated by the performance data specified by the value of the variable me, or another musical sound that starts sounding before the sounding end time is displayed. Pay attention to execute polyphonic sound correction processing to correct the cost. In the subsequent step 903, the correction process with the finger crossing / finger puffing for correcting the cost is performed by paying attention to a relatively advanced performance method such as finger crossing or finger pricking necessary for pressing the designated sound. . In the next step 904, a correction process using a distributed chord for correcting the cost is executed by paying attention to the mutual relationship between the distributed chord and the subsequent distributed chord. Thereafter, the process proceeds to step 905.

ステップ905では、単音が続く音符群とそれに続く和音間の相互関係に着目してコストを補正するための短音→和音遷移での補正処理を実行する。続くステップ906では、和音とそれに続く単音の音符群間の相互関係に着目してコストを補正するための和音→短音遷移での補正処理を実行する。その次のステップ907では、和音とそれに続く和音間の相互関係に着目してコストを補正するための和音→和音遷移での補正処理を実行する。その次に移行するステップ908では、和音とその直前に位置する和音間の相互関係に着目してコストを補正するための前方和音補正処理を実行する。一連の処理はその後に終了する。   In step 905, attention is paid to the interrelationship between a note group followed by a single note and the following chord, and a correction process in a short to chord transition for correcting the cost is executed. In the subsequent step 906, a correction process in the chord → short note transition for correcting the cost is executed by paying attention to the mutual relationship between the chord and the subsequent note group. In the next step 907, the correction process in the chord → chord transition for correcting the cost is executed by paying attention to the mutual relationship between the chord and the following chord. In the next step 908, the forward chord correction process for correcting the cost is executed by paying attention to the mutual relationship between the chord and the chord located immediately before it. The series of processing is finished thereafter.

このようにして、コスト補正処理では、互いに異なる内容毎に、その内容に着目してコストを必要に応じて補正するための処理を実行するようになっている。それにより、コスト補正処理を実行する前の指定音のコスト(me.icost)の値は、該当する内容の有無、その数に応じて補正される(以上のようなコストの算出についての参考技術文献としては、本出願人が出願した特願2004−261020号が挙げられる)。   In this way, in the cost correction process, for each different content, a process for correcting the cost as necessary is executed by paying attention to the content. As a result, the value of the cost (me.icost) of the designated sound before the cost correction processing is corrected according to the presence or absence of the corresponding content (reference technique for calculating the cost as described above) Examples of the literature include Japanese Patent Application No. 2004-261020 filed by the present applicant).

図12は、上記ステップ903として実行される指越え/指くぐりでの補正処理のフローチャートである。最後に図12を参照して、その補正処理について詳細に説明する。
上述したように本実施の形態では、条件として特殊な指使いの実行頻度についての設定を行えるようにしている(図15)。設定されたその実行頻度を示す値は、図4に示す全体処理内でステップ104としてユーザー指定条件読込処理を実行することにより、変数iBiasに代入される。
FIG. 12 is a flowchart of the correction process in the finger crossing / finger penetration process executed as step 903. Finally, the correction process will be described in detail with reference to FIG.
As described above, in the present embodiment, it is possible to set a special finger usage execution frequency as a condition (FIG. 15). The set value indicating the execution frequency is substituted into the variable iBias by executing the user-specified condition reading process as step 104 in the overall process shown in FIG.

先ず、ステップ1001では、変数iCTmpにme.icostの値を代入する。次のステップ1002では、変数iPassFの値が0でないか否か判定する。指定音を発音させるために指越え、或いは指くぐりを行うべき状況(運指)であった場合、その値として1、或いは2が代入されていることから、判定はYESとなってステップ1003に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。   First, in step 1001, me. Substitute the value of icost. In the next step 1002, it is determined whether or not the value of the variable iPassF is not zero. If it is a situation (fingering) that should be passed over or fingered in order to generate the specified sound, 1 or 2 is assigned as the value, so the determination is YES and step 1003 follows. Transition. Otherwise, the determination is no and the series of processing ends here.

ステップ1003では、変数STAve、iSameにそれぞれ0を代入する。また、変数lSTに、me.next.lTimeの値からme.lTimeの値を引いた値(指定音とその次に位置する音の間の発音開始間隔を示す値)を代入する。変数STAveは、指定音の前後に位置する極点(音高の高低傾向が変化する音符)間で連続する2音間の発音開始間隔の平均を求めるために用意した変数である。変数iSameは、その発音開始間隔のなかで、指定音とその次の音の発音開始間隔(変数lSTに代入された値で示される時間間隔。以降、他と区別するために「基準発音開始間隔」とも呼ぶ)と一致するものの数をカウントするために用意した変数である。   In step 1003, 0 is assigned to each of the variables STAve and iSame. In addition, me. next. From the value of lTime, me. A value obtained by subtracting the value of lTime (a value indicating a sound generation start interval between the designated sound and the sound positioned next to it) is substituted. The variable STAve is a variable prepared for obtaining the average of the sounding start intervals between two consecutive sounds between extreme points (notes whose pitch tendency changes) before and after the specified sound. The variable iSame is the sound generation start interval of the designated sound and the next sound (the time interval indicated by the value assigned to the variable 1ST. It is a variable prepared to count the number of matches.

ステップ1003に続くステップ1004〜1008では、前に位置する極点までの範囲を対象に、発音開始間隔の平均時間、及び一致する発音開始間隔の数を求めるための処理が行われる。   In steps 1004 to 1008 following step 1003, processing for obtaining the average time of the sounding start intervals and the number of coincident sounding start intervals is performed for the range up to the previous extreme point.

先ず、ステップ1004では、変数mePCに変数meの値を代入する。次のステップ1005では、変数tmpSTに、mePC.lTimeの値からmePC.prev.lTimeの値を引いた値(変数mePCの値で指定される演奏データが示す発音開始時刻とその前に位置する演奏データが示す発音開始時刻の間の時間間隔)を代入する。その代入後はステップ1006に移行する。   First, in step 1004, the value of the variable me is substituted for the variable mePC. In the next step 1005, mePC. From the value of lTime, mePC. prev. A value obtained by subtracting the value of lTime (a time interval between the sounding start time indicated by the performance data designated by the value of the variable mePC and the sounding start time indicated by the performance data positioned before the time data) is substituted. After the substitution, the process proceeds to step 1006.

ステップ1006では、ステップ1005で変数STAveの値をこれまでの平均時間を示すものに更新(この更新は、例えばそれまでの値にこれまでの発音開始間隔数を掛け、その乗算結果に変数tmpSTの値を加算し、その加算結果を今回の発音開始間隔数で割った値を新たに代入することで行うことができる)し、変数iSameは、変数tmpSTの値が基準発音開始間隔、つまり変数lSTの値と一致するものであればその値をインクリメントして更新する。そのような更新を行った後は、ステップ1007で変数mePCにmePC.prevの値を代入してからステップ1008に移行し、mePC.cTendencyの値が0か否か判定する。変数mePCの値で指定される演奏データが極点に相当する楽音を示すものであった場合、そのデータcTendencyの値は0となっていることから、判定はYESとなってステップ1009に移行する。そうでない場合には、判定はNOとなって上記ステップ1005に戻る。   In step 1006, the value of the variable STAve is updated to the value indicating the average time so far in step 1005 (this update is performed by, for example, multiplying the previous value by the number of sounding start intervals so far and multiplying the multiplication result by the variable tmpST). The variable iSame can be calculated by substituting the value obtained by dividing the addition result by the number of sounding start intervals of the current time), and the variable iSame has the value of the variable tmpST as the reference sounding start interval, that is, the variable 1ST. If it matches the value of, the value is incremented and updated. After such an update, in step 1007, mePC. After substituting the value of prev, the process proceeds to step 1008 and mePC. It is determined whether or not the value of cTendency is 0. If the performance data specified by the value of the variable mePC indicates a musical tone corresponding to the extreme point, the value of the data cTendency is 0, so the determination is YES and the process moves to step 1009. Otherwise, the determination is no and the process returns to step 1005.

ステップ1009〜ステップ1013では、ステップ1004〜1008とは逆に、後ろに位置する極点までの範囲を対象に発音開始間隔の平均時間、及び一致する発音開始間隔の数を求めるための処理が行われる。基本的な考え方は同じであるため、それらの詳細な説明は省略する。ステップ1013の判定がYESとなってステップ1014に移行した時点では、変数STAveには極点間における発音開始間隔の平均時間(を示す値)が代入され、変数iSameには、基準発音開始間隔と一致する発音開始間隔数が代入される。   In steps 1009 to 1013, contrary to steps 1004 to 1008, processing for obtaining the average time of the sounding start intervals and the number of matching sounding start intervals is performed for the range up to the pole located behind. . Since the basic idea is the same, detailed description thereof will be omitted. When the determination in step 1013 is YES and the process proceeds to step 1014, the average time of the sounding start interval between the extreme points is substituted for the variable STAve, and the variable iSame matches the reference sounding start interval. The number of sounding start intervals to be substituted is substituted.

ステップ1014では、変数iPassFの値が1か否か判定する。上述したように変数iPassFには、図9に示すコスト補正処理内でステップ901の処理を実行することにより、指越えを行うべき状況であれば1、指くぐりを行うべき状況であれば2、が代入される。このことから、指越えを行うべき状況であった場合、判定はYESとなり、ステップ1015で変数fにme.next.cfigの値、つまり指越えを行って押鍵すべき指の指番号を代入した後、ステップ1017に移行する。そうでない場合には、判定はNOとなり、ステップ1016で変数fにme.cfigの値、つまり親指を指くぐりさせる直前の押鍵に用いるべき指の指番号を代入した後、そのステップ1017に移行する。そのNOの判定は、ステップ1002で変数iPassFの値が0か否かの判定を行っていることから、その変数iPassFの値は2であることを意味する。   In step 1014, it is determined whether or not the value of the variable iPassF is 1. As described above, the variable iPassF includes 1 in the situation where the finger crossing is to be performed by executing the process of step 901 in the cost correction process shown in FIG. Is substituted. From this, if it is a situation where the finger crossing should be performed, the determination is YES, and in step 1015, the variable f. next. After the value of cfig, that is, the finger number of the finger to be pressed by performing finger crossing is substituted, the process proceeds to step 1017. If not, the determination is no, and me. After substituting the cfig value, that is, the finger number of the finger to be used for the key press immediately before the thumb is inserted, the process proceeds to step 1017. The determination of NO means that the value of the variable iPassF is 2 because it is determined in step 1002 whether or not the value of the variable iPassF is 0.

指越えでは上を越させる指、指くぐりでは下をくぐらせる指の種類によって難易度が異なる。このことから、ステップ1017では、変数coefに、変数fの値に応じた係数を代入し、続くステップ1018では、変数ccに、変数coefの値に定数IPASSPRIORITYに掛け、その乗算結果に変数iBiasの値を掛けて得られる値を代入する。その代入後はステップ1019に移行する。   Difficulty differs depending on the type of finger that passes above the finger when passing over the finger, and the type of finger that passes below when passing through the finger. Therefore, in step 1017, a coefficient corresponding to the value of the variable f is substituted into the variable coef, and in the subsequent step 1018, the value of the variable coef is multiplied by the constant IPASSPRIORITY in the variable cc, and the multiplication result is set to the variable iBias. Substitute the value obtained by multiplying the value. After the substitution, the process proceeds to step 1019.

上記定数IPASSPRIORITYは例えば、指越え、指くぐりを行う運指のコストに加算すべき補正値の最大値として定めたものである。その最大値と併せて、それに掛ける係数を指の種類毎に用意し、その乗算結果を加算すべきコストの補正値、つまり補正分としている。それにより、上を越させる指、或いは下をくぐらせる指の種類によって異なる難易度を運指コストに反映できるようにさせている。このことから本実施の形態では、その補正分をユーザーが設定した実行頻度に応じて変更することにより、その設定内容を運指コストに反映させている。そのように反映させることにより、上記変数CostTmpに最終的に代入される運指コストの累算値が運指系列によって変化する。このため、設定した条件、その内容によって、最終的に選択される運指系列を変化させることが可能となっている。   The constant IPASSPRIORITY is determined, for example, as the maximum value of the correction value to be added to the fingering cost for performing finger passing and finger penetration. Along with the maximum value, a coefficient to be multiplied is prepared for each kind of finger, and the multiplication result is used as a correction value of the cost to be added, that is, a correction amount. Thereby, different difficulty levels can be reflected in the fingering cost depending on the kind of finger that passes above or passes below. Therefore, in the present embodiment, the set content is reflected in the fingering cost by changing the correction amount according to the execution frequency set by the user. By reflecting in this way, the accumulated value of the fingering cost that is finally substituted into the variable CostTmp changes depending on the fingering sequence. For this reason, it is possible to change the fingering sequence to be finally selected according to the set condition and the content thereof.

ステップ1019では、変数iSameの値が4より大きく、且つ変数lSTの値が変数STAveの値未満という関係、或いは変数lSTの値が変数STAveの値以上という関係を満たすか否か判定する。極点間に基準発音開始間隔と一致する発音開始間隔が5つ以上、存在するが、基準発音開始間隔が平均時間より短い状況、及び基準発音開始間隔が平均時間以上の状況の何れかであった場合、前者、或いは後者が満たされることから、判定はYESとなり、ステップ1020で変数iCTmpの値と変数ccの値の加算結果をme.icostとして格納した後、一連の処理を終了する。そうでない場合には、判定はNOとなってステップ1021に移行し、定数IBSを変数ccに掛け、その乗算結果に変数iCTmpの値を加算した値をme.icostとして格納した後、一連の処理を終了する。   In step 1019, it is determined whether or not the relationship that the value of the variable iSame is greater than 4 and the value of the variable 1ST is less than the value of the variable STAve, or the relationship that the value of the variable 1ST is greater than or equal to the value of the variable STAve is satisfied. There are five or more pronunciation start intervals that coincide with the reference pronunciation start interval between the extreme points, but either the reference pronunciation start interval is shorter than the average time or the reference pronunciation start interval is more than the average time If the former or the latter is satisfied, the determination is YES, and in step 1020, the result of adding the value of the variable iCTmp and the value of the variable cc is me. After storing as icost, a series of processing ends. Otherwise, the determination is no and the process moves to step 1021, where the constant IBS is multiplied by the variable cc, and the value obtained by adding the value of the variable iCTmp to the multiplication result is me. After storing as icost, a series of processing ends.

上記定数IBSは、1以上の値である。そのような値の定数IBSを用意することにより、極点間で基準発音開始間隔が平均時間より短いと演奏者が感じる、或いは感じやすい箇所での指越え、或いは指くぐりは比較的に難易度が高いと見なし、補正分をより大きくしている。それにより、極点間の演奏の流れを運指コストに反映させている。   The constant IBS is a value of 1 or more. By preparing a constant IBS with such a value, the player feels that the reference pronunciation start interval between the extreme points is shorter than the average time, or the finger crossing or finger penetration at a point where it is easy to feel is relatively difficult. It is considered high and the correction is made larger. As a result, the performance flow between the extreme points is reflected in the fingering cost.

なお、本実施の形態では、各指の使用頻度の設定、及び手の幅の設定により運指コストテーブルを修正(更新)するようにしているが、それらの設定を反映させるべき状況(運指)を特定して、その状況で算出した運指コストを補正する形でそれらの設定を反映させるようにしても良い。それらとは別の方法で設定内容を反映させるようにしても良い。設定内容を反映させる条件の種類としては、2音間の音高差、特殊な指使い(演奏のための所定の指使い)を行うべき回数、などを採用しても良い。   In this embodiment, the fingering cost table is modified (updated) by setting the usage frequency of each finger and the setting of the width of the hand. ) May be specified, and the setting may be reflected in a form in which the fingering cost calculated in the situation is corrected. You may make it reflect setting content by the method different from them. As the types of conditions for reflecting the setting contents, a pitch difference between two sounds, the number of times a special finger use (predetermined finger use for performance) should be performed, and the like may be employed.

本実施の形態による運指情報生成装置の構成を説明する図である。It is a figure explaining the structure of the fingering information generation apparatus by this Embodiment. 演奏データの構成を説明する図である。It is a figure explaining the structure of performance data. 運指コストテーブルの構成を説明する図である。It is a figure explaining the structure of a fingering cost table. 全体処理のフローチャートである。It is a flowchart of the whole process. 各指の使用頻度によるコストテーブルの補正処理のフローチャートである。It is a flowchart of the correction process of the cost table by the usage frequency of each finger. 手の幅指定によるコストテーブルの補正処理のフローチャートである。It is a flowchart of the correction process of the cost table by designation | designated of the hand width. 運指生成処理のフローチャートである。It is a flowchart of a fingering production | generation process. 運指評価処理のフローチャートである。It is a flowchart of a fingering evaluation process. 2音間コスト算出処理のフローチャートである。It is a flowchart of a cost calculation process between two sounds. 禁止事項検索処理のフローチャートである。It is a flowchart of a prohibition matter search process. コスト補正処理のフローチャートである。It is a flowchart of a cost correction process. 指越え/指くぐりでの補正処理のフローチャートである。It is a flowchart of the correction process by finger crossing / finger penetration. 各指の使用頻度用の設定画面を説明する図である。It is a figure explaining the setting screen for the usage frequency of each finger. 手の幅用の設定画面を説明する図である。It is a figure explaining the setting screen for hand widths. 特殊な指使い用の設定画面を説明する図である。It is a figure explaining the setting screen for special finger use.

符号の説明Explanation of symbols

10 運指情報生成装置
11 CPU
12 RAM
13 ROM
14 入力部
15 表示部
10 fingering information generator 11 CPU
12 RAM
13 ROM
14 Input unit 15 Display unit

Claims (4)

楽器に設けられた演奏操作子群のなかで操作して楽曲を演奏していく際の指の運びである運指を示す運指情報を生成する装置であって、
前記楽曲の進行に応じて操作していくべき演奏操作子毎に、該演奏操作子、及び該演奏操作子を操作すべきタイミングを示す演奏データを取得するデータ取得手段と、
前記運指情報の生成に係わるユーザーの個人情報を入力するための情報入力手段と、
前記データ取得手段が取得した演奏データを参照して、前記情報入力手段により入力される個人情報を考慮した運指情報を該演奏データ毎に生成する運指情報生成手段と、
を具備することを特徴とする運指情報生成装置。
A device for generating fingering information indicating fingering when carrying out music by operating in a group of performance operators provided on a musical instrument,
Data acquisition means for acquiring performance data indicating the timing at which the performance operator and the performance operator should be operated for each performance operator to be operated according to the progress of the music;
Information input means for inputting personal information of the user related to generation of the fingering information;
Referring to performance data acquired by the data acquisition means, fingering information generation means for generating fingering information for each performance data in consideration of personal information input by the information input means;
A fingering information generation device comprising:
前記情報入力手段は、前記個人情報として、各指の使いやすさ、手の大きさ、及び演奏のための所定の指使いを行う頻度、のうちの少なくとも一つを入力できる、
ことを特徴とする請求項1記載の運指情報生成装置。
The information input means can input at least one of the ease of use of each finger, the size of the hand, and the frequency of performing a predetermined finger use for performance as the personal information.
The fingering information generation device according to claim 1.
前記運指情報生成手段は、前記個人情報として、前記各指の使いやすさ、及び前記手の大きさのうちの何れかが入力された場合、運指を行ううえでの難易度を求めるために用意したテーブルの内容を更新することにより、該個人情報を考慮した運指情報の生成を行う、
ことを特徴とする請求項2記載の運指情報生成装置。
The fingering information generation means obtains the degree of difficulty in performing fingering when any of the ease of use of each finger and the size of the hand is input as the personal information. By generating the fingering information in consideration of the personal information by updating the contents of the table prepared in
The fingering information generating device according to claim 2, wherein
楽器に設けられた演奏操作子群のなかで操作して楽曲を演奏していく際の指の運びである運指を示す運指情報を生成する運指情報生成装置を実現可能なデータ処理装置に実行させるプログラムであって、
前記楽曲の進行に応じて操作していくべき演奏操作子毎に、該演奏操作子、及び該演奏操作子を操作すべきタイミングを示す演奏データを取得する機能と、
前記運指情報の生成に係わるユーザーの個人情報を入力するための機能と、
前記取得する機能により取得した演奏データを参照して、前記入力するための機能により入力される個人情報を考慮した運指情報を該演奏データ毎に生成する機能と、
を実現させるためのプログラム。
A data processing device capable of realizing a fingering information generating device that generates fingering information indicating fingering when a musical piece is operated and operated in a group of performance operators provided on a musical instrument A program to be executed,
For each performance operator to be operated according to the progress of the music, a function for obtaining performance data indicating the performance operator and the timing for operating the performance operator;
A function for inputting personal information of a user related to generation of the fingering information;
A function of referring to performance data acquired by the function to be acquired and generating fingering information for each performance data in consideration of personal information input by the function for input;
A program to realize
JP2005376695A 2005-12-27 2005-12-27 Fingering information generating device and program Pending JP2007178696A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005376695A JP2007178696A (en) 2005-12-27 2005-12-27 Fingering information generating device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005376695A JP2007178696A (en) 2005-12-27 2005-12-27 Fingering information generating device and program

Publications (2)

Publication Number Publication Date
JP2007178696A true JP2007178696A (en) 2007-07-12
JP2007178696A5 JP2007178696A5 (en) 2008-07-10

Family

ID=38303949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005376695A Pending JP2007178696A (en) 2005-12-27 2005-12-27 Fingering information generating device and program

Country Status (1)

Country Link
JP (1) JP2007178696A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010276891A (en) * 2009-05-29 2010-12-09 Casio Computer Co Ltd Music piece difficulty level evaluation device and music piece difficulty level evaluation program
JP2010281881A (en) * 2009-06-02 2010-12-16 Casio Computer Co Ltd Music difficulty level calculating apparatus and music difficulty level calculating method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261750A (en) * 1994-03-23 1995-10-13 Yamaha Corp Fingering information analysis device and electronic musical instrument using the device
JP2000181340A (en) * 1998-12-11 2000-06-30 Takaharu Miyazaki Touch type exercise recording medium
JP2001331173A (en) * 2000-03-14 2001-11-30 Casio Comput Co Ltd Device and method for generating fingering information and storage medium which stores fingering information generating program
JP2005227421A (en) * 2004-02-12 2005-08-25 Yamaha Corp Fingering information analyzing system and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261750A (en) * 1994-03-23 1995-10-13 Yamaha Corp Fingering information analysis device and electronic musical instrument using the device
JP2000181340A (en) * 1998-12-11 2000-06-30 Takaharu Miyazaki Touch type exercise recording medium
JP2001331173A (en) * 2000-03-14 2001-11-30 Casio Comput Co Ltd Device and method for generating fingering information and storage medium which stores fingering information generating program
JP2005227421A (en) * 2004-02-12 2005-08-25 Yamaha Corp Fingering information analyzing system and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010276891A (en) * 2009-05-29 2010-12-09 Casio Computer Co Ltd Music piece difficulty level evaluation device and music piece difficulty level evaluation program
JP2010281881A (en) * 2009-06-02 2010-12-16 Casio Computer Co Ltd Music difficulty level calculating apparatus and music difficulty level calculating method

Similar Documents

Publication Publication Date Title
US9117432B2 (en) Apparatus and method for detecting chord
JP5147389B2 (en) Music presenting apparatus, music presenting program, music presenting system, music presenting method
US7323631B2 (en) Instrument performance learning apparatus using pitch and amplitude graph display
US20170092248A1 (en) Automatic composer
US20140278433A1 (en) Voice synthesis device, voice synthesis method, and recording medium having a voice synthesis program stored thereon
JP6151121B2 (en) Chord progression estimation detection apparatus and chord progression estimation detection program
JP5196550B2 (en) Code detection apparatus and code detection program
JP2010025972A (en) Code name-detecting device and code name-detecting program
JP2012083563A (en) Voice synthesizer and program
JP4613817B2 (en) Fingering display device and program
JP4932614B2 (en) Code name detection device and code name detection program
JP2007178696A (en) Fingering information generating device and program
JP4525591B2 (en) Performance evaluation apparatus and program
JP5005445B2 (en) Code name detection device and code name detection program
JP5589741B2 (en) Music editing apparatus and program
JP2012098480A (en) Chord detection device and program
JP4479735B2 (en) Performance apparatus and program
JP5803705B2 (en) Electronic musical instruments
JP2007240552A (en) Musical instrument sound recognition method, musical instrument annotation method and music piece searching method
JP6149917B2 (en) Speech synthesis apparatus and speech synthesis method
JP5630218B2 (en) Musical sound generation device and musical sound generation program
JP2014089475A (en) Voice synthesizer and program
JP4305315B2 (en) Automatic performance data characteristic changing device and program thereof
JP5810691B2 (en) Musical score information generating apparatus and musical score information generating program
JP5742303B2 (en) Musical sound generation control device and musical sound generation control program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100330