説明

コード教習装置およびコード教習プログラム

【課題】コードの弾き方を段階的に習得できるコード教習装置を実現する。
【解決手段】ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかをオン操作することで教習レベルが設定される。コードパターン中から拍毎に読み出されるコードネームをコード構成音に変換し、当該コード構成音に各々対応する各鍵のLEDを点灯してコード演奏をガイドし始めると、このガイドに対応したユーザの押鍵操作が、設定された教習レベル下での適正なコード演奏であるかどうかを判断し、適正ならば次に弾くべきコード演奏のガイドし、不適ならば適正なコード演奏が行われるまでガイドを停止させるようにしたので、コードの弾き方を段階的に習得することが可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コード演奏を教習するコード教習装置およびコード教習プログラムに関する。
【背景技術】
【0002】
従来より、発音すべき音高とその発音タイミングとを表す曲データに基づき、鍵盤の各鍵に設けられたLED(発光素子)の内、発音すべき音高の鍵に配設されるLEDを発音タイミングに対応して点灯させて演奏者に弾くべき鍵をガイドする装置が実用化されている。また、こうした装置を自動伴奏のコード演奏教習用に適用したものとして、例えば特許文献1には、和音情報に基づき演奏者に弾くべきコード(和音)をガイドする装置が開示されている。
【0003】
【特許文献1】特公平8−3696号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、自動伴奏におけるコード演奏、すなわちコードの弾き方には、様々な方式が案出されている。例えば鍵盤中の所定鍵より低音側の伴奏鍵域の各鍵をコード指定スイッチと見做して簡便なコード演奏を実現するシングルフィンガード方式の他、伴奏鍵域で押鍵された鍵の音をコード構成音と見做してコード指定するフィンガード方式などが知られている。
【0005】
上記特許文献1に開示の装置において、フィンガード方式でコード演奏をガイドすると、一度に3音や4音のコード構成音を弾くように指示されることになる。そのようなガイド形態では、鍵操作に不慣れな初心者ユーザであると、ガイドされた鍵を押すことだけに傾注してしまう為、コードの弾き方を段階的に習得することが出来ないという問題が生じる。
そこで本発明は、このような事情に鑑みてなされたもので、コードの弾き方を段階的に習得することができるコード教習装置およびコード教習プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載の発明では、教習レベルを設定する設定手段と、曲進行に対応したコードネームから構成されるコードパターンを記憶する記憶手段と、前記記憶手段に記憶されるコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド手段と、前記ガイド手段のガイドに応じて為されるユーザの押鍵操作が、前記設定手段により設定された教習レベル下での適正なコード演奏であるか否かを判定する判定手段と、前記判定手段が適正なコード演奏と判定した場合には、次に弾くべきコードのガイドを前記ガイド手段に指示し、一方、不適なコード演奏と判定した場合には、前記判定手段が適正なコード演奏と判定するまでガイドの停止を前記ガイド手段に指示するガイド制御手段とを具備することを特徴とする。
【0007】
上記請求項1に従属する請求項2に記載の発明では、前記設定手段は、第1〜第6の設定操作子を有し、第1の設定操作子が操作された場合には、ガイドされたコード構成音を全て押鍵した時に適正なコード演奏と判定する第1の教習レベルを設定し、第2の設定操作子が操作された場合には、いずれかの鍵を押鍵しただけで適正なコード演奏と判定する第2の教習レベルを設定し、第3の設定操作子が操作された場合には、ガイドされたコード構成音の内の3度音、5度音および7度音を含む押鍵が行われた時に適正なコード演奏と判定する第3の教習レベルを設定し、第4の設定操作子が操作された場合には、ガイドされたコード構成音の内のルート、3度音および5度音を含む押鍵が行われた時に適正なコード演奏と判定する第4の教習レベルを設定し、第5の設定操作子が操作された場合には、ガイドされたコード構成音の内のルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する第5の教習レベルを設定し、第6の設定操作子が操作された場合には、ガイドされたコード構成音の内のルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する第6の教習レベルを設定することを特徴とする。
【0008】
上記請求項1に従属する請求項3に記載の発明では、前記設定手段は、第1〜第5の設定操作子を有し、第1の設定操作子が操作された場合には、ガイドされたコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第1の教習レベルに設定し、第2の設定操作子が操作された場合には、ガイドされたコード構成音中の3度音、5度音および7度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第2の教習レベルに設定し、第3の設定操作子が操作された場合には、ガイドされたコード構成音中のルート、3度音および5度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第3の教習レベルに設定し、第4の設定操作子が操作された場合には、ガイドされたコード構成音中のルートおよび3度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第4の教習レベルに設定し、第5の設定操作子が操作された場合には、ガイドされたコード構成音中のルートを含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第5の教習レベルに設定することを特徴とする。
【0009】
請求項4に記載の発明では、コード構成音の内、コード演奏の対象にする度数の音を指定する指定手段と、曲進行に対応したコードネームから構成されるコードパターンを記憶する記憶手段と、前記記憶手段に記憶されるコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド手段と、前記ガイド手段のガイドに応じて為されるユーザの押鍵操作が、前記指定手段により指定された度数の音を全て含む適正なコード演奏であるか否かを判定する判定手段と、前記判定手段が適正なコード演奏と判定した場合には、次に弾くべきコードのガイドを前記ガイド手段に指示し、一方、不適なコード演奏と判定した場合には、前記判定手段が適正なコード演奏と判定するまでガイドの停止を前記ガイド手段に指示するガイド制御手段とを具備することを特徴とする。
【0010】
上記請求項4に従属する請求項5に記載の発明では、前記指定手段は、コード構成音の内、コード演奏の対象から除外する度数の音を選択する選択手段を更に具備することを特徴とする。
【0011】
請求項6に記載の発明では、教習レベルを設定する設定処理と、曲進行に対応したコードネームから構成されるコードパターンを記憶しておき、このコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド処理と、前記ガイド処理によるガイドに応じて為されるユーザの押鍵操作が、前記設定処理により設定された教習レベル下での適正なコード演奏であるか否かを判定する判定処理と、前記判定処理により適正なコード演奏と判定された場合には、次に弾くべきコードのガイドを前記ガイド処理に指示し、一方、不適なコード演奏と判定した場合には、前記判定処理が適正なコード演奏と判定するまでガイドの停止を前記ガイド処理に指示するガイド制御処理とをコンピュータで実行させることを特徴とする。
【0012】
上記請求項6に従属する請求項7に記載の発明では、前記設定処理は、第1の設定操作子が操作された場合に、ガイドされたコード構成音を全て押鍵した時に適正なコード演奏と判定する第1の教習レベルを設定し、第2の設定操作子が操作された場合に、いずれかの鍵を押鍵しただけで適正なコード演奏と判定する第2の教習レベルを設定し、第3の設定操作子が操作された場合に、ガイドされたコード構成音の内の3度音、5度音および7度音を含む押鍵が行われた時に適正なコード演奏と判定する第3の教習レベルを設定し、第4の設定操作子が操作された場合に、ガイドされたコード構成音の内のルート、3度音および5度音を含む押鍵が行われた時に適正なコード演奏と判定する第4の教習レベルを設定し、第5の設定操作子が操作された場合に、ガイドされたコード構成音の内のルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する第5の教習レベルを設定し、第6の設定操作子が操作された場合に、ガイドされたコード構成音の内のルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する第6の教習レベルを設定することを特徴とする。
【0013】
上記請求項6に従属する請求項8に記載の発明では、前記設定処理は、第1の設定操作子が操作された場合に、ガイドされたコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第1の教習レベルに設定し、第2の設定操作子が操作された場合に、ガイドされたコード構成音中の3度音、5度音および7度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第2の教習レベルに設定し、第3の設定操作子が操作された場合に、ガイドされたコード構成音中のルート、3度音および5度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第3の教習レベルに設定し、第4の設定操作子が操作された場合に、ガイドされたコード構成音中のルートおよび3度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第4の教習レベルに設定し、第5の設定操作子が操作された場合に、ガイドされたコード構成音中のルートを含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第5の教習レベルに設定することを特徴とする。
【0014】
請求項9に記載の発明では、コード構成音の内、コード演奏の対象にする度数の音を指定する指定処理と、曲進行に対応したコードネームから構成されるコードパターンを記憶しておき、このコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド処理と、前記ガイド処理によるガイドに応じて為されるユーザの押鍵操作が、前記指定処理により指定された度数の音を全て含む適正なコード演奏であるか否かを判定する判定処理と、前記判定処理により適正なコード演奏と判定された場合には、次に弾くべきコードのガイドを前記ガイド処理に指示し、一方、不適なコード演奏と判定された場合には、前記判定処理が適正なコード演奏と判定するまでガイドの停止を前記ガイド処理に指示するガイド制御処理とをコンピュータで実行させることを特徴とする。
【0015】
上記請求項9に従属する請求項10に記載の発明では、前記指定処理は、コード構成音の内、コード演奏の対象から除外する度数の音を選択する選択処理を更に具備することを特徴とする。
【発明の効果】
【0016】
請求項1、6に記載の発明によれば、コードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドすると、このガイドに応じて為されるユーザの押鍵操作が、設定された教習レベル下での適正なコード演奏であるか否かを判定し、適正なコード演奏ならば、次に弾くべきコードのガイドが行われ、一方、不適なコード演奏であると、適正なコード演奏と判定されるまでガイドを停止する。したがって、ユーザの設定する教習レベルに応じて、コードの弾き方を段階的に習得することができる。
【0017】
請求項2、7に記載の発明によれば、第1〜第6の設定操作子の操作に応じて、難易度の異なる教習レベルを設定するので、コードの弾き方を段階的に習得することができる。
【0018】
請求項3、8に記載の発明によれば、第1〜第5の設定操作子の操作に応じて難易度の異なる教習レベルを設定するので、コードの弾き方を段階的に習得することができる。
【0019】
請求項4、9に記載の発明によれば、コード構成音の内、コード演奏の対象にする度数の音を指定しておき、コードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドすると、このガイドに応じて為されるユーザの押鍵操作が、指定された度数の音を全て含む適正なコード演奏であるか否かを判定する。そして、適正なコード演奏と判定されると、次に弾くべきコードのガイドが行われ、一方、不適なコード演奏と判定されると、適正なコード演奏と判定されるまでガイドの停止する。したがって、コードの弾き方を段階的に習得することが出来、しかもユーザ好みの教習形態を設定することもできる。
【発明を実施するための最良の形態】
【0020】
以下、図面を参照して本発明の実施の形態について説明する。
A.第1実施形態
(1)構成
図1は、本発明の第1実施形態によるコード教習装置100の構成を示すブロック図である。この図において、鍵盤10は押離鍵操作(演奏操作)に応じたキーオン/キーオフイベント、鍵番号およびベロシティ等の演奏情報を発生する。LED部11は、鍵盤10の各鍵毎に配設されるLED(発光素子)と、これらLEDを点灯駆動するドライバ(不図示)とから構成され、CPU13から供給される制御信号に従って指定される鍵のLEDを点灯して弾くべき鍵をユーザにガイドする。
【0021】
スイッチ部12は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。スイッチ部12に配設される主要なスイッチとしては、例えば装置電源をオンオフする電源スイッチの他、コードの弾き方を教習するレベルを設定する各種設定スイッチや、コード教習の開始・停止を指示するスタート/ストップスイッチSS等がある。
【0022】
なお、コードの弾き方を教習するレベルを設定する各種設定スイッチは、ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチから構成される。これら各スイッチ操作に対応して設定される教習レベルの内容については追って述べる。また、スタート/ストップスイッチSSの操作に対応した処理動作の詳細についても後述する。
【0023】
CPU13は、スタート/ストップスイッチSSのオン操作によりコード教習の開始が指示された場合、RAM15に格納されるコードパターン(後述する)に従ってユーザに弾くべきコードをガイドすると共に、このガイドに従ったユーザの押離鍵操作に応じて鍵盤10から出力される演奏情報に対応した各種楽音パラメータ(ノートオン/ノートオフ等)を発生して音源17に供給する。また、CPU13は、上述したALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかの操作で設定される教習レベルに応じて、ユーザが弾くコードの正否を判定し、正しいコードが弾かれた場合にコード教習を進行させる。
【0024】
ROM14には、CPU13にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、スイッチ処理、ガイド処理および鍵盤処理を含む。RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に使用される各種レジスタ・フラグデータが一時記憶される。RAM15のデータエリアには、コードパターンおよびコード判別テーブルが設けられる。図2は、RAM15のデータエリアに格納されるコードパターンの構成を示す図である。この図に示すように、コードパターンは、小節および拍毎のコードネームを曲進行に対応した時系列の読み出しアドレスAD順に格納したものである。
【0025】
RAM15のデータエリアに格納されるコード判別テーブルは、曲進行に応じてコードパターンから読み出されるコードネームをコード構成音に変換するテーブルである。例えばコードパターンから読み出されるコードネームが「Cメジャ−」の場合には、図3(a)に図示するメジャーコード判定テーブルを参照してルート「C」、3度音「E」および5度音「G」からなるコード構成音を読み出す。また、例えばコードパターンから読み出されるコードネームが「G7」の場合には、図3(b)に図示する7thコード判定テーブルを参照してルート「G」、3度音「B」、5度音「D」および7度音「F」からなるコード構成音を読み出す。
【0026】
図1において、表示部16は、LCDパネル等から構成される表示部であり、CPU13から供給される表示制御信号に応じて装置全体の動作モードや各種設定状態を表示する。音源17は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源17は、各種音色の波形データを記憶しており、これらの内、CPU13から供給される楽音パラメータに応じた波形データを読み出して楽音波形を発生する。サウンドシステム18は、音源19から出力される楽音波形をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【0027】
(2)動作
次に、図4〜図15を参照して第1実施形態の動作について説明する。ここでは、最初にメインルーチンの動作を説明した後、メインルーチンを構成するスイッチ処理、ガイド処理および鍵盤処理の各動作を説明する。
【0028】
(a)メインルーチンの動作
上記構成によるコード教習装置100に電源が投入されると、CPU13は図4に図示するメインルーチンを実行してステップSA1に処理を進め、RAM15のワークエリアに格納される各種レジスタやフラグデータをゼロリセットしたり、初期値セットするイニシャライズを行う。続いて、ステップSA2では、ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかのオン操作で教習レベルを設定したり、スタート/ストップスイッチSSの操作に応じてコード教習の開始あるいは停止を指示するスイッチ処理を実行する。
【0029】
次いで、ステップSA3では、歩進される拍カウンタおよび小節カウンタの各値が、コードパターンから現在読み出されているコードネームの拍および小節に一致し、ガイドされたコード構成音の押鍵タイミングになった場合に一旦タイマを停止させるガイド処理を実行する。次に、ステップSA4では、押鍵操作された鍵の楽音を発音させると共に、その押鍵操作が、設定された教習レベル下での適正なコード演奏であるかどうかを判断し、適正なコード演奏が行われる毎に、次に弾くべきコード構成音の押鍵を順次ガイドする鍵盤処理を実行する。また、鍵盤処理では、設定された教習レベル下での適正なコード演奏が行われるまで次のコード構成音の押鍵ガイドを停止させる。そして、ステップSA5では、例えば現在設定されている教習レベルを表示部16に表示してユーザに報知する等の、その他の処理を実行してから上述のステップSA1に処理を戻す。以後、装置電源がオフされるまで上述したステップSA1〜SA5を繰り返す。
【0030】
(b)スイッチ処理の動作
次に、図5を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップSA2(図4参照)を介して本処理が実行されると、CPU13は図5に図示するステップSB1に処理を進める。ステップSB1〜SB12では、ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかのオン操作で教習レベルを設定する。以下、上記各スイッチ別の動作を説明する。
【0031】
<ALLスイッチがオン操作された場合>
ユーザがALLスイッチをオン操作すると、ステップSB1の判断結果が「YES」になり、ステップSB2に進み、フラグTYPEFに「0」をセットした後、図6に図示するステップSB13に処理を進める。なお、フラグTYPEFは、教習レベルを表すものであり、フラグTYPEFが「0」の場合には、ガイドされたコード構成音の全てを間違いなく押鍵した時に適正なコード演奏と判定する教習レベルを表す。
【0032】
<ANYスイッチがオン操作された場合>
ユーザがANYスイッチをオン操作すると、ステップSB3の判断結果が「YES」になり、ステップSB4に進み、フラグTYPEFに「1」をセットした後、図6に図示するステップSB13に処理を進める。なお、フラグTYPEFが「1」の場合には、鍵盤10のいずれかの鍵を押鍵しただけで適正なコード演奏と判定する教習レベルを表す。
【0033】
<3rd〜7thスイッチがオン操作された場合>
ユーザが3rd〜7thスイッチをオン操作すると、ステップSB5の判断結果が「YES」になり、ステップSB6に進み、フラグTYPEFに「2」をセットした後、図6に図示するステップSB13に処理を進める。なお、フラグTYPEFが「2」の場合には、ガイドされたコード構成音の内、3度音から7度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルを表す。
【0034】
<root〜5thスイッチがオン操作された場合>
ユーザがroot〜5thスイッチをオン操作すると、ステップSB7の判断結果が「YES」になり、ステップSB8に進み、フラグTYPEFに「3」をセットした後、図6に図示するステップSB13に処理を進める。なお、フラグTYPEFが「3」の場合には、ガイドされたコード構成音の内、ルートから5度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルを表す。
【0035】
<root〜3rdスイッチがオン操作された場合>
ユーザがroot〜3rdスイッチをオン操作すると、ステップSB9の判断結果が「YES」になり、ステップSB10に進み、フラグTYPEFに「4」をセットした後、図6に図示するステップSB13に処理を進める。なお、フラグTYPEFが「4」の場合には、ガイドされたコード構成音の内、ルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルを表す。
【0036】
<rootスイッチがオン操作された場合>
ユーザがrootスイッチをオン操作すると、ステップSB11の判断結果が「YES」になり、ステップSB12に進み、フラグTYPEFに「5」をセットした後、図6に図示するステップSB13に処理を進める。なお、フラグTYPEFが「5」の場合には、ガイドされたコード構成音の内、ルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する教習レベルを表す。
【0037】
以上のようにして、ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかのオン操作で教習レベルを設定し終えると、CPU13は図6に図示するステップSB13に処理を進め、スタート/ストップスイッチSSのオン操作の有無を判断する。オン操作されなければ、判断結果は「NO」になり、何も行わずに本処理を終えるが、オン操作されると、判断結果が「YES」となり、ステップSB14に進む。
【0038】
ステップSB14では、スタートフラグSTFを反転する。スタートフラグSTFとは、「1」の場合に教習開始を指示したスタート状態を表し、「0」の場合に教習停止を指示したストップ状態を表すフラグである。すなわち、スタート/ストップスイッチSSはオン操作される毎に「教習開始」、「教習停止」を交互に指示する所謂トグルスイッチである為、オン操作される毎にスタートフラグSTFを反転させている。
【0039】
そして、ステップSB15では、反転されたスタートフラグSTFが「1」、つまりスタート状態であるか否かを判断する。スタート状態であると、判断結果は「YES」になり、後述のステップSB16〜SB22を実行する。一方、ストップ状態ならば、判断結果が「NO」になり、後述のステップSB23〜SB24を実行する。以下、スタート状態の動作と、ストップ状態の動作とに分けて説明を進める。
【0040】
<スタート状態の動作>
スタート状態に設定されると、上記ステップSB15の判断結果が「YES」になり、ステップSB16に進み、RAM15のデータエリアに格納されるコードパターンの読み出しアドレス初期値をレジスタADにストアする。以下、レジスタADの内容を読み出しアドレスADと称す。続いて、ステップSB17では、コードパターン中から読み出しアドレスADで指定される小節および拍のコードネームを読み出す。次に、ステップSB18では、RAM15のデータエリアに格納されるコード判別テーブルからコードネームに対応するコード構成音を抽出する。例えばコードパターンから読み出したコードネームが「Cメジャ−」であったとすると、図3(a)に図示したメジャーコード判定テーブルから対応するコード構成音(ルート「C」、3度音「E」および5度音「G」)を抽出する。
【0041】
そして、ステップSB19では、抽出したコード構成音にそれぞれ対応する各鍵に配設されるLEDを点灯するようLED部11に指示する。これにより、最初に弾くべきコードがガイドされる。続いて、ステップSB20〜SB21では、曲進行を管理する拍カウンタおよび小節カウンタに各々初期値「1」をセットする。次いで、ステップSB22では、拍タイミングを計時するタイマをスタートさせて本処理を終える。なお、図示していないが、上記ステップSB22にてタイマスタートさせると、CPU13では、一定周期毎にタイマクロックをカウントして計時するタイマインタラプト処理を実行するようになっている。
【0042】
<ストップ状態の動作>
一方、ストップ状態に設定された場合には、上記ステップSB15の判断結果が「NO」になり、ステップSB23に進み、鍵盤10の各鍵に配設される全てのLEDを消灯するようLED部11に指示する。そして、ステップSB24に進み、タイマを停止(タイマインタラプト処理中止)して本処理を終える。
【0043】
このように、スイッチ処理では、ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかをオン操作すると、オン操作されたスイッチ種に対応するフラグ値がフラグTYPEFにセットされ、これにより教習レベルが設定される。
【0044】
また、スタート/ストップスイッチSSのオン操作に応じてスタート状態に設定されると、RAM15のデータエリアに格納されるコードパターン中の先頭(第1小節第1拍目)のコードネームから抽出したコード構成音に対応する各鍵のLEDを点灯させて最初に弾くべきコードをガイドすると共に、拍タイミングを計時するタイマをスタートさせる。一方、ストップ状態に設定された場合には、各鍵に配設される全てのLEDを消灯させると共に、タイマを停止させる。
【0045】
(c)ガイド処理の動作
次に、図7を参照してガイド処理の動作を説明する。前述したメインルーチンのステップSA3(図4参照)を介して本処理が実行されると、CPU13は図7に図示するステップSC1に進み、スタートフラグSTFが「1」、つまりスタート状態であるか否かを判断する。ストップ状態であると、判断結果は「NO」になり、何も行わずに本処理を終えるが、スタート状態ならば、判断結果が「YES」になり、ステップSC2に進む。ステップSC2では、タイマが1拍分を計時したか否か、つまり拍タイミングに達したかどうかを判断する。拍タイミングに達していなければ、判断結果は「NO」になり、本処理を終える。
【0046】
一方、拍タイミングに達した場合には、上記ステップSC2の判断結果が「YES」になり、ステップSC3に進み、タイマカウントをクリアする。続いて、ステップSC4では、1拍分の時間経過に伴って拍カウンタをインクリメントして歩進させる。そして、ステップSC5では、歩進された拍カウンタの値が1小節分に相当するか否か、つまり1小節経過したかどうかを判断する。1小節経過していなければ、判断結果は「NO」になり、後述のステップSC8に進む。これに対し、1小節経過した場合には、上記ステップSC5の判断結果が「YES」になり、ステップSC6に進み、拍カウンタを初期値「1」にリセットする。次いで、ステップSC7では、小節カウンタをインクリメントして歩進させた後、ステップSC8に進む。
【0047】
ステップSC8では、拍カウンタおよび小節カウンタの各値が、コードパターンから現在読み出されているコードネームの拍および小節に一致しているか否か、つまりガイドされたコード構成音の押鍵タイミングであるかどうかを判断する。押鍵タイミングでなければ、判断結果は「NO」になり、本処理を終える。一方、押鍵タイミング下ならば、上記ステップSC8の判断結果が「YES」になり、ステップSC9に進み、タイマを停止(タイマインタラプト処理の中止)して本処理を終える。
【0048】
このように、ガイド処理では、拍タイミング毎に拍カウンタを歩進させる一方、歩進した拍カウンタが1小節経過する毎に小節カウンタを歩進させ、こうして歩進される拍カウンタおよび小節カウンタの各値が、コードパターンから現在読み出されているコードネームの拍および小節に一致し、ガイドされたコード構成音の押鍵タイミングになった場合に一旦タイマを停止させる。
【0049】
(d)鍵盤処理の動作
次に、図8〜図9を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップSA4(図4参照)を介して本処理が実行されると、CPU13は図8に図示するステップSD1に進み、鍵盤10を鍵走査する。続いて、ステップSD2では、上記ステップSD1の鍵走査の結果に基づき押鍵操作の有無を判断する。押鍵操作が無ければ、判断結果は「NO」になり、ステップSD3に進む。ステップSD3では、離鍵された鍵の音高に対応する楽音の消音を音源17に指示する等の、その他の処理を実行して本処理を終える。
【0050】
一方、鍵走査の結果に基づき押鍵操作を検出すると、上記ステップSD2の判断結果が「YES」になり、ステップSD4に進み、押鍵された鍵の音高を検出する。そして、ステップSD5では、押鍵された鍵の音高に対応する楽音の発音を音源17に指示する。次いで、ステップSD6では、スタートフラグSTFが「1」、つまりスタート状態であるか否かを判断する。ストップ状態ならば、判断結果は「NO」になり、本処理を終えるが、スタート状態であると、判断結果が「YES」になり、ステップSD7に進む。ステップSD7では、フラグTYPEFが「1」であるか否かを判断する。
【0051】
フラグTYPEFが「1」の場合、すなわちANYスイッチのオン操作によって鍵盤10のいずれかの鍵を押鍵しただけで適正なコード演奏と判定する教習レベルに設定されている場合には、ガイドされたコード構成音と押鍵された鍵の音(以下、押鍵音と称す)とを比較判定する必要が無い為、判断結果は「YES」になり、図9に図示するステップSD10に進む。これに対し、フラグTYPEFが「1」以外の場合には、上記ステップSD7の判断結果が「NO」になり、ステップSD8を介して比較処理を実行する。
【0052】
後述するように、比較処理では、前述したALLスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチのいずれかのオン操作で設定される教習レベルに基づき、ガイドされたコード構成音と押鍵音との比較判定を行う。次いで、ステップSD9では、ステップSD8の比較処理により得られる判定結果に基づき一致したかどうか、つまり設定された教習レベル下での適正なコード演奏であるか否かを判断する。適正なコード演奏でない場合には、判断結果は「NO」になり、本処理を終える。この場合、後述のステップSD10以降が実行されない為、設定された教習レベル下で適正なコード演奏が行われるまで次のコード構成音の押鍵ガイドを停止させる。
【0053】
一方、設定された教習レベル下での適正なコード演奏ならば、上記ステップSD9の判断結果が「YES」になり、図9に図示するステップSD10に処理を進め、RAM15のデータエリアに格納されるコードパターンの読み出しアドレスADを歩進させる。続いて、ステップSD11では、歩進された読み出しアドレスADに対応した次のデータ(コードネーム)の有無、つまり曲終端に達したかどうかを判断する。曲終端に達していなければ、判断結果は「YES」になり、ステップSD12に進み、歩進された読み出しアドレスADに対応した小節および拍のコードネームを読み出す。
【0054】
そして、ステップSD13では、読み出したコードネームに対応するコード構成音を、RAM15のデータエリアに格納されるコード判別テーブルから抽出する。続いて、ステップSD14では、抽出したコード構成音にそれぞれ対応する各鍵に配設されるLEDを点灯するようLED部11に指示する。これにより次に弾くべきコードがガイドされる。この後、ステップSD15に進み、拍タイミングを計時するタイマをスタートさせて本処理を終える。
【0055】
これに対し、歩進された読み出しアドレスADに対応した次のデータ(コードネーム)が無く、曲終端に達した場合には、上記ステップSD11の判断結果が「NO」になり、ステップSD16に進む。ステップSD16では、スタートフラグSTFをゼロリセットしてストップ状態に設定し、続くステップSD17では、鍵盤10の各鍵に配設される全てのLEDを消灯するようLED部11に指示する。そして、ステップSD18に進み、タイマを停止(タイマインタラプト処理中止)して本処理を終える。
【0056】
このように、鍵盤処理では、押鍵操作された鍵の楽音を発音させると共に、その押鍵操作が、設定された教習レベル下での適正なコード演奏であるかどうかを判断し、適正なコード演奏が行われる毎に、次に弾くべきコード構成音の押鍵を順次ガイドして行くが、設定された教習レベル下での適正なコード演奏を行わないと、適正なコード演奏が行われるまで次のコード構成音の押鍵ガイドを停止させるようになっている。
【0057】
(d)比較処理の動作
次に、図10〜図15を参照して比較処理の動作を説明する。上述した鍵盤処理のステップSD8(図8参照)を介して本処理が実行されると、CPU13は図10に図示するステップSE1に進む。ステップSE1以降では、フラグTYPEFが「0」、「2」、「3」、「4」および「5」の各値に対応する比較処理を実行する。以下、フラグTYPEFの値別に分けて動作説明を進める。
【0058】
<フラグTYPEFが「0」の場合>
ALLスイッチのオン操作によりフラグTYPEFが「0」にセットされていれば、ステップSE1の判断結果が「YES」になり、ステップSE2に進む。ステップSE2を介して図11に図示するTYPE0比較処理が実行されると、CPU13はステップSF1に進み、コード判別テーブルから抽出したコード構成音の数と押鍵音の数とが一致しているか否か、つまりガイドされたコード構成音数分の押鍵が為されたかどうかを判断する。ガイドされたコード構成音数分の押鍵が為されていなければ、判断結果は「NO」になり、ステップSF5に進み、不一致と判定して本処理を終える。
【0059】
一方、ガイドされたコード構成音数分の押鍵が為されていれば、上記ステップSF1の判断結果は「YES」になり、ステップSF2に進む。ステップSF2〜SF3では、ガイドされたコード構成音の各音高と押鍵音の各音高とを比較し、全て一致するかどうかを判断する。ガイドされたコード構成音の各音高と押鍵音の各音高とが全て一致するならば、ステップSF3の判断結果が「YES」になり、ステップSF4に進み、一致と判定して本処理を終える。
【0060】
これに対し、ガイドされたコード構成音の各音高と押鍵音の各音高とが全て一致しなければ、上記ステップSF3の判断結果は「NO」になり、ステップSF5に進み、不一致と判定して本処理を終える。この結果、ALLスイッチをオン操作すれば、ガイドされたコード構成音を全て間違いなく押鍵した時に適正なコード演奏と判定する教習レベルに設定される。
【0061】
<フラグTYPEFが「2」の場合>
3rd〜7thスイッチのオン操作によりフラグTYPEFが「2」にセットされていれば、図10に図示するステップSE3の判断結果が「YES」になり、ステップSE4に進む。ステップSE4を介して図12に図示するTYPE2比較処理が実行されると、CPU13はステップSG1に進み、コード判別テーブルから抽出したコード構成音の内、7度音より高い音高の押鍵音の有無を判断する。7度音より高い音高の押鍵音が有ると、判断結果は「NO」になり、ステップSG3に進み、不一致と判定して本処理を終える。
【0062】
一方、7度音より高い音高の押鍵音が無ければ、上記ステップSG1の判断結果は「YES」になり、ステップSG2に進む。ステップSG2では、押鍵音の音高が、コード判別テーブルから抽出したコード構成音の3度音、5度音および7度音を含むかどうかを判断する。押鍵音が3度音、5度音および7度音を含むならば、判断結果は「YES」になり、ステップSG4に進み、一致と判定して本処理を終える。
【0063】
これに対し、押鍵音が3度音〜7度音を含んでいなければ、上記ステップSG2の判断結果は「NO」になり、ステップSG3に進み、不一致と判定して本処理を終える。この結果、3rd〜7thスイッチをオン操作すれば、ガイドされたコード構成音の内、3度音から7度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定される。
【0064】
<フラグTYPEFが「3」の場合>
root〜5thスイッチのオン操作によりフラグTYPEFが「3」にセットされていれば、図10に図示するステップSE5の判断結果が「YES」になり、ステップSE6に進む。ステップSE6を介して図13に図示するTYPE3比較処理が実行されると、CPU13はステップSH1に進み、コード判別テーブルから抽出したコード構成音の内、ルート(根音)より低い音高の押鍵音の有無を判断する。ルートより低い音高の押鍵音が有ると、判断結果は「NO」になり、ステップSH3に進み、不一致と判定して本処理を終える。
【0065】
一方、ルートより低い音高の押鍵音が無ければ、上記ステップSH1の判断結果は「YES」になり、ステップSH2に進む。ステップSH2では、押鍵音の音高が、コード判別テーブルから抽出したコード構成音のルート、3度音および5度音を含むかどうかを判断する。押鍵音がルート、3度音および5度音を含むならば、判断結果は「YES」になり、ステップSH4に進み、一致と判定して本処理を終える。
【0066】
これに対し、押鍵音がルート〜5度音を含んでいなければ、上記ステップSH2の判断結果は「NO」になり、ステップSH3に進み、不一致と判定して本処理を終える。この結果、root〜5thスイッチをオン操作すれば、ガイドされたコード構成音の内、ルート、3度音および5度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定される。
【0067】
<フラグTYPEFが「4」の場合>
root〜3rdスイッチのオン操作によりフラグTYPEFが「4」にセットされていれば、図10に図示するステップSE7の判断結果が「YES」になり、ステップSE8に進む。ステップSE8を介して図14に図示するTYPE4比較処理が実行されると、CPU13はステップSJ1に進み、コード判別テーブルから抽出したコード構成音の内、ルートより低く3度音より高い音高の押鍵音の有無を判断する。ルートより低く3度音より高い音高の押鍵音が有ると、判断結果は「NO」になり、ステップSJ3に進み、不一致と判定して本処理を終える。
【0068】
一方、ルートより低く3度音より高い音高の押鍵音が無ければ、上記ステップSJ1の判断結果は「YES」になり、ステップSJ2に進む。ステップSJ2では、押鍵音の音高が、コード判別テーブルから抽出したコード構成音のルートおよび3度音を含むかどうかを判断する。押鍵音がルートおよび3度音を含むならば、判断結果は「YES」になり、ステップSJ4に進み、一致と判定して本処理を終える。
【0069】
これに対し、押鍵音がルートおよび3度音を含まなければ、上記ステップSJ2の判断結果は「NO」になり、ステップSJ3に進み、不一致と判定して本処理を終える。この結果、root〜3rdスイッチをオン操作すれば、ガイドされたコード構成音の内、ルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定される。
【0070】
<フラグTYPEFが「5」の場合>
rootスイッチのオン操作によりフラグTYPEFが「5」にセットされていれば、図10に図示するステップSE9の判断結果が「YES」になり、ステップSE10に進む。ステップSE10を介して図15に図示するTYPE5比較処理が実行されると、CPU13はステップSK1に進み、コード判別テーブルから抽出したコード構成音の内、ルートを含む押鍵音の有無を判断する。押鍵音にルートが含まれなければ、判断結果は「NO」になり、ステップSK3に進み、不一致と判定して本処理を終える。
【0071】
一方、押鍵音にルートが含まれると、上記ステップSK1の判断結果は「YES」になり、ステップSK2に進む。ステップSK2では、押鍵音中の最低音高がルートに一致するかどうかを判断する。押鍵音中の最低音高がルートに一致するならば、判断結果は「YES」になり、ステップSK4に進み、一致と判定して本処理を終える。
【0072】
これに対し、押鍵音中の最低音高がルートに一致しなければ、上記ステップSK2の判断結果は「NO」になり、ステップSK3に進み、不一致と判定して本処理を終える。この結果、rootスイッチをオン操作すれば、ガイドされたコード構成音の内、ルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定される。
【0073】
以上のように、第1実施形態では、ALLスイッチをオン操作すると、ガイドされたコード構成音を全て押鍵した時に適正なコード演奏と判定する教習レベルに設定され、ANYスイッチをオン操作すると、鍵盤10のいずれかの鍵を押鍵しただけで適正なコード演奏と判定する教習レベルに設定され、3rd〜7thスイッチをオン操作すると、ガイドされたコード構成音の内の3度音から7度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定され、root〜5thスイッチをオン操作すると、ガイドされたコード構成音の内のルートから5度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定され、root〜3rdスイッチをオン操作すると、ガイドされたコード構成音の内のルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定され、rootスイッチをオン操作すると、ガイドされたコード構成音の内のルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する教習レベルに設定される。
【0074】
上述した教習レベルのいずれかを選択した後、コードパターン中から拍毎に読み出されるコードネームをコード構成音に変換し、当該コード構成音に各々対応する各鍵のLEDを点灯してコード演奏をガイドし始めると、このガイドに対応したユーザの押鍵操作が、設定された教習レベル下での適正なコード演奏であるかどうかを判断し、適正ならば次に弾くべきコード演奏のガイドし、不適ならば適正なコード演奏が行われるまでガイドを停止させるようにしたので、コードの弾き方を段階的に習得することが可能になる。
【0075】
B.第2実施形態
次に、図16〜図17を参照して第2実施形態による比較処理の動作について説明する。前述した第1実施形態と同様、鍵盤処理のステップSD8(図8参照)を介して第2実施形態による比較処理が実行されると、CPU13は図16に図示するステップSL1に進む。ステップSL1以降では、フラグTYPEFが「0」、「2」、「3」、「4」および「5」の各値に対応する処理を実行する。以下、フラグTYPEF値別の動作を述べる。
【0076】
<フラグTYPEFが「0」の場合>
ALLスイッチのオン操作によりフラグTYPEFが「0」にセットされていれば、ステップSL1の判断結果が「YES」になり、ステップSL2に進む。ステップSL2では、全ての押鍵音の音高とコード判別テーブルから抽出したコード構成音の音高とを比較する。そして、図17に図示するステップSL11に進み、コード構成音の音高を含む押鍵音の有無を判断する。押鍵音にコード構成音の音高が含まれていなければ、判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。
【0077】
一方、押鍵音にコード構成音の音高が含まれていると、上記ステップSL11の判断結果は「YES」になり、ステップSL12に進む。ステップSL12では、一致押鍵数(ガイドされたコード構成音の音高に一致する押鍵音の数)を2倍した数が全押鍵数以上であるか、つまりガイドされたコード構成音の半数以上が押鍵されたかどうかを判断する。ガイドされたコード構成音の半数以上を押鍵していると、上記ステップSL12の判断結果は「YES」になり、ステップSL14に進み、一致と判定して本処理を終える。
【0078】
これに対し、ガイドされたコード構成音の半数以上を押鍵していなければ、上記ステップSL12の判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。したがって、第2実施形態においては、ALLスイッチをオン操作した場合、ガイドされたコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する教習レベルに設定される。
【0079】
<フラグTYPEFが「2」の場合>
3rd〜7thスイッチのオン操作によりフラグTYPEFが「2」にセットされていれば、図16に図示するステップSL3の判断結果が「YES」になり、ステップSL4に進む。ステップSL4では、コード判別テーブルから抽出したコード構成音中の3度音、5度音および7度音と、いずれかの押鍵音の音高とを比較する。そして、図17に図示するステップSL11に進み、コード構成音中の3度音、5度音および7度音の音高に一致する押鍵音の有無を判断する。押鍵音にコード構成音中の3度音、5度音および7度音の音高が含まれていなければ、判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。
【0080】
一方、押鍵音にコード構成音中の3度音、5度音および7度音の音高が含まれていると、上記ステップSL11の判断結果は「YES」になり、ステップSL12に進み、ガイドされたコード構成音の半数以上が押鍵されたかどうかを判断する。ガイドされたコード構成音の半数以上を押鍵していると、上記ステップSL12の判断結果は「YES」になり、ステップSL14に進み、一致と判定して本処理を終える。
【0081】
これに対し、ガイドされたコード構成音の半数以上を押鍵していなければ、上記ステップSL12の判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。したがって、第2実施形態においては、3rd〜7thスイッチをオン操作した場合、ガイドされたコード構成音中の3度音、5度音および7度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する教習レベルに設定される。
【0082】
<フラグTYPEFが「3」の場合>
root〜5thスイッチのオン操作によりフラグTYPEFが「3」にセットされていれば、図16に図示するステップSL5の判断結果が「YES」になり、ステップSL6に進む。ステップSL6では、コード判別テーブルから抽出したコード構成音中のルート、3度音および5度音と、いずれかの押鍵音の音高とを比較する。そして、図17に図示するステップSL11に進み、コード構成音中のルート、3度音および5度音の音高に一致する押鍵音の有無を判断する。押鍵音にコード構成音中のルート、3度音および5度音の音高が含まれていなければ、判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。
【0083】
一方、押鍵音にコード構成音中のルート、3度音および5度音の音高が含まれていると、上記ステップSL11の判断結果は「YES」になり、ステップSL12に進み、ガイドされたコード構成音の半数以上が押鍵されたかどうかを判断する。ガイドされたコード構成音の半数以上を押鍵していると、上記ステップSL12の判断結果は「YES」になり、ステップSL14に進み、一致と判定して本処理を終える。
【0084】
これに対し、ガイドされたコード構成音の半数以上を押鍵していなければ、上記ステップSL12の判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。したがって、第2実施形態においては、root〜5thスイッチをオン操作した場合、ガイドされたコード構成音中のルート、3度音および5度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する教習レベルに設定される。
【0085】
<フラグTYPEFが「4」の場合>
root〜3rdスイッチのオン操作によりフラグTYPEFが「4」にセットされていれば、図16に図示するステップSL7の判断結果が「YES」になり、ステップSL8に進む。ステップSL8では、コード判別テーブルから抽出したコード構成音中のルートおよび3度音と、いずれかの押鍵音の音高とを比較する。そして、図17に図示するステップSL11に進み、コード構成音中のルートおよび3度音の音高に一致する押鍵音の有無を判断する。押鍵音にコード構成音中のルートおよび3度音の音高が含まれていなければ、判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。
【0086】
一方、押鍵音にコード構成音中のルートおよび3度音の音高が含まれていると、上記ステップSL11の判断結果は「YES」になり、ステップSL12に進み、ガイドされたコード構成音の半数以上が押鍵されたかどうかを判断する。ガイドされたコード構成音の半数以上を押鍵していると、上記ステップSL12の判断結果は「YES」になり、ステップSL14に進み、一致と判定して本処理を終える。
【0087】
これに対し、ガイドされたコード構成音の半数以上を押鍵していなければ、上記ステップSL12の判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。したがって、第2実施形態においては、root〜3rdスイッチをオン操作した場合、ガイドされたコード構成音中のルートおよび3度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する教習レベルに設定される。
【0088】
<フラグTYPEFが「5」の場合>
rootスイッチのオン操作によりフラグTYPEFが「5」にセットされていれば、図17に図示するステップSL9の判断結果が「YES」になり、ステップSL10に進む。ステップSL10では、コード判別テーブルから抽出したコード構成音中のルートと、いずれかの押鍵音の音高とを比較する。そして、ステップSL11では、コード構成音中のルートの音高に一致する押鍵音の有無を判断する。押鍵音にコード構成音中のルートの音高が含まれていなければ、判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。
【0089】
一方、押鍵音にコード構成音中のルートの音高が含まれていると、上記ステップSL11の判断結果は「YES」になり、ステップSL12に進み、ガイドされたコード構成音の半数以上が押鍵されたかどうかを判断する。ガイドされたコード構成音の半数以上を押鍵していると、上記ステップSL12の判断結果は「YES」になり、ステップSL14に進み、一致と判定して本処理を終える。
【0090】
これに対し、ガイドされたコード構成音の半数以上を押鍵していなければ、上記ステップSL12の判断結果は「NO」になり、ステップSL13に進み、不一致と判定して本処理を終える。したがって、第2実施形態においては、rootスイッチをオン操作した場合、ガイドされたコード構成音中のルートを含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する教習レベルに設定される。
【0091】
このように、第2実施形態においても、ユーザのスイッチ操作に応じて、適正なコード演奏と判定する教習レベルを選択的に設定できるので、コードの弾き方を段階的に習得することが可能になる。
【0092】
C.第3実施形態
次に、図18〜図20を参照して第3実施形態について説明する。前述した第1実施形態では、ALLスイッチ、ANYスイッチ、3rd〜7thスイッチ、root〜5thスイッチ、root〜3rdスイッチおよびrootスイッチの操作に応じて、適正なコード演奏と判定する教習レベルを設定する態様について述べた。これに対して第3実施形態では、ガイドされるコード構成音の内、ユーザが指定する度数の音をコード演奏の対象にしたり、あるいはコード演奏の対象から除外してユーザ好みの教習形態を設定可能にする。以下では、こうした第3実施形態を具現するスイッチ処理および比較処理の各動作を説明する。
【0093】
(1)スイッチ処理の動作
図18〜図19を参照して第3実施形態によるスイッチ処理の動作を説明する。前述した第1実施形態と同様、メインルーチンのステップSA2(図4参照)を介して本処理が実行されると、CPU13は図18に図示するステップSM1に処理を進め、コード構成音中の度数の音を指定する度数入力スイッチのオン操作の有無を判断する。度数入力スイッチがオン操作されなければ、判断結果は「NO」になり、図19に図示するステップSM7に進む。一方、ユーザが所望の度数の音を指定して度数入力スイッチをオン操作すると、判断結果が「YES」になり、ステップSM2に進み、入力された度数をレジスタDSにストアする。以後、レジスタDSの内容を度数DSと記す。
【0094】
次いで、ステップSM3では、ON/OFFスイッチのオン操作の有無を判断する。ON/OFFスイッチとは、ユーザが指定した度数の音をコード演奏の対象にしたり、対象から除外するためのスイッチである。このスイッチがオン操作されなければ、ステップSM3の判断結果は「NO」になり、図19に図示するステップSM7に進む。一方、オン操作された場合には、判断結果が「YES」になり、ステップSM4に進み、フラグWA(DS)が「1」であるか否かを判断する。フラグWA(DS)とは、ユーザが指定した度数DSの音をコード演奏の対象にするか否かを判別するフラグであり、「1」の場合にコード演奏の対象にする旨を表し、「0」の場合にコード演奏の対象から除外する旨を表す。
【0095】
したがって、ON/OFFスイッチがオン操作された時に、フラグWA(DS)が「1」であると、上記ステップSM4の判断結果は「YES」になり、ステップSM5に進み、フラグWA(DS)を「0」にセットした後、図19のステップSM7に処理を進める。つまり、ON/OFFスイッチがOFFスイッチとして機能する場合には、ユーザが指定した度数DSの音をコード演奏の対象から除外する。
【0096】
これに対し、ON/OFFスイッチがオン操作された時に、フラグWA(DS)が「0」であると、上記ステップSM4の判断結果は「NO」になり、ステップSM6に進み、フラグWA(DS)を「1」にセットした後、図19のステップSM7に処理を進める。つまり、ON/OFFスイッチがONスイッチとして機能する場合には、ユーザが指定した度数DSの音をコード演奏の対象に設定する。
【0097】
そして、図19に図示するステップSM7〜SM18の処理は、前述した第1実施形態のステップSB13〜SB24(図6参照)と同様、スタート/ストップスイッチSSのオン操作に応じて、スタートフラグSTFを反転させ、反転されたスタートフラグSTFが「1」、つまりスタート状態に設定された場合には、読み出しアドレス初期値ADに応じてRAM15のデータエリアに格納されるコードパターンから読み出されるコードネームをコード判別テーブルを参照してコード構成音に変換し、そのコード構成音にそれぞれ対応する各鍵に配設されるLEDを点灯させて最初に弾くべきコード構成音の押鍵をガイドする。この後、拍カウンタおよび小節カウンタに各々初期値「1」をセットすると共に、拍タイミングを計時するタイマをスタートさせて本処理を終える。一方、ストップ状態に設定された場合には、鍵盤10の各鍵に配設される全てのLEDを消灯させた後、タイマを停止して本処理を終える。
【0098】
(2)比較処理の動作
次に、図20を参照して第3実施形態による比較処理の動作について説明する。前述した第1実施形態と同様、鍵盤処理のステップSD8(図8参照)を介して第3実施形態による比較処理が実行されると、CPU13は図20に図示するステップSN1に進み、フラグWA(1)が「1」、すなわちガイドされるコード構成音中の1度音(ルート)がコード演奏の対象に設定されているか否かを判断する。ルートがコード演奏の対象から除外されているならば、判断結果は「NO」になり、後述のステップSN3に処理を進める。
【0099】
一方、ルートがコード演奏の対象に設定されていると、判断結果が「YES」になり、ステップSN2に進む。ステップSN2では、押鍵音にコード構成音中のルートの音高が含まれているか否かを判断する。押鍵音にコード構成音中のルートの音高が含まれていなければ、判断結果は「NO」になり、ステップSN10に進み、不一致と判断して本処理を終える。これに対し、押鍵音にコード構成音中のルートの音高が含まれていると、上記ステップSN2の判断結果は「YES」になり、ステップSN3に進む。
【0100】
ステップSN3では、フラグWA(3)が「1」、すなわちガイドされるコード構成音中の3度音がコード演奏の対象に設定されているか否かを判断する。3度音がコード演奏の対象から除外されていると、判断結果は「NO」になり、後述のステップSN5に処理を進める。3度音がコード演奏の対象に設定されていると、上記ステップSN3の判断結果は「YES」になり、ステップSN4に進む。ステップSN4では、押鍵音にコード構成音中の3度音の音高が含まれているか否かを判断する。3度音の音高が含まれていなければ、判断結果は「NO」になり、ステップSN10に進み、不一致と判断して本処理を終える。これに対し、押鍵音にコード構成音中の3度音の音高が含まれていると、上記ステップSN4の判断結果は「YES」になり、ステップSN5に進む。
【0101】
ステップSN5では、フラグWA(5)が「1」、すなわちガイドされるコード構成音中の5度音がコード演奏の対象に設定されているか否かを判断する。5度音がコード演奏の対象から除外されていると、判断結果は「NO」になり、後述のステップSN7に処理を進める。5度音がコード演奏の対象に設定されていると、上記ステップSN5の判断結果は「YES」になり、ステップSN6に進む。ステップSN6では、押鍵音にコード構成音中の5度音の音高が含まれているか否かを判断する。5度音の音高が含まれていなければ、判断結果は「NO」になり、ステップSN10に進み、不一致と判断して本処理を終える。これに対し、押鍵音にコード構成音中の5度音の音高が含まれていると、上記ステップSN4の判断結果は「YES」になり、ステップSN7に進む。
【0102】
ステップSN7では、フラグWA(7)が「1」、すなわちガイドされるコード構成音中の7度音がコード演奏の対象に設定されているか否かを判断する。7度音がコード演奏の対象から除外されていると、判断結果は「NO」になり、後述のステップSN9に処理を進める。7度音がコード演奏の対象に設定されていると、上記ステップSN7の判断結果は「YES」になり、ステップSN8に進む。ステップSN8では、押鍵音にコード構成音中の7度音の音高が含まれているか否かを判断する。7度音の音高が含まれていなければ、判断結果は「NO」になり、ステップSN10に進み、不一致と判断して本処理を終える。これに対し、押鍵音にコード構成音中の7度音の音高が含まれていると、上記ステップSN4の判断結果は「YES」になり、ステップSN9に進み、一致と判断して本処理を終える。
【0103】
以上のように、第3実施形態では、ガイドされるコード構成音の内、ユーザが指定する度数の音をコード演奏の対象にしたり、あるいはコード演奏の対象から除外するので、コードの弾き方を段階的に習得することが出来、しかもユーザ好みの教習形態を設定することも可能になっている。
【0104】
なお、上述した第3実施形態では、ユーザが指定する度数の音を一意的にコード演奏の対象にしたり対象から除外するようにしたが、これに替えて、ユーザ指定のコードネームに対応するコード構成音の内、ユーザが指定する度数の音をコード演奏の対象にしたり、あるいはコード演奏の対象から除外する態様としても構わない。このようにすれば、例えば弾き間違い易いコードネームについて重点的に教習することが可能になる。
【図面の簡単な説明】
【0105】
【図1】本発明による第1実施形態の構成を示すブロック図である。
【図2】RAM15に格納されるコードパターンの構成を示す図である。
【図3】RAM15に格納されるコード判別テーブルの構成を示す図である。
【図4】メインルーチンの動作を示すフローチャートである。
【図5】スイッチ処理の動作を示すフローチャートである。
【図6】スイッチ処理の動作を示すフローチャートである。
【図7】ガイド処理の動作を示すフローチャートである。
【図8】鍵盤処理の動作を示すフローチャートである。
【図9】鍵盤処理の動作を示すフローチャートである。
【図10】比較処理の動作を示すフローチャートである。
【図11】TYPE0比較処理の動作を示すフローチャートである。
【図12】TYPE2比較処理の動作を示すフローチャートである。
【図13】TYPE3比較処理の動作を示すフローチャートである。
【図14】TYPE4比較処理の動作を示すフローチャートである。
【図15】TYPE5比較処理の動作を示すフローチャートである。
【図16】第2実施形態による比較処理の動作を示すフローチャートである。
【図17】第2実施形態による比較処理の動作を示すフローチャートである。
【図18】第3実施形態によるスイッチ処理の動作を示すフローチャートである。
【図19】第3実施形態によるスイッチ処理の動作を示すフローチャートである。
【図20】第3実施形態による比較処理の動作を示すフローチャートである。
【符号の説明】
【0106】
10 鍵盤
11 LED部
12 スイッチ部
13 CPU
14 ROM
15 RAM
16 表示部
17 音源
18 サウンドシステム
100 コード教習装置

