(57)【要約】【課題】主たる音楽のアクセント位置に合うように、伴奏パターンデータに基づき自動伴奏をリアルタイムに制御する。【解決手段】主たる音楽の演奏情報を順次取得し、該音楽のアクセント位置を抽出する（Ｓ１６）。伴奏パターンデータに基づき自動伴奏を進行させ、伴奏イベントに基づき伴奏データを生成する（Ｓ１４）。伴奏パターンデータに基づく自動伴奏の発音タイミングを該抽出したアクセント位置に応じて調整し、該調整した発音タイミングを持つ自動伴奏データを生成する（Ｓ１６〜Ｓ１９）。【選択図】  図２
2019179277.tif 000002
【特許請求の範囲】
【請求項１】
音楽の演奏情報を順次取得するステップと、
取得した前記演奏情報に基づき、前記音楽のアクセント位置を抽出するステップと、
前記音楽と一緒に演奏されるべき自動伴奏の伴奏パターンデータを取得するステップと、
前記取得した伴奏パターンデータに基づき自動伴奏を進行させるステップと、
前記伴奏パターンデータに基づく自動伴奏の発音タイミングを前記アクセント位置に応じて調整し、該調整した発音タイミングを持つ自動伴奏データを生成するステップ
をプロセッサによって実行することからなる自動伴奏データ生成方法。
【請求項２】
前記演奏情報は、１以上の演奏パートからなり、
前記アクセント位置を抽出するステップは、前記演奏情報中の特定の演奏パートの演奏情報に基づき前記アクセント位置を抽出する、請求項１に記載の自動伴奏データ生成方法。
【請求項３】
前記自動伴奏データを生成するステップは、前記抽出したアクセント位置において又は該抽出したアクセント位置に後続する所定時間区間内において発音タイミングが到来する伴奏イベントを前記伴奏パターンデータから抽出し、該抽出した伴奏イベントの発音タイミングを該抽出したアクセント位置の時点に移動し、該移動した伴奏イベントに基づき前記自動伴奏データを生成する、請求項１又は２に記載の自動伴奏データ生成方法。
【請求項４】
音楽の演奏情報を順次取得する手段と、
取得した前記演奏情報に基づき、前記音楽のアクセント位置を抽出する手段と、
前記音楽と一緒に演奏されるべき自動伴奏の伴奏パターンデータを取得する手段と、
前記取得した伴奏パターンデータに基づき自動伴奏を進行させる手段と、
前記伴奏パターンデータに基づく自動伴奏の発音タイミングを前記アクセント位置に応じて調整し、該調整した発音タイミングを持つ自動伴奏データを生成する手段と
を備える自動伴奏データ生成装置。
【請求項５】
前記演奏情報は、１以上の演奏パートからなり、
前記アクセント位置を抽出する手段は、前記演奏情報中の特定の演奏パートの演奏情報に基づき前記アクセント位置を抽出する、請求項４に記載の自動伴奏データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順次進行する音楽の演奏情報に基づき、該演奏情報と共に演奏される自動伴奏をリアルタイムに自動的にアレンジ（編曲）する方法及び装置に関する。
【背景技術】
【０００２】
公知の自動伴奏技術においては、複数の音楽ジャンル又はカテゴリーにわたって多数の伴奏スタイルデータ（自動伴奏データ）を予め記憶しており、ユーザが所望の伴奏スタイルデータを選択すると共に演奏テンポを選択し、該選択された伴奏スタイルデータに基づく伴奏パターンを該選択された演奏テンポで自動的に再生するようにしている（例えば特許文献１）。そのとき、例えば、ユーザ自らがキーボード等によりメロディ演奏を行なえば、該メロディ演奏と自動伴奏の合奏が行なえる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０３２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の自動伴奏技術においては、和音あるいはアルペジオ等の音高要素を持つ伴奏パターンについては、生成される伴奏音の音高をリアルタイムに特定される和音に応じて変更することが行なわれるが、該伴奏パターンを構成する各音の発音タイミングを変更することは行なわれていない。そのため、ユーザ演奏と自動伴奏を合奏する場合、ユーザ演奏のリズム感（アクセント）に自動伴奏のリズム感（アクセント）を合わせることができず、杓子定規な合奏しか行なえない、という問題があった。一方、ユーザのリズム感にできるだけ合った伴奏パターンを予め選択することで、ユーザ演奏のリズム感（アクセント）に合った合奏ができなくもないが、多数の伴奏パターンの中から適切な伴奏パターンを選択するのは容易なことではなかった。
【０００５】
本発明は上述の点に鑑みてなされたものであり、順次進行する主たる音楽のアクセント位置に合うように、該主たる音楽と共に演奏されるのに適した自動伴奏のリズム感（アクセント）をリアルタイムに制御できる自動伴奏データ生成方法及び装置を提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明に係る自動伴奏データ生成方法は、音楽の演奏情報を順次取得するステップと、取得した前記演奏情報に基づき、前記音楽のアクセント位置を抽出するステップと、前記音楽と一緒に演奏されるべき自動伴奏の伴奏パターンデータを取得するステップと、前記取得した伴奏パターンデータに基づき自動伴奏を進行させるステップと、前記伴奏パターンデータに基づく自動伴奏の発音タイミングを前記アクセント位置に応じて調整し、該調整した発音タイミングを持つ自動伴奏データを生成するステップ、をプロセッサによって実行することからなる。
【０００７】
本発明によれば、順次進行する音楽演奏に対して伴奏パターンデータに基づく自動伴奏を付加する場合において、前記音楽のアクセント位置を抽出し、伴奏パターンデータに基づく自動伴奏の発音タイミングを該抽出したアクセント位置に応じて調整し、該調整した発音タイミングを持つ自動伴奏データを生成することを特徴としている。これにより、順次進行する音楽演奏のアクセント位置に合うように、該音楽演奏と共に演奏される自動伴奏のリズム感（アクセント）をリアルタイムに制御することができ、自動伴奏のアレンジをリアルタイムで行うことができる。
【０００８】
一実施例において、前記自動伴奏データを生成するステップは、前記抽出したアクセント位置において又は該抽出したアクセント位置に後続する所定時間区間内において発音タイミングが到来する伴奏イベントを前記伴奏パターンデータから抽出し、該抽出した伴奏イベントの発音タイミングを該抽出したアクセント位置の時点に移動し、該移動した伴奏イベントに基づき前記自動伴奏データを生成するように構成されていてよい。これによっても、順次進行する音楽演奏のアクセント位置に合うように、該音楽演奏と共に演奏される自動伴奏のリズム感（アクセント）をリアルタイムに制御することができ、自動伴奏のアレンジをリアルタイムで行うことができる。
【０００９】
本発明に係る自動伴奏データ生成方法の各ステップは、それぞれの機能を実現するように構成されたプログラムモジュール及び該プログラムモジュールを実行可能なプロセッサ（ＣＰＵのような汎用プロセッサあるいはＤＳＰのような専用プロセッサ）の組み合わせによって構成され得る。
【００１０】
また、本発明は、方法の発明として実施しうるのみならず、各ステップの機能を実現するように構成された手段を備えてなる装置の発明としても実施することができ、また、該方法を実行するためのプロセッサにより実行可能な命令群からなるプログラムの発明としても実施することができ、また、該プログラムを記憶した非一過性のコンピュータ読取可能な記憶媒体の発明としても実施することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る自動伴奏データ生成方法の一実施例を実現するための装置のハードウェア構成ブロック図。
【図２】ＣＰＵによる制御の下で実行される本発明の一実施例に係る処理の機能ブロック図。
【図３】同実施例における自動伴奏データ生成の具体例を示す図。
【発明を実施するための形態】
【００１２】
図１は、本発明に係る自動伴奏データ生成方法の一実施例を実現するための装置（以下、自動伴奏データ生成装置と言う）のハードウェア構成ブロック図である。この自動伴奏データ生成装置は、必ずしも自動伴奏データ生成のための専用装置として構成されている必要はなく、パーソナルコンピュータ、携帯端末装置、電子楽器など、コンピュータ機能を持つ任意の装置又は機器において、本発明に係る自動伴奏データ生成用のアプリケーションプログラムをインストールしてなるものであればよい。この自動伴奏データ生成装置のハードウェア構成は、コンピュータにおいて周知の構成、例えば、ＣＰＵ（中央処理ユニット）１、ＲＯＭ（リードオンリメモリ）２、ＲＡＭ（ランダムアクセスメモリ）３、文字及び記号等を入力するためのキーボート及びマウスを含む入力装置４、ディスプレイ５、プリンタ６、不揮発的な大容量メモリであるハードディスク７、ＵＳＢメモリ等の可搬媒体８のためのメモリインターフェイス（Ｉ／Ｆ）９、音源回路ボード１０、スピーカ等のサウンドシステム１１、外部の通信ネットワークに接続するための通信インターフェイス（Ｉ／Ｆ）１２などを含む。ＲＯＭ２及び／又はハードディスク７には、本発明に係る自動伴奏データ生成用のアプリケーションプログラム及びその他のアプリケーションプログラム並びに制御プログラムが非一過的に記憶される。
【００１３】
図１において、自動伴奏データ生成装置は、さらに、ユーザによるリアルタイムの音楽演奏を可能にするための適宜の演奏操作子１３（例えば音楽演奏用鍵盤）を含む。この演奏操作子１３は、該自動伴奏データ生成装置に常備されている形態からなるものに限らず、外部装置として構成され、該演奏操作子１３から発生される演奏情報が有線又は無線式で該自動伴奏データ生成装置に与えられるようになっていてもよい。例えば、演奏操作子１３が該自動伴奏データ生成装置に常備されている場合は、該演奏操作子１３を用いてユーザが演奏した楽音が音源回路ボード１０及びサウンドシステム１１を介して該自動伴奏データ生成装置から発生可能であり、図２を参照して説明する一実施例においてはそのように構成されている。一方、演奏操作子１３が外部装置として構成される場合は、該演奏操作子１３を用いてユーザが演奏した楽音は、該外部装置が持つ音源及びサウンドシステムから発生されるようになっていてもよいし、あるいは、該演奏操作子１３から有線又は無線式で該自動伴奏データ生成装置に与えられた演奏情報に基づいて該自動伴奏データ生成装置の音源回路ボード１０及びサウンドシステム１１を介して発生されるようになっていてもよい。また、本発明の一実施例に従って生成される自動伴奏データに基づく自動伴奏音は、典型的には、該自動伴奏データ生成装置の音源回路ボード１０及びサウンドシステム１１を介して発生されるが、これに限らず、別の装置の音源及びサウンドシステムから発生されるようになっていてもよい。
【００１４】
本発明の一実施例の詳細な説明を行なう前に、その特徴を要約して説明すると、該実施例においては、主たる音楽演奏に対して既存の伴奏パターンデータに基づく自動伴奏が付加されることを基本的構成としているが、その際に、伴奏パターンデータ通りの自動伴奏データを生成するのではなく、該主たる音楽演奏のアクセント位置に合うように、該自動伴奏のリズム感（アクセント）がリアルタイムに制御されるように、発音タイミングが調整された自動伴奏データを生成することを特徴としている。
【００１５】
図２は、ＣＰＵ１による制御の下で実行される本発明の一実施例に係る処理のフローチャートである。ステップＳ１〜Ｓ５においては、ユーザによって行われる各種の事前設定処理を受け付ける。ステップＳ１においては、主たる音楽演奏に対して付加される自動伴奏の基となる伴奏パターンデータの選択を、ユーザから受け付ける。ユーザは、これから提供しようとする主たる音楽演奏のジャンルやリズムなどを考慮して、該主たる音楽演奏にふさわしい伴奏パターンデータを、既存のデータベースの中から選択する。なお、図２に示す実施例においては、主たる音楽演奏に対して付加される自動伴奏の基となる伴奏パターンデータは、音高調整の必要のないドラムパートのパターンデータからなるものであるとする。多数の既存の伴奏パターンデータ（テンプレート）が、内部のデータベース（例えばハードディスク７又は可搬媒体８）あるいは外部のデータベース（例えばインターネット上のサーバ）に記憶されており、ユーザは、これから提供しようとする主たる音楽演奏のジャンルやリズムなどを考慮して、該データベースから所望の伴奏パターンデータ（テンプレート）を選択する。なお、主たる音楽演奏の楽曲の全体を通じて同じ伴奏パターンデータを選択する（取得する）必要はなく、何小節分かの区間に分けて異なる伴奏パターンデータを選択する（取得する）ようにしてよい。また、同時に演奏される複数種類の伴奏パターンデータの組み合わせを同時に取得してもよい。
【００１６】
なお、一実施例において、既存の伴奏パターンデータのソースとして、公知の伴奏スタイルデータ（自動伴奏データ）のバンクを利用してよい。公知の伴奏スタイルデータ（自動伴奏データ）のバンクにおいては、各カテゴリー（Ｐｏｐ＆Ｒｏｃｋ、あるいはＣｏｕｎｔｒｙ＆Ｂｌｕｅｓ、Ｓｔａｎｄａｒｄ＆Ｊａｚｚなど）別に複数セットの伴奏スタイルデータを記憶しており、各１セットの伴奏スタイルデータは、イントロセクション、メインセクション、フィルインセクション、エンディングセクション等の各セクション別に伴奏データセットを含んでおり、１セクション分の伴奏データセットは、リズム１、リズム２、ベース、リズミック和音１、リズミック和音２、フレーズ１、フレーズ２等の複数パートの伴奏パターンデータ（テンプレート）を含んでいる。このような公知の伴奏スタイルデータ（自動伴奏データ）のバンクにおける最下位層のパート別の伴奏パターンデータ（テンプレート）が、前記ステップＳ１において取得される伴奏パターンデータである。この実施例において、ステップＳ１では、ある１セクション分の伴奏データセットのうちドラムパート（リズム１又はリズム２）のみの伴奏パターンデータを選択して取得する。なお、伴奏パターンデータ（テンプレート）の実体は、ＭＩＤＩ規格等に従って分散的に符号化されたデータであってもよいし、オーディオ波形データのような時間軸に沿うデータであってもよい。後者の場合、伴奏パターンデータ（テンプレート）には、実体的な波形データのみならず、発音タイミングを特定するための情報（管理データ）を少なくとも含むものとする。公知のように、１セクションを構成する各伴奏パターンデータは１以上の所定小節数からなっており、再生演奏時において該所定小節数の伴奏パターンデータを１又は複数サイクルだけループ再生（繰り返し再生）することにより、所望の小節数からなる該伴奏パターンに対応する伴奏音が生成される。
【００１７】
ステップＳ２においては、ユーザによる演奏設定（演奏操作子１３を用いてリアルタイムに演奏しようとする主たる音楽演奏に関する音色、音量、演奏テンポ等、各種音楽要素について設定）を受け付ける。なお、ここで設定される演奏テンポは、前記伴奏パターンデータに基づく自動伴奏の演奏テンポとなる。また、ここで設定される音量とは、主たる音楽演奏のトータル音量及び／又は自動伴奏のトータル音量及び／又は主たる音楽演奏と自動伴奏の音量バランス等を含む。
【００１８】
ステップＳ３においては、前記ステップＳ１で選択された１または複数の伴奏パターンデータの伴奏イベントをそれぞれ１サイクル分展開することにより、伴奏予定音の時系列的なリストを作成する。このリスト内に含まれる各伴奏イベント（伴奏予定音）は、当該伴奏イベントに係る伴奏音の発音タイミングを特定する情報を少なくとも含み、さらに、発音タイミングの移動を制御するためのフラグである移動フラグを含み、必要に応じて当該伴奏イベントに係る伴奏音の音色（打楽器種類）を特定する情報等を含んでいてもよい。該移動フラグの値は"０"に初期設定され、発音タイミングが移動されていないことを示す。
【００１９】
ステップＳ４においては、主たる音楽演奏におけるアクセント位置を判定するためのルールの、ユーザによる設定を受け付ける。そのような判定ルールの一例は、アクセント位置を判定するための計量的基準となる閾値、アクセント位置を判定するための時間的基準となる音符分解能などであり、それらをユーザにより設定可能である。
【００２０】
ステップＳ５においては、伴奏音を調整するためのルールの、ユーザによる設定を受け付ける。そのような伴奏音調整ルールの一例は、伴奏イベントの発音タイミングを、主たる音楽演奏のアクセント位置に合うように、移動するための条件を設定すること（条件１）、あるいは、主たる音楽演奏のアクセント位置に合うような発音タイミングで伴奏イベントを追加生成するための条件を設定すること（条件２）、などからなる。例えば、そのような条件の設定は、ユーザが所望の確率値を設定することからなる。
【００２１】
ステップＳ６においては、ユーザによる、演奏開始指示を受け付ける。次のステップＳ７においては、ユーザによる演奏開始指示がなされたことを条件に、自動伴奏の再生時刻を前記ステップＳ２で設定したテンポに従って管理するためのタイマを起動する。ユーザは、演奏開始指示を行うと同時に、例えば演奏操作子１３を用いて、主たる音楽のリアルタイム演奏を開始する。なお、この主たる音楽演奏は、前記ステップＳ２で設定したテンポに従い行うものとする。同時に、前記タイマの起動に応じて、前記伴奏予定音リストに基づく自動伴奏処理が主たる音楽演奏と同じテンポに従って開始される。一実施例として、図２においては、ユーザによる主たる音楽演奏に応じた楽音の発生と自動伴奏処理に応じた伴奏音の発生とが、以後のステップＳ８〜Ｓ１９の処理によって制御される。
【００２２】
ステップＳ８においては、ユーザによる、演奏終了指示がなされたかを判断する。まだ演奏終了指示がなされていないならばステップＳ９に進む。ステップＳ９では、演奏操作子１３を用いて行われているユーザによる主たる音楽演奏の演奏情報（以下、主演奏情報という）を取得し、現在の主演奏情報が或る音高の楽音の発音開始を指示するノートオンイベントであるか否かを判定する。ノートオンイベントであれば、ステップＳ１０に進み、該ノートオンイベントに係る楽音（主たる音楽演奏の楽音）の発音を開始するための処理を行う。すなわち、前記音源回路ボード１０及びサウンドシステム１１等を介して、該ノートオンイベントに係る楽音が生成されるようにする。ステップＳ９がＮＯの場合、又はステップＳ１０の後、ステップＳ１１に進み、現在の主演奏情報が或る音高の楽音の発音終了を指示するノートオフイベントであるか否かを判定する。ノートオフイベントであれば、ステップＳ１２に進み、該ノートオフイベントに係る楽音の発音を終了するための処理（公知の発音終了処理）を行う。
【００２３】
ステップＳ１１がＮＯの場合、又はステップＳ１２の後、ステップＳ１３に進む。ステップＳ１３においては、前記伴奏予定音リスト内において、前記タイマの現カウント値によって特定される現時点に発音タイミングを持つ（つまり、現時点で発音開始すべき）伴奏イベントが存在するか否かを判定する。ＹＥＳであれば、ステップＳ１４及びＳ１５の処理を行う。ステップＳ１４では、該現時点に発音タイミングを持つ伴奏イベントの移動フラグが"０"であれば、該伴奏イベントに基づき伴奏データを生成する。該生成された伴奏データに応じて、該伴奏データによって特定されるドラム音の波形データ（伴奏音）が前記音源回路ボード１０及びサウンドシステム１１等を介して発生される。
【００２４】
ステップＳ１５では、該現時点に発音タイミングを持つ伴奏イベントの移動フラグが"１"であれば、該伴奏イベントに基づく伴奏データを生成することなく、該移動フラグを"０"にリセットする。なお、移動フラグが"０"であることは、当該伴奏イベントの発音タイミングが移動されていないことを示し、移動フラグが"１"であることは、後述するように、当該伴奏イベントの発音タイミングが現時点よりも前のアクセント位置に対応する時点に移動されたことを示す。すなわち、移動フラグが"１"である伴奏イベントについては、その発音タイミングが現時点よりも前のアクセント位置に対応する時点に移動されたことにより、既にそれに対応する伴奏データを生成済であるため、ステップＳ１５では、再度伴奏データを生成することを行なわず、移動フラグを"０"にリセットすることのみを行なう。
【００２５】
ステップＳ１３がＮＯの場合、又はステップＳ１５の後、ステップＳ１６に進む。ステップＳ１６においては、前記主演奏情報に基づき、前記主たる音楽演奏のアクセント位置を抽出するための処理を実行し、現時点が前記主たる音楽演奏のアクセント位置に該当するか否かを判断する。
【００２６】
ステップＳ１６において行なうアクセント位置を抽出するための具体的な手法（アルゴリズム）は、特定の手法（アルゴリズム）に限られるものではなく、何らかの基準に従って多少なりともアクセント位置を抽出できるものであればどのような手法（アルゴリズム）を採用してよい。アクセント位置を抽出するための手法（アルゴリズム）のいくつかの例を示すと次の通りである。例示したこれらの手法（アルゴリズム）から、１つのみを採用してもよく、あるいは、複数を組み合わせて採用してもよい。なお、主演奏情報の音楽的パート構成は、任意であってよく、例えば、メロディパートのみからなっていてもよいし、ピアノ演奏のように右手パート（メロディパート）と左手パート（伴奏又は和音パート）とからなっていてもよいし、メロディパートと和音バッキング、アルペジオ及びベース等の複数の伴奏パートとからなっていてもよい。
【００２７】
（１）主演奏情報が和音パートを含む場合、和音パート（若しくは和音パートとメロディパートを含めて）において各発音タイミング毎に同時に発音される音数を求め、該音数が所定の閾値以上の発音タイミング（つまり時間位置若しくは拍位置）を、アクセント位置として抽出する。すなわち、現時点で同時に発音される音数が所定の閾値以上であれば、現時点がアクセント位置であると判断する。これは、特にピアノ演奏などの場合、強調される箇所ほど同時に弾かれる音数が多い、という特性を考慮したものである。
【００２８】
（２）主演奏情報内にアクセント記号が存在する場合、該アクセント記号が存在する発音タイミング（時間位置）を、アクセント位置として抽出する。すなわち、現時点において該アクセント記号が存在するならば、現時点がアクセント位置であると判断する。
【００２９】
（３）主演奏情報がＭＩＤＩファイルである場合、ベロシティ値が所定閾値以上であるノートオンイベントの発音タイミング（時間位置）を、アクセント位置として抽出する。すなわち、現時点におけるノートオンイベントのベロシティ値が所定閾値以上であれば、現時点がアクセント位置であると判断する。
【００３０】
（４）主演奏情報（例えばメロディ）中の１フレーズにおける音の位置を考慮してアクセント位置として抽出する。例えば、１フレーズにおける最初の音あるいは最後の音は、アクセントが強いと思われるので、それらの音の発音タイミング（時間位置）を、アクセント位置として抽出する。あるいは、１フレーズ中で音高が最大又は最小の音も、アクセントが強いと思われるので、それらの音の発音タイミング（時間位置）を、アクセント位置として抽出する。すなわち、このようにして現時点において発生する主演奏情報に基づく楽音がアクセント位置として抽出されるならば、現時点がアクセント位置であると判断する。
【００３１】
（５）主演奏情報中のメロディ進行において、直前の音よりも音高が所定閾値以上高音側又は低音側に大きく変化している音は、アクセントが強いと思われるので、それらの音の発音タイミング（時間位置）を、アクセント位置として抽出する。すなわち、このようにして現時点において発生する主演奏情報に基づく楽音がアクセント位置として抽出されるならば、現時点がアクセント位置であると判断する。
【００３２】
（６）主演奏情報中のメロディ（あるいは伴奏）の各音を１小節内の拍位置を考慮して重み付けし、その重み付け値が所定閾値以上の音の発音タイミング（時間位置）を、アクセント位置として抽出する。例えば、１小節内の１拍目の音に最大の重みを与え、２拍目以降の表拍（オンビート）の音に２番目の重みを与え、裏拍（オフビート）の音にその音価に応じた重みを与える（例えば８分音符に３番目の重み、１６分音符に４番目の重み）。すなわち、このようにして現時点において発生する主演奏情報に基づく楽音がアクセント位置として抽出されるならば、現時点がアクセント位置であると判断する。
【００３３】
（７）主演奏情報中のメロディ（あるいは伴奏）の各音の音価又はデュレーションを重み付けし、その重み付け値が所定閾値以上の音の発音タイミング（時間位置）を、アクセント位置として抽出する。すなわち、発音時間が長い音が、短い音よりも、よりアクセントが強いとみなす。すなわち、このようにして現時点において発生する主演奏情報に基づく楽音がアクセント位置として抽出されるならば、現時点がアクセント位置であると判断する。
【００３４】
ステップＳ１６においては、主たる音楽演奏全体からアクセント位置を抽出してもよいし、主たる音楽演奏に含まれる個別の演奏パートに対応づけてアクセント位置を抽出してもよい。例えば、主たる音楽演奏に含まれる和音パートの演奏情報のみを対象にして、該和音パートに特有のアクセント位置を抽出するようにしてよい。例えば、主たる音楽演奏において所定音高よりも高音域において２以上の所定数の異なる音高が同時に演奏されるタイミングを和音パートのアクセント位置として抽出することが可能である。あるいは、主たる音楽演奏に含まれるベースパートの演奏情報のみを対象にして、該ベースパートに特有のアクセント位置を抽出するようにしてよい。例えば、主たる音楽演奏において所定音高よりも低音域の音高が演奏されるタイミングをベースパートのアクセント位置として抽出することが可能である。
【００３５】
現時点がアクセント位置であると判断されなかった場合、ステップＳ１６のＮＯからステップＳ８に戻る。現時点がアクセント位置であると判断された場合、ステップＳ１６のＹＥＳからステップＳ１７に進む。ステップＳ１７においては、現時点に後続する所定時間区間内において発音タイミングが到来する伴奏イベントを前記伴奏予定音リスト（選択された伴奏パターンデータ）の中から抽出する。この所定時間とは、例えば４分音符長未満の時間長のような、比較的短い時間である。次のステップＳ１８においては、前記ステップＳ１７において抽出された伴奏イベントがあれば、該抽出された伴奏イベントに基づき伴奏データを生成し、かつ、前記伴奏予定音リストに記憶する該伴奏イベントの前記移動フラグを"１"にセットする。該生成された伴奏データに応じて、該伴奏データによって特定されるドラム音の波形データ（伴奏音）が前記音源回路ボード１０及びサウンドシステム１１等を介して発生される。こうして、ステップＳ１７及びＳ１８によれば、現時点がアクセント位置であるとき、それよりも時間的後方の近傍（所定時間区間内）にある伴奏イベントの発音タイミングを現時点（アクセント位置）まで移動させ、該移動した伴奏イベントに基づく伴奏データ（伴奏音）を現時点（アクセント位置）に同期して生成することができる。これにより、順次進行する主音楽演奏のアクセント位置に合うように、該主音楽演と共に演奏される自動伴奏のリズム感（アクセント）をリアルタイムに制御することができ、伴奏パターンデータを用いた自動伴奏のアレンジをリアルタイムで行うことができる。なお、オプションとして、ステップＳ１８の処理を、前記伴奏予定音リストにおいて現時点に対応する伴奏イベントが存在しておらず（前記ステップＳ１３がＮＯ）、かつ、前記ステップＳ１７において抽出された伴奏イベントがあれば、該抽出された伴奏イベントに基づき伴奏データを生成し、かつ、前記伴奏予定音リストに記憶する該伴奏イベントの前記移動フラグを"１"にセットする、というように変形してもよい。
【００３６】
次のステップＳ１９においては、前記伴奏予定音リストにおいて現時点に対応する伴奏イベントが存在しておらず（前記ステップＳ１３がＮＯ）、かつ、前記ステップＳ１７において抽出された伴奏イベントがなければ、追加の伴奏データを生成する。該生成された追加の伴奏データに応じて、該伴奏データによって特定されるドラム音の波形データ（伴奏音）が前記音源回路ボード１０及びサウンドシステム１１等を介して発生される。こうして、ステップＳ１９によれば、現時点がアクセント位置であるとき、現時点にも、それよりも時間的後方の近傍（所定時間区間内）にも、伴奏イベントが存在しなければ、追加の（新たな）伴奏データ（伴奏音）を現時点（アクセント位置）に同期して生成することができる。これによっても、順次進行する主音楽演奏のアクセント位置に合うように、該主音楽演と共に演奏される自動伴奏のリズム感（アクセント）をリアルタイムに制御することができ、伴奏パターンデータを用いた自動伴奏のアレンジをリアルタイムで行うことができる。なお、ステップＳ１９は、オプションとして設けることができる処理であり、省略可能である。その後、処理はステップＳ８に戻る。
【００３７】
なお、前述したステップＳ１６において主たる音楽演奏中の特定の演奏パートに応じてアクセント位置を抽出する場合は、該抽出されたアクセント位置の演奏パートに対応する特定の楽器のパートのみの伴奏イベントを伴奏予定音リストから抽出するように、前記ステップＳ１７の処理を変形してもよい。例えば、和音パートのアクセント位置を抽出した場合は、スネアパートのみの伴奏イベントを伴奏予定音リストから抽出するようにしてよい。その場合は、ステップＳ１８の処理において、スネアパートの伴奏イベントの発音タイミングを移動するようにしてよく、あるいは、ステップＳ１９の処理において、スネアパートの伴奏データを追加生成するようにしてよい。また、ベースパートのアクセント位置を抽出した場合は、バスドラムパートのみの伴奏イベントを伴奏予定音リストから抽出するようにしてよい。その場合は、ステップＳ１８の処理において、バスドラムパートの伴奏イベントの発音タイミングを移動するようにしてよく、あるいは、ステップＳ１９の処理において、バスドラムパートの伴奏データを追加生成するようにしてよい。そのほか、伴奏パターンデータにおけるライドシンバルやクラッシュシンバル等他の打楽器の伴奏イベントを、移動又は追加生成するようにしてよい。更に、上述のように前記特定の演奏パートのアクセント位置に応じて前記特定のドラム楽器のパートの伴奏イベントを移動又は追加生成することに限らず、該特定の演奏パートのアクセント位置に応じて、その他の楽器の演奏パートの伴奏イベントを移動又は追加生成するようにしてもよい。例えば、前記特定の演奏パートのアクセント位置に応じて、上記例のように特定のドラム楽器のパートの伴奏イベントを移動又は追加生成することに加えて、メロディパートあるいはベースパート等において、ユニゾン音若しくはハーモニー音等を追加するようにしてよい。この場合、前記特定の演奏パートがメロディパートであれば、メロディパートにおいてユニゾン若しくはハーモニーとして音イベントを追加するようにしてよく、また、前記特定の演奏パートがベースパートであれば、ベースパートにおいてユニゾン若しくはハーモニーとして音イベントを追加するようにしてよい。
【００３８】
ステップＳ８〜Ｓ１９のルーチンを繰り返す間に、前記タイマのカウント値は順次増加され、現在時点が順次進行し、これに伴い、自動伴奏が順次進行する。やがて、演奏を終了するためにユーザにより演奏終了指示がなされると、ステップＳ８はＹＥＳと判定し、ステップＳ２０に進む。ステップＳ２０では、前記タイマを停止し、現在発音中のすべての演奏音を減衰するために必要な消音処理を行なう。
【００３９】
なお、前記伴奏予定音リストに展開した１サイクル分の各伴奏パターンデータに関連して、該伴奏パターンデータを繰り返すべきサイクル数をそれぞれ記憶しておくようにしてもよい。自動伴奏の進行に伴って、該リスト内の該１伴奏パターンデータを該記憶したサイクル数分だけ繰り返し再生するように処理し、その後、次の伴奏パターンデータの繰り返し再生に移行するように処理すればよいが、これらの繰り返し及び移行処理の詳細については、図２では省略してある。なお、該伴奏パターンデータを繰り返すべきサイクル数を特に記憶しておくことなく、適宜の１又は複数サイクル数だけ繰り返したときに、任意にユーザが移行指示を与えることにより、該リスト内の次の伴奏パターンデータに再生が切り換わるように構成してもよく、そのための詳細についても図示を省略する。さらに別の例として、前記伴奏予定音リストにおいて、各伴奏パターンデータを、１サイクルに限らず、それぞれ必要サイクル数だけ繰り返して展開するようにしてもよい。
【００４０】
以上の構成において、ＣＰＵ１がステップＳ９，Ｓ１１の処理を実行するとき、主たる音楽の演奏情報を順次取得する手段として機能する。また、ＣＰＵ１がステップＳ１６の処理を実行するとき、取得した前記演奏情報に基づき、現時点が前記主たる音楽のアクセント位置に該当するか否かを判断する手段として機能する。また、ＣＰＵ１がステップＳ１の処理を実行するとき、前記主たる音楽演奏と一緒に演奏されるべき自動伴奏の伴奏パターンデータを取得する手段として機能する。また、ＣＰＵ１がステップＳ１３，Ｓ１４，Ｓ１５，Ｓ１７，Ｓ１８の処理を実行するとき、前記取得した伴奏パターンデータに基づき自動伴奏を進行させ、現時点に発音タイミングを持つ前記伴奏パターンデータ中の伴奏イベントに基づき自動伴奏データを生成する手段として機能し、かつ、現時点が前記アクセント位置に該当すると判断されたとき、現時点に後続する所定時間区間内において発音タイミングが到来する伴奏イベントを前記伴奏パターンデータから抽出し、該抽出した伴奏イベントの発音タイミングを現時点に移動し、該移動した伴奏イベントに基づき前記自動伴奏データを生成する手段として機能する。さらに、ＣＰＵ１がステップＳ１９の処理を実行するとき、現時点がアクセント位置に該当すると判断されたとき、現時点及び現時点に後続する所定時間区間内において発音タイミングが到来する伴奏イベントが前記伴奏パターンデータ内に存在しないならば、現時点を発音タイミングとする自動伴奏データを追加生成する手段として機能する。
【００４１】
次に図３を参照して自動伴奏データ生成の具体例を説明する。図３（ａ）は、図２の前記ステップＳ１で選択された伴奏パターンデータの一例を示し、ハイハット、スネア、バスドラムの３種の打楽器音のパターンからなっている。図３（ｂ）は、１小節分の主演奏情報の一例及びそれに基づき抽出されるアクセント位置の一例を示す。図３（ｂ）は、主演奏情報における和音パートとベースパートのそれぞれに対応づけてアクセント位置を抽出する例を示している。この例においては、図２の前記ステップＳ１６において、主演奏情報において所定音高（例えば中央の"ド"）以上の高音域で３以上の異なる音高が同時に存在するタイミングを和音パートのアクセント位置として抽出するようにしており、図中、Ａ１及びＡ２のタイミングが和音パートのアクセント位置として抽出される。また、図２の前記ステップＳ１６において、主演奏情報において所定音高（例えば中央の"ド"）よりも低音域で演奏音が存在するタイミングをベースパートのアクセント位置として抽出するようにしており、図中、Ａ３及びＡ４のタイミングがベースパートのアクセント位置として抽出される。図３（ｃ）は、図３（ｂ）のようにして抽出されたアクセント位置に応じて、図３（ａ）に示された伴奏パターンデータに基づき生成される伴奏データの発音タイミングが移動される様子を示し、また、追加の伴奏データが新規に生成される様子を示す。
【００４２】
Ａ１のタイミングで和音パートのアクセント位置が抽出されたとき、現時点に後続する所定時間区間内（例えば４分音符長未満）にスネアパートの伴奏イベントが存在しないので、前記ステップＳ１７の処理においては、そのようなスネアパートの伴奏イベントが伴奏予定音リストから抽出されない。かつ、現時点においてもスネアパートの伴奏イベントが存在していないので、前記ステップＳ１９の処理により、スネアパートの伴奏データを追加生成する。このようにして追加生成されるスネアパートの伴奏データが、図３（ｃ）におけるＢ１のタイミングに示されている。
【００４３】
また、Ａ２のタイミングで和音パートのアクセント位置が抽出されたとき、現時点においてもスネアパートの伴奏イベントが存在しているので、前記ステップＳ１３のＹＥＳから前記ステップＳ１４に至る処理により、該伴奏イベントに基づきスネアパートの伴奏データが生成される。このようにして生成されるスネアパートの伴奏データが、図３（ｃ）におけるＢ２のタイミングに示されている。
【００４４】
また、Ａ３のタイミングでベースパートのアクセント位置が抽出されたとき、現時点に後続する所定時間区間内（例えば４分音符長未満）にバスドラムパートの伴奏イベントが存在するので、前記ステップＳ１７の処理においては、そのようなバスドラムパートの伴奏イベントが伴奏予定音リストから抽出される。従って、前記ステップＳ１８の処理により、バスドラムパートの該伴奏イベントを現時点に移動し、該伴奏イベントに基づく伴奏データを現時点（Ａ３のタイミング）で生成する。このようにして生成されるバスドラムパートの伴奏データが、図３（ｃ）におけるＢ３のタイミングに示されている。
【００４５】
また、Ａ４のタイミングでベースパートのアクセント位置が抽出されたとき、現時点に後続する所定時間区間内（例えば４分音符長未満）にベースパートの伴奏イベントが存在しないので、前記ステップＳ１７の処理においては、そのようなベースパートの伴奏イベントが伴奏予定音リストから抽出されない。かつ、現時点においてもベースパートの伴奏イベントが存在していないので、前記ステップＳ１９の処理により、ベースパートの伴奏データを追加生成する。このようにして追加生成されるベースパートの伴奏データが、図３（ｃ）におけるＢ４のタイミングに示されている。
【００４６】
前記ステップＳ５で設定する伴奏音調整ルールの一例について説明する。前記ステップＳ１８の処理において常に伴奏イベントの発音タイミングを移動することを行なう、又は、前記ステップＳ１９の処理において常に追加の伴奏データを生成することを行なう、のではなく、前記ステップＳ５で設定された伴奏音調整ルールに従う条件が成立したときにのみ、それらの移動処理又は追加生成処理を行なうようにしている。例えば、自動伴奏音の各パート（スネア、バスドラム、ライドシンバル、クラッシュシンバル等）毎に、前記移動処理又は追加生成処理を行なう確率を、前記ステップＳ５で設定するようにしてよい。そして、各ステップＳ１８、Ｓ１９では、該設定された確率（条件）に従って、前記移動処理又は追加生成処理を行なうようにすればよい。
【００４７】
なお、上記実施例では、主たる音楽演奏は、演奏操作子１３等を用いたユーザによるリアルタイム演奏として行われる例を説明した。しかし、これに限らず、例えば、通信ネットワークを介して外部からリアルタイムで送信されてくる演奏情報を、主たる音楽演奏の情報（主演奏情報）として使用するようにしてもよく、あるいは、この自動伴奏データ生成装置においてメモリに記録されている任意の楽曲の演奏情報を自動的に再生し、該再生された演奏情報を主たる音楽演奏の情報（主演奏情報）として使用するようにしてもよい。
【００４８】
また、上記実施例では、前記ステップＳ１４，Ｓ１８，Ｓ１９等で生成した伴奏データに基づく伴奏音を、前記音源回路ボード１０及びサウンドシステム１１等を介して、音響的に発生するようにしている。しかし、これに限らず、伴奏音を即座に音響的に発生することなく、前記ステップＳ１４，Ｓ１８，Ｓ１９等で生成した伴奏データを自動伴奏シーケンスデータとしてメモリに一旦記憶しておき、別の任意の機会に、該記憶した自動伴奏シーケンスデータに基づき自動伴奏音を音響的に発生するようにしてもよい。
【００４９】
上記実施例では、音楽演奏における強いアクセント位置を判定し、この強いアクセント位置に応じて伴奏イベントの移動及び／又は追加を行っている。しかし、これに限らず、音楽演奏における弱いアクセント位置を判定し、この弱いアクセント位置に応じて伴奏イベントの移動及び／又は消去若しくは減衰を制御するようにしてもよい。例えば、取得した音楽演奏情報に基づき、現時点が前記音楽の弱いアクセント位置に該当するか否かを判断し、現時点が弱いアクセント位置に該当すると判断されたとき、現時点及びそれより後の所定時間範囲内において発音タイミングが到来する伴奏イベントを前記伴奏パターンデータから抽出し、該抽出した伴奏イベントの発音タイミングを現時点から前記所定時間範囲より後に移動する、若しくは、該抽出した伴奏イベントを消去する、若しくは、該抽出した伴奏イベントの音量を減衰させる、等の制御を行うようにしてよい。これにより、伴奏演奏も弱いアクセント位置に同調して弱いアクセントを示すように制御できる。
【符号の説明】
【００５０】
１  ＣＰＵ（中央処理ユニット）
２  ＲＯＭ（リードオンリメモリ）
３  ＲＡＭ（ランダムアクセスメモリ）
４  入力装置
５  ディスプレイ
６  プリンタ
７  ハードディスク
８  可搬媒体
９  メモリインターフェイス
１０  音源回路ボード
１１  サウンドシステム
１２  通信インターフェイス
１３  演奏操作子
【図１】
2019179277.tif 000003
【図２】
2019179277.tif 000004
【図３】
2019179277.tif 000005