(57)【要約】      （修正有）【課題】自動伴奏データ生成の開始／停止をユーザの思い通り制御しながら、自動伴奏データの生成中に、ユーザの両手を自動伴奏のための操作子操作から開放することを可能にする。【解決手段】自動伴奏パターンデータが選択され、自動伴奏データの生成開始が指示された後、時刻ｔ０で、押鍵音“Ｃ３”，“Ｅ３”および“Ｇ３”が入力されると、この押鍵音の音高と選択された自動伴奏パターンデータに含まれる発音パターンデータに基づいた自動伴奏データの生成が開始される。次に時刻ｔ１で、押鍵音の入力がなくなっても、その自動伴奏データの生成は継続する。さらに時刻ｔ２で、新たな押鍵を行った後、直ぐにその離鍵を行うと、自動伴奏データの生成が停止される。その後、時刻ｔ３で、ユーザが新たな押鍵（たとえば“Ｃ３”，“Ｅ３”および“Ｇ３”）を行うと、この押鍵音の音高と前記発音パターンデータに基づいた自動伴奏データの生成が再開される。【選択図】図４
2008122841.tif 000002
【特許請求の範囲】
【請求項１】
自動伴奏パターンデータを供給する供給手段と、
演奏音を入力する入力手段と、
該入力手段によって入力された演奏音および前記供給手段によって供給された自動伴奏パターンデータに基づいて、自動伴奏データを生成する生成手段と、
前記入力手段によって演奏音が入力されたときに、該入力がどのような演奏音の入力状況の下での入力であるかを判別する判別手段と、
該判別手段による判別結果に基づいて、前記生成手段による自動伴奏データの生成を停止するか否かを決定する決定手段と、
該決定手段によって、前記自動伴奏データの生成を停止すると決定されたときには、当該自動伴奏データの生成を停止させるように前記生成手段を制御する制御手段と
を有することを特徴とする自動伴奏生成装置。
【請求項２】
前記判別手段によって、自動伴奏データの生成中、かつ演奏音が何も入力されていない状態で、新たな演奏音の入力があったことが判別されたときに、前記決定手段は、当該自動伴奏データの生成を停止すると決定することを特徴とする請求項１に記載の自動伴奏生成装置。
【請求項３】
前記判別手段によって、自動伴奏データの生成が停止中に、新たな演奏音の入力があったことが判別されたときには、前記制御手段は、自動伴奏データの生成を開始させるように前記生成手段を制御することを特徴とする請求項２に記載の自動伴奏生成装置。
【請求項４】
自動伴奏パターンデータを供給する供給モジュールと、
演奏音を入力する入力手段によって入力された演奏音および前記供給モジュールによって供給された自動伴奏パターンデータに基づいて、自動伴奏データを生成する生成モジュールと、
前記入力手段によって演奏音が入力されたときに、該入力がどのような演奏音の入力状況の下での入力であるかを判別する判別モジュールと、
該判別モジュールによる判別結果に基づいて、前記生成モジュールによる自動伴奏データの生成を停止するか否かを決定する決定モジュールと、
該決定モジュールによって、前記自動伴奏データの生成を停止すると決定されたときには、当該自動伴奏データの生成を停止させるように前記生成モジュールを制御する制御モジュールと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、供給された自動伴奏パターンデータおよび入力された演奏音に基づいて自動伴奏データを生成する自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
供給された自動伴奏パターンデータおよび入力された演奏音に基づいて自動伴奏データを生成する自動伴奏生成装置は、従来から知られている。
【０００３】
このような自動伴奏装置として、たとえば、各伴奏スタイルに対応付けて自動伴奏パターンデータを記憶しておき、ユーザがある１つの伴奏スタイルを選択すると、その伴奏スタイルに対応した自動伴奏パターンデータを読み出し、読み出した自動伴奏パターンデータを、ユーザが鍵盤などを用いて入力した和音に合うように変換することで、自動伴奏データを生成するものがある。ここで、自動伴奏パターンデータは、個々の伴奏音に対応した音高データとタイミングデータをセットにしたものであり、この自動伴奏パターンデータを用いた自動伴奏データの生成は、たとえば、自動伴奏パターンデータ内の音高を所定のルールで変換した後、変換後の全音高を入力和音の根音に応じてシフトすることによってなされる。これにより、入力和音に合った音高の自動伴奏データが生成される（たとえば、特許文献１参照）。
【０００４】
一方、押鍵に応じてアルペジオ（分散和音）を生成する、いわゆるアルペジエータと呼ばれるものがある。アルペジエータは、複数のキー番号（音高に対応したノートナンバではなく、単純な番号）とその発音タイミングからなるアルペジオパターンデータを記憶し、同時に押鍵された複数の音の音高に所定のルール（たとえば、音高の低い順）に従って番号を割り振り、アルペジオパターンデータ中のキー番号に対応した番号が割り振られた音高を、その発音タイミングで発生させるようにして、押鍵音を基にアルペジオを生成している。そして、パターン内の一部に固定音高を指定するタイプ（フィックスド・ノート）のアルペジオパターンデータを用いてアルペジオを生成するものもある（たとえば、特許文献２参照）。
【特許文献１】特許３３１９３９０号公報
【特許文献２】特開２００１−２２３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の自動伴奏装置では、ユーザが自動伴奏データを生成する基になる音高の音を押鍵している間、自動伴奏データが生成され、離鍵すると自動伴奏データの生成が停止するので、自動伴奏音を生成している間、少なくとも片手が自動伴奏のための押鍵に占有されてしまう。
【０００６】
また、上記従来のアルペジエータは、通常、ユーザがアルペジオ生成のための押鍵を行った後にその離鍵を行ったとしても、アルペジオ生成が継続する、ホールド機能を備えており、このホールド機能が有効にされた後、ユーザがアルペジオ生成のための押鍵を１度でも行うと、ホールド機能が無効にされない限り、ユーザが離鍵を行ったとしても、アルペジオ生成は途切れない（後述する図４（ｂ）参照）。したがってこの場合、アルペジオ生成に従って発生する楽音は、鳴りっぱなしの状態になる。
【０００７】
本発明は、この点に着目してなされたものであり、自動伴奏データ生成の開始／停止をユーザの思い通り制御しながら、自動伴奏データの生成中に、ユーザの両手を自動伴奏のための操作子操作から開放することが可能となる自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載の自動伴奏生成装置は、自動伴奏パターンデータを供給する供給手段と、演奏音を入力する入力手段と、該入力手段によって入力された演奏音および前記供給手段によって供給された自動伴奏パターンデータに基づいて、自動伴奏データを生成する生成手段と、前記入力手段によって演奏音が入力されたときに、該入力がどのような演奏音の入力状況の下での入力であるかを判別する判別手段と、該判別手段による判別結果に基づいて、前記生成手段による自動伴奏データの生成を停止するか否かを決定する決定手段と、該決定手段によって、前記自動伴奏データの生成を停止すると決定されたときには、当該自動伴奏データの生成を停止させるように前記生成手段を制御する制御手段とを有することを特徴とする。
【０００９】
請求項２に記載の自動伴奏生成装置は、請求項１の自動伴奏生成装置において、前記判別手段によって、自動伴奏データの生成中、かつ演奏音が何も入力されていない状態で、新たな演奏音の入力があったことが判別されたときに、前記決定手段は、当該自動伴奏データの生成を停止すると決定することを特徴とする。
【００１０】
請求項３に記載の自動伴奏生成装置は、請求項２の自動伴奏生成装置において、前記判別手段によって、自動伴奏データの生成が停止中に、新たな演奏音の入力があったことが判別されたときには、前記制御手段は、自動伴奏データの生成を開始させるように前記生成手段を制御することを特徴とする。
【００１１】
上記目的を達成するため、請求項４に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【００１２】
請求項１または４に記載の発明によれば、演奏音を入力する入力手段によって演奏音が入力されたときに、該入力がどのような演奏音の入力状況の下での入力であるかが判別され、その判別結果に基づいて、自動伴奏データの生成を停止するか否かが決定され、前記自動伴奏データの生成を停止すると決定されたときには、当該自動伴奏データの生成が停止されるので、ユーザは入力手段から目を離さずに、入力手段から演奏音を入力するだけで、簡単に自動伴奏データの生成を停止させることができる。
【００１３】
請求項２に記載の発明によれば、自動伴奏データを生成中に、その自動伴奏データを生成するための演奏音の入力を止めたとしても、自動伴奏データの生成は継続するので、自動伴奏データの生成中に、ユーザの両手を自動伴奏のための操作子操作から開放することができる。
【００１４】
請求項３に記載の発明によれば、自動伴奏データを生成中に、その自動伴奏データを生成するための演奏音の入力を止めた後、新たな押離鍵が検出されたときに、その自動伴奏データの生成が停止され、さらに新たな押鍵が検出されると、自動伴奏データの生成が再開されるので、自動伴奏データ生成の開始／停止をユーザの思い通り制御することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１６】
図１は、本発明の一実施の形態に係る自動伴奏生成装置の概略構成を示すブロック図である。
【００１７】
同図に示すように、本実施の形態の自動伴奏生成装置は、鍵盤等の演奏操作子および各種スイッチ等の設定操作子からなる操作子群１と、該操作子群１の各操作子の操作状態を検出する検出回路２と、装置全体の制御を司るＣＰＵ３と、該ＣＰＵ３が実行する制御プログラムや各種テーブルデータ等を記憶するＲＯＭ４と、前記演奏操作子から入力された演奏情報、自動伴奏パターンデータ、各種入力情報および演算結果等を一時的に記憶するＲＡＭ５と、前記制御プログラムを含む各種アプリケーションプログラムや各種自動伴奏パターンデータ、各種データ等を記憶する外部記憶装置６と、各種情報等を表示する、たとえば液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示装置７と、外部ＭＩＤＩ（Musical Instrument Digital Interface）機器等の外部機器１００を接続し、この外部機器１００とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）８と、前記演奏操作子から入力された演奏音および前記ＲＡＭ５に記憶された自動伴奏パターンデータに基づいて生成した自動伴奏データ等を楽音信号に変換する音源回路９と、該音源回路９からの楽音信号に各種効果を付与するための効果回路１０と、該効果回路１０からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１１とにより構成されている。
【００１８】
上記構成要素２〜１０は、バス１２を介して相互に接続され、通信Ｉ／Ｆ８には外部機器１００が接続され、音源回路９には効果回路１０が接続され、効果回路１０にはサウンドシステム１１が接続されている。
【００１９】
外部記憶装置６としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置６には、前述のように、ＣＰＵ３が実行する制御プログラムも記憶でき、ＲＯＭ４に制御プログラムが記憶されていない場合には、この外部記憶装置６に制御プログラムを記憶させておき、それをＲＡＭ５に読み込むことにより、ＲＯＭ４に制御プログラムを記憶している場合と同様の動作をＣＰＵ３にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００２０】
通信Ｉ／Ｆ８には、図示例では、外部機器１００が接続されているが、これに限られず、たとえばＬＡＮ（Local Area Network）やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置６に上記各プログラムや各種パラメータが記憶されていなければ、通信Ｉ／Ｆ８は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなる自動伴奏生成装置は、通信Ｉ／Ｆ８および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介して自動伴奏生成装置へと配信し、自動伴奏生成装置が通信Ｉ／Ｆ８を介して、これらプログラムやパラメータを受信して外部記憶装置６に蓄積することにより、ダウンロードが完了する。
【００２１】
なお、本実施の形態の自動伴奏生成装置は、上述の構成から分かるように、電子鍵盤楽器上に構築されたものであるが、これに限らず、鍵盤を外部接続した汎用的なパーソナルコンピュータ上に構築してもよい。また、鍵盤楽器の実施形態に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の他の実施形態でもよい。
【００２２】
以上のように構成された自動伴奏生成装置が実行する制御処理を、まず図２〜図４を参照してその概要を説明し、次に図５を参照して詳細に説明する。
【００２３】
本実施の形態の自動伴奏生成装置は、主として
（Ａ）ユーザの押鍵操作によって入力された演奏情報（本実施の形態では、音高）およびユーザによって選択された自動伴奏パターンデータに基づいて自動伴奏データを生成する自動伴奏データ生成処理
（Ｂ）ユーザの押鍵操作に応じて、上記（Ａ）の自動伴奏データ生成処理を開始あるいは停止させる自動伴奏データ生成開始／停止処理
を行う。
【００２４】
図２は、上記（Ａ）の自動伴奏データ生成処理の制御構成を示すブロック図であり、図３は、自動伴奏パターンデータに含まれる発音パターンデータのフォーマットの一例と、その発音パターンデータとユーザの押鍵操作によって入力された押鍵音の音高に基づいて生成した発音データリストを示す図である。
【００２５】
自動伴奏パターンデータは、たとえば前記外部記憶装置６内に予め複数種類記憶され、その中からユーザがいずれかを選択すると、選択された自動伴奏パターンデータが、外部記憶装置６から読み出されて、前記ＲＡＭ５の所定位置に確保された自動伴奏パターンデータ格納領域（図示せず）に格納される。図２には、ユーザが自動伴奏パターンデータ群から選択した自動伴奏パターンデータＮに基づいて自動伴奏データを生成する様子が示されている。
【００２６】
各自動伴奏パターンデータにはそれぞれ、発音パターンデータが含まれている。発音パターンデータは、図３に示すように、発音タイミング（Ｔｉｍｉｎｇ）、ゲートタイム（Ｇａｔｅ）、キーナンバ（Ｋｅｙ）、オクターブ（Ｏｃｔ）およびベロシティ（Ｖｅｌ）を１組のデータとする複数組のデータによって構成されている。ここで、発音タイミングは、対応する（つまり、同じ組に属する）キーナンバの押鍵音を発音するタイミングをクロック数で表したものであり、本実施の形態では、１拍分の時間を４８０クロックで表している。ゲートタイムは、上記発音タイミングで発音が開始された押鍵音の発音継続時間（つまり音長）をクロック数で表したものである。キーナンバは、ユーザが複数の鍵を同時に押したとき（押鍵開始タイミングは、同時でもよいし、ずれていてもよく、要は複数鍵が同時に押されている期間があればよい。以下、同様）に入力される押鍵音に対して、音高の低い順に番号付けしたものである。オクターブは、対応するキーナンバの押鍵音をどれだけオクターブシフトするかを示したものである。ベロシティは、対応するキーナンバの押鍵音を発音する際のベロシティの値を示したものである。
【００２７】
図３には、ユーザの押鍵により３つの音高“Ｃ３”，“Ｅ３”および“Ｇ３”が同時に入力されたときに、発音パターンデータを用いて生成した発音データリストが記載されている。押鍵音“Ｃ３”，“Ｅ３”および“Ｇ３”には、前記ルールに従って、“１”，“２”および“３”のキーナンバが付与されるので、発音データリストの先頭（“００００”）から１拍半分（“０７１９”まで）のノートナンバ（Ｎｏｔｅ）は、次のように生成される。すなわち、
タイミング“００００”：Ｃ４（キーナンバが“１”の押鍵音の音高（“Ｃ３”）を“１”オクターブシフトしたもの）
タイミング“０２４０”：Ｇ３（キーナンバが“３”の押鍵音の音高（“Ｇ３”）を“０”オクターブシフトしたもの）
タイミング“０４８０”：Ｅ３（キーナンバが“２”の押鍵音の音高（“Ｅ３”）を“０”オクターブシフトしたもの）
他の拍の各タイミングのノートナンバも、同様にして生成される。
【００２８】
なお、発音パターンデータは、本実施の形態では、１小節長（図３の例では、４／４拍子）のものを採用しているが、発音データリストの生成は、ユーザによる停止の指示があるまで停止されないので、発音データリストは、１小節を超えて生成される。押鍵音が変更されないまま、発音データリストの生成が１小節を超えたときには、２小節目以降のノートナンバは、１小節目で生成されたノートナンバが繰り返し生成される。ここで、発音パターンデータとしては、どのような長さのものを採用してもよく、上記１小節長に限らないのは言うまでもない。
【００２９】
図４は、前記（Ｂ）の自動伴奏データ生成開始／停止処理を説明するための図であり、同図には、説明の都合上、従来の自動伴奏生成装置の自動伴奏データ生成処理による制御例も記載されている。具体的には、図４（ａ）は、この（Ｂ）自動伴奏データ生成開始／停止処理による制御例を示し、図４（ｂ）は、図４（ａ）の制御例と同様の押鍵操作がなされた場合の、従来の自動伴奏生成装置による制御例を示している。
【００３０】
この（Ｂ）自動伴奏データ生成開始／停止処理は、前述のように、（Ａ）自動伴奏データ生成処理を開始あるいは停止させる処理であり、ユーザの押離鍵時に、その押離鍵がどのような状況下での押離鍵であるかを判別し、その判別結果に基づいて、（Ａ）自動伴奏データ生成処理が制御される。つまり、（Ｂ）自動伴奏データ生成開始／停止処理は、主として、ユーザの押離鍵時（図４では、時刻ｔ０〜ｔ６の各時点およびその近傍）の処理を規定している。
【００３１】
図４（ａ）に示すように、自動伴奏データ生成モードに移行し、自動伴奏パターンデータが選択されて、自動伴奏データの生成開始が指示された後、まず時刻ｔ０で、押鍵音“Ｃ３”，“Ｅ３”および“Ｇ３”が入力されると、ＣＰＵ３は、この押鍵音の音高と上記選択された自動伴奏パターンデータに含まれる発音パターンデータに基づいた自動伴奏データ（発音データリスト）の生成を開始する。次に時刻ｔ１で、押鍵音“Ｃ３”，“Ｅ３”および“Ｇ３”の入力がなくなったとしても、ＣＰＵ３は、その自動伴奏データの生成を継続させる。
【００３２】
次に時刻ｔ２で、ユーザが新たな押鍵（たとえば“Ｃ３”）を行った後、直ぐにその離鍵を行うと、ＣＰＵ３は、自動伴奏データの生成を停止させる。その後、時刻ｔ３で、ユーザが新たな押鍵（たとえば“Ｃ３”，“Ｅ３”および“Ｇ３”）を行うと、ＣＰＵ３は、この押鍵音の音高と前記発音パターンデータに基づいた自動伴奏データの生成を再開し、続く時刻ｔ４で、ユーザが押鍵を、たとえば“Ｃ３”，“Ｆ３”および“Ａ３”の鍵に変更する（つまり、“Ｅ３”および“Ｇ３”を離鍵し、その後直ぐに“Ｆ３”および“Ａ３”を押鍵する）と、ＣＰＵ３は、この押鍵音の音高を基準とした自動伴奏データの生成に変更し、時刻ｔ５で、押鍵音“Ｃ３”，“Ｆ３”および“Ａ３”の入力がなくなったとしても、その自動伴奏データの生成を継続させる。そして時刻ｔ６で、ユーザが新たな押鍵（たとえば“Ｃ３”）を行った後、直ぐにその離鍵を行うと、ＣＰＵ３は、自動伴奏データの生成を停止させる。
【００３３】
これに対して、従来の自動伴奏生成装置では、図４（ｂ）に示すように、時刻ｔ２またはｔ６で、ユーザが新たな押鍵（“Ｃ３”）を行った後、直ぐにその離鍵を行った場合、この押鍵音の音高を基準とした自動伴奏データの生成に変更され、自動伴奏データの生成は停止しない。
【００３４】
このように、本実施の形態の自動伴奏生成装置では、ユーザは鍵盤から目を離さずに、鍵盤に対する押離鍵だけで、自動伴奏データ生成の開始／停止を簡単に制御することができる。また、自動伴奏データの生成中に、その自動伴奏データを生成するための押鍵を止めた（離鍵した）としても、自動伴奏データの生成は継続するので、自動伴奏データの生成中に、ユーザの両手を自動伴奏のための操作子操作から開放することができる。その後、新たな押離鍵が検出されたときに、その自動伴奏データの生成を停止し、さらに新たな押鍵が検出されると、自動伴奏データの生成を再開するようにしたので、自動伴奏データ生成の開始／停止をユーザの思い通り制御することができる。
【００３５】
次に、この制御処理を詳細に説明する。
【００３６】
図５は、本実施の形態の自動伴奏生成装置、特にＣＰＵ３が実行する自動伴奏データ生成制御処理の手順を示すフローチャートである。なお、本自動伴奏データ生成制御処理は、ユーザが前記自動伴奏データ生成モードを選択したときに起動される。
【００３７】
本自動伴奏データ生成制御処理では、主として、
（１）初期化処理（ステップＳ１〜Ｓ３）
（２）前記（Ｂ）自動伴奏データ生成開始／停止処理（ステップＳ５〜Ｓ２３）
（３）自動伴奏データ生成制御処理の終了処理（ステップＳ４）
の各処理がなされる。
【００３８】
上記（１）の初期化処理では、まずＣＰＵ３は、前記外部記憶装置６に記憶されている自動伴奏パターンデータ群の一覧を、たとえば前記表示装置７上に表示することでユーザに提示し、ユーザがその中からいずれかの自動伴奏パターンデータを選択すると、選択された自動伴奏パターンデータを外部記憶装置６から前記ＲＡＭ５の自動伴奏パターンデータ格納領域に読み込む（ステップＳ１）。次にＣＰＵ３は、押鍵音の音高（キーコード）を格納するためにＲＡＭ５の所定位置に確保されたキーオンバッファ（図示せず）をクリアし（ステップＳ２）、さらに、ＲＡＭ５の所定位置に設けられ、ユーザの押鍵によって自動伴奏データの生成停止が指示されたときにセット（“１”）され、当該押鍵が離鍵されたときにリセット（“０”）されるストップフラグをリセットする（ステップＳ３）。
【００３９】
前記（２）の自動伴奏データ生成開始／停止処理では、ＣＰＵ３は、ユーザの押離鍵操作を検出し、その検出時の自動伴奏生成装置の動作状況に基づいて、次のようにして自動伴奏データの開始または停止を制御する。すなわち、
（２１）自動伴奏データの生成が停止中に、押鍵操作があった場合：自動伴奏データの生成を開始する
（２２）自動伴奏データの生成中に、押鍵鍵のすべてについての離鍵操作があった（押されていた１乃至複数の鍵をほぼ同時に離鍵した）場合：何もしない
（２３）自動伴奏データの生成中に、押鍵鍵の一部についての離鍵操作があった場合：変更後のキーオンバッファの内容に従って、自動伴奏データの生成を開始する
（２４）自動伴奏データの生成中に、キーオンバッファが空の状態で、押鍵操作があった場合：自動伴奏データの生成を停止する
上記（２１）の場合は、前記図４（ａ）の時刻ｔ０または時刻ｔ３の状態に相当する。このとき、押鍵操作が検出され、自動伴奏データの生成はなされておらず、ストップフラグはリセット（“０”）状態であるので、ＣＰＵ３は、キーオンバッファに押鍵音の音高を書き込む（ステップＳ５→Ｓ６→Ｓ７→Ｓ８）とともに、キーオンバッファの内容に基づいて自動伴奏データの生成を開始する（ステップＳ９）。たとえば、前記ステップＳ１の処理により、前記図３の発音パターンデータを含む自動伴奏パターンデータが読み込まれ、ユーザの押鍵操作により、“Ｃ３”，“Ｅ３”および“Ｇ３”の音高がキーオンバッファに格納されたとすると、ステップＳ９では、ＣＰＵ３は、前記ＲＡＭ５の所定位置に設けられ、自動伴奏データの生成中にセットされ、自動伴奏データの停止中にリセットされる自動伴奏データ生成中フラグをセットする。実際の自動伴奏データ生成処理、つまり、前記（Ａ）自動伴奏データ生成処理は、本実施の形態では、図示しないタイマ割り込み処理中で行われる。タイマ割り込み処理では、自動伴奏データ生成中フラグの状態を常時チェックし、自動伴奏データ生成中フラグがセット状態のときには、前記図３を用いて説明した（Ａ）自動伴奏データ生成処理を行う一方、自動伴奏データ生成中フラグがリセット状態のときには、何もしない。ただし本実施の形態では、自動伴奏データを生成しているとき、つまり、発音データリストを生成しているときには、生成したノートナンバの発音データリストへの登録だけでなく、そのノートナンバに対応するキーオンイベントも同時に生成して音源回路９に供給することで、そのノートナンバに対応する楽音を発生させるようにしている。なお、キーオンイベントの生成処理と、生成したキーオンイベントの音源回路９への供給処理は、タイマ割り込み処理内の自動伴奏データ生成処理の直後に行うようにすればよい。この場合、自動伴奏データの生成が停止されると、発音中の楽音を消音する処理が必要である。たとえば、タイマ割り込み処理に、自動伴奏データ生成中フラグがセット状態からリセット状態に変化した時点を検知する処理を追加しておき、この変化時点が検知されたときに、上記消音処理を行うようにすればよい。ここで、消音処理は、具体的には、現在発音中の楽音に対するキーオフイベントを生成して音源回路９に供給する処理である。
【００４０】
前記（２２）の場合は、前記図４（ａ）の時刻ｔ１または時刻ｔ５の状態に相当する。このとき、離鍵操作が検出され、自動伴奏データの生成中であるので、ＣＰＵ３は、キーオンバッファから離鍵音の音高を削除する（ステップＳ１６→Ｓ１７→Ｓ１８）。ここで、離鍵は、押鍵音のすべてに対してなされているので、ＣＰＵ３は結局、キーオンバッファを空にする。このように、キーオンバッファは空になるので、ＣＰＵ３は、処理をステップＳ１９からステップＳ４に戻す。つまり、ＣＰＵ３は、自動伴奏データの生成に関する実質的な制御（本実施の形態では、前記自動伴奏データ生成中フラグのリセット）を行わないので、自動伴奏データの生成は、タイマ割り込み処理中の（Ａ）自動伴奏データ生成処理によって継続することになる。
【００４１】
前記（２３）の場合は、前記図４（ａ）の時刻ｔ４の状態の一部に相当する。このとき、まず離鍵操作が検出され、自動伴奏データの生成中であるので、ＣＰＵ３は、キーオンバッファから離鍵音の音高を削除する（ステップＳ１６→Ｓ１７→Ｓ１８）。ここで、離鍵は、押鍵音の一部に対してなされているので、ＣＰＵ３は、キーオンバッファの変更された内容に基づいて自動伴奏データの生成を続ける（ステップＳ２０）。ここまでの処理が、前記（２３）の場合に対応する処理である。時刻ｔ４の状態は、“Ｃ３”，“Ｅ３”および“Ｇ３”の３つの押鍵音のうち、後の２つの音が離鍵された後、新たに“Ｆ３”および“Ａ３”の２つの音が押鍵された状態を示しているので、時刻ｔ４の状態の制御を行おうとすると、ＣＰＵ３は、（２３）の場合に対応する上記処理に加えて、次の処理を行う。すなわちＣＰＵ３は、処理をステップＳ２０→Ｓ４→Ｓ５→Ｓ６→Ｓ１０→Ｓ１１と進め、キーオンバッファに新たな押鍵音の音高“Ｆ３”および“Ａ３”を追加書き込みし（ステップＳ１１）、その後、キーオンバッファの変更された内容に基づいて自動伴奏データの生成を続ける（ステップＳ１２）。この時刻ｔ４の状態の場合、後の２つの音の離鍵から押鍵までの時間が短いので、ステップＳ２０の処理が実行される間もなく、処理はステップＳ１２に至る。つまり、“Ｃ３”だけ格納されたキーオンバッファに基づいた自動伴奏データの生成は行われず、“Ｃ３”，“Ｅ３”および“Ｇ３”が格納されたキーオンバッファに基づいた自動伴奏データの生成から直ちに、“Ｃ３”，“Ｆ３”および“Ａ３”が格納されたキーオンバッファに基づいた自動伴奏データの生成に移行する。
【００４２】
前記（２４）の場合は、前記図４（ａ）の時刻ｔ２または時刻ｔ６の状態に相当する。このとき、まず押鍵操作が検出され、自動伴奏データの生成中であり、キーオンバッファは空であるので、ＣＰＵ３は、前記自動伴奏データ生成中フラグをリセットすることで、自動伴奏データの生成を停止し（ステップＳ５→Ｓ６→Ｓ１０→Ｓ１３）、キーオンバッファに押鍵音の音高（図４（ａ）では“Ｃ３”）を書き込み（ステップＳ１４）、ストップフラグをセット（“１”）する（ステップＳ１５）。次に離鍵操作が検出され、自動伴奏データの生成は停止中であり、ストップフラグはセット状態であるので、ＣＰＵ３は、キーオンバッファから離鍵音の音高（図４（ａ）では“Ｃ３”）を削除し（ステップＳ１６→Ｓ１７→Ｓ２１→Ｓ２２）、ストップフラグをリセットする（ステップＳ２３）。時刻ｔ２および時刻ｔ６での押離鍵操作は、１つの鍵を用いてなされているが、複数の鍵を用いて、そのすべてを同時に押離鍵せずに、たとえば、そのうちの一部を押鍵しながら、残りを押鍵した後、一部を押鍵しながら、残りを離鍵し、その後その一部を離鍵するという押離鍵操作でもよい。この場合、最初に一部を押鍵したときに、自動伴奏データの生成が停止する（ステップＳ１３）。そして、キーオンバッファには押鍵音の音高が書き込まれる（ステップＳ１４）ものの、ストップフラグがセットされる（ステップＳ１５）ので、残りが押鍵されたとしても、ステップＳ７の判別処理で、ステップＳ８およびＳ９の処理はスキップされて、ステップＳ１６に処理が進む。つまり、キーオンバッファの内容は書き換わらず、停止中の自動伴奏データの生成も再開されない。その後、キーオンバッファに格納された音高に対する離鍵がなされると、ＣＰＵ３は、キーオンバッファを空にし（ステップＳ２２）、ストップフラグをリセットする（ステップＳ２３）。このように、複数の鍵を用いて、そのすべてを同時に押離鍵しない場合にも、本自動伴奏データ生成制御処理は対処することができる。
【００４３】
なお、前記ステップＳ６およびＳ１７の判別処理、つまり、自動伴奏データが生成中かどうかの判別処理は、発音データリストを生成中かどうか、あるいは発音データリストに登録されたノートナンバに対応するキーオンイベントを生成して音源回路９に供給中かどうかなど、自動伴奏データの生成を直接的に判別するようにしてもよいし、自動伴奏データ生成中フラグの状態をチェックすることで、自動伴奏データの生成を間接的に判別するようにしてもよい。
【００４４】
前記（３）の自動伴奏データ生成制御処理の終了処理では、ＣＰＵ３は、ユーザが終了操作（たとえば、図示しないモードスイッチを操作することで、自動伴奏データ生成モードを他のモードに変更する操作）を行ったかどうかを常時チェックし（ステップＳ４）、ユーザが終了操作を行うと、ＣＰＵ３は、本自動伴奏データ生成制御処理を終了する（ステップＳ４→終了）。
【００４５】
なお、本実施の形態では、自動伴奏パターンデータとして、アルペジオパターンデータを例に挙げたので、それを用いて生成される自動伴奏データは、実際にはアルペジオデータであり、前記従来の自動伴奏装置が生成する種類の自動伴奏データではない。このようにしたのは、専ら説明を簡単化するためであり、本発明は、アルペジオデータの生成と同様に、前記従来の自動伴奏装置が生成する種類の自動伴奏データの生成にも適用できる。
【００４６】
また、本実施の形態では、（Ａ）自動伴奏データ生成処理をタイマ割り込み処理中で行うようにしたが、これに限らず、図５の自動伴奏データ生成制御処理中で行うようにしてもよい。
【００４７】
さらに、本実施の形態では、図５の自動伴奏データ生成制御処理を実行することにより、ユーザの意思に拘わらず、図４（ａ）のような制御処理を実行するようにしたが、これに限らず、図４（ａ）のような制御処理と図４（ｂ）のような従来の制御処理とをユーザが自由に選択できるようにし、ユーザが選択した方の制御処理を実行するようにしてもよい。
【００４８】
また、本実施の形態では、鍵盤のいずれの鍵の押離鍵操作でも、本自動伴奏データ生成制御処理に適用できるが、鍵盤を複数の鍵領域に分割し、分割後の複数の鍵域の一部の鍵域内の鍵についての押鍵操作のみに、その適用を制限するようにしてもよい。
【００４９】
さらに、自動伴奏データの生成を停止させるための鍵を、鍵盤中の所定の鍵（たとえば、鍵盤の最端部の鍵）に固定的に決めておいてもよい。この場合、その所定鍵が押鍵されると、生成中の自動伴奏データの生成が停止される。その後の自動伴奏データの生成再開は、停止直前の押鍵音の音高に基づいて生成した自動伴奏データで始まるようにしてもよいし、再開のトリガとなった押鍵音の音高に基づいて生成した自動伴奏データで始まるようにしてもよい。なお、上記所定鍵は、工場設定などによって、その位置が予め設定されたものを、その後ユーザが自由に変更できるように構成した方が好ましい。
【００５０】
また、本実施の形態では、自動伴奏データの生成を停止させるための押鍵音の音高を、自動伴奏データの基になる押鍵音の音高に近いもの（前者の音高が“Ｃ３”であるのに対して、後者の音高が“Ｃ３”，“Ｅ３”および“Ｇ３”）としたが、これに限らず、自動伴奏データの生成を停止させるための押鍵音として、自動伴奏データの基になる押鍵音と無関係な音高のものを用いてもよい。
【００５１】
また、本実施の形態では、自動伴奏パターンデータは、外部記憶装置６に予め複数種類記憶されているとしたが、これに限らず、前記ＲＯＭ４に予め複数種類記憶されていてもよいし、ネットワーク上にあるものを、前記通信Ｉ／Ｆ８を介して取得するようにしてもよい。
【００５２】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００５３】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５４】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００５５】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施の形態に係る自動伴奏生成装置の概略構成を示すブロック図である。
【図２】自動伴奏データ生成処理の制御構成を示すブロック図である。
【図３】自動伴奏パターンデータに含まれる発音パターンデータのフォーマットの一例と、その発音パターンデータとユーザの押鍵操作によって入力された押鍵音の音高に基づいて生成した発音データリストを示す図である。
【図４】自動伴奏データ生成開始／停止処理を説明するための図である。
【図５】図１の自動伴奏生成装置、特にＣＰＵが実行する自動伴奏データ生成制御処理の手順を示すフローチャートである。
【符号の説明】
【００５８】
１…操作子群（入力手段），３…ＣＰＵ（供給手段、生成手段、判別手段、決定手段、制御手段），４…ＲＯＭ（供給手段），６…外部記憶装置（供給手段），８…通信Ｉ／Ｆ（供給手段）
【図１】
2008122841.tif 000003
【図２】
2008122841.tif 000004
【図３】
2008122841.tif 000005
【図４】
2008122841.tif 000006
【図５】
2008122841.tif 000007