(57)【要約】【課題】  音の響きに濁りが生じることのない伴奏データを生成する。【解決手段】  取得したコード情報に応じて基準音高を決定し、取得したコード情報と決定した基準音高とに応じて、基準音高と共に発音された際に音の響きに濁りが生じることのない、同時使用可能な少なくとも１つ以上の音高を抽出する。そして、決定した基準音高と抽出した少なくとも１つ以上の音高を用いて伴奏データを生成する。このようにすると、複数の楽音を発音した際に音の響きに濁りが生じないように各楽音の音高を調整した伴奏データが生成されるので、本来ならば使うことを避けるべき音高差で楽音が生成されることがなく、音の響きに濁りのないユーザ期待通りの伴奏音を得ることができるようになる。【選択図】        図３
2005091589.tif 000002
【特許請求の範囲】
【請求項１】
コード情報を順次に取得する取得手段と、
前記取得されたコード情報に応じて基準音高を決定する決定手段と、
前記取得されたコード情報と前記決定された基準音高とに応じて、前記基準音高と共に発音された際に音の響きに濁りが生じることのない、同時使用可能な少なくとも１つ以上の音高を抽出する抽出手段と、
前記決定した基準音高と前記抽出した少なくとも１つ以上の音高を用いて伴奏データを生成する生成手段と
を具えたことを特徴とする伴奏データ生成装置。
【請求項２】
前記抽出手段は、基準音高と共に発音された際に響きが濁ることのない、同時使用可能な少なくとも１つ以上の音高を定義したデータを参照して音高を抽出することを特徴とする請求項１に記載の伴奏データ生成装置。
【請求項３】
前記抽出手段が参照するデータは、基準音高毎にローインターバルリミットを考慮して定義されているデータであることを特徴とする請求項２に記載の伴奏データ生成装置。
【請求項４】
コンピュータに、
コード情報を取得する手順と、
前記取得されたコード情報に応じて基準音高を決定する手順と、
前記取得されたコード情報と前記決定された基準音高とに応じて、前記基準音高と共に発音された際に音の響きに濁りが生じることのない、同時使用可能な少なくとも１つ以上の音高を抽出する手順と、
前記決定した基準音高と前記抽出した少なくとも１つ以上の音高を用いて伴奏データを生成する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、伴奏用の演奏データ（伴奏データ）を自動的に生成する伴奏データ生成装置及びプログラムに関する。特に、複数の楽音を発音した際に音の響きに濁りが生じないよう、各楽音の音高を調整して伴奏データを生成する伴奏データ生成装置及びプログラムに関する。
【背景技術】
【０００２】
コード（和音）に依存しない固定的な演奏データ列である伴奏パターンを、コード進行列に含まれる個々のコードが持つ音階（スケール）にあわせて変換することにより伴奏データを生成する自動伴奏生成装置（こうしたものをコードシーケンサあるいはパターンシーケンサとも呼ぶ）が従来から知られている。伴奏パターンには、ノートの位置（タイミング）や長さ、音高又は音高に準ずる高さ位置（下から１番目の音、２番目の音、あるいは根音、３度音、５度音等）の情報が含まれている。自動伴奏生成装置は、コードによって決定される音階（スケール）上の音に伴奏パターンが持つ音高を移動させたり、あるいは音高に準ずる高さ位置情報を前記音階上の音高に変換することでノートデータを完成し、それをコード区間の位置にあわせて並べていって伴奏用の演奏データ全体（つまり演奏データ列）を完成する。このようにして、例えばメロディとコード進行列とを持つ右手演奏用の曲データに対して、伴奏パターンに従い該曲に付加する左手演奏用の伴奏データを自動的に生成することができるようになっている。
【特許文献１】特開2002-268638号公報
【０００３】
ところで、上述したように伴奏パターンをコードに従い展開することによって伴奏データを生成する従来の自動伴奏生成装置では、同時にあるいは微少な時間内に異なる音高の楽音が複数密集した状態（例えば和音）の伴奏データを生成することがある。しかし、従来においては、例えば音高の異なる２音を同時にあるいは微少な時間内に鳴らした場合に音の響きが濁らないとされている限界音程（所謂ロー・インターバル・リミットなど）を考慮することなく伴奏データが生成されていたため、本来ならば使うことを避けるべき音高差で楽音が生成されてしまうことが生じ、そうした箇所では音の響きが濁って聞こえ期待通りの伴奏音が得られない、という問題点があった。特に低音域を使用する場合には、そうした傾向が強く現れる。同様の問題は自動伴奏を行う場合に限らず、自動伴奏データに基づきユーザに対して楽譜やガイド手段を介して演奏ガイドを行い、この演奏ガイドに従ってユーザが実際に伴奏演奏を行う場合にも生ずる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上述の点に鑑みてなされたもので、各コードの基準音（ベース音とも呼ぶ）の音高に応じて同時使用可能な音高を複数抽出しその中から使用する音高を決定することにより、異なる音高の複数の楽音を同時にあるいは微少な時間内に発音した際に音の響きに濁りが生じることのない伴奏データを生成するようにした伴奏データ生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る伴奏データ生成装置は、コード情報（和音情報）を順次に取得する取得手段と、前記取得されたコード情報に応じて基準音高を決定する決定手段と、前記取得されたコード情報と前記決定された基準音高とに応じて、前記基準音高と共に発音された際に音の響きに濁りが生じることのない、同時使用可能な少なくとも１つ以上の音高を抽出する抽出手段と、前記決定した基準音高と前記抽出した少なくとも１つ以上の音高を用いて伴奏データを生成する生成手段とを具えたことを特徴とする。
【０００６】
前記決定手段により決定される基準音高は例えば前記取得されたコード情報に応じたベース音などであって、任意の音域に属する（すなわち、絶対的なピッチを持つ）。一般に、この基準音高の音域が低く（つまり絶対ピッチが低く）なるほど、音の濁りが生ずる音程は拡大する。そこで、前記抽出手段ではこの点を考慮して、取得したコード情報と決定された基準音高とに応じて、前記基準音高と共に発音された際に音の響きに濁りが生じることのない、同時使用可能な少なくとも１つ以上の音高を抽出する。そして、前記決定した基準音高と前記抽出した少なくとも１つ以上の音高を用いて伴奏データを生成する。このように、この発明によると、複数の楽音を発音した際に音の響きに濁りが生じないように各楽音の音高を調整した伴奏データが生成されるので、本来ならば使うことを避けるべき音高差で楽音が生成されることがなく、音の響きに濁りのないユーザ期待通りの伴奏音を得ることができるようになる。
【０００７】
本発明は、装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【０００８】
この発明によれば、各コードの基準音（ベース音）の音高に応じて同時使用可能な音高を抽出してその中から使用する音高を決定するようにしたことから、異なる音高の複数の楽音を同時にあるいは微少な時間内に発音した際の音の響きに濁りが生じることのない伴奏データを生成することができるようになる、という効果を得る。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１０】
図１は、この発明に係る伴奏データ生成装置の全体構成の一実施例を示したハード構成ブロック図である。当該伴奏データ生成装置のハードウエア構成例はコンピュータを用いて構成されており、そこにおいて伴奏データを生成する処理は、コンピュータが「伴奏データ生成処理」を実現する所定の制御プログラムを含むソフトウエアを実行することにより実施される。詳しくは後述するが「伴奏データ生成処理」（後述する図３参照）では、コード情報と該コード情報から取得した基準音高と音高差許可テーブル（後述する図２参照）とに従って使用可能な音高を抽出し、伴奏パターンと基準音高と前記抽出した同時使用可能な音高とにより順次に伴奏データを生成していく。勿論、こうした「伴奏データ生成処理」はコンピュータソフトウエアの形態に限らず、ＤＳＰ（Digital Signal Processor）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施するようにしてもよい。
【００１１】
本実施例に示す伴奏データ生成装置は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この伴奏データ生成装置全体の動作を制御する。このＣＰＵ１に対して、通信バス１Ｄ（例えばデータ及びアドレスバス）を介してＲＯＭ２、ＲＡＭ３、通信インタフェース（Ｉ／Ｆ）４、入力操作部５、表示部６、外部記憶装置７、音源８がそれぞれ接続されている。ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラムや各種データ等を格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラム（例えば、伴奏データ生成処理（後述する図３参照）など）やそれに関連するデータ（例えば伴奏パターンやコード進行列、あるいは音高差許可テーブル（後述する図２参照）など）を一時的に記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００１２】
外部インターフェース（Ｉ／Ｆ）４は当該伴奏データ生成装置と外部機器４Ａなどとの間で伴奏パターンやコード進行列あるいは音高差許可テーブルなどの各種データや各種情報等を送受信するための、例えばＭＩＤＩインターフェースや通信インターフェースなどである。ＭＩＤＩインターフェースは、外部機器４Ａ（この場合には、ＭＩＤＩ機器等）からＭＩＤＩ規格の制御情報（ＭＩＤＩデータ）を当該伴奏データ生成装置へ入力したり、あるいは当該伴奏データ生成装置からＭＩＤＩ規格の制御情報を他のＭＩＤＩ機器等へ出力するためのインターフェースである。他のＭＩＤＩ機器はユーザによる操作に応じてＭＩＤＩ形式のデータを発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた（若しくは、操作形態からなる）機器であってもよい。通信インターフェースは、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワークに接続されており、該通信ネットワークを介して外部機器４Ａ（この場合には、パーソナルコンピュータやサーバコンピュータ等）と接続され、当該外部機器４Ａで生成した各種データを伴奏データ生成装置側に取り込むための通信インターフェースである。また、通信インターフェースは、通信ネットワークを介して接続されたサーバコンピュータから各種プログラムや各種データ等を当該ミキサー本体にダウンロードするためにも用いられる。なお、通信インターフェースは、有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００１３】
なお、上記外部インターフェース４をＭＩＤＩインターフェースで構成した場合、該ＭＩＤＩインターフェースは専用のＭＩＤＩインターフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェースを用いてＭＩＤＩインターフェースを構成するようにしてもよい。この場合、ＭＩＤＩイベントデータ以外のデータをも同時に送受信するようにしてもよい。ＭＩＤＩインターフェースとして上記したような汎用のインターフェースを用いる場合には、他のＭＩＤＩ機器はＭＩＤＩイベントデータ以外のデータも送受信できるようにしてよい。勿論、データフォーマットはＭＩＤＩ形式のデータに限らず他のデータ形式であってもよく、その場合はＭＩＤＩインターフェースと他のＭＩＤＩ機器はそれにあった構成とする。
【００１４】
入力操作部５は、使用する伴奏パターンの選択やコード情報の入力、基準とする音域の設定、あるいは伴奏生成時における各種ルール（例えば、使用可能な音高として抽出する音高の数や上限とする音高等）などの各種指示を行うためのスイッチ類（操作子）である。勿論、入力操作部５はこれら以外にも数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ６Ａに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてもよい。表示部６は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ６Ａに、伴奏パターンに関する情報あるいは音高差許可テーブルなどを表示したり、ＣＰＵ１の制御状態などの各種情報を表示したりする。
【００１５】
外部記憶装置７は上記したＲＯＭ２と同様に、制御プログラムや各種データなどを記憶する。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置７（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置７はハードディスク（ＨＤ）に限られず、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【００１６】
音源８は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた伴奏データ等の各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を発生する。音源８から発生された楽音信号は、アンプやスピーカなどを含むサウンドシステム８Ａから発音される。この音源８から発生された楽音信号に対して、効果回路など（図示せず）を用いて所定の効果を付与するようにしてもよい。前記伴奏データの形式はＭＩＤＩ形式のようなディジタル符号化されたものであってもよいし、ＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭのような波形サンプルデータ方式からなるものであってもよい。この音源８とサウンドシステム８Ａの構成には、従来のいかなる構成を用いてもよい。例えば、音源８はＦＭ、ＰＣＭ、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、ＣＰＵ１によるソフトウェア処理で構成してもよい。
【００１７】
なお、上述した伴奏データ生成装置は入力操作部５やディスプレイ６Ａあるいは音源８などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係る伴奏データ生成装置を適用する装置は、電子楽器、パーソナルコンピュータ、ＰＤＡや携帯電話等の携帯型通信端末、あるいはカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。
【００１８】
次に、ＲＯＭ２やＲＡＭ３あるいは外部記憶装置７などに予め複数記憶されており、伴奏データ生成時において基準音の音高（基準音高）に対して同時使用可能な音高（発生された音の響きに濁りが生じることのないように、基準音高と所定の音高差を持った音高）の候補を抽出する際に参照されるデータである音高差許可テーブルについて説明する。図２は、音高差許可テーブルのデータ構造の一実施例を示す概念図である。該音高差許可テーブルは予めプリセットされたものやユーザが設定したものなど複数用意されており、ユーザは使用する音高差許可テーブルを適宜に選択することができる。この実施例では、ロー・インターバル・リミット（Low Interval Limit）を考慮して生成された音高差許可テーブルを例として示している。ロー・インターバル・リミットとは、所定の各種音程（例えば長２度、短３度、長３度、完全４度、増４度、完全５度、短６度、長６度、短７度、長７度など）にある２つの音を同時に発音した場合に生ずる音の響きに濁りが生じはじめる、低音域での２音間の音程の限界である。一般的に、高音域や中音域において上記音程にある２つの音を同時に発音しても音の響きに濁りが生じることはないが、低音域において上記音程にある２つの音を同時に発音した場合には各音の倍音が干渉しあって音の響きに濁りが生ずる。そうしたことを防止するために、ロー・インターバル・リミットでは音の響きに濁りが生ずるポイントとなる上記音程にある２つの音の下限の音高を示している。なお、この音高差許可テーブルでは、ミドルＣ（「Ｃ３」）を６０として各音毎に所定のＭＩＤＩノートナンバ（整数）を定義したものを音高表示として便宜的に用いた。
【００１９】
音高差許可テーブルは、基準音（ベース音）と同時使用可能な音高の候補を基準音高毎に１乃至複数定義したデータである。この図２から理解できるように、図中において「基準音」と表示されている左欄には、縦方向に、基準音高として「３４」〜「５１」までの１８通りの音高を表示している。この基準音高が「５２」以上である場合には当該基準音高よりも高い全ての音高を同時使用可能な音高の候補としてよいことから、この場合における詳細な図示は省略している。一方、図中における上欄には、横方向に、同時使用可能な音高候補として「３４」〜「５２」までの１９通りの音高を表示している。この音高候補が「５３」以上である場合には当該音高候補よりも高い全ての音高を同時使用可能な音高の候補としてよいことから、この場合における詳細な図示は省略している。
【００２０】
この音高差許可テーブルにおいて、縦方向に記載の「基準音」（基準音高）の右方において「○」印が記載されている欄を交点位置とする横方向に記載の音高候補は、当該基準音高と同時使用可能な音高の候補とする音高である。他方、「×」印が記載されている欄を交点位置とする横方向に記載の音高候補は、当該基準音高と同時使用可能な音高として対象外とする音高である。例えば、基準音高が「３７」である場合に図中において基準音高「３７」の行を右方にたどっていくと、「○」印が記載されている欄を交点位置とする音高候補は「４４」、「４９」、「５２」、「５３以上」である。したがって、基準音高が「３７」である場合に同時使用可能な音高の候補は、「４４」、「４９」、「５２」、「５３以上」のいずれかの音高となる。また、基準音高が「４０」である場合に図中において基準音高「４０」の行を右方にたどっていくと、「○」印が記載されている欄を交点位置とする音高候補は「４７」、「５２」、「５３以上」である。したがって、基準音高が「４０」である場合に同時使用可能な音高の候補は、「４７」、「５２」、「５３以上」のいずれかの音高となる。このようにして、この音高差許可テーブルを用いることによって各基準音高毎に同時使用可能な音高候補として１乃至複数の音高を挙げることができるようになっており、後述する「伴奏データ生成処理」（図３参照）では該挙げられた１乃至複数の音高の中から伴奏音の音高を決定して伴奏データを生成する。
【００２１】
なお、音高差許可テーブルとしては上記したような各基準音高毎にロー・インターバル・リミットに基づいて同時使用可能な音高候補を１乃至複数定義したものに限らず、例えば基準音高との音高差が２度以内にならない音高候補を定義した音高差許可テーブルなど適宜に音高候補を定義したものであってもよい。
また、上述した実施例においては伴奏音の中で最も低音の音高を基準音高としてそれより高い音高を同時使用可能な音高候補に定義した音高差許可テーブルを示したがこれに限らず、伴奏音の中で最も高音の音高を基準音高としてそれより低い音高を同時使用可能な音高候補に定義した音高差許可テーブルであってもよい。そうした場合には、例えば図中において「−」と記載されている左下半分の各欄に適宜に「○」印や「×」印を記載したものなど、適宜の表示態様の音高差許可テーブルであってよい。
【００２２】
次に、本発明に係る伴奏データ生成装置において実行される処理であって、コード情報、伴奏パターン、音高差許可テーブルなどの各種データに従って伴奏データを生成する処理である「伴奏データ生成処理」について、図３を用いて説明する。図３は、「伴奏データ生成処理」の一実施例を示すフローチャートである。
【００２３】
ステップＳ１では、ユーザによる設定操作に応じて当該伴奏データ生成装置に対して各種の機器設定（ユーザ設定）を行う。ユーザ設定としては、例えば使用する伴奏パターンや参照すべき音高差許可テーブルの選択、伴奏データを生成する範囲とする基準音域（高音域、中音域、低音域など）の設定、あるいは各種ルールの設定や音高差許可テーブルの定義内容の変更設定、など各種の機器設定がある。ユーザ設定される各種ルールとしては、例えば音高差許可テーブルに従って抽出する音高候補の範囲を任意の範囲にユーザが設定する「伴奏生成方法」などがある。ステップＳ２では、コード情報があるか否かを判定する。コード情報がない場合には（ステップＳ２のＮＯ）、当該伴奏データ生成処理を終了する。コード情報がある場合には（ステップＳ２のＹＥＳ）、コード情報を取得する（ステップＳ３）。このコード情報の取得方法としては、予め用意された演奏データ内において時間情報と共に記憶されているコード進行列に従って順次にコード情報を読み出すことにより取得する方法、ユーザがリアルタイムに入力操作部５を操作するなどして直接入力することにより取得する方法、あるいは外部機器４Ａから通信インタフェース４を介して供給されることにより取得する方法など、各種の方法が考えられる。
【００２４】
ステップＳ４では、取得したコード情報より基準音名を取得する。この基準音名の取得方法としては、例えば分数コードでないコードの場合にはコードのルート音の音名を基準音名とする。一方、分数コードである場合には、分母が示す音名をベース音として該ベース音の音名を基準音名とする（一般的にベースとして扱われる音をそのままベース音とする場合）。又は、分数コードである場合に分母が示す音名が分子が示すコードの構成音であった場合には分子が示すコードのルート音をベース音として該ベース音の音名を基準音名とするか、分母が示す音名が分子が示すコードの構成音でない場合には分母が示す音名をベース音として該ベース音の音名を基準音名とする（分数コードの場合に、オンベースとなる分母の音名が分子の構成音であるか否かでベース音かルート音かを切り替える場合）。ステップＳ５では、取得した基準音名と設定されている基準音域とに従い基準音高を決定する。例えば、コードが「Ｅｍ（Ｅマイナー）」であって基準音域が低音域に設定されているような場合、基準音高は「４０」（ＭＩＤＩノートナンバ）に決定される。
【００２５】
ステップＳ６では、前記決定した基準音高とコード情報と音高差許可テーブルとに基づき、基準音高に対して同時使用可能な音高の抽出を行う。この際に、ユーザにより各種ルールとして「伴奏生成方法」が設定されている場合には該ルールに従って音高を抽出する。「伴奏生成方法」の一例としては、例えばユーザが指定した数分だけ、コード構成音の数分だけ、あるいはユーザが設定した上限の音高までといったルールがあり、このルールに基づき基準音高に対して同時使用可能な音高の抽出を行う。こうした音高の抽出についての詳細な説明は後述することから（図４参照）、ここでの説明を省略する。ステップＳ７では、次のコード情報があるか否かを判定する。次のコード情報がある場合には（ステップＳ７のＹＥＳ）、現在のコード情報と次のコード情報とによりコード区間を算出する（ステップＳ８）。一方、次のコード情報がない場合には（ステップＳ７のＮＯ）、現在のコード情報のタイミングから次の小節線までをコード区間とする（ステップＳ９）。ステップＳ１０では、コード区間に対応する伴奏パターンデータを基準音高と抽出された同時使用可能な音高より伴奏データを生成し出力する。生成した伴奏データの出力方法としては、例えば楽譜の形式で表示もしくは印刷するようにしてもよいし、再生して伴奏演奏を行うようにしてもよい。あるいは、伴奏のための演奏ガイドなどに使用するようにしてもよい。
【００２６】
ここで、上記「伴奏データ生成処理」で実行する音高の抽出処理（図３のステップＳ６参照）について、図４を用いて説明する。図４は、基準音高に対して同時使用可能な音高抽出について説明するための概念図である。ただし、ここでは、基準音域が低音域に設定されておりかつコードが「Ｅｍ（Ｅマイナー）」であることから、伴奏音を決定するための基準とする音高（基準音高）として「４０」（ＭＩＤＩノートナンバ）に決定された場合を前提とする。また、図２に示した音高差許可テーブルを参照するものとする。
【００２７】
まず、基準音高が「４０」であることから、図２に示した音高差許可テーブルにおいて基準音高「４０」の行を参照する。すると、「○」印が付された「４７」、「５２」、「５３以上」の音高が音高候補として挙げられる。コードは「Ｅｍ」であり、ここではコード構成音を伴奏として利用する音高とすると、基準音高（ベース音）「４０」より大きい４１以上の音高でありかつコード「Ｅｍ」の構成音である音名「Ｅ」、音名「Ｇ」、音名「Ｂ」のそれぞれに対応する音高を探す。これらは、「４３」「４７」「５２」「５５」・・・である。そして、音高差許可テーブルを参照して挙げられた音高候補の中からコード構成音である音のうち１番小さい音高であるものを探すと、「４７」が該当する。したがって、「４０」の音高を持つベース音に対する１番目の伴奏音の音高は「４７」に決定される。
【００２８】
次に、伴奏音を決定するための基準とする音高（基準音高）として、直前に決定した伴奏音の音高に決定する。すなわち、２番目の伴奏音を決定するための基準音高を、前記決定した１番目の伴奏音の音高に決定する。上述したように、１番目の伴奏音の音高は「４７」に決定されたことから、ここでの基準音高は「４７」となる。そこで、音高差許可テーブルにおいて基準音高「４７」の行を参照すると、音高候補として「５１」以上の音高が音高候補として挙げられる。そして、１番目の伴奏音の音高「４７」より大きい「４８」以上の音高であってかつコード「Ｅｍ」の構成音である音名「Ｅ」、音名「Ｇ」、音名「Ｂ」のそれぞれに対応する音高を探す。これらは、「５２」「５５」「５９」「６４」…である。そして、音高差許可テーブルを参照して挙げられた音高候補の中からコード構成音である音高の中で一番小さい音高のものを探すと、「５２」が該当する。したがって、「４０」の音高を持つベース音に対する２番目の伴奏音の音高は「５２」に決定される。このようにして、ベース音の音高が「４０」、１番目の伴奏音の音高が「４７」、２番目の伴奏音の音高が「５２」で構成される和音が決定される。これを伴奏パターンに応じて発音タイミングや音の長さを決定して配置することにより、伴奏データを生成する。この実施例では、１小節分のコード区間において４拍分の伴奏音を生成している。このような音高決定後における伴奏パターンに応じた伴奏データを生成する処理については公知であることから、ここでの説明は省略する。
なお、この実施例では和音のみからなる伴奏データを生成するものを示したが、単音が混ざるように伴奏データを生成してもよいことは言うまでもない。
【００２９】
以上のように、本発明に係る伴奏データ生成装置においては、伴奏音として利用可能な音高を低い音高から順次に決定する場合に、基準となる音高に対して例えばロー・インターバル・リミットなどを元に決定した利用可能な音高候補を挙げる。また、コード情報を元にしてコード構成音の音高に従い音高候補を挙げる。そして、これらの音高候補を照らし合わせて、最低音高となる音高を伴奏音の音高として決定する。
【００３０】
なお、コード情報に対応する基準音高は、例えばコード情報と共に各基準音高そのものが指定されていてもよいし、または、基準音高の範囲をユーザもしくはデフォルトで例えばＣ１（３６）〜Ｂ１（４７）と設定しておき、各コードのルートもしくは分数コードのオンベースの音名を持つ音高を基準音高の範囲から検出するようにしてもよい。そのとき使用している伴奏パターンの最低音高を利用してもよい。
なお、コード情報に応じた伴奏データの生成方法は上述した実施例においては伴奏パターンの活用を想定しているが、アルゴリズムを用いて伴奏データを生成するようにしてもよい。アルゴリズムを用いる場合には、例えばコード区間の長さのコード構成音を和音状態で出力する、などのアルゴリズムを用いるとよい。一方、伴奏パターンデータは例えばＣｍａｊ（Ｃメジャー）コードを基準にしたＭＩＤＩデータをコード情報に応じて音高変換するタイプのものでもよいし、コードタイプ毎にタイミングと長さのイベント情報を記憶しており、コード情報に応じて音高を決定するようなタイプのものであってもよい。
【００３１】
なお、基準音高と同時使用可能な音高の抽出方法はいくつか手順が考えられる。 すなわち、上述したように、基準音高に対してロー・インターバル・リミットを元に決定した利用可能な音高候補を挙げ、コード情報を元にして利用可能な音高候補を挙げアンドを取る手順だけに限らない。例えば、コード情報を元にして基準音高により近い音高から利用可能な音高を検索し、検索した音高が基準音高に対して利用可能か否かをロー・インターバル・リミットを元に設定されている音高差許可テーブルにより判断し、利用可能な音高差と判断されるまでこの処理を繰り返して、必要な個数の音高を得る手順、など適宜の手順を用いてよい。
なお、伴奏パターン内で和音状態を検出し、そのときだけ同時使用可能な音高から伴奏データを生成するようにしてもよい。
【図面の簡単な説明】
【００３２】
【図１】この発明に係る伴奏データ生成装置の全体構成の一実施例を示したハード構成ブロック図である。
【図２】音高差許可テーブルのデータ構造の一実施例を示す概念図である。
【図３】伴奏データ生成処理の一実施例を示すフローチャートである。
【図４】基準音高に対して同時使用可能な音高抽出について説明するための概念図である。
【符号の説明】
【００３３】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…通信インタフェース、４Ａ…外部機器、５…入力操作部、６…表示部、６Ａ…ディスプレイ、７…外部記憶装置、８…音源、８Ａ…サウンドシステム、１Ｄ…通信バス
【図１】
2005091589.tif 000003
【図２】
2005091589.tif 000004
【図３】
2005091589.tif 000005
【図４】
2005091589.tif 000006