(57)【要約】 【課題】  複数系統の音源回路を用意することなく、第１および第２の楽曲を不自然さなくクロスフェードさせながら切換え再生できるようにする。【解決手段】  ＣＰＵ２１は、プログラム処理により、複数の曲データを順次切換えて再生する。この曲データの切換え時には、音源回路１４の各音源チャンネルにて発生中の楽音信号の音量が徐々に減少制御されて、同楽音信号は最終的にフェードアウトされる。この場合の音量の減少速度は、演奏データの優先順位が高いほど遅い。そして、フェードアウトが完了した音源チャンネルから順に、次の曲データの演奏データに基づく楽音信号の発生が割当てられる。この割当てられた楽音信号の音量は、徐々に増加制御されてフェードインする。この場合、次の曲データの演奏データに基づく楽音信号の発生の割当ては、演奏データの優先順位が高いほど早い。【選択図】  図１０
2006047606.tif 000002
【特許請求の範囲】
【請求項１】
楽音信号をそれぞれ発生する複数の音源チャンネルを有する音源回路に、楽曲を表わす演奏データを供給して楽曲を再生する自動演奏装置において、
複数の楽曲にそれぞれ対応するとともに前記複数の音源チャンネルのいずれかを指定するためのチャンネル情報を含む複数の演奏データを記憶した演奏データ記憶手段と、
前記演奏データ記憶手段に記憶されている複数の楽曲の演奏データの中から第１および第２の楽曲の演奏データを楽曲の進行に従って読出す演奏データ読出し手段と、
前記読出された第１の楽曲の演奏データを、同演奏データによって発生される楽音信号がフェードアウトされるように加工して前記音源回路に出力するフェードアウト加工手段と、
前記読出された第２の楽曲の演奏データを、同演奏データによって発生される楽音信号がフェードインされるように加工して前記音源回路に出力するフェードイン加工手段と、
前記第２の楽曲の演奏データに基づく楽音信号の発生を、前記第２の楽曲の演奏データに含まれるチャンネル情報によって指定される音源チャンネルとは異なり、前記第１の楽曲の演奏データに基づく楽音信号の発生に利用されない音源チャンネルに割当てる割当て制御手段と
を備えたことを特徴とする自動演奏装置。
【請求項２】
前記フェードアウト加工手段は、前記楽音信号のフェードアウト速度が所定の優先順位に従って音源チャンネルごとに異なるように、前記演奏データを加工することを特徴する請求項１に記載した自動演奏装置。
【請求項３】
前記割当て制御手段は、前記第２の楽曲の演奏データに基づく楽音信号の発生を、前記第２の演奏データに含まれるチャンネル情報によって規定される所定の優先順位に従って、前記第１の楽曲の演奏データによって発生される楽音信号のフェードアウトが早く終了した音源チャンネルから順に割当てることを特徴とする請求項２に記載した自動演奏装置。
【請求項４】
請求項１ないし３のうちのいずれか一つに記載した自動演奏装置において、さらに、
前記読出された第２の楽曲の演奏データに基づく楽音信号の発生を前記音源回路のいずれの音源チャンネルにも割当てることができない状態で、楽音信号の発生環境を設定するための第２の楽曲の演奏データが読出されたとき、同楽音信号の発生環境を設定するための演奏データを一時的に記憶する一時記憶手段と、
前記読出された第２の楽曲の演奏データに基づく楽音信号の発生を前記音源回路のいずれかの音源チャンネルに割当てることができる状態になったとき、前記一時的に記憶された楽音信号の発生環境を設定するための演奏データを前記音源回路に出力する記憶演奏データ出力手段と
を設けたことを特徴とする自動演奏装置。
【請求項５】
複数の楽曲にそれぞれ対応するとともに音源回路の複数の音源チャンネルのいずれかを指定するためのチャンネル情報を含む複数の演奏データを記憶した演奏データ記憶手段を備え、前記演奏データを前記音源回路に供給して楽曲を再生させる自動演奏装置に適用されるコンピュータプログラムにおいて、
前記演奏データ記憶手段に記憶されている複数の楽曲の演奏データの中から第１および第２の楽曲の演奏データを楽曲の進行に従って読出す演奏データ読出しステップと、
前記読出された第１の楽曲の演奏データを、同演奏データによって発生される楽音信号がフェードアウトされるように加工して前記音源回路に出力するフェードアウト加工ステップと、
前記読出された第２の楽曲の演奏データを、同演奏データによって発生される楽音信号がフェードインされるように加工して前記音源回路に出力するフェードイン加工ステップと、
前記第２の楽曲の演奏データに基づく楽音信号の発生を、前記第２の楽曲の演奏データに含まれるチャンネル情報によって指定される音源チャンネルとは異なり、前記第１の楽曲の演奏データに基づく楽音信号の発生に利用されない音源チャンネルに割当てる割当てステップと
を含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を表わす演奏データを楽曲の進行に従って音源回路に供給して、楽曲を再生する自動演奏装置および同装置に適用されるコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、複数の楽曲にそれぞれ対応した演奏データを音源回路に順次供給して、複数の楽曲を連続再生することは知られている。この場合、下記特許文献１に示された装置においては、連続する第1および第２の楽曲のうちの第１の楽曲に対応した演奏データを第１の音源回路に供給して第１の楽曲を再生し、その終わり部分で発生される楽音信号をフェードアウトさせる。そして、前記フェードアウト開始時から第２の楽曲に対応した演奏データを第２の音源回路に供給し始めて第２の楽曲の再生を開始するとともに、その最初の部分で発生される楽音信号をフェードインさせることにより、第１および第２の楽曲をクロスフェードさせて、連続再生するようにしている。また、下記特許文献２にも、第１および第２の楽曲の演奏データを構成するＭＩＤＩデータを音源回路に順次供給して、第１および第２の楽曲の切換え時においては、第１および第２の楽曲をクロスフェードさせながら再生することが示されている。
【特許文献１】特開昭５９−１１３４９０号公報
【特許文献２】特許第３４６４２９０号公報
【０００３】
しかし、上記前者の従来技術においては、第１および第２の楽曲をクロスフェードして再生するために、独立した２系統の音源回路を必要とするという問題があった。また、上記後者の従来技術に関する公報には、第１および第２の楽曲に関するＭＩＤＩデータを音源回路に出力してクロスフェードするということが記載されているのみで、第１および第２の楽曲に関するＭＩＤＩデータが同一の音源チャンネルを指定している場合には、先に読出された第１または第２の楽曲に関するＭＩＤＩデータに対応した楽音信号しか発生させることができず、第１および第２の楽曲の再生切換え時のクロスフェードが不自然または不可能になるという問題がある。
【発明の開示】
【０００４】
本発明は、上記問題に対処するためになされたもので、その目的は、複数系統の音源回路を用意することなく、第１および第２の楽曲を不自然さなくクロスフェードさせながら切換え再生できるようにした自動演奏装置および同装置に適用されるコンピュータプログラムを提供することを目的とする。
【０００５】
上記目的を達成するために、本発明の特徴は、楽音信号をそれぞれ発生する複数の音源チャンネルを有する音源回路に、楽曲を表わす演奏データを供給して楽曲を再生する自動演奏装置において、複数の楽曲にそれぞれ対応するとともに複数の音源チャンネルのいずれかを指定するためのチャンネル情報を含む複数の演奏データを記憶した演奏データ記憶手段と、演奏データ記憶手段に記憶されている複数の楽曲の演奏データの中から第１および第２の楽曲の演奏データを楽曲の進行に従って読出す演奏データ読出し手段と、前記読出された第１の楽曲の演奏データを、同演奏データによって発生される楽音信号がフェードアウトされるように加工して音源回路に出力するフェードアウト加工手段と、前記読出された第２の楽曲の演奏データを、同演奏データによって発生される楽音信号がフェードインされるように加工して音源回路に出力するフェードイン加工手段と、第２の楽曲の演奏データに基づく楽音信号の発生を、第２の楽曲の演奏データに含まれるチャンネル情報によって指定される音源チャンネルとは異なり、第１の楽曲の演奏データに基づく楽音信号の発生に利用されない音源チャンネルに割当てる割当て制御手段とを備えたことにある。この場合、演奏データ読出し手段は、例えば、第１および第２の楽曲の演奏データを、第１および第２の楽曲のテンポでそれぞれ独立して読出す。
【０００６】
また、割当て制御手段は、例えば、第２の楽曲の演奏データに基づく楽音信号の発生を第１の楽曲の演奏データに基づく楽音信号の発生に利用されない音源チャンネルに割当てるように、第２の楽曲の演奏データに含まれるチャンネル情報を変更する。この場合、フェードアウト加工手段が、楽音信号のフェードアウト速度が所定の優先順位に従って音源チャンネルごとに異なるように、演奏データを加工する。そして、フェードアウトの終了した音源チャンネルを、第１の楽曲の演奏データに基づく楽音信号の発生に利用されない音源チャンネルとみなせばよい。
【０００７】
また、これに代えて、クロスフェードの実現のために、第１の楽曲の演奏データに基づく楽音信号の発生に利用されない音源チャンネルを作り出す方法としては、演奏データ中のチャンネル情報により指定される音源チャンネルの数を、音源回路の音源チャンネルの数よりも少なくしておいて、第１および第２の楽曲の演奏データに含まれるチャンネル情報によって、一部の音源チャンネルが指定されないようにしておいてもよい。そして、この場合には、第１の楽曲の演奏データに基づく楽音信号の発生は同演奏データに含まれるチャンネル情報により指定される音源チャンネルに割当てられるようする。一方、第２の楽曲の演奏データに含まれるチャンネル情報に関しては、前記指定されない一部の音源チャンネルを表わすように変更され、第２の楽曲の演奏データに基づく楽音信号の発生は変更されたチャンネル情報により指定される音源チャンネルに割当てられるようする。
【０００８】
上記のように構成した本発明の特徴においては、割当て制御手段により、第２の楽曲の演奏データに基づく楽音信号の発生は、第１の楽曲の演奏データに基づく楽音信号の発生に利用されていない音源チャンネルに割当てられる。すなわち、第１の楽曲の演奏データに基づく楽音信号の発生が優先して音源チャンネルに割当てられ、第２の楽曲の演奏データに基づく楽音信号は、第１の楽曲の演奏データに基づく楽音信号の発生に利用されていない音源チャンネルに割当てられる。したがって、１系統の音源回路を用いるだけで、第１の楽曲から第２の楽曲への連続再生が、不自然さなくクロスフェードしながら切換えられるようになる。
【０００９】
また、前記のように、フェードアウト加工手段が、楽音信号のフェードアウト速度が所定の優先順位に従って音源チャンネルごとに異なるように、演奏データを加工するようにした場合、次のような効果もある。すなわち、優先順位の高い演奏データに基づく楽音信号の発生を最後まで残すことができるので、第１の楽曲の終わりの部分においても、第１の楽曲の重要なパートを残すことができて、第１の楽曲をその特徴を残しながら終了させることができる。
【００１０】
また、本発明の他の特徴は、さらに、割当て制御手段が、第２の楽曲の演奏データに基づく楽音信号の発生を、第２の演奏データに含まれるチャンネル情報によって規定される所定の優先順位に従って、第１の楽曲の演奏データによって発生される楽音信号のフェードアウトが早く終了した音源チャンネルから順に割当てることにある。これによれば、第２の楽曲の優先順位の高い演奏データに基づく楽音信号を始めから発生させることができるので、第２の楽曲の始まりの部分においても、第２の楽曲の重要なパートを出現させることができて、第２の楽曲をその特徴をもって開始させることができる。
【００１１】
これらの第１および第２の楽曲に関する所定の優先順位は、例えば、楽曲ごとにチャンネル情報により表わされる複数の音源チャンネルの優先度を表す優先度データにより決定される。この優先度データは、次のようにして作成される。例えば、演奏データの作成者が、楽曲を構成する複数のパートのそれぞれに対して音楽的な重要度（例えば、主旋律、ベース、リズムなどの重要度が高い）を判断して優先順位を定め、各パートに属する楽音信号を発生する音源チャンネルと各パートの優先順位とを対応させた優先度データを、演奏データの作成時に演奏データと共に予め記録しておく。
【００１２】
また、コンピュータが、プログラム処理により、演奏データを自動的に解析し、この解析結果に基づいて各音源チャンネルの優先順位を自動的に定めて、各音源チャンネルの優先順位を表わす優先度データを音源チャンネルに対応させて演奏データと共に予め記録しておくようにしてもよい。この場合、演奏データによって指定される音量が大きいほど、また演奏データによる楽音信号の発生頻度が高いほど、優先順位が高く設定されるなどの予め決められた基準に従って、優先順位が自動的に決定される。さらに、選曲時または優先順位の決定指示時に、ユーザが、コンピュータプログラムの指示に従って前記のような優先度データを作成して演奏データに対応させて記録させておくようにしてもよい。
【００１３】
また、本発明の他の特徴は、さらに、前記読出された第２の楽曲の演奏データに基づく楽音信号の発生を音源回路のいずれの音源チャンネルにも割当てることができない状態で、楽音信号の発生環境を設定するための第２の楽曲の演奏データが読出されたとき、同楽音信号の発生環境を設定するための演奏データを一時的に記憶する一時記憶手段と、前記読出された第２の楽曲の演奏データに基づく楽音信号の発生を音源回路のいずれかの音源チャンネルに割当てることができる状態になったとき、前記一時的に記憶された楽音信号の発生環境を設定するための演奏データを音源回路に出力する記憶演奏データ出力手段とを設けたことにある。この場合、楽音信号の発生環境を設定するための演奏データとは、発生楽音の音色、音量およびピッチベンド量などの楽音要素、発生楽音に付与される効果、発生楽音の発音モード（ポリモード／モノモード）などを制御するもので、ＭＩＤＩ規格ではプログラムチェンジ、チャンネルボリューム、バンクセレクト、パラメータコントロール、モードメッセージなどが挙げられる。
【００１４】
これによれば、第２の楽曲の演奏データに基づく楽音信号の発生が音源回路のいずれの音源チャンネルにも割当てられ得ない状態で、楽音信号の発生環境を設定するための第２の楽曲の演奏データが読出された場合には、同演奏データは一時的に記憶される。そして、第２の楽曲の演奏データに基づく楽音信号の発生が音源回路のいずれかの音源チャンネルに割当て可能となった時点で、前記一時記憶された演奏データは、音源回路に出力される。したがって、これ以降における第２の楽曲の演奏データに基づく楽音信号の発生環境は、前記一時記憶されかつ音源回路に出力された楽音信号の発生環境を設定するための第２の楽曲の演奏データに従うので、第２の楽曲の演奏データに基づく楽音信号は、適切な環境下で発生されるようになる。
【００１５】
さらに、本発明の実施にあたっては、自動演奏装置に限定されることなく、同装置に適用されるコンピュータプログラムおよび方法の発明としても実施し得るものである。
【発明を実施するための最良の形態】
【００１６】
ａ．第１実施形態
以下、本発明の第１実施形態について図面を用いて説明する。図1は、第１実施形態に係る自動演奏機能を有する電子楽器を概略的に示すブロック図である。この電子楽器は、演奏操作子群１１、設定操作子群１２、表示器１３および音源回路１４を備えている。
【００１７】
演奏操作子群１１は、発生楽音の音高を指定するための複数の演奏操作子（例えば、複数の鍵）からなり、各演奏操作子の操作はバス１５に接続された検出回路１６によって検出される。設定操作子群１２は、この電子楽器の操作パネルに設けられて電子楽器の各部の動作態様を指示するための複数の設定操作子からなり、各設定操作子の操作はバス１５に接続された検出回路１７によって検出される。表示器１３は、液晶ディスプレイ、ＣＲＴなどで構成され、文字、数字、図形などを表示する。この表示器１３の表示内容は、バス１５に接続された表示制御回路１８によって制御される。
【００１８】
音源回路１４は、バス１５に接続されていて、複数（本実施形態においては、１６個）の音源チャンネルを有する。各音源チャンネルは、後述するＣＰＵ２１の制御のもとに供給される演奏データ（ＭＩＤＩメッセージ）に基づいて楽音信号を生成してサウンドシステム１９に出力する。また、音源回路１４においては、前記演奏データ（ＭＩＤＩメッセージ）により制御されて、音色、音量、効果などの生成される楽音信号の発生環境も設定される。サウンドシステム１９は、スピーカ、アンプなどを含んでいて、前記楽音信号に対応した楽音を発音する。
【００１９】
また、この電子楽器は、バス１５にそれぞれ接続されていてマイクロコンピュータ本体部を構成するＣＰＵ２１、タイマ２２、ＲＯＭ２３およびＲＡＭ２４を備えているとともに、外部記憶装置２５および通信インターフェース回路２６も備えている。外部記憶装置２５は、この電子楽器に予め組み込まれているハードディスクＨＤおよびフラッシュメモリ、同電子楽器に装着可能なコンパクトディスクＣＤおよびフレキシブルディスクＦＤなどの種々の記録媒体と、同各記録媒体に対するドライブユニットを含むものであり、大量のデータ及びプログラムの記憶及び読出しを可能にしている。
【００２０】
特に、この第１実施形態においては、ハードディスクＨＤ、フラッシュメモリなどには、図２に示すシーケンス再生プログラム、図３に示すフェードアウトプログラム、図４，５に示すフェードインプログラムなどが記憶されている。また、このハードディスクＨＤ、フラッシュメモリなどには、楽曲にそれぞれ対応した複数の曲データ、フェードアウト音量テーブルおよびフェードイン音量テーブルも記憶されている。なお、これらのプログラムおよびデータは、予めハードディスクＨＤ、フラッシュメモリなどに記憶されていたり、コンパクトディスクＣＤ、フレキシブルディスクＦＤなどからハードディスクＨＤ、フラッシュメモリなどに供給されたり、後述する外部機器３１又は通信ネットワーク３２を介した外部からハードディスクＨＤ、フラッシュメモリなどに供給されるものである。
【００２１】
各曲データは、図６に示すように、テンポ・拍子データ、演奏データ、チャンネル優先度データなどからなる。テンポ・拍子データは、楽曲のテンポおよび拍子を表わす情報を含んでいる。演奏データは、時間経過に従って配列された複数のＭＩＤＩメッセージからなる。各ＭＩＤＩメッセージは、時間情報、チャンネル情報およびイベント情報からなる。時間情報は、各ＭＩＤＩメッセージの出力タイミングを表わしている。チャンネル情報は、イベント情報が割当てられるべき音源回路１４の音源チャンネルの番号（本実施形態では、１〜１６のいずれか）を表わしている。イベント情報には、プログラムチェンジ、チャンネルボリューム、ノートオン、ノートオフなどが含まれている。
【００２２】
プログラムチェンジは、一般的に、発生される楽音信号の音色を設定する制御イベントである。チャンネルボリュームは、発生される楽音信号の音量を設定する制御イベントである。これらのプログラムチェンジおよびチャンネルボリュームは、発生楽音のピッチベンド量などの他の楽音要素、発生楽音に付与される効果、発生楽音の発音モード（ポリモード／モノモード）などを制御するバンクセレクト、パラメータコントロール、モードメッセージと共に、楽音信号の発生環境を設定するためのＭＩＤＩメッセージ（すなわち演奏データ）に含まれる。ノートオンは、楽音の発生開始を指示するもので、同指示を表わす指示情報および楽音の音高を表わすノートコードからなる。ノートオフは、楽音の発生終了を指示するもので、同指示を表わす指示情報および楽音の音高を表わすノートコードからなる
【００２３】
チャンネル優先度データは、前記チャンネル情報により表わされたチャンネル番号１〜１６にそれぞれ対応させて、それらの優先順位を表わす優先順位情報からなる。なお、本実施形態では、この優先順位情報は、１６個のチャンネル番号の優先順位をそれぞれ独立に表わしているが、複数のチャンネル番号に対して同一の優先順位を付与して、１６未満の値により優先順位を表わすようにしてもよい。このチャンネル優先度データに関しては、例えば、演奏データの作成者が、楽曲を構成する複数のパートのそれぞれに対して音楽的な重要度（例えば、主旋律、ベース、リズムなどの重要度が高い）を判断して優先順位を定め、各パートに属する楽音信号を発生させるチャンネル番号と各パートの優先順位とを対応させて、演奏データの作成時に演奏データと共に記録しておく。
【００２４】
また、ＣＰＵ２１が、図示しないプログラムの実行により、演奏データを自動的に解析し、この解析結果に基づいて各チャンネル番号の優先順位を自動的に定めて、各チャンネル番号の優先順位を表わす優先度データを演奏データと共に予め記録しておくようにしてもよい。この場合、演奏データによって指定される音量が大きいほど、また演奏データによる楽音信号の発生頻度が高いほど、優先順位が高く設定されるなどの予め決められた基準に従って、優先順位が自動的に決定される。さらに、選曲時または優先順位の決定指示時に、ユーザが、コンピュータプログラムの指示に従って前記のような優先度データを作成して演奏データに対応させて記録させておくようにしてもよい。
【００２５】
フェードアウト音量テーブルは、図７(Ａ)に示すように、前記優先度（優先順位）ごとに、楽曲の再生音をフェードアウトさせるために、フェードアウト開始からの時間経過に従って徐々に減少する音量制御データＦＯを記憶している。そして、これらの音量制御データＦＯは、優先度が低くなるほど、急激に音量が減少するように定められている。なお、図７(Ａ)に示すようにフェードアウト開始から即座に全ての音量を減少させるのに代えて、図７(Ｂ)に示すように、優先度の高い側の一部の再生音または全ての再生音に対して、フェードアウト開始時から所定時間だけ音量制御データＦＯを一定値に保ち、その後に音量制御データＦＯを徐々に減少させるようにしてもよい。なお、この場合、優先度が高いほど前記所定時間を長くするようにする。フェードイン音量テーブルは、図８に示すように、楽曲の再生音をフェードインさせるために、フェードイン開始からの時間経過に従って徐々に増加する一種類の音量制御データＦＩを記憶している。
【００２６】
通信インターフェース回路２６は、他の電子楽器、パーソナルコンピュータなどの外部機器３１に接続可能となっていて、この電子楽器が外部機器３１と各種プログラム及びデータを交信可能となっている。また、通信インターフェース回路２６は、インターネットなどの通信ネットワーク３２を介して外部との接続も可能となっていて、この電子楽器が各種プログラム及びデータを外部から受信し、または外部へ送信できるようになっている。
【００２７】
次に、上記のように構成した第１実施形態の動作について説明する。ユーザは設定操作子群１２を操作して図２のシーケンスプログラムを起動すると、ＣＰＵ２１はこのシーケンスプログラムを所定の短時間ごとに繰り返し実行し始める。
【００２８】
このシーケンスプログラムの実行中、ユーザが設定操作子群１２を操作して選択曲の入力を指示すると、ＣＰＵ２１は、ステップＳ１０にて「Ｙｅｓ」と判定して、ステップＳ１１にて表示器１３に選択曲の入力画面を表示し、ユーザに連続再生されるべき楽曲を再生順に選択させる。ユーザが、設定操作子群１２を操作してハードディスクＨＤ（またはフラッシュメモリ）内に記録されている複数の曲データの中から所望の複数曲を順次選択すると、選択された複数曲を順に表わす曲指定データＳＳＧがシーケンス曲データＳＳＧ(１)，ＳＳＧ(２)・・ＳＳＧ(Ｍ)としてＲＡＭ２４に記憶される。なお、ユーザがハードディスクＨＤなどに記録されていない曲データを希望する場合には、外部機器３１又は通信ネットワーク３２を介した外部から所望の曲データを入力してハードディスクＨＤに記録する。そして、この記録した曲データを指定するための曲指定データＳＳＧも、前記シーケンス曲データＳＳＧ(１)，ＳＳＧ(２)・・ＳＳＧ(Ｍ)中に加えられる。なお、値Ｍは、ユーザが選択した楽曲の数であって、連続再生される楽曲の数を表わす。
【００２９】
前記のように連続再生されるべき複数の楽曲が選択された後、ユーザが設定操作子群１２を操作してスタートを指示すると、ステップＳ１２にて「Ｙｅｓ」と判定して、ステップＳ１３〜Ｓ１７の処理により、先頭の楽曲の再生を準備する。ステップＳ１３においては、作動フラグＲＵＮを“１”に設定する。なお、作動フラグＲＵＮは、“１”により楽曲のシーケンス再生の作動状態を表わし、かつ“０”により楽曲のシーケンス再生の停止状態を表すもので、初期には図示しない初期設定処理により“０”に設定されている。ステップＳ１４においては、シーケンス曲データＳＳＧ(１)，ＳＳＧ(２)・・ＳＳＧ(Ｍ)中の再生されるべき曲指定データＳＳＧの順番を表わす曲順変数ｍを「１」に設定する。ステップＳ１５においては、第１楽曲指定データＳＧ１をシーケンス曲データＳＳＧ(１)，ＳＳＧ(２)・・ＳＳＧ(Ｍ)の先頭の曲指定データＳＳＧ(１)に設定する。なお、この第１楽曲指定データＳＧ１は、シーケンス再生における楽曲の切換え動作に入る前には現在の再生楽曲を表わしており、前記楽曲の切換え動作に入った後には再生が停止される楽曲すなわち詳しくは後述するフェードアウトされる楽曲を表わす。
【００３０】
ステップＳ１６においては、第１楽曲指定データＳＧ１により指定される楽曲に対応した曲データ（図６参照）がハードディスクＨＤなどからＲＡＭ２４に転送されて、第１曲データとしてＲＡＭ２４に記憶される。ステップＳ１７においては、図示しない初期設定処理によりＲＡＭ２４内に準備された第１チャンネル割当てテーブルが初期設定される。この第１チャンネル割当てテーブルは、図９(Ａ)に示すように、ＲＡＭ２４内の第１曲データに関するＭＩＤＩメッセージ中のチャンネル情報と音源回路１４の音源チャンネルとを対応付けるものである。言い換えれば、ＭＩＤＩメッセージ中のチャンネル情報に対応させて、同チャンネル情報と対になったイベント情報を音源回路１４に出力する際に音源回路１４の音源チャンネルを指定するチャンネル番号を記憶しているものである。そして、このステップＳ１７では、図９(Ａ)の左欄に示すように、第１曲データに関するＭＩＤＩメッセージ中のチャンネル情報により示された全てのチャンネル番号に対して、音源回路１４の音源チャンネルを表すチャンネル番号をそれぞれ一致させる。以降、ＭＩＤＩメッセージ内のチャンネル情報または同チャンネル情報によって表わされるチャンネル番号をＭＩＤＩチャンネル番号といい、音源回路１４内の音源チャンネルの番号を音源チャンネル番号という。
【００３１】
前述のステップＳ１３〜Ｓ１７の処理による先頭の楽曲の再生準備が完了すると、ステップＳ１８にて「Ｙｅｓ」すなわち作動フラグＲＵＮが“１”であると判定して、ステップＳ１９にてクロスフェードフラグＣＲＦが“０”であるかを判定する。このクロスフェードフラグＣＲＦは、“１”によりクロスフェード状態を表し、“０”により非クロスフェード状態を表すもので、最初、図示しない初期設定処理により“０”に設定されている。したがって、ステップＳ１９においては「Ｙｅｓ」と判定し、ステップＳ２０，Ｓ２１の処理を実行する。ステップＳ２０においては、ＲＡＭ２４内の第１曲データ中のＭＩＤＩメッセージを楽曲の進行に従って順次読出す。この場合、楽曲の進行は、第１曲データ中のテンポに応じて決定される。ステップＳ２１においては、第１チャンネル割当てテーブルを参照することにより、読出したＭＩＤＩメッセージ中のチャンネル番号を音源チャンネル番号に変更して、同変更したチャンネル番号を含むＭＩＤＩメッセージを音源回路１４に出力する。なお、先頭の楽曲の再生時には、前記ステップＳ１７の初期化処理のように第１チャンネル割当てテーブルのＭＩＤＩチャンネル番号と音源チャンネル番号はそれぞれ一致しているので、前記読出したＭＩＤＩメッセージがそのまま音源回路１４に出力される。
【００３２】
音源回路１４は、前記出力されたＭＩＤＩメッセージを受信し、ＭＩＤＩチャンネル番号によって指定された音源チャンネルに、ＭＩＤＩメッセージに含まれるイベント情報を供給する。そして、音源回路１４は、前記供給されたイベント情報に従って、前記指定された音源チャンネルにおける楽音の発生開始、楽音の発生終了または発生楽音の環境設定を制御する。これにより、音源回路１４は、ＲＡＭ２４内の第１曲データ中の演奏データに従った楽音信号を生成して、サウンドシステム１９を介して同生成した楽音信号に対応した楽音を発音する。したがって、ＲＡＭ２４内の第１曲データ中の演奏データが再生される。
【００３３】
前記第１曲データ中の演奏データの再生中、楽曲の切換えが指示されると、ＣＰＵ２１は、ステップＳ２２にて「Ｙｅｓ」と判定し、ステップＳ２３以降の処理を実行する。この楽曲の切換え指示は、このシーケンス再生プログラムと並行して実行されている図示しない時間計測プログラムの実行により、新たな楽曲の再生開始から一定時間が経過すると、前記楽曲の切換えが指示される。この種の複数楽曲の連続再生は、通常、先頭から一定時間部分だけの再生を各楽曲に対して順次行うものであるので、各楽曲の再生開始から時間計測を開始して、計測時間が所定時間に達した時点で、前記切換え指示が発せられるようにすればよい。さらに、このような時間計測による切換え指示が発せられる前に、ユーザが設定操作子群１２を操作して、再生中の楽曲の再生停止を要求した場合には、楽曲の切換え指示ありとして、ステップＳ２２にて「Ｙｅｓ」と判定してステップＳ２３以降の処理を実行する。
【００３４】
ステップＳ２３においては、前記楽曲の切換え開始指示からの時間を計測するためのフェードアウトカウンタの作動を開始させる。このフェードアウトカウンタは、以降、所定の短時間ごとに図示しないプログラムの実行により順次カウントアップされて、切換え開始時からの時間を計測する。次に、ステップＳ２４にて、クロスフェードフラグＣＲＦを“１”に設定する。
【００３５】
前記ステップＳ２４の処理後、ステップＳ２５〜Ｓ２７の処理により、曲順変数ｍを変更する。曲順変数ｍがシーケンス曲データＳＳＧ(１),ＳＳＧ(２)・・ＳＳＧ(Ｍ)の最後の曲順を表していなければ、曲順変数ｍに「１」が加算される。また、曲順変数ｍがシーケンス曲データＳＳＧ(１),ＳＳＧ(２)・・ＳＳＧ(Ｍ)の最後の曲順を表していれば、曲順変数ｍは先頭の曲データＳＳＧ(１)を表す「１」に設定される。そして、ステップＳ２８にて、第２楽曲指定データＳＧ２を曲順変数ｍによって指定される曲指定データＳＳＧ(ｍ)に設定する。なお、この第２楽曲指定データＳＧ２は、シーケンス再生における楽曲の切換え動作に入ったときに再生が開始される楽曲すなわち詳しくは後述するフェードインされる楽曲を表わす。
【００３６】
次に、ステップＳ２８にて、第２楽曲指定データＳＧ２により指定される楽曲に対応した曲データ（図６参照）をハードディスクＨＤなどからＲＡＭ２４に転送して、第２曲データとしてＲＡＭ２４に記憶する。そして、ステップＳ３０にて、図示しない初期設定処理によりＲＡＭ２４内に準備された第２チャンネル割当てテーブルをクリアする。この第２チャンネル割当てテーブルは、前述した第１チャンネル割当てテーブルと同様に、ＲＡＭ２４内の第２曲データに関するＭＩＤＩチャンネル番号と音源チャンネル番号とを対応付けるものである（図９(Ｂ)参照）。ただし、このステップＳ３０の処理においては、図９(Ｂ)の左欄に示すように、第２曲データに関するＭＩＤＩチャンネル番号により示された全てのチャンネル番号に対して、音源チャンネル番号を全て「０」に設定する。この場合、「０」は音源回路１４のいずれの音源チャンネルも表していない。したがって、前記第２チャンネル割当てテーブルのクリアは、楽曲の切換え開始時においては、第２曲データのＭＩＤＩメッセージが音源回路１４のいずれの音源チャンネルも割当てられていないことを意味する。
【００３７】
一方、ＣＰＵ２１は、前記シーケンス再生プログラムと並行して所定の短時間ごとに、図３のフェードアウトプログラムを繰り返し実行している。ただし、楽曲の切換え指示前であってクロスフェードフラグＣＲＦが“０”に設定されている状態では、ステップＳ４０にて「Ｎｏ」と判定されて、実質的な処理が実行されない。そして、前記のように楽曲の切換えが指示されてクロスフェードフラグＣＲＦが“１”に変更されると、ステップＳ４０にて「Ｙｅｓ」と判定して、ステップＳ４１以降の処理を実行し始める。
【００３８】
フェードアウトプログラムにおいては、ステップＳ４１にて、フェードアウト音量テーブルを参照して、ＭＩＤＩメッセージの各チャンネルに対応した音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)を生成する。この音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)の生成においては、まず、ＲＡＭ２４内の第１曲データに関する優先度データの中から、チャンネル番号１〜１６に対応した優先順位情報をそれぞれ取り出す。次に、前記取り出した優先順位情報ごとに、フェードアウト音量テーブル内に記憶されている音量制御データＦＯの種類を特定して、フェードアウトカウンタにより指定される時刻の音量制御データＦＯを計算する。そして、予め決められた所定の音量値ＶＯＬを音量制御データＦＯ(１)〜ＦＯ(１６)に乗算して、各優先順位情報（チャンネル番号１〜１６）に対応した音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)を生成する。なお、この所定の音量値ＶＯＬとして、ユーザが任意に指定した値を採用したり、設定操作子群１２中の音量調整操作子によって指示されている値を採用したりしてもよい。
【００３９】
次に、ステップＳ４２にて、前記計算した音量制御データＦＯ(１)〜ＦＯ(１６)のうちで新たに「０」となった音量制御データＦＯ(ｘ)があるかを判定する。この場合、楽曲の切換え開始後の直後においては、全ての音量制御データＦＯ(１)〜ＦＯ(１６)が「０」となることはないので、ステップＳ４２にて「Ｎｏ」と判定して、ステップＳ４４に進む。ステップＳ４４においては、前記計算した音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)に、第１チャンネル割当てテーブルによって指定される音源チャンネル番号を付して音源回路１４に出力する。言いかえれば、第１チャンネル割当てテーブルを参照し、音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)のチャンネル番号１〜１６を音源回路１４の割当てチャンネル番号に変換して、音源回路１４に出力する。ただし、後述するように、第１チャンネル割当てテーブルの中で音源回路１４のチャンネル番号が「０」に設定されているチャンネルｘ、すなわち第１曲データの再生におけるフェードアウトが完了した音源回路１４のチャンネルｘに関しては、前記音量制御データＶＯＬ・ＦＯ(ｘ)のチャンネル番号を変換しないとともに、音源回路１４へ出力しない。このために、前記ステップＳ４１の処理においても、前記チャンネルｘに関しては、音量制御データＶＯＬ・ＦＯ(ｘ)の計算を省略してもよい。このように音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)を音源回路１４に出力する理由は、再生楽音の音量を決定するチャンネルボリュ−ムを表すＭＩＤＩメッセージが曲データ中に存在しないこともあるし、必ずしも楽曲の再生に必要なタイミングに存在しないことがあるためである。
【００４０】
前記ステップＳ４４の処理後、ステップＳ４５にて、ＲＡＭ２４内の第１曲データ中のＭＩＤＩメッセージを楽曲の進行に従って順次読出す。この場合も、楽曲の進行は、第１曲データ中のテンポに応じて決定される。そして、ステップＳ４６にて、前記読出したＭＩＤＩメッセージのＭＩＤＩチャンネル番号によって指定されるチャンネルのフェードアウトが完了しているかを判定する。この判定については、詳しくは後述するとして、楽曲の切換え開始直後には、全てのチャンネルがフェードアウト中であるので、同ステップＳ４６にて「Ｎｏ」と判定して、ステップＳ４７に進む。
【００４１】
ステップＳ４７においては、前記読出したＭＩＤＩメッセージがチャンネルボリュームであるかを判定する。前記読出したＭＩＤＩメッセージがチャンネルボリュームであれば、ステップＳ４６にてチャンネルボリュームの音量パラメータＶＯＬを該当するチャンネルの音量制御データＦＯ(ｙ)で修正して、ステップＳ４９に進む。この音量パラメータの修正においては、まず、ＲＡＭ２４内の第１曲データに関するチャンネル優先度データの中から、チャンネル番号ｙに対応した優先順位情報をそれぞれ取り出し、前記取り出した優先順位情報によりフェードアウト音量テーブル内に記憶されている音量制御データＦＯの種類を特定して、フェードアウトカウンタにより指定される時刻の音量制御データＦＯ(ｙ)を計算する。そして、読出したチャンネルボリュームの音量パラメータＶＯＬに音量制御データＦＯ(ｙ)を乗算することにより、チャンネルボリュームの音量パラメータＶＯＬを音量制御データＶＯＬ・ＦＯ(ｙ)に修正する。なお、このように、楽曲の切換え指示があった後に、ＭＩＤＩメッセージとしてチャンネルボリュームが読出されたチャンネルに関しては、以降のステップＳ４１の処理において、この音量パラメータＶＯＬが所定の音量値ＶＯＬに代えて用いられる。前記読出したＭＩＤＩメッセージがチャンネルボリュームでなければ、ステップＳ４７にて「Ｎｏ」と判定して、ステップＳ４９に直接進む。
【００４２】
ステップＳ４９においては、第１チャンネル割当てテーブルを参照することにより、前記読出したＭＩＤＩメッセージ（ただし、ＭＩＤＩメッセージがチャンネルボリュームの場合には前記ステップＳ４８の処理によって修正したＭＩＤＩメッセージ）中のＭＩＤＩチャンネル番号を音源チャンネル番号に変更して、同変更したＭＩＤＩチャンネル番号を含むＭＩＤＩメッセージを音源回路１４に出力する。音源回路１４は、前記出力されたＭＩＤＩメッセージを受信し、ＭＩＤＩチャンネル番号によって指定された音源チャンネルに、ＭＩＤＩメッセージに含まれるイベント情報を供給する。そして、音源回路１４は、前記供給されたイベント情報に従って、前記指定された音源チャンネルにおける楽音の発生開始、楽音の発生終了または発生楽音の環境設定を制御する。これにより、音源回路１４は、前述した場合と同様に、ＲＡＭ２４内の第１曲データ中の演奏データに従った楽音信号を生成して、サウンドシステム１９を介して同生成した楽音信号に対応した楽音を発音する。
【００４３】
しかし、この場合には、ステップＳ４４，Ｓ４８の処理により、音源回路１４の各音源チャンネルには、音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)），ＶＯＬ・ＦＯ(ｙ)が出力されており、音源回路１４の各音源チャンネルにて生成される楽音信号の音量は前記音量制御データＶＯＬ・ＦＯ(１)〜ＶＯＬ・ＦＯ(１６)，ＶＯＬ・ＦＯ(ｙ)によって決定される。一方、フェードアウト音量テーブル内の音量制御データＦＯは楽曲の切換え指示後の時間経過に従って徐々に減少するように設定されているとともに、優先度の低い楽音信号の音量ほど速く減少するように設定されている。したがって、楽曲の切換えが指示された後には、音源回路１４の各音源チャンネルから発生される第１曲データに関する楽音信号の音量は徐々に減少するとともに、優先度の低い楽音信号の音量ほど速く減少する。
【００４４】
このようなフェードアウトプログラムの繰り返し実行により、ステップＳ４１の処理により計算された音量制御データＦＯ(１)〜ＦＯ(１６)）のうちで新たに「０」となった音量制御データＦＯ(ｘ)が存在する場合には、ステップＳ４２にて「Ｙｅｓ」と判定して、ステップＳ４３に進む。ステップＳ４３においては、第１チャンネル割当てテーブルにおいて、音量制御データＦＯ(ｘ)が新たに「０」となったＭＩＤＩチャンネル番号ｘに対応した音源チャンネル番号を「０」に変更する（図９(Ａ)の中央欄参照）。この音源チャンネル番号「０」は、第1曲データのＭＩＤＩチャンネルｘに関する演奏データの再生のフェードアウトが完了したこと、すなわち第1曲データのＭＩＤＩチャンネル番号ｘに関する演奏データが、以降音源回路１４のいずれかの音源チャンネルにも割当てられないことを意味する。
【００４５】
これにより、第１曲データの再生におけるフェードアウトが完了したチャンネルに関しては、前記ステップＳ４４の処理によっても音量制御データＶＯＬ・ＦＯ(ｘ)が出力されなくなる。また、ステップＳ４６によっても、フェードアウトが完了したチャンネルに関するＭＩＤＩメッセージは音源回路１４へ出力されなくなる。このようにして、優先順位の低いチャンネルから高いチャンネルに向かって、第１曲データの再生におけるフェードアウト処理が順次完了していく。そして、最終的には、第１曲データの再生において、全てのチャンネルの楽音信号のフェードアウトが完了するとともに、第１チャンネルテーブルの音源回路１４のチャンネル番号は全て「０」に書き換えられる（図９(Ａ)の右欄参照）。
【００４６】
また、ＣＰＵ２１は、前記シーケンス再生プログラムおよびフェードアウトプログラムと並行して所定の短時間ごとに、図４，５のフェードインプログラムを繰り返し実行している。ただし、前記のように楽曲の切換え指示前であってクロスフェードフラグＣＲＦが“０”に設定されている状態では、ステップＳ６０にて「Ｎｏ」と判定されて、実質的な処理が実行されない。そして、前記のように楽曲の切換えが指示されてクロスフェードフラグＣＲＦが“１”に変更されると、ステップＳ６０にて「Ｙｅｓ」と判定して、ステップＳ６１以降の処理を実行し始める。
【００４７】
ステップＳ６１においては、第１チャンネル割当てテーブルを参照し、「０」に設定されている音源チャンネル番号が存在しているかを検索することにより、フェードアウトが完了している音源チャンネルがあるかを判定する。未だフェードアウトが完了している音源チャンネルが存在しなければ、同ステップＳ６１にて「Ｎｏ」と判定して、フェードインプログラムの実行を一旦終了する。一方、フェードアウトが完了している音源チャンネルが存在すれば、同ステップＳ６１にて「Ｙｅｓ」と判定して、ステップＳ６２に進む。
【００４８】
ステップＳ６２においては、第２曲データにおいてフェードイン未開始のチャンネルに関するＭＩＤＩメッセージを割当て可能な空き音源チャンネルがあるかを判定する。これは、チャンネル番号１〜１６のうちで、第１および第２チャンネル割当てテーブルのいずれにも音源チャンネル番号として記憶されていないチャンネル番号が存在することを条件に判定される。この判定が肯定的であれば、ＣＰＵ２１は、ステップＳ６３〜Ｓ６６の処理を実行する。一方、前記判定が否定的であれば、ＣＰＵ２１は、ステップＳ６３〜Ｓ６６の処理を実行しないで、ステップＳ６７の処理を実行する。
【００４９】
ステップＳ６３においては、第２曲データにおけるフェードイン未開始のＭＩＤＩチャンネル番号のＭＩＤＩメッセージを、音源回路１４の空き音源チャンネルにチャンネル優先度データによって規定される優先順位に従って割当て、第２チャンネル割当てテーブルに割当てた音源チャンネル番号を書き込む。具体的には、第２チャンネル割当てテーブル中の音源チャンネル番号として「０」が記憶されているＭＩＤＩチャンネル番号を抽出し、第２曲データのチャンネル優先度データを参照して前記抽出したチャンネル番号のうちで最も優先度の高いチャンネル番号を選択する。そして、第２チャンネル割当てテーブルにおいて前記選択した最も優先度の高い音源チャンネル番号（変更前には「０」になっている）を、第１および第２チャンネル割当てテーブルのいずれにおいても音源チャンネル番号として記憶されていないチャンネル番号に変更する（図９の(Ｂ)の中央欄参照）。
【００５０】
ステップＳ６４においては、前記割当てた音源チャンネルに関するフェードインカウンタを「０」から作動開始させる。このフェードインカウンタは、図示しないプログラムの実行により、フェードイン開始からの時間を音源チャンネルごとに計測するものである。前記ステップＳ６４の処理後、後述するステップＳ６５,Ｓ６６の処理を実行した後、ステップＳ６７の処理を実行する。
【００５１】
ステップＳ６７においては、第２曲データに関する割当て済みのチャンネルｚごとに、フェードイン音量制御データＶＯＬ・ＦＩ(ｚ)を計算して音源回路１４に出力する。具体的には、図８にその特性を示すフェードイン音量テーブルを参照し、第２曲データに関する割当て済みのチャンネルｚに対応したフェードインカウンタにより指定される時刻の音量制御データＦＩ(ｚ)を計算する。そして、予め決められた所定の音量値ＶＯＬを前記音量制御データＦＩ(ｚ)に乗算する。なお、この所定の音量値ＶＯＬとして、ユーザが任意に指定した値を採用したり、設定操作子群１２中の音量調整操作子によって指示されている値を採用したりしてもよい。そして、前記計算した音量制御データＶＯＬ・ＦＩ(ｚ)を、第２チャンネル割当てテーブルによって指定される音源チャンネル番号を付して音源回路１４に出力する。言いかえれば、第２チャンネル割当てテーブルを参照し、音源回路１４に割当て済みのチャンネル番号ｚを音源チャンネル番号に変換して、音源回路１４に出力する。
【００５２】
前記ステップＳ６７の処理後、図５のステップＳ６８にて、第２チャンネル割当てテーブル内に「０」を表わす音源チャンネル番号が存在しないことを条件に、全ての音源チャンネルのフェードインが完了したかを判定する。なお、この判定条件に代えて、第１チャンネル割当てテーブル内の音源チャンネル番号が全て「０」に置き換えられていることを条件としてもよい。全ての音源チャンネルのフェードインが完了していなければ、ステップＳ６８にて「Ｎｏ」と判定して、ステップＳ６９に進む。
【００５３】
ステップＳ６９においては、ＲＡＭ２４内の第２曲データ中のＭＩＤＩメッセージを楽曲の進行に従って順次読出す。この場合、楽曲の進行は、第２曲データ中のテンポに応じて決定される。そして、ステップＳ７０にて、前記読出したＭＩＤＩメッセージが、プログラムチェンジ、チャンネルボリューム、バンクセレクト、パラメータコントロール、モードメッセージなどの楽音信号の発生環境を設定するメッセージであるかを判定する。前記読出されたＭＩＤＩメッセージが楽音信号の発生環境を設定するメッセージであれば、ステップＳ７０にて「Ｙｅｓ」と判定して、ステップＳ７１に進む。
【００５４】
ステップＳ７１においては、前記読出されたＭＩＤＩメッセージのチャンネルが音源回路１４のいずれかの音源チャンネルに既に割当て済みかを判定する。具体的には、第２チャンネル割当てテーブルを参照し、前記読出したＭＩＤＩデータ中のＭＩＤＩチャンネル番号に対応する音源チャンネル番号が「０」でないことを条件に割当て済みを判定する。割当て済みであれば、ステップＳ７１にて「Ｙｅｓ」と判定して、ステップＳ７２に進む。
【００５５】
ステップＳ７２においては、前記読出したＭＩＤＩメッセージがチャンネルボリュームであるかを判定する。前記読出したＭＩＤＩメッセージがチャンネルボリュームであれば、ステップＳ７３にてチャンネルボリュームの音量パラメータＶＯＬに該当するチャンネル番号ｚの音量制御データＦＩ(ｚ)を乗算することによりチャンネルボリュームメッセージを修正して、ステップＳ７４に進む。この音量制御データＦＩ(ｚ)としては、前記ステップＳ６７の処理によって計算した値を利用できる。なお、このようにフェードイン開始後にＭＩＤＩメッセージとしてチャンネルボリュームが読出された第２曲データのチャンネルに関しては、以降のステップＳ６７の処理においては、この音量パラメータＶＯＬが所定の音量値ＶＯＬに代えて用いられる。前記読出したＭＩＤＩメッセージがチャンネルボリュームでなければ、ステップＳ７２にて「Ｎｏ」と判定して、ステップＳ７４に直接進む。
【００５６】
ステップＳ７４においては、第２チャンネル割当てテーブルを参照することにより、前記読出したＭＩＤＩメッセージ（ただし、ＭＩＤＩメッセージがチャンネルボリュームの場合には前記ステップＳ７３の処理によって修正したＭＩＤＩメッセージ）中のＭＩＤＩチャンネル番号を音源チャンネル番号に変更して、同変更したＭＩＤＩチャンネル番号を含むＭＩＤＩメッセージを音源回路１４に出力する。音源回路１４は、前記出力されたＭＩＤＩメッセージを受信し、チャンネル情報によって指定された音源チャンネルに、ＭＩＤＩメッセージに含まれるイベント情報を供給する。そして、音源回路１４は、前記供給されたイベント情報に従って、前記指定された音源チャンネルにおける楽音信号の発生環境を設定する。
【００５７】
一方、前記読出された環境設定用のＭＩＤＩメッセージのチャンネルが未だ音源回路１４のいずれの音源チャンネルにも割当てられていなければ、ステップＳ７１にて「Ｎｏ」と判定し、ステップＳ７５にて前記読出されたＭＩＤＩメッセージをＲＡＭ２４内に一時的に保存する。このようにＭＩＤＩメッセージがＲＡＭ２４内に一時的に保存された場合には、図４のステップＳ６２〜Ｓ６６のフェードイン開始制御時に、ステップＳ６５、Ｓ６６の処理によって音源回路１４に供給される。すなわち、ＭＩＤＩメッセージがＲＡＭ２４内に一時的に保存されている場合には、ステップＳ６５にて「Ｙｅｓ」と判定し、ステップＳ６６にて、第１チャンネル割当てテーブルを参照することにより、前記保存されているＭＩＤＩメッセージ中のＭＩＤＩチャンネル番号を音源チャンネル番号に変更して、同変更したＭＩＤＩチャンネル番号を含むＭＩＤＩメッセージを音源回路１４に出力する。なお、この一時的に保存されていたＭＩＤＩメッセージは、音源回路１４への出力後に消去される。
【００５８】
また、前記読出されたＭＩＤＩメッセージが、前記のような楽音信号の発生環境を設定するメッセージではなく、ノートオン、ノートオフなどの楽音信号の発生開始及び発生終了を指示するものであれば、ステップＳ７０にて「Ｎｏ」と判定して、ステップＳ７６に進む。ステップＳ７６においては、前記ステップＳ７１の判定処理と同様に、前記読出されたＭＩＤＩメッセージのチャンネルが音源回路１４のいずれかの音源チャンネルに既に割当て済みかを判定する。割当て済みでなければ、ステップＳ７６にて「Ｎｏ」と判定して、このフェードインプログラムの実行を一旦終了する。割当て済みであれば、ステップＳ７６にて「Ｙｅｓ」と判定して、ステップＳ７４に進む。
【００５９】
ステップＳ７４においては、第２チャンネル割当てテーブルを参照することにより、前記読出したＭＩＤＩメッセージ中のＭＩＤＩチャンネル番号を音源チャンネル番号に変更して、同変更したＭＩＤＩチャンネル番号を含むＭＩＤＩメッセージを音源回路１４に出力する。音源回路１４は、前記出力されたＭＩＤＩメッセージを受信し、ＭＩＤＩチャンネル番号によって指定された音源チャンネルに、ＭＩＤＩメッセージに含まれるイベント情報を供給する。そして、音源回路１４は、前記供給されたイベント情報に従って、前記指定された音源チャンネルにおける楽音の発生開始または楽音の発生終了を制御する。これにより、音源回路１４は、ＲＡＭ２４内の第２曲データ中の演奏データに従った楽音信号を生成して、サウンドシステム１９を介して同生成した楽音信号に対応した楽音を発音する。
【００６０】
そして、この場合には、ステップＳ６７，Ｓ７３の処理により、音源回路１４の各音源チャンネルには、音量制御データＶＯＬ・ＦＩ(１)〜ＶＯＬ・ＦＩ(１６)，ＶＯＬ・ＦＩ(ｚ)が出力されており、音源回路１４の各音源チャンネルにて生成される楽音信号の音量は前記音量制御データＶＯＬ・ＦＩ(１)〜ＶＯＬ・ＦＩ(１６)，ＶＯＬ・ＦＩ(ｚ)によって決定される。一方、フェードイン音量テーブル内の音量制御データＦＩはフェードイン開始後の時間経過に従って徐々に増加するように設定されている。したがって、フェードインが開始された後には、音源回路１４の各音源チャンネルから発生される第２曲データに関する楽音信号の音量は徐々に増加する。
【００６１】
このようにして、楽曲の切換え指示から時間が経過して、全ての音源チャンネルのフェードインが完了すると、すなわち音量制御データＦＩ(１)〜ＦＩ(１６)の増加が停止すると、ステップＳ６８にて「Ｙｅｓ」と判定して、ステップＳ７７，Ｓ７８の処理を実行する。ステップＳ７７においては、クロスフェードフラグＣＲＦを“０”に戻す。ステップＳ７８においては、ＲＡＭ２４内の第２曲データおよび第２チャンネル割当てテーブルを第１曲データおよび第１チャンネル割り当てテーブルにそれぞれ変更して、このフェードインプログラムの実行を一旦終了する。
【００６２】
このようにクロスフェードフラグＣＲＦが“０”に設定されると、前述したように、図３のフェードアウトプログラムおよび図４，５のフェードインプログラムにおいては実質的な処理が実行されなくなる。そして、図２のステップＳ１８〜Ｓ２１の処理により、フェードインが完了して前記ステップＳ７８の処理により第１曲データに変更された曲データが楽曲の進行にしたがって再生されるようになる。
【００６３】
このような曲データのシーケンス再生中、ユーザが設定操作子群１２を操作してシーケンス再生の停止を指示すると、ステップＳ３１にて「Ｙｅｓ」と判定して作動フラグＲＵＮを“０”に戻して、このシーケンス再生プログラムの実行を一旦終了する。そして、作動フラグＲＵＮを“０”に設定したことにより、新たにシーケンス再生の開始が指示されない限り、曲データは再生されなくなる。
【００６４】
上記作動説明からも理解できるとおり、上記第１実施形態によれば、第１曲データが再生されている状態（図１０(Ａ)参照）で楽曲の切換えが指示されると、図３のフェードアウトプログラムの実行により、各音源チャンネルにて発生中の楽音信号の音量を徐々に減少させてフェードアウトさせる（図１０(Ｂ)参照）。そして、いずれかの音源チャンネルのフェードアウトが完了すると、図４，５のフェードインプログラムの実行により、フェードアウトが完了した音源チャンネルに次の曲データ（すなわち第２曲データ）の演奏データに基づく楽音信号の発生が割当てられて、この割当てられた楽音信号は、その音量を徐々に増加させながらフェードインする（図１０(Ｃ)参照）。そして、時間経過に従って、第２曲データの演奏データに基づく楽音信号が、前記フェードアウトの完了した音源チャンネルに順次割当てられて発生される（図１０(Ｄ)参照）。すなわち、切換え前に再生されていた第１曲データの演奏データに基づく楽音信号の発生が優先して音源チャンネルに割当てられ、切換え後に再生されるべき第２曲データの演奏データに基づく楽音信号は、第１曲データの演奏データに基づく楽音信号の発生に利用されていない音源チャンネルにて発生される。したがって、１系統の音源回路１４を用いるだけで、楽曲の連続再生が、不自然さなくクロスフェードしながら切換えられるようになる。
【００６５】
また、フェードアウトにおいては、チャンネル優先度データを用いて、発生楽音信号の音量の減少速度を優先順位の高い演奏データほど遅くした。フェードインにおいては、チャンネル優先度データを用いて、優先順位の高い演奏データほど音源チャンネルに優先して早く割り当てられるようにした。これにより、第１曲データ中の優先順位の高い演奏データに基づく楽音信号を最後まで残すことができるとともに、第２曲データ中の優先順位の高い演奏データに基づく楽音信号を始めから発生させることができるので、２つの楽曲の切換え時においてそれらの特徴を損なわないようにすることができる。
【００６６】
さらに、上記第１実施形態においては、図４のステップＳ６５，Ｓ６６および図５のステップＳ７０，Ｓ７１，Ｓ７５の処理により、プログラムチェンジ、チャンネルボリューム、バンクセレクト、パラメータコントロール、モードメッセージなどの楽音信号の発生環境を設定するＭＩＤＩメッセージに関しては、割当てる音源チャンネルが存在しない場合には、前記ＭＩＤＩメッセージを一時的に記憶しておくようにした。そして、割当てる音源チャンネルが出現した後に、前記一時記憶しておいたＭＩＤＩメッセージを新たに割当てた音源チャンネルに出力するようにした。これにより、切換え後の曲データ中の演奏データに基づく楽音信号は、適切な環境下で発生されるようになる。
【００６７】
ｂ.第２実施形態
次に、本発明の第２実施形態について説明する。この第２実施形態に係る電子楽器も、上記図１に示すように構成されている。ただし、この第２実施形態においては、図２のシーケンス再生プログラムに代わる図１１のシーケンス再生プログラム、図３のフェードアウトプログラムに代わる図１２のフェードアウトプログラムおよび図４，５のフェードインプログラムに代わる図１３のフェードインプログラムが外部記憶装置２５に記憶されているとともに、ＣＰＵ２１によって実行される。
【００６８】
また、曲データにおいては、チャンネル優先度データが省略されて、テンポ・拍子データおよび演奏データのみにより構成されている。そして、この演奏データにおいては、チャンネル情報によって表わされるチャンネル番号は１〜８のいずれかに限定されている。なお、音源回路１４の音源チャンネルの数は、上記第１実施形態と同じ１６個である。このような音源チャンネルの数よりも小さい数しか有さないＭＩＤＩチャンネル番号を含む演奏データは、例えば、演奏データの作成時にその作成者によって予め用意される。また、ＣＰＵ２１が、図示しないプログラムの実行により、演奏データを自動的に解析し、この解析結果に基づいて一部のチャンネルに関する演奏データを削除するようにしてもよい。さらには、選曲時または優先順位の決定指示時に、ユーザが、コンピュータプログラムの指示に従って一部のチャンネルに関する演奏データを削除するようにしてもよい。
【００６９】
さらに、この第２実施形態では、フェードアウト音量テーブルおよびフェードイン音量テーブルに関しては、それぞれ１種類ずつが用意されているのみである。フェードアウト音量テーブルに記憶されているフェードアウト音量制御データＦＯは、図１４に示すように時間経過に従って徐々に減少する特性を有する。フェードイン音量テーブルに記憶されているフェードイン音量制御データＦＩは、図１４に示すように時間経過に従って徐々に増加する特性を有する。他の構成については、上記第１実施形態と同じである。そして、上記第１実施形態と同じ構成および同じプログラム処理には同一の符号を付している。
【００７０】
次に、上記のように構成した第２実施形態の動作を説明する。この第２実施形態においても、ＣＰＵ２１は、図１１のシーケンス再生プログラム、図１２のフェードアウトプログラムおよび図１３のフェードインプログラムを所定の短時間ごとに繰り返し実行する。この図１１のシーケンス再生プログラムにおいても、上記第１実施形態の場合と同様に、ステップＳ１０，Ｓ１１の処理によりシーケンス曲データＳＳＧ(１)，ＳＳＧ(２)・・ＳＳＧ(Ｍ)が生成される。そして、ステップＳ１２〜Ｓ１６の処理により作動フラグＲＵＮを“１”に設定するとともに、先頭の曲データＳＳＧ(１)を第１曲データとしてＲＡＭ２４に書き込んだ後、ステップＳ１００の処理により、第１チャンネル切換えフラグＣＮＧ１を“０”に初期設定する。この第１チャンネル切換えフラグＣＮＧ１は、“０”により第１曲データの演奏データに基づく楽音信号の発生を音源回路１４の音源チャンネル１〜８に割当てることを表し、“１”により同楽音信号の発生を音源回路１４の音源チャンネル９〜１６に割当てることを表す。
【００７１】
また、ステップＳ２０の処理により第１曲データのＭＩＤＩメッセージを第１曲データのテンポに応じて読出した後には、ステップＳ１０１にて、第１チャンネル切換えフラグＣＮＧ１が“１”であるか否かを判定し、同フラグＣＮＧ１が“１”であればステップＳ１０２にてステップＳ２０の処理によって読出したＭＩＤＩメッセージのＭＩＤＩチャンネル番号に「８」を加算することによりＭＩＤＩチャンネル番号を変更して、ステップＳ１０３に進む。これは、第１曲データの演奏データに基づく楽音信号の発生を音源回路１４の音源チャンネル９〜１６のいずれかに割当てることを意味する。一方、第１チャンネル切換えフラグＣＮＧ１が
“０”であれば、ステップＳ１０２の処理を実行しないでステップＳ１０３に直接進む。このことは、第１曲データの演奏データに基づく楽音信号の発生を音源回路１４の音源チャンネル１〜８のいずれかに割当てることを意味する。
【００７２】
ステップＳ１０３においては、前記変更されたＭＩＤＩチャンネル番号を含むＭＩＤＩメッセージまたはＭＩＤＩチャンネル番号の変更されないＭＩＤＩメッセージが音源回路１４に出力される。音源回路１４は、上記第１実施形態の場合と同様に、供給されたＭＩＤＩチャンネル番号に対応した音源チャンネルにＭＩＤＩメッセージ中のイベント情報を供給して、同音源チャンネルにおける楽音信号の発生環境および楽音信号の発生を前記イベント情報に応じて制御する。したがって、この場合も、上記第１実施形態の場合と同様に、音源回路１４にて第１曲データが再生される。なお、シーケンス曲データＳＳＧ(１)，ＳＳＧ(２)・・ＳＳＧ(Ｍ)の先頭の曲データＳＳＧ(１)に関しては、第１チャンネル切換えフラグＣＮＧ１が前記ステップＳ１００の初期設定により“０”に設定されているので、音源チャンネル１〜８にて楽音信号の発生が制御される。
【００７３】
また、ステップＳ２２にて楽曲の切換え指示ありと判定された後には、ステップＳ１０４の処理により、フェードアウト／インカウンタの作動が開始制御される。これは、このフェードアウト／インカウンタのカウント値はフェードアウトおよびフェードイン制御時における時間経過を同時に示すものである。なせならば、この第２実施形態においては、フェードアウトおよびフェードインは、全ての音源チャンネルにおいて同期して制御されるからである。
【００７４】
そして、ステップＳ２９の処理により第２曲データがＲＡＭ２４に書込まれた後には、ステップＳ１０５〜Ｓ１０７の処理により、第１チャンネル切換えフラグＣＮＧ１が“０”であれば第２チャンネル切換えフラグＣＮＧ２は“１”に設定される。また、第１チャンネル切換えフラグＣＮＧ１が“１”であれば第２チャンネル切換えフラグＣＮＧ２は“０”に設定される。この第２チャンネル切換えフラグＣＮＧ２は、“０”により第２曲データの演奏データに基づく楽音信号の発生を音源回路１４の音源チャンネル１〜８に割当てることを表し、“１”により同楽音信号の発生を音源回路１４の音源チャンネル９〜１６に割当てることを表す。したがって、ステップＳ１０５〜Ｓ１０６の処理は、第１曲データが音源チャンネル１〜８（または９〜１６）で再生されている場合には、第２曲データを第１曲データで利用されない音源チャンネル９〜１６（１〜８）で再生することを制御することになる。このシーケンス再生プログラムの他の処理に関しては、上記第１実施形態と同じである。
【００７５】
次に、図１２のフェードアウトプログラムについて説明する。楽曲の切換えが指示されてクロスフェードフラグＣＲＦが“１”に設定されると、ＣＰＵ２１は、ステップＳ１１０以降の処理を実行し始める。ステップＳ１１０においては、フェードアウト音量テーブル（図１４）を参照して、フェードアウト／インカウンタにより指定される時刻の音量制御データＦＯを計算し、この音量制御データに予め決められた所定の音量値ＶＯＬを乗算して音量制御データＶＯＬ・ＦＯを計算する。なお、この場合も、所定の音量値ＶＯＬとして、ユーザが任意に指定した値を採用したり、設定操作子群１２中の音量調整操作子によって指示されている値を採用したりしてもよい。
【００７６】
前記ステップＳ１１０の処理後、ステップＳ１１１〜Ｓ１１３の処理により、第１チャンネル切換えフラグＣＮＧ１が“０”であれば、前記計算した音量制御データＶＯＬ・ＦＯを音源回路１４の音源チャンネル１〜８に出力する。第１チャンネル切換えフラグＣＮＧ１が“１”であれば、前記計算した音量制御データＶＯＬ・ＦＯを音源回路１４の音源チャンネル９〜１６に出力する。これにより第１曲データの演奏データに基づく各再生音信号の音量は、音量制御データＶＯＬ・ＦＯによって一律に制御されるようになる。
【００７７】
次に、ステップＳ４５にて、ＲＡＭ２４内の第１曲データ中のＭＩＤＩメッセージを第１曲データ中のテンポに応じて順次読出す。そして、ステップＳ４７にて、前記読出したＭＩＤＩメッセージがチャンネルボリュームであるかを判定する。前記読出したＭＩＤＩメッセージがチャンネルボリュームであれば、ステップＳ１１４にてチャンネルボリュームの音量パラメータＶＯＬに前記ステップＳ１１０の処理によって計算した音量制御データＦＯを乗算して音量パラメータＶＯＬを修正する。なお、このように、楽曲の切換え指示があった後に、ＭＩＤＩメッセージとしてチャンネルボリュームが読出されたチャンネルに関しては、以降のステップＳ１１０の処理においては、この音量パラメータＶＯＬが所定の音量値ＶＯＬに代えて用いられる。
【００７８】
次に、ステップＳ１１５〜Ｓ１１７の処理により、前記図１１のステップＳ１０１〜Ｓ１０３の処理と同様にして、第１チャンネル切換えフラグＣＮＧ１が“０”であれば、読出したＭＩＤＩメッセージ中のイベント情報が音源回路１４の音源チャンネル１〜８で再生される。また、第１チャンネル切換えフラグＣＮＧ１が“１”であれば、読出したＭＩＤＩメッセージ中のイベント情報が音源回路１４の音源チャンネル９〜１６で再生される。なお、ＭＩＤＩメッセージがチャンネルボリュームの場合には前記ステップＳ１１４の処理によって修正したＭＩＤＩメッセージ中のイベント情報が音源回路１４の音源チャンネル１〜８または９〜１６に出力されて再生に利用される。ただし、この場合には、ステップＳ１１０〜Ｓ１１３，Ｓ４７、Ｓ１２５の処理により、第１曲データが再生される音源回路１４の音源チャンネル１〜８（または９〜１６）には、時間経過に従って徐々に減少する音量制御データＶＯＬ・ＦＯが供給されている。したがって、楽曲の切換えが指示された後には、フェードアウトプログラムの繰り返し実行により、音源回路１４の各音源チャンネルから発生される第１曲データに関する楽音信号の音量は徐々に減少する。
【００７９】
次に、図１３のフェードインプログラムについて説明する。楽曲の切換えが指示されてクロスフェードフラグＣＲＦが“１”に設定されると、ＣＰＵ２１は、ステップＳ１２０以降の処理を実行し始める。ステップＳ１２０においては、フェードイン音量テーブル（図１４）を参照して、フェードアウト／インカウンタにより指定される時刻の音量制御データＦＩを計算し、この音量制御データに予め決められた所定の音量値ＶＯＬを乗算して音量制御データＶＯＬ・ＦＩを計算する。なお、この場合も、所定の音量値ＶＯＬとして、ユーザが任意に指定した値を採用したり、設定操作子群１２中の音量調整操作子によって指示されている値を採用したりしてもよい。
【００８０】
前記ステップＳ１２０の処理後、ステップＳ１２１〜Ｓ１２３の処理により、第２チャンネル切換えフラグＣＮＧ２が“０”であれば、前記計算した音量制御データＶＯＬ・ＦＩを音源回路１４の音源チャンネル１〜８に出力する。第２チャンネル切換えフラグＣＮＧ２が“１”であれば、前記計算した音量制御データＶＯＬ・ＦＯを音源回路１４の音源チャンネル９〜１６に出力する。これにより第２曲データの演奏データに基づく各再生音信号の音量は、音量制御データＶＯＬ・ＦＩによって一律に制御されるようになる。
【００８１】
次に、ステップＳ１２４にて、第２曲データによる楽音信号のフェードインが完了したか否かを判定する。この判定においては、フェードアウト／インカウントのカウント値が図１４のフェードイン音量制御データの増加終了タイミングよりも大きな値を表しているかが判定される。第２曲データによる楽音信号のフェードインが未だ完了していなければ、ステップＳ１２４にて「Ｎｏ」と判定して、ステップＳ６９にてＲＡＭ２４内の第２曲データ中のＭＩＤＩメッセージを第２曲データ中のテンポに応じて順次読出す。そして、ステップＳ７２にて、前記読出したＭＩＤＩメッセージがチャンネルボリュームであるかを判定する。前記読出したＭＩＤＩメッセージがチャンネルボリュームであれば、ステップＳ１２５にてチャンネルボリュームの音量パラメータＶＯＬに前記ステップＳ１２０の処理によって計算した音量制御データＦＩを乗算して音量パラメータＶＯＬを修正する。なお、このように、楽曲の切換え指示があった後に、ＭＩＤＩメッセージとしてチャンネルボリュームが読出されたチャンネルに関しては、以降のステップＳ１２０の処理においては、この音量パラメータＶＯＬが所定の音量値ＶＯＬに代えて用いられる。
【００８２】
次に、ステップＳ１２６〜Ｓ１２８の処理により、前記図１１のステップＳ１０１〜Ｓ１０３および図１２のステップＳ１１５〜Ｓ１１７の処理における第１チャンネル切換えフラグＣＮＧ１を第２チャンネル切換えフラグＣＮＧ２に代えたステップＳ１２６〜Ｓ１２８の処理を実行する。これらのステップＳ１２６〜Ｓ１２８の処理により、第２チャンネル切換えフラグＣＮＧ２が“１”であれば、読出したＭＩＤＩメッセージ中のイベント情報が音源回路１４の音源チャンネル９〜１６で再生される。また、第２チャンネル切換えフラグＣＮＧ２が“０”であれば、読出したＭＩＤＩメッセージ中のイベント情報が音源回路１４の音源チャンネル１〜８で再生される。なお、ＭＩＤＩメッセージがチャンネルボリュームの場合には前記ステップＳ１２５の処理によって修正したＭＩＤＩメッセージ中のイベント情報が音源回路１４の音源チャンネル９〜１６または１〜８に出力されて再生に利用される。また、この場合には、ステップＳ１２０〜Ｓ１２３，Ｓ７２，Ｓ１２５の処理により、第２曲データが再生される音源回路１４の音源チャンネル９〜１６（または１〜８）には、時間経過に従って徐々に増加する音量制御データＶＯＬ・ＦＩが供給されている。したがって、楽曲の切換えが指示された後には、フェードインプログラムの繰り返し実行により、音源回路１４の各音源チャンネルから発生される第２曲データに関する楽音信号の音量は徐々に増加する。
【００８３】
このフェードインプログラムの繰り返し実行によって第２曲データによる楽音信号のフェードインが完了すると、ステップＳ１２４にて「Ｙｅｓ」と判定してステップＳ７７，Ｓ１２９，Ｓ１３０の処理を実行する。ステップＳ７７においては、クロスフェードフラグＣＲＦを“０”に設定する。ステップＳ１２９においては、ＲＡＭ２４内の第２曲データを第１曲データに変更する。ステップＳ１３０においては、第１チャンネル切換えフラグＣＮＧ１を第２チャンネル切換えフラグＣＮＧ２が示す値に変更して、このフェードインプログラムの実行を終了する。
【００８４】
そして、フェードイン完了後には、シーケンス再生プログラムの実行により、クロスフェード中には第２曲データであった曲データが第１曲データとして再生されるようになる。この場合、第１チャンネル切換えフラグＣＮＧ１は第２チャンネル切換えフラグＣＮＧ２が示す値に変更されているので、新たな第１曲データは、クロスフェード中と同一の音源チャンネルで再生されることになる。
【００８５】
上記作動説明からも理解できるように、この第２実施形態においては、第１および第２曲データの再生に利用される音源チャンネルを交互に切換えるようにして、第２曲データの演奏データが割当てられる音源チャンネルは、第１曲データの演奏データの割当てに利用されない音源チャンネルとした。そして、これらの曲データの切換え時には、フェードアウトプログラムおよびフェードインプログラムの実行により、第１曲データの演奏データによる再生楽音信号は一律に徐々に減少し、第２曲データの演奏データによる再生楽音信号は一律に徐々に増加するクロスフェード処理が実現される（図１５参照）。したがって、この第２実施形態によっても、１系統の音源回路１４を用いるだけで、楽曲の連続再生が、不自然さなくクロスフェードしながら切換えられるようになる。
【００８６】
ｃ．その他の変形例
さらに、本発明の実施にあたっては、上記第１および第２実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００８７】
例えば、上記第１および第２実施形態においては、音源回路１４の音源チャンネル数を１６個としたが、この音源チャンネル数は複数であれば適宜変更可能である。また、第１および第２実施形態においては、フェードアウトおよびフェードインを実現するための音量制御データＦＯ，ＦＩをテーブルの形で外部記憶装置２５に記憶しておくようにした。しかし、これに代えて、音量制御データＦＯ，ＦＩの時間変化を表す関数を外部記憶装置２５にそれぞれ記憶しておいて、これらの関数を用いて、再生楽音信号の音量を制御するための時間経過に従って徐々に変化する音量制御データＦＯ，ＦＩを計算するようにしてもよい。
【００８８】
また、上記第１および第２実施形態においては、複数の楽曲を所定時間ずつ順次自動的に再生するようにした。しかし、これに代えて、楽曲の全てを再生し終えた後に、次の楽曲の再生を開始させるようにしてもよい。この場合、楽曲の終了時から予め決められた所定時間前のタイミングを検出するようにして、同タイミングから楽曲のフェードアウトおよびフェードインを開始するようにすればよい。
【００８９】
さらに、上記第１および第２実施形態においては、演奏操作子として鍵を採用した電子楽器に本発明を適用したが、鍵に代えて、単なる押圧スイッチ、タッチスイッチなどを音高を指定する演奏操作子として採用した電子楽器に適用してもよい。また、本発明は、電子楽器以外のカラオケ装置、自動演奏装置、音楽アミューズメント装置、パーソナルコンピュータなど、曲データを再生することが可能な他の電子音楽装置にも適用できる。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１および第２実施形態に係る電子楽器の全体ブロック図である。
【図２】本発明の第１実施形態に係り、前記電子楽器にて実行されるシーケンス再生プログラムを示すフローチャートである。
【図３】本発明の第１実施形態に係り、前記電子楽器にて実行されるフェードアウトプログラムを示すフローチャートである。
【図４】本発明の第１実施形態に係り、前記電子楽器にて実行されるフェードインプログラムの前半部分を示すフローチャートである。
【図５】本発明の第１実施形態に係り、前記電子楽器にて実行されるフェードインプログラムの後半部分を示すフローチャートである。
【図６】本発明の第１および第２実施形態に係る曲データのフォーマットの一例を示す図である。
【図７】(Ａ)(Ｂ)は、本発明の第１実施形態に係るフェードアウト音量の時間変化を示す特性図である。
【図８】本発明の第１実施形態に係るフェードインの音量の時間変化を示す特性図である。
【図９】(Ａ)は第１チャンネル割当てテーブルのフォーマット図であり、(Ｂ)は第２チャンネル割当てテーブルのフォーマット図である。
【図１０】(Ａ)〜(Ｄ)は、本発明の第１実施形態の動作を説明するための動作説明図である。
【図１１】本発明の第２実施形態に係り、前記電子楽器にて実行されるシーケンス再生プログラムを示すフローチャートである。
【図１２】本発明の第２実施形態に係り、前記電子楽器にて実行されるフェードアウトプログラムを示すフローチャートである。
【図１３】本発明の第２実施形態に係り、前記電子楽器にて実行されるフェードインプログラムを示すフローチャートである。
【図１４】本発明の第２実施形態に係るフェードアウト音量およびフェードイン音量の時間変化を示す特性図である。
【図１５】本発明の第１実施形態の動作を説明するための動作説明図である。フェードイン音量制御データの特性図である。
【符号の説明】
【００９１】
１１…演奏操作子群、１２…設定操作子群、１３…表示器、１４…音源回路、２１…ＣＰＵ，２５…外部記憶装置。
【図１】
2006047606.tif 000003
【図２】
2006047606.tif 000004
【図３】
2006047606.tif 000005
【図４】
2006047606.tif 000006
【図５】
2006047606.tif 000007
【図６】
2006047606.tif 000008
【図７】
2006047606.tif 000009
【図８】
2006047606.tif 000010
【図９】
2006047606.tif 000011
【図１０】
2006047606.tif 000012
【図１１】
2006047606.tif 000013
【図１２】
2006047606.tif 000014
【図１３】
2006047606.tif 000015
【図１４】
2006047606.tif 000016
【図１５】
2006047606.tif 000017