(57)【特許請求の範囲】
【請求項１】
複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の残りの音高情報からコードを判定するコード判定手段とを具備することを特徴とするコード判定装置。
【請求項２】
複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第１のコード判定手段と、前記判別手段にて所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第２のコード判定手段とを具備することを特徴とするコード判定装置。
【請求項３】
複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音名が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の全ての音高情報からコードを判定するコード判定手段とを具備することを特徴とするコード判定装置。
【請求項４】
複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の残りの音高情報からコードを判定するコード判定処理とを具備することを特徴とするコード判定方法。
【請求項５】
複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第１のコード判定処理と、前記判別処理によって所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第２のコード判定処理とを具備することを特徴とするコード判定方法。
【請求項６】
複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音名が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の全ての音高情報からコードを判定するコード判定処理とを具備することを特徴とするコード判定方法。
【請求項７】
複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【請求項８】
複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在しないと判別された場合には前記複数の音高情報からコードを判定し、一方、所定個数以上の音高情報が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【請求項９】
複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別し、所定個数以上の音名が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外して残りの音高情報からコード判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば自動伴奏装置等に用いて好適なコード判定装置、コード判定方法およびコード判定方法を記録した媒体に関する。
【０００２】
【従来の技術】
従来より、押鍵されたコード（和音）と指定されたリズム種類とに応じて、予め記憶しておいた伴奏パターンに従って自動的にコード音やベース音を発生する自動伴奏装置が知られている。このような自動伴奏装置には、演奏者が押鍵したコード（和音）のルート（根音）およびコードタイプ（和音種類）を判定するコード判定装置が搭載されている。
コード判定装置では、様々な方式に基づいてコード判定するようになっており、その方式としては、例えば鍵盤中の所定鍵より低音側を伴奏鍵域に鍵域分割し、この伴奏鍵域における各鍵をコード指定スイッチと見做してコード判定するシングルフィンガードコード方式や、伴奏鍵域での押鍵音（音高情報）をコード構成音と見做してコード判定するフィンガードコード方式、あるいは全鍵域での押鍵音をコード構成音と見做してコード判定するフルレンジコード方式が知られている。
【０００３】
フルレンジコード方式では、単に全鍵域での押鍵音をコード構成音と見做してコード判定する為、例えば演奏者が左手でコード演奏しつつ右手でそのコード構成音以外のメロディ音を演奏した場合に、コード構成音以外のメロディ音も含めてコード判定してしまう結果、演奏者の意図しないコードを判定するという弊害が生じる。
そこで、このような弊害を解消すべく、従来では、押鍵音の内、最高音と２番目に高い押鍵音との音程が所定値以上ある場合に、メロディ音（最高音）をコード判定対象から除外する方式（これを第１のコード判定方式と称す）や、押鍵音の内、最低音から１オクターブの範囲もしくは最高音から１オクターブの範囲にある押鍵音をコード構成音と見做してコード判定する方式（第２のコード判定方式と称す）が知られている。なお、この第２のコード判定方式の詳細については特許第２５６９８２２号公報に開示されている。
【０００４】
【発明が解決しようとする課題】
ところで、上述した第１のコード判定方式では、レガート奏法にてメロディ音を弾くと、そのメロディ音の押鍵状態が時間的に重なる為に音程を判別し得ず、これ故、メロディ音も含めてコード判定してしまう結果、演奏者の意図しないコードを判定する弊害や、オクターブ以上の広がりを持つオープンポジションによるコードを演奏する、所謂オープンコード奏法がなされると、コード判定することが出来ないという欠点がある。
また、上述した第２のコード判定方式にあっても、押鍵音の内の最低音から１オクターブの範囲もしくは最高音から１オクターブの範囲でのみコード判定対象にする為、その範囲を超えるようなオープンコード奏法には対処することができないという欠点がある。
そこで本発明はこのような事情に鑑みてなされたもので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができるコード判定装置、コード判定方法およびコード判定方法を記録した媒体を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の残りの音高情報からコードを判定するコード判定手段とを具備することを特徴とする。
【０００６】
請求項２に記載の発明では、複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第１のコード判定手段と、前記判別手段にて所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第２のコード判定手段とを具備することを特徴とするコード判定装置。
【０００７】
請求項３に記載の発明では、複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音名が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の全ての音高情報からコードを判定するコード判定手段とを具備することを特徴としている。
【０００８】
請求項４に記載の発明では、複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の残りの音高情報からコードを判定するコード判定処理とを具備することを特徴とする。
【０００９】
請求項５に記載の発明では、複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第１のコード判定処理と、前記判別処理によって所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第２のコード判定処理とを具備することを特徴としている。
【００１０】
請求項６に記載の発明では、複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音名が存在すると判別された場合、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の全ての音高情報からコードを判定するコード判定処理とを具備することを特徴とする。
【００１１】
請求項７に記載の発明では、複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【００１２】
請求項８に記載の発明では、複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在しないと判別された場合には前記複数の音高情報からコードを判定し、一方、所定個数以上の音高情報が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【００１３】
請求項９に記載の発明では、複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別し、所定個数以上の音名が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外して残りの音高情報からコード判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【００１４】
本発明では、複数の音高情報中の最低音から第１の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在しないと判別された場合には前記複数の音高情報からコードを判定し、一方、所定個数以上の音高情報が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する音高情報中の最高音から第２の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定するので、レガート奏法にてメロディ演奏してもコード判定に影響を与えることがなく、しかもオクターブ以上の広がりを持つオープンポジションによるコードを演奏する、所謂オープンコード奏法がなされた場合でも的確にコード判定することが可能になる。
【００１５】
【発明の実施の形態】
本発明によるコード判定装置は、周知の電子楽器のみならず、パーソナルコンピュータを用いたＤＴＭ装置および自動伴奏装置に適用され得る。以下では、本発明の実施の一形態による自動伴奏装置を実施例とし、これについて図面を参照して説明する。
（１）全体構成
図１は、本発明による実施例の全体構成を示すブロック図である。この図において、１は操作パネルであり、図示されていないコンソールパネル上に配設されるスイッチ部１ａおよび表示部１ｂから構成される。スイッチ部１ａは、図示されていないが、電源スイッチＳＷ１や自動伴奏の開始／停止を指示するスタート／ストップスイッチＳＷ２あるいは自動伴奏時のリズム種類を選択するパターン選択スイッチＳＷ３等の各種スイッチから構成され、それぞれスイッチ操作に対応したイベントを発生する。このイベントは後述するＣＰＵ３のキースキャンにより取込まれる。
【００１６】
表示部１ｂは、ＬＣＤパネル（図示略）と、ＣＰＵ３から供給される表示制御信号に応じてＬＣＤパネルを表示制御する表示ドライバ（図示略）とから構成され、上記スイッチ部１ａにおけるスイッチ操作に応じた設定状態や動作状態などを表示する。２は押離鍵操作（演奏操作）に応じたキーオン／キーオフ信号およびキーナンバ（鍵番号）等からなる演奏情報を発生する鍵盤である。
ＣＰＵ３はＲＯＭ４にストアされる各種制御プログラムを実行し、キースキャンにより取込んだ各スイッチ操作（スイッチイベント）に応じて装置各部を制御するものであり、特に、スタート／ストップスイッチＳＷ２のスイッチ操作に応じて自動伴奏が開始する自動伴奏モード下では鍵盤２の押鍵操作に対応する押鍵音（音高情報）からコード判定を施し、判定されたコード構成音をリズムパターンに従ってコード伴奏するよう音源７を制御する。なお、本発明の要旨にかかわる自動伴奏モード下におけるＣＰＵ３の処理動作については追って詳述する。
【００１７】
ＲＯＭ４は、ＣＰＵ３にロードされる各種制御プログラムを記憶するプログラムエリア他、上述したリズムパターン選択スイッチＳＷ３の操作に応じて選択されるリズムパターンや後述するコード種判定テーブルＴＢＬを記憶するデータエリアを備える。
なお、ＲＯＭ４に記憶される各種制御プログラム・データは、磁気記録媒体や光磁気記録媒体に格納しておき、これをその媒体に対応した外部記憶装置（図示略）によって読み出す構成としても良く、さらに本装置に対して着脱自在なＥＰＲＯＭやフラッシュメモリ等の書き換え可能な不揮発性固体メモリを記録媒体として用いる態様としても良い。
【００１８】
ここで、ＲＯＭ４のデータエリアに記憶されるリズムパターンＲＰおよびコード種判定テーブルＴＢＬの構成について図２および図３を参照して説明する。先ず、リズムパターンＲＰは図２に図示するように、各リズム種類別にプリセットされるものであり、曲頭から進行順（アドレス順）に発音／消音を指示するＯＮ／ＯＦＦタイミングデータが絶対時間方式にて格納され、その曲終端にはデリミタとなる終了データＥＮＤを設けたデータ構成となっている。
コード種判定テーブルＴＢＬは、図３に示すように、音名に変換されたコード判定対象音の内のいずれかの（例えば最も低い）音名をルート（根音）、残りの各音名についてルートとの音程（半音数）を求めた場合に、そのルートおよび各音程（半音数）を読み出しアドレスとして対応するコードタイプ（和音種類）を読み出すテーブルデータである。
こうしたコード種判定テーブルＴＢＬにおいて、例えばコード判定対象音が「０（ルート）」，「４」および「７」であると、これに対応するコードタイプとして「Ｍａｊ（メジャー）」が判定されるようになっている。
【００１９】
次に、再び図１を参照して実施例の構成について説明を進める。図１において、５はＣＰＵ３のワークエリアとして用いられるＲＡＭであり、各種レジスタ／フラグデータを一時記憶する。６はＣＰＵ３の制御の下に、自動伴奏時の再生テンポＴＥＭＰを指定するテンポクロックＴＭＰを発生するテンポクロック発生回路である。音源７は周知の波形メモリ読み出し方式で構成され、ＣＰＵ３の制御の下に、再生テンポＴＥＭＰに同期してＲＯＭ４から順次読み出されるリズムパターンＲＰに従ったリズムでコード伴奏音を生成する一方、押離鍵操作に応じて発生する演奏情報に対応した楽音を形成する。
８は音源７の出力をＤ／Ａ変換した後に増幅し、必要に応じてノイズ除去等を目的としたフィルタリングを施してからスピーカＳＰより楽音として発音させるサウンドシステムである。
【００２０】
（２）動作
次に、図４〜図８を参照して上記構成による実施例の動作について説明する。以下では、本発明の要旨にかかわる特徴的な動作である、フルレンジコード判定処理を主眼にして動作説明を進める。
▲１▼メインルーチンの動作（全体動作）
本実施例による自動伴奏装置に電源が投入されると、ＣＰＵ３はＲＯＭ４から所定の制御プログラムをロードして図４に示すメインルーチンを実行し、ステップＳＡ１に処理を進め、ＲＡＭ５に格納される各種レジスタ／フラグ類をリセットしたり初期値セットするイニシャライズ処理を実行する。次いで、ステップＳＡ２では、押離鍵操作に応じた発音／消音指示を発生する一方、上述したスタート／ストップスイッチＳＷ２の操作により自動伴奏モード下に設定された場合には押鍵操作された鍵に基づきコード判定する鍵盤処理ルーチンを実行する。
【００２１】
次いで、ステップＳＡ３では、自動伴奏モード下に設定されている場合、再生テンポＴＥＭＰに同期してＲＯＭ４から順次読み出されるリズムパターンＲＰに従ったリズムでコード音を生成する自動伴奏処理ルーチンを実行する。この後、ステップＳＡ４に進み、コンソールパネル上に配設される各種スイッチ操作に応じたスイッチ処理、例えば、上述したスタート／ストップスイッチＳＷ２の操作に応じて自動伴奏を開始させたり停止させる処理や、リズムパターン選択スイッチＳＷ３の操作に応じてリズム種類を選択する処理などの、その他の処理を実行する。そして以後、電源がオフ状態に設定される迄、ステップＳＡ２〜ＳＡ４を繰り返す。
【００２２】
▲２▼鍵盤処理ルーチンの動作
次に、図５を参照して鍵盤処理ルーチンの動作について説明する。上述したステップＳＡ２を介して図５に示す鍵盤処理ルーチンが実行されると、ＣＰＵ３はステップＳＢ１に処理を進め、キーイベントを検出する鍵走査を行い、新たな押鍵の有無を判断する。ここで、キーオンイベントが検出されないと、新たな押鍵が無いとして判断結果が「ＮＯ」となり、後述するステップＳＢ５に処理を進めるが、キーオンイベントを検出すると、新たな押鍵有りとして判断結果が「ＹＥＳ」となり、次のステップＳＢ２に処理を進める。ステップＳＢ２では、押鍵操作された鍵に対応する音高の楽音を発生するよう音源７に発音指示を与える。
【００２３】
次いで、ステップＳＢ３に進むと、上述したスタート／ストップスイッチＳＷ２の操作により自動伴奏モードに設定されているかどうかを判断する。そして、自動伴奏モード下でなければ判断結果は「ＮＯ」となり、後述するステップＳＢ５に処理を進めるが、自動伴奏モード下であると判断結果が「ＹＥＳ」となり、次のステップＳＢ４に処理を進め、後述するフルレンジコード判定処理ルーチンを実行し、鍵盤２において押鍵される各鍵に対応した押鍵音に基づきコード判定する。
そして、ステップＳＢ５では、再びキーイベントを検出する鍵走査を行い、新たな離鍵の有無を判断する。ここで、キーオフイベントが検出されないと、新たな離鍵が無いとして判断結果は「ＮＯ」となり、本ルーチンを完了させるが、キーオフイベントを検出すると、新たな離鍵有りとして判断結果が「ＹＥＳ」となり、次のステップＳＢ６に処理を進め、離鍵操作された鍵に対応する音高の楽音を消音するよう音源７に指示した後、本ルーチンを完了させる。
【００２４】
▲３▼フルレンジコード判定処理ルーチンの動作
上述したステップＳＢ４を介してフルレンジコード判定処理ルーチンが実行されると、ＣＰＵ３は図６に示すステップＳＣ１に処理を進め、鍵盤２の全鍵域において押鍵された各鍵にそれぞれ対応した全押鍵音の内から最低音を抽出する。次いで、ステップＳＣ２では、この抽出した最低音から長９度の音程、つまり、最低音から半音数で＋１４半音の範囲以内に存在する押鍵音数をカウントする。そして、ステップＳＣ３では、全押鍵音中の最低音から＋１４半音の間に３つ以上の押鍵音が存在するか否か、つまり、コード構成音がある程度低音域側に集まっているかどうかを判断する。
ここで、３つ以上の押鍵音が存在しないと、コード構成音が低音域側に集まっていないオープンコードである可能性があると見做して判断結果が「ＮＯ」となり、ステップＳＣ６に処理を進めて全押鍵音をコード判定対象にしてコード判定するコード判定処理を実行する。
【００２５】
一方、全押鍵音中の最低音から＋１４半音の間に３つ以上の押鍵音が存在すると、仮にオープンコードであったとしても、そのコード構成音のほとんどは低音域側に集まっているので、残りのコード構成音があるとすればそれらの近くに存在する可能性が高く、それらより非常に離れた位置に存在する押鍵音はメロディ音である可能性が高いので、メロディ音をコード判定対象から除外する処理に進むために、判断結果は「ＹＥＳ」となり、ステップＳＣ４，ＳＣ５においてそのメロディ音をコード判定対象から除外する。
すなわち、ステップＳＣ４では、全押鍵音中の最低音から＋１４半音の間に存在する押鍵音の内の最高音を抽出し、続くステップＳＣ５ではこの抽出した最高音から＋１２半音以上（１オクターブ以上）の押鍵音をメロディ音と見做してコード判定対象から除外した後、ステップＳＣ６に処理を進めてコード判定処理を実行する。
【００２６】
ステップＳＣ６を介してコード判定処理が実行されると、ＣＰＵ３は図７のステップＳＤ１に処理を進め、コード判定対象にされた押鍵音を音名に変換し、その音名の内のいずれかの（例えば最も低い）音名をルート（根音）、残りの各音名についてルートとの音程（半音数）を求め、求めたルートおよび各音程（半音数）を読み出しアドレスとして、前述したコード種判定テーブルＴＢＬ（図３参照）から対応するコードタイプ（和音種類）を読み出してコード判定する。
次いで、ステップＳＤ２では、コードが成立したか否か、つまり、上記テーブルＴＢＬから対応するコードタイプを読み出せたかどうかを判断する。そして、コード成立しなければ、判断結果は「ＮＯ」となり、コード判定処理ルーチンを完了させるが、コード成立した時には判断結果が「ＹＥＳ」となり、次のステップＳＤ３に処理を進め、ルートおよびコードタイプを表す判定コードデータをレジスタＣｈｏｒｄにストアして本ルーチンを完了させる。
【００２７】
このように、フルレンジコード判定処理ルーチンでは、鍵盤２の全鍵域での押鍵音の内、最低音から長９度内に３つ以上の押鍵音が存在する時には、それら押鍵音の内の最高音から完全８度以上（１オクターブ以上）の押鍵音をコード判定対象から除外し、残りの押鍵音からコード判定するようにしたので、例えば、通常のコードとして左手で「Ｃ2音（ド）」、「Ｅ2音（ミ）」および「Ｇ2音（ソ）」を、メロディとして右手で「Ｂ3音（シ）」をそれぞれ押鍵した場合は、「Ｂ3音（シ）」を除外した残りの押鍵音から「ＣMaj」コードと判定し得る。
また、このときにレガート奏法にてメロディを「Ｂ3音（シ）」→「Ｃ3音（ド）」→「Ｄ3音（ミ）」という順に押鍵した場合でも、「Ｂ3音（シ）」、「Ｃ3音（ド）」および「Ｄ3音（ミ）」はコード判定対象から除外され、コード判定に影響を与えることがない。
また、例えば、オクターブ以上の広がりを持つオープンコードとして、左手で「Ｃ2音（ド）」および「フラットＢ2音（シ）」を、右手で「Ｇ3音（ソ）」および「Ｅ4音（ミ）」をそれぞれ押鍵した場合は、これら押鍵音全てがコード判定対象となってコード判定される為、「Ｃ7」のオープンコードと判定し得る。
【００２８】
▲４▼自動伴奏処理ルーチンの動作
次に、図８を参照して自動伴奏処理ルーチンの動作について説明する。前述したステップＳＡ３を介して図８に示す自動伴奏処理ルーチンが実行されると、ＣＰＵ３はステップＳＥ１に処理を進め、スタート／ストップスイッチＳＷ２の操作に応じて、自動伴奏を開始する自動伴奏モード下に設定されているかどうかを判断する。そして、自動伴奏モード下でなければ判断結果は「ＮＯ」となり、ステップＳＥ２に進み、全ての自動伴奏音（コード音）の消音を音源７に指示した後、本ルーチンを完了させる。
【００２９】
一方、自動伴奏モード下にあれば、ステップＳＥ１の判断結果は「ＹＥＳ」となり、ステップＳＥ３に処理を進める。ステップＳＥ３では、読み出しアドレスＡＤに応じてＲＯＭ４のリズムパターンＲＰから読み出されるタイミングデータが、テンポクロックＴＭＰを累算したタイマ値以上である否か、すなわち、イベントタイミングであるかどうかを判断する。
ここで、イベントタイミングでなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させるが、イベントタイミング下にあると、判断結果が「ＹＥＳ」となり、ステップＳＥ４に処理を進める。ステップＳＥ４では、読み出しアドレスＡＤに応じて読み出されるタイミングデータが、発音を指示するＯＮタイミングデータであるか否かを判断する。
【００３０】
読み出しアドレスＡＤに応じて読み出されるタイミングデータが、発音を指示するＯＮタイミングデータであると、判断結果は「ＹＥＳ」となり、次のステップＳＥ５に処理を進め、レジスタＣｈｏｒｄにストアされたルートおよびコードタイプから形成される伴奏音の発音を音源７に指示する。
例えば、上述したように、左手で「Ｃ2音（ド）」および「フラットＢ2音（シ）」を、右手で「Ｇ3音（ソ）」および「Ｅ4音（ミ）」をそれぞれ押鍵するオープンコードが演奏された時には音源７はＣＰＵ３の発音指示に従い「Ｃ7」の伴奏音を発音する。
一方、読み出しアドレスＡＤに応じて読み出されるタイミングデータが、消音を指示するＯＦＦタイミングデータの場合には、上記ステップＳＥ４の判断結果が「ＮＯ」となり、ステップＳＥ６に処理を進め、レジスタＣｈｏｒｄにストアされたルートおよびコードタイプから形成される伴奏音の消音を音源７に指示する。上記一例に対応すると、音源７はＣＰＵ３の消音指示に従い「Ｃ7」の伴奏音を消音する。
【００３１】
こうして、コード伴奏がなされると、ＣＰＵ３はステップＳＥ７に処理を進め、読み出しアドレスＡＤを歩進し、続くステップＳＥ８では歩進された読み出しアドレスＡＤが曲終端を表す終了データＥＮＤに達したかどうかを判断する。そして、曲終端に達していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させるが、曲終端に達した時には判断結果が「ＹＥＳ」となり、ステップＳＥ９に処理を進める。ステップＳＥ９では、引続きコード伴奏を継続させるべく、読み出しアドレスＡＤを選択中のリズムパターンＲＰの先頭アドレスにリセットして本ルーチンを完了させる。
【００３２】
以上のように、本発明では、鍵盤２の全鍵域での全押鍵音の内から最低音を抽出し、抽出した最低音から長９度（＋１４半音）以内に３つ以上の押鍵音が存在するか否かを判別し、３つ以上の押鍵音が存在しない場合にはコード演奏だけによる押鍵音（コード音）の可能性が高いと見做して、その全押鍵音をコード判定対象にしてルートおよびコードタイプを判定し、一方、全押鍵音中の最低音から長９度（＋１４半音）以内に３つ以上の押鍵音が存在する場合にはメロデイ演奏による押鍵音（メロディ音）が含まれる可能性があるとして、全押鍵音中の最低音から長９度（＋１４半音）以内に存在する押鍵音の内の最高音から完全８度以上（１オクターブ以上）の押鍵音をコード判定対象から除外し、残りの押鍵音に基づいてコード判定するので、オクターブ以上の広がりを持つオープンポジションによるコードを演奏する、所謂オープンコード奏法がなされた場合でも的確にコード判定することができ、また例えば、比較的密接したオープンコードとして、左手で「ド」、「ラ」、「レ」の３音を、右手でその３度上の「ファ」の１音を弾く場合でも「Ｄm7」として認識することもできる。
さらに、前述した第１のコード判定方式のように、全押鍵音の内の最高音と２番目に高い押鍵音との音程が所定値以上ある場合にメロディ音をコード判定対象から除外するものではないので、レガート奏法にてメロディ演奏してもコード判定に影響を与えることがない。
【００３３】
なお、上述した実施例では、全押鍵音の内の最低音から長９度（＋１４半音）以内に存在する押鍵数をカウントしているが、これに替えて、全押鍵音の内の最低音から長９度（＋１４半音）以内に存在する音名数をカウントする態様としても良く、そのようにするとより正確なコード判定を期待することができる。
また、本実施例では、鍵盤２の押鍵操作に基づきコード判定する一例について述べたが、本発明の要旨はこれに限定されず、運指操作で音高指定するギター型の音高指定操作子を用いてコード演奏するものにも勿論適用可能である。
さらに、本実施例では、全押鍵音中の最低音から長９度（＋１４半音）以内に３つ以上の押鍵音が存在するか否かを判別するようにしたが、この長９度（＋１４半音）以内という音程は固定的なものではなく、少なくとも完全８度以上（１オクターブ以上）の任意の音程として可変設定する態様としても構わない。
【００３４】
【発明の効果】
請求項１，４，７に記載の発明によれば、複数の押鍵音中の最低音から第１の音程範囲以内に、所定個数以上の押鍵音が存在するか否かを判別し、所定個数以上の押鍵音が存在すると判別された場合には、前記最低音から第１の音程範囲以内に存在する押鍵音中の最高音から第２の音程範囲以上の押鍵音をコード判定対象から除外し、残りの押鍵音からコードを判定するので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができる。
請求項２，５，８に記載の発明によれば、複数の押鍵音中の最低音から第１の音程範囲以内に、所定個数以上の押鍵音が存在するか否かを判別し、所定個数以上の押鍵音が存在しないと判別された場合には前記複数の押鍵音からコードを判定し、一方、所定個数以上の押鍵音が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する押鍵音中の最高音から第２の音程範囲以上の押鍵音を前記複数の押鍵音から除外し、残りの押鍵音からコードを判定するので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができる。
請求項３，６，９に記載の発明によれば、複数の押鍵音中の最低音から第１の音程範囲以内に、所定個数以上の音名が存在するか否かを判別し、所定個数以上の音名が存在すると判別された場合には前記最低音から第１の音程範囲以内に存在する押鍵音中の最高音から第２の音程範囲以上の押鍵音をコード判定対象から除外し、残りの押鍵音からコードを判定するので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができる。
【図面の簡単な説明】
【図１】本発明による実施例の全体構成を示すブロック図である。
【図２】リズムパターンＲＰのデータ構成を示す図である。
【図３】コード種判定テーブルＴＢＬの構成を示す図である。
【図４】メインルーチンの動作を示すフローチャートである。
【図５】鍵盤処理ルーチンの動作を示すフローチャートである。
【図６】フルレンジコード判定処理ルーチンの動作を示すフローチャートである。
【図７】コード判定処理ルーチンの動作を示すフローチャートである。
【図８】自動伴奏処理ルーチンの動作を示すフローチャートである。
【符号の説明】
１  操作パネル
１ａ  スイッチ部
１ｂ  表示部
２  鍵盤
３  ＣＰＵ（判別手段、除外手段、コード判定手段）
４  ＲＯＭ（コード判定手段）
５  ＲＡＭ
６  テンポクロック発生回路
７  音源
８  サウンドシテム
【図１】
0003743993.tif 000002
【図２】
0003743993.tif 000003
【図３】
0003743993.tif 000004
【図４】
0003743993.tif 000005
【図５】
0003743993.tif 000006
【図６】
0003743993.tif 000007
【図７】
0003743993.tif 000008
【図８】
0003743993.tif 000009