(57)【要約】      （修正有）【課題】演奏者の予定通りのタイミングでの演奏入力時に、この演奏入力を伴奏パターンデータを演奏者の意図通り反映させる自動伴奏装置及び自動伴奏方法を実現するプログラムを提供する。【解決手段】伴奏パターンデータの各ノートオンデータに基づいて各伴奏音を発音する時刻（時刻ｔ３等）よりも所定の固定時間の半分（１２５ｍｓ）だけ早い時刻（時刻ｔ１等）に、該各ノートオンイベントを先読みすると共に、上記所定の固定時間（時間ｔ１−ｔ４等）を計時するタイマをスタートさせる。上記所定の固定時間内に、前記足鍵盤から演奏入力があると、その演奏入力によって指定される音高で、伴奏パターンデータ中の対応するノートオンイベントの音高を差し替えて伴奏音を発生させる。上記所定の固定時間外に、前記足鍵盤から演奏入力があったとしても、その演奏入力に拘わらず、伴奏パターンデータ中の対応するノートオンイベントに基づいて伴奏音を発生させる。【選択図】図２
2005099442.tif 000002
【特許請求の範囲】
【請求項１】
複数の音符情報を含む伴奏パターンデータを記憶する記憶手段と、
該記憶手段に記憶された伴奏パターンデータ中の各音符情報を順次読み出す読み出し手段と、
演奏情報を入力する入力手段と、
コード情報を取得する取得手段と、
前記入力手段による演奏情報の入力が、前記読み出し手段によって読み出された音符情報に基づいて発音するタイミングを含む所定の固定時間内になされたか否かを判別する判別手段と、
該判別手段によって、当該演奏情報の入力が前記所定の固定時間以内になされたと判別されたときには、前記読み出された音符情報の音高を当該入力された演奏情報に含まれる音高に差し替えることにより、発生させるべき伴奏音の基になる音符情報を生成する一方、当該演奏情報の入力が前記所定の固定時間外になされたと判別されたときには、前記読み出された音符情報の音高を前記取得手段によって取得されたコード情報に基づいて変換することにより、発生させるべき伴奏音の基になる音符情報を生成する生成手段と、
該生成手段によって生成された音符情報に基づいて伴奏音を発生させる発生手段と
を有することを特徴とする自動伴奏装置。
【請求項２】
記憶手段に記憶された伴奏パターンデータ中の各音符情報を順次読み出す読み出し手順と、
コード情報を取得する取得手順と、
入力手段による演奏情報の入力が、前記読み出し手順によって読み出された音符情報に基づいて発音するタイミングを含む所定の固定時間内になされたか否かを判別する判別手順と、
該判別手順によって、当該演奏情報の入力が前記所定の固定時間以内になされたと判別されたときには、前記読み出された音符情報の音高を当該入力された演奏情報に含まれる音高に差し替えることにより、発生させるべき伴奏音の基になる音符情報を生成する一方、当該演奏情報の入力が前記所定の固定時間外になされたと判別されたときには、前記読み出された音符情報の音高を前記取得手順によって取得されたコード情報に基づいて変換することにより、発生させるべき伴奏音の基になる音符情報を生成する生成手順と、
該生成手順によって生成された音符情報に基づいて伴奏音を発生させる発生手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伴奏パターンデータに含まれる複数の音符情報のそれぞれを順次読み出し、該読み出した各音符情報の音高を、入力された演奏情報および検出されたコード情報に基づいて変更し、該音高の変更された音符情報に基づいて自動伴奏を行う自動伴奏装置および自動伴奏方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
伴奏パターンデータに含まれる複数の音符情報のそれぞれを順次読み出し、該読み出した各音符情報の音高を、入力された演奏情報および検出されたコード情報に基づいて変更し、該音高の変更された音符情報に基づいて自動伴奏を行う自動伴奏装置は、従来から知られている。
【０００３】
このような自動伴奏装置として、手鍵盤および足鍵盤の押鍵状態に基づいてコード種類（メジャ、マイナ等）を検出し、該検出したコード種類に対応するベース・コードパターンに従って演奏を行う際に、手鍵盤の押鍵状態に基づいて検出した根音の音名と、足鍵盤で押された鍵に対応する音名とが一致しているかどうかを判定し、一致していると判定されたときには、検出されたコード種類に対応するベースパターンおよび検出された根音に基づいてベース音を発生し、一致していないと判定されたときには、足鍵盤で押された鍵に対応するベース音を発生するようにしたものがある（たとえば、特許文献１参照）。
【特許文献１】特許第２１２５８１３号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の自動伴奏装置では、足鍵盤で押された鍵の音名と検出された根音の音名とが異なっている場合には、足鍵盤で押された鍵に対応するベース音が発生するものの、足鍵盤で押された鍵の音名と検出された根音の音名とが同じ場合、特に、足鍵盤で押された鍵に対応する音が検出された根音とオクターブ違いである場合には、足鍵盤の押鍵状態は、発生されるベース音に何の影響も与えないことから、演奏者の意図、すなわち、足鍵盤の押鍵状態を、発生されるベース音に影響させたいという意図とは異なったベース音が発生することになる。
【０００５】
また、一般に、演奏入力を判定するタイミング（時間範囲）、すなわち、上記従来の自動伴奏装置の場合には、手鍵盤および足鍵盤を用いた押鍵を判定するタイミングは、テンポを基準にしているため、演奏入力が有効か無効かを判定するタイミングは、自動伴奏時に設定されるテンポに応じて変動することになる。つまり、遅いテンポが設定されたときには、速いテンポが設定されたときより、演奏入力が有効であると判定される時間は長いため、演奏者が、予定よりもかなり早いタイミングで、間違った演奏入力をした場合でも、その演奏入力は有効と判定され、伴奏パターンデータに対して何らかの影響を与えることになる。
【０００６】
本発明は、この点に着目してなされたものであり、演奏者の予定通りのタイミングで演奏入力がなされたときに、この演奏入力を伴奏パターンデータに対して演奏者の意図通り反映させることが可能となる自動伴奏装置および自動伴奏方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の自動伴奏装置は、複数の音符情報を含む伴奏パターンデータを記憶する記憶手段と、該記憶手段に記憶された伴奏パターンデータ中の各音符情報を順次読み出す読み出し手段と、演奏情報を入力する入力手段と、コード情報を取得する取得手段と、前記入力手段による演奏情報の入力が、前記読み出し手段によって読み出された音符情報に基づいて発音するタイミングを含む所定の固定時間内になされたか否かを判別する判別手段と、該判別手段によって、当該演奏情報の入力が前記所定の固定時間以内になされたと判別されたときには、前記読み出された音符情報の音高を当該入力された演奏情報に含まれる音高に差し替えることにより、発生させるべき伴奏音の基になる音符情報を生成する一方、当該演奏情報の入力が前記所定の固定時間外になされたと判別されたときには、前記読み出された音符情報の音高を前記取得手段によって取得されたコード情報に基づいて変換することにより、発生させるべき伴奏音の基になる音符情報を生成する生成手段と、該生成手段によって生成された音符情報に基づいて伴奏音を発生させる発生手段とを有することを特徴とする。
【０００８】
また、請求項２に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【０００９】
請求項１または２に記載の発明によれば、演奏情報の入力が所定の固定時間以内になされたと判別されたときには、読み出された音符情報の音高を当該入力された演奏情報に含まれる音高に差し替えることにより、発生させるべき伴奏音の基になる音符情報が生成され、該生成された音符情報に基づいて伴奏音が発生される、すなわち、有効な演奏入力があれば、このとき取得されているコード情報に拘わらず、その演奏入力によって指定された音高の伴奏音を発生させるようにしたので、演奏者の意図したタイミングと音高の伴奏音を、伴奏パターンデータに従った伴奏音列の中に混在させることができる。また、有効な演奏入力と判定する条件として、所定の許容量を備えた時間を設定したので、演奏者の演奏入力が容易になる。さらに、この許容量を固定値、すなわち固定時間（絶対時間）としたので、演奏者は、自分でリズムを取りながら演奏入力することができ、仮に遅いテンポが設定されていたときに、予定よりもかなり早めに間違った音高の演奏を入力したとしても、この演奏は伴奏音には反映されず、予定のタイミングで正しい演奏を入力し直すことで、演奏者の意図通りの音高の伴奏音を得ることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１１】
図１は、本発明の一実施の形態に係る自動伴奏装置の概略構成を示すブロック図である。
【００１２】
同図に示すように、本実施の形態の自動伴奏装置は、音高情報を入力するための足鍵盤および手鍵盤を含む演奏操作子１と、各種情報を入力するための複数のスイッチを含む設定操作子２と、演奏操作子１の操作状態を検出する検出回路３と、設定操作子２の操作状態を検出する検出回路４と、装置全体の制御を司るＣＰＵ５と、該ＣＰＵ５が実行する制御プログラムや、各種テーブルデータ等を記憶するＲＯＭ６と、演奏データ、各種入力情報および演算結果等を一時的に記憶するＲＡＭ７と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ８と、各種情報等を表示する、たとえば液晶ディスプレイ（ＬＣＤ）若しくはＣＲＴ（Cathode Ray Tube）ディスプレイおよび発光ダイオード（ＬＥＤ）等を備えた表示装置９と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する外部記憶装置１０と、外部ＭＩＤＩ（Musical Instrument Digital Interface）機器等の外部制御機器１００を接続し、この外部制御機器１００とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）１１と、演奏操作子１から入力された演奏データや予め設定された演奏データ等を楽音信号に変換する音源回路１２と、該音源回路１２からの楽音信号に各種効果を付与するための効果回路１３と、該効果回路１３からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１４とにより構成されている。
【００１３】
上記構成要素３〜１３は、バス１５を介して相互に接続され、ＣＰＵ５にはタイマ８が接続され、通信Ｉ／Ｆ１１には外部制御機器１００が接続され、音源回路１２には効果回路１３が接続され、効果回路１３にはサウンドシステム１４が接続されている。
【００１４】
外部記憶装置１０としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置１０には、前述のように、ＣＰＵ５が実行する制御プログラムも記憶でき、ＲＯＭ６に制御プログラムが記憶されていない場合には、この外部記憶装置１０に制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１５】
通信Ｉ／Ｆ１１には、図示例では、外部制御機器１００が直接接続されているが、これに限られず、たとえばＬＡＮ（Local Area Network）やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置１０に上記各プログラムや各種パラメータが記憶されていなければ、通信Ｉ／Ｆ１１は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ（本実施の形態では、自動伴奏装置）は、通信Ｉ／Ｆ１１および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介してコンピュータへと配信し、コンピュータが通信Ｉ／Ｆ１１を介して、これらプログラムやパラメータを受信して外部記憶装置１０に蓄積することにより、ダウンロードが完了する。
【００１６】
なお、本実施の形態の自動伴奏装置は、上述の構成から分かるように、足鍵盤および手鍵盤を備えた電子鍵盤楽器上に構築されたものであるが、これに限らず、汎用的なパーソナルコンピュータ上に構築してもよい。
【００１７】
以上のように構成された自動伴奏装置が実行する制御処理を、まず図２を参照してその概要を説明し、次に図３および図４を参照して詳細に説明する。
【００１８】
本実施の形態の自動伴奏装置では、伴奏パターンデータの各ノートオンデータに基づいて各伴奏音を発音する時刻（図２では、時刻ｔ３，ｔ７，ｔ１０，ｔ１３）よりも所定の固定時間（図２では、２５０ｍｓ）の半分（図２では、１２５ｍｓ）だけ早い時刻（図２では、時刻ｔ１，ｔ６，ｔ９，ｔ１２）に、該各ノートオンイベントを先読みするとともに、上記所定の固定時間（図２では、時間ｔ１−ｔ４，ｔ６−ｔ８，ｔ９−ｔ１１，ｔ１２−ｔ１４）を計時するタイマをスタートさせる。
【００１９】
そして、上記所定の固定時間内に、前記足鍵盤から演奏入力（図２では、時刻ｔ２およびｔ１０における音高“Ｃ１”および“Ｅ１”の各演奏入力）があると、その演奏入力によって指定される音高で、伴奏パターンデータ中の対応するノートオンイベントの音高を差し替え、差し替え後のノートオンイベントに基づいて伴奏音を発生させる。具体的には、図２において、時刻ｔ２およびｔ１０でそれぞれ音高“Ｃ１”および“Ｅ１”の演奏（ノートオンイベント）が入力されると、時刻ｔ２およびｔ１０は、それぞれ時間ｔ１−ｔ４およびｔ９−ｔ１１に含まれるため、伴奏パターンデータの第１および第３拍目のノートオンイベントの各音高“Ｃ２”および“Ｃ２”が、それぞれ“Ｃ１”および“Ｅ１”に差し替えられ、この差し替え後の各ノートオンイベントに基づいて、その各発音タイミングである時刻ｔ３およびｔ１０に各伴奏音が発生する。
【００２０】
一方、上記所定の固定時間外に、前記足鍵盤から演奏入力（図２では、時刻ｔ５における音高“Ｃ１”の演奏入力）があったとしても、その演奏入力に拘わらず、伴奏パターンデータ中の対応するノートオンイベントに基づいて伴奏音を発生させる。具体的には、図２において、時刻ｔ５で音高“Ｃ１”の演奏（ノートオンイベント）が入力されると、時刻ｔ５は、時間ｔ６−ｔ８に含まれないため、伴奏パターンデータの第２拍目のノートオンイベント、すなわち音高“Ｇ１”のノートオンイベントに基づいて、その発音タイミングである時刻ｔ７に伴奏音が発生する。また、第４拍目のノートオンイベントに対しては、そもそも足鍵盤から演奏入力がなされないので、そのノートオンイベント、すなわち音高“Ｇ１”のノートオンイベントに基づいて、その発音タイミングである時刻ｔ１３に伴奏音が発生する。
【００２１】
なお、図２の例では、足鍵盤からの演奏入力が、上記所定の固定時間内であって、伴奏パターンデータ中の対応するノートオンイベントの発音タイミングより後になされた場合が図示されていないが、この場合には、足鍵盤からの演奏入力があるまで、当該ノートオンイベントそのものに基づいて伴奏音を発生させ、足鍵盤から演奏入力があったときに、その演奏入力によって指定される音高で、伴奏パターンデータ中の対応するノートオンイベントの音高を差し替え、差し替え後のノートオンイベントに基づいて伴奏音を発生させるようにすればよい。
【００２２】
また、図２の例では、上記所定の固定時間外に演奏入力があった場合、またはそもそも演奏入力自体がない場合には、伴奏パターンデータの対応するノートオンイベントそのものに基づいて伴奏音を発生させるようにしたが、これは説明の便宜上に過ぎず、実際には、前記手鍵盤の押鍵状態に基づいてコード（和音）情報を検出し、このコード情報に基づいて、対応するノートオンイベントの音高を変換し、変換後のノートオンイベントに基づいて伴奏音を発生させている。ここで、コード情報に基づいた音高変換方法は、本発明の特徴ではないため、公知のものを使用すればよい。さらに、コード情報は、前記従来の自動伴奏装置のように、手鍵盤の押鍵状態に足鍵盤の押鍵状態を加えた両押鍵状態に基づいて検出するようにしてもよい。
【００２３】
このように、本実施の形態の自動伴奏装置では、有効な演奏入力があれば、このとき取得されているコード情報に拘わらず、その演奏入力によって指定された音高の伴奏音を発生させるようにしたので、演奏者の意図したタイミングと音高の伴奏音を、伴奏パターンデータに従った伴奏音列の中に混在させることができる。また、有効な演奏入力と判定する条件として、所定の許容量を備えた時間を設定したので、演奏者の演奏入力が容易になる。さらに、この許容量を固定値、すなわち固定時間（絶対時間）としたので、演奏者は、自分でリズムを取りながら演奏入力することができ、仮に遅いテンポが設定されていたときに、予定よりもかなり早めに間違った音高の演奏を入力したとしても、この演奏は伴奏音には反映されず、予定のタイミングで正しい演奏を入力し直すことで、演奏者の意図通りの音高の伴奏音を得ることができる。
【００２４】
次に、この制御処理を詳細に説明する。
【００２５】
図３は、本実施の形態の自動伴奏装置、特に前記ＣＰＵ５が実行する自動伴奏処理の手順を示すフローチャートであり、本自動伴奏処理では、主として次の処理を実行する。すなわち、
（１）本自動伴奏処理が起動されたときに一度だけ実行する処理（起動時処理）
（２）足鍵盤からの演奏入力を検出する処理（演奏入力検出処理）
（３）伴奏パターンデータの各ノートイベントを先読みする処理（先読み処理）
（４）足鍵盤から有効な演奏入力があったかどうかを判別し、その判別結果に応じて伴奏音を生成する処理（伴奏音生成処理）
（５）自動伴奏を停止する処理（自動伴奏停止処理）
である。
【００２６】
図４は、前記タイマ８が、たとえば１ｍｓ毎に発生するタイマ割り込みに応じて、ＣＰＵ５が実行するタイマ割り込み処理の手順を示すフローチャートであり、本タイマ割り込み処理では、次の処理を実行する。すなわち、
（１１）伴奏パターンデータ中の各ノートオンイベントを先読みするタイミングを決定するソフトウェアタイマｉｎｔｅｒｖａｌの値をデクリメントする処理（タイマｉｎｔｅｒｖａｌのデクリメント処理）
（１２）前記所定の固定時間である２５０ｍｓを計時するソフトウェアタイマｔ２５０ｍｓの値をデクリメントする処理（タイマｔ２５０ｍｓのデクリメント処理）
である。
【００２７】
演奏者が、たとえば、前記設定操作子２に設けられている、自動伴奏の開始を指示するスタートボタン（図示せず）を操作すると、図３の自動伴奏処理が起動され、まず、前記（１）の起動時処理にＣＰＵ５の処理が移行する。
【００２８】
この（１）起動時処理では、初期化処理（ステップＳ１）と、前記タイマ割り込み処理の開始を指示する処理（ステップＳ２）が実行される。具体的には、初期化処理には、伴奏パターンデータが前記外部記憶装置１０等に複数記憶され、この中から演奏者がいずれかの伴奏パターンデータを選択するように構成されている場合には、演奏者が選択した伴奏パターンデータを前記ＲＡＭ７に確保された伴奏パターンデータ格納領域に格納したり、演奏入力を行う操作子を設定可能に構成されている場合には、演奏者の指示に応じて、その操作子を、たとえば前記足鍵盤に設定したりする等の処理が含まれている。また、タイマ割り込み処理の開始を指示する処理には、フラグＦＲＵＮをセット（“１（開始指示）”）する処理が含まれている。
【００２９】
次に、演奏者が、たとえば、前記設定操作子２に設けられている、自動伴奏の停止を指示するストップボタン（図示せず）を操作することにより、自動伴奏の停止が指示されるまで、ＣＰＵ５は、前記（２）〜（４）の各処理を繰り返し実行する。そして、自動伴奏の停止が指示されると、ＣＰＵ５は、前記（５）の自動伴奏停止処理を実行した後、本自動伴奏装置を終了する。
【００３０】
（２）演奏入力検出処理では、演奏者による足鍵盤の押鍵／離鍵をチェックし（ステップＳ４）、押鍵／離鍵があれば、その演奏入力音（ノートオンイベント／ノートオフイベント）を、前記ＲＡＭ７に確保された領域Ｎｏｔｅ（以下、この領域Ｎｏｔｅの内容を、「演奏入力音Ｎｏｔｅ」という）に格納する（ステップＳ５）。
【００３１】
（３）先読み処理では、現時点が伴奏パターンデータの先読みタイミングかどうかをチェックし（ステップＳ６）、先読みタイミングのときには、伴奏パターンデータ中の先読みすべきノートオンイベントを読み出し（ステップＳ７）、読み出したノートオンイベントを前記ＲＡＭ７に確保された領域ＰａｔｔｅｒｎＮｏｔｅ（以下、この領域ＰａｔｔｅｒｎＮｏｔｅの内容を、「読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅ」という）に格納し（ステップＳ８）、前記タイマｉｎｔｅｒｖａｌに、次の伴奏パターンデータを先読みするまでの時間を設定し（ステップＳ９）、前記タイマｔ２５０ｍｓに、前記所定の固定時間（２５０ｍｓ）に相当する値“２５０”を設定する（ステップＳ１０）。
【００３２】
前記（１）の起動時処理が実行されると、前述のように、フラグＦＲＵＮに“１”が設定されるため、図４のタイマ割り込み処理は、実質的に処理を開始する。このように、本実施の形態では、前記タイマ８が１ｍｓを計時する度に常にタイマ割り込み処理を起動し、その実質的な処理（前記（１１）および（１２）の各処理）を、フラグＦＲＵＮの値に従って制御するように構成しているが、もちろん、これに限らず、タイマ割り込み処理自体の起動をオン／オフ制御するようにしてもよい。
【００３３】
タイマｉｎｔｅｒｖａｌには、上述のように、伴奏パターンデータの先読みタイミングになったときに、次の伴奏パターンデータの先読みタイミングまでの時間が設定され、タイマｉｎｔｅｒｖａｌの値は、前記（１１）のタイマｉｎｔｅｒｖａｌのデクリメント処理により、タイマｉｎｔｅｒｖａｌに正の整数値が設定されている限り、１ｍｓ毎に“１”だけデクリメントされる（図４のステップＳ２２→Ｓ２３）ので、タイマｉｎｔｅｒｖａｌの値が“０”になったときが、伴奏パターンデータの先読みタイミングである。すなわち、前記ステップＳ６では、タイマｉｎｔｅｒｖａｌが“０”であるかどうかをチェックすることにより、伴奏パターンデータの先読みタイミングかどうかをチェックしている。
【００３４】
また、タイマｔ２５０ｍｓには、上述のように、伴奏パターンデータの先読みタイミングになったときに、整数値“２５０”が設定され、タイマｔ２５０ｍｓの値は、前記（１２）のタイマｔ２５０ｍｓのデクリメント処理により、タイマｔ２５０ｍｓに正の整数値が設定されている限り、１ｍｓ毎に“１”だけデクリメントされる（図４のステップＳ２４→Ｓ２５）ので、タイマｔ２５０ｍｓの値が“０”になったときが、前記所定の固定時間が経過したときである。逆に言えば、タイマｔ２５０ｍｓに正の整数値が設定されている間が、所定の固定時間内である。なお、本実施の形態では、所定の固定時間の始点を、伴奏パターンデータの先読みタイミングに一致させたが、これに限られるわけではなく、伴奏パターンデータの先読みタイミングと無関係に設定してもよい。その場合、タイマｔ２５０ｍｓに整数値“２５０”を設定する処理を、本自動伴奏処理中、所定の固定時間の始点となる位置に追加する必要があるが、始点とする時刻が決まれば、追加位置は簡単に決まる。
【００３５】
（４）伴奏音生成処理では、演奏入力音Ｎｏｔｅが有効な状態であって、かつ（＆）演奏入力音Ｎｏｔｅの入力時刻（入力タイミング）が、読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅの再生タイミングを含む、前記所定の固定時間内であるときには、読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅの音高を、演奏入力音Ｎｏｔｅの音高に差し替えた伴奏音（の基になるノートオンイベント）を生成し（ステップＳ１１→Ｓ１２）、この生成した伴奏音を、読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅの再生タイミングで再生する（ステップＳ１３）一方、演奏入力音Ｎｏｔｅが有効な状態でないか、または演奏入力音Ｎｏｔｅの入力時刻が前記所定の固定時間外であるときには、前記手鍵盤から入力されたコード情報を取得し（ステップＳ１１→Ｓ１４）、この取得したコード情報と読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅに基づいて伴奏音（の基になるノートオンイベント）を作成し（具体的には、読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅの音高を、取得したコード情報に従って変換して、新たなノートオンイベントを生成し）（ステップＳ１５）、この生成した伴奏音を、読み出したノートオンイベントＰａｔｔｅｒｎＮｏｔｅの再生タイミングで再生する（ステップＳ１３）。
【００３６】
ここで、ステップＳ１１の演奏入力音Ｎｏｔｅが有効な状態とは、具体的には、足鍵盤からの押鍵があり、その押鍵に対応するノートオンイベントが演奏入力音Ｎｏｔｅとして、前記領域Ｎｏｔｅに設定された状態を意味する。すなわち、領域Ｎｏｔｅには、有効なものと無効なものが格納される場合があり、有効なものとしては、上述のように、足鍵盤の押鍵に対応するノートオンイベントであり、無効なものとしては、足鍵盤の離鍵に対応するノートオフイベントと、初期状態の何も入っていない状態である。また、同ステップにおける、演奏入力音Ｎｏｔｅの入力時刻が前記所定の固定時間内であるかどうかの判別は、前記タイマｔ２５０ｍｓに正の整数値が設定されているかどうかを判別することによってなされている。前述のように、タイマｔ２５０ｍｓのデクリメントは、伴奏パターンデータの先読みタイミング、具体的には、伴奏パターンデータの各ノートオンイベントの再生タイミング（図２では、時刻ｔ３，ｔ７，ｔ１０，ｔ１３）より１２５ｍｓ前のタイミング（図２では、時刻ｔ１，ｔ６，ｔ９，ｔ１２）で開始されるので、タイマｔ２５０ｍｓに正の整数値が設定されているということは、現時刻が、伴奏パターンデータの各ノートオンイベントを中心として、その前後１２５ｍｓの範囲内に含まれていることを示している。
【００３７】
（５）自動伴奏停止処理では、発音中の伴奏音を消音した（ステップＳ１６）後、前記フラグＦＲＵＮをリセット（“０”）する（ステップＳ１７）。
【００３８】
なお、本実施の形態では、コード情報は、手鍵盤からの押鍵状態に基づいてリアルタイムに検出するようにしているが、これに限らず、コード情報のシーケンスを記憶しておき、所定のタイミングで読み出した各コード情報を使用するようにしてもよい。
【００３９】
また、本実施の形態では、前記所定の固定時間は、伴奏パターンデータの各ノートオンイベントを中心として、その前後１２５ｍｓの範囲内としたが、この固定時間の時間幅は、伴奏パターンデータの各ノートオンイベントを中心とせずに、その前後どちらかに偏っていてもよいし、その前後のどちらか一方であってもよい。さらに、固定時間を演奏者が自由に設定できるように構成してもよい。この場合、固定時間の範囲だけでなく、伴奏パターンデータの各ノートオンイベントに対する偏り具合も設定できるようにした方が望ましい。
【００４０】
さらに、本実施の形態では、足鍵盤から有効な演奏が入力されないときでも、伴奏音を発生させるようにしたが、これに限らず、足鍵盤から有効な演奏が入力されないときには、伴奏音を発生しないようにしてもよい。
【００４１】
また、足鍵盤から所定の固定時間内に有効な演奏入力があると、その演奏入力によって指示された音高で、伴奏パターンデータ中の対応するノートオンイベントの音高が差し替わることから分かるように、伴奏パターンデータは、本実施の形態では、ベース音を対象にしているが、これに限らず、他のパートの音を対象にしてもよい。
【００４２】
さらに、本実施の形態では、演奏入力は、足鍵盤を用いて行うようにしたが、これに限らず、他の演奏操作子を用いて行うようにしてもよい。
【００４３】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ５やＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００４４】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４５】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００４６】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００４７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ５などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施の形態に係る自動伴奏装置の概略構成を示すブロック図である。
【図２】演奏入力のタイミングに応じて、伴奏パターンデータがどのように変更され、伴奏音が生成されるかの一例を示す図である。
【図３】図１の自動伴奏装置、特にＣＰＵが実行する自動伴奏処理の手順を示すフローチャートである。
【図４】図１の自動伴奏装置のタイマが、たとえば１ｍｓ毎に発生するタイマ割り込みに応じて、ＣＰＵが実行するタイマ割り込み処理の手順を示すフローチャートである。
【符号の説明】
【００４９】
１…演奏操作子（入力手段），５…ＣＰＵ（読み出し手段、判別手段、生成手段、発生手段），７…ＲＡＭ（記憶手段），１２…音源回路（発生手段）
【図１】
2005099442.tif 000003
【図２】
2005099442.tif 000004
【図３】
2005099442.tif 000005
【図４】
2005099442.tif 000006