JP3324881B2 - Automatic performance device - Google Patents

Automatic performance device

Info

Publication number
JP3324881B2
JP3324881B2 JP22431594A JP22431594A JP3324881B2 JP 3324881 B2 JP3324881 B2 JP 3324881B2 JP 22431594 A JP22431594 A JP 22431594A JP 22431594 A JP22431594 A JP 22431594A JP 3324881 B2 JP3324881 B2 JP 3324881B2
Authority
JP
Japan
Prior art keywords
data
sound
code
automatic performance
new
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
JP22431594A
Other languages
Japanese (ja)
Other versions
JPH0863162A (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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing 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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP22431594A priority Critical patent/JP3324881B2/en
Publication of JPH0863162A publication Critical patent/JPH0863162A/en
Application granted granted Critical
Publication of JP3324881B2 publication Critical patent/JP3324881B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、演奏パターンの変更を
適切に行いながら自動演奏を行う自動演奏装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic performance apparatus for performing an automatic performance while appropriately changing a performance pattern.

【0002】[0002]

【従来の技術】従来、予め記憶手段に記憶された数小節
(2〜16小節程度)分の自動演奏データ(以下、「パ
ターンデータ」という。)を繰り返して読み出して音源
に与えることにより所定の演奏パターンを再生する自動
演奏装置が知られている。
2. Description of the Related Art Conventionally, automatic performance data (hereinafter referred to as "pattern data") for several measures (about 2 to 16 measures) stored in advance in a storage means is repeatedly read out and given to a sound source to thereby provide a predetermined sound. There is known an automatic performance device for reproducing a performance pattern.

【0003】かかる自動演奏装置の1つとして、例えば
押鍵操作やMIDIメッセージから得られる押鍵データ
に基づきコード検出を行い、このコード検出の結果に応
じて演奏パターンを変更しながら自動演奏を行うもの
(第1の自動演奏装置)や、或いは自動演奏中に新たに
特定のパートを追加して再生するもの(第2の自動演奏
装置)等が考えられている。
As one of such automatic performance devices, for example, a key is detected based on key depression data obtained from a key depression operation or a MIDI message, and an automatic performance is performed while changing a performance pattern in accordance with a result of the code detection. A device (a first automatic performance device) or a device (a second automatic performance device) that newly adds and reproduces a specific part during an automatic performance has been considered.

【0004】第1の自動演奏装置においては、コードが
検出されたタイミングで、コード検出前に再生されてい
たコード構成音(以下、「旧コード構成音」という。)
からコード検出に応じたコード構成音(以下、「新コー
ド構成音」という。)の再生に切り替える必要がある。
この場合、旧コード構成音には含まれていたが新コー
ド構成音には含まれていない音、旧コード構成音には
含まれていなかったが新コード構成音に含まれている
音、並びに、旧コード構成音及び新コード構成音の双
方に含まれる音の3種類がある。
[0004] In the first automatic performance device, at the timing when a chord is detected, the chord component sound reproduced before the chord detection (hereinafter referred to as "old chord component sound").
It is necessary to switch to the reproduction of a chord constituent sound (hereinafter, referred to as “new chord constituent sound”) according to the chord detection.
In this case, the sound included in the old chord sound but not included in the new chord sound, the sound not included in the old chord sound but included in the new chord sound, and There are three types of sounds included in both the old chord constituent sounds and the new chord constituent sounds.

【0005】従来の第1の自動演奏装置においては、上
記の場合は、旧コード構成音には含まれていたが新コ
ード構成音には含まれていない音を消音し、上記の場
合は、旧コード構成音には含まれていなくて新コード構
成音に新たに含まれることとなった音を新たに発音し、
上記の場合は、コード検出がなされたタイミングで同
じ音をリトリガー(再発音)する処理が行われている。
特に、上記のケースでは、同じ音の発音を維持するた
めにリトリガー処理が行われるため、当該自動演奏装置
の制御を司る処理装置の負担が増大し、処理効率を悪化
させているという問題があった。
[0005] In the first conventional automatic performance device, in the above case, the sound included in the old chord constituent sound but not included in the new chord constituent sound is silenced. A new sound that is not included in the old chord constituent sound but newly included in the new chord constituent sound is newly pronounced,
In the above case, the same sound is retriggered (reproduced) at the timing when the chord is detected.
In particular, in the above case, since the retrigger process is performed to maintain the sound of the same sound, there is a problem that the load on the processing device that controls the automatic performance device is increased and the processing efficiency is deteriorated. Was.

【0006】また、コードが検出されると現在演奏中の
演奏パターンから新たな演奏パターンに変更され、新た
な演奏パターンのコード構成音で直ちに発音が開始され
る。この場合、コード検出のタイミング(演奏者がコー
ドチェンジを行ったタイミング)によっては、一部のコ
ード構成音の残存キーオン時間(残存ゲートタイム)が
短くなってしまい、音色によってはアタックのエンベロ
ープが最大値まで到達する前に消音されてしまうという
現象が発生する。かかる現象は、上記第2の自動演奏装
置において、新たに特定パートの再生を追加するために
パートスイッチを押下した場合にも、その押下のタイミ
ング如何によって発生する。このような現象が発生する
と、音色によってはアタックの途中までしか発音されな
いという事態が引き起こされ、音楽性が損なわれるとい
う問題があった。
When a chord is detected, the performance pattern currently being played is changed to a new performance pattern, and sound generation is immediately started with the chord constituent sound of the new performance pattern. In this case, the remaining key-on time (remaining gate time) of some chord constituent sounds is shortened depending on the timing of chord detection (timing when the player changes chords), and the attack envelope is maximum depending on the tone. A phenomenon occurs in which the sound is muted before reaching the value. Such a phenomenon occurs in the second automatic performance apparatus even when a part switch is pressed in order to newly add reproduction of a specific part, depending on the timing of the pressing. When such a phenomenon occurs, depending on the timbre, a situation occurs in which the sound is produced only halfway through the attack, and there is a problem that the musicality is impaired.

【0007】[0007]

【発明が解決しようとする課題】本発明は、かかる事情
に鑑みてなされたものであり、その第1の目的は、演奏
パターンが変更されることに伴う処理装置の負担を軽減
して処理効率を高めることのできる自動演奏装置を提供
することにある。
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and a first object of the present invention is to reduce the load on a processing apparatus due to a change in a performance pattern and reduce the processing efficiency. It is an object of the present invention to provide an automatic performance device capable of enhancing the performance.

【0008】また、本発明の第2の目的は、演奏パター
ンが変更されても音楽性が損なわれることのない自動演
奏装置を提供することにある。
It is a second object of the present invention to provide an automatic performance apparatus which does not lose its musicality even if the performance pattern is changed.

【0009】[0009]

【課題を解決するための手段】上記第1の目的を達成す
るために、請求項1に記載の発明は、少なくともキーコ
ードが含まれた楽音データを出力することにより自動演
奏を行わせる自動演奏装置において、複数パートのパタ
ーンデータを記憶している第1の記憶手段と、該第1の
記憶手段から読み出されたパターンデータに応じて新た
に発音すべき音に対応した新楽音データを作成する作成
手段と、現在発音中の音に対応した現楽音データを記憶
している第2の記憶手段と、該第2の記憶手段に記憶さ
れている現楽音データに含まれるキーコードと、前記作
成手段で作成された新楽音データに含まれるキーコード
とが同一であれば、該新楽音データの出力を抑止する制
御手段、とを備えたことを特徴とする。
According to a first aspect of the present invention, there is provided an automatic performance apparatus for performing an automatic performance by outputting tone data including at least a key code. In the apparatus, a first storage means for storing pattern data of a plurality of parts, and new musical tone data corresponding to a sound to be newly generated according to the pattern data read from the first storage means. Creating means, a second storage means for storing current musical sound data corresponding to a sound currently being generated, a key code included in the current musical sound data stored in the second storing means, Control means for suppressing output of the new musical tone data if the key code included in the new musical tone data created by the creating means is the same.

【0010】また、同様の目的で、請求項2に記載の発
明は、請求項1に記載の発明における前記制御手段が、
前記第2の記憶手段に記憶されている現楽音データに含
まれるキーコードと、前記作成手段で作成された新楽音
データに含まれるキーコードとが同一であれば、更に前
記現楽音データに基づき発音すべき音の音色と前記新楽
音データに基づき発音すべき音の音色とが同一であるか
どうかを調べ、同一の場合に前記新楽音データの出力を
抑止するように構成したことを特徴とする。
[0010] Further, for the same purpose, the invention according to claim 2 is characterized in that the control means in the invention according to claim 1 comprises:
If the key code included in the current musical tone data stored in the second storage means is the same as the key code included in the new musical tone data created by the creating means, further based on the current musical tone data It is configured to check whether the timbre of the sound to be pronounced and the timbre of the sound to be pronounced based on the new musical tone data are the same, and to suppress the output of the new musical tone data if they are identical. I do.

【0011】また、上記第2の目的を達成するために、
請求項3に記載の発明は、少なくともキーコード及びゲ
ートタイムが含まれた楽音データを出力することにより
自動演奏を行わせる自動演奏装置において、複数パート
のパターンデータを記憶している第1の記憶手段と、該
第1の記憶手段から読み出されたパターンデータに応じ
て新たに発音すべき音に対応した新楽音データを作成す
る作成手段と、現在発音中の音に対応した現楽音データ
を記憶している第2の記憶手段と、該第2の記憶手段に
記憶されている現楽音データに含まれるキーコードと異
なるキーコードを有する新楽音データが前記作成手段で
作成された場合に、該新楽音データの残存ゲートタイム
が所定時間以下であれば該所定時間以上になるように補
正して出力する制御手段、とを備えたことを特徴とす
る。
In order to achieve the second object,
According to a third aspect of the present invention, there is provided an automatic performance device for performing an automatic performance by outputting musical tone data including at least a key code and a gate time, wherein first pattern data for a plurality of parts is stored. Means for generating new musical tone data corresponding to a sound to be newly generated according to the pattern data read from the first storage means; A second storing means for storing the new musical tone data having a key code different from a key code included in the current musical tone data stored in the second storing means, Control means for correcting and outputting the remaining gate time of the new musical tone data so as to be longer than the predetermined time if the remaining gate time is shorter than the predetermined time.

【0012】また、同様の目的で、請求項4に記載の発
明は、請求項3に記載の発明において特定パートの発音
を指示する指示手段を更に備え、前記作成手段は、該指
示手段の指示に応じて新楽音データを作成することを特
徴とする。
For the same purpose, the invention according to claim 4 further comprises an instruction means for instructing sounding of a specific part in the invention according to claim 3, and the creating means includes an instruction of the instruction means. And generating new musical tone data according to

【0013】また、同様の目的で、請求項5に記載の発
明は、請求項3に記載の発明において与えられた押鍵デ
ータに基づきコードを検出するコード検出手段を更に備
え、前記作成手段は、該コード検出手段で検出されたコ
ードに応じて選択される演奏パターンに基づき新楽音デ
ータを作成することを特徴とする。
For the same purpose, the invention according to claim 5 further comprises a code detection means for detecting a code based on the key press data given in the invention according to claim 3, and the creation means comprises: And generating new tone data based on a performance pattern selected in accordance with the chord detected by the chord detection means.

【0014】[0014]

【作用】請求項1に記載の発明においては、例えばキー
コード、ゲートタイム、ベロシティ等といったデータが
含まれた楽音データを、例えば内部音源又は外部音源等
に出力することにより自動演奏を行わせる自動演奏装置
において、第1の記憶手段から読み出されたパターンデ
ータに応じて新たに発音すべき音に対応した新楽音デー
タを作成し、この作成された新楽音データと第2の記憶
手段に記憶されている現在発音中の音を示す現楽音デー
タとを比較し、現楽音データに含まれるキーコードと新
楽音データに含まれるキーコードとが同一であれば、新
楽音データの出力を抑止するようにしている。
According to the first aspect of the present invention, an automatic performance for performing an automatic performance by outputting, for example, musical tone data including data such as a key code, a gate time, and a velocity to an internal sound source or an external sound source. In the performance device, new tone data corresponding to a sound to be newly generated is created according to the pattern data read from the first storage means, and the created new tone data is stored in the second storage means. Is compared with the current musical tone data indicating the currently sounding sound, and if the key code included in the current musical tone data is the same as the key code included in the new musical tone data, the output of the new musical tone data is suppressed. Like that.

【0015】即ち、新楽音データに基づくリトリガーは
行われず、既に発音中である現楽音データに基づく発音
が継続されることになる。従って、演奏パターンが変更
されることに伴う処理装置の負担が軽減されて処理効率
を高めることができる。
That is, the retrigger based on the new musical tone data is not performed, and the pronunciation based on the current musical tone data that is already being produced is continued. Therefore, the load on the processing device due to the change of the performance pattern is reduced, and the processing efficiency can be improved.

【0016】請求項2に記載の発明においては、上記請
求項1に記載の発明において、現楽音データに含まれる
キーコードと新楽音データに含まれるキーコードとが同
一であれば、更に前記現楽音データに基づき発音すべき
音の音色と前記新楽音データに基づき発音すべき音の音
色とが同一であるかどうかを調べ、同一の場合に前記新
楽音データの出力を抑止するようにしている。
According to a second aspect of the present invention, in the first aspect of the present invention, if the key code included in the current musical tone data and the key code included in the new musical tone data are the same, the current musical tone data is further modified. It is checked whether the tone color of the sound to be generated based on the musical tone data is the same as the tone color of the sound to be generated based on the new musical tone data, and if the tone colors are the same, the output of the new musical tone data is suppressed. .

【0017】これにより、例えば演奏パターンによって
音色が異なるように構成された自動演奏装置であって
も、上記双方のキーコードが同一で、且つ音色も同一で
あれば新楽音データの出力は行われず、従って、新楽音
データに基づくリトリガーは行われないこととなり、既
に発音中である現楽音データに基づく発音が継続され
る。従って、この場合も、演奏パターンが変更されるこ
とに伴う処理装置の負担が軽減されて処理効率を高める
ことができる。
Thus, even in an automatic performance apparatus in which the timbre differs depending on the performance pattern, for example, if the two key codes are the same and the timbres are the same, new tone data is not output. Therefore, the retrigger based on the new musical tone data is not performed, and the pronunciation based on the current musical tone data that is already being produced is continued. Therefore, also in this case, the load on the processing device due to the change of the performance pattern is reduced, and the processing efficiency can be improved.

【0018】請求項3に記載の発明においては、例えば
キーコード、ゲートタイム、ベロシティ等といったデー
タが含まれた楽音データを、例えば内部音源又は外部音
源等に出力することにより自動演奏を行わせる自動演奏
装置において、第1の記憶手段から読み出されたパター
ンデータに応じて新たに発音すべき音に対応した新楽音
データを作成し、この作成された新楽音データと第2の
記憶手段に記憶されている現在発音中の音を示す現楽音
データとを比較し、現楽音データに含まれるキーコード
と異なるキーコードを有する新楽音データが作成された
場合に、その新楽音データの残存ゲートタイムが所定時
間以下であれば該所定時間以上になるように補正して出
力するようにしている。
According to the third aspect of the present invention, an automatic performance for performing an automatic performance by outputting musical tone data including data such as a key code, a gate time, and a velocity to, for example, an internal sound source or an external sound source. In the performance device, new tone data corresponding to a sound to be newly generated is created according to the pattern data read from the first storage means, and the created new tone data is stored in the second storage means. Is compared with the current tone data indicating the sound currently being played, and if new tone data having a key code different from the key code included in the current tone data is created, the remaining gate time of the new tone data is generated. Is smaller than or equal to a predetermined time, the output is corrected so as to be equal to or longer than the predetermined time.

【0019】これにより、例えば演奏パターンが変更さ
れた場合に、残存ゲートタイムが短くて発音してもアタ
ックのエンベロープが最大値まで到達せずに消音される
ような音がなくなり、少なくともアタック音の発音は完
全に行われる。従って、演奏パターンが変更されても音
楽性が損なわれることはない。
Thus, for example, when the performance pattern is changed, even if the remaining gate time is short, even if the sound is generated, there is no sound which is not muted without reaching the maximum value of the attack envelope. Pronunciation is complete. Therefore, the musicality is not impaired even if the performance pattern is changed.

【0020】請求項4に記載の発明においては、例えば
キーコード、ゲートタイム、ベロシティ等といったデー
タが含まれた楽音データを、例えば内部音源又は外部音
源等に出力することにより自動演奏を行わせる自動演奏
装置において、特定パートの発音が指示された場合に、
該パートに対応するパターンデータを第1の記憶手段か
ら読み出して新たに発音すべき音に対応した新楽音デー
タを作成し、この作成された新楽音データと第2の記憶
手段に記憶されている現在発音中の音を示す現楽音デー
タとを比較し、現楽音データに含まれるキーコードと異
なるキーコードを有する新楽音データが作成された場合
に、その新楽音データの残存ゲートタイムが所定時間以
下であれば該所定時間以上になるように補正して出力す
るようにしている。
According to the fourth aspect of the present invention, automatic performance is performed by outputting musical tone data including data such as a key code, a gate time, and a velocity to, for example, an internal sound source or an external sound source. In the performance device, when the pronunciation of a specific part is instructed,
The pattern data corresponding to the part is read from the first storage means to create new tone data corresponding to a sound to be newly generated, and the created new tone data and the second tone data are stored in the second storage means. The current musical tone data indicating the sound currently being generated is compared with the current musical tone data. If new musical tone data having a key code different from the key code included in the current musical tone data is created, the remaining gate time of the new musical tone data is set to a predetermined time. If it is less than the predetermined time, the output is corrected so as to be longer than the predetermined time.

【0021】これにより、例えばパートスイッチ等で特
定パートの再生開始が指示されることにより任意のタイ
ミングで演奏パターンが変更された場合であっても、残
存ゲートタイムが短くて発音してもアタックのエンベロ
ープが最大値まで到達せずに消音されるような音がなく
なり、少なくともアタック音の発音は完全に行われる。
従って、演奏パターンが変更されても音楽性が損なわれ
ることはない。
Thus, even if the performance pattern is changed at an arbitrary timing by, for example, instructing the reproduction start of a specific part by a part switch or the like, even if the remaining gate time is short and the sound is generated, the attack is not affected. There is no sound that would cause the envelope to be silenced without reaching the maximum value, and at least the attack sound would be completely generated.
Therefore, the musicality is not impaired even if the performance pattern is changed.

【0022】請求項5に記載の発明においては、例えば
キーコード、ゲートタイム、ベロシティ等といったデー
タが含まれた楽音データを、例えば内部音源又は外部音
源等に出力することにより自動演奏を行わせる自動演奏
装置において、例えば鍵盤装置の押鍵やMIDIデータ
を受信したことにより発生される押鍵データに基づきコ
ードを検出し、この検出されたコードに応じて演奏パタ
ーンが変更された場合に、該演奏パターンに対応するパ
ターンデータを第1の記憶手段から読み出して新たに発
音すべき音に対応した新楽音データを作成し、この作成
された新楽音データと第2の記憶手段に記憶されている
現在発音中の音を示す現楽音データとを比較し、現楽音
データに含まれるキーコードと異なるキーコードを有す
る新楽音データが作成された場合に、その新楽音データ
の残存ゲートタイムが所定時間以下であれば該所定時間
以上になるように補正して出力するようにしている。
According to the fifth aspect of the present invention, an automatic performance for performing an automatic performance by outputting musical tone data including data such as a key code, a gate time, a velocity and the like to, for example, an internal sound source or an external sound source. In the performance device, for example, when a chord is detected based on key press data of a keyboard device or key press data generated by receiving MIDI data, when a performance pattern is changed in accordance with the detected code, the performance is changed. The pattern data corresponding to the pattern is read out from the first storage means to create new tone data corresponding to the sound to be newly generated, and the created new tone data and the current tone data stored in the second storage means are stored. The new musical tone data having a key code different from the key code included in the current musical tone data is compared with the current musical tone data indicating the sound being pronounced. When made, the remaining gate time of the new musical sound data is to be output to correct so that above said predetermined time equal to or less than a predetermined time.

【0023】これにより、例えば押鍵やMIDIデータ
の受信に伴ってコードが検出されることにより任意のタ
イミングで演奏パターンが変更された場合であっても、
残存ゲートタイムが短くて発音してもアタックのエンベ
ロープが最大値まで到達せずに消音されるような音がな
くなり、少なくともアタック音の発音は完全に行われ
る。従って、演奏パターンが変更されても音楽性が損な
われることはない。
Thus, even if the performance pattern is changed at an arbitrary timing due to, for example, a chord being detected in response to key depression or reception of MIDI data,
Even if the remaining gate time is short and the sound is pronounced, the attack envelope does not reach the maximum value and there is no sound that is muted, and at least the attack sound is completely sounded. Therefore, the musicality is not impaired even if the performance pattern is changed.

【0024】[0024]

【実施例】以下、本発明の自動演奏装置の実施例につ
き、図面を参照しながら詳細に説明する。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an automatic musical instrument according to an embodiment of the present invention.

【0025】図1は、本発明の自動演奏装置の実施例の
構成を示すブロック図である。本自動演奏装置は、中央
処理装置(以下、「CPU」という。)10、リードオ
ンリメモリ(以下、「ROM」という。)11、ランダ
ムアクセスメモリ(以下、「RAM」という。)12、
操作パネル13、楽音発生器14、タイマ16、MID
Iコントローラ17及びFDコントローラ18がシステ
ムバス30を介して相互に接続されて構成されている。
システムバス30は、例えばアドレス線、データ線及び
制御信号線等で成り、上記各構成要素間で各種データを
送受するために使用される。
FIG. 1 is a block diagram showing the configuration of an embodiment of an automatic performance apparatus according to the present invention. This automatic performance apparatus includes a central processing unit (hereinafter, referred to as “CPU”) 10, a read-only memory (hereinafter, referred to as “ROM”) 11, a random access memory (hereinafter, referred to as “RAM”) 12,
Operation panel 13, tone generator 14, timer 16, MID
The I controller 17 and the FD controller 18 are connected to each other via a system bus 30.
The system bus 30 includes, for example, an address line, a data line, a control signal line, and the like, and is used for transmitting and receiving various data between the above-described components.

【0026】CPU10は作成手段、制御手段及びコー
ド検出手段に対応するものであり、各手段はこのCPU
10の処理により実現されている。このCPU10は、
ROM11に格納されている制御プログラムに従って、
本自動演奏装置の全体を制御する。このCPU10に
は、2つの割込信号入力端子INT1及びINT2が設
けられている。割込信号入力端子INT1にはMIDI
コントローラ17から、割込信号入力端子INT2には
タイマ16からそれぞれ割込信号が供給される。このC
PU10の動作の詳細については後述する。
The CPU 10 corresponds to a creation unit, a control unit, and a code detection unit.
This is realized by the processing of No. 10. This CPU 10
According to the control program stored in the ROM 11,
It controls the entire automatic performance device. The CPU 10 is provided with two interrupt signal input terminals INT1 and INT2. MIDI is provided at the interrupt signal input terminal INT1.
An interrupt signal is supplied from the timer 17 to the interrupt signal input terminal INT2 from the controller 17. This C
Details of the operation of the PU 10 will be described later.

【0027】ROM11には、上述したCPU10を動
作させるための制御プログラムが記憶されている他、C
PU10が各種処理に用いる種々の固定データが記憶さ
れている。このROM11の内容はCPU10により読
み出される。即ち、CPU10は、ROM11から制御
プログラム(命令)を読み出して解釈・実行すると共
に、所定の固定データを読み出して各種処理に使用す
る。
The ROM 11 stores a control program for operating the above-described CPU 10 and a C program.
Various fixed data used by the PU 10 for various processes are stored. The contents of the ROM 11 are read by the CPU 10. That is, the CPU 10 reads out a control program (command) from the ROM 11, interprets and executes the control program, and reads out predetermined fixed data and uses it for various processes.

【0028】RAM12は第1の記憶手段に対応するも
のである。RAM12は、CPU10が使用する種々の
データを一時記憶する。このRAM12には、例えばバ
ッファ、レジスタ、カウンタ、フラグ等の各種領域が定
義されている。本実施例で使用する具体的なバッファ、
レジスタ、カウンタ、フラグ等については、以下におい
て出現する都度説明するが、ここでは、「受信バッフ
ァ」、「レジスタ群n」及び「小節レジスタと拍レジス
タ」について説明しておく。
The RAM 12 corresponds to the first storage means. The RAM 12 temporarily stores various data used by the CPU 10. Various areas such as buffers, registers, counters, and flags are defined in the RAM 12. A specific buffer used in this embodiment,
Registers, counters, flags, and the like will be described each time they appear, but here, the "reception buffer", "register group n", and "measure register and beat register" will be described.

【0029】受信バッファ 受信バッファは、後述するMIDIコントローラ17か
ら受信したMIDIデータを一時記憶するために使用さ
れる。この受信バッファは、例えば図13に示されるよ
うに、RAM12に定義されたカウンタCTR、ポイン
タPTR及び記憶エリアとで構成され、CPU10の制
御によりFIFO(ファーストイン−ファーストアウ
ト)メモリとして機能するようになっている。記憶エリ
アは、例えば256個のエントリを有し、各エントリに
はMIDIデータが順次記憶される。
Receive Buffer The receive buffer is used to temporarily store MIDI data received from a MIDI controller 17 described later. As shown in FIG. 13, for example, the reception buffer includes a counter CTR, a pointer PTR, and a storage area defined in the RAM 12, and functions as a FIFO (first-in first-out) memory under the control of the CPU 10. Has become. The storage area has, for example, 256 entries, and MIDI data is sequentially stored in each entry.

【0030】カウンタCTRは受信したMIDIデータ
を書き込むべき記憶エリアの位置を指定する。このカウ
ンタCTRは、常に最後に書き込まれたMIDIデータ
の次のアドレスを指示するように制御される。このカウ
ンタCTRの初期値は「0」であり、MIDIデータが
書き込まれる度にインクリメントされ、その結果が最大
値TOPを越えた場合は最小値BTMに循環する。
The counter CTR specifies the position of the storage area where the received MIDI data is to be written. The counter CTR is controlled so as to always point to the next address of the MIDI data written last. The initial value of the counter CTR is "0", and is incremented each time MIDI data is written. When the result exceeds the maximum value TOP, the counter circulates to the minimum value BTM.

【0031】ポインタPTRは記憶エリア中の、読み出
すべきMIDIデータの位置を指示する。このポインタ
PTRは、常に最後に読み出されたMIDIデータの次
のアドレス、つまり次に読み出すべきMIDIデータの
アドレスを指示するように制御される。このポインタP
TRの初期値は「0」であり、MIDIデータが読み込
まれる度にインクリメントされ、その結果が最大値TO
Pを越えた場合は最小値BTMに循環する。
The pointer PTR indicates the position of the MIDI data to be read in the storage area. The pointer PTR is controlled so as to always point to the next address of the MIDI data read last, that is, the address of the MIDI data to be read next. This pointer P
The initial value of TR is “0”, and is incremented each time MIDI data is read, and the result is set to the maximum value TO.
If it exceeds P, it circulates to the minimum value BTM.

【0032】この受信バッファは、カウンタCTRの内
容とポインタPTRの内容とが一致するときはエンプテ
ィであると判断される。なお、カウンタCTRをインク
リメントした結果、カウンタCTRの内容がポインタP
TRの内容に一致することとなる場合は受信バッファは
満杯であるのでMIDIデータの受信を抑止するように
制御される。カウンタCTRの内容とポインタPTRの
内容とが一致しない場合は、受信バッファにMIDIデ
ータが存在することが判断される。
When the content of the counter CTR matches the content of the pointer PTR, the receiving buffer is determined to be empty. As a result of incrementing the counter CTR, the contents of the counter CTR are
If the contents match the contents of the TR, the reception buffer is full, so that the reception of MIDI data is controlled to be suppressed. If the contents of the counter CTR and the contents of the pointer PTR do not match, it is determined that MIDI data exists in the reception buffer.

【0033】この受信バッファへのMIDIデータの書
込みは後述するMIDI−IN割込処理ルーチンにて行
われ、受信バッファからのMIDIデータの読み出しは
後述するMIDI−IN処理ルーチンで行われる。な
お、本実施例では受信バッファをRAM12内に形成
し、MIDIデータの書込み/読み出しの制御はCPU
10で行うように構成したが、これらの代わりに周知の
FIFOメモリ素子を用いて構成することもできる。
The writing of MIDI data to the receiving buffer is performed by a MIDI-IN interrupt processing routine described later, and the reading of MIDI data from the receiving buffer is performed by a MIDI-IN processing routine described later. In this embodiment, a reception buffer is formed in the RAM 12, and control of writing / reading of MIDI data is performed by a CPU.
Although the configuration is performed in step 10, the configuration may be made using a well-known FIFO memory element instead of these.

【0034】レジスタ群n レジスタ群nは第2の記憶手段に対応するものである。
レジスタ群n(nはパート番号に対応しており、n=1
〜4である。)は、パート毎の発音を管理するために使
用される。本実施例における各パートのポリフォニック
数を「8」とすると、このレジスタ群nは、例えば図1
4(A)に示されるように、8個のブロックで構成され
る。各ブロックは1音に対応しており、楽音データとし
ての「キーコード及びそのオン/オフ」、「補正ベロシ
ティ」、「残存ゲートタイム」の3バイトで構成されて
いる。
Register Group n The register group n corresponds to the second storage means.
Register group n (n corresponds to the part number, n = 1
~ 4. ) Is used to manage pronunciation for each part. Assuming that the number of polyphonics of each part in the present embodiment is “8”, this register group n is, for example, as shown in FIG.
As shown in FIG. 4 (A), it is composed of eight blocks. Each block corresponds to one sound, and is composed of three bytes of "key code and its on / off", "corrected velocity", and "remaining gate time" as musical sound data.

【0035】キーコード(7ビット)は音高を示すため
に使用される。オン/オフビット(1ビット)はキーコ
ードで示される音がキーオン状態にあるか又はキーオフ
状態にあるかを示すために使用される。補正ベロシティ
(7ビット)はパターンデータ中のベロシティをベロシ
ティ補正データに応じて補正したデータである。残存ゲ
ートタイム(7ビット)は発音中の音(オン/オフビッ
トが「1」になっている音)の残りの発音時間を示すた
めに使用される。図14(A)においては、1つのパー
トに対するレジスタ群のみ示されているが、実際はパー
ト1〜4のそれぞれに対して同じ構成のレジスタ群が設
けられている。
The key code (7 bits) is used to indicate a pitch. The on / off bit (1 bit) is used to indicate whether the sound indicated by the key code is in a key-on state or a key-off state. The corrected velocity (7 bits) is data obtained by correcting the velocity in the pattern data according to the velocity correction data. The remaining gate time (7 bits) is used to indicate the remaining sounding time of the sound being sounded (the sound whose on / off bit is "1"). FIG. 14A shows only a register group for one part, but actually, a register group having the same configuration is provided for each of parts 1 to 4.

【0036】小節レジスタと拍レジスタ 小節レジスタBRRは、小節の進行を計数するレジスタ
である。この小節レジスタBRRは、10進数4桁分に
相当する計数が可能である。また、拍レジスタBTRは
小節内の拍の進行を計数するレジスタである。この拍レ
ジスタBTRは、1ステップタイム毎にカウントアップ
される。本実施例では、1拍を48ステップの分解能と
している。従って、拍レジスタBTRは、4拍子の場合
は4拍、つまり192ステップを計数したらゼロにラウ
ンドする。この際、小節レジスタBRRはインクリメン
トされるように制御される。この小節レジスタBRRと
拍レジスタBTRとは、揺らぎを発生させるためのステ
ップタイム補正データ及びベロシティ補正データを読み
出すために使用される(詳細は後述する)。
Measure Register and Beat Register The measure register BRR is a register for counting the progress of measures. This measure register BRR can perform counting corresponding to four decimal digits. The beat register BTR is a register for counting the progress of a beat in a bar. The beat register BTR is counted up for each step time. In this embodiment, one beat has a resolution of 48 steps. Therefore, the beat register BTR rounds to zero after counting four beats in the case of four beats, that is, 192 steps. At this time, the bar register BRR is controlled so as to be incremented. The bar register BRR and the beat register BTR are used to read out step time correction data and velocity correction data for generating fluctuation (the details will be described later).

【0037】このRAM12には、上述したようなバッ
ファ、レジスタ等が定義されている他、パターンデータ
及び揺らぎデータが格納されるようになっている。揺ら
ぎデータは、ステップタイム補正データとベロシティ補
正データとで構成されている。以下、これらの各データ
について説明する。
This RAM 12 stores the above-described buffers, registers, etc., and stores pattern data and fluctuation data. The fluctuation data is composed of step time correction data and velocity correction data. Hereinafter, each of these data will be described.

【0038】パターンデータ パターンデータは、例えば2〜16小節程度の演奏パタ
ーンを発生させるために使用される。このパターンデー
タは、例えば図14(B)に示されるような、ステップ
タイム、ノートナンバ(キーコード)、ゲートタイム及
びベロシティといった4バイトのデータの集合で構成さ
れている。個々のパターンデータは、1つの音符に対応
している。ここに、ステップタイムは発音を開始する時
刻を指定するものであり小節の先頭からのステップ数で
規定される。ノートナンバは音高を規定するために使用
される。ゲートタイムは発音時間を規定するために使用
される。ベロシティは発音の強さ(音量)を規定するた
めに使用される。
Pattern Data Pattern data is used to generate a performance pattern of, for example, about 2 to 16 measures. The pattern data is composed of a set of 4-byte data such as a step time, a note number (key code), a gate time, and a velocity, as shown in FIG. Each pattern data corresponds to one musical note. Here, the step time designates the time at which the sound starts, and is defined by the number of steps from the beginning of the bar. The note number is used to define the pitch. The gate time is used to define the sounding time. Velocity is used to define the sound intensity (volume).

【0039】ステップタイム補正データ ステップタイム補正データは、例えば図15にその一部
を示すように、各パート1〜4のそれぞれについて1曲
の全小節分が用意されている。本実施例では1拍(4分
音符)を48ステップの分解能で制御するものとしてい
る。従って、ステップタイム補正データは、図15に拡
大して示すように、各拍のステップタイムを±24ステ
ップの範囲内で変動できるように定義されている。これ
により、最大8分音符の長さまで発音タイミングを遅ら
せ又は進ませることができる。ただし、負側に補正する
場合は、ステップタイム補正データは、後述するパート
1〜4読出処理ルーチン(図9、図10)における処理
の関係上、1つ前のデータに対して「−1ステップ」分
だけ変化するように作成される。
Step Time Correction Data As shown in FIG. 15, for example, part of the step time correction data is prepared for each bar of each of the parts 1-4. In this embodiment, one beat (a quarter note) is controlled with a resolution of 48 steps. Therefore, the step time correction data is defined so that the step time of each beat can be varied within a range of ± 24 steps as shown in an enlarged manner in FIG. This makes it possible to delay or advance the sounding timing up to a maximum length of an eighth note. However, in the case of correcting to the negative side, the step time correction data is obtained by adding “−1 step” to the immediately preceding data due to the processing in the part 1 to 4 reading processing routine (FIGS. 9 and 10) described later. "It is created to change by minutes.

【0040】なお、ステップタイム補正データは、1小
節を4つのエリア(4分音符単位)に分割し、各エリア
毎に用意されている。従って、1つのエリアの中に複数
のキーイベントがある場合は、同一のステップタイム補
正データが使用されることになる。かかるデータ構成に
よりステップタイム補正データの量を小さく抑えること
ができるものとなっている。
The step time correction data is prepared for each area by dividing one bar into four areas (in quarter note units). Therefore, when there are a plurality of key events in one area, the same step time correction data is used. With such a data configuration, the amount of the step time correction data can be reduced.

【0041】ベロシティ補正データ ベロシティ補正データは、例えば図16にその一部を示
すように、各パート1〜4のそれぞれについて1曲の全
小節分が用意されている。本実施例では1拍(4分音
符)毎の補正レートVAnを補正データとして記憶して
いる。即ち、ベロシティ補正データは、図16に拡大し
て示すように、各拍毎に「0.0〜2.0」の範囲内で
変動できるように定義されている。従って、1倍を中心
に0倍から2倍までの範囲でベロシティを補正できる。
Velocity Correction Data As shown in FIG. 16, for example, the velocity correction data is prepared for each bar of each of the parts 1 to 4 for one bar. In this embodiment, the correction rate VAn for each beat (a quarter note) is stored as correction data. That is, the velocity correction data is defined so as to be able to vary within a range of “0.0 to 2.0” for each beat, as shown in an enlarged manner in FIG. Therefore, the velocity can be corrected in a range from 0 to 2 times around 1 time.

【0042】なお、ベロシティ補正データも上記ステッ
プタイム補正データと同様に、1小節を4つのエリア
(4分音符単位)に分割し、各エリア毎に用意されてい
る。従って、1つのエリアの中に複数のキーイベントが
ある場合は、同一のベロシティ補正データが使用される
ことになる。かかるデータ構成によりベロシティ補正デ
ータの量を小さく抑えることができるものとなってい
る。
The velocity correction data is also prepared for each area by dividing one bar into four areas (in quarter note units), similarly to the step time correction data. Therefore, when there are a plurality of key events in one area, the same velocity correction data is used. With such a data configuration, the amount of velocity correction data can be reduced.

【0043】図1の説明に戻る。操作パネル13には、
本自動演奏装置と操作者とがコミュニケーションするた
めの各種スイッチ、表示器等が設けられている。この操
作パネル13の詳細については後述する。
Returning to the description of FIG. On the operation panel 13,
Various switches, indicators, and the like are provided for communication between the automatic performance device and the operator. Details of the operation panel 13 will be described later.

【0044】楽音発生器14は、CPU10からシステ
ムバス30を介して送られてくるデータに基づいて楽音
信号を生成するものである。この楽音発生器14で発生
された楽音信号は、スピーカシステム16に送られる。
スピーカシステム16は、例えば増幅器、スピーカ等で
構成されており、楽音発生器14から送られてくる楽音
信号を音響信号に変換して放音する周知のものである。
The tone generator 14 generates a tone signal based on data sent from the CPU 10 via the system bus 30. The tone signal generated by the tone generator 14 is sent to the speaker system 16.
The speaker system 16 includes, for example, an amplifier, a speaker, and the like, and is a well-known type that converts a tone signal transmitted from the tone generator 14 into an acoustic signal and emits the sound.

【0045】タイマ16は、テンポに対応した間隔で割
込信号を発生する。この割込信号の発生間隔は、CPU
10からタイマ16にセットされるデータにより決定さ
れる。このタイマ16で発生された割込信号はCPU1
0の割込信号入力端子INT2に供給される。本実施例
では、4分音符を1/48の分解能(精度)で制御する
ものとしている。従って、4分音符当たりに48回の割
込信号が発生されることになる。
The timer 16 generates an interrupt signal at intervals corresponding to the tempo. The interrupt signal generation interval is determined by the CPU
10 is determined by data set in the timer 16. The interrupt signal generated by this timer 16 is
0 is supplied to the interrupt signal input terminal INT2. In this embodiment, quarter notes are controlled with a resolution (accuracy) of 1/48. Therefore, 48 interrupt signals are generated per quarter note.

【0046】MIDIコントローラ17は、外部装置と
本自動演奏装置との間のMIDIデータの転送を制御す
るものである。このMIDIコントローラ17の外部側
に接続される外部装置としては、例えばMIDIデータ
を処理することのできる電子楽器、音源モジュール、コ
ンピュータ、シーケンサ等が挙げられる。MIDIコン
トローラ17は、外部装置からシリアルに送られてくる
MIDIデータを受信し、これが例えば1バイト分にな
った時点で割込信号を発生する。この割込信号は、CP
U10の割込信号入力端子INT1に供給される。
The MIDI controller 17 controls the transfer of MIDI data between the external device and the automatic performance device. Examples of the external device connected to the outside of the MIDI controller 17 include an electronic musical instrument, a sound source module, a computer, a sequencer, and the like, which can process MIDI data. The MIDI controller 17 receives MIDI data serially transmitted from an external device, and generates an interrupt signal when the MIDI data becomes, for example, 1 byte. This interrupt signal is CP
It is supplied to an interrupt signal input terminal INT1 of U10.

【0047】FDコントローラ18は、フロッピーディ
スクドライブ装置19を制御するものである。フロッピ
ーディスクドライブ装置19に装着されるフロッピーデ
ィスクには、例えば、パターンデータ、揺らぎデータ等
が記憶される。そして、操作パネルに設けられた所定の
スイッチ(図示しない)を操作することにより、フロッ
ピーディスクに記録されている上記パターンデータ、揺
らぎデータがFDコントローラ18を介してRAM12
の所定領域にロードされる。
The FD controller 18 controls the floppy disk drive 19. The floppy disk mounted on the floppy disk drive 19 stores, for example, pattern data, fluctuation data, and the like. By operating a predetermined switch (not shown) provided on the operation panel, the pattern data and the fluctuation data recorded on the floppy disk are transferred to the RAM 12 via the FD controller 18.
Is loaded into a predetermined area.

【0048】図2は本自動演奏装置の操作パネル13の
構成例を示す図である。小節/拍表示器130は、例え
ば5桁の7セグメントLED表示器で構成されている。
この小節/拍表示器130の上位4桁には、現在自動演
奏されている「小節」、つまり小節レジスタBRRの内
容が表示され、下位1桁には現在自動演奏されている
「拍」、つまり拍レジスタBTRの内容に対応する拍
(具体的には、4拍子の場合は、拍レジスタBTRの内
容を48で割って得られる商に1を加えた値)が表示さ
れる。この小節/拍表示器の表示内容は、自動演奏の進
行に伴って順次更新される。
FIG. 2 is a diagram showing an example of the configuration of the operation panel 13 of the automatic performance apparatus. The bar / beat indicator 130 is constituted by, for example, a 5-digit 7-segment LED indicator.
The upper four digits of the bar / beat indicator 130 indicate the "measure" currently being played automatically, that is, the contents of the bar register BRR, and the lower one digit is the "beat" currently being played automatically, that is, A beat corresponding to the content of the beat register BTR (specifically, in the case of quadruple, a value obtained by adding 1 to a quotient obtained by dividing the content of the beat register BTR by 48) is displayed. The display contents of the bar / beat display are sequentially updated as the automatic performance progresses.

【0049】コード表示器131は、例えばLCD表示
器で構成されている。このコード表示器131には、後
述するコード検出処理で検出されたコード(コードルー
ト及びコードタイプ)が表示される。本実施例では、M
IDIチャンネル1(MIDI−CH1)により送られ
てきたMIDIデータをロワー鍵からのデータとみな
し、これに対してコード検出を行うものとする。従っ
て、このコード表示器131には、MIDIチャンネル
1から送られてきたMIDIデータに基づいて検出され
たコードが表示される。なお、コード検出は、MIDI
チャンネル1から送られてきた演奏データに限定され
ず、他の任意のMIDIチャンネル、或いは複数のMI
DIチャンネルから送られてきた演奏データを対象とす
るように構成しても良い。
The code display 131 comprises, for example, an LCD display. The code display 131 displays codes (code routes and code types) detected in a code detection process described later. In this embodiment, M
It is assumed that MIDI data transmitted by the IDI channel 1 (MIDI-CH1) is regarded as data from the lower key, and code detection is performed on the MIDI data. Therefore, the code detected on the basis of the MIDI data transmitted from the MIDI channel 1 is displayed on the code display 131. The code detection is performed by MIDI
The performance data is not limited to the performance data transmitted from channel 1, but may be any other MIDI channel or a plurality of MIDI channels.
The performance data transmitted from the DI channel may be configured as a target.

【0050】テンポスピード表示器132は、例えば3
桁の7セグメントLED表示器で構成されている。この
テンポスピード表示器132には、現在設定されている
テンポスピードが表示される。
The tempo speed indicator 132 is, for example, 3
It consists of a digit 7-segment LED display. The tempo speed indicator 132 displays the currently set tempo speed.

【0051】なお、小節/拍表示器130及びテンポス
ピード表示器132は、7セグメントのLED表示器で
構成したが、LCD表示器、CRT表示器、その他の種
々の表示器で構成することができる。同様に、コード表
示器131もLCD表示器に限定されず、CRT表示
器、その他の種々の表示器で構成することができる。
Although the bar / beat display 130 and the tempo speed display 132 are composed of a 7-segment LED display, they can be composed of an LCD display, a CRT display and other various displays. . Similarly, the code display 131 is not limited to the LCD display, but may be a CRT display or other various displays.

【0052】インクリメンタ133は、テンポを設定す
るために使用される。このインクリメンタ133は、例
えば右回転させることによりテンポが増加し、左回転さ
せることによりテンポが減少するように制御される。そ
して、このインクリメンタ133で設定されたテンポ
は、テンポスピード表示器132に表示される。
The incrementer 133 is used for setting a tempo. The incrementer 133 is controlled such that, for example, the right-handed rotation increases the tempo, and the left-handed rotation decreases the tempo. The tempo set by the incrementer 133 is displayed on the tempo speed display 132.

【0053】ストップスイッチ134は、自動演奏を停
止させるために使用される。即ち、自動演奏中にストッ
プスイッチ134が押されると自動演奏は停止される。
プレイ/ポーズスイッチ135は、自動演奏を開始させ
又は一時停止させるために使用される。自動演奏の停止
中又はポーズ(一時停止)状態にあるときに、このプレ
イ/ポーズスイッチ135が押されるとLED表示器1
43が点灯されて自動演奏が開始又は再開され、自動演
奏中に押されるとLED表示器143が消灯されてポー
ズ状態になる。
The stop switch 134 is used to stop automatic performance. That is, if the stop switch 134 is pressed during the automatic performance, the automatic performance is stopped.
The play / pause switch 135 is used to start or pause automatic performance. When the play / pause switch 135 is pressed while the automatic performance is stopped or in a pause (pause) state, the LED display 1
43 is turned on to start or restart the automatic performance, and when pressed during automatic performance, the LED display 143 is turned off and the apparatus enters a pause state.

【0054】FFスイッチ136は、テンポスピードを
上げて再生するために使用される。即ち、自動演奏状態
にあるときにFFスイッチ136が押されるとLED表
示器144が点灯されて高速再生が行われ、次に押され
るとLED表示器144が消灯されて元のテンポスピー
ドに戻る。REWスイッチ137は、再生位置を戻すた
めに使用される。即ち、このREWスイッチ137が押
下されるとLED表示器145が点灯されて小節/拍数
が減少(リワインド)する。このリワインド状態は小節
/拍表示器130で確認することができる。リワインド
状態で再度REWスイッチ137が押されるとLED表
示器145が消灯されて自動演奏の再生が再開される。
The FF switch 136 is used for reproducing at a higher tempo speed. That is, when the FF switch 136 is pressed during the automatic performance state, the LED display 144 is turned on to perform high-speed reproduction, and when pressed again, the LED display 144 is turned off and returns to the original tempo speed. The REW switch 137 is used to return the playback position. That is, when the REW switch 137 is pressed, the LED display 145 is turned on, and the measure / beat count is reduced (rewind). This rewind state can be confirmed on the bar / beat indicator 130. When the REW switch 137 is pressed again in the rewind state, the LED display 145 is turned off and the reproduction of the automatic performance is restarted.

【0055】リピートスイッチ138は、曲を繰り返し
自動演奏させるために使用される。即ち、自動演奏を開
始させる前にこのリピートスイッチ138が押されると
LED表示器146が点灯され、曲の最後まで自動演奏
が行われると最初に戻って同じ曲の自動演奏が繰り返さ
れる。この状態で再度リピートスイッチ138が押され
るとLED表示器146が消灯されて自動演奏の繰り返
し再生状態は解除される。なお、このリピートスイッチ
138は、自動演奏状態で所定の操作を行うことによ
り、曲の特定区間を繰り返し再生するためにも使用され
るがここでは説明は省略する。
The repeat switch 138 is used to automatically and repeatedly play a music piece. That is, if the repeat switch 138 is pressed before the automatic performance is started, the LED display 146 is turned on. When the automatic performance is performed to the end of the music, the automatic performance of the same music is repeated by returning to the beginning. When the repeat switch 138 is pressed again in this state, the LED display 146 is turned off, and the repeated reproduction state of the automatic performance is released. The repeat switch 138 is also used to repeatedly reproduce a specific section of the music by performing a predetermined operation in an automatic performance state, but the description thereof is omitted here.

【0056】パートスイッチ139〜142は指示手段
に対応するものである。パート1スイッチ139は、リ
ズムパートの発音を指示するために使用される。このパ
ート1スイッチ139が押されるとLED表示器147
が点灯されてリズムパートが発音され、次に押されると
LED表示器147が消灯されてリズムパートの発音は
停止される。同様に、パート2スイッチ140は、ベー
スパートの発音を指示するために使用される。このパー
ト2スイッチ140が押されるとLED表示器148が
点灯されてベースパートが発音され、次に押されるとL
ED表示器148が消灯されてベースパートの発音は停
止される。
The part switches 139 to 142 correspond to the instruction means. The part 1 switch 139 is used to instruct the rhythm part to sound. When this part 1 switch 139 is pressed, the LED display 147 is displayed.
Is turned on to sound the rhythm part, and when pressed next time, the LED display 147 is turned off and the sound of the rhythm part is stopped. Similarly, the part 2 switch 140 is used to instruct the sounding of the bass part. When this part 2 switch 140 is pressed, the LED display 148 is turned on and the base part is sounded.
The ED display 148 is turned off, and the sound of the bass part is stopped.

【0057】同様に、パート3スイッチ141は、アカ
ンパニメントパート(例えばコードパート等)の発音を
指示するために使用される。このパート3スイッチ14
1が押されるとLED表示器149が点灯されてアカン
パニメントパートが発音され、次に押されるとLED表
示器149が消灯されてアカンパニメントパートの発音
が停止される。同様に、パート4スイッチ142は、メ
ロディパートを指示するために使用される。このパート
4スイッチ142が押されるとLED表示器150が点
灯されてメロディパートが発音され、次に押されるとL
ED表示器150が消灯されてメロディパートの発音が
停止される。
Similarly, the part 3 switch 141 is used to instruct the sounding of the accompaniment part (for example, a chord part). This part 3 switch 14
When the button 1 is pressed, the LED display 149 is turned on to emit the sound of the accompaniment part. When the button 1 is pressed next time, the LED display 149 is turned off and the sound of the accompaniment part is stopped. Similarly, the part 4 switch 142 is used to indicate a melody part. When this part 4 switch 142 is pressed, the LED display 150 is turned on and the melody part is sounded.
The ED display 150 is turned off and the sound of the melody part is stopped.

【0058】上記各パートのうち、リズムパート、ベー
スパート及びアカンパニメントパートは1〜数小節程度
のパターンデータの繰り返し実行により発音されるもの
であり、これら各パートに揺らぎを与えることにより機
械的な単調さが解消される。なお、メロディパートは、
1曲分の全パターンデータが記憶される。
Among the above parts, the rhythm part, the bass part, and the accompaniment part are generated by repeatedly executing pattern data of about one to several measures, and are mechanically given by fluctuating these parts. Simple monotony is eliminated. The melody part is
All pattern data for one music is stored.

【0059】操作パネル13には、上記以外に複数の音
色の中から所望の音色を選択する音色選択操作子、音量
を調整する音量操作子、フロッピーディスクからのデー
タをRAM12にロードするための操作子等が設けられ
ているが、本発明とは直接関係しないので図示及び説明
は省略する。
In addition to the above, the operation panel 13 has a tone selection operator for selecting a desired tone from a plurality of tones, a volume operator for adjusting the volume, and an operation for loading data from the floppy disk into the RAM 12. Although these elements are provided, they are not directly related to the present invention, and thus illustration and description are omitted.

【0060】上記のように構成される操作パネル13の
各スイッチ等の設定状態は次のようにしてCPU10に
読み込まれる。即ち、CPU10は操作パネル13に対
してスキャン指令を送出する。操作パネル13は、この
スキャン指令に応答して操作各スイッチのオン/オフを
示す信号及びインクリメンタ133の現在値を示す信号
をCPU10に送る。CPU10は、受け取った信号か
らパネルデータ(各スイッチのオン/オフを1ビットに
対応させたスイッチデータとインクリメンタ133の設
定値を示すインクリメンタデータとで成る。)を生成す
る。このパネルデータは、CPU10の制御下でRAM
12に格納され、パネルイベントの有無を判断するため
に使用される(詳細は後述)。
The setting states of the switches and the like on the operation panel 13 configured as described above are read into the CPU 10 as follows. That is, the CPU 10 sends a scan command to the operation panel 13. The operation panel 13 sends a signal indicating on / off of each operation switch and a signal indicating the current value of the incrementer 133 to the CPU 10 in response to the scan command. The CPU 10 generates panel data (consisting of switch data in which ON / OFF of each switch corresponds to one bit and incrementer data indicating a set value of the incrementer 133) from the received signal. This panel data is stored in a RAM under the control of the CPU 10.
12 is used to determine the presence or absence of a panel event (details will be described later).

【0061】次に、本発明の自動演奏装置の動作につ
き、図3〜図12に示したフローチャートを参照しなが
ら詳細に説明する。
Next, the operation of the automatic performance device of the present invention will be described in detail with reference to the flowcharts shown in FIGS.

【0062】(1)メイン処理(図3) 図3は、本発明の自動演奏装置のメインルーチンを示す
フローチャートであり、電源投入により起動される。電
源が投入されると、先ず、初期化処理が行われる(ステ
ップS10)。この初期化処理では、CPU10の内部
状態が初期状態に設定されると共に、RAM12に定義
されているレジスタ、カウンタ或いはフラグ等に初期値
が設定される。
(1) Main Processing (FIG. 3) FIG. 3 is a flowchart showing a main routine of the automatic performance apparatus of the present invention, which is started when the power is turned on. When the power is turned on, first, an initialization process is performed (step S10). In this initialization process, the internal state of the CPU 10 is set to the initial state, and an initial value is set to a register, a counter, a flag, or the like defined in the RAM 12.

【0063】この初期化処理が終了すると、次いでパネ
ルスイッチスキャン処理が行われる(ステップS1
1)。即ち、CPU10は操作パネル13に対してスキ
ャン指令を送出する。これにより、操作パネル13は、
既に説明したようにパネルデータを生成し、CPU10
に送る。CPU10は、このパネルデータ(以下、「新
パネルデータ」という。)をRAM12の所定領域に格
納する。次いで、前回のパネルスイッチスキャン処理で
読み込んで既にRAM12に記憶されているパネルデー
タ(以下、「旧パネルデータ」という。)と、上記新パ
ネルデータとを比較して相違するビットをオンにしたパ
ネルイベントマップを作成する。
When the initialization process is completed, a panel switch scan process is performed (step S1).
1). That is, the CPU 10 sends a scan command to the operation panel 13. Thereby, the operation panel 13
The panel data is generated as described above,
Send to The CPU 10 stores this panel data (hereinafter, referred to as “new panel data”) in a predetermined area of the RAM 12. Next, panel data read in the previous panel switch scan process and already stored in the RAM 12 (hereinafter referred to as "old panel data") is compared with the new panel data, and a panel having a different bit turned on is compared. Create an event map.

