(57)【特許請求の範囲】
【請求項１】
複数の演奏形態の各々に対応して、複数の演奏パートについての演奏データを記憶する記憶手段と、
前記記憶手段から所望の演奏形態に対応する前記演奏データを読み出して、これに基づいて複数の演奏パートについての演奏音を再生する再生手段と、
現在再生中の演奏形態から別の演奏形態への移行を指示する指示手段と、
前記指示手段による移行指示に応じて、再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えるよう複数のフェーズで制御することにより、再生中の演奏形態の演奏パートを徐々に移行先の演奏形態の演奏パートに置き換えていく制御手段と
を備えた演奏制御装置。
【請求項２】
前記指示手段は操作子を含んでなり、
前記制御手段は、前記操作子の１回の操作毎に前記フェーズを順次進めることを特徴とする請求項１に記載の演奏制御装置。
【請求項３】
前記制御手段は、前記指示手段による１回の指示に応じて自動的に前記フェーズを順次進めることを特徴とする請求項１に記載の演奏制御装置。
【請求項４】
移行先の演奏形態を指示する識別情報を移行元の前記各演奏形態毎に予め記憶し、
現在再生中の演奏形態に応じた前記識別情報に従って、移行先の演奏形態が判定されることを特徴とする請求項１乃至３のいずれかに記載の演奏制御装置。
【請求項５】
前記複数のフェーズにおける各演奏パートの移行順序を前記各演奏形態毎に予め記憶し、
現在再生中の演奏形態に応じた前記移行順序に従って、フェーズが進む毎に順次に再生中の演奏形態の演奏パートの演奏データを移行先の演奏形態の演奏パートの演奏データに置き換えることを特徴とする請求項１乃至４のいずれかに記載の演奏制御装置。
【請求項６】
移行先の演奏形態を指示する識別情報を任意に設定する手段を備えてなり、
設定した前記識別情報に従って、再生中の演奏形態に対応する移行先の演奏形態が決定されることを特徴とする請求項１乃至５のいずれかに記載の演奏制御装置。
【請求項７】
前記複数のフェーズにおける演奏パートの移行順序を任意に設定する手段を備えてなり、
設定した前記移行順序に従って、フェーズが進む毎に順次に再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えることを特徴とする請求項１乃至６のいずれかに記載の演奏制御装置。
【請求項８】
前記制御手段は、再生中の演奏形態の一部の演奏パートを移行先の演奏形態における異なる種類の演奏パートに置き換えることを特徴とする請求項１乃至７のいずれかに記載の演奏制御装置。
【請求項９】
再生中の演奏形態の演奏パート数と移行先の演奏形態の演奏パート数とが異なっていることを特徴とする請求項１乃至８のいずれかに記載の演奏制御装置。
【請求項１０】
前記制御手段は演奏パートの移行順序をランダムに決定し、決定した前記移行順序に従って、フェーズが進む毎に順次に再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えることを特徴とする請求項１乃至９のいずれかに記載の演奏制御装置。
【請求項１１】
前記制御手段は演奏パートの移行順序を再生中の演奏形態の演奏パート及び移行先の演奏形態の演奏パートにより決定し、決定した前記移行順序に従って、フェーズが進む毎に順次に再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えることを特徴とする請求項１乃至１０のいずれかに記載の演奏制御装置。
【請求項１２】
前記制御手段は、前記指示手段による移行指示がなされた後の所定の演奏タイミングに対応して、再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えることを特徴とする請求項１乃至１１のいずれかに記載の演奏制御装置。
【請求項１３】
前記制御手段は、前記指示手段による移行指示がなされた時点が演奏タイミングのどの時点に対応するかに応じて、再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えるタイミングを決定することを特徴とする請求項１乃至１２のいずれかに記載の演奏制御装置。
【請求項１４】
再生中の演奏形態の演奏パートの演奏データが移行先の演奏形態の演奏パートの演奏データに全て置き換えられた場合に、移行先の演奏形態を新たに再生中の演奏形態とし、該新たに再生中の演奏形態に応じた前記識別情報に従って、次の移行先の演奏形態が決定されることを特徴とする請求項１乃至１３のいずれかに記載の演奏制御装置。
【請求項１５】
前記指示手段は前記フェーズを戻すことのできる操作子を含んでなり、
現在再生中の演奏形態に対して最初の移行を開始する前に前記操作子が操作された場合に、それまでの移行経過から戻す先となる演奏形態を決定し、当該演奏形態を新たに再生中の演奏形態とし、再生中であった演奏形態を新たに移行先の演奏形態とすることを特徴とする請求項１乃至１４のいずれかに記載の演奏制御装置。
【請求項１６】
前記指示手段は前記フェーズを戻すことのできる操作子を含んでなり、
現在再生中の演奏形態に対して最初の移行を開始する前に前記操作子が操作された場合に、現在再生中の演奏形態が移行先の演奏形態として設定されている演奏形態をサーチし、当該演奏形態を新たに再生中の演奏形態とし、再生中であった演奏形態を新たに移行先の演奏形態とすることを特徴とする請求項１乃至１５のいずれかに記載の演奏制御装置。
【請求項１７】
全てのフェーズまで移行が進んでも移行しない演奏パートを設けたことを特徴とする請求項１乃至１６のいずれかに記載の演奏制御装置。
【請求項１８】
前記制御手段は、移行元の演奏形態から移行先の演奏形態へと演奏データを移行する際に、演奏データのクロスフェード処理を行いながら移行を進めることを特徴とする請求項１乃至１７のいずれかに記載の演奏制御装置。
【請求項１９】
前記指示手段の１回の移行指示に応じて再生中の演奏形態の全演奏パートではない複数の演奏パートを移行先の演奏形態の複数の演奏パートに置き換えることを特徴とする請求項１乃至１８のいずれかに記載の演奏制御装置。
【請求項２０】
前記指示手段による移行指示に応じて、前記移行先の演奏形態の一部の演奏パートの演奏データは、前記再生中の演奏形態の一部の演奏パートの演奏データを変形することで作成されるものであることを特徴とする請求項１乃至１９のいずれかに記載の演奏制御装置。
【請求項２１】
演奏データを記録するためのコンピュータ読み取り可能な記録媒体であって、
複数の演奏形態の各々に対応する、複数の演奏パートからなる演奏データを記憶すると共に、
各演奏形態毎に、当該演奏形態から他の演奏形態へと移行すべきときの移行先の演奏形態を指定する情報と、移行元の当該演奏形態の演奏パートを徐々に移行先の演奏形態の演奏パートに置き換えていく順序を指定する情報とを記憶してなり、
当該記録媒体に記憶されたいずれかの前記演奏形態の演奏データの再生中に当該再生中の演奏形態から他の演奏形態へと移行すべきとき、当該記録媒体に記憶された前記移行先の演奏形態を指定する情報と前記順序を指定する情報が指定する順序に従い、移行元の演奏形態の演奏パートを徐々に移行先の演奏形態の演奏パートに置き換えていくことができるようにしたことを特徴とする演奏データを記録する記録媒体。
【請求項２２】
複数の演奏形態の各々に対応して複数の演奏パートについての演奏データを記憶した記憶手段から所望の演奏形態に対応する前記演奏データを読み出して、これに基づいて複数の演奏パートについての演奏音を再生する自動演奏装置における演奏制御方法であって、
現在再生中の演奏形態から別の演奏形態への移行を指示するステップと、
前記移行指示に応じて、再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えるよう複数のフェーズで制御することにより、再生中の演奏形態の演奏パートを徐々に移行先の演奏形態の演奏パートに置き換えていくステップと
を備えた演奏制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、予め複数の演奏パートを複数のトラックのいずれかに対応させて記憶しておいた演奏データを読み出し、この演奏データに基づいて楽音を再生する電子楽器あるいは自動演奏装置その他演奏装置に関し、特に所定の演奏データを再生しながら他の演奏データへと切り換えを行う際に演奏パート単位に順次切り換えを行うことのできる演奏制御装置及び方法に関する。
【０００２】
【従来の技術】
従来から知られた電子楽器あるいは自動演奏装置等の演奏装置では、多数の演奏データを記憶し、いずれか選択された演奏データに基づいて自動演奏を行うようになっている。また、ある演奏データの自動演奏中にパネルスイッチを操作することで、自動演奏される演奏データを演奏中に次々と切り換えながら楽音の演奏を行うことができるようになっている。なお、演奏データの演奏パート（例えば、ドラムパートやベースパートあるいはコードバッキングパート等の複数の演奏パート）は、それぞれ所定のトラックのいずれかに対応付けられている。
【０００３】
【発明が解決しようとする課題】
ところで、従来の演奏制御装置では演奏データを新たな演奏データに切り換える際に複数の演奏パートを全て同時に一括して切り換えることしかできなかったために、全ての演奏パートで同時に演奏形態が変化することとなって演奏の切り換えとして不自然である、という問題点があった。
【０００４】
本発明は上述の点に鑑みてなされたもので、所定の演奏データの演奏中に新たに異なる演奏データへと演奏を切り換える場合に、演奏中の演奏データから新たに切り換え指示された演奏データへと徐々に演奏を切り換えることができるようにした演奏制御装置及び方法を提供しようとするものである。
【０００５】
【課題を解決するための手段】
本発明に係る演奏制御装置は、複数の演奏形態の各々に対応して、複数の演奏パートについての演奏データを記憶する記憶手段と、前記記憶手段から所望の演奏形態に対応する前記演奏データを読み出して、これに基づいて複数の演奏パートについての演奏音を再生する再生手段と、現在再生中の演奏形態から別の演奏形態への移行を指示する指示手段と、前記指示手段による移行指示に応じて、再生中の演奏形態の一部の演奏パートの演奏データを移行先の演奏形態の一部の演奏パートの演奏データに置き換えるよう複数のフェーズで制御することにより、再生中の演奏形態の演奏パートを徐々に移行先の演奏形態の演奏パートに置き換えていく制御手段とを備えたものである。
【０００６】
演奏データは演奏される楽曲を音楽的に特徴付けるデータであり、あらかじめ記憶手段に複数記憶されている。この演奏データを指定してやることで、それに基づいた演奏形態で楽曲を演奏することが可能となっている。ユーザは演奏中（再生中）の演奏データとは異なった演奏形態等で演奏を行いたい場合に、指示手段から移行指示を与えることができる。この指示手段は、再生中の演奏データから異なる演奏データ（すなわち、移行先の演奏データ）へ移行を指示することができる。移行指示が行われると、所定の移行順序に従って移行元の演奏データと移行先の演奏データとを演奏パート毎に順次に移行して再生するよう再生手段を制御する。再生手段は、記憶手段から演奏パート毎に移行先の演奏形態の演奏データ及び移行元の演奏形態の演奏データを読み出して、これらの演奏データを混在した状態で同時に再生することができる。すなわち、演奏データを移行する際に、演奏パート単位に徐々に演奏データを移行することができる。
【０００７】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し、実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【０００８】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図１は、この発明に係る演奏制御装置を内蔵した電子楽器の構成を示すハードブロック図である。
電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、プログラムメモリ２及びワーキングメモリ３からなるマイクロコンピュータによって制御されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してプログラムメモリ２、ワーキングメモリ３、押鍵検出回路４、スイッチ検出回路５、表示回路６、音源回路７、効果回路８、外部記憶装置９、ＭＩＤＩインタフェース（Ｉ／Ｆ）１０および通信インタフェース１１がそれぞれ接続されている。ＣＰＵ１には、タイマ割込み処理における割込み時間や各種時間を計時するタイマ１Ａが接続されている。
【０００９】
プログラムメモリ２は、ＣＰＵ１により実行あるいは参照される各種プログラムや各種データ等を格納するものであり、リードオンリメモリ（ＲＯＭ）等で構成されている。ワーキングメモリ３は、演奏に関する各種情報やＣＰＵ１がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ（ＲＡＭ）の所定のアドレス領域がそれぞれ割り当てられ、レジスタやフラグなどとして利用される。鍵盤４Ａは楽音の音高を選択するための複数の鍵を備えており、各鍵に対応してキースイッチを有しており、この鍵盤４Ａは楽音演奏のために使用できるのは勿論のこと、移行指示の入力手段として使用することもできる。押鍵検出回路４は、鍵盤４Ａの各鍵の押圧及び離鍵を検出し、検出出力を生じる。スイッチ部５Ａは移行指示を入力したり、あるいは演奏曲に関する各種の音楽条件を入力するための各種の操作子を含んで構成される。例えば、数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはパネルスイッチ等である。この他にも音高、音色、効果等を選択・設定・制御するための各種操作子を含んでいてよい。スイッチ検出回路５は、スイッチ部５Ａの各操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。表示回路６はＣＰＵ１の制御状態、設定データの内容等の各種情報を、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイに表示するようになっている。
【００１０】
音源回路７は、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられた演奏情報を入力し、このデータに基づき楽音信号を発生する。音源回路７から発生された楽音信号は、サウンドシステム８Ａを介して発音される。また、効果回路８は前記音源回路７から発生された楽音信号に対して各種効果を与える。前記音源回路７における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるＦＭ方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるＡＭ方式等の公知の方式を適宜採用してもよい。すなわち、音源回路の方式は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路を構成するものに限らず、ＤＳＰとマイクロプログラム、あるいはＣＰＵとソフトウェアを用いて音源回路を構成するようにしてもよい。さらに、１つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、１つの発音チャンネルが１つの回路で形成されるようなものであってもよい。
【００１１】
外部記憶装置９は、スタイルデータ（後述する）やリズムパターンなどのような演奏に関するデータやＣＰＵ１が実行する各種プログラム等の制御に関するデータを記憶するものである。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置９（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置９はハードディスク（ＨＤ）に限らず、フロッピィーディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略）等の着脱自在な様々な形態の記憶メディアを利用する記憶装置であってもよい。
【００１２】
ＭＩＤＩインタフェース（Ｉ／Ｆ）１０は、当該電子楽器外部の他のＭＩＤＩ機器１０Ａ等からＭＩＤＩ規格の演奏情報を入力したり、あるいはＭＩＤＩ演奏情報を当該電子楽器外部へ出力するためのものである。通信インタフェース１１は、例えばＬＡＮやインターネット、電話回線等の通信ネットワーク１１Ｂに接続されており、概通信ネットワーク１１Ｂを介して、サーバコンピュータ１１Ａと接続され、当該サーバコンピュータ１１Ａから制御プログラムや各種データを電子楽器装置側に取り込むためのものである。すなわち、ＲＯＭ２やハードディスクに制御プログラムや各種データが記憶されていない場合に、サーバコンピュータ１１Ａから制御プログラムや各種データをダウンロードするために用いられる。クライアントとなる電子楽器装置は、通信インターフェース１１及び通信ネットワーク１１Ｂを介してサーバコンピュータ１１Ａへと制御プログラムや各種データのダウンロードを要求するコマンドを送信する。サーバコンピュータ１１Ａは、このコマンドを受け、要求された制御プログラムやデータを、通信ネットワーク１１Ｂを介して本装置へと配信し、本装置が通信インタフェース１１を介して、これら制御プログラムや各種データを受信してハードディスクに蓄積することにより、ダウンロードが完了する。なお、ＭＩＤＩインタフェース１０は専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインタフェースを用いてＭＩＤＩインタフェースを構成するようにしてもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００１３】
図２は、この発明において採用するスタイルデータのデータ構成の一実施例を概念的に示した図である。ただし、この実施の形態ではスタイルデータ中に移行情報が含まれている例を示す。
スタイルデータは、大別すると、ヘッダデータとパターンデータとに分けられる。ヘッダデータは、例えば、スタイル番号、スタイル名、拍子、移行情報（移行先スタイル番号及びトラック移行順序）等を記憶する項目からなり、後述するパターンデータに共通するパラメータデータである。この移行情報（移行先スタイル番号及びトラック移行順序）はスタイルデータ毎に異なる内容に設定されていてもよいし、同じ内容に設定されているスタイルデータがあってもよい。パターンデータは複数のトラックデータ１〜ｎからなり、各トラックデータ１〜ｎはドラムパート、ベースパート、コードバッキングパート等の演奏パートに対応するデータである。例えば、第１のトラックデータ１がドラムパートに、第２のトラックデータ２がベースパートに、第３のトラックデータ３がコードバッキングパートに対応する。本実施例では、各スタイルデータにおける同一トラックデータ１〜ｎは全て同じ演奏パートに対応する。各トラックデータ１〜ｎは、それぞれノートデータとタイミングデータを組み合わせた列で構成されたデータからなる。ただし、ドラムパート以外の演奏パートは、必要に応じてノートデータを別途指定される和音に応じたものに変換してもよい。
なお、スタイルデータはこれ以外にも音色やテンポ小節数等、他の演奏パラメータを項目として備えていてもよいことは言うまでもない。
【００１４】
項目「スタイル番号」は、スタイルデータ毎に対応して付与される当該スタイルデータを指し示すための番号（あるいは記号）である。項目「スタイル名」は演奏スタイル名であり、例えば「ダンス＆ポップス系（ラップ、ユーロビート、ポップバラード）」、「ソウル系（ダンスファンク、ソウルバラード、Ｒ＆Ｂ）」、「ロック系（ソフト８ビート、８ビート、ロックンロール）」、「ジャズ系（スィング、ジャズバラード、ジャズボサノバ）」、「ラテン系（ボサノバ、サンバ、ルンバ、ビギン、タンゴ、レゲエ）」、「マーチ系」、「演歌系」、「唱歌系」などの演奏スタイル毎に与えられる名前である。項目「拍子」は、例えば４分の４拍子や８分の８拍子等の拍子である。項目「移行先スタイル番号」は、移行先のスタイルデータを指し示す番号（つまり、移行先の「スタイル番号」）である。スタイルを移行する際には、当該「移行先スタイル番号」と同一の「スタイル番号」を持つスタイルデータへと移行する。また、「移行先スタイル番号」に対応するスタイルデータは、同じ拍子のスタイルが設定される。項目「トラック移行順序」はトラックデータを移行する順序を示すものであり、スタイルデータを移行する際には「トラック移行順序」に規定された順のトラック単位にスタイルデータを移行する。
【００１５】
なお、スタイルデータは各データが連続的に記憶領域に記憶されているものに限らず、飛び飛びの記憶領域に散在して記憶されていてもよい。例えば、ヘッダデータとパターンデータとを別々のメモリ上に記憶してもよい。ただし、この場合には各々散在するデータを、連続するデータとして別途管理することが必要であることはいうまでもない。例えば、ヘッダデータとパターンデータとを関連づけしたテーブルを用意し、このテーブルを参照することによってスタイルデータが決定されるようにしてよい。
【００１６】
次に、スタイルデータのパターン移行態様について簡単に説明する。
例えば、移行元のスタイルデータの「スタイル番号」が「１」、「移行先スタイル番号」が「２」、「トラック移行順序」が「１、２、３」である場合のパターン移行例を図３Ａに示す。移行元のスタイルデータの「スタイル番号」が「２」であり、「移行先スタイル番号」が「３」かつ「トラック移行順序」が「２、３、１」である場合のパターン移行例を図３Ｂに示す。ただし、移行元及び移行先スタイルデータともトラックを３つ備えた場合を例に示す。また、各図の左側に移行前の演奏スタイルを示し、各図の右側に移行後の演奏スタイルを示す。
【００１７】
図３Ａに示すように、移行前においては「スタイル番号」が「１」のスタイルデータから各トラックデータ１〜３が読み出される。すなわち、各トラック１〜３は全て同一の演奏スタイル（スタイル１）で演奏されることになる。第１の移行指示があると、まずトラック１がスタイル１からスタイル２に移行する（矢印Ｘ１）。すなわち、「スタイル番号」が「２」のスタイルデータからトラックデータ１が読み出され、「スタイル番号」が「１」のスタイルデータからトラックデータ２と３が読み出される。第２の移行指示があると、トラック２がスタイル１からスタイル２に移行する（矢印Ｘ２）。第３の移行指示があると、トラック３がスタイル１からスタイル２に移行する（矢印Ｘ３）。こうすると、移行後においては「スタイル番号」が「２」のスタイルデータから各トラックデータ１〜３が読み出される。すなわち、各トラック１〜３は全て同一の演奏スタイル（スタイル２）で演奏されるようになる。
同様に図３Ｂでは、第１の移行指示があると、まずトラック２がスタイル２からスタイル３に移行する（矢印Ｘ１）。次に、第２の移行指示があると、トラック３がスタイル２からスタイル３に移行する（矢印Ｘ２）。そして、第３の移行指示があると、トラック１がスタイル２からスタイル３に移行する（矢印Ｘ３）。
このように、トラック別に異なった演奏スタイルのデータを混在して読み出すことができるので、移行指示がある度に、「トラック移行順序」に従って、各トラックを順次に同一の演奏スタイルへと移行することができる。
【００１８】
図４は、この発明に係る演奏制御装置における機能ブロックの一実施例を示すブロック図である。図４に示す各部はハードウェアで実現してもよいし、ソフトウェアによる処理で実現するようにしてもよい。
スタイルデータ・移行情報記憶部２１は上述したスタイルデータや移行情報（移行先スタイル番号及びトラック移行順序）を多数記憶する、例えばＲＯＭやＲＡＭあるいはハードディスク等の外部記憶媒体などである。記憶するスタイルデータや移行情報はメーカー等が供給したものでもよいし、ユーザが記録したものでもよい。スタイル選択部２２は多数のスタイルデータの中からいずれかのスタイルデータをユーザからの指示により選択して、選択されたスタイル番号を移行元パターン読み出し部２５と移行制御部２４に供給する。例えば、ユーザがスタイル番号を選択指示できるテンキーや、ユーザがディスプレイ上に表示されたスタイル名（あるいはスタイル番号）を見ながら選択指示することのできるタッチパネルなどである。移行指示部２３はスイッチ等からなり、スタイルデータを移行先へと移行する「移行指示＋」命令、あるいはスタイルデータを移行元へと戻す「移行指示−」命令を移行制御部へ供給する。
移行制御部２４は、スタイル選択部２２から供給されたスタイル番号と同一のスタイル番号の付与されたスタイルデータをスタイルデータ・移行情報記憶部２１から読み出し、読み出したスタイルデータから移行先スタイル番号及びトラック移行順序を得て、移行先パターン読み出し部２６に対して移行先として読み出すべきスタイル番号を供給する。また、供給された「移行指示＋」あるいは「移行指示−」に応じて、移行元パターン読み出し部２５と移行先パターン読み出し部２６に対してトラック指示を供給する。例えば、トラック移行順序が「１、２、３」である場合、最初の「移行指示＋」により移行元パターン読み出し部２５にはトラック１の読み出し停止を指示し、移行先パターン読み出し部２６にはトラック１の読み出し開始を指示する。そして、２回目の「移行指示＋」があると移行元パターン読み出し部２５にはトラック２の読み出し停止を指示し、移行先パターン読み出し部２６にはトラック２の読み出し開始を指示する。また、「移行指示−」が供給されると、上記の読み出し停止と開始を逆にしたトラック指示を移行元パターン読み出し部２５及び移行先パターン読み出し部２６へと供給する。
【００１９】
移行元パターン読み出し部２５は、スタイル選択部２２から供給されたスタイル番号のスタイルデータを読み出して、パターンデータを音源部２７へと供給する。初期状態（つまり、最初のスタイルデータ読み出し時）では、全トラックのパターンデータ（詳しくは、トラックデータ）の読み出しを行う。そして、移行制御部２４から供給されるトラック指示に応じて、読み出すトラックの制御を行う。例えば、トラック１の読み出し停止が指示されると、トラック１の読み出しを停止する。なお、読み出しを停止することなく、読み出したパターンデータを音源部２７へと供給しないようにすることで、トラックの読み出し制御を行ってもよい。移行先パターン読み出し部２６は移行制御部から供給されたスタイル番号のスタイルデータを読み出し、パターンデータを音源部２７へと供給する。初期状態（つまり、最初のスタイルデータ読み出し時）では、全トラックについてパターンデータ（詳しくは、トラックデータ）の読み出しを行わない。そして、移行制御部２４から供給されるトラック指示に応じて、読み出すトラックの制御を行う。例えば、トラック１の読み出し開始が指示されると、トラック１の読み出しが開始される。なお、初期状態で全トラックのパターンデータの読み出しを行うが、読み出したパターンデータを音源部２７へと供給しないようにしておいて、読み出し開始が指示されたときのみに音源部２７へ供給するようにして、トラックの読み出しを制御するようにしてもよい。
音源部２７は供給された移行元及び移行先パターンデータに応じて、楽音を発生させる。複数トラックの音を同時に発生可能である。
【００２０】
図５は、上述した移行制御部２４で実行される移行制御処理の一実施例を示すフローチャートである。図５Ａは、移行指示があると直ちにトラック指示を発生する場合の処理である。図５Ｂは、移行指示の後に拍や小節タイミングに達した時点でトラック指示を発生する場合の処理である。図５Ｃは、移行指示のタイミングが小節内の所定タイミング（例えば３拍目）よりも前なら直ちに、後なら次の小節タイミングに達した時点でトラック指示を発生する場合の処理である。なお、各処理は所定の周期毎に実行される（例えばタイマ割り込み処理）が、この所定周期はテンポに応じた周期でもよいし、テンポとは無関係な周期でもよい。一例としては、４分音符の９６分の１の周期で実行するものをあげることができる。
【００２１】
以下、図５の各フローチャートに従って、移行制御処理の動作を説明する。  まず、図５Ａの移行制御処理について説明する。
ステップＳ１では、移行指示が行われたか否かを判定する。移行指示が行われていない場合（ステップＳ１のＮＯ）、スタイルデータを移行する必要がないので当該処理を終了する。移行指示が行われている場合には（ステップＳ１のＹＥＳ）、後述するトラック指示処理を行う（ステップＳ２）。すなわち、この場合には移行指示があると直ちにトラック指示を発生してスタイルデータを移行する。
【００２２】
次に、図５Ｂの移行制御処理について説明する。
ステップＳ５では、移行指示が行われたか否かを判定する。移行指示が行われている場合（ステップＳ５のＹＥＳ）、移行予約を行う（ステップＳ６）。移行指示がなかった場合（ステップＳ５のＮＯ）、ステップＳ７へジャンプする。ステップＳ７では、拍あるいは小節タイミングにあるか否かを判定する。拍あるいは小節タイミングでない場合には（ステップＳ７のＮＯ）、当該処理を終了する。すなわち、移行を行わない。拍あるいは小節タイミングである場合（ステップＳ７のＹＥＳ）、移行予約が既に為されているか否かを判定する（ステップＳ８）。移行予約が未だになされていなかった場合には（ステップＳ８のＮＯ）、当該処理を終了する。移行予約が既になされていた場合には（ステップＳ８のＹＥＳ），後述のトラック指示処理を行い（ステップＳ９）、移行予約を解除した後に（ステップＳ１０）、当該処理を終了する。このように、移行指示があると直ちに移行を行うのではなく、移行指示がなされた後の所定のタイミングで移行するように構成することで、ユーザは移行指示をラフに行うことができる。
【００２３】
次に、図５Ｃの移行制御処理について説明する。
ステップＳ１１において、移行指示が行われたか否かを判定する。移行指示が行われていない場合（ステップＳ１１のＮＯ）、ステップＳ１５へジャンプする。移行指示が行われている場合（ステップＳ１１のＹＥＳ）、当該移行指示が所定のタイミングよりも前に行われたか否かを判定する（ステップＳ１２）。所定のタイミングよりも前で行われていないならば（ステップＳ１２のＮＯ）、移行予約を行う（ステップＳ１３）。所定のタイミングよりも前で行われているならば（ステップＳ１２のＹＥＳ）、後述するトラック指示処理を行う（ステップＳ１４）。ステップＳ１５では、小節タイミングにあるか否かを判定する。小節タイミングでない場合には（ステップＳ１５のＮＯ）、当該処理を終了する。すなわち、移行を行わない。小節タイミングである場合（ステップＳ１５のＹＥＳ）、移行予約がなされているか否かを判定する（ステップＳ１６）。移行予約がなされていない場合には（ステップＳ１６のＮＯ）、当該処理を終了する。移行予約がなされている場合には（ステップＳ１６のＹＥＳ）、後述のトラック指示処理を行い（ステップＳ１７）、移行予約を解除して（ステップＳ１８）当該処理を終了する。このように、移行指示が小節内の所定タイミングよりも前か後かによって移行の仕方を変えると、ユーザの意図に沿った移行が可能となる。例えば、小節タイミングの前後で移行指示がなされた場合について考える。移行指示によって直ちに移行を行っている場合に小節タイミング前に移行指示が行われると、最初に移行するトラックがほんの短い時間しか演奏されず、実質的に２番目に移行するトラックからの演奏となってしまう。一方、移行指示後の小節タイミングまで待ってから移行を行っている場合に小節タイミング直後に移行指示が行われると、最初に移行するトラックが演奏されるまでに１小節程度待たされることになる。図５Ｃに示した処理では、これらの不都合を解決することができる。
【００２４】
なお、現在のタイミングが所定のタイミングより前／後の判定や、現在のタイミングが拍／小節のタイミングかの判定は、現在のタイミングを図示しない処理によって別途管理することにより実現することができる。
また、上述した例のようにタイミング制御（移行指示後、拍や小節タイミングになるまでトラック指示を遅延させる）を移行制御部２４にて行うものに限らず、読み出し部２５及び２６へのトラック指示を直ちに行い、読み出し部２５及び２６側にてタイミング制御するようにしてもよい。
【００２５】
ここで、後述のトラック指示処理で使用する移行管理テーブルについて簡単に説明する。図６は、移行管理テーブルの全体構成の一実施例を概念的に示した概念図である。ただし、この実施例ではトラックを３つ備えてなり、「トラック移行順序」が‘１→２→３’と設定されているスタイルデータから作成される移行管理テーブルを示す。
移行管理テーブルは「トラック移行順序」に基づいて作成され、移行フェーズ（移行段階）毎に移行元スタイル及び移行先スタイルのどのトラックをオン／オフするかを記憶するテーブルである。移行フェーズは移行時における移行の進行度合いを示すものであり、本実施例では‘フェーズ０’、‘フェーズ１’、‘フェーズ２’、‘フェーズＥ’の段階別に分けられる。‘フェーズ０’が最初の移行前の状態であり、‘フェーズＥ’が最終的な移行後の状態である。移行元スタイルは移行元のトラック別の移行状態を示し、移行先スタイルは移行先のトラック別の移行状態を示す。スタイル移行前では全てのトラックが移行元スタイルであるので、‘フェーズ０’の移行元スタイルの全トラックにオン（この例では、フラグが１）を記憶する。そして、‘フェーズ０’の移行先スタイルの全トラックにオフ（この例では、フラグが０）を記憶する。「トラック移行順序」が‘１→２→３’の場合、最初の移行段階‘フェーズ１’では、トラック１が移行元スタイルから移行先スタイルに移行するので移行元スタイルのトラック１にオフを記憶し、移行先スタイルのトラック１にオンを記憶する。２番目の移行段階‘フェーズ２’では、トラック２が移行元スタイルから移行先スタイルに移行するので移行元スタイルのトラック２にオフを記憶し、移行先スタイルのトラック２にオンを記憶する。３番目の移行段階‘フェーズＥ’では、トラック３が移行元スタイルから移行先スタイルに移行するので移行元スタイルのトラック３にオフを記憶し、移行先スタイルのトラック３にオンを記憶する。つまり、移行終了時の‘フェーズＥ’では、移行元スタイルの全トラックにオフ、移行先スタイルの全トラックにオンを記憶する。このように、移行管理テーブルは移行フェーズの進行に応じて各トラックのオン／オフ状態を記憶する。
【００２６】
図７は、図５Ａ〜図５Ｃに示した各移行制御処理で行われるトラック指示処理の一実施例を示すフローチャートである。当該処理は、移行指示があるたびに移行管理テーブルを参照して各トラックのオン／オフを決定し、移行元及び移行先パターン読み出し部２５及び２６へ指示する。
まず、供給された移行指示が「移行指示＋」であるか否かを判定する（ステップＳ２１）。移行指示が「移行指示＋」であって、現在の移行フェーズが‘フェーズＥ’である場合には（ステップＳ２１のＹＥＳかつステップＳ２２のＹＥＳ）、移行スタイル変更処理１を行う（ステップＳ２３）。現在の移行フェーズが‘フェーズＥ’でない場合には（ステップＳ２２のＮＯ）、移行管理テーブルの現在の移行フェーズを次の移行フェーズへ１つ進める（ステップＳ２４）。そして、１つ進められた移行フェーズの移行元スタイルにおける各トラックのオン／オフを移行元パターン読み出し部２５へ、移行先スタイルにおける各トラックのオン／オフを移行先パターン読み出し部２６へと指示する（ステップＳ２５）。一方、移行指示が「移行指示＋」でなく「移行指示−」であって、現在の移行フェーズが‘フェーズ０’である場合には（ステップＳ２１のＮＯかつステップＳ２６のＹＥＳ）、移行スタイル変更処理２を行う（ステップＳ２７）。現在の移行フェーズが‘フェーズ０’でない場合には（ステップＳ２６のＮＯ）、移行管理テーブルの現在の移行フェーズを前の移行フェーズへ１つ戻す（ステップＳ２８）。そして、１つ戻された移行フェーズの移行元スタイルにおける各トラックのオン／オフを移行元パターン読み出し部２５へ、移行先スタイルにおける各トラックのオン／オフを移行先パターン読み出し部２６へと指示する（ステップＳ２５）。
なお、移行フェーズが‘フェーズＥ’まで進んだ後に、更に移行指示として「移行指示＋」が指示された場合は、その指示を無視するようにしてもよい。この場合には、移行スタイル変更処理１（ステップＳ２３）を実行しないでトラック指示処理を終了する。同様に、移行フェーズが‘フェーズ０’で移行指示として「移行指示−」が指示された場合も、その指示を無視するようにしてもよい。この場合には、移行スタイル変更処理２（ステップＳ２７）を実行しないでトラック指示処理を終了する。
【００２７】
図８Ａは、上述したトラック指示処理で行われる移行スタイル変更処理１の一実施例を示すフローチャートである。
現移行先スタイルを新たな移行元スタイルとして移行元パターン読み出し部２５に指示する（ステップＳ３１）。新たな移行元スタイルにおける移行先スタイル番号を読み出し、移行先パターン読み出し部２６に指示する（ステップＳ３２）。新たな移行元スタイルにトラック移行順序を読み出し、移行管理テーブルを作成する（ステップＳ３３）。現在の移行フェーズを‘フェーズ０’に設定する（ステップＳ３４）。現在の移行フェーズの各トラックのオン／オフを移行元及び移行先パターン読み出し部２５及び２６へと指示する（ステップＳ３５）。そして、移行経過を更新する（ステップＳ３６）。この移行経過の更新では、直前の移行元を移行経過として記憶保持する。例えば、移行スタイルが‘１→２→４→３’の順に変化した場合、移行元スタイルは‘１→２→４’の順に、移行先スタイルは‘２→４→３’の順となるので、移行経過には‘１、２’が記録される。
このように、移行フェーズが‘フェーズＥ’（最終フェーズ）に達した後に更に「移行指示＋」が指示されると、それまでの移行先スタイルデータが新たな移行元スタイルデータとなり、新たな移行元スタイルデータに設定されている移行先スタイルデータへ更に移行が進むことになる。こうすることにより、移行指示をするだけで、最後の移行トラックまで移行が完了しても、更に次の移行先のスタイルデータへと移行を進めて演奏することができる。
【００２８】
図８Ｂは、上述したトラック指示処理で行われる移行スタイル変更処理２の一実施例を示すフローチャートである。
移行経過に基づいて戻るスタイル（移行元となるスタイル）を決定し、決定したスタイルを新たな移行元スタイルとして移行元パターン読み出し部２５に指示する（ステップＳ４１）。現移行元スタイルを新たな移行先スタイルとして移行先パターン読み出し部２６に指示する（ステップＳ４２）。新たな移行元スタイルのトラック移行順序を読み出し、移行管理テーブルを作成する（ステップＳ４３）。現在の移行フェーズを‘フェーズＥ’に設定する（ステップＳ４４）。現在の移行フェーズの各トラックのオン／オフを移行元及び移行先パターン読み出し部２５及び２６へと指示する（ステップＳ４５）。移行経過を更新する（ステップＳ４６）。この移行経過の更新では、新たに移行元となったものを削除する。例えば、移行経過に‘１、２’と記録されていたときは、新たな移行元は‘２’となり、移行経過としては‘１’のみが残って記録される。なお、移行元決定（ステップＳ４１参照）において、移行経過に何も記録されていないときは（例えば、初期状態や上記のように削除されたような場合）、新たな移行元を決定せず、スタイルの移行は行われない。
このように、移行フェーズが‘フェーズ０’（先頭フェーズ）にある場合に更に移行指示として「移行指示−」が指示されたとき、それまでの移行経過に応じて戻し先を決定し、それを新たな移行元スタイルデータとする。そして、それまでの移行元が移行先となる。すなわち、それまでの移行元が新たな移行先となり、決定されたスタイルが移行元となる。こうすることにより、移行フェーズを戻す移行指示をした場合に、最初の移行トラックまで移行が完了しても、更に次の移行元のスタイルデータへと移行を戻して演奏することができる。この際、過去の移行経過に応じて戻す移行元を決定するので、移行経過のとおりに戻すことができる。
【００２９】
図８Ｃは、上述したトラック指示処理で行われる移行スタイル変更処理２の他の実施例を示すフローチャートである。
現移行元スタイルが移行先スタイルに設定されているスタイルをサーチし、新たな移行元スタイルとして移行元パターン読み出し部２５に指示する（ステップＳ５１）。現移行元スタイルを新たな移行先スタイルとして移行先パターン読み出し部２６に指示する（ステップＳ５２）。新たな移行元スタイルのトラック移行順序を読み出し、移行管理テーブルを作成する（ステップＳ５３）。現在の移行フェーズを‘フェーズＥ’に設定する（ステップＳ５４）。現在の移行フェーズの各トラックのオン／オフを移行元及び移行先パターン読み出し部２６へと指示する（ステップＳ５５）。なお、移行元決定（ステップＳ５１参照）において、現移行元スタイルが移行先スタイルに設定されているスタイルデータが見つからなかったときは、新たな移行元を決定せず、移行は行われない。また、複数のスタイルデータが移行元の候補としてあがったときは、いずれかのスタイルデータをランダムに選択して移行元に決定する。
このように、移行フェーズが‘フェーズ０’（先頭フェーズ）に戻った後に更に「移行指示−」が指示されたとき、現在の移行元スタイルデータが移行先に設定されているスタイルデータをサーチし、それを新たな移行元スタイルデータとする。そして、それまでの移行元が移行先となる。こうすることにより、移行フェーズを戻す移行指示をするだけで、最初の移行トラックまで移行が完了しても、更に次の移行元のスタイルデータへと移行を戻して演奏することができる。この際、現移行元を移行先に設定してあるスタイルデータを移行元に設定するので、移行の経歴がない場合（あるいは移行経歴はあるが既に最初のスタイルデータに戻ってしまった場合）であっても、戻すことができる。
【００３０】
上述したスタイルデータ（図２参照）ではヘッダデータ内に移行情報を構成した例を示したが、移行情報をスタイルデータと別に構成して、それぞれをＲＯＭやＲＡＭあるいは外部記憶媒体等に記憶するようにしてもよい。図９はスタイルデータの別のデータ構成例であり、詳しくはスタイルデータと移行情報とを別々に構成したものである。
スタイルデータは、ヘッダデータとパターンデータとにより構成される。ヘッダデータは、例えば、スタイル番号、スタイル名、拍子等を記憶する項目からなり、パターンデータに共通したパラメータである。パターンデータは複数のトラックからなり、各トラックはドラムパート、ベースパート、コードバッキングパート等の演奏パートに対応している。移行情報は、移行元スタイル番号と移行先スタイル番号とトラック移行順序とにより構成される。移行元スタイル番号は移行元のスタイルデータを示すためのスタイル番号である。このようにスタイルデータと移行情報とを別々に構成することにより、スタイルデータに移行情報を含むものに比べて、スタイルデータを変更せずに移行情報を設定することができるので、ユーザ独自の移行元と移行先の組み合わせやトラック移行順序を作成することが可能となる（後述の移行情報作成処理参照）。
なお、各スタイルデータについて１つの移行情報を持たせるように構成するだけに限らず、スタイルデータ毎に複数の移行情報を持たせるように構成してもよい。ただし、その場合には、ユーザが何れかの移行情報を予め選択することで移行先スタイルやトラック移行順序を決定することができるようにする。また、移行元と移行先のスタイルが同じでトラック移行順序が異なる複数の移行情報を記憶するようにしてもよい。
【００３１】
移行情報は、移行情報作成処理により作成される。図１０は、移行情報作成処理の一実施例を示したフローチャートである。
ユーザは、移行元スタイル番号（ステップＳ６１）と、移行先スタイル番号（ステップＳ６２）と、トラック移行順序（ステップＳ６３）とを指定する。そして、それらの指定に従って、移行元スタイル番号、移行先スタイル番号、トラック移行順序の組を移行情報として記憶する（ステップＳ６４）。
なお、上述のように移行情報を新たに作成するものに限らず、既存の移行情報をコピーし、一部を修正して新たな移行情報を作成するようにしてもよい。こうすると、既存の移行情報を破壊する恐れがないし、類似の移行情報を作成することが簡単にできるようにもなる。
【００３２】
図１１〜図１３は、移行順序の設定内容別にパターン移行の様子を示した概念図である。ただし、図１１及び図１２は移行元と移行先のトラック数が異ならない場合であり（この実施例ではトラック数が３）、図１３は移行元と移行先のトラック数が異なる場合である（この実施例では、トラック数が３と４）。
図１１Ａは、複数のトラックをまとめて移行できるように移行順序の内容を設定した場合のパターン移行例を示すものである。例えば、移行順序が‘１と２、３’と設定されている場合である。この場合には、移行フェーズが‘フェーズ１’に移行するとトラック１とトラック２とが同時にスタイル２となる。そして、‘フェーズ１’から‘フェーズＥ’に移行するときに残りのトラック３がスタイル２に移行する。このように、１つの移行指示で複数のトラックを移行させることによって、例えば全トラック数が多い場合であっても少ない回数の移行指示で移行を完了させることができるようになる。
図１１Ｂは、最後のフェーズ（つまり、‘フェーズＥ’）までいっても移行しないトラックがあるように移行順序の内容を設定した場合のパターン移行例を示すものである。例えば、移行順序が‘１、３’と設定されている場合である。この場合、移行フェーズが‘フェーズ１’に移行するとトラック１がスタイル２となり、‘フェーズ１’から‘フェーズＥ’に移行するとトラック３がスタイル２に移行する。そして、トラック２はスタイル１のまま移行しない。このように、最終フェーズまで達しても移行しないトラックを設けることによって、移行元のスタイルデータの演奏内容を残したまま移行を完了させることができるようになる。
図１１Ｃ〜Ｅは、トラックの移行順序をランダムに決定するように移行順序の内容を設定した場合のパターン移行例を示すものである。例えば、移行順序が‘ランダム’と設定されている場合である。この場合、移行フェーズが‘フェーズ１’に移行するとランダムに選択されたトラックがスタイル２となる。図１１Ｃではトラック１が、図１１Ｄではトラック２が、図１１Ｅではトラック３が選択されてスタイル２に移行している。次に、移行フェーズが‘フェーズ１’から‘フェーズ２’に移行すると‘フェーズ１’移行時に移行しなかったトラックからランダムに選択されたトラックがスタイル２となる。図１１Ｃ及び図１１Ｄではトラック３が、図１１Ｅではトラック２が選択されてスタイル２に移行している。更に、移行フェーズが‘フェーズ２’から‘フェーズＥ’に移行すると‘フェーズ１’及び‘フェーズ２’移行時に移行しなかった残りのトラックがスタイル２となる。図１１Ｃではトラック２が、図１１Ｄ及び図１１Ｅではトラック１がスタイル２に移行している。このように、移行するトラックをランダムに決定することによって、変化に富んだ移行を楽しむことができるようになる。
【００３３】
図１２は、移行元と移行先のトラックが異なるように移行順序を設定した場合のパターン移行例を示すものである。例えば、移行順序が‘１→１、２→３、３→１’と設定されている場合である。この場合、移行フェーズが‘フェーズ１’に移行するとトラック１がトラック２となり、かつ、スタイル２に移行する。これにより、トラック１のパートは演奏されず、トラック２では２系列のパートが同時に演奏される。次に、移行フェーズが‘フェーズ１’から‘フェーズ２’に移行すると、トラック２がトラック３となり、かつ、スタイル２に移行している。更に、移行フェーズが‘フェーズ２’から‘フェーズＥ’に移行すると、トラック３がトラック１となり、かつ、スタイル２に移行している。
【００３４】
図１３は、移行元と移行先のトラック数が異なるように移行順序を設定した場合である。例えば、移行順序が‘１→１、２→２と３、３→４’と設定されている場合である。この場合、移行フェーズが‘フェーズ１’に移行するとトラック１がスタイル２に移行する。次に、移行フェーズが‘フェーズ１’から‘フェーズ２’に移行すると、トラック２がトラック２とトラック３となり、かつ、スタイル２に移行している。更に、移行フェーズが‘フェーズ２’から‘フェーズＥ’に移行すると、トラック３がトラック４となり、かつ、スタイル２に移行している。
このように、移行元と移行先のトラックを非対応としたことによって、例えば移行元のベースパートを残したまま移行先のベースパートも演奏する、といった複雑な演奏を行うことが可能となる。
【００３５】
次に、各トラックの演奏データの内容を判断して、トラック移行順序を決定する処理について説明する。図１４は、トラック移行順序決定処理の一実施例を示すフローチャートである。
図１４Ａは、移行元と移行先の各トラックのスタイルデータの一致度を判定し、一致度の高い順（あるいは低い順）にトラックを移行させるようにトラック移行順序を決定するための処理である。まず、移行元と移行先の各トラックの一致度を判定する（ステップＳ７１）。この一致度の判定は、音数や音高変化傾向あるいは音域等のパラメータに基づいて決定する。そして、この判定に基づいて一致度の高い順（あるいは低い順）に各トラックに順番付けを行い（ステップＳ７２）、前記順番に従ってトラック移行順序を設定する（ステップＳ７３）。この場合、一致度の高い順にトラック移行順序を設定すると、最初の移行フェーズでの移行パターン変化があまり目立たず、移行フェーズが進むに従って徐々に移行パターン変化が目立つようにすることができるので、少しずつの変化を楽しむことができるようになる。反対に、一致度の低い順にトラック移行順序を設定すると、最初の移行フェーズで大きく移行パターンを変化することができるので、劇的な変化を楽しむことができるようになる。
図１４Ｂは、移行元及び／又は移行先の各トラックの音数を検出し、音数の少ない順（あるいは多い順）にトラックを移行させるようにトラック移行順序を決定するための処理である。まず、移行元及び／又は移行先の各トラックの音数を検出する（ステップＳ８１）。この音数の検出は、移行元だけでもよいし、移行先だけでもよい。また、移行元及び移行先の双方でもよい。ただし、双方の音数を検出する場合には、双方の音数を合わせた（例えば、平均化した）音数とする。そして、この検出に基づいて音数の少ない順（あるいは多い順）に各トラックに順番付けを行い（ステップＳ８２）、前記順番に従ってトラック移行順序を設定する（ステップＳ８３）。この場合、音数の少ない順にトラック移行順序を設定すると、最初の移行フェーズでの移行パターン変化があまり目立たず、移行フェーズが進むに従って徐々に移行パターン変化が目立つようにすることができるので、少しずつの変化を楽しむことができるようになる。反対に、音数の多い順にトラック移行順序を設定すると、最初の移行フェーズで大きく移行パターンを変化することができるので、劇的な変化を楽しむことができるようになる。
図１４Ｃは、移行元及び／又は移行先の各トラックの平均音量を検出し、音量の小さい順（あるいは大きい順）にトラックを移行させるようにトラック移行順序を決定するための処理である。まず、移行元及び／又は移行先の各トラックの平均音量を検出する（ステップＳ９１）。この平均音量の検出は、移行元だけでもよいし、移行先だけでもよい。また、移行元及び移行先の双方でもよい。ただし、双方の音量を検出する場合には、双方の音量を合わせた（例えば、平均化した）音量とする。そして、この検出に基づいて平均音量の小さい順（あるいは大きい順）に各トラックに順番付けを行い（ステップＳ９２）、前記順番に従ってトラック移行順序を設定する（ステップＳ９３）。この場合、平均音量の小さい順にトラック移行順序を設定すると、最初の移行フェーズでの移行パターン変化があまり目立たず、移行フェーズが進むに従って徐々に移行パターン変化が目立つようにすることができるので、少しずつの変化を楽しむことができるようになる。反対に、平均音量の多い順にトラック移行順序を設定すると、最初の移行フェーズで大きく移行パターンを変化することができるので、劇的な変化を楽しむことができるようになる。このように、移行元と移行先のトラックの各内容を判別して移行順序を決定することによって、自然な移行が可能となる。
【００３６】
次に、１回の移行指示を行うだけで、所定期間毎に（例えば、１小節毎や２拍毎など）、自動的に移行が進むようにした場合における自動移行制御処理について説明する。図１５は、自動移行制御処理の一実施例を示すフローチャートである。図１５Ａに自動移行制御処理の前半部分を、図１５Ｂに自動移行制御処理の後半部分を示す。なお、以下の処理において、移行が進む速度（期間）を変更可能としてもよい。例えば、予め移行が進む速度（期間）を設定可能としてもよいし、ユーザの移行指示の態様（例えば操作子の操作タッチなど）に応じて速度を設定するようにしてもよい。
ステップＳ１０１では移行指示があったか否かを判定する。移行指示がなかった場合には（ステップＳ１０１のＮＯ）、ステップＳ１１２へジャンプする。移行指示があった場合には（ステップＳ１０１のＹＥＳ）、ユーザの操作タッチに応じて所定の期間を設定する（ステップＳ１０２）。例えば、ユーザの操作タッチが所定値よりも強いときは１小節とし、弱いときは２拍のようにして設定する。勿論、所定期間が固定の場合、あるいは別途に予め設定する場合にはステップＳ１０２の処理は不要である。そして、移行指示が「移行指示＋」であるか否かを判定する（ステップＳ１０３）。移行指示が「移行指示＋」であって、現在の移行フェーズが‘フェーズＥ’である場合には（ステップＳ１０３のＹＥＳかつステップＳ１０４のＹＥＳ）、ステップＳ１１２へ行く。現在の移行フェーズが‘フェーズＥ’でない場合には（ステップＳ１０４のＮＯ）、自動移行予約に「＋」をセットし（ステップＳ１０５）、現在の移行フェーズから次の移行フェーズへ移行フェーズを１つ進める（ステップＳ１０６）。そして、現在の移行フェーズの各トラックのオン／オフを移行元及び移行先パターン読み出し部へと指示する（ステップＳ１０７）。また、所定期間をタイマにセットする（ステップＳ１０８）。
一方、移行指示が「移行指示＋」でなく「移行指示−」であって、現在の移行フェーズが‘フェーズ０’である場合には（ステップＳ１０３のＮＯかつステップＳ１０９のＹＥＳ）、ステップＳ１１２へ行く。現在の移行フェーズが‘フェーズ０’でない場合には（ステップＳ１１９のＮＯ）、自動移行予約に「−」をセットし（ステップＳ１１０）、現在の移行フェーズから前の移行フェーズへ移行フェーズを１つ戻す（ステップＳ１１１）。そして、ステップＳ１０７へ行く。
【００３７】
ステップＳ１１２において、自動移行予約が「＋」であるか否かを判定する。自動移行予約が「＋」でなされている場合（ステップＳ１１２のＹＥＳ）、所定の期間が経過しており、現在の移行フェーズが‘フェーズＥ’である場合には（ステップＳ１１３のＹＥＳかつステップＳ１１４のＹＥＳ）、自動移行予約「＋」を解除する（ステップＳ１１５）。現在の移行フェーズが‘フェーズＥ’でない場合には（ステップＳ１１４のＮＯ）、ステップＳ１０６へ戻る。
自動移行予約が「−」でなされている場合（ステップＳ１１２のＮＯかつステップＳ１１６のＹＥＳ）、所定の期間が経過しており、現在の移行フェーズが‘フェーズ０’である場合には（ステップＳ１１７のＹＥＳかつステップＳ１１８のＹＥＳ）、自動移行予約「＋」を解除する（ステップＳ１１９）。現在の移行フェーズが‘フェーズ０’でない場合には（ステップＳ１１８のＮＯ）、ステップＳ１１１へ戻る。
このように、１つの移行指示により自動的に複数フェーズの移行がなされることによって、ユーザの負担を減らすことができるようになる。
【００３８】
次に、移行元から移行先へと移行する際に、クロスフェード波形合成処理を行うようにした場合について説明する。図１６は、クロスフェード波形合成処理を行うようにした移行元パターン読み出し処理の一実施例を示すフローチャートである。なお、移行の際にクロスフェード波形合成処理を行う場合には、移行先読み出し処理でも同様の処理を行う必要があるが、移行元パターン読み出し処理と同様の処理を行えばよいことから、ここでの説明は省略する。
まず、トラックオンの指示があるか否かを判定する（ステップＳ１２１）。トラックオンの指示がある場合（ステップＳ１２１のＹＥＳ）、指示のあったトラックをオンに設定し（ステップＳ１２２）、指示のあったトラックのフェードインを開始する（ステップＳ１２３）。一方、トラックオンの指示がなかった場合であって、トラックオフの指示があった場合には（ステップＳ１２１のＮＯかつステップＳ１２４のＹＥＳ）、指示のあったトラックのフェードアウトを開始する（ステップＳ１２５）。ステップＳ１２６ではフェードイントラックがあるか否かを判定し、ステップＳ１２７ではフェードアウトトラックがあるか否かを判定する。フェードイントラックがある場合（ステップＳ１２６のＹＥＳ）、フェードイントラックのボリュームを所定量増加する（ステップＳ１２８）。この所定量は予め決まっていてもよいし、ユーザが設定可能としてもよい。例えば、移行指示操作の操作タッチに応じて所定量を決定するように構成してもよい。そして、ボリュームが最大になった場合（ステップＳ１２９のＹＥＳ）、フェードインを終了させる（ステップＳ１３０）。このボリュームの最大値とはそのトラックに設定されていたボリューム値のことであり、例えば、そのトラックのボリューム値が「９０」に設定されていた場合には最大値は「９０」である。
一方、フェードアウトトラックがある場合には（ステップＳ１２７のＹＥＳ）、フェードアウトトラックのボリュームを所定量減少する（ステップＳ１３１）。そして、ボリュームが０になった場合（ステップＳ１３２のＹＥＳ）、フェードアウトを終了させて、該トラックをオフに設定する（ステップＳ１３３）。
ステップＳ１３４では、オンに設定されているトラックのパターン読み出しを行う。
このように、移行元から移行先へとクロスフェード波形合成することによって、滑らかに移行を進めることができるようになる。
【００３９】
図１７は、移行元パターンから移行先パターンへと切り換えるのではなく、移行元パターンを所定のアルゴリズムに従って変形させるように構成した場合の機能ブロックの一実施例を示す概念図である。
この場合には、移行情報としてトラック移行順序データと変形種類を記憶する。パターン変形部２８は、複数種類の変形アルゴリズムを有しており、指示された変形種類に応じた変形アルゴリズムに基づいて移行元パターンを変形させる。この際、移行が指示される毎に該移行指示されたトラックのパターンデータを変形させてもよいし、予め全トラックのパターンデータを変形させておき、移行が指示される毎に該移行指示されたトラックの変形済みパターンデータを読み出すようにしてもよい。このように、移行先スタイルデータを移行元スタイルデータを変形させて作成するようにしたことによって、既存の演奏データ以外の新規なスタイルデータに移行させることができるようになる。
上述したように、ユーザは演奏中（再生中）の演奏スタイルとは異なった演奏スタイルで演奏を行いたい場合に、移行指示部２３から移行指示を与えることができる。移行指示が行われると、所定の移行順序に従って再生中の演奏スタイルから移行先の演奏スタイルへと演奏パート毎に順次に移行して再生するよう移行制御部２４は制御を開始する。この際に、パターン変形部２８は再生中の演奏スタイルの演奏データを変形して移行先の演奏スタイルの演奏データを作成する。こうすると、移行先の演奏スタイルの演奏データは再生中の演奏スタイルの演奏データと基本的な音楽的特徴が一致するようにして作成することができる。すなわち、再生中の演奏スタイルの演奏データの一部のみを変更して移行先の演奏スタイルの演奏データを作成することによって、再生中の演奏スタイルと移行先の演奏スタイルの演奏データに同一性を保たせることができる。例えば、再生中の演奏スタイルにおけるフレーズ毎や小節線毎の音楽的特徴の一部、例えばピッチパターンやリズムパターンなどは再生中の演奏スタイルのものをそのまま使用したいような場合は、再生中の演奏スタイルの演奏データの一部を変更すればよい。また、既存の演奏データ以外の新規の演奏データを作成して移行することもできるようになる。
【００４０】
上述した実施例において、複数の演奏パートとして、ドラムパート、ベースパート、コードバッキングパート等が含まれている例を示したが、これに限られるものではない。例えば、複数のドラム楽器からなるドラムパートのみでもよい。
移行元スタイル番号と移行先スタイル番号を、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ等に表示するようにしてもよい。また、移行中のトラックや、移行元あるいは移行先でそれぞれ演奏されている（あるいは演奏されていない）トラック番号をディスプレイ等に表示するようにしてもよい。
移行元と移行先のパターンデータの小節数は異なっていてもよい（例えば移行元は２小節、移行先は４小節など）。この場合、移行途中のトラックにおいては小節数の異なる２種類のパターンが混在した状態となるが、繰り返しの周期が異なるだけで演奏上は何ら問題ない。
【００４１】
電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、上述の実施の形態では、音源装置、自動作曲装置等を１つの電子楽器本体に内臓したものについて説明したが、これに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置に利用する曲データの作成にも適用してよいし、あるいは自動演奏ピアノのような自動演奏装置に適用してもよい。
【００４２】
自動演奏装置に適用する場合、演奏データのフォーマットは、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント＋絶対時間』形式のもの、イベントの発生時刻を１つ前のイベントからの時間で表した『イベント＋相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で演奏データを表した『音高（休符）＋符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。また、複数チャンネル分の演奏データが存在する場合は、複数のチャンネルのデータが混在した形式であってもよいし、各チャンネルのデータがトラック毎に別れているような形式であってもよい。さらに、自動演奏データの処理方法は、設定されたテンポに応じて処理周期を変更する方法、処理周期は一定で自動演奏中のタイミングデータの値を設定されたテンポに応じて変更する方法、処理周期は一定で１回の処理において自動演奏データ中のタイミングデータの計数の仕方をテンポに応じて変更する方法等、どのようなものであってもよい。
【００４３】
【発明の効果】
本発明によれば、演奏パート毎に異なる演奏スタイルで演奏することができるようにしたことから演奏データを演奏パート毎に徐々に切替することができ、音楽的に不都合のない自然な演奏スタイルの変化を得ることができる、という効果が得られる。
また、ユーザは演奏スタイルの切り換え設定を自由に行うことができることから、ユーザの意向に沿った演奏スタイルの切り換えを行うことが可能となる、という効果が得られる。
【図面の簡単な説明】
【図１】この発明に係る演奏制御装置を内蔵した電子楽器の構成を示すハードブロック図。
【図２】この発明の一実施例において採用するスタイルデータのデータ構成を概念的に示した概念図。
【図３Ａ】「トラック移行順序」が「１、２、３」である場合のパターン移行例を概念的に示した概念図。
【図３Ｂ】「トラック移行順序」が「２、３、１」である場合のパターン移行例を概念的に示した概念図。
【図４】この発明の一実施例において採用する機能ブロック図。
【図５Ａ】移行指示があると直ちにトラック指示を発生する移行制御処理の一実施例を示すフローチャート。
【図５Ｂ】移行指示の後に拍や小節タイミングに達した時点でトラック指示を発生する移行制御処理の一実施例を示すフローチャート。
【図５Ｃ】小節内の所定タイミングの前後でトラック指示を発生する移行制御処理の一実施例を示すフローチャート。
【図６】移行管理テーブルの全体構成の一実施例を概念的に示した概念図。
【図７】移行制御処理で行われるトラック指示処理の一実施例を示すフローチャート。
【図８Ａ】トラック指示処理で行われる移行スタイル変更処理１の一実施例を示すフローチャート。
【図８Ｂ】トラック指示処理で行われる移行スタイル変更処理２の一実施例を示すフローチャート。
【図８Ｃ】トラック指示処理で行われる移行スタイル変更処理２の別の実施例を示すフローチャート。
【図９】スタイルデータと移行情報とを別々に構成した場合のデータ構成を概念的に示した概念図。
【図１０】移行情報作成処理の一実施例を示すフローチャート。
【図１１Ａ】複数のトラックをまとめて移行可能とした場合のパターン移行例を説明するための説明図。
【図１１Ｂ】最後のフェーズまでいっても移行しないトラックがある場合のパターン移行例を説明するための説明図。
【図１１Ｃ】トラックの移行順序をランダムに決定するようにした場合のパターン移行例を説明するための説明図。
【図１１Ｄ】トラックの移行順序をランダムに決定するようにした場合のパターン移行例を説明するための説明図。
【図１１Ｅ】トラックの移行順序をランダムに決定するようにした場合のパターン移行例を説明するための説明図。
【図１２】移行元と移行先のトラックが異なるように移行順序を設定した場合のパターン移行例を説明するための説明図。
【図１３】移行元と移行先のトラック数が異なるように移行順序を設定した場合のパターン移行例を説明するための説明図。
【図１４Ａ】移行元と移行先の各トラックのスタイルデータの一致度を判定してトラック移行順序を決定する処理の一実施例を示すフローチャート。
【図１４Ｂ】移行元及び／又は移行先の各トラックの音数を検出してトラック移行順序を決定する処理の一実施例を示すフローチャート。
【図１４Ｃ】移行元及び／又は移行先の各トラックの平均音量を検出してトラック移行順序を決定する処理の一実施例を示すフローチャート。
【図１５Ａ】自動移行制御処理の前半部分の一実施例を示すフローチャート。
【図１５Ｂ】自動移行制御処理の後半部分の一実施例を示すフローチャート。
【図１６】クロスフェード波形合成処理を行うようにした移行元パターン読み出し処理の一実施例を示すフローチャート。
【図１７】移行元パターンを所定のアルゴリズムに従って変形させるようにした場合の機能ブロックの一実施例を示す概念図。
【符号の説明】
１…ＣＰＵ、１Ａ…タイマ、２…プログラムメモリ、３…ワーキングメモリ、４…押鍵検出回路、４Ａ…鍵盤、５…スイッチ検出回路、５Ａ…テンキー＆キーボード＆各種スイッチ、６…表示回路、７…音源回路、８…効果回路、８Ａ…サウンドシステム、９…外部記憶装置、１０…ＭＩＤＩインタフェース、１０Ａ…他のＭＩＤＩ機器、１１Ａ…サーバコンピュータ、１１Ｂ…通信ネットワーク、１Ｄ…データ及びアドレスバス、２１…スタイルデータ・移行情報記憶部、２２…スタイル選択部、２３…移行指示部、２４…移行制御部、２５…移行元パターン読み出し部、２６…移行先パターン読み出し部、２７…音源部、２８…パターン変形部
【図１】
0003606125.tif 000002
【図２】
0003606125.tif 000003
【図３Ａ】
0003606125.tif 000004
【図３Ｂ】
0003606125.tif 000005
【図４】
0003606125.tif 000006
【図５Ａ】
0003606125.tif 000007
【図５Ｂ】
0003606125.tif 000008
【図５Ｃ】
0003606125.tif 000009
【図６】
0003606125.tif 000010
【図７】
0003606125.tif 000011
【図８Ａ】
0003606125.tif 000012
【図８Ｂ】
0003606125.tif 000013
【図８Ｃ】
0003606125.tif 000014
【図９】
0003606125.tif 000015
【図１０】
0003606125.tif 000016
【図１１Ａ】
0003606125.tif 000017
【図１１Ｂ】
0003606125.tif 000018
【図１１Ｃ】
0003606125.tif 000019
【図１１Ｄ】
0003606125.tif 000020
【図１１Ｅ】
0003606125.tif 000021
【図１２】
0003606125.tif 000022
【図１３】
0003606125.tif 000023
【図１４Ａ】
0003606125.tif 000024
【図１４Ｂ】
0003606125.tif 000025
【図１４Ｃ】
0003606125.tif 000026
【図１５Ａ】
0003606125.tif 000027
【図１５Ｂ】
0003606125.tif 000028
【図１６】
0003606125.tif 000029
【図１７】
0003606125.tif 000030