【特許請求の範囲】
【請求項1】
教習レベルを設定する設定手段と、
曲進行に対応したコードネームから構成されるコードパターンを記憶する記憶手段と、
前記記憶手段に記憶されるコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド手段と、
前記ガイド手段のガイドに応じて為されるユーザの押鍵操作が、前記設定手段により設定された教習レベル下での適正なコード演奏であるか否かを判定する判定手段と、
前記判定手段が適正なコード演奏と判定した場合には、次に弾くべきコードのガイドを前記ガイド手段に指示し、一方、不適なコード演奏と判定した場合には、前記判定手段が適正なコード演奏と判定するまでガイドの停止を前記ガイド手段に指示するガイド制御手段と
を具備することを特徴とするコード教習装置。
【請求項2】
前記設定手段は、第1〜第6の設定操作子を有し、
第1の設定操作子が操作された場合には、ガイドされたコード構成音を全て押鍵した時に適正なコード演奏と判定する第1の教習レベルを設定し、
第2の設定操作子が操作された場合には、いずれかの鍵を押鍵しただけで適正なコード演奏と判定する第2の教習レベルを設定し、
第3の設定操作子が操作された場合には、ガイドされたコード構成音の内の3度音、5度音および7度音を含む押鍵が行われた時に適正なコード演奏と判定する第3の教習レベルを設定し、
第4の設定操作子が操作された場合には、ガイドされたコード構成音の内のルート、3度音および5度音を含む押鍵が行われた時に適正なコード演奏と判定する第4の教習レベルを設定し、
第5の設定操作子が操作された場合には、ガイドされたコード構成音の内のルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する第5の教習レベルを設定し、
第6の設定操作子が操作された場合には、ガイドされたコード構成音の内のルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する第6の教習レベルを設定することを特徴とする請求項1記載のコード教習装置。
【請求項3】
前記設定手段は、第1〜第5の設定操作子を有し、
第1の設定操作子が操作された場合には、ガイドされたコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第1の教習レベルに設定し、
第2の設定操作子が操作された場合には、ガイドされたコード構成音中の3度音、5度音および7度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第2の教習レベルに設定し、
第3の設定操作子が操作された場合には、ガイドされたコード構成音中のルート、3度音および5度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第3の教習レベルに設定し、
第4の設定操作子が操作された場合には、ガイドされたコード構成音中のルートおよび3度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第4の教習レベルに設定し、
第5の設定操作子が操作された場合には、ガイドされたコード構成音中のルートを含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第5の教習レベルに設定することを特徴とする請求項1記載のコード教習装置。
【請求項4】
コード構成音の内、コード演奏の対象にする度数の音を指定する指定手段と、
曲進行に対応したコードネームから構成されるコードパターンを記憶する記憶手段と、
前記記憶手段に記憶されるコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド手段と、
前記ガイド手段のガイドに応じて為されるユーザの押鍵操作が、前記指定手段により指定された度数の音を全て含む適正なコード演奏であるか否かを判定する判定手段と、
前記判定手段が適正なコード演奏と判定した場合には、次に弾くべきコードのガイドを前記ガイド手段に指示し、一方、不適なコード演奏と判定した場合には、前記判定手段が適正なコード演奏と判定するまでガイドの停止を前記ガイド手段に指示するガイド制御手段と
を具備することを特徴とするコード教習装置。
【請求項5】
前記指定手段は、コード構成音の内、コード演奏の対象から除外する度数の音を選択する選択手段を更に具備することを特徴とする請求項4記載のコード教習装置。
【請求項6】
教習レベルを設定する設定処理と、
曲進行に対応したコードネームから構成されるコードパターンを記憶しておき、このコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド処理と、
前記ガイド処理によるガイドに応じて為されるユーザの押鍵操作が、前記設定処理により設定された教習レベル下での適正なコード演奏であるか否かを判定する判定処理と、
前記判定処理により適正なコード演奏と判定された場合には、次に弾くべきコードのガイドを前記ガイド処理に指示し、一方、不適なコード演奏と判定した場合には、前記判定処理が適正なコード演奏と判定するまでガイドの停止を前記ガイド処理に指示するガイド制御処理と
をコンピュータで実行させることを特徴とするコード教習プログラム。
【請求項7】
前記設定処理は、
第1の設定操作子が操作された場合に、ガイドされたコード構成音を全て押鍵した時に適正なコード演奏と判定する第1の教習レベルを設定し、
第2の設定操作子が操作された場合に、いずれかの鍵を押鍵しただけで適正なコード演奏と判定する第2の教習レベルを設定し、
第3の設定操作子が操作された場合に、ガイドされたコード構成音の内の3度音、5度音および7度音を含む押鍵が行われた時に適正なコード演奏と判定する第3の教習レベルを設定し、
第4の設定操作子が操作された場合に、ガイドされたコード構成音の内のルート、3度音および5度音を含む押鍵が行われた時に適正なコード演奏と判定する第4の教習レベルを設定し、
第5の設定操作子が操作された場合に、ガイドされたコード構成音の内のルートおよび3度音を含む押鍵が行われた時に適正なコード演奏と判定する第5の教習レベルを設定し、
第6の設定操作子が操作された場合に、ガイドされたコード構成音の内のルートを最低音高とした押鍵が行われた時に適正なコード演奏と判定する第6の教習レベルを設定することを特徴とする請求項6記載のコード教習プログラム。
【請求項8】
前記設定処理は、
第1の設定操作子が操作された場合に、ガイドされたコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第1の教習レベルに設定し、
第2の設定操作子が操作された場合に、ガイドされたコード構成音中の3度音、5度音および7度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第2の教習レベルに設定し、
第3の設定操作子が操作された場合に、ガイドされたコード構成音中のルート、3度音および5度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第3の教習レベルに設定し、
第4の設定操作子が操作された場合に、ガイドされたコード構成音中のルートおよび3度音を含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第4の教習レベルに設定し、
第5の設定操作子が操作された場合に、ガイドされたコード構成音中のルートを含み、かつコード構成音の半数以上を押鍵した時に適正なコード演奏と判定する第5の教習レベルに設定することを特徴とする請求項6記載のコード教習プログラム。
【請求項9】
コード構成音の内、コード演奏の対象にする度数の音を指定する指定処理と、
曲進行に対応したコードネームから構成されるコードパターンを記憶しておき、このコードパターンから曲進行に応じて読み出されるコードネームをコード構成音に変換し、当該コード構成音を弾くべきコードとしてガイドするガイド処理と、
前記ガイド処理によるガイドに応じて為されるユーザの押鍵操作が、前記指定処理により指定された度数の音を全て含む適正なコード演奏であるか否かを判定する判定処理と、
前記判定処理により適正なコード演奏と判定された場合には、次に弾くべきコードのガイドを前記ガイド処理に指示し、一方、不適なコード演奏と判定された場合には、前記判定処理が適正なコード演奏と判定するまでガイドの停止を前記ガイド処理に指示するガイド制御処理と
をコンピュータで実行させることを特徴とするコード教習プログラム。
【請求項10】
前記指定処理は、コード構成音の内、コード演奏の対象から除外する度数の音を選択する選択処理を更に具備することを特徴とする請求項9記載のコード教習プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2007−156308(P2007−156308A)
【公開日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2005−354732(P2005−354732)
【出願日】平成17年12月8日(2005.12.8)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】