JP2723041B2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JP2723041B2
JP2723041B2 JP6113847A JP11384794A JP2723041B2 JP 2723041 B2 JP2723041 B2 JP 2723041B2 JP 6113847 A JP6113847 A JP 6113847A JP 11384794 A JP11384794 A JP 11384794A JP 2723041 B2 JP2723041 B2 JP 2723041B2
Authority
JP
Japan
Prior art keywords
output
data
waveform
time
timing
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
JP6113847A
Other languages
English (en)
Other versions
JPH06342292A (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 JP6113847A priority Critical patent/JP2723041B2/ja
Publication of JPH06342292A publication Critical patent/JPH06342292A/ja
Application granted granted Critical
Publication of JP2723041B2 publication Critical patent/JP2723041B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、波形メモリを有する
楽音波形発生装置(音源)に関し、簡易な構成で、種々
の動作モードでの楽音波形の発生を行なうことのできる
楽音波形発生装置に関する。
【0002】
【従来の技術】従来より電子楽器においては、楽音波形
発生、エンベロープ波形発生および楽音制御用の各種制
御関数発生などのために波形発生装置が用いられてい
る。このような波形発生装置として、例えば、所定の波
形の順次サンプル点の波形振幅値を記憶した波形メモリ
を備えるとともに、発生すべき楽音の音高に対応する周
波数情報(定数)Fを累算器で順次累算し、順次出力さ
れる累算値qF(q=1,2,3,…)の整数部Iをア
ドレスとしてその波形メモリを読出し、波形データとし
て出力するものがある。これにより、所望の音高の楽音
波形が出力される。
【0003】ここで、上記の方式では周波数情報F(い
わゆるFナンバ)の累算値qF(q=1,2,3,…)
の整数部Iだけをアドレスとして波形メモリを読出して
いるので、時間軸は量子化されることになる。すなわ
ち、累算値qFの小数部は無視されてしまう。また、波
形メモリの各アドレスに記憶されている波形振幅値はデ
ィジタルデータであり、所定時間間隔ごとのとびとびの
値である。したがって、アドレス信号I(整数)によっ
て波形メモリから読み出される楽音波形は量子化ノイズ
を含んでいる。
【0004】これを改善するため、いわゆる補間法を用
いて、複数のサンプル点における振幅値に基づいて任意
の位置の振幅値を演算で求める方式が提案されている。
例えば、特公昭59−17838号公報には、アドレス
信号の整数部によって指示される各基本的サンプル点の
波形振幅値をもとにして、隣合う基本的サンプル点の間
の波形振幅値を内挿補間法によって演算出力する波形発
生装置が開示されている。
【0005】
【発明が解決しようとする課題】上記の特公昭59−1
7838号公報に開示された波形発生装置によれば、メ
モリ容量を抑えかつ時間軸の精度が高く量子化ノイズの
少ない波形を発生することができる。
【0006】ところで、電子楽器が発音する楽音の中に
は高精度の楽音波形を用いる必要があるものもあるが、
逆にそれ程の精度を必要としないものもある。例えば、
リズム音などはそれ程高精度のピッチで波形データを読
み出す必要はなく、補間法により高精度の波形データを
求める必要はない。
【0007】そこで、高精度のピッチで波形データを読
み出して再生する仕組みと、低い精度のピッチで波形デ
ータを読み出して再生する仕組みの両方を備えた楽音波
形発生装置が考えられる。しかし、読み出しの精度に応
じた仕組みをそれぞれ設けるのでは、装置の構成が複雑
になってしまう。
【0008】さらに、波形データを読み出して1つの楽
音を再生する場合でも、読み出した楽音波形に各種の関
数を用いた処理を施して楽音を加工することが通常行な
われるが、そのような各種の関数を用いた処理ごとにそ
れらの処理を行なうための構成を設けたのでは、装置が
複雑化しコスト高となる。
【0009】この発明は、上述の従来技術に鑑み、各種
の動作モードに応じた楽音発生の動作を簡単な構成で実
現することのできる楽音波形発生装置を提供することを
目的とする。
【0010】
【課題を解決するための手段】この目的を達成するた
め、請求項1に係る楽音発生装置は、第1の動作モード
と第2の動作モードとを指定する動作モード指定手段
と、複数の時分割チャンネルを有し、指定された動作モ
ードに応じた楽音発生動作を時分割に行なう楽音発生手
段と、複数の時間関数を発生する関数演算手段とを備
え、前記楽音発生手段は、前記第1の動作モードが指定
された場合には、1つの時分割チャンネルの時間内で1
つの楽音を発生するとともに、前記関数演算手段から発
生される複数の時間関数に基づいて前記1つの楽音の異
なる複数の楽音特性を制御し、前記第2の動作モードが
指定された場合には、前記第1の動作モードで1つの楽
音を発生する1つの時分割チャンネルに相当する時間内
で複数の楽音を発生するとともに、前記関数演算手段か
ら発生される複数の時間関数に基づいて前記複数の楽音
の楽音特性を各楽音ごとに独立に制御することを特徴と
する。
【0011】請求項2に係る発明は、請求項1におい
て、前記第1の動作モードにおいて前記関数演算手段か
ら発生される複数の時間関数は、複数段階ステートを持
つエンベロープ関数、および単一の目標値に向かって変
化する補間関数を含むようにしたことを特徴とする。
【0012】請求項3に係る発明は、1つの楽音の発生
に必要な複数の関数を時分割動作により所定タイミング
ごとに生成し、該複数の関数の値を出力する関数発生手
段と、前記関数発生手段から出力された複数の関数の値
を記憶する記憶手段と、前記関数発生手段における関数
の生成タイミングとは異なるタイミングであって、前記
複数の関数の各関数ごとに異なるタイミングにおいて、
前記記憶手段に記憶された複数の関数の各値を読み出
し、該関数の値に基づいて少なくとも1つの楽音波形を
形成出力する波形発生手段とを備えたことを特徴とす
る。
【0013】請求項4に係る発明は、請求項3におい
て、前記関数発生手段は、エンベロープ関数およびフィ
ルタ係数を時分割で発生出力するものであり、前記波形
発生手段は、波形信号を発生し、時分割動作で、前記関
数発生手段から出力されたエンベロープ関数により該波
形信号のエンベロープを制御してエンベロープ付与を行
なうとともに、前記関数発生手段から出力されたフィル
タ係数を用いたフィルタ演算を該波形信号に施して楽音
波形として出力するものであることを特徴とするもので
ある。
【0014】請求項5に係る発明は、請求項4におい
て、前記関数発生手段における前記エンベロープ関数の
発生演算と前記フィルタ係数の発生演算は、何れも現在
値を目標値に徐々に近づけていく補間演算であり、前記
エンベロープ付与は前記エンベロープ関数を前記波形信
号のサンプル値データに乗じる演算を含み、前記フィル
タ演算は前記フィルタ係数を前記波形信号のサンプル値
データに乗じる演算を含むようにしたことを特徴とす
る。
【0015】請求項6に係る発明は、請求項3におい
て、前記関数発生手段は、その時分割動作により、楽音
の発生開始からの時間経過に応じて値の変化する、互い
に独立した形状の、複数の時間関数を発生し、該複数の
時間関数は、前記波形発生手段で形成される楽音のそれ
ぞれ異なる特性をリアルタイム制御するようにしたこと
を特徴とする。
【0016】請求項7に係る発明は、複数時分割チャン
ネルの各時分割チャンネル毎に、楽音波形の元となるサ
ンプル値データを供給する波形供給手段と、前記各時分
割チャンネル毎に、複数の異なる制御関数を発生する関
数発生手段と、前記各時分割チャンネル毎に、前記波形
供給手段より供給されたサンプル値データに、複数の異
なる処理を施し前記各時分割チャンネルの楽音波形を形
成し出力する波形加工手段とを含んでおり、前記複数時
分割チャンネルに基づく動作で複数の楽音波形を生成す
る楽音波形発生装置であって、前記波形加工手段の施す
複数の処理は、それぞれ所定の演算時間を要し、かつ、
それぞれ異なる前記制御関数に基づいて発生する楽音の
異なる楽音特性を制御するような処理であり、前記波形
加工手段では、前記複数時分割チャンネルの中の所定の
チャンネルの前記複数の処理の間に、前記所定のチャン
ネルとは異なる別のチャンネルの前記複数の処理の中の
少なくとも1つの処理を実行するようにしてなることを
特徴とする。
【0017】
【作用】請求項1に係る発明において、楽音発生手段
は、第1の動作モードが指定された場合には、1つの時
分割チャンネルの時間内で1つの楽音を発生するととも
に、関数演算手段から発生される複数の時間関数に基づ
いて前記1つの楽音の異なる複数の楽音特性を制御し、
前記第2の動作モードが指定された場合には、前記第1
の動作モードで1つの楽音を発生する1つの時分割チャ
ンネルに相当する時間内で複数の楽音を発生するととも
に、前記関数演算手段から発生される複数の時間関数に
基づいて前記複数の楽音の楽音特性を各楽音ごとに独立
に制御する。したがって、指定された動作モードに応じ
て、発生する楽音数およびエンベロープなどの楽音特性
の制御態様を異ならせることができる。また、共通の関
数演算手段を、動作モードに応じて異なる楽音特性の制
御に使用することができる。
【0018】請求項3に係る発明では、関数発生手段と
波形発生手段との間に記憶手段が設けてあり、この記憶
手段を介して複数の関数の各値が転送される。したがっ
て、関数発生手段と波形発生手段とを非同期に動作させ
ることができる。また、各関数ごとに異なるタイミング
で各関数の値が読み出されるので、楽音信号を生成する
際の手順に応じて、各関数の値が必要とされるタイミン
グで各関数の値を読み出すことができる。そのため、タ
イミング合わせのために各関数の値を一時的に記憶して
おくラッチなどが不必要となり、構成を簡素化できる。
1つの関数発生手段により、楽音のそれぞれ異なる特性
を制御する複数の時間関数を発生するので、各楽音特性
の制御ごとに独立した関数発生手段を設けるのに比べ、
構成を小規模化することができる。
【0019】請求項4に係る発明では、楽音の音量エン
ベロープ処理と音色フィルタ処理を行なうブロックが、
大きく見ると関数発生手段と演算手段の2つの要素に分
離して構成されており、関数発生手段からエンベロープ
関数とフィルタ係数が、演算手段の音量エンベロープ付
与と音色フィルタ演算のタイミングに合せて供給される
ようになっている。すなわち、エンベロープ乗算とフィ
ルタ演算とを共通の構成で行なうことができる。請求項
5に係る発明では、エンベロープ関数の発生演算とフィ
ルタ係数の発生演算は、何れも現在値を目標値に徐々に
近づけていく補間演算であり、時分割で回路を共用する
ことにより回路の簡略化が図れる。また、音量エンベロ
ープの付与と音色フィルタ演算は、波形のサンプル値に
それぞれエンベロープ関数とフィルタ係数を乗じる演算
を含んでおり、これも(その乗算の部分を)時分割で回
路を共用することにより簡略化される。しかも、エンベ
ロープ関数とフィルタ係数は、共に関数発生手段から演
算手段(の乗算部)へ供給されるので、供給するための
バスラインを時分割で共用できる。請求項6に係る発明
では、関数発生手段から発生される複数の時間関数によ
り、楽音のそれぞれ異なる特性がリアルタイム制御され
る。
【0020】
【0021】請求項7に係る発明によれば、波形サンプ
ルに楽音特性を制御する複数の加工処理を施して楽音波
形を形成する加工手段で、複数の時分割チャンネル動作
を実行させる場合において、前記複数の加工処理を各チ
ャンネル毎に別々に行なうのではなく、各処理に必要な
演算時間に合せて複数チャンネルの処理を相互に重ねて
行なうことができるようにしたので、各時分割チャンネ
ルあたりの全加工処理の演算所要時間が短縮され、加工
手段の単位時間当たりの演算処理能力をより有効に活用
することができる。例えば、短縮された演算所要時間に
よって、時分割チャンネルの数をさらに増加させるため
に使用することもできるし、チャンネル数を変えない場
合は、各時分割チャンネルにおける加工処理の数を増加
させ、よりきめ細かい楽音制御ができるようにすること
もできる。
【0022】言い換えると、従来、波形加工手段は、特
定の発音チャンネルの処理が完結した後に、次の発音チ
ャンネルの処理を行なうようにしていたので、処理に時
間を要したが、この発明によれば、ある発音チャンネル
において他の発音チャンネルの処理を行なうようにして
いるので、処理時間を短縮できる。
【0023】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0024】図1は、この発明の一実施例に係る波形発
生装置を音源に適用した電子楽器のブロック構成図であ
る。この図の電子楽器は、複数の鍵を有し押鍵された鍵
に対応するキーコードを出力する鍵盤101、楽音の音
色を指定するための音色指定スイッチ102、鍵盤10
1から出力されるキーコードに応じた周波数を示すFナ
ンバ(周波数情報)FNや音色スイッチ102の指定に
応じた音色の楽音波形を生成するために各種のパラメー
タなどを生成出力するマイコン103、マイコン103
からの指示に基づき楽音波形を生成出力する音源10
4、あらかじめPCM化してある楽音波形データおよび
リズム音波形データなどを記憶した波形メモリ105、
音源104から出力される楽音信号OUTDをディジタ
ル/アナログ(D/A)変換するD/A変換器106、
並びにD/A変換器106から出力されるアナログ楽音
信号に基づいて楽音を発生するサウンドシステム107
を備えている。
【0025】音源104は、マイコン103から出力さ
れる各種のデータをそれぞれのレジスタ部に書き込むた
めのインターフェース111を有する。各レジスタ部の
データは楽音信号生成部118に入力する。楽音信号生
成部118は、入力データに基づいて波形メモリ105
をアクセスし所定の波形データを出力する。この音源1
04は、通常モードとリズムモードの2つの動作モード
を有している。通常モードにおいて、音源104は32
チャンネル(第0チャンネルから第31チャンネル)の
PCM音源(実際にはPCMとFMとを合成した波形を
出力する)として機能する。リズムモードにおいて、音
源104は30チャンネルのPCM音源および8チャン
ネルのリズム音源として機能する。
【0026】また、各チャンネルの処理は時分割で行な
われるようになっている。特に、リズムモードにおける
リズム音の波形データは、通常モードの第30チャンネ
ルおよび第31チャンネルの処理タイミングにおいてリ
ズム音8チャンネル分の処理をするように構成されてい
る。このような時分割の処理の詳細は後述する。時分割
処理は、タイミング発生部120から出力される各種の
タイミング信号に基づいて行なわれる。タイミング発生
部120については図2を参照して後述する。
【0027】インターフェース111を介してデータが
書き込まれるレジスタとしては、以下のようなものがあ
る。 (1)モード(RM)レジスタ(図1付番112):1
ビットのレジスタである。このレジスタの値が「0」の
とき通常モード、「1」のときリズムモードであること
を示す。 (2)ノートオン(NON)レジスタ(図1付番11
3):PCM音の生成を指示する1ビットのレジスタで
ある。PCM音源の各チャンネルに対応して32個設け
られている。ある鍵が押鍵されたときマイコン103は
その押鍵を検出して、PCM音源による楽音発生のため
のチャンネルを割り当てる。そして、割り当てたチャン
ネルに対応するNONレジスタを「1」とする。離鍵す
ると「0」に戻される。
【0028】(3)リズムオン(RON)レジスタ(図
1付番113):リズム音の生成を指示する1ビットの
レジスタである。リズム音源の各チャンネルに対応して
8個設けられている。リズム音を発音すべきとき、マイ
コン103は、リズム音発生のためのチャンネルを割り
当てる。そして、割り当てたチャンネルに対応するRO
Nレジスタを「1」とする。 (4)Fナンバ(FN)レジスタ(図1付番114):
25ビットのレジスタであり、PCM音源の各チャンネ
ルに対応して32個設けられている。ある鍵が押鍵され
たとき、マイコン103は、割り当てたチャンネルに対
応するFNレジスタに、押鍵キーコードに対応するFナ
ンバを設定する。Fナンバは順次累算され、その累算値
はスタートアドレス(次のSAレジスタに格納されてい
る)に加算されて、波形メモリの順次読出しアドレスと
なる。
【0029】(5)スタートアドレス(SA)レジスタ
(図1付番114):波形メモリの読出しアドレスのス
タートアドレスを格納するレジスタである。PCM音源
の各チャンネルに対応して32個さらにリズム音源の各
チャンネルに対応して8個設けられている。 (6)リズム読出しスピード(RSP)レジスタ(図1
付番114):波形メモリに格納されているリズム音の
波形データを読出すときの読出しスピードを格納する2
ビットのレジスタである。いわばPCM音源のFナンバ
に対応するものである。リズム音源の各チャンネルに対
応して8個設けられている。 (7)振幅変調深さ(AMD)レジスタ(図1付番11
5):LFO(低周波発振器)の振幅変調の深さを制御
するパラメータを格納するレジスタである。 (8)ピッチ変調深さ(PMD)レジスタ(図1付番1
15):LFOのピッチ変調の深さを制御するパラメー
タを格納するレジスタである。
【0030】(9)レートレジスタ部(図1付番11
6):この実施例の音源の楽音生成部118が有するエ
ンベロープジェネレータ(以下、EGと呼ぶ)は複数の
機能を実現するマルチファンクションEGとなってい
る。レートレジスタ部116は、このマルチファンクシ
ョンEGに与えるパラメータRATEを作成する。マル
チファンクションEGは時分割の各タイミングで別々の
機能を実現するようになっており、したがって所定のタ
イミングでそのときEGが実現する機能に対応するパラ
メータがRATEとして出力されるようになっている。
レートレジスタ部116の詳細な構成は図6を参照して
後述する。 (10)ターゲットレジスタ部(図1付番117):タ
ーゲットレジスタ部117は、マルチファンクションE
Gに与えるパラメータTARGETを作成する。マルチ
ファンクションEGが各機能を実現する時分割の各タイ
ミングで、対応するパラメータがTARGETとして出
力されるようになっている。ターゲットレジスタ部11
7の詳細な構成は図7を参照して後述する。
【0031】なお、上記のレジスタの記号はレジスタそ
のものを表すとともにそのレジスタに記憶されたデータ
をも表すものとする。例えば、RMというときはモード
レジスタを示すとともにそのレジスタに記憶されたデー
タとしてのモード値をも表すものとする。以下に説明す
る他のレジスタなどについても同様とする。
【0032】また、これらのレジスタへのデータの書き
込みはどのような方式およびタイミングで行なわれても
よい。
【0033】図2は、図1のタイミング発生部120の
詳細なブロック構成を示す。タイミング発生部120
は、3ビットのカウンタ202、5ビットのカウンタ2
03およびリズムタイミング発生部204を内部に備え
たタイミング発生器201を有する。タイミング発生器
201にはクロック信号φ0,φ1,φ2,φ3が入力
する。クロック信号φ0はこの装置における一番高い周
波数で「0」と「1」が切り替わるクロックパルスであ
る。クロック信号φ1はクロック信号φ0を2倍に分周
したクロックパルス、クロック信号φ2はクロック信号
φ1を2倍に分周したクロックパルス、クロック信号φ
3はクロック信号φ2を2倍に分周したクロックパルス
である。
【0034】3ビットカウンタ202は、クロック信号
φ0に基づいて「0」から「7」までを繰返しカウント
する。3ビットのカウント値はスロットタイムSLTと
して出力される。すなわち、スロットタイムSLTは1
0進で、「0」、「1」、「2」、…「7」、「0」、
「1」、…というように出力される。3ビットのスロッ
トタイムSLTの最下位ビットをSLT0、次のビット
をSLT1、最上位ビットをSLT2とする。
【0035】5ビットカウンタ203は、3ビットカウ
ンタ202からのキャリー信号を入力し、「0」から
「31」までを繰返しカウントする。5ビットのカウン
ト値はチャンネルタイムCHTとして出力される。すな
わち、チャンネルタイムCHTは10進で、「0」、
「1」、「2」、…「31」、「0」、「1」、…とい
うように出力される。5ビットのチャンネルタイムCH
Tの最下位ビットをCHT0、その次からの各ビットを
順にCHT1,CHT2,CHT3、最上位ビットをC
HT4とする。
【0036】上記の3ビットカウンタ202を下位、5
ビットカウンタ203を上位として8ビットのカウンタ
として考えれば、「0」から「255」を繰返しカウン
トするカウンタとなる。
【0037】タイミング発生器201は、入力したクロ
ック信号に基づきそれぞれ所定のタイミングで、キーオ
ンディレイタイミング信号TOND、LFOタイミング
信号TLFO、PCMのEGタイミング信号TPE、F
MのEGタイミング信号TFE、FMの変調度レベル補
間タイミング信号TMI、PCMのレベル補間タイミン
グ信号TPI、FMのレベル補間タイミング信号TF
I、およびフィルタ係数処理タイミング信号TDFを発
生する。
【0038】リズムタイミング発生部204は、モード
RMをイネーブル信号として入力する。そして、モード
RMが「1」のとき(リズムモード)リズム音発生のた
めにそれぞれ所定のタイミングで、リズム音EGタイミ
ング信号TRE、リズム音補間タイミング信号TRIお
よびリズム読出しタイミング信号RTを発生する。モー
ドRMが「0」のとき(通常モード)はこれらのリズム
音発生のためのタイミング信号は発生しない。
【0039】OR回路207は、リズム音EGタイミン
グ信号TREとリズム音補間タイミング信号TRIとの
論理和を算出する。その結果は、リズム演算タイミング
信号TRとして出力される。また、OR回路207の出
力はインバータ208で反転され、インバータ208の
出力に基づいてゲート205が開閉される。したがっ
て、モードRMが「1」でリズム音発生のためのタイミ
ング信号が発生されるときには、上述のリズム音以外の
楽音発生のためのタイミング信号TOND、TLFO、
TPE、TFE、TMI、TPI、TFIおよびTDF
は出力されない。
【0040】OR回路206は、PCMのEGタイミン
グ信号TPE、FMのEGタイミング信号TFEおよび
リズム音EGタイミング信号TREの論理和を算出す
る。その結果は、EG演算タイミング信号TEGとして
出力される。
【0041】図3は、図2のタイミング発生部120が
出力する各種のタイミング信号を示すタイミング図であ
る。これらのタイミング信号が出力される各タイミング
において、楽音信号生成部118内のEGは別々の機能
を実行するようになっているので、図3はEGの現在処
理データを示しているということもできる。
【0042】図3において、チャンネルタイムCHTと
スロットタイムSLTとを縦に並べて括弧でくくった並
び(「0」から「255」の値が繰返されている並び)
は、図2のタイミング発生部120が出力するチャンネ
ルタイムCHTを上位、スロットタイムSLTを下位と
した8ビットの値を示す。SLTの並び(「0」から
「7」の値が繰返されている並び)はタイミング発生部
120が出力するスロットタイムSLTの値を、CHT
の並び(「0」から「31」の値が繰返されている並
び)はタイミング発生部120が出力するチャンネルタ
イムCHTの値を、それぞれ示している。
【0043】この実施例の音源は、とびとびのタイムス
ロットで1つのチャンネルの処理を行なう。例えば図3
を参照して、第28チャンネルにおけるPCMでの波形
発生に関する処理は、以下のようなタイミングで行なわ
れる。 CHT=30,SLT=0のとき、キーオンディレイ
タイミング信号TONDが発生され、これに基づいてE
Gではキーオンディレイ処理が行なわれる。 CHT=30,SLT=4のとき、LFOタイミング
信号TLFOが発生され、これに基づいてEGではLF
O処理が行なわれる。 CHT=31,SLT=0のとき、PCMのEGタイ
ミング信号TPEが発生され、これに基づいてEGでは
PCMのEG処理(エンベロープ発生処理)が行なわれ
る。
【0044】CHT=31,SLT=4のとき、FM
のEGタイミング信号TFEが発生され、これに基づい
てEGではFMのEG処理(エンベロープ発生処理)が
行なわれる。 CHT=0,SLT=0のとき、FMの変調度レベル
補間タイミング信号TMIが発生され、これに基づいて
EGではFM音源の変調度レベルの補間処理が行なわれ
る。 CHT=0,SLT=4のとき、PCMのレベル補間
タイミング信号TPIが発生され、これに基づいてEG
ではPCMのレベルの補間処理が行なわれる。 CHT=1,SLT=0のとき、FMのレベル補間タ
イミング信号TFIが発生され、これに基づいてEGで
はFMのレベルの補間処理が行なわれる。 CHT=1,SLT=4のとき、フィルタ係数処理タ
イミング信号TDFが発生され、これに基づいてEGで
は演算部のディジタルフィルタのフィルタ係数の補間処
理が行なわれる。
【0045】同様にして例えば第29、第30、および
第31チャンネルにおける処理タイミングも図示したよ
うに発生される。ここで、第29チャンネルの各タイミ
ング信号TONDなどはスロットタイムSLTが「1」
および「5」のときに発生され、第30チャンネルの各
タイミング信号はスロットタイムSLTが「2」および
「6」のときに発生され、第31チャンネルの各タイミ
ング信号はスロットタイムSLTが「3」および「7」
のときに発生されるようになっている。
【0046】図のように、スロットタイムSLTが
「0」および「4」のときにタイミング信号が発生され
るチャンネルの並びおよびこれらのスロットをAスロッ
トと呼び、同様にスロットタイムSLTが「1」および
「5」の部分をBスロット、スロットタイムSLTが
「2」および「6」の部分をCスロット、スロットタイ
ムSLTが「3」および「7」の部分をDスロットと呼
ぶものとする。
【0047】Aスロットは、第0、第4、第8、第1
2、第16、第20、第24、および第28の各チャン
ネルのタイミング信号を発生するスロットである。Bス
ロットは、第1、第5、第9、第13、第17、第2
1、第25、および第29の各チャンネルのタイミング
信号を発生するスロットである。Cスロットは、第2、
第6、第10、第14、第18、第22、第26、およ
び第30の各チャンネルのタイミング信号を発生するス
ロットである。Dスロットは、第3、第7、第11、第
15、第19、第23、第27、および第31の各チャ
ンネルのタイミング信号を発生するスロットである。
【0048】上述したように、この実施例の音源ではリ
ズムモードのときに通常PCMで波形発生処理するタイ
ミングの一部をリズム音の波形発生のために用いるよう
にしている。具体的には、リズムモードのとき、Cスロ
ットの第30チャンネルとDスロットの第31チャンネ
ルの各タイミングをリズム音の波形発生処理のタイミン
グ信号に置き換えている。すなわち、通常モード時(R
M=0)にはPCM音源の第30チャンネルと第31チ
ャンネルの波形発生のために上述のタイミング信号TO
NDなどが発生されるが、リズムモード時(RM=1)
にはCスロットの第30チャンネルの8つのタイミング
は以下のように用いられる。
【0049】CHT=0,SLT=2のとき、リズム
音第0チャンネルについてのEGタイミング信号TRE
が発生され、これに基づいてリズム音のエンベロープ発
生処理が行なわれる。 CHT=0,SLT=6のとき、リズム音第0チャン
ネルのレベル補間に関するタイミング信号TRIが発生
され、これに基づいてリズム音の補間済みのレベルデー
タを発生する処理が行なわれる。 同様にして、CHT=1,SLT=2のとき、リズム
音第1チャンネルのリズム音EG処理、CHT=1,S
LT=6のとき、リズム音第1チャンネルのリズム音レ
ベル補間処理、CHT=2,SLT=2のとき、リズム
音第2チャンネルのリズム音EG処理、CHT=2,S
LT=6のとき、リズム音第2チャンネルのリズム音レ
ベル補間処理、CHT=3,SLT=2のとき、リズム
音第3チャンネルのリズム音EG処理、CHT=3,S
LT=6のとき、リズム音第3チャンネルのリズム音レ
ベル補間処理が、それぞれ行なわれる。
【0050】また同様に、リズムモード時には、Dスロ
ットの第31チャンネルの8つのタイミングは以下のよ
うに用いられる。 CHT=1,SLT=3のとき、リズム音第4チャン
ネルについてのEGタイミング信号TREが発生され、
これに基づいてリズム音のエンベロープ発生処理が行な
われる。 CHT=1,SLT=7のとき、リズム音第4チャン
ネルのレベル補間に関するタイミング信号TRIが発生
され、これに基づいてリズム音の補間済みのレベルデー
タを発生する処理が行なわれる。 同様にして、CHT=2,SLT=3のとき、リズム
音第5チャンネルのリズム音EG処理、CHT=2,S
LT=7のとき、リズム音第5チャンネルのリズム音レ
ベル補間処理、CHT=3,SLT=3のとき、リズム
音第6チャンネルのリズム音EG処理、CHT=3,S
LT=7のとき、リズム音第6チャンネルのリズム音レ
ベル補間処理、CHT=4,SLT=3のとき、リズム
音第7チャンネルのリズム音EG処理、CHT=4,S
LT=7のとき、リズム音第7チャンネルのリズム音レ
ベル補間処理が、それぞれ行なわれる。
【0051】なお、上述したように例えば第28チャン
ネルの処理はチャンネルタイムCHTが「30」の位置
から開始され、第29チャンネルの処理はチャンネルタ
イムCHTが「31」の位置から開始されるというよう
に、チャンネルタイムCHTの値と処理チャンネルはず
れている。これは、後に図4で説明する波形メモリ10
5を読み出す読み出し部402中の図示しないアドレス
カウンタのタイミングを示しており、波形メモリ105
から読出され補間されたPCMの波形データが送出され
る間にこれに対応した時間おくれが発生している事を示
す。また、各チャンネルにおけるPCMの波形の発生の
ために8つの機能の実行を4つごとのタイムスロットで
行なうようにしたのは、回路を構成している乗算器など
の遅延に応じたものである。このようにスロットを分散
させて構成しているため、ディレイ回路を各所に設けて
タイミングを強制的に合せる状況を減らすことができ、
ディレイ回路の数を抑えることができた。
【0052】図4は、図1の楽音信号生成部118の詳
細なブロック構成を示す。この実施例の楽音信号生成部
118は、乗算器401、読出し部402、補間部40
3、演算部404、マルチファンクションEG405、
LFOラッチ406、波形整形部407、波形整形部4
08、セレクタ409、係数生成部410、およびチャ
ンネル累算部411を備えている。
【0053】楽音信号生成部118に入力したFナンバ
FNは、乗算器401に入力し波形整形部407の出力
と乗算される。マルチファンクションEG405はLF
Oの機能を有しており、マルチファンクションEG40
5からのLFO出力はラッチ406を介して波形整形部
407に入力する。波形整形部407は、ラッチ406
からのLFO出力をピッチ変調深さを示すパラメータP
MDに基づいて加工し、乗算器401へと出力する。以
上より、乗算器401の出力はピッチ変調深さPMDが
反映されたFナンバFNとなり、このFナンバFNが読
出し部402に入力する。
【0054】読出し部402には、スタートアドレスS
Aその他の信号が入力する。読出し部402は、入力し
たFナンバFNを累算して波形メモリをアクセスするた
めのアドレスADを順次出力する。波形メモリ105に
は、PCM方式であらかじめ記憶された楽音の波形デー
タとリズム音の波形データとが格納されている。したが
って、読出し部402はPCMの波形データの読出しア
ドレスを発生するとともに、リズムモードのときにはリ
ズム音の波形データの読出しアドレスも発生するように
なっている。
【0055】さらに、この実施例の音源では波形メモリ
105から4点のサンプルデータを読出しそれを補間す
ることによって、PCMの波形発生を行なうようにして
いる。そのため、読出し部402は補間のための少数部
データFRACを出力する。なお、リズム音の波形デー
タは補間を行なう必要がないので(それ程の精度を必要
としないので)、波形メモリから読出したデータをその
まま流すようにしている。
【0056】読出し部402からのアドレスADにした
がって、波形メモリ105からサンプルデータWSD
(4点分)が読み出される。補間部403は、読み出さ
れたサンプルデータWSDおよび読出し部402から出
力された小数部データFRACを入力し、4点のサンプ
ルデータを用いた補間を行ないPCMの楽音波形データ
を出力する。リズム音の波形データは、PCMの楽音波
形データの出力タイミングと同様のタイミングで出力さ
れるように所定の遅延がなされた後、そのまま出力され
る。補間部403からの波形データ出力IWDは、演算
部404に入力する。
【0057】一方、マルチファンクションEG405は
複数の機能を実現する。これらの機能は、上述した各種
のタイミング信号が送出されるタイミングでそれぞれ実
行されるようになっている。マルチファンクションEG
405は所定のタイミングにおいて所定の機能を実現す
るための出力データを係数生成部410に送出する。係
数生成部410は、やはり所定のタイミングでそのとき
に実現すべき機能に対応する係数COEFを演算部40
4に送出する。演算部404では、係数生成部410か
らの係数COEFに応じて演算処理(例えばエンベロー
プの付与など)を行ない、最終的な波形データMTDを
生成出力する。なお、これらのマルチファンクションE
G405、係数生成部410および演算部404の動作
機能については後に詳しく説明する。
【0058】演算部404から出力された波形データM
TDは、チャンネル累算部411に入力して、チャンネ
ル累算され最終的な音源104の出力としてD/A変換
器106(図1)に入力する。
【0059】マルチファンクションEG405はLFO
としても機能する。マルチファンクションEG405か
ら出力されるLFO出力はラッチ406でラッチされ、
上述したように波形整形部407に入力するとともに、
波形整形部408にも入力する。波形整形部407は、
ラッチ406からのLFO出力を周波数変調深さを示す
パラメ−タPMD(マルチファンクションEG405か
ら供給)に基づいて加工し乗算器401に出力する。波
形整形部408は、ラッチ406からのLFO出力を振
幅変調深さを示すパラメータAMD(マルチファンクシ
ョンEG405から供給される)に基づいて加工し、そ
の出力はセレクタ409を介して係数生成部410に入
力する。そして、係数生成部410で生成する係数に波
形整形部408からのLFO出力を反映させることによ
り、PCMの波形データに所定の振幅変調をかけるよう
になっている。
【0060】次に図5を参照して、読出し部402につ
いて説明する。読出し部402は、PCMのアドレスカ
ウンタ部501とリズムのアドレスカウンタ部502を
有する。PCMのアドレスカウンタ部501は、フルア
ダー511、ハーフアダー512、ゲート513、21
ビット×64ステージの記憶領域を有する遅延回路であ
るシフトレジスタ514、および17ビット×32ステ
ージの記憶領域を有する遅延回路であるシフトレジスタ
515を備えている。
【0061】FナンバFNはフルアダー511に入力
し、PCMのアドレスカウンタ部501の出力38ビッ
トのうちの下位25ビットと加算される。フルアダー5
11のキャリー信号はハーフアダー512のキャリーイ
ンに入力する。ハーフアダー512は、キャリーインが
入力したとき、PCMのアドレスカウンタ部501の出
力38ビットのうちの上位13ビットを桁上げ処理(カ
ウントアップ)する。フルアダー511の出力(下位2
5ビット)とハーフアダー512の出力(上位13ビッ
ト)は、ゲート513に入力する。
【0062】ゲート513は、ノートオンレジスタNO
Nの所定の時分割chの値が「0」から「1」に変化し
たのに応じて、ディレイノ−トオン信号DNONが立ち
上がるタイミングで生成される該chのノ−トオンパル
スNONPによって閉じられ、シフトレジスタ514及
び515の該chのカウント値を0にクリアする。ゲー
ト513の出力の下位21ビットは64ステージのシフ
トレジスタ514に入力し、上位17ビットは32ステ
ージのシフトレジスタ515に入力する。
【0063】シフトレジスタ514は入力した21ビッ
トのデータをクロック信号φ2にしたがって順次次のス
テージへとシフトしていく。クロック信号φ2は、図
2,3で説明したように1チャンネルタイム(CHTが
1つの値を保持する間)当り2回出力されるクロック信
号である。したがって、シフトレジスタ514では、2
1ビット下位データが、1チャンネルタイム当り2回シ
フトされる。
【0064】シフトレジスタ515は入力した17ビッ
トのデータをクロック信号φ3にしたがって順次次のス
テージへとシフトしていく。クロック信号φ3は、図
2,3で説明したように1チャンネルタイム当り1回出
力されるクロック信号である。したがって、シフトレジ
スタ515では、17ビット上位データが、1チャンネ
ルタイム当り1回シフトされる。以上のようにクロック
を供給する事により、アドレスカウンタ501は各32
の時分割chに38ビット構成のカウンタと21ビット
構成のカウンタを1つずつ持つ事になる。
【0065】なお、下位21ビットと上位17ビットに
分けてシフトレジスタを設けているのは、あるチャンネ
ルでは上位17ビットが不要の場合があるためである。
例えば、FMの位相を計算する場合、最大でサイン波の
波形データの1周期分を読み出せれば十分であるので、
この場合は上位17ビットが不要になる。ここでは38
ビットカウンタはPCMの波形メモリ読出し用に、21
ビットカウンタはFM演算の位相デ−タとして供給され
る。
【0066】シフトレジスタ514およびシフトレジス
タ515からの出力(合わせて38ビット)は、その下
位25ビットがフルアダー511へ、その上位13ビッ
トがハーフアダー512へ入力している。このようなル
ープ回路によりFナンバFNの累算を行なっている。ま
た、シフトレジスタ514およびシフトレジスタ515
からの38ビットの出力のうち上位23ビットは、波形
メモリをアクセスするアドレスの整数部としてセレクタ
503へ入力する。また、下位15ビットは、波形メモ
リをアクセスするアドレスの少数部FRACとして出力
される。さらに、下位21ビット中の上位12ビットは
FMの位相データPHASEとして出力される。
【0067】一方、リズムのアドレスカウンタ部502
は、デコーダ521、ゲート522、フルアダー52
3、ハーフアダー524、ゲート525、および19ビ
ット×8ステージの記憶領域を有する遅延回路であるシ
フトレジスタ526を備えている。
【0068】デコーダ521は、2ビットのリズム読出
しスピードRSPをデコードする。リズム読出しスピー
ドRSPが「00」のときデコ−ダ521より「000
1B」がフルアダ−523に供給され、このリズムアド
レスカウンタ部502から出力されるアドレスは、クロ
ックφ1が8回クロック信号を出力したとき歩進され
る。同様に、リズム読出しスピードRSPが「01」の
ときは「0010B」が供給されクロック信号4回に1
回アドレス歩進され、リズム読出しスピードRSPが
「10」のときは「0100B」が供給されクロック信
号2回に1回アドレス歩進され、リズム読出しスピード
RSPが「11」のときは「1000B」が供給されク
ロック信号φ1ごとに毎回アドレス歩進される。ここ
に、Bの記号は「バイナリ」(2進数)のデ−タである
事を示している。
【0069】ゲート522は、リズム読出しタイミング
RTにしたがって、ゲートを開閉する。リズム読出しタ
イミングRTは、リズムモードにおいてチャンネルタイ
ムCHTが「30」または「31」のとき「1」、それ
以外のときは「0」である。したがって、リズムモード
でチャンネルタイムCHTが「30」または「31」の
ときのみ、デコーダ521の出力がゲート522を介し
てフルアダー523に入力する。
【0070】フルアダー523は4ビットのフルアダー
であり、一方の入力がシフトレジスタ526からの下位
4ビットで、他方の入力がゲート522からの4ビット
である。ゲート522からの4ビットは、リズム読出し
スピードRSPが「00」のとき「1」となるラインが
4ビットフルアダー523の最下位ビット(2の0乗ビ
ット)に接続されている。したがって、リズム読出しス
ピードRSPが「00」のとき、フルアダー523はシ
フトレジスタ526からの下位4ビットに4ビットデー
タ「0001」を加算することとなる。
【0071】リズム読出しスピードRSPが「01」の
とき「1」となるゲート522からの出力ラインは、4
ビットフルアダー523の最下位ビットの次のビット
(2の1乗ビット)に接続されている。したがって、リ
ズム読出しスピードRSPが「01」のとき、フルアダ
ー523はシフトレジスタ526からの下位4ビットに
4ビットデータ「0010」を加算することとなる。
【0072】リズム読出しスピードRSPが「10」の
とき「1」となるゲート522からの出力ラインは、4
ビットフルアダー523のさらにその次のビット(2の
2乗ビット)に接続されている。したがって、リズム読
出しスピードRSPが「10」のとき、フルアダー52
3はシフトレジスタ526からの下位4ビットに4ビッ
トデータ「0100」を加算することとなる。
【0073】リズム読出しスピードRSPが「11」の
とき「1」となるゲート522からの出力ラインは、4
ビットフルアダー523の最上位ビット(2の3乗ビッ
ト)に接続されている。したがって、リズム読出しスピ
ードRSPが「11」のとき、フルアダー523はシフ
トレジスタ526からの下位4ビットに4ビットデータ
「1000」を加算することとなる。
【0074】フルアダー523のキャリー信号はハーフ
アダー524のキャリーインに入力する。ハーフアダー
524は、キャリーインが入力したとき、シフトレジス
タ526の出力19ビットのうちの上位15ビットを桁
上げ処理(カウントアップ)する。フルアダー523の
出力(下位4ビット)とハーフアダー524の出力(上
位15ビット)は、ゲート525に入力する。
【0075】ゲート525は、各時分割リズムchにお
いてリズムオンレジスタRONが「0」から「1」に変
化したタイミングで発生するリズムオンパルスRONP
により閉じられその時分割chのカウント値を「0」に
クリアする。ゲート525の出力19ビットは8ステー
ジのシフトレジスタ526に入力する。シフトレジスタ
526は入力した19ビットのデータをクロック信号φ
1にしたがって順次次のステージへとシフトしていく。
クロック信号φ1は、図2,3で説明したように1チャ
ンネルタイム当り4回出力されるクロック信号である。
したがって、シフトレジスタ526では、19ビットデ
ータが、1チャンネルタイム当り4回シフトされる。
【0076】シフトレジスタ526からの19ビットの
出力は、その下位4ビットがフルアダー523へ、その
上位15ビットがハーフアダー524へ入力している。
このようなループ回路によりデコーダ521からの出力
の累算を行なっている。シフトレジスタ526からの1
9ビットの出力のうち上位16ビットは、波形メモリ内
のリズム音波形をアクセスするアドレスとしてセレクタ
503へ入力する。ここで、セレクタ503への入力は
23ビットとするため、下位7ビットはすべて「0」と
される。
【0077】セレクタ503は、リズム読出しタイミン
グRTが「0」のときPCMのアドレスカウンタ部50
1からの入力を選択出力し、リズム読出しタイミングR
Tが「1」のときリズムのアドレスカウンタ部502か
らの入力を選択出力する。セレクタ503からの23ビ
ット出力は、加算器505に入力し補間カウンタ504
から出力される2ビットデータと加算される。
【0078】補間カウンタ504は、リズム読出しタイ
ミングRTが「0」のとき、順次10進の「0」「1」
「2」「3」を出力する。したがって、セレクタ503
から出力される1つのPCMのアドレスデータについ
て、その値に「0」「1」「2」「3」をそれぞれ加算
した4つの連続するアドレスが生成出力される。この4
つの連続するアドレスデータは、加算器506において
それぞれPCM波形のスタートアドレスと加算され、最
終的な波形メモリ中のPCM波形をアクセスするための
アドレスデータが4つ連続して出力される。
【0079】一方、補間カウンタ504は、リズム読出
しタイミングRTが「1」のとき、10進の「0」を出
力する。したがって、セレクタ503から出力されるリ
ズム音のアドレスデータは、加算器506においてリズ
ム波形のスタートアドレスと加算され、波形メモリ中の
リズム波形をアクセスするための最終的なアドレスデー
タとして出力される。
【0080】上述の補間カウンタ504などは1チャン
ネルタイム当りクロック信号が4回出力されるタイミン
グ(φ1)に基づいて動作している。したがって、PC
Mの楽音波形発生用のアドレスは連続する4つのアドレ
スが1チャンネルタイミングで出力される。この4つの
アドレスは、後述するようにPCM波形データを補間法
により求めるときに用いる4サンプルのアドレスであ
る。また、リズム音については1チャンネルタイム当り
4回、アドレス出力される。したがって、4音分の独立
したリズム音のアドレスデータが1チャンネルタイミン
グで出力される。
【0081】図6は、このような読出し部402からの
アドレスデータの出力タイミングを示す。PCMの楽音
波形発生時には、1チャンネルタイミングの区間で、補
間用の4つのサンプルをアクセスするための4つの連続
した値のアドレスデータp0,p1,p2,p3が順次
出力されている。また、リズム音の波形発生時には、1
チャンネルタイミングの区間で、4音分のリズム音サン
プルをアクセスするための4つの互いに独立したアドレ
スデータr0,r1,r2,r3が順次出力されてい
る。
【0082】これに応じて、図4の波形メモリ105か
ら読出されるPCMのサンプルデータは連続する4つの
サンプルデータWSDが1チャンネルタイミングの区間
で順次補間部403に入力し、リズム音のサンプルデー
タは4音分の4つのサンプルデータWSDが1チャンネ
ルタイミングの区間で補間部403に入力することにな
る。なお、波形メモリには、特願平3−236,542
号で開示されたビット処理がほどこされて記憶されてお
り、補間部に入力するまでに約2ch半の時間遅れが存
在する。
【0083】次に、図7を参照して補間部403を説明
する。補間部403は従来より知られている連続した4
点のサンプルを用いた内挿補間法(例えば特公昭59−
17838)によりPCM波形を生成出力するととも
に、リズム音の波形データは所定の遅延時間ののち出力
する。補間部403は、係数メモリ701、補助カウン
タ702、乗算器703、累算器704、ラッチ70
5、ゲート706、アンド(AND)回路707、イン
バータ708、ディレイ回路709、およびゲート71
0を備えている。
【0084】係数メモリ701には種々の少数部FRA
Cの各値に対する4つの係数A0(FRAC)〜A3
(FRAC)が記憶されている。補助カウンタ702
は、波形メモリ105から連続して出力される4つのサ
ンプルデータWSDの出力タイミングに同期してk=
0,1,2,3をそれぞれ出力する。そして、係数メモ
リ701は、第1の入力端子に入力される少数部FRA
Cと第2の入力端子に入力される補助カウンタ702の
係数値k(k=0,1,2,3)をアドレス信号として
入力し、これらの値に応じて4つの係数Ak(FRA
C)が順次読出される。
【0085】乗算器703は、係数メモリ701から順
次出力される4つの計数Ak(FRAC)と波形メモリ
105から連続して出力される4つのサンプルデータW
SDとを順次乗算して、累算器704に出力する。累算
器704はこれらの4つの乗算結果を累算する。これに
より、4つのサンプルからの補間が実行されたことにな
る。なお、累算器は4つのサンプルデータを用いた累算
が終了すると、累算結果を補間済みPCM波形デ−タと
して出力するとともに、次の累算のためクリアされるよ
うになっている。累算器704から出力された補間済み
のPCM波形データは、ラッチ705でラッチされ、ゲ
ート706を介して、出力される。
【0086】一方、補間部403に入力したリズム音の
波形データは、ディレイ回路709で所定時間遅延せら
れたのち、ゲート710を介して出力される。ディレイ
回路709の遅延時間は所定値が設定されており、PC
M波形の補間処理の処理時間と同じだけリズム音の方を
遅らせて、PCM波形データとリズム音波形データとが
同様のタイミングで送出されるようになっている。
【0087】AND回路707は、モードRMとリズム
演算タイミングTR(図2参照)との論理積をとる。モ
ードRMが「1」でかつリズム演算タイミングTRが
「1」のとき、すなわちリズムモードでかつリズム音波
形形成のための演算を行なうタイミングであるときは、
AND回路707は「1」を出力する。このAND回路
707の「1」出力は、ゲート710を開き、これによ
り補間部403はリズム音の波形データを出力する。ま
た、このAND回路707の「1」出力は、インバータ
708で反転されて「0」となり、ゲート706を閉じ
る。したがって、このときPCM波形データは出力され
ない。
【0088】上記以外のタイミングにおいては、AND
回路707は「0」を出力する。このAND回路707
の「0」出力はゲート710を閉じるから、リズム音の
波形データは出力されない。また、このAND回路70
7の「0」出力は、インバータ708で反転されて
「1」となり、ゲート706を開ける。したがって、こ
のときPCM波形データが出力される。
【0089】補間部403からのこれらの波形データの
出力のタイミングは図3に示した。すなわち、図3の
「補間済みPCM波形」で示した並びが、当該チャンネ
ルの補間済みPCM波形データが補間部403から出力
されるタイミングを示す。例えば、チャンネルタイムC
HTが「0」のチャンネルタイミングで第28チャンネ
ルのPCM波形データが、チャンネルタイムCHTが
「1」のチャンネルタイミングで第29チャンネルのP
CM波形データが、…というように出力される。チャン
ネルカウンタのカウント値CHT(アドレスカウンタの
カウントタイミングを示す)から見ると4ch分の時間
遅れが生じているが、これは前述した波形デ−タのビッ
ト処理、4サンプル補間処理などによるものである。
【0090】また、「メモリ読出しリズム波形」で示し
た並びが、リズム音の波形データの出力タイミングを示
す。上述したように、リズムモードのときのリズム音波
形発生処理はPCMの第30および第31チャンネルの
区間で実行されるから、PCMの第30および第31チ
ャンネルの区間でリズム音の波形データが出力されるよ
うになっている。r0,r1,…,r7はそれぞれ、リ
ズム音の第0チャンネル、リズム音の第1チャンネル、
…、リズム音の第7チャンネルの波形データを示す。
【0091】次に図8を参照して、図4のマルチファン
クションEG405を説明する。マルチファンクション
EG405は、ディレイノートオンDNON発生部80
1、EGステート発生部802、セレクタ制御部80
3、加算器804、遅延回路805、セレクタ806、
255ステージを有するシフトレジスタ807、および
検出器808を備えている。加算器804には、図1の
レートレジスタ部116からパラメータRATEが入力
する。遅延回路805には、図1のターゲットレジスタ
部117からパラメータTARGETが入力する。
【0092】マルチファンクションEG405の動作を
詳しく説明する前に、これらのレジスタ部の構成および
そこから出力されるパラメータについて説明する。
【0093】図9は、図1のレートレジスタ部116の
詳細なブロック構成を示す。レートレジスタ部116
は、ディレイタイムレジスタ901、T−R変換器90
9、LFOレートレジスタ902、PCMのEGレート
レジスタ903、FMのEGレートレジスタ904、F
Mの変調度補間レートレジスタ905、PCMレベル補
間レートレジスタ906、FMレベル補間レートレジス
タ907、DCF係数補間レートレジスタ908、リズ
ム音のEGレート発生部910、セレクタ911、およ
びリズム音のレベル補間レートレジスタ912を備えて
いる。
【0094】ディレイタイムレジスタ901は、EG4
05がノートオンディレイ機能を実行するときのレート
を規定する各時分割chのディレイタイムTを記憶す
る。LFOレートレジスタ902は、EG405がLF
O出力を発生するときの各時分割chのLFOのレート
を記憶する。PCMのEGレートレジスタ903は、E
G405がPCMのエンベロープを発生するときの各時
分割chのエンベロープの各レート(すなわち、アタッ
クレート、第1ディケイレート、第2ディケイレート、
およびリリースレート)を記憶する。FMのEGレート
レジスタ904は、EG405が各時分割chのFMの
エンベロープを発生するときのエンベロープの各レート
(すなわち、アタックレート、第1ディケイレート、第
2ディケイレート、およびリリースレート)を記憶す
る。
【0095】FMの変調度補間レートレジスタ905
は、EG405がFMの変調度補間処理を行なうときの
各時分割chの補間レートを記憶する。PCMレベル補
間レートレジスタ906は、EG405がPCMのレベ
ル補間処理を行なうときの各時分割chの補間レートを
記憶する。FMレベル補間レートレジスタ907は、E
G405がFMのレベル補間処理を行なうときの各時分
割chの補間レートを記憶する。DCF係数補間レート
レジスタ908は、EG405が演算部のディジタルフ
ィルタのフィルタ係数の補間処理を行なうときの各時分
割chの補間レートを記憶する。
【0096】8つのレジスタ901〜908は、それぞ
れチャンネル数分だけの記憶領域を有している。例え
ば、ディレイタイムレジスタ901は、第0チャンネル
のディレイタイムレジスタ、第1チャンネルのディレイ
タイムレジスタ、…、および第31チャンネルのディレ
イタイムレジスタの32個のレジスタの集合である。他
のレジスタ902〜908も同様である。ただし、PC
MのEGレートレジスタ903およびFMのEGレート
レジスタ904は、1つのチャンネル当りの記憶領域で
4つのレート、すなわちアタックレート、第1ディケイ
レート、第2ディケイレート、およびリリースレートを
記憶するようになっている。
【0097】8つのレジスタ901〜908には、それ
ぞれチャンネルタイムCHT(5ビット)が入力してい
る。また、図2のタイミング発生部120で発生される
8つのタイミング信号、すなわちキーオンディレイタイ
ミング信号TOND、LFOタイミング信号TLFO、
PCMのEGタイミング信号TPE、FMのEGタイミ
ング信号TFE、FMの変調度レベル補間タイミング信
号TMI、PCMのレベル補間タイミング信号TPI、
FMのレベル補間タイミング信号TFI、およびフィル
タ係数処理タイミング信号TDFが、それぞれ入力して
いる。
【0098】そして、各レジスタ901〜908のデー
タは、各チャンネルにおけるこれらのタイミング信号が
発生されるタイミングで、パラメータRATEとして送
出される。
【0099】例えば図3を参照して、第28チャンネル
のキーオンディレイタイミング信号TONDはCHT=
30,SLT=0のとき発生されるが、そのタイミング
でディレイタイムレジスタ901は第28チャンネルに
ついてのディレイタイムを出力する。出力されたディレ
イタイムはT−R変換器によりレートに変換される。す
なわち、ディレイタイムをTとしたときレートRは、R
=1/Tで算出され、その値がパラメータRATEとし
て出力される。
【0100】同様に、第28チャンネルのLFOタイミ
ング信号TLFOはCHT=30,SLT=4のとき発
生されるが、そのタイミングでLFOレートレジスタ9
02は第28チャンネルについてのLFOレートを出力
する。出力されたLFOレートがパラメータRATEと
なる。
【0101】PCMのEGレートレジスタ903からは
1チャンネル当り4つのレートデータが読み出されるの
で、その区別をするためにEGステートEGSTが入力
している。EGステートEGSTは、図8のEG405
内のEGステート発生部802から発生される信号であ
る。EGステートEGSTは、現在エンベロープのどの
状態の波形を出力しているかを示す。すなわち、EG4
05が、現在、アタック部の波形を出力しているならE
GSTは「0」、第1ディケイ部の波形を出力している
ならEGSTは「1」、第2ディケイ部あるいはサステ
ィン部の波形を出力しているならEGSTは「2」、リ
リース部の波形を出力している(または無音状態)なら
EGSTは「3」、という値をとる。
【0102】第28チャンネルのPCMのEGタイミン
グ信号TPEはCHT=31,SLT=0のとき発生さ
れるが、そのタイミングでかつEGステートEGSTが
「0」のときPCMのEGレートレジスタ903は第2
8チャンネルにおけるエンベロープのアタックレートを
出力する。同様に、タイミング信号TPEのタイミング
でEGステートEGSTが「1」「2」「3」のときP
CMのEGレートレジスタ903は第28チャンネルに
おけるエンベロープの第1ディケイレート、第2ディケ
イレート、およびリリースレートを、それぞれ出力す
る。出力されたこれらのレートデータがパラメータRA
TEとして出力されることとなる。
【0103】FMのEGレートレジスタ904から4つ
のレートデータが出力されるタイミングは、上述のPC
MのEGレートレジスタ903と同様である。ただし、
FMのEGレートレジスタ904からは、FMのEGタ
イミング信号TFEが発生されるタイミングでEGステ
ートEGSTの値に応じたレートデータがパラメータR
ATEとして出力される。
【0104】他のレジスタ905〜908もディレイタ
イムレジスタ901やLFOレートレジスタ902で説
明したのと同様に、それぞれのタイミング信号の発生タ
イミングで、それぞれのデータがパラメータRATEと
して出力される。
【0105】リズム音のEGレート発生部910には、
チャンネルタイムCHTの下位2ビットCHT0,CH
T1、EGステートEGSTおよびリズムEGタイミン
グTREが入力する。リズム音のEGレート発生部91
0は、リズムEGタイミングTREのタイミングでリズ
ム音のEGレートデータを出力する。特に、図3に示し
たように、リズムEGタイミングTREが出力されるタ
イミングにおいては、チャンネルタイムCHTの下位2
ビットCHT0とCHT1の値によって以下のようにリ
ズム音チャンネルが特定できる。
【0106】CHT0=0,CHT1=0のときは、
CHT=0または4のいずれかであるから、出力すべき
リズム音EGレートデータはリズム音第0チャンネルま
たはリズム音第7チャンネルのデータである。 CHT0=0,CHT1=1のときは、CHT=1と
いうことだから、出力すべきリズム音EGレートデータ
はリズム音第1チャンネルまたはリズム音第4チャンネ
ルのデータである。 CHT0=1,CHT1=0のときは、CHT=2と
いうことだから、出力すべきリズム音EGレートデータ
はリズム音第2チャンネルまたはリズム音第5チャンネ
ルのデータである。 CHT0=1,CHT1=1のときは、CHT=3と
いうことだから、出力すべきリズム音EGレートデータ
はリズム音第3チャンネルまたはリズム音第6チャンネ
ルのデータである。
【0107】そこで、上記の各CHT0,CHT1に応
じて、リズム音第0、第1、第2、あるいは第3チャン
ネルのリズム音EGレートデータは「(0,1,2,
3)」と図示されている出力端から出力し、リズム音第
7、第4、第5、あるいは第6チャンネルのリズム音E
Gレートデータは「(7,4,5,6)」と図示されて
いる出力端から出力する。これらの出力は、それぞれセ
レクタ911の端子Aおよび端子Bに入力する。セレク
タ911は、スロットタイムSLTが「2」のとき(す
なわち図3におけるCスロットのとき)端子Aの入力を
選択出力し、スロットタイムSLTが「3」のとき(す
なわち図3におけるDスロットのとき)端子Bの入力を
選択出力するようになっている。したがって、図3で説
明したリズム音発生のための各チャンネルのタイミング
信号TREが発生されるときに、対応するチャンネルの
リズム音EGレートデータがパラメータRATEとして
出力されることとなる。
【0108】ここで、出力されるリズム音EGレートデ
ータは、リズム音1チャンネル当り4つのレートデータ
である。その区別をするためにEGステートEGSTが
入力している。すなわち、現在、リズム音のアタック部
の波形を出力しているなら、EGSTは「0」であり、
このときリズム音のEGレート発生部910はリズム音
のエンベロープのアタックレートを出力する。同様に、
リズム音の第1ディケイ部の波形を出力しているならE
GSTは「1」、リズム音の第2ディケイ部あるいはサ
スティン部の波形を出力しているならEGSTは
「2」、リズム音のリリース部の波形を出力している
(または無音状態)ならEGSTは「3」となり、この
ときリズム音のEGレート発生部910はリズム音のエ
ンベロープの第1ディケイレート、第2ディケイレー
ト、およびリリースレートを、それぞれ出力する。
【0109】リズム音のレベル補間レートレジスタ91
2は、リズム音のレベル補間を行なうレートを記憶す
る。リズム音のレベル補間レートは、8つのリズム音チ
ャンネルとも共通の値を用いる。したがって、リズム音
補間タイミング信号TRIのタイミングで、このリズム
音レベル補間レートレジスタ912に記憶してある値
が、パラメータRATEとして出力されるように構成さ
れている。
【0110】次に、図10を参照して、図1のターゲッ
トレジスタ部117について説明する。ターゲットレジ
スタ部117は、デコーダ1001、OR回路100
2、max(最大値)発生器1003、min(最小
値)発生器1004、PCMのEG目標レジスタ100
5、FMのEG目標レジスタ1006、FMの変調レベ
ルデータレジスタ1007、PCMレベルデータレジス
タ1008、FMレベルデータレジスタ1009、DC
F係数データレジスタ1010、リズム音のEG目標値
発生部1011、セレクタ1012、リズム音のレベル
データレジスタ1013、およびセレクタ1014を備
えている。
【0111】max発生器1003は、EG405がノ
ートオンディレイ機能を実行するときの目標値、EG4
05がLFO出力を発生するときの目標値、およびEG
405がPCM、FM、リズムの各エンベロープ波形の
うちアタック部分の波形を発生するときの目標値となる
定数を記憶する。min発生器1004は、EG405
がPCM、FM、リズムの各エンベロープ波形のうちリ
リース部分の波形を発生するときの目標値となる定数を
記憶する。max発生器1003およびmin発生器1
004に記憶する目標値は、全チャンネルで同じ値を用
いるのでそれぞれ記憶領域は1つである。
【0112】OR回路1002には、キーオンディレイ
タイミング信号TOND、LFOタイミング信号TLF
O、およびデコーダ1001からの第0出力端子からの
出力信号が入力する。デコーダ1001は、EG演算タ
イミング信号TEGを入力するとともに、EGステート
EGSTを入力する。そして、EG演算タイミングにお
いて、EGステートEGSTの値(「0」「1」「2」
「3」)に応じて第0出力端子、第1出力端子、第2出
力端子、および第3出力端子(デコーダ1001で、そ
れぞれ、「0」「1」「2」「3」と記されている出力
端子)に「1」を出力する。したがって、エンベロープ
のアタック部を出力するタイミングではデコーダ100
1の第0出力端子が「1」となり、第1ディケイ部では
第1出力端子が「1」となり、第2ディケイ部では第2
出力端子が「1」となり、そしてリリース部では第3出
力端子が「1」となる。これら以外の場合は各出力端子
は「0」である。
【0113】以上より、OR回路1002は、EG40
5がノートオンディレイ機能を実行するタイミング、L
FO出力機能を実行するタイミング、およびPCM、F
M、リズムの各エンベロープのアタック部を出力するタ
イミングで、「1」をmax発生器1003に出力す
る。max発生器1003は、これに応じてこれらの各
機能を実行するにあたっての目標値となる定数を発生
し、パラメータTARGETとして出力する。
【0114】min発生器1004には、デコーダ10
01の第3端子出力が入力する。min発生器1004
は、この入力のタイミング、すなわちEG405がエン
ベロープのリリース部を出力するタイミングで、そのリ
リース波形の目標値となる定数を発生し、パラメータT
ARGETとして出力する。
【0115】6つのレジスタ1005〜1010は、そ
れぞれチャンネル数分だけの記憶領域を有している。例
えば、PCMのEG目標レジスタ1005は、第0チャ
ンネルの目標値を記憶する記憶領域、第1チャンネルの
目標値を記憶する記憶領域、…、および第31チャンネ
ルの目標値を記憶する記憶領域の32個の記憶領域の集
合である。他のレジスタ1006〜1010も同様であ
る。
【0116】なお、PCMのEG目標レジスタ1005
およびFMのEG目標レジスタ1006は、1つのチャ
ンネル当りの記憶領域で2つの目標値、すなわち第1デ
ィケイ部の目標値である第1ディケイレベル、および第
2ディケイ部の目標値である第2ディケイレベルを記憶
するようになっている。FMの変調レベルデータレジス
タ1007、PCMレベルデータレジスタ1008、F
Mレベルデータレジスタ1009、およびDCF係数デ
ータレジスタ1010は、それぞれ、上述の1つの記憶
領域で1つの1つのチャンネルにおける目標値1つを記
憶している。
【0117】6つのレジスタ1005〜1010には、
それぞれチャンネルタイムCHT(5ビット)が入力し
ている。また、図2のタイミング発生部120で発生さ
れる6つのタイミング信号、すなわちPCMのEGタイ
ミング信号TPE、FMのEGタイミング信号TFE、
FMの変調度レベル補間タイミング信号TMI、PCM
のレベル補間タイミング信号TPI、FMのレベル補間
タイミング信号TFI、およびフィルタ係数処理タイミ
ング信号TDFが、それぞれ入力している。そして、各
レジスタ1005〜1010の記憶データは、各チャン
ネルにおけるこれらのタイミング信号が発生されるタイ
ミングで、パラメータTARGETとして送出される。
【0118】PCMのEG目標レジスタ1005からは
1チャンネル当り2つの目標値データが読み出されるの
で、その区別をするためにデコーダ1001の第1端子
および第2端子出力S12(2ビット)が入力してい
る。この出力信号S12により、EG405がエンベロ
ープの第1ディケイ部を出力していること、あるいは第
2ディケイ部を出力していることが検出できる。そし
て、PCMのEG目標レジスタ1005は、第1ディケ
イ部出力のとき第1ディケイレベルを、第2ディケイ部
出力のとき第2ディケイレベルを、それぞれパラメータ
TARGETとして出力するようになっている。
【0119】FMのEG目標レジスタ1006も上記の
PCMのEG目標レジスタ1005と同様であり、デコ
ーダ1001の出力信号S12に応じて、第1ディケイ
部出力のときFMの第1ディケイレベルを、第2ディケ
イ部出力のときFMの第2ディケイレベルを、それぞれ
パラメータTARGETとして出力するようになってい
る。
【0120】リズム音のEG目標値発生部1011に
は、チャンネルタイムCHTの下位2ビットCHT0,
CHT1、デコーダ1001の出力信号S12およびリ
ズムEGタイミングTREが入力する。リズム音のEG
目標値発生部1011は、各リズムchのステ−トが第
1ディケイ部または第2ディケイ部の場合、リズムEG
タイミングTREのタイミングでリズム音のEG目標値
データを出力する。出力の方式は、上記図9のリズム音
のEGレート発生部910およびセレクタ911と同様
である。すなわち、各CHT0,CHT1に応じて、リ
ズム音第0、第1、第2、あるいは第3チャンネルのリ
ズム音EG目標値データは「(0,1,2,3)」と図
示されている出力端から出力し、リズム音第7、第4、
第5、あるいは第6チャンネルのリズム音EG目標値デ
ータは「(7,4,5,6)」と図示されている出力端
から出力する。これらの出力は、それぞれセレクタ10
12の端子Aおよび端子Bに入力する。セレクタ101
2は、スロットタイムSLTが「2」のとき(すなわち
図3におけるCスロットのとき)端子Aの入力を選択出
力し、スロットタイムSLTが「3」のとき(すなわち
図3におけるDスロットのとき)端子Bの入力を選択出
力するようになっている。したがって、図3で説明した
リズム音発生のための各チャンネルのタイミング信号T
REが発生されるときに、対応するチャンネルのリズム
音EG目標値データがパラメータTARGETとして出
力されることとなる。
【0121】ここで、出力されるリズム音EG目標値デ
ータは、リズム音1チャンネル当り2つの目標値データ
である。その区別をするためにデコーダ1001の出力
信号S12が入力している。すなわち、現在、リズム音
の第1ディケイ部のエンベロ−プ波形を出力しているな
ら、リズム音のEG目標値発生部1011はリズム音の
エンベロープの第1ディケイレベルを出力する。同様
に、リズム音の第2ディケイ部を出力しているなら、リ
ズム音のEGレート発生部1011はリズム音のエンベ
ロープの第2ディケイレベルを出力する。
【0122】リズム音のレベルデータレジスタ1013
は、リズム音の各チャンネルのレベルを記憶する。リズ
ム音補間タイミング信号TRIのタイミングで、このリ
ズム音レベルデータレジスタ1013に記憶してある値
が、パラメータTARGETとして出力されるように構
成されている。セレクタ1014と協働する方式は、上
記のリズム音のEG目標値発生部1011およびセレク
タ1012と同様であるので省略する。ただし、出力す
るリズム音のレベルデータはチャンネルごとに1つであ
るから、リズム音のレベルデータレジスタ1013には
出力信号S12は入力されない。
【0123】次に、図11〜図14の説明図を参照し
て、図8のマルチファンクションEG405の機能を詳
細に説明する。
【0124】図11は、マルチファンクションEG40
5のノートオンディレイ機能を説明するための説明図で
ある。「カウント値」は、EG405が現在処理してい
るデータを示す。データ自体は2進数のディジタル値で
あるが、これ以降の説明図では、この図と同様に、その
データの示す値のアナログ量として時間に対する変化を
図に示している。具体的には、EG405のシフトレジ
スタ807の最終段の値であり、加算器804および検
出器808に入力する値のことである。
【0125】図8を参照して、255ステージを有する
シフトレジスタ807は、クロック信号φ0にしたがっ
てシフトしていく。したがって、このシフトレジスタ8
07の最終ステージに接続された1ステージの遅延回路
でもある加算器804と合せると、現在から過去に遡っ
て256クロック(φ0で)分のデータが記憶されてい
ることとなる。図3により、これは第0〜第31チャン
ネルの各機能(チャンネルごとに8つ)に対応する一連
のデータである。
【0126】図11を参照して、EG405は、あるチ
ャンネルのキーオンディレイタイミング信号TONDの
タイミングで当該チャンネルのNONレジスタ(図1付
番113)を参照する。NONレジスタが「0」の間
(例えば付番1101の位置)、セレクタ制御部803
は、セレクタ806が定数min(最小値)を選択出力
するように制御する。これにより、セレクタ806は定
数minをシフトレジスタ807の第1ステージに現在
のカウント値として書き込む。次に、鍵盤101の鍵が
押下され、これに伴ってあるチャンネルが割り当てられ
ると、そのチャンネルのNONレジスタは「1」とな
る。
【0127】NONレジスタが「1」になると、セレク
タ制御部803は、そのチャンネルのキーオンディレイ
タイミング信号TONDのタイミングで、セレクタ80
7が加算器804からの入力を選択出力するように制御
する(付番1102)。このとき、図9および図10で
説明したように、パラメータRATEとしてはレートR
(=1/ディレイタイムT)が、パラメータTARGE
Tとしては目標値となる定数maxが、EG405に入
力している。したがって、加算器804では先に書き込
まれている最小値の定数minにレートRを加算する処
理が行なわれる。加算器804の加算結果は、セレクタ
806を介してシフトレジスタ807に書き込まれる。
【0128】さらに、クロックが進み次にこのチャンネ
ルのキーオンディレイタイミング信号TONDのタイミ
ングとなったときも、NONレジスタが「1」の間は、
同様にしてシフトレジスタ807に記憶されている対応
するデータにレートRを加算しシフトレジスタ807に
書き込む。このようにして、シフトレジスタ807の当
該記憶データ(カウント値)を徐々に累算(レートRで
のカウントアップ)していく(付番1103)。
【0129】一方、目標値であるパラメータTARGE
T(定数max)が検出器808に入力しており、検出
器808は加算器804に入力するシフトレジスタ80
7の最終段の値と目標値TARGETとを比較してい
る。そして、シフトレジスタ807の最終段の値が目標
値TARGETに至ったとき(付番1104)、検出信
号OVERを「0」から「1」に立ち上げる。セレクタ
制御部803は、この検出信号OVERの立ち上がりに
基づいて、セレクタ806が定数max(最大値)を選
択出力するように切り換える。したがって、これ以降、
NONレジスタが「0」となったことが検出されるまで
(付番1105)は、シフトレジスタ807の記憶デー
タは定数maxが保持される。
【0130】また、検出信号OVERは、DNON発生
部801に入力する。DNON発生部801は、この検
出信号OVERの立上がりのタイミングでノートオンパ
ルスNONPを出力する(付番1106)。DNON発
生部801は、検出信号OVERをそのままディレイノ
ートオンDNONとしても出力する。これらのディレイ
ノートオンDNON、ノートオンパルスNONPなどに
よって、PCM波形の楽音のアタック部の開始や、リリ
ース部の開始が制御される。すなわち、ノートオンパル
スNONPにてPCMのアドレスカウンタはリセットさ
れ、またPCMのエンベロープ波形のアタック部がスタ
ートすると、ディレイノートオン信号の立ち下がりにて
エンベロープ波形のリリース部がスタートする。
【0131】次に、押下されていた鍵盤101の鍵が離
鍵され、これに伴って割り当てられていたチャンネルの
NONレジスタは「0」となる。NONレジスタが
「0」になると、セレクタ制御部803は、そのチャン
ネルのキーオンディレイタイミング信号TONDのタイ
ミングで、セレクタ807が定数min(最小値)を選
択出力するように制御する(付番1107)。また、検
出器808は、検出信号OVERを「0」に立ち下げ、
その立ち下げのタイミングでノートオフパルスNOFP
を出力する。
【0132】ノートオンディレイ機能を実行するとき、
EG405は以上のように動作する。
【0133】図12は、マルチファンクションEG40
5のLFO波形発生機能を説明するための説明図であ
る。この図を参照して、EG405のセレクタ制御部8
03は、各チャンネルのLFOタイミング信号TLFO
のタイミングで、セレクタ807が加算器804からの
入力を選択出力するように制御する。このとき、パラメ
ータRATEとしてはLFOレートがEG405に入力
している。したがって、加算器804では先に書き込ま
れている値にLFOレートを加算する処理が行なわれ
る。加算器804の加算結果は、セレクタ806を介し
てシフトレジスタ807に書き込まれる。
【0134】さらに、クロックが進み次にこのチャンネ
ルのLFOタイミング信号TLFOのタイミングとなっ
たときも、同様にしてシフトレジスタ807に記憶され
ている値にLFOレートを加算しシフトレジスタ807
に書き込む。このようにして、シフトレジスタ807の
当該記憶データを徐々に累算(LFOレートでのカウン
トアップ)していく(付番1201)。
【0135】一方、目標値であるパラメータTARGE
Tとして定数maxが検出器808に入力しており、検
出器808は加算器804に入力するシフトレジスタ8
07の最終段の値とこの目標値TARGETとを比較し
ている。そして、シフトレジスタ807の最終段の値が
目標値TARGETに至ったとき(付番1202)、検
出信号OVERを「0」から「1」に立ち上げる。セレ
クタ制御部803は、この検出信号OVERに基づい
て、セレクタ806が定数min(最小値)を選択出力
するように切り換える。したがって、これ以降は、この
最小値minを初期値としてLFOレートの累算が再び
行なわれる(付番1203)。LFO出力のタイミング
では、基本的には上記のような動作が繰り返される。
【0136】一方、鍵盤101のある鍵が押下され、こ
れに伴ってノートオンパルスNONPが発生されたと
き、セレクタ制御部803はこれを検出して、セレクタ
806が定数min(最小値)を選択出力するように切
り換える(付番1204)。したがって、ノートオンパ
ルスNONPによっても、LFO出力は最小値minに
初期化され、以降LFOレートの累算が再び行なわれ
る。
【0137】LFO波形発生機能を実行するとき、EG
405は以上のように動作する。なお、このように出力
されるLFO波形は所定のタイミングでシフトレジスタ
807から取り出されて、図4のLFOラッチ406に
ラッチされる。そして、波形整形部407,408で波
形整形され、それぞれ振幅変調およびピッチ変調に用い
られる。図12には、波形整形部407,408で整形
後の波形1205(三角波)も示した。波形整形部40
7,408における波形整形は、LFOラッチ406の
最上位ビットを参照し、これが「1」のとき全ビットを
反転させる処理である。
【0138】図13は、マルチファンクションEG40
5のエンベロープ波形発生機能を説明するための説明図
である。EG405が発生するエンベロープとしては3
種類ある。PCMのEGタイミング信号TPEのタイミ
ングにおけるPCMのエンベロープ発生、FMのEGタ
イミング信号TFEのタイミングにおけるFMのエンベ
ロープ発生、およびリズム音EGタイミング信号TRE
のタイミングにおけるリズム音のエンベロープ発生であ
る。
【0139】まず、PCMのエンベロープ発生を例にと
り説明する。図13を参照して、EG405のセレクタ
制御部803は、あるチャンネルのEGタイミング信号
TPEのタイミングで、現在の状態が無音状態(EGス
テートEGST=3)のときは(付番1301)、セレ
クタ807が定数min(最小値)を選択出力するよう
に制御する。このとき、検出器808に入力するパラメ
ータTARGETも最小値の定数minである。したが
って、検出器808は検出信号OVERとして「1」を
出力している(付番1302)。
【0140】次に、鍵盤101のある鍵が押下され、こ
れに伴ってノートオンパルスNONPが発生されたと
き、EGステート発生器802はノートオンパルスNO
NPに応じてEGステートEGSTを「0」(アタック
部出力状態)とし、またセレクタ制御部803はこれを
検出して、セレクタ806が加算器804からの入力を
選択出力するように切り換える(付番1303)。EG
ステートEGSTが「0」となると、図9,10で説明
したように、パラメータRATEとしてアタックレート
ARが、パラメータTARGETとして目標値となる定
数max(最大値)が、EG405に入力することとな
る。
【0141】したがって、加算器804では先に書き込
まれている最小値の定数minにアタックレートARを
加算する処理が行なわれる。加算器804の加算結果
は、セレクタ806を介してシフトレジスタ807に書
き込まれる。また、検出器808に入力するパラメータ
TARGETが定数max(最大値)になるので、検出
信号OVERは「0」となる。
【0142】さらに、クロックが進み次にこのチャンネ
ルのPCM音源EGタイミング信号TPEのタイミング
となったときも、同様にしてシフトレジスタ807に記
憶されている現在値にアタックレートARを加算しシフ
トレジスタ807に書き込む。このようにして、シフト
レジスタ807の当該記憶データ(カウント値)を徐々
に累算(アタックレートARでのカウントアップ)して
いく(付番1304)。これにより、エンベロープのア
タック部の波形が生成される。
【0143】一方、このように累算されていくカウント
値が目標値TARGET(定数max)に至ったとき
(付番1305)、検出器808は検出信号OVERと
して〓「1」を出力する。EGステート発生部802
は、この検出信号OVERを入力して、EGステートE
GSTを「0」から「1」(第1ディケイ部の出力状
態)にする。EGステートEGSTが「1」になると、
図9,10で説明したように、パラメータRATEとし
て第1ディケイレート1DRが、パラメータTARGE
Tとして目標値となる第1ディケイレベル1DLが、E
G405に入力することとなる。
【0144】したがって、検出器808は、カウント値
(この時点で定数maxに至っている)と第1ディケイ
レベル1DLとを比較するようになり、検出信号OVE
Rは「0」となる(付番1306)。セレクタ制御部8
03は、引き続きセレクタ806が加算器804からの
入力を選択出力するように制御する。したがって、これ
以降は、最大値maxを初期値として第1ディケイレー
ト1DRを累算していく処理が行われ、これによりエン
ベロープの第1ディケイ部の波形が生成される(付番1
306)。なお、第1ディケイレート1DRは負数であ
るので、第1ディケイ部の波形は図のように漸減するグ
ラフを描く。
【0145】このように累算されていくカウント値が目
標値TARGETすなわち第1ディケイレベル1DLに
至ったとき(付番1307)、検出器808は検出信号
OVERとして「1」を出力する。EGステート発生部
802は、この検出信号OVERを入力して、EGステ
ートEGSTを「1」から「2」(第2ディケイ部の出
力状態)にする。EGステートEGSTが「2」になる
と、図9,10で説明したように、パラメータRATE
として第2ディケイレート2DRが、パラメータTAR
GETとして目標値となる第2ディケイレベル2DL
が、EG405に入力することとなる。
【0146】したがって、検出器808は、カウント値
(この時点で第1ディケイレベル1DLに至っている)
と第2ディケイレベル2DLとを比較するようになり、
検出信号OVERは「0」となる(付番1308)。セ
レクタ制御部803は、引き続きセレクタ806が加算
器804からの入力を選択出力するように制御する。し
たがって、これ以降は、第1ディケイレベル1DLを初
期値として第2ディケイレート2DRを累算していく処
理が行なわれ、これによりエンベロープの第2ディケイ
部の波形が生成される(付番1309)。なお、第2デ
ィケイレート2DRは負数であるので、第2ディケイ部
の波形は図のように漸減するグラフを描く。
【0147】このように累算されていくカウント値が目
標値TARGETすなわち第2ディケイレベル2DLに
至ったとき(付番1310)、検出器808は検出信号
OVERとして「1」を出力する。EGステート発生部
802は、この検出信号OVERを入力するが、EGス
テートEGSTは「2」のままとする。このとき、パラ
メータRATEとして第2ディケイレート2DRが、パ
ラメータTARGETとして目標値となる第2ディケイ
レベル2DLが、引き続きEG405に入力している。
【0148】したがって、検出器808は、カウント値
(この時点で第2ディケイレベル2DLに至っている)
と第2ディケイレベル2DLとを比較して、検出信号O
VERとして「1」を出力し続ける(付番1311)。
セレクタ制御部803は、セレクタ806が1ステージ
遅延回路805を介してパラメータTARGETの入力
を選択出力するように制御する。したがって、これ以降
は、カウント値として第2ディケイレベル2DLが保持
され、これによりエンベロープのサスティン部の波形が
生成される(付番1312)。
【0149】次に、押下されていた鍵盤101の鍵が離
鍵され、これに伴ってノートオフパルスNOFPが発生
されたとき(付番1313)、EGステート発生器80
2はノートオフパルスNOFPに応じてEGステートE
GSTを「2」から「3」〓(リリース部出力状態)と
し、またセレクタ制御部803はこれを検出して、セレ
クタ806が加算器804からの入力を選択出力するよ
うに切り換える。EGステートEGSTが「3」となる
と、図9,10で説明したように、パラメータRATE
としてリリースレートRRが、パラメータTARGET
として目標値となる定数min(最小値)が、EG40
5に入力することとなる。
【0150】したがって、これ以降は、第2ディケイレ
ベル2DLを初期値としてリリースレートRRを累算し
ていく処理が行なわれ、これによりエンベロープのリリ
ース部の波形が生成される(付番1314)。なお、リ
リースレートRRは負数であるので、リリース部の波形
は図のように漸減するグラフを描く。また、検出器80
8に入力するパラメータTARGETが定数min(最
小値)になるので、検出信号OVERは「0」となる
(付番1315)。
【0151】このように累算されていくカウント値が目
標値TARGETすなわち定数minに至ったとき(付
番1316)、検出器808は検出信号OVERとして
「1」を出力する。EGステート発生部802は、この
検出信号OVERを入力するが、EGステートEGST
は「3」のままとする。このとき、パラメータTARG
ETとして定数minが、引き続きEG405に入力し
ている。したがって、検出器808は、カウント値(既
に目標値である定数minになっている)と定数min
とを比較して、検出信号OVERとして「1」を出力し
続ける(付番1317)。セレクタ制御部803は、セ
レクタ806が最小値定数minの入力を選択出力する
ように制御する。したがって、これ以降は、カウント値
として最小値定数minが保持され、これにより無音状
態が継続する(付番1318)。なお、この例では、P
CMEGのアタック、第1ディケイ、第2ディケイが終
わってからサスティン部に入ったところでノートオフパ
ルスNOFPが発生していたが、ノートオフパルスNO
FPは、それ以前のアタック部や第1ディケイ部、第2
ディケイ部の途中で発生する場合もあり、そのときはノ
ートオフパルスが発生した時点でEGステートEGST
をただちに「3」に変化させ、リリース部のエンベロー
プ波形に移行する。
【0152】以上、PCMのエンベロープ発生の際のE
G405の動作を説明したが、FM音源EGタイミング
信号TFEのタイミングにおけるFMのエンベロープ発
生、およびリズム音EGタイミング信号TREのタイミ
ングにおけるリズム音のエンベロープ発生も同様である
ので、これらについては説明を省略する。
【0153】図14は、マルチファンクションEG40
5の補間機能を説明するための説明図である。EG40
5が実行する補間機能には5種類ある。FMの変調度レ
ベル補間タイミング信号TMI、PCMのレベル補間タ
イミング信号TPI、FMのレベル補間タイミング信号
TFI、フィルタ係数処理タイミング信号TDF、およ
びリズム音のレベル補間タイミング信号TRIの各タイ
ミング信号の発生に伴って行なわれる補間処理である。
いずれの補間処理もEG405の動作は同様であるの
で、ここではFMの変調度レベル補間処理を例にあげて
説明し、他は省略する。
【0154】図14を参照して、EG405の検出器8
08は、あるチャンネルのFM変調度レベル補間タイミ
ング信号TMIのタイミングで、カウント値と目標値T
ARGETとを比較する。目標値TARGETとして
は、ターゲットレジスタ部117の変調レベルデータレ
ジスタ1007の記憶データが出力されている。カウン
ト値と目標値TARGETとが一致しているとき(付番
1401)、検出器808は検出信号OVERとして
「1」を出力し、セレクタ制御部803はセレクタ80
6が1ステージ遅延回路805を介してパラメータTA
RGETの入力を選択出力するように制御する。したが
って、カウント値としてパラメータTARGETの値が
保持される(付番1401)。
【0155】次に、マイコン103がターゲットレジス
タ部117の変調レベルデータレジスタ1007の値
(目標値)を書き換えたとする(付番1402)。この
とき検出器808は、カウント値と目標値TARGET
が異なるので、検出信号OVERとして「0」を出力
し、セレクタ制御部803はセレクタ806が加算器8
04からの入力を選択出力するように切り換える。パラ
メータRATEとしては、レートレジスタ部116のF
M変調度補間レートレジスタ905の値が入力してい
る。したがって、加算器804ではカウント値にこのF
M変調度補間レートRATEを加算する処理が行なわれ
る。加算器804の加算結果は、セレクタ806を介し
てシフトレジスタ807に書き込まれる。
【0156】さらに、クロックが進み次にこのチャンネ
ルのFM変調度レベル補間タイミング信号TMIのタイ
ミングとなったときも、同様にしてシフトレジスタ80
7に記憶されているカウント値にFM変調度補間レート
を加算しシフトレジスタ807に書き込む。このように
して、シフトレジスタ807の当該記憶データ(カウン
ト値)を徐々に累算していく。これにより、目標値に徐
々に近付いていく補間後の値が生成される(付番140
3)。なお、パラメータRATEおよびTARGET
は、レートRATEを順次累算していくことにより目標
値TARGETに近付くように選ばれているものとす
る。
【0157】一方、このように累算されていくカウント
値が目標値TARGETに至ったとき(付番140
4)、検出器808は検出信号OVERとして「1」を
出力する。このとき、パラメータRATEとしてFM変
調度補間レートが、パラメータTARGETとして目標
値となる変調レベルが、引き続きEG405に入力して
いる。
【0158】したがって、検出器808は、カウント値
(既に目標値である変調レベルの値になっている)と目
標値の変調レベルとを比較して、検出信号OVERとし
て「1」を出力し続ける。セレクタ制御部803は、セ
レクタ806が1ステージ遅延回路805を介してパラ
メータTARGETの入力を選択出力するように制御す
る。したがって、これ以降は、カウント値として目標値
の変調レベルの値が保持される(付番1401)。な
お、カウント値が目標値TARGETに至ったとき、マ
イコン103に割込が発生する。これによりマイコン1
03はカウント値が目標値TARGETに到達したこと
を知る。
【0159】一方、鍵盤101のある鍵が押下され、こ
れに伴ってノートオンパルスNONPが発生されたとき
(付番1405)、セレクタ制御部803はセレクタ8
06が1ステージ遅延回路805を介してパラメータT
ARGETの入力を選択出力するように切り換える。し
たがって、カウント値として目標値TARGETが強制
的に書き込まれる。そして、検出器808は検出信号O
VERとして「1」を出力し、カウント値として目標値
の変調レベルの値が保持される(付番1406)。
【0160】以上のようにして、EG405はFMの変
調度レベルの時間方向の変化の補間処理を行なう。
【0161】次に図15を参照して、図4の係数生成部
410を説明する。係数生成部404は、セレクタ15
01、セレクタ1502、加算器1503、0レベル検
出部1504、ミュート発生部1505、遅延回路15
06、リミッタ1507、セレクタ1508、および遅
延回路1509を有する。
【0162】セレクタ1501には、図8のEG405
のシフトレジスタ807の所定のタップ位置から引き出
したデータE1,E9,E13,E17が入力する。デ
ータE1はシフトレジスタ807の第1ステージのデー
タ、データE9はシフトレジスタ807の第9ステージ
のデータ、データE13はシフトレジスタ807の第1
3ステージのデータ、データE17はシフトレジスタ8
07の第17ステージのデータである。データE1は、
EG405における現在処理中のデータからみて1クロ
ック分戻ったタイミングでの処理データである。データ
E9,E13,E17も同様にそれぞれ9、13、およ
び17クロック分戻ったタイミングでの処理データであ
る。またセレクタ1501には、ミュート発生部150
5からのミュート信号MCが入力する。
【0163】セレクタ1502には、EG405のシフ
トレジスタ807のデータE9,E13が入力する。ま
たセレクタ1502には、図4のセレクタ409から出
力されるLFO出力ALFOが入力する。
【0164】セレクタ1501の出力およびセレクタ1
502の出力は、加算器1503に入力する。加算器1
503は1クロック分の遅延時間を有する。加算結果
は、遅延回路1506および0レベル検出部1504に
入力する。遅延回路1506は、加算器1503がフィ
ルタ係数Fを演算したタイミングで該係数Fをとりこみ
各々適宜な時間遅延をしてから、リミッタ1507およ
びセレクタ1508の第1入力端子に出力する。リミッ
タ1507は、演算部404のディジタルフィルタのQ
を制御するデータDFQを入力し、このデータDFQに
遅延回路1506より供給されたフィルタ係数Fに応じ
た数値範囲制御(リミット処理)を行ないフィルタのQ
としてセレクタ1508の第0入力端子に出力する。
【0165】0レベル検出部1504は、加算器150
3の加算結果が「0」レベルであるかどうかを検出し、
「0」レベルを検出したとき検出信号DETを出力す
る。検出信号DETは、具体的には、PCMのエンベロ
ープおよびFMのエンベロープが所定値より小さいとき
(データの所定の上位ビットが「0」のとき)「1」と
なり、それ以外で「0」となる。検出信号DETはミュ
ート発生部1505に入力する。ミュート発生部150
5は、検出信号DETに応じて、DET=1のときロー
レベル、DET=0のときハイレベルとなるミュート信
号MCを出力する。
【0166】セレクタ1508は、第0入力端子にリミ
ッタ1507の出力を、第1入力端子に遅延回路150
6の出力を、第2入力端子に加算器1503の出力を、
それぞれ入力する。セレクタ1508の出力は、2クロ
ックの遅延時間を有する遅延回路1509を介して信号
COEFとして出力される。
【0167】なお、セレクタ1501,1502,15
08が、それぞれ出力するデータをどのように決定する
かは後に詳しく説明する。
【0168】次に、図16を参照して図4の演算部40
4を説明する。演算部404は、遅延回路1601、入
力レジスタ1602、セレクタ1603、乗算器160
4、遅延回路1605、遅延回路1606、セレクタ1
607、セレクタ1608、加算器1609、FM波形
発生部1610、Z1ディレイレジスタ1611、Z2
ディレイレジスタ1612、遅延回路1613、および
出力レジスタ1614を有する。Z1及びZ2のディレ
イレジスタは、各々、後述するフィルタ演算に用いられ
るためのディレイであり、それぞれ各PCMch毎の記
憶領域を持っている。
【0169】補間部403から出力されたPCM波形出
力IWDは4時分割ch分の遅延時間に調整するための
遅延回路1601に入力し、アドレスカウンタの時刻C
HTから4ch分遅れたタイミングにPCM波形を出力
する様タイミングあわせした後、セレクタ1603に入
力する。同様に、補間部403から出力されたリズム音
波形出力IWDは入力レジスタ1602を介してセレク
タ1603に入力する。入力レジスタ1602は、8つ
のリズムchに対応した8つの記憶領域を持ち、各々に
波形メモリより読み出された各リズムchの波形を記憶
し、所定のタイミングで出力する。また、セレクタ16
03には、FM波形発生部1610からの出力信号OP
D、Z1ディレイレジスタ1611からの出力信号Z1
D、遅延回路1605からの出力信号M4D、および加
算器1609からの出力信号MA4Dが入力している。
【0170】セレクタ1603の選択出力は、乗算器1
604に入力し、ここで係数生成部410からの係数出
力COEFと乗算される。乗算器1604は3クロック
分の遅延時間を有する。乗算器1604の乗算結果は、
遅延回路1605で1クロック分遅延され出力信号M4
Dとしてセレクタ1603に入力する。また、乗算器1
604の乗算結果はセレクタ1608に入力する。セレ
クタ1608にはZ2ディレイレジスタからの出力信号
Z2Dも入力している。セレクタ1608の選択出力は
加算器1609に入力する。
【0171】乗算器1604の乗算結果は、遅延回路1
606で4クロック分遅延されセレクタ1607に信号
M7Dとして入力する。セレクタ1607には、Z1デ
ィレイレジスタ1611からの出力信号Z1D、Z2デ
ィレイレジスタ1612からの出力信号Z2D、常時定
数「0」を取る信号「0」、図5の読出し部402から
出力される位相PHASE、および遅延回路1613か
らの出力信号A4Dが入力する。セレクタ1607の選
択出力は加算器1609に入力する。
【0172】加算器1609は、セレクタ1607から
の出力信号とセレクタ1608からの出力信号とを加算
する。加算結果は、FM波形発生部1610、Z1ディ
レイレジスタ1611、Z2ディレイレジスタ161
2、遅延回路1613、および出力レジスタ1614
に、それぞれ入力される。また、加算器1609の加算
結果は、そのまま出力信号MA4Dとして出力され、セ
レクタ1603に入力する。
【0173】演算部404の最終的な出力信号は、出力
レジスタ1614から信号MTDとして出力される。
【0174】次に、図17のタイミング図を参照して、
第iチャンネルでの楽音波形発生の動作を説明する。こ
こでは、この第iチャンネルが図3のAスロットに属す
るものとして説明する。
【0175】図17の付番1701で示す8つの矩形
は、EG405において行なわれる第iチャンネルに関
する処理のタイミングを示す。各矩形の下に付されてい
るTOND,TLFO,TPE,TFE,TMI,TP
I,TFI,TDFは図2、図3、図8などで説明した
タイミング信号である。各矩形の中に記されている記号
は、対応するタイミング信号が発生されるタイミングの
ときにEG405が処理しているデ−タ(通常は加算器
804により累算を行なっているところのデータ)を示
す。
【0176】すなわち、LFはCHT=i+2,SLT
=4のタイミング信号TLFOが発生されるタイミング
でEG405が処理しているLFO出力データ、PEは
CHT=i+3,SLT=0のタイミング信号TPEが
発生されるタイミングでEG405が処理しているPC
Mのエンベロープデータ、FEはCHT=i+3,SL
T=4のタイミング信号TFEが発生されるタイミング
でEG405が処理しているFMのエンベロープデー
タ、MIはCHT=i+4,SLT=0のタイミング信
号TMIが発生されるタイミングでEG405が処理し
ている補間された変調レベルデータ、PIはCHT=i
+4,SLT=4のタイミング信号TPIが発生される
タイミングでEG405が処理している補間されたPC
Mレベルデータ、FIはCHT=i+5,SLT=0の
タイミング信号TFIが発生されるタイミングでEG4
05が処理している補間されたFMレベルデータ、DF
はCHT=i+5,SLT=4のタイミング信号TDF
が発生されるタイミングでEG405が処理している補
間されたDCF係数データを、それぞれ示す。
【0177】1702はディレイノートオンDNONの
発生タイミングを示す。ディレイノートオンDNON
は、ノートオンディレイ機能を実行するタイミング(C
HT=i+2,SLT=0)から所定時間遅れたタイミ
ング(CHT=i+2,SLT=4)で出力されるよう
になっている。
【0178】1703は図4の波形整形部408におけ
る処理タイミングを示す。LFOラッチ406は、CH
T=i+4,SLT=7のタイミングで、図8のEG4
05からのLFO出力をラッチする。このため、EG4
05のシフトレジスタの第(16+3)ステージにLF
O出力のタップが設けられている。「16+3」すなわ
ち19クロック前の処理データがアクセスできる位置に
タップを設けてLFO出力を取り出すことができるの
は、CHT=i+4,SLT=7のタイミングから19
クロック遡ったCHT=i+2,SLT=4でLFO出
力処理を行なうタイミングとなっているからである。
【0179】なお、Aスロット〜Dスロットのどのスロ
ットの場合も、LFO出力LFの取込みは、そのチャン
ネルに関するタイミング信号TLFOが含まれるチャン
ネルタイムCHTの範囲から2つ進んだCHT+2の範
囲のSLT=7のタイミングで行なわれる。したがっ
て、このタイミングに合わせて、Bスロットでは「16
+2」すなわちシフトレジスタ807の18クロック前
の処理データがアクセスできる位置にタップを設けてL
FO出力LFを取り出し、Cスロットでは「16+1」
すなわち17クロック前の処理データがアクセスできる
位置でLFO出力LFを取り出し、Dスロットでは「1
6+0」すなわち16クロック前の処理データがアクセ
スできる位置でLFO出力LFを取り出すようにしてい
る。
【0180】図4の波形整形部408では、CHT=i
+5,SLT=0〜7のタイミングで、得られた第iチ
ャンネルのLFO出力LFに基づいて波形整形処理およ
び振幅変調深さAMDの乗算処理を行なう。その結果
は、CHT=i+6,SLT=2からCHT=i+8,
SLT=1のタイミングで、第iチャンネル用のLFO
出力として、端子LFO1(図4の波形整形部408の
出力)に出力される。同様にして、CHT=i+7,S
LT=2からCHT=i+9,SLT=1のタイミング
で、第i+1チャンネル用のLFO出力が端子LFO2
に出力される。
【0181】LFO1とLFO2の出力は、スロットタ
イムSLTの最下位ビットSLT0で選択出力が切替わ
るセレクタ409に入力する。セレクタ409は、この
例の第iチャンネルではLFO1を、第i+1チャンネ
ルではLFO2を、出力データALFOとして図15の
係数生成部410のセレクタ1502へと選択出力す
る。
【0182】図17の付番1704は、図15の係数生
成部410における処理タイミングを示す。各タイミン
グを示す矩形中に「休」と記されているタイミングでは
特に有意な処理は行なわれていない。
【0183】EG405がCHT=i+4,SLT=0
のタイミングで変調レベルについての補間処理を行なっ
た次のタイミング(CHT=i+4,SLT=1)にお
いて、係数生成部410のセレクタ1501は入力デー
タE1を、セレクタ1502は入力データE9を、それ
ぞれ選択出力する。このとき、データE1は1クロック
前の処理データである補間された変調レベルデータMI
であり、データE9は9クロック前の処理データである
PCMのエンベロープデータPEである。
【0184】これらのデータMI,PEは加算器150
3で加算される(付番1711)。加算結果である変調
レベルデータMLは、加算器1503で1クロック分遅
延され、CHT=i+4,SLT=2のタイミングで加
算器1503からセレクタ1508に出力される。この
ときセレクタ1508は、第2端子入力を選択出力する
ように制御されており、したがってこの変調レベルデー
タMLはセレクタ1508から遅延回路1509に出力
される。この変調レベルデータMLは、遅延回路150
9で2クロック分遅延され、CHT=i+4,SLT=
4のタイミングで、演算部404の乗算器1604に乗
数(係数COEF)として入力する。
【0185】次に、CHT=i+4,SLT=5のタイ
ミングにおいて、係数生成部410のセレクタ1501
は入力データE1を、セレクタ1502は入力データE
13を、それぞれ選択出力する。このとき、データE1
は1クロック前の処理データである補間されたPCMレ
ベルデータPIであり、データE13は13クロック前
の処理データであるPCMのエンベロープデータPEで
ある。
【0186】これらのデータPI,PEは加算器150
3で加算される(付番1712)。加算結果であるPC
MレベルデータPLは、加算器1503で1クロック分
遅延され、CHT=i+4,SLT=6のタイミングで
加算器1503からセレクタ1508に出力される。こ
のときセレクタ1508は、第2端子入力を選択出力す
るように制御されており、したがってPCMレベルデー
タPLはセレクタ1508から遅延回路1509に出力
される。このPCMレベルデータPLは、遅延回路15
09で2クロック分遅延され、CHT=i+5,SLT
=0のタイミングで、演算部404の乗算器1604に
乗数(係数COEF)として入力する。
【0187】次に、CHT=i+5,SLT=1のタイ
ミングにおいて、係数生成部410のセレクタ1501
は入力データE1を、セレクタ1502は入力データE
13を、それぞれ選択出力する。このとき、データE1
は1クロック前の処理データである補間されたFMレベ
ルデータFIであり、データE13は13クロック前の
処理データであるFMのエンベロープデータFEであ
る。
【0188】これらのデータFI,FEは加算器150
3で加算される(付番1713)。加算結果であるFM
レベルデータFLは、加算器1503で1クロック分遅
延され、CHT=i+5,SLT=2のタイミングで加
算器1503からセレクタ1508に出力される。この
ときセレクタ1508は、第2端子入力を選択出力する
ように制御されており、したがってFMレベルデータF
Lはセレクタ1508から遅延回路1509に出力され
る。このFMレベルデータFLは、遅延回路1509で
2クロック分遅延され、CHT=i+5,SLT=4の
タイミングで、演算部404の乗算器1604に乗数
(係数COEF)として入力する。
【0189】次に、CHT=i+6,SLT=5のタイ
ミングにおいて、係数生成部410のセレクタ1501
は入力データE9を、セレクタ1502は入力データA
LFOを、それぞれ選択出力する。このとき、データE
9は9クロック前の処理データである補間されたDCF
係数データDFであり、データALFOは波形整形部4
08のLFO1端子からのLFO出力データである。
【0190】これらのデータDF,ALFOは加算器1
503で加算される(付番1714)。加算結果である
フィルタ係数Fは、加算器1503で1クロック分遅延
され、CHT=i+6,SLT=6のタイミングで加算
器1503より出力され遅延回路1506に入力され
る。入力したフィルタ係数Fは途中でリミッタ1507
のフィルタのQ(DFQ)のリミットに使用されつつト
−タルで32ch分の時分割ch時間遅らせて(=1D
ACサイクル)遅延回路1506よりセレクタ1508
に出力される。この時刻でセレクタ1508は、第1端
子入力を選択出力するように制御されており、したがっ
て1DACサイクル遅延されたフィルタ係数Fはセレク
タ1508から遅延回路1509に出力される。このフ
ィルタ係数Fは、遅延回路1509で2クロック分遅延
され、CHT=i+7,SLT=0のタイミングで、演
算部404の乗算器1604に乗数(係数COEF)と
して入力する。ここで、セレクタ1508が第1入力端
子を選択し1DAC前の値を用いるのは、Qリミット制
御に用いた係数FをQと同じタイミングで用いるためで
ある。
【0191】同様に、CHT=i+7,SLT=1のタ
イミングにおいて、係数生成部410のセレクタ150
1は入力データE13を、セレクタ1502は入力デー
タALFOを、それぞれ選択出力する。このとき、デー
タE13は13クロック前の処理データである補間され
たDCF係数データDFであり、データALFOは波形
整形部408のLFO1端子からのLFO出力データで
ある。これらのデータDF,ALFOは上記と同様に処
理され(付番1715)、結果としてフィルタ係数Fが
CHT=i+7,SLT=4のタイミングで、演算部4
04の乗算器1604に乗数(係数COEF)として入
力する。なお、このフィルタ係数Fは、後述するディジ
タルフィルタ処理の係数として使用されるものであり、
フィルタのカットオフ周波数をコントロ−ルする。
【0192】CHT=i+7,SLT=5のタイミング
において、係数生成部410のセレクタ1501はミュ
ート信号MCを、セレクタ1502は入力データALF
Oを、それぞれ選択出力する。これらのデータMC,A
LFOは加算器1503で加算される(付番171
6)。加算結果であるミュートレベルMUは、加算器1
503で1クロック分遅延され、CHT=i+7,SL
T=6のタイミングで加算器1503からセレクタ15
08に出力される。このときセレクタ1508は、第2
端子入力を選択出力するように制御されており、したが
ってミュートレベルMUはセレクタ1508から遅延回
路1509に出力される。このミュートレベルMUは、
遅延回路1509で2クロック分遅延され、CHT=i
+8,SLT=0のタイミングで、演算部404の乗算
器1604に乗数(係数COEF)として入力する。
【0193】以上のようにして、係数生成部410では
各タイミングに応じて係数COEFを発生する。なお、
ここではAスロットの第iチャンネルを例にとり説明し
たが、他のスロットおよびチャンネルでも、CHTおよ
びSLTがずれることなどが異なるだけで同様に処理さ
れる。
【0194】図17において、1705は図7の補間部
403から出力されたPCMの補間(4点補間)済み波
形データIWDを示す。上述したように、第iチャンネ
ルについてのPCM補間済み波形データIWDはチャン
ネルタイムCHT=i+4で出力される。
【0195】1706は図16の演算部404における
処理タイミングを示す。特に、1707で演算部404
の乗算器1604における乗算演算を示し、1708で
加算器1609における加算演算を示す。
【0196】演算部404のセレクタ1603は、CH
T=i+4,SLT=4のタイミングで、遅延回路16
01からのPCM波形データIWDを乗算器1604に
向けて選択出力する。このとき上述したように、乗算器
1604には乗数COEFとして変調レベルデータML
が入力している。乗算器1604は、これらのデータI
WD,MLを乗算し、乗算結果すなわち振幅変調を加味
した波形データM0を出力する(付番1721)。乗算
器1604は、3クロック分の遅延時間を有するので、
波形データM0は、CHT=i+4,SLT=7のタイ
ミングでセレクタ1608に出力される。
【0197】このときセレクタ1608は乗算器160
4からのデータを選択出力するように制御されている。
一方、セレクタ1607はCHT=i+4,SLT=7
のタイミングで入力位相データPHASEを選択出力す
る。したがって、加算器1609は、波形データM0と
位相データPHASEとを加算し(付番1722)、1
クロック分の遅延時間の後、加算結果をFMの位相デー
タA0としてFM波形発生部1610などに出力する。
FM波形発生部1610は、この入力データA0に基づ
き、CHT=i+5,SLT=4のタイミングでFM波
形データOPD(オペレータデータ)を発生する。ここ
に、FM波形発生部1610は、1周期分のキャリア波
形のROMを持ち、入力した前記位相デ−タA0をアド
レスとして前記ROMをアクセスし、波形デ−タOPD
を得て出力している。
【0198】CHT=i+5,SLT=4のタイミング
では、上述したように乗算器1604には乗数COEF
としてFMレベルデータFLが入力している。乗算器1
604は、これらのデータOPD,FLを乗算し(付番
1723)、乗算結果すなわちFMレベルデータを反映
させたFM波形データM2を出力する。乗算器1604
は、3クロック分の遅延時間を有するので、FM波形デ
ータM2は、CHT=i+5,SLT=7のタイミング
でセレクタ1608に出力される。このときセレクタ1
608は乗算器1604からのデータを選択出力するよ
うに制御されており、したがってFM波形データM2が
加算器1609に入力する。。
【0199】一方、演算部404のセレクタ1603
は、CHT=i+5,SLT=0のタイミングで、遅延
回路1601からのPCM波形データIWDを乗算器1
604に向けて選択出力する。このとき上述したよう
に、乗算器1604には乗数COEFとしてPCMレベ
ルデータPLが入力している。乗算器1604は、これ
らのデータIWD,PLを乗算し、乗算結果すなわちP
CMレベルデータを反映させたPCM波形データM1を
出力する(付番1724)。
【0200】乗算器1604は、3クロック分の遅延時
間を有するので、PCM波形データM1は、CHT=i
+5,SLT=3のタイミングで遅延回路1606に出
力される。遅延回路1606は4クロック分の遅延時間
を有するので、このPCM波形データM1はCHT=i
+5,SLT=7のタイミングでセレクタ1607に入
力し、このときセレクタ1607はこの遅延回路160
6からのPCM波形データM1を選択出力する。
【0201】したがって、CHT=i+5,SLT=7
のタイミングで、加算器1609にはPCM波形データ
M1とFM波形データM2とが入力し、これらが加算さ
れる(付番1725)。加算結果は、加算器1609の
遅延時間(1クロック)分だけ遅延された後、CHT=
i+6,SLT=0のタイミングでPCMとFMの波形
を合成(加算)した波形データA1として出力される。
この波形データA1は、3クロックの遅延時間を有する
遅延回路1613などに入力する。
【0202】以上で、PCMとFMの波形を合成した基
本的な波形データA1が生成されたが、次にこの波形デ
ータをディジタルフィルタに通して種々の加工を行う。
そのディジタルフィルタに相当する処理につき説明す
る。
【0203】まず、セレクタ1603は、CHT=i+
6,SLT=0のタイミングで、入力データZ1Dを乗
算器1604に向けて選択出力する。入力データZ1D
は、前回この第iチャンネルの処理を行ったとき(1D
ACサイクル前の同一chタイミング)にCHT=i+
7,SLT=4のタイミングで既に図16のZ1ディレ
イレジスタ1611に格納されていたデータである。ま
たこのとき、図15の係数生成部410のセレクタ15
08は、第0端子入力に加えられたリミッタ1507か
らリミット処理されて出力されたデータであるディジタ
ルフィルタのQを選択出力しており、乗算器1604に
は乗数COEFとしてこのデータQが入力している。
【0204】乗算器1604は、これらのデータZ1
D,Qを乗算し、乗算結果であるデータM3を出力する
(付番1726)。乗算器1604は、3クロック分の
遅延時間を有するので、データM3は、CHT=i+
6,SLT=3のタイミングでセレクタ1608に出力
される。
【0205】このときセレクタ1608は乗算器160
4からのデータを選択出力するように制御されており、
したがってデータM3が加算器1609に入力する。ま
た、セレクタ1607は入力データA4Dを選択出力す
るよう制御されており、この入力データA4Dは遅延回
路1613を介して出力された上述のPCMとFMの波
形を加算した波形データA1である。
【0206】したがって、CHT=i+6,SLT=3
のタイミングで、加算器1609は波形データA1とデ
ータM3とを加算する(付番1727)。加算結果は、
加算器1609の遅延時間(1クロック)分だけ遅延さ
れた後、CHT=i+6,SLT=4のタイミングで波
形データA2として出力される。この波形データA2
は、3クロックの遅延時間を有する遅延回路1613な
どに入力し、CHT=i+6,SLT=7のタイミング
でセレクタ1607に入力データA4Dとして入力す
る。
【0207】このCHT=i+6,SLT=7のタイミ
ングではセレクタ1608は入力データZ2Dを選択出
力している。入力データZ2Dは、前回この第iチャン
ネルの処理を行ったときにCHT=i+8,SLT=0
のタイミングで既に図16のZ2ディレイレジスタ16
12に格納されていたデータである。
【0208】したがって、CHT=i+6,SLT=7
のタイミングで、加算器1609は波形データA2とデ
ータZ2Dとを加算する(付番1728)。加算結果
は、加算器1609の遅延時間(1クロック)分だけ遅
延された後、CHT=i+7,SLT=0のタイミング
で波形データA3として出力される。この波形データA
3は、直ちに入力データMA4Dとしてセレクタ160
3に入力する。このときセレクタ1603は、この入力
データMA4Dを選択出力するよう制御されており、し
たがって乗算器1604には波形データA3が入力す
る。
【0209】一方、上述したようにCHT=i+7,S
LT=0のタイミングで、乗算器1604には乗数CO
EFとしてフィルタ係数Fが入力している。乗算器16
04は、これらのデータA3,Fを乗算し、乗算結果で
ある波形データM4を出力する(付番1729)。乗算
器1604は、3クロック分の遅延時間を有するので、
波形データM4は、CHT=i+7,SLT=3のタイ
ミングでセレクタ1608に出力される。このときセレ
クタ1608は乗算器1604からのデータを選択出力
するように制御されており、したがって波形データM4
が加算器1609に入力する。
【0210】またこのとき、セレクタ1607はZ1デ
ィレイレジスタ1611からの入力データZ1Dを選択
出力している。したがって、CHT=i+7,SLT=
3のタイミングで、加算器1609は波形データM4と
データZ1Dとを加算する(付番1730)。加算結果
は、加算器1609の遅延時間(1クロック)分だけ遅
延された後、CHT=i+7,SLT=4のタイミング
で波形データA4として出力される。この波形データA
4は、次のDACサイクルの第iチャンネルのフィルタ
処理に使用するためZ1ディレイレジスタ1611の第
iチャンネルの記憶領域に格納されるとともに、直ちに
入力データMA4Dとしてセレクタ1603に入力す
る。このときセレクタ1603は、この入力データMA
4Dを選択出力するよう制御されており、したがって乗
算器1604には波形データA4が入力する。
【0211】上述したようにCHT=i+7,SLT=
4のタイミングで、乗算器1604には乗数COEFと
してフィルタ係数Fが入力している。乗算器1604
は、これらのデータA4,Fを乗算し、乗算結果である
波形データM5を出力する(付番1731)。乗算器1
604は、3クロック分の遅延時間を有するので、波形
データM5は、CHT=i+7,SLT=7のタイミン
グでセレクタ1608に出力される。このときセレクタ
1608は乗算器1604からのデータを選択出力する
ように制御されており、したがって波形データM5が加
算器1609に入力する。
【0212】またこのとき、セレクタ1607はZ2デ
ィレイレジスタ1612からの入力データZ2Dを選択
出力している。したがって、CHT=i+7,SLT=
7のタイミングで、加算器1609は波形データM5と
データZ2Dとを加算する(付番1732)。加算結果
は、加算器1609の遅延時間(1クロック)分だけ遅
延された後、CHT=i+8,SLT=0のタイミング
で波形データA5として出力される。この波形データA
5は、次のDACサイクルにおいて第iチャンネルのフ
ィルタ処理に用いるためZ2ディレイレジスタ1612
の第iチャンネルの記憶領域に格納されるとともに、直
ちに入力データMA4Dとしてセレクタ1603に入力
する。このときセレクタ1603は、この入力データM
A4Dを選択出力するよう制御されており、したがって
乗算器1604には波形データA5が入力する。
【0213】上述したようにCHT=i+8,SLT=
0のタイミングで、乗算器1604には乗数COEFと
してミュートレベルMUが入力している。乗算器160
4は、これらのデータA5,MUを乗算し、乗算結果で
ある波形データM6を出力する(付番1733)。乗算
器1604は、3クロック分の遅延時間を有するので、
波形データM6は、CHT=i+8,SLT=3のタイ
ミングでセレクタ1608に出力される。このときセレ
クタ1608は乗算器1604からのデータを選択出力
するように制御されており、したがって波形データM6
が加算器1609に入力する。
【0214】またこのとき、セレクタ1607は入力デ
ータ「0」を選択出力している。したがって、CHT=
i+8,SLT=3のタイミングで、加算器1609は
波形データM6とデータ「0」とを加算する(付番17
34)。加算結果(M6そのままの値であるが)は、加
算器1609の遅延時間(1クロック)分だけ遅延され
た後、CHT=i+8,SLT=4のタイミングで波形
データA6として出力される。この波形データA6は、
図16の出力レジスタ1614に格納され、最終的な第
iチャンネルの波形データとして次段のチャンネル累算
器へと出力される。
【0215】次に、図18のタイミング図を参照して、
リズムモードにおける第30、31チャンネルの動作す
なわち8チャンネル分のリズム音波形発生の動作を説明
する。
【0216】図18において、付番1801で示す16
個の矩形は、Cスロットに属する第30チャンネルおよ
びDスロットに属する第31チャンネルでのEG405
の処理タイミングを示す。リズムモードにおいて、EG
405はこれらのタイミングでリズム音波形発生のため
の処理を行う。各矩形の下に付されているTRE,TR
Iは図2、図3、図8などで説明したタイミング信号で
ある。各矩形の中に記されている記号は、対応するタイ
ミング信号が発生されるタイミングのときにEG405
が処理しているデ−タ(通常は加算器804により累算
を行なっているところのデータ)を示す。
【0217】すなわち、RnE(ただし、n=0〜7)
はリズム音の第nチャンネルに対応するタイミング信号
TREが発生されるタイミングでEG405が処理して
いるリズム音のエンベロープデータ、RnI(ただし、
n=0〜7)はリズム音の第nチャンネルに対応するタ
イミング信号TRIが発生されるタイミングでEG40
5が処理しているリズム音のレベルデータを示す。
【0218】1802は図15の係数生成部410にお
ける処理タイミングを示す。係数生成部410のセレク
タ1501は、CHT=2,SLT=3のタイミング
で、入力データE17を選択出力する。また、セレクタ
1502は入力データE13を選択出力する。このと
き、データE17は17クロック前の処理データである
リズム音第0チャンネルのエンベロープデータR0Eで
あり、データE13は13クロック前の処理データであ
るリズム音第0チャンネルのレベルデータR0Lであ
る。
【0219】これらのデータR0E,R0Lは加算器1
503で加算される(付番1811)。加算結果L0
は、加算器1503で1クロック分遅延され、CHT=
2,SLT=4のタイミングで加算器1503からセレ
クタ1508に出力される。このときセレクタ1508
は、第2端子入力を選択出力するように制御されてお
り、したがってデータL0はセレクタ1508から遅延
回路1509に出力される。このデータL0は、遅延回
路1509で2クロック分遅延され、CHT=2,SL
T=6のタイミングで、演算部404の乗算器1604
に乗数(係数COEF)として入力する。
【0220】1803は図7の補間部403から出力さ
れたリズム音波形データIWDを示す。上述したよう
に、リズム音第0〜第3チャンネルの波形データr0〜
r3はCHT=2の範囲で、リズム音第4〜第7チャン
ネルの波形データr4〜r7はCHT=3の範囲で、そ
れぞれ出力され、前述した入力レジスタ1602の8つ
の記憶領域に順次記憶される。
【0221】1804は図16の演算部404における
処理タイミングを示す。特に、1805で演算部404
の乗算器1604における乗算演算を示し、1806で
加算器1609における加算演算を示す。
【0222】演算部404のセレクタ1603は、リズ
ムモード下のCHT=2,SLT=6のタイミングで、
入力レジスタ1602からのリズム音第0チャンネルの
波形データr0を乗算器1604に向けて選択出力す
る。このとき上述したように、乗算器1604には乗数
COEFとしてデータL0が入力している。乗算器16
04は、これらのデータr0,L0を乗算し、乗算結果
としてリズム音第0チャンネルの波形データR0を出力
する(付番1812)。乗算器1604は、3クロック
分の遅延時間を有するので、リズム音波形データR0
は、CHT=3,SLT=1のタイミングで出力され
る。
【0223】このときセレクタ1608は乗算器160
4からのデータを選択出力するように制御されている。
一方、セレクタ1607はCHT=3,SLT=1のタ
イミングで入力データ「0」を選択出力する。したがっ
て、このとき加算器1609は、リズム波形データR0
とデータ「0」とを加算し(付番1813)、1クロッ
ク分の遅延時間の後、加算結果をCHT=3,SLT=
2のタイミングで波形データR0として出力する。この
波形データR0は、図16の出力レジスタ1614に格
納され、最終的なリズム音第0チャンネルの波形データ
として次段のチャンネル累算器へと出力される。
【0224】上記はリズム音第0チャンネルについての
処理であるが、他のリズム音第1〜第7チャンネルにつ
いても同様にしてそれぞれ所定のタイミングで処理さ
れ、図18に示すように波形データが出力される。
【0225】図19は、図17および図18で説明した
波形発生処理における信号処理の概念図を示す。付番1
901で示した部分は、EG405の動作機能を表す。
【0226】すなわち、補間処理1911は、変調度レ
ベルに係るパラメータMODLを入力して補間処理を行
ない補間済み変調度レベルMIを出力する処理である
が、これはFMの変調度レベル補間タイミング信号TM
IのタイミングでEG405が行なう補間処理を示す。
入力パラメータMODLは、レートレジスタ部116の
FM変調度補間レート905およびターゲットレジスタ
部117のFMの変調レベルデータ1007に相当す
る。
【0227】PCMのEG処理1912は、ADSRデ
ータを入力してPCMのエンベロープデータPEを発生
する処理であるが、これはPCMのEGタイミング信号
TPEのタイミングでEG405が行なう処理を表す。
入力パラメータADSRとは、アタック部、第1ディケ
イ部、第2ディケイ部およびリリース部の各レートおよ
びレベルであり、ここではレートレジスタ部116のP
CMのEGレートレジスタ903およびターゲットレジ
スタ部117のPCMのEG目標レジスタ1005など
に記憶されているデータに相当する。
【0228】PCMのレベル補間処理1913は、PC
Mのレベルデータに係るパラメータPCMLを入力して
補間処理を行ない補間済みレベルPIを出力する処理で
あるが、これはPCMのレベル補間タイミング信号TP
IのタイミングでEG405が行なう処理を表す。入力
パラメータPCMLは、PCMレベル補間レート906
およびPCMレベルデータ1008に相当する。
【0229】FMのEG処理1914は、ADSRデー
タを入力してFMのエンベロープデータFEを発生する
処理であるが、これはFMのEGタイミング信号TFE
のタイミングでEG405が行なう処理を表す。入力パ
ラメータADSRは、FMのEGレートレジスタ904
およびFMのEG目標レジスタ1006などに記憶され
ているデータに相当する。
【0230】FMのレベル補間処理1915は、FMの
レベルデータに係るパラメータFMLを入力して補間処
理を行ない補間済みレベルFIを出力する処理である
が、これはFMのレベル補間タイミング信号TFIのタ
イミングでEG405が行なう処理を表す。入力パラメ
ータFMLは、FMレベル補間レート907およびFM
レベルデータ1009に相当する。
【0231】リズム音のEG処理1916は、ADSR
データを入力してリズム音のエンベロープデータRnE
(ただし、n=0〜7)を発生する処理であるが、これ
はリズム音EGタイミング信号TREのタイミングでE
G405が行なう処理を表す。入力パラメータADSR
は、リズム音のEGレート発生部910およびリズム音
のEG目標値発生部1011などから出力されるデータ
に相当する。
【0232】リズム音のレベル補間処理1917は、リ
ズム音のレベルデータに係るパラメータRHYLを入力
して補間処理を行ない補間済みレベルRnL(ただし、
n=0〜7)を出力する処理であるが、これはリズム音
レベル補間タイミング信号TRIのタイミングでEG4
05が行なう処理を表す。入力パラメータRHYLは、
リズム音レベル補間レート912およびリズム音レベル
データ1013に相当する。
【0233】ディレイ処理1918は、ノートオンNO
Nなどを入力して所定の遅延時間の後にディレイノート
オンDNONを出力する処理であるが、これはキーオン
ディレイタイミング信号TONDのタイミングでEG4
05が行なう処理を表す。フィルタ係数補間処理191
9は、演算部のディジタルフィルタのフィルタ係数の補
間処理を行ないフィルタ係数DFを出力する処理である
が、これはフィルタ係数処理タイミング信号TDFのタ
イミングでEG405が行なう処理を表す。LFO処理
1920は、LFO出力を生成出力する処理であるが、
これはLFOタイミング信号TLFOのタイミングでE
G405が行なう処理を表す。
【0234】図19において、付番1902で示した部
分は係数生成部410の処理を示す。係数生成部410
においては、加算部1921で補間された変調レベルM
IとPCMエンベロープデータPEとを加算し、変調レ
ベルMLを出力する。また、加算部1922でPCMエ
ンベロープデータPEと補間されたPCMレベルPIと
を加算し、PCMのレベルデータPLを出力する。さら
に、加算部1923でFMエンベロープデータFEと補
間されたFMレベルFIとを加算し、FMのレベルデー
タFLを出力する。以上の加算部1921,1922,
1923の処理は、図15の係数生成部410の加算器
1503での処理であり、図17の付番1711,17
12,1713の処理に相当する。
【0235】リズムモードにおいては、加算部1924
でリズム音エンベロープデータRnEと補間されたレベ
ルRnLとを加算し、リズム音のレベルデータRLを出
力する。これは、図15の係数生成部410の加算器1
503での処理であり、図18の付番1811の処理に
相当する。
【0236】図19において、付番1903で示した部
分は演算部404の処理を表す。演算部404におい
て、乗算部1931は、補間部403からのPCM波形
データIWDに変調レベルMLを乗算し、振幅変調され
た波形データM0を出力する。加算部1932は、振幅
変調された波形データM0と位相データPHASEとを
加算して、FM波形データ1933のアドレスA0を出
力する。以上の乗算部1931および加算部1932の
処理は、図17の付番1721,1722の処理に相当
する。
【0237】FM波形データ部1933中の1周期分の
キャリア波形ROMはこのアドレスA0でアクセスさ
れ、FM波形データOPD(いわゆるオペレータデータ
である)を出力する。これは、演算部404のFM波形
発生部1610でのFM波形発生処理に相当する。
【0238】乗算部1934は、FM波形データOPD
にFMレベルFLを乗算し、FM波形データM2を出力
する。これは演算部404の乗算器1604での処理で
あり、図17の付番1723の処理に相当する。
【0239】乗算部1935は、PCM波形データIW
DにPCMレベルPLを乗算し、PCM波形データM1
を出力する。これは図17の付番1724の処理に相当
する。加算部1936は、PCM波形データM1とFM
波形データM2とを加算して、PCMとFMとを合成し
た波形データA1を出力する。これは演算部404の加
算器1609での処理であり、図17の付番1725の
処理に相当する。
【0240】以上で、基本的な波形データが生成された
こととなる。これ以降、演算部ではこの波形データをデ
ィジタルフィルタに通して加工する処理が行なわれる。
なお、以下では図17および図18の対応する処理はそ
の付番のみを括弧内に記載する。
【0241】Z1ディレイ部1949は演算部のZ1デ
ィレイレジスタ1611に相当する。乗算部1947
は、Z1ディレイ部1949からの出力データZ1Dに
ディジタルフィルタのQの値を乗算し、データM3を出
力する(1726)。加算部1937は、波形データA
1とデータM3とを加算し(1727)、波形データA
2を出力する。Z2ディレイ部1950は演算部のZ2
ディレイレジスタ1612に相当する。加算部1938
は、波形データA2とZ2ディレイレジスタ1612か
らの出力データZ2Dとを加算し(1728)、波形デ
ータA3を出力する。
【0242】一方、加算部1944は、DCF係数デー
タDFとLFO出力データとを加算し、フィルタ係数F
を出力する(1714,1715)。乗算部1939
は、波形データA3にフィルタ係数Fを乗算し(172
9)、波形データM4を出力する。加算部1940は、
波形データM4とZ1ディレイ部1949からの出力デ
ータZ1Dとを加算し(1730)、波形データA4を
出力する。この波形データA4はZ1ディレイ部194
9に格納される。乗算部1941は、波形データA4に
フィルタ係数Fを乗算し(1731)、波形データM5
を出力する。加算部1942は、波形データM5とZ2
ディレイ部1950からの出力データZ2Dとを加算し
(1732)、波形データA5を出力する。この波形デ
ータA5はZ2ディレイ部1950に格納される。
【0243】レベル検出部1946は、PCMレベルデ
ータPLおよびFMレベルデータFLのレベル検出を行
ないPL及びFLのレベルが所定値以下かどうか検出し
て検出結果MC(ミュート制御信号)を出力する。レベ
ル検出部1946は、図15の0レベル検出部1504
に相当する。加算部1945は、ミュート信号MCとL
FO出力データとを加算し(1716)、ミュートレベ
ルMUを出力する。乗算部1943は、波形データA5
にミュートレベルMUを乗算し(1733)、波形デー
タM6(出力波形データA6)を出力する。以上により
PL及びFLがともに所定値以下の場合、その時分割c
hの出力にはMCにより制御されたミュ−トがかかり出
力が抑制される。
【0244】一方、リズムモードのときには、乗算部1
951は、リズム音の波形データIWDにリズム音のレ
ベルデータRLを乗算し(1812)、最終的なリズム
音の波形データRn(n=0〜7)を出力する。
【0245】上記実施例によれば、通常の楽音波形発生
の2チャンネル分(第30および第31チャンネル)の
タイムスロットを用いて、8チャンネル分のリズム音波
形を発生することができる。したがって、チャンネル数
を増やさずに発生する波形の系列数を増やすことができ
る。また、上記実施例では各チャンネルの処理を行なう
スロットを連続させず分散させているので、処理のタイ
ミングを合わせるためのディレイ回路の数を極力抑える
ことができる。
【0246】上記実施例では、各時分割チャンネルの複
数加工処理は、楽音を出力する1サンプリング周期を全
時分割チャンネル数で分割したぞれぞれのチャンネルタ
イミングに合せてスタートするように設計してあるの
で、加工手段に供給されるサンプル値データ、および、
加工手段から出力される楽音波形のタイミングは、共に
該チャンネルタイミングに同期しており、前記加工手段
の前段および後段の回路ブロックにおける通常の時分割
チャンネル動作にスムーズにデータの受け渡しが行なえ
る。ここで、サンプル値データを入力し前記複数の加工
処理がスタートしてから前記複数の加工処理を終了し楽
音波形を出力するまでの所要時間は、1チャンネルタイ
ミングの期間より長い。
【0247】
【発明の効果】以上説明したように、この発明によれ
ば、各種の動作モードに応じた楽音波形の発生処理、楽
音波形に対するエンベロープ乗算とフィルタ演算の処
理、複数種類の関数を用いた楽音波形の発生処理、およ
びある発音チャンネルの処理中に他の発音チャンネルの
処理を行なうことが、簡易な構成で実現できる。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る波形発生装置を
音源に適用した電子楽器のブロック構成図
【図2】 タイミング発生部のブロック構成図
【図3】 各種のタイミング信号を示すタイミング図
【図4】 楽音信号生成部のブロック構成図
【図5】 読出し部のブロック構成図
【図6】 読出し部からのアドレスデータ出力タイミ
ング図
【図7】 補間部のブロック構成図
【図8】 マルチファンクションEGのブロック構成
【図9】 レートレジスタ部のブロック構成図
【図10】 ターゲットレジスタ部のブロック構成図
【図11】 EGのノートオンディレイ機能の説明図
【図12】 EGのLFO波形発生機能の説明図
【図13】 EGのエンベロープ波形発生機能の説明図
【図14】 EGの補間機能の説明図
【図15】 係数生成部のブロック構成図
【図16】 演算部のブロック構成図
【図17】 楽音波形発生の動作を説明するためのタイ
ミング図
【図18】 リズム音波形発生の動作を説明するための
タイミング図
【図19】 波形発生処理における信号処理の概念図
【符号の説明】
101…鍵盤、102…音色指定スイッチ、103…マ
イコン、104…音源、105…波形メモリ、106…
D/A変換器、107…サウンドシステム、401…乗
算器、402…読出し部、403…補間部、404…演
算部、405…マルチファンクションEG、406…L
FOラッチ、407,408…波形整形部、409…セ
レクタ、410…係数生成部、411…チャンネル累算
部。
フロントページの続き (72)発明者 白川 登喜男 静岡県浜松市中沢町10番1号ヤマハ株式 会社内 (56)参考文献 特開 昭61−13294(JP,A)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】第1の動作モードと第2の動作モードとを
    指定する動作モード指定手段と、複数の時分割チャンネ
    ルを有し、指定された動作モードに応じた楽音発生動作
    時分割に行なう楽音発生手段と、複数の 時間関数を発生する関数演算手段とを備え、 前記楽音発生手段は、前記第1の動作モードが指定された場合には、1つの時
    分割チャンネルの時間内で1つの楽音を発生するととも
    に、前記関数演算手段から発生される複数の時間関数に
    基づいて前記1つの楽音の異なる複数の楽音特性を制御
    し、 前記第2の動作モードが指定された場合には、前記第1
    の動作モードで1つの楽音を発生する1つの時分割チャ
    ンネルに相当する時間内で複数の楽音を発生するととも
    に、前記関数演算手段から発生される複数の時間関数に
    基づいて前記複数の楽音の楽音特性を各楽音ごとに独立
    に制御する ことを特徴とする楽音発生装置。
  2. 【請求項2】前記第1の動作モードにおいて前記関数演
    算手段から発生される複数の時間関数は、複数段階ステ
    ートを持つエンベロープ関数、および単一の目標値に向
    かって変化する補間関数を含む請求項1に記載の楽音発
    生装置。
  3. 【請求項3】1つの楽音の発生に必要な複数の関数を時
    分割動作により所定タイミングごとに生成し、該複数の
    関数の値を出力する関数発生手段と、前記関数発生手段から出力された複数の関数の値を記憶
    する記憶手段と、 前記関数発生手段における関数の生成タイミングとは異
    なるタイミングであって、前記複数の関数の各関数ごと
    に異なるタイミングにおいて、前記記憶手段に記憶され
    た複数の関数の各値を読み出し、該関数の値に基づいて
    少なくとも1つの楽音波形を形成出力する波形発生手段
    とを備えたことを特徴とする楽音発生装置。
  4. 【請求項4】前記関数発生手段は、エンベロープ関数お
    よびフィルタ係数を時分割で発生出力するものであり、 前記波形発生手段は、波形信号を発生し、時分割動作
    で、前記関数発生手段から出力されたエンベロープ関数
    により該波形信号のエンベロープを制御してエンベロー
    プ付与を行なうとともに、前記関数発生手段から出力さ
    れたフィルタ係数を用いたフィルタ演算を該波形信号に
    施して楽音波形として出力するものである 請求項3に記
    載の楽音発生装置。
  5. 【請求項5】前記関数発生手段における前記エンベロー
    プ関数の発生演算と前記フィルタ係数の発生演算は、何
    れも現在値を目標値に徐々に近づけていく補間演算であ
    り、 前記エンベロープ付与は前記エンベロープ関数を前記
    形信号のサンプル値データに乗じる演算を含み、前記フ
    ィルタ演算は前記フィルタ係数を前記波形信号のサンプ
    ル値データに乗じる演算を含む請求項に記載の楽音発
    生装置。
  6. 【請求項6】前記関数発生手段は、その時分割動作によ
    り、楽音の発生開始からの時間経過に応じて値の変化す
    る、互いに独立した形状の、複数の時間関数を発生し、
    該複数の時間関数は、前記波形発生手段で形成される楽
    音のそれぞれ異なる特性をリアルタイム制御する請求項
    に記載の楽音発生装置。
  7. 【請求項7】複数時分割チャンネルの各時分割チャンネ
    ル毎に、楽音波形の元となるサンプル値データを供給す
    る波形供給手段と、 前記各時分割チャンネル毎に、複数の異なる制御関数を
    発生する関数発生手段と、 前記各時分割チャンネル毎に、前記波形供給手段より供
    給されたサンプル値データに、複数の異なる処理を施し
    前記各時分割チャンネルの楽音波形を形成し出力する波
    形加工手段とを含んでおり、前記複数時分割チャンネル
    に基づく動作で複数の楽音波形を生成する楽音波形発生
    装置であって、 前記波形加工手段の施す複数の処理は、それぞれ所定の
    演算時間を要し、かつ、それぞれ異なる前記制御関数に
    基づいて発生する楽音の異なる楽音特性を制御するよう
    な処理であり、前記波形加工手段では、前記複数時分割
    チャンネルの中の所定のチャンネルの前記複数の処理の
    間に、前記所定のチャンネルとは異なる別のチャンネル
    の前記複数の処理の中の少なくとも1つの処理を実行す
    るようにしてなることを特徴とする楽音波形発生装置。
JP6113847A 1994-04-28 1994-04-28 楽音発生装置 Expired - Fee Related JP2723041B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6113847A JP2723041B2 (ja) 1994-04-28 1994-04-28 楽音発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6113847A JP2723041B2 (ja) 1994-04-28 1994-04-28 楽音発生装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP3352056A Division JP2722907B2 (ja) 1991-12-13 1991-12-13 波形発生装置

Publications (2)

Publication Number Publication Date
JPH06342292A JPH06342292A (ja) 1994-12-13
JP2723041B2 true JP2723041B2 (ja) 1998-03-09

Family

ID=14622554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6113847A Expired - Fee Related JP2723041B2 (ja) 1994-04-28 1994-04-28 楽音発生装置

Country Status (1)

Country Link
JP (1) JP2723041B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH071430B2 (ja) * 1984-06-29 1995-01-11 カシオ計算機株式会社 電子楽器

Also Published As

Publication number Publication date
JPH06342292A (ja) 1994-12-13

Similar Documents

Publication Publication Date Title
JP2722907B2 (ja) 波形発生装置
US5347478A (en) Method of and device for compressing and reproducing waveform data
JP2734909B2 (ja) 波形データ読み出し装置
JPS6325359B2 (ja)
KR0135601B1 (ko) 전자 악기의 디지탈 신호 발생기
US4114498A (en) Electronic musical instrument having an electronic filter with time variant slope
EP0454047B1 (en) Tone waveform generation apparatus
US5637821A (en) Storing and interpolating means for a musical sound generating device
US4402243A (en) Synthesizer circuit for electronic musical instrument
US4211138A (en) Harmonic formant filter for an electronic musical instrument
JPH07181974A (ja) 楽音発生装置
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
JP2723041B2 (ja) 楽音発生装置
JPH0664466B2 (ja) 電子楽器
US5103711A (en) Musical sound waveform generator having a carrier signal and a modulation signal mixed at a controlled mixing ratio
JPH0310959B2 (ja)
JPH0535277A (ja) 電子楽器
US5284080A (en) Tone generating apparatus utilizing preprogrammed fade-in and fade-out characteristics
JP3016470B2 (ja) 音源装置
JPH0125079B2 (ja)
JPS6352399B2 (ja)
JP3104873B2 (ja) 音源装置
JPH0243196B2 (ja)
JP2910632B2 (ja) 波形メモリ音源装置
JP2897680B2 (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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071128

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees