JP3055525B2 - 電子楽器 - Google Patents
電子楽器Info
- Publication number
- JP3055525B2 JP3055525B2 JP10126751A JP12675198A JP3055525B2 JP 3055525 B2 JP3055525 B2 JP 3055525B2 JP 10126751 A JP10126751 A JP 10126751A JP 12675198 A JP12675198 A JP 12675198A JP 3055525 B2 JP3055525 B2 JP 3055525B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- setting
- tone
- level
- effect
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
し、特に電子楽器の各種の設定状態の初期化処理に関す
るものである。
設定状態を設定し、その設定状態に基づいて動作するよ
うになっているのが普通である。そして、特定の操作に
応じてその設定状態を初期設定に戻すことができる電子
楽器はあった。しかし、この場合、すべての状態が初期
設定に戻ってしまい、特定の情報のみ初期設定に戻さな
いものはなかった。
ユーザが指定したパラメータについて初期値と同じ値に
復帰設定するパラメータ設定装置は知られていた。具体
的には、パラメータの種類を指定するキーの何れかとイ
ニシャライズキーとの同時押下により、そのパラメータ
が初期化されるものである。
するパラメータをすべて初期化する方式では、ユーザの
意思に反して全パラメータを初期化してしまう場合があ
るという不都合があった。また、ユーザが指定した種類
のパラメータについて初期化を行なう方式では、初期化
するパラメータをユーザが選択しなければならないの
で、初心者などにとっては所望のパラメータ以外を初期
化してしまう可能性があり、また初期化するパラメータ
を1つ1つユーザが選択しなければならないので、操作
が面倒であるとともに演奏途中で初期化を行なうことが
実質的に不可能であった。
定に戻す際に、全ての種類のパラメータを一括して初期
化するのでなく、初期化しなくて良いあるいは初期化し
ないほうが良い種類のパラメータについては自動的に初
期化を行なわないようにした電子楽器を提供することを
目的とする。また、電子楽器の初期化に際し、初心者な
ども迷うことなく、操作が簡単で演奏途中でも初期化を
行なうことができるようにした電子楽器を提供すること
を目的とする。
め、この発明は、各種の設定状態に基づいて動作する電
子楽器であって、前記各種の設定状態を規定する情報を
記憶する設定記憶手段であって、該情報は、あらかじめ
第1の種類の情報と複数の第2の種類の情報とに固定的
に分けられているものと、演奏者の指示に応じて前記設
定記憶手段に記憶された情報を変更する設定変更手段
と、前記設定記憶手段に記憶された情報を初期状態に戻
す指示を行なう指示手段と、前記指示手段の指示に応じ
て、前記設定記憶手段に記憶された複数の第2の種類の
情報を一括して初期状態に戻すとともに、前記設定記憶
手段に記憶された第1の種類の情報は現在の状態で維持
する初期状態復帰手段とを備えたことを特徴とする。
明する。
器のブロック構成を示す。この電子楽器は、MIDIイ
ンターフェース1、CPU(中央処理装置)2、ROM
(リードオンリーメモリ)3、RAM(ランダムアクセ
スメモリ)4、操作パネル5、楽音合成回路6、エフェ
クト回路7、サウンドシステム8、およびバスライン9
を備えている。
(Musical Instrument Digital Interface)規格にした
がって、外部のMIDI機器との間で演奏情報を送受す
るためのインターフェースである。CPU2は、この電
子楽器全体の動作を制御する。ROM3には、CPU2
が実行するプログラムや各種の制御データなどが格納さ
れている。RAM4には、各種のレジスタやフラグなど
のワーキング領域が設けられている。
各種の操作子を含む。楽音合成回路6は、CPU2から
の指示に基づいて楽音信号を発生する。エフェクト回路
7は、楽音合成回路6から出力された楽音信号を原音と
して入力し、各種のエフェクトを付与して出力する。サ
ウンドシステム8は、エフェクト回路7から出力される
エフェクト付与済みの楽音信号に応じて楽音を放音す
る。バスライン9は、これら各部を接続する双方向のバ
スラインである。
を示す。この実施例のエフェクト回路7は、リバーブ回
路11、トレモロ回路12、コーラス回路13、乗算器
21〜24、および加算器31〜33を備えている。リ
バーブ回路11やトレモロ回路12などの個々のエフェ
クト付与のための回路は、エフェクト付与回路と総称す
るものとする。エフェクト回路7は各MIDIチャンネ
ルに対応して独立に設けられるが、時分割処理で共有し
てもよい。
4つの乗算器21〜24に入力してそれぞれ所定の乗数
と乗算される。乗算器21は、エフェクトを付与しない
原音(ドライ音)の音量レベルを調整するためのもので
ある。乗算器22は、リバーブ回路11によりリバーブ
を付与するエフェクト音の音量レベルを調整するための
ものである。乗算器23は、トレモロ回路12によりト
レモロを付与するエフェクト音の音量レベルを調整する
ためのものである。乗算器24は、コーラス回路13に
よりコーラスを付与するエフェクト音の音量レベルを調
整するためのものである。
音、および各エフェクト音は、加算器31〜33により
加算され、最終的なエフェクト付与済みの楽音信号とし
て、サウンドシステム8に出力される。
を説明する。
ース1を介して、外部から演奏情報を受信する。受信し
た演奏情報は、所定のMIDIバッファに格納される。
CPU2は、このMIDIバッファをスキャンし、デー
タがあるときは、そのデータに応じた処理を行なう。
オン/オフデータなどを含む演奏データ)を受信した場
合、CPU2は、そのノートデータを一旦ノートバッフ
ァに書き込み、後に楽音合成回路6に対し、そのノート
データに応じた楽音信号を発生するように指示を与え
る。楽音合成回路6は、CPU2からの指示に応じて楽
音信号を発生する。
ちドライ音および各エフェクト音の音量レベルも、外部
から与えられたエフェクトデータに応じて決定される。
すなわち、外部からエフェクトデータを受信すると、C
PU2は、そのエフェクトデータに応じて、エフェクト
回路7におけるドライ音および各エフェクト音の音量レ
ベルを設定する。
ータ中には、この電子楽器に備えられていないエフェク
トに対するものもある。例えば、図2のエフェクト回路
11〜13、乗算器21〜24、および加算器31〜3
3に加えて、さらに別のエフェクト回路であるセレステ
回路41およびフェーザ回路42、乗算器51,52、
並びに加算器61〜63を備えた他の電子楽器で、エフ
ェクトデータを作成する場合がある。
セレステやフェーザのエフェクト音の音量レベルを設定
(調整)するためのエフェクトデータが含まれるととも
に、ドライ音の音量レベルは、セレステやフェーザのエ
フェクト音が出力されることを仮定して設定してある。
(セレステやフェーザに対する音量レベルの設定データ
を含むエフェクトデータ)をそのまま用いて、セレステ
回路やフェーザ回路を備えていない本実施例の電子楽器
のエフェクト回路7におけるドライ音およびエフェクト
音の音量レベル設定を行なうと、ドライ音の音量レベル
が小さめとなり、全体としてのエフェクトバランスがく
ずれることとなる。
が備えていないセレステやフェーザに対する音量レベル
の設定データを含むエフェクトデータが受信された場合
でも、適正なエフェクトバランスを得ることができるよ
うに、以下のように音量レベルを設定するようにしてい
る。
AH+Vd」が受信された場合 「BnH」はコントロールチェンジのコードであり、引
き続く2バイトのデータに応じて電子楽器の各部分をコ
ントロールすることができる。「n」に「0」から
「F」までのMIDIチャンネル番号を指定することが
できる。またHは16進表記であることを示す。このよ
うに、以下のエフェクトは、MIDIチャンネル毎に指
定できる。よって、各レジスタも、特にことわらない
が,MIDIチャンネル毎に用意されているものとす
る。
ンドレベルVdであることを示すコードである。ドライ
センドレベルVdのデフォルト値は7FHとする。ただ
し、レベル値の範囲は00H〜7FHである。「5AH
+Vd」が受信された場合、CPU2は、その時点で設
定されている他のエフェクト音のレベルに応じてドライ
センドレベルVdを補正し、補正後の値に応じてドライ
音の音量レベルを設定する。
リバーブ、トレモロ、コーラス、セレステ、およびフェ
ーザの内、受信能力のないエフェクト(この実施例では
セレステとフェーザ)のセンドレベルの相当音量を足し
算する。すなわち、受信能力のない任意のエフェクトの
センドレベルをVeとすると、ドライセンドレベルの合
計は次式により算出する。
(dB)、ΣVe4は受信能力のない(すなわち装備さ
れていない)エフェクトのセンドレベルの各々を4乗し
たものの和を取ったものである。このドライレベルL
を、エフェクト回路7に送り、この値に応じて乗算器2
1の乗数を設定する。
は、すべて0dBとみなす。また、(Vd4+ΣVe4/
16)1/2=0のときは、L=−∞(音量ゼロ)とす
る。ドライセンド量のダイナミックレンジの下限値以下
の音量については、下限値で代用するものとする。
BH+V」が受信された場合 「5BH」は、引き続くデータがリバーブのセンドレベ
ルVであることを示すコードである。このエフェクトデ
ータが受信された場合、CPU2は、次式によってリバ
ーブレベルLを算出し、そのリバーブレベルLをエフェ
クト回路7に送り、この値に応じて乗算器22の乗数を
設定する。
レモロ、コーラス、セレステ、およびフェーザについて
も、上記と同様に(2)式で算出したレベルで設定す
る。ただし、コード「5BH」は、それぞれ「5C
H」、「5DH」、「5EH」および「5FH」とす
る。
ェクトについてのエフェクトデータが上記およびの
ように受信されたときには、受信したエフェクトのセン
ドレベルVを記憶する(のVeとして用いるための記
憶)だけで、エフェクト回路への設定は行なわれない。
ときは、L=−∞(音量ゼロ)とする。各エフェクトの
リターン音の音量レベルは、センドレベル値が最大のと
きにドライ音に対しておおむね−12dBの音量感にな
るようにセットする。センド量のダイナミックレンジの
下限値以下の音量については、下限値で代用するものと
する。
ト値は、リバーブが40H、他のエフェクトが00Hと
なるようにしている。
照して、この実施例の電子楽器の動作を詳しく説明す
る。
示す。この電子楽器の電源がオンされると、まず、ステ
ップS1でイニシャライズを行なう。次に、ステップS
2でMIDIインターフェース処理を行ない、ステップ
S3で発音処理を行ない、ステップS4でパネル処理を
行ない、ステップS5でその他の処理を行なう。その
後、ステップS2に戻り、以降の処理を繰り返す。
ンターフェース処理ルーチンを示す。まず、ステップS
11でMIDIバッファをスキャンする。受信したデー
タは、MIDIバッファに格納されるようになってい
る。ステップ12でMIDIバッファにイベントデータ
が格納されているか否か判別する。イベントデータが格
納されていない場合は、そのままリターンする。
ントデータが格納されている場合は、そのイベントに応
じて、ステップS13で図5以下の各イベント対応処理
を実行する。各イベント対応処理を実行した後は、ステ
ップS14にて処理済のイベントデータをMIDIバッ
ファから削除し、ステップS11に戻って、MIDIバ
ッファにイベントデータが残っているかぎり、ステップ
S11からS14までの処理を繰り返す。
されるエフェクト処理ルーチンを示す。以下のルーチン
では、各MIDIチャンネル毎に独立に処理が行われ
る。まず、ステップS21で、MIDIバッファのエフ
ェクトデータがドライレベルの設定を指示するデータ
(上記の場合)か否かを判別する。ドライレベルの設
定を指示するデータであるときは、ステップS22でド
ライレベル設定処理を行ない、リターンする。
示するデータでないときは、ステップS23で、エフェ
クトデータがリバーブレベルの設定を指示するデータ
(上記の場合)か否かを判別する。リバーブレベルの
設定を指示するデータであるときは、ステップS24で
リバーブ設定処理を行ない、リターンする。
指示するデータでないときは、ステップS25で、トレ
モロレベルの設定を指示するデータか否かを判別する。
トレモロレベルの設定を指示するデータであるときは、
ステップS26でトレモロ設定処理を行ない、リターン
する。
指示するデータでないときは、ステップS27で、コー
ラスレベルの設定を指示するデータか否かを判別する。
コーラスレベルの設定を指示するデータであるときは、
ステップS28でコーラス設定処理を行ない、リターン
する。
指示するデータでないときは、ステップS29で、セレ
ステレベルの設定を指示するデータか否かを判別する。
セレステレベルの設定を指示するデータであるときは、
ステップS30でセレステ設定処理を行ない、リターン
する。
指示するデータでないときは、ステップS31で、フェ
ーザレベルの設定を指示するデータか否かを判別する。
フェーザレベルの設定を指示するデータであるときは、
ステップS32でフェーザ設定処理を行ない、リターン
する。ステップ31でフェーザレベルの設定を指示する
データでないときは、ステップS33でその他のエフェ
クト処理を行ない、リターンする。
ベル設定処理ルーチンを示す。まず、ステップS41
で、自機のエフェクト回路7がリバーブ、トレモロ、コ
ーラス、セレステ、およびフェーザを装備しているか否
かを調べる。次に、ステップS42で、受信したドライ
センドレベルのデータをレジスタVdにセットする。
いエフェクトのレベルをレジスタVeiにセットする。
この実施例では、セレステおよびフェーザが装備されて
いないから、現時点におけるセレステレベルをレジスタ
Ve1に、フェーザレベルをレジスタVe2に、それぞ
れセットすることとなる。
272} を計算する。これは上記の(1)式の計算である。こ
の実施例ではΣVei4は、Ve14+Ve24となる。
なお、合計音量が0dBを越える場合は、0dBとす
る。
イレベルとして、エフェクト回路7に送出する。これに
より、ドライレベルLに応じて乗算器21の乗数が設定
されることとなる。ステップS45の後、リターンす
る。
設定処理ルーチンを示す。まず、ステップS51で、受
信したリバーブのセンドレベルのデータをレジスタVに
セットする。次に、ステップS52で、センドレベルV
をリバーブレベルとして、所定のレジスタに記憶保持す
る。ここで、リバーブレベルを記憶しておくのは、もし
自機のエフェクト回路にリバーブが装備されていないと
き、上述した図6のステップS43で装備されていない
エフェクトのレベルとして用いるためである。
ト回路7にリバーブが装備されているか否かを判別す
る。リバーブが装備されていないときは、そのままリタ
ーンする。リバーブが装備されているときは、ステップ
S54でL=20log(V2/1272)を計算する。
これは、上述のの(2)式の計算である。
バーブレベルとしてエフェクト回路7に送出する。これ
により、リバーブレベルLに応じて乗算器22の乗数が
設定されることとなる。ステップS55の後、リターン
する。
理、ステップS28のコーラス設定処理、ステップS3
0のセレステ設定処理、およびステップS32のフェー
ザ設定処理は、上述の図7のリバーブ設定処理と同様で
ある。すなわち、受信した各エフェクトのセンドレベル
をレジスタVにセットするとともに、所定のレジスタに
記憶保持し、さらに自機がトレモロなど各エフェクトを
装備しているか否か判別し、装備している場合は、ステ
ップS54,S55のように(2)式でレベルLを算出
して各エフェクトのレベルとしてエフェクト回路7に送
出する。
備されていないから、ステップS30のセレステ設定処
理とステップS32のフェーザ設定処理においては、ス
テップS54,S55に相当する処理は実行されないこ
とになる。
れる他の処理ルーチンについて、図8〜図12を参照し
て説明するが、その前にそれらの処理ルーチンで用いて
いるレジスタについて説明する。
ル毎のバンクセレクトのLSBを記憶するレジスタであ
る。引き数iがMIDIチャンネルを示す。 (2)BSM[i]:各MIDIチャンネル毎のバンク
セレクトのMSBを記憶するレジスタである。引き数i
がMIDIチャンネルを示す。 (3)KC:キーコードを記憶するレジスタである。
(4)KEV:キーイベント(キーオンまたはキーオ
フ)の別を記憶するレジスタである。
ジスタである。 (6)LSD[i]:各MIDIチャンネル毎のバンク
セレクトLSBの一時記憶レジスタである。引き数iが
MIDIチャンネルを示す。 (7)M:マスターチューニングデータを記憶するレジ
スタである。 (8)MCH:MIDIチャンネル番号を記憶するレジ
スタである。 (9)MSD[i]:各MIDIチャンネル毎のバンク
セレクトMSBの一時記憶レジスタである。引き数iが
MIDIチャンネルを示す。
最終計算値を記憶するレジスタである。 (11)mvol:マスタボリュームの最終計算値を記
憶するレジスタである。 (12)PC[i]:各MIDIチャンネル毎のプログ
ラムチェンジ番号を記憶するレジスタである。引き数i
がMIDIチャンネルを示す。 (13)PD[i]:各MIDIチャンネル毎のプログ
ラムチェンジ番号の一時記憶レジスタである。引き数i
がMIDIチャンネルを示す。 (14)TCH:空きチャンネル番号を記憶するレジス
タである。
ル毎のビブラートデータの一時記憶レジスタである。引
き数iがMIDIチャンネルを示す。 (16)VDE:各MIDIチャンネル毎のビブラート
データの最終計算値を記憶するレジスタである。 (17)VMin:各音色毎のビブラートの最低変調深
さを記憶するレジスタである。 (18)VSens:各音色毎のビブラートのセンシテ
ィビティーを記憶するレジスタである。
ンネル毎の最後にバンクセレクトMSB=00Hで発音
可能であったバンクセレクトのLSBを記憶するレジス
タである。引き数iがMIDIチャンネルを示す。 (20)LPC[i]:各MIDIチャンネル毎の最後
にバンクセレクトMSB=7FHで発音可能であったプ
ログラムチェンジ番号を記憶するレジスタである。引き
数iがMIDIチャンネルを示す。 (21)USER:メロディ音色としてMSB=00H
以外を選択した際に、その音色がその楽器に用意されて
いるかどうかを示す。
べて0に初期設定される。
されるエクスクルーシブ処理ルーチンを示す。エクスク
ルーシブ処理ルーチンは、MIDIインターフェースか
らエクスクルーシブメッセージを受信したとき実行され
る。
ァのエクスクルーシブデータがマスタチューニングの設
定を指示するデータであるか否かを判別する。マスタチ
ューニングの設定を指示するデータであるときは、ステ
ップS62で、受信したマスタチューニングのデータを
レジスタMにセットする。ただし、データの範囲は00
H〜FFHである。また、デフォルト値は7FHとす
る。
を元にマスタチューニングの最終計算値mtunを計算
する。mtunは、レジスタMのデータが00Hのとき
に−100、7FHのときに約100の値をとり、これ
をセント値として解釈することにより、標準ピッチを中
心に前後半音の範囲でマスタチューニングの設定を行う
ことができる。
路にレジスタmtunの値を出力する。その後、図4の
ステップ14に戻る。楽音合成回路においては、mtu
nの値を受信した時点でマスタチューニングを変更して
もよいし、その後新たに受け付ける発音より、マスタチ
ューニングを変更するようにしてもよい。
定を指示するデータでないときは、ステップS65で、
マスタボリュームの設定を指示するデータか否かを判断
する。マスタボリュームの設定を指示するデータである
ときは、ステップS66で、受信したマスタボリューム
のデータをレジスタmvolにセットする。ただし、デ
ータの範囲は00H〜7FHである。
レジスタmvolの値を出力する。マスタボリュームは
実時間で処理されるべきデータであるので、楽音合成回
路に送った時点で、各チャンネルのボリュームが変化す
る。その後、図4のステップ14に戻る。
を指示するデータでないときは、ステップS68で、シ
ステムのイニシャライズを指示するデータか否かを判断
する。システムのイニシャライズを指示するデータであ
るときは、ステップS69で、マスタチューニング以外
の各種の設定の初期化を行う。
受け付ける自然楽器とアンサンブル演奏を行う場合、楽
器間のチューニングは最終的に演奏者が行う必要があ
る。一般にこれらのチューニングは時間がかかるが、一
度合わせれば、ある程度の期間は再調整をする必要がな
い。これに対して、システムのイニシャライズは、曲の
変わり目などで新たなデータを送る前に、不要な設定が
残らないようにするなど、比較的頻繁に使われるもので
ある。よって、ここではマスタチューニングのデータに
限ってイニシャライズを行わないようにする。イニシャ
ライズでは以下の情報の設定を行う。
み) ・バンクセレクトLSB←00H ・ビブラートデータ←00H
るデータでないときは、ステップS70にてその他のエ
クスクルーシブ処理を行った後、図4のステップS14
に戻る。
されるバンクセレクト処理ルーチンを示す。バンクセレ
クト処理ルーチンは、MIDIインターフェースからバ
ンクセレクト信号を受信したとき実行される。バンクセ
レクトは、MSBとLSBとを備えている。バンクセレ
クトMSBは、メロディ音色、リズム音色、およびユー
ザ音色の切り替えに用いる。バンクセレクトLSBは、
メロディ音色およびユーザ領域の拡張部を表す。
セレクトのMIDIチャンネル番号をレジスタMCHに
設定する。ステップS82では、受信したバンクセレク
ト信号がMSB側のデータであるかどうかが判断され
る。MSB側のデータであった場合は、ステップS83
で、MIDIチャンネル毎に設けられているバンクセレ
クトデータのMSBの一時記憶レジスタMSDに、受信
したバンクセレクトデータを記憶する。その後、リター
ンする。
クト信号がMSB側のデータでない(すなわち、LSB
側のデータ)と判断されたときは、ステップS84に
て、レジスタLSDに、受信したバンクセレクトデータ
を記憶する。その後、リターンする。
るプログラムチェンジ信号を受信した時点で行われるこ
とになる。そのために、各バンクセレクトデータは、一
時記憶レジスタMSD、およびLSDに記憶される。
出されるプログラムチェンジ処理ルーチンを示す。プロ
グラムチェンジ処理ルーチンは、MIDIインターフェ
ースからプログラムチェンジデータを受信したとき実行
される。
ラムチェンジのMIDIチャンネル番号をレジスタMC
Hに設定し、プログラムチェンジ番号自体をプログラム
チェンジデータの一時記憶レジスタPD[MCH]に設
定する。ステップS92で、受信したバンクセレクトデ
ータ、およびプログラムチェンジデータを、一時的に音
源送出用の各レジスタBSM[MCH],BSL[MC
H],PC[MCH]に記憶する。
ャンネルに割り当てられているバンクセレクトMSBが
7FHであるか否かを判断する。7FHであった場合
は、そのMIDIチャンネルにリズム音色が割り当てら
れていることを示す。以下に説明するとおり、リズム音
色とメロディ音色とによって、プログラムチェンジやバ
ンクセレクトの信号の解釈が異なる。
色が割り当てられている場合は、ステップS94にて、
MCHチャンネルのバンクセレクトMSB、バンクセレ
クトLSB、およびプログラムチェンジPDに応じて、
メロディ音色テーブルを参照する。メロディ音色テーブ
ルには、実際の楽音データの記憶領域のアドレスが書き
込まれており、それらより、音色が存在するか否かも判
断することができる。
Bが00Hであるか否かを判断する。00Hである場合
は、指定された音色が機種間共通の音色セットの内の1
つであることを示すので、ステップS96以下の音色置
き換え処理を行なう。
も、性能の違いにより、すべての音色を用意していると
は限らない。機種間共通の音色セットを用いる場合は、
プログラムチェンジにより音色を選択し、バンクセレク
トのLSBにより音色のバリエーションを選択するよう
になっている。よって、高性能の機種においては、LS
Bの拡張により、多種類のバリエーションを備えている
が、廉価な機種においては、音色セットを1種類しか備
えていないということが考えられる。
のプログラムチェンジ番号にしたがった音色を発音すれ
ば、それほど違和感のない音色で発音される。そこで、
指定された音色が機種間共通の音色セットの内の1つで
ある場合には、以下の通りに、最後に確認されたバンク
セレクトLSBの音色セットが発音されることとなる。
断に基づいて対応する音色があったかどうかが判断され
る。音色がある場合は、ステップS92にて設定された
各情報に基づいて楽音を発生できるので、何も変更は加
えず、ステップS97にて、最後に確認されたバンクセ
レクトLSBの番号として、BSLをレジスタLBSL
にセットする。その後、リターンする。
場合は、ステップS98に進み、ステップS92にて設
定された情報のうち、バンクセレクトLSBを、ステッ
プS97で設定される、LBSLで置き換える。その
後、リターンする。このようにして、バンクセレクトM
SBが00Hの場合は、バンクセレクトLSBによる音
色セットの置き換えが行なわれる。
00Hでなかった場合は、機種間共通の音色セットでは
なく、機種固有の音色セットが選択されたことを示す。
この場合、機種間共通音色のように音色の置き換えを行
なうことはできない。そこで、音色がある場合は、その
音色で発音を行ない、音色がない場合は少なくとも発音
を行なわないようにする。さらに、発音チャンネルの無
駄遣いを防ぐために発音チャンネルのアサイン自体を行
なわないようにしてもよい。
断結果に応じて、レジスタUSERを設定する。レジス
タUSERは後述する発音処理(図13)にて利用さ
れ、USER=0の場合は、発音チャンネルの割当自体
を行なわないようにする。
あると判断された場合は、ステップS100に進み、M
IDIのMCHチャンネルのバンクセレクトLSBを記
憶するレジスタBSM、およびプログラムチェンジ番号
を一時的に記憶するレジスタPDに応じて、リズム音色
テーブル中に対応する楽音が存在するかを調べる。
ンクセレクトLSBのように、プログラムチェンジによ
り、バリエーションの選択を行なうことができる。
判断されたときは、ステップS92にて設定されたプロ
グラムチェンジ番号PCに応じて楽音の発生を行なう
が、音色の置き換えのために、ステップS102にて設
定されたPCをLPCに保存しておく。また、音色が無
しと判断されたときは、ステップS103において、ス
テップS92で設定されたプログラムチェンジ番号を、
発音することが確認されているプログラムチェンジ番号
LPCで置き換える。その後、リターンする。
メロディ音とリズム音との切り替えやモデル毎の特殊な
音色セットの切り替えなどの、もっとも大局的な選択を
行う。特に、バンクセレクトMSB=00Hは、機種間
共通音色を示し、それ以外は機種固有音色であることを
示す。よって、機種間共通音色の場合は、その直前に発
音が確認されているバンクを選択することにより、音色
の置き換えを確実に行ない、機種固有音色の場合は、音
色の置き換えを行わず、無発音とすることにより、不適
切な音色の切り替えを防ぐことができる。バンクセレク
トLSBは、同一系統の音色の中でのバリエーションで
あるので、これが変更されてもそれほど多くの不都合を
招くことがない。
=7FH)の場合は、バンクセレクトLSBによる選択
は用いずに、プログラムチェンジおよびキーコードによ
って音色の選択を行う。ここにおいて、リズム音色のプ
ログラムチェンジにおいても、メロディ音色のバンクセ
レクトLSBと同じく、音色の置き換えを行なってい
る。
出されるビブラート処理ルーチンを示す。ビブラート処
理ルーチンは、MIDIインターフェースからビブラー
トデータを受信したとき実行される。
111で、受信したプログラムチェンジのMIDIチャ
ンネル番号をレジスタMCHに設定し、ビブラートデー
タをレジスタVD[MCH]に設定し、図4のステップ
S14に戻る。
は、受信された時点ではレジスタに記憶されるだけであ
り、実際にビブラートの情報として参照されるのは、対
応するMIDIチャンネルの発音を受け付けたときであ
る。しかし、このビブラート処理内で楽音合成回路に対
してビブラート情報を送り、リアルタイムでビブラート
処理を行えるようにしてもよい。
出されるノートイベント処理ルーチンを示す。ノートイ
ベント処理ルーチンは、MIDIインターフェースから
ノートイベントデータを受信したとき実行される。
ログラムチェンジのMIDIチャンネル番号をレジスタ
MCHに設定し、キーコード、ベロシティ、およびキー
イベントの各情報をそれぞれレジスタKC、KV、KE
Vにセットする。KEVにはキーオンKONまたはキー
オフKOFFが入る。続いて、ステップS122にて、
セットされた情報がノートバッファに記憶され、図4の
ステップS14に戻る。
り、MIDIインタフェースに入力されたデータは、図
4のMIDIインタフェース処理ルーチンにて、その内
容に応じて処理される。MIDIバッファに処理される
べきデータが無くなったときは、図3のステップS3に
戻り、発音の処理を行う。
される発音処理ルーチンである。発音処理ルーチンで
は、まずステップS131で、ノートバッファより、図
12のステップS122にて書き込まれた各データを読
みだす。
イベントがKONイベントであるか否かを判断する。K
ONイベントであると判断された場合は、ステップS1
33で、USERが1か否かを判断する。USERが1
でないときは(すなわち、USER=0)、その音色は
その楽器に用意されていないから、そのMIDIチャン
ネルはアサインされないように、ステップS143に進
む。USERが1のときは、ステップS134に進む。
ントを発音するための発音空きチャンネルの確保を行
う。ここで、確保されたチャンネル番号は、レジスタT
CHにセットされる。ステップS135では、発音のた
めに指定されたMIDIチャンネルにリズム音色が指定
されている(BSM=7FH)か否かが判断される。B
SMが7FH以外の場合は、指定されたMIDIチャン
ネルに、メロディ系音色が割り当てられていることを示
す。この場合は、ステップS136に進む。
データ、およびプログラムチェンジデータに応じて、メ
ロディ音色リストより楽音データを読みだす。ここで読
みだされる楽音データは、各音色の波形の記憶アドレ
ス、エンベロープの情報、ビブラートの情報、エフェク
トの情報、および音量バランスの情報などである。
たビブラートセンシティビティをレジスタVsensに
セットし、最低変調深さをレジスタVMinにセットす
る。ステップS138では、これらの値を元に実際のビ
ブラートの値としてVDEを計算し、ステップS139
にて、ビブラート情報を楽音合成回路に出力する。ステ
ップS139の後、ステップS141に進む。
であると判断された場合は、リズム音色が割り当てられ
ていることを示す。この場合は、ステップS140で、
プログラムチェンジデータ、およびキーコードに応じ
て、リズム音色リストより楽音データを読みだし、ステ
ップS141に進む。
タは、ステップS141にて楽音合成回路に出力され
る。これにより、楽音の発生が開始する。
オンイベントKONでない、すなわちキーオフの場合
は、ステップS142に進み、対応する発音チャンネル
にキーオフ信号を送出する。その後、ステップS143
に進む。
理したノートバッファのデータをクリアし、データが依
然ノートバッファに残っていればステップS131に戻
り、処理を継続する。
ば、電子楽器の設定状態を初期設定に戻す際に、マスタ
チューニングなどの特定の種類の情報のみを初期設定に
戻さないようにできる。また、演奏者の初期化の指示に
対し、初期化を行なう第2の種類の情報と初期化を行な
わない第1の種類の情報はあらかじめ固定的に決められ
ているので、初心者などが所望のパラメータ以外を初期
化してしまうことを防ぐことができ、また複数の情報
(第2の種類の情報)が一括して初期化されるので、簡
易な操作で電子楽器の初期化を行なえるとともに、演奏
途中で初期化を行なうことも可能である。
子楽器のブロック構成図
ーチャート図
ーチャート図
ト図
ャート図
図
ャート図
ト図
装置)、3…ROM(リードオンリーメモリ)、4…R
AM(ランダムアクセスメモリ)、5…操作パネル、6
…楽音合成回路、7…エフェクト回路、8…サウンドシ
ステム、9…バスライン、11…リバーブ回路、12…
トレモロ回路、13…コーラス回路、21〜24…乗算
器、31〜33…加算器、41…セレステ回路、42…
フェーザ回路、51,52…乗算器、61〜63…加算
器。
Claims (1)
- 【請求項1】各種の設定状態に基づいて動作する電子楽
器であって、 前記各種の設定状態を規定する情報を記憶する設定記憶
手段であって、該情報は、あらかじめ第1の種類の情報
と複数の第2の種類の情報とに固定的に分けられている
ものと、 演奏者の指示に応じて前記設定記憶手段に記憶された情
報を変更する設定変更手段と、 前記設定記憶手段に記憶された情報を初期状態に戻す指
示を行なう指示手段と、 前記指示手段の指示に応じて、前記設定記憶手段に記憶
された複数の第2の種類の情報を一括して初期状態に戻
すとともに、前記設定記憶手段に記憶された第1の種類
の情報は現在の状態で維持する初期状態復帰手段とを備
えたことを特徴とする電子楽器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10126751A JP3055525B2 (ja) | 1998-04-20 | 1998-04-20 | 電子楽器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10126751A JP3055525B2 (ja) | 1998-04-20 | 1998-04-20 | 電子楽器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5186911A Division JP2819999B2 (ja) | 1993-06-01 | 1993-06-30 | 効果付与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10333678A JPH10333678A (ja) | 1998-12-18 |
JP3055525B2 true JP3055525B2 (ja) | 2000-06-26 |
Family
ID=14943022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10126751A Expired - Fee Related JP3055525B2 (ja) | 1998-04-20 | 1998-04-20 | 電子楽器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3055525B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5294139B2 (ja) * | 2008-01-29 | 2013-09-18 | ヤマハ株式会社 | 電子音楽装置及びプログラム |
-
1998
- 1998-04-20 JP JP10126751A patent/JP3055525B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10333678A (ja) | 1998-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2746157B2 (ja) | 電子楽器 | |
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) | 残響共鳴装置及び残響共鳴方法 | |
JP3055525B2 (ja) | 電子楽器 | |
JP3087724B2 (ja) | 楽音合成装置 | |
JP2819999B2 (ja) | 効果付与装置 | |
JP3530600B2 (ja) | 楽音信号の周波数特性制御装置及び周波数特性制御方法 | |
JP3156285B2 (ja) | 電子楽器 | |
JP2858120B2 (ja) | 電子楽器 | |
JPH11161273A (ja) | 楽音生成装置及び楽音生成方法 | |
WO1996004642A1 (en) | Timbral apparatus and method for musical sounds | |
JP3394626B2 (ja) | 電子楽器 | |
JP2009186632A (ja) | 音律制御方法、音律制御のためのコンピュータプログラム及び音律制御装置。 | |
JP2570819B2 (ja) | 電子楽器 | |
JP3261713B2 (ja) | 楽音発生装置 | |
JP3595676B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3121196B2 (ja) | 電子楽器 | |
JPH038558B2 (ja) | ||
JP3296248B2 (ja) | 楽音演奏装置 | |
JPS59113493A (ja) | 電子楽器 | |
JP3455976B2 (ja) | 楽音発生装置 | |
JP2513003B2 (ja) | 電子楽器 | |
JPH10222167A (ja) | 電子楽器のピッチ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |