(57)【要約】【課題】セクションの自動伴奏途中で第２番目以降のコード情報が供給されても、自然な自動伴奏データが得られる自動伴奏装置および自動伴奏プログラムを提供する。【解決手段】コードチェンジ制御部３は、伴奏スタイル・セクション指示情報供給部１から供給される伴奏スタイルおよびこの伴奏スタイルのセクション指示情報に応じて、自動伴奏データ生成部４において決定されたパターンデータが、コード進行を考慮されたものであるときは、コード情報供給部２から供給される、各セクションの自動伴奏開始時に有効な最初のコード情報は自動伴奏データ生成部４に反映させるが、各セクションの自動伴奏途中で指定される第２番目以降のコード情報は自動伴奏データ生成部４に反映させないようにする。【選択図】  図１
2004294595.tif 000002
【特許請求の範囲】
【請求項１】
伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報を供給する伴奏スタイル・セクション指示情報供給手段と、
コード情報を供給するコード情報供給手段と、
複数のパターンデータの中から、前記伴奏スタイル・セクション指示情報供給手段により供給された伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じてパターンデータを決定し、決定されたパターンデータに、前記コード情報供給手段により供給されたコード情報を反映させて自動伴奏データを生成する自動伴奏データ生成手段と、
該自動伴奏データ生成手段において決定されたパターンデータが、コード進行を考慮されたものでないときは、前記コード情報供給手段から供給されるコード情報を前記自動伴奏データ生成手段に反映させるとともに、前記コード進行を考慮されたものであるときは、前記コード情報供給手段から供給される、前記セクションの自動伴奏開始時に有効な最初のコード情報は、前記自動伴奏データ生成手段に反映させるが、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第２番目以降のコード情報は、前記自動伴奏データ生成手段に反映させないようにするコードチェンジ制御手段、
を有することを特徴とする自動伴奏装置。
【請求項２】
コードチェンジ無効化制御情報供給手段を有し、
該コードチェンジ無効化制御情報供給手段は、前記自動伴奏データ生成手段において決定されたパターンデータが、コード進行を考慮されたものであるときに、前記コードチェンジ制御手段が、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第２番目以降のコード情報を前記自動伴奏データ生成手段に反映させるか否かを切り替える制御情報を前記コードチェンジ制御手段に供給する、
ことを特徴とする請求項１に記載の自動伴奏装置。
【請求項３】
伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報を供給する伴奏スタイル・セクション指示情報供給ステップと、
コード情報を供給するコード情報供給ステップと、
複数のパターンデータの中から、前記伴奏スタイル・セクション指示情報供給ステップにより供給された伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じてパターンデータを決定し、決定されたパターンデータに、前記コード情報供給ステップにより供給されたコード情報を反映させて自動伴奏データを生成する自動伴奏データ生成ステップと、
該自動伴奏データ生成ステップにおいて決定されたパターンデータが、コード進行を考慮されたものでないときは、前記コード情報供給ステップから供給されるコード情報を前記自動伴奏データ生成ステップに反映させるとともに、前記コード進行を考慮されたものであるときは、前記コード情報供給ステップから供給される、前記セクションの自動伴奏開始時に有効な最初のコード情報は、前記自動伴奏データ生成ステップに反映させるが、前記コード情報供給ステップから供給される前記セクションの自動伴奏途中で指定される第２番目以降のコード情報は、前記自動伴奏データ生成ステップに反映させないようにするコードチェンジ制御ステップ、
をコンピュータに実行させることを特徴とする自動伴奏プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、伴奏データを自動的に作成する自動伴奏装置に関するものである。
【０００２】
【従来の技術】
従来、自動伴奏は、ユーザがメロディを実演奏する際、あるいは、曲データを用いてメロディを自動演奏する際に、伴奏データを自動的に生成し、これをメロディ演奏とともに再生することにより行われる。
このような自動伴奏をする場合、伴奏スタイルを設定するとともに、設定された伴奏スタイルに応じたパターンデータにコード情報を反映させて自動伴奏データを作成している（特許文献１参照）。
例えば、入力和音（コード情報）の種類に応じて、伴奏スタイルに応じて記憶されているソースパターン（パターンデータ）内のキーコード（音高）を変換するとともに、全音高を入力コード情報の根音に応じてシフトし、入力されたコード情報に合った音高の伴奏音を生成している。
なお、所定コード情報で作成したパターンデータを入力コード情報の種類に合ったように音高変換するために、パターンデータの音高についてのシフトデータをコード情報の種類に対応づけてノート変換テーブルとして記憶しておき、入力されるコード情報の種類に応じたシフトデータをノート変換テーブルから読み出し、この読み出したシフトデータをソースパターンの音高と演算することによりコード情報の種類に応じた伴奏音を得ている。
【０００３】
ここで、伴奏スタイルは、曲の本体部（メロディ演奏区間）に主として用いる「メインセクション」、メロディ演奏区間の前に主として用いる「イントロセクション」、メロディ演奏区間の終了後に主として用いる「エンディングセクション」など、複数のセクションからなる（特許文献２参照）。
この他、フィルインなどのセクションや、さらに、メインＡ、メインＢなどというバリエーションもある。
伴奏スタイルの各セクションが、パターンデータを持ち、さらに、コード情報に従って、リズム音やコード音、ベース音など各種の具体的な伴奏音に展開される。
【０００４】
コード情報とは、本来、メロディのコード進行に合わせて自動伴奏をするために指定されるものである。
コード情報が楽譜上に指示されている場合もある。ユーザの意図を反映したものとするために、コード情報は、ユーザによって入力される。あるいは、曲データ中に元々含まれている場合もある。
ところで、コード情報は、自動伴奏の演奏中に入力されることがある（コードチェンジ）。通常は、コードチェンジのあった時点から新しいコード情報をもとに上述した方法などでパターンデータから伴奏を得る。
従来のパターンデータは、一般に、どのようなコード情報が指定されても問題ないように、コード進行のないパターンデータが設定されていた。例えば、コード情報が（Ｃｍａｊ）であるとき、「ド，ソ，ミ，ソ」を繰り返すパターンデータが設定されている。
しかし、最近では、コード進行を考慮してパターンデータが作成されている場合がある。特に、「イントロセクション」や「エンディングセクション」では、同時にはメロディ演奏されないので、独自のコード進行が考慮される場合がある。
【０００５】
図６は、コード進行を考慮して作成されたパターンデータにコード情報が与えられて生成される自動伴奏データの一例を示す説明図である。自動伴奏中に誤ってコードチェンジされる場合を示す。
図６（ａ）においては、コード情報（Ｃｍａｊ）で作成されたパターンデータが、コード情報（Ｃｍａｊ）の指定で開始されてそのまま続き、パターンデータのコード進行がＩ→ＩＩｍ→Ｖ７→Ｉであり、指定されたコード情報（Ｃｍａｊ）を反映して（Ｃｍａｊ）→（Ｄｍ）→（Ｇ７）→（Ｃｍａｊ）の流れを持つ自動伴奏が出力される。
これに対し、図６（ｂ）では、元のパターンデータは図６（ａ）と同じであるが、最初、（Ｃｍａｊ）で指定されたコード情報が、第３小節目から、（Ｆｍａｊ）にコードチェンジされた場合を示している。
このコードチェンジにより、パターンデータの各音符は、パターンデータ作成時の元のコード情報（Ｃｍａｊ）と新たなコード情報（Ｆｍａｊ）のルート（根音）の差に応じて、４度上に移調される。この例では、同じコード種類でのコードチェンジなので、根音に基づく移調のみになる。その結果、パターンデータ中のコード進行は、（Ｃｍａｊ）→（Ｄｍ）→（Ｃ７）→（Ｆｍａｊ）となって、出力される自動伴奏データがセクションの自動伴奏途中で移調されてしまい不自然な聴感になってしまう。
このセクションが、イントロセクションであった場合、自動伴奏途中でコードチェンジがあると、イントロセクションが最初と異なる調で終わることになる。メインセクションの自動伴奏が開始されたとき、イントロセクションの最初のコード情報と同じものが指定されている場合が多い。したがって、今度は、４度下に移調されることになる。その結果、移調が上下して落ち着かない印象を与え、不安定な聴感になってしまう。
【０００６】
上述したコードチェンジは、ユーザの操作ミスに限られない。
楽譜に記載されたものを誤って入力してしまう場合もある。すなわち、楽譜によっては、ユーザが弾くためのイントロ演奏楽譜とそのコード情報とが記載されている場合がある。自動伴奏装置では、楽譜に記載されたイントロ演奏楽譜とは無関係に、付与されたイントロセクションより自動伴奏をすることから、ユーザが楽譜に指定されたコードを入力してしまうと、付与されたイントロセクションとは必ずしも関連のないコード指定をしてしまうことになる。
あるいは、曲データの自動演奏において、この曲データ中の、イントロセクションを付与する区間にコード情報が含まれている場合がある。更に、メロディの演奏データとは別のトラックに別の演奏データが入っている場合がある。伴奏スタイルによる自動伴奏を実行する場合は、メロディ以外の演奏データの入ったトラックはミュートさせる。しかし、このミュート操作を行っても曲データのコード情報は残っており、自動伴奏装置で自動作成されるイントロセクションの伴奏データとは必ずしも関連のないコード指定をしてしまうことになる。
【０００７】
一方、従来、エンディングセクションに関しては、コード進行が変化すると演奏上好ましくないことに着目して、エンディングセクションが有効な間は、コード変更を受け付けないというコードシーケンサが知られている（特許文献３参照）。
この技術を応用すれば、ユーザが指定したセクションに関しては、コード変更を受け付けないようにする方法が考えられる。
しかし、指定した以外のセクションの中にも、パターンデータがコード進行を考慮して作成されていた場合には対応できない。
逆に、指定したセクションのパターンデータが、元々、コード進行を考慮しておらず、むしろユーザによるコード情報の指定によって、伴奏に変化をつけたい場合もある。このような場合、コードチェンジが受け付けられないので、所望の伴奏データが得られない。
【０００８】
【特許文献１】
特開平１０−２９３５８６号公報
【特許文献２】
特許３３２７１８８号
【特許文献３】
特許２５３６５２５号
【０００９】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、セクション演奏の自動伴奏途中で第２番目以降のコード情報が供給されても、自然な自動伴奏データが得られる自動伴奏装置および自動伴奏プログラムを提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
本発明は、請求項１に記載の発明においては、伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報を供給する伴奏スタイル・セクション指示情報供給手段と、コード情報を供給するコード情報供給手段と、複数のパターンデータの中から、前記伴奏スタイル・セクション指示情報供給手段により供給された伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じてパターンデータを決定し、決定されたパターンデータに、前記コード情報供給手段により供給されたコード情報を反映させて自動伴奏データを生成する自動伴奏データ生成手段と、該自動伴奏データ生成手段において決定されたパターンデータが、コード進行を考慮されたものでないときは、前記コード情報供給手段から供給されるコード情報を前記自動伴奏データ生成手段に反映させるとともに、前記コード進行を考慮されたものであるときは、前記コード情報供給手段から供給される、前記セクションの自動伴奏開始時に有効な最初のコード情報は、前記自動伴奏データ生成手段に反映させるが、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第２番目以降のコード情報は、前記自動伴奏データ生成手段に反映させないようにするコードチェンジ制御手段を有するものである。
従って、セクションの自動伴奏途中で第２番目以降のコード情報が供給されても、伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じて決定されたパターンデータがコード進行を考慮したものである場合には、このコード情報が無視されるので、自然な聴感の自動伴奏データが得られる。
上述したコード情報の無視は自動的に行われるので、ユーザは伴奏スタイルおよびセクションの指示やコード情報の入力に気を遣わなくてもよい。
【００１１】
請求項２に記載の発明においては、請求項１に記載の自動伴奏装置において、コードチェンジ無効化制御情報供給手段を有し、該コードチェンジ無効化制御情報供給手段は、前記自動伴奏データ生成手段において決定されたパターンデータが、コード進行を考慮されたものであるときに、前記コードチェンジ制御手段が、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第２番目以降のコード情報を前記自動伴奏データ生成手段に反映させるか否かを切り替える制御情報を前記コードチェンジ制御手段に供給するものである。
従って、コードチェンジを有効にすることもできるので、コード情報の供給を間違えたときでも、直ちに正しいコード情報を供給することにより、自動伴奏データの修復が速やかに行われる。
また、セクションのパターンデータがコード進行を考慮していないときには、コードチェンジが有効であるので、ユーザが適切なコード情報を供給することにより、変化に富んだ自動伴奏データを得ることができる。
【００１２】
請求項３に記載の発明においては、上述した請求項１に記載の自動伴奏装置をコンピュータに実行させるプログラムの形態で実現するものである。同様に、請求項２に記載の発明もコンピュータに実行させるプログラムの形態で実現することができる。
【００１３】
【発明の実施の形態】
図１は、本発明の実施の一形態を説明するための機能構成図である。
伴奏スタイル・セクション指示情報供給部１は、複数種類ある伴奏スタイルの中から１つを指定する情報を出力する。例えば、１６ビート，カントリー，ラテン，スイング＆ジャズ等の音楽ジャンルに応じたカテゴリーと、各カテゴリー下における具体的な伴奏スタイル名を指定することにより、例えば、１つのスタイルファイル名を指定する。
各伴奏スタイルにおいては、メイン、イントロ、エンディングなどの、複数のセクション毎に、異なるパターンデータが指定される。
伴奏スタイル・セクション指示情報供給部１は、ユーザが演奏をする際に、操作子操作によりユーザが指定したものを供給したり、曲データを自動演奏する際に、操作子操作によりユーザが指定したり、曲データ中に指定されたものを読み出したりして供給するものである。
【００１４】
コード情報供給部２は、従来と同様に、後述する自動伴奏データ生成部４に対し、コード情報を反映した自動伴奏データを出力させるためのものである。
この実施の形態において、コード情報は、コードチェンジ制御部３を通して自動伴奏データ生成部４に出力する。コード情報は、１曲を通しても、各セクションにおいても、何回でも供給できる。
このコード情報供給部２は、例えば、コード情報設定操作子によりユーザがリアルタイムでコード情報を供給するものである。
あるいは、予め、コード情報のシーケンスデータとして用意されて記憶されている記憶装置でもよい。
もしくは、曲データ中の任意のパート（通常は、メロディパート）が指定されて、このパートを自動分析する装置でもよい。自動分析して検出されたコード情報を供給する。この場合、イントロセクションでは、指定されたパートを分析したときの先頭のコード情報を採用する。
【００１５】
コードチェンジ制御部３は、後述する条件を満たすか否かを判別し、コード情報供給部２から供給されたコード情報を自動伴奏データ生成部４に反映させるか否かを制御する。
すなわち、伴奏スタイルのセクションを指示する情報に応じて、後述する自動伴奏データ生成部４において決定された各セクションのパターンデータが、コード進行を考慮されたものでないときは、コード情報供給部２から供給されるコード情報を自動伴奏データ生成部４に反映させる。
一方、コード進行を考慮されたものであるときは、コード情報供給部２から供給される、各セクションの自動伴奏開始時に有効な最初のコード情報は自動伴奏データ生成部４に反映させるが、各セクションの自動伴奏途中で指定される第２番目以降のコード情報は反映させないようにする。
ここで、自動伴奏データ生成部４において決定された各セクションのパターンデータがコード進行を考慮されたものか否かの判別は、図２を参照して後述するように、伴奏スタイルの各セクションに含まれる、コード進行考慮の有無を示す「コード進行有無情報」によって判別するか、各セクションのパターンデータを分析することにより、コード進行が考慮されているか否かを判別することなどにより実現できる。
【００１６】
また、各セクションの自動伴奏開始時に有効な最初のコード情報とするのは、従来と同様であり、一例として次の２例が考えられる。しかし、製品仕様として、任意の条件を決めることができる。
第１に、セクションの開始と同時かそれ以前に指定される最初のコード情報である。セクションの開始時点から自動伴奏か開始される。
第２に、あるセクションが開始されるまで何もコード情報が指定されていなくても、そのセクション中、最初にコード情報が指定されたときのコード情報である。この場合、最初にコード情報が指定された時点から、このセクションの自動伴奏か開始される。
【００１７】
コードチェンジ制御部３は、また、コードチェンジ無効化制御情報供給部６から、コードチェンジ無効化制御情報（フラグ）の供給を受け、コードチェンジ無効化機能のＯＮ／ＯＦＦを制御する。
すなわち、自動伴奏データ生成部４において決定されたパターンデータがコード進行を考慮されたものであるときに、コードチェンジ制御部３が、コード情報供給部２から供給される、各セクションの自動伴奏途中で指定される第２番目以降のコード情報を反映させるか否かを切り替える。
【００１８】
自動伴奏データ生成部４は、従来のものと同様の構成でもよい。
例えば、伴奏スタイルデータ記憶部５に記憶された複数種類の伴奏スタイルデータファイルの各セクションのパターンデータを参照し、これらの中から、伴奏スタイル・セクション指示情報供給部１から供給された伴奏スタイルおよびこの伴奏スタイルのセクション指示情報に応じてパターンデータを決定し、決定されたパターンデータに、コードチェンジ制御部３を介して指定されたコード情報を反映させて自動伴奏データを生成する。
ここで、反映とは、上述したパターンデータを、コード情報に合う、例えば、コード構成音になるように変換して自動伴奏を行うことである。
【００１９】
上述した構成により、伴奏スタイルのイントロセクションなどで、コード進行を考慮したパターンデータを持つ場合は、セクションの自動伴奏開始時に有効な最初のコード情報は反映されるが、セクションの自動伴奏途中で指定される第２番目以降のコード情報は無視されることから、自然な伴奏が得られるようになる。
一方、コードチェンジ無効化制御情報供給部６が、コードチェンジ制御部３のコードチェンジ無効化機能をＯＦＦにしたときには、常にコートチェンジが反映されることになり、自動伴奏データ生成部４は、従来と同様の自動伴奏データを出力することになる。
【００２０】
図２は、伴奏スタイルデータファイルのデータ構造の一例を示す説明図である。
ある１つの伴奏スタイル１１は、ヘッダー部、および、これに続くセクション部を有している。ヘッダー部には、伴奏スタイル名，自動伴奏の拍子，自動伴奏のテンポのデータ等が含まれる。セクション部は、既に説明したように、イントロ，メイン，エンディング等の自動伴奏される区間に応じた、複数のセクションに分かれている。
各セクション１２は、さらに、設定情報，パターンデータ，各セクションを構成するパートに関するパート情報が含まれている。設定情報には、セクション名，セクションの小節数等が含まれる。
【００２１】
上述したパターンデータは、実際に生成される自動伴奏データの元になるノートデータのパターンデータである。調の主音を基準とした度数形式で記述されたり、ある調のノートデータパターンをＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）で記述されたりする。
セクションの自動伴奏開始時に、コードチェンジ制御部３により指定されているコード情報を反映するようにこのパターンデータを変換する。
パターンデータは、リズムパート，ベースパート，コードパート，フレーズパート等、１または複数のパートで構成される。各パートに関する情報は、パート情報として記述されている。パート情報は、パート名，出力チャンネル，コード進行有無情報，その他の伴奏データ作成情報を含む。
伴奏データ作成情報としては、例えば、パターンデータにコード情報を反映させる際に、自動伴奏データの音域を指定したり、音高を高い方にシフトさせるのか、低い方にシフトさせるのかを指定したりする。
コード進行有無情報は、既に説明したように、当該セクション１２のパターンデータがコード進行を考慮して作成されたものか否かを指示するもので、例えば、考慮して作成されている場合は１、考慮して作成されていない場合は０とする。
【００２２】
図示の例では、コード進行有無情報は、パート毎に記述されるものとしている。ただし、例えば、ベースパートおよびコードパートでは、自動伴奏データにコード情報を反映させるが、リズムパートはコード情報に無関係なので、コード進行有無情報は含まれない。
また、コード進行を考慮したパターンデータにおいては、通常、コード情報が反映されるパートの全てにコード進行が考慮されている。
従って、コード進行が考慮されたパターンデータを有するセクションであるか否かは、コード情報が反映される全てのパートのコード進行有無情報に応じて判定する必要はなく、任意の１つのパートのコード進行有無情報に応じて判定することができる。
【００２３】
あるいは、伴奏スタイルデータファイルの作成誤り、あるいはコード進行有無情報の検出誤り等を考慮して、コード情報が反映される全てのパートのコード進行有無情報に基づいて、例えば、少なくとも１つが１であるか、あるいは、全てが１であるかなどの判定基準で判定してもよい。
また、コード進行有無情報は、各パートのパート情報内ではなく、各セクション１２の設定情報内に、全パートに共通のものとして含めてもよい。
さらにまた、使用される伴奏スタイルの、あるセクション１２（例えば、イントロセクション）が全て、コード進行を考慮したパターンデータを持つものであることが、予め、わかっているなどの場合は、このセクションに対し、一律に、セクションの途中のコードチェンジを無効化するように、無効化制御情報を供給すればよい。
【００２４】
図３は、本発明の実施の一形態を実現するハードウェア構成図である。
電子楽器等の電子音楽装置において、プログラムを実行させることにより自動伴奏機能を実現する場合を説明する。
図中、２１はバス、２２はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、２３はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、２４はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ＲＡＭ２４にはＣＰＵ２２のワーキングエリアが設けられ、ＲＯＭ２３にはＣＰＵ２２を動作させる制御プログラムのほか、伴奏スタイルデータなど各種のプリセットデータが記憶されている。
２５は入力操作部であって、鍵盤を含む各種の操作子である。図１に示した伴奏スタイルを設定する操作子や、コード情報を指定する操作子、コードチェンジ無効化機能をオンオフする操作子がある。
【００２５】
これらの操作子は、物理的な切替えボタンやスイッチに限られない。
例えば、設定された伴奏スタイルや使用しているセクションの一覧をディスプレイ２７に提示し、各セクションに対し、コードチェンジ無効化機能のオンオフを、カーソルキーやエンターキーを操作してユーザに設定させる形式でもよい。また、上述した各種の設定をメニュー画面の切替えで行えるようになっていてもよい。
この他、自動伴奏の開始あるいは終了を制御したり、曲データの記録再生を制御する操作子や音源パラメータを設定する設定操作子等がある。
伴奏スタイルデータファイルや曲データは、ＲＯＭ２３あるいは外部記憶装置３０に記憶され、ＲＡＭ２４にロードされる。
【００２６】
２６は表示回路であって、液晶等のディスプレイ２７に画像データを出力する。ディスプレイ２７には、自動伴奏の設定のメニュー画面を表示したり、音源パラメータの設定メニューを表示したり、演奏する曲の楽譜を表示したりする。
２８は音源回路、２９はサウンドシステムである。音源回路２８は、演奏データおよび自動伴奏データに応じた音源制御パラメータ等を入力し、演奏音を波形合成し、この楽音信号は、サウンドシステム２９に供給されてスピーカから出力される。音源回路２８は、専用のハードウェアや、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）とマイクロプログラムによる構成をとる。あるいは、ＣＰＵ３２に波形合成をさせるソフトウェア音源プログラムによって音源機能を実現するものでもよい。
【００２７】
３０はフラッシュメモリ（半導体メモリカード），ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置である。ＨＤＤ（ハードディスクドライブ）、ＣＤ−ＲＯＭ（コンパクトディスク・リード・オンリィ・メモリ），ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の記録媒体用のドライブでもよい。伴奏スタイルデータファイルは、ＦＤＤ等の外部記憶媒体で供給されてＲＡＭ２４に読み込まれてもよい。制御プログラムは、ハードディスクにインストールしておき、それをＲＡＭ２４に読み込んでもよい。
３１は通信インターフェースであって、音源装置、ＭＩＤＩ鍵盤等の外部機器３２をバス２１に接続する。専用のＭＩＤＩインターフェースに限らず、汎用のインターフェースを用いて直結あるいはＬＡＮ（  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続されたり、インターネット経由で、パーソナルコンピュータ，サーバ等の外部機器３２に接続されたりする。
伴奏スタイルデータファイルや曲データファイルは、外部機器３２から外部記憶装置３０あるいはＲＡＭ２４にダウンロードされるほか、曲データは、リアルタイムあるいはストリーミング再生方式でＲＡＭ２４に供給されて用いられる場合もある。
【００２８】
なお、図１の伴奏スタイルデータ記憶部５は、ＲＡＭ２４に対応し、ＲＯＭ２３、外部記憶装置３０内の外部記憶媒体、あるいは、外部機器３２等から複数種類の伴奏スタイルデータファイル（図２）が入力される。しかし、ＲＡＭ２４には、伴奏スタイルおよびこの伴奏スタイルのセクション指示情報に応じて決定された伴奏スタイル１１のデータあるいは各セクション１２のデータだけが、決定の都度、ＲＯＭ２３、外部記憶媒体あるいは外部機器３２から入力されてもよい。この場合、図１の伴奏スタイルデータ記憶部５は、ＲＯＭ２３，外部記憶媒体あるいは外部機器３２等に相当する。
【００２９】
ＣＰＵ２２は、ＲＯＭ２３に記憶された自動伴奏プログラムを含む電子音楽装置制御用プログラムをＲＡＭ２４にロードし、自動伴奏データを生成するなど、各種の制御を行う。
生成された各パートの自動伴奏データは、楽音の音色等の音源制御パラメータ、ノート・オン，ノート・オフデータとして、音源回路２８に出力する。
また、曲データあるいは楽譜表示用データに応じて、楽譜のイメージデータを生成し、表示回路２６に出力する。
パーソナルコンピュータにおいても、同様の自動伴奏機能を実現することができる。キーボード，マウス等の操作子を入力操作部２５とし、鍵盤等は、通信インターフェース３１を介して接続される外部機器３２としてのＭＩＤＩ鍵盤を用いることができる。
【００３０】
図４は、伴奏スタイルのセクションとコードのシーケンスデータの一例を示す説明図である。
イントロセクションとメインセクションからなる。イントロセクションイベントと、最初の２つのコードイベントにより生成される自動伴奏データは、図６（ｂ）に示した具体例に対応している。
図中、時間（時刻）は、小節，拍，クロックで示し、各時刻における伴奏スタイルのセクションイベントおよびコードイベントのみを示している。
【００３１】
第１小節の第１拍において、（Ｃｍａｊ）を指定するコードイベント［Ｃｈｏｒｄ（Ｃｍａｊ）］と、スタイルＡのイントロセクションを小節幅４で指定するセクションイベント［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｉｎｔｒｏ）  ４Ｍｅａｓｕｒｅ］が発生している。従って、第１小節目から４小節目の終わりまでイントロセクションが有効となる。
第３小節の第１拍において、（Ｆｍａｊ）を指定するコードイベント［Ｃｈｏｒｄ（Ｆｍａｊ）］がある。このコードイベントは、イントロセクションの途中のタイミングで発生している。
第５小節の第１拍において、（Ｃｍａｊ）を指定するコードイベント［Ｃｈｏｒｄ（Ｃｍａｊ）］と、スタイルＡのメインセクションを小節幅１２で指定するセクションイベント［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｍａｉｎ）  １２Ｍｅａｓｕｒｅ］が発生している。従って、第５小節から１６小節目の終わりまでメインセクションが有効となる。
従来技術では、第３小節の第１拍で発生したコードイベント［Ｃｈｏｒｄ（Ｆｍａｊ）］によって、イントロセクションの自動伴奏途中でパターンデータが移調されて出力される。
この実施の形態では、イントロセクションがコード進行を考慮したセクションであれば、このイントロセクションの区間内で発生する第３小節の第１拍で発生したコード指定（Ｆｍａｊ）を無効にし、図６（ｂ）ではなく、図６（ａ）のような、「Ｃｍａｊ→Ｄｍ→Ｇ７→Ｃｍａｊ」の伴奏データが生成されるようにする。
【００３２】
図５は、図１に示した本発明の実施の一形態の動作例を説明するためのフローチャートである。
図３に示したＣＰＵ２２が自動伴奏プログラムを実行することにより行われる。伴奏スタイル（セクション）とコードのイベントが図４に示した形式で入力される場合に適合したものを示す。
図中、「Ｃｈｏｒｄ」，「Ｓｅｃｔｉｏｎ」は、その時々のコードイベントとセクションイベントを示すイベントバッファである。
「ＣＦｌａｇ」は、コードチェンジ無効化を制御するフラグであり、所定の条件下でコードチェンジを無効にする機能をＯＮ／ＯＦＦする。
【００３３】
まず、動作の概要を説明する。
Ｓ４５においてコードイベントが検出されたときには、Ｓ５２〜Ｓ５９の処理がなされ、Ｓ４６においてセクションイベントが検出されたときには、Ｓ４７〜Ｓ５０の処理がなされる。Ｓ５１において、その時点での「Ｃｈｏｒｄ」と「Ｓｅｃｔｉｏｎ」を基に自動伴奏再生処理が行われる。
コードチェンジ無効化機能のオンオフ状態はＳ５６で判別され、伴奏スタイルの各セクションのパターンデータのコード進行有無情報はＳ５８に判別される。
Ｓ５３においてコードイベントが「Ｃｈｏｒｄ」に書き込まれ、一方、Ｓ４７において、セクションイベントが「Ｓｅｃｔｉｏｎ」に書き込まれることにより、Ｓ４９→Ｓ５０→Ｓ５１と処理が進められることにより、「Ｃｈｏｒｄ」と「Ｓｅｃｔｉｏｎ」の内容に基づき自動伴奏処理が行われる。（先に、Ｓ５３で「Ｃｈｏｒｄ」に書き込まれたコードイベントをＳ４７で「Ｓｅｃｔｉｏｎ」に書き込まれたこのセクションで有効な最初のコードイベントとして扱っている）。
Ｓ５５において、現在のセクションの終了時刻以降のコードイベントが検出されると、Ｓ５７→Ｓ４３と処理が進められ（Ｓ５３で「Ｃｈｏｒｄ」に書き込まれたコードイベントは、先に、Ｓ４７で「Ｓｅｃｔｉｏｎ」に書き込まれた現在のセクションに有効なコードイベントではない）、次のセクションイベントが検出されると（Ｓ４４→Ｓ４５→Ｓ４６）、Ｓ４７→Ｓ４９→Ｓ５０→Ｓ５１と処理が進められ、その時点で「Ｃｈｏｒｄ」と「Ｓｅｃｔｉｏｎ」の内容に基づいて自動伴奏処理が行われる。
【００３４】
図４に示した具体例とは異なり、イントロセクションイベントが発生した後に、初めてコードイベントが供給される場合には、Ｓ４４→Ｓ４５→Ｓ４６→Ｓ４７→Ｓ４９→Ｓ４３→Ｓ４４→Ｓ４５→Ｓ５２（コードカウンタの値＝１）→Ｓ５３→Ｓ５４→Ｓ５５→Ｓ５６（例：コードチェンジの無効化を指示している場合）→Ｓ５８（例：コード進行有無情報が１の場合）→Ｓ５９→Ｓ５１と処理が進められることにより、このコードイベントが供給された時点でイントロセクションの自動伴奏再生処理が開始される（Ｓ５３で書き込まれたコードイベントを、先に、Ｓ４７で書き込まれたこのセクションで有効な最初のコードイベントとして扱っている。ただし、最初のセクションの場合に限られる）。
【００３５】
次に、図４に示した具体例に当てはめて、順番に説明する。
Ｓ４１においてユーザ設定を行い、Ｓ４２においてカウンタやバッファ等を初期化する。
Ｓ４３において供給されたイベントを１つ読み出し、Ｓ４４において何らかのイベントがあればＳ４５に進める。イベントが発生している間は、処理を継続するが、シーケンスデータの終了，ユーザ演奏の停止などにより、所定時間経過してもイベントがないときなどには再生を終了する。
Ｓ４５においてはコードイベントであるか否か、Ｓ４６においてはセクションイベントであるか否かを判定し、いずれでもない場合には、Ｓ４８に処理を進め、その他のイベントの再生処理を行い、Ｓ４３に処理を戻す。
図４の具体例では、最初の１小節目でコードイベント［Ｃｈｏｒｄ（Ｃｍａｊ）］が検出されるので、Ｓ５２に処理を進め、コードカウンタの値を１とし、Ｓ５３において、「Ｃｈｏｒｄ」バッファに［Ｃｈｏｒｄ（Ｃｍａｊ）］を供給する。
Ｓ５４において、［Ｓｅｃｔｉｏｎ」に保持されたセクションイベントが初期状態（セクション指示情報が保持されていない）であるか否かを判定し、初期状態であればＳ４３に処理を戻し、初期状態でなければＳ５５に処理を進める。
図４に示した具体例では、Ｓ４３に処理を戻すことになる。
【００３６】
次に、Ｓ４３からＳ４５に進んだときは、１小節目のセクションイベント［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｉｎｔｒｏ）］が検出され、Ｓ４７において、このセクションイベントを「Ｓｅｃｔｉｏｎ」に供給する。Ｓ４９において「Ｃｈｏｒｄ」が初期状態（コード情報が入力されていない）であればＳ４３に処理を戻す。
しかし、既にＳ５３において「Ｃｈｏｒｄ」バッファに［Ｃｈｏｒｄ（Ｃｍａｊ）］が保持されているので、Ｓ５０に処理を進め、コードカウンタの値を１にする。
Ｓ５１において、「Ｓｅｃｔｉｏｎ」に保持された［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｉｎｔｒｏ）］に応じたパターンデータに基づいて、「Ｃｈｏｒｄ」バッファに保持された［Ｃｈｏｒｄ（Ｃｍａｊ）］を反映した自動伴奏データを作成し再生する処理を開始させ、Ｓ４３に処理を戻す。自動伴奏再生処理は、各セクションの終了時刻が来れば終了する。
【００３７】
次に、Ｓ４３からＳ４５に進んだときに、図４の３小節目でコードイベント［Ｃｈｏｒｄ（Ｆｍａｊ）］が検出される。Ｓ５２において、コードカウンタの値は２となり、Ｓ５３において、「Ｃｈｏｒｄ」バッファに［Ｃｈｏｒｄ（Ｆｍａｊ）］を保持する。Ｓ５４において、「Ｓｅｃｔｉｏｎ」が［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｉｎｔｒｏ）］であるので、Ｓ５５に処理を進める。
Ｓ５５においては、「Ｃｈｏｒｄ」に保持されたコードイベント時刻が「Ｓｅｃｔｉｏｎ」バッファに保持されたセクションイベントの終了時刻よりも前である、すなわち、セクションの区間内にコード情報が供給されたか否かを判定する。
「Ｃｈｏｒｄ」に保持されたコードイベントの時刻（３：１：０００）が「Ｓｅｃｔｉｏｎ」に保持されたセクションイベントの終了時刻（５：１：０００）（開始時刻の１小節目に４小節分を加算）よりも前である、すなわち、イントロセクションの区間内にこのコード情報が供給されたので、Ｓ５６に処理を進めることになる。
Ｓ５６において、コードチェンジの無効化機能を制御するるフラグ「ＣＦｌａｇ」がＯＮか否かを判定する。ＯＦＦであればＳ５１に処理を進め、「Ｓｅｃｔｉｏｎ」に保持された［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｉｎｔｒｏ）］のパターンデータに、「Ｃｈｏｒｄ」に保持された［Ｃｈｏｒｄ（Ｆｍａｊ）］を反映させた自動伴奏データを生成する。
【００３８】
一方、コードチェンジの無効化機能を制御するフラグ「ＣＦｌａｇ」がＯＮであれば、Ｓ５８に処理を進め、コード進行有無情報が１であるか否か、すなわち、「Ｓｅｃｔｉｏｎ」に保持された［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｉｎｔｒｏ）］のパターンデータがコード進行を考慮して作成されたものであるか否かを判定する。
コード進行有無情報が１であるときは、Ｓ５９に処理を進め、コードカウンタの値が１であるか否かを判定する。１であればＳ５１に処理を進めるが、１でなければＳ４３に処理を戻す。
図４の具体例では、現在のコードカウンタの値が２であるから、Ｓ４３に処理を戻すことになる。その結果、セクションの自動伴奏途中で供給されて「Ｃｈｏｒｄ」に保持されたコードイベント［Ｃｈｏｒｄ（Ｆｍａｊ）］は、Ｓ５１の自動伴奏再生処理に反映されないから、コードチェンジ無効化機能が実行される。
【００３９】
次に、Ｓ４３からＳ４５に進んで、図４の５小節目で、コードイベント［Ｃｈｏｒｄ（Ｃｍａｊ）］が検出されたとき、Ｓ５２においてコードカウンタの値を３にし、Ｓ５３において「Ｃｈｏｒｄ」バッファに（Ｃｍａｊ）を供給し、Ｓ５４においてセクションは初期状態でないのでＳ５５に進む。
Ｓ５５において、「Ｃｈｏｒｄ」に保持されたコードイベントの時刻（５：１：０００）が「Ｓｅｃｔｉｏｎ」に保持されたセクションイベントの有効期間の終了時刻（５：１：０００）よりも前であるか否かを判定する。
図４の具体例では、両者の時刻が等しいことから、イントロセクションの有効区間外にコードイベントが供給されたことになるので、現在のセクションは有効なセクションでないとして、Ｓ５７に処理を進め「Ｓｅｃｔｉｏｎ」を初期化し、再びＳ４３に戻す。
【００４０】
次に、Ｓ４３からＳ４４に進み、図４の５小節目で、セクションイベント［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｍａｉｎ）］が検出されたときは、Ｓ４６からＳ４７に進み、「Ｓｅｃｔｉｏｎ」バッファに［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｍａｉｎ）］を供給し、Ｓ４９において、「Ｃｈｏｒｄ」バッファは初期状態ではないので、Ｓ５０においてコードカウンタの値を１にしてＳ５１に進める。
Ｓ５１において、「Ｓｅｃｔｉｏｎ」に保持された［ＳｔｙｌｅＡ・Ｓｅｃｔｉｏｎ（Ｍａｉｎ）］のパターンデータに、先に、Ｓ５３において「Ｃｈｏｒｄ」に保持されていたコードイベント［Ｃｈｏｒｄ（Ｃｍａｊ）］を反映させた自動伴奏データを生成する。
なお、最後のセクション（図４に示した具体例では、メインセクション）の終了時刻が来れば、全処理を終了する。
図４の具体例にはないが、メインセクションの自動伴奏途中でコード情報が入力されたときも、Ｓ５６において、コードチェンジ無効化機能を制御するフラグ「ＣＦｌａｇ」がＯＮであり、かつ、Ｓ５８において、コード進行有無情報が１であれば、このコード指定を無効とする。
【００４１】
従って、コードチェンジの無効化機能が有効な場合は、伴奏スタイルの各セクションにおいて、コード進行が考慮されたパターンデータを有する場合は、セクションの自動伴奏開始時に有効な最初のコード情報は反映されるが、自動伴奏途中で指定される２番目以降のコード情報は自動的に無視される。
コードチェンジを有効にすることもできるので、例えば、セクションの最初のコード情報を、（Ｃｍａｊ）にすべきところを（Ｆｍａｊ）にしてしまい、伴奏音を聞いて間違いに気づいたとき、ユーザは、直ちにコードチェンジの無効化機能をＯＦＦにし、正しいコード情報（Ｃｍａｊ）を供給することにより、自動伴奏データの修復を行うことができる。
また、コード進行を考慮していないパターンデータが長く続く場合、ユーザが適切なコード情報を１または複数回供給することにより、コード進行を与えて、変化に富んだ自動伴奏データを得ることもできる。
【００４２】
上述した説明では、専用の電子音楽装置に適用した例で説明した。ここで、電子音楽装置としては、電子楽器や自動演奏ピアノなどの鍵盤楽器に限らない。電子管楽器，電子弦楽器など楽器形態に制約されない。
また、ハードウェア音源を備えたり、ソフト音源プログラムがインストールされたりしたパーソナルコンピュータ、あるいは、音源機能を備える機器が外部接続されたパーソナルコンピュータに適用することもできる。
ゲーム機、携帯電話端末等の通信端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家電機器等において、自動伴奏機能を持たせた場合にも適用できる。自動伴奏機能は、組み込まれたＣＰＵに制御プログラムを実行させることで実現できる。自動伴奏装置を１つの本体に内蔵したものに限らず、それぞれが別体の装置であり、各種ネットワークを用いて各装置が接続され、全体として統合された自動伴奏装置となるものであってもよい。
【００４３】
【発明の効果】
本発明は、上述した説明から明らかなように、伴奏スタイルのセクションのパターンデータがコード進行を考慮したものである場合に、セクションの自動伴奏途中で指定される第２番目以降のコード情報を無視するので、自然な自動伴奏データが得られるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態を説明するための機能構成図である。
【図２】伴奏スタイルデータファイルのデータ構造の一例を示す説明図である。
【図３】本発明の実施の一形態を実現するハードウェア構成図である。
【図４】伴奏スタイルとコードのシーケンスデータの一例を示す説明図である。
【図５】図１に示した本発明の実施の一形態の動作例を説明するためのフローチャートである。
【図６】コード進行を考慮して作成されたパターンデータから生成される自動伴奏データの一例を示す説明図である。
【符号の説明】
１…伴奏スタイル・セクション指示情報供給部、２…コード情報供給部、３…コードチェンジ制御部、４…自動伴奏データ生成部、５…伴奏スタイルデータ記憶部、６…コードチェンジ無効化制御情報供給部
【図１】
2004294595.tif 000003
【図２】
2004294595.tif 000004
【図３】
2004294595.tif 000005
【図４】
2004294595.tif 000006
【図５】
2004294595.tif 000007
【図６】
2004294595.tif 000008