JP2705422B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP2705422B2
JP2705422B2 JP4010387A JP1038792A JP2705422B2 JP 2705422 B2 JP2705422 B2 JP 2705422B2 JP 4010387 A JP4010387 A JP 4010387A JP 1038792 A JP1038792 A JP 1038792A JP 2705422 B2 JP2705422 B2 JP 2705422B2
Authority
JP
Japan
Prior art keywords
channel
key
sound
tone
data
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
JP4010387A
Other languages
English (en)
Other versions
JPH05204383A (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 JP4010387A priority Critical patent/JP2705422B2/ja
Publication of JPH05204383A publication Critical patent/JPH05204383A/ja
Application granted granted Critical
Publication of JP2705422B2 publication Critical patent/JP2705422B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、発生される音量等が
時間経過に従い変化する楽音を発生するとともに、発音
割当処理が良好に行える電子楽器に関する。
【0002】
【従来の技術】従来の複数の楽音発生用チャンネル(発
音チャンネル)を有する電子楽器には、メモリに記憶さ
れた波形データを演奏者による鍵盤等の操作に応じて読
み出す音源と、その波形データの振幅を制御して波形デ
ータの音量を制御するエンベロープ信号を発生するエン
ベロープジェネレータ(EG)とが設けられているもの
がある。
【0003】そして、この種の電子楽器には、EGから
出力されている現在のエンベロープ信号のレベルに基づ
いて、減衰発音中の発音チャンネルのうち、最も減衰状
態が進んでいるチャンネル(最減衰チャンネル)を検出
し、この最減衰チャンネルに新たな押鍵音を割当るよう
に制御するトランケート手段が設けられているものがあ
った。なお、上述した技術の詳細については、本出願人
が先に提案した電子楽器の公報(特公平1−37437
号公報)を参照されたい。
【0004】
【発明が解決しようとする課題】ところで、上述した従
来の電子楽器においては、最減衰チャンネルを検出する
際に、EGから出力されている現在のエンベロープ信号
のレベルだけしか考慮しておらず、その他の各種の音量
制御データ(パン、アンプリチュードモジュレーショ
ン、マルチティンバー時の音色間の音量バランス等)を
考慮していないため、たとえば、以下に示すような不都
合が生じていた。
【0005】図9に示すように、チャンネルAの時刻t
1におけるエンベロープ信号の現在のレベルLaは、チャ
ンネルBの時刻t1におけるエンベロープ信号の現在の
レベルLbより小さく、減衰が進んでいるが、チャンネ
ルAの時刻t1におけるエンベロープ信号の現在のレベ
ルLaに音量制御データとして音量係数1.0がかけら
れた実際のエンベロープのレベルL'aは、チャンネルB
の時刻t1におけるエンベロープ信号の現在のレベルLb
に音量係数0.5がかけられた実際のエンベロープのレ
ベルL'bより大きい。
【0006】したがって、チャンネルAとBとのうち、
実際の最減衰チャンネルは、チャンネルBであるので、
チャンネルBをトランケート処理すべきであるが、従来
の場合では、チャンネルAが最減衰チャンネルとして検
出され、トランケート処理されてしまう。そのため、実
際に演奏者等が聴いている音においては、減衰が進んで
いる音よりも、まだ聴こえている音のほうが先に消音さ
れることになり、不自然である。
【0007】そこで、EGから出力されている現在のエ
ンベロープ信号のレベルと、各種の音量制御データとを
制御手段がソフトウェアを用いて乗算し、その乗算結果
に基づいてトランケート処理等をすることが考えられる
が、この場合には、制御手段における一連のソフトウェ
ア処理に時間がかかり、リアルタイム性が要求される発
音割当処理には、適さないという欠点がある。また、上
述した乗算処理等を制御手段が行うことにより、制御手
段の他のソフトウェア処理が遅れてしまうという問題が
ある。この発明は、このような背景の下になされたもの
で、トランケート処理等のための音量レベルの管理を容
易にしてリアルタイムで発音割当処理を正確に行うとと
もに、制御手段のソフトウェア処理の負担が軽くなる電
子楽器を提供することを目的とする。
【0008】
【課題を解決するための手段】この発明による電子楽器
は、鍵操作情報を発生する鍵操作情報発生手段と、複数
の発音チャンネルを有し、各発音チャンネル毎に楽音波
形データを発生する楽音発生手段と、前記鍵操作情報に
応じて楽音のエンベロープ形状を制御するエンベロープ
信号を前記各発音チャンネル毎に発生するエンベロープ
信号生成手段と、前記楽音の音量を制御する音量制御デ
ータを前記各発音チャンネル毎に独立に発生する音量制
御データ発生手段と、前記各発音チャンネル毎のエンベ
ロープ信号および前記各発音チャンネル毎の音量制御デ
ータに基づいて、前記各発音チャンネルの楽音の振幅制
御を前記各発音チャンネル毎に行う振幅制御手段と、
記各発音チャンネル毎のエンベロープ信号および前記各
発音チャンネル毎の音量制御データに基づいて、前記鍵
操作情報発生手段から発生される鍵操作情報に対応する
楽音の発生を前記複数の発音チャンネルのうちのいずれ
に割り当てるかを制御する割当て制御手段とを具備す
ことを特徴としている。
【0009】
【作用】上記構成によれば、鍵操作情報発生手段が鍵操
作情報を発生すると、エンベロープ信号生成手段が発生
された鍵操作情報に応じてエンベロープ信号を各発音チ
ャンネル毎に発生すると共に、音量制御データ発生手段
が音量制御データを発音チャンネル毎に独立して発生
せる。そして、これら各発音チャンネル毎に発生された
エンベロープ信号および音量制御データに基づき、割当
て制御手段が上記鍵操作情報に対応する楽音の発生を楽
音発生手段の複数の発音チャンネルのいずれに割り当て
るかを制御すると共に、振幅制御手段が楽音の振幅制御
を各発音チャンネル毎に行う。これにより、楽音発生手
段は、割り当てられた発音チャンネルから振幅制御され
た楽音波形データを発生させる。
【0010】
【実施例】以下、図面を参照して、この発明の一実施例
について説明する。図1はこの発明の一実施例による電
子楽器の構成を示すブロック図であり、この図におい
て、1は装置各部を制御するCPU、2はCPU1にお
いて用いられる制御プログラムが記憶されたROM、3
はRAMであり、CPU1が各種の処理を行う際に用い
る各種レジスタやフラグ等が確保されている。また、4
は複数のキーからなる鍵盤、5は押鍵検出回路であり、
鍵盤4のキーが操作されたことを検出してそのキーに対
応したキー情報を出力し、データ/アドレス・バス6を
介してCPU1に供給する。
【0011】さらに、7は各種のスイッチからなるパネ
ルスイッチ、8はスイッチ検出回路であり、パネルスイ
ッチ7の各スイッチが操作されたことを検出してそれぞ
れのスイッチに対応した操作情報を出力し、データ/ア
ドレス・バス6を介してCPU1に供給する。9は液晶
ディスプレイ等からなる表示回路であり、データ/アド
レス・バス6を介してCPU1から供給されるデータを
表示する。加えて、10はCPU1によって制御され、
楽音データWを出力する音源回路、11は楽音データW
をアナログの楽音信号に変換するD/Aコンバータ、1
2はD/Aコンバータ11から出力される楽音信号を入
力して楽音を発生するアンプ、スピーカ等からなるサウ
ンドシステムである。
【0012】次に、図2を参照して音源回路10の構成
について説明する。この図において、13はアドレス設
定回路であり、インターフェイス14から供給されるキ
ーオンパルスKONP、キーオン信号KON、キーコー
ドKCおよびベロシティデータVELに従って、アタッ
ク部読出開始アドレスSTART.ADおよびアタック
部読出終了アドレスEND.ADを発生し、これをアド
レスジェネレータ15に供給する。なお、キーオンパル
スKONP/キーオン信号KONは、鍵盤4における押
離鍵操作に応じて発生する信号であり、キーコードKC
は、押鍵操作に対応した音高を表す情報である。また、
このアドレス設定回路13にあっては、波形メモリ16
からアタック波形を読み出させるため、読み出しモード
を表す信号MODEを発生する。なお、アタック波形
は、繰り返し読み出す必要がないので、信号MODE
は、1回の読み出しを指示する「MODE=0」として
出力される。
【0013】17はフェイズジェネレータであり、上述
したキーオンパルスKONPが与えられると、キーコー
ドKCおよび補正値FINE.Pに応じた位相情報を発
生する。この位相情報は、楽音のピッチを与えるもので
あり、整数部Iと小数部Fとから構成されている。アド
レスジェネレータ15は、フェイズジェネレータ17か
ら供給される位相情報の整数部Iと、アドレス設定回路
13から供給されるアタック部読出開始アドレスSTA
RT.ADとを加算し、実際に読み出しを行う波形情報
の読み出しアドレスADを出力する。
【0014】また、アドレスジェネレータ15は、その
出力する読み出しアドレスADが、アタック部読み出し
波形の終了アドレスEND.ADと同一になると、上述
したアドレス設定回路13に対して、ループ波形要求信
号LOOP.REQを出力する。この場合、アドレスジ
ェネレータ15は、フェイズジェネレータ17に対し
て、生成している位相情報をリセットするためのリセッ
ト要求信号RESET.REQを出力する。
【0015】上述したループ波形要求信号LOOP.R
EQが供給されたアドレス設定回路13は、波形メモリ
16よりループ部波形読出開始アドレスSTART.A
Dと、ループ部波形読出終了アドレスEND.ADとを
アドレス/データ・バスを介して読み出し、これをアド
レスジェネレータ15に与える。この場合、ループ部波
形は、繰り返し読み出す必要があるので、信号MODE
が繰り返し読み出しを指示する「MODE=1」として
出力される。このように、読み出し開始アドレスSTA
RT.ADと位相情報の整数部Iとの加算によって得ら
れるアドレス信号ADが、波形メモリ16に与えられ
る。これにより、波形メモリ16に記憶される波形情報
が読み出され、波形データW1として出力される。
【0016】18は補間回路である。この補間回路18
は、波形データW1を上述した位相情報の小数部Fに基
づいて補間演算を行い、この結果得られる波形データW
2を出力する。ここで行われる補間演算は、隣接するサ
ンプル間、すなわち、2つの波形情報を小数部Fによっ
て一次直線補間してもよいし、2以上の波形情報を記憶
して高次の補間を行ってもよい。
【0017】19は、インターフェイス14から供給さ
れるキーオンパルスKONP、キーオン信号KON、キ
ーコードKCおよびベロシティデータVELに対応した
エンベロープ信号ENVを生成し、これを乗算回路20
に出力するエンベロープジェネレータである。このエン
ベロープジェネレータ19にあっては、ベロシティデー
タVELに基づき、エンベロープ信号ENVにおける最
大振幅レベルを設定し、いっぽう、キーコードKCに応
じてエンベロープ信号ENVの立上がり/立下がりの速
度が制御される。キーオンパルスKONPおよびキーオ
ン信号KONは、この立上がり/立ち下がりのタイミン
グ制御に用いられる。
【0018】乗算回路20は、インターフェイス14か
ら供給されるパンデータPANや各チャンネル毎の音量
データCH.VOLなどの音量制御データと、エンベロ
ープジェネレータ19から出力されるエンベロープ信号
ENVとを乗算し、この乗算結果を各チャンネル毎の音
量レベルLEVELとして出力する。この各チャンネル
毎の音量レベルLEVELは、乗算回路21からインタ
ーフェース14を経てデータ/アドレスバス6を介し、
CPU1へと供給される。乗算回路21は、補間回路1
8から出力される波形データW2と、乗算回路20から
出力される音量レベルLEVELとを乗算し、この乗算
結果を上述した楽音データWとして出力し、D/Aコン
バータ11に供給する。
【0019】このような構成において、CPU1の動作
について図3〜図8のフローチャートに基づいて説明す
る。図1の電子楽器に電源が投入されると、CPU1
は、まず、図3のメインルーチンのステップSA1の処
理へ進み、装置各部のイニシャライズを行う。このイニ
シャライズは、各種レジスタのゼロリセットおよび周辺
回路の初期設定となる各種変数の初期設定等である。そ
して、CPU1は、ステップSA2へ進む。
【0020】ステップSA2では、鍵盤4のいずれかの
キーが押鍵あるいは離鍵された際に働く押鍵処理を行
う。なお、この押鍵処理の詳細については、後述する。
そして、この押鍵処理が終了すると、CPU1は、ステ
ップSA3へ進む。ステップSA3では、各チャンネル
の音量レベルLEVELを音源回路10から読み出して
空きチャンネルを検出する空きチャンネル検出処理を行
う。なお、この空きチャンネル検出処理の詳細について
は、後述する。そして、この空きチャンネル検出処理が
終了すると、CPU1は、ステップSA4へ進む。
【0021】ステップSA4では、演奏者によるパネル
スイッチ7の操作で設定されたパンデータPANや各チ
ャンネル毎の音量データCH.VOLなどの音量制御デ
ータを音源回路10へ出力する処理等のその他の処理が
実行され、こうした処理完了後に、上述したステップS
A2に戻り、電源が切断されるまでステップSA2〜S
A4の一連の処理が繰り返し実行される。このように、
メインルーチンにおいては、CPU1が各種イベントに
応じた楽音合成を指示するように動作し、この楽音合成
は後述する各種処理によって実現される。
【0022】次に、CPU1の押鍵処理について図4の
フローチャートに基づいて説明する。CPU1の処理が
図3のステップSA2へ進むと、図4に示す押鍵処理ル
ーチンが起動される。CPU1は、まず、ステップSB
1の処理へ進み、鍵盤4のキースイッチをスキャンして
鍵盤4の押離鍵状態を検出した後、ステップSB2へ進
む。
【0023】ステップSB2では、ステップSB1のキ
ースイッチスキャン処理において検出された鍵盤4の押
離鍵状態からキーイベントの有無を判断する。この判断
結果が「YES」の場合には、ステップSB3へ進む。
いっぽう、ステップSB2の判断結果が「NO」の場
合、すなわち、キーイベントが検出されない場合には、
何もせず、図3のメインルーチンへ戻り、ステップSA
3へ進む。ステップSB3では、キーオンイベントが検
出された場合に1にセットされ、キーオフイベントが検
出された場合に0にリセットされるキーイベントフラグ
KEVおよびキーコードKCを一時記憶するレジスタK
Cに、それぞれ検出状態に対応した値を設定した後、ス
テップSB4へ進む。
【0024】ステップSB4では、フラグKEVが1に
セットされているか否かを判断する。この判断結果が
「YES」の場合には、ステップSB5へ進む。ステッ
プSB5では、ベロシティデータVELを一時記憶する
レジスタVELにベロシティデータを一時記憶した後、
ステップSB6へ進み、キーオン(発音)処理を行う。
また、ステップSB4の判断結果が「NO」の場合、す
なわち、フラグKEVが0にリセットされている場合に
は、ステップSB7へ進み、キーオフ(消音)処理を行
う。なお、これらキーオン処理およびキーオフ処理の詳
細については、後述する。そして、これらの発音処理あ
るいは消音処理が終了すると、CPU1は、図3のメイ
ンルーチンへ戻り、ステップSA3へ進む。
【0025】次に、CPU1のキーオン処理について図
5のフローチャートに基づいて説明する。CPU1の処
理が図4のステップSB6へ進むと、図5に示すキーオ
ン処理ルーチンが起動される。CPU1は、まず、ステ
ップSC1の処理へ進み、各チャンネルのオン/オフ状
態を示すステータスフラグSTが0にリセットされてい
るチャンネル(空きチャンネル)のサーチをした後、ス
テップSC2へ進む。ここで、空きチャンネルとは、発
音まで待機している状態を意味し、発音割当可能なチャ
ンネルを意味している。
【0026】ステップSC2では、ステップSC1の空
きチャンネルのサーチ処理において検出されたチャンネ
ルの状態から現在空きチャンネルがあるか否かを判断す
る。この判断結果が「YES」の場合、すなわち、現在
空きチャンネルがある場合には、ステップSC3へ進
む。
【0027】ステップSC3では、空きチャンネルの番
号をレジスタCHに設定した後、ステップSC4へ進
む。ステップSC4では、レジスタCHに設定されたチ
ャンネルの番号に対応したチャンネルの状態を発音持続
状態として表すため、レジスタST[CH]の値(ステ
イタス信号ST)を「1」とした後、ステップSC6へ
進む。ここで、このレジスタST[CH]と各チャンネ
ル状態との対応は、ST[CH]=「0」はチャンネル
待機状態を表し、「1」はキーオンによる発音持続状態
を表している。
【0028】いっぽう、ステップSC2の判断結果が
「NO」の場合、すなわち、全ての発音チャンネルが何
らかの形で発音中である場合には、ステップSC5へ進
む。ステップSC5では、音量レベルLEVELが最も
小さい発音チャンネル、すなわち、最も減衰が進んでい
るチャンネルを選択し、これを強制的に発音停止させて
「空きチャンネル」とするトランケート処理を行う。こ
の処理のルーチンを図6に示す。このルーチンにおい
て、ステップSD1では、乗算回路20の出力である各
チャンネルの音量レベルLEVELを音源回路10から
読み出した後、ステップSD2へ進む。
【0029】ステップSD2では、各チャンネルのレベ
ルLEVELおよびキーコードステータスレジスタST
KCに記憶された発音チャンネルのキーコードの状態等
に基づいてトランケートするチャンネルを決定する。す
なわち、キーコードレジスタSTKCに記憶されたキー
コードのうちの最低音に対するチャンネルを除くチャン
ネルの中でレベルLEVELの値が最も小さい発音チャ
ンネルをトランケートチャンネルとする。その後、CP
U1は、ステップSD3へ進む。ステップSD3では、
トランケートするチャンネルの番号をレジスタCHに設
定した後、ステップSD4へ進む。
【0030】ステップSD4では、音源回路10のチャ
ンネルCHへKON=0(キーオフ)を出力した後、図
5のキーオン処理ルーチンへ戻り、ステップSC6へ進
む。なお、ステップSD4では、音源回路10のチャン
ネルCHへの急速減衰の指示のみを行い、後述する空き
チャンネル検出処理(図3のステップSA3)において
このチャンネルCHが空きチャンネルとして検出された
後、このチャンネルCHに発音割当するようにしてもよ
い。
【0031】ステップSC6では、チャンネルに対応し
てキーコードKCが記憶されるレジスタSTKC[C
H]に、発音すべきキーコードKCを設定した後、ステ
ップSC7へ進む。ステップSC7では、レジスタCH
に設定された発音チャンネルの番号に対応する音源回路
10の空きチャンネルに対してキーコードKC、ベロシ
ティデータVEL、キーオンパルスKONPおよびキー
オン信号KON=1(すなわち、キーオン)を出力した
後、図4の押鍵処理ルーチンを経て図3のメインルーチ
ンへ戻り、ステップSA3へ進む。これにより、音源回
路10は、これらの情報に基づいた楽音データWを発生
する。
【0032】次に、CPU1のキーオフ処理について図
7のフローチャートに基づいて説明する。CPU1の処
理が図4の押鍵処理ルーチンのステップSB7へ進む
と、図7に示すキーオフ処理ルーチンが起動される。C
PU1は、まず、ステップSE1の処理へ進み、図4の
ステップSB4の処理において判断されたキーオフイベ
ントに対応するキーコードKCのチャンネルが現在発音
中であるか否かを判断する。この判断結果が「NO」の
場合、すなわち、対応する楽音がもう発音されていない
場合、例えば、押鍵が持続されて発音が完全に減衰して
しまった状態や、トランケート処理により押鍵中にもか
かわらず発音が強制終了させられた場合などには、なに
もせず、図4の押鍵処理ルーチンを経て図3のメインル
ーチンへ戻り、ステップSA3へ進む。
【0033】いっぽう、ステップSE1の判断結果が
「YES」の場合、すなわち、該当するキーコードKC
のチャンネルが現在発音中である場合には、ステップS
E2へ進む。ステップSE2では、対応する発音チャン
ネルの番号をレジスタCHに設定した後、ステップSE
3へ進む。ステップSE3では、レジスタCHに設定さ
れたチャンネルの番号に対応する音源回路10のチャン
ネルに対してキーオン信号KON=0(すなわち、キー
オフ)を出力した後、図4の押鍵処理ルーチンを経て図
3のメインルーチンへ戻り、ステップSA3へ進む。
【0034】次に、CPU1の空きチャンネル検出処理
について図8のフローチャートに基づいて説明する。C
PU1の処理が図3のステップSA3へ進むと、図8に
示す空きチャンネル検出処理ルーチンが起動される。C
PU1は、まず、ステップSF1の処理へ進み、全チャ
ンネル状態を検索するため、レジスタCHの値を「0」
に設定した後、ステップSF2へ進む。
【0035】ステップSF2では、各チャンネルの音量
レベルLEVELを音源回路10から読み出した後、ス
テップSF3へ進む。ステップSF3では、各チャンネ
ル毎の状態を表すレジスタST[CH]が「1」、すな
わち、発音中であるか否かを判断する。この判断結果が
「YES」の場合には、ステップSF4へ進み、いっぽ
う、ステップSF3の判断結果が「NO」の場合、すな
わち、空きチャンネルである場合には、当該チャンネル
が発音待機状態にあるから、後述するステップSF6へ
進む。
【0036】ステップSF4では、レジスタCHに設定
されたチャンネルの番号に対応する音源回路10のチャ
ンネルの音量レベルLEVEL[CH]が各音色毎にあ
らかじめ設定されたスレッショルドTHより小さいか否
かを判断する。この判断結果が「YES」の場合には、
ステップSF5へ進み、いっぽう、ステップSF4の判
断結果が「NO」の場合、すなわち、音量レベルLEV
EL[CH]がスレッショルドTH以上である場合に
は、後述するステップSF6へ進む。
【0037】ステップSF5では、発音チャンネルCH
は減衰しきっているため、レジスタST[CH]の値を
「0」に設定して発音待機状態であることを示した後、
ステップSF6へ進む。ステップSF6では、次のチャ
ンネルを検索するために、レジスタCHの値を1インク
リメントした後、ステップSF7へ進む。ステップSF
7では、このインクリメントされたレジスタCHの値が
全チャンネル数CHMAXであるか否かを判断する。こ
の判断結果が「NO」の場合には、ステップSF3へ戻
り、上述した処理を全チャンネル分繰返す。いっぽう、
ステップSF7の判断結果が「YES」の場合には、図
3のメインルーチンへ戻り、ステップSA4へ進む。
【0038】以上説明したように、従来のCPU1によ
るソフトウェア処理ではなく、ハードウェアである音源
回路10の乗算回路20において、エンベロープジェネ
レータ19から出力されるエンベロープ信号ENVと、
演奏者によってパネルスイッチ7の操作で設定されたパ
ンデータPANや各チャンネル毎の音量データCH.V
OLなどの音量制御データとを乗算して、その乗算結果
のレベルLEVELをCPU1が読み出してトランケー
ト処理等を行うので、正確でしかもリアルタイムで処理
を行うことができる。また、CPU1は、上述した処理
等をソフトウェア処理する必要がないので、その分負担
が軽くなる。
【0039】なお、上述した一実施例においては、音源
回路10の乗算回路20がエンベロープ信号ENVと、
パンデータPAN等の音量制御データとを乗算した例を
示したが、これに限定されず、たとえば、エンベロープ
信号ENVと音量制御データとを加減算により演算して
も、また、エンベロープ信号ENVを音量制御データに
基づいて単にシフトするだけでもよい。
【0040】また、上述した一実施例においては、音源
回路10から読み出されたデータLEVELをトランケ
ート処理のみに用いた例を示したが、これに限定され
ず、データLEVELをトランケート処理以外の処理に
用いてもよい。たとえば、データLEVELに応じて楽
音にリバーブ等の効果を付加する状態を変化させるよう
にしてもよい。さらに、上述した一実施例においては、
音源回路10に、波形データを波形メモリ16から読み
出す波形メモリ方式のものを用いた例を示したが、これ
に限定されず、音源回路10には、あらゆる方式のもの
を適用できることはいうまでもない。
【0041】加えて、上述した一実施例においては、乗
算回路20の出力レベルを検出して発音割当処理を行う
例を示したが、しかし、波形メモリ16に記憶されてい
る波形データがある程度エンベロープを考慮されている
場合もあるので、その場合には、乗算回路21の包絡線
を検出するようにしてもよい。また、上述した一実施例
においては、振幅情報のみを考慮してトランケートする
場合、アタックの初期(特に、スローアタック時)にト
ランケートされるような誤動作も考えられるので、アタ
ック中である旨を示すフラグを設ける等してアタック中
に楽音が消されないように工夫すればなおよい。
【0042】
【発明の効果】以上説明したように、この発明によれ
ば、ハードウェアにより各発音チャンネルの音量レベル
の正確な減衰状態を把握することができるので、発音割
当処理を正確にかつリアルタイムで行うことができると
いう効果がある。また、ソフトウェア処理を行う手段の
ソフトウェア処理の負担が軽くなるという効果がある。
【図面の簡単な説明】
【図1】 この発明の一実施例による電子楽器の構成を
示すブロック図である。
【図2】 この発明の一実施例における音源回路10の
構成を示すブロック図である。
【図3】 この発明の一実施例におけるCPU1のメイ
ンルーチンの動作を示すフローチャートである。
【図4】 この発明の一実施例におけるCPU1の押鍵
処理ルーチンの動作を示すフローチャートである。
【図5】 この発明の一実施例におけるCPU1のキー
オン処理ルーチンの動作を示すフローチャートである。
【図6】 この発明の一実施例におけるCPU1のトラ
ンケート処理ルーチンの動作を示すフローチャートであ
る。
【図7】 この発明の一実施例におけるCPU1のキー
オフ処理ルーチンの動作を示すフローチャートである。
【図8】 この発明の一実施例におけるCPU1の空き
チャンネル検出処理ルーチンの動作を示すフローチャー
トである。
【図9】 従来の技術の不都合点を説明するための図で
ある。
【符号の説明】
1……CPU、2……ROM、3……RAM、4……鍵
盤、5……押鍵検出回路、6……データ/アドレス・バ
ス、7……パネルスイッチ、8……スイッチ検出回路、
9……表示回路、10……音源回路、11……D/Aコ
ンバータ、12……サウンドシステム、13……アドレ
ス設定回路、14……インターフェース、15……アド
レスジェネレータ、16……波形メモリ、17……フェ
イズジェネレータ、18……補間回路、19……エンベ
ロープジェネレータ、20,21……乗算回路。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 鍵操作情報を発生する鍵操作情報発生手
    段と、複数の発音チャンネルを有し、各発音チャンネル毎に
    音波形データを発生する楽音発生手段と、 前記鍵操作情報に応じて楽音のエンベロープ形状を制御
    するエンベロープ信号を前記各発音チャンネル毎に発生
    するエンベロープ信号生成手段と、 前記楽音の音量を制御する音量制御データを前記各発音
    チャンネル毎に独立に発生する音量制御データ発生手段
    と、 前記各発音チャンネル毎のエンベロープ信号および前記
    各発音チャンネル毎の音量制御データに基づいて、前記
    各発音チャンネルの楽音の振幅制御を前記各発音チャン
    ネル毎に行う振幅制御手段と、前記各発音チャンネル毎のエンベロープ信号および前記
    各発音チャンネル毎の音量制御データに基づいて、前記
    鍵操作情報発生手段から発生される鍵操作情報に対応す
    る楽音の発生を前記複数の発音チャンネルのうちのいず
    れに割り当てるかを制御する割当て制御手段と を具備す
    ることを特徴とする電子楽器。
JP4010387A 1992-01-23 1992-01-23 電子楽器 Expired - Fee Related JP2705422B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4010387A JP2705422B2 (ja) 1992-01-23 1992-01-23 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4010387A JP2705422B2 (ja) 1992-01-23 1992-01-23 電子楽器

Publications (2)

Publication Number Publication Date
JPH05204383A JPH05204383A (ja) 1993-08-13
JP2705422B2 true JP2705422B2 (ja) 1998-01-28

Family

ID=11748716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4010387A Expired - Fee Related JP2705422B2 (ja) 1992-01-23 1992-01-23 電子楽器

Country Status (1)

Country Link
JP (1) JP2705422B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01169496A (ja) * 1987-10-26 1989-07-04 Roorand Kk 電子楽器
JPH01169497A (ja) * 1987-10-29 1989-07-04 Roorand Kk 電子楽器

Also Published As

Publication number Publication date
JPH05204383A (ja) 1993-08-13

Similar Documents

Publication Publication Date Title
JP3243821B2 (ja) 電子楽器
JPH0784574A (ja) 電子楽器
US5428183A (en) Tone signal generating apparatus for performing a timbre change by storing a full frequency band in a wave memory
KR0130053B1 (ko) 전자악기, 악음처리장치 및 악음처리방법
JP2705422B2 (ja) 電子楽器
JP2538809B2 (ja) 楽音発生装置
JP2698942B2 (ja) 楽音発生装置
JP2002091447A (ja) 電子楽器の変換装置、変換方法及び記録媒体
JP2537340B2 (ja) 楽音発生装置
JP3493856B2 (ja) 演奏情報変換装置
JP3554770B2 (ja) 楽音発生装置
JP3018620B2 (ja) 電子楽器
JPH05232958A (ja) 電子楽器
JP2595999B2 (ja) エンベロープ発生装置
JP3257400B2 (ja) エフェクト装置
JP3280794B2 (ja) 残響音生成装置及び残響音生成方法
JP2738217B2 (ja) 電子楽器
JP2605387B2 (ja) 楽音信号発生装置
JP2953217B2 (ja) 電子楽器
JPH08234733A (ja) 電子楽器
JP3168654B2 (ja) 楽音発生装置
JP2578327B2 (ja) 自動演奏装置
JPH05134671A (ja) 電子楽器
JPH0863160A (ja) エンベロープ発生器
JP3129119B2 (ja) エンベロープ波形発生装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970909

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: 20071009

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091009

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101009

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees