JP4613817B2 - Fingering display device and program - Google Patents

Fingering display device and program Download PDF

Info

Publication number
JP4613817B2
JP4613817B2 JP2005376694A JP2005376694A JP4613817B2 JP 4613817 B2 JP4613817 B2 JP 4613817B2 JP 2005376694 A JP2005376694 A JP 2005376694A JP 2005376694 A JP2005376694 A JP 2005376694A JP 4613817 B2 JP4613817 B2 JP 4613817B2
Authority
JP
Japan
Prior art keywords
fingering
finger
value
data
performance
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.)
Active
Application number
JP2005376694A
Other languages
Japanese (ja)
Other versions
JP2007178695A (en
JP2007178695A5 (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 JP2005376694A priority Critical patent/JP4613817B2/en
Publication of JP2007178695A publication Critical patent/JP2007178695A/en
Publication of JP2007178695A5 publication Critical patent/JP2007178695A5/ja
Application granted granted Critical
Publication of JP4613817B2 publication Critical patent/JP4613817B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、楽器に設けられた演奏操作子群のなかで操作していくべき演奏操作子の操作に用いるべき指を示す指情報を表示させることにより、楽曲の演奏のための指の運びである運指を教示するための技術に関する。   The present invention provides finger information for playing a musical piece by displaying finger information indicating a finger to be used for operation of a performance operator to be operated in a group of performance operators provided on a musical instrument. The present invention relates to a technique for teaching a fingering.

楽器による楽曲の演奏は、楽器に設けられた演奏操作子群、例えば鍵盤を操作していくことで行われる。しかし、演奏技術の未熟な演奏者(ユーザー)の多くは、演奏の進行に応じて操作(押鍵)していくべき鍵をどの指で操作すべきかが判らないのが実情である。このことから、鍵の押鍵に用いるべき指を示す指情報を表示できる運指表示装置が製品化されている。従来の運指表示装置としては、例えば特許文献1に記載されたものがある。   A musical piece is played by a musical instrument by operating a group of performance operators provided on the musical instrument, for example, a keyboard. However, in reality, many performers (users) who are unskilled in performance technology cannot know with which finger the key to be operated (key depression) should be operated as the performance progresses. For this reason, fingering display devices capable of displaying finger information indicating a finger to be used for key pressing have been commercialized. As a conventional fingering display device, for example, there is one described in Patent Document 1.

特許文献1に記載された運指表示装置を含め、従来の運指表示装置では、鍵(楽音)毎に指情報を表示して、その鍵の押鍵に用いるべき指をユーザーに通知するようになっていた。その指情報の表示は、例えば特許文献2に記載された技術を用いて行うこともできる。しかし、そのように鍵毎に指情報を表示する場合、ユーザーの演奏技術、或いは演奏する楽曲の内容などによっては、指情報の確認に要するユーザーの負担が大きくなりすぎると考えられる。その確認が負担なユーザーにとっては、指情報の確認のために、演奏への集中が阻害されるという面が無視できなくなると言える。このようなことから、ユーザーにとって重要性が高いと思われる指情報(運指データ)を選択的に表示させることも重要と考えられる。
特開2001−282094号公報 特開2002−318579号公報
In the conventional fingering display device including the fingering display device described in Patent Document 1, finger information is displayed for each key (musical tone), and the user is notified of the finger to be used for pressing the key. It was. The display of the finger information can also be performed using a technique described in Patent Document 2, for example. However, when the finger information is displayed for each key in this way, it is considered that the burden on the user required to confirm the finger information becomes too large depending on the performance technique of the user or the content of the music to be played. It can be said that a user who is burdened with confirmation cannot ignore the aspect that concentration on performance is hindered due to confirmation of finger information. For this reason, it is also considered important to selectively display finger information (fingering data) that seems to be highly important to the user.
JP 2001-282094 A JP 2002-318579 A

本発明の課題は、ユーザーにとって重要性が高い(有益)と思われる指情報(運指データ)を選択的に表示させるための技術を提供することにある。   An object of the present invention is to provide a technique for selectively displaying finger information (fingering data) that is considered to be highly important (beneficial) for a user.

本発明の運指表示装置は、楽器に設けられた演奏操作子群のなかで操作していくべき演奏操作子の操作に用いるべき指を示す指情報を表示させることにより、楽曲の演奏のための指の運びである運指を教示できる運指表示装置において、The fingering display device of the present invention displays a finger information indicating a finger to be used for operation of a performance operator to be operated in a group of performance operators provided in the musical instrument, thereby playing a musical piece. In a fingering display device that can teach fingering that is carrying a finger,
前記楽曲の進行に応じて順次操作していくべき演奏操作子、及び該演奏操作子の操作に用いるべき指を示す運指データを取得するデータ取得手段と、A data acquisition means for acquiring a performance operator to be operated sequentially according to the progress of the music, and fingering data indicating a finger to be used for the operation of the performance operator;
前記データ取得手段が取得した運指データの運指評価を行い難易度を算出する難易度算出手段と、A difficulty level calculation means for calculating a difficulty level by performing a fingering evaluation of the fingering data acquired by the data acquisition means;
該難易度算出手段により算出された難易度が、ユーザが設定した所定内である運指データを抽出して該運指データによる指情報を表示させる表示制御手段と、Display control means for extracting fingering data whose difficulty level calculated by the difficulty level calculating means is within a predetermined range set by the user and displaying finger information based on the fingering data;
を具備することを特徴とする。It is characterized by comprising.

本発明のプログラムは、楽器に設けられた演奏操作子群のなかで操作していくべき演奏操作子の操作に用いるべき指を示す指情報を表示させることにより、楽曲の演奏のための指の運びである運指を教示できる運指表示装置を実現可能なデータ処理装置に実行させることを前提とし、上記運指表示装置が具備する手段を実現させるための機能を搭載している。   The program according to the present invention displays finger information indicating a finger to be used for operation of a performance operator to be operated in a group of performance operators provided on the musical instrument, thereby allowing the finger for playing the music to be played. On the premise that a data processing device capable of realizing a fingering display device capable of teaching fingering that is carrying is executed, a function for realizing means included in the fingering display device is installed.

本発明は、楽曲の進行に応じて操作していくべき演奏操作子毎に、その演奏操作子、及びその演奏操作子の操作に用いるべき指を示す運指データを取得し、取得した運指データのなかから予め設定された条件を満たす運指データを抽出して、その運指データが操作に用いるべきとする指を示す指情報を選択的に表示させる。   The present invention obtains fingering data indicating a performance operator and a finger to be used for operation of the performance operator for each performance operator to be operated according to the progress of the music, and acquires the obtained fingering Fingering data satisfying a preset condition is extracted from the data, and finger information indicating the finger that the fingering data should be used for operation is selectively displayed.

上記条件によって運指データを選択・抽出することにより、ユーザーにとって、或いは演奏上、重要性の高い運指、困難と思われる運指をユーザーは確認できるようになる。指情報は選択的に表示されるために、その確認に要する負担は全ての指情報を表示させる場合と比較して軽減され、負担の軽減によって、表示された指情報に従った運指はより容易となる。指情報が表示されない演奏期間であっても、直前に表示された指情報によって適切な手指の状態から演奏を行えるために、適切な運指を行える可能性は高くなる。これらのことから、指情報を選択的に表示させたとしても、ユーザーは適切な運指による演奏を高い確率で行えることとなる。   By selecting / extracting the fingering data according to the above conditions, the user can confirm the fingering that is highly important or difficult for the user or performance. Since finger information is selectively displayed, the burden required for confirmation is reduced compared to the case where all finger information is displayed. By reducing the burden, fingering according to the displayed finger information is more effective. It becomes easy. Even during a performance period in which finger information is not displayed, since the performance can be performed from an appropriate finger state with the finger information displayed immediately before, the possibility of appropriate fingering is increased. For these reasons, even if the finger information is selectively displayed, the user can perform with appropriate fingering with high probability.

以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図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 the configuration of the fingering display device according to the present embodiment.
As shown in FIG. 1, the fingering display device 10 includes a CPU 11 that controls the entire device 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 drive device that accesses a recording medium such as a CD-ROM or DVD, an input unit 14 including the interface, and an image on the display device And a display unit 15 for displaying.

その運指表示装置10は、例えばパーソナルコンピューター(PC)に、運指表示装置10として動作させるためのアプリケーション・プログラム(以下「運指表示アプリケーション」)を搭載させることにより実現させている。そのアプリケーションは、例えば入力部14を構成する媒体駆動装置がアクセス可能な記録媒体に記録して提供されるものである。そのアプリケーションは、インターネット等のネットワークを介して配信するようにしても良い。アプリケーションを搭載(インストール)できるように、ROM13としては書き込み可能なメモリ(例えばフラッシュメモリ)が採用されている。運指表示装置10を実現させるPCは、ROM13の他に、或いはその代わりにハードディスク装置等の補助記憶装置を搭載したものであっても良い。表示部15が画像を表示させる表示装置は、外付けのもの、搭載されたものの何れであっても良い。ここでは便宜的に、表示装置は搭載されたもの、つまり表示部15を構成しているものと想定する。   The fingering display device 10 is realized, for example, by mounting an application program (hereinafter, “fingering display application”) for operating the fingering display 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 for realizing the fingering display device 10 may be one in which an auxiliary storage device such as a hard disk device is mounted 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.

本実施の形態では、楽曲の演奏で発音させるべき楽音毎に、その楽音を発音させるべきタイミング、及びその楽音の音高を示す演奏データを取得し、その演奏データから楽譜(図14〜図17)を表示部15に表示させるようにしている。その楽音を発音させるために用いるべき指を示す運指データは、必要に応じて演奏データから生成し、その演奏データに追加するようにしている。それにより、最終的に図2に示すような演奏データを取得して、運指データを表示可能とさせている。図14〜図17において、楽譜の近傍に表記した「1」〜「5」の数字は、運指データが示す指に割り当てた指番号(指情報)である。その指番号を対応する音符の近傍に配置して表示することにより、楽曲の進行により発音させるべき楽音と併せて運指をユーザーに教示するようにしている。図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 is to be generated and the pitch of the musical sound are acquired, and a musical score (FIGS. 14 to 17 is obtained from the performance data. ) Is displayed on the display unit 15. Fingering data indicating a finger to be used for generating the musical sound is generated from the performance data as necessary and added to the performance data. Thereby, the performance data as shown in FIG. 2 is finally obtained, and the fingering data can be displayed. 14 to 17, numbers “1” to “5” written in the vicinity of the score are finger numbers (finger information) assigned to the fingers indicated by the fingering data. By arranging and displaying the finger numbers in the vicinity of the corresponding notes, the fingering is taught to the user together with the musical sound to be generated as the music progresses. 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、DrawPos、cfig、cDisp、iHand、icost、icostN、cIsHarm、iArpS、iArpE、pHTop、pHTail、cTendency、cTendSteps、cIsSO、pPFTop、pPHTail、pNHTop、pNHTail、iNP、prev、及びnextを有している。各データは以下のようなものである。   The performance data is shown in FIG. , PPFTop, pPHTail, pNHTop, pNHTail, iNP, prev, and next. Each data is as follows.

データlTimeは、発音開始時刻を示すものである。その発音開始時刻は例えば演奏開始からのものをMIDIで扱う単位時間(ステップ)数で表されている。データlGateは発音時間を示すものである。データlTmsecはデータlTimeが示す発音開始時刻を絶対時間(単位はmsec)で示すものである。データPitchは楽音のピッチを示すもの(ピッチ番号、或いはノート番号と呼ぶ)である。データiPosXはそのピッチが割り当てられた鍵の鍵盤上の座標(X座標)を示すものである。データDrawPosは、その鍵の押鍵に用いるべき指の指番号を表示部15に表示させる際の座標を示すデータである。データcfigは、その鍵の押鍵に割り当てられた指を示す指番号である。値の0は親指を示し、同様にして、1は人差し指、2は中指、3は薬指、4は小指をそれぞれ示している。データcDispは、指番号の表示・非表示を示すフラグである。値の0は非表示、1は表示を示している。データiHandは鍵を押鍵して発音される楽音が属するパートを示すものである。そのパートは押鍵に使う指がある手で区別されるものであり、その手が右手のパートでは1、左手では2がデータiHandとして格納される。データicostは、割り当てられた指で鍵を押鍵する難易度の評価値(難易度データ)である。データicostNは、難易度を正規化した評価値である。データ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 DrawPos is data indicating coordinates when a finger number to be used for pressing the key is displayed on the display unit 15. 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. Data cDisp is a flag indicating whether or not a finger number is displayed. A value of 0 indicates no display and 1 indicates display. 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 icostN is an evaluation value obtained by normalizing the difficulty level. 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 performance data, actual performance data, or fingering data configured as shown in FIG. 2 is, for example, operated by a recording medium accessible by the medium driving device constituting the input unit 14 or via a communication network (not shown). Input to the display device 10. Here, it is assumed that the input is made by a recording medium.

本実施の形態では、上記演奏データが実演奏データ分のみで構成されている場合に対応するために、運指データを生成する機能を搭載させている。それにより、実演奏データ分のみで構成されている演奏データを入力したとしても、演奏データ毎に運指データを生成してそれを表示できるようにしている。   In the present embodiment, a function for generating fingering data is provided in order to cope with the case where the performance data is composed only of the actual performance data. Thus, even if performance data composed only of actual performance data is input, fingering data is generated for each performance data and can be displayed.

図14〜図17に示す楽譜は、演奏(実演奏)データ毎に、それが表す音符の種類、それを配置すべき位置を決定し、五線譜上に配置して表示させるものである。音符の種類はデータlGateから特定でき、Y座標はデータPitchから特定でき、X座標はデータlTimeから特定できる。休符は、音符(楽音)の発音終了時刻(データlTime、lGateによって示される)から次の音符の発音開始時刻(データlTime)の時間間隔(無音期間)の長さから特定することができる。   The musical scores shown in FIG. 14 to FIG. 17 determine the type of note represented by the performance (actual performance) data, the position where the musical score should be arranged, and arrange and display it on the staff. The note type can be specified from the data lGate, the Y coordinate can be specified from the data Pitch, and the X coordinate can be specified from the data lTime. The rest can be specified from the length of the time interval (silence period) from the sound generation end time (indicated by data lTime, lGate) to the sound generation start time (data lTime) of the next note.

上述したように、図14〜図17に示す楽譜の近傍に表記した「1」〜「5」の数字は、運指データが示す指に割り当てた指番号(指情報)である。上記データcDispは、その指番号を表示させるか否か管理するために用意したデータであり、その値として1が格納された演奏データのみを対象に、それを構成するデータcfigを表示させるようにしている。図14〜図17にそれぞれ示した運指表示例は、楽譜上、休符の直後に位置する音符の発音に用いるべき指の指番号を表示させた場合、指越え・指くぐりなどの特殊な指使いをして音符を発音させるべき指の指番号を表示させた場合、音符を発音させる難易度によりその発音に用いるべき指の指番号を表示させた場合、及び正規化した難易度により音符の発音に用いるべき指の指番号を表示させた場合のものである。   As described above, the numbers “1” to “5” written in the vicinity of the score shown in FIGS. 14 to 17 are finger numbers (finger information) assigned to the fingers indicated by the fingering data. The data cDisp is data prepared for managing whether or not to display the finger number, and only the performance data having 1 stored as the value is displayed as the data cfig constituting it. ing. In the fingering display examples shown in FIGS. 14 to 17, when the finger number to be used for the pronunciation of a note located immediately after a rest is displayed on the score, special finger-passing / finger penetration, etc. are displayed. When the finger number of the finger that should be used to generate a note is displayed by using a finger, the finger number of the finger that should be used for the pronunciation is displayed according to the difficulty level of sounding the note, and the note is displayed according to the normalized difficulty level. This is a case where the finger number of a finger to be used for pronunciation of the character is displayed.

このようにして本実施の形態では、休符の直後に位置する音符、特殊な指使いをして発音させるべき音符、或いは発音させる難易度が予め設定された範囲内の音符の少なくとも一方に相当する音符の発音に用いるべき指の指番号を選択的に表示させるようにしている。それにより、指番号の確認をより容易に行えるようにして、その確認のために要する負担を軽減させ、演奏により集中できるようにさせている。   In this way, in the present embodiment, it corresponds to at least one of a note positioned immediately after a rest, a note to be generated by using a special finger, or a note having a difficulty level to be generated in a preset range. The finger number to be used for the pronunciation of the note to be played is selectively displayed. As a result, the finger number can be confirmed more easily, the burden required for the confirmation is reduced, and the user can concentrate on the performance.

表示させる指番号の選択に休符、特殊な指使い、及び難易度を考慮したのは以下の理由からである。
休符は、演奏操作の切れ目に相当する。その休符箇所では、手を移動させる、或いは各指を余裕のある状態に戻す、といった演奏を続けるうえで動作のポイントとなる場合が多い。休符の直後の押鍵に用いるべき指を知らせると、ユーザーはその指でその押鍵を行えるように手、或いは指を動かすようになる。そのような動作を行うことにより、手、或いは指は演奏を行ううえでより理想的な状態に近づく結果となる。このようなことから、休符後の押鍵に用いるべき指を教示することはユーザーにとって非常に有益と考えられる。このため、休符に着目している。
The reason for considering rest, special finger usage, and difficulty in selecting the finger numbers to be displayed is as follows.
Rests correspond to breaks in performance operations. In the rest portion, it is often an operation point for continuing the performance such as moving the hand or returning each finger to a state with a margin. When the finger to be used for the key press immediately after the rest is notified, the user moves the hand or the finger so that the key can be pressed with the finger. By performing such an operation, the hand or finger becomes closer to an ideal state for performance. For this reason, it is considered very useful for the user to teach a finger to be used for pressing a key after a rest. For this reason, we focus on rests.

特殊な指使いは、難易度が高いだけでなく、それを行ううえでの制約もある。それにより、休符と同様に、演奏を続けるうえで動作のポイントとなる場合が多い。このことから、特殊な指使いによる押鍵に用いるべき指を教示することはユーザーにとって非常に有益と考えられる。このため、特殊な指使いに着目している。   Special fingering is not only difficult, but also has limitations in doing it. As a result, in the same way as rests, it is often the point of action for continuing performance. From this, it is considered very useful for the user to teach a finger to be used for key pressing by special finger use. For this reason, we focus on special fingering.

一般的に、難易度(データicost)が高い押鍵ほど、その押鍵を適切に行うのは困難となる。このことから、困難と思われる押鍵、及びその押鍵に用いるべき指といったものをユーザーが確認できるようにさせている。ユーザーによって困難、或いは押鍵に用いるべき指を確認したいと感じる難易度は異なることから、指番号を表示させる難易度の範囲はユーザーが任意に指定できるようにさせている(図16)。   In general, the higher the difficulty level (data icost) is, the more difficult it is to perform the key pressing appropriately. Therefore, the user can confirm the key press that seems to be difficult and the finger to be used for the key press. Since the difficulty level or the difficulty level in which the user feels to confirm the finger to be used for key pressing differs depending on the user, the range of the difficulty level for displaying the finger number can be arbitrarily designated by the user (FIG. 16).

演奏する楽曲によって平均的な難易度が異なる。ユーザーにとって高いと思われる難易度であっても、楽曲全体では低いほうに位置していることもある。このことから本実施の形態では、正規化した難易度により指番号を表示できるようにしている。それにより、演奏する楽曲での相対的な評価による難易度(データicostN)で指番号を表示させることができるようにさせている。   The average level of difficulty varies depending on the music being played. Even if the level of difficulty seems to be high for the user, the entire song may be located at a lower level. Therefore, in the present embodiment, the finger number can be displayed with the normalized difficulty level. Thereby, the finger number can be displayed by the degree of difficulty (data icostN) based on relative evaluation of the music to be played.

上述したようにして選択・表示される指番号は、演奏を行ううえで非常に重要なポイントとなる押鍵、或いはユーザーにとって確認を望む押鍵を適切に行えるように支援する情報となる。このため、そのような指番号のみを選択して表示させたとしても、ユーザーは表示された指番号が示す指で押鍵すべき鍵を適切に押鍵することにより、楽曲全体の演奏も高い確率で適切な運指を行えるようになる。従って、表示させない指番号が存在することの影響は実質的にないか、或いは非常に小さくなる。   The finger number selected / displayed as described above is information that assists in appropriately pressing a key that is a very important point in performing a performance or a key that the user wants to confirm. For this reason, even if only such a finger number is selected and displayed, the user can press the key to be pressed properly with the finger indicated by the displayed finger number, so that the performance of the entire music is high. Proper fingering will be possible with probability. Therefore, there is substantially no influence from the presence of finger numbers that are not displayed, or it becomes very small.

上記運指(最小運指)データは、運指がより容易となるように生成される。そのために、運指(押鍵すべき鍵の押鍵に使う指をその鍵に運ぶ動作)の難易度を計算している。本実施の形態では、そのこともあって、難易度を考慮した指番号の選択を可能とさせている。最終的に求められた難易度を示す値は上記データicostとして格納され、正規化された難易度を示す値は上記データicostNとして格納される。それらの値は以降、コスト値とも呼ぶことにする。   The fingering (minimum fingering) data is generated so that fingering is easier. For this purpose, the difficulty level of fingering (operation to carry a finger used to press a key to be pressed to the key) is calculated. In the present embodiment, it is possible to select a finger number in consideration of the difficulty level. A value indicating the difficulty level finally obtained is stored as the data icost, and a value indicating the normalized difficulty level is stored as the data icostN. These values are hereinafter also referred to as cost values.

以降は図3〜図13に示す各種フローチャートを参照して、上述したように指番号を表示させる対象とする演奏データを選択して指番号を図14〜図17に示すように表示させる運指表示装置10の動作について詳細に説明する。その動作は、CPU13が、上記運指表示アプリケーションをROM13からRAM12に読み出して実行することで実現される。   Thereafter, referring to the various flowcharts shown in FIGS. 3 to 13, as described above, the performance data for which the finger number is to be displayed is selected, and the fingering is displayed so that the finger number is displayed as shown in FIGS. The operation of the display device 10 will be described in detail. The operation is realized by the CPU 13 reading the fingering display application from the ROM 13 to the RAM 12 and executing it.

図3は、全体処理のフローチャートである。これは、上記運指表示アプリケーションを起動させてから終了させるまでの間に実行される処理を抜粋してその流れを示したものである。始めに図3を参照して、その全体処理について詳細に説明する。   FIG. 3 is a flowchart of the entire process. This shows a flow of excerpts of processes executed between starting and ending the fingering display application. 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では、図6に示すコスト値算出用の運指コストテーブルをRAM12に展開し、準備する。続くステップ104では、演奏データに格納された運指データを評価する運指評価処理を実行する。その評価処理の実行により、演奏データが実演奏データ分のみで構成されている場合には、運指データが生成される。それにより、実行後の演奏データは図2に示すような構成のものとなる。   In step 103, the fingering cost table for calculating the cost value shown in FIG. 6 is developed in the RAM 12 and prepared. In subsequent step 104, a fingering evaluation process for evaluating the fingering data stored in the performance data is executed. By performing the evaluation process, fingering data is generated when the performance data is composed only of the actual performance data. Thereby, the performance data after execution has a structure as shown in FIG.

ステップ104に続くステップ105では、演奏データを対象に、指番号の表示・非表示を設定する表示・非表示設定処理を実行する。次のステップ106では、その設定結果に従って、楽譜、及び指番号を表示させる描画処理を実行する。その描画処理の実行により、図14〜図17に示すように指番号を楽譜と共に表示部15に表示させた後、一連の処理を終了する。   In step 105 following step 104, display / non-display setting processing for setting display / non-display of finger numbers is performed on performance data. In the next step 106, a drawing process for displaying a score and a finger number is executed according to the setting result. By executing the drawing process, the finger number is displayed on the display unit 15 together with the score as shown in FIGS. 14 to 17, and the series of processes is terminated.

以降は、上記全体処理内で実行されるサブルーチン処理について詳細に説明する。
図4は、上記ステップ104として実行される運指評価処理のフローチャートである。次に図4を参照して、その評価処理について詳細に説明する。
Hereinafter, a subroutine process executed in the overall process will be described in detail.
FIG. 4 is a flowchart of the fingering evaluation process executed as step 104 described above. Next, the evaluation process will be described in detail with reference to FIG.

先ず、ステップ201では、運指評価に用いる各種変数の初期化等を行う。続くステップ202では、運指データを演奏データ中に有する楽曲データを取得するためのデータ取得処理を実行する。入力部14を介して入力した楽曲データを構成する演奏データに運指データが含まれていない場合、その運指データを演奏データ毎に生成する処理を行う。その生成は周知の技術を用いて行う。   First, in step 201, various variables used for fingering evaluation are initialized. In the following step 202, a data acquisition process for acquiring music data having fingering data in the performance data is executed. When the performance data constituting the music data input via the input unit 14 does not include fingering data, a process for generating the fingering data for each performance data is performed. The generation is performed using a well-known technique.

ステップ202に続くステップ203では、変数meに、楽曲データ中で先頭に位置する演奏データを指定するインデクス値(ポインタ)を代入する。次のステップ204では、運指評価が終了したか否か判定する。その評価は、変数meの値で指定される演奏データを先頭のものから最後のものまで順次、変更しながら行われる。このため、変数meの値で指定される演奏データが存在しない場合、判定はYESとなり、ここで一連の処理を終了する。そうでない場合には、判定はNOとなってステップ205に移行する。   In step 203 following step 202, 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 204, 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 205.

ステップ205では、変数meの値で指定される演奏データが示す楽音(指定音)とその次に発音すべき楽音間のコストを算出する2音間コスト算出処理を実行する。次に移行するステップ206では、現在、注目している運指(指定音を発音させるための運指)が禁止条件とする事項の何れかに該当しているか否か確認するための禁止事項検索処理を実行する。その後はステップ207に移行する。   In step 205, a cost calculation process between two sounds 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 206, a prohibited matter search for confirming 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 207.

ステップ207では、変数meの値で指定される演奏データ中のデータiNP(図中「me.iNP」と表記。以降、他のデータも同様にこの表記法を用いる)の値が0でないか否か判定する。上記禁止事項検索処理では、該当する事項(禁止条件)に該当していることが判明した場合、その値として0以外の値を格納する。このことから、その場合、判定はYESとなり、ステップ212でme.icostとして、想定範囲内におけるコストの最大値を格納した後、ステップ209に移行する。そうでない場合には、判定はNOとなってステップ208に移行し、運指に従って指定音を発音させるためのコストをより適切なものに更新するためのコスト補正処理を実行する。ステップ209にはその後に移行する。   In step 207, whether or not the value of the data iNP in the performance data designated by the value of the variable me (denoted as “me.iNP” in the figure. This notation is also used for other data in the following) is not zero. To determine. 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 me. After storing the maximum cost value within the assumed range as icost, the process proceeds to step 209. If not, the determination is no, the process proceeds to step 208, 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 209 then proceeds.

ステップ209では、me.icostの値、つまり指定音のコストの値が、閾値として定めた定数THRCOST(<コストの最大値)より大きいか否か判定する。その値が定数THRCOSTより大きい場合、判定はYESとなり、運指を修正するための運指修正処理を実行し(ステップ210)、その実行後に変数meにme.nextの値(次の演奏データを指定するインデクス値)を代入してから(ステップ211)、上記ステップ204に戻る。一方、そうでない場合には、判定はYESとなり、次にそのステップ211に移行する。   In step 209, me. It is determined whether the value of icost, that is, the value of the cost of the designated sound is greater than a constant THRCOST (<maximum value of cost) defined as a threshold value. If the value is larger than the constant THRCOST, the determination is YES and a fingering correction process for correcting the fingering is executed (step 210). After substituting the value of next (an index value designating the next performance data) (step 211), the process returns to step 204. On the other hand, if this is not the case, the determination is yes, and the process then proceeds to step 211.

上記運指修正処理での運指の修正は、特に詳細な説明は省略するが、例えば指定音の前後の部分を考慮して処理対象とする区間を決定し、決定した区間内の演奏を行ううえで可能性のある全ての運指の組み合わせのなかからコストが最小となる組み合わせを抽出することで行っている。それにより、指定音に対して最適な運指を修正時には確実に設定させている。この結果、評価に用いる運指データは全て、それが示す運指が可能、且つそのコストが異常に大きくないものとなる。   The fingering correction in the fingering correction process is not specifically described in detail, but for example, a section to be processed is determined in consideration of parts before and after the designated sound, and a performance in the determined section is performed. This is done by extracting the combination that minimizes the cost from all possible fingering combinations. This ensures that the optimal fingering for the specified sound is set at the time of correction. As a result, all the fingering data used for the evaluation can be fingered as indicated by the fingering data, and the cost is not abnormally large.

ここで、上記ステップ205、206、及び208で実行されるサブルーチン処理について、図5〜図8を参照して詳細に説明する。
図5は、上記ステップ205として実行される2音間コスト算出処理のフローチャートである。始めに図5を参照して、そのコスト算出処理について詳細に説明する。
Here, the subroutine processing executed in steps 205, 206, and 208 will be described in detail with reference to FIGS.
FIG. 5 is a flowchart of the cost calculation process between two sounds executed as step 205 described above. First, the cost calculation process will be described in detail with reference to FIG.

このコスト算出処理では、連続する2音にのみ着目する形でその2音を発音させるための運指のコストを算出するようになっている。そのコストの算出は、図6に示す運指コストテーブルを参照し、対応する値を抽出することで行っている。コスト算出処理について説明する前に、そのコストテーブルについて具体的に説明する。   In this cost calculation process, the fingering cost for generating the two sounds is calculated in such a way as to pay attention to only two consecutive sounds. The cost is calculated by referring to the fingering cost table shown in FIG. 6 and extracting the corresponding value. Before describing the cost calculation process, the cost table will be specifically described.

図6中、「bw」は鍵盤種類(0は白鍵、1は黒鍵)、「pm」はピッチ変化方向(0は増加方向、1は減少方向)、「f1」は変数ev1の値で指定される音符の指番号(その値で指定される演奏データ中のデータcfigの値)、「f2」は変数ev2の値で指定される音符の指番号、「intv」はそれら2つの音符間のピッチ差、をそれぞれ表している。それにより、テーブルは、それらのデータの各値の組み合わせで示される状況別に、その状況下での運指のコスト(の値)を格納したものとなっている。このことから、2音間コスト算出処理では、それらのデータの各値を求め、各値の組み合わせで指定される欄に格納されたコスト(値)を抽出し、それを指定音の運指のコストとして更新するようになっている。運指コストテーブルは、5個の値によって示される状況別にコストの値を格納したものであることから、図5中では5次元の配列変数CTとして「CT[bw][pm][f1][f2][intv]」と表記している。   In FIG. 6, “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. From this, in the cost calculation process between two sounds, each value of those data is obtained, the cost (value) stored in the column designated by the combination of each value is extracted, and it is used for the fingering of the designated sound. It is updated as a cost. Since the fingering cost table stores cost values for each situation indicated by five values, in FIG. 5, “CT [bw] [pm] [f1] [f] f2] [intv] ".

先ず、ステップ301では、変数ev1、及びev2にそれぞれ、変数meの値、及びme.nextの値を代入する。続くステップ302では、変数f1にev1.cfigの値、変数p1にev1.iPosXの値、変数bwに変数p1の値を2で割った余り(図中「p1%2」と表記)、変数f2にev2.cfigの値、変数p2にev2.iPosXの値、をそれぞれ代入する。その代入後に移行するステップ303では、変数p1の値が変数p2の値以下か否か判定する。後者が前者より大きい場合、判定はYESとなり、ステップ304で0を変数pmに、変数p2の値から変数p1の値を引いた値を変数intvにそれぞれ代入してからステップ306に移行する。そうでない場合には、判定はNOとなり、ステップ305で1を変数pmに、変数p1の値から変数p2の値を引いた値を変数intvにそれぞれ代入してからステップ306に移行する。   First, in step 301, variables ev1 and ev2, respectively, the value of variable me and me. Substitute the value of next. In the subsequent step 302, 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 303 which moves after the substitution, it is determined whether or not the value of the variable p1 is equal to or less than the value of the variable p2. If the latter is greater than the former, the determination is yes, and in step 304, 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 305, 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.

ステップ306では、変数intvの値が定数MAXINTV以下か否か判定する。その定数MAXINTVは、運指により押鍵を行う難易度が極めて高いと考えられる鍵間(ピッチ差)を判定するために用意したものである。このことから、着目する2つの音符の間にそのようなピッチ差が存在していない場合、判定はYESとなり、ステップ307でev1.icostとして、変数bw、pm、f1、f2、及びintvの各値によって運指コストテーブル(図6)から抽出される値(図中「CT[bw][pm][f1][f2][intv]」と表記)を代入した後、一連の処理を終了する。そうでない場合には、判定はNOとなり、ステップ308でev1.icostとして定数MAXCOSTを代入した後、一連の処理を終了する。   In step 306, it is determined whether 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 ev1. icost is a value extracted from the fingering cost table (FIG. 6) by the values of 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は、例えばコストとして想定する範囲内で最大値として定めたものである。図4中のステップ212では最大値としてこの定数MAXCOSTにme.icostを更新するようになっている。   The constant MAXCOST is determined as a maximum value within a range assumed as a cost, for example. In step 212 in FIG. 4, me. icost is updated.

上述したような構成の運指コストテーブルでは、2音間の発音開始時刻の時間間隔が考慮されていない。その時間間隔が短くなるほど、運指は困難となるのが普通である。このことから、上記ステップ307では、特には図示していないが、ev1.icostとして、変数bw、pm、f1、f2、及びintvの各値によって運指コストテーブルから値を抽出した後、抽出値に時間間隔に応じた係数を乗算し、その乗算結果をev1.icostとして格納している。   In the fingering cost table configured as described above, the time interval of the sounding start time between two sounds is not considered. The shorter the time interval, the more difficult fingering is. Therefore, in step 307, ev1. icost, a value is extracted from the fingering cost table by each value of the variables bw, pm, f1, f2, and intv, then the extracted value is multiplied by a coefficient corresponding to the time interval, and the multiplication result is expressed as ev1. It is stored as icost.

図7は、図4に示す運指評価処理内でステップ206として実行される禁止事項検索処理のフローチャートである。次に図7を参照して、その検索処理について詳細に説明する。   FIG. 7 is a flowchart of the prohibited matter search process executed as step 206 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.

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

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

上記ステップ401〜4の各検出処理では、禁止条件を満たしていることが確認された場合、me.iNPとして0以外の値を格納(更新)する。それにより、図4に示す運指評価処理では、ステップ207の判定がYESとなって、その指定音のコストは最大値に更新されることとなる。   In each of the detection processes in steps 401 to 4 above, 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. 4, the determination in step 207 is YES, and the cost of the designated sound is updated to the maximum value.

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

先ず、ステップ501では、運指に従って指定音を発音させる際の状況を示す各種値を対応する変数に代入するための処理を実行する。次のステップ502では、変数meの値で指定される演奏データが示す楽音(指定音)の発音開始時刻に発音中の他の楽音、或いはその発音終了時刻前に発音を開始する他の楽音に着目してコストを補正するための多声音の補正処理を実行する。続くステップ503では、指定音の押鍵に必要な、指越え、或いは指くぐりという比較的に高度な演奏方法に着目してコストを補正するための指越え/指くぐりでの補正処理を実行する。その次のステップ504では、分散和音とそれに続く分散和音間の相互関係に着目してコストを補正するための分散和音での補正処理を実行する。その後はステップ505に移行する。   First, in step 501, a process for substituting various values indicating a situation when a designated sound is generated according to fingering into a corresponding variable is executed. In the next step 502, 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 generated. Pay attention to execute polyphonic sound correction processing to correct the cost. In the subsequent step 503, the correction process with the finger crossing / fingering for correcting the cost is executed by paying attention to the relatively advanced performance method of fingering or fingering necessary for pressing the designated sound. . In the next step 504, a correction process using a distributed chord is performed to correct the cost by paying attention to the mutual relationship between the distributed chord and the subsequent distributed chord. Thereafter, the process proceeds to step 505.

ステップ505では、単音が続く音符群とそれに続く和音間の相互関係に着目してコストを補正するための短音→和音遷移での補正処理を実行する。続くステップ506では、和音とそれに続く単音の音符群間の相互関係に着目してコストを補正するための和音→短音遷移での補正処理を実行する。その次のステップ507では、和音とそれに続く和音間の相互関係に着目してコストを補正するための和音→和音遷移での補正処理を実行する。その次に移行するステップ508では、和音とその直前に位置する和音間の相互関係に着目してコストを補正するための前方和音補正処理を実行する。一連の処理はその後に終了する。   In step 505, attention is paid to the interrelationship between a note group followed by a single note and the following chord, and a correction process for transition from short to chord for correcting the cost is executed. In the subsequent step 506, correction processing in the transition from chord to short note for correcting the cost is performed by paying attention to the mutual relationship between the chord and the subsequent note group. In the next step 507, a 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 508, 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).

図4に示す全体処理内で実行されるサブルーチン処理の説明に戻る。
上述したように本実施の形態では、表示させる指番号の選択は、休符、特殊な指使い、及び難易度を条件にして行うようにしている。実際の選択に用いる条件の種類は、そのなかから一つをユーザーに指定させるようにしている。その指定は、図4に示す全体処理内でステップ105として表示・非表示設定処理の実行時に問い合わせ、ユーザーに行わせている。その指定結果により、設定処理では図9〜図12に示す各サブルーチン処理の少なくとも一つが実行される。このことから、図9〜図12を参照して、ユーザーが指定した条件の種類別に、設定処理内で実行されるサブルーチン処理について詳細に説明する。
Returning to the description of the subroutine processing executed in the overall processing shown in FIG.
As described above, in the present embodiment, the finger number to be displayed is selected on the condition of rest, special finger usage, and difficulty level. One of the types of conditions used for actual selection is specified by the user. This designation is inquired at the time of execution of the display / non-display setting process as step 105 in the entire process shown in FIG. Depending on the designation result, at least one of the subroutine processes shown in FIGS. 9 to 12 is executed in the setting process. Accordingly, with reference to FIG. 9 to FIG. 12, the subroutine processing executed in the setting processing for each type of condition designated by the user will be described in detail.

図9は、休符箇所を考慮した表示・非表示設定処理のフローチャートである。その設定処理は、ユーザーが条件として休符を指定した場合に実行される。始めに図9を参照して、その設定処理について詳細に説明する。   FIG. 9 is a flowchart of the display / non-display setting process in consideration of rest portions. The setting process is executed when the user specifies a rest as a condition. First, the setting process will be described in detail with reference to FIG.

先ず、ステップ601では、変数meに、先頭に位置する演奏データのインデクス値を代入する。その代入後に移行するステップ602では、変数meの値で指定される演奏データが最後に位置するものではないか否か判定する。その演奏データが最後に位置するものであった場合、判定はNOとなり、ここで一連の処理を終了する。そうでない場合には、判定はYESとなってステップ603に移行する。   First, in step 601, the index value of the performance data located at the head is substituted for the variable me. In step 602 which moves to after the substitution, it is determined whether or not the performance data designated by the value of the variable me is the last one. If the performance data is the last one, the determination is no, and the series of processing ends here. Otherwise, the determination is yes and the process moves to step 603.

ステップ603では、me.cDispの値として1を格納して、表示設定を行う。次のステップ604では、変数mepに、現在、対象としている演奏データの直前に位置する演奏データのインデクス値(me.prev)を代入する。その後に移行するステップ605では、変数mepの値で指定される演奏データが存在するか否か判定する。現在、対象としている演奏データが先頭に位置するものであった場合、その前の演奏データは存在しないことから、判定はNOとなってステップ611に移行する。そうでない場合には、判定はYESとなってステップ606に移行する。   In step 603, me. 1 is stored as the value of cDisp and display setting is performed. In the next step 604, the index value (me.prev) of the performance data currently located immediately before the target performance data is substituted into the variable mep. In step 605 which moves to after that, it is determined whether there exists performance data designated by the value of the variable mep. If the target performance data is currently located at the head, there is no previous performance data, so the determination is no and the process moves to step 611. Otherwise, the determination is yes and the process moves to step 606.

ステップ606では、変数lRestTに、me.lTimeの値からmep.iTimeの値を減算し、その減算結果にmep.lGateの値を加算して得られる値(=me.lTime−mep.iTime+mep.lGate:直前の鍵を離鍵すべきタイミングとなってから次の鍵を押鍵すべきタイミングとなるまでの時間間隔を示す値)を代入する。また、変数lStepTに、me.lTimeの値からmep.iTimeの値を減算した値(=me.lTime−mep.iTime:直前の鍵を押鍵すべきタイミングとなってから次の鍵を押鍵すべきタイミングとなるまでの時間間隔を示す値)を代入する。それらの代入を行った後はステップ607に移行して、変数lRestTの値は定数iResの値の2倍以上か否か判定する。定数iResは、一定以上、無音期間が続く箇所を、指番号の表示の対象となる休符箇所として検出するために用意したものである。例えば4分音符相当の時間を示す値である。このことから、一定以上、無音期間が続く箇所であった場合、判定はYESとなってステップ611に移行する。そうでない場合には、判定はNOとなり、ステップ608でme.iDispとして0を格納し非表示設定を行う。その後はステップ609に移行する。   In step 606, me. From the value of lTime, mep. The value of iTime is subtracted, and mep. Value obtained by adding the values of lGate (= me.lTime-mep.iTime + mep.lGate: time interval from the timing when the previous key should be released to the timing when the next key should be pressed Value). In addition, me. From the value of lTime, mep. A value obtained by subtracting the value of iTime (= me.lTime-mep.iTime: a value indicating a time interval from the timing when the previous key should be pressed to the timing when the next key should be pressed) substitute. After performing these substitutions, the process proceeds to step 607 to determine whether or not the value of the variable lRestT is twice or more the value of the constant iRes. The constant iRes is prepared in order to detect a portion where a silent period continues for a certain period or more as a rest portion to be displayed as a finger number. For example, it is a value indicating a time corresponding to a quarter note. From this, when it is a part where the silent period continues for a certain amount or more, the determination is YES and the process proceeds to step 611. Otherwise, the determination is no and me. 0 is stored as iDisp and non-display setting is performed. Thereafter, the process proceeds to step 609.

ステップ609では、変数lStepTの値は定数iResの値の2倍以上であり、且つ変数lRestTの値は定数iResの1/4以上か否か判定する。それら何れの大小関係が満たされている場合、判定はYESとなり、ステップ610でme.iDispに1を格納した後、ステップ611に移行する。そうでない場合には、つまりそれらの大小関係の少なくとも一つが満たされていない場合には、判定はNOとなってステップ611に移行する。   In step 609, it is determined whether the value of the variable lStepT is twice or more the value of the constant iRes and whether the value of the variable lRestT is 1/4 or more of the constant iRes. If any of these magnitude relationships is satisfied, the determination is yes, and in step 610, me. After storing 1 in iDisp, the process proceeds to step 611. If not, that is, if at least one of the magnitude relationships is not satisfied, the determination is no and the process moves to step 611.

このようにして本実施の形態では、一定以上、長く押鍵すべき鍵は指番号を表示する対象としている。これは、そのような鍵を押鍵すべき指で押鍵することで、それ以降の演奏をより適切な運指で行えるようになるからである。つまりそのような鍵は、休符直後に押鍵すべき鍵と演奏上の性格に類似点が多いためである。   In this way, in the present embodiment, a key to be pressed longer than a certain length is a target for displaying a finger number. This is because by pressing such a key with a finger to be pressed, the subsequent performance can be performed with a more appropriate fingering. That is, such a key has many similarities in performance characteristics with a key to be pressed immediately after a rest.

ステップ611では、変数meの値がme.pHTailと一致するか否か、つまり対象としている演奏データが和音の最も音高の高い構成音のものか否か判定する。その構成音のものであった場合、判定はYESとなってステップ612に移行する。そうでない場合には、判定はNOとなってステップ617に移行し、変数meにme.nextの値を代入した後、上記ステップ602に戻る。   In step 611, the value of the variable me is me. It is determined whether or not it matches with the pHTail, that is, whether or not the performance data of interest is a constituent sound having the highest pitch of the chord. If it is that constituent sound, the determination is yes and the process moves to step 612. Otherwise, the determination is no and the process moves to step 617, where me. After substituting the value of next, the process returns to step 602.

ステップ612では、変数mehに、me.pHTopの値を代入する。続くステップ613では、変数mehの値が変数meの値と一致しないか否か判定する。それらの値が一致する場合、判定はNOとなって上記ステップ617に移行する。そうでない場合には、判定はYESとなってステップ614に移行する。   In step 612, me. Substitute the value of pHTop. In the following step 613, it is determined whether or not the value of the variable meh matches the value of the variable me. If the values match, the determination is no and the process moves to step 617. Otherwise, the determination is yes and the process moves to step 614.

ステップ614では、meh.cDispの値は1か否か判定する。その値が1であった場合、判定はYESとなり、ステップ616で和音の構成音の演奏データ全てデータiDispの値を1にする。その後、ステップ617に移行する。そうでない場合には、判定はNOとなり、ステップ615で変数mehにmeh.nextの値を代入した後、上記ステップ613に戻る。   In step 614, meh. It is determined whether the value of cDisp is 1. If the value is 1, the determination is YES, and in step 616, the performance data of all chord constituent sounds is set to 1. Thereafter, the process proceeds to step 617. Otherwise, the determination is no and in step 615 the variable meh. After substituting the value of next, the process returns to step 613.

me.pHTopの値は和音の先頭に位置する構成音の演奏データのインデクス値であり、その演奏データが示す楽音の直前に条件を満たす休符箇所が存在していれば、そのデータiDispとして1が格納されている。このことから、ステップ611〜616の処理により、条件を満たす休符箇所の直後に位置する和音の構成音の演奏データは全て表示設定されることになる。   me. The value of pHTop is the index value of the performance data of the constituent sound located at the head of the chord. If there is a rest portion that satisfies the condition immediately before the musical tone indicated by the performance data, 1 is stored as the data iDisp. Has been. Therefore, the performance data of the chord constituent sounds located immediately after the rest portion satisfying the condition is displayed and set by the processing of steps 611 to 616.

図10は、特殊な指使いを考慮した表示・非表示設定処理のフローチャートである。その設定処理は、ユーザーが条件として特殊な指使いを指定した場合に実行される。次に図10を参照して、その設定処理について詳細に説明する。ここでは特殊な指使いとして、指越え、指くぐりのみを想定する。また、図9に示す休符箇所を考慮した表示・非表示設定処理と同じ、或いは基本的に同じ内容のステップの処理には同一の符号を付している。同一の符号を付したステップの処理の説明は省略する。   FIG. 10 is a flowchart of the display / non-display setting process in consideration of special finger usage. The setting process is executed when the user designates a special finger use as a condition. Next, the setting process will be described in detail with reference to FIG. Here, only finger crossing and finger penetration are assumed as special finger usages. Further, the same reference numerals are given to the processing of the steps having the same or basically the same contents as the display / non-display setting processing considering the rest portion shown in FIG. The description of the process of the step attached with the same symbol is omitted.

図10に示す表示・非表示設定処理では、ステップ603の処理の実行後、ステップ701に移行して、変数menに、次の演奏データのインデクス値を代入する。その代入後に移行するステップ702では、変数menの値で指定される演奏データが存在するか否か判定する。その演奏データが存在する場合、判定はYESとなり、ステップ703で変数iPassFに0を代入した後、ステップ704に移行する。そうでない場合には、つまり対象とする演奏データが最後に位置するものであった場合には、判定はNOとなってステップ714に移行する。   In the display / non-display setting process shown in FIG. 10, after execution of the process of step 603, the process proceeds to step 701, and the index value of the next performance data is substituted into the variable men. In step 702 which moves to after the substitution, it is determined whether or not performance data designated by the value of the variable men exists. If the performance data exists, the determination is yes, and after substituting 0 for the variable iPassF in step 703, the process proceeds to step 704. If not, that is, if the target performance data is the last one, the determination is no and the process moves to step 714.

ステップ704では、me.iHandの値が1であり、me.cfigの値が0であり、men.cfigの値が0より大きく、且つme.iPosXの値がmen.iPosXの値より大きいか否か判定する。それらの関係は、右手の演奏において、親指で押鍵すべき鍵の次に、より音高の低い鍵を親指以外の指で押鍵すべき状況の場合に全て満足する。このことから、そのような状況であった場合、判定はYESとなってステップ705に移行し、指越えを行うべき状況であることを示す値の1を変数iPassFに代入した後、ステップ706に移行する。そうでない場合には、判定はNOとなって次にそのステップ706の処理を実行する。   In step 704, me. iHand has a value of 1, me. The value of cfig is 0, and men. cfig is greater than 0 and me. The value of iPosX is men. It is determined whether or not the value is larger than iPosX. These relationships are all satisfied in the situation where the right key is to be pressed with a finger other than the thumb, followed by a key with a lower pitch than the key to be pressed with the thumb. From this, in such a situation, the determination is YES and the process proceeds to step 705. After substituting 1 to the variable iPassF for a value 1 indicating that the finger should be passed, the process proceeds to step 706. Transition. Otherwise, the determination is no and the process of step 706 is executed next.

ステップ706では、me.iHandの値が1であり、me.cfigの値が0より大きく、men.cfigの値が0であり、且つme.iPosXの値がmen.iPosXの値より小さいか否か判定する。それらの関係は、右手の演奏において、親指以外の指で押鍵すべき鍵(指定音)の次に、より音高の高い鍵を親指で押鍵すべき状況の場合に全て満足する。このことから、そのような状況であった場合、判定はYESとなってステップ706に移行し、指くぐりを行うべき状況であることを示す値の2を変数iPassFに代入した後、ステップ708に移行する。そうでない場合には、判定はNOとなって次にそのステップ708の処理を実行する。   In step 706, me. iHand has a value of 1, me. cfig is greater than 0, men. The value of cfg is 0, and me. The value of iPosX is men. It is determined whether it is smaller than the value of iPosX. These relations are all satisfied in the situation where in the performance of the right hand, the key to be pressed with a finger other than the thumb (designated sound) and then the key with the higher pitch should be pressed with the thumb. From this, in such a situation, the determination is YES and the process proceeds to step 706. After substituting 2 for the variable iPassF indicating the situation where the finger should be inserted, the process proceeds to step 708. Transition. Otherwise, the determination is no and the process of step 708 is executed next.

ステップ708〜711では、左手の演奏を対象に、指越え、指くぐりの何れかの指使いを行うべき状況か否かの判定を行い、その判定結果に応じた値を変数iPassFに代入するための処理が行われる。それにより、親指で押鍵すべき鍵の次に、より音高の高い鍵を親指以外の指で押鍵すべき状況、つまり指越えを行うべき状況であれば1、親指以外の指で押鍵すべき鍵の次に、より音高の低い鍵を親指で押鍵すべき状況、つまり指くぐりを行うべき状況であれば2、が変数iPassFに代入されることとなる。ステップ712には、ステップ710、或いは711の処理の実行後に移行する。   In steps 708 to 711, it is determined whether or not it is a situation where any finger usage of finger crossing and finger penetration should be performed for the left hand performance, and a value corresponding to the determination result is substituted for the variable iPassF. Is performed. As a result, after the key to be pressed with the thumb, the key with the higher pitch is pressed with a finger other than the thumb, that is, 1 in the situation where the finger should be pushed, and pressed with the finger other than the thumb. Next to the key to be locked, 2 is substituted into the variable iPassF if the lower pitch key is to be pressed with the thumb, that is, if the finger is to be inserted. The process proceeds to step 712 after execution of the process in step 710 or 711.

ステップ712では、変数iPassFの値が0でないか否か判定する。その値が0でない場合、判定はYESとなり、ステップ713で変数meにme.nextの値を代入した後、上記ステップ602に戻る。そうでない場合には、判定はNOとなり、ステップ714でme.cDispの値を0に更新した後、そのステップ713に移行する。   In step 712, it is determined whether the value of the variable iPassF is not zero. If the value is not 0, the determination is YES and the variable me. After substituting the value of next, the process returns to step 602. Otherwise, the determination is no and in step 714 me. After updating the value of cDisp to 0, the process proceeds to step 713.

図11は、難易度を考慮した表示・非表示設定処理のフローチャートである。その設定処理は、ユーザーが条件として難易度を指定した場合に実行される。次に図11を参照して、その設定処理について詳細に説明する。図9に示す休符箇所を考慮した表示・非表示設定処理と同じ、或いは基本的に同じ内容のステップの処理には同一の符号を付し、同一の符号を付したステップの処理の説明は省略する。   FIG. 11 is a flowchart of the display / non-display setting process in consideration of the difficulty level. The setting process is executed when the user designates a difficulty level as a condition. Next, the setting process will be described in detail with reference to FIG. The same or basically the same step processing as the display / non-display setting processing considering the rest portion shown in FIG. 9 is given the same reference numeral, and the description of the step processing with the same reference numeral is given. Omitted.

その難易度を示す値はデータicostとして演奏データに格納されている。対象となる難易度の範囲は、図16に示すように、下限値、上限値によりユーザーに指定させるようにしている。ユーザーが指定した下限値、上限値に相当するコスト値(難易度)はそれぞれ変数minCost、maxCostに代入される。   A value indicating the difficulty level is stored in the performance data as data icost. As shown in FIG. 16, the range of the difficulty level to be targeted is specified by the user by the lower limit value and the upper limit value. The cost value (difficulty level) corresponding to the lower limit value and the upper limit value specified by the user is substituted for the variables minCost and maxCost, respectively.

先ず、ステップ801では、変数meに、先頭に位置する演奏データのインデクス値を代入する。その代入後に移行するステップ802では、変数meの値が0(NULL)でないか否か判定する。その演奏データが最後に位置するものであった場合、データnextの値として0(NULL)が格納されている。このことから、その場合、判定はNOとなり、ここで一連の処理を終了する。そうでない場合には、判定はYESとなってステップ803に移行する。   First, in step 801, the index value of the performance data located at the head is substituted for the variable me. In step 802 which moves after the substitution, it is determined whether or not the value of the variable me is not 0 (NULL). If the performance data is the last one, 0 (NULL) is stored as the value of data next. Therefore, in this case, the determination is NO, and the series of processing ends here. Otherwise, the determination is yes and the process moves to step 803.

ステップ803では、me.cDispの値を0に更新する。続くステップ804では、me.icostの値が変数minCostの値以上、且つ変数maxCostの値以下か否か判定する。me.icostの値がユーザーの指定範囲内の難易度を示していた場合、判定はYESとなり、ステップ805でme.cDispの値を1に更新した後、ステップ611に移行する。そうでない場合には、判定はNOとなってそのステップ611に移行する。それにより、難易度がユーザーの指定範囲内の難易度となっている構成音を有する和音は、全ての構成音で指番号を表示させる。   In step 803, me. Update the value of cDisp to 0. In the subsequent step 804, me. It is determined whether the value of icost is not less than the value of the variable minCost and not more than the value of the variable maxCost. me. If the value of icost indicates the difficulty level within the range specified by the user, the determination is YES, and in step 805, me. After the cDisp value is updated to 1, the process proceeds to step 611. Otherwise, the determination is no and the process moves to step 611. As a result, chords having constituent sounds whose difficulty level is within the range specified by the user display finger numbers for all the constituent sounds.

図12は、難易度の正規化処理のフローチャートである。その正規化処理は、ユーザーが条件として正規化した難易度を指定した場合に実行される。次に図12を参照して、その正規化処理について詳細に説明する。   FIG. 12 is a flowchart of the difficulty level normalization process. The normalization process is executed when the user specifies the degree of difficulty normalized as a condition. Next, the normalization process will be described in detail with reference to FIG.

その難易度を示す値はデータicostNとして演奏データに格納されている。正規化した難易度は0〜100の数値で表すようにしている。対象となる難易度の範囲は、図17に示すように、下限値、上限値を数値によりユーザーに指定させるようにしている。ユーザーが指定した下限値、上限値に相当するコスト値(難易度)はそれぞれ変数minCost、maxCostに代入される。それにより、正規化した難易度を考慮した表示・非表示の設定を行うためのサブルーチン処理は、図11に示す表示・非表示設定処理において、ステップ804のみが異なっている。つまりme.icostの代わりにme.icostNを用いることのみが異なっている。このことから、正規化した難易度を考慮した表示・非表示の設定を行うためのサブルーチン処理についての詳細な説明は省略する。   A value indicating the difficulty level is stored in the performance data as data icostN. The normalized difficulty is expressed by a numerical value of 0-100. As shown in FIG. 17, the range of the difficulty level to be targeted is to allow the user to specify the lower limit value and the upper limit value numerically. The cost value (difficulty level) corresponding to the lower limit value and the upper limit value specified by the user is substituted for the variables minCost and maxCost, respectively. Accordingly, the subroutine processing for performing display / non-display setting in consideration of the normalized difficulty is different from the display / non-display setting processing shown in FIG. 11 only in step 804. That is, me. Instead of icost, me. The only difference is the use of icostN. For this reason, detailed description of the subroutine processing for performing display / non-display setting in consideration of the normalized difficulty is omitted.

先ず、ステップ901では、変数の初期化を行う。その初期化により、変数CostAve、Ncount、及びmaxCostにはそれぞれ0を代入し、変数minCostには100を代入する。続くステップ902では、変数meに、先頭に位置する演奏データのインデクス値を代入する。その代入後はステップ903に移行して、変数meの値で指定される演奏データが最後に位置するものではないか否か判定する。その演奏データが最後に位置するものであった場合、判定はNOとなってステップ910に移行する。そうでない場合には、判定はYESとなってステップ904に移行する。   First, in step 901, variables are initialized. As a result of the initialization, 0 is substituted for each of the variables CostAve, Ncount, and maxCost, and 100 is substituted for the variable minCost. In the subsequent step 902, the index value of the performance data located at the head is substituted for the variable me. After the substitution, the process proceeds to step 903 to determine whether or not the performance data designated by the value of the variable me is the last one. If the performance data is the last one, the determination is no and the process moves to step 910. Otherwise, the determination is yes and the process moves to step 904.

ステップ904では、変数CostAveに、それまでの値に変数me.icostの値を加算した結果を代入し、変数Ncountの値をインクリメントする。次のステップ905では、me.icostの値が変数maxCostの値より大きいか否か判定する。前者が後者より大きい場合、判定はYESとなり、ステップ706で変数maxCostにme.icostの値を代入した後、ステップ907に移行する。そうでない場合には、判定はNOとなってそのステップ907に移行する。   In step 904, the variable CostAve is set to the variable me. The result of adding the value of icost is substituted, and the value of the variable Ncount is incremented. In the next step 905, me. It is determined whether the value of icost is greater than the value of variable maxCost. If the former is greater than the latter, the determination is yes, and in step 706, the variable maxCost is me. After the value of icost is substituted, the process proceeds to step 907. Otherwise, the determination is no and the process moves to step 907.

ステップ907では、me.icostの値が変数minCostの値より小さいか否か判定する。前者が後者より小さい場合、判定はYESとなり、ステップ708で変数minCostにme.icostの値を代入し、次のステップ909で変数meにme.nextの値を代入した後、上記ステップ903に戻る。そうでない場合には、判定はNOとなってそのステップ909に移行する。   In step 907, me. It is determined whether the value of icost is smaller than the value of the variable minCost. If the former is smaller than the latter, the determination is yes, and in step 708, the variable minCost is set to me. The value of icost is substituted, and in the next step 909, me. After substituting the value of next, the process returns to step 903. Otherwise, the determination is no and the process moves to step 909.

上記ステップ903〜909で形成される処理ループをステップ903の判定がNOとなるまで繰り返し実行することにより、コスト値(難易度)の累算値が変数CostAveにストアされ、演奏データの総数が変数Ncountにストアされ、コスト値の最大値が変数maxCostにストアされ、コスト値の最小値が変数minCostにストアされる。ステップ903の判定がNOとなって移行するステップ910以降では、そのようにして取得されたデータを用いて難易度を正規化するための処理が行われる。   By repeatedly executing the processing loop formed in steps 903 to 909 until the determination in step 903 becomes NO, the accumulated value of the cost value (difficulty) is stored in the variable CostAve, and the total number of performance data is the variable Stored in Ncount, the maximum cost value is stored in variable maxCost, and the minimum cost value is stored in variable minCost. In step 910 and subsequent steps in which the determination in step 903 is NO and the process proceeds, processing for normalizing the difficulty level is performed using the data thus acquired.

先ず、ステップ910では、変数CostAveに、それまでの値を変数Ncountの値で割った減算結果、つまりコスト値の平均値を代入する。次のステップ911では、変数meに、先頭に位置する演奏データのインデクス値を代入する。その次に移行するステップ912では、変数meの値で指定される演奏データが最後に位置するものではないか否か判定する。その演奏データが最後に位置するものであった場合、判定はNOとなり、ここで一連の処理を終了する。そうでない場合には、判定はYESとなってステップ913に移行する。   First, in step 910, a subtraction result obtained by dividing the previous value by the value of the variable Ncount, that is, the average value of the cost values, is substituted into the variable CostAve. In the next step 911, the index value of the performance data located at the head is substituted for the variable me. In the next step 912, it is determined whether the performance data designated by the value of the variable me is not the last one. If the performance data is the last one, the determination is no, and the series of processing ends here. Otherwise, the determination is yes and the process moves to step 913.

ステップ913では、変数iDifに、me.icostの値から変数CostAveの値を引いた減算結果を代入する。続くステップ914では、変数iDifの値が0以上か否か判定する。me.icostの値がコスト値の平均値未満であった場合、変数iDifの値は0未満となるから、判定はNOとなり、ステップ915で変数iDenに変数CostAveの値から変数minCostの値を引いた減算結果を代入し、次のステップ916でme.icostNに、変数iDifの値を変数iDenの値で割った除算結果に50を乗算し、その乗算結果に50を加算して得られる値(=50+iDif/iDen・50)を代入し、その次のステップ917で変数meにme.nextの値を代入した後、上記ステップ912に戻る。そうでない場合には、判定はYESとなり、ステップ918で変数iDenに変数maxCostの値から変数CostAveの値を引いた減算結果を代入した後、上記ステップ916に移行する。   In step 913, me. A subtraction result obtained by subtracting the value of the variable CostAve from the value of icost is substituted. In the following step 914, it is determined whether or not the value of the variable iDif is 0 or more. me. If the value of icost is less than the average value of the cost values, the value of the variable iDif is less than 0, so the determination is NO, and in step 915, subtraction is performed by subtracting the value of the variable minCost from the value of the variable CostAve to the variable iDen. The result is substituted, and in the next step 916, me. The value obtained by multiplying the result of dividing the value of the variable iDif by the value of the variable iDen by 50 and adding 50 to the result of multiplication (= 50 + iDif / iDen · 50) is substituted for icostN, In step 917, the variable me. After substituting the value of next, the process returns to step 912. Otherwise, the determination is yes, and in step 918, the subtraction result obtained by subtracting the value of the variable CostAve from the value of the variable maxCost is substituted for the variable iDen, and then the process proceeds to step 916.

このようにして本実施の形態では、コスト値の最小値を0、その最大値を100として、その間を等分に分ける形でコスト値を正規化している。正規化を行う方法は、そのようなものに限定されるわけではなく、様々な方法を採用しても良い。   In this way, in the present embodiment, the minimum value of the cost value is set to 0 and the maximum value is set to 100, and the cost value is normalized in such a manner that the interval is divided equally. The method for normalization is not limited to such a method, and various methods may be adopted.

図13は、図3に示す全体処理内でステップ106として実行される描画処理のフローチャートである。次に図13を参照して、その描画処理について詳細に説明する。
先ず、ステップ1001では、変数meに、表示上、先頭となる演奏データのインデクス値(図中「meDSt」と表記)を代入する。続くステップ1002では、変数meの値で指定される演奏データに相当する音符の画像データを生成して表示部15に表示させる。上述したように、その音符の種類はデータlGateから特定し、表示位置は、データlTimeから特定する。
FIG. 13 is a flowchart of the drawing process executed as step 106 in the overall process shown in FIG. Next, the drawing process will be described in detail with reference to FIG.
First, in step 1001, the index value (denoted as “meDSt” in the figure) of the performance data that is the head in the display is substituted into the variable me. In the subsequent step 1002, note image data corresponding to performance data designated by the value of the variable me is generated and displayed on the display unit 15. As described above, the note type is specified from the data lGate, and the display position is specified from the data lTime.

ステップ1002に続くステップ1003では、me.iDispの値が1か否か判定する。その値が1であった場合、判定はYESとなり、ステップ1004でme.cfigの値に1を加えた値を指番号としてme.DrawPosが示す座標に表示させた後、ステップ1005に移行する。そうでない場合には、判定はNOとなってそのステップ1005に移行する。   In step 1003 following step 1002, me. It is determined whether the value of iDisp is 1. If the value is 1, the determination is YES and me. The value obtained by adding 1 to the value of cfg is used as a finger number to me. After displaying the coordinates indicated by DrawPos, the process proceeds to step 1005. Otherwise, the determination is no and the process moves to step 1005.

ステップ1005では、変数meの値が表示上の終端となる演奏データのインデクス値(図中「meDEd」と表記)と一致するか否か判定する。表示すべき音符を全て表示させた場合、それらの値が一致することから、判定はYESとなり、ここで一連の処理を終了する。そうでない場合には、判定はNOとなり、ステップ1006で変数meにme.nextの値を代入した後、上記ステップ1002に戻る。   In step 1005, it is determined whether or not the value of the variable me matches the index value of performance data that is the end of the display (denoted as “meDEd” in the figure). When all the notes to be displayed are displayed, their values match, so the determination is YES, and the series of processing ends here. Otherwise, the determination is no and the variable me. After substituting the value of next, the process returns to step 1002.

この描画処理を実行することにより、ユーザーが指定(選択)した条件の種類に応じて、図14〜図17に示すような楽譜の何れかが表示部15に表示されることとなる。
なお、本実施の形態では、ユーザーが指定可能な条件は1種類のみとしているが、複種類の条件を一度に指定できるようにしても良い。また、運指を表す指番号は、楽譜と併せて予め表示させるようにしているが、その指番号が示す指で押鍵を行うべきタイミングとなった場合にのみ表示させるようにしても良い。その場合、指番号ではなく、押鍵すべき指を表す画像、別の文字情報、などによってユーザーに通知しても良い。
By executing this drawing process, one of the musical scores as shown in FIGS. 14 to 17 is displayed on the display unit 15 in accordance with the type of condition designated (selected) by the user.
In the present embodiment, only one type of condition can be specified by the user, but multiple types of conditions may be specified at one time. In addition, the finger number representing fingering is displayed in advance together with the score, but may be displayed only when it is time to press the key with the finger indicated by the finger number. In that case, you may notify a user not with a finger number but with the image showing the finger which should be pressed, another character information, etc.

