(57)【要約】【課題】  伴奏パターンを利用して生成した伴奏情報であっても、メロディパートと音域が重なることがなく、実際の演奏が全て演奏可能となる自動伴奏生成装置を提供する。【解決手段】  自動伴奏生成装置は、曲データと伴奏パターンデータを読み出す読み出し手段と、前記曲データからメロディ最低音高を検出する検出手段と、前記メロディ最低音高に基づき、伴奏最高音高を決定する決定手段と、前記伴奏パターンデータから伴奏情報を生成する生成手段と、前記伴奏情報を出力する出力手段と、前記伴奏情報の音高が、前記伴奏最高音高以上の場合に、該伴奏情報を出力しないように、前記出力手段を制御する制御手段とを有する。【選択図】  図４
2005156983.tif 000002
【特許請求の範囲】
【請求項１】
曲データと伴奏パターンデータを読み出す読み出し手段と、
前記曲データからメロディ最低音高を検出する検出手段と、
前記メロディ最低音高に基づき、伴奏最高音高を決定する決定手段と、
前記伴奏パターンデータから伴奏情報を生成する生成手段と、
前記伴奏情報を出力する出力手段と、
前記伴奏情報の音高が、前記伴奏最高音高以上の場合に、該伴奏情報を出力しないように、前記出力手段を制御する制御手段と
を有する自動伴奏生成装置。
【請求項２】
さらに、前記曲データを複数の対象区間に分割する分割手段を有し、
前記検出手段は、前記対象区間ごとに、メロディ最低音高を検出し、
前記決定手段は、前記対象区間ごとに、伴奏最高音高を決定する請求項１記載の自動伴奏生成装置。
【請求項３】
前記分割手段は、前記曲データから取得されるコード情報に基づき、前記曲データを複数の対象区間に分割する請求項２記載の自動伴奏生成装置。
【請求項４】
前記制御手段は、前記伴奏最高音高以上の場合に、さらに、直前に出力した伴奏情報の音長に、出力をしないように制御した伴奏情報の音長を加算する請求項１〜３のいずれか１項に記載の自動伴奏生成装置。
【請求項５】
曲データと伴奏パターンデータを読み出す読み出し手順と、
前記曲データからメロディ最低音高を検出する検出手順と、
前記メロディ最低音高に基づき、伴奏最高音高を決定する決定手順と、
前記曲データに含まれるコード情報を参照して、前記伴奏パターンデータから伴奏情報を生成する生成手順と、
前記伴奏情報を出力する出力手順と、
前記伴奏情報の音高が、前記伴奏最高音高以上の場合に、該伴奏情報を出力しないように、前記出力手段を制御する制御手順と
を有する自動伴奏生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動伴奏生成装置に関し、より詳しくは、伴奏パターンデータに基づき伴奏情報を生成する自動伴奏生成装置に関する。
【背景技術】
【０００２】
予め用意された伴奏パターン（演奏データ列）を、コードシーケンス（コード進行列）に基づき編集し、演奏したい楽曲データに対応した演奏データ列に変換することができる演奏パターン処理装置が知られている（例えば、特許文献１参照）。
【０００３】
例えば、メロディトラックとコードシーケンスを含む曲データに対して、別に用意される伴奏パターンデータから左手演奏用の伴奏情報を生成することができる。
【０００４】
【特許文献１】特開２００２−２６８６３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
伴奏パターンに基づき、自動的に伴奏情報を生成する場合、伴奏パターンデータをコードで展開した伴奏情報の音域とメロディトラックに記録されているメロディ演奏データ列（メロディデータ）との使用音域が重なる場合がある。このような場合に、伴奏パターンにより生成された伴奏情報とメロディデータを楽譜表示して、ユーザが実際に鍵盤で演奏しようとしたときに、右手と左手がぶつかり演奏が不可能な個所が出てくる可能性がある。    
【０００６】
本発明の目的は、伴奏パターンを利用して生成した伴奏情報であっても、メロディパートと音域が重なることがなく、実際の演奏が全て演奏可能となる自動伴奏生成装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、自動伴奏生成装置は、曲データと伴奏パターンデータを読み出す読み出し手段と、前記曲データからメロディ最低音高を検出する検出手段と、前記メロディ最低音高に基づき、伴奏最高音高を決定する決定手段と、前記伴奏パターンデータから伴奏情報を生成する生成手段と、前記伴奏情報を出力する出力手段と、前記伴奏情報の音高が、前記伴奏最高音高以上の場合に、該伴奏情報を出力しないように、前記出力手段を制御する制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、伴奏パターンを利用して生成した伴奏情報であっても、メロディパートと音域が重なることがない。よって、実際の演奏が全て演奏可能となる。
【０００９】
また、本発明によれば、メロディに応じて自動的に左手パートのデータを自動生成するので、ユーザはメロディの修正やコードの変更などの操作を行う必要がなくなる。
【００１０】
また、本発明によれば、細かい区間に分けて対応できるため、伴奏パートの修正は必要最低限度行えばよい。
【発明を実施するための最良の形態】
【００１１】
【実施例】
【００１２】
図１は、本発明の実施例による自動伴奏生成装置１を構成する電子楽器のハードウェア構成を示すブロック図である。
【００１３】
自動伴奏生成装置１のバス２には、ＲＡＭ３、ＲＯＭ４、ＣＰＵ５、外部記憶装置７、検出回路８、表示回路１０、音源回路１２、効果回路１３、通信インターフェイス１７が接続される。
【００１４】
ユーザは、検出回路８に接続される操作子９を用いて、各種設定をすることができる。操作子９は、演奏用の鍵盤等の演奏操作子とその他の設定操作子である。設定操作子は、例えば、マウス、文字入力用キーボード、ジョイスティック、ロータリーエンコーダ、スイッチ、ジョグシャトル等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。
【００１５】
また、操作子９は、マウス等の他の操作子を用いて操作するディスプレイ１１上に表示されるソフトスイッチ等でもよい。
【００１６】
表示回路１０は、ディスプレイ１１に接続され、各種情報をディスプレイ１１に表示することができる。
【００１７】
外部記憶装置７は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス２に接続される。外部記憶装置７は、例えばフロッピ（登録商標）ディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、光磁気ディスク（ＭＯ）ドライブ、ＣＤ−ＲＯＭ（コンパクトディスク−リードオンリィメモリ）ドライブ、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｃ）ドライブ、半導体メモリ等である。
【００１８】
外部記憶装置７には、各種パラメータ、各種データ、及び本実施例を実現するためのプログラム及び曲データ等を記憶することができる。
【００１９】
ＲＡＭ３は、フラグ、レジスタ又はバッファ、各種パラメータ等を記憶するＣＰＵ５のワーキングエリアを有する。ＲＯＭ４には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。ＣＰＵ５は、ＲＯＭ４又は、外部記憶装置７に記憶されている制御プログラム等に従い、演算又は制御を行う。
【００２０】
タイマ６は、ＣＰＵ５に接続されており、基本クロック信号、割り込み処理タイミング等をＣＰＵ５に供給する。
【００２１】
音源回路１２は、音声データや、ＭＩＤＩ信号等の演奏信号に応じて楽音信号を生成し、効果回路１３を介して、サウンドシステム１４に供給する。
【００２２】
音源回路１２の方式は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路１２を構成してもよいし、ＤＳＰ＋マイクロプログラムを用いて音源回路１２を構成してもよいし、ＣＰＵ＋ソフトウェアのプログラムで音源回路１２を構成してもよい。また、これらの組合せでもよい。さらに、１つの回路を時分割で使用して複数の発音チャンネルを形成してもよいし、１つの発音チャンネルを１つの回路で形成してもよい。
【００２３】
効果回路１３は、音源回路１２から供給されるデジタル形式の楽音信号に各種効果を与える。サウンドシステム１４は、Ｄ／Ａ変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
【００２４】
通信インターフェイス１７は、ＩＥＥＥ１３９４規格に準拠したインターフェイスである。また、通信インターフェイス１７として、ＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワーク１９に接続可能なインターフェイスを備えていてもよい。その場合、該通信ネットワーク１９を介して、サーバコンピュータ２０と接続し、ＨＤＤ等外部記憶装置７、又はＲＡＭ４等内に、サーバコンピュータ２０から制御プログラムや本実施例を実現するためのプログラム、演奏情報等をダウンロードすることができる。
【００２５】
なお、通信インターフェイス１７として、さらにＭＩＤＩ機器が接続可能なＭＩＤＩインターフェイスや、ＵＳＢ機器を接続可能なＵＳＢインターフェイス等を備えていてもよい。
【００２６】
外部機器２０は、通信インターフェイス１７を介して接続可能な機器であり、例えば、外部接続用の鍵盤等のＭＩＤＩ機器、その他の音源装置、コンピュータ等である。ＭＩＤＩ機器の形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。ユーザは、この外部機器２０を演奏（操作）することにより演奏信号の入力を行うこともできる。また、外部機器２０は、演奏情報以外の各種データ及び各種設定を入力するための操作子としても用いることが出来る。
【００２７】
図２は、本実施例による曲データＭＤのフォーマットを示す概念図である。曲データＭＤは、例えばＭＩＤＩデータ等の自動演奏データであり、ヘッダー情報ＨＣ、演奏データＰＤ、コードシーケンスＣＳ等を含んで構成される。
【００２８】
ヘッダー情報ＨＣには、例えば、初期音量値、初期テンポ値、トラック音色、効果設定等の情報が記録されている。また、本実施例の曲データＭＤには、ヘッダー情報ＨＣ中に曲データＭＤに対応する楽曲の調を表す調情報（Ｋｅｙ  Ｓｉｇｎａｔｕｒｅ）ＫＳを記録することもできる。その場合、調情報ＫＳは、「ＣＭａｊ」や「Ａｍｉｎ」等の調名で記録されていてもよいし、「♯」や「♭」等の調号、該調号の数、及びＭａｊ又はｍｉｎ（長調又は単調）の区分で記録されていてもよい。
【００２９】
演奏データＰＤは、例えば、トラック１〜ｎの複数のトラックＴＲを有し、各トラックＴＲは、タイミングデータＴＭと該タイミングデータＴＭの表すタイミングに再生されるべきイベントを表すイベントデータＥＶを含んで構成される。
【００３０】
タイミングデータＴＭは、イベントデータＥＶで表される各種イベントを処理すべき時間を表すデータである。本実施例では、タイミングデータＴＭは、小節数、該小節での拍数、及び該拍におけるクロック数（小節：拍：クロック）で表している。なお、イベントの処理時間は、演奏開始からの絶対時間で表してもよいし、前のイベントからの経過時間である相対時間で表すようにしてもよい。
【００３１】
イベントデータＥＶは、楽曲を再生させる為の各種イベントの内容を表すデータである。イベントには、ノートオンイベントとノートオフイベントの組合せである楽曲の発生に直接関係する音符を表すノートイベント（音符データ）と、ピッチチェンジイベント（ピッチベンドイベント）、テンポチェンジイベント、音色チェンジイベントなどの楽曲の再生態様などを設定するための設定イベントが含まれる。それぞれのノートイベントには、音高、発音長（ゲートタイム）、音量（ベロシティ）等が記録されている。
【００３２】
コードシーケンスＣＳは、曲データＭＤのコード進行を表すコード情報をコードイベントとして記録するシーケンスデータであり、演奏データＰＤのトラックＴＲと同様に、タイミングデータＴＭと該タイミングデータＴＭの表すタイミングにおける楽曲データＭＤのコード情報を表すコードイベント（イベントデータＥＶ）を含んで構成される。
【００３３】
なお、伴奏パターンデータの形式は、曲データＭＤの演奏データＰＤと同様である。また、本実施例では、伴奏パターンデータには、鍵盤楽器における左手伴奏用のトラックのみが含まれるが、和音伴奏を行うためのトラック、ベース音による伴奏を行うためのトラック、リズムトラック等の複数のトラックを含ませることが出来る。なお、伴奏パターンデータにおいては、リズムトラックを除く各トラックの伴奏データは、所定のコードに基づいて作成されており、演奏時に、コードシーケンスＣＳに指定されるコード情報に従ってコード変換される。例えば、所定のコードはＣメジャーであり、伴奏データ中の音高を演奏時に指定されるコードに合うように変換される。なお、この伴奏データの所定のコードは、固定でも良いし可変でも良い。
【００３４】
なお、伴奏パターンデータは、当該伴奏パターンデータのセクション名（イントロ、メイン、エンディング等）、小節数（例えば、１小節、４小節、８小節等）、及びジャズ、ロック、クラッシック等の音楽ジャンルの種類等の識別情報を含む。
【００３５】
さらに、伴奏パターンデータとして、曲データの一部を使用することも出来る。曲データの任意のパートをそのまま使用する場合は、コード情報は参照しなくとも良い。ただし、伴奏音の制御時にはコード情報を参照することがありえる。例えば、音長を伸ばす音がコードに合う音（コード構成音）になるようにするためにコード情報を参照して変換することがある。また、曲データのあるパートのある小節を伴奏パターンデータとして使う場合は、コード情報を参照して伴奏音を生成する。
【００３６】
図３は、本発明の実施例による自動伴奏生成処理を表すフローチャートである。
【００３７】
ステップＳＡ１で、自動伴奏生成処理を開始して、ステップＳＡ２で、初期設定を行う。この初期設定は、例えば、曲データＭＤ及び該曲データに対して使用する伴奏パターンデータの選択、区間の分割方法（コード、小節等）を、図１の操作子９等を用いて設定する。なお、本実施例では、コードシーケンスに従い、コード区間ごとに曲データを分割する。コード区間とは、同一コードが続く区間である。
【００３８】
ステップＳＡ３では、ステップＳＡ２で選択した曲データＭＤに含まれるコード情報（コードシーケンス）ＣＳを参照して、曲データＭＤをコード区間ごとに分割する。
【００３９】
ステップＳＡ４では、ステップＳＡ３で分割した各コード区間ごとに、ステップＳＡ２で選択した伴奏パターンデータを用いて伴奏情報を生成する。ここでの、各コード区間ごとの伴奏情報生成処理は、図４を用いて後述する。図４に示す伴奏情報生成処理をコード区間数分繰り返して、曲データＭＤの全体に伴奏を付加した後に、ステップＳＡ５で、自動伴奏生成処理を終了する。
【００４０】
図４は、図３のステップＳＡ４で行われる伴奏情報生成処理を表すフローチャートである。
【００４１】
ステップＳＢ１で、伴奏情報生成処理を開始し、ステップＳＢ２で、曲データＭＤの対象区間（今回の処理対象のコード区間）から、メロディデータ（例えば、メロディパートと考えられるトラック内の演奏データ）を抽出し、該メロディデータの最低音高（メロディ最低音高）を検出する。なお、メロディパートの検出は、例えば、複数のトラック中で最高音を含むトラックをメロディパートとしてもよいし、ユーザの指定するトラックをメロディパートとしても良い。また、一つのトラックをメロディパートとするだけでなく、複数のトラックをまとめて一つのメロディパートとして検出／選択できるようにしても良い。その他、周知の検出方法を用いて、メロディパートを検出しても良い。
【００４２】
ステップＳＢ３では、ステップＳＢ２で検出したメロディ最低音高を元に、伴奏最高音高を決定する。伴奏最高音高は、この伴奏情報生成処理で生成する伴奏情報に含まれるノートイベントの最高音高（ノートナンバーの最高値）を指定するパラメータであり、例えば、メロディ最低音高未満の値を決定（後述の図５（Ｂ）の説明を参照）するようにしても良いし、メロディ最低音高の３半音下等のメロディ最低音高より下の音で、且つ両手で演奏する際に右手で演奏されるメロディパートの演奏に支障がない程度に離れた音階以下を指定（後述の図５（Ｃ）の説明を参照）するようにしても良い。
【００４３】
ステップＳＢ４では、図１のＲＡＭ３等に作成される伴奏音リストＤａｔａＬｉｓｔの内容を初期化する。
【００４４】
ステップＳＢ５では、対象区間（今回の処理対象のコード区間）に対応する伴奏パターンデータを１音（１ノートイベント）ずつ読み出して、ＰａｔｔｅｒｎＮｏｔｅとして記憶する。その後、ステップＳＢ６で、当該ＰａｔｔｅｒｎＮｏｔｅを、曲データＭＤに含まれるコードシーケンスＣＳに基づき、現時点での有効なコード（現タイミングに対応するコード）に合うように変換（トランスポーズ）する。
【００４５】
ステップＳＢ７では、ステップＳＢ６で変換したＰａｔｔｅｒｎＮｏｔｅの音高が、ステップＳＢ３で決定した伴奏最高音高以上か否かを判断する。伴奏最高音高以上である場合は、ＹＥＳの矢印で示すステップＳＢ９に進み、伴奏最高音高未満である場合は、ＮＯの矢印で示すステップＳＢ８に進む。
【００４６】
ステップＳＢ８では、変換したＰａｔｔｅｒｎＮｏｔｅを含む伴奏音情報（ステップＳＢ５で読み出したノートイベントをステップＳＢ６で変換したＰａｔｔｅｒｎＮｏｔｅで置換した伴奏データ）を伴奏音リストＤａｔａＬｉｓｔに追加する。その後、ステップＳＢ１１に進む。
【００４７】
ステップＳＢ９では、伴奏音リストＤａｔａＬｉｓｔが初期状態（ＰａｔｔｅｒｎＮｏｔｅが何も登録されていない状態）であるか否かを判断する。初期状態である場合は、ＹＥＳの矢印で示すステップＳＢ１１に進み、初期状態でない場合、すなわち少なくとも一つのＰａｔｔｅｒｎＮｏｔｅが登録されている場合は、ＮＯの矢印で示すステップＳＢ１０に進む。本実施例では、ＰａｔｔｅｒｎＮｏｔｅの音高が、伴奏最高音高以上である場合に、一つ前のタイミングのＰａｔｔｅｒｎＮｏｔｅ（伴奏音リストＤａｔａＬｉｓｔの最後尾に登録されているＰａｔｔｅｒｎＮｏｔｅ）の音長（ゲートタイム）に、現在のタイミングのＰａｔｔｅｒｎＮｏｔｅの音長を加算する。そのような加算を行うためには、少なくとも一つのＰａｔｔｅｒｎＮｏｔｅが登録されている必要があるので、ここでそれを判断する。
【００４８】
ステップＳＢ１０では、伴奏音リストＤａｔａＬｉｓｔの最後尾に登録されているＰａｔｔｅｒｎＮｏｔｅの音長（ゲートタイム）に、現在のタイミングのＰａｔｔｅｒｎＮｏｔｅの音長を加算する。これにより、現タイミングのＰａｔｔｅｒｎＮｏｔｅが演奏上（楽譜上）削除されることになり、現タイミングのＰａｔｔｅｒｎＮｏｔｅを演奏する必要がなくなり右手で行われるメロディ演奏との競合がなくなる。
【００４９】
ステップＳＢ１１では、今回のタイミングのＰａｔｅｒｎＮｏｔｅが、対象区間の最後の伴奏パターンデータ（ノートイベント）であるか否かを判断する。最後のデータである場合は、ＹＥＳの矢印で示すステップＳＢ１２に進む。最後のデータでない場合は、ＮＯの矢印で示すステップＳＢ５に戻り以降の処理を繰り返す。
【００５０】
ステップＳＢ１２では、伴奏音リストＤａｔａＬｉｓｔを伴奏音情報として出力する。その後、ステップＳＢ１３に進み、今回の伴奏音生成処理を終了する。なお、この伴奏音生成処理は、図３のステップＳＡ３で抽出した対象区間全てについて行われる。出力した伴奏音情報は、例えば、楽譜表示画面を生成するために用いられ、伴奏音情報に基づき生成された楽譜表示画面は、図１のディスプレイ１１等に表示される。ユーザは、該楽譜表示画面を参照して、演奏を行う。なお、楽譜表示の際は、元の曲データＭＤを伴奏音情報にあわせて表示する。また、出力した伴奏音情報は、自動演奏用に用いることもできる。
【００５１】
図５は、図４の伴奏音生成処理を説明するための図である。
【００５２】
図５（Ａ）は、図４のステップＳＢ６までの処理を行った後の伴奏情報及びメロディパートを示す図である。図５（Ａ）に示す２小節分のメロディパートは、対象区間ＳＴ１〜ＳＴ４にコードごとに分割されている。ここで、図４のステップＳＢ７での判断基準が、「ＰａｔｔｅｒｎＮｏｔｅがステップＳＢ３で決定した伴奏最高音高（＝メロディ最低音高）以上か否か」である場合と、「ＰａｔｔｅｒｎＮｏｔｅがステップＳＢ３で決定した伴奏最高音高（＝メロディ最低音高）から３半音下以上であるか否か」である場合とを説明する。
【００５３】
判断基準が、「ＰａｔｔｅｒｎＮｏｔｅがステップＳＢ３で決定した伴奏最高音高（＝メロディ最低音高）以上か否か」である場合は、区間ＳＴ３の第３音目が「ＰａｔｔｅｒｎＮｏｔｅがステップＳＢ３で決定した伴奏最高音高以上」であるので、当該第３音目のノートイベントを削除（伴奏音リストＤａｔａＬｉｓｔに登録しない）で、該ノートイベントのゲートタイム（音長）を第２音目に加算する。このようにして、図５（Ｂ）に示すような伴奏音情報を出力する。なお、区間ＳＴ１、ＳＴ２及びＳＴ４では、ＰａｔｔｅｒｎＮｏｔｅの音高が伴奏最高音高を超えることがないので、ＰａｔｔｅｒｎＮｏｔｅは、そのまま伴奏音リストＤａｔａＬｉｓｔに記録され出力される。
【００５４】
判断基準が、「ＰａｔｔｅｒｎＮｏｔｅがステップＳＢ３で決定した伴奏最高音高（＝メロディ最低音高）から３半音下以上であるか否か」である場合は、区間ＳＴ３の第２音目及び第３音目が、「ＰａｔｔｅｒｎＮｏｔｅがステップＳＢ３で決定した伴奏最高音高（＝メロディ最低音高）から３半音以下」であるので、当該第２音目及び第３音目のノートイベントを削除（伴奏音リストＤａｔａＬｉｓｔに登録しない）で、該ノートイベントのゲートタイム（音長）を第１音目に加算する。このようにして、図５（Ｃ）に示すような伴奏音情報を出力する。なお、区間ＳＴ１、ＳＴ２及びＳＴ４では、ＰａｔｔｅｒｎＮｏｔｅの音高が伴奏最高音高を超えることがないので、ＰａｔｔｅｒｎＮｏｔｅは、そのまま伴奏音リストＤａｔａＬｉｓｔに記録され出力される。
【００５５】
以上、本実施例によれば、コードシーケンスに基づき伴奏パターンデータを編集した後に、メロディパートの最低音と重ならないように伴奏情報を生成するので、伴奏パターンを利用して生成した伴奏情報であっても、メロディパートと音域が重なることがない。よって、ユーザは、表示装置等に表示される伴奏情報及びメロディパートを含む楽譜を参照して、両手による実際の演奏が可能となる。
【００５６】
また、伴奏情報の生成は、対象区間ごとに行われるので、伴奏情報の生成において、メロディパートと音域の重なる音の削除は、必要最低限度行えばよい。
【００５７】
なお、上述の実施例ではコード区間毎に伴奏パートとメロディパートの重なりをチェックしているが、例えば数小節にわたるコード区間の場合は、さらに小節単位に分けてチェックしてもよい。
【００５８】
また、伴奏パターンデータは左手パート用のデータだけに対応しているものでもよいし、複数パート含まれていて、その中の一部のパートを指定して使うようにしてもよい。
【００５９】
さらに、対象区間内のメロディ音との重なりチェックにより出力しないように判断された伴奏音について、実施例では出力せずにその伴奏音の音長を同一区間内で直前に出力した伴奏音の音長に加えているが、一旦出力した後にその伴奏音を削除して直前の伴奏音の音長を修正する形式にしてもよい。
【００６０】
なお、ある区間の最初の伴奏音がメロディ音と重なると判断された場合には、例えばその区間は伴奏音を出力しない、もしくは、メロディ音に重ならない音高になるまで伴奏音のオクターブを下げて出力する、などの対応が考えられる。
【００６１】
なお、区間決定や伴奏パターンデータの展開に使用されるコードシーケンスは、上述したように、曲データに予め含まれていてもよいし、伴奏データを生成する前にユーザが入力・編集したものでもよい。あるいは、曲データの音符情報より自動検出したコード情報を使ってもよい。
【００６２】
また、区間内のメロディ音は、その区間内に完全に含まれている音符情報（ノートイベント）だけでなく、区間前から始まって区間内にキーオン状態にある音符情報や区間内で始まって後ろのどこかの区間でキーオフ状態になる音符情報も含まれる。
【００６３】
なお、伴奏パターンデータは実施例では１種類を継続して用いることを想定しているが、曲中で他の種類の伴奏パターンデータに変わってもよい。また、伴奏パターンデータのセクション種類が曲の途中で変わってもよい。
【００６４】
なお、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした汎用のコンピュータ等によって、実施させるようにしてもよい。
【００６５】
その場合には、本実施例に対応するコンピュータプログラム等を、ＣＤ−ＲＯＭやフロッピーディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【００６６】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施例による自動伴奏生成装置１を構成する電子楽器のハードウェア構成を示すブロック図である。
【図２】本実施例による曲データＭＤのフォーマットを示す概念図である。
【図３】本発明の実施例による自動伴奏生成処理を表すフローチャートである。
【図４】図３のステップＳＡ４で行われる伴奏情報生成処理を表すフローチャートである。
【図５】図４の伴奏音生成処理を説明するための図である。
【符号の説明】
【００６８】
１…自動伴奏生成装置、２…バス、３…ＲＡＭ、４…ＲＯＭ、５…ＣＰＵ、６…タイマ、７…外部記憶装置、８…検出回路、９…操作子、１０…表示回路、１１…ディスプレイ、１２…音源回路、１３…効果回路、１４…サウンドシステム、１７…通信Ｉ／Ｆ、１９…通信ネットワーク、２０…外部機器
【図１】
2005156983.tif 000003
【図２】
2005156983.tif 000004
【図３】
2005156983.tif 000005
【図４】
2005156983.tif 000006
【図５】
2005156983.tif 000007