Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0664471B2 - Automatic accompaniment device - Google Patents
[go: Go Back, main page]

JPH0664471B2 - Automatic accompaniment device - Google Patents

Automatic accompaniment device

Info

Publication number
JPH0664471B2
JPH0664471B2 JP62333219A JP33321987A JPH0664471B2 JP H0664471 B2 JPH0664471 B2 JP H0664471B2 JP 62333219 A JP62333219 A JP 62333219A JP 33321987 A JP33321987 A JP 33321987A JP H0664471 B2 JPH0664471 B2 JP H0664471B2
Authority
JP
Japan
Prior art keywords
register
key
chord
data
sound
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 - Lifetime
Application number
JP62333219A
Other languages
Japanese (ja)
Other versions
JPH01177088A (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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP62333219A priority Critical patent/JPH0664471B2/en
Priority to US07/291,110 priority patent/US4939974A/en
Publication of JPH01177088A publication Critical patent/JPH01177088A/en
Publication of JPH0664471B2 publication Critical patent/JPH0664471B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、少ない記憶情報量で変化に富んだ自動伴奏
を行うことができる自動伴奏装置に関する。
TECHNICAL FIELD The present invention relates to an automatic accompaniment apparatus capable of performing a wide variety of automatic accompaniments with a small amount of stored information.

「従来の技術」 伴奏用鍵盤の押鍵データから根音およびコード(和音)
を検出し、この検出結果と選択されているリズムパター
ンとに基づいて自動伴奏を行う自動伴奏装置が開発され
ている。
"Conventional technology" Root notes and chords (chords) from the key depression data of the accompaniment keyboard
Has been developed, and an automatic accompaniment apparatus for performing automatic accompaniment based on the detection result and the selected rhythm pattern has been developed.

ところで、従来の自動伴奏装置は、リズムパターンに対
応して単に同一音高でリズムを刻むものや、和音伴奏と
ともに予め記憶した音高情報に基づいて変化のあるベー
ス音演奏を行うもの(特開昭59−140495号)があった。
By the way, a conventional automatic accompaniment apparatus is one that simply engraves a rhythm at the same pitch corresponding to a rhythm pattern, or one that performs a bass tone performance that changes based on the pitch information that is stored in advance together with a chord accompaniment (Patent Document 1) (Sho 59-140495).

「発明が解決しようとする問題点」 しかし、上述した従来装置にあっては以下の欠点があっ
た。すなわち、同一音高で単にリズムを刻むだけのもの
は楽音的な変化に乏しく、また、音高情報を記憶するタ
イプのものは、そのパターン記憶量が大となってしま
う。特に後者にあって、より変化に富んだ音楽的な自動
伴奏を行うためには、ベース音のみならず、和音を構成
する各音についても種々変化させることが望ましいが、
このようにすると音高情報の記憶量が膨大となってしま
うという問題が生じる。
"Problems to be Solved by the Invention" However, the above-described conventional device has the following drawbacks. That is, a musical tone pitch that has only the same pitch has a small change in musical tone, and a musical pitch type memory that has a large amount of pattern memory. Especially in the latter case, in order to perform a more musical automatic accompaniment, it is desirable to change not only the bass sound but also each of the notes that make up the chord.
This causes a problem that the amount of pitch information stored becomes enormous.

この発明は、上述した事情に鑑みてなされたもので、少
ない記憶情報量で、変化に富んだ和音伴奏を行うことが
できる自動伴奏装置を提供することを目的としている。
The present invention has been made in view of the above circumstances, and an object thereof is to provide an automatic accompaniment apparatus capable of performing a variety of chord accompaniment with a small amount of stored information.

「問題点を解決するための手段」 この発明は、クロック信号を発生するクロック発生手段
と、前記クロック信号に基づく各演奏タインミグにおい
ての発音の指示および発音する和音の音程態様を指示す
るパターンデータデータを記憶するパターンデータ記憶
手段と、演奏すべき和音を指定する和音指定手段と、前
記音程態様と和音の種類とに応じて複数音の音高情報を
記憶する音程態様記憶手段と、前記クロック信号に基づ
いて前記パターンデータを順次読み出しこの読みだした
パターンデータによって発音が指示されたとき、指示に
対応する音程態様と前記和音指定手段によって指示され
た和音の種類にしたがって前記音声態様記憶手段から複
数の音高情報を読み出し、該複数の音高情報に基づいて
発音すべき和音を構成する音データ作成手段と、この音
データ作成手段から供給される各音データに基づいて和
音発生を行う楽音発生手段とを具備することを特徴とし
ている。
"Means for Solving Problems" The present invention relates to a clock generating means for generating a clock signal, and pattern data data for instructing a tone generation in each performance tine mig based on the clock signal and a pitch mode of a generated chord. Pattern data storage means, a chord designating means for designating a chord to be played, a pitch mode storage means for storing pitch information of a plurality of notes according to the pitch mode and chord type, and the clock signal. When the pronunciation is instructed by the read pattern data, the plural pattern data are read from the voice mode storage means in accordance with the pitch mode corresponding to the instruction and the type of the chord instructed by the chord designating means. Of the pitch information of each of the plurality of pitch information, and the creation of the sound data that constitutes the chord to be generated based on the plurality of pitch information It is characterized in that it is provided with means and tone generating means for generating a chord based on each sound data supplied from this sound data creating means.

「作用」 以上の構成によれば、音データ作成手段は、上記クロッ
ク信号に基づいてパターンデータを順次読み出し、この
読みだしたパターンデータによって発音が指示されたと
き、指示に対応する音程態様と和音指定手段によって指
示された和音の種類にしたがって音声態様記憶手段から
複数の音高情報を読み出し、該複数の音高情報に基づい
て発音すべき和音を構成する。
[Operation] According to the above configuration, the sound data creating means sequentially reads the pattern data based on the clock signal, and when the read pattern data is instructed to sound, the pitch mode and the chord corresponding to the instruction. According to the chord type designated by the designating means, a plurality of pitch information is read out from the voice mode storage means, and a chord to be generated is constructed based on the plurality of pitch information.

したがって、パターンデータ自体は少ないデータ量で、
しかも変化に富んだ演奏が可能となり、伴奏音のための
データを記憶するメモリの容量を、従来の音高情報を記
憶するタイプのものに比較し大幅に節約することができ
る。
Therefore, the pattern data itself is a small amount of data,
In addition, a variety of performances can be performed, and the capacity of the memory for storing data for accompaniment tones can be greatly saved as compared with the conventional type that stores pitch information.

「実施例」 以下、図面を参照してこの発明の実施例について説明す
る。
[Examples] Examples of the present invention will be described below with reference to the drawings.

(1:実施例の構成) 第1図は、この発明の一実施例の構成を示すブロック図
である。
(1: Configuration of Embodiment) FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

第1図において、符号1は鍵盤ユニットであり、複数の
キーと、各キーのオン/オフ状態を検出するための複数
のキースイッチと、各キースイッチのキーコードをバス
ラインBに供給するインターフェイス回路とから構成さ
れている。ここで、第2図にキーとキーコードとの対応
関係を示す。第2図は、キーコードを10進表示してあ
り、この図から判るように半音毎にキーコードの数値が
1変化するようになっており、C音がキーコード「6
0」となっている。
In FIG. 1, reference numeral 1 is a keyboard unit, a plurality of keys, a plurality of key switches for detecting the on / off state of each key, and an interface for supplying a key code of each key switch to a bus line B. It is composed of a circuit. Here, FIG. 2 shows the correspondence between keys and key codes. Fig. 2 shows the key code in decimal notation. As can be seen from this figure, the key code value changes by 1 for each semitone, and the C 3 note is the key code "6".
It is 0 ”.

2は装置各部を制御するCPU(中央処理装置)、3はCPU
2のプログラムが記憶されたプログラムメモリ、4は各
種レジスタおよびフラグが設定されるワーキングメモリ
である。なお、ワーキングメモリ4内の各レジスタおよ
びフラグについては、後述する。
2 is a CPU (central processing unit) that controls each part of the device, and 3 is a CPU
The program memory 2 in which the program 2 is stored is a working memory 4 in which various registers and flags are set. The registers and flags in the working memory 4 will be described later.

次に、符号5は、リズム音および和音の伴奏音発生の際
に使用されるパターンデータRPDが記憶されたパターン
メモリである。この場合パターンメモリ5には、予めリ
ズム種類(サンバ,スローロック等)およびコードタイ
ムに対応した多数のパターンデータRPDが記憶されてい
る。このパターンデータRPDのフォーマットを第3図に
示す。図示のように、パターンデータは、26バイトのデ
ータにより構成されており、各バイトには相対的なアド
レス「−2」,「−1」,「0」,「1」,……「2
2」,「23」が設定されている。以下に各アドレスのデ
ータについて説明する。
Next, reference numeral 5 is a pattern memory in which pattern data RPD used when generating accompaniment sounds of rhythm sounds and chords is stored. In this case, the pattern memory 5 stores in advance a large number of pattern data RPD corresponding to the rhythm type (samba, slow rock, etc.) and chord time. The format of this pattern data RPD is shown in FIG. As shown in the figure, the pattern data is composed of 26 bytes of data, and each byte has a relative address "-2", "-1", "0", "1", ...
2 ”and“ 23 ”are set. The data at each address will be described below.

アドレス「−2」:このアドレスには、第4図に示すテ
ーブル#0,#1……のいずれかを指定する8ビットのテ
ーブルセレクトデータTBLSELが記憶されている。このテ
ーブル#0,#1……はテーブルメモリ6に記憶されてい
る。
Address "-2": 8-bit table select data TBLSEL designating one of the tables # 0, # 1 ... Shown in FIG. 4 is stored at this address. The tables # 0, # 1 ... Are stored in the table memory 6.

アドレス「−1」:このアドレスには、和音伴奏におい
て本来同時発音すべき和音の構成音を微少時間ずらして
発音する際のずらし時間を指示するディレイタイムデー
タが記憶されている。このデータは、ギターのストロー
ク演奏のように、全体としては各弦がほぼ同時に鳴らさ
れるが実際に弦により微妙に発音タイミングがずれてい
る場合(6弦側が速く1弦側が遅い、あるいはその逆)
を再現するときなどに用いられる。
Address "-1": In this address, delay time data is stored which indicates a shift time when the constituent tones of a chord that should originally be played at the same time as the chord accompaniment are slightly shifted and sounded. This data shows that when the strings are played at the same time as a whole, such as when playing a guitar stroke, the actual timing of the strings is slightly deviated (the 6th string side is fast and the 1st string side is slow, or vice versa).
It is used when reproducing.

アドレス「0」〜「23」:これらの各アドレスには、和
音の音程態様およびキーオン態様を示す発音態様指示デ
ータPDが第0番から第47番まで記憶されている。このよ
うに48の発音態様指示データPD〜PD が記憶されて
いるのは、この実施例において1小節(4拍子)を48分
割し、各分割タイミングにおいて発音制御を行うように
しているからである。この発音態様指示データPDは、16
進表示の(0)(F)で表される4ビットのデータ
であり、各発音タイミングに応じ4ビット単位で順次使
用される。ここで、その内容と指示する発音態様の関係
を第5図に示す。
Addresses "0" to "23": In each of these addresses, the sounding mode instruction data PD indicating the pitch mode and the key-on mode of the chord are stored from 0th to 47th. Thus it is the sound mode instruction data PD 0 -PD 4 7 48 is stored, one measure (4 beats) In this example 48 divided, and to perform the sound control in each division timing Because. This pronunciation mode instruction data PD is 16
It is 4-bit data represented by (0) H (F) H in the binary notation, and is sequentially used in 4-bit units according to each sounding timing. Here, FIG. 5 shows the relationship between the content and the instructed pronunciation mode.

第5図において、「ノーマル」とは当該分割タイミング
において発音を行う通常のキーオン態様であり、「タイ
キーオン」とは当該分割タイミングにおける発音音符
(和音構成音)のいずれかがそれ以前の音符(和音構成
音)とタイ記号によりつながれていた場合(第17図参
照)には、当該音符については新たに発音をし直さず継
続して以前の音を伸ばす態様である。また、「ディレイ
キーオン」とは、前述のディレイタイムデータを用いる
演奏を行う態様である。図の上段横軸の数値は音程態様
番号TEBNOであり、第4図に示す各テーブル内において
設定されている音程態様のいずれかを指示する。ここ
で、テーブル#0においては、TEBNO「0」がコードタ
イプによって決まる通常の和音構成音の音程関係を指示
し、TEBNO「1」が9th(ナインス)の音を含む和音構成
音の音程関係を指示し、TEBNO「2」が通常の和音構成
音の各音を半音下げた音程関係を指示する。また、テー
ブル#1においては、音程態様番号TEBNO「0」が通常
の和音構成音の音程関係を、「1」が通常の和音構成音
の各音を半音下げた音程関係を指示する。このように、
音程態様番号TEBNOの値は、選択されるテーブルの番号
により、その機能が任意に設定される。
In FIG. 5, “Normal” is a normal key-on mode in which sound is generated at the division timing, and “Tie key-on” is a note (chord constituent note) at any of the division timings. When the note is connected to a constituent sound (see FIG. 17) (see FIG. 17), the note is not re-pronounced but the previous note is continuously extended. The "delay key on" is a mode in which a performance is performed using the delay time data described above. The numerical value on the upper horizontal axis of the figure is the pitch mode number TEBNO, and indicates any of the pitch modes set in each table shown in FIG. Here, in Table # 0, TEBNO “0” indicates the pitch relation of the normal chord constituent tones determined by the chord type, and TEBNO “1” indicates the pitch relation of the chord constituent tones including the 9th (nine) note. TEBNO “2” indicates the pitch relationship in which each tone of the normal chord constituent tone is lowered by a semitone. In the table # 1, the pitch mode number TEBNO "0" indicates the pitch relation of the normal chord constituent tones, and the "1" indicates the pitch relation obtained by lowering each tone of the normal chord constituent tones by a semitone. in this way,
The function of the pitch mode number TEBNO is arbitrarily set by the number of the selected table.

また、第4図に示すコードタイプの記号は、汎用のコー
ドタイプ記号を用いており、例えば、Mはメジャー、m
はマイナー,susはサス、Augはオーグメント、dimはディ
ミニッシュ、数字はセブンスあるいはシックスス等を示
している。これらのコードタイプは、1〜Dの16進コー
ドによって指定さるようになっている。chは、発音チャ
ンネルを示しており、この実施例においてはch0〜ch2の
3つのチャンネルによって複数音による自動伴奏を行う
ようにしている。第4図の各発音チャンネルchの欄に記
載されている数値「0」〜「255」(10進表示)はキー
コードである。
The chord type symbol shown in FIG. 4 is a general chord type symbol. For example, M is major and m is m.
Indicates minor, sus indicates suspension, Aug indicates augment, dim indicates diminish, and numbers indicate Seventh or Sixth. These code types are designated by hexadecimal codes 1 to D. ch indicates a tone generation channel, and in this embodiment, three channels ch0 to ch2 are used to perform automatic accompaniment with a plurality of tones. Numerical values “0” to “255” (decimal display) described in the column of each sound generation channel ch in FIG. 4 are key codes.

また、発音態様指示データPDの内容が(1)(C)
の場合は、上述のように音程態様番号TEBNOを指示する
が、(0)ときはキーオフを指示し、また、(F)
のときは何もせず前の状態を保持することを指示する。
なお、発音態様指示データPDの内容の(D)H,(E)
は本実施例では使用していない(第5図参照)。
Further, the content of the pronunciation mode instruction data PD is (1) H (C) H
In the case of, the pitch mode number TEBNO is instructed as described above, but when (0) H, the key-off is instructed, and (F) H
In case of, instruct to keep the previous state without doing anything.
Note that (D) H , (E) H of the contents of the pronunciation mode instruction data PD
Is not used in this embodiment (see FIG. 5).

以上がパターン内の各データの機能であり、第3図に示
すフォーマットに従ったパターンデータがリズム種類お
よびコードタイプに対応して複数記憶されている。ま
た、アドレス「−2」「−1」は、パターンデータのヘ
ッダとなっている。
The above is the function of each data in the pattern, and a plurality of pattern data according to the format shown in FIG. 3 are stored corresponding to the rhythm type and the chord type. The addresses "-2" and "-1" are headers of pattern data.

次に、第1図における7は、テンポクロック発生器であ
り、自動演奏音のテンポの基となる一定周期のテンポク
ロックTPをCPU2へ出力する。このテンポクロックTPによ
ってCPU2に割込みがかかる。この場合、テンポクロック
TPの周期は、CPU2からバスラインBを介して供給されて
テンポデータTDに応じて決まる。
Next, 7 in FIG. 1 is a tempo clock generator, which outputs to the CPU 2 a tempo clock TP having a constant cycle which is the basis of the tempo of the automatic performance sound. CPU2 is interrupted by this tempo clock TP. In this case, the tempo clock
The cycle of TP is supplied from the CPU 2 via the bus line B and is determined according to the tempo data TD.

8はタイマであり、一定周期のパルス信号をCPU2に割り
込み信号として供給する。このタイマ8は、ディレイタ
イムデータ(第3図参照)を用いる演奏において、設定
されたディレイタイムを経時するために用いられる。
Reference numeral 8 is a timer, which supplies a pulse signal of a constant cycle to the CPU 2 as an interrupt signal. The timer 8 is used for keeping the set delay time in the performance using the delay time data (see FIG. 3).

10は、リズム選択スイッチ、リズムスタート/ストップ
スイッチ、音色選択スイッチ、および各種効果選択スイ
ッチ等から構成されているスイッチ群である。12は、ト
ーンジェネレータであり、鍵盤回路1の押鍵/離鍵に従
ってCPU2から発せられるキーオン/キーオフ情報に基づ
いてプレーヤの鍵演奏に対応する楽音を発生するととも
に、パターンデータRPDに基づく伴奏和音を発生する。
また、トーンゼネレータ12は、パーカッション系のリズ
ル音源を有しており、選択されたリズムに対応するリズ
ム音を、テンポクロックTPに従って発生するようになっ
ている。
A switch group 10 is composed of a rhythm selection switch, a rhythm start / stop switch, a tone color selection switch, various effect selection switches, and the like. Reference numeral 12 denotes a tone generator, which generates musical tones corresponding to the key performance of the player based on key-on / key-off information issued from the CPU 2 in accordance with key depression / key release of the keyboard circuit 1 and accompaniment chords based on the pattern data RPD. Occur.
Further, the tone generator 12 has a percussion-type rhythm sound source, and generates a rhythm sound corresponding to the selected rhythm in accordance with the tempo clock TP.

ここで、上述したワーキングメモリ4内の各種レジスタ
およびフラグの主なものについて説明する。
Here, the main ones of the various registers and flags in the working memory 4 described above will be described.

フラグRUN:自動伴奏走行時に“1"、停止時に“0"が書き
込まれる。
Flag RUN: "1" is written when running with automatic accompaniment, and "0" is written when stopped.

レジスタCLK:テンポクロックTPのカウント数が書き込ま
れるレジスタであり、各小節毎に「0」〜「47」の値が
サイクリックに書き込まれる。
Register CLK: This is a register in which the count number of the tempo clock TP is written, and values of “0” to “47” are cyclically written for each bar.

レジスタDL1,DL:チャンネルch1,ch2のディレイタイムを
計時するレジスタであり、第3図に示すディレイタイム
データが書き込まれる。ディレイ演奏時においては、タ
イマ8がクロックを出力する毎に減算され、このレジス
タンDL1,DL2の内容が0となったときに該当するチャン
ネルの発音が許可される。
Registers DL1 and DL: registers for measuring the delay times of the channels ch1 and ch2, in which the delay time data shown in FIG. 3 is written. In the delay performance, the timer 8 subtracts each time the clock is output, and when the contents of the register DL1, DL2 become 0, the sound generation of the corresponding channel is permitted.

キーコードバッファKCBUF:押鍵されたキーのキーコード
が書き込まれるレジスタであり、複数設けられている。
Key code buffer KCBUF: A register in which the key code of the depressed key is written and is provided in plural.

レジスタCHD:和音情報が書き込まれるレジスタであり、
CPU2が伴奏用鍵盤のキーコードからコードタイプと根音
を検出するとコードタイプデータが上位4ビットに、根
音データが下位4ビットに各々書き込まれる。根音デー
タは「0」,「1」,……「11」のデータであり、C
音、C#音、……B音に対応する。コードタイプデータ
は第4図に示すコードタイプに対応したデータであり、
メジャーM、マイナm、セブンス7th等に応じた「1」
〜「13」のデータである。
Register CHD: A register to which chord information is written,
When the CPU 2 detects the chord type and the root note from the key code of the accompaniment keyboard, the chord type data is written in the upper 4 bits and the root note data is written in the lower 4 bits. The root note data is the data of "0", "1", ... "11", and C
Sound, C # sound, ... Corresponds to B sound. The code type data is data corresponding to the code type shown in FIG. 4,
"1" according to Major M, Minor m, Seventh 7th, etc.
~ It is the data of "13".

レジスタTCHD:上記和音情報が一時記憶されるレジスタ
である。
Register TCHD: A register in which the above chord information is temporarily stored.

レジスタROOT:上記根音データが一時記憶されるレジス
タである。
Register ROOT: A register in which the root note data is temporarily stored.

レジスタTYPE:コードタイプデータが記憶されるレジス
タである。
Register TYPE: A register that stores code type data.

レジスタCHK:CLK.MOD.12の演奏値が記憶されるレジスタ
である。ここで、CLK.MOD.12とは、レジスタCLKの内容
を12で割った商の余りをいう。このCLK.MOD.12は、一拍
内のタイミングを表現する。
Register CHK: This is a register that stores the performance value of CLK.MOD.12. Here, CLK.MOD.12 is the remainder of the quotient obtained by dividing the contents of the register CLK by 12. This CLK.MOD.12 expresses the timing within one beat.

レジスタTBLSEL.R:テーブルセレクトデータ(第3図参
照)TBLSELが書き込まれるレジスタである。
Register TBLSEL.R: A register into which table select data (see FIG. 3) TBLSEL is written.

レジスタDLYTM:ディレイタイムデータ(第3図参照)が
書き込まれるレジスタである。
Register DLYTM: A register into which delay time data (see FIG. 3) is written.

アドレスポインタPNT:第3図に示すパターンフォーマッ
トのアドレスを示すポインタである。
Address pointer PNT: A pointer indicating an address in the pattern format shown in FIG.

レジスタDTおよびNDT:各々発音態様指示データPDが書き
込まれるレジスタであり、レジスタDTにはその時点の発
音態様指示データPDnが書き込まれ、レジスタンNDTには
次のタイミングの発音態様指示データPDn が書き込
まれる。
Registers DT and NDT: Each is a register into which the tone generation mode instruction data PD is written, the tone generation mode instruction data PDn at that time is written to the register DT, and the tone generation mode instruction data PDn + 1 at the next timing is written to the register NDT. Written.

レジスタKEY0〜2:トーンジェネレータ12内の発音チ
ャンネルch0〜ch2に対応して設けられているキーコード
バッファである。このレジスタKEY〜KEYに書き込ま
れるキーコードによって発音チャンネルch0〜ch2が発音
する音の音高が決定される。
Register KEY 0 to 2: a key code buffers are provided corresponding to the sound channel ch0~ch2 tone generator 12. This register KEY 0 ~KEY sound channel ch0~ch2 by the key code to be written in 2 pitch of drum sounds is determined.

レジスタOKEY0〜2:レジスタKEY0〜2の前回の値が
記憶されるレジスタである。
Registers OKEY 0 to 2 : Registers storing the previous values of the registers KEY 0 to 2 .

フラグMODE:“0"のときはチャンネルchi(i=1〜2
に新たにキーコードを書き込んでキーオンさせる通常の
キーオンモードを指示する。また、“1"のときは、すで
に発音状態にある発音チャンネルに対しキーコードのみ
をすり替える発音処理(この処理の詳細は後述)を指示
する。
When flag MODE: "0", channel chi ( i = 1 to 2 )
Instruct the normal key-on mode in which a new key code is newly written in and the key is turned on. When it is "1", a sounding process for switching only the key code to a sounding channel that is already in the sounding state (details of this process are described later) is instructed.

レジスタRTKEY:レジスタROOT内の根音データの音域を変
換したキーコード書き込まれるレジスタである。
Register RTKEY: A register to which a key code in which the range of the root note data in the register ROOT is converted is written.

以上がワーキングメモリ4内に設けられている主なレジ
スタ、フラグ等である。
The above are the main registers and flags provided in the working memory 4.

(2:実施例の動作) 次に、上述した構成によるこの実施例の動作について説
明する。
(2: Operation of Embodiment) Next, the operation of this embodiment having the above-described configuration will be described.

この実施例の動作は、基本的にはリズムに応じて和音
(3音)を刻む自動伴奏である。また、この実施例にお
いては、キーオン態様により発音処理が異なるため、以
下に各キーオン態様毎に説明を行う。
The operation of this embodiment is basically an automatic accompaniment to chord a chord (three notes) according to the rhythm. Further, in this embodiment, since the sound generation processing differs depending on the key-on mode, each key-on mode will be described below.

A:ノーマル メインルーチン“MAIN" 第6図は、この実施例のメインルーチンを示すフローチ
ャートである。まず、電源が投入されると、イニシャル
処理としてワーキングメモリ4内の各動レジスタ、フラ
グ(KLBUF、RUN、DL1、DL2等)がクリアされ、その後に
おいてステップP2以降の処理に移る。
A: Normal Main Routine "MAIN" FIG. 6 is a flow chart showing the main routine of this embodiment. First, when the power is turned on, each moving register and flags (KLBUF, RUN, DL1, DL2, etc.) in the working memory 4 are cleared as an initial process, and then the process proceeds to step P2 and thereafter.

ステップSP2においては、スイッチ群10内のスタートス
イッチにオンイベントがあったかどうかが判断される。
ここで、イベントとはスイッチやキーの状態に変化があ
ったことをいい、オフからオンへ変化するオンイベント
と、オンからオフへ変化するオフイベントとがある。ス
テップSP2において、スタートスイッチのオンイベント
が検出されると、ステップSP3においてフラグRUNの値を
反転する。このステップSP2,SP3の処理により、スター
トスイッチが押される毎にフラグRUNの値が反転する。
次に、ステップSP4において、フラグRUNが“1"か否かが
判定され、「NO」であれば、自動伴奏走行の停止指示と
なるため、ステップSP5に移って、トーンジェネレータ1
2のチャンネルch0〜ch2をオフするとともに、リズム音
(パーカッション類まの発生も全てオフする。そして、
ステップSP4において「YES」と判定された場合は、自動
伴奏走行の開始が指示された場合であるから、ステップ
SP6に移り、レジスタCLK,DL1,DL2をクリアして自動伴奏
の開始に備える。ステップSP5,SP6の処理の後は、ステ
ップSP7に移りリズム選択が変更されたか否かが判断さ
れる。一方、ステップSP2の判定が「NO」の場合、すな
わち、スタートスイッチがオンもしくはオフのままであ
る場合は、ステップSP3〜SP5の処理を行わず、ステップ
SP7に至る。ステップSP7の判定が「YES」のときは、変
更されたリズム種類を示すデータに変更し(ステップSP
8)、ステップSP9でフラグRUNが“1"かどうかが判定さ
れる。この判定が、「YES」のときは、自動伴奏走行中
にリズム種類が切換られた場合であるから、ステップSP
10において、それ以前に選択されていたリズム種類によ
る伴奏の発音を停止し、新たに選択されたリズムによる
伴奏に備え、その後にステップSP116においてキーイベ
ントの有無の判定を行う。一方、ステップSP9の判定
が、「NO」の場合は、以前から継続して自動伴奏が行わ
れていない場合か、自動伴奏を停止すべくステップSP3
においてフラグRUNをクリアした場合である。したがっ
て、すでにトーンジェネレータ12内のチャンネルch0〜c
h2の発音は停止されているから、ステップSP10の処理を
行わず、直ちにステップSP11の判定を行う。ステップSP
11の判定は、CPU2が鍵盤回路1から供給されるキーコー
ドの変化をみることよって行われる。キーイベントがな
い場合は、ステップSP12に移り、スイッチ群10内の他の
スイッチの操作に応じた音色や音量の設定、変更等を行
い、再び、ステップSP2に戻って、上記処理を繰り返し
行う。
In step SP2, it is determined whether or not the start switch in the switch group 10 has an on event.
Here, an event means that the state of a switch or a key has changed, and there are an on event that changes from off to on and an off event that changes from on to off. When the on event of the start switch is detected in step SP2, the value of the flag RUN is inverted in step SP3. By the processing of steps SP2 and SP3, the value of the flag RUN is inverted every time the start switch is pressed.
Next, in step SP4, it is determined whether or not the flag RUN is "1", and if "NO", it is an instruction to stop the automatic accompaniment running. Therefore, the process proceeds to step SP5 and the tone generator 1
Turn off channel 2 ch0 to ch2, and turn off all rhythm sounds (percussion, etc ..
If "YES" is determined in step SP4, it means that the start of automatic accompaniment driving is instructed.
Move to SP6 and clear the registers CLK, DL1 and DL2 to prepare for the start of automatic accompaniment. After the processing of steps SP5 and SP6, the process moves to step SP7 and it is determined whether or not the rhythm selection is changed. On the other hand, if the determination in step SP2 is "NO", that is, if the start switch remains on or off, the process of steps SP3 to SP5 is not performed, and
Reach SP7. When the determination in step SP7 is "YES", the data is changed to data indicating the changed rhythm type (step SP
8) In step SP9, it is determined whether the flag RUN is "1". If this determination is “YES”, it means that the rhythm type has been switched during the automatic accompaniment running.
At 10, the pronunciation of the accompaniment by the previously selected rhythm type is stopped, and the accompaniment by the newly selected rhythm is prepared, and then, at step SP116, the presence or absence of a key event is determined. On the other hand, if the determination in step SP9 is "NO", it means that the automatic accompaniment has not been performed continuously from before, or the automatic accompaniment should be stopped in step SP3.
This is the case when the flag RUN is cleared in. Therefore, the channels ch0 to c already in the tone generator 12 are
Since the pronunciation of h2 is stopped, the process of step SP10 is not performed, and the determination of step SP11 is performed immediately. Step SP
The determination of 11 is performed by the CPU 2 observing the change in the key code supplied from the keyboard circuit 1. If there is no key event, the process proceeds to step SP12, the tone color and volume are set and changed according to the operation of other switches in the switch group 10, the process returns to step SP2 again, and the above processes are repeated.

一方、キーイベントがあった場合は、サブルーチン“KE
Y・EVT"の処理に移る。
On the other hand, if there is a key event, the subroutine "KE
Move to "Y ・ EVT" processing.

サブルーチン“KEY・EVT" まず、ステップSPa1において、鍵盤回路1から発せられ
るキーコードを、キーコードバッファKCBUFに書き込
む。キーコードが複数発せられた場合は、所定の割り当
て処理にしたがって各キーコードバッファKCBUFに割り
当てる。そして、ステップSPa2に移り、イベントのあっ
たキーの発音処理を行う。この発音処理は、トーンジェ
ネレータ12のチャンネルch0〜ch2とは別の発音チャンネ
ルにより行われる。すなわち、この発音はメロディ演奏
中の和音演奏とは別の押鍵に応じた直接的な発音処理で
ある。次に、ステップSPa3においては、キーコードバッ
ファKCBUF内のキーコードに基づきコードタイプおよび
根音を検出し、これらをレジスタTCHDに書き込む。そし
て、ステップSPa4においてCLK.MOD.12の演奏、すなわ
ち、レジスタCLKの内容を12で除して余りを求める演算
を行って、演算結果をレジスタCHKに書き込む。この演
算の結果は、前述のように1拍内におけるタイミングを
示す。ここで、レジスタCLKの内容は、自動伴奏スター
ト開始時にはリセットされて「0」であるが、テンポク
ロック発生器7からテンポクロックTPが発生される毎に
サブルーチンCLK・ERQ(第12図参照)の処理により1づ
つインクリメントされ、小節内のタイミング(「0」〜
「47」)を示す値となっている。ステップSPa4の処理が
終わると、ステップSPa5に移りレジスタCHKの内容が1
〜3か否かが判断される。この判断は、キーイベントが
あったタイミングが、拍の最初から1/4のタイミング
以内であるか否かの判断である。この判定が「YES」の
場合は、レジスタCHDにレジスタTCHD内のデータが書き
込まれる。このレジスタTCHD書き込まれたデータ(根音
データ+コードタイプデータ)は、以下の発音処理に用
いられる。一方、ステップSPa5の判定が「NO」の場合
は、メインルーチン“MAIN"に戻り、次の拍の先頭タイ
ミングにおいてレジスタCHDに書き込まれる(第12図ス
テップSPd4参照)。すなわち、キーイベントが拍の先頭
部分で生じた場合は、直ちにその変更された和音の根音
データ,コードタイプデータをレジスタCHDに書き込ん
で自動伴奏の発音処理に用いるが、キーイベントが拍の
先頭部分以外で生じた場合は、次の拍の先頭タイミング
まで待ってから変更された和音の根音データ,コードタ
イプデータをレジスタCHDに書き込む。これは、拍の途
中で自動伴奏の和音が変化すると音楽的に不自然となる
ので、それを回避するためである。
Subroutine “KEY · EVT” First, in step SPa1, the key code issued from the keyboard circuit 1 is written in the key code buffer KCBUF. When a plurality of key codes are issued, they are assigned to each key code buffer KCBUF according to a predetermined assignment process. Then, the process proceeds to step SPa2, and the sounding process of the key having the event is performed. This tone generation processing is performed by a tone generation channel different from the channels ch0 to ch2 of the tone generator 12. That is, this sounding is a direct sounding process corresponding to the key depression different from the chord performance during the melody performance. Next, in step SPa3, the chord type and root note are detected based on the key code in the key code buffer KCBUF, and these are written in the register TCHD. Then, in step SPa4, the performance of CLK.MOD.12, that is, the operation of dividing the contents of the register CLK by 12 to obtain the remainder is performed, and the operation result is written in the register CHK. The result of this calculation indicates the timing within one beat as described above. Here, the content of the register CLK is reset to “0” at the start of the automatic accompaniment start, but every time the tempo clock generator 7 generates the tempo clock TP, the contents of the subroutine CLK · ERQ (see FIG. 12) are changed. It is incremented by 1 by the processing, and the timing (“0”-
"47"). When the processing of step SPa4 is completed, the processing moves to step SPa5 and the content of the register CHK becomes 1
It is judged whether or not it is ~ 3. This determination is whether or not the timing of the key event is within 1/4 of the timing of the beginning of the beat. If this determination is “YES”, the data in the register TCHD is written in the register CHD. The data (root note data + chord type data) written in this register TCHD is used for the following sound generation processing. On the other hand, if the determination in step SPa5 is "NO", the process returns to the main routine "MAIN" and is written in the register CHD at the start timing of the next beat (see step SPd4 in FIG. 12). That is, when a key event occurs at the beginning of a beat, the changed root note data and chord type data of the chord are immediately written to the register CHD and used for the automatic accompaniment pronunciation process. If it occurs in a portion other than the portion, the root note data and chord type data of the changed chord are written in the register CHD after waiting until the beginning timing of the next beat. This is to avoid the fact that if the chord of the automatic accompaniment changes in the middle of a beat, it becomes unnatural musically.

ステップSPa6の処理が終わると、レジスタCHD内の根音
データおよびコードタイプデータをレジスタROOTおよび
レジスタTYPEに各々書き込み(ステップSPa7、SPa8参
照)、“サブルーチンPAT・CHG"の処理に移る。
When the processing of step SPa6 is completed, the root note data and the chord type data in the register CHD are written in the register ROOT and the register TYPE, respectively (see steps SPa7 and SPa8), and the processing of the "subroutine PAT.CHG" is carried out.

“サブルーチPAT・CHG" この処理は、キーイベントがあった場合において、それ
以前に行われていた自動伴奏と、新たなキーイベントに
基づく自動伴奏との整合をとるための処理である。
"Subroutine PAT / CHG" This processing is, in the case where there is a key event, processing for matching the automatic accompaniment performed before that with the automatic accompaniment based on the new key event.

まず、ステップSPb1において、選択されているリズム種
類と、レジスタTYPEの内容に基づいて次に演奏すべきパ
ターンデータRPDを読出し、レジスタPATに書き込む。そ
して、ステップSPb2においては、読出したパターンデー
タRPDのアドレス「−2」にあるテーブルセレクトデー
タTBLSELおよびアドレス「−1」にあるディレイタイム
データ(第3図参照)を、各々レジスタTBLSEL.Rおよび
レジスタDLYTMに書き込む。次に、ポインタPNTにレジス
タCLKの値、すなわち、その時点におけるクロックのカ
ウント値を書き込み(ステップSPb3)、NPMT.MOD.2の演
算値が「0」か否かが判断される(ステップSPb4)。こ
の演算は、その時点のクロックカウント値(CLKの値)
が偶数か奇数かを調べる演算であり、「0」となった場
合が偶数である。そして、偶数の場合は、ステップSPb5
に進み、パターンデータRPDのアドレス「PNT/2」の下
位4ビットにある発音態様指示データPDをレジスタDTに
書き込む。また、ステップンSPb4における演算が奇数の
場合は、ステップSPb6に進み、パターンデータRPDのア
ドレス((PNT−1)/2」の上位4ビットにある発音
態様指示データPDをレジスタDTに書き込む。上述したス
テップSPb4〜SPb6の処理は、クロックカウント値と発音
態様指示データPDの番号とを合致させる処理である。例
えば、ポインタPNTに書き込まれるクロックカウント値
が「1」のときは、アドレス「0」の上位4ビットにあ
る発音態様指示データPDが選択され、また、クロック
カウント値が「46」のときはアドレス23の下位4ビット
にある発音態様指示データPD が選択される(第3図
参照)。上記処理において、クロックカウント値に対応
した発音態様指示データPDがレジスタDTに書き込まれる
と、ステップSPb7に移りレジスタDTの内容が(F)
否か、すなわち、「何もしない」を指示するものである
かどうかが判断される。この判断が「YES」の場合は、
ポインタPNTの値を減算し、ステップSPb9を介して再び
ステップSPb4以降の処理を行う。この処理はレジスタン
DTの内容が(F)以外のものとなるまで続けられる。
そして、(F)以外のデータが検出されると、ステッ
プSPb11に移りレジスタDTの内容が「0」かどうか、す
なわち、キーオフを指示するデータであるかどうかを判
断する。この判定が「YES」の場合は、レジスタKEY
0〜2の内容が「0」であればメインルーチン“MAIN"
(第6図参照)へリターンし、「0」でなければトーン
ジェネレータ12のチャンネルch0〜2を全てキーオフす
るとともに(ステップSPb16,SPb17)、レジスタKEY
0〜2をクリアした後にリターンする。
First, in step SPb1, the pattern data RPD to be played next is read based on the selected rhythm type and the contents of the register TYPE, and written in the register PAT. Then, in step SPb2, the table select data TBLSEL at the address "-2" and the delay time data (see FIG. 3) at the address "-1" of the read pattern data RPD are respectively registered in the register TBLSEL.R and the register TBLSEL.R. Write to DLYTM. Next, the value of the register CLK, that is, the count value of the clock at that time is written in the pointer PNT (step SPb3), and it is determined whether the calculated value of NPMT.MOD.2 is "0" (step SPb4). . This calculation is the clock count value (CLK value) at that point.
Is an operation for checking whether it is an even number or an odd number, and when it is “0”, it is an even number. If it is an even number, step SPb5
Then, the tone generation mode instruction data PD in the lower 4 bits of the address "PNT / 2" of the pattern data RPD is written in the register DT. If the operation in step SPb4 is odd, the process proceeds to step SPb6, and the tone generation mode instruction data PD in the upper 4 bits of the address ((PNT-1) / 2 "of the pattern data RPD is written in the register DT. The processing of the steps SPb4 to SPb6 performed is processing for matching the clock count value with the number of the sound generation mode instruction data PD. For example, when the clock count value written in the pointer PNT is "1", the address "0" is set. Of the sound generation mode instruction data PD 1 in the upper 4 bits of the address 23 is selected, and when the clock count value is “46”, the sound generation mode instruction data PD 4 6 in the lower 4 bits of the address 23 is selected (the third value). In the above process, when the tone generation mode instruction data PD corresponding to the clock count value is written in the register DT, the process proceeds to step SPb7 and the content of the register DT is (F ) It is determined whether or not it is H , that is, whether or not it is an instruction to “do nothing.” If this determination is “YES”,
The value of the pointer PNT is subtracted, and the processing after step SPb4 is performed again through step SPb9. This process is a register
It continues until the content of DT becomes something other than (F) H.
Then, when data other than (F) H is detected, the process proceeds to step SPb11, and it is determined whether or not the content of the register DT is "0", that is, whether or not the data indicates key-off. If this judgment is "YES", register KEY
If the content of 0-2 is "0", the main routine "MAIN"
Return to (see FIG. 6), and if not "0", key off all channels 0 to 2 of tone generator 12 (steps SPb16, SPb17) and register KEY
Return after clearing 0-2 .

ここで、上述したステップSPb4〜SPb11およびステップS
Pb15〜SP17の一連の処理の意味について説明する。
Here, the above-mentioned steps SPb4 to SPb11 and step S
The meaning of the series of processing of Pb15 to SP17 will be described.

いま、第9図(イ)に示すように、第3拍目の先頭タイ
ミングにおいて和音Cメジャから和音Fメジャへの変更
があったとする。この変更によって新たに読出された和
音メジャに対応するパターンデータRPDが譜面上で第9
図(ロ)に示されるものであったとする。この譜面を発
音態様指示データにすると例えば第10図に示すようにな
る。ここで、第3拍目の先頭タイミングにおけるレジス
タCLKの値は「24」であるから、ステップSPb3において
ポインタPNTに書き込まれる値は「24」となる。そし
て、ステップSPb4→SPb5→SPb7の処理により、ステップ
SPb7においては発音態様指示データPD の値が(F)
か否かが判断される。この場合は、(F)であるか
ら判定は「YES」となる。ところで、(F)の意味は
「何もしない」であるから、それ以前にキーオンが指示
されていればその発音を継続し、キーオフが指示されて
いれば消音状態を維持しなければならない。したがっ
て、あるタイミングにおける発音態様指示データPDが
(F)である場合には、新たにどのような発音制御を
すべきか不明である。このため、それ以前のタイミング
の発音態様指示データであって(F)以外のものをサ
ーチする必要がある。ステップSPb4〜SPb10の処理は、
このサーチを行う処理である。さて、上記例にあって
は、発音態様指示データPD が(F)であるから、
1つ前の発音態様指示データPD を調べると、(0)
なっており、クロックカウント値「24」においては消
音を維持しなければならないことが判る。この消音の判
断は、ステップSPb11において「YES」となった場合に対
応する。
Now, assume that the chord C major is changed to the chord F major at the start timing of the third beat, as shown in FIG. Due to this change, the pattern data RPD corresponding to the newly read chord measure is displayed on the musical score in the 9th position.
It is assumed that it is as shown in FIG. When this musical score is used as the pronunciation mode instruction data, it becomes as shown in FIG. 10, for example. Here, since the value of the register CLK at the leading timing of the third beat is "24", the value written in the pointer PNT in step SPb3 is "24". Then, by the processing of step SPb4 → SPb5 → SPb7, step
Value pronunciation mode instruction data PD 2 4 In SPb7 is (F)
It is determined whether it is H or not. In this case, since it is (F) H , the determination is “YES”. By the way, since the meaning of (F) H is "do nothing", if the key-on is instructed before that, the sound generation is continued, and if the key-off is instructed, the mute state must be maintained. Therefore, when the tone generation mode instruction data PD at a certain timing is (F) H, it is unknown what tone control should be newly performed. For this reason, it is necessary to search for the pronunciation mode instruction data at timings before that other than (F) H. The processing of steps SPb4 to SPb10 is
This is the process of performing this search. Now, in the above example, since the sound mode instruction data PD 2 4 is (F) H,
Examining the previous sound mode instruction data PD 2 3, (0)
Since it is H, it is understood that the mute must be maintained at the clock count value "24". This mute determination corresponds to the case where “YES” is determined in step SPb11.

ところで、キーイベントがある前の和音Cメジャの伴奏
時のパターンデータRPDが譜面上では第9図(ハ)のよ
うに表されるとする。この場合にあっては、同図に示す
ようにクロックカウント値「23」で消音が指示されてい
るから、この時点におけるレジスタKEY0〜2の内容
は、消音指示のためにすべて「0」となっている。すな
わち、クロックカウント値「24」における発音態様が、
変更前(同図(ハ))と変更後(同図(ロ))とで同じ
である。このような場合には、ステップSPb15の判定が
「YES」となり、発音制御処理は行わずにそのままリタ
ーンする。
By the way, it is assumed that the pattern data RPD at the time of accompaniment of the chord C major before the key event is represented as shown in FIG. In this case, since the mute is instructed by the clock count value "23" as shown in the figure, the contents of the registers KEY 0 to 2 at this point are all "0" for the mute instruction. Has become. That is, the sound mode of the clock count value “24” is
It is the same before the change ((c) in the figure) and after the change ((b) in the figure). In such a case, the determination in step SPb15 is "YES", and the sound generation control process is not performed and the process directly returns.

一方、キーイベントがある前の和音Cメジャの伴奏時の
パターンデータRPDが譜面上で第9図(ニ)ように表さ
れるとする。この場合にあっては、同図に示すように、
クロックカウント値「23」では2拍目に発音した音を継
続している必要がある。したがって、レジスタKEY
0〜2には2拍目の発音に対応するキーコード(付点4
分音符のキーコード)が各々書き込まれている。しか
し、和音変更後のクロックカンウント値「24」(3拍
目)にあっては消音の必要がある(同図(ロ)参照)。
そこで、このような場合にあっては、ステップSPb16に
進んでトーンジェネレータ12の発音チャンネルch0〜2
をキーオフして消音させ、さらに、レジスタKEY0〜2
をクリアしてからリターンする(ステップSPb17)。
On the other hand, it is assumed that the pattern data RPD at the time of accompaniment of the chord C major before the key event is represented as shown in FIG. In this case, as shown in the figure,
With the clock count value "23", it is necessary to continue the sound pronounced on the second beat. Therefore, register KEY
0 to 2 is the key code (dot 4
Each key code of a quarter note is written. However, it is necessary to mute the clock count value "24" (third beat) after changing the chord (see (b) in the figure).
Therefore, in such a case, the process proceeds to step SPb16 and the tone generation channels ch0 to ch2 of the tone generator 12 are processed.
Key to turn off the sound, and register KEY 0-2
After clearing, return (step SPb17).

以上が、ステップSPb4〜SPb11およびステップSPb15〜SP
b17の処理の意味である。
The above is steps SPb4 to SPb11 and steps SPb15 to SP.
It means the processing of b17.

上記ステップSPb11〜SPb17の処理は、変更後の当該タイ
ンミングにおいて消音が指示された場合の処理であった
が、逆に、発音が指示される場合もある。この場合は、
ステップSPb11〜SPb14の処理を行う。この処理を以下に
説明する。
The processing of steps SPb11 to SPb17 is the processing when the mute is instructed in the changed timing, but conversely, the sound may be instructed. in this case,
The processing of steps SPb11 to SPb14 is performed. This process will be described below.

変更後のパターンデータにおける当該タイミングの発音
態様指示データPDが(F)、(0)以外のとき、お
よび、当該タイミングから順次さかのぼって検出された
発音態様指示データPDが(0)以外のときは、変更後
において発音が指示される場合である。この場合にはス
テップSPb11の判定が「NO」となるから、ステップSPb12
の判定を行う。この判定は前述のステップSPb15の判定
と同様の判定であり、「YES」の場合は、変更前のパタ
ーンデータにより当該タイミングにおい消音されてい
る。また、「NO」の場合には変更前のパターンデータに
より当該タイミングで発音がなされている。そして、ス
テップSPb12の判定が「YES」のときはフラグMODEに“0"
が書き込まれ、「NO」のときはフラグMODEに“1"が書き
込まれる(ステップSPb13,14)。そして、この処理の後
にサブルーチン“PAT・KEY"の処理に移る。発音処理
は、このサブルーチンにおいて行われる。
When the tone generation mode instruction data PD at the relevant timing in the changed pattern data is other than (F) H and (0) H , and the tone generation mode instruction data PD detected by tracing back from the relevant timing is other than (0) H. In this case, the pronunciation is instructed after the change. In this case, since the determination in step SPb11 is "NO", step SPb12
Is determined. This determination is the same as the determination of step SPb15 described above, and in the case of "YES", the pattern data before change is muted at that timing. Further, in the case of "NO", the sound is produced at the timing according to the pattern data before the change. When the determination in step SPb12 is "YES", the flag MODE is set to "0".
Is written, and if "NO", "1" is written in the flag MODE (steps SPb13, 14). After this process, the process of the subroutine "PAT / KEY" is started. The tone generation process is performed in this subroutine.

サブルーチン“PAT・KEY(ノーマル)” このサブルーチンは、トーンジェネレータ12の発音チャ
ンネルch0〜2を制御するためのサブルーチンである。
但し、第5図に示すキーオン態様が「ノーマル」、「タ
イキーオン」、「ディレイキーオン」の各場合において
各々処理が異なるため、ここでは「ノーマル」の場合に
ついて説明する。
Subroutine "PAT KEY (normal)" This subroutine is a subroutine for controlling the tone generation channels ch0 to ch2 of the tone generator 12.
However, the processing is different in each of the cases where the key-on mode shown in FIG. 5 is "normal", "tie key-on", and "delay key-on". Therefore, the case of "normal" will be described here.

まず、第11図に示すステップSPc1において、(DT−
1).MOD.4の演算を行い、演算結果をレジスタTBLNO.R
に書き込む。この演算は、発音態様指示データPDの値を
音程態様番号TBLNOに変換する演算である(第5図参
照)。次に、ステップSPc2においては、発音態様指示デ
ータPDの値をキーオン態様番号に変換する演算、すなわ
ち、INT{(DT−1)/4}を行い、その演算結果をレ
ジスタKONTPに書き込む。ステップSPc3においては、レ
ジスタOKEYiにレジスタKEYi(i=0〜2)の値を書き
込む。ステップSPc3の処理は、この時点でチャンネルch
0〜2において発生されている前回のキーコードを、同
一番号のレジスタOKEYに書き込む処理である。次に、ス
テップSPc4に移り、図示の演算によって根音の音域をG
〜F#に変更し、変更後の根音をレジスタRTKEYに
書き込む処理を行う。この処理例を示す。今、レジスタ
ROOT内の根音データがC音を示す「0」の場合は、(RO
OT+5).MOD.12の演算を行うと「5」となり、これに
「55」を加算すると「60」となる。キーコード「60」は
第2図に示すように、C音のキーコードである。
First, in step SPc1 shown in FIG. 11, (DT-
1) MOD.4 operation is performed and the operation result is registered in the register TBLNO.R.
Write in. This calculation is a calculation for converting the value of the tone generation mode instruction data PD into the pitch mode number TBLNO (see FIG. 5). Next, in step SPc2, an operation for converting the value of the tone generation mode instruction data PD into a key-on mode number, that is, INT {(DT-1) / 4} is performed, and the calculation result is written in the register KONTP. At step SPc3, the value of the register KEYi (i = 0 to 2) is written to the register OKEYi. At this point, the processing of step SPc3 is performed on the channel ch.
This is a process of writing the previous key code generated in 0 to 2 into the register OKEY having the same number. Next, in step SPc4, the range of the root note is set to G by the calculation shown.
3 Change in to F # 3, a process is executed to write the root note of the changed in the register RTKEY. An example of this processing is shown. Register now
If the root note data in ROOT is “0” indicating C note, (RO
OT + 5) .MOD.12 is calculated as “5”, and when “55” is added to this, it becomes “60”. Key code "60" as shown in Figure 2, a key code of the C 3 sounds.

次に、ステップSPc5においては、レジスタTBLSEL.R(ス
テップSPb2でセット済み)内のセレクト番号に一致する
テーブルを読出し、このテーブルにおいてレジスタTBLN
O.R内の音程態様番号TBLNOに対応するデータを読出す。
そして、この読楕したデータの各チャンネルch0〜2に
対応する数値をレジスタRTKEYの値にそれぞれ加え、こ
の加算結果をレジスタKEY0〜2に各々書き込む。今、
レジスタRTKEYの内容がキーコード「60」であり、か
つ、テーブルが#0、音程態様番号TBLNOが0、コード
タイプがM(メジャー)であった場合は、第4図に示す
ように4,7,12が各々60に加算される。したがって、レジ
スタKEYにはキーコード「64」が、レジスタKEYには
キーコード「67」が、レジスタンKEYにはキーコード
「72」が各々書き込まれる。これらのキーコード「6
4」,「67」,「72」は各々E音、G音、C音に
対応する。
Next, in step SPc5, the table matching the select number in the register TBLSEL.R (set in step SPb2) is read, and the register TBLN in this table is read.
The data corresponding to the pitch mode number TBLNO in OR is read.
Then, the numerical values corresponding to the channels ch0 to 2 of the read elliptic data are added to the values of the register RTKEY, and the addition results are written to the registers KEY0 to 2 , respectively. now,
When the content of the register RTKEY is the key code “60”, the table is # 0, the pitch mode number TBLNO is 0, and the code type is M (major), as shown in FIG. , 12 are added to 60 each. Therefore, the key code “64” is written in the register KEY 0 , the key code “67” is written in the register KEY 1 , and the key code “72” is written in the register KEY 2 . These key codes "6
“4”, “67”, and “72” correspond to E 3 note, G 3 note, and C 4 note, respectively.

ステップSPc5の処理が終わると、ステップSPc6に移りレ
ジスタCONTPの内容が「0」,「1」,「2」のいずれ
であるかが判断される。すなわち、キーオン態様が「ノ
ーマル」であるか、「ディレイキーオン」であるか、
「タイキーオン」であるかが判断される。
When the processing of step SPc5 is completed, the process moves to step SPc6 and it is determined whether the content of the register CONTP is "0", "1", or "2". That is, whether the key-on mode is “normal” or “delay key-on”,
It is determined whether or not it is “Tie Key On”.

ここでは、「ノーマル」について説明するので、ステッ
プSPc7に進む。このステップSPc7においては、レジスタ
MODEの内容が“1"か否かが判断され、「NO」であればス
テップSPc5においてレジスタKEY0〜2に書き込んだキ
ーコードを、トーンジェネレータ12内の各発音チャンネ
ルch0〜ch2に各々供給し、当該キーコードの発音を行う
(ステップSPc8)。一方、レジスタMODEの内容が“1"で
あれば、ステップSPc7の判断が「NO」となり、レジスタ
KEY0〜2に書き込んだキーコードとトーンゼネレータ1
2内の発音チャンネルch0〜ch2内のキーコードとを入れ
換えて発音を行う(ステップSpc9)。このように、キー
コードの入れ換えを行うのは、レジスタンMODEが“1"の
場合は発音チャンネルch0〜ch2がそれ以前に供給された
キーコードにより発音継続している場合であるから(ス
テップSPb12,SPb14参照)、途切れのない発音(スラー
記号に対応する発音)を行うために前のキーコードと新
たなキーコードとの入れ換えを行う。
Here, since "normal" will be described, the process proceeds to step SPc7. In this step SPc7, register
MODE of whether the content is "1" or not is determined, the key code written in the register KEY 0 to 2 in step SPc5 If "NO", respectively supplied to the respective sound channel ch0~ch2 tone generator 12 , Produce the key code (step SPc8). On the other hand, if the content of the register MODE is "1", the determination at step SPc7 is "NO", and the register
Key code written in KEY 0-2 and tone generator 1
Sound is generated by exchanging the key codes in the sound generation channels ch0 to ch2 in 2 (step Spc9). In this way, the key code is exchanged when the register mode is “1” because the sounding channels ch0 to ch2 continue to sound by the key code supplied before that (step SPb12, (See SPb14), replace the previous key code with the new key code in order to produce uninterrupted pronunciation (pronunciation corresponding to the slur symbol).

ステップSPc8、SPc9のキーオン処理が終了するとリター
ンする。リータン先は、このサブルーチンが“PAT・CH
G"(第8図)において呼ばれた場合は、メインルーチン
である。
When the key-on process of steps SPc8 and SPc9 is completed, the process returns. This subroutine is called "PAT / CH"
When called in G "(Fig. 8), it is the main routine.

上述の動作説明は、自動伴奏中においてキーイベント
(和音変更)があった場合の発音処理であり、“MAIN"
→“KEY・EVT"→“PAT・CHG"→“PAT・KEY"なるルーチ
ンを経て、メインルーチン“MAIN"にリターンする。な
お、変更後のパターンデータの当該タイミングにおいて
発音が指示されない場合は、サブルーチン“PAT・CHG"
において消音処理(ステップSPb16)等を行った後にメ
インルーチン“MAIN"にリターンする。
The above explanation of the operation is the sound generation process when there is a key event (chord change) during the automatic accompaniment.
→ "KEY / EVT" → "PAT / CHG" → "PAT / KEY", then return to the main routine "MAIN". If the pronunciation is not instructed at the timing of the changed pattern data, the subroutine "PAT / CHG"
After performing the muffling process (step SPb16) and the like, the process returns to the main routine "MAIN".

ところで、自動判奏の通常の発音処理は、テンポクロッ
クTPに基づいて自動的に行われる処理である。この場合
の処理は、第12図に示すサブルーチン“CLK・IRQ"およ
び第13図に示すサブルーチン“PAT・READ"によって行わ
れる。以下に、これらについて説明する。
By the way, the normal sounding process of the automatic playing is a process automatically performed based on the tempo clock TP. The processing in this case is performed by the subroutine "CLK.IRQ" shown in FIG. 12 and the subroutine "PAT.READ" shown in FIG. These will be described below.

サブルーチン“CLK・IRQ" まず、第1図に示すテンポクロック発生器7からテンポ
クロックTPが発せられると、CPU2に割り込みがかかり、
この結果、処理がサブルーチン“CLK・IRQ"に移る。そ
して、ステップSPd1においてフラグRUN“1"か否が判定
され、「NO」であればリターンし、「YES」であればス
テップSPd2に移る。ステップSPd2においては、レジスタ
CLKの値および選択されているリズム種に応じて、リズ
ム音発生処理(パーカッション系の発音)が行われる。
次に、ステップSPd3に移り、レジスタCLKの内容を12で
割った余りが「0」か否かが判断される。この判断が
「YES」の場合は、レジスタCLKの内容が拍の先頭タイミ
ング(0,12,24,36)を示している。このステップSPd3の
判定が「NO」のときは直ちにサブルーチン“PAT・READ"
の処理を行い、「YES」の場合にはレジスタTCHDの内容
をレジスタHCDに書き込んだ後に上記サブルーチン“PAT
・READ"に移る。ステップSPd4の処理は、前述したステ
ップSPa5の判定が「NO」となって、レジスタCHKに書き
込まれなかったキーコードを、ここにおいて書き込むた
めの処理である。
Subroutine “CLK · IRQ” First, when the tempo clock TP is issued from the tempo clock generator 7 shown in FIG. 1, the CPU 2 is interrupted,
As a result, the processing shifts to the subroutine "CLK / IRQ". Then, in step SPd1, it is determined whether or not the flag RUN is "1". If "NO", the process returns, and if "YES", the process proceeds to step SPd2. In step SPd2, register
Rhythm sound generation processing (percussion-type sound generation) is performed according to the CLK value and the selected rhythm type.
Next, in step SPd3, it is determined whether the remainder obtained by dividing the content of the register CLK by 12 is "0". When this judgment is "YES", the contents of the register CLK indicate the start timing (0, 12, 24, 36) of the beat. If the determination in step SPd3 is "NO", immediately the subroutine "PAT READ"
Processing is performed, and if “YES”, the contents of register TCHD are written to register HCD and then the above subroutine “PAT
-Go to "READ". The process of step SPd4 is a process for writing here the key code that has not been written to the register CHK because the determination at step SPa5 described above is "NO".

サブルーチン“PAT・READ" まず、第13図に示すステップSPe1においては、リズム種
類とレジスタYPE内のコードタイプデータに基づき、演
奏すべきパターンデータRPDが選択され、レジスタPATに
書き込まれる。そして、パターンデータRPDのアドレス
「−2」、「−1」にあるテーブルセレクトデータTBLS
ELおよびディレイタイムデータを、各々レジスタTBLSE
L.RおよびレジスタDLYTMに書き込む。次に、ステップSP
3においては、レジスタCLKの内容が偶数か奇数かが判断
され、偶数であればステップSPe4に進み、レジスタンDT
およびNDTにパターンデータのアドレス「CLK/2」の下
位4ビットおよび上位4ビットにある発音態様指示デー
タPDnおよびPDn (nはレジスタCLKの内容)を各々
書き込む。また、レジスタCLKの内容が奇数であればレ
ジスタンDTおよびNDTに、パターンデータのアドレス
「(CLK−1)/2」の上位4ビットおよびアドレス
「(CLK+1)/2」の下位4ビットにある発音態様指
示データPDnおよびPDn が書き込まれる(ステップSP
e5)。このステップSPe4,SPe5の処理により、レジスタD
Tにはその時点で処理すべき発音態様指示データPDが書
き込まれ、レジスタNDTには次のタイミング(CLK+1)
で処理すべき発音態様指示データPDが書き込まれる。例
えば、レジスタCLKの内容が「4」の場合は、第5図に
示すアドレス「2」の発音態様指示データPD,PD
レジスタDT,NDTに書き込まれ、レジスタCLKの内容が
「5」の場合はアドレス「2」の発音態様指示データPD
と、アドレス「3」の発音態様指示データPDとがレ
ジスタDT,NDTに書き込まれる。なお、ステップSPe5にお
いてCLK+1の値が「48」となった場合は、アドレス
「0」の下位4ビットを書き込むようになっている。
Subroutine "PAT READ" First, in step SPe1 shown in FIG. 13, the pattern data RPD to be played is selected based on the rhythm type and the chord type data in the register YPE, and is written in the register PAT. Then, the table select data TBLS at the addresses "-2" and "-1" of the pattern data RPD
EL and delay time data are registered in TBLSE register
Write to LR and register DLYTM. Then step SP
In 3, it is judged whether the content of the register CLK is even or odd, and if it is even, the process proceeds to step SPe4 and the register DT
And NDT write the tone generation mode instruction data PDn and PDn + 1 (n is the content of the register CLK) in the lower 4 bits and the upper 4 bits of the address "CLK / 2" of the pattern data, respectively. If the content of the register CLK is odd, in the register DT and NDT, the pronunciation in the upper 4 bits of the address "(CLK-1) / 2" and the lower 4 bits of the address "(CLK + 1) / 2" of the pattern data is generated. The mode instruction data PDn and PDn + 1 are written (step SP
e5). By the processing of these steps SPe4 and SPe5, register D
The tone generation mode instruction data PD to be processed at that time is written in T, and the next timing (CLK + 1) is written in the register NDT.
The pronunciation mode instruction data PD to be processed in is written. For example, if the content of the register CLK is "4", the fifth address shown in FIG. "2" sound mode instruction data PD 4 for, PD 5 is register DT, written in the NDT, the content of the register CLK is "5" In case of, the pronunciation mode instruction data PD of the address "2"
5 and the tone generation mode instruction data PD 6 at the address “3” are written in the registers DT and NDT. When the value of CLK + 1 becomes "48" in step SPe5, the lower 4 bits of the address "0" are written.

次に、ステップSPe6においては、レジスタDTの内容が
(F)かどうか、すなわち、当該タイミングにおいて
処理すべき発音態様指示データPDが「何もしない」であ
るかどうかが判断される。この判定が「YES」の場合
は、ステップSPe11に進み、レジスタNDTの内容が(F)
かどうか、すなわち、次に処理すべき発音態様指示デ
ータPDが「何もしない」であるかどうかが判断される。
この判断が「YES」であればリターンし、「NO」であれ
ばステップSPe12においてレジスタDL1の内容が「0」か
どうかが判断される。レジスタDL1は、第6図に示すス
テップSP1のイニシャライズ処理によりクリアされてい
るから、ステップSPe12の判定が「YES」となり、ステッ
プSPe15に進んでレジスタンDL2の内容が「0」か否かが
判定される。このレジスタDL2もステップSP1においてリ
セットされているから、判定は「YES」となってリター
ンする。このように、レジスタDTの内容が(F)であ
る場合には、ステップSPe6,SPe11を介し、あるいはさら
にステップSPe12,SPe15を介してサブルーチン“CLK・IR
Q"のステップSPd5にリターンする。ステップSPd5におい
ては、レジスタCLKの内容を1インクリメントする処理
が行われる。なお、ステップSPd5において図示の演算を
行っているのは、レジスタCLKの内容を「0」〜「47」
で循環させるためである。
Next, in step SPe6, it is determined whether the content of the register DT is (F) H , that is, whether the tone generation mode instruction data PD to be processed at the timing is "do nothing". If this determination is "YES", the flow proceeds to step SPe11 and the content of the register NDT is (F).
It is determined whether or not it is H , that is, whether or not the pronunciation mode instruction data PD to be processed next is “do nothing”.
If this determination is "YES", the process returns, and if "NO", it is determined in step SPe12 whether the content of the register DL1 is "0". Since the register DL1 has been cleared by the initialization processing of step SP1 shown in FIG. 6, the determination at step SPe12 becomes "YES", and the routine proceeds to step SPe15, at which it is determined whether or not the content of the register DL2 is "0". It Since this register DL2 has also been reset in step SP1, the determination is “YES” and the routine returns. As described above, when the content of the register DT is (F) H , the subroutine “CLK / IR” is executed through steps SPe6 and SPe11, or further through steps SPe12 and SPe15.
The process returns to step SPd5 of Q ". In step SPd5, the process of incrementing the content of the register CLK by 1 is performed. Note that the operation shown in the figure in step SPd5 is that the content of the register CLK is" 0 ". ~ "47"
This is to circulate in.

一方、第13図に示すステップSPe6において「NO」となる
と、ステップSPe7に移り、レジスタDTの内容が(0)
であるか否かが判断される。この判断が「YES」であれ
ば、当該タイミングにおいてキーオフが指示されている
から、トーンジェネレータ12の発音チャンネルch0〜ch2
をすべてキーオフさせ、また、レジスタKEY0〜2をク
リアする(ステップSPe8,SPe9)。ステップSPe7におい
て「NO」と判断された場合は、ステップSPe10において
フラグMODEを“0"にした後サブルーチン“PAT・KEY"の
処理に移る。
On the other hand, if “NO” is obtained in step SPe6 shown in FIG. 13, the process proceeds to step SPe7, and the content of the register DT is (0) H.
Is determined. If this determination is “YES”, the key-off is instructed at the timing, and therefore the tone generator 12's sound generation channels ch0 to ch2.
All were key-off, also clears the register KEY 0 to 2 (step SPe8, SPe9). If "NO" is determined in step SPe7, the flag MODE is set to "0" in step SPe10, and then the process of the subroutine "PAT / KEY" is performed.

サブルーチン“PAT・KEY"の処理は、前述した通りであ
り、キーオン態様がノーマルで、フラグMODEが“0"の場
合は、ステップSPc1〜SPc8の処理による発音がなされ
る。この発音処理後においては、ステップSpe11にリタ
ーンする。キーオン態様がノーマルの場合は、ステープ
Spe11もしくはステップSPe12Spe15を経て第12図のステ
ープSPd5にリターンし、レジスタCLKをインクリメント
する。
The processing of the subroutine "PAT.KEY" is as described above. When the key-on mode is normal and the flag MODE is "0", sound is produced by the processing of steps SPc1 to SPc8. After this tone generation processing, the process returns to step Spe11. When the key-on mode is normal, the staple
After Spe11 or step SPe12Spe15, the process returns to the stapler SPd5 in FIG. 12 to increment the register CLK.

以上の処理をテンポクロックTPが発せられる毎を行う。
以上がキーオン態様「ノーマル」の処理である。
The above processing is performed every time the tempo clock TP is issued.
The above is the key-on mode “normal” processing.

B:ディレイキーオン 次に、ディレイキーオンの場合について説明する。B: Delay Key On Next, the case of delay key on will be described.

このディレイキーオンは、サブルーチン“PAT・KEY"、
“PAT・READ"における処理内容が変わると点と、サブル
ーチン“TIMER・IRQ"の処理が加わる以外は前述のノー
マルの場合と同様である。始めに、サブルーチン“PAT
・KEY"の処理について説明する。
This delay key-on is a subroutine "PAT KEY",
The process is the same as the above-mentioned normal case except that the processing contents in "PAT / READ" are changed and the processing of the subroutine "TIMER / IRQ" is added. First, the subroutine "PAT
-Explain the processing of "KEY".

サブルーチン“APT・KEY"(ディレイキーオン) まず、ステップSPc1からSPc6までは、ノーマルの場合と
同様であるが、ステップSpc6の判定によりステップSPc1
0に移り、レジスタMODが“1"か否かが判断される。この
判定が「YES」の場合は、ステップSPc9に移り、チャン
ネルCh0〜ch2内のキーコードをレジスタKEY0〜2内の
キコードにすり替えて3つのキコードをすべて発音す
る。すなわち、ディレイキーオン処理を行わず、3音同
時発音とする。これは、レジスタMODが“1"となるの
は、和音変更のキーイベントがあった場合において、変
更前のパターンデータによって発音が継続される場合で
あるから、新たなキコードによってディレイキーオンを
行うと音楽的に不自然となるためである。
Subroutine "APT KEY" (delay key on) First, steps SPc1 to SPc6 are the same as in the normal case, but step SPc1 is determined by the determination in step Spc6.
Moving to 0, it is determined whether or not the register MOD is "1". If this determination is "YES", the flow proceeds to step SPc9, Could all three Kikodo to swap the Kikodo the key code in the register KEY 0 to 2 in the channel CH0. That is, the delay key-on process is not performed, and three sounds are simultaneously sounded. This is because the register MOD becomes "1" when the chord change key event occurs and the pattern data before the change continues to sound, so if the delay key-on is performed with a new key code. This is because it becomes musically unnatural.

一方、ステップSPc10で「NO」と判定された場合は、ス
テップSPb2あるいはステップSPe2においてレジスタDLYT
Mに書き込んだディレイタイムデータ(第5図参照)
を、レジスタDL1に書き込み、また、ディレイタイムデ
ータを2倍してレジスタDL2に書き込む。そして、ステ
ップSpc12に移り、レジスタKEY内のキーコードをチャ
ンネルchに供給してキーオンする。すなわち、レジス
タKEYのキーコード(第4図に示すように和音を構成
する音の最低音)はディレイキーオンせず直ちに発音す
る。ステップSPc12の処理が終わると、直ちにメインル
ーチン“MAIN"にリターンするか、第13図のステップSPe
11→(SPc12,15)→第2図のSPd5を介してメインルーチ
ンにリターンする。前者は、サブルーチン“PAT・CHG"
において“PAT・KEY"がコールされた場合であり、後者
はサブルーチン“PAT・READ"において“PAT・KEY"がコ
ールされた場合である。そして、メインルーチン“MAI
N"を循環中においてタイマ8からパルス信号IPが出力さ
れると、処理はサブルーチン“TIMER・IRQ"に移る。こ
の場合、パルス信号IPの周期はテンポクロックTPより充
分に短く設定されているため、通常は次のテンポクロッ
クTPが供給される前にサブルーチン“TIMER・IRQ"の処
理が行われる。
On the other hand, if “NO” is determined in step SPc10, the register DLYT is set in step SPb2 or step SPe2.
Delay time data written in M (see Fig. 5)
Is written in the register DL1 and the delay time data is doubled and written in the register DL2. Then, the process proceeds to step Spc12 to supply the key code in the register KEY 0 to the channel ch 0 to turn on the key. That is, the key code of the register KEY 0 (the lowest note of the notes forming the chord as shown in FIG. 4) is immediately sounded without the delay key-on. Immediately after the processing in step SPc12 is completed, the process returns to the main routine "MAIN" or step SPe in FIG.
11 → (SPc12,15) → returns to the main routine via SPd5 in FIG. The former is the subroutine "PAT / CHG"
In the case where "PAT-KEY" is called in, the latter is the case where "PAT-KEY" is called in the subroutine "PAT-READ". And the main routine "MAI
When the pulse signal IP is output from the timer 8 while circulating "N", the process proceeds to the subroutine "TIMER / IRQ". In this case, the period of the pulse signal IP is set sufficiently shorter than the tempo clock TP. Normally, the processing of the subroutine "TIMER / IRQ" is performed before the next tempo clock TP is supplied.

サブルーチン“TIMER・IRQ" まず、ステップSPf1においてフラグRUNの内容が“1"か
否かが判断され、「NO」であればメインルーチン“MAI
N"にリターンし、「YES」であればステップSPf2に進
む。ステップSPf2ではレジスタDL1の内容が「0」か否
かが判断され、「0」であればステップSPc6に進み、
「0」でなければレジスタDL1の内容が1減算される
(ステップSPf3)。そして、減算後のレジスタDL1の内
容が「0」か否かが判断され(ステップSPf4)、「0」
であればチャンネルch1にレジスタンKEY内のキーコー
ドを供給してキーオンする。ステップSPfの判定が「N
O」の場合は、ステップSPf6に進む。
Subroutine "TIMER / IRQ" First, in step SPf1, it is determined whether or not the content of the flag RUN is "1". If "NO", the main routine "MAI
Return to N ", and if" YES ", proceed to step SPf2. At step SPf2, it is determined whether the content of the register DL1 is "0". If it is "0", the process proceeds to step SPc6.
If not "0", 1 is subtracted from the content of the register DL1 (step SPf3). Then, it is judged whether or not the content of the register DL1 after the subtraction is "0" (step SPf4) and "0".
If so, supply the key code in the register KEY 1 to the channel ch1 to turn on the key. The determination at step SPf 4 is “N
If "O", the process proceeds to step SPf6.

次に、ステップSPf6〜SPf9の処理は、上述したSPf2〜Sp
f5までの処理と全く同様の処理をレジスタDL2について
行う処理である。そして、ステップSPf9の処理が終わる
とリターンし、再び、パルス信号IPが供給された時点で
このサブルーチン“TIMER・IRQ"に戻る。このように、
パルス信号IPが供給される毎にサブルーチン“TIMER・I
RQ"の処理が行われると、当初ディレイタイムデータが
書き込まれていたレジスタDL1,DL2の内容がステップSPf
3,SPf7の処理により順次減算されていき、減算結果が
「0」となったときにおいてレジスタKEY,KEY内の
キーコードが、チャンネルch1もしくはチャンネルch2に
供給されキーオンされる。すなわち、チャンネルch1の
発音はチャンネルch0よりディレイタイムデータ分だけ
遅れ、また、レジスタDL2の内容がレジスタDL1内容の2
倍であることから(ステップSpc11参照)、チャンネルc
h2の発音はチャンネルch1の発音よりさらにディレイタ
イムデータ分だけ遅れる。図示すと第15図のようにな
る。
Next, the processing of steps SPf6 to SPf9 is the same as SPf2 to Spf described above.
This is the same processing as the processing up to f5 for the register DL2. Then, when the processing of step SPf9 is completed, the process returns, and when the pulse signal IP is supplied again, the process returns to this subroutine "TIMER / IRQ". in this way,
Each time the pulse signal IP is supplied, the subroutine "TIMER I
When the "RQ" processing is performed, the contents of the registers DL1 and DL2 in which the delay time data was originally written are changed to the step SPf.
3, will be successively subtracted by treatment SPf7, the subtraction result is the key code in the register KEY 1, KEY 2 in when it becomes "0", is the key-on is supplied to the channel ch1 or channel ch2. That is, the sound of the channel ch1 is delayed from the channel ch0 by the delay time data, and the content of the register DL2 is 2 of the content of the register DL1.
Since it is double (see step Spc11), channel c
The pronunciation of h2 is delayed by the delay time data from the pronunciation of channel ch1. Fig. 15 shows the figure.

サブルーチ“PAT・READ"のステップSPe13〜SPe17 ところで、曲のテンポが速い場合は、ディレイキーオン
処理を行うと、ディレイ処理されたキーコードの発音タ
イミングが後に発音されるべき次の音符よりも遅れるこ
とが生じる。例えば、第16図に示すように、最初の16分
音符の和音についえディレイキーオン処理を行った場合
に、チャンネルch2の発音タイミングが、次の16分音符
の発音タイミングtより遅れる場合がある。これは音
楽的に不自然なため、かかる場合はディレイ処理を中断
し、チャンネルch2の発音タイミングをタイミングt
の前にずらす処理を行うようにしている。
Subroutine “PAT READ” steps SPe13 to SPe17 By the way, if the tempo of the song is fast, the delay key-on process delays the sounding timing of the delayed key code after the next note to be sounded later. Occurs. For example, as shown in FIG. 16, when delay key-on processing is performed for the chord of the first 16th note, the sounding timing of channel ch2 may be delayed from the sounding timing t 1 of the next 16th note. . This is because musically unnatural, when such interrupts the delay processing, the timing t 1 in timing relative to the channel ch2
The shift process is performed before.

サブルーチン“PAT・READ"のステップSPe13〜SPe17の処
理はこのための処理である。以下にこの処理について説
明する。
The processing of steps SPe13 to SPe17 of the subroutine "PAT / READ" is for this purpose. This process will be described below.

今、ディレイキーオンの処理が終了してないうちに、次
のテンポクロックTPが発せられたとする。この結果、処
理はサブルーチン“GLK・IRQ"を介して“PAT・READ"に
至る。そして、ステップSPe1〜ステップSPe6を経てステ
ップSPe11の判定が行われる。この場合、次のテンポク
ロックTPのタイミングにおいて音発生を行う場合は、ス
テップSPe11の判定が「NO」となるから、ステップSPe12
に移り、レジスタDL1の内容が「0」が否かが判断され
る。この判定が「NO」であれば、発音チャンネルch1に
ついては未だディレイキーオン処理が行われていない場
合であるから、ステップSPe13おいてレジスタDL1をクリ
アし、さらにチャンネルch1にレジスタKEY内のキーコ
ードを供給して強制的にキーオンする(ステップSPe1
4)。一方、ステップSPe12の判定が「YES」であれば、
ステップSPe15においてレジスタDL2の内容が「0」か否
かが判断される。この判断が「YES」であれば、チャン
ネルch1,ch2の双方のディレイキーオン処理が終了して
いるため、ステップSPd5を介してメインルーチン“MAI
N"へリターンする。また、ステップSPe15で「NO」とな
った場合は、レジスタDL2をクリアしチャンネルch2にレ
ジスタKEY2内のキーコードを供給して強制的にキーオン
させる。この処理の後は、ステップSPd5を介してメイン
ルーチン“MAIN"にリターンする。
Now, it is assumed that the next tempo clock TP is issued before the delay key-on process is completed. As a result, the processing reaches "PAT / READ" through the subroutine "GLK / IRQ". Then, the determination of step SPe11 is performed through steps SPe1 to SPe6. In this case, when the sound is generated at the timing of the next tempo clock TP, the determination in step SPe11 is “NO”, and therefore step SPe12
Then, it is judged whether or not the content of the register DL1 is "0". If this determination is “NO”, it means that the delay key-on processing has not been performed for the sounding channel ch1, so the register DL1 is cleared in step SPe13, and the key code in the register KEY 1 for the channel ch1 is further cleared. To forcibly turn on the key (step SPe1
Four). On the other hand, if the determination in step SPe12 is "YES",
In step SPe15, it is determined whether the content of the register DL2 is "0". If this determination is “YES”, the delay key-on processing for both channels ch1 and ch2 has been completed, so the main routine “MAI” is executed via step SPd5.
Return to N ". If" NO "in step SPe15, the register DL2 is cleared and the key code in the register KEY2 is supplied to the channel ch2 to forcibly turn on the key. After this processing, the process returns to the main routine "MAIN" via step SPd5.

以上がディレイキーオンの処理である。The above is the delay key-on processing.

C:タイキーオン 次に、タイキーオンの処理について説明する。この場合
は、サブルーチン“PAT・KEY"の処理以外は、前述たノ
ーマルの処理と同様である。
C: Thai Key On Next, the process of Thai key on will be described. In this case, the processing is the same as the normal processing described above, except for the processing of the subroutine "PAT.KEY".

サブルーチン“PAT・KEY"のステップSPc1〜SPc6までの
処理は、ノーマルの場合と同様の処理となるが、ステッ
プSpc6の判定において「1」となり、ステップSPc13に
進む。ステップSPc13においては、レジスタiをクリア
し、さらに、ステップSpc14においてレジスタjをクリ
アする。そして、ステップSPc15に移りレジスタCKEYiと
レジスタKEYiの内容が比較される。この処理は、ステッ
プSpc3においてレジスタCKEYiに書き込んだ前回のキー
コードデータとステップSPc5においてレジスタンKEYiに
書き込んだ今回のキーコードデータとが一致しているか
どうかを判断する処理である。また、ステップSPc15に
おいては、レジスタiとレジスタjの内容が異なってい
るか否かも判定する。このステップSpc15における最初
の判断は、レジスタOKEYとレジスタKEYの内容比較
となるが、i=jであるので判定はNOとなり、ステップ
SPc17に移る。ステップSPc17においては、レジスタjの
内容に1が加算され、ステップSPc18の処理に移る。ス
テップSpc18は、レジスタjの値が「3」未満か否かを
判定する処理であり、ステップSpc17の加算処理が2回
以下のときは「YES」となり、再びステップSPc15に移り
比較処理を行う。ステップSPc15における2回目の比較
処理は、OKEY=KEYか否かの比較である。この判断
が「YES」であれば、レジスタKEYiとレジスタKEYjの内
容を入れ換える(ステップSPc16)。すなわち、上記の
場合においては、レジスタKEYとレジスタKEYの内容
を入れ換える。以後同様にしてレジスタjの内容をイン
クリメントし、再びステップSPc15の処理を行う。この
処理の後にステップSPc17の処理を行うと、ステップSPc
18の判定が「NO」となり、ステップSPc19においてレジ
スタiの内容がインクリメントされる。次に、ステップ
SPc20に進み、レジスタiの内容が3未満か否かが判断
される。この判断はステップSPc19の処理が2回以下の
ときは「YES」となるから、処理は再びステップSPc14に
戻る。すなわち、レジスタiの値を「1」として、上記
処理を繰り返す。以後同様にレジスタiの値を2にして
上記処理を行い、再度ステップSpc20に至るとこの判定
が「NO」となり、ステップSPc14〜ステップSpc20からな
るループを抜ける。
The processing of steps SPc1 to SPc6 of the subroutine "PAT-KEY" is the same as that in the normal case, but it is "1" in the judgment of step Spc6, and the routine proceeds to step SPc13. At step SPc13, the register i is cleared, and further at step Spc14, the register j is cleared. Then, in step SPc15, the contents of the register CKEYi and the register KEYi are compared. This process is a process of determining whether or not the previous key code data written in the register CKEYi in step Spc3 and the current key code data written in the register KEYi in step SPc5 match. In step SPc15, it is also determined whether or not the contents of the register i and the register j are different. The first judgment in this step Spc15 is the comparison of the contents of the register OKEY 0 and the register KEY 0 , but since i = j, the judgment is NO,
Move to SPc17. In step SPc17, 1 is added to the content of the register j, and the process proceeds to step SPc18. Step Spc18 is a process for determining whether the value of the register j is less than "3". If the addition process of Step Spc17 is less than or equal to "2", the result is "YES", and the process proceeds to Step SPc15 again to perform the comparison process. The second comparison process in step SPc15 is a comparison as to whether or not OKEY 0 = KEY 1 . If this determination is "YES", the contents of the register KEYi and the register KEYj are exchanged (step SPc16). That is, in the above case, the contents of the register KEY 0 and the register KEY 1 are exchanged. Thereafter, the contents of the register j are incremented in the same manner, and the process of step SPc15 is performed again. If the process of step SPc17 is performed after this process, step SPc
The determination at 18 becomes "NO", and the content of the register i is incremented at step SPc19. Then step
The process proceeds to SPc20, and it is determined whether the content of the register i is less than 3. This determination is "YES" when the processing in step SPc19 is twice or less, so the processing returns to step SPc14 again. That is, the value of the register i is set to "1" and the above process is repeated. After that, similarly, the value of the register i is set to 2 and the above process is performed, and when the process reaches Step Spc20 again, the determination becomes "NO" and the loop including Steps SPc14 to Spc20 is exited.

このループの処理によってレジスタOKEYi=KEYjとなっ
た場合は、レジスタKEYiの内容とエジスタKEYjの内容が
入れ換えられる。これにより、レジスタKEYi(
i=0〜2)内の次に発音すべきキーコードが、現在発
音されている発音チャンネルchiのキーコードと同じ場
合は、当該発音チャンネルと同一の番号のレジスタKEYi
に入れ換えられる。ただし、発音チャンネルchiと同一
番号のレジスタKEYiに初めから同じキーコードが書き込
まれている場合は、入れ換えの必要がないので、この処
理は行われない。
When the register OKEYi = KEYj is obtained by the processing of this loop, the contents of the register KEYi and the contents of the register KEYj are exchanged. This allows register KEYi (
If the key code to be pronounced next in i = 0 to 2 ) is the same as the key code of the currently sounding channel chi, the register KEYi having the same number as that sounding channel
Can be replaced with. However, if the same key code is written in the register KEYi having the same number as the tone generation channel chi from the beginning, this process is not performed because there is no need for replacement.

例えば、第17図に示すように現在G音,B音,D音に
よる和音(和音G)が奏せられており、レジスタOKE
Y,OKEY,OKEYに各々キーコード「67」,「71」,
「74」が書き込まれているとする。そして、次に発音す
べき音がE音,G音,D音(和音Cth)でレジスタ
KEY,KEY,KEYに各々キーコード「64」,「67」,
「74」が書き込まれているとする。この場合には、KEY
=OKEY、KEY=OKEYであり、KEYについては一
致するものがない。したがって、レジスタKEYはその
ままであるが、レジスタKEYとKEY内容は入れ換えら
れる。対応関係を示すと以下のようになる。
For example, the current G 3 sounds as shown in FIG. 17, B 3 sounds, and chord (chord G) is Sose by D 4 sound register OKE
Key codes "67", "71", and Y 0 , OKEY 1 , OKEY 2 respectively
It is assumed that "74" is written. Then, the next note to be pronounced is registered as E 3 note, G 3 note, D 4 note (chord C 9 th).
KEY 0 , KEY 1 and KEY 2 are key code “64”, “67”,
It is assumed that "74" is written. In this case, KEY
2 = OKEY 2 , KEY 1 = OKEY 0 , and there is no match for KEY 0 . Thus, although register KEY 2 is intact, the register KEY 1 and KEY 0 content is replaced. The correspondence is shown below.

次に、ステップSPc21においてレジスタiがクリアされ
ると、ステップSPc22においてレジスタOKEYiとレジスタ
KEYiの同一番号のものの内容が等しいかどうかが判定さ
れる。この判定結果が「NO」のときは、ステップSPc23
に進みフラグMODEが“1"か否かが判断され、「NO」であ
れば、現在発音中の音がない場合であれから発音チャン
ネルchiにレジスタKEYiのキーコードを供給してキーオ
ン処理を行う(ステップSPc24)。また、ステップSPc23
の判定が「YES」の場合は、現在発音中の音がある場合
であるから、発音チャンネルchiのキーコードとレジス
タKEYiのキーコードを入れ換えて発音処理を行う(ステ
ップSPc25)。これらの処理の後はステップSpc26におい
てレジスタiをインクリメントし、ステップSPc27を介
してステップSPc22に移り上記動作を繰り返す。
Next, when the register i is cleared in step SPc21, the register OKEYi and the register i are cleared in step SPc22.
It is determined whether the contents of the same number of KEYi are equal. If the result of this determination is "NO", then step SPc23
If the flag MODE is "1" and it is "NO", the key code of the register KEYi is supplied to the sounding channel chi to perform the key-on process even if there is no sound currently sounding. (Step SPc24). Also, step SPc23
If the determination is "YES", it means that there is a sound currently being sounded, so the key code of the sound generation channel chi and the key code of the register KEYi are exchanged to perform sound generation processing (step SPc25). After these processes, the register i is incremented in step Spc26, the process proceeds to step SPc22 via step SPc27, and the above operation is repeated.

一方、ステップSPc22の判定が「YES」の場合は、新たな
発音処理(ステップSPc24,25)を行わず、ステップSPc2
6,SPc27を介してステップSPc22に至り、上記処理を繰り
返す。このよに新たな発音処理が行われないと、発音チ
ャンネルchiは前回の音をそのまま継続して発し続け
る。
On the other hand, if the determination in step SPc22 is "YES", new sound generation processing (steps SPc24, 25) is not performed, and step SPc2
Through SPc27, step SPc22 is reached, and the above processing is repeated. If no new sound generation processing is performed in this way, the sound generation channel chi continues to emit the previous sound.

そして、ステップSPc22〜SPc26の処理が3回行われる
と、ステップSPc27の判定が「NO」となってリターンす
る。
Then, when the processing of steps SPc22 to SPc26 is performed three times, the determination at step SPc27 becomes "NO" and the routine returns.

ここで、第1表に示した例において上記処理が行われる
と、i=0とi=2のときにおいてOKEYi=KEYiとなる
ので、発音チャンネルch0とch2については新たな発音処
理が行われず、前回の音であるD音とG音が継続し
て発せられる。また、発音チャンネルch1については、
ステップSpc24において新たにE音の発音が為され
る。この結果、第17図に示すように、D音とG
は、タイ記号によりつながれた音符として発音される。
Here, if the above processing is performed in the example shown in Table 1, OKEYi = KEYi at i = 0 and i = 2, so new sounding processing is not performed for sounding channels ch0 and ch2. The previous sounds D 4 and G 3 are continuously emitted. For the pronunciation channel ch1,
In step Spc24, a new E 3 tone is pronounced. As a result, as shown in FIG. 17, the D 4 note and the G 3 note are pronounced as notes connected by tie marks.

以上がタイキーオンの処理である。The above is the tie-key on processing.

D:総合的動作例 第18図は、パターンデータの一例である。そして、上記
パターンデータでテーブル#0が選択され、かつ、コー
ドタイプがCメジャーである場合の演奏例を第19図に示
す。この図に示すように、1拍目の先頭タイミング(CL
K=「0」)においては、発音態様指示データPD
(9)であるから、第5図に示すようにキーオン態様
がディレイキーオンで、音程態様番号TBLNOが「0」で
ある。したがって、演奏は第19図に示すようにE音,G
音,C音のディレイキーオンとなる。そして、レジス
タCLKが「1」〜「10」となるタイミングにおいては発
音態様指示データPDが(F)であるから何もしない。
レジスタCLKが「11」となるタイミングにおいては、発
音態様指示データPDが(0)となるため、上記各音を
消音する。この結果、第19図に示すようにE音,G
音,C音が4分音符の長さで発音される。そして、レ
ジスタCLKが「12」となるタイミングにおいては、発音
態様指示データPDが(1)であるからノーマルキーオ
ンで音程態様番号TBLNO(0」が選択される。したがっ
て、このタイミングにおいては、E音,G音,C音が
発せられる。そして、レジスタCLKが「17」となるタイ
ミングの発音態様指示データが(0)となっているか
ら上記各音はこの時点で消音される。この結果、上記各
音は、8分音符の長さで発音される。次に、レジスタCL
Kが「18」となるタイミングの発音態様指示データPDは
(A)であるから、ディレイキーオンで音程態様番号
TBLNOが「1」となる。この結果、Cthのコードの発
音となり(第4図参照)、E音,G音,D音が発音さ
れる。そして、レジスタCLKが「24」となるタイミング
の発音態様指示データPDが(5)となっているから、
第5図に示すようにキーオン態様がタイキーオンで音程
態様番号TBLNOが「0」となる。この結果、E音,G
音,C音の発音となり、かつ、E音,G音がタイ記号
によりつながれた発音となる。また、2拍目の最終タイ
ミング(CLK=「23」)の発音態様指示データが(0)
となっていないから3拍目のC音は消音を介さずに
発音され(キーコード入れ換えの発音)、スラー記号に
よってつながれた音の発音となる。次に、レジスタCLK
が「29」となるタイミングニおいては消音が指示され、
以後4拍目の先頭タイミングまで発音態様指示データPD
が(F)となっている。これにより、第19図に示すよ
うに8分休符が表現される。そして、4拍目の先頭タイ
ミングと、4拍目の1/2のタイミングにおいて発音態
様指示データPDが(3)H,(1)となっているので、
♭E音、♭G音,♭C音(=B音)およびE
音,G音,C音がそれぞれ8分音符の長さで発音され
る。
D: Example of overall operation FIG. 18 is an example of pattern data. FIG. 19 shows a performance example when the table # 0 is selected by the pattern data and the chord type is C major. As shown in this figure, the start timing of the first beat (CL
In K = “0”), since the tone generation mode instruction data PD 0 is (9) H , the key-on mode is delay key-on and the pitch mode number TBLNO is “0” as shown in FIG. Therefore, the performance is E 3 notes, G as shown in FIG.
3 keys, C 4 sounds delay key on. At the timing when the register CLK becomes "1" to "10", nothing is done because the tone generation mode instruction data PD is (F) H.
At the timing when the register CLK becomes “11”, the sounding mode instruction data PD becomes (0) H , so that the above sounds are muted. As a result, as shown in FIG. 19, E 3 sound, G
3 Sound, C 4 sound is pronounced by the length of a quarter note. At the timing when the register CLK becomes “12”, the tone mode instruction data PD is (1) H , so the pitch mode number TBLNO (0) is selected by normal key-on. Three tones, G three tones, and C four tones are emitted, and since the tone generation mode instruction data at the timing when the register CLK becomes “17” is (0) H , the above tones are muted at this point. As a result, each of the above notes is sounded at the length of an eighth note.
Since the pronunciation mode instruction data PD at the timing when K becomes “18” is (A) H , the pitch mode number is set by delay key-on.
TBLNO becomes "1". As a result, a C 9 th chord is produced (see FIG. 4), and E 3 note, G 3 note, and D 4 note are pronounced. Then, since the tone generation mode instruction data PD at the timing when the register CLK becomes “24” is (5) H ,
As shown in FIG. 5, the key-on mode is tie-key-on and the pitch mode number TBLNO is "0". As a result, E 3 sound, G 3
The phonetic pronunciation is C and the C 4 is pronounced, and the E 3 and G 3 are the pronunciations connected by the Thai symbol. In addition, the pronunciation mode instruction data at the final timing of the second beat (CLK = “23”) is (0)
C 4 sound third beat because not the H is sound without passing through the muffler (pronunciation replaced key code), the sound of the sound that are linked by slur symbols. Then register CLK
At the timing when is "29", mute is instructed,
After that, until the start timing of the 4th beat, the pronunciation mode instruction data PD
Is (F) H. As a result, eighth rests are expressed as shown in FIG. Then, since the tone generation mode instruction data PD is (3) H , (1) H at the beginning timing of the 4th beat and the timing of 1/2 of the 4th beat,
♭ E 3 tones, ♭ G 3 tones, ♭ C 4 tones (= B 3 tones) and E 3
Sound, G 3 sounds, C 4 sound is pronounced by the length of an eighth note, respectively.

(3:実施例の効果) 以上のようにこの実施例においては、発音態様指示デー
タにより、発音タイミングの指示と音程変更の指示を行
うようにしたので、パターンデータの記憶量が極めて少
ないにもかかわらず変化に富んだ演奏を行うことができ
る。すなわち、発音態様指示データが4ビットで構成さ
れているので、1小節当たり24バイトの容量で特定リズ
ムに対する特定のコードタイプの伴奏データを構成する
ことができ、コードタイプ毎、およびリズム種類毎にリ
ズムパターンデータを設けても、記憶容量は少なくて済
む。
(3: Effect of the embodiment) As described above, in this embodiment, the sound generation mode instruction data is used to instruct the sound generation timing and the pitch change. Regardless, you can perform a variety of performances. That is, since the pronunciation mode instruction data is composed of 4 bits, it is possible to compose accompaniment data of a specific chord type for a specific rhythm with a capacity of 24 bytes per bar, and for each chord type and each rhythm type. Even if the rhythm pattern data is provided, the storage capacity is small.

(4:実施例の変形) 上記実施例は以下のように変形することが可能である。(4: Modification of Embodiment) The above embodiment can be modified as follows.

上述した実施例は、主に伴奏鍵盤の演算について説明
したが、メロディ鍵盤を付加し、メロディ演奏を合わせ
て行うよう構成してよい。
In the above-described embodiment, the calculation of the accompaniment keyboard has been mainly described, but a melody keyboard may be added and the melody performance may be performed together.

自動伴奏形態として、単独の和音演奏を示したが、ベ
ース音や自動アルペジオ演算等の他のパートと組み合わ
せることも可能である。さらに、上記実施例では根音自
体の発音は行わなかったが、根音も合わせて発音するよ
うに構成してもよい。
Although a single chord performance is shown as an automatic accompaniment form, it can be combined with other parts such as a bass sound and automatic arpeggio calculation. Further, although the root note itself is not pronounced in the above-mentioned embodiment, the root note may be also pronounced.

ディレイキーオンにおいて、専用のタイマ8によって
ディレイ時間の計時を行ったが、テンポクロックTPを用
いてディレイ時間を計時してもよい。
In the delay key-on, the dedicated timer 8 measures the delay time, but the tempo clock TP may be used to measure the delay time.

テンポの分解能や拍子は、実施例においては「48」お
よび4/4拍子であったが、これに限定されず、他の任
意の分解能および拍子を設定することも可能であり、ま
た、組み合わせて構成することも可能である。
The resolution and time signature of the tempo are “48” and 4/4 time signature in the embodiment, but the resolution and time signature are not limited to this, and it is also possible to set any other resolution and time signature, and to combine them. It is also possible to configure.

実施例においては、テーブルが複数設けられていた
が、これは1つでもよい。この場合は、テーブルセレク
トデータTBSELは不要となる。
Although a plurality of tables are provided in the embodiment, the number of tables may be one. In this case, the table select data TBSEL becomes unnecessary.

音程の変化は、実施例においては、発音態様指示デー
タPDによってテーブル内の音程態様番号TBLNOを選択す
ることによって行ったが、テーブルによらず演算で行っ
てもよい。
In the embodiment, the change of the pitch is performed by selecting the pitch mode number TBLNO in the table according to the sound mode instruction data PD, but it may be calculated without depending on the table.

例えば、半音下げる変化(第5図の音程態様番号2)な
どは、機械的にキーコードの数値を1減算するような処
理を行えばよい。
For example, in the case of a semitone lowering change (pitch mode number 2 in FIG. 5) or the like, a process of mechanically subtracting 1 from the key code value may be performed.

「発明の効果」 以上説明したように、この発明によれば、クロック信号
を発生するクロック発生手段と、前記クロック信号に基
づく各演奏タイミングにおいての発音の指示および発音
する和音の音程態様を指示するパターンデータデータを
記憶するパターンデータ記憶手段と、演奏すべき和音を
指定する和音指定手段と、前記音程態様と和音の種類と
に応じて複数音の音高情報を記憶する音程態様記憶手段
と、前記クロック信号に基づいて前記パターンデータを
順次読み出しこの読みだしたパターンデータによって発
音が指示されたとき、指示に対応する音程態様と前記和
音指定手段によって指示された和音の種類にしたがって
前記音声態様記憶手段から複数の音高情報を読み出し、
該複数の音高情報に基づいて発音すべき和音を構成する
音データ作成手段と、この音データイ作成手段から供給
される各音データに基づいて和音発生を行う楽音発生手
段とを具備したので、少ないデータ量で、しかも変化に
富んだ演奏が可能となり、伴奏音のためのデータを記憶
するメモリの容量を、従来のものに比較し大幅に節約す
ることができる。
"Effects of the Invention" As described above, according to the present invention, a clock generating means for generating a clock signal, and an instruction for sounding at each performance timing based on the clock signal and a pitch mode of a sounding chord are specified. Pattern data storage means for storing pattern data data, chord designating means for designating chords to be played, and pitch mode storage means for storing pitch information of a plurality of notes according to the pitch mode and chord type, When the pattern data is sequentially read out based on the clock signal and the pronunciation is instructed by the read pattern data, the voice mode storage is performed according to the pitch mode corresponding to the command and the chord type instructed by the chord designating means. Read out multiple pitch information from the means,
Since a sound data creating means for forming a chord to be produced based on the plurality of pitch information and a musical tone generating means for producing a chord based on each sound data supplied from the sound data producing means are provided, It is possible to perform a variety of performances with a small amount of data, and it is possible to greatly save the capacity of the memory for storing the data for accompaniment sounds as compared with the conventional one.

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

第1図はこの発明の一実施例の構成を示すブロック図、 第2図は同実施例で用いるキーコードとキーとの関係を
示す図、 第3図は同実施例におけるリズムパターンデータのフォ
ーマットを示す図、 第4図は自動伴奏の和音の音程を決定するテーブルの内
容を示す図、 第5図は発音態様指示データの機能を示す図、 第6図は同実施例のメインルーチンを示すフローチャー
ト、 第7図、第8図、第11図、第12図、第13図、第14図は各
々同実施例のサブルーチンを示すフローチャート、 第9図は自動伴奏中にキーイベントがあった場合の発音
処理を示すための図、 第10図は発音態様指示データの一例を示す図、 第15図はディレイキーオン処理を説明するためのタイミ
グ図、 第16図はディレイキーオン処理における禁止処理を示す
ためのタイミグ図、 第17図はタイキーオン処理を説明するための楽譜、 第18図は総合動作例における発音態様指示データの一例
を示す図、 第19図は第18図に示す発音態様指示データを用いた場合
の演奏例を示す楽譜である。 1……鍵盤回路、2……CPU、3……プログラムメモ
リ、4……ワーキングメモリ、5……リズムパターンメ
モリ、6……テーブルメモリ、7……テンポクロック発
生器、8……タイマ、12……トーンジェネレータ。
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention, FIG. 2 is a view showing a relationship between key codes and keys used in the embodiment, and FIG. 3 is a format of rhythm pattern data in the embodiment. FIG. 4, FIG. 4 is a diagram showing the contents of a table for determining the pitch of the chord of the automatic accompaniment, FIG. 5 is a diagram showing the function of the pronunciation mode instruction data, and FIG. 6 is the main routine of the same embodiment. Flow charts, FIG. 7, FIG. 8, FIG. 11, FIG. 12, FIG. 13, FIG. 13 and FIG. 14 are flow charts showing subroutines of the same embodiment respectively, and FIG. 9 is a case where there is a key event during automatic accompaniment. 10 is a diagram showing an example of pronunciation mode instruction data, FIG. 15 is a timing chart for explaining the delay key-on process, and FIG. 16 is a prohibition process in the delay key-on process. Timing chart for FIG. 17 is a musical score for explaining the tie-key on process, FIG. 18 is a diagram showing an example of pronunciation mode instruction data in the general operation example, and FIG. 19 is a performance using the pronunciation mode instruction data shown in FIG. It is a score showing an example. 1 ... Keyboard circuit, 2 ... CPU, 3 ... Program memory, 4 ... Working memory, 5 ... Rhythm pattern memory, 6 ... Table memory, 7 ... Tempo clock generator, 8 ... Timer, 12 ...... Tone generator.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】クロック信号を発生するクロック発生手段
と、 前記クロック信号に基づく各演奏タイミングにおいての
発音の指示および発音する和音の音程態様を指示するパ
ターンデータデータを記憶するパターンデータ記憶手段
と、 演奏すべき和音を指定する和音指定手段と、 前記音程態様と和音の種類とに応じて複数音の音高情報
を記憶する音程態様記憶手段と、 前記クロック信号に基づいて前記パターンデータを順次
読み出し、この読みだしたパターンデータによって発音
が指示されたとき、指示に対応する音程態様と前記和音
指定手段によって指示された和音の種類にしたがって前
記音声態様記憶手段から複数の音高情報を読み出し、該
複数の音高情報に基づいて発音すべき和音を構成する音
データ作成手段と、 この音データ作成手段から供給される音データに基づい
て和音発生を行う楽音発生手段と、 を具備することを特徴とする自動伴奏装置。
1. A clock generating means for generating a clock signal, and a pattern data storing means for storing pattern data data for instructing a sounding at each performance timing based on the clock signal and a pitch mode of a chord to be sounded. Chord designating means for designating chords to be played, pitch mode storing means for storing pitch information of a plurality of pitches according to the pitch mode and chord type, and the pattern data are sequentially read out based on the clock signal. When the pronunciation is instructed by the read pattern data, a plurality of pitch information is read from the voice mode storage means in accordance with the pitch mode corresponding to the command and the type of chord instructed by the chord designating means, Sound data creating means for composing a chord to be pronounced based on a plurality of pitch information, and creating this sound data Automatic accompaniment apparatus characterized by comprising a, a musical tone generating means for performing a chord generated based on the sound data supplied from the stage.
JP62333219A 1987-12-29 1987-12-29 Automatic accompaniment device Expired - Lifetime JPH0664471B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62333219A JPH0664471B2 (en) 1987-12-29 1987-12-29 Automatic accompaniment device
US07/291,110 US4939974A (en) 1987-12-29 1988-12-28 Automatic accompaniment apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62333219A JPH0664471B2 (en) 1987-12-29 1987-12-29 Automatic accompaniment device

Publications (2)

Publication Number Publication Date
JPH01177088A JPH01177088A (en) 1989-07-13
JPH0664471B2 true JPH0664471B2 (en) 1994-08-22

Family

ID=18263647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62333219A Expired - Lifetime JPH0664471B2 (en) 1987-12-29 1987-12-29 Automatic accompaniment device

Country Status (1)

Country Link
JP (1) JPH0664471B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7400798B2 (en) * 2021-12-15 2023-12-19 カシオ計算機株式会社 Automatic performance device, electronic musical instrument, automatic performance method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5834496A (en) * 1981-08-24 1983-02-28 ヤマハ株式会社 Automatic transposing instrument for electronic musical instrument
JPS5968687A (en) * 1982-10-13 1984-04-18 Hitachi Heating Appliance Co Ltd Ultrasonic object detector

Also Published As

Publication number Publication date
JPH01177088A (en) 1989-07-13

Similar Documents

Publication Publication Date Title
JP2576700B2 (en) Automatic accompaniment device
JP3829439B2 (en) Arpeggio sound generator and computer-readable medium having recorded program for controlling arpeggio sound
US4939974A (en) Automatic accompaniment apparatus
JPH0782325B2 (en) Motif playing device
US4674383A (en) Electronic musical instrument performing automatic accompaniment on programmable memorized pattern
US4619176A (en) Automatic accompaniment apparatus for electronic musical instrument
JPH0727382B2 (en) Automatic accompaniment device
JPH0664471B2 (en) Automatic accompaniment device
JPH0769698B2 (en) Automatic accompaniment device
JPH067331B2 (en) Automatic accompaniment device
JP2714455B2 (en) Motif playing device and motif playing method
JP3296182B2 (en) Automatic accompaniment device
JPH0683355A (en) Automatic accompaniment device
JP2705421B2 (en) Automatic accompaniment device
JP3120806B2 (en) Automatic accompaniment device
JPS61292689A (en) Electronic musical instrument with automatic accompanying device
JP3055352B2 (en) Accompaniment pattern creation device
JPH0769697B2 (en) Automatic accompaniment device
JP3082294B2 (en) Accompaniment sound signal forming device
JP2848322B2 (en) Automatic accompaniment device
JP3289037B2 (en) Motif playing device and motif playing method
JP2619237B2 (en) Automatic accompaniment device for electronic musical instruments
JP2988371B2 (en) Automatic accompaniment device
JP2576296B2 (en) Automatic accompaniment device for electronic musical instruments
JPH0320794A (en) Mode decision device and electronic musical instrument using same