JP3528051B2 - Performance operation display device and recording medium - Google Patents

Performance operation display device and recording medium

Info

Publication number
JP3528051B2
JP3528051B2 JP2001217442A JP2001217442A JP3528051B2 JP 3528051 B2 JP3528051 B2 JP 3528051B2 JP 2001217442 A JP2001217442 A JP 2001217442A JP 2001217442 A JP2001217442 A JP 2001217442A JP 3528051 B2 JP3528051 B2 JP 3528051B2
Authority
JP
Japan
Prior art keywords
data
finger
variable
performance
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001217442A
Other languages
Japanese (ja)
Other versions
JP2002099276A (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 JP2001217442A priority Critical patent/JP3528051B2/en
Publication of JP2002099276A publication Critical patent/JP2002099276A/en
Application granted granted Critical
Publication of JP3528051B2 publication Critical patent/JP3528051B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、鍵盤などの演奏操
作の対象となる演奏操作子群に対し、演奏の進行に応じ
て操作していく際の動作を表示するための技術に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for displaying movements of a keyboard or the like, which is a target for performance operations, when performing operations in accordance with the progress of a performance.

【0002】[0002]

【従来の技術および発明が解決しようとする課題】現在
では、多くの鍵盤楽器に、演奏の進行に応じて押鍵(操
作)すべき鍵を順次、ユーザ(演奏者)に通知していく
ナビゲーション機能が搭載されている。しかし、ナビゲ
ーション機能を利用するユーザの多くは技術的に未熟で
あり、そのナビゲーション機能によって次に押鍵すべき
鍵を知ることができても、その鍵をどの指で押鍵すべき
かが判らないのが実状である。このことから、鍵の押鍵
に使うべき指を表示する装置(演奏動作表示装置)を搭
載した鍵盤楽器も製品化されている。その演奏動作表示
装置を利用することにより、指の運び方を意識した演奏
を行えるため、ユーザにとってはより効率的な練習(学
習)を行うことができる。
2. Description of the Related Art Nowadays, many keyboard musical instruments are sequentially informed of the keys to be pressed (operated) according to the progress of the performance. The function is installed. However, many users who use the navigation function are technically inexperienced, and even if they can know the key to be pressed next by the navigation function, they do not know which finger should press the key. Is the actual situation. For this reason, keyboard musical instruments equipped with a device (playing action display device) for displaying a finger to be used for pressing a key have been commercialized. By using the performance operation display device, it is possible to perform a performance in consideration of how to carry the finger, and therefore, the user can practice (learn) more efficiently.

【0003】演奏動作表示装置の多くは、次の押鍵(操
作)に使うべき指を単に表示するだけである。しかし、
押鍵(操作)すべき鍵への指の運び方は、その鍵に単に
指を運ぶだけではない。別の指の下をくぐらせて指を運
んだり、別の指の上をまたいで指を運んだりすることも
ある。これは、単に指だけを表示した場合、その指をど
のように運んで押鍵(操作)するべきなのかをユーザが
直ちに理解できるとは限らないことを意味する。このこ
とから、例えば特開平10−39739号公報に開示さ
れているように、使う指だけでなく、その指の運び方を
より理解しやすい形で表示する演奏動作表示装置が創案
されている。
Most of the performance operation display devices simply display the finger to be used for the next key depression (operation). But,
The way to carry a finger to a key to be pressed (operated) is not only to carry the finger to the key. It may be carried by passing under another finger, or by straddling over another finger. This means that when only a finger is displayed, the user may not immediately understand how to carry the finger and press (operate) the key. Therefore, as disclosed in, for example, Japanese Unexamined Patent Publication No. 10-39739, a performance operation display device has been devised which displays not only the finger to be used but also how to carry the finger in a more understandable form.

【0004】その特開平10−39739号公報に開示
された従来の演奏動作表示装置では、押鍵時の手指(手
首から先の部分)を表示することにより、押鍵に使うべ
き指をどのような形で使うべきかをユーザに知らせるよ
うになっている。しかし、次に押鍵すべき鍵が現在、押
鍵している鍵と離れているような場合、普通、手や指を
大きく動かさなければならない。これは、押鍵時の手指
を表示しても、その表示された手指の形にどのようにし
て移行させるのかをユーザが直ちに理解できるとは限ら
ないことを意味する。このため、従来の演奏動作表示装
置には、全体的な手指の動作が判りにくいという問題点
があった。
In the conventional performance operation display device disclosed in Japanese Unexamined Patent Publication No. 10-39739, it is possible to determine which finger should be used for key pressing by displaying the finger (the part from the wrist) when the key is pressed. To let the user know what form to use. However, if the next key to be pressed is separated from the key currently being pressed, it is usually necessary to move the hand or finger largely. This means that even if the finger is displayed when the key is pressed, the user cannot always immediately understand how the shape of the displayed finger is changed. Therefore, the conventional performance operation display device has a problem that it is difficult to understand the overall motion of the fingers.

【0005】なお、上記従来の演奏動作表示装置では、
コンピュータ・グラフィクス(以降、CGと略記する)
技術を用いて、押鍵に使う指を動かしている。その指の
動きにより、押鍵に使うべき指をユーザは知ることがで
きる。しかし、その指の動きは、押鍵時の手指の形を作
った後の動きである。このため、その指の動きによっ
て、押鍵時の手指の形にどのようにして移行させるかを
ユーザに知らせることはできない。また、演奏中におけ
る実際の手指の動きにおいて、押鍵動作を開始するタイ
ミングは、その直前に押鍵された手指の位置及び状態に
よって異なる。つまり直前の押鍵位置が次の押鍵位置か
ら離れている場合、あるいは手指の状態が直前の押鍵時
の手指の状態と大きく異なっている場合などは、押鍵動
作を開始するタイミングを早めに行なっている。こうし
た手指の移行開始のタイミングなどは、単に押鍵後の手
指の状態を表示するだけの従来の演奏動作表示装置で
は、ユーザーに認識させることができなかった。
In the above conventional performance operation display device,
Computer graphics (hereinafter abbreviated as CG)
Using technology, we are moving the finger used to press the keys. The user can know the finger to be used for key depression by the movement of the finger. However, the movement of the finger is the movement after forming the shape of the finger when pressing the key. For this reason, it is not possible to inform the user how to move the finger shape when the key is pressed by the movement of the finger. Further, in the actual movement of the fingers during the performance, the timing of starting the key pressing operation differs depending on the position and the state of the finger pressed just before that. In other words, if the previous key pressing position is far from the next key pressing position, or if the state of the fingers is very different from the state of the fingers when the previous key was pressed, the timing to start the key pressing operation should be advanced. I am doing this. The timing of the start of such finger movement cannot be recognized by the user with the conventional performance operation display device that merely displays the state of the finger after key depression.

【0006】本発明の課題は、演奏中における手指の動
作をユーザが容易に理解できる形で表示するための技術
を提供することにある。
An object of the present invention is to provide a technique for displaying the movements of fingers during a performance in a form that the user can easily understand.

【0007】[0007]

【課題を解決するための手段】本発明の一態様における
演奏操作表示装置は、演奏操作子群上で発生させるべき
イベントの内容を表わすイベントデータ、該イベントの
発生タイミングを示す時間データ、及び該イベントの発
生に使用すべき指を指定する指データから構成される楽
音・運指データを取得する楽音・運指データ取得手段
と、楽音・運指データ取得手段にて取得された楽音・運
指データに基づいて、演奏操作子群中の演奏操作子の操
作を完了したとき、或いは該操作の解除を完了したとき
の指の状態を表わす動作制御データを生成する動作制御
データ生成手段と、動作制御データ生成手段により生成
され動作制御データにて表わされる演奏操作子の操作
を完了したときの指の状態へ移行を開始すべき動作開始
タイミングを、演奏操作子の操作を完了するのに要する
時間を表わす所定の基準時間に基づいて決定する動作タ
イミング決定手段と、動作制御データ生成手段からの動
作制御データ及び動作タイミング決定手段からの動作
タイミングに基づいて、演奏操作子群を操作していく
指の動作を動画表示する動作表示手段と、を具備する。
According to one embodiment of the present invention, a performance operation display device includes event data representing the contents of an event to be generated on a performance operator group, and a time indicating the occurrence timing of the event. Music and fingering data acquisition means for acquiring tone and fingering data composed of data and finger data for designating a finger to be used to generate the event, and acquired by the tone and fingering data acquisition means Based on the musical tone and fingering data, the operation of the performance operators in the performance operators group
When the work is completed or when the release of the operation is completed
An operation control data generating means for generating an operation control data representing the state of the finger, the operation of the performance operators to be represented by the operation control data that is generated by the operation control data generating means
The operation start timing that should start the transition to the finger state when the operation is completed is required to complete the operation of the performance operator.
An operation timing determining means for determining based on a predetermined reference time representing time, an operation control data from the operation control data generating means, and an operation opening from the operation timing determining means.
An operation display unit for displaying a moving image of the operation of the finger operating the performance operator group based on the start timing.

【0008】また、本発明の他の態様における演奏操作
表示装置は、演奏操作子群上で発生させるべきイベント
の内容を表わすイベントデータ、該イベントの発生タイ
ミングを示す時間データ、及び該イベントの発生に使用
すべき指を指定する指データから構成される楽音・運指
データを取得する楽音・運指データ取得手段と、楽音・
運指データ取得手段にて取得された楽音・運指データに
基づいて、演奏操作子群中の演奏操作子の操作を完了し
たとき、或いは該操作の解除を完了したときの指の状態
を表わす動作制御データを生成する動作制御データ生成
手段と、動作制御データ生成手段により生成される動作
制御データにて表わされる演奏操作子の操作を完了した
ときの指の状態へ移行を開始すべき動作開始タイミング
を、当該演奏操作子の操作時に使用される指と同じ指デ
ータを有する直前の楽音・運指データにおける時間デー
タと、演奏操作子の操作を完了するのに要する時間を表
わす第1の基準時間と、演奏操作子の操作の解除を完了
するのに要する時間を表わす第2の基準時間とに基づい
て決定する動作タイミング決定手段と、動作制御データ
生成手段からの動作制御データ及び動作タイミング決定
手段からの動作開始タイミングに基づいて、演奏操作子
群を操作していく指の動作を動画表示する動作表示手段
と、を具備する
A performance operation according to another aspect of the present invention.
The display is an event that should occur on the performance control group.
Data indicating the contents of the event, the event occurrence timing
Used to generate the event and time data
Musical tone / fingering composed of finger data that specifies the finger to be used
Tones and fingering data acquisition means to acquire data
Tones and fingering data acquired by the fingering data acquisition means
Complete the operation of the performance controls in the performance control group.
State of the finger when it is released or when the release of the operation is completed
Motion control data generation for generating motion control data
Means and the operation generated by the operation control data generating means
Completed the operation of the performance operator indicated by the control data
Timing to start the transition to the finger state
The same finger as the finger used when operating the performance operator.
Time data in the musical tone / fingering data immediately before
And the time required to complete the operation of the performance controller.
Completed releasing the first reference time and the operation of the performance control
Based on a second reference time that represents the time required to do
Operation timing determination means and operation control data
Operation control data from operation means and operation timing determination
Based on the operation start timing from the means, the performance operator
Action display means for displaying a movie of the actions of fingers operating the group
And .

【0009】[0009]

【0010】本発明の一態様における記録媒体は、演奏
操作の対象となる演奏操作子群上で発生させるべきイベ
ントの内容を表わすイベントデータ、該イベントの発生
タイミングを示す時間データ、及び該イベントの発生に
使用すべき指を指定する指データから構成される楽音・
運指データを取得する取得手順と、取得手順にて取得さ
れた楽音・運指データに基づいて、演奏操作子群中の演
奏操作子の操作を完了したとき、或いは該操作の解除を
完了したときの指の状態を表わす動作制御データを生成
する生成手順と、生成手順により生成される動作制御デ
ータにて表わされる演奏操作子の操作を完了したときの
指の状態へ移行を開始すべき動作開始タイミングを、演
奏操作子の操作を完了するのに要する時間を表わす所定
の基準時間に基づいて決定する決定手順と、生成手順で
生成した動作制御データ及び決定手順で決定した動作開
始タイミングに基づいて、演奏操作子群を操作していく
指の動作を動画表示させる表示手順と、をコンピュータ
に読み取り実行させるプログラムを記録している
A recording medium according to an aspect of the present invention is a performance medium.
Events that should be generated on the performance control group that is the target of the operation.
Event data indicating the contents of the event, occurrence of the event
For time data indicating timing and occurrence of the event
A musical sound composed of finger data that specifies the finger to be used.
The acquisition procedure for acquiring fingering data and the acquisition procedure
Based on the recorded musical tone and fingering data.
When the operation of the playing operator is completed, or when the operation is canceled.
Generates motion control data that represents the state of the finger when completed
And the motion control data generated by the generation procedure.
Data when the operation of the performance operator
Demonstrate the operation start timing that should start the transition to the finger state.
A predetermined value that represents the time required to complete the operation of the performance operator
In the decision procedure that determines based on the reference time of
The motion control data generated and the motion opening determined by the determination procedure
Operate the performance controls based on the start timing
The display procedure for displaying the motion of your finger as a movie
The program to be read and executed by is recorded .

【0011】また、本発明の他の態様における記録媒体
は、演奏操作の対象となる演奏操作子群上で発生させる
べきイベントの内容を表わすイベントデータ、該イベン
トの発生タイミングを示す時間データ、及び該イベント
の発生に使用すべき指を指定する指データから構成され
る楽音・運指データを取得する取得手と、取得手
て取得された楽音・運指データに基づいて、演奏操作子
中の演奏操作子の操作を完了したとき、或いは該操作
の解除を完了したときの指の状態を表わす動作制御デー
タを生成する生成手と、生成手により生成され
作制御データにて表わされる演奏操作子の操作を完了し
たときの指の状態へ移行を開始すべき動作開始タイミン
グを、当該演奏操作子の操作時に使用される指と同じ指
データを有する直前の楽音・運指データにおける時間デ
ータと、演奏操作子の操作を完了するのに要する時間を
表わす第1の基準時間と、前記演奏操作子の操作の解除
を完了するのに要する時間を表わす第2の基準時間と
基づいて決定する決定手と、生成手順で生成した動作
制御データ及び決定手順で決定した動作開始タイミング
に基づいて、演奏操作子群を操作していく指の動作を動
画表示させる表示手と、をコンピュータに読み取り
させるプログラムを記録している。
A recording medium according to another aspect of the present invention includes event data representing the content of an event to be generated on a group of performance operators to be subjected to a performance operation, time data indicating the timing of occurrence of the event, and an acquisition procedure for acquiring a tone-fingering data composed of finger data that specifies the finger to be used to generate the event, based on the tone-fingering data acquired by acquisition procedure, the performance operation When the operation of the performance operator in the child group is completed or
Was completed and generation procedure for generating an operation control data representing the state of the finger when the completion of the release, the operation of the performance operator represented by Ru generated by the generation procedure kinematic <br/> operation control data
The operation start timing that should start the transition to the state of the finger when the finger is pressed is the same as the finger used when operating the performance operator.
The time data in the musical tone / fingering data immediately before having the data
Data and the time required to complete the operation of the performance controller.
First reference time to represent and release of operation of the performance operator
And determination steps of determining based on a second reference time represents the time required to complete, based on the operation start timing determined by the generated operation control data and determining steps on generation procedure, the performance operation actual read display procedure and which Ru is moving image display operation of the finger to continue to operate the element group, to a computer
It has recorded a program for row.

【0012】本発明では、楽音・運指データを基に、演
奏操作子群、例えば鍵盤における押鍵または離鍵操作時
の指の状態を表わす動作制御データを生成して、この動
作制御データに基づいて動画表示を行う。そのようにし
て、演奏動作の一連の流れを動画で表現することによ
り、ユーザに演奏中における指の動作を容易に理解させ
ることが可能になる。また、押鍵操作時の動画表示にお
いて、楽音・運指データ中のイベント発生(発音)タイ
ミングよりも早いタイミングで指を移動させ始めるよう
に制御を行うことにより、自然な形で実際の演奏動作に
近い動画表示が可能となる。
According to the present invention, based on the musical tone / fingering data, a group of performance operators , for example, a key press or key release operation on the keyboard is performed.
This motion is generated by generating motion control data that represents the state of the human finger.
Video is displayed based on the work control data . In this way, by expressing a series of flow of the playing action with a moving image, it becomes possible for the user to easily understand the action of the finger during the playing. In addition, the video display when pressing the key
Event occurrence (pronunciation) in musical tone and fingering data
Start moving your finger earlier than Ming
To control the actual performance in a natural way.
A close video display is possible .

【0013】[0013]

【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら詳細に説明する。図1は、本実
施の形態による演奏動作表示装置の回路構成図である。
この演奏動作表示装置は、後述する楽音・運指データを
外部から取得し、取得した楽音・運指データに基づいて
演奏中の手指の動作を動画で表示する装置として実現さ
れている。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a circuit configuration diagram of a performance operation display device according to the present embodiment.
This performance operation display device is realized as a device that acquires musical sound / fingering data described later from the outside and displays the motion of a finger during performance as a moving image based on the acquired musical sound / fingering data.

【0014】上記演奏動作表示装置は、図1に示すよう
に、装置全体の制御を行うCPU101と、そのCPU
101が実行するプグラムや各種制御データ(画像表
示用の各種データを含む)などを格納したROM102
と、そのCPU101がワーク用に用いるRAM103
と、上記楽音・運指データを含む各種データを取得する
ためのデータ入力部104と、CPU101から送られ
たデータを画面上に表示する表示部105と、ユーザが
操作の対象とする操作部106と、CPU101の指示
に従って楽音の波形データを生成する音源107と、そ
の音源107が出力した波形データをサウンドに変換し
て放音するサウンドシステム108と、CPU101を
各部102〜107と接続するバス109と、を備えて
構成されている。
As shown in FIG. 1, the performance operation display device includes a CPU 101 for controlling the entire device, and a CPU 101 for controlling the entire device.
101 storing such profiles grams and various control data to perform (including various data for image display) ROM 102
And a RAM 103 used by the CPU 101 for work
A data input unit 104 for acquiring various data including the above-mentioned musical sound / fingering data, a display unit 105 for displaying the data sent from the CPU 101 on the screen, and an operation unit 106 to be operated by the user. A sound source 107 that generates waveform data of musical tones according to instructions from the CPU 101, a sound system 108 that converts the waveform data output from the sound source 107 into sound, and emits the sound, and a bus 109 that connects the CPU 101 to the units 102 to 107. And are provided.

【0015】上記データ入力部104は、例えばフロッ
ピー(登録商標)ディスクドライブ(FDD)である。
表示部105は、例えばCRT、或いは液晶表示装置な
どの表示装置である。操作部106は、例えば各種スイ
ッチやキー等の複数の操作子、及びそれら操作子への操
作を検出する検出回路から構成された入力装置である。
サウンドシステム108は、例えばD/Aコンバータ、
アンプ、及びスピーカからなるシステムである。なお、
データ入力部104は、外部機器が出力した信号を少な
くとも受信できるインターフェース、或いは所定のネッ
トワークとの通信を行う通信制御装置であっても良い。
The data input unit 104 is, for example, a floppy (registered trademark) disk drive (FDD).
The display unit 105 is a display device such as a CRT or a liquid crystal display device. The operation unit 106 is an input device including a plurality of operators such as various switches and keys, and a detection circuit that detects an operation on the operators.
The sound system 108 is, for example, a D / A converter,
It is a system consisting of an amplifier and a speaker. In addition,
The data input unit 104 may be an interface capable of receiving at least a signal output by an external device, or a communication control device that communicates with a predetermined network.

【0016】上記楽音・運指データは、図2に示すよう
に、楽音データに運指データを付加する形で構成されて
いる。楽音データは、通常は演奏の再生に使用される演
奏データ(シーケンスデータ)であり、楽音の音階(音
高)データ、その楽音の発音が開始(ノートオンイベン
ト)か消音(ノートオフイベント)かを含むイベントの
種別を表す種別データ、及び楽音の音高データと種別デ
ータによって特定されるイベントが発生したタイミング
を示す時間データを1単位のデータ(以降、便宜的に単
位楽音データと呼ぶ)として、その単位楽音データをイ
ベントの発生順に並べた形で構成されている。運指デー
タは、単位楽音データ毎に付加された、その単位楽音デ
ータが表すイベントを発生させるために用いるべき指を
示す指番号データからなるデータである。指番号とし
て、親指には0、人差し指には1、中指には2、薬指に
は3、小指には4がそれぞれ割り当てられている。
As shown in FIG. 2, the musical tone / fingering data is formed by adding the fingering data to the musical tone data. The musical tone data is performance data (sequence data) that is usually used for playing a musical performance, and the musical scale (pitch) data, whether the musical tone starts to sound (note-on event) or silence (note-off event). The type data indicating the type of the event including the, and the pitch data of the musical tone and the time data indicating the timing at which the event specified by the type data occurs are defined as one unit of data (hereinafter referred to as unit musical tone data for convenience). , The unit musical tone data are arranged in the order of event occurrence. The fingering data is data consisting of finger number data added to each unit tone data and indicating a finger to be used for generating an event represented by the unit tone data. As a finger number, 0 is assigned to the thumb, 1 to the index finger, 2 to the middle finger, 3 to the third finger, and 4 to the little finger.

【0017】上記運指データには、通常、指番号データ
の他に、少なくとも、動かす指が右手か左手かを示す手
データが存在し、単位楽音データ毎に、それらのデータ
が付加される。しかし、ここでは、混乱を避けて理解を
容易とするために、右手のみに着目して手データ等は考
慮しないことにする。上記時間データは、イベント間の
時間間隔(デルタタイム)でそのイベントの発生タイミ
ングを表すデータであり、種別データ、及び音高データ
は、例えばMIDIデータを構成するデータである。
In the fingering data, usually, in addition to the finger number data, at least hand data indicating whether the finger to be moved is the right hand or the left hand exists, and these data are added to each unit tone data. However, here, in order to avoid confusion and facilitate understanding, only the right hand is focused and hand data and the like are not considered. The time data is data representing the occurrence timing of the event in the time interval (delta time) between the events, and the type data and the pitch data are, for example, data forming MIDI data.

【0018】なお、上記楽音データ(演奏データ)で
は、楽音の発音開始(オン)、その楽音の消音(オフ)
をそれぞれ別のイベントとして扱い、楽音の発音期間は
それらのイベントによって指定されるようになっている
が、楽音データはそれらのイベントを一つにまとめたも
のであっても良い。即ち単位楽音データは、例えば音高
データ、その音高データで指定される楽音の発音開始タ
イミングを指定する時間データ、及びその楽音を発音さ
せている時間長(ゲートタイム)を指定する時間長デー
タから構成されるものであっても良い。このことから明
らかなように、楽音データの形式は特に限定されるもの
ではない。
In the tone data (performance data), the tone generation starts (ON) and the tone disappears (OFF).
Are treated as separate events, and the tone generation period of the musical sound is specified by those events, but the musical sound data may be a collection of those events. That is, the unit musical tone data is, for example, pitch data, time data designating the sounding start timing of the musical tone designated by the pitch data, and time length data designating the time length (gate time) during which the musical tone is sounded. It may be composed of As is clear from this, the format of the musical sound data is not particularly limited.

【0019】以上の構成において、その動作を説明す
る。CPU101は、電源がオンされると、ROM10
3に格納されているプログラムを読み出して実行するこ
とにより、装置全体の制御を開始し、表示部105には
初期画面を表示させる。以降は、ユーザの操作部106
への操作に応じて制御を行う。
The operation of the above configuration will be described. When the power is turned on, the CPU 101 turns on the ROM 10
By reading out and executing the program stored in 3, the control of the entire apparatus is started and the initial screen is displayed on the display unit 105. After that, the operation unit 106 of the user
Control according to the operation.

【0020】CPU101は、その初期画面を表示させ
るための画像データを、例えばRAM103を作業用に
使用して、ROM102から読み出した複数の画像デー
タを用いて生成する。そのようにして生成された初期画
面の画像データを送られた表示部105は、それを特に
は図示しないメモリ(例えばデュアルポートRAM)に
格納する。それ以降における表示内容の全体的、或いは
部分的な変更は、例えばCPU101が、そのメモリに
格納された画像データ中でデータを書き換えるべき部分
の画像データをROM102から読み出すか、或いはそ
れを用いて生成し、そのようにして得た画像データを、
そのメモリ中の画像データを書き換えるべき部分に上書
きすることで行われる。そのようにして、CPU101
は、表示部105に、表示すべき画面やメッセージ、後
述する演奏動作を表現する手指などを必要に応じて表示
させる。
The CPU 101 generates image data for displaying the initial screen using a plurality of image data read from the ROM 102, using the RAM 103 for work, for example. The display unit 105, to which the image data of the initial screen generated in this way is sent, stores it in a memory (for example, a dual port RAM) not particularly shown. For the whole or partial change of the display content after that, for example, the CPU 101 reads from the ROM 102 the image data of the portion of the image data stored in the memory in which the data should be rewritten, or is generated using it. Then, the image data obtained in this way is
It is performed by overwriting the image data in the memory on the portion to be rewritten. In that way, the CPU 101
Causes the display unit 105 to display a screen or a message to be displayed, a finger or the like expressing a performance operation described later, as necessary.

【0021】ユーザが操作部106を操作してフロッピ
ー(登録商標)ディスク(FD)に格納されたファイル
のデータの読み出しを指示した場合、その旨を示すデー
タが操作部106からバス109を介してCPU101
に送られる。そのデータを受け取ったCPU101は、
データ入力部(FDD)104に対しそれの読み出しを
指示するコマンドを送り、その後にデータ入力部104
から送られるそのファイルのデータをRAM103に格
納する。そのようにして、楽音・運指データを含め、ユ
ーザが指定したデータをファイル単位でFDから取得す
る。
When the user operates the operation unit 106 to instruct to read the data of the file stored in the floppy (registered trademark) disk (FD), the data indicating that is transmitted from the operation unit 106 via the bus 109. CPU 101
Sent to. The CPU 101 that received the data
A command is sent to the data input unit (FDD) 104 to read it, and then the data input unit 104 is read.
The data of the file sent from the RAM is stored in the RAM 103. In this way, the data specified by the user including the musical tone / fingering data is obtained from the FD in file units.

【0022】CPU101にデータを読み出させるファ
イルの指定は、特に詳細な説明は省略するが、操作部1
06を操作してファイル名を入力するか、或いはFDに
格納されたファイルの一覧を表示部105に表示させ
て、そのなかからファイルを選択することで行うように
なっている。その一覧に表示させるファイル名は、CP
U101が、データ入力部104にFDに格納されたフ
ァイル名を読み出させて受け取ったものである。
The specification of the file from which the CPU 101 reads data is not described in detail, but the operation unit 1
The file name is input by operating 06, or a list of files stored in the FD is displayed on the display unit 105 and a file is selected from the list. The file name displayed in the list is CP
The U 101 causes the data input unit 104 to read and receive the file name stored in the FD.

【0023】特開平10−39739号公報に開示され
た従来の演奏動作表示装置のように、基本的には押鍵時
における手指の形だけを表示させるのでは、その形に移
行するまでの手指の動かし方をユーザは理解しにくい。
このことから、本実施の形態では、イベント単位で、そ
れまでの手指の状態から、そのイベントを生じさせる手
指の状態に移行するまでの動作を動画で表示するように
している。即ち手をどこからどこまで移動させるか、ど
の指をどのように変化せるか、といったことを動画で
表示するようにしている。そのようにして、演奏中にお
ける一連の手指の動作を細かく表示した場合、どのよう
に手指を動作させれば良いのかを考えさせることなくユ
ーザに理解させることができる。
As in the conventional performance display device disclosed in Japanese Unexamined Patent Publication No. 10-39739, basically, by displaying only the shape of a finger when a key is pressed, the finger before the transition to that shape is displayed. It is difficult for the user to understand how to move.
For this reason, in the present embodiment, the motion from the state of the finger until then to the state of the finger that causes the event is displayed as a moving image for each event. That either move from where the hand to where, the operator displays video that what fingers how to change, such as. In this way, when a series of finger movements during performance is displayed in detail, the user can be made to understand without having to think about how to move the fingers.

【0024】演奏中における手指の動作を動画で表示さ
せるためには、そのためのデータ(以降、動作制御デー
タと呼ぶ)を生成しなければならない。そのデータは、
楽音・運指データから生成するが、対象となる楽音・運
指データによってはその生成に重い負荷がかかる。これ
は、動作制御データを生成しつつ、楽音・運指データ
(楽音データ)を再生させようとすると、楽音の発音や
画像の表示に不具合を生じさせる可能性があることを意
味する。即ち、楽音を発音させるべきタイミングで発音
させられなかったり、手指の動作をスムーズに表示させ
られないといったことが生じる可能性がある。このこと
から、本実施の形態では、動作制御データの生成は楽音
・運指データの再生とは別に行うようにしている。
In order to display the motions of the fingers during the performance as a moving image, it is necessary to generate data for that (hereinafter referred to as motion control data). The data is
It is generated from the musical tone / fingering data, but depending on the target musical tone / fingering data, a heavy load is required to generate it. This means that if it is attempted to reproduce the musical tone / fingering data (musical tone data) while generating the motion control data, there may be a problem in the pronunciation of the musical tone or the display of the image. That is, there is a possibility that a musical sound cannot be sounded at the timing at which it should be sounded, or that the motion of a finger cannot be displayed smoothly. Therefore, in the present embodiment, the motion control data is generated separately from the reproduction of the musical tone / fingering data.

【0025】動作制御データの生成は、例えばRAM1
03にファイル形式で格納された楽音・運指データを対
象に行うようにしている。ユーザが操作部106を操作
して、RAM103に格納された楽音・運指データのな
かから一つを指定(選択)し、動作制御データの生成を
指示した場合、CPU101は、以下のようにしてユー
ザが指定した楽音・運指データの動作制御データを生成
する。なお、楽音・運指データの指定方法は、基本的に
FDから読み出すファイルを指定する場合と同じであ
る。
The operation control data is generated by, for example, the RAM 1
The musical tone / fingering data stored in 03 in the file format is targeted. When the user operates the operation unit 106 to specify (select) one of the musical sound / fingering data stored in the RAM 103 and instruct to generate the motion control data, the CPU 101 performs the following steps. The operation control data of the musical sound / fingering data designated by the user is generated. Note that the method of designating the musical sound / fingering data is basically the same as the case of designating the file to be read from the FD.

【0026】図3は、表示用の手指の構造を説明する図
である。身体の各部は、関節を曲げて動かすことができ
る。これは、手指においても同じである。このことか
ら、本実施の形態では、図3に示すように、手首から先
を、手と5本の指に分けている。各指は、3関節の曲げ
動作が行えることから、3つの部分に更に分けている。
以降、表示する手指については、実際の手指のそれと区
別するために「パート」を最後に付けて表記することに
する。
FIG. 3 is a diagram for explaining the structure of the fingers for display. Each part of the body can move by bending a joint. This is the same with fingers. Therefore, in the present embodiment, as shown in FIG. 3, the wrist and the tip are divided into a hand and five fingers. Each finger is further divided into three parts because it can perform bending motion of three joints.
Hereinafter, the fingers to be displayed will be described with the “part” added at the end to distinguish them from those of the actual fingers.

【0027】図3中の301〜306は、各部分を動か
すうえでの基点である。具体的には、基点301は手パ
ートの基点であり、手首(の関節)に対応する。基点3
02は親指パートの基点であり、その第1関節に対応す
る。基点303〜306は、それぞれ、人差し指パー
ト、中指パート、薬指パート、及び小指パートの基点で
あり、対応している指の第1関節に対応する。
Reference numerals 301 to 306 in FIG. 3 are base points for moving each part. Specifically, the base point 301 is the base point of the hand part and corresponds to (the joint of) the wrist. Base point 3
The reference numeral 02 is the base point of the thumb part and corresponds to the first joint thereof. The base points 303 to 306 are the base points of the index finger part, the middle finger part, the ring finger part, and the little finger part, respectively, and correspond to the first joint of the corresponding finger.

【0028】手パートの状態は、基点301のx、y、
z軸上における各位置hx、hy、hzの他に、z軸の
周りの回転角hrzで管理している。それらを示す値
は、それぞれ、用意した変数に代入させることで保持さ
せている。それにより、3次元で手の動きを表現するよ
うになっている。z軸の周りの回転角hrzは、手パー
トの基点301から中指パートの基点304までの長さ
Laをx軸上に投影させた際に、基点304が投影され
たx軸上の位置から基点301が投影されたx軸上の位
置を引いて得られる長さがその長さLaと一致する状態
が基準(0度)である。例えば図3に向かって左回りが
正、右回りが負である。そのようにして、図3中の鍵盤
300との相対的な位置関係を任意に変更できるように
している。なお、x軸、或いは/及び、y軸の周りの回
転角を更に考慮しても良い。上記hx、hy、hz、及
びhrzを保持させる変数については、以降、そのシン
ボルを最後に付加して表記する(変数hx、等)ことに
する。
The states of the hand parts are x, y, and
In addition to the positions hx, hy, and hz on the z axis, the rotation angle hrz around the z axis is used for management. The values indicating them are retained by substituting the prepared variables. As a result, the movement of the hand is expressed in three dimensions. The rotation angle hrz about the z-axis is the base point from the position on the x-axis where the base point 304 is projected when the length La from the base point 301 of the hand part to the base point 304 of the middle finger part is projected on the x-axis. The reference (0 degree) is a state in which the length obtained by subtracting the projected position on the x-axis of 301 matches the length La. For example, the counterclockwise direction is positive and the clockwise direction is negative as viewed in FIG. In this way, the relative positional relationship with the keyboard 300 in FIG. 3 can be arbitrarily changed. The rotation angle around the x-axis and / or the y-axis may be further considered. For the variables that hold the above hx, hy, hz, and hrz, the symbol will be added to the end of the description (variable hx, etc.).

【0029】各指には、上記したように3つの関節があ
る。このことから、第1関節だけでなく、第2及び第3
関節も基点とし、第1関節と第2関節間、第2関節と第
3関節間、及び第3関節から先を、それぞれ一つのパー
トとしている。ここでは、それらのパートをそれぞれ、
指第1パート、指第2パート、及び指第3パートと呼ぶ
ことにする。それらの長さL1、L2、及びL3は、指
毎にその長さが異なることから、各指パート毎に定めて
いる。
Each finger has three joints as described above. From this, not only the first joint but also the second and third joints
The joint is also used as a base point, and the parts between the first joint and the second joint, between the second joint and the third joint, and beyond the third joint are one part. Here, each of those parts,
They will be referred to as the finger first part, the finger second part, and the finger third part. Since the lengths L1, L2, and L3 are different for each finger, they are determined for each finger part.

【0030】指の第1関節は2方向(曲げたり伸ばした
りする方向と、開いたり閉じたりする方向)に動き、他
の第2、及び第3関節は一方向にのみ動く。このことか
ら、指第1パートの状態は、第1関節に対応する基点上
におけるz軸の周りの回転角frzと、手の甲から手の
ひらに向けてそれを折り曲げた角度frx1とで管理し
ている。指第2パート、及び指第3パートは、それぞ
れ、第2関節、及び第3関節に対応する基点上におい
て、それを手の甲から手のひらに向けて折り曲げた角度
frx2、及びfrx3で管理している。そのようにし
て、指の間を広げたり狭めたり、指を伸ばしたり曲げた
りといった動作を模倣できるようにしている。なお、指
第1〜第3パートの状態を管理するための角度frx1
〜frx3は、例えば基点を介してつながっている2つ
のパートが直線となる状態を基準(0度)として表した
ものである。このため、例えば手の甲と指の第2関節ま
でが直線状となった状態では、角度frx1は0とな
る。以降は、角度frx1〜3の何れかを変化させる動
きを指(指パート)の縦の動き、回転角frzを変化さ
せる動きを指(指パート)の横の動きとも呼ぶことにす
る。
The first joint of the finger moves in two directions (bending and extending directions and opening and closing directions), and the other second and third joints move only in one direction. From this, the state of the first part of the finger is managed by the rotation angle frz around the z axis on the base point corresponding to the first joint and the angle frx1 obtained by bending it from the back of the hand toward the palm. The finger second part and the finger third part are managed at angles frx2 and frx3 obtained by bending them from the back of the hand toward the palm on the base points corresponding to the second joint and the third joint, respectively. In this way, it is possible to imitate actions such as expanding or narrowing the space between fingers, or extending or bending the fingers. An angle frx1 for managing the states of the finger first to third parts
.About.frx3 is represented by, for example, a state where two parts connected via a base point are straight lines as a reference (0 degree). Therefore, for example, when the back of the hand and the second joint of the finger are linear, the angle frx1 is 0. Hereinafter, the movement that changes any of the angles frx1 to 3 will be referred to as the vertical movement of the finger (finger part), and the movement that changes the rotation angle frz will also be referred to as the horizontal movement of the finger (finger part).

【0031】上記frz、及びfrx1〜3の値は、そ
れぞれ、用意した変数に代入させることで保持させてい
る。それらの値は各指パート毎に保持しなければならな
いことから、その変数は配列変数とし、指番号で指定さ
れる要素に、対応する値を代入させている。以降、fr
z、及びfrx1〜3を保持させる配列変数も、そのシ
ンボルを最後に付加して表記する(配列変数frz、
等)ことにする。
The values of frz and frx1 to frx3 are retained by substituting them into prepared variables. Since these values must be held for each finger part, the variable is an array variable and the corresponding value is assigned to the element specified by the finger number. After that, fr
An array variable that holds z and frx1 to 3 is also described by adding the symbol to the end (array variable frz,
Etc.)

【0032】各指パートの基点302〜306は、手パ
ートの基点(手首)301の位置の変化に伴って移動す
る。上記したように、各指パートは人間の指を模倣した
動きを表現させることができる。このため、鍵盤300
上の任意の鍵を押鍵するために手を移動させる動作や、
鍵を押鍵、或いは離鍵する指の動作、それらを組み合わ
せた動作を動画で表現することができる。その表現は、
鍵盤300を操作していく手指の各パートの動作を表示
することで行うことから、鍵盤300上の白鍵や黒鍵の
サイズやその並び、各鍵間の位置関係、などのデータは
予め変数などの形で用意している。
The base points 302 to 306 of each finger part move in accordance with the change in the position of the base point (wrist) 301 of the hand part. As described above, each finger part can express a movement imitating a human finger. Therefore, the keyboard 300
The action of moving your hand to press any key above,
A motion of a finger pressing a key or releasing a key, and a motion of a combination thereof can be represented by a moving image. The expression is
Since the operation of each part of the fingers operating the keyboard 300 is displayed, the data such as the size of the white and black keys on the keyboard 300, their arrangement, and the positional relationship between the keys are variable in advance. It is prepared in the form of.

【0033】図4は、手の移動範囲を説明する図であ
る。手パートは基点301によってその表示状態を管理
している。図4は、その基点301の位置として取りう
る範囲を示したものである。
FIG. 4 is a diagram for explaining the range of movement of the hand. The hand part manages its display state by the base point 301. FIG. 4 shows a range that can be taken as the position of the base point 301.

【0034】鍵盤と手首との間のy軸上における距離
は、押鍵するのが白鍵か黒鍵かで異なる。当然のことな
がら、黒鍵を押鍵する場合は白鍵を押鍵する場合と比較
して距離は小さくなる。また、同じ白鍵、或いは黒鍵を
押鍵するとしても、複数の鍵を同時に押鍵するのか1鍵
だけを押鍵するのかによってその距離は変化する。複数
の鍵を同時に押鍵しているときには、各指の間を広げた
形となっているので、1鍵だけを押鍵しているときと比
較して鍵盤に近くなる。このようなことから、本実施の
形態では、鍵盤300から離した場合の基点301のy
軸上の位置としてYPOS1、その鍵盤300に近づけ
た場合の位置としてYPOS2を定めている。
The distance on the y-axis between the keyboard and the wrist differs depending on whether the key is pressed is the white key or the black key. As a matter of course, when the black key is pressed, the distance becomes smaller than when the white key is pressed. Further, even if the same white key or the black key is pressed, the distance changes depending on whether a plurality of keys are pressed simultaneously or only one key is pressed. When a plurality of keys are pressed at the same time, the space between the fingers is widened, so that the keys are closer to the keyboard than when only one key is pressed. From this, in the present embodiment, the y of the base point 301 when separated from the keyboard 300
YPOS1 is defined as a position on the axis, and YPOS2 is defined as a position when the keyboard 300 is approached.

【0035】一方、鍵盤と手首(手のひら)の間のz軸
上における距離も、複数の鍵を同時に押鍵するのか1鍵
だけを押鍵するのかによって変化する。複数の鍵を同時
に押鍵しているときには、手全体を鍵盤に向けて移動さ
せている形となっているので、その距離は小さくなる。
このようなことから、本実施の形態では、鍵盤300か
ら離した場合の基点301のz軸上の位置としてZPO
S1、その鍵盤300に近づけた場合の位置としてZP
OS2を定めている。そのような位置を定めて、白鍵、
或いは黒鍵を押鍵するのか、複数の鍵を押鍵するのか1
鍵を押鍵するのか、といった動作の違いを表現するよう
にしている。
On the other hand, the distance on the z-axis between the keyboard and the wrist (palm) also changes depending on whether a plurality of keys are pressed simultaneously or only one key is pressed. When pressing a plurality of keys at the same time, since the whole hand is moved toward the keyboard, the distance becomes smaller.
Therefore, in the present embodiment, the ZPO position is set as the position on the z-axis of the base point 301 when it is separated from the keyboard 300.
S1, ZP as the position when approaching the keyboard 300
OS2 is defined. By setting such a position, the white key,
Or, whether to press the black key or multiple keys 1
I try to express the difference in behavior, such as whether to press a key.

【0036】図3に示すように複数のパートに分割した
手指の動画表示は、各パートの状態を演奏の進行に応じ
て順次、変更させていくことで行っている。その動画表
示を実現させるための動画制御データは、本実施の形態
では2段階で生成している。ここでは、便宜的に、始め
の段階で生成したデータを動画制御データA、次の段階
で生成したデータを動画制御データBと呼ぶことにす
る。
As shown in FIG. 3, the moving image display of fingers divided into a plurality of parts is performed by sequentially changing the state of each part according to the progress of the performance. The moving image control data for realizing the moving image display is generated in two steps in this embodiment. Here, for convenience, the data generated in the first stage will be referred to as moving image control data A, and the data generated in the next stage will be referred to as moving image control data B.

【0037】上記動画制御データAは、CPU101
が、図2に示すような楽音・運指データの他に、各指パ
ートの長さ(指第1〜第3パートの長さ)やその手パー
トにおける配置、鍵盤300上の鍵の配置や各種鍵の形
状といった予め用意したデータ(パラメータ)を参照し
つつ生成する。CPU101は、楽音・運指データ中の
単位楽音データ、及びそれに付加された指番号データ、
更にはそれらによって指定される演奏の流れなどを解析
して、イベント単位でそれまでの手指の状態から次のイ
ベントを生じさせるために移行させる手指の状態を求
め、その後者の手指の状態を指定するデータ、即ちどの
パートの状態をどのように変化させるべきかを指定する
データをRAM103に保存する。手や指を動かす速さ
は、イベント間の時間間隔の長さに依存する。その時間
間隔が短いほど、手や指を速く動かさなければならな
い。このことから、イベント間の時間間隔を基に、パー
トの状態の変化を開始するタイミングやその変化を継続
している時間を決定し、それらを示すデータも合わせて
RAM103に保存する。そのようにして生成・保存し
たデータが動画制御データAである。なお、上記解析
は、例えば楽音データに付加された運指データの生成に
用いたアルゴリズムにより行われる。それにより、求め
た手指の状態が不自然な形とならないようになってい
る。
The moving picture control data A is stored in the CPU 101.
However, in addition to the musical tone / fingering data as shown in FIG. 2, the length of each finger part (the length of the finger first to third parts), the arrangement in the hand part, the arrangement of keys on the keyboard 300, and the like. It is generated by referring to data (parameters) prepared in advance such as various key shapes. The CPU 101 uses the unit tone data in the tone / fingering data and the finger number data added to the unit tone data.
Furthermore, by analyzing the flow of the performance specified by them, the state of the finger that is to be moved to generate the next event from the state of the finger of the previous event is obtained, and the state of the finger of the latter is specified. The data to be specified, that is, the data designating which part state and how should be changed is stored in the RAM 103. The speed with which you move your hand or finger depends on the length of the time interval between events. The shorter the time interval, the faster you must move your hands and fingers. Therefore, based on the time interval between events, the timing to start changing the state of the part and the time during which the change continues are determined, and the data indicating them is also stored in the RAM 103. The data generated and stored in this way is the moving image control data A. The above analysis is performed by the algorithm used to generate the fingering data added to the musical sound data, for example. As a result, the condition of the obtained finger does not become an unnatural shape.

【0038】上記動画制御データAの生成によって、離
鍵イベントでは離鍵させる指パートの離鍵後の状態が決
定し、押鍵イベントでは指パートの押鍵時の状態の他
に、必要に応じて、その状態への移行に合わせて他のパ
ートの状態を決定する。他のパートの状態の決定とは、
例えば押鍵すべき鍵の位置やその種類(白鍵か黒鍵か)
に応じた手パートの移動や、押鍵中の鍵があれば、その
鍵を押鍵させている指パートはその鍵から離すことがで
きないことから、その手パートの移動に伴って指パート
間を広げたり狭くする、といったことである。CPU1
01は、その決定した状態に移行するまでを幾つかの段
階に分け、各段階毎にその状態を示すデータを生成し、
RAM103に動作制御データAとは別に保存する。そ
のようにして生成・保存したデータが動作補助データB
である。なお、本実施の形態では、後述するように、イ
ベント単位での動作制御データAの生成に連動して、動
作制御データBの生成も行うようにしている。
By the generation of the moving image control data A, in the key release event, the state of the finger part to be released after the key release is determined, and in the key press event, in addition to the state of the finger part when the key is pressed, if necessary. Then, the states of other parts are determined in accordance with the transition to that state. What is the determination of the state of other parts?
For example, the position of the key to be pressed and its type (white key or black key)
If there is a key that is being pressed or if there is a key being pressed, the finger part that is pressing the key cannot be released from that key. To widen or narrow. CPU1
01 divides into several stages until it shifts to the determined state, and generates data indicating the state for each stage,
The operation control data A is stored separately in the RAM 103. The data generated and stored in this way is the motion auxiliary data B.
Is. In this embodiment, as will be described later, the operation control data B is also generated in association with the generation of the operation control data A for each event.

【0039】図5は、上述したようにして生成・保存さ
れる動作制御データの構成を説明する図である。同図
(a)は動作制御データA、同図(b)は動作制御デー
タBを示す。
FIG. 5 is a diagram for explaining the structure of the operation control data generated / saved as described above. The figure (a) shows the operation control data A, and the figure (b) shows the operation control data B.

【0040】動作制御データAは、図5(a)に示すよ
うに、値を変更すべき変数、或いは配列変数の要素を指
定するデータ(以降、変数指定データと呼ぶ)、変数、
或いは配列変数の要素の変更後の値である値データ、変
数、或いは配列変数の要素に対応するパートを動作させ
ている時間を示す動作時間データ、及びそのパートの動
作終了、或いは動作開始のタイミングを指定する時間デ
ータを、演奏上の1イベントに対応するデータ(それら
をまとめて単位動作データAと呼ぶことにする)として
構成されている。値データ、及び動作時間データは変数
指定データ毎に存在する。それにより、変数指定データ
が指定する変数、或いは配列変数の要素の値で指定され
るパートの状態は、独立に変化させられるようにしてい
る。単位動作データA中の時間データは、楽音・運指デ
ータ中の対応する単位楽音データ中の時間データと一致
する。なお、一組の変数指定データ、値データ、及び動
作時間データはパートの或る状態量をどのように変化さ
せるかを表していることから、以降、それらをまとめて
パート動作データと呼ぶことにする。
The operation control data A is, as shown in FIG. 5A, data for designating a variable whose value is to be changed or an element of an array variable (hereinafter referred to as variable designation data), a variable,
Alternatively, the value data which is the value after the change of the element of the array variable, the operation time data indicating the time during which the part corresponding to the variable or the element of the array variable is operated, and the operation end or operation start timing of the part. The time data for designating "1" is configured as data corresponding to one event in the performance (these are collectively referred to as unit operation data A). Value data and operation time data exist for each variable designation data. Thereby, the state of the part designated by the variable designated by the variable designation data or the value of the element of the array variable can be changed independently. The time data in the unit motion data A matches the time data in the corresponding unit tone data in the tone / fingering data. Since a set of variable designation data, value data, and operation time data represents how to change a certain state quantity of a part, they will be collectively referred to as part operation data hereinafter. To do.

【0041】図5(a)に示す動作制御データAは、図
2に示す楽音・運指データを基に生成されたものであ
り、以下のようなイベント、即ちパートの状態変化を生
じさせることを表している。図2も参照しつつ、時系列
に沿って説明する。
The operation control data A shown in FIG. 5A is generated on the basis of the musical tone / fingering data shown in FIG. 2, and causes the following events, that is, the state change of the part. Is represented. The description will be given in chronological order with reference to FIG.

【0042】図2に示すように、楽音・運指データ中の
最初の単位楽音データが指定するイベントは、音名が
「C3」の楽音の発音開始である。その「C3」は、鍵
番号(ノートナンバー)の64が対応する。このため、
そのイベントは、鍵盤号64の鍵の押鍵を表している。
As shown in FIG. 2, the event designated by the first unit tone data in the tone / fingering data is the start of sounding the tone having the note name "C3". The key number (note number) 64 corresponds to the "C3". For this reason,
The event represents the pressing of the key of keyboard number 64.

【0043】そのイベントの発生は、時間データの値で
ある100で指定されるタイミングであり、その前には
イベントは存在していない。各パートには初期状態(対
応する変数、或いは配列変数の要素の初期値)を定めて
いる。このため、そのイベントが発生する様子を表示す
るには、指番号データで指定された人差し指パートで鍵
盤号64の鍵を押鍵させるまでに、その押鍵を行える位
置にまで手パートを移動させておかなければならない。
ここでは、変数hxの値を値データの100として得ら
れる位置に手パートを移動させなければならない。動作
制御データA中の最初の単位動作データAは、そのため
に生成されたものである。その単位動作データAでは、
時間データの値が0で動作時間データも0である。この
ため、それは、図6(a)に示すように、手パートは初
めから変数hxの値を100としたx軸上の位置に表示
させることを表している。
The occurrence of the event is the timing designated by the value 100 of the time data, and the event does not exist before that. An initial state (corresponding variable or initial value of an element of an array variable) is defined for each part. Therefore, to display how the event occurs, move the hand part to a position where you can press the key on the keyboard number 64 by the index finger part specified by the finger number data. I have to keep it.
Here, the hand part must be moved to a position where the value of the variable hx is obtained as 100 of the value data. The first unit operation data A in the operation control data A is generated for that purpose. In the unit operation data A,
The value of the time data is 0 and the operation time data is also 0. Therefore, as shown in FIG. 6A, this means that the hand part is displayed at the position on the x axis with the value of the variable hx set to 100 from the beginning.

【0044】なお、手パートは、最初の押鍵を行える位
置に初めから表示させなくても良い。例えば、予め定め
た位置に表示させた後、その押鍵を行うべきタイミング
となるまでに、その位置から押鍵を行える位置に移動さ
せても良い。時間データ、及び動作時間データの値は、
予め定めた単位時間で表したものであることから、その
値で指定される時間の単位は単位時間と呼ぶことにす
る。
The hand part does not have to be displayed from the beginning at the position where the first key depression can be performed. For example, after being displayed at a predetermined position, it may be moved from that position to a position where the key can be pressed by the time when the key should be pressed. The values of time data and operation time data are
Since it is expressed in a predetermined unit time, the unit of time designated by the value will be called unit time.

【0045】次の単位動作データAでは、時間データは
100、変数指定データは配列要素frx1[1]と配
列要素note[1]を指定し、値データは配列要素f
rx1[1]の値として10を、配列変数note
[1]の値として64をそれぞれ指定し、動作時間デー
タは配列要素frx1[1]では−5、配列要素not
e[1]では0となっている。これは、直前(最初)の
単位動作データAが表すイベントから100単位時間が
経過した後、人差し指パートを第1関節で曲げて鍵盤号
64の鍵を押鍵するイベントを発生させることを表して
いる。動作時間データの負の値は、その第1関節で曲げ
始めるのを時間データで指定されるタイミングより5単
位時間だけ早く開始させることを表している。それによ
り、直前のイベントから95単位時間が経過した後に、
人差し指パートは鍵盤号64の鍵に対する押鍵動作を開
始し、100単位時間が経過したときに押鍵が完了する
ことになっている。配列変数note[1]の動作時間
データの0は時間データが示すタイミングで楽音を発音
開始させることを表している。
In the next unit operation data A, the time data is 100, the variable designation data designates the array element frx1 [1] and the array element note [1], and the value data is the array element f.
The value of rx1 [1] is 10, and the array variable note
64 is designated as the value of [1], and the operation time data is -5 in the array element frx1 [1], and the array element not.
It is 0 at e [1]. This means that, after 100 unit time has passed from the event represented by the immediately preceding (first) unit motion data A, an event of bending the index finger part at the first joint and pressing the key of the keyboard number 64 is generated. There is. A negative value of the operation time data indicates that the bending of the first joint is started 5 unit times earlier than the timing specified by the time data. As a result, after 95 unit time has passed from the last event,
The index finger part starts the key pressing operation for the key of the keyboard number 64, and the key pressing is completed when 100 unit time has elapsed. The 0 in the operation time data of the array variable note [1] indicates that the musical tone starts to be sounded at the timing indicated by the time data.

【0046】その次の単位動作データAでは、時間デー
タは50、変数指定データは配列要素frx1[1]と
配列要素note[1]を指定し、値データは配列要素
frx1[1]の値として0を、配列変数note
[1]の値として0をそれぞれ指定し、動作時間データ
は配列要素frx1[1]では2、配列要素note
[1]では0となっている。これは、直前の単位動作デ
ータAが表すイベントから50単位時間が経過した後、
それまで第1関節で曲げていた人差し指パートを伸ばし
て鍵盤号64の鍵を離鍵するイベントを発生させること
を表している。動作時間データの値は正である。それに
より、直前のイベントから50単位時間が経過した後
に、人差し指パートは伸び始めて鍵盤号64の鍵を離鍵
し、それから2単位時間が経過して元の位置に戻ること
になっている。配列変数note[1]の値データの0
は離鍵を表し、その動作時間データの0は時間データが
示すタイミングで楽音を消音させることを表している。
In the next unit operation data A, the time data is 50, the variable designation data designates the array element frx1 [1] and the array element note [1], and the value data is the value of the array element frx1 [1]. 0 is the array variable note
0 is designated as the value of [1], and the operation time data is 2 in the array element frx1 [1], and the array element note.
It is 0 in [1]. This is after 50 unit time has passed from the event represented by the immediately preceding unit operation data A,
This indicates that the index finger part that has been bent at the first joint is extended to generate an event of releasing the key of the keyboard number 64. The value of the operating time data is positive. As a result, after 50 units of time have passed from the previous event, the index finger part begins to extend, releases the key of the keyboard number 64, and then returns to the original position after 2 units of time have elapsed. 0 of the value data of the array variable note [1]
Represents a key release, and 0 of the operation time data represents that the musical sound is muted at the timing indicated by the time data.

【0047】このように、動作制御データA中の単位動
作データAは、イベント発生時に、どのパートをどの状
態に移行させるかを指定するだけでなく、その移行にか
ける時間を動作時間データによって指定するようになっ
ている。
As described above, the unit operation data A in the operation control data A not only specifies which part is transferred to which state when an event occurs, but also specifies the time taken for the transfer by the operation time data. It is supposed to do.

【0048】一方の動作制御データBは、図5(b)に
示すように、値を変更すべき変数、或いは配列変数の要
素を指定する変数指定データ、変数、或いは配列変数の
要素の変更後の値である値データ、及び、変数指定デー
タとそれの値データによって指定される状態に変化させ
るタイミングを指定する時間データを、1段階の動作を
表現するデータ(それらをまとめて段階動作データと呼
ぶ)として構成されている。当然のことながら、段階動
作データ中の時間データの値は、対応する単位動作デー
タA中の時間データの値以下である、単位動作データA
を構成するパート動作データの数、即ち変数指定データ
が指定する変数、或いは配列変数の要素の数は、それま
での状態やイベントの内容などによって異なる。指パー
トを折り曲げるだけで済むのであれば一つの配列変数の
要素の値を変更するだけで済む。しかし、他の指パート
との間隔を広げて或る指パートを折り曲げるのであれ
ば、その指パートでは二つの要素の値を変更する必要が
ある。例えばその指パートが中指パートであり、人差し
指パートとの間隔を広げるのであれば、中指パートの外
側に位置する薬指パートや小指パートも、その中指パー
トの横の動きに合わせて、それぞれ、一つの要素の値を
変更しなければならない。このようなことから、図5
(b)には、各パート毎に、値の変更の対象となりうる
変数、及び配列変数の要素を示してある。親指パートの
frz、frx1〜3は、全て配列変数の要素であり、
明確に図示していないが、それらは人差し指パート、中
指パート、薬指パート、及び小指パートにも存在する。
各配列変数の要素は、指パートの指番号を引数として指
定される。
On the other hand, the operation control data B is, as shown in FIG. 5B, after the change of the variable designating data for designating the variable whose value is to be changed or the element of the array variable, the variable, or the element of the array variable. Value data that is the value of, and time data that designates the timing to change to the state designated by the variable designation data and its value data, the data that represents one stage of the operation (collectively these as stage operation data Is called). As a matter of course, the value of the time data in the step operation data is less than or equal to the value of the time data in the corresponding unit operation data A.
The number of part operation data constituting the, that is, the number of variables designated by the variable designation data or the number of elements of the array variable differs depending on the state and the content of the event. If you only need to bend the finger part, you only need to change the value of the element of one array variable. However, if a certain finger part is bent by widening the space between the finger part and another finger part, it is necessary to change the values of the two elements for that finger part. For example, if the finger part is the middle finger part and the distance from the forefinger part is widened, the ring finger part and the little finger part located outside the middle finger part are also adjusted to one by each side movement of the middle finger part. You have to change the value of the element. From such a point, FIG.
In (b), for each part, variables that can be subject to change of values and elements of array variables are shown. Frz and frx1 to 3 of the thumb part are all array variable elements,
Although not explicitly shown, they are also present in the index finger part, middle finger part, ring finger part, and little finger part.
The element of each array variable is designated with the finger number of the finger part as an argument.

【0049】図5(b)に示す動作制御データBは図5
(a)に示す動作制御データAを基に生成したものであ
る。動作制御データA中で最初に位置する単位動作デー
タA中の動作時間データの値は0であり、2番目の単位
動作データA中の時間データの値は100、その単位動
作データA中で最初に位置するパート動作データ中の動
作時間データの値は5である。2番目、及び3番目の
段階動作データ中の時間データの値はそれぞれ95、2
となっている。このことから明らかなように、それらの
段階動作データは2番目の単位動作データAを基に生成
されたものであり、人差し指パートによる押鍵動作を表
現するために、特には図示していないが、変数指定デー
タによって配列要素frx1[1]が指定され、それに
代入すべき値が値データとして設定されている。
The operation control data B shown in FIG. 5B is shown in FIG.
It is generated based on the operation control data A shown in (a). The value of the operation time data in the unit operation data A located first in the operation control data A is 0, the value of the time data in the second unit operation data A is 100, and the first in the unit operation data A value of the operating time data in the part operation data located at the - 5. The values of the time data in the second and third stage operation data are 95 and 2, respectively.
Has become. As is apparent from this, the stepwise motion data is generated based on the second unit motion data A, and is not particularly shown in order to express the key pressing motion by the index finger part. The array element frx1 [1] is designated by the variable designation data, and the value to be assigned to it is set as the value data.

【0050】図6は、手指の動作表示例を説明する図で
ある。図5に示す動作制御データに従って手指の各パー
トの状態を変化させていく様子を示したものである。図
6(a)において、楽音・運指データでは、楽音・運指
データによって指定される楽音の発音開始タイミング
(押鍵タイミング)、及びその消音タイミング(離鍵タ
イミング)を時間軸上に矢印で示してある。楽音の音名
(「C」や「F」など)は矢印の近傍に示してある。指
動作では、押鍵動作開始タイミング、及び離鍵動作開始
タイミングを時間軸上に矢印で示してある。その矢印の
近傍に表記した「1」や「2」などの数字は、押鍵、或
いは離鍵する指パートの指番号である。手x位置では、
手パートのx軸上の位置の時間変化を示してある。手y
位置、及び手z位置では、それぞれ、手パートのy軸
上、及びz軸上の位置の時間変化を示してある。手z位
置の時間軸に表記した0は、楽音・運指データの再生開
始時点を示している。なお、手x位置、手y位置、及び
手z位置は、それぞれ、初期位置からの移動を相対的に
示したものである。
FIG. 6 is a diagram for explaining an example of finger motion display. FIG. 6 shows how the state of each part of the finger is changed according to the operation control data shown in FIG. 5. In FIG. 6A, in the musical tone / fingering data, the sound generation start timing (key pressing timing) of the musical tone specified by the musical tone / fingering data and its mute timing (key releasing timing) are indicated by arrows on the time axis. It is shown. The note names of musical tones (such as "C" and "F") are shown near the arrows. In the finger operation, the key press operation start timing and the key release operation start timing are indicated by arrows on the time axis. Numbers such as "1" and "2" written near the arrow are finger numbers of finger parts to be pressed or released. In the hand x position,
The time change of the position of the hand part on the x-axis is shown. Hand y
In the position and the hand z position, time changes of the position on the y axis and the z axis of the hand part are shown, respectively. The 0 indicated on the time axis of the hand z position indicates the time when the reproduction of the musical sound / fingering data is started. It should be noted that the hand x position, the hand y position, and the hand z position respectively indicate movements from the initial position.

【0051】図6(a)に示すように、押鍵動作は、実
際に楽音を発音させるタイミングよりも前に開始し、離
鍵動作は、楽音の消音タイミングと合わせて開始するよ
うになっている。手パートのx軸上における位置は、音
名が「C」の鍵の離鍵動作開始後に、次に人差し指パー
トによって音名が「F」の鍵を押鍵できる位置に向かっ
て移動を開始し、その押鍵開始タイミングの前に移動を
完了させている。手パートのy軸上における位置は、親
指パート、人差し指パート、中指パート、及び薬指パー
トによって、それぞれ、発音される楽音の音名が「D
#」、「F」、「G」、及び「B」の鍵を同時に押鍵し
ていることを表現するために、「G」の鍵の離鍵後に鍵
盤300に向かって移動を開始し、即ち図4に示す位置
YPOS1から位置YPOS2に向かって移動を開始
し、それらの鍵の離鍵が開始するまでは位置YPOS2
にとどまり、その離鍵の開始後に位置YPOS2から位
置YPOS1に向かって移動を開始する。手パートのz
軸上における位置は、それらの鍵の押鍵動作開始から最
後の鍵の押鍵が終了するまでの間に鍵盤300に向かっ
て下降する。即ちその間に図4に示す位置ZPOS1か
ら位置ZPOS2に移動する。位置ZPOS2から位置
ZPOS1への移動は、それらの鍵の離鍵動作開始から
最後の鍵の離鍵が終了するまでの間に行われている。
As shown in FIG. 6 (a), the key pressing operation is started before the timing of actually producing the musical tone, and the key releasing operation is started at the timing of muting the musical tone. There is. The position of the hand part on the x-axis starts to move to a position where the key having the note name “F” can be pressed next by the index finger part after the key releasing operation of the key having the note name “C” is started. , The movement is completed before the key depression start timing. Regarding the position of the hand part on the y-axis, the note names of the musical tones produced by the thumb part, the index finger part, the middle finger part, and the ring finger part are “D”.
In order to express that the keys of “#”, “F”, “G”, and “B” are pressed at the same time, the movement toward the keyboard 300 is started after the key of “G” is released. That is, the movement starts from the position YPOS1 shown in FIG. 4 toward the position YPOS2, and the position YPOS2 continues until the keys are released.
After the key release, the movement from the position YPOS2 to the position YPOS1 is started. Hand part z
The position on the axis is lowered toward the keyboard 300 from the start of the key pressing operation of those keys to the end of the key pressing of the last key. That is, in the meantime, it moves from the position ZPOS1 shown in FIG. 4 to the position ZPOS2. The movement from the position ZPOS2 to the position ZPOS1 is performed from the start of the key releasing operation of those keys to the end of the key releasing of the last key.

【0052】図6(b)は、図6(a)中の時点〜
における手パートの基点(手首)301の位置を示す図
である。それらの時点〜におけるxy平面上の位置
は、それぞれ、〜で示してある。
FIG. 6B shows the time points in FIG.
5 is a diagram showing the position of a base point (wrist) 301 of the hand part in FIG. The positions on the xy plane at those time points are indicated by.

【0053】図6(b)に示すように、手パートは、始
めにで示す位置からで示す位置にまで移動する。次
には複数鍵を同時に押鍵するために、で示す位置に移
動する。そので示す位置とで示す位置が同じことか
ら明らかなように、複数鍵を押鍵している間はその位置
にとどまる。で示す位置はで示す位置と同じであ
る。このことから、複数鍵を離鍵後は、で示す位置か
らで示す位置に移動する。
As shown in FIG. 6B, the hand part moves from the position shown at the beginning to the position shown at. Next, in order to press a plurality of keys at the same time, move to the position indicated by. As is clear from the fact that the position indicated by and the position indicated by, are the same while pressing a plurality of keys. The position indicated by is the same as the position indicated by. Therefore, after releasing the keys, the key moves from the position indicated by to the position indicated by.

【0054】上述したように、手パートを移動させた
り、各指パートの状態を変化させることで手指の動作を
動画で表現している。図7は、実際の表示例を示す図で
ある。
As described above, the motion of the fingers is represented by a moving image by moving the hand part or changing the state of each finger part. FIG. 7 is a diagram showing an actual display example.

【0055】図7に示すように、実際には、右手だけで
なく、左手も表示している。押鍵中か否かをユーザが判
りやすいように、押鍵中の鍵は他と表示色を変えて表現
している。その表示色の変更は、押鍵時(発音開始時)
から離鍵時(消音時)の間だけ行っても良いが、押鍵す
べき鍵を事前に通知する、或いは離鍵すべき鍵を事前に
通知する、といったことのために、表示色を複数の色に
変更するようにしても良い。なお、特に詳細な説明は省
略するが、本実施の形態では、手指の各パートのサイズ
の変更、即ち拡大、或いは縮小や、各パートの表示の透
過表示、或いはワイヤーフレーム表示への変更、表示角
度の変更、なども行えるようになっている。ユーザが実
際に操作する鍵盤を備えている場合には、ユーザの演奏
速度に応じて、楽音・運指データの再生速度(演奏動作
の表示速度を含む)を変更するようにしても良い。
As shown in FIG. 7, not only the right hand but also the left hand is actually displayed. In order for the user to easily recognize whether or not the key is being pressed, the key being pressed is expressed in a different display color from the other keys. The display color can be changed when a key is pressed (at the start of sounding)
It may be performed only when the key is released (when the sound is muted), but multiple display colors are used to notify the key to be pressed in advance or the key to be released in advance. The color may be changed to. Although detailed description is omitted, in the present embodiment, the size of each part of the fingers is changed, that is, enlarged or reduced, the transparent display of the display of each part, or the change or display to the wire frame display. You can also change the angle. When the keyboard actually operated by the user is provided, the reproduction speed of the musical tone / fingering data (including the display speed of the performance operation) may be changed according to the performance speed of the user.

【0056】図6に示すような手指パートの動作表示
は、ユーザが操作部106を操作して、RAM103に
格納された楽音・運指データの再生を指示した場合に行
われる。その指示をユーザが行うと、CPU101は、
楽音・運指データ(ここでは運指データを除いた部分で
ある楽音データのみが対象)とそれを基に生成した動作
制御データBを並行に処理する。それにより、楽音の発
音と同期した手指の各パートの動作を表示部105に表
示させる。本実施の形態では、それ以外に、楽音データ
から演奏内容を示す楽譜を表示するようになっている。
The operation display of the finger part as shown in FIG. 6 is performed when the user operates the operation unit 106 to instruct the reproduction of the musical sound / fingering data stored in the RAM 103. When the user gives the instruction, the CPU 101
Musical tone / fingering data (here, only the musical tone data, which is the portion excluding the fingering data), and the motion control data B generated based on it are processed in parallel. As a result, the operation of each part of the finger synchronized with the pronunciation of the musical sound is displayed on the display unit 105. In addition to the above, in the present embodiment, a musical score indicating musical performance data is displayed from the musical sound data.

【0057】図8は、本実施の形態による演奏動作表示
装置の機能ブロック図である。図8に示すように、上記
演奏動作表示装置は、機能的に見て、基本的に、楽音・
運指データから動作制御データを生成するデータ生成部
801、及び楽音・運指データや動作制御データを再生
するリアルタイム処理部802から構成されている。デ
ータ生成部801において、楽音・運指データから動作
制御データを生成するのは動作制御データ生成部803
によって行われる。そのデータ生成部801には、図1
において、例えばCPU101、ROM102、RAM
103、データ入力部104、表示部105、及び操作
部106が対応する。
FIG. 8 is a functional block diagram of the performance operation display device according to this embodiment. As shown in FIG. 8, the performance operation display device is basically functionally
It is composed of a data generation unit 801 that generates operation control data from fingering data, and a real-time processing unit 802 that reproduces tone / fingering data and operation control data. In the data generation unit 801, the motion control data generation unit 803 generates the motion control data from the musical tone / fingering data.
Done by The data generation unit 801 includes
In, for example, CPU 101, ROM 102, RAM
103, the data input unit 104, the display unit 105, and the operation unit 106 correspond to each other.

【0058】一方のリアルタイム処理部802は、デー
タ生成部801が生成した動作制御データや楽音データ
を処理するデータ送出部(シーケンス処理部)804、
そのデータ送出部804から送られた動作制御データに
従って手指の動作を表示する動作表示部805、それか
ら送られた楽音データに従って楽音を放音する音源部
06、及びそれから送られた楽音データに応じて楽譜を
表示する楽譜表示部807を備えたものである。図1に
おいて、例えばCPU101、ROM102、RAM1
03、表示部105、操作部106、音源107、及び
サウンドシステム108が対応する。
On the other hand, the real-time processing unit 802 is a data transmission unit (sequence processing unit) 804 for processing the operation control data and the musical tone data generated by the data generation unit 801.
The sound source section 8 to sound a musical tone in accordance with the operation display unit 805 for displaying the operation of the finger in accordance with the operation control data sent from the data sending unit 804 tone data then sent,
06, and a musical score display unit 807 for displaying a musical score in accordance with the musical sound data sent from the musical instrument 06. In FIG. 1, for example, CPU 101, ROM 102, RAM 1
03, the display unit 105, the operation unit 106, the sound source 107, and the sound system 108 correspond.

【0059】次に、上述した動作制御データの生成やそ
の再生などを実現するCPU101の動作について、図
9〜図21に示す各種動作フローチャートを参照して詳
細に説明する。
Next, the operation of the CPU 101 for realizing the above-mentioned generation of the operation control data and the reproduction thereof will be described in detail with reference to various operation flowcharts shown in FIGS. 9 to 21.

【0060】図9は、動作制御データ生成処理の動作フ
ローチャートである。この生成処理は、ユーザが操作部
106を操作して、RAM103に格納された楽音・運
指データのなかから一つを指定(選択)し、動作制御デ
ータの生成を指示した場合に、CPU101が、ROM
102に格納されているプログラムを実行することで実
現される処理である。図8に示すデータ生成部801は
その生成処理を実行することによって実現される。始め
に図9を参照して、その生成処理について詳細に説明す
る。
FIG. 9 is an operation flowchart of the operation control data generation processing. This generation processing is performed by the CPU 101 when the user operates the operation unit 106 to specify (select) one of the musical sound / fingering data stored in the RAM 103 and to instruct generation of motion control data. , ROM
The process is realized by executing the program stored in 102. The data generation unit 801 shown in FIG. 8 is realized by executing the generation process. First, the generation process will be described in detail with reference to FIG.

【0061】この生成処理では、ユーザが指定した楽音
・運指データから単位楽音データ、及びそれに付加され
た指番号データを順次、読み出しながら、その単位楽音
データが表すイベントを指番号データが指定する指によ
って発生させる様子を表示するための動作制御データを
生成するようになっている。ここでは、単位楽音データ
が表すイベントの種類として、ノートオンイベント、及
びノートオフイベントに重点をおいて処理の流れを示し
てある。
In this generation process, the finger number data designates the event represented by the unit tone data while sequentially reading out the unit tone data and the finger number data added thereto from the tone / fingering data designated by the user. The operation control data for displaying the state of being generated by the finger is generated. Here, the flow of processing is shown with emphasis on note-on events and note-off events as the types of events represented by the unit musical sound data.

【0062】先ず、ステップ901では、初期設定を行
う。その初期設定により、各種変数には初期値が代入さ
れ、RAM103には動作制御データを格納する領域が
確保される。楽音・運指データから読み出す単位楽音デ
ータを管理するための変数peには、その先頭に位置す
る単位楽音データが格納されたアドレス値が代入され
る。
First, in step 901, initial setting is performed. By the initial setting, initial values are assigned to various variables, and an area for storing operation control data is secured in the RAM 103. The variable pe for managing the unit tone data read from the tone / fingering data is assigned the address value at which the unit tone data at the head is stored.

【0063】ステップ901に続くステップ902で
は、楽音・運指データが終了したか否か判定する。例え
ば、楽音・運指データの最後には、そのデータの終了を
表すユニークなデータ(以降、エンドデータと呼ぶ)が
付加されている。このため、変数peの値が指定するデ
ータがそのエンドデータであった場合、判定はYESと
なり、ここで一連の処理を終了する。そうでない場合に
は、判定はNOとなってステップ903に移行する。
In step 902 following step 901, it is determined whether or not the musical tone / fingering data has been completed. For example, at the end of the musical tone / fingering data, unique data indicating the end of the data (hereinafter referred to as end data) is added. Therefore, when the data designated by the value of the variable pe is the end data, the determination is YES, and the series of processing is ended here. Otherwise, the determination is no and the process moves to step 903.

【0064】ステップ903では、変数tkoldに変
数tktimeの値を代入した後、その変数tktim
eに、それまでの値に変数peが指定する単位楽音デー
タの時間データの値を加算した値を代入する。続くステ
ップ904では、その変数peの値が指定する単位楽音
データが表すイベントがノートオンイベントか否か判定
する。その単位楽音データがノートオンイベントを表す
ものであった場合、判定はYESとなってステップ90
5に移行し、そうでない場合には、判定はNOとなって
ステップ915に移行する。なお、各単位楽音データの
時間データの値を累算していくことから明らかなよう
に、変数tktimeの値は楽音データの再生を開始し
てから経過した時間(絶対時間)で示す値である。
In step 903, the value of the variable tktime is assigned to the variable tkold, and then the variable tktim.
The value obtained by adding the value of the time data of the unit musical sound data specified by the variable pe to the value up to that point is substituted into e. In the following step 904, it is determined whether the event represented by the unit musical sound data designated by the value of the variable pe is a note-on event. If the unit tone data represents a note-on event, the determination is yes and step 90.
If not, the determination is NO and the process proceeds to step 915. It should be noted that, as is clear from the fact that the values of the time data of each unit musical sound data are accumulated, the value of the variable tktime is a value indicated by the time (absolute time) elapsed after the reproduction of the musical sound data is started. .

【0065】ステップ905〜909では、ノートオン
イベントを表す単位楽音データに対応するための処理が
行われる。先ず、ステップ905では、変数peの値で
指定される単位楽音データを基に、各種の設定を行う。
それにより、変数figに指番号データの値を代入し、
変数noteには音高データ(鍵盤号)を代入するとと
もに、それらの値から単位動作データAを生成して保存
する。そのような代入が終了した後はステップ906に
移行する。なお、ここで生成される単位動作データA
は、時間データ、変数figの値で指定される配列要素
note[fig]を指定する変数指定データ、及びそ
の配列要素note[fig]の値データ(変数fig
の値で指定される指パートに押鍵させる鍵のノートナン
バー)である(図5(a)参照)。
In steps 905 to 909, the processing for dealing with the unit tone data representing the note-on event is performed. First, at step 905, various settings are made based on the unit musical tone data designated by the value of the variable pe.
As a result, the value of the finger number data is assigned to the variable fig,
Pitch data (keyboard number) is substituted for the variable note, and unit operation data A is generated and stored from those values. After such substitution is completed, the process proceeds to step 906. The unit operation data A generated here
Is time data, variable designation data that designates the array element note [fig] designated by the value of the variable fig, and value data of the array element note [fig] (variable fig).
Is the note number of the key to be pressed by the finger part specified by the value (see FIG. 5A).

【0066】ステップ906では、その変数peの値で
指定される単位楽音データが表すノートオンイベントの
発生時に、他のノートオンイベントが発生中か否か、即
ち他の鍵が押鍵されているか否か判定する。他の鍵が押
鍵されていない場合、判定はYESとなってステップ9
07に移行し、そうでない場合には、判定はNOとなっ
て後述するステップ909に移行する。なお、上記押鍵
の判定は、楽音・運指データが表す仮想的な演奏を想定
しての判定である。以降も便宜的に、特に断らない限
り、その想定で説明を行うことにする。
At step 906, when a note-on event represented by the unit tone data designated by the value of the variable pe occurs, whether or not another note-on event is occurring, that is, whether or not another key is depressed. Determine whether or not. If no other key is pressed, the determination is yes and step 9
If not, the determination is NO, and the process proceeds to step 909 described later. The determination of the key depression is made on the assumption of a virtual performance represented by the musical tone / fingering data. For the sake of convenience, the explanation will be given on the assumption that it is used unless otherwise specified.

【0067】ステップ907では、手パートのy軸上の
位置を決定する手のy位置処理を実行する。続くステッ
プ908では、手パートのz軸上の位置を決定する手の
z位置処理を実行する。その後に移行するステップ90
9では、他のイベントとの関係を考慮しつつ、単位楽音
データが表すノートオンイベントに応じて手指の各パー
トを動作させる内容を決定するノートオンメイン処理を
実行する。そのノートオンメイン処理を実行した後はス
テップ910に移行する。
In step 907, the y position processing of the hand for determining the position of the hand part on the y axis is executed. In the following step 908, the z position processing of the hand for determining the position of the hand part on the z axis is executed. Step 90 to move to thereafter
In 9, the note-on main processing is executed to determine the content of operating each part of the finger in accordance with the note-on event represented by the unit musical sound data while considering the relationship with other events. After executing the note-on-main process, the process proceeds to step 910.

【0068】ステップ910では、変数bchordに
「TRUE」を表す値が代入されているか否か判定す
る。直前のノートオンメイン処理の実行時に、単位楽音
データが表すノートイベントが和音を発音させるための
ものであると判定すると、その変数bchordには
「TRUE」を表す値が代入される。このため、ノート
オンメイン処理の実行時に単位楽音データが和音を発音
させるためのものと判定されていた場合、判定はYES
となってステップ913に移行する。そうでない場合に
は、判定はNOとなり、ステップ911に移行する。
At step 910, it is determined whether or not the value representing "TRUE" is substituted for the variable bchord. When it is determined that the note event represented by the unit musical tone data is for producing a chord during execution of the immediately preceding note-on-main processing, a value representing “TRUE” is substituted into the variable bchord. Therefore, if it is determined that the unit tone data is for producing a chord when the note-on-main processing is executed, the determination is YES.
Then, the process proceeds to step 913. Otherwise, the determination is no and the process moves to step 911.

【0069】ステップ911では、手パートのx軸上の
位置を決定する手のx位置処理を実行する。続くステッ
プ912では、手パートのy軸上の位置を再度、決定す
る手のy位置再処理を実行する。その処理を実行した後
は、ステップ913でその他の処理を実行し、続くステ
ップ914で変数peに、次に対象となる単位楽音デー
タのアドレスを代入した後、上記ステップ902に戻
る。
At step 911, x position processing of the hand for determining the position of the hand part on the x axis is executed. In the following step 912, the y position reprocessing for determining the position of the hand part on the y axis is executed again. After that processing is executed, other processing is executed in step 913, and in the following step 914, the address of the unit musical sound data to be the next target is substituted into the variable pe, and then the processing returns to step 902.

【0070】上記ステップ907〜909、911、9
12、及び後述するステップ917では、それぞれ、特
定の動作が伴うパラメータ(変数、或いは配列変数の要
素)に着目したパート動作データの生成が行われ、それ
が単位動作データAに追加される。それにより、ステッ
プ913に移行時には、手指の各パートをどのような状
態に移行させるかが確定するようになっている。このた
め、ステップ913では、単位動作データAから段階動
作データを生成し、それをRAM103に格納すること
を行っている。その生成は、本実施の形態では、動作時
間データで指定される時間間隔を複数に区切り、それま
での状態と移行後の状態の間を直線で補間することで行
っている。また、そのステップ913では、ノートオン
イベント、及びノートオフイベント以外のイベントを表
す単位楽音データの処理も行っている。
Steps 907 to 909, 911, 9
In step 12 and step 917 described later, the part action data focusing on the parameter (variable or the element of the array variable) accompanied by the specific action is generated and added to the unit action data A. As a result, at the time of shifting to step 913, the state in which each part of the finger is to be shifted is determined. Therefore, in step 913, stepwise operation data is generated from the unit operation data A and stored in the RAM 103. In the present embodiment, the generation is performed by dividing the time interval specified by the operation time data into a plurality of intervals and interpolating a straight line between the state up to that point and the state after the transition. In step 913, unit tone data representing an event other than the note-on event and the note-off event is also processed.

【0071】一方、上記ステップ904の判定がNOと
なって移行するステップ915では、変数peの値で指
定される単位楽音データがノートオフイベントを表して
いるか否か判定する。その単位楽音データがノートオフ
イベントを表している場合、判定はYESとなってステ
ップ916に移行する。そうでない場合には、上記ステ
ップ913に移行する。
On the other hand, in step 915, in which the determination in step 904 is NO and the process shifts, it is determined whether or not the unit musical tone data designated by the value of the variable pe represents a note-off event. If the unit tone data represents a note-off event, the determination is yes and the process moves to step 916. If not, the process proceeds to step 913.

【0072】ステップ916では、変数peの値で指定
される単位楽音データを基に、各種の設定を行う。それ
により、変数figに指番号データの値を代入し、変数
noteには音高データ(鍵盤号)を代入するととも
に、それらの値から単位動作データAを生成して保存す
る。そのような代入が終了した後はステップ917に移
行する。なお、ここで生成される単位動作データAは、
時間データ、変数figの値で指定される配列要素no
te[fig]を指定する変数指定データ、及びその配
列要素note[fig]の値データ(ここでは離鍵な
ので0である)である。それに続くステップ917で
は、ノートオフイベント時に手指の各パートを動作させ
るための動作制御データ(単位動作データAに追加する
パート動作データ)を生成するノートオフメイン処理を
実行する。その後は上記ステップ910に移行する。
At step 916, various settings are made based on the unit musical tone data designated by the value of the variable pe. As a result, the value of the finger number data is substituted for the variable fig, the pitch data (keyboard number) is substituted for the variable note, and the unit operation data A is generated and stored from those values. After such assignment is completed, the process proceeds to step 9 17. The unit operation data A generated here is
Array element no specified by the time data and the value of the variable fig
It is variable designation data that designates te [fig], and the value data of its array element note [fig] (it is 0 because it is a key release here). In the subsequent step 917, a note-off main process for generating operation control data (part operation data to be added to the unit operation data A) for operating each part of the finger at the note-off event is executed. After that, the processing shifts to the above step 910.

【0073】上述したようにして、動作制御データ生成
処理では、動作制御データの生成の対象とする単位楽音
データ、及びそれに付加した指番号データを順次、変更
しながら動作制御データを生成する。それにより、動作
制御データは演奏上のイベント単位で生成するようにな
っている。
As described above, in the motion control data generation process, the motion control data is generated while sequentially changing the unit tone data to be the target of motion control data generation and the finger number data added thereto. As a result, the operation control data is generated in units of performance events.

【0074】次に、上記動作制御データ生成処理内で実
行される各種サブルーチン処理について、図10〜図2
0に示すその動作フローチャートを参照しながら詳細に
説明する。
Next, various subroutine processes executed in the operation control data generation process will be described with reference to FIGS.
This will be described in detail with reference to the operation flowchart shown in FIG.

【0075】図10は、上記ステップ907として実行
される手のy位置処理の動作フローチャートである。サ
ブルーチン処理では、始めに図10を参照して、手のy
位置処理について詳細に説明する。
FIG. 10 is an operation flowchart of the y position processing of the hand executed as step 907. In the subroutine processing, first referring to FIG.
The position processing will be described in detail.

【0076】基点301のy軸上の位置を示す値は、変
数hynewに保持されている。この手のy位置処理で
は、基点301を次に配置すべき位置を求め、その位置
を示す値を変数hynewに代入することが行われる。
The value indicating the position of the base point 301 on the y-axis is held in the variable hynew. In the y position processing of this hand, a position where the base point 301 should be arranged next is obtained, and a value indicating the position is substituted into the variable hynew.

【0077】先ず、ステップ1001では、初期設定を
行い、変数hynewの値を変数hynowに代入す
る。続くステップ1002では、現在、対象としている
単位楽音データ、及び指番号データ以降のデータを読み
出し、次に全ての鍵が離鍵するまでに親指か小指が黒鍵
を押鍵するようになっているか否か判定する。次に全て
の鍵が離鍵するまでに、0、或いは4を指番号データと
する黒鍵音高の単位楽音データが存在していた場合、判
定はYESとなってステップ1005に移行する。そう
でない場合には、判定はNOとなってステップ1003
に移行する。
First, in step 1001, initialization is performed and the value of the variable hynew is substituted into the variable hynow. At the following step 1002, the unit musical tone data of interest and the data after the finger number data are currently read out, and whether the thumb or the little finger presses the black key until all the keys are released. Determine whether or not. Next, if there is unit tone data of a black key pitch having 0 or 4 as finger number data by the time all keys are released , the determination becomes YES and the process proceeds to step 1005. Otherwise, the determination is no and step 1003.
Move to.

【0078】ステップ1003では、変数hynowに
位置YPOS1(図4参照)を示す値が代入されている
か否か判定する。その値が変数hynowに代入されて
いた場合、判定はYESとなり、ここで一連の処理を終
了する。そうでない場合には、判定はNOとなり、ステ
ップ1004で変数hynewに位置YPOSを示す
値を代入し、直前の単位楽音データの処理タイミングか
ら今回の単位楽音データの処理タイミングまでに位置Y
POS1への移動を完了させるパート動作データを生成
し、それを単位動作データAに追加した後、一連の処理
を終了する。
In step 1003, it is determined whether or not a value indicating the position YPOS1 (see FIG. 4) is assigned to the variable hynow. If the value has been assigned to the variable hynow, the determination is yes, and the series of processes ends here. Otherwise, the determination is no, in step 1004 a value indicating the position YPOS 1 is assigned to the variable hynew, and the position Y is changed from the processing timing of the immediately preceding unit tone data to the processing timing of the unit tone data this time.
After generating the part operation data for completing the movement to the POS 1 and adding it to the unit operation data A, the series of processes is ended.

【0079】一方、ステップ1002の判定がYESと
なって移行するステップ1005でも、変数hynow
に位置YPOS1(図4参照)を示す値が代入されてい
るか否か判定する。その値が変数hynowに代入され
ていなかった場合、判定はNOとなり、ここで一連の処
理を終了する。そうでない場合には、判定はYESとな
り、ステップ1006で変数hynewに位置YPOS
を示す値を代入し、直前の単位楽音データの処理タイ
ミングから今回の単位楽音データの処理タイミングまで
に位置YPOS2への移動を完了させるパート動作デー
タを生成した後、一連の処理を終了する。
On the other hand, in step 1005, which is judged as YES in step 1002, the variable hynow is also used.
It is determined whether or not a value indicating the position YPOS1 (see FIG. 4) has been substituted into. If the value is not assigned to the variable hynow, the determination is NO, and the series of processing is terminated here. Otherwise, the determination is yes and in step 1006 the position YPOS is set in the variable hynew.
After substituting the value indicating 2 and generating the part operation data for completing the movement to the position YPOS2 from the processing timing of the last unit musical sound data to the processing timing of the current unit musical sound data, a series of processing is ended.

【0080】このように、手のy位置処理では、ユーザ
が親指、或いは小指を使って黒鍵を押鍵しなければなら
ない場合、手パートを位置YPOS2に移動させて、鍵
盤300に予め近づけるようにしている。今回を含め、
親指、及び小指を使うことなく、全ての鍵を離鍵してい
る状態となる場合、手パートは位置YPOS1に位置さ
せている。
As described above, in the y-position processing of the hand, when the user has to press the black key with the thumb or the little finger, the hand part is moved to the position YPOS2 so as to approach the keyboard 300 in advance. I have to. Including this time
When all the keys are released without using the thumb and little finger, the hand part is located at the position YPOS1.

【0081】親指、或いは小指を使って黒鍵を押鍵する
以外にも、指を大きく開いた形で複数の鍵を押鍵したり
すると、手と鍵盤との間のy軸上の距離は小さくなる。
そのようなことに対応するための手パートの基点301
のy軸上における位置調整は、ステップ912として実
行される手のy位置再処理で行っている。
In addition to pressing the black key with the thumb or the little finger, if a plurality of keys are pressed with the fingers wide open, the distance between the hand and the keyboard on the y axis is reduced. Get smaller.
Base part 301 of the hand part for dealing with such a thing
The position adjustment on the y axis is performed by the y position reprocessing of the hand executed as step 912.

【0082】図11は、図9に示す動作制御データ生成
処理内でステップ908として実行される手のz位置処
理の動作フローチャートである。次に、図11を参照し
て、その処理について詳細に説明する。
FIG. 11 is an operation flowchart of the hand z position processing executed as step 908 in the operation control data generation processing shown in FIG. Next, the processing will be described in detail with reference to FIG.

【0083】現時点において基点301が存在すべきz
軸上の位置を示す値は変数hznowに保持されてい
る。直前の単位楽音データを処理した際の変数tkti
meの値は変数tkoldに保持されている。手パート
の基点301は、図4に示すように、z軸上では位置Z
POS1、或いはZPOS2の何れかの位置をとる。手
のz位置処理の実行時は、押鍵されている鍵が存在して
いない状況である。
Z at which the base point 301 should be present at the present time
The value indicating the position on the axis is held in the variable hznow. Variable tkti when processing the immediately preceding unit tone data
The value of me is held in the variable tkold. As shown in FIG. 4, the base point 301 of the hand part is the position Z on the z axis.
The position is either POS1 or ZPOS2. At the time of executing the z position processing of the hand, there is no key being pressed.

【0084】先ず、ステップ1101では、変数hzn
owに位置ZPOS1を示す値が代入されているか否か
判定する。その値が変数hznowに代入されていた場
合、判定はYESとなり、ここで一連の処理を終了す
る。そうでない場合には、即ち手パートの基点301が
位置ZPOS2に位置している場合には、判定はNOと
なり、ステップ1102に移行して、変数tkoldの
値が示すタイミングから変数tktimeの値が示すタ
イミングまでに、基点301を位置ZPOS2から位置
ZPOS1に移動させるパート動作データを作成し、そ
れを単位動作データAに追加する形でRAM103に格
納する。それが終了した後に一連の処理を終了する。
First, in step 1101, the variable hzn
It is determined whether or not the value indicating the position ZPOS1 is substituted for ow. If the value has been assigned to the variable hznow, the determination is yes, and the series of processes ends here. If not, that is, if the base point 301 of the hand part is located at the position ZPOS2, the determination is NO, the process proceeds to step 1102, and the value of the variable tktime is indicated from the timing indicated by the value of the variable tkold. By the timing, part operation data for moving the base point 301 from the position ZPOS2 to the position ZPOS1 is created, and the part operation data is added to the unit operation data A and stored in the RAM 103. After that, the series of processing is ended.

【0085】図12は、図9に示す動作制御データ生成
処理内でステップ909として実行されるノートオンメ
イン処理の動作フローチャートである。次に、図12を
参照して、その処理について詳細に説明する。
FIG. 12 is an operation flowchart of the note-on main processing executed as step 909 in the operation control data generation processing shown in FIG. Next, the processing will be described in detail with reference to FIG.

【0086】現在、処理対象としている単位楽音データ
を実際に処理、即ち再生する際に、和音(コード)が発
音中か否かを示す値(「TRUE」或いは「FALS
E」)は変数bchordに保持されている。和音が発
音中であれば、その和音を構成する楽音のなかで最後に
発音が開始する楽音の単位楽音データのアドレスは変数
pchordendに保持されている。ノートオンメイ
ン処理では、そのような変数を含む各種変数の値が参照
される。
A value ("TRUE" or "FALS" indicating whether or not a chord (chord) is being sounded when the unit musical tone data to be processed is actually processed, that is, reproduced.
E ”) is held in the variable bchord. If a chord is being sounded, the address of the unit tone data of the tone that is the last one of the tones that compose the chord is held in the variable pchorend. In the note-on-main processing, the values of various variables including such variables are referenced.

【0087】先ず、ステップ1201では、変数bch
ordの値が「TRUE」か否か判定する。処理対象と
している単位楽音データを再生する状況で和音を発音さ
せているとみなしていた場合、その変数bchordに
は「TRUE」が代入されていることから、判定はYE
Sとなってステップ1207に移行し、そうでない場合
には、判定はNOとなってステップ1202に移行す
る。
First, in step 1201, the variable bch
It is determined whether the value of ord is “TRUE”. If it is assumed that a chord is being sounded in the situation where the unit tone data that is the processing target is reproduced, “TRUE” is assigned to the variable bchord, and therefore the determination is YE.
If S, the process proceeds to step 1207, and if not, the determination becomes NO and the process proceeds to step 1202.

【0088】ステップ1202では、変数ballof
fの値が「TRUE」か否か判定する。処理対象として
いる単位楽音データを再生する状況で押鍵されている鍵
が存在している場合、判定はNOとなってステップ12
06に移行する。そうでない場合には、判定はYESと
なってステップ1203に移行する。
In step 1202, the variable ballof
It is determined whether the value of f is “TRUE”. If there is a depressed key in the situation of reproducing the unit tone data to be processed, the determination is NO and step 12
Move to 06. Otherwise, the determination is yes and the process moves to step 1203.

【0089】ステップ1203では、処理対象としてい
る単位楽音データ、及びそれに続く単位楽音データによ
って和音が発音されるか否か判定する和音判定処理を実
行する。その和音判定処理において、それらの単位楽音
データによって和音が発音されると判定すると、変数b
chordには「TRUE」が代入されることになる。
その実行後は、ステップ1204に移行する。
At step 1203, a chord judging process for judging whether or not a chord is sounded by the unit musical tone data to be processed and the following unit musical tone data is executed. In the chord judging process, when it is judged that a chord is produced by the unit tone data, the variable b
“TRUE” is substituted for chord.
After the execution, the process moves to step 1204.

【0090】ステップ1204では、変数bchord
の値が「TRUE」か否か判定する。上記和音判定処理
を実行した結果、新たに和音が発音されるとみなした場
合、判定はYESとなり、ステップ1205でその和音
を発音させる動作の内容を決定する和音動作処理を実行
した後、一連の処理を終了する。そうでない場合には、
判定はNOとなり、ステップ1206で押鍵動作の内容
を決定するノートオン動作処理を実行した後、一連の処
理を終了する。
At step 1204, the variable bchord
Is determined to be "TRUE". As a result of executing the chord determination process, when it is considered that a new chord is to be pronounced, the determination is YES, and in step 1205, a series of chord operation processes for determining the content of the action for producing the chord is executed, and then a series of The process ends. If not,
The determination is NO, and after the note-on operation processing for determining the content of the key pressing operation is executed in step 1206, the series of processing ends.

【0091】一方、上記ステップ1201の判定がYE
Sとなって移行するステップ1207では、変数pch
ordendの値が変数peの値と等しいか否か判定す
る。変数peの値が指定する単位楽音データ、即ち現
在、処理対象としている単位楽音データが、和音を構成
しているとみなす楽音のなかで最後に発音される楽音の
発音開始を指示するものであった場合、判定はYESと
なり、ステップ1208で変数bchordに「FAL
SE」、変数pchordendにNULL(空値)を
それぞれ代入した後、一連の処理を終了する。そうでな
い場合には、判定はNOとなって、ここで一連の処理を
終了する。
On the other hand, the determination in step 1201 is YES.
In step 1207, in which the process proceeds to S, the variable pch
It is determined whether the value of “endend” is equal to the value of the variable “pe”. The unit musical tone data designated by the value of the variable pe, that is, the unit musical tone data currently being processed, instructs the start of the pronunciation of the final musical tone among the musical tones that are considered to constitute a chord. If YES, the determination is YES and the variable bchord is set to “FAL in step 1208.
SE ”and NULL (null value) are assigned to the variable pchorend, respectively, and then a series of processing is ended. Otherwise, the determination is no and the series of processes ends here.

【0092】このように、ノートオンメイン処理では、
単位楽音データが発音開始を指示する楽音が和音を構成
しているか否かにより処理を分岐させている。それによ
り、和音を発音させるのか単に楽音を発音させるのかに
応じて、手指の各パートを動作させるようにしている。
Thus, in the note-on-main processing,
The processing is branched depending on whether or not the musical sound instructed to start the sound generation by the unit musical sound data constitutes a chord. As a result, each part of the finger is operated depending on whether to produce a chord or simply a musical tone.

【0093】ここで、上記ノートオンメイン処理内で実
行される各種サブルーチン処理について、図13〜図1
5を参照して詳細に説明する。図13は、上記ステップ
1203として実行される和音判定処理の動作フローチ
ャートである。ノートオンメイン処理内で実行されるサ
ブルーチン処理では、図13を参照して、始めに和音判
定処理について詳細に説明する。
Here, various subroutine processes executed in the note-on-main process will be described with reference to FIGS.
This will be described in detail with reference to FIG. FIG. 13 is an operation flowchart of the chord determination process executed as step 1203. In the subroutine process executed in the note-on-main process, the chord determination process will be first described in detail with reference to FIG.

【0094】先ず、ステップ1301では、初期設定を
行う。その初期設定を行うことにより、変数tknex
tには、変数peの値で指定される単位楽音データ以降
で最初に楽音の発音開始を指示する単位楽音データの処
理タイミングを絶対時間で示す値が代入され、変数tk
nextoffには、変数peの値で指定される単位楽
音データ以降で最初に楽音の消音を指示する単位楽音デ
ータの処理タイミングを絶対時間で示す値が代入され
る。
First, in step 1301, initial setting is performed. By performing the initial setting, the variable tknex
In t, a value indicating the processing timing of the unit musical sound data that first instructs the start of musical sound generation after the unit musical sound data specified by the value of the variable pe in absolute time is substituted, and the variable tk
In nextoff, a value indicating the processing timing of the unit tone data for instructing the mute of the tone first after the unit tone data designated by the value of the variable pe in absolute time is substituted.

【0095】ステップ1301に続くステップ1302
では、変数tknextの値が、変数tktimeの値
に変数tkchordの値を加算した値より小さいか否
か判定する。その変数tkchordには、和音を構成
しているか否か判定するうえで基準となる、楽音間の発
音開始間隔を示す値が代入されている。このことから、
その間隔以内に次の楽音の発音が開始する場合、判定は
YESとなってステップ1303に移行し、そうでない
場合には、判定はNOとなって、ここで一連の処理を終
了する。
Step 1302 following step 1301
Then, it is determined whether or not the value of the variable tknext is smaller than the value obtained by adding the value of the variable tkchord to the value of the variable tktime. In the variable tkchord, a value indicating a tone generation start interval between musical tones, which is a reference for determining whether or not a chord is formed, is substituted. From this,
If the next musical tone starts to be sounded within the interval, the determination is YES and the process proceeds to step 1303. Otherwise, the determination is NO and the series of processes is ended here.

【0096】ステップ1303では、変数tknext
offの値が、変数tktimeの値に変数tkcho
rdの値を加算した値より大きいか否か判定する。変数
tkchordの値が示す時間が経過する前に、消音さ
れる楽音が存在していない場合、判定はYESとなり、
ステップ1304で変数bchordに「TRUE」を
代入した後、一連の処理を終了する。そうでない場合に
は、判定はNOとなり、ここで一連の処理を終了する。
At step 1303, the variable tknext is set.
The value of off is changed to the value of variable tktime by variable tkcho.
It is determined whether the value is larger than the value obtained by adding the value of rd. If there is no tone to be muted before the time indicated by the value of the variable tkchord has elapsed, the determination is YES,
After substituting "TRUE" into the variable bchord in step 1304, the series of processes is ended. If not, the determination is no, and the series of processes ends here.

【0097】このように、本実施の形態では、変数tk
chordの値が示す時間内に複数の押鍵(ノートオン
イベント)があり、且つその時間内に離鍵(ノートオフ
イベント)が存在していなければ、その時間内に発音開
始される楽音は和音を構成しているとみなすようにして
いる。
As described above, in the present embodiment, the variable tk
If there are multiple key presses (note-on events) within the time indicated by the chord value, and no key-release (note-off event) exists within that time, the musical tone that starts to be sounded within that time is a chord. Is considered to constitute.

【0098】図14は、図12に示すノートオンメイン
処理内でステップ1205として実行される和音動作処
理の動作フローチャートである。次に図14を参照し
て、和音動作処理について詳細に説明する。
FIG. 14 is an operation flowchart of the chord operation process executed as step 1205 in the note-on main process shown in FIG. Next, the chord operation process will be described in detail with reference to FIG.

【0099】先ず、ステップ1401では、初期化処理
を実行する。その初期化処理を実行することにより、変
数tktime0には、変数tktimeの値が代入さ
れ、変数pe0には変数peの値が代入され、変数pc
hordendにはNULLが代入される。ステップ1
401に続くステップ1402以降は、変数pe0の値
を順次、インクリメントしながら、和音とみなす楽音の
範囲の特定や、その和音を鳴らす動作内容を決定するた
めの処理が行われる。
First, in step 1401, initialization processing is executed. By executing the initialization process, the value of the variable tktime is assigned to the variable tktime0, the value of the variable pe is assigned to the variable pe0, and the variable pc.
NULL is substituted into the holdend. Step 1
From step 1402 subsequent to step 401, the value of the variable pe0 is sequentially incremented, and processing for specifying the range of musical tones regarded as chords and determining the operation content for producing the chord is performed.

【0100】ステップ1402では、楽音・運指データ
が終了したか否か判定する。変数pe0の値が指定する
データが楽音・運指データの最後に位置するエンドデー
タであった場合、判定はYESとなってステップ141
0に移行し、そうでない場合には、判定はNOとなって
ステップ1403に移行する。
At step 1402, it is determined whether the musical tone / fingering data has been completed. If the data designated by the value of the variable pe0 is the end data located at the end of the musical tone / fingering data, the determination is yes and step 141
If not, the determination is no and the process proceeds to step 1403.

【0101】ステップ1403では、変数pe0の値が
変数peの値と等しいか否か判定する。それらの値が等
しい場合、判定はYESとなってステップ1405に移
行する。そうでない場合には、判定はNOとなり、ステ
ップ1404で変数tktime0に、それまでの値に
変数pe0の値が指定する単位楽音データの時間データ
の値を加算した値を代入した後、そのステップ1405
に移行する。そのようにして、変数tktime0に
は、変数peの値が指定する単位楽音データ以降の単位
楽音データを処理すべきタイミングを絶対時間で示す値
が代入される。
In step 1403, it is determined whether the value of the variable pe0 is equal to the value of the variable pe. If the values are equal, the determination is yes and the process moves to step 1405. Otherwise, the determination is no, and in step 1404, a value obtained by adding the value of the time data of the unit musical sound data specified by the value of the variable pe0 to the value up to that point is assigned to the variable tktime0, and then step 1405.
Move to. In this way, the variable tktime0 is substituted with the value indicating the timing, in absolute time, at which the unit tone data subsequent to the unit tone data designated by the value of the variable pe should be processed.

【0102】ステップ1405では、変数tktime
0の値が、変数tktimeの値に変数tkchord
の値を加算した値よりも小さいか否か判定する。つまり
変数pe0、及びpeの値がそれぞれ指定する単位楽音
データの処理タイミングの差が、変数tkchordの
値で指定される時間内でなかった場合、判定はNOとな
って上記ステップ1410に移行する。そうでない場合
には、判定はYESとなってステップ1406に移行す
る。
At step 1405, the variable tktime is set.
The value of 0 is changed to the value of the variable tktime by the variable tkchord.
It is determined whether it is smaller than the value obtained by adding the value of. That is, if the difference between the processing timings of the unit musical tone data designated by the values of the variables pe0 and pe is not within the time designated by the value of the variable tkchord, the determination is no and the above step 1410 is performed. Move to. Otherwise, the determination is yes and the process moves to step 1406.

【0103】ステップ1406では、変数pe0の値が
指定する単位楽音データ押鍵(ノートオンイベント)
を表すものであるか否か判定する。その単位楽音データ
がノートオンイベントを表していた場合、判定はYES
となり、ステップ1407で変数pchordendに
変数pe0の値を代入し、続くステップ1408でノー
トオン動作処理を実行した後、ステップ1409に移行
する。そうでない場合には、判定はNOとなってそのス
テップ1409に移行する。
[0103] At step 1406, the unit tone data value of the variable pe0 specifies the key depression (note-on event)
Is determined. If the unit tone data represents a note-on event, the determination is YES.
Then, in step 1407, the value of the variable pe0 is substituted for the variable pchorend, the note-on operation process is executed in the following step 1408, and then the process proceeds to step 1409. Otherwise, the determination is no and the process moves to step 1409.

【0104】ステップ1409では、変数pe0に次の
単位楽音データのアドレスを代入する。それを行った
後、上記ステップ1402に戻る。このように、ステッ
プ1402〜1409で形成される処理ループをステッ
プ1402の判定がYES、或いはステップ1405の
判定がNOとなるまで繰り返し実行することにより、変
数pchordendには、和音を構成するとみなす楽
音のなかで最後に発音が開始する楽音の単位楽音データ
のアドレス値が代入されることになる。
At step 1409, the address of the next unit tone data is assigned to the variable pe0. After that, the process returns to step 1402. As described above, the processing loop formed in steps 1402 to 1409 is repeatedly executed until the determination in step 1402 is YES or the determination in step 1405 is NO, so that the variable pchordend is set to the tone that is regarded as a chord. Among them, the address value of the unit musical tone data of the musical tone which finally starts to be generated is substituted.

【0105】一方、ステップ1402の判定がYES、
或いはステップ1405の判定がNOとなって移行する
ステップ1410では、手パートがz軸上を移動してい
く動作(ここでは図4に示す位置ZPOS1から位置Z
POS2に移動していく動作である)を表現するパート
動作データを作成する。その動作データを作成すること
により、手パートの基点301が、変数tkstart
0の値が示すタイミングで移動を開始し、変数tkti
meの値が示すタイミングで位置POS2への移動が
終了するようにさせる。そのようなパート動作データを
単位動作データAに追加した後、一連の処理を終了す
る。
On the other hand, the determination in step 1402 is YES,
Alternatively, in step 1410 where the determination in step 1405 is NO and the process shifts, the hand part moves on the z axis (here, from position ZPOS1 to position ZPOS shown in FIG. 4).
Part movement data expressing the movement to POS2) is created. By creating the motion data, the base point 301 of the hand part is changed to the variable tkstart.
The movement starts at the timing indicated by the value of 0, and the variable tkti
The movement to the position Z POS2 is completed at the timing indicated by the value of me. After adding such part operation data to the unit operation data A, a series of processing is ended.

【0106】上記変数tkstart0の値が示すタイ
ミングは、和音を構成する楽音のなかで最初に発音され
る楽音を発音させる指パートの動作を開始するタイミン
グか、或いは各指パートの離鍵から押鍵に移行するまで
の時間が比較的に長ければ、変数tktimeの値か
ら、押鍵動作を開始してから押鍵するまでの基準時間を
示す値を引いた値が示すタイミングである。それによ
り、和音を鳴らす状況に応じて、それを鳴らすための手
指の各パートの動作を異ならせるようにしている。図6
に示す例では、変数tkstart0に前者の値が代入
された結果、親指パートの押鍵動作の開始に合わせて手
パートのz軸上の移動が開始し、そのz軸上の移動が
「D#」の楽音の発音開始時に終了していることを表し
ている。なお、基準時間を示す値は変数tkcostに
代入されている。離鍵動作を開始してからその動作が完
了するまでの基準時間を示す値は変数tkoffcos
tに代入されている。
The timing indicated by the value of the variable tkstart0 is the timing at which the operation of the finger part for producing the first tone to be sounded among the tones constituting the chord is started, or the key release from each finger part is performed. If the time until shifting to is relatively long, it is the timing indicated by the value obtained by subtracting the value indicating the reference time from the start of the key pressing operation to the key pressing from the value of the variable tktime. As a result, the operation of each part of the finger for playing the chord is made different according to the situation of playing the chord. Figure 6
In the example shown in (1), as a result of the former value being assigned to the variable tkstart0, the movement of the hand part on the z-axis starts at the start of the key pressing operation of the thumb part, and the movement on the z-axis is changed to "D # It means that it has ended at the start of the pronunciation of the musical tone. Note that the value that indicates the criteria time is assigned to the variable Tkcost. The value indicating the reference time from the start of the key release operation to the completion of the operation is the variable tkoffcos.
It is assigned to t.