【0064】次いで、イベントの有無が調べられる(ス
テップS12)。これは、上記パネルイベントマップを
参照することにより行われる。即ち、パネルイベントマ
ップ中にオンになっているビットが1つ以上存在するか
どうかが調べられ、1つも存在しなければイベントはな
かったものと、1つ以上存在すればイベントがあったも
のとそれぞれ判断される。このステップS12でイベン
トがあることが判断されるとパネル制御処理が行われ
(ステップS13)、そうでなければパネル制御処理は
スキップされる。このパネル制御処理の詳細については
後述する。
Next, the presence or absence of an event is checked (step S12). This is performed by referring to the panel event map. That is, it is checked whether or not one or more bits are on in the panel event map. If there is no bit, there is no event, and if there is one or more, there is an event. Each is judged. If it is determined in step S12 that there is an event, a panel control process is performed (step S13). Otherwise, the panel control process is skipped. The details of the panel control process will be described later.

【0065】次いで、受信バッファに受信データ(MI
DIデータ)があるかどうかが調べられる(ステップS
14)。これは、上述したように、カウンタCTRの内
容とポインタPTRの内容とが一致するかどうかを調べ
ることにより行われる。ここで受信バッファに受信デー
タがあることが判断されるとMIDI−IN処理が行わ
れ(ステップS15)、そうでなければMIDI−IN
処理はスキップされる。このMIDI−IN処理の詳細
については後述する。
Next, the reception data (MI
DI data) is checked (step S).
14). This is performed by checking whether or not the contents of the counter CTR and the contents of the pointer PTR match as described above. Here, if it is determined that there is received data in the receiving buffer, a MIDI-IN process is performed (step S15);
Processing is skipped. Details of the MIDI-IN processing will be described later.

【0066】次いで、パート1〜4読出処理が実行され
る(ステップS16)。この処理は、各パートのパター
ンデータを読み出して楽音を再生する処理である。この
パート1〜4読出処理の詳細については後述する。
Next, the reading process of parts 1 to 4 is executed (step S16). This process is a process of reading the pattern data of each part and reproducing a musical tone. The details of the part 1-4 reading process will be described later.

【0067】次いで、「その他の処理」が行われる(ス
テップS17)。この「その他の処理」では、フロッピ
ーディスクの制御、音色選択処理、ボリューム設定処理
等が行われるが、本発明とは直接関係しないので説明は
省略する。その後、ステップS11に戻り、以下同様の
処理が繰り返される。
Next, "other processing" is performed (step S17). In this "other processing", control of the floppy disk, tone color selection processing, volume setting processing, and the like are performed, but the description is omitted because it is not directly related to the present invention. Thereafter, the process returns to step S11, and the same processing is repeated thereafter.

【0068】(2)MIDI−IN割込処理(図4) このMIDI−IN割込処理は、メインルーチンの処理
に割り込んで実行される。このMIDI−IN割込処理
では、MIDIコントローラ17で受信されたMIDI
データが受信バッファに格納される。MIDIコントロ
ーラ17は、外部装置からシリアルに送られてくるMI
DIデータが1バイト分になると割込信号を発生する。
この割込信号はCPU10の割込信号入力端子INT1
に供給される。これにより、CPU10は割込モードに
入り、本MIDI−IN割込処理ルーチンがコールされ
る。
(2) MIDI-IN Interruption Processing (FIG. 4) This MIDI-IN interruption processing is executed by interrupting the processing of the main routine. In this MIDI-IN interrupt processing, the MIDI
Data is stored in the reception buffer. The MIDI controller 17 receives the MIDI serially transmitted from the external device.
When the DI data reaches one byte, an interrupt signal is generated.
This interrupt signal is input to the interrupt signal input terminal INT1 of the CPU 10.
Supplied to As a result, the CPU 10 enters the interrupt mode, and the MIDI-IN interrupt processing routine is called.

【0069】MIDI−IN割込処理では、先ず、MI
DIコントローラ17からMIDIデータが読み込ま
れ、これが受信バッファのカウンタCTRで示される位
置に書き込まれる(ステップS20)。次いで、カウン
タCTRがインクリメントされ(ステップS21)、そ
の結果が記憶エリアの最大値TOPを越えたかどうかが
調べられる(ステップS22)。そして、最大値TOP
を越えていないことが判断されるとこのMIDI−IN
処理ルーチンからメインルーチンの割り込まれた位置に
戻る。一方、上記ステップS22で最大値TOPを越え
たことが判断されると、カウンタCTRの内容が最小値
BTMに書き換えられ(ステップS23)、その後、こ
のMIDI−IN処理ルーチンからメインルーチンの割
り込まれた位置に戻る。これにより、最大値TOPから
最小値BTMへラウンドする循環バッファの機能が実現
されている。
In the MIDI-IN interrupt processing, first,
The MIDI data is read from the DI controller 17 and written to a position of the reception buffer indicated by the counter CTR (step S20). Next, the counter CTR is incremented (step S21), and it is checked whether the result has exceeded the maximum value TOP of the storage area (step S22). And the maximum value TOP
MIDI-IN
The processing routine returns to the interrupted position of the main routine. On the other hand, if it is determined in step S22 that the value exceeds the maximum value TOP, the content of the counter CTR is rewritten to the minimum value BTM (step S23), and thereafter, the MIDI-IN processing routine interrupts the main routine. Return to position. As a result, a function of a circular buffer for rounding from the maximum value TOP to the minimum value BTM is realized.

【0070】なお、図中には示されていないが、カウン
タCTRをインクリメントした結果がポインタPTRの
値を越えることとなる場合は受信バッファは満杯である
ので、MIDIデータの取り込み処理は抑止される。
Although not shown in the figure, if the result of incrementing the counter CTR exceeds the value of the pointer PTR, the reception buffer is full, and the MIDI data fetch process is suppressed. .

【0071】(3)パネル制御処理(図5) 次に、メインルーチンのステップS13で行われるパネ
ル制御処理の詳細について、図5のフローチャートを参
照しながら説明する。
(3) Panel Control Process (FIG. 5) Next, details of the panel control process performed in step S13 of the main routine will be described with reference to the flowchart of FIG.

【0072】このパネル制御処理ルーチンは、メインル
ーチンでパネルスイッチ等のイベントがあったことが判
断された場合にコールされる。パネル制御処理では、先
ず、インクリメンタ133のイベントがあるかどうかが
調べられる(ステップS30)。即ち、新旧両パネルデ
ータ中のインクリメンタデータが比較され、これらが相
違する場合にインクリメンタ133のイベントがあった
ことが判断される。このステップS30でインクリメン
タ133のイベントがあったことが判断されるとテンポ
スピード処理が行われ(ステップS31)、そうでなけ
ればテンポスピード処理はスキップされる。テンポスピ
ード処理では、新パネルデータ中のインクリメンタデー
タがタイマ16にセットされると共に、テンポスピード
表示器132に送られる。これによりタイマ16から発
生される割込信号の間隔が変更されて自動演奏のテンポ
スピードが変更される。また、変更後のテンポスピード
がテンポスピード表示器132に表示される。
This panel control processing routine is called when it is determined in the main routine that an event such as a panel switch has occurred. In the panel control process, first, it is checked whether or not there is an event of the incrementer 133 (step S30). That is, the incrementer data in both the new and old panel data is compared, and if they differ, it is determined that the event of the incrementer 133 has occurred. If it is determined in step S30 that there has been an event of the incrementer 133, tempo speed processing is performed (step S31). Otherwise, the tempo speed processing is skipped. In the tempo speed process, the incrementer data in the new panel data is set in the timer 16 and sent to the tempo speed indicator 132. Thereby, the interval of the interrupt signal generated from the timer 16 is changed, and the tempo speed of the automatic performance is changed. The changed tempo speed is displayed on the tempo speed indicator 132.

【0073】次いで、ストップスイッチ134のイベン
トがあるかどうかが調べられる(ステップS32)。こ
れは、パネルイベントマップ中のストップスイッチ13
4に対応するビットが「1」であるかどうかを調べるこ
とにより行われる。ここでストップスイッチ134のイ
ベントがあることが判断されるとストップ処理が行われ
(ステップS33)、そうでなければストップ処理はス
キップされる。ストップ処理では、RAM12に定義さ
れている自動演奏フラグが「0」にクリアされる。これ
により、後述するタイマ割込処理(図12)において小
節レジスタBRR及び拍レジスタBTRの更新が抑止さ
れて自動演奏の進行が停止され、各パートの発音が停止
される。
Next, it is checked whether or not there is an event of the stop switch 134 (step S32). This is the stop switch 13 in the panel event map.
This is performed by checking whether the bit corresponding to 4 is “1”. Here, if it is determined that there is an event of the stop switch 134, a stop process is performed (step S33), otherwise, the stop process is skipped. In the stop processing, the automatic performance flag defined in the RAM 12 is cleared to “0”. As a result, in the timer interrupt processing (FIG. 12) described later, the updating of the bar register BRR and the beat register BTR is suppressed, the progress of the automatic performance is stopped, and the sound emission of each part is stopped.

【0074】次いで、プレイ/ポーズスイッチ135の
イベントがあるかどうかが調べられる(ステップS3
4)。これは、パネルイベントマップ中のプレイ/ポー
ズスイッチ135に対応するビットが「1」であるかど
うかを調べることにより行われる。ここでプレイ/ポー
ズスイッチ135のイベントがあることが判断されると
プレイ処理が行われ(ステップS35)、そうでなけれ
ばプレイ処理はスキップされる。プレイ処理では、上記
自動演奏フラグが「0」、つまり自動演奏停止中にプレ
イ/ポーズスイッチ135が押されたことが判断される
と自動演奏フラグが「1」にセットされると共に、LE
D表示器143が点灯される。これにより、後述するタ
イマ割込処理(図12)において小節レジスタBRR及
び拍レジスタBTRの更新が開始され、自動演奏が進行
される。逆に、自動演奏フラグが「1」、つまり自動演
奏中にプレイ/ポーズスイッチ135が押されたことが
判断されると自動演奏フラグが「0」にクリアされると
共に、LED表示器143が消灯される。これにより、
上記ストップスイッチ134が押された時と同様の処理
が行われて各パートの発音が停止される。
Next, it is checked whether or not there is an event of the play / pause switch 135 (step S3).
4). This is performed by checking whether or not the bit corresponding to the play / pause switch 135 in the panel event map is “1”. Here, if it is determined that there is an event of the play / pause switch 135, a play process is performed (step S35), otherwise, the play process is skipped. In the play processing, when it is determined that the automatic performance flag is "0", that is, the play / pause switch 135 is pressed while the automatic performance is stopped, the automatic performance flag is set to "1" and the LE is set.
The D display 143 is turned on. As a result, in the timer interrupt processing (FIG. 12) described later, updating of the bar register BRR and the beat register BTR is started, and the automatic performance proceeds. Conversely, if it is determined that the automatic performance flag is "1", that is, the play / pause switch 135 is pressed during the automatic performance, the automatic performance flag is cleared to "0" and the LED display 143 is turned off. Is done. This allows
The same processing as when the stop switch 134 is pressed is performed, and the sound emission of each part is stopped.

【0075】次いで、FFスイッチ136のイベントが
あるかどうかが調べられる(ステップS36)。これ
は、パネルイベントマップ中のFFスイッチ136に対
応するビットが「1」であるかどうかを調べることによ
り行われる。ここでFFスイッチ136のイベントがあ
ることが判断されるとFF処理が行われ(ステップS3
7)、そうでなければFF処理はスキップされる。FF
処理では、RAM12に定義されたFFフラグが
「0」、つまり通常再生中にFFスイッチ136が押さ
れたことが判断されるとFFフラグが「1」にセットさ
れ、タイマ16に所定のデータがセットされると共に、
LED表示器144が点灯される。これにより、テンポ
スピードが早くなって高速再生が行われる。逆に、FF
フラグが「1」、つまり高速再生中にFFスイッチ13
6が押されたことが判断されるとFFフラグが「0」に
クリアされ、タイマ16に元のデータがリストアされる
と共に、LED表示器144が消灯される。これによ
り、FFスイッチ136が押される前のテンポスピード
に戻る。
Next, it is checked whether or not there is an event of the FF switch 136 (step S36). This is performed by checking whether the bit corresponding to the FF switch 136 in the panel event map is “1”. Here, if it is determined that there is an event of the FF switch 136, FF processing is performed (step S3).
7), otherwise the FF processing is skipped. FF
In the processing, when it is determined that the FF flag defined in the RAM 12 is “0”, that is, when the FF switch 136 is pressed during the normal reproduction, the FF flag is set to “1”, and the predetermined data is stored in the timer 16. While being set,
The LED indicator 144 is turned on. As a result, the tempo speed is increased and high-speed reproduction is performed. Conversely, FF
The flag is “1”, that is, the FF switch 13
When it is determined that 6 has been pressed, the FF flag is cleared to "0", the original data is restored to the timer 16, and the LED display 144 is turned off. This returns to the tempo speed before the FF switch 136 was pressed.

【0076】次いで、REWスイッチ137のイベント
があるかどうかが調べられる(ステップS38)。これ
は、パネルイベントマップ中のREWスイッチ137に
対応するビットが「1」であるかどうかを調べることに
より行われる。ここでREWスイッチ137のイベント
があることが判断されるとREW処理が行われ(ステッ
プS39)、そうでなければREW処理はスキップされ
る。REW処理では、RAM12に定義されたREWフ
ラグが「0」、つまり通常再生中にREWスイッチ13
7が押されたことが判断されるとREWフラグが「1」
にセットされ、RAM12に定義された小節レジスタB
RR及び拍レジスタBTRが所定の速度でデクリメント
され、その結果が小節/拍表示器130に送られると共
に、LED表示器145が点灯される。これにより、小
節/拍表示器130の表示がデクリメントされながら自
動演奏のシーケンスが後退する。なお、このREW処理
中には発音は停止される。逆に、FFフラグが「1」、
つまり高速再生中にREWスイッチ137が押されたこ
とが判断されるとREWフラグが「0」にクリアされ、
LED表示器145が消灯される。これにより、減少さ
れた小節レジスタBRR及び拍レジスタBTRの位置か
ら自動演奏が再開される。
Next, it is checked whether there is an event of the REW switch 137 (step S38). This is performed by checking whether the bit corresponding to the REW switch 137 in the panel event map is “1”. Here, if it is determined that there is an event of the REW switch 137, the REW process is performed (step S39), and if not, the REW process is skipped. In the REW process, the REW flag defined in the RAM 12 is set to “0”,
When it is determined that 7 has been pressed, the REW flag is set to "1".
And the bar register B defined in the RAM 12
The RR and beat register BTR are decremented at a predetermined rate, the result is sent to the bar / beat indicator 130, and the LED indicator 145 is turned on. Thereby, the display of the bar / beat indicator 130 is decremented, and the sequence of the automatic performance is retreated. Note that the sound generation is stopped during the REW processing. Conversely, if the FF flag is “1”,
That is, when it is determined that the REW switch 137 has been pressed during high-speed playback, the REW flag is cleared to “0”, and
The LED display 145 is turned off. As a result, the automatic performance is restarted from the reduced bar register BRR and beat register BTR.

【0077】次いで、リピートスイッチ138のイベン
トがあるかどうかが調べられる(ステップS40)。こ
れは、パネルイベントマップ中のリピートスイッチ13
8に対応するビットが「1」であるかどうかを調べるこ
とにより行われる。ここでリピートスイッチ138のイ
ベントがあることが判断されるとリピート処理が行われ
(ステップS41)、そうでなければリピート処理はス
キップされる。リピート処理では、RAM12に定義さ
れたリピートフラグが「0」であればリピートフラグが
「1」にセットされると共に、LED表示器146が点
灯される。逆に、リピートフラグが「1」であればリピ
ートフラグが「0」にクリアされ、LED表示器145
が消灯される。これにより、詳細は図示されていない
が、1曲分のパターンデータの読み出しが終了した場合
に、リピートフラグが「1」であれば自動演奏のシーケ
ンスは曲の先頭に戻り、同じ自動演奏が繰り返し実行さ
れる。一方、リピートフラグが「0」であれば自動演奏
は停止される。
Next, it is checked whether or not there is an event of the repeat switch 138 (step S40). This is the repeat switch 13 in the panel event map.
This is performed by checking whether the bit corresponding to 8 is “1”. Here, if it is determined that there is an event of the repeat switch 138, a repeat process is performed (step S41), otherwise, the repeat process is skipped. In the repeat processing, if the repeat flag defined in the RAM 12 is “0”, the repeat flag is set to “1” and the LED display 146 is turned on. Conversely, if the repeat flag is “1”, the repeat flag is cleared to “0” and the LED display 145
Is turned off. Thereby, although the details are not shown, when the reading of the pattern data for one music is completed, if the repeat flag is "1", the sequence of the automatic performance returns to the beginning of the music, and the same automatic performance is repeated. Be executed. On the other hand, if the repeat flag is "0", the automatic performance is stopped.

【0078】次いで、パートスイッチ139〜142の
イベントがあるかどうかが調べられる(ステップS4
2)。これは、パネルイベントマップ中のパートスイッ
チ139〜142に対応するビットが「1」であるかど
うかを調べることにより行われる。ここでパートスイッ
チ139〜142のイベントがあることが判断されると
パート1〜4切換処理が行われ(ステップS43)、そ
うでなければパート1〜4切換処理はスキップされる。
その後、このパネル制御処理ルーチンからリターンして
メインルーチンに戻る。上記パート1〜4切換処理の詳
細については後述する。
Next, it is checked whether there is an event of the part switches 139 to 142 (step S4).
2). This is performed by checking whether the bit corresponding to the part switches 139 to 142 in the panel event map is “1”. Here, when it is determined that there is an event of the part switches 139 to 142, the part 1 to 4 switching processing is performed (step S43), otherwise, the part 1 to 4 switching processing is skipped.
Thereafter, the control returns from the panel control processing routine and returns to the main routine. The details of the part 1-4 switching process will be described later.

【0079】(4)MIDI−IN処理(図6及び図
7) このMIDI−IN処理ルーチンはメインルーチンから
一定周期でコールされる。MIDI−IN処理では、先
ず、受信バッファから1つのMIDIメッセージが取り
出され、それに含まれるMIDIチャンネル番号が
「1」、つまりロワー鍵のデータであるかどうかが調べ
られる(ステップS50)。これは、MIDIメッセー
ジの第1バイト目の下位4ビットにあるチャンネル番号
を調べることにより行われる。ここで、チャンネル番号
が「1」でないことが判断されるとステップS67へ分
岐し、MIDIデータに基づく発音処理が行われる。一
方、チャンネル番号が「1」、つまりロワー鍵のデータ
である旨が判断されるとキービットマップが作成される
(ステップS51)。キービットマップは、全鍵のオン
又はオフ状態をそれぞれ「1」又は「0」に対応させて
成るデータである。
(4) MIDI-IN processing (FIGS. 6 and 7) This MIDI-IN processing routine is called from the main routine at regular intervals. In the MIDI-IN process, first, one MIDI message is extracted from the reception buffer, and it is checked whether or not the MIDI channel number included in the MIDI message is "1", that is, the data of the lower key (step S50). This is performed by checking the channel number in the lower 4 bits of the first byte of the MIDI message. Here, if it is determined that the channel number is not "1", the process branches to step S67, and a tone generation process based on the MIDI data is performed. On the other hand, if it is determined that the channel number is “1”, that is, it is data of the lower key, a key bit map is created (step S51). The key bitmap is data in which the on / off state of all keys is associated with “1” or “0”, respectively.

【0080】次いで、コード検出処理が行われる(ステ
ップS52)。即ち、上記で作成されたキービットマッ
プを使用してコード検出処理が行われ、コードタイプ及
びコードルートが検出される。このコード検出は周知の
種々の方法を用いて行うことができる。ここで検出され
たコードは、新コードとしてRAM12の新コード領域
に格納される。また、ここで検出されたコードタイプ及
びコードルートはコード表示器131に送られて表示さ
れる。
Next, a code detection process is performed (step S52). That is, a code detection process is performed using the key bitmap created above, and a code type and a code route are detected. This code detection can be performed using various known methods. The code detected here is stored in the new code area of the RAM 12 as a new code. The detected code type and code route are sent to the code display 131 and displayed.

【0081】次いで、コード変化があったかどうかが調
べられる(ステップS53)。これは、前回のコード検
出処理で検出されてRAM12の旧コード領域に格納さ
れている旧コードと上記新コードとを比較することによ
り行われる。そして、コードの変化がなかったことが判
断されると、このMIDI−IN処理ルーチンからリタ
ーンしてメインルーチンに戻る。即ち、コードタイプ及
びコードルートが変化しないようなMIDIメッセージ
が入力されても自動演奏状態は変化しない。一方、コー
ドの変化があったことが判断されると、ステップS54
以下のコード変化に対応する処理が行われる。
Next, it is checked whether a code change has occurred (step S53). This is performed by comparing the old code detected in the previous code detection process and stored in the old code area of the RAM 12 with the new code. When it is determined that the code has not changed, the process returns from the MIDI-IN processing routine and returns to the main routine. That is, even if a MIDI message that does not change the chord type and chord root is input, the automatic performance state does not change. On the other hand, if it is determined that the code has changed, the process proceeds to step S54.
The processing corresponding to the following code change is performed.

【0082】本実施例の自動演奏装置は、コード変化が
あった場合に、単にコード構成音が変化するだけでな
く、演奏パターンも変化するという構成を有するものと
する。例えばメジャーのコードとマイナーのコードとで
は演奏パターンが異なる。検出されたコードに応じて演
奏パターンを変化させる機能を実現するために、コード
タイプ毎のパターンデータ、例えばメジャーコードのパ
ターンデータとマイナーコードのパターンデータは常時
RAM12から読み出されており、何れのパターンデー
タを用いるかは、検出されたコードタイプにより決定さ
れる。
The automatic performance device of this embodiment has a configuration in which, when a chord is changed, not only the chord constituent sound changes but also the performance pattern. For example, the chord of the major and the chord of the minor have different playing patterns. In order to realize a function of changing a performance pattern in accordance with a detected chord, pattern data for each chord type, for example, pattern data of a major chord and pattern data of a minor chord are always read from the RAM 12. Whether to use the pattern data is determined by the detected code type.

【0083】コードが変化した時の発音処理の動作の概
要を図17に示す。図17においては、時刻TAでCメ
ジャーからCマイナーにコードが変化した場合を示して
おり、太線で囲まれた部分はパターンデータの読み出し
が行われることを示し、その中の斜線部は読み出された
パターンデータに基づいて発音が行われることを示して
いる。
FIG. 17 shows an outline of the operation of the tone generation process when the chord changes. FIG. 17 shows a case where the chord changes from C major to C minor at time TA. The portion surrounded by a thick line indicates that the pattern data is to be read, and the hatched portion therein indicates the readout. This indicates that sound is generated based on the performed pattern data.

【0084】時刻TA以前では、Cメジャーを構成する
音(キー1、2、3)がメジャーの演奏パターンで発音
されており、Cマイナーを構成する音(キー1、4、
5)はマイナーの演奏パターンでパターンデータが読み
出されているだけである。そして、時刻TAで新たなコ
ードであるCマイナーが検出されると、それ以後はCマ
イナーを構成する音(キー1、4、5)がマイナーの演
奏パターンで発音される。なお、図17は、時刻TAで
は、それまで押されていたキー2及びキー3が離され、
新たにキー4及びキー5が押され、それまで押されてい
たキー1は引き続き押されている状態を示している。
Before time TA, the sounds (keys 1, 2, 3) constituting the C major are pronounced in the performance pattern of the major, and the sounds constituting the C minor (keys 1, 4, 3)
In the case of 5), only the pattern data is read in the minor performance pattern. Then, when the C minor, which is a new chord, is detected at the time TA, thereafter, the sounds (keys 1, 4, and 5) constituting the C minor are produced in the minor performance pattern. FIG. 17 shows that at time TA, the keys 2 and 3 that have been pressed until then are released,
The keys 4 and 5 are newly pressed, and the key 1 which has been pressed until then is shown as being continuously pressed.

【0085】時刻TA直後の一定時間TRにおいては次
のように処理される。即ち、コード変化が検出されれ
ば、発音中の音は直ちに停止される(図17のキー1及
びキー2参照)。コード変化後のコード構成音のうち、
コード変化が検出されてから一定時間TR内に発音を終
了する音であっても、前のコードで発音されているもの
は発音が継続される(図17のキー1参照)。コード変
化が検出されてから一定時間TR内に発音を終了する音
であって、前のコードで発音されていないものは所定時
間TRまで引き延ばされて発音される(図17のキー4
参照)。コード変化が検出されてから一定時間TR内に
発音を終了しない音であれば、新たに発音が開始される
(図17のキー5参照)。
In the fixed time TR immediately after the time TA, the following processing is performed. That is, when a chord change is detected, the sound being generated is immediately stopped (see keys 1 and 2 in FIG. 17). Of the chord constituent sounds after chord change,
Even if the sound ends sounding within a certain time TR after the chord change is detected, the sounding sound generated by the previous chord continues sounding (see key 1 in FIG. 17). A sound which ends sounding within a predetermined time TR after a chord change is detected and which is not sounded by a previous chord is extended to a predetermined time TR and sounded (key 4 in FIG. 17).
reference). If the sound does not end within a predetermined time TR after the chord change is detected, the sound is newly started (see key 5 in FIG. 17).

【0086】かかる処理が行われることにより、例えば
図17のキー4のように、コード変化に応じて発音すべ
き音であるが短時間で発音が停止されるものは、発音時
間が引き延ばされて発音される。このように、短時間で
消滅する音の発音を引き延ばして発音することにより、
例えばアタックのエンベロープが最大値まで到達せずに
消音されるような音がなくなり、少なくともアタック音
の発音は完全に行われる。従って、演奏パターンが変更
されることに伴って音楽性が損なわれるという事態の発
生を回避できる。
By performing such processing, a sound which should be sounded in response to a chord change but whose sound is stopped in a short time, such as the key 4 in FIG. Is pronounced. In this way, by extending the pronunciation of sounds that disappear in a short time,
For example, there is no sound in which the attack envelope is muted without reaching the maximum value, and at least the attack sound is completely generated. Therefore, it is possible to avoid occurrence of a situation where the musicality is impaired due to the change of the performance pattern.

【0087】図6の説明に戻る。ステップS54以下の
コード変化に対する処理において、上述した機能が実現
されている。先ず、パート番号が「n=2」に初期設定
される(ステップS54)。これは、パート1はリズム
パートでありコード変化とは無関係であるので、パート
2〜4に対してのみ処理を行うためのパート番号の初期
化である。
Returning to the description of FIG. The above-described function is realized in the processing for the code change in step S54 and subsequent steps. First, the part number is initialized to "n = 2" (step S54). This is the initialization of a part number for performing processing only on parts 2 to 4 because part 1 is a rhythm part and has nothing to do with chord change.

【0088】次いで、パートnの新パターンのキーコー
ドが生成される(ステップS55)。即ち、ステップS
52で検出されたコードタイプ及びコードルートからコ
ード構成音のキーコード(以下、「新キーコード」とい
う。)が生成される。図17に示した例でいえば、キー
1、キー4及びキー5に対応した3つの新キーコードが
生成される。次いで、パートnの新パターンの残存ゲー
トタイムが生成される(ステップS56)。残存ゲート
タイムは、新パターンのパターンデータに含まれるステ
ップタイムとゲートタイムとから算出される発音の終了
時刻と現在の拍レジスタBTRの内容とから算出され
る。
Next, a key code of the new pattern of part n is generated (step S55). That is, step S
A key code of a chord constituent sound (hereinafter, referred to as a “new key code”) is generated from the chord type and the chord root detected at 52. In the example shown in FIG. 17, three new key codes corresponding to keys 1, 4 and 5 are generated. Next, the remaining gate time of the new pattern of part n is generated (step S56). The remaining gate time is calculated from the sounding end time calculated from the step time and the gate time included in the pattern data of the new pattern and the current contents of the beat register BTR.

【0089】次いで、パートnの新パターンの補正ベロ
シティの生成が行われる(ステップS57)。この補正
ベロシティ生成の詳細については、図8のフローチャー
トに示されている。補正ベロシティ生成処理では、先
ず、補正レートVAnの読み出しが行われる(ステップ
S70)。即ち、小節レジスタBRRと拍レジスタBT
Rとの内容をアドレスとしてRAM12のベロシティ補
正データ中の対応する位置から補正レートVAnが読み
出される。次いで、この読み出された補正レートVAn
とその時点のベロシティVELO(パターンデータ中の
ベロシティデータ)とが乗算され、補正ベロシティVL
Anが生成される(ステップS71)。
Next, the correction velocity of the new pattern of part n is generated (step S57). The details of the generation of the corrected velocity are shown in the flowchart of FIG. In the correction velocity generation processing, first, the correction rate VAn is read (step S70). That is, the bar register BRR and the beat register BT
The correction rate VAn is read from the corresponding position in the velocity correction data of the RAM 12 using the content of R as an address. Next, the read correction rate VAn
Is multiplied by the velocity VELO (velocity data in the pattern data) at that time, and the corrected velocity VL
An is generated (step S71).

【0090】次いで、上記乗算の結果が127より大き
いかどうかが調べられ(ステップS72)、127より
大きければ127が新しい補正ベロシティVLAnとさ
れ(ステップS73)、そうでなければステップS73
はスキップされて乗算結果がそのまま新しい補正ベロシ
ティVLAnとされる。その後、この補正ベロシティ生
成ルーチンからリターンしてMIDI−IN処理ルーチ
ンに戻る。以上説明したMIDI−IN処理ルーチンの
ステップS55〜57の処理により、新たなパターンの
コード構成音(図17に示した例でいえば、キー1、キ
ー4及びキー5のそれぞれ)に対応するキーコード、残
存ゲートタイム及び補正ベロシティの作成が完了する。
Next, it is checked whether or not the result of the multiplication is larger than 127 (step S72). If it is larger than 127, 127 is set as the new corrected velocity VLAn (step S73).
Is skipped, and the multiplication result is used as it is as a new corrected velocity VLAn. Thereafter, the routine returns from the corrected velocity generation routine and returns to the MIDI-IN processing routine. By the processing of steps S55 to S57 of the MIDI-IN processing routine described above, the keys corresponding to the chord constituent sounds of the new pattern (in the example shown in FIG. 17, each of the keys 1, 4 and 5). The creation of the code, the remaining gate time and the corrected velocity is completed.

【0091】次いで、レジスタ群nの比較処理及び発音
継続/消音処理が行われる(ステップS58、S5
9)。即ち、レジスタ群nにキーオン状態で格納されて
いるキーコードと新キーコードとが比較され、レジスタ
群n中に一致するキーコードが発見されれば、そのキー
コードに対しては何等の処理も行われない。即ち、新キ
ーコードに基づくリトリガーは行われず、既に発音中で
あるキーコードに基づく発音が継続される。これは、図
17のキー1のケースに対応する処理である。従って、
演奏パターンが変更されることに伴うCPU10の負担
が軽減されて処理効率を高めることができる。
Next, the comparison process of the register group n and the sound generation continuation / mute process are performed (steps S58 and S5).
9). That is, the key code stored in the register group n in the key-on state is compared with the new key code. If a matching key code is found in the register group n, no processing is performed on the key code. Not done. That is, the retrigger based on the new key code is not performed, and the sound generation based on the key code that is already sounding is continued. This is a process corresponding to the case of key 1 in FIG. Therefore,
The load on the CPU 10 due to the change of the performance pattern is reduced, and the processing efficiency can be improved.

【0092】一方、上記の比較において、コード検出前
のコード構成音であったがコード検出後にコード構成音
でなくなったキーコードに対しては、レジスタ群n中の
対応するキーコードのオン/オフビットが「0」にクリ
アされ、キーオフ出力が行われる。ここに、「キーオフ
出力」とは、楽音発生器14に所定のデータを送出し、
現在のエンベロープよりも格段に高速なリリースエンベ
ロープに置き換えて発音を終了させる一連の処理をい
い、以下においても同じである。これは、図17のキー
2及びキー3のケースに対応する処理である。
On the other hand, in the above comparison, for the key code which is the chord constituent sound before the chord detection but is not the chord constituent sound after the chord detection, the corresponding key code in the register group n is turned on / off. The bit is cleared to "0" and key-off output is performed. Here, “key-off output” means that predetermined data is transmitted to the tone generator 14,
This refers to a series of processing for terminating sound generation by replacing the current envelope with a release envelope that is much faster than the current envelope, and the same applies to the following. This is a process corresponding to the case of the keys 2 and 3 in FIG.

【0093】次いで、新規発生キーコードであるかどう
かが調べられる(ステップS60)。即ち、新キーコー
ドは、コード検出前のコード構成音でなくコード検出後
に新たにコード構成音となったキーコードであるかどう
かが調べられる。ここで、新規発生キーコードであるこ
とが判断されるとステップS63に進み、そうでなけれ
ば新パターンの音色とそれまでに発音されていた演奏パ
ターンの音色とが同一であるかどうかが調べられる(ス
テップS61)。これは、各演奏パターンに対応するパ
ターンデータの先頭に格納されているスタートデータを
参照することにより行うことができる。そして、同一音
色であることが判断されるとステップS67に分岐す
る。従って、新規発生キーコードでない、つまりコード
検出前に発音していた音とキーコード及び音色が同一で
ある新キーコードについては新たな発音が開始されず、
従前の音がそのまま発音継続されることになる。これ
は、図17のキー1のケースに対応する処理である。
Next, it is checked whether the key code is a newly generated key code (step S60). That is, it is checked whether or not the new key code is a key code that has become a new chord constituent sound after the chord detection, but not a chord constituent sound before the chord detection. If it is determined that the key code is a newly generated key code, the process proceeds to step S63. If not, it is checked whether or not the tone color of the new pattern is the same as the tone color of the performance pattern that has been sounded so far. (Step S61). This can be performed by referring to the start data stored at the beginning of the pattern data corresponding to each performance pattern. When it is determined that the timbres are the same, the process branches to step S67. Therefore, for a new key code that is not a newly generated key code, that is, a key code and timbre that are the same as the sound that was generated before the code was detected, no new pronunciation is started,
The previous sound will continue to be generated as it is. This is a process corresponding to the case of key 1 in FIG.

【0094】一方、同一音色でないことが判断される
と、音色出力が行われる(ステップS62)。即ち、新
パターンのスタートデータに含まれる音色データが出力
される。これにより、以後の新パターンによる自動演奏
は、上記音色出力に係る音色で発音されることになる。
その後、ステップS63に分岐する。
On the other hand, if it is determined that the timbres are not the same, the timbre is output (step S62). That is, the tone color data included in the start data of the new pattern is output. As a result, subsequent automatic performances using the new pattern will be sounded with the timbre related to the timbre output.
Thereafter, the flow branches to step S63.

【0095】ステップS63では、新キーコードに対応
する残存ゲートタイムは所定時間TRより小さいかどう
かが調べられる。そして、所定時間TRより小さいこと
が判断されると、その残存ゲートタイムは所定時間TR
に変更される(ステップS64)。これにより、残存ゲ
ートタイムが短い音の発音時間が所定時間TRにまで引
き延ばされ、例えばアタックのエンベロープが最大値ま
で到達せずに消音されるような音がなくなる。これは、
図17のキー4のケースに対応する処理である。上記ス
テップS63で新キーコードに対応する残存ゲートタイ
ムが所定時間TRより小さくないことが判断されると、
ステップS64の処理はスキップされる。これは、図1
7のキー5のケースに対応する処理である。
In step S63, it is checked whether the remaining gate time corresponding to the new key code is shorter than a predetermined time TR. If it is determined that the time is shorter than the predetermined time TR, the remaining gate time is determined to be the predetermined time TR.
(Step S64). As a result, the sounding time of a sound having a short remaining gate time is extended to the predetermined time TR, and for example, there is no sound in which the attack envelope is silenced without reaching the maximum value. this is,
This is processing corresponding to the case of key 4 in FIG. If it is determined in step S63 that the remaining gate time corresponding to the new key code is not shorter than the predetermined time TR,
Step S64 is skipped. This is shown in FIG.
This is processing corresponding to the case of key 5 of FIG.

【0096】次いで、レジスタ群nへの格納処理が行わ
れる(ステップS65)。即ち、オン/オフビットが
「1」にセットされた新規発生キーコード、残存ゲート
タイム及び補正ベロシティがレジスタ群nの中の1つの
ブロックに格納される。この際、格納に使用されるブロ
ックは、オン/オフビットが「0」になっているブロッ
クである。次いで、キーオン出力が行われる(ステップ
S66)。ここに、「キーオン出力」とは、楽音発生器
14に所定のデータ(キーコード、ベロシティ等)を送
出し、発音を開始させる一連の処理をいい、以下におい
ても同じである。この際、ベロシティとして補正ベロシ
ティが出力されるので、補正後のベロシティでそのキー
コードに対応する発音が行われる。その後、ステップS
65に進む。
Next, a process of storing the data in the register group n is performed (step S65). That is, the newly generated key code with the on / off bit set to "1", the remaining gate time, and the corrected velocity are stored in one block of the register group n. At this time, the block used for storage is a block whose on / off bit is “0”. Next, a key-on output is performed (step S66). Here, "key-on output" refers to a series of processes for transmitting predetermined data (key code, velocity, etc.) to the tone generator 14 and starting sounding, and the same applies to the following. At this time, since the corrected velocity is output as the velocity, a sound corresponding to the key code is generated at the corrected velocity. Then, step S
Proceed to 65.

【0097】ステップS65ではパート番号nがインク
リメントされ、その結果が5以上になったかどうか、つ
まりパート4までの処理が完了したかどうかが調べられ
る(ステップS66)。そして、5以上でないことが判
断されたならステップS55に戻り、再度上述したと同
様の処理が繰り返される。一方、5以上であることが判
断されると、つまりパート4までの処理が完了したこと
が判断されると、このMIDI−IN処理ルーチンから
リターンしてメインルーチンに戻る。
In step S65, the part number n is incremented, and it is checked whether the result is 5 or more, that is, whether the processing up to part 4 is completed (step S66). If it is determined that the difference is not more than 5, the process returns to step S55, and the same processing as described above is repeated. On the other hand, when it is determined that the number is 5 or more, that is, when it is determined that the processing up to Part 4 is completed, the process returns from the MIDI-IN processing routine and returns to the main routine.

【0098】(5)パート1〜4読出処理(図9及び図
10) パート1〜4読出処理は、メインルーチンから周期的に
コールされる。このパート1〜4読出処理では、先ず、
パート番号が「n=1」に初期化される(ステップS8
0)。即ち、このパート1〜4読出処理では、各パート
1〜4に対応するパターンデータの読出処理が行われる
ことになる。次いで、ステップ補正値SAnの読み出し
が行われる(ステップS81)。即ち、小節レジスタB
RRと拍レジスタBTRとの内容をアドレスとしてRA
M12のステップタイム補正データ中から対応する補正
データSAnが読み出される。なお、ステップタイム補
正データは4分音符単位で格納されているので、上記の
アドレスとしては小節/拍表示器130に表示される値
と同じ値が用いられ、拍レジスタBTRの内容の下位の
所定ビットは無視される。
(5) Part 1-4 reading process (FIGS. 9 and 10) The part 1-4 reading process is called periodically from the main routine. In this part 1-4 reading process, first,
The part number is initialized to "n = 1" (step S8)
0). That is, in the part 1 to 4 reading processing, the reading processing of the pattern data corresponding to each of the parts 1 to 4 is performed. Next, the step correction value SAn is read (step S81). That is, measure register B
RA using the contents of RR and the contents of the beat register BTR as an address
The corresponding correction data SAn is read from the step time correction data of M12. Since the step time correction data is stored in quarter note units, the same address as the value displayed on the bar / beat indicator 130 is used as the above address, and a predetermined lower order of the contents of the beat register BTR is used. Bits are ignored.

【0099】次いで、拍レジスタBTRの内容に補正デ
ータSAnが加算されてパートn用拍レジスタBTRn
に格納される(ステップS82)。次いで、上記加算の
結果(パートn用拍レジスタBTRnの内容)が「0」
より小さいかどうかが調べられる(ステップS83)。
ここで、「0」より小さいことが判断されるとパートn
用拍レジスタBTRnの内容に「192」が加えられて
パートn用拍レジスタBTRnに格納され(ステップS
84)、次いで、小節レジスタBRRの内容がデクリメ
ントされてパートn用小節レジスタBRRnに格納され
る(ステップS85)。上記ステップS84及びS85
の処理により、パートnのステップタイム補正により得
られた拍レジスタBTRの内容が正になるように変換さ
れている。その後、ステップS90へ分岐する。
Next, the correction data SAn is added to the contents of the beat register BTR, and the beat register BTRn for part n is added.
(Step S82). Next, the result of the addition (contents of the part n beat register BTRn) is “0”.
It is checked whether it is smaller (step S83).
If it is determined that the value is smaller than “0”, the part n
"192" is added to the contents of the beat register BTRn and stored in the beat register BTRn for part n (step S).
84) Then, the contents of the bar register BRR are decremented and stored in the bar register BRRn for part n (step S85). Steps S84 and S85 above
Is converted so that the content of the beat register BTR obtained by the step time correction of the part n becomes positive. Thereafter, the flow branches to step S90.

【0100】上記ステップS83で加算結果が「0」よ
り小さくないことが判断されると、上記加算の結果(パ
ートn用拍レジスタBTRnの内容)が「192」以上
かどうかが調べられる(ステップS86)。ここで、
「192」以上であることが判断されるとパートn用拍
レジスタBTRnの内容から「192」が減算されてパ
ートn用拍レジスタBTRnに格納され(ステップS8
7)、次いで、小節レジスタBRRの内容がインクリメ
ントされてパートn用小節レジスタBRRnに格納され
る(ステップS88)。上記ステップS87及びS88
の処理により、パートnのステップタイム補正により拍
レジスタBTRの内容が1小節分(192ステップ)を
越えた場合に、1小節の範囲内となるように変換されて
いる。その後、ステップS90へ分岐する。
If it is determined in step S83 that the addition result is not smaller than "0", it is checked whether the addition result (contents of the part n beat register BTRn) is "192" or more (step S86). ). here,
If it is determined that it is equal to or greater than "192", "192" is subtracted from the contents of the part n beat register BTRn and stored in the part n beat register BTRn (step S8).
7) Then, the contents of the bar register BRR are incremented and stored in the bar register BRRn for part n (step S88). Steps S87 and S88 above
When the content of the beat register BTR exceeds one bar (192 steps) due to the step time correction of the part n, the conversion is performed so as to fall within the range of one bar. Thereafter, the flow branches to step S90.

【0101】上記ステップS83で加算結果が「19
2」以上でない、つまり「0≦パートn用拍レジスタB
TRnの内容<192」であることが判断されると、小
節レジスタBRRの内容がパートn用小節レジスタBR
Rnに格納される(ステップS89)。この場合、パー
トn用拍レジスタBTRnの内容は、ステップS82で
セットしたものがそのまま用いられる。その後、ステッ
プS90に進む。
In step S83, the addition result is "19".
2 or more, ie, “0 ≦ beat register B for part n”
When it is determined that the content of TRn <192 ”, the content of the bar register BRR is changed to the bar register BR for part n.
It is stored in Rn (step S89). In this case, the contents of the beat register BTRn for part n are the same as those set in step S82. Thereafter, the process proceeds to step S90.

【0102】以上の処理でステップタイム補正が完了す
ると、次いで、パートnのパターンデータ中から未発音
のデータが検索される(ステップS90)。即ち、パー
トn用小節レジスタBRRnの内容で示される小節に含
まれるパターンデータの中で、ステップタイムがパート
n用拍レジスタBTRnの内容よりも小さいか又は同一
のものが検索される。次いで、検索されたパターンデー
タ中のキーコード(KCOD)、ゲートタイム(GTI
M)及びベロシティ(VELO)が読み出される(ステ
ップS91)。
When the step time correction is completed by the above-mentioned processing, unsound data is retrieved from the pattern data of part n (step S90). That is, among the pattern data included in the bar indicated by the contents of the bar register for part n BRRn, those having a step time smaller than or the same as the content of the beat register for part n BTRn are searched. Next, the key code (KCOD) in the searched pattern data and the gate time (GTI)
M) and velocity (VELO) are read (step S91).

【0103】次いで、パートnの補正ベロシティが生成
される(ステップS92)。この処理は、図8を参照し
て既に説明したものと同じである。次いで、パートnに
対応するレジスタ群nの更新が行われる(ステップS9
3)。即ち、キーコード(KCOD)、ゲートタイム
(GTIM)及び補正ベロシティ(VLAn)がレジス
タ群nの中の1つに格納される。
Next, a corrected velocity of part n is generated (step S92). This processing is the same as that already described with reference to FIG. Next, the register group n corresponding to the part n is updated (step S9).
3). That is, the key code (KCOD), the gate time (GTIM), and the correction velocity (VLAn) are stored in one of the register groups n.

【0104】次いで、当該パートnがオン、つまりパー
トnに対応するパートスイッチ139〜142の何れか
が押されているかどうかが調べられ(ステップS9
4)、押されていることが判断されると、キーオン出力
が行われる(ステップS95)。これにより、ステップ
タイム及びベロシティが補正された発音が行われること
になる。一方、パートスイッチが押されていないことが
判断されると、ステップS95はスキップされる。従っ
て、この場合は、パターンデータの読み出しのみが行わ
れることになる。
Next, it is checked whether the part n is on, that is, whether any of the part switches 139 to 142 corresponding to the part n is pressed (step S9).
4) If it is determined that the key is pressed, a key-on output is performed (step S95). As a result, the sound with the corrected step time and velocity is performed. On the other hand, if it is determined that the part switch has not been pressed, step S95 is skipped. Therefore, in this case, only the reading of the pattern data is performed.

【0105】次いで、パート番号nがインクリメントさ
れ(ステップS96)、その結果が5以上でなければス
テップS81に戻って次のパートに対する読出処理が行
われ、5以上であれば全パートに対する処理が終了した
ことを認識してこのパート1〜4読出処理ルーチンから
リターンしてメインルーチンに戻る。
Next, the part number n is incremented (step S96). If the result is not 5 or more, the process returns to step S81 to perform reading processing for the next part, and if it is 5 or more, processing for all parts is completed. Upon recognizing that the part has been read, the routine returns from the part 1-4 reading processing routine and returns to the main routine.

【0106】(6)パート1〜4切換処理(図11) 次に、パネル制御処理ルーチンのステップS43で行わ
れるパートの切換処理について説明する。このパート切
換処理は、パートスイッチ139〜142が押された時
に、当該パートの発音を開始し又は停止する処理であ
る。本実施例の自動演奏装置では、既に説明したよう
に、パート1〜4のパターンデータは常に読み出されて
おり、読み出されたパターンデータに基づいて発音が行
われるかどうかは、パートスイッチ139〜142がオ
ンにされているかどうかによって決定される。
(6) Part 1-4 Switching Process (FIG. 11) Next, the part switching process performed in step S43 of the panel control process routine will be described. This part switching process is a process of starting or stopping sound generation of the part when the part switches 139 to 142 are pressed. In the automatic performance device of this embodiment, as described above, the pattern data of the parts 1 to 4 are always read, and it is determined whether or not to generate a sound based on the read pattern data by the part switch 139. ~ 142 is turned on.

【0107】パートスイッチがオンに変化した時の動作
の概要を図18に示す。図18においては、時刻TBで
パートスイッチnがオンに変化した場合の動作状態を示
しており、太線で囲まれ部分はパターンデータの読み出
しが行われることを、その中の斜線部は読み出されたパ
ターンデータに基づいて発音が行われることをそれぞれ
示している。
An outline of the operation when the part switch is turned on is shown in FIG. FIG. 18 shows an operation state when the part switch n is turned on at time TB. The portion surrounded by a thick line indicates that pattern data is to be read, and the hatched portion therein indicates that the pattern data is to be read. Respectively indicates that sound is generated based on the pattern data.

【0108】図18の例では、パートスイッチnがオン
にされた時に、キー1及びキー2はオフ状態であるため
発音されない。キー3及びキー4はオン状態であるので
発音が行われるが、キー3については、パートスイッチ
nのオン変化が検出されてから一定時間TR内に発音が
終了するので、換言すれば、残存ゲートタイムが所定時
間TR未満であるので残存ゲートタイムが所定時間TR
になるように引き延ばされて発音される。キー4につい
ては残存ゲートタイムが所定時間TR以上であるのでそ
のまま発音が開始される。
In the example shown in FIG. 18, when the part switch n is turned on, the keys 1 and 2 are in the off state, so that no sound is produced. Since the keys 3 and 4 are in the ON state, the sound is produced. However, the sound of the key 3 ends within a predetermined time TR after the ON change of the part switch n is detected. Since the time is less than the predetermined time TR, the remaining gate time is equal to the predetermined time TR.
It is prolonged to be pronounced. Since the remaining gate time of the key 4 is equal to or longer than the predetermined time TR, sound generation is started as it is.

【0109】このような処理を行うことにより、例えば
図18のキー3のように、パートスイッチnのオン変化
に応じて発音すべき音であるが短時間で発音が終了する
ものは所定時間TRにまで引き延ばされるので、例えば
アタックのエンベロープが最大値まで到達せずに消音さ
れるような音がなくなる。これは、図18のキー3のケ
ースに対応する処理である。
By performing such processing, a sound which should be produced in response to the on-change of the part switch n but which terminates in a short time, such as the key 3 in FIG. , So that, for example, there is no sound in which the envelope of the attack is muted without reaching the maximum value. This is a process corresponding to the case of the key 3 in FIG.

【0110】以上の機能を実現するために、パート切換
処理では、先ず、パート番号が「n=1」に初期化され
る(ステップS100)。次いで、パートnのパートス
イッチのイベントがあったかどうかが調べられる(ステ
ップS101)。これは、パネルイベントマップ中のパ
ートnのパートスイッチ139〜142に対応するビッ
トが「1」であるかどうかを調べることにより行われ
る。ここでイベントがないことが判断されるとステップ
S109へ分岐する。一方、パートnのパートスイッチ
のイベントがあったことが判断されると、次いで、その
イベントはオンイベントであるかどうかが調べられる
(ステップS102)。これは、新パネルデータ中のパ
ートnのパートスイッチ139〜142に対応するビッ
トが「1」であるかどうかを調べることにより行われ
る。
In order to realize the above functions, in the part switching process, first, the part number is initialized to "n = 1" (step S100). Next, it is checked whether or not the event of the part switch of the part n has occurred (step S101). This is performed by checking whether the bit corresponding to the part switches 139 to 142 of the part n in the panel event map is “1”. If it is determined that there is no event, the process branches to step S109. On the other hand, if it is determined that there is an event of the part switch of part n, then it is checked whether or not the event is an ON event (step S102). This is performed by checking whether the bit corresponding to the part switches 139 to 142 of the part n in the new panel data is “1”.

【0111】ここでオンイベントであることが判断され
ると、レジスタ群nの残存ゲートタイムの読み出しが行
われる(ステップS103)。即ち、レジスタ群nにキ
ーオン状態で格納されているキーコードの残存ゲートタ
イムが読み出される。この際、補正ベロシティも読み出
される。次いで、残存ゲートタイムが所定時間TRより
小さいかどうかが調べられ(ステップS104)、所定
時間TRより小さいことが判断されると、残存ゲートタ
イムが2倍にされる(ステップS105)。なお、この
ステップS105の処理は、「残存ゲートタイム*2」
という演算に限定されず、残存ゲートタイムを徐々に増
加するような演算であれば、種々の演算を用いることが
できる。その後、ステップS104に戻り再度同様の処
理が繰り返される。そして、ステップS104及びS1
05の繰り返し実行により、ステップS104で残存ゲ
ートタイムが所定時間TR以上になったことが判断され
ると、音色出力が行われる(ステップS106)。即
ち、パートスイッチ139〜142で選択されたパート
のパターンデータ中のスタートデータに含まれる音色デ
ータが出力される。これにより、以後の当該パートの自
動演奏は、上記音色出力に係る音色で発音されることに
なる。
If it is determined that the event is an ON event, the remaining gate time of the register group n is read (step S103). That is, the remaining gate time of the key code stored in the register group n in the key-on state is read. At this time, the corrected velocity is also read. Next, it is checked whether or not the remaining gate time is shorter than the predetermined time TR (step S104). If it is determined that the remaining gate time is shorter than the predetermined time TR, the remaining gate time is doubled (step S105). It should be noted that the processing in step S105 corresponds to “remaining gate time * 2”.
The calculation is not limited to this, and various calculations can be used as long as the calculation gradually increases the remaining gate time. Thereafter, the process returns to step S104, and the same processing is repeated again. Then, steps S104 and S1
If it is determined in step S104 that the remaining gate time has become equal to or longer than the predetermined time TR by repeating the execution of step 05, a tone color is output (step S106). That is, the tone color data included in the start data in the pattern data of the part selected by the part switches 139 to 142 is output. As a result, subsequent automatic performances of the part will be produced with the timbre related to the timbre output.

【0112】次いで、キーオン出力が行われる(ステッ
プS107)。この際、補正ベロシティも出力される。
これにより、パートnのパターンデータに基づく発音が
開始される。上記ステップS104からステップS10
5を経由してステップS106に至る処理は、図18の
キー3のケースに対応する処理であり、上記ステップS
104からステップS105を経由しないで直接ステッ
プS106に至る処理は、図18のキー4のケースに対
応する処理である。
Next, a key-on output is performed (step S107). At this time, the corrected velocity is also output.
Thus, sound generation based on the pattern data of part n is started. Steps S104 to S10
The processing up to step S106 via step 5 corresponds to the case of key 3 in FIG.
The process from 104 directly to step S106 without passing through step S105 is a process corresponding to the case of the key 4 in FIG.

【0113】上記ステップS102でオフイベントであ
ることが判断されると、パートnに対するキーオフ出力
が行われる(ステップS108)。即ち、レジスタ群n
にキーオン状態で格納されている全てのキーコードに対
してキーオフ出力が行われる。これにより、パートnの
発音が停止される。その後ステップS109へ分岐す
る。
If it is determined in step S102 that the event is an off event, a key-off output for part n is performed (step S108). That is, the register group n
Key-off output is performed for all the key codes stored in the key-on state. As a result, the sound generation of part n is stopped. Thereafter, the flow branches to step S109.

【0114】ステップS109では、パート番号nがイ
ンクリメントされ、その結果が5以上でなければステッ
プS101に戻って次のパートに対する切換処理が行わ
れ、5以上であれば全パートに対する処理が終了したこ
とを認識してこのパート1〜4切換処理ルーチンからリ
ターンしてメインルーチンに戻る。
In step S109, the part number n is incremented. If the result is not 5 or more, the process returns to step S101 to perform switching processing for the next part. If it is 5 or more, processing for all parts is completed. And returns from the part 1-4 switching processing routine to return to the main routine.

【0115】(7)タイマ割込処理(図12) 次にタイマ割込処理ルーチンについて説明する。このタ
イマ割込処理ルーチンは、タイマ16から割込信号がC
PU10の割込信号入力端子INT2に供給されること
により起動される。従って、その時点で設定されている
テンポにおける1ステップタイムに対応する時間間隔で
このタイマ割込処理ルーチンが起動されることになる。
(7) Timer Interrupt Processing (FIG. 12) Next, a timer interrupt processing routine will be described. In this timer interrupt processing routine, when the interrupt signal from the timer 16 is C
It is activated by being supplied to the interrupt signal input terminal INT2 of the PU 10. Therefore, the timer interrupt processing routine is started at a time interval corresponding to one step time at the tempo set at that time.

【0116】タイマ割込処理では、先ず、自動演奏フラ
グがオンになっているかどうかが調べられる(ステップ
S120)。即ち、本自動演奏装置が自動演奏状態にあ
るかどうかが調べられる。ここで自動演奏フラグがオン
であることが判断されると、拍レジスタBTRの内容が
インクリメントされ(ステップS121)、その結果が
「192」以上になったかどうかが調べられる(ステッ
プS122)。そして、「192」以上になったことが
判断されると、拍レジスタBTRがゼロにクリアされ
(ステップS123)、小節レジスタBRRがインクリ
メントされる(ステップS124)。上記ステップS1
22で「192」以上でないことが判断されると、ステ
ップS123及びS124の処理はスキップされる。上
記ステップS121〜S124の処理により、1ステッ
プタイム毎に小節レジスタBRRと拍レジスタBTRと
が連結された状態でインクリメントされる機能が実現さ
れている。
In the timer interruption processing, first, it is checked whether or not the automatic performance flag is turned on (step S120). That is, it is checked whether or not the automatic performance device is in an automatic performance state. If it is determined that the automatic performance flag is ON, the content of the beat register BTR is incremented (step S121), and it is checked whether the result is "192" or more (step S122). Then, when it is determined that the value has become “192” or more, the beat register BTR is cleared to zero (step S123), and the bar register BRR is incremented (step S124). Step S1 above
If it is determined in step S22 that the number is not equal to or larger than "192", the processing in steps S123 and S124 is skipped. The function of incrementing the bar register BRR and the beat register BTR in a connected state at each step time is realized by the processing of steps S121 to S124.

【0117】次いで、全パートのゲートタイムの更新が
行われる(ステップS125)。即ち、全パートのレジ
スタ群に含まれる残存ゲートタイムが「0」以外のもの
はデクリメントされる。そして、このデクリメントの結
果、新たにゼロになった残存ゲートタイムがあれば、そ
の残存ゲートタイムに対応するキーコードに対してキー
オフ出力が行われ発音が停止される。
Next, the gate times of all parts are updated (step S125). That is, the remaining gate times included in the register groups of all parts other than “0” are decremented. As a result of this decrement, if there is a remaining gate time that has newly become zero, a key-off output is performed for a key code corresponding to the remaining gate time, and sound generation is stopped.

【0118】上記ステップS120で自動演奏フラグが
オンでないことが判断されると、自動演奏中でないこと
が認識され、全パートのゲートタイムの更新のみが行わ
れる。その後、このタイマ割込処理ルーチンからリター
ンして割り込まれた位置に戻る。
If it is determined in step S120 that the automatic performance flag is not on, it is recognized that automatic performance is not being performed, and only the gate times of all parts are updated. Thereafter, the routine returns from the timer interrupt processing routine and returns to the interrupted position.

【0119】以上説明したように、本実施例において
は、例えばキーコード、ゲートタイム、ベロシティ等と
いったデータを音源に出力することにより自動演奏を行
わせる自動演奏装置において、コード変化があった場合
に、RAM12から読み出されたパターンデータに応じ
て新パターンの新キーコード、ゲートタイム及びベロシ
ティを作成し、この作成されたデータ中の新キーコード
とレジスタ群nに記憶されている現在発音中の音を示す
キーコードとを比較し、両キーコードが同一であれば、
新キーコード、ゲートタイム及びベロシティの出力を抑
止するようにしている。即ち、新キーコードに基づくリ
トリガーは行われず、既に発音中であるキーコードに基
づく発音が継続されることになる。従って、演奏パター
ンが変更されることに伴うCPU10の負担が軽減され
て処理効率を高めることができる。
As described above, in this embodiment, an automatic performance device that performs an automatic performance by outputting data such as a key code, gate time, velocity, etc. to a sound source, when a chord change occurs. A new key code, a gate time and a velocity of a new pattern are created in accordance with the pattern data read from the RAM 12, and the new key code in the created data and the currently generated sound stored in the register group n are generated. Compare the key code indicating the sound and if both key codes are the same,
The new key code, gate time and velocity output are suppressed. That is, retrigger based on the new key code is not performed, and the sound generation based on the key code that is already sounding is continued. Therefore, the load on the CPU 10 due to the change of the performance pattern is reduced, and the processing efficiency can be improved.

【0120】また、新キーコードとレジスタ群nに記憶
されている現在発音中の音を示すキーコードとが同一で
あれば、更に、新キーコードに基づき発音すべき音の音
色とレジスタ群nに記憶されている現在発音中の音を示
すキーコードに基づき発音すべき音の音色とが同一であ
るかどうかを調べ、同一の場合に新キーコード、ゲート
タイム及びベロシティの出力を抑止するようにしてい
る。これにより、例えば演奏パターンによって音色が異
なるように構成された自動演奏装置であっても、上記双
方のキーコードが同一で、且つ音色も同一であれば新キ
ーコード、ゲートタイム及びベロシティの出力は行われ
ず、従って、これらに基づくリトリガーは行われないこ
ととなり、既に発音中である音の発音が継続される。従
って、この場合も、演奏パターンが変更されることに伴
うCPU10の負担が軽減されて処理効率を高めること
ができる。
If the new key code and the key code indicating the currently sounding sound stored in the register group n are the same, the timbre of the sound to be generated based on the new key code and the register group n It checks whether the tone of the sound to be pronounced is the same based on the key code indicating the currently sounding sound stored in the memory, and if the same, suppresses the output of the new key code, gate time and velocity. I have to. Thus, for example, even in an automatic performance apparatus configured so that the timbre differs depending on the performance pattern, the output of the new key code, the gate time, and the velocity will be the same if the two key codes are the same and the timbres are the same. No retriggering is performed based on these, so that the sound that is already being sounded is continued. Therefore, also in this case, the load on the CPU 10 due to the change of the performance pattern is reduced, and the processing efficiency can be improved.

