(57)【要約】【課題】曲データに対応して、コード進行の和音列や伴奏スタイルのセクション列など自動伴奏を生成する際に、特別な操作を必要としないで、曲データに適した自動伴奏を付加できるようにする。【解決手段】曲データのマスタートラックに区切り情報を挿入しておく。先頭から演奏データ（イベントデータ）を順次読み出す。トラック２のイントロ用フレーズとトラック１のメロディのアウフタクト部分とをＡ区間（１つの区間グループ）とする。メロディのアウフタクト以外の部分とトラック３の間奏用フレーズとをＢ区間（１つの区間グループ）とする。Ａ区間ではアウフタクト以外のイントロ用フレーズで自動伴奏を生成する。Ｂ区間ではメロディと間奏用フレーズで自動伴奏を生成する。【選択図】図４
2005099205.tif 000002
【特許請求の範囲】
【請求項１】
曲データからイベント情報を読み出すステップと、
該読み出したイベント情報に基づいて曲データ内の演奏データを複数の区間グループに分割するステップと、
該分割された各区間グループの演奏データに対して各区間グループ独立に自動伴奏を生成するステップと、
をコンピュータが実行するための自動伴奏生成プログラム。
【請求項２】
前記曲データが複数トラックからなり、
前記自動伴奏を生成するステップが、前記分割された各区間グループについて、自動伴奏生成の元となる演奏データを読み出すトラックの組み合わせを区間グループ毎に制御して、各区間グループ独立に自動伴奏を生成するステップであること
を特徴とする請求項１記載の自動伴奏生成プログラム。
【請求項３】
前記曲データが複数トラックからなり、
前記自動伴奏を生成するステップが、前記分割された各区間グループにメロディ相当の演奏データが有るか否かを判断し、メロディ相当の演奏データが有ると判断された場合、その区間グループに対して、メロディトラックの演奏データに基づいて自動伴奏を生成し、メロディ相当の演奏データがないと判断された場合、その区間グループに対して、メロディトラック以外のトラックの演奏データに基づいて自動伴奏を生成するステップであること
を特徴とする請求項１記載の自動伴奏生成プログラム。
【請求項４】
曲データからイベント情報を読み出す読出し手段と、
該読出し手段で読み出したイベント情報に基づいて曲データ内の演奏データを複数の区間グループに分割する分割手段と、
該分割手段で分割された各区間グループの演奏データに対して各区間グループ独立に自動伴奏を生成する自動伴奏生成手段と、
を備えたことを特徴とする自動伴奏生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器などにおいて伴奏スタイルデータを用いて自動伴奏を行うのに適したコンピュータが実行するための自動伴奏生成プログラム及び自動伴奏生成装置に関する。
【背景技術】
【０００２】
従来、電子楽器やシーケンサなどにおいて、曲データに自動伴奏を付加して再生する際に伴奏スタイルを使用している。伴奏スタイルは、曲のイントロダクションに用いるイントロセクションや、曲本体部で主に定常的に用いるメインセクションや、曲のエンディングに用いるエンディングセクションなどの複数種類のセクションが含まれている。そして、このような伴奏スタイルを曲データに付加する技術として特許第３３２７１８８号公報、特許第２８０６３５１号公報に開示されたものがある。
【０００３】
特許第３３２７１８８号公報のものは、曲データを解析してコード進行の和音列と伴奏スタイルのセクション列を自動生成するようにしてる。また、特許第２８０６３５１号公報のものは、曲データを分析してセクション列を自動検出するにあたってセクションのバリエーションタイプを判定することができるものであり、自動判定されたバリエーションタイプは、そのセクションの該当する区間の曲データ中での盛り上がり傾向に対応している。
【特許文献１】特許第３３２７１８８号公報
【特許文献２】特許第２８０６３５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来技術のように曲データに自動伴奏のコード進行の和音列や伴奏スタイルのセクション列を自動付与する場合、従来は、曲データの全体もしくは特定トラック全体を１曲分のメロディデータとして認識していた。例えば最初にイントロ用フレーズがあり、実際のメロディフレーズへと続くような曲データにおいて、イントロ用フレーズと類似したフレーズがメロディ内に存在しないような場合、メロディ区間内で検出されるセクション列の盛り上がり傾向が不適切なものになってしまうことがある。例えば、イントロ用フレーズに派手な伴奏が付き、代わりにメロディで盛り上がるべきところで静かな伴奏がついてしまう可能性がある。
【０００５】
また、イントロ用フレーズがメロディとは別トラックに入っている場合には、メロディのみを１曲分のデータとして解析すると、このメロディに対して検出される伴奏の盛り上がり傾向には不都合はなくなるが、イントロ用フレーズに対して和音列もセクション列も付加されなくなる。
【０００６】
本発明は、自動伴奏を行う際に特別な操作を必要としないで、曲データに適した自動伴奏を付加できるようにすることを課題とする。
【課題を解決するための手段】
【０００７】
請求項１〜３の自動伴奏生成プログラムは、パーソナルコンピュータや電子楽器等におけるコンピュータが実行するものである。請求項１の自動伴奏生成プログラムの実行により、曲データからイベント情報を読み出して、そのイベント情報に基づいて曲データ内の演奏データを複数の区間グループに分割し、この分割された各区間グループの演奏データに対して各区間グループ独立にコード進行の和音列や伴奏スタイルのセクション列などの自動伴奏を生成するようにした。
【０００８】
イベント情報に基づいて演奏データを区間グループに分割する場合、演奏データ自体であるイベント情報で例えばメロディ部分を検出して、このメロディ部分を一つの区間グループに対応させる方法、例えばメロディ部分の開始位置と終了位置とを示す区切り情報であるイベント情報を演奏データに予め記録しておき、この区切り情報（イベント情報）でメロディ部分を一つの区間グループに対応させる方法などがある。
【０００９】
楽曲は、イントロ、メロディ、間奏、エンディングのように各々特徴を持ったフレーズが時系列に連なったものであり、曲データに対して時間軸上で区間を区切り、その区間内の演奏データ（ノートイベント）を各区間グループにグループ分けし、この区間グループ毎にその演奏データに基づいて自動伴奏を生成すると、特徴の異なるフレーズで各フレーズに適した自動演奏を付加することが可能となる。
【００１０】
請求項２の自動伴奏生成プログラムは、複数トラックからなる曲データを対象とし、請求項１と同様に分割された各区間グループについて各区間グループ独立に自動伴奏を生成する際に、自動伴奏生成の元となる演奏データを読み出すトラックの組み合わせを区間グループ毎に制御するようにした。
【００１１】
例えば、イントロに対応する区間グループではメロディトラック以外のトラックから演奏データを読み出す。メロディに対応する区間グループではメロディトラックから演奏データを読み出したり、メロディトラックと間奏トラックとから演奏データを読み出したりする。
【００１２】
請求項３の自動伴奏生成プログラムは、複数トラックからなる曲データを対象とし、請求項１と同様に分割された各区間グループについて各区間グループ独立に自動伴奏を生成する際に、分割された各区間グループにメロディ相当の演奏データが有るか否かを判断し、メロディ相当の演奏データが有ると判断された場合、その区間グループに対して、メロディトラックの演奏データに基づいて自動伴奏を生成し、メロディ相当の演奏データがないと判断された場合、その区間グループに対して、メロディトラック以外のトラックの演奏データに基づいて自動伴奏を生成するようにした。
【００１３】
例えば、メロディのアウフタクト部分はメロディトラックの演奏データであるが、このアウフタクト部分は「メロディ相当の演奏データ」とはせず、メロディトラック以外のイントロトラックの演奏データに基づいて自動伴奏を生成できるので、イントロに適した自動伴奏を生成できる。
【００１４】
請求項４の自動伴奏生成装置によれば請求項１と同様な作用効果を奏する。
【発明の効果】
【００１５】
本発明の請求項１〜３の自動伴奏生成プログラムの実行または請求項４の自動伴奏生成装置によれば、曲データを自動的に解析して少なくともメロディフレーズ区間とそれ以外のフレーズ区間とを別の区間グループに分割して各区間グループ毎に独立に自動伴奏を生成できるので、曲データ内のどの区間のフレーズに対しても適切な自動伴奏を付加することができる。なお、ユーザは曲データ内のフレーズ構成などを自分で調べる必要もないので煩雑な作業も必要なくなる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の一実施の形態について説明する。図１は本発明を適用した電子楽器のハード構成ブロック図であり、ＣＰＵ１はＲＯＭ２に格納されている制御プログラムに基づいてＲＡＭ３のワーキングエリアを使用して電子楽器全体の制御を行う。通常の電子楽器の基本的な機能として、ＣＰＵ１は入力操作部４の鍵盤等の操作イベントを検出してマニュアル演奏の制御を行う。また、入力操作部４のパネル操作子等の操作イベントを検出し各種操作子の操作に応じた処理を行う。また、ＣＰＵ１は表示部５を介してディスプレイ６における表示の制御を行う。
【００１７】
音源７は複数の音源チャンネルで時分割多重処理を行って複数音を実質的に同時発音可能としたものであり、ＣＰＵ１から各音源チャンネル毎にキーコード、音色データ、音量データなどが設定され、各音源チャンネル毎に楽音信号をサウンドシステム８に出力する。そして、サウンドシステム８は楽音信号のＤ／Ａ変換や増幅等を行ってスピーカー等で発音する。
【００１８】
外部記憶装置９はハードディスク装置（ＨＤＤ）、フロッピィ（商標）ディスク装置（ＦＤＤ）、ＣＤ−ＲＯＭ装置、光磁気ディスク（ＭＯ）装置、デジタル多目的ディスク（ＤＶＤ）装置等であり、例えばこの外部記憶装置９から本発明の自動伴奏生成プログラム、曲データ、自動伴奏の伴奏スタイルデータを供給したり、各種データを保存するために用いられる。なお、プリセットの伴奏スタイルデータやデモの曲データはＲＯＭ２に記憶されている。
【００１９】
さらに、通信インターフェース（Ｉ／Ｆ）１０を介して他のＭＩＤＩ機器などの外部機器１１との間で各種データの授受を行う。そして、例えば曲や伴奏の再生時の各種楽音制御データをＭＩＤＩデータとして出力して、外部機器１１で再生することもできる。また、外部機器１１から曲データや伴奏スタイルデータを供給することもできる。
【００２０】
なお、この実施形態では、自動伴奏生成プログラムを含む実施形態の制御プログラム、曲データ及びプリセット以外の伴奏スタイルデータは外部記憶装置９のハードディスク装置（ＨＤＤ）に記憶されており、ＣＰＵ１は、このハードディスク装置の制御プログラムをＲＡＭ３に展開し、このＲＡＭ３のプログラムに基づいて自動伴奏の動作を制御する。また、曲データを解析してコード進行の和音列と伴奏スタイルのセクション列を自動生成する。なお、この和音列やセクション列を生成する方法（自動伴奏生成）については、前掲の特許文献等に開示された従来の方法でよく、その詳細な説明は省略する。
【００２１】
図２は実施形態における曲データのフォーマットの一例を示す図である。曲データは、例えばＳＭＦ（スタンダードＭＩＤＩファイル）あるいはそれに準じた形式であり、ヘッダ、フレーズトラック及びマスタートラックで構成されている。ヘッダには、曲名、曲の長さなどが記録されている。
【００２２】
また、フレーズトラックは複数のトラック（トラック１，トラック２，トラック３，…）で構成され、例えばトラック１にはメロディ、トラック２にはイントロ用フレーズ、トラック３には間奏用フレーズの各演奏データが記録されている。すなわち、この実施例ではトラック１が「メロディトラック」、トラック２が「イントロトラック」、トラック３が「間奏トラック」に対応する。演奏データは時系列なノートイベントで構成されており、一つのノートイベントは、ノートの発生タイミングを表すタイミングデータ及びノートデータ（音高データ、ベロシティデータ、ゲートタイムデータ）から構成されている。
【００２３】
マスタートラックには、拍子、テンポ、調性なども記録されているが、自動伴奏生成で生成されたコード進行の和音列が、このマスタートラックに記録される。コード進行の和音列は、コードイベントとして、和音の種類と根音を和音の開始（または切換）タイミングを示すタイミングデータとともに順次記録される。なお、マスタートラックにコード進行が記録されている場合もあり、このような場合には伴奏生成時にコード進行は生成しなくてもよい。さらに、本発明の実施形態の１特徴として、マスタートラックには、メロディの演奏データに対応してメロディの開始位置及びメロディの終了位置の各区切り情報（位置情報）がタイミングデータとともに記録されている。
【００２４】
なお、上記の各タイミングデータは、イベント（例えばノートデータ）の曲内でのロケーションのデータでり、例えば、そのイベントが、何小節目（メジャ）の何拍目（ビート）の何クロック目（クロック）であるかを示すデータである。このようにタイミングデータとともに記録されているデータ（区切り情報も含む）は、全て「イベント情報」である。
【００２５】
図３は実施形態における伴奏スタイルデータのフォーマットの一例を示す図であり、伴奏スタイルデータは各種スタイルに応じて複数スタイル分のデータがある。各伴奏スタイルデータは、伴奏スタイル名、拍子、テンポなどから成るヘッダと、「イントロＡ」「メインＡ」「エンディングＡ」のように伴奏パターンにバリエーションを持たせる複数のセクションのデータで構成されている。各セクションのデータは、セクション名、小節数、各パート（トラック）の設定情報などから成る設定情報と、実際の伴奏データの元になるノートデータを含むパターンデータとで構成されている。例えば、パターンデータは、複数のパートに対応するトラックパターンデータで構成され、各トラックパターンデータは、各トラックの音色を指定する音色データや、例えば１〜２小節長の演奏データとして、ノートデータとその発生タイミングを表すタイミングデータを再生順に記憶している。このタイミングデータも前記曲データと同様に伴奏パターン内でのロケーションのデータである。
【００２６】
図４は実施形態における曲データの例を概念的に示す図であり、曲再生時の経過時間に対応して長楕円のバーで前記各トラック１，２，３における演奏データ（イベントの列）を示している。この例では曲の開始からトラック２（イントロトラック）によりイントロが始まり、このイントロの終了間際からトラック１（メロディトラック）によりアウフタクトでメロディが始まる。またメロディの途中にはトラック３（間奏トラック）により間奏があり、この間奏の区間はメロディトラックにおいては休符区間となっている。
【００２７】
前記のように、この実施形態における曲データのマスタートラックには、メロディ開始及びメロディ終了を示す区切り情報が予め記録されている。メロディ開始の区切り情報はアウフタクトの直後に記録され、メロディ終了の区切り情報はメロディ終了の直後に記録されている。そして、この区切り情報で挟まれた区間（Ｂ区間）を主にメロディトラックを中心とした区間グループとし、この区間グループの例えば前後の区間（Ａ区間）を主にメロディトラック以外を中心とした区間グループとする。すなわち、メロディのアウフタクト部分はメロディトラック以外を中心とした区間グループ（Ａ区間）に含まれ、間奏用フレーズはメロディトラックを中心とした区間グループ（Ｂ区間）に含まれる。このように、主にメロディトラック以外を中心とした区間グループにメロディトラックのイベントデータ（アウフタクト）が含まれることもある。また、主にメロディトラックを中心とした区間グループにメロディトラック以外のイベントデータ（間奏）が含まれることもある。
【００２８】
区間グループに分割する具体的な方法としては、各区間グループ（Ａ区間，Ｂ区間）に対応して「イベントリスト」と称するリスト（任意個のデータを記録可能な変数群）を用い、各区間グループに対応するイベントデータを各イベントリストに格納する。これにより、曲データ内の演奏データが複数の区間グループに分割される。そして、実際の自動伴奏を生成するとき、各イベントリストを順次選択し、イベントリスト内にメロディ相当の演奏データ（イベントデータ）が有るか無いかを判断し、このメロディ相当の演奏データの有無に応じて自動伴奏生成の元となるトラックを決める。なお、メロディトラック中のアウフタクト部分の演奏データは「メロディ相当の演奏データ」ではない。
【００２９】
図５及び図６はＣＰＵ１が実行する自動伴奏生成プログラムの要部フローチャートであり、図５は演奏データ分割処理のフローチャート、図６は伴奏生成処理の一例を示すフローチャートである。図５のフローチャートの処理は図示しないメインルーチンで指定されたモードに応じて実行される。先ず、ステップＳ１１で曲データのＲＡＭ３への読み込みなどを行って曲データを用意し、ステップＳ１２で対象トラック決定ルールを設定する。この対象トラック決定ルールは、自動伴奏生成に用いるトラックやその組み合わせあるいは優先順位等を設定（選択）する処理である。例えば、どのトラックがメロディトラックで、どのトラックがメロディトラックと共に対象にできるかできないかなどの処理である。この設定により例えば図６のでの判断が決まる。
【００３０】
次に、ステップＳ１３で、例えばメモリ領域を確保するなどして最初の区間グループ用の空のイベントリストを用意し、ステップＳ１４以降の処理を行う。ステップＳ１４では曲データから時間順（タイミング順）にイベントデータを１つ読み出し、ステップＳ１５で有効なデータが有ったか否かを判定する。有効なデータがなければ曲データの終了であるのでステップＳ１９に進む。有効なデータが有ればステップＳ１６でそのデータが区切り情報であるか否かを判定する。区切り情報でなければイベントリストにイベントデータを記録（追加）してステップＳ１４に戻る。なお、このイベントデータをイベントリストに記録するときどのトラックのイベントデータであるかを示すトラック情報も記録する。ステップＳ１６で区切り情報であればステップＳ１８で次の区間グループ用の空のイベントリストを用意してステップＳ１４に戻る。
【００３１】
この処理により、例えば図４の場合、最初のイベントリストに、トラック２のイントロ用フレーズのイベントデータとトラック１のアウフタクト部分のイベントデータが記録され、メロディ開始の区切り情報が検出されるとステップＳ１８で２番目のイベントリストが用意され、この２番目のイベントリストに、トラック１のアウフタクト以外のイベントデータとトラック３の間奏用フレーズのイベントデータが記録される。そして、メロディ終了の区切り情報が検出されると分割処理を終了してステップＳ１９に進む。この例では、区切り情報が２つの場合であり、イベントリスト（区間グループ）は２つになるが、当然、区切り情報が多ければ、それだけイベントリストの数（区間グループの数）も増える。
【００３２】
ステップＳ１９では、例えば図６のような伴奏生成処理を行う。この処理は、複数生成されたイベントリストについて、ステップＳ２１でイベントリストを１つ選択するとともに、ステップＳ２８で全てのイベントリストの処理が終了したかを判定し、ステップＳ２１〜Ｓ２７の処理を各イベントリストについて行う。ステップＳ２２，Ｓ２３の処理により、イベントリスト内にメロディトラックに属するイベントデータが無い場合と、メロディトラックに属するイベントデータが有ってそのイベントデータの全てがアウフタクトであった場合にステップＳ２４に進む。一方、イベントリスト内にメロディトラックに属するイベントデータがあり、そのイベントデータにアウフタクトでないものが含まれる場合にはステップＳ２５に進む。
【００３３】
ステップＳ２４の処理は、「メロディ相当の演奏データが無し」の場合に対応しており、イベントリスト内のメロディトラック以外のトラックのイベントデータに基づいて自動伴奏を生成する。すなわち、メロディトラックのイベントデータが有っても、その全てがアウフタクトであった場合にはこのアウフタクト部分はメロディ相当の演奏データではないと判定する。これにより、アウフタクトに影響されずに自動伴奏を生成できる。これは、例えば図４の場合、Ａ区間ではトラック２のイントロ用フレーズのイベントデータのみに基づいて自動伴奏を生成することに対応している。
【００３４】
ステップＳ２５，Ｓ２６，Ｓ２７の処理は、「メロディ相当の演奏データが有り」の場合の処理であり、イベントリスト内にメロディトラックと共に対象となる（自動伴奏の生成の元にできる）トラックのイベントデータがあれば、イベントリスト内のそのトラックのイベントデータとメロディトラックのイベントデータとに基づいて自動伴奏を生成する。また、イベントリスト内にメロディトラックと共に対象とできないトラックのイベントデータがあれば、そのイベントリスト内のメロディトラックのイベントデータとメロディトラックと共に対象となるトラックのイベントデータのみに基づいて自動伴奏を生成する。これは、例えば図４の場合、Ｂ区間でトラック１のメロディとトラック３の間奏用フレーズの両イベントデータで自動伴奏を生成したり、間奏用フレーズのイベントデータは用いずにメロディのイベントデータのみで自動伴奏を生成したりする。
【００３５】
このように、メロディと共に対象とできるトラックであるか否かは、前記の対象トラック決定ルール（図５のステップＳ１２）で設定する。なお、このような「メロディ相当の演奏データが有り」の場合に、無条件でメロディトラックのイベントデータのみに基づいて自動伴奏を生成するようにしてもよい。このような無条件という条件も対象トラック決定ルールで設定することができる。
【００３６】
なお、実施形態において、Ａ区間はトラック２（イントロトラック）に基づき自動伴奏を生成し、Ｂ区間はトラック１（メロディトラック）とトラック３（間奏トラック）とに基づき自動伴奏を生成する処理は、請求項２の「トラックの組み合わせを区間グループ毎に制御することに相当する。また、アウフタクトをメロディ相当の演奏データとみなさないで、Ａ区間はトラック２（イントロトラック）に基づき自動伴を奏生成し、Ｂ区間はトラック１（メロディトラック）に基づき自動伴奏を生成するような処理は、請求項３に対応している。
【００３７】
実施形態では、区間グループを示す区切り情報が曲データ内に予め挿入されている場合について説明したが、例えばメロディに対応する歌詞データのある区間を検索するなど、区間グループの区切りの位置を自動検出するようにしてもよい。また、イベント形式の区切り情報を、演奏データと同じトラックに入れるようにしてもよい。さらに、イベント形式の区切り情報ではなく、区切り位置を示す設定情報として区切り情報をヘッダなどに入れるようにしてもよい。
【００３８】
また、イベント形式の区切り情報で区間分割する場合、この区切り情報はユーザにより追加、削除、変更等が可能となるようにしてもよい。
【００３９】
本発明は曲の感じが大きく変化する場合でもフレーズに適した自動演奏を付加できるので、メドレー形式の曲データに対しても有効である。また、調の変化にも的確に対応できる。
【００４０】
処理の対象とするメロディトラックはデフォルトで固定でもよいし、ユーザが設定可能なものでもよい。また、メロディトラック以外の演奏データの入るトラックについても、曲中の全トラックを処理の対象としてもよいし、一部のトラックを処理の対象として選択可能としてもよい。
【００４１】
なお、通信インターフェース１０を介して通信ネットワークに接続し、サーバコンピュータ等から前記自動伴奏生成プログラムや曲データあるいは伴奏スタイルデータなどの各種データの配信を受けるようにすることもできる。
【００４２】
本発明は、実施形態のものに限定されず様々な態様とすることができる。例えば、曲データは、外部から入力したり演奏操作により作成するものにかぎらず、例えばユーザがモチーフメロディやコード進行を入力して、このコード進行に基づいてモチーフメロディを発展させることにより曲データ（メロディ）を生成するようなものでもよい。
【００４３】
また、実施形態は本発明を電子楽器に適用したものであるが、パーソナルコンピュータとソフトウエアで構成することもできる。また、音源装置、シーケンサ、エフェクタなどそれぞれが別体の装置であって、ＭＩＤＩあるいは各種ネットワーク等の通信手段を用いて各装置を接続するようなものであってもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明を適用した電子楽器のハード構成ブロック図である。
【図２】本発明の実施形態における曲データのフォーマットの一例を示す図である。
【図３】本発明の実施形態における伴奏スタイルデータのフォーマットの一例を示す図である。
【図４】本発明の実施形態における曲データの例を概念的に示す図である。
【図５】本発明の実施形態における演奏データ分割処理のフローチャートである。
【図６】本発明の実施形態における伴奏生成処理の一例を示すフローチャートである。
【符号の説明】
【００４５】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、７…音源、８…サウンドシステム、９…外部記憶装置
【図１】
2005099205.tif 000003
【図２】
2005099205.tif 000004
【図３】
2005099205.tif 000005
【図４】
2005099205.tif 000006
【図５】
2005099205.tif 000007
【図６】
2005099205.tif 000008