JP2000276147A - Performance learning device and recording medium recording performance learning processing program - Google Patents

Performance learning device and recording medium recording performance learning processing program

Info

Publication number
JP2000276147A
JP2000276147A JP11081679A JP8167999A JP2000276147A JP 2000276147 A JP2000276147 A JP 2000276147A JP 11081679 A JP11081679 A JP 11081679A JP 8167999 A JP8167999 A JP 8167999A JP 2000276147 A JP2000276147 A JP 2000276147A
Authority
JP
Japan
Prior art keywords
data
performance
sounding
event
event data
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.)
Abandoned
Application number
JP11081679A
Other languages
Japanese (ja)
Inventor
Shiro Ishiguro
士郎 石黒
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 JP11081679A priority Critical patent/JP2000276147A/en
Priority to US09/526,335 priority patent/US6245983B1/en
Priority to EP00105470A priority patent/EP1039430A3/en
Publication of JP2000276147A publication Critical patent/JP2000276147A/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily learn a key depressing timing with respect to a sounding start timing without editing music data when a performance operation is guided. SOLUTION: A performance learning device is provided with LED 20 for guiding a key depression in each key of the keyboard 19 and a floppy disk stores music data constituted by event data consisting of pitch data, time data indicating the sounding start timing and velocity data indicating the strength of sounding or a sound muteness. CPU 11 reads event data from the floppy disk, generates event data of a mute sound obtained by changing event data of sounding, generates a turning-on signal and a turning-off signal in accordance with event data of sounding and changed event data of the mute sound, alternately transmits them to LED 20 in the key to be depressed and LED is flickered.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、演奏教習装置及び
演奏教習処理プログラムを記録した記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a performance learning apparatus and a recording medium storing a performance learning processing program.

【0002】[0002]

【従来の技術】従来より演奏をガイドする光ナビゲーシ
ョン機能をもった演奏教習装置がある。例えば、光ナビ
ゲーション機能をもつ鍵盤電子楽器においては、鍵盤の
各鍵内にLED(発光ダイオード)等の発光手段を設け
て、演奏する曲データの進行に伴って、押鍵すべき鍵を
発光させて、例えばメロディパートのような特定のパー
トの演奏をガイドする構成になっている。そして、押鍵
に応じてそのパートの発音を行うとともに、伴奏パート
等の他のパートを自動演奏によって発音する。
2. Description of the Related Art There has conventionally been a performance training device having an optical navigation function for guiding a performance. For example, in a keyboard electronic musical instrument having an optical navigation function, a light emitting means such as an LED (light emitting diode) is provided in each key of the keyboard, and a key to be pressed is made to emit light as the music data to be played advances. For example, it is configured to guide the performance of a specific part such as a melody part. Then, the part is sounded in response to the key being pressed, and another part such as an accompaniment part is sounded by automatic performance.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、従来の
ナビゲーション機能をもつ鍵盤装置においては、曲デー
タを構成する複数のパートのうち特定のパートについて
演奏をガイドするので、押鍵すべき鍵に対応する発光手
段を発光する時間と、その鍵を押鍵するまでの時間とを
合算した時間だけ、他のパートよりも遅れて発音されて
しまうという問題があった。
However, in a conventional keyboard device having a navigation function, since a performance is guided for a specific part among a plurality of parts constituting music data, it corresponds to a key to be depressed. There is a problem that the sound is emitted later than the other parts by the sum of the time for emitting the light emitting means and the time for pressing the key.

【0004】本発明の課題は、複数のパートで構成され
た曲データについておいて演奏操作をガイドするナビゲ
ーション機能において、演奏をガイドするパートの発音
が他のパートの発音よりも遅れることがないようにする
ことである。
[0004] It is an object of the present invention to provide a navigation function for guiding a performance operation of music data composed of a plurality of parts so that the sound of a part guiding the performance does not lag behind the sound of other parts. It is to be.

【0005】[0005]

【課題を解決するための手段】請求項1に記載の演奏教
習装置は、曲の演奏をするための複数の操作子と、各操
作子に対応して設けられ点灯信号によって発光する発光
手段と、前記操作子の演奏に係るパート及び自動演奏に
係る他のパートからなる複数のパートで構成され各パー
トにおける発音のイベントデータに音高データ及び発音
タイミングの時間データを含む曲データを入力するデー
タ入力手段と、このデータ入力手段によって入力された
前記操作子の演奏に係るパートの発音のイベントデータ
の音高データに応じて前記点灯信号を発生し当該音高デ
ータに係る操作子に対応する発光手段を発光させ所定時
間にわたって演奏をガイドする発光制御手段と、前記デ
ータ入力手段によって入力された前記他のパートの発音
のイベントデータを当該イベントデータの発音タイミン
グから少なくとも前記所定時間だけ遅延させるデータ遅
延手段と、前記発光制御手段による演奏ガイドに応じて
前記操作子の演奏による発音操作がされたときに発音の
イベントデータを発生するデータ発生手段と、前記デー
タ遅延手段によって遅延された前記他のパートの発音の
イベントデータを所定の音源手段に出力するとともに、
前記データ発生手段によって発生された発音のイベント
データを当該イベントデータの発音タイミングで前記所
定の音源手段に出力するデータ出力手段と、を備えた構
成になっている。
According to a first aspect of the present invention, there is provided a performance training apparatus, comprising: a plurality of operators for playing music; and a light emitting means provided for each of the operators and emitting light by a lighting signal. Data for inputting song data including pitch data and time data of sounding timing to sounding event data of each part, which is composed of a plurality of parts including a part related to the performance of the operator and another part related to the automatic performance. Input means for generating the lighting signal in accordance with the pitch data of the event data of the sound of the part related to the performance of the operator, which is input by the data input means, and emitting light corresponding to the operator corresponding to the pitch data Light emission control means for illuminating the means and guiding the performance for a predetermined time; and sound event data of the other part inputted by the data input means Data delay means for delaying at least the predetermined time from the sounding timing of the event data; and data for generating sounding event data when a sounding operation is performed by playing the operation element in accordance with a performance guide by the light emission control means. Generating means, and outputting, to a predetermined sound source means, sounding event data of the other part delayed by the data delay means,
Data output means for outputting the event data of the sound generated by the data generating means to the predetermined sound source means at the sound generation timing of the event data.

【0006】請求項2に記載の演奏教習装置は、演奏装
置と演奏制御装置との間で通信を行って演奏の教習を行
う演奏教習装置であって、前記演奏制御装置は、前記演
奏装置の操作子の演奏に係るパート及び自動演奏に係る
他のパートからなる複数のパートで構成され各パートに
おける発音のイベントデータに音高データ及び発音タイ
ミングの時間データを含む曲データを記憶する記憶手段
と、前記操作子の演奏に係るパートの発音のイベントデ
ータを当該イベントデータの発音タイミングで読み出
し、前記他のパートの発音のイベントデータを当該イベ
ントデータの発音タイミングから所定時間だけ遅延させ
て読み出すデータ読出手段と、このデータ読出手段によ
って読み出された前記操作子の演奏に係るパート及び前
記他のパートの曲データを前記演奏装置に送信するデー
タ送信手段と、を備え、前記演奏装置は、曲の演奏を行
うための複数の操作子と、各操作子に対応して設けられ
点灯信号に応じて発光する発光手段と、前記データ送信
手段から送信された前記曲データを受信するデータ受信
手段と、このデータ受信手段が前記操作子の演奏に係る
パートの発音のイベントデータを受信したときは当該イ
ベントデータの音高データに応じて前記点灯信号を発生
し当該音高データに係る操作子に対応する発光手段を発
光させ前記所定時間内において演奏をガイドする発光制
御手段と、この発光制御手段による演奏ガイドに応じて
前記操作子の演奏による発音操作がされたときに発音の
イベントデータを発生するデータ発生手段と、前記デー
タ受信手段によって受信された前記他のパートの発音の
イベントデータを所定の音源手段に出力するとともに、
前記データ発生手段によって発生された発音のイベント
データを前記所定の音源手段に出力するデータ出力手段
と、を備えた構成になっている。
A performance training device according to a second aspect of the present invention is a performance training device for performing a performance lesson by performing communication between a performance device and a performance control device, wherein the performance control device is provided with the performance device. Storage means for storing music data composed of a plurality of parts including a part related to the performance of the operator and another part related to the automatic performance, and including pitch data and time data of a sounding timing in sounding event data for each part; Data reading for reading out the sounding event data of the part related to the performance of the operator at the sounding timing of the event data, and reading out the sounding event data of the other part with a predetermined time delay from the sounding timing of the event data. Means, and the music data of the part related to the performance of the operator and the other part read by the data reading means. Data transmitting means for transmitting data to the performance device, wherein the performance device emits light in response to a lighting signal provided for each of the plurality of operators for performing a music piece. A light-emitting unit; a data receiving unit for receiving the music data transmitted from the data transmitting unit; and, when the data receiving unit receives event data of a sound of a part related to the performance of the operating element, the event data is transmitted. Light emission control means for generating the lighting signal in accordance with the pitch data, causing the light emitting means corresponding to the operator associated with the pitch data to emit light, and guiding the performance within the predetermined time, and a performance guide by the light emission control means. Data generating means for generating sounding event data when a sounding operation is performed in response to the performance of the operation element, and the other data received by the data receiving means. And outputs the event data of the part of the pronunciation in a predetermined sound source means,
And data output means for outputting the sound generation event data generated by the data generation means to the predetermined sound source means.

【0007】請求項5に記載の記録媒体は、複数の操作
子の演奏に係るパート及び自動演奏に係る他のパートか
らなる複数のパートで構成され各パートにおける発音の
イベントデータに音高データ及び発音タイミングの時間
データを含む曲データを入力するデータ入力手順と、こ
のデータ入力手順によって入力された前記操作子の演奏
に係るパートの発音のイベントデータの音高データに応
じて前記点灯信号を発生し当該音高データに係る操作子
に対応する発光手段を発光させ所定時間にわたって演奏
をガイドする発光制御手順と、前記データ入力手順によ
って入力された前記他のパートの発音のイベントデータ
を当該イベントデータの発音タイミングから少なくとも
前記所定時間だけ遅延させるデータ遅延手順と、前記発
光制御手順による演奏ガイドに応じて前記操作子の演奏
による発音操作がされたときに発音のイベントデータを
発生するデータ発生手順と、前記データ遅延手順によっ
て遅延された前記他のパートの発音のイベントデータを
所定の音源手段に出力するとともに、前記データ発生手
順によって発生された発音のイベントデータを当該イベ
ントデータの発音タイミングで前記所定の音源手段に出
力するデータ出力手順と、を実行する演奏教習処理プロ
グラムを記録している。
According to a fifth aspect of the present invention, the recording medium includes a plurality of parts including a plurality of parts related to the performance of a plurality of operators and other parts related to the automatic performance. A data input procedure for inputting music data including time data of a sounding timing, and generating the lighting signal in accordance with pitch data of sounding event data of a part related to the performance of the operator input by the data input procedure. A light emission control procedure for emitting light by a light emitting means corresponding to the operator corresponding to the pitch data to guide the performance for a predetermined time, and the event data of the sound of the other part input by the data input procedure are stored in the event data A data delay procedure for delaying at least the predetermined time from the sounding timing of the A data generation procedure for generating sounding event data when a sounding operation is performed by playing the operation element in accordance with the performance guide; and a sound generating event data of the other part delayed by the data delaying procedure. A performance training process program for outputting to the sound source means, and outputting the event data of the sound generated by the data generation procedure to the predetermined sound source means at the sound generation timing of the event data. ing.

【0008】請求項6に記載の記録媒体は、曲の演奏を
行うための複数の操作子と、各操作子に対応して設けら
れ点灯信号に応じて発光する発光手段と、前記操作子の
演奏に係るパート及び自動演奏に係る他のパートからな
る複数のパートで構成され各パートにおける発音のイベ
ントデータに音高データ及び発音タイミングの時間デー
タを含む曲データを受信するデータ受信手段と、このデ
ータ受信手段が前記操作子の演奏に係るパートの発音の
イベントデータを受信したときは当該イベントデータの
音高データに応じて前記点灯信号を発生し当該音高デー
タに係る操作子に対応する発光手段を発光させ所定時間
にわたって演奏をガイドする発光制御手段と、この発光
制御手段による演奏ガイドに応じて前記操作子の演奏に
よる発音操作がされたときに発音のイベントデータを発
生するデータ発生手段と、前記データ受信手段によって
受信された前記他のパートの発音のイベントデータを所
定の音源手段に出力するとともに、前記データ発生手段
によって発生された発音のイベントデータを前記所定の
音源手段に出力するデータ出力手段と、を備えた演奏装
置との間で通信を行う演奏制御装置によって実行される
プログラムを記録した記録媒体であって、前記演奏装置
に送信する前記曲データを入力するデータ入力手順と、
このデータ入力手順によって入力された前記曲データを
所定の記憶手段に記憶する記憶手順と、前記操作子の演
奏に係るパートの発音のイベントデータを当該イベント
データの発音タイミングで前記記憶手段から読み出し、
前記他のパートの発音のイベントデータを当該イベント
データの発音タイミングから少なくとも前記所定時間だ
け遅延させて前記記憶手段から読み出すデータ読出手順
と、このデータ読出手順によって読み出された前記操作
子の演奏に係るパート及び前記他のパートの曲データを
前記演奏装置に送信するデータ送信手順と、を実行する
演奏教習処理プログラムを記録している。
According to a sixth aspect of the present invention, there is provided a recording medium, comprising: a plurality of controls for performing music; a light emitting means provided for each of the controls to emit light in response to a lighting signal; A data receiving unit which is composed of a plurality of parts including a part related to performance and another part related to automatic performance, and receives music data including pitch data and time data of sound generation timing in sound generation event data of each part; When the data receiving means receives the event data of the sounding of the part related to the performance of the control, the lighting signal is generated in accordance with the pitch data of the event data, and the light emission corresponding to the control corresponding to the pitch data is generated. Means for emitting light to guide the performance over a predetermined period of time; Data generating means for generating sounding event data when the sound is generated, and outputting the sounding event data of the other part received by the data receiving means to a predetermined sound source means, and generating the sound data by the data generating means. A data output means for outputting sounding event data to the predetermined sound source means; and a recording medium storing a program to be executed by a performance control device for communicating with a performance device provided with the performance device. A data input procedure for inputting the song data to be transmitted to
A storage procedure of storing the music data input in the data input procedure in a predetermined storage means, and reading out event data of a sound of a part related to the performance of the operator from the storage means at a sounding timing of the event data;
A data readout procedure for reading out the event data of the sound emission of the other part from the storage means with at least the predetermined time delay from the sounding timing of the event data; and a performance of the operator read out by the data readout procedure. And a data transmission procedure for transmitting the music data of the part and the other part to the performance device.

【0009】上記構成の演奏教習装置及び上記記録媒体
の発明によれば、演奏をガイドしない他のパートの発音
タイミングを演奏をガイドするパートの演奏ガイドに要
する時間だけ遅らせる。
According to the performance training apparatus and the recording medium of the present invention, the sounding timing of the other part that does not guide the performance is delayed by the time required for the performance guide of the part that guides the performance.

【0010】[0010]

【発明の実施の形態】以下、本発明における演奏教習装
置の第1及び第2実施形態について図を参照して説明す
る。図1は、第1実施形態における鍵盤装置を適用した
システム構成を示している。鍵盤装置1は、曲データを
記憶する記憶手段であるフロッピーディスク(FD)2
を駆動して、MIDIデータをMIDI音源3に出力す
る。この曲データは、インターネット等のネットワーク
(通信回線)4を介して接続する曲データサーバー5か
ら受信する。曲データサーバー5には、操作すべき操作
子すなわち鍵を示す音高データ、発音開始タイミングを
示す時間データ、及び発音の強弱又は消音を示すベロシ
ティデータからなるイベントデータを含む曲データが複
数記憶されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, first and second embodiments of a performance training apparatus according to the present invention will be described with reference to the drawings. FIG. 1 shows a system configuration to which the keyboard device according to the first embodiment is applied. The keyboard device 1 includes a floppy disk (FD) 2 as a storage unit for storing music data.
To output MIDI data to the MIDI sound source 3. The music data is received from a music data server 5 connected via a network (communication line) 4 such as the Internet. The song data server 5 stores a plurality of song data including event data including pitch data indicating an operator to be operated, that is, a key, time data indicating a sound generation start timing, and velocity data indicating strength of sound or silence. ing.

【0011】図2に、鍵盤装置1の内部ブロック図を示
す。CPU11は、システムバスを介して、ROM1
2、RAM13、キースキャンインターフェース14、
LEDC(LEDコントローラ)15、FDDC(フロ
ッピーディスク・ドライブ・コントローラ)16、MO
DEM(モデム)17、MIDIインターフェース18
に接続されている。ROM12は、CPU11によって
実行される演奏教習処理プログラムを記憶している。
FIG. 2 shows an internal block diagram of the keyboard device 1. The CPU 11 controls the ROM 1 via a system bus.
2, RAM 13, key scan interface 14,
LEDC (LED controller) 15, FDDC (floppy disk drive controller) 16, MO
DEM (modem) 17, MIDI interface 18
It is connected to the. The ROM 12 stores a performance training processing program executed by the CPU 11.

【0012】RAM13は、CPU11によって処理さ
れる各種データを一時的に記憶する。キースキャンイン
ターフェース14は、複数の操作子からなる光鍵盤及び
スイッチ群を備えたキーボード19に接続され、その操
作状態をスキャンしてCPU11に入力する。LEDC
15は、各鍵内に設けられた発光手段であるLED20
の発光及び消灯を制御する。LED20は、赤色の発光
素子及び緑色の発光素子で構成された、2色発光の発光
ダイオードである。FDDC16は、FDD(フロッピ
ーディスク駆動装置)21を制御する。
The RAM 13 temporarily stores various data processed by the CPU 11. The key scan interface 14 is connected to a keyboard 19 having an optical keyboard including a plurality of operators and a group of switches, and scans the operation state and inputs the operation state to the CPU 11. LEDC
15 is an LED 20 which is a light emitting means provided in each key.
Control of light emission and extinguishing. The LED 20 is a two-color light emitting diode including a red light emitting element and a green light emitting element. The FDD 16 controls an FDD (Floppy Disk Drive) 21.

【0013】通信制御手段であるMODEM17は、通
信回線すなわちネットワーク4に接続するための回線接
続装置(NCU)等を備え、CPU11の受信指令に応
じて、曲データサーバー5から曲データを受信して復調
する。受信された曲データは、FDDC16及びFDD
21によってフロッピーディスク2に記録される。すな
わち、フロッピーディスクは、曲サーバー5から受信し
た曲データを記憶する記憶手段を構成する。MIDIイ
ンターフェース18は、CPU11によって作成された
MIDIデータをMIDI音源3に出力する。
The MODEM 17 serving as a communication control means includes a communication line, that is, a line connection device (NCU) for connecting to the network 4, and receives music data from the music data server 5 in response to a reception instruction from the CPU 11. Demodulate. The received music data is FDDC16 and FDD
21 is recorded on the floppy disk 2. That is, the floppy disk constitutes storage means for storing the music data received from the music server 5. The MIDI interface 18 outputs the MIDI data created by the CPU 11 to the MIDI sound source 3.

【0014】図3に、MIDIデータのデータフォーマ
ットを示す。MIDIデータは、図3(1)に示すよう
に、1バイト構成のステータスバイト(先頭ビット=
1)、及び1バイト又は2バイト構成のデータバイト
(先頭ビット=0)で構成されている。このMIDIデ
ータは、使用目的に応じてチャンネルメッセージ及びシ
ステムメッセージに区別される。チャンネルメッセージ
は、3ビットからなるメッセージの種類、4ビットから
なるチャンネル番号nで構成されている。例えば、「0
00」はノートオフ、「001」はノートオン、「10
0」は音色等を変更するプログラムチェンジを表わして
いる。
FIG. 3 shows a data format of MIDI data. As shown in FIG. 3A, the MIDI data is a status byte having a 1-byte configuration (the first bit =
1) and 1-byte or 2-byte data bytes (leading bit = 0). The MIDI data is classified into a channel message and a system message according to the purpose of use. The channel message is composed of a 3-bit message type and a 4-bit channel number n. For example, "0
"00" is note-off, "001" is note-on, "10"
"0" indicates a program change for changing a tone color or the like.

【0015】また、各チャンネルごとに曲データの複数
のパートが指定されている。例えば、図3(2)に示す
ように、メロディパート、ドラムパート、ベースパー
ト、及び3系統のコードパートに指定されている。ナビ
ゲーション機能においては、通常はメロディパートが演
奏ガイドのパートとして、ユーザーによってそのチャン
ネルが指定される。
A plurality of pieces of music data are designated for each channel. For example, as shown in FIG. 3B, a melody part, a drum part, a bass part, and three chord parts are designated. In the navigation function, a melody part is usually designated by a user as a part of a performance guide.

【0016】メロディパートは、図4に示すように、時
間データ及びイベントデータで構成されている。イベン
トデータの中のノートイベントは、ノートオン又はノー
トオフ、チャンネル番号、及びノートデータからなる1
バイトのステータスバイトと、2バイトのベロシティデ
ータとで構成されている。イベントデータの中のボリュ
ームイベントは、ボリュームデータであることを示すボ
リュームステータス及びチャンネル番号からなる1バイ
トのステータスバイトと、2バイトのボリュームデータ
で構成されている。そして、各バイト単位のMIDIデ
ータは、アドレスADによって指定される。なお、終了
アドレスには、ENDデータが格納されている。
The melody part is composed of time data and event data as shown in FIG. The note event in the event data is 1 consisting of note on or note off, channel number, and note data.
It consists of a status byte of bytes and velocity data of 2 bytes. The volume event in the event data includes a 1-byte status byte including a volume status and a channel number indicating that the volume data is volume data, and 2-byte volume data. The MIDI data in each byte is specified by the address AD. Note that END data is stored in the end address.

【0017】次に、第1実施形態における演奏教習装置
の動作について、CPU11が実行するプログラムのフ
ローチャートに基づいて説明する。
Next, the operation of the performance training apparatus according to the first embodiment will be described with reference to a flowchart of a program executed by the CPU 11.

【0018】図5は、メインフローである。所定のイニ
シャライズ処理(ステップA1)の後は、スイッチ処理
(ステップA2)、鍵ガイド処理(ステップA3)、押
鍵処理(ステップA4)、時刻計時処理(ステップA
5)、出力処理(ステップA6)、受信処理(ステップ
A7)、その他の処理(ステップA8)のループ処理を
繰り返し実行する。
FIG. 5 is a main flow. After a predetermined initialization process (step A1), a switch process (step A2), a key guide process (step A3), a key press process (step A4), and a time counting process (step A)
5) Loop processing of output processing (step A6), reception processing (step A7), and other processing (step A8) is repeatedly executed.

【0019】図6は、メインフローにおけるステップA
2のスイッチ処理のフローである。この処理では、図2
に示したスイッチ群をスキャンして、モード選択スイッ
チ処理(ステップB1)、スタートスイッチ処理(ステ
ップB2)、受信スイッチ処理(ステップB3)、チャ
ンネル設定スイッチ処理(ステップB4)、ベロシティ
設定スイッチ処理(ステップB5)、その他のスイッチ
処理(ステップB6)を実行してメインフローに戻る。
FIG. 6 shows a step A in the main flow.
2 is a flowchart of a switch process of FIG. In this process, FIG.
Are scanned, and a mode selection switch process (step B1), a start switch process (step B2), a reception switch process (step B3), a channel setting switch process (step B4), a velocity setting switch process (step B1) B5), execute other switch processing (step B6), and return to the main flow.

