JPH06161450A - Automatic accompaniment device - Google Patents

Automatic accompaniment device

Info

Publication number
JPH06161450A
JPH06161450A JP4310581A JP31058192A JPH06161450A JP H06161450 A JPH06161450 A JP H06161450A JP 4310581 A JP4310581 A JP 4310581A JP 31058192 A JP31058192 A JP 31058192A JP H06161450 A JPH06161450 A JP H06161450A
Authority
JP
Japan
Prior art keywords
code
chord
register
anticipation
accompaniment
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.)
Granted
Application number
JP4310581A
Other languages
Japanese (ja)
Other versions
JP2531424B2 (en
Inventor
Takashi Ikeda
隆志 池田
Satoshi Suzuki
敏 鈴木
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 JP4310581A priority Critical patent/JP2531424B2/en
Publication of JPH06161450A publication Critical patent/JPH06161450A/en
Application granted granted Critical
Publication of JP2531424B2 publication Critical patent/JP2531424B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To provide the automatic accompaniment device which gives a drive feeling to an accompaniment. CONSTITUTION:When a chord is changed at a pause Bn among pauses Bn-1, Bn, and Bn+1 of beats, anticipation is turned on at timing Aon in the figure and then enabled thereafter, and timing of the chord change is precedent from the timing of the pause Bn to the timing Aon in the figure. At the next pause Bn of beats as original timing of the chord change, the anticipation is disabled and the normal mode is entered.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、記憶されたデータに
従って自動的に伴奏音を発生する自動伴奏装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic accompaniment apparatus for automatically generating an accompaniment sound according to stored data.

【0002】[0002]

【従来の技術】周知のように、自動的に伴奏音を発生す
る自動伴奏装置が各種開発されている。この種の自動伴
奏装置としては、コード進行を記憶しておき、読み出し
たコードに基づいて伴奏を行うものが知られている。
2. Description of the Related Art As is well known, various automatic accompaniment devices that automatically generate an accompaniment sound have been developed. As this type of automatic accompaniment apparatus, there is known an automatic accompaniment apparatus that stores chord progressions and performs accompaniment based on the read chords.

【0003】[0003]

【発明が解決しようとする課題】ところで、上記従来の
自動伴奏装置は、単に順次読み出したコードに従って伴
奏を行うため、伴奏が各時点に対応するコードに追従す
るのみとなり、伴奏にドライブ感がなく面白味のないも
のであった。
By the way, since the above-described conventional automatic accompaniment device simply performs the accompaniment in accordance with the sequentially read out chords, the accompaniment only follows the chord corresponding to each time point, and the accompaniment does not have a driving feeling. It was uninteresting.

【0004】この発明は、このような背景の下になされ
たもので、伴奏にドライブ感を与えることができる自動
伴奏装置を提供することを目的としている。
The present invention has been made under such a background, and an object thereof is to provide an automatic accompaniment apparatus which can give a driving feeling to an accompaniment.

【0005】[0005]

【課題を解決するための手段】この発明は、上述した課
題を解決するために、コード進行を記憶しておき、順次
記憶されたコードに基づいて自動伴奏を行う自動伴奏装
置において、前記記憶されたコードを先読みし、予めコ
ード変化を検出する検出手段と、アンティシペーション
を指示する指示手段と、前記指示手段によりアンティシ
ペーションが指示されたとき、前記検出手段により検出
したコード変化のタイミングより早いタイミングでコー
ドを変更するコード変更手段とを具備することを特徴と
している。
In order to solve the above-mentioned problems, the present invention relates to an automatic accompaniment apparatus which stores chord progressions and performs automatic accompaniment based on sequentially stored chords. Detecting means for pre-reading the code and detecting the code change in advance, instruction means for instructing anticipation, and when anticipation is instructed by the instructing means, from the timing of the code change detected by the detecting means It is characterized by comprising a code changing means for changing the code at an early timing.

【0006】[0006]

【作用】この発明によれば、検出手段が、記憶されたコ
ードを先読みして予めコード変化を検出し、指示手段
が、アンティシペーションを指示し、コード変更手段
が、指示手段によりアンティシペーションが指示された
とき、検出手段により検出したコード変化のタイミング
より早いタイミングでコードを変更する。これにより、
アンティシペーションの指示によってコード変化のタイ
ミングが先行される。
According to the present invention, the detecting means pre-reads the stored code to detect a code change in advance, the instructing means instructs anticipation, and the code changing means causes the anticipation by the instructing means. Is instructed, the code is changed at a timing earlier than the timing of the code change detected by the detecting means. This allows
The timing of the code change is preceded by the anticipation instruction.

【0007】[0007]

【実施例】以下、図面を参照して、この発明の実施例に
ついて説明する。図1はこの発明の一実施例による自動
伴奏装置の構成を示すブロック図である。この図におい
て、1は押鍵検出回路である。この押鍵検出回路1は、
図示せぬ鍵盤に対する押離鍵操作を検出し、これに応じ
た検出信号を出力する。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an automatic accompaniment apparatus according to an embodiment of the present invention. In this figure, 1 is a key depression detection circuit. This key press detection circuit 1
A key press operation on a keyboard (not shown) is detected, and a detection signal corresponding to this is output.

【0008】2はCPU(中央処理装置)であり、バス
11を介し接続されるこの装置の各部を制御する。この
CPU2の動作の詳細については後述する。3はタイマ
であり、64分長(4分音符の長さの16分の1)相当
の時間が経過する毎にCPU2に割り込み信号を供給す
る。この割り込み信号の供給により、CPU2は後述す
るタイマ割り込み処理を実行する。4はROM(読み出
し専用メモリ)で構成されたプログラムメモリであり、
CPU3が実行する制御プログラムが記憶される。5は
RAM(読み書き可能メモリ)で構成されたワーキング
メモリであり、CPU2による各種演算結果やレジスタ
値が一時記憶される。
Reference numeral 2 denotes a CPU (central processing unit), which controls each unit of this device connected via a bus 11. Details of the operation of the CPU 2 will be described later. Reference numeral 3 denotes a timer, which supplies an interrupt signal to the CPU 2 each time a time corresponding to a length of 64 minutes (1/16 of the length of a quarter note) elapses. By the supply of the interrupt signal, the CPU 2 executes the timer interrupt process described later. 4 is a program memory composed of a ROM (read-only memory),
A control program executed by the CPU 3 is stored. A working memory 5 is composed of a RAM (readable / writable memory), and temporarily stores various calculation results and register values by the CPU 2.

【0009】6はRAMで構成されたコード進行メモリ
である。このコード進行メモリ6は、図2に示すよう
に、6種類のコード進行を表すテーブルCS0〜CS5
記憶されており、各テーブルCS0〜CS5には、根音R
Tと和音種類CTとから成る1拍毎の和音データCDが
先頭から順次記述されている。
Reference numeral 6 is a chord progression memory composed of a RAM. As shown in FIG. 2, this chord progression memory 6 stores tables CS 0 to CS 5 representing six types of chord progressions, and each table CS 0 to CS 5 has a root note R.
Chord data CD for each beat composed of T and chord type CT is sequentially described from the beginning.

【0010】また、7はROMで構成された伴奏パター
ンメモリである。この伴奏パターンメモリ7には、伴奏
スタイル(ロック、ディスコ等)毎かつ伴奏パート(リ
ズム、コード1、コード2およびベースの4パート)毎
に、2小節分の伴奏パターンデータが記憶されている。
そして、各伴奏パターンデータは、例えば図3に示すよ
うに、発音指示を表すキーオンコードKONと発音すべ
きキーコードKC、消音指示を表すキーオフコードKO
FFと消音すべきキーコードKC、前のイベントから次
の処理までの時間を表すデュレーションコードDLおよ
びデュレーションタイムDT(計時単位は64分長であ
る)、アンティシペーション(後述する)のイネーブル
を表すアンティシペーションオンコードAON、および
伴奏の終りを表すエンドコードENDの5種類のデータ
から成っている。ただし、リズムパートの伴奏パターン
データには、上記キーコードの代わりに打楽器音を表す
打楽器コードが記憶されており、また、上記アンティシ
ペーションオンコードAONはリズムパートの伴奏パタ
ーンデータにのみ含まれるものとする。
Reference numeral 7 is an accompaniment pattern memory composed of a ROM. The accompaniment pattern memory 7 stores accompaniment pattern data for two measures for each accompaniment style (rock, disco, etc.) and for each accompaniment part (rhythm, chord 1, chord 2 and bass 4 parts).
Each accompaniment pattern data is, for example, as shown in FIG. 3, a key-on code KON representing a sounding instruction, a key code KC to be sounded, and a key-off code KO representing a mute instruction.
FF, a key code KC to be muted, a duration code DL indicating a time from a previous event to the next processing, a duration time DT (a time unit is 64 minutes long), and anticipation (described later) are enabled. It is made up of five types of data, an anticipation on code AON and an end code END indicating the end of accompaniment. However, the accompaniment pattern data of the rhythm part stores a percussion instrument code representing a percussion instrument sound instead of the above key code, and the anticipation on code AON is included only in the accompaniment pattern data of the rhythm part. And

【0011】ここで、アンティシペーションとは、先行
音あるいは先取音とも呼ばれ、後続するコードを先のコ
ードへ所定時間(通常半拍程度)先行させ、曲にドライ
ブ感を持たせる手法である。この実施例では、例えば、
図4に示すようなアンティシペーションの制御を行って
いる。すなわち、同図において、まずBn-1,Bn,B
n+1が1拍の区切りのタイミングを示すものする。そし
て、図示Aonのタイミングでアンティシペーションがオ
ンされたとすると、これ以後アンティシペーションがイ
ネーブルされる。このアンティシペーションは、拍の区
切り毎にディスエーブルされるようになっており、この
場合、次の拍の区切りBnでアンティシペーションがデ
ィスエーブルされるので、区間Tにおいてアンティシペ
ーションがイネーブルとなる。つまり、この区間T内に
音符があれば、本来Bnの拍からBn+1の拍までの間に指
定されているコードに調和するようにその音符を変換す
る。なお、Aonが拍中央より前方であるのは、3連符の
場合に中央よりやや前方にも音符があることがあるか
ら、それをもカバーするためである。
Here, anticipation, which is also called a preceding sound or a pre-taken sound, is a method in which a succeeding chord precedes the preceding chord for a predetermined time (usually about half a beat) to give a tune a driving feeling. . In this example, for example,
The anticipation control as shown in FIG. 4 is performed. That is, in the figure, first, B n-1 , B n , B
It is assumed that n + 1 indicates the timing of dividing one beat. If the anticipation is turned on at the timing of A on in the figure, the anticipation is enabled thereafter. This anticipation is disabled at each beat division. In this case, since the anticipation is disabled at the next beat division B n , the anticipation is enabled in the section T. Becomes That is, if there is a note in this section T, the note is converted so as to be in harmony with the chord originally designated between the beat of B n and the beat of B n + 1 . It should be noted that A on is ahead of the center of the beat, in the case of triplets, there may be a note slightly ahead of the center, so that it is also covered.

【0012】この実施例では、アンティシペーションが
オンされてから次の拍の区切りBnでコードが変更され
ている場合、コード変更のタイミングが図示Aonのタイ
ミングまで先行することになる。そして、本来のコード
変更のタイミングである拍の区切りBnでアンティシペ
ーションがディスエーブルされ、通常のモードに戻る。
一方、拍の区切りBnでコードが変更されていない場合
は、上述したように、拍の区切りBnでアンティシペー
ションがディスエーブルされるのみとなる。このように
することで、通常は強拍のタイミング(1拍目、2拍
目、3拍目、……)でしか変更されないコードが、アン
ティシペーションがオンされた部分では半拍程度先行し
て弱拍でも変更されるようになり、いわゆる裏拍のタイ
ミングでコード変化が可能となり、演奏にドライブ感が
与えられる。
In this embodiment, when the chord is changed at the next beat delimiter B n after anticipation is turned on, the chord change timing precedes the timing A on in the figure. Then, the anticipation is disabled at the beat delimiter B n , which is the original chord change timing, and the normal mode is restored.
On the other hand, when the chord is not changed at the beat division B n , as described above, only the anticipation is disabled at the beat division B n . By doing this, a chord that normally changes only at the timing of a strong beat (1st beat, 2nd beat, 3rd beat, ...) Leads by about a half beat in the part where anticipation is turned on. It becomes possible to change the chord at the so-called back beat timing, giving a feeling of driving to the performance.

【0013】さて、再び図1に戻ってこの装置の構成を
説明する。同図において、8はスイッチ検出回路であ
る。このスイッチ検出回路8は、自動伴奏のスタート/
ストップや伴奏スタイルの選択等を行う各スイッチのオ
ン/オフを検出し、これに応じた操作信号を出力する。
Now, returning to FIG. 1, the structure of this apparatus will be described. In the figure, 8 is a switch detection circuit. This switch detection circuit 8 is used for starting / accompaniment of automatic accompaniment.
ON / OFF of each switch for selecting a stop or accompaniment style is detected, and an operation signal corresponding to this is output.

【0014】9は音源であり、CPU2からバス11を
介し供給される楽音制御信号に応じた楽音信号を発生す
る。10はサウンドシステムであり、音源9から供給さ
れる楽音信号にノイズ除去等のフィルタリング処理を施
した後、これを増幅してスピーカから楽音として発音さ
せる。
Reference numeral 9 denotes a sound source, which generates a tone signal in accordance with a tone control signal supplied from the CPU 2 via the bus 11. Reference numeral 10 denotes a sound system, which performs a filtering process such as noise removal on the musical tone signal supplied from the sound source 9, and then amplifies the musical tone signal and outputs it as a musical tone from a speaker.

【0015】次に、上記構成による自動伴奏装置の動作
について図5〜図8に示すフローチャートを参照し、説
明する。
Next, the operation of the automatic accompaniment apparatus having the above structure will be described with reference to the flow charts shown in FIGS.

【0016】A:全体動作 まず、この自動演奏装置に電源が投入されると、CPU
2はプログラムメモリ4から制御プログラムをロードす
る。そして、図5に示すメインルーチンを起動し、この
ルーチンのステップSa1に処理を進める。ステップS
a1では、各種レジスタ値をリセットする等の初期設定
を行う。そして、ステップSa2に進むと、スイッチ検
出回路8から供給される操作信号に基づき、自動伴奏の
スタート/ストップスイッチが新たに操作されたか否か
を判断する。
A: Overall operation First, when the automatic musical instrument is powered on, the CPU
2 loads the control program from the program memory 4. Then, the main routine shown in FIG. 5 is started, and the process proceeds to step Sa1 of this routine. Step S
At a1, initial settings such as resetting various register values are performed. Then, when the process proceeds to step Sa2, it is determined based on the operation signal supplied from the switch detection circuit 8 whether or not the start / stop switch for automatic accompaniment is newly operated.

【0017】ここで、スタート/ストップスイッチが新
たに操作された場合、この判断結果は「Yes」とな
り、次のステップSa3に進む。ステップSa3では、
自動伴奏実行中であるか否かを表すフラグRUNの値を
反転する。そして、ステップSa4に進むと、フラグR
UNの値が「1」であるか否か、すなわち自動伴奏実行
中であるか否かを判断する。
If the start / stop switch is newly operated, the result of this determination is "Yes", and the routine proceeds to the next step Sa3. In step Sa3,
The value of the flag RUN representing whether or not automatic accompaniment is being executed is inverted. Then, when the process proceeds to step Sa4, the flag R
It is determined whether or not the value of UN is "1", that is, whether or not automatic accompaniment is being executed.

【0018】ここで、フラグRUNの値が「1」である
場合、この判断結果「Yes」となり、次のステップS
a5に進む。ステップSa5では、以下に示す各種レジ
スタ値およびフラグ値を初期化する。 レジスタCLK:伴奏パターンデータに対応する2
小節の長さを64分長単位でカウントする際のカウント
値を記憶するレジスタであり、ここでは「0」がセット
される。 レジスタDL0〜DL3:4つの伴奏パート毎に設定
されるデュレーションタイムをダウンカウントする際の
残時間をそれぞれ記憶するレジスタであり、ここでは全
て「0」がセットされる。
If the value of the flag RUN is "1", the result of this determination is "Yes", and the next step S
Proceed to a5. In step Sa5, the following various register values and flag values are initialized. Register CLK: 2 corresponding to accompaniment pattern data
This is a register for storing the count value when the length of the measure is counted in units of 64 minutes, and "0" is set here. Registers DL 0 to DL 3 : Registers that store the remaining time when the duration time set for each of the four accompaniment parts is down-counted, and are all set to “0” here.

【0019】 レジスタPP0〜PP3:伴奏パターン
メモリ7から伴奏パターンデータを読み出す際のポイン
タを記憶するレジスタであり、ここでは全て「0」がセ
ットされる。 フラグANT:アンティシペーションのイネーブル
/ディスエーブルの2値状態を記憶するフラグであり、
ここでは「0」がセットされ、アンティシペーションが
ディスエーブルされる。 レジスタNRT:コードの先読みを行う際に根音の
データを記憶するレジスタであり、ここではコード進行
メモリ6の先頭の根音のデータCSCSN(0)がセット
される。
Registers PP 0 to PP 3 : Registers for storing pointers at the time of reading the accompaniment pattern data from the accompaniment pattern memory 7, and are all set to “0” here. Flag ANT: A flag that stores the binary state of enable / disable of anticipation,
Here, "0" is set, and anticipation is disabled. Register NRT: A register for storing root note data when pre-reading a chord. Here, the root note data CS CSN (0) at the head of the chord progression memory 6 is set.

【0020】 レジスタNTP:コードの先読みを行
う際に和音種類のデータを記憶するレジスタであり、こ
こではコード進行メモリ6の先頭の和音種類のデータC
CSN(1)がセットされる。 レジスタCSP:コード進行メモリ6からコード
(和音データ)を読み出す際のポインタを記憶するレジ
スタであり、ここでは先頭から2番目の和音データのア
ドレス「2」がセットされる。 そして、この初期化を行った後、ステップSa7に進
む。
Register NTP: a register for storing chord type data when chord prefetching is performed. Here, the chord type data C at the head of the chord progression memory 6 is stored.
S CSN (1) is set. Register CSP: A register for storing a pointer for reading a chord (chord data) from the chord progression memory 6, and here the address "2" of the second chord data from the beginning is set. After performing this initialization, the process proceeds to step Sa7.

【0021】一方、前述のステップSa4において、フ
ラグRUNの値が「0」である場合、ステップSa4の
判断結果は「No」となり、ステップSa6に進む。ス
テップSa6では、CPU2が音源9の伴奏用チャネル
に消音指示信号を出力し、自動伴奏が停止される。そし
て、ステップSa7に進む。
On the other hand, when the value of the flag RUN is "0" in the above step Sa4, the determination result of the step Sa4 is "No", and the process proceeds to step Sa6. In step Sa6, the CPU 2 outputs a mute instruction signal to the accompaniment channel of the sound source 9, and the automatic accompaniment is stopped. Then, the process proceeds to step Sa7.

【0022】また、前述のステップSa2において、ス
タート/ストップスイッチが新たに操作されていない場
合、ステップSa2の判断結果は「No」となり、上記
ステップSa3〜Sa6の処理を行わず、直接ステップ
Sa7に進む。
If the start / stop switch is not newly operated in the above step Sa2, the result of the determination in step Sa2 is "No", and the processing in steps Sa3 to Sa6 is not performed and the process directly proceeds to step Sa7. move on.

【0023】次に、ステップSa7に進むと、鍵盤の各
キーを走査し、キーイベントが有ったか否かを判断す
る。ここで、キーイベントが有った場合、この判断結果
は「Yes」となり、次のステップSa8に進む。ステ
ップSa8では、押鍵検出回路1から出力される検出信
号を取り込み、これに応じたキーオンあるいはキーオフ
信号、キーコード信号等を音源9へ供給する。これによ
り、自動伴奏に合わせたメロディー演奏等の鍵盤操作に
応じた楽音が発生される。そして、ステップSa9に進
む。一方、ステップSa7においてキーイベントがない
場合、ここでの判断結果は「No」となり、ステップS
a8のキーイベント処理を行わず、直接ステップSa9
に進む。
Next, in step Sa7, each key of the keyboard is scanned to determine whether or not there is a key event. Here, if there is a key event, the determination result is “Yes”, and the process proceeds to the next step Sa8. In step Sa8, the detection signal output from the key depression detection circuit 1 is fetched, and a key-on or key-off signal, a key code signal, etc. corresponding thereto are supplied to the sound source 9. As a result, a musical tone is generated in accordance with a keyboard operation such as a melody performance in accordance with the automatic accompaniment. Then, the process proceeds to step Sa9. On the other hand, if there is no key event in step Sa7, the determination result here is “No”, and step S7
The key event process of a8 is not performed, and the step Sa9 is directly executed.
Proceed to.

【0024】そして、ステップSa9に進むと、スイッ
チ検出回路8から供給される操作信号に基づき、スタイ
ル選択スイッチが新たに操作されたか否かを判断する。
ここで、スタイル選択スイッチが新たに操作された場
合、この判断結果は「Yes」となり、次のステップS
a10に進む。ステップSa10では、操作者が選択し
た伴奏スタイルに対応するスタイルナンバをレジスタS
TYLにセットする。次に、ステップSa11に進む
と、音源9の伴奏用の各チャネルに、レジスタSTYL
にセットしてあるスタイルナンバに対応した音色をセッ
トする。そして、ステップSa12に進む。一方、上記
ステップSa9において、スタイル選択スイッチが操作
されていない場合、ここでの判断結果は「No」とな
り、ステップSa10,Sa11のスタイル選択処理を
行わず、直接ステップSa12に進む。
Then, in step Sa9, it is determined whether or not the style selection switch is newly operated based on the operation signal supplied from the switch detection circuit 8.
Here, if the style selection switch is newly operated, the result of this determination is "Yes", and the next step S
Go to a10. In step Sa10, the style number corresponding to the accompaniment style selected by the operator is registered in the register S.
Set to TYL. Next, when proceeding to step Sa11, the register STYL is added to each channel for the accompaniment of the sound source 9.
Set the tone color corresponding to the style number set in. Then, the process proceeds to step Sa12. On the other hand, if the style selection switch is not operated in step Sa9, the determination result here is “No”, and the style selection process of steps Sa10 and Sa11 is not performed, and the process directly proceeds to step Sa12.

【0025】次に、ステップSa12に進むと、スイッ
チ検出回路8から供給される操作信号に基づき、コード
進行選択スイッチが新たに操作されたか否かを判断す
る。ここで、コード進行選択スイッチが新たに操作され
た場合、この判断結果は「Yes」となり、次のステッ
プSa13に進む。ステップSa13では、操作者が選
択したコード進行に対応するコード進行ナンバ(6種類
のコード進行を表すテーブルCS0〜CS5に対応するナ
ンバ)をレジスタCSNにセットする。そして、ステッ
プSa14に進む。一方、上記ステップSa12におい
て、コード進行選択スイッチが操作されていない場合、
ここでの判断結果は「No」となり、ステップSa13
のコード進行選択処理を行わず、直接ステップSa14
に進む。
Next, in step Sa12, it is determined whether or not the chord progression selection switch has been newly operated based on the operation signal supplied from the switch detection circuit 8. Here, when the chord progression selection switch is newly operated, the determination result is "Yes", and the process proceeds to the next step Sa13. In step Sa13, the chord progression number corresponding to the chord progression selected by the operator (the numbers corresponding to the tables CS 0 to CS 5 representing six types of chord progressions) is set in the register CSN. Then, the process proceeds to step Sa14. On the other hand, when the chord progression selection switch is not operated in step Sa12,
The result of the determination here is “No”, and step Sa13
Directly without performing the chord progression selection process of step Sa14
Proceed to.

【0026】ステップSa14では、スイッチ検出回路
8から供給される操作信号に基づき、コード進行入力モ
ードスイッチがオン状態になっているか否かを判断す
る。ここで、コード進行入力モードスイッチがオン状態
になっている場合、この判断結果は「Yes」となり、
次のステップSa15に進む。ステップSa15では、
フラグRUNの値が「0」であるか否か、すなわち自動
伴奏実行中でないか否かを判断する。
In step Sa14, it is determined whether or not the chord progression input mode switch is in the on state, based on the operation signal supplied from the switch detection circuit 8. Here, when the chord progression input mode switch is in the ON state, the result of this determination is “Yes”,
It proceeds to the next Step Sa15. In step Sa15,
It is determined whether or not the value of the flag RUN is “0”, that is, whether or not automatic accompaniment is being executed.

【0027】ここで、自動伴奏実行中でなければ、この
判断結果が「Yes」となり、ステップSa16に進
む。ステップSa16では、操作者によって入力される
コード進行のデータをコード進行メモリ6に書き込む。
ただし、ここで入力されるコード進行のデータは、1拍
単位あるいはそれ以上の拍数の単位を最小単位するデー
タである。そして、ステップSa17に進む。
If the automatic accompaniment is not being executed, the result of this judgment is "Yes", and the routine proceeds to step Sa16. In step Sa16, the chord progression data input by the operator is written in the chord progression memory 6.
However, the chord progression data input here is data in which the minimum unit is one beat unit or a unit of more than one beat. Then, the process proceeds to step Sa17.

【0028】一方、上記ステップSa15において自動
伴奏実行中であれば、ここでの判断結果は「No」とな
り、ステップSa16のコード進行入力処理を行わず、
直接ステップSa17に進む。また、上記ステップSa
14において、コード進行入力モードスイッチがオン状
態でない場合、ここでの判断結果は「No」となり、ス
テップSa15,Sa16の処理を行わず、直接ステッ
プSa17に進む。
On the other hand, if the automatic accompaniment is being executed in step Sa15, the determination result here is "No", and the chord progression input process of step Sa16 is not performed.
The process directly proceeds to step Sa17. In addition, the above step Sa
In 14, when the chord progression input mode switch is not in the on state, the determination result here is “No”, and the process of steps Sa15 and Sa16 is not performed, and the process directly proceeds to step Sa17.

【0029】そして、ステップSa17において上記以
外の種々の処理を行った後、CPU2の処理は前述のス
テップSa2に戻り、以後、後述するタイマ3による割
り込みがかからない間、上記ステップSa2〜Sa17
の動作が繰り返し実行される。
After performing various processing other than the above in step Sa17, the processing of the CPU 2 returns to the above-mentioned step Sa2, and thereafter, while the timer 3 described later does not interrupt, the above-mentioned steps Sa2 to Sa17 are performed.
The operation of is repeatedly executed.

【0030】B:タイマ割り込み処理 タイマ3から64分長経過毎の割り込み信号が供給され
ると、CPU2はその度に図6に示すタイマ割り込み処
理ルーチンを起動し、ステップSb1に処理を進める。
ステップSa1では、レジスタCLKの値を16で除算
したときの余りCLKmod16が「0」であるか否か、
すなわち現在が拍の先頭のタイミングであるか否かを判
断する。
B: Timer interrupt processing When an interrupt signal is supplied from the timer 3 every 64 minutes, the CPU 2 starts the timer interrupt processing routine shown in FIG. 6 each time, and advances the processing to step Sb1.
At step Sa1, whether the remainder CLKmod16 when the value of the register CLK is divided by 16 is “0”,
That is, it is determined whether or not the current timing is the start timing of the beat.

【0031】ここで、拍の先頭のタイミングであれば、
この判断結果は「Yes」となり、次のステップSb2
に進む。ステップSb2では、コードの先読みを行うた
めに、レジスタNRTの値をワーク用のレジスタRTに
セットすると共に、レジスタNTPの値をワーク用のレ
ジスタTPにセットする。これにより、現在のコードに
対応したデータがワーク用のレジスタRT,TPに保持
される。次に、ステップSb3に進むと、コード進行メ
モリ6のポインタが指しているデータCSCSN(CS
P)がエンドコードでないか否か、すなわちコード進行
メモリ6の読み出すべきコードデータが有るか無いかを
判断する。
Here, if it is the timing of the beginning of the beat,
The result of this determination is “Yes”, and the next step Sb2
Proceed to. In step Sb2, the value of the register NRT is set in the work register RT and the value of the register NTP is set in the work register TP in order to prefetch the code. As a result, the data corresponding to the current code is held in the work registers RT and TP. Next, when proceeding to step Sb3, the data CS CSN (CS
It is determined whether or not P) is not an end code, that is, whether or not there is code data to be read from the code progress memory 6.

【0032】ここで、データCSCSN(CSP)がエン
ドコードでなければ、この判断結果は「Yes」とな
り、次のステップSb4に進む。ステップSb4では、
コード進行メモリ6のポインタが指している和音データ
のうち、根音のデータCSCSN(CSP)をレジスタN
RTに、和音種類のデータCSCSN(CSP+1)をレ
ジスタNTPにそれぞれセットする。これにより、先読
みしたコードデータがレジスタNRT,NTPに保持さ
れる。次に、ステップSb5に進むと、レジスタCSP
の値を「2」インクリメントし、コード進行メモリ6の
ポインタが次の拍に対応する和音データを指すようにす
る。そして、ステップSb6に進む。
If the data CS CSN (CSP) is not the end code, the result of this judgment is "Yes", and the routine proceeds to the next step Sb4. In step Sb4,
Of the chord data pointed by the pointer of the chord progression memory 6, the root note data CS CSN (CSP) is registered in the register N.
The chord type data CS CSN (CSP + 1) is set in the register NTP at RT. As a result, the preread code data is held in the registers NRT and NTP. Next, in step Sb5, the register CSP
Is incremented by "2" so that the pointer of the chord progression memory 6 points to the chord data corresponding to the next beat. Then, the process proceeds to step Sb6.

【0033】一方、ステップSb3において、コード進
行メモリ6のポインタが指しているデータCSCSN(C
SP)がエンドコードで、読み出すべきデータの終了を
示している場合、ここでの判断結果は「No」となり、
ステップSb4,Sb5の処理を行わず直接ステップS
a6に進む。次に、ステップSb6に進むと、CPU2
は再生処理ルーチン(図7参照)を起動し、再生処理を
行う(後述する)。
On the other hand, in step Sb3, the data CS CSN (C
SP) is an end code and indicates the end of the data to be read, the determination result here is “No”,
Without performing the processing of steps Sb4 and Sb5
Go to a6. Next, when proceeding to step Sb6, the CPU 2
Starts a reproduction processing routine (see FIG. 7) and executes reproduction processing (described later).

【0034】再生処理が終了し、タイマ割り込み処理ル
ーチン(図6参照)に処理が復帰すると、ステップSb
7に進む。ステップSb7では、レジスタCLKの値を
「1」インクリメントし、64分長単位のタイムカウン
トを行う。そして、ステップSb8に進むと、レジスタ
CLKの値が2小節の長さに達したか否か、すなわち現
在が2小節の終わりのタイミングであるか否かを判断す
る。
When the reproduction process ends and the process returns to the timer interrupt process routine (see FIG. 6), step Sb
Proceed to 7. In step Sb7, the value of the register CLK is incremented by "1", and time counting is performed in units of 64 minutes. Then, proceeding to step Sb8, it is determined whether or not the value of the register CLK has reached the length of 2 bars, that is, whether the present timing is the end of 2 bars.

【0035】ここで、現在が2小節の終わりのタイミン
グである場合、この判断結果は「Yes」となり、次の
ステップSb9に進む。ステップSb9では、レジスタ
PP0〜PP3の全てを「0」クリアし、伴奏パターンメ
モリ7のポインタを先頭アドレスに戻す。これにより、
伴奏パターンデータが再び先頭から読み出される。ま
た、レジスタCLKを「0」クリアし、2小節の長さの
計時を再開する。そして、ステップSb10に進む。一
方、上記ステップSb8において、2小節の終わりのタ
イミングでない場合、ステップSb8の判断結果は「N
o」となり、ステップSb9の処理を行わず、直接ステ
ップSa10に進む。
If the current timing is the end of two measures, the result of this judgment is "Yes", and the routine proceeds to the next step Sb9. In step Sb9, all the registers PP 0 to PP 3 are cleared to “0” and the pointer of the accompaniment pattern memory 7 is returned to the head address. This allows
The accompaniment pattern data is read from the beginning again. Also, the register CLK is cleared to "0", and the clocking of the length of 2 bars is restarted. Then, the process proceeds to step Sb10. On the other hand, if it is not the end timing of two measures in step Sb8, the determination result of step Sb8 is “N
“O”, the process of step Sb9 is not performed, and the process directly proceeds to step Sa10.

【0036】次に、ステップSb10では、ステップS
b1と同様、現在が拍の先頭のタイミングであるか否か
を判断する。ここで、拍の先頭のタイミングであれば、
この判断結果は「Yes」となり、次のステップSb1
1に進む。ステップSb11では、フラグANTを
「0」に反転してアンティシペーションをディスエーブ
ルする。すなわち、この実施例では、拍の区切り毎にア
ンティシペーションをディスエーブルするようになって
いる。そして、CPU2の処理はメインルーチンに復帰
する。一方、上記ステップSb10において、拍の先頭
のタイミングでない場合、ここでの判断結果は「No」
となり、ステップSb11の処理を行わず、処理はその
ままメインルーチンに復帰する。
Next, in step Sb10, step S
Similar to b1, it is determined whether or not the current timing is the start timing of the beat. Here, if it is the timing of the beginning of the beat,
The result of this determination is “Yes”, and the next step Sb1
Go to 1. In step Sb11, the flag ANT is inverted to "0" to disable the anticipation. That is, in this embodiment, anticipation is disabled at each beat division. Then, the processing of the CPU 2 returns to the main routine. On the other hand, in step Sb10, if it is not the timing of the beginning of the beat, the determination result here is "No".
Therefore, the process of step Sb11 is not performed, and the process directly returns to the main routine.

【0037】C:再生処理 上記タイマ割り込み処理ルーチンのステップSb6(図
6参照)に処理が進むと、CPU2は、図7に示す再生
処理ルーチンを起動し、このルーチンのステップSc1
に処理を進める。ステップSc1では、リズム、コード
1、コード2およびベースの各パートに対応するパート
ナンバのうち、リズムパートに対応するパートナンバ
「0」をレジスタPNにセットする。なお、その他のパ
ートナンバとしては、コード1には「1」、コード2に
は「2」、ベースには「3」がそれぞれ対応している。
C: Reproduction Processing When the processing proceeds to step Sb6 (see FIG. 6) of the timer interrupt processing routine, the CPU 2 activates the reproduction processing routine shown in FIG. 7, and step Sc1 of this routine.
Proceed to. In step Sc1, of the part numbers corresponding to the rhythm, chord 1, chord 2 and bass parts, the part number “0” corresponding to the rhythm part is set in the register PN. As other part numbers, “1” corresponds to code 1, “2” corresponds to code 2, and “3” corresponds to base.

【0038】次に、ステップSc2に進むと、レジスタ
DLPNの値が「0」であるか否か、すなわちこの場合リ
ズムパートに設定されているデュレーションタイムが経
過したか否かを判断する。
Next, in step Sc2, it is determined whether or not the value of the register DL PN is "0", that is, whether or not the duration time set in the rhythm part in this case has elapsed.

【0039】ここで、デュレーションタイムが経過して
いなければ、ステップSc11に進む。ステップSc1
1では、レジスタDLPNの値を「1」デクリメントし、
デュレーションタイムをダウンカウントする。そして、
ステップSc9に進むと、レジスタPNの値を「1」イ
ンクリメントし、次のパートであるコード1に再生処理
の対象を切り替える。
If the duration time has not elapsed, the process proceeds to step Sc11. Step Sc1
In 1, decrement the value of the register DL PN by "1",
Count down duration time. And
When the process proceeds to step Sc9, the value of the register PN is incremented by "1" and the target of the reproduction process is switched to the next part, code 1.

【0040】次に、ステップSc10に進むと、レジス
タPNにセットされている現在のパートナンバが「4」
であるか否か、すなわち全ての伴奏パートの再生処理を
終えたか否かを判断する。この場合、伴奏パートは上記
ステップSc9でコード1に設定されているので、ここ
での判断結果は「No」となり、前述のステップSc2
に戻る。そして、各パートについてデュレーションタイ
ムが経過していなければ、上記ステップSc2,Sc1
1,Sc9,Sc10の動作を繰り返えす。こうして、
レジスタPNの値が「4」に達すると、ステップSc1
0の判断結果が「Yes」となり、処理は前述のタイマ
割り込み処理ルーチンに復帰する。そして、タイマ割り
込み処理ルーチンが起動される毎に、前述のステップS
b6(図6参照)でこの再生処理ルーチンが起動され、
上記動作が繰り返される。
Next, when proceeding to step Sc10, the current part number set in the register PN is "4".
Or not, that is, whether or not the reproduction processing of all the accompaniment parts has been completed. In this case, since the accompaniment part is set to chord 1 in step Sc9, the determination result here is "No", and the above-mentioned step Sc2 is performed.
Return to. If the duration time has not elapsed for each part, the above steps Sc2 and Sc1 are performed.
The operations 1, Sc9 and Sc10 are repeated. Thus
When the value of the register PN reaches "4", step Sc1
The determination result of 0 is "Yes", and the process returns to the above-mentioned timer interrupt processing routine. Then, each time the timer interrupt processing routine is started, the above-mentioned step S
This reproduction processing routine is started at b6 (see FIG. 6),
The above operation is repeated.

【0041】こうして、例えばリズムパートのデュレー
ションタイムが経過したとすると、前述のステップSc
2の判断結果が「Yes」となり、ステップSc3に処
理が進む。ステップSc3では、前述のステップSa1
0においてレジスタSTYLにセットしてあるスタイル
ナンバに対応し、かつ当該パート(この場合、リズムパ
ート)に対応したポインタPPPNが指している伴奏パタ
ーンデータPTNSTYL ,PN(PPPN)を、伴奏パターン
メモリ7から読み出し、これをレジスタDATAにセッ
トする。
Thus, for example, if the duration time of the rhythm part has elapsed, the above-mentioned step Sc
The determination result of 2 is "Yes", and the process proceeds to step Sc3. In step Sc3, the aforementioned step Sa1 is executed.
At 0, the accompaniment pattern data PTN STYL , PN (PP PN ) corresponding to the style number set in the register STYL and pointed by the pointer PP PN corresponding to the part (in this case, the rhythm part) is set to the accompaniment pattern. It is read from the memory 7 and set in the register DATA.

【0042】そして、ステップSc4に進むと、レジス
タDATAの値がエンドコードであるか否か、すなわち
当該パートが伴奏の終わりに達したか否かを判断する。
ここで、レジスタDATAの値がエンドコードである場
合、ステップSc9に進み、以下、前述したように、再
生処理の対象となるパートを切り替え、他のパートにつ
いてデュレーションタイムが経過していなければ、上記
ステップSc2,Sc11,Sc9,Sc10の動作を
繰り返す。
Then, in step Sc4, it is determined whether or not the value of the register DATA is the end code, that is, whether or not the relevant part has reached the end of accompaniment.
Here, when the value of the register DATA is the end code, the process proceeds to step Sc9, and as described above, the part to be reproduced is switched, and if the duration time has not elapsed for other parts, the above is performed. The operations of steps Sc2, Sc11, Sc9, and Sc10 are repeated.

【0043】一方、上記ステップSc4において、レジ
スタDATAの値がエンドコードでない場合、ステップ
Sc5に進む。ステップSc5では、レジスタDATA
の値がキーオンコードであるか否かを判断する。ここ
で、レジスタDATAの値がキーオンコードである場
合、ステップSc12に進む。ステップSc12では、
CPU2が発音処理ルーチン(図8参照)を起動し、発
音処理を行う(後述する)。
On the other hand, if the value of the register DATA is not the end code in step Sc4, the process proceeds to step Sc5. At step Sc5, register DATA
It is determined whether the value of is a key-on code. Here, when the value of the register DATA is the key-on code, the process proceeds to step Sc12. In step Sc12,
The CPU 2 activates a sound generation processing routine (see FIG. 8) and performs sound generation processing (described later).

【0044】発音処理が終了し、再生処理ルーチン(図
7参照)に処理が復帰すると、ステップSc16に進
む。ステップSc16では、レジスタPPPNの値を
「2」インクリメントした後、前述のステップSc3に
戻る。そして、次の伴奏パターンデータを読み出し、上
記ステップSc4以下の判断を繰り返す。
When the tone generation processing ends and the processing returns to the reproduction processing routine (see FIG. 7), the process proceeds to step Sc16. In step Sc16, the value of the register PP PN is incremented by "2", and then the process returns to step Sc3. Then, the next accompaniment pattern data is read out, and the determinations in and after step Sc4 are repeated.

【0045】一方、上記ステップSc5において、レジ
スタDATAの値がキーオンコードでない場合、ステッ
プSc6に進む。ステップSc6では、レジスタDAT
Aの値がキーオフコードであるか否かを判断する。ここ
で、レジスタDATAの値がキーオフコードである場
合、ステップSc13に進む。ステップSc13では、
伴奏パターンメモリ7から、次のアドレスに記憶されて
いるキーコード(ただし、この場合、リズムパートであ
るから打楽器コードとなる)PTNSTYL,PN(PPP N
1)を読み出し、これをレジスタKCにセットする。
On the other hand, if the value of the register DATA is not the key-on code in step Sc5, the process proceeds to step Sc6. In step Sc6, the register DAT
It is determined whether the value of A is a key-off code. Here, when the value of the register DATA is the key-off code, the process proceeds to step Sc13. In step Sc13,
From the accompaniment pattern memory 7, the key code stored at the next address (however, in this case, it becomes a percussion instrument code because it is a rhythm part) PTN STYL, PN (PP P N +
1) is read and this is set in the register KC.

【0046】次に、ステップSc14に進むと、CPU
2は、キーオフ信号とレジスタKCにセットしてあるキ
ーコード(打楽器コード)とを音源9へ供給する。これ
により、音源9による楽音信号の発生が停止され、消音
される。次に、CPU1の処理がステップSc16に進
むと、レジスタPPPNの値を「2」インクリメントし、
伴奏パターンメモリ7のポインタが次の伴奏パターンデ
ータを指すようにする。そして、前述のステップSc3
に戻って次の伴奏パターンデータを読み出した後、上記
ステップSc4以下の判断を繰り返す。
Next, in step Sc14, the CPU
2 supplies the key-off signal and the key code (percussion instrument code) set in the register KC to the sound source 9. As a result, the generation of the tone signal by the sound source 9 is stopped and the sound is muted. Next, when the processing of the CPU 1 proceeds to step Sc16, the value of the register PP PN is incremented by “2”,
The pointer of the accompaniment pattern memory 7 points to the next accompaniment pattern data. Then, the above-mentioned step Sc3
After returning to step 1 and reading the next accompaniment pattern data, the determinations in step Sc4 and subsequent steps are repeated.

【0047】一方、上記ステップSc6において、レジ
スタDATAの値がキーオフコードでない場合、ステッ
プSc7に進む。ステップSc7では、レジスタDAT
Aの値がアンティシペーションオンコードであるか否か
を判断する。ここで、レジスタDATAの値がアンティ
シペーションオンコードである場合、ステップSc15
に進む。ステップSc15では、フラグANTの値を
「1」に反転し、アンティシペーションをイネーブルす
る。そして、ステップSc16でレジスタPPPNの値を
「2」インクリメントした後、前述のステップSc3に
戻り、上記動作を繰り返す。
On the other hand, if the value of the register DATA is not the key-off code in step Sc6, the process proceeds to step Sc7. In step Sc7, the register DAT
It is determined whether the value of A is an anticipation on code. If the value of the register DATA is the anticipation on code, step Sc15
Proceed to. In step Sc15, the value of the flag ANT is inverted to "1" to enable anticipation. Then, after incrementing the value of the register PP PN by “2” in step Sc16, the process returns to step Sc3 described above and the above operation is repeated.

【0048】一方、上記ステップSc7において、レジ
スタDATAの値がアンティシペーションオンコードで
ない場合(この場合、レジスタDATAの値がデュレー
ションコードであることを意味している。)、次のステ
ップSc8に進む。ステップSc8では、伴奏パターン
メモリ7の次アドレスに記憶されているデュレーション
タイムのデータPTNSTYL,PN(PPPN+1)を読み出
し、これをレジスタDLPNにセットする。これにより、
デュレーションタイムが再設定される。そして、ステッ
プSc9において伴奏パートが切り替えられ、以後、上
述した再生動作が他のパートについて繰り返えされる。
On the other hand, in step Sc7, when the value of the register DATA is not the anticipation on code (in this case, it means that the value of the register DATA is the duration code), the process proceeds to the next step Sc8. . In step Sc8, the duration time data PTN STYL, PN (PP PN +1) stored at the next address of the accompaniment pattern memory 7 is read and set in the register DL PN . This allows
The duration time is reset. Then, in step Sc9, the accompaniment part is switched, and thereafter, the above-described reproduction operation is repeated for other parts.

【0049】D:発音処理 上記再生処理ルーチンのステップSc12(図7参照)
に処理が進むと、CPU2は、図8に示す発音処理ルー
チンを起動し、ステップSd1に処理を進める。ステッ
プSd1では、レジスタPNの値が「0」であるか否
か、すなわち当該パートがリズムパートであるか、それ
ともリズムパート以外のパートであるかを判断する。
D: Sound Generation Processing Step Sc12 (see FIG. 7) of the reproduction processing routine.
When the processing advances to step S2, the CPU 2 activates the sound generation processing routine shown in FIG. 8 and advances the processing to step Sd1. In step Sd1, it is determined whether or not the value of the register PN is “0”, that is, whether the part is a rhythm part or a part other than the rhythm part.

【0050】ここで、当該パートがリズムパートである
場合、この判断結果は「Yes」となり、ステップSd
7に進む。ステップSd7では、伴奏パターンメモリ7
から、次のアドレスに記憶されている打楽器コードPT
STYL,PN(PPPN+1)を読み出し、これをレジスタ
RNにセットする。次に、ステップSd8に進むと、C
PU2は、キーオン信号とレジスタRNにセットしてあ
る打楽器コードとを音源9へ供給する。これにより、音
源9が打楽器によるリズム音をサウンドシステム10へ
供給し、発音が行われる。そして、CPU2の処理はこ
の発音処理ルーチンを終了し、再生処理ルーチン(図7
参照)に復帰する。すなわち、リズムパートでは、アン
ティシペーションのオン/オフに関係なく発音処理が行
われる。
If the part is a rhythm part, the result of this judgment is "Yes", and step Sd
Proceed to 7. In step Sd7, the accompaniment pattern memory 7
From the percussion chord PT stored at the following address
N STYL, PN (PP PN +1) is read and set in the register RN. Next, when proceeding to step Sd8, C
The PU 2 supplies the key-on signal and the percussion chord set in the register RN to the tone generator 9. As a result, the sound source 9 supplies the rhythm sound of the percussion instrument to the sound system 10, and the sound is generated. Then, the processing of the CPU 2 ends this sound generation processing routine, and the reproduction processing routine (see FIG. 7).
Refer to). That is, in the rhythm part, sound generation processing is performed regardless of whether anticipation is on or off.

【0051】一方、当該パートがリズムパート以外のパ
ートである場合、前述のステップSd1の判断結果は
「No」となり、ステップSd2に進む。ステップSd
2では、伴奏パターンメモリ7から、キーオンコードの
次のアドレスに記憶されているキーコードPTN
STYL,PN(PPPN+1)を読み出し、これをレジスタK
Cにセットする。次に、ステップSd3に進むと、フラ
グANTの値が「1」であるか否か、すなわちアンティ
シペーションがイネーブルされているか否かを判断す
る。
On the other hand, if the part is a part other than the rhythm part, the result of the determination in step Sd1 is "No", and the process proceeds to step Sd2. Step Sd
2, the accompaniment pattern memory 7 stores the key code PTN stored at the address next to the key-on code.
Read STYL, PN (PP PN +1) and register this
Set to C. Next, in step Sd3, it is determined whether the value of the flag ANT is "1", that is, whether anticipation is enabled.

【0052】ここで、アンティシペーションがイネーブ
ルされている場合、次のステップSd4に進む。ステッ
プSd4では、レジスタNRTの値とレジスタRTの値
とが等しく、かつレジスタNTPの値とレジスタTPの
値とが等しいか否かを判断する。すなわち、ここでは、
先読みしたコードを用いて、コード変化がないか否かを
判断している。
If the anticipation is enabled, the process proceeds to the next step Sd4. In step Sd4, it is determined whether or not the value of the register NRT is equal to the value of the register RT, and the value of the register NTP is equal to the value of the register TP. That is, here
The pre-read code is used to determine whether there is a code change.

【0053】ここで、コード変化がある場合、この判断
結果は「No」となり、ステップSd5に進む。ステッ
プSd5では、レジスタNRTの値とレジスタNTPの
値、すなわち先読みしてあるコードに対応した根音のデ
ータと和音種類のデータとに基づき、レジスタKCにセ
ットしてあるキーコードの音高変換を行う。次に、ステ
ップSd6に進むと、CPU2は、キーオン信号と上記
ステップSd5で音高変換を行ったキーコードとを音源
9へ供給する。これにより、音源9は先読みした変更後
のコードに基づいた楽音信号をサウンドシステム10へ
供給し、発音が行われる。そして、CPU2の処理はこ
の発音処理ルーチンを終了し、再生処理ルーチン(図7
参照)に復帰する。
If there is a code change, the result of this judgment is "No", and the flow advances to step Sd5. In step Sd5, the pitch conversion of the key code set in the register KC is performed based on the value of the register NRT and the value of the register NTP, that is, the root note data and the chord type data corresponding to the pre-read chord. To do. Next, when proceeding to step Sd6, the CPU 2 supplies the key-on signal and the key code subjected to the pitch conversion at step Sd5 to the sound source 9. As a result, the sound source 9 supplies a tone signal based on the pre-changed and changed code to the sound system 10 for sound generation. Then, the processing of the CPU 2 ends this sound generation processing routine, and the reproduction processing routine (see FIG. 7).
Refer to).

【0054】一方、前述のステップSd4において、コ
ード変化がない場合、ステップSd9に進む。ステップ
Sd9では、レジスタRTの値とレジスタTPの値、す
なわち現在のコードに対応した根音のデータと和音種類
のデータとに基づき、レジスタKCにセットしてあるキ
ーコードの音高変換を行う。次に、ステップSd6に進
むと、CPU2はキーオン信号と上記ステップSd9で
音高変換を行ったキーコードとを音源9へ供給し、これ
によりアンティシペーションでない通常の発音が行われ
る。そして、CPU2の処理はこの発音処理ルーチンを
終了し、再生処理ルーチン(図7参照)に復帰する。
On the other hand, if there is no code change in step Sd4, the process proceeds to step Sd9. In step Sd9, pitch conversion of the key code set in the register KC is performed based on the value of the register RT and the value of the register TP, that is, the root note data and the chord type data corresponding to the current chord. Next, proceeding to step Sd6, the CPU 2 supplies the key-on signal and the key code subjected to the pitch conversion in step Sd9 to the sound source 9, whereby normal sounding other than anticipation is performed. Then, the processing of the CPU 2 ends this sound generation processing routine and returns to the reproduction processing routine (see FIG. 7).

【0055】上述したように、この実施例では、伴奏パ
ターンメモリ7のリズムパートに対応する伴奏パターン
データにアンティシペーションオンコードを含ませてお
き、このコードが読み出されたタイミングでアンティシ
ペーションをイネーブルしている(ステップSc1
5)。一方、コード進行メモリ6の和音データを1拍分
先読みしておき(ステップSb4)、アンティシペーシ
ョンがイネーブルされている間、コード変化が検出され
ると(ステップSd5)、そのコード変化を現在の発音
タイミングまで先行させ(ステップSd6)、リズムパ
ート以外のパートについて変更後のコードに基づいた発
音を行うようにしている。そして、本来のコード変化の
タイミング、すなわち次の拍の区切りのタイミングでア
ンティシペーションをディスエーブルする(ステップS
b11)。このような動作が、アンティシペーションオ
ンコードが読み出される毎に繰り返される。
As described above, in this embodiment, the anticipation on code is included in the accompaniment pattern data corresponding to the rhythm part of the accompaniment pattern memory 7, and the anticipation is performed at the timing when this code is read. Is enabled (step Sc1
5). On the other hand, the chord data in the chord progression memory 6 is preread for one beat (step Sb4), and when a chord change is detected while the anticipation is enabled (step Sd5), the chord change is detected as the current chord change. The tone generation timing is preceded (step Sd6), and the parts other than the rhythm part are sounded based on the changed chord. Then, anticipation is disabled at the timing of the original chord change, that is, the timing of the next beat delimiter (step S).
b11). Such an operation is repeated every time the anticipation on code is read.

【0056】なお、この実施例では、アンティシペーシ
ョンオンコードをリズムパートの伴奏パターンデータに
のみ含ませるようにしているが、これに限らず、例えば
各パートの伴奏パターンデータにそれぞれ個別にアンテ
ィシペーションオンコードを含ませ、伴奏パート毎独立
にアンティシペーションの制御を行うようにしてもよ
い。その際、それぞれのパートのシンコペーションのあ
る部分に対してアンティシペーションを行うと、よりシ
ンコペーションが強調される。また、アンティシペーシ
ョンのイネーブル/ディスエーブルの制御を、本実施例
のような態様にするのでなく、例えばアンティシペーシ
ョン制御用のスイッチを設け、これを操作して制御する
ようにしてもよい。
In this embodiment, the anticipation on code is included only in the accompaniment pattern data of the rhythm part, but the present invention is not limited to this. The anticipation control may be performed independently for each accompaniment part by including a partition on code. At this time, when anticipation is performed on the syncopated portion of each part, the syncopation is further emphasized. Further, the anticipation enable / disable control may be performed by providing a switch for anticipation control, for example, and operating the switch instead of the mode of this embodiment.

【0057】[0057]

【発明の効果】以上説明したように、この発明によれ
ば、アンティシペーションの指示によってコード変化の
タイミングが先行され、拍タイミング以外のタイミング
でも和音が進行変化するので、伴奏にドライブ感を与え
ることができ、表情豊かな伴奏音が実現される。
As described above, according to the present invention, the timing of chord change is preceded by the instruction of anticipation, and the chord also changes at a timing other than the beat timing, so that a feeling of drive is given to the accompaniment. It is possible to achieve an expressive accompaniment sound.

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

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

【図2】 同実施例におけるコード進行メモリの記憶内
容を示す図である。
FIG. 2 is a diagram showing stored contents of a chord progression memory in the embodiment.

【図3】 同実施例における伴奏パターンメモリの記憶
内容を示す図である。
FIG. 3 is a diagram showing storage contents of an accompaniment pattern memory in the embodiment.

【図4】 同実施例によるアンティシペーション制御の
概略を示す図である。
FIG. 4 is a diagram showing an outline of anticipation control according to the embodiment.

【図5】 同実施例において、CPUが実行する制御プ
ログラムのメインルーチンを示すフローチャートであ
る。
FIG. 5 is a flowchart showing a main routine of a control program executed by a CPU in the embodiment.

【図6】 同実施例において、CPUが実行する制御プ
ログラムのタイマ割り込み処理ルーチンを示すフローチ
ャートである。
FIG. 6 is a flowchart showing a timer interrupt processing routine of a control program executed by a CPU in the embodiment.

【図7】 同実施例において、CPUが実行する制御プ
ログラムの再生処理ルーチンを示すフローチャートであ
る。
FIG. 7 is a flowchart showing a reproduction processing routine of a control program executed by a CPU in the embodiment.

【図8】 同実施例において、CPUが実行する制御プ
ログラムの発音処理ルーチンを示すフローチャートであ
る。
FIG. 8 is a flowchart showing a sound generation processing routine of a control program executed by a CPU in the embodiment.

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

1……押鍵検出回路、2……CPU、3……タイマ、4
……プログラムメモリ、5……ワーキングメモリ、6…
…コード進行メモリ、7……伴奏パターンメモリ、8…
…スイッチ検出回路、9……音源、10……サウンドシ
ステム、11……バス
1 ... Key press detection circuit, 2 ... CPU, 3 ... timer, 4
...... Program memory, 5 ...... Working memory, 6 ...
… Chord progression memory, 7… Accompaniment pattern memory, 8…
… Switch detection circuit, 9 …… Sound source, 10 …… Sound system, 11 …… Bass

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 コード進行を記憶しておき、順次記憶さ
れたコードに基づいて自動伴奏を行う自動伴奏装置にお
いて、 前記記憶されたコードを先読みし、予めコード変化を検
出する検出手段と、 アンティシペーションを指示する指示手段と、 前記指示手段によりアンティシペーションが指示された
とき、前記検出手段により検出したコード変化のタイミ
ングより早いタイミングでコードを変更するコード変更
手段とを具備することを特徴とする自動伴奏装置。
1. An automatic accompaniment device for storing chord progressions and performing automatic accompaniment based on the sequentially stored chords, a detection means for pre-reading the stored chords, and detecting a chord change in advance. And a code changing means for changing the code at a timing earlier than the timing of the code change detected by the detecting means when the anticipation is instructed by the instructing means. And an automatic accompaniment device.
JP4310581A 1992-11-19 1992-11-19 Automatic accompaniment device Expired - Fee Related JP2531424B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4310581A JP2531424B2 (en) 1992-11-19 1992-11-19 Automatic accompaniment device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4310581A JP2531424B2 (en) 1992-11-19 1992-11-19 Automatic accompaniment device

Publications (2)

Publication Number Publication Date
JPH06161450A true JPH06161450A (en) 1994-06-07
JP2531424B2 JP2531424B2 (en) 1996-09-04

Family

ID=18006967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4310581A Expired - Fee Related JP2531424B2 (en) 1992-11-19 1992-11-19 Automatic accompaniment device

Country Status (1)

Country Link
JP (1) JP2531424B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011137880A (en) * 2009-12-25 2011-07-14 Yamaha Corp Automatic accompaniment device
JP2011137881A (en) * 2009-12-25 2011-07-14 Yamaha Corp Automatic accompaniment device
JP2015184390A (en) * 2014-03-20 2015-10-22 カシオ計算機株式会社 Chord playing timing designation device, method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011137880A (en) * 2009-12-25 2011-07-14 Yamaha Corp Automatic accompaniment device
JP2011137881A (en) * 2009-12-25 2011-07-14 Yamaha Corp Automatic accompaniment device
JP2015184390A (en) * 2014-03-20 2015-10-22 カシオ計算機株式会社 Chord playing timing designation device, method, and program

Also Published As

Publication number Publication date
JP2531424B2 (en) 1996-09-04

Similar Documents

Publication Publication Date Title
JP2707853B2 (en) Key press indicating device
US5481066A (en) Automatic performance apparatus for storing chord progression suitable that is user settable for adequately matching a performance style
JP2531424B2 (en) Automatic accompaniment device
JP2586740B2 (en) Electronic musical instrument
US5200566A (en) Electronic musical instrument with ad-lib melody playing device
JP3039311B2 (en) Electronic musical instrument
JPH1185153A (en) Playing device
JP2640992B2 (en) Pronunciation instruction device and pronunciation instruction method for electronic musical instrument
JP3194850B2 (en) Electronic musical instrument with automatic performance function
JP2530744Y2 (en) Electronic musical instrument
JP3667387B2 (en) Electronic musical instruments
JP3329030B2 (en) Music signal generator
JP2842440B2 (en) Automatic accompaniment device
JP3940999B2 (en) Performance device and performance method
US5270479A (en) Electronic musical instrument with chord accompaniment stop control
JP2879742B2 (en) Automatic accompaniment device
JPH0743593B2 (en) Range converter for electronic musical instruments
JP2848092B2 (en) Automatic accompaniment device
JP2643277B2 (en) Automatic performance device
JP4035715B2 (en) Accompaniment generation apparatus and accompaniment generation program
JP3744667B2 (en) Automatic accompaniment device and automatic accompaniment method
JP2694788B2 (en) Electronic musical instrument
JPH11194773A (en) Device and method for automatic accompaniment
JP2646925B2 (en) Automatic accompaniment device for electronic musical instruments
JP3533764B2 (en) Automatic accompaniment device

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960507

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080627

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees