JP3839904B2 - 楽音パラメータ設定装置 - Google Patents
楽音パラメータ設定装置 Download PDFInfo
- Publication number
- JP3839904B2 JP3839904B2 JP13265697A JP13265697A JP3839904B2 JP 3839904 B2 JP3839904 B2 JP 3839904B2 JP 13265697 A JP13265697 A JP 13265697A JP 13265697 A JP13265697 A JP 13265697A JP 3839904 B2 JP3839904 B2 JP 3839904B2
- Authority
- JP
- Japan
- Prior art keywords
- plug
- board
- motherboard
- parameter
- tone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、電子楽器に用いて好適な楽音パラメータ設定装置に関する。
【0002】
【従来の技術】
従来より、本体のマザーボードに各種のプラグインボードを装着できる電子楽器が知られている。また、パーソナルコンピュータ等においても、同様にマザーボードに各種のプラグインボードを装着することができる。パーソナルコンピュータにおいては、プラグインボードを挿入した後、このプラグインボードを動作させるためのソフトウエアをCD−ROMあるいはフロッピーディスク等からインストールすることが一般的である。
【0003】
【発明が解決しようとする課題】
ところで、電子楽器においてもパーソナルコンピュータと同様にCD−ROMドライブやフロッピーディスクドライブ等の補助記憶装置を設けることは可能であるが、コストアップになるために設けられていない場合も多い。従って、電子楽器本体の設計時に想定していない機能を有するプラグインボードが開発された場合に、このプラグインボードの能力を充分に発揮させることが困難になるという問題があった。
この発明は上述した事情に鑑みてなされたものであり、プラグインボードの能力を充分に発揮できる技術を提供することを目的としている。
【0005】
【課題を解決するための手段】
上記課題を解決するため請求項1記載の構成にあっては、楽音パラメータの名称および値を表示する表示手段と、楽音パラメータの増加または減少を指示するパラメータ編集操作子と、楽音パラメータの現在値を記憶し、前記パラメータ編集操作子が操作されるとその操作情報に基づいて前記現在値を修正するとともにこの楽音パラメータの名称および修正後の値を前記表示手段に表示させる一方、前記操作情報を出力する第1の制御回路と、前記第1の制御回路の楽音パラメータと共通する楽音パラメータの現在値を記憶し、前記第1の制御回路から出力された前記操作情報に基づいて、当該記憶した現在値を修正する第2の制御回路とを具備することを特徴とする。
【0006】
さらに、請求項2記載の構成にあっては、請求項1記載の楽音パラメータ設定装置において、前記第1の制御回路は楽音合成装置の本体に設けられるものであり、前記第2の制御回路は該本体に対して着脱自在に構成された増設ボードに設けられるものであることを特徴とする。
【0010】
【発明の実施の形態】
1.実施形態の概要
1.1.プラグインボード特有のパラメータの編集
次に、本実施形態の電子楽器の概要を図6〜図8を参照し説明する。
図6は、プラグインボード特有のパラメータを編集する場合の概略フローチャートを示す。なお、ここに言う「パラメータ」とは、音色やエフェクトを設定するためのパラメータであり、その内容はプラグインボードの種別に応じて異なる。なお、図の左側のフローはマザーボード上のCPUが実行する処理を示し、右側のフローはプラグインボード上のCPUが実行する処理を表している。
【0011】
図において処理がステップSP101に進むと、マザーボードにおいて対象となるプラグインボードが選択される。すなわち、本実施形態では複数枚数のプラグインボードを装着可能であり、そのうちのどのプラグインボードと通信を行うのかを指定する必要がある。ここでは、ユーザのパネルスイッチの操作等に応じて、一つのプラグインボードが選択される。次に、ステップSP102において、設定すべきパラメータを特定するアドレス情報およびモデルIDがマザーボードからプラグインボードに送信される。プラグインボードにおいては、ステップSP201においてこのアドレス情報等が受信され、ステップSP202において、指定されたパラメータの現在値がマザーボードに送信される。
【0012】
マザーボードにおいて該現在値が受信されると(ステップSP103)、本体の表示装置に該パラメータの名称と現在値とが表示される(ステップSP104)。次に、ユーザによって、該パラメータのインクリメント/デクリメントが指定される。具体的には、ユーザが上記表示値を見て、電子楽器のパネル上のインクリメント/デクリメントキーを操作したことを想定していおり、本処理ではその操作が検出される。この指定が検出されると、マザーボードからプラグインボードに対して、インクリメント/デクリメントの指示が送信される(ステップSP106)。
【0013】
次に、プラグインボードのステップSP203においてこの指示が受信されると、処理がステップSP204に進み、プラグインボード内で上記指示に従って、現在値の更新が行われる。その際、必要に応じてパラメータの値にリミット処理が行われるが、この処理の内容はプラグインボードのみが認識していれば足りる。
【0014】
現在値が更新されると、処理はステップSP205に進み、更新結果がマザーボードに送信される。マザーボードにおいては、ステップSP107においてこの更新結果が受信され、ステップSP108において、ユーザに対して更新結果が表示される。この一連のフローでは、プラグインボード特有のいかなるパラメータであっても、電子楽器のパネル上の表示器で値を表示することができ、かつ、パネル上のスイッチの操作により設定値のエディットを行うことが可能である。
【0015】
1.2.プラグインボード、マザーボード共通データのパラメータの編集
次に、プラグインボードおよびマザーボードで共用されているパラメータの編集処理の概要を、図7を参照し説明する。まず、ステップSP111においては、マザーボードによってユーザによるエディット指示が検出される。ここで、ユーザによるエディット指示は、パネル上のエディット関連のスイッチを操作することによって行われる。次に、処理がステップSP112に進むと、該エディット指示に基づいてパラメータの値が更新され表示される。
【0016】
次に、処理がステップSP113に進むと、更新されたパラメータのアドレス情報、モデルIDおよび設定値がプラグインボードに送信される。プラグインボードにおいては、ステップSP211においてアドレス情報、モデルIDおよび設定値を受信すると、これらに基づいて、内部で記憶している設定値が更新される(ステップSP212)。
以上のように、このフローによれば、マザーボードとプラグインボードとが共通に備えるパラメータについて、電子楽器パネル上の操作子を操作することにより同時にエディットすることができる。
【0017】
1.3.プラグインボードの音色セレクト
次に、プラグインボードが音源である場合に、その音色選択を行う処理の概要を図8を参照し説明する。
図において処理がステップSP121に進むと、マザーボードにおいて対象となるプラグインボードが選択される。次に、ステップSP122において、マザーボードからプラグインボードに対して音色マップ(どの音色をサポートしているかを示すマップ)の要求が送信される。
【0018】
プラグインボードにおいては、ステップSP221においてこの要求が受信され、ステップSP222においてマザーボードに音色マップが送信される。マザーボードにおいては、ステップSP123において該音色マップが受信され、ステップSP124において、どの音色を使用するかが指定される。すなわち、ユーザによるパネルのスイッチの操作が検出され、それに応じて受信した音色マップに含まれる複数音色のうちどの音色を使用するかが指定される。次に、処理がステップSP125に進むと、選択された音色の音色名の要求がプラグインボードに送信される。
【0019】
プラグインボードにおいては、ステップSP223において該要求が受信されると、ステップSP224において該音色名を表すアスキーデータがマザーボードに送信される。一方、マザーボードにおいてはステップSP126において該アスキーデータが受信され、ステップSP127において該アスキーデータがディスプレイに表示される。
【0020】
また、音色を切換える必要がある場合、マザーボードにおいてプログラムチェンジおよびバンクセレクトと称する信号が発行される(ステップSP128)。これらの信号はステップSP129においてプラグインボードに送信される。そして、プラグインボードにおいては、ステップSP225においてこれらの信号を受信し、ステップSP226において指示された音色に切換えられる。
【0021】
この一連のフローでは、プラグインボードの有している音色について、電子楽器のパネルの操作子で効率的に選択できるとともに、パネルの表示器で選択した音色の音色名を表示することができる。また、このフローでは、最終的に音色の切換えをプログラムチェンジとバンクセレクトの信号によって行っている。これにより、外部から入力されるMIDI信号と同一の形態で選択を行うことができ、パネルにおける選択と外部からの選択との統一性を保つことができる。
【0022】
なお、以上の手順は音色を選択する場合に限られず、プラグインボードの有している全てのエフェクトデータ、波形データ、リズムデータ、自動演奏データ等の音楽データで選択を行う場合に広く適用することができる。
【0023】
2.実施形態のハードウエア構成
2.1.全体構成
次に、本実施形態の電子楽器の構成を図1を参照し説明する。図において100はマザーボードであり、191〜199はマザーボード100に対して着脱自在のプラグインボードである。マザーボード100の内部においてCPU101はROM102に格納された制御プログラムに基づいて各部の制御を行う。103はRAMであり、CPU101のワークメモリやデータメモリとして用いられる。プラグインボード191〜199は、それぞれにCPU、RAM、ROM等を具備し、マザーボード100のCPU101とは独立に動作しつつ各種のデータを交換する。
【0024】
108は楽音発生器であり、CPU101から供給された演奏情報に基づいて楽音信号を合成する。104はDSPであり、複数チャンネルの楽音信号に対してフィルタリング等の処理を施す。110はアナログ入力端子であり、ここから入力された音声信号はA/Dコンバータ109を介してデジタル信号に変換される。121〜129はコネクタであり、ここにプラグインボード191〜199のコネクタ部と嵌合する。
【0025】
107はシリアルIOポートであり、供給されたパラレル信号をシリアル信号に変換してコネクタ121〜129に供給するとともに、コネクタ121〜129あるいはA/Dコンバータ109を介して受信したシリアル信号をパラレル信号に変換する。106はミキサであり、供給された各種楽音信号をミキシングする。なお、このミキサ106は、時分割複数チャンネル動作によって、出力の供給先毎に異なる混合比のミキシングを行うものである。
【0026】
ここで、ミキシングの対象となる楽音信号は、楽音発生器108で生成された楽音信号、DSP104で処理された楽音信号、シリアルIOポート107を介して供給された楽音信号である。また、ミキシング結果は、シリアルIOポート107またはDSP104に供給される。DSP104は複数チャンネルの楽音信号を処理することが可能であり、そのうちの2チャンネルは外部への出力チャンネルになっている。
【0027】
すなわち、該出力チャンネルに供給された楽音信号は、フィルタリング処理が施された後、D/Aコンバータ105を介してアナログ信号に変換され、サウンドシステム200を介して発音されることになる。
【0028】
次に、111はタイマであり、CPU101に対してタイマ割り込みを発生させる。170はディスクドライブであり、バス115、IOポート112を介して供給されたデータをディスク180に記録するとともに、ディスク180に記録されたデータを読出してIOポート112、バス115を介してCPU101、RAM103等に出力する。
【0029】
160はパネル表示器であり、IOポート113を介して供給されたデータを表示する。また、150はパネルスイッチであり、ユーザによって操作可能な各種の操作子が設けられている。例えば、ここには、「0」〜「9」の数値を入力するテンキーボード、入力された数値を確定させるエンターキー、カーソルを上下左右方向に移動させるカーソルキー、パネル表示器160の画面をスクロールさせるスクロールキー、各種パラメータのインクリメントおよびデクリメントを指定するインクリメント/デクリメントキー等が設けられている。これら操作子の操作イベントや操作量はIOポート114、バス115を介してCPU101に通知される。
【0030】
次に、118はMIDI入力端子であり、外部MIDI機器(シーケンサ、キーボード等)からMIDI信号を受信する。117はフォトカプラであり、MIDI入力端子118とマザーボード100内の回路を電気的に絶縁する。フォトカプラ117から出力される入力MIDI信号は、シリアルIOポート116を介してCPU101に供給されるとともに、コネクタ121〜129を介してプラグインボード191〜199にも直接供給される。すなわち、マザーボード100とプラグインボード191に対して同一のMIDI信号が同一のタイミングで供給されることになる。
【0031】
ここに本実施形態の特徴の一つがある。すなわち、本実施形態においては、CPU101を介さずにMIDI信号をプラグインボード191〜199に供給するため、プラグインボード191〜199に対してMIDI信号の供給が遅れることを未然に防止することができる。換言すれば、入力されたMIDI信号はマザーボード100、プラグインボード191〜199の双方に供給され、双方のCPUにおいて予め設定された動作が各々行われることになる。例えば、プラグインボード191でサポートされている音色がセレクトされた場合は、プラグインボード191側では独自の判断によって楽音合成が行われ、マザーボード100側では独自の判断で楽音合成が禁止されるのである。
【0032】
120はドライバであり、バス115、シリアルIOポート116を介してCPU101から供給されたMIDI信号を増幅しMIDI出力端子119を介して出力する。なお、プラグインボード191〜199によって生成されたMIDI信号を外部に出力する必要がある場合は、該MIDI信号はシリアルIOポート116を介してCPU101に供給される。CPU101においては、マザーボード100で生成されたMIDI信号と、プラグインボード191〜199で生成されたMIDI信号とが、タイミング調整後にマージされ、マージされたMIDI信号がシリアルIOポート116、ドライバ120を介して出力されることになる。
【0033】
2.2.チャンネル構成
次に、本実施形態のチャンネル構成を図2を参照し説明する。
上述した楽音発生器108は、「16」パート(パートは「1」MIDIチャンネルに相当する)、「64」発音チャンネルの楽音信号を発生するものであり、ミキサ106は多数の入力および出力チャンネルを有するデジタルミキサである。ミキサ106は、プラグインボード191〜199に対して、入力「2」チャンネルおよび出力「2」チャンネルを各々割り当てており、A/Dコンバータ109に対して入力「2」チャンネルを割り当てている。
【0034】
さらに、ミキサ106は、DSP104に対する入力および出力として、各々「16」チャンネルを割り当てている。この出力チャンネルのうち「2」チャンネルは外部への出力チャンネルになており、該出力チャンネルに係る楽音信号は、DSP104を介してフィルタリング処理等が行われた後、D/Aコンバータ105に供給される。
【0035】
2.3.楽音信号のシグナルフロー
ミキサ106、DSP104、楽音発生器108、プラグインボード191〜199およびA/Dコンバータ109相互間における楽音信号の流れは、ミキサ106のセット状態とDSP104に対するマイクロプログラムとによって決定されるが、このような図3に示すようなシグナルフローとして表現することができる。
【0036】
図3において201、203は楽音発生器108における第1パートおよび第3パートであり、第2パート202は物理モデル音源のプラグインボードによって実現されている。211はA/Dパートであり、A/Dコンバータ109によって実現される。
【0037】
209はインサーションエフェクトであり、第1パートの楽音信号に対して各種の効果を付与する。なお、インサーションエフェクトとは、楽音信号の「1」パートに対して適用されるエフェクトをいう。210はインサーションエフェクトの一種であるハモリ効果部であり、プラグインボード(ハモリボード等)によって実現される。ここでハモリ効果とは、入力される波形あるいは波形データに対して、それと所定の音程関係にある楽音を付加し、ハモリの効果を生じさせるものである。
【0038】
204〜208はミキサ部であり、ミキサ106によって実現されている。212はコーラス効果部、213はリバーブ部であり、各々ミキサ部206、207のミキシング結果に対してコーラス効果およびリバーブ効果を付与する。ミキサ部208のミキシング結果は、外部への出力チャンネルになっており、イコライザ214を介してイコライジング処理が施された後、D/Aコンバータ105に供給される。
【0039】
上記インサーションエフェクト209、コーラス効果部212、リバーブ部213およびイコライザ214は、DSP104の時分割処理によって実現される。このうちコーラス効果部212、リバーブ部213およびイコライザ214は、複数パートの楽音信号のミキシング結果に対して効果を付与するものである。これらをシステム・エフェクトという。また、ミキサ部206〜208、254のように複数パートの入力が可能なミキサを「グループ」という。
【0040】
次に、他のシグナルフローを図4に示す。図において252は楽音発生器108の第2パートであり、253は楽音発生器108に対して独立して設けられた16パート音源である。255は3次元定位効果部であり、ミキサ部208のミキシング結果に対して3次元定位効果を施す。
【0041】
また、254は、第1パート201〜A/Dパート211、16パート音源253、3次元定位効果部255等の楽音信号を合成するミキサ部である。そして、これらのうちミキサ部254はミキサ106によって実現され、16パート音源253および3次元定位効果部255はプラグインボードによって実現される。
【0042】
2.4.プラグインボードの種類
プラグインボード191〜199には、下記の4種類がある。
(1)シングルパート音源
シングルパート音源は、上記第2パート202のように音源部が単一のパートによって構成されるものである。すなわち、MIDIでは「16チャンネル」のMIDIチャンネルに基づく演奏データを送信可能であるが、シングルパート音源はそのうち何れか一つのMIDIチャンネルの演奏だけに応答して楽音を生成する音源である。シングルパート音源から出力される楽音信号は、楽音発生器108の各パートと同様に扱われ、DSP104における各種エフェクトを使用することができる。
【0043】
(2)マルチパート音源
マルチパート音源は、上記16パート音源253のように複数パートの音源を有し、各パートの楽音信号をミキシングした状態で出力するものである。マルチパート音源は、上記「16チャンネル」のMIDIチャンネルのうち、複数のMIDIチャンネルの入力に応じて、対応する複数パートの楽音を生成する音源である。所謂、GM(ジェネラルMIDI)音源もマルチパート音源の一つである。
【0044】
(3)インサーションエフェクト
インサーションエフェクトは、上述したように楽音信号の「1」パートに対して適用されるエフェクトをいい、ハモリ効果部210を実現するプラグインボードがこれに該当する。
【0045】
(4)システム・エフェクト
システム・エフェクトは、上述したように、複数パートの楽音信号のミキシング結果に対して効果を付与するものであり、3次元定位効果部255を実現するプラグインボードがこれに該当する。他に、リバーブ等の一般のエフェクトを付与するシステム・エフェクトもある。
【0046】
3.実施形態のプロトコル
3.1.音色マッピング
本実施形態においてはXG規格の音色マッピングが採用されている。XG規格においては、音色は「8」バイトのバンク・セレクトMSB、「8」バイトのバンク・セレクトLSBおよび「8」バイトのプログラムチェンジによって表現される。
【0047】
ここで、バンク・セレクトMSBについて、「0」はメロディ音色、「64」はSFX音色、「126」はSFXキット、「127」はドラムボイスに割り当てられている(その他の値については現在のところ使用禁止である)。また、メロディ音色でバンク・セレクトLSB=「0」におけるプログラムチェンジは、GM規格のプログラムチェンジと互換性があり、「128」種類の基本音色「Acoustic Grand Piano」, 「Bright Acoustic Piano」, ……,「銃声」が割り当てられている。
【0048】
また、バンク・セレクトLSBによって、これら基本音色のバリエーションがマッピングされる。すなわち、バンク・セレクトLSBが「0」の場合は基本音色、「1」〜「127」の場合はそのバリエーションになる。このように、XG規格においては、最大「4×128×128=65536」種類の音色をマッピングすることができる。
【0049】
3.2.音色選択の一般的方法
次に、XG規格においてバンク・セレクトLSBおよびプログラムチェンジに基づく音色選択の一般的方法について説明する。ここでは、一例として、プログラムチェンジが「17」(ドローバー・オルガン)であって、バンク・セレクトLSBとして「0」(基本音色)、「1」および「2」(バリエーション)がマッピングされている場合を想定する。
【0050】
ここで、バンク・セレクトLSBが指定されずにプログラムチェンジ「17」のみが指定された場合は、GM規格との互換性を確保するために、「0」(基本音色)が選択される。また、バンク・セレクトLSBとして「0」、「1」または「2」が指定された場合は、当然に該バンク・セレクトLSBに対応する音色が選択されることになる。また、マッピングされていないバンク・セレクトLSB(例えば「3」)が指定された場合は、「0」(基本音色)が選択される。
【0051】
次に、基本音色「0」がマッピングされておらず、バリエーション「1」、「2」のみがマッピングされている場合を想定する。かかる場合には、「1」または「2」のバンク・セレクトLSBが指定された場合は、対応するバリエーションの音色が選択される。しかし、プログラムチェンジのみが指定された場合、あるいは「1」または「2」以外のバンク・セレクトLSBが指定された場合は、バリエーション「1」または「2」のうち一方が選択されることになる。
【0052】
3.3.通信モード
プラグインボード191〜199とマザーボード100とにおいては、楽音信号(波形データ)と、制御信号とがやりとりされる。このうち、楽音信号はシリアルIOポート107を介して伝送され、制御信号ははシリアルIOポート116を介して伝送される。ここで、制御信号はMIDI信号と同様のフォーマットを有している。
【0053】
すなわち、マザーボード100のCPU101からプラグインボード191〜199に対して各種の問合わせや設定を行い、逆にプラグインボード191〜199からCPU101に対してその応答を行う場合は、MIDIのシステムエクスクルーシブが使用される。この際、通信モードとして以下の2つが使用される。
【0054】
(1)モード1
モード1においては、マザーボード100と何れか一つの指定されたプラグインボードとの間で双方向通信が行われる。このモード1は、例えば、プラグインボードに対する音色のエディット状態の問合わせや、その応答に使用される。
【0055】
(2)モード2
モード2においては、マザーボード100から全てのプラグインボードに対して一方向通信が行われる。このモード2は、初期設定や音色のエディット時の一方的なデータ送信を行う際に使用される。
【0056】
3.4.通信内容
(1)信号のフォーマット
次に、マザーボードおよびプラグインボードは「メッセージ」を交換することによって情報のやりとりを行う。メッセージを送信するにあたっては、MIDIのシステムエクスクルーシブと、そのメッセージの種別を示す「モデルID」と、そのメッセージが如何なるパラメータに係るものであるかを示す「アドレス」とが予め相手側に伝送される。
【0057】
(1−1)モデルIDについて
モデルIDとしては、「4C」、「4E」および「4F」の3種類がある。ここに「4C」とは、マザーボードとプラグインボードとの通信用に使用されるとともに、外部MIDI信号によってもコントロール可能であることを示す。また、「4E」はマザーボードとプラグインボードとの通信用に使用される。
【0058】
また、「4F」は、マザーボードとプラグインボードとの通信用の特殊コマンドであることを示す。特殊コマンドにおいては、モデルIDの前に、特殊コマンドの分類(第1または第2特殊コマンド群)を示す「特殊コマンド識別子」と、「request(要求)」または「reply(応答)」の何れかを示す「方向識別子」とが付与される。また、「request(要求)」においては引数を付けることができ、「reply(応答)」のデータ長も可変長である。
【0059】
(1−2)アドレスについて
例えば、マザーボードからプラグインボードに対してMIDI信号を受信しないように指定するためにはMidiReceiveEnable/Disable(詳細は後述する)なるメッセージを伝送する必要がある。この場合は、最初にマザーボードからプラグインボードに対してMidiReceiveEnable/Disableのアドレス(例えば、0x001002 )を伝送し、MidiReceiveEnable/Disableの値として“0”を指定することになる。以下、本実施形態で用いられる各種のメッセージのうち主要なものについて以下説明する。
【0060】
(2)通常コマンド
音源を制御する規格として、「General MIDI System Level 1」(いわゆるGM規格)およびXG規格が知られている。本実施形態のマザーボードおよびプラグインボードは、GM規格およびXG規格で規定された全てのコマンドを相互に交換することができ、これによってマザーボード側からプラグインボードで用いられる各種パラメータの編集を行うことができる。GMおよびXG規格で規定されているコマンドは多岐にわたるが、ここでは本実施形態において使用頻度の高いパラメータチェンジについて説明しておく。
【0061】
通常コマンドのモデルIDは「4C」であり、アドレスには変更すべきパラメータのアドレスが「3」バイトで設定される。そして、パラメータチェンジのメッセージそのものは一般的に「1」バイトである。この「1」バイトのメッセージは、例えばオンオフの切換え、「−64〜+63」の範囲のデータ設定、あるいは「0〜127」の範囲のデータ設定に用いられる。
【0062】
(3)システムセットアップ
以下説明するメッセージは、主としてシステムセットアップ時(電源投入時)にマザーボードとプラグインボードとの間でやりとりされるものであり、モデルIDは「4E」である。
(3−1)DeviceNo
DeviceNo は、マザーボードからプラグインボードに対して「1〜16」の何れかのデバイスナンバをセットする「1」バイトのメッセージである。
【0063】
(3−2)ForceDamp
ForceDampは、マザーボードからプラグインボードに対してフォースダンプを指示するメッセージであり、その値が「00〜1F」である場合はフォースダンプを行うべきパートナンバを指定するものであるとみなされ、「7F」である場合は全パートのフォースダンプが行われることとみなされる。
【0064】
(3−3)MidiReceiveEnable/Disable
MidiReceiveEnable/Disableは、マザーボードからプラグインボードに対して、MIDI信号を受信すべきか否かを指定するメッセージであり、“1”は受信する旨、“0”は受信しない旨を示す。
【0065】
(3−4)SinglePartTgParameterBaseAddress
SinglePartTgParameterBaseAddressは、プラグインボードがシングルパート音源である場合に、マザーボードからプラグインボードに対して、そのベースアドレスを指定するメッセージである。プラグインボードにおいては、このベースアドレスを基準として、各種パラメータを変更するためのアドレスが決定される。
【0066】
(3−5)InsertionEffectParameterBaseAddressおよびSystemEffectParameterBaseAddress
InsertionEffectParameterBaseAddressは、プラグインボードがインサーション・エフェクトである場合に、そのベースアドレスを指定するメッセージである。
同様に、SystemEffectParameterBaseAddressは、は、プラグインボードがシステム・エフェクトである場合に、そのベースアドレスを指定するメッセージである。
【0067】
(3−6)SameTypePbTotalNoおよびSameTypePbSerialNo
SameTypePbTotalNoおよびSameTypePbSerialNoは、複数のプラグインボードのうち同一種類のものが複数存在する場合に、マザーボードからこれらプラグインボードに対して送信されるメッセージである。すなわち、SameTypePbTotalNoは、同一種類のボードが合計で何枚存在するのかを通知するものであり、SameTypePbSerialNoはこれら各ボード毎に割り当てられたシリアルナンバを各ボード毎に通知するものである。
【0068】
(3−7)MotherDisplayLevel
MotherDisplayLevelは、本体の表示文字数を各プラグインボードに通知するメッセージである。
【0069】
(4)PBシステム情報
以下説明するメッセージは、主としてシステムセットアップ時(電源投入時)にプラグインボードからマザーボードに対して通知されるものであり、モデルIDは「4E」である。
【0070】
(4−1)PbName
PbNameは、各プラグインボードからマザーボードに対して、最大14バイト(28文字)のアスキーコードで、各プラグインボードの型名(例えば「VH10-prg」)を通知するものである。
【0071】
(4−2)PbIconData
PbIconDataは、30H(=48)バイトのデータ長を有し、各プラグインボードから、そのアイコンのビットマップデータをマザーボードに通知するメッセージである。
【0072】
(4−3)PbType
PbTypeは「3」バイトのデータであり、各プラグインボードからマザーボードに対して、プラグインボードの種別を通知するメッセージである。PbTypeの各バイトを、PbTypeMsb 、PbTypeLsbおよびVersionNoと呼ぶ。
【0073】
ここでPbTypeMsb は「0〜3」の値をとり、「0」はシングルパート音源、「1」はマルチパート音源、「2」はインサーションエフェクト、「3」はシステム・エフェクトを示す。また、PbTypeLsbは、各種別毎の細分類を表す。例えば、プラグインボードがシングルパート音源であれば、PbTypeLsbは音源方式(物理モデル音源、PCM音源、FM音源等)を表すことになる。また、VersionNoはプラグインボードのバージョンナンバを表す。
【0074】
(4−4)TotalNativeSystemParameterNo
TotalNativeSystemParameterNoは、プラグインボードで用いられ、マザーボード100のROM102に記憶された汎用パラメータエディタ(パラメータを編集するプログラム)によってエディットされるべきシステムパラメータの数をCPU101に通知するものである。なお、システムパラメータとは、プラグインボードのモード設定等に用いられるパラメータを指す。
【0075】
(4−5)TotalNativePartParameterNo
TotalNativePartParameterNoは、プラグインボードが出力するパートパラメータの数をマザーボードに通知するメッセージである。なお、パートパラメータとは、プラグインボードの各パート毎に設定されるべきパラメータの数である。
【0076】
(4−6)TotalNativeEffectParameterNo
TotalNativeEffectParameterNoは、プラグインボードがエフェクタである場合に、選択可能なエフェクトパラメータの数をマザーボードに通知するメッセージである。
【0077】
(4−7)TotalVoiceMapNo
TotalVoiceMapNoは、プラグインボードが音源である場合に、選択可能な音色のマップ数をマザーボードに通知するものである。ここに「1」マップは、一のバンク・セレクトMSBおよび一のバンク・セレクトLSBに対応する、プログラムチェンジの内容である。
【0078】
(4−8)TotalInsertionEffectMapNo
TotalInsertionEffectMapNoは、プラグインボードがインサーションエフェクトである場合に、選択可能なエフェクトの種類をマザーボードに通知するものである。例えば、インサーションエフェクトとしてボコーダ、デチューン、コーダルおよびクロマチックの効果を選択可能であれば、その合計数「4」がマザーボードに通知されることになる。
【0079】
(5)第1特殊コマンド群
上記PBシステム情報のうち「TotalNative……ParameterNo」なる名称を有するパラメータは、音色数やエフェクト数等の「数」を示すものである。第1特殊コマンド群は、これら音色、エフェクト等の具体的な内容の「request(要求)」や「reply(応答)」の前提として、必要な情報をやりとりするためのものである。
【0080】
(5−1)NativeSystemParameterInformation
マザーボードからプラグインボードに対するシステムパラメータの具体的内容の「request(要求)」は「1」バイトのメッセージであり、パラメータ番号のみが通知される。ここにパラメータ番号は、最小値が「0」、最大値は「TotalNativeSystemParameterNoの返り値−1」になる。
【0081】
上述した例のように、プラグインボードがデチューン等を行うインサーションエフェクトであれば、例えばメロディチャンネルのパラメータが必要であれば「0」、ハーモニーチャンネルのパラメータが必要であれば「1」に設定しておくとよい。
【0082】
プラグインボードは、NativeSystemParameterInformationの「request(要求)」を受信すると、これに対する「5」バイトの「reply(応答)」をマザーボードに供給する。この応答は、各「1」バイトのModelID、AddressHi、AddressMid、AddressLow、およびDataSizeとから成る。
【0083】
この「reply」は、後にマザーボードがプラグインボードに対して文字情報等を要求する際に必要となる情報である(詳細は第2特殊コマンド群の解説において詳述する)。まず、ModelIDとは、後にマザーボードから出力される第2特殊コマンドにおいて付与すべきモデルIDを通知するものであり、AddressHi、AddressMidおよびAddressLowは、該第2特殊コマンドにおいて付与すべきアドレスを通知するものである。また、DataSizeは、該第2特殊コマンドの「reply」としてプラグインボードからマザーボードに伝送される文字情報等のデータサイズを通知するものである。
【0084】
なお、上述したように、ヘッダ部の前に「reply(応答)」を示す「方向識別子」と、モデルID(「4F」)と、NativeSystemParameterInformationを表すアドレスとが付加される。これらは、上記「reply」中に含まれるModelID、AddressHi、AddressMid、AddressLowとは別個のものであることは言うまでもない。
【0085】
(5−2)NativePartParameterInformationおよびNativeEffectParameterInformation
NativePartParameterInformationおよびNativeEffectParameterInformationは、パートパラメータおよびエフェクトパラメータの情報取得に用いられる。上記NativeSystemParameterInformationと同様に、マザーボードからプラグインボードに対するこれらの具体的内容の「request(要求)」は、「1」バイトのメッセージであり、プラグインボードからの「reply」もNativeSystemParameterInformationの「reply」と同様の「5」バイトのメッセージになる。
【0086】
(5−3)VoiceName
VoiceNameは、プラグインボードがシングルパート音源である場合に、音色名の問合わせに用いられるパラメータである。マザーボードからプラグインボードに対する「request(要求)」は、MsbNo、LsbNo、およびPgmNoから成る計「3」バイトの音色番号と、「1」バイトのAsciiDataSizeとから成る。ここに、AsciiDataSizeは、本体側で表示可能な文字数(例えば「8」)を示す。
【0087】
一方、プラグインボードの「reply」は、「1」バイトのAsciiDataSizeと可変長のVoiceNameとから成る。AsciiDataSizeは「request」に含まれていた通りの文字数であり、VoiceNameはAsciiDataSizeの範囲内で音色名を表示するアスキーコードである。
【0088】
(5−4)VoiceMapInfo
VoiceMapInfoは、プラグインボードがシングルパート音源である場合に、マザーボードからプラグインボードに対して音色マップの問合わせに用いられるメッセージである。VoiceMapInfoの「request」は「1」バイトのメッセージであり、マップナンバを指定する。このマップナンバは、「0」〜「TotalVoiceMapNoの返り値−1」の範囲で指定される。
【0089】
また、VoiceMapInfoの「reply」は「34」バイトのメッセージであり、「1」バイトのBankMsbNoと、「1」バイトのBankLsbNoと、各々「1」バイトのビットマップPgm0to3AssignBitMap、Pgm4to7AssignBitMap、……、Pgm124to127AssignBitMapとから成る。
【0090】
また、ビットマップPgm0to3AssignBitMap、……Pgm124to127AssignBitMapは、BankMsbNoおよびBankLsbNoによって指定されたマップにおいて音色が存在する場合は“1”、存在しない場合は“0”を、対応するビット位置に表したものである。
【0091】
(5−5)BankMsbIconData
BankMsbIconDataは、プラグインボードがシングルパート音源である場合に、マザーボードからプラグインボードに対してバンクの分類のアイコンデータの問合わせに用いられるメッセージである。
【0092】
BankMsbIconDataの「request」は、「1」バイトのメッセージであり、上記BankMsbNoを指定する。また、その「reply」は、アイコンを表す「48」バイトのビットマップデータである。例えば、管楽器をシミュレートするバンクの分類にあっては、管楽器をあしらったアイコンを返すようにすると好適である。
【0093】
(5−6)InsEffectMapInfo
InsEffectMapInfoは、は、プラグインボードがインサーション・エフェクトである場合に、マザーボードからプラグインボードに対してエフェクト・マップの問合わせに用いられるメッセージである。InsEffectMapInfoの「request」は「1」バイトのメッセージであり、マップナンバを指定する。このマップナンバは、「0」〜「TotalInsertionEffectMapNoの返り値−1」の範囲で指定される。
【0094】
また、InsEffectMapInfoの「reply」は「7」バイトのメッセージであり、「1」バイトのTypeMsbと、「1」バイトのTypeLsbと、「1」バイトのPrm1to10Typeと、各「1」バイトのPrm1to4SupportMap、Prm5to8SupportMap、Prm9to12SupportMap、およびPrm13to16SupportMapとから成る。
【0095】
ここに、TypeMsbおよびTypeLsbは、上記BankMsbNoおよびBankLsbNoと同様に、エフェクトの種別および種別内のシリアルナンバを示すものである。また、Prm1to4SupportMap、Prm5to8SupportMap、Prm9to12SupportMap、およびPrm13to16SupportMapは、「1〜16」番のエフェクトについて、存在する場合は“1”、存在しない場合は“0”を、対応するビット位置に表したものである。
【0096】
(6)第2特殊コマンド群
第2特殊コマンド群は、主としてマザーボードが認識していない各種のパラメータについて、上記第1特殊コマンド群の「reply」の結果を用いて、プラグインボードから情報を得るためのコマンドである。
【0097】
第2特殊コマンド群においては、「方向識別子」の「reply」および「request」は、コマンド毎に異なる値になる。すなわち、以下に述べるParameterName、ParameterInfo、ParameterSupportInfo、RelativeParameter、およびAbsoluteParameterの「request」は各々「00」、「01」、「02」、「03」および「04」なるコードによって表現され、「reply」は各々「40」、「41」、「42」、「43」および「44」なるコードによって表現される。
【0098】
(6−1)ParameterName
ParameterNameは、プラグインボードからマザーボードに対してパラメータの名称を通知するためのコマンドである。ParameterNameの「request」においてはメッセージは「0」バイトになる。これは、第2特殊コマンド群を示す「特殊コマンド識別子」と、「request(00)」を示す「方向識別子」と、モデルID(これは、NativeSystemParameterInformationの「reply」に含まれてたModelIDに等しい)と、アドレス情報(同「reply」に含まれていたAddressHi、AddressMid、AddressLowに等しい)とによって、対応するパラメータの名称が特定されるからである。
【0099】
ParameterNameの「reply」は、「1」バイトのDataSizeと、可変長のアスキーデータであるパラメータ名とから成る。DataSizeは該アスキーデータのデータサイズ(文字数)を示す。例えば、プラグインボードがインサーションエフェクトであってアドレス情報として「デチューン」が指定された場合は、「Detune Type」のような文字列を返すとよい。
【0100】
(6−2)ParameterInfo
ParameterInfoは、マザーボードからプラグインボードに対してパラメータの値を問い合わせるためのコマンドである。ParameterInfoの「request(01)」においてはメッセージは「0」バイトになる。この理由はParameterNameの場合と同様である。
【0101】
ParameterInfoの「reply」は、「1」バイトのDataSizeと、数値データMaxValue、MinValueおよびDefaultValueとから構成される。DataSizeはこれら数値データ1個あたりのデータサイズを示すものである。そして、MaxValue、MinValueおよびDefaultValueは、各々パラメータの最大値、最小値およびデフォルト値を示す。
【0102】
(6−3)ParameterSupportInfo
ParameterSupportInfoは、マザーボードがサポートしているパラメータについてプラグインボードがサポートしているか否かを知るためのコマンドである。すなわち、ダンプリクエスト、またはパラメータリクエストを受信したときにプラグインボードが対応できるか否かを確認するために用いられる。
【0103】
ParameterSupportInfoの「request」のメッセージは「1」バイトであり、“0”の場合はパラメータリクエスト、“1”の場合はダンプリクエストを示す。これに対するプラグインボードの「reply」も「1」バイトであり、“0”の場合は対応不可、“1”の場合は対応可能であることを示す。
【0104】
(6−4)RelativeParameter
RelativeParameterは、プラグインボードにおけるパラメータが現在値に対して相対変化した時の情報を得るためのコマンドである。RelativeParameterの「request」のメッセージは「3」バイトであり、各「1」バイトのRelativeData、ReplyDataSizeおよびDisplayDataSizeから成る。
【0105】
ここにRelativeDataは、パラメータの現在値に対する変化値(例えば+1,−1等)であり、ReplyDataSizeは、変化されたパラメータ(数値)の表示データサイズである。また、DisplayDataSizeは、変化されたパラメータ(文字)の表示データサイズである。
【0106】
RelativeParameterの「reply」は、「1」バイトのDataSizeと、該DataSizeで示されたデータ長さのData(数値データ)と、「1」バイトのDisplayDataSizeと、該DisplayDataSizeで示されたデータ長のDisplayData(文字データ)とから成る。
【0107】
(6−5)AbsoluteParameter
AbsoluteParameterは、プラグインボードにおけるパラメータが絶対変化した時の情報を得るためのコマンドである。AbsoluteParameterの「request」のメッセージは「3」バイトであり、各「1」バイトのAbsoluteData、ReplyDataSizeおよびDisplayDataSizeから成る。ここにAbsoluteDataは、パラメータの現在変化値であり、ReplyDataSizeおよびDisplayDataSizeは、上記RelativeParameterの場合と同様である。
【0108】
AbsoluteParameterの「reply」は、「1」バイトのDataSizeと、該DataSizeで示されたデータ長さのData(数値データ)と、「1」バイトのDisplayDataSizeと、該DisplayDataSizeで示されたデータ長のDisplayData(文字データ)とから成る。
【0109】
4.実施形態の動作
4.1.初期設定
(1)全般の初期設定
次に、本実施形態の動作を説明する。まず、電子楽器の電源が投入されると、マザーボード100(CPU101)において図5に示すプログラムが起動される。図において処理がステップSP1に進むと、初期設定が行われる。ここでは、まず、通信モードがモード2に設定され全プラグインボードに対して、MotherDisplayLevelが通知される。これにより、各プラグインボードは、MotherDisplayLevelを記憶し、マザーボードに送信する文字列を長さを必要に応じて制限することになる。
【0110】
次に、通信モードがモード1に切換えられ、コネクタ121に挿入されているプラグインボード191に対して、デバイスナンバ「1」をセットするDeviceNoが伝送される。プラグインボード191は、このDeviceNo に基づいてデバイスナンバ「1」を記憶するとともに、PbTypeおよびPbIconDataを出力することにより、プラグインボード191の種別等をCPU101に通知する。
【0111】
すなわち、CPU101は、PbTypeMsb によってプラグインボード191の種別を認識し、PbTypeLsbによって細分類(音源方式等)を認識し、VersionNoによってプラグインボード191のバージョンナンバを認識し、認識した内容がRAM103に記憶されることになる。また、PbIconDataで指定されたアイコンデータもRAM103に記憶される。
【0112】
次に、プラグインボード191は、CPU101に対して、システムパラメータが存在する場合はTotalNativeSystemParameterNoを通知し、パートパラメータが存在する場合はTotalNativePartParameterNoを通知し、エフェクトパラメータが存在する場合はTotalNativeEffectParameterNoを通知する。
【0113】
また、プラグインボード191がシングルパート音源である場合はSinglePartTgParameterBaseAddressとTotalVoiceMapNoとを通知する一方、インサーション・エフェクトである場合はTotalInsertionEffectMapNoとInsertionEffectParameterBaseAddressとを通知する。また、プラグインボードがシステム・エフェクトである場合は、SystemEffectParameterBaseAddressが通知される。これにより、CPU101にあっては、プラグインボード191における各種パラメータの数やベースアドレスが認識され、認識された情報はRAM103に記憶される。
【0114】
そして、プラグインボード192〜199に対しても同様にデバイスナンバ「2」,「3」,……が通知され、各プラグインボードのPbTypeおよび編集可能な各種パラメータの数やベースアドレスがRAM103に記憶されることになる。従って、RAM103には、各プラグインボードの種別、細分類、バージョンナンバおよび編集可能な各種パラメータの数が記憶されることになる。
【0115】
次に、パネル表示器160において、下表のような文字列を表示した初期メニュー画面が表示される。
なお、初期状態では、「1:パート設定」の箇所にカーソル位置がセットされる(「1:パート設定」が白黒反転表示される)。
【表1】
【0116】
(2)本体音色マップの修正
上述したように、XG規格の音色マッピングでは、最大「4×128×128=65536」種類の音色をマッピングすることができる。しかし、バンク・セレクトLSBによって表現されるバリエーションのうち発音させるものを一つに限定すれば、選択可能なメロディ音色(バンク・セレクトMSB=0)の数はプログラムチェンジの数と等しく「128」種類になる。
【0117】
マザーボード100がどのプログラムチェンジをサポートしているかについては、予めROM102に記憶されており、初期設定においては、この内容がRAM103に転送される。このRAM103に転送された内容を本体音色マップと呼ぶ。
【0118】
本体音色マップにおいては、各プログラムチェンジが「1」バイトに対応付けられ、マザーボード100でサポートされているプログラムチェンジについて「127」、サポートされていない選択可能音色について「0」が記憶されている。また、プラグインボードによってサポートされているプログラムチェンジについては当該プラグインボードのデバイスナンバ「1〜16」とマップナンバ「1〜16」とが記憶される。但し、初期状態においては、どのプラグインボードがどのプログラムチェンジをサポートしているか判別していないため、全てのバイトが「127」または「0」になっている。
【0119】
ここで、マザーボード100およびプラグインボードにおいて同一のプログラムチェンジに係る音色をサポートしている場合、何れの音色を採用するかが問題となる。一般的に、電子楽器の本体価格を抑制するためにマザーボード100は標準的な性能で楽音合成を行うのに対して、プラグインボードはオプションとして販売されより高性能な楽音合成を行うものである。そこで、両者のサポートするプログラムチェンジが重複する場合は、プラグインボード側の音色を優先的に採用することとしている。
【0120】
具体的には、プラグインボードでサポートしているプログラムチェンジについては、本体音色マップの対応箇所にプラグインボードのデバイスナンバを書込むことにより、マザーボード100側での発音を禁止するのである。そこで、かかる処理の詳細について以下説明する。
【0121】
まず、上述したように、プラグインボードがシングルパート音源である場合は、TotalVoiceMapNoがCPU101に通知されている。CPU101は、「0」〜「TotalVoiceMapNo−1」の各マップナンバを指定して、VoiceMapInfoの「request」をプラグインボードに送信する。
【0122】
これに対して、上述したように、プラグインボードよりVoiceMapInfoの「reply」がCPU101に返信される。CPU101は、この「reply」中のBankMsbNoが「0」であるか否かを判定する。そして、「0」以外であれば、本体音色マップの編集は行われない。
【0123】
一方、「reply」中のBankMsbNoが「0」であれば、BankLsbNoで指定された128バイトの記憶位置の中のビットマップPgm0to3AssignBitMap、……、Pgm124to127AssignBitMapのうち「1」が設定されているプログラムチェンジに対応する箇所に、プラグインボードのデバイスナンバとマップナンバとが書込まれる。
【0124】
かかる処理が全てのシングルパート音源について行われることにより、本体音色マップには、各プログラムチェンジがサポートされているのか否か、および、サポートされている場合は対応するボード(マザーボード100あるいは何れかのプラグインボード)が記憶されることになる。
【0125】
4.2.パート設定
(1)「パート設定」の指定
図5に戻り、処理がステップSP2に進むと、処理を行うための「要因」が発生したか否かが判定される。ここで「要因」とは、例えば、MIDI入力端子118を介するMIDI信号の入力や、パネルスイッチ150におけるイベント等をいう。次に、処理がステップSP3に進むと、「要因」が発生したか否かが判定される。そして、何れの要因も発生しない状態では、ステップSP2、3において処理が待機する。
【0126】
ここで、パネルスイッチ150のテンキーボードにおいてエンターキーが押下されると、ステップSP2において当該イベントが検出され、ステップSP3において「YES」と判定され処理はステップSP4に進む。ステップSP4にあっては、「要因」毎に処理が分岐される。
【0127】
ここでは、パネルスイッチ150におけるイベントが「要因」であるから処理はステップSP6に進み、該イベントに応じた処理が行われる。上記例にあっては、初期画面の「1:パート設定」にカーソルが位置する際にエンターキーが押下されたのであるから、「1:パート設定が指定された」と判定される。なお、1:パート設定とは、楽音発生器108あるいはマルチパート音源(プラグインボード)において何れかのパートの内容を変更することをいう。
【0128】
(2)パートの表示
ところで、パートの編集を行うにあたっては、ユーザが編集対象となるパートを指定する必要がある。さらに、それに先立って、指定可能なパートを表示しておき、ユーザが選択できるようにしておく必要がある。まず、マザーボード100のみによって指定可能なパートは、楽音発生器108で実現される第1パート〜第16パートと、A/Dコンバータ109から入力されるパートであり、合計「17」パートである。
【0129】
また、マルチパート音源の各パートも指定できるようにしておくと便利である。そこで、CPU101は、マザーボード100上の各パートのデフォルト状態とマルチパート音源のアイコンおよび名称等を下表のようにパネル表示器160に表示する。
【表2】
【0130】
(3)編集対象パートの指定
ここで、ユーザがテンキーボードの「2」を押下すると、処理はステップSP3、SP4を介してSP6に進む。ここでは、入力された「2」がパネル表示器160に表示される。さらに、ユーザがエンターキーを押下すると、再び処理はステップSP6に進み、ここで編集対象として「第2パート」が指定されたものと判定される。なお、パート番号が2桁以上である場合は、例えば「1」、「5」のように続けてテンキーボードを押下してエンターキーを押下するとよい。
【0131】
(4)音色グループの表示
次に、編集対象パートに対して音色を指定する必要がある。ここで音色の種類は膨大であるため、音色を複数のグループに分類し、最初にこのグループを指定するようにしている。このため、パネル表示器160には、下表のような表示が行われる。
【表3】
【0132】
ここで、カーソル位置は、以前に選択されていた音色に対応するグループにセットされる。上記例においては第2パートは「ホンキートンク・ピアノ」に設定されていたから、「1:(内蔵)ピアノ系」にカーソルがセットされる。
【0133】
(5)音色名等の表示
ユーザが「1」〜「20」のグループ番号を指定した場合は、当該グループに属するプログラムチェンジについて本体音色マップが参照される。ここで、本体音色マップの対応箇所に「127」が記憶されている場合は、該プログラムチェンジについてROM102内に音色名等が記憶されているから、その内容が読み出される。
【0134】
一方、本体音色マップにプラグインボードのデバイスナンバとマップナンバが記憶されている場合は、このマップナンバを伴って該プラグインボードに対してVoiceMapInfoの「request」が送信される。この「reply」が返信されると、ここに含まれるBankMsbNoおよびBankLsbNoに基づいてバンク・セレクトMSBおよびバンク・セレクトLSBがCPU101に認識される。
【0135】
次に、認識されたバンク・セレクトMSBをMsbNoとし、バンク・セレクトLSBをLsbNoとし、プログラムチェンジをPgmNoとし、パネル表示器160における音色名の最大表示文字数(例えば20)をAsciiDataSizeとして、CPU101からプラグインボードに対してVoiceNameの「request」が送信される。これに対して、プラグインボードより、「20」以下のAsciiDataSizeと、AsciiDataSizeで示された文字数を有する音色名のアスキーデータとが返されることになる。
【0136】
以上のように、マザーボード100に内蔵され、あるいはプラグインボードで実現される音色名が得られると、その内容が下表のようにパネル表示器160に表示される。
【表4】
【0137】
表4において、「☆」の箇所は、実際には、PbIconDataに基づいて、シングルパート音源であるプラグインボードのアイコンが表示される。すなわち、上記例においては、「Acoustic Grand Piano」と「Bright Acoustic Piano」とがプラグインボードによって実現されていることになり、ユーザはパネル表示器160の表示画面に基づいて、どのプログラムチェンジにプラグインボードが使用されているのか、直ちに認識することができる。
【0138】
ここで、カーソル位置は、以前に選択されていた音色に対応する音色名にセットされる。上記例においては音色として「ホンキートンク・ピアノ」に設定されていたから、「4: Honky-tonk Piano」にカーソルがセットされる。ここでユーザが「1」〜「8」の音色名を指定すると、その音色が設定対象のパート(第2パート)の音色として設定される。以上のようにして、ユーザは、所望のパートに対する音色を設定することができる。なお、上記表2〜4においてユーザがテンキーボードの「0」を押下した場合には、一段上位のメニューが再表示される。
【0139】
4.3.2:インサーションエフェクト設定
表1において「2:インサーションエフェクト設定」が選択されると、下表のように、インサーションエフェクトのリストがパネル表示器160に表示される。インサーションエフェクトのリストは、内蔵のものの他、PbTypeとして「2」(インサーションエフェクト)が返されたプラグインボードも含まれる。
【0140】
【表5】
【0141】
なお、上記表示例においても、「☆」の箇所には初期設定時に得たプラグインボードのアイコンが表示される。また、「(シングルIE)」なる文字列は、PbTypeMsb で示された種類に基づいて表示されたものであり、「HM21P」はPbName、「ハモリボード」はPbTypeLsb、「Ver.1.00」はVersionNoに基づいて、各々示された内容に基づくものである。かかる表示が行われた後、カーソル位置は「内蔵インサーションエフェクト」にセットされる。
【0142】
ここで、ユーザがテンキーボードの「1」とエンターキーを押下すると、「1: 内蔵インサーションエフェクト」が選択される(なお、以下の説明においては、このような操作を単に「選択する」と表現する)。そして、内蔵インサーションエフェクトに関する各種パラメータのリストがパネル表示器160に表示され、ユーザはこれらパラメータを編集することができる。なお、このような動作は周知の電子楽器のものと同様である。
【0143】
一方、ユーザがプラグインボードを選択した場合の動作は本実施形態の特徴の一つでもあるため、この点について詳述する。まず、上述したように、プラグインボードがインサーションエフェクトである場合は、初期設定時にTotalInsertionEffectMapNoがマザーボード100側に通知されている。そこで、CPU101は、「0」〜「TotalInsertionEffectMapNo−1」の各マップナンバを指定して、InsEffectMapInfoの「request」をプラグインボードに送信する。
【0144】
これに対して、上述したように、プラグインボードよりInsEffectMapInfoの「reply」がCPU101に返信される。上述したように、この「reply」中のPrm1to4SupportMap、……、Prm13to16SupportMapによって、「1〜16」番のエフェクトが存在するか否かが表示されている。また、各エフェクトに対応するアドレスは、該プラグインボードのベースアドレス(InsertionEffectParameterBaseAddress)と、InsEffectMapInfoの「reply」中のTypeMsbおよびTypeLsbと、「1〜16」番のエフェクト番号とに基づいて一意に決定される。
【0145】
そこで、この決定されたアドレスとともに、CPU101からプラグインボードに対してParameterNameの「request」が送信される。これに対して返される「reply」の中にはパラメータ名を示すアスキーデータが含まれる。同様に、先に決定されたアドレスとともに、CPU101からプラグインボードに対して、ParameterInfoの「request」が送信される。これに対して返される「reply」の中には、パラメータの最大値、最小値およびデフォルト値を示すMaxValue、MinValueおよびDefaultValueが含まれている。このようにして得られた情報に基づいて、パネル表示器160には下表のような表示が行われる。
【0146】
【表6】
【0147】
表6において「ハモリの強さ」、「ハモリの深さ」なる文字列はParameterNameの「reply」中のアスキーデータをそのまま表示したものである。また、双方とも「(0〜+127) 現在値:10」と表示されているが、ここで「0」はMinValue、「+127」はMaxValue、「10」はDefaultValueとしてプラグインボードから返された値である。
【0148】
ここでユーザが「2: ハモリの深さ……」を選択すると、その位置にカーソルが移動する。ここでユーザがパネルスイッチ150上でインクリメントキーを押下すると、プラグインボードに対してRelativeParameterの「request」が送信される。なお、その際、RelativeDataとして「+1」が指定される。これに対して、プラグインボードにおいては、「ハモリの深さ」の現在値「10」を「1」だけインクリメントした結果である「11」が求められる。
【0149】
そして、RelativeDataの「reply」において、Dataとして該計算結果「11」が返されることになる。これにより、パネル表示器160のカーソル行のうち「現在値:10」の部分は「現在値:11」に変更される。逆に、パネルスイッチ150においてデクリメントキーが押下された場合は、RelativeDataとして「−1」が指定され、プラグインボードからは現在値を「1」だけ減算した結果が返される。
【0150】
なお、この段階においては、プラグインボードは現在値をインクリメント/デクリメントした結果を返しているだけであって、プラグインボード内のパラメータそのものが変更されているわけではない。変更結果をプラグインボードにセットするためには、ユーザは「3: ボードにセット」を選択する。
【0151】
かかる操作が行われると、変更後の値(パネル表示器160に表示されている値)を伴って、変更対象のパラメータに係るパラメータチェンジがプラグインボードに送信される。そして、プラグインボードにおいては、このパラメータチェンジに基づいて、その内部のパラメータが変更されるのである。
【0152】
4.4.その他のパラメータの設定
以上、インサーションエフェクトのプラグインボードにおけるパラメータの設定方法について詳述したが、シングルパート音源、マルチパート音源、またはシステム・エフェクトのプラグインボードに対しても同様にしてパラメータ設定が行われる。
【0153】
すなわち、プラグインボード側から設定対象となるパラメータ等のアスキーデータがマザーボード100に通知されるから、マザーボード100の設計時に想定していなかったパラメータについても、マザーボード100側のソフトウエアをなんら変更することなくパラメータ名を表示させることが可能になる。
【0154】
また、パラメータの値を変更する場合においても、マザーボード100からRelativeDataとして「+1」または「−1」が送信され、現在値を変更する計算処理自体はプラグインボード側で実行され、その計算結果がマザーボード100に返されて表示される。このことは、RelativeDataに対する計算方法をプラグインボードが自由に決定できることを意味する。
【0155】
例えば、指数関数的にパラメータを設定することが好適である場合は、現在値が大となるほど一回あたりのインクリメント/デクリメント幅を大とするとよい。また、パラメータの値に対してリミット処理を施す場合であっても、パラメータの性質に応じて適切な処理を設定することができる。このような計算方法はプラグインボード側のプログラムで自在に決定することができ、しかもマザーボード100側では一切関知する必要はない。
【0156】
4.5.3:4:シグナルフローの編集
(1)インサーションエフェクトの割当
初期画面(表1)において「4:シグナルフローの編集」を選択すると、下表のような文字列を表示したシグナルフロー編集選択画面が表示される。
【表7】
【0157】
ここで、ユーザが「インサーションエフェクトの割当」を選択すると、下表8のような画面が表示される。ここでは、各インサーションエフェクトの名称と、該インサーションエフェクトが割り当てられているパート番号とが表示される。なお、下表の例にあっては、全てのインサーションエフェクトが何れかのパートに割り当てられているが、仮にインサーションエフェクトが何れのパートにも割り当てられていない場合は、「パート番号:(なし)」と表示される。
【0158】
【表8】
【0159】
ここで、ユーザが「1: 内蔵インサーションエフェクト」を選択すると、パネル表示器160に下表9の画面が表示される。
【表9】
【0160】
ここで、ユーザがパート番号を指定すると、その指定内容に応じてインサーションエフェクトを割り当てるパート番号が設定され、その設定内容を反映して表8の画面が再び表示される。すなわち、ユーザが「5」を選択すると、表8において「パート番号:1」の部分を「パート番号:5」に変更した文字列が表示されることになる。このようにして、ユーザは、内蔵あるいはプラグインボードのインサーションエフェクトを割り当てるパートを自在に設定することができる。
【0161】
(2)グループの割当
表7の画面においてユーザが「2: グループの割当」を選択すると、下表10のような画面がパネル表示器160に表示される。
【表10】
【0162】
表10において、横軸「G1」〜「G4」は「1」〜「4」のグループ番号(図3,4参照)に対応する欄、縦軸は各グループに対する入力信号を指す。そして、両者の交差点に記される「0」〜「127」の数字はボリューム値を表す。表10の内容は、図3のシグナルフローに対応している。例えば、図3によれば、第1グループ(ミキサ部206)には、内蔵インサーション・エフェクトを介した第1パートの楽音信号と、第2パートの楽音信号とが入力されるから、「パート1」および「パート2」と記された行に「1」以上の値が表示され、他の行には「0」が記されている。
【0163】
また、図3に示す例にあっては、「第4グループ」なるものはそもそも存在しないから、縦軸「G4」および横軸の「グループ4」に係る部分は全て「0」になっている。図3および表10に示すように、各グループには、他のグループから出力された楽音信号(システム・エフェクトが存在する場合はシステム・エフェクトを介した後の楽音信号)も入力可能になっている。
【0164】
ここで、カーソルは横軸「G1」、縦軸「パート1」の交差点に位置している。ここで、ユーザがカーソルキーを操作すると、上下左右方向の欄にカーソルが移動する。そして、インクリメント/デクリメントキーを操作すると、ボリューム値が変更される。
【0165】
なお、プラグインボード中にマルチパート音源(例えば、図4の16パート音源253)が存在する場合は、表10中の「ADパート:……」と「グループ1:……」との間に、「☆マルチ音源: 0 0 0 87」(☆はアイコン)のような行が挿入されることになる。
【0166】
(3)システム・エフェクトの割当
表7の画面においてユーザが「3: システム・エフェクトの割当」を選択すると、下表11のような画面がパネル表示器160に表示される。ここでは、インサーションエフェクトをパートに割り当てる処理と同様にして、システム・エフェクトが各グループに割り当てられる。
【0167】
【表11】
【0168】
このように、ユーザは、各パートに対して内蔵の(楽音発生器108)の音源を割り当てるかシングルパート音源のプラグインボードを割り当てるかを自由に設定でき、これらパートに対してインサーションエフェクトを自在に割り当てることができる。さらに、各グループを構成するミキサの接続関係や、各グループに挿入されるシステム・エフェクトについても任意に決定することができるから、図3、4に示すようなシグナルフローを自在に設定することができる。
【0169】
4.6.MIDI処理
図5に戻り、ステップSP2,3のループ中にMIDI信号が入力されると、処理はステップSP4を介してステップSP5に進む。ここでは、MIDI信号に基づいて発音/消音等の処理が行われる。但し、ノートオン/ノートオフに係る音色(プログラムチェンジ)について、本体音色マップの対応箇所に「127」が設定されていない場合は、発音処理は行われない。すなわち、元々マザーボード100で対応可能な音色であったとしても、シングルパート音源のプラグインボードでサポートされている場合は、マザーボード100における発音処理は禁止される。
【0170】
かかる場合は、フォトカプラ117、コネクタ121〜129を介して該MIDI信号がプラグインボードに直接供給されるから、該プラグインボードにおいて楽音信号が合成され、シリアルIOポート107を介してミキサ106に該楽音信号が供給されることになる。
【0171】
このように本実施形態によれば、本体音色マップに基づいてマザーボード100における発音の可否が判定されるから、マザーボード100とプラグインボード191〜199とが重複して楽音信号を生成し発音するような事態を防止できる。
【0172】
5.変形例
本発明は上述した実施形態に限定されるわけではなく、種々の変形が可能である。例えば、上記実施形態においては、電源投入直後(ステップSP1)においてプラグインボードの種別(PbType)を検出した。しかし、PbTypeの検出は、新たなボードが装着された際に行ってもよく、所定時間毎に定期的に行ってもよい。
【0173】
【発明の効果】
以上説明したように、本発明によれば、マザーボードと増設ボードとが共通に備えるパラメータについて、パネル上の操作子を操作することにより同時にエディットすることができる。また、本発明によれば、楽音信号が入力されるべきミキサやエフェクタを任意に設定することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態のハードウエア構成を示すブロック図である。
【図2】 上記実施形態のチャンネル構成を示すブロック図である。
【図3】 上記実施形態のシグナルフローの設定例を示すブロック図である。
【図4】 上記実施形態のシグナルフローの設定例を示すブロック図である。
【図5】 上記実施形態の制御プログラムのフローチャートである。
【図6】 マザーボード100とプラグインボードとの通信状態を示すフローチャートである。
【図7】 マザーボード100とプラグインボードとの通信状態を示すフローチャートである。
【図8】 マザーボード100とプラグインボードとの通信状態を示すフローチャートである。
【符号の説明】
100……マザーボード、101……CPU(音色設定制御回路、)、102……ROM、103……RAM、104……DSP(第1の音源)、105……D/Aコンバータ、106……ミキサ(第1の音源)、107……シリアルIOポート、108……楽音発生器(第1の音源)、109……A/Dコンバータ、110……アナログ入力端子、111……タイマ、112……IOポート、113……IOポート、114……IOポート、115……バス、116……シリアルIOポート、117……フォトカプラ、118……MIDI入力端子(演奏情報入力端子)、119……MIDI出力端子、120……ドライバ、121〜129……コネクタ、150……パネルスイッチ、160……パネル表示器、170……ディスクドライブ、180……ディスク、191〜199……プラグインボード(第2の音源)、200……サウンドシステム。
Claims (2)
- 楽音パラメータの名称および値を表示する表示手段と、
楽音パラメータの増加または減少を指示するパラメータ編集操作子と、
楽音パラメータの現在値を記憶し、前記パラメータ編集操作子が操作されるとその操作情報に基づいて前記現在値を修正するとともにこの楽音パラメータの名称および修正後の値を前記表示手段に表示させる一方、前記操作情報を出力する第1の制御回路と、
前記第1の制御回路の楽音パラメータと共通する楽音パラメータの現在値を記憶し、前記第1の制御回路から出力された前記操作情報に基づいて、当該記憶した現在値を修正する第2の制御回路と
を具備することを特徴とする楽音パラメータ設定装置。 - 前記第1の制御回路は楽音合成装置の本体に設けられるものであり、前記第2の制御回路は該本体に対して着脱自在に構成された増設ボードに設けられるものである
ことを特徴とする請求項1に記載の楽音パラメータ設定装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13265697A JP3839904B2 (ja) | 1997-05-22 | 1997-05-22 | 楽音パラメータ設定装置 |
US09/082,739 US6069311A (en) | 1997-05-22 | 1998-05-21 | Electronic musical instrument having mother board communicable with plug-in board |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13265697A JP3839904B2 (ja) | 1997-05-22 | 1997-05-22 | 楽音パラメータ設定装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003352915A Division JP3760939B2 (ja) | 2003-10-10 | 2003-10-10 | 楽音合成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10319952A JPH10319952A (ja) | 1998-12-04 |
JP3839904B2 true JP3839904B2 (ja) | 2006-11-01 |
Family
ID=15086430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13265697A Expired - Fee Related JP3839904B2 (ja) | 1997-05-22 | 1997-05-22 | 楽音パラメータ設定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3839904B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3707300B2 (ja) | 1999-06-02 | 2005-10-19 | ヤマハ株式会社 | 楽音発生装置用拡張ボード |
JP2006145855A (ja) | 2004-11-19 | 2006-06-08 | Yamaha Corp | 自動伴奏装置およびその制御方法を実現するためのプログラム |
JP4623060B2 (ja) | 2007-07-18 | 2011-02-02 | ヤマハ株式会社 | 波形生成装置、音響効果付与装置、および楽音発生装置 |
JP4544278B2 (ja) * | 2007-07-18 | 2010-09-15 | ヤマハ株式会社 | 波形生成システム |
JP7230539B2 (ja) * | 2019-01-30 | 2023-03-01 | ヤマハ株式会社 | 音信号処理装置、音信号処理方法およびプログラム |
-
1997
- 1997-05-22 JP JP13265697A patent/JP3839904B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10319952A (ja) | 1998-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100418386B1 (ko) | 네트워크를 이용한 악기장치 기능 확장 방법 및 시스템 | |
US6069311A (en) | Electronic musical instrument having mother board communicable with plug-in board | |
JP3839904B2 (ja) | 楽音パラメータ設定装置 | |
CN101000761B (zh) | 音调合成设备和方法 | |
US6303852B1 (en) | Apparatus and method for synthesizing musical tones using extended tone color settings | |
US5414209A (en) | Electronic musical instrument | |
US6919502B1 (en) | Musical tone generation apparatus installing extension board for expansion of tone colors and effects | |
JP4548292B2 (ja) | 音源設定装置及び音源設定プログラム | |
US6274799B1 (en) | Method of mapping waveforms to timbres in generation of musical forms | |
JP3760939B2 (ja) | 楽音合成装置 | |
JP3383108B2 (ja) | 電子楽器 | |
US5750913A (en) | Music system and electronic musical instrument | |
JP3505956B2 (ja) | 楽音合成装置 | |
JPH10319954A (ja) | 楽音生成アルゴリズム設定装置 | |
JP4211266B2 (ja) | 通信設定装置及び通信設定プログラム | |
US5841054A (en) | Musical tone synthesizing apparatus having competibility of tone color parameters for different systems | |
JP3141789B2 (ja) | コンピュータソフトウェアを用いた音源システム | |
JP2983122B2 (ja) | 電子楽器 | |
JPH11212555A (ja) | 音楽再生装置 | |
JPH11305774A (ja) | 効果付加装置、及び音響効果設定方法 | |
JPH09325770A (ja) | 電子楽器 | |
JPH0895569A (ja) | 電子楽器 | |
JP2802489B2 (ja) | 電子楽器のテスト音発生装置 | |
JPH1195769A (ja) | 音楽再生装置 | |
JPH05188941A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060804 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130811 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |