(57)【要約】【課題】  曲データを解析して当該曲データの中で演奏されている演奏パターンに最も類似するパターンを有する適切な伴奏スタイルを特定する。【解決手段】  曲データの拍位置を抽出し、該抽出した拍位置に基づいて曲データを同じ拍数からなる複数の区間データに分割する。このとき、パターンデータの拍数に応じた異なる拍単位に曲データを分割して、１つの曲データに基づいて同じ拍数からなる複数の区間データを組み合わせた系列データを複数生成する。複数の系列データ各々に含まれる各区間データと複数のパターンデータとを比較して類似度を算出し、区間データ毎に算出した類似度の最も高いパターンデータを特定する。系列データのうち特定したパターンデータの相関が高いいずれかの系列データを選択する。これにより、例え誤った拍位置が抽出されたとしても、最も類似するパターンを有する伴奏スタイルを適切に特定することができるようになる。【選択図】        図２
2014029425.tif 000002
【特許請求の範囲】
【請求項１】
同じ拍数の異なる演奏パターンからなる複数のパターンデータを記憶する記憶手段と、
曲データを取得する取得手段と、
前記取得した曲データの拍位置を抽出する抽出手段と、
前記抽出した拍位置に基づいて前記曲データを同じ拍数からなる複数の区間データに分割する分割手段であって、該分割手段は、前記パターンデータの拍数に応じた異なる拍単位に前記曲データを分割するものと、
前記各区間データと前記複数のパターンデータとを比較し、演奏パターンの類似度を算出する算出手段と、
前記区間データ毎に前記算出した類似度の最も高いパターンデータを特定すると共に、前記曲データを異なる拍単位に分割した複数の区間データの組み合わせのうち、前記特定したパターンデータの相関が高い区間データの組み合わせを選択する選択手段と、
前記選択した区間データの組み合わせに基づいて前記抽出した拍位置を更新すると共に、該更新した拍位置に従って前記曲データにおける小節線位置を確定する位置確定手段と
を備える伴奏進行生成装置。
【請求項２】
前記分割手段は、前記曲データを分割位置が１拍ずつずれた複数の区間データに分割することを特徴とする請求項１に記載の伴奏進行生成装置。
【請求項３】
前記確定した小節線位置を表すタイミングデータと、前記特定した類似度の最も高いパターンデータとを含んでなる伴奏進行データを生成する生成手段をさらに備える請求項１又は２に記載の伴奏進行生成装置。
【請求項４】
コンピュータに、
同じ拍数の異なる演奏パターンからなる複数のパターンデータを所定の記憶手段に記憶する手順と、
曲データを取得する手順と、
前記取得した曲データの拍位置を抽出する手順と、
前記抽出した拍位置に基づいて前記曲データを同じ拍数からなる複数の区間データに分割する手順であって、該手順は、前記パターンデータの拍数に応じた異なる拍単位に前記曲データを分割するものと、
前記各区間データと前記複数のパターンデータとを比較し、演奏パターンの類似度を算出する手順と、
前記区間データ毎に前記算出した類似度の最も高いパターンデータを特定すると共に、前記曲データを異なる拍単位に分割した複数の区間データの組み合わせのうち、前記特定したパターンデータの相関が高い区間データの組み合わせを選択する手順と、
前記選択した区間データの組み合わせに基づいて前記抽出した拍位置を更新すると共に、該更新した拍位置に従って前記曲データにおける小節線位置を確定する手順と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、曲データの演奏パターンに対応する伴奏スタイルを演奏進行順に設定した伴奏進行データを生成する伴奏進行生成装置及びプログラムに関する。特に、拍が既知でない曲データを解析して、当該曲データの中で演奏されている演奏パターンに最も類似するパターンを有した伴奏スタイルの特定を行う技術に関する。
【背景技術】
【０００２】
従来、電子楽器やシーケンサなどにおいては、ロックやポップスあるいはジャズ等の伴奏スタイル毎に分類されたイントロ、メイン、エンディング等の予め決められた演奏パターンの楽音を再生するセクションデータのうち、どの伴奏スタイルのどのセクションデータをどのような順番で演奏するかを示す伴奏進行データ（伴奏シーケンスデータとも呼ばれる）を予め作成しておくことで、ユーザが演奏曲のメロディ進行にあわせて所望の伴奏スタイルに応じた演奏パターンの自動伴奏を簡単な操作で演奏することのできるようにしている（例えば、下記に示す特許文献１参照）。
【０００３】
また、最近では、音響信号（オーディオ信号）を解析してリズムパターンを検出し、該リズムパターンと予めデータベース等に用意されたパターンとのマッチングを行うことにより、検出したリズムパターンに最も類似するパターンを特定する技術が知られている。例えば、下記に示す特許文献２に記載の装置では、音響信号のビート検出をベースに拍子と小節線とを確定し、該確定した小節単位で検出したリズムパターンにマッチするパターンを特定することが行われている。従来の装置では、周波数解析により拍ごとの音の変化度合いに従って先に小節線を確定してから、該確定した小節線に従う各小節毎にリズムパターンを検出し、これを予め用意されたパターンと比較することによりマッチングを行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2000-163064号公報
【特許文献２】特開2008-275975号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、予め伴奏進行データが作成してある場合、ユーザはメロディラインをマニュアル演奏しながら、それにあった伴奏を簡単な操作で自動演奏させることができる。そのため、例えばユーザが新しく発売された音楽ＣＤに収録されている曲を伴奏付きで演奏したいような場合であっても、ユーザは予め伴奏進行データを生成しておく必要がある。しかし、そのような場合にどの伴奏スタイルのどのセクションデータ（以下、「スタイルデータ」と記す）を選択すればよいのかを、ユーザはわからないのがほとんどである。仮にユーザが適切であろうと判断して任意のスタイルデータを選択してみても、実際に自動伴奏を行わせてみると演奏したい曲にあわないことが多いが、ユーザは試行錯誤しながら適当なスタイルデータを当てはめて確かめながら伴奏進行データを生成するしかなく、その作業は非常に面倒でありまた時間がかかる。
【０００６】
そこで、上記した特許文献２に記載の技術を採用することが考えられる。しかし、特許文献２に記載の技術では、音響信号をビート検出することにより抽出される拍子に基づき小節線の位置を求めているが、求められた小節線の位置は必ずしも正しい位置であるとは限らないのが実情である。すなわち、公知のビート検出方法においては、正しくは１拍を検出しなければならないにもかかわらず、その１拍を半拍あるいは２拍などとして誤った拍子を抽出してしまうことが多々ある。拍子が誤って抽出されてしまえば、該検出された拍子に基づいて確定される小節線の位置も当然に不正確となる。そして、そもそも不正確であるかもしれない小節線の位置に従って検出されるリズムパターンは、必ずしも演奏を正しく反映したパターンとは言えない。それ故に、そのリズムパターンを使用してのマッチング結果が、音響信号の中で演奏されている演奏パターンに最も類似するスタイルデータであるとは限らないので問題となる。
【０００７】
本発明は上述の点に鑑みてなされたもので、曲データを解析して当該曲データの中で演奏されている演奏パターンに最も類似するパターンを有する適切な伴奏スタイルを特定する伴奏進行生成装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明に係る伴奏進行生成装置は、同じ拍数の異なる演奏パターンからなる複数のパターンデータを記憶する記憶手段と、曲データを取得する取得手段と、前記取得した曲データの拍位置を抽出する抽出手段と、前記抽出した拍位置に基づいて前記曲データを同じ拍数からなる複数の区間データに分割する分割手段であって、該分割手段は、前記パターンデータの拍数に応じた異なる拍単位に前記曲データを分割するものと、前記各区間データと前記複数のパターンデータとを比較し、演奏パターンの類似度を算出する算出手段と、前記区間データ毎に前記算出した類似度の最も高いパターンデータを特定すると共に、前記曲データを異なる拍単位に分割した複数の区間データの組み合わせのうち、前記特定したパターンデータの相関が高い区間データの組み合わせを選択する選択手段と、前記選択した区間データの組み合わせに基づいて前記抽出した拍位置を更新すると共に、該更新した拍位置に従って前記曲データにおける小節線位置を確定する位置確定手段とを備える。
【０００９】
本発明によると、曲データの拍位置を抽出し、該抽出した拍位置に基づいて曲データを同じ拍数からなる複数の区間データに分割する。このとき、予め記憶されているパターンデータの拍数に応じた異なる拍単位に曲データを分割することにより、１つの曲データに基づいて同じ拍数からなる複数の区間データを組み合わせた系列データを複数生成する。これら複数の系列データ各々に含まれる区間データは全て同じ拍数からなるものであるが、これらの拍数は系列データ毎に異なることになる。前記各系列データに含まれる各区間データと予め記憶されている複数のパターンデータとを比較することによって演奏パターンの類似度を算出し、前記区間データ毎に類似度の最も高いパターンデータを特定する。各系列データつまりは前記曲データを異なる拍単位に分割した複数の区間データの組み合わせのうち、前記特定したパターンデータの相関が高い系列データ（区間データの組み合わせ）を選択する。この選択によって、曲データの中で演奏されている演奏パターンに最も類似するパターンを有した伴奏スタイルの特定が行われることになる。そして、選択した区間データの組み合わせに基づいて前記抽出した拍位置を更新すると共に、該更新した拍位置に従って前記曲データにおける小節線位置を確定する。このように、本願発明は従来のような先に小節線を確定してから伴奏スタイルの特定を行うものでないことから、例え誤った拍位置を抽出したとしても、曲データの中で演奏されている演奏パターンに最も類似するパターンを有する伴奏スタイルを適切に特定することができるようになる。
【００１０】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１１】
本発明によれば、曲データを異なる拍単位に分割した複数の区間データの組み合わせのうち、各区間データ毎に特定される類似度の最も高いパターンデータの相関が高い区間データの組み合わせを選択することにより伴奏スタイルを特定することから、例え誤った拍位置を抽出していたとしても、曲データの中で演奏されている演奏パターンに最も類似するパターンを有する適切な伴奏スタイルの特定を行うことができるようになる、という効果が得られる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る伴奏進行生成装置の一実施例を示す機能ブロック図である。
【図２】伴奏進行生成処理の一実施例を示すフローチャートである。
【図３】スタイル決定について説明するための概念図である。
【発明を実施するための形態】
【００１３】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１４】
図１は、この発明に係る伴奏進行生成装置の一実施例を示す機能ブロック図である。図１において、図中の矢印はデータの流れを表す。なお、伴奏進行生成装置としては図１に示す以外の機能を有する場合もあるが、ここでは必要最小限の機能を有する場合について説明する。
【００１５】
本実施例に示す伴奏進行生成装置は、大きく分けて記憶部Ｍと制御部１とにより構成される。記憶部Ｍは、伴奏進行データを生成する対象の曲データや、伴奏スタイル（ロック、ポップス、ジャズ等）にあった演奏内容をパターン化した伴奏スタイルデータなどの各種データ、制御部１により実行あるいは参照される伴奏進行生成処理（図２参照）などの各種アプリケーションソフトウェアプログラム等を記憶する。なお、伴奏進行データを生成する対象の曲データは、記憶部Ｍに記憶された多数の中からユーザが任意に選択できるようにしてあってよい。
【００１６】
曲データは、例えばメロディパートを含む１乃至複数パートを表すオーディオデータであって、該オーディオデータは各パートにおける楽音の音響信号（オーディオ信号）をデジタル信号化したデータである。曲データは利用者が作成したもの、図示しない電子楽器やＣＤ再生機あるいはインターネット等の通信ネットワークを介して接続されたサーバ装置等の外部機器から取得したものなどであってよい。なお、この実施形態においては、曲の始めから終わりまで一貫して拍子が変わらないデータであるものとする。
【００１７】
伴奏スタイルデータは、リズムパート、ベースパート、コードバッキングパート等の伴奏パートを表す例えばMIDI形式の演奏データであって、ロックやポップスあるいはジャズ等の伴奏スタイル毎に演奏データがパターン化されたデータである。１つのスタイルデータは、楽曲の中で主として定常的に繰り返し演奏されるメインスタイルデータ、楽曲の中のイントロ部分で演奏されるイントロスタイルデータ、楽曲の中のエンディング部分で演奏されるエンディングスタイルデータ、曲の盛り上がりや曲調の切り替わりなどの節目に一時的に挿入されるフィルインスタイルデータ等の複数のセクションデータから構成され、各セクションデータが１つの演奏パターンに対応したパターンデータである。すなわち、伴奏スタイル及びセクションにより演奏パターンを特定できるようになっている。なお、これらの各セクションデータは一般的にセクションごとに異なる１〜複数小節の長さであるが、この実施形態においては全て同じ拍数（例えば１小節４拍）の長さの演奏データからなるものである。伴奏スタイルデータは、スタイルデータの他にこうしたスタイルの長さ（小節数や拍数など）や伴奏スタイル名あるいはセクション名などの各種情報を有する。
【００１８】
なお、各セクションには複数のバリエーション（例えばメインセクションについては、メインＡスタイルデータ、メインＢスタイルデータなど）があってもよい。また、伴奏スタイルデータのうち、リズムパートを除く各パートのデータは基準のコード（例えばＣメジャ）に基づいて作成されており、生成した伴奏パートを実際のノートデータに展開するときには演奏のために指定されたコードに応じた音高に変換されるのは勿論である。さらに、伴奏スタイルデータに関しても図示を省略した外部機器（電子楽器やサーバ装置等）から取得できるようになっていてよい。
【００１９】
また、記憶部Ｍは上記の他に、後述する制御部１による伴奏進行生成処理（図２参照）の実行に伴って適宜に生成されるスタイルオーディオデータ、拍情報、伴奏進行データなどを記憶する。こうした記憶部Ｍはハードディスク等の外部記憶装置であってもよいし、フレキシブルディスク（FD）、コンパクトディスク（CD）、光磁気ディスク（MO）、DVD（Digital Versatile Diskの略）等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であってもよい。若しくは、ＲＡＭ等の半導体メモリであってもよい。
【００２０】
制御部１は、図示を省略したＣＰＵ、ＲＯＭ 、ＲＡＭなどからなる独立したコンピュータにより構成されてなり、記憶部Ｍに記憶された中から任意のアプリケーションソフトウェアプログラムを実行することが可能である。本実施形態では、後述する伴奏生成処理（図２参照）を実行することによって、図１に示したMIDI再生部２、オーディオ再生部３、拍位置抽出部４、スタイル決定部５、データ生成部６に相当する各機能を実現する。
【００２１】
MIDI再生部２は、複数のトラック（パート）毎にオーディオ信号の同時発生が可能であり、記憶部Ｍからスタイルデータ（MIDIデータ）を取得し、該取得したスタイルデータを再生することによりオーディオ信号を生成する。この実施形態において、MIDI再生部２は記憶部Ｍに記憶された全ての伴奏スタイルデータに関してリズムパート（打楽器パート）のスタイルデータのみを選択的に再生することにより、リズムパートに関してのみ１小節分の長さのオーディオ信号を生成するようになっている。生成したオーディオ信号は、デジタル信号化によりオーディオデータ（以下、「スタイルオーディオデータ」と記す）に変換してから記憶部Ｍに記憶するために出力する。なお、MIDI再生部２の楽音合成方式は波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式等のどのような方式を採用してもよく、またこれらの各種楽音合成方式のいずれを単独または複数を組み合わせたものであってもよい。
【００２２】
オーディオ再生部３は、記憶部Ｍから曲データ（オーディオデータ）やスタイルオーディオデータを取得し、これらを所定の演奏テンポに基づき再生してそれぞれのオーディオ信号を生成する。オーディオ再生部３は、生成したオーディオ信号を打楽器成分（非調波音とも呼ぶ）と非打楽器成分（調波音とも呼ぶ）とに分離することができるようになっている。ここでは曲データに基づきオーディオ信号を生成する場合に、分離した打楽器成分のオーディオ信号のみを拍位置抽出部４又はスタイル決定部５に供給するようにしている。なお、オーディオ信号を打楽器成分と非打楽器成分とに分離する方法には種々の方法があるが、それらは公知であることからここでの説明を省略する。
【００２３】
なお、上記したMIDI再生部２やオーディオ再生部３はコンピュータプログラムの形態に限らず、DSP（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
【００２４】
拍位置抽出部４は、オーディオ再生部３により分離された打楽器成分のオーディオ信号のビート検出を行って拍位置を抽出する（例えば図３（ａ）参照）。抽出した拍位置は、記憶部Ｍに記憶する（図中では拍情報と記した）。拍情報は曲データの再生開始時刻からの経過時間を表すタイミングデータからなり、例えば曲データにおいて拍位置に該当する位置にあるサンプリング波形を示す位置情報（サンプル番号など）や時／分／秒／ミリ秒といった時間情報などで示される。なお、ビート検出による拍位置の抽出方法には種々の方法があるが、公知であることからここでの説明を省略する。なお、既に曲データから抽出された拍位置が曲データ内あるいは記憶部Ｍ等に記憶済みである場合には、上記したビート検出を行わずにそれらを曲データあるいは記憶部Ｍから取得することにより抽出すればよい（ただし、記憶済みの拍位置が必ずしも正しいとは限らず、誤っていることもある）。
【００２５】
スタイル決定部５は、以下に示す処理を経て、曲データの中で演奏されている演奏パターンに最も類似するパターンを有した伴奏スタイル（より詳しくはスタイルデータ）の特定を小節単位に行う。以下、説明する。
【００２６】
スタイル決定部５は、まずオーディオ再生部３から曲データの再生に伴って生成される打楽器成分のオーディオ信号を取得する一方、記憶部Ｍから記憶済みの拍情報を取得して、該取得した拍情報に基づき打楽器成分のオーディオ信号をスタイルの長さ（ここでは例えば４拍）にあわせた拍数分ずつ順に切り出して断片化する。このとき、再生中の曲進行に合わせて所定の拍数（例えば１拍）分ずつ切り出し開始位置をずらしながら、スタイルの長さ（拍数）と同じ拍数分ずつ打楽器成分のオーディオ信号（以下、「区間信号」と記す）を切り出していく。ここに示す例では、「１〜４拍の区間」、「２〜５拍の区間」、「３〜６拍の区間」、「４〜７拍の区間」…といった具合に、一部波形が重複する部分を含むように打楽器成分のオーディオ信号が４拍分ずつ断片化されて切り出される（例えば図３（ｂ）参照）。
【００２７】
スタイル決定部５は、切り出した区間信号の１つ１つと、記憶部Ｍに記憶された全てのスタイルオーディオデータに基づいてオーディオ再生部３で順次に生成される複数のオーディオ信号（以下、「スタイル信号」と記す）それぞれとを比較する。すなわち、個々の区間信号に対する記憶部Ｍに記憶されている全ての伴奏スタイルのスタイルデータ（ただし、リズムパートのもの）との総当りでマッチングを行うことにより、個々の区間信号毎に多数のスタイル信号各々との類似度を求める。こうすると、例えば「１〜４拍の区間」の区間信号に対して「（ロック，ポップ，ジャズ等）メインＡスタイルデータ」に基づき生成されたスタイル信号との類似度が「８０％」、「（ロック，ポップ，ジャズ等）メインＢスタイルデータ」に基づき生成されたスタイル信号との類似度が「６５％」、「５〜８拍の区間」の区間信号に対して「（ロック，ポップ，ジャズ等）メインＡスタイルデータ」に基づき生成されたスタイル信号との類似度が「９０％」、「（ロック，ポップ，ジャズ等）メインＢスタイルデータ」に基づき生成されたスタイル信号との類似度が「３５％」などのように、個々の区間信号と各スタイル信号の類似度ひいては各スタイル信号の元となったスタイルデータとの類似度が求まる。
【００２８】
なお、上記した区間信号とスタイル信号といった２つのオーディオ信号を比較してそれらの信号の類似度を求める方法は公知であるからここでの説明を省略するが、一例を挙げるなら、例えば２つのオーディオ信号の音量の時間変化の包絡線（エンベロープ）をそれぞれ求め、２つのオーディオ信号は同じ所定拍数（例えば４拍）であるものとみなしてこれらのオーディオ信号の時間方向の長さを正規化して一致させてから、前記求めた包絡線を比較することによりそれらの信号の類似度を計算する方法などがある。
【００２９】
次に、スタイル決定部５は重なり合わずかつ隙間ない区間信号の組み合わせを決定する。ここで、重なり合わずかつ隙間ない区間信号の組み合わせとは、区間信号を構成する拍数（この例では４拍）ごとにとびとびに切り出された区間信号の組み合わせである。例えば「１〜４拍の区間」、「５〜８拍の区間」、「９〜１２拍の区間」…の各区間信号の組み合わせ、「２〜５拍の区間」、「６〜９拍の区間」、「１０〜１３拍の区間」…の各区間信号の組み合わせ、「３〜６拍の区間」、「７〜１０拍の区間」、「１１〜１４拍の区間」…の各区間信号の組み合わせ、「４〜７拍の区間」、「８〜１１拍の区間」、「１２〜１５拍の区間」…の各区間信号の組み合わせの計４系列の組み合わせが決定される（例えば図３（ｂ）参照）。つまりは、スタイルの長さ（拍数）に応じた数の系列の組み合わせが決定される。例えばスタイルの長さが「３拍」である場合には「３」系列の組み合わせが決定されるし、スタイルの長さが「８拍」である場合には「８」系列の組み合わせが決定される。
【００３０】
上記のようにして決定した４系列の組み合わせのうち、各区間信号毎の任意のスタイルデータとの類似度の平均値が最も高いいずれか１つの組み合わせを決定する。すなわち、各区間信号毎の各スタイルデータの相関の高いいずれかの組み合わせを決定する。そして、前記決定した各スタイルデータの相関が高いいずれかの組み合わせを元に拍位置を更新すると共に、該更新した拍位置に基づき小節線を確定する。一例として、「１〜４拍の区間」、「５〜８拍の区間」、「９〜１２拍の区間」…の各区間信号の組み合わせに決定された場合には拍位置の更新を行わなくてよいが、例えば「３〜６拍の区間」、「７〜１０拍の区間」、「１１〜１４拍の区間」…の各区間信号の組み合わせに決定された場合には、抽出した「３拍」目を「１拍」目として後続する拍をそれぞれ更新し、元の「３〜６拍」が第１小節、「７〜１０拍」が第２小節、「１１〜１４拍」が第３小節…となる小節線の確定が行われる。
【００３１】
ところで、既に説明したように一般的に音響信号をビート検出する際には誤った拍子で抽出してしまうことがあり、その場合には上述したように区間信号にスタイル信号をマッチングさせて類似度を求めたとしてもその類似度は正しいものとは限らず、それに基づきスタイルを決定するとなれば最適でないスタイルに決定されてしまう恐れが大きい。そこで、この実施形態ではその問題に対処するために、スタイル決定部５において、拍情報に基づき打楽器成分のオーディオ信号をスタイルの長さの等倍（例えば４拍分）にあわせた拍数分ずつ順に切り出して断片化することに加えて、スタイルの長さの定倍（例えば、1/2倍や２倍など）にあわせた拍数分ずつ順に切り出して断片化し、それらについても重なり合わずかつ隙間ない区間信号の組み合わせを決定するようにしている（例えば図３（ｃ）及び図３（ｄ）参照）。そして、これら等倍、1/2倍、２倍で切り出した各区間信号をそれぞれ組み合わせた複数系列データ（この例では各４系列の計１２系列）のうち各スタイルデータの相関の高いいずれかの組み合わせ（系列データ）を決定し、これに基づき拍位置を更新して該更新した拍位置に基づき小節線を確定するようにしている。
【００３２】
データ生成部６は、前記決定した小節線と前記特定したスタイルデータとに基づき伴奏進行データを生成する。ここで生成する伴奏進行データは、前記決定した小節線に対応する時間位置を表すタイミングデータと、前記決定した小節線によって示される各小節毎に前記区間信号毎に求めた最も類似度の高いスタイルデータを指し示す情報（例えば伴奏スタイル名及びセクション名など）とが組み合わされて、演奏進行順に配列されたデータである。
【００３３】
次に、図１に示した各機能を実現する伴奏進行生成処理について、図２及び図３を用いて説明する。図２は、伴奏進行生成処理の一実施例を示すフローチャートである。この「伴奏進行生成処理」は、ユーザによる「伴奏進行データ」の自動生成指示操作などに応じて制御部１（より具体的にはコンピュータ）によって実行される。図３は、スタイル決定について説明するための概念図である。
【００３４】
ステップＳ１は、記憶部Ｍに記憶されている伴奏スタイルデータを順に取得し、所定の演奏テンポに応じて各伴奏スタイルデータに含まれている打楽器パートのスタイルデータを選択的に再生することによりスタイルオーディオデータを生成し、該生成したスタイルオーディオデータをＲＡＭ等の記憶部Ｍに記憶する。すなわち、曲データとのパターン比較に用いるために、スタイルデータの形式（MIDIデータ）を曲データのデータ形式（オーディオ形式）に変換して記憶しておく。
【００３５】
ステップＳ２は、記憶部Ｍに記憶されている曲データのうち例えばユーザにより選択された曲データを取得し、該取得した曲データに基づき打楽器成分のオーディオ信号のみを分離して取り出す。すなわち、曲データにおいて主に演奏パターンを反映しているパートはリズムパートであるので、予め曲データのうち打楽器成分と非打楽器成分とを分離して打楽器成分（つまりはリズムパート）のみを利用できるようにしておく。なお、打楽器成分と非打楽器成分とを分離するための前処理として、例えばボーカルを除去しておくなどの処理を行ってもよいことは言うまでもない。
【００３６】
ステップＳ３は、取り出した打楽器成分のオーディオ信号をビート検出等により解析して拍位置を抽出する。図３（ａ）に、打楽器成分のオーディオ信号と抽出された拍位置の一例を示す。図中に付した符号「１」〜「９」は、ビート検出により得られた拍位置を便宜的に示すものである。拍位置の抽出方法は公知であるが一例を簡単に説明すると、例えば図３（ａ）に示すように先頭のビート位置「１」を最初に決定しておき、２番目のビート位置「２」を先頭のビート位置「１」から所定のビート間隔だけ離れた位置付近であってかつ相関が取れる位置に決定する。後続する各ビートの位置（例えば３番目）については、前のビート位置（例えば２番目）から所定のビート間隔だけ離れた位置付近であってかつ相関が取れる位置に順番に決定していけばよい。
【００３７】
図２の説明に戻って、ステップＳ４は切り出す打楽器成分の曲データの比較長さ（区間）を決める。すなわち、曲データとスタイルデータとをマッチングするために、拍情報に基づき打楽器成分のオーディオ信号をスタイルの長さにあわせた拍数分ずつ順に切り出して断片化するための長さ（区間）を決める。ただし、この実施形態では拍位置が正しく抽出されていない場合を考慮して、スタイルの長さの等倍（４拍）の他に、1/2倍（２拍）や２倍（８拍）の拍数分ずつの長さにも切り出して断片化するようにしている。すなわち、打楽器成分のオーディオ信号をビート検出により解析して拍位置を抽出するときに、拍が正しく検出されないことがある。例えば、正しいテンポが６０ｂｐｍである曲データから「４拍」分の長さの区間を切り出す場合を考える。四分音符の長さを正しく拍として抽出すれば、正しいテンポである６０ｂｐｍが検出され、その４拍分である４秒間の区間が切り出される。ところが、より大まかな二分音符の長さを誤って拍として抽出してしまうと、半テンポである３０ｂｐｍが誤って検出され、誤った４拍分である８秒間の区間が切り出されてしまう。あるいは、より細かい八分音符の長さを誤って拍として抽出してしまうと、倍テンポである１２０ｂｐｍが誤って検出され、誤った４拍分である２秒間の区間が切り出されてしまう。このように半テンポや倍テンポにて拍が検出されてしまうことがあることを考慮して、１拍の長さをビート検出により抽出された長さの1/2倍や２倍とする、つまりは正常テンポの４拍分の長さに相当するだけの拍数分ずつの長さにも打楽器成分のオーディオ信号を切り出して断片化する。そうであるならば、1/2倍や２倍に限らないのは言うまでもない。
【００３８】
ステップＳ５は、切り出し開始位置から前記決定した比較長さ分（区間）だけ打楽器成分のオーディオ信号を切り出すことにより区間信号を生成する。初回の切り出し開始位置はビート検出時に求めた先頭のビート位置であるが、この実施形態において以降の切り出し開始位置は後述するように初回の切り出し開始位置から１拍分ずらした位置とする（後述のステップＳ８参照）。ステップＳ６は、切り出した打楽器成分の曲データ（区間信号）と記憶部Ｍに記憶された全てのスタイルオーディオデータとを比較して、それぞれの類似度を計算して記憶部Ｍに記憶する。
【００３９】
ステップＳ７は、打楽器成分の曲データの最後までに関し上記ステップＳ５及びステップＳ６の処理を行ったか否かを判定する。打楽器成分の曲データの最後まで上記各処理を行ったと判定した場合には（ステップＳ７のＹＥＳ）、ステップＳ９の処理に進む。一方、打楽器成分の曲データの最後まで上記各処理を行っていないと判定した場合には（ステップＳ７のＮＯ）、切り出し開始位置を１拍分ずらした位置としてから（ステップＳ８）、上記ステップＳ５の処理に戻る。すなわち、打楽器成分の曲データの最後まで上記各処理を行うまでステップＳ５及びＳ６の処理を繰り返す。
【００４０】
ステップＳ９は、切り出した打楽器成分の曲データ（区間信号）が重なりあわずかつ隙間ない組み合わせのうち、類似度の平均が高い組み合わせを求める。ここで、区間信号が重なりあわずかつ隙間ない組み合わせとして、例えばスタイルの長さの等倍（４拍）で打楽器成分の曲データを切り出した場合には、図３（ｂ）に示すように、「１〜４拍の区間」（Audio1）、「５〜８拍の区間」（Audio5）、「９〜１２拍の区間」（Audio9）…の各区間信号からなる組み合わせ（第１系列データ）、「２〜５拍の区間」（Audio2）、「６〜９拍の区間」（Audio6）、「１０〜１３拍の区間」（Audio10）…の各区間信号の組み合わせ（第２系列データ）、「３〜６拍の区間」（Audio3）、「７〜１０拍の区間」（Audio7）…の各区間信号の組み合わせ（第３系列データ）、「４〜７拍の区間」（Audio4）、「８〜１１拍の区間」（Audio8）…「（N−３）〜Ｎ拍の区間」（AudioN）の各区間信号の組み合わせ（第４系列データ）の計４系列の組み合わせが決定される。なお、スタイルの長さの1/2倍（２拍）で打楽器成分の曲データを切り出した場合を図３（ｃ）に、スタイルの長さの２倍（８拍）で打楽器成分の曲データを切り出した場合を図３（ｄ）に示してある。
【００４１】
上述したように、記憶部Mには、Audio1〜AudioNの各区間信号毎に全てのスタイルオーディオデータとの比較により計算された類似度が記憶されている。そこで、まず上記４系列の各データを構成する各区間信号毎に最も類似度の高いスタイルデータを特定する。例えば第１系列データに関し、Audio1に対して「（ロック，ポップ，ジャズ等）メインＡスタイルデータ」との類似度が「８０％」、「（ロック，ポップ，ジャズ等）メインＢスタイルデータ」との類似度が「６５％」、「（ロック，ポップ，ジャズ等）メインＣスタイルデータ」との類似度が「７０％」であり、Audio5に対して「（ロック，ポップ，ジャズ等）メインＡスタイルデータ」との類似度が「５０％」、「（ロック，ポップ，ジャズ等）メインＢスタイルデータ」との類似度が「３５％」、「（ロック，ポップ，ジャズ等）メインＣスタイルデータ」との類似度が「７０％」である場合には、Audio1に対して「（ロック，ポップ，ジャズ等）メインＡスタイルデータ」が、Audio2に対して「（ロック，ポップ，ジャズ等）メインＣスタイルデータ」が特定され、この場合における当該系列の類似度の平均値は「７５％」となる。このようにして、残りの第２系列〜第４系列の各データについても同様に類似度の平均値を求め、これらを比較することによって例えば図３（ｂ）に示した４系列の組み合わせのうち類似度の平均値が高いいずれか１つの系列データを求める。
【００４２】
図２の説明に戻り、ステップＳ１０は、打楽器成分の曲データの比較長さ（例えば、伴奏スタイルの等倍、1/2倍、２倍）の全てについて上記ステップＳ５〜Ｓ９の処理を行ったか否かを判定する。打楽器成分の曲データの比較長さ（例えば、伴奏スタイルの等倍、1/2倍、２倍）の全てについて上記ステップＳ５〜Ｓ９の処理を行っていないと判定した場合には（ステップＳ１０のＮＯ）、ステップＳ４の処理に戻ってステップＳ４〜Ｓ１０の処理を繰り返す。
【００４３】
打楽器成分の曲データの比較長さ（例えば、伴奏スタイルの等倍、1/2倍、２倍）の全てについて上記ステップＳ５〜Ｓ９の処理を行ったと判定した場合には（ステップＳ１０のＹＥＳ）、類似度の平均が高い比較長さそれぞれのうち最も平均の高い比較長さの組みあわせを選択する（ステップＳ１１）。例えば図３（ｂ）〜図３（ｃ）に示した１２系列の組み合わせのうち、類似度の平均値が高いいずれか１つの系列データが選択される。ステップＳ１２は、選択した最も平均の高い組み合わせに基づいて拍位置を更新すると共に小節線を決定する。ここで、スタイルの長さの等倍（４拍）ではなく、1/2倍（２拍）や２倍（８拍）の長さに切り出した区間信号の組み合わせのいずれかが選択された場合には、ビート検出により抽出した拍位置が誤っているものとして拍位置の更新を行う。例えば、1/2倍（２拍）に切り出した区間信号の組み合わせが選択された場合には、各区間信号を２拍ではなく４拍分の長さであるとしてビート検出により抽出された拍位置の更新を行う（２拍分追加する）。一方、２倍（８拍）に切り出した区間信号の組み合わせが選択された場合には、各区間信号を８拍ではなく４拍分の長さであるとしてビート検出により抽出された拍位置の更新を行う（４拍分減らす）。
【００４４】
ステップＳ１３は、伴奏進行データを生成する。伴奏進行データは、小節線に対応するタイミングデータと確定したスタイルデータを示す伴奏スタイル指示情報とを含む。伴奏進行データに設定されるスタイルデータは、類似度の平均が最も高い比較長さの組みあわせの選択に応じて（ステップＳ１１参照）、自動的に最も類似度の高いスタイルデータに決まる。図３（ｅ）は、伴奏スタイル指示情報を伴奏スタイル名（StyleA，StyleB，StyleCなど）とセクション名（MainA，MainB，MainC，Ending）との組み合わせにより表した例である。このようにして、伴奏スタイル毎に分類されたイントロ、メイン、エンディング等のセクションデータのうち、どの伴奏スタイルのどのセクションデータをどのような順番で演奏するかを示す伴奏進行データが自動的に生成される。
【００４５】
以上のように、本発明に係る伴奏進行生成装置では、曲データの拍位置を抽出し、該抽出した拍位置に基づいて曲データを同じ拍数からなる複数の区間データに分割する。このとき、予め記憶されているパターンデータの拍数に応じた異なる拍単位に曲データを分割することにより、１つの曲データに基づいて同じ拍数からなる複数の区間データを組み合わせた系列データを複数生成するようにした（図３（ｂ）〜図３（ｄ）参照）。これら複数の系列データ各々に含まれる各区間データと予め記憶されている複数のパターンデータとを比較して演奏パターンの類似度を算出し、前記区間データ毎に算出した類似度の最も高いパターンデータを特定する。それから、各系列データのうち特定したパターンデータの相関が高いいずれかの系列データを選択する。この選択に応じて伴奏スタイルが特定される。そして、選択した系列データに基づいて拍位置を更新すると共に、該更新した拍位置に従って小節線位置を確定する。このようにすることによって、例え誤った拍位置が抽出されたとしても、曲データの中で演奏されている演奏パターンに最も類似するパターンを有する伴奏スタイルを適切に特定することができるようになる。また、確定した小節線位置は上述したように演奏進行順にスタイルデータを並べた伴奏進行データ以外の他のデータの生成等にも利用することができる。例えば、確定した小節線位置は、リズムパート以外のパートのスタイルデータに基づき伴奏を行う際に参照するコードが演奏進行順に並べられたコード進行データ（伴奏進行データ）において各コードを反映するタイミングを決めるために利用してよい。
【００４６】
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では、曲データがオーディオデータでありスタイルデータがMIDIデータである場合を例に示したがこれに限らず、曲データがMIDIデータでありスタイルデータがオーディオデータである場合であってもよい。あるいは、曲データ及びスタイルデータの両方ともがMIDIデータ又はオーディオデータであってもよい。特に、スタイルデータは繰り返し再生（ループ再生）されるドラムのみのオーディオデータであって、拍数の分かる（又は抽出可能な）データからなるものであってよい。スタイルデータがオーディオデータである場合にはデータの形式を変換する必要がないので、図２のステップＳ１の処理を行わなくてよい。他方、曲データがMIDIデータである場合には、図２のステップＳ２の処理を行う前に、データの形式をMIDIからオーディオに変換する処理を行う必要があるのは勿論である。
【００４７】
なお、上述のスタイルデータは、典型的には複数パートの演奏データでありコード指定に応じて音高が加工されて楽音生成に使われるが、複数の打楽器音などからなり押鍵による指示によって鳴らす楽器音を増減させるアルペジオタイプのようなものであってもよい。
なお、上述したようにして、区間信号が重なりあわずかつ隙間ない組み合わせのうち類似度の平均が高い組み合わせに応じて自動的に特定されるスタイルデータを伴奏進行データに設定することに限らず、該当する区間信号毎に求められた類似度の高いいくつかのスタイルデータを候補としてユーザに提示し、該提示した候補の中からユーザが任意のスタイルデータを選択して伴奏進行データに設定することのできるようになっていてもよい。
【符号の説明】
【００４８】
１…制御部、２…MIDI再生部、３…オーディオ再生部、４…拍位置抽出部、５…スタイル決定部、６…データ生成部、Ｍ…記憶部
【図１】
2014029425.tif 000003
【図２】
2014029425.tif 000004
【図３】
2014029425.tif 000005