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