JP3505292B2 - Arpeggiator - Google Patents

Arpeggiator

Info

Publication number
JP3505292B2
JP3505292B2 JP24037695A JP24037695A JP3505292B2 JP 3505292 B2 JP3505292 B2 JP 3505292B2 JP 24037695 A JP24037695 A JP 24037695A JP 24037695 A JP24037695 A JP 24037695A JP 3505292 B2 JP3505292 B2 JP 3505292B2
Authority
JP
Japan
Prior art keywords
key
information
note
depression
routine
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
JP24037695A
Other languages
Japanese (ja)
Other versions
JPH0981148A (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.)
Roland Corp
Original Assignee
Roland Corp
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 Roland Corp filed Critical Roland Corp
Priority to JP24037695A priority Critical patent/JP3505292B2/en
Priority to US08/652,368 priority patent/US5714705A/en
Publication of JPH0981148A publication Critical patent/JPH0981148A/en
Application granted granted Critical
Publication of JP3505292B2 publication Critical patent/JP3505292B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、押鍵情報を走査し
その走査結果に従って複数の演奏情報を順次生成するア
ルペジエータに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arpeggiator which scans key depression information and sequentially generates a plurality of performance information according to the scanning result.

【0002】[0002]

【従来の技術】従来の電子楽器には、いわゆるアルペジ
エータと呼ばれる機能が搭載されているものがある。こ
のアルペジエータとは、時間の経過毎に、押鍵情報を、
例えば音高の低い方から高い方へと順番に走査し、その
結果に従って演奏情報を順次出力する機能である。
2. Description of the Related Art Some conventional electronic musical instruments have a function called a so-called arpeggiator. With this arpeggiator, key press information is
For example, it is a function of sequentially scanning from the lowest pitch to the highest pitch, and sequentially outputting performance information according to the result.

【0003】この機能によって、演奏者にとって本来演
奏の困難なアルペジオ演奏を、単に複数の鍵を同時に押
鍵するだけの簡単な演奏操作によって実現することがで
きる。従来のアルペジエータには、押鍵情報を音高の低
い方から高い方へと走査する方式(上昇スキャン方式)
だけでなく、音高の高い方から低い方へと走査したり
(下降スキャン方式)、上昇、下降を繰り返したり(上
昇下降スキャン方式)、あるいはランダムに走査する
(ランダムスキャン方式)等のスキャン方式が採用され
ているものもある。それら種々のスキャン方式を採用し
たアルペジエータの中で、いわゆる押鍵順アルペジエー
タと呼ばれる機能を有するものがある。この押鍵順アル
ペジエータは、時間の経過ごとに、押鍵されたキーを押
鍵された順番にスキャンし、その結果に従って演奏情報
を発生するものである。これによって簡単なメロディを
演奏することができる。
With this function, it is possible to realize an arpeggio performance, which is difficult for the performer to perform originally, by a simple performance operation of simply pressing a plurality of keys at the same time. The conventional arpeggiator scans the key press information from the lowest pitch to the highest pitch (ascending scan method)
Not only that, scan method such as scanning from high pitch to low pitch (downward scan method), repeating rising and falling (upward / downward scan method), or scanning randomly (random scan method) Some have been adopted. Among the arpeggiators that employ these various scanning methods, there is one that has a so-called key-press order arpeggiator. The key-depression order arpeggiator scans the depressed keys in the order in which they are depressed and generates performance information in accordance with the result of the elapse of time. This allows you to play a simple melody.

【0004】特公昭61−60439号公報には、その
押鍵順アルペジエータの一例が開示されている。この文
献では、押鍵順に押鍵情報を記憶装置に記憶しておき、
記憶装置を順番に読み出すことによって押鍵順アルペジ
オ演奏を実現している。ただし、ここに開示された押鍵
順アルペジエータでは、押鍵された鍵が離鍵された場合
にもその鍵の押鍵情報は記憶装置から削除されず、この
ためにアルペジオ演奏は終りなく続行する。また、押鍵
された鍵の数が記憶装置の容量を超えた場合には、記憶
装置の先頭に戻って、古い押鍵情報を上書きしながら新
たな押鍵情報を記憶していくように構成されている。
Japanese Patent Publication No. 61-60439 discloses an example of the key pressing arpeggiator. In this document, key depression information is stored in a storage device in the order of key depression,
By reading the memory device in order, key-playing order arpeggio performance is realized. However, in the key press order arpeggiator disclosed herein, even when the key pressed is released, the key press information of the key is not deleted from the storage device, and therefore the arpeggio performance continues endlessly. . Further, when the number of keys pressed exceeds the capacity of the storage device, it returns to the beginning of the storage device and overwrites the old key pressing information and stores new key pressing information. Has been done.

【0005】また、従来のアルペジエータの別の例とし
て、ローランド(株)の製品JP−4/8を挙げること
ができる。このJP−4/8においては、上述の文献と
同様に、押鍵順に押鍵情報を記憶装置に記憶しておき記
憶装置を順番に読み出すことによって押鍵順アルペジオ
演奏を実現しているが、さらにホールドスイッチを備
え、そのホールドスイッチを押している間は、押鍵され
ていた鍵が離鍵されてもその鍵の押鍵情報は記憶装置か
ら削除されず、このためアルペジオ演奏は終わりなく続
行する。ただし、ホールドスイッチを押している間に新
たな押鍵があると、その新たな押鍵により生成された押
鍵情報は、たとえその記憶装置の記憶容量に余裕があっ
ても、既に離鍵されているにもかかわらず記憶装置に記
憶されたままになっている押鍵情報の中の時刻の最も古
い押鍵情報に上書きされ、それまでそこに記憶されてい
た押鍵情報が消失してしまうという構成になっている。
Another example of the conventional arpeggiator is JP-4 / 8, a product of Roland Corporation. In this JP-4 / 8, as in the above-mentioned document, the key-depression information is stored in the memory device in the key-depression order and the memory device is read out in order to realize the key-depression order arpeggio performance. In addition, a hold switch is provided, and while the hold switch is being pressed, even if the key that was pressed is released, the key press information for that key is not deleted from the storage device, so the arpeggio performance continues without end. . However, if there is a new key press while the hold switch is being pressed, the key press information generated by the new key press is already released, even if the storage capacity of the storage device is large. Despite that, the oldest key depression information in the key depression information stored in the storage device is overwritten, and the key depression information stored until then is lost. It is configured.

【0006】一方、このJP−4/8では、ホールドス
イッチが押されていないときは、離鍵された鍵の押鍵情
報は記憶装置から直ちに削除され、アルペジオ演奏から
除外される。このため、ホールドスイッチが押されてい
ない時は、押鍵されている鍵が全て離鍵されるとアルペ
ジオ演奏は停止する。なお、このJP−4/8には、ホ
ールドスイッチ以外にもこのホールドスイッチと同様の
処理を行なうペダルを接続するジャックも備えられてい
る。
On the other hand, in JP-4 / 8, when the hold switch is not pressed, the key pressing information of the released key is immediately deleted from the storage device and excluded from the arpeggio performance. Therefore, when the hold switch is not depressed, the arpeggio performance is stopped when all the depressed keys are released. In addition to the hold switch, the JP-4 / 8 is also provided with a jack for connecting a pedal that performs the same processing as the hold switch.

【0007】[0007]

【発明が解決しようとする課題】上記文献に開示された
押鍵順アルペジエータは、一旦押鍵された鍵の押鍵情報
は新たな押鍵によって置き換えられるまでは記憶装置か
ら削除されない処理になっているため、演奏者が意図し
た任意のタイミングでアルペジオ演奏を止めることがで
きないという問題がある。また、上記文献に開示された
押鍵順アルペジエータは、押鍵の数が記憶装置の容量を
超えた場合に、記憶装置の先頭に戻って古い押鍵情報を
上書きしながら新たな押鍵情報していく処理になってい
るので、せっかく記憶させたはずの押鍵情報が不用意な
操作で消えてしまう恐れが多分にあるという問題もあ
る。
The key-depression order arpeggiator disclosed in the above document is a process in which the key-depression information of a key that has been once depressed is not deleted from the storage device until it is replaced by a new key-depression. Therefore, there is a problem that the arpeggio performance cannot be stopped at an arbitrary timing intended by the performer. Further, when the number of key presses exceeds the capacity of the storage device, the key press order arpeggiator disclosed in the above document returns to the head of the storage device and overwrites the old key press information to generate new key press information. Since it is a process of rewriting, there is also a problem that there is a possibility that the key depression information that was supposed to be stored will be erased by an inadvertent operation.

【0008】一方、上述のJP−4/8では、ホールド
スイッチを押さずにアルペジオ演奏を行なうことによ
り、全ての鍵を離鍵することでアルペジオ演奏を任意の
タイミングで停止させることができる。ただし、このJ
P−4/8では、ホールドスイッチを押していないとき
はもちろん、ホールドスイッチを押していても、新たな
押鍵があると、上書きにより、記憶装置にそれまで記憶
されていた押鍵情報が消失してしまうため、同一の鍵の
押鍵に対応する楽音を複数回含ませることができず、メ
ロディの自由度が大きく制限される結果となる。
On the other hand, in JP-4 / 8, the arpeggio performance can be stopped at an arbitrary timing by releasing all keys by performing the arpeggio performance without pressing the hold switch. However, this J
In P-4 / 8, if a new key is pressed even when the hold switch is not pressed and the hold switch is pressed, the key pressing information stored in the storage device is lost due to overwriting. As a result, the musical tone corresponding to the key depression of the same key cannot be included a plurality of times, resulting in a great limitation in the degree of freedom of the melody.

【0009】本発明は、上記事情に鑑み、押鍵順アルペ
ジオ演奏中の1回のメロディに同一の鍵に対応する楽音
を何回も含ませることができ複雑な押鍵順アルペジオ演
奏を実現することができるとともに、任意のタイミング
でアルペジオ演奏を停止させることのできるアルペジエ
ータを提供することを目的とする。
In view of the above circumstances, the present invention realizes a complicated keypress-order arpeggio performance in which one melody during keypress-order arpeggio performance can include musical tones corresponding to the same key many times. It is an object of the present invention to provide an arpeggiator capable of stopping the arpeggio performance at an arbitrary timing as well as being capable of performing the operation.

【0010】[0010]

【課題を解決するための手段】上記目的を達成する本発
明のアルペジエータは、 (1)所定の記憶容量の記憶手段 (2)前記記憶手段に、複数の鍵のうちの押鍵された鍵
を特定する押鍵情報を押鍵順に記憶する押鍵情報記憶制
御手段 (3)複数の鍵のうちの離鍵された鍵を特定する離鍵情
報に基づいて、前記記憶手段から、該離鍵情報に対応す
る鍵の押鍵情報を抹消する押鍵情報抹消手段 (4)所定のホールドオン情報を受けて、前記押鍵情報
抹消手段による、前記記憶手段からの押鍵情報の抹消を
禁止し、所定のホールドオフ情報を受けて、前記押鍵情
報抹消手段による、前記記憶手段からの押鍵情報の抹消
の禁止を解除するとともに該押鍵情報抹消手段に、前記
記憶手段から、該ホールドオフ情報を受けた時点で押鍵
されている鍵の押鍵情報を除く押鍵情報を抹消させる押
鍵情報保持手段 (5)前記記憶手段を順次走査し、該走査により検出さ
れた押鍵情報に基づく楽音を表わす演奏情報を生成する
演奏情報生成手段を備えたことを特徴とするアルペジエ
ータ。
The arpeggiator according to the present invention which achieves the above object, comprises: (1) a storage means having a predetermined storage capacity; and (2) a depressed key of a plurality of keys in the storage means. Key-depression information storage control means for storing key-depression information to be specified in order of key-depression (3) From the storage means, the key-release information is specified based on key-release information for specifying the released key of the plurality of keys. Key-depression information erasing means for erasing the key-depression information of the key corresponding to (4) receiving predetermined hold-on information, prohibiting the key-depression information erasing means from erasing the key-depression information from the storage means, Receiving the predetermined hold-off information, the prohibition of the key-depression information erasing means from erasing the key-depression information from the storage means is released, and the hold-off information is stored in the key-depression information erasing means from the storage means. Depressing the key that was pressed when the key was received Key-depression information holding means for erasing key-depression information excluding information (5) Equipped with performance information generation means for sequentially scanning the storage means and generating performance information representing musical tones based on the key-depression information detected by the scanning. An arpeggiator characterized by that.

【0011】 本発明のアルペジエータは、ホールドオ
ン情報により、上記記憶手段からの押鍵情報の抹消が禁
止されるため、新たな押鍵があったときに、従来のJP
−4/8のように記憶手段の記憶容量に余裕があるにも
拘らず上書きにより古い押鍵情報が消失してしまうよう
な事態を避け、新たな押鍵による押鍵情報を記憶手段に
追記していくことができる。このため、本発明のアルペ
ジエータによれば、ある鍵を押鍵し、一旦離鍵して再度
その鍵を押鍵することにより、1つのアルペジオ演奏中
に同一の鍵に対応する楽音を任意の回数含ませることが
できる。また、本発明のアルペジエータは、ホールドオ
フ情報により、押鍵中の鍵の押鍵情報を除く押鍵情報が
上記記憶手段から抹消されるため、ホールドオフ情報を
受けた後に全ての鍵を離鍵することにより、あるいは全
ての鍵が離鍵された状態でホールドオフ情報を受けるこ
とにより、任意のタイミングでアルペジオ演奏を停止さ
せることができる。
In the arpeggiator of the present invention, the hold-on information prohibits the deletion of the key-depressing information from the storage means.
-4/8, in order to avoid the situation where old key depression information is lost by overwriting even though the memory capacity of the memory means is large, the key depression information by a new key depression is added to the memory means. You can do it. Therefore, according to the arpeggiator of the present invention, by pressing a certain key, releasing the key once, and then pressing the key again, the musical tone corresponding to the same key can be played at any desired number during one arpeggio performance. Can be included. Further, the arpeggiator of the present invention erases all the key-depression information excluding the key-depression information of the key being depressed from the storage means by the hold-off information, so that all keys are released after receiving the hold-off information. By doing so, or by receiving hold-off information with all keys released, the arpeggio performance can be stopped at any timing.

【0012】ここで、本発明のアルペジエータにおい
て、操作に応じて、ホールドオン情報およびホールドオ
フ情報を出力する操作子を備えることが好ましく、その
場合に、その操作子が、ペダルであることがさらに好ま
しい。このような操作子(好ましくはペダル)を備える
と、演奏者の意図したとおりにホールドオン情報および
ホールドオフ情報を与えることができ、その演奏者の意
のままのアルペジオ演奏が可能となる。
Here, the arpeggiator of the present invention is preferably provided with an operator that outputs hold-on information and hold-off information in response to an operation. In that case, the operator is further a pedal. preferable. When such an operator (preferably a pedal) is provided, the hold-on information and the hold-off information can be given as intended by the performer, and the arpeggio performance can be performed as the performer desires.

【0013】あるいは、本発明のアルペジエータは、ホ
ールドオン情報およびホールドオフ情報を外部から入力
して押鍵情報保持手段へ渡すホールド情報入力手段を備
えたものであってもよい。この場合、外部にシーケンサ
や鍵盤を外付けし、それらのシーケンサや鍵盤から押鍵
情報を入力するシステムに便利である。
Alternatively, the arpeggiator of the present invention may be provided with a hold information input means for inputting hold-on information and hold-off information from the outside and passing it to the key-depression information holding means. In this case, it is convenient for a system in which a sequencer or a keyboard is externally attached and the key depression information is input from the sequencer or the keyboard.

【0014】 さらに、本発明のアルペジエータは前記
ホールドオン情報を受けた状態において、前記押鍵情報
記憶制御手段により、前記所定の記憶容量の記憶手段に
押鍵された鍵を特定する押鍵情報を押鍵順に追加記憶し
続け、前記所定の記憶容量の記憶手段の全域に押鍵情報
が記憶された状態における、新たな押鍵情報の、該記憶
手段への記憶を禁止する押鍵情報超過記憶禁止手段を備
えたものであることが好ましい。この場合、折角記憶さ
せたはずの押鍵情報が不用意な操作で消えてしまうこと
が防止され、演奏者は押鍵順アルペジオ演奏のための押
鍵操作を安心して行なうことができる。
Further, in the state in which the arpeggiator of the present invention receives the hold-on information, the key-depression information storage control unit stores key-depression information for specifying the key depressed in the storage unit having the predetermined storage capacity. Additional press key information storage for prohibiting storage of new key press information in the storage means in a state where the key press information is stored in the entire area of the storage means having the predetermined storage capacity. It is preferable that a prohibition means is provided. In this case, it is possible to prevent the key depression information, which should have been stored in the memory, from being erased by an inadvertent operation, and the player can perform the key depression operation for the key depression order arpeggio performance with peace of mind.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施形態について
説明する。図1は、本発明のアルペジエータの一実施形
態の回路構成図である。ここには、CPU10、アドレ
スバス11およびデータバス12でそのCPU10と接
続された、RAM13,ROM14,パネル15、およ
びCPU10にクロックの発生を通知するクロックタイ
マ16、MIDI規格に準拠したデータを入力するデー
タ入力端子(MIDI IN)17、MIDI規格に準
拠したデータを出力するデータ出力端子(MIDI O
UT)18が備えられている。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below. FIG. 1 is a circuit configuration diagram of an embodiment of the arpeggiator of the present invention. Here, the CPU 10, the address bus 11 and the data bus 12 are connected to the CPU 10, the RAM 13, the ROM 14, the panel 15, the clock timer 16 for notifying the CPU 10 of the generation of the clock, and the data conforming to the MIDI standard are input. A data input terminal (MIDI IN) 17, a data output terminal (MIDI O for outputting data compliant with the MIDI standard)
UT) 18 is provided.

【0016】ROM14は、読出し専用のメモリエリア
であり、ここには、CPU10で実行されるプログラム
や、そのプログラムで参照される各種テーブルが格納さ
れている。プログラムやテーブルの詳細については後述
する。RAM13は、CPU10で実行されるプログラ
ムのワーキングエリアとして使用される。ここでは、こ
のRAM13は電池でバックアップされており、電源を
切ってもそのときのメモリ内容は保存される。メモリの
内容について後述する。
The ROM 14 is a read-only memory area in which programs executed by the CPU 10 and various tables referred to by the programs are stored. Details of the programs and tables will be described later. The RAM 13 is used as a working area for programs executed by the CPU 10. Here, the RAM 13 is backed up by a battery, and the memory contents at that time are saved even when the power is turned off. The contents of the memory will be described later.

【0017】パネル15は、操作スイッチと表示器を持
ち、パラメータを独立して選択しそのパラメータに値を
設定することができる。設定された値はRAM13内の
メモリに記憶される。図2は、パネル15を示した図で
ある。このパネルでは、リズムパターン番号(Rhyt
hem Pattern#)、スキャンモード番号(S
can Mode#)、およびグルーブレート(Gro
ove Rate)を設定することができる。
The panel 15 has operation switches and a display, and can independently select a parameter and set a value for the parameter. The set value is stored in the memory in the RAM 13. FIG. 2 is a diagram showing the panel 15. In this panel, the rhythm pattern number (Rhyt
hem Pattern #), scan mode number (S
can Mode #) and groove rate (Gro
ove Rate) can be set.

【0018】リズムパターンは、本実施形態では、発音
タイミング、デュレーション、ベロシティ係数のパター
ンを組み合わせたものである。リズムパターン設定用操
作子151は、値をインクリメントする操作ボタン15
1aと値をデクリメントする操作ボタン151bとのペ
アから成り、それらの操作ボタン151a,151bで
設定した値は表示器151cに表示されるとともに、上
述したように、RAM13に格納される。
In the present embodiment, the rhythm pattern is a combination of patterns of tone generation timing, duration, and velocity coefficient. The rhythm pattern setting operator 151 is an operation button 15 for incrementing a value.
It is composed of a pair of 1a and an operation button 151b for decrementing the value, and the value set by these operation buttons 151a and 151b is displayed on the display 151c and stored in the RAM 13 as described above.

【0019】スキャンモードは押鍵情報をどのように走
査するかというスキャン方式のセットをいう。スキャン
モード設定用操作子152は、上記リズムパターン設定
用操作子151と同様に、値をインクリメントする操作
ボタン152aと値をデクリメントする操作ボタン15
1bとのペアから成り、それらの操作ボタン151a,
151bで設定した値は、表示器152cに表示される
とともに、RAM13に格納される。
The scan mode is a set of scanning methods for scanning key pressing information. Similar to the rhythm pattern setting operator 151, the scan mode setting operator 152 has an operation button 152a for incrementing the value and an operation button 15 for decrementing the value.
1b and a pair of operation buttons 151a,
The value set in 151b is displayed on the display 152c and stored in the RAM 13.

【0020】グルーブレートは、いわゆる‘ノリ’の程
度を定めるものであり、グルーブレート設定用操作子1
53はスライダから成り、そのスライドボタン153a
を一番下に動かすとグルーブレートパラメータに値
‘0’が設定され、一番上に動かすとグルーブレートパ
ラメータに値‘100’が設定され、それらの中間に設
定すると設定された位置に応じた、0〜100の間の値
が設定される。この設定された値は、RAM13に格納
される。
The groove rate defines the degree of so-called "stickiness", and the groove rate setting operator 1
Reference numeral 53 is a slider, and its slide button 153a
Move to the bottom to set the groove rate parameter to a value of '0', and move to the top to set the groove rate parameter to a value of '100'. , A value between 0 and 100 is set. The set value is stored in the RAM 13.

【0021】各パラメータの詳細については後述する。
図1に戻って説明を続行する。クロックタイマ16は、
一定の周期でクロックを発生し、クロック発生のたび
に、CPUに対し、クロックの発生を通知する。本実施
形態では、96クロック分の時間が4分音符の発音時間
と定めれており、このクロック周期によってアルベジオ
のテンポが決定される。
Details of each parameter will be described later.
Returning to FIG. 1, the description will be continued. The clock timer 16 is
A clock is generated at a constant cycle, and every time the clock is generated, the CPU is notified of the clock generation. In the present embodiment, the time for 96 clocks is set as the sounding time of the quarter note, and the tempo of the albeggio is determined by this clock cycle.

【0022】データ入力端子(MIDI IN)17に
は、例えば図示のように鍵盤20が接続され、鍵盤20
の演奏により生成された押鍵(ノートオン)情報、離鍵
(ノートオフ)情報が入力される。また、その鍵盤20
には、ホールドペダル21が接続されており、そのホー
ルドペダル21の操作により生成されたホールドオン情
報、ホールドオフ情報(これらを合わせてホールド情報
と称する。)も、MIDIデータの一種として、データ
入力端子17を経由して入力される。
A keyboard 20 is connected to the data input terminal (MIDI IN) 17, for example, as shown in FIG.
The key-depression (note-on) information and key-release (note-off) information generated by the performance of are input. Also, the keyboard 20
A hold pedal 21 is connected to the hold pedal 21. The hold-on information and hold-off information (these are collectively referred to as hold information) generated by operating the hold pedal 21 are also data input as a kind of MIDI data. It is input via the terminal 17.

【0023】CPU10は、データ入力端子17から入
力される押鍵情報、離鍵情報を受信してアルペジオ演奏
用の演奏情報を順次生成し、その演奏情報をデータ出力
端子18から外部に向けて出力する。データ出力端子1
8には、例えば図示のように音源30が接続されてお
り、その音源30では受信した演奏情報に基づいて楽音
信号が生成される。その楽音信号は、例えば音源30に
内蔵された、あるいは音源30に接続されたアンプ、ス
ピーカ等から成るサウンドシステムにより、楽音として
空間に放音される。
The CPU 10 receives key depression information and key release information input from the data input terminal 17, sequentially generates performance information for arpeggio performance, and outputs the performance information to the outside from the data output terminal 18. To do. Data output terminal 1
A sound source 30 is connected to the sound source 8 as shown in the figure, for example, and the sound source 30 generates a musical tone signal based on the received performance information. The musical tone signal is emitted to the space as a musical tone by a sound system which is built in the sound source 30 or is connected to the sound source 30 and includes an amplifier and a speaker.

【0024】以下、先ず後述するプログラムで参照され
る、ROM内に記憶された各種テーブルについて説明
し、次いで、RAM内に確保された各種メモリについて
説明し、その後、それらのテーブルやメモリを用いたプ
ログラムについて説明する。図3は、リズムパターンテ
ーブルの基本パターンを示す図である。リズムパターン
テーブルは、その各ステップがリズムの各ステップに対
応しており、各ステップには、そのステップとそのステ
ップに続く次のステップとの間の時間間隔(ステップタ
イム;Step Time)、そのステップのリズム音
の持続時間(デュレーション;Duration)、そ
のステップのリズム音の発音の強さを規定するベロシテ
ィ係数(Velo.Coef.)が記録されており、最
後にそのリズムパターンテーブルのサイズ(ステップ
数;Step Size)が記録されている。1ステッ
プ分のメモリ容量は、ステップタイムが2バイト、デュ
レーションが2バイト、ベロシテイ係数が1バイトの合
計5バイトであり、ステップ数は、1バイトである。ス
テップタイム、デュレーションの欄は、前述したクロッ
ク(4分音符=96クロック)を単位とした数値が記録
されている。
Hereinafter, various tables stored in the ROM, which are referred to by a program to be described later, will be described first, then various memories secured in the RAM will be described, and then these tables and memories will be used. The program will be described. FIG. 3 is a diagram showing a basic pattern of the rhythm pattern table. In the rhythm pattern table, each step corresponds to each step of the rhythm, and each step has a time interval (step time; Step Time) between the step and the next step following the step, and the step. The rhythm sound duration (duration) and the velocity coefficient (Velo. Coef.) That defines the pronunciation strength of the rhythm sound of the step are recorded, and finally, the size of the rhythm pattern table (the number of steps). ; Step Size) is recorded. The memory capacity for one step is a total of 5 bytes including a step time of 2 bytes, a duration of 2 bytes, and a velocity coefficient of 1 byte, and the number of steps is 1 byte. In the column of step time and duration, numerical values are recorded with the above-mentioned clock (quarter note = 96 clock) as a unit.

【0025】このリズムパターンテーブルはROM内に
複数種類記録されており、各リズムパターンテーブルに
は番号が付されている。図2に示すリズムパターン設定
用操作子151を操作してそのリズムパターン番号を設
定することにより、演奏者が任意のリズムパターンテー
ブルを選択することができる。ここでは、リズムパター
ンテーブル、およびそのステップ数は、それぞれ、RH
Y_XXX_TBL[n]、RHY_XXX_SIZE
と表記される。XXXはそのリズムパターンテーブルの
名称を表わし、[n]のnは、そのリズムパターンテー
ブル内部のステップ番号(0≦n<RHY_XXX_S
IZE)である。
A plurality of types of this rhythm pattern table are recorded in the ROM, and each rhythm pattern table is numbered. The player can select an arbitrary rhythm pattern table by operating the rhythm pattern setting operator 151 shown in FIG. 2 and setting the rhythm pattern number. Here, the rhythm pattern table and the number of steps thereof are respectively RH
Y_XXX_TBL [n], RHY_XXX_SIZE
Is written. XXX represents the name of the rhythm pattern table, and n in [n] is the step number (0 ≦ n <RHY_XXX_S in the rhythm pattern table.
IZE).

【0026】またリズムパターンテーブル名XXXの第
nステップに記録されたステップタイム、デュレーショ
ン、ベロシティ係数は、それぞれ、 RHY_XXX_TBL[n].stepTime RHY_XXX_TBL[n].duration RHY_XXX_TBL[n].veloCoef と表記される。
The step time, duration, and velocity coefficient recorded in the nth step of the rhythm pattern table name XXX are RHY_XXX_TBL [n]. stepTime RHY_XXX_TBL [n]. duration RHY_XXX_TBL [n]. It is written as veloCoef.

【0027】次にリズムパターンテーブルの各例につい
て説明する。図4は、4分音符用のリズムパターンテー
ブルおよびそのステップ数を示した図である。このリズ
ムパターンテーブルは4分音符用であることを表わす
‘4’という名称を有しており、RHY_4_TBLと
表記される。RHY_4_TBL[0].stepTi
me,RHY_4_TBL[0].duration,
RHY_4_TBL[0].veloCoefは、それ
ぞれ96(4分音符のクロック数)、92、127であ
る。ステップ数はRHY_4_SIZEと表記される。
このリズムパターンテーブルRHY_4_TBLは1ス
テップのみで成り立っているため、ステップ数RHY_
4_SIZEは‘1’である。
Next, each example of the rhythm pattern table will be described. FIG. 4 is a diagram showing a rhythm pattern table for quarter notes and the number of steps thereof. This rhythm pattern table has a name of "4" indicating that it is for quarter notes and is represented as RHY_4_TBL. RHY_4_TBL [0]. stepTi
me, RHY_4_TBL [0]. duration,
RHY_4_TBL [0]. veloCoef is 96 (quarter note clock number), 92 and 127, respectively. The number of steps is written as RHY_4_SIZE.
Since this rhythm pattern table RHY_4_TBL consists of only one step, the number of steps RHY_
4_SIZE is “1”.

【0028】このリズムパターンテーブルRHY_4_
TBL、および以下に示すリズムパターンテーブルRH
Y_XXX_TBLのそれぞれには、それぞれ異なるリ
ズムパターン番号が付されており、この図4に示すリズ
ムパターンテーブルRHY_XXX_TBLのリズムパ
ターン番号は‘0’である。図5,図6,図7,図8,
図9は、それぞれ、16分音符用(名称:16)、ワル
ツ(WALTZ)用、シャッフル(SHUFFLE)
用、ディミニッシュ(DIM)用、レゲエ(REGGA
E)用のリズムパターンテーブルおよびそのステップ数
を示した図である。リズムパターン番号はこの順に、
1,2,3,4,5が付されている。これらの構造につ
いては上述の説明から明らかであるため、詳細説明は省
略する。
This rhythm pattern table RHY_4_
TBL and rhythm pattern table RH shown below
Different rhythm pattern numbers are assigned to the Y_XXX_TBL, and the rhythm pattern number of the rhythm pattern table RHY_XXX_TBL shown in FIG. 4 is “0”. 5, FIG. 6, FIG. 7, FIG.
FIG. 9 shows sixteenth notes (name: 16), waltz (WALTZ), and shuffle (SHUFFLE), respectively.
For, diminished (DIM), reggae (REGGA
It is the figure which showed the rhythm pattern table for E) and its step number. The rhythm pattern numbers are in this order,
1, 2, 3, 4, and 5 are attached. Since these structures are clear from the above description, detailed description will be omitted.

【0029】図10は、スキャンモードテーブルの基本
パターンを示す図である。スキャンモードテーブルの各
ステップには、押鍵情報を走査する方式(スキャン方
式)の番号(スキャンファンクション番号;Scan
Function#)が記録されている。このスキャン
モードテーブル1ステップ分のメモリ容量は1バイトで
あり、ステップ数も1バイトである。
FIG. 10 is a diagram showing a basic pattern of the scan mode table. In each step of the scan mode table, the number of the method (scan method) for scanning the key pressing information (scan function number; Scan)
Function #) is recorded. The memory capacity for one step of this scan mode table is 1 byte, and the number of steps is also 1 byte.

【0030】このスキャンモードテーブルは、ROM1
4に複数種類記憶されており、図2に示すスキャンモー
ド設定用操作子152を操作することにより、演奏者が
任意のスキャンモードテーブルを選択することができ
る。ここで、スキャンモードテーブル、およびそのステ
ップ数は、それぞれSMODE_XXX_TBL
[n]、SMODE_XXX_SIZEと表記される。
XXXはそのスキャンモードテーブルの名称を表わし、
[n]のnは、そのスキャンモードテーブル内部のステ
ップ番号(0≦n<SMODE_XXX_SIZE)で
ある。
This scan mode table is stored in the ROM 1
4 are stored in plural types, and the player can select an arbitrary scan mode table by operating the scan mode setting operator 152 shown in FIG. Here, the scan mode table and the number of steps thereof are SMODE_XXX_TBL, respectively.
[N] and SMODE_XXX_SIZE.
XXX represents the name of the scan mode table,
N of [n] is a step number (0 ≦ n <SMODE_XXX_SIZE) in the scan mode table.

【0031】本実施形態における各スキャン方式(Sc
an Fuction)は以下のとおりである。 (1)上昇スキャン方式 押鍵情報を、音高の低い方から高い方へと走査する。こ
こでは、これを、SCAN_Uと表記する。
Each scan method (Sc
an Function) is as follows. (1) Ascending scan method The key depression information is scanned from a lower pitch to a higher pitch. Here, this is described as SCAN_U.

【0032】(2)下降スキャン方式 音高の高い方から低い方へと走査する。ここではこれ
を、SCAN_Dと表記する。 (3)上昇下降スキャン方式 音高の低い方から高い方へと走査し、最高音に達した
ら、今度は音高の高い方から低い方へと走査する。ここ
では、これをはSCAN_UDと表記する。
(2) Downward scanning method Scanning is performed from a higher pitch to a lower pitch. Here, this is described as SCAN_D. (3) Ascending / descending scanning method Scanning is performed from a lower pitch to a higher pitch, and when the highest pitch is reached, scanning is performed from a higher pitch to a lower pitch. Here, this is referred to as SCAN_UD.

【0033】(4)ランダムスキャン方式 ランダムに走査する。ここではこれを、SCAN_Rと
表記する。 (5)押鍵順スキャン方式 押鍵情報の入力順に走査する。ここではこれを、SCA
N_Oと表記する。 (6)和音スキャン方式 現在押鍵されているものすべてを走査する。ここではこ
れを、SCAN_Cと表記する。
(4) Random scan method Scans randomly. Here, this is described as SCAN_R. (5) Key-depression order scanning method Scanning is performed in the order in which key-depression information is input. Here, this is SCA
Notated as N_O. (6) Chord scanning method All the keys currently pressed are scanned. Here, this is described as SCAN_C.

【0034】(7)最低音スキャン方式 現在押鍵されているもののうちノートナンバのもっとも
小さなもの(最低音)だけを走査する。ここではこれ
を、SCAN_Bと表記する。 (8)最高音スキャン方式 現在押鍵されているもののうちノートナンバのもっとも
大きなもの(最高音)だけを走査する。ここではこれ
を、SCAN_Tと表記する。
(7) Lowest tone scanning method Among the currently depressed keys, only the lowest note number (lowest tone) is scanned. Here, this is described as SCAN_B. (8) Highest tone scanning method Among the currently pressed keys, only the highest note number (highest tone) is scanned. Here, this is described as SCAN_T.

【0035】(9)最低音抜き上昇スキャン方式 最低音を除いて、音高の低い方から高い方へと走査す
る。ここでは、これをSCAN_U_WO_B(Sca
m up without bass)と表記する。 (10)最低音抜きランダムスキャン方式 最低音を除いて、ランダムに走査する。ここでは、これ
をSCAN_R_WO_Bと表記する。
(9) Rising scan system without lowest tone Except for the lowest tone, scanning is performed from the lowest pitch to the highest pitch. Here, this is SCAN_U_WO_B (Sca
Mup without bass). (10) Random scan method without lowest tone Except for the lowest tone, scanning is performed randomly. Here, this is described as SCAN_R_WO_B.

【0036】(11)最低音抜き和音スキャン方式 最低音を除いて、現在押鍵されているものをすべて走査
する。ここでは、これをSCAN_C_WO_Bと表記
する。 (12)最高音抜き上昇スキャン方式 最高音を除いて、音高の低い方から高い方へと走査す
る。ここでは、これをSCAN_U_WO_Tと表記す
る。
(11) Scanning chord of lowest tone The system scans all the currently depressed keys except the lowest tone. Here, this is described as SCAN_C_WO_B. (12) Highest tone removal rising scan method Except for the highest tone, scanning is performed from the lowest pitch to the highest pitch. Here, this is described as SCAN_U_WO_T.

【0037】次にスキャンモードテーブルの各例を示
す。図11は、上昇スキャン用のスキャンモードテーブ
ル、およびそのステップ数を示した図である。このスキ
ャンモードテーブルは、上昇スキャン用であることを表
わす‘UP’という名称を表わしており、SMODE_
UP_TBLと表記される。ステップ数は、SMODE
_UP_SIZEと表記される。このスキャンモードテ
ーブルSMODE_UP_TBLは、上昇スキャン方式
SCAN_Uが記録された1ステップのみで成り立って
いるため、ステップ数SMODE_UP_SIZEは
‘1’である。このスキャンモードテーブルSMODE
_UP_TBL、および以下に示す各スキャンモードテ
ーブルSMODE_XXX_TBLのそれぞれには、そ
れぞれ異なるスキャンモード番号が付されており、この
図11に示すスキャンモードテーブルSMODE_UP
_TBLのスキャンモード番号は‘0’である。
Next, examples of the scan mode table will be shown. FIG. 11 is a diagram showing a scan mode table for ascending scan and the number of steps thereof. This scan mode table represents the name “UP” indicating that the scan mode is for ascending scan, and SMODE_
Notated as UP_TBL. The number of steps is SMODE
It is written as _UP_SIZE. Since the scan mode table SMODE_UP_TBL consists of only one step in which the ascending scan method SCAN_U is recorded, the number of steps SMODE_UP_SIZE is “1”. This scan mode table SMODE
_UP_TBL and each scan mode table SMODE_XXX_TBL shown below are given different scan mode numbers, and the scan mode table SMODE_UP shown in FIG.
The scan mode number of _TBL is '0'.

【0038】図12,図13,図14,図15,図1
6,図17,図18,図19は、それぞれ下降スキャン
用(DOWN)、上昇下降スキャン用(UP_DW),
ランダムスキャン用(RANDOM)、和音スキャン用
(CHORD)、押鍵順スキャン用(ORDER)、ワ
ルツ用(WALTZ)、レゲエ用(REGGAE)、三
味線用(SHAMI)のスキャンモードテーブルおよび
そのステップを示した図である。
12, FIG. 13, FIG. 14, FIG. 15, FIG.
6, FIG. 17, FIG. 18, and FIG. 19 are respectively for down scan (DOWN), up and down scan (UP_DW),
The scan mode table and its steps for random scan (RANDOM), chord scan (CHORD), keypress scan (ORDER), waltz (WALTZ), reggae (REGGAE), and shamisen (SHAMI) are shown. It is a figure.

【0039】スキャンモード番号は、この順に、1,
2,3,4,5,6,7,8が付されている。これらの
構造については、上述の説明から明らかであるため、詳
細説明は省略する。次に各種パラメータ値等が格納され
るRAM内のメモリにつてい説明する。図20はリズム
パターンパラメータを示す図である。このリズムパター
ンパラメータは1バイトのメモリであり、このメモリに
は、図2に示すパネル15のリズムパターン設定用操作
子151の操作により設定されたリズムパターン番号が
格納される。ここではこれを、PRM_RHYTHMと
表記する。
The scan mode numbers are 1, 2 in this order.
2, 3, 4, 5, 6, 7, and 8 are attached. Since these structures are clear from the above description, detailed description will be omitted. Next, the memory in the RAM in which various parameter values are stored will be described. FIG. 20 is a diagram showing rhythm pattern parameters. The rhythm pattern parameter is a 1-byte memory, and the rhythm pattern number set by the operation of the rhythm pattern setting operator 151 of the panel 15 shown in FIG. 2 is stored in this memory. Here, this is described as PRM_RHYTHM.

【0040】図21は、スキャンモードパラメータを示
す図である。このスキャンモードパラメータも、1バイ
トのメモリであり、このメモリには、図2に示すパネル
15のスキャンモード設定用操作子152の操作により
設定されたスキャンモード番号が格納される。ここで
は、これを、PRM_SMODEと表記する。図22
は、グルーブレートパラメータを示す図である。このグ
ルーブレートパラメータも1バイトのメモリであり、こ
のメモリには図2に示すパネル15のグルーブレード設
定用操作子の操作により設定されたブルーブレートの値
が格納される。この値の範囲は、前述したように、0〜
100である。ここではこれを、PRM_GROOVE
と表記する。
FIG. 21 is a diagram showing scan mode parameters. This scan mode parameter is also a 1-byte memory, and the scan mode number set by the operation of the scan mode setting operator 152 of the panel 15 shown in FIG. 2 is stored in this memory. Here, this is described as PRM_SMODE. FIG. 22
FIG. 6 is a diagram showing a groove rate parameter. This groove rate parameter is also a 1-byte memory, and this memory stores the value of the blue blade set by the operation of the glue blade setting operator of the panel 15 shown in FIG. As described above, the range of this value is 0 to
100. Here, this is PRM_GROOVE
It is written as.

【0041】図23は、ノートバッファを示す図であ
る。このノートバッファは、128バイトの配列であ
り、各1バイトは、鍵盤20(図1参照)の各鍵(ノー
トナンバ)に対応しており、押鍵情報を受信すると、そ
の押鍵情報中の押鍵強さを表わす情報(ノートオンベロ
シティ)が、その押鍵情報中のノートナンバに対応する
領域に格納される。対応する鍵が離鍵(ノートオフ)さ
れている場合、あるいはそれまで押鍵されていて離鍵さ
れた場合は、その領域には‘−1’が格納される。
FIG. 23 is a diagram showing a note buffer. This note buffer is an array of 128 bytes, each 1 byte corresponds to each key (note number) of the keyboard 20 (see FIG. 1), and when the key depression information is received, the key depression information in the key depression information is received. Information (note-on velocity) indicating the key pressing strength is stored in the area corresponding to the note number in the key pressing information. If the corresponding key is released (note-off), or if the key has been pressed and released, "-1" is stored in that area.

【0042】ここでは、このノートバッファの各領域を
NOTEBUF[n]と表記する。nはノートナンバを
表わす。図24は、プレイバッファを示す図である。こ
のプレイバッファは、図23に示すノートバッファと同
様128バイトの配列であり、各1バイトは、各ノート
ナンバに対応している。ただし、このプレイバッファに
は、図23に示すノートバッファとは異なり、ホールド
情報を加味したノートオンベロシティが記憶される。す
なわち、図1に示す鍵盤20に接続されたホールドペダ
ル21が踏まれると、データ入力端子17を経由してホ
ールドオン情報が入力され、ホールドペダル21が離さ
れるとデータ入力端子17を経由してホールドオフ情報
が入力されるが、ホールドオン情報を受信すると、ホー
ルドオフ情報を受信する迄の間、この図24に示すプレ
イバッファに格納された押鍵情報の消去が禁止される。
ホールドオフ情報が入力されると、プレイバッファには
そのときのノートバッファの内容がコピーされ、以後、
次にホールドオン情報が入力されない限り、プレイバッ
ファは常にノートバッファと同一の内容を維持する。ア
ルペジオ演奏を行なうにあたっては、ホールド情報が加
味されたベロシティが配列された、このプレイバッファ
が走査される。ここでは、このプレイバッファの領域
を、PLAYBUF[n]と表記する。nはノートナン
バを表わす。
Here, each area of the note buffer is referred to as NOTEBUF [n]. n represents a note number. FIG. 24 is a diagram showing a play buffer. This play buffer is an array of 128 bytes like the note buffer shown in FIG. 23, and each 1 byte corresponds to each note number. However, unlike the note buffer shown in FIG. 23, the play-on buffer stores note-on velocity with hold information added. That is, when the hold pedal 21 connected to the keyboard 20 shown in FIG. 1 is stepped on, hold-on information is input via the data input terminal 17, and when the hold pedal 21 is released, the hold-on information is input via the data input terminal 17. Although hold-off information is input, when hold-on information is received, deletion of the key-depression information stored in the play buffer shown in FIG. 24 is prohibited until the hold-off information is received.
When the hold-off information is input, the contents of the note buffer at that time are copied to the play buffer.
Unless the hold-on information is input next, the play buffer always maintains the same content as the note buffer. When playing an arpeggio, this play buffer in which velocities with hold information are arranged is scanned. Here, the area of this play buffer is described as PLAYBUF [n]. n represents a note number.

【0043】図25は、カレントプレイノートナンババ
ッファを示す図である。このカレントプレイノートナン
ババッファは1バイトのメモリであり、このメモリに
は、アルペシオ演奏中の現在のステップのノートナンバ
が格納される。ここではこれを、CUR_NOTEと表
記する。図26は、ホールドバッファを示す図である。
このホールドバッファは1バイトのメモリであり、ここ
には0〜127の数値のホールド情報が格納される。図
1に示すホールドペダル21を操作すると、データ入力
端子17からは、その操作量に応じた0〜127の数値
で表わされるホールド情報が入力され、そのホールド情
報がこのホールドバッファに格納される。ここでは、こ
の数値が64以上であればホールドオン情報、64未満
であれはホールドオフ情報とみなされる。ここではこれ
を、HOLDと表記する。
FIG. 25 is a diagram showing the current play note number buffer. This current play note number buffer is a 1-byte memory, and this memory stores the note number of the current step during the arpeggio performance. Here, this is described as CUR_NOTE. FIG. 26 is a diagram showing the hold buffer.
This hold buffer is a 1-byte memory in which hold information of numerical values 0 to 127 is stored. When the hold pedal 21 shown in FIG. 1 is operated, hold information represented by a numerical value of 0 to 127 corresponding to the operation amount is input from the data input terminal 17, and the hold information is stored in this hold buffer. Here, if this numerical value is 64 or more, it is regarded as hold-on information, and if it is less than 64, it is regarded as hold-off information. Here, this is described as HOLD.

【0044】図27は、オーダバッファを示す図であ
る。このオーダバッファは、1ステップが2バイトから
なる16ステップの配列であり、各ステップには、ノー
トナンバとそのノートナンバのベロシティが格納され
る。このオーダバッファには、押鍵された鍵のノートナ
ンバとその押鍵時のベロシティが押鍵順に格納され、離
鍵されたときは、その鍵のノートナンバおよびベロシテ
ィが抹消され先頭詰めに並べ直される。ここではこれ
を、ORDER[n]と表記する。nは、ステップ番号
(n=0〜15)である。特に、第nステップのノート
ナンバのみ、ベロシティのみを指すときは、それぞれO
RDER[n].note、ORDER[n].vel
oと表記される。
FIG. 27 is a diagram showing the order buffer. This order buffer is an array of 16 steps, each step consisting of 2 bytes, and a note number and the velocity of the note number are stored in each step. In this order buffer, the note number of the key that was pressed and the velocity at which the key was pressed are stored in the order in which the keys were pressed. Be done. Here, this is expressed as ORDER [n]. n is a step number (n = 0 to 15). In particular, when referring only to the note number of the nth step and only velocity,
RDER [n]. note, ORDER [n]. vel
It is written as o.

【0045】図28は、オーダライトカウンタを示す図
である。このオーダライトカウンタは1バイトのメモリ
であり、このメモリには、押鍵情報を次に受信した場合
に、その受信した押鍵情報を、図27に示すオーダバッ
ファORDER[]の何番目のステップに格納するかを
示す値が格納される。このオーダライトカウンタのとり
得る値は0〜16である。0〜15は、オーダバッファ
ORDER[]の各ステップに対応し、16は、オーダ
バッファORDER[]が満杯であることを意味する。
ここではこれを、ORDER_WRと表記する。
FIG. 28 is a diagram showing an order write counter. This order write counter is a 1-byte memory, and when the key press information is received next, the received key press information is stored in the order buffer of the order buffer ORDER [] shown in FIG. A value indicating whether to store in is stored. The possible values of this order write counter are 0 to 16. 0 to 15 correspond to each step of the order buffer ORDER [], and 16 means that the order buffer ORDER [] is full.
Here, this is described as ORDER_WR.

【0046】図29は、オーダポジションカウンタを示
す図である。このオーダポジションカウンタは1バイト
のメモリであり、このメモリには、アルペジオ演奏中の
現在のステップの楽音が図27に示すオーダバッファO
RDER[]の何番めのステップに対応する楽音である
かを示す値が格納される。このオーダポジションカウン
タのとり得る値は−1〜15である。0〜15は、図2
7に示すオーダバッファORDER[]の各ステップに
対応し、−1はアルペジオ演奏の一連のステップをこれ
から開始するタイミング(前回の一連のステップが終了
したタイミング)であることを意味している。ここでは
これを、CUR_ORDERと表記する。
FIG. 29 is a diagram showing an order position counter. This order position counter is a 1-byte memory, and the tone of the current step in the arpeggio performance is stored in the order buffer O shown in FIG.
A value indicating which number of steps of RDER [] the tone corresponds to is stored. Possible values of the order position counter are -1 to 15. 0 to 15 are shown in FIG.
Corresponding to each step of the order buffer ORDER [] shown in FIG. 7, -1 means a timing to start a series of steps of arpeggio performance (timing at which the previous series of steps is finished). Here, this is described as CUR_ORDER.

【0047】図30は、リズムパターンテーブルポジシ
ョンカウンタを示す図である。このリズムパターンテー
ブルポジションカウンタは1バイトのメモリであり、こ
のメモリは、現在選択されているリズムパターンテーブ
ル(図3、および図4〜図9の各例を参照)中のステッ
プを指し示すポインタである。このポインタはアルペジ
オ演奏中の現在のリズムステップに対応している。この
リズムパターンテーブルポジションカウンタのとり得る
値は0以上、かつ現在選択されているリズムパターンテ
ーブルのステップ数RHY_XXX_SIZE未満であ
る。ここではこれを、CUR_RHYと表記する。
FIG. 30 shows the rhythm pattern table position counter. This rhythm pattern table position counter is a 1-byte memory, and this memory is a pointer that points to a step in the currently selected rhythm pattern table (see FIGS. 3 and 4 to 9). .. This pointer corresponds to the current rhythm step during arpeggio performance. The possible value of the rhythm pattern table position counter is 0 or more and less than the number of steps RHY_XXX_SIZE of the currently selected rhythm pattern table. Here, this is described as CUR_RHY.

【0048】図31は、スキャンモードテーブルポジシ
ョンカウンタを示す図である。このスキャンモードテー
ブルポジションカウンタは1バイトのメモリであり、現
在選択されているスキャンモードテーブル(図10、お
よび図11〜図19の各例を参照)中のステップを指し
示すポインタである。このポインタも、アルペジオ演奏
中の現在のリズムステップに対応している。スキャンモ
ードテーブルポジションカウンタのとり得る値は、0以
上、かつ現在選択されているスキャンモードテーブルの
ステップ数SMODE_XXX_SIZE未満である。
ここでは、これをCUR_SMODEと表記する。
FIG. 31 shows the scan mode table position counter. This scan mode table position counter is a 1-byte memory, and is a pointer that points to a step in the currently selected scan mode table (see FIG. 10 and each example of FIGS. 11 to 19). This pointer also corresponds to the current rhythm step during arpeggio performance. The possible value of the scan mode table position counter is 0 or more and less than the number of steps SMODE_XXX_SIZE of the currently selected scan mode table.
Here, this is referred to as CUR_SMODE.

【0049】図32は、クロックカウンタを示す図であ
る。このクロックカウンタは2バイト(16ビット)の
メモリであり、図1に示すクロックタイマ16がクロッ
クを1つ発生するたびにこのクロックカウンタの値が
‘1’ずつ増加する。このクロックカウンタの値の範囲
は、0000h〜FFFFhであり、FFFFhの次は
0000hに戻り、電源がオンである間、無限に巡回す
る。このクロックの値の増加に基づいてアルペジオが進
行する。ここではこれを、CLOCKと表記する。
FIG. 32 is a diagram showing a clock counter. The clock counter is a 2-byte (16-bit) memory, and the value of the clock counter is incremented by "1" every time the clock timer 16 shown in FIG. 1 generates one clock. The range of the value of this clock counter is 0000h to FFFFh, and after FFFFh, it returns to 0000h and makes an infinite cycle while the power is on. The arpeggio progresses based on the increase in the value of this clock. Here, this is described as CLOCK.

【0050】図33は、ネクストクロックバッファを示
す図である。このネクストクロックバッファは2バイト
(16ビット)のメモリであり、このメモリには、アル
ペジオ演奏の次のステップの時刻が格納される。すなわ
ち、図32に示すCLOCKが増加して、このネクスト
クロックバッファに格納されている値に達すると、押鍵
情報を走査してノートオンデータを送信する。1回のス
テップの処理が終了すると、このネクストクロックバッ
ファの値は次のステップの時刻に更新される。このネク
ストクロックバッファのとり得る値の範囲は0000h
〜FFFFhである。ここではこれを、NEXTCLK
と表記する。
FIG. 33 is a diagram showing the next clock buffer. This next clock buffer is a 2-byte (16-bit) memory, and the time of the next step of the arpeggio performance is stored in this memory. That is, when CLOCK shown in FIG. 32 increases and reaches the value stored in this next clock buffer, the key-depression information is scanned and the note-on data is transmitted. When the processing of one step is completed, the value of this next clock buffer is updated at the time of the next step. The range of values that this next clock buffer can take is 0000h.
~ FFFFh. Here, this is NEXTCLK
It is written as.

【0051】図34は、ノートオフリザベーションバッ
ファを示す図である。このノートオフリザベーションバ
ッファは3バイト×16の配列であり、このノートオフ
リザベーションバッファには、ノートオフすべきノート
ナンバと、それをノートオフデータとして実際に送信す
べきタイミングとがペアで格納される。この送信タイミ
ングは図32のCLOCKの値で表わされる。CLOC
Kが順次増加していってこのノートオフリザベーション
バッファに格納されている送信タイミングのうちのいず
れかの送信タイミングに到達すると、その送信タイミン
グとペアで格納されているノートナンバについてノート
オフデータが送信される。このノートオフリザベーショ
ンバッファ中の有効なデータが格納されていない領域、
あるいはノートオフデータを送信し終わった領域には
‘−1’が格納される。
FIG. 34 is a diagram showing a note-off reservation buffer. The note-off reservation buffer is an array of 3 bytes × 16, and the note-off reservation buffer stores a note-number to be note-off and a timing at which the note-number should actually be transmitted as note-off data as a pair. . This transmission timing is represented by the value of CLOCK in FIG. CLOC
When K increases sequentially and reaches one of the transmission timings stored in the note-off reservation buffer, note-off data is transmitted for the note number stored in a pair with the transmission timing. To be done. Area in the note-off reservation buffer where valid data is not stored,
Alternatively, "-1" is stored in the area where the note-off data has been transmitted.

【0052】ここではこれを、OFFRSV[n]と表
記する。nは、ノートナンバとその送信タイミングとの
ペアのn番目の格納領域を意味する。特にOFFRSV
[n]の中ノートナンバ、送信タイミングを指し示すと
きは、それぞれ、OFFRSV[n].note,OF
FRSV[n].clockと表記される。図35は、
エンドフラグを示す図である。このエンドフラグは、こ
こでは1バイトのメモリで構成されているが、フラグの
性質上1ビットで構成してもよい。このエンドフラグは
‘0’と‘1’との2値をとり、‘0’は、アルペジオ
演奏中の1回のステップの発音のための走査が未了であ
ることを示し、‘1’は、1回のステップの発音のため
の走査が終了したことを示している。ここではこれを、
END_FLGと表記する。
This is expressed as OFFRSV [n] here. n means the n-th storage area of the pair of note number and its transmission timing. Especially OFFRSV
[N] middle note number and OFFRSV [n]. note, OF
FRSV [n]. It is written as clock. FIG. 35 shows
It is a figure which shows an end flag. Although the end flag is composed of a 1-byte memory here, it may be composed of 1 bit due to the nature of the flag. This end flag takes a binary value of "0" and "1", and "0" indicates that scanning for the sounding of one step in the arpeggio performance is unfinished, and "1" is This indicates that scanning for sounding one step is completed. Here this is
Notated as END_FLG.

【0053】図36は、ベースノートバッファを示す図
である。このベースノートバッファは1バイトのメモリ
であり、このメモリには、ホールド情報を加味した押鍵
中の鍵のうちの最低音の鍵のノートナンバが格納され
る。ここではこれを、LOと表記する。図37は、トッ
プノートバッファを示す図である。このトップノートバ
ッファは1バイトのメモリであり、このメモリにはホー
ルド情報を加味した押鍵中の鍵のうちの最高音の鍵のノ
ートナンバが格納される。ここではこれを、HIと表記
する。
FIG. 36 is a diagram showing a base note buffer. This base note buffer is a 1-byte memory, and in this memory, the note number of the lowest note key among the keys being pressed with hold information is stored. Here, this is described as LO. FIG. 37 is a diagram showing the top note buffer. This top note buffer is a 1-byte memory, and the note number of the highest note key among the keys being pressed is stored in this memory. Here, this is described as HI.

【0054】以上説明した各メモリの他にも作業領域と
して使用するメモリもあるが、後述するプログラムの説
明で足りるため、ここでは、ここに説明した以外のメモ
リについて1つずつ取りあげた説明は省略する。以下
に、これまで説明したテーブルやメモリを用いてCPU
で実行されるプログラムについて説明する。
In addition to the memories described above, there is a memory to be used as a work area. However, since the description of the program described later is sufficient, a description of the memories other than those described here one by one is omitted. To do. Below, using the table and memory described so far, the CPU
The program executed by will be described.

【0055】図38は、電源オン時に動作を開始し、電
源オフ時まで動作し続けるゼネラルプログラムのフロー
チャートである。電源が投入されると、先ず所定の初期
化が行なわれ(ステップ38_1)、それ以後、クロッ
クタイマ16(図1参照)からクロックの発生が通知さ
れたか否か(ステップ38_2)、パネル15(図1,
図2参照)が操作されいずれかのパラメータがエディッ
トされたか否か(ステップ38_4)、ノートオンデー
タ(押鍵情報)が入力されたか否か(ステップ38_
6)、ノートオフデータ(離鍵情報)が入力されたか否
か(ステップ38_8)、ホールドデータ(ホールド情
報)が入力されたか否か(ステップ38_10)が順次
循環的にモニタされ、各ステップ38_2,38_4,
38_6,38_8,38_10で各イベントが発生し
たことが認識されると、それぞれ、クロック処理(ステ
ップ38_3)、エディット処理(ステップ38_
5)、ノートオン処理(ステップ38_7)、ノートオ
フ処理(ステップ38_9)、ホールドデータ処理(ス
テップ38_11,38_12,38_13)が行なわ
れる。
FIG. 38 is a flow chart of a general program which starts its operation when the power is turned on and continues its operation until the power is turned off. When the power is turned on, first, a predetermined initialization is performed (step 38_1), and thereafter, whether or not the clock generation is notified from the clock timer 16 (see FIG. 1) (step 38_2), the panel 15 (see FIG. 1). 1,
(See FIG. 2) is operated to edit any parameter (step 38_4), and whether note-on data (key depression information) is input (step 38_).
6), whether note-off data (key release information) is input (step 38_8) and whether hold data (hold information) is input (step 38_10) are sequentially and cyclically monitored, and each step 38_2, 38_4
When it is recognized that each event has occurred in 38_6, 38_8, and 38_10, the clock processing (step 38_3) and the edit processing (step 38_) are performed, respectively.
5), note-on processing (step 38_7), note-off processing (step 38_9), and hold data processing (steps 38_11, 38_12, 38_13).

【0056】ホールドデータ処理では、先ずHOLD
(図26参照)にホールド値が格納され(ステップ38
_11)、そのホールド値が、ホールドオンを表わす6
4以上であるか否かが判定され(ステップ38_1
2)、ホールドオフを表わす63以下の場合、ホールド
オフ処理が行なわれる(ステップ38_13)。図39
は、初期化処理ルーチンのフローチャートである。この
初期化処理ルーチンは、図38に示すゼネラルプログラ
ムのステップ38_1で実行される。
In the hold data processing, first, HOLD
The hold value is stored in (see FIG. 26) (step 38).
_11), and the hold value represents hold-on 6
It is determined whether it is 4 or more (step 38_1).
2) If the holdoff is 63 or less, the holdoff process is performed (step 38_13). FIG. 39
3 is a flowchart of an initialization processing routine. This initialization processing routine is executed in step 38_1 of the general program shown in FIG.

【0057】この初期化処理では、先ず、押鍵時のベロ
シティが押鍵順に格納されるオーダバッファORDER
[](図27参照)がクリアされ、そのオーダバッファ
ORDER[]の格納ポインタORDER_WR(図2
8参照)が‘0’(ORDER[]の先頭)に初期化さ
れ、さらに、オーダポジションカウンタCUR_ORD
ER(図29)が、アルペジオ演奏の一連のステップを
これから開始するタイミングであることを表わす‘−
1’に初期化される(ステップ39_1)。
In this initialization processing, first, the order buffer ORDER in which the velocities at the time of key depression are stored in the key depression order.
[] (See FIG. 27) is cleared, and the storage pointer ORDER_WR (FIG. 2) of the order buffer ORDER [] is cleared.
8) is initialized to '0' (the beginning of ORDER []), and the order position counter CUR_ORD
ER (FIG. 29) represents the timing to start a series of steps of the arpeggio performance .'-
It is initialized to 1 '(step 39_1).

【0058】次いで、クロックタイマ16(図1参照)
で発生したクロックをカウントするクロックカウンタC
LOCK(図32参照)が‘0’に初期化され(ステッ
プ39_2)、次の演奏情報の生成のタイミングが格納
されるネクストクロックバッファNEXTCLK(図3
3参照)も‘0’に初期化される(ステップ39_
3)。さらに、ノートオフすべきノートナンバやそのノ
ートオフすべきタイミングが格納されるノートオフリザ
ベーションバッファOFFRSV[](図34参照)が
クリアされ(ステップ39_4)、鍵盤20(図1参
照)の鍵の配列に対応した配列を有し押鍵された鍵のベ
ロシティが格納されるノートバッファNOTEBU
F[](図23参照)がクリアされ(ステップ39_
5)、さらに、ホールド情報を加味したベロシティが格
納されるプレイバッファPLAYBUF[](図24参
照)がクリアされる(ステップ39_6)。さらにホー
ルド値が格納されるホールドバッファHOLD(図26
参照)が‘0’にクリアされ(ステップ39_7)、さ
らに、スキャナをリセットするリセットスキャナルーチ
ンが実行される(ステップ39_8)。
Next, the clock timer 16 (see FIG. 1)
Clock counter C that counts clocks generated in
LOCK (see FIG. 32) is initialized to '0' (step 39_2), and the next clock buffer NEXTCLK (FIG. 3) in which the timing of generation of the next performance information is stored.
3) is also initialized to '0' (step 39_).
3). Further, the note-off reservation buffer OFFRSV [] (see FIG. 34) that stores the note number to be note-off and the timing to note-off is cleared (step 39_4), and the keys of the keyboard 20 (see FIG. 1) are arranged. Note buffer NOTEBU which has an array corresponding to and stores the velocity of the depressed key
F [] (see FIG. 23) is cleared (step 39_).
5) Further, the play buffer PLAYBUF [] (see FIG. 24) in which the velocity including the hold information is stored is cleared (step 39_6). Further, a hold buffer HOLD (FIG. 26) in which a hold value is stored
Is reset to '0' (step 39_7), and the reset scanner routine for resetting the scanner is executed (step 39_8).

【0059】図40は、リセットスキャナルーチンのフ
ローチャートである。リセットスキャナルーチンは、図
39に示す初期化ルーチンのステップ39_8で実行さ
れる。ここでは、現在アルペジオ演奏中のノートナンバ
が格納されるカレントプレイノートナンババッファCU
R_NOTE(図25参照)に空きを表わす‘−1’が
格納され、オーダバッファORDER[](図27参
照)の、現在アルペシオ演奏中のステップを指し示すオ
ーダポジションカウンタCUR_ORDER(図29参
照)にも、空きを表わす‘−1’が格納され、さらに、
スキャンモードテーブル、リズムパターンテーブルの各
ポインタであるスキャンモードテーブルポジションカウ
ンタCUR_SMODE(図31参照)、リズムパター
ンテーブルポジションカウンタCUR_RHY(図30
参照)が、先頭を指し示す‘0’に初期化される。さら
に、クロックCLOCK(図32参照)に1を加えた値
がネクストクロックNEXTCLK(図33)参照に格
納される。
FIG. 40 is a flowchart of the reset scanner routine. The reset scanner routine is executed in step 39_8 of the initialization routine shown in FIG. Here, the current play note number buffer CU in which the note number currently playing the arpeggio is stored
'-1' indicating empty is stored in R_NOTE (see FIG. 25), and the order position counter CUR_ORDER (see FIG. 29) in the order buffer ORDER [] (see FIG. 27) indicating the step currently playing the arpesio, '-1' indicating empty is stored, and further,
Scan mode table position counter CUR_SMODE (see FIG. 31), which is each pointer of the scan mode table and rhythm pattern table, rhythm pattern table position counter CUR_RHY (FIG. 30)
(Reference) is initialized to '0' indicating the beginning. Further, a value obtained by adding 1 to the clock CLOCK (see FIG. 32) is stored in the next clock NEXTCLK (see FIG. 33).

【0060】CLOCKに‘1’を加えた値をNEXT
CLKとする理由は、後述するようにNEXTCLK=
CLOCKのときに発音される(ノートオンデータが送
信される)が、このプログラムが動作中にCLOCKが
インクリメントされてCLOCKが発音開始タイミング
を示すNEXTCLKを越えてしまい、その発音が行な
われないことが生じる可能性をなくすためである。
The value obtained by adding "1" to CLOCK is NEXT.
The reason for using CLK is that NEXTCLK =
It is sounded at the time of CLOCK (note-on data is transmitted), but CLOCK is incremented during the operation of this program, and CLOCK exceeds NEXTCLK indicating the sound generation start timing, and the sound is not generated. This is to eliminate the possibility of occurrence.

【0061】図40に示すリセットスキャナルーチンで
は、さらに、演奏中のアルペジオ演奏の1回ステップの
発音のための操作が未了か終了かを示すエンドフラグE
ND_FLGに、未了を示す‘0’が格納される。図4
1は、クロック処理ルーチンのフローチャートである。
このクロック処理ルーチンは、図38に示すゼネラルプ
ログラムのステップ38_3で実行される。
In the reset scanner routine shown in FIG. 40, an end flag E indicating whether the operation for sounding one step of the arpeggio performance being performed is unfinished or completed.
“0” indicating unfinished is stored in ND_FLG. Figure 4
1 is a flowchart of a clock processing routine.
This clock processing routine is executed in step 38_3 of the general program shown in FIG.

【0062】このクロック処理ルーチンでは、先ずCL
OCK(図32参照)がインクリメントされる(ステプ
41_1)。次に、OFFRSV[](図34参照)を
サーチし、そこに現在のタイミングで送信すべきノート
オフデータが存在するかどうかを調べ、現在のタイミン
グで送信すべきノートオフデータが存在する場合にその
ノートオフデータを送信する(ステップ41_2〜41
_8)。
In this clock processing routine, first CL
OCK (see FIG. 32) is incremented (step 41_1). Next, OFFRSV [] (see FIG. 34) is searched to check whether there is note-off data to be transmitted at the current timing, and if there is note-off data to be transmitted at the current timing, The note-off data is transmitted (steps 41_2 to 41)
_8).

【0063】具体的には、先ずiに‘0’を置いて(ス
テップ41_2)、OFFRSV[i].noteに有
効なノートオフデータが格納されているか(0〜12
7)否か(−1)を調べ(ステップ41_3)、‘−
1’の場合はiをインクリメントして(ステップ41_
7)、iが16に達するまで(ステップ41_8)、そ
のサーチが行なわれる。ステップ41_3で有効なノー
トオフデータの格納が確認されるとステップ41_4に
進み、OFFRSV[i].clockが現在のCLO
CKと等しいかどうかが判定され、等しい場合にそのノ
ートオフデータを演奏情報として送信し(ステップ41
_5)、そのノートオフデータが格納されていた領域の
OFFRSV[i].noteに‘−1’を書き込む
(ステップ41_6)。
Specifically, first, "0" is set to i (step 41_2), and OFFRSV [i]. Whether valid note-off data is stored in note (0 to 12)
7) Check whether or not (-1) (step 41_3), '-
In the case of 1 ', i is incremented (step 41_
7), the search is performed until i reaches 16 (step 41_8). If it is confirmed in step 41_3 that the valid note-off data is stored, the process proceeds to step 41_4, and OFFRSV [i]. clock is the current CLO
It is determined whether or not it is equal to CK, and if so, the note-off data is transmitted as performance information (step 41
_5), OFFRSV [i]. Of the area where the note-off data was stored. "-1" is written in "note" (step 41_6).

【0064】ノートオフデータのサーチが終了すると、
今度は送信すべきノートオンデータを見つけに行く処理
を行なう(ステップ41_9〜41_17)。具体的に
は、先ず現在のCLOCKがNEXTCLKに達したか
否か、すなわちノートオンデータを送信すべきタイミン
グに達したか否かが判定され(ステップ41_9)、未
だそのタイミングに達していないときはそのまま終了す
る。
When the search for the note-off data is completed,
This time, a process of finding note-on data to be transmitted is performed (steps 41_9 to 41_17). Specifically, it is first determined whether or not the current CLOCK has reached NEXTCLK, that is, whether or not it has reached the timing at which note-on data should be transmitted (step 41_9), and if that timing has not yet been reached, It ends as it is.

【0065】NEXTCLK=CLOCKのときは、ス
テップ41_10に進み、押鍵情報を走査するスキャン
ノートオンルーチンが実行される(ステップ41_1
0)。このスキャンノートオンルーチンの詳細は後述す
るが、このスキャンノートオンルーチンでは、送信すべ
きノートナンバのうちの1つがNTに格納される。NT
=−1は、送信すべきノートが存在しないことを意味し
ている。ステップ41_11においてNT=−1ではな
い、すなわち送信すべきノートが存在すると判定される
と、ステップ41_12に進み、ノートオフ予約ルーチ
ンが実行される。このノートオフ予約ルーチンの詳細に
ついても後述するが、このノートオフ予約ルーチンで
は、これから送信しようとするノートオンデータに対応
するノートオフデータをOFFRSV[](図34参
照)に格納することにより、ノートオフ予約を行なう。
OFFRSV[]が満杯のときは、NTに、ノートオフ
予約ができないことを示す‘−1’が格納される。
When NEXTCLK = CLOCK, the routine proceeds to step 41_10, and the scan note-on routine for scanning the key depression information is executed (step 41_1).
0). Although details of this scan note-on routine will be described later, in this scan note-on routine, one of the note numbers to be transmitted is stored in NT. NT
= -1 means that there is no note to be sent. If it is determined in step 41_11 that NT is not −1, that is, there is a note to be transmitted, the process proceeds to step 41_12, and the note-off reservation routine is executed. Although details of this note-off reservation routine will also be described later, in this note-off reservation routine, note-off data corresponding to the note-on data to be transmitted is stored in OFFRSV [] (see FIG. 34), so that Make an off reservation.
When OFFRSV [] is full, "-1" indicating that note-off reservation cannot be made is stored in NT.

【0066】ステップ41_13ではNT=−1かどう
かを調べることによりノートオフ予約が行なわれたか否
かを知り、ノートオフ予約不能であったときはノートオ
ンデータを送信せずにステップ41_10に戻り、送信
すべき次のノートオンデータのサーチを行なう。ステッ
プ41_13でNT≠−1であったとき、すなわち正常
にノートオフ予約が行なわれたときは、ステップ41_
14に進み、ベロシティ生成ルーチンが実行される。こ
のベロシティ生成ルーチンの詳細についても後述する。
このベロシティ生成ルーチンでは、後述する演算により
送信しようとするノートオンデータのベロシティが生成
される。その後ステップ41_15においてそのノート
オンデータが送信され、ステップ41_10に戻り、現
在のタイミングでさらに送信すべきノートオンデータが
存在するかどうかのサーチが行なわれる。
At step 41_13, it is determined whether or not note-off reservation has been made by checking whether NT = -1. If note-off reservation cannot be made, note-on data is not transmitted and the process returns to step 41_10. The next note-on data to be transmitted is searched. When NT ≠ -1 in step 41_13, that is, when the note-off reservation is normally made, step 41_
Proceeding to 14, the velocity generation routine is executed. The details of this velocity generation routine will also be described later.
In this velocity generation routine, the velocity of the note-on data to be transmitted is generated by the calculation described later. After that, the note-on data is transmitted in step 41_15, the process returns to step 41_10, and a search is made as to whether or not there is more note-on data to be transmitted at the present timing.

【0067】ステップ41_10でNTに‘−1’が格
納された場合、すなわち現在のタイミングで送信すべき
ノートオンデータが存在しない(もしくは、現在のタイ
ミングで送信すべきノートオンデータは全て送信してし
まった)場合、ステップ41_11を経由してステップ
41_16に進む。ステップ41_16では、ネクスト
クロック更新ルーチンが実行される。このネクストクロ
ック更新ルーチンの詳細は後述するが、ここでは、ノー
トオンデータ送信の次のタイミングがNEXTCLKに
格納される。
When "-1" is stored in NT in step 41_10, that is, there is no note-on data to be transmitted at the current timing (or all the note-on data to be transmitted at the current timing is transmitted). If so, the process proceeds to step 41_16 via step 41_11. In step 41_16, the next clock update routine is executed. Although the details of this next clock update routine will be described later, here, the next timing of note-on data transmission is stored in NEXTCLK.

【0068】その後、ステップ41_17に進み、スキ
ャナ更新ルーチンが実行される。このスキャナ更新ルー
チンでスキャナの更新が行なわれる。このスキャナ更新
ルーチンの詳細についても後述する。図42は、スキャ
ンノートオンルーチンのフローチャートである。このス
キャンノートオンルーチンは、図41のクロック処理ル
ーチンのステップ41_10で実行される。
After that, the routine proceeds to step 41_17, where the scanner update routine is executed. This scanner update routine updates the scanner. The details of this scanner update routine will also be described later. FIG. 42 is a flowchart of the scan note-on routine. This scan note-on routine is executed in step 41_10 of the clock processing routine of FIG.

【0069】このスキャンノートオンルーチンでは、先
ずスキャンモード番号が格納されているPRM_SMO
DE(図21参照)が参照され(ステップ42_1)、
そのPRM_SMODEに格納されているスキャンモー
ド番号に応じたスキャンモードテーブル(図10、およ
び図11〜図19の各例参照)中の現在のステップ番号
CUR_SMODEに格納されたスキャン方式(スキャ
ンファンクション番号)SMODE_XXX_TBL
[CUR_MODE]が作業領域funcに格納される
(ステップ42_2)。次いで、そのfuncに格納さ
れたスキャンファンクション番号がSCAN_U,SC
AN_D,SCAN_UD,……,SCAN_U_WO
_Tのいずれを指しているかに応じて、それぞれ、図示
の、スキャンアップルーチン(ステップ42_4)、ス
キャンダウンルーチン(ステップ42_5)、スキャン
アップダウンルーチン(ステップ42_6)、……、ス
キャンアップウィズアウトトップルーチン(42_1
5)が実行される。
In this scan note-on routine, first, the PRM_SMO storing the scan mode number is stored.
The DE (see FIG. 21) is referred to (step 42_1),
The scan method (scan function number) SMODE_XXX_TBL stored in the current step number CUR_SMODE in the scan mode table (see FIG. 10 and each example in FIGS. 11 to 19) corresponding to the scan mode number stored in the PRM_SMODE.
[CUR_MODE] is stored in the work area func (step 42_2). Then, the scan function number stored in the func is SCAN_U, SC
AN_D, SCAN_UD, ..., SCAN_U_WO
, Scan up routine (step 42_5), scan up / down routine (step 42_6), ... (42_1
5) is executed.

【0070】以下では、代表的なものとして、スキャン
アップルーチン(ステップ42_4)、スキャンオーダ
ルーチン(ステップ42_8)、スキャンコードルーチ
ン(ステップ42_9)、スキャンベースルーチン(ス
テップ42_10)、スキャンコードウィズアウトベー
ス(ステップ42_14)について説明する。図43
は、スキャンアップルーチンのフローチャートである。
このスキャンアップルーチンは、前述した上昇スキャン
方式を実現するルーチンである。
In the following, as typical ones, a scan-up routine (step 42_4), a scan order routine (step 42_8), a scan code routine (step 42_9), a scan base routine (step 42_10), a scan code without base ( Step 42_14) will be described. Figure 43
3 is a flowchart of a scan-up routine.
This scan-up routine is a routine that realizes the above-described ascending scan method.

【0071】ここでは、先ず、END_FLG(図35
参照)が‘1’か‘0’か、すなわち、今回の1ステッ
プ分の発音のための走査が既に終了しているか否かが判
定され(ステップ43_1)、END_FLG=1の場
合、すなわち、今回の走査が既に終了している場合は、
ステップ43_2に進み、NTに‘−1’が格納されて
終了する。ただし、今回のステップで最初にこのスキャ
ンアップルーチンが実行される際はEND_FLG=0
である。
Here, first, END_FLG (FIG. 35).
Reference) is '1' or '0', that is, it is determined whether or not the scan for sounding one step this time has already been completed (step 43_1). If END_FLG = 1, that is, this time If the scan of has already finished,
The process proceeds to step 43_2, '-1' is stored in NT, and the process ends. However, when this scan-up routine is first executed in this step, END_FLG = 0
Is.

【0072】ステップ43_1でEND_FLGが
‘1’でなかったときは、ステップ43_3に進み、P
LAYBUF[](図24参照)に1つでもノートオン
データが存在するか否かが判定され、ノートオンデータ
が1つも存在しないときは、発音しようがないので、ス
テップ43_2に進み、NTに‘−1’が格納されて終
了する。
If END_FLG is not "1" in step 43_1, the process proceeds to step 43_3 and P
It is determined whether or not even one note-on data exists in LAYBUF [] (see FIG. 24). If no note-on data exists, it is impossible to sound, so the process proceeds to step 43_2 and NT ' -1 'is stored and the process ends.

【0073】PLAYBUF[]にノートオン情報が存
在することが認識されると、次に、上昇スキャン方式に
従って、次に送信すべきノートオンデータが走査される
(ステップ43_4〜43_7)。具体的には、CUR
_NOTE(図25参照)は、直前に送信したノートオ
ンデータのノートナンバが格納されているため、そのC
UR_NOTEを次のノートナンバに進め(ステップ4
3_4)、そのノートナンバが128に達すると(ステ
ップ43_5)、CUR_NOTEに‘0’が格納され
る(ステップ43_6)、このようにして更新されたC
UR_NOTEを用いて、PLAYBUF[CUR_N
OTE]に有効なベロシティデータが格納されているか
否かが判定される(ステップ43_7)。PLAYBU
F[CUR_NOTE]=−1、すなわちそこには有効
なベロシティデータが格納されていないときは、ステッ
プ43_4に進み、CUR_NOTEが再度インクリメ
ントされ、PLAYBUF[]の有効なベロシティが格
納されている領域を見い出すべく、音高の低い方から高
い方へと走査される。
When it is recognized that note-on information is present in PLAYBUF [], note-on data to be transmitted next is scanned according to the ascending scan method (steps 43_4 to 43_7). Specifically, CUR
_NOTE (see FIG. 25) stores the note number of the note-on data transmitted immediately before, so the C
Advance UR_NOTE to the next note number (step 4
3_4), when the note number reaches 128 (step 43_5), '0' is stored in CUR_NOTE (step 43_6), and the C updated in this way is stored.
Using UR_NOTE, PLAYBUF [CUR_N
It is determined whether or not valid velocity data is stored in [OTE] (step 43_7). PLAYBU
If F [CUR_NOTE] = − 1, that is, if valid velocity data is not stored therein, the process proceeds to step 43_4, CUR_NOTE is incremented again, and a region in which valid velocity of PLAYBUF [] is stored is found. Therefore, scanning is performed from the lowest pitch to the highest pitch.

【0074】このようにして、有効なベロシティデータ
が格納されているPLAYBUF[]が見い出される
と、そのときのCUR_NOTEがNTに格納され(ス
テップ43_8)、PLAYBUF[NT]に格納され
ている、CUR_NOTEのベロシティデータがVLに
格納され(ステップ43_9)、上昇スキャン方式では
1つのステップでは1つのノートオンデータしか送信し
ないためEND_FLGに走査の終了を示す‘1’が格
納される(ステップ43_10)。
In this way, when PLAYBUF [] in which valid velocity data is stored is found, CUR_NOTE at that time is stored in NT (step 43_8), and CUR_NOTE stored in PLAYBUF [NT]. Is stored in VL (step 43_9), and since only one note-on data is transmitted in one step in the ascending scan method, "1" indicating the end of scanning is stored in END_FLG (step 43_10).

【0075】図44は、スキャンオーダルーチンのフロ
ーチャートである。このスキャンオーダルーチンは、前
述した押鍵順スキャン方式を実現するルーチンである。
ステップ44_1,44_2は、図43に示すスキャン
アップルーチンのステップ43_1,43_2と同様で
あり、説明は省略する。ステップ44_3では、ORD
ER_WR=0か否かが調べられる。ODER_WR
は、図28と参照して説明したように、押鍵情報を押鍵
順に格納するORDER[](図27参照)のポインタ
であり、ORDER WR=0ということは、ORDE
R[]が空であって、押鍵順アルペジオ演奏を行なうこ
とができないことを意味しており、この場合もステップ
44_2に進み、NTに‘−1’が格納されて終了す
る。
FIG. 44 is a flow chart of the scan order routine. This scan order routine is a routine that realizes the above-described key pressing order scan method.
Steps 44_1 and 44_2 are the same as steps 43_1 and 43_2 of the scan-up routine shown in FIG. 43, and description thereof will be omitted. In step 44_3, ORD
It is checked whether ER_WR = 0. ODER_WR
As described with reference to FIG. 28, is a pointer of ORDER [] (see FIG. 27) that stores key depression information in the key depression order. When ORDER WR = 0, it means ORDE.
R [] is empty, which means that the arpeggio performance in the key-depression order cannot be performed. In this case as well, the routine proceeds to step 44_2, where "-1" is stored in NT and the processing ends.

【0076】ステップ44_3でORDER_WR=0
ではない、すなわちORDER[]が空ではないと判定
されると、ステップ44_4に進んでCUR_ORDE
R(図29参照)がインクリメントされ、CUR_OR
DERがORDER[]の書き込まれる最大ステップを
越えたか否かが判定されて(ステップ44_5)、越え
た場合は、CUR_ORDERに0が格納される(ステ
ップ44_6)。このようにして値が進められたCUR
_ORDERを用いて、次に発音すべきノートナンバO
RDER[CUR_ORDER].noteがNTに格
納され(ステップ44_7)、そのノートナンバのベロ
シティORDER[CUR_ORDER].veloが
VLに格納される(ステップ44_8)。この押鍵順ス
キャン方式においても、1つのステップでは1つのノー
トオンデータしか送信しないため、END_FLGに、
走査の終了を示す‘1’が格納される(ステップ44_
9)。
ORDER_WR = 0 in step 44_3
Is not, that is, if it is determined that ORDER [] is not empty, the process proceeds to step 44_4 and CUR_ORDE
R (see FIG. 29) is incremented and CUR_OR
It is determined whether or not DER exceeds the maximum step in which ORDER [] is written (step 44_5), and if it exceeds, 0 is stored in CUR_ORDER (step 44_6). CUR whose value has been advanced in this way
Note number O to be pronounced next using _ORDER
RDER [CUR_ORDER]. note is stored in NT (step 44_7), and the velocity ORDER [CUR_ORDER]. velo is stored in VL (step 44_8). Even in this key press order scanning method, since only one note-on data is transmitted in one step, END_FLG is set to
"1" indicating the end of scanning is stored (step 44_).
9).

【0077】図45は、スキャンコードルーチンのプロ
グラムである。このスキャンコードルーチンは、前述し
た和音スキャン方式を実現するルーチンである。ステッ
プ45_1,45_2,45_3は、図43に示すスキ
ャンアップルーチンのステップ43_1,43_2,4
3_3と同様であり、説明は省略する。今回のステップ
において、このスキャンコードルーチンが第1回目に呼
ばれたときは、CUR_NOTEには‘−1’が格納さ
れており、したがってステップ45_4,45_5,4
5_6のループでは、CUR_NOTE=0から始ま
り、CUR_NOTE=127まで走査される。その走
査の途中で、PLAYBUF[CUR_NOTE]に
‘−1’以外の値、すなわち有効なベロシティデータが
格納されていることを見出すと、ステップ45_7に進
み、NTにそのノート番号CUR_NOTEを格納し、
VLにそのノートナンバのベロシティデータPLAYB
UF[NT]を格納して(ステップ45_8)、このル
ーチンを一旦抜ける。
FIG. 45 shows a scan code routine program. This scan code routine is a routine that realizes the chord scanning method described above. Steps 45_1, 45_2 and 45_3 are steps 43_1, 43_2 and 4 of the scan-up routine shown in FIG.
It is similar to 3_3 and its description is omitted. In this step, when the scan code routine is called for the first time, “-1” is stored in CUR_NOTE, so that steps 45_4, 45_5, 4 are executed.
In the loop 5_6, it starts at CUR_NOTE = 0 and scans until CUR_NOTE = 127. During the scanning, if it is found that a value other than “−1”, that is, valid velocity data is stored in PLAYBUF [CUR_NOTE], the process proceeds to step 45_7 to store the note number CUR_NOTE in NT,
Velocity data PLAYB of the note number in VL
UF [NT] is stored (step 45_8), and this routine is temporarily exited.

【0078】和音スキャン方式では、PLAYBU
F[]の全域を走査し有効なベロシティデータの格納さ
れた全てのノートオンデータを送信する必要があるた
め、CUR_NOTE≧128に達する前にこのスキャ
ンコードルーチンを抜けるときはEND_FLGには
‘1’には格納しない。このスキャンコードルーチンを
抜けると、図42に示すスキャンノートオンルーチンも
抜け、図41のクロック処理ルーチンのステップ41_
10を抜けることになる。NT=−1ではないときは、
ステップ41_12,41_13,41_14,41_
15と進んで1つのノートオンデータの送信が行なわ
れ、再度ステップ41_10に戻り、図42のスキャン
ノートオンルーチンを経由して、図45のスキャンコー
ドルーチンが再度実行される。そのときには、再度実行
を開始したときの、すなわち前回このルーチンを抜けた
ときCUR_NOTEの次の値CUR_NOTEから走
査が行なわれる(ステップ45_4)。ステップ45_
5においてCUR_NOTE≧128、すなわちPLA
YBUF[]の走査が終了したことが判定されると、ス
テップ45_9に進んでNTに‘−1’が格納され、さ
らにステップ45_10に進んで、END_FLGに
‘1’が格納される。
In the chord scanning method, PLAYBU
Since it is necessary to scan the entire area of F [] and transmit all the note-on data in which valid velocity data is stored, when exiting this scan code routine before reaching CUR_NOTE ≧ 128, END_FLG is set to '1'. Not stored in. When this scan code routine is exited, the scan note-on routine shown in FIG. 42 is also exited, and step 41_ of the clock processing routine of FIG. 41 is executed.
I'm going through 10. When NT is not -1,
Steps 41_12, 41_13, 41_14, 41_
One note-on data is transmitted in 15 and the process returns to step 41_10 again to execute the scan code routine of FIG. 45 again via the scan note-on routine of FIG. 42. At that time, scanning is performed from the value CUR_NOTE next to CUR_NOTE when the execution is started again, that is, when the routine is exited last time (step 45_4). Step 45_
CUR_NOTE ≧ 128 in 5, ie PLA
When it is determined that the scanning of YBUF [] is completed, the process proceeds to step 45_9 to store "-1" in NT, and further proceeds to step 45_10 to store "1" in END_FLG.

【0079】図46は、スキャンベースルーチンのプロ
グラムである。このスキャンベースルーチンは、前述し
た最低音スキャン方式を実現するルーチンである。ステ
ップ46_1,46_2,46_3は、図43に示すス
キャンアップルーチンのステップ43_1,43_2,
43_3と同様であり、説明は省略する。ステップ46
_4では、最低音LO(図36参照)がNTに格納され
る。LOへの最低音の格納処理については後述する。
FIG. 46 shows a scan base routine program. This scan-based routine is a routine that realizes the lowest tone scanning method described above. Steps 46_1, 46_2, 46_3 are steps 43_1, 43_2, of the scan-up routine shown in FIG.
Since it is similar to 43_3, description thereof will be omitted. Step 46
In _4, the lowest tone LO (see FIG. 36) is stored in NT. The process of storing the lowest note in the LO will be described later.

【0080】ステップ46_5では、その最低音LOの
ベロシティPLAYBUF[NT]がVLに格納され
る。さらにステップ46_6において、END_FLG
に‘1’が格納される。最低音は1つしか存在しないか
らである。図47は、スキャンコードウィズアウトベー
スルーチンのプログラムである。このルーチンは、前述
した最低音抜き和音スキャン方式を実現するルーチンで
ある。
At step 46_5, the velocity PLAYBUF [NT] of the lowest note LO is stored in VL. Further, in step 46_6, END_FLG
"1" is stored in. This is because there is only one lowest note. FIG. 47 is a program of the scan code without base routine. This routine is a routine that realizes the above-described lowest chord scanning system.

【0081】ステップ47_1,47_2,47_3
は、図43に示すスキャンアップルーチンのステップ4
3_1,43_2,43_3と同様であり、説明は省略
する。ステップ47_4では、PLAYBUF[]にノ
ートオンの数が1つだけ存在するか、それとも複数存在
するかが判定される、ノートオンの数が1つだけの場
合、本来は最低音抜き和音スキャン方式は成立しない
が、ここでは、その唯一のノートオンのノートナンバを
送信することとし、ステップ47_5に進んで、NTに
そのノートのノートナンバを格納し、そのノートナンバ
のベロシティPLAYBUF[NT]をVLに格納し
(ステップ47_6)、END_FLGに‘1’を格納
する(ステップ47_7)。
Steps 47_1, 47_2, 47_3
Is step 4 of the scan-up routine shown in FIG.
It is similar to 3_1, 43_2, 43_3, and description thereof will be omitted. In step 47_4, it is determined whether the PLAYBUF [] has only one note-on number or a plurality of note-on numbers. Although it is not established, here, the note number of the only note-on is transmitted, the process proceeds to step 47_5, the note number of the note is stored in NT, and the velocity PLAYBUF [NT] of the note number is set to VL. The data is stored (step 47_6), and '1' is stored in END_FLG (step 47_7).

【0082】ステップ47_4においてノートオンの数
が複数存在することが確認されるとステップ47_8に
進む。今回のステップにおいて、このスキャンコードウ
ィズアウトベースルーチンが第1回目に呼ばれたとき
は、図45に示すスキャンコードルーチンの場合と同様
に、CUR_NOTEには‘−1’が格納されている。
CUR_NOTEに‘−1’を格納する処理については
後述する。したがって、ここでは、PLAYBUF[]
の全域にわたって、音高の低い方から高い方へと順次走
査される。ここでの走査の手順(ステップ47_8〜4
7_15)は、図45に示すスキャンコードルーチンに
おける走査の手順(ステップ45_4〜45_10)と
同様であるが、ステップ47_11において、CUR_
NOTEが最低量LOであるか否かを判定し、最低音の
場合にそのノートオンを無視するようにしている点のみ
が異なる。詳細説明は省略する。尚、LOに最低音を格
納する処理については後述する。
When it is confirmed in step 47_4 that there are a plurality of note-on numbers, the process proceeds to step 47_8. In this step, when this scan code within base routine is called for the first time, "-1" is stored in CUR_NOTE as in the case of the scan code routine shown in FIG.
The process of storing "-1" in CUR_NOTE will be described later. Therefore, here, PLAYBUF []
Are sequentially scanned from the lowest pitch to the highest pitch. Scanning procedure here (steps 47_8-4)
7_15) is the same as the scanning procedure (steps 45_4 to 45_10) in the scan code routine shown in FIG. 45, but in step 47_11, CUR_
The only difference is that it is determined whether NOTE is the minimum amount LO and that note-on is ignored when the note is the lowest note. Detailed description is omitted. The process of storing the lowest tone in LO will be described later.

【0083】以上では、図42に示すスキャンノートオ
ンルーチン中で実行される、スキャンアップルーチン
(ステップ42_4)、スキャンオーダルーチン(ステ
ップ42_8)、スキャンコードルーチン(ステップ4
2_9)、スキャンベースルーチン(42_10)、ス
キャンコードウィズアウトベースルーチン(ステップ4
2_13)について説明した。スキャンダウンルーチン
(ステップ42_5)、スキャンアップダウンルーチン
(ステップ42_6)、スキャンランダムルーチン(ス
テップ42_7)、スキャントップルーチン(ステップ
42_11)、スキャンアップウィズアウトベースルー
チン(ステップ42_12)、スキャンランダムウィズ
アウトベースルーチン(ステップ42_13)、スキャ
ンアップウィズアウトトップルーチン(42_14)
は、前述した、それぞれ、下降スキャン方式、上昇下降
スキャン方式、ランダムスキャン方式、最高音スキャン
方式、最低音抜き上昇スキャン方式、最低音抜きランダ
ムスキャン方式、最高音抜き上昇スキャン方式を実現す
るルーチンであるが、上述した各種のルーチン(図43
〜図47)から自明であるため、ここではそれらについ
ての図示および説明は省略する。
In the above, the scan-up routine (step 42_4), the scan order routine (step 42_8), and the scan code routine (step 4) which are executed in the scan note-on routine shown in FIG.
2_9), scan base routine (42_10), scan code without base routine (step 4
2_13). Scan down routine (step 42_5), scan up / down routine (step 42_6), scan random routine (step 42_7), scan top routine (step 42_11), scan up within base routine (step 42_12), scan random within base routine (Step 42_13), Scan Up Without Top Routine (42_14)
Is a routine that realizes the descending scan method, the ascending / descending scan method, the random scan method, the highest sound scan method, the lowest sound removal ascending scan method, the lowest sound removal random scan method, and the highest sound removal ascending scan method, respectively. However, the various routines described above (see FIG.
To FIG. 47), the illustration and description thereof will be omitted here.

【0084】図48は、ノートオフ予約ルーチンのプロ
グラムである。このノートオフ予約ルーチンは、図41
に示すクロック処理ルーチンのステップ41_12で実
行される。このノートオフ予約ルーチンでは、ノートオ
フ予約に用いられるOFFRSV[](図34参照)を
サーチしてその空いている領域を見つけ、一方、リズム
パターンテーブルから読み出したデュレーションと、ス
テップタイムと、グルーブレート設定用操作子153
(図2参照)の操作により設定されたグルーブレートP
RM_GROOVEとに従ってデュレーションを計算
し、そのデュレーションに基づいてノートオフのタイミ
ングを求めて、そのノートオフのタイミングをOFFR
SV[]の空き領域に設定することにより、ノートオフ
予約を行なう。
FIG. 48 shows a program of the note-off reservation routine. This note-off reservation routine is shown in FIG.
The step 41_12 of the clock processing routine shown in FIG. In this note-off reservation routine, OFFRSV [] (see FIG. 34) used for note-off reservation is searched to find an empty area, while the duration, step time, and groove rate read from the rhythm pattern table are searched. Setting operator 153
(See FIG. 2) The groove rate P set by the operation
The duration is calculated according to RM_GROOVE, the note-off timing is obtained based on the duration, and the note-off timing is OFFR.
A note-off reservation is made by setting an empty area of SV [].

【0085】すなわち、先ずステップ48_1において
iに‘0’を設定し、ステップ48_2においてOFF
RSV[i].note=−1であるか否か、すなわ
ち、OFFRSV[i]が空いているか否かが判定され
る。OFFRSV[i].note=−1ではないと
き、すなわちOFFRSV[i]が空いていないとき
は、iがインクリメントされ(ステップ48_3)、i
がOFFRSV[]の配列の大きさを越えたか否かが判
定され(ステップ48_4)、その配列以内であるとき
はステップ48_2に戻ってインクリメントされた新た
なiに対してOFFRSV[i].note=−1か否
かに判定される。これを繰り返し、空き領域を発見でき
ないままi=16に達すると、ステップ48_5に進
み、NTに、OFFRSV[]が満杯であることを示す
‘−1’を格納して終了する。
That is, first, i is set to "0" in step 48_1 and turned off in step 48_2.
RSV [i]. It is determined whether note = −1, that is, whether OFFRSV [i] is empty. OFFRSV [i]. When notote = −1, that is, when OFFRSV [i] is not empty, i is incremented (step 48_3), i
Has exceeded the size of the array of OFFRSV [] (step 48_4). If it is within that array, the process returns to step 48_2 and the OFFRSV [i]. It is determined whether note = -1. Repeating this, when i = 16 is reached without finding a vacant area, the process proceeds to step 48_5 to store "-1" indicating that OFFRSV [] is full in NT and terminates.

【0086】ステップ48_2においてOFFRSV
[i].note=−1、すなわち空き領域を見つけた
ときは、その空き領域OFFRSV[i].note
に、図41のクロック処理ルーチンのステップ41_1
0で得られたノートナンバNTが格納される(ステップ
48_6)。次いで、リズムパターン番号PRM_RH
YTHM(図20参照)に応じて(ステップ48_
7)、そのリズムパターン番号PRM_RHYTHMに
対応するリズムパターンテーブルRHY_XXX_TB
L[](図3、および図4〜図9の各例を参照)の現在
のステップ番号CUR_RHY(図30参照)のステッ
プに格納されている、デュレーションRHY_XXX_
TBL[CUR_RHY].durationおよびス
テップタイムRHY_XXX_TBL[CUR_RH
Y].stepTimeが読み出されて、それぞれD
1,D2に格納される(ステップ48_8)。
OFFRSV in step 48_2
[I]. note = −1, that is, when a free area is found, the free area OFFRSV [i]. note
41, step 41_1 of the clock processing routine of FIG.
The note number NT obtained at 0 is stored (step 48_6). Then, the rhythm pattern number PRM_RH
According to YTHM (see FIG. 20) (step 48_)
7), the rhythm pattern table RHY_XXX_TB corresponding to the rhythm pattern number PRM_RHYTHM
Duration RHY_XXX_ stored in the step of the current step number CUR_RHY (see FIG. 30) of L [] (see FIG. 3 and each example of FIGS. 4 to 9).
TBL [CUR_RHY]. duration and step time RHY_XXX_TBL [CUR_RH
Y]. stepTime is read and D
1 and D2 (step 48_8).

【0087】ステップ48_9では、デュレーションD
1,ステップタイムD2、およびグルーブレートPRM
_GROOVE(図22参照)に基づいて、そのノート
ナンバのデュレーションDURATIONが、 DURATION=(D1−D2)×PRM_GROO
VE/100+D2 の計算により求められる。
At step 48_9, the duration D
1, step time D2, and groove rate PRM
Based on _GROVE (see FIG. 22), the duration DURATION of the note number is DURATION = (D1-D2) × PRM_GROO
It is obtained by calculating VE / 100 + D2.

【0088】この計算結果は、PRM_GROOVE=
0のときは、DURATION=D2、すなわちステッ
プタイムと同値となり、そのアルペジオ演奏にテヌート
のような効果を与え、PRM_GROOVE=100の
ときは、DURATION=D1、すなわちリズムパタ
ーンテーブルRHY_XXX_TBL[]に格納された
デュレーションのままとなる。このリズムパターンテー
ブルRHY_XXX_TBL[]にスタッカートのよう
な短いデュレーションを格納しておくと、図2に示すグ
ルーブレード設定用操作子153の操作により、スタッ
カートのようなアルペジオ演奏からテヌートのようなア
ルペジオ演奏まで、各音のデュレーションを連続的に変
えることができる。このようにして求めたDURATI
ONは、CLOCK(図32参照)と加算されて、OF
FRSV[i].clockに格納される(ステップ4
8_10)。
The result of this calculation is PRM_GROOVE =
When 0, DURATION = D2, that is, the same value as the step time, giving a tenute-like effect to the arpeggio performance, and when PRM_GROOVE = 100, DURATION = D1, that is, stored in the rhythm pattern table RHY_XXX_TBL []. It remains the duration. If a short duration like staccato is stored in this rhythm pattern table RHY_XXX_TBL [], from the arpeggio performance like staccato to the arpeggio performance like tenuto by the operation of the glue blade setting operator 153 shown in FIG. , The duration of each sound can be changed continuously. DURATI obtained in this way
ON is added to CLOCK (see FIG. 32), and OF
FRSV [i]. Stored in clock (step 4)
8_10).

【0089】図49は、ベロシティ生成ルーチンのフロ
ーチャートで、図50は、図49に示すベロシティ生成
ルーチンで生成されるベロシティの説明図である。図4
9に示すベロシティ生成ルーチンは、図41に示すクロ
ック処理ルーチンのステップ(41_14)で実行され
る。図49に示すベロシティ生成ルーチンでは、リズム
パターン番号PRM_RHYTHM(図20参照)が参
照され(ステップ49_1)、そのリズムパターン番号
PRM_RHYTHMに対応するリズムパターンテーブ
ルRHY_XXX_TBL(図3、および図4〜図9の
各例参照)の現在のステップCUR_RHY(図38参
照)のベロシティ係数RHY_XXX_TBL[CUR
_RHY].veloCoefが読み出されてCOEF
に格納される(ステップ49_2)。その後、ステップ
49_3において、ベロシティ係数COEFと、押鍵に
より生成されたベロシティVLとの間で、 VL2=VL×COEF/127 の計算が行なわれ、さらにステップ49_4において、 VL−(VL−VL2)×PRM_GROOVE/10
0 の計算が行なわれて、その計算の結果求められたベロシ
ティが再度VLに格納される。
FIG. 49 is a flow chart of the velocity generation routine, and FIG. 50 is an explanatory diagram of velocities generated in the velocity generation routine shown in FIG. Figure 4
The velocity generation routine shown in FIG. 9 is executed in step (41_14) of the clock processing routine shown in FIG. In the velocity generation routine shown in FIG. 49, the rhythm pattern number PRM_RHYTHM (see FIG. 20) is referred to (step 49_1), and the rhythm pattern table RHY_XXX_TBL (FIGS. 3 and 4 to 9) corresponding to the rhythm pattern number PRM_RHYTHM. Velocity coefficient RHY_XXX_TBL [CUR of current step CUR_RHY (see FIG. 38))
_RHY]. veloCoef is read and COEF
(Step 49_2). Then, in step 49_3, the calculation of VL2 = VL × COEF / 127 is performed between the velocity coefficient COEF and the velocity VL generated by the key depression, and in step 49_4, VL− (VL-VL2) × PRM_GROOVE / 10
The calculation of 0 is performed, and the velocity obtained as a result of the calculation is stored again in VL.

【0090】ここでは、図50に示すように、図2に示
すグルーブレート設定用操作子153の操作により設定
されたグルーブレートPRM_GROOVEがPRM_
GROOVE=0の時、リズムパターンテーブルRHY
_XXX_TBL[]に格納されたベロシティにかかわ
らず、押鍵ベロシティがそのまま採用され、PRM_G
ROOVE=100のときは、(押鍵ベロシティ×ベロ
シティ係数)が採用され、グルーブレード設定用操作子
153をその中間に設定すると、その位置に応じて、押
鍵ベロシティと、(押鍵ベロシティ×ベロシティ係数)
との間で連続的に変化するベロシティが採用される。
Here, as shown in FIG. 50, the groove rate PRM_GROOVE set by the operation of the groove rate setting operator 153 shown in FIG. 2 is PRM_
When GROOVE = 0, rhythm pattern table RHY
Regardless of the velocity stored in _XXX_TBL [], the key depression velocity is adopted as it is, and PRM_G
When ROOVE = 100, (key depression velocity × velocity coefficient) is adopted, and when the glue blade setting operator 153 is set in the middle, key depression velocity and (key depression velocity × velocity) are set according to the position. coefficient)
A velocity that continuously changes between is adopted.

【0091】このようにグルーブレートを変えることに
より、いわゆる‘ノリ’の程度を変化させることができ
る。図41のクロック処理ルーチンのステップ41_1
4では、上記のようにしてベロシティが求められ、ステ
ップ41_15では、このようにして求められたベロシ
ティデータを伴ったノートオンデータが送信される。
By changing the groove rate in this way, it is possible to change the degree of so-called "stickiness". Step 41_1 of the clock processing routine of FIG.
In 4, the velocity is obtained as described above, and in step 41_15, the note-on data with the velocity data thus obtained is transmitted.

【0092】図51は、ネクストクロック更新ルーチン
のフローチャートである。このネクストックロック更新
ルーチンは、図40に示すクロック処理ルーチンのステ
ップ41_16で実行される。このネクストクロック更
新ルーチンでは、先ずリズムパターン番号PRM_RH
YTHM(図20参照)が参照され、そこに格納された
リズムパターン番号PRM_RHYTHMに応じたリズ
ムパターンテーブルRHY_XXX_TBL[]の現在
のステップ番号CUR_RHY(図30参照)のステッ
プに格納されているステップタイムRHY_XXX_T
BL[CUR_RHY].stepTimeが読み出さ
れてSTEPに格納され(ステップ51_2)、CLO
CK(図32参照)にそのSTEPが加算されてNEX
TCLK(図33参照)に格納される(ステップ51_
3)。これにより、次の発音タイミングがNEXTCL
Kに設定される。
FIG. 51 is a flowchart of the next clock update routine. This next stock lock update routine is executed in step 41_16 of the clock processing routine shown in FIG. In this next clock update routine, first, the rhythm pattern number PRM_RH
YTHM (see FIG. 20) is referred to, and the step time RHY_XXX_T stored in the step of the current step number CUR_RHY (see FIG. 30) of the rhythm pattern table RHY_XXX_TBL [] corresponding to the rhythm pattern number PRM_RHYTHM stored therein.
BL [CUR_RHY]. The stepTime is read and stored in STEP (step 51_2), and the CLO
The step is added to CK (see FIG. 32) and NEX
It is stored in TCLK (see FIG. 33) (step 51_).
3). As a result, the next sound generation timing is NEXTCL.
Set to K.

【0093】図52、53は、それぞれ、スキャナ更新
ルーチンのフローチャートの前半部分、後半部分であ
る。このスキャナ更新ルーチンは、図41に示すクロッ
ク処理ルーチンのステップ41_17で実行される。こ
のスキャナ更新ルーチンでは、先ず、前回のノートオン
データの走査の最後でEND_FLGに‘1’が格納さ
れたのを解除してEND_FLGに‘0’を格納し(ス
テップ52_1)、次に、リズムパターンテーブルの現
在のステップCUR_RHY(図30参照)が更新され
る(ステップ52_2〜52_6)。具体的には、ステ
ップ52_2においてCUR_RHYがインクリメント
され、次いで、リズムパターン番号PRM_RHYTH
M(図20参照)が参照されそのリズムパターン番号P
RM_RHYTHMに応じたリズムパターンテーブルの
ステップ数RHY_XXX_SIZEが読み出されてS
IZEに格納され(ステップ52_4)、CUR_RH
Y≦SIZEであるか否か、すなわち、CUR_RHY
がインクリメントされた(ステップ52_2)結果、現
在使用中のリズムパターンテーブルRHY_XXX_T
BL[]のステップ数を越えたか否かが判定され、越え
ていないときはそのままステップ52_7に進み、越え
たときは、CUR_RHYに‘0’が格納されることに
より先頭のステップに戻った上で、ステップ52_7に
進む。
52 and 53 are the first half and the second half of the flowchart of the scanner update routine, respectively. This scanner update routine is executed in step 41_17 of the clock processing routine shown in FIG. In this scanner update routine, first, the value of "1" is stored in END_FLG at the end of the previous note-on data scan, and "0" is stored in END_FLG (step 52_1). The current step CUR_RHY (see FIG. 30) of the table is updated (steps 52_2 to 52_6). Specifically, in step 52_2, CUR_RHY is incremented, and then the rhythm pattern number PRM_RHYTH
M (see FIG. 20) is referred to and its rhythm pattern number P
The number of steps RHY_XXX_SIZE of the rhythm pattern table corresponding to RM_RHYTHM is read and S
Stored in IZE (step 52_4), CUR_RH
Whether Y ≦ SIZE, that is, CUR_RHY
Is incremented (step 52_2), and as a result, the rhythm pattern table RHY_XXX_T currently in use
It is determined whether or not the number of steps of BL [] has been exceeded. If the number of steps has not been exceeded, the process directly proceeds to step 52_7. , And proceeds to step 52_7.

【0094】ステップ52_7〜52_11では、スキ
ャンモードテーブルの現在のステップCUR_SMOD
E(図31参照)が更新される。すなわち、先ずステッ
プ52_7でCUR_SMODEがインクリメントさ
れ、その後スキャンモード番号PRM_SMODE(図
21参照)が参照され(ステップ52_8)、そのスキ
ャンモード番号PRM_MODEに対応するスキャンモ
ードテーブルのステップ数SMODE_XXX_SIZ
Eが読み出されてSIZEに格納され(ステップ52_
9)、CUR_SMODE≧SIZEの場合に(ステッ
プ52_10)、CUR_SMODEが先頭(ステップ
0)に戻される(ステップ52_11)。
In steps 52_7 to 52_11, the current step CUR_SMOD of the scan mode table is selected.
E (see FIG. 31) is updated. That is, first, CUR_SMODE is incremented in step 52_7, then the scan mode number PRM_SMODE (see FIG. 21) is referred to (step 52_8), and the step number SMODE_XXX_SIZ of the scan mode table corresponding to the scan mode number PRM_MODE.
E is read and stored in SIZE (step 52_
9) If CUR_SMODE ≧ SIZE (step 52_10), CUR_SMODE is returned to the beginning (step 0) (step 52_11).

【0095】次に図53に示すステップ53_1に進
み、スキャンモード番号PRM_SMODE(図21参
照)が参照され、そのスキャンモード番号PRM_SM
ODEに対応したスキャンモードテーブルSMODE_
XXX_TBL[]の、図52のステップ52_7〜5
2_11で更新されたステップCUR_SMODEのス
キャン方式(スキャンファンクション番号)SMODE
_XXX_TBL[CUR_SMODE]が読み出され
て、funcに格納される。ステップ53_3,53_
4では、それぞれ、funcが和音スキャン方式SCA
N_Cであるか否か、および最低音抜き和音スキャン方
式SCAN_C_WO_Bであるか否かが判定され、S
CA_CもしくはSCAN_C_WO_Bの場合は、C
UR_NOTE(図25参照)に‘−1’が格納され
る。SCAN_CもしくはSCAN_C_WO_Bの場
合、CUR_NOTEに‘−1’を格納しておくことに
よって、ノートオンデータの走査のときに音高の低い方
から高い方に向かってPLAYBUF[]の領域が走査
される(図45,図47参照)。
Next, in step 53_1 shown in FIG. 53, the scan mode number PRM_SMODE (see FIG. 21) is referred to, and the scan mode number PRM_SM.
Scan mode table SMODE_ corresponding to ODE
Steps 52_7 to 5 of FIG. 52 of XXX_TBL []
Scan method (scan function number) SMODE of step CUR_SMODE updated in 2_11
_XXX_TBL [CUR_SMODE] is read and stored in func. Step 53_3, 53_
In 4, each of the func is a chord scanning method SCA.
It is determined whether or not it is N_C and whether or not it is the lowest tone chord scanning method SCAN_C_WO_B, and S
C for CA_C or SCAN_C_WO_B
'-1' is stored in UR_NOTE (see FIG. 25). In the case of SCAN_C or SCAN_C_WO_B, by storing “-1” in CUR_NOTE, the area of PLAYBUF [] is scanned from the lower pitch to the higher pitch when the note-on data is scanned (Fig. 45, see FIG. 47).

【0096】図54は、エディットルーチンのフローチ
ャートである。このエディットルーチンは、パネル(図
2参照)が操作された際に、図38に示すゼネラルプロ
グラムのステップ38_5で実行される。ステップ54
_1では、リズムパターンが変更されたか否かが判定さ
れる。リズムパターンの変更は、図2に示すリズムパタ
ーン設定用操作子151を操作することにより行われ
る。リズムパターン設定用操作子151を操作すること
によりリズムパターンが変更される。ステップ54_2
において、PRM_RHYTHM(図20参照)に、変
更後の新たなリズムパターン番号が格納され、ステップ
52_3に進み、リセットスキャナルーチン(図40参
照)が実行されてスキャナのリセットが行われる。
FIG. 54 is a flow chart of the edit routine. This edit routine is executed in step 38_5 of the general program shown in FIG. 38 when the panel (see FIG. 2) is operated. Step 54
In _1, it is determined whether the rhythm pattern has been changed. The rhythm pattern is changed by operating the rhythm pattern setting operator 151 shown in FIG. The rhythm pattern is changed by operating the rhythm pattern setting operator 151. Step 54_2
In PRM_RHYTHM (see FIG. 20), the new rhythm pattern number after change is stored, and the process proceeds to step 52_3 to execute the reset scanner routine (see FIG. 40) to reset the scanner.

【0097】ステップ54_4では、スキャンモードが
変更されたか否かが判定される。スキャンモードの変更
は、図2に示すスキャンモード設定用操作子152を操
作することにより行われる。スキャンモード設定用操作
子152が操作されることによりスキャンモードが変更
されると、ステップ54_5において、PRM_SMD
E(図21参照)に変更後の新たなスキャンモード番号
が格納され、ステップ52_3でスキャナのリセットが
行われる。
In step 54_4, it is determined whether the scan mode has been changed. The scan mode is changed by operating the scan mode setting operator 152 shown in FIG. When the scan mode is changed by operating the scan mode setting operator 152, in step 54_5, PRM_SMD
The new scan mode number after change is stored in E (see FIG. 21), and the scanner is reset in step 52_3.

【0098】ステップ54_6では、グルーブレートが
変更されたか否かが判定される。グルーブレートの変更
は、図2に示すグルーブレート設定用操作子153の操
作により行われる。グルーブレート設定用操作子153
の操作によりグルーブレートが変更されると、ステップ
54_7に進み、PRM_GROOVE(図22参照)
にグルーブレートの新たな値が格納される。
In step 54_6, it is determined whether the groove rate has been changed. The groove rate is changed by operating the groove rate setting operator 153 shown in FIG. Groove rate setting operator 153
When the groove rate is changed by the operation of, the process proceeds to step 54_7 and PRM_GROVE (see FIG. 22)
The new value of the groove rate is stored in.

【0099】図55は、ノートオン処理ルーチンのフロ
ーチャートである。このノートオン処理分は、ノートオ
ンデータを受信した際に、図38に示すゼネラルブロッ
クプログラムのステップ38_7で実行される。ステッ
プ55_1では、受信したノートオンデータのうちのノ
ートナンバがNTに格納され、ベロシティがVLに格納
される。このベロシティVLは、NOTEBUF[N
T](図23参照)およびPLAYBUF[NT](図
24参照)に格納される(ステップ55_2,55_
3)。次に、ORDER_WR(図28参照)が16末
端か否か判定され、16未満のときは、押鍵順バッファ
ORDER[](図27参照)に空きがあるため、OR
DER[ORDER_WR].noteにノートナンバ
NTが格納され、ORDER[ORDER_WR].v
eloにベロシティVLが格納される。ステップ55_
7では、今回入力されたノートオンデータが全て離鍵
(ノートオフ)されていた状態から最初に受信したノー
トオンデータであるか否かが判定される。すなわち、具
体的には、PLAYBUF[]に格納されている有効な
ベロシティデータは、ステップ55_3で今回格納した
ベロシティ1個のみであるか否かが検出される。最初の
ノートオンデータであった場合はステップ55_8に進
み、スキャナのリセットが実行される。その後、PLA
YBUF[]が走査されて、最低音LO,最高音HIが
更新される(ステップ55_9,55_10)。
FIG. 55 is a flowchart of the note-on processing routine. This note-on processing is executed in step 38_7 of the general block program shown in FIG. 38 when the note-on data is received. In step 55_1, the note number of the received note-on data is stored in NT and the velocity is stored in VL. This velocity VL is NOTEBUF [N
T] (see FIG. 23) and PLAYBUF [NT] (see FIG. 24) (steps 55_2, 55_).
3). Next, it is determined whether or not ORDER_WR (see FIG. 28) is at the 16th end.
DER [ORDER_WR]. Note number NT is stored in note, and ORDER [ORDER_WR]. v
The velocity VL is stored in elo. Step 55_
At 7, it is determined whether or not all the note-on data input this time is the note-on data first received from the state where the key is released (note-off). That is, specifically, it is detected whether or not the valid velocity data stored in PLAYBUF [] is only one velocity stored this time in step 55_3. If it is the first note-on data, the process proceeds to step 55_8 to reset the scanner. Then PLA
YBUF [] is scanned, and the lowest tone LO and the highest tone HI are updated (steps 55_9, 55_10).

【0100】図56は、ノートオフ処理ルーチンのフロ
ーチャートである。このノートオフ処理ルーチンは、ノ
ートオフデータを受信した際に、図38に示すゼネラル
プログラムのステップ38_9で実行される。ステップ
56_1では、受信したノートオフデータのノートナン
バがNTに格納され、NOTEBUF[NT](図23
参照)に、有効なデータが格納されていないことを表わ
す‘−1’が格納される(ステップ56_2)。ステッ
プ56_3では、HOLD(図26参照)が64未満
(ホールドオフ)か否かが判定され、ホールドオン(6
4以上)のときはそのまま終了する。ホールドオフ(6
4未満)のときは、PLAYBUF[NT](図24参
照)に‘−1’が格納され(ステップ56_4)、押鍵
順バッファORDER[](図27参照)から今回のノ
ートオフデータに対応するノートオンデータを削除する
デリートオーダルーチンが実行され(ステップ56_
5)、さらにデリートオーダルーチンにより削除が行わ
れた押鍵順バッファORDER[]を前詰めにするパッ
クオーダルーチンが実行される(ステップ56_6)。
ステップ56_7,56_8ではPLAYBUF[]が
サーチされて最低音LO,最高音HIが更新される。
FIG. 56 is a flowchart of the note-off processing routine. This note-off processing routine is executed at step 38_9 of the general program shown in FIG. 38 when the note-off data is received. In step 56_1, the note number of the received note-off data is stored in NT and NOTEBUF [NT] (see FIG. 23).
In the reference), "-1" indicating that valid data is not stored is stored (step 56_2). In step 56_3, it is determined whether HOLD (see FIG. 26) is less than 64 (hold off), and hold on (6
(4 or more), the process ends. Hold off (6
(Less than 4), -1 is stored in PLAYBUF [NT] (see FIG. 24) (step 56_4), and the note-off data of this time is read from the key-depression order buffer ORDER [] (see FIG. 27). A delete order routine for deleting the note-on data is executed (step 56_).
5) Further, a pack order routine for moving the key depression order buffer ORDER [] deleted by the delete order routine to the left is executed (step 56_6).
In steps 56_7 and 56_8, PLAYBUF [] is searched to update the lowest note LO and the highest note HI.

【0101】図57は、デリートオーダルーチンのフロ
ーチャートである。このデリートオーダルーチンは、図
56に示すノートオフ処理ルーチンのステップ56_5
で実行される。ここではORDER[](図27参照)
がサーチされ、ノートオフデータのノートナンバNTの
存在がサーチされ(ステップ57_1〜57_5)、O
RDER[i]=NTの場合、ORDER[i].no
teおよびORDER[i].veloの双方に−1が
格納される。複数のORDER[i]にNTが格納され
ていた場合、その全てについて‘−1’が格納される。
FIG. 57 is a flowchart of the delete order routine. This delete order routine is step 56_5 of the note-off processing routine shown in FIG.
Run on. Here, ORDER [] (see FIG. 27)
Is searched for the existence of the note number NT of the note-off data (steps 57_1 to 57_5), and O
If RDER [i] = NT, then ORDER [i]. no
te and ORDER [i]. -1 is stored in both velo. When NT is stored in a plurality of ORDER [i] 's,'-1 'is stored for all of them.

【0102】図58は、パックオーダルーチンのフロー
チャートである。このパックオーダルーチンは、図56
に示すノートオフ処理ルーチンのステップ56_6で実
行される。ここでは、押鍵順バッファORDER[]が
サーチされ、‘−1’が格納されている領域をなくすよ
うに前詰めされる。具体的には、ステップ58_1にお
いて、i,j双方に初期値‘0’が格納され、ステップ
58_2においてORDER[i].noteに‘−
1’が格納されているか否かが調べられる。ORDER
[i].noteに有効なデータ(すなわち‘−1’以
外)が格納されていたときは、ステップ58_3に進
み、ORDER[i].note,ORDER[i].
veloが、それぞれ、ORDER[j].note,
ORDER[j].veloに転記され、ステップ58
_4でjがインクリメントされる。ORDER[]の前
詰めに伴って、押鍵順アルペジオ演奏における現在のス
テップCUR_ORDER(図29参照)も変更する必
要があることから、ステップ58_5ではCUR_OR
DERがiか否か調べられ、CUR_ORDER=iの
ときは、CUR_ORDERにj−1が格納される(ス
テップ58_6).ステップ58_7ではiがインクリ
メントされ、ステップ58_8でiがORDER_WR
(図28参照)以下か否か判定され、i≦ORDER_
WRの場合ステップ58_2に戻って、更新されたiに
ついてのORDER[i].noteが‘−1’か否か
調べられる。
FIG. 58 is a flow chart of the pack order routine. This pack order routine is shown in FIG.
This is executed in step 56_6 of the note-off processing routine shown in. Here, the key-depression order buffer ORDER [] is searched, and it is left-justified so as to eliminate the area where "-1" is stored. Specifically, in step 58_1, initial values “0” are stored in both i and j, and in step 58_2, ORDER [i]. to note'-
It is checked whether 1'is stored. ORDER
[I]. If valid data (i.e., other than "-1") is stored in "note", the process proceeds to step 58_3, where ORDER [i]. note, ORDER [i].
velo is respectively ORDER [j]. note,
ORDER [j]. posted to velo, step 58
In j, j is incremented. Since the current step CUR_ORDER (refer to FIG. 29) in the key-pressing order arpeggio performance needs to be changed in accordance with the justification of ORDER [], CUR_OR is performed in step 58_5.
Whether or not DER is i is checked, and when CUR_ORDER = i, j-1 is stored in CUR_ORDER (step 58_6). In step 58_7, i is incremented, and in step 58_8, i is incremented by ORDER_WR.
(See FIG. 28) It is determined whether or not the following, and i ≦ ORDER_
In the case of WR, the process returns to step 58_2 and the ORDER [i]. It is checked whether or not note is “−1”.

【0103】ORDER[]のポインタORDER_W
R(図28参照)もORDER[]の前詰めに伴って変
更する必要があり、ステップ58_9では、ORDER
_WRにjが格納される。図59は、ホールドオフ処理
ルーチンのフローチャートである。このホールドオフ処
理ルーチンはホールドデータを受信した際に、図38に
示すゼネラルプログラムのステップ38_13で実行さ
れる。このホールドオフ処理ルーチンが実行されるとき
は、図38のステップ38_12の判定により、HOL
Dが64未満(ホールドオフ)であることがわかってい
る。
ORDER [] pointer ORDER_W
R (see FIG. 28) also needs to be changed in accordance with the justification of ORDER [], and in step 58_9, ORDER
J is stored in _WR. FIG. 59 is a flowchart of the hold-off processing routine. This hold-off processing routine is executed at step 38_13 of the general program shown in FIG. 38 when hold data is received. When this hold-off processing routine is executed, the HOL is determined by the determination in step 38_12 in FIG.
It is known that D is less than 64 (holdoff).

【0104】図59に示すホールドオフ処理ルーチンが
実行されると、押鍵,離鍵をそのまま反映したNOTE
BUF[](図23参照)が、その全域にわたって、ホ
ールド情報を加味した押鍵情報を格納するPLAYBU
F[](図24参照)に転記される(ステップ59_1
〜59_4)。次いで、押鍵順バッファORDER[]
(図27参照)の再構築を行うリメークオーダルーチン
が実行される(ステップ59_5)。ORDER[]が
再構築された後、ステップ59_6,59_7では、P
LAYBUF[]がサーチされて最低音LO,最高音H
Iの更新が行われる。
When the hold-off processing routine shown in FIG. 59 is executed, a NOTE reflecting the key press and key release as it is.
BUF [] (see FIG. 23) is a PLAYBU that stores key pressing information with hold information added over the entire area.
It is transcribed to F [] (see FIG. 24) (step 59_1).
~ 59_4). Next, the key depression order buffer ORDER []
A remake order routine for reconstructing (see FIG. 27) is executed (step 59_5). After the ORDER [] is reconstructed, in steps 59_6 and 59_7, P
LAYBUF [] is searched for the lowest note LO and the highest note H.
I is updated.

【0105】図60は、リメークオーダルーチンのフロ
ーチャートである。このリメークオーダルーチンは図5
9に示すホールドオフ処理ルーチンのステップ59_5
で実行される。ここでは、PLAYBUF[]を音高の
低い方から高い方と順にサーチするために、NTに、先
ず初期値‘0’が格納される(ステップ60_1)。
FIG. 60 is a flowchart of the remake order routine. This remake order routine is shown in Fig. 5.
Step 59_5 of the hold-off processing routine shown in FIG.
Run on. Here, in order to search PLAYBUF [] from the lowest pitch to the highest pitch, the initial value "0" is first stored in NT (step 60_1).

【0106】次いで、PLAYBUF[NT]が読み出
されてVLに格納され(ステップ60_2)、そのVL
が‘−1’か否か、すなわちPLAYBUF[NT]に
有効なベロシティデータが格納されていた(−1以外)
か否(−1)かが判定される。VL=−1のときは、ス
テップ60_4に進み、デリートオーダルーチン(図5
7参照)が実行され、このデリートオーダルーチンの中
で、ORDER[]にノートナンバNTのノートオンデ
ータが格納されていた場合にそれを削除する(具体的に
は‘−1’を格納する)。ステップ60_5ではNTが
インクリメントされ、ステップ60_6では、NTが1
28未満か否か判定され、NTが128未満のときはス
テップ60_2に戻って新たなNTについてPLAYB
UF[NT]が読み出される。
Then, PLAYBUF [NT] is read and stored in VL (step 60_2), and the VL is read.
Is "-1", that is, valid velocity data is stored in PLAYBUF [NT] (other than -1).
Whether or not (-1) is determined. When VL = −1, the process proceeds to step 60_4 and the delete order routine (FIG. 5).
7) is executed, and if the note-on data of the note number NT is stored in ORDER [] in this delete order routine, it is deleted (specifically, "-1" is stored). . NT is incremented in step 60_5, and NT is incremented in step 60_6.
It is determined whether it is less than 28, and when NT is less than 128, the process returns to step 60_2 and PLAYB for the new NT
UF [NT] is read.

【0107】このようにして、PLAYBUF[]の全
域がサーチされ、ORDER[]から、VL=−1が格
納されているPLAYBUF[NT]に対応するノート
ナンバNTが全て削除される。その後、ステップ60_
7において、パックオーダルーチン(図29参照)が実
行されて、ORDER[]の‘−1’が格納された領域
をなくすようにORDER[]が前詰めされる。これに
より、ORDER[]は、現在押鍵中の鍵のみについ
て、押鍵順に押鍵情報が並んだ状態となる。
In this way, the entire area of PLAYBUF [] is searched, and all note numbers NT corresponding to PLAYBUF [NT] storing VL = -1 are deleted from ORDER []. Then, step 60_
At 7, the pack order routine (see FIG. 29) is executed, and ORDER [] is justified so as to eliminate the area where "-1" of ORDER [] is stored. As a result, the ORDER [] is in a state in which the key depression information is arranged in the key depression order only for the key currently being depressed.

【0108】本実施形態におけるアルペジエータは、以
上説明したように構成されており、図2に示すリズムパ
ターン設定用操作子151およびスキャンモード設定操
作子152により設定された、リズムパターンテーブル
(図3、および図4〜図9の各例参照)およびスキャン
モードテーブル(図10および図11〜図19の各例参
照)を用いて、複数の鍵を同時に押鍵し、あるいは順次
に押鍵して押鍵したままとし、あるいはホールドペダル
を踏んで押鍵を記憶させておくという簡単な動作で、音
楽的に意味の深い、種々のアルペジオ演奏を行うことが
できる。また、図2に示すグルーブレート操作子151
を操作することにより、‘ノリ’の程度を簡単に変更す
ることができる。
The arpeggiator according to the present embodiment is configured as described above, and has a rhythm pattern table (FIG. 3, FIG. 3, set by the rhythm pattern setting operator 151 and the scan mode setting operator 152 shown in FIG. 2). And each example of FIGS. 4 to 9) and the scan mode table (see each example of FIG. 10 and FIGS. 11 to 19), a plurality of keys are pressed simultaneously or sequentially. Various arpeggio performances that are musically significant can be performed by a simple operation of holding the keys or pressing the hold pedal to store the pressed keys. Further, the groove rate operator 151 shown in FIG.
By operating, you can easily change the degree of'Nori '.

【0109】次に、本発明のアルペジエータの他の実施
形態について説明する。ただし、これ以降では、上述し
た実施形態と共通的な部分については図示および説明は
省略し、上述の実施形態との相違点のみ、図示および説
明を行う。図61は、図2のパネルに付加されるベロシ
ティボリウムを示した図、図62は、図2に示すパネル
に図61に示したベロシティボリウムが付加された構成
において、図49に示すベロシティ生成ルーチンに代え
て採用されるベロシティ生成ルーチンのフローチャート
である。
Next, another embodiment of the arpeggiator of the present invention will be described. However, hereinafter, illustration and description of parts common to the above-described embodiment will be omitted, and only differences from the above-described embodiment will be illustrated and described. 61 is a diagram showing a velocity volume added to the panel of FIG. 2, and FIG. 62 is a velocity generation routine shown in FIG. 49 in a configuration in which the velocity volume shown in FIG. 61 is added to the panel shown in FIG. 6 is a flowchart of a velocity generation routine that is adopted instead of.

【0110】この実施形態では、図61に示すようなベ
ロシティボリウム154がパネル15(図2参照)に付
加される。このベロシティボリウム154は、手でつま
んで回転させることができ、反時計まわりにいっぱいに
回転させると‘0’、時計まわりにいっぱいに回転させ
ると‘127’、それらの中間位置ではその位置に応じ
た値が出力され、RAM13(図1参照)中のVELO
CITY_VOLUMEに格納される。このVELOC
ITY_VOLUMEは、図62のフローチャートで説
明するように、アルペジオ演奏におけるベロシティデー
タの生成にかかわっている。
In this embodiment, a velocity volume 154 as shown in FIG. 61 is added to the panel 15 (see FIG. 2). This velocity volume 154 can be pinched and rotated by hand, fully rotated counterclockwise to '0', fully rotated clockwise to '127', depending on its position in the middle position. Value is output, and VELO in RAM 13 (see FIG. 1) is output.
It is stored in CITY_VOLUME. This VELOC
ITY_VOLUME is involved in the generation of velocity data in an arpeggio performance, as described in the flowchart of FIG.

【0111】図62に示すベロシティ生成ルーチンで
は、図49のベロシティ生成ルーチンと同様に、リズム
パターン番号PRM_RHYTHMが参照され(ステッ
プ62_1)、そのリズムパターン番号PRM_RHY
THMに対応するリズムパターンテーブルPHY_XX
X_TBL(図3、および図4〜図9の各例参照)の現
在のステップCUR_RHY(図38参照)のベロシテ
ィ係数RHY_XXX_TBL[CUR_RHY].v
eloCoefが読み出されて、COEFに格納される
(ステップ62_2)。
In the velocity generation routine shown in FIG. 62, the rhythm pattern number PRM_RHYTHM is referred to (step 62_1) as in the velocity generation routine of FIG. 49, and the rhythm pattern number PRM_RHY is referenced.
Rhythm pattern table PHY_XX corresponding to THM
X_TBL (see FIG. 3 and each example of FIG. 4 to FIG. 9) at the current step CUR_RHY (see FIG. 38) velocity coefficient RHY_XXX_TBL [CUR_RHY]. v
eloCoef is read and stored in COEF (step 62_2).

【0112】その後、図49に示すベロシティ生成ルー
チンと異なり、VELOCITY_VOLUME=0か
否かが判定される(ステップ62_3)。VELOCI
TY_VOLUME=0の場合は、図49のベロシティ
生成ルーチンと同様であり、ステップ62_5に進ん
で、ベロシティ係数COEFと、押鍵により生成された
ベロシティVLとの間で、 VL2=VL×COEF/127 の計算が行われ、さらにステップ62_6において、 VL−(VL−VL2)×PRM_GROOVE/10
0 の計算が行われて、その計算の結果求められたベロシテ
ィが再度VLに格納される。
Then, unlike the velocity generation routine shown in FIG. 49, it is determined whether VELOCITY_VOLUME = 0 (step 62_3). VELOCI
In the case of TY_VOLUME = 0, it is similar to the velocity generation routine of FIG. 49, the process proceeds to step 62_5, where VL2 = VL × COEF / 127 between the velocity coefficient COEF and the velocity VL generated by the key depression. Calculation is performed, and in step 62_6, VL- (VL-VL2) * PRM_GROVE / 10
0 is calculated, and the velocity obtained as a result of the calculation is stored in VL again.

【0113】一方、ステップ62_3において、VEL
OCITY_VOLUMEが‘0’ではないと判定され
ると、ステップ62_4に進み、そのVELOCITY
_VOLUMEがVLに格納される。すなわち、この場
合は、押鍵により生成されたベロシティは無視され、そ
の押鍵により生成されたベロシティに代わり、図61に
示すベロシティボリウム154により設定されたVEL
OCITY_VOLUMEが採用される。このように、
押鍵ベロシティの代わりに固定のベロシティを用いるよ
うにすると、押鍵強さに関係なく、一定の強さを持つア
ルベジオ演奏が実現できる。すなわち、演奏状態に左右
されず安定した再現性のあるアルペジオ演奏を行うこと
ができる。
On the other hand, in step 62_3, VEL
If it is determined that OCITY_VOLUME is not "0", the process proceeds to step 62_4 and the VELOCITY
_VOLUME is stored in VL. That is, in this case, the velocity generated by the key depression is ignored, and the VEL set by the velocity volume 154 shown in FIG. 61 is used instead of the velocity generated by the key depression.
OCITY_VOLUME is adopted. in this way,
By using a fixed velocity instead of the key-pressing velocity, it is possible to achieve an arbeggio performance with a certain strength regardless of the key-pressing strength. That is, it is possible to perform a stable and reproducible arpeggio performance regardless of the performance state.

【0114】図63は、図2のパネルに付加されるスタ
イルスイッチを示した図、図64は、図2に示すパネル
に図63に示したスタイルスイッチが付加された構成に
おいて、図54に示すエディットルーチンに代えて採用
されるエディットルーチンのフローチャートである。図
63に示すスタイルスイッチ155は、ジャンル毎に複
数(この例では3個)のボタン155a,155b,1
55cから成り、各ボタン155a,155b,155
cを押すと、それぞれワルツ(WALTZ)、レゲエ
(REGGAE)、三味線(SHAMISEN)のイメ
ージに合致した、リズムパターン番号とスキャンモード
番号とのセットが選択されるようになっている。
FIG. 63 is a view showing a style switch added to the panel of FIG. 2, and FIG. 64 is shown in FIG. 54 in a configuration where the style switch shown in FIG. 63 is added to the panel shown in FIG. It is a flow chart of an edit routine adopted instead of an edit routine. The style switch 155 shown in FIG. 63 has a plurality of (3 in this example) buttons 155a, 155b, 1 for each genre.
55c, each button 155a, 155b, 155
When c is pressed, a set of a rhythm pattern number and a scan mode number, which match the images of waltz, reggae and shamisen, respectively, is selected.

【0115】図64に示すエディットルーチンでは、先
ず、ステップ64_1において、スタイルスイッチ15
5(図63参照)のいずれかのボタン155a,155
b,155cが押されることによりスタイルが変更され
たか否かが判定される。スタイルが変更されたことが認
識されると、その変更後のスタイルに応じて(ステップ
64_2)、ワルツの場合はPRM_RHYTHM(図
20参照)、PRM_SMODE(図21参照)にそれ
ぞれ‘2’(図6参照)、‘6’(図17参照)が格納
され、レゲエの場合は、PRM_RHYTHM,PRM
_SMODEにそれぞれ‘5’(図9参照)、‘7’
(図18参照)が格納され、三味線の場合はPRM_R
HYTHM,PRM_SMODEにそれぞれ‘1’(図
5参照)、‘8’(図19参照)が格納される。図64
のエディットルーチンの他のステップ64_4〜64_
10は、図54に示すエディットルーチンのステップ5
4_1〜54_7と同様であるため、説明は省略する。
In the edit routine shown in FIG. 64, first, in step 64_1, the style switch 15
Button 155a, 155 of any one of 5 (see FIG. 63)
It is determined whether or not the style has been changed by pressing b or 155c. When it is recognized that the style has been changed (step 64_2), in the case of waltz, PRM_RHYTHM (see FIG. 20) and PRM_SMODE (see FIG. 21) are each set to '2' (see FIG. 6). , (6) (see FIG. 17) are stored, and in the case of reggae, PRM_RHYTHM, PRM
_SMODE is '5' (see FIG. 9) and '7' respectively
(See FIG. 18) is stored, and PRM_R in the case of shamisen
“1” (see FIG. 5) and “8” (see FIG. 19) are stored in HYTHM and PRM_SMODE, respectively. FIG. 64
Other steps 64_4 to 64_ of the edit routine of
10 is step 5 of the edit routine shown in FIG.
Since it is similar to 4_1 to 54_7, description thereof will be omitted.

【0116】このように、本実施形態では、例えばワル
ツのボタン154aを押したときには、ワルツに最もふ
さわしいと一般的に考えられるリズムパターンとスキャ
ンモードが同時に選択されて設定される。したがって演
奏者は、リズムパターンとスキャンモードとの組合せを
いちいち考えることなく、自分の選びたいスタイルをワ
ンタッチで選ぶことができる。
As described above, in this embodiment, when the waltz button 154a is pressed, for example, the rhythm pattern and scan mode generally considered to be most suitable for waltz are simultaneously selected and set. Therefore, the performer can select his / her desired style with one touch without considering the combination of the rhythm pattern and the scan mode one by one.

【0117】なお、上記実施形態ではアルペジオ演奏に
使用する音色に関しては特に触れなかったが、選択され
たスタイルに対応してそのスタイルの演奏に適した音色
を自動的に選択するようにしてもよい。例えば、ワル
ツ、レゲエのスタイルが選択された場合にはワルツ、レ
ゲエの楽曲を演奏する際によく用いられる楽器の音色を
それぞれ選択し、三味線のスタイルが選択された場合に
は三味線の音色を選択するようにしてもよい。尚、上記
各実施形態では、ホールド情報はデータ入力端子17
(図1参照)を経由して入力されるが、パネル15にホ
ールドオン情報とホールドオフ情報とを切換え入力する
スイッチを設けてもよく、あるいはアルペジエータ自体
にホールド情報生成用ペダル、ないしそのペダル接続用
のジャックを備えてもよい。また、上記各実施形態で
は、鍵盤および音源が外部に接続されているが、鍵盤も
しくは音源のうちの一方もしくは双方を内蔵し、あるい
は一体的に構成してもよく、それに加え、さらに外部と
送受信できるようにしてもよい。
Although the tone color used for the arpeggio performance is not particularly mentioned in the above embodiment, the tone color suitable for the performance of the style may be automatically selected corresponding to the selected style. . For example, if the waltz or reggae style is selected, select the tone of the instrument that is often used to play waltz or reggae songs, and if the shamisen style is selected, select the shamisen tone. You may do it. In each of the above embodiments, the hold information is the data input terminal 17
(Refer to FIG. 1), but the panel 15 may be provided with a switch for selectively inputting hold-on information and hold-off information, or the arpeggiator itself may be provided with a pedal for generating hold information, or its pedal connection. May be equipped with a jack. Further, in each of the above-described embodiments, the keyboard and the sound source are connected to the outside, but one or both of the keyboard and the sound source may be built in or integrally formed. You may allow it.

【0118】また、上記各実施形態では、グルーブレー
ト設定用操作子153を1個のみ備え、その1個のグル
ーブレート設定用操作子153で設定したグルーブレー
トPRM_GROOVEによってアルペジオ演奏の各ス
テップのデュレーションとベロシティとの双方を変更し
ているが、それらの双方を変更できる構成になっている
必要はなく、それらのうちの一方のみ変更できても、音
楽的に十分意味のある変更が可能である。あるいは、よ
り微妙な調整を演奏者に委ねるために、その1個のグル
ーブレート設定用操作子153を、デュレーション変更
用とベロシティ変更用とに切換えて操作できるように構
成したり、デュレーション変更用とベロシティ変更用と
に役割が分担された2つの操作子を備えてもよい。
Further, in each of the above embodiments, only one groove rate setting operator 153 is provided, and the duration of each step of the arpeggio performance is adjusted by the groove rate PRM_GROOVE set by the one groove rate setting operator 153. Although both the velocity and the velocity are changed, it is not necessary to have a configuration capable of changing both of them, and even if only one of them can be changed, it is possible to make a meaningful change in music. Alternatively, in order to entrust the performer with more delicate adjustment, the one groove rate setting operator 153 may be configured to be operated by switching between duration change and velocity change. It is also possible to provide two operators whose roles are shared for changing the velocity.

【0119】また、上記各実施形態では、リズムパター
ンテーブルの各ステップに、ステップタイム、デュレー
ション、ベロシティ係数の三者がセットになって記録さ
れているが、ステップタイムのみ、デュレーションの
み、あるいはベロシティのみのいずれかのリズムパター
ンテーブルを持ち、他の二者は固定値を用いるようにし
てもよい。リズムパターンテーブルとして、ステップタ
イムのみのテーブルを持った場合であっても、時間的に
等分された単純なアルペジオ演奏だけでなくさまざまな
リズムのアルペジオ演奏が可能となり、デェレーション
のみのテーブルを持った場合であっても、スタッカート
やテヌートの効果を、アルペジオ演奏の各ステップ毎に
独立して付加できるので、リズムの多彩なニュアンスや
アーティキュレーションを付けることができ、ベロシテ
ィ係数のみのテーブルを持った場合であっても、アルペ
ジオ演奏の各ステップ毎に強弱を付けることができさま
ざまなアクセントのアルペジオ演奏が実現するなど、そ
れぞれ音楽的に意味のあるアルペジオ演奏を実現でき
る。もちろん、上記三者のうちのいずれか二者のリズム
パターンテーブルを持ってもよい。
Further, in each of the above-mentioned embodiments, each of the steps of the rhythm pattern table is recorded as a set of step time, duration, and velocity coefficient. However, only step time, only duration, or only velocity is recorded. It is also possible to have any one of the rhythm pattern tables of, and the other two use fixed values. Even if you have a table with only step times as the rhythm pattern table, you can play not only simple arpeggios that are equally divided in time, but also arpeggios with various rhythms, and you have a table with only the rhythm. Even if you do, the effects of staccato and tenuto can be added independently for each step of the arpeggio performance, so you can add a variety of rhythm nuances and articulations, and have a table with only velocity coefficients. Even in such a case, the strength of each step of the arpeggio performance can be added and the arpeggio performance of various accents can be realized, and each arpeggio performance having a musical meaning can be realized. Of course, the rhythm pattern table of any two of the above three may be held.

【0120】また、リズムパターンテーブルに関し、上
記二者ないし三者のリズムパターンテーブルを持つにあ
たり、それら二者ないし三者のリズムパターンテーブル
をそれぞれ独立して持ち(例えばステップタイムのみの
テーブルとデュレーションのみのテーブルとベロシティ
のみのテーブルとに分けて持ち)、演奏者の好みや、演
奏スタイルに応じてそれらを組合せて用いるようにして
もよい。
Regarding the rhythm pattern table, when the above-mentioned two-way or three-way rhythm pattern table is provided, the two-way or three-way rhythm pattern table is independently provided (for example, a table only for step time and only duration). And a velocity-only table), and they may be used in combination depending on the player's preference and playing style.

【0121】なお、リズムパターンテーブルに記憶する
データの種類としてステップタイム、デュレーション、
ベロシティー係数以外の種類のデータを記憶するように
してもよい。例えば、各ステップ毎に音色指定データを
記憶すれば各ステップ毎に音色を切り換えることがで
き、より一層高度なアルペジオ演奏が可能となる。この
場合、この音色が、本発明にいう楽音の特質として観念
される。さらに、上記各実施形態においては、リズムパ
ターンテーブル、およびスキャンモードテーブルはRO
M14(図1参照)に固定的に記憶されている旨説明し
たが、ROM14に代わり、あるいはROM14ととも
に、RAM13にリズムパターンテーブルないしスキャ
ンモードテーブルを置いてもよい。その場合、外部から
新たなリズムパターンテーブルないしスキャンモードテ
ーブルをロードして、あるいは、パネル15にリズムパ
ターンテーブルないしスキャンモードテーブルを設定で
きるような操作子を配置しておいて演奏者がその操作子
を操作することにより新たなリズムパターンテーブルな
いしスキャンモードテーブルを定義して、自分の好みに
一層適合したアルペジオ演奏を行うことができる。
The types of data stored in the rhythm pattern table include step time, duration,
Data of a type other than the velocity coefficient may be stored. For example, if the tone color designation data is stored for each step, the tone color can be switched for each step, and a more advanced arpeggio performance can be performed. In this case, this timbre is considered as a characteristic of the musical tone referred to in the present invention. Further, in each of the above embodiments, the rhythm pattern table and the scan mode table are RO
Although it has been described that it is fixedly stored in the M14 (see FIG. 1), a rhythm pattern table or a scan mode table may be placed in the RAM 13 instead of the ROM 14 or together with the ROM 14. In this case, a new rhythm pattern table or scan mode table is loaded from the outside, or an operator that can set the rhythm pattern table or scan mode table is arranged on the panel 15 and the performer operates the operator. By operating, you can define a new rhythm pattern table or scan mode table, and perform arpeggio performance more suited to your taste.

【0122】[0122]

【発明の効果】以上説明したように、本発明のアルペジ
エータによれば、押鍵順アルペジオ演奏中の1回のメロ
ディに同一の鍵に対応する楽音を何回も含ませることが
でき複雑な押鍵順アルペジオ演奏を実現することができ
るとともに、任意のタイミングでアルペジオ演奏を停止
させる。
As described above, according to the arpeggiator of the present invention, a musical tone corresponding to the same key can be included many times in one melody during key-pressing order arpeggio performance, and a complicated pressing is possible. A key-order arpeggio performance can be realized, and the arpeggio performance can be stopped at any timing.

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

【図1】本発明のアルペジエータの一実施形態の回路構
成図である。
FIG. 1 is a circuit configuration diagram of an embodiment of an arpeggiator of the present invention.

【図2】パネルの構成を示した図である。FIG. 2 is a diagram showing a configuration of a panel.

【図3】リズムパターンテーブルの基本パターンを示す
図である。
FIG. 3 is a diagram showing a basic pattern of a rhythm pattern table.

【図4】4分音符用のリズムパターンテーブルおよびそ
のステップ数を示した図である。
FIG. 4 is a diagram showing a rhythm pattern table for quarter notes and the number of steps thereof.

【図5】16分音符用のリズムパターンテーブルおよび
そのステップ数を示した図である。
FIG. 5 is a diagram showing a rhythm pattern table for sixteenth notes and the number of steps thereof.

【図6】ワルツ用のリズムパターンテーブルおよびその
ステップ数を示した図である。
FIG. 6 is a diagram showing a rhythm pattern table for waltz and the number of steps thereof.

【図7】シャッフル用のリズムパターンテーブルおよび
そのステップ数を示した図である。
FIG. 7 is a diagram showing a rhythm pattern table for shuffle and the number of steps thereof.

【図8】ディミニッシュ用のリズムパターンテーブルお
よびそのステップ数を示した図である。
FIG. 8 is a diagram showing a rhythm pattern table for diminishing and the number of steps thereof.

【図9】レゲエ用のリズムパターンテーブルおよびその
ステップ数を示した図である。
FIG. 9 is a diagram showing a rhythm pattern table for reggae and the number of steps thereof.

【図10】スキャンモードテーブルの基本パターンを示
す図である。
FIG. 10 is a diagram showing a basic pattern of a scan mode table.

【図11】上昇スキャン用のスキャンモードテーブルお
よびそのステップ数を示した図である。
FIG. 11 is a diagram showing a scan mode table for ascending scan and the number of steps thereof.

【図12】下降スキャン用のスキャンモードテーブルお
よびそのステップを示した図である。
FIG. 12 is a diagram showing a scan mode table for descending scan and its steps.

【図13】上昇下降スキャン用のスキャンモードテーブ
ルおよびそのステップを示した図である。
FIG. 13 is a diagram showing a scan mode table for ascending / descending scanning and its steps.

【図14】ランダムスキャン用のスキャンモードテーブ
ルおよびそのステップを示した図である。
FIG. 14 is a diagram showing a scan mode table for random scan and its steps.

【図15】和音スキャン用のスキャンモードテーブルお
よびそのステップを示した図である。
FIG. 15 is a diagram showing a scan mode table for chord scanning and its steps.

【図16】押鍵順スキャン用のスキャンモードテーブル
およびそのステップを示した図である。
FIG. 16 is a diagram showing a scan mode table for a key-press order scan and its steps.

【図17】ワルツ用のスキャンモードテーブルおよびそ
のステップを示した図である。
FIG. 17 is a diagram showing a scan mode table for waltz and its steps.

【図18】レゲエ用のスキャンモードテーブルおよびそ
のステップを示した図である。
FIG. 18 is a diagram showing a scan mode table for reggae and its steps.

【図19】三味線用のスキャンモードテーブルおよびそ
のステップを示した図である。
FIG. 19 is a diagram showing a scan mode table for shamisen and its steps.

【図20】リズムパターンパラメータを示す図である。FIG. 20 is a diagram showing rhythm pattern parameters.

【図21】スキャンモードパラメータを示す図である。FIG. 21 is a diagram showing scan mode parameters.

【図22】グルーブレートパラメータを示す図である。FIG. 22 is a diagram showing a groove rate parameter.

【図23】ノートバッファを示す図である。FIG. 23 is a diagram showing a note buffer.

【図24】プレイバッファを示す図である。FIG. 24 is a diagram showing a play buffer.

【図25】カレントプレイノートナンババッファを示す
図である。
FIG. 25 is a diagram showing a current play note number buffer.

【図26】ホールドバッファを示す図である。FIG. 26 is a diagram showing a hold buffer.

【図27】オーダバッファを示す図である。FIG. 27 is a diagram showing an order buffer.

【図28】オーダライトカウンタを示す図である。FIG. 28 is a diagram showing an order write counter.

【図29】オーダポジションカウンタを示す図である。FIG. 29 is a diagram showing an order position counter.

【図30】リズムパターンテーブルポジションカウンタ
を示す図である。
FIG. 30 is a diagram showing a rhythm pattern table position counter.

【図31】スキャンモードテーブルポジションカウンタ
を示す図である。
FIG. 31 is a diagram showing a scan mode table position counter.

【図32】クロックカウンタを示す図である。FIG. 32 is a diagram showing a clock counter.

【図33】ネクストクロックバッファを示す図である。FIG. 33 is a diagram showing a next clock buffer.

【図34】ノートオフリザベーションバッファを示す図
である。
FIG. 34 is a diagram showing a note-off reservation buffer.

【図35】エンドフラグを示す図である。FIG. 35 is a diagram showing an end flag.

【図36】ベースノートバッファを示す図である。FIG. 36 is a diagram showing a base note buffer.

【図37】トップノートバッファを示す図である。FIG. 37 is a diagram showing a top note buffer.

【図38】ゼネラルプログラムのフローチャートであ
る。
FIG. 38 is a flowchart of a general program.

【図39】初期化処理ルーチンのフローチャートであ
る。
FIG. 39 is a flowchart of an initialization processing routine.

【図40】リセットスキャナルーチンのフローチャート
である。
FIG. 40 is a flowchart of a reset scanner routine.

【図41】クロック処理ルーチンのフローチャートであ
る。
FIG. 41 is a flowchart of a clock processing routine.

【図42】スキャンノートオンルーチンのフローチャー
トである。
FIG. 42 is a flowchart of a scan note-on routine.

【図43】スキャンアップルーチンのフローチャートで
ある。
FIG. 43 is a flowchart of a scan-up routine.

【図44】スキャンオーダルーチンのフローチャートで
ある。
FIG. 44 is a flowchart of a scan order routine.

【図45】スキャンコードルーチンのプログラムであ
る。
FIG. 45 is a scan code routine program.

【図46】スキャンベースルーチンのプログラムであ
る。
FIG. 46 is a program of a scan base routine.

【図47】スキャンコードウィズアウトベースルーチン
のプログラムである。
FIG. 47 is a program of a scan code without base routine.

【図48】ノートオフ予約ルーチンのプログラムであ
る。
FIG. 48 is a program of a note-off reservation routine.

【図49】ベロシティ生成ルーチンのフローチャートで
ある。
FIG. 49 is a flowchart of a velocity generation routine.

【図50】図49に示すベロシティ生成ルーチンで生成
されるベロシティの説明図である。
50 is an explanatory diagram of velocities generated by the velocity generation routine shown in FIG. 49.

【図51】ネクストクロック更新ルーチンのフローチャ
ートである。
FIG. 51 is a flowchart of a next clock update routine.

【図52】スキャナ更新ルーチンのフローチャートの前
半部分である。
FIG. 52 is the first half of the flowchart of the scanner update routine.

【図53】スキャナ更新ルーチンのフローチャートの後
半部分である。
FIG. 53 is the latter half of the flowchart of the scanner update routine.

【図54】エディットルーチンのフローチャートであ
る。
FIG. 54 is a flowchart of an edit routine.

【図55】ノートオン処理ルーチンのフローチャートで
ある。
FIG. 55 is a flowchart of a note-on processing routine.

【図56】ノートオフ処理ルーチンのフローチャートで
ある。
FIG. 56 is a flowchart of a note-off processing routine.

【図57】デリートオーダルーチンのフローチャートで
ある。
FIG. 57 is a flowchart of a delete order routine.

【図58】パックオーダルーチンのフローチャートであ
る。
FIG. 58 is a flowchart of a pack order routine.

【図59】ホールドオフ処理ルーチンのフローチャート
である。
FIG. 59 is a flowchart of a hold-off processing routine.

【図60】リメークオーダルーチンのフローチャートで
ある。
FIG. 60 is a flowchart of a remake order routine.

【図61】図2のパネルに付加されるベロシティボリウ
ムを示した図である。
FIG. 61 is a view showing a velocity volume added to the panel of FIG. 2.

【図62】図49に示すベロシティ生成ルーチンに代え
て採用されるベロシティ生成ルーチンのフローチャート
である。
62 is a flowchart of a velocity generation routine adopted instead of the velocity generation routine shown in FIG. 49. FIG.

【図63】図2のパネルに付加されるスタイルスイッチ
を示した図である。
FIG. 63 is a view showing a style switch added to the panel of FIG. 2.

【図64】図54に示すエディットルーチンに代えて採
用されるエディットルーチンのフローチャートである。
64 is a flow chart of an edit routine adopted instead of the edit routine shown in FIG. 54.

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

10 CPU 11 アドレスバス 12 データバス 13 RAM 14 ROM 15 パネル 16 クロックタイマ 17 データ入力端子 18 データ出力端子 20 鍵盤 21 ペダル 30 音源 151 リズムパターン設定用操作子 152 スキャンモード設定用操作子 153 グルーブレート設定用操作子 154 ベロシティボリウム 155 スタイルスイッチ 10 CPU 11 address bus 12 data bus 13 RAM 14 ROM 15 panels 16 clock timer 17 Data input terminal 18 Data output terminal 20 keyboards 21 pedals 30 sound sources 151 Rhythm pattern setting control 152 Scan Mode Setting Operator 153 Groove rate setting control 154 Velocity Volume 155 style switch

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−51773(JP,A) 特開 昭57−8596(JP,A) 実開 昭56−145093(JP,U) 特公 昭61−60439(JP,B1) (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-6-51773 (JP, A) JP-A-57-8596 (JP, A) Actual development S56-145093 (JP, U) JP-B-61- 60439 (JP, B1) (58) Fields investigated (Int.Cl. 7 , DB name) G10H 1/00-7/12

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 所定の記憶容量の記憶手段と、 前記記憶手段に、複数の鍵のうちの押鍵された鍵を特定
する押鍵情報を押鍵順に記憶する押鍵情報記憶制御手段
と、 複数の鍵のうちの離鍵された鍵を特定する離鍵情報に基
づいて、前記記憶手段から、該離鍵情報に対応する鍵の
押鍵情報を抹消する押鍵情報抹消手段と、 所定のホールドオン情報を受けて、前記押鍵情報抹消手
段による、前記記憶手段からの押鍵情報の抹消を禁止
し、所定のホールドオフ情報を受けて、前記押鍵情報抹
消手段による、前記記憶手段からの押鍵情報の抹消の禁
止を解除するとともに該押鍵情報抹消手段に、前記記憶
手段から、該ホールドオフ情報を受けた時点で押鍵され
ている鍵の押鍵情報を除く押鍵情報を抹消させる押鍵情
報保持手段と、 前記記憶手段を順次走査し、該走査により検出された押
鍵情報に基づく楽音を表わす演奏情報を生成する演奏情
報生成手段とを備えたことを特徴とするアルペジエー
タ。
1. A storage unit having a predetermined storage capacity, and a key-depression information storage control unit that stores key-depression information that specifies a depressed key of a plurality of keys in the key-depression order in the storage unit. Key-depression information erasing means for erasing the key-depression information of the key corresponding to the key-release information from the storage means based on the key-release information for identifying the released key of the plurality of keys. Upon receipt of hold-on information, the key-depression information erasing means prohibits erasing of the key-depression information from the storage means, and when predetermined hold-off information is received, the key-depression information erasing means causes the storage means to delete the key-depression information from the storage means. Of the key depression information is released, and the key depression information erasing means receives the key depression information excluding the key depression information of the key depressed at the time of receiving the hold-off information from the storage means. The key pressing information holding means for erasing and the storage means are sequentially Arpeggiator that 査, and is characterized in that a performance information generating means for generating performance information representing a tone based on the key depression information detected by the scanning.
【請求項2】 前記ホールドオン情報を受けた状態にお
いて、 前記押鍵情報記憶制御手段により、前記所定の記憶容量
の記憶手段に押鍵された鍵を特定する押鍵情報を押鍵順
に追加記憶し続け、前記所定の記憶容量の記憶手段の全
域に押鍵情報が記憶された状態における、新たな押鍵情
報の、該記憶手段への記憶を禁止する押鍵情報超過記憶
禁止手段を備えたことを特徴とする請求項1記載のアル
ペジエータ。
2. When the hold-on information is received, the key-depression information storage control unit additionally stores key-depression information for specifying a key depressed in the storage unit having the predetermined storage capacity in the key-depression order. Continuing, the key press information excess storage prohibiting means for prohibiting storage of new key press information in the storage means in a state where key press information is stored in the entire area of the storage means of the predetermined storage capacity is provided. The arpeggiator according to claim 1, wherein:
JP24037695A 1995-09-19 1995-09-19 Arpeggiator Expired - Fee Related JP3505292B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24037695A JP3505292B2 (en) 1995-09-19 1995-09-19 Arpeggiator
US08/652,368 US5714705A (en) 1995-09-19 1996-05-23 Arpeggiator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24037695A JP3505292B2 (en) 1995-09-19 1995-09-19 Arpeggiator

Publications (2)

Publication Number Publication Date
JPH0981148A JPH0981148A (en) 1997-03-28
JP3505292B2 true JP3505292B2 (en) 2004-03-08

Family

ID=17058578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24037695A Expired - Fee Related JP3505292B2 (en) 1995-09-19 1995-09-19 Arpeggiator

Country Status (1)

Country Link
JP (1) JP3505292B2 (en)

Also Published As

Publication number Publication date
JPH0981148A (en) 1997-03-28

Similar Documents

Publication Publication Date Title
JP2623809B2 (en) Automatic key press indicating device
JPH079586B2 (en) Automatic musical instrument accompaniment device
JPS6157640B2 (en)
JPH10187157A (en) Automatic performance device
JP3625914B2 (en) Arpeggiator
JPH1039864A (en) Electronic musical instrument and its display device
JP3505292B2 (en) Arpeggiator
JPH06332449A (en) Singing voice reproducing device for electronic musical instrument
JP4318194B2 (en) Automatic accompaniment apparatus and automatic accompaniment method for electronic musical instrument
JP3902207B2 (en) Arpeggiator
JP3625913B2 (en) Arpeggiator
JP2555569B2 (en) Electronic musical instrument
JPH07219545A (en) Electronic musical instrument
JP2640992B2 (en) Pronunciation instruction device and pronunciation instruction method for electronic musical instrument
JP3173704B2 (en) Automatic performance device
JPH0527762A (en) Electronic musical instrument
JP2513014B2 (en) Electronic musical instrument automatic performance device
JPH04247493A (en) Musical factor changing device of electronic musical instrument
JPH0515279B2 (en)
JP2572317B2 (en) Automatic performance device
JP2528722B2 (en) Motif playing device
JP3275341B2 (en) Tone generator
JP2565152B2 (en) Automatic accompaniment device
JP2972364B2 (en) Musical information processing apparatus and musical information processing method
JP2640179B2 (en) Code processing device and code processing method

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031215

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees