JPH10143149A - 自動伴奏装置 - Google Patents

自動伴奏装置

Info

Publication number
JPH10143149A
JPH10143149A JP9337526A JP33752697A JPH10143149A JP H10143149 A JPH10143149 A JP H10143149A JP 9337526 A JP9337526 A JP 9337526A JP 33752697 A JP33752697 A JP 33752697A JP H10143149 A JPH10143149 A JP H10143149A
Authority
JP
Japan
Prior art keywords
chord
code
automatic accompaniment
beat
flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9337526A
Other languages
English (en)
Other versions
JP2842440B2 (ja
Inventor
Tsutomu Imaizumi
勤 今泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP9337526A priority Critical patent/JP2842440B2/ja
Publication of JPH10143149A publication Critical patent/JPH10143149A/ja
Application granted granted Critical
Publication of JP2842440B2 publication Critical patent/JP2842440B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】コードの入力中に最後まで入力しなくても、一
旦書き込んだコードに修正を行うことができる自動伴奏
装置を提供する。 【解決手段】CPU8、鍵盤4、自動伴奏装置12等を
備え、CPU8が、操作者の鍵盤4へのコードに対応す
る操作を検出してコード情報を発生し、コードパッドメ
モリ1に記憶する。自動伴奏装置12は、テンポクロッ
ク部11によるクロックCLに同期して自動伴奏を行
い、CPU8は、このクロックCLに従って自動伴奏に
かかる拍の経過を計測する。CPU8は、コード情報を
発生したときに、そのコード情報を発生した拍が、直前
に書き込んだコード情報を発生した拍と一致するか否か
を判定し、一致するときには直前に書き込んだコード情
報に代えてあらたに発生したコード情報をコードパッド
メモリ1に書き込み、一致しないときには直前に書き込
んだコード情報に続けてあらたに発生したコード情報を
書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、演奏者が入力し
たコード(和音)情報を、自動伴奏に同期させて、自動
記憶するのに用いて好適な自動伴奏装置に関する。
【0002】
【従来の技術】従来より、鍵盤を有する電子楽器には、
コードシーケンサ(以下、自動伴奏装置)が設けられた
ものがあり、該自動伴奏装置は、自動伴奏されるリズム
音に同期させて、演奏者が鍵盤より入力したコード(和
音)情報を所定の記憶装置に記憶したり、記憶されたコ
ード情報を自動伴奏されるリズム音に同期させて再生し
ている。
【0003】入力したコードの記憶は、まず、リズム音
を自動伴奏しておき、演奏者がリズム音に合せて、鍵盤
からコードを順次入力すると、始めに入力されたコード
を、その入力された小節の先頭のコードとして記憶する
ようになっている。そして、順次入力されるコードを、
その入力タイミングに応じて、リズム音と同期させて記
憶している。なお、入力タイミングは実際には四分音符
に基づいて量子化されている。また、記憶されたコード
は、コード再生操作を行なうと、自動伴奏装置によっ
て、再生操作タイミングの次の小節から順次再生される
ようになっている。
【0004】
【発明が解決しようとする課題】ところで、一般に、コ
ード入力は、自動伴奏を聞きながら、この自動伴奏に同
期させて入力する必要がある。しかしながら、上述した
従来の電子楽器では、自動伴奏に対して、特定のタイミ
ングで指定されたコードのみが有効になり、それ以後の
タイミングで入力しても有効にならなかった。このた
め、一旦書き込んだコードを別のコードに書き換えたい
と思っても、最後まで入力した後に修正を加えないと、
変更することができなかった。
【0005】上述した事情に鑑み、本願発明は、最後ま
で入力しなくても、一旦書き込んだコードに修正を行う
ことができる自動伴奏装置を提供することを目的として
いる。
【0006】
【課題を解決するための手段】上述した問題点を解決す
るために、請求項1記載の発明は、操作者の操作に応じ
てコードを示すコード情報を発生するコード情報発生手
段と、前記コード情報発生手段によって順次発生される
コード情報を記憶するコード進行メモリと、前記コード
情報発生手段によって発生されたコード情報を前記コー
ド進行メモリに書き込む第1の書込手段と、自動伴奏を
行う自動伴奏手段と、自動伴奏にかかる拍の経過を計測
する拍計測手段と、前記コード情報発生手段によってコ
ード情報が発生されたときに、該コード情報が発生され
た拍が、直前に書き込まれたコード情報が発生された拍
と一致するか否かを拍計測手段の計測結果に基づいて判
定する判定手段と、この判定手段によって、一致すると
判定されたときには直前に書き込まれたコード情報に代
えてあらたに発生されたコード情報を前記コード進行メ
モリに書き込み、一致しないと判定されたときには直前
に書き込まれたコード情報に続けて書き込む第2の書込
手段と備えることを特徴としている。
【0007】
【作用】請求項1記載の発明によれば、コード情報発生
手段によって操作者の操作に応じてコードを示すコード
情報が発生され、第1の書込手段によってコード情報発
生手段によって発生されたコード情報がコード進行メモ
リに書き込まれ、また拍計測手段によって自動伴奏手段
によって行われる自動伴奏にかかる拍の経過が計測され
る。そして第2の書込手段によって、判定手段によって
コード情報の発生された拍が直前に書き込まれたコード
情報が発生された拍と一致すると判定されたときには直
前に書き込まれたコード情報に代えてあらたに発生され
たコード情報が書き込まれ、一致しないと判定されたと
きには直前に書き込まれたコード情報に続けて書き込ま
れる。
【0008】
【発明の実施の形態】次に図面を参照してこの発明の実
施形態について説明する。図1はこの発明の一実施形態
の構成を示すブロック図である。コードメモリ1は、コ
ード進行を記憶する記憶装置であり、演奏者によって入
力されたコードの種類とデュレーションとを組み合わせ
て記憶する(詳細は後述する)。ノンコードとしては、
全てに「1(16進法でFF)」が設定されるようにな
っており、ノンコードの場合には、自動伴奏ではリズム
音のみが演奏される。拍子メモリ2には、各伴奏の種類
(スタイル)毎に何拍子の曲であるかを示すテンポデー
タが記憶されている。
【0009】操作パネル3は、鍵盤4、コードパッド
5、スイッチ群6および表示部7からなる。鍵盤4は、
複数の白鍵および黒鍵からなり、演奏者の演奏に応じて
コード情報や通常の演奏情報等をデータバスDBを介し
てCPU8へ供給する。コードパッド5は、円盤形状を
有し、自動伴奏装置の動作タイミングを入力したり、コ
ードの種類を選択するため操作子である。この実施形態
では、4つのコードパッドが設けられていおり、各々に
異なるコード進行が割当てられている。したがって、こ
の実施形態では、4種類のコード進行が選択できるよう
になっている。また、スイッチ群6は、複数のスライド
スイッチやプッシュスイッチ等から構成されており、本
実施形態で用いられるのは自動伴奏のスタートスイッ
チ、ストップスイッチ、録音スイッチおよびスタイル選
択スイッチである。これらスイッチ群のオン、オフ状態
は所定のタイミングでデータバスDBを介してCPU8
へ供給される。表示部7はCPU8からの指示によって
本装置の動作モードやエラーメッセージ等を表示する。
ここで、操作パネル3の詳細な構成を説明するために、
図2に示す本実施形態における電子楽器の正面図を参照
して説明する。
【0010】図2において、電子楽器の前部(演奏者
側)には上記鍵盤4が設けられており、電子楽器の後部
には、上記操作パネル3が設けられている。この操作パ
ネル3には、上述した4つのコードパッド5a,5b,
5c,5d、自動伴奏のスタートスイッチ6a、ストッ
プスイッチ6b、録音スイッチ6c、スタイル選択スイ
ッチ6dおよび表示部7が設けられている。スタートス
イッチ6aは、コードの記憶処理または記憶されたコー
ドの再生処理の開始に先立って操作され、該スタートス
イッチ6aが操作されると、自動伴奏の演奏を開始する
ようになっている。次に、ストップスイッチ6bは、コ
ードの記憶処理または記憶されたコードの再生処理の終
了において操作され、該ストップスイッチ6bが操作さ
れると、自動伴奏の演奏を停止するようになっている。
【0011】また、録音スイッチ6cは、コードの記憶
処理において、記憶開始を指示する際に操作され、上記
コードパッド5a〜5dと同時に用いられるようになっ
ている。また、スタイル選択スイッチ6dは、コードパ
ッド5a〜5dに伴奏スタイルを割り当てるためのスイ
ッチである。本実施形態では、以下に述べる動作に先立
って演奏者により操作されることにより、各コードパッ
ド5a〜5dには所望する伴奏スタイルが割り当てられ
ているものとする。
【0012】図1に戻って説明を続けると、CPU8は
所定のプログラムに従って電子楽器全体の処理を行なう
ものであり、データバスDBを介して各部の回路と各種
データを授受している。プログラムメモリ9には上記プ
ログラムが記憶されている。また、ワーキングメモリ1
0は、CPU8の処理において生じる各種データが記憶
されるレジスタや、変数等の状態を示すフラグとして用
いられる。次に、テンポクロック部11は、所定のクロ
ックCLを発生し、CPU8および自動伴奏装置12へ
供給する。CPU8および自動伴奏装置12は、上記ク
ロックCLに従って同期して動作するようになってい
る。
【0013】自動伴奏装置12は、上記クロックCLに
従って、コードパッドメモリ1に記憶されたコードデー
タと、拍子メモリ2に記憶されたテンポデータとに基づ
き伴奏データをミキシング回路13に供給する。また、
トーンジェネレータ14はCPU8の命令に基づき楽音
データを発生し、これをミキシング回路13に供給す
る。ミキシング回路13は、伴奏データと楽音データと
を混合し、これをサウンドシステム15へ供給する。サ
ウンドシステム15は上記混合された伴奏データと楽音
データをアナログ信号に変換した後、図示しないスピー
カから楽音として出力する。
【0014】次に、前述したコードパッドメモリ1につ
いて図3を参照して説明する。この図において、コード
パッドメモリ1は各コードパッド5a〜5dに対応して
設けられており、順次、コードパッド5aにはコードメ
モリCM(0,CP)、コードパッド5bにはコードメ
モリCM(1,CP)、コードパッド5cにはコードメ
モリCM(2,CP)、コードパッド5dにはコードメ
モリCM(3,CP)が対応しており、コードパッドメ
モリCM(0,CP)〜(3,CP)の各々には、コー
ドパッドに割り当てられた伴奏スタイルに対応したコー
ドデータが記憶される。なお、符号CPは発音すべきコ
ードの先頭データが記憶されるアドレスを示すポインタ
であり、コードパッドメモリCM(0,CP)〜CM
(3,CP)を示す変数(上記符号CMに付けられた括
弧内の始めの数値)としてはパターンナンバ変数PTN
が用いられる。コードパッドメモリCM(0,CP)〜
CM(3,CP)には、記憶時において入力されたコー
ドのコード根音(根音レジスタRT)、コード種類(コ
ード種類レジスタTP)およびコードの持続時間(デュ
レーションDT)が1つの組として入力されたコード順
に記憶される。また、コードデータの終りにはデュレー
ションDTにエンドコードが記憶される。
【0015】次に、上述した構成による動作について、
図4〜図12に示すフローチャートを参照して説明す
る。
【0016】(本実施形態の動作)演奏者によって電源
が投入されると、図4に示すメインルーチンがCPU8
によって実行される。メインルーチンでは、まず、ステ
ップSA1において、各回路や、各種レジスタおよびフ
ラグ等の初期設定を行なう。次に、ステップSA2、ス
テップSA4、ステップSA6、ステップSA8および
ステップSA10において、各種イベントが発生したか
否かを判断する。イベントが発生しなかった場合には、
各ステップにおける判断結果は「NO」となり、上記ス
テップSA2〜SA10のループを繰り返し実行する。
【0017】上記ループの実行において、コードの記憶
処理を行なうためには、まず、スタートスイッチ6aを
押下する。スタートスイッチ6aが押下されると、ステ
ップSA8における判断結果が「YES」となり、ステ
ップSA9へ進む。ステップSA9では、図5に示すス
タート処理が実行される。スタート処理では、まず、ス
テップSB1において、自動伴奏フラグACMPRUN
が「1」であるか否かを判断する。この自動伴奏フラグ
ACMPRUNは、自動伴奏が開始されているか否かを
示しており、自動伴奏が開始されていない時には「0」
となり、自動伴奏が開始している時には「1」となる。
この場合は、スタートスイッチ6aは初めて押下された
ので、まだ、自動伴奏は行なわれていないため、自動伴
奏フラグACMRUNは「0」である。したがって、ス
テップSB1における判断結果は「NO」となり、ステ
ップSB3へ進み、自動伴奏フラグACMPRUNを
「1」とする。次に、ステップSB4において、根音レ
ジスタRTを「FF(16進)」とし、コード種類レジ
スタTPを「FF(16進)」とする。次に、ステップ
SB5へ進み、自動伴奏装置にスタート信号、根音レジ
スタRTおよびコード種類レジスタTPの内容を出力
し、メインルーチンへ戻る。
【0018】自動伴奏装置12は、スタート信号、根音
レジスタRTおよびコード種類レジスタTPの内容に基
づいて伴奏データをミキシング回路13へ出力する。こ
の場合、ミキシング回路13には、楽音データは供給さ
れていないため、上記伴奏データのみがサウンドシステ
ム15へ供給される。なお、根音レジスタRTおよびコ
ード種類レジスタTPの内容は「FF」であるため、サ
ウドシステム14からはリズム音のみが発音される。一
方、既に、自動伴奏が行なわれている場合には、自動伴
奏フラグACMRUNが「1」となっているため、ステ
ップSB1における判断結果は「YES」となり、自動
伴奏装置12に対してデータを送出せずに、そのままメ
インルーチンへ戻る。言換えると、一度、自動伴奏が開
始されると、スタートスイッチ6aの操作は無視され
る。
【0019】また、本実施形態の電子楽器では、電源が
投入されると、1拍毎に、図6に示すテンポクロック処
理が実行される。テンポクロック処理は、クロックに従
って、一定の間隔で割込み実行されるルーチンである。
このテンポクロック処理では、まず、ステップSC1に
おいて、自動伴奏フラグACMPRUNが「1」である
か否かを判断する。自動伴奏が行なわれていない場合に
は、自動伴奏フラグACMPRUNは「0」であるた
め、上記ステップSC1における判断結果は「NO」と
なり、当該テンポクロック処理を終了し、これまで実行
していたルーチンへ戻る。
【0020】これに対して、この場合、上述したスター
ト処理のステップSB3において、自動伴奏フラグAC
MPRUNが「1」となっているため、ステップSC1
における判断結果は「YES」となり、ステップSC2
へ進む。ステップSC2では、録音モードフラグREC
が「0」であるか否かを判断する。この録音モードフラ
グRECは、記憶モードであるか否かを示すフラグであ
り、記憶モードでない時(すなわち、再生モードの時)
には「0」、記憶待機モードの時には「1」、また、記
憶が既に開始されている時には「2」となる。この場
合、まだ、記憶モードフラグRECは「0」であるた
め、ステップSC2における判断結果は「YES]とな
り、ステップSC3へ進む。ステップSC3では、待機
フラグWAITが「1」であるか否かを判断する。
【0021】この待機フラグWAITは、演奏モードに
おいて、所定のコードが小節の先頭のタイミングで発音
されるよう、発音タイミングを制御するためのフラグで
あり、「0」の時にはコードの発音タイミングが小節の
先頭に一致している場合である。なお、詳細は後述する
が、コード再生中にコードパッドを操作することによっ
てコード進行を変更する場合があり、この場合にも、最
初に発音されるコードの発音タイミングを小節の先頭に
合せる必要があるため、上記待機フラグWAITが参照
される。
【0022】現在、待機フラグWAITは、メインルー
チンの初期設定で「0」となっている。したがって、ス
テップSC3における判断結果は「NO」となり、ステ
ップSC12へ進む。ステップSC12では、コード再
生フラグCHDRUNが「1」であるか否かを判断す
る。このコード再生フラグCHDRUNは、コードパッ
ドメモリ5に記憶されたコードの再生が開始されたか否
かを示すフラグであり、「0」の場合はコード再生が開
始されていないことを示し、「1」の場合にはコード再
生が開始されたことを示す。この場合には、コード再生
が開始されていないので、ステップSC12における判
断結果は「NO」となり、ステップSC8へ進む。
【0023】ステップSC8では、各スタイルが何拍子
であるかを記憶している拍子レジスタMTRから「1」
を減算した値がビートカウンタBTと等しいか否かを判
断する。このビートカウンタBTは、各小節における拍
子をカウントする変数であり、伴奏スタイルに応じて、
3拍子の場合には、「0」,「1」,「2」の値を順次
とり、4拍子の場合には、「0」,「1」,「2」,
「3」の値を順次とる。この実施形態では、一例として
4拍子としている。なお、現在の伴奏スタイルの種類
は、図示するスタイル変数STYLによって示される。
ビートカウンタBTが現在の伴奏スタイルの最終拍に達
していない場合には、ステップSC8における判断結果
は「NO」となり、ステップSC9へ進む。ステップS
C9では、現在が何拍目であるかを示すビートカウンタ
BTを「1」だけインクリメントして次の拍に更新す
る。
【0024】一方、ビートカウンタBTが現在の伴奏ス
タイルの最終拍に達している場合には、ステップSC8
における判断結果は「YES」となり、ステップSC1
0へ進む。ステップSC10では、ビートカウンタBT
を「0」にリセットし、次の小節の先頭を示すように更
新する。したがって、この場合には、選択された伴奏ス
タイルが4拍子であるので、ビートカウンタBTは
「0」,「1」,「2」,「3」,「0」,「1」,
「2」,……という値を繰り返しとる。そして、ステッ
プSC9またはSC10の処理が終了すると、当該テン
ポクロック処理を終了し、これまで実行していたルーチ
ンへ戻る。
【0025】次に、鍵盤4から入力されたコードをコー
ドパッドメモリ1に記憶する処理について説明する。 (記憶モード)上述した自動伴奏が演奏されている状態
において、演奏者が、録音スイッチ6cを押下しなが
ら、所望するコード進行に対応したコードパッド5a〜
5dのいずれか1つを叩くと、メインルーチンのステッ
プSA4における判断結果が「YES」となり、ステッ
プSA5へ進む。なお、以下の説明ではコードパッド5
aが操作されたと仮定する。ステップSA5では、図7
に示すコードパッドイベント処理が実行される。このコ
ードパッドイベント処理では、まず、ステップSD1に
おいて、録音スイッチ6cが、コードパッド5aと同時
に押下されているかを判断する。この場合、上述したよ
うに録音スイッチ6cが同時に押下されているため、ス
テップSD1における判断結果は「YES」となり、ス
テップSD2へ進む。ステップSD2では、図8に示す
記憶モード処理が実行される。
【0026】記憶モード処理では、まず、ステップSE
1において、叩かれたコードパッドに対応したコードパ
ッド・ナンバ(0,1,2,3の値のいずれか)がパタ
ーンナンバ変数PTNに代入される。次に、ステップS
E2へ進み、記憶モードフラグRECを「1」とする。
したがって、コードパッド5a〜5dのうち操作された
いずれかに対応するコードパッドメモリCM(PTN,
CP)が記憶待機状態になる。例えば、コードパッド5
aが操作された場合には、パターンナンバ変数PTNの
内容は「0」となり、その結果、図3に示すコードパッ
ドメモリCM(0,CP)が記憶待機状態になる。表示
部7には、記憶待機状態であることを示すメッセージが
表示される。次に、ステップSE3において、待機状態
のコードパッドメモリCM(0,CP)の先頭データが
記憶されるアドレスをポインタCPに格納する。そし
て、当該記憶モード処理ルーチンを終了しメインルーチ
ンへ戻る。
【0027】また、自動伴奏が進行して次の拍にくる
と、記憶モードフラグRECが上記ステップSE2にお
いて、「1」となって記憶待機モードになるため、前述
した1拍毎に実行されるテンポクロック処理のステップ
SC2における判断結果が「NO」となり、ステップS
C17へ進む。ステップSC17では、デュレーション
DTを「1」だけインクリメントする。次に、前述した
ステップSC8、および、SC9またはSC10へ進
み、ビートカウンタBTを更新した後、当該テンポクロ
ック処理を終了し、これまで実行していたルーチンへ戻
る。なお、上記テンポクロック処理におけるデュレーシ
ョンDTのインクリメントおよびビートカウントBTの
更新は、記憶待機モードおよび後述する記憶モードの
間、自動伴奏の進行に応じて1拍毎に行われる。
【0028】次に、演奏者は自動伴奏されるリズム音に
合せて、所望するコードまたは旋律を鍵盤4により順次
入力していく。何らかのキーイベントが発生すると、メ
インルーチンのステップSA2における判断結果が「Y
ES」となり、ステップSA3へ進む。ステップSA3
では、図9に示すキーイベント処理が実行される。キー
イベント処理では、まず、ステップSF1において、通
常のキーイベントに対する発音/消音処理を行なう。こ
のキーイベントに対する楽音はトーンジェネレータ14
により生成され、ミキシング回路13へ供給される。次
に、ステップSF2へ進み、自動伴奏フラグACMPR
UNが「1」であるか否かを判断する。ステップSF2
における判断結果が「NO」の場合には当該処理を終了
して、メインルーチンへ戻る。
【0029】この場合、自動伴奏は既に開始されている
ため、上記自動伴奏フラグACMPRUNは「1」であ
る。したがって、ステップSF2における判断結果は
「YES」となり、ステップSF3へ進む。ステップS
F3では、演奏者によるコードの入力を検出する。次
に、ステップSF4において、コードが検出されたか否
かを判断する。まだ、コードが入力されていない場合、
すなわち、キーイベントが生じても、それがコードでな
い場合には、ステップSF4における判断結果は「N
O」となり、当該処理を終了して、メインルーチンへ戻
る。
【0030】一方、演奏者によってコードが入力された
場合には、ステップSF4における判断結果は「YE
S」となり、ステップSF5へ進む。ステップSF5で
は、根音レジスタRTおよびコード種類レジスタTP
に、各々、入力されたコードのコード根音およびコード
種類を格納する。次に、ステップSF6において、自動
伴奏装置12に根音レジスタRTおよびコード種類レジ
スタTPの内容を出力する。これにより、自動伴奏装置
12は、根音レジスタRTおよびコード種類レジスタT
Pの内容に基づいてコードデータをミキシング回路13
へ出力する。この場合、ミキシング回路13は、上記楽
音データとコードデータとを混合し、サウンドシステム
15へ供給する。サウドシステム14からは鍵盤より入
力したコードが発音される。次に、ステップSF7へ進
み、記憶モードフラグRECが「0」より大きいか否か
を判断する。記憶モードフラグRECが「0」の場合、
すなわち、記憶待機モードではなく、再生モードの場合
には、ステップSF7における判断結果が「NO」とな
るため、演奏入力されたコードを記憶することなく、当
該処理を終了してメインルーチンへ戻る。
【0031】一方、現在の状態は、前述した記憶モード
処理において、記憶モードフラグRECには「1」が格
納され、記憶待機モードになっているため、上記ステッ
プSF7における判断結果は「YES」となり、ステッ
プSF8へ進む。ステップSF8では、図10に示す記
憶処理ルーチンが実行される。記憶処理ルーチンでは、
まず、ステップSG1において、記憶モードフラグRE
Cが「1」であるか否か、すなわち、記憶待機モードで
あるか否かを判断する。この場合、上述したように、記
憶待機モードであるので、ステップSG1における判断
結果は「YES」となり、ステップSG2へ進む。ステ
ップSG2では、記憶を開始するために、記憶モードフ
ラグRECを「2」とし、記憶が開始されていることを
示す状態にする。次に、ステップSG3において、パタ
ーンナンバ変数PTNおよびポインタCPによって示さ
れるコードパッドメモリCM(PTN,CP)に根音レ
ジスタRTの内容、すなわち、演奏入力されたコード根
音を格納するとともに、コードメモリ(PTN,CP+
1)に根音種類レジスタTPの内容を格納する。次に、
ステップSG4へ進み、ビートカウンタBTが「2」よ
り小さいか否かを判断する。すなわち、ステップSG4
では、コードが小節の丁度中間である2拍目より前に入
力されたのか、あるいは2拍目以降に入力されたのかを
判断する。そして、ビートカウンタBTが「2」よりも
小さい場合、すなわち、コードの入力が2拍目より前に
行なわれた場合には、ステップSG4における判断結果
は「YES」となり、ステップSG5へ進む。ステップ
SG5では、デュレーションDTにそのままビートカウ
ンタBTの値を代入する。この結果、後述するステップ
SG12において、2拍子より前に入力されたコードの
入力タイミングは、入力された小節の先頭拍のタイミン
グと一致するように記憶される。
【0032】一方、ビートカウンタBTが「2」以上の
場合、すなわち、コードの入力が2拍目以降に行なわれ
た場合には、ステップSG4における判断結果は「N
O」となり、ステップSG6へ進む。ステップSG6で
は、ビートカウンタBTから「4」を減算した値をデュ
レーションDTに代入する。この結果、後述するステッ
プSG12において、2拍目以降に入力されたコードの
入力タイミングは、次の小節の先頭拍のタイミングと一
致するように記憶される。
【0033】上記ステップSG5またはSG6が終了す
ると、ステップSG7へ進み、コードパッドメモリCM
(PTN、CP)のアドレスを示すポインタCPを
「2」インクリメントする。これにより、ポインタCP
は、次の入力コードに対するデータを記憶するためのア
ドレスを示すよう更新される。そして、当該処理を終了
して、メインルーチンへ戻る。一方、既に記憶が開始さ
れている場合、すなわち、先のコード入力に引き続き次
のコードが入力された場合には、第1のコードに対する
上述したステップSG2において、記憶モードフラグR
ECが「2」となっているため、ステップSG1におけ
る判断結果は「NO」となり、ステップSG8へ進む。
ステップSG8では、デュレーションDTが「0」より
大きいか否かを判断する。これは、現時点におけるコー
ドの入力タイミングを判断するためであり、デュレーシ
ョンDTが「0」より大きい場合、すなわち、現時点の
コードが直前に入力されたコードに対して(2つ目の入
力時は記憶開始に対して)1拍以上の間隔が空いていて
入力された場合には、ステップSG8における判断結果
は「YES」となり、ステップSG9へ進む。ステップ
SG9では、コードパッドメモリCM(PTN,C
P),CM(PTN,CP+1)および(PTN,CP
+2)に、順次、デュレーションDT、根音レジスタR
Tおよびコード種類TPの内容を格納する。なお、ここ
で、デュレーションDTは再生時には、前の入力和音の
期間に対応する、いわゆる「符長データ」と見ることも
できる。
【0034】そして、ステップSG10において、ポイ
ンタCPを「3」だけインクリメントし、次の入力コー
ドに対するデータを記憶するためのアドレスを示す値に
更新する。次に、ステップSG11において、デュレー
ションDTを「0」にクリアした後、当該処理を終了し
て、メインルーチンへ戻る。すなわち、ステップSG
1,およびSG8〜SG11においては、先のコード入
力に引き続き入力されるコードのデータを、該コードの
入力タイミングより前で、かつ、その入力タイミングに
最も近い拍のタイミングで入力されたかのように、所定
のコードパッドメモリへ記憶する。また、上記ステップ
SG11においてデュレーションDTを「0」としたこ
とによって、次にテンポクロック処理が実行された時に
は、デュレーションDTは、ステップSC17において
インクリメントされるため、「1」からカウントアップ
される。
【0035】一方、ステップSG8において、デュレー
ションDTが「0」以下の場合、すなわち、引き続き入
力されるコードが、現時点のコードの直前に入力された
コードに対して(2つ目の入力時は記憶開始に対して)
1拍より短い間隔しかない場合には、ステップSG8に
おける判断結果は「NO」となり、ステップSG12へ
進む。ステップSG12では、現在のコードデータであ
る根音レジスタRTおよび根音種類TPの内容を、直前
のコードデータが記憶されたアドレスに記憶する。言換
えると、直前に入力されたコードに対して1拍以上の間
隔が空いていない場合には、現時点のコードの根音レジ
スタRTおよび根種類TPの内容を、直前のコードデー
タに上書する。これによって、再生時には、一拍の発音
中に指定コードが複数あるという状況はなくなる。そし
て、上記ステップSG12における処理が終了すると、
当該処理を終了してメインルーチンへ戻る。
【0036】以下、同様にして、順次入力されるコード
がコードパッドメモリへ記憶される。そして、コードの
入力を終了するために、ストップスイッチが押下される
と、メインルーチンのステップSA10における判断結
果が「YES」となり、ステップSA11へ進む。ステ
ップSA11では、図11に示すストップ処理が実行さ
れる。ストップ処理では、まず、ステップSH1におい
て、自動伴奏フラグACMPRUNが「0」であるか否
かを判断する。この場合、コード入力のために、自動伴
奏が行なわれているので、自動伴奏フラグACMPRU
Nは「1」である。したがって、ステップSH1におけ
る判断結果は「NO」となり、ステップSH2へ進む。
ステップSH2では、自動伴奏ACMPRUNを「0」
とする。次に、ステップSH3へ進み、自動伴奏装置1
2にストップ信号を出力する。これにより、リズム音に
よる自動伴奏が停止する。次に、ステップSH4におい
て、記憶モードフラグRECが「2」であるか否かを判
断する。現時点では記憶モードであるため、記憶モード
フラグRECは「2」である。したがって、ステップS
H4における判断結果は「YES」となり、ステップS
H5へ進む。ステップSH5では、コードパッドメモリ
CM(PTN,CP)にエンドコードを書き込む。そし
て、当該ストップ処理を終了し、メインルーチンへ戻
る。
【0037】また、上記ステップSH2において、自動
伴奏フラグACMPRUNを「0」としたことで、図6
に示すテンポクロック処理のステップSC1における判
断結果は「NO」となり、そのまま当該処理を終了し
て、割り込みがかかる前の処理へ戻る。これは、次に、
何らかの操作が行なわれることによって自動伴奏フラグ
ACMPRUNが「1」になるまで、繰り返し実行され
る。以上の処理によって、最初に入力されたコードは、
その入力タイミングが小節の2拍目より前ならば、その
小節の先頭拍で入力されたかように、所定のコードパッ
ドメモリ(PTN,CP)に記憶される。また、上記コ
ードの入力タイミングが小節の2拍目以降ならば、次の
小節の先頭拍で入力されたかのように記憶される。さら
に、上記最初のコードに引き続いて入力されたコードに
関しては、そのコードが入力されたタイミングに最も近
接した拍で入力されたかのように記憶される。
【0038】次に、上述した記憶モードにおいて記憶さ
れたコードの再生動作について説明する。 (再生モード)まず、前述したメインルーチンのステッ
プSA1〜SA11のループの実行において、記憶され
たコードの再生処理を行なうためには、まず、スタート
スイッチ6aを押下する。スタートスイッチ6aが押下
されると、ステップSA8における判断結果が「YE
S」となり、ステップSA9へ進む。ステップSA9で
は、図5に示すスタート処理が実行される。スタート処
理では、現時点では自動伴奏が行なわれていないため、
前述したように、自動伴奏フラグACMRUNは「0」
である。このため、ステップSB1における判断結果は
「NO」となり、ステップSB2において、自動伴奏フ
ラグACMPRUNを「1」とした後、ステップSB3
において、根音レジスタRTに「FF(16進)」を代
入し、根音種類レジスタTPに「FF(16進)」を代
入した後、ステップSB4へ進み、自動伴奏装置12に
スタート信号、根音レジスタRTおよび根音種類レジス
タTPの内容を出力してメインルーチンへ戻る。自動伴
奏装置12は、スタート信号、根音レジスタRTおよび
根音種類レジスタTPの内容に基づいて伴奏データを順
次ミキシング回路13へ出力する。この場合、ミキシン
グ回路13には、演奏データは供給されていないので、
上記伴奏データのみをサウンドシステム15へ出力す
る。なお、根音レジスタRTおよび根音種類レジスタT
Pの内容は「FF」であるため、サウドシステム14か
らはリズム音のみが順次発音される。
【0039】また、自動伴奏フラグACMPRUMが
「1」となることにより、図6に示すテンポクロック処
理のステップSC1における判断結果が「YES」とな
り、ステップSC2へ進む。この場合、現時点では、記
憶モードフラグRECは、まだ、「2」のままである。
したがって、ステップSC2における判断結果は「N
O」となり、ステップSC17へ進み、デュレーション
DTをインクリメントした後、さらに、ステップSC8
〜SC10へ進み、ビートカウンタBTを更新する。そ
の後、当該テンポクロック処理を終了し、これまで実行
していたルーチンへ戻る。
【0040】次に、演奏者が再生したいコードに対応す
るコードパッド5a〜5dのいずれかを叩くと、メイン
ルーチンのステップSA4における判断結果が「YE
S」となり、ステップSA5に進み、前述した図7に示
すコードパッドイベント処理が実行される。この場合、
録音スイッチ6cは押下されていないため、ステップS
D1における判断結果は「NO」となり、ステップSD
3へ進む。ステップSD3では、叩かれたコードパッド
5(5a〜5dのいずれか)に対応するコードパッド番
号をパターンナンバ変数PTNへ代入する。次に、ステ
ップSD4へ進み、自動伴奏フラグACMPRUNが
「0」であるか否かを判断する。この場合、自動伴奏
は、既に行なわれているので、ステップSD4における
判断結果は「NO」となり、ステップSD5へ進む。ス
テップSD5では、コード演奏フラグCHDRUNが
「0」であるか否かを判断する。これは、コード進行を
変更した場合には、変更後のコードを、小節の先頭で発
音するための判断であり、この場合、コードパッドメモ
リCM(PTN,CP)のコードデータは、上述したよ
うに、まだ、再生されていないので、コード演奏フラグ
CHDRUNは「0」である。このため、ステップSD
5における判断結果は「YES」となり、ステップSD
6へ進む。
【0041】ステップSD6では、記憶モードフラグR
ECを「0」にして再生モードにする。次に、ステップ
SD7において、ビートカウンタBTが「0」であるか
否かを判断する。コードパッド5a〜5dのいずれかが
叩かれたタイミングが小節の先頭拍の場合には、ビート
カウンタBTが「0」であるので、ステップSD7にお
ける判断結果は「YES」となり、ステップSD8へ進
む。ステップSD8では、待機フラグWAITを「0」
として待機状態を解除するとともに、コード演奏フラグ
CHDRUNを「1」としてコード演奏状態とする。次
に、ステップSD9において、パターンナンバ変数PT
Nで示されるコードパッドメモリCM(PTN,CP)
の先頭アドレスをポインタCPに代入する。そして、ス
テップSD10へ進み、図12に示すコード再生処理を
実行する。
【0042】コード再生処理では、まず、ステップSI
1において、コードパッドメモリCM(PTN,CP)
の内容を根音レジスタRTへ格納し、コードパッドメモ
リCM(PTN,CP+1)の内容を根種類レジスタT
Pへ格納するとともに、コードパッドメモリCM(PT
N,CP+2)の内容をデュレーションDTへ代入す
る。そして、ステップSI2において、次に再生すべき
コードのアドレスを示すポインタCPを「3」だけイン
クリメントして更新する。次に、ステップSI3へ進
み、自動伴奏装置12に上記根音レジスタRTおよび根
音種類レジスタTPの内容を出力する。自動伴奏装置1
2は、根音レジスタRTおよび根音種類レジスタTPの
内容に基づいて伴奏データをミキシング回路13へ出力
する。ミキシング回路13は、演奏データとコードを含
む伴奏データとをミキシングしてサウンドシステム15
へ出力する。サウドシステム14からは自動伴奏の拍子
に同期したコードとともに、演奏された楽音が発音され
る。上記ステップSI3の処理が終了すると、当該処理
を終了し、コードパッドイベント処理へ戻る。コードパ
ッドイベント処理では、当該処理を終了し、メインルー
チンへ戻る。
【0043】一方、上述したコードパッドイベント処理
において、コードパッド5a〜5dのいずれかが叩かれ
たタイミングが小節の先頭拍でない場合には、ビートカ
ウンタBTが「0」以外であるため、ステップSD7に
おける判断結果が「NO」となり、ステップSD11へ
進む。ステップSD11では、待機フラグWAITを
「1」として待機状態とする。その後、当該処理を終了
してメインルーチンへ戻る。このように、コードパッド
5a〜5dのイベントが生じた時点で、ビートカウンタ
BTが「0」以外の場合には、当該コードパッドイベン
ト処理では、操作されたコードパッドに対応するコード
パッドメモリに記憶されたコードは再生されない。この
ような場合には、テンポクロック処理によって再生が開
始される。以下に、その処理を説明する。
【0044】上述したように、コードパッドイベント処
理において、コード再生が実行されなかった場合には、
自動伴奏が次の拍に進むと、図6に示すテンポクロック
処理が再び実行された際に、以下の処理が実行される。
この場合、既に、自動伴奏フラグACMPRUNは
「1」であり、記憶モードフラグRECは「0」である
ため、ステップSD3へ進む。前述したように、待機フ
ラグWAITは、コードパッドイベント処理のステップ
SD11において、「1」となっているため、上記ステ
ップSC3における判断結果は「YES」となり、ステ
ップSC4へ進む。ステップSC4では、上述したコー
ドパッドイベント処理と同様に、ビートカウンタBTが
「0」であるか否かを判断する。そして、ビートカウン
タBTが「0」でない場合、すなわち、現時点のタイミ
ングが小節の先頭拍でない場合には、ステップSC8お
よびSC9へと進むことにより、ビートカウンタBTを
インクリメントし、その後、メインルーチンへ戻る。こ
の場合には、さらに、自動伴奏が次の拍に進む度に該テ
ンポクロック処理が実行されて、ステップSC8におけ
る判断結果が「YES」になり、ビートカウンタBTが
「0」になるまで、待機状態を保持する。
【0045】そして、ステップSC10において、ビー
トカウンタBTが「0」になった後、自動伴奏が次の拍
に進んで、再び、テンポクロック処理が実行されると、
ステップSC4における判断結果は「YES」となり、
ステップSC5へ進む。言換えると、現時点のタイミン
グが小節の先頭拍になると、該ステップSC4における
判断結果は「YES」となり、ステップSG5へ進む。
すなわち、コード再生において、再生を開始させるため
にコードパッドを操作すると、その操作が自動伴奏にお
ける小節の先頭拍でない場合には、待機フラグWAIT
を「1」とし待機状態とする。そして、自動伴奏の進行
に合せて1拍毎に実行されるテンポクロック処理におい
て、ビートカウンタBTの内容に基づいて自動伴奏が小
節の先頭拍に到達したか否かを判定し、先頭拍に到達し
た場合にコード再生のための次のステップへ進む。上記
ステップSC5では、上述したコードパッドイベント処
理のステップSD8と同様に、待機フラグWAITを
「0」として待機状態を解除するとともに、コード演奏
フラグCHDRUNを「1」としてコード演奏状態とす
る。次に、ステップSC6において、コードパッドメモ
リ(PTN,CP)の先頭アドレスをポインタCPに代
入する。そして、ステップSC7へ進み、前述した図1
2に示すコード再生処理を実行する。
【0046】コード再生処理では、まず、ステップSI
1において、コードパッドメモリCM(PTN,CP)
の内容を根音レジスタRTへ格納し、コードパッドメモ
リCM(PTN,CP+1)の内容を根音種類レジスタ
TPへ格納するとともに、コードパッドメモリCM(P
TN,CP+2)の内容をデュレーションDTへ格納す
る。そして、ステップSI2において、次に再生すべき
コードのアドレスを示すCPを「3」だけインクリメン
トして更新した後、ステップSI3へ進み、自動伴奏装
置12に上記根音レジスタRTおよび根音種類レジスタ
TPの内容を出力する。自動伴奏装置12は、根音レジ
スタRTおよび根音種類レジスタTPの内容に基づいて
伴奏データをミキシング回路13へ出力する。ミキシン
グ回路13は、演奏データとコードを含む伴奏データと
をミキシングしてサウンドシステム15へ出力する。サ
ウドシステム14からは小節の先頭拍に同期してコード
が発音される。
【0047】上記ステップSI3の処理が終了すると、
当該処理を終了し、テンポクロック処理のステップSC
8へ戻る。この場合、ビートカウンタBTは「0」であ
るため、ステップSC8における判断結果は「NO」と
なり、ステップSC9へ進み、ビートカウンタBTをイ
ンクリメントした後、当該処理を終了してメインルーチ
ンへ戻る。
【0048】上述した再生モードにおいて、コード再生
を実行するためにコードパッドを操作した後は、自動伴
奏が順次進行するにつれて、1拍毎に、テンポクロック
処理が実行され、以下に述べる処理が行なわれる。この
場合、上述したように、自動伴奏フラグACMPRUN
は「1」であり、記憶モードフラグRECは「0」であ
るため、ステップSC1およびSC2の判断結果は「Y
ES」となり、ステップSC3へ進み、待機フラグWA
ITが「1」であるか否かを判断する。待機フラグWA
ITは、前述したように、操作されたコードパッド5
(5a〜5dのいずれか)に対して第1のコードが発音
された際に、同処理のステップSC5またはコードパッ
ドイベント処理のステップSD8において「0」とされ
ている。したがって、ステップSC3における判断結果
は「NO」となり、ステップSC12へ進む。ステップ
SC12では、コード演奏フラグCHDRUNが「1」
であるか否かを判断する。
【0049】このコード演奏フラグCHDRUNは、上
記ステップSC5またはステップSD8において「1」
とされているため、上記ステップSC12における判断
結果は「YES」となり、ステップSC13へ進む。ス
テップSC13では、デュレーションDTがコードデー
タの終了を示すエンドコードであるか否かを判断する。
デュレーションDTがコードデータの終了を示すエンド
コードでない場合には、ステップSC12における判断
結果は「NO」となり、ステップSC13へ進む。ステ
ップSC13では、デュレーションDTが「0」である
かを判断する。このステップSC13におけるデュレー
ションDTの値は、前に発音されたコードデータに対す
るコード再生処理において、ステップSH1で該コード
データに対するデュレーション値が代入されている。す
なわち、上記ステップSG13では、前に発音されたコ
ードデータのデュレーションDTに相当する持続時間
(拍)が経過したか否かを判断している。
【0050】デュレーションDTが「0」でない場合、
言換えると、まだ、デュレーションDTに相当する持続
時間(拍)が経過しておらず、先のコードが発音されて
いる場合には、ステップSC13における判断結果は
「NO」となり、ステップSC14に進む。ステップS
C14では、デュレーションDTを「1」デクリメント
する。そして、新たにコード再生を行なうことなく、ス
テップSC8、および、ステップSC9またはSC10
へ進み、ビートカウンタBTを更新した後、当該テンポ
クロック処理を終了し、これまで実行していたメインル
ーチンへ戻る。上述した処理は、自動伴奏が順次進行す
る各拍毎に実行され、その都度、コード再生処理を実行
することなく、デュレーションDTをデクリメントする
とともに、ビットカウンタBTを更新する。
【0051】そして、ステップSC15において、デュ
レーションDTが「0」になると、次のテンポクロック
処理の実行の際に、ステップSC14における判断結果
が「YES」となり、ステップSC7に進み、前述した
図12に示すコード再生処理においてステップSI1〜
SI3の処理を行なう。この際、ステップSI1におい
て、所定のコードパッドメモリCM(PTN,CP),
CM(PTN,CP+1)およびCM(PTN,CP+
2)から、次のコードデータが、各々、根音レジスタR
T、根音種類レジスタTP、デュレーションDTへ格納
され、ステップSI2において、ポインタCPが次のコ
ードデータのアドレスを示す値に更新された後、ステッ
プSI3において、自動伴奏装置12に出力される。自
動伴奏装置12では、根音レジスタRTおよび根音種類
レジスタTPの内容に基づいて伴奏データをミキシング
回路13へ出力する。楽音データと伴奏データは、ミキ
シング回路13によってミキシングされ、サウンドシス
テム15により所定のタイミングで発音される。そし
て、上記ステップSI3の終了すると、テンポクロック
処理へ戻り、ステップSC8、および、ステップSC9
またはSC10へ進み、ビートカウンタBTを更新した
後、当該テンポクロック処理を終了し、これまで実行し
ていたメインルーチンへ戻る。以下、上述した処理が繰
り返し実行されることにより、コードパッドメモリに記
憶されたコードが、順次、所定のタイミングで、かつ、
そのコードのデュレーションDTの値に応じて発音され
る。
【0052】そして、コードデータの最後には、デュレ
ーションDTとしてエンドコードが格納されているた
め、テンポクロック処理のステップSC13における判
断結果が「YES」なり、コード再生を行なうことな
く、ステップSC8、および、ステップSC9またはS
C10へ進み、ビートカウンタBTを更新した後、当該
テンポクロック処理を終了し、これまで実行していたル
ーチンへ戻る。以下、常に、ステップSC13における
判断結果は「YES」となり、自動伴奏が進行しても、
コード再生は行なわれない。
【0053】また、上述した再生モードにおいて、コー
ド進行を変えるために、異なるコード進行に対応したコ
ードパッド5a〜5dのいずれかを叩くと、メインルー
チンのステップSA4における判断結果が「YES」と
なり、ステップSA5のコードパッドイベント処理へ進
む。この場合、録音スイッチ6cは押下されていないた
め、ステップSD1における判断結果は「NO」とな
り、ステップSD3へ進む。ステップSD3では、PT
Nへコードパッドナンバを格納し、ステップSD4へ進
み、自動伴奏フラグACMPRUNが「0」であるか否
かを判断する。以下、新たに設定されたパターンナンバ
変数PTNを符号PTN’で示す。この場合、自動伴奏
が行なわれているので、ステップSD4の判断結果は
「NO」となり、ステップSD5へ進み、コード演奏フ
ラグCHDRUNが「0」であるか否かを判断する。コ
ード演奏フラグCHDRUNは「1」であるため、ステ
ップSD5における判断結果は「NO」となり、ステッ
プSD11へ進み、待機フラグWAITを「1」として
待機状態とした後、当該処理を終了してメインルーチン
へ戻る。
【0054】さらに、自動演奏が進行して次の拍でテン
ポクロック処理が実行されると、この場合には、ステッ
プSC1、SC2およびSC3における判断結果は「Y
ES」となり、ステップSC4へ進み、ビートカウンタ
BTが「0」であるか否かを判断する。そして、ビート
カウンタBTが「0」でない場合、すなわち、自動伴奏
が小節の先頭拍に到達していない場合には、ステップS
C4における判断結果は「NO」となり、ステップSC
8、SC9、またはSC10と進み、ビートカウンタB
Tを更新し、メインルーチンへ戻る。これは、ビートカ
ウンタBTが「0」になるまで行なわれる。
【0055】そして、自動伴奏が小節の先頭拍に到達す
ると、ステップSC4における判断結果は「YES」と
なり、ステップSC5へ進み、待機フラグWAITを
「0」として待機状態を解除するとともに、コード演奏
フラグCHDRUNを「1」とする。次に、ステップS
C6において、新たに操作されたコードパッドに対応す
るコードパッドメモリCM(PTN’,CP)の先頭デ
ータのアドレスをポインタCPに格納する。これによっ
て、コードパッドメモリCM(PTN’,CP)が切り
換えられる。次に、ステップSC7へ進み、図12に示
すコード再生処理が実行される。コード再生処理におい
ては、パターンナンバ変数PTN’によって示される新
たなコードパッドメモリCM(PTN’,CP)のコー
ドデータが根音レジスタRTへ、コードパッドメモリC
M(PTN’,CP+1)の根音種類が根音種類レジス
タTPへ、コードパッドメモリCM(PTN’,CP+
2)のデュレーションがデュレーションDTへ、各々、
格納された後、根音レジスタRT、根音種類レジスタT
Pの内容が自動伴奏装置12へ出力される。
【0056】自動伴奏装置12では、根音レジスタRT
および根音種類レジスタTPの内容に基づいて伴奏デー
タをミキシング回路13へ出力する。楽音データと伴奏
データは、ミキシング回路13によってミキシングさ
れ、サウンドシステム15により所定のタイミングで発
音される。そして、上記コード再生処理が終了すると、
テンポクロック処理へ戻り、ステップSC8、および、
ステップSC9またはSC10へ進み、ビートカウンタ
BTを更新した後、当該テンポクロック処理を終了し、
これまで実行していたメインルーチンへ戻る。以下、前
述したコード再生と同様に、パターンナンバ変数PT
N’によって示される新たなコードパッドメモリに記憶
されたコードデータが自動伴奏とともに順次再生され
る。
【0057】なお、再生モードにおいて、自動伴奏がま
だ開始されていない状態でコードパッド5a〜5dのい
ずれかを叩いた場合には、自動伴奏フラグACMPRU
Nは「0」であるため、上述したコードパッドイベント
処理のステップSD4における判断結果が「YES」と
なり、ステップSD12へ進む。そして、ステップSD
12において、表示部7にエラーメッセージとして、例
えば、「StartAcmp.1」と表示して操作ミス
が生じたことを知らせる。この表示は数秒後に消灯す
る。すなわち、自動伴奏(リズム音による自動演奏)が
開始されていない状態で、コードパッドを叩いても、コ
ードパッドメモリのコードデータを再生することはでき
ないため、エラーとして処理される。
【0058】次に、再生モードの終了について説明す
る。上述した自動伴奏とコード再生とが行なわれている
状態において、ストップキー6bを押下すると、メイン
ルーチンのステップSA10における判断結果が「YE
S」となり、ステップSA11へ進む。ステップSA1
1では、前述した図11に示すストップ処理が実行され
る。ストップ処理では、まず、ステップSH1におい
て、自動伴奏ACMPRUNが「0」であるか否かを判
断する。この場合、自動伴奏が行なわれているので、自
動伴奏フラグACMPRUNは「1」であるため、ステ
ップSH2へ進み、自動伴奏ACMPRUNを「0」と
する。次に、ステップSH3へ進み、自動伴奏装置12
にストップ信号を出力して自動伴奏を停止させる。次
に、ステップSH4において、記憶モードフラグREC
が「2」であるか否かを判断する。現時点では再生モー
ド、すなわち、記憶モードフラグRECが「0」である
ため、ステップSH4における判断結果は「NO」とな
り、当該ストップ処理を終了し、メインルーチンへ戻
る。上記ステップSH3において、自動伴奏装置12へ
ストップ信号を出力したことにより、自動伴奏が終了す
る。
【0059】また、上記ステップSH2において、自動
伴奏フラグACMPRUNを「0」としたことで、図6
に示すテンポクロック処理のステップSC1における判
断結果は「NO」となり、そのまま当該処理を終了して
メインルーチンへ戻る。以下、何らかのイベントが生じ
るまでメインルーチンが繰り返し実行され、イベントが
生じると、該イベントに応じて、これまで述べてきた処
理が実行される。
【0060】このように、コード再生時においては、再
生開始を指示する操作は容易なので、タイミングを1拍
目の後(2つ目の先頭)で分け、また、コード記憶時に
は、コード記憶の操作は複雑であり、コード入力に時間
がかかるため、コード入力のタイミング2拍目の後(3
拍目の先頭)で分けることにより、遅めのタイミングに
するようにしている。
【0061】(本発明の楽器としての動作)次に本発明
の楽器としての動作の主なところを説明しておく。 (コードシーケンサの再生演奏動作)電源投入後、所望
のスタイル選択スイッチ6dをオンする事で、所望の演
奏スタイルを選ぶことができる。次にスタートスイッチ
をオンすると、選ばれたスタイルのリズム演奏(打楽器
音による演奏)が始まる。これは、図5のスタートスイ
ッチイベントでルートとタイプにそれぞれデフォルト値
としてノンコードを表すFFHが設定され、自動伴奏装
置に出力されるためである。この時点で鍵盤を操作し、
コードを指定すれば、そのコードのルートとタイプが自
動伴奏装置に送られるので、そのコードに応じて音程の
ある楽器音(ベースやピアノ等の各演奏パート)の自動
伴奏が行われる。
【0062】上記の状態、すなわちリズム演奏が行われ
ている状態でコードパッドがオンされると、オンされた
コードパッドに対応して記憶されている曲のコードがシ
ーケンシャルに読み出され、そのコード進行に対応した
自動伴奏が自動伴奏装置12によって行われる。このと
き、パッドをオンした時点がリズム演奏の小節の先頭に
十分近ければすぐにコードの読み出しが始まり、自動伴
奏が始まる。また、パッドをオンした時点がリズム演奏
の先頭からやや遅れると、次の小節の先頭の時点でコー
ドの読み出しが始まり、自動伴奏が始まる。これは、図
7のSD7もおいてBTが0、すなわち小節の先頭から
次のテンポクロックまでの間にパッドイベントが有るか
無いかを調べるようにして実現している。その後はコー
ド進行のデータとしてエンドコードが出てくるまで自動
伴奏が続き、該エンドコードの指示にしたがって終了す
る。このようにして自動伴奏が記憶されたコードに進行
にしたがって行われ、すなわちコードシーケンサの再生
が行われる。コードシーケンサの再生が行われている最
中に鍵盤4を操作すると、そのマニュアル演奏のデータ
もトーンジェネレータ14に送られるので、コードシー
ケンサの再生とともにマニュアル演奏も同時に発音させ
ることができる。
【0063】(コードシーケンサのコード進行記録動
作)まず、上記再生動作などをストップスイッチ6bを
押すなどして止めておき、録音したい曲のスタイルをス
タイル選択スイッチ6dで選んでおく。そして、録音ス
イッチ6cをオンしながらコード進行を記録しておくメ
モリエリアに対応したコードパッドをオンする。する
と、記録の待機状態となり、スタートスイッチ6aがオ
ンされるのを待つ。この状態で鍵盤4を操作するとその
操作通りに発音され、その時コードの検出がされるよう
な操作の仕方であると、図9のSF8に入り、一応記憶
処理ルーチンを通る。しかし、スタートスイッチ6aを
オンしたときに図5のSB3で結局デフォルト値にリセ
ットされてしまうので、コード進行のデータとしては記
録されず、結局、この時点の鍵盤操作はコード進行の記
録に影響がない。
【0064】上記の状態の次にスタートスイッチ6aを
オンすると、前記したようにデフォルト値によってノン
コードが自動伴奏装置12に送られるので、リズム演奏
が始まる。この状態でリズムに合わせて鍵盤4を使って
コードを入力して行けば、指定されたコードによる自動
伴奏が行われるとともに、その順序で1拍を最小分解能
として記録していく。1拍の間に複数回のコード入力が
有れば図10のSG12を繰り返し行うので、上書きさ
れ、後の入力が優先となる。1拍以上経過してコードが
入力されれば、図6のテンポクロックルーチンが1拍毎
に実行される中でSC17でDTがインクリメントされ
ているので、図10のSG8の処理でYESの方へ行
き、別のタイミングのコード入力としてSG9で処理さ
れる。
【0065】ここで、一番最初のコードの入力時におい
ては、その入力時点がいかなる場合でも曲の先頭小節の
先頭として記録される。コードの指定はかなり複雑なコ
ードの場合遅れがちであることを考慮して、2拍まで待
って行うようにしている。すなわち、先頭のコードの指
定がリズム演奏のある小節の前半であれば、図10のS
G4でYESとなり、SG5でその小節の最初に指定さ
れた場合に既にDTがカウントされているはずの値をD
Tにセットする。また、先頭のコードの指定がリズム演
奏のある小節の後半であれば、SG6で次に小節の先頭
の場合につじつまがあうDT値をセットするようにして
いる。
【0066】上記では、録音スイッチ6cをオンしなが
らコードパッドをオンした後、スタートスイッチ6aを
オンする状況で説明したが、先にスタートスイッチ6a
をオンしてリズム演奏を走らせておき、その後、録音ス
イッチ6cをオンしながらコードパッドをオンするよう
にしても、後の機能は同じである。
【0067】
【発明の効果】以上、説明したように、請求項1記載の
発明によれば、判定手段が、コード情報発生手段によっ
てコード情報が発生されたときに、該コード情報が発生
された拍が、直前に書き込まれたコード情報が発生され
た拍と一致するか否かを拍計測手段の計測結果に基づい
て判定し、第2の書込手段が、この判定手段が一致する
と判定したときには直前に書き込まれたコード情報に代
えてあらたに発生されたコード情報をコード進行メモリ
に書き込み、一致しないと判定したときには直前に書き
込まれたコード情報に続けて書き込むので、一旦コード
を書き込んだ後でも、次の拍位置に達する前であれば、
新たに指定したコードを以前に書き込んだコード情報に
代えて書き込むことができるので、1度書き込んだコー
ドの修正が容易にできる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の構成を示すブロック図
である。
【図2】 同実施形態の電子楽器の操作パネル部3の詳
細な構成を示す正面図である。
【図3】 同実施形態のコードパッドメモリの構成を示
す概念図である。
【図4】 同実施形態の動作を説明するためのメインル
ーチンのフローチャートである。
【図5】 同実施形態の動作を説明するためのスタート
処理を示すフローチャートである。
【図6】 同実施形態の動作を説明するためのテンポク
ロック処理を示すフローチャートである。
【図7】 同実施形態の動作を説明するためのコードパ
ッドイベント処理を示すフローチャートである。
【図8】 同実施形態の動作を説明するための記憶モー
ド処理を示すフローチャートである。
【図9】 同実施形態の動作を説明するためのキーイベ
ント処理を示すフローチャートである。
【図10】 同実施形態の動作を説明するための記憶処
理を示すフローチャートである。
【図11】 同実施形態の動作を説明するためのストッ
プ処理を示すフローチャートである。
【図12】 同実施形態の動作を説明するためのコード
再生処理を示すフローチャートである。
【符号の説明】
1……コードパッドメモリ、2……拍子メモリ、4……
鍵盤、5……コードパッド、8……CPU、11……テ
ンポクロック、12……自動伴奏装置。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 操作者の操作に応じてコードを示すコー
    ド情報を発生するコード情報発生手段と、 前記コード情報発生手段によって順次発生されるコード
    情報を記憶するコード進行メモリと、 前記コード情報発生手段によって発生されたコード情報
    を前記コード進行メモリに書き込む第1の書込手段と、 自動伴奏を行う自動伴奏手段と、 自動伴奏にかかる拍の経過を計測する拍計測手段と、 前記コード情報発生手段によってコード情報が発生され
    たときに、該コード情報が発生された拍が、直前に書き
    込まれたコード情報が発生された拍と一致するか否かを
    拍計測手段の計測結果に基づいて判定する判定手段と、 この判定手段によって、一致すると判定されたときには
    直前に書き込まれたコード情報に代えてあらたに発生さ
    れたコード情報を前記コード進行メモリに書き込み、一
    致しないと判定されたときには直前に書き込まれたコー
    ド情報に続けて書き込む第2の書込手段と備えることを
    特徴とする自動伴奏装置。