【0121】また、例えばキーコード、ゲートタイム、
ベロシティ等といったデータを音源に出力することによ
り自動演奏を行わせる自動演奏装置において、RAM1
2から読み出されたパターンデータに応じて新たに発音
すべき音に対応した新キーコード、ゲートタイム及びベ
ロシティを作成し、この作成されたデータ中の新キーコ
ードとレジスタ群nに記憶されている現在発音中の音を
示すキーコードとを比較し、これらが異なる場合に、そ
の新キーコードに対応する残存ゲートタイムが所定時間
TR以下であれば該所定時間TR以上になるように補正
して出力するようにしている。これにより、例えば演奏
パターンが変更された場合に、残存ゲートタイムが短く
て発音してもアタックのエンベロープが最大値まで到達
せずに消音されるような音がなくなり、少なくともアタ
ック音の発音は完全に行われる。従って、演奏パターン
が変更されても音楽性が損なわれることはない。
Further, for example, a key code, a gate time,
In an automatic performance device for performing an automatic performance by outputting data such as velocity to a sound source, a RAM 1
A new key code, a gate time, and a velocity corresponding to a sound to be newly generated are created in accordance with the pattern data read out from the second data, and the new key code in the created data and the register group n are stored. The key codes indicating the currently sounding sounds are compared with each other, and if they are different, if the remaining gate time corresponding to the new key code is shorter than the predetermined time TR, the correction is made so as to be longer than the predetermined time TR. Output. As a result, for example, when the performance pattern is changed, even if the remaining gate time is short, there is no sound that is muffled without reaching the maximum value of the attack envelope even if the sound is generated, and at least the sound of the attack sound is completely sounded. Done in Therefore, the musicality is not impaired even if the performance pattern is changed.

【0122】また、例えばキーコード、ゲートタイム、
ベロシティ等といったデータを音源に出力することによ
り自動演奏を行わせる自動演奏装置において、特定パー
トの発音が指示された場合に、該パートに対応するパタ
ーンデータをRAM12から読み出して新たに発音すべ
き音に対応した新キーコード、ゲートタイム及びベロシ
ティを作成し、この作成されたデータ中の新キーコード
とレジスタ群nに記憶されている現在発音中の音を示す
キーコードとを比較し、これらが異なる場合に、その新
キーコードの残存ゲートタイムが所定時間TR以下であ
れば該所定時間TR以上になるように補正して出力する
ようにしている。これにより、例えばパートスイッチで
特定パートの再生開始が指示されることにより任意のタ
イミングで演奏パターンが変更された場合であっても、
残存ゲートタイムが短くて発音してもアタックのエンベ
ロープが最大値まで到達せずに消音されるような音がな
くなり、少なくともアタック音の発音は完全に行われ
る。従って、演奏パターンが変更されても音楽性が損な
われることはない。
Further, for example, a key code, a gate time,
2. Description of the Related Art In an automatic performance device for performing automatic performance by outputting data such as velocity to a sound source, when sounding of a specific part is instructed, pattern data corresponding to the part is read from the RAM 12 to newly generate a sound to be sounded. A new key code, gate time, and velocity corresponding to are generated, and the new key code in the created data is compared with the key code indicating the currently sounding sound stored in the register group n. If different, if the remaining gate time of the new key code is less than or equal to a predetermined time TR, the new key code is corrected to be longer than the predetermined time TR and output. Thus, even if the performance pattern is changed at an arbitrary timing by, for example, instructing the start of reproduction of a specific part by a part switch,
Even if the remaining gate time is short and the sound is pronounced, the attack envelope does not reach the maximum value and there is no sound that is muted, and at least the attack sound is completely sounded. Therefore, the musicality is not impaired even if the performance pattern is changed.

【0123】更に、例えばキーコード、ゲートタイム、
ベロシティ等といったデータを音源に出力することによ
り自動演奏を行わせる自動演奏装置において、例えば鍵
盤装置の押鍵やMIDIデータを受信したことにより発
生される押鍵データに基づきコードを検出し、この検出
されたコードに応じて演奏パターンが変更された場合
に、該演奏パターンに対応するパターンデータをRAM
12から読み出して新たに発音すべき音に対応した新キ
ーコード、ゲートタイム及びベロシティを作成し、この
作成されたデータ中の新キーコードとレジスタ群nに記
憶されている現在発音中の音を示すキーコードとを比較
し、これらが異なる場合に、その新キーコードの残存ゲ
ートタイムが所定時間TR以下であれば該所定時間TR
以上になるように補正して出力するようにしている。こ
れにより、例えば押鍵やMIDIデータの受信に伴って
コードが検出されることにより任意のタイミングで演奏
パターンが変更された場合であっても、残存ゲートタイ
ムが短くて発音してもアタックのエンベロープが最大値
まで到達せずに消音されるような音がなくなり、少なく
ともアタック音の発音は完全に行われる。従って、演奏
パターンが変更されても音楽性が損なわれることはな
い。
Furthermore, for example, a key code, a gate time,
2. Description of the Related Art In an automatic performance device for performing automatic performance by outputting data such as velocity to a sound source, for example, a chord is detected based on key press data generated by receiving a key press of a keyboard device or MIDI data, and this detection is performed. When the performance pattern is changed in accordance with the input chord, the pattern data corresponding to the performance pattern is stored in a RAM.
12 to create a new key code, gate time and velocity corresponding to the sound to be newly sounded, and generate the new key code in the created data and the currently sounding sound stored in the register group n. The key codes are compared with each other, and if they differ, if the remaining gate time of the new key code is less than or equal to a predetermined time TR, the predetermined time TR
The output is corrected so as to be as described above. Thus, even if the performance pattern is changed at an arbitrary timing due to, for example, a key being pressed or a chord being detected in response to reception of MIDI data, even if the remaining gate time is short, the envelope of the attack is produced even if the sound is generated. There is no sound that is muted without reaching the maximum value, and at least the attack sound is completely generated. Therefore, the musicality is not impaired even if the performance pattern is changed.

【0124】[0124]

【発明の効果】以上詳述したように、本発明によれば、
演奏パターンが変更されることに伴う処理装置の負担を
軽減して処理効率を高めることのできる自動演奏装置を
提供することができる。また、演奏パターンが変更され
ても音楽性が損なわれることのない自動演奏装置を提供
することができる。
As described in detail above, according to the present invention,
It is possible to provide an automatic performance apparatus capable of reducing the load on the processing apparatus due to the change of the performance pattern and improving the processing efficiency. Further, it is possible to provide an automatic performance device in which musicality is not impaired even when the performance pattern is changed.

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

【図1】本発明の実施例の自動演奏装置の構成を示すブ
ロック図である。
FIG. 1 is a block diagram showing a configuration of an automatic performance device according to an embodiment of the present invention.

【図2】本発明の実施例に使用される操作パネルの一例
を示す図である。
FIG. 2 is a diagram illustrating an example of an operation panel used in the embodiment of the present invention.

【図3】本発明の実施例の動作を示すフローチャート
(メインルーチン)である。
FIG. 3 is a flowchart (main routine) showing the operation of the embodiment of the present invention.

【図4】本発明の実施例の動作を示すフローチャート
(MIDI−IN割込処理ルーチン)である。
FIG. 4 is a flowchart (MIDI-IN interrupt processing routine) illustrating the operation of the embodiment of the present invention.

【図5】本発明の実施例の動作を示すフローチャート
(パネル制御処理ルーチン)である。
FIG. 5 is a flowchart (panel control processing routine) showing the operation of the embodiment of the present invention.

【図6】本発明の実施例の動作を示すフローチャート
(MIDI−IN処理ルーチン(その1))である。
FIG. 6 is a flowchart (MIDI-IN processing routine (No. 1)) showing an operation of the embodiment of the present invention.

【図7】本発明の実施例の動作を示すフローチャート
(MIDI−IN処理ルーチン(その2))である。
FIG. 7 is a flowchart (MIDI-IN processing routine (No. 2)) showing the operation of the embodiment of the present invention.

【図8】本発明の実施例の動作を示すフローチャート
(補正ベロシティ生成ルーチン)である。
FIG. 8 is a flowchart (correction velocity generation routine) illustrating the operation of the embodiment of the present invention.

【図9】本発明の実施例の動作を示すフローチャート
(パート1〜4読出処理ルーチン(その1))である。
FIG. 9 is a flowchart (part 1 to 4 read processing routine (part 1)) showing the operation of the embodiment of the present invention.

【図10】本発明の実施例の動作を示すフローチャート
(パート1〜4読出処理ルーチン(その2))である。
FIG. 10 is a flowchart (part 1 to 4 read processing routine (No. 2)) showing the operation of the embodiment of the present invention.

【図11】本発明の実施例の動作を示すフローチャート
(パート1〜4切換処理ルーチン)である。
FIG. 11 is a flowchart (part 1 to 4 switching processing routine) showing the operation of the embodiment of the present invention.

【図12】本発明の実施例の動作を示すフローチャート
(タイマ割込処理ルーチン)である。
FIG. 12 is a flowchart (timer interrupt processing routine) showing an operation of the embodiment of the present invention.

【図13】本発明の実施例で使用する受信バッファの構
成を示す図である。
FIG. 13 is a diagram showing a configuration of a reception buffer used in the embodiment of the present invention.

【図14】(A)は本発明の実施例で使用するレジスタ
群nの構成を示す図、(B)は本発明の実施例で使用す
るパターンデータの構成を示す図である。
14A is a diagram illustrating a configuration of a register group n used in the embodiment of the present invention, and FIG. 14B is a diagram illustrating a configuration of pattern data used in the embodiment of the present invention;

【図15】本発明の実施例で使用するステップタイム補
正データを説明するための図である。
FIG. 15 is a diagram for explaining step time correction data used in the embodiment of the present invention.

【図16】本発明の実施例で使用するベロシティ補正デ
ータを説明するための図である。
FIG. 16 is a diagram for explaining velocity correction data used in the embodiment of the present invention.

【図17】本発明の実施例においてコードが変化した時
の発音処理の動作を説明するための図である。
FIG. 17 is a diagram for explaining an operation of sound generation processing when a chord changes in the embodiment of the present invention.

【図18】本発明の実施例においてパートスイッチがオ
ン変化した時の発音処理の動作を説明するための図であ
る。
FIG. 18 is a diagram for explaining an operation of a tone generation process when a part switch is turned on in the embodiment of the present invention.

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

10 CPU 11 ROM 12 RAM 13 操作パネル 14 楽音発生器 15 スピーカシステム 16 タイマ 17 MIDIコントローラ 18 FDコントローラ 19 フロッピーディスクドライブ装置 30 システムバス 130 小節/拍表示器 131 コード表示器 132 テンポスピード表示器 133 インクリメンタ 134 ストップスイッチ 135 プレイ/ポーズスイッチ 136 FFスイッチ 137 REWスイッチ 138 リピートスイッチ 139 パート1スイッチ 140 パート2スイッチ 141 パート3スイッチ 142 パート4スイッチ 143〜150 LED表示器 Reference Signs List 10 CPU 11 ROM 12 RAM 13 Operation panel 14 Tone generator 15 Speaker system 16 Timer 17 MIDI controller 18 FD controller 19 Floppy disk drive 30 System bus 130 Bar / beat display 131 Code display 132 Tempo speed display 133 Incrementer 134 Stop switch 135 Play / pause switch 136 FF switch 137 REW switch 138 Repeat switch 139 Part 1 switch 140 Part 2 switch 141 Part 3 switch 142 Part 4 switch 143 to 150 LED display

フロントページの続き (56)参考文献 特開 平4−346399(JP,A) 特開 平4−242297(JP,A) 特開 平2−29791(JP,A) 特開 平1−179091(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 G10H 1/18 101 G10H 1/36 - 1/42 Continuation of the front page (56) References JP-A-4-346399 (JP, A) JP-A-4-242297 (JP, A) JP-A-2-29791 (JP, A) JP-A-1-179909 (JP) , A) (58) Field surveyed (Int. Cl. 7 , DB name) G10H 1/00 G10H 1/18 101 G10H 1/36-1/42

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 少なくともキーコードが含まれた楽音デ
ータを出力することにより自動演奏を行わせる自動演奏
装置において、入力された押鍵データに基づきコードを検出するコード
検出手段と、 複数パートのパターンデータを記憶している第1の記憶
手段と、 該第1の記憶手段から読み出されたパターンデータを前
記コード検出手段で検出されたコードに基づき変更する
ことにより、新たに発音すべき音に対応した新楽音デー
タを作成する作成手段と、 現在発音中の音に対応した現楽音データを記憶している
第2の記憶手段と、前記押鍵データが入力された際に、 該第2の記憶手段に
記憶されている現楽音データに含まれるキーコードと、
前記作成手段で作成された新楽音データに含まれるキー
コードとが同一でなければ前記新楽音データを出力する
と共に現楽音データとして前記第2の記憶手段に記憶
し、同一であれば、前記新楽音データを出力しない制御
手段、 とを備えたことを特徴とする自動演奏装置。
1. A tone generator including at least a key code.
Automatic performance to perform automatic performance by outputting data
In the device,A code that detects a code based on input keypress data
Detecting means;  First storage storing pattern data of a plurality of parts
Means, and pattern data read from the first storage meansBefore
Change based on the code detected by the code detection means
By, A new music day corresponding to the sound to be newly pronounced
Means for creating the data, and the current musical sound data corresponding to the sound currently being produced is stored.
Second storage means;When the key press data is input, In the second storage means
A key code included in the stored current musical sound data,
Key included in the new musical sound data created by the creating means
Code is the sameIf not, output the new tone data
And stored in the second storage means as the current musical sound data.
And if they are the same, the new tone data is not output.control
Means, and an automatic performance device.
【請求項2】 少なくともキーコード及びゲートタイム
が含まれた楽音データを出力することにより自動演奏を
行わせる自動演奏装置において、 入力された押鍵データに基づきコードを検出するコード
検出手段と、 複数パートのパターンデータを記憶している第1の記憶
手段と、 該第1の記憶手段から読み出されたパターンデータを前
記コード検出手段で検出されたコードに基づき変更する
ことにより、新たに発音すべき音に対応した新楽音デー
タを作成する作成手段と、 現在発音中の音に対応した現楽音データを記憶している
第2の記憶手段と、 前記押鍵データが入力された際に、前記新楽音データの
残存ゲートタイムが所定時間以下であれば該所定時間以
上になるように補正して出力する制御手段、 とを備えたことを特徴とする自動演奏装置。
(2)At least key code and gate time
Automatic performance by outputting music data containing
In the automatic performance device to be performed, A code that detects a code based on input keypress data
Detecting means; First storage storing pattern data of a plurality of parts
Means, The pattern data read from the first storage means
Change based on the code detected by the code detection means
New musical tone data corresponding to the sound to be newly pronounced
Creation means for creating data, Stores the current musical sound data corresponding to the currently sounding sound
Second storage means; When the key press data is input, the new tone data
If the remaining gate time is shorter than a predetermined time,
Control means for correcting the output so that it is above  An automatic performance device comprising:
【請求項3】 特定パートの発音を指示する指示手段を
更に備え、前記作成手段は、該指示手段の指示に応じて
新楽音データを作成することを特徴とする請求項1又は
2に記載の自動演奏装置。
3. An instruction means for instructing a specific part to sound.
Further comprising: the creating unit, in response to an instruction from the instruction unit,
2. The method according to claim 1, wherein new tone data is created.
3. The automatic performance device according to 2.
JP22431594A 1994-08-25 1994-08-25 Automatic performance device Expired - Fee Related JP3324881B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22431594A JP3324881B2 (en) 1994-08-25 1994-08-25 Automatic performance device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22431594A JP3324881B2 (en) 1994-08-25 1994-08-25 Automatic performance device

Publications (2)

Publication Number Publication Date
JPH0863162A JPH0863162A (en) 1996-03-08
JP3324881B2 true JP3324881B2 (en) 2002-09-17

Family

ID=16811829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22431594A Expired - Fee Related JP3324881B2 (en) 1994-08-25 1994-08-25 Automatic performance device

Country Status (1)

Country Link
JP (1) JP3324881B2 (en)

Also Published As

Publication number Publication date
JPH0863162A (en) 1996-03-08

Similar Documents

Publication Publication Date Title
JPS6367193B2 (en)
US5597971A (en) Chord information generating apparatus and chord information generating method
US5430242A (en) Electronic musical instrument
JP3609045B2 (en) Automatic performance device
JP3324881B2 (en) Automatic performance device
JP2773638B2 (en) Automatic performance device
JPH0863159A (en) Automatic player
JP3630266B2 (en) Automatic accompaniment device
JPH06348258A (en) Automatic playing device of electronic musical instrument
JP2665854B2 (en) Automatic performance device
JP3529123B2 (en) Automatic performance device and automatic performance method
JPH06242781A (en) Electronic musical instrument
JP2953937B2 (en) Electronic musical instrument volume control device
JP2002215147A (en) Method and device for automatic accompaniment of electronic musical instrument
JPH10116077A (en) Device and method for controlling tempo of automatic playing device
JPH07146681A (en) Electronic musical instrument
JPH08106285A (en) Automatic playing device
JPH0830273A (en) Tempo setting device for electronic musical instrument
JPH0457092A (en) Automatic musical performance device
JPH07181973A (en) Automatic accompaniment device of electronic musical instrument
JP2005010458A (en) Automatic arpeggio device and computer program applied to the device
JPH07104753A (en) Automatic tuning device of electronic musical instrument
JPH08221072A (en) Automatic accompaniment device
JPH04181995A (en) Automatic accompanying device
JPH0452692A (en) Automatic performance device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020621

LAPS Cancellation because of no payment of annual fees