(57)【要約】【課題】  アルペジオ音域を、ユーザが容易に拡張することができる。【解決手段】  少なくとも所定の発音パターンを示す発音パターン情報と前記発音パターンの特性を示す特性情報とを取得し、上下いずれかに音域を拡張する指示に従って、前記取得した特性情報に応じてオクターブシフト量を順次に変更し、該変更したオクターブシフト量に基づいて、前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従い決定されるアルペジオ構成音の音高をオクターブシフトして、前記拡張指示された音域内の複数のオクターブ範囲にわたって順次にアルペジオ構成音を展開する。こうすることにより、ユーザは予め所望の音域を反映した発音パターンデータを用意しておく必要がなく、既存の発音パターンデータを用いて、自然な聴感のアルペジオを演奏中に適宜に音域を調整しながら生成することが簡単にできるようになる。【選択図】        図４
2008102349.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも所定の発音パターンを示す発音パターン情報と前記発音パターンの特性を示す特性情報とを取得する取得手段と、
上下いずれかに音域を拡張するよう指示する音域拡張指示手段と、
１乃至複数の音高情報を入力する音高情報入力手段と、
前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従ってアルペジオ音を生成する際に、前記取得した特性情報に応じてオクターブシフト量を順次に変更し、該変更したオクターブシフト量に基づいて、前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従い決定されるアルペジオ構成音の音高をオクターブシフトして、前記拡張指示された音域内の複数のオクターブ範囲にわたって順次にアルペジオ構成音を展開する楽音生成手段と
を具備する自動伴奏装置。
【請求項２】
前記取得手段は、アルペジオ構成音を展開するオクターブ範囲を示す音域情報をさらに取得してなり、
前記楽音生成手段は、前記音域拡張指示手段による音域の拡張指示に従って、前記取得した音域情報に基づき特定されるオクターブ範囲を上下いずれかに拡張し、該拡張したオクターブ範囲内でアルペジオ構成音を展開することを特徴とする請求項１に記載の自動伴奏装置。
【請求項３】
コンピュータに、
少なくとも所定の発音パターンを示す発音パターン情報と前記発音パターンの特性を示す特性情報とを取得する手順と、
上下いずれかに音域を拡張するよう指示する手順と、
１乃至複数の音高情報を入力する手順と、
前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従ってアルペジオ音を生成する際に、前記取得した特性情報に応じてオクターブシフト量を順次に変更し、該変更したオクターブシフト量に基づいて、前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従い決定されるアルペジオ構成音の音高をオクターブシフトして、前記拡張指示された音域内の複数のオクターブ範囲にわたって順次にアルペジオ構成音を展開する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の音高の指定に応じて、所定のアルペジオパターンに基づきアルペジオ音（分散和音）を自動生成する自動伴奏装置及びプログラムに関する。特に、アルペジオ音で使用する音域を、ユーザが容易に拡張することができるようにした自動伴奏装置及びプログラムに関する。
【背景技術】
【０００２】
ユーザによる所定の演奏操作子の操作（例えば、鍵盤等の押鍵操作）に応じて、アルペジオ音（分散和音）を自動生成するアルペジオ生成機能を持つ自動伴奏装置は、一般的に「アルペジエータ」などと通称され利用されている。従来知られたアルペジエータにおいてはアルペジオパターンとして、少なくとも複数のキー番号（音高に対応したノートナンバー（音高情報）ではなく、単純な番号）と、各キー番号毎に割り当てられた発音タイミングとを含んでなる、発音パターンデータを予め記憶している。ユーザにより複数の鍵が同時に押鍵操作されたような場合、前記アルペジエータでは同時に押下された複数の鍵それぞれに予め割り当てられているノートナンバーに対して、所定のルール（例えば、音高の低い順など）に従って番号を割り振る。そして、前記記憶された発音パターンデータ中のキー番号に対応した番号が割り振られたノートナンバーを、キー番号に対応した発音タイミングにおいて発生させる。これを押鍵状態が続いている間に繰り返し行うことで、同様のパターンからなる発音データを周期的に出力することにより、ユーザが指定した複数の音高の楽音を分散させて、アルペジオ音として発生することができるようにしている。こうしたアルペジオ生成機能を持つ自動伴奏装置の一例を挙げると、例えば下記に示す特許文献１に記載の装置がある。
【特許文献１】特開2005−10445号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、従来知られた自動伴奏装置において、音域を拡げてアルペジオ音を発生させたいような場合には、予め発音パターンデータ内に、上記キー番号と発音タイミングの他に、所望の音域幅にあわせたオクターブ情報（詳しくはオクターブシフト量）を定義しておく必要がある。しかし、ユーザが所望する音域は多々あり、それぞれの音域に対応させるようにして予め該当する音域を持つ発音パターンデータをすべて作成しておかなければならないのは非常に面倒であり、また予め該当する音域を持つ発音パターンデータを作成しておいたとしても、ユーザが必要に応じてその都度該当する発音パターンデータを適宜に選択しながら演奏を行うことは困難である。また、発音パターンデータは、そのデータ中に定義された音の並び（発音パターン）に応じて、規則性ある特性をもつタイプのものと、フレーズ特性をもつタイプのものとがある。こうした発音パターンデータを用いて音域を拡げてアルペジオ音を発生させる場合、従来ではどのタイプも同じように音を展開させてアルペジオ音を発生しており、例えば同じ音高列が続いてしまったり、いきなり２オクターブとんでしまったりするなどの、聴感上不自然な現象が生ずるという不都合があった。このように、従来の装置においては、ユーザが演奏中に音域を適宜に変更させながら聴感上不自然さなくアルペジオ音を演奏することが難しい、という問題点があった。
【０００４】
本発明は上述の点に鑑みてなされたもので、予めユーザ所望の音域毎に該当する音域を持つ発音パターンデータを作成しておかなくても、ユーザが演奏中にアルペジオ音の音域を適宜に変更することができるようにした自動伴奏装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る自動伴奏装置は、少なくとも所定の発音パターンを示す発音パターン情報と前記発音パターンの特性を示す特性情報とを取得する取得手段と、上下いずれかに音域を拡張するよう指示する音域拡張指示手段と、１乃至複数の音高情報を入力する音高情報入力手段と、前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従ってアルペジオ音を生成する際に、前記取得した特性情報に応じてオクターブシフト量を順次に変更し、該変更したオクターブシフト量に基づいて、前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従い決定されるアルペジオ構成音の音高をオクターブシフトして、前記拡張指示された音域内の複数のオクターブ範囲にわたって順次にアルペジオ構成音を展開する楽音生成手段と具える。
【０００６】
この発明によると、少なくとも所定の発音パターンを示す発音パターン情報と前記発音パターンの特性を示す特性情報とを取得し、上下いずれかに音域を拡張する指示に従って、前記取得した特性情報に応じてオクターブシフト量を順次に変更し、該変更したオクターブシフト量に基づいて、前記入力した１乃至複数の音高情報、かつ、前記取得した発音パターン情報に従い決定されるアルペジオ構成音の音高をオクターブシフトして、前記拡張指示された音域内の複数のオクターブ範囲にわたって順次にアルペジオ構成音を展開する。こうすることにより、ユーザは予め所望の音域を反映した発音パターンデータを用意しておく必要がなく、既存の発音パターンデータを用いて、自然な聴感のアルペジオを演奏中に適宜に音域を調整しながら生成することが簡単にできるようになる。
【０００７】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【０００８】
この発明によれば、予めユーザ所望の音域毎に該当する音域を持つ発音パターンデータを作成しておかなくても、ユーザが演奏中にアルペジオ音の音域を適宜に変更することができるようになる、という効果を得る。また、発音パターンデータの特性をユーザが知っていなくても、音域の拡張時において自動的に発音パターンデータの特性毎に最適な方法でアルペジオ音の音高を決定するので、聴感上自然なアルペジオ音を得ることができるようになる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１０】
図１は、この発明に係る自動伴奏装置を適用した電子楽器の全体構成の一実施例を示したハード構成ブロック図である。本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この電子楽器全体の動作を制御する。このＣＰＵ１に対して、通信バス１Ｄ（例えばデータ及びアドレスバス）を介してＲＯＭ２、ＲＡＭ３、通信インタフェース（Ｉ／Ｆ）４、入力操作部５、表示部６、外部記憶装置７、音源８がそれぞれ接続されている。ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラム（例えば、自動伴奏処理（後述する図３参照）など）や各種データ等（例えば、アルペジオパターンデータ（後述する図２参照）など）を格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００１１】
通信インタフェース（Ｉ／Ｆ）４は、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワークに接続されており、該通信ネットワークを介して外部機器４Ａ等と接続され、当該外部機器４Ａから制御プログラムや各種データを電子楽器本体側に取り込むためのインタフェースである。こうした通信インタフェース４は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００１２】
入力操作部５は楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のような演奏操作子、アルペジオ音（分散和音）を自動生成する「アルペジオ演奏モード」に当該電子楽器を設定するためのアルペジオ演奏モード指定スイッチ、「アルペジオ演奏モード」の際に参照すべきアルペジオパターンデータを、タイプの入力により選択するためのタイプ別選択スイッチ、あるいは「アルペジオ演奏モード」の際に自動生成されるアルペジオ音の拡張音域を、オクターブレンジの入力（例えば、＋３、＋２、＋１、０、−１、−２、−３など）により設定するための音域拡張指示スイッチなどである。上記鍵盤型の演奏操作子（以下、単に鍵盤と呼ぶ）は楽音演奏のために使用できるのは勿論のこと、当該電子楽器を「アルペジオ演奏モード」に設定する、「アルペジオ演奏モード」の際に参照すべきアルペジオパターンデータを選択する、あるいは「アルペジオ演奏モード」の際に自動生成されるアルペジオ音の拡張音域を設定するための入力手段などとして使用することもできる。勿論、入力操作部５はこれら以外にも数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ６Ａに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてもよい。表示部６は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ６Ａに、予め記憶されているアルペジオパターンデータをタイプ別に一覧表示したり、ユーザが選択したアルペジオパターンデータやユーザが設定したアルペジオ音の拡張音域、あるいはＣＰＵ１の制御状態などの各種情報を表示したりする。
【００１３】
従来知られているように、上記したアルペジオ演奏モード設定スイッチの操作により当該電子楽器を「アルペジオ演奏モード」に設定した場合には、鍵盤のうち予め割り当てられている固定鍵域あるいはユーザ設定に応じて変動する任意の鍵域が「アルペジオ鍵域」に設定される。すなわち、「アルペジオ鍵域」の設定には、鍵盤を低音側と高音側の２つに分割する分割点を予め割り当てておき、この分割点から低音域側を「アルペジオ鍵域」とする方法、あるいは全ての鍵域から「アルペジオ鍵域」としたい音高範囲をユーザが直接選択して設定する方法などがあるが、「アルペジオ鍵域」を設定する方法は公知のどのような方法であってもよい。「アルペジオ鍵域」内の各鍵に対するユーザによる押鍵操作に従って検出されるノートナンバー（音高情報）は、アルペジオ構成音の音高を定めるために用いられる。すなわち、「アルペジオ鍵域」内の各鍵に対するユーザによる押鍵操作に従って検出されたノートナンバーと、後述するアルペジオパターンデータ（後述する図２参照）とに基づき、ノートナンバー、ベロシティ及びノートオン／ノートオフを音源８に対して設定することによって、アルペジオ（分散和音）での発音及び消音が行われるようになっている。これについては公知であることから、ここでの説明を省略する。なお、「アルペジオ鍵域」以外の各鍵に対するユーザによる押鍵操作に従って検出されたノートナンバーは、通常の鍵盤演奏としての楽音発生に用いられることは言うまでもない。
【００１４】
図１の説明に戻って、外部記憶装置７は上記したＲＯＭ２と同様に、制御プログラムや各種データなどを記憶する。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置７（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置７はハードディスク（ＨＤ）に限られず、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【００１５】
音源８は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた、「自動伴奏処理」（後述する図３参照）により生成されるアルペジオ発音データや演奏操作子の操作に応じて発生される発音データ等の各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を発生する。音源８から発生された楽音信号は、アンプやスピーカなどを含むサウンドシステム８Ａから発音される。この音源８から発生された楽音信号に対して、効果回路など（図示せず）を用いて所定の効果を付与するようにしてもよい。前記アルペジオ発音データや前記発音データの形式はＭＩＤＩ形式のようなディジタル符号化されたものであってもよいし、ＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭのような波形サンプルデータ方式からなるものであってもよい。この音源８とサウンドシステム８Ａの構成には、従来のいかなる構成を用いてもよい。例えば、音源８はＦＭ、ＰＣＭ、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、ＣＰＵ１によるソフトウェア処理で構成してもよい。
【００１６】
なお、上述した電子楽器において、演奏操作子は鍵盤楽器の形態に限らず、ギターのネック形状などのような弦楽器の形態であってもよい。また、電子楽器は入力操作部５やディスプレイ６Ａあるいは音源８などを１つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係る自動伴奏装置を適用する装置は電子楽器の形態に限らず、パーソナルコンピュータ、ＰＤＡや携帯電話等の携帯型通信端末、あるいはカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【００１７】
ここで、ＲＯＭ２や外部記憶装置７などに記憶されており、「アルペジオ演奏モード」時においてアルペジオ音を自動生成する際に参照されるアルペジオパターンデータについて、図２を用いて説明する。図２は、アルペジオパターンデータのデータ構造の一実施例を示す概念図である。図２（ａ）はアルペジオパターンデータの全体構造を、図２（ｂ）はアルペジオパターンデータ内に含まれる発音パターンデータのデータ構造をそれぞれ示す。
【００１８】
図２（ａ）に示すように、例えばピアノやギターなどの音色毎にアルペジオパターンデータ群が予め用意されており、該アルペジオパターンデータ群は、プリセットされたものやユーザにより設定された、複数のタイプ別のアルペジオパターンデータ（１〜Ｎ）を記憶する。各タイプ別のアルペジオパターンデータ（１〜Ｎ）は、楽音を出力するために用いられる出力トラック（Track‘1’〜Track‘n’）毎に、発音パターンデータ、音域情報、特性情報をそれぞれ含んでなる。発音パターンデータは、アルペジオ構成音それぞれの発音タイミング、音長、音量、さらには音高のオクターブシフト量などを定めたデータである。具体的には、図２（ｂ）に示すように、タイミング（Timing）、ゲートタイム（Gate）、キー番号（Key）、オクターブシフト情報（Oct）及びベロシティ（Vel）の５つの要素からなる１音分のデータ（イベントとも呼ぶ）を、複数音分記憶している。なお、図２（ｂ）に示した実施例は、１小節分の発音パターンデータを表している（１拍分の時間長さを４８０クロックとした場合であり、１小節分の時間長さは１９２０クロックとなる）。
【００１９】
発音パターンデータのタイミング（Timing）は、楽音の発音開始タイミングに対応するクロック値を表すデータである。ゲートタイム（Gate）は、発音する楽音のキーオンからキーオフまでの時間長（クロック数値）を表すデータである。キー番号（Key）は、アルペジオを発音する際の楽音の音高を決めるためのデータである。例えば、アルペジオ鍵域内の各鍵の押鍵操作に従って検出可能とする押鍵数を４つに設定した場合、キー番号は「１〜４」の数値をとり、このキー番号の値はアルペジオの音高変化パターンに対応して各１音分のデータ毎に予め割り当てられている。ＲＡＭ３にはこのキー番号に対応するレジスタが予め設定されており、「アルペジオ鍵域」内の各鍵に対するユーザによる押鍵操作に従って検出されるノートナンバーを該レジスタに格納する。この際には、所定のルール（例えば、音高の低い順など）に従って、小さいキー番号順にノートナンバーを割り当てる。そして、後述する自動伴奏処理（図３参照）において、発音パターンデータ中のキー番号に対して割り当てられたノートナンバーを該当するレジスタから読み出し、このノートナンバーに基づき発音する楽音の音高を定める。したがって、キー番号の並び順がアルペジオパターンを決定付ける。なお、発音する楽音の音高を定める際にはオクターブシフト等の処理もあるので、キー番号に対して割り当てられたノートナンバーに対応する音高が、そのまま発音される楽音の音高になるとは限らない。
【００２０】
発音パターンデータのオクターブシフト情報（Oct）は、「アルペジオ鍵域」内の各鍵を押鍵操作することによって指示される音高（ノート）をオクターブ単位で上下に変更させて発音する際に、何オクターブ分変更するかを指定するデータである。例えば、キー番号に割り当てられたノートナンバーが「Ｃ３」であるような場合において、オクターブシフト情報（Oct）が「０」と指定されている場合には、「Ｃ３」の音高を発音するタイミングで該「Ｃ３」の音高でそのまま発音させる。一方、オクターブシフト情報（Oct）が「＋１」と記憶されている場合には、「Ｃ３」の音高を発音するタイミングで該「Ｃ３」を１オクターブ上にシフトした「Ｃ４」の音高で発音させる。ベロシティは、発音する楽音のベロシティ値（音量の制御などに利用されるデータ）を表すデータである。このような押鍵数毎に定義された発音パターンデータに従って、押鍵に応じたアルペジオ発音データが生成されるようになっている。
【００２１】
音域情報は各発音パターンデータにより実現される固有の音域、つまりアルペジオパターンで使用するデフォルトの使用音域を示す情報であり、発音パターンデータに定義された上記オクターブシフト情報（Oct）に従って、「１オクターブ」〜「４オクターブ」、「それ以上のオクターブ（その他）」のいずれかに定義される。例えば、オクターブシフト情報（Oct）が「+0」のみで定義されている場合には音域情報に「１オクターブ」、オクターブシフト情報（Oct）が「+0」と「+1」（又は「-1」）とで定義されている場合には音域情報に「２オクターブ」、オクターブシフト情報（Oct）が「+0」と「+1」と「+2」（又は「-1」）とで定義されている場合には音域情報に「３オクターブ」とそれぞれ定義される。特性情報は各発音パターンデータにより実現される固有の楽音の特性、つまりアルペジオパターンの特性（音の並びの規則性）を示す情報であり、「フレーズ」、「その他」、「ｕｐ」、「ｄｏｗｎ」のいずれかに定義される。例えば、キー番号に単なる数値（ただし、このキー番号に対応するレジスタあり）ではなく、アルペジオ音生成の際に実際に用いる音高、つまりアルペジオ構成音の音高を定める音高情報であるノートナンバーが定義されている場合（所謂フィックスドノートタイプのアルペジエータの場合）には特性情報に「フレーズ」、キー番号に３以上の数値が定義されており並び順がランダムである場合には特性情報に「その他」、例えばキー番号に数値が昇順に定義されている場合には特性情報に「ｕｐ」（ただし、キー番号が「１」のみで特性情報が「ｕｐ」と定義されることもある）、例えばキー番号に数値が降順に定義されている場合には特性情報に「ｄｏｗｎ」（ただし、キー番号が「１」のみで特性情報が「ｄｏｗｎ」と定義されることもある）とそれぞれ定義される。したがって、図２（ｂ）に示す発音パターンデータの音域情報は「２オクターブ」であり、特性情報は「その他」である。
【００２２】
なお、アルペジオパターンデータに上記した音域情報又は／及び特性情報が含まれていない（定義されていない）ような場合には、各出力トラック毎に発音パターンデータを分析して各出力トラック毎の音域情報又は／及び特性情報を特定するようにしてよい。音域情報については発音パターンデータのオクターブシフト情報（Oct）を分析し、例えばオクターブシフト情報のうち最も大きい絶対値を持つオクターブシフト情報が「＋１」である場合には音域情報を２オクターブに、オクターブシフト情報のうち最も大きい絶対値を持つオクターブシフト情報が「＋０」である場合には音域情報を１オクターブに特定する。特性情報については発音パターンデータのキー番号を分析し、例えばキー番号にノートナンバーが定義されている場合（所謂フィックスドノートタイプのアルペジエータの場合）には特性情報を「フレーズ」に、キー番号に３以上の数値が定義されている場合には特性情報を「その他」に、キー番号に数値が昇順に定義されている場合には特性情報を「ｕｐ」に、キー番号に数値が降順に定義されている場合には特性情報を「ｄｏｗｎ」にそれぞれ特定する。
【００２３】
図１に示した電子楽器においては、予め選択済みのアルペジオパターンデータの発音パターンデータを使用して、ユーザによる鍵盤操作に応じて決定される複数の音高に基づきアルペジオ発音データを生成することにより、自然な聴感を持つアルペジオ音（分散和音）を生成することができるようになっている。こうしたアルペジオ音を自動生成する「自動伴奏処理」は、図１に示した電子楽器のＣＰＵ１が自動伴奏処理を実現する所定のプログラム（ソフトウエア）を実行することにより実施される。そこで、この「自動伴奏処理」の処理動作について、図３Ａ及び図３Ｂを用いて説明する。図３Ａ及び図３Ｂは、「自動伴奏処理」の一実施例を示したフローチャートである。当該処理は、アルペジオ演奏モード指定スイッチの操作に応じて当該装置がアルペジオ演奏モードに設定済みである場合に実行される。以下、図３Ａ及び図３Ｂに示したフローチャートに従って、当該処理の処理動作を説明する。ただし、ここでは図示の都合上、図３Ａに処理の前半部分を、図３Ｂに図３Ａに示した処理の前半部分に後続する処理の後半部分を、それぞれ分けて示している。
【００２４】
図３Ａに示すように、ステップＳ１は、アルペジオパターンデータの選択及び読み込みを行う。すなわち、ユーザによるタイプ別選択スイッチの操作に従って、音色毎に記憶されているアルペジオパターンデータ群の中から、アルペジオ生成に使用すべき対象とするアルペジオパターンデータを１つ選択し、該選択したアルペジオパターンデータをＲＯＭ２や外部記憶手段７などからＲＡＭ３に読み出す。ステップＳ２は、前記読み出したアルペジオパターンデータの発音パターンデータから音域情報を取得する。ここで、ステップＳ２以降の処理は、各出力トラック毎（発音パターンデータ毎）に行うものとして説明する。ステップＳ３は、前記読み出したアルペジオパターンデータの発音パターンデータから特性情報を取得する。ここで、発音パターンデータに音域情報や特性情報が含まれておらず、音域情報や特性情報を取得できない場合には、上述したようにして発音パターンデータを分析してこれらの情報を取得する。ステップＳ４は、各種初期設定を実行する。この初期設定としては、例えばユーザにより設定される音域拡張幅であるオクターブレンジを「０」にセットする、音域として使用できる音域最大値を「４（オクターブ）」にセットする、鍵盤数に応じて決まる発音可能音域（例えば、鍵盤数が６１鍵である場合には「Ｃ１〜Ｃ６」、８８鍵である場合には「Ａ−１〜Ｃ７」）を使用鍵域に仮セットする、ポインタ１を読み出したアルペジオパターンデータの発音パターンデータに定義されている先頭の１音分のデータの記憶位置にセットする、ループカウンタを「０」にセットするなどがある。
【００２５】
ステップＳ５は、ユーザによるアルペジオ鍵域内での押鍵操作の開始を検出する。ステップＳ６は、前記取得した特性情報が「フレーズ」以外及び「その他」以外である場合に、ユーザにより押鍵操作されたアルペジオ鍵域内の各鍵に対応付けられている押鍵音を発音パターンデータに適用する順番を決め（例えば、特性情報が「ｕｐ」のときは低い音高順、特性情報が「ｄｏｗｎ」のときは高い音降順とする）、１番目に適用する押鍵音にポインタ２をセットする。また、特性情報が「フレーズ」以外の発音パターンデータについては、数値の小さいキー番号から順に、ユーザにより押鍵操作されたアルペジオ鍵域内の各鍵に対応付けられている押鍵音を低い音高順に割り当てる。ステップＳ７は、ユーザによるアルペジオ鍵域内での押鍵操作が持続中であるか否かを判定する。ユーザによるアルペジオ鍵域内での押鍵操作が終了している（持続されていない）と判定した場合には（ステップＳ７のＮＯ）、当該処理を終了する。ユーザによるアルペジオ鍵域内での押鍵操作が持続中であると判定した場合には（ステップＳ７のＹＥＳ）、ユーザによる音域拡張指示スイッチの操作に応じた音域拡張指示を受け付けたか否かを判定する（ステップＳ８）。音域拡張指示を受け付けたと判定した場合には（ステップＳ８のＹＥＳ）、オクターブレンジを前記受け付けた音域拡張指示の値に変更する（ステップＳ９）。
【００２６】
ステップＳ１０は、取得した音域情報に規定されている音域とオクターブレンジに記憶した音域拡張値の絶対値とを加算し、該加算した結果の加算値が前記セットした音域最大値以下であるか否かを判定する。加算値が音域最大値以下であると判定した場合には（ステップＳ１０のＹＥＳ）、前記加算値（音域情報に規定されている音域＋オクターブレンジの音域拡張値の絶対値）を「発音音域」とする（ステップＳ１１）。一方、加算値が音域最大値以下でないと判定した場合には（ステップＳ１０のＮＯ）、音域最大値を「発音音域」とする（ステップＳ１２）。ステップＳ１３は、「音域情報＋ループカウンタ」の値が発音音域よりも小さいか否かを判定する。「音域情報＋ループカウンタ」の値が発音音域よりも大きいと判定した場合には（ステップＳ１３のＮＯ）、ループカウンタを「０」にセットするとともに、ポインタ１をリセット、つまりポインタ１を読み出したアルペジオパターンデータの発音パターンデータに定義されている先頭の１音分のデータの記憶位置に再セットする（ステップＳ１４）。ステップＳ１５は、前記取得した特性情報が「フレーズ」又は「その他」であるか否かを判定する。前記取得した特性情報が「フレーズ」又は「その他」である場合には（ステップＳ１５のＹＥＳ）、発音パターンデータからポインタ１が指し示す記憶位置にある１音分のデータを読み出し、自動伴奏音（発音データ）を生成する（ステップＳ１６）。ここで、特性情報が「その他」である場合には、キー番号に割り当てられた押鍵音に従い、発音パターンデータ中のオクターブシフト情報（Oct）に従うオクターブの調整を加味して自動伴奏音（発音データ）を生成する。他方、特性情報が「フレーズ」である場合には、キー番号に定義されたノートナンバーに従い、自動伴奏音（発音データ）を生成する。前記取得した特性情報が「フレーズ」及び「その他」でない場合には（ステップＳ１５のＮＯ）、発音パターンデータからポインタ１が指し示す記憶位置にある１音分のデータを読み出し、ポインタ２にセットされた押鍵音より自動伴奏音（発音データ）を生成する（ステップＳ１７）。ただし、この場合には、発音パターンデータ中のオクターブシフト情報（Oct）に従うオクターブの調整を加味しなくてよい。
【００２７】
図３Ｂに示すように、ステップＳ１８は、前記取得した特性情報が「フレーズ」又は「その他」であるか否かを判定する。前記取得した特性情報が「フレーズ」又は「その他」であると判定した場合には（ステップＳ１８のＹＥＳ）、オクターブレンジの音域拡張値が０以上であるか否かを判定する（ステップＳ２２）。すなわち、音域拡張が、発音パターンデータの音域情報に定義されているデフォルトの音域よりも、高いほうの音域に拡張するよう指示されているか否かを判定する。オクターブレンジの音域拡張値が０以上でないと判定した場合、つまりデフォルトの音域よりも低いほうの音域に拡張するよう指示されている場合には（ステップＳ２２のＮＯ）、生成した自動伴奏音の音高をループカウンタ分だけ下げるようにオクターブシフトする（ステップＳ２４）。オクターブレンジの音域拡張値が０以上であると判定した場合、つまりデフォルトの音域よりも高いほうの音域に拡張するよう指示されている場合には（ステップＳ２２のＹＥＳ）、生成した自動伴奏音の音高をループカウンタ分だけ上げるようにオクターブシフトする（ステップＳ２３）。前記取得した特性情報が「フレーズ」及び「その他」でないと判定した場合には（ステップＳ１８のＮＯ）、生成した自動伴奏音の音高を、ループカウンタ分だけ上げるようにオクターブシフトする（ステップＳ１９）。そして、オクターブレンジの音域拡張値が０以上であるか否かを判定する（ステップＳ２０）。オクターブレンジの音域拡張値が０以上でないと判定した場合には（ステップＳ２０のＮＯ）、生成した自動伴奏音の音高を、オクターブレンジの音域拡張値の絶対値分だけ下げるようにオクターブシフトする（ステップＳ２１）。
【００２８】
ステップＳ２５は、生成した自動伴奏音の音高を、発音可能音域内に納め音源に出力する。ステップＳ２６は、前記取得した特性情報が「フレーズ」又は「その他」であるか否かを判定する。前記取得した特性情報が「フレーズ」又は「その他」であると判定した場合には（ステップＳ２６のＹＥＳ）、ポインタ１が発音パターンデータに定義されている１音分のデータのうち、最後のデータの記憶位置を指し示しているか否かを判定する（ステップＳ３４）。ポインタ１が発音パターンデータに定義されている最後のデータの記憶位置を指し示していると判定した場合には（ステップＳ３４のＹＥＳ）、ポインタ１を発音パターンデータの先頭の１音分のデータの記憶位置に戻すようセットする（ステップＳ３５）。そして、ループカウンタに「１」を加算して（ステップＳ３６）、ステップＳ７の処理に戻る。一方、ポインタ１が発音パターンデータに定義されている最後のデータの記憶位置を指し示していないと判定した場合には（ステップＳ３４のＮＯ）、ポインタ１を１つ進め、発音パターンデータの後続する１音分のデータの記憶位置にセットし（ステップＳ３７）、ステップＳ７の処理に戻る。すなわち、押鍵があるとアルペジオパターンに従って順次発音データを出力するのであるが、特性情報が「フレーズ」の場合にはアルペジオパターンデータの最後に達すると、また始めに戻り、押鍵が続く間は周期的に同様な発音データの出力を繰り返す。
【００２９】
他方、上記ステップＳ２６において、前記取得した特性情報が「フレーズ」及び「その他」でないと判定した場合には（ステップＳ２６のＮＯ）、ポインタ１が発音パターンデータに定義されている１音分のデータのうち、最後のデータの記憶位置を指し示しているか否かを判定する（ステップＳ２７）。ポインタ１が発音パターンデータに定義されている最後のデータの記憶位置を指し示していると判定した場合には（ステップＳ２７のＹＥＳ）、ポインタ１を発音パターンデータの先頭の１音分のデータの記憶位置に戻すようセットする（ステップＳ２８）。ポインタ１が発音パターンデータに定義されている最後のデータの記憶位置を指し示していないと判定した場合には（ステップＳ２７のＮＯ）、ポインタ１を１つ進め、発音パターンデータの後続する１音分のデータの記憶位置にセットする（ステップＳ２９）。すなわち、押鍵があるとアルペジオパターンに従って順次発音データを出力するのであるが、アルペジオパターンデータの最後に達すると、また始めに戻り、押鍵が続く間は周期的に同様な発音データの出力を繰り返す。
【００３０】
ステップＳ３０は、ポインタ２が順位付けた複数の押鍵音のうち最後（一番低い順位）の押鍵音を指し示しているか否かを判定する。ポインタ２が順位付けた複数の押鍵音のうち最後の押鍵音を指し示していると判定した場合には（ステップＳ３０のＹＥＳ）、ポインタ２を順位付けた複数の押鍵音のうち最初（一番高い順位）の押鍵音を指し示すようセットする（ステップＳ３２）。そして、ループカウンタに「１」を加算して（ステップＳ３３）、ステップＳ７の処理に戻る。一方、ポインタ２が順位付けた複数の押鍵音のうち最後の押鍵音を指し示していると判定した場合には（ステップＳ３０のＮＯ）、ポインタ２を１つ進め、ポインタ２を順位付けた複数の押鍵音のうち次の順位の押鍵音を指し示すようセットし（ステップＳ３１）、ステップＳ７の処理に戻る。
【００３１】
次に、上記処理に従って、発音パターンデータに基づき生成されるアルペジオ音の音域拡張について、具体例を用いて説明する。ここでは、特性情報が「ｕｐ」（又は「ｄｏｗｎ」）の場合と、特性情報が「フレーズ」（又は「その他」）の場合とに図を分けて説明する。図４は、特性情報が「ｕｐ」である発音パターンデータに基づき生成されるアルペジオ音の音域拡張について説明するための概念図である。図５は、特性情報が「フレーズ」である発音パターンデータに基づき生成されるアルペジオ音の音域拡張について説明するための概念図である。図の左側に発音パターンデータを、図の右側に押鍵状態さらには音域拡張指示に基づき生成される発音データの具体例を示す。
【００３２】
図４を参照しながら、特性情報が「ｕｐ」である発音パターンデータに基づき生成されるアルペジオ音の音域拡張について説明する。まず、音域拡張指示として、アルペジオ音域を「＋１」拡張するように指示されている場合について説明する。例えば、押鍵状態として、アルペジオ鍵域内に含まれる鍵のうち、「Ｃ３」、「Ｅ３」がそれぞれ割り当てられている２つの鍵が同時に押鍵操作されているような場合、発音パターンデータに定義されているキー番号「１（Key＝1）」に「Ｃ３」、キー番号「２（Key＝2）」に「Ｅ３」がそれぞれ割り当てられる（ここでは特性情報が「ｕｐ」であることから、低音側の音高のノートナンバーから若いキー番号を順に割り当てる）。発音パターンデータの１音目（Timing＝0000）にはキー番号として「１」が設定されていることから、このキー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められ（ステップＳ１７参照：キー番号とポインタ２とは対応する）、１音目は「Ｃ３」が発音される（ステップＳ２５参照）。発音パターンデータの２音目（Timing＝0240）にはキー番号として「２」が設定されていることから、このキー番号「２」に割り当てられたノートナンバー「Ｅ３」により音高が決められ（ステップＳ１７参照）、２音目は「Ｅ３」が発音される（ステップＳ２５参照）。同様にすると、発音パターンデータの３音目（Timing＝0480）にはキー番号として「１」、発音パターンデータの４音目（Timing＝0720）にはキー番号として「２」が設定されていることから、１音目は「Ｃ３」、２音目は「Ｅ３」とそれぞれ音高が決められるが（ステップＳ１７参照）、これらの処理の前において「ループカウンタ」は「０」から「１」に変更されていることから（ステップＳ３３参照）、前記決定した音高よりも１オクターブ上の「Ｃ４」、「Ｅ４」がそれぞれ３音目、４音目として発音される（ステップＳ１９及びステップＳ２５参照）。
【００３３】
発音パターンデータの最後の１音分のデータである４音目（Timing＝0720）のデータを用いた処理が終わると、発音パターンデータの先頭の１音目（Timing＝0000）のデータに戻って処理を続けることから（ステップＳ２８参照）、発音パターンデータの１音目（Timing＝0000）に従って５音目の処理が行われる。発音パターンデータの１音目（Timing＝0000）にはキー番号として「１」が設定されていることから、このキー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められるが（ステップＳ１７参照）、これらの処理の前において「ループカウンタ」が「１」から「２」に変更されていることから（ステップＳ３３参照）、前記決定した音高よりも２オクターブ上の「Ｃ５」が５音目に決められる（ステップＳ１９参照）。同様にすると、発音パターンデータの２音目（Timing＝0240）に従って、６音目は「Ｅ５」となる。６音目の処理が終了すると、ループカウンタ及びポインタ１がリセットされることから（ステップＳ１４参照）、７音目の処理には発音パターンデータの先頭の１音目（Timing＝0000）のデータが用いられる。したがって、キー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められ、またループカウンタは上記のようにして「０」となっていることから、「０」オクターブ上げても音高は変わらず、７音目はそのまま「Ｃ３」が発音される（図示せず）。
【００３４】
このようにして、音域拡張指示として、アルペジオ音域を「＋１」拡張するように指示されており、アルペジオ鍵域内に含まれるノートナンバー「Ｃ３」、「Ｅ３」がそれぞれ割り当てられている鍵が同時に押鍵された場合においては、１音目から順に「Ｃ３」、「Ｅ３」、「Ｃ４」、「Ｅ４」、「Ｃ５」、「Ｅ５」の音高を持つ８分音符（Gate＝220）で構成されたアルペジオパターンを繰り返す発音データが生成されることになる。すなわち、特性情報が「ｕｐ」（又は「ｄｏｗｎ」）である発音パターンデータを用いている場合に、音域拡張指示として、アルペジオ音域を「＋」方向（高い音域方向）に拡張するように指示されたような場合には、音域拡張前に比べて最低音高を変更することなしに、指定された「＋値」分高いオクターブだけ音域が拡張されるようになる。
【００３５】
一方、音域拡張指示として、アルペジオ音域を「−１」拡張するように指示されている場合について説明する。発音パターンデータの１音目（Timing＝0000）にはキー番号として「１」が設定されていることから、このキー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められるが、この場合には、ループカウンタ分のオクターブ上げる処理（ステップＳ１９参照）及びオクターブレンジの絶対値分（ここでは「１」固定）のオクターブ下げる処理（ステップＳ２１参照）を行うことから、１音目は前記決定した「Ｃ３」を「０」オクターブ上げてから「１」オクターブ下げた音高である「Ｃ２」となる（ループカウンタが「０」、オクターブレンジの絶対値が「１」）。同様にすると、発音パターンデータの２音目（Timing＝0240）に従って、２音目は「Ｅ２」となる。発音パターンデータの３音目（Timing＝0480）に従って３音目を作成する際には、キー番号として「１」が設定されていることから、このキー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められるが、この場合には「ループカウンタ」が「１」、「オクターブレンジの絶対値」が「１」（固定値）となっていることから、３音目は前記決定した「Ｃ３」を「１」オクターブ上げてから「１」オクターブ下げた音高、つまり「Ｃ３」そのままとなる。同様にすると、発音パターンデータの４音目（Timing＝0720）に従って、４音目は「Ｅ３」となる。
【００３６】
発音パターンデータの最後の１音分のデータである４音目（Timing＝0720）のデータを用いた処理が終わると、発音パターンデータの先頭の１音目（Timing＝0000）のデータに戻って処理を続けることから（ステップＳ２８参照）、発音パターンデータの１音目（Timing＝0000）に基づき５音目の処理が行われる。発音パターンデータの１音目（Timing＝0000）にはキー番号として「１」が設定されていることから、このキー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められるが、この処理の際には「ループカウンタ」が「２」、「オクターブレンジの絶対値」が「１」となっていることから、５音目は「Ｃ３」を「２」オクターブ上げてから「１」オクターブ下げた音高である「Ｃ４」となる。同様にすると、発音パターンデータの２音目（Timing＝0240）に従って、６音目は「Ｅ４」となる。６音目の処理が終了すると、ループカウンタ及びポインタ１がリセットされることから（ステップＳ１４参照）、７音目の処理には発音パターンデータの先頭の１音目（Timing＝0000）のデータが用いられる。したがって、キー番号「１」に割り当てられたノートナンバー「Ｃ３」により音高が決められるが、この場合にはループカウンタは上記のようにして「０」とされることから、前記決定した「Ｃ３」を「０」オクターブ上げてから「１」オクターブ下げた音高である「Ｃ２」が発音される（図示せず）。
【００３７】
このようにして、音域拡張指示として、アルペジオ音域を「−１」拡張するように指示されており、アルペジオ鍵域内に含まれるノートナンバー「Ｃ３」、「Ｅ３」がそれぞれ割り当てられている鍵が同時に押鍵された場合においては、１音目から順に「Ｃ２」、「Ｅ２」、「Ｃ３」、「Ｅ３」、「Ｃ４」、「Ｅ４」の音高を持つ８分音符（Gate＝220）で構成されたアルペジオパターンを繰り返す発音データが生成されることになる。すなわち、特性情報が「ｕｐ」（又は「ｄｏｗｎ」）である発音パターンデータを用いている場合に、音域拡張指示として、アルペジオ音域を「−」方向（低い音域方向）に拡張するように指示された場合には、音域拡張前に比べて最低音高が変更されて、指定された「−値」分低いオクターブだけ音域が拡張されるようになる。
【００３８】
次に、図５を参照しながら、特性情報が「フレーズ」である発音パターンデータに基づき生成されるアルペジオ音の音域拡張について説明する。まず、音域拡張指示として、アルペジオ音域を「＋１」拡張するように指示されている場合について説明する。例えば、押鍵状態として、アルペジオ鍵域内に含まれる鍵のうち、「Ｃ３」が割り当てられている鍵が押鍵操作されると、発音パターンデータの１音目（Timing＝0000）にはキー番号としてノートナンバー「Ｃ３」が設定されており、またここではループカウンタが「０」であって「０」オクターブ上げても（ステップＳ２３参照）音高は変わらないので、１音目はそのまま「Ｃ３」となる。２音目のデータ（Timing＝0240）はキー番号としてノートナンバー「Ｃ３」が設定されていることから、２音目は「Ｃ３」となる。同様にすると、３音目、４音目は「Ｅ３」、５、６音目は「Ｇ３」、７音目は「Ａ３」、８音目は「Ｇ３」となる。
【００３９】
発音パターンデータの最後の１音分のデータである８音目（Timing＝1680）のデータを用いた処理が終わると、発音パターンデータの先頭の１音目（Timing＝0000）のデータに戻って処理を続けることから（ステップＳ３５参照）、発音パターンデータの１音目（Timing＝0000）に基づき９音目の処理が行われる。発音パターンデータの１音目（Timing＝0000）にはキー番号としてノートナンバー「Ｃ３」が設定されているが、この処理の前には「ループカウンタ」が「１」とされていることから（ステップＳ３６参照）、「Ｃ３」の１オクターブ上である「Ｃ４」が９音目となる（ステップＳ２３参照）。同様にすると、１０音目〜１６音目までは上記２音目〜８音目までのそれぞれの音高に１オクターブ上の音高に決められる。１６音目の処理が終了すると、再度発音パターンデータの先頭の１音目（Timing＝0000）に戻って処理を続けるが、１６音目の処理が終了した際に「ループカウンタ」は「０」にリセットされることから（ステップＳ１４参照）、１７音目以降は１音目〜１６音目までと同様の音高が繰り返されることになる。
【００４０】
このようにして、音域拡張指示として、アルペジオ音域を「＋１」拡張するように指示されており、アルペジオ鍵域内に含まれるノートナンバー「Ｃ３」が割り当てられている鍵が押鍵された場合においては、図示したような音高を持つ８分音符（Gate＝220）で構成されたアルペジオパターンを繰り返す発音データが生成されることになる。すなわち、特性情報が「フレーズ」（又は「その他」）である発音パターンデータを用いている場合に、音域拡張指示として、アルペジオ音域を「＋」方向（高い音域方向）に拡張するように指示されたような場合には、音域拡張前に比べて最低音高を変更することなしに、指定された「＋値」分高いオクターブだけ音域が拡張されるようになる。
【００４１】
一方、音域拡張指示として、アルペジオ音域を「−１」拡張するように指示されている場合について説明する。１音目〜８音目までについては、上記したアルペジオ音域を「＋１」拡張するように指示されている場合と同様であることから、説明を省略する。発音パターンデータの最後の１音分のデータである８音目（Timing＝1680）のデータを用いた処理が終わり、再度発音パターンデータの先頭の１音目（Timing＝0000）のデータに戻って９音目の処理を行う場合、発音パターンデータの１音目（Timing＝0000）にはキー番号としてノートナンバー「Ｃ３」が設定されているが、この場合には、ループカウンタ分（ここでは「１」）のオクターブだけ音高を下げる処理（ステップＳ２４参照）を行うことから、９音目は「Ｃ２」となる。同様にすると、９音目〜１６音目までは２音目〜８音目までのそれぞれの音高に１オクターブ減算した音高に決められる。１６音目の処理が終了すると、再度発音パターンデータの先頭の１音目（Timing＝0000）に戻って処理を続けるが、１６音目の処理が終了した際に「ループカウンタ」は「０」にリセットされることから（ステップＳ１４参照）、１７音目以降は１音目〜１６音目までと同様の音高が繰り返される。
【００４２】
このようにして、音域拡張指示として、アルペジオ音域を「−１」拡張するように指示されており、アルペジオ鍵域内に含まれるノートナンバー「Ｃ３」が割り当てられている鍵が押鍵された場合においては、図示のように、フレーズ１ループ目を発音パターンデータに基づく元音域内の音高を持つ８分音符（Gate＝220）で構成される発音データ、フレーズ２ループ目を発音パターンデータに基づく元音域よりも１オクターブ下の音域内の音高を持つ８分音符（Gate＝220）で構成される発音データ、が生成されることになる。すなわち、特性情報が「フレーズ」（又は「その他」）である発音パターンデータを用いている場合に、音域拡張指示として、アルペジオ音域を「−」方向（低い音域方向）に拡張するように指示された場合には、音域拡張前に比べて最低音高が変更されて、指定された「−値」分低いオクターブだけ音域が拡張されるようになる。
【００４３】
以上のようにすることによって、発音パターンデータそのものに変更を加えることなく、ユーザは演奏中に自由にアルペジオ音を展開すべき音域を変える（拡張する）ことができる。また、発音パターンデータに基づく元音域を考慮して音域拡張を行うので、ユーザは使用する発音パターンデータに基づく元音域について認識していなくてよい。さらに、ユーザによる音域拡張（オクターブレンジ）の指示に応じてアルペジオ音を展開する音域が自動的に拡張されるが、単純に拡張するのではなく、対象となるアルペジオパターンデータの持つ音域や、発音パターンデータの特性（音の並びの規則性）を考慮しながら音域を拡張するようになることから、無理のない自然な音域拡張が行われる。すなわち、音域拡張時において、発音パターンデータの持つ特性に応じたアルペジオ音を生成するので、より聴感上自然で変化に富んだアルペジオ音での演奏を行うことができるようになる。
【００４４】
なお、音域拡張指示は演奏前もしくは演奏途中でユーザが操作子により行うとよい。また、音域拡張指示をあらかじめプログラムしたデータを装置に入力するようにしてもよい。
なお、発音パターンデータは複数種類、装置内に記憶されていてもよいし、外部装置やネットワークを通して参照するような仕組みであってもよい。複数種類の発音パターンデータが存在する場合は、使用するものをユーザが任意に指定することができるようにしてよい。
なお、発音パターンデータに限らず他の自動伴奏パターンデータでもよい。  例えば、伴奏スタイルを用いる自動伴奏装置では、ユーザの選択した伴奏スタイルに応じて記憶されている自動伴奏パターンデータに基づいて、鍵盤などから検出した入力和音に合わせて自動伴奏データを生成する。自動伴奏パターンデータは、個々の伴奏音に対応した音高データとタイミングデータをセットにしたもので、例えば「Cmaj（Ｃメジャー）」などの所定和音に基づいたソースパターンとして用意されている。こうした自動伴奏装置では、入力和音の種類に応じてソースパターン内の音高を変換するとともに、全音高を入力和音の根音に応じてシフトし、和音に合った音高の伴奏音を生成する。
【００４５】
なお、各発音パターンデータの持つ特性情報は１つの識別子としてデータ内に記憶されていてもよいし、実際の発音パターンデータを分析して決定してもよい。各発音パターンデータが持つ音域情報についても同様で、１つの識別子としてデータ内に記憶されていてもよいし、実際の発音パターンデータを分析して取得してもよい。特性情報と音域情報とを識別子で持つ場合、２種類別々の識別子でもよいし、１つの識別子で見分けてもよい。
なお、音域を拡張した結果、装置の発音可能な音域をはみ出してしまう場合には、例えば、はみ出す音高を1オクターブ上下移動するなどの処理を行って、装置の発音可能な音域内に収めるようにするとよい。
【００４６】
なお、発音パターンデータの持つ音域情報は具体的な音高で示されていてもよいし、例えば１オクターブや１２半音などの幅で示されていてもよい。
なお、上述した実施例のように、発音パターンデータが複数出力トラック分ある場合には、音域拡張の指示を出力トラック別にできるようにしてもよい。あるいは、発音パターンデータが複数出力トラック分あっても、複数出力トラック一括で音域拡張を指示できるようにしてあってもよい。
なお、発音パターンデータのフォーマットは、各イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」、イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、イベントの発生する時刻に対応するメモリ領域にイベントを記憶した「ベタ方式」等、どのような形式であってもよい。
【図面の簡単な説明】
【００４７】
【図１】この発明に係る自動伴奏装置を適用した電子楽器の全体構成の一実施例を示したハード構成ブロック図である。
【図２】アルペジオパターンデータのデータ構造の一実施例を示す概念図であり、図２（ａ）はアルペジオパターンデータ、図２（ｂ）は発音パターンデータのデータ構造をそれぞれ示すものである。
【図３Ａ】自動伴奏処理の前半処理の一実施例を示したフローチャートである。
【図３Ｂ】自動伴奏処理の後半処理の一実施例を示したフローチャートである。
【図４】特性情報が「ｕｐ」である発音パターンデータに基づき生成されるアルペジオ音の音域拡張について説明するための概念図である。
【図５】特性情報が「フレーズ」である発音パターンデータに基づき生成されるアルペジオ音の音域拡張について説明するための概念図である。
【符号の説明】
【００４８】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…通信インタフェース、４Ａ…外部機器、５…入力操作部、６…表示部、６Ａ…ディスプレイ、７…外部記憶装置、８…音源、８Ａ…サウンドシステム、１Ｄ…通信バス
【図１】
2008102349.tif 000003
【図２】
2008102349.tif 000004
【図３Ａ】
2008102349.tif 000005
【図３Ｂ】
2008102349.tif 000006
【図４】
2008102349.tif 000007
【図５】
2008102349.tif 000008