JP2819999B2 - 効果付与装置 - Google Patents

効果付与装置

Info

Publication number
JP2819999B2
JP2819999B2 JP5186911A JP18691193A JP2819999B2 JP 2819999 B2 JP2819999 B2 JP 2819999B2 JP 5186911 A JP5186911 A JP 5186911A JP 18691193 A JP18691193 A JP 18691193A JP 2819999 B2 JP2819999 B2 JP 2819999B2
Authority
JP
Japan
Prior art keywords
data
tone
modulation
effect
level
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
Application number
JP5186911A
Other languages
English (en)
Other versions
JPH0720864A (ja
Inventor
佳弘 椎谷
昌夫 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP5186911A priority Critical patent/JP2819999B2/ja
Priority to US08/250,462 priority patent/US5635658A/en
Publication of JPH0720864A publication Critical patent/JPH0720864A/ja
Application granted granted Critical
Publication of JP2819999B2 publication Critical patent/JP2819999B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、電子楽器に関し、特
にMIDIにより各種のデータを受信して動作する電子
楽器などに適用して好適な技術に関する。
【0002】
【従来の技術】従来より、一般の電子楽器において、ビ
ブラートなどの変調の感度のみを設定できるものは知ら
れている。しかし、最低変調深さを設定できるものはな
かった。
【0003】また、一般の電子楽器では、各種の設定状
態を設定し、その設定状態に基づいて動作するようにな
っているのが普通である。そして、特定の操作に応じて
その設定状態を初期設定に戻すことができる電子楽器は
あった。しかし、この場合、すべての状態が初期設定に
戻ってしまい、特定の情報のみ初期設定に戻さないもの
はなかった。
【0004】特開昭59−197090号公報には、外
部から取り込まれた楽音制御情報を、その楽音発生手段
で発生可能な楽音の特性を制御する楽音制御用データに
変換する技術が示されている。これは、その電子楽器で
発音できない音色を受け付けたときに、なんらかの音色
で置き換えて発音するものである。
【0005】しかしながら、楽器の音色のなかには置き
換えることができる音色と置き換えることがふさわしく
ない音色とがある。上記公報に開示された技術では、す
べての音色を置き換えていたので、これらの考慮がなさ
れていなかった。
【0006】機種間で楽曲データを共通にするには、特
定の音色番号に対して、機種で共通の音色を割り当てる
ことが望ましい。しかしながら、各機種は個別の発音方
式と、個別の性能を有しているので、その機種固有の音
色を持つことも考えられる。さらに、機種間で共通の音
色についても、高級な機種であれば、その中で複数の音
色のバリエーションを持つことが考えられる。
【0007】ここで、音色の少ない機種を用いて、高級
な機種の楽曲データを再生しようとした場合、対応する
音色番号がないことが考えられるが、バリエーションの
なかで音色を置き換えても、問題は生じない。ところ
が、機種固有の音色に関しては、置き換えた場合、全く
違った楽音が発生し、楽曲データの再生に支障を来すこ
とが考えられる。
【0008】また、バリエーションの音色の置き換えに
関しても、各機種がどのようなバリエーションを持って
いるかは分からないので、単純な置き換えでは、常に同
一のバリエーションに置き換わってしまうことが考えら
れる。
【0009】
【発明が解決しようとする課題】この発明は、ビブラー
トなどの変調の最低変調深さをも設定できる電子楽器を
提供することを目的とする。また、電子楽器の設定状態
を初期設定に戻す際に特定の情報のみ初期設定に戻さな
いようにできる電子楽器を提供することを目的とする。
さらに、バリエーションに相当する音色だけを置き換え
の対象とし、さらに、置き換え時に過去の履歴によって
置き換え対象を選択することにより、自然な音色の置き
換えを実現する電子楽器を提供することを目的とする。
【0010】
【課題を解決するための手段】この目的を達成するた
め、請求項1に係る発明は、最低変調深さを記憶する手
段と、変調情報を受信する手段と、前記変調情報に基づ
いて、総合変調量を決定する手段であって、前記変調情
報が取り得るすべての値に対する前記総合変調量が前記
最低変調深さ以上であるものと、前記総合変調量に応じ
て楽音に変調効果を付与する手段とを備えたことを特徴
とする。
【0011】また、請求項2に係る発明は、変調感度と
最低変調深さとを記憶する手段と、 変調情報を受信する
手段と、前記変調感度および最低変調深さ、並びに前記
変調情報に基づいて、総合変調量を決定する手段と、前
記総合変調量に応じて楽音に変調効果を付与する手段と
を備えたことを特徴とする
【0012】さらに、請求項3に係る発明は、発生すべ
き楽音の音色に対応する変調感度と最低変調深さとを記
憶する手段と、音色を設定する手段と、変調情報を受信
する手段と、設定された音色に対応する変調感度、およ
び最低変調深さ、並びに前記変調情報に基づいて、総合
変調量を決定する手段と、前記総合変調量に応じて楽音
に変調効果を付与する手段とを備えたことを特徴とす
【0013】
【作用】上記の構成によれば、ビブラートなどの変調の
感度のみでなく最低変調深さをも設定することができ
る。
【0014】
【実施例】以下、図面を用いて、この発明の実施例を説
明する。
【0015】図1は、この発明の一実施例に係る電子楽
器のブロック構成を示す。この電子楽器は、MIDIイ
ンターフェース1、CPU(中央処理装置)2、ROM
(リードオンリーメモリ)3、RAM(ランダムアクセ
スメモリ)4、操作パネル5、楽音合成回路6、エフェ
クト回路7、サウンドシステム8、およびバスライン9
を備えている。
【0016】MIDIインターフェース1は、MIDI
(Musical Instrument Digital Interface)規格にした
がって、外部のMIDI機器との間で演奏情報を送受す
るためのインターフェースである。CPU2は、この電
子楽器全体の動作を制御する。ROM3には、CPU2
が実行するプログラムや各種の制御データなどが格納さ
れている。RAM4には、各種のレジスタやフラグなど
のワーキング領域が設けられている。
【0017】操作パネル5は、ユーザが操作するための
各種の操作子を含む。楽音合成回路6は、CPU2から
の指示に基づいて楽音信号を発生する。エフェクト回路
7は、楽音合成回路6から出力された楽音信号を原音と
して入力し、各種のエフェクトを付与して出力する。サ
ウンドシステム8は、エフェクト回路7から出力される
エフェクト付与済みの楽音信号に応じて楽音を放音す
る。バスライン9は、これら各部を接続する双方向のバ
スラインである。
【0018】図2は、エフェクト回路7のブロック構成
を示す。この実施例のエフェクト回路7は、リバーブ回
路11、トレモロ回路12、コーラス回路13、乗算器
21〜24、および加算器31〜33を備えている。リ
バーブ回路11やトレモロ回路12などの個々のエフェ
クト付与のための回路は、エフェクト付与回路と総称す
るものとする。エフェクト回路7は各MIDIチャンネ
ルに対応して独立に設けられるが、時分割処理で共有し
てもよい。
【0019】楽音合成回路6からの原音の楽音信号は、
4つの乗算器21〜24に入力してそれぞれ所定の乗数
と乗算される。乗算器21は、エフェクトを付与しない
原音(ドライ音)の音量レベルを調整するためのもので
ある。乗算器22は、リバーブ回路11によりリバーブ
を付与するエフェクト音の音量レベルを調整するための
ものである。乗算器23は、トレモロ回路12によりト
レモロを付与するエフェクト音の音量レベルを調整する
ためのものである。乗算器24は、コーラス回路13に
よりコーラスを付与するエフェクト音の音量レベルを調
整するためのものである。
【0020】このように音量レベルが調整されたドライ
音、および各エフェクト音は、加算器31〜33により
加算され、最終的なエフェクト付与済みの楽音信号とし
て、サウンドシステム8に出力される。
【0021】次に、この実施例の電子楽器の動作の概要
を説明する。
【0022】この電子楽器では、MIDIインターフェ
ース1を介して、外部から演奏情報を受信する。受信し
た演奏情報は、所定のMIDIバッファに格納される。
CPU2は、このMIDIバッファをスキャンし、デー
タがあるときは、そのデータに応じた処理を行なう。
【0023】例えば、ノートデータ(音高データやキー
オン/オフデータなどを含む演奏データ)を受信した場
合、CPU2は、そのノートデータを一旦ノートバッフ
ァに書き込み、後に楽音合成回路6に対し、そのノート
データに応じた楽音信号を発生するように指示を与え
る。楽音合成回路6は、CPU2からの指示に応じて楽
音信号を発生する。
【0024】上述した乗算器21〜24の乗数、すなわ
ちドライ音および各エフェクト音の音量レベルも、外部
から与えられたエフェクトデータに応じて決定される。
すなわち、外部からエフェクトデータを受信すると、C
PU2は、そのエフェクトデータに応じて、エフェクト
回路7におけるドライ音および各エフェクト音の音量レ
ベルを設定する。
【0025】ここで、外部から与えられるエフェクトデ
ータ中には、この電子楽器に備えられていないエフェク
トに対するものもある。例えば、図2のエフェクト回路
11〜13、乗算器21〜24、および加算器31〜3
3に加えて、さらに別のエフェクト回路であるセレステ
回路41およびフェーザ回路42、乗算器51,52、
並びに加算器61〜63を備えた他の電子楽器で、エフ
ェクトデータを作成する場合がある。
【0026】このとき、そのエフェクトデータ中には、
セレステやフェーザのエフェクト音の音量レベルを設定
(調整)するためのエフェクトデータが含まれるととも
に、ドライ音の音量レベルは、セレステやフェーザのエ
フェクト音が出力されることを仮定して設定してある。
【0027】したがって、受信したエフェクトデータ
(セレステやフェーザに対する音量レベルの設定データ
を含むエフェクトデータ)をそのまま用いて、セレステ
回路やフェーザ回路を備えていない本実施例の電子楽器
のエフェクト回路7におけるドライ音およびエフェクト
音の音量レベル設定を行なうと、ドライ音の音量レベル
が小さめとなり、全体としてのエフェクトバランスがく
ずれることとなる。
【0028】そこで、この実施例の電子楽器では、自機
が備えていないセレステやフェーザに対する音量レベル
の設定データを含むエフェクトデータが受信された場合
でも、適正なエフェクトバランスを得ることができるよ
うに、以下のように音量レベルを設定するようにしてい
る。
【0029】エフェクトデータとして、「BnH+5
AH+Vd」が受信された場合 「BnH」はコントロールチェンジのコードであり、引
き続く2バイトのデータに応じて電子楽器の各部分をコ
ントロールすることができる。「n」に「0」から
「F」までのMIDIチャンネル番号を指定することが
できる。またHは16進表記であることを示す。このよ
うに、以下のエフェクトは、MIDIチャンネル毎に指
定できる。よって、各レジスタも、特にことわらない
が,MIDIチャンネル毎に用意されているものとす
る。
【0030】「5AH」は、引き続くデータがドライセ
ンドレベルVdであることを示すコードである。ドライ
センドレベルVdのデフォルト値は7FHとする。ただ
し、レベル値の範囲は00H〜7FHである。「5AH
+Vd」が受信された場合、CPU2は、その時点で設
定されている他のエフェクト音のレベルに応じてドライ
センドレベルVdを補正し、補正後の値に応じてドライ
音の音量レベルを設定する。
【0031】具体的には、ドライセンドレベルVdに、
リバーブ、トレモロ、コーラス、セレステ、およびフェ
ーザの内、受信能力のないエフェクト(この実施例では
セレステとフェーザ)のセンドレベルの相当音量を足し
算する。すなわち、受信能力のない任意のエフェクトの
センドレベルをVeとすると、ドライセンドレベルの合
計は次式により算出する。
【0032】 L=20log{(Vd4+ΣVe4/16)1/2/1272}…(1)
【0033】ここで、Lは合計したドライ音量レベル
(dB)、ΣVe4は受信能力のない(すなわち装備さ
れていない)エフェクトのセンドレベルの各々を4乗し
たものの和を取ったものである。このドライレベルL
を、エフェクト回路7に送り、この値に応じて乗算器2
1の乗数を設定する。
【0034】ただし、合計音量が0dBを越える場合
は、すべて0dBとみなす。また、(Vd4+ΣVe4
16)1/2=0のときは、L=−∞(音量ゼロ)とす
る。ドライセンド量のダイナミックレンジの下限値以下
の音量については、下限値で代用するものとする。
【0035】エフェクトデータとして、「BnH+5
BH+V」が受信された場合 「5BH」は、引き続くデータがリバーブのセンドレベ
ルVであることを示すコードである。このエフェクトデ
ータが受信された場合、CPU2は、次式によってリバ
ーブレベルLを算出し、そのリバーブレベルLをエフェ
クト回路7に送り、この値に応じて乗算器22の乗数を
設定する。
【0036】L=20log(V2/1272)…(2)
【0037】リバーブ以外のエフェクト、すなわちト
レモロ、コーラス、セレステ、およびフェーザについて
も、上記と同様に(2)式で算出したレベルで設定す
る。ただし、コード「5BH」は、それぞれ「5C
H」、「5DH」、「5EH」および「5FH」とす
る。
【0038】なお、当然ながら、装備されていないエフ
ェクトについてのエフェクトデータが上記およびの
ように受信されたときには、受信したエフェクトのセン
ドレベルVを記憶する(のVeとして用いるための記
憶)だけで、エフェクト回路への設定は行なわれない。
【0039】また、上記およびにおいて、V=0の
ときは、L=−∞(音量ゼロ)とする。各エフェクトの
リターン音の音量レベルは、センドレベル値が最大のと
きにドライ音に対しておおむね−12dBの音量感にな
るようにセットする。センド量のダイナミックレンジの
下限値以下の音量については、下限値で代用するものと
する。
【0040】各エフェクトのセンドレベルVのデフォル
ト値は、リバーブが40H、他のエフェクトが00Hと
なるようにしている。
【0041】次に、図3〜図13のフローチャートを参
照して、この実施例の電子楽器の動作を詳しく説明す
る。
【0042】図3は、この電子楽器のメインルーチンを
示す。この電子楽器の電源がオンされると、まず、ステ
ップS1でイニシャライズを行なう。次に、ステップS
2でMIDIインターフェース処理を行ない、ステップ
S3で発音処理を行ない、ステップS4でパネル処理を
行ない、ステップS5でその他の処理を行なう。その
後、ステップS2に戻り、以降の処理を繰り返す。
【0043】図4は、図3のステップS2のMIDIイ
ンターフェース処理ルーチンを示す。まず、ステップS
11でMIDIバッファをスキャンする。受信したデー
タは、MIDIバッファに格納されるようになってい
る。ステップ12でMIDIバッファにイベントデータ
が格納されているか否か判別する。イベントデータが格
納されていない場合は、そのままリターンする。
【0044】ステップS12でMIDIバッファにイベ
ントデータが格納されている場合は、そのイベントに応
じて、ステップS13で図5以下の各イベント対応処理
を実行する。各イベント対応処理を実行した後は、ステ
ップS14にて処理済のイベントデータをMIDIバッ
ファから削除し、ステップS11に戻って、MIDIバ
ッファにイベントデータが残っているかぎり、ステップ
S11からS14までの処理を繰り返す。
【0045】図5は、図4のステップS13から呼び出
されるエフェクト処理ルーチンを示す。以下のルーチン
では、各MIDIチャンネル毎に独立に処理が行われ
る。まず、ステップS21で、MIDIバッファのエフ
ェクトデータがドライレベルの設定を指示するデータ
(上記の場合)か否かを判別する。ドライレベルの設
定を指示するデータであるときは、ステップS22でド
ライレベル設定処理を行ない、リターンする。
【0046】ステップS21でドライレベルの設定を指
示するデータでないときは、ステップS23で、エフェ
クトデータがリバーブレベルの設定を指示するデータ
(上記の場合)か否かを判別する。リバーブレベルの
設定を指示するデータであるときは、ステップS24で
リバーブ設定処理を行ない、リターンする。
【0047】ステップS23でリバーブレベルの設定を
指示するデータでないときは、ステップS25で、トレ
モロレベルの設定を指示するデータか否かを判別する。
トレモロレベルの設定を指示するデータであるときは、
ステップS26でトレモロ設定処理を行ない、リターン
する。
【0048】ステップS25でトレモロレベルの設定を
指示するデータでないときは、ステップS27で、コー
ラスレベルの設定を指示するデータか否かを判別する。
コーラスレベルの設定を指示するデータであるときは、
ステップS28でコーラス設定処理を行ない、リターン
する。
【0049】ステップS27でコーラスレベルの設定を
指示するデータでないときは、ステップS29で、セレ
ステレベルの設定を指示するデータか否かを判別する。
セレステレベルの設定を指示するデータであるときは、
ステップS30でセレステ設定処理を行ない、リターン
する。
【0050】ステップS29でセレステレベルの設定を
指示するデータでないときは、ステップS31で、フェ
ーザレベルの設定を指示するデータか否かを判別する。
フェーザレベルの設定を指示するデータであるときは、
ステップS32でフェーザ設定処理を行ない、リターン
する。ステップ31でフェーザレベルの設定を指示する
データでないときは、ステップS33でその他のエフェ
クト処理を行ない、リターンする。
【0051】図6は、図5のステップS22のドライレ
ベル設定処理ルーチンを示す。まず、ステップS41
で、自機のエフェクト回路7がリバーブ、トレモロ、コ
ーラス、セレステ、およびフェーザを装備しているか否
かを調べる。次に、ステップS42で、受信したドライ
センドレベルのデータをレジスタVdにセットする。
【0052】また、ステップS43で、装備されていな
いエフェクトのレベルをレジスタVeiにセットする。
この実施例では、セレステおよびフェーザが装備されて
いないから、現時点におけるセレステレベルをレジスタ
Ve1に、フェーザレベルをレジスタVe2に、それぞ
れセットすることとなる。
【0053】次に、ステップS44で、 L=20log{(Vd4+ΣVei4/16)1/2/1
272} を計算する。これは上記の(1)式の計算である。こ
の実施例ではΣVei4は、Ve14+Ve24となる。
なお、合計音量が0dBを越える場合は、0dBとす
る。
【0054】次に、ステップS45で、上記のLをドラ
イレベルとして、エフェクト回路7に送出する。これに
より、ドライレベルLに応じて乗算器21の乗数が設定
されることとなる。ステップS45の後、リターンす
る。
【0055】図7は、図5のステップS24のリバーブ
設定処理ルーチンを示す。まず、ステップS51で、受
信したリバーブのセンドレベルのデータをレジスタVに
セットする。次に、ステップS52で、センドレベルV
をリバーブレベルとして、所定のレジスタに記憶保持す
る。ここで、リバーブレベルを記憶しておくのは、もし
自機のエフェクト回路にリバーブが装備されていないと
き、上述した図6のステップS43で装備されていない
エフェクトのレベルとして用いるためである。
【0056】次に、ステップS53で、自機のエフェク
ト回路7にリバーブが装備されているか否かを判別す
る。リバーブが装備されていないときは、そのままリタ
ーンする。リバーブが装備されているときは、ステップ
S54でL=20log(V2/1272)を計算する。
これは、上述のの(2)式の計算である。
【0057】そして、ステップS54で計算結果Lをリ
バーブレベルとしてエフェクト回路7に送出する。これ
により、リバーブレベルLに応じて乗算器22の乗数が
設定されることとなる。ステップS55の後、リターン
する。
【0058】図5のステップS26のトレモロ設定処
理、ステップS28のコーラス設定処理、ステップS3
0のセレステ設定処理、およびステップS32のフェー
ザ設定処理は、上述の図7のリバーブ設定処理と同様で
ある。すなわち、受信した各エフェクトのセンドレベル
をレジスタVにセットするとともに、所定のレジスタに
記憶保持し、さらに自機がトレモロなど各エフェクトを
装備しているか否か判別し、装備している場合は、ステ
ップS54,S55のように(2)式でレベルLを算出
して各エフェクトのレベルとしてエフェクト回路7に送
出する。
【0059】この実施例では、セレステとフェーザが装
備されていないから、ステップS30のセレステ設定処
理とステップS32のフェーザ設定処理においては、ス
テップS54,S55に相当する処理は実行されないこ
とになる。
【0060】次に、図4のステップS13から呼び出さ
れる他の処理ルーチンについて、図8〜図12を参照し
て説明するが、その前にそれらの処理ルーチンで用いて
いるレジスタについて説明する。
【0061】(1)BSL[i]:各MIDIチャンネ
ル毎のバンクセレクトのLSBを記憶するレジスタであ
る。引き数iがMIDIチャンネルを示す。 (2)BSM[i]:各MIDIチャンネル毎のバンク
セレクトのMSBを記憶するレジスタである。引き数i
がMIDIチャンネルを示す。 (3)KC:キーコードを記憶するレジスタである。 (4)KEV:キーイベント(キーオンまたはキーオ
フ)の別を記憶するレジスタである。
【0062】 (5)KV:キーベロシティを記憶するレジスタであ
る。 (6)LSD[i]:各MIDIチャンネル毎のバンク
セレクトLSBの一時記憶レジスタである。引き数iが
MIDIチャンネルを示す。 (7)M:マスターチューニングデータを記憶するレジ
スタである。 (8)MCH:MIDIチャンネル番号を記憶するレジ
スタである。 (9)MSD[i]:各MIDIチャンネル毎のバンク
セレクトMSBの一時記憶レジスタである。引き数iが
MIDIチャンネルを示す。
【0063】(10)mtun:マスタチューニングの
最終計算値を記憶するレジスタである。 (11)mvol:マスタボリュームの最終計算値を記
憶するレジスタである。 (12)PC[i]:各MIDIチャンネル毎のプログ
ラムチェンジ番号を記憶するレジスタである。引き数i
がMIDIチャンネルを示す。 (13)PD[i]:各MIDIチャンネル毎のプログ
ラムチェンジ番号の一時記憶レジスタである。引き数i
がMIDIチャンネルを示す。 (14)TCH:空きチャンネル番号を記憶するレジス
タである。
【0064】(15)VD[i]:各MIDIチャンネ
ル毎のビブラートデータの一時記憶レジスタである。引
き数iがMIDIチャンネルを示す。 (16)VDE:各MIDIチャンネル毎のビブラート
データの最終計算値を記憶するレジスタである。 (17)VMin:各音色毎のビブラートの最低変調深
さを記憶するレジスタである。 (18)VSens:各音色毎のビブラートのセンシテ
ィビティーを記憶するレジスタである。
【0065】(19)LBSL[i]:各MIDIチャ
ンネル毎の最後にバンクセレクトMSB=00Hで発音
可能であったバンクセレクトのLSBを記憶するレジス
タである。引き数iがMIDIチャンネルを示す。 (20)LPC[i]:各MIDIチャンネル毎の最後
にバンクセレクトMSB=7FHで発音可能であったプ
ログラムチェンジ番号を記憶するレジスタである。引き
数iがMIDIチャンネルを示す。 (21)USER:メロディ音色としてMSB=00H
以外を選択した際に、その音色がその楽器に用意されて
いるかどうかを示す。
【0066】なお、これらのレジスタは初期化の際にす
べて0に初期設定される。
【0067】図8は、図4のステップS13から呼び出
されるエクスクルーシブ処理ルーチンを示す。エクスク
ルーシブ処理ルーチンは、MIDIインターフェースか
らエクスクルーシブメッセージを受信したとき実行され
る。
【0068】まず、ステップS61で、MIDIバッフ
ァのエクスクルーシブデータがマスタチューニングの設
定を指示するデータであるか否かを判別する。マスタチ
ューニングの設定を指示するデータであるときは、ステ
ップS62で、受信したマスタチューニングのデータを
レジスタMにセットする。ただし、データの範囲は00
H〜FFHである。また、デフォルト値は7FHとす
る。
【0069】次に、ステップS63で、レジスタMの値
を元にマスタチューニングの最終計算値mtunを計算
する。mtunは、レジスタMのデータが00Hのとき
に−100、7FHのときに約100の値をとり、これ
をセント値として解釈することにより、標準ピッチを中
心に前後半音の範囲でマスタチューニングの設定を行う
ことができる。
【0070】さらに、ステップS64では、楽音合成回
路にレジスタmtunの値を出力する。その後、図4の
ステップ14に戻る。楽音合成回路においては、mtu
nの値を受信した時点でマスタチューニングを変更して
もよいし、その後新たに受け付ける発音より、マスタチ
ューニングを変更するようにしてもよい。
【0071】ステップS61でマスタチューニングの設
定を指示するデータでないときは、ステップS65で、
マスタボリュームの設定を指示するデータか否かを判断
する。マスタボリュームの設定を指示するデータである
ときは、ステップS66で、受信したマスタボリューム
のデータをレジスタmvolにセットする。ただし、デ
ータの範囲は00H〜7FHである。
【0072】次に、ステップS67で、楽音合成回路に
レジスタmvolの値を出力する。マスタボリュームは
実時間で処理されるべきデータであるので、楽音合成回
路に送った時点で、各チャンネルのボリュームが変化す
る。その後、図4のステップ14に戻る。
【0073】ステップS65でマスタボリュームの設定
を指示するデータでないときは、ステップS68で、シ
ステムのイニシャライズを指示するデータか否かを判断
する。システムのイニシャライズを指示するデータであ
るときは、ステップS69で、マスタチューニング以外
の各種の設定の初期化を行う。
【0074】ここで、一般の自然楽器やMIDI信号を
受け付ける自然楽器とアンサンブル演奏を行う場合、楽
器間のチューニングは最終的に演奏者が行う必要があ
る。一般にこれらのチューニングは時間がかかるが、一
度合わせれば、ある程度の期間は再調整をする必要がな
い。これに対して、システムのイニシャライズは、曲の
変わり目などで新たなデータを送る前に、不要な設定が
残らないようにするなど、比較的頻繁に使われるもので
ある。よって、ここではマスタチューニングのデータに
限ってイニシャライズを行わないようにする。イニシャ
ライズでは以下の情報の設定を行う。
【0075】・ドライセンドレベル←7FH ・各エフェクトレベル←00H ・マスタチューニング←7FH ・マスタボリューム←7FH ・プログラムチェンジ←00H ・バンクセレクトMSB←00H ・バンクセレクトMSB←7FH(MIDI10chの
み) ・バンクセレクトLSB←00H ・ビブラートデータ←00H
【0076】その後、図4のステップS14に戻る。
【0077】ステップS68でイニシャライズを指示す
るデータでないときは、ステップS70にてその他のエ
クスクルーシブ処理を行った後、図4のステップS14
に戻る。
【0078】図9は、図4のステップS13から呼び出
されるバンクセレクト処理ルーチンを示す。バンクセレ
クト処理ルーチンは、MIDIインターフェースからバ
ンクセレクト信号を受信したとき実行される。バンクセ
レクトは、MSBとLSBとを備えている。バンクセレ
クトMSBは、メロディ音色、リズム音色、およびユー
ザ音色の切り替えに用いる。バンクセレクトLSBは、
メロディ音色およびユーザ領域の拡張部を表す。
【0079】まず、ステップS81で、受信したバンク
セレクトのMIDIチャンネル番号をレジスタMCHに
設定する。ステップS82では、受信したバンクセレク
ト信号がMSB側のデータであるかどうかが判断され
る。MSB側のデータであった場合は、ステップS83
で、MIDIチャンネル毎に設けられているバンクセレ
クトデータのMSBの一時記憶レジスタMSDに、受信
したバンクセレクトデータを記憶する。その後、リター
ンする。
【0080】ステップS82にて、受信したバンクセレ
クト信号がMSB側のデータでない(すなわち、LSB
側のデータ)と判断されたときは、ステップS84に
て、レジスタLSDに、受信したバンクセレクトデータ
を記憶する。その後、リターンする。
【0081】ここで、実際のバンクセレクトは、後述す
るプログラムチェンジ信号を受信した時点で行われるこ
とになる。そのために、各バンクセレクトデータは、一
時記憶レジスタMSD、およびLSDに記憶される。
【0082】図10は、図4のステップS13から呼び
出されるプログラムチェンジ処理ルーチンを示す。プロ
グラムチェンジ処理ルーチンは、MIDIインターフェ
ースからプログラムチェンジデータを受信したとき実行
される。
【0083】まず、ステップS91で、受信したプログ
ラムチェンジのMIDIチャンネル番号をレジスタMC
Hに設定し、プログラムチェンジ番号自体をプログラム
チェンジデータの一時記憶レジスタPD[MCH]に設
定する。ステップS92で、受信したバンクセレクトデ
ータ、およびプログラムチェンジデータを、一時的に音
源送出用の各レジスタBSM[MCH],BSL[MC
H],PC[MCH]に記憶する。
【0084】次に、ステップS93で、そのMIDIチ
ャンネルに割り当てられているバンクセレクトMSBが
7FHであるか否かを判断する。7FHであった場合
は、そのMIDIチャンネルにリズム音色が割り当てら
れていることを示す。以下に説明するとおり、リズム音
色とメロディ音色とによって、プログラムチェンジやバ
ンクセレクトの信号の解釈が異なる。
【0085】MIDIのMCHチャンネルにメロディ音
色が割り当てられている場合は、ステップS94にて、
MCHチャンネルのバンクセレクトMSB、バンクセレ
クトLSB、およびプログラムチェンジPDに応じて、
メロディ音色テーブルを参照する。メロディ音色テーブ
ルには、実際の楽音データの記憶領域のアドレスが書き
込まれており、それらより、音色が存在するか否かも判
断することができる。
【0086】
【0087】ステップS95では、バンクセレクトMS
Bが00Hであるか否かを判断する。00Hである場合
は、指定された音色が機種間共通の音色セットの内の1
つであることを示すので、ステップS96以下の音色置
き換え処理を行なう。
【0088】機種間共通の音色を採用する楽器において
も、性能の違いにより、すべての音色を用意していると
は限らない。機種間共通の音色セットを用いる場合は、
プログラムチェンジにより音色を選択し、バンクセレク
トのLSBにより音色のバリエーションを選択するよう
になっている。よって、高性能の機種においては、LS
Bの拡張により、多種類のバリエーションを備えている
が、廉価な機種においては、音色セットを1種類しか備
えていないということが考えられる。
【0089】しかし、このような場合においても、同一
のプログラムチェンジ番号にしたがった音色を発音すれ
ば、それほど違和感のない音色で発音される。そこで、
指定された音色が機種間共通の音色セットの内の1つで
ある場合には、以下の通りに、最後に確認されたバンク
セレクトLSBの音色セットが発音されることとなる。
【0090】ステップS96では、ステップS94の判
断に基づいて対応する音色があったかどうかが判断され
る。音色がある場合は、ステップS92にて設定された
各情報に基づいて楽音を発生できるので、何も変更は加
えず、ステップS97にて、最後に確認されたバンクセ
レクトLSBの番号として、BSLをレジスタLBSL
にセットする。その後、リターンする。
【0091】ステップS96で音色がないと判断された
場合は、ステップS98に進み、ステップS92にて設
定された情報のうち、バンクセレクトLSBを、ステッ
プS97で設定される、LBSLで置き換える。その
後、リターンする。このようにして、バンクセレクトM
SBが00Hの場合は、バンクセレクトLSBによる音
色セットの置き換えが行なわれる。
【0092】ステップS95でバンクセレクトMSBが
00Hでなかった場合は、機種間共通の音色セットでは
なく、機種固有の音色セットが選択されたことを示す。
この場合、機種間共通音色のように音色の置き換えを行
なうことはできない。そこで、音色がある場合は、その
音色で発音を行ない、音色がない場合は少なくとも発音
を行なわないようにする。さらに、発音チャンネルの無
駄遣いを防ぐために発音チャンネルのアサイン自体を行
なわないようにしてもよい。
【0093】ステップS99では、ステップS94の判
断結果に応じて、レジスタUSERを設定する。レジス
タUSERは後述する発音処理(図13)にて利用さ
れ、USER=0の場合は、発音チャンネルの割当自体
を行なわないようにする。
【0094】ステップS93に戻り、MSDが7FHで
あると判断された場合は、ステップS100に進み、M
IDIのMCHチャンネルのバンクセレクトLSBを記
憶するレジスタBSM、およびプログラムチェンジ番号
を一時的に記憶するレジスタPDに応じて、リズム音色
テーブル中に対応する楽音が存在するかを調べる。
【0095】リズム音色についても、メロディ音色のバ
ンクセレクトLSBのように、プログラムチェンジによ
り、バリエーションの選択を行なうことができる。
【0096】ステップS101において、音色があると
判断されたときは、ステップS92にて設定されたプロ
グラムチェンジ番号PCに応じて楽音の発生を行なう
が、音色の置き換えのために、ステップS102にて設
定されたPCをLPCに保存しておく。また、音色が無
しと判断されたときは、ステップS103において、ス
テップS92で設定されたプログラムチェンジ番号を、
発音することが確認されているプログラムチェンジ番号
LPCで置き換える。その後、リターンする。
【0097】以上のように、バンクセレクトMSBは、
メロディ音とリズム音との切り替えやモデル毎の特殊な
音色セットの切り替えなどの、もっとも大局的な選択を
行う。特に、バンクセレクトMSB=OOHは、機種間
共通音色を示し、それ以外は機種固有音色であることを
示す。よって、機種間共通音色の場合は、その直前に発
音が確認されているバンクを選択することにより、音色
の置き換えを確実に行ない、機種固有音色の場合は、音
色の置き換えを行わず、無発音とすることにより、不適
切な音色の切り替えを防ぐことができる。バンクセレク
トLSBは、同一系統の音色の中でのバリエーションで
あるので、これが変更されてもそれほど多くの不都合を
招くことがない
【0098】また、リズム音色(バンクセレクトMSB
=7FH)の場合は、バンクセレクトLSBによる選択
は用いずに、プログラムチェンジおよびキーコードによ
って音色の選択を行う。ここにおいて、リズム音色のプ
ログラムチェンジにおいても、メロディ音色のバンクセ
レクトLSBと同じく、音色の置き換えを行なってい
る。
【0099】図11は、図4のステップS13から呼び
出されるビブラート処理ルーチンを示す。ビブラート処
理ルーチンは、MIDIインターフェースからビブラー
トデータを受信したとき実行される。
【0100】ビブラート処理ルーチンでは、ステップS
111で、受信したプログラムチェンジのMIDIチャ
ンネル番号をレジスタMCHに設定し、ビブラートデー
タをレジスタVD[MCH]に設定し、図4のステップ
S14に戻る。
【0101】この例では、受信されたビブラートデータ
は、受信された時点ではレジスタに記憶されるだけであ
り、実際にビブラートの情報として参照されるのは、対
応するMIDIチャンネルの発音を受け付けたときであ
る。しかし、このビブラート処理内で楽音合成回路に対
してビブラート情報を送り、リアルタイムでビブラート
処理を行えるようにしてもよい。
【0102】図12は、図4のステップS13から呼び
出されるノートイベント処理ルーチンを示す。ノートイ
ベント処理ルーチンは、MIDIインターフェースから
ノートイベントデータを受信したとき実行される。
【0103】まず、ステップS121では、受信したプ
ログラムチェンジのMIDIチャンネル番号をレジスタ
MCHに設定し、キーコード、ベロシティ、およびキー
イベントの各情報をそれぞれレジスタKC、KV、KE
Vにセットする。KEVにはキーオンKONまたはキー
オフKOFFが入る。続いて、ステップS122にて、
セットされた情報がノートバッファに記憶され、図4の
ステップS14に戻る。
【0104】以上、図5から図12で説明されたとお
り、MIDIインタフェースに入力されたデータは、図
4のMIDIインタフェース処理ルーチンにて、その内
容に応じて処理される。MIDIバッファに処理される
べきデータが無くなったときは、図3のステップS3に
戻り、発音の処理を行う。
【0105】図13は、図3のステップS3から呼び出
される発音処理ルーチンである。発音処理ルーチンで
は、まずステップS131で、ノートバッファより、図
12のステップS122にて書き込まれた各データを読
みだす。
【0106】次に、ステップS132で、読みだされた
イベントがKONイベントであるか否かを判断する。K
ONイベントであると判断された場合は、ステップS1
33で、USERが1か否かを判断する。USERが1
でないときは(すなわち、USER=0)、その音色は
その楽器に用意されていないから、そのMIDIチャン
ネルはアサインされないように、ステップS143に進
む。USERが1のときは、ステップS134に進む。
【0107】ステップS134にて、そのキーオンイベ
ントを発音するための発音空きチャンネルの確保を行
う。ここで、確保されたチャンネル番号は、レジスタT
CHにセットされる。ステップS135では、発音のた
めに指定されたMIDIチャンネルにリズム音色が指定
されている(BSM=7FH)か否かが判断される。B
SMが7FH以外の場合は、指定されたMIDIチャン
ネルに、メロディ系音色が割り当てられていることを示
す。この場合は、ステップS136に進む。
【0108】ステップS136では、各バンクセレクト
データ、およびプログラムチェンジデータに応じて、メ
ロディ音色リストより楽音データを読みだす。ここで読
みだされる楽音データは、各音色の波形の記憶アドレ
ス、エンベロープの情報、ビブラートの情報、エフェク
トの情報、および音量バランスの情報などである。
【0109】次に、ステップS137では、読みだされ
たビブラートセンシティビティをレジスタVsensに
セットし、最低変調深さをレジスタVMinにセットす
る。ステップS138では、これらの値を元に実際のビ
ブラートの値としてVDEを計算し、ステップS139
にて、ビブラート情報を楽音合成回路に出力する。ステ
ップS139の後、ステップS141に進む。
【0110】ステップS135においてBSMが7FH
であると判断された場合は、リズム音色が割り当てられ
ていることを示す。この場合は、ステップS140で、
プログラムチェンジデータ、およびキーコードに応じ
て、リズム音色リストより楽音データを読みだし、ステ
ップS141に進む。
【0111】以上のようにして、読みだされた楽音デー
タは、ステップS141にて楽音合成回路に出力され
る。これにより、楽音の発生が開始する。
【0112】ステップS133に戻り、イベントがキー
オンイベントKONでない、すなわちキーオフの場合
は、ステップS142に進み、対応する発音チャンネル
にキーオフ信号を送出する。その後、ステップS143
に進む。
【0113】ステップS143およびS144では、処
理したノートバッファのデータをクリアし、データが依
然ノートバッファに残っていればステップS131に戻
り、処理を継続する。
【0114】
【発明の効果】以上説明したように、この発明によれ
ば、ビブラートなどの変調の感度のみでなく最低変調深
さをも設定することができる。
【図面の簡単な説明】
【図1】この発明の実施例に係る効果付与装置を適用し
た電子楽器のブロック構成図
【図2】エフェクト回路のブロック構成図
【図3】実施例の電子楽器のメインルーチンを示すフロ
ーチャート図
【図4】MIDIインターフェース処理ルーチンのフロ
ーチャート図
【図5】エフェクト処理ルーチンのフローチャート図
【図6】ドライレベル設定処理ルーチンのフローチャー
ト図
【図7】リバーブ設定処理ルーチンのフローチャート図
【図8】エクスクルーシブ処理ルーチンを示すフローチ
ャート図
【図9】バンクセレクト処理ルーチンのフローチャート
【図10】プログラムチェンジ処理ルーチンのフローチ
ャート図
【図11】ビブラート処理ルーチンのフローチャート図
【図12】ノートイベント処理ルーチンのフローチャー
ト図
【図13】発音処理ルーチンのフローチャート図
【符号の説明】
1…MIDIインターフェース、2…CPU(中央処理
装置)、3…ROM(リードオンリーメモリ)、4…R
AM(ランダムアクセスメモリ)、5…操作パネル、6
…楽音合成回路、7…エフェクト回路、8…サウンドシ
ステム、9…バスライン、11…リバーブ回路、12…
トレモロ回路、13…コーラス回路、21〜24…乗算
器、31〜33…加算器、41…セレステ回路、42…
フェーザ回路、51,52…乗算器、61〜63…加算
器。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】低変調深さを記憶する手段と、 調情報を受信する手段と、 記変調情報に基づいて、総合変調量を決定する手段
    あって、前記変調情報が取り得るすべての値に対する前
    記総合変調量が前記最低変調深さ以上であるものと、 前記総合変調量に応じて楽音に変調効果を付与する手段
    とを備えたことを特徴とする効果付与装置
  2. 【請求項2】変調感度と最低変調深さとを記憶する手段
    と、 変調情報を受信する手段と、 前記変調感度および最低変調深さ、並びに前記変調情報
    に基づいて、総合変調量を決定する手段と、 前記総合変調量に応じて楽音に変調効果を付与する手段
    を備えたことを特徴とする効果付与装置
  3. 【請求項3】発生すべき楽音の音色に対応する変調感度
    と最低変調深さとを記憶する手段と、 音色を設定する手段と、 変調情報を受信する手段と、 設定された音色に対応する変調感度、および最低変調深
    さ、並びに前記変調情報に基づいて、総合変調量を決定
    する手段と、 前記総合変調量に応じて楽音に変調効果を付与する手段
    を備えたことを特徴とする効果付与装置
JP5186911A 1993-06-01 1993-06-30 効果付与装置 Expired - Fee Related JP2819999B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5186911A JP2819999B2 (ja) 1993-06-30 1993-06-30 効果付与装置
US08/250,462 US5635658A (en) 1993-06-01 1994-05-27 Sound control system for controlling an effect, tone volume and/or tone color

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5186911A JP2819999B2 (ja) 1993-06-30 1993-06-30 効果付与装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP10126752A Division JP3087724B2 (ja) 1998-04-20 1998-04-20 楽音合成装置
JP10126751A Division JP3055525B2 (ja) 1998-04-20 1998-04-20 電子楽器

Publications (2)

Publication Number Publication Date
JPH0720864A JPH0720864A (ja) 1995-01-24
JP2819999B2 true JP2819999B2 (ja) 1998-11-05

Family

ID=16196850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5186911A Expired - Fee Related JP2819999B2 (ja) 1993-06-01 1993-06-30 効果付与装置

Country Status (1)

Country Link
JP (1) JP2819999B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59197090A (ja) * 1983-04-23 1984-11-08 ヤマハ株式会社 電子楽器
JPS6146596B2 (ja) * 1983-11-24 1986-10-15 Sanyo Kokusaku Pulp Co
JPS6238497A (ja) * 1985-08-14 1987-02-19 カシオ計算機株式会社 電子楽器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6146596U (ja) * 1984-08-30 1986-03-28 カシオ計算機株式会社 電子楽器のパラメ−タ設定装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59197090A (ja) * 1983-04-23 1984-11-08 ヤマハ株式会社 電子楽器
JPS6146596B2 (ja) * 1983-11-24 1986-10-15 Sanyo Kokusaku Pulp Co
JPS6238497A (ja) * 1985-08-14 1987-02-19 カシオ計算機株式会社 電子楽器

Also Published As

Publication number Publication date
JPH0720864A (ja) 1995-01-24

Similar Documents

Publication Publication Date Title
US6816833B1 (en) Audio signal processor with pitch and effect control
JP2746157B2 (ja) 電子楽器
US4552051A (en) Electronic musical instrument with key touch detector and operator member
US5136916A (en) Electronic musical instrument
JP2002311957A (ja) 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム
US5635658A (en) Sound control system for controlling an effect, tone volume and/or tone color
US5422430A (en) Electrical musical instrument providing sound field localization
JP3694172B2 (ja) 残響共鳴装置及び残響共鳴方法
JP2819999B2 (ja) 効果付与装置
JP3055525B2 (ja) 電子楽器
JP3087724B2 (ja) 楽音合成装置
JP3530600B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP2858120B2 (ja) 電子楽器
JP3156285B2 (ja) 電子楽器
WO1996004642A1 (en) Timbral apparatus and method for musical sounds
JP3141789B2 (ja) コンピュータソフトウェアを用いた音源システム
JP3595676B2 (ja) 楽音生成装置及び楽音生成方法
JP3394626B2 (ja) 電子楽器
JP3455976B2 (ja) 楽音発生装置
JP3296248B2 (ja) 楽音演奏装置
JP3590189B2 (ja) 電子弦楽器
JPH038558B2 (ja)
JP3121196B2 (ja) 電子楽器
JPS6334474B2 (ja)
JP2003345352A (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees