(57)【特許請求の範囲】
【請求項１】
コードタイプとコードルートを特定するコード情報を取得するコード情報取得手段と、
コードタイプとコードルートの組み合わせで特定可能なコードを基準とした伴奏に対応する楽音を記録したフレーズ波形データと前記基準としたコードのコードタイプを特定するコードタイプ情報とコードルートを特定するコードルート情報とを識別する識別子とを含む自動伴奏データを取得する自動伴奏データ取得手段と、
前記取得した自動伴奏データに含まれる前記フレーズ波形データの中から、少なくとも１つのコード構成音に関するフレーズ波形データを抽出して、該少なくとも一つの構成音を含む第１の分離波形データとその他の構成音を含む第２の分離波形データとを生成する分離波形データ生成手段と、
前記取得したコード情報で特定されるコードタイプとコードルートに応じて、前記第１及び第２の分離波形データをピッチチェンジする音高変換手段と、
前記ピッチチェンジされた第１及び第２の分離波形データを合成して伴奏データを生成する伴奏データ生成手段と
を有する伴奏データ生成装置。
【請求項２】
さらに、前記生成した第１及び第２の分離波形データとを前記自動伴奏データに対応付けて記憶する記憶手段を有し、
前記分離波形データ生成手段は、前記取得した自動伴奏データに対応した第１及び第２の分離波形データが前記記憶手段に記憶されている場合には、当該記憶されている第１及び第２の分離波形データを読み出し、前記取得した自動伴奏データに対応した第１及び第２の分離波形データが前記記憶手段に記憶されていない場合には、前記取得した自動伴奏データに含まれる前記フレーズ波形データの中から、少なくとも１つのコード構成音に関するフレーズ波形データを抽出して、該少なくとも一つの構成音を含む第１の分離波形データとその他の構成音を含む第２の分離波形データとを生成する請求項１記載の伴奏データ生成装置。
【請求項３】
コードタイプとコードルートを特定するコード情報を取得するコード情報取得手段と、
コードタイプとコードルートの組み合わせで特定可能なコードを基準とした伴奏に対応する楽音を記録したフレーズ波形データから少なくとも１つのコード構成音に関するフレーズ波形データを抽出することにより生成される分離波形データと、前記基準としたコードのコードタイプを特定するコードタイプ情報とコードルートを特定するコードルート情報とを識別する識別子とを含む自動伴奏データを取得する自動伴奏データ取得手段と、
前記取得したコード情報で特定されるコードタイプとコードルートに応じて、前記分離波形データをピッチチェンジする音高変換手段と、
前記ピッチチェンジされた分離波形データを合成して伴奏データを生成する生成手段と
を有する伴奏データ生成装置。
【請求項４】
コードタイプとコードルートを特定するコード情報を取得するコード情報取得手順と、
コードタイプとコードルートの組み合わせで特定可能なコードを基準とした伴奏に対応する楽音を記録したフレーズ波形データと前記基準としたコードのコードタイプを特定するコードタイプ情報とコードルートを特定するコードルート情報とを識別する識別子とを含む自動伴奏データを取得する自動伴奏データ取得手順と、
前記取得した自動伴奏データに含まれる前記フレーズ波形データの中から、少なくとも１つのコード構成音に関するフレーズ波形データを抽出して、該少なくとも一つの構成音を含む第１の分離波形データとその他の構成音を含む第２の分離波形データとを生成する生成手順と、
前記取得したコード情報で特定されるコードタイプとコードルートに応じて、前記第１及び第２の分離波形データをピッチチェンジする音高変換手順と、
前記ピッチチェンジされた第１及び第２の分離波形データを合成して伴奏データを生成する生成手順と
をコンピュータに実行させるための伴奏データ生成プログラム。
【請求項５】
コードタイプとコードルートを特定するコード情報を取得するコード情報取得手順と、
コードタイプとコードルートの組み合わせで特定可能なコードを基準とした伴奏に対応する楽音を記録したフレーズ波形データから少なくとも１つのコード構成音に関するフレーズ波形データを抽出することにより生成される分離波形データと、前記基準としたコードのコードタイプを特定するコードタイプ情報とコードルートを特定するコードルート情報とを識別する識別子とを含む自動伴奏データを取得する自動伴奏データ取得手順と、
前記取得したコード情報で特定されるコードタイプとコードルートに応じて、前記分離波形データをピッチチェンジする音高変換手順と、
前記ピッチチェンジされた分離波形データを合成して伴奏データを生成する生成手順と
をコンピュータに実行させるための伴奏データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伴奏データ生成装置に関する。
【背景技術】
【０００２】
従来、音楽の各種スタイル（ジャンル）に対応したＭＩＤＩ形式等の自動演奏データによる複数の伴奏スタイルデータを記憶し、ユーザ（演奏者）の選択した伴奏スタイルデータに基づいて、ユーザの演奏に伴奏を付与する自動伴奏装置が知られている（例えば、特許文献１参照）。
【０００３】
従来の自動演奏データを利用した自動伴奏装置では、例えば、ＣＭａｊなどの所定のコード（和音）に基づく伴奏スタイルデータを、ユーザの演奏から検出したコード（和音）情報に適合するように、音高変換することが行われている。
【０００４】
また、アルペジオパターンデータをフレーズ波形データとして記憶し、ユーザの演奏入力に適合するように音高やテンポの調整を行い、自動伴奏データを生成するアルペジオ演奏装置が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２９００７５３号公報
【特許文献２】特許第４２７４２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の自動演奏データを利用した自動伴奏装置では、ＭＩＤＩ音源等を利用して楽音を生成するため、民族楽器や特殊な音階を用いる楽器などの楽音を用いた自動伴奏は困難であった。また、自動演奏データによる演奏のため、人間の生演奏による臨場感等を出すことが困難であった。
【０００７】
また、上述のアルペジオ演奏装置等の従来のフレーズ波形データを利用した自動伴奏装置では、単音の伴奏フレーズのみが自動演奏可能であった。
【０００８】
本発明の目的は、和音を含むフレーズ波形データを用いた自動伴奏データを生成可能な伴奏データ生成装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一観点によれば、伴奏データ生成装置は、コードタイプとコードルートを特定するコード情報を取得するコード情報取得手段と、コードタイプとコードルートの組み合わせで特定可能なコードを基準とした伴奏に対応する楽音を記録したフレーズ波形データと前記基準としたコードのコードタイプを特定するコードタイプ情報とコードルートを特定するコードルート情報とを識別する識別子とを含む自動伴奏データを取得する自動伴奏データ取得手段と、前記取得した自動伴奏データに含まれる前記フレーズ波形データの中から、少なくとも１つのコード構成音に関するフレーズ波形データを抽出して、該少なくとも一つの構成音を含む第１の分離波形データとその他の構成音を含む第２の分離波形データとを生成する分離波形データ生成手段と、前記取得したコード情報で特定されるコードタイプとコードルートに応じて、前記第１及び第２の分離波形データをピッチチェンジする音高変換手段と、前記ピッチチェンジされた第１及び第２の分離波形データを合成して伴奏データを生成する伴奏データ生成手段とを有する。
【００１０】
本発明の他の観点によれば、伴奏データ生成装置は、コードタイプとコードルートを特定するコード情報を取得するコード情報取得手段と、コードタイプとコードルートの組み合わせで特定可能なコードを基準とした伴奏に対応する楽音を記録したフレーズ波形データから少なくとも１つのコード構成音に関するフレーズ波形データを抽出することにより生成される分離波形データと、前記基準としたコードのコードタイプを特定するコードタイプ情報とコードルートを特定するコードルート情報とを識別する識別子とを含む自動伴奏データを取得する自動伴奏データ取得手段と、前記取得したコード情報で特定されるコードタイプとコードルートに応じて、前記分離波形データをピッチチェンジする音高変換手段と、前記ピッチチェンジされた分離波形データを合成して伴奏データを生成する生成手段とを有する。
【発明の効果】
【００１１】
本発明によれば、和音を含むフレーズ波形データを用いた自動伴奏データを生成可能な伴奏データ生成装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例による伴奏データ生成装置１００のハードウェア構成の一例を表すブロック図である。
【図２】本発明の実施例による自動伴奏データの構成の一例を表す概念図である。
【図３】本発明の実施例による自動伴奏データの構成の他の例を表す概念図である。
【図４】本発明の実施例による分離波形データを説明するための概念図である。
【図５】本発明の実施例によるコードタイプ別半音距離数テーブルの一例を表す概念図である。
【図６】本発明の実施例によるメイン処理を表すフローチャートである。
【図７】図６のステップＳＡ２２で実行される合成波形データの生成処理を表すフローチャートである。
【発明を実施するための形態】
【００１３】
図１は、本発明の実施例による伴奏データ生成装置１００のハードウェア構成の一例を表すブロック図である。
【００１４】
伴奏データ生成装置１００のバス６には、ＲＡＭ７、ＲＯＭ８、ＣＰＵ９、検出回路１１、表示回路１３、記憶装置１５、音源１８、通信インターフェイス（Ｉ／Ｆ）２１が接続される。
【００１５】
ＲＡＭ７は、再生バッファ等のバッファ領域、フラグ、レジスタ、各種パラメータ等を記憶するＣＰＵ９のワーキングエリアを有する。例えば、後述する自動伴奏データは、このＲＡＭ７内の所定領域にロードされる。
【００１６】
ＲＯＭ８には、各種データファイル（例えば、後述する自動伴奏データＡＡ）、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。この場合、プログラム等を重ねて、記憶装置１５に記憶する必要は無い。
【００１７】
ＣＰＵ９は、ＲＯＭ８又は、記憶装置１５に記憶されている制御プログラム又は本実施例を実現するためのプログラム等に従い、演算又は装置の制御を行う。タイマ１０が、ＣＰＵ９に接続されており、基本クロック信号、割り込み処理タイミング等がＣＰＵ９に供給される。
【００１８】
ユーザは、検出回路１１に接続される設定操作子１２を用いて、各種入力及び設定、選択をすることができる。設定操作子１２は、例えば、スイッチ、パッド、フェーダ、スライダ、ロータリーエンコーダ、ジョイスティック、ジョグシャトル、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、設定操作子１２は、カーソルスイッチ等の他の操作子を用いて操作する表示装置１４上に表示されるソフトスイッチ等でもよい。
【００１９】
本実施例では、ユーザは、設定操作子１２を操作することにより、記憶装置１５又はＲＯＭ８等に記録された又は通信Ｉ／Ｆ２１を介して外部機器から取得（ダウンロード）する自動伴奏データＡＡの選択、自動伴奏の開始および停止指示及びその他の設定操作を行う。
【００２０】
表示回路１３は、ディスプレイ１４に接続され、各種情報をディスプレイ１４に表示することができる。ディスプレイ１４は、伴奏データ生成装置１００の設定のための各種情報等を表示することができる。
【００２１】
記憶装置１５は、ハードディスク、ＦＤ（フレキシブルディスク又はフロッピーディスク（登録商標））、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多目的ディスク）、フラッシュメモリ等の半導体メモリ等の記憶媒体とその駆動装置の組み合わせの少なくとも１つで構成される。記憶媒体は、着脱可能であってもよいし、内蔵されていてもよい。記憶装置１５及び（または）ＲＯＭ８には、好ましくは複数の自動伴奏データＡＡ及び自動伴奏データＡＡに対応付けられた分離波形データＤＷを含む分離パターンデータＤＰ、本発明の各実施例を実現するためのプログラムや、その他の制御プログラムを記憶することができる。なお、本発明の各実施例を実現するためのプログラムや、その他の制御プログラムを記憶装置１５に記憶する場合は、これらをＲＯＭ８に合わせて記憶する必要はない。また、一部のプログラムのみを記憶装置１５に記憶し、その他のプログラムをＲＯＭ８に記憶するようにしてもよい。
【００２２】
音源１８は、例えば、波形メモリ音源であり、少なくとも波形データ（フレーズ波形データ）から楽音信号を生成可能なハードウェアもしくはソフトウェア音源であり、記憶装置１５、ＲＯＭ８又はＲＡＭ７等に記録された自動伴奏データ、自動演奏データ又は演奏操作子（鍵盤）２２あるいは通信インターフェイス２１に接続された外部機器等から供給される演奏信号、ＭＩＤＩ信号、フレーズ波形データ等に応じて楽音信号を生成し、各種音楽的効果を付与して、ＤＡＣ２０を介して、サウンドシステム１９に供給する。ＤＡＣ２０は、供給されるデジタル形式の楽音信号をアナログ形式に変換し、サウンドシステム１９は、アンプ、スピーカを含み、ＤＡ変換された楽音信号を発音する。
【００２３】
通信インターフェイス２１は、ＵＳＢやＩＥＥＥ１３９４等の汎用近距離有線Ｉ／Ｆ、Ｅｔｈｅｒｎｅｔ（登録商標）等の汎用ネットワークＩ／Ｆ等の通信インターフェイス、ＭＩＤＩ  Ｉ／Ｆなどの汎用Ｉ／Ｆ、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等の汎用近距離無線Ｉ／Ｆ等の通信インターフェイス及び音楽専用無線通信インターフェイスのうち少なくとも１つで構成され、外部機器、サーバ等との通信が可能である。
【００２４】
演奏操作子(鍵盤等)２２は、検出回路１１に接続され、ユーザの演奏動作に従い、演奏情報（演奏データ）を供給する。演奏操作子２２は、ユーザの演奏を入力するための操作子であり、ユーザが操作した操作子に対応する音高で、該ユーザの操作子に対する操作開始タイミング及び終了タイミングをそれぞれキーオン及びキーオフ信号として入力する。また、ユーザの演奏操作に応じてベロシティ値等の各種パラメータを入力することが可能である。
【００２５】
なお、演奏操作子(鍵盤等)２２により入力される演奏情報には、後述するコード情報もしくはコード情報を生成するための情報が含まれる。なお、コード情報の入力には、演奏操作子(鍵盤等)２２以外にも、設定操作子１２や通信インターフェイス２１に接続される外部機器を用いることもできる。
【００２６】
図２は、本発明の実施例による自動伴奏データＡＡの構成の一例を表す概念図である。
【００２７】
自動伴奏データＡＡは、１又は複数のパート（トラック）を含んで構成され、各伴奏パートは、少なくとも一つの伴奏パターンデータＡＰを含んで構成される。それぞれの伴奏パターンデータＡＰは、１つの基準音高（コードルート）及びコードタイプに対応し、当該基準音高及びコードタイプを基準とした基準波形データＯＷを含んで構成される。
【００２８】
自動伴奏データＡＡは、伴奏パターンデータＡＰのような実体データに加えて、当該自動伴奏データの伴奏スタイル名、拍子情報、テンポ情報（基準波形データＯＷの録音（再生）テンポ）、各伴奏パートの情報等を含む当該自動伴奏データ全体の設定情報を含んでいる。また、複数のセクションで構成される場合は、各セクションのセクション名（イントロ、メイン、エンディング等）、小節数（例えば、１小節、４小節、８小節等）を含んで構成される。
【００２９】
本発明の実施例による自動伴奏データＡＡは、例えば、ユーザが図１の演奏操作子２２を用いてメロディラインを演奏する場合に、それに合わせて、少なくとも一つの伴奏パート（トラック）の自動伴奏を行うためのデータである。
【００３０】
自動伴奏データＡＡは、ジャズ、ロック、クラッシック等の音楽ジャンルに対応するとともに各ジャンルごとに複数種類のものが用意されており、識別番号（ＩＤ番号）や、伴奏スタイル名等で識別される。本実施例では、複数の自動伴奏データＡＡが、例えば、図１の記憶装置１５又はＲＯＭ８等に記憶されており、各自動伴奏データＡＡには、ＩＤ番号が付されている（「０００１」、「０００２」等）。
【００３１】
各自動伴奏データＡＡは、通常、複数のリズム種類、音楽ジャンル、テンポ等の伴奏スタイル毎に用意される。また、それぞれの自動伴奏データＡＡには、イントロ、メイン、フィルイン、エンディング等の楽曲の場面に合わせた複数のセクションが用意される。さらに、それぞれのセクションは、コードトラック、ベーストラック、ドラム（リズム）トラックなどの複数のトラックで構成される。本実施例では、説明の便宜上、自動伴奏データＡＡは、任意の１つのセクションで構成され、当該セクションが少なくとも和音を用いた伴奏を行うコードトラックを含む複数の伴奏パート（伴奏パート１（トラック１）〜伴奏パートｎ（トラックｎ））を含んでいるものとする。
【００３２】
伴奏パターンデータＡＰは、所定の基準音高（コードルート）における所定コードタイプに対応し、当該コードタイプの構成音を含む基準波形データＯＷを少なくとも一つ含んで構成される。また、伴奏パターンデータＡＰは、実体データである基準波形データＯＷに加えて、属性情報として、当該伴奏パターンデータＡＰの基準コード情報（基準音高（コードルート）情報及び基準コードタイプ情報）、録音テンポ（自動伴奏データＡＡで一括して定義される場合は省略可）、長さ（時間または小節数等）、識別子（ＩＤ）、名前、含まれる基準波形データＯＷ数などを保持している。また、後述する分離波形データＤＷを含む場合は、その旨及び分離波形データの属性（当該データが含む構成音等の情報）及び数等も合わせて記憶する。
【００３３】
基準波形データＯＷは、対応付けられた伴奏パターンデータＡＰが対応しているコードタイプ及びコードルート（根音）を基準とした伴奏フレーズの演奏に対応する楽音を記録したフレーズ波形データであり、１〜複数小節の長さである。例えば、ＣＭ７基準の基準波形データＯＷには、ＣＭ７のコード構成音である音高Ｃ、Ｅ、Ｇ、Ｂを主に用いた演奏（和音伴奏以外の伴奏も含む）による楽音をデジタルサンプリングして記憶した波形データである。なお、基準波形データＯＷには、基準となるコード（コードタイプ及びコードルートの組み合わせで特定されるコード）の構成音以外の音高（非和声音）も含まれる場合がある。なお、本実施例では、図２に示すように、基準音高（コードルート）を「Ｃ」及び基準コードタイプ「Ｍ７」を基準とした基準波形データＯＷを用いているが、図３に示すように、全てのコードルート（１２音）につて、伴奏パターンデータＡＰを用意することもできる。また、その場合、それぞれのコードルートにおいて、ことなるコードタイプに対応させても良い。例えば、コードルート「Ｃ」には、「Ｍ７」を対応させて、コードルート「Ｄ」には「ｍ７」を対応させるようにしても良い。また、全てのコードルートではなく、一部のコードルート（２〜１１）に対応する伴奏パターンデータＡＰを用意するようにしてもよい。
【００３４】
各基準波形データＯＷには、当該基準波形データＯＷを特定することが可能な識別子が付与されている。本実施例では、「自動伴奏データＡＡのＩＤ（スタイル番号）−伴奏パート（トラック）番号−コードルートを表す番号（コードルート情報）−コードタイプネーム（コードタイプ情報）」の形式で、各基準波形データＯＷに識別子が付与されている。なお、上記のような識別子を用いる以外の方法で、属性情報を各基準波形データＯＷに付与するようにしても良い。
【００３５】
なお、基準波形データＯＷは、自動伴奏データＡＡ内に記憶されていても良いし、自動伴奏データＡＡとは別に記憶して、自動伴奏データＡＡ内には、基準波形データＯＷへのリンク情報のみを記憶するようにしても良い。
【００３６】
また、図２に示す例では、基準波形データＯＷとして、４音（４声目まで）を含む基準波形データＯＷを用意したが、これに代えて又は加えて、３音のみを含むものや、５音又は６音を含むものを用意するようにしてもよい。
【００３７】
なお、コードルート情報とコードタイプ情報は、属性情報として予め記憶しておく以外にも、伴奏パターンデータを解析することにより検出するようにしても良い。
【００３８】
図４は、本発明の実施例による分離波形データを説明するための概念図である。
【００３９】
本実施例では、基準波形データＯＷから、所定の構成音及びその倍音成分のみを分離して、当該所定の構成音に対応する分離波形データＤＷを生成する。
【００４０】
分離波形データＤＷは、分離処理により基準波形データＯＷより分離される。分離処理は、例えば、特開２００４−２１０２７号公報の［発明の実施の形態］の項（特に段落［００１４］〜［００１６］及び［００２５］〜［００２７］を参照）に記載されたような周知技術による。例えば、基準波形データＯＷによる楽音波形信号を所定の時間フレーム毎にスペクトル解析し、その楽音波形に含まれている基音周波数およびその倍音周波数に対応する線スペクトル成分を抽出する。その後、抽出した線スペクトル成分に含まれるピークデータに基づき軌跡を成すデータを追跡・抽出し、各周波数成分毎のピッチ軌跡（トラジェクトリ）と振幅軌跡（トラジェクトリ）及び位相軌跡（トラジェクトリ）を生成する。すなわち、同じ周波数成分の時系列的な連続を検出し、これを軌跡（トラジェクトリ）として抽出する。さらに、生成した各周波数成分のピッチトラジェクトリと振幅トラジェクトリとから当該周波数成分に対応する周波数の正弦波信号を生成し、こうして生成した各周波数成分の正弦波信号を加算合成することで決定論的な波形（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｗａｖｅ）を生成し、元の楽音波形から該決定論的な波形を減算することにより残差波形（Ｒｅｓｉｄｕａｌ  Ｗａｖｅ）を得て、これらの各周波数成分毎の各トラジェクトリ及び残差波形を分析データとする。続いて、上記楽音分析処理によって得られた各周波数成分についての分析データの中から、目的とする特定のピッチと倍音関係にある複数の周波数成分（つまり基音と各倍音）の分析データ（トラジェクトリデータ）を抽出することにより、所定の構成音に対応する分離波形データＤＷを生成する。
【００４１】
なお、基準波形データＯＷからの分離波形データＤＷの分離は上記の手法に限らず、特定のコード構成音とその倍音成分を基準波形データＯＷから分離できるものであれば、どのような手法を用いても良い。
【００４２】
本実施例では、基準波形データＯＷを５段階の分離パターンにより、所定の構成音に対応する分離波形データＤＷを生成して後に利用するために記憶しておく。第０段階目の分離パターンは、分離処理を実行しない元の基準波形データＯＷのみを含むものであり、この段階のデータを分離パターンデータＤＰ０とする。
【００４３】
第０段階目の分離パターンデータＤＰ０の基準波形データＯＷから、４声目の構成音（この例では、長７度）及びその倍音成分を分離することにより、コードルート、３度及び５度の構成音（この例では、０度、長３度、完全５度）及びその倍音成分を含む分離波形データＤＷａと、４声目の構成音（この例では、長７度）及びその倍音成分のみを含む分離波形データＤＷｂとが生成される。この生成された分離波形データＤＷａと分離波形データＤＷｂは、第１段階の分離パターンデータＤＰ１として記憶される。
【００４４】
第１段階目の分離パターンデータＤＰ１の分離波形データＤＷａから、３度の構成音（この例では、長３度）及びその倍音成分を分離することにより、コードルート及び５度の構成音（この例では、０度、完全５度）及びその倍音成分を含む分離波形データＤＷｃと、３度の構成音（この例では、長３度）及びその倍音成分のみを含む分離波形データＤＷｄとが生成される。この生成された分離波形データＤＷｃと分離波形データＤＷｄ及び従前に分離した７度の構成音に対応する分離波形データＤＷｂは、第２段階の分離パターンデータＤＰ２として記憶される。
【００４５】
また、第１段階目の分離パターンデータＤＰ１の分離波形データＤＷａからは、５度の構成音（この例では、長３度）及びその倍音成分を分離することもできる。この場合、分離波形データＤＷａからコードルート及び３度の構成音（この例では、０度、長３度）及びその倍音成分を含む分離波形データＤＷｅと、５度の構成音（この例では、完全５度）及びその倍音成分のみを含む分離波形データＤＷｆとが生成される。この生成された分離波形データＤＷｃと分離波形データＤＷｄ及び従前に分離した７度の構成音に対応する分離波形データＤＷｂは、第３段階の分離パターンデータＤＰ３として記憶される。
【００４６】
第２段階目の分離パターンデータＤＰ２の分離波形データＤＷｃから、さらに５度の構成音（この例では、長３度）及びその倍音成分を分離することにより、コードルート（０度）及びその倍音成分を含む分離波形データＤＷｇと、５度の構成音（この例では、完全５度）及びその倍音成分のみを含む分離波形データＤＷｆとが生成される。この生成された分離波形データＤＷｇと分離波形データＤＷｆ及び従前に分離した７度の構成音に対応する分離波形データＤＷｂ及び３度の構成音に対応する分離波形データＤＷｄは、第４段階の分離パターンデータＤＰ４として記憶される。
【００４７】
なお、第４段階の分離パターンデータＤＰ４は、第３段階の分離パターンデータＤＰ３からの生成することができる。この場合、分離波形データＤＷｅからコードルート（０度）及びその倍音成分を含む分離波形データＤＷｇと、３度の構成音（この例では、長３度）及びその倍音成分のみを含む分離波形データＤＷｄとが生成される。この生成された分離波形データＤＷｅと分離波形データＤＷｄ及び従前に分離した７度の構成音に対応する分離波形データＤＷｂと５度の構成音に対応する分離波形データＤＷｆは、第４段階の分離パターンデータＤＰ４として記憶される。
【００４８】
分離パターンデータＤＰ０は、コード構成音が分離されていないので、元の基準波形データＯＷが基準としているコードタイプ以外での使用は困難である。なお、さらにテンション音を付加する場合などは、当該テンション音等を含む他のフレーズ波形データと合成することで使用可能である。
【００４９】
分離パターンデータＤＰ１は、コードルート、３度及び５度の構成音（この例では、０度、長３度、完全５度）及びその倍音成分を含む分離波形データＤＷａ及び７度の構成音及びその倍音成分を含む分離波形データＤＷｂを含むので、分離波形データＤＷｂをそのまま又はピッチチェンジして、分離波形データＤＷａに合成することにより、コードタイプ（６、Ｍ７、７）に対応可能である。また、分離波形データＤＷａをコードタイプ（Ｍａｊ）を基準にしたものとして単独で使用することも可能である。
【００５０】
分離パターンデータＤＰ２は、コードルート及び５度の構成音（この例では、０度、完全５度）及びその倍音成分を含む分離波形データＤＷｃ、３度の構成音及びその倍音成分を含む分離波形データＤＷｄ及び７度の構成音及びその倍音成分を含む分離波形データＤＷｂを含むので、分離波形データＤＷｄをそのまま又はピッチチェンジして、分離波形データＤＷｃと合成することにより、コードタイプ（ｍａｊ、ｍ、ｓｕｓ４）に対応可能である。また、分離波形データＤＷｂをそのまま又はピッチチェンジしてさらに合成することによりコードタイプ（６、Ｍ７、７、ｍ６、ｍ７、ｍＭ７、７ｓｕｓ４）に対応可能である。なお、分離波形データＤＷｃをコードタイプ（１＋５）を基準にしたものとして単独で使用することも可能である。
【００５１】
分離パターンデータＤＰ３は、コードルート及び３度の構成音（この例では、０度、長３度）及びその倍音成分を含む分離波形データＤＷｅ、５度の構成音及びその倍音成分を含む分離波形データＤＷｆ及び７度の構成音及びその倍音成分を含む分離波形データＤＷｂを含むので、分離波形データＤＷｅをそのまま又はピッチチェンジして、分離波形データＤＷｅと合成することにより、コードタイプ（ｍａｊ、ａｕｇ、♭５）に対応可能である。また、分離波形データＤＷｂをそのまま又はピッチチェンジしてさらに合成することによりコードタイプ（６、Ｍ７、Ｍ７（♭５）、７（♭５）、７ａｕｇ、Ｍ７ａｕｇ）に対応可能である。
【００５２】
分離パターンデータＤＰ４は、それぞれがコードタイプの構成音の一つ及び当該構成音の倍音成分を含む分離波形データＤＷｇ、ＤＷｄ、ＤＷｆ、ＤＷｂを含んで構成されるので、各分離波形データＤＷをそのまま又はピッチチェンジして、他の分離波形データＤＷと合成することにより、図５に示すコードタイプに対応可能である。
【００５３】
なお、分離波形データＤＷの合成処理及びピッチチェンジは従来技術による。例えば、前掲特開２００４−２１０２７号公報の［発明の実施の形態］の項に記載されている技術が利用可能である。
【００５４】
なお、本明細書で単に分離波形データＤＷとした場合は、分離波形データＤＷａ〜ＤＷｇのいずれか一つ又は全体を指し示す。また、分離波形データＤＷと基準波形データＯＷのような伴奏フレーズを記憶した波形データをフレーズ波形データと呼ぶ。
【００５５】
図５は、本発明の実施例によるコードタイプ別半音距離数テーブルの一例を表す概念図である。
【００５６】
本実施例では、ユーザの演奏操作等により入力されるコード情報のコードルートに応じてコードルートを含む基準波形データＯＷ又は分離波形データＤＷをピッチチェンジし、コードルートおよびコードタイプに応じて１又は複数の構成音を含む分離波形データＤＷをピッチチェンジして、それらを合成し、入力コード情報のコードタイプ及びコードルートを基準とした伴奏フレーズに対応する合成波形データを生成する。
【００５７】
例えば、ＣＭ７の基準波形データＯＷからの分離波形データは、図４に示す分離パターンデータＤＰ４のようにそれぞれが１音ずつ含むように分離した場合、各分離波形データＤＷは、それぞれ長３度（半音距離数４）、完全５度（半音距離数７）、長７度（半音距離数１１）のみに対応し、その他の構成音に対応させるためにはコードタイプに応じてピッチチェンジをする必要がある。したがって、コードルートおよびコードタイプに応じて１又は複数の分離波形データＤＷをピッチチェンジする際に、図５に示すコードタイプ別半音距離数テーブルを参照する。
【００５８】
コードタイプ別半音距離数テーブルは、コードタイプごとに、コードルートから、コードルート、３度、５度、４声目のコード構成音までの半音距離数を記録したテーブルである。例えば、メジャーコード（Ｍａｊ）の場合は、コードルート、３度、５度の構成音のコードルートからの半音距離数はそれぞれ、０、４、７となる。この場合、本実施例の分離波形データＤＷは、長３度（半音距離数４）、完全５度（半音距離数７）に対応したものが用意されているのでコードタイプに応じたピッチチェンジは必要がないが、例えば、マイナーセブンス（ｍ７）の場合は、コードルート、３度、５度、７度の構成音のコードルートからの半音距離数は、それぞれ、０、３、７、１０となるので、長３度（半音距離数４）及び長７度（半音距離数１１）に対応した選択波形データＳＷのピッチ（音高）をそれぞれ１半音下げる必要があることが、コードタイプ別半音距離数テーブルを参照してわかる。
【００５９】
なお、テンションコード用の構成音に対応する分離波形データＤＷを利用する場合には、コードタイプ別半音距離数テーブルに９度、１１度、１３度の構成音のコードルートからの半音距離を含める必要がある。
【００６０】
図６は、本発明の実施例によるメイン処理を表すフローチャートである。このメイン処理は、本発明の実施例による伴奏データ生成装置１００の電源投入と同時に起動する。
【００６１】
ステップＳＡ１で、メイン処理を開始し、ステップＳＡ２で初期設定を行う。ここでの初期設定は、自動伴奏データＡＡの選択、利用コードタイプの設定（主要三和音のみ使用、トライアド、セブンスコード等）、コード取得方法（ユーザ演奏による入力、ユーザの直接指定による入力、コード進行情報による自動入力等）の設定、演奏テンポの設定、調設定等であり、例えば、図１の設定操作子１２を用いて行う。また、自動伴奏処理開始フラグＲＵＮを初期化（ＲＵＮ＝０）するとともに、タイマ、その他のフラグ、レジスタ等を初期化する。
【００６２】
ステップＳＡ３では、ステップＳＡ２又は後述のステップＳＡ４で選択された自動伴奏データＡＡに含まれる各パートの伴奏パターンデータＡＰ内の基準波形データＯＷの分離処理を行う。この分離処理は、図４を参照して説明したように行う。この分離処理における分離の度合い（分離パターンＤＰ０〜４のいずれを生成するか）は、デフォルトの設定又はステップＳＡ２でユーザにより設定される利用コードタイプにより決定される。例えば、ステップＳＡ２において、ユーザが主要三和音のみを使用すると設定した場合には、図４の分離パターンＤＰ１を生成すれば足り、また、ユーザがセブンスコードも含む基本コードを使用すると設定した場合には、図４の分離パターンＤＰ２を生成すれば足りる。また、例えば、ユーザが広く一般の音楽で使用されるようなコードを使用すると設定した場合は、図４の分離パターンＤＰ４を生成すればよい。なお、生成した分離波形データＤＷは、元の基準波形データＯＷとともに、伴奏パターンデータＡＰに対応付けられて、例えば、記憶装置１５内に記憶される。また、選択された自動伴奏データＡＡについて生成すべき分離パターンデータＤＰが、すでに生成されて記憶されている場合は、当該記憶されている分離波形データＤＷを使用すればよいので、ここでの分離処理は省略する。また、分離処理は、コード情報が入力されるたびに、当該入力されたコード情報に応じて行い記憶するようにしてもよい。
【００６３】
ステップＳＡ４では、ユーザによる設定変更操作を検出したか否かを判断する。ここでの設定変更操作は、自動伴奏データＡＡの再選択等、現在の設定を初期化する必要のある設定であり、例えば、演奏テンポの設定変更等は含まれない。設定変更操作を検出した場合は、ＹＥＳの矢印で示すステップＳＡ５に進む。設定変更操作を検出しない場合は、ＮＯの矢印で示すステップＳＡ６に進む。
【００６４】
ステップＳＡ５では、自動伴奏停止処理を行う。自動伴奏停止処理は、例えば、タイマを停止し、フラグＲＵＮを０に設定（ＲＵＮ＝０）し、発音中の自動伴奏による楽音の消音処理を行う。その後、ＳＡ２に戻り、検出した変更操作に従い再度初期設定を行う。なお、自動伴奏中でない場合には、そのままステップＳＡ２に戻る。
【００６５】
ステップＳＡ６では、メイン処理の終了操作（伴奏データ生成装置１００の電源切断等）を検出したか否かを判断する。終了操作を検出した場合は、ＹＥＳの矢印で示すステップＳＡ２４に進みメイン処理を終了する。検出しない場合はＮＯの矢印で示すステップＳＡ７に進む。
【００６６】
ステップＳＡ７では、ユーザによる演奏操作を検出したか否かを判断する。ユーザによる演奏動作の検出は、例えば、図１の演奏操作子２２の操作による演奏信号の入力または、通信Ｉ／Ｆ２１を介した演奏信号の入力の有無を検出することにより行う。演奏操作を検出した場合は、ＹＥＳの矢印で示すステップＳＡ８に進み、検出した演奏動作に基づく発音又は消音処理を行い、ステップＳＡ９に進む。演奏操作を検出しない場合はＮＯの矢印で示すステップＳＡ９に進む。
【００６７】
ステップＳＡ９では、自動伴奏の開始指示を検出したか否かを判断する。自動伴奏の開始指示は、例えば、ユーザが図１の設定操作子１２を操作することにより行う。自動伴奏開始指示を検出した場合は、ＹＥＳの矢印で示すステップＳＡ１０に進む。開始指示を検出しない場合は、ＮＯの矢印で示すステップＳＡ１４に進む。
【００６８】
ステップＳＡ１０では、フラグＲＵＮを１に設定（ＲＵＮ＝１）に設定し、ステップＳＡ１１では、ステップＳＡ２又はステップＳＡ４で選択された自動伴奏データＡＡを、例えば、図１の記憶装置１５等からＲＡＭ７の所定領域内等にロードする。その後、ステップＳＡ１２で、直前コードと現在コード及び合成波形データをクリアし、ステップＳＡ１３でタイマを起動して、ステップＳＡ１４に進む。
【００６９】
ステップＳＡ１４では、自動伴奏の停止指示を検出したか否かを判断する。自動伴奏の停止指示は、例えば、ユーザが図１の設定操作子１２を操作することにより行う。自動伴奏停止指示を検出した場合は、ＹＥＳの矢印で示すステップＳＡ１５に進む。停止指示を検出しない場合は、ＮＯの矢印で示すステップＳＡ１８に進む。
【００７０】
ステップＳＡ１５では、タイマを停止し、ステップＳＡ１６では、フラグＲＵＮを０に設定（ＲＵＮ＝０）に設定する。その後、ステップＳＡ１７で、自動伴奏データの生成処理を停止し、ステップＳＡ１８に進む。
【００７１】
ステップＳＡ１８では、フラグＲＵＮが１に設定されているか否かを判断する。ＲＵＮが１の場合（ＲＵＮ＝１）の場合は、ＹＥＳの矢印で示すステップＳＡ１９に進む。ＲＵＮが０の場合（ＲＵＮ＝０）の場合は、ＮＯの矢印で示すステップＳＡ４に戻る。
【００７２】
ステップＳＡ１９では、コード情報の入力を検出（コード情報を取得）したか否かを判断する。コード情報の入力を検出した場合には、ＹＥＳの矢印で示すステップＳＡ２０に進み、検出しない場合には、ＮＯの矢印で示すステップＳＡ２３に進む。
【００７３】
コード情報の入力を検出しない場合には、すでに何らかのコード情報に基づき自動伴奏生成中の場合と、有効なコード情報がない場合が含まれる。有効なコード情報がない場合には、コード情報を必要としない、例えば、リズムパートのみ伴奏データを生成するようにしても良い。あるいは、有効なコード情報が入力されるまで、ステップＳＡ２３に進まずに、ステップＳＡ１９の処理を繰り返すようにして、有効なコード情報が入力されるまで伴奏データの生成を待つようにしてもよい。
【００７４】
なお、コード情報の入力は、ユーザの図１の演奏操作子２２等を用いた演奏操作により入力される。ユーザの演奏からのコード情報の取得は、例えば、鍵盤等の演奏操作子２２の一部の領域であるコード鍵域の押鍵組み合わせから検出（この場合は押鍵に対応する発音は行わない）してもよく、鍵盤の全鍵域における所定タイミング幅での押鍵状態から検出するようにしてもよい。その他、周知のコード検出技術を利用可能である。なお、コード情報の入力は、演奏操作子２２を利用したものに限らず、設定操作子１２を利用して行ってもよい。その場合、例えば、コード情報をコードルート（根音）を表す情報（文字や数字）とコードタイプを表す情報（文字や数字）の組み合わせで入力するようにしてもよく、使用可能なコード情報を記号や番号（例えば、図３のテーブル参照）で入力するようにしてもよい。さらに、コード情報をユーザの入力によらずに、あらかじめ記憶しておいたコードシーケンス（コード進行情報）を所定のテンポで読みだして取得するようにしてもよく、再生中の曲データ等からコード検出を行い取得してもよい。
【００７５】
ステップＳＡ２０では、「現在コード」に設定されているコード情報を「直前コード」にセットし、ステップＳＡ１９で検出（取得）したコード情報を「現在コード」にセットする。
【００７６】
ステップＳＡ２１では、「現在コード」に設定されているコード情報と「直前コード」に設定されているコード情報とが同一であるか否かを判断する。同一である場合はＹＥＳの矢印で示すステップＳＡ２３に進み、同一でない場合は、ＮＯの矢印で示すステップＳＡ２２に進む。なお、初回コード情報検出時もステップＳＡ２２に進む。
【００７７】
ステップＳＡ２２では、ステップＳＡ１１でロードされた自動伴奏データＡＡに含まれる各伴奏パート（トラック）について、「現在コード」に設定されているコード情報のコードタイプ（以下、現在コードタイプと呼ぶ）とコードルート（以下、現在コードルートと呼ぶ）に適合する合成波形データを生成して、「現在の合成波形データ」とする。なお、合成波形データの生成処理については、図７を参照して後述する。
【００７８】
ステップＳＡ２３では、ステップＳＡ１１でロードされた自動伴奏データＡＡに含まれる各伴奏パート（トラック）について、ステップＳＡ２２でセットされた「現在の合成波形データ」からタイマに適合する位置のデータを設定された演奏テンポにあわせて読み出し、読み出したデータを基に伴奏データを生成して出力する。その後、ステップＳＡ４に戻り、以降の処理を繰り返す。
【００７９】
なお、自動伴奏データＡＡは、ステップＳＡ２においてユーザが自動伴奏開始前に選択するかもしくはステップＳＡ４において自動伴奏中に選択するようにしたが、予め記憶しておいたコードシーケンスデータ等を再生する場合などは、コードシーケンスデータ等に自動伴奏データＡＡの指定情報を含ませるようにして、それを読み出して自動的に選択するようにしても良い。また、デフォルトとして予め自動伴奏データＡＡが選択されるようにしても良い。
【００８０】
なお、選択した自動伴奏データＡＡの再生の開始及び停止指示は、ステップＳＡ９及びステップＳＡ１４においてユーザの操作を検出して行ったが、ユーザによる演奏操作子２２を用いた演奏の開始及び終了を検出して、選択した自動伴奏データＡＡの再生の開始及び停止を自動的に行うようにしても良い。
【００８１】
また、ステップＳＡ１４において自動伴奏の停止指示を検出した際に、直ちに自動伴奏を停止するようにしても良いが、再生中のフレーズ波形データＰＷの最後もしくは区切れ目（音の切れるところなど）まで自動伴奏を継続してから停止するようにしても良い。
【００８２】
図７は、図６のステップＳＡ２２で実行される合成波形データの生成処理を表すフローチャートである。自動伴奏データＡＡに複数の伴奏パートが含まれる場合は、この処理を伴奏パート数分繰り返す。なお、図６のステップＳＡ３では、図４の分離パターンデータＤＰ４が生成されたものとして説明する。
【００８３】
ステップＳＢ１で、合成波形データ生成処理を開始し、ステップＳＢ２では、図６のステップＳＡ１１でロードされた自動伴奏データＡＡの現在処理対象となっている伴奏パートに対応付けられている伴奏パターンデータＡＰを抽出し、「現在の伴奏パターンデータ」とする。
【００８４】
ステップＳＢ３では、現在処理対象となっている伴奏パートに対応する合成波形データをクリアする。
【００８５】
ステップＳＢ４では、「現在の伴奏パターンデータ」にセットされている伴奏パターンデータＡＰの基準音高情報（コードルート情報）と「現在コード」に設定されているコード情報のコードルートとの差分（半音距離数）からピッチチェンジ量を算出して「基本チェンジ量」とする。なお、「基本チェンジ量」はマイナスとなる場合もある。本実施例では伴奏パターンデータＡＰのコードルートは「Ｃ」であるので、例えば、入力コード情報が「Ｄｍ７」である場合は、コード情報のコードルートは「Ｄ」であるので、「基本チェンジ量」は「２（半音距離数）」となる。
【００８６】
ステップＳＢ５では、基準コードタイプ（現在の伴奏パターンデータＡＰの基準波形データＯＷが基準とするコードタイプ）が現在コードタイプと同一（基準コードタイプ＝現在コードタイプ）か否かを判断する。同一である場合は、各構成音について別々のピッチチェンジが必要ないので、ＹＥＳの矢印で示すステップＳＢ６に進み、現在の伴奏パターンデータＡＰの基準波形データＯＷをステップＳＢ４で設定した「基本チェンジ量」分ピッチチェンジを行い、それを合成波形データとして、ステップＳＢ１７に進み、合成波形データ生成処理を終了して図６のステップＳＡ２３に進む。同一でない場合は、各構成音について別々のピッチチェンジを行うため、ＮＯの矢印で示すステップＳＢ７に進む。
【００８７】
ステップＳＢ７では、基準コードタイプの構成音数が現在コードタイプの構成音数よりも多い（基準コードタイプの構成音数＞現在コードタイプの構成音数）か否かを判断する。基準コードタイプの構成音数が現在コードタイプの構成音数よりも多い場合は、ＹＥＳの矢印で示すステップＳＢ８に進み、基準コードタイプにのみ存在し現在コードタイプに存在しない構成音を抽出して「不要構成音」として、ステップＳＢ１２に進む。基準コードタイプの構成音数が現在コードタイプの構成音数と同じか又は少ない場合は、ＮＯ矢印で示すステップＳＢ９に進む。例えば、現在コードタイプがＤｍである場合、本実施例での基準コードタイプはＣＭ７であるので、７度の構成音が基準コードタイプにのみ存在する構成音であり、「不要構成音」として設定される。
【００８８】
ステップＳＢ９では、基準コードタイプの構成音数が現在コードタイプの構成音数よりも少ない（基準コードタイプの構成音数＜現在コードタイプの構成音数）か否かを判断する。基準コードタイプの構成音数が現在コードタイプの構成音数よりも少ない場合は、ＹＥＳの矢印で示すステップＳＢ１０に進み、同じ場合は、ＮＯの矢印で示すステップＳＢ１２に進む。
【００８９】
ステップＳＢ１０では、現在コードタイプにのみ存在し基準コードタイプに存在しない構成音を抽出して「不足構成音」とする。例えば、現在コードタイプがＤｍ７（９）である場合、本実施例での基準コードタイプはＣＭ７であるので、９度の構成音が現在コードタイプにのみ存在する構成音であり、「不足構成音」として設定される。
【００９０】
ステップＳＢ１１では、現在コードタイプの不足構成音以外の各構成音のコードルートからの半音距離数と基準コードタイプの対応する構成音のコードルートからの半音距離数の差分（−２〜＋２）を、図５に示すコードタイプ別半音距離数テーブルを参照して抽出し、ステップＳＢ１３に進む。本明細書において、現在コードタイプと基準コードタイプの各構成音が対応する場合とは、コードルートに対する度数が同一の場合であるが、例外として、例えば、ＳＵＳ４系の４度は３度の構成音として扱う。また、（６）の６度は４声目の構成音として扱う。なお、この対応関係は予め設定されることが好ましいが、ユーザにより設定可能としても良い。例えば、現在コードタイプがＤｍ７（９）である場合、本実施例での基準コードタイプはＣＭ７であるので、「不足構成音」である９度の構成音以外の各構成音について差分が算出される。現在コードタイプのＤｍ７（９）の「不足構成音」以外の構成音の半音距離数は、図５に示すコードタイプ別半音距離数テーブルより、それぞれルート「０」、３度「３」、５度「７」、４声目「１０」であることがわかる。一方、基準コードタイプのＣＭ７は、図５に示すコードタイプ別半音距離数テーブルより、それぞれルート「０」、３度「４」、５度「７」、４声目「１１」であることがわかる。そこで各構成音について差分を求めると、ルート「０」、３度「−１」、５度「０」、４声目「−１」となる。
【００９１】
ステップＳＢ１２では、現在コードタイプの各構成音のコードルートからの半音距離数と基準コードタイプの対応する構成音のコードルートからの半音距離数の差分（−２〜＋２）を、図５に示すコードタイプ別半音距離数テーブルを参照して抽出し、ステップＳＢ１３に進む。現在コードタイプの各構成音に対応する基準コードタイプの各構成音のみについて差分を抽出するので、「不要構成音」については無視される。例えば、現在コードタイプがＤｍである場合、本実施例での基準コードタイプはＣＭ７であるので、「不要構成音」である７度の構成音以外の各構成音について差分が算出される。現在コードタイプのＤｍの構成音の半音距離数は、図５に示すコードタイプ別半音距離数テーブルより、それぞれルート「０」、３度「３」、５度「７」であることがわかる。一方、基準コードタイプのＣＭ７は、図５に示すコードタイプ別半音距離数テーブルより、それぞれルート「０」、３度「４」、５度「７」であることがわかる。そこで各構成音について差分を求めると、ルート「０」、３度「−１」、５度「０」となる。
【００９２】
ステップＳＢ１３では、ステップＳＢ１１又はステップＳＢ１２で抽出した差分に基づき、基準コードタイプの各構成音のシフト量を算出する。各構成音のシフト量は、ステップＳＢ１１又はステップＳＢ１２で抽出した差分に基本チェンジ量を加算したものである。例えば、現在コードタイプがＤｍ７（９）である場合、ステップＳＢ１１で抽出した差分より、基準コードタイプの各構成音のシフト量は、コードルート「０＋２＝２」、３度「−１＋２＝１」、５度「０＋２＝２」、４声目「−１＋２＝１」となる。なお、現在コードタイプがＤｍの場合は、コードルート「０＋２＝２」、３度「−１＋２＝１」、５度「０＋２＝２」となる。
【００９３】
ステップＳＢ１４では、現在の伴奏パターンデータＡＰに対応付けられている分離パターンデータＤＰの中に、差分が「０」でない現在コードタイプの各構成音に対応する構成音（不足構成音以外）及び不要構成音がそれぞれ分離波形データＤＷとして含まれているものがあるか否かを判断する。含まれているものがある場合は、ＹＥＳの矢印で示すステップＳＢ１６に進み、含まれているものがない場合は、ＮＯの矢印で示すステップＳＢ１５に進む。なお、それぞれ分離波形データＤＷとして含まれていなくとも、同一の分離波形データＤＷに含まれる構成音のシフト量が同一である場合は、後述するステップＳＢ１６のピッチチェンジ処理において問題がないので、ＹＥＳの矢印で示すステップＳＢ１６に進む。
【００９４】
例えば、図６のステップＳＡ３で図４の分離パターンデータＤＰ４を用意した際に、現在コードタイプがＤｍ７（９）である場合は、現在コードタイプの各構成音コードルート、３度、５度、７度、９度のうち９度は不足構成音であるので無視し、コードルート、３度、５度、７度に対応する分離波形データＤＷｇ、ＤＷｄ、ＤＷｆ、ＤＷｂが分離パターンデータＤＰ４に含まれるので、ＹＥＳの矢印で示すステップＳＢ１６に進む。
【００９５】
一方、図６のステップＳＡ３で図４の分離パターンデータＤＰ３を用意した際に、現在コードタイプがＤｍ７（９）である場合は、現在コードタイプの各構成音コードルート、３度、５度、７度、９度のうち９度は不足構成音であるので無視し、５度、７度に対応する分離波形データＤＷｆ、ＤＷｂは分離パターンデータＤＰ３に含まれるが、コードルート及び３度のそれぞれに対応する分離波形データＤＷが含まれず、さらに、コードルート及び３度のそれぞれのシフト量が異なるので、ＮＯの矢印で示すステップＳＢ１５に進む。
【００９６】
なお、図６のステップＳＡ３で図４の分離パターンデータＤＰ２を用意した際に、現在コードタイプがＤｍ７（９）である場合は、現在コードタイプの各構成音コードルート、３度、５度、７度、９度のうち９度は不足構成音であるので無視し、３度、７度に対応する分離波形データＤＷｄ、ＤＷｂは分離パターンデータＤＰ２に含まれるが、コードルート及び５度のそれぞれに対応する分離波形データＤＷが含まれないものの、コードルートと５度の構成音のシフト量が同一であるので、この場合も、ＹＥＳの矢印で示すステップＳＢ１６に進む。
【００９７】
ステップＳＢ１５では、現在の伴奏パターンデータＡＰに対応付けられている分離パターンデータＤＰの中の分離波形データＤＷ（又は基準波形データＯＷ）から、現在コードタイプの差分が「０」でない各構成音に対応する構成音（不足構成音以外）及び不要構成音のうち、まだ分離波形データＤＷが分離されていないものを分離して、当該構成音に対応する分離波形データＤＷを生成し、新たな分離パターンデータを生成する。例えば、基準コードがＣＭ７である分離パターンデータＤＰ３が用意されていたときに、Ｄｍ７が入力された場合は、分離パターンデータＤＰ３の分離波形データＤＷｅを分離して、分離波形データＤＷｇと分離波形データＤＷｄを生成して、新たに分離パターンデータＤＰ４を生成する。その後、ステップＳＢ１６に進む。
【００９８】
ステップＳＢ１６では、ステップＳＢ１５で検出した又はステップＳＢ１６で生成した分離パターンデータＤＰ内の不要構成音以外の全分離波形データＤＷについて、対応する構成音のシフト量のピッチチェンジを行い、ピッチチェンジ後の分離波形データＤＷを合成して合成波形データとする。その後、ステップＳＢ１７に進み、合成波形データ生成処理を終了して図６のステップＳＡ２３に進む。
【００９９】
以上のように、コードルートを含む基準波形データＯＷ又は差分が「０」の分離波形データＤＷは「基本チェンジ量」分ピッチチェンジを行い、差分が「０」でないコード構成音を１つ含む分離波形データＤＷは「基本チェンジ量」にコードタイプに応じた値を加算（減算）した半音距離数分ピッチチェンジを行って、合成することにより、所望のコードルートおよびコードタイプを基準とした伴奏データを得ることができる。
【０１００】
なお、上述のフローチャートでは、現在コードタイプの中の「不足構成音」とされた構成音については、分離波形データＤＷが用意できないために無視したが、不足構成音とされた構成音に対応するデータをＭＩＤＩデータ等の自動演奏データで用意するようにしても良い。また、不足構成音となると予想される構成音については、基準波形データＯＷとは別に、フレーズ波形データを予め用意して、ピッチチェンジした後に合成するようにしても良い。また、単に「不足構成音」を無視するのではなく、現在コードタイプの代わりとなるコードタイプで、かつ用意されている分離パターンデータＤＰで対応可能なものを現在コードタイプとするようにしても良い。
【０１０１】
また、ステップＳＢ１５において、必要な構成音を含む分離波形データＤＷを新たに生成する代わりに、当該必要な構成音を含む分離波形データＤＷに対応する伴奏フレーズをＭＩＤＩデータ等の自動演奏データで用意するようにしても良い。また、現在コードタイプの代わりとなるコードタイプで、かつ用意されている分離パターンデータＤＰで対応可能なものを現在コードタイプとするようにしても良い。
【０１０２】
なお、図３に示すように、全てのコードルート（１２音）の基準波形データＯＷを用意する場合には、ステップＳＢ４における基本チェンジ量の算出処理は省略し、ステップＳＢ１３において基本チェンジ量を加算しないようにする。また、一部のコードルートに対応した基準波形データＯＷのみを用意する場合には、「現在コード」に設定されているコード情報との音高差が最も少ないコードルートに対応した基準波形データＯＷを読み出して、当該音高差の分を「基本チェンジ量」とするようにすれば良い。
【０１０３】
なお、ＣＭ７の基準波形データＯＷとＤｍ７（もしくはＥｍ７、Ａｍ７等）の基準波形データＯＷの二つを用意する場合は、３度及び５度の構成音は分離せずに、７度の構成音のみを分離して用いるようにしても良い（図４の分離パターンデータＤＰ１の状態）。この場合、メジャーコードにはＣＭ７からの分離波形データＤＷをピッチチェンジして用い、マイナーコードにはＤｍ７からの分離波形データＤＷをピッチチェンジして用いればよい。このように、メジャーコードとマイナーコードの二つの基準波形データＯＷを用意することで、図４の分離パターンデータＤＰ１の状態で数多くのコードタイプに対応することが可能である。
【０１０４】
以上、本発明の実施例によれば、伴奏パターンデータＡＰに対応付けて、所定のコードルート及びコードタイプのコードを基準として当該コード構成音を複数含む基準波形データＯＷを用意して、必要に応じて基準波形データＯＷ又は複数の構成音を含む分離波形データＤＷを分離して、差分値が「０」以外の構成音を含む分離波形データＤＷを生成し、それらを適宜ピッチチェンジしたのちに、合成することにより、複数のコードタイプに対応した合成波形データを生成することができるため、入力されるコードにあわせた自動伴奏が可能となる。
【０１０５】
また、分離波形データＤＷとして、差分値が「０」以外の構成音を含むフレーズ波形データを基準波形データＯＷ又は複数音を含む分離波形データＤＷから分離して、それをピッチチェンジしたのちに合成することが可能であるので、基準波形データＯＷが基準としたコードタイプとは異なるコードタイプのコードが入力されても対応が可能である。また、コードチェンジに伴うコードタイプの変化にも追従可能である。
【０１０６】
さらに、全てのコードルート音について基準波形データＯＷを用意すれば、構成音の一部にのみピッチチェンジを行えばよくなるため、ピッチチェンジによる音質の劣化を最小限に抑えることができる。
【０１０７】
また、一旦分離した分離波形データＤＷを伴奏パターンデータＡＰに対応付けて記憶しておくことにより、次回の使用時には、分離処理を行うことなく、入力コードに応じて適切な分離波形データＤＷや基準波形データＯＷを読み出し、合成することができる。
【０１０８】
なお、上述の実施例では、基準波形データＯＷから分離波形データＤＷを含む分離パターンＤＰ１〜４を生成したが、予め分離波形データＤＷを含む分離パターンデータＤＰ１〜４のうちの少なくとも一つを記憶しておくようにしても良い。また、必要に応じて外部機器から分離パターンデータＤＰ０〜４のうちの少なくとも一つを取得するようにしても良い。
【０１０９】
さらに、伴奏パターンをフレーズ波形データで用意するため、高音質での自動伴奏が可能となる。また、ＭＩＤＩ音源では発音が困難な特殊な楽器や特殊な音階を利用した伴奏も自動で行うことが可能となる。
【０１１０】
なお、上述の実施例では、基準波形データＯＷの録音テンポを自動伴奏データＡＡの属性情報として記憶したが、基準波形データＯＷごとにここに記憶するようにしても良い。また、実施例では、１つの録音テンポについてのみ基準波形データＯＷを用意したが、複数種類のテンポについて基準波形データＯＷを用意してもよい。
【０１１１】
なお、本発明の実施例は、電子楽器の形態に限らず実施例に対応するコンピュータプログラム等をインストールした市販のコンピュータ等によって、実施させるようにしてもよい。
【０１１２】
その場合には、各実施例に対応するコンピュータプログラム等を、ＣＤ−ＲＯＭ等のコンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。また、そのコンピュータ等が、ＬＡＮ、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、コンピュータプログラムや各種データ等をユーザに提供してもよい。
【０１１３】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。以下に、本発明の実施例に変形例を示す。
【符号の説明】
【０１１４】
６…バス、７…ＲＡＭ、８…ＲＯＭ、９…ＣＰＵ、１０…タイマ、１１…検出回路、１２…設定操作子、１３…表示回路、１４…ディスプレイ、１５…外部記憶装置、１８…波形メモリ音源、１９…サウンドシステム、２０…ＤＡＣ、２１…通信Ｉ／Ｆ、２２…演奏操作子、１００…伴奏データ生成装置
【図１】
0005598398.tif 000002
【図２】
0005598398.tif 000003
【図３】
0005598398.tif 000004
【図４】
0005598398.tif 000005
【図５】
0005598398.tif 000006
【図６】
0005598398.tif 000007
【図７】
0005598398.tif 000008