JPH0727382B2 - Automatic accompaniment device - Google Patents
Automatic accompaniment deviceInfo
- Publication number
- JPH0727382B2 JPH0727382B2 JP62333218A JP33321887A JPH0727382B2 JP H0727382 B2 JPH0727382 B2 JP H0727382B2 JP 62333218 A JP62333218 A JP 62333218A JP 33321887 A JP33321887 A JP 33321887A JP H0727382 B2 JPH0727382 B2 JP H0727382B2
- Authority
- JP
- Japan
- Prior art keywords
- chord
- register
- key
- sound
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 「産業上の利用分野」 この発明は、和音の各構成音を順次ずらして発音するこ
とができる自動伴奏装置に関する。TECHNICAL FIELD The present invention relates to an automatic accompaniment apparatus capable of sequentially shifting each constituent sound of a chord and generating the sound.
「従来の技術」 伴奏用鍵盤の押鍵基づき自動伴奏を行う自動伴奏装置が
開発されている。“Prior Art” An automatic accompaniment device has been developed which performs automatic accompaniment based on the key depression of an accompaniment keyboard.
そして、この種の自動伴奏装置の中には、伴奏和音の各
構成音を所定のタイミングで順次ずらして発音し、特殊
な演奏効果(バッキング演奏効果)を奏するようにした
ものがある(実公昭57-93995号等)。Some automatic accompaniment devices of this type are arranged so that the constituent tones of the accompaniment chord are sequentially shifted at a predetermined timing to produce a special performance effect (backing performance effect). 57-93995 etc.).
「発明が解決しようとする問題点」 ところで、和音の構成音をずらして発音するように構成
した従来の自動伴奏装置においては、そのずらし間隔を
制御することができないため、演奏効果の多様性に乏し
いという欠点があった。"Problems to be Solved by the Invention" By the way, in the conventional automatic accompaniment apparatus configured to shift the constituent tones of the chords in a staggered manner, it is not possible to control the shifting interval, which results in a variety of performance effects. It had the drawback of being scarce.
また、従来の自動伴奏装置にあっては、遅延された構成
音が次のタイミングの和音より後に発音されることがあ
り、音楽的に不自然となる欠点があった。Further, in the conventional automatic accompaniment apparatus, the delayed constituent tones may be sounded after the chord at the next timing, which is unnatural to the music.
この発明は、上述した事情に鑑みてなされたもので、第
1の目的は、ずらし間隔を制御可能として演奏効果の多
様性を向上させ得る自動伴奏装置を提供することにあ
る。The present invention has been made in view of the above-mentioned circumstances, and a first object thereof is to provide an automatic accompaniment apparatus capable of controlling the shift interval and improving the variety of performance effects.
また、第2の目的は、遅延された構成音が次のタイミン
グの和音より後に発音されるのを防止することができる
自動伴奏装置を提供することにある。A second object is to provide an automatic accompaniment device capable of preventing the delayed constituent tones from being produced after the chord at the next timing.
「問題点を解決するための手段」 この発明は、上述した事情に鑑みてなされたもので、演
奏すべき和音を指定する和音指定手段と、クロック信号
に基づく和音の発生を曲の進行に従って順次指示するパ
ターンデータと和音の各構成音が発生するときのずれを
示すずらし時間データとを1つのパターンとして複数の
パターンを記憶するパターン記憶手段と、前記パターン
データ記憶手段に記憶されている複数のパターンの中か
ら1つを選択するパターン選択手段と、前記クロック信
号に基づいて前記パターン選択手段によって選択された
パターンの各データを読み出す読出し手段と、前記読出
し手段によって読み出されたパターンデータが和音の発
生を指示しているときには、前記読出し手段によって読
み出されたずらし時間データに従って、指定された和音
の各構成音の発生タイミングをずらす制御を行うずらし
発音制御手段と、前記和音指定手段によって指定された
和音の各構成音を前記ずらし発生制御手段によって制御
された発生タイミングで発生する楽音発生手段とを具備
することを特徴としている。"Means for Solving Problems" The present invention has been made in view of the above-mentioned circumstances. Chord designating means for designating chords to be played and generation of chords based on a clock signal are sequentially performed in accordance with the progress of a song. A plurality of patterns stored in the pattern data storage means and a pattern storage means for storing a plurality of patterns with the pattern data to be instructed and the shift time data indicating the deviation when each constituent sound of the chord is generated as one pattern. Pattern selecting means for selecting one of the patterns, reading means for reading each data of the pattern selected by the pattern selecting means based on the clock signal, and pattern data read by the reading means is a chord. Is instructed to occur, according to the shift time data read by the reading means, The shift sound generation control means for controlling the generation timing of each constituent sound of the designated chord and each constituent sound of the chord designated by the chord designating means are generated at the generation timing controlled by the shift generation control means. It is characterized by including a musical sound generating means.
また、他の構成としては、上記構成に加えて、前記読出
し手段による読み出しデータにより和音の構成音をずら
して発生することが指示された後の演奏タイミングにお
ける前記読出し手段による読み出しデータが和音の発生
を指示しているときには、前記ずらし発音制御手段によ
る和音の構成音をずらして発生させる制御を該演奏タイ
ミングの前に解除していまだ発生されていない構成音を
強制的に発生させる制御を行うずらし音解除手段を具備
することを特徴としている。As another configuration, in addition to the above configuration, the read data by the reading means at the play timing after the generation of the chord by generating the chord is instructed by the read data by the reading means. Is instructed, the control for shifting and generating the constituent sound of the chord by the shifting sound generation control means is canceled before the performance timing, and the control for forcibly generating the constituent sound that has not yet been generated is performed. It is characterized in that a sound canceling means is provided.
「作用」 和音の各構成音の発生タイミングをずらす時のずらし時
間がパターンデータと共にパターン記憶手段から読み出
され、このデータに基づいてずらし発音制御手段が動作
するので、各構成音のずらし時間の制御が行われる。"Operation" The shift time when shifting the generation timing of each constituent sound of the chord is read from the pattern storage means together with the pattern data, and the shift sound generation control means operates based on this data, so that the shift time of each constituent sound Control is performed.
また、ずらし発音解除手段を具備した場合は、ずらし発
音のために遅延された構成音の発音が、次の和音の発音
タイミングより後になることがない。Further, in the case where the shifted pronunciation canceling means is provided, the pronunciation of the constituent tones delayed for the shifted pronunciation does not occur later than the timing of producing the next chord.
「実施例」 以下、図面を参照してこの発明の実施例について説明す
る。[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変化するようになっており、C3音がキーコード「60」
となっている。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. In Fig. 2, the key code is displayed 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 "60".
Has become.
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 type. 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": At this address, 8-bit table select data TBLSEL designating one of the tables # 0, # 1 ... Shown in FIG. 4 is stored. 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 is slightly deviated depending on the strings (6 string side is fast, 1 string side is slow, or vice versa). ) Is used when reproducing.
アドレス「0」〜「23」:これらの各アドレスには、和
音の音程態様およびキーオン態様を示す発音態様指示デ
ータPDが第0番から第47番まで記憶されている。このよ
うに48の発音態様指示データPD0〜PD47が記憶されてい
るのは、この実施例において1小節(4拍子)を48分割
し、各分割タイミングにおいて発音制御を行うようにし
ているからである。この発音態様指示データPDは、16進
表示の(0)H〜(F)Hで表される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. In this way, 48 pronunciation mode instruction data PD 0 to PD 47 are stored because one measure (4 beats) is divided into 48 in this embodiment, and the pronunciation control is performed at each divided timing. Is. The pronunciation mode instruction data PD is 4-bit data represented by hexadecimal notation (0) H to (F) H ,
It is sequentially used in units of 4 bits according to each sounding timing. Here, the relation between the content and the instructed pronunciation mode is
Shown in the figure.
第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. Further, 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 specified by hexadecimal codes 1 to D. ch indicates a sound generation channel, and in this embodiment, ch0 to ch2
The three channels are used for automatic accompaniment with multiple sounds. 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)H〜(C)Hの場合
は、上述のように音程態様番号TEBNOを指示するが、(0)
Hときはキーオフを指示し、また、(F)Hのときは何もせ
ず前の状態を保持することを指示する。なお、発音態様
指示データPDの内容の(D)H,(E)Hは本実施例では使用し
ていない(第5図参照)。If the content of the pronunciation mode instruction data PD is (1) H to (C) H , the pitch mode number TEBNO is instructed as described above, but (0)
When it is H, it instructs the key-off, and when it is (F) H , it instructs it to keep the previous state without doing anything. The contents (D) H and (E) H of the pronunciation mode instruction data PD are 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 determined according to the tempo data TD supplied from the CPU 2 via the bus line B.
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,DL2:チャンネルch1,ch2のディレイタイム
を計時するレジスタであり、第3図に示すディレイタイ
ムデータが書き込まれる。ディレイ演奏時においては、
タイマ8がクロックを出力する毎に減算され、このレジ
スタDL1,DL2の内容が0となったときに該当するチャン
ネルの発音が許可される。Registers DL1, DL2: Registers for measuring the delay times of the channels ch1, ch2, and the delay time data shown in FIG. 3 is written therein. When playing delay,
The timer 8 is decremented each time the clock is output, and when the contents of the registers DL1 and 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, ... 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 calculated 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+1が書き込まれ
る。Registers DT and NDT: Each is a register into which the sounding mode instruction data PD is written, the sounding mode instructing data PD n at that time is written to the register DT, and the sounding mode instructing data PD n + at the next timing is written to the register NDT. 1 is written.
レジスタKEY0〜2:トーンジェネレータ12内の発音チャ
ンネルch0〜ch2に対応して設けられているキーコードバ
ッファである。このレジスタKEY0〜KEY2に書き込まれる
キーコードによって発音チャンネルch0〜ch2が発音する
音の音高が決定される。Registers KEY 0 to 2 : Key code buffers provided corresponding to tone generation channels ch0 to ch2 in the 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 the flag MODE: "0", a new key code is newly written to the channel chi ( i = 1 to 2 ) to instruct a normal key-on mode for key-on. When it is "1", a sounding process for switching only the key code to a sounding channel that is already in a sounding state (details of this process will be described later) is instructed.
レジスタRTKEY:レジスタROOT内の根音データの音域を変
換したキーコードが書き込まれるレジスタである。Register RTKEY: A register into which a key code obtained by converting the range of the root note data in the register ROOT 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内の各種レジスタ、フラグ
(KCBUF、RUN、DL1、DL2等)がクリアされ、その後にお
いてステップSP2以降の処理に移る。A: Normal Main Routine "MAIN" FIG. 6 is a flowchart showing the main routine of this embodiment. First, when the power is turned on, various registers and flags (KCBUF, RUN, DL1, DL2, etc.) in the working memory 4 are cleared as an initial process, and then the process proceeds to step SP2 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において、それ以前に選択されていたリズム種類によ
る伴奏の発音を停止し、新たに選択されたリズムによる
伴奏に備え、その後にステップSP11においてキーイベン
トの有無の判定を行う。一方、ステップSP9の判定が、
「NO」の場合は、以前から継続して自動伴奏が行われて
いない場合か、自動伴奏を停止すべくステップSP3にお
いてフラグRUNをクリアした場合である。したがって、
すでにトーンジェネレータ12内のチャンネルch0〜ch2の
発音は停止されているから、ステップSP10の処理を行わ
ず、直ちにステップSP11の判定を行う。ステップSP11の
判定は、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 channels 2 ch0 to ch2, and turn off all rhythm sounds (percussion). And
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 SP11, the presence or absence of a key event is determined. On the other hand, the determination in step SP9 is
In the case of "NO", it is the case where the automatic accompaniment has not been continuously performed from before, or the flag RUN is cleared in step SP3 in order to stop the automatic accompaniment. Therefore,
Since the sound generation of the channels ch0 to ch2 in the tone generator 12 has already been stopped, the process of step SP10 is not performed, and the determination of step SP11 is immediately performed. The determination in step SP11 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 in accordance with the operation of the 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 a key depression different from the chord performance such as 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 operation of CLK.MOD.12, that is, the operation of dividing the content 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 judgment is to judge whether 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”,
It 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 process is a process for matching the automatic accompaniment performed before that with the automatic accompaniment based on the new key event when there is a key event.
まず、ステップSPb1において、選択されているリズム種
類と、レジスタTYPEの内容に基づいて次に演奏すべきパ
ターンデータRPDを読出し、レジスタPATに書き込む。そ
して、ステップSPb2においては、読出したパターンデー
タRPDのアドレス「−2」にあるテーブルセレクトデー
タTBLSELおよびアドレス「−1」にあるディレイタイム
データ(第3図参照)を、各々レジスタTBLSEL.Rおよび
レジスタDLYTMに書き込む。次に、ポインタPNTにレジス
タCLKの値、すなわち、その時点におけるクロックのカ
ウント値を書き込み(ステップSPb3)、PMT.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ビットにある
発音態様指示データPD1が選択され、また、クロックカ
ウント値が「46」のときはアドレス23の下位4ビットに
ある発音態様指示データPD46が選択される(第3図参
照)。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 to the pointer PNT (step SPb3), and it is determined whether the calculated value of PMT.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. Steps described above
The processing of SPb4 to SPb6 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 tone generation mode instruction data PD 1 in the upper 4 bits of the address "0" is selected, and when the clock count value is "46", the address 23 The sound generation mode instruction data PD 46 in the lower 4 bits of is selected (see FIG. 3).
上記処理において、クロックカウント値に対応した発音
態様指示データPDがレジスタDTに書き込まれると、ステ
ップSPb7に移りレジスタDTの内容が(F)Hか否か、すなわ
ち、「何もしない」を指示するものであるかどうかが判
断される。この判断が「YES」の場合は、ポインタPNTの
値を1減算し、ステップSPb9を介して再びステップSPb4
以降の処理を行う。この処理はレジスタDTの内容が(F)H
以外のものとなるまで続けられる。そして、(F)H以外の
データが検出されると、ステップSPb11に移りレジスタD
Tの内容が「0」かどうか、すなわち、キーオフを指示
するデータであるかどうかを判断する。この判定が「YE
S」の場合は、レジスタKEY0〜2の内容が「0」であれ
ばメインルーチン“MAIN"(第6図参照)へリターン
し、「0」でなければトーンジェネレータ12のチャンネ
ルch0〜2を全てキーオフするとともに(ステップSPb1
6,SPb17)、レジスタKEY0〜2をクリアした後にリター
ンする。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 it is instructed whether or not the content of the register DT is (F) H , that is, "do nothing". It is determined whether it is a thing. If this determination is “YES”, the value of the pointer PNT is decremented by 1, and the step SPb4 is executed again through the step SPb4.
Perform the following processing. In this process, the contents of register DT is (F) H
It continues until it becomes something other than. Then, when data other than (F) H is detected, the process moves to step SPb11 and the register D
It is determined whether the content of T is "0", that is, whether it is data for instructing key-off. This judgment is "YE
In the case of S ", if the contents of the register KEY 0 ~ 2 is" 0 "to return to the main routine" MAIN "(see FIG. 6), the channel ch0~2 of not" 0 "tone generator 12 Key off all (Step SPb1
6, SPb17), to return to after clearing the register KEY 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メジャへの変更
があったとする。この変更によって新たに読出された和
音Fメジャに対応するパターンデータRPDが譜面上で第
9図(ロ)に示されるものであったとする。この譜面を
発音態様指示データにすると例えば第10図に示すように
なる。ここで、第3拍目の先頭タイミングにおけるレジ
スタDLKの値は「24」であるから、ステップSPb3におい
てポインタPNTに書き込まれる値は「24」となる。そし
て、ステップSPb4→SPb5→SPb7の処理により、ステップ
SPb7においては発音態様指示データPD24の値が(F)Hか否
かが判断される。この場合は、(F)Hであるから判定は
「YES」となる。ところで、(F)Hの意味は「何もしな
い」であるから、それ以前にキーオンが指示されていれ
ばその発音を継続し、キーオフが指示されていれば消音
状態を維持しなければならない。したがって、あるタイ
ミングにおける発音態様指示データPDが(F)Hである場合
には、新たにどのような発音制御をすべきか不明であ
る。このため、それ以前のタイミングの発音態様指示デ
ータであって(F)H以外のものをサーチする必要がある。
ステップSPb4〜SPb10の処理は、このサーチを行う処理
である。さて、上記例にあっては、発音態様指示データ
PD24が(F)Hであるから、1つ前の発音態様指示データPD
23を調べると、(0)Hなっており、クロックカウント値
「24」においては消音を維持しなければならないことが
判る。この消音の判断は、ステップSPb11において「YE
S」となった場合に対応する。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. It is assumed that the pattern data RPD corresponding to the chord F major newly read by this change is shown in FIG. 9B on the musical score. When this musical score is used as the pronunciation mode instruction data, it becomes as shown in FIG. 10, for example. Since the value of the register DLK at the start 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
In SPb7, it is determined whether or not the value of the tone generation instruction data PD 24 is (F) H. 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 is continued, and if the key-off is instructed, the mute state must be maintained. Therefore, if the pronunciation mode instruction data PD at a certain timing is (F) H, it is unknown what kind of new pronunciation control should be performed. For this reason, it is necessary to search for the pronunciation mode instruction data of the timing before that other than (F) H.
The processing of steps SPb4 to SPb10 is processing for performing this search. Now, in the above example, the pronunciation mode instruction data
Since PD 24 is (F) H , the preceding pronunciation mode instruction data PD
Examining 23 , it is (0) H , and it can be seen that the mute must be maintained at the clock count value "24". This mute determination is made in step SPb11 by selecting "YE
It corresponds when it becomes "S".
ところで、キーイベントがある前の和音Cメジャの伴奏
時のパターンデータRPDが譜面上では第9図(ハ)のよ
うに表されるとする。この場合にあっては、同図に示す
ようにクロックカウント値「23」で消音が指示されてい
るから、この時点におけるレジスタKEY0〜2の内容は、
消音指示のためにすべて「0」となっている。なすわ
ち、クロックカウント値「24」における発音態様が、変
更前(同図(ハ))と変更後(同図(ロ))とで同じで
ある。このような場合には、ステップSPb15の判定が「Y
ES」となり、発音制御処理は行わずにそのままリターン
する。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 are "0" because of the mute instruction. That is, the sound generation mode at the clock count value “24” 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 "Y
It becomes "ES", and the sound production control process is not performed and the process directly returns.
一方、キーイベントがある前の和音Cメジャの伴奏時の
パターンデータRPDが譜面上で第9図(ニ)のように表
されるとする。この場合にあっては、同図に示すよう
に、クロックカウント値「23」では2拍目に発音した音
を継続している必要がある。したがって、レジスタKEY0
〜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, at the clock count value "23", it is necessary to continue the sound produced at the second beat. Therefore, register KEY 0
Key codes (key codes of dotted quarter notes) corresponding to the pronunciation of the second beat are written in 2 to 2 , respectively. But,
It is necessary to mute the clock count value "24" (third beat) after changing the chord (see (b) in the figure). Therefore,
In the above case it is to key off to mute the sound channel ch0~2 tone generator 12 proceeds to step SPb16, further returns to clear the register KEY 0 ~ 2 (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 at 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)H、(0)H以外のとき、および、当
該タイミングから順次さかのぼって検出された発音態様
指示データPDが(0)H以外のときは、変更後において発音
が指示される場合である。この場合にはステップSPb11
の判定が「NO」となるから、ステップSPb12の判定を行
う。この判定は前述のステップSPb15の判定と同様の判
定であり、「YES」の場合は、変更前のパターンデータ
により当該タイミングにおいて消音されている。また、
「NO」の場合には変更前のパターンデータにより当該タ
イミングで発音がなされている。そして、ステップSPb1
2の判定が「YES」のときはフラグMODEに“0"が書き込ま
れ、「NO」のときはフラグMODEに“1"が書き込まれる
(ステップSPb13,14)。そして、この処理の後にサブル
ーチン“PAT・KEY"の処理に移る。発音処理は、このサ
ブルーチンにおいて行われる。When the pronunciation pattern instruction data PD at the relevant timing in the changed pattern data is other than (F) H and (0) H , and the pronunciation pattern 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, step SPb11
Therefore, the determination in step SPb12 is performed. This determination is the same as the determination in step SPb15 described above, and in the case of "YES", the sound is muted at the timing by the pattern data before the change. Also,
In the case of "NO", the sound is produced at the timing according to the pattern data before the change. And step SPb1
When the determination of 2 is "YES", "0" is written in the flag MODE, and when it is "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).M
OD.4の演算を行い、演算結果をレジスタTBLNO.Rに書き
込む。この演算は、発音態様指示データPDの値を音程態
様番号TBLNOに変換する演算である(第5図参照)。次
に、ステップSPc2においては、発音態様指示データPDの
値をキーオン態様番号に変換する演算、すなわち、INT
{(DT-1)/4}を行い、その演算結果をレジスタKONTP
に書き込む。ステップSPc3においては、レジスタOKEYi
にレジスタKEYi(i=0〜2)の値を書き込む。ステッ
プSPc3の処理は、この時点でチャンネルch0〜2におい
て発生されている前回のキーコードを、同一番号のレジ
スタOKEYに書き込む処理である。次に、ステップSPc4に
移り、図示の演算によって根音の音域をG3〜F♯3に変
更し、変更後の根音をレジスタRTKEYに書き込む処理を
行う。この処理例を示す。今、レジスタROOT内の根音デ
ータがC音を示す「0」の場合は、(ROOT+5).MOD.1
2の演算を行うと「5」となり、これに「55」を加算す
ると「60」となる。キーコード「60」は第2図に示すよ
うに、C3音のキーコードである。First, in step SPc1 shown in FIG. 11, (DT-1) .M
Performs the operation of OD.4 and writes the operation result in the register TBLNO.R. 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 pronunciation mode instruction data PD into a key-on mode number, that is, INT
Perform {(DT-1) / 4} and register the operation result in the register KONTP
Write in. In step SPc3, register OKEYi
Write the value of register KEYi (i = 0 to 2) to. The process of step SPc3 is a process of writing the previous key code generated in the channels ch0 to ch2 at this point in the register OKEY having the same number. Then, the flow proceeds to step SPc4, change the range of the root by the calculation shown in G 3 ~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. If the root note data in the register ROOT is "0" indicating C note, (ROOT + 5) .MOD.1
When the calculation of 2 is performed, it becomes "5", and when "55" is added to this, it becomes "60". The key code “60” is a key code of C 3 note, as shown in FIG.
次に、ステップSPc5においては、レジスタTBLSEL.R(ス
テップSPb2でセット済み)内のセレクト番号に一致する
テーブルを読出し、このテーブルにおいてレジスタTBLN
O.R内の音程態様番号TBLNOに対応するデータを読出す。
そして、この読出したデータの各チャンネルch0〜2に
対応する数値をレジスタRTKEYの値にそれぞれ加え、こ
の加算結果をレジスタKEY0〜2に各々書き込む。今、レ
ジスタRTKEYの内容がキーコード「60」であり、かつ、
テーブルが♯0、音程態様番号TBLNOが0、コードタイ
プがM(メジャー)であった場合は、第4図に示すよう
に4,7,12が各々60に加算される。したがって、レジスタ
KEY0にはキーコード「64」が、レジスタKEY1にはキーコ
ード「67」が、レジスタKEY2にはキーコード「72」が各
々書き込まれる。これらのキーコード「64」,「67」,
「72」は各々E3音、G3音、C4音に対応する。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, added respectively a number corresponding to each channel ch0~2 the read data to the value of the register RTKEY, writes each the addition result to the register KEY 0 ~ 2. Now, the content of the register RTKEY is the key code "60", and
When the table is # 0, the pitch mode number TBLNO is 0, and the chord type is M (major), 4, 7, and 12 are added to 60 as shown in FIG. Therefore, the register
The KEY 0 key code "64", the register KEY 1 key code "67" is, in the register KEY 2 key code "72" is written, respectively. These key codes "64", "67",
"72" each E 3 sound, G 3 sounds, corresponding to C 4 sounds.
ステップSPc5の処理が終わると、ステップSPc6に移りレ
ジスタKONTPの内容が「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 KONTP 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に書き込んだキーコードとトーンジェネレータ
12内の発音チャンネル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
It is determined whether or not the content of MODE is "1", and if "NO", the key code written in the registers KEY 0 to 2 in step SPc5 is used for each tone generation channel in the tone generator 12.
It is supplied to ch0 to ch2, and the key code is sounded (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 and tone generator written in the KEY 0 ~ 2
Sound is generated by exchanging the key codes in the sound generation channels ch0 to ch2 in 12 (step SPc9). In this way, the key codes are exchanged when the register MODE is "1" because the tone generation 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 accompaniment 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の内容
をレジスタCHDに書き込んだ後に上記サブルーチン“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 CHD, 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においては、リズム種
類とレジスタTYPE内のコードタイプデータに基づき、演
奏すべきパターンデータRPDが選択され、レジスタPATに
書き込まれる。そして、パターンデータRPDのアドレス
「−2」、「−1」にあるテーブルセレクトデータTBLS
ELおよびディレイタイムデータを、各々レジスタTBLSE
L.RおよびレジスタDLYTMに書き込む。次に、ステップSP
e3においては、レジスタCLKの内容が偶数か奇数かが判
断され、偶数であればステップSPe4に進み、レジスタDT
およびNDTにパターンデータのアドレス「CLK/2」の下位
4ビットおよび上位4ビットにある発音態様指示データ
PDnおよびPDn+1(nはレジスタCLKの内容)を各々書き
込む。また、レジスタCLKの内容が奇数であればレジス
タDTおよびNDTに、パターンデータのアドレス「(CLK-
1)/2」の上位4ビットおよびアドレス「(CLK+1)/
2」の下位4ビットにある発音態様指示データPDnおよび
PDn+1が書き込まれる(ステップSPe5)。このステップS
Pe4,SPe5の処理により、レジスタDTにはその時点で処理
すべき発音態様指示データPDが書き込まれ、レジスタND
Tには次のタイミング(CLK+1)で処理すべき発音態様
指示データPDが書き込まれる。例えば、レジスタCLKの
内容が「4」の場合は、第5図に示すアドレス「2」の
発音態様指示データPD4,PD5がレジスタDT,NDTに書き込
まれ、レジスタDLKの内容が「5」の場合はアドレス
「2」の発音態様指示データPD5と、アドレス「3」の
発音態様指示データPD6とがレジスタDT,NDTに書き込ま
れる。なお、ステップSPe5においてCLK+1の値が「4
8」となった場合は、アドレス「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 TYPE, 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
At e3, it is judged whether the content of the register CLK is even or odd. If it is even, the process proceeds to step SPe4 and the register DT
And NDT have pronunciation data indicating the lower 4 bits and upper 4 bits of the address "CLK / 2" of the pattern data.
PD n and PD n + 1 (n is the content of register CLK) are written respectively. If the content of the register CLK is odd, the pattern data address “(CLK-
1) / 2 "upper 4 bits and address" (CLK + 1) /
2 ”, the pronunciation mode instruction data PD n and the lower 4 bits
PD n + 1 is written (step SPe5). This step S
By the processing of Pe4 and SPe5, the tone generation mode instruction data PD to be processed at that time is written in the register DT, and the register ND
The tone generation mode instruction data PD to be processed at the next timing (CLK + 1) is written in T. For example, when the content of the register CLK is "4", the tone generation mode instruction data PD 4 and PD 5 at the address "2" shown in FIG. 5 are written in the registers DT and NDT, and the content of the register DLK is "5". for the sound mode instruction data PD 5 of address "2", and the pronunciation mode instruction data PD 6 of address "3" is written register DT, the NDT. Note that the value of CLK + 1 is "4" in step SPe5.
When it becomes "8", the lower 4 bits of the address "0" are written.
次に、ステップSPe6においては、レジスタDTの内容が
(F)Hかどうか、すなわち、当該タイミングにおいて処理
すべき発音態様指示データPDが「何もしない」であるか
どうかが判断される。この判定が「YES」の場合は、ス
テップSPe11に進み、レジスタNDTの内容が(F)Hかどう
か、すなわち、次に処理すべき発音態様指示データPDが
「何もしない」であるかどうかが判断される。この判断
が「YES」であればリターンし、「NO」であればステッ
プSPe12においてレジスタDL1の内容が「0」かどうかが
判断される。レジスタDL1は、第6図に示すステップSP1
のイニシャライズ処理によりクリアされているから、ス
テップSPe12の判定が「YES」となり、ステップSPe15に
進んでレジスタDL2の内容が「0」か否かが判定され
る。このレジスタDL2もステップSP1においてリセットさ
れているから、判定は「YES」となってリターンする。
このように、レジスタDTの内容が(F)Hである場合には、
ステップSPe6,SPe11を介し、あるいはさらにステップSP
e12,SPe15を介してサブルーチン“CLK・IRQ"のステップ
SPd5にリターンする。ステップSPd5においては、レジス
タCLKの内容を1インクリメントする処理が行われる。
なお、ステップSPd5において図示の演算を行っているの
は、レジスタCLKの内容を「0」〜「47」で循環させる
ためである。Next, in step SPe6, the contents of the register DT are
(F) It is determined whether or not it is H , that is, whether or not 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 it is determined whether the content of the register NDT is (F) H , that is, whether the tone generation mode instruction data PD to be processed next is “do nothing”. To be judged. 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". The register DL1 has the step SP1 shown in FIG.
Since it has been cleared by the initialization process of step SPe12, the determination at step SPe12 becomes "YES", and the processing proceeds to step SPe15, at which it is determined whether the content of the register DL2 is "0". Since this register DL2 has also been reset in step SP1, the determination is “YES” and the routine returns.
Thus, if the contents of register DT is (F) H ,
Via step SPe6, SPe11 or further step SP
Step of subroutine "CLK / IRQ" via e12 and SPe15
Return to SPd5. In step SPd5, a process of incrementing the content of the register CLK by 1 is performed.
The calculation shown in step SPd5 is performed in order to circulate the contents of the register CLK between "0" and "47".
一方、第13図に示すステップSPe6において「NO」となる
と、ステップSPe7に移り、レジスタDTの内容が(0)Hであ
るか否かが判断される。この判断が「YES」であれば、
当該タイミングにおいてキーオフが指示されているか
ら、トーンジェネレータ12の発音チャネルch0〜ch2をす
べてキーオフさせ、また、レジスタKEY0〜2をクリアす
る(ステップSPe8,SPe9)。ステップSPe7において「N
O」と判断された場合は、ステップSPe10においてフラグ
MODEを“0"にした後サブルーチン“PAT・KEY"の処理に
移る。On the other hand, when “NO” is obtained in step SPe6 shown in FIG. 13, the process proceeds to step SPe7, and it is determined whether or not the content of the register DT is (0) H. If this judgment is "YES",
Since key-off is indicated in the timing, all the sound channel ch0~ch2 the tone generator 12 is key-off, also clears the register KEY 0 ~ 2 (step SPe8, SPe9). In step SPe7, "N
If "O" is determined, the flag is set in step SPe10.
After setting MODE to "0", move to the subroutine "PAT / KEY" processing.
サブルーチン“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. If the key-on mode is normal, step
It returns to step SPd5 of FIG. 12 through SPe11 or step SPe12SPe15 and increments 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・K
EY"の処理について説明する。This delay key-on is a subroutine "PAT KEY",
It 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 ・ K"
The processing of "EY" will be described.
サブルーチン“PAT・KEY"(ディレイキーオン) まず、ステップSPc1からSPc6までは、ノーマルの場合と
同様であるが、ステップSPc6の判定によりステップSPc1
0に移り、レジスタMODが“1"か否かが判断される。この
判定が「YES」の場合は、ステップSPc9に移り、チャン
ネルCh0〜ch2内のキコードをレジスタKEY0〜2内のキコ
ードにすり替えて3つのキコードをすべて発音する。す
なわち、ディレイキーオン処理を行わず、3音同時発音
とする。これは、レジスタMODが“1"となるのは、和音
変更のキーイベントがあった場合において、変更前のパ
ターンデータによって発音が継続される場合であるか
ら、新たなキコードによってディレイキーオンを行うと
音楽的に不自然となるためである。Subroutine "PAT KEY" (delay key ON) First, steps SPc1 to SPc6 are the same as those 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 register KEY 0 ~ in 2 Kikodo 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に移り、レジスタKEY0内のキコードをチャン
ネルch0に供給してキーオンする。すなわち、レジスタK
EY0のキーコード(第4図に示すように和音を構成する
音の最低音)はディレイキーオンせず直ちに発音する。
ステップSPc12の処理が終わると、直ちにメインルーチ
ン“MAIN"にリターンするか、第13図のステップSPe11→
(SPc12,15)→第12図のSPd5を介してメインルーチンに
リターンする。前者は、サブルーチン“PAT・CHG"にお
いて“PAT・KEY"がコールされた場合であり、後者はサ
ブルーチン“PAT・READ"において“PAT・KEY"がコール
された場合である。そして、メインルーチン“MAIN"を
循環中においてタイマ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 flow proceeds to step SPc12, to the key-on to supply Kikodo in register KEY 0 to channel ch 0. That is, register K
The EY 0 key code (the lowest note in the chords as shown in FIG. 4) is played immediately without delay key-on.
Immediately after the processing of step SPc12 is completed, the process returns to the main routine "MAIN" or step SPe11 of FIG. 13 →
(SPc12,15) → Return to the main routine via SPd5 in FIG. The former is the case where "PAT-KEY" is called in the subroutine "PAT-CHG", and the latter is the case where "PAT-KEY" is called in the subroutine "PAT-READ". Then, when the pulse signal IP is output from the timer 8 during the circulation of the main routine "MAIN", the process proceeds to the subroutine "TIMER / IRQ". In this case, since the cycle of the pulse signal IP is set sufficiently shorter than the tempo clock TP, it is normally the next tempo clock TP.
Before is supplied, the processing of the subroutine "TIMER / IRQ" is performed.
サブルーチン“TIMER・IRQ" まず、ステップSPf1においてフラグRUNの内容が“1"か
否かが判断され、「NO」であればメインルーチン“MAI
N"にリターンし、「YES」であればステップSPf2に進
む。ステップSPf2ではレジスタDL1の内容が「0」か否
かが判断され、「0」であればステップSPf6に進み、
「0」でなければレジスタDL1の内容が1減算される
(ステップSPf3)。そして、減算後のレジスタDL1の内
容が「0」か否かが判断され(ステップSPf4)、「0」
であればチャンネルch1にレジスタKEY1内のキーコード
を供給してキーオンする。ステップSPf4の判定が「NO」
の場合は、ステップ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 judged whether or not the content of the register DL1 is "0". If it is "0", the process proceeds to step SPf6.
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, the key code in register KEY 1 is supplied to channel ch1 to turn it on. The judgment of step SPf4 is "NO"
In case of, proceed to step SPf6.
次に、ステップSPf6〜SPf9の処理は、上述したSPf2〜SP
f5までの処理と全く同様の処理をレジスタDL2について
行う処理である。そして、ステップSPf9の処理が終わる
とリターンし、再び、パルス信号IPが供給された時点で
このサブルーチン“TIMER・IRQ"に戻る。このように、
パルス信号IPが供給される毎にサブルーチン“TIMER・I
RQ"の処理が行われると、当初ディレイタイムデータが
書き込まれていたレジスタDL1,DL2の内容がステップSPf
3,SPf7の処理により順次減算されていき、減算結果が
「0」となったときにおいてレジスタKEY1,KEY2内のキ
ーコードが、チャンネルch1もしくはチャンネルch2に供
給されキーオンされる。すなわち、チャンネルch1の発
音はチャンネルch0よりディレイタイムデータ分だけ遅
れ、また、レジスタDL2の内容がレジスタDL1内容の2倍
であることから(ステップSPc11参照)、チャンネルch2
の発音はチャンネル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 channel ch1 is delayed from the channel ch0 by the delay time data, and the content of the register DL2 is twice the content of the register DL1 (see step SPc11).
The pronunciation of is delayed by the delay time data from the pronunciation of channel ch1. The illustration is as shown in FIG.
サブルーチン“PAT・READ"のステップSPe13〜SPe17 ところで、曲のテンポが速い場合は、ディレイキーオン
処理を行うと、ディレイ処理されたキーコードの発音タ
イミングが後に発音されるべき次の音符よりも遅れるこ
とが生じる。例えば、第16図に示すように、最初の16分
音符の和音についえディレイキーオン処理を行った場合
に、チャンネルch2の発音タイミングが、次の16分音符
の発音タイミングt1より遅れる場合がある。これは音楽
的に不自然なため、かかる場合はディレイ処理を中断
し、チャンネルch2の発音タイミングをタイミングt1の
前にずらす処理を行うようにしている。Steps SPe13 to SPe17 of the subroutine "PAT READ" By the way, if the tempo of the song is fast, the delay key-on processing causes the sound timing of the delayed key code to lag behind the next note to be sounded later. Occurs. For example, as shown in Fig. 16, when the delay key-on process 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 so because musically unnatural, when such interrupts the delay processing, performs processing for shifting the tone generation timing of the channel ch2 before timing t 1.
サブルーチン“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が発せられたとする。この結果、処
理はサブルーチン“CLK・IRQ"を介して“PAT・READ"に
至る。そして、ステップSPe1〜ステップSPe6を経てステ
ップSPe11の判定が行われる。この場合、次のテンポク
ロックTPのタイミングにおいて音発生を行う場合は、ス
テップSPe11の判定が「NO」となるから、ステップSPe12
に移り、レジスタDL1の内容が「0」か否かが判断され
る。この判定が「NO」であれば、発音チャンネルch1に
ついては未だディレイキーオン処理が行われていない場
合であるから、ステップSPe13おいてレジスタDL1をクリ
アし、さらにチャンネルch1にレジスタKEY1内のキーコ
ードを供給して強制的にキーオンする(ステップ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 process reaches "PAT / READ" through the subroutine "CLK / 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 determined 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 also 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", it means that 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に移りレジスタOKEYiと
レジスタKEYiの内容が比較される。この処理は、ステッ
プSPc3においてレジスタOKEYiに書き込んだ前回のキー
コードデータとステップSPc5においてレジスタKEYiに書
き込んだ今回のキーコードデータとが一致しているかど
うかを判断する処理である。また、ステップSPc15にお
いては、レジスタiとレジスタjの内容が異なっている
か否かも判定する。このステップSPc15における最初の
判断は、レジスタOKEY0とレジスタKEY0の内容比較とな
るが、i=jであるので判定はNOとなり、ステップSPc1
7に移る。ステップSPc17においては、レジスタjの内容
に1が加算され、ステップSPc18の処理に移る。ステッ
プSPc18は、レジスタjの値が「3」未満か否かを判定
する処理であり、ステップSPc17の加算処理が2回以下
のときは「YES」となり、再びステップSPc15に移り比較
処理を行う。ステップSPc15における2回目の比較処理
は、OKEY0=KEY1か否かの比較である。この判断が「YE
S」であれば、レジスタKEYiとレジスタKEYjの内容を入
れ換える(ステップSPc16)。すなわち、上記の場合に
おいては、レジスタKEY0とレジスタKEY1の内容を入れ換
える。以後同様にしてレジスタjの内容をインクリメン
トし、再びステップSPc15の処理を行う。この処理の後
にステップSPc17の処理を行うと、ステップSPc18の判定
が「NO」となり、ステップSPc19においてレジスタiの
内容がインクリメントされる。次に、ステップSPc20に
進み、レジスタiの内容が3未満か否かが判断される。
この判断はステップSPc19の処理が2回以下のときは「Y
ES」となるから、処理は再びステップ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 determination of step SPc6, and the routine proceeds to step SPc13. In step SPc13, the register i is cleared, and further, in step SPc14, the register j is cleared. Then, in step SPc15, the contents of the register OKEYi 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 OKEYi 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, and the step SPc1
Go to 7. 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 of determining whether or not the value of the register j is less than "3". If the addition process of step SPc17 is less than or equal to "2", it becomes "YES", and the process proceeds to step SPc15 again to perform the comparison process. The second comparison processing in step SPc15 is a comparison as to whether or not OKEY 0 = KEY 1 . This judgment is "YE
If "S", 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. When the process of step SPc17 is performed after this process, the determination at step SPc18 becomes "NO", and the content of the register i is incremented at step SPc19. Next, in step SPc20, it is determined whether the content of the register i is less than 3.
This judgment is “Y” when the processing in step SPc19 is less than twice.
Since it becomes "ES", the process 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 processing is performed, and when the step SPc20 is reached again, this determination is “NO”.
Then, the loop consisting of steps SPc14 to SPc20 is exited.
このループの処理によってレジスタOKEYi=KEYjとなっ
た場合は、レジスタKEYiの内容とレジスタKEYjの内容が
入れ換えられる。これにより、レジスタKEYi(i=0〜
2)内の次に発音すべきキーコードが、現在発音されて
いる発音チャンネルchiのキーコードと同じ場合は、当
該発音チャンネルと同一の番号のレジスタKEYiに入れ換
えられる。ただし、発音チャンネルchiと同一番号のレ
ジスタKEYiに初めから同じキーコードが書き込まれてい
る場合は、入れ換えの必要がないので、この処理は行わ
れない。When the register OKEYi = KEYj 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 (i = 0 ~
If the key code to be sounded next in 2 ) is the same as the key code of the sounding channel chi that is currently sounded, it is replaced with the register KEYi having the same number as that sounding channel. 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図に示すように現在G3音,B3音,D4音によ
る和音(和音G)が奏せられており、レジスタOKEY0,OK
EY1,OKEY2に各々キーコード「67」,「71」,「74」が
書き込まれているとする。そして、次に発音すべき音が
E3音,G3音,D4音(和音C9th)でレジスタKEY0,KEY1,KE
Y2に各々キーコード「64」,「67」,「74」が書き込ま
れているとする。この場合には、KEY2=OKEY2、KEY1=O
KEY0であり、KEY0については一致するものがない。した
がって、レジスタKEY2はそのままであるが、レジスタKE
Y1とKEY0の内容は入れ換えられる。対応関係を示すと以
下のようになる。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 Okey 0, OK
It is assumed that the key codes “67”, “71”, and “74” are written in EY 1 and OKEY 2 , respectively. And the next sound to be pronounced
Registers KEY 0 , KEY 1 , and KE with E 3 note, G 3 note, and D 4 note (chord C 9th )
It is assumed that the key codes “64”, “67” and “74” are written in Y 2 respectively. In this case, KEY 2 = O KEY 2 , KEY 1 = O
It is KEY 0 and there is no match for KEY 0 . Therefore, register KEY 2 remains the same, but register KE
The contents of Y 1 and KEY 0 are exchanged. 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
It is judged whether the flag MODE is "1" or not, and if it is "NO", it means that there is no sound currently being sounded. Therefore, the key code of the register KEYi is supplied to the sound generation channel chi to perform the key-on processing. (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 manner, 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については新たな発音処
理が行われず、前回の音であるD4音とG3音が継続して発
せられる。また、発音チャンネルch1については、ステ
ップSPc24において新たにE3音の発音が為される。この
結果、第17図に示すように、D4音とG3音は、タイ記号に
よりつながれた音符として発音される。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 continue to be emitted. Further, for the sound generation channel ch1, a new sound E 3 is sounded in step SPc24. 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」)においては、発音態様指示データPD0が(9)H
であるから、第5図に示すようにキーオン態様がディレ
イキーオンで、音程態様番号TBLNOが「0」である。し
たがって、演奏は第19図に示すようにE3音,G3音,C4音
のディレイキーオンとなる。そして、レジスタCLKが
「1」〜「10」となるタイミングにおいては発音態様指
示データPDが(F)Hであるから何もしない。レジスタCLK
が「11」となるタイミングにおいては、発音態様指示デ
ータPDが(0)Hとなるため、上記各音を消音する。この結
果、第19図に示すようにE3音,G3音,C4音が4分音符の
長さで発音される。そして、レジスタCLKが「12」とな
るタイミングにおいては、発音態様指示データPDが(1)H
であるからノーマルキーオンで音程態様番号TBLNO
「0」が選択される。したがって、このタイミングにお
いては、E3音,G3音,C4音が発せられる。そして、レジ
スタCLKが「17」となるタイミングの発音態様指示デー
タが(0)Hとなっているから上記各音はこの時点で消音さ
れる。この結果、上記各音は、8分音符の長さで発音さ
れる。次に、レジスタCLKが「18」となるタイミングの
発音態様指示データPDは(A)Hであるから、ディレイキー
オンで音程態様番号TBLNOが「1」となる。この結果、C
9thのコードの発音となり(第4図参照)、E3音,G
3音,D4音が発音とされる。そして、レジスタCLKが「2
4」となるタイミングの発音態様指示データPDが(5)Hと
なっているから、第5図に示すようにキーオン態様がタ
イキーオンで音程態様番号TBLNOが「0」となる。この
結果、E3音,G3音,C4音の発音となり、かつ、E3音,G3
音がタイ記号によりつながれた発音となる。また、2拍
目の最終タイミング(CLK=「23」)の発音態様指示デ
ータが(0)Hとなっていないから3拍目のC4音は消音を介
さずに発音され(キーコード入れ換えの発音)、スラー
記号によってつながれた音の発音となる。次に、レジス
タCLKが「29」となるタイミングにおいては消音が指示
され、以後4拍目の先頭タイミングまで発音態様指示デ
ータPDが(F)Hとなっている。これにより、第19図に示す
ように8分休符が表現される。そして、4拍目の先頭タ
イミングと、4拍目の1/2のタイミングにおいて発音態
様指示データPDが(3)H,(1)Hとなっているので、♭E
3音、♭G3音,、♭C4音(=B3音)およびE3音,G3音,C
4音がそれぞれ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
K = “0”), the pronunciation mode instruction data PD 0 is (9) H
Therefore, as shown in FIG. 5, the key-on mode is delay key-on and the pitch mode number TBLNO is "0". Thus, playing a delay key-on of the 19 E 3 sounds as shown in FIG, G 3 sounds, C 4 sounds. At the timing when the register CLK becomes "1" to "10", nothing is done because the sound generation mode instruction data PD is (F) H. Register CLK
At the timing when is “11”, since the sound generation mode instruction data PD becomes (0) H , the above sounds are muted. As a result, as shown in FIG. 19, E 3 note, G 3 note, and C 4 note are pronounced in quarter note length. Then, at the timing when the register CLK becomes “12”, the tone generation mode instruction data PD is (1) H
Therefore, with normal key-on, pitch mode number TBLNO
"0" is selected. Therefore, in this time, E 3 sound, G 3 sounds, the C 4 sound emitted. Then, since the sounding mode instruction data at the timing when the register CLK becomes “17” is (0) H , the above sounds are muted at this point. As a result, each of the above notes is sounded at the length of an eighth note. Next, since the tone generation mode instruction data PD at the timing when the register CLK becomes “18” is (A) H , the pitch mode number TBLNO becomes “1” when the delay key is turned on. As a result, C
9th chord is pronounced (see Fig. 4), E 3 note, G
3 sound, D 4 sound is pronounced. And the register CLK becomes "2
Since the tone generation mode instruction data PD at the timing of "4" is (5) H , the key-on mode is tie key-on and the pitch mode number TBLNO is "0" as shown in FIG. As a result, E 3 sound, G 3 sound, C 4 sound is produced, and E 3 sound, G 3 sound is generated.
The sound is connected by the Thai symbol. Also, since the pronunciation mode instruction data at the final timing of the second beat (CLK = “23”) is not (0) H , the C 4 note of the 3rd beat is sounded without muffling (when changing the key code, Pronunciation), the pronunciation of sounds connected by slur symbols. Next, at the timing when the register CLK becomes "29", the mute is instructed, and thereafter, the sounding mode instruction data PD is (F) H until the leading timing of the fourth beat. As a result, eighth rests are expressed as shown in FIG. Then, at the beginning timing of the 4th beat and at the timing of 1/2 of the 4th beat, the pronunciation mode instruction data PD is (3) H , (1) H , so ♭ E
3 notes, ♭ G 3 notes, ♭ C 4 notes (= B 3 notes) and E 3 notes, G 3 notes, C
Four tones are pronounced each with a length of eight notes.
(3:実施例の変形) 上記実施例は以下のように変形することが可能である。(3: Modification of Embodiment) The above embodiment can be modified as follows.
上述した実施例は、主に伴奏鍵盤の演奏について説
明したが、メロディ鍵盤を付加し、メロディ演奏を合わ
せて行うよう構成してもよい。In the above-described embodiment, the performance of the accompaniment keyboard is mainly described, but a melody keyboard may be added to perform the melody performance together.
自動伴奏形態として、単独の和音演奏を示したが、
べース音や自動アルペジオ演奏等の他のパートと組み合
わせることも可能である。さらに、上記実施例では根音
自体の発音は行わなかったが、根音も合わせて発音する
ように構成してもよい。As an automatic accompaniment form, I showed a single chord performance,
It is also possible to combine it with other parts such as bass sounds and automatic arpeggios. 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 tempo resolution and time signature are “48” in the embodiment.
However, the resolution is not limited to this, and other arbitrary resolutions and time signatures can be set, and they can be configured in combination.
実施例においては、テーブルが複数設けられていた
が、これは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 numerical value of the key code may be performed.
「発明の効果」 以上説明したように、この発明によれば、和音の各構成
音のずらし時間を制御することができ、変化のあるバッ
キング演算効果を伴う伴奏演奏を自動的に行うことがで
きる。"Effects of the Invention" As described above, according to the present invention, it is possible to control the shift time of each constituent sound of a chord and automatically perform an accompaniment performance with a varying backing calculation effect. .
また、ずらし発音解除手段を具備した場合は、ずらし発
音のために遅延された構成音の発音が次の和音の発音タ
イミングより後になることがなく、音楽的に不自然な伴
奏となるのを回避することができる。In addition, when the shift pronunciation canceling means is provided, the pronunciation of the constituent notes delayed for the shift pronunciation does not occur after the pronunciation timing of the next chord, thus avoiding a musical unnatural accompaniment. can do.
第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 diagram for explaining the delay key-on process, and FIG. 16 is a prohibition process in the delay key-on process. For timing FIG. 17, FIG. 17 is a musical score for explaining the tie-key on processing, FIG. 18 is a diagram showing an example of pronunciation mode instruction data in the general operation example, and FIG. 19 is a case where the pronunciation mode instruction data shown in FIG. 18 is used. It is a musical score showing an example of performance. 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 (2)
と、 b.クロック信号に基づく和音の発生を曲の進行に従って
順次指示するパターンデータと和音の各構成音が発生す
るときのずれを示すずらし時間データとを1つのパター
ンとして複数のパターンを記憶するパターン記憶手段
と、 c.前記パターンデータ記憶手段に記憶されている複数の
パターンの中から1つを選択するパターン選択手段と、 d.前記クロック信号に基づいて前記パターン選択手段に
よって選択されたパターンの各データを読み出す読出し
手段と、 e.前記読出し手段によって読み出されたパターンデータ
が和音の発生を指示しているときには、前記読出し手段
によって読み出されたずらし時間データに従って、指定
された和音の各構成音の発生タイミングをずらす制御を
行うずらし発音制御手段と、 f.前記和音指定手段によって指定された和音の各構成音
を前記ずらし発生制御手段によって制御された発生タイ
ミングで発生する楽音発生手段と、 を具備することを特徴とする自動伴奏装置。1. A chord designating means for designating a chord to be played, b. Pattern data for sequentially instructing the generation of chords based on a clock signal in accordance with the progress of a piece of music, and a deviation when each constituent tone of the chord is generated. Pattern storage means for storing a plurality of patterns with the shift time data indicating the above as one pattern, and c. A pattern selection means for selecting one from the plurality of patterns stored in the pattern data storage means, d. reading means for reading each data of the pattern selected by the pattern selecting means based on the clock signal; and e. when the pattern data read by the reading means indicates the generation of a chord, According to the shift time data read by the reading means, control is performed to shift the generation timing of each constituent sound of the specified chord. Automatic sound control means, and f. Musical tone generating means for generating each constituent sound of the chord designated by the chord designating means at the generation timing controlled by the shift generation control means. Accompaniment device.
と、 b.クロック信号に基づく和音の発生を曲の進行に従って
順次指示するパターンデータと和音の各構成音が発生す
るときのずれを示すずらし時間データとを1つのパター
ンとして複数のパターンを記憶するパターン記憶手段
と、 c.前記パターンデータ記憶手段に記憶されている複数の
パターンの中から1つを選択するパターン選択手段と、 d.前記クロック信号に基づいて前記パターン選択手段に
よって選択されたパターンの各データを読み出す読出し
手段と、 e.前記読出し手段によって読み出されたパターンデータ
が和音の発生を指示しているときには、前記読出し手段
によって読み出されたずらし時間データに従って、指定
された和音の各構成音の発生タイミングをずらす制御を
行うずらし発音制御手段と、 f.前記和音指定手段によって指定された和音の各構成音
を前記ずらし発生制御手段によって制御された発生タイ
ミングで発生する楽音発生手段と、 g.前記読出し手段による読み出しデータにより和音の構
成音をずらして発生することが指示された後の演奏タイ
ミングにおける前記読出し手段による読み出しデータが
和音の発生を指示しているときには、前記ずらし発音制
御手段による和音の構成音をずらして発生させる制御を
該演奏タイミングの前に解除していまだ発生されていな
い構成音を強制的に発生させる制御を行うずらし音解除
手段と を具備することを特徴とする自動伴奏装置。2. A chord designating means for designating a chord to be played, b. Pattern data for sequentially instructing the generation of chords based on a clock signal as the music progresses, and a deviation when each constituent sound of the chord is produced. Pattern storage means for storing a plurality of patterns with the shift time data indicating the above as one pattern, and c. A pattern selection means for selecting one from the plurality of patterns stored in the pattern data storage means, d. reading means for reading each data of the pattern selected by the pattern selecting means based on the clock signal; and e. when the pattern data read by the reading means indicates the generation of a chord, According to the shift time data read by the reading means, control is performed to shift the generation timing of each constituent sound of the specified chord. Staggered sound generation control means, f. Musical tone generation means for generating each constituent sound of the chord designated by the chord designation means at the generation timing controlled by the shift generation control means, and g. Read data by the read means. When the read data by the reading means at the performance timing after the generation of the chord constituent tones is instructed to generate the chord, the staggered sound generation control means shifts the chord constituent tones. An automatic accompaniment apparatus comprising: a shift sound canceling means for canceling the control to be performed before the performance timing and forcibly generating the constituent sound that has not been generated yet.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62333218A JPH0727382B2 (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 |
|---|---|---|---|
| JP62333218A JPH0727382B2 (en) | 1987-12-29 | 1987-12-29 | Automatic accompaniment device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01177087A JPH01177087A (en) | 1989-07-13 |
| JPH0727382B2 true JPH0727382B2 (en) | 1995-03-29 |
Family
ID=18263634
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62333218A Expired - Fee Related JPH0727382B2 (en) | 1987-12-29 | 1987-12-29 | Automatic accompaniment device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0727382B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3039466U (en) * | 1997-01-13 | 1997-07-22 | 日酵化学株式会社 | Hanger |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6345930B2 (en) | 2013-12-26 | 2018-06-20 | ローム株式会社 | Semiconductor device and design method thereof |
-
1987
- 1987-12-29 JP JP62333218A patent/JPH0727382B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3039466U (en) * | 1997-01-13 | 1997-07-22 | 日酵化学株式会社 | Hanger |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01177087A (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 | |
| JP3099436B2 (en) | Chord detection device and automatic accompaniment device | |
| JPH0782325B2 (en) | Motif playing device | |
| US4674383A (en) | Electronic musical instrument performing automatic accompaniment on programmable memorized pattern | |
| JPH0727382B2 (en) | Automatic accompaniment device | |
| JP2956867B2 (en) | Automatic accompaniment device | |
| JPH0664471B2 (en) | Automatic accompaniment device | |
| US4619176A (en) | Automatic accompaniment apparatus for electronic musical instrument | |
| JPH067331B2 (en) | Automatic accompaniment device | |
| JPH0769698B2 (en) | Automatic accompaniment device | |
| JP2714455B2 (en) | Motif playing device and motif playing method | |
| JP3296182B2 (en) | Automatic accompaniment device | |
| JPH0769697B2 (en) | Automatic accompaniment device | |
| JPS61292689A (en) | Electronic musical instrument with automatic accompanying device | |
| JP2705421B2 (en) | Automatic accompaniment device | |
| JP3082294B2 (en) | Accompaniment sound signal forming device | |
| JP3055352B2 (en) | Accompaniment pattern creation device | |
| JP2988371B2 (en) | Automatic accompaniment device | |
| JP2599720B2 (en) | Electronic musical instrument | |
| JP2848322B2 (en) | Automatic accompaniment device | |
| US4183277A (en) | Rhythm accent circuit | |
| JPH0320794A (en) | Mode decision device and electronic musical instrument using same | |
| JP2707986B2 (en) | Automatic performance device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |