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