(57)【要約】   【課題】自動伴奏パターンを構成する音符の音高を音楽的に適切に変更することができる自動伴奏装置を提供する。  【解決手段】Ｓ３３により処理されたノートと、押鍵により指示されたコードの複数の構成音毎に音高に対応する音名との音高差を算出して音高が近い（音高差が小さい）ものから順に並べたコード構成音リストを作成し、そのコード構成音リストの先頭の音高を指定する（Ｓ３４）。このＳ３４の処理において作成されたコード構成音リストは、ＲＡＭ９のコード構成音リストメモリ９ｂに記憶される。次に、変換情報テーブルを参照し、指定された音高が、現在発音中の音高のいずれかの音高と同一の音名か否かを判断する（Ｓ３６）。現在発音中の音高の音名と同一でなければ（Ｓ３６：Ｎｏ）その音高のノートオンを音源４へ送出する（Ｓ４８）。  【選択図】    図７
2005222052.tif 000002
【特許請求の範囲】
【請求項１】
ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えた自動伴奏装置において、
前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、前記入力手段に入力されたコード情報によって特定されるコードの構成音の音名のいずれかに一致する場合は、前記音符情報が示す音高を変更せず、前記入力手段に入力されたコード情報によって特定されるコードの構成音のいずれにも一致しない場合は、その音高を、前記入力手段により入力されたコード情報が有するルート情報に基づいて変更する音高変更手段とを備え、前記自動伴奏手段は、前記音高変更手段により形成された音高に基づいて自動伴奏を行うこと特徴とする自動伴奏装置。
【請求項２】
ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えた自動伴奏装置において、
前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高が、その音符情報に割り当てられたコードの構成音である場合は、前記入力手段に入力されたコード情報により特定されるコードを構成する複数の音高の音名と前記自動伴奏を構成する音符情報が示す音高の音名との音高差を検出する検出手段と、
その検出手段により検出された複数の音高の音名と前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高の音名との音高差のうち最も小さい音高差の音名に対応する音高に、前記音符情報が示す音高を変更する音高変更手段とを備え、前記自動伴奏手段は、前記音高変更手段により形成された音高に基づいて自動伴奏を行うこと特徴とする自動伴奏装置。
【請求項３】
前記音高変更手段により変更された音高が、現在発音中であるかを否かを検出する検出手段と、その検出手段により前記音高変更手段により変更された音高が発音中であると検出された場合は、前記入力手段により入力されたコードを構成する複数の音高の音名のうち、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高の音名との音高差が次に小さい音名に対応する音高に変更する第２の音高変更手段を備えていることを特徴とする請求項２記載の自動伴奏装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動伴奏パターンをコード情報に応じて変更し自動伴奏を行う自動伴奏装置に関する。
【背景技術】
【０００２】
従来、自動伴奏装置には、複数パートからなる自動伴奏パターンを記憶し、鍵盤等から指示されたコード情報に従って変更（オルタレーション）して出力する機能、すなわち指示されたコードに従って伴奏パターンの一部の音符の音高を上げる、または下げるなどして出力する機能を備えたものが知られている。
【０００３】
特開平１１−２１９１８２号公報（特許文献１）には、音楽的な役割に応じたオルタレーションの仕方で自動伴奏を行うことができる自動伴奏装置が開示されている。例えば、イントロやエンディングのような部分では、旋律を主体とした伴奏が形成されているので、指定されたコード情報のルート情報だけに応じて全体的に音高をシフトする。このオルタレーションの仕方をオブリガートタイプと呼んでいる。一方、楽曲のメイン部分については、コード情報の変化に応じて伴奏の音域が大きく変化しないように、シフト量が少なくなるようなオルタレーションを行っている。このオルタレーションの仕方をコードタイプと呼んでいる。
【特許文献１】特開平１１−２１９１８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された自動伴奏装置において、コードタイプによるオルタレーションを行う場合、伴奏パターンを構成する音符情報の音高が指定されたコード情報により特定されるコード構成音である場合には、他のコード構成音へ変更され、音高が跳躍するという問題点があった。また、コード構成音でない音高は、コード構成音ではない他の音高に変更され、やはり音高が大きく変動し音楽的に好ましくない伴奏パターンに変化してしまうことがあった。
【０００５】
本発明はかかる問題点を解決するためになされたものであり、自動伴奏パターンを構成する音符の音高を音楽的に適切に変更することができる自動伴奏装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決するために、請求項１に記載の自動伴奏装置は、ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えたものであって、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、前記入力手段に入力されたコード情報によって特定されるコードの構成音の音名のいずれかに一致する場合は、前記音符情報が示す音高を変更せず、前記入力手段に入力されたコード情報によって特定されるコードの構成音のいずれにも一致しない場合は、その音高を、前記入力手段により入力されたコード情報が有するルート情報に基づいて変更する音高変更手段とを備え、前記自動伴奏手段は、前記音高変更手段により形成された音高に基づいて自動伴奏を行うものである。
【０００７】
請求項２記載の自動伴奏装置は、ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えたものであって、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高が、その音符情報に割り当てられたコードの構成音である場合は、前記入力手段に入力されたコード情報により特定されるコードを構成する複数の音高の音名と前記自動伴奏を構成する音符情報が示す音高の音名との音高差を検出する検出手段と、その検出手段により検出された複数の音高の音名と前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高の音名との音高差のうち最も小さい音高差の音名に対応する音高に、前記音符情報が示す音高を変更する音高変更手段とを備え、前記自動伴奏手段は、前記音高変更手段により形成された音高に基づいて自動伴奏を行うものである。
【０００８】
請求項３記載の自動伴奏装置は、前記音高変更手段により変更された音高が、現在発音中であるかを否かを検出する検出手段と、その検出手段により前記音高変更手段により変更された音高が発音中であると検出された場合は、前記入力手段により入力されたコードを構成する複数の音高の音名のうち、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高の音名との音高差が次に小さい音名に対応する音高に変更する第２の音高変更手段を備えている。
【発明の効果】
【０００９】
請求項１記載の自動伴奏装置によれば、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、入力手段に入力されたコード情報によって特定されるコードの構成音の音名のいずれかに一致する場合は、音符情報が示す音高を変更せず、前記入力手段に入力されたコード情報によって特定されるコードの構成音のいずれにも一致しない場合は、その音高を、前記入力手段により入力されたコード情報が有するルート情報に基づいて変更する音高変更手段とを備えているので、鍵盤等により新たなコードが指定された場合に、自動伴奏パターンの音高が大きく変更されることがなく、音高の変動が少なくなるので自動伴奏パターンを構成する音符の音高を音楽的に適切に変更することができるという効果がある。
【００１０】
請求項２記載の自動伴奏装置によれば、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高が、その音符情報に割り当てられたコードの構成音である場合は、入力手段に入力されたコード情報により特定されるコードを構成する複数の音高の音名と自動伴奏を構成する音符情報が示す音高の音名との音高差を検出する検出手段と、その検出手段により検出された複数の音高の音名と前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高の音名との音高差のうち最も小さい音高差の音名に対応する音高に、音符情報が示す音高を変更する音高変更手段とを備えているので、自動伴奏パターンの音符は、鍵盤等により新たなコードが指定された場合に、自動伴奏パターンの音高が鍵盤等により指定されたコードの構成音のうち、最も音高差が小さい音高に変更され、音高の変動が少なくなるので自動伴奏パターンを構成する音符の音高を音楽的に適切に変更することができるという効果がある。
【００１１】
請求項３記載の自動伴奏装置によれば、請求項３記載の自動伴奏装置の奏する効果に加え、音高変更手段により変更された音高が、現在発音中であるかを否かを検出する検出手段と、その検出手段により前記音高変更手段により変更された音高が発音中であると検出された場合は、入力手段により入力されたコードを構成する複数の音高の音名のうち、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高の音名との音高差が次に小さい音名に対応する音高に変更する第２の音高変更手段を備えているので、鍵盤等により新たなコードが指定された場合に、自動伴奏パターンの音高が大きく変更されることがなく、さらに同じ音高が連続することがないので、自動伴奏に変化を付与することができるという効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態である自動伴奏装置１の外観を示した平面図である。自動伴奏装置１は、鍵盤５と、各種スイッチなどの操作子６と、表示器１１とを筐体の外部に露出して有し、筐体内部に、処理ユニット３と、メモリユニット７とを備えている。自動伴奏装置１により形成された楽音は、図示しない出力端子から出力され、スピーカ２に送られる。
【００１３】
処理ユニット３には、音源４と、ＣＰＵ（中央演算処理装置）１０が搭載され、メモリユニット７には、複数の自動伴奏パターン（伴奏シーケンス）を記憶するＲＯＭ８（リード・オンリ・メモリ）と、その複数の自動伴奏パターンのうち操作子６を使用者が操作することにより選択された自動伴奏パターンがＲＯＭ８から読み出されて記憶されるＲＡＭ９（ランダム・アクセス・メモリ）とが搭載される。鍵盤５は、演奏を行う演奏操作子であって、メロディを演奏するための鍵域（メロディ鍵域）と、コードを指定するための鍵域（コード鍵域）とが備えられている。
【００１４】
自動伴奏装置１の操作パネルには、操作子６と表示器１１とが備えられている。操作子６として、演奏のテンポを設定するテンポ設定スイッチや、自動伴奏パターンを選択する伴奏パターン選択スイッチや、自動演奏の開始または停止を指示するスタート・ストップスイッチ等が備えられている。
【００１５】
テンポ設定スイッチは、自動伴奏のテンポを設定する操作子で、伴奏パターン選択スイッチにより選択された伴奏パターンには、予め所定のテンポ値が設定されており、このテンポ設定スイッチを操作しない場合には、その予め設定されているテンポで演奏され、テンポ設定スイッチが操作された場合は、そのテンポ値が変更される。
【００１６】
伴奏パターン選択スイッチは、自動伴奏のパターンを選択するスイッチである。ロック、ジャズ、ポップス、クラシックなどのジャンルに対応して、それらのジャンルに適合した伴奏情報がＲＯＭ８に記憶され、この伴奏パターン選択スイッチにより、いずれかを選択し、自動的に伴奏を演奏させることができる。
【００１７】
スタート・ストップスイッチは、自動伴奏を開始または停止するように指示するスイッチである。自動伴奏の停止中に、スタート・ストップスイッチが操作された場合には、自動伴奏が開始され、自動伴奏が実行されている時に、スタート・ストップスイッチが操作された場合には、自動伴奏が停止される。なお、自動伴奏装置１には、これらの操作子の他に、図示しないが、フィルインやイントロ、エンディングなどのディビジョンを指定するスイッチや、各パートの音色を設定するスイッチや音量を調整するボリュームなどが備えられているが、本発明の要旨ではないのでその説明を省略する。
【００１８】
表示器１１は、ＬＣＤなどにより構成されるもので、伴奏パターン選択スイッチにより選択された伴奏パターン名や、設定されているテンポの値が数値で表示される。
【００１９】
次に、図２を参照して自動伴奏装置１の電気的構成について説明する。図２は、自動伴奏装置１の電気的構成を示したブロック図である。自動伴奏装置１は、ＣＰＵ１０と、そのＣＰＵ１０により実行される制御プログラムや複数の自動伴奏パターン等を記憶したＲＯＭ８と、ＣＰＵ１０が制御プログラムを実行する際の作業用のメモリエリア等を提供するＲＡＭ９と、演奏を行うための鍵盤５と、各種パラメータを設定したり自動伴奏装置１に指示を行う操作子６と、その操作子６により設定されたパラメータなどを表示する表示器１１と、ＣＰＵ１０により送信された演奏情報に対応した楽音信号を生成する音源４とを備え、これらはバスラインにより相互に接続されている。また、音源４の出力は、アンプ１２に入力され、アンプ１２は、スピーカ２を駆動する。
【００２０】
ＲＯＭ８には、図３，４，６，７に示すフローチャートの処理を行う制御プログラムや、図５に示す伴奏パターンなどが記憶されている。伴奏パターンは、ロック、ジャズ、ポップス、クラシックなどのジャンル毎に分けられ、さらに各ジャンル毎の伴奏パターンは、イントロ、メイン１、フィルイン１、メイン２、フィルイン２、エンディングと言ったディビジョン毎に記憶されている。
【００２１】
ＲＡＭ９には、上述の通り、使用者により選択された自動伴奏パターンを記憶する自動伴奏パターンメモリ９ａと、自動伴奏の処理により自動伴奏パターンを構成する音符の音高を変換する際に、その音符と押鍵により指示されたコードの各構成音との音程を検出し、その音程が小さい音高から順に構成音を並べたコード構成音リストを記憶するコード構成音リストメモリ９ｂと、自動伴奏パターンの音符の音高と、その音符の音高が変換された音高とを示す変換情報を記憶する変換情報テーブルメモリ９ｃとを有する。
【００２２】
この変換情報テーブルメモリ９ｃには、使用者が押鍵によりコードを指定し、自動伴奏パターンを構成する音符のノートオンが読み出されて、指定されたコードに応じてノートオンが音源へ送出された際に、その自動伴奏パターンの音符の音高が、いずれの音高へ変換されて音源へ送出されたかを示す変換情報を記憶し、その音高に対応するノートオフが自動伴奏パターンから読み出された際に消去される。
【００２３】
ＣＰＵ１０は、メロディ鍵域において鍵が操作されたことを検出した場合は、その操作に対応する発音開始、または発音停止などの演奏情報を音源４に送信する。一方、コード鍵域において鍵が操作されたことを検出した場合は、その操作によりコードが確定されたか否かを判断する。コードが確定されない場合には、何も行わず、コードが確定された場合には、そのコードのルート情報（ルート）とコード種類情報（コードタイプ）とを求める。そのルート情報とコード種類情報とに基づいて、ＲＡＭ９の伴奏パターンメモリ９ａから読出した伴奏パターンを処理し、その処理を行った演奏情報を音源４に送信する。
【００２４】
次に、図３および図４を参照して、ＣＰＵ１０がＲＯＭ８に記憶された制御プログラムに従って実行する処理について説明する。図３は、メイン処理を示すフローチャートであって、自動伴奏装置１の電源が投入されてから遮断されるまで実行される処理である。
【００２５】
まず、初期化処理を行う（Ｓ１）。この初期化処理としては、自動伴奏を行うための時刻を０に設定したり、表示器７に所定の初期画面を表示する処理などを行う。次に、押鍵イベントが発生したか否かを判断する（Ｓ２）。ここでは、メロディ鍵域についての処理は、説明を簡単にするため省略し、コード鍵域において押鍵または離鍵があったか否かを判断する。
【００２６】
押鍵イベントが発生していない場合は（Ｓ２：Ｎｏ）、Ｓ５の処理へ進み、押鍵イベントが発生した場合は（Ｓ２：Ｙｅｓ）、押鍵の変化によりコードが確定されたか否かを判断する（Ｓ３）。このコードの確定とは、例えば、鍵が一つだけしか押下されなかった場合は、コードは確定せず、２つ以上押された場合であって、その押鍵によりコードのルートとタイプとを特定することができる場合を、コードが確定したという。
【００２７】
コードが確定しない場合は（Ｓ３：Ｎｏ）、Ｓ５の処理へ進み、コードが確定された場合は（Ｓ３：Ｙｅｓ）、コードのルートとタイプとを求める（Ｓ４）。なお、複数の押鍵からコードのルートとタイプを求める方法については、各種の方法が公知である。求められたコードのルートとタイプとは、ＲＡＭ９の所定の記憶領域に記憶する。なお、コードを構成する複数のコード構成音は、コードの種類毎にＲＯＭ８に記憶されており、コードが確定してコード構成音に基づいて処理を行う場合は、ＲＯＭ８を参照してコード構成音を取得する。
【００２８】
次に、クロックイベントが発生したか否かを判断する（Ｓ５）。このクロックイベントは、ＣＰＵ１０に図示しないタイマが設けられ、自動伴奏が開始されると、ティックの時間間隔で、タイマがＣＰＵ１０に指示するイベントである。このティックとは、テンポ値に対応する時間間隔であり、テンポ値により特定される１拍の時間長さを所定の値（例えば、１２０）で除算した時間である。例えば、テンポ値が１２０であれば、１拍の長さは、５００ｍｓｅｃであり、これを１２０で除算すると１ティックは、４．１７ｍｓｅｃとなる。
【００２９】
このクロックイベントが発生した場合は（Ｓ５：Ｙｅｓ）、後述するクロックイベント処理を実行する。クロックイベントが発生していない場合（Ｓ５：Ｎｏ）およびクロックイベント処理を終了した場合は、次に操作パネルの操作子が操作されたか否かを判断する（Ｓ８）。操作子が操作された場合は（Ｓ７：Ｙｅｓ）、後述する操作子処理を行う。操作子が、操作されていない場合（Ｓ７：Ｎｏ）および操作子処理を終了した場合は、Ｓ２の処理に戻る。
【００３０】
次に、図４を参照して、操作子処理について説明する。図４は、操作子処理を示すフローチャートである。まず、テンポ設定ツマミが操作されてテンポ値が変更されたか否かを判断する（Ｓ１１）。テンポ値が変更された場合は（Ｓ１１：Ｙｅｓ）、変更されたテンポ値に応じてティックの値を算出し、算出された時間間隔でタイマがＣＰＵ１０に指示を行うように、タイマを設定する（Ｓ１２：テンポ変更処理）。
【００３１】
テンポ変更処理を終了した場合、またはテンポ値が変更されていない場合（Ｓ１１：Ｎｏ）は、次に、伴奏パターン選択スイッチが操作されて、伴奏パターンが変更されたか否かを判断する（Ｓ１３）。
【００３２】
伴奏パターンが変更された場合は（Ｓ１３：Ｙｅｓ）、変更された伴奏パターンにより自動伴奏が行われるように設定するとともに、変更された伴奏パターンに設定されているテンポ値に応じてティックの値を算出し、算出された時間間隔でタイマがＣＰＵ１０に指示を行うように、タイマを設定する（Ｓ１４：パターン変更処理）。
【００３３】
パターン変更処理を終了した場合、または伴奏パターンが変更されていない場合（Ｓ１３：Ｎｏ）は、次に、スタート・ストップスイッチが操作されたか否かを判断する（Ｓ１５）。スタート・ストップスイッチが操作された場合は（Ｓ１５：Ｙｅｓ）、自動伴奏を停止している時は、自動伴奏を開始するようにタイマの計時を開始し、自動伴奏を行っている時は、自動伴奏を停止するようにタイマの計時を停止する（Ｓ１６：スタート・ストップ変更処理）。スタート・ストップ変更処理を終了した場合、またはスタート・ストップスイッチが操作されていない場合は（Ｓ１５：Ｎｏ）、この操作子処理を終了してメイン処理へ戻る。
【００３４】
次に図５を参照してＲＯＭ８に記憶されている伴奏パターンのデータについて説明する。図５は、伴奏パターンを構成するデータの一例を示している。伴奏パターンは、演奏が行われる順に、時間（ｄｔ）に対応してイベントであるＭＩＤＩメッセージが記憶されている。時間は、つぎのＭＩＤＩメッセージが音源４に送られるまでの時間であり、この時間の単位は、ティックである。
【００３５】
ＭＩＤＩメッセージは、ＭＩＤＩ規格により定められた通信される情報で、音色などを設定するプログラムチェンジや、音量などを設定するコントロールチェンジや、発音の開始を指示するノートオンなどが規定されている。ＭＩＤＩメッセージは、チャネル番号により、複数の演奏パートをそれぞれ制御することができる。
【００３６】
図５に示された例では、第１番目のデータは、時間が０に設定され、ＭＩＤＩメッセージとしてプログラムチェンジが記憶されている。従って、演奏の開始と同時に、このプログラムチェンジにが、音源４に送られる。音源４は、このプログラムチェンジを受信すると、プログラムチェンジにより指定されるパートの音色をプログラムチェンジにより指定される音色に設定する。
【００３７】
第２番目のデータは、時間が０に設定され、ＭＩＤＩメッセージとして、コントロールチェンジが記憶されている。第１番目のデータの時間が０に設定されているので、このコントロールチェンジも、演奏の開始と同時に音源４に送られる。音源４は、このコントロールチェンジを受信すると、コントロールチェンジにより指定されるパートの音量などを設定する。
【００３８】
第３番目のデータは、時間が０に設定され、コード（Ｃ：Ｃメジャーのコードを表す）のルートと種類を示すデータが記憶されている。第２番目のデータの時間が０に設定されているが、このコードを示すデータは、記憶されている伴奏パターンのコードのルートと種類を示し、押鍵により指定されたコード情報に従って伴奏音の音高を決定する際に使用されるものであって、音源４に送られるものではない。また、このコードは、通常の楽譜に記載される場合と同様に、次に指定されるまでの間のノートオンに対して有効である。言い替えれば、このコードは、次にコードが指定されるまでの間のノートオンに割り当てられることになる。
【００３９】
第４番目のデータは、時間が１２０に設定され、ＭＩＤＩメッセージとして、ノートオン（Ｅ：音名を表す）が記憶されている。第３番目のデータの時間が０に設定されているので、このノートオンも演奏の開始と同時に読出される。このノートオンの音高であるノートナンバは、鍵盤５により指定されるコードに応じてオルタレーションが行われ、音源４に送られる。音源４は、このノートオンを受信すると、ノートオンにより指定されるパートにおいて、ノートオンにより指定される音高の楽音をノートオンにより指定されるベロシティ（押鍵速度）に応じた音量で発音する。
【００４０】
第５番目のデータは、時間が６０に設定され、ＭＩＤＩメッセージとして、ノートオン（Ｆ）が記憶されている。第４番目のデータの時間が１２０に設定されているので、第３番目のデータのノートオンが音源４に送られてから、１２０ティック後に、この第４番目のノートオンがオルタレーションされて音源４に送られる。
【００４１】
第６番目のデータは、時間が２に設定され、ＭＩＤＩメッセージとして、ノートオフ（Ｅ）が記憶されている。第５番目のデータの時間が６０に設定されているので、第４番目のデータのノートオンが音源４に送られてから６０ティック後に読出される。ノートオンが音源４に送られた際に、いずれの音高をいずれの音高に変更して音源４へ送られたかを示す変更情報がＲＡＭ９の変更情報テーブルメモリ９ｃに記憶されている。ノートオフが読出された場合には、ＲＡＭ９に記憶されている変更情報から対応する音高の変更情報を読出して、ノートオフのノートナンバを変更し、音源４に送られる。ノートオフが送られると、変更情報テーブルメモリ９ｃに記憶された該当する変更情報が消去される。
【００４２】
音源４は、ノートオフを受信すると、ノートオフにより指定されるパートにおいて、ノートオフにより指定される音高の楽音をノートオフにより指定されるベロシティ（離鍵速度）に応じた速さで減衰させる。以下、同様に、伴奏パターンは、記憶されている。
【００４３】
次に、図６を参照してクロックイベントについて説明する。図６は、ティック時間間隔により起動されるクロックイベント処理を示すフローチャートである。
【００４４】
まず、時間を表す変数ｔを１減じる（Ｓ２１）。この変数ｔは、伴奏パターンに順次記憶されたイベントを時間経過に従って実行するためのもので、一つのイベントが実行されると、その次に実行されるイベントまでの時間が設定され、変数ｔが０になれば、そのイベントを実行するようになされたものである。
【００４５】
次に、時間の変数ｔが、０または、負の値であるか否かを判断する（Ｓ２２）。時間の変数ｔが、正の値である場合は（Ｓ２２：Ｎｏ）、このクロックイベント処理を終了してメイン処理へ戻る。時間の変数ｔが０または負の値である場合は（Ｓ２２：Ｙｅｓ）、イベントであるＭＩＤＩメッセージを読み出し（Ｓ２３）、そのＭＩＤＩメッセージがノートオンまたはノートオフを示すノート情報か否かを判断する（Ｓ２４）。ノート情報である場合は（Ｓ２４：Ｙｅｓ）、後述するノート情報処理を行う（Ｓ２５）。
【００４６】
ノート情報処理を行った後、その処理されたノート情報または、Ｓ２４の判断処理で、ノート情報ではないと判断したＭＩＤＩメッセージを音源４へ送信し（Ｓ２６）、次のイベントの時間ｄｔを時間変数ｔに加算し（Ｓ２７）、Ｓ２２の処理へ戻る。
【００４７】
次に、図７を参照して、この自動伴奏装置１におけるノート情報処理について説明する。図７は、ノート情報処理を示すフローチャートであり、ここでは説明を簡単にするため、ノート情報がノートオンである場合について説明する。ノート情報がノートオフである場合には、そのノートオフに対応するノートオンの音高をＲＡＭ９の変換情報テーブルメモリ９ｃに記憶された変換情報テーブルを参照し、そのノートオンにより発音が開始された楽音を消音するように制御するものである。
【００４８】
ノートオンの処理は、まず、ノートオンの音高を示す値であるノートナンバを１２で割った剰余を求め、その剰余を新たなノートナンバとする。すなわち、最も低いオクターブに含まれるノートナンバである０から１１の値に丸める（Ｓ３１）。このことにより、ノートナンバに対応する音名に変換される。なお、ＭＩＤＩ規格では、ノートナンバ０が音名Ｃ，ノートナンバ１が音名Ｃ＃（以下同様）というように規定されている。
【００４９】
次に、この丸められた音高が、ベーシックノートか否かを判断する（Ｓ３２）。ベーシックノートとは、このノートに割り当てられているコードの構成音である。例えば、コードが、Ｃであれば、Ｃ，Ｅ，Ｇがベーシックノートであり、コードがＣｍであれば、Ｃ，Ｅ♭、Ｇがベーシックノートである。割り当てられているコードは、図５において、ノートオンの直前に指定されているコードであり、例えば第４番目のデータであるノートオン（Ｅ）および第５番目のデータであるノートオン（Ｆ）に割り当てられているコードは、第３行目のコード（Ｃ）である。よって、ノートオン（Ｅ）は、ベーシックノートであり、第５番面のデータであるノートオン（Ｆ）は、ベーシックノートではない。
【００５０】
ノートオンのノートナンバが、コード構成音である場合には（Ｓ３２：Ｙｅｓ）、押鍵により指示されたコードの種類に応じてオルタレーションを行う（Ｓ３３）。このオルタレーションとは、伴奏パターンに記憶されているコードの種類と、押鍵により指示されたコードの種類が異なる場合に、押鍵により指示されたコードの種類に適合するように変換するものである。例えば、伴奏パターンとして、メジャーコードが指定され、押鍵によりマイナーのコードが指定された場合は、第３音を半音下げるという変換を行うものである。より具体的には、伴奏パターンのノートオンがＥであってＣメジャーのコードが割り当てられている場合に、押鍵により、ルートの音高にかかわらずマイナーのコードが指定された場合には、Ｅ♭に変換される。なお、ノートオンが、ＣまたはＧの場合には、変換されない。
【００５１】
次に、Ｓ３３により処理されたノートと、押鍵により指示されたコードの複数の構成音毎に音高に対応する音名との音高差を算出して音高が近い（音高差が小さい）ものから順に並べたコード構成音リストを作成し、そのコード構成音リストの先頭の音高を指定する（Ｓ３４）。したがって、Ｓ３３により処理されたノートがコードの構成音のいずれかに一致する場合は、その一致する音高が先頭の音高として指定される。
【００５２】
このＳ３４の処理において作成されたコード構成音リストは、ＲＡＭ９のコード構成音リストメモリ９ｂに記憶される。なお、ここでいう音高差とは、単純なノートナンバの差ではなく、オクターブを構成する１２音がリング状に配置されているとして、そのリング上の２音の音高差である。例えば、ノートナンバが１と５との差は、単純に引き算をして、４であるが、ノートナンバが１と１１との差は、１に１２を加算して１３とし、１１との差である２が、音高差である。
【００５３】
次に、その指定された音高が、ノートナンバ５０より小さい場合は、１２を加算してオクターブ高い音高とする（Ｓ３５）。次に、Ｓ３５の処理を終えた音高が、変換情報テーブルを参照し、現在発音中の音高のいずれかの音高と同一の音名か否かを判断する（Ｓ３６）。現在発音中の音高の音名と同一でなければ（Ｓ３６：Ｎｏ）、伴奏パターンや音色に応じた好ましい音高範囲となるよう適宜オクターブ変更を行い（Ｓ５３）その音高のノートオンを音源４へ送出する（Ｓ４８）。
【００５４】
一方、Ｓ３６の判断処理において、現在発音中の音高と同一の音名であると判断された場合は（Ｓ３６：Ｙｅｓ）、現在発音中の音高と、同じオクターブであるか否かを判断する（Ｓ３７）。現在発音中の音高と同じオクターブではない場合は（Ｓ３７：Ｎｏ）、次にその発音中の音高が、伴奏パターンに記憶されている元の音高の音名と同じ音名に基づいて生成されたものであるか否かを判断し（Ｓ４１）伴奏パターンに記憶されている音高の音名と同じ音名から生成された場合は（Ｓ４１：Ｙｅｓ）、音色に応じてオクターブ調整を行い（Ｓ５３）、その音高のノートオンを音源４に送出する。
【００５５】
Ｓ３７の処理において、その指定された音高が、現在発音中の音高と同じオクターブである場合（Ｓ３７：Ｙｅｓ）、またはＳ４１の判断処理において、その音高が伴奏パターンに記憶されている音高の音名と同じ音名に基づくものではない場合（Ｓ４１：Ｎｏ）は、次に、その指定された音高が、Ｓ３４の処理において作成されたコード構成音リストの最後の音高であるか否かを判断する（Ｓ３８）。
【００５６】
その指定された音高が、コード構成音リストの最後の音高ではない場合は（Ｓ３８：Ｎｏ）、順にリストされている音高のうち、現在指定されている音高の次にリストされている音高を指定し（Ｓ３９）、Ｓ３５の処理へ戻る。
【００５７】
Ｓ３８の処理において、指定された音高が、コード構成音リストの最後の音高の場合は（Ｓ３８：Ｙｅｓ）、コード構成音リストの最初に記憶されている音高の音名（最も伴奏パターンの音名に近い音高）を、今回発音する音名に決定し（Ｓ４０）、音色などに応じてオクターブ調整を行う（Ｓ４５）。次に、オクターブ調整を行った音高が、現在発音中であるか否かを判断し（Ｓ４６）、発音中である場合は（Ｓ４６：Ｙｅｓ）その発音中の楽音の停止を指示するノートオフを音源４に送出し（Ｓ４７）、発音中でない場合は（Ｓ４６：Ｎｏ）は、Ｓ４７の処理をスキップして、その音高に対応するノートオンを音源４に送出する（Ｓ４８）。
【００５８】
一方、Ｓ３２の処理において、ノートオンの音高が、コード構成音ではない場合は（Ｓ３２：Ｎｏ）、押鍵により指示されたコードの構成音の音名（オクターブを無視する）と一致するか否かを判断する（Ｓ５１）。一致する場合は（Ｓ５１：Ｙｅｓ）、Ｓ４５の処理へ進み、一致しない場合は（Ｓ５１：Ｎｏ）、押鍵により指示されたコードのルートに従って、トランスポーズを行う。例えば、そのノートオンに割り当てられているコードのルートがＣであり、押鍵により指示されているコードのルートがＦであれば、完全４度高い音高へトランスポーズし、Ｓ５３の処理へ進み、オクターブ調整が行われた後、その音高のノートオンが音源４に送出される（Ｓ４８）。このことにより、音源４は、ノートオンにより指定される音高の楽音の発生を開始する。なお、このＳ４８の処理では、自動伴奏パターンに記憶されている音高が、いずれの音高に変換されたかという変換情報をＲＡＭ９の変換情報テーブル９ｃに記憶する処理も行う。
【００５９】
以上、実施形態について説明したように、伴奏パターンを構成する音符の音高が鍵盤５により指定されたコードの構成音のいずれかに一致する場合は、そのままの音高で発音を行い、鍵盤５により指定されたコードの構成音ではない場合は、所定の変換を行うようにしたので、少なくとも伴奏パターンを構成する音符の音高が鍵盤５で指定された音高に一致する場合には、鍵盤で指定される音高で発音されるので、鍵盤５により指定されるコードにより伴奏音の音高が大きく飛躍しないようにすることができる。
【００６０】
また、伴奏パターンを構成する音符の音高が、その音高に割り当てられているコードの構成音である場合は、鍵盤５により指定されたコードの各構成音の音名との音高差に基づいてコード構成音リストが作成され、まず、最も音高が近い音高に変換される。従って、伴奏パターンに記憶された音符の音高が大きく変更されることがない。
【００６１】
また、最も音高が近い音高が、すでに発音中であれば、コード構成音リストの中から順次音高が選択されるので、大きく音高が飛躍することがないとともに、変化のある伴奏を形成することができる。
【００６２】
なお、請求項１記載の音高変更手段は、図７記載のフローチャートのＳ３４の処理およびＳ５１の処理が該当する。請求項２記載の検出手段は、図７記載のフローチャートのＳ３４の処理が該当し、音高変更手段は、Ｓ３４、Ｓ３６およびＳ５３の処理が該当する。
【００６３】
また、請求項３記載の第２の音高変更手段は、Ｓ３６、Ｓ３９およびＳ５３の処理が該当する。
【００６４】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。                        
例えば、上記実施形態では、指示されるコード情報は、鍵盤５により入力されるものとしたが、予め演奏の進行に対応するコード情報（コード進行）を記憶し、演奏の進行に従ってコード情報を読み出して、そのコード情報を入力するものとしてもよい。
【００６５】
また、上記実施形態では、制御プログラムを実行することによりＣＰＵ１０が、各種のオルタレーションテーブルを参照し、伴奏パターンから読み出された音符の音高を変更するようにしたが、制御プログラムのみにより条件を判断して、音高を変更するようにしてもよい。
【００６６】
また、上記実施形態の図７に示すフローチャートの処理では、まず、Ｓ３２の処理において、Ｓ３１の処理において丸められた音高が、ベーシックノートか否かを判断し、ベーシックノートである場合と、ベーシックノートではない場合とに応じた処理を行っているが、まず、丸められた音高が、鍵盤５により指定されたコードの構成音の音名に一致するか否かを判断し、指定されたコードの構成音である場合と、指定されたコードの構成音ではない場合とに応じた処理を行うようにしてもよい。
【００６７】
また、上記実施形態では、自動伴奏パターンには、伴奏パターンに割り当てられているコードを示すコード情報が記憶されているものとしたが、伴奏パターンは、所定の調（例えばＣメジャー）で記憶されているものとしてもよい。
【００６８】
また、上記実施形態では、記憶されている複数の自動伴奏パターンの中から、使用者が自動伴奏パターンを選択する操作子６を操作することにより選択された自動伴奏パターンが選択されるものとしたが、使用者が鍵盤５などにより指示したコードのルートの音高や、そのコードの種類に応じて、自動伴奏パターンを選択するようにしてもよい。
【図面の簡単な説明】
【００６９】
【図１】本発明の自動伴奏装置の電気的構成を示したブロック図である。
【図２】自動伴奏装置の電気的構成を示したブロック図である。
【図３】メイン処理を示すフローチャートである。
【図４】操作子処理を示すフローチャートである。
【図５】伴奏パターンの一例を示す図である。
【図６】クロックイベント処理を示すフローチャートである。
【図７】ノートオン処理を示すフローチャートである。
【符号の説明】
【００７０】
１                          自動伴奏装置
４                          音源
５                          鍵盤（入力手段）
６                          伴奏パターン選択スイッチ（選択手段）
８                          ＲＯＭ（記憶手段）
９                          ＲＡＭ
１０                        ＣＰＵ
【図１】
2005222052.tif 000003
【図２】
2005222052.tif 000004
【図３】
2005222052.tif 000005
【図４】
2005222052.tif 000006
【図５】
2005222052.tif 000007
【図６】
2005222052.tif 000008
【図７】
2005222052.tif 000009