(57)【特許請求の範囲】
【請求項１】
所定のデータ転送規格に準拠した演奏情報に基づいて発音する音源と通信可能な音源制御装置であって、
上記音源制御のための制御情報を複数パターン記憶する第１の記憶手段と、
上記音源制御のセットアップ変更時に、上記第１の記憶手段内の該当するパターンの制御情報に基づいて、上記音源での発音に対して付与する効果がアサインされる操作手段と、
上記操作手段に対してアサイン可能な複数の効果のそれぞれについて、対象効果の性格に基づいた上記セットアップ変更時の対象効果の状態に関する情報を記憶する第２の記憶手段と、
上記音源制御のセットアップ変更時に、上記第１の記憶手段内の前回のセットアップで使用された第１の制御情報、今回のセットアップで使用された第２の制御情報、及び上記第２の記憶手段内の記憶情報に基づいて、上記音源へ送信する上記演奏情報を生成する生成手段とを備えることを特徴とする音源制御装置。
【請求項２】
上記生成手段は、上記第１の制御情報により示される前回のセットアップで上記操作手段にアサインされた第１の効果と、上記第２の制御情報により示される今回のセットアップで上記操作手段にアサインされた第２の効果とが異なる場合、上記第１の効果の状態を上記第２の記憶手段内の情報により示される状態とし、上記第２の効果の状態を上記操作手段の操作に基づいた状態とする上記演奏情報を生成することを特徴とする請求項１記載の音源制御装置。
【請求項３】
上記生成手段は、外部指示に基づいて、上記第１の制御情報及び上記第２の記憶手段内の記憶情報を用いた上記演奏情報の生成処理を実行することを特徴とする請求項１記載の音源制御装置。
【請求項４】
所定のデータ転送規格に準拠した演奏情報に基づいて発音する音源手段を備える電子楽器であって、
請求項１〜３の何れかに記載の音源制御装置の機能を更に備えることを特徴とする電子楽器。
【請求項５】
ＭＩＤＩ規格に対応した複数の機器が互いに通信可能に接続されてなるＭＩＤＩシステムであって、
上記複数の機器のうち少なくとも１つの機器は、請求項１〜３の何れかに記載の音源制御装置の機能、又は請求項４記載の電子楽器の機能を有することを特徴とするＭＩＤＩシステム。
【請求項６】
所定のデータ転送規格に準拠した演奏情報に基づいて発音する音源を制御するための音源制御方法であって、
上記音源制御のための制御情報を、上記音源制御のセットアップパターン毎に複数記憶する第１の記憶ステップと、
ユーザからの上記音源制御のセットアップ変更指示時に、上記第１の記憶ステップによる記憶情報の中の該当する制御情報に基づいて、上記音源での発音に対して付与する効果を操作手段へアサインするアサインステップと、
上記アサインステップにより上記操作手段に対してアサイン可能な複数の効果のそれぞれについて、対象効果の性格に基づいた上記セットアップ変更指示時の対象効果の状態に関する情報を記憶する第２の記憶ステップと、
上記音源制御のセットアップ変更指示時に、上記第１の記憶ステップによる記憶情報の中の前回のセットアップで使用された第１の制御情報、今回のセットアップで使用された第２の制御情報、及び上記第２の記憶ステップによる記憶情報に基づいて、上記音源へ送信する上記演奏情報を生成する生成ステップとを含むことを特徴とする音源制御方法。
【請求項７】
上記生成ステップは、上記第１の制御情報により示される前回のセットアップで上記操作手段にアサインされた第１の効果と、上記第２の制御情報により示される今回のセットアップで上記操作手段にアサインされた第２の効果とが異なる場合、上記第１の効果の状態を上記第２の記憶手段内の情報により示される状態とし、上記第２の効果の状態を上記操作手段の操作に基づいた状態とする上記演奏情報を生成するステップを含むことを特徴とする請求項６記載の音源制御方法。
【請求項８】
上記生成ステップは、ユーザからの指示に基づいて、上記第１の制御情報及び上記第２の記憶手段内の記憶情報を用いた上記演奏情報の生成処理を実行するステップを含むことを特徴とする請求項６記載の音源制御方法。
【請求項９】
請求項１〜３の何れかに記載の音源制御装置の機能、又は請求項４記載の電子楽器の機能、又は請求項５記載のＭＩＤＩシステムの機能をコンピュータに実現させるためのプログラムを記録したコンピュータ読出可能な記憶媒体。
【請求項１０】
請求項６〜８の何れかに記載の音源制御方法の処理ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）規格に対応した機器（ＭＩＤＩ機器）等に用いられる、音源制御装置、電子楽器、ＭＩＤＩシステム、音源制御方法、及びそれを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体に関するものである。
【０００２】
【従来の技術】
従来より例えば、演奏情報のデータ転送規格であるＭＩＤＩ規格に対応した電子楽器では、自側に限られず、外部で生成されたＭＩＤＩ規格の演奏情報（１６チャンネルのＭＩＤＩデータ）に基づいて、様々な楽音の発生が可能となっている。
【０００３】
ところで、ＭＩＤＩデータでは、ボイス・メッセージと呼ばれるメッセージデータにより、ノートオン／オフ（押鍵／離鍵）、ベロシティ（押鍵時の強さ）、ゲートタイム（押鍵時間）、及びタイミング（押鍵タイミング）等の情報が定義される。
【０００４】
具体的には、ボイスメッセージには、ノートオン／オフ、及びモジュレーション・ホイールやペダル等の様々なエフェクトが定義されるコントロール・チェンジ、音色切り換えに関して定義されるプログラム・チェンジ、ベンド情報が定義されるピッチ・ホイール・チェンジ、及びアフター・タッチが含まれる。
【０００５】
特に、コントロール・チェンジは、ＭＩＤＩデータの送信先の音源（電子楽器が有する音源）の音色等をコントロールするために使用され、後述するような、音量、カットオフ、及びサステイン等の様々なエフェクトが定義される。
【０００６】
コントロール・チェンジは、それぞれが１バイトデータである“Ｂｎ”、“ＣＣ”、及び“ｖｖ”の計３バイトデータで形成される。
“Ｂｎ”において、“Ｂ”は、コントロールチェンジコマンドを示し、“ｎ”は、ＭＩＤＩチャンネル指定（１チャンネル〜１６チャンネル）を示す。
“ＣＣ”は、“０”〜“１２７”の値をとるコントロール番号を示し、“ｖｖ”は、値（設定値）を示す。
【０００７】
コントロール・チェンジで定義されるエフェクトとしては、以下のようなものが挙げられる。
・演奏時にリアルタイムで使用されるエフェクト（モジュレーション、ブレスコントロール、チャンネルボリューム、エクスプレッション、及びペダル等に関するエフェクト）。
・音色変化や音の鳴り方等を変化させるエフェクト（バンクセレクト、ポルタメント、パンポット、エフェクト、ハーモニックインテンシティ、リリースタイム、アタックタイム、及びブライトネス等に関するエフェクト）。
・音源の設定を変化させるエフェクト（データエントリ、ピッチベンドセンシティビティ、ファインチューン、コースチューン、ＲＰＮヌル、ＮＲＰＮ  ＭＳＢ、及びＮＲＰＮ  ＬＳＢ等に関するエフェクト）
・音色を変化させるエフェクト（カットオフフリケンシー、レゾナンス等に関するエフェクト）
・ドラムパートのパラメータを変化させるエフェクト（ドラムインストールメント等に関するエフェクト）。
【０００８】
したがって、電子楽器では、外部から送信されてきた、或いは自側で生成されたＭＩＤＩデータに含まれる、上述したようなコントロール・チェンジによるエフェクトの定義に従ったセットアップが行なわれ、その後、様々な音色や、音色変化、或いは様々な形態での演奏が可能となる。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来のＭＩＤＩ規格に対応した電子楽器では、コントロール・チェンジによるセットアップ変更時等において、以前のコントロール・チェンジによるセットアップ状態が放置されてしまうことによる不具合が生じる場合があった。
【００１０】
具体的には例えば、電子楽器において、現在のコントロール・チェンジによるセットアップでは、発音する楽音に対して様々な効果を付与させるための複数のフェーダの中の任意のフェーダ（第１のフェーダとする）に対して、音量コントロールのエフェクトがアサインされているものとする。このようなセットアップ状態（以下、「第１のセットアップ状態」と言う）での演奏に合わせて、ユーザは、第１のフェーダを操作して所望する音量にコントロールし、最終的に音量ゼロに設定したものとする。
【００１１】
このとき、第１のセットアップ状態で、ユーザからの所定の操作等により、新たなコントロール・チェンジによるセットアップの変更が行なわれ、第２のセットアップ状態となり、当該新たなコントロール・チェンジでは、第１のフェーダに対して、パンポット（ＭＩＤＩチャンネルの定位を変化させるコマンド）のエフェクトがアサインされているものとする。
【００１２】
しかしながら、第２のセットアップ状態では、音量について、第１のセットアップ状態が放置されたままの状態、すなわち音量ゼロの状態となっているため、第１のフェーダを操作してパンポットを変更しても、全く発音されない。
【００１３】
そこで、本発明は、上記の欠点を除去するために成されたもので、セットアップ変更が行なわれた場合等であっても、常に良好な所望する演奏が行なえる、音源制御装置、電子楽器、ＭＩＤＩシステム、音源制御方法、及びそれを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
斯かる目的下において、第１の発明は、所定のデータ転送規格に準拠した演奏情報に基づいて発音する音源と通信可能な音源制御装置であって、上記音源制御のための制御情報を複数パターン記憶する第１の記憶手段と、上記音源制御のセットアップ変更時に、上記第１の記憶手段内の該当するパターンの制御情報に基づいて、上記音源での発音に対して付与する効果がアサインされる操作手段と、上記操作手段に対してアサイン可能な複数の効果のそれぞれについて、対象効果の性格に基づいた上記セットアップ変更時の対象効果の状態に関する情報を記憶する第２の記憶手段と、上記音源制御のセットアップ変更時に、上記第１の記憶手段内の前回のセットアップで使用された第１の制御情報、今回のセットアップで使用された第２の制御情報、及び上記第２の記憶手段内の記憶情報に基づいて、上記音源へ送信する上記演奏情報を生成する生成手段とを備えることを特徴とする。
【００１５】
第２の発明は、上記第１の発明において、上記生成手段は、上記第１の制御情報により示される前回のセットアップで上記操作手段にアサインされた第１の効果と、上記第２の制御情報により示される今回のセットアップで上記操作手段にアサインされた第２の効果とが異なる場合、上記第１の効果の状態を上記第２の記憶手段内の情報により示される状態とし、上記第２の効果の状態を上記操作手段の操作に基づいた状態とする上記演奏情報を生成することを特徴とする。
【００１６】
第３の発明は、上記第１の発明において、上記生成手段は、外部指示に基づいて、上記第１の制御情報及び上記第２の記憶手段内の記憶情報を用いた上記演奏情報の生成処理を実行することを特徴とする。
【００１７】
第４の発明は、所定のデータ転送規格に準拠した演奏情報に基づいて発音する音源手段を備える電子楽器であって、請求項１〜３の何れかに記載の音源制御装置の機能を更に備えることを特徴とする。
【００１８】
第５の発明は、ＭＩＤＩ規格に対応した複数の機器が互いに通信可能に接続されてなるＭＩＤＩシステムであって、上記複数の機器のうち少なくとも１つの機器は、請求項１〜３の何れかに記載の音源制御装置の機能、又は請求項４記載の電子楽器の機能を有することを特徴とする。
【００１９】
第６の発明は、所定のデータ転送規格に準拠した演奏情報に基づいて発音する音源を制御するための音源制御方法であって、上記音源制御のための制御情報を、上記音源制御のセットアップパターン毎に複数記憶する第１の記憶ステップと、ユーザからの上記音源制御のセットアップ変更指示時に、上記第１の記憶ステップによる記憶情報の中の該当する制御情報に基づいて、上記音源での発音に対して付与する効果を操作手段へアサインするアサインステップと、上記アサインステップにより上記操作手段に対してアサイン可能な複数の効果のそれぞれについて、対象効果の性格に基づいた上記セットアップ変更指示時の対象効果の状態に関する情報を記憶する第２の記憶ステップと、上記音源制御のセットアップ変更指示時に、上記第１の記憶ステップによる記憶情報の中の前回のセットアップで使用された第１の制御情報、今回のセットアップで使用された第２の制御情報、及び上記第２の記憶ステップによる記憶情報に基づいて、上記音源へ送信する上記演奏情報を生成する生成ステップとを含むことを特徴とする。
【００２０】
第７の発明は、上記第６の発明において、上記生成ステップは、上記第１の制御情報により示される前回のセットアップで上記操作手段にアサインされた第１の効果と、上記第２の制御情報により示される今回のセットアップで上記操作手段にアサインされた第２の効果とが異なる場合、上記第１の効果の状態を上記第２の記憶手段内の情報により示される状態とし、上記第２の効果の状態を上記操作手段の操作に基づいた状態とする上記演奏情報を生成するステップを含むことを特徴とする。
【００２１】
第８の発明は、上記第６の発明において、上記生成ステップは、ユーザからの指示に基づいて、上記第１の制御情報及び上記第２の記憶手段内の記憶情報を用いた上記演奏情報の生成処理を実行するステップを含むことを特徴とする。
【００２２】
第９の発明は、請求項１〜３の何れかに記載の音源制御装置の機能、又は請求項４記載の電子楽器の機能、又は請求項５記載のＭＩＤＩシステムの機能をコンピュータに実現させるためのプログラムをコンピュータ読出可能な記憶媒体に記録したことを特徴とする。
【００２３】
第１０の発明は、請求項６〜８の何れかに記載の音源制御方法の処理ステップをコンピュータに実行させるためのプログラムをコンピュータ読出可能な記憶媒体に記録したことを特徴とする。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００２５】
本発明は、例えば、図１に示すような音源制御装置１００に適用される。
特に、本実施の形態の音源制御装置１００は、外部音源２００（ｘ）に対するセットアップ変更時において、当該変更前のセットアップ状態が放置されてしまうことによる不具合が生じないように、当該変更前のセットアップの内容に基いて、必要な設定を自動的に行なえるように構成されている。
以下、音源制御装置１００の構成及び動作について具体的に説明する。
【００２６】
＜音源制御装置１００の構成＞
音源制御装置１００は、上記図１に示すように、操作パネル１１０、ＭＩＤＩインターフェース１２０、ＣＰＵ１３０、ＲＯＭ１４０、及びＲＡＭ１５０が、バス１６０を介して互いに通信可能に接続された構成としている。
【００２７】
尚、音源制御装置１００としては、例えば、上記図１中の点線に示すように、更に、キーボード１７０、音源モジュール１８０、アンプ１８１、及びスピーカ１８２を備えた電子楽器等をも適用可能である。
【００２８】
ＭＩＤＩインターフェース１２０は、外部の音源２００（ｘ）との間でＭＩＤＩデータの送受信を行なう。
【００２９】
尚、上記図１では、説明の簡単のため、音源制御装置１００に対して、１つの音源２００（ｘ）のみを接続する構成としているが、この接続数に限られることはなく、様々な音源を接続するように構成してもよい。
【００３０】
操作パネル１１０は、ユーザが所望するセットアップを指定するための操作子や、その他の各種操作子と共に、図２に示すように、複数のフェーダからなるアサイナブルフェーダ部１１１を備えている。
ここでは、説明の簡単のため、アサイナブルフェーダ部１１１は、８つのフェーダ１１１（１）〜１１１（８）し、これらのフェーダに対して、セットアップ時に様々なエフェクトがアサインされるものとする。
【００３１】
ＲＯＭ１４０は、各種プログラム用のＲＯＭ１４１と、各種パラメータ用のＲＯＭ１４２とを含んでいる。
【００３２】
ＲＡＭ１５０は、作業用メモリ等として使用されるが、特に、図３に示すようなコントロールチェンジ対応テンプレートデータ２００と、図４に示すようなセットアップ対応データ３００とが記憶される。
【００３３】
コントロールチェンジ対応テンプレートデータ２００は、コントロール・チェンジで定義される各種エフェクトの性格に応じて、セットアップ変更直後の適切な値或いは所望する任意の値が設定されたデータであり、上記図３に示すように、コントロール番号ＣＣにより示されるコントロール・チェンジのそれぞれに対して、セットアップ変更前の状態に関する項目（以下、「ＥＮＤ用項目」と言う）、セットアップ変更後の状態に関する項目（以下、「ＮＥＷ用項目」と言う）、及びタイプ（ｔｙｐｅ）の項目が設けられている。
【００３４】
ＥＮＤ用項目には、現在のセットアップ状態から離脱する時のアサイン情報が設定される。
例えば、ＥＮＤ用項目は、ｅｎｄ項目と値項目からなる。ｅｎｄ項目には、「デフォルト値出力（Ｄｆ）」又は「何もしない（Ｎｏｎ）」が設定される。値項目には、ｅｎｄ項目に「デフォルト値出力（Ｄｆ）」が設定された場合に、そのデフォルト値が設定される。
【００３５】
ＮＥＷ用項目には、現在のセットアップ状態から離脱した後の、新たなセットアップ状態時（アサイン時）のアサイン情報が設定される。
例えば、ＮＥＷ用項目は、セットアップ変更前（ＥＮＤ用）の項目と同様に、ｅｎｄ項目と値項目からなる。ｅｎｄ項目には、「デフォルト値出力（Ｄｆ）」、又は「何もしない（Ｎｏｎ）」、又は「設定値を出力（Ｓｅｔ）」が設定される。値項目には、ｅｎｄ項目に「デフォルト値出力（Ｄｆ）」又は「設定値を出力（Ｓｅｔ）」が設定された場合に、その値が設定される。
【００３６】
タイプ項目は、ボリュームタイプ（０〜１２７（Ｖｏｌ）等）であるのか、或いは相対値（−５０〜０〜＋５０（Ｒｅｌ）等）であるのか、或いはスイッチ（０、１２７（ＳＷ））であるのかが設定される。
【００３７】
尚、上記図３のコントロールチェンジ対応テンプレートデータ２００への各種情報の設定に関しては、例えば、ユーザが、操作パネル１１０の各種操作子を操作することで、任意に設定可能なように構成するようにしてもよい。或いは、予め設定されているものとしてもよい。
【００３８】
セットアップ対応データ３００は、操作パネル１１０によりユーザから指定可能な各種セットアップのパターン毎の、操作パネル１１０の各種操作子へのアサイン内容（コントロール・チェンジ）等を含むデータ（以下、「パネル編集データ３００（＃ｘ）」とも言う）である。
ここでは、＃１〜＃ｎのパターンのセットアップが可能となっているため、こられに対応するパネル編集データ３００（＃１）〜パネル編集データ３００（＃ｎ）が、セットアップ対応データ３００として構成される。
【００３９】
したがって、例えば、ユーザからの操作パネル１１０によるセットアップの変更指示に基づいて、セットアップ対応データ３００の該当するパネル編集データ３００（＃ｘ）が読み出され、これをコントロール・チェンジとするＭＩＤＩデータが生成され、音源２００（ｘ）に対して出力される。音源２００（ｘ）では、当該ＭＩＤＩデータのパネル編集データ３００（＃ｘ）に基づいたセットアップが行なわれた後、演奏が開始される。
【００４０】
ＣＰＵ１３０は、音源制御装置１００全体の動作制御を司るものであり、例えば、ＲＯＭ１４０のプログラム用のＲＯＭ１４１に予め格納された所定の処理シーケンスに従った処理プログラムを、ＲＡＭ１５０上にロードして実行することで、後述するような本実施の形態の特徴とする動作（機能）を実施する。
【００４１】
＜音源制御装置１００の動作＞
図５〜図１０は、音源制御装置１００の動作をフローチャートによって示したものである。
例えば、プログラム用ＲＯＭ１４１には、図５〜図１０のフローチャートに従った処理プログラムが予め格納されている。ＣＰＵ１３０は、プログラム用ＲＯＭ１４１から当該処理プログラムを読み出して実行する。これにより、音源制御装置１００は、以下のように動作する。
【００４２】
[メイン処理]：図５参照
先ず、ＣＰＵ１３０は、操作パネル１１０におけるユーザからの操作状態を検出し、その結果に基いた処理を実行する（ステップＳ４０１）。
【００４３】
次に、ＣＰＵ１３０は、ステップＳ４０１の処理結果に基いた処理（Ａ／Ｄ処理）を実行する（ステップＳ４０２）。
【００４４】
そして、ＣＰＵ１３０は、必要に応じて該当する処理を実行した後（ステップＳ４０３）、再びステップＳ４０１へ戻り、以降の処理ステップを繰り返し実行する。
【００４５】
[パネル処理（ステップＳ４０１）]：図６参照
先ず、ＣＰＵ１３０は、必要に応じて該当する処理（他の処理）を実行した後（ステップＳ４１１）、ユーザからの操作指示によりセットアップ変更がなされたか否かを判別する（ステップＳ４１２）。
この判別の結果、セットアップ変更無しの場合には、そのまま本処理終了となり、セットアップ変更有りの場合のみ、次のステップＳ４１３からの処理が実行される。
【００４６】
ステップＳ４１２の判別の結果、セットアップ変更有りの場合、ＣＰＵ１３０は、ＲＡＭ１５０に格納されているセットアップ対応データ３００（上記図４参照）において、セットアップ変更前のパネル編集データ３００（＃ｘ）と、セットアップ変更後のパネル編集データ３００（＃ｙ）とを参照し、操作パネル１１０の８つのフェーダ１１１（１）〜１１１（８）のそれぞれについて、次のステップＳ４１３〜ステップＳ４１５の処理を繰り返し実行する。
【００４７】
すなわち、ＣＰＵ１３０は、先ず、セットアップ変更後（今回ユーザから指定された新たなセットアップ状態）のパネル編集データ３００（＃ｙ）に設定されている対象フェーダ１１１（ｎ）へのアサイン情報（ＣＣ_ｎｅｗ）と、セットアップ変更前（以前のセットアップ状態）のパネル編集データ３００（＃ｘ）に設定されている対象フェーダ１１１（ｎ）へのアサイン情報（ＣＣ_ｏｌｄ）とが同じであるか否かを判別する（ステップＳ４１３）。
ここでのアサイン情報とは、対象フェーダ１１１（ｎ）に対して、パネル編集データ（コントロール・チェンジ）によって定義（アサイン）されたコントロール番号（ＣＣ＃）を示す。
【００４８】
具体的には例えば、対象フェーダ１１１（ｎ）が、フェーダ１１１（１）である場合で、セットアップ変更前のパネル編集データ３００（＃ｘ）が、パネル編集データ３００（＃１）である場合、上記図４に示すように、フェーダ１１１（１）（Ｆａｄｅｒ１）のアサイン情報（ＣＣ_ｏｌｄ）は、“ｃｃ６４”である。したがって、ステップＳ４１３では、この“ｃｃ６４”と、これと同様にして得られる、セットアップ変更後のパネル編集データ３００（＃ｙ）に設定されているフェーダ１１１（１）へのアサイン情報（ＣＣ_ｎｅｗ）との比較が行なわれる。
【００４９】
ステップＳ４１３の判別の結果、対象フェーダ１１１（ｎ）の変更後のアサイン情報（ＣＣ_ｎｅｗ）と、対象フェーダ１１１（ｎ）の変更前のアサイン情報（ＣＣ_ｏｌｄ）とが同じ情報である場合、ＣＰＵ１３０は、ステップＳ４１４及びステップＳ４１５の処理を実行せずに、操作パネル１１０の全てのフェーダ１１１（１）〜１１１（８）のそれぞれについて、ステップＳ４１３〜ステップＳ４１５の処理を実行し終えたか否かを判別し（ステップＳ４１６）、この判別の結果、処理終了の場合のみ、本処理終了とし、そうでない場合には、次のフェーダ１１１（ｎ＋１）の処理を実行するために、再びステップＳ４１３へ戻り、以降の処理ステップを繰り返し実行する。
【００５０】
一方、ステップＳ４１３の判別の結果、対象フェーダ１１１（ｎ）の変更後のアサイン情報（ＣＣ_ｎｅｗ）と、対象フェーダ１１１（ｎ）の変更前のアサイン情報（ＣＣ_ｏｌｄ）とが同じ情報でない場合、ＣＰＵ１３０は、対象フェーダ１１１（ｎ）の変更前のアサイン情報（ＣＣ_ｏｌｄ）に対する処理（ＣＣ_ｏｌｄのＥＮＤ処理）を実行した後（ステップＳ４１４）、対象フェーダ１１１（ｎ）の変更後のアサイン情報（ＣＣ_ｎｅｗ）に対する処理（ＣＣ_ｎｅｗのＮＥＷ処理）を実行する（ステップＳ４１５）。
【００５１】
そして、ＣＰＵ１３０は、操作パネル１１０の全てのフェーダ１１１（１）〜１１１（８）のそれぞれについて、ステップＳ４１３〜ステップＳ４１５の処理を実行し終えたか否かを判別し（ステップＳ４１６）、この判別の結果、処理終了の場合のみ、本処理終了とし、そうでない場合には、次のフェーダ１１１（ｎ＋１）の処理を実行するために、再びステップＳ４１３へ戻り、以降の処理ステップを繰り返し実行する。
【００５２】
[ＣＣ_ｏｌｄのＥＮＤ処理（ステップＳ４１４）]：図７参照
先ず、ＣＰＵ１３０は、ＲＡＭ１５０に格納されているコントロールチェンジ対応テンプレートデータ２００において（上記図３参照）、対象フェーダ１１１（ｎ）のセットアップ変更前のアサイン情報（ＣＣ_ｏｌｄ）に対応するＥＮＤ用項目のｅｎｄ項目の内容を取得する（ステップＳ４２１）。
【００５３】
具体的には例えば、対象フェーダ１１１（ｎ）がフェーダ１１１（１）である場合で、セットアップ変更前のパネル編集データ３００（＃ｘ）により、フェーダ１１１（１）のアサイン情報（ＣＣ_ｏｌｄ）が“ｃｃ６４”である場合、これに対応するＥＮＤ用項目のｅｎｄ項目の内容は、上記図３では“Ｄｆ”であるため、ステップＳ４２１では当該“Ｄｆ”が取得される。
【００５４】
そして、ＣＰＵ１３０は、ステップＳ４２１で取得した項目内容が、デフォルト値出力（Ｄｆ）であるか否かを判別する（ステップＳ４２２）。
【００５５】
ステップＳ４２２の判別の結果、デフォルト値出力（Ｄｆ）に設定されていた場合、ＣＰＵ１３０は、コントロールチェンジ対応テンプレートデータ２００において、当該設定項目に対応する値項目に設定されたデフォルト値を取得し、アサイン情報（ＣＣ_ｏｌｄ）により示されるエフェクトを当該デフォルト値とするためのコントロール・チェンジを含むＭＩＤＩデータを生成する（ステップＳ４２３）。
【００５６】
具体的には例えば、対象フェーダ１１１（ｎ）がフェーダ１１１（１）である場合で、セットアップ変更前のパネル編集データ３００（＃ｘ）により、フェーダ１１１（１）のアサイン情報（ＣＣ_ｏｌｄ）が“ｃｃ６４”である場合、これに対応するＥＮＤ用項目のｅｎｄ項目の内容は、上記図３では“Ｄｆ”である。また、これに対する値項目には“０”が設定されている。このような場合、ステップＳ４２３では、“ｃｃ６４”により示されるエフェクト（“ｈｏｌｄ”）を“０”とするコントロール・チェンジを含むＭＩＤＩデータが生成される。
【００５７】
上述のようにして生成されたＭＩＤＩデータは、ＭＩＤＩインターフェース１２０を介して外部の音源２００（ｘ）（又は、音源制御装置１００内の音源モジュール１８０）に供給される。
その後、本処理終了となる。
【００５８】
したがって、例えば、現在のコントロール・チェンジによるセットアップでは、フェーダ１１１（１）に対して音量コントロールのエフェクトがアサインされており、このセットアップ状態において、ユーザからフェーダ１１１（１）の操作により音量ゼロに設定され、その後、新たなコントロール・チェンジによるセットアップの変更が行なわれ、当該新たなコントロール・チェンジでは、フェーダ１１１（１）に対してパンポットのエフェクトがアサインされていた場合であっても、セットアップ変更後、以前の状態である音量ゼロの状態ではなく、コントロールチェンジ対応テンプレートデータ２００に設定された所望の音量での出力が可能となる。
【００５９】
一方、ステップＳ４２２の判別の結果、デフォルト値出力（Ｄｆ）に設定されていない場合、ＣＰＵ１３０は、そのまま本処理終了とする。
【００６０】
[ＣＣ_ｏｌｄのＮＥＷ処理（ステップＳ４１５）]：図８参照
先ず、ＣＰＵ１３０は、ＲＡＭ１５０に格納されているコントロールチェンジ対応テンプレートデータ２００において（上記図３参照）、対象フェーダ１１１（ｎ）の変更後のアサイン情報（ＣＣ_ｎｅｗ）に対応するＮＥＷ用項目のｎｅｗ項目の内容を取得し（ステップＳ４３１）、この項目内容が、デフォルト値出力（Ｄｆ）であるか否かを判別する（ステップＳ４３２）。
【００６１】
ステップＳ４３２の判別の結果、デフォルト値出力（Ｄｆ）に設定されていた場合、ＣＰＵ１３０は、コントロールチェンジ対応テンプレートデータ２００においてにおいて、当該設定項目に対応する値項目に設定されたデフォルト値を取得し、アサイン情報（ＣＣ_ｎｅｗ）により示されるエフェクトを当該デフォルト値とするためのコントロール・チェンジを含むＭＩＤＩデータを生成する（ステップＳ４３３）。
ここで生成されたＭＩＤＩデータは、ＭＩＤＩインターフェース１２０を介して外部の音源２００（ｘ）（又は、音源制御装置１００内の音源モジュール１８０）に供給される。
その後、本処理終了となる。
【００６２】
ステップＳ４３２の判別の結果、デフォルト値出力（Ｄｆ）に設定されていない場合、ＣＰＵ１３０は、上記のｎｅｗ項目の内容が、設定値出力（Ｓｅｔ）であるか否かを判別する（ステップＳ４３４）。
【００６３】
ステップＳ４３４の判別の結果、設定値出力（Ｓｅｔ）に設定されていた場合、ＣＰＵ１３０は、コントロールチェンジ対応テンプレートデータ２００においてにおいて、当該設定項目に対応する値項目に設定された設定値を取得し、アサイン情報（ＣＣ_ｎｅｗ）により示されるエフェクトを当該設定値とするためのコントロール・チェンジを含むＭＩＤＩデータを生成する（ステップＳ４３５）。
ここで生成されたＭＩＤＩデータは、ＭＩＤＩインターフェース１２０を介して外部の音源２００（ｘ）（又は、音源制御装置１００内の音源モジュール１８０）に供給される。
その後、本処理終了となる。
【００６４】
一方、ステップＳ４３４の判別の結果、設定値出力（Ｓｅｔ）に設定されていない場合、ＣＰＵ１３０は、そのまま本処理終了とする。
【００６５】
[Ａ／Ｄ処理（ステップＳ４０２）]：図９参照
先ず、ＣＰＵ１３０は、必要に応じて該当する処理（他の処理）を実行し（ステップＳ４４１）、操作パネル１１０のフェーダ１１１（１）〜１１１（８）のそれぞれについて、次のステップＳ４４２からの処理を繰り返し実行する。
【００６６】
すなわち、ＣＰＵ１３０は、対象フェーダ１１１（ｎ）が操作されたか否か（変化があったか否か）を判別する（ステップＳ４４２）。
【００６７】
ステップＳ４４２の判別の結果、対象フェーダ１１１（ｎ）が変化無しの場合、ＣＰＵ１３０は、ステップＳ４４３及びステップＳ４４４の処理は実行せずに、全てのフェーダ１１１（１）〜１１１（８）について、ステップＳ４４２〜ステップＳ４４４の処理を実行し終えたか否かを判別し（ステップＳ４４５）、この判別の結果、処理終了の場合のみ、本処理終了とし、そうでない場合には、次のフェーダ１１１（ｎ＋１）の処理を実行するために、再びステップＳ４４２へ戻り、以降の処理ステップを繰り返し実行する。
【００６８】
ステップＳ４４２の判別の結果、対象フェーダ１１１（ｎ）が変化有りの場合、ＣＰＵ１３０は、対象フェーダ１１１（ｎ）に対する処理（ＭＩＤＩ処理）を実行し（ステップＳ４４３）、必要に応じて該当する処理（他の処理）を実行する（ステップＳ４４４）。
【００６９】
その後、ＣＰＵ１３０は、全てのフェーダ１１１（１）〜１１１（８）について、ステップＳ４４２〜ステップＳ４４４の処理を実行し終えたか否かを判別し（ステップＳ４４５）、この判別の結果、処理終了の場合のみ、本処理終了とし、そうでない場合には、次のフェーダ１１１（ｎ＋１）の処理を実行するために、再びステップＳ４４２へ戻り、以降の処理ステップを繰り返し実行する。
【００７０】
[対象フェーダ１１１（ｎ）に対するＭＩＤＩ処理（ステップＳ４４３）]：図１０参照
先ず、ＣＰＵ１３０は、対象フェーダ１１１（ｎ）の操作量をディジタル化して、そのディジタル値を、ＲＡＭ１５０のワークエリア（ここでは、“Ａ”とする）へ一旦格納する（ステップＳ４５１）。
【００７１】
次に、ＣＰＵ１３０は、対象フェーダ１１１（ｎ）が、“０”〜“１２７”等のボリューム値をとるタイプ（ボリュームタイプ）のものであるか否かを判別する（ステップＳ４５２）。
この判別の結果、対象フェーダ１１１（ｎ）がボリュームタイプである場合、ＣＰＵ１３０は、そのまま後述するステップＳ４５８からの処理を実行する。
【００７２】
ステップＳ４５２の判別の結果、対象フェーダ１１１（ｎ）がボリュームタイプでない場合、ＣＰＵ１３０は、 “−５０”〜“０”〜“＋５０”等の相対値をとるタイプ（相対値タイプ）のものであるか否かを判別する（ステップＳ４５３）。
【００７３】
ステップＳ４５２の判別の結果、対象フェーダ１１１（ｎ）が相対値タイプである場合、ＣＰＵ１３０は、ステップＳ４５１で一旦保持したエリアＡ内の値から“６４”差し引き、その結果で、エリアＡ内の値を更新する（ステップＳ４５７）。これは、対象フェーダ１１１（ｎ）が相対値タイプのものである場合、その操作量に対する値（エリアＡ内の値）の６ビット目が、“＋”又は“−”を示すためである。
その後、ＣＰＵ１３０は、後述するステップＳ４５８からの処理を実行する。
【００７４】
ステップＳ４５２の判別の結果、対象フェーダ１１１（ｎ）が相対値タイプでない場合、ＣＰＵ１３０は、対象フェーダ１１１（ｎ）はＯＮ／ＯＦＦ値をとるタイプ（スイッチタイプ）のものであると認識し、対象フェーダ１１１（ｎ）のＯＮ／ＯＦＦ変化を判別する（ステップＳ４５４、ステップＳ４５５）。
【００７５】
具体的には、対象フェーダ１１１（ｎ）がスイッチタイプの場合、その操作に対する値（エリアＡ内の値）の６ビット目が、ＯＮ／ＯＦＦを示す。このため、以前の対象フェーダ１１１（ｎ）の状態が格納されているＲＡＭ１５０のワークエリアＡ_ｏｌｄ内の値の６ビット目（Ａ_ｏｌｄ．６）と、現在の対象フェーダ１１１（ｎ）の状態が格納されているエリアＡ内の値の６ビット目（Ａ．６）との排他的論理和（ｅｘｃｌｕｓｉｖ）をとり（ステップＳ４５４）、その結果により、対象フェーダ１１１（ｎ）のＯＮ／ＯＦＦ変化を判別する（ステップＳ４５４、ステップＳ４５５）。
【００７６】
ステップＳ４５５の判別の結果、対象フェーダ１１１（ｎ）のＯＮ／ＯＦＦ変化有りの場合、ＣＰＵ１３０は、エリアＡ_ｏｌｄに対して、エリアＡ内の値を格納し（ステップＳ４５６）、後述するＳ４５８からの処理を実行する。
【００７７】
一方、ステップＳ４５５の判別の結果、対象フェーダ１１１（ｎ）のＯＮ／ＯＦＦ変化無しの場合、ＣＰＵ１３０は、そのまま本処理終了とする。
【００７８】
ステップＳ４５８からの処理としては、ＣＰＵ１３０は、ＭＩＤＩインターフェース１２０の接続先の音源２００（ｘ）（又は、音源制御装置１００の音源モジュール１８０）に対して、所定のコマンドを出力し（ステップ４５８）、対象フェーダ１１１（ｎ）にアサインされているエフェクトを示す情報（ＣＣ＃）を出力し（ステップＳ４５９）、そして、エリアＡ内の値（操作量に対応する値）を出力する（ステップＳ４６０）。
その後、ＣＰＵ１３０は、本処理終了とする。
【００７９】
尚、本実施の形態における音源制御装置１００において、例えば、操作パネル１１０に機能選択スイッチを設け、当該機能選択スイッチのユーザから操作に基づいて、上述した本実施の形態によるセットアップ機能を実施するか、或いは従来通りのセットアップ機能を実施するかを、任意に選択可能なように構成してもよい。
【００８０】
また、本実施の形態では、音源２００（ｘ）との間の演奏情報転送を、ＭＩＤＩに従ったものとしているが、これに限られることはなく、様々な情報転送の規格を適用可能である。
【００８１】
また、本発明の目的は、本実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、ＲＯＭ、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、本実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
【発明の効果】
以上説明したように本発明では、複数のセットアップパターン毎の制御情報（ＭＩＤＩデータにおけるコントロール・チェンジ等の情報）の中から、ユーザからの指示等に応じた制御情報に基づいて、音源での演奏情報（ＭＩＤＩデータ等）に基づいた発音制御のための、操作手段への効果のアサイン（任意のフェーダへの音量制御やパンポットの割り当て等）を含むセットアップの変更を行う際、操作手段に割り当て可能な効果のそれぞれについて、予め定義したセットアップ変更時の理想的な効果の状態（例えば、音量コントロールであればセットアップ変更時の適切な音量値）等に関する情報、以前のセットアップ状態での制御情報（第１の制御情報）、及び今回のセットアップ状態での制御情報（第２の制御情報）に基づいて、音源での発音の元となる演奏情報を生成するように構成した。
【００８３】
上記の構成により、例えば、現在のセットアップでは、操作手段に対して音量コントロール（第１の効果）がアサインされており、このセットアップ状態において、ユーザから操作手段の操作により音量ゼロに設定され、その後、セットアップの変更が行なわれ、当該変更後には、操作手段に対してパンポット（第２の効果）がアサインされていた場合であっても、セットアップ変更後、以前の状態である音量ゼロの状態ではなく、適切な音量値での演奏を実現できる演奏情報を生成することができる。
【００８４】
したがって、本発明によれば、セットアップ変更が行なわれた場合等であっても、常に良好な所望する演奏が行なえるようになる。
【図面の簡単な説明】
【図１】本発明を適用した音源制御装置の構成を示すブロック図である。
【図２】上記音源制御装置の操作パネルの構成を説明するための図である。
【図３】上記音源制御装置のＲＡＭのコントロールチェンジ対応テンプレートデータを説明するための図である。
【図４】上記音源制御装置のＲＡＭのセットアップ対応テンプレートデータを説明するための図である。
【図５】上記音源制御装置のメイン処理を説明するためのフローチャートである。
【図６】上記メイン処理のパネル処理を説明するためのフローチャートである。
【図７】上記パネル処理のＣＣ＿ｏｌｄのＥｎｄ処理を説明するためのフローチャートである。
【図８】上記パネル処理のＣＣ＿ｎｅｗのＮＥＷ処理を説明するためのフローチャートである。
【図９】上記メイン処理のＡ／Ｄ処理を説明するためのフローチャートである。
【図１０】上記Ａ／Ｄ処理の対象フェーダに対するＭＩＤＩ処理を説明するためのフローチャートである。
【符号の説明】
１００  音源制御装置
１１０  操作パネル
１２０  ＭＩＤＩインターフェース
１３０  ＣＰＵ
１４０  ＲＯＭ
１４１  プログラム用ＲＯＭ
１４２  パラメータ用ＲＯＭ
１５０  ＲＡＭ
１６０  バス
２００  音源
２０１  操作パネル
【図１】
0004279997.tif 000002
【図２】
0004279997.tif 000003
【図３】
0004279997.tif 000004
【図４】
0004279997.tif 000005
【図５】
0004279997.tif 000006
【図６】
0004279997.tif 000007
【図７】
0004279997.tif 000008
【図８】
0004279997.tif 000009
【図９】
0004279997.tif 000010
【図１０】
0004279997.tif 000011