【0020】図7は、図6のステップB1におけるモー
ド選択スイッチ処理のフローである。この処理では、モ
ード選択スイッチがオンされたか否かを判別し(ステッ
プC1)、オンされない場合にはこのフローを終了する
が、オンされたときは、そのモードスイッチに応じた処
理を行う。モードスイッチには、ノーマルスイッチ、レ
ッスン1スイッチ、レッスン2スイッチ、レッスン3ス
イッチがある。
FIG. 7 is a flowchart of the mode selection switch process in step B1 of FIG. In this process, it is determined whether or not the mode selection switch has been turned on (step C1). If the mode selection switch has not been turned on, this flow is terminated. The mode switch includes a normal switch, a lesson 1 switch, a lesson 2 switch, and a lesson 3 switch.

【0021】ノーマルスイッチがオンされたか否かを判
別し(ステップC2)、このスイッチがオンされた場合
には、モードレジスタMODEを「0」にセットする
(ステップC3)。レッスン1スイッチがオンされたか
否かを判別し(ステップC4)、このスイッチがオンさ
れた場合には、MODEに「1」をセットする(ステッ
プC5)。レッスン2スイッチがオンされたか否かを判
別し(ステップC6)、このスイッチがオンされた場合
には、MODEに「2」をセットする(ステップC
7)。レッスン3スイッチがオンされたか否かを判別し
(ステップC8)、このスイッチがオンされた場合に
は、MODEに「3」をセットする(ステップC9)。
It is determined whether or not the normal switch has been turned on (step C2). If the switch has been turned on, the mode register MODE is set to "0" (step C3). It is determined whether or not the lesson 1 switch has been turned on (step C4). If this switch has been turned on, MODE is set to "1" (step C5). It is determined whether or not the lesson 2 switch has been turned on (step C6). If the switch has been turned on, MODE is set to "2" (step C6).
7). It is determined whether or not the lesson 3 switch has been turned on (step C8). If the switch has been turned on, "3" is set in MODE (step C9).

【0022】MODEが「0」の場合には、鍵盤の演奏
によってのみ発音する通常のノーマル演奏モードとな
る。MODEが「1」〜「3」の場合は、フロッピーデ
ィスクの曲データをガイドするナビゲーション機能の演
奏モードである。MODEが「1」の場合には、曲デー
タのノートデータ(音高)にかかわらず、どの鍵を押鍵
しても発音を行う演奏モードとなる。MODEが「2」
の場合には、曲データのノートデータに対応する鍵(発
光している鍵)が正しく押鍵されたときに発音を行う演
奏モードとなる。MODEが「3」の場合には、演奏に
かかわらず曲データを自動的に読み出すモードとなる
が、ガイドする鍵が押鍵されたときに発音する。モード
スイッチに応じた値をMODEに設定した後は、このフ
ローを終了して図6のスイッチ処理に戻る。
When MODE is "0", a normal normal performance mode is produced in which only the keyboard is played. When MODE is "1" to "3", it is the performance mode of the navigation function for guiding the music data of the floppy disk. When MODE is "1", the performance mode is such that sound is generated regardless of which key is pressed, regardless of the note data (pitch) of the music data. MODE is "2"
In the case of, the performance mode is set to sound when a key (light emitting key) corresponding to the note data of the music data is correctly pressed. When MODE is "3", the mode is a mode in which music data is automatically read irrespective of the performance. However, a sound is generated when a key to be guided is pressed. After setting the value corresponding to the mode switch to MODE, this flow is terminated and the process returns to the switch processing of FIG.

【0023】図8は、図6のスイッチ処理におけるステ
ップB2のスタートスイッチ処理のフローである。この
処理では、スタートスイッチがオンされたか否かを判別
し(ステップD1)、オンされない場合にはこのフロー
を終了するが、オンされたときは、スタートフラグST
Fを反転する(ステップD2)。そして、STFが
「1」であるか否かを判別する(ステップD3)。
FIG. 8 is a flowchart of the start switch process in step B2 in the switch process of FIG. In this process, it is determined whether or not the start switch has been turned on (step D1). If the start switch has not been turned on, this flow is terminated.
F is inverted (step D2). Then, it is determined whether or not the STF is “1” (step D3).

【0024】STFが「1」である場合には、アドレス
レジスタADを「0」すなわち曲データの先頭アドレス
にセットし、レジスタSTATUSに「1」をセットす
る(ステップD4)。STATUSは、後述する押鍵処
理において設定される値である。STATUSが「1」
の場合は、曲データの発音開始タイミングに押鍵のタイ
ミングが合っている状態である。STATUSが「2」
の場合は、曲データの発音開始タイミングを経過した後
も鍵が操作されない状態、すなわち押鍵のタイミングが
遅れている状態である。STATUSが「3」の場合
は、曲データの発音開始タイミングに到る前に鍵が操作
された状態、すなわち押鍵のタイミングが早すぎる状態
である。
If the STF is "1", the address register AD is set to "0", that is, the head address of the music data, and the register STATUS is set to "1" (step D4). STATUS is a value set in a key pressing process described later. STATUS is "1"
In the case of, the key-pressing timing matches the tone generation start timing of the music data. STATUS is "2"
In the case of, the key is not operated even after the sounding start timing of the music data has elapsed, that is, the key pressing timing is delayed. When STATUS is "3", the key is operated before the music data sounding start timing is reached, that is, the key pressing timing is too early.

【0025】ステップD4の処理の後、レジスタSTに
現在時刻をストアし(ステップD5)、タイムレジスタ
Tを「0」にセットする(ステップD6)。次に、曲デ
ータの記憶エリアのアドレスAD(=0)のデータME
M[AD]がイベントデータであるか否かを判別する
(ステップD7)。すなわち、曲データの最初がイベン
トデータであるか又は時間データであるか否かを判別す
る。イベントデータである場合には、レジスタΔTに最
小時間をセットし(ステップD8)、ADを「1」だけ
デクリメントして(ステップD9)、アドレスを1つ戻
す。このデクリメント処理は、後述する鍵ガイド処理の
ために必要な処理である。
After the processing in step D4, the current time is stored in the register ST (step D5), and the time register T is set to "0" (step D6). Next, the data ME of the address AD (= 0) of the music data storage area
It is determined whether or not M [AD] is event data (step D7). That is, it is determined whether the beginning of the music data is event data or time data. If it is event data, the minimum time is set in the register ΔT (step D8), AD is decremented by “1” (step D9), and the address is returned by one. This decrement process is a process necessary for a key guide process described later.

【0026】ステップD7において、曲データの最初が
イベントデータでなく時間データである場合には、その
時間データをΔTにセットする(ステップD10)。ス
テップD9においてADをデクリメントした後、又はス
テップD10においてΔTに時間データをセットした後
は、Tの値にΔTの値を加算して更新する(ステップD
11)。ステップD3において、STFが「0」である
場合には、消音指示を行う(ステップD12)。ステッ
プD11においてTの値にΔTの値を加算して更新した
後、ステップD12において消音指示を行った後は、こ
のフローを終了して図6のスイッチ処理に戻る。
In step D7, if the beginning of the music data is not event data but time data, the time data is set to ΔT (step D10). After decrementing AD in step D9, or setting time data in ΔT in step D10, the value of ΔT is added to the value of T and updated (step D9).
11). If the STF is "0" in step D3, a mute instruction is issued (step D12). After updating by adding the value of ΔT to the value of T in step D11, after giving a mute instruction in step D12, this flow is ended and the process returns to the switch processing of FIG.

【0027】図9は、スイッチ処理におけるステップB
3の受信スイッチ処理のフローである。この処理では、
受信スイッチがオンされたか否かを判別し(ステップE
1)、オンされない場合にはこのフローを終了するが、
オンされたときは受信フラグZFを「1」にセットする
(ステップE2)。そして、このフローを終了して図6
のスイッチ処理に戻る。
FIG. 9 shows step B in the switch processing.
3 is a flowchart of reception switch processing of No. 3; In this process,
It is determined whether the receiving switch is turned on (step E).
1) If this is not turned on, this flow ends.
When it is turned on, the reception flag ZF is set to "1" (step E2). Then, this flow is terminated and FIG.
Return to the switch processing of.

【0028】図10は、スイッチ処理におけるステップ
B4のチャンネル設定スイッチ処理のフローである。こ
の処理では、押鍵ガイド用として指定するチャンネル
(例えば、メロディチャンネル)を設定する。すなわ
ち、チャンネル設定スイッチ及びチャンネル番号のスイ
ッチがオンされたか否かを判別し(ステップF1)、オ
ンされたときはチャンネルセットレジスタCHSETに
設定チャンネルのチャンネル番号をストアする(ステッ
プF2)。CHSETにストアした後、又は、ステップ
F1においてスイッチがオンされない場合には、このフ
ローを終了して図6のスイッチ処理のフローに戻る。
FIG. 10 is a flowchart of the channel setting switch process in step B4 in the switch process. In this process, a channel (for example, a melody channel) specified for the key press guide is set. That is, it is determined whether or not the channel setting switch and the switch of the channel number are turned on (step F1). When the switch is turned on, the channel number of the set channel is stored in the channel set register CHSET (step F2). After storing in the CHSET, or when the switch is not turned on in step F1, this flow is terminated and the flow returns to the switch processing flow of FIG.

【0029】図11は、スイッチ処理におけるステップ
B5のフローである。この処理では、後述するガイドA
処理において、押鍵すべき鍵に対応するLEDの発光色
の条件を設定する。ベロシティ設定スイッチ及び設定ベ
ロシティ値のスイッチがオンされたか否かを判別し(ス
テップG1)、オンされたときは設定ベロシティ値を設
定ベロシティレジスタVSETにストアする(ステップ
G2)。VSETにストアした後、又は、ステップG1
においてスイッチがオンされない場合には、このフロー
を終了して図6のスイッチ処理のフローに戻る。
FIG. 11 is a flowchart of the step B5 in the switch processing. In this processing, a guide A described later is used.
In the process, the condition of the light emission color of the LED corresponding to the key to be pressed is set. It is determined whether or not the velocity setting switch and the switch of the set velocity value have been turned on (step G1). When the switch has been turned on, the set velocity value is stored in the set velocity register VSET (step G2). After storing in VSET or step G1
If the switch is not turned on in this step, this flow is terminated and the flow returns to the switch processing flow of FIG.

【0030】図12は、図5のメインフローにおけるス
テップA3の鍵ガイド処理のフローである。この処理で
は、モードレジスタMODEの値に応じた鍵ガイド処理
を行う。すなわち、MODEの値が「1」又は「2」で
あるか否かを判別し(ステップH1)、「1」又は
「2」である場合にはガイドA処理を実行する(ステッ
プH2)。MODEの値が「1」及び「2」のいずれで
もない場合には、MODEの値が「3」であるか否かを
判別し(ステップH3)、「3」である場合にはガイド
B処理を実行する(ステップH4)。ガイドA処理又は
ガイドB処理を行った後は、このフローを終了して図5
のメインフローに戻る。
FIG. 12 is a flow chart of the key guide processing in step A3 in the main flow of FIG. In this process, a key guide process according to the value of the mode register MODE is performed. That is, it is determined whether the value of MODE is "1" or "2" (step H1), and if it is "1" or "2", the guide A process is executed (step H2). If the value of MODE is neither "1" nor "2", it is determined whether or not the value of MODE is "3" (step H3). Is executed (step H4). After the guide A processing or the guide B processing is performed, this flow is terminated and FIG.
Return to the main flow.

【0031】図13〜図16は、図12におけるステッ
プH2のガイドA処理のフローである。この処理では、
スタートフラグSTFが「1」であるか否かを判別し
(ステップJ1)、STFが「0」である場合には、演
奏停止状態であるので、このフローを終了する。STF
が「1(演奏開始)」である場合にはSTATUSの値
が「2」でないか否かを判別する(ステップJ2)。
FIGS. 13 to 16 show the flow of the guide A process in step H2 in FIG. In this process,
It is determined whether or not the start flag STF is "1" (step J1). If the STF is "0", the performance is stopped, and this flow ends. STF
Is "1 (play start)", it is determined whether the value of STATUS is not "2" (step J2).

【0032】STATUSの値が「2」でない場合に
は、レジスタSTの時間の値とレジスタTの時間の値を
加算した値と現在時刻とを比較する(ステップJ3)。
すなわち発音開始タイミングの時間と現在時刻とを比較
する。現在時刻が発音開始タイミングの時間に達してい
ない場合には、このフローを終了して図5のメインフロ
ーに戻る。
If the value of STATUS is not "2", the value obtained by adding the time value of the register ST and the time value of the register T is compared with the current time (step J3).
That is, the sound generation start timing is compared with the current time. If the current time has not reached the time of the sound generation start timing, this flow ends and the flow returns to the main flow of FIG.

【0033】現在時刻が発音開始タイミングの時間に達
している場合には、レジスタADをインクリメントする
(ステップJ4)。そして、アドレスADがENDでな
いか否かを判別する(ステップJ5)。ENDでない場
合には、MEM[AD]のMIDIデータが時間データ
であるか否かを判別する(ステップJ6)。時間データ
である場合には、STATUSの値が「3」すなわち押
鍵タイミングが発音開始タイミングより早すぎる場合で
あるか否かを判別する(ステップJ7)。
If the current time has reached the time of the sound generation start timing, the register AD is incremented (step J4). Then, it is determined whether the address AD is not END (step J5). If it is not END, it is determined whether or not the MIDI data of MEM [AD] is time data (step J6). If it is time data, it is determined whether or not the value of STATUS is "3", that is, the key pressing timing is earlier than the sound generation start timing (step J7).

【0034】STATUSの値が「3」である場合に
は、MIDIデータを早送りするために、ΔTに最小時
間をセットする(ステップJ8)。STATUSの値が
「3」でなく「1」である場合すなわち押鍵タイミング
が発音開始タイミングに合っている場合には、ΔTにM
EM[AD]の正規の時間データの値をセットする(ス
テップJ9)。ステップJ8又はステップJ9におい
て、ΔTに値をセットした後は、Tの値にΔTの値を加
算して、このフローを終了して図12の鍵ガイド処理に
戻る。
If the value of STATUS is "3", a minimum time is set to ΔT in order to fast-forward the MIDI data (step J8). If the value of STATUS is “1” instead of “3”, that is, if the key depression timing matches the sound generation start timing, ΔT is set to M
The value of the regular time data of EM [AD] is set (step J9). After setting the value of ΔT in step J8 or step J9, the value of ΔT is added to the value of T, and this flow is ended to return to the key guide processing of FIG.

【0035】ステップJ5において、MEM[AD]が
ENDである場合には、曲データが終了したので、ST
Fを「0」にリセットする(ステップJ11)。そし
て、このフローを終了して図12の鍵ガイド処理に戻
る。
If MEM [AD] is END in step J5, the music data has been completed,
F is reset to "0" (step J11). Then, this flow is ended, and the process returns to the key guide process of FIG.

【0036】ステップJ6において、MEM[AD]が
時間データでない場合には、図14のフローにおいて、
MEM[AD]がイベントデータであるか否かを判別す
る(ステップJ12)。イベントデータである場合に
は、そのイベントデータがノートイベントであるか否か
を判別する(ステップJ13)。ノートイベントである
場合には、そのイベントデータのチャンネルがCHSE
Tの押鍵ガイド用のチャンネルと同一であるか否かを判
別する(ステップJ14)。チャンネルが同一である場
合には、イベントデータのノートデータをレジスタNO
TEにセットする(ステップJ15)。
If it is determined in step J6 that MEM [AD] is not time data, then in the flow of FIG.
It is determined whether or not MEM [AD] is event data (step J12). If it is event data, it is determined whether or not the event data is a note event (step J13). If it is a note event, the channel of the event data is CHSE
It is determined whether or not the channel is the same as the channel for the key press guide of T (step J14). If the channels are the same, the note data of the event data is stored in the register NO.
Set to TE (step J15).

【0037】次に、ADをインクリメントして、ベロシ
ティデータをレジスタVELにストアする(ステップJ
16)。そして、VELが「0」でないか否かを判別す
る(ステップJ17)。VELが「0」でない場合、す
なわちNOTEにストアしたノートデータがノートオン
である場合には、VELのベロシティデータにVSET
のデータを乗算して「1」を加算する演算を行う(ステ
ップJ18)。VSETのデータは、図11のVEL設
定スイッチ処理においてユーザーによって所望の値に設
定されている。あるいは、デフォルトの値に設定されて
いる。ユーザーが設定する場合には、VSETのデータ
を「0」にすることも考えられる。この場合には、上記
演算の結果、VELのデータが「0」になり、ノートオ
フになってしまう。このような状態を回避するために、
「1」を加算してVELのベロシティデータの最小値を
「1」に設定する。
Next, the AD is incremented and the velocity data is stored in the register VEL (step J).
16). Then, it is determined whether or not VEL is not “0” (step J17). If VEL is not “0”, that is, if the note data stored in NOTE is note-on, VSET is added to the velocity data of VEL.
(Step J18). The VSET data is set to a desired value by the user in the VEL setting switch processing of FIG. Alternatively, it is set to the default value. When the user sets, the VSET data may be set to “0”. In this case, as a result of the above calculation, the data of VEL becomes “0” and the note-off occurs. To avoid this situation,
By adding “1”, the minimum value of the velocity data of VEL is set to “1”.

【0038】そして、VELのベロシティデータが所定
値より大きいか否かを判別する(ステップJ19)。V
ELのベロシティデータが所定値より大きい場合には、
NOTEに対する鍵内の赤色発光のLEDを点灯する処
理を行う(ステップJ20)。一方、VELのベロシテ
ィデータが所定値以下である場合には、NOTEに対す
る鍵内の緑色発光のLEDを点灯する処理を行う(ステ
ップJ21)。LEDの点灯処理を行った後は、STA
TUSの値が「3」であるか否かを判別する(ステップ
J22)。STATUSの値が「3」である場合には、
STATUSの値を「1」に変更する(ステップJ2
3)。次に、CHSET、VOLUMEの値に基づいて
MIDIデータを作成する(ステップJ24)。
Then, it is determined whether or not the velocity data of VEL is larger than a predetermined value (step J19). V
If the velocity data of the EL is larger than the predetermined value,
A process of turning on the red light-emitting LED in the key for the NOTE is performed (step J20). On the other hand, when the velocity data of the VEL is equal to or less than the predetermined value, a process of turning on the green light-emitting LED in the key for NOTE is performed (step J21). After performing the LED lighting process, the STA
It is determined whether the value of TUS is “3” (step J22). If the value of STATUS is "3",
Change the value of STATUS to "1" (step J2
3). Next, MIDI data is created based on the values of CHSET and VOLUME (step J24).

【0039】ステップJ17においてVELのベロシテ
ィデータが「0」である場合、すなわちNOTEにスト
アしたノートデータがノートオフである場合には、NO
TEに対する鍵内のLEDを消灯する処理を行う(ステ
ップJ25)。LEDの消灯処理を行った後、又はステ
ップJ12においてMEM[AD]がイベントデータで
ない場合には、図13のステップJ4に移行してアドレ
スADをインクリメントする。
If the velocity data of VEL is "0" in step J17, that is, if the note data stored in NOTE is note-off, NO
A process for turning off the LED in the key for the TE is performed (step J25). After the process of turning off the LED, or when MEM [AD] is not the event data in step J12, the process proceeds to step J4 in FIG. 13 to increment the address AD.

【0040】図14のステップJ13において、イベン
トデータがノートイベントでない場合には、図15のフ
ローにおいて、イベントデータがボリュームイベントで
あるか否かを判別する(ステップJ26)。ボリューム
イベントである場合には、アドレスADをインクリメン
トして、ボリュームデータをレジスタVOLUMEにス
トアする(ステップJ27)。
If the event data is not a note event in step J13 of FIG. 14, it is determined in the flow of FIG. 15 whether or not the event data is a volume event (step J26). If the event is a volume event, the address AD is incremented and the volume data is stored in the register VOLUME (step J27).

【0041】次に、STATUSが「3」であるか否か
を判別し(ステップJ28)、「3」である場合には、
押鍵タイミングが発音開始タイミングより早すぎる場合
である。この場合には、MIDIデータのボリューム値
を最小の値に変更する(ステップJ29)。ボリューム
値を変更した後、若しくはステップJ28においてST
ATUSが「3」でない場合、又は、図14のステップ
J14においてイベントデータのチャンネルとCHSE
Tのチャンネルとが同一でない場合には、MIDIOU
Tバッファのポインタnを「0」にセットして(ステッ
プJ30)、nをインクリメントしながら、以下のルー
プ処理を行う。
Next, it is determined whether or not STATUS is "3" (step J28).
This is the case where the key depression timing is too early than the sound generation start timing. In this case, the volume value of the MIDI data is changed to the minimum value (step J29). After changing the volume value or in step J28,
If ATUS is not “3” or the channel of the event data and CHSE in step J14 of FIG.
If the channel of T is not the same, MIDIOU
The pointer n of the T buffer is set to "0" (step J30), and the following loop processing is performed while incrementing n.

【0042】MIDIOUTバッファ(n)が空きであ
るか否かを判別し(ステップJ31)、空きでない場合
にはnをインクリメントする(ステップJ32)。そし
て、nが所定数を超えたか否かを判別する(ステップJ
33)。所定数を超えていない場合には、ステップJ3
1においてMIDIOUTバッファ(n)の空きを捜
す。空きがあったときは、そのMIDIOUTバッファ
(n)にMIDIデータをストアする(ステップJ3
4)。次に、現在時刻をレジスタWTIMEにストアす
る(ステップJ35)。そして、WTIMEの現在時刻
をMIDIOUTバッファ(n)にストアする(ステッ
プJ36)。現在時刻をストアした後、又はステップJ
33においてnが所定数を超えたときは、図13のステ
ップJ4に移行してアドレスADをインクリメントす
る。
It is determined whether or not the MIDI OUT buffer (n) is empty (step J31), and if not, n is incremented (step J32). Then, it is determined whether or not n exceeds a predetermined number (step J).
33). If the number does not exceed the predetermined number, step J3
At step 1, an empty MIDI OUT buffer (n) is searched. If there is free space, the MIDI data is stored in the MIDI OUT buffer (n) (step J3).
4). Next, the current time is stored in the register WTIME (step J35). Then, the current time of the WTIME is stored in the MIDIOUT buffer (n) (step J36). After storing the current time or Step J
When n exceeds the predetermined number in 33, the process proceeds to step J4 in FIG. 13 to increment the address AD.

【0043】図14のステップJ22において、STA
TUSが「3」でなく「1」である場合には、図16の
フローにおいて、STATUSを「2」に変更する(ス
テップJ38)。すなわち、図14のステップJ20又
はステップJ21において、NOTEに対する鍵内のL
EDを点灯して押鍵をガイドした後は、STATUSを
「1」から「2」に変更して押鍵されるまで曲データの
読み出しを停止する状態に移行する。
In step J22 of FIG.
If TUS is not “3” but “1”, STATUS is changed to “2” in the flow of FIG. 16 (step J38). That is, in step J20 or step J21 of FIG.
After the ED is turned on to guide the key press, the STATUS is changed from "1" to "2", and a transition is made to a state where the reading of the music data is stopped until the key is pressed.

【0044】次に、MIDIデータをレジスタNVON
にストアする(ステップJ38)。さらに、NVONの
MIDIデータのCHSET及びNOTEと、値を
「0」に変更したベロシティデータとに基づいてMID
Iデータを作成する(ステップJ39)。そして、作成
したMIDIデータをレジスタNVOFFにストアする
(ステップJ40)。次に、NVONからMIDIデー
タを取り出す(ステップJ41)。そして、MIDIO
UTバッファのポインタnを「0」にセットして(ステ
ップJ42)、nをインクリメントしながら、以下のル
ープ処理を行う。
Next, the MIDI data is stored in the register NVON.
(Step J38). Further, based on the CHON and NOTE of the MIDI data of NVON and the velocity data whose value has been changed to “0”, the MID
I data is created (step J39). Then, the created MIDI data is stored in the register NVOFF (step J40). Next, MIDI data is extracted from NVON (step J41). And MIDIO
The pointer n of the UT buffer is set to "0" (step J42), and the following loop processing is performed while incrementing n.

【0045】MIDIOUTバッファ(n)が空きであ
るか否かを判別し(ステップJ43)、空きでない場合
にはnをインクリメントする(ステップJ44)。そし
て、nが所定数を超えたか否かを判別する(ステップJ
45)。所定数を超えていない場合には、ステップJ4
3においてMIDIOUTバッファ(n)の空きを捜
す。空きがあったときは、そのMIDIOUTバッファ
(n)にMIDIデータをストアする(ステップJ4
6)。次に、現在時刻をレジスタWTIMEにストアす
る(ステップJ47)。そして、WTIMEの現在時刻
をMIDIOUTバッファ(n)にストアする(ステッ
プJ48)。
It is determined whether or not the MIDIOUT buffer (n) is empty (step J43), and if not, n is incremented (step J44). Then, it is determined whether or not n exceeds a predetermined number (step J).
45). If the number does not exceed the predetermined number, step J4
In step 3, an empty MIDI OUT buffer (n) is searched. If there is a vacancy, the MIDI data is stored in the MIDI OUT buffer (n) (step J4).
6). Next, the current time is stored in the register WTIME (step J47). Then, the current time of the WTIME is stored in the MIDIOUT buffer (n) (step J48).

【0046】図13のステップJ2においてSTATU
Sが「2」である場合、すなわち読み出したMIDIデ
ータの発音開始タイミングになっても押鍵がされない場
合には、図16のフローにおいて、現在時刻がSTPの
時間データ及びPの時間データを加算した値以上になっ
たか否かを判別する(ステップJ49)。すなわち、ス
テップJ46においてMIDIOUTバッファ(n)に
MIDIデータをストアした時から、所定時間(Pの所
定値)が経過したか否かを判別する。MIDIデータを
ストアした後すぐにLEDの点灯処理又は消灯処理を行
うので、ステップJ49においては、点灯処理又は消灯
処理を行った時から所定時間が経過したか否かを判別す
る。
In step J2 of FIG.
If S is "2", that is, if the key is not depressed even when the read-out MIDI data reaches the tone generation start timing, the time data with the current time of STP and the time data of P are added in the flow of FIG. Then, it is determined whether or not the value is equal to or more than the set value (step J49). That is, it is determined whether or not a predetermined time (a predetermined value of P) has elapsed since the MIDI data was stored in the MIDI OUT buffer (n) in step J46. Since the lighting process or the turning-off process of the LED is performed immediately after storing the MIDI data, in step J49, it is determined whether or not a predetermined time has elapsed since the lighting process or the turning-off process was performed.

【0047】現在時刻がSTP及びPの加算した値に達
しない場合には図12の鍵ガイド処理のフローに戻る
が、現在時刻がSTP及びPの加算した値以上になった
ときは、CFを反転する(ステップJ50)。そして、
CFが「0」であるか否かを判別する(ステップJ5
1)。CFが「0」である場合には、NVOFFからベ
ロシティデータが「0」のMIDIデータを取り出す
(ステップJ52)。一方、CFが「1」である場合に
は、NVONから実際のベロシティデータのMIDIデ
ータを取り出す(ステップJ41)。したがって、CF
の値に応じて、実際のベロシティデータの発音イベント
データ又はベロシティデータが「0」の消音のイベント
データのいずれか一方を、ステップJ46においてMI
DIOUTバッファ(n)にストアする。
If the current time does not reach the value obtained by adding STP and P, the flow returns to the key guide processing flow shown in FIG. Invert (step J50). And
It is determined whether or not CF is "0" (step J5).
1). If the CF is "0", MIDI data whose velocity data is "0" is extracted from NVOFF (step J52). On the other hand, if the CF is "1", MIDI data of actual velocity data is extracted from NVON (step J41). Therefore, CF
In step J46, one of the sound generation event data of the actual velocity data and the mute event data of which the velocity data is “0” is determined according to the value of
Store in DIOUT buffer (n).

【0048】すなわち、読み出した発音のイベントデー
タの発音開始タイミングになっても押鍵がされない場合
には、その発音のイベントデータのベロシティデータを
「0」に変更して消音のイベントデータを生成し、発音
のイベントデータと変更した消音のイベントデータと
を、Pにストアした所定時間が経過するごとに、交互に
MIDIOUTバッファにストアする。
That is, if the key is not depressed even when the read start timing of the read sound event data is reached, the velocity data of the sound event data is changed to "0" to generate mute event data. The sound generation event data and the changed mute event data are alternately stored in the MIDI OUT buffer every time the predetermined time stored in P elapses.

【0049】次に、図17のフローにおいて、MIDI
データのベロシティデータをレジスタVELにストアす
る(ステップJ53)。そして、VELが「0」でない
か否かを判別する(ステップJ54)。VELが「0」
でない場合、すなわちNOTEにストアしたノートがノ
ートオンである場合には、VELのベロシティデータに
VSETのデータを乗算して最小値「1」を加算する演
算を行う(ステップJ55)。
Next, in the flow of FIG.
The velocity data of the data is stored in the register VEL (step J53). Then, it is determined whether or not VEL is not “0” (step J54). VEL is "0"
If not, that is, if the note stored in NOTE is note-on, an operation of multiplying the velocity data of VEL by the data of VSET and adding the minimum value "1" is performed (step J55).

【0050】そして、VELのベロシティデータが所定
値より大きいか否かを判別する(ステップJ56)。V
ELのベロシティデータが所定値より大きい場合には、
NOTEに対する鍵内の赤色発光のLEDを点灯する処
理を行う(ステップJ57)。一方、VELのベロシテ
ィデータが所定値以下である場合には、NOTEに対す
る鍵内の緑色発光のLEDを点灯する処理を行う(ステ
ップJ58)。ステップJ54においてVELのベロシ
ティデータが「0」である場合、すなわちNOTEにス
トアしたノートが消音のイベントデータである場合に
は、NOTEに対する鍵内のLEDを消灯する処理を行
う(ステップJ59)。
Then, it is determined whether or not the velocity data of VEL is larger than a predetermined value (step J56). V
If the velocity data of the EL is larger than the predetermined value,
A process for turning on the red light-emitting LED in the key for the NOTE is performed (step J57). On the other hand, if the velocity data of the VEL is equal to or less than the predetermined value, a process of turning on the green light-emitting LED in the key for NOTE is performed (step J58). If the velocity data of the VEL is "0" in step J54, that is, if the note stored in the NOTE is mute event data, a process of turning off the LED in the key corresponding to the NOTE is performed (step J59).

【0051】LEDの点灯処理又は消灯処理を行った後
は、フラグCFを「0」にリセットし(ステップJ6
0)、レジスタSTPに現在時刻をストアし(ステップ
J61)、レジスタPに所定値をストアする(ステップ
J62)。そして、このフローを終了して図12の鍵ガ
イド処理のフローに戻る。したがって、発音開始タイミ
ングを経過した後は、Pにストアされている時間が経過
するごとに、発音イベントデータに応じた点灯信号、及
び、消音イベントデータに応じた消灯信号をLEDに交
互に送出するので、LEDが点滅する。
After the LED lighting or turning off processing is performed, the flag CF is reset to "0" (step J6).
0), the current time is stored in the register STP (step J61), and a predetermined value is stored in the register P (step J62). Then, this flow is ended, and the flow returns to the key guide processing flow of FIG. Therefore, after the sounding start timing elapses, each time the time stored in P elapses, the lighting signal corresponding to the sounding event data and the light-off signal corresponding to the mute event data are alternately transmitted to the LED. Therefore, the LED blinks.

【0052】図18〜図20は、図12の鍵ガイド処理
におけるステップH4のガイドB処理のフローである。
この処理では、スタートフラグSTFが「1」であるか
否かを判別し(ステップK1)、STFが「0」である
場合には、演奏停止状態であるので、このフローを終了
する。STFが「1」である場合には、レジスタSTの
時間データとレジスタTの時間データを加算した値、す
なわち発音開始タイミングの時間と現在時刻とが一致し
ているか否かを判別する(ステップK2)。現在時刻が
発音開始タイミングに一致していない場合には、このフ
ローを終了する。
FIGS. 18 to 20 show the flow of the guide B process in step H4 in the key guide process of FIG.
In this process, it is determined whether or not the start flag STF is "1" (step K1). If the STF is "0", the performance is stopped, and this flow ends. If the STF is "1", it is determined whether or not the value obtained by adding the time data of the register ST and the time data of the register T, that is, the time of the sound generation start timing and the current time match (step K2). ). If the current time does not coincide with the sound generation start timing, the flow ends.

【0053】現在時刻が発音開始タイミングの時間に一
致したときは、レジスタADのアドレスをインクリメン
トする(ステップK3)。そして、アドレスADがEN
Dでないか否かを判別する(ステップK4)。ENDで
ない場合には、MEM[AD]のデータが時間データで
あるか否かを判別する(ステップK5)。時間データで
ある場合には、ΔTにMEM[AD]の時間データの値
をセットする(ステップK6)。次に、Tの値にΔTの
値を加算し(ステップK7)、このフローを終了して図
12の鍵ガイド処理に戻る。ステップK4において、A
DがENDである場合には、フラグSTFを「0」にリ
セットする(ステップK8)。そして、このフローを終
了して図12の鍵ガイド処理に戻る。
When the current time coincides with the time of the sound generation start timing, the address of the register AD is incremented (step K3). And the address AD is EN
It is determined whether it is not D (step K4). If it is not END, it is determined whether or not the data of MEM [AD] is time data (step K5). If it is time data, the value of the time data of MEM [AD] is set to ΔT (step K6). Next, the value of ΔT is added to the value of T (step K7), this flow is ended, and the flow returns to the key guide processing of FIG. In step K4, A
If D is END, the flag STF is reset to "0" (step K8). Then, this flow is ended, and the process returns to the key guide process of FIG.

【0054】ステップK5において、MEM[AD]が
時間データでない場合には、図19のフローにおいて、
MEM[AD]のデータがイベントデータであるか否か
を判別する(ステップK9)。イベントデータでない場
合には、図18のステップK3に移行してADをインク
リメントするが、イベントデータである場合には、その
イベントデータがノートイベントであるか否かを判別す
る(ステップK10)。ノートイベントである場合に
は、MIDIデータのチャンネルとCHSETの押鍵ガ
イド用のチャンネルとが同一であるか否かを判別する
(ステップK11)。
If it is determined in step K5 that MEM [AD] is not time data, then in the flow of FIG.
It is determined whether or not the data of MEM [AD] is event data (step K9). If it is not event data, the process proceeds to step K3 in FIG. 18 to increment AD. If it is event data, it is determined whether or not the event data is a note event (step K10). If it is a note event, it is determined whether the MIDI data channel is the same as the CHSET key press guide channel (step K11).

【0055】チャンネルが同一である場合には、ADを
インクリメントして、ベロシティデータをレジスタVE
Lにストアする(ステップK12)。そして、VELの
ベロシティデータが「0」でないか否かを判別する(ス
テップK13)。VELのベロシティデータが「0」で
ない場合には、VELのベロシティデータを「1」に変
更する(ステップK14)。そして、MIDIデータの
ベロシティデータをVELのベロシティデータの値に変
更する(ステップK15)。次に、MIDIデータのノ
ートデータに対する鍵内の赤色発光のLEDを点灯する
処理を行う(ステップK16)。ステップK13におい
てVELのベロシティデータの値が「0」である場合に
は、MIDIデータのノートデータに対する鍵内の赤色
発光のLEDを消灯する処理を行う(ステップK1
7)。
If the channels are the same, AD is incremented and the velocity data is stored in the register VE.
Store in L (step K12). Then, it is determined whether or not the velocity data of VEL is not “0” (step K13). If the velocity data of VEL is not "0", the velocity data of VEL is changed to "1" (step K14). Then, the velocity data of the MIDI data is changed to the velocity data value of the VEL (step K15). Next, a process of lighting the red light emitting LED in the key for the note data of the MIDI data is performed (step K16). If the value of the velocity data of VEL is "0" in step K13, a process of turning off the red light emitting LED in the key for the note data of the MIDI data is performed (step K1).
7).

【0056】LEDの点灯処理若しくは消灯処理を行っ
た後、又はステップK10においてイベントデータがノ
ートイベントでない場合、若しくはステップK11にお
いてMIDIデータとCHSETのチャンネルが同一で
ない場合には、図20のフローにおいて、MIDIOU
Tバッファのエリアを指定するポインタnを「0」にセ
ットして(ステップK18)、nをインクリメントしな
がら、以下のループ処理を行う。
After the LED lighting process or the LED turning off process, or if the event data is not a note event in step K10, or if the MIDI data and the CHSET channel are not the same in step K11, the flow of FIG. MIDIOU
The pointer n specifying the area of the T buffer is set to "0" (step K18), and the following loop processing is performed while incrementing n.

【0057】MIDIOUTバッファ(n)が空きであ
るか否かを判別し(ステップK19)、空きでない場合
にはnをインクリメントする(ステップK20)。そし
て、nが所定数を超えたか否かを判別する(ステップK
21)。所定数を超えていない場合には、ステップK1
9においてMIDIOUTバッファ(n)の空きを捜
す。空きがあったときは、そのMIDIOUTバッファ
(n)にMIDIデータをストアする(ステップK2
2)。次に、現在時刻をレジスタWTIMEにストアす
る(ステップK23)。そして、図18のステップK3
に移行してADをインクリメントする。
It is determined whether or not the MIDI OUT buffer (n) is empty (step K19), and if not, n is incremented (step K20). Then, it is determined whether or not n exceeds a predetermined number (step K).
21). If the number does not exceed the predetermined number, step K1
In step 9, the MIDI OUT buffer (n) is searched for an empty space. If there is a vacancy, the MIDI data is stored in the MIDI OUT buffer (n) (step K2).
2). Next, the current time is stored in the register WTIME (step K23). Then, step K3 in FIG.
Then, AD is incremented.

【0058】図21及び図22は、図5のメインフロー
におけるステップA4の押鍵処理のフローである。ま
ず、鍵変化があるか否かを判別し(ステップL1)、鍵
変化がない場合にはメインフローに戻る。オフからオン
に鍵変化があったとき、すなわち押鍵操作がされたとき
は、レジスタKEYにノートデータ(音高データ)をス
トアし(ステップL2)、レジスタVELOCITYに
押鍵のベロシティデータをストアする(ステップL
3)。
FIGS. 21 and 22 show the flow of the key pressing process in step A4 in the main flow of FIG. First, it is determined whether there is a key change (step L1). If there is no key change, the process returns to the main flow. When there is a key change from OFF to ON, that is, when a key is pressed, note data (pitch data) is stored in the register KEY (step L2), and velocity data of the key pressed is stored in the register VELOCITY. (Step L
3).

【0059】次に、MODEの値が「1」又は「2」の
いずれかであるかを判別する(ステップL4)。すなわ
ち、押鍵を待つモードであるか否かを判別する。MOD
Eの値が「1」又は「2」である場合には、MODEの
値が「2」であるか否かを判別する(ステップL5)。
MODEの値が「2」である場合には、KEYの値であ
る押鍵のキー番号とNOTEの値であるMIDIデータ
のノートデータとが一致するか否かを判別する(ステッ
プL6)。
Next, it is determined whether the value of MODE is "1" or "2" (step L4). That is, it is determined whether or not the mode is a mode of waiting for key depression. MOD
If the value of E is "1" or "2", it is determined whether the value of MODE is "2" (step L5).
If the value of MODE is "2", it is determined whether or not the key number of the key pressed as the value of KEY matches the note data of MIDI data as the value of NOTE (step L6).

【0060】KEYの値とNOTEの値が一致した場
合、又はステップL5においてMODEの値が「1」
で、どの鍵を押鍵しても発音する演奏モードである場合
には、現在時刻がSTの時間データとTの時間データを
加算した値に達しているか否かを判別する(ステップL
7)。すなわち、現在時刻が発音開始タイミングの時間
に達しているか否かを判別する。
If the value of KEY matches the value of NOTE, or if the value of MODE is "1" in step L5
In the performance mode in which any key is depressed, it is determined whether or not the current time has reached a value obtained by adding the time data of ST and the time data of T (step L).
7). That is, it is determined whether or not the current time has reached the time of the sound generation start timing.

【0061】現在時刻がSTの時間データとTの時間デ
ータを加算した値に達している場合には、STATUS
の値に「1」をセットして(ステップL8)、現在時刻
からSTの時間データとTの時間データを加算した値を
減算して、その減算値を差分レジスタSにストアする
(ステップL9)。そして、STの時間データにSの値
を加算する(ステップL10)。すなわち、時間の経過
に応じてSTの値を更新する。次に、CHSET、KE
Y、VELOCITYのデータに基づいてMIDIデー
タを作成する(ステップL11)。
If the current time has reached the value obtained by adding the time data of ST and the time data of T, STATUS
Is set to "1" (step L8), the value obtained by adding the time data of ST and the time data of T is subtracted from the current time, and the subtracted value is stored in the difference register S (step L9). . Then, the value of S is added to the time data of ST (step L10). That is, the value of ST is updated as time passes. Next, CHSET, KE
MIDI data is created based on the Y, VELOCITY data (step L11).

【0062】ステップL7において、現在時刻がSTの
時間データとTの時間データを加算した値に達していな
い場合には、MODEが「1」であるか否かを判別する
(ステップL12)。すなわち、どの鍵を押鍵しても発
音する演奏モードであるか否かを判別する。MODEが
「1」である場合には、STATUSの値を「3」にセ
ットする(ステップL13)。すなわち、発音開始タイ
ミングに到る前に鍵が操作された場合には、発音開始タ
イミングまで曲データを早送りする状態に設定する。そ
して、CHSET、KEY、VELOCITYのデータ
に基づいてMIDIデータを作成する(ステップL1
1)。
If it is determined in step L7 that the current time has not reached the value obtained by adding the time data of ST and the time data of T, it is determined whether MODE is "1" (step L12). In other words, it is determined whether or not the playing mode is set so as to sound regardless of which key is pressed. If MODE is "1", the value of STATUS is set to "3" (step L13). That is, if the key is operated before the sounding start timing, the music data is set to a state in which the music data is fast-forwarded until the sounding start timing. Then, MIDI data is created based on the CHSET, KEY, and VELOCITY data (step L1).
1).

【0063】ステップL1において、鍵変化がオンから
オフである場合、すなわち離鍵操作がされたときは、K
EYに離鍵のノートデータをストアし(ステップL1
4)、VELOCITYの値を「0」にセットする(ス
テップL15)。そして、CHSET、KEY、VEL
OCITYのデータに基づいてMIDIデータを作成す
る(ステップL11)。
In step L1, when the key change is from on to off, that is, when a key release operation is performed, K
Store the key release note data in the EY (step L1
4), the value of VELOCITY is set to "0" (step L15). And CHSET, KEY, VEL
MIDI data is created based on the OCITY data (step L11).

【0064】ステップL4において、MODEの値が
「1」及び「2」でなく「3」である場合、ステップL
6においてKEYの値とNOTEの値が一致しない場
合、すなわちガイドした鍵とは異なる鍵が押鍵操作され
た場合、又はステップL12においてMODEの値が
「1」でない場合には、いずれも押鍵用チャンネル、K
EY、VELOCITYのデータに基づいてMIDIデ
ータを作成する(ステップL11)。
If the value of MODE is "3" instead of "1" and "2" in step L4,
If the value of KEY does not match the value of NOTE in step 6, that is, if a key different from the guided key is pressed, or if the value of MODE is not "1" in step L12, none of the keys is pressed. Channel, K
MIDI data is created based on the EY and VELOCITY data (step L11).

【0065】MIDIデータを作成した後は、図22に
おいて、押鍵用のMIDIOUTバッファを指定するポ
インタnを「0」にセットして(ステップL16)、n
をインクリメントしながらMIDIOUTバッファ
(n)にMIDIデータをセットする。すなわち、MI
DIOUTバッファ(n)が空きであるか否かを判別し
(ステップL17)、空きでない場合にはnをインクリ
メントする(ステップL18)。そして、nが所定数を
超えたか否かを判別する(ステップL19)。nが所定
数以下である場合には、ステップL17に移行してMI
DIOUTバッファ(n)の空きを捜す。
After the MIDI data is created, a pointer n for designating a MIDI OUT buffer for key depression is set to "0" in FIG. 22 (step L16), and n
While MIDI data is set in the MIDI OUT buffer (n). That is, MI
It is determined whether or not the DIOUT buffer (n) is empty (step L17), and if not, n is incremented (step L18). Then, it is determined whether or not n exceeds a predetermined number (step L19). If n is equal to or less than the predetermined number, the flow shifts to step L17 to set MI
Search for an empty DIOUT buffer (n).

【0066】MIDIOUTバッファ(n)が空きであ
る場合には、MIDIOUTバッファ(n)にMIDI
データをストアする(ステップL20)。また、レジス
タWTIMEに現在時刻をストアし(ステップL2
1)、MIDIOUTバッファ(n)にWTIMEの時
間データ(現在時刻)をストアする(ステップL2
2)。時間データをストアした後、又は、ステップL1
9においてnが所定数を超えた場合には、このフローを
終了して図5のメインフローに戻る。
If the MIDI OUT buffer (n) is empty, the MIDI OUT buffer (n)
The data is stored (step L20). Further, the current time is stored in the register WTIME (step L2).
1) Store the WTIME time data (current time) in the MIDIOUT buffer (n) (step L2)
2). After storing the time data, or in step L1
If n exceeds a predetermined number in 9, this flow is terminated and the process returns to the main flow of FIG.

【0067】図23は、メインフローにおけるステップ
A6の出力処理のフローである。この処理では、MID
IOUTバッファを指定するポインタnを「0」にセッ
トして(ステップM1)、nをインクリメントしなが
ら、以下の出力処理を実行する。すなわち、nで指定し
たMIDIOUTバッファ(n)が空きでないか否かを
判別し(ステップM2)、空きでない場合にはMIDI
OUTバッファ(n)からMIDIデータとWTIME
を読み出す(ステップM3)。そして、読み出したMI
DIデータが押鍵用のMIDIOUTバッファからでな
いか否かを判別する(ステップM4)。すなわち、演奏
によって作成されたMIDIデータでなく、MEM(フ
ロッピーディスク)から読み出したMIDIデータであ
るか否かを判別する。MEMのMIDIデータである場
合には、現在時刻からWTIMEの時間データを差し引
いた値をレジスタDにストアする(ステップM5)。
FIG. 23 is a flowchart of the output processing in step A6 in the main flow. In this process, the MID
The pointer n designating the IOUT buffer is set to "0" (step M1), and the following output processing is executed while incrementing n. That is, it is determined whether or not the MIDI OUT buffer (n) specified by n is not empty (step M2).
MIDI data and WTIME from OUT buffer (n)
Is read (step M3). Then, the read MI
It is determined whether or not the DI data is not from the MIDI OUT buffer for key depression (step M4). That is, it is determined whether or not the MIDI data is not the MIDI data created by the performance but the MIDI data read from the MEM (floppy disk). If the data is MEM MIDI data, a value obtained by subtracting WTIME time data from the current time is stored in the register D (step M5).

【0068】次に、Dの値が所定時間以上であるか否か
を判別する(ステップM6)。Dの値が所定時間以上で
ある場合には、MIDIデータを音源(図1のMIDI
音源3)に出力する(ステップM7)。一方、演奏によ
って作成されたMIDIデータである場合には、直ちに
MIDIデータを音源に出力する(ステップM7)。そ
して、MIDIOUTバッファ(n)を空きにする(ス
テップM8)。バッファをクリアにした後、ステップM
5においてDが所定値より小さい場合、又は、ステップ
M2においてMIDIバッファ(n)が空きでMIDI
データがない場合には、nをインクリメントする(ステ
ップM9)。そして、nが所定数を超えたか否かを判別
し(ステップM10)、所定数を超えていない場合に
は、ステップM2に移行して、ステップM10までのル
ープ処理を繰り返す。nが所定数を超えたときは、この
フローを終了して図5のメインフローに戻る。
Next, it is determined whether or not the value of D is equal to or longer than a predetermined time (step M6). When the value of D is equal to or longer than a predetermined time, the MIDI data is transmitted to the sound source (the MIDI of FIG. 1).
Output to the sound source 3) (step M7). On the other hand, if the MIDI data is created by performance, the MIDI data is immediately output to the sound source (step M7). Then, the MIDI OUT buffer (n) is made empty (step M8). After clearing the buffer, step M
5, if D is smaller than the predetermined value, or if the MIDI buffer (n) is empty and MIDI
If there is no data, n is incremented (step M9). Then, it is determined whether or not n has exceeded a predetermined number (step M10). If it has not exceeded the predetermined number, the process proceeds to step M2 and the loop processing up to step M10 is repeated. When n exceeds a predetermined number, this flow ends and the process returns to the main flow of FIG.

【0069】このように、鍵盤装置1からMIDI音源
3に出力するMIDIデータを所定時間だけ遅らせて出
力する。すなわち、CHSETに設定したチャンネルの
MIDIデータが押鍵ガイドのために、MIDI音源3
に出力するのが他のチャンネルより遅れてしまうので、
他のチャンネルも同じ時間だけ遅らせてMIDI音源3
に出力するのである。したがって、押鍵ガイドに指定さ
れたチャンネルのMIDIデータだけが、他のチャンネ
ルより遅れてMIDI音源3に出力されるという不具合
がなくなる。
As described above, the MIDI data output from the keyboard device 1 to the MIDI sound source 3 is output after being delayed by a predetermined time. That is, the MIDI data of the channel set in the CHSET is used for the key depressing guide so that the MIDI sound source 3
Output to other channels will be later than other channels.
MIDI sound source 3 with other channels delayed by the same amount of time
Is output to Therefore, the disadvantage that only the MIDI data of the channel designated as the key press guide is output to the MIDI sound source 3 later than the other channels is eliminated.

【0070】図24は、メインフローにおけるステップ
A7の受信処理のフローである。この処理では、受信フ
ラグZFが「1」であるか否かを判別し(ステップN
1)、ZFが「0」である場合にはこのフローを終了す
るが、ZFが「1」で曲データサーバーへのアクセス要
求である場合には、MEMのアドレスADを「0」にセ
ットして(ステップN2)、ADをインクリメントしな
がら以下のループ処理を実行する。
FIG. 24 is a flowchart of the receiving process in step A7 in the main flow. In this process, it is determined whether or not the reception flag ZF is “1” (step N).
1) If the ZF is "0", this flow ends. If the ZF is "1" and the access request to the music data server is made, the MEM address AD is set to "0". Then (step N2), the following loop processing is executed while incrementing AD.

【0071】すなわち、MODEMを介してMIDIデ
ータの受信があるか否かを判別し(ステップN3)、受
信があったときはそのMIDIデータをADで指定する
フロッピーディスクの記憶エリアMEM[AD]にスト
アする(ステップN4)。そして、ADをインクリメン
トして次のエリアを指定する(ステップN5)。この
後、受信が終了したか否かを判別し(ステップN6)、
終了していない場合には、ステップN3に移行してMI
DIデータの受信があるか否かを判別する。受信したM
IDIデータをADで示すフロッピーディスクの記憶エ
リアにストアし、受信が終了した場合には、レジスタE
NDにADのアドレスをセットする(ステップN7)。
そして、ZFを「0」にリセットして(ステップN
8)、図5のメインフローに戻る。
That is, it is determined whether or not MIDI data has been received via the MODEM (step N3). Store (step N4). Then, the next area is designated by incrementing AD (step N5). Thereafter, it is determined whether the reception has been completed (step N6).
If not completed, the process proceeds to step N3 and MI
It is determined whether or not DI data has been received. M received
The IDI data is stored in the storage area of the floppy disk indicated by AD.
The address of AD is set to ND (step N7).
Then, ZF is reset to “0” (step N).
8) Return to the main flow of FIG.

【0072】このように上記第1実施形態においては、
曲データは、操作子である鍵盤の演奏に係るパート、及
び、自動演奏に係る他のパートで構成されている。そし
て、各パートにおける発音のイベントデータに音高デー
タ及び発音タイミングの時間データを含んでいる。そし
て、CPU11は、この曲データを入力するデータ入力
手段、鍵盤の演奏に係るパートの発音のイベントデータ
の音高データに係る鍵に対応するLED20を発光させ
所定時間にわたって演奏をガイドする発光制御手段、入
力された他のパートの発音のイベントデータをその発音
タイミングから少なくとも演奏をガイドする所定時間だ
け遅延させるデータ遅延手段、演奏ガイドに応じて鍵盤
の演奏による発音操作(押鍵)がされたときに、発音の
イベントデータを発生するデータ発生手段、及び、自動
演奏に係る他のパートの発音のイベントデータ及び発音
操作で発生された発音のイベントデータをMIDI音源
3に出力するデータ出力手段を構成する。
As described above, in the first embodiment,
The music data is composed of a part relating to the performance of a keyboard as an operator and another part relating to an automatic performance. The sound generation event data of each part includes pitch data and time data of sound generation timing. Then, the CPU 11 emits the data input means for inputting the music data, the light emission control means for emitting light to the LED 20 corresponding to the key relating to the pitch data of the event data of the sounding of the part relating to the performance of the keyboard, and guiding the performance for a predetermined time. Data delay means for delaying the input event data of the sound of the other part by at least a predetermined time for guiding the performance from the sounding timing, and when a sounding operation (key depression) is performed by playing the keyboard in accordance with the performance guide. Data generating means for generating sound event data, and data output means for outputting, to the MIDI sound source 3, sound event data of other parts related to the automatic performance and sound data generated by sound operation. I do.

【0073】上記第1実施形態の構成によれば演奏をガ
イドしない他のパートの発音タイミングを演奏をガイド
するパートの演奏ガイドに要する時間だけ遅らせる。し
たがって、演奏をガイドするパートの発音が他のパート
の発音よりも遅れることがない。
According to the configuration of the first embodiment, the sounding timing of the other part that does not guide the performance is delayed by the time required for the performance guide of the part that guides the performance. Therefore, the pronunciation of the part guiding the performance does not lag behind the pronunciation of the other parts.

【0074】またこの場合において、CPU11は、M
ODEM17とともに、通信回線(ネットワーク4)を
介して外部装置である曲データサーバー5と接続し、曲
データを曲データサーバー5から受信する通信制御手段
を構成する。したがって、通信回線を介して外部装置か
ら受信する曲データについても、演奏をガイドするパー
トの発音が他のパートの発音よりも遅れることがない。
Also, in this case, the CPU 11
Along with the ODEM 17, it is connected to the music data server 5, which is an external device, via a communication line (network 4), and forms communication control means for receiving music data from the music data server 5. Therefore, even with the music data received from the external device via the communication line, the sound of the part guiding the performance does not lag behind the sound of the other parts.

【0075】さらに、各鍵内に設けられたLED20
は、赤色及び緑色の異なる発光色で発光するので、読み
出されたイベントデータのベロシティデータが所定値以
上であるか否かを判別し、その判別結果に応じた発光色
でを発光させる。したがって、押鍵タイミングだけでな
く、押鍵の強弱をガイドすることができる。
Further, the LED 20 provided in each key
Emits light of different emission colors of red and green, so that it is determined whether or not the velocity data of the read event data is equal to or greater than a predetermined value, and the emission is performed in the emission color according to the determination result. Therefore, it is possible to guide not only the key pressing timing but also the strength of the key pressing.

【0076】次に、本発明における演奏教習装置の第2
実施形態について説明する。図25及び図26は、第2
実施形態におけるシステム構成を示している。図25に
おいて、鍵盤装置(演奏装置)101は、RS−232
C等のシリアルインターフェース102を介してFDプ
レーヤ(演奏制御装置)103に接続されている。FD
プレーヤ103は、通信制御手段であるMODEMを備
えており、インターネット等のネットワーク(通信回
線)4を介して曲データサーバー5に接続して、曲デー
タサーバー5から曲データを受信して、記憶手段である
フロッピーディスク(FD)2に記憶する。
Next, the second embodiment of the performance training apparatus according to the present invention will be described.
An embodiment will be described. FIG. 25 and FIG.
1 illustrates a system configuration according to an embodiment. In FIG. 25, a keyboard device (playing device) 101 is an RS-232
It is connected to an FD player (performance control device) 103 via a serial interface 102 such as C. FD
The player 103 includes a MODEM as communication control means, connects to the music data server 5 via a network (communication line) 4 such as the Internet, receives music data from the music data server 5, and stores the music data. Is stored in the floppy disk (FD) 2.

【0077】すなわち、上記構成における演奏教習装置
は、鍵盤装置101とFDプレーヤ103との間で通信
を行って演奏の教習を行う。このため、鍵盤装置101
には、曲データをMIDIデータ形式でFDプレーヤ1
03から受信する手段(第1の受信手段)と、操作結果
を示す操作結果情報をMIDIデータ形式でFDプレー
ヤ103に送信する手段(第1の送信手段)を備えてい
る。また、FDプレーヤ103は、曲データを記憶する
記憶手段であるフロッピーディスク2を駆動して、読み
出したMIDIデータ形式の曲データを鍵盤装置101
に送信する手段(第2の送信手段)と、MIDIデータ
形式の操作結果情報を鍵盤装置101から受信する手段
(第2の受信手段)を備えている。
That is, the performance training device having the above-described configuration performs communication between the keyboard device 101 and the FD player 103 to perform the performance training. For this reason, the keyboard device 101
FD player 1 in the MIDI data format
And a means (first transmitting means) for transmitting operation result information indicating an operation result to the FD player 103 in a MIDI data format. The FD player 103 drives the floppy disk 2 which is a storage means for storing music data, and stores the read music data in the MIDI data format in the keyboard device 101.
(Second transmitting unit), and a unit (second receiving unit) for receiving operation result information in the MIDI data format from the keyboard device 101.

【0078】また、図26において、鍵盤装置(演奏装
置)101は、RS−232C等のシリアルインターフ
ェース102を介して汎用のパソコン(演奏制御装置)
104に接続されている。パソコン104は、通信制御
手段であるMODEMを備えており、インターネット等
のネットワーク(通信回線)4を介して曲データサーバ
ー5に接続して、曲データサーバー5から曲データを受
信して、記憶手段であるフロッピーディスク2に記憶す
る。
In FIG. 26, a keyboard device (performance device) 101 is a general-purpose personal computer (performance control device) via a serial interface 102 such as RS-232C.
104. The personal computer 104 includes a MODEM as a communication control means, connects to the music data server 5 via a network (communication line) 4 such as the Internet, receives music data from the music data server 5, and stores the music data. Is stored in the floppy disk 2.

【0079】すなわち、上記構成における演奏教習装置
は、鍵盤装置101とパソコン104との間で通信を行
って演奏の教習を行う。このため、鍵盤装置101に
は、図25の構成と同様に、曲データをMIDIデータ
形式でパソコン104から受信する手段(第1の受信手
段)と、操作結果を示す操作結果情報をMIDIデータ
形式でパソコン104に送信する手段(第1の送信手
段)を備えている。また、パソコン104は、曲データ
を記憶する記憶手段であるフロッピーディスク2を駆動
して、読み出したMIDIデータ形式の曲データを鍵盤
装置101に送信する手段(第2の送信手段)と、MI
DIデータ形式の操作結果情報を鍵盤装置101から受
信する手段(第2の受信手段)を備えている。
That is, the performance training device having the above-described configuration performs performance training by performing communication between the keyboard device 101 and the personal computer 104. Therefore, as in the configuration of FIG. 25, the keyboard device 101 has a means (first receiving means) for receiving music data from the personal computer 104 in the MIDI data format and an operation result information indicating the operation result in the MIDI data format. (The first transmission means) for transmitting the data to the personal computer 104 by the PC. Further, the personal computer 104 drives the floppy disk 2 which is a storage unit for storing music data, and transmits the read music data in the MIDI data format to the keyboard device 101 (second transmission means);
A means (second receiving means) for receiving operation result information in the DI data format from the keyboard device 101 is provided.

【0080】このように、図25に示すFDプレーヤ1
03は、図26に示す汎用のパソコン104を演奏制御
装置の専用装置として特化した構成であり、演奏教習処
理プログラムを格納したプログラムROM、及び、後述
するモード選択スイッチ、スタートスイッチ等の必要な
スイッチ、その他演奏教習に必要な構成要素を備えてい
る。すなわち、演奏教習装置としては、図25の構成と
図26の構成は全く同じ構成である。
As described above, the FD player 1 shown in FIG.
Reference numeral 03 denotes a configuration specialized for the general-purpose personal computer 104 shown in FIG. 26 as a dedicated device for the performance control device. It has switches and other components required for performance training. That is, the configuration of FIG. 25 and the configuration of FIG. 26 are exactly the same as the performance training device.

【0081】したがって、図25及び図26に示すフロ
ッピーディスク2に記憶される曲データも同じMIDI
データ形式であり、操作すべき操作子すなわち鍵を示す
音高データ、発音開始タイミングを示す時間データ、及
び発音の強弱又は消音を示すベロシティデータからなる
イベントデータで構成されている。なお、このMIDI
データの構成は、図3及び図4に示した第1実施形態の
構成と同じである。
Therefore, the music data stored on the floppy disk 2 shown in FIGS.
It is a data format, and is composed of event data including pitch data indicating an operator to be operated, that is, a key, time data indicating a sound generation start timing, and velocity data indicating strength of sound generation or mute. This MIDI
The structure of the data is the same as the structure of the first embodiment shown in FIGS.

【0082】図27に、鍵盤装置101の内部ブロック
図を示す。CPU11は、システムバスを介して、RO
M12、RAM13、キースキャンインターフェース1
4、LEDC(LEDコントローラ)15、MIDIイ
ンターフェース18に接続されている。
FIG. 27 shows an internal block diagram of the keyboard device 101. The CPU 11 outputs the RO via the system bus.
M12, RAM13, key scan interface 1
4, LEDC (LED controller) 15, and MIDI interface 18.

【0083】ROM12は、CPU11によって実行さ
れる演奏教習処理プログラムを記憶している。RAM1
3は、CPU11によって処理される各種データを一時
的に記憶する。キースキャンインターフェース14は、
複数の操作子である光鍵盤及びスイッチ群からなるキー
ボード19に接続され、その操作状態をスキャンしてC
PU11に入力する。LEDC15は、各鍵内に設けら
れた発光手段であるLED20の発光及び消灯を制御す
る。LED20は、赤色の発光素子及び緑色の発光素子
で構成された、2色発光の発光ダイオードである。MI
DIインターフェース18は、シリアルインターフェー
ス102を介して、パソコン104との間でMIDIデ
ータを送受信する。
The ROM 12 stores a performance training processing program executed by the CPU 11. RAM1
Reference numeral 3 temporarily stores various data processed by the CPU 11. The key scan interface 14
It is connected to a keyboard 19 consisting of an optical keyboard and a switch group as a plurality of operators, and scans the operation state to
Input to PU11. The LEDC 15 controls light emission and extinguishing of the LED 20 which is a light emitting means provided in each key. The LED 20 is a two-color light emitting diode including a red light emitting element and a green light emitting element. MI
The DI interface 18 transmits and receives MIDI data to and from the personal computer 104 via the serial interface 102.

【0084】次に、第2実施形態における演奏教習装置
の動作について、図26のシステム構成を例に採って、
パソコン104が実行するプログラムのフローチャー
ト、及び、鍵盤装置101のCPU11の動作フローチ
ャートに基づいて説明する。パソコン104は、サーバ
ー5の曲データをMIDIデータの形式で受信してフロ
ッピーディスク2に記憶し、鍵盤装置101に送信す
る。そして、鍵盤装置101の鍵盤の操作結果を示す操
作結果情報のMIDIデータを入力し、その内容に応じ
て次のMIDIデータを順次出力する。
Next, the operation of the performance training apparatus according to the second embodiment will be described by taking the system configuration of FIG. 26 as an example.
A description will be given based on a flowchart of a program executed by the personal computer 104 and an operation flowchart of the CPU 11 of the keyboard device 101. The personal computer 104 receives the music data of the server 5 in the form of MIDI data, stores it on the floppy disk 2, and transmits it to the keyboard device 101. Then, MIDI data of operation result information indicating the operation result of the keyboard of the keyboard device 101 is input, and the next MIDI data is sequentially output according to the content.

【0085】図28は、演奏制御装置としてのパソコン
(PC)104側のメインフローである。このメインフ
ローでは、時刻計時処理(ステップA1)、スイッチ処
理(ステップA2)、受信処理(ステップA3)、MI
DI処理(ステップA4)、ガイド信号生成処理(ステ
ップA5)、その他の処理(ステップA6)のループ処
理を繰り返し実行する。
FIG. 28 is a main flow of the personal computer (PC) 104 as a performance control device. In this main flow, a time keeping process (step A1), a switch process (step A2), a receiving process (step A3), an MI
The loop process of the DI process (step A4), the guide signal generation process (step A5), and other processes (step A6) is repeatedly executed.

【0086】図29は、図28のメインフローにおける
ステップA2のスイッチ処理のフローである。この処理
では、パソコンのキーボードをスキャンして、モード選
択スイッチ処理(ステップB1)、スタートスイッチ処
理(ステップB2)、受信スイッチ処理(ステップB
3)、設定スイッチ処理(ステップB4)、その他のス
イッチ処理(ステップB5)を実行してメインフローに
戻る。
FIG. 29 is a flowchart of the switch processing in step A2 in the main flow of FIG. In this process, the keyboard of the personal computer is scanned, and a mode selection switch process (Step B1), a start switch process (Step B2), and a reception switch process (Step B)
3), setting switch processing (step B4), and other switch processing (step B5) are executed, and the process returns to the main flow.

【0087】図30は、図29のスイッチ処理における
ステップB1のモード選択スイッチ処理のフローであ
る。この処理では、モード選択スイッチがオンされたか
否かを判別し(ステップC1)、オンされない場合には
このフローを終了するが、オンされたときは、そのモー
ドスイッチに応じた処理を行う。モードスイッチには、
レッスン1スイッチ、レッスン2スイッチ、レッスン3
スイッチがある。
FIG. 30 is a flow chart of the mode selection switch processing in step B1 in the switch processing of FIG. In this process, it is determined whether or not the mode selection switch has been turned on (step C1). If the mode selection switch has not been turned on, this flow is terminated. The mode switch
Lesson 1 Switch, Lesson 2 Switch, Lesson 3
There is a switch.

【0088】レッスン1スイッチがオンされたか否かを
判別し(ステップC2)、このスイッチがオンされた場
合には、MODEに「1」をセットする(ステップC
3)。レッスン2スイッチがオンされたか否かを判別し
(ステップC4)、このスイッチがオンされた場合に
は、MODEに「2」をセットする(ステップC5)。
レッスン3スイッチがオンされたか否かを判別し(ステ
ップC6)、このスイッチがオンされた場合には、MO
DEに「3」をセットする(ステップC7)。
It is determined whether or not the lesson 1 switch has been turned on (step C2). If this switch has been turned on, MODE is set to "1" (step C2).
3). It is determined whether or not the lesson 2 switch has been turned on (step C4), and if this switch has been turned on, MODE is set to "2" (step C5).
It is determined whether or not the lesson 3 switch has been turned on (step C6). If this switch has been turned on, the MO
"3" is set to DE (step C7).

【0089】MODEが「1」の場合には、曲データの
ノートデータ(音高)にかかわらず、どの鍵を押鍵して
も発音を行う演奏モードとなる。MODEが「2」の場
合には、曲データのノートデータに対応する鍵(発光し
ている鍵)が正しく押鍵されたときに発音を行う演奏モ
ードとなる。MODEが「3」の場合には、演奏にかか
わらず曲データを自動的に読み出すモードとなるが、ガ
イドする鍵が押鍵されたときに発音する。モードスイッ
チに応じた値をMODEに設定した後は、このフローを
終了して図29のスイッチ処理に戻る。
When MODE is "1", a performance mode is set in which sound is generated regardless of which key is pressed, regardless of the note data (pitch) of the music data. When MODE is "2", a performance mode is set in which sound is generated when a key (light emitting key) corresponding to the note data of the music data is correctly pressed. When MODE is "3", the mode is a mode in which music data is automatically read irrespective of the performance. However, a sound is generated when a key to be guided is pressed. After setting the value corresponding to the mode switch in MODE, this flow is terminated and the process returns to the switch processing of FIG.

【0090】図31は、図29のスイッチ処理における
ステップB2のスタートスイッチ処理のフローである。
この処理では、スタートスイッチがオンされたか否かを
判別し(ステップD1)、オンされない場合にはこのフ
ローを終了するが、オンされたときは、スタートフラグ
STFを反転する(ステップD2)。そして、STFが
「1」であるか否かを判別する(ステップD3)。
FIG. 31 is a flowchart of the start switch process in step B2 in the switch process of FIG.
In this process, it is determined whether or not the start switch has been turned on (step D1). If the start switch has not been turned on, this flow is ended. If it has been turned on, the start flag STF is inverted (step D2). Then, it is determined whether or not the STF is “1” (step D3).

【0091】STFが「1」である場合には、アドレス
レジスタADを「0」すなわち曲データの先頭アドレス
にセットし、レジスタSTATUSに「1」をセットす
る(ステップD4)。STATUSは、鍵盤装置側にお
いて後述するMIDIIN処理及びガイドA処理で設定
される値である。STATUSが「1」の場合は、曲デ
ータの発音開始タイミングに押鍵のタイミングが合って
いる状態である。STATUSが「2」の場合は、曲デ
ータの発音開始タイミングを経過した後も鍵が操作され
ない状態、すなわち押鍵のタイミングが遅れている状態
である。STATUSが「3」の場合は、曲データの発
音開始タイミングに到る前に鍵が操作された状態、すな
わち押鍵のタイミングが早すぎる状態である。
If the STF is "1", the address register AD is set to "0", that is, the head address of the music data, and the register STATUS is set to "1" (step D4). STATUS is a value set in a MIDIIN process and a guide A process described later on the keyboard device side. When the STATUS is "1", it means that the key press timing matches the tone generation start timing of the music data. When the STATUS is "2", the key is not operated even after the tune data start timing has elapsed, that is, the key pressing timing is delayed. When STATUS is "3", the key is operated before the music data sounding start timing is reached, that is, the key pressing timing is too early.

【0092】ステップD4の処理の後、レジスタSTに
現在時刻をストアし(ステップD5)、タイムレジスタ
Tを「0」にセットする(ステップD6)。次に、曲デ
ータの記憶エリアのアドレスAD(=0)のデータME
M[AD]が時間データであるか否かを判別する(ステ
ップD7)。すなわち、曲データの最初がイベントデー
タであるか又は時間データであるか否かを判別する。最
初がイベントデータである場合には、レジスタΔTに最
小時間をセットし(ステップD8)、ADをデクリメン
トして(ステップD9)、アドレスを1つ戻す。したが
って、ADの値は「−1」となる。このデクリメント処
理は、後述する鍵ガイド処理のために必要な処理であ
る。
After the processing in step D4, the current time is stored in the register ST (step D5), and the time register T is set to "0" (step D6). Next, the data ME of the address AD (= 0) of the music data storage area
It is determined whether or not M [AD] is time data (step D7). That is, it is determined whether the beginning of the music data is event data or time data. If the event data is the first, the minimum time is set in the register ΔT (step D8), the AD is decremented (step D9), and the address is returned by one. Therefore, the value of AD is “−1”. This decrement process is a process necessary for a key guide process described later.

【0093】ステップD7において、曲データの最初が
イベントデータでなく時間データである場合には、その
時間データをΔTにセットする(ステップD10)。ス
テップD9においてADをデクリメントした後、又はス
テップD10においてΔTに時間データをセットした後
は、Tの値にΔTの値を加算して更新する(ステップD
11)。そして、このフローを終了して図29のスイッ
チ処理に戻る。ステップD3において、STFが「0」
である場合には演奏停止状態であるので、このフローを
終了して図29のスイッチ処理に戻る。
If the beginning of the music data is not event data but time data in step D7, the time data is set to ΔT (step D10). After decrementing AD in step D9, or setting time data in ΔT in step D10, the value of ΔT is added to the value of T and updated (step D9).
11). Then, this flow is ended, and the process returns to the switch processing of FIG. In step D3, the STF is "0"
If so, the performance is stopped, so this flow is terminated and the process returns to the switch processing of FIG.

【0094】図32は、スイッチ処理におけるステップ
B3の受信スイッチ処理のフローである。この処理で
は、受信スイッチがオンされたか否かを判別し(ステッ
プE1)、オンされない場合にはこのフローを終了する
が、オンされたときは受信フラグZFを「1」にセット
する(ステップE2)。そして、このフローを終了して
図29のスイッチ処理に戻る。
FIG. 32 is a flowchart of the receiving switch process in step B3 in the switch process. In this process, it is determined whether or not the receiving switch has been turned on (step E1). If the receiving switch has not been turned on, this flow ends. If the receiving switch has been turned on, the receiving flag ZF is set to "1" (step E2). ). Then, this flow is ended, and the process returns to the switch processing of FIG.

【0095】図33は、図29のスイッチ処理における
ステップB4の設定スイッチ処理のフローである。この
処理では、鍵ガイドとして指定するチャンネル(例え
ば、メロディチャンネル)を設定する。すなわち、チャ
ンネル設定スイッチ及びチャンネル番号のスイッチがオ
ンされたか否かを判別し(ステップF1)、オンされた
ときはSTFが「0」であるか否かを判別する(ステッ
プF2)。STFが「0」である場合には、チャンネル
セットレジスタCHSETに押鍵ガイド用として指定す
るチャンネルのチャンネル番号をストアする(ステップ
F3)。CHSETにチャンネル番号をストアした後、
又は、ステップF1においてスイッチがオンされない場
合、若しくはステップF2においてSTFが「1」であ
る場合には、このフローを終了して図29のスイッチ処
理のフローに戻る。
FIG. 33 is a flowchart of the setting switch process in step B4 in the switch process of FIG. In this process, a channel (for example, a melody channel) specified as a key guide is set. That is, it is determined whether or not the channel setting switch and the switch of the channel number are turned on (step F1), and if they are turned on, it is determined whether or not the STF is “0” (step F2). If the STF is "0", the channel number of the channel specified for the key press guide is stored in the channel set register CHSET (step F3). After storing the channel number in CHSET,
Alternatively, if the switch is not turned on in step F1, or if the STF is “1” in step F2, this flow is ended and the flow returns to the switch processing flow of FIG.

【0096】図34は、図28のメインフローにおける
ステップA3の受信処理のフローである。この処理で
は、受信フラグZFが「1」であるか否かを判別する
(ステップG1)。ZFが「0」である場合にはこのフ
ローを終了するが、ZFが「1」である場合には、サー
バーにアクセスしてMIDIデータを要求する。そし
て、曲データを記憶するフロッピーディスクの記憶エリ
アMEMのアドレスADを「0(先頭アドレス)」にセ
ットする(ステップG2)。次に、MIDIデータを受
信したか否かを判別し(ステップG3)、受信したとき
はその受信データをMEM[AD]にストアする(ステ
ップG4)。そして、ADをインクリメントする(ステ
ップG5)。
FIG. 34 is a flowchart of the receiving process in step A3 in the main flow of FIG. In this process, it is determined whether or not the reception flag ZF is "1" (step G1). If the ZF is "0", this flow is ended. If the ZF is "1", the server accesses the server and requests MIDI data. Then, the address AD of the storage area MEM of the floppy disk for storing the music data is set to "0 (head address)" (step G2). Next, it is determined whether or not MIDI data has been received (step G3), and when received, the received data is stored in MEM [AD] (step G4). Then, AD is incremented (step G5).

【0097】ADをインクリメントした後、又はステッ
プG3においてMIDIデータを受信しない場合には、
受信終了か否かを判別する(ステップG6)。受信終了
でない場合には、ステップG3に移行してMIDIデー
タの受信を待つ。そして、MIDIデータを受信するた
びに、その受信データをMEM[AD]に逐次ストアす
るとともに、ADをインクリメントしていく。ステップ
G6において受信終了になったときは、そのときのAD
のアドレスをエンドレジスタENDにストアし(ステッ
プG7)、ZFを「0」にリセットする(ステップG
8)。そして、このフローを終了して図28のメインフ
ローに戻る。
After incrementing AD, or when MIDI data is not received in step G3,
It is determined whether the reception has been completed (step G6). If the reception has not been completed, the process shifts to step G3 to wait for reception of MIDI data. Each time the MIDI data is received, the received data is sequentially stored in MEM [AD], and the AD is incremented. When the reception is completed in step G6, the AD
Is stored in the end register END (step G7), and ZF is reset to "0" (step G7).
8). Then, this flow ends and the process returns to the main flow of FIG.

【0098】図35は、メインフローにおけるステップ
A4のMIDI処理のフローである。この処理では、M
IDIデータを入力するMIDIIN処理(ステップH
1)、MIDIデータを出力するMIDIOUT処理
(ステップH2)を実行して、メインフローに戻る。
FIG. 35 is a flowchart of the MIDI process in step A4 in the main flow. In this process, M
MIDI IN processing for inputting IDI data (step H
1), execute a MIDI OUT process (step H2) for outputting MIDI data, and return to the main flow.

【0099】図36は、MIDIIN処理のフローであ
る。このフローでは、後述するMIDIOUT処理で鍵
盤装置に出力したMIDIデータに対する鍵盤装置の操
作結果をMIDIデータとして入力し、その入力したM
IDIデータ及び設定されたモードに応じた処理を行
う。まず、MODEが「3」でないか否かを判別する
(ステップJ1)。MODEが「3」である場合には、
操作結果にかかわらずフロッピーディスクから曲データ
を自動的に読み出すので、MIDIIN処理を行うこと
なく、このフローを終了する。
FIG. 36 is a flowchart of the MIDIIN process. In this flow, the operation result of the keyboard device with respect to the MIDI data output to the keyboard device in the MIDI OUT process described later is input as MIDI data, and the input M
Processing according to the IDI data and the set mode is performed. First, it is determined whether MODE is not "3" (step J1). If MODE is "3",
Since the music data is automatically read from the floppy disk irrespective of the operation result, this flow ends without performing the MIDIIN process.

【0100】MODEが「3」でない場合には、MID
IINであるか否かを判別する(ステップJ2)。すな
わち鍵盤装置からMIDIデータの入力があったか否か
を判別する。MIDIデータの入力があったときは、そ
のMIDIデータがノートイベントであるか否かを判別
する(ステップJ3)。ノートイベントである場合に
は、そのMIDIデータのチャンネルが押鍵ガイド用と
してCHSETに設定されたチャンネルと同一であるか
否かを判別する(ステップJ4)。
If MODE is not "3", MID
It is determined whether it is IIN (step J2). That is, it is determined whether or not MIDI data has been input from the keyboard device. When MIDI data is input, it is determined whether or not the MIDI data is a note event (step J3). If it is a note event, it is determined whether or not the channel of the MIDI data is the same as the channel set in CHSET for key press guide (step J4).

【0101】チャンネルが同一である場合には、MID
Iデータのベロシティデータが「0」でないか否かを判
別する(ステップJ5)。「0」でない場合には、MO
DEが「2」であるか否かを判別する(ステップJ
6)。MODEが「2」である場合、すなわち正しい押
鍵のときに発音する演奏モードである場合には、MID
IデータのノートデータをキーレジスタKEYにストア
する(ステップJ7)。そして、KEYのノートデータ
が押鍵ガイドのノートデータをストアしたレジスタNO
TEのノートデータと一致するか否かを判別する(ステ
ップJ8)。すなわち、押鍵をガイドした鍵が正しく操
作されたか否かを判別する。
If the channels are the same, the MID
It is determined whether or not the velocity data of the I data is not “0” (step J5). If not "0", MO
It is determined whether or not DE is “2” (step J).
6). If the MODE is "2", that is, if the performance mode is to sound when a correct key is pressed, the MID
The note data of the I data is stored in the key register KEY (step J7). Then, the register number in which the key data of the key stores the key data of the key press guide
It is determined whether or not it matches the TE note data (step J8). That is, it is determined whether or not the key that guided the key depression has been correctly operated.

【0102】KEY及びNOTEのノートデータが同じ
である場合、又はステップJ6においてMODEが
「1」である場合、すなわち、どの鍵を押鍵しても次の
MIDIデータを出力する演奏モードである場合には、
現在時刻がSTの時間データ及びTの時間データを加算
した時間に達したか否かを判別する(ステップJ9)。
すなわち、現在時刻が発音開始タイミングに達している
か否かを判別する。
When the KEY and NOTE note data are the same, or when MODE is "1" in step J6, that is, in a performance mode in which the next MIDI data is output regardless of which key is pressed. In
It is determined whether or not the current time has reached the time obtained by adding the time data of ST and the time data of T (step J9).
That is, it is determined whether or not the current time has reached the sound generation start timing.

【0103】現在時刻がST及びTの時間データを加算
した値より小さくて、まだ発音開始タイミングに達して
いない場合には、MODEが「1」であるか否かを判別
する(ステップJ10)。MODEが「1」である場合
には、STATUSを「3」にセットする(ステップJ
11)。すなわち、発音開始タイミングに到る前に鍵が
操作された場合には、STATUSを「3」に設定す
る。この状態では、発音開始タイミングに到るまでのM
IDIデータを早送りすることになる。STATUSを
「3」にセットした後は、このフローを終了して図35
のフローに戻る。
If the current time is smaller than the value obtained by adding the time data of ST and T and it has not yet reached the sound generation start timing, it is determined whether MODE is "1" (step J10). If MODE is "1", STATUS is set to "3" (step J).
11). That is, if the key is operated before the sounding start timing is reached, STATUS is set to “3”. In this state, M until the sound generation start timing is reached
The IDI data will be fast forwarded. After STATUS is set to "3", this flow is terminated and FIG.
Return to the flow.

【0104】ステップJ9において、現在時刻がST及
びTの時間データを加算した値になって、発音開始タイ
ミングに達したときは、STATUSに「1」をセット
する(ステップJ12)。次に、現在時刻からST及び
Tの時間データを加算した値を減算し、その差分の時間
データをレジスタSにストアする(ステップJ13)。
そして、STの時間データにSの時間データを加算する
(ステップJ14)。すなわち、時間の経過にしたがっ
てSTの値を更新する。そして、このフローを終了して
図35のフローに戻る。
In step J9, when the current time becomes a value obtained by adding the time data of ST and T and the sound generation start timing is reached, "1" is set to STATUS (step J12). Next, a value obtained by adding the time data of ST and T is subtracted from the current time, and the time data of the difference is stored in the register S (step J13).
Then, the time data of S is added to the time data of ST (step J14). That is, the value of ST is updated as time passes. Then, this flow ends and the flow returns to the flow of FIG.

【0105】ステップJ2においてMIDIINでない
場合、ステップJ3においてMIDIデータがノートイ
ベントでない場合、ステップJ4においてMIDIデー
タのチャンネルとCHSETに設定した押鍵ガイド用の
チャンネルとが異なる場合、ステップJ5においてMI
DIデータのベロシティデータが「0」である場合、ス
テップJ8においてKEYのノートデータとNOTEの
ノートデータとが異なる場合、又は、ステップJ10に
おいてMODEが「2」である場合には、いずれもこの
フローを終了して図35のフローに戻る。
If it is not MIDI IN in step J2, if the MIDI data is not a note event in step J3, if the channel of the MIDI data is different from the channel for the key press guide set in CHSET in step J4, if it is not MIDI in step J5,
When the velocity data of the DI data is "0", when the note data of the KEY and the note data of the NOTE are different in step J8, or when the MODE is "2" in step J10, this flow is executed. And returns to the flow of FIG.

【0106】図37は、図35のフローにおけるステッ
プH2のMIDIOUT処理のフローである。この処理
では、MIDIOUTバッファを指定するポインタnを
「0」にセットして(ステップK1)、nをインクリメ
ントしながら、以下のループ処理を実行する。MIDI
OUTバッファ(n)が空きでないか否かを判別し(ス
テップK2)、空きでない場合には、MIDIOUTバ
ッファ(n)からMIDIデータ及びWTIMEの時間
データを読み出す(ステップK3)。
FIG. 37 is a flowchart of the MIDI OUT process in step H2 in the flow of FIG. In this process, a pointer n designating the MIDIOUT buffer is set to "0" (step K1), and the following loop process is executed while incrementing n. MIDI
It is determined whether or not the OUT buffer (n) is not empty (step K2). If not, the MIDI data and the WTIME time data are read from the MIDI OUT buffer (n) (step K3).

【0107】次に、読み出したMIDIデータのチャン
ネルとCHSETに設定した押鍵ガイド用のチャンネル
とが同一でないか否かを判別する(ステップK4)。チ
ャンネルが同一でない場合、すなわち読み出したMID
Iデータが押鍵ガイド用のチャンネルでない場合には、
現在時刻からWTIMEの時間データを減算し、その差
分の時間データをレジスタDにストアする(ステップK
5)。そして、Dの時間データが所定時間に達したか否
かを判別する(ステップK6)。
Next, it is determined whether or not the read MIDI data channel is not the same as the key press guide channel set in CHSET (step K4). If the channels are not the same, ie the read MID
If the I data is not a channel for key press guide,
The time data of WTIME is subtracted from the current time, and the time data of the difference is stored in the register D (step K).
5). Then, it is determined whether or not the time data of D has reached a predetermined time (step K6).

【0108】所定時間に達したときは、MIDIデータ
を鍵盤装置に出力する(ステップK7)。ステップK4
において、読み出したMIDIデータのチャンネルとC
HSETに設定した押鍵ガイド用のチャンネルとが同一
である場合には、直ちにそのMIDIデータを鍵盤装置
に出力する。ステップK6における所定時間は、押鍵ガ
イド用のチャンネルのMIDIデータによって、鍵盤装
置の対応する鍵内のLEDを発音開始タイミングに先立
って発光させて押鍵をガイドするための所要時間であ
る。したがって、押鍵ガイド用のチャンネルのMIDI
データは、この所要時間だけ他のチャンネルのMIDI
データより早く出力する必要がある。
When the predetermined time has been reached, MIDI data is output to the keyboard device (step K7). Step K4
At the channel of the read MIDI data and C
If the channel for the key press guide set in HSET is the same, the MIDI data is immediately output to the keyboard device. The predetermined time in step K6 is a time required for guiding the key depression by causing the LED in the corresponding key of the keyboard device to emit light prior to the sound generation start timing based on the MIDI data of the key depression guide channel. Therefore, the MIDI of the channel for the key press guide
The data is the MIDI data of other channels for this required time.
Need to output faster than data.

【0109】ところが、特定のチャンネルを実際の時間
よりも早くすることはできないので、その代わりに他の
チャンネルのMIDIデータをこの所要時間だけ遅らせ
て、相対的に押鍵ガイド用のチャンネルのMIDIデー
タの出力を早める処理をステップK4〜ステップK7の
処理で行っている。したがって、押鍵ガイド用のチャン
ネルの発音が、押鍵ガイドに要する時間のために他のチ
ャンネルの発音よりも遅れるという不具合がなくなる。
However, since a specific channel cannot be made earlier than the actual time, the MIDI data of another channel is delayed by this required time instead, and the MIDI data of the channel for key press guide is relatively generated. Is performed in steps K4 to K7. Therefore, the problem that the sound of the channel for the key press guide is delayed from the sound of the other channels due to the time required for the key press guide is eliminated.

【0110】ステップK7においてMIDIデータを出
力した後は、MIDIOUTバッファ(n)のエリアを
クリアする(ステップK8)。そして、nをインクリメ
ントして次のMIDIOUTバッファのエリアを指定す
る(ステップK9)。ステップK2において指定したM
IDIOUTバッファ(n)のエリアが空きで、そのエ
リアにMIDIデータがない場合、又は、ステップK6
においてDの時間データが所定時間に達していない場合
にも、ステップK9においてnをインクリメントして次
のMIDIOUTバッファのエリアを指定する。
After outputting the MIDI data in step K7, the area of the MIDI OUT buffer (n) is cleared (step K8). Then, n is incremented to designate the next area of the MIDI OUT buffer (step K9). M specified in step K2
If the area of the IDIOUT buffer (n) is empty and there is no MIDI data in that area, or step K6
Even if the time data of D does not reach the predetermined time, n is incremented in step K9 to specify the next area of the MIDIOUT buffer.

【0111】そして、nがMIDIOUTバッファの全
エリアである所定数を超えたか否かを判別する(ステッ
プK10)。nが所定数以下である場合には、ステップ
K2に移行して、MIDIOUTバッファ(n)が空き
であるか否かを判別する。そして、MIDIOUTバッ
ファ(n)にMIDIデータがある限り、そのMIDI
データを読み出して、そのMIDIデータのチャンネル
に応じた処理を行いながら鍵盤装置に出力する。そし
て、nが所定数を超えたときは、このフローを終了して
図35のフローに戻る。
Then, it is determined whether or not n exceeds a predetermined number which is the entire area of the MIDI OUT buffer (step K10). If n is equal to or less than the predetermined number, the process shifts to step K2 to determine whether or not the MIDIOUT buffer (n) is empty. As long as there is MIDI data in the MIDI OUT buffer (n),
The data is read out and output to the keyboard device while performing processing according to the channel of the MIDI data. When n exceeds a predetermined number, this flow is ended and the flow returns to the flow in FIG.

【0112】図38は、図28のメインフローにおける
ステップA5のガイド信号生成処理のフローである。こ
の処理では、モードレジスタMODEの値に応じた鍵ガ
イド処理を行う。すなわち、MODEの値が「1」又は
「2」であるか否かを判別し(ステップL1)、「1」
又は「2」である場合にはガイドA処理を実行する(ス
テップL2)。MODEの値が「1」及び「2」のいず
れでもない場合には、MODEの値が「3」であるか否
かを判別し(ステップL3)、「3」である場合にはガ
イドB処理を実行する(ステップL4)。ガイドA処理
又はガイドB処理の後、図28のメインフローに戻る。
FIG. 38 is a flowchart of the guide signal generation processing in step A5 in the main flow of FIG. In this process, a key guide process according to the value of the mode register MODE is performed. That is, it is determined whether the value of MODE is “1” or “2” (step L1), and “1”
Alternatively, if it is “2”, the guide A process is executed (step L2). If the value of MODE is neither "1" nor "2", it is determined whether or not the value of MODE is "3" (step L3). If it is "3", the guide B processing is performed. Is executed (step L4). After the guide A process or the guide B process, the process returns to the main flow in FIG.

【0113】図39〜図43は、図38におけるステッ
プL2のガイドA処理のフローである。この処理では、
スタートフラグSTFが「1」であるか否かを判別し
(ステップM1)、STFが「0」である場合には、演
奏停止状態であるので、このフローを終了する。STF
が「1(演奏開始)」である場合にはSTATUSの値
が「2」でないか否かを判別する(ステップM2)。
FIGS. 39 to 43 are flow charts of the guide A process in step L2 in FIG. In this process,
It is determined whether or not the start flag STF is "1" (step M1). If the STF is "0", the performance is stopped, and this flow ends. STF
Is "1 (start of performance)", it is determined whether the value of STATUS is not "2" (step M2).

【0114】STATUSの値が「2」でない場合に
は、レジスタSTの時間データとレジスタTの時間デー
タを加算した値と現在時刻とを比較する(ステップM
3)。すなわち、発音開始タイミングの時間と現在時間
とを比較する。現在時刻が発音開始タイミングの時間に
達していない場合には、このフローを終了して図28の
メインフローに戻る。
If the value of STATUS is not "2", the value obtained by adding the time data of the register ST and the time data of the register T is compared with the current time (step M).
3). That is, the time of the sound generation start timing is compared with the current time. If the current time has not reached the time of the sound generation start timing, this flow is ended and the flow returns to the main flow of FIG.

【0115】現在時間が発音開始タイミングの時間に達
している場合には、レジスタADをインクリメントする
(ステップM4)。そして、アドレスADがENDでな
いか否かを判別する(ステップM5)。ENDでない場
合には、MEM[AD]のMIDIデータが時間データ
であるか否かを判別する(ステップM6)。時間データ
である場合には、STATUSの値が「3」すなわち押
鍵タイミングが発音開始タイミングより早すぎる場合で
あるか否かを判別する(ステップM7)。
If the current time has reached the time of the sound generation start timing, the register AD is incremented (step M4). Then, it is determined whether or not the address AD is not END (step M5). If it is not END, it is determined whether or not the MIDI data of MEM [AD] is time data (step M6). If it is time data, it is determined whether or not the value of STATUS is "3", that is, the key pressing timing is earlier than the sound generation start timing (step M7).

【0116】STATUSの値が「3」である場合に
は、MIDIデータを早送りするために、ΔTに最小時
間をセットする(ステップM8)。STATUSの値が
「3」でなく「1」である場合すなわち押鍵タイミング
が発音開始タイミングに合っている場合には、ΔTにM
EM[AD]の正規の時間データの値をセットする(ス
テップM9)。ステップM8又はステップM9におい
て、ΔTに値をセットした後は、Tの値にΔTの値を加
算して、このフローを終了して図28のメインフローに
戻る。
If the value of STATUS is "3", a minimum time is set to ΔT in order to fast-forward the MIDI data (step M8). If the value of STATUS is “1” instead of “3”, that is, if the key depression timing matches the sound generation start timing, ΔT is set to M
A value of regular time data of EM [AD] is set (step M9). After setting the value of ΔT in step M8 or step M9, the value of ΔT is added to the value of T, and this flow is ended to return to the main flow of FIG.

【0117】ステップM5において、MEM[AD]が
ENDである場合には、曲データが終了したので、ST
Fを「0」にリセットする(ステップM11)。そし
て、このフローを終了して図28のメインフローに戻
る。
If MEM [AD] is END in step M5, the music data has been completed, and the ST
F is reset to "0" (step M11). Then, this flow ends and the process returns to the main flow of FIG.

【0118】ステップM6において、MEM[AD]が
時間データでない場合には、図40のフローにおいて、
MEM[AD]がイベントデータであるか否かを判別す
る(ステップM12)。イベントデータである場合に
は、そのイベントデータのチャンネルがCHSETの押
鍵ガイド用のチャンネルと同一であるか否かを判別する
(ステップM13)。同一のチャンネルである場合に
は、そのイベントデータがノートイベントであるか否か
を判別する(ステップM14)。
If MEM [AD] is not time data in step M6, the flow chart of FIG.
It is determined whether or not MEM [AD] is event data (step M12). If it is event data, it is determined whether or not the channel of the event data is the same as the channel for the key press guide of CHSET (step M13). If they are the same channel, it is determined whether or not the event data is a note event (step M14).

【0119】ノートイベントである場合には、ADをイ
ンクリメントして、ベロシティデータをレジスタVEL
にストアする(ステップM15)。そして、VELのベ
ロシティデータが「0」でないか否かを判別する(ステ
ップM16)。VELが「0」でない場合、すなわちノ
ートデータがノートオンである場合には、MIDIデー
タのノートデータをレジスタNOTEにストアする(ス
テップM17)。次に、MIDIOUTバッファを指定
するnを「0」にセットして(ステップM18)、nを
インクリメントしながらMIDIOUTバッファ(n)
にMIDIデータをストアする。すなわち、MIDIO
UTバッファ(n)が空きであるか否かを判別し(ステ
ップM19)、空きでない場合にはnをインクリメント
する(ステップM20)。そして、nが所定数を超えた
か否かを判別する(ステップM21)。nが所定数以下
である場合には、ステップM19に移行してMIDIO
UTバッファ(n)の空きを捜す。
If the event is a note event, AD is incremented and the velocity data is stored in the register VEL.
(Step M15). Then, it is determined whether or not the velocity data of VEL is not “0” (step M16). If VEL is not "0", that is, if the note data is note-on, the note data of the MIDI data is stored in the register NOTE (step M17). Next, n specifying the MIDIOUT buffer is set to "0" (step M18), and the MIDIOUT buffer (n) is incremented while n is set.
To store the MIDI data. That is, MIDI
It is determined whether or not the UT buffer (n) is empty (step M19). If not, n is incremented (step M20). Then, it is determined whether or not n exceeds a predetermined number (step M21). If n is equal to or smaller than the predetermined number, the process proceeds to step M19 and the MIDI
Search for an empty UT buffer (n).

【0120】MIDIOUTバッファ(n)が空きであ
る場合には、MIDIOUTバッファ(n)にMIDI
データをストアする(ステップM22)。また、レジス
タWTIMEに現在時刻をストアし(ステップM2
3)、MIDIOUTバッファ(n)にWTIMEの時
間データ(現在時刻)をストアする(ステップM2
4)。時間データをストアした後、又は、ステップM2
1においてnが所定数を超えた場合には、図41のフロ
ーにおいて、STATUSが「3」であるか否かを判別
する(ステップM25)。STATUSが「3」である
場合には、STATUSを「1」に変更する(ステップ
M26)。そして、CHSET、VOLUMEの値に基
づきボリュームイベントのMIDIデータを作成する
(ステップM27)。
If the MIDI OUT buffer (n) is empty, the MIDI OUT buffer (n)
The data is stored (step M22). Further, the current time is stored in the register WTIME (step M2).
3) Store the WTIME time data (current time) in the MIDIOUT buffer (n) (step M2)
4). After storing the time data, or in step M2
If n exceeds the predetermined number in Step 1, it is determined whether or not STATUS is "3" in the flow of FIG. 41 (Step M25). If STATUS is "3", STATUS is changed to "1" (step M26). Then, MIDI data of a volume event is created based on the values of CHSET and VOLUME (step M27).

【0121】図40のステップM14において、MID
Iデータがノートイベントでない場合には、図41のフ
ローにおいて、そのMIDIデータがボリュームイベン
トであるか否かを判別する(ステップM28)。ボリュ
ームイベントである場合には、ADをインクリメントし
て、そのボリュームデータをレジスタVOLUMEに取
り込んでストアする(ステップM29)。次に、STA
TUSが「3」であるか否かを判別する(ステップM3
0)。STATUSが「3」で、MIDIデータを早送
りする場合には、MIDIデータのボリューム値を最小
値に変更する(ステップM31)。すなわち、早送りす
る間においては発音をミュートする。
In step M14 of FIG. 40, the MID
If the I data is not a note event, it is determined in the flow of FIG. 41 whether or not the MIDI data is a volume event (step M28). If the event is a volume event, AD is incremented, and the volume data is fetched and stored in the register VOLUME (step M29). Next, STA
It is determined whether or not TUS is “3” (step M3)
0). If the STATUS is "3" and the MIDI data is to be fast-forwarded, the volume value of the MIDI data is changed to the minimum value (step M31). That is, the sound is muted during the fast forward.

【0122】ボリューム値を最小値に変更した後、ステ
ップM27においてボリュームイベントのMIDIデー
タを作成した後、ステップM28においてMIDIデー
タがボリュームイベントでない場合、ステップM30に
おいてSTATUSが「3」でない場合、図40のステ
ップM13においてMIDIデータのチャンネルが押鍵
ガイド用のチャンネルでない場合、又は、ステップM1
6においてMIDIデータのVELが「0」すなわちノ
ートオフイベントである場合には、いずれも、図41の
ステップM32においてMIDIOUTバッファを指定
するnを「0」にセットして、nをインクリメントしな
がらMIDIOUTバッファ(n)にMIDIデータを
ストアする。
After the volume value is changed to the minimum value, the MIDI data of the volume event is created in step M27, if the MIDI data is not a volume event in step M28, if the STATUS is not "3" in step M30, If the MIDI data channel is not the key press guide channel in step M13 of
In the case where the MIDI data VEL is "0", that is, a note-off event in step 6, in step M32 of FIG. 41, n specifying the MIDI OUT buffer is set to "0", and the MIDI OUT is incremented while n is incremented. Store the MIDI data in the buffer (n).

【0123】すなわち、MIDIOUTバッファ(n)
が空きであるか否かを判別し(ステップM33)、空き
でない場合にはnをインクリメントする(ステップM3
4)。そして、nが所定数を超えたか否かを判別する
(ステップM35)。nが所定数以下である場合には、
ステップM33に移行してMIDIOUTバッファ
(n)の空きを捜す。MIDIOUTバッファ(n)が
空きである場合には、MIDIOUTバッファ(n)に
MIDIデータをストアする(ステップM36)。ま
た、レジスタWTIMEに現在時刻をストアし(ステッ
プM37)、MIDIOUTバッファ(n)にWTIM
Eの時間データ(現在時刻)をストアする(ステップM
38)。そして、図39のステップM4に移行してAD
をインクリメントする。
That is, the MIDIOUT buffer (n)
Is determined to be empty (step M33), and if not empty, n is incremented (step M3).
4). Then, it is determined whether or not n exceeds a predetermined number (step M35). When n is equal to or less than a predetermined number,
The process shifts to step M33 to search for an empty MIDI OUT buffer (n). If the MIDI OUT buffer (n) is empty, the MIDI data is stored in the MIDI OUT buffer (n) (step M36). The current time is stored in the register WTIME (step M37), and the WTIM is stored in the MIDIOUT buffer (n).
Store time data of E (current time) (step M
38). Then, the process proceeds to step M4 in FIG.
Is incremented.

【0124】図41のステップM25において、STA
TUSが「3」でなく「1」である場合には、図42の
フローにおいて、STATUSを「2」に変更する(ス
テップM39)。すなわち、図40のステップM22に
おいて、押鍵ガイド用のMIDIデータをMIDIOU
Tバッファにストアした後は、STATUSを「1」か
ら「2」に変更して押鍵されるまで曲データの読み出し
を停止する状態に移行する。
In step M25 of FIG. 41, STA
If TUS is not “3” but “1”, STATUS is changed to “2” in the flow of FIG. 42 (step M39). That is, in step M22 in FIG.
After storing the data in the T buffer, the status is changed from "1" to "2", and the state shifts to a state in which the reading of the music data is stopped until the key is pressed.

【0125】次に、MIDIデータをレジスタNVON
にストアする(ステップM40)。さらに、NVONの
MIDIデータのCHSET及びNOTE、及び、値を
「0」に変更したベロシティデータに基づいて、MID
Iデータを作成する(ステップM41)。そして、作成
したMIDIデータをレジスタNVOFFにストアする
(ステップM42)。次に、NVONからMIDIデー
タを取り出す(ステップM43)。そして、MIDIO
UTバッファのポインタnを「0」にセットして(ステ
ップM44)、nをインクリメントしながら、以下のル
ープ処理を行う。
Next, the MIDI data is stored in the register NVON.
(Step M40). Further, based on the CHON and NOTE of the MIDI data of NVON and the velocity data whose value has been changed to “0”, the MID
I data is created (step M41). Then, the created MIDI data is stored in the register NVOFF (step M42). Next, MIDI data is extracted from NVON (step M43). And MIDIO
The pointer n of the UT buffer is set to “0” (step M44), and the following loop processing is performed while incrementing n.

【0126】MIDIOUTバッファ(n)が空きであ
るか否かを判別し(ステップM45)、空きでない場合
にはnをインクリメントする(ステップM46)。そし
て、nが所定数を超えたか否かを判別する(ステップM
47)。所定数を超えていない場合には、ステップM4
5においてMIDIOUTバッファ(n)の空きを捜
す。空きがあったときは、そのMIDIOUTバッファ
(n)にMIDIデータをストアする(ステップM4
8)。次に、現在時刻をレジスタWTIMEにストアす
る(ステップM49)。そして、WTIMEの現在時刻
をMIDIOUTバッファ(n)にストアする(ステッ
プM50)。
It is determined whether or not the MIDIOUT buffer (n) is empty (step M45), and if not, n is incremented (step M46). Then, it is determined whether or not n exceeds a predetermined number (step M
47). If the number does not exceed the predetermined number, step M4
At 5, search for an empty MIDI OUT buffer (n). If there is a vacancy, the MIDI data is stored in the MIDI OUT buffer (n) (step M4).
8). Next, the current time is stored in the register WTIME (step M49). Then, the current time of the WTIME is stored in the MIDIOUT buffer (n) (step M50).

【0127】WTIMEの現在時刻をストアした後、又
は、ステップM47においてnが所定数を超えた場合に
は、フラグCFを「0」にリセットする(ステップM5
1)。次に、レジスタSTPに現在時刻をストアし(ス
テップM52)、レジスタPに所定値をストアする(ス
テップM53)。そして、このフローを終了して図28
のメインフローに戻る。
After storing the current time of WTIME, or when n exceeds a predetermined number in step M47, the flag CF is reset to "0" (step M5).
1). Next, the current time is stored in the register STP (step M52), and a predetermined value is stored in the register P (step M53). Then, this flow is completed and FIG.
Return to the main flow.

【0128】図39のステップM2において、STAT
USが「2」である場合には、発音開始タイミングが経
過しても鍵盤装置において押鍵がされていない状態であ
るので、鍵盤装置の操作すべき鍵内のLEDを点滅させ
る処理を行う。すなわち、図43のフローにおいて、現
在時刻がSTPの時間データとPの時間データを加算し
た値に達したか否かを判別する(ステップM54)。現
在時刻がこの加算した値に達していない場合にはこのフ
ローを終了するが、現在時刻がこの加算した値に達した
ときは、CFの値を反転する(ステップM55)。そし
て、CFが「0」であるか又は「1」であるかを判別す
る(ステップM56)。
In step M2 of FIG.
If US is "2", the keyboard device is not depressed even after the sounding start timing has elapsed, so that an LED in a key to be operated of the keyboard device is blinked. That is, in the flow of FIG. 43, it is determined whether or not the current time has reached a value obtained by adding the time data of STP and the time data of P (step M54). If the current time has not reached this added value, this flow is terminated. However, if the current time has reached this added value, the value of CF is inverted (step M55). Then, it is determined whether the CF is “0” or “1” (step M56).

【0129】CFが「0」である場合には、NVOFF
からベロシティデータが「0」のMIDIデータを取り
出す(ステップM57)。CFが「1」である場合に
は、NVONからベロシティデータが「0」でないMI
DIデータを取り出す(ステップM58)。ステップM
57又はステップM58においてMIDIデータを取り
出した後は、図42のステップM44に移行する。そし
て、MIDIOUTバッファの空きエリアに取り出した
MIDIデータをストアする。
If CF is "0", NVOFF
The MIDI data whose velocity data is "0" is taken out from (step M57). When CF is “1”, the velocity data from NVON is not “0”.
The DI data is taken out (step M58). Step M
After the MIDI data is extracted in step 57 or step M58, the process proceeds to step M44 in FIG. Then, the extracted MIDI data is stored in a free area of the MIDI OUT buffer.

【0130】すなわち、STATUSが「2」で、イベ
ントデータの発音開始タイミングを経過した後も鍵盤装
置において操作すべき鍵が操作されてない場合には、発
音のイベントデータを変更して、ベロシティデータが
「0」の消音のイベントデータを作成してNVOFFに
ストアし、NVONにストアした発音のイベントデータ
と、NVOFFにストアした消音のイベントデータと
を、Pの所定時間が経過するたびに交互にMIDIOU
Tバッファにストアする。
That is, if the STATUS is "2" and the key to be operated on the keyboard device is not operated after the lapse of the sounding start timing of the event data, the sounding event data is changed and the velocity data is changed. Is generated and stored in NVOFF, and the sound generation event data stored in NVON and the mute event data stored in NVOFF are alternately generated every time a predetermined time of P elapses. MIDIOU
Store in T buffer.

【0131】図44及び図45は、図38のガイド信号
作成処理におけるステップL4のガイドB処理のフロー
である。この処理では、スタートフラグSTFが「1」
であるか否かを判別し(ステップN1)、STFが
「0」である場合には、演奏停止状態であるので、この
フローを終了する。STFが「1」である場合には、現
在時刻がレジスタSTの時間データとレジスタTの時間
データを加算した値になっているか否かを判別する(ス
テップN2)。すなわち現在時刻が発音開始タイミング
の時間であるか否かを判別する。現在時刻が発音開始タ
イミングに達していない場合には、このフローを終了す
る。
FIGS. 44 and 45 are flow charts of the guide B process of step L4 in the guide signal creation process of FIG. In this processing, the start flag STF is set to “1”.
Is determined (step N1). If the STF is "0", the performance is stopped, and this flow is terminated. If the STF is "1", it is determined whether or not the current time is a value obtained by adding the time data of the register ST and the time data of the register T (step N2). That is, it is determined whether or not the current time is the time of the sound generation start timing. If the current time has not reached the sound generation start timing, the flow ends.

【0132】現在時刻が発音開始タイミングの時間に一
致したときは、レジスタADのアドレスをインクリメン
トする(ステップN3)。そして、アドレスADがEN
Dでないか否かを判別する(ステップN4)。ENDで
ない場合には、MEM[AD]のデータが時間データで
あるか否かを判別する(ステップN5)。時間データで
ある場合には、ΔTにMEM[AD]の時間データの値
をセットする(ステップN6)。次に、Tの値にΔTの
値を加算し(ステップN7)、このフローを終了して図
28のメインフローに戻る。ステップN4において、A
DがENDである場合には、曲データが終了したのでフ
ラグSTFを「0」にリセットする(ステップN8)。
そして、このフローを終了してメインフローに戻る。
If the current time coincides with the time of the sound generation start timing, the address of the register AD is incremented (step N3). And the address AD is EN
It is determined whether it is not D (step N4). If it is not END, it is determined whether or not the data of MEM [AD] is time data (step N5). If it is time data, the value of the time data of MEM [AD] is set to ΔT (step N6). Next, the value of ΔT is added to the value of T (step N7), this flow ends, and the flow returns to the main flow of FIG. In step N4, A
If D is END, the song data has been completed, and the flag STF is reset to "0" (step N8).
Then, this flow ends and the process returns to the main flow.

【0133】ステップN5において、MEM[AD]が
時間データでない場合には、図45のフローにおいて、
MEM[AD]のデータがイベントデータであるか否か
を判別する(ステップN9)。イベントデータでない場
合には、図44のステップN3に移行してADをインク
リメントするが、イベントデータである場合には、その
イベントデータのチャンネルとCHSETの押鍵ガイド
用のチャンネルとが同一であるか否かを判別する(ステ
ップN10)。チャンネルが同一である場合には、その
イベントデータがノートイベントであるか否かを判別す
る(ステップN11)。
If MEM [AD] is not time data at step N5, the flow goes to FIG.
It is determined whether or not the data of MEM [AD] is event data (step N9). If the event data is not the event data, the process goes to step N3 in FIG. 44 to increment AD. If the event data is the event data, is the channel of the event data the same as the channel for the key press guide of the CHSET? It is determined whether or not it is not (step N10). If the channels are the same, it is determined whether or not the event data is a note event (step N11).

【0134】ノートイベントである場合には、ADをイ
ンクリメントして、ベロシティデータをレジスタVEL
にストアする(ステップN12)。そして、VELのベ
ロシティデータが「0」でないか否かを判別する(ステ
ップN13)。VELのベロシティデータが「0」でな
い場合には、VELのベロシティデータを最小値「1」
に変更する(ステップN14)。そして、MIDIデー
タのベロシティデータをVELのベロシティデータの値
に変更する(ステップN15)。次に、MIDIOUT
バッファのポインタnを「0」にセットして(ステップ
N16)、nをインクリメントしながら、以下のループ
処理を行う。
If the event is a note event, AD is incremented and the velocity data is stored in the register VEL.
(Step N12). Then, it is determined whether or not the velocity data of VEL is not “0” (step N13). If the velocity data of VEL is not “0”, the velocity data of VEL is reduced to the minimum value “1”.
(Step N14). Then, the velocity data of the MIDI data is changed to the velocity data value of the VEL (step N15). Next, MIDIOUT
The buffer pointer n is set to "0" (step N16), and the following loop processing is performed while incrementing n.

【0135】MIDIOUTバッファ(n)が空きであ
るか否かを判別し(ステップN17)、空きでない場合
にはnをインクリメントする(ステップN18)。そし
て、nが所定数を超えたか否かを判別する(ステップN
19)。所定数を超えていない場合には、ステップN1
7においてMIDIOUTバッファ(n)の空きを捜
す。空きがあったときは、そのMIDIOUTバッファ
(n)にMIDIデータをストアする(ステップN2
0)。次に、現在時刻をレジスタWTIMEにストアす
る(ステップN21)。そして、図44のステップN3
に移行してADをインクリメントする。
It is determined whether or not the MIDIOUT buffer (n) is empty (step N17), and if not, n is incremented (step N18). Then, it is determined whether or not n exceeds a predetermined number (step N
19). If the number does not exceed the predetermined number, step N1
At step 7, the MIDI OUT buffer (n) is searched for an empty space. If there is a vacancy, the MIDI data is stored in the MIDI OUT buffer (n) (step N2).
0). Next, the current time is stored in the register WTIME (step N21). Then, step N3 in FIG.
Then, AD is incremented.

【0136】図46は、鍵盤装置101(演奏装置)側
のメインフローである。所定のイニシャライズ処理(ス
テップP1)の後、スイッチ処理(ステップP2)、M
IDI処理(ステップP3)、鍵ガイド処理(ステップ
P4)、押鍵処理(ステップP5)、発音指示処理(ス
テップP6)、その他の処理(ステップP7)のループ
処理を繰り返し実行する。
FIG. 46 is a main flow on the keyboard device 101 (performance device) side. After a predetermined initialization process (step P1), a switch process (step P2), M
The loop process of the IDI process (Step P3), the key guide process (Step P4), the key press process (Step P5), the sound generation instruction process (Step P6), and other processes (Step P7) is repeatedly executed.

【0137】図47は、図46のメインフローにおける
ステップP2のスイッチ処理のフローである。この処理
では、ガイド用チャンネル設定スイッチ処理(ステップ
Q1)、ベロシティ設定スイッチ処理(ステップQ
2)、その他のスイッチ処理(ステップQ3)を実行し
て、このフローを終了して図46のメインフローに戻
る。
FIG. 47 is a flowchart of the switch processing in step P2 in the main flow of FIG. In this processing, the guide channel setting switch processing (step Q1) and the velocity setting switch processing (step Q1)
2) Other switch processing (step Q3) is executed, this flow is ended, and the flow returns to the main flow in FIG.

【0138】図48は、図47のスイッチ処理における
ステップQ1のガイド用チャンネル設定スイッチ処理の
フローである。ガイド用チャンネル設定スイッチ及びチ
ャンネル番号スイッチがオンされたか否かを判別し(ス
テップR1)、オンされたときはチャンネルレジスタC
HSETにそのチャンネル番号をストアする(ステップ
R2)。チャンネル番号をストアした後、又はステップ
R1においてスイッチがオンされない場合には、このフ
ローを終了して図47のフローに戻る。
FIG. 48 is a flowchart of the guide channel setting switch process of step Q1 in the switch process of FIG. It is determined whether or not the guide channel setting switch and the channel number switch are turned on (step R1).
The channel number is stored in HSET (step R2). After storing the channel number or when the switch is not turned on in step R1, this flow is ended and the flow returns to the flow of FIG.

【0139】図49は、図47のスイッチ処理における
ステップQ2のベロシティ設定スイッチ処理のフローで
ある。ベロシティ設定スイッチ及びベロシティ値のスイ
ッチがオンされたか否かを判別し(ステップS1)、オ
ンされたときはレジスタVSETにそのベロシティ値の
データをストアする(ステップS2)。ベロシティ値の
データをストアした後、又はステップS1においてスイ
ッチがオンされない場合には、このフローを終了して図
47のフローに戻る。
FIG. 49 is a flow chart of the velocity setting switch processing in step Q2 in the switch processing of FIG. It is determined whether or not the velocity setting switch and the velocity value switch are turned on (step S1). When the velocity setting switch and the velocity value switch are turned on, the velocity value data is stored in the register VSET (step S2). After storing the velocity value data or when the switch is not turned on in step S1, this flow is ended and the flow returns to the flow of FIG.

【0140】図50は、図46のメインフローにおける
ステップP3のMIDI処理のフローである。この処理
では、パソコンとの間で、シリアルインターフェースを
介して通信を行い、パソコンからMIDIデータを受信
するMIDIIN処理(ステップT1)、パソコンに対
して演奏操作の結果であるMIDIデータを送信するM
IDIOUT処理(ステップT2)を実行して、メイン
フローに戻る。
FIG. 50 is a flow chart of the MIDI process at step P3 in the main flow of FIG. In this process, a MIDI IN process for communicating with a personal computer via a serial interface and receiving MIDI data from the personal computer (step T1), and transmitting MIDI data as a result of a performance operation to the personal computer.
The IDIOUT process (step T2) is executed, and the process returns to the main flow.

【0141】図51は、図50のステップT1のMID
IIN処理のフローである。この処理では、MIDII
N(MIDIデータ受信)であるか否かを判別し(ステ
ップU1)、MIDIINである場合には、MIDII
Nバッファを指定するポインタnを「0」にセットして
(ステップU2)、nをインクリメントしながら以下の
処理を行う。
FIG. 51 shows the MID of step T1 in FIG.
It is a flow of an IIN process. In this process, MIDII
N (reception of MIDI data) or not (step U1).
The pointer n specifying the N buffer is set to "0" (step U2), and the following processing is performed while incrementing n.

【0142】すなわち、MIDIINバッファ(n)が
空きであるか否かを判別し(ステップU3)、空きでな
い場合にはnをインクリメントする(ステップU4)。
そして、nがMIDIINバッファのエリア数である所
定数を超えたか否かを判別する(ステップU5)。nが
所定数以下である場合には、ステップU3に移行してM
IDIINバッファ(n)の空きを捜す。MIDIIN
バッファ(n)が空きである場合には、MIDIデータ
をストアする(ステップU6)。そして、ステップU1
に移行して、MIDIINであるか否かを判別する。M
IDIINである場合には上記処理を繰り返す。MID
IINでない場合、又はステップU5においてnが所定
数を超えた場合には、このフローを終了して図50のフ
ローに戻る。
That is, it is determined whether or not the MIDI IN buffer (n) is empty (step U3), and if it is not empty, n is incremented (step U4).
Then, it is determined whether or not n exceeds a predetermined number which is the number of areas of the MIDI IN buffer (step U5). If n is equal to or less than the predetermined number, the process moves to step U3 and M
Search for an empty IDIIN buffer (n). MIDIIN
If the buffer (n) is empty, the MIDI data is stored (step U6). Then, step U1
To determine whether it is MIDIIN. M
If it is IDIIN, the above processing is repeated. MID
If it is not the IIN, or if n exceeds the predetermined number in step U5, this flow is terminated and the flow returns to the flow in FIG.

【0143】図52は、図50のMIDI処理における
ステップT2のMIDIOUT処理のフローである。こ
の処理では、MIDIOUTバッファを指定するポイン
タnを「0」にセットして(ステップV1)、nをイン
クリメントしながら以下の処理を行う。すなわち、MI
DIOUTバッファ(n)が空きでないか否かを判別し
(ステップV2)、空きでない場合にはMIDIOUT
バッファ(n)のエリアのMIDIデータをパソコンに
出力する(ステップV3)。そして、MIDIOUTバ
ッファ(n)のエリアをクリアする(ステップV4)。
FIG. 52 is a flowchart of the MIDI OUT process in step T2 in the MIDI process of FIG. In this process, a pointer n specifying the MIDIOUT buffer is set to "0" (step V1), and the following process is performed while incrementing n. That is, MI
It is determined whether or not the DIOUT buffer (n) is not empty (step V2).
The MIDI data in the buffer (n) area is output to the personal computer (step V3). Then, the area of the MIDIOUT buffer (n) is cleared (step V4).

【0144】エリアをクリアした後、又はステップV2
においてMIDIOUTバッファ(n)が空きである場
合には、nをインクリメントする(ステップV5)。そ
して、nがMIDIOUTバッファのエリア数である所
定数を超えたか否かを判別する(ステップV6)。nが
所定数以下である場合には、ステップV2に移行してM
IDIOUTバッファ(n)が空きでないか否かを判別
する。ステップV6においてnが所定数を超えた場合に
は、このフローを終了して図46のメインフローに戻
る。
After clearing the area or step V2
If the MIDI OUT buffer (n) is empty in step (5), n is incremented (step V5). Then, it is determined whether or not n exceeds a predetermined number which is the number of areas of the MIDI OUT buffer (step V6). If n is equal to or less than the predetermined number, the process proceeds to step V2 and M
It is determined whether the IDIOUT buffer (n) is not empty. If n exceeds the predetermined number in step V6, this flow is terminated and the process returns to the main flow in FIG.

【0145】図53は、図46のメインフローにおける
ステップP4の鍵ガイド処理のフローである。この処理
では、MIDIINバッファを指定するポインタnを
「0」にセットして(ステップX1)、nをインクリメ
ントしながら以下の処理を行う。すなわち、MIDII
Nバッファ(n)が空きでないか否かを判別し(ステッ
プX2)、空きでなくMIDIデータがある場合には、
そのMIDIデータがノートイベントであるか否かを判
別する(ステップX3)。ノートイベントである場合に
は、そのイベントデータのチャンネルがCHSETで指
定されている押鍵ガイド用のチャンネルと同一であるか
否かを判別する(ステップX4)。
FIG. 53 is a flow chart of the key guide processing in step P4 in the main flow of FIG. In this process, a pointer n designating a MIDIIN buffer is set to "0" (step X1), and the following process is performed while incrementing n. That is, MIDII
It is determined whether or not the N buffer (n) is not empty (step X2).
It is determined whether or not the MIDI data is a note event (step X3). If it is a note event, it is determined whether or not the channel of the event data is the same as the key-depression guide channel specified by CHSET (step X4).

【0146】チャンネルが同一である場合には、MID
Iデータのベロシティデータが「0」でないか否かを判
別する(ステップX5)。「0」でない場合には、その
ベロシティデータをレジスタVELにストアする(ステ
ップX6)。そして、VELのベロシティデータにVS
ETのデータを乗算して「1」を加算する演算を行う
(ステップX7)。VSETのデータは、図49のVE
L設定スイッチ処理においてユーザーによって所望の値
に設定されている。あるいは、デフォルトの値に設定さ
れている。ユーザーが設定する場合には、VSETのデ
ータを「0」に設定して、誤ってノートオフイベントに
なるのを回避するために、最小値「1」を加算する。
If the channels are the same, the MID
It is determined whether or not the velocity data of the I data is not “0” (step X5). If not "0", the velocity data is stored in the register VEL (step X6). Then, VS is added to the velocity data of VEL.
An operation of multiplying the ET data and adding "1" is performed (step X7). The VSET data is the VE shown in FIG.
It is set to a desired value by the user in the L setting switch process. Alternatively, it is set to the default value. When set by the user, the VSET data is set to “0” and a minimum value “1” is added in order to avoid an erroneous note-off event.

【0147】次に、MIDIデータのベロシティデータ
をVELの値に変更する(ステップX8)。そして、V
ELの値が所定値より大きいか否かを判別する(ステッ
プX9)。VELの値が所定値より大きい場合には、M
IDIデータのノートデータに対する鍵内の赤色発光の
LEDを点灯する処理を行う(ステップX10)。一
方、VELの値が所定値以下である場合には、MIDI
データのノートデータに対する鍵内の緑色発光のLED
を点灯する処理を行う(ステップX11)。ステップX
5においてVELの値が「0」である場合には、MID
Iデータのノートデータに対する鍵内のLEDを消灯す
る処理を行う(ステップX12)。
Next, the velocity data of the MIDI data is changed to the value of VEL (step X8). And V
It is determined whether or not the value of EL is larger than a predetermined value (step X9). If the value of VEL is greater than a predetermined value, M
A process of lighting the red light emitting LED in the key for the note data of the IDI data is performed (step X10). On the other hand, if the value of VEL is equal to or less than the predetermined value, MIDI
Green light emitting LED in the key for data note data
Is performed (step X11). Step X
If the value of VEL is "0" at 5, the MID
A process of turning off the LED in the key for the note data of the I data is performed (step X12).

【0148】ステップX10若しくはステップX11に
おいてLEDの点灯処理を行った後、又は、ステップX
12においてLEDの消灯処理を行った後は、nをイン
クリメントしてMIDIINバッファの次のエリアを指
定する。また、ステップX2においてMIDIINバッ
ファ(n)が空きである場合、ステップX3においてM
IDIデータがノートイベントでない場合、又は、ステ
ップX4においてMIDIデータのチャンネルが押鍵ガ
イド用のチャンネルでない場合には、いずれもnをイン
クリメントしてMIDIINバッファの次のエリアを指
定する。
After performing the LED lighting process in step X10 or step X11, or
After performing the LED extinguishing process at step 12, n is incremented to specify the next area of the MIDI IN buffer. If the MIDI IN buffer (n) is empty at step X2, M
If the IDI data is not a note event, or if the MIDI data channel is not a key press guide channel in step X4, n is incremented to specify the next area of the MIDI IN buffer.

【0149】そして、nがMIDIINバッファのエリ
ア数である所定値を超えたか否かを判別する(ステップ
X14)。nが所定値以下である場合には、ステップX
2に移行して上記各処理を繰り返す。nが所定値を超え
たときは、このフローを終了して図46のメインフロー
に戻る。
Then, it is determined whether or not n exceeds a predetermined value which is the number of areas of the MIDI IN buffer (step X14). If n is equal to or less than the predetermined value, step X
The process proceeds to 2 and the above-described processing is repeated. When n exceeds a predetermined value, this flow is ended and the process returns to the main flow of FIG.

【0150】図54は、図46のメインフローにおける
ステップP5の押鍵処理のフローである。この処理で
は、鍵盤を走査して(ステップY1)、鍵変化があるか
否かを判別し(ステップY2)、鍵変化がない場合には
メインフローに戻る。オフからオンに鍵変化があったと
き、すなわち押鍵操作がされたときは、CHSET、押
鍵のノートデータ、ベロシティデータでMIDIデータ
を作成する(ステップY3)。オンからオフに鍵変化が
あったとき、すなわち離鍵操作がされたときは、CHS
ET、離鍵のノートデータ、値が「0」のベロシティデ
ータでMIDIデータを作成する(ステップY4)。
FIG. 54 is a flowchart of the key pressing process in step P5 in the main flow of FIG. In this process, the keyboard is scanned (step Y1) to determine whether there is a key change (step Y2). If there is no key change, the process returns to the main flow. When there is a key change from off to on, that is, when a key press operation is performed, MIDI data is created using CHSET, key press note data, and velocity data (step Y3). When a key changes from on to off, that is, when a key release operation is performed, the CHS
MIDI data is created using ET, note data of key release, and velocity data having a value of "0" (step Y4).

【0151】ステップY3又はステップY4においてM
IDIデータを作成した後は、MIDIOUTバッファ
を指定するnを「0」にセットして(ステップY5)、
nをインクリメントしながらMIDIOUTバッファ
(n)にMIDIデータをストアする。すなわち、MI
DIOUTバッファ(n)が空きであるか否かを判別し
(ステップY6)、空きでない場合にはnをインクリメ
ントする(ステップY7)。そして、nが所定数を超え
たか否かを判別する(ステップY8)。nが所定数以下
である場合には、ステップY6に移行してMIDIOU
Tバッファ(n)の空きを捜す。
In step Y3 or step Y4, M
After the IDI data is created, n specifying the MIDIOUT buffer is set to “0” (step Y5),
The MIDI data is stored in the MIDI OUT buffer (n) while incrementing n. That is, MI
It is determined whether or not the DIOUT buffer (n) is empty (step Y6), and if not, n is incremented (step Y7). Then, it is determined whether or not n has exceeded a predetermined number (step Y8). If n is equal to or less than the predetermined number, the process proceeds to step Y6 and MIDIOU
Search for an empty T buffer (n).

【0152】MIDIOUTバッファ(n)が空きであ
る場合には、MIDIOUTバッファ(n)にMIDI
データをストアする(ステップY9)。そして、走査が
終了したか否かを判別し(ステップY10)、終了して
いない場合にはステップY1に移行して鍵盤の走査を続
行する。走査が終了したときは、このフローを終了して
図46のメインフローに戻る。
If the MIDI OUT buffer (n) is empty, the MIDI OUT buffer (n)
The data is stored (step Y9). Then, it is determined whether or not the scanning is completed (step Y10). If the scanning is not completed, the process proceeds to step Y1 to continue the keyboard scanning. When the scanning is completed, this flow is ended and the process returns to the main flow of FIG.

【0153】図55は、図46のメインフローにおける
ステップP6の発音指示処理のフローである。この処理
では、MIDIINバッファ及びMIDIOUTバッフ
ァのエリアを指定するポインタnを「0」にセットし
(ステップZ1)、nをインクリメントしながら、MI
DIINバッファの押鍵ガイド用のチャンネル以外のチ
ャンネルのMIDIデータ、及び、MIDIOUTバッ
ファの押鍵ガイド用のチャンネルの操作結果であるMI
DIデータを音源に送付する処理を行う。
FIG. 55 is a flow chart of the tone generation instruction process in step P6 in the main flow of FIG. In this process, a pointer n for designating the area of the MIDI IN buffer and the MIDI OUT buffer is set to “0” (step Z1), and the MI is incremented while n is incremented.
MIDI data of a channel other than the key press guide channel of the DIIN buffer, and MI which is an operation result of the key press guide channel of the MIDI OUT buffer.
A process for sending DI data to a sound source is performed.

【0154】MIDIINバッファ(n)のエリアが空
きでないか否かを判別し(ステップZ2)、空きでない
場合には、そのMIDIデータを音源へ送付する(ステ
ップZ3)。そして、MIDIINバッファのそのエリ
アをクリアする(ステップZ4)。エリアをクリアした
後、又は、ステップZ2においてMIDIINバッファ
(n)のエリアが空きである場合には、MIDIOUT
バッファ(n)が空きでないか否かを判別し(ステップ
Z5)、空きでない場合にはMIDIOUTバッファ
(n)のMIDIデータを音源へ送付する(ステップZ
6)。そして、MIDIOUTバッファのそのエリアを
クリアする(ステップZ7)。
It is determined whether or not the area of the MIDI IN buffer (n) is free (step Z2). If not, the MIDI data is sent to the sound source (step Z3). Then, the area of the MIDI IN buffer is cleared (step Z4). After clearing the area or when the area of the MIDI IN buffer (n) is empty in step Z2, MIDI OUT
It is determined whether or not the buffer (n) is not empty (step Z5). If not, the MIDI data in the MIDIOUT buffer (n) is sent to the sound source (step Z5).
6). Then, that area of the MIDIOUT buffer is cleared (step Z7).

【0155】エリアをクリアした後、又は、ステップZ
5においてMIDIOUTバッファ(n)のエリアが空
きである場合には、nをインクリメントする(ステップ
Z8)。そして、nが所定数を超えたか否かを判別し
(ステップZ9)、nが所定数以下である場合には、ス
テップZ2に移行して上記処理を繰り返し、MIDIデ
ータを音源へ送付する。そして、nが所定値を超えたと
きは、このフローを終了して図46のメインフローに戻
る。
After clearing the area or step Z
If the area of the MIDI OUT buffer (n) is empty in step 5, n is incremented (step Z8). Then, it is determined whether or not n has exceeded a predetermined number (step Z9). If n is equal to or less than the predetermined number, the process proceeds to step Z2 to repeat the above-described processing, and sends MIDI data to the sound source. When n exceeds a predetermined value, this flow is ended and the process returns to the main flow in FIG.

【0156】このように上記第2実施形態における演奏
教習装置は、演奏装置である鍵盤装置101と、演奏制
御装置であるパソコン104(又はFDプレーヤ10
3)との間で、通信を行って演奏の教習を行う。この場
合において、パソコン104は、フロッピーディスク2
に記憶されている曲データを読み出す場合に、鍵盤装置
101の鍵盤の演奏に係るパートの発音のイベントデー
タをそのイベントデータの発音タイミングで読み出し、
自動演奏の他のパートの発音のイベントデータをそのイ
ベントデータの発音タイミングから所定時間だけ遅延さ
せて読み出すデータ読出手段、及び、読み出された演奏
に係るパート及び他のパートの曲データを鍵盤装置10
1に送信するデータ送信手段を構成する。
As described above, the performance training device according to the second embodiment includes a keyboard device 101 as a performance device and a personal computer 104 (or FD player 10) as a performance control device.
With 3), communication is performed to perform performance lessons. In this case, the personal computer 104 uses the floppy disk 2
When the music data stored in the keyboard device 101 is read, the event data of the sound of the part related to the performance of the keyboard of the keyboard device 101 is read at the sounding timing of the event data.
Data reading means for reading out the event data of the sounding of the other part of the automatic performance with a delay of a predetermined time from the sounding timing of the event data, and a keyboard device for reading the read-out part related to the performance and the music data of the other part 10
1 constitutes a data transmission means for transmitting the data to the data transmission device 1.

【0157】演奏装置である鍵盤装置101は、パソコ
ン104から送信された曲データを受信するデータ受信
手段、このデータ受信手段が演奏に係るパートの発音の
イベントデータを受信したときはそのイベントデータの
音高データに応じて点灯信号を発生し、その音高データ
に係る鍵に対応するLED20を発光させ、パソコン1
04において遅延された所定時間内において演奏をガイ
ドする発光制御手段、この演奏ガイドに応じて、鍵盤の
演奏による発音操作がされたときに発音のイベントデー
タを発生するデータ発生手段、データ受信手段によって
受信された他のパートの発音のイベントデータをMID
I音源3に出力するとともに、データ発生手段によって
発生された発音のイベントデータをMIDI音源3に出
力するデータ出力手段、を構成する。
The keyboard device 101 is a data receiving means for receiving the music data transmitted from the personal computer 104. When the data receiving means receives the event data of the sound of the part related to the performance, the keyboard device 101 receives the data. A lighting signal is generated according to the pitch data, and the LED 20 corresponding to the key related to the pitch data is caused to emit light.
A light emission control means for guiding a performance within a predetermined time delayed in 04, a data generation means for generating sounding event data when a sounding operation is performed by playing a keyboard, and a data receiving means in accordance with the performance guide; MID of received event data of other parts
Data output means for outputting to the MIDI sound source 3 the event data of the sound generated by the data generating means while outputting the data to the I sound source 3.

【0158】第2実施形態の構成によれば、演奏をガイ
ドしない他のパートの発音タイミングを演奏をガイドす
るパートの演奏ガイドに要する時間だけ遅らせる。した
がって、第1実施形態と同様に、演奏をガイドするパー
トの発音が他のパートの発音よりも遅れることがない。
According to the configuration of the second embodiment, the sound generation timing of the other part that does not guide the performance is delayed by the time required for the performance guide of the part that guides the performance. Therefore, as in the first embodiment, the sound of the part guiding the performance does not lag behind the sound of the other parts.

【0159】またこの場合において、パソコン104
は、通信回線(ネットワーク4)を介して外部装置であ
る曲データサーバー5と接続し、曲データを曲データサ
ーバー5から受信する通信制御手段を構成する。したが
って、通信回線を介して外部装置から受信する曲データ
で編集を行うことができない場合でも、発音開始タイミ
ングに対する押鍵タイミングの教習を実現できる。
In this case, the personal computer 104
Is connected to a music data server 5 which is an external device via a communication line (network 4), and constitutes a communication control means for receiving music data from the music data server 5. Therefore, even when editing cannot be performed with the music data received from the external device via the communication line, it is possible to implement the training of the key pressing timing with respect to the sound generation start timing.

【0160】さらに、鍵盤装置101の各鍵内に設けら
れたLED20は、赤色及び緑色の異なる発光色で発光
するので、パソコン104は、フロッピーディスク2か
ら読み出したイベントデータのベロシティデータが所定
値以上であるか否かを判別し、その判別結果に応じた発
光色で、鍵盤装置101のLED20を発光させる。し
たがって、押鍵タイミングだけでなく、押鍵の強弱をガ
イドすることができる。
Further, since the LED 20 provided in each key of the keyboard device 101 emits light of different emission colors of red and green, the personal computer 104 determines that the velocity data of the event data read from the floppy disk 2 is not less than a predetermined value. Is determined, and the LED 20 of the keyboard device 101 is caused to emit light in a light emission color according to the determination result. Therefore, it is possible to guide not only the key pressing timing but also the strength of the key pressing.

【0161】なお、上記第1実施形態及び第2実施形態
においては、フロッピーディスク2から読み出した演奏
ガイド用のパート及び自動演奏の他のパートの発音のイ
ベントデータをMIDI音源3に出力する構成にした
が、演奏ガイド用のパートのイベントデータの発音と鍵
盤の演奏による発音とが重なることで演奏教習に差し触
るようであれば、演奏ガイド用のパートのイベントデー
タはMIDI音源3に出力しない構成にしてもよい。こ
の場合には、演奏ガイドに応じた鍵盤の演奏及び自動演
奏の他のパートが発音される。さらに、フロッピーディ
スク2から読み出した演奏ガイド用のパートを発音させ
るか否かは、ユーザーの設定によって行う構成にしても
よい。
In the first embodiment and the second embodiment, the performance guide part read from the floppy disk 2 and the sound generation event data of the other parts of the automatic performance are output to the MIDI tone generator 3. However, the event data of the performance guide part is not output to the MIDI sound source 3 if the sound of the event data of the performance guide part overlaps with the sound of the keyboard performance so as to touch the performance training. It may be. In this case, the keyboard performance according to the performance guide and other parts of the automatic performance are produced. Further, whether or not the performance guide part read out from the floppy disk 2 should be sounded may be determined by the user.

【0162】なおまた、上記第1実施形態及び第2実施
形態においては、ROM等のメモリに格納された演奏教
習処理プログラムを実行する装置について説明したが、
フロッピーディスクやCD等の記録媒体に、各実施形態
においてフローチャートによって示した演奏教習処理プ
ログラムを記録し、この記録媒体から演奏教習処理プロ
グラムを読み出して実行させる構成にしてもよい。
In the first embodiment and the second embodiment, the apparatus for executing the performance learning processing program stored in the memory such as the ROM has been described.
The performance training program shown in the flowchart in each embodiment may be recorded on a recording medium such as a floppy disk or a CD, and the performance training program may be read from the recording medium and executed.

【0163】例えば、第1実施形態における鍵盤装置1
で駆動する曲データを記憶するフロッピーディスク2
に、演奏教習処理プログラムをあらかじめ記録してお
き、鍵盤装置1によってこのプログラムを読み出して実
行させる。また、第2実施形態においては、曲データを
記憶するフロッピーディスク2に、演奏教習処理プログ
ラムをあらかじめ記録しておき、FDプレーヤ103や
パソコン104によってこのプログラムを読み出して実
行させる。
For example, the keyboard device 1 in the first embodiment
Disk 2 for storing song data driven by
Then, a performance training program is recorded in advance, and the keyboard device 1 reads out and executes the program. In the second embodiment, a performance training processing program is recorded in advance on the floppy disk 2 for storing music data, and the FD player 103 and the personal computer 104 read and execute the program.

【0164】[0164]

【発明の効果】本発明によれば、演奏をガイドしない他
のパートの発音タイミングを演奏をガイドするパートの
演奏ガイドに要する時間だけ遅らせる。したがって、演
奏をガイドするパートの発音が他のパートの発音よりも
遅れることがない。
According to the present invention, the sound generation timing of the other part which does not guide the performance is delayed by the time required for the performance guide of the part which guides the performance. Therefore, the pronunciation of the part guiding the performance does not lag behind the pronunciation of the other parts.

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

【図1】本発明の第1実施形態におけるシステム構成を
示す図。
FIG. 1 is a diagram showing a system configuration according to a first embodiment of the present invention.

【図2】図1における鍵盤装置の構成を示すブロック
図。
FIG. 2 is a block diagram showing a configuration of a keyboard device in FIG. 1;

【図3】MIDIデータのフォーマットを示す図。FIG. 3 is a view showing a format of MIDI data.

【図4】MIDIデータにおけるメロディデータのフォ
ーマットを示す図。
FIG. 4 is a diagram showing a format of melody data in MIDI data.

【図5】図2のCPUが実行するプログラムのメインフ
ローチャート。
FIG. 5 is a main flowchart of a program executed by a CPU in FIG. 2;

【図6】図5におけるスイッチ処理のフローチャート。FIG. 6 is a flowchart of a switch process in FIG. 5;

【図7】図6におけるモード選択スイッチ処理のフロー
チャート。
FIG. 7 is a flowchart of a mode selection switch process in FIG. 6;

【図8】図6におけるスタートスイッチ処理のフローチ
ャート。
FIG. 8 is a flowchart of a start switch process in FIG. 6;

【図9】図6における受信スイッチ処理のフローチャー
ト。
FIG. 9 is a flowchart of a reception switch process in FIG. 6;

【図10】図6におけるチャンネル設定スイッチ処理の
フローチャート。
FIG. 10 is a flowchart of a channel setting switch process in FIG. 6;

【図11】図6におけるベロシティ設定処理のフローチ
ャート。
FIG. 11 is a flowchart of a velocity setting process in FIG. 6;

【図12】図5における鍵ガイド処理のフローチャー
ト。
FIG. 12 is a flowchart of a key guide process in FIG. 5;

【図13】図12におけるガイドA処理のフローチャー
ト。
FIG. 13 is a flowchart of a guide A process in FIG. 12;

【図14】図13に続くガイドA処理のフローチャー
ト。
FIG. 14 is a flowchart of the guide A process following FIG. 13;

【図15】図14に続くガイドA処理のフローチャー
ト。
FIG. 15 is a flowchart of a guide A process following FIG. 14;

【図16】図13及び図14に続くガイドA処理のフロ
ーチャート。
FIG. 16 is a flowchart of a guide A process following FIGS. 13 and 14;

【図17】図16に続くガイドA処理のフローチャー
ト。
FIG. 17 is a flowchart of the guide A process following FIG. 16;

【図18】図12におけるガイドB処理のフローチャー
ト。
FIG. 18 is a flowchart of a guide B process in FIG.

【図19】図18に続くガイドB処理のフローチャー
ト。
FIG. 19 is a flowchart of a guide B process following FIG. 18;

【図20】図19に続くガイドB処理のフローチャー
ト。
FIG. 20 is a flowchart of a guide B process following FIG. 19;

【図21】図5における押鍵処理のフローチャート。FIG. 21 is a flowchart of a key pressing process in FIG. 5;

【図22】図21に続く押鍵処理のフローチャート。FIG. 22 is a flowchart of the key pressing process following FIG. 21;

【図23】図5における出力処理のフローチャート。FIG. 23 is a flowchart of an output process in FIG. 5;

【図24】図5における受信処理のフローチャート。FIG. 24 is a flowchart of a reception process in FIG. 5;

【図25】本発明の第2実施形態におけるFDプレーヤ
を用いたシステム構成を示す図。
FIG. 25 is a diagram showing a system configuration using an FD player according to a second embodiment of the present invention.

【図26】第2実施形態におけるパソコンを用いたシス
テム構成を示す図。
FIG. 26 is a diagram showing a system configuration using a personal computer according to the second embodiment.

【図27】図25及び図26の鍵盤装置の内部の構成を
示すブロック図。
FIG. 27 is a block diagram showing the internal configuration of the keyboard device shown in FIGS. 25 and 26;

【図28】図26におけるパソコンの動作を示すメイン
フローチャート。
FIG. 28 is a main flowchart showing the operation of the personal computer in FIG. 26;

【図29】図28におけるスイッチ処理のフローチャー
ト。
FIG. 29 is a flowchart of a switch process in FIG. 28;

【図30】図29におけるモード選択スイッチ処理のフ
ローチャート。
FIG. 30 is a flowchart of a mode selection switch process in FIG. 29;

【図31】図29におけるスタートスイッチ処理のフロ
ーチャート。
FIG. 31 is a flowchart of a start switch process in FIG. 29;

【図32】図29における受信スイッチ処理のフローチ
ャート。
FIG. 32 is a flowchart of a reception switch process in FIG. 29;

【図33】図29における設定スイッチ処理のフローチ
ャート。
FIG. 33 is a flowchart of a setting switch process in FIG. 29;

【図34】図28における受信処理のフローチャート。FIG. 34 is a flowchart of a reception process in FIG. 28;

【図35】図28におけるMIDI処理のフローチャー
ト。
FIG. 35 is a flowchart of the MIDI processing in FIG. 28;

【図36】図35におけるMIDIIN処理のフローチ
ャート。
FIG. 36 is a flowchart of a MIDIIN process in FIG. 35;

【図37】図35におけるMIDIOUT処理のフロー
チャート。
FIG. 37 is a flowchart of a MIDIOUT process in FIG. 35;

【図38】図28におけるガイド信号生成処理のフロー
チャート。
FIG. 38 is a flowchart of a guide signal generation process in FIG. 28;

【図39】図38におけるガイドA処理のフローチャー
ト。
FIG. 39 is a flowchart of a guide A process in FIG. 38;

【図40】図39に続くガイドA処理のフローチャー
ト。
FIG. 40 is a flowchart of the guide A process following FIG. 39;

【図41】図40に続くガイドA処理のフローチャー
ト。
FIG. 41 is a flowchart of the guide A process following FIG. 40;

【図42】図41に続くガイドA処理のフローチャー
ト。
FIG. 42 is a flowchart of the guide A process following FIG. 41;

【図43】図39に続くガイドA処理のフローチャー
ト。
FIG. 43 is a flowchart of the guide A process following FIG. 39;

【図44】図38におけるガイドB処理のフローチャー
ト。
FIG. 44 is a flowchart of a guide B process in FIG. 38.

【図45】図44に続くガイドB処理のフローチャー
ト。
FIG. 45 is a flowchart of the guide B process following FIG. 44;

【図46】第2実施形態における鍵盤装置のメインフロ
ーチャート。
FIG. 46 is a main flowchart of the keyboard device according to the second embodiment.

【図47】図46におけるスイッチ処理のフローチャー
ト。
FIG. 47 is a flowchart of the switch processing in FIG. 46.

【図48】図47におけるガイド用チャンネル設定スイ
ッチ処理のフローチャート。
48 is a flowchart of a guide channel setting switch process in FIG. 47.

【図49】図47におけるベロシティ設定スイッチ処理
のフローチャート。
FIG. 49 is a flowchart of velocity setting switch processing in FIG. 47;

【図50】図46におけるMIDI処理のフローチャー
ト。
FIG. 50 is a flowchart of the MIDI processing in FIG. 46;

【図51】図50におけるMIDIIN処理のフローチ
ャート。
FIG. 51 is a flowchart of a MIDIIN process in FIG. 50;

【図52】図50におけるMIDIOUT処理のフロー
チャート。
FIG. 52 is a flowchart of a MIDIOUT process in FIG. 50;

【図53】図46における鍵ガイド処理のフローチャー
ト。
FIG. 53 is a flowchart of a key guide process in FIG. 46;

【図54】図46における押鍵処理のフローチャート。FIG. 54 is a flowchart of a key pressing process in FIG. 46.

【図55】図46における発音指示処理のフローチャー
ト。
FIG. 55 is a flowchart of a sounding instruction process in FIG. 46;

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

11 CPU 19 キーボード 20 LED 21 FDD 11 CPU 19 Keyboard 20 LED 21 FDD

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 曲の演奏をするための複数の操作子と、 各操作子に対応して設けられ点灯信号によって発光する
発光手段と、 前記操作子の演奏に係るパート及び自動演奏に係る他の
パートからなる複数のパートで構成され各パートにおけ
る発音のイベントデータに音高データ及び発音タイミン
グの時間データを含む曲データを入力するデータ入力手
段と、 このデータ入力手段によって入力された前記操作子の演
奏に係るパートの発音のイベントデータの音高データに
応じて前記点灯信号を発生し当該音高データに係る操作
子に対応する発光手段を発光させ所定時間にわたって演
奏をガイドする発光制御手段と、 前記データ入力手段によって入力された前記他のパート
の発音のイベントデータを当該イベントデータの発音タ
イミングから少なくとも前記所定時間だけ遅延させるデ
ータ遅延手段と、 前記発光制御手段による演奏ガイドに応じて前記操作子
の演奏による発音操作がされたときに発音のイベントデ
ータを発生するデータ発生手段と、 前記データ遅延手段によって遅延された前記他のパート
の発音のイベントデータを所定の音源手段に出力すると
ともに、前記データ発生手段によって発生された発音の
イベントデータを当該イベントデータの発音タイミング
で前記所定の音源手段に出力するデータ出力手段と、 を備えたことを特徴とする演奏教習装置。
1. A plurality of controls for playing music, a light emitting means provided corresponding to each control and emitting light by a lighting signal, a part related to the performance of the controls and other related to automatic performance Data input means for inputting music data including pitch data and time data of sound generation timing to sound generation event data of each part, and the operation element input by the data input means Light-emitting control means for generating the lighting signal in accordance with the pitch data of the event data of the sounding of the part related to the performance of the part, lighting the light-emitting means corresponding to the operator associated with the pitch data, and guiding the performance for a predetermined time; The event data of the sound of the other part input by the data input means may be slightly less than the sounding timing of the event data. Data delay means for delaying by the predetermined time, data generation means for generating sounding event data when a sounding operation is performed by playing the operation element in accordance with a performance guide by the light emission control means, Means for outputting the sound event data of the other part delayed by the means to a predetermined sound source means, and outputting the sound event data generated by the data generation means to the predetermined sound source means at the sound generation timing of the event data. A performance training device, comprising: data output means for outputting.
【請求項2】 演奏装置と演奏制御装置との間で通信を
行って演奏の教習を行う演奏教習装置であって、 前記演奏制御装置は、 前記演奏装置の操作子の演奏に係るパート及び自動演奏
に係る他のパートからなる複数のパートで構成され各パ
ートにおける発音のイベントデータに音高データ及び発
音タイミングの時間データを含む曲データを記憶する記
憶手段と、 前記操作子の演奏に係るパートの発音のイベントデータ
を当該イベントデータの発音タイミングで読み出し、前
記他のパートの発音のイベントデータを当該イベントデ
ータの発音タイミングから所定時間だけ遅延させて読み
出すデータ読出手段と、このデータ読出手段によって読
み出された前記操作子の演奏に係るパート及び前記他の
パートの曲データを前記演奏装置に送信するデータ送信
手段と、 を備え、 前記演奏装置は、 曲の演奏を行うための複数の操作子と、 各操作子に対応して設けられ点灯信号に応じて発光する
発光手段と、 前記データ送信手段から送信された前記曲データを受信
するデータ受信手段と、 このデータ受信手段が前記操作子の演奏に係るパートの
発音のイベントデータを受信したときは当該イベントデ
ータの音高データに応じて前記点灯信号を発生し当該音
高データに係る操作子に対応する発光手段を発光させ前
記所定時間内において演奏をガイドする発光制御手段
と、 この発光制御手段による演奏ガイドに応じて前記操作子
の演奏による発音操作がされたときに発音のイベントデ
ータを発生するデータ発生手段と、 前記データ受信手段によって受信された前記他のパート
の発音のイベントデータを所定の音源手段に出力すると
ともに、前記データ発生手段によって発生された発音の
イベントデータを前記所定の音源手段に出力するデータ
出力手段と、 を備えたことを特徴とする演奏教習装置。
2. A performance training device for performing a performance lesson by performing communication between a performance device and a performance control device, wherein the performance control device comprises: a part relating to the performance of an operator of the performance device; A storage unit configured to store music data including pitch data and time data of sounding timing in sounding event data of each part, including a plurality of parts including other parts related to the performance; Data reading means for reading out the sounding event data of the other part at the sounding timing of the event data, and reading out the sounding event data of the other part with a delay of a predetermined time from the sounding timing of the event data. The data for transmitting the music data of the part related to the performance of the operation element and the music data of the other part to the performance device. A plurality of operators for performing music, a light emitting unit provided corresponding to each of the operators and emitting light in response to a lighting signal, and the data transmission unit. Data receiving means for receiving the music data transmitted from the means, and when the data receiving means receives event data of the sounding of the part related to the performance of the operating element, the data receiving means responds to the pitch data of the event data. A light-emitting control means for generating a lighting signal and causing a light-emitting means corresponding to the manipulator related to the pitch data to emit light, thereby guiding the performance within the predetermined time; and playing the manipulator according to the performance guide by the light-emission control means. A data generating means for generating sounding event data when a sounding operation is performed by the user; and a sounding event of the other part received by the data receiving means. Outputs the over data in a predetermined tone generator, musical performance training device characterized by comprising a data output means for outputting event data pronunciation generated in said predetermined tone generator by the data generating means.
【請求項3】 通信回線を介して外部装置と接続する通
信制御手段をさらに備え、この通信制御手段によって前
記外部装置から前記曲データを受信することを特徴とす
る請求項1又は2に記載の演奏教習装置。
3. The apparatus according to claim 1, further comprising communication control means for connecting to an external device via a communication line, wherein the communication control means receives the music data from the external device. Performance training equipment.
【請求項4】 前記発光手段は、異なる発光色で発光す
る発光素子を有し、前記発光制御手段は、前記読み出さ
れたイベントデータのベロシティデータが所定値以上で
あるか否かを判別し、その判別結果に応じた発光色の発
光素子を発光させる点灯信号を発生することを特徴とす
る請求項1〜3のいずれかに記載の演奏教習装置。
4. The light-emitting device has a light-emitting element that emits light of different emission colors, and the light-emission control device determines whether or not the velocity data of the read event data is a predetermined value or more. The performance training device according to any one of claims 1 to 3, wherein a lighting signal for causing a light emitting element of a light emitting color to emit light in accordance with a result of the determination is generated.
【請求項5】 複数の操作子の演奏に係るパート及び自
動演奏に係る他のパートからなる複数のパートで構成さ
れ各パートにおける発音のイベントデータに音高データ
及び発音タイミングの時間データを含む曲データを入力
するデータ入力手順と、 このデータ入力手順によって入力された前記操作子の演
奏に係るパートの発音のイベントデータの音高データに
応じて前記点灯信号を発生し当該音高データに係る操作
子に対応する発光手段を発光させ所定時間にわたって演
奏をガイドする発光制御手順と、 前記データ入力手順によって入力された前記他のパート
の発音のイベントデータを当該イベントデータの発音タ
イミングから少なくとも前記所定時間だけ遅延させるデ
ータ遅延手順と、 前記発光制御手順による演奏ガイドに応じて前記操作子
の演奏による発音操作がされたときに発音のイベントデ
ータを発生するデータ発生手順と、 前記データ遅延手順によって遅延された前記他のパート
の発音のイベントデータを所定の音源手段に出力すると
ともに、前記データ発生手順によって発生された発音の
イベントデータを当該イベントデータの発音タイミング
で前記所定の音源手段に出力するデータ出力手順と、 を実行する演奏教習処理プログラムを記録した記録媒
体。
5. A tune composed of a plurality of parts consisting of a plurality of parts related to the performance of a plurality of operators and other parts related to an automatic performance, wherein the sound generation event data of each part includes pitch data and time data of sound generation timing. A data input procedure for inputting data, and an operation related to the pitch data generated by generating the lighting signal in accordance with the pitch data of the event data of the sounding of the part related to the performance of the operator input by the data input procedure. A light emission control procedure for causing the light emitting means corresponding to the child to emit light to guide the performance for a predetermined time; A data delay procedure for delaying only the data, and the operation according to a performance guide according to the light emission control procedure. A data generation procedure for generating sounding event data when a sounding operation is performed by the performance of the child; and outputting the sounding event data of the other part delayed by the data delaying procedure to a predetermined sound source means. A data output step of outputting the event data of the sound generated by the data generating step to the predetermined sound source means at a sound generation timing of the event data;
【請求項6】 曲の演奏を行うための複数の操作子と、 各操作子に対応して設けられ点灯信号に応じて発光する
発光手段と、 前記操作子の演奏に係るパート及び自動演奏に係る他の
パートからなる複数のパートで構成され各パートにおけ
る発音のイベントデータに音高データ及び発音タイミン
グの時間データを含む曲データを受信するデータ受信手
段と、 このデータ受信手段が前記操作子の演奏に係るパートの
発音のイベントデータを受信したときは当該イベントデ
ータの音高データに応じて前記点灯信号を発生し当該音
高データに係る操作子に対応する発光手段を発光させ所
定時間にわたって演奏をガイドする発光制御手段と、 この発光制御手段による演奏ガイドに応じて前記操作子
の演奏による発音操作がされたときに発音のイベントデ
ータを発生するデータ発生手段と、 前記データ受信手段によって受信された前記他のパート
の発音のイベントデータを所定の音源手段に出力すると
ともに、前記データ発生手段によって発生された発音の
イベントデータを前記所定の音源手段に出力するデータ
出力手段と、 を備えた演奏装置との間で通信を行う演奏制御装置によ
って実行されるプログラムを記録した記録媒体であっ
て、 前記演奏装置に送信する前記曲データを入力するデータ
入力手順と、 このデータ入力手順によって入力された前記曲データを
所定の記憶手段に記憶する記憶手順と、 前記操作子の演奏に係るパートの発音のイベントデータ
を当該イベントデータの発音タイミングで前記記憶手段
から読み出し、前記他のパートの発音のイベントデータ
を当該イベントデータの発音タイミングから少なくとも
前記所定時間だけ遅延させて前記記憶手段から読み出す
データ読出手順と、 このデータ読出手順によって読み出された前記操作子の
演奏に係るパート及び前記他のパートの曲データを前記
演奏装置に送信するデータ送信手順と、 を有する演奏教習処理プログラムを記録した記録媒体。
6. A plurality of controls for performing music, a light emitting means provided corresponding to each control and emitting light in response to a lighting signal, a part related to the performance of the control and automatic performance. A data receiving unit configured to receive song data including pitch data and time data of a sounding timing in sounding event data of each of the plurality of parts including the other parts; and When the event data of the sound of the part related to the performance is received, the lighting signal is generated in accordance with the pitch data of the event data, and the light emitting means corresponding to the operator corresponding to the pitch data is made to emit light, and the performance is performed for a predetermined time. A light emission control means for guiding a sound, and a sound generation event when a sounding operation is performed by playing the operation element according to a performance guide by the light emission control means. Data generating means for generating data; outputting the sound event data of the other part received by the data receiving means to a predetermined sound source means; and outputting the sound event data generated by the data generating means. A data output unit for outputting to the predetermined sound source unit; and a recording medium that records a program executed by a performance control device that communicates with a performance device including: the music piece to be transmitted to the performance device. A data input procedure for inputting data; a storage procedure for storing the music data input in the data input procedure in a predetermined storage means; At the sounding timing, the data is read from the storage means, and the event data of the sounding of the other part is stored in the event data. A data reading procedure for reading from the storage means with at least the predetermined time delay from the sounding timing of the musical instrument, and music data of the part related to the performance of the operator and the music data of the other part read out by the data reading procedure. A data transmission procedure for transmitting to a device, and a recording medium recording a performance training processing program having the following.
【請求項7】 前記演奏教習処理プログラムにおいて、
通信制御手段によって通信回線を介して接続した外部装
置から前記曲データを受信する手順をさらに有すること
を特徴とする請求項5又は6に記載の記録媒体。
7. In the performance training processing program,
7. The recording medium according to claim 5, further comprising a step of receiving the music data from an external device connected via a communication line by a communication control unit.
JP11081679A 1999-03-19 1999-03-25 Performance learning device and recording medium recording performance learning processing program Abandoned JP2000276147A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP11081679A JP2000276147A (en) 1999-03-25 1999-03-25 Performance learning device and recording medium recording performance learning processing program
US09/526,335 US6245983B1 (en) 1999-03-19 2000-03-15 Performance training apparatus, and recording mediums which prestore a performance training program
EP00105470A EP1039430A3 (en) 1999-03-19 2000-03-15 Performance training apparatus, and recording mediums which prestore a performance training program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11081679A JP2000276147A (en) 1999-03-25 1999-03-25 Performance learning device and recording medium recording performance learning processing program

Publications (1)

Publication Number Publication Date
JP2000276147A true JP2000276147A (en) 2000-10-06

Family

ID=13753054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11081679A Abandoned JP2000276147A (en) 1999-03-19 1999-03-25 Performance learning device and recording medium recording performance learning processing program

Country Status (1)

Country Link
JP (1) JP2000276147A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11854521B2 (en) 2019-12-23 2023-12-26 Casio Computer Co., Ltd. Electronic musical instruments, method and storage media
US11996082B2 (en) 2019-12-23 2024-05-28 Casio Computer Co., Ltd. Electronic musical instruments, method and storage media

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11854521B2 (en) 2019-12-23 2023-12-26 Casio Computer Co., Ltd. Electronic musical instruments, method and storage media
US11996082B2 (en) 2019-12-23 2024-05-28 Casio Computer Co., Ltd. Electronic musical instruments, method and storage media

Similar Documents

Publication Publication Date Title
US6346666B1 (en) Apparatus and method for practice and evaluation of musical performance of chords
JP4107107B2 (en) Keyboard instrument
JP2001312280A (en) Electronic musical instrument
JP3788085B2 (en) Performance learning apparatus and recording medium on which performance learning processing program is recorded
EP1039430A2 (en) Performance training apparatus, and recording mediums which prestore a performance training program
JPH08339193A (en) Karaoke machine
JP2000276147A (en) Performance learning device and recording medium recording performance learning processing program
JP3577561B2 (en) Performance analysis apparatus and performance analysis method
JP3695208B2 (en) Performance learning apparatus and recording medium on which performance learning processing program is recorded
CN108789433A (en) Robot control method, device and system
US20240021180A1 (en) Electronic musical instrument, electronic musical instrument control method, and program
JP2003108126A (en) Electronic musical instrument
JPS6318752B2 (en)
JP4802947B2 (en) Performance method determining device and program
JP2001100746A (en) Automatic performing device and recording medium recording program of automatic performance processing
JP2570045B2 (en) Electronic musical instrument
WO2023182005A1 (en) Data output method, program, data output device, and electronic musical instrument
JPH04301690A (en) Automatic player
JPH01179087A (en) Automatic playing device
JP2639381B2 (en) Electronic musical instrument
JP4214845B2 (en) Automatic arpeggio device and computer program applied to the device
JP2004077521A (en) Playing information preparation device, playing information recording device, and keyboard musical instrument
JP2003114680A (en) Apparatus and program for musical sound information editing
JPH03103472U (en)
JP2000003175A (en) Musical tone forming method, musical tone data forming method, musical tone waveform data forming method, musical tone data forming method and memory medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050322

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20050512