【0107】次に、上記ステップ1408、或いは図1
2に示すノートオンメイン処理内でステップ1206と
して実行されるノートオン動作処理処理について、図1
5に示すその動作フローチャートを参照して詳細に説明
する。なお、この処理内では、単位楽音データに付加さ
れた指番号データは変数figに、その単位楽音データ
中の音高データは変数noteに代入されている。
Next, in step 1408, or in FIG.
The note-on operation process process executed as step 1206 in the note-on main process shown in FIG.
This will be described in detail with reference to the operation flowchart shown in FIG. In this process, the finger number data added to the unit musical tone data is substituted into the variable fig, and the pitch data in the unit musical tone data is substituted into the variable note.

【0108】先ず、ステップ1501では、初期設定を
行う。その初期設定では、変数figの値を指番号デー
タとして付加された、ノートオフイベントを表す直前の
単位楽音データの処理タイミングを絶対時間で示す値を
求め、その求めた値を変数tkfoffに代入すること
が行われる。
First, in step 1501, initial setting is performed. In the initial setting, a value indicating the absolute timing of the processing timing of the unit musical sound data immediately before the note-off event in which the value of the variable fig is added as finger number data is calculated, and the calculated value is substituted into the variable tkfoff. Is done.

【0109】ステップ1501に続くステップ1502
では、変数tktimeの値から変数tkfoffの値
を引いた値が、変数tkcostの値に変数tkoff
costの値を加算した値より小さいか否か判定する。
即ち変数figで指定される指パートの離鍵動作を開始
させてからその指パートを押鍵させるまでの時間が、離
鍵動作の基準時間と押鍵動作の基準時間を足した時間よ
りも短いか否か判定する。前者の時間が後者の時間より
も長い場合、判定はNOとなり、ステップ1503で変
数tkstartに、変数tktimeの値から変数t
kcostの値を引いた値を代入した後、ステップ15
04に移行する。そうでない場合には、即ち離鍵動作、
或いは押鍵動作を基準時間で行わせる余裕がない場合に
は、判定はYESとなってステップ1506に移行す
る。
Step 1502 following step 1501
Then, the value obtained by subtracting the value of the variable tkfoff from the value of the variable tktime is the value of the variable tkcost to the value of the variable tkcost.
It is determined whether or not the cost value is smaller than the added value.
That is, the time from the start of the key release operation of the finger part specified by the variable fig to the key press of the finger part is shorter than the time obtained by adding the reference time of the key release operation and the reference time of the key press operation. It is determined whether or not. If the former time is longer than the latter time, the determination is no, and in step 1503, the variable tkstart is changed to the variable t from the value of the variable tktime.
After substituting the value obtained by subtracting the value of kc ost, step 15
Move to 04. If not, i.e. key release action,
Alternatively, when there is no room to allow the key depression operation to be performed within the reference time, the determination is yes and the process moves to step 1506.

