(57)【特許請求の範囲】
【請求項１】
複数の鍵を有する鍵盤と、
和音を指定するコードデータを楽曲の進行順に記憶したコード進行記憶手段と、
前記鍵盤の複数の鍵のいずれかが押鍵されたことを検出する押鍵検出手段と、
この押鍵検出手段によりいずれかの鍵の押鍵が検出された際に、他の鍵が押鍵中であるか否かを判定する判定手段と、
前記押鍵検出手段により押鍵が検出され、かつ前記判定手段により他の鍵が押鍵中でないと判定される毎に前記コード進行記憶手段からコードデータを順次に読み出して保持するコード読み出し保持手段と、
このコード読み出し保持手段により保持されたコードデータに応じて伴奏パターンの各音を逐次音高変換して伴奏音の発音を指示する伴奏発音指示手段と、
を具備することを特徴とする自動伴奏装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コード進行データに従って伴奏パターンを順次繰り返し再生して自動的に伴奏する自動伴奏装置に関する。
【０００２】
【従来の技術】
従来より、コードシーケンサと呼ばれ、予め記憶しておいた伴奏パターンを順次繰り返し読み出して自動伴奏する自動伴奏装置が知られている。この種の装置では、楽曲の進行順にコードデータ（和音データ）を記憶させてなるコード進行データを指定テンポに同期して読み出し、読み出したコードデータに応じて自動伴奏するように構成されている。
コードデータとは、ルート（根音）およびタイプ（和音種類）からなり、発音すべき和音を指定する情報である。また、コード進行データとは、このコードデータを複数、楽曲の進行順にならべたデータから形成されている。
【０００３】
そして、自動伴奏装置では、予め記憶しておいた伴奏パターンを再生（自動伴奏）する場合、当該伴奏パターンを構成する各音の音高（キーナンバあるいはキーコード）を、上記コードデータに従って音高変換して発音する。ここで、伴奏パターンとは、演奏すべき各音の音高や発音タイミング等を表わすデータから構成されるものであって、例えば、中音域伴奏を表わすコードバッキングパターンや、低音域のベース音による伴奏を表わすベースパターンが用いられる場合が多い。
【０００４】
【発明が解決しようとする課題】
ところで、従来の自動伴奏装置にあっては、上述したコード進行データは、演奏者の意図とは関係なく、所定のタイミングで順次コードデータを読み出し、このコードデータに従って自動的に伴奏を進めるため、演奏者の意図しないタイミングでコードチェンジされることが起こり得る。
特に、スラー奏法により前に為された押鍵の楽音に繋げて現在の押鍵による楽音を発音させる場合には、前に為された押鍵の楽音に対応したコードで伴奏を続けた方が和声学的に自然であることが知られており、こうした場合でも所定タイミング毎に自動的にコードチェンジされると、伴奏音が不自然になるという問題がある。
【０００５】
そこで本発明は、上述した事情に鑑みてなされたもので、演奏者が意図したタイミングでコードチェンジすることができる自動伴奏装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、複数の鍵を有する鍵盤と、和音を指定するコードデータを楽曲の進行順に記憶したコード進行記憶手段と、前記鍵盤の複数の鍵のいずれかが押鍵されたことを検出する押鍵検出手段と、この押鍵検出手段によりいずれかの鍵の押鍵が検出された際に、他の鍵が押鍵中であるか否かを判定する判定手段と、前記押鍵検出手段により押鍵が検出され、かつ前記判定手段により他の鍵が押鍵中でないと判定される毎に前記コード進行記憶手段からコードデータを順次に読み出して保持するコード読み出し保持手段と、このコード読み出し保持手段により保持されたコードデータに応じて伴奏パターンの各音を逐次音高変換して伴奏音の発音を指示する伴奏発音指示手段と、を具備することを特徴としている。
【０００８】
【作用】
本発明では、コード進行記憶手段に和音を指定するコードデータを楽曲の進行順に記憶しておき、押鍵検出手段により鍵盤のいずれかの鍵の押鍵が検出された際に、他の鍵が押鍵中であるか否かを判定手段により判定することにより、押鍵検出手段により押鍵が検出され、かつ判定手段により他の鍵が押鍵中でないと判定される毎に前記コード進行記憶手段からコードデータを順次に読み出して保持手段により保持し、伴奏発音指示手段がこの保持手段によって保持されたコードデータに応じて伴奏パターンの各音を逐次音高変換して伴奏音の発音を指示する。
したがって、演奏操作が重なり合うスラー演奏が為された場合には、前に為された演奏操作に対応したコードデータに従って伴奏音の発音が指示され、スラー演奏でない場合には予め記憶されたコード進行で伴奏音が発音される。これにより、演奏者が意図したタイミングでコードチェンジすることが可能になる。
【０００９】
【実施例】
以下、図面を参照して本発明の実施例について説明する。
Ａ．実施例の構成
図１は、本発明の一実施例による自動伴奏装置を具備した電子楽器の構成を示すブロック図である。この図において、１は鍵盤であり、各鍵毎の押離鍵操作および押離鍵速度を検出してキーオン信号、キーナンバ、キーオフ信号、あるいは押離タッチを表すベロシティ等の演奏情報を出力する。２はこの電子楽器のコンソールパネルであり、各種操作スイッチと、これらスイッチ設定状態などを表示する液晶表示部等とから構成される。
【００１０】
コンソールパネルに配設される操作スイッチの内には、例えば、音色を指定する音色スイッチ、自動伴奏の開始を指示するスタートスイッチの他、伴奏パターンメモリ８（後述する）に記憶される各種伴奏パターンのいずれかを選択するパターン選択スイッチや、コード進行パターンメモリ９（後述する）に記憶される各種コード進行パターンのいずれかを選択するコード進行選択スイッチなどが設けられている。３は楽器各部を制御すると共に、自動伴奏時の演奏テンポを発生する機能をも具備するＣＰＵであり、その動作については後述する。４はＣＰＵ３にロードされる各種制御プログラムや、これらプログラムで用いられる各種データなどが記憶されるＲＯＭである。
【００１１】
５はＣＰＵ３のワークエリアとして使用されるＲＡＭであり、各種レジスタ／フラグデータが一時記憶される。６は周知の波形メモリ読み出し方式で構成される音源であり、通常のメロディ演奏に応じた楽音を発生するノーマル音源と伴奏音源とを備えている。７は、例えばＡＤＰＣＭ符号化された各種音色の波形データを記憶する波形メモリである。伴奏パターンメモリ８は、テンポクロックに対応してコード音、ベース音およびリズム音の発音タイミングを制御する所定小節分の伴奏パターンデータが複数種類記憶されている。伴奏パターンデータとは、演奏すべき各音の音高や発音タイミング等を表わすデータから形成されるものであり、パターン種類は前述したパターン選択スイッチの操作にて選択される。
【００１２】
コード進行パターンメモリ９は、図２に示すように、複数のコード進行パターンが登録されており、コード進行選択スイッチの操作により定まるコード進行番号ＣＰＮで所定のパターンが指定される。コード進行番号ＣＰＮで指定される進行パターンは、コードデータを表わすコード番号ＣNUMによって形成されている。
１０は音源６から出力される楽音信号ＷをＤ／Ａ変換して出力するＤ／Ａ変換部である。１１はこのＤ／Ａ変換部１０から供給されるアナログの楽音信号を増幅してスピーカＳＰより楽音として発音させるアンプである。
【００１３】
なお、上述したコード進行番号ＣＰＮは、コード進行指定スイッチの操作に応じてＲＡＭ５内のコード進行番号レジスタＣＲにストアされる。また、コード番号ＣNUMは、この実施例の場合、所定タイミング毎にインクリメントされる巡回値「１」〜「４」としてＲＡＭ５内のコード番号レジスタＣＮにセットされる。したがって、音源６内の伴奏音源は、コード進行番号ＣＰＮとコード番号ＣNUMとで指定されるコードデータに応じて伴奏パターンの各音を音高変換して伴奏音を発生することになる。
【００１４】
Ｂ．実施例の動作
次に、上記構成による実施例の動作について図３〜図８を参照して説明する。ここでは、概略動作としてメインルーチンの動作について説明した後、同メインルーチンにおいてコールされる各種処理ルーチンの動作について順次説明する。（１）メインルーチンの動作
まず、本実施例による電子楽器に電源が投入されると、ＣＰＵ３はＲＯＭ４から所定の制御プログラムをロードし、図３に示すメインルーチンを実行してステップＳＡ２に処理を進める。ステップＳＡ２では、ＲＡＭ５に設定される各種レジスタやフラグ類をリセットすると共に、音源６に対して発音チャンネルレジスタをゼロクリアするよう指示する。発音チャンネルレジスタとは、音源６内部に設けられるレジスタであって、ＣＰＵ３の指示の下に各発音チャンネル毎に割り当てられる楽音パラメータを一時記憶する。
【００１５】
各種レジスタ類を初期化するイニシャライズが完了すると、ＣＰＵ３は次のステップＳＡ４に処理を進め、コンソールパネル２の各種スイッチ操作に応じたスイッチ処理、例えば、前述したコード進行選択スイッチや伴奏パターン選択スイッチの操作に応じた設定を行い、続いて、ステップＳＡ６に進むと、押離鍵操作に対応してメロディ音を発音／消音するメロディ発音処理を行う。次いで、ステップＳＡ８に進むと、上記ステップＳＡ４において設定された伴奏パターンとコード進行パターンとに基づき、所定テンポに同期して伴奏音を発音する伴奏発音処理を行う。
【００１６】
そして、この後、ステップＳＡ１０に処理を進め、例えば、コンソールパネル２の各種スイッチ操作を検出すべくスイッチ走査や、このスイッチ走査により検出されたスイッチ設定状況に応じて液晶表示部を更新表示する等、その他の処理を行う。
この後、ＣＰＵ３はステップＳＡ４に処理を戻し、以後ステップＳＡ４〜ＳＡ８を繰り返して押離鍵操作やスイッチ操作の内容に従って音源６に楽音発生を指示する。
【００１７】
（２）スイッチ処理ルーチンの動作
まず、演奏操作に先立ってコード進行パターンを決めるべく、演奏者がコンソールパネル２のコード進行選択スイッチを操作したとする。そうすると、ＣＰＵ３は上述したステップＳＡ４を介して図４に示すスイッチ処理ルーチンを実行してステップＳＢ２に処理を進める。ステップＳＢ２に進むと、図５に示すコード進行選択スイッチ処理ルーチンをコールしてステップＳＣ２を実行する。
【００１８】
ステップＳＣ２では、コード進行選択スイッチが操作されたか否か、当該選択スイッチイベントが発生したかどうかを判断する。そして、この場合には、コード進行選択スイッチが操作されるものとしたから、判断結果は「ＹＥＳ」となり、次のステップＳＣ４へ処理を進める。ステップＳＣ４では、このコード進行選択スイッチの操作によって選択されたコード進行番号ＣＮをコードレジスタＣＲにストアする。なお、このコードレジスタＣＲは、ＲＡＭ５の所定レジスタ領域に確保されるものである。
【００１９】
こうしてコード進行番号ＣＮがコードレジスタＣＲにストアされた後、続いて、伴奏パターン選択スイッチが操作されると、ＣＰＵ３は再び上述したステップＳＢ２を介してステップＳＣ２（図５参照）に処理を実行するが、この場合、コード進行選択スイッチの操作ではないから、判断結果は「ＮＯ」となり、コード進行選択スイッチ処理ルーチン（図５）を終了して図４に示すスイッチ処理ルーチンに復帰してステップＳＢ４に進み、その他のスイッチ処理を行う。
すなわち、この場合には、伴奏パターン選択スイッチの操作に応じて選択された伴奏パターンを表わす情報が所定のレジスタにセットされる。これにより、ＣＰＵ３は音源６に対して伴奏パターンメモリ９から選択された伴奏パターンを読み出すよう指示する。
【００２０】
（３）鍵変化割込み処理ルーチン
上述したスイッチ処理ルーチンによって自動伴奏に必要なコード進行パターンおよび伴奏パターンが設定された後、演奏者が鍵盤１を鍵操作すると、ＣＰＵ３は鍵イベントを検出して図６に示す鍵変化割込み処理ルーチンを実行してステップＳＤ２に処理を進める。
ステップＳＤ２では、検出した鍵操作が押鍵であるか否かを判断する。ここで、押鍵操作された場合、判断結果は「ＹＥＳ」となり、次のステップＳＤ４に処理を進める。ステップＳＤ４では、押鍵に応じて生成される音高情報（キーナンバ）やベロシティ情報をＲＡＭ５の所定の記憶エリアにストアする。
【００２１】
次いで、ステップＳＤ６に進むと、既に押鍵中の鍵が存在しているか否かを判断する。ここで、押鍵中の鍵が存在する場合、すなわち、前に為された押鍵と新たな押鍵とを繋げるスラー奏法がなされている時には、判断結果が「ＹＥＳ」となり、この割込み処理ルーチンを終了してメインルーチンへ復帰する。
一方、押鍵中の鍵が存在しない場合には、上記ステップＳＤ６の判断結果が「ＮＯ」となり、ステップＳＤ８に処理を進める。ステップＳＤ８では、前述したコード番号レジスタＣＮに格納されるコード番号ＣNUMをインクリメントする。そして、次のステップＳＤ１０に進むと、コード進行番号レジスタＣＲに格納されるコード進行番号ＣＰＮと、上記コード番号レジスタＣＮに格納されるコード番号ＣNUMとを読み出し、このコード進行番号ＣＰＮとコード番号ＣNUMとに応じてコード進行パターンメモリ９からコードデータを読み出す。続く、ステップＳＤ１２では、読み出したコードデータをレジスタＣにストアする。
【００２２】
なお、上記ステップＳＤ２において、検出した鍵操作が離鍵である時には、ステップＳＤ２の判断結果が「ＮＯ」となり、ステップＳＤ１４に処理を進め、離鍵された鍵に対応した音高情報（キーナンバ）をＲＡＭ５の所定の記憶エリアにストアする。
このように、鍵変化割込み処理ルーチンにあっては、押鍵操作あるいは離鍵操作に対応して生成される演奏情報（キーオン／オフ、キーナンバ、ベロシティ）を所定の記憶エリアにストアする一方、前押鍵操作に重複しない新押鍵がなされた時には自動伴奏に必要なコードデータを更新し、一方、スラー奏法により前押鍵と新押鍵とが重複した場合には、新押鍵に応じてコードデータを更新せずに、前押鍵に対応したコードデータを保持するようになっている。
【００２３】
（４）メロディ発音処理ルーチン
上述した鍵変化割込み処理ルーチンによって押離鍵操作に応じた演奏情報がＲＡＭ５の所定記憶エリアにセットされると、ＣＰＵ３は前述したメインルーチンのステップＳＡ６（図３参照）を介して図７に示すメロディ発音処理ルーチンを実行してステップＳＥ２に処理を進める。
ステップＳＥ２では、押鍵に対応する音高データ（キーナンバ）およびオンフラグが一時記憶される記憶エリア中で、離鍵された鍵のオンフラグをオフ状態に設定する。つまり、離鍵された鍵のオンフラグをオフ状態に設定することで、押鍵された鍵の音高データ（キーナンバ）を発音チャンネルにアサインする。
【００２４】
次いで、ステップＳＥ４に進むと、ＣＰＵ３は、発音割り当てされた発音チャンネル番号、すなわち、オンフラグがセットされた発音チャンネルを表わすデータと音高データ（キーナンバ）やベリシティ情報等をＲＡＭ５の記憶エリアから読み出し、これを音源６に送出する。これにより、音源６は指定された発音チャンネルにおいて、指定音色の波形データを音高データに応じた速度で読み出し、これをベロシティでレベル制御してなる楽音信号Ｗとして出力する。この結果、スピーカＳＰより当該楽音信号Ｗに対応したメロディ音が発音される。
【００２５】
（５）伴奏発音処理ルーチン
以上のようにしてメロディ発音がなされると、ＣＰＵ３は前述したメインルーチンのステップＳＡ８（図３参照）を介して図８に示す伴奏発音処理ルーチンを実行してステップＳＦ２に処理を進める。
ステップＳＦ２では、コードレジスタＣからコードデータを読み出す一方、読み出したコードデータに応じて伴奏パターンの各音を音高変換して伴奏用音高データを生成する。次いで、ステップＳＦ４に進むと、この生成された伴奏用音高データを音源６の伴奏音源へ供給する。これにより、伴奏音が生成される。
【００２６】
すなわち、前押鍵操作に重複しない新押鍵がなされる場合には、前述した鍵変化割込み処理ルーチンによってコード番号ＣNUMがインクリメントされるため、例えば、選択されたコード進行番号ＣＰＮが「０１」の場合、その押鍵毎にコードデータが「Ｃ」，「Ａｍ」，「Ｄｍ」および「Ｇ7」の順に巡回更新され、これに応じて伴奏パターンの各音を音高変換してなる伴奏用音高データに基づき伴奏音が生成される。
これに対し、例えば、いま、前押鍵操作により「Ａｍ」のコードデータに対応した伴奏音が発音されている最中に、スラー奏法によって当該前押鍵に繋がる新押鍵がなされると、前述した鍵変化割込み処理ルーチンによってコード番号ＣNUMが前押鍵のまま保持されるため、伴奏パターンから次に読み出される音高も、コードデータ「Ａｍ」に従って音高変換される。この結果、スラー奏法される際には和声学的に自然な伴奏音になる。
【００２７】
こうして演奏奏法に応じた伴奏音を発生すると、ＣＰＵ３は次のステップＳＦ６に進み、リズムパターンに基づくリズム伴奏や、ベースパターンに基づくベース伴奏等、その他の伴奏処理を実行した後、このルーチンを終了してメインルーチンへ復帰する。
このように、本実施例によれば、スラー奏法で押鍵操作がなされた場合、前押鍵に対応したコードによる自動伴奏が行われるようにしたので、演奏者の意図しないタイミングでコードチェンジがなされてしまい、伴奏音が不自然になるという従来の弊害を回避し得る。
【００２８】
【発明の効果】
本発明では、コード進行記憶手段に和音を指定するコードデータを楽曲の進行順に記憶しておき、押鍵検出手段により鍵盤のいずれかの鍵の押鍵が検出された際に、他の鍵が押鍵中であるか否かを判定手段により判定することにより、押鍵検出手段により押鍵が検出され、かつ判定手段により他の鍵が押鍵中でないと判定される毎に前記コード進行記憶手段からコードデータを順次に読み出して保持手段により保持し、伴奏発音指示手段がこの保持手段によって保持されたコードデータに応じて伴奏パターンの各音を逐次音高変換して伴奏音の発音を指示する。したがって、演奏操作が重なり合うスラー演奏が為された場合には、前に為された演奏操作に対応したコードデータに従って伴奏音の発音が指示され、スラー演奏でない場合には予め記憶されたコード進行で伴奏音が発音されるので、演奏者が意図したタイミングでコードチェンジすることが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施例による自動伴奏装置を具備した電子楽器の構成を示すブロック図である。
【図２】同実施例におけるコード進行パターンメモリ９の記憶形態を説明するメモリマップである。
【図３】同実施例におけるメインルーチンの動作を説明するためのフローチャートである。
【図４】同実施例におけるスイッチ処理ルーチンの動作を説明するためのフローチャートである。
【図５】同実施例におけるコード進行選択スイッチ処理ルーチンの動作を説明するためのフローチャートである。
【図６】同実施例における鍵変化割込み処理ルーチンの動作を説明するためのフローチャートである。
【図７】同実施例におけるメロディ発音処理ルーチンの動作を説明するためのフローチャートである。
【図８】同実施例における伴奏発音処理ルーチンの動作を説明するためのフローチャートである。
【符号の説明】
１  鍵盤
２  コンソールパネル
３  ＣＰＵ（コード読み出し手段、伴奏発音手段）
４  ＲＯＭ
５  ＲＡＭ
６  音源（伴奏発音手段）
７  波形メモリ
８  伴奏パターンメモリ
９  コード進行パターンメモリ（コード進行記憶手段）
【図１】
0003543159.tif 000002
【図２】
0003543159.tif 000003
【図３】
0003543159.tif 000004
【図４】
0003543159.tif 000005
【図５】
0003543159.tif 000006
【図６】
0003543159.tif 000007
【図７】
0003543159.tif 000008
【図８】
0003543159.tif 000009