JP3743993B2 - コード判定装置、コード判定方法およびコード判定方法を記録した媒体 - Google Patents
コード判定装置、コード判定方法およびコード判定方法を記録した媒体 Download PDFInfo
- Publication number
- JP3743993B2 JP3743993B2 JP22812999A JP22812999A JP3743993B2 JP 3743993 B2 JP3743993 B2 JP 3743993B2 JP 22812999 A JP22812999 A JP 22812999A JP 22812999 A JP22812999 A JP 22812999A JP 3743993 B2 JP3743993 B2 JP 3743993B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- chord
- pitch information
- information
- range
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、例えば自動伴奏装置等に用いて好適なコード判定装置、コード判定方法およびコード判定方法を記録した媒体に関する。
【0002】
【従来の技術】
従来より、押鍵されたコード(和音)と指定されたリズム種類とに応じて、予め記憶しておいた伴奏パターンに従って自動的にコード音やベース音を発生する自動伴奏装置が知られている。このような自動伴奏装置には、演奏者が押鍵したコード(和音)のルート(根音)およびコードタイプ(和音種類)を判定するコード判定装置が搭載されている。
コード判定装置では、様々な方式に基づいてコード判定するようになっており、その方式としては、例えば鍵盤中の所定鍵より低音側を伴奏鍵域に鍵域分割し、この伴奏鍵域における各鍵をコード指定スイッチと見做してコード判定するシングルフィンガードコード方式や、伴奏鍵域での押鍵音(音高情報)をコード構成音と見做してコード判定するフィンガードコード方式、あるいは全鍵域での押鍵音をコード構成音と見做してコード判定するフルレンジコード方式が知られている。
【0003】
フルレンジコード方式では、単に全鍵域での押鍵音をコード構成音と見做してコード判定する為、例えば演奏者が左手でコード演奏しつつ右手でそのコード構成音以外のメロディ音を演奏した場合に、コード構成音以外のメロディ音も含めてコード判定してしまう結果、演奏者の意図しないコードを判定するという弊害が生じる。
そこで、このような弊害を解消すべく、従来では、押鍵音の内、最高音と2番目に高い押鍵音との音程が所定値以上ある場合に、メロディ音(最高音)をコード判定対象から除外する方式(これを第1のコード判定方式と称す)や、押鍵音の内、最低音から1オクターブの範囲もしくは最高音から1オクターブの範囲にある押鍵音をコード構成音と見做してコード判定する方式(第2のコード判定方式と称す)が知られている。なお、この第2のコード判定方式の詳細については特許第2569822号公報に開示されている。
【0004】
【発明が解決しようとする課題】
ところで、上述した第1のコード判定方式では、レガート奏法にてメロディ音を弾くと、そのメロディ音の押鍵状態が時間的に重なる為に音程を判別し得ず、これ故、メロディ音も含めてコード判定してしまう結果、演奏者の意図しないコードを判定する弊害や、オクターブ以上の広がりを持つオープンポジションによるコードを演奏する、所謂オープンコード奏法がなされると、コード判定することが出来ないという欠点がある。
また、上述した第2のコード判定方式にあっても、押鍵音の内の最低音から1オクターブの範囲もしくは最高音から1オクターブの範囲でのみコード判定対象にする為、その範囲を超えるようなオープンコード奏法には対処することができないという欠点がある。
そこで本発明はこのような事情に鑑みてなされたもので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができるコード判定装置、コード判定方法およびコード判定方法を記録した媒体を提供することを目的としている。
【0005】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の残りの音高情報からコードを判定するコード判定手段とを具備することを特徴とする。
【0006】
請求項2に記載の発明では、複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第1のコード判定手段と、前記判別手段にて所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第2のコード判定手段とを具備することを特徴とするコード判定装置。
【0007】
請求項3に記載の発明では、複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音名が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の全ての音高情報からコードを判定するコード判定手段とを具備することを特徴としている。
【0008】
請求項4に記載の発明では、複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の残りの音高情報からコードを判定するコード判定処理とを具備することを特徴とする。
【0009】
請求項5に記載の発明では、複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第1のコード判定処理と、前記判別処理によって所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第2のコード判定処理とを具備することを特徴としている。
【0010】
請求項6に記載の発明では、複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音名が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の全ての音高情報からコードを判定するコード判定処理とを具備することを特徴とする。
【0011】
請求項7に記載の発明では、複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【0012】
請求項8に記載の発明では、複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在しないと判別された場合には前記複数の音高情報からコードを判定し、一方、所定個数以上の音高情報が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【0013】
請求項9に記載の発明では、複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別し、所定個数以上の音名が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外して残りの音高情報からコード判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
【0014】
本発明では、複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在しないと判別された場合には前記複数の音高情報からコードを判定し、一方、所定個数以上の音高情報が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定するので、レガート奏法にてメロディ演奏してもコード判定に影響を与えることがなく、しかもオクターブ以上の広がりを持つオープンポジションによるコードを演奏する、所謂オープンコード奏法がなされた場合でも的確にコード判定することが可能になる。
【0015】
【発明の実施の形態】
本発明によるコード判定装置は、周知の電子楽器のみならず、パーソナルコンピュータを用いたDTM装置および自動伴奏装置に適用され得る。以下では、本発明の実施の一形態による自動伴奏装置を実施例とし、これについて図面を参照して説明する。
(1)全体構成
図1は、本発明による実施例の全体構成を示すブロック図である。この図において、1は操作パネルであり、図示されていないコンソールパネル上に配設されるスイッチ部1aおよび表示部1bから構成される。スイッチ部1aは、図示されていないが、電源スイッチSW1や自動伴奏の開始/停止を指示するスタート/ストップスイッチSW2あるいは自動伴奏時のリズム種類を選択するパターン選択スイッチSW3等の各種スイッチから構成され、それぞれスイッチ操作に対応したイベントを発生する。このイベントは後述するCPU3のキースキャンにより取込まれる。
【0016】
表示部1bは、LCDパネル(図示略)と、CPU3から供給される表示制御信号に応じてLCDパネルを表示制御する表示ドライバ(図示略)とから構成され、上記スイッチ部1aにおけるスイッチ操作に応じた設定状態や動作状態などを表示する。2は押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号およびキーナンバ(鍵番号)等からなる演奏情報を発生する鍵盤である。
CPU3はROM4にストアされる各種制御プログラムを実行し、キースキャンにより取込んだ各スイッチ操作(スイッチイベント)に応じて装置各部を制御するものであり、特に、スタート/ストップスイッチSW2のスイッチ操作に応じて自動伴奏が開始する自動伴奏モード下では鍵盤2の押鍵操作に対応する押鍵音(音高情報)からコード判定を施し、判定されたコード構成音をリズムパターンに従ってコード伴奏するよう音源7を制御する。なお、本発明の要旨にかかわる自動伴奏モード下におけるCPU3の処理動作については追って詳述する。
【0017】
ROM4は、CPU3にロードされる各種制御プログラムを記憶するプログラムエリア他、上述したリズムパターン選択スイッチSW3の操作に応じて選択されるリズムパターンや後述するコード種判定テーブルTBLを記憶するデータエリアを備える。
なお、ROM4に記憶される各種制御プログラム・データは、磁気記録媒体や光磁気記録媒体に格納しておき、これをその媒体に対応した外部記憶装置(図示略)によって読み出す構成としても良く、さらに本装置に対して着脱自在なEPROMやフラッシュメモリ等の書き換え可能な不揮発性固体メモリを記録媒体として用いる態様としても良い。
【0018】
ここで、ROM4のデータエリアに記憶されるリズムパターンRPおよびコード種判定テーブルTBLの構成について図2および図3を参照して説明する。先ず、リズムパターンRPは図2に図示するように、各リズム種類別にプリセットされるものであり、曲頭から進行順(アドレス順)に発音/消音を指示するON/OFFタイミングデータが絶対時間方式にて格納され、その曲終端にはデリミタとなる終了データENDを設けたデータ構成となっている。
コード種判定テーブルTBLは、図3に示すように、音名に変換されたコード判定対象音の内のいずれかの(例えば最も低い)音名をルート(根音)、残りの各音名についてルートとの音程(半音数)を求めた場合に、そのルートおよび各音程(半音数)を読み出しアドレスとして対応するコードタイプ(和音種類)を読み出すテーブルデータである。
こうしたコード種判定テーブルTBLにおいて、例えばコード判定対象音が「0(ルート)」,「4」および「7」であると、これに対応するコードタイプとして「Maj(メジャー)」が判定されるようになっている。
【0019】
次に、再び図1を参照して実施例の構成について説明を進める。図1において、5はCPU3のワークエリアとして用いられるRAMであり、各種レジスタ/フラグデータを一時記憶する。6はCPU3の制御の下に、自動伴奏時の再生テンポTEMPを指定するテンポクロックTMPを発生するテンポクロック発生回路である。音源7は周知の波形メモリ読み出し方式で構成され、CPU3の制御の下に、再生テンポTEMPに同期してROM4から順次読み出されるリズムパターンRPに従ったリズムでコード伴奏音を生成する一方、押離鍵操作に応じて発生する演奏情報に対応した楽音を形成する。
8は音源7の出力をD/A変換した後に増幅し、必要に応じてノイズ除去等を目的としたフィルタリングを施してからスピーカSPより楽音として発音させるサウンドシステムである。
【0020】
(2)動作
次に、図4〜図8を参照して上記構成による実施例の動作について説明する。以下では、本発明の要旨にかかわる特徴的な動作である、フルレンジコード判定処理を主眼にして動作説明を進める。
▲1▼メインルーチンの動作(全体動作)
本実施例による自動伴奏装置に電源が投入されると、CPU3はROM4から所定の制御プログラムをロードして図4に示すメインルーチンを実行し、ステップSA1に処理を進め、RAM5に格納される各種レジスタ/フラグ類をリセットしたり初期値セットするイニシャライズ処理を実行する。次いで、ステップSA2では、押離鍵操作に応じた発音/消音指示を発生する一方、上述したスタート/ストップスイッチSW2の操作により自動伴奏モード下に設定された場合には押鍵操作された鍵に基づきコード判定する鍵盤処理ルーチンを実行する。
【0021】
次いで、ステップSA3では、自動伴奏モード下に設定されている場合、再生テンポTEMPに同期してROM4から順次読み出されるリズムパターンRPに従ったリズムでコード音を生成する自動伴奏処理ルーチンを実行する。この後、ステップSA4に進み、コンソールパネル上に配設される各種スイッチ操作に応じたスイッチ処理、例えば、上述したスタート/ストップスイッチSW2の操作に応じて自動伴奏を開始させたり停止させる処理や、リズムパターン選択スイッチSW3の操作に応じてリズム種類を選択する処理などの、その他の処理を実行する。そして以後、電源がオフ状態に設定される迄、ステップSA2〜SA4を繰り返す。
【0022】
▲2▼鍵盤処理ルーチンの動作
次に、図5を参照して鍵盤処理ルーチンの動作について説明する。上述したステップSA2を介して図5に示す鍵盤処理ルーチンが実行されると、CPU3はステップSB1に処理を進め、キーイベントを検出する鍵走査を行い、新たな押鍵の有無を判断する。ここで、キーオンイベントが検出されないと、新たな押鍵が無いとして判断結果が「NO」となり、後述するステップSB5に処理を進めるが、キーオンイベントを検出すると、新たな押鍵有りとして判断結果が「YES」となり、次のステップSB2に処理を進める。ステップSB2では、押鍵操作された鍵に対応する音高の楽音を発生するよう音源7に発音指示を与える。
【0023】
次いで、ステップSB3に進むと、上述したスタート/ストップスイッチSW2の操作により自動伴奏モードに設定されているかどうかを判断する。そして、自動伴奏モード下でなければ判断結果は「NO」となり、後述するステップSB5に処理を進めるが、自動伴奏モード下であると判断結果が「YES」となり、次のステップSB4に処理を進め、後述するフルレンジコード判定処理ルーチンを実行し、鍵盤2において押鍵される各鍵に対応した押鍵音に基づきコード判定する。
そして、ステップSB5では、再びキーイベントを検出する鍵走査を行い、新たな離鍵の有無を判断する。ここで、キーオフイベントが検出されないと、新たな離鍵が無いとして判断結果は「NO」となり、本ルーチンを完了させるが、キーオフイベントを検出すると、新たな離鍵有りとして判断結果が「YES」となり、次のステップSB6に処理を進め、離鍵操作された鍵に対応する音高の楽音を消音するよう音源7に指示した後、本ルーチンを完了させる。
【0024】
▲3▼フルレンジコード判定処理ルーチンの動作
上述したステップSB4を介してフルレンジコード判定処理ルーチンが実行されると、CPU3は図6に示すステップSC1に処理を進め、鍵盤2の全鍵域において押鍵された各鍵にそれぞれ対応した全押鍵音の内から最低音を抽出する。次いで、ステップSC2では、この抽出した最低音から長9度の音程、つまり、最低音から半音数で+14半音の範囲以内に存在する押鍵音数をカウントする。そして、ステップSC3では、全押鍵音中の最低音から+14半音の間に3つ以上の押鍵音が存在するか否か、つまり、コード構成音がある程度低音域側に集まっているかどうかを判断する。
ここで、3つ以上の押鍵音が存在しないと、コード構成音が低音域側に集まっていないオープンコードである可能性があると見做して判断結果が「NO」となり、ステップSC6に処理を進めて全押鍵音をコード判定対象にしてコード判定するコード判定処理を実行する。
【0025】
一方、全押鍵音中の最低音から+14半音の間に3つ以上の押鍵音が存在すると、仮にオープンコードであったとしても、そのコード構成音のほとんどは低音域側に集まっているので、残りのコード構成音があるとすればそれらの近くに存在する可能性が高く、それらより非常に離れた位置に存在する押鍵音はメロディ音である可能性が高いので、メロディ音をコード判定対象から除外する処理に進むために、判断結果は「YES」となり、ステップSC4,SC5においてそのメロディ音をコード判定対象から除外する。
すなわち、ステップSC4では、全押鍵音中の最低音から+14半音の間に存在する押鍵音の内の最高音を抽出し、続くステップSC5ではこの抽出した最高音から+12半音以上(1オクターブ以上)の押鍵音をメロディ音と見做してコード判定対象から除外した後、ステップSC6に処理を進めてコード判定処理を実行する。
【0026】
ステップSC6を介してコード判定処理が実行されると、CPU3は図7のステップSD1に処理を進め、コード判定対象にされた押鍵音を音名に変換し、その音名の内のいずれかの(例えば最も低い)音名をルート(根音)、残りの各音名についてルートとの音程(半音数)を求め、求めたルートおよび各音程(半音数)を読み出しアドレスとして、前述したコード種判定テーブルTBL(図3参照)から対応するコードタイプ(和音種類)を読み出してコード判定する。
次いで、ステップSD2では、コードが成立したか否か、つまり、上記テーブルTBLから対応するコードタイプを読み出せたかどうかを判断する。そして、コード成立しなければ、判断結果は「NO」となり、コード判定処理ルーチンを完了させるが、コード成立した時には判断結果が「YES」となり、次のステップSD3に処理を進め、ルートおよびコードタイプを表す判定コードデータをレジスタChordにストアして本ルーチンを完了させる。
【0027】
このように、フルレンジコード判定処理ルーチンでは、鍵盤2の全鍵域での押鍵音の内、最低音から長9度内に3つ以上の押鍵音が存在する時には、それら押鍵音の内の最高音から完全8度以上(1オクターブ以上)の押鍵音をコード判定対象から除外し、残りの押鍵音からコード判定するようにしたので、例えば、通常のコードとして左手で「C2音(ド)」、「E2音(ミ)」および「G2音(ソ)」を、メロディとして右手で「B3音(シ)」をそれぞれ押鍵した場合は、「B3音(シ)」を除外した残りの押鍵音から「CMaj」コードと判定し得る。
また、このときにレガート奏法にてメロディを「B3音(シ)」→「C3音(ド)」→「D3音(ミ)」という順に押鍵した場合でも、「B3音(シ)」、「C3音(ド)」および「D3音(ミ)」はコード判定対象から除外され、コード判定に影響を与えることがない。
また、例えば、オクターブ以上の広がりを持つオープンコードとして、左手で「C2音(ド)」および「フラットB2音(シ)」を、右手で「G3音(ソ)」および「E4音(ミ)」をそれぞれ押鍵した場合は、これら押鍵音全てがコード判定対象となってコード判定される為、「C7」のオープンコードと判定し得る。
【0028】
▲4▼自動伴奏処理ルーチンの動作
次に、図8を参照して自動伴奏処理ルーチンの動作について説明する。前述したステップSA3を介して図8に示す自動伴奏処理ルーチンが実行されると、CPU3はステップSE1に処理を進め、スタート/ストップスイッチSW2の操作に応じて、自動伴奏を開始する自動伴奏モード下に設定されているかどうかを判断する。そして、自動伴奏モード下でなければ判断結果は「NO」となり、ステップSE2に進み、全ての自動伴奏音(コード音)の消音を音源7に指示した後、本ルーチンを完了させる。
【0029】
一方、自動伴奏モード下にあれば、ステップSE1の判断結果は「YES」となり、ステップSE3に処理を進める。ステップSE3では、読み出しアドレスADに応じてROM4のリズムパターンRPから読み出されるタイミングデータが、テンポクロックTMPを累算したタイマ値以上である否か、すなわち、イベントタイミングであるかどうかを判断する。
ここで、イベントタイミングでなければ、判断結果は「NO」となり、一旦、本ルーチンを完了させるが、イベントタイミング下にあると、判断結果が「YES」となり、ステップSE4に処理を進める。ステップSE4では、読み出しアドレスADに応じて読み出されるタイミングデータが、発音を指示するONタイミングデータであるか否かを判断する。
【0030】
読み出しアドレスADに応じて読み出されるタイミングデータが、発音を指示するONタイミングデータであると、判断結果は「YES」となり、次のステップSE5に処理を進め、レジスタChordにストアされたルートおよびコードタイプから形成される伴奏音の発音を音源7に指示する。
例えば、上述したように、左手で「C2音(ド)」および「フラットB2音(シ)」を、右手で「G3音(ソ)」および「E4音(ミ)」をそれぞれ押鍵するオープンコードが演奏された時には音源7はCPU3の発音指示に従い「C7」の伴奏音を発音する。
一方、読み出しアドレスADに応じて読み出されるタイミングデータが、消音を指示するOFFタイミングデータの場合には、上記ステップSE4の判断結果が「NO」となり、ステップSE6に処理を進め、レジスタChordにストアされたルートおよびコードタイプから形成される伴奏音の消音を音源7に指示する。上記一例に対応すると、音源7はCPU3の消音指示に従い「C7」の伴奏音を消音する。
【0031】
こうして、コード伴奏がなされると、CPU3はステップSE7に処理を進め、読み出しアドレスADを歩進し、続くステップSE8では歩進された読み出しアドレスADが曲終端を表す終了データENDに達したかどうかを判断する。そして、曲終端に達していなければ、判断結果は「NO」となり、一旦、本ルーチンを完了させるが、曲終端に達した時には判断結果が「YES」となり、ステップSE9に処理を進める。ステップSE9では、引続きコード伴奏を継続させるべく、読み出しアドレスADを選択中のリズムパターンRPの先頭アドレスにリセットして本ルーチンを完了させる。
【0032】
以上のように、本発明では、鍵盤2の全鍵域での全押鍵音の内から最低音を抽出し、抽出した最低音から長9度(+14半音)以内に3つ以上の押鍵音が存在するか否かを判別し、3つ以上の押鍵音が存在しない場合にはコード演奏だけによる押鍵音(コード音)の可能性が高いと見做して、その全押鍵音をコード判定対象にしてルートおよびコードタイプを判定し、一方、全押鍵音中の最低音から長9度(+14半音)以内に3つ以上の押鍵音が存在する場合にはメロデイ演奏による押鍵音(メロディ音)が含まれる可能性があるとして、全押鍵音中の最低音から長9度(+14半音)以内に存在する押鍵音の内の最高音から完全8度以上(1オクターブ以上)の押鍵音をコード判定対象から除外し、残りの押鍵音に基づいてコード判定するので、オクターブ以上の広がりを持つオープンポジションによるコードを演奏する、所謂オープンコード奏法がなされた場合でも的確にコード判定することができ、また例えば、比較的密接したオープンコードとして、左手で「ド」、「ラ」、「レ」の3音を、右手でその3度上の「ファ」の1音を弾く場合でも「Dm7」として認識することもできる。
さらに、前述した第1のコード判定方式のように、全押鍵音の内の最高音と2番目に高い押鍵音との音程が所定値以上ある場合にメロディ音をコード判定対象から除外するものではないので、レガート奏法にてメロディ演奏してもコード判定に影響を与えることがない。
【0033】
なお、上述した実施例では、全押鍵音の内の最低音から長9度(+14半音)以内に存在する押鍵数をカウントしているが、これに替えて、全押鍵音の内の最低音から長9度(+14半音)以内に存在する音名数をカウントする態様としても良く、そのようにするとより正確なコード判定を期待することができる。
また、本実施例では、鍵盤2の押鍵操作に基づきコード判定する一例について述べたが、本発明の要旨はこれに限定されず、運指操作で音高指定するギター型の音高指定操作子を用いてコード演奏するものにも勿論適用可能である。
さらに、本実施例では、全押鍵音中の最低音から長9度(+14半音)以内に3つ以上の押鍵音が存在するか否かを判別するようにしたが、この長9度(+14半音)以内という音程は固定的なものではなく、少なくとも完全8度以上(1オクターブ以上)の任意の音程として可変設定する態様としても構わない。
【0034】
【発明の効果】
請求項1,4,7に記載の発明によれば、複数の押鍵音中の最低音から第1の音程範囲以内に、所定個数以上の押鍵音が存在するか否かを判別し、所定個数以上の押鍵音が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する押鍵音中の最高音から第2の音程範囲以上の押鍵音をコード判定対象から除外し、残りの押鍵音からコードを判定するので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができる。
請求項2,5,8に記載の発明によれば、複数の押鍵音中の最低音から第1の音程範囲以内に、所定個数以上の押鍵音が存在するか否かを判別し、所定個数以上の押鍵音が存在しないと判別された場合には前記複数の押鍵音からコードを判定し、一方、所定個数以上の押鍵音が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する押鍵音中の最高音から第2の音程範囲以上の押鍵音を前記複数の押鍵音から除外し、残りの押鍵音からコードを判定するので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができる。
請求項3,6,9に記載の発明によれば、複数の押鍵音中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別し、所定個数以上の音名が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する押鍵音中の最高音から第2の音程範囲以上の押鍵音をコード判定対象から除外し、残りの押鍵音からコードを判定するので、レガート奏法にてメロディ演奏される場合や、オープンコード奏法でも的確にコード判定することができる。
【図面の簡単な説明】
【図1】本発明による実施例の全体構成を示すブロック図である。
【図2】リズムパターンRPのデータ構成を示す図である。
【図3】コード種判定テーブルTBLの構成を示す図である。
【図4】メインルーチンの動作を示すフローチャートである。
【図5】鍵盤処理ルーチンの動作を示すフローチャートである。
【図6】フルレンジコード判定処理ルーチンの動作を示すフローチャートである。
【図7】コード判定処理ルーチンの動作を示すフローチャートである。
【図8】自動伴奏処理ルーチンの動作を示すフローチャートである。
【符号の説明】
1 操作パネル
1a スイッチ部
1b 表示部
2 鍵盤
3 CPU(判別手段、除外手段、コード判定手段)
4 ROM(コード判定手段)
5 RAM
6 テンポクロック発生回路
7 音源
8 サウンドシテム
Claims (9)
- 複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の残りの音高情報からコードを判定するコード判定手段とを具備することを特徴とするコード判定装置。
- 複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第1のコード判定手段と、前記判別手段にて所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第2のコード判定手段とを具備することを特徴とするコード判定装置。
- 複数の音高情報からコードを判定する装置において、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別手段と、この判別手段にて所定個数以上の音名が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外手段と、前記複数の音高情報の内、前記除外手段が除外した音高情報以外の全ての音高情報からコードを判定するコード判定手段とを具備することを特徴とするコード判定装置。
- 複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理にて所定個数以上の音高情報が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の残りの音高情報からコードを判定するコード判定処理とを具備することを特徴とするコード判定方法。
- 複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音高情報が存在しないと判別された場合には、前記複数の音高情報からコードを判定する第1のコード判定処理と、前記判別処理によって所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定する第2のコード判定処理とを具備することを特徴とするコード判定方法。
- 複数の音高情報からコードを判定する方法であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別する判別処理と、この判別処理によって所定個数以上の音名が存在すると判別された場合、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報をコード判定対象から除外する除外処理と、前記複数の音高情報の内、前記除外処理により除外された音高情報以外の全ての音高情報からコードを判定するコード判定処理とを具備することを特徴とするコード判定方法。
- 複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在すると判別された場合には、前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
- 複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音高情報が存在するか否かを判別し、所定個数以上の音高情報が存在しないと判別された場合には前記複数の音高情報からコードを判定し、一方、所定個数以上の音高情報が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外し、残りの音高情報からコードを判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
- 複数の音高情報からコードを判定する方法を実行するプログラムを記録した媒体であって、前記複数の音高情報中の最低音から第1の音程範囲以内に、所定個数以上の音名が存在するか否かを判別し、所定個数以上の音名が存在すると判別された場合には前記最低音から第1の音程範囲以内に存在する音高情報中の最高音から第2の音程範囲以上の音高情報を前記複数の音高情報から除外して残りの音高情報からコード判定することを特徴とするコード判定方法を実行するプログラムを記録した媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22812999A JP3743993B2 (ja) | 1999-08-12 | 1999-08-12 | コード判定装置、コード判定方法およびコード判定方法を記録した媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22812999A JP3743993B2 (ja) | 1999-08-12 | 1999-08-12 | コード判定装置、コード判定方法およびコード判定方法を記録した媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001051680A JP2001051680A (ja) | 2001-02-23 |
JP2001051680A5 JP2001051680A5 (ja) | 2005-01-06 |
JP3743993B2 true JP3743993B2 (ja) | 2006-02-08 |
Family
ID=16871680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22812999A Expired - Fee Related JP3743993B2 (ja) | 1999-08-12 | 1999-08-12 | コード判定装置、コード判定方法およびコード判定方法を記録した媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3743993B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6023467B2 (ja) * | 2012-05-21 | 2016-11-09 | 株式会社河合楽器製作所 | 電子鍵盤楽器の自動伴奏装置 |
JP2014134716A (ja) * | 2013-01-11 | 2014-07-24 | Yamaha Corp | 楽音信号発生装置、楽音信号発生プログラム及び楽音信号発生方法 |
JP7404049B2 (ja) * | 2019-12-05 | 2023-12-25 | 東芝インフラシステムズ株式会社 | 蓄電池制御装置、方法及びプログラム |
-
1999
- 1999-08-12 JP JP22812999A patent/JP3743993B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001051680A (ja) | 2001-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2800465B2 (ja) | 電子楽器 | |
JP5293710B2 (ja) | 調判定装置および調判定プログラム | |
JP2756877B2 (ja) | フレーズ演奏装置 | |
JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
JP3743993B2 (ja) | コード判定装置、コード判定方法およびコード判定方法を記録した媒体 | |
JP5909967B2 (ja) | 調判定装置、調判定方法及び調判定プログラム | |
CN113140201A (zh) | 伴奏音生成装置、电子乐器、伴奏音生成方法及伴奏音生成程序 | |
JP6414163B2 (ja) | 自動演奏装置、自動演奏方法、プログラムおよび電子楽器 | |
JP4094441B2 (ja) | 電子楽器 | |
JP2002182642A (ja) | 演奏案内装置および演奏案内方法 | |
JP2640992B2 (ja) | 電子楽器の発音指示装置及び発音指示方法 | |
JP2660462B2 (ja) | 自動演奏装置 | |
JPH0566776A (ja) | 自動伴奏装置 | |
JP3543124B2 (ja) | 自動伴奏装置 | |
JP3667387B2 (ja) | 電子楽器 | |
JP2004240254A (ja) | 電子楽器 | |
JP4214845B2 (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JP3620321B2 (ja) | 自動伴奏装置 | |
JP3476863B2 (ja) | 電子楽器の自動伴奏装置 | |
JP3543159B2 (ja) | 自動伴奏装置 | |
JP2961675B2 (ja) | 電子楽器 | |
JP3005911B2 (ja) | 演奏制御装置 | |
JP2004198574A (ja) | 演奏補助装置および演奏補助用プログラム | |
JPH05307389A (ja) | 電子楽器 | |
JPH0683356A (ja) | 自動伴奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051003 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051014 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3743993 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131202 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |