(57)【特許請求の範囲】
【請求項１】
所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏を行う自動伴奏装置であって、
コード種類毎に各コードのコード構成音を表す複数の音名と、前記音名のそれぞれに対して付与されるコード音としての重要度を示す属性とを定義したコード記憶手段と、
前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記コード記憶手段を参照して、前記指定されたコードの種類を根音自動付与の対象と判定するタイプ判定手段と、
前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合に、前記指定されたコードに応じて変換された後の前記自動伴奏パターンデータに対して前記指定されたコードの根音を付加する根音付加手段と
を具えた自動伴奏装置。
【請求項２】
前記自動伴奏パターンデータ内に、前記指定されたコードに応じた変換後にルートとなる音があるか否かを判定するルート音判定手段をさらに具えてなり、
前記根音付加手段は、前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合かつ前記ルートとなる音がないと判定された場合に、前記指定されたコードの根音を付加することを特徴とする請求項１に記載の自動伴奏装置。
【請求項３】
コードの根音を付与するか否かのパラメータを設定するパラメータ設定手段をさらに具えてなり、
前記根音付加手段は、前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合かつ前記コードの根音を付与するパラメータが設定されている場合に、前記指定されたコードの根音を付加することを特徴とする請求項１に記載の自動伴奏装置。
【請求項４】
前記自動伴奏パターンデータに含まれる各構成音の音高が所定の属性の音であるか否かを判定する属性判定手段をさらに具えてなり、
前記根音付加手段は、前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合かつ前記各構成音のうち音高が所定の属性の音である構成音の場合に、前記指定されたコードの根音を付加することを特徴とする請求項１に記載の自動伴奏装置。
【請求項５】
所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏を行う自動伴奏装置であって、
１２音名それぞれに対して少なくとも、コード音、コード音以外のスケール音、ノンスケール音のいずれかを示す属性を所定のコード種類毎に定義した属性記憶手段であって、前記１２音名のうち各コード構成音の音名に対し、コード音であることを示しかつコード音としての重要度を付与した属性を定義するものと、
前記属性記憶手段を参照することにより、前記自動伴奏パターンデータに含まれる各構成音のうち前記基準コードに対応したコード構成音の音名がいずれの属性であるかを求めるとともに、前記求めた属性と同じ属性が割り当てられた前記指定されたコードに対応したコード構成音の音名を特定する特定手段と、
前記自動伴奏パターンデータに含まれるコード構成音の音名と前記特定した音名とに基づいて、前記自動伴奏パターンデータのコード構成音の音高をシフトするとともに、前記指定されたコードの根音に応じて音高をシフトさせる音高変換手段と、
前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記指定されたコードの種類を根音自動付与の対象と判定するタイプ判定手段と、
前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合に、前記指定されたコードに応じて変換された後の前記自動伴奏パターンデータに対して前記指定されたコードの根音を付加する根音付加手段と
を具えた自動伴奏装置。
【請求項６】
前記属性記憶手段を参照して、前記自動伴奏パターンデータは音高変換後の自動伴奏音に前記指定されたコードの根音を含むデータであるか否かを前記コード音としての重要度に基づき判定する根音判定手段をさらに具えてなり、
前記根音付加手段は、前記指定されたコードの種類が根音自動付与の対象となるコード種類であり、かつ前記根音判定手段により自動伴奏パターンデータは音高変換後の自動伴奏音に前記指定されたコードの根音を含むデータでないと判定された場合に、前記指定されたコードの根音を付加することを特徴とする請求項５に記載の自動伴奏装置。
【請求項７】
所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏するためのコンピュータプログラムであって、
コンピュータに、
コード種類毎に各コードのコード構成音を表す複数の音名と、前記音名のそれぞれに対して付与されるコード音としての重要度を示す属性とを定義した所定のコード記憶手段に基づき、前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記指定されたコードの種類を根音自動付与の対象となるコード種類と判定する手順と、
前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合に、前記指定されたコードに応じて変換された後の前記自動伴奏パターンデータに対して前記指定されたコードの根音を付加する手順と
を実行させるためのプログラム。
【請求項８】
所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏するためのコンピュータプログラムであって、
コンピュータに、
１２音名それぞれに対して少なくとも、コード音、コード音以外のスケール音、ノンスケール音のいずれかを示すと共に、そのうちのコード音に関してコード音としての重要度を付与する属性を所定のコード種類毎に定義した所定の属性記憶手段を参照することにより、前記自動伴奏パターンデータに含まれる各構成音のうち前記基準コードに対応したコード構成音の音名がいずれの属性であるかを求めるとともに、前記求めた属性と同じ属性が割り当てられた前記指定されたコードに対応したコード構成音の音名を特定する手順と、
前記自動伴奏パターンデータに含まれるコード構成音の音名と前記特定した音名とに基づいて、前記自動伴奏パターンデータのコード構成音の音高をシフトするとともに、前記指定されたコードの根音に応じて音高をシフトさせる手順と、
前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記指定されたコードの種類を根音自動付与の対象と判定する手順と、
前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合に、前記指定されたコードに応じて変換された後の前記自動伴奏パターンデータに対して前記指定されたコードの根音を付加する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自動伴奏機能を有するシーケンサ等の自動伴奏装置及びプログラムに関する。特に、指定されたコード（和音）に応じて自動伴奏パターンデータの各構成音の音高（音名）を変換して自動伴奏音を発生する技術に関する。
【背景技術】
【０００２】
自動伴奏装置の中には、コードパート、ベースパート及びリズムパート等の一部の演奏パートについて、シーケンシャルな演奏データとは別途記憶された所定の自動伴奏パターンデータ（所謂ソースパターン）に基づいて自動伴奏を行うものが従来から知られている。こうした自動伴奏に関連する技術としては、例えば下記に示す特許文献１に記載されている発明がその一例である。
【特許文献１】特許第2856025号公報
【０００３】
上記特許文献１に記載されているような従来知られた自動伴奏装置では、自動伴奏パターンデータに基づいて自動伴奏を行う際に、自動伴奏パターンデータに含まれる各構成音（具体的にはノートイベントデータ）を、別途記憶されているコード（和音）進行データに従って随時に指定される伴奏コードあるいはユーザにより直接的に適宜に入力指定される伴奏コードに応じて、該伴奏コードに適した音高（音名）に変換してから自動伴奏音として発生するようにしている。こうした音高変換処理は、一般的な自動伴奏パターンデータが予め所定のコードを想定して生成されているために行われる。なお、自動伴奏パターンデータ（詳しくはノートイベントデータ）生成の際に想定されたコードを、本明細書では「ソースコード（基準コード）」と呼ぶ。該ソースコードとしては通常「Cmaj7（Ｃメジャーセブンス）」が想定されることが多いが、勿論これに限られるものでない。また、自動伴奏実行の際に指定される伴奏コードつまりは音高変換後の自動伴奏音のコードを、本明細書では「ターゲットコード」と呼んで前記「ソースコード」と区別する。
【０００４】
従来知られた自動伴奏装置において、前記ノートイベントデータをターゲットコードにあわせた音高（音名）に変換する際には、図６に示すような「属性テーブル」が用いられている。公知であるが属性テーブルについて簡単に説明すると、属性テーブルは各コード種類（タイプ）（maj,maj7,min,min7,7，…等）毎に、自動伴奏パターンデータに含まれうる複数の音名（C,C♯,D,D♯,…等の１２音名）の「属性」を、所定の基準ルート音（根音）を基準に規定したデータである。ここでは一例として、基準ルート音として音名「Ｃ」を基準に作成された属性テーブルを示している。この属性テーブルに規定される「属性」としては、図示のようにコード音属性（ｃ），スケール音属性（ｓ），ノンスケール音属性（ｎ）がある。従来知られているように、これらの各「属性」には、複数のコード種類毎に１２音名（C,C♯,D,D♯,…等）それぞれに対応する音高シフト情報を記憶した所定の「ノート変換テーブル」が対応付けられている。このノート変換テーブル（NTTなどと略される）についてはここでの詳しい説明を省略するが、該ノート変換テーブルには音高シフト情報として、属性がコード音である自動伴奏パターンデータに含まれる各構成音については音高シフト後も指定されたターゲットコードのコード音となるようなシフト値がそれぞれ定義されている。したがって、コード音の音高変換については、図６に示す属性テーブルのみを用いて簡易に説明することができる（詳しくは後述する）。
【０００５】
上記「属性」のうちコード音属性（ｃ）については、ｃ１，ｃ２，ｃ３，ｃ４などのように番号が付された属性となっている。ここでは属性の一例として、コードにおける各音の音楽的な重要度を考慮してその重要度が高い順に番号「１」から昇順に付されているものを示している。特に最重要音を意味するコード音属性「ｃ１」が割り当てられる一般的なコード構成音としては、３和音のコード種類についてはルート音、４和音のコード種類についてはルート音に近い（音程が最も離れていない）付加音、５和音以上のコード種類についてはルート音に近いテンションノートなどである。すなわち、各コードの特徴を表すコードたる響きを表現するのに必要な音（音名）に対して、最重要音を意味する属性「ｃ１」が付与されるようになっている。図示の例を参照すると、例えば「maj（メジャー）」コードなどのような基本の３和音については、ルート音を最重要音としてルート音「Ｃ」に属性「ｃ１」を、短調と長調を区別する３度音を２番目に重要な音であるとして３度音「Ｅ」に属性「ｃ２」を、５度音を３番目に重要な音であるとして５度音「Ｇ」に属性「ｃ３」をそれぞれ付与するようにしている。一方、例えば「min7（マイナーセブンス）」コードなどのような基本の４和音については、ルート音「Ｃ」に属性「ｃ４」を、３度音「Ｅ♭」に属性「ｃ２」を、５度音「Ｇ」に属性「ｃ３」を、それ以外の「Ｂ♭」に属性「ｃ１」をそれぞれ付与するようにしている。
【０００６】
このように、上記「属性テーブル」には音数やコードタイプに応じて何度の音にどの属性を付与するかが予め定義されている。なお、図６に示したような属性テーブルの定義内容は一例であって、どの音がどの順で重要であるかの定義内容はこれに限られない。また、重要度（ｃ１，ｃ２，ｃ３，ｃ４）の数は、各コードタイプにおけるコード構成音の数に対応することは言うまでもない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、従来の自動伴奏装置では、自動伴奏を行う際に上記属性テーブルを参照しながら、随時に指定されるターゲットコードにあわせて自動伴奏パターンデータに基づく自動伴奏音を音高変換して出力する。特に、ターゲットコードにあわせて、自動伴奏パターンデータに含まれるコード音を音高変換する場合について簡単に説明すると、まず上記属性テーブルを参照して自動伴奏パターンデータを構成する各ノートイベントデータの音名（コード音）がソースコードのタイプにおいてどの属性かを求める。次に、該求めた属性と同じ属性がターゲットコードのタイプにおいてどの音名に付与されているかを求める。そして、該求めた音名に従って音高変換前と音高変換後で同様の属性となるようにして音高シフトを行うことにより、自動伴奏パターンデータ内のコード構成音を音高（音名）変換するようにしている。
【０００８】
ここで、伴奏コード（ターゲットコード）として「Cmin（Ｃマイナー）」及び「Cmin7（Ｃマイナーセブンス）」がそれぞれ指定された場合における前記音高変換の従来例を図７に示す。図７（ａ）は、自動伴奏パターンデータに含まれる各ノートイベント「Ｂ，Ｇ，Ｅ」（Cmaj7のコード構成音）を、ターゲットコード「Cmin」にあわせて音高変換した場合における変換前後の自動伴奏音を示すものである。図７（ｂ）は、前記各ノートイベント「Ｂ，Ｇ，Ｅ」（Cmaj7のコード構成音）を、ターゲットコード「Cmin7」にあわせて音高変換した場合における変換前後の自動伴奏音を示すものである。なお、図中においては、各音名の後に属性を記している。
【０００９】
図７（ａ）に示した従来例の場合、音高変換前の元のパターンデータ「Ｂ,Ｇ,Ｅ」をそれぞれ音高変換した音高変換後の自動伴奏音「Ｃ,Ｇ,Ｅ♭」は、ターゲットコード「Cmin」のルート音「Ｃ」を含むものであり、これは通常の「Cmin」の響きとしてユーザに捉えられることから、伴奏コードとして指定されたコードのコード感が得られ特に問題ない。他方、図７（ｂ）に示した従来例の場合には、音高変換前のパターンデータ「Ｂ,Ｇ,Ｅ」をそれぞれ音高変換した音高変換後の自動伴奏音「Ｂ♭,Ｇ,Ｅ♭」は、ターゲットコード「Cmin7」のルート音「Ｃ」を含まない。こうしたルート音「Ｃ」を含まない自動伴奏音は、通常の「Cmin7」のコード構成音からルート音「Ｃ」が省かれたコードの響きとしてユーザに捉えられるよりも、他のコード「E♭maj（Ｅ♭メジャー）」のコードの響きとしてユーザに捉えられやすい。つまりは、音高変換後の自動伴奏音に、伴奏コードとして指定した「Cmin7」とは異なる「E♭maj」のコード感が強く現れてしまうことが起こる。
【００１０】
このように、上記属性テーブルに従って音高変換を行う自動伴奏装置においては、ターゲットコードの種類によっては音高変換後の自動伴奏音にターゲットコードのルート音が含まれない場合が生じえて、自動伴奏音から得るコード感が指定された伴奏コード（ターゲットコード）とは異なるコードのものに変わってしまう（違うコードのように聴こえてしまう、あるいはコード感がなくなってしまう等）ことが起こり、ユーザに対して違和感を与えてしまうので非常に都合が悪い、という問題点があった。
【００１１】
本発明は上述の点に鑑みてなされたもので、所定の属性テーブルに従って自動伴奏パターンデータの各構成音の音高（音名）を変換して自動伴奏音を発生する自動伴奏装置において、随時に指定される任意のコードにおけるそのコード感を維持している自動伴奏音を発生することができるようにした自動伴奏装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の請求項１に係る自動伴奏装置は、所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏を行う自動伴奏装置であって、コード種類毎に各コードのコード構成音を表す複数の音名と、前記音名のそれぞれに対して付与されるコード音としての重要度を示す属性とを定義したコード記憶手段と、前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記コード記憶手段を参照して、前記指定されたコードの種類を根音自動付与の対象と判定するタイプ判定手段と、前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合に、前記指定されたコードに応じて変換された後の前記自動伴奏パターンデータに対して前記指定されたコードの根音を付加する根音付加手段とを具える。
【００１３】
この発明によると、所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏を行う際において、指定されたコードの種類が根音自動付与の対象となるコード種類である場合には、前記指定されたコードの根音を付加するようにした。コード記憶手段には、コード種類毎に各コードのコード構成音を表す複数の音名と、前記音名のそれぞれに対して付与されるコード音としての重要度を示す属性とが定義されており、これに基づき、前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記指定されたコードの種類を根音自動付与の対象と判定する。これにより、音高変換を行って自動伴奏音を発生する自動伴奏装置において、発生される自動伴奏音に指定されたコードの根音が必ず含まれることから、ユーザが自動伴奏音から得るコード感が指定されたコードとは異なるコードのものに変わることがない、つまりは発生される自動伴奏音において必ず指定されたコードのコード感が維持されるようになる。
【００１４】
本発明の請求項５に係る自動伴奏装置は、所定の基準コードを元に生成された自動伴奏パターンデータに含まれる各構成音の音高を、別途指定される任意のコードに応じて変換し自動伴奏を行う自動伴奏装置であって、１２音名それぞれに対して少なくとも、コード音、コード音以外のスケール音、ノンスケール音のいずれかを示す属性を所定のコード種類毎に定義した属性記憶手段であって、前記１２音名のうち各コード構成音の音名に対し、コード音であることを示しかつコード音としての重要度を付与した属性を定義するものと、前記属性記憶手段を参照することにより、前記自動伴奏パターンデータに含まれる各構成音のうち前記基準コードに対応したコード構成音の音名がいずれの属性であるかを求めるとともに、前記求めた属性と同じ属性が割り当てられた前記指定されたコードに対応したコード構成音の音名を特定する特定手段と、前記自動伴奏パターンデータに含まれるコード構成音の音名と前記特定した音名とに基づいて、前記自動伴奏パターンデータのコード構成音の音高をシフトするとともに、前記指定されたコードの根音に応じて音高をシフトさせる音高変換手段と、前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記指定されたコードの種類を根音自動付与の対象と判定するタイプ判定手段と、前記指定されたコードの種類が根音自動付与の対象となるコード種類である場合に、前記指定されたコードに応じて変換された後の前記自動伴奏パターンデータに対して前記指定されたコードの根音を付加する根音付加手段とを具える。
【００１５】
この発明によると、指定されたコードの種類が根音自動付与の対象となるコード種類であり、かつ属性記憶手段を参照することにより求めた、自動伴奏パターンデータの各構成音のうち基準コードに対応したコード構成音のうち根音に対する属性が前記コード音としての重要度のうち最も低い重要度である場合には、前記指定されたコードの根音を付加するようにした。属性記憶手段は、１２音名それぞれに対して少なくとも、コード音、コード音以外のスケール音、ノンスケール音のいずれかを示す属性を所定のコード種類毎に定義したものであって、１２音名のうち特に各コード構成音の音名に対してはコード音であることを示しかつコード音としての重要度を付与した属性を定義してある。根音自動付与の対象となるコード種類は、前記指定されたコードの種類が４和音のコード種類であって、且つ当該コードのコード構成音を表す音名に対して付与された前記コード音としての重要度のうち最も低い重要度が当該コードの根音に付与されている場合に、前記指定されたコードの種類を根音自動付与の対象と判定する。これにより、属性記憶手段に従って音高変換を行って自動伴奏音を発生する自動伴奏装置において、発生される自動伴奏音に指定されたコードの根音が必ず含まれるのでコード感が維持される。
【００１６】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１７】
この発明によれば、所定の属性テーブルに従って音高変換を行う自動伴奏装置において、指定されたコード（和音）に基づく音高変換後の自動伴奏音に前記コードのルート音が現れない場合には、指定されたコードに該当する根音を自動的に補うようにしたことから、指定されたコードのコード感が維持された自動伴奏が必ず行われるようになる、という効果を得る。
【発明を実施するための最良の形態】
【００１８】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１９】
図１は、この発明に係る自動伴奏装置を適用した電子楽器の全体構成の一実施例を示したハード構成ブロック図である。本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。
【００２０】
ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１Ｄ（例えばデータ及びアドレスバス）を介してＲＯＭ２、ＲＡＭ３、記憶装置４、検出回路５，６、表示回路７、音源・効果回路８、通信インタフェース（Ｉ／Ｆ）９がそれぞれ接続されている。ＲＯＭ２は、例えば図示を省略した自動伴奏パターンデータや上記した「属性テーブル」（図６参照）などの各種データ、ＣＰＵ１により実行あるいは参照される各種制御プログラム等を格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００２１】
上記ＲＯＭ２，ＲＡＭ３には自動伴奏パターンデータ以外にも、自動演奏用の各種データ（例えば、演奏順にイベントデータが並べられたシーケンシャルな演奏データなど）等が記憶されてもよい。これらについては特に詳しく説明しないが、どのような種類の自動演奏においても、以下で説明する実施の形態に準じて及び必要に応じて適宜変形した形態で、本発明を適用することができる。なお、ターゲットコードの指定は従来通りに、例えば自動伴奏演奏と同時にユーザが演奏操作子５Ａをリアルタイムに押鍵操作してコードを演奏入力することによって行われるようにしてもよいし、あるいは和音進行順にデータが並べられたシーケンシャルな和音進行データを図示しないコード（和音）シーケンサに予め記憶しておき、これを再生読出しすることによって適宜行われるようにしてもよい。
【００２２】
記憶装置４は上記ＲＯＭ２などと同様に、例えば自動伴奏パターンデータや属性テーブルあるいは根音自動付与の対象となるコード種類などの各種データや、ＣＰＵ１が実行する各種制御プログラム等を記憶する。なお、上述したＲＯＭ２に制御プログラムが記憶されていない場合、この記憶装置４（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１に実行させることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、記憶装置４はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の様々な形態の記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００２３】
演奏操作子５Ａは、楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子５Ａ（鍵盤等）は、ユーザの手弾きによるマニュアル演奏や自動伴奏のためのコード入力（つまりターゲットコード指定）に使用できるのは勿論のこと、自動伴奏パターンデータ等を選択する手段あるいは自動伴奏音の音色や効果等を設定する手段などとして使用することもできる。検出回路５は、演奏操作子５Ａの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。演奏操作子５Ａ（鍵盤等）を操作して自動伴奏のためのコード指定を行う場合、ユーザはターゲットコードのルート音とコードタイプとを指定する。簡単に説明すると、例えばコード指定モードに「シングルフィンガーモード」又は「フィンガードモード」が設定されている場合には、所定のスプリットポイントにて複数に分割された鍵盤のうちのいずれかがコード検出用鍵域として設定され、該設定されたコード検出用鍵域においてユーザにより操作された１又は複数の白黒鍵の組み合わせ（シングルフィンガーモードの場合）又は複数の鍵の音名の組み合わせ（フィンガードモードの場合）に基づいてコードが特定される。また、コード指定モードに「フルキーボードモード」が設定されている場合には、鍵盤の全鍵域にわたってのユーザによる鍵操作に従ってコードが特定される。
【００２４】
設定操作子６Ａは、自動伴奏パターンデータを選択する伴奏データ選択スイッチ、自動伴奏の開始・停止を指示する「自動伴奏開始／停止」スイッチ、コード指定モードを例えば上記した「シングルフィンガーモード」,「フィンガードモード」,「フルキーボードモード」のいずれかに設定するモードスイッチ等の各種の操作子である。コード指定モードは前記複数のモードのうちの１つだけが用意されていてもよいし、あるいは複数のモードが用意されていてもよい。複数のモードが用意されている場合には、上記のようにユーザがその中からいずれかを任意に選択することができる。なお、設定操作子６Ａは上記した以外にも、音高、音色、効果等を選択・設定・制御するための数値データ入力用のテンキーや文字データ入力用のキーボードなどの各種操作子を含んでいてもよい。検出回路６は、上記設定操作子６Ａの操作状態を検出し、その操作状態に応じたスイッチ情報等をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。
【００２５】
表示回路７は、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ７Ａに、上記設定操作子６Ａの操作に応じた各種画面（図示を省略）を表示するのは勿論のこと、ＲＯＭ２やＲＡＭ３さらには記憶装置４に記憶されている各種データあるいはＣＰＵ１の制御状態などを表示する。ユーザはディスプレイ７Ａに表示されるこれらの各種情報を参照することで、自動伴奏パターンデータの選択や各種演奏パラメータの設定などを容易に行うことができる。
【００２６】
音源・効果回路８は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた演奏情報（例えば、ユーザによる鍵盤操作に基づき発生された演奏データや、自動伴奏パターンデータに応じて自動的に発生された演奏データなど）を入力し、この演奏情報に基づいて楽音を合成して楽音信号を発生する。例えば１６チャンネル分の自動演奏用チャンネル（一例としてMIDIチャンネル）を具え、各種の演奏データを複数同時に再生することが可能である。また、音源・効果回路８は発生した楽音信号に対して効果を付与するための効果回路を有する。音源・効果回路８から発生された楽音信号は、アンプやスピーカなどを含むサウンドシステム８Ａから発音される。こうした音源・効果回路８とサウンドシステム８Ａの構成には、従来のいかなる構成を用いてもよい。例えば、音源・効果回路８はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、ＣＰＵ１によるソフトウェア処理で構成してもよい。
【００２７】
通信インタフェース（Ｉ／Ｆ）９は、図示を省略した外部機器と当該電子楽器との間で、MIDI形式のデータを送受信する音楽専用のMIDI入出力インタフェース、あるいはMIDI形式以外のデータや制御プログラムなどの各種情報を送受信する、例えばRS-232C、USB（ユニバーサル・シリアル・バス）、IEEE1394（アイトリプルイー1394）、ブルートゥース（商標）、赤外線送受信器等の汎用のデータ入出力インタフェースである。さらには、LAN（Local Area Network）やインターネット、電話回線等の有線あるいは無線の通信ネットワークを介して、電子楽器とネットワーク上の外部機器（例えば、サーバ装置）とを接続することができ、該接続された電子楽器とサーバ装置との間でMIDI形式のデータやその他のデータあるいは制御プログラムなどの各種情報を送受信することができるネットワークインタフェースであってよい。こうした通信インタフェース９は１乃至複数具えていてよく、また有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００２８】
なお、本実施例に係る自動伴奏装置を電子楽器に適用した場合、演奏操作子５Ａは鍵盤楽器の形態に限らず、弦楽器や管楽器等どのようなタイプの形態であってもよい。また、演奏操作子５Ａやディスプレイ７Ａあるいは音源・効果回路８などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、通信インタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。
なお、本発明に係る自動伴奏装置は上記したような電子楽器の形態に限らず、カラオケ装置やゲーム装置、あるいは携帯電話等の携帯型通信端末、自動伴奏ピアノなど、どのような形態の電子楽器・機器に適用してもよい。また、パーソナルコンピュータとアプリケーションソフトウェアという構成であってもよい。
【００２９】
次に、本実施例に示す電子楽器において、自動伴奏パターンデータに基づいて自動的に伴奏音を発生する「伴奏パターン処理」について、図２〜図５を用いて説明する。ただし、以下に示す実施例においては、音名「Ｃ」を基準ルート音として属性が設定された図６に示す「属性テーブル」を参照しながら音高変換を行うことによって自動伴奏音が発生されるものを例に説明する。また、説明を理解しやすくするために、音高変換処理として以下に説明するような公知の第２方式を用いた例を示す。
【００３０】
「伴奏パターン処理」についての説明を行う前に、属性テーブルを用いた従来から知られている音高変換処理について簡単に説明する。既に説明したように、自動伴奏パターンデータが所定のソースコードを想定して制作されていることに鑑みて、自動伴奏実行時においては指定されたターゲットコードにあわせて自動伴奏パターンデータの音高変換を行う必要があり、そのために音高変換処理は行われる。公知の音高変換処理においては、自動伴奏パターンデータに含まれる各ノートイベントデータ（の音名）が、ソースコードのタイプにおいてどの属性かを属性テーブルを参照して求めると共に、その同じ属性がターゲットコードのタイプにおいてどの音名になるかを同じ属性テーブルを参照して求め、それぞれが同様の属性になるようにして音高変換を行うようになっている。
【００３１】
ところで、ソースコード（例えばCmaj7）とはタイプ（maj7）だけでなくルート音（Ｃ）も異なるターゲットコード（例えばEmin）が指定された場合には、各ノートイベントデータ毎にルート分についても音高変換（音高シフト）を行う必要がある。このルート分の音高変換（音高シフト）としては、前記音高変換後にソースコードのルート音（Ｃ）とターゲットコードのルート音（Ｅ）の差分だけをさらに音高シフトする第１方式が知られている。この第１方式は、音高変換前と音高変換後とで各音の間の音程関係に変化を与える影響が少ない方式であって、特にメロディアスなパターンに向いている方式と言えるものである。
【００３２】
一方、前記第１方式と異なる方式として、ソースコード及びターゲットコードの各タイプに応じた属性を求める際に、各コードのルート音も考慮して「属性テーブル」の定義内容自体をシフトしておき、この内容シフト後の「属性テーブル」を参照して前記音高変換を行うことで、ルート分の音高変換（音高シフト）を含めた音高変換を一括して行うことができるようにした第２方式も知られている。この第２方式については具体例を後述する（後述の図３，図４参照）ことから、ここでの詳しい説明を省略する。この第２方式は、音高変換前と音高変換後とで絶対音高の変化が少ない方式であって、特にコードパターンに向いている方式と言えるものである。
【００３３】
ただし、この第２方式を採用した場合には、番号が付与された属性を同じ番号の属性へと音高変換することにより、絶対音高の変化が大きくなる恐れがある。その場合は、属性テーブルにおいて異なる番号の属性間で属性の入れ替えをしてもよい。例えば、「ｃ１」と「ｃ２」とを入れ替える。この際に、重要度が大きく異なる高い属性と低い属性間で入れ替えを行うと（例えばｃ１とｃ４）、音高変換後においてコードの特徴が再現されない自動伴奏音が発生される可能性があるので、属性の入れ替えを行う場合には重要度が近い範囲でのみ入れ替えるようにするとよい。例えば、５和音の場合、「ｃ１」，「ｃ２」，「ｃ３」の範囲内でのみ、「ｃ４」，「ｃ５」の範囲内でのみそれぞれ入れ替えできるように制限するとよい。
【００３４】
図２〜図５を用いて、本発明に係る自動伴奏装置が実行する「伴奏パターン処理」について説明する。図２は、「伴奏パターン処理」の一実施例を示すフローチャートである。当該処理はＣＰＵ１によって実行される処理であって、ユーザによる「自動伴奏開始／停止」スイッチでの伴奏開始操作を契機にして伴奏停止操作が行われるまで、ユーザ操作に従ってあるいは自動伴奏パターンデータ内の定義に従って設定された再生テンポに応じた所定のタイミングごとに（時間間隔毎に）繰り返し起動される。
【００３５】
ステップＳ１は、ユーザによる伴奏データ選択スイッチ等の操作に応じて選択された再生対象の自動伴奏パターンデータの再生読出しに応じて、該データ中に含まれるノートイベントデータのうち処理タイミングが到来したデータがあるか否かを判定する。処理タイミングが到来したノートイベントデータがない場合には（ステップＳ１のＮＯ）、当該処理を終了する。一方、処理タイミングが到来したノートイベントデータがある場合には（ステップＳ１のＹＥＳ）、「通常の音高変換処理」（後述する図３参照）及び「ルート音付与処理」（後述する図４参照）を順に実行する（ステップＳ２及びステップＳ３）。なお、自動伴奏パターンデータは複数のパート、例えばコードパート、ベースパート及びリズムパートなどに関するノートイベントデータを含むものであるが、このうちのリズムパートに関するノートイベントデータについてはターゲットコードにあわせた音高変換の対象外であることから、処理タイミングが到来したノートイベントデータがある場合であっても当該「伴奏パターン処理」を行う必要がないことは言うまでもない。
【００３６】
図３は、「通常の音高変換処理」（図２のステップＳ２参照）の一実施例を示すフローチャートである。ステップＳ１１は、属性テーブル（図６参照）の基準ルート音と自動伴奏パターンデータのソースコードのルート音（ソースルートと呼ぶ）とが異なる場合において、上記した第２方式に従って属性テーブルの定義内容をソースルートに応じてシフトし（つまりは図中における音名「Ｃ」に付与されている属性がソースルートに対応する音名に対応付けられるように属性テーブルの定義内容全体を図中右にずらすことによって、各音名に付与する属性を再定義する）、該内容シフト後（属性の再定義後）の属性テーブルを用いてソースコードのタイプにおける処理対象ノートイベントの属性を求める。
【００３７】
具体的に説明すると、例えば属性テーブルの基準ルート音が「Ｃ」である場合にソースコードが「Cmaj7」であるならば、基準ルート音及びソースルートは共に「Ｃ」であるので、属性テーブルの内容シフト（属性の再定義）は行わなくてよい。この場合に、一例として処理対象ノートイベントの音名が「Ｂ」であるとすると、図６に示した属性テーブルから音名「Ｂ」に対応する属性は「ｃ１」と求められる。他方、例えばソースコードが「Emin」であるならば、ソースルートは「Ｅ」であるので属性テーブルの内容シフト（属性の再定義）は行われる。つまり、基準ルート音が「Ｃ」であってソースルートが「Ｃ」以外の他の音高（音名）である場合には、属性テーブルの内容シフト（属性の再定義）は行われる。そして、例えばソースコードが上記「Emin」である場合には、一例として処理対象ノートイベントの音名が「Ｂ」であるとすると、内容シフト後（属性の再定義）の属性テーブルから音名「Ｂ」に対応する属性は「ｃ３」と求められる。
【００３８】
ステップＳ１２は、属性テーブルの基準ルート音とターゲットコードのルート音（ターゲットルートと呼ぶ）とが異なる場合において、上記した第２方式に従って、「属性テーブル」をターゲットルートに応じてシフト（属性の再定義）し、ターゲットコードのタイプにおける前記求めた属性（あるいは、上述したように属性テーブルにおいて必要に応じて入れ替えた属性であってもよい）に該当する音名を求める。すなわち、例えばターゲットコードが「Cmin7」ならばターゲットルートは「Ｃ」であるので、属性テーブルのシフト（属性の再定義）は行わなくてよい。そして、ターゲットコードが「Cmin7」である場合に、一例として図６に示した属性テーブルにおいて属性「ｃ１」が付与されている音名は「Ｂ♭」であることから、音名は「Ｂ♭」と求められる（ただし、上述した属性テーブルにおける属性の入れ替えなしの場合）。他方、「Ｃ」以外の他のターゲットルートである場合には、属性テーブルのシフト（属性の再定義）は行われる。そして、例えばターゲットコードが「Gmin7」である場合に、一例としてシフト（属性の再定義）後の属性テーブルにおいて属性「ｃ３」が付与されている音名は「Ｄ」であることから、音名は「Ｄ」と求められる（属性の入れ替えなしの場合）。なお、該当する音名を求める際に該当音名が複数ある場合には、その中から元の音名に最も音程の近い音名を求めるようにするとよい。
【００３９】
ステップＳ１３は、前記求めた音名となるように処理対象ノートイベントデータの音高を変換する。上記したように、例えばソースコードが「Cmaj7」であってターゲットコードが「Cmin7」である場合には、音名「Ｂ」が音名「Ｂ♭」となるようにノートイベント内のノートナンバを変換する。また、例えばソースコードが「Emaj7」であってターゲットコードが「Gmin7」である場合には、音名「Ｂ」が音名「Ｄ」となるようにノートイベント内のノートナンバを変換する。ステップＳ１４は、音高変換が行われている場合には音高変換後のノートイベントデータを、音高変換が行われていない場合には自動伴奏パターンデータのノートイベントデータをそのまま音源・効果回路８ヘ出力する。
【００４０】
図４は、「ルート音付与処理」（図２のステップＳ３参照）の一実施例を示すフローチャートである。ステップＳ２１は、ルート音自動付与パラメータが「オン」であるか否かを判定する。このルート音自動付与パラメータは、自動伴奏パターンデータを構成する複数のパート毎（あるいはトラック毎）に予めルート音自動付加を有効とするか無効とするかを定義するパラメータであって、これに基づいて各パート単位のルート音自動付加に関する電子楽器の機器設定を自動的に有効（オン）／無効（オフ）設定することができるようになっている。勿論、これに限らず、ユーザがスイッチ等を操作して各パート単位にルート音自動付加に関する電子楽器の機器設定を適宜に有効（オン）／無効（オフ）設定できるようになっていてもよい。
【００４１】
前記ルート音自動付与パラメータが「オン」設定である場合には（ステップＳ２１のＹＥＳ）、再生対象の自動伴奏パターンデータが音高変換後に発生される自動伴奏音にルート音を含まない可能性があるタイプのデータであるか否かを判定する（ステップＳ２２）。具体的な方法としては再生対象の自動伴奏パターンデータを先読みして、当該自動伴奏パターンデータに含まれるノートイベントデータ全てについて、属性テーブルにおける当該ソースコードのタイプにおいて属性「ｃ１」及び「ｃ４」が定義されている音名に該当するそれぞれのノートイベントデータが含まれているか否かを判定するとよい。すなわち、自動伴奏パターンデータに属性「ｃ１」及び「ｃ４」が定義されている音名に該当するそれぞれのノートイベントデータが含まれている場合には、自動伴奏の進行に応じて前記ノートイベントデータに対応して、ターゲットコードにあわせた音高変換後のルート音が必ず発生される（すべての和音について、ルート音の属性が「ｃ１」又は「ｃ４」のいずれかとなるように属性テーブルが作られており、自動伴奏パターンデータ内の「ｃ１」と「ｃ４」のいずれかのノートイベントが、どのようなターゲットコードにおいてもルートになる）ことから、新たにルート音を付加しなくてもコード感が失われることがない。
【００４２】
他方、自動伴奏パターンデータに属性「ｃ１」及び「ｃ４」が定義されている音名に該当するそれぞれのノートイベントデータが含まれていない場合には、自動伴奏の進行に応じてノートイベントデータに対応して、ターゲットコードにあわせた音高変換後のルート音が発生されない可能性があり、発生されない場合には新たにルート音を付加しないとコード感が失われる。そこで、属性「ｃ１」及び「ｃ４」が定義されている音名に該当するノートイベントデータが含まれているか否かを調べるために、自動伴奏パターンデータを予め先読みするようにしている。言い換えるならば、元の自動伴奏パターンデータに属性「ｃ１」及び「ｃ４」が定義されている音名に該当するそれぞれのノートイベントデータがともに含まれていない限り、コード感が失われる可能性があるターゲットコード（例えば「majAdd9」，「6/9」，「min7」，「min7♭5」，「minAdd9」，「min11」，「dim7」，全ての「dominant  7th」等）がルート音自動付与の対象コードとされる（後述する）。なお、自動伴奏パターンデータの先読みは少なくとも１回だけ行えばよく、判定結果を例えばフラグ（0，1）等として保持しておき、２回目以降は自動伴奏パターンデータの先読みを行うことなく該フラグを参照して判定を行うようにするとよい。
【００４３】
自動伴奏パターンデータが音高変換後に発生される自動伴奏音にルート音を含むタイプのデータ、具体的には属性「ｃ１」及び「ｃ４」が付された音名に該当するそれぞれのノートイベントデータが含まれている場合には（ステップＳ２２のＮＯ）、音高変換後の自動伴奏音においてもコード感が維持され新たにルート音を補う必要がないので、当該処理を終了する。他方、音高変換後に発生される自動伴奏音にルート音を含まない可能性のあるタイプのデータ、具体的には属性「ｃ１」及び「ｃ４」が付された音名に該当するそれぞれのノートイベントデータがともに含まれていない場合には（ステップＳ２２のＹＥＳ）、ステップＳ２３の処理を実行する。ステップＳ２３は、上記「通常の音高変換処理」において求めた属性が「ｃ１」であるか否かを判定する。求めた属性が「ｃ１」である場合には（ステップＳ２３のＹＥＳ）、さらにターゲットコードのタイプが後述のルート音付与対象タイプであるか否かを判定する（ステップＳ２４）。
【００４４】
ここで、図６に示した「属性テーブル」を利用する場合におけるルート音自動付与の対象となるターゲットコードのタイプ（ルート音付与対象タイプ）の一例を示すと、例えば「majAdd9」，「6/9」，「min7」，「min7♭5」，「minAdd9」，「min11」，「dim7」，全ての「dominant  7th」等が挙げられる。多数あるコードタイプのうちどのコードタイプがルート音自動付与の対象タイプとなるかは、属性テーブルにおける音名毎の属性の割り当て内容（特に属性「ｃ４」の有無と、「ｃ４」がある場合に「ｃ４」がルートに割り当てられているか否か）に応じて異なるために絶対的には決められない。したがって、ルート音自動付与の対象となるコードタイプについては属性テーブルを作成した楽器メーカ等（あるいはユーザであってもよい）が適宜定めておき、これを対象コードタイプデータなどとして対応する属性テーブルと一緒に利用できるように互いを関連付けて記憶するとよい。
【００４５】
図４の説明に戻って、ターゲットコードのタイプがルート音付与対象タイプであると判定した場合には（ステップＳ２４のＹＥＳ）、ターゲットタイプを「min（あるいはmaj）」に読み替える（ステップＳ２５）。このターゲットタイプの読み替えは、属性「ｃ１」をルート音に対応付けるために行われる。例えば図６に示した「属性テーブル」では、「min（またはmaj）」において属性「ｃ１」がルート音に付与されているので、ここではターゲットタイプを「min（あるいはmaj）」に読み替えるようにしている。これにより、属性テーブルを用いた後述する処理を行うことに応じて、ターゲットコードにあわせて自動付与すべきルート音を特定することができるようになる。勿論、ターゲットタイプの読み替えはこれに限らず、属性「ｃ１」がルート音に付与されている他のコードタイプに読み替えるようにしてもよい。すなわち、読み替えるターゲットタイプは属性テーブルの定義内容によって変わり得る。
【００４６】
ステップＳ２６は、「属性テーブル」の基準ルート音とターゲットコードのルート音（ターゲットルートと呼ぶ）とが異なる場合に、上記した第２方式に従って、属性テーブルをターゲットルートに応じてシフト（属性の再定義）し、ターゲットコードのタイプにおける前記求めた属性（あるいは、上述したように属性テーブルにおいて必要に応じて入れ替えた属性であってもよい）に該当する音名を求める。なお、該当する音名を求める際に該当音名が複数ある場合には、その中から元の音名に最も音程の近い音名を求めるとよい。ステップＳ２７は、前記求めた音名かつ処理対象ノートイベントの音高より低い音高のノートイベントを生成する。ここで生成するノートイベントのベロシティ（あるいはゲートタイム等の楽音制御パラメータ）は、処理対象ノートイベントのベロシティ（あるいはゲートタイム等）と同じであってもよいし、任意に増減させることができるようにしてもよい。ベロシティ（あるいはゲートタイム等）を増減させる場合、その増減値をパラメータとして自動伴奏パターンデータ内に予め定義しておいてもよい。ステップＳ２８は、前記生成した新たなノートイベントを音源・効果回路８ヘ出力する。このようにすると、自動伴奏パターンデータに基づく自動伴奏音にルート音がない場合であっても、ルート音を加えて自動伴奏音を発生することができる。
なお、ステップＳ２３において、属性が「ｃ１」のノートイベントの発音にあわせてルート音を付与するようにしたのは、ルート付与対象の各コードにおいて最重要とされている属性「ｃ１」の音と同時にルート音を鳴らすことで、よりコード感がはっきり出るようにするためである。しかしながら、「ｃ１」以外の音と同時にルート音を鳴らすようにしてもよいのは勿論である。
【００４７】
図５に伴奏コードとして「Cmin7」が指定された場合における、前記「伴奏パターン処理」に基づく音高変換の例を示す。図５（ａ）は、自動伴奏パターンデータに含まれる各ノートイベント「Ｂ，Ｇ，Ｅ」（ソースコードCmaj7のコード構成音のうちのルートＣを除くもの）を、ターゲットコード「Cmin」にあわせて音高変換した場合における変換前後の自動伴奏音を示すものである。図５（ｂ）は、前記各ノートイベント「Ｂ，Ｇ，Ｅ」を、ターゲットコード「Cmin7」にあわせて音高変換した場合における変換前後の自動伴奏音を示すものである。なお、図中においては、各音名の後に属性を記している。
【００４８】
図５（ａ）に示すように、上記「伴奏パターン処理」に従って「Ｂ，Ｇ，Ｅ」をターゲットコード「Cmin」にあわせて音高変換した結果は、音高変換前の元のパターンデータ「Ｂ,Ｇ,Ｅ」をそれぞれ音高変換した音高変換後の自動伴奏音「Ｃ,Ｇ,Ｅ♭」がルート音「Ｃ」を含むものであり、これは通常の「Cmin」の響きとしてユーザに捉えられ、伴奏コードとして指定された通りであるので、新たにルート音を付与することが必要とされない。この場合、上記処理に従うと、音高変換前の元のパターンデータ「Ｂ,Ｇ,Ｅ」の各属性がそれぞれ「ｃ１，ｃ３，ｃ２」であって「ｃ４」が含まれていないが（ステップＳ２２のＹＥＳ）、ターゲットコード「Cmin」のタイプがルート音付与対象タイプでないことから（ステップＳ２４のＮＯ）、新たにルート音は付与されない。
【００４９】
他方、図５（ｂ）に示した例の場合には、音高変換前のパターンデータ「Ｂ,Ｇ,Ｅ」をそれぞれ音高変換した音高変換後の自動伴奏音は「Ｂ♭,Ｇ,Ｅ♭」であり、本来ならばルート音「Ｃ」が含まれない。これは、音高変換前の元のパターンデータ「Ｂ,Ｇ,Ｅ」の各属性がそれぞれ「ｃ１，ｃ３，ｃ２」であって「ｃ４」が含まれていないために、図６に示した属性テーブルのコードタイプ「min7」において「ｃ４」が付与された音名「Ｃ」に音高変換される元のデータがないからである。そこで、上記したようにして、こうしたルート音「Ｃ」を含まない場合にはルート音「Ｃ」を自動付与することにより、通常の「Cmin7」のコード構成音の響きとしてユーザが捉えることのできるようにする。すなわち、上記処理に従うと、音高変換前の元のパターンデータ「Ｂ,Ｇ,Ｅ」の各属性がそれぞれ「ｃ１，ｃ３，ｃ２」であって「ｃ４」が含まれておらず（ステップＳ２２のＹＥＳ）、またターゲットコード「Cmin7」のタイプがルート音付与対象タイプであることから（ステップＳ２４のＹＥＳ）、新たにルート音が付与される（ステップＳ２５〜ステップＳ２８）。
【００５０】
以上のように、本実施の形態によれば、音高変換時に参照される上記属性テーブルの定義内容に従い予め決められた所定のコード、具体的には属性テーブルにおいてルート音に付与された属性（重要度）が他のコード構成音に比べて低い属性（重要度）であるコード（ルート音が重要視されていないタイプのコード）がターゲットコードとして指定されており、該ターゲットコードに基づく音高変換後の自動伴奏音にルート音が含まれなくなってしまう場合に、ターゲットコードにあわせて該コードのルート音を自動的に補うようにした。これにより、指定されたターゲットコードにあわせて、所定の属性テーブルを参照して元の自動伴奏パターンデータに対して音高変換を行って自動伴奏音を発生する自動伴奏装置において、指定されたターゲットコードによっては変換後の自動伴奏音にターゲットコードのルート音が含まれない場合が生じえて、ユーザが自動伴奏音から得るコード感が指定されたターゲットコードとは異なるコードのものに変わる（違うコードのように聴こえてしまう、あるいはコード感がなくなってしまう等）ことがなくなるので、音高変換後においてもコード感が維持されることになる。また、こうした効果を、属性テーブルに従って音高変換を行う従来の自動伴奏装置においても、従来の仕組みやプログラム等を大きく変更せずに実現することが容易に達成可能であるという利点もある。
【００５１】
さらに、ルート音を自動付加する際に、従来のようにして自動伴奏パターンデータに基づく自動伴奏音を発生するためのトラック以外にルート音の発音専用に別のトラックを用意する必要がないので、有限な資源であるトラックを有効に活用することができる。そして、別のトラックを用意する必要がなければそのための専用の自動伴奏音生成用パターンデータを準備しておかなくてもよいので、ユーザはルート音自動付与パラメータを設定するだけでルート音の自動付加を容易に選択することができる。しかも、ルート音自動付与パラメータによるルート音の付加・非付加を選択することができるだけでなく、付加するルート音をコントロールすることが容易にできるようになる。例えば、ルート音を付加したことにより音の響きが重くなることを避けるためには、ベロシティを下げて付加したルート音を控えめに発生するようにするとよい。あえて付加したルート音を強調したいような場合には、ベロシティをあげて付加したルート音を他の音と比べて大きめの音量で発生するようにするとよい。そうしたベロシティに関するパラメータ（楽音制御パラメータ）をルート音自動付与パラメータと共に、自動伴奏パターンデータに予め定義しておくだけで、容易にコントロールすることができるようになる。
【００５２】
上述した実施例においては、処理対象の自動伴奏パターンデータが変換後の音高にルート音を含まないデータであるか否かを判定し（ステップＳ２２参照）、変換後の音高にルート音を含まないデータである場合にルート音の自動付与を行うようにしているが、当該判定処理を行うことなく求めた属性が「ｃ１」である場合には（ステップＳ２３参照）、ステップＳ２４以降の処理に従ってルート音を自動付与するとよい。ただし、こうした場合には、自動伴奏パターンデータの通常の音高変換に基づきルート音が生成された以降については、ルート音の自動付与を行わないようにするとよい（つまり、自動伴奏の途中からルート音の自動付与を行わない）。
【００５３】
なお、上述した実施例においてはソースコードとターゲットコードとにおける各ルート音分の音高変換（音高シフト）処理として上記第２方式を用いた例を示したがこれに限らず、上記第１方式を用いてもよい。また、パート毎（トラック毎）に前記第１方式又は第２方式のどちらの音高変換方式を採用するかを任意に設定できるようにしてあってもよい。
なお、上記した「ルート音付与処理」に記載した処理（ステップＳ２５〜ステップＳ２７）を採用せずに、ターゲットコードのタイプがルート音付与対象タイプである場合に（図４のステップＳ２４のＹＥＳ）、単に「処理対象ノートイベントよりも低い、ターゲットコードのルート音」のノートイベントを新たに生成する処理を行うだけでもよい。
【図面の簡単な説明】
【００５４】
【図１】この発明に係る自動伴奏装置を適用した電子楽器の全体構成の一実施例を示したハード構成ブロック図である。
【図２】伴奏パターン処理の一実施例を示すフローチャートである。
【図３】通常の音高変換処理の一実施例を示すフローチャートである。
【図４】ルート音付与処理の一実施例を示すフローチャートである。
【図５】伴奏パターン処理による音高変換の具体例を説明するための図である。
【図６】属性テーブルの一実施例を示す概念図である。
【図７】音高変換の従来例を説明するための図である。
【符号の説明】
【００５５】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…記憶装置、５，６…検出回路、５Ａ…演奏操作子、６Ａ…設定操作子、７…表示回路、７Ａ…ディスプレイ、８…音源・効果回路、８Ａ…サウンドシステム、９…通信インタフェース、１Ｄ…通信バス
【図１】
0005163100.tif 000002
【図２】
0005163100.tif 000003
【図３】
0005163100.tif 000004
【図４】
0005163100.tif 000005
【図５】
0005163100.tif 000006
【図６】
0005163100.tif 000007
【図７】
0005163100.tif 000008