【0110】ステップ1504では、変数tkend
に、押鍵動作が終了するタイミングを示す値として変数
tktimeの値を代入する。続くステップ1505で
は、変数figの値で指定される指パートが、変数tk
startの値が示すタイミングで変数noteの値が
示す鍵に対する押鍵動作を開始し、変数tkendの値
が示すタイミングでその動作を完了、即ち押鍵する動作
を行わせるためのパート動作データを作成し単位動作デ
ータAに追加する。そのパート動作データ中の動作時間
データの値が示す時間は、変数tkcostの値が示す
時間である。その作成・追加を行った後、一連の処理を
終了する。
In step 1504, the variable tkend is set.
The value of the variable tktime is substituted for the value indicating the timing at which the key pressing operation ends. In the following step 1505, the finger part specified by the value of the variable fig is changed to the variable tk.
The key pressing operation for the key indicated by the value of the variable note is started at the timing indicated by the value of start, and the operation is completed at the timing indicated by the value of the variable tkend, that is, the part operation data for causing the key depression operation is created. Then, it is added to the unit operation data A. The time indicated by the value of the action time data in the part action data is the time indicated by the value of the variable t kc ost. After the creation / addition, the series of processing is ended.

【0111】手パートを移動させなければ変数figの
値で指定される指パートで鍵を押鍵させることができな
いこともある。各指パートの回転角frzは、その手パ
ートの位置が確定していなければ確定させることはでき
ない。このようなことから、ここでは単に押鍵する動作
を行わせるためのパート動作データだけを作成してい
る。指パートを横に動作させるためのパート動作データ
は、図9に示す動作制御データ生成処理内のステップ9
11の手のx位置処理を実行した際に、必要に応じて作
成する。ここで作成したパート動作データも必要に応じ
て修正する。
In some cases, the finger part specified by the value of the variable fig cannot be pressed unless the hand part is moved. The rotation angle frz of each finger part cannot be fixed unless the position of the hand part is fixed. For this reason, only the part motion data for performing the key pressing motion is created here. The part motion data for laterally moving the finger part is the step 9 in the motion control data generation process shown in FIG.
It is created as necessary when the x position processing of 11 hands is executed. The part motion data created here is also modified as necessary.

【0112】一方、上記ステップ1502の判定がYE
Sとなって移行するステップ1506では、変数tkt
imeの値から変数tkfoffの値を引いた値に0.
2を掛けた値が、変数tkoffcostの値よりも大
きいか否か判定する。離鍵開始から次の押鍵までの時間
に0.2を掛けて得られる時間が、離鍵動作の基準時間
よりも長い場合、判定はYESとなり、ステップ150
7で変数tkstartに、変数tkfoffの値に変
数tkoffcostの値を加算した値を代入した後、
上記ステップ1504に移行する。そうでない場合に
は、判定はNOとなり、ステップ1508で変数tks
tartに、変数tkoffcostの値に0.8を掛
けた値に変数tkfoffの値を加算した値を代入した
後、ステップ1504に移行する。その後にステップ1
505を実行した際に設定される動作時間データの値
は、ステップ1507からステップ1504に移行した
のであれば、変数tktimeの値から変数tkfof
fの値を減算し、その減算結果から更に変数tkoff
costの値を減算した値である。ステップ1508か
らステップ1504に移行したのであれば、変数tkt
imeの値から変数tkfoffの値を減算し、その減
算結果から更に、変数tkoffcostの値に0.8
を掛けた値を減算した値である。
On the other hand, the determination in step 1502 is YES.
In step 1506, where the variable S is changed to S, the variable tkt
The value obtained by subtracting the value of the variable tkfoff from the value of image is 0.
It is determined whether the value multiplied by 2 is larger than the value of the variable tkoffcost. If the time obtained by multiplying the time from the start of the key release to the next key depression by 0.2 is longer than the reference time of the key release operation, the determination is YES, and step 150
After substituting the value obtained by adding the value of the variable tkoffcost to the value of the variable tkfoff to the variable tkstart in step 7,
The procedure moves to step 1504. Otherwise, the determination is no and in step 1508 the variable tks
The value obtained by adding the value of the variable tkfoff to the value obtained by multiplying the value of the variable tkoffcost by 0.8 is substituted for the start value, and then the process proceeds to step 1504. Then step 1
If the value of the operation time data set when executing step 505 changes from step 1507 to step 1504, the value of the variable tktime is changed to the value of the variable tkfof.
The value of f is subtracted, and the variable tkoff is further subtracted from the subtraction result.
This is a value obtained by subtracting the cost value. If the process has proceeded from step 1508 to step 1504, the variable tkt
subtracting the value of the variable tkfoff from the value of ime, further from the subtraction result, 0.8 the value of the variable Tkoffco st
It is the value obtained by subtracting the value multiplied by.

【0113】このように、同じ指パートによる離鍵、押
鍵を短い時間内に行わせる場合、離鍵動作に要する時
間、及び押鍵動作に要する時間の少なくとも一方を調整
して、それらの動作を表現するようにしている。
As described above, when the key release and the key press by the same finger part are performed within a short time, at least one of the time required for the key release operation and the time required for the key press operation is adjusted to perform those operations. I am trying to express.

【0114】図12に示すノートオンメイン処理では、
上述した各種サブルーチン処理が実行される。それによ
り、指パートを押鍵させる動作を表現するためのパート
動作データをサブルーチン処理単位で生成し単位動作デ
ータAに追加している。それらのパート動作データで
は、変数hz、配列変数rx1〜3のうちの何れかが
値の変更対象である。
In the note-on-main processing shown in FIG. 12,
The various subroutine processes described above are executed. As a result, part motion data for expressing the motion of pressing the finger part is generated in subroutine processing units and added to the unit motion data A. In those Parts operation data, variables h z, is any value to be changed of the array variable f rx1~3.

【0115】図16は、図9に示す動作制御データ生成
処理内でステップ917として実行されるノートオフメ
イン処理の動作フローチャートである。次に、図16を
参照して、ノートオフメイン処理について詳細に説明す
る。
FIG. 16 is an operation flowchart of the note-off main processing executed as step 917 in the operation control data generation processing shown in FIG. Next, the note-off main process will be described in detail with reference to FIG.

【0116】現在、処理対象としている単位楽音データ
を実際に処理、即ち再生する際に、消音すべき和音(コ
ード)があるか否かを示す値(「TRUE」或いは「F
ALSE」)は変数bchordoffに保持されてい
る。その和音があれば、その和音を構成する楽音のなか
で最後に消音する楽音の単位楽音データのアドレスは変
数pchordendoffに保持されている。ノート
オフメイン処理では、そのような変数を含む各種変数の
値が参照される。
A value ("TRUE" or "F") indicating whether or not there is a chord (chord) to be muted when the unit musical tone data to be processed is actually processed, that is, reproduced.
ALSE ") is held in the variable bchordoff. If there is the chord, the address of the unit tone data of the tone to be silenced last among the tones constituting the chord is held in the variable pchordendoff. In the note-off main process, the values of various variables including such variables are referenced.

【0117】先ず、ステップ1601では、変数bch
ordoffの値が「TRUE」か否か判定する。処理
対象としている単位楽音データを再生する状況で消音す
べき和音があるとみなしていた場合、その変数bcho
rdoffには「TRUE」が代入されていることか
ら、判定はYESとなってステップ1606に移行し、
そうでない場合には、判定はNOとなってステップ16
02に移行する。
First, in step 1601, the variable bch
It is determined whether the value of ordoff is “TRUE”. If it is assumed that there is a chord to be silenced in the situation where the unit tone data to be processed is reproduced, the variable bcho
Since “TRUE” is substituted for rdoff, the determination is yes and the process moves to step 1606,
Otherwise, the determination is no and step 16
Move to 02.

【0118】ステップ1602では、処理対象としてい
る単位楽音データ、及びそれに続く単位楽音データによ
って和音が消音、即ちその和音の構成音が全て消音され
るか否か判定する和音オフ判定処理を実行する。その和
音オフ判定処理において、それらの単位楽音データによ
って和音が消音されると判定すると、変数bchord
offには「TRUE」が代入されることになる。その
実行後は、ステップ1603に移行する。
In step 1602, a chord off judgment process for judging whether or not a chord is muted, that is, all the constituent sounds of the chord are muted by the unit musical tone data to be processed and the subsequent unit musical tone data is executed. In the chord off determination process, when it is determined that the chord is muted by the unit tone data, the variable bchord is used.
"TRUE" is substituted for off. After that, the process moves to step 1603.

【0119】ステップ1603では、変数bchord
offの値が「TRUE」か否か判定する。上記和音オ
フ判定処理を実行した結果、和音を消音させると決定し
た場合、判定はYESとなり、ステップ1604でその
和音を消音させる動作の内容を決定する和音オフ動作処
理を実行した後、一連の処理を終了する。そうでない場
合には、判定はNOとなり、ステップ1605で離鍵動
作の内容を決定するノートオフ動作処理を実行した後、
一連の処理を終了する。
At step 1603, the variable bchord
It is determined whether the off value is “TRUE”. As a result of performing the chord off determination process, when it is determined that the chord is to be silenced, the determination is YES, and after performing the chord off operation process that determines the content of the operation to silence the chord in step 1604, a series of processes is performed. To finish. Otherwise, the determination is no, and after executing the note-off operation process that determines the content of the key release operation in step 1605,
A series of processing ends.

【0120】一方、上記ステップ1601の判定がYE
Sとなって移行するステップ1606では、変数pch
ordendoffの値が変数peの値と等しいか否か
判定する。変数peの値が指定する単位楽音データ、即
ち現在、処理対象としている単位楽音データが、和音を
構成する楽音のなかで最後に消音される楽音の消音を指
示するものであった場合、判定はYESとなり、ステッ
プ1607で変数bchordoffに「FALS
E」、変数pchordendoffにNULLをそれ
ぞれ代入した後、一連の処理を終了する。そうでない場
合には、判定はNOとなって、ここで一連の処理を終了
する。
On the other hand, the determination in step 1601 is YES.
In step 1606 where the processing shifts to S, the variable pch
It is determined whether the value of "orderoff" is equal to the value of the variable pe. If the unit musical tone data designated by the value of the variable pe, that is, the unit musical tone data currently being processed is an instruction to mute the musical tone to be muted last among the musical tones constituting the chord, the determination is If YES, then in step 1607 the variable bchordoff is set to “FALS
E ”and NULL are substituted into the variable pchordendoff, respectively, and the series of processing is terminated. Otherwise, the determination is no and the series of processes ends here.

【0121】このように、ノートオフメイン処理では、
単位楽音データが消音を指示する楽音が和音を構成して
いるか否かにより処理を分岐させている。それにより、
和音を構成する楽音を消音させるのか単に楽音を消音さ
せるのかに応じて、手指の各パートを動作させる内容を
決定している。
Thus, in the note-off main process,
The processing is branched depending on whether or not the musical sound instructed to be muted by the unit musical sound data constitutes a chord. Thereby,
The content of each part of the finger to be operated is determined depending on whether to mute the musical tones that compose the chord or simply to mute the musical tones.

【0122】ここで、上記ノートオフメイン処理内で実
行される各種サブルーチン処理について、図17〜図1
9を参照して詳細に説明する。図17は、上記ステップ
1602として実行される和音オフ判定処理の動作フロ
ーチャートである。ノートオフメイン処理内で実行され
るサブルーチン処理では、図17を参照して、始めに和
音オフ判定処理について詳細に説明する。
Here, various subroutine processes executed in the note-off main process will be described with reference to FIGS.
This will be described in detail with reference to FIG. FIG. 17 is an operation flowchart of the chord off determination process executed as step 1602. In the subroutine processing executed in the note-off main processing, the chord off determination processing will be first described in detail with reference to FIG.

【0123】先ず、ステップ1701では、初期設定を
行う。その初期設定を行うことにより、変数tknex
tには、変数peで指定される単位楽音データ以降で最
初に楽音の発音開始を指示する単位楽音データの処理タ
イミングを絶対時間で示す値が代入され、変数tkne
xtoffには、変数peで指定される単位楽音データ
以降で最初に楽音の消音を指示する単位楽音データの処
理タイミングを絶対時間で示す値が代入される。
First, in step 1701, initial setting is performed. By performing the initial setting, the variable tknex
In t, a value indicating the processing timing of the unit tone data for instructing the start of the tone generation of the tone first after the unit tone data designated by the variable pe in absolute time is substituted, and the variable tkne
In xtoff, a value indicating the processing timing of the unit musical sound data, which is the first instruction after the unit musical sound data specified by the variable pe, for instructing the mute of the musical sound in absolute time is substituted.

【0124】ステップ1701に続くステップ1702
では、変数tknextoffの値が、変数tktim
eの値に変数tkchordの値を加算した値より小さ
いか否か判定する。変数tkchordの値が示す時間
が経過する前に、消音される楽音が存在していない場
合、判定はNOとなり、ここで一連の処理を終了する。
そうでない場合には、判定はYESとなってステップ1
703に移行する。
Step 1702 following step 1701
Then, the value of the variable tknextoff is changed to the variable tktim.
It is determined whether or not it is smaller than the value obtained by adding the value of the variable tkchord to the value of e. If there is no tone to be muted before the time indicated by the value of the variable tkchord elapses, the determination is NO, and the series of processes ends here.
Otherwise, the determination is yes and step 1
Move to 703.

【0125】ステップ1703では、変数tknext
の値が、変数tktimeの値に変数tkchordの
値を加算した値より大きいか否か判定する。変数tkc
hordの値が示す時間が経過する前に、次の楽音の発
音が開始する場合、判定はNOとなり、ここで一連の処
理を終了する。そうでない場合には、判定はYESとな
り、ステップ1704で変数bchordoffに「T
RUE」を代入した後、一連の処理を終了する。
At step 1703, the variable tknext is set.
Is larger than the value obtained by adding the value of the variable tkchord to the value of the variable tktime. Variable tkc
If the next musical tone starts to be sounded before the time indicated by the value of “hord” has elapsed, the determination is NO, and the series of processing is terminated here. Otherwise, the determination is yes and the variable bchordoff is set to "T" in step 1704.
After substituting "RUE", the series of processing is terminated.

【0126】このように、本実施の形態では、変数tk
chordの値が示す時間内に複数の楽音の消音(ノー
トオンイベント)があり、且つその時間内に発音開始す
る楽音(ノートオフイベント)が存在していなければ、
和音の構成音とみなした楽音は消音すべき状況になった
としている。
As described above, in the present embodiment, the variable tk
If there are mutings of a plurality of musical tones (note-on event) within the time indicated by the chord value, and there is no musical tone to start sounding (note-off event) within that time,
It is said that the musical tones that are considered to be the constituent tones of the chord should be silenced.

【0127】図18は、図16に示すノートオフメイン
処理内でステップ1604として実行される和音オフ動
作処理の動作フローチャートである。次に図18を参照
して、和音オフ動作処理について詳細に説明する。
FIG. 18 is an operation flowchart of the chord off operation process executed as step 1604 in the note off main process shown in FIG. Next, the chord off operation process will be described in detail with reference to FIG.

【0128】先ず、ステップ1801では、初期化処理
を実行する。その初期化処理を実行することにより、変
数tktime0には、変数tktimeの値が代入さ
れ、変数pe0には変数peの値が代入され、変数pc
hordendoffにはNULLが代入される。ステ
ップ1801に続くステップ1802以降では、変数p
e0の値を順次、インクリメントしながら、和音とみな
す楽音の範囲の特定や、その和音を消音させる動作内容
を決定するための処理が行われる。
First, in step 1801, initialization processing is executed. By executing the initialization process, the value of the variable tktime is assigned to the variable tktime0, the value of the variable pe is assigned to the variable pe0, and the variable pc.
NULL is substituted into the holdoff. In step 1802 and subsequent steps following step 1801, the variable p
While sequentially incrementing the value of e0, processing for specifying the range of musical tones regarded as chords and determining the operation content for muting the chords is performed.

【0129】ステップ1802では、楽音・運指データ
が終了したか否か判定する。変数pe0の値が指定する
データが楽音・運指データの最後に位置するエンドデー
タであった場合、判定はYESとなってステップ181
0に移行し、そうでない場合には、判定はNOとなって
ステップ1803に移行する。
In step 1802, it is determined whether or not the musical tone / fingering data has been completed. If the data designated by the value of the variable pe0 is the end data located at the end of the musical tone / fingering data, the determination is yes and step 181
If not, the determination is no and the process proceeds to step 1803.

【0130】ステップ1803では、変数pe0の値が
変数peの値と等しいか否か判定する。それらの値が等
しい場合、判定はYESとなってステップ1805に移
行する。そうでない場合には、判定はNOとなり、ステ
ップ1804で変数tktime0に、それまでの値に
変数pe0の値が指定する単位楽音データの時間データ
の値を加算した値を代入した後、そのステップ1805
に移行する。そのようにして、変数tktime0に
は、変数peの値が指定する単位楽音データ以降の単位
楽音データを処理すべきタイミングを絶対時間で示す値
が代入される。
In step 1803, it is determined whether the value of the variable pe0 is equal to the value of the variable pe. If the values are equal, the determination is yes and the process moves to step 1805. Otherwise, the determination is no, and in step 1804, the value obtained by adding the value of the time data of the unit musical sound data designated by the value of the variable pe0 to the value up to that point is substituted into the variable tktime0, and then step 1805.
Move to. In this way, the variable tktime0 is substituted with the value indicating the timing, in absolute time, at which the unit tone data subsequent to the unit tone data designated by the value of the variable pe should be processed.

【0131】ステップ1805では、変数tktime
0の値が、変数tktimeの値に変数tkchord
の値を加算した値よりも小さいか否か判定する。変数p
e0、及びpeの値がそれぞれ指定する単位楽音データ
の各処理タイミングが、変数tkchordの値で指定
される時間内でなかった場合、判定はNOとなって上記
ステップ1810に移行する。そうでない場合には、判
定はYESとなってステップ1806に移行する。
At step 1805, the variable tktime is changed.
The value of 0 is changed to the value of the variable tktime by the variable tkchord.
It is determined whether it is smaller than the value obtained by adding the value of. Variable p
If the processing timings of the unit tone data designated by the values of e0 and pe are not within the time designated by the value of the variable tkchord, the determination is no and the process moves to step 1810. Otherwise, the determination is yes and the process moves to step 1806.

【0132】ステップ1806では、変数pe0の値が
指定する単位楽音データは楽音の消音(ノートオフイベ
ント)を表すものであるか否か判定する。その単位楽音
データがノートオフイベントを表していた場合、判定は
YESとなり、ステップ1807で変数pchorde
ndoffに変数pe0の値を代入し、次にステップ1
808でノートオフ動作処理を実行した後、ステップ1
809に移行する。そうでない場合には判定はNOとな
り、そのステップ1809に移行する。
In step 1806, it is determined whether or not the unit musical tone data designated by the value of the variable pe0 represents the mute of a musical tone (note-off event). If the unit tone data represents a note-off event, the determination is yes and in step 1807 the variable pchorde.
Substitute the value of the variable pe0 for ndoff, then step 1
After performing the note-off operation process in 808, step 1
Move to 809. Otherwise, the determination is no and the process moves to step 1809.

【0133】ステップ1809では、変数pe0に次の
単位楽音データのアドレスを代入する。それを行った
後、上記ステップ1802に戻る。このように、ステッ
プ1802〜1809で形成される処理ループをステッ
プ1802の判定がYES、或いはステップ1805の
判定がNOとなるまで繰り返し実行することにより、変
数pchordendoffには、和音を構成するとみ
なす楽音のなかで最後に消音する楽音の単位楽音データ
のアドレス値が代入されることになる。
At step 1809, the address of the next unit tone data is assigned to the variable pe0. After that, the process returns to step 1802. As described above, the processing loop formed in steps 1802 to 1809 is repeatedly executed until the determination in step 1802 is YES or the determination in step 1805 is NO, so that the variable pchordendoff is set to the tone that is regarded as a chord. Of these, the address value of the unit tone data of the tone to be muted at the end is substituted.

【0134】一方、ステップ1802の判定がYES、
或いはステップ1805の判定がNOとなって移行する
ステップ1810では、手パートがz軸上を移動してい
く動作(ここでは図4に示す位置ZPOS2から位置Z
POS1に移動していく動作である)内容を指定するパ
ート動作データを作成する。その動作データの作成は、
変数tktimeの値が示すタイミングで移動を開始
し、所定の速度で位置ZPOS1に達するように行う。
そのようにしてパート動作データを生成し単位動作デー
タAに追加した後、一連の処理を終了する。
On the other hand, the determination in step 1802 is YES,
Alternatively, in step 1810 where the determination in step 1805 becomes NO and the process moves, the hand part moves on the z-axis (here, from position ZPOS2 to position ZPOS2 shown in FIG. 4).
Create part operation data that specifies the contents (which is an operation of moving to POS1). The operation data is created by
The movement is started at the timing indicated by the value of the variable tktime, and the position ZPOS1 is reached at a predetermined speed.
After the part motion data is generated and added to the unit motion data A in this way, a series of processes is ended.

【0135】和音の消音動作内容として、手パートをz
軸上における移動内容を指定するパート動作データは上
述したようにして生成される。それにより、図6に示す
例では、親指パートが「D#」の音高が割り当てられた
鍵の離鍵開始に合わせて、手パートのz軸上の移動が開
始している。
As the contents of the chord silencing operation, the hand part is z
The part motion data designating the movement contents on the axis is generated as described above. As a result, in the example shown in FIG. 6, the movement of the hand part on the z-axis starts at the time when the thumb part starts to release the key to which the pitch “D #” is assigned.

【0136】次に、上記ステップ1808、或いは図1
6に示すノートオフメイン処理内でステップ1605と
して実行されるノートオフ動作処理処理について、図1
9に示すその動作フローチャートを参照して詳細に説明
する。なお、この処理内では、単位楽音データに付加さ
れた指番号データは変数figに、その単位楽音データ
中の音高データは変数noteに代入されている。
Next, in step 1808 described above, or in FIG.
The note-off operation processing processing executed as step 1605 in the note-off main processing shown in FIG.
This will be described in detail with reference to the operation flowchart shown in FIG. In this process, the finger number data added to the unit musical tone data is substituted into the variable fig, and the pitch data in the unit musical tone data is substituted into the variable note.

【0137】先ず、ステップ1901では、初期設定を
行う。その初期設定では、変数peの値で指定される単
位楽音データ以降で、変数figの値が指番号データと
して付加されているノートオンイベントを表す単位楽音
データ中の音高データを抽出し、その抽出した音高デー
タを変数nextnoteに代入することなどが行われ
る。
First, in step 1901, initial setting is performed. In the initial setting, after the unit tone data designated by the value of the variable pe, the pitch data in the unit tone data representing the note-on event to which the value of the variable fig is added as the finger number data is extracted, Substitution of the extracted pitch data into the variable nextnote is performed.

【0138】ステップ1901に続くステップ1902
では、変数figの値が指定する指パートが押鍵に使用
中か否か判定する。変数noteの値で指定される楽音
を実際には発音させないような場合、即ちその楽音の発
音開始を指示する単位楽音データが存在していない、或
いはその単位楽音データが存在していても、それに変数
figの値が指番号データとして付加されていないよう
な場合、判定はNOとなり、ここで一連の処理を終了す
る。そうでない場合には、判定はYESとなってステッ
プ1903に移行する。
Step 1902 following step 1901
Then, it is determined whether or not the finger part designated by the value of the variable fig is being used for key depression. When the musical tone specified by the value of the variable note is not actually pronounced, that is, there is no unit musical tone data for instructing the start of the generation of the musical tone, or even if the unit musical tone data exists, When the value of the variable fig is not added as the finger number data, the determination is NO, and the series of processing is ended here. Otherwise, the determination is yes and the process moves to step 1903.

【0139】ステップ1903では、変数noteの値
が変数nextnoteの値と等しいか否か判定する。
それらの値が等しくない場合、即ちユーザがそれまで押
鍵していた鍵とは異なる鍵を同じ指で押鍵しなければな
らない場合、判定はNOとなってステップ1904に移
行し、変数figの値で指定される指パートが、変数t
ktimeの値で指定されるタイミングで離鍵動作を開
始させるパート動作データを生成した後、一連の処理を
終了する。その動作データは、離鍵動作を開始させる指
パートと隣の指パートとの間を広げさせていたならば、
その間を狭くさせて弛緩状態に戻す動作も行わせるもの
である。反対に、そうでない場合には、判定はYESと
なってステップ1905に移行し、変数figの値で指
定される指パートが、変数tktimeの値で指定され
るタイミングで単に離鍵動作を開始させるパート動作デ
ータを生成した後、一連の処理を終了する。その動作デ
ータでは、離鍵動作を開始させる指パートと隣の指パー
トとの間を広げさせていても、その間を狭くさせること
は行わせない。
In step 1903, it is determined whether the value of the variable note is equal to the value of the variable nextnote.
If the values are not equal, that is, if the user has to press a key different from the key that has been pressed by the same finger, the determination becomes NO, the process proceeds to step 1904, and the variable fig is set. The finger part specified by the value is the variable t
After generating the part operation data for starting the key release operation at the timing specified by the value of ktime, the series of processes is ended. The operation data, if had been allowed to spread out between the finger part and the adjacent finger part to start the key release operation,
The operation is also performed by narrowing the interval and returning to the relaxed state. On the contrary, otherwise, the determination is yes and the process moves to step 1905, and the finger part specified by the value of the variable fig simply starts the key releasing operation at the timing specified by the value of the variable tktime. After generating the part motion data, the series of processes is ended. According to the motion data, even if the space between the finger part for starting the key release motion and the adjacent finger part is widened, the space between them is not narrowed.

【0140】このように、本実施の形態では、指パート
の離鍵後の状態は、それを次の押鍵に使用するか否かを
考慮して決定している。それにより、次の押鍵に使わな
い指パートをいつまでも広げた状態にしておくようなこ
とは回避させている。このため、指パートを離鍵開始時
から次の押鍵終了時まで単に上下(frx)方向に動か
すようなことは無くなる。その結果、より自然な形で演
奏動作を表現できるだけでなく、押鍵イベント、或いは
離鍵イベントを発生させる指パートの動作や、その動作
に伴う他の指パートの動作をより目立たせることができ
る。
As described above, in the present embodiment, the state of the finger part after the key is released is determined in consideration of whether or not it is used for the next key depression. As a result, it is avoided that the finger part that is not used for the next key depression is left open indefinitely. Therefore, it is not necessary to simply move the finger part in the up and down (frx) direction from the start of key release to the end of the next key depression. As a result, not only can the performance movement be expressed in a more natural form, but also the movement of the finger part that causes a key depression event or a key release event, or the movement of another finger part that accompanies the movement can be made more prominent. .

【0141】図16に示すノートオフメイン処理では、
上述した各種サブルーチン処理が実行される。それによ
り、指パートを離鍵させる動作を表現するためのパート
動作データをサブルーチン処理単位で生成し単位動作デ
ータAに追加している。それらの動作データでは、変
z、配列変数rx1〜3、及びfrzのうちの何れ
かが値の変更対象である。
In the note-off main process shown in FIG. 16,
The various subroutine processes described above are executed. Thereby, part operation data for expressing the operation of releasing the finger part of the finger part is generated in a subroutine processing unit and added to the unit operation data A. In their operation data, the number of variables
h z, one of the array variable f rx1~3, and frz is a value to be changed.

【0142】図20は、図9に示す動作制御データ生成
処理内でステップ911として実行される手のx位置処
理の動作フローチャートである。次に、図20を参照し
て、手のx位置処理について詳細に説明する。
FIG. 20 is an operation flowchart of the hand x position processing executed as step 911 in the operation control data generation processing shown in FIG. Next, the x position processing of the hand will be described in detail with reference to FIG.

【0143】先ず、ステップ2001では、指パートが
押鍵している、或いは押鍵する鍵、その配置、各指パー
トの長さ、などを基に、横方向に動かした際の各指パー
トの回転角frzのなかの最大角(の絶対値)が最小と
なる手パートの基点301(手首)を軸としたz軸の周
りの回転角hrzを求める。指を横に動かせる範囲は、
指毎に若干、異なる。このことから、その回転角hrz
は、指毎の横に動かせる範囲を考慮しつつ決定してい
る。それにより、各指パートが実際の指が横に動く範囲
を越えて横に動くのを回避させている。
First, in step 2001, the finger part is moved in the lateral direction based on the key pressed by the finger part, the key to be pressed, the arrangement thereof, the length of each finger part, and the like. A rotation angle hrz around the z axis around the base point 301 (wrist) of the hand part where the maximum angle (absolute value) of the rotation angle frz is the minimum is obtained. The range where you can move your finger sideways is
Each finger is slightly different. From this, the rotation angle hrz
Is determined in consideration of the laterally movable range of each finger. This prevents each finger part from moving laterally beyond the actual lateral movement range of the finger.

【0144】ステップ2001を実行することにより、
手パート、及び各指パートのxy平面上での配置が確定
する。このことから、ステップ2001に続くステップ
2002では、各指パートが押鍵している、或いは押鍵
する鍵、その鍵の配置、各指パートの長さ、その回転角
frz、手パートの回転角hrz、及び手パートの長さ
La(図3参照)などを基に、手パートの基点301の
x軸上の位置hxを求める。その後はステップ2003
に移行する。
By executing step 2001,
The arrangement of the hand part and each finger part on the xy plane is determined. From this, in step 2002 subsequent to step 2001, the keys that are pressed or pressed by each finger part, the arrangement of the keys, the length of each finger part, the rotation angle frz thereof, and the rotation angle of the hand part. The position hx on the x-axis of the base point 301 of the hand part is calculated based on hrz, the length La of the hand part (see FIG. 3), and the like. After that, step 2003
Move to.

【0145】ステップ2003では、変数tkoldの
値で指定されるタイミングから変数tktimeの値で
指定されるタイミングまでに、手パートの基点301を
ステップ2002で求めた位置hxまで移動させたり、
ステップ2001で求めた回転角hrzにさせるパート
動作データをそれぞれ必要に応じて生成し単位動作デー
タAに追加する。位置hx、及び回転角hrzを共に変
化させる必要がなければ、それらのパート動作データは
作成しない。
In step 2003, the base point 301 of the hand part is moved to the position hx obtained in step 2002 from the timing designated by the value of the variable tkold to the timing designated by the value of the variable tktime.
If necessary, part motion data for the rotation angle hrz obtained in step 2001 is generated and added to the unit motion data A. If it is not necessary to change both the position hx and the rotation angle hrz, those part operation data are not created.

【0146】各指パートのxy平面上での配置が確定す
ることで、各指パートの回転角frzが確定し、押鍵さ
せている、或いは押鍵させる指パートは伸ばしたままで
良いのか、それとも第2関節、及び3関節(第3関節
は第2関節での曲がりに応じて曲げる必要がある)で曲
げなければならないのか、といったことも確定する。押
鍵させる指パートを第2関節で曲げることになれば、そ
れを伸ばして押鍵させる場合と比較して、第1関節で曲
げる角度は小さくさせなければならない。このようなこ
とから、上記ステップ2003では、手パートの基点3
01の回転角をhrzとし、それを位置hxに移動させ
ることによって状態を変化させるべき指パートがあれ
ば、必要に応じて、指パートの状態を変化させるための
パート動作データを新たに作成したり、既に作成したパ
ート動作データを修正することも合わせて行っている。
それにより、他の指パートをくぐらせたり、或いはまた
いでの押鍵動作や、指パートの横の動作に応じて他の指
パートを横に動作させるといった動画表現を実現させて
いる。そのようなことを行うステップ2003の処理を
実行した後に一連の処理を終了する。
By confirming the arrangement of each finger part on the xy plane, the rotation angle frz of each finger part is determined, and the key is pressed, or the finger part to be pressed can be left extended. It is also determined whether the second joint and the third joint (the third joint needs to be bent according to the bending at the second joint) should be bent. If the finger part to be depressed is to be bent at the second joint, the angle of bending at the first joint must be made smaller than in the case of extending and pushing the key. Therefore, in the step 2003, the base point 3 of the hand part is set.
If there is a finger part whose state is to be changed by moving the rotation angle of 01 to hrz and moving it to the position hx, newly create part operation data for changing the state of the finger part as necessary. Or, the part operation data already created is also corrected.
As a result, a moving image expression is realized in which the other finger part is passed through, or the key is pushed over, or the other finger part is moved sideways according to the sideways movement of the finger part. After performing the processing of step 2003 for performing such a processing, the series of processing is ended.

【0147】上記手のx位置処理を実行すると、変数p
eの値で指定される単位楽音データが表すイベントの発
生時、或いはそのイベント後の手指の各パートの状態を
指定する各種変数、及び各種配列変数のなかで、変数h
yの除く全てのものの値が確定することになる。その変
数hyの値は、この手のx値処理の次にステップ912
として実行される手のy位置再処理によって確定され
る。
When the x position processing of the above hand is executed, the variable p
Among various variables and various array variables that specify the state of each part of the finger when the event represented by the unit musical sound data specified by the value of e occurs or after the event, the variable h
The values of all but y will be fixed. The value of the variable hy is set in step 912 after the x value processing of this kind.
The y position reprocessing of the hand performed as

【0148】図21は、シーケンス処理の動作フローチ
ャートである。このシーケンス処理は、例えばユーザが
操作部106を操作して、予め指定(選択)した楽音・
運指データの再生を指示した場合に、CPU101が、
ROM102に格納されているプログラムを実行するこ
とで実現される処理である。図8に示すリアルタイム処
理部802はそのシーケンス処理を実行することによっ
て実現される。
FIG. 21 is an operation flowchart of the sequence processing. In this sequence processing, for example, a user operates the operation unit 106 to specify a musical sound designated (selected) in advance.
When the reproduction of fingering data is instructed, the CPU 101
This is a process realized by executing a program stored in the ROM 102. The real-time processing unit 802 shown in FIG. 8 is realized by executing the sequence processing.

【0149】図5(b)に示す動作制御データBは、楽
音・運指データとは別の領域に格納されている。動作制
御データBを構成する段階動作データは、当然のことな
がら、楽音・運指データを構成する単位楽音データの数
よりも多く、その処理タイミングは、通常、単位楽音デ
ータの処理タイミングと一致しない。このようなことか
ら、動作制御データB、及び楽音・運指データは、それ
ぞれ、並行に処理している。
The operation control data B shown in FIG. 5B is stored in an area different from the tone / fingering data. As a matter of course, the number of stepwise motion data constituting the motion control data B is larger than the number of unit musical tone data constituting musical tone / fingering data, and the processing timing thereof does not normally coincide with the processing timing of the unit musical tone data. . For this reason, the motion control data B and the tone / fingering data are processed in parallel.

【0150】先ず、ステップ2101では、変数tkt
imeE、tktimeM、及びclockにそれぞれ
0を代入したり、変数pe、及びpmにそれぞれ初期値
を代入するといった各種変数への値の代入や、特には図
示しないハードタイマが所定時間間隔で出力する割り込
み信号を有効にして、タイマインタラプト処理の実行禁
止を解除するといった初期設定を行う。その実行禁止を
解除することによって、変数clockの値は、タイマ
インタラプト処理が実行される度にインクリメントされ
る。
First, in step 2101, the variable tkt
Assigning values to various variables such as substituting 0 for imeE, tktimeM, and clock, or assigning initial values to variables pe and pm, and an interrupt output by a hard timer (not shown) at predetermined time intervals Performs initial settings such as enabling the signal and canceling execution prohibition of timer interrupt processing. By releasing the prohibition of execution, the value of the variable clock is incremented each time the timer interrupt processing is executed.

【0151】ステップ2101に続くステップ2102
では、変数clockの値やテンポデータの値を用いた
演算を行って、変数clockの値を楽音・運指データ
中の時間データの単位で示す値を算出し、その算出結果
を変数tktimeに代入する。その後はステップ21
03に移行する。
Step 2102 following step 2101
Then, an operation using the value of the variable clock and the value of the tempo data is performed to calculate a value indicating the value of the variable clock in the unit of time data in the musical tone / fingering data, and the calculation result is assigned to the variable tktime. To do. Then step 21
Move to 03.

【0152】ステップ2103〜2109では、楽音・
運指データの再生に係わる処理が実行される。先ず、ス
テップ2103では、楽音・運指データが終了したか否
か判定する。変数peの値が指定するデータが楽音・運
指データの最後に位置するエンドデータであった場合、
判定はYESとなってステップ2110に移行し、そう
でない場合には、判定はNOとなってステップ2104
に移行する。
In steps 2103 to 2109, a musical tone
The processing relating to the reproduction of fingering data is executed. First, in step 2103, it is determined whether or not the musical tone / fingering data has ended. If the data specified by the value of the variable pe is the end data located at the end of the musical tone / fingering data,
The determination is YES and the process proceeds to step 2110, and if not, the determination is NO and step 2104.
Move to.

【0153】ステップ2104では、変数peの値で指
定される単位楽音データ中の時間データの値を変数tk
timeEの値に加算した値が、変数tktimeの値
以上か否か判定する。変数tktimeEには、それま
でに処理した単位楽音データ中の時間データの値を累算
した値、即ち直前に処理した単位楽音データの処理タイ
ミングを絶対時間で示す値が代入されている。このた
め、変数peの値で指定される単位楽音データを処理す
べきタイミングとなった場合、判定はYESとなってス
テップ2105に移行する。そうでない場合には、判定
はNOとなってステップ2110に移行する。
At step 2104, the value of the time data in the unit tone data designated by the value of the variable pe is changed to the variable tk.
It is determined whether the value added to the value of timeE is greater than or equal to the value of the variable tktime. In the variable tktimeE, a value obtained by accumulating the values of time data in the unit musical sound data processed up to that point, that is, a value indicating the processing timing of the immediately preceding unit musical sound data in absolute time is substituted. Therefore, when it is time to process the unit musical sound data specified by the value of the variable pe, the determination is yes and the process moves to step 2105. Otherwise, the determination is no and the process moves to step 2110.

【0154】ステップ2105では、変数tktime
Eに、それまでの値に変数peの値が指定する単位楽音
データ中の時間データの値を加算した値を代入する。そ
れにより、次の単位時間データを処理すべきタイミング
を示す値を変数tktimeEに代入した後は、処理タ
イミングとなった単位楽音データをそれが表すイベント
の種類に応じて処理を行い、その処理による演奏の進行
に応じて、表示ページの切り換え、新たに発音させた楽
音に対応する音符の表示色の変更などを行い、更に変数
peに、それまでのアドレス値から1イベント分だけ進
めたアドレス値を代入した(以上、ステップ2106〜
2109)後、ステップ2110に移行する。なお、単
位楽音データの処理は、CPU101が、そのデータか
ら音源107に送出すべきコマンドを生成して送出する
ことで行われる。
In step 2105, the variable tktime is changed.
The value obtained by adding the value of the time data in the unit tone data designated by the value of the variable pe to the value up to that point is substituted for E. As a result, after substituting the value indicating the timing at which the next unit time data is to be processed into the variable tktimeE, the unit tone data at the processing timing is processed according to the type of the event it represents, and Depending on the progress of the performance, the display page is switched, the display color of the note corresponding to the newly pronounced musical tone is changed, and the address value advanced by 1 event from the previous address value is added to the variable pe. Was substituted (above, step 2106-
After 2109), the process proceeds to step 2110. The processing of the unit tone data is performed by the CPU 101 by generating a command to be transmitted to the sound source 107 from the data and transmitting the command.

【0155】ステップ2110〜2115では、動作制
御データBに従って手指の各パートを動作させるための
処理が行われる。先ず、ステップ2110では、動作制
御データBが終了したか否か判定する。変数pmの値が
指定する段階動作データが動作制御データB中に存在し
ていない場合、判定はYESとなってステップ2115
に移行し、そうでない場合には、判定はNOとなってス
テップ2111に移行する。
In steps 2110 to 2115, processing for operating each part of the finger is performed according to the operation control data B. First, in step 2110, it is determined whether the operation control data B has ended. If the staged motion data designated by the value of the variable pm does not exist in the motion control data B, the determination is yes and step 2115.
If not, the determination is no and the process moves to step 2111.

【0156】ステップ2111では、変数pmの値で指
定される段階動作データ中の時間データの値を変数tk
timeMの値に加算した値が、変数tktimeの値
以上か否か判定する。変数tktimeMには、上記変
数tktimeEと同様に、それまでに処理した段階動
作データ中の時間データの値を累算した値、即ち直前に
処理した段階動作データの処理タイミングを絶対時間で
示す値が代入されている。このため、変数pmの値で指
定される段階動作データを処理すべきタイミングとなっ
た場合、判定はYESとなってステップ2112に移行
する。そうでない場合には、判定はNOとなって上記ス
テップ2102に戻る。
At step 2111, the value of the time data in the step motion data designated by the value of the variable pm is changed to the variable tk.
It is determined whether the value added to the value of timeM is greater than or equal to the value of the variable tktime. The variable tktimeM is, like the variable tktimeE, a value obtained by accumulating the values of the time data in the step motion data processed up to that point, that is, a value indicating the processing timing of the immediately preceding step motion data in absolute time. It has been assigned. Therefore, when it is time to process the staged motion data specified by the value of the variable pm, the determination is yes and the process moves to step 2112. Otherwise, the determination is no and the process returns to step 2102.

【0157】ステップ2112では、変数tktime
Mに、それまでの値に変数pmの値が指定する段階動作
データ中の時間データの値を加算した値を代入する。そ
れにより、次の段階動作データを処理すべきタイミング
を示す値を変数tktimeMに代入すると、ステップ
2113に移行して、処理タイミングとなった段階動作
データに従って、手指の各パートのなかで状態を変化さ
せるべきパートの状態を変化させて演奏動作を示す表示
内容を更新する演奏動作表示更新処理を実行する。その
実行後は、ステップ2114で変数pmに、それまでの
アドレス値から1イベント分だけ進めたアドレス値を代
入した後、上記ステップ2102に戻る。なお、表示内
容の更新は、例えばCPU101が、表示部105のメ
モリに格納された画像データ中でデータを書き換えるべ
き部分の画像データをROM102から読み出すか、或
いはそれを用いて生成し、そのようにして得た画像デー
タを、そのメモリ中の画像データを書き換えるべき部分
に上書きすることで行われる。
At step 2112, the variable tktime is changed.
The value obtained by adding the value of the time data in the stage operation data designated by the value of the variable pm to the value up to that point is substituted for M. As a result, when the value indicating the timing at which the next stage motion data should be processed is substituted into the variable tktimeM, the process proceeds to step 2113, and the state is changed in each part of the finger according to the stage motion data that has become the processing timing. A performance operation display update process is executed to change the state of the part to be performed and update the display content indicating the performance operation. After the execution, in step 2114, the address value advanced by one event from the address value so far is substituted into the variable pm, and then the process returns to step 2102. Note that the display content is updated by, for example, the CPU 101 reading from the ROM 102 the image data of a portion of the image data stored in the memory of the display unit 105 where the data should be rewritten, or using it to generate the image data. The image data thus obtained is overwritten on the portion of the memory where the image data should be rewritten.

【0158】一方、上記ステップ2110の判定がYE
Sとなって移行するステップ2115では、楽音・運指
データが終了したか否か判定する。変数peの値が指定
するデータが楽音・運指データの最後に位置するエンド
データであった場合、判定はYESとなって一連の処理
を終了し、そうでない場合には、判定はNOとなって上
記ステップ2102に戻る。
On the other hand, the determination in step 2110 is YES.
In step 2115 where the processing shifts to S and proceeds, it is determined whether or not the musical tone / fingering data has ended. If the data specified by the value of the variable pe is the end data located at the end of the musical tone / fingering data, the determination is YES and the series of processes is terminated. Otherwise, the determination is NO. Then, the process returns to step 2102.

【0159】上述したシーケンス処理を実行することに
より、図7に示すような画像が表示部105に表示さ
れ、それに表示された手指の各パートが図6に示すよう
に動作することになる。
By executing the above-described sequence processing, an image as shown in FIG. 7 is displayed on the display unit 105, and each part of the finger displayed on it is operated as shown in FIG.

【0160】なお、本実施の形態では、図6に示すよう
に、手パートは単位楽音データの処理タイミングで動作
を開始させることを基本としているが、必ずしもそうし
なくて良い。演奏中の動作としては、例えば横動作は押
鍵動作の開始前に完了するといった特徴がある(関口、
英保:仮想空間におけるピアノ演奏動作の生成と表示、
情報処理学会研究報告 Vol99、No.16(19
99))。このことから、例えば押鍵では、例えば手パ
ートや指パートの移動が完了した後に指パートを関節で
曲げての押鍵動作を開始するといったように、複数のフ
ェーズに分けて手指の各パートを動作させるようにして
も良い。
In this embodiment, as shown in FIG. 6, the hand part is basically started at the processing timing of the unit musical sound data, but this need not always be the case. As a motion during performance, for example, a lateral motion is completed before starting a key pressing motion (Sekiguchi,
Eiho: Generation and display of piano performance in virtual space,
IPSJ Research Report Vol 99, No. 16 (19
99)). From this, for example, in key depression, for example, after the movement of the hand part or the finger part is completed, the finger part is bent at the joint to start the key depression operation, and each part of the finger is divided into a plurality of phases. You may make it operate.

【0161】手パートの基点301がとり得るz軸上の
位置は、位置ZPOS1、或いはZPOS2の2通りだ
けにしているが、その位置を3通り以上、或いは任意に
設定できるようにしても良い。そのようにした場合、指
が他の指をくぐる動作やまたぐ動作をより適切に表現で
きるようになる。
[0161] positioned on the base 301 Gato Ri obtained Ru z-axis of the hand part is located ZPOS1, or has been just two ways ZPOS2, its position in triplicate or more, or even be set arbitrarily good. In such a case, it becomes possible to more appropriately express the action of a finger passing through or straddling another finger.

【0162】また、本実施の形態では、演奏操作子群と
して鍵盤を想定し、その鍵盤に対する演奏動作を表示し
ているが、鍵盤以外の演奏操作子群に対する演奏動作を
表示するようにしても良い。
Further, in the present embodiment, a keyboard is assumed as the performance operator group, and the performance operation for the keyboard is displayed, but the performance operation for the performance operator group other than the keyboard may be displayed. good.

【0163】本実施の形態は音源107や表示部105
を搭載した装置に本発明を適用したものであるが、本発
明を適用できる装置はそれらを搭載したものに限定され
るわけではない。音源107は無くても良く、表示部1
05についても、外部の表示装置と接続できるのであれ
ば、無くても良い。
In this embodiment, the sound source 107 and the display unit 105 are used.
The present invention is applied to a device equipped with, but the device to which the present invention can be applied is not limited to those equipped with them. The sound source 107 may be omitted, and the display unit 1
Also, 05 may be omitted if it can be connected to an external display device.

【0164】上記演奏動作表示装置の動作を実現させる
ようなプログラムは、CD−ROM、フロッピー(登録
商標)ディスク、或いは光磁気ディスク等の記録媒体に
記録させて配布しても良い。或いは、公衆網等の通信回
線を用いて、そのプログラムの一部、若しくは全部を配
信するようにしても良い。そのようにした場合には、ユ
ーザはプログラムを取得して任意の演奏動作表示装置、
或いはコンピュータ等のデータ処理装置にロードするこ
とにより、その装置に本発明を適用させることができ
る。このことから、記録媒体は、プログラムを配信する
装置がアクセスできるものであっても良い。
The program for realizing the operation of the performance operation display device may be recorded in a recording medium such as a CD-ROM, a floppy (registered trademark) disk, or a magneto-optical disk and distributed. Alternatively, a part or all of the program may be distributed using a communication line such as a public network. In such a case, the user obtains the program and selects any performance operation display device,
Alternatively, the present invention can be applied to a data processing device such as a computer by loading the device. Therefore, the recording medium may be accessible by the device that distributes the program.

【0165】[0165]

【発明の効果】以上、説明したように本発明は、楽音・
運指データを基に、演奏操作子群、例えば鍵盤における
押鍵または離鍵操作時の指の状態を表わす動作制御デー
タを生成して、この動作制御データに基づいて指による
演奏動作を動画表示する。このため、ユーザに演奏中に
おける指の動作を容易に理解させることができる。ま
た、指の演奏動作表示開始のタイミングは、所定の基準
時間に基づいて楽音・運指データ中のイベント発生(発
音)タイミングよりも早いタイミングに決定するように
しているため、指の演奏動作表示は、より実際に近いも
のとなり、ユーザに演奏中の指の動作をより容易に理解
させることができる。
As described above, according to the present invention, the
Based on fingering data, a group of performance operators , such as the keyboard
A motion control data that indicates the state of the finger when a key is pressed or released.
A performance of a finger is displayed as a moving image based on the motion control data . Therefore, the user can easily understand the movement of the finger during the performance. In addition, the timing of the display of the finger performance operation is based on a predetermined reference time, and an event (issue
Since the timing is determined to be earlier than the (sound) timing , the finger performance operation display becomes closer to the actual one, and the user can more easily understand the finger operation during performance.

【図面の簡単な説明】[Brief description of drawings]

【図1】本実施の形態による演奏動作表示装置の回路構
成図である。
FIG. 1 is a circuit configuration diagram of a performance operation display device according to the present embodiment.

【図2】楽音・運指データの構成を説明する図である。FIG. 2 is a diagram illustrating a configuration of musical sound / fingering data.

【図3】表示用の手指の構造を説明する図である。FIG. 3 is a diagram illustrating a structure of fingers for display.

【図4】手の移動範囲を説明する図である。FIG. 4 is a diagram illustrating a movement range of a hand.

【図5】動作制御データの構成を説明する図である。FIG. 5 is a diagram illustrating a configuration of operation control data.

【図6】手指の動作表示例を説明する図である。FIG. 6 is a diagram illustrating an example of finger motion display.

【図7】実際の表示例を示す図である。FIG. 7 is a diagram showing an actual display example.

【図8】本実施の形態による演奏動作表示装置の機能ブ
ロック図である。
FIG. 8 is a functional block diagram of a performance operation display device according to the present embodiment.

【図9】動作制御データ生成処理の動作フローチャート
である。
FIG. 9 is an operation flowchart of operation control data generation processing.

【図10】手のy位置処理処理の動作フローチャートで
ある。
FIG. 10 is an operation flowchart of a hand y position processing process.

【図11】手のz位置処理の動作フローチャートであ
る。
FIG. 11 is an operation flowchart of z position processing of a hand.

【図12】ノートオンメイン処理の動作フローチャート
である。
FIG. 12 is an operation flowchart of note-on-main processing.

【図13】和音判定処理の動作フローチャートである。FIG. 13 is an operation flowchart of chord determination processing.

【図14】和音動作処理の動作フローチャートである。FIG. 14 is an operation flowchart of chord operation processing.

【図15】ノートオン動作処理の動作フローチャートで
ある。
FIG. 15 is an operation flowchart of a note-on operation process.

【図16】ノートオフメイン処理の動作フローチャート
である。
FIG. 16 is an operation flowchart of a note-off main process.

【図17】和音オフ判定処理の動作フローチャートであ
る。
FIG. 17 is an operation flowchart of chord off determination processing.

【図18】和音オフ動作処理の動作フローチャートであ
る。
FIG. 18 is an operation flowchart of chord off operation processing.

【図19】ノートオフ動作処理の動作フローチャートで
ある。
FIG. 19 is an operation flowchart of a note-off operation process.

【図20】手のx位置処理の動作フローチャートであ
る。
FIG. 20 is an operation flowchart of x position processing of a hand.

【図21】シーケンス処理の動作フローチャートであ
る。
FIG. 21 is an operation flowchart of sequence processing.

【符号の説明】[Explanation of symbols]

101 CPU 102 ROM 103 RAM 104 データ入力部 105 表示部 106 操作部 107 音源 108 サウンドシステム 300 鍵盤 301〜306 基点 801 データ生成部 802 リアルタイム処理部 803 動作制御データ生成部 804 データ送出部 805 動作表示部 806 音源部 807 楽譜表示部 101 CPU 102 ROM 103 RAM 104 Data input section 105 display 106 Operation part 107 sound source 108 sound system 300 keyboards 301-306 base point 801 Data generation unit 802 Real-time processing unit 803 Operation control data generation unit 804 Data transmission unit 805 operation display 806 sound source section 807 score display

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 101 - 102 G10G 1/00 - 1/02 G09B 15/00 Continuation of front page (58) Fields surveyed (Int.Cl. 7 , DB name) G10H 1/00 101-102 G10G 1/00-1/02 G09B 15/00

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 演奏操作の対象となる演奏操作子群に対
し、演奏の進行に応じて演奏者が操作していく際の動作
を表示する装置であって、 前記演奏操作子群上で発生させるべきイベントの内容を
表わすイベントデータ、該イベントの発生タイミングを
示す時間データ、及び該イベントの発生に使用すべき指
を指定する指データから構成される楽音・運指データを
取得する楽音・運指データ取得手段と、 前記楽音・運指データ取得手段にて取得された楽音・運
指データに基づいて、前記演奏操作子群中の演奏操作子
の操作を完了したとき、或いは該操作の解除を完了した
ときの指の状態を表わす動作制御データを生成する動作
制御データ生成手段と、 前記動作制御データ生成手段により生成され動作制御
データにて表わされる演奏操作子の操作を完了したとき
の指の状態へ移行を開始すべき動作開始タイミングを、
前記演奏操作子の操作を完了するのに要する時間を表わ
す所定の基準時間に基づいて決定する動作タイミング決
定手段と、 前記動作制御データ生成手段からの動作制御データ及び
前記動作タイミング決定手段からの動作開始タイミング
に基づいて、前記演奏操作子群を操作していく指の動作
を動画表示する動作表示手段と、 を含むことを特徴とする演奏動作表示装置。
1. A device for displaying an operation when a performer operates a performance operator group, which is an object of a performance operation, in accordance with the progress of a performance, and is generated on the performance operator group. Musical tone / fingering data obtained from event data representing the content of an event to be caused, time data indicating the timing of occurrence of the event, and finger data designating a finger to be used to generate the event finger data acquisition means, based on the obtained tone-fingering data in said musical tone-fingering data acquisition unit, performance operator in the performance operator group
When the operation of the above is completed or the release of the operation is completed
When complete an operation control data generating means for generating an operation control data representing the state of the finger, the operation of the performance operator represented by the operation control data that is generated by the operation control data generation means when
The operation start timing that should start the transition to the finger state of
Indicates the time required to complete the operation of the performance operator.
Operation timing determining means for determining based on a predetermined reference time, operation control data from the operation control data generating means, and
Based on the operation start timing from the operation timing determining means, musical performance display device characterized by comprising, an operation display means operating for the video display of the finger to continue to operate the performance operator group.
【請求項2】 演奏操作の対象となる演奏操作子群に対
し、演奏の進行に応じて演奏者が操作していく際の動作
を表示する装置であって、 前記演奏操作子群上で発生させるべきイベントの内容を
表わすイベントデータ、該イベントの発生タイミングを
示す時間データ、及び該イベントの発生に使用すべき指
を指定する指データから構成される楽音・運指データを
取得する楽音・運指データ取得手段と、 前記楽音・運指データ取得手段にて取得された楽音・運
指データに基づいて、前記演奏操作子群中の演奏操作子
の操作を完了したとき、或いは該操作の解除を完了した
ときの指の状態を表わす動作制御データを生成する動作
制御データ生成手段と、 前記動作制御データ生成手段により生成される動作制御
データにて表わされる演奏操作子の操作を完了したとき
の指の状態へ移行を開始すべき動作開始タイミングを、
当該演奏操作子の操作時に使用される指と同じ指データ
を有する直前の楽音・運指データにおける時間データ
と、前記演奏操作子の操作を完了するのに要する時間を
表わす第1の基準時間と、前記演奏操作子の操作の解除
を完了するのに要する時間を表わす第2の基準時間とに
基づいて決定する動作タイミング決定手段と、 前記動作制御データ生成手段からの動作制御データ及び
前記動作タイミング決定手段からの動作開始タイミング
に基づいて、前記演奏操作子群を操作していく指の動作
を動画表示する動作表示手段と、 を含む ことを特徴とする演奏動作表示装置。
2. A pair of performance operators that are objects of performance operation.
However, when the performer operates as the performance progresses
Is a device for displaying the contents of the event to be generated on the performance operator group.
The event data that represents and the occurrence timing of the event
The time data indicated and the finger that should be used to generate the event
Tones and fingering data composed of finger data that specifies
The musical sound / fingering data acquisition means to be acquired and the musical sound / fingering data acquired by the musical sound / fingering data acquisition means.
Based on finger data, the performance operators in the performance operators group
When the operation of the above is completed or the release of the operation is completed
Motion to generate motion control data that represents the state of the finger when
Control data generation means and operation control generated by the operation control data generation means
When the operation of the performance operator represented by the data is completed
The operation start timing that should start the transition to the finger state of
Finger data that is the same as the finger used when operating the performance operator
Data in musical tone / fingering data immediately before having
And the time required to complete the operation of the performance operator.
First reference time to represent and release of operation of the performance operator
To a second reference time that represents the time it takes to complete
Operation timing determining means for determining the operation timing based on the operation control data from the operation control data generating means,
Operation start timing from the operation timing determination means
The movement of the finger operating the performance control group based on
A performance operation display device , comprising: a motion display means for displaying a moving picture .
【請求項3】 コンピュータに、 演奏操作の対象となる演奏操作子群上で発生させるべき
イベントの内容を表わすイベントデータ、該イベントの
発生タイミングを示す時間データ、及び該イベントの発
生に使用すべき指を指定する指データから構成される楽
音・運指データを取得する取得手順と、 前記取得手順にて取得された楽音・運指データに基づい
て、前記演奏操作子群中の演奏操作子の操作を完了した
とき、或いは該操作の解除を完了したときの指の状態を
表わす動作制御データを生成する生成手順と、 前記生成手順により生成される動作制御データにて表わ
される演奏操作子の操作を完了したときの指の状態へ移
行を開始すべき動作開始タイミングを、前記演奏操作子
の操作を完了するのに要する時間を表わす所定の基準時
間に基づいて決定する決定手順と、 前記生成手順で生成した動作制御データ及び前記決定手
順で決定した動作開始タイミングに基づいて、前記演奏
操作子群を操作していく指の動作を動画表示させる表示
手順と、 を実行させるためのプログラムを記録したコンピュータ
読み取り可能な記録媒体
3. A computer should be caused to generate on a group of performance operators to be operated for performance.
Event data that represents the content of the event,
Time data indicating the timing of occurrence and the occurrence of the event
An easy operation that consists of finger data that specifies the fingers that should be used live.
Based on the acquisition procedure to acquire the sound / fingering data and the musical sound / fingering data acquired in the acquisition procedure
Complete the operation of the performance operator in the performance operator group.
Time, or the state of your finger when the release of the operation is completed
A generating step of generating an operation control data representing a table with an operation control data generated by said generation step
Move to the finger state when the operation of the performance controller is completed.
The operation start timing for starting the line
A predetermined reference time that represents the time required to complete the operation of
A decision procedure that is decided based on the interval, the operation control data generated in the generation procedure, and the decision procedure.
Based on the operation start timing determined in order,
Display that displays a movie of finger movements operating the controls
A computer in which the procedures and programs for executing the procedures are recorded
A readable recording medium .
【請求項4】 コンピュータに、演奏操作の対象となる
演奏操作子群上で発生させるべきイベントの内容を表わ
すイベン トデータ、該イベントの発生タイミングを示す
時間データ、及び該イベントの発生に使用すべき指を指
定する指データから構成される楽音・運指データを取得
する取得手順と、 前記取得手順にて取得された楽音・運指データに基づい
て、前記演奏操作子群中の演奏操作子の操作を完了した
とき、或いは該操作の解除を完了したときの指の状態を
表わす動作制御データを生成する生成手順と、 前記生成手順により生成される動作制御データにて表わ
される演奏操作子の操作を完了したときの指の状態へ移
行を開始すべき動作開始タイミングを、当該演奏操作子
の操作時に使用される指と同じ指データを有する直前の
楽音・運指データにおける時間データと、前記演奏操作
子の操作を完了するのに要する時間を表わす第1の基準
時間と、前記演奏操作子の操作の解除を完了するのに要
する時間を表わす第2の基準時間とに基づいて決定する
決定手順と、 前記生成手順で生成した動作制御データ及び前記決定手
順で決定した動作開始タイミングに基づいて、前記演奏
操作子群を操作していく指の動作を動画表示させる表示
手順と、 を実行させるためのプログラムを記録したコンピュータ
読み取り可能な記録媒体
4. A computer is a target of performance operation.
Shows the contents of events that should occur on the performance control group.
To event data, shows the generation timing of the event
Specify the time data and the finger that should be used to generate the event.
Acquires tone and fingering data composed of finger data to be set
Based on the acquisition procedure and the tone / fingering data acquired in the acquisition procedure
Complete the operation of the performance operator in the performance operator group.
Time, or the state of your finger when the release of the operation is completed
A generating step of generating an operation control data representing a table with an operation control data generated by said generation step
Move to the finger state when the operation of the performance controller is completed.
The operation start timing for starting the line
Just before having the same finger data as the finger used when operating
Time data in tone and fingering data, and performance operation
A first criterion that represents the time required to complete a child operation
It takes time and the time to complete the release of the operation of the performance operator.
Based on a second reference time that represents the time to
Decision procedure, operation control data generated in the generation procedure, and the decision procedure
Based on the operation start timing determined in order,
Display that displays a movie of finger movements operating the controls
A computer in which the procedures and programs for executing the procedures are recorded
A readable recording medium .
JP2001217442A 2001-07-18 2001-07-18 Performance operation display device and recording medium Expired - Fee Related JP3528051B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001217442A JP3528051B2 (en) 2001-07-18 2001-07-18 Performance operation display device and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001217442A JP3528051B2 (en) 2001-07-18 2001-07-18 Performance operation display device and recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000085310A Division JP3521838B2 (en) 2000-03-24 2000-03-24 Performance operation display device and recording medium

Publications (2)

Publication Number Publication Date
JP2002099276A JP2002099276A (en) 2002-04-05
JP3528051B2 true JP3528051B2 (en) 2004-05-17

Family

ID=19051761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001217442A Expired - Fee Related JP3528051B2 (en) 2001-07-18 2001-07-18 Performance operation display device and recording medium

Country Status (1)

Country Link
JP (1) JP3528051B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8766077B2 (en) 2012-02-06 2014-07-01 Casio Computer Co., Ltd. Music playing movement display control device, music playing movement control method and computer readable medium
US8895829B2 (en) 2011-10-31 2014-11-25 Casio Computer Co., Ltd. Music playing movement display device, method and recording medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6069841B2 (en) * 2012-02-06 2017-02-01 カシオ計算機株式会社 Performance operation display device, method and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3528003B2 (en) * 1993-07-20 2004-05-17 カシオ計算機株式会社 Performance guiding device
JP3684774B2 (en) * 1996-07-16 2005-08-17 ヤマハ株式会社 Performance instruction device and medium recording program
JP3753798B2 (en) * 1996-07-23 2006-03-08 新日鉄ソリューションズ株式会社 Performance reproduction device
JP3513830B2 (en) * 1997-10-21 2004-03-31 カシオ計算機株式会社 Performance fingering device
JP3454100B2 (en) * 1997-08-21 2003-10-06 ヤマハ株式会社 Performance parameter display

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8895829B2 (en) 2011-10-31 2014-11-25 Casio Computer Co., Ltd. Music playing movement display device, method and recording medium
US8766077B2 (en) 2012-02-06 2014-07-01 Casio Computer Co., Ltd. Music playing movement display control device, music playing movement control method and computer readable medium

Also Published As

Publication number Publication date
JP2002099276A (en) 2002-04-05

Similar Documents

Publication Publication Date Title
JP3968975B2 (en) Fingering generation display method, fingering generation display device, and recording medium
JP2705568B2 (en) Automatic performance device
EP1575027B1 (en) Musical sound reproduction device and musical sound reproduction program
JP4274152B2 (en) Music synthesizer
JP4702160B2 (en) Musical sound synthesizer and program
JPH08115081A (en) Musical score display device
JP3521838B2 (en) Performance operation display device and recording medium
JP2007183442A (en) Musical sound synthesizer and program
JP3528051B2 (en) Performance operation display device and recording medium
JP4337288B2 (en) Performance operation display device and program
JP3548825B2 (en) Performance operation display device and recording medium
JP3972899B2 (en) Music score display device
JP2003029743A (en) Playing action display device, and recording medium
JP2002175071A (en) Playing guide method, playing guide device and recording medium
JP2002099275A (en) Playing action display device and recording medium
JP2003114674A (en) Playing information display device and program
JP5277814B2 (en) Electronic music apparatus and program
JP4270102B2 (en) Automatic performance device and program
JP3933583B2 (en) Electronic musical instruments
JP4306410B2 (en) General-purpose I / O port control information creation device
JP3267226B2 (en) Automatic accompaniment device and medium recording automatic accompaniment control program
JP2003108119A (en) Playing information display device and program
JP4389709B2 (en) Music score display device and music score display program
JP4162766B2 (en) Performance information generating apparatus and automatic performance apparatus
JP3837994B2 (en) Musical score data conversion apparatus and recording medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120305

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees