JPH11194774A - Automatic playing device - Google Patents

Automatic playing device

Info

Publication number
JPH11194774A
JPH11194774A JP9368012A JP36801297A JPH11194774A JP H11194774 A JPH11194774 A JP H11194774A JP 9368012 A JP9368012 A JP 9368012A JP 36801297 A JP36801297 A JP 36801297A JP H11194774 A JPH11194774 A JP H11194774A
Authority
JP
Japan
Prior art keywords
chord
sound
key
accompaniment
register
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.)
Pending
Application number
JP9368012A
Other languages
Japanese (ja)
Inventor
Hiroshi Morokuma
浩志 諸隈
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP9368012A priority Critical patent/JPH11194774A/en
Publication of JPH11194774A publication Critical patent/JPH11194774A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain a natural accompaniment sound which is free of a feeling of musical physical disorder even when arpeggios are played by holding the sounds of pressed keys as chord decision object sounds in order when the keys are pressed while an operation element for indicating chord decision making is pressed. SOLUTION: A panel switch group 1 generates a switch signal corresponding to each switch operation. A pedal operation element 2 generates an ON signal when stepped on and an OFF signal when released. A keyboard 3 generates playing information such as a key-ON/key-OFF signal corresponding to the key pressing/releasing operation. When keys are pressed while the pedal operation element 2 is turned on, this device holds the sounds of the pressed keys as chord decision object sounds. Further, the chord decision object sounds held corresponding to the ON operation of the pedal operation element 2 are automatically cleared, measure by measure. Or the sounds of the keys are excluded from the chord decision objects according to the envelope state of a key pressed after the pedal operation element 2 is turned on.

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 which enables an automatic accompaniment corresponding to an arpeggio playing method in which chords are played one by one.

【0002】[0002]

【従来の技術】従来より、コード演奏やベース演奏を補
助するため、演奏されたコード(和音)のルート(根
音)およびコード種(和音種類)を検出し、この検出結
果に基づいて伴奏パターンを構成する各音を音高変換
し、これにより得られるコード音およびベース音を所定
のタイミングで自動的に発音して伴奏する自動伴奏装置
が知られている。なお、ここで言う伴奏パターンとは、
演奏すべき各音の音高や発音タイミング等を表わすデー
タから構成されるものであって、例えば、中音域伴奏を
表わすコードバッキングパターンや、低音域のベース音
による伴奏を表わすベースパターンが用いられる場合が
多い。
2. Description of the Related Art Conventionally, in order to assist a chord performance or a bass performance, a root (root note) and a chord type (chord type) of a played chord (chord) are detected, and an accompaniment pattern is determined based on the detected result. There is known an automatic accompaniment apparatus which converts the pitches of each of the sounds constituting the sound, and automatically generates a chord sound and a base sound obtained at a predetermined timing and accompaniment. The accompaniment pattern mentioned here is
It is composed of data representing the pitch, tone generation timing, etc. of each note to be played. For example, a chord backing pattern representing a middle-range accompaniment, or a bass pattern representing an accompaniment of a bass tone in a low-frequency range is used. Often.

【0003】[0003]

【発明が解決しようとする課題】ところで、上述した従
来の自動伴奏装置では、図25に示す楽譜の第2小節に
示すように、音名C3,E3,G3(ド,ミ,ソ)を同時
押鍵した場合には容易に「Cメジャー」とコード判別し
得るものの、同図の第1小節に示すような押鍵操作がな
された時には一意的にそのコード判別を行うことができ
ない。以下、この点について詳述する。
By the way, in the conventional automatic accompaniment apparatus described above, note names C 3 , E 3 , G 3 (de, mi, so ) Can be easily discriminated as "C major" when the keys are pressed simultaneously, but when the key is pressed as shown in the first bar of FIG. . Hereinafter, this point will be described in detail.

【0004】まず、コード判別する手法としては、同図
に図示する通り、1)1音押鍵されたら一意的にその音
のメジャーと見做す手法や、2)押鍵された音をルート
(根音)と見做す手法、あるいは、3)1音押鍵ではノ
ーコードとして扱い、コード判別しない手法が従来より
知られている。
As shown in FIG. 1, there are two methods of chord discrimination: 1) a method in which, when one key is pressed, the key is uniquely regarded as a major of the sound; Conventionally, there is known a method considered as (root), or 3) a method of treating a single note key as no chord and not discriminating the chord.

【0005】ところが、図25の第1小節に示す押鍵操
作をした時に、上記2)の手法によるコード判定結果に
基づき、例えば図26に示す伴奏パターンを構成する各
音を音高変換すると、図27の楽譜に示すコード音およ
びベース音となり、これでは音楽的に違和感のある伴奏
となってしまう。また、上記1)の手法に従った場合に
は全くあわない伴奏になってしまう。このように、従来
の自動伴奏装置では、和音構成音を一音づつ押鍵操作す
るアルペジョ奏法がなされると自然な伴奏音を得ること
ができない、という問題がある。
However, when the key depression operation shown in the first bar of FIG. 25 is performed, based on the chord determination result by the above-mentioned method 2), for example, the pitches of the respective sounds constituting the accompaniment pattern shown in FIG. The chord sound and the bass sound shown in the musical score of FIG. 27 are provided, which results in musically unaccompanied accompaniment. Further, when the method of the above 1) is followed, the accompaniment is completely unacceptable. As described above, the conventional automatic accompaniment apparatus has a problem that a natural accompaniment sound cannot be obtained if an arpeggio playing method is performed in which a key-depressing operation of a chord component sound is performed one by one.

【0006】そこで本発明は、上述した事情に鑑みてな
されたもので、アルペジョ奏法がなされても音楽的に違
和感のない自然な伴奏音を得ることができる自動伴奏装
置を提供することを目的としている。
Accordingly, the present invention has been made in view of the above circumstances, and has as its object to provide an automatic accompaniment apparatus capable of obtaining a natural accompaniment sound that is musically uncomfortable even when an arpeggio playing method is performed. I have.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明では、コード判定を指示する
操作子を備え、この操作子がオン操作されている間に押
鍵される鍵の音をコード判定対象音として順次保持する
コード保持手段と、前記操作子のオフ操作に応じて前記
コード保持手段が保持するコード判定対象音を消去する
コード消去手段と、前記コード保持手段に保持されるコ
ード判定対象音に基づいてコード判定し、確定したコー
ドに応じて伴奏パターンを構成する各音を音高変換して
得られる伴奏音を当該伴奏パターンにて指定されるタイ
ミングに従って発音する伴奏手段とを具備することを特
徴とする。
In order to achieve the above object, according to the first aspect of the present invention, there is provided an operation device for instructing code determination, and a key is depressed while the operation device is turned on. A code holding unit for sequentially holding a key sound as a code determination target sound; a code erasing unit for deleting a code determination target sound held by the code holding unit in response to an OFF operation of the operation element; and the code holding unit. A chord is determined based on the held chord determination target sound, and the accompaniment sounds obtained by pitch-converting each of the sounds constituting the accompaniment pattern according to the determined chord are pronounced according to the timing specified by the accompaniment pattern. And accompaniment means.

【0008】上記請求項1に従属する請求項2に記載の
発明によれば、前記伴奏手段は、コード判定対象音が一
音押鍵に対応する場合、そのコード判定対象音を根音と
見做すことを特徴としている。
According to the second aspect of the present invention, when the chord determination target sound corresponds to a single key press, the accompaniment means regards the chord determination target sound as a root tone. It is characterized by

【0009】また、上記請求項1に従属する請求項3に
記載の発明によれば、前記伴奏手段は、コード判定対象
音に基づいてコード判定した結果、コード不確定である
と、このコード判定対象音を伴奏パターンにて指定され
るタイミングに従ってコード音として発音させることを
特徴とする。
According to the third aspect of the invention, the accompaniment means determines that the chord is uncertain as a result of the chord judgment based on the chord judgment target sound. It is characterized in that the target sound is produced as a chord sound according to the timing specified by the accompaniment pattern.

【0010】請求項4に記載の発明では、コード判定を
指示する操作子を備え、この操作子がオン操作されてい
る間に押鍵される鍵の音をコード判定対象音として順次
保持するコード保持手段と、このコード保持手段に保持
されるコード判定対象音を1小節経過毎に自動消去する
コード消去手段と、前記コード保持手段に保持中のコー
ド判定対象音に基づいてコード判定し、確定したコード
に応じて伴奏パターンを構成する各音を音高変換して得
られる伴奏音を当該伴奏パターンにて指定されるタイミ
ングに従って発音する伴奏手段とを具備することを特徴
とする。
According to the present invention, there is provided a code which includes an operation element for instructing code judgment, and sequentially holds a sound of a key depressed while the operation element is turned on as a sound to be judged. Holding means; a code erasing means for automatically deleting the chord judgment target sound held in the chord holding means every one bar; a chord judgment based on the chord judgment target sound held in the chord holding means; And an accompaniment means for producing an accompaniment sound obtained by pitch-converting each sound constituting the accompaniment pattern according to the chord according to the timing specified by the accompaniment pattern.

【0011】請求項5に記載の発明では、コード判定を
指示する操作子を備え、この操作子がオン操作されてい
る間に押鍵される鍵の音をコード判定対象音として順次
保持するコード保持手段と、前記操作子がオン操作され
た以後に押鍵された鍵の音のエンベロープがリリース状
態になり、そのエンベロープレベルが所定値に達した時
点で当該鍵の音を前記コード保持手段に保持中のコード
判定対象音から消去するコード消去手段と、 前記コー
ド保持手段に保持中のコード判定対象音に基づいてコー
ド判定し、確定したコードに応じて伴奏パターンを構成
する各音を音高変換して得られる伴奏音を当該伴奏パタ
ーンにて指定されるタイミングに従って発音する伴奏手
段とを具備することを特徴とする。
According to the present invention, there is provided a cord which includes a manipulator for instructing a chord judgment, and sequentially holds a sound of a key depressed while the manipulator is turned on as a chord judgment target sound. The holding means and the envelope of the sound of the key depressed after the operation element is turned on are released, and when the envelope level reaches a predetermined value, the sound of the key is transferred to the chord holding means. Chord erasing means for erasing from the held chord judgment target sound, performing chord judgment based on the chord judgment target sound held in the chord holding means, and pitching each sound constituting the accompaniment pattern according to the determined chord. An accompaniment means for producing an accompaniment sound obtained by the conversion in accordance with a timing specified by the accompaniment pattern.

【0012】本発明では、コード判定を指示する操作子
をオン操作しながら、押鍵操作すると、その押鍵された
鍵の音が順次、コード判定対象音として保持されて行く
ので、和音構成音を一音づつ押鍵操作するアルペジョ奏
法がなされても、音楽的に違和感なく自然な伴奏音が得
られる。
In the present invention, when a key is depressed while the operator for instructing chord judgment is turned on, the sound of the depressed key is sequentially held as a chord judgment target sound. Even if an arpeggio playing method is performed in which the key is pressed one note at a time, a natural accompaniment sound without musical discomfort can be obtained.

【0013】[0013]

【発明の実施の形態】本発明による自動伴奏装置は、例
えば、電子ピアノ等の鍵盤を備える各種電子楽器の他、
パーソナルコンピュータを用いたDTM装置などに適用
され得る。以下では、本発明の実施の形態である自動伴
奏装置を実施例として図面を参照して説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The automatic accompaniment apparatus according to the present invention includes, for example, various electronic musical instruments having a keyboard such as an electronic piano,
The present invention can be applied to a DTM device using a personal computer. Hereinafter, an automatic accompaniment device according to an embodiment of the present invention will be described as an example with reference to the drawings.

【0014】A.第1実施例 (1)構成 図1は、本発明による第1実施例の構成を示すブロック
図である。この図において、1は自動伴奏の開始・停止
を指示するスタート/ストップスイッチや、伴奏パター
ンを選択するスイッチ等、装置パネルに配設される各種
スイッチから構成されるパネルスイッチ群であり、各ス
イッチ操作に応じたスイッチ信号を発生する。2は踏ま
れた時にオン信号を発生し、離された時にオフ信号を発
生するペダル操作子である。このペダル操作子2が意図
するところについては追って述べる。3は押離鍵操作に
応じてキーオン/キーオフ信号、キーナンバ(あるいは
キーコード)およびベロシティ等の演奏情報を発生する
鍵盤である。
A. First Embodiment (1) Configuration FIG. 1 is a block diagram showing a configuration of a first embodiment according to the present invention. In FIG. 1, reference numeral 1 denotes a panel switch group including various switches disposed on the device panel, such as a start / stop switch for instructing start / stop of an automatic accompaniment, and a switch for selecting an accompaniment pattern. Generates a switch signal according to the operation. Reference numeral 2 denotes a pedal operator that generates an ON signal when depressed and generates an OFF signal when released. What the pedal operator 2 intends will be described later. Reference numeral 3 denotes a keyboard for generating performance information such as a key-on / key-off signal, a key number (or a key code), and a velocity in response to a key press / release operation.

【0015】4は装置各部を制御するCPUであり、そ
の特徴的な動作については後述する。また、このCPU
4は、自動伴奏時の演奏テンポを規定するテンポクロッ
クを発生しており、このテンポクロックに同期してタイ
マインタラプトルーチン(後述する)を割込み実行する
ようになっている。5は上記CPU4にロードされる各
種制御プログラムや各種音色の波形データ等を記憶する
ROMである。6はCPU4のワークエリアとして用い
られるRAMであり、各種レジスタ・フラグデータを一
時記憶する。
Reference numeral 4 denotes a CPU for controlling each section of the apparatus, and its characteristic operation will be described later. Also, this CPU
Numeral 4 generates a tempo clock that defines the performance tempo during automatic accompaniment, and executes a timer interrupt routine (described later) in synchronization with the tempo clock. Reference numeral 5 denotes a ROM for storing various control programs loaded into the CPU 4 and waveform data of various timbres. Reference numeral 6 denotes a RAM used as a work area of the CPU 4, which temporarily stores various register / flag data.

【0016】7は中音域伴奏を表わすコードバッキング
パターンCODEや、低音域のベース音による伴奏を表
わすベースパターンBASEからなる伴奏パターンを各
種記憶するデータROMである。8は周知の波形メモリ
読み出し方式により構成される音源である。この音源8
は伴奏音源部と通常音源部とから構成され、通常音源部
では鍵盤3から出力される演奏情報に基づき、CPU4
の指示の下に、ROM3から指定音色の波形データを読
み出して楽音合成し、これを演奏音として出力する。一
方、伴奏音源部ではCPU4の指示の下、演奏されたコ
ードに応じて伴奏パターンを構成する各音を音高変換
し、これにより得られるコード音およびベース音を伴奏
音として出力する。
Reference numeral 7 denotes a data ROM for storing various accompaniment patterns including a chord backing pattern CODE representing a middle-range accompaniment and a base pattern BASE representing an accompaniment of a bass sound in a low-frequency range. Reference numeral 8 denotes a sound source configured by a well-known waveform memory reading method. This sound source 8
Is composed of an accompaniment sound source section and a normal sound source section. In the normal sound source section, based on performance information output from the keyboard 3, the CPU 4
Under the instruction, the waveform data of the designated timbre is read from the ROM 3 to synthesize a musical tone, and this is output as a performance sound. On the other hand, under the direction of the CPU 4, the accompaniment tone generator converts the pitches of the sounds constituting the accompaniment pattern according to the played chord, and outputs the resulting chord sound and bass sound as accompaniment sounds.

【0017】(2)動作 次に、図2〜図16を参照して上記構成による第1実施
例の動作について説明する。以下では、最初に概略動作
として「メインルーチンの動作」について述べ、続いて
割込み実行される「タイマインタラプト処理ルーチンの
動作」、さらに、メインルーチンからコールされる各種
処理ルーチンについて順次説明して行くものとする。
(2) Operation Next, the operation of the first embodiment having the above configuration will be described with reference to FIGS. In the following, the "operation of the main routine" will be described first as a schematic operation, followed by the "operation of the timer interrupt processing routine" which is executed by interruption, and the various processing routines called from the main routine will be sequentially described. And

【0018】a.メインルーチンの動作(概略動作) まず、本実施例に電源が投入されると、CPU4はRO
M5から所定の制御プログラムをロードし、図2に示す
メインルーチンを実行してステップSa1に処理を進め
る。ステップSa1では、RAM6に設けられる各種レ
ジスタやフラグ類をリセットしたり、音源8に対して各
種レジスタ・フラグを初期化するよう指示するイニシャ
ライズを実行する。
A. Operation of Main Routine (Schematic Operation) First, when the power is turned on in the present embodiment, the CPU 4
A predetermined control program is loaded from M5, the main routine shown in FIG. 2 is executed, and the process proceeds to step Sa1. At step Sa1, various registers and flags provided in the RAM 6 are reset, and initialization for instructing the sound source 8 to initialize various registers and flags is executed.

【0019】そして、イニシャライズ完了後にCPU4
は次のステップSa2に処理を進め、コンソール上に配
設されるパネルスイッチ群1の操作に対応した処理、す
なわち、自動伴奏の開始・停止を指示する等のスイッチ
処理を実行する。なお、このスイッチ処理にて自動伴奏
の開始が指示された時には、割込みマスクを解除して後
述するタイマインタラプト処理ルーチンの実行を指示
し、一方、自動伴奏の停止が指示された時には割込みマ
スクを施してタイマインタラプト処理ルーチンの実行を
禁止させるようになっている。
After the initialization is completed, the CPU 4
Proceeds to the next step Sa2, and executes a process corresponding to the operation of the panel switch group 1 arranged on the console, that is, a switch process for instructing start / stop of the automatic accompaniment. When the start of the automatic accompaniment is instructed by the switch processing, the interrupt mask is released and the execution of the timer interrupt processing routine described later is instructed. On the other hand, when the stop of the automatic accompaniment is instructed, the interrupt mask is applied. Thus, the execution of the timer interrupt processing routine is prohibited.

【0020】次いで、ステップSa3に進むと、ペダル
操作子2がオン操作されている間に押離鍵操作される鍵
について、それを自動伴奏を行わせる演奏コードと見做
す為の諸準備(レジスタ設定)を整えるペダル処理ルー
チンを実行する。そして、次のステップSa4では鍵盤
3の各鍵を走査して鍵変化した鍵のキーナンバ(あるい
はキーコード)を検出する鍵盤処理を実行する。続くス
テップSa5では、ペダル操作子2がオン操作されてい
る間に押離鍵操作される鍵の内、押鍵された鍵に基づい
て演奏コードを検出するコード検出処理ルーチンを実行
する。
Next, in step Sa3, preparations for regarding a key which is depressed / released while the pedal operator 2 is being turned on as a performance code for performing automatic accompaniment ( A pedal processing routine for adjusting the register setting is executed. Then, in the next step Sa4, a keyboard process for scanning each key of the keyboard 3 and detecting the key number (or key code) of the changed key is executed. In the following step Sa5, a code detection processing routine for detecting a performance code based on the pressed key of the keys pressed and released while the pedal operator 2 is turned on is executed.

【0021】こうして演奏コードが検出されると、CP
U4はステップSa6に処理を進め、検出した演奏コー
ドに基づいて自動伴奏するコード音およびベース音を生
成する一方、コード不確定の際に押鍵された鍵に対応す
る押鍵音を生成する伴奏データ生成処理ルーチンを実行
する。伴奏データ生成処理ルーチンは、コード音データ
生成処理ルーチン、ベース音データ生成処理ルーチンお
よび押鍵音生成処理ルーチンとから形成されており、コ
ード音/ベース音データ生成処理ルーチンでは、検出し
た演奏コードのルートおよびタイプに基づき、データR
OM7に記憶されているコードバッキングパターンCO
DEとベースパターンBASEとをそれぞれ音高変換し
てコード音/ベース音を生成する。そして、ステップS
a7では、生成されたコード音/ベース音を指定テンポ
で発音させる発音処理を実行し、以後、装置電源がオフ
されるまで上述したステップSa2〜Sa7を繰り返
す。
When the performance chord is detected in this way, the CP
U4 advances the process to step Sa6 to generate a chord sound and a bass sound to be automatically accompanied based on the detected performance chord, and to generate a key depression sound corresponding to a key depressed when the chord is indeterminate. Execute the data generation routine. The accompaniment data generation processing routine includes a chord sound data generation processing routine, a base sound data generation processing routine, and a key depression sound generation processing routine. Data R based on route and type
Code backing pattern CO stored in OM7
The DE and the base pattern BASE are each subjected to pitch conversion to generate a chord sound / bass sound. And step S
In a7, a sound generation process for generating the generated chord sound / bass sound at the designated tempo is executed, and thereafter, the above-described steps Sa2 to Sa7 are repeated until the apparatus power is turned off.

【0022】b.タイマインタラプト処理ルーチンの動
作 次に、図3を参照してタイマインタラプト処理ルーチン
の動作について説明する。上述したように、スイッチ処
理ルーチンにて自動伴奏が開始されると、これに伴って
タイマ割込み禁止が解除され、CPU4は図3に示すス
テップSb1を実行し、テンポクロックに同期してレジ
スタTにストアされるテンポクロック累算値を1インク
リメントして歩進する。そして、次のステップSb2で
は、歩進したテンポクロック累算値が「49」に達した
か否か、すなわち、4分音符長が12クロックである
時、1小節経過したかどうかを判断する。ここで、1小
節経過した時には、判断結果が「YES」となり、次の
ステップSb3に進み、レジスタTにストアされるテン
ポクロック累算値をゼロリセットしてから本ルーチンを
完了させるが、1小節経過以前の時には判断結果が「N
O」となり、直ちに本ルーチンを完了させる。
B. Operation of Timer Interrupt Processing Routine Next, the operation of the timer interrupt processing routine will be described with reference to FIG. As described above, when the automatic accompaniment is started in the switch processing routine, the timer interrupt prohibition is released accordingly, and the CPU 4 executes step Sb1 shown in FIG. The stored tempo clock accumulated value is incremented by one to advance. Then, in the next step Sb2, it is determined whether or not the accumulated tempo clock accumulated value has reached "49", that is, whether or not one bar has elapsed when the quarter note length is 12 clocks. Here, when one bar has elapsed, the judgment result is "YES", and the routine proceeds to the next step Sb3, where the accumulated value of the tempo clock stored in the register T is reset to zero and the present routine is completed. Before the elapse, the judgment result is “N
O ", and this routine is immediately completed.

【0023】c.スイッチ処理ルーチンの動作 上述したメインルーチンのステップSa2を介して図4
に示すスイッチ処理ルーチンが実行されると、CPU4
は図4に示すステップSc1に処理を進め、スタート/
ストップスイッチ(図示略)がオン操作されたか否かを
判断する。ここで、当該スイッチがオン操作されない場
合には、判断結果が「NO」となり、ステップSc9に
処理を進め、パネルスイッチ群1に配設されるその他の
スイッチの操作に対応した処理を実行してから本ルーチ
ンを完了させる。
C. Operation of Switch Processing Routine FIG.
When the switch processing routine shown in FIG.
Advances the process to step Sc1 shown in FIG.
It is determined whether or not a stop switch (not shown) has been turned on. Here, if the switch is not turned on, the determination result is “NO”, the process proceeds to step Sc9, and the process corresponding to the operation of the other switches provided in the panel switch group 1 is executed. To complete this routine.

【0024】一方、スタート/ストップスイッチがオン
操作された時には、上記ステップSc1の判断結果が
「YES」となり、次のステップSc2に処理を進め、
レジスタSTFに格納されるスタートフラグSTFを反
転させる。次いで、ステップSc3では、この反転され
たスタートフラグSTFが「1」、つまり、自動伴奏の
開始を指示する状態であるか否かを判断する。
On the other hand, when the start / stop switch is turned on, the result of the determination in step Sc1 is "YES", and the process proceeds to the next step Sc2.
The start flag STF stored in the register STF is inverted. Next, in step Sc3, it is determined whether or not the inverted start flag STF is “1”, that is, whether or not the automatic start of the accompaniment is instructed.

【0025】自動伴奏スタートの場合 当該フラグSTFが「1」となり、自動伴奏の開始を指
示する状態であれば、判断結果が「YES」となり、C
PU4は次のステップSc4に処理を進め、レジスタT
にストアされるテンポクロック累算値をゼロリセット
し、続くステップSc5,Sc6ではそれぞれレジスタ
CAD,BADに格納されるコード読み出しアドレスC
ADおよびベース読み出しアドレスBADを「ゼロ(先
頭アドレス値)」にセットする。なお、このコード読み
出しアドレスCADおよびベース読み出しアドレスBA
Dとは、データROM7に記憶される伴奏パターンデー
タの内、コードバッキングパターンCODEおよびベー
スパターンBASEをそれぞれ読み出す為のアドレスで
ある。
In the case of automatic accompaniment start If the flag STF is set to "1" and the start of automatic accompaniment is instructed, the judgment result is "YES" and C
PU4 proceeds to the next step Sc4, and sets
Is reset to zero, and in subsequent steps Sc5 and Sc6, the code read address C stored in the registers CAD and BAD, respectively.
The AD and the base read address BAD are set to “zero (head address value)”. The code read address CAD and the base read address BA
D is an address for reading out the chord backing pattern CODE and the base pattern BASE from the accompaniment pattern data stored in the data ROM 7.

【0026】こうしてテンポクロック累算値と各読み出
しアドレスとがゼロリセットされると、CPU4はステ
ップSc7に進み、タイマインタラプト処理の禁止を解
除する。これにより、前述したタイマインタラプト処理
ルーチンが実行され、テンポクロックを累算し始める。
そして、この後、上述したステップSc9を経て、その
他のスイッチ処理を行った後に、本ルーチンを完了させ
る。
When the tempo clock accumulated value and each read address are reset to zero in this way, the CPU 4 proceeds to step Sc7 to release the inhibition of the timer interrupt processing. As a result, the above-described timer interrupt processing routine is executed, and the accumulation of the tempo clock is started.
Then, after the above-described step Sc9 and other switch processes, the present routine is completed.

【0027】自動伴奏ストップの場合 一方、スタートフラグSTFが「0」となり、自動伴奏
の停止を指示する状態であれば、上述したステップSc
3の判断結果が「NO」となり、CPU4はステップS
c8に処理を進めて割込みマスクを施し、タイマインタ
ラプト処理を禁止した後、ステップSc9を経て、その
他のスイッチ処理を行ってから本ルーチンを完了させ
る。
In the case of automatic accompaniment stop On the other hand, if the start flag STF is "0" and the stop of automatic accompaniment is instructed, the above-described step Sc is performed.
3 is "NO", and the CPU 4 determines in step S
The process proceeds to c8, an interrupt mask is applied, timer interrupt processing is prohibited, and after step Sc9, other switch processing is performed, and then this routine is completed.

【0028】d.ペダル処理ルーチンの動作 さて、上述したスイッチ処理ルーチンを介して自動伴奏
がスタートした状態で、前述したメインルーチンのステ
ップSa3に処理が進むと、CPU4は図5に示すペダ
ル処理ルーチンのステップSd1を実行する。ステップ
Sd1では、まずペダル操作子2が発生する操作イベン
トに変化があったか否かを判断する。ここで、ペダル操
作が行われず、イベント変化がない時には何も処理せず
に本ルーチンを完了させるが、ペダル操作子2が離さ
れ、オン状態からオフ状態に遷移してオフイベントが発
生した時にはステップSd2に進み、ペダルフラグPF
を「0」にセットする。一方、ペダル操作子2が踏まれ
て、オフ状態からオン状態に遷移してオンイベントが発
生した時にはステップSd3に進み、ペダルフラグPF
を「1」にセットする。
D. Operation of Pedal Processing Routine When the processing proceeds to step Sa3 of the main routine described above with the automatic accompaniment started via the above-described switch processing routine, CPU 4 executes step Sd1 of the pedal processing routine shown in FIG. I do. In step Sd1, first, it is determined whether or not the operation event generated by the pedal operator 2 has changed. Here, when the pedal operation is not performed and there is no event change, this routine is completed without performing any processing. However, when the pedal operator 2 is released, the state changes from the on state to the off state, and the off event occurs, Proceeding to step Sd2, the pedal flag PF
Is set to “0”. On the other hand, when the pedal operator 2 is depressed and the state changes from the OFF state to the ON state and an ON event occurs, the process proceeds to step Sd3, and the pedal flag PF
Is set to “1”.

【0029】次いで、ステップSd4に進むと、CPU
4はレジスタNに「1」をセットすると共に、レジスタ
ROOT,TYPEをクリアする。ここで、レジスタN
は伴奏音源部の発音チャンネルを表わす値がセットされ
るレジスタであり、レジスタROOT,TYPEはそれ
ぞれ後述するコード判別により得られる演奏コードの根
音およびコード種を表わす値がセットされるレジスタで
ある。
Next, when the process proceeds to step Sd4, the CPU
Reference numeral 4 sets "1" in the register N and clears the registers ROOT and TYPE. Here, register N
Is a register in which a value indicating a sounding channel of the accompaniment tone generator is set, and registers ROOT and TYPE are registers in which values indicating a root tone and a chord type of a performance chord obtained by chord discrimination described later are set.

【0030】続いて、ステップSd5では、レジスタC
H(N),ONKAI(N),ONTIME(N)をそ
れぞれゼロリセットしておく。なお、このレジスタCH
(N)はレジスタNが指定する発音チャンネルについて
発音の可否を表わすデータを保持するレジスタであり、
「1」の時に発音を指示し、「0」の時に発音禁止を指
示する。また、レジスタONKAI(N)はレジスタN
が指定する発音チャンネルについて発音すべき楽音の音
高を示すデータを、レジスタONTIME(N)はレジ
スタNが指定する発音チャンネルについて発音すべき楽
音の音長を示すデータをそれぞれ保持するレジスタであ
る。
Subsequently, in step Sd5, the register C
H (N), ONKAI (N), and ONTIME (N) are reset to zero. Note that this register CH
(N) is a register for holding data indicating whether or not sound can be generated for the sound channel specified by the register N;
When "1", pronunciation is instructed, and when "0", pronunciation inhibition is instructed. The register ONKAI (N) is
A register ONTIME (N) is a register for storing data indicating a tone pitch of a musical tone to be emitted for the tone generation channel specified by the register N.

【0031】次いで、ステップSd6では、レジスタN
の値をインクリメントして歩進させ、続くステップSd
7では、この歩進されたレジスタNの値がN1を超えた
か否かを判断する。つまり、本実施例の場合、伴奏音源
部には都合N1個の発音チャンネルがあり、その内、1
〜N1−1番目の発音チャンネルにはコード音を割り当
て、N1番目の発音チャンネルにはベース音を割り当て
るようにしている。したがって、このステップSd7で
は、コード音が割り当てられる各レジスタについて初期
化したかどうかを判断している。そして、初期化が完了
していなければ、判断結果が「NO」となり、上記ステ
ップSd5に処理を戻してステップSd5〜Sd6を繰
り返し、完了すれば、このステップSd7の判断結果が
「YES」となり、次のステップSd8に処理を進め
る。
Next, in step Sd6, the register N
Is incremented by one, and the next step Sd
At 7, it is determined whether or not the value of the incremented register N exceeds N1. That is, in the case of the present embodiment, the accompaniment tone generator section has N1 sound channels for convenience.
The chord sounds are assigned to the (N1-1) th sounding channels, and the base sound is assigned to the N1st sounding channel. Therefore, in step Sd7, it is determined whether or not each register to which a chord tone is assigned has been initialized. If the initialization has not been completed, the determination result is “NO”, the process returns to step Sd5, and steps Sd5 to Sd6 are repeated. If completed, the determination result in step Sd7 becomes “YES”, The process proceeds to the next step Sd8.

【0032】次に、ステップSd8ではレジスタMに初
期値「1」をストアし、続くステップSd9ではキーバ
ッファレジスタNOTE(M)に、空き状態を表わす無
効値FF(16進表示)をストアする。そして、ステッ
プSd10ではこのレジスタMをインクリメントして歩
進させ、続くステップSd11では歩進されたレジスタ
Mの値が最大値を超えたか、すなわち、全ての発音チャ
ンネルに対応したキーバッファレジスタNOTE(M)
を空き状態にし終えた否かを判断し、セットし終えてい
ない時には上記ステップSd9に処理を戻すが、セット
し終えた時点で判断結果が「YES」となり、本ルーチ
ンを完了させる。
Next, in step Sd8, the initial value "1" is stored in the register M, and in the following step Sd9, an invalid value FF (hexadecimal notation) indicating an empty state is stored in the key buffer register NOTE (M). Then, in step Sd10, the register M is incremented and incremented. In the following step Sd11, it is determined whether the incremented value of the register M exceeds the maximum value, that is, the key buffer register NOTE (M )
It is determined whether or not has been completed, and if the setting has not been completed, the process returns to step Sd9. At the time when the setting has been completed, the determination result is "YES", and this routine is completed.

【0033】e.鍵盤処理ルーチンの動作 次に、図6を参照して鍵盤処理ルーチンの動作について
説明する。上述したメインルーチンのステップSa4を
介して本ルーチンが実行されると、CPU4は図6に示
すステップSe1に処理を進め、キーナンバ(鍵番号)
を格納するレジスタNをゼロリセットする。そして、ス
テップSe2では、このレジスタNに格納されるキーナ
ンバの鍵について鍵イベントの変化を判定する。キーオ
ンイベントが発生した時には、次のステップSe3に処
理を進め、レジスタKEY(N)に「1」をセットした
後、ステップSe5に処理を進める。一方、キーオフイ
ベントが発生した時には、ステップSe4に進み、レジ
スタKEY(N)に「0」をセットした後、ステップS
e5に処理を進める。
E. Operation of Keyboard Processing Routine Next, the operation of the keyboard processing routine will be described with reference to FIG. When this routine is executed via step Sa4 of the main routine described above, the CPU 4 advances the processing to step Se1 shown in FIG. 6, and the key number (key number)
Is reset to zero. In step Se2, a change in the key event is determined for the key of the key number stored in the register N. When a key-on event has occurred, the process proceeds to the next step Se3, where "1" is set in the register KEY (N), and then the process proceeds to step Se5. On the other hand, when a key-off event has occurred, the process proceeds to step Se4, where "0" is set in the register KEY (N), and then the process proceeds to step Se4.
The process proceeds to e5.

【0034】そして、鍵イベントが発生しない時には、
ステップSe5に処理を進め、鍵走査すべくレジスタN
に格納されるキーナンバを1インクリメントして歩進さ
せる。この後、ステップSe6に進み、歩進されたキー
ナンバが鍵数を超えたか、つまり、全鍵について鍵走査
し終えたか否かを判断する。鍵走査の途中であれば、判
断結果が「NO」となり、上述したステップSe2以降
の処理を繰り返し、鍵走査し終えたならば、判断結果が
「YES」となり、本ルーチンを完了させる。
When no key event occurs,
The process proceeds to Step Se5, and the register N is scanned to perform key scanning.
Is incremented by one and the key number is incremented. Thereafter, the process proceeds to step Se6, where it is determined whether the stepped key number has exceeded the number of keys, that is, whether key scanning has been completed for all keys. If key scanning is in progress, the determination result is "NO", and the above-described processing from step Se2 is repeated. If key scanning is completed, the determination result is "YES", and this routine is completed.

【0035】f.コード検出処理ルーチンの動作 次に、図7〜図9を参照してコード検出処理ルーチンの
動作について説明する。上述したメインルーチンのステ
ップSa4を介して本ルーチンが実行されると、先ずC
PU4は図7に示すステップSf1に処理を進め、レジ
スタNをゼロリセットし、続くステップSf2ではこの
レジスタNに対応するレジスタKEY(N)が「1」、
つまり、レジスタNの値に対応するキーナンバの鍵が押
鍵状態にあるか否かを判断する。以下、押鍵状態にある
場合の処理と離鍵状態にある場合の処理とに分けて説明
する。
F. Operation of Code Detection Processing Routine Next, the operation of the code detection processing routine will be described with reference to FIGS. When this routine is executed through step Sa4 of the main routine, first, C
The PU 4 advances the process to step Sf1 shown in FIG. 7, resets the register N to zero, and in the subsequent step Sf2, the register KEY (N) corresponding to the register N is set to “1”.
That is, it is determined whether or not the key of the key number corresponding to the value of the register N is in a key pressed state. Hereinafter, the processing in the case of the key pressed state and the processing in the case of the key released state will be described separately.

【0036】押鍵状態にある場合の処理 この場合、判断結果が「YES」となり、次のステップ
Sf3に進み、レジスタMをゼロリセットし、続くステ
ップSf4では、このレジスタMの値に対応するキーバ
ッファレジスタNOTE(M)の値がFF(16進表
示)、つまり、空き状態にあるか否かを判断する。ここ
で、空き状態でない時には、判断結果が「NO」とな
り、次のステップSf5に処理を進め、レジスタMの値
を歩進させる。そして、ステップSf6では、この歩進
されたレジスタMの値が最大数を超えたか否かを判断す
る。
Processing when key is depressed In this case, the determination result is "YES", the flow advances to the next step Sf3, the register M is reset to zero, and in the next step Sf4, the key corresponding to the value of this register M is It is determined whether or not the value of the buffer register NOTE (M) is FF (hexadecimal notation), that is, whether or not the buffer register is empty. Here, when it is not empty, the determination result is "NO", and the process proceeds to the next step Sf5 to increment the value of the register M. Then, in a step Sf6, it is determined whether or not the value of the stepped register M exceeds the maximum number.

【0037】そして、最大数を超えていない時には、こ
のステップSf6の判断結果が「NO」となり、上記ス
テップSf4に処理を戻して再度キーバッファレジスタ
NOTE(M)について空き状態であるか否かを判断す
る。ここで、空き状態であると、判断結果が「YES」
となり、CPU4は次のステップSf7に処理を進め、
このレジスタNOTE(M)に、押鍵中の鍵のキーナン
バをセットする。この後、ステップSf8に進み、レジ
スタNの値を1インクリメントして歩進させ、続くステ
ップSf9では、この歩進したレジスタNの値が鍵数を
超えたか否を判断する。そして、レジスタNの値が鍵数
を超えていない時には、判断結果が「NO」となり、全
鍵について判断し終えるまで上述のステップSf2〜S
f9を繰り返す。このように、ステップSf2〜Sf9
では、押鍵状態にある鍵のキーナンバを抽出し、それを
空き状態にあるキーバッファレジスタNOTE(M)に
ストアする。
If the maximum number is not exceeded, the result of the determination in step Sf6 is "NO", and the process returns to step Sf4 to determine again whether the key buffer register NOTE (M) is empty. to decide. Here, if it is empty, the determination result is “YES”.
And the CPU 4 advances the process to the next step Sf7,
The key number of the key being pressed is set in this register NOTE (M). Thereafter, the process proceeds to step Sf8, in which the value of the register N is incremented by one and is incremented, and in a succeeding step Sf9, it is determined whether or not the incremented value of the register N exceeds the number of keys. When the value of the register N does not exceed the number of keys, the determination result is “NO”, and the above-described steps Sf2 to Sf2 are performed until all keys are determined.
Repeat f9. Thus, steps Sf2 to Sf9
Then, the key number of the key in the depressed state is extracted and stored in the key buffer register NOTE (M) in the empty state.

【0038】離鍵状態にある場合の処理 一方、離鍵状態であると、上述のステップSf2の判断
結果が「NO」となり、CPU4は図8に示すステップ
Sf10に処理を進める。ステップSf10では、ペダ
ルフラグPFが「0」、つまり、ペダル操作子2がオフ
操作されているか否かを判断する。ここで、ペダル操作
子2がオン操作されていれば、判断結果は「NO」とな
り、図7に示すステップSf8に処理を戻すが、オフ操
作されている場合には、判断結果が「YES」となり、
ステップSf11に処理を進める。
Processing in Key Release State On the other hand, in the key release state, the result of the determination in step Sf2 is "NO", and the CPU 4 advances the processing to step Sf10 shown in FIG. In step Sf10, it is determined whether or not the pedal flag PF is “0”, that is, whether or not the pedal operator 2 has been turned off. Here, if the pedal operator 2 has been turned on, the determination result is "NO", and the process returns to step Sf8 shown in FIG. 7, but if the pedal operator 2 has been turned off, the determination result is "YES". Becomes
The process proceeds to step Sf11.

【0039】ステップSf11では、レジスタMをゼロ
リセットし、続くステップSf12では、このレジスタ
Mの値に対応するキーバッファレジスタNOTE(M)
に、キーナンバ値Nが格納されているか否かを判断す
る。ここで、キーバッファレジスタNOTE(M)に、
キーナンバ値Nが格納されていない場合には、判断結果
が「NO」となり、次のステップSf13に処理を進め
てレジスタMの値を歩進させた後、ステップSf14に
進み、この歩進されたレジスタMの値が最大数を超えた
か否か、つまり、キーバッファレジスタの全てについ
て、キーナンバ値Nの格納の有無を判断し終えたかどう
かを判断する。
In step Sf11, the register M is reset to zero. In the following step Sf12, the key buffer register NOTE (M) corresponding to the value of the register M is set.
It is determined whether or not the key number value N is stored in the first step. Here, in the key buffer register NOTE (M),
When the key number value N is not stored, the determination result is “NO”, and the process proceeds to the next step Sf13 to increase the value of the register M. Then, the process proceeds to step Sf14, and the process proceeds to step Sf14. It is determined whether or not the value of the register M exceeds the maximum number, that is, whether or not the storage of the key number value N has been completed for all the key buffer registers.

【0040】そして、その判断の途中であれば、ステッ
プSf14の判断結果が「NO」となり、上記ステップ
Sf12に処理を戻して再度キーバッファレジスタNO
TE(M)についてキーナンバ値Nの格納の有無を判断
する。ここで、キーナンバ値Nが格納されていると、判
断結果が「YES」となり、CPU4は次のステップS
f15に処理を進め、このレジスタNOTE(M)に空
き状態を表わす無効値FFをセットした後、図7のステ
ップSf8に処理を戻す。なお、上記ステップSf14
において、キーバッファレジスタの全てについて、キー
ナンバ値Nの格納の有無を判断し終えた場合にもステッ
プSf8に処理を戻す。このように、ステップSf10
〜Sf15では、ペダル操作子2がオフ操作されている
と、離鍵状態にある鍵のキーナンバを格納しているキー
バッファレジスタNOTE(M)を探し出し、それが見
つかったならば当該レジスタNOTE(M)を空き状態
に設定する。
If the determination is in the middle, the result of the determination in step Sf14 is "NO", and the process returns to step Sf12 to return to the key buffer register NO.
It is determined whether or not the key number N is stored for TE (M). Here, if the key number value N is stored, the determination result is “YES”, and the CPU 4 proceeds to the next step S
The process proceeds to f15, and after setting an invalid value FF indicating an empty state in this register NOTE (M), the process returns to step Sf8 in FIG. Note that the above step Sf14
In step Sf8, the process returns to step Sf8 also when it is determined that the key number N is stored in all the key buffer registers. Thus, step Sf10
In steps Sf15 to Sf15, when the pedal operator 2 is turned off, the key buffer register NOTE (M) storing the key number of the key in the released state is searched out, and if found, the register NOTE (M) is searched. ) Is set to empty.

【0041】コード検出 さて、以上のようにして、ペダル操作子2がオン状態に
あれば、押鍵された鍵のキーナンバを、空き状態にある
キーバッファレジスタNOTE(M)に順次保持して行
き、一方、ペダル操作子2がオフ状態ならば、離鍵状態
にある鍵のキーナンバを格納しているキーバッファレジ
スタNOTE(M)を空き状態に設定して行くと、CP
U4は図7のステップSf16以降に処理を進めコード
検出する。このコード検出では、まずステップSf16
〜Sf18を経て、押鍵数を判別する。以下、押鍵数別
の処理について述べる。
As described above, if the pedal operator 2 is in the ON state, the key numbers of the depressed keys are sequentially stored in the empty key buffer register NOTE (M). On the other hand, if the pedal operator 2 is in the off state, the key buffer register NOTE (M) storing the key number of the key in the released state is set to an empty state.
U4 proceeds with the process after step Sf16 in FIG. 7 to detect a code. In this code detection, first, in step Sf16
Through Sf18, the number of key presses is determined. Hereinafter, processing for each keystroke count will be described.

【0042】(a)押鍵数が「0」あるいは押鍵数が
「2」の場合 押鍵数が「0」であると、ステップSf16の判断結果
が「NO」となり、この場合、コード検出し得ない為、
何も処理せずに本ルーチンを完了させる。また、2音押
鍵の場合、省略形の演奏コードと見做すことも可能であ
るが、本実施例では説明の簡略化を図る為、2音押鍵で
はコード不確定と見做し、ステップSf18の判断結果
が「NO」となり、何も処理せずに本ルーチンを完了さ
せる。
(A) When the number of key presses is "0" or the number of key presses is "2" When the number of key presses is "0", the result of determination in step Sf16 is "NO", and in this case, code detection is performed. Because you can not do
This routine is completed without performing any processing. In the case of a two-key press, it is possible to regard the chord as an abbreviated performance chord. The decision result in the step Sf18 becomes "NO", and this routine is completed without performing any processing.

【0043】(b)押鍵数が「1」の場合 押鍵数が「1」の場合には、ステップSf17の判断結
果が「NO」となり、図9に示すステップSf19に進
む。ステップSf19では、レジスタROOTFに格納
されるルートフラグROOTFが「0」であるか否かを
判断する。ここで、本ルーチン開始後の最初の一音押鍵
である場合、つまり、一音押鍵によるコード判定がなさ
れていない状況下では、ルートフラグROOTFが
「0」となる為、判断結果が「YES」となり、次のス
テップSf20に進む。ステップSf20では、一音押
鍵されているキーナンバを一意的に”根音”と見做して
レジスタROOTにセットする。そして、ステップSf
21では一音押鍵によるコード判定がなされた状況であ
る旨を表わすべく、ルートフラグROOTFに「1」を
セットして本ルーチンを完了させる。
(B) When the Number of Key Presses is "1" When the number of key presses is "1", the decision result in the step Sf17 is "NO", and the process proceeds to a step Sf19 shown in FIG. In step Sf19, it is determined whether or not the route flag ROOTF stored in the register ROOTF is “0”. Here, when the key is the first key depressed after the start of this routine, that is, in a situation where the chord judgment by the single key depressed is not performed, the route flag ROOTF is set to “0”. YES ", and it proceeds to the next step Sf20. In step Sf20, the key number pressed by one note is uniquely regarded as the "root note" and set in the register ROOT. Then, step Sf
At 21, the root flag ROOTF is set to “1” to indicate that the chord is determined by a single key press, and this routine is completed.

【0044】(c)押鍵数が「2」を超える場合 2音を超える押鍵がなされると、ステップSf18の判
断結果が「YES」となり、CPU4は図9に示すステ
ップSf22に処理を進め、周知のローティション方式
やメモリ方式に基づくコード判定を行う。次いで、ステ
ップSf23ではこのコード判定の結果、コード確定し
たか否かを判断する。コード確定しない場合には、判断
結果が「NO」となり、本ルーチンを完了させるが、コ
ード確定した時には、次のステップSf24に進み、レ
ジスタROOTに根音を、レジスタTYPEにコード種
をセットする。
(C) When the number of keys pressed exceeds "2" When two or more keys are pressed, the result of determination in step Sf18 is "YES", and the CPU 4 advances the process to step Sf22 shown in FIG. , A code determination based on a well-known rotation scheme or memory scheme is performed. Next, in step Sf23, it is determined whether or not the code is determined as a result of the code determination. If the code is not determined, the determination result is "NO", and this routine is completed. When the code is determined, the process proceeds to the next step Sf24, where the root tone is set in the register ROOT and the code type is set in the register TYPE.

【0045】そして、ステップSf25では、コード確
定に伴ってレジスタCODEFに格納されるコードフラ
グCODEFを「1」にセットし、続くステップSf2
6〜Sf29では、新たにコード確定したことに伴い、
レジスタCH(L)をゼロリセットする。すなわち、ス
テップSf26ではレジスタLに初期値「1」をセット
し、続くステップSf27では、このレジスタLの値に
対応するレジスタCH(L)をゼロリセットする。次い
で、ステップSf28では、レジスタLの値を歩進さ
せ、続くステップSf29では、この歩進されたレジス
タLの値がN1を超えたか、つまり、N1個の発音チャ
ンネルに対応したレジスタCH(L)の全てについてゼ
ロリセットし終えたかどうかを判断する。そして、その
途中であれば、判断結果が「NO」となり、ステップS
f27に処理を戻すが、ゼロリセットし終えたら、判断
結果が「YES」となり、本ルーチンを完了する。
In step Sf25, the code flag CODEF stored in the register CODEF is set to "1" when the code is determined.
From 6 to Sf29, with the new code decision,
Reset the register CH (L) to zero. That is, in step Sf26, the initial value “1” is set in the register L, and in step Sf27, the register CH (L) corresponding to the value of the register L is reset to zero. Next, in step Sf28, the value of the register L is incremented. In the following step Sf29, the value of the incremented register L has exceeded N1, that is, the register CH (L) corresponding to the N1 tone generation channels. It is determined whether or not zero reset has been completed for all of. If it is in the middle, the determination result is “NO”, and step S
The process returns to f27, but when the zero reset is completed, the determination result is “YES”, and this routine is completed.

【0046】g.伴奏データ生成処理ルーチンの動作 こうして、コード検出処理ルーチンが完了すると、CP
U4は前述したメインルーチンのステップSa6を介し
て図10に示す伴奏データ生成処理ルーチンを実行し、
ステップSg1に処理を進める。ステップSg1では、
コードフラグCODEFが「1」か否か、つまり、コー
ド確定状態にあるかどうかを判断する。コード確定状態
にあれば、ここでの判断結果は「YES」となり、次の
ステップSg2に進み、確定したコードに応じてコード
バッキングパターンCODEを形成する各音を音高変換
するコード音データ生成処理ルーチン(後述する)を実
行する。
G. Operation of Accompaniment Data Generation Processing Routine When the chord detection processing routine is completed,
U4 executes the accompaniment data generation processing routine shown in FIG. 10 through step Sa6 of the main routine described above,
The process proceeds to step Sg1. In step Sg1,
It is determined whether or not the code flag CODEF is “1”, that is, whether or not the code is in a code determined state. If the chord is in the determined state, the result of this determination is "YES", the flow proceeds to the next step Sg2, and a chord tone data generation process for pitch-converting each tone forming the chord backing pattern CODE according to the determined chord. Execute a routine (described later).

【0047】そして、次のステップSg3では、確定し
たコードに応じてベースパターンBASEを音高変換す
るベース音データ生成処理ルーチン(後述する)を実行
した後、本ルーチンを完了させる。一方、コード確定し
ない場合には、上記ステップSg1の判断結果が「N
O」となり、この場合、押鍵された鍵の音を発生させる
押鍵音データ生成処理ルーチン(後述する)を実行して
から本ルーチンを完了させる。
Then, in the next step Sg3, a base sound data generation routine (to be described later) for converting the pitch of the base pattern BASE according to the determined chord is executed, and then this routine is completed. On the other hand, if the code is not fixed, the result of the determination in step Sg1 is “N
O ", and in this case, the key press sound data generation processing routine (described later) for generating the sound of the pressed key is executed, and then this routine is completed.

【0048】h.コード音生成処理ルーチンの動作 次に、図11を参照してコード音データ生成処理ルーチ
ンの動作について説明する。上述した伴奏データ生成処
理ルーチンのステップSg2を介して本ルーチンが実行
されると、CPU4はステップSh1に処理を進め、デ
ータROM7に記憶される伴奏パターンの内、コードバ
ッキングパターンCODEからコード読み出しアドレス
CADに従ってタイミングデータを読み出し、これをレ
ジスタTIMINGにストアする。そして、ステップS
h2では、レジスタTに格納されるテンポクロック累算
値とレジスタTIMINGにストアされるタイミングデ
ータとが一致するか、つまり、コード音発音タイミング
下にあるかどうかを判断する。
H. Operation of Chord Sound Generation Processing Routine Next, the operation of the chord sound data generation processing routine will be described with reference to FIG. When this routine is executed via step Sg2 of the above-described accompaniment data generation processing routine, the CPU 4 advances the processing to step Sh1, and among the accompaniment patterns stored in the data ROM 7, the code read address CAD is read from the code backing pattern CODE. And reads the timing data and stores it in the register TIMING. And step S
At h2, it is determined whether or not the tempo clock accumulated value stored in the register T matches the timing data stored in the register TIMING, that is, whether or not the timing is under the chord tone generation timing.

【0049】コード音発音タイミング下でない場合に
は、ここでの判断結果は「NO」となり、一旦、本ルー
チンを完了させるが、コード音発音タイミング下にある
と、まず最初に、ステップSh3〜Sh6を経て空き状
態にある発音チャンネルを探す。すなわち、ステップS
h3では、レジスタNに初期値「1」をセットし、続く
ステップSh4では、レジスタNの値に対応したレジス
タCH(N)が「0」であるか否かを判断する。
If the timing is not under the chord sound generation timing, the judgment result is "NO", and this routine is completed once. If the timing is under the chord sound generation timing, first, steps Sh3 to Sh6 are performed. To search for an empty pronunciation channel. That is, step S
At h3, the initial value "1" is set to the register N, and at the next step Sh4, it is determined whether or not the register CH (N) corresponding to the value of the register N is "0".

【0050】ここで、このレジスタCH(N)が指し示
す発音チャンネルが発音中であれば、判断結果は「N
O」となり、次のステップSh5に進み、レジスタNの
値を歩進させる。次いで、ステップSh6では、この歩
進されたレジスタNの値がN1に達したか否か、つま
り、コード音がアサインされ得る発音チャンネルについ
て空きの有無をチェックし終えたかどうか判断する。
If the sounding channel indicated by the register CH (N) is sounding, the judgment result is "N
O ", the process proceeds to the next step Sh5, and the value of the register N is incremented. Next, in step Sh6, it is determined whether or not the value of the incremented register N has reached N1, that is, whether or not the checking of the sound channel to which the chord sound can be assigned is completed.

【0051】そして、チェックの途中である時には、判
断結果が「NO」となり、上記ステップSh4に処理を
戻して空きの有無についてのチェックを進めるが、チェ
ックし終えた場合には、判断結果が「YES」となり、
再び上記ステップSh3に処理を戻して最初から空きの
有無についてのチェックをやり直す。そして、こうした
チェック過程で空き状態の発音チェンネルが見つかる
と、上記ステップSh4の判断結果が「YES」とな
り、ステップSh7に処理を進める。
When the check is in progress, the judgment result is "NO", and the process returns to step Sh4 to check whether there is a free space. When the check is completed, the judgment result becomes "NO". YES "
The process returns to step Sh3 again, and the check about the presence or absence of a vacancy is performed again from the beginning. If an empty sounding channel is found in such a check process, the result of the determination in step Sh4 is "YES", and the process proceeds to step Sh7.

【0052】ステップSh7では、コード読み出しアド
レスCADをインクリメントし、これに基づき、コード
バッキングパターンCODEから音高データを読み出し
てレジスタONKAI(N)にストアする。次いで、ス
テップSh8では、レジスタONKAI(N)にストア
された音高データを、レジスタROOT,TYPEに格
納される根音およびコード種に応じて音高変換する。
In step Sh7, the code read address CAD is incremented, and based on this, the pitch data is read from the code backing pattern CODE and stored in the register ONKAI (N). Next, at step Sh8, the pitch data stored in the register ONKAI (N) is converted according to the root note and the chord type stored in the registers ROOT and TYPE.

【0053】次に、ステップSh9に進むと、コード読
み出しアドレスCADをインクリメントし、これに基づ
き、コードバッキングパターンCODEからタイミング
データ(イベント間隔)を読み出してレジスタONTI
ME(N)にストアする。続いて、ステップSh10で
は、このレジスタONTIME(N)にストアされるタ
イミングデータ(イベント間隔)にテンポクロック累算
値Tを加算して音符長を形成し、これをレジスタONT
IME(N)にストアし直す。
Next, at step Sh9, the code read address CAD is incremented, and based on this, the timing data (event interval) is read from the code backing pattern CODE and the register ONTI
Store in ME (N). Subsequently, in step Sh10, the tempo clock accumulated value T is added to the timing data (event interval) stored in the register ONTIME (N) to form a note length, which is then stored in the register ONT (N).
Store back to IME (N).

【0054】こうして、根音およびコード種に応じて音
高変換された音高データがレジスタONKAI(N)
に、その音符長(発音時間長)がレジスタONTIME
(N)にそれぞれストアされ、コード音の発音準備が整
うと、CPU4はステップSh11に処理を進め、レジ
スタCH(N)に「1」をセットしてこのコード音をア
サインする発音チャンネルを占有する。
The pitch data converted in accordance with the root note and the chord type is stored in the register ONKAI (N).
And the note length (pronunciation time length) is stored in the register ONTIME.
When the chord sounds are prepared and stored in (N), the CPU 4 proceeds to step Sh11 and sets "1" in the register CH (N) to occupy the sound channel to which this chord sound is assigned. .

【0055】この後、ステップSh12に処理を進め、
コード読み出しアドレスCADをインクリメントして歩
進させ、続くステップSh13では、歩進されたコード
読み出しアドレスCADがパターン終端ENDを超えた
か否かを判断する。そして、パターン終端ENDを超え
ていない時には、判断結果が「NO」となり、ステップ
Sh1からの処理を繰り返す。一方、パターン終端EN
Dを超えた場合、つまり、一通りパターンを読み出し終
えた時には、判断結果が「YES」となり、ステップS
h14にてコード読み出しアドレスCADを先頭アドレ
スに戻してから再度、上述した処理を繰り返す。
Thereafter, the process proceeds to step Sh12,
The code read address CAD is incremented and incremented, and in a succeeding step Sh13, it is determined whether or not the incremented code read address CAD has exceeded the pattern end END. If it does not exceed the pattern end END, the determination result is “NO”, and the processing from step Sh1 is repeated. On the other hand, the pattern end EN
D, that is, when all the patterns have been read, the determination result is “YES”, and step S
At h14, the code read address CAD is returned to the head address, and the above-described processing is repeated again.

【0056】このように、コード音データ生成処理ルー
チンでは、前述のコード検出処理ルーチンにてコード確
定されたルート(根音)およびコード種(和音種類)に
基づいてコードバッキングパターンCODEを構成する
各音を音高変換して得られるコード音を、当該パターン
にて指定される発音タイミングで発音するよう指示する
ようになっている。
As described above, in the chord tone data generation processing routine, each chord backing pattern CODE constituting the chord backing pattern and chord type (chord type) determined in the chord detection processing routine is determined. It is instructed to produce a chord tone obtained by converting the pitch of the tone at a tone generation timing specified by the pattern.

【0057】i.ベース音生成処理ルーチンの動作 次に、図12を参照してベース音データ生成処理ルーチ
ンの動作について説明する。上述した伴奏データ生成処
理ルーチンのステップSg3を介して本ルーチンが実行
されると、CPU4はステップSi1に処理を進め、デ
ータROM7に記憶される伴奏パターンの内、ベースパ
ターンBASEからベース読み出しアドレスBADに従
ってタイミングデータを読み出し、これをレジスタTI
MINGにストアする。そして、ステップSi2では、
レジスタTに格納されるテンポクロック累算値とレジス
タTIMINGにストアされるタイミングデータとが一
致するか、つまり、ベース音発音タイミング下にあるか
どうかを判断する。
I. Operation of Base Sound Generation Processing Routine Next, the operation of the base sound data generation processing routine will be described with reference to FIG. When this routine is executed via step Sg3 of the above-described accompaniment data generation processing routine, the CPU 4 advances the process to step Si1, and among the accompaniment patterns stored in the data ROM 7, from the base pattern BASE to the base read address BAD. Read the timing data and store it in the register TI
Store in MING. Then, in step Si2,
It is determined whether the tempo clock accumulated value stored in the register T matches the timing data stored in the register TIMING, that is, whether or not the timing is under the bass sound generation timing.

【0058】ベース音発音タイミング下でない場合に
は、ここでの判断結果は「NO」となり、一旦、本ルー
チンを完了させるが、ベース音発音タイミング下にある
と、判断結果が「YES」となり、ステップSi3に処
理を進めてベース読み出しアドレスBADを1インクリ
メントして歩進させる。次いで、ステップSi4では、
歩進されたベース読み出しアドレスBADに従ってベー
スパターンBASEから音高データを読み出し、これを
ベース音が割り当てられる発音チャンネルに対応したレ
ジスタONKAI(N1)にストアする。そして、ステ
ップSi5に進むと、レジスタONKAI(N1)にス
トアされた音高データを、レジスタROOTに格納され
る根音に応じて音高変換する。
If it is not under the bass sound generation timing, the determination result is "NO", and the routine is completed once. If it is under the base sound generation timing, the determination result is "YES", The process proceeds to step Si3, in which the base read address BAD is incremented by one and is advanced. Next, in step Si4,
The pitch data is read from the base pattern BASE in accordance with the stepped base read address BAD, and stored in the register ONKAI (N1) corresponding to the sound channel to which the base sound is assigned. Then, at step Si5, the pitch data stored in the register ONKAI (N1) is converted into a pitch according to the root stored in the register ROOT.

【0059】そして、ステップSi6に進むと、CPU
4はベース読み出しアドレスBADをインクリメント
し、続くステップSi7ではこの歩進されたベース読み
出しアドレスBADに従って、ベースパターンBASE
からタイミングデータ(イベント間隔)を読み出してレ
ジスタONTIME(N1)にストアする。続いて、ス
テップSi8では、このレジスタONTIME(N1)
にストアされるタイミングデータ(イベント間隔)にテ
ンポクロック累算値Tを加算して音符長を形成し、これ
をレジスタONTIME(N1)にストアし直す。
Then, when proceeding to step Si6, the CPU
4 increments the base read address BAD, and in the subsequent step Si7, the base pattern BASE is set in accordance with the increased base read address BAD.
, The timing data (event interval) is read out and stored in the register ONTIME (N1). Subsequently, at step Si8, this register ONTIME (N1)
Is added to the timing data (event interval) stored in the register to form a note length, and this is stored back in the register ONTIME (N1).

【0060】こうして、根音に応じて音高変換されたベ
ース音の音高データがレジスタONKAI(N1)に、
その音符長(発音時間長)がレジスタONTIME(N
1)にそれぞれストアされ、ベース音の発音準備が整う
と、CPU4はステップSi9に処理を進め、次イベン
トに対応すべくベース読み出しアドレスBADをインク
リメントし、続くステップSi10では歩進されたベー
ス読み出しアドレスBADがパターン終端ENDを超え
たか否かを判断する。そして、パターン終端ENDを超
えていない時には、判断結果が「NO」となり、上述し
たステップSi1以降の処理を繰り返す。一方、パター
ン終端ENDを超えた場合、つまり、一通りパターンを
読み出し終えた時には、判断結果が「YES」となり、
ステップSi11に進み、ベース読み出しアドレスBA
Dを先頭アドレスに戻してから再度、上述したステップ
Si1以降の処理を繰り返す。
In this way, the pitch data of the bass tone converted in accordance with the root note is stored in the register ONKAI (N1).
The note length (toning time length) is stored in the register ONTIME (N
When the preparation is completed, the CPU 4 proceeds to step Si9, increments the base read address BAD to correspond to the next event, and proceeds to step Si10 to increment the base read address. It is determined whether the BAD has exceeded the pattern end END. If the pattern end END has not been exceeded, the determination result is "NO", and the above-described processing after step Si1 is repeated. On the other hand, when the pattern end END is exceeded, that is, when the pattern is completely read, the determination result is “YES”,
Proceeding to step Si11, the base read address BA
After returning D to the start address, the above-described processing after step Si1 is repeated again.

【0061】このように、ベース音データ生成処理ルー
チンでは、前述のコード検出処理ルーチンにてコード確
定されたルート(根音)に基づいてベースパターンBA
SEを構成する各音を音高変換して得られるベース音
を、当該パターンBASEにて指定される発音タイミン
グで発音指示する。
As described above, in the bass sound data generation processing routine, the base pattern BA is determined based on the root (root note) determined in the chord detection processing routine.
A tone is instructed at a tone generation timing designated by the pattern BASE for a bass tone obtained by pitch-converting each tone constituting the SE.

【0062】j.押鍵音データ生成処理ルーチンの動作 次に、図13〜図14を参照して押鍵音データ生成処理
ルーチンの動作について説明する。上述した伴奏データ
生成処理ルーチンのステップSg4を介して本ルーチン
が実行されると、CPU4はステップSj1に処理を進
め、データROM7に記憶される伴奏パターンの内、コ
ードバッキングパターンCODEからコード読み出しア
ドレスCADに従ってタイミングデータを読み出し、こ
れをレジスタTIMINGにストアする。そして、ステ
ップSj2では、レジスタTに格納されるテンポクロッ
ク累算値とレジスタTIMINGにストアされるタイミ
ングデータとが一致するか、つまり、コード音の発音タ
イミング下にあるかどうかを判断する。
J. Operation of Key Press Sound Data Generation Processing Routine Next, the operation of the key press sound data generation processing routine will be described with reference to FIGS. When this routine is executed via step Sg4 of the above-mentioned accompaniment data generation processing routine, the CPU 4 advances the processing to step Sj1 and, among the accompaniment patterns stored in the data ROM 7, the code reading address CAD from the code backing pattern CODE. And reads the timing data and stores it in the register TIMING. Then, in a step Sj2, it is determined whether or not the tempo clock accumulated value stored in the register T matches the timing data stored in the register TIMING, that is, whether or not the timing is below the chord sound generation timing.

【0063】コード音の発音タイミング下でない場合に
は、ここでの判断結果は「NO」となり、一旦、本ルー
チンを完了させるが、コード音発音タイミング下にある
と、判断結果が「YES」となり、ステップSj3に処
理を進め、キーバッファレジスタNOTE中に記憶され
るキーナンバの有無を判断する。ここで、キーバッファ
レジスタNOTE中にキーナンバがストアされていない
場合、つまり、押鍵されていない場合には、判断結果が
「YES」となり、本ルーチンを完了させる。
If it is not under the chord sound generation timing, the judgment result is "NO", and this routine is completed once. However, if it is under the chord sound generation timing, the judgment result is "YES". The process proceeds to step Sj3 to determine whether or not there is a key number stored in the key buffer register NOTE. Here, when the key number is not stored in the key buffer register NOTE, that is, when the key is not depressed, the determination result is "YES", and this routine is completed.

【0064】一方、キーバッファレジスタNOTE中に
キーナンバがストアされている場合、すなわち、押鍵さ
れた鍵が存在する時には、判断結果が「NO」となり、
次のステップSj4に処理を進める。ステップSj4で
は、一音押鍵であるか否かを判断する。そして、一音押
鍵である時には、判断結果が「YES」となり、次のス
テップSj5に進み、キーバッファレジスタNOTE
(1)に格納されるキーナンバを音高データに変換して
レジスタONKAI(1)にストアし、続くステップS
j6では、レジスタCH(1)に「1」をセットする。
これにより、一音押鍵された鍵の発音割り当てが完了す
る。
On the other hand, when the key number is stored in the key buffer register NOTE, that is, when a depressed key exists, the determination result is "NO",
The process proceeds to the next step Sj4. In step Sj4, it is determined whether or not the key is a one-tone key press. If the key is a one-tone key press, the determination result is "YES", and the flow advances to the next Step Sj5 to execute the key buffer register NOTE
The key number stored in (1) is converted into pitch data and stored in the register ONKAI (1), and the subsequent step S
At j6, "1" is set in the register CH (1).
This completes the sound assignment of the key that has been depressed one note.

【0065】そして、以後、ステップSj7〜Sj10
では残りの発音チャンネルについての発音割り当てをク
リアする。すなわち、ステップSj7では、レジスタN
に「2」をセットし、続くステップSj8では、このレ
ジスタNの値に対応したレジスタCH(N)に「0」を
ストアする。次いで、ステップSj9では、レジスタN
の値を1インクリメントして歩進させ、次のステップS
j10では、この歩進されたレジスタNの値がN1以
上、つまり、コード音がアサインされる残りの発音チャ
ンネルについてクリアし終えたかどうかを判断する。そ
して、その途中であれば、ここでの判断結果が「NO」
となり、上記ステップSj7に処理を戻すが、コード音
がアサインされる残りの発音チャンネルについて発音割
り当てをクリアし終えたならば、判断結果が「YES」
となり、本ルーチンを完了する。
Thereafter, steps Sj7 to Sj10
Then, the sound assignment for the remaining sound channels is cleared. That is, in step Sj7, the register N
Is set to "2", and in the subsequent step Sj8, "0" is stored in the register CH (N) corresponding to the value of the register N. Next, in step Sj9, the register N
Is incremented by one and the value is incremented by one, and the next step S
At j10, it is determined whether or not the value of the incremented register N is equal to or more than N1, that is, whether or not the remaining tone generation channels to which the chord sounds are assigned have been cleared. If it is in the middle, the result of the determination is “NO”.
The process returns to step Sj7. If the sounding assignment has been cleared for the remaining sounding channels to which the chord sound is assigned, the determination result is “YES”.
And this routine is completed.

【0066】さて一方、2音以上の押鍵がなされた場合
には、上述したステップSj4の判断結果が「NO」と
なり、CPU4は図14に示すステップSj11に処理
を進める。ステップSj11ではレジスタMに「1」
を、続くステップSj12ではレジスタNに「1」をそ
れぞれセットする。次いで、ステップSj13では、レ
ジスタNの値に対応するキーバッファレジスタNOTE
(N)に根音が保持されているか否を判断する。
On the other hand, if two or more keys are pressed, the result of the determination at step Sj4 is "NO", and the CPU 4 advances the process to step Sj11 shown in FIG. In step Sj11, "1" is set in the register M.
In the subsequent step Sj12, “1” is set in the register N. Next, in step Sj13, the key buffer register NOTE corresponding to the value of the register N
It is determined whether the root note is held in (N).

【0067】ここで、キーバッファレジスタNOTE
(N)に根音がストアされていると、ステップSj13
の判断結果が「NO」となり、ステップSj14に処理
を進め、レジスタNの値を1インクリメントして歩進さ
せる。次いで、ステップSj15では、この歩進された
レジスタNの値が最大値(キーバッファレジスタ数)を
超えたか否かを判断する。そして、レジスタNの値が最
大値を超えていない時には、次のキーバッファレジスタ
NOTE(N+1)について同様の判断を行うべく、ス
テップSj13に処理を戻す。
Here, the key buffer register NOTE
If the root note is stored in (N), step Sj13
Is "NO", the process proceeds to step Sj14, and the value of the register N is incremented by one to advance. Next, in step Sj15, it is determined whether or not the value of the incremented register N has exceeded the maximum value (the number of key buffer registers). Then, when the value of the register N does not exceed the maximum value, the process returns to the step Sj13 in order to make the same judgment for the next key buffer register NOTE (N + 1).

【0068】一方、レジスタNの値が最大値を超えた時
には、上記ステップSj15の判断結果が「YES」と
なり、ステップSj16に処理を進める。ステップSj
16に進むと、CPU4はレジスタMの値に対応したレ
ジスタCH(M)に「0」をセットし、続くステップS
j17では、レジスタMの値を1インクリメントして歩
進させる。次いで、ステップSj18では、この歩進さ
れたレジスタMの値がN1以上であるか否か、つまり、
コード音をアサインする発音チャンネルの全てについて
発音停止を指示し終えたかどうかを判断する。ここで、
指示し終えていない場合には、判断結果が「NO」とな
り、上記ステップSj16に処理を戻すが、指示し終え
た場合には判断結果が「YES」となり、後述するステ
ップSj26に処理を進める。
On the other hand, when the value of the register N exceeds the maximum value, the decision result in the above step Sj15 becomes "YES", and the process proceeds to step Sj16. Step Sj
At step S16, the CPU 4 sets "0" to the register CH (M) corresponding to the value of the register M, and then proceeds to step S
At j17, the value of the register M is incremented by 1 to advance. Next, in step Sj18, it is determined whether or not the value of the stepped register M is equal to or larger than N1.
It is determined whether or not an instruction to stop sound generation has been issued for all sound channels to which a chord sound is assigned. here,
If the instruction has not been completed, the determination result is "NO", and the process returns to step Sj16. If the instruction has been completed, the determination result becomes "YES", and the process proceeds to step Sj26 described later.

【0069】さて、キーバッファレジスタNOTE
(N)に根音がストアされていない場合には、上述のス
テップSj13の判断結果が「YES」となり、ステッ
プSj19に処理を進め、キーバッファレジスタNOT
E(N)が空き状態であるか否かを判断する。ここで、
空き状態であれば、判断結果が「NO」となり、上述し
たステップSj14に処理を進めるが、空き状態でない
場合、つまり、押鍵された鍵のキーナンバが格納されて
いる時には、判断結果が「YES」となり、ステップS
j20に処理を進める。
Now, the key buffer register NOTE
If the root note is not stored in (N), the result of the determination in step Sj13 is "YES", the process proceeds to step Sj19, and the key buffer register NOT
It is determined whether E (N) is empty. here,
If it is empty, the determination result is "NO", and the process proceeds to step Sj14 described above. If it is not empty, that is, if the key number of the pressed key is stored, the determination result is "YES". ”And step S
The process proceeds to j20.

【0070】ステップSj20では、レジスタNOTE
(N)に格納されるキーナンバを音高データに変換して
レジスタONKAI(N)にストアし、続くステップS
j21ではレジスタONTIME(N)に所定値をスト
アする。そして、ステップSj22では、このレジスタ
ONTIME(N)の値にテンポクロック累算値Tを加
算してなる音符長をレジスタONTIME(N)にスト
アする。この後、ステップSj23に進み、レジスタM
の値に対応したレジスタCH(M)に「1」をセット
し、続くステップSj24では、レジスタMの値を1イ
ンクリメントして歩進させる。
In step Sj20, the register NOTE
(N) is converted to pitch data and stored in the register ONKAI (N), and the subsequent step S
At j21, a predetermined value is stored in the register ONTIME (N). Then, in step Sj22, the note length obtained by adding the tempo clock accumulated value T to the value of the register ONTIME (N) is stored in the register ONTIME (N). Thereafter, the process proceeds to step Sj23 where the register M
Is set to “1” in the register CH (M) corresponding to the value of “1”, and in the succeeding step Sj24, the value of the register M is incremented by 1 to advance.

【0071】次いで、ステップSj25では、この歩進
されたレジスタMの値がN1以上であるか否か、つま
り、コード音をアサインする発音チャンネルの全てにつ
いて発音を指示し終えたかどうかを判断する。ここで、
指示し終えていない場合には、判断結果が「NO」とな
り、上記ステップSj14に処理を戻すが、指示し終え
た場合には判断結果が「YES」となり、ステップSj
26に処理を進める。そして、ステップSj26では、
コードバッキングパターンCODEから次の発音タイミ
ングを抽出すべく、コード読み出しアドレスCADを3
つ飛ばしして歩進させる。
Next, in step Sj25, it is determined whether or not the value of the stepped register M is equal to or greater than N1, that is, whether or not the sounding instruction has been instructed for all sounding channels to which the chord sound is assigned. here,
If the instruction has not been completed, the determination result is "NO", and the process returns to step Sj14. However, if the instruction has been completed, the determination result becomes "YES", and step Sj
The process proceeds to 26. Then, in step Sj26,
In order to extract the next tone generation timing from the code backing pattern CODE, the code read address CAD is set to 3
Skip and step forward.

【0072】続いて、ステップSj27では、この3ア
ドレス歩進後のコード読み出しアドレスCADがパター
ン終端ENDを超えたか否かを判断し、超えていない時
には上述のステップSj1に処理を戻し、超えた時には
次のステップSj28を介してコード読み出しアドレス
CADを先頭アドレスにリセットしてから上述のステッ
プSj1に処理を戻す。
Subsequently, in step Sj27, it is determined whether or not the code read address CAD after the three address increments has exceeded the pattern end END. If not, the process returns to step Sj1. After the next step Sj28, the code read address CAD is reset to the start address, and the process returns to the above-described step Sj1.

【0073】k.発音処理ルーチンの動作 次に、図15を参照して発音処理ルーチンの動作につい
て説明する。上述したメインルーチンのステップSa7
(図2参照)を介して本ルーチンが実行されると、CP
U4は図15に示すステップSk1に処理を進め、レジ
スタNに初期値「1」をセットし、続くステップSk2
ではこのレジスタNに対応するレジスタCH(N)が
「1」、つまり、このレジスタCH(N)が指し示す発
音チャンネルが発音指示状態にあるか否かを判断する。
ここで、発音指示状態になければ、判断結果が「NO」
となり、後述するステップSk7に処理を進めるが、発
音指示状態であれば、判断結果が「YES」となり、次
のステップSk3に処理を進める。
K. Operation of Sounding Processing Routine Next, the operation of the sounding processing routine will be described with reference to FIG. Step Sa7 of the main routine described above
When this routine is executed through (see FIG. 2), the CP
U4 advances the process to step Sk1 shown in FIG. 15, sets initial value "1" in register N, and proceeds to step Sk2.
Then, it is determined whether or not the register CH (N) corresponding to the register N is "1", that is, whether or not the sound channel indicated by the register CH (N) is in the sound instructing state.
If it is not in the sounding instruction state, the determination result is “NO”.
Then, the process proceeds to step Sk7, which will be described later. If it is in the sounding instruction state, the determination result is “YES”, and the process proceeds to the next step Sk3.

【0074】ステップSk3では、レジスタONTIM
E(N)の値がテンポクロック累算値Tに一致するか否
かを判断する。そして、一致しない時にはステップSk
4に処理を進め、レジスタONKAI(N)に格納され
る音高データに基づく発音を音源8に指示する。一方、
一致した時にはステップSk5に処理を進め、レジスタ
ONKAI(N)に格納される音高データに基づき発音
された楽音の消音を音源8に指示する。この後、CPU
4はステップSk6に進み、レジスタCH(N)をゼロ
リセットし、続くステップSk7では、レジスタNの値
を1インクリメントして歩進させる。そして、ステップ
Sk8では、この歩進されたレジスタNの値がN1を超
えたか否かを判断し、超えた時には本ルーチンを完了さ
せ、超えていない時には上記ステップSk2に処理を戻
す。
At step Sk3, the register ONTIM
It is determined whether or not the value of E (N) matches the tempo clock accumulated value T. If they do not match, step Sk
The process proceeds to step 4 to instruct the sound source 8 to generate a sound based on the pitch data stored in the register ONKAI (N). on the other hand,
When they match, the process proceeds to step Sk5, and instructs the sound source 8 to mute the tone generated based on the pitch data stored in the register ONKAI (N). After this, the CPU
In step Sk6, the register CH (N) is reset to zero, and in step Sk7, the value of the register N is incremented by one to advance. In step Sk8, it is determined whether or not the value of the incremented register N has exceeded N1, and if it has, the present routine is completed, and if not, the process returns to step Sk2.

【0075】(3)具体的動作次に、図16を参照し
て、以上に詳述した各処理に基づいた第1実施例の具体 的な動作について説明する。以下では、伴奏パターンと
して、図26に図示したコードバッキングパターンCO
DEとベースパターンBASEとがデータROM7に記
憶されている時に、図16に示す押鍵操作およびペダル
操作が行われるものと想定している。まず、第1小節の
第1音目(C3音)が押鍵されると、これは一音押鍵で
あるから、この第1音を根音(C)と見做し、これに応
じてコードバッキングパターンCODEおよびベースパ
ターンBASEの第1拍目は音高変換されずにそのまま
発音される。
(3) Specific Operation Next, a specific operation of the first embodiment based on each processing described above will be described with reference to FIG. In the following, the chord backing pattern CO shown in FIG.
When the DE and the base pattern BASE are stored in the data ROM 7, it is assumed that the key pressing operation and the pedal operation shown in FIG. 16 are performed. First, when the first note of the first measure (C 3 sound) is depressed, this is regarded because it is one sound depressed, the first sound and root (C), according to which Thus, the first beat of the chord backing pattern CODE and the base pattern BASE are sounded without pitch conversion.

【0076】次いで、ペダル操作子2がオン操作された
ままで第2音目(G3音)が押鍵されると、この第2音
目(G3音)および先の第1音目(C3音)がコード判定
の対象となるが、この場合、2音押鍵なのでコード不確
定となり、押鍵された第2音目(G3音)がコードバッ
キングパターンCODEの発音タイミングに合わせてそ
のまま発音される一方、ベース音はC2音を維持する。
そして、さらにペダル操作子2がオン操作されたままで
第3音目(E3音)が押鍵されると、この第3音目(E3
音)と先に押鍵された第1および第2音目(C3,G
3音)とがコード判定対象音となり、この場合、Cメジ
ャーとコード判定される。この結果、コードバッキング
パターンCODEおよびベースパターンBASEの第3
拍目は共に音高変換されずにそのまま発音される。
[0076] Then, the second sound eyes while the pedal operating element 2 is turned on when the (G 3 sound) is depressed, the second sound-th (G 3 sound) and above the first note of the (C 3 sound) but are subject to the code determination, in this case, since the two sound depressed becomes code uncertain, second sound th is depressed (G 3 sound) is directly in accordance with the tone generation timing of the chord backing pattern cODE while the sound, bass sounds maintains C 2 sound.
When further the pedal operating element 2 a third sound eye while being turned on (E 3 sound) is depressed, the third sound eyes (E 3
Sound) and the first and second sounds (C 3 , G
3 ) is a chord judgment target sound. In this case, the chord is judged to be C major. As a result, the third of the code backing pattern CODE and the base pattern BASE
The beats are pronounced without pitch conversion.

【0077】同様に、第4音目(G3音)および第2小
節の第1音目(C3音)が押鍵された場合にも依然とし
てコード判定対象音は「C,E,G」なので、CM(C
メジャー)とコード判定され、コードバッキングパター
ンCODEおよびベースパターンBASEはそのまま発
音される。そして、第2小節の第2音目(A3音)が押
鍵されると、この場合においてもペダル操作子2がオン
状態にある為、コード判定対象音は「C,E,G,A」
となり、この場合、C6(Cメジャー・シックス)とコ
ード判定され、これに応じてコードバッキングパターン
CODEはE3音およびA3音に音高変換されて発音され
る。
Similarly, when the fourth note (G 3 note) and the first note (C 3 note) of the second bar are depressed, the chord judgment target sounds are still “C, E, G”. So, CM (C
Major), and the chord backing pattern CODE and the base pattern BASE are sounded as they are. When the second sound-th second measure (A 3 sound) is depressed, since the pedal operating element 2 is in the on state in this case, the code determination target sound "C, E, G, A "
In this case, the chord is determined as C 6 (C major / six), and the chord backing pattern CODE is pitch-converted into E 3 and A 3 to be sounded accordingly.

【0078】このように、第1実施例によれば、ペダル
操作子2をオン操作しながら、押鍵操作すると、その押
鍵された鍵の音が順次、コード判定対象音として保持さ
れて行くので、和音構成音を一音づつ押鍵操作するアル
ペジョ奏法がなされても、音楽的に違和感なく自然な伴
奏音が得られるようになる訳である。
As described above, according to the first embodiment, when a key is depressed while the pedal operator 2 is turned on, the sound of the depressed key is sequentially held as a chord judgment target sound. Therefore, even if an arpeggio playing method is performed in which chord components are depressed one by one, a natural accompaniment sound can be obtained without any musical discomfort.

【0079】B.第2実施例 (1)第1実施例との相違点 上述した第1実施例では、ペダル操作子2がオン状態に
あれば、常に押鍵された鍵の音をコード判定対象として
保持し、ペダル操作子2をオフ操作した時点でこれをク
リアするようにしているのに対し、第2実施例では、保
持されたコード判定対象音を小節毎にクリアすることに
より、ペダル操作子2をオフ操作せずとも、誤ったコー
ド判定を回避し得るようにした点で相違する。以下、こ
うした相違点を具現する動作として、第2実施例による
タイマインタラプト処理ルーチンについて説明する。な
お、本ルーチン以外の各処理は前述した第1実施例と同
一であるので、その説明については省略する。
B. 2. Second Embodiment (1) Differences from First Embodiment In the first embodiment described above, if the pedal operator 2 is in the ON state, the sound of a depressed key is always held as a chord determination target. In contrast to the case where the pedal operator 2 is cleared when the pedal operator 2 is turned off, the second embodiment clears the held chord determination target sound for each bar, thereby turning the pedal operator 2 off. The difference is that erroneous code determination can be avoided without any operation. Hereinafter, a timer interrupt processing routine according to the second embodiment will be described as an operation for implementing such a difference. The processes other than the present routine are the same as those in the first embodiment, and a description thereof will be omitted.

【0080】(2)第2実施例の動作(タイマインタラ
プト処理ルーチンの動作) 前述した第1実施例と同様、スイッチ処理ルーチンを介
して自動伴奏が開始されると、これに伴ってタイマ割込
み禁止が解除され、CPU4は図17に示すタイマイン
タラプト処理ルーチンを実行してステップSm1に処理
を進める。ステップSm1では、レジスタTにストアさ
れるテンポクロック累算値を1インクリメントして歩進
し、続くステップSm2では、この歩進したテンポクロ
ック累算値が「49」に達したか否か、すなわち、4分
音符長が12クロックである時、1小節経過したかどう
かを判断する。
(2) Operation of the Second Embodiment (Operation of the Timer Interrupt Processing Routine) As in the first embodiment, when the automatic accompaniment is started through the switch processing routine, the timer interrupt is prohibited. Is released, and the CPU 4 executes a timer interrupt processing routine shown in FIG. 17 and proceeds to step Sm1. In step Sm1, the accumulated value of the tempo clock stored in the register T is incremented by one and incremented, and in step Sm2, it is determined whether or not the incremented tempo clock accumulated value has reached "49", that is, When the quarter note length is 12 clocks, it is determined whether one bar has elapsed.

【0081】ここで、1小節経過していない時には判断
結果が「NO」となり、本ルーチンを完了させるが、1
小節経過した時点で判断結果が「YES」となり、次の
ステップSm3に処理を進める。ステップSm3では、
レジスタTにストアされるテンポクロック累算値をゼロ
リセットし、続くステップSm4では、レジスタNに初
期値「1」をセットする一方、レジスタROOT,TY
PEにそれぞれ格納中の根音およびコード種をクリアす
る。
Here, when one bar has not elapsed, the judgment result is "NO", and this routine is completed.
When the measure has elapsed, the determination result is "YES", and the process proceeds to the next step Sm3. In step Sm3,
The tempo clock accumulated value stored in the register T is reset to zero. In the following step Sm4, the initial value “1” is set in the register N, while the registers ROOT and TY are set.
Clear the root note and chord type stored in the PE.

【0082】そして、ステップSm5〜Sm7では発音
割り当てをクリアする。すなわち、ステップSm5で
は、レジスタNの値に対応したレジスタCH(N)に
「0」をストアし、続くステップSm6では、レジスタ
Nの値を1インクリメントして歩進させ、次のステップ
Sm7では、この歩進されたレジスタNの値がN1以
上、つまり、コード音がアサインされる各発音チャンネ
ルについて発音割り当てをクリアし終えたかどうかを判
断する。
Then, in steps Sm5 to Sm7, the tone generation assignment is cleared. That is, in step Sm5, "0" is stored in the register CH (N) corresponding to the value of the register N, and in the following step Sm6, the value of the register N is incremented by one, and stepped up, and in the next step Sm7, It is determined whether the value of the incremented register N is equal to or greater than N1, that is, whether or not the tone assignment has been cleared for each tone channel to which the chord tone is assigned.

【0083】ここで、クリアする途中であれば、判断結
果が「NO」となり、上記ステップSm5に処理を戻す
が、発音割り当てをクリアし終えたならば、判断結果が
「YES」となり、この後、ステップSm8〜Sm11
を実行してキーバッファレジスタNOTEを空き状態に
設定する。つまり、ステップSm8ではレジスタMに初
期値「1」をセットし、続くステップSm9ではこのレ
ジスタMの値に対応するキーバッファレジスタNOTE
(M)に空き状態を表わす無効値FFをストアする。そ
して、ステップSm10ではレジスタMの値を1インク
リメントして歩進させ、続くステップSm11では全て
のキーバッファレジスタNOTEについて空き状態に設
定し終えたかどうかを判断し、その途中であれば、ステ
ップSm9に処理を戻し、設定し終えたならば、本ルー
チンを完了させる。
Here, if the clearing is in progress, the determination result is "NO", and the process returns to step Sm5. If the sounding assignment is cleared, the determination result is "YES". , Steps Sm8 to Sm11
To set the key buffer register NOTE to an empty state. That is, in step Sm8, the initial value "1" is set in the register M, and in the subsequent step Sm9, the key buffer register NOTE corresponding to the value of the register M is set.
An invalid value FF indicating an empty state is stored in (M). Then, in step Sm10, the value of the register M is incremented by one and the step is advanced. In the following step Sm11, it is determined whether or not all the key buffer registers NOTE have been set to the empty state. When the processing is returned and the setting is completed, this routine is completed.

【0084】(3)具体的動作 次に、以上に詳述したタイマインタラプト処理ルーチン
に基づいた第2実施例の具体的な動作について図18を
参照しつつ説明する。なお、この動作説明においても、
前述した第1実施例と同様、伴奏パターンとして、図2
6に図示したコードバッキングパターンCODEとベー
スパターンBASEとがデータROM7に記憶され、図
18に示す押鍵操作とペダル操作とがなされたと想定し
ている。
(3) Specific Operation Next, a specific operation of the second embodiment based on the timer interrupt processing routine described in detail above will be described with reference to FIG. In this operation description,
As in the first embodiment, the accompaniment pattern shown in FIG.
It is assumed that the code backing pattern CODE and the base pattern BASE shown in FIG. 6 are stored in the data ROM 7, and the key pressing operation and the pedal operation shown in FIG. 18 have been performed.

【0085】この場合、第1小節中の第1音目〜第4音
目までの押鍵については、前述した第1実施例と同様、
第1拍目ではコードバッキングパターンCODEおよび
ベースパターンBASEは音高変換されずにそのまま発
音され、第2拍目ではコードバッキングパターンCOD
Eの発音タイミングに合わせて押鍵された鍵の音がその
まま発音される一方、ベース音はC2音を維持し、続く
第3および第4拍目ではコードバッキングパターンCO
DEおよびベースパターンBASE共に音高変換されず
にそのまま発音される。
In this case, the key presses of the first to fourth notes in the first bar are performed in the same manner as in the first embodiment.
On the first beat, the chord backing pattern CODE and the base pattern BASE are pronounced without pitch conversion, and on the second beat, the chord backing pattern COD
While the sound of the depressed key in accordance with the tone generation timing of the E is directly sound, bass sound C 2 maintains the sound continues third and chord backing pattern CO in the fourth beat
Both the DE and the base pattern BASE are sounded without pitch conversion.

【0086】そして、第1小節が終わると、上述したタ
イマインタラプト処理ルーチンにより、保持されたコー
ド判定対象音が一旦クリアされ、新たに第2小節の第1
音目(C3音)が押鍵されると、一音押鍵であるから、
この第1音を根音(C)と見做し、コードバッキングパ
ターンCODEおよびベースパターンBASEの第1拍
目を音高変換せずにそのまま発音する。次いで、第2小
節の第2音目(A3音)が押鍵されると、ペダル操作子
2がオン状態にある為、コード判定の対象が「C,A」
となるが、この場合、2音押鍵なのでコード不確定とな
り、押鍵された第2音目(A3音)がコードバッキング
パターンCODEの発音タイミングに合わせてそのまま
発音される一方、ベース音はC2音を維持する。
When the first bar ends, the held chord judgment target sound is temporarily cleared by the above-described timer interrupt processing routine, and the first bar of the second bar is newly added.
The sound th (C 3 sound) is depressed, because it is one sound depressed,
This first sound is regarded as the root tone (C), and the first beat of the chord backing pattern CODE and the base pattern BASE is generated without pitch conversion. Then, the second sound-th second measure (A 3 sound) is depressed, since the pedal operating element 2 is in the on state, the target code determination is "C, A"
Although the, in this case, since the two sound depressed becomes code uncertainty, while the second sound th is depressed (A 3 sound) is pronounced as it is in accordance with the tone generation timing of the chord backing pattern CODE, bass sound to maintain a C 2 sound.

【0087】このように、第2実施例では、ペダル操作
子2のオン操作に応じて保持されるコード判定対象音を
小節毎に自動的にクリアするので、小節毎にペダル操作
子2をオフ操作せずとも、誤ったコード判定を回避で
き、しかも和音構成音を一音づつ押鍵操作するアルペジ
ョ奏法がなされても、音楽的に違和感なく自然な伴奏音
が得られるようになっている。
As described above, in the second embodiment, the chord judgment target sound held in response to the on operation of the pedal operator 2 is automatically cleared for each bar, so that the pedal operator 2 is turned off for each bar. An erroneous chord determination can be avoided without operation, and even if an arpeggio playing method is performed in which chord components are depressed one by one, a natural accompaniment sound can be obtained without any musical discomfort.

【0088】C.第3実施例 (1)第1実施例との相違点 上述した第1実施例では、ペダル操作子2がオン状態に
あれば、常に押鍵された鍵の音をコード判定対象音とし
て保持し、ペダル操作子2をオフ操作した時点でこれを
クリアするのに対し、第3実施例では、ペダル操作子2
がオン状態にあっても、押鍵された鍵の音が離鍵に応じ
てリリースし終えた時点(あるいはエンベロープレベル
が所定値に達した時点)で、この離鍵された鍵の音をコ
ード判定対象音から除外することにより、発音中の音だ
けをコード判定対象にして誤ったコード判定を回避し得
るようにした点で相違する。
C. Third Embodiment (1) Difference from First Embodiment In the above-described first embodiment, if the pedal operator 2 is in the ON state, the sound of the key that has been depressed is always held as the chord determination target sound. , When the pedal operator 2 is turned off, this is cleared, whereas in the third embodiment, the pedal operator 2 is cleared.
Even when is turned on, when the sound of the depressed key is released in response to the key release (or when the envelope level reaches a predetermined value), the sound of the released key is recorded as a chord. The difference is that, by excluding from the judgment target sound, only the sounding sound can be set as a chord judgment target and erroneous chord judgment can be avoided.

【0089】(2)第3実施例の動作 以下、こうした相違点を具現する第3実施例によるメ
インルーチン、ペダル処理ルーチン、鍵盤処理ルー
チンおよびエンベロープ監視処理ルーチンについて述
べる。なお、これらルーチン以外の各処理については前
述した第1実施例と同一であるので、その説明について
は省略する。
(2) Operation of the Third Embodiment A main routine, a pedal processing routine, a keyboard processing routine, and an envelope monitoring processing routine according to the third embodiment that embody such differences will be described below. The processing other than these routines is the same as in the first embodiment described above, and a description thereof will not be repeated.

【0090】メインルーチンの動作 第3実施例によるメインルーチンが前述した第1実施例
と相違する点は、図19に図示する通り、ステップSa
8にエンベロープ監視処理ルーチンを設けたことにあ
り、これ以外の各ステップSa1〜Sa7は第1実施例
(図2参照)と同じである。なお、エンベロープ監視処
理ルーチンの内容については追って述べる。
Operation of Main Routine The main routine according to the third embodiment is different from the first embodiment described above in that, as shown in FIG.
8 is provided with an envelope monitoring processing routine, and other steps Sa1 to Sa7 are the same as those in the first embodiment (see FIG. 2). The contents of the envelope monitoring processing routine will be described later.

【0091】ペダル処理ルーチンの動作 次に、図20を参照して第3実施例によるペダル処理ル
ーチンの動作について説明する。第1実施例と同様に、
スイッチ処理ルーチンを介して自動伴奏がスタートした
状態で、メインルーチン(図19参照)のステップSa
3に処理が進むと、CPU4は本ルーチンを実行して図
20に示すステップSd1に処理を進め、ペダル操作子
2が発生する操作イベントに変化があったか否かを判断
する。ここで、ペダル操作が行われず、イベント変化が
ない時には何も処理せずに本ルーチンを完了させるが、
ペダル操作子2が離され、オン状態からオフ状態に遷移
してオフイベントが発生した時にはステップSd2に進
み、ペダルフラグPFを「0」にセットする。
Operation of Pedal Processing Routine Next, the operation of the pedal processing routine according to the third embodiment will be described with reference to FIG. As in the first embodiment,
With the automatic accompaniment started via the switch processing routine, step Sa of the main routine (see FIG. 19)
When the process proceeds to 3, the CPU 4 executes this routine and proceeds to step Sd1 shown in FIG. 20, and determines whether or not the operation event generated by the pedal operator 2 has changed. Here, when no pedal operation is performed and there is no event change, this routine is completed without performing any processing.
When the pedal operator 2 is released and transitions from the ON state to the OFF state and an OFF event occurs, the process proceeds to step Sd2, and the pedal flag PF is set to “0”.

【0092】一方、ペダル操作子2が踏まれて、オフ状
態からオン状態に遷移してオンイベントが発生した時に
はステップSd3に進み、ペダルフラグPFを「1」に
セットすると共に、オンフラグONFを「0」にセット
する。このオンフラグONFとは、後述する鍵盤処理ル
ーチンにて、押鍵操作された場合に「1」がセットされ
るフラグであり、押鍵状態を表わすものである。したが
って、このステップSd3ではペダル操作子2のオン操
作に応じて押鍵状態にある鍵を強制的に離鍵状態と見做
すようにしている。そして、次のステップSd4では、
フラグFIRSTに「1」をセットする。
On the other hand, when the pedal operator 2 is depressed and the state changes from the OFF state to the ON state and an ON event occurs, the process proceeds to step Sd3, where the pedal flag PF is set to "1" and the ON flag ONF is set to "1". Set to "0". The ON flag ONF is a flag that is set to “1” when a key is pressed in a keyboard processing routine described later, and indicates a key pressed state. Therefore, in this step Sd3, the key in the key pressed state is forcibly regarded as the key released state in accordance with the ON operation of the pedal operator 2. Then, in the next step Sd4,
The flag FIRST is set to "1".

【0093】次いで、ステップSd5に進むと、CPU
4はレジスタROOT,TYPEをクリアし、続くステ
ップSd6ではレジスタNに「1」をセットする。ここ
で、レジスタNは伴奏音源部の発音チャンネルを表わす
値がセットされるレジスタであり、レジスタROOT,
TYPEはそれぞれ後述するコード判別により得られる
演奏コードの根音およびコード種を表わす値がセットさ
れるレジスタである。したがって、このステップSd
5,Sd6では、レジスタN,ROOT,TYPEを初
期化している。
Next, when the process proceeds to step Sd5, the CPU
4 clears the registers ROOT and TYPE, and sets "1" to the register N in the following step Sd6. Here, a register N is a register in which a value indicating a sound channel of the accompaniment tone generator is set.
TYPE is a register in which values representing the root note and chord type of a performance chord obtained by chord discrimination described later are set. Therefore, this step Sd
5 and Sd6, the registers N, ROOT, and TYPE are initialized.

【0094】この後、ステップSd7〜Sd13では、
発音チャンネルレジスタCH(N)を全てゼロリセット
して発音割り当てをクリアし、さらに、キーバッファレ
ジスタNOTE(N)の全てに空き状態を表わす無効値
FF(16進表示)をストアして初期化する。このよう
に、第3実施例によるペダル処理ルーチンの特徴は、上
記ステップSd3,Sd4にて示したように、ペダル操
作子2のオン操作に応じてオンフラグONFを「0」に
セットする一方、フラグFIRSTFを「1」にセット
したことにある。なお、このフラグFIRSTFが意図
するところについては追って述べる。
Thereafter, in steps Sd7 to Sd13,
The sounding channel register CH (N) is all reset to zero to clear the sounding assignment, and furthermore, an invalid value FF (hexadecimal notation) indicating an empty state is stored and initialized in all of the key buffer registers NOTE (N). . As described above, the feature of the pedal processing routine according to the third embodiment is that, as shown in steps Sd3 and Sd4, the on-flag ONF is set to “0” in accordance with the on-operation of the pedal operator 2, while the flag is set to “0”. FIRSTF is set to "1". The purpose of the flag FIRSTF will be described later.

【0095】鍵盤処理ルーチン 第3実施例による鍵盤処理ルーチンが前述した第1実施
例と相違する点は、図21に図示する通り、押鍵に応じ
てオンフラグONFを「1」にセットするステップSe
7を新たに追加したことにあり、これ以外の各ステップ
Se1〜Se6は前述の第1実施例(図6参照)と同一
である。
Keyboard Processing Routine The keyboard processing routine according to the third embodiment differs from the first embodiment in that the on-flag ONF is set to "1" in accordance with the key depression, as shown in FIG.
7 is newly added, and other steps Se1 to Se6 are the same as those in the first embodiment (see FIG. 6).

【0096】エンベロープ監視処理ルーチン 次に、図22を参照してエンベロープ監視処理ルーチン
の動作について説明する。上述した第3実施例によるメ
インルーチン(図19参照)のステップSa8を介して
本ルーチンが実行されると、CPU4はステップSn1
に処理を進め、フラグFIRSTFが「1」、つまり、
ペダル操作子2がオン状態にあるか否かを判断する。こ
こで、ペダル操作子2がオフ状態であれば、エンベロー
プ監視する必要がないので、判断結果が「NO」とな
り、本ルーチンを完了させるが、そうでなければ判断結
果が「YES」となり、次のステップSn2に処理を進
める。
Next, the operation of the envelope monitoring processing routine will be described with reference to FIG. When this routine is executed via step Sa8 of the main routine (see FIG. 19) according to the third embodiment described above, the CPU 4 proceeds to step Sn1.
The flag FIRSTF is set to "1", that is,
It is determined whether or not the pedal operator 2 is on. Here, if the pedal operator 2 is in the off state, there is no need to monitor the envelope, so the determination result is “NO” and this routine is completed. Otherwise, the determination result is “YES” and the next The process proceeds to Step Sn2.

【0097】ステップSn2では、オンフラグONFが
「1」であるか否かを判断する。このオンフラグONF
は、上述した第3実施例によるペダル処理ルーチンにて
説明したように、ペダル操作子2がオン操作された場
合、強制的に「0」にセットされるが、このようにした
のはペダル操作子2のオン操作と同時に押鍵されるケー
スを除外するためのものである。したがって、このステ
ップSn2では、ペダル操作子2がオン操作された以後
の押鍵の有無について判断しており、押鍵操作されなけ
れば、判断結果が「NO」となり、本ルーチンを完了さ
せるが、ペダル操作子2がオン状態になって以後、押鍵
操作された場合、ここでの判断結果が「YES」とな
り、次のステップSn3に処理を進める。
In step Sn2, it is determined whether or not the ON flag ONF is "1". This ON flag ONF
Is forcibly set to "0" when the pedal operator 2 is turned on, as described in the pedal processing routine according to the third embodiment described above. This is to exclude a case where the key is pressed at the same time as the child 2 is turned on. Therefore, in step Sn2, it is determined whether or not a key is pressed after the pedal operator 2 is turned on. If the key is not pressed, the determination result is "NO", and this routine is completed. If the key is depressed after the pedal operator 2 is turned on, the determination result is "YES" and the process proceeds to the next step Sn3.

【0098】そして、ステップSn3では、ペダル操作
子2のオン操作以後に押鍵された鍵の音、つまり、レジ
スタONKAI(1)に記憶される音高データに対応し
たエンベロープレベルを、レジスタENVELOPEに
ストアする。次いで、ステップSn4では、現在のエン
ベロープがリリース状態にあるか否かを判断する。ここ
で、該当する鍵が離鍵されていないと、リリース状態に
ならず、判断結果が「NO」となり、本ルーチンを完了
させるが、離鍵に応じてリリース状態になると、判断結
果が「YES」となり、次のステップSn5に処理を進
める。
In step Sn3, the sound of the key depressed after the pedal 2 is turned on, that is, the envelope level corresponding to the pitch data stored in the register ONKAI (1) is stored in the register ENVELOPE. Store. Next, in step Sn4, it is determined whether or not the current envelope is in the released state. Here, if the corresponding key is not released, the release state is not reached, the determination result is "NO", and this routine is completed. However, if the release state is entered in response to the key release, the determination result is "YES". ", And the process proceeds to the next step Sn5.

【0099】ステップSn5では、レジスタENVEL
OPEに格納されるエンベロープレベルが所定値を下回
ったか否かを判断する。ここで、エンベロープレベルが
所定値より大きい場合には、判断結果が「NO」とな
り、本ルーチンを一旦完了させるが、所定値より小さく
なると、判断結果が「YES」となり、次のステップS
n6に処理を進め、前述したフラグFIRSTFをゼロ
リセットし、続くステップSn7ではレジスタROO
T,TYPEをクリアする。そして、以後、ステップS
n8〜Sn15を経て発音チャンネルレジスタCH
(N)を全てゼロリセットして発音割り当てをクリア
し、さらに、キーバッファレジスタNOTE(N)の全
てに空き状態を表わす無効値FF(16進表示)をスト
アして初期化する。
At step Sn5, the register ENVEL
It is determined whether the envelope level stored in the OPE has fallen below a predetermined value. Here, if the envelope level is higher than the predetermined value, the determination result is “NO”, and this routine is completed once. If the envelope level is lower than the predetermined value, the determination result is “YES”, and the next step S
The process proceeds to n6, where the flag FIRSTF is reset to zero.
Clear T and TYPE. And hereafter, step S
n8-Sn15 and sound channel register CH
(N) is all reset to zero to clear the tone assignment, and furthermore, an invalid value FF (hexadecimal notation) indicating an empty state is stored and initialized in all of the key buffer registers NOTE (N).

【0100】このように、エンベロープ監視処理ルーチ
ンでは、ペダル操作子2のオン操作以後に押鍵された鍵
の音について、そのエンベロープがリリース状態になっ
たら、エンベロープレベルが所定値を下回るかどうかを
判定し、下回ったら離鍵された鍵の音をコード判定対象
音から除外するようになっている。
As described above, in the envelope monitoring routine, when the envelope of the key pressed after the pedal operator 2 is turned on is released, it is determined whether the envelope level falls below a predetermined value. It is determined that the sound of the released key is excluded from the chord judgment target sound if the sound is below the threshold.

【0101】(3)具体的動作 次に、第3実施例による具体的な動作について図23〜
図24を参照しつつ説明する。なお、この動作説明にお
いても、前述した第1実施例と同様、伴奏パターンとし
て、図26に図示したコードバッキングパターンCOD
EとベースパターンBASEとがデータROM7に記憶
されているものとする。
(3) Specific Operation Next, specific operations according to the third embodiment will be described with reference to FIGS.
This will be described with reference to FIG. In this operation description, as in the first embodiment, the chord backing pattern COD shown in FIG.
It is assumed that E and the base pattern BASE are stored in the data ROM 7.

【0102】まず、図23に図示する一例は、エンベロ
ープレベルがゼロに達した時点でコード判定対象音から
除外する態様を示している。この場合、第1小節目の第
1音(C3音)がペダル操作子2のオン操作以後に押鍵
され、3拍目でエンベロープレベルがゼロに達したとす
る。そうすると、第1音(C3音)〜第3音(E3音)ま
では前述した第1実施例と同様のコード音およびベース
音が発音される。そして、第1音(C3音)のエンベロ
ープレベルがゼロに達した時点で、この第1音(C
3音)がコード判定対象音から除外され、続いて第4音
目(G3音)の押鍵に応じてコード判定対象音がG3音お
よびE3音となり、最低音のEがベース音、EGがコー
ド音として発音される。
First, an example shown in FIG. 23 shows a mode in which when the envelope level reaches zero, it is excluded from the chord judgment target sound. In this case, the first measure of the first sound (C 3 sound) is depressed to the ON operation after pedal operating element 2, and the envelope level reaches zero at the third beat. Then, the same chord sounds and bass sounds as in the first embodiment described above are produced from the first sound (C 3 sound) to the third sound (E 3 sound). Then, when the envelope level of the first sound (C 3 sound) reaches zero, the first sound (C
3 sound) is excluded from the code determination target sound, followed code judging target sound in response to key depression of the fourth sound th (G 3 sound) becomes G 3 sounds and E 3 sound, E is bass of the lowest note , EG are pronounced as chord sounds.

【0103】次に、図24に図示する一例は、第1音の
エンベロープが5%レベルに達した時点でコード判定対
象音から除外する態様を示している。この場合も、第1
音(C3音)のエンベロープレベルが5%レベルに達し
た時点で、この第1音(C3音)がコード判定対象音か
ら除外され、続いて第3音目(E3音)の押鍵に応じて
コード判定対象音がG3音およびE3音となり、結果、最
低音のEがベース音、EGがコード音として発音され
る。
Next, an example shown in FIG. 24 shows a mode in which the first sound envelope is excluded from the chord judgment target sound when it reaches the 5% level. Also in this case, the first
When the envelope level of the sound (C 3 sound) has reached the 5% level, the first sound (C 3 sound) is excluded from the code determination target sound, followed third sound th and the (E 3 sound) Press code determination target sound becomes G 3 sounds and E 3 sounds according to the key, the result, E of the lowest sound is pronounced as bass, EG code tone.

【0104】以上説明したように、本発明によれば、ペ
ダル操作子2をオン操作しながら、押鍵操作すると、そ
の押鍵された鍵の音が順次、コード判定対象音として保
持されて行くので、和音構成音を一音づつ押鍵操作する
アルペジョ奏法がなされても、音楽的に違和感なく自然
な伴奏音が得られるようになっている。また、ペダル操
作子2のオン操作に応じて保持されるコード判定対象音
を小節毎に自動的にクリアしたり、ペダル操作子2のオ
ン操作以後に押鍵された鍵のエンベロープ状態に応じて
その鍵の音をコード判定対象から除外するので、実際に
発音中の各音に基づくコード判定が可能となり、誤った
コード判定を回避し得るようになっている。
As described above, according to the present invention, when a key is depressed while the pedal operator 2 is turned on, the sound of the depressed key is sequentially held as a chord judgment target sound. Therefore, even if an arpeggio playing method is performed in which a chord component is depressed one by one, a natural accompaniment sound can be obtained without any musical discomfort. Further, the chord judgment target sound held in response to the on operation of the pedal operator 2 is automatically cleared for each bar, or the envelope state of a key pressed after the on operation of the pedal operator 2 is changed. Since the sound of the key is excluded from the chord judgment target, chord judgment based on each sound that is actually sounding can be performed, and erroneous chord judgment can be avoided.

【0105】なお、上述した各実施例では、ペダル操作
子2のオン操作に応じて押鍵された鍵の音を順次保持し
てコード判定対象音と見做す態様としたが、これはペダ
ル操作子2に限定されず、例えば、パネル上に配設する
スイッチを利用する形態としても良いし、あるいは自動
伴奏モード下において特定の鍵(例えばベース鍵域)を
押鍵している期間だけ押鍵された鍵の音を順次保持して
コード判定対象音と見做す態様とすることも可能であ
る。
In each of the above embodiments, the sound of the key pressed in response to the ON operation of the pedal operator 2 is sequentially held and regarded as the chord judgment target sound. The mode is not limited to the operation unit 2, and for example, a mode using a switch disposed on a panel may be used, or a key is pressed only during a period in which a specific key (for example, a bass key range) is pressed in the automatic accompaniment mode. It is also possible to adopt a mode in which the sounds of keyed keys are sequentially held and regarded as a chord judgment target sound.

【0106】[0106]

【発明の効果】請求項1に記載の発明によれば、コード
判定を指示する操作子がオン操作されている間に押鍵さ
れる鍵の音をコード判定対象音として順次保持し、この
保持されるコード判定対象音に基づいてコード判定する
ので、和音構成音を一音づつ押鍵操作するアルペジョ奏
法がなされても、音楽的に違和感なく自然な伴奏音を得
ることができる。請求項2に記載の発明によれば、コー
ド判定対象音が一音押鍵に対応する場合、そのコード判
定対象音を根音と見做すので、音楽的に違和感なく自然
な伴奏音を得ることができる。請求項3に記載の発明に
よれば、コード判定対象音に基づいてコード判定した結
果、コード不確定であると、このコード判定対象音を伴
奏パターンにて指定されるタイミングに従ってコード音
として発音させるので、音楽的に違和感なく自然な伴奏
音を得ることができる。請求項4に記載の発明によれ
ば、コード判定を指示する操作子のオン操作に応じて保
持されるコード判定対象音を小節毎に自動的にクリアす
るので、小節毎に操作子をオフ操作せずとも、誤ったコ
ード判定を回避でき、しかも和音構成音を一音づつ押鍵
操作するアルペジョ奏法がなされても、音楽的に違和感
なく自然な伴奏音を得ることができる。請求項5に記載
の発明によれば、コード判定を指示する操作子がオン操
作された以後に押鍵された鍵の音のエンベロープがリリ
ース状態になり、そのエンベロープレベルが所定値に達
した時点で当該鍵の音をコード判定対象音から消去する
ので、実際に発音中の各音に基づくコード判定が可能と
なるうえ、誤ったコード判定を回避でき、しかも和音構
成音を一音づつ押鍵操作するアルペジョ奏法がなされて
も、音楽的に違和感なく自然な伴奏音を得ることができ
る。
According to the first aspect of the present invention, the sounds of the keys depressed while the operator for instructing the chord judgment is turned on are sequentially held as chord judgment target sounds. Since the chord judgment is performed based on the chord judgment target sound to be performed, a natural accompaniment sound can be obtained without any musical discomfort even if the arpeggio playing method of depressing the chord constituent sounds one by one is performed. According to the second aspect of the present invention, when the chord judgment target sound corresponds to a single key press, the chord judgment target sound is regarded as the root note, so that a natural accompaniment sound can be obtained without any musical discomfort. be able to. According to the third aspect of the invention, as a result of the chord judgment based on the chord judgment target sound, if the chord is uncertain, the chord judgment target sound is emitted as a chord sound in accordance with the timing specified by the accompaniment pattern. Therefore, it is possible to obtain a natural accompaniment sound without any musical discomfort. According to the fourth aspect of the present invention, the chord judgment target sound held in response to the on operation of the manipulator for instructing chord judgment is automatically cleared for each bar, so that the manipulator is turned off for each bar. Without this, erroneous chord judgment can be avoided, and even if an arpeggio playing method is performed in which chord components are depressed one by one, a natural accompaniment sound can be obtained without any musical discomfort. According to the invention described in claim 5, the envelope of the sound of the depressed key is released after the operator for instructing the chord is turned on, and the envelope level reaches a predetermined value. Since the sound of the key is erased from the target sound for chord judgment, chord judgment based on each sound that is actually sounding can be performed, and erroneous chord judgment can be avoided. Even if the arpeggio playing method to be operated is performed, a natural accompaniment sound can be obtained without any musical discomfort.

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

【図1】本発明による第1実施例の構成を示すブロック
図である。
FIG. 1 is a block diagram showing a configuration of a first embodiment according to the present invention.

【図2】メインルーチンの動作を示すフローチャートで
ある。
FIG. 2 is a flowchart showing an operation of a main routine.

【図3】タイマインタラプト処理ルーチンの動作を示す
フローチャートである。
FIG. 3 is a flowchart showing the operation of a timer interrupt processing routine.

【図4】スイッチ処理ルーチンの動作を示すフローチャ
ートである。
FIG. 4 is a flowchart showing an operation of a switch processing routine.

【図5】ペダル処理ルーチンの動作を示すフローチャー
トである。
FIG. 5 is a flowchart showing an operation of a pedal processing routine.

【図6】鍵盤処理ルーチンの動作を示すフローチャート
である。
FIG. 6 is a flowchart showing the operation of a keyboard processing routine.

【図7】コード検出処理ルーチンの動作を示すフローチ
ャートである。
FIG. 7 is a flowchart showing an operation of a code detection processing routine.

【図8】コード検出処理ルーチンの動作を示すフローチ
ャートである。
FIG. 8 is a flowchart showing an operation of a code detection processing routine.

【図9】コード検出処理ルーチンの動作を示すフローチ
ャートである。
FIG. 9 is a flowchart showing the operation of a code detection processing routine.

【図10】伴奏データ生成処理ルーチンの動作を示すフ
ローチャートである。
FIG. 10 is a flowchart showing an operation of an accompaniment data generation processing routine.

【図11】コード音データ生成処理ルーチンの動作を示
すフローチャートである。
FIG. 11 is a flowchart showing an operation of a chord sound data generation processing routine.

【図12】ベース音データ生成処理ルーチンの動作を示
すフローチャートである。
FIG. 12 is a flowchart illustrating an operation of a bass sound data generation processing routine.

【図13】押鍵音データ生成処理ルーチンの動作を示す
フローチャートである。
FIG. 13 is a flowchart illustrating an operation of a key press sound data generation processing routine.

【図14】押鍵音データ生成処理ルーチンの動作を示す
フローチャートである。
FIG. 14 is a flowchart showing an operation of a key press sound data generation processing routine.

【図15】発音処理ルーチンの動作を示すフローチャー
トである。
FIG. 15 is a flowchart showing an operation of a sound generation processing routine.

【図16】第1実施例の具体的動作を説明するための図
である。
FIG. 16 is a diagram for explaining a specific operation of the first embodiment.

【図17】第2実施例によるタイマインタラプト処理ル
ーチンの動作を示すフローチャートである。
FIG. 17 is a flowchart showing the operation of a timer interrupt processing routine according to the second embodiment.

【図18】第2実施例の具体的動作を説明するための図
である。
FIG. 18 is a diagram for explaining a specific operation of the second embodiment.

【図19】第3実施例によるメインルーチンの動作を示
すフローチャートである。
FIG. 19 is a flowchart showing an operation of a main routine according to the third embodiment.

【図20】第3実施例によるペダル処理ルーチンの動作
を示すフローチャートである。
FIG. 20 is a flowchart showing the operation of a pedal processing routine according to the third embodiment.

【図21】第3実施例による鍵盤処理ルーチンの動作を
示すフローチャートである。
FIG. 21 is a flowchart showing the operation of a keyboard processing routine according to the third embodiment.

【図22】第3実施例によるエンベロープ監視処理ルー
チンの動作を示すフローチャートである。
FIG. 22 is a flowchart illustrating an operation of an envelope monitoring processing routine according to the third embodiment.

【図23】第3実施例の具体的動作を説明するための図
である。
FIG. 23 is a diagram for explaining a specific operation of the third embodiment.

【図24】第3実施例の具体的動作を説明するための図
である。
FIG. 24 is a diagram for explaining a specific operation of the third embodiment.

【図25】従来例を説明するための図である。FIG. 25 is a diagram for explaining a conventional example.

【図26】伴奏パターンの一例を示す図である。FIG. 26 is a diagram showing an example of an accompaniment pattern.

【図27】従来例を説明するための図である。FIG. 27 is a diagram for explaining a conventional example.

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

1 パネルスイッチ群 2 ペダル操作子(コード保持手段、コード消去手段) 3 鍵盤 4 CPU(コード保持手段、コード消去手段、伴奏手
段) 5 ROM 6 RAM(コード保持手段、伴奏手段) 7 データROM(伴奏手段) 8 音源(伴奏手段)
Reference Signs List 1 panel switch group 2 pedal operator (chord holding means, chord erasing means) 3 keyboard 4 CPU (chord holding means, chord erasing means, accompaniment means) 5 ROM 6 RAM (chord holding means, accompaniment means) 7 data ROM (accompaniment means) Means) 8 sound sources (accompaniment means)

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 コード判定を指示する操作子を備え、こ
の操作子がオン操作されている間に押鍵される鍵の音を
コード判定対象音として順次保持するコード保持手段
と、 前記操作子のオフ操作に応じて前記コード保持手段が保
持するコード判定対象音を消去するコード消去手段と、 前記コード保持手段に保持されるコード判定対象音に基
づいてコード判定し、確定したコードに応じて伴奏パタ
ーンを構成する各音を音高変換して得られる伴奏音を当
該伴奏パターンにて指定されるタイミングに従って発音
する伴奏手段とを具備することを特徴とする自動伴奏装
置。
1. A code holding means, comprising: a manipulator for instructing chord judgment; a chord holding unit for sequentially holding a sound of a key depressed while the manipulator is turned on as a chord judgment target sound; A code erasing unit for erasing a code determination target sound held by the code holding unit in response to the OFF operation of the code, and performing a code determination based on the code determination target sound held by the code holding unit, and according to the determined code. An automatic accompaniment apparatus comprising: an accompaniment unit that produces an accompaniment sound obtained by pitch-converting each of the sounds constituting the accompaniment pattern in accordance with timing specified by the accompaniment pattern.
【請求項2】 前記伴奏手段は、コード判定対象音が一
音押鍵に対応する場合、そのコード判定対象音を根音と
見做すことを特徴とする請求項1記載の自動伴奏装置。
2. The automatic accompaniment device according to claim 1, wherein the accompaniment means regards the chord judgment target sound as a root note when the chord judgment target sound corresponds to a single key press.
【請求項3】 前記伴奏手段は、コード判定対象音に基
づいてコード判定した結果、コード不確定であると、こ
のコード判定対象音を伴奏パターンにて指定されるタイ
ミングに従ってコード音として発音させることを特徴と
する請求項1記載の自動伴奏装置。
3. When the chord is determined based on the chord judgment target sound and the chord is uncertain as a result, the chord judgment target sound is produced as a chord sound in accordance with the timing specified by the accompaniment pattern. The automatic accompaniment device according to claim 1, wherein:
【請求項4】 コード判定を指示する操作子を備え、こ
の操作子がオン操作されている間に押鍵される鍵の音を
コード判定対象音として順次保持するコード保持手段
と、 このコード保持手段に保持されるコード判定対象音を1
小節経過毎に自動消去するコード消去手段と、 前記コード保持手段に保持中のコード判定対象音に基づ
いてコード判定し、確定したコードに応じて伴奏パター
ンを構成する各音を音高変換して得られる伴奏音を当該
伴奏パターンにて指定されるタイミングに従って発音す
る伴奏手段とを具備することを特徴とする自動伴奏装
置。
4. A code holding means comprising an operation element for instructing chord judgment, and sequentially holding a sound of a key depressed while the operation element is turned on as a code judgment target sound; The chord judgment target sound held by the means is 1
Chord erasing means for automatically erasing each bar, performing chord judgment based on the chord judgment target sound held in the chord holding means, and pitch-converting each sound constituting the accompaniment pattern according to the determined chord. An automatic accompaniment device comprising: an accompaniment means for producing an accompaniment sound according to a timing specified by the accompaniment pattern.
【請求項5】 コード判定を指示する操作子を備え、こ
の操作子がオン操作されている間に押鍵される鍵の音を
コード判定対象音として順次保持するコード保持手段
と、 前記操作子がオン操作された以後に押鍵された鍵の音の
エンベロープがリリース状態になり、そのエンベロープ
レベルが所定値に達した時点で当該鍵の音を前記コード
保持手段に保持中のコード判定対象音から消去するコー
ド消去手段と、 前記コード保持手段に保持中のコード判定対象音に基づ
いてコード判定し、確定したコードに応じて伴奏パター
ンを構成する各音を音高変換して得られる伴奏音を当該
伴奏パターンにて指定されるタイミングに従って発音す
る伴奏手段とを具備することを特徴とする自動伴奏装
置。
5. A code holding means, comprising: a manipulator for instructing chord judgment; a chord holding means for sequentially holding a key sound depressed while the manipulator is turned on as a chord judgment target sound; Is turned on, the envelope of the sound of the key pressed is released, and when the envelope level reaches a predetermined value, the sound of the key is held in the chord holding means. A chord erasing means for erasing from a chord judgment means based on a chord judgment target sound held in the chord holding means, and an accompaniment sound obtained by pitch-converting each sound constituting an accompaniment pattern according to the determined chord. And an accompaniment means for producing a sound in accordance with the timing specified by the accompaniment pattern.
JP9368012A 1997-12-29 1997-12-29 Automatic playing device Pending JPH11194774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9368012A JPH11194774A (en) 1997-12-29 1997-12-29 Automatic playing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9368012A JPH11194774A (en) 1997-12-29 1997-12-29 Automatic playing device

Publications (1)

Publication Number Publication Date
JPH11194774A true JPH11194774A (en) 1999-07-21

Family

ID=18490759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9368012A Pending JPH11194774A (en) 1997-12-29 1997-12-29 Automatic playing device

Country Status (1)

Country Link
JP (1) JPH11194774A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014134716A (en) * 2013-01-11 2014-07-24 Yamaha Corp Musical signal generation device, musical signal generation program and musical signal generation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014134716A (en) * 2013-01-11 2014-07-24 Yamaha Corp Musical signal generation device, musical signal generation program and musical signal generation method

Similar Documents

Publication Publication Date Title
US5260510A (en) Automatic accompaniment apparatus for determining a new chord type and root note based on data of a previous performance operation
JP3684774B2 (en) Performance instruction device and medium recording program
JP2583809B2 (en) Electronic musical instrument
JPH11194774A (en) Automatic playing device
JP2002182642A (en) Playing guide device and playing guide method
JP4016333B2 (en) Performance practice device and performance practice program
JP2640992B2 (en) Pronunciation instruction device and pronunciation instruction method for electronic musical instrument
JP4301126B2 (en) Fingering information generation device and program
JP3940999B2 (en) Performance device and performance method
JPH06259070A (en) Electronic musical instrument
JP3667387B2 (en) Electronic musical instruments
JP4345433B2 (en) Performance device and performance processing program
JP3543124B2 (en) Automatic accompaniment device
JP3812729B2 (en) Performance guidance device and performance guidance method
JP4035715B2 (en) Accompaniment generation apparatus and accompaniment generation program
JPH05204297A (en) Syllable name generator
JP3543161B2 (en) Code data output device
JP3543159B2 (en) Automatic accompaniment device
JP2006178268A (en) Musical sound controller and musical sound control program
JP3543158B2 (en) Automatic accompaniment device
JP2722880B2 (en) Electronic musical instrument
JP3543126B2 (en) Automatic performance device
JP5181521B2 (en) Automatic accompaniment device and program
JP2745831B2 (en) Electronic musical instrument
JP4816930B2 (en) Performance support information generation apparatus and performance support information generation program