(57)【特許請求の範囲】
【請求項１】
原演奏情報を取得する手段と、
演奏パートを指定する手段と、
前記取得した原演奏情報から前記指定された演奏パートの演奏情報を抽出する手段と、
該抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、前記クエリに応じた伴奏パターンデータを検索する手段と、
前記検索された伴奏パターンデータに基づき前記原演奏情報の少なくとも一部と組み合わせて使用するための伴奏データを生成する手段と
を備える自動アレンジ装置。
【請求項２】
前記伴奏パターンデータを検索する手段は、前記抽出された演奏情報に組み合わせるのに適した伴奏パターンデータを検索する、請求項１に記載の自動アレンジ装置。
【請求項３】
前記伴奏パターンデータを検索する手段は、前記抽出された演奏情報に代替するのに適した伴奏パターンデータを検索する、請求項１に記載の自動アレンジ装置。
【請求項４】
前記原演奏情報の和音を取得する手段を更に備え、
前記伴奏データを生成する手段は、前記検索された伴奏パターンデータにおける各音の音高要素を、前記取得した和音に応じて制御することにより前記伴奏データを生成する、請求項１乃至３のいずれかに記載の自動アレンジ装置。
【請求項５】
原演奏情報を取得する手順と、
演奏パートを指定する手順と、
前記取得した原演奏情報から前記指定された演奏パートの演奏情報を抽出する手順と、
該抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、前記クエリに応じた伴奏パターンデータを検索する手順と、
前記検索された伴奏パターンデータに基づき前記原演奏情報の少なくとも一部と組み合わせて使用するための伴奏データを生成する手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽演奏情報を自動的にアレンジ（編曲）する装置及びプログラムに関し、特に原演奏情報が持つ特徴と相性の良い伴奏をデータベースから検索することに基づき、品質のよい自動アレンジを行なう技術に関する。
【背景技術】
【０００２】
下記特許文献１には、所与の楽曲の複数パートのＭＩＤＩ形式の自動演奏データからユーザが所望のパートを選択して、該選択されたパートについて希望する形式の楽譜を生成する技術が示されている。そこにおいて、一例として、ユーザがメロディパートを選択し、該選択したメロディパートのメロディに適した伴奏データを自動的に生成し、該選択したメロディパートと自動生成された伴奏データに基づく伴奏パートとからなる楽譜を生成することが示されている。メロディに適した伴奏データを自動的に生成する手法として、具体的には、演奏レベルに応じた複数の伴奏パターンを予め用意しておき、ユーザが選択した演奏レベルに対応する伴奏パターンを選択し、該選択された伴奏パターンに基づきメロディにおける和音進行を考慮して伴奏データを自動生成している。
【０００３】
下記特許文献２には、ユーザがタッピング操作等によって入力したリズムパターンに類似する伴奏パターンをデータベースから検索する技術が示されている。また、下記非特許文献１には、ユーザが入力したメロディ演奏の音高順序に基づき、該当するメロディ進行を持つ曲を検索する技術が示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２０２２０４号公報
【特許文献２】国際公開第ＷＯ２０１２／０７４０７０号公報
【非特許文献】
【０００５】
【非特許文献１】http://jp.yamaha.com/products/apps/melodysearch/
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１における伴奏データの自動生成は、所与のメロディに基づき伴奏のアレンジ（編曲）を自動的に行なっていると言える。しかし、特許文献１における伴奏データの自動生成は、既存の伴奏パターン（和音バッキングあるいはアルペジオ等）を構成する楽音の音高をメロディの和音進行に応じて変更する程度のものでしかない。故に、ベースとなる既存の伴奏パターンをユーザが適切に選択しないと、メロディに合った伴奏を生成することが困難である。すなわち、特許文献１は、メロディと相性の良い伴奏パターンが自動的に選択されるものではなかった。特許文献２は、ユーザが入力したリズムパターンに類似する伴奏パターンを検索するには適するが、曲中のメロディパートあるいは和音パート、ベースパート等に適した伴奏パターンを検索することはできない。非特許文献１は、ユーザが入力した音高順序に基づき、該当するメロディ進行を持つ曲を検索するにすぎず、メロディパートに適した伴奏パターンを検索するという発想はない。
【０００７】
本発明は上述の点に鑑みてなされたものであり、自動アレンジの品質を向上させることができる自動アレンジ装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明に係る自動アレンジ装置は、原演奏情報を取得する手段と、演奏パートを指定する手段と、前記取得した原演奏情報から前記指定された演奏パートの演奏情報を抽出する手段と、該抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、前記クエリに応じた伴奏パターンデータを検索する手段と、前記検索された伴奏パターンデータに基づき前記原演奏情報の少なくとも一部と組み合わせて使用するための伴奏データを生成する手段とを備える。
【０００９】
本発明によれば、原演奏情報から指定された演奏パートの演奏情報を抽出し、該抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、該クエリに応じた伴奏パターンデータを検索し、該検索された伴奏パターンデータに基づき前記原演奏情報の少なくとも一部と組み合わせて使用するための伴奏データを生成するので、原演奏情報中の指定された演奏パートとの相性が良い伴奏パターンデータを自動的に検索することができ、もって、該検索された伴奏パターンデータに基づき原演奏情報との相性が良い伴奏データを容易に生成することができ、自動アレンジの品質を向上させることができる。
【００１０】
一実施例において、前記伴奏パターンデータを検索する手段は、前記抽出された演奏情報に組み合わせるのに適した伴奏パターンデータを検索するように構成されていてよい。これにより、前記検索された伴奏パターンデータに基づき生成した伴奏データを、前記原演奏情報から抽出された前記演奏情報に組み合わせることにより、アレンジした演奏情報を提供する場合、該組み合わせによって音楽的に相性のよいアレンジを提供することができる。
【００１１】
別の一実施例において、前記伴奏パターンデータを検索する手段は、前記抽出された演奏情報に代替するのに適した伴奏パターンデータを検索するように構成されていてよい。これにより、前記検索された伴奏パターンデータに基づき生成した伴奏データを、前記原演奏情報中の前記抽出された演奏情報とは別の演奏情報に組み合わせることにより、アレンジした演奏情報を提供する場合、該組み合わせからなるアレンジした演奏情報は、原演奏が持つ前記抽出された演奏情報と前記別の演奏情報との相性の良さを引き継いだものとなり、もって、音楽的に相性のよいアレンジを容易に提供することができる。
【００１２】
本発明に係る自動アレンジ装置を構成する各手段は、それぞれの機能を実現するように構成された専用装置又は回路によって構成され得るし、それぞれの機能を実現するように構成されたプログラムモジュール及び該プログラムモジュールを実行可能なプロセッサ（ＣＰＵのような汎用プロセッサあるいはＤＳＰのような専用プロセッサ）の組み合わせによっても構成され得る。
【００１３】
また、本発明は、装置の発明として実施しうるのみならず、各手段の機能を実現するステップからなるコンピュータ実装された方法の発明としても実施することができ、また、該方法を実行するためのプロセッサにより実行可能な命令群からなるプログラムの発明としても実施することができ、また、該プログラムを記憶した非一過性のコンピュータ読取可能な記憶媒体の発明としても実施することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る自動アレンジ装置の一実施例を示すハードウェア構成ブロック図。
【図２】ＣＰＵによる制御の下で実行される本発明の一実施例に係る処理の機能ブロック図。
【発明を実施するための形態】
【００１５】
図１は、本発明に係る自動アレンジ装置の一実施例を示すハードウェア構成ブロック図である。この自動アレンジ装置は、必ずしも自動アレンジのための専用装置として構成されている必要はなく、パーソナルコンピュータ、携帯端末装置、電子楽器など、コンピュータ機能を持つ任意の装置又は機器において、本発明に係る自動アレンジ用のアプリケーションプログラムをインストールしてなるものであればよい。この自動アレンジ装置のハードウェア構成は、コンピュータにおいて周知の構成、例えば、ＣＰＵ（中央処理ユニット）１、ＲＯＭ（リードオンリメモリ）２、ＲＡＭ（ランダムアクセスメモリ）３、文字及び記号等を入力するためのキーボート及びマウスを含む入力装置４、ディスプレイ５、プリンタ６、不揮発的な大容量メモリであるハードディスク７、ＵＳＢメモリ等の可搬媒体８のためのメモリインターフェイス（Ｉ／Ｆ）９、音源回路ボード１０、スピーカ等のサウンドシステム１１、外部の通信ネットワークに接続するための通信インターフェイス（Ｉ／Ｆ）１２などを含む。ＲＯＭ２及び／又はハードディスク７には、本発明に係る自動アレンジ用のアプリケーションプログラム及びその他のアプリケーションプログラム並びに制御プログラムが非一過的に記憶される。
【００１６】
図２は、ＣＰＵ１による制御の下で実行される本発明の一実施例に係る処理の機能ブロック図である。まず、ブロック２０では、アレンジの対象となる音楽演奏情報（これを原演奏情報という）を取得する。原演奏情報を取得するための具体的構成はどのようなものであってもよい。例えば、取得する原演奏情報のデータ形式は、スタンダードＭＩＤＩファイル（ＳＭＦ）のような所定形式で符号化されたデータであってもよいし、あるいは五線譜に描かれた楽譜のイメージ情報であってもよく、また可聴的なオーディオ波形データからなるものであってもよく、楽曲を表現しうるものであればその他任意のデータ形式からなっていてよい。楽譜イメージからなる原演奏情報を取得した場合は、公知の楽譜解析技術に従って該イメージを解析し、原演奏情報を構成する個々の音符の音高、拍位置（時間位置）、音価等を符号化し、かつ、その強弱記号、アクセント記号等の各種記号をその時間位置と共に符号化する。オーディオ波形データからなる場合も同様に、公知の音高及び音量等の解析技術に従って該オーディオ波形を解析し、原演奏情報を構成する個々の音符の音高、拍位置（時間位置）、音価等を符号化し、かつ、音量をその時間位置と共に符号化すればよい。また、取得する原演奏情報の音楽的パート構成は、実質的に複数の演奏パートを含むものであればよく、例えば、ピアノ譜のように右手パート（メロディパート）と左手パート（伴奏又は和音パートさらにはベースパート）とからなっていてもよいし、メロディパートと和音バッキング、アルペジオ、ベース及びリズム（ドラム）等の複数の伴奏パートとからなっていてもよい。また、原演奏情報を取得するための構成若しくは経路は任意であり、例えば、所望の原演奏情報を保持している可搬媒体８からメモリＩ／Ｆ９を介して取得してもよいし、あるいは、通信Ｉ／Ｆ１２を介して外部のソース又はサーバから所望の原演奏情報を選択的に取得するようにしてもよいし、あるいは、図示しないキーボート等の演奏装置を用いてユーザがリアルタイムに演奏した曲の情報を原演奏情報として取得するようにしてもよい。ＣＰＵ１がブロック２０の処理を実行するとき、原演奏情報を取得する手段として機能する。
【００１７】
ブロック２１では、前記取得した原演奏情報における楽曲の和音進行を示す和音情報を取得する。前記取得した原演奏情報内に和音情報が含まれていれば、その和音情報を取得すればよい。前記取得した原演奏情報内に和音情報が含まれていなければ、公知の和音解析技術を用いて、原演奏情報に含まれるメロディ又は伴奏の進行を解析することにより和音を検出し、この検出に基づいて和音情報を取得すればよい。あるいは、ユーザが入力装置４等を介して和音情報を入力し、このユーザ入力に基づいて和音情報を取得するようにしてもよい。取得した和音情報は、追って、ハーモニーとなる伴奏データを生成するときに、該伴奏データが示す伴奏音の音高をシフトするために利用される。
【００１８】
ブロック２２では、前記取得した原演奏情報における演奏パートの構成を判定する。なお、原演奏情報がパート情報若しくはそれと同等の識別情報を含んでいれば、そのパート情報又は識別情報を利用して原演奏情報における演奏パート構成を判定すればよい。また、原演奏情報が楽譜イメージからなっている場合は、該楽譜がピアノ譜のようにメロディ譜（ト音記号譜）と伴奏譜（ヘ音記号譜）からなっているならば、あるいはパート別の五線譜からなっているならば、それに基づき原演奏情報における演奏パート構成を判定することができる。原演奏情報がパート別の音符情報として予め識別されていない場合、あるいは、パート別の五線譜からなっていない場合は、ブロック２２では、原演奏情報に含まれる音符あるいは楽譜を解析することにより、該原演奏情報における奏法を判定する（該原演奏情報における各音符が、メロディ、和音、ベース等、どの演奏パートの音符として演奏されているかを推定する）。
【００１９】
ブロック２２における奏法判定処理の一例について説明すると次の通りである。まず、判定対象である原演奏情報に含まれる全ての音符の音高情報を時系列順に記憶する。こうして記憶した音高情報を下記のように解析することにより、奏法判定を行なう。なお、下記において、「単音」とは、同じ発音タイミングにおいて１つの音高のみが存在していることを言い、「複音」とは、同じ発音タイミングにおいて２以上の音高が存在していることを言う。
【００２０】
（１）メロディパートのみからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）以上であって、原演奏情報中の音高の平均が所定の中音域又は高音域に属する場合、原演奏情報はメロディパートのみからなると判定する。
【００２１】
（２）ベースパートのみからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）以上であって、原演奏情報中の音高の平均が所定の低音域に属する場合、原演奏情報はベースパートのみからなると判定する。
【００２２】
（３）メロディパートとベースパートからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）未満であって、３以上の「複音」の割合が所定閾値よりも低く、かつ、個々の「複音」における最低音高と最高音高の差が所定閾値以上である場合、原演奏情報はメロディパートとベースパートからなると判定する。すなわち、高音域側（右手）でメロディパートの演奏が行なわれ、低音域側（左手）でベースパートの演奏が行なわれる奏法であると推定される。
【００２３】
（４）和音パートとベースパートからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）未満であって、３以上の「複音」の割合が所定閾値よりも高く、かつ、「単音」の音高の平均が所定の低音域以下に属する場合、原演奏情報は和音パートとベースパートからなると判定する。すなわち、中又は高音域側（右手）で和音パートの演奏が行なわれ、低音域側（左手）でベースパートの演奏が行なわれる奏法であると推定される。
【００２４】
（５）メロディパートと和音パートからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）未満であって、３以上の「複音」の割合が所定閾値よりも高く、かつ、「単音」の音高の平均が「複音」の音高の平均よりも高い場合、原演奏情報はメロディパートと和音パートからなると判定する。すなわち、中又は高音域側（右手）でメロディパートの演奏が行なわれ、低音域側（左手）で和音パートの演奏が行なわれる奏法であると推定される。
【００２５】
（６）片手での和音パートのみからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）未満であって、３以上の「複音」の割合が所定閾値よりも高く、かつ、各「複音」における隣接音高間の差（音程）の平均が所定値よりも小さいか、又は、個々の「複音」において全ての音高が片手で演奏可能な比較的狭い音域範囲にそれぞれ収まっている場合、原演奏情報は和音パートのみからなると判定する。この場合は、鍵盤において「複音」からなる和音を片手で演奏する奏法であると推定される。
【００２６】
（７）両手での和音パートのみからなる奏法
原演奏情報における「単音」の割合が所定の高率（例えば９０％）未満であって、３以上の「複音」の割合が所定閾値よりも高く、かつ、個々の「複音」における全ての音高が両手で演奏可能な比較的広い音域範囲にそれぞれ収まっている場合、原演奏情報は和音パートのみからなると判定する。この場合は、鍵盤において「複音」からなる和音を両手で演奏する奏法であると推定される。
【００２７】
次に、ブロック２３においては、アレンジに関与する演奏パートを指定する。例えば、前記ブロック２２で判定した原演奏情報の演奏パート構成をＧＵＩ（ディスプレイ５）を介してユーザに提示し、後述する検索用のクエリとして使用する演奏パート（入力パート）をユーザに選択させるようにしてよい。この演奏パート（入力パート）の指定（選択）は、原演奏情報の任意の時間区間（時間的範囲）に対応づけて行なうようにしてよい。なお、ここで指定する演奏パートは、原演奏情報を構成している１又は複数の演奏パートのうちいずれか１つの演奏パートであってもよいし、原演奏情報を構成している１又は複数の演奏パートのすべて（全パート）であってもよい。更に、ブロック２３において、アレンジの結果として生成される伴奏データを使用する１つの演奏パート（出力パート）をユーザに選択させるようにしてよい。ＣＰＵ１がブロック２３の処理を実行するとき、演奏パートを指定する手段として機能する。
【００２８】
次に、ブロック２４においては、前記ブロック２３で指定された演奏パート（１つのパート又は全パート）の演奏情報を、原演奏情報から抽出する。この抽出は、該指定された演奏パートに対応する前記時間区間毎に行なわれる。なお、原演奏情報がパート情報若しくはそれと同等の識別情報を含んでいれば、そのパート情報又は識別情報を利用して、指定された演奏パートの演奏情報を原演奏情報から抽出すればよい。他方、原演奏情報がパート情報若しくはそれと同等の識別情報を含んでいなければ、指定された演奏パートの音楽的性質を考慮して、適宜の手法に従い原演奏情報から、該指定された演奏パートの演奏情報を分析し、抽出すればよい。ＣＰＵ１がブロック２４の処理を実行するとき、前記取得した原演奏情報から前記指定された演奏パートの演奏情報を抽出する手段として機能する。
【００２９】
ブロック２４において行なう、前記指定された演奏パートの音楽的性質を考慮して該指定された演奏パートの演奏情報を抽出するための手法の一具体例につき、次に説明する。この場合、まず、判定対象である原演奏情報に含まれる全ての音符（音高及び音価情報）を時系列順に記憶する。こうして記憶した音符（音高及び音価情報）を次のように解析することにより、必要な演奏パートの演奏情報を抽出する。
【００３０】
（ａ）メロディパートの抽出例
原演奏情報における時系列的な音符を順次の発音タイミング毎に同一発音タイミングに属する音符同士をそれぞれグループ化し、各グループ（発音タイミング）における最高音をメロディパートの候補とする。これは、通常、メロディ演奏はベースや和音よりも高音域で行なわれるからである。そして、これら候補の中から、一連のメロディパートを構成しているとみなすのにふさわしくないものを除外し、残りの候補音符をメロディパートの演奏情報として抽出する。除外の条件としては、例えば、周辺の複数の候補音符の音高の平均値よりも所定閾値以上低い音高を持つ候補音符を除外する、及び／又は、先行する発音タイミングの候補音符の音高がその次の発音タイミングの候補音符よりも高く且つ該先行する発音タイミングの候補音符の音長が該次の発音タイミングにおいても持続しているならば、該次の発音タイミングの候補音符を除外する、などがある。
【００３１】
（ｂ）ベースパートの抽出例
原演奏情報における時系列的な音符を順次の発音タイミング毎に同一発音タイミングに属する音符同士をそれぞれグループ化し、各グループ（発音タイミング）における最低音をベースパートの候補とする。これは、通常、ベース演奏はメロディや和音よりも低音域で行なわれるからである。そして、これら候補の中から、一連のベースパートを構成しているとみなすのにふさわしくないものを除外し、残りの候補音符をベースパートの演奏情報として抽出する。除外の条件としては、例えば、周辺の複数の候補音符の音高の平均値よりも所定閾値以上高い音高を持つ候補音符を除外する、及び／又は、先行する発音タイミングの候補音符の音高がその次の発音タイミングの候補音符よりも低く且つ該先行する発音タイミングの候補音符の音長が該次の発音タイミングにおいても持続しているならば、該次の発音タイミングの候補音符を除外する、などがある。
【００３２】
（ｃ）和音パートの抽出例
原演奏情報における時系列的な音符を順次の発音タイミング毎に同一発音タイミングに属する音符同士をそれぞれグループ化し、「複音」からなるグループ（発音タイミング）を和音パートの候補とする。そして、各グループにおいて、片手で演奏される和音を構成しているとみなすのにふさわしい複数の音符を和音パートの演奏情報として抽出する。例えば、該グループ内の音符数が３以下であり、それらの音高が片手で演奏可能な音域内に収まっているならば、該グループ内の全ての音符を和音パートの演奏情報として抽出する。あるいは、該グループ内の音符数が４以上であるならば、片手で演奏可能な音域内に収まっている音高のみを選択し、選択した音高の音符を和音パートの演奏情報として抽出する。
【００３３】
次に、ブロック２５においては、前記ブロック２４で抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、前記クエリに応じた伴奏パターンデータを検索する。複数の伴奏パターンデータを記憶した該データベースは、内部のデータベース（例えばハードディスク７又は可搬媒体８）あるいは外部のデータベース（例えばインターネット上のサーバ）のいずれであってもよい。
【００３４】
なお、一実施例において、既存の伴奏パターンデータのソースとして、公知の伴奏スタイルデータ（自動伴奏データ）のバンクを利用してよい。公知の伴奏スタイルデータ（自動伴奏データ）のバンクにおいては、各カテゴリー（Ｐｏｐ＆Ｒｏｃｋ、あるいはＣｏｕｎｔｒｙ＆Ｂｌｕｅｓ、Ｓｔａｎｄａｒｄ＆Ｊａｚｚなど）別に複数セットの伴奏スタイルデータを記憶しており、各１セットの伴奏スタイルデータは、イントロセクション、メインセクション、フィルインセクション、エンディングセクション等の各セクション別に伴奏データセットを含んでおり、１セクション分の伴奏データセットは、リズム１、リズム２、ベース、リズミック和音１、リズミック和音２、フレーズ１、フレーズ２等の複数パートの伴奏パターンデータ（テンプレート）を含んでいる。このような公知の伴奏スタイルデータ（自動伴奏データ）のバンクにおける最下位層のパート別の伴奏パターンデータ（テンプレート）が、前記ブロック２５において取得される伴奏パターンデータである。前記ブロック２５においては、ある１セクション分の伴奏データセットのうち１パートのみの伴奏パターンデータを取得してもよいし、全パート若しくは一部の複数パートの伴奏パターンデータを組み合わせて取得してもよい。なお、公知のように、リズミック和音１、リズミック和音２、フレーズ１、フレーズ２等の音高要素を含むパートの伴奏パターンデータ（テンプレート）においては、基準和音名（例えばＣメジャー和音）を示す情報及び音高変換ルールを既定する情報等が追加的に含まれている。伴奏パターンデータ（テンプレート）の実体は、ＭＩＤＩ規格等に従って分散的に符号化されたデータであってもよいし、オーディオ波形データのような時間軸に沿うデータであってもよい。
【００３５】
前記ブロック２５において行なう検索のアルゴリズムは、大別して２種ある。１つは、クエリとした演奏情報に組み合わせるのに適した伴奏パターンデータを検索するものである（例１）。もう１つは、クエリとした演奏情報に代替するのに適した伴奏パターンデータを検索するものである（例２）。前者（例１）の検索アルゴリズムは、例えばブロック２３で指定された入力パートと出力パートが異なる場合に採用される。例えば、入力パートとしてメロディパートが指定され、出力パートとしてドラムパートが指定されるような場合である。これは、原演奏情報にドラムパートの演奏情報が含まれていない場合に、原演奏情報中のメロディパートの演奏情報と相性の良いドラムパートの伴奏パターンデータを検索し、該検索した伴奏パターンデータに基づいてドラムパートの伴奏データを生成するような場合に有利である。後者（例２）の検索アルゴリズムは、例えばブロック２３で指定された入力パートと出力パートが同じ場合に採用される。例えば、入力パートとして和音パートが指定され、出力パートとしても和音パートが指定されるような場合である。これは、原演奏情報中の和音パートの演奏情報を別の演奏情報に差し替えるために、該原演奏情報中の和音パートの演奏情報と相性の良い和音パートの伴奏パターンデータを検索し、該検索した伴奏パターンデータに基づいて和音パートの伴奏データを生成するような場合に有利である。
【００３６】
前記ブロック２５において前記例１又は例２に従って検索を行なう場合、例えば、前記データベースに記憶されている多数の伴奏パターンデータのうち、出力パートとして指定された演奏パートの伴奏パターンデータ群を対象として、入力パートとして指定された演奏パートの演奏情報（前記ブロック２４で抽出された演奏情報）をクエリとして、該クエリ演奏情報と相性の良い１以上の伴奏パターンデータを検索する。そのための具体的な検索手法は、公知の適宜の手法を採用してよい。例えば、クエリ演奏情報を構成している各音符の音高、音価、発音タイミング等の楽音要素と、検索対象伴奏パターンデータ群内の各伴奏パターンデータの該楽音要素とを比較し、それぞれの類似度を数値化して評価し、各楽音要素の類似度の合計又は平均若しくは重み付け加算等によって総合評価値を算出し、最も総合評価値の高い１以上の伴奏パターンデータを、検索するようにしてよい。この場合、所定数（１又は複数）の小節毎に前記総合評価値（区間評価値）を算出し、該算出した各区間評価値の合計又は平均若しくは重み付け加算等によって全体評価値を算出し、最も全体評価値の高い１以上の伴奏パターンデータを、検索するようにしてもよい。なお、複数の伴奏パターンデータが該検索によって得られた場合は、それらの検索された複数の伴奏パターンデータをディスプレイ５を介してユーザに提示し、そのうちいずれか１つをユーザに選択させるようにしてよい。
【００３７】
なお、クエリである演奏情報の時間区間（時間的範囲）がＮ小節（Ｎは任意の複数）からなっているのに対して、検索対象たる伴奏パターンデータがＮよりも少ないｋ小節からなる場合（ｋは１以上であって、ｋ＜Ｎ又はｋ＜＜Ｎ）は、ｋ小節分の検索対象伴奏パターンデータを複数回繰り返すことによって必要なＮ小節分の検索対象伴奏パターンデータを作成し、該作成されたＮ小節分の検索対象伴奏パターンデータとＮ小節分のクエリ演奏情報とを比較するようにすればよい。この場合においては、複数の前記区間評価値に基づき前記全体評価値を求める手法を採用するのがよい。その場合、前記総合評価値（区間評価値）を算出するための前記所定数としては、例えば前記ｋに設定するとよい。
【００３８】
ＣＰＵ１がブロック２５の処理を実行するとき、前記抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、前記クエリに応じた伴奏パターンデータを検索する手段として機能する。
【００３９】
次に、ブロック２６では、前記ブロック２５における検索によって取得した伴奏パターンデータに基づき伴奏データを生成する。例えば、検索によって取得した１乃至複数小節からなる１つの伴奏パターンデータを１回又は複数回繰り返すことにより、前記クエリ演奏情報の時間的範囲に対応する時間長を持つ伴奏データを生成する。なお、必要に応じて、検索した伴奏パターンデータの１回又は複数回の繰り返しからなる伴奏データの一部をユーザ操作によって適宜変更するようにしてもよい。
【００４０】
ブロック２７は、前記ブロック２５における検索によって取得した伴奏パターンデータが和音バッキングやアルペジオのような音高要素を持つ伴奏音を含む場合に行なわれる処理であり、前記ブロック２６において伴奏データを生成する際に、前記ブロック２１で取得した和音情報に応じて、生成する伴奏データの音高をシフトする。なお、前記ブロック２５における検索によって取得した伴奏パターンデータがドラムパートのようなリズムパターンからなる場合は、このブロック２７の処理は省略される。
【００４１】
ブロック２８では、前記ブロック２６で生成した伴奏データを、前記原演奏情報の少なくとも一部と組み合わせて、アレンジ済の演奏情報として、ユーザに対して提供する。前記ブロック２６で生成した伴奏データを前記原演奏情報のどのパートと組み合わせるかは、例えば前記ブロック２３における入力パートと出力パートの指定に従うようにしてもよいし、あるいはこのブロック２８においてユーザが任意に選択するようにしてもよい。例えば、前記ブロック２３において入力パートとして全パートが指定され、出力パートとしてドラムパートが指定されたような場合は、前記ブロック２６で生成したドラムパートの伴奏データを、前記原演奏情報のすべてと組み合わせて、アレンジ済の演奏情報として提供してよい。あるいは、前記ブロック２３において入力パートとしてメロディパートが指定され、出力パートとして和音パートが指定されたような場合は、前記ブロック２６で生成した和音パートの伴奏データを、前記原演奏情報中のメロディパートの演奏情報と組み合わせて、アレンジ済の演奏情報として提供してよい。また、例えば、前記ブロック２３において入力パート及び出力パートとして同じパート（例えば和音パート）が指定されたような場合は、前記ブロック２６で生成した伴奏データを代替用の演奏情報として使用し、この代替用の演奏情報で、前記原演奏情報中の入力パートとして指定されたパート（例えば和音パート）の演奏情報を差し替えることにより、アレンジ済の演奏情報を提供してよい。すなわち、前記原演奏情報中の和音パートの演奏情報に代えて、前記ブロック２６で生成した伴奏データを和音パートの演奏情報として使用し、前記原演奏情報中の残りの演奏情報とともに、アレンジ済の演奏情報として提供する。
【００４２】
なお、アレンジ済の演奏情報をどのような形式で提供するかについては、設計上、任意に選定してよい。例えば、ＭＩＤＩ規格のような所定形式に従って符号化された電子データの状態で提供する、あるいは、具体的な楽譜イメージでディスプレイ５に表示するか又はプリンタ６で紙にプリント出力するか又は電子的イメージデータとして提供する、あるいは、オーディオ波形データとして提供する、ようにしてよい。
【００４３】
ＣＰＵ１がブロック２６の処理を実行するとき、前記検索された伴奏パターンデータに基づき前記原演奏情報の少なくとも一部と組み合わせて使用するための伴奏データを生成する手段として機能する。
【００４４】
以上のように、上記実施例によれば、原演奏情報から指定された演奏パートの演奏情報を抽出し、該抽出された演奏情報をクエリとして、複数の伴奏パターンデータを記憶したデータベースから、該クエリに応じた伴奏パターンデータを検索し、該検索された伴奏パターンデータに基づき前記原演奏情報の少なくとも一部と組み合わせて使用するための伴奏データを生成するので、原演奏情報中の指定された演奏パートとの相性が良い伴奏パターンデータを自動的に検索することができる。従って、該検索された伴奏パターンデータに基づき原演奏情報との相性が良い伴奏データを容易に生成することができ、自動アレンジの品質を向上させることができる。
【符号の説明】
【００４５】
１  ＣＰＵ（中央処理ユニット）
２  ＲＯＭ（リードオンリメモリ）
３  ＲＡＭ（ランダムアクセスメモリ）
４  入力装置
５  ディスプレイ
６  プリンタ
７  ハードディスク
８  可搬媒体
９  メモリインターフェイス
１０  音源回路ボード
１１  サウンドシステム
１２  通信インターフェイス
【図１】
0006565529.tif 000002
【図２】
0006565529.tif 000003