本実施の形態による運指表示装置の構成を説明する図である。It is a figure explaining the structure of the fingering display apparatus by this Embodiment. 演奏データの構成を説明する図である。It is a figure explaining the structure of performance data. 全体処理のフローチャートである。It is a flowchart of the whole 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 figure explaining the structure of a fingering cost table. 禁止事項検索処理のフローチャートである。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 display / non-display process in consideration of rest parts. 特殊な指使いを考慮した表示・非表示処理のフローチャートである。It is a flowchart of the display / non-display process in consideration of special finger usage. 難易度を考慮した表示・非表示処理のフローチャートである。It is a flowchart of the display / non-display process in consideration of the difficulty level. 難易度の正規化処理のフローチャートである。It is a flowchart of the normalization process of difficulty. 描画処理のフローチャートである。It is a flowchart of a drawing process. 楽譜上、休符の直後に位置する音符の発音に用いるべき指の指番号を表示させた場合の運指表示例を説明する図である。It is a figure explaining the fingering display example at the time of displaying the finger number of the finger which should be used for pronunciation of the note located immediately after a rest on a musical score. 指越え・指くぐりなどの特殊な指使いをして音符を発音させるべき指の指番号を表示させた場合の運指表示例を説明する図である。It is a figure explaining the example of a fingering display at the time of displaying the finger number of the finger which should sound a note by using special finger use, such as finger crossing and finger penetration. 音符を発音させる難易度によりその発音に用いるべき指の指番号を表示させた場合の運指表示例を説明する図である。It is a figure explaining the example of a fingering display at the time of displaying the finger number of the finger which should be used for the pronunciation according to the difficulty which makes a note sound. 正規化した難易度により音符の発音に用いるべき指の指番号を表示させた場合の運指表示例を説明する図である。It is a figure explaining the fingering display example at the time of displaying the finger number of the finger which should be used for the pronunciation of a note by the normalized difficulty.

符号の説明Explanation of symbols

10 運指表示装置
11 CPU
12 RAM
13 ROM
14 入力部
15 表示部
10 fingering display device 11 CPU
12 RAM
13 ROM
14 Input unit 15 Display unit

Claims (3)

楽器に設けられた演奏操作子群のなかで操作していくべき演奏操作子の操作に用いるべき指を示す指情報を表示させることにより、楽曲の演奏のための指の運びである運指を教示できる運指表示装置において、
前記楽曲の進行に応じて順次操作していくべき演奏操作子、及び該演奏操作子の操作に用いるべき指を示す運指データを取得するデータ取得手段と、
前記データ取得手段が取得した運指データの運指評価を行い難易度を算出する難易度算出手段と、
該難易度算出手段により算出された難易度が、ユーザが設定した所定内である運指データを抽出して該運指データによる指情報を表示させる表示制御手段と、
を具備することを特徴とする運指表示装置。
By displaying finger information indicating the finger to be used for the operation of the performance operator to be operated in the group of performance operators provided on the musical instrument, the fingering for carrying the music is displayed. In the fingering display device that can be taught,
Ikube-out Starring Somisao Sakuko sequentially operated in accordance with progress of the musical composition, and a data acquisition means for acquiring fingering data indicating the finger to be used for the operation of the performance operator,
A difficulty level calculation means for calculating a difficulty level by performing a fingering evaluation of the fingering data acquired by the data acquisition means ;
Difficulty calculated by the difficulty calculating means, display control means that presents the finger information by該運finger data by extracting the fingering data is within a predetermined set by the user,
A fingering display device comprising:
前記表示制御手段は、前記運指データから前記演奏操作子への操作によって発音される楽音を示す音符を表示させ、前記指情報は、対応する音符の近傍に表示させる、ことを特徴とする請求項1記載の運指表示装置。The display control means displays a note indicating a musical sound that is generated by an operation from the fingering data to the performance operator, and displays the finger information in the vicinity of the corresponding note. Item 10. A fingering display device according to item 1. 楽器に設けられた演奏操作子群のなかで操作していくべき演奏操作子の操作に用いるべき指を示す指情報を表示させることにより、楽曲の演奏のための指の運びである運指を教示できる運指表示装置として用いられるコンピュータに、
前記楽曲の進行に応じて操作していくべき演奏操作子毎に、該演奏操作子、及び該演奏操作子の操作に用いるべき指を示す運指データを取得する機能と、
前記所得する機能により取得した運指データの運指評価を行い難易度を算出する機能と、
該難易度を算出する機能により算出された難易度が、ユーザが設定した所定内である運指データを抽出して該運指データによる指情報を表示装置に表示させる機能と、
を実現させるためのプログラム。
By displaying finger information indicating the finger to be used for the operation of the performance operator to be operated in the group of performance operators provided on the musical instrument, the fingering for carrying the music is displayed. In a computer used as a fingering display device that can be taught ,
For each performance operator to be operated according to the progress of the music, a function for acquiring fingering data indicating the performance operator and a finger to be used for operation of the performance operator;
A function of performing a fingering evaluation of fingering data acquired by the function to earn and calculating a difficulty level;
A function of degree of difficulty, which is calculated by the function for calculating the degree of difficulty, to display the finger information by該運finger data by extracting the fingering data is within a predetermined set by the user in Viewing device,
A program to realize
JP2005376694A 2005-12-27 2005-12-27 Fingering display device and program Active JP4613817B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005376694A JP4613817B2 (en) 2005-12-27 2005-12-27 Fingering display device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005376694A JP4613817B2 (en) 2005-12-27 2005-12-27 Fingering display device and program

Publications (3)

Publication Number Publication Date
JP2007178695A JP2007178695A (en) 2007-07-12
JP2007178695A5 JP2007178695A5 (en) 2008-07-10
JP4613817B2 true JP4613817B2 (en) 2011-01-19

Family

ID=38303948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005376694A Active JP4613817B2 (en) 2005-12-27 2005-12-27 Fingering display device and program

Country Status (1)

Country Link
JP (1) JP4613817B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4880537B2 (en) * 2007-07-26 2012-02-22 株式会社河合楽器製作所 Music score display device and program for music score display
JP5071441B2 (en) * 2009-05-29 2012-11-14 カシオ計算機株式会社 Music difficulty evaluation device and music difficulty evaluation program
JP6638673B2 (en) * 2017-03-03 2020-01-29 ヤマハ株式会社 Training device, training program and training method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142461A (en) * 1999-11-15 2001-05-25 Makoto Fujisawa Musical score for piano training and musical score for singing with piano accompaniment
JP2002323890A (en) * 2001-04-24 2002-11-08 Yamaha Corp Device and program for musical score display
JP2003066958A (en) * 2001-08-29 2003-03-05 Casio Comput Co Ltd Performance practice device and performance practice processing program
JP2005165029A (en) * 2003-12-03 2005-06-23 Yamaha Corp Musical score display device and musical score display control program
JP2006064745A (en) * 2004-08-24 2006-03-09 Yamaha Corp Musical information display device, and program for realizing musical information display method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192671U (en) * 1982-06-19 1983-12-21 ヤマハ株式会社 fingering display device
JP3388532B2 (en) * 1997-01-23 2003-03-24 カシオ計算機株式会社 Fingering indicating device
JP3465595B2 (en) * 1998-03-24 2003-11-10 カシオ計算機株式会社 Performance display control device and medium storing program for executing performance display control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142461A (en) * 1999-11-15 2001-05-25 Makoto Fujisawa Musical score for piano training and musical score for singing with piano accompaniment
JP2002323890A (en) * 2001-04-24 2002-11-08 Yamaha Corp Device and program for musical score display
JP2003066958A (en) * 2001-08-29 2003-03-05 Casio Comput Co Ltd Performance practice device and performance practice processing program
JP2005165029A (en) * 2003-12-03 2005-06-23 Yamaha Corp Musical score display device and musical score display control program
JP2006064745A (en) * 2004-08-24 2006-03-09 Yamaha Corp Musical information display device, and program for realizing musical information display method

Also Published As

Publication number Publication date
JP2007178695A (en) 2007-07-12

Similar Documents

Publication Publication Date Title
US8759658B2 (en) System and method to generate and manipulate string-instrument chord grids in a digital audio workstation
US9355634B2 (en) Voice synthesis device, voice synthesis method, and recording medium having a voice synthesis program stored thereon
JP5549521B2 (en) Speech synthesis apparatus and program
US7576280B2 (en) Expressing music
JP4613817B2 (en) Fingering display device and program
JP4525591B2 (en) Performance evaluation apparatus and program
JP5589741B2 (en) Music editing apparatus and program
JP2005249844A (en) Device and program for performance indication
JP5935815B2 (en) Speech synthesis apparatus and program
CN113763912A (en) Music score processing method and device and computer equipment
JP2013003205A (en) Musical score display device, musical score display program and musical score
JP5637169B2 (en) Karaoke device and program
JP2007178696A (en) Fingering information generating device and program
JP5324193B2 (en) Music score display apparatus, music score display method and program
JP6149917B2 (en) Speech synthesis apparatus and speech synthesis method
JP2007240552A (en) Musical instrument sound recognition method, musical instrument annotation method and music piece searching method
US11880507B1 (en) Automated musical-score-referenced evaluation of haptic-based rhythmic performance
JP7219559B2 (en) Musical instrument performance practice device and musical instrument performance practice program
JP5224021B2 (en) Music score display device and program for music score display
JP5810691B2 (en) Musical score information generating apparatus and musical score information generating program
JP4880537B2 (en) Music score display device and program for music score display
JP5173725B2 (en) Electronic musical instrument and music score information processing program
JP4595852B2 (en) Performance data processing apparatus and program
WO2024072394A1 (en) Automated musical-score-referenced evaluation of haptic-based rhythmic performance
JP4148184B2 (en) Program for realizing automatic accompaniment data generation method and automatic accompaniment data generation apparatus

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4613817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3