(57)【特許請求の範囲】
【請求項１】
演奏情報を取得できる演奏情報取得手段を備え、該演奏情報取得手段が取得した演奏情報に応じて自動伴奏を行う自動伴奏装置において、
前記演奏情報取得手段が取得した演奏情報からコードを判定するコード判定手段と、
調データを取得する調データ取得手段と、
前記コード判定手段が判定したコードの機能を、前記調データ取得手段が取得した調データに基づいて、トニック、サブドミナント及びドミナントのいずれかに分類して判定するコード機能判定手段と、
前記コード機能判定手段が判定したコードの機能に基づいて、前記自動伴奏の内容を変更させる自動伴奏制御手段と、
を具備したことを特徴とする自動伴奏装置。
【請求項２】
演奏情報を取得できる演奏情報取得手段を備え、該取得手段が取得した演奏情報に応じて自動伴奏を行う自動伴奏装置において、
前記演奏情報取得手段が取得した演奏情報からコードを判定するコード判定手段と、
調データを取得する調データ取得手段と、
前記コード判定手段が判定したコードの機能を、前記調データ取得手段が取得した調データに基づいて判定するコード機能判定手段と、
前記コード機能判定手段が判定したコードの機能の進行状態に基づいて、前記自動伴奏の内容を変更させる自動伴奏制御手段と、
を具備したことを特徴とする自動伴奏装置。
【請求項３】
前記自動伴奏制御手段は、前記コード機能判定手段が判定したコードの機能に基づいて、前記自動伴奏用のパターンデータの内容を変更する規則の切り換え、または該自動伴奏へ付加する音の切り換えを行うことにより、該自動伴奏の内容を変更させる、
ことを特徴とする請求項１または請求項２のいずれかに記載の自動伴奏装置。
【請求項４】
コンピュータに、
演奏上の内容を示す演奏情報を取得する演奏情報取得処理と、
前記演奏情報取得処理により取得された演奏情報からコードを判定するコード判定処理と、
調データを取得する調データ取得処理と、
前記コード判定処理により判定されたコードの機能を、前記調データ取得処理により取得された調データに基づいて、トニック、サブドミナント及びドミナントのいずれかに分類して判定するコード機能判定処理と、
前記コード機能判定処理により判定されたコードの機能の進行状態に基づいて、自動伴奏の内容を変更する自動伴奏制御処理と、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザの鍵盤への操作や自動演奏（自動伴奏を含む）用の演奏データなどから得られる演奏上の内容を示す演奏情報（イベントデータ）に応じて自動伴奏の内容を変更する技術に関する。
【０００２】
【従来の技術】
現在、自動伴奏機能（自動伴奏装置）は電子楽器等の楽音生成装置に広く搭載されている。その自動伴奏機能は、自動伴奏用のパターンデータをユーザが鍵盤等で指定したコードに応じた音高で再生することで自動伴奏を行う機能である。なお、そのパターンデータは、演奏上のイベントの内容を示すイベントデータ（例えば基準となるＣコードに対応させてある音高情報）、及びそのイベントデータの処理タイミングを示す時間データからなるデータ対を処理順序に従って並べた形で構成されたシーケンスデータである。
【０００３】
より具体的に説明すると、まず初期状態（自動伴奏開始前）において指定コードはＣ（メジャー）に設定されており、このコード指定状態で自動伴奏（パターンデータの再生）を開始させると、パターンデータの進行に従い、イベントデータの音高そのままの楽音を時間データに応じて順次発音していく。このとき、時間データの値によっては、複数音を同時に発音させるコード伴奏や複数音を所定の時間差をもって発音させるアルペジオ伴奏とすることが可能であり、また、イベントデータが低オクターブの音高情報であればベース伴奏とすることができる。そして、自動伴奏中にユーザが鍵盤等で新たなコードを指定すると、その指定コードのルートと上記基準のコードのルートとの音程に応じて、発音される自動伴奏の音高が変更（シフト）される。例えば、ユーザがＦ（メジャー）を指定すると、パターンデータ内のイベントデータの音高を５半音高くして発音させるようにする。
【０００４】
また、上記パターンデータの演奏期間は、比較的短い複数小節（例えば４小節）である。このため、自動伴奏装置は、パターンデータを繰り返し再生するようになっている。パターンデータを繰り返し再生すると、それによる演奏は音楽的（特にリズム的）に単調となりやすい。その単調さを避けられるように、従来の自動伴奏装置のなかには、ユーザが指定したコードのルート、或いはそのコードの種類（メジャーやマイナー等）に応じて再生の対象とするパターンデータを切り換えることにより、自動伴奏の内容を変更するものがある。なお、参考技術文献としては、特開昭５９−１３１９９１号公報、特開昭６０−２４７６９６号公報、特開昭５９−１８９３９５号公報及び特開昭５４−４８５１６号公報等が挙げられる。
【０００５】
【発明が解決しようとする課題】
まず、ルートに着目してパターンデータを切り換える場合、ユーザが曲を移調して演奏を行うと、移調前と移調後とでパターンデータの切り換わり方が異なってしまい、移調後の演奏時において曲に適したパターンデータを必ずしも選択できなかった。このようなことから、演奏（曲）に合った形で自動伴奏の内容を変更させることが必ずしもできないという問題点があった。
【０００６】
その問題点について具体的に説明する。ここでは、指定されたコードのルートが鍵盤の白鍵か否かで区別し、ルートが白鍵であればパターンデータＡ、黒鍵であればパターンデータＢに切り換えるように設定してある場合を例にとって説明する。演奏する曲の原コード進行は…→Ｃ→Ｆ→Ｃ→…（それぞれコード種はメジャーである）とする。
【０００７】
移調せずに、このＣ→Ｆ→Ｃというコード進行をユーザが順次指定していった場合、ルートは全て白鍵であるため、パターンデータはＡのままで切り換えは起こらない。しかし、上記曲を半音高く移調して演奏しようとすると、コード進行はＣ♯→Ｆ♯→Ｃ♯となり、このコード進行をユーザが順次指定していった場合、パターンデータはＢのままとなる。また、上記曲を６半音高く移調して演奏しようとすると、コード進行はＦ♯→Ｂ→Ｆ♯となり、このコード進行をユーザが順次指定していった場合、パターンデータはＢ→Ａ→Ｂと切り換わることになる。
【０００８】
周知のように、移調程度であればパターンデータやその切り換わり方が変化しないことが望ましい。このため、上記のように移調のさせ方によって再生するパターンデータやその切り換わり方が様々に変化するのでは、演奏（曲）に合った形で自動伴奏の内容を変更させることが必ずしもできない。
【０００９】
一方、コードの種類に着目してパターンデータを切り換える場合には、コードの進行状態に関係なくパターンデータが切り換わることになって、演奏（曲）の流れに適したパターンデータを必ずしも選択できなかった。このことから、上記と同様の問題点が存在していた。
【００１０】
このことについても具体的に説明する。ここでは、Ｃ調（ハ長調）でコード進行が…→Ｃ（メジャー）→Ａｍ（マイナー）→Ｃ（メジャー）→…の曲を演奏する場合を例にとって説明する。
【００１１】
Ｃ調においては、Ａｍ（Ａ−Ｃ−Ｅ）コードはＣ（Ｃ−Ｅ−Ｇ）コードの代理コード（ほぼ構成音が似通っている）である。機能理論によりコード機能をトニック（Ｔ）、サブドミナント（Ｓ）及びドミナント（Ｄ）のいずれかに分類すれば、それらはいずれもトニックであり、Ｃ→Ａｍというコード進行では音楽的な起伏は小さい筈ということになる。パターンデータを切り換えると普通は大きな音楽的な変化が生じる。このことから、Ｃ→Ａｍの節目ではパターンデータの切り換えは行わないほうが望ましいということになる。しかし、コードの種類に着目すると、その節目でのパターンデータの切り換えを必ずしも回避することはできない。このため、演奏（曲）に合わせた形で自動伴奏の内容を変更させることが必ずしもできなかった。
【００１２】
また、パターンデータ内に上記基準のコードのルート（Ｃ：ド）から６度（９半音）の音程を有する音高（Ａ：ラ）のイベントデータが含まれていたとする。そして、Ｃ調でコード進行が…→Ｃ（メジャー）→Ｄｍ（マイナー）→Ｅｍ（マイナー）→…の曲を演奏した場合、ユーザがＤｍコードを指定すると上記パターンデータ内の音高Ａ（ラ）は２半音高くなってＢ（シ）として発音され、Ｅｍコードを指定すると上記パターンデータ内の音高Ａ（ラ）は４半音高くなってＣ♯（ド♯）として発音される。Ｃ調の白鍵音高を基調とする曲を演奏するときに、パターンデータ内に音高Ａ（ラ）のイベントデータがある場合、Ｅｍコードを指定した時点で黒鍵音高Ｃ♯（ド♯）が混じることになって演奏曲の印象を変化させてしまうことになる。上述したように、コード種に着目したのでは、コード種自体が変化しないとパターンデータは切り換わらないため、Ｄｍ→Ｅｍというコード進行ではパターンデータは維持されたままとなり、このようなことを回避させた形でパターンデータの切り換えを行うことができない。
【００１３】
このように、従来の自動伴奏装置では、自動伴奏の内容を様々に変化させることはできても演奏（曲）に合った自動伴奏を必ずしも行うことができなかった。このため、自動伴奏の内容の変更を適切に行えるようにすることが強く望まれるようになっていた。
【００１４】
本発明の課題は、演奏（曲）の内容に合わせつつ、自動伴奏の内容を自動的に変更させることができる自動伴奏装置を提供することにある。
【００１５】
【課題を解決するための手段】
本発明の自動伴奏装置は、演奏情報を取得できる演奏情報取得手段を備え、該演奏情報取得手段が取得した演奏情報に応じて自動伴奏を行うことを前提とし、演奏情報取得手段が取得した演奏情報からコードを判定するコード判定手段と、調データを取得する調データ取得手段と、コード判定手段が判定したコードの機能を、調データ取得手段が取得した調データに基づいて、トニック、サブドミナント及びドミナントのいずれかに分類して判定するコード機能判定手段と、コード機能判定手段が判定したコードの機能に基づいて、自動伴奏の内容を変更させる自動伴奏制御手段と、を具備する。
【００１６】
また、本発明における他の態様の自動伴奏装置は、演奏情報を取得できる演奏情報取得手段を備え、該取得手段が取得した演奏情報に応じて自動伴奏を行うことを前提とし、演奏情報取得手段が取得した演奏情報からコードを判定するコード判定手段と、調データを取得する調データ取得手段と、コード判定手段が判定したコードの機能を、調データ取得手段が取得した調データに基づいて判定するコード機能判定手段と、コード機能判定手段が判定したコードの機能の進行状態に基づいて、自動伴奏の内容を変更させる自動伴奏制御手段と、を具備する。
【００１７】
なお、上記の構成において、自動伴奏制御手段は、コード機能判定手段が判定したコードの機能に基づいて、自動伴奏用のパターンデータの内容を変更する規則を切り換えるか、または該自動伴奏へ付加する音を切り換えることにより、該自動伴奏の内容を変更させる、ことが望ましい。
【００１８】
本発明の記録媒体は、演奏上の内容を示す演奏情報を取得する演奏情報取得処理と、演奏情報取得処理により取得された演奏情報からコードを判定するコード判定処理と、調データを取得する調データ取得処理と、コード判定処理により判定されたコードの機能を、調データ取得処理により取得された調データに基づいて、トニック、サブドミナント及びドミナントのいずれかに分類して判定するコード機能判定処理と、コード機能判定処理により判定されたコードの機能の進行状態に基づいて、自動伴奏の内容を変更する自動伴奏制御処理と、をコンピュータが読み取り実行可能なプログラムを記録している。
【００１９】
本発明では、ユーザが演奏操作子群を操作、或いは演奏データ（パターンデータを含む）から読み出すことで得た演奏情報から判定したコードの機能を判定し、その判定結果を基に自動伴奏の内容を変更する。調性をもつ曲では、コードが調的機能を有している。調の内部で割り当てられた固有の働き、或いは役割を果たしつつ、相互に関連し合い結びついている。このようなことから、コードの機能に着目することにより、演奏（曲）の内容に合わせた形で自動伴奏の内容を変更させることが可能となる。ユーザにとっては、移調や転調といった調の変更を伴う演奏（操作）を行っても、コード機能に則した音楽的に自然で非常に望ましい伴奏との合奏が常に行えることになる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
＜第１の実施の形態＞
図１は第１の実施の形態における自動伴奏の内容の変更方法を説明する図、図２は第１の実施の形態による自動伴奏装置を搭載した電子楽器（楽音生成装置）の構成図である。
【００２１】
その電子楽器は、図２に示すように、楽器全体の制御を行うＣＰＵ２０１と、そのＣＰＵ２０１にアクセスされるＲＯＭ２０２、及びＲＡＭ２０３と、ユーザによって操作される鍵盤（演奏操作子群）２０４と、ＣＰＵ２０１から送られた画像データを表示する表示装置２０５と、自動伴奏用のパターンデータを格納した自動伴奏データメモリ（以降、データメモリと略す）２０６と、ＣＰＵ２０１の指示に従って楽音を発音する音源システム２０７と、特には図示しない各種スイッチ、及びそれらの操作状態を検出する回路からなるスイッチ群２０８と、を備えて構成されている。
【００２２】
以上の構成において、その動作を説明する。
不図示の電源がオンされると、ＣＰＵ２０１はＲＯＭ２０２に格納されたプログラムを読み出して実行することにより、楽器全体の制御を開始する。その後は、ＲＡＭ２０３を作業用に使用しながら、鍵盤２０４やスイッチ群２０８から受け取った操作情報に応じて各部の制御を行う。
【００２３】
スイッチ群２０８を構成する各種スイッチとしては、図示していないが、楽音の音色や自動伴奏のジャンル（リズム）等を選択するための複数のスイッチ、各種のモードを選択するためのモードスイッチ、及び自動伴奏のスタート或いはストップを指示するためのスタート／ストップスイッチ等がある。それらのスイッチの操作状態、或いは操作の有無は、それの検出用回路によって検出され、その検出結果が操作情報としてＣＰＵ２０１に送られる。
【００２４】
ＣＰＵ２０１は、その操作情報をスイッチ群２０８から受け取ると、その内容に応じて各部の設定を変更する。その設定の変更は、例えばＲＡＭ２０３に保持させた変数の値の書き換えを行うとともに、必要に応じて、その書き換えに合わせて生成したコマンドを、設定変更の対象（例えば音源システム２０７）に送出することで行う。それにより、ユーザがスイッチ群２０８を介して、楽音の音色やモード、自動伴奏させるリズムの指定（選択）等を行えるようにしている。
【００２５】
上記鍵盤２０４は、例えば各鍵を走査して操作状態が変化した鍵を検出し、操作状態が変化した鍵を表す情報（鍵番号）、及びその操作状態の変化内容を表す情報などを操作情報としてＣＰＵ２０１に送る。それらの操作情報は、例えばＭＩＤＩデータの形でＣＰＵ２０１に送る。そのＭＩＤＩデータを操作情報として受け取ったＣＰＵ２０１は、それを直ちに音源システム２０７に送る。それにより、ユーザの鍵盤２０４への操作に応じて楽音の発音や消音等の指示をリアルタイムに音源システム２０７に対して行う。
【００２６】
その音源システム２０７は、例えば音源ＬＳＩ、Ａ／Ｄコンバータ、アンプ、及びスピーカから構成されたものである。
音源ＬＳＩは、ＣＰＵ２０１から送られたＭＩＤＩデータに従ってデジタルの波形データを生成・出力し、Ａ／Ｄコンバータがそれをアナログのオーディオ信号に変換する。そのオーディオ信号がアンプで増幅された後、スピーカに入力されることで、音源システム２０７は楽音を放音させる。
【００２７】
ユーザがスタート／ストップスイッチを操作して自動伴奏のスタートを指示すると、ＣＰＵ２０１は、データメモリ２０６に格納されたパターンデータのなかで再生すべきものを読み出して再生する。そのパターンデータ（シーケンスデータ）は、例えば演奏上のイベントの内容を表すイベントデータ（例えばＭＩＤＩデータ）、及び、そのイベントデータを処理すべきタイミングを指定する時間データ（例えばイベント間の時間間隔（デルタタイム）を表すデータ）からなるデータ対を処理順序に従って並べた形で編成されている。このため、その再生は、特に詳細な説明は省略するが、ＣＰＵ２０１が再生すべきパターンデータ（パート）毎に、データを読み出すアドレスを順次、変更しながら、時間データに従ってイベントデータを処理、例えば音源システム２０７に送出していくことで行われる。
【００２８】
パターンデータの最後には、その終わりを示すユニークなデータ（以降、便宜的にエンドデータと呼ぶ）を付加している。ＣＰＵ２０１は、そのエンドデータまで処理を進めると、再び先頭のイベントデータに戻って処理を行う。それにより、ユーザがスタート／ストップスイッチを操作して自動伴奏の終了を指示するまでの間、パターンデータの再生を繰り返し行う。
【００２９】
自動伴奏をスタートさせると、ＣＰＵ２０１は、鍵盤２０４を２つの鍵域に分け、鍵域別に異なる機能を割り当てる。以降、低音側の鍵域は伴奏鍵域、他方の高音側の鍵域はメロディ鍵域と呼ぶことにする。
【００３０】
メロディ鍵域の鍵が操作されると、ＣＰＵ２０１は、上述したようにして、操作（押鍵）された鍵に割り当てた音高の楽音をリアルタイムで発音させる。他方の伴奏鍵域の鍵が操作されると、その鍵域で押鍵されている鍵、及びその組合せからユーザが指定したコードの判定を行う。その判定は、例えば図３に示すコード判定テーブルを参照して行う。伴奏鍵域で押鍵されているいずれか（例えば最も低音の鍵）の音高をルートとして、そのルートとする鍵と他に押鍵されている鍵との音程（半音単位での音高差）の組合せが一致するレコードをテーブル中から探しだすことで行う。それにより、例えばルートとする鍵に割り当てられた音名がＣでその鍵との音程がそれぞれ４、７である３つの鍵が伴奏鍵域で押鍵されている場合、Ｃメジャーがコードとして判定される。ルートとする鍵に割り当てられた音名がＣでその鍵との音程がそれぞれ３、７である３つの鍵が伴奏鍵域で押鍵されている場合には、Ｃマイナーがコードとして判定される。伴奏鍵域で押鍵されている鍵の組合せに該当するレコードがテーブル中に存在していない場合には、コードは指定されていないと判定される。
【００３１】
なお、コードの情報は、ユーザの押鍵から得る代わりに、予め記憶されているコード進行データをパターンデータと並行して順次読み出してくるものであっても良い。
【００３２】
先ず、ＣＰＵ２０１は、ユーザが今回指定したコードのルートと基準となる音高（例えばＣメジャーのルートの音高）との間の音程（音高差）を求める。その音程は、予め用意した変数（以降、音程レジスタと呼ぶ）に保持させる。そのレジスタに保持された音程を参照して、自動伴奏として発音させる楽音の音高を変更（シフト）させる。それにより、自動伴奏で発音される楽音の音高をユーザが任意に変更（シフト）できるようになっている。
【００３３】
ＣＰＵ２０１は、コードの判定を行った後に調判定を行い、判定した調を表すデータを予め用意した変数（以降、調データレジスタと呼ぶ）に保持させ、更に判定したコードの機能の判定を行う。判定した機能（の種類）を表すデータ（機能データ）は、予め用意した変数（以降、機能データレジスタと呼ぶ）に保持させ、それまでその変数に保持されていた内容は別に用意した変数（以降、前回用レジスタと呼ぶ）に保持させる。
【００３４】
なお、上記調判定は周知の手法を用いればよい。参考文献としては、例えば特開平１−１６７７８２号公報や特開平４−１６３４８６号公報がある。
調判定の一例を述べると、例えば、その時点で既に決定している調のスケール音（音名）と判定したコードの構成音（音名）とのマッチングをとり、合致すればその調を維持し、合致しなければ転調ありと判定する。そして、転調ありと判定した場合、上記判定したコードを含む過去の複数のコードの構成音（音名）の集合と図４に示す調判定テーブルとを比較して最も近似しているレコードをテーブル中から探し出すことで調候補を絞り込み、上記集合の各音名の個数に応じて１つの調を特定する。このときに、メロディ音の音名や発音された（される）自動伴奏音の音名も考慮し、さらには各音の音長を個数に反映させると、より正確な調判定を行うことが可能となる。
【００３５】
具体的には、例えば、その時点までの調がハ長調（スケール音：Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ａ及びＢ）で、判定したコードがＢマイナー（コード構成音：Ｂ−Ｄ−Ｆ♯）であったとすると、転調ありと判定する。そして、直近の複数のコードの構成音の集合がＣ、Ｄ、Ｅ、Ｆ♯、Ｇ及びＢであったとすると、調判定テーブルからト長調とホ短調を見つけ出す。そして、上記集合のうちＥとＧの個数を比較して、Ｇが多かったときはト長調であると判定する。なお、最初のコード指定時においては、指定コード（例えばＣメジャー）＝調（例えばハ長調）とすれば良い。
【００３６】
他方の機能判定は、例えばコードルートの音高から、判定した調の主音の音高を差し引いて相対ルート度数を算出し、機能判定用に用意した機能テーブルから、算出した度数と判定したコード種とで特定されるレコードを読み出すことで行う。
【００３７】
上記機能テーブルの内容は、例えば以下のようになっている。ここでは、相対ルート度数はＩ、ＩＩ、ＩＩＩ、・・・で表し、コード種ではメジャーはＭａｊ、マイナーはｍ、セブンスは７、メジャーシックススはＭａｊ６、メジャーセブンスはＭａｊ７、マイナーセブンスはｍ７、マイナーセブンス♭ファイブはｍ７−５、・・・と表す。
【００３８】
Ｉ  Ｍａｊ：トニック、Ｉ  Ｍａｊ６：トニック、Ｉ  Ｍａｊ７：トニック、・・・、ＩＩ  ｍ：サブドミナント、ＩＩ  ｍ７：サブドミナント、・・・、ＩＩＩ  ｍ：トニック、ＩＩＩ  ｍ７：トニック、・・・、ＩＶ  Ｍａｊ：サブドミナント、ＩＶ  Ｍａｊ６：サブドミナント、ＩＶ  Ｍａｊ７：サブドミナント、・・・、Ｖ  Ｍａｊ：ドミナント、Ｖ  ７：ドミナント、・・・、ＶＩ  ｍ：トニック、ＶＩ  ｍ７：トニック、・・・、ＶＩＩ  ｍ７−５：ドミナント、・・・。
【００３９】
上記のような機能テーブルを参照することにより、例えばＤ調でコード種がＥマイナーであった場合には、相対ルート度数はＩＩ（２度）であることから、そのコードの機能はサブドミナントと判定される。Ｃ調でコード種がＣメジャーであった場合には、相対ルート度数はＩ（１度）であることから、そのコードの機能はトニックと判定される。そのようにして行った判定結果が機能データレジスタに保持される。なお、以降、トニックはＴ、ドミナントはＤ、サブドミナントはＳと略記する。
【００４０】
上記各種テーブル（コード判定テーブル、調判定テーブル及び機能テーブル）は、例えばＲＯＭ２０２に制御データとして用意されたものである。ＣＰＵ２０１は、それらのテーブルをＲＯＭ２０２から読み出してコード、調及び機能の各判定を行う。
周知のように、一部の例外を除いたほとんどの曲は調性を有しており、そのような曲における各コードは調的機能を有している。そして、その機能やそれの進行の仕方によって聴く側の受ける印象が変化することが知られている。これは、機能が音楽を形作る重要な要素であることを意味する。このため、本実施の形態では、その機能に着目して自動伴奏の内容を変更するようにしている。それにより、ユーザにとっては、自動伴奏の内容を意図した形で変更させることができるようにしている。コード種やルートのみに着目する場合とは異なり、自動伴奏の内容がユーザの意図しない形で様々に変更するようなことは確実に回避することができる。
【００４１】
例えばＤ→Ｔという機能の進行には安定感があることが知られている。機能に着目すると、そのような音楽的起伏（流れ）に合わせて自動伴奏の内容を変更することができる。このため、演奏上では、どのような調もしくはコードにどのようなタイミングで変更しても、ユーザはコード機能に則した音楽的に自然で非常に望ましい伴奏との合奏が常に行えるようになる。
【００４２】
自動伴奏は、ＣＰＵ２０１がデータメモリ２０６に格納されたパターンデータを再生させることで行われる。本実施の形態では、再生の対象とするパターンデータを切り換えることで自動伴奏の内容を変更する。自動伴奏は、普通、幾つかのパートからなる。このことから、各パート毎に複数のパターンデータを用意し、コードの機能に応じてパターンデータを切り換えるようにしている。図１を参照しつつ、その切り換え方法について説明する。
【００４３】
図１の第１アドレステーブル１０１は、データメモリ２０６内のａｃｃｏｍｐ＿ａｄｒｓで表すアドレスを先頭に格納された、例えば番号で指定される音楽ジャンル別にそのジャンルの第２アドレステーブル１０２の先頭アドレス（データメモリ２０６内のアドレスである）を格納したテーブルである。図１中のａｃｃｏｍｐ＿ａｄｒｓ＿１６ｂｅａｔは、ジャンルが１６ビートの第２アドレステーブル１０２の先頭アドレスを表している。
【００４４】
上述したように、本実施の形態では、各パート毎にパターンデータを用意している。このことから、第２アドレステーブル１０２には、それが対応するジャンルで用意されているパターンデータ毎にその先頭アドレス（データメモリ２０６内のアドレスである）が格納されている。１６ビートでは、ドラム（Ｄｒｕｍ）、ベース（Ｂａｓｓ）、及びコード（Ｃｈｏｒｄ）１〜３毎に、それぞれ、Ｔ、Ｓ、或いはＤ用の３つのパターンデータが用意されており、それらの先頭アドレスが第２アドレステーブル１０２に格納されている。なお、１６ビートには、１６ビート１〜３の３つが用意されており、パートであるコード１〜３（内容的には、例えば発音タイミングが夫々異なっている）はそのなかの一つがユーザの選択に応じて再生される。ドラム、及びベースの各パートは共通である。
【００４５】
図１中の処理ブロック１０４は、図２のＣＰＵ２０１、ＲＯＭ２０２、及びＲＡＭ２０３が対応し、コード機能を判定する度に、その判定結果に応じて、第２アドレステーブル１０２を参照して再生の対象とするパターンデータの切り換えを行う。本実施の形態では、機能データレジスタと前回用レジスタにそれぞれ保持された機能データが異なっていた場合に、パターンデータを切り換える。１６ビート（１６ビート１〜３）用のパターンデータでは、各パート毎にその切り換えを行う。それにより、コード１パート（ユーザが１６ビート１を選択した場合に再生の対象となる）用に用意された３つのパターンデータからなるパターンデータ群１０３では、Ｔ、Ｓ、及びＤ用のパターンデータのなかで一つだけを再生させる。判定したコード機能がこれまでと同じであれば、パターンデータの切り換えは行わない。
【００４６】
このようにして、コード機能に着目してパターンデータの切り換えを行う。それにより、音楽的起伏（流れ）などと無関係に内容を変更させるのを回避しつつ、演奏内容（ユーザが実際に行った演奏上の操作、或いは／及び、再生するパターンデータの内容）に合わせた形で自動伴奏の内容を変更させている。
【００４７】
例えば、Ｃ調の白鍵音高を基調とする曲を演奏するにあたって、パターンデータ内に基準コードのルートＣ（ド）から６度の音程を有する音高Ａ（ラ）のイベントデータがあると、ユーザがＥｍコードを指定することによってルートをＣからＥに変更したときには、その音高はＣ♯（ド♯）となってしまう。しかし、機能に着目すると、その６度の音程はＳ用のパターンデータではそのまま（Ｄｍコード（Ｓ）を指定することによってルートをＣからＤに変更したときにはＢ（シ）となるので問題はない）、Ｔ用のパターンデータではその音高の代わりに、例えば５度の音程を有する音高Ｇ（ソ）としておく（Ｅｍコード（Ｔ）を指定することによってルートをＣからＥに変更したときにはＢ（シ）となる）ことにより、黒鍵の音高が混じるのを回避することができる。
【００４８】
次に、上記ＣＰＵ２０１の制御動作について、図５及び図６に示す動作フローチャートを参照して詳細に説明する。
図５は、コード機能反映処理の動作フローチャートである。このコード機能反映処理は、鍵盤２０４の伴奏鍵域の鍵が操作されたときに実行され、自動伴奏の内容を変更する。（再生対象のパターンデータを切り換える）ことでコードの機能を自動伴奏に反映させるための処理である。始めに、図５を参照して、コード機能反映処理について詳細に説明する。なお、この処理は、ＣＰＵ２０１が、ＲＯＭ２０２に格納されているプログラムを読み出して実行することで実現される。
【００４９】
先ず、ステップ５０１では、鍵盤２０４から受け取った操作情報を基に判定した伴奏鍵域で押鍵されている鍵の音高の組合せからコード判定を行う。その判定によって新たにコードを検出できなかった場合、特に図示していないが、ここで一連の処理が終了する。そうでない場合には、即ち新たにコードを検出した場合には、ステップ５０２でコード判定結果から調判定を行った後、調データレジスタの内容を更新してステップ５０３に移行する。また、ステップ５０１では、コード判定結果から楽音の音高の変更（シフト）量を求めて音程レジスタに保持させることも行われる。
【００５０】
なお、上述したように、コード判定は、判定対象の音高の組合せと図３のコード判定テーブルとを比較処理することにより行われ、他方の調判定は、ステップ５０１で判定したコードの構成音の音高（音名）の組合せや調データレジスタの内容や各調に対応するスケール音（音名）の組合せ（図４の調判定テーブル）等を比較処理することにより行われる。
【００５１】
ステップ５０３では、ステップ５０２での調判定結果から、ステップ５０１で判定したコードの機能を判定するコード機能判定処理を実行する。それが終了した後、ステップ５０４に移行する。
【００５２】
ステップ５０４では、前回に指定されたコードの機能とステップ５０３で判定したコードの機能とが異なるか否か判定する。ステップ５０３のコード機能判定処理を実行することにより、上記機能データレジスタ、及び前回用レジスタに保持された内容（機能データ）が更新される。それらのレジスタに保持された内容（機能データ）が同じであった場合、判定はＮＯとなり、パターンデータの切り換えを行う必要はないとして、ここで一連の処理を終了する。そうでない場合には、判定はＹＥＳとなってステップ５０５に移行する。
【００５３】
ステップ５０５以降では、ステップ５０１で判定したコードのステップ５０３で判定した調における機能に応じてパターンデータを切り換えるための処理が行われる。
【００５４】
先ず、ステップ５０５では、コード機能がＤか否かを判定する。ステップ５０１で判定したコードの機能がＤであった場合、判定はＹＥＳとなり、ステップ５０６に移行して、全パートのパターンデータのアドレスをＤ用のパターンデータのそれに変更した後、一連の処理を終了する。そのコードの機能がＤでない場合には、判定はＮＯとなってステップ５０７に移行する。
【００５５】
上記アドレスの変更は、例えばＤ用パターンデータ中において、それまで再生対象としていたパターンデータでの再生位置（先頭からの再生時間）以降で最初に処理するイベントデータを探し出して行われる。処理タイミングをデルタタイムで管理していた場合には、その変更の他に、そのイベントデータを処理するまでの時間として、Ｄ用パターンデータにおけるそれを処理する時点での再生位置（先頭からの再生時間）と、それまで再生対象としていたパターンデータの再生位置（先頭からの再生時間）との時間差を設定する。現在、自動伴奏として発音させている音があれば、それは消音させるべきタイミングで消音させる。そのようにして、それまで再生対象としていたパターンデータの再生位置を考慮しての切り換えを行っている。それにより、パターンデータの切り換えによって自動伴奏がユーザの演奏とズレてしまうようなことを回避させている。これは、他のコード機能に応じた切り換え時でも同様である。
【００５６】
ステップ５０７では、コード機能がＳか否かを判定する。ステップ５０１で判定したコードの機能がＳであった場合、判定はＹＥＳとなり、ステップ５０８に移行して、全パートのパターンデータのアドレスをＳ用のパターンデータのそれに変更した後、一連の処理を終了する。そのコードの機能がＳでない場合には、即ちその機能がＴであった場合には、判定はＮＯとなってステップ５０９に移行し、全パートのパターンデータのアドレスをＴ用のパターンデータのそれに変更した後、一連の処理を終了する。
【００５７】
上述したようにしてコード機能に応じてアドレスを変更することでパターンデータの切り換えを行っている。それにより、ユーザが曲を移調或いは転調させて演奏を行っても、その後の演奏の流れに合わせた形で自動伴奏の内容を変更させている。
【００５８】
なお、パターンデータを順次読み出す処理や音程レジスタの内容に応じてパターンデータの音高を変更（シフト）して発音させる処理についての詳細な説明は省略する。
【００５９】
次に、上記コード機能反映処理内でステップ５０３として実行されるコード機能判定処理について、図６に示すその動作フローチャートを参照して詳細に説明する。この判定処理には、コード機能反映処理から、ステップ５０１のコード判定結果、及びステップ５０２の調判定結果が引数として渡される。
【００６０】
先ず、ステップ６０１では、ステップ５０１で判定したコードのルートの音高から、ステップ５０２で判定した調（の主音の音高）を減算することで相対ルート度数を求める。続くステップ６０２では、求めた相対ルート度数とステップ５０１で判定したコードの種類とを用いて上記機能テーブルを参照することにより、そのコードのステップ５０２で判定した調における機能を判定する。その後はステップ６０３に移行する。
【００６１】
ステップ６０３では、機能データレジスタに保持されていた機能データを前回用レジスタに保持させる。それにより、前回用レジスタの内容を更新した後は、ステップ６０４に移行して、ステップ６０２で得た機能データを機能データレジスタに保持させる。そのようにして、前回用レジスタ、及び機能データレジスタの内容をそれぞれ更新した後、一連の処理を終了する。
【００６２】
なお、本実施の形態では、コードの判定結果に基づいて調を判定することで調データを取得しているが、その調データは別の方法で取得するようにしても良い。例えば調を指定するためのスイッチ等を設け、それに対して行われた操作から調データを取得するようにしても良い。或いは、メロディとして発音される楽音の音高から調データを取得するようにしても良い。当然のことながら、それらを組み合わせても良い。メロディを鳴らすための演奏操作から調を判定することに関する参考技術文献としては、例えば実願昭６２−１８６３５６号のマイクロフィルムがある。
【００６３】
また、パターンデータは、パート別に用意している。このことから、パート別或いは機能別に、再生対象とするパターンデータをユーザが事前に対応付けできるようにしても良い。そのようにした場合には、ユーザが行える音楽表現の幅をより広げさせることができる。
＜第２の実施の形態＞
上記第１の実施の形態では、再生対象とするパターンデータを切り換えることで自動伴奏の内容を変更している。これに対し、第２の実施の形態は、各パート毎に基本的なパターンデータを一つだけ用意し、そのパターンデータの内容をコードの機能に応じて変更することで自動伴奏の内容を変更するようにしたものである。
【００６４】
第２の実施の形態による自動伴奏装置の構成は、第１の実施の形態のそれと基本的に同じである。このため、第２の実施の形態の説明は、第１の実施の形態で付した符号をそのまま用いて行うこととする。
【００６５】
図７は、第２の実施の形態における自動伴奏の内容の変更方法を説明する図である。先ず、図７を参照して、自動伴奏の内容の変更方法について説明する。
第２の実施の形態では、パターンデータを複数、用意する代わりに、基本的なパターンデータ、及びそれの内容を変換する規則を格納したテーブル（パターンデータ変換テーブル）を用意している。基本的なパターンデータは、パート毎に用意している。このため、テーブルも、パート毎に、コードの機能に応じて用意している。
【００６６】
このようなことから、第２アドレステーブル７０１には、各パートのパターンデータの先頭アドレスの他に、パートに応じて、コードの機能別に使用すべきパターンデータ変換テーブルを指定するデータを格納させている。１６ビート用の第２アドレステーブル７０１では、図７に示すように、ベース、及びコード（コード１〜３）の各パートでＴ、Ｓ、及びＤ用のパターンデータ変換テーブルを指定するデータを格納させている。図７中のパターンデータ変換テーブル群７０２は、１６ビートの自動伴奏用に用意された全てのパターンデータ変換テーブルを集めたものである。
【００６７】
パターンデータ変換テーブルを指定するデータは、ここではそれがデータメモリ２０６で格納されている領域の先頭アドレスとしている。図７中の「Ｂａｓｓ−Ｔｏｎｉｃ−ｔａｂｌｅ」などはそれに対応するテーブルの先頭アドレスを表している。テーブルが格納されている領域の最後には、その旨を示すユニークなデータを配置することにより、領域の区切りを認識できるようにしている。
【００６８】
ＣＰＵ２０１は、パターンデータ変換テーブルのアドレスが第２アドレステーブル７０１に格納されているパートでは、コードが指定される度に、そのコードが持つ機能に応じてパターンデータ変換テーブルを切り換えつつ、そのテーブルの内容に従ってパターンデータの内容を変更してそれを再生する。それにより、指定されたコードが持つ機能に応じて自動伴奏の内容を変更させる。
【００６９】
上述したように、コードのルートに応じてパターンデータの音高を変更（シフト）させることによって演奏曲の調に合わない音高が混じってしまうことがある。例えば、Ｃ調の白鍵音高を基調とする曲を演奏するにあたって、パターンデータ内に基準コードのルートＣ（ド）から６度の音程を有する音高Ａ（ラ）のイベントデータがあると、ユーザがＥｍコードを指定することによってルートをＣからＥに変更したときには、その音高はＣ♯（ド♯）となり、黒鍵の音高が混じってしまう。
【００７０】
しかし、そのようなことは、例えば規則として、コード別にその音高の組合せ（本来とは異なる組合せ）をパターンデータ変換テーブルで定義しておくことで回避することができる。上記の例では、ルートによって黒鍵の音高となってしまう楽音の本来の音程との差分値を、Ｓ用パターンデータ変換テーブルでは＋０にし、Ｔ用パターンデータ変換テーブルでは−２（半音）とすることにより、黒鍵の音高が混じるのを回避させることができる。このようなことから、パターンデータ変換テーブルをコードの機能別に用意しても、第１の実施の形態と同様に、ユーザにとっては、コード機能に則した音楽的に自然で非常に望ましい伴奏との合奏が常に行えるようになる。
【００７１】
変換テーブルは、パターンデータよりもデータ量は小さい。このことから、第１の実施の形態と比較して、自動伴奏用のデータの格納に必要な容量が小さくなり、装置のコストをより低減できるという効果もある。更には、用意しなければならないパターンデータの数が少なくなることから、音楽データ（パターンデータやその変換テーブル等）をより容易に作成できるようになる。これは、メーカーだけでなく、ユーザ側の利点でもある。
【００７２】
図８は、第２の実施の形態におけるコード機能反映処理の動作フローチャートである。次に、図８を参照して、指定されたコードが持つ機能に応じてパターンデータ変換テーブルを切り換えることで自動伴奏の内容を変更するＣＰＵ２０１の動作について詳細に説明する。
【００７３】
この反映処理も、ＣＰＵ２０１が、ＲＯＭ２０２に格納されているプログラムを読み出して実行することで実現される。その処理の流れは基本的に第１の実施の形態と同じであり、各処理ステップの内容は、第１の実施の形態から、ステップ５０６、５０８、及び５０９だけが異なっている。このことから、第１の実施の形態と内容が同じ処理ステップには同一の符号を付し、その第１の実施の形態から内容が異なる処理ステップについてのみ説明することにする。
【００７４】
それまでと異なるＤの機能を持つコードが指定された場合、ステップ５０５の判定がＹＥＳとなってステップ８０１に移行する。そのステップ８０１では、第２アドレステーブル７０１を参照して、各パートのパターンデータ変換テーブルのアドレスをＤ用パターンデータ変換テーブルのアドレスに変更する。その後、一連の処理を終了する。
【００７５】
パターンデータはパート別に一つだけ用意していることから、第１の実施の形態とは異なり、パターンデータのなかで次にデータを読み出す位置を指定するアドレスの変更は行わない。ＣＰＵ２０１は、パターンデータのイベントデータを、例えばそれを処理すべきタイミングとなったときに、パターンデータ変換テーブルを参照してそれの内容を変更し処理する。それにより、テーブルの内容を自動伴奏に反映させる。
【００７６】
それまでと異なるＳの機能を持つコードが指定された場合には、ステップ５０７の判定がＹＥＳとなってステップ８０２に移行する。そのステップ８０２では、第２アドレステーブル７０１を参照して、各パートのパターンデータ変換テーブルのアドレスをＳ用パターンデータ変換テーブルのアドレスに変更する。その後、一連の処理を終了する。
【００７７】
それまでと異なるＴの機能を持つコードが指定された場合には、ステップ５０７の判定がＮＯとなってステップ８０３に移行する。そのステップ８０３では、第２アドレステーブル７０１を参照して、各パートのパターンデータ変換テーブルのアドレスをＴ用パターンデータ変換テーブルのアドレスに変更する。その後、一連の処理を終了する。
【００７８】
ＣＰＵ２０１は、上述したようにして参照するパターンデータ変換テーブルの切り換えを行う。それにより、指定されたコードが持つ機能に合わせて自動伴奏の内容を変更させている。
【００７９】
なお、本実施の形態では、パターンデータ変換テーブルをパート別に用意している。このことから、パート別、或いは機能別に、参照対象とするテーブルをユーザが事前に対応付けできるようにしても良い。そのようにした場合には、ユーザが行える音楽表現の幅をより広げさせることができる。
＜第３の実施の形態＞
上記第１および第２の実施の形態では、パターンデータの内容を変更することで自動伴奏の内容を変更している。これに対し、第３の実施の形態は、自動伴奏として本来、鳴らす音に加えて付加的な音（以降、付加音と呼ぶ）を更に鳴らすことにより、自動伴奏の内容を変更するようにしたものである。
【００８０】
第３の実施の形態による自動伴奏装置の構成は、第１の実施の形態のそれと基本的に同じである。このため、第３の実施の形態の説明は、第１の実施の形態で付した符号をそのまま用いて行うこととする。
【００８１】
第３の実施の形態では、第１の実施の形態とは異なり、パターンデータは、パート毎に一つだけ用意している。上記付加音は、例えば本来のパートとは別のパートとして発音させている。言い換えれば、本来のパートに対して、指定されたコードが持つ機能に応じてパートを追加させている。そのために、特に図示していないが、第２アドレステーブルには、各パートのパターンデータの先頭アドレスを格納させている。それにより、第２アドレステーブルを参照して、その機能に応じて付加音として発音させるパートを切り換えることで自動伴奏の内容を変更させている。付加音を発音させることで、アクセントを付けたり、リズムを変化させたり、フィルイン効果を得たりすることができる。
【００８２】
図９は、第３の実施の形態におけるコード機能反映処理の動作フローチャートである。次に、図９を参照して、ユーザが指定したコードが持つ機能に応じて付加音（パート）を加えることで自動伴奏の内容を変更するＣＰＵ２０１の動作について詳細に説明する。
【００８３】
この反映処理も、ＣＰＵ２０１が、ＲＯＭ２０２に格納されているプログラムを読み出して実行することで実現される。その処理の流れは基本的に第１の実施の形態と同じであり、各処理ステップの内容は、第１の実施の形態から、ステップ５０６、５０８、及び５０９だけが異なっている。このことから、第１の実施の形態と内容が同じ処理ステップには同一の符号を付し、その第１の実施の形態から内容が異なる処理ステップについてのみ説明することにする。
【００８４】
それまでと異なるＤの機能を持つコードが指定された場合、ステップ５０５の判定がＹＥＳとなってステップ９０１に移行する。そのステップ９０１では、第２アドレステーブルを参照して、付加音として発音させるパートをクラッシュシンバルに変更する。その後、一連の処理を終了する。
【００８５】
後述するように、第３の実施の形態では、付加音（パート）として、クラッシュシンバルの他に、リムショット、及びバスドラムを鳴らすようにしている。それらを鳴らすのは、再生時間が比較的に短いパターンデータを再生することで行うようにしている。このことから、ステップ９０１では、それら付加音用のパターンデータのなかで新たに鳴らすことになった付加音に対応するパターンデータを再生対象として加え、それのアドレスを設定することが行われる。第１の実施の形態とは異なり、それまで再生していたパターンデータの再生位置に応じてアドレスを決定する必要がないため、自動伴奏の内容はより容易に変更することができる。
【００８６】
それまでと異なるＳの機能を持つコードが指定された場合には、ステップ５０７の判定がＹＥＳとなってステップ９０２に移行する。そのステップ９０２では、第２アドレステーブルを参照して、付加音として発音させるパートをリムショットに変更する。その後、一連の処理を終了する。
【００８７】
それまでと異なるＴの機能を持つコードが指定された場合には、ステップ５０７の判定がＮＯとなってステップ９０３に移行する。そのステップ９０３では、第２アドレステーブルを参照して、付加音として発音させるパートをクラッシュシンバル及びバスドラムに変更する。その後、一連の処理を終了する。
【００８８】
なお、本実施の形態では、付加音に対応するパターンデータを再生することで演奏（伴奏）を一時的に装飾させているが、付加音を変更するまでの間、パターンデータを繰り返し再生するようにしても良い。その付加音やそれを鳴らす時間（期間）等をユーザが選択できるようにしても良い。
＜第４の実施の形態＞
上記第１〜第３の実施の形態では、指定されたコードが持つ機能に応じて自動伴奏の内容を変更している。これに対し、第４の実施の形態は、その機能がどのように変化したかに応じて、言い換えれば機能の進行に応じて自動伴奏の内容を変更するようにしたものである。
【００８９】
第４の実施の形態による自動伴奏装置の構成は、第１の実施の形態のそれと基本的に同じである。このため、第４の実施の形態の説明も、第１の実施の形態で付した符号をそのまま用いて行うこととする。
【００９０】
第４の実施の形態では、各パート毎に、複数のパターンデータを用意している。機能の進行としての終止形（ケーデンス）は、楽曲の終わり、或いは大小部分の段落点などに特有の和声構造である。その効果としては、完結的なもの、中間的に一段落して後続部分を期待させるもの、軽い一区切りを感じさせるものなど様々なものがある。そのような効果を終止形は持っていることから、終止形の種類に着目してパターンデータを用意している。具体的には、ＤからＴへ進行するドミナント終止用、及びＳからＴへと進行するサブドミナント終止用の２つのパターンデータを用意している。
【００９１】
なお、ドミナント終止は、音楽理論ではＤでの不安定さを解消し、最も力強い感じを与えるとされており、そのことから「強進行」とも云われている。着目する機能進行については、終止に限定されるものではなく、他の機能進行に着目しても良い。
【００９２】
第２アドレステーブルには、第１の実施の形態と同様に、各パターンデータ毎にその先頭アドレスを格納させている。ＣＰＵ２０１は、そのテーブルを参照して、ユーザが指定したコードの持つ機能の変化に応じてパターンデータを切り換えることにより、自動伴奏の内容を変更させる。
【００９３】
図１０は、第４の実施の形態におけるコード機能反映処理の動作フローチャートである。次に、図１０を参照して、ユーザが指定したコードが持つ機能の進行（終止形）に応じて自動伴奏の内容を変更するＣＰＵ２０１の動作について詳細に説明する。
【００９４】
この反映処理も、ＣＰＵ２０１が、ＲＯＭ２０２に格納されているプログラムを読み出して実行することで実現される。それの各処理ステップの内容は、第１の実施の形態から、ステップ５０３の処理の終了後が異なっている。このことから、第１の実施の形態と内容が同じ処理ステップには同一の符号を付し、その第１の実施の形態から内容が異なる部分についてのみ説明することにする。
【００９５】
上述したように、ステップ５０３のコード機能判定処理を実行することにより、今回、指定されたコードが持つ機能のデータは機能データレジスタに保持され、それまで機能データレジスタに保持されていた機能データは前回用レジスタに保持される。そのステップ５０３に続くステップ１００１では、それらレジスタに保持されているデータから、機能がＤからＴに進行したか否か判定する。コードの機能がＤからＴに進行した場合、判定はＹＥＳとなり、ステップ１００２に移行して、全パートのパターンデータのアドレスをＤ−Ｔ進行用のパターンデータのそれに変更した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップ１００３に移行する。なお、ステップ１００２でのアドレスの変更は、第１の実施の形態と同様に行われる。
【００９６】
ステップ１００３では、上記各レジスタに保持されているデータから、機能がＳからＴに進行したか否か判定する。コードの機能がＳからＴに進行した場合、判定はＹＥＳとなり、ステップ１００４に移行して、全パートのパターンデータのアドレスをＳ−Ｔ進行用のパターンデータのそれに変更した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなり、パターンデータの切り換えを行うべき機能進行はなかったとして一連の処理を終了する。なお、ステップ１００４でのアドレスの変更も、第１の実施の形態と同様に行われる。
【００９７】
上述したようにしてパターンデータを切り換えることにより、機能進行（音楽的な流れ）を反映させた形で自動伴奏の内容が変更される。その結果、ユーザにとっては曲としての進行感にあふれた自動伴奏との合奏を行うことができる。
【００９８】
なお、第４の実施の形態では、機能進行に応じてパターンデータを切り換えることで自動伴奏の内容を変更させているが、第２の実施の形態のように複数のパターンデータ変換テーブルを用意し、機能進行に応じて用いるテーブルを切り換えることで自動伴奏の内容を変更させるようにしても良い。或いは第３の実施の形態のように、鳴らす付加音を機能進行に応じて切り換えることで自動伴奏の内容を変更させるようにしても良い。これらのことから明らかなように、上述の実施の形態は様々に組み合わせることもできる。
【００９９】
機能進行については、前後の機能の変化のみに着目しているが、それまでの機能進行を含めて着目するようにしても良い。或いは、着目する機能進行の範囲をユーザが選択できるようにしても良い。
【０１００】
本実施の形態（第１〜第４の実施の形態）では、ユーザが鍵盤２０４を操作することで得られる操作情報からコード機能判定を行っているが、ＭＩＤＩ端子を設ける、或いはＲＯＭカード等の着脱自在な記録媒体にアクセスする手段を設ける、といったことで他からの演奏データを取得できるようにして、その演奏データを自動伴奏の内容変更に反映できるようにしても良い。
【０１０１】
本実施の形態は、電子楽器に搭載された自動伴奏装置に本発明を適用させたものであるが、本発明を適用できる自動伴奏装置は電子楽器に搭載されるものだけではない。本発明は、ＭＩＤＩデータを出力するためのＭＩＤＩ端子を備えた音源の無いシーケンサにも適用させることができる。このことから明らかなように、本発明は自動伴奏装置に幅広く適用させることができる。
【０１０２】
上記自動伴奏装置の動作、或いはその変形例の動作を実現させるようなプログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等の通信回線を用いて、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザはプログラムを取得して任意の自動伴奏装置、或いは情報処理装置にロードすることにより、その装置に本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【０１０３】
【発明の効果】
以上、説明したように本発明は、ユーザが演奏操作子群を操作、或いは記録媒体から演奏データを読み出すことで得た演奏情報から判定したコードの機能を判定し、その判定結果を基に自動伴奏の内容を変更する。このため、演奏（メロディ等）の内容に合わせて自動伴奏の内容を自動的に変更させることができる。その結果、ユーザにとっては、コード機能に則した音楽的に自然で非常に望ましい伴奏との合奏を常に行うことができる。
【図面の簡単な説明】
【図１】第１の実施の形態における自動伴奏の内容の変更方法を説明する図である。
【図２】第１の実施の形態による自動伴奏装置を搭載した電子楽器の構成図である。
【図３】コード判定テーブルの内容を説明する図である。
【図４】調判定テーブルの内容を説明する図である。
【図５】コード機能反映処理の動作フローチャートである。
【図６】コード機能判定処理の動作フローチャートである。
【図７】第２の実施の形態における自動伴奏の内容の変更方法を説明する図である。
【図８】コード機能反映処理の動作フローチャートである（第２の実施の形態）。
【図９】コード機能反映処理の動作フローチャートである（第３の実施の形態）。
【図１０】コード機能反映処理の動作フローチャートである（第４の実施の形態）。
【符号の説明】
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    鍵盤
２０６    自動伴奏データメモリ
２０７    音源システム
２０８    スイッチ群
１０１    第１アドレステーブル
１０２、７０１    第２アドレステーブル
１０３    パターンデータ群
７０２    パターンデータ変換テーブル群
【図１】
0003738634.tif 000002
【図２】
0003738634.tif 000003
【図３】
0003738634.tif 000004
【図４】
0003738634.tif 000005
【図５】
0003738634.tif 000006
【図６】
0003738634.tif 000007
【図７】
0003738634.tif 000008
【図８】
0003738634.tif 000009
【図９】
0003738634.tif 000010
【図１０】
0003738634.tif 000011