JPH10326096A - 楽音合成装置 - Google Patents
楽音合成装置Info
- Publication number
- JPH10326096A JPH10326096A JP10126752A JP12675298A JPH10326096A JP H10326096 A JPH10326096 A JP H10326096A JP 10126752 A JP10126752 A JP 10126752A JP 12675298 A JP12675298 A JP 12675298A JP H10326096 A JPH10326096 A JP H10326096A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tone
- timbre
- level
- midi
- 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.)
- Granted
Links
- 230000002194 synthesizing effect Effects 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 abstract description 49
- 230000005236 sound signal Effects 0.000 abstract 2
- 230000000694 effects Effects 0.000 description 72
- 230000015572 biosynthetic process Effects 0.000 description 15
- 238000003786 synthesis reaction Methods 0.000 description 15
- 241001342895 Chorus Species 0.000 description 12
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 12
- 230000033764 rhythmic process Effects 0.000 description 12
- 208000025121 Leukoencephalopathy with brain stem and spinal cord involvement-high lactate syndrome Diseases 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001151 other effect Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
装置において、音色置き換え時に過去の履歴によって置
き換え対象を選択することにより、自然な音色の置き換
えを実現するようにすることを目的とする。 【解決手段】外部からの音色の指定を受け付けたとき
に、固定的でない音色の置き換えを行なって発音するよ
うにする。具体的には、指示された音色が存在しない場
合に、あらかじめどの音色にするかを決めておくのでは
なく、存在することが確認されている音色テーブル中の
複数の音色から、過去の履歴に応じて選択した音色で楽
音合成を行なう。
Description
し、特にMIDIにより各種のデータを受信して動作す
る電子楽器などに適用して好適な技術に関する。
外部から取り込まれた楽音制御情報を、その楽音発生手
段で発生可能な楽音の特性を制御する楽音制御用データ
に変換する技術が示されている。これは、その電子楽器
で発音できない音色を受け付けたときに、なんらかの音
色で置き換えて発音するものである。
音色のなかには置き換えることができる音色と置き換え
ることがふさわしくない音色とがある。上記公報に開示
された技術では、すべての音色をあらかじめ決められた
音色に固定的に置き換えていたので、置き換えた後の音
色が自然なものにならない場合があった。
け付ける楽音合成装置において、音色置き換え時に過去
の履歴によって置き換え対象を選択することにより、自
然な音色の置き換えを実現するようにすることを目的と
する。
め、この発明は、設定された音色データの音色で楽音を
合成する楽音合成装置において、複数の音色データを記
憶した音色テーブルと、外部からの音色の指定を受け付
ける手段と、指定された音色に対応する音色データが前
記音色テーブル中に存在しなかった場合は、現在設定さ
れている音色データを、存在が確認されている前記音色
テーブル中の複数の音色データ中から過去の履歴に応じ
て選択した音色データに置き換えて発音する手段とを備
えたことを特徴とする。
明する。
成装置のブロック構成を示す。この楽音合成装置は、M
IDIインターフェース1、CPU(中央処理装置)
2、ROM(リードオンリーメモリ)3、RAM(ラン
ダムアクセスメモリ)4、操作パネル5、楽音合成回路
6、エフェクト回路7、サウンドシステム8、およびバ
スライン9を備えている。
(Musical Instrument Digital Interface)規格にした
がって、外部のMIDI機器との間で演奏情報を送受す
るためのインターフェースである。CPU2は、この楽
音合成装置全体の動作を制御する。ROM3には、CP
U2が実行するプログラムや各種の制御データなどが格
納されている。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
〜33に加えて、さらに別のエフェクト回路であるセレ
ステ回路41およびフェーザ回路42、乗算器51,5
2、並びに加算器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でイニシャライズを行なう。次に、ス
テップS2で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に戻
り、処理を継続する。
ば、外部からの音色の指定を受け付けたときに、固定的
でない音色の置き換えを行なっているので、従来のよう
に固定的な音色の置き換えにより自然な音色でなくなる
ことが無く、自然な音色の置き換えを実現することがで
きる。すなわち、指示された音色が存在しない場合に、
あらかじめどの音色にするかを決めておくのではなく、
存在することが確認されている音色テーブル中の複数の
音色から、過去の履歴に応じて選択した音色で楽音合成
を行なうので、使用が可能で最適な音色に置き換えるこ
とができ、自然な音色の置き換えを実現することができ
る。また、音色の置き換えに際し、過去の履歴に応じて
音色を置き換えるので、例えば演奏者が過去に指定して
いた好みの音色が優先的に使用されるようにすることな
どができ、演奏者にとって好適な音色の置き換えができ
る。
ク構成図
フローチャート図
ーチャート図
ト図
ャート図
図
ャート図
ト図
装置)、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】設定された音色データの音色で楽音を合成
する楽音合成装置において、 複数の音色データを記憶した音色テーブルと、 外部からの音色の指定を受け付ける手段と、 指定された音色に対応する音色データが前記音色テーブ
ル中に存在しなかった場合は、現在設定されている音色
データを、存在が確認されている前記音色テーブル中の
複数の音色データ中から過去の履歴に応じて選択した音
色データに置き換えて発音する手段とを備えたことを特
徴とする楽音合成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10126752A JP3087724B2 (ja) | 1998-04-20 | 1998-04-20 | 楽音合成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10126752A JP3087724B2 (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 |
|---|---|
| JPH10326096A true JPH10326096A (ja) | 1998-12-08 |
| JP3087724B2 JP3087724B2 (ja) | 2000-09-11 |
Family
ID=14943047
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10126752A Expired - Lifetime JP3087724B2 (ja) | 1998-04-20 | 1998-04-20 | 楽音合成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3087724B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010079167A (ja) * | 2008-09-29 | 2010-04-08 | Casio Computer Co Ltd | 音色指定装置、電子楽器及び音色指定処理のプログラム |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2604259B2 (ja) | 1990-03-19 | 1997-04-30 | 株式会社河合楽器製作所 | 電子楽器のデータ選択装置 |
| JP2866439B2 (ja) | 1990-04-24 | 1999-03-08 | ローランド株式会社 | 音色選択装置 |
| JP2715677B2 (ja) | 1991-02-26 | 1998-02-18 | ヤマハ株式会社 | 電子楽器 |
| JP2819999B2 (ja) | 1993-06-30 | 1998-11-05 | ヤマハ株式会社 | 効果付与装置 |
| JP3055525B2 (ja) | 1998-04-20 | 2000-06-26 | ヤマハ株式会社 | 電子楽器 |
-
1998
- 1998-04-20 JP JP10126752A patent/JP3087724B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010079167A (ja) * | 2008-09-29 | 2010-04-08 | Casio Computer Co Ltd | 音色指定装置、電子楽器及び音色指定処理のプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3087724B2 (ja) | 2000-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2746157B2 (ja) | 電子楽器 | |
| US5044251A (en) | Timbre setting device for an electronic musical instrument | |
| JP2002311957A (ja) | 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム | |
| US5422430A (en) | Electrical musical instrument providing sound field localization | |
| US5635658A (en) | Sound control system for controlling an effect, tone volume and/or tone color | |
| US6919502B1 (en) | Musical tone generation apparatus installing extension board for expansion of tone colors and effects | |
| JP3694172B2 (ja) | 残響共鳴装置及び残響共鳴方法 | |
| US5074183A (en) | Musical-tone-signal-generating apparatus having mixed tone color designation states | |
| JP3055525B2 (ja) | 電子楽器 | |
| JP2819999B2 (ja) | 効果付与装置 | |
| JP3087724B2 (ja) | 楽音合成装置 | |
| JP2002297138A (ja) | 楽音発生装置及び楽音発生処理のプログラム | |
| JPH09330079A (ja) | 楽音信号発生装置及び楽音信号発生方法 | |
| WO1996004642A1 (en) | Timbral apparatus and method for musical sounds | |
| JP3530600B2 (ja) | 楽音信号の周波数特性制御装置及び周波数特性制御方法 | |
| JP3156285B2 (ja) | 電子楽器 | |
| JP3926445B2 (ja) | 楽音合成装置 | |
| JP2009186632A (ja) | 音律制御方法、音律制御のためのコンピュータプログラム及び音律制御装置。 | |
| JP3394626B2 (ja) | 電子楽器 | |
| JP3595676B2 (ja) | 楽音生成装置及び楽音生成方法 | |
| JP3455976B2 (ja) | 楽音発生装置 | |
| JPH07104753A (ja) | 電子楽器の自動調律装置 | |
| US6160214A (en) | Non-consonance generating device and non-consonance generating method | |
| JP3296248B2 (ja) | 楽音演奏装置 | |
| JP2003345352A (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: 20090714 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 13 |
|
| EXPY | Cancellation because of completion of term |