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
Application number
JP10126751A
Other languages
English (en)
Other versions
JPH10333678A (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 JP10126751A priority Critical patent/JP3055525B2/ja
Publication of JPH10333678A publication Critical patent/JPH10333678A/ja
Application granted granted Critical
Publication of JP3055525B2 publication Critical patent/JP3055525B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】各種の設定状態に基づいて動作する電子楽
    器であって、 前記各種の設定状態を規定する情報を記憶する設定記憶
    手段であって、該情報は、あらかじめ第1の種類の情報
    と複数の第2の種類の情報とに固定的に分けられている
    ものと、 演奏者の指示に応じて前記設定記憶手段に記憶された情
    報を変更する設定変更手段と、 前記設定記憶手段に記憶された情報を初期状態に戻す指
    示を行なう指示手段と、 前記指示手段の指示に応じて、前記設定記憶手段に記憶
    された複数の第2の種類の情報を一括して初期状態に戻
    すとともに、前記設定記憶手段に記憶された第1の種類
    の情報は現在の状態で維持する初期状態復帰手段とを備
    えたことを特徴とする電子楽器。
JP10126751A 1998-04-20 1998-04-20 電子楽器 Expired - Fee Related JP3055525B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5294139B2 (ja) * 2008-01-29 2013-09-18 ヤマハ株式会社 電子音楽装置及びプログラム

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