JP9337526A 1997-12-08 1997-12-08 自動伴奏装置 Expired - Fee Related JP2842440B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9337526A JP2842440B2 (ja) 1997-12-08 1997-12-08 自動伴奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9337526A JP2842440B2 (ja) 1997-12-08 1997-12-08 自動伴奏装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP4077870A Division JP2848092B2 (ja) 1992-03-31 1992-03-31 自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH10143149A true JPH10143149A (ja) 1998-05-29
JP2842440B2 JP2842440B2 (ja) 1999-01-06

Family

ID=18309487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9337526A Expired - Fee Related JP2842440B2 (ja) 1997-12-08 1997-12-08 自動伴奏装置

Country Status (1)

Country Link
JP (1) JP2842440B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022095A (ja) * 2010-07-13 2012-02-02 Yamaha Corp 電子楽器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022095A (ja) * 2010-07-13 2012-02-02 Yamaha Corp 電子楽器

Also Published As

Publication number Publication date
JP2842440B2 (ja) 1999-01-06

Similar Documents

Publication Publication Date Title
JP2991044B2 (ja) 自動演奏機能を有した電子楽器
JP2842440B2 (ja) 自動伴奏装置
JP2848092B2 (ja) 自動伴奏装置
JP3192579B2 (ja) 自動演奏装置及び自動演奏方法
JP2643277B2 (ja) 自動演奏装置
JPH05143076A (ja) 電子楽器
JP2531424B2 (ja) 自動伴奏装置
JPH1185153A (ja) 演奏装置
JP2694788B2 (ja) 電子楽器
JP2596303B2 (ja) 電子楽器
JP4449370B2 (ja) 自動伴奏生成装置及びプログラム
JP2879742B2 (ja) 自動伴奏装置
JP3620321B2 (ja) 自動伴奏装置
JP2518341B2 (ja) 自動演奏装置
JP2760398B2 (ja) 自動演奏装置
JP2518340B2 (ja) 自動演奏装置
JP2722880B2 (ja) 電子楽器
JP2621276B2 (ja) 自動演奏装置
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JP2002221964A (ja) 自動演奏装置および自動演奏方法
JP3075750B2 (ja) 自動演奏装置
JP2665854B2 (ja) 自動演奏装置
JP2621371B2 (ja) 自動演奏装置
JP3208799B2 (ja) 自動伴奏装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071023

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081023

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091023

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees