JP2836028B2 - Automatic performance device - Google Patents

Automatic performance device

Info

Publication number
JP2836028B2
JP2836028B2 JP2241458A JP24145890A JP2836028B2 JP 2836028 B2 JP2836028 B2 JP 2836028B2 JP 2241458 A JP2241458 A JP 2241458A JP 24145890 A JP24145890 A JP 24145890A JP 2836028 B2 JP2836028 B2 JP 2836028B2
Authority
JP
Japan
Prior art keywords
automatic performance
event data
timing
sound source
tone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2241458A
Other languages
Japanese (ja)
Other versions
JPH04120595A (en
Inventor
克彦 小畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
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 KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP2241458A priority Critical patent/JP2836028B2/en
Publication of JPH04120595A publication Critical patent/JPH04120595A/en
Application granted granted Critical
Publication of JP2836028B2 publication Critical patent/JP2836028B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子楽器のシーケンサ等の自動演奏装置に
関する。
The present invention relates to an automatic performance device such as a sequencer of an electronic musical instrument.

〔従来の技術〕[Conventional technology]

コンピュータ技術を利用した電子楽器においては、マ
イクロコンピュータ(マイコン、、以下同じ)がROM等
に記憶されている音源処理用のプログラムを実行するこ
とにより音色設定スイッチ等の各種スイッチの設定状態
や鍵盤部等から出力される演奏情報に基づいて楽音の発
音動作を行う。
In an electronic musical instrument using computer technology, a microcomputer (microcomputer; hereinafter the same) executes a sound source processing program stored in a ROM or the like to set various switches such as a tone setting switch and a keyboard portion. The tone generation operation is performed on the basis of the performance information output from the device.

この場合、マイコンは、プログラムに従って、どの鍵
盤がキーオン又はキーオフしているかをスキャンする処
理、どの音色設定スイッチ等が押されたかをスキャンす
る処理、これらの処理結果に対応する楽音を発音・消音
する処理等を、順番にかつ繰り返して実行する。このよ
うに繰り返し実行される命令群は一般にメインルーチン
と呼ばれる。そして、メインルーチンの1周の処理に要
する時間は、キーオン/キーオフの鍵数又は種々のスイ
ッチの操作数等によって変化するが、最長で70msec(ミ
リ秒)程度である。
In this case, according to the program, the microcomputer scans which key is turned on or off, scans which tone setting switch or the like is pressed, and emits or silences a tone corresponding to the processing result. The processing and the like are executed sequentially and repeatedly. Instructions that are repeatedly executed in this manner are generally called a main routine. The time required for one round of processing of the main routine varies depending on the number of key-on / key-off keys or the number of operations of various switches, but is at most about 70 msec (millisecond).

従って、マイコンは、上述の一連の音源処理を、演奏
者が鍵盤楽器等を操作する動作に十分追従しながら実行
することができる。
Accordingly, the microcomputer can execute the above-described series of sound source processes while sufficiently following the operation of the player operating the keyboard instrument or the like.

ところで最近では、自動演奏又は自動演奏の機能を有
する電子鍵盤楽器も数多く実現されている。自動演奏の
機能は、市販のROM等に記憶されている又は演奏者が予
めRAM等に記憶させたノートオン/ノートオフ等のイベ
ントを発生させるための演奏データ(以下、イベントデ
ータと呼ぶ)を、それと対に記憶されているタイムデー
タに対応する時間タイミングで順次読み出し、そのイベ
ントデータに基づいて発音・消音処理を実行することに
より実現される。この場合のタイムデータは、自動演奏
される各音符の音符長(全音符、2分音符、4分音符、
8分音符、16分音符、32分音符等)に対応している。そ
して、上述のような自動演奏データ(イベントデータと
タイムデータ)の再生処理も、前述のメインルーチンの
一部の処理として実現される。
Recently, many automatic keyboard instruments having an automatic performance or an automatic performance function have been realized. The function of automatic performance is to store performance data (hereinafter referred to as event data) for generating an event such as note-on / note-off stored in a commercially available ROM or the like or stored in a RAM or the like in advance by a player. , And is sequentially read out at a time timing corresponding to the time data stored in the pair, and the sound generation / mute processing is executed based on the event data. The time data in this case is the note length of each note to be automatically played (whole note, half note, quarter note,
8th note, 16th note, 32nd note, etc.). The above-described reproduction processing of the automatic performance data (event data and time data) is also realized as a part of the main routine.

ここで、時間タイミングを計る処理は、イベントデー
タの読み出し毎に設定されるタイムデータと、ハードウ
エアのタイマからのタイマインタラプトによってメイン
ルーチンの動作とは独立にカウントアップされるタイマ
値とを比較することにより、各タイムデータに対応する
時間が経過したか否かを判別する処理である。そしてこ
の処理は、前述したメインルーチンの1周に要する最大
時間70msec程度を最長間隔として実行される。
Here, the process of measuring the time timing compares the time data set each time the event data is read with a timer value that is counted up independently of the operation of the main routine by a timer interrupt from a hardware timer. This is a process for determining whether or not the time corresponding to each time data has elapsed. This processing is executed with the maximum time required for one round of the main routine being about 70 msec as the longest interval.

今、16分音符に対応する楽音信号が連続して自動演奏
されるような場合を考える。この場合、自動演奏データ
として記憶されるタイムデータは、音符の種類に応じて
規定され、例えば、16分音符なら“1"、8分音符なら
“2"、4分音符なら“4"、2分音符なら“8"の如くであ
る。
Now, consider a case where a musical tone signal corresponding to a sixteenth note is automatically played continuously. In this case, the time data stored as the automatic performance data is defined according to the type of note. For example, "1" for a 16th note, "2" for an eighth note, "4" for a quarter note, "2" A minute note is like "8".

上述の場合において、自動演奏が、例えば4分音符が
1分間に60回発音されるテンポで行われるとすれば、第
8図(a)及び(c)に示されるように、16分音符の各
音符F4、A4、G4等は、(60秒/60回)×(4/16)=250ms
ec間隔で発音される。このとき、タイマインタラプト
は、第8図(d)のように、259msecに1回の割合で発
生し、前述のタイマ値はその割合で+1ずつ増加する。
そして、時間タイミングを計る処理では、タイマ値が前
回の発音時以降各タイムデータに対応する値“1"だけカ
ウントされたか否かが判別され、これに基づいて次のイ
ベントデータに基づく発音動作が行われる。この場合、
時間タイミングを計る処理は前述したように最長で70ms
ec間隔で実行されるため、実際の発音タイミングも目標
とするタイミングから最長で70msec程度遅延することは
あるが、そのずれの範囲内でほぼ目標とするタイミング
で自動演奏が実現される。すなわち、メインルーチン上
の時間タイミングを計る処理は第8図(e)の“↑”で
示されるようなタイミングで実行される。そして、第8
図(e)のF4、A4、G4等の記号が付された“↑”のタイ
ミングで、タイマ値が前回の発音時以降各タイムデータ
に対応する値“1"だけカウントされたことが検出され、
イベントデータに対応する楽音が発音される。
In the above case, if the automatic performance is performed at a tempo in which quarter notes are emitted 60 times per minute, for example, as shown in FIGS. 8 (a) and 8 (c), each note F 4, A 4, G 4, etc., (60 seconds / 60 times) × (4/16) = 250ms
pronounced at ec intervals. At this time, the timer interrupt occurs once every 259 msec as shown in FIG. 8 (d), and the above-mentioned timer value increases by +1 at that rate.
Then, in the process of measuring the time timing, it is determined whether or not the timer value has been counted by a value “1” corresponding to each time data since the previous sounding, and based on this, the sounding operation based on the next event data is performed. Done. in this case,
Time timing processing is up to 70ms as described above
Since the execution is performed at the ec interval, the actual tone generation timing may be delayed up to about 70 msec from the target timing, but the automatic performance is realized at the target timing substantially within the deviation range. That is, the processing for measuring the time timing in the main routine is executed at the timing indicated by “↑” in FIG. 8 (e). And the eighth
At the timing of “↑” with symbols such as F 4 , A 4 , G 4 in FIG. 9E, the timer value has been counted by the value “1” corresponding to each time data since the previous tone generation. Is detected,
A tone corresponding to the event data is generated.

〔発明が解決しようとする課題〕 一方、上述の従来例において、自動演奏される楽音の
再生テンポを上げた場合、以下のような問題点が生じ
る。
[Problems to be Solved by the Invention] On the other hand, in the above-mentioned conventional example, when the reproduction tempo of the automatically played musical tone is increased, the following problems occur.

すなわち、自動演奏が、例えば4分音符が1分間に25
5回発音されるテンポで行われるとすれば、第9図
(a)及び(c)に示されるように、16分音符の各音符
F4、A4、G4、・・・は、(60秒/255回)×(4/16)≒59
msec間隔で発音される。このとき、タイマインタラプト
は、第9図(d)のように59msecに1回の割合で発生
し、前述のタイマ値はその割合で+1ずつ増加する。し
かし、時間タイミングを計る処理は前述したように最長
で70msec間隔で実行されるため処理が追いつかない場合
が頻繁に生じ、第9図(a)と(e)を比較するとわか
るように、ROM等から読み出されたイベントデータの発
音タイミングが各々の目標とする発音タイミングから累
積的に遅れていってしまって、聴くに耐えない演奏にな
ってしまうという問題点を有している。
That is, the automatic performance is performed, for example, quarter notes are 25 minutes per minute.
If performed at a tempo that is pronounced five times, as shown in FIGS. 9 (a) and 9 (c), each of the sixteenth notes
F 4 , A 4 , G 4 , ... are (60 seconds / 255 times) x (4/16) ≒ 59
It is pronounced at msec intervals. At this time, the timer interrupt occurs once every 59 msec as shown in FIG. 9 (d), and the above-mentioned timer value increases by +1 at that rate. However, as described above, since the processing for measuring the time timing is executed at intervals of 70 msec at the longest, it often occurs that the processing cannot catch up. As can be seen from a comparison between FIGS. There is a problem that the sounding timing of the event data read out from the program accumulatively lags behind the respective target sounding timings, resulting in a performance that is unbearable for listening.

本発明の課題は、再生テンポを上げても聴き苦しさの
少ない自動演奏を実現することにある。
An object of the present invention is to realize an automatic performance with less listening difficulty even if the reproduction tempo is increased.

〔課題を解決するための手段〕[Means for solving the problem]

本発明は、自動演奏記憶手段から、音源における楽音
の発音動作を制御するためのイベントデータを、それと
対に記憶されているタイムテーブルを読み出しながらそ
のタイムデータに応じたタイミングで順次読み出し、そ
のイベントデータに基づき音源に発音制御指示を行う自
動演奏制御処理を、一連の処理からなるメインルーチン
の一部の処理として繰り返し実行することにより、音源
に自動演奏を行わせる自動演奏装置を前提とする。
According to the present invention, event data for controlling a tone generation operation of a musical tone in a sound source is sequentially read from an automatic performance storage means at a timing according to the time data while reading a time table stored therewith. It is assumed that an automatic performance device that causes a sound source to perform an automatic performance by repeatedly executing an automatic performance control process of instructing a sound source based on data as a part of a main routine consisting of a series of processes.

そして、まず、自動演奏の開始時から、任意に設定さ
れたテンポに基づく周期でカウントアップするタイマ値
を記憶するタイマ値記憶手段を有する。このタイマ値
は、例えば任意に設定されたテンポに基づく周期で動作
するハードウエアのタイマからの割り込みにより、+1
ずつカウントアップされる。
First, there is provided a timer value storing means for storing a timer value that counts up at a cycle based on an arbitrarily set tempo from the start of the automatic performance. This timer value is incremented by +1 by, for example, an interrupt from a hardware timer that operates at a cycle based on an arbitrarily set tempo.
Counts up by one.

更に、前記自動演奏制御処理は、以下のような第1〜
第6の処理からなる。
Further, the automatic performance control process includes the following first to first steps.
It consists of a sixth process.

すなわち、自動演奏制御処理は、前述のタイマ値が現
在自動演奏記憶手段から読み出されているタイムデータ
以上となったか否かを判定し、その判定が真の場合に以
下の第2〜第6の処理を実行し、その判定が偽の場合に
今回のタイミングの処理を終了する第1の処理を実行す
る。
That is, the automatic performance control process determines whether or not the above-described timer value is equal to or greater than the time data currently read from the automatic performance storage means. If the determination is true, the following second to sixth steps are performed. Is performed, and if the determination is false, a first process for ending the process at the current timing is performed.

また、自動演奏制御処理は、第1の処理の判定が真と
なった場合に実行され、前述のタイマ値から前述のタイ
ムデータを減算した値を新たなタイマ値とする第2の処
理を実行する。
The automatic performance control processing is executed when the determination of the first processing is true, and the second processing is performed in which a value obtained by subtracting the time data from the timer value is set as a new timer value. I do.

また、自動演奏制御処理は、第1の処理の判定が真と
なった場合に実行され、自動演奏記憶手段から新たなイ
ベントデータを読み出す第3の処理を実行する。
The automatic performance control process is executed when the determination of the first process is true, and executes a third process of reading out new event data from the automatic performance storage means.

また、自動演奏制御処理は、第1の処理の判定が真と
なった場合に実行され、読み出されたイベントデータに
基づいて音源に発音制御指示を行う第4の処理を実行す
る。
The automatic performance control process is executed when the determination of the first process is true, and executes a fourth process of instructing the sound source to generate sound based on the read event data.

更に、自動演奏制御処理は、第4の処理の終了後、第
2の処理に基づく新たなタイマ値と第3の処理に基づく
新たなイベントデータについて前述の第1の処理を繰り
返す第5の処理を実行する。
Further, in the automatic performance control process, after the end of the fourth process, a fifth process of repeating the above-described first process for a new timer value based on the second process and new event data based on the third process. Execute

そして、自動演奏制御処理は、今回のタイミングにお
いて、任意の楽音の発音を指示するイベントデータとそ
の楽音の消音を指示するイベントデータとが自動演奏記
憶手段から続けて読み出された場合に、前述の第4の処
理を実行せずに音源に対してその楽音の発音制御指示を
行わないように制御を行う第6の処理を実行する。
Then, the automatic performance control processing is performed when the event data instructing the sounding of an arbitrary musical tone and the event data instructing the silencing of the musical tone are successively read from the automatic performance storing means at the current timing. A sixth process for controlling the sound source so as not to issue a tone generation control instruction to the sound source without executing the fourth process of the above is executed.

〔作用〕[Action]

自動演奏制御処理は、一連の処理からなるメインルー
チンの一部の処理として繰り返し実行することにより、
音源の自動演奏を行わせようなタイプの自動演奏装置に
おいて、ユーザがテンポを速くするように設定を行った
場合、自動演奏制御処理の繰り返しが、テンポに追いつ
かなくなる場合が発生し得る。
The automatic performance control process is repeatedly executed as a part of a main routine consisting of a series of processes,
In an automatic performance device of a type in which a sound source is automatically performed, if the user sets the tempo to be faster, the repetition of the automatic performance control process may not be able to catch up with the tempo.

このような場合、タイマ値記憶手段上のタイマ値は、
現在のタイムデータの値よりテンポに応じて進んだ値と
なる。
In such a case, the timer value in the timer value storage means is
The value advances according to the tempo from the current time data value.

これに対して、自動演奏制御処理は、第2の処理を実
行する毎にタイマ値から現在のタイムデータを差し引
き、その新たなタイマ値に基づいて次のタイミング制御
を行うことにより、自動演奏制御処理の繰り返しがテン
ポより遅れた分だけ自動演奏のタイミングが早められ
る。
On the other hand, in the automatic performance control processing, the current time data is subtracted from the timer value every time the second processing is executed, and the next timing control is performed based on the new timer value, thereby performing the automatic performance control processing. The timing of the automatic performance is advanced by an amount corresponding to the delay of the repetition of the processing from the tempo.

そして、自動演奏制御処理は、今回のメインルーチン
上の繰り返しタイミングにおいて、上述の新たなタイマ
値が依然として1回のイベントデータの処理の後に新た
に読み出されたタイムデータ以上の場合には、自動演奏
記憶手段からイベントデータを読み出す処理を繰り返
す。そして、この場合、自動演奏制御処理は、今回のタ
イミングにおいて、任意の楽音の発音を指示するイベン
トデータとその楽音の消音を指示するイベントデータと
が自動演奏記憶手段から続けて読み出された場合に、音
源に対してその楽音の発音制御指示を行わないように制
御を行う。このような制御処理により、テンポより遅れ
た分のイベントデータが適宜キャンセルされ、遅れた分
の発音は行われない。
In the automatic performance control process, if the above-mentioned new timer value is still equal to or longer than the newly read time data after one event data process at the repetition timing in this main routine, The process of reading event data from the performance storage means is repeated. In this case, the automatic performance control processing is performed when the event data instructing the sounding of an arbitrary musical tone and the event data instructing the silencing of the musical tone are successively read from the automatic performance storing means at the current timing. Then, control is performed so that the tone generation control instruction for the musical tone is not issued to the sound source. By such control processing, the event data delayed from the tempo is appropriately canceled, and the delayed sound is not generated.

以上のようにして、再生テンポを上げても聴き苦しさ
の少ない自動演奏が実現される。
As described above, even if the reproduction tempo is increased, an automatic performance with less listening difficulty is realized.

〔実施例〕〔Example〕

以下、図面を参照しながら本発明の実施例につき説明
する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.

構 成 第1図は、本発明の実施例のブロック図である。Configuration FIG. 1 is a block diagram of an embodiment of the present invention.

演奏者は、鍵盤104を使用して演奏を行うが、その演
奏により鍵盤104から発生される演奏情報は、マイコン1
01に取り込まれる。また、演奏者は、音色キー108で音
色指定を行い、録音キー109で自動演奏の録音開始指示
を行い、スタート/ストップキー110で自動演奏の録音
停止(録音中の場合)、自動演奏の再生開始(再生中で
ない場合)又は再生停止(再生中の場合)の指示を行
う。また、演奏者は、テンポアップキー111又はテンポ
ダウンキー112を操作することにより自動演奏のテンポ
を速めたり遅めたりする。
The performer performs a performance using the keyboard 104, and the performance information generated from the keyboard 104 by the performance is the microcomputer 1
Captured in 01. The performer designates a tone with the tone key 108, gives an instruction to start recording of the automatic performance with the recording key 109, stops recording of the automatic performance with the start / stop key 110 (when recording), and plays the automatic performance. An instruction to start (when not playing) or stop playing (when playing) is given. Further, the player operates the tempo up key 111 or the tempo down key 112 to increase or decrease the tempo of the automatic performance.

上述の各操作に対して、マイコン101は、RAM105をワ
ークメモリとしてROM102に記憶された音源処理プログラ
ムを実行することにより、各部の操作状態を識別し、音
源106にノートオン/ノートオフのほか各種の音源制御
データを音源106にセットする。また、マイコン101は、
RAM105に記憶された自動演奏データを再生し、音源106
に対応する音源制御データを順次セットする。
For each of the above-mentioned operations, the microcomputer 101 executes the sound source processing program stored in the ROM 102 with the RAM 105 as a work memory, thereby identifying the operation state of each part, and instructing the sound source 106 to perform note-on / note-off and various other operations. Is set in the sound source 106. Also, the microcomputer 101
Plays back the automatic performance data stored in the RAM 105 and
Are sequentially set.

以上のマイコン101での動作に対応して、音源106は、
スピーカ107等を介して、対応する楽音を発音する。
In response to the above operation of the microcomputer 101, the sound source 106
A corresponding musical tone is generated via the speaker 107 or the like.

メインルーチンの動作 次に、第1図のマイコ101によって実行される音源処
理プログラムのメインルーチンの動作フローチャートを
示す。
Operation of Main Routine Next, an operation flowchart of the main routine of the sound source processing program executed by Myco 101 in FIG. 1 is shown.

まず、第1図では特には図示しない音源スイッチがオ
ンされると、音源処理において使用されるRAM105上のワ
ーク領域がイニシャライズされる(S201)。
First, when a sound source switch (not shown in FIG. 1) is turned on, a work area on the RAM 105 used for sound source processing is initialized ( S201 ).

次に、S202以下の処理がメインルーチンの操り返し部
分であり、この部分で表される処理がマイコン101によ
って繰り返し実行されることにより、演奏者の鍵盤演奏
又は自動演奏に基づく発音制御動作が実行される。この
メインルーチンの1周の処理に要する時間は、〔従来の
技術〕の項で説明したように、最長で70msec(ミリ秒)
程度である。
Next, the following processing S 202 is manipulation-back portion of the main routine, by processing represented by this part is repeatedly performed by the microcomputer 101, the tone generation control operation based on the keyboard performance or automatic performance of the player Be executed. The time required for one round of processing of this main routine is 70 msec (millisecond) at the maximum as described in the section of [Prior Art].
It is about.

まず、鍵盤スキャン処理(S202)では、鍵盤104の各
鍵が押鍵されたか否か、ならびに押鍵された鍵のイニシ
ャルタッチ、アフタータッチ等が検出される。
First, in the keyboard scanning process ( S202 ), it is detected whether each key of the keyboard 104 has been pressed, and an initial touch, an after touch, and the like of the pressed key are detected.

発音・消音処理(S202)では、演奏者による鍵操作に
基づいて、音源106に対応するノートナンバーの楽音の
発音を指示する処理、音源106対応するノートナンバー
の楽音の消音を指示する処理等が行われる。
In the sound production / silence processing (S 202 ), based on a key operation performed by the player, processing for instructing the sounding of the musical sound of the note number corresponding to the sound source 106, processing for instructing the silencing of the musical sound of the note number corresponding to the sound source 106, Is performed.

次に、最近に演奏者によって録音キー109が操作さ
れ、現在自動演奏データを録音中の状態になっているか
否かが判別される(S202)。録音中であると判別されれ
ば、録音処理(S205)において、演奏者が鍵盤104を演
奏操作することによって得られるノートオン/ノートオ
フのイベントデータと、その発生タイミングを示すタイ
ムデータとが、RAM105内の自動演奏データ用の領域に順
次記憶されてゆく。なお、タイムデータは、タイマ103
から得られるタイマ値に基づいて生成される。録音中で
ないと判別されれば、上述の録音処理は実行されない。
Next, it is determined whether or not the recording key 109 has recently been operated by the player to record the automatic performance data ( S202 ). If it is determined that recording is in progress, note-on / note-off event data obtained by the player operating the keyboard 104 and time data indicating the occurrence timing are obtained in the recording process ( S205 ). Are sequentially stored in an area for automatic performance data in the RAM 105. The time data is stored in the timer 103
Is generated based on the timer value obtained from. If it is determined that recording is not being performed, the above-described recording process is not performed.

続いて、最近に自動演奏を行っていない状態から演奏
者によってスタート/ストップキー110のみが操作さ
れ、現在自動演奏データを再生中の状態になっているか
否かが判別される(S206)。再生中であると判別されれ
ば、再生処理(S207)において、RAM105に記憶されてい
るタイムデータが順次読み出されてタイミングが制御さ
れながらイベントデータの読み出し処理が実行される。
更に、発音・消音処理(S208)において、読み出された
イベントデータに基づく楽音の発音又は消音の処理が実
行される。これら再生処理及び発音・消音処理について
は後に詳述する。再生中であると判別されなければ、上
述の再生処理及び発音・消音処理は実行されない。
Subsequently, only the start / stop key 110 is operated by the player from a state where automatic performance has not been performed recently, and it is determined whether or not automatic performance data is currently being reproduced ( S206 ). If it is determined that the reproduction is being performed, in the reproduction processing ( S207 ), the time data stored in the RAM 105 is sequentially read, and the read processing of the event data is executed while controlling the timing.
Further, in the sound generation / silence processing ( S208 ), processing of sound generation or mute of a musical tone based on the read event data is executed. The reproduction processing and the sound generation / mute processing will be described later in detail. If it is not determined that reproduction is being performed, the above-described reproduction processing and sound generation / mute processing are not performed.

機能キースキャン処理(S209)においては、音色キー
108、録音キー109、スタート/ストップキー110、テン
ポアップキー111及びテンポダウンキー112の各々の操作
状態がスキャンされる。
In the function key scan process ( S209 ), the tone key
The operation state of each of the 108, the recording key 109, the start / stop key 110, the tempo up key 111, and the tempo down key 112 is scanned.

この結果、いずれかの音色キー108がオンされると判
別されれば(S210の判定がYES)、音源106に対して対応
する音色への変更指示がなされる(S211)。
As a result, if it is determined that any of the tone key 108 is turned on (the determination in S 210 YES), the change instruction to the corresponding tone is made to the sound source 106 (S 211).

スタート/ストップキー110がオンされたと判別され
(S212の判定がYES)、更に、現在録音中の状態である
と判別されれば(S213の判定がYES)、前述のS204の判
定をNOとするために特には図示しないレジスタ等に記憶
されている対応するフラグがリセットされる。一方、現
在録音中の状態でないと判別され(S213の判定がNO)、
更に、現在再生中の状態であると判別されたならば(S
215の判定がYES)、前述のS206の判定をNOとするために
特には図示しないレジスタ等に記憶されている対応する
フラグがリセットされる。また、現在再生中の状態でな
いと判別されたなら(S215の判定がNO)、前述のS206
判定をYESとするために特には図示しないレジスタ等に
記憶されている対応するフラグがセットされる。
Start / stop key 110 is judged to have been turned on (YES determination at S212), further, if it is determined that the state of the currently recording (YES determination at S 213), NO is determined in the aforementioned S 204 In particular, the corresponding flag stored in a register or the like (not shown) is reset. On the other hand, is not determined to be the state of the currently recording (determination is NO S 213),
Further, if it is determined that the state is currently being reproduced (S
If the determination at 215 is YES), the corresponding flag stored in a register or the like (not shown) is reset to make the determination at S206 described above NO. If it is determined that the state is not the current playback state (the determination in S215 is NO), a corresponding flag stored in a register (not shown) is set in order to set the determination in S206 to YES. Is done.

録音キー109がオンされたと判別されたなら(S218
判定がYES)、前述のS204の判定をYESとするために特に
は図示しないレジスタ等に記憶されている対応するフラ
グがセットされる。
If a recording key 109 is judged to have been turned on (YES determination at S 218), the corresponding flag is set in particular is stored in the register (not shown) or the like in order to YES determination of the above S 204 .

テンポアップキー111がオンされたと判別されたら(S
220の判定がYES)、タイマー周期(後述する)が所定量
だけ短縮される。
If it is determined that the tempo up key 111 has been turned on (S
The determination at 220 is YES), and the timer period (described later) is reduced by a predetermined amount.

テンポダウンキー112がオンされたと判別されたら(S
221の判定がYES)、タイマー周期が所定量だけ伸長され
る。
If it is determined that the tempo down key 112 has been turned on (S
If the determination at 221 is YES), the timer period is extended by a predetermined amount.

以上のメインルーチンの処理において、S207の自動演
奏データの再生処理が本実施例において特に特徴的な処
理部分である。ここでは、前述したように、RAM105に記
憶されているタイムデータが順次読み出されてタイミン
グが制御されながらイベントデータの読み出し処理が実
行され、次の発音・消音処理(S208)に対して読み出さ
れたイベントデータに基づく自動演奏時の音源106に対
する発音又は消音の指示を行わせている。この場合、自
動演奏の再生のテンポがそれほど速くない通常のテンポ
のときは通常の自動演奏の再生動作が行われるが、自動
演奏の再生のテンポが速くなった場合には、適宜イベン
ドデータをキャンセルすることにより、再テンポを上げ
ても聴き苦しさの少ない自動演奏を実現している。
In the processing of the main routine described above, the reproduction processing of the automatic performance data in S207 is a particularly characteristic processing part in the present embodiment. Here, as described above, the time data stored in the RAM 105 is sequentially read out, and the event data reading process is executed while the timing is controlled, and the time data is read for the next sound generation / silence processing ( S208 ). The sound source 106 is instructed to sound or mute at the time of automatic performance based on the issued event data. In this case, when the playback tempo of the automatic performance is not so fast, the playback operation of the normal automatic performance is performed. However, when the playback tempo of the automatic performance becomes faster, the event data is appropriately canceled. By doing so, even if the re-tempo is raised, automatic performance with less listening difficulty is realized.

以下、自動演奏データについて説明した後に、第2図
S207の再生処理及びS208の発音・消音処理について順次
詳述する。
Hereinafter, after explaining the automatic performance data, FIG.
Sequentially described in detail pronunciation-mute processing of the playback processing and S 208 of the S 207.

自動演奏データのデータ構成 まず、RAM105(第1図)の特定の領域に記憶される自
動演奏データは、第5図(a)の如く、イベントデータ
とタイムデータとが対で記憶されている。ここで、イベ
ントデータの値が“0"〜“87"の場合、その値のキーコ
ードのノートオフが指示され、“88"〜“175"の場合、
{イベントデータ−88}の値がキーコードのノートオン
が指示され、“182"の場合、自動演奏のストップが指示
される。また、タイムデータは、その直前のイベントデ
ータが読み出されてからその直後のイベントデータが読
み出されるまでのタイミングを示しており、16分音符に
相当すタイミングの場合“1"、8分音符なら“2"、4分
音符なら“4"、2分音符なら“8"の値を有する。なお、
シーケンサの最小音符単位が16分音符より更に細かく例
えば32音符まで表現される場合には、32分音符に相当す
るタイミングの場合を“1"、16分音符なら“2"・・・と
いうように設定される。
Data Configuration of Automatic Performance Data First, in the automatic performance data stored in a specific area of the RAM 105 (FIG. 1), as shown in FIG. 5A, event data and time data are stored in pairs. Here, when the value of the event data is “0” to “87”, note-off of the key code of that value is instructed, and when the value is “88” to “175”,
If the value of {event data-88} is a key code note-on instruction, and if the value is "182", an instruction to stop automatic performance is issued. The time data indicates the timing from when the immediately preceding event data is read to when the immediately following event data is read. In the case of the timing corresponding to the sixteenth note, "1". “2” has a value of “4” for a quarter note, and “8” for a half note. In addition,
When the minimum note unit of the sequencer is expressed more finely than the 16th note, for example, up to 32 notes, the timing corresponding to the 32nd note is "1", the 16th note is "2", etc. Is set.

第5図(b)には、自動演奏データの具体例が示され
ている。この場合は、それぞれが16分音符(タイムデー
タが“1")の各音符F4、F4、A4、A4、G4、G4、F4、・・
・に対応する各楽音の自動演奏が指示される。
FIG. 5B shows a specific example of the automatic performance data. In this case, each note F 4 , F 4 , A 4 , A 4 , G 4 , G 4 , F 4 , each of 16th notes (time data is “1”)
・ The automatic performance of each musical tone corresponding to is designated.

次に、第2図S207の再生処理を中心として、S208の発
音・消音処理と共に詳述する。第3図は、第2図S206
再生処理の詳細な動作フローチャート、第4図は第2図
S207の発音・消音処理の詳細な動作フローチャートであ
る。以下の説明では、自動演奏が、4分音符が1分間に
60回発音されるテンポで行われる通常のテンポの場合、
及び4分音符が1分間に255回発音されるテンポで行わ
れる速いテンポの場合の2つの場合を例に説明を行う。
Then, around the regeneration process in Figure 2 S 207, described in detail in conjunction with sound-muffling process S 208. FIG. 3 is a detailed operation flowchart of the reproduction processing of S206 in FIG. 2, and FIG.
It is a detailed operation | movement flowchart of the sound production | generation / silence processing of S207 . In the following explanation, the automatic performance
In the case of a normal tempo performed at a tempo that is pronounced 60 times,
The following description will be made on two examples of a fast tempo performed at a tempo in which a quarter note is generated 255 times per minute.

通常のテンポの場合の再生処理及び発音・消音処理の動
作 始めに、自動演奏が4分音符が1分間に60回発音され
るテンポで行われるように、演奏者がテンポアップキー
111又はテンポダウンキー112(第1図)を操作した場合
を例に説明する。この場合、第8図(a)及(c)に示
される如く、16分音符の各音符F4、A4、G4等は、(60秒
/60回)×(4/16)=250msec間隔で発音される。このと
き、マイコン101は、第2図のメインルーチンのS221
はS223において、タイマ103に対し演奏者の上述のテン
ポ設定に対応する周期を設定する。これにより、タイマ
103によるタイマインタラプトは、第8図(d)のよう
に、250msecに1回の割合で発生する。これに対して、
メインルーチン上の再生処理(第2図S207)は、第8図
(f)の“↑”で示されるようなタイミングで実行され
る。そして、第8図(f)のF4、A4、G4等の記号が付与
された“↑”のタイミングで、イベントデータに対応す
る楽音が発音される。この場合、再生処理は前述したよ
うに最長で70msec間隔程度で実行されるため、実際の発
音タイミングも目標とするタイミングから最長で70msec
程度遅延することはあるが、そのずれの範囲内でほぼ目
標とするタイミングで自動演奏が実現される。
First, the player performs a tempo-up key so that the automatic performance is performed at a tempo in which quarter notes are pronounced 60 times per minute.
An example in which the user operates the 111 or the tempo down key 112 (FIG. 1) will be described. In this case, as shown in FIGS. 8A and 8C, the notes F 4 , A 4 , G 4, etc. of the sixteenth note are (60 seconds)
/ 60 times) x (4/16) = 250 msec interval. At this time, the microcomputer 101, in S 221 or S 223 in the main routine in FIG. 2, sets a period corresponding to the performer of the above tempo set for timer 103. This allows the timer
The timer interrupt by 103 occurs once every 250 msec as shown in FIG. 8 (d). On the contrary,
The reproduction process ( S207 in FIG. 2) in the main routine is executed at the timing indicated by “↑” in FIG. 8 (f). Then, a musical tone corresponding to the event data is generated at the timing of “↑” to which symbols such as F 4 , A 4 and G 4 in FIG. 8 (f) are added. In this case, since the reproduction process is executed at intervals of up to about 70 msec as described above, the actual tone generation timing is also up to 70 msec from the target timing.
Although there may be some delay, automatic performance is realized at substantially the target timing within the range of the shift.

上述の第8図の動作例を第3図の再生処理と第4図の
発音・消音処理の動作フローチャート及び第6図の動作
説明図に沿って具体的に説明する。
The above-described operation example of FIG. 8 will be specifically described with reference to the operation flowchart of the reproduction process of FIG. 3 and the sound generation / muting process of FIG. 4 and the operation explanatory diagram of FIG.

始めに、第1図のRAM105には、再生処理用の各種制御
変数が記憶されている。オンポインタonptは、1回の発
音・消音処理(第2図S208)で発音されるべき楽音の数
に1を加えた数を示す。オンバッファonbufは、発音・
消音処理で発音を行うべきキーコードを格納する配列デ
ータであり、再生処理(第2図S207)の終了時点では、
オンバッファonbuf(1)〜onbuf(onpt1−1)に有効
なキーコードが格納されている。オフポインタoffpt
は、1回の発音・消音処理で消音されるべき楽音の数に
1を加えた数を示す。オフバッファoffbufは、発音・消
音処理で消音を行うべきキーコードを格納する配列デー
タであり、再生処理の終了時点で、オフバッファoffbuf
(1)〜offbuf(offpt−1)に有効なキーコードが格
納されている。タイマ値timplayは、一定時間毎にカウ
ントアップされるタイマデータであり、第1図のタイマ
103からタイマインタラプトが発生する毎に、マイコン1
01が第3図(b)の動作フローチャートで示される割り
込みプログラムを実行し、タイマ値timplayの内容を+
1ずつインクリメントする(S327)。タイムデータsegw
aitには、RAM105から順次読み出されるタイムデータが
格納される。変数nについては後述する。
First, various control variables for reproduction processing are stored in the RAM 105 of FIG. On pointer onpt indicates the number obtained by adding 1 to the number of the musical sound to be sounded in one sound-muffling process (FIG. 2 S 208). On-buffer onbuf
This is array data for storing key codes to be sounded in the mute processing. At the end of the reproduction processing ( S207 in FIG. 2),
Valid key codes are stored in the on-buffers onbuf (1) to onbuf (onpt1-1). Off pointer offpt
Indicates the number obtained by adding 1 to the number of musical tones to be muted in one sounding / muting process. The off-buffer offbuf is array data for storing key codes to be silenced in the sound generation / mute processing.
(1) -offbuf (offpt-1) stores a valid key code. The timer value timplay is timer data that is counted up at regular time intervals.
Each time a timer interrupt occurs from 103, the microcomputer 1
01 executes the interrupt program shown in the operation flowchart of FIG. 3 (b), and sets the contents of the timer value timplay to +
It is incremented by one ( S327 ). Time data segw
In ait, time data sequentially read from the RAM 105 is stored. The variable n will be described later.

演奏者が、スタート/ストップキー110を操作する
と、第2図のメインルーチンの再生スタート処理
(S217)が実行される。これにより、タイマ103(第1
図)がリセットされると共に、タイマ値timplay及びタ
イムデータsegwaitが0クリアされる。
When the player operates the start / stop key 110, the reproduction start process ( S217 ) of the main routine shown in FIG. 2 is executed. Thereby, the timer 103 (first
Is reset, and the timer value timplay and the time data segwait are cleared to zero.

そして、第8図(C)の時刻t0で、第3図(a)に示
されるメインルーチンの再生処理(第2図S206)が実行
される。
Then, at time t 0 of Figure 8 (C), FIG. 3 (a) reproducing process of the main routine shown in (FIG. 2 S 206) is executed.

まず、第6図の如く、offptとonptが0クリアされる
(S301、S302)。
First, as in FIG. 6, Offpt and onpt is cleared (S 301, S 302).

次に、timplayとsegwaitの内容が比較される
(S303)。両者の内容が等しいと判定されると、timpla
yからsegwaitが減算され新たなtimplayの内容とされる
(S304)。
Next, the contents of timplay and segwait are compared ( S303 ). If both contents are determined to be equal, timpla
segwait is the content of the subtracted new timplay from y (S 304).

次に、第6図に示されるように、第5図(b)で示さ
れるRAM105の内容からキーコードF4のオンを示す最初の
イベントデータ“132"が読み出され、onbuf(onpt)=o
nbuf(0)にキーコードF4を示すキーコード値“132−8
8"=“44"が格納される(S305→S306→S307→S308)。
ここで、“88"を引くのは、オンを示すイベントデータ
には、オフを示すイベントデータと区別するために“8
8"のオフセットが付加されているので、そのオフセット
分を差し引いて真のキーコードに戻すためである。onbu
fに値が格納されると、配列の内容の1つ進めるためにo
nptの内容が+1される(S309)。
Next, as shown in Figure 6, the first event data "132" indicating the ON key code F 4 from RAM105 of contents shown in FIG. 5 (b) is read out, onbuf (onpt) = o
The key code value indicating the key code F 4 to nbuf (0) "132-8
8 "=" 44 "is stored ( S305S306S307S308 ).
Here, “88” is subtracted from “8” in the event data indicating “ON” in order to distinguish it from the event data indicating “OFF”.
Since an 8 "offset is added, the offset is subtracted to return to the true key code.
When a value is stored in f, o is used to advance the contents of the array.
the contents of the npt is +1 (S 309).

続いて、第5図(b)で示されるRAM105の内容からF4
オンを示すイベントデータの次のタイムデータ“1"が読
み出され、segwaitにセットされる(S310→S311)。
Subsequently, F 4 from RAM105 of contents shown in FIG. 5 (b)
The time data “1” next to the event data indicating ON is read and set to segwait (S 310 → S 311 ).

その後、S312、S313(後述する)を介してS303に戻
り、その判定がNOとなって今回の再生処理を終了する。
Thereafter, the process returns to S303 via S312 and S313 (described later), and the determination is NO, ending the current reproduction process.

以上の再生処理の結果onbuf(0)のみに有効なキー
コードF4がセットされる。
Above reproduction processing result onbuf (0) valid key in only the code F 4 is set.

上述の再生処理の後、メインルーチンの発音・消音処
理(第2図S208)が実行される。この処理の詳細を第4
図に示す。
After the above-described regeneration process, sound-muffling the main routine (FIG. 2 S 208) is executed. The details of this process
Shown in the figure.

まず、offptの値は0でoffbufには有効なデータが格
納されていないためS403の判定はNOとなる。次に、変数
n=0(S405)がonpt=1より小さいため、S407におい
てonbuf(0)のノートNo.の音すなわちキーコードF4
楽音の発音指示が、音源106(第1図)に対してなされ
る。
First, the value of offpt is 0 and no valid data is stored in offbuf, so the determination in S403 is NO. Next, since the variable n = 0 (S 405 ) is smaller than onpt = 1, in S 407 , the tone of the note No. of onbuf (0), that is, the tone of the key code F 4 , is sounded by the sound source 106 (FIG. 1). ).

その後、S406の判定がNOとなり、発音・消音処理を終
了する。
Thereafter, the determination of S 406 is NO, ends the sound-muffling process.

以上の動作により、第8図(c)及び(f)に示され
るように、t0のタイミングでキーコードF4の楽音が発音
される。
By the above operation, as shown in FIG. 8 (c) and (f), the tone of the key code F 4 at timing t 0 is pronounced.

その後、第8図(c)のt1、t2、t3、t4の各タイミン
グにおいて、メインルーチンの再生処理(第2図S207
が繰り返し実行されるが、その間にタイミング103(第
1図)からのタイマインタラプトは発生せず、timplay
の内容はsegwaitの内容以上とならないため、S303の判
定はNOとなり第6図のように再生処理は実行されない。
Thereafter, at each of the timings t 1 , t 2 , t 3 , and t 4 in FIG. 8C, the reproduction process of the main routine (S 207 in FIG. 2)
Is repeatedly executed, during which no timer interrupt from timing 103 (FIG. 1) occurs and timplay
Is not more than the content of segwait, the determination in S303 is NO, and the reproduction process is not executed as shown in FIG.

第8図(c)のタイミングt5において、タイマ103か
らのタイマインタラプトが発生すると、第3図(b)の
動作フローチャートで示される割り込みプログラムが実
行され、timplayの内容が+1される(S327)。
At timing t 5 of FIG. 8 (c), the timer interrupt from the timer 103 occurs, the interrupt program shown in the operation flowchart in FIG. 3 (b) is executed, the contents of timplay is +1 (S 327 ).

その直後に、再生処理が実行されると、第3図のS303
の判定がYESとなり、第6図に示されるように、timplay
からsegwaitが減算され新たなtimplayの内容とされた後
(S304)、第5図(b)で示されるRAM105の内容からキ
ーコードF4のオフを示すイベントデータ“44"が読み出
され、そのデータがoffbuf(offpt)=offbuf(0)に
セットされる(S305→S306→S316→S317→S318)。offb
utに値が格納されると、配列の内容を1つ進めるために
offptの内容が+1される(S319)。
Immediately after that, when the reproduction process is executed, S303 in FIG.
Is YES, and as shown in FIG. 6, timplay
After segwait is the contents of the subtracted new timplay (S 304), the event data "44" indicating the off-key code F 4 from RAM105 of contents shown in FIG. 5 (b) is read from, the data is set to offbuf (offpt) = offbuf (0 ) (S 305 → S 306 → S 316 → S 317 → S 318). offb
When the value is stored in ut, to advance the contents of the array by one
The contents of offpt is +1 (S 319).

続いて、第5図(b)で示されるRAM105の内容からF4
オフを示すイベントデータの次のタイムデータ“0"が読
み出され、segwaitにセットされる(S310→S111)。
Subsequently, F 4 from RAM105 of contents shown in FIG. 5 (b)
The time data “0” next to the event data indicating OFF is read out and set to segwait (S 310 → S 111 ).

その後に、S312、S313(後述する)を介してS303に戻
る。この場合、timplayはS304において“0"に戻されて
いるが、S311でsegwaitにも“0"がセットされたため、S
303の判定が再びYESとなってすぐに次のイベントデータ
の再生が行われる。これによって、第6図に示されるよ
うに、第5図(b)で示されるRAM105の内容からキーコ
ードA4のオンを示すイベントデータ“136"が読み出さ
れ、A4のキーコード“136−88"=“48"がonbuf(onpt)
=onbuf(0)にセットされる(S304→S305→S306→S
307→S308)。onbufの内容は+1される(S309)。
Thereafter, the process returns to S303 via S312 and S313 (described later). In this case, although timplay is returned to "0" at S 304, since even Segwait "0" is set in the S 311, S
As soon as the determination at 303 becomes YES again, the next event data is reproduced. Thus, as shown in Figure 6, the event data "136" indicating the ON key code A 4 from RAM105 of contents shown in FIG. 5 (b) is read out, the key code A 4 "136 -88 "=" 48 "is onbuf (onpt)
= Onbuf (0) is set (S 304 → S 305 → S 306 → S
307S308 ). The contents of onbuf is +1 (S 309).

続いて、第5図(b)で示されるRAM105の内容からA4
オンを示すイベントデータの次のタイムデータ“1"が読
み出され、segwaitにセットされ(S310→S311)、
S312、S313を介してS303に戻り、その判定がNOとなって
今回の再生処理を終了する。
Subsequently, A 4 is obtained from the contents of the RAM 105 shown in FIG.
The time data “1” next to the event data indicating ON is read out and set to segwait (S 310 → S 311 ),
Returning to S 303 through S 312, S 313, the judgment is to end the current reproduction process becomes NO.

以上の再生処理の結果、offbut(0)に有効なキーコ
ードF4が、onbuf(0)に有効なキーコードA4がセット
される。
As a result of the above reproduction process, offbut (0) to a valid key code F 4 is valid key code A 4 is set to onbuf (0).

上述の再生処理の後、第4図に示されるメインルーチ
ンの発音・消音処理(第2図S208)が実行される。ここ
では、S403の処理が1回実行されてoffbuf(0)のノー
トNo.すなわちキーコードF4の楽音の消音指示が音源106
に対してなされ、続いて、S407の処理が1回実行されて
onbuf(0)のノートNo.の音すなわちキーコードA4の楽
音の発音指示が、音源106に対してなされる。
After the above-described regeneration process, the fourth sound-silencing process of the main routine shown in FIG. (FIG. 2 S 208) is executed. Here, the processing of S 403 is executed once offbuf (0) of the note No. That mute instruction tone key code F 4 sound source 106
Then, the process of S407 is executed once and
onbuf (0) of the note No. sounding instruction of musical sounds i.e. key code A 4 of is made to the sound source 106.

以上の動作により、第8図(c)及び(f)に示され
るように、t5の直後のタイミングでキーコードA4の楽音
が発音される。
By the above operation, as shown in FIG. 8 (c) and (f), the tone of the key code A 4 at the timing immediately after the t 5 is pronounced.

以下同様の処理が繰り返されることにより、タイマ10
3から250msecに1回の割合で発生するタイマインタラプ
トにほぼ追従したタイミングで、イベントデータに基づ
く発音動作が実行され、自動演奏が、4分音符が1分間
に60回発音されるテンポで行われる。
Thereafter, the same processing is repeated, so that the timer 10
At a timing almost following the timer interrupt generated once every 3 to 250 msec, a sounding operation based on the event data is executed, and the automatic performance is performed at a tempo in which quarter notes are sounded 60 times per minute. .

なお、音源106は、同時に16音の楽音の発音又は消音
が可能である。従って、第3図(a)の再生処理のS312
及びS313において、offpt及びonptの内容が16に達する
と、16音ポリフォニックの発音又は消音数を越えるた
め、それ以上の再生処理は無条件に行われない。
The sound source 106 can simultaneously generate or mute 16 musical tones. Accordingly, in step S312 of the reproduction process shown in FIG.
And in S 313, the contents of offpt and onpt reaches 16, to cross the number of sound or mute 16 voice polyphony, more regeneration process is not performed unconditionally.

速いテンポの場合の再生処理及び発音・消音処理の動作 次に、自動演奏が4分音符が1分間に255回発音され
るテンポで行われるように、演奏者がテンポアップキー
111又はテンポダウンキー112(第1図)を操作した場合
を例に説明する。この場合、第9図(a)及び(c)に
示される如く、16分音符の各音符F4、A4等は、(60秒/2
55回)×(4/16)=250msec間隔で発音される。このと
き、タイマ103によるタイマインタラプトは、第9図
(d)のように、約59msecに1回の割合で発生する。こ
れに対して、メインルーチン上の再生処理(第2図
S207)は、第9図(f)の“↑”で示されるようなタイ
ミングで実行される。そして、第9図(f)のF4、A4
の記号が付与された“↑”のタイミングで、イベントデ
ータに対応する楽音が発音される。この場合、再生処理
は前述した如く最長で70msec間隔程度実行されるため、
実際の発音タイミングも目標とするタイミングから最長
で70msec程度遅延する。従って、その遅延の間に、次の
タイマインタラプトが発生してしまう場合が起こり得
る。例えば第9図(d)のようにタイミングt4でタイマ
インタラプトが発生した後、タイミングt6で再生処理が
実行される前に、タイミングt5で再びタイマインタラプ
トが発生してしまうような場合である。このような場合
には、目標タイミングt4で発音されるべきキーコードG4
の楽音の発音がキャンセルされ、次の目標タイミングt5
で発音されるべきキーコードF4の楽音の発音が行われ
る。これにより、再テンポを上げても聴き苦しさの少な
い自動演奏が実現される。
Next, the player performs a tempo-up key so that the automatic performance is performed at a tempo in which quarter notes are pronounced 255 times per minute.
An example in which the user operates the 111 or the tempo down key 112 (FIG. 1) will be described. In this case, as shown in FIGS. 9A and 9C, the notes F 4 , A 4, etc. of the sixteenth note are (60 seconds / 2
(55 times) x (4/16) = 250 msec interval. At this time, the timer interrupt by the timer 103 occurs once every about 59 msec as shown in FIG. 9 (d). On the other hand, the reproduction processing in the main routine (FIG. 2)
S207 ) is executed at the timing indicated by "で" in FIG. 9 (f). Then, at the timing of “↑” to which symbols such as F 4 and A 4 in FIG. 9 (f) are given, a musical tone corresponding to the event data is generated. In this case, since the playback process is executed at intervals of about 70 msec at the maximum as described above,
The actual tone generation timing is also delayed by up to 70 msec from the target timing. Therefore, during the delay, the next timer interrupt may occur. For example, after a timer interrupt at a timing t 4 as FIG. 9 (d) has occurred, before the reproducing process at the timing t 6 is executed, when again the timer interrupt timing t 5 is as occurs is there. In such a case, the key code G 4 to be pronounced at the target timing t 4
Is canceled, and the next target timing t 5
In pronunciation of a tone of a key code F 4 to be sound is performed. As a result, even if the tempo is raised again, automatic performance with less listening difficulty is realized.

上述の第9図の動作例を、第3図の再生処理と第4図
の発音・消音処理の動作フローチャート及び第7図
(a)、(b)の動作説明図に沿って具体的に説明す
る。
The above-described operation example of FIG. 9 will be specifically described with reference to the operation flowchart of the reproduction processing and the sound generation / mute processing of FIG. 4 and the operation explanatory diagrams of FIGS. 7 (a) and 7 (b). I do.

まず、タイミングt0における再生処理は、前述の通常
のテンポの場合と同様であり、第7図(a)の如くonbu
f(0)にF4のキーコードがセットされ、それに基づい
て、発音・消音処理(第2図S208)において、キーコー
ドF4の楽音の音源106(第1図)への発音指示が行われ
る。
First, the reproduction process at the timing t 0 is similar to that of the normal tempo of the foregoing, as FIG. 7 (a) onbu
The key code of F 4 is set in f (0), and based on the key code, in the sound generation / silence processing (S 208 in FIG. 2), the tone generation instruction of the tone of the key code F 4 to the sound source 106 (FIG. 1) is issued. Done.

その後、第9図(c)のタイミングt1において、メイ
ンルーチンの再生処理(第2図S207)が実行されるが、
t0とt1の間にタイマ103(第1図)からのタイマインタ
ラプトは発生せず、timplayの内容はsegwaitの内容以上
とならないため、第3図(a)のS303の判定はNOとな
り、第7図(a)のように再生処理は実行されない。
Thereafter, at the timing t 1 of FIG. 9 (c), although the reproduction process of the main routine (FIG. 2 S 207) is executed,
Timer interrupts between t 0 and t 1 from the timer 103 (FIG. 1) is not generated, because the contents of timplay is not a more content of Segwait, determination of S 303 of FIG. 3 (a) is NO The reproduction process is not executed as shown in FIG.

第9図(c)のタイミングt2において、タイマ103か
らのタイマインタラプトが発生すると、第3図(b)の
動作フローチャートで示される割り込みプログラムが実
行され、timplayの内容が+1される(S327)。
At timing t 2 of FIG. 9 (c), the timer interrupt from the timer 103 occurs, the interrupt program shown in the operation flowchart in FIG. 3 (b) is executed, the contents of timplay is +1 (S 327 ).

その直後のタイミングt3における再生処理は、前述の
通常のテンポの場合のt5の直後の再生処理と同様であ
り、その処理の結果、offbuf(0)に有効なキーコード
F4が、onbuf(0)に有効なキーコードA4がセットさ
れ、それらに基づいて、発音・消音処理(第2図S208
において、キーコードF4の楽音の消音指示、キーコード
A4の楽音の発音指示が音源106に対して行われる。
The reproduction process at the timing t 3 immediately after is the same as the playback processing just after t 5 when the normal tempo of the foregoing, the result of the processing, valid key code offbuf (0)
F 4 is, onbuf (0) valid key code A 4 is set to, based on their, sound-silencing process (FIG. 2 S 208)
In, mute instruction tone key code F 4, the key code
Sounding instruction tone of A 4 is performed for the sound source 106.

続いて、第9図(c)のタイミングt4においてタイマ
103からのタイマインタラプトが発生すると、timplayの
内容が+1されて“1"となる(第3図(b)S327)。こ
こで、第2図のメインルーチンにおいて機能キースキャ
ン等の処理に時間がかかって、上述のタイミングt4に対
応する再生処理が実行される前に、第9図(c)のタイ
ミングt5において、タイマ103からのタイマインタラプ
トが発生すると、第7図(a)の如く再びtimplayの内
容が+1されて“2"となる。
Subsequently, the timer at the timing t 4 of FIG. 9 (c)
When the timer interrupt from 103 occurs, the contents of timplay is being +1 "1" (FIG. 3 (b) S 327). Here, it takes time to process, such as function keys scan in the main routine of FIG. 2, before reproduction process corresponding to the timing t 4 described above is executed at the timing t 5 of FIG. 9 (c) When the timer 103 generates a timer interrupt, the content of timplay is incremented by one again to "2" as shown in FIG. 7 (a).

その直後のタイミングt6における再生処理が実行され
ると、第3図のS303の判定がYESとなって、第7図
(b)に示されるように、timplayの内容“2"からsegwa
itの内容“1"が減算され、新たなtimplayの内容“1"と
された後(S304)、第5図(b)で示されるRAM105の内
容からキーコードA4のオフを示すイベントデータ“48"
が読み出され、そのデータがoffbuf(offpt)=offbuf
(0)にセットされる(S305→S306→S316→S317
S318)。offptの内容は+1される(S319)。
When the reproduction process at the timing t 6 immediately following is executed, so the determination of S 303 of FIG. 3 YES, and as shown in FIG. 7 (b), segwa from the contents of timplay "2"
is subtracted the content "1" of it, after the contents "1" of the new timplay (S 304), the event data indicating an off-key code A 4 from RAM105 of contents shown in FIG. 5 (b) “48”
Is read, and the data is stored as offbuf (offpt) = offbuf
Set to (0) (S 305 → S 306 → S 316 → S 317
S 318 ). The contents of offpt is +1 (S 319).

続いて、第5図(b)で示されるRAM105の内容からA4
オフを示すイベントデータの次のタイムデータ“0"が読
み出され、segwaitにセットされる(S310→S311)。
Subsequently, A 4 is obtained from the contents of the RAM 105 shown in FIG.
The time data “0” next to the event data indicating OFF is read out and set to segwait (S 310 → S 311 ).

その後に、S312、S313を介してS303に戻る。この場
合、timplayはS304において1とされており、S311にお
いてsegwaitに0がセットされたため、S303の判定が再
びYESとなってすぐに次のイベントデータの再生が行わ
れる。これにより、第7図(b)が示されるように、第
5図(b)で示されるRAM105の内容からキーコードG4
オンを示すイベントデータ“134"が読み出されて、A4
キーコード“134−88"=“46"がonbuf(oupt)=onbut
(0)にセットされる(S304→S305→S306→S307
S308)。onbufの内容は+1される(S309)。
Thereafter, the flow returns to S 303 through S 312, S 313. In this case, Timplay is a 1 in S 304, since the zero segwait is set in S 311, reproduction of the next event data determination as soon becomes YES again S 303 is performed. Thus, as FIG. 7 (b) is shown, the event data "134" is read out indicating the ON key code G 4 from RAM105 of contents shown in FIG. 5 (b), the A 4 Key code "134-88" = "46" is onbuf (oupt) = onbut
Set to (0) (S 304 → S 305 → S 306 → S 307
S308 ). The contents of onbuf is +1 (S 309).

続いて、第5図(b)で示されるRAM105の内容からG4
オンを示すイベントデータの次のタイムデータ“1"が読
み出され、segwaitにセットされ(S310→S311)、
S312、S313を介してS303に戻る。このようsegwaitには1
6分音符のタイミングに相当する“1"がセットされる
が、timplayの内容は“1"となっているため、S303の判
定が再びYESとなってすぐに次のイベントデータの再生
が行われる。これは、第9図(c)のタイミングt4に対
応する再生処理が実行される前に、第9図(c)のタイ
ミングt5において、タイマ103からのタイマインタラプ
トが発生して、timplayの内容が+1されて“2"となっ
たことによる。これ以降は、onbuf(0)にセットされ
たキーコードG4の値“46"のキャンセルを行うための処
理となる。
Subsequently, G 4 is obtained from the contents of the RAM 105 shown in FIG.
The time data “1” next to the event data indicating ON is read out and set to segwait (S 310 → S 311 ),
Back to S 303 through S 312, S 313. 1 for segwait like this
“1” corresponding to the timing of a sixth note is set, but the content of timplay is “1”, so the next event data is reproduced immediately after the determination in S 303 becomes YES again. Will be This is before the reproduction process corresponding to the timing t 4 of FIG. 9 (c) is performed at the timing t 5 of FIG. 9 (c), the timer interrupt from the timer 103 occurs, the timplay This is because the content is incremented by 1 to become "2". The rest, the processing for canceling the onbuf the set value of the key code G 4 in (0) "46".

すなわち、第3図のS303の判定がYESとなり、第7図
(b)の如く、timplayからsegwaitが減算され新たなti
mplayの内容とされた後(S304)、第5図(b)で示さ
れるRAM105の内容からキーコードG4のオフを示すイベン
トデータ“46"が読み出される。
That is, the determination in S303 in FIG. 3 is YES, and segwait is subtracted from timplay to obtain a new ti as shown in FIG. 7 (b).
After being the contents of mplay (S 304), FIG. 5 (b) event data "46" indicating the off-key code G 4 from RAM105 contents represented by is read.

そして、S306の判定がYESとなった後に、S316におい
て変数nに“0"がセットされ、S317で変数nとonptの内
容とが比較される。今、onbuf(0)に有効なキーコー
ドG4が格納されonptの内容は“1"となっているため、S
317の判定はYESとなる。
The determination of S 306 is after reaching YES, and is set to "0" to the variable n in S 316, and the contents of the variable n and onpt in S 317 are compared. Now, since the onbuf (0) to a valid key code G 4 the contents of the stored onpt has a "1", S
The determination at 317 is YES.

更に、S320においてS305の処理により読み出されたイ
ベントデータとonbuf(n)の内容とが比較される。
今、イベントデータはキーコードG4のオフを示すイベン
トデータ“46"であり、両者の内容は一致する。従っ
て、S320の判定はYESとなる。
Furthermore, the contents of the event data and onbuf read by the processing of S 305 (n) in S 320 are compared.
Now, the event data is the event data "46" indicating the off-key code G 4, the contents of both match. Thus, the determination of S 320 is YES.

この動作の後、変数nの内容が+1されて“1"となっ
た後、S322においてこの変数nの内容とouptの内容とが
比較される。この場合、両者の内容は一致するため、S
322の判定はYESとなる。
After this operation, after the contents of the variable n becomes the +1 "1", the contents of content and oupt of this variable n is compared in S 322. In this case, since the contents of both match,
The determination at 322 is YES.

以上の判定の結果、onbuf(n−1)=onbuf(0)に
値“0"が格納され(S314)、onptの内容が−1される
(S315)。このようにして、一度oubuf(0)に格納さ
れたキーコードG4がキャンセルされる。
As a result of the above determination, the value “0” is stored in onbuf (n−1) = onbuf (0) (S 314 ), and the content of onpt is decremented by 1 (S 315 ). In this way, the key code G 4 stored once oubuf (0) is canceled.

続いて、第5図(b)で示されるRAM105の内容からG4
オフを示すイベントデータの次のタイムデータ“0"が読
み出され、segwaitにセットされる(S310→S311)。
Subsequently, G 4 is obtained from the contents of the RAM 105 shown in FIG.
The time data “0” next to the event data indicating OFF is read out and set to segwait (S 310 → S 311 ).

その後に、S312、S313を介してS303に戻る。この場
合、timplayはS304において“0"に戻されているが、S
311でsegwaitにも“0"がセットされたため、S303の判定
が再びYESとなって更に次のイベントデータの再生が行
われる。これによって、第7図(b)に示されるよう
に、第5図(b)で示されるRAM105の内容からキーコー
ドF4のオンを示すイベントデータ“132"が読み出され、
F4のキーコード“132−88"=“44"がoubuf(onpt)=on
buf(0)にセットされる(S304→S305→S306→S307→S
308)。onbufの内容は+1される(S309)。
Thereafter, the flow returns to S 303 through S 312, S 313. In this case, although timplay is returned to “0” in S 304 ,
Since “0” is also set to segwait in 311 , the determination in S 303 becomes YES again, and the next event data is reproduced. Thus, as shown in FIG. 7 (b), the event data "132" indicating the ON key code F 4 from RAM105 of contents shown in FIG. 5 (b) is read out,
Key code "132-88" of F 4 = "44" is oubuf (onpt) = on
Set to buf (0) (S 304 → S 305 → S 306 → S 307 → S
308 ). The contents of onbuf is +1 (S 309).

続いて、第5図(b)で示されるRAM105の内容からG4
オンを示すイベントデータの次のタイムデータ“1"が読
み出され、segwaitにセットされ(S310→S311)、
S312、S313を介してS303に戻り、その判定がNOとなって
今回の再生処理を終了する。
Subsequently, G 4 is obtained from the contents of the RAM 105 shown in FIG.
The time data “1” next to the event data indicating ON is read out and set to segwait (S 310 → S 311 ),
Returning to S 303 through S 312, S 313, the judgment is to end the current reproduction process becomes NO.

以上の再生処理の結果、offbuf(0)に有効なキーコ
ードA4がセットされる。また、onbuf(0)において
は、一度セットされたキーコードG4がキャンセルされ、
続くキーコードF4がセットされる。
As a result of the above reproduction process, valid key code A 4 is set to offbuf (0). In the onbuf (0), the key code G 4 that are set once is canceled,
Key code F 4 that follows is set.

上述の再生処理の後、第4図に示されるメインルーチ
ンの発音・消音処理(第2図S208)が実行され、キーコ
ードA4の消音指示とキーコードF4の発音指示が、音源10
6に対してなれる。
After the above-described regeneration process, sound-muffling the main routine (FIG. 2 S 208) is executed, mute instruction and sounding instruction key code F 4 key code A 4 is shown in Figure 4, the sound source 10
6 can be made.

以上の動作により、第9図(c)及び(f)に示され
るように、t5の直後のタイミングt6で、t4のタイミング
に対応するキーコードG4はキャンセルされて発音され
ず、続くt5のタイミングに対応するキーコードF4の楽音
が発音される。
By the above operation, as shown in FIG. 9 (c) and (f), at the timing t 6 just after t 5, the key code G 4 corresponding to the timing of t 4 are not sound is canceled, tone key code F 4 corresponding to the timing of the subsequent t 5 is pronounced.

以下同様の処理が繰り返されることにより、第2図の
メインルーチンが1周する間に、タイマ103から59msec
に1回の割合で発生するタイマインタラプトが2回以上
発生した場合には、timplayとsegwaitとの差が広がるこ
とにより、再生処理において、広がった分のイベントデ
ータのオン/オフがキャンセルされる。これにより、聴
き苦しさの少ない自動演奏が、4分音符が1分間に255
回発音されるテンポで行われる。
Thereafter, the same processing is repeated, so that the timer 103 outputs 59 msec while the main routine of FIG.
If two or more timer interrupts occur once every two times, the difference between timplay and segwait widens, so that the on / off of the widened event data is canceled in the playback processing. As a result, automatic performance with less listening difficulty becomes possible with quarter notes 255 times a minute.
Performed at a tempo that is pronounced twice.

ここで、例えば第9図のタイミングt4に対応するイベ
ントデータとして、キーコードG4のオンのほかに他のキ
ーコードのオンが同時に(タイムデータ“0"の間隔で)
指定されているような場合で、onbuf(0)の内容がキ
ャンセルされるような場合は、S321→S322→S323→S321
のループの繰り返しにおいて、S323の処理によりonbuf
(1)以降の配列の内容が順次1次配列アドレスずつ前
にずらされ、最後の配列アドレスの内容onbuf(n−
1)に“0"がセットされる。
Here, for example, as the event data corresponding to the timing t 4 of Figure 9, the key code on the other key code in addition to the ON G 4 simultaneously (at intervals of time data "0")
If the content of onbuf (0) is canceled in the case where it is designated, S 321 → S 322 → S 323 → S 321
In iteration of the loop, Onbuf by treatment S 323
(1) The contents of the subsequent array are sequentially shifted forward by the primary array address, and the contents of the last array address onbuf (n-
1) is set to "0".

なお、他のキーコードについても、タイムデータ“0"
をはさんでキーコードオフのイベントデータが自動演奏
データとして指定されていれば、再生処理が繰り返され
ることにより順次キャンセルされる。
For other key codes, the time data "0"
If the key code-off event data is specified as the automatic performance data with the intervening, the reproduction process is repeated to be sequentially canceled.

また、S325においてonptの内容が−1される結果、S
324におけるonbuf(n−1)の内容はその後アクセスさ
れることはないため、その内容は必ずしも“0"クリアす
る必要はなく、S324の処理は必ずしも行わなくてもよ
い。
As a result of the contents of onpt is -1 at S 325, S
Because the contents of onbuf (n-1) in 324 is not to be subsequently accessed, its contents are always "0" need not be cleared, the processing of S 324 is not necessarily performed.

更に、キャンセルされるべき内容がonbuf(0)にな
く、onbuf(1)以降に存在するような場合には、S320
→S326→S317→S320のループにより、キャンセルされる
べき内容が見つかるまで配列の内容が検索される。
Furthermore, without the contents to be canceled onbuf (0), when such are present in onbuf (1) and later, S 320
In the loop of → S 326 → S 317 → S 320 , the contents of the array are searched until the contents to be canceled are found.

一方、例えば第9図のタイミングt4に対応するイベン
トデータであるキーコードG4が16分音符でなくそれ以上
の音符長であった場合には、キーコードG4オンのイベン
トデータが読み出されてからキーコードG4のオフのイベ
ントデータが読み出されるまでの時間間隔が、タイミン
グt6の最初に再生処理に入ったときのtimplayとsegwait
の差に相当する時間間隔“1"よりも大きいため、タイミ
ングt6においてはキーコードG4はキャンセルされずに発
音指示が行われ、それに対応する楽音は、上記オンから
オフまでの時間間隔から上記timplayとsegwaitの差に相
当する時間間隔を差し引いた分の時間だけ発音される。
On the other hand, for example, when the key code G 4 is event data corresponding to the timing t 4 of FIG. 9 was more note length rather than 16-note is read out keycode G 4 on the event data is the time interval until the event data off of a key code G 4 is read from the, Timplay and segwait when first entered the reproduction processing timing t 6
Larger than the time interval "1" corresponding to a difference between, at time t 6 keycode G 4 are performed the sounding instruction without being canceled, tone corresponding to it, the time interval between off from the on The sound is produced for the time obtained by subtracting the time interval corresponding to the difference between timplay and segwait.

以上の再生処理は、第9図のように自動演奏データと
して16分音符の連続が指定され、イベントデータがタイ
ムデータ“1"の間隔で指定されている場合を例に説明し
たが、16分音符以上の音符長を有する場合にもそれに応
じたタイムデータが順次segwaitに格納され、timplayの
内容と比較されることにより、各音符長に対応したタイ
ミングで同様の動作が実現される。
In the above-described reproduction processing, as shown in FIG. 9, a series of sixteenth notes has been specified as the automatic performance data, and the event data has been specified at intervals of time data "1". Even when the note length is longer than a note, time data corresponding to the note length is sequentially stored in the segwait and compared with the contents of timplay, so that a similar operation is realized at a timing corresponding to each note length.

〔発明の効果〕〔The invention's effect〕

本発明によれば、自動演奏制御処理の繰り返しがテン
ポに追いつかなくなる場合が発生しても、自動演奏制御
処理の繰り返しがテンポより遅れた分だけ自動演奏のタ
イミングが早められる。また、遅れが大きくなると1回
のタイミングで自動演奏記憶手段からイベントデータを
読み出す処理が複数回繰り返されてテンポより遅れた分
のイベントデータが適宜キャンセルされ、遅れた分の発
音が行われないように制御される。
According to the present invention, even when the repetition of the automatic performance control processing cannot keep up with the tempo, the timing of the automatic performance is advanced by an amount that is delayed from the tempo. When the delay becomes large, the process of reading out the event data from the automatic performance storage means at one time is repeated a plurality of times, so that the event data delayed from the tempo is appropriately canceled, and the delayed sound is not generated. Is controlled.

以上のような制御処理により、再生テンポを上げても
聴き苦しさの少ない自動演奏を実現することが可能とな
る。
With the above control processing, it is possible to realize an automatic performance with less listening difficulty even if the reproduction tempo is increased.

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

第1図は、本発明の実施例のブロック図、 第2図は、本実施例におけるメインルーチンの動作フロ
ーチャート、 第3図は、再生の動作フローチャート、 第4図は、発音・消音処理の動作フローチャート、 第5図は、自動演奏データの説明図、 第6図は、4分音符のテンポが60のときの動作説明図、 第7図は、4分音符のテンポが255のときの動作説明
図、 第8図は、4分音符のテンポが60のときの動作タイミン
グチャート、 第9図は、4分音符のテンポが255のときの動作タイミ
ングチャートである。 101……マイコン、 102……ROM、 103……タイマ、 105……RAM、 106……音源、 111……テンポアップキー、 112……テンポダウンキー.
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is an operation flowchart of a main routine in the embodiment, FIG. 3 is an operation flowchart of reproduction, and FIG. Flowchart, FIG. 5 is an explanatory diagram of the automatic performance data, FIG. 6 is an explanatory diagram of the operation when the tempo of the quarter note is 60, and FIG. 7 is an operational diagram when the tempo of the quarter note is 255. FIG. 8 is an operation timing chart when the tempo of the quarter note is 60, and FIG. 9 is an operation timing chart when the tempo of the quarter note is 255. 101: microcomputer, 102: ROM, 103: timer, 105: RAM, 106: sound source, 111: tempo up key, 112: tempo down key.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】自動演奏記憶手段から、音源における楽音
の発音動作を制御するためのイベントデータを、それと
対に記憶されているタイムデータを読み出しながらその
タイムデータに応じたタイミングで順次読み出し、該イ
ベントデータに基づき音源に発音制御指示を行う処理を
含む自動演奏制御処理を、一連の処理からなるメインル
ーチンの一部の処理として繰り返し実行することによ
り、音源の自動演奏を行わせる自動演奏装置であって、 自動演奏の開始時から、任意に設定されたテンポに基づ
く周期でカウントアップするタイマ値を記憶するタイマ
値記憶手段を有し、 更に、前記自動演奏制御処理は、 該タイマ値が現在前記自動演奏記憶手段から読み出され
ているタイムデータ以上となったか否かを判定し、その
判定が真の場合に以下の第2〜第6の処理を実行し、そ
の判定が偽の場合に今回のタイミングの処理を終了する
第1の処理と、 前記タイマ値から前記タイムデータを減算した値を新た
なタイマ値とする第2の処理と、 前記自動演奏記憶手段から新たなイベントデータを読み
出す第3の処理と、 該第3の処理で読み出されたイベントデータに基づいて
音源に発音制御指示を行う第4の処理と、 該第4の処理の終了後、前記第2の処理に基づく新たな
タイマ値と前記第3の処理に基づく新たなイベントデー
タに対応するタイムデータについて前記第1の処理を繰
り返す第5の処理と、 今回のタイミングにおいて、任意の楽音の発音を指示す
るイベントデータとその楽音を消音を指示するイベント
データとが前記自動演奏記憶手段から続けて読み出され
た場合に、前記第4の処理を実行せずに音源に対してそ
の楽音の発音制御指示を行わないように制御を行う第6
の処理と、 からなることを特徴とする自動演奏装置。
An event data for controlling a tone generation operation of a tone in a sound source is sequentially read from an automatic performance storage means at a timing corresponding to the time data while reading time data stored in a pair with the event data. An automatic performance device that performs an automatic performance of a sound source by repeatedly executing an automatic performance control process including a process of instructing a sound source based on event data as a part of a main routine consisting of a series of processes. And a timer value storage means for storing a timer value that counts up at a cycle based on an arbitrarily set tempo from the start of the automatic performance, and the automatic performance control process further comprises: It is determined whether or not the time data is equal to or longer than the time data read from the automatic performance storage means. A second process to execute a second process to a sixth process, and when the determination is false, a first process to end the process of the current timing, and a value obtained by subtracting the time data from the timer value as a new timer value A second process for reading out new event data from the automatic performance storage means; and a fourth process for instructing a sound source to generate sound based on the event data read out in the third process. And after the end of the fourth process, the first process is repeated for a new timer value based on the second process and time data corresponding to new event data based on the third process. If the event data for instructing the sounding of an arbitrary musical tone and the event data for instructing the silencing of the musical tone are successively read from the automatic performance storage means at the current timing, The sixth control is performed so that the tone generation control instruction is not issued to the sound source without executing the fourth processing.
And an automatic performance device comprising:
【請求項2】自動演奏記憶手段から、音源における楽音
の発音動作を制御するためのイベントデータを、それと
対に記憶されているタイムデータを読み出しながらその
タイムデータに応じたタイミングで順次読み出し、該イ
ベントデータに基づき音源に発音制御指示を行う処理を
含む自動演奏制御処理を、一連の処理からなるメインル
ーチンの一部の処理として繰り返し実行することによ
り、音源の自動演奏を行わせる自動演奏装置において、 前記自動演奏制御処理が繰り返される毎に、該繰り返し
動作が、任意に設定されたテンポに比べてどの程度遅延
しているかを検出する遅延検出手段(S304)と、 前記遅延検出手段で検出される遅延量に対応させて、次
のイベントデータの読み出しタイミングを早めながら前
記自動演奏制御処理を実行し、その結果、今回の自動演
奏制御処理において任意の楽音の発音を指示するイベン
トデータとその楽音の消音を指示するイベントデータと
が前記自動演奏記憶手段から続けて読み出された場合
に、音源対してその楽音の発音制御指示を行わないよう
に制御を行うタイミング制御手段と、 を有することを特徴とする自動演奏装置。
2. Event data for controlling a tone generation operation of a tone in a sound source is sequentially read from an automatic performance storage means at a timing according to the time data while reading time data stored in a pair with the event data. An automatic performance device that performs an automatic performance of a sound source by repeatedly executing an automatic performance control process including a process of instructing a sound source based on event data as a part of a main routine consisting of a series of processes. Each time the automatic performance control process is repeated, a delay detecting means (S304) for detecting how much the repetitive operation is delayed compared to an arbitrarily set tempo; The automatic performance control process is executed while the readout timing of the next event data is advanced according to the delay amount As a result, if the event data instructing the sounding of an arbitrary musical tone and the event data instructing the silencing of the musical tone are successively read out from the automatic musical performance storage means in the automatic performance control processing of this time, And a timing control means for performing control so as not to issue a tone generation control instruction of the musical tone.
JP2241458A 1990-09-12 1990-09-12 Automatic performance device Expired - Fee Related JP2836028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2241458A JP2836028B2 (en) 1990-09-12 1990-09-12 Automatic performance device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2241458A JP2836028B2 (en) 1990-09-12 1990-09-12 Automatic performance device

Publications (2)

Publication Number Publication Date
JPH04120595A JPH04120595A (en) 1992-04-21
JP2836028B2 true JP2836028B2 (en) 1998-12-14

Family

ID=17074615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2241458A Expired - Fee Related JP2836028B2 (en) 1990-09-12 1990-09-12 Automatic performance device

Country Status (1)

Country Link
JP (1) JP2836028B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030080116A (en) * 2002-04-03 2003-10-11 송문규 Repetition remaking hour schedule theym the digital piano which prepares the repetition studying function due to acceleration
JP7124371B2 (en) * 2018-03-22 2022-08-24 カシオ計算機株式会社 Electronic musical instrument, method and program

Also Published As

Publication number Publication date
JPH04120595A (en) 1992-04-21

Similar Documents

Publication Publication Date Title
US5350880A (en) Apparatus for varying the sound of music as it is automatically played
US8106287B2 (en) Tone control apparatus and method using virtual damper position
US20050211074A1 (en) Tone control apparatus and method
US20010027714A1 (en) Tone generation apparatus and method for simulating tone effect imparted by damper pedal
JP2624090B2 (en) Automatic performance device
JP3239411B2 (en) Electronic musical instrument with automatic performance function
US5654517A (en) Automatic performance device having a function of modifying tone generation timing
JP2836028B2 (en) Automatic performance device
US6066793A (en) Device and method for executing control to shift tone-generation start timing at predetermined beat
JPH0916172A (en) Musical performance practice device
JP3844286B2 (en) Automatic accompaniment device for electronic musical instruments
JP2629418B2 (en) Music synthesizer
JP2773638B2 (en) Automatic performance device
JP3800778B2 (en) Performance device and recording medium
JPH096343A (en) Musical tone signal generator
JP4106798B2 (en) Sound generator
JP3173704B2 (en) Automatic performance device
JP2625800B2 (en) Automatic performance device
JP4214845B2 (en) Automatic arpeggio device and computer program applied to the device
JP2601039B2 (en) Electronic musical instrument
JP2526834B2 (en) Performance control device
JP2002032083A (en) Electronic musical instrument
JP4186855B2 (en) Musical sound control device and program
JP2002221961A (en) Device for practicing musical performance
JP3716701B2 (en) Sound channel assignment method and apparatus

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071009

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091009

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees