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