(57)【特許請求の範囲】
【請求項１】
コード情報を入力する入力手段と、
自動伴奏パターンを複数記憶する記憶手段と、
該複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、
該選択手段で選択した自動伴奏パターンに含まれる各発音データの音高が所定値よりも高いか低いかを判別する判別手段と、
該判別手段での判別結果と該入力されたコード情報に応じて該選択された自動伴奏パターンに含まれる各発音データごとにオルタレーションの仕方を決定する決定手段とを備えた自動伴奏装置。
【請求項２】
コード情報を入力する入力手段と、
自動伴奏パターンを複数記憶する記憶手段と、
該複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、
該選択手段で選択した自動伴奏パターンがコード構成音のみを含むコードパターンかコード構成音以外を含むオブリガードパターンかの違いを判別する判別手段と、
該判別手段で判別された該違いと該入力されたコード情報に応じて該選択された自動伴奏パターンのオルタレーションの仕方を決定する決定手段とを備えた自動伴奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オルタレーション機能を備えた自動伴奏装置に関する。
【０００２】
従来、自動伴奏装置には、複数パートからなる予め記憶された自動伴奏パターンを、鍵盤等から指示されたコードに従って変更（オルタレーション）して出力する機能、すなわち指示されたコードに従って伴奏パターンの一部のデータの音高を上げる／下げるなどして出力する機能を備えたものがある。
【０００３】
【発明が解決しようとする課題】
上述した従来の自動伴奏のオルタレーション機能は、自動伴奏される曲の構成における時間的な位置、パート、音域などの音楽的な役割の違いを考慮しておらず、ただ単に一つの方法でオルタレーションを行うだけのものである。このため、伴奏パターンをオルタレーションすると、音楽的に好ましくない伴奏パターンに変化してしまうこともあった。
【０００４】
例えば図１７はその例を示すものであり、セブンス用のイントロパターンの伴奏パターンをマイナーセブンにオルタレーション（変更）する場合を示している。図１７（１）に示すようなコード進行（Ｃ→Ｅmin →Ｆ→Ｇ) を持ったイントロパターンがある場合、アレンジャーはこのイントロパターンをマイナーにオルタレーション（変換）しようとして、２番目のコードについては、Ｅ→Ｅ♭aug という変換を行う。この結果、元のイントロパターンは図１７（２）に示すようなコード進行（Ｃmin →Ｅ♭aug →Ｆ→Ｇ) に変換されるが、この変換後のイントロのうち、２番目の「Ｅ♭aug 」はイントロパターンのコード進行としては、とても音楽的であるとは言い難いものである。
【０００５】
本発明はかかる問題点に鑑みてなされたものであり、自動伴奏のオルタレーションにあたり、自動伴奏される曲の音楽的な役割にかなったオルタレーションができるようにするこを目的とする。
【０００６】
【課題を解決するための手段および作用】
上述の課題を解決するために、本発明に係る自動伴奏装置は、コード情報を入力する入力手段と、自動伴奏パターンを複数記憶する記憶手段と、該複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、該選択手段で選択した自動伴奏パターンの音楽的な役割を判別する判別手段と、該判別手段で判別された該音楽的な役割と該入力されたコード情報に応じて該選択された自動伴奏パターンのオルタレーションの仕方を決定する決定手段とを備える。この自動伴奏装置によれば、自動伴奏パターンの曲進行における音楽的な役割に応じて、選択された自動伴奏パターンがその音楽的役割にかなった仕方でオルタレーションされるので、自動伴奏パターンが、音楽的に好ましくないものにオルタレーションされてしまうことを防止できる。
【０００７】
上記の音楽的な役割としては、自動伴奏パターンの曲構成における時間的な位置、パート、音域のうちの少なくとも一つを用いることができる。
例えば、曲構成における時間的な位置として「イントロ」、「エンディング」、「フィルイン」「メイン」などを用いることができ、パートとして「リズムパート」「ベースパート」「アカンプ（伴奏）パート」などを用いることができ、音域としてある所定の音程よりも高いか低いかなどを用いることができる。
そして、これらの違いにより、自動伴奏パターンのオルタレーションの仕方を変えることで、音楽的により適切なオルタレーションを行うことができる。
これらの例をあげるならば、例えば▲１▼「イントロ」「エンディング」のパターンについては、コード自体にコード進行を含む場合があるので、オルタレーションにより不協和音を発生しないようにコードのルートによるシフトだけにする、▲２▼メイン１やメイン２のパターンについては、ルートが変わったときに音域が急に変わらないように、各音名毎にコードのルートによるシフト量が極力少なくなるようなオルタレーションを行う、▲３▼アカンプ（伴奏）パートのパターンについては、所定の音程よりも低いノートはベース的な役割が強いと見なしてベースパートと同様なオルタレーションを行うなど、自動伴奏パターンの音楽的役割に応じた種々のオルタレーションの仕方が可能である。
【０００８】
また、音楽的な役割は、該自動伴奏パターンがコード構成音のみを含むコードパターンかコード構成音以外を含むオブリガードパターンかの違いであるようにすることができる。このような「コード」か「オブリガード」かのパターンタイプの違いは、上記複数の自動伴奏パターンについて予め作成しておいてこれを記憶手段に記憶させておいてもよいし、あるいは選択手段により自動伴奏パターンが選択される都度、パターンタイプの判別処理を行うようにしてもよい。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態を図を参照して説明する。
図１には本発明に係る自動伴奏装置の実施形態の一例が示される。図１において、１はＲＯＭ７に記憶された制御プログラムに従って装置全体の制御を行うＣＰＵ（中央処理装置）である。２は演奏を行うための鍵盤装置であり、自動伴奏のオルタレーションにあたりコード等を指定することができる。３は各種の操作子群であり、スタイル選択などのスイッチを含む。４は表示器であり、各種のパラメータを表示する。５は音源部であり演奏情報に対応した楽音信号を生成し、サウンドシステム８から放音する。６は作業用のメモリエリアを提供するＲＡＭ（ランダム・アクセス・メモリ）であり、例えば後述のオルタレーションテーブルＴｂ１、Ｔｂ２などのワーキングメモリとして用いられる。７はＲＯＭ（リード・オンリー・メモリ）であって、前述の制御プログラムの他、例えばスタイルデータ・オルタレートタイプ（パターンタイプ）、各種のオルタレーションテーブルなどが記憶されている。９はバスであり、上述の各部を互いにつないでいる。
【００１０】
図２はこの自動伴奏装置のパネル構成の一部を示すものである。図示するように、表示部４の他、操作子群３が配置されており、これらの操作子群３としては、ディビジョン切換え用スイッチとして、ディビジョンをフィルイン１，２に切り換えるスイッチ３１、３２、イントロ・エンディングに切り換えるスイッチ３３などがある。また、スタート・ストップスイッチ３４は演奏をスタート／ストップするためのスイッチである。また、スタイル選択スイッチ３５〜３９は、ＲＯＭ７に記憶されているスタイルデータのスタイルを選択するためのスイッチである。
【００１１】
図３にはＲＯＭ７に記憶されるスタイルデータの例が示される。スタイルデータは、サンバ、ジャズ、ワルツ・・・といった各演奏スタイル（スタイル１、スタイル２、・・・）毎に分けられ、さらに各演奏スタイル毎のスタイルデータは、イントロ、メイン１、フィルイン１、メイン２、フィルイン２、エンディングと言ったディビジョン毎にパターンを持っている。さらにこの各ディビジョンのパターンには、メジャー（Ｍａｊ）、マイナー（ｍｉｎ）、セブンス（７ｔｈ）といったコードファミリ毎のパターンがある。
【００１２】
図５は上述の図３のパターン（スタイルデータ）を詳細に説明するものである。パターンは図５に示すようなデータが時系列に並んでいるものであり、この図５における「時間」の項目は、当該データの直後のデータに基づく処理が実行されるべき時点までの相対時間を表している。また「パート」の項目は当該データが何れの種類のパートであるかを表しており、パートとしてはここではベース、アカンプ（伴奏）、ドラム（リズム）が示されている。また「データ」の項目には「音色」「音量」「発音」が示されている。ここで、データ中の「音色」は、当該データのパートについて、そこに示された音色を音源部５に設定してその時点以降、音源部７の上記パートではその音色の楽音を発生することを指示することを表している。同様に、データ中の「音量」も、当該データのパートについて、そこに示された音量を音源部７に設定してその時点以降、音源部７の上記パートではその音量（振幅）の楽音を発生することを指示することを表している。
【００１３】
データ中の「発音」は、当該データのパートを発音するにあたって音高と発音強度（消音を含む）などを音源部７に指示するもので、図６に示すように、この発音データは、音高データとベロシティ（発音強度）データを含み構成される。この発音データは、それが記録されているタイミングで、その音高データが表す音高の楽音を、そのベロシティで発音（消音も含む）することを表す。
【００１４】
上記のスタイルデータは、図３のテーブルに示したスタイルデータの他に、図４に示すようなパターンタイプ（オルタレートタイプ）の情報を各スタイル別に持っている。このパターンタイプは、図３中のパターンがコード構成音からなる「コード」タイプのものかコード構成音以外の音を含む「オブリガード」タイプのものかを示すものである。図示するように、ディビジョンが「メイン」のアカンプパートのパターンについて、それぞれのパターン別に当該パターンが「コード」または「オブリガード」かが示されるが、これ以外のディビジョンデータのパターンは全てパターンタイプが「オブリガード」固定である。この図４のパターンタイプ・テーブルは、図３のスタイルデータを用いて予め作成してメモリに記憶しておくか、あるいは図３のスタイルデータテーブルからパターンを読み出したときに後述するパターンタイプ自動判別ルーチンによりパターンタイプを判別して図４のオルタレートタイプ・テーブルに書き込むものである。
【００１５】
次に、本発明におけるオルタレーション処理に用いる各種テーブルについて説明する。なお、これらの各種テーブルはＲＯＭ７に予め記憶されているものである。
【００１６】
図７には「コードファミリ決定テーブル」が示される。コードファミリ決定テーブルは、入力されたコード情報（コードのタイプとルートを含む）のコードタイプとディビジョン切換えスイッチ３１〜３３で選択されたディビジョンとによってコードファミリを決めるテーブルであり、ディビジョンは「イントロまたはエンディング」とそれ以外の「ノーマル」によって分けられる。図示のように、コードタイプとして仮に「０、１、２、３・・・１１・・・」のものがあるとすると、ディビジョンが「ノーマル」と「イントロまたはエンディング」について、これらの各コードタイプに対するコードファミリが「‘０’＝Ｍａｊ」「‘１’＝ｍｉｎ」「‘２’＝７ｔｈ」の符号で表される。
【００１７】
図８には「ルートによるシフト量テーブル」が示される。シフト量テーブルは、入力されたコードのルート音（根音）によって、パターンをオルタレーションしたときの当該パターンの音列全体のシフト量を決めるテーブルであり、「アカンプ」パートと「ベース」パートについて、各ルート音（Ｃ、Ｃ♯、Ｄ、Ｅｂ、Ｅ・・・など）に対するシフト量が決められている。
【００１８】
図９には「ルートによるオルタレーションテーブル」が示される。このオルタレーションテーブルは、入力されたコードのルート音に応じて、各音名毎にオルタレーションのシフト量を決めるテーブルである。このオルタレーションテーブルには、コードファミリに応じてメジャー（Ｍａｊ）、マイナー（ｍｉｎ）、セブンス（７ｔｈ）の３種類があるが、図９にはメジャーの場合のオルタレーションテーブルだけを示している。このオルタレーションテーブルにおいては、縦欄に入力されたコードのルート音、横欄に音名（Note Scale) が書かれ、入力されたルート音に対してそのルート音を持つコードについて各音階音を各々どれだけずつシフトするかが示される。
【００１９】
図１０には「タイプによるオルタレーションテーブル」がアカンプパート用について、また図１１には同じくベースパート用についてそれぞれ示される。このオルタレーションテーブルは、入力されたコードのタイプに応じて、各音名毎にオルタレーションのシフト量を決めるテーブルである。このオルタレーションテーブルにおいては、縦欄に入力されたコードのタイプ、横欄に音名が書かれ、入力されたコードのタイプに対してそのタイプのコードについて各音階音を各々どれだけずつシフトするかが示される。
【００２０】
次に、この実施例装置におけるオルタレーション処理を図１２に示すフローチャートを参照して説明する。図１２はオルタレーション処理のメインルーチンである。
【００２１】
まず、ユーザは、図２に示すパネルの操作子群３を操作して、自動演奏する曲のスタイルとディビジョンとを選択する。すなわちスタイル選択スイッチ３５〜３９の操作によってスタイルが選択され、ディビジョン切換えスイッチ３１〜３３によってディビジョンが選択される。ここで、スタイルには前述したようにサンバ、ジャズ、ワルツ・・・などがあり、ディビジョンにはフィルイン１、２、イントロ／エンディング・・・などがある。
【００２２】
次に、ユーザが鍵盤装置２から、オルタレーションしたいコードを入力すると、このコード入力に対応するコード情報が生成される。このコード情報は、入力されたコードのルート音とコードタイプを認識することで生成される（ステップＳ２）。この生成されたコードタイプに対応するコードファミリを、図７のコードファミリ決定テーブルを参照して決定する（ステップＳ３）。この後、上記で決定した現在のスタイル、ディビジョン、コードファミリを元に、ＲＯＭ７に格納されている図３に示すスタイルデータから該当するパターン（図５に示すデータ列からなる）を読み出す（ステップＳ４）。
【００２３】
読み出したパターンについて更にデータを順に一つずつ読み出し、そのデータのパートがドラムパート（すわなちリズムパート）であるか否かを判別し（ステップＳ５）、ドラムパートであれば、そのデータについて楽音発生の処理に移行する（ステップＳ１３）。この楽音発生処理では、データを音源部５に渡して楽音を発生する。
【００２４】
一方、そのデータがドラムパートでなければ、さらにそのデータがベースパートか否かを判別し（ステップＳ６）、ベースパートであれば、ベース用オルタレーションテーブルＴｂ１を作成する（ステップＳ１１）。
【００２５】
図１４にはこのベース用オルタレーションテーブルの詳細な作成ルーチンが示される。まず、データのディビジョンが「イントロまたはエンディング」かを判別し（ステップＳ１１１）、「イントロまたはエンディング」であれば、このデータはディビジョンが「イントロまたはエンディング」のベースパートとなる。このようなディビジョンが「イントロおよびエンディング」のパターンは、パターン自体にコード進行を含む場合があるため、指示されたコードに従ってパターンの全体にわたって同一の方法でオルタレーションをかけると、不協和音が発生することがある。そこで、「イントロおよびエンディング」のパターンについては、オルタレーションは、コードのルート音によるシフトだけにとどめ、、コードのタイプによるオルタレーションは行わないようにすることが音楽的に適切である。よって図８に示す「ルートによるシフト量テーブル」だけでオルタレーションすることとし、図８のシフト量テーブル(rootShift) のベースパートの項を参照して楽音を変換するためのオルタレーションテーブルＴｂ１を作成する（ステップＳ１１２）。これは、
altarate Tb1[Note]＝rootShift  [Root]
Note＝０，・・・１１・・・
とする処理であり、図８における該当するルート音に対するベースパートの項のシフト量だけ、コードの各音階音の音高を全体的にシフトさせることを指示するオルタレーションテーブルＴｂ１を作成するものである。
【００２６】
一方、「イントロまたはエンディング」でなければ、このデータはディビジョンが「イントロまたはエンディング」以外の「ノーマル」であるベースパートとなる。このようなオリジナルやバリエーションのパターンについては、コードのルート音によるシフトおよびコードのタイプによるオルタレーションを行う。よって、図８のシフト量テーブル（rootShift)のベースパートの項と、図１１の「タイプによるオルタレーションテーブル（ベース用）(TypeAlterate)」のうちのステップＳ２で決定されたコードタイプに対応するものとに基づいて楽音を変換するためのオルタレーションテーブルＴｂ１を作成する（ステップＳ１１３）。
これは、
altarate Tb1[Note]＝rootShift [Root]＋typeAlterate[Type][Note]
Note＝０，・・・１１；音名
Root＝０・・・；ルート音
Type＝０・・・；コードタイプ
とする処理であり、図８における該当するルート音に対するベースパートの項のシフト量だけコードの各音階音の音高を全体的にシフトさせるとともに、そのシフトさせた各音階音の音高を更に図１１における該当するコードタイプに対応するシフト量だけ修正するシフトを行うことを指示するオルタレーションテーブルＴｂ１を作成するものである。
【００２７】
このベース用オルタレーションテーブルＴｂ１が作成できたら、このベース用オルタレーションテーブルＴｂ１に基づいて、データを実際にオルタレーションする（ステップＳ１２）。すなわち、
Note＋＝Alterate Tb1[Note%12]
とした後に、このオルタレーションされたデータを音源部５に渡して、楽音を発生する（ステップＳ１３）。
【００２８】
一方、データのパートがアカンプパートであった場合には（ステップＳ７）、さらにそのアカンプパートの発音データの音高を判別する（ステップＳ８）。ここで、アカンプパート（すなわちベース、リズムパートを除く伴奏パート）については、その発音データの音高が所定値もよりも低い場合には、そのノートはベースとしての役割が強いとみなして、ベースパートと同様のオルタレーション、すなわち上述したステップＳ１１２またはＳ１１３のベース用オルタレーションテーブルＴｂ１によりオルタレーションすることが音楽的には適切である。よって、音高が所定値よりも低いと判別されたら、上述のステップＳ１１におけるベース用オルタレーションテーブルＴｂ１を作成して、データのオルタレーションを行う（ステップＳ１２）。
【００２９】
この音高が所定値よりも高い場合には、次に説明するアカンプ用オルタレーションテーブルＴｂ２を作成してオルタレーションを行うことが音楽的には適切である。
【００３０】
図１３にはこのアカンプ用オルタレーションテーブルＴｂ２の詳細な作成ルーチンが示される。まず、データのディビジョンが「イントロまたはエンディング」かを判別し（ステップＳ９１）、「イントロまたはエンディング」であれば、このデータはディビジョンが「イントロまたはエンディング」のアカンプパートとなり、この場合のオルタレーションは、前述のベースパート同様、図８に示す「ルートによるシフト量テーブル」で変換することが音楽的に適切であるので、図８のシフト量テーブルのアカンプパートの項を参照して楽音を変換するためのオルタレーションテーブルＴｂ２を作成する（ステップＳ９２）。この処理の詳細は前述のステップＳ１１２と同様である。
【００３１】
一方、「イントロまたはエンディング」でなければ、さらにこのデータは「フィルイン」かを判別する。「フィルイン」であれば、このデータはディビジョンが「フィルイン」であるアカンプパートとなり、この場合のオルタレーションは、前述のベースパート時のステップＳ１１３で説明したと同様に、図８の「ルートによるシフト量テーブル」と図１０の「タイプによるオルタレーションテーブル（アタンプパート用）」により、変換することが音楽的に適切であるので、図８のシフト量テーブルのアカンプパートの項と、図１０の「ルートによるオルタレーションテーブル（アカンプパート用）」のうちのステップＳ２で決定されたコードタイプに対応するものとに基づいて楽音を変換するためのオルタレーションテーブルＴｂ２を作成する（ステップＳ９４）。この処理の詳細は前述のステップＳ１１３と同様である。
【００３２】
データのディビジョンが「フィルイン」でなければ、さらにそのデータのパターンタイプ（オルタレートタイプ）が「オブリガード」か「コード」かを判別する（ステップＳ９５）。パターンタイプが「オブリガード」であれば、ディビジョンが「フィルイン」のときの同様のオルタレーションテーブルＴｂ２（ステップＳ９４で作成するもの）で変換することが音楽的に適切であるので、ステップＳ９４に移行して上述の処理によりオルタレーションテーブルＴｂ２を作成する（ステップＳ９６）。
【００３３】
一方、データのパターンタイプが「コード」であれば、従来はコードのルート音によるシフトおよびコードのタイプによるオルタレーションを行っていたが、ルート音が変わった場合、パターン全体を単純にシフトしていたため、音域が急に変わってしまい、つながりが悪くなることがある。そこで、この場合のオルタレーションは、図８の「ルートによるシフト量テーブル」と図９の「ルートによるオルタレーションテーブル」により、各音名毎に、コードのルートによるシフト量が極力小さくなるように変換することが音楽的に適切である。よって、次の処理によりオルタレーションテーブルＴｂ２を作成してオルタレーションする。これは、
ｎ＝（Note＋rootAlterate[Root][Note]−rootShift[Root] ）％１２
altarate Tb1[Note]＝typeAlterate[Type][n] ＋rootAlterate[Root][Note]
Note＝０，・・・１１
とする処理であり、この処理は、当該発音データの音高Noteに、図９の「ルートによるオルタレーションテーブル」から求められるシフト量rootAlterate[Root][Note]を加え、この加算値から図８の「ルートによるシフト量テーブル」から求められるシフト量rootShift[Root] を減じた値を新たな音高ｎとし、さらに、図１１の「タイプによるオルタレーションテーブル」からこの新たな音高ｎに対応したシフト量typeAlterate[Type][n] を求め、これに図９の「ルートによるオルタレーションテーブル」から求めたシフト量rootAlterate[Root][Note]を加えて、当該発音データの音高のシフト量altarate Tb1[Note]を求めるものである。
【００３４】
このアカンプ用オルタレーションテーブルＴｂ２が作成できたら、このアカンプ用オルタレーションテーブルＴｂ２に基づいて、データを実際にオルタレーションする（ステップＳ１０）。すなわち、
Note＋＝Alterate Tb2[Note%12]
とした後に、このオルタレーションされたデータを音源部５に渡して、楽音を発生する（ステップＳ１３）。
【００３５】
本実施例は以上のような構成とすることにより、例えば次に示すような曲の音楽的な役割（曲の構成における時間的な位置、パート、音域など）の違いに応じて、より適切なオルタレーションを行うことができる。
【００３６】
▲１▼ディビジョンが「イントロおよびエンディング」のパターンは、パターン自体にコード進行を含む場合があるため、指示されたコードに従ってパターンの全体にわたって同一の方法でオルタレーションをかけると、不協和音をが発生することがある。そこで、この実施例では、「イントロおよびエンディング」のパターンについては、コードのルート音によるシフトだけにとどめ、コードのタイプによるオルタレーションは行わないようにしている。
【００３７】
▲２▼メイン１やハイン２のパターンについては、従来はコードのルート音によるシフトおよびコードのタイプによるオルタレーションを行っていたが、ルート音が変わった場合、パターン全体を単純にシフトしていたため、音域が急に変わってしまい、つながりが悪くなることがある。そこで、この実施例では、音名ごとに、コードのルートによるシフト量が極力小さくなるようなオルタレーションテーブル（ステップＳ９６で作成するオルタレーションテーブルＴｂ２）を作成して、このオルタレーションテーブルを参照してオルタレーションを行う。
ただし、コード伴奏パートについては、テーブル参照によるオルタレーションを行い、オブリガードパートについては従来どうり単純なシフトを行う。
【００３８】
▲３▼ベース、リズムパートを除く伴奏パートについて、所定の音程よりも低いノートはベースとしての役割が強いとみなして、ベースパートと同様のオルタレーションを行う（ステップＳ８、ステップＳ１１の処理）。
ベースパート以外の伴奏パートの場合、コードタイプによるオルタレーションを行うとき（ステップＳ９４、Ｓ９６）、テンションコードが指定されると、ルート音をテンションノートに変更する。一方、ベースパートの場合、テンションコードが指定されても、ルート音は変更しない。
【００３９】
図１６はこの実施例装置よりオルタレーションをした場合と従来法によりオルタレーションをした場合の相違を説明するものである。「Ｃ７ｔｈ」のパターンを従来法ではタイプオルタレートし、さらにルートシフトすると、音域を大きく外れた音楽的に好ましくないパターンに変換されてしまうが、本発明によれば、これらをルートオルタレートし、さらにタイプオルタレートすることで、音楽的に不自然でないパターンに変換することができる。
【００４０】
次に、スタイルデータのパターンについてそのパターンタイプ（オルタレートタイプ）を自動判別する処理について図１５を参照して説明する。図１５はこのパターンタイプ自動判別ルーチンのフローチャートである。まず、スタイルデータ中から選択した所望のパターン（図５）を選択し、そのパターン中からデータ（発音データ）を順次に読み出し、その発音データの音高がコード構成音であるか否か判別し（ステップＳ２２）、コード構成音でなければ、そのパターンのパターンタイプは「オブリガード」と判別して図４のパターンタイプ・テーブルに書き込む（ステップＳ２３）。その発音データの音高がコード構成音であれば、さらにそのパターン中の次の発音データを読み出し、同じ処理を繰り返し、このコード構成音であるとの判定がパターンの終わりのデータまで続いたら、そのパターンのパターンタイプは「コード」と判別して、図４のパターンタイプ・テーブルに書き込む。
【００４１】
【発明の効果】
以上に述べたように、本発明によれば、自動伴奏パターンのオルタレーションにあたり、自動伴奏される曲の音楽的な役割にかなったオルタレーションができるようになり、音楽的に好ましくないパターンに変化してしまうことが防止できる。
【図面の簡単な説明】
【図１】本発明に係る実施形態の一例としての自動伴奏装置を示す図である。
【図２】実施例装置におけるパネル配置の様子を示す図である。
【図３】実施例装置におけるスタイルデータを説明する図である。
【図４】実施例装置におけるオルタレートタイプ（パターンタイプ）を説明する図である。
【図５】実施例装置におけるスタイルデータのパターンを説明する図である。
【図６】実施例装置におけるスタイルデータのパターンについての発音データを説明する図である。
【図７】実施例装置におけるコードファミリ決定テーブルを説明する図である。
【図８】実施例装置における「ルートによるシフト量テーブル」を説明する図である。
【図９】実施例装置における「ルートによるオルタレーションテーブル」を説明する図である。
【図１０】実施例装置における「コードタイプによるオルタレーションテーブル（アカンプ用）」を説明する図である。
【図１１】実施例装置における「コードタイプによるオルタレーションテーブル（ベース用）」を説明する図である。
【図１２】実施例装置のオルタレーション処理の手順を示すメインルーチンのフローチャートである。
【図１３】実施例装置のメインルーチン中のアカンプ用オルタレーションテーブル作成ルーチンを示すフローチャートである。
【図１４】実施例装置のメインルーチン中のベース用オルタレーションテーブル作成ルーチンを示すフローチャートである。
【図１５】実施例装置のパターンタイプ自動判別ルーチンを示すフローチャートである。
【図１６】実施例装置によるオルタレーションを従来法と比較して示す図である。
【図１７】従来法によるオルタレーションの問題点を説明する図である。
【符号の説明】
１  ＣＰＵ（中央処理装置）
２  鍵盤装置
３  操作子群
３１〜３３  ディビジョン切換えスイッチ
３４  スタート／ストップスイッチ
３５〜３９  スタイル選択スイッチ
４  表示部
５  音源部
６  ＲＡＭ（ランダム・アクセス・メモリ）
７  ＲＯＭ（リード・オンリー・メモリ）
８  サウンド・システム
【図１】
0003978277.tif 000002
【図２】
0003978277.tif 000003
【図３】
0003978277.tif 000004
【図４】
0003978277.tif 000005
【図５】
0003978277.tif 000006
【図６】
0003978277.tif 000007
【図７】
0003978277.tif 000008
【図８】
0003978277.tif 000009
【図９】
0003978277.tif 000010
【図１０】
0003978277.tif 000011
【図１１】
0003978277.tif 000012
【図１２】
0003978277.tif 000013
【図１３】
0003978277.tif 000014
【図１４】
0003978277.tif 000015
【図１５】
0003978277.tif 000016
【図１６】
0003978277.tif 000017
【図１７】
0003978277.tif 000018