JPH0117595B2 - - Google Patents
Info
- Publication number
- JPH0117595B2 JPH0117595B2 JP56137298A JP13729881A JPH0117595B2 JP H0117595 B2 JPH0117595 B2 JP H0117595B2 JP 56137298 A JP56137298 A JP 56137298A JP 13729881 A JP13729881 A JP 13729881A JP H0117595 B2 JPH0117595 B2 JP H0117595B2
- Authority
- JP
- Japan
- Prior art keywords
- sound
- memory
- register
- musical 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は電子楽器に関し、特に音色等の楽音
特性が異なる複数系列の楽音のうち所望の系列の
楽音に対し選択的に残響音を付加して発音するよ
うにした電子楽器に関するものである。
従来、電子楽器においては上鍵盤、下鍵盤、ペ
ダル鍵盤、ソロ鍵盤などの複数の鍵盤が設けら
れ、各鍵盤に対応して音色や音域等の楽音特性が
異なる複数系列の演奏音を発音できるように構成
されたものである。
ところで、このような電子楽器において各鍵盤
(各系列)の演奏音に残響音を付加する場合、各
鍵盤の音色選択の態様によつては残響音を付加す
るのに適した音色と適さない音色が同時に選択さ
れることがある。例えば、上鍵盤あるいはソロ鍵
盤においてビブラフオンの音色が選択され、一方
下鍵盤においてオルガンの音色が選択された場
合、ビブラフオンの音色は振幅エンベロープ自体
が長く、しかも振幅変調されているため残響音を
付加する必要はなく、一方オルガンの音色は教会
内の演奏音の如く長く深い残響音を付加すると非
常に優れた効果が得られるものである。また、演
奏状況によつてはある音色を前面に押し出すよう
な効果を実現するため、その音色の鍵盤の演奏音
のみ残響音を付加せずに発音させたい場合があ
る。
このように複数の楽音系列を有する電子楽器に
おいて各系列の演奏音に残響音を付加する場合、
鍵盤の選択音色や演奏状況に応じて残響音を付加
すべき系列を自由に選択し得るようにした構成が
要求されている。
この発明は上記のような要求に鑑みなされたも
ので、その目的は複数系列の楽音のうち残響音を
付加すべき系列を任意に選択できるようにした電
子楽器を提供することにある。
ところで、残響音を電子回路によつて付加する
に際し、BBD(Bucket Brigade Device)や
CCD(Charge Coupled Device)などのアナログ
遅延素子を使用したものがある。しかし、このよ
うなアナログ遅延素子を使用した装置では、残響
時間を長くするほど、すなわちアナログ遅延素子
の直列接続段数を増加するほど出力信号レベルが
低下してS/N比の低下が顕著になり、自然な残
響音を得ることができないとう欠点があつた。ま
た、残響時間をはじめとする残響特性を一度設定
してしまうと、その後簡単に変更することができ
ないという欠点があつた。
そこで、この発明においては、残響時間を長く
してもS/Nが低下せず、また残響時間を簡単に
変更できるようにするため、
音色等の楽音特性が異なる複数系列のデイジタ
ル楽音信号を発生する楽音信号発生手段と、
入力されるデイジタル楽音信号に残響音を付加
して出力するデイジタル型の残響音付加手段と、
上記複数系列のデイジタル楽音信号のうち所望
の系列のデイジタル楽音信号を上記残響音付加手
段に選択的に供給する選択手段と、
を備え、
上記残響音付加手段は、
残響音の残響特性を複数の中から選択的に指示
する残響音指示手段と、
該残響音指示手段において指示可能な残響特性
のそれぞれに対応した残響音を形成するための制
御プログラムを複数記憶しており、上記残響特性
指示手段で指示された残響特性に対応する制御プ
ログラムを出力する制御プログラムメモリと、
演算手段40および複数のアドレスを有するデ
ータメモリ190を含む残響音形成手段と、
上記残響特性指示手段において指示された残響
特性に対応する、遅延時間に関するパラメータお
よび演算係数に関するパラメータを上記制御プロ
グラムメモリ300の出力に従つて発生するパラ
メータ発生手段20と、
上記制御プログラムメモリ300の出力および
上記遅延時間に関するパラメータに基づき上記デ
ータメモリ190に対する書き込み、読み出し、
アドレス指定のためのメモリ制御信号を出力する
とともに、上記制御プログラムメモリ300の出
力に基づき上記演算手段40に対する演算制御信
号を出力する制御手段303とから構成され、
上記残響音形成手段では、上記メモリ制御信号
に従つて上記データメモリ190から読み出され
た信号と、上記演算係数と、デイジタル楽音信号
とで所定の演算を行うことにより上記デイジタル
楽音信号に対して上記残響特性指示手段において
指示された残響特性を付加して出力するようにし
たものである。
以下、図面を用いてこの発明を詳細に説明す
る。
第1図はこの発明による電子楽器の一実施例を
示すブロツク図であつて、上鍵盤1、下鍵盤2、
ペダル鍵盤3、押鍵検出回路4、発音割当て回路
5、楽音信号発生回路6、音色設定回路7、楽音
データアキユムレータ8、楽音データ選択回路
9、残響音付加鍵盤選択回路10、残響音付加装
置11、DA変換器12および13、サウンドシ
ステム14および15とから構成されている。
上鍵盤1、下鍵盤2、ペダル鍵盤3は、それぞ
れ複数の鍵およびこの各鍵が押圧されることによ
り動作する複数のキースイツチを有しており、各
キースイツチの動作は押鍵検出回路4によつて検
出される。
押鍵検出回路4は、上鍵盤1、下鍵盤2、ペダ
ル鍵盤3における各キースイツチの動作を検出
し、押下鍵を表わすキーコードKCを生成して出
力する。この場合、キーコードKCは鍵盤の種類
を表わす鍵盤コードKBCと、鍵の音域を表わす
オクターブコードOCおよび音色を表わすノート
コードNCとから構成され、このキーコードKC
は発音割当て回路5に供給される。
発音割当て回路5は、楽音信号発生回路6にお
ける複数の時分割発音チヤンネルのいずれかに対
し、押鍵検出回路4から供給されるキーコード
KCが示す押下鍵に対応する楽音の発音を割当て、
この割当てた時分割発音チヤンネルに対応するチ
ヤンネルタイミングで押下鍵のキーコードKCを
時分割出力する。なお、ここでは時分割発音チヤ
ンネルは12チヤンネル設けられているものとす
る。この場合、発音割当て回路5はキーコード
KCの時分割出力タイミングに同期して各発音チ
ヤンネルに割当てられた楽音の発音制御を行うキ
ーオン信号KONを出力して楽音信号発生回路6
に供給する。
楽音信号発生回路6は、上述したように例えば
12の時分割発音チヤンネルを有し、発音割当て
回路5から各チヤンネルタイミングに同期して押
下鍵のキーコードKCが供給されると、このキー
コードKCと音色設定回路7によつて設定された
音色情報TSDとに基づき該コードKC(オクター
ブコードOCおよびノートコードNC)に対応した
音高でかつ情報TSDに対応した音色の楽音デー
タGD(デイジタル楽音信号)を各発音チヤンネ
ル毎に形成し、時分割出力する。この楽音信号発
生回路6は、波形メモリ読出し方式、高調波合成
方式、周波数変調方式および振幅変調方式等の楽
音信号形成方式を利用して楽音データGDを発生
する。なお、各発音チヤンネルの楽音データGD
には、自己のチヤンネルのキーオン信号KONに
よつてアタツクからデイケイに至る振幅エンベロ
ープが付与される。この場合、音色設定回路7で
は上鍵盤1、下鍵盤2、ペダル鍵盤3の各鍵盤毎
に音色設定を行ない得るようになつており、各鍵
盤に対応して音色情報TSDを出力する。そして、
楽音信号発生回路6における各発音チヤンネルに
おいては、自己のチヤンネルの鍵盤コードKBC
が示す鍵盤に関する音色情報TSDに対応した音
色の楽音データGDを形成する。これにより、各
鍵盤毎に異なる音色の複数系列の楽音データGD
が形成される。
このようにして、楽音信号発生回路6は、各発
音チヤンネルに割当てられた押下鍵に関する楽音
データGDを時分割で形成して出力し楽音データ
アキユムレータ8に供給する。
楽音データアキユムレータ8は、楽音信号発生
回路6の各発音チヤンネルで形成された楽音デー
タGDを全チヤンネル分合成して全ての鍵盤の押
下鍵に対応する楽音の合成楽音データΣGDとし
て出力する。また、各鍵盤毎に当該鍵盤の押下鍵
に関する楽音データを合成し鍵盤別楽音データ
ΣGDU、ΣGDL、ΣGDPとして出力する。この場
合、各発音チヤンネルにおいて形成された楽音デ
ータGDの鍵盤別の振分けは、発音割当て回路5
から供給される鍵盤コードKBCによつて行なわ
れる。なお、ΣGDU、ΣGDLおよびΣGDPは、上鍵
盤楽音データ、下鍵盤楽音データおよびペダル鍵
盤楽音データをそれぞれ表わすものである。
この楽音データアキユムレータ8で合成された
全ての鍵盤の押下鍵に関する合成楽音データ
ΣGDは、DA変換器13においてアナログの楽音
信号に変換されてサウンドシステム15から楽音
として発音される。
一方、鍵盤別の楽音データΣGDU、ΣGDL、
ΣGDPは楽音データ選択回路9に供給され、ここ
において残響音付加鍵盤選択回路10からの鍵盤
選択情報KBSに従つて選択されてデイジタル型
の残響音付加装置11に供給される。
すると、残響音付加装置11は、楽音データ選
択回路9から選択供給される楽音データΣGDU、
ΣGDL、ΣGDPに対し所望の残響特性の残響音を
付加してDA変換器12に供給する。これによつ
て、残響音の付加された楽音データ(ΣGDU、
ΣGDL、ΣGDPのいずれか)はDA変換器12にお
いてアナログ信号に変換された後、サウンドシス
テム14から残響音の付加された楽音として発音
される。
第2図は楽音データアキユムレータ8の具体的
構成の一例を示す回路図であつて、合成楽音デー
タΣGDは加算器8A、レジスタ(遅延フリツプ
フロツプ)8B、ラツチ8Cおよびアンドゲート
8Dから成る回路によつて形成される。
すなわち、各発音チヤンネルで形成された楽音
データGDは加算器8Aの加算入力Aに供給され
る。加算器8Aは、第1の発音チヤンネル〜第12
の発音チヤンネルの楽音データGDをレジスタ8
Bとの協働により順次累算するもので、加算入力
Bにはタイミング信号1が“1”の時のみレジ
スタ8Bの出力値がアンドゲート8Dを介して供
給される。タイミング信号1は、第3図のタイ
ムチヤートに示すように、クロツクパルスφAに
よつて規定される12の各チヤンネルタイミングの
うち第1の発音チヤンネルに対応するチヤンネル
タイミングで“1”となるタイミング信号T1(第
3図d)を反転した信号(第3図e)であり、ア
ンドゲート8Dにはこのタイミング信号1がゲ
ート制御信号として供給されている。従つて、加
算器8Aの加算入力Bには第1の発音チヤンネル
に対応するチヤンネルタイミングを除く他のチヤ
ンネルタイミングにおいてレジスタ8Bの出力値
が連続して入力される。従つて、加算器8Aは、
第1の発音チヤンネルの楽音データGDについて
はそのまま出力してレジスタ8Dに供給する。す
ると、レジスタ8Bは第1の発音チヤンネルの楽
音データGDを第3図aに示すクロツクパルスφA
の発生タイミングで取込み、第3図bに示すクロ
ツクパルスφBの発生タイミングで出力する。す
なわち、レジスタ8Bは入力データを1チヤンネ
ルタイミングに相当する時間遅延して出力する。
そして、第2の発音チヤンネルに対応するチヤン
ネルタイミングになつてタイミング信号1が
“1”になると、アンドゲート8Dが開状態にな
るため、レジスタ8Bに保持されている第1の発
音チヤンネルの楽音データGDはこのアンドゲー
ト8Dを介して加算器8Aの加算入力Bに入力さ
れる。この時、加算器8Aの加算入力Aには第2
の発音チヤンネルの楽音データGDが入力される
ため、加算器8Aは第1および第2の発音チヤン
ネルの楽音データの加算値を出力する。この加算
値はレジスタ8Bに保持される。このような動作
が第12の発音チヤンネルに対応するチヤンネルタ
イミングまで繰り返し行なわれることにより、第
12のチヤンネルタイミングが終了した時点におい
ては12の発音チヤンネルの楽音データGDの総加
算値ΣGDが得られる。この総加算値ΣGDは、タ
イミング信号T1の立上りタイミングでラツチ8
Cに取込まれ、このラツチ8Cにチヤンネルタイ
ミングが一巡する間(次に信号T1が立上るまで)
保持され、該ラツチ8Cの出力から合成楽音デー
タΣGDとして出力される。第3図fに時刻tお
よびt+1の合成楽音データΣGD(t)、ΣGD(t
+1)を示している。
一方、鍵盤部別の楽音データΣGDU、ΣGDL、
ΣGDPも同様な回路で形成される。但し、ここで
は新たな楽音データとすでに累算された楽音デー
タとの加算を行う加算器8Eを、鍵盤別の累算回
路系列で共用しているため、加算器8Eの加算入
力Bの入力段にセレクタ8Jが設けられると共
に、鍵盤別楽音データの各合計値を保持するレジ
スタ8G,8L,8Qの入力段にセレクタ8F,
8K,8Pがそれぞれ設けられている。
なお、加算器8E、セレクタ8J,8F、レジ
スタ8G、ラツチ8Hおよびアンドゲート8Iと
から成る回路は、上鍵盤楽音データΣGDUを形成
する累算回路系列を構成し、また加算器8E、セ
レクタ8J,8K、レジスタ8L、ラツチ8Mお
よびアンドゲート8Nとから成る回路は下鍵盤楽
音データΣGDLを形成する累算回路系列を構成し
ている。さらに、加算器8E、セレクタ8J,8
P、レジスタ8Q、ラツチ8Rおよびアンドゲー
ト8Sとから成る回路はペダル鍵盤楽音データ
ΣGDPを形成する累算回路系列を構成している。
まず、第1の発音チヤンネルの楽音データGD
が加えられると、この楽音データGDは加算器8
Eの加算入力Aに供給される。この時各累算回路
系列のアンドゲート8I,8N,8Sはいずれも
タイミング信号1によつて閉状態となつている
ため、セレクタ8Jの3つの選択入力A,B,C
は全て“0”となり、加算器8Eの加算入力Bの
入力値は“0”となる。このため、加算器8Eは
加算入力Aに供給された楽音データGDをそのま
ま出力し、各累算回路系列のセレクタ8F,8
K,8Pの選択入力Aに共通に供給する。
セレクタ8F,8K,8Pは、加算器8Eから
出力される楽音データGDを鍵盤別に選択抽出す
るものである。すなわち、8Fは鍵盤コード
KBCをデコーダT8によりデコードした上鍵盤
1を示す上鍵盤信号UCが“1”の場合、加算器
8Eから選択入力Aに入力されている楽音データ
GDが上鍵盤1の押下鍵に関するものとしてこの
楽音データGDを選択してレジスタ8Gに供給す
る。また、セレクタ8Kは鍵盤コードKBCをデ
コーダ8Tによりデコードした下鍵盤2を示す下
鍵盤信号LCが“1”の場合には加算器8Eから
選択入力Aに入力されている楽音データGDが下
鍵盤2の押下鍵に関するものとしてこの楽音デー
タGDを選択してレジスタ8Lに供給する。ま
た、セレクタ8Pは鍵盤コードKBCをデコーダ
8Tによりデコードしたペダル鍵盤3を示すペダ
ル鍵盤信号PCが“1”の場合、加算器8Eから
選択入力Aに入力されている楽音データGDがペ
ダル鍵盤3の押下鍵に関するものとしてこの楽音
データGDを選択してレジスタ8Qに供給する。
従つて、加算器8Eから出力される楽音データ
GDは、鍵盤別に各鍵盤1,2,3に対応して設
けられた累積回路系列のレジスタ8G,8L,8
Qにそれぞれ分配供給される。ここで、第1の発
音チヤンネルの楽音データGDがペダル鍵盤3の
押下盤に関するものであるとした場合、この楽音
データGDはセレクタ8Pを介してレジスタ8Q
に供給され、このレジスタ8Qにおいて保持され
る。
次に、第2の発音チヤンネルに対応するチヤン
ネルタイミングになつてタイミング信号1が
“1”になると、各累算回路系列のアンドゲート
8I,8N,8Sが開状態となる。このため、各
累算回路系列のレジスタ8G,8L,8Qに保持
されている値は開状態の各アンドゲート8I,8
N,8Sを介して自己の系列のセレクタ8F,8
K,8Pの選択入力Bに帰還されると共に、セレ
クタ8Jの選択入力A,BおよびCにそれぞれ供
給される。
セレクタ8Jは、上鍵盤信号UCが“1”のと
きにはアンドゲート8Iを介して選択入力Aに供
給されている上鍵盤1に関する楽音データGDを
選択出力し、また下鍵盤信号LCが“1”のとき
にはアンドゲート8Nを介して選択入力Bに供給
されている下鍵盤2に関する楽音データGDを選
択出力し、さらにペダル鍵盤信号PCが“1”の
ときにはアンドゲート8Sを介して選択入力Cに
供給されているペダル鍵盤3に関する楽音データ
GDを選択出力し、この選択出力を加算器8Eの
加算入力Bに供給する。
従つて、第2の発音チヤンネルの楽音データ
GDが上鍵盤1の押下鍵に関するものであつた場
合、加算器8Eの加算入力Bにはレジスタ8Gに
保持されている楽音データGDが供給され、加算
入力Aには上鍵盤1に関する第2の発音チヤンネ
ルの楽音データGDが供給される。しかし、この
例の場合、第1の発音チヤンネルがペダル鍵盤3
に関するものであるためレジスタ8Gには未だ楽
音データGDが記憶保持されていないので、加算
器8Eは上鍵盤1に関する第2の発音チヤンネル
の楽音データGDをそのまま出力する。そして、
この楽音データGDはセレクタ8Fを介してレジ
スタ8Gに保持される。
次に、第3の発音チヤンネルの楽音データGD
も上鍵盤1に関するものである場合、レジスタ8
Gには上鍵盤1に関する第2の発音チヤンネルの
楽音データGDがすでに記憶保持されているた
め、加算器8Eは第2の発音チヤンネルおよび第
3の発音チヤンネルの両楽音データGDの加算値
を出力する。この2つの楽音データGDの加算値
はセレクタ8Fを介してレジスタ8Gに供給さ
れ、このレジスタ8Gに保持される。この場合、
下鍵盤2、ペダル鍵盤3に関する累積回路系列の
レジスタ8L,8Qにおけるデータの保持は、そ
れぞれレジスタ8L,8Qの出力がアンドゲート
8N,8Sおよびセレクタ8K,8Pの選択入力
Bを介して自己の入力に帰還されることによつて
行なわれている。
このような動作が12の楽音チヤンネルの各楽
音データGDのそれぞれについて同様に実行され
ることにより、各チヤンネルタイミングが一巡し
たチヤンネルにおいてはレジスタ8G,8Lおよ
び8Qには各鍵盤毎の楽音データGDの合計値
ΣGDU、ΣGDLおよびΣGDPが記憶保持される。こ
のようにして得られた鍵盤別の楽音データ
ΣGDU、ΣGDLおよびΣGDPは、ラツチ8H,8M
および8Rをそれぞれ介して第1図の楽音データ
選択回路9に供給される。そして、この楽音デー
タ選択回路9において所定の鍵盤に関する楽音デ
ータΣGDU、ΣGDL、ΣGDPが選択されて残響音付
加装置10へ供給される。
第4図は残響音を付加すべき鍵盤の楽音データ
GDのみを累算する場合の楽音データアキユムレ
ータ8の具体例を示す回路図であつて、全ての鍵
盤1,2,3の押下鍵に関する楽音データGDの
合成楽音データΣGDを形成する累算回路系列は
第2図と同様に構成されている。一方、鍵盤別の
合成楽音データを形成する累算回路系列は1系列
のみ設けられ、鍵盤選択スイツチSWU,SWL,
SWPで指定された鍵盤の楽音データGDのみがセ
レクタ8Vで選択されて累算されるように構成さ
れている。すなわち、セレクタ8Vの選択入力A
には加算器8Uの加算値が供給され、選択入力B
にはレジスタ8Wの出力値が換還されているが、
選択制御入力SAにはオアゲート8Zを介してス
イツチSWU,SWL,SWPの閉成に対応して上鍵
盤信号UC、下鍵盤信号LC、ペダル鍵盤信号PC
のいずれかが選択的に供給される。従つて、セレ
クタ8VはスイツチSWU,SWL,SWPの閉成に
よつて指定された鍵盤に関する発音チヤンネルの
タイミングにおいてのみ加算器8Uの加算値を選
択してレジスタ8Wに供給する。これによつて、
ラツチ8XからはスイツチSWU,SWL,SWPに
よつて選択された鍵盤(1つまたは複数)の押下
鍵に関する合成楽音データが得られる。
ところで、楽音信号発生回路6は高いサンプリ
ング周波数で各発音チヤンネルの楽音データGD
を形成するものであるが、残響音付加装置11に
おいては楽音データGDの形成と同等のサンプリ
ング周波数で残響音の形成を行う必要はなく、例
えば楽音データGDを50KHzのサンプリング周波
数で形成する場合、その残響音の形成は25KHz程
度のサンプリング周波数で充分である。
そこで、第5図に示すように、楽音データ選択
回路9と残響音付加装置11との間にサンプリン
グレート変換回路16を設け、回路9によつて選
択した鍵盤別の合成楽音データΣGDU、ΣGDL、
ΣGDPのサンプリングレートを低くするようにし
ても良い。すなわち、50KHzのタイミング信号
T1を分周回路16Aにより1/2分周して25KHzの
サンプリングパルスTsを得、このサンプリング
パルスTsによりデイジタルフイルタ16Bを通
過した楽音データをラツチ16Cでサンプリング
ホールドし、このサンプルホールド出力を残響音
付加装置11に供給するようにする。このように
することにより、残響音付加装置11において残
響音を形成する場合のメモリ容量を小さくするこ
とができる。なお、デイジタルフイルタ16Bは
サンプリングレートを変換する際の折り返しノイ
ズ成分を除去するためのものであり、楽音信号の
周波数帯域によつては不要な場合もある。
第6図はこの発明に用いる残響音付加装置11
の一実施例を示すブロツク図、第7図はこの実施
例の構成を機能的に表わした機能ブロツク図、第
8図および第9図はデイジタルメモリを用いて所
望の遅延時間の残響音を発生させるための遅延回
路の基本的構成を示すブロツク図である。
説明の便宜上、まず第8図および第9図に示す
遅延回路の基本的構成およびその動作を説明し、
次に第7図の機能ブロツク図により残響音の形成
過程を説明し、その次に第6図に示す実施例の具
体的構成および動作を説明する。
デイジタルメモリを用いた遅延回路の基本構成
デイジタルメモリに対し所定のサンプリング周
期T0で順次サンプリングした入力楽音信号の楽
音データGD(t)を時間経過に従つて順次記憶
させるようにした場合、時刻(t−i)で記憶し
た楽音データGD(t−i)をi時間経過した時
刻tで読出すには、サンプリング時刻がtのとき
のアドレス情報ADR(t)に対し、i時間の間に
変化したアドレス間隔ΔADRを次の第(1)式また
は第(2)式で示す如く加算または減算し、時刻(t
−i)におけるアドレス情報ADR(t−i)を求
め、このアドレス情報ADR(t−i)をデイジタ
ルメモリのアドレス入力に与えれば良い。
ADR(t−i)=ADR(t)+ΔADR ……(1)
ADR(t−i)=ADR(t)−ΔADR ……(2)
これによつて、時刻(t−i)で記憶させた楽
音データGD(t−i)を
i=ΔADR×T0 ……(3)
で表わされるi時間遅れて読出すことができる。
すなわち、所望の遅延時間iに対応するアドレス
間隔ΔADRを遅延時間情報として与えれば、時
刻(t−i)で記憶させた楽音データGD(t−
i)をi時間遅れて読出すことができる。この場
合、上記第(1)式によつて時刻(t−i)における
アドレス情報ADR(t−i)を求めるものは、楽
音データGD(t)を時間経過に伴つて高位アド
レスから低位アドレスへ向けて順位記憶させる場
合に適用される。また、第(2)式によるものは、楽
音データGD(t)を低位アドレスから高位アド
レスへ向けて順次記憶させる場合に適用される。
従つて、遅延時間は、楽音データGD(t)を
順次記憶するデイジタルメモリDMと、上記第(1)
式または第(2)式で示される読出し用のアドレス情
報ADR(t−i)を形成するアドレス情報発生回
路AGと、上記アドレス間隔ΔADRを遅延時間情
報DLDとして発生するデイレイレングスデータ
メモリDDMとが基本的に設けられる。
第8図はこのような考え方に基づく遅延回路の
一例を示すブロツク図であつて、デイジタルメモ
リDM、アドレス情報発生回路AG、デイレイレ
ングスデータメモリDDM、乗算器Mを備えてい
る。
デイジタルメモリDMは、第10図のタイムチ
ヤートに示すように、サンプリングパルスTsに
従つて所定周期T0でサンプリングした楽音デー
タGD(t)を「0」〜「9」の各アドレスに高
位アドレス「9」側から低位アドレス「0」に向
けて順に記憶するものであり、例えばRAM(ラ
ンダムアクセスメモリ)やシフトレジスタにより
構成される。
このデイジタルメモリDMにおける楽音データ
GD(t)の書込みアドレスおよび読出しアドレ
スの指定は、アドレス情報発生回路AGによつて
行なわれる。すなわち、アドレス情報発生回路
AGはアドレスカウンタACと加算器ADとを備
え、サンプリング時刻の更新に伴つて値が更新さ
れる書込みアドレス情報ADR(t)、ADR(t+
1)、ADR(t+2)、……ADR(t+i)を形成
すると共に、前述の第(1)式で表わされる読出しア
ドレス情報ADR(t−i)を形成し、これらをデ
イジタルメモリDMのアドレス情報DM・ADRと
して出力する。すなわち、アドレスカウンタAC
は周期T0のサンプリングパルスTsをカウント
(ダウンカウント)し、そのカウント値を現在の
サンプリング時刻tにおける楽音データGD(t)
の書込みアドレス情報ADR(t)として出力し、
この情報ADR(t)を加算器ADに供給する。一
方、デイレイレングスデータメモリDDMは所望
の遅延時間iに対応する時間情報DLD(ΔADR=
i/T0)を加算器ADの他の加算入力に供給す
る。すると、加算器ADは当該サンプリング時刻
tにおいて、まず前述の第(1)式で表わされる演算
を行いその演算値をi時間前の楽音データGD
(t−i)の読出しアドレス情報ADR(t−i)
として出力し、続いてアドレスカウンタACの出
力情報ADR(t)をそのまま現在時刻tにおける
楽音データGD(t)の書込みアドレス情報ADR
(t)として出力する。
これによつて、デイジタルメモリDMからは、
時刻tにおいて、i時間前の時刻(t−i)で記
憶させた楽音データGD(t−i)が読出される
と共に、現在時刻tにおける楽音データGD(t)
がアドレス情報ADR(t)で指定されるアドレス
に記憶される。
このようにしてデイジタルメモリDMからi時
間遅れて読出された楽音データGD(t−i)は、
乗算器Mにおいて振幅レベル制御用の係数Kが乗
算されてレベル制御された後出力される。このよ
うな動作は各サンプリング時刻毎に行なわれる。
この結果、入力楽音よりi時間遅れた残響音を発
生させることができる。この場合、1つのサンプ
リング時間において異なる複数の遅延時間情報
DLDを時分割で順次与えれば、同一サンプリン
グ時間内に遅延時間の異なる複数の残響音に関す
る情報を取り出すことができる。従つて、第8図
に示す遅延回路は、周囲の壁などの反射体への距
離の差によつて振幅レベルや遅延時間がランダム
に異なる複雑な残響特性の初期反射音を形成する
ために利用される。
第9図は遅延回路の他の例を示すブロツク図で
あつて、この例の遅延回路はアドレス情報発生回
路AGのアドレスカウンタACをプリセツト型の
ダウンカウンタで構成する。そしてアドレスカウ
ンタACに対して所望の遅延時間iに対応する遅
延時間情報DLDをプリセツトしてこのプリセツ
ト値(DLD)からダウンカウント動作させるこ
とにより、該アドレスカウンタACから出力され
るアドレス情報ADR(t)、ADR(t+1)、……
ADR(t+i)の繰り返し周期が遅延時間情報
DLDにより指定される遅延時間と一致するよう
にし、現在時刻tにおける楽音データGD(t)
を記憶させるべきアドレスからi時間前に記憶さ
せた楽音データGD(t−i)を読出すようにし
たものである。
換言すれば、デイジタルメモリDMが第9図の
如く10語で構成される場合にはアドレス間隔の最
大値が「10」となるため、最大で10・T0時間遅
れた楽音データGD(t−10)を読出すことが可
能であるが、所望の遅延時間iを例えば6・T0
とする場合、アドレスカウンタACの出力情報
DM・ADRを5、4、3、2、1、0、5、…
…0の繰り返しとし、デイジタルメモリDMにお
いて使用するアドレスの範囲を所望の遅延時間i
(i=6・T0)に対応して縮小し、現在時刻tに
おいてサンプリングした楽音データGD(t)を
書込もうとするアドレスを、ちようどi時間前の
楽音データGD(t−i)を書込んだアドレスに
一致させ、現在時刻tにおける楽音データGD
(t)を書込むべきアドレスからi時間前に書込
んで楽音データGD(t−i)を読出すようにし
たものである。このために、この第9図の遅延回
路では、アドレスカウンタACの出力情報DM・
ADRが「0」から「9」に変化したことを検出
し、この検出信号によりデイレイレングスデータ
メモリDDMから出力されている時間情報DLDを
アドレスカウンタACにプリセツトする最大値検
出回路MXDが設けられている。
一方、この第9図の遅延回路は、現在時刻tに
おいてサンプリングした楽音データGD(t)を
そのままデイジタルメモリDMに書込まず、i時
間前の楽音データGD(t−i)を所定割合いで
帰還し、その帰還値K・GD(t−i)と現在時
刻tにおいてサンプリングした楽音データGD
(t)との加算値を書込むようにしたものである。
このために、デイジタルメモリDMから読出され
たi時間前の楽音データGD(t−i)に係数K
を乗算してデイジタルメモリDMのデータ入力側
に帰還する乗算器Mと、乗算器Mの出力データ
K・GD(t−i)と現在時刻tの楽音データGD
(t)とを加算し、その加算値「GD(t)+K・
GD(t−i)」をデイジタルメモリDMのデータ
入力に供給する加算器ADとが設けられている。
従つて、このように構成された遅延回路におい
ては、所望の遅延時間iを6・T0とする場合、
アドレスカウンタACには該カウンタACの出力情
報DA・ADRが「0」から最大値(この例では
「9」)に変化した時点で、
DLD=6−1=5
で表わされる遅延時間情報DLDがプリセツトさ
れる。これによつて、アドレスカウンタACはサ
ンプリング時刻の進行に伴つて(サンプリング周
期T0毎に)5、4、3、2、1、0、5、……
0という具合に変化するアドレス情報DM・
ADRを繰り返し出力するようになる。そして、
各サンプリング時刻においては、アドレス情報
DM・ADRで指定されるアドレスに記憶されて
いるi時間前の楽音データGD(t−i)がまず
読出され、続いてこの読出しアドレスと同一アド
レスに対しi時間前の楽音データGD(t−i)
と現在時刻tでサンプリングした楽音データGD
(t)とを所定割合いで加算したデータ「GD
(t)+K・GD(t−i)」が書込まれる。
従つて、このように構成した遅延回路では、現
在のサンプリング時刻tにおける楽音データGD
(t)の書込みアドレスとi時間前の楽音データ
GD(t−i)の読出しアドレスとが同一で、か
つi時間前の楽音データGD(t−i)が帰還さ
れているため、振幅レベルや遅延時間が規則的に
変化する残響音に関するデータを取り出すことが
できる。従つて、第9図に示す遅延回路は規則的
残響特性の残響音を発生するために用いられてい
る。
なお、楽音データに係数Kを乗算していくと、
最終的に得られる残響音に関するデータは元の楽
音データよりレベルが大きくなつてしまうため、
実際にはこの残響音に関するデータは減衰器を通
して残響音の出力部に導かれる。
この場合、係数Kを「−1<K<0」とするよ
うにすれば、減衰器を必要としない。
次に、第7図に示す機能ブロツク図を用いて残
響音の形成過程を説明する。
残響音の形成過程
まず、第7図の実施例における残響音の形成過
程は、振幅レベルおよび遅延時間がランダムに変
化する初期反射音を形成する過程と、この初期反
射音に続く、振幅レベルおよび遅延時間が規則的
に変化する残響音を形成する過程とに大別され
る。そして、ここではこれらの初期反射音および
残響音は互いに独立した遅延回路系列で形成する
ように構成されている。
第7図において、所定周期T0でサンプリング
した楽音データGD(t)は第1の遅延回路系列
である初期反射音形成部1000に供給される。
初期反射音形成部1000は、第8図に示した
遅延回路を利用したもので、2048語の記憶アドレ
スを有するメモリD0と、現在のサンプリング時
刻tにおいて上記メモリD0から読出した互いに
遅延時間の異なるio時間(n=1〜10)前の10種
類の楽音データGD(t−i1)、GD(t−i2)、……
GD(t−i10)に対して任意の振幅レベル制御用
係数Ko(n=1〜10)を乗算する乗算器M1〜M
10と、これら乗算器M1〜M10の乗算値出力
K1・GD(t−i1)、K2・GD(t−i2)、……K10・
GD(t−i10)の総和10
〓n=1
Ko・GD(t−io)を求め、
該総和10
〓n=1
Ko・GD(t−io)を現在時刻tにおけ
る初期反射音の瞬時値ECH(t)として出力する
加算器SUM1とから構成されている。
なお、加算器SUM1は、上記総和10
〓n=1
Ko・GD
(t−io)を次のサンプリング時刻(t+1)ま
で一時記憶するレジスタR0を内蔵している。
このような構成の初期反射音形成部1000に
おいて、現在時刻tでサンプリングされた楽音デ
ータGD(t)は、メモリD0の2048語の記憶ア
ドレスのうち現在時刻tに対応したアドレスに書
込まれる。次に、加算器SUM1内のレジスタR
0には前回のサンプリング時刻(t−1)におけ
る総和10
〓n=1
Ko・GD(t−1−io)が記憶されてい
るため、このレジスタR0の内容がリセツトされ
る。次に、io時間前の10種類の楽音データGD(t
−i1)〜GD(t−i10)のうち、遅延時間i1の楽音
データG(t−i1)をメモリD0から読出すため、
遅延時間i1に対応するメモリD0のアドレスが指
定され、該アドレスからi1時間前にサンプリング
した楽音データGD(t−i1)が読出される。この
場合、i1時間前の楽音データGD(t−i1)を読出
すためのアドレスは前述した第(1)式によつて求め
られる。
このようにして読出されて遅延時間i1の楽音デ
ータGD(t−i1)は、乗算器M1に入力されこの
乗算器M1において遅延時間i1の第1反射音
ECH1に対応する振幅レベル制御用の係数K1と乗
算される。そして、その乗算値K1・GD(t−i1)
は加算器SUM1に入力され、レジスタR0の現
在値と加算され、その加算値はレジスタR0に再
び記憶される。この場合、レジスタR0の内容
は、現在時刻tの楽音データGD(t)の書込み
の直後にリセツトされているため、この時レジス
タR0に書込まれる内容はデータK1・GD(t−
i1)となる。
このようにして、遅延時間i1の楽音データGD
(t−i1)の読出し処理およびレベル制御処理が
終了すると、すなわち第1反射音ECH1に関する
処理が終了すると、次に遅延時間i2の第2反射音
ECH2に関する楽音データGD(t−i2)の読出し
処理およびレベル制御処理が第1反射音ECH1の
形成処理と同様にして行なわれる。この結果、加
算器SUM1内のレジスタR0には、第1反射音
ECH1に関するデータK1・GD(t−i1)と第2反
射音ECH2に関するデータK2・GD(t−i2)との
加算値「K1・GD(t−i1)+K2・GD(t−i2)」が
記憶される。
このような処理は第3反射音ECH3〜第10反射
音ECH10についても同様に行なわれる。この結
果、レジスタR0には第1反射音ECH1〜第10反
射音ECH10に関する楽音データK1・GD(t−i1)
〜K10・GD(t−i10)の総和10
〓n=1
Ko・GD(t−io)
が記憶される。そして、この総和10
〓n=1
Ko・GD(t
−io)は第1反射音ECH1〜第10反射音ECH10か
らなる初期反射音の瞬時値ECH(t)としてスイ
ツチ回路SWを介して出力される。
スイツチ回路SWは、次の第1表に示すよう
に、1サンプリング周期T0内の初期反射音の形
成処理時間TaにおいてはレジスタR0の出力を
選択出力し、初期反射音の形成処理後の時間Tb
においては第2の遅延回路系列の出力を選択出力
するものである。
The present invention relates to an electronic musical instrument, and more particularly to an electronic musical instrument that selectively adds reverberation to a desired series of musical tones among a plurality of musical tones having different tone characteristics such as timbres. Conventionally, electronic musical instruments have been equipped with multiple keyboards such as an upper keyboard, a lower keyboard, a pedal keyboard, and a solo keyboard, and each keyboard can produce multiple series of performance sounds with different musical characteristics such as timbre and range. It is composed of By the way, when adding reverberant sound to the performance sound of each keyboard (each series) in such an electronic musical instrument, depending on the manner of selecting the tone of each keyboard, there are tones that are suitable for adding reverberant sound and tones that are not suitable for adding reverberant sound. may be selected at the same time. For example, if a vibrafon tone is selected in the upper keyboard or solo keyboard, and an organ tone is selected in the lower keyboard, the vibrafon tone has a long amplitude envelope and is amplitude modulated, so reverberation is added. This is not necessary; on the other hand, an excellent effect can be obtained by adding a long and deep reverberant sound, such as the sound of a performance in a church, to the tone of an organ. Furthermore, depending on the performance situation, in order to achieve an effect of pushing a certain tone to the forefront, it may be desired to produce only the sound played on the keyboard of that tone without adding reverberation. In this way, when adding reverberation to the performance sounds of each series in an electronic musical instrument that has multiple musical tone series,
There is a need for a configuration in which a series to which reverberant sound is to be added can be freely selected depending on the selected timbre of the keyboard and the performance situation. The present invention has been made in view of the above-mentioned requirements, and its object is to provide an electronic musical instrument that allows a user to arbitrarily select a series to which reverberation is to be added from among a plurality of musical tones. By the way, when adding reverberation sound using an electronic circuit, BBD (Bucket Brigade Device) and
Some use analog delay elements such as CCDs (Charge Coupled Devices). However, in devices using such analog delay elements, the longer the reverberation time is increased, that is, the more the number of series-connected analog delay elements is increased, the lower the output signal level and the more noticeable the decline in the S/N ratio becomes. However, the drawback was that natural reverberation could not be obtained. Another drawback is that once the reverberation characteristics, including the reverberation time, are set, they cannot be easily changed thereafter. Therefore, in this invention, in order to prevent the S/N from decreasing even if the reverberation time is increased and to make it possible to easily change the reverberation time, multiple series of digital musical sound signals with different musical sound characteristics such as timbre are generated. digital musical sound signal generating means for adding reverberation to an input digital musical sound signal and outputting the resultant digital musical sound signal; a selection means for selectively supplying the reverberation sound to the sound addition means; the reverberation sound addition means includes: a reverberation sound indication means for selectively instructing reverberation characteristics of the reverberation sound from among a plurality of reverberation characteristics; a control program memory that stores a plurality of control programs for forming reverberant sound corresponding to each of the reverberation characteristics that can be specified, and outputs a control program that corresponds to the reverberation characteristics specified by the reverberation characteristics instruction means; A reverberation sound forming means including a calculation means 40 and a data memory 190 having a plurality of addresses, and a control program memory 300 that stores parameters regarding delay time and calculation coefficients corresponding to the reverberation characteristics instructed by the reverberation characteristics instruction means. a parameter generation means 20 that generates data according to the output of the control program memory 300, and a parameter generating means 20 that writes and reads data to and from the data memory 190 based on the output of the control program memory 300 and the parameters related to the delay time;
The reverberation sound forming means includes a control means 303 for outputting a memory control signal for address designation as well as an arithmetic control signal for the arithmetic means 40 based on the output of the control program memory 300; By performing a predetermined operation on the signal read out from the data memory 190 in accordance with the control signal, the calculation coefficient, and the digital musical tone signal, the reverberation characteristics instruction means specifies the reverberation characteristic instruction for the digital musical tone signal. It is designed to output with reverberation characteristics added. Hereinafter, this invention will be explained in detail using the drawings. FIG. 1 is a block diagram showing an embodiment of an electronic musical instrument according to the present invention, in which an upper keyboard 1, a lower keyboard 2,
Pedal keyboard 3, key depression detection circuit 4, sound generation assignment circuit 5, musical tone signal generation circuit 6, tone setting circuit 7, musical tone data accumulator 8, musical tone data selection circuit 9, reverberation sound addition keyboard selection circuit 10, reverberation sound addition It consists of a device 11, DA converters 12 and 13, and sound systems 14 and 15. The upper keyboard 1, lower keyboard 2, and pedal keyboard 3 each have a plurality of keys and a plurality of key switches that operate when each key is pressed, and the operation of each key switch is determined by a key press detection circuit 4. detected. The pressed key detection circuit 4 detects the operation of each key switch on the upper keyboard 1, lower keyboard 2, and pedal keyboard 3, and generates and outputs a key code KC representing the pressed key. In this case, the key code KC is composed of a keyboard code KBC representing the type of keyboard, an octave code OC representing the range of the key, and a note code NC representing the timbre.
is supplied to the sound generation allocation circuit 5. The sound generation assignment circuit 5 assigns a key code supplied from the key press detection circuit 4 to one of the plurality of time-division sound generation channels in the musical tone signal generation circuit 6.
Assign the pronunciation of the musical tone corresponding to the pressed key indicated by KC,
The key code KC of the pressed key is time-divisionally output at the channel timing corresponding to the assigned time-division sounding channel. It is assumed here that 12 time-division sounding channels are provided. In this case, the pronunciation assignment circuit 5 uses the key code
A musical tone signal generation circuit 6 outputs a key-on signal KON that controls the sound generation of musical tones assigned to each sound generation channel in synchronization with the time-division output timing of the KC.
supply to. As mentioned above, the musical tone signal generation circuit 6 has, for example, 12 time-division sound generation channels, and when the key code KC of the pressed key is supplied from the sound generation allocation circuit 5 in synchronization with the timing of each channel, this key code KC Based on the timbre information TSD set by the timbre setting circuit 7, musical tone data GD (digital musical tone signal ) is formed for each sound channel and outputted in a time-division manner. This musical tone signal generation circuit 6 generates musical tone data GD using musical tone signal forming methods such as a waveform memory read method, a harmonic synthesis method, a frequency modulation method, and an amplitude modulation method. In addition, the musical tone data GD of each pronunciation channel
is given an amplitude envelope from attack to decay by the key-on signal KON of its own channel. In this case, the timbre setting circuit 7 is capable of setting timbres for each of the upper keyboard 1, lower keyboard 2, and pedal keyboard 3, and outputs timbre information TSD corresponding to each keyboard. and,
In each sound channel in the musical tone signal generation circuit 6, the keyboard code KBC of the own channel is
The musical tone data GD of the tone corresponding to the tone color information TSD regarding the keyboard indicated by is formed. This allows multiple series of musical tone data GD with different tones for each keyboard.
is formed. In this manner, the musical tone signal generation circuit 6 forms and outputs musical tone data GD regarding the pressed keys assigned to each sound generation channel in a time-division manner, and supplies the generated musical tone data to the musical tone data accumulator 8. The musical tone data accumulator 8 synthesizes the musical tone data GD formed by each sound generation channel of the musical tone signal generation circuit 6 for all channels and outputs it as synthesized musical tone data ΣGD of musical tones corresponding to the pressed keys of all the keys. Further, for each keyboard, musical tone data related to the pressed keys of the keyboard are synthesized and output as musical tone data ΣGD U , ΣGD L , ΣGD P for each keyboard. In this case, the tone data GD formed in each tone generation channel is distributed to each keyboard by the tone generation assignment circuit 5.
This is done using the keyboard code KBC supplied by . Note that ΣGD U , ΣGD L and ΣGD P represent upper keyboard musical tone data, lower keyboard musical tone data and pedal keyboard musical tone data, respectively. The synthesized musical tone data ΣGD related to all the pressed keys of the keyboard synthesized by the musical tone data accumulator 8 is converted into an analog musical tone signal by the DA converter 13 and outputted from the sound system 15 as a musical tone. On the other hand, musical tone data ΣGD U , ΣGD L ,
ΣGD P is supplied to the musical tone data selection circuit 9, where it is selected according to the keyboard selection information KBS from the reverberation sound addition keyboard selection circuit 10, and is supplied to the digital reverberation sound addition device 11. Then, the reverberation sound adding device 11 selects and supplies musical tone data ΣGD U from the musical tone data selection circuit 9,
Reverberation sound having a desired reverberation characteristic is added to ΣGD L and ΣGD P and then supplied to the DA converter 12 . As a result, musical sound data (ΣGD U ,
(either ΣGD L or ΣGD P ) is converted into an analog signal by the DA converter 12, and then produced by the sound system 14 as a musical tone with added reverberation. FIG. 2 is a circuit diagram showing an example of a specific configuration of the musical tone data accumulator 8, in which the synthesized musical tone data ΣGD is stored in a circuit consisting of an adder 8A, a register (delay flip-flop) 8B, a latch 8C, and an AND gate 8D. It is formed as a result. That is, the tone data GD formed by each sound generation channel is supplied to the addition input A of the adder 8A. The adder 8A is connected to the first to twelfth sounding channels.
Store the musical sound data GD of the pronunciation channel in register 8.
The output value of the register 8B is supplied to the addition input B via the AND gate 8D only when the timing signal 1 is "1". As shown in the time chart of FIG. 3, timing signal 1 is a timing signal that becomes "1" at the channel timing corresponding to the first sound generation channel among the 12 channel timings defined by clock pulse φ A. This timing signal 1 is an inverted signal (Fig. 3 e) of T 1 (Fig. 3 d), and this timing signal 1 is supplied to the AND gate 8D as a gate control signal. Therefore, the output value of the register 8B is continuously inputted to the addition input B of the adder 8A at channel timings other than the channel timing corresponding to the first sound generation channel. Therefore, the adder 8A is
The musical tone data GD of the first sound generation channel is output as is and supplied to the register 8D. Then, the register 8B outputs the musical tone data GD of the first sound generation channel to the clock pulse φ A shown in FIG. 3a.
It is taken in at the timing of occurrence of clock pulse φB and outputted at the timing of occurrence of clock pulse φB shown in FIG. 3b. That is, the register 8B outputs input data with a time delay corresponding to one channel timing.
Then, when the timing signal 1 becomes "1" at the channel timing corresponding to the second sound generation channel, the AND gate 8D becomes open, so that the tone data of the first sound generation channel held in the register 8B is GD is input to addition input B of adder 8A via this AND gate 8D. At this time, the addition input A of the adder 8A has the second
Since the tone data GD of the first and second tone generation channels is input, the adder 8A outputs the sum of the tone data of the first and second tone generation channels. This added value is held in register 8B. By repeating this operation until the channel timing corresponding to the 12th sound channel, the
At the end of the 12 channel timings, the total addition value ΣGD of the musical tone data GD of the 12 sounding channels is obtained. This total addition value ΣGD is determined by the latch 8 at the rising edge of the timing signal T1 .
C, and while the channel timing goes through this latch 8C (until the next signal T1 rises)
The signal is held and output from the output of the latch 8C as synthesized musical tone data ΣGD. Fig. 3 f shows synthesized musical tone data ΣGD(t) and ΣGD(t
+1). On the other hand, musical tone data ΣGD U , ΣGD L ,
ΣGD P is also formed by a similar circuit. However, since the adder 8E, which adds new musical tone data and already accumulated musical tone data, is shared by the accumulation circuit series for each keyboard, the input stage of the addition input B of the adder 8E is A selector 8J is provided at the input stage of registers 8G, 8L, and 8Q that hold each total value of musical tone data for each keyboard.
8K and 8P are provided respectively. The circuit consisting of adder 8E, selectors 8J, 8F, register 8G, latch 8H and AND gate 8I constitutes an accumulation circuit series that forms upper keyboard musical tone data ΣGD U , and adder 8E, selector 8J , 8K, register 8L, latch 8M, and AND gate 8N constitute an accumulator circuit series for forming lower keyboard tone data ΣGD L. Further, an adder 8E, selectors 8J, 8
The circuit consisting of P, register 8Q, latch 8R, and AND gate 8S constitutes an accumulation circuit series for forming pedal keyboard musical tone data ΣGD P. First, the musical tone data GD of the first pronunciation channel
is added, this musical tone data GD is sent to adder 8
is fed to the addition input A of E. At this time, the AND gates 8I, 8N, and 8S of each accumulator circuit series are all closed by the timing signal 1 , so the three selection inputs A, B, and C of the selector 8J are
are all "0", and the input value of the addition input B of the adder 8E is "0". Therefore, the adder 8E outputs the musical tone data GD supplied to the addition input A as is, and selectors 8F and 8 of each accumulation circuit series
Commonly supplied to selection input A of K and 8P. The selectors 8F, 8K, and 8P select and extract the musical tone data GD output from the adder 8E for each keyboard. In other words, 8F is the keyboard code
When the upper keyboard signal UC indicating the upper keyboard 1 obtained by decoding KBC by the decoder T8 is "1", the musical tone data input from the adder 8E to the selection input A
GD selects this musical tone data GD as relating to the pressed key of the upper keyboard 1 and supplies it to the register 8G. Further, when the lower keyboard signal LC indicating the lower keyboard 2 obtained by decoding the keyboard code KBC by the decoder 8T is "1", the selector 8K selects the tone data GD input from the adder 8E to the selection input A to the lower keyboard 2. This musical tone data GD is selected as data relating to the pressed key and is supplied to the register 8L. Further, when the pedal keyboard signal PC indicating the pedal keyboard 3 obtained by decoding the keyboard code KBC by the decoder 8T is "1", the selector 8P selects the musical tone data GD input from the adder 8E to the selection input A to the pedal keyboard 3. This musical tone data GD is selected as relating to the pressed key and is supplied to the register 8Q. Therefore, the musical tone data output from the adder 8E
GD is a cumulative circuit series register 8G, 8L, 8 provided corresponding to each keyboard 1, 2, 3.
It is distributed and supplied to Q respectively. Here, if the musical tone data GD of the first sound generation channel is related to the press board of the pedal keyboard 3, this musical tone data GD is passed through the selector 8P to the register 8Q.
and is held in this register 8Q. Next, when the timing signal 1 becomes "1" at the channel timing corresponding to the second sound generation channel, the AND gates 8I, 8N, 8S of each accumulation circuit series are opened. Therefore, the values held in the registers 8G, 8L, 8Q of each accumulation circuit series are the same as those of the open AND gates 8I, 8.
Selectors 8F, 8 of own series via N, 8S
It is fed back to the selection inputs B of the selectors K and 8P, and is also supplied to the selection inputs A, B and C of the selector 8J, respectively. The selector 8J selectively outputs the musical tone data GD related to the upper keyboard 1 supplied to the selection input A via the AND gate 8I when the upper keyboard signal UC is "1", and when the lower keyboard signal LC is "1". At times, the musical tone data GD related to the lower keyboard 2, which is supplied to the selection input B via the AND gate 8N, is selectively outputted, and furthermore, when the pedal keyboard signal PC is "1", the musical tone data GD is supplied to the selection input C via the AND gate 8S. Musical sound data related to pedal keyboard 3
GD is selectively output, and this selective output is supplied to the addition input B of the adder 8E. Therefore, the musical tone data of the second sounding channel
When GD is related to the pressed key of the upper keyboard 1, the musical tone data GD held in the register 8G is supplied to the addition input B of the adder 8E, and the musical tone data GD held in the register 8G is supplied to the addition input A. Musical tone data GD of the pronunciation channel is supplied. However, in this example, the first sound channel is pedal keyboard 3.
Since the tone data GD is not yet stored in the register 8G, the adder 8E outputs the tone data GD of the second tone generation channel regarding the upper keyboard 1 as is. and,
This musical tone data GD is held in the register 8G via the selector 8F. Next, the musical tone data GD of the third pronunciation channel
is also related to upper keyboard 1, register 8
Since the tone data GD of the second tone generation channel related to the upper keyboard 1 is already stored in G, the adder 8E outputs the sum value of the tone data GD of both the second tone generation channel and the third tone generation channel. do. The added value of these two tone data GD is supplied to the register 8G via the selector 8F and held in this register 8G. in this case,
The data in the registers 8L and 8Q of the cumulative circuit series related to the lower keyboard 2 and pedal keyboard 3 is held by inputting the outputs of the registers 8L and 8Q to their own inputs via the AND gates 8N and 8S and the selection inputs B of the selectors 8K and 8P, respectively. This is done by returning to Japan. By performing this operation in the same way for each musical tone data GD of the 12 musical tone channels, registers 8G, 8L, and 8Q contain the musical tone data GD for each keyboard in the channel where the timing of each channel has completed one cycle. The total values ΣGD U , ΣGD L and ΣGD P are stored. The musical tone data ΣGD U , ΣGD L and ΣGD P for each keyboard obtained in this way are used for latches 8H, 8M.
and 8R, respectively, to the tone data selection circuit 9 of FIG. Then, the musical tone data selection circuit 9 selects musical tone data ΣGD U , ΣGD L , ΣGD P related to a predetermined keyboard and supplies them to the reverberation sound adding device 10 . Figure 4 shows the musical sound data of the keyboard to which reverberation should be added.
This is a circuit diagram showing a specific example of the musical tone data accumulator 8 in the case of accumulating only GD, and is an accumulation that forms synthesized musical tone data ΣGD of musical tone data GD regarding the pressed keys of all keys 1, 2, and 3. The circuit series is constructed in the same manner as in FIG. On the other hand, only one accumulation circuit series is provided to form synthesized musical tone data for each keyboard, and the keyboard selection switches SW U , SW L ,
The configuration is such that only the musical tone data GD of the keyboard specified by SW P is selected by the selector 8V and accumulated. In other words, selection input A of selector 8V
is supplied with the added value of the adder 8U, and the selection input B
The output value of register 8W is converted to
The selection control input SA receives an upper keyboard signal UC, a lower keyboard signal LC, and a pedal keyboard signal PC in response to the closing of switches SW U , SW L , and SW P via an OR gate 8Z.
Either one is selectively supplied. Therefore, the selector 8V selects the added value of the adder 8U and supplies it to the register 8W only at the timing of the tone generation channel for the keyboard specified by closing the switches SW U , SW L , SW P . By this,
From the latch 8X, synthesized musical tone data relating to the depressed keys of the keyboard (one or more) selected by the switches SW U , SW L , SW P are obtained. By the way, the musical tone signal generation circuit 6 generates musical tone data GD of each sound channel at a high sampling frequency.
However, in the reverberation sound addition device 11, it is not necessary to form reverberation sound at the same sampling frequency as that for forming musical sound data GD. For example, when forming musical sound data GD at a sampling frequency of 50 KHz, A sampling frequency of about 25KHz is sufficient to form the reverberant sound. Therefore, as shown in FIG. 5, a sampling rate conversion circuit 16 is provided between the musical tone data selection circuit 9 and the reverberation sound adding device 11, and the synthesized musical tone data ΣGD U , ΣGD for each key selected by the circuit 9 is provided. L ,
The sampling rate of ΣGD P may be lowered. i.e. 50KHz timing signal
The frequency of T 1 is divided by 1/2 by the frequency dividing circuit 16A to obtain a 25KHz sampling pulse Ts, and the musical tone data that has passed through the digital filter 16B is sampled and held by the latch 16C using this sampling pulse Ts, and this sample and hold output is used for reverberation. The sound is supplied to the sound adding device 11. By doing so, it is possible to reduce the memory capacity when forming reverberant sound in the reverberant sound adding device 11. Note that the digital filter 16B is for removing aliasing noise components when converting the sampling rate, and may be unnecessary depending on the frequency band of the musical tone signal. Figure 6 shows a reverberation sound adding device 11 used in this invention.
A block diagram showing one embodiment; FIG. 7 is a functional block diagram functionally representing the configuration of this embodiment; FIGS. 8 and 9 show how digital memory is used to generate reverberation sound with a desired delay time. FIG. 2 is a block diagram showing the basic configuration of a delay circuit for making a delay circuit. For convenience of explanation, we will first explain the basic configuration and operation of the delay circuit shown in FIGS. 8 and 9,
Next, the process of forming reverberant sound will be explained with reference to the functional block diagram of FIG. 7, and then the specific structure and operation of the embodiment shown in FIG. 6 will be explained. Basic configuration of a delay circuit using a digital memory When musical tone data GD(t) of an input musical tone signal sampled sequentially at a predetermined sampling period T0 is sequentially stored in a digital memory as time elapses, the time ( In order to read the musical tone data GD(t-i) stored at time t-i) at time t after i time has elapsed, the address information ADR(t) when the sampling time is t must be changed during i time. Add or subtract the address interval ΔADR as shown in the following equation (1) or (2), and calculate the time (t
-i), and provide this address information ADR(t-i) to the address input of the digital memory. ADR (t-i) = ADR (t) + ΔADR ... (1) ADR (t-i) = ADR (t) - ΔADR ... (2) This allows the memory to be stored at time (t-i). Musical tone data GD(t-i) can be read out with a delay of i time expressed as i=ΔADR×T 0 (3).
That is, if the address interval ΔADR corresponding to the desired delay time i is given as delay time information, musical tone data GD(t-
i) can be read with a delay of i time. In this case, to obtain the address information ADR(t-i) at time (t-i) using equation (1) above, the musical tone data GD(t) is transferred from a high-order address to a low-order address as time passes. This is applied when the ranking is memorized. Furthermore, equation (2) is applied when musical tone data GD(t) is stored sequentially from a low address to a high address. Therefore, the delay time is the difference between the digital memory DM that sequentially stores the musical tone data GD(t) and the above (1).
An address information generation circuit AG that forms read address information ADR (t-i) shown by the equation or equation (2), and a delay length data memory DDM that generates the address interval ΔADR as delay time information DLD. Basically provided. FIG. 8 is a block diagram showing an example of a delay circuit based on this concept, which includes a digital memory DM, an address information generation circuit AG, a delay length data memory DDM, and a multiplier M. As shown in the time chart of FIG. 10, the digital memory DM stores the musical tone data GD(t) sampled at a predetermined period T0 in accordance with the sampling pulse Ts to each high-order address from "0" to "9". It is stored in order from the "9" side toward the lower address "0", and is configured by, for example, a RAM (random access memory) or a shift register. Musical sound data in this digital memory DM
Designation of the write address and read address of GD(t) is performed by address information generation circuit AG. In other words, the address information generation circuit
AG includes an address counter AC and an adder AD, and the write address information ADR(t) and ADR(t+
1), ADR(t+2), . Output as DM/ADR. i.e. address counter AC
counts (down counts) the sampling pulse Ts with period T 0 , and calculates the count value as musical tone data GD(t) at the current sampling time t.
output as write address information ADR(t),
This information ADR(t) is supplied to the adder AD. On the other hand, the delay length data memory DDM stores time information DLD (ΔADR=
i/T 0 ) to the other addition input of the adder AD. Then, at the sampling time t, the adder AD first performs the calculation expressed by the above-mentioned equation (1), and uses the calculated value as the musical tone data GD of i time before.
(t-i) read address information ADR(t-i)
Then, the output information ADR (t) of the address counter AC is directly used as the write address information ADR of the musical tone data GD (t) at the current time t.
Output as (t). As a result, from the digital memory DM,
At time t, musical tone data GD(t-i) stored at time i hours ago (t-i) is read out, and musical tone data GD(t) at current time t is read out.
is stored at the address specified by address information ADR(t). The musical tone data GD(t-i) read out from the digital memory DM with a delay of i time in this way is
The signal is multiplied by a coefficient K for amplitude level control in a multiplier M and output after level control. Such operations are performed at each sampling time.
As a result, it is possible to generate reverberant sound delayed by i hours from the input musical tone. In this case, multiple pieces of delay time information that differ at one sampling time
If DLD is applied sequentially in a time-sharing manner, information regarding multiple reverberant sounds with different delay times can be extracted within the same sampling time. Therefore, the delay circuit shown in Figure 8 is used to form early reflected sounds with complex reverberation characteristics that randomly vary in amplitude level and delay time depending on the distance to the surrounding wall or other reflecting body. be done. FIG. 9 is a block diagram showing another example of the delay circuit, in which the address counter AC of the address information generation circuit AG is constructed with a preset type down counter. Then, by presetting delay time information DLD corresponding to a desired delay time i for address counter AC and performing a down-count operation from this preset value (DLD), address information ADR (t ), ADR(t+1),...
The repetition period of ADR (t+i) is delay time information
The musical tone data GD(t) at the current time t is set to match the delay time specified by DLD.
The tone data GD(t-i) stored i hours ago is read from the address at which it is to be stored. In other words, when the digital memory DM consists of 10 words as shown in Figure 9, the maximum value of the address interval is " 10 ", so the musical tone data GD (t- 10), it is possible to read out the desired delay time i, for example, 6·T 0
In this case, the output information of address counter AC
DM/ADR 5, 4, 3, 2, 1, 0, 5,...
... 0 is repeated, and the address range used in the digital memory DM is set to the desired delay time i.
(i=6・T 0 ), and the address to which the musical tone data GD(t) sampled at the current time t is to be written is changed to the musical tone data GD(t−i ) to match the written address, and the musical tone data GD at the current time t.
(t) is written i hours before the address to be written, and musical tone data GD(t-i) is read out. For this reason, in the delay circuit of FIG. 9, the output information DM of the address counter AC is
A maximum value detection circuit MXD is provided which detects that ADR changes from "0" to "9" and presets the time information DLD output from the delay length data memory DDM into the address counter AC based on this detection signal. There is. On the other hand, the delay circuit in FIG. 9 does not directly write the musical tone data GD(t) sampled at the current time t into the digital memory DM, but returns the musical tone data GD(t-i) from i hours ago at a predetermined rate. Then, the feedback value K・GD(t−i) and the musical tone data GD sampled at the current time t
(t) is written.
For this purpose, a coefficient K
A multiplier M multiplies the multiplier M and returns it to the data input side of the digital memory DM, and the output data K・GD(t−i) of the multiplier M and the musical tone data GD at the current time t.
(t) and the added value “GD(t)+K・
An adder AD is provided which supplies "GD(t-i)" to the data input of the digital memory DM. Therefore, in the delay circuit configured in this way, when the desired delay time i is 6·T 0 ,
When the output information DA/ADR of the counter AC changes from "0" to the maximum value ("9" in this example), the delay time information DLD expressed as DLD=6-1=5 is stored in the address counter AC. Preset. As a result, the address counter AC changes to 5, 4, 3, 2, 1, 0, 5, . . . (every sampling period T 0 ) as the sampling time progresses.
Address information that changes from 0 to DM・
ADR will be output repeatedly. and,
At each sampling time, address information
Musical tone data GD(t-i) from i hours ago stored at the address specified by DM/ADR is first read out, and then musical tone data GD(t-i) from i hours ago is read from the same address as this read address. i)
and the musical sound data GD sampled at the current time t.
(t) and added at a predetermined ratio, the data “GD
(t)+K·GD(t−i)” is written. Therefore, in the delay circuit configured in this way, musical tone data GD at the current sampling time t
(t) write address and musical tone data i hours ago
Since the read address of GD(t-i) is the same and the musical sound data GD(t-i) from i hours ago is fed back, data related to reverberant sound whose amplitude level and delay time regularly change can be collected. It can be taken out. Therefore, the delay circuit shown in FIG. 9 is used to generate reverberant sound with regular reverberation characteristics. Furthermore, when the musical tone data is multiplied by the coefficient K,
The level of the final reverberant sound data will be higher than the original musical sound data, so
In reality, data regarding this reverberant sound is led to the reverberant sound output section through an attenuator. In this case, if the coefficient K is set to "-1<K<0", an attenuator is not required. Next, the process of forming reverberant sound will be explained using the functional block diagram shown in FIG. Process of Forming Reverberant Sound First, the process of forming reverberant sound in the embodiment shown in FIG. The process of forming reverberant sound in which the delay time changes regularly. Here, these early reflected sounds and reverberant sounds are formed by mutually independent delay circuit series. In FIG. 7, musical tone data GD(t) sampled at a predetermined period T 0 is supplied to an early reflected sound forming section 1000, which is a first delay circuit series. The early reflected sound forming section 1000 utilizes the delay circuit shown in FIG. 10 types of musical tone data GD (t-i 1 ), GD (t-i 2 ), ... from i o time (n = 1 to 10) ago
Multipliers M1 to M that multiply GD (ti 10 ) by an arbitrary amplitude level control coefficient K o (n=1 to 10)
10 and the multiplication value outputs of these multipliers M1 to M10.
K 1・GD (t-i 1 ), K 2・GD (t-i 2 ), ...K 10・
Find the sum of GD (t-i 10 ) 10 〓 n=1 K o・GD (t-i o ),
The adder SUM1 outputs the sum 10 〓 n=1 K o ·GD (t-i o ) as the instantaneous value ECH (t) of the early reflected sound at the current time t. Note that the adder SUM1 calculates the above sum 10 〓 n=1 K o・GD
It has a built-in register R0 that temporarily stores (t- io ) until the next sampling time (t+1). In the early reflected sound forming section 1000 having such a configuration, the musical tone data GD(t) sampled at the current time t is written to the address corresponding to the current time t among the 2048 word storage addresses of the memory D0. Next, register R in adder SUM1
Since the total sum 10 〓 n=1 K o ·GD (t-1 - i o ) at the previous sampling time (t-1) is stored in register R0, the contents of this register R0 are reset. Next, 10 types of musical tone data GD (t
-i 1 ) to GD (t-i 10 ), in order to read musical tone data G (t-i 1 ) with delay time i 1 from memory D0,
An address in the memory D0 corresponding to the delay time i1 is specified, and musical tone data GD (t- i1 ) sampled i1 hours ago is read from the address. In this case, the address for reading out the musical tone data GD (t-i 1 ) i 1 hour ago is determined by the above-mentioned equation (1). The musical tone data GD (t-i 1 ) read out in this way and having a delay time i 1 is input to a multiplier M1, and the multiplier M1 outputs the first reflected sound having a delay time i 1 .
Multiplied by coefficient K 1 for amplitude level control corresponding to ECH 1 . Then, the multiplication value K 1・GD (t−i 1 )
is input to the adder SUM1 and added to the current value of register R0, and the added value is stored again in register R0. In this case, the contents of the register R0 are reset immediately after writing the musical tone data GD(t) at the current time t, so the contents written to the register R0 at this time are the data K1 ·GD(t-
i 1 ). In this way, musical tone data GD with delay time i 1
When the readout process and level control process for (t-i 1 ) are completed, that is, when the process regarding the first reflected sound ECH 1 is completed, the second reflected sound with delay time i 2 is
The reading process and level control process of the musical tone data GD(t-i 2 ) regarding ECH 2 are performed in the same manner as the process of forming the first reflected sound ECH 1 . As a result, the first reflected sound is stored in register R0 in adder SUM1.
The sum of the data K 1 · GD (t-i 1 ) regarding ECH 1 and the data K 2 · GD (t-i 2 ) regarding the second reflected sound ECH 2 is "K 1 · GD (t-i 1 ) + K 2・GD(t−i 2 )” is stored. Such processing is similarly performed for the third reflected sound ECH3 to the tenth reflected sound ECH10 . As a result, musical tone data K1 ·GD(t- i1 ) regarding the first reflected sound ECH1 to the tenth reflected sound ECH10 are stored in the register R0.
~ Total sum of K 10・GD (t−i 10 ) 10 〓 n=1 K o・GD (t−i o )
is memorized. And this total sum 10 〓 n=1 K o・GD(t
-i o ) is outputted via the switch circuit SW as the instantaneous value ECH(t) of the early reflected sound consisting of the first reflected sound ECH 1 to the tenth reflected sound ECH 10 . As shown in Table 1 below, the switch circuit SW selects and outputs the output of the register R0 at the initial reflected sound formation processing time Ta within one sampling period T0 , Tb
In this case, the output of the second delay circuit series is selectively output.
【表】
このスイツチ回路SWによつて選択出力される
データECH(t)は、第1図のDA変換器12に
おいてアナログ信号に変換された後サウンドシス
テム14に加えられ、入力楽音に対する初期反射
音として発音される。
従つて、第1反射音ECH1〜第10反射音ECH10
の遅延時間ioおよび振幅レベル制御用の係数Koを
それぞれ異ならせることにより、第11図に示す
ように振幅レベルおよび遅延時間がランダムに変
化する初期反射音を得ることができる。
ここで、入力楽音のサンプリング周期T0を0.04
ms(25KHz)とした場合、現在時刻tの楽音デ
ータGD(t)の書込みアドレスADR(t)より例
えば1626語離れたアドレスに記憶されている楽音
データGD(t−1626)を読出した場合、その遅
延時間iは
i=1626×0.04≒65ms
となり、入力楽音より約65ms遅れた初期反射音
ECHoを発生させることができる。
一方、入力楽音を所定周期T0でサンプリング
した楽音データGD(t)は、初期反射音発生後
の残響音を形成する第2の遅延回路系列にも供給
される。
この第2の遅延回路系列は、楽音データGD
(t)をj時間遅らせてバンドパスフイルタBPF
に供給する遅延用のメモリD10と、このメモリ
D10から供給される遅延時間jの楽音データ
GD(t−j)の所定周波数帯域成分のみを通過
させるローパスフイルタLPFおよびハイパスフ
イルタHPFとから成るデイジタル型のバンドパ
スフイルタBPFと、該バンドパスフイルタBPF
を通過した楽音データGD(t−j)に基づき遅
延時間間隔の粗い残響音データRVD1を形成する
櫛型フイルタ構成の第1残響音形成部2000
と、前記残響音データRVD1に基づき遅延時間間
隔が密な残響音データRVD2を形成するオールパ
スフイルタ構成の第2残響音形成部3000とか
ら構成されている。
このような構成において、現在時刻tの楽音デ
ータGD(t)は、メモリD10における2048語
の記憶アドレスのうち現在時刻tに対応したアド
レスADR(t)に書込まれる。次に、メモリD1
0に記憶した楽音データGD(t)のうち、j時
間前のデータGD(t−j)を読出すため、遅延
時間jに対応するメモリD10のアドレスが指定
され、該アドレスからj時間前にサンプリングし
た楽音データGD(t−j)が読出される。この
場合、j時間前の楽音データGD(t−j)を読
出すためのアドレスは、初期反射音の形成の場合
と同様に、前述した第(1)式によつて求められる。
そして、ここでの遅延時間jは第10反射音ECH10
に関する遅延時間i10よりやや大きく(j>i10)
設定されている。
このようにしてメモリD10から読出された遅
延時間jの楽音データGD(t−j)はローパス
フイルタLPFの乗算器M11に入力され、ここ
において所定の係数K11と乗算される。そして、
その乗算値K11・GD(t−j)はレジスタR1に
一時記憶される。次に、1語の記憶アドレスを有
するメモリSD0から1サンプリング時間(1・
T0)前に書込まれた楽音データGD(t−j−1)
が読出され、このデータGD(t−j−1)に所
定の係数K12が乗算器M12において乗算され
る。次に、乗算器M12の乗算値出力K12・GD
(t−j−1)とレジスタR1に一時記憶されて
いるj時間前の楽音データK11・GD(t−j)と
が加算され、その加算値「K12・GD(t−j−
1)+K11・GD(t−j)」は再レジスタR1に一
時記憶されると共に、レジスタR2にも一時記憶
される。次に、現在時刻tより1サンプリング時
間(1・T0)前に書込まれた楽音データGD(t
−j−1)がメモリSD0から再び読出され、こ
のデータGD(t−j−1)に所定の係数K13が乗
算器M13において乗算される。そして、この乗
算値K13・GD(t−j−1)はレジスタR2にに
一時記されている値「K12・GD(t−j−1)+
K11・GD(t−j)」と加算され、その加算値
K12・GD(t−j−1)+K11・GD(t−j)
+K13・GD(t−j−1)
はレジスタR2に再び一時記憶される。次に、レ
ジスタR1に一時記憶されている値「K12・GD
(t−j−1)+K11・GD(t−j)」を次のサン
プリング周期(t+1)で使用するため、この値
「K12・GD(t−j−1)+K11・GD(t−j)」が
メモリSD0に書込まれる。
このような動作が各サンプリング周期T0毎に
行なわれることにより、ローパスフイルタLPF
のレジスタR2からは所定帯域の高周波成分を除
去したj時間前の楽音データGD(t−j)が出
力され、この楽音データGD(t−j)はハイパ
スフイルタHPFに送られる。
すると、ハイパスフイルタHPFでは、ローパ
スフイルタLPFの場合と同様にしてj時間前の
楽音データGD(t−j)から所定帯域の低周波
成分の除去が行なわれる。
すなわち、ローパスフイルタLPFのレジスタ
R2の出力データGD(t−j)は乗算器M14
に入力され、この乗算器M14において所定の係
数K14と乗算される。そして、その乗算値K14・
GD(t−j)はレジスタR3に一時記憶される。
次に、1語の記憶アドレスを有するメモリSD1
からサンプリング時間(1・T0)前に書込まれ
た楽音データGD(t−j−1)が読出され、こ
のデータGD(t−j−1)に所定の係数K15が乗
算器M15において乗算される。次に、乗算器M
15から得られた乗算値K15・GD(t−j−1)
はレジスタR3に一時記憶されているj時間前の
楽音データK14・GD(t−j)と加算され、その
加算値「K14・GD(t−j)+K15・GD(t−j−
1)」はレジスタR3に一時記憶されると共に、
レジスタR4にも一時記憶される。次に、現在時
刻tより1サンプリング時間(1・T0)前に書
込まれたデータGD(t−j−1)がメモリSD1
から再び読出され、この読出しデータGD(t−
j−1)に所定の係数K16が乗算器M16におい
て乗算される。そして、この乗算値K16・GD(t
−j−1)はレジスタR4に一時記憶されている
値「K14・GD(t−j)+K15・GD(t−j−1)」
と加算され、その加算値
K16・GD(t−j−1)+K14・GD(t−j)
+K15・GD(t−j−1)
はレジスタR4に一時記憶される。次に、レジス
タR3に一時記憶されている値「K14・GD(t−
j)+K15・GD(t−j−1)」を次のサンプリン
グ周期(t+1)で使用するため、この値
「K14・GD(t−j)+K15・GD(t−j−1)」が
メモリSD1に書込まれる。
このような動作がサンプリング周期T0毎に行
なわれることにより、ハイパスフイルタHPFの
レジスタR4からは所定帯域の低周波成分を除去
したj時間前の楽音データGD(t−j)が出力
される。
なお、ローパスフイルタLPFのレジスタR1
は、該レジスタの内容をメモリSD0に書込んだ
後は次のサンプリング周期まで使用しないので、
ハイパスフイルタHPFのレジスタR3と共用す
ることができる。
このようにして、バンドパスフイルタBPFに
おいて所定帯域の低周波成分および高周波成分の
除去されたj時間前の楽音データGD(t−j)
は第1残響音形成部2000に入力される。
第1残響音形成部2000は、遅延時間の異な
る櫛型フイルタ構成の遅延回路2000A,20
00B,2000Cが並列に設けられている。3
個の遅延回路2000A,2000B,2000
Cを並列に設けているのは、櫛型フイルタ構成の
遅延回路の周波数特性が単独の場合には第12図
の記号A,B,Cで示す如く波状となつてしまう
のでこれを平坦化するためである。すなわち、遅
延時間の異なる3個の遅延回路2000A,20
00B,2000Cを並列に設けることにより、
全体としての周波数特性を第12図の記号Dで示
すように平坦化することができる。この場合、平
坦化の度合いは遅延回路の並列接続数を増加する
ほど良くなる。
この実施例では、遅延回路2000Aの遅延時
間が最も長く、次に遅延回路2000Bの遅延時
間が長く、遅延回路2000Cの遅延時間が最も
短く設定されている。そして、各遅延回路200
0A,2000B,2000Cは遅延時間の設定
が異なるのみで、その構成は全て同一である。従
つて、図においては、回路2000Bおよび20
00Cについては乗算器、レジスタ、メモリの番
号を示すのみで、遅延回路2000Aのみを詳細
に図示している。
このような構成の第1残響音形成部2000に
おいて、バンドパスフイルタBPFを通過したj
時間前の楽音データGD(t−j)には、まず乗
算器M17において振幅レベル制御用の係数K17
が乗算される。そして、その乗算値K17・GD(t
−j)は乗算器M17内のレジスタR5に一時記
憶される。次に、2048語の記憶アドレスを有する
メモリD1にx1時間前に書込まれた楽音データ
GD(t−x1)を読出すため、遅延時間x1に対応
するメモリD1のアドレスが指定される。これに
よつて、メモリD1からx1時間前の楽音データ
GD(t−x1)が読出される。そして、この楽音
データGD(t−x1)は加算器SUM2に供給され、
この加算器SUM2において他のメモリD2,D
3の出力データおよび遅延回路2000B,20
00CのメモリD4〜D6,D7〜D9の出力デ
ータと加算され、該加算器SUM2内のレジスタ
R11に一時記憶される。この場合、メモリD1
〜D9の読出し動作はメモリD1からD9まで順
に時分割で行なわれるようになつており、メモリ
D1の読出し動作時には他のメモリD2〜D9か
らはデータが出力されていない。このため、加算
器SUM2内のレジスタR11への書込み内容は、
メモリD1から読出されたデータGD(t−x1)
となる。
一方、メモリD1から読出された楽音データ
GD(t−x1)は乗算器M18において振幅レベ
ル制御用の係数K18が乗算された後メモリD1の
入力側に帰還される。そして、この乗算値K18・
GD(t−x1)は現在時刻tにおいてレジスタR
5に一時記憶させたデータK17・GD(t−j)と
加算され、その加算値
K17・GD(t−j)+K18・GD(t−x1)
はレジスタR6に一時記憶される。次に、レジス
タR6に記憶された楽音データ「K17・GD(t−
j)+K18・GD(t−x1)」は、x1時間前の楽音デ
ータGD(t−x1)が記憶されていたアドレスと
同一アドレスに書込まれる。この後、レジスタR
6の内容はリセツトされる。レジスタR6の内容
をリセツトするのは、このレジスタR6を次の段
階でメモリD2の系統の処理に兼用してるためで
ある。
このようにしてメモリD1の系統の処理が終了
すると、次にメモリD2の系統の処理が同様にし
て行なわれる。
すなわち、2048語のアドレスを有するメモリD
2にx2時間前に書込まれた楽音データGD(t−
x2)を読出すため、遅延時間x2に対応するメモリ
D2のアドレスが指定される。これによつて、メ
モリD2からx2時間前にサンプリングした楽音デ
ータGD(t−x2)が読出される。そして、この
楽音データGD(t−x2)は加算器SUM2におい
てレジスタR11の内容(メモリD1から読出さ
れた内容)GD(t−x1)と加算され、その加算
値「GD(t−x1)+GD(t−x2)」はレジスタR
11に一時記憶される。
一方、メモリD2から読出された楽音データ
GD(t−x2)は乗算器M19において振幅レベ
ル制御用の係数K18が乗算された後、メモリD2
の入力側に帰還される。そして、その乗算値
K19・GD(t−x2)はレジスタR5に一時記憶さ
れている値K17・GD(t−j)と加算され、その
加算値「K17・GD(t−j)+K19・GD(t−x2)」
はレジスタR6に一時記憶される。このレジスタ
R6に記憶されたデータ「K17・GD(t−j)+
K19・GD(t−x2)」は、x2時間前のデータGD
(t−x2)が記憶されていたアドレスと同一アド
レスに記憶される。この後、レジスタR6の内容
はリセツトされる。
次に、メモリD3の系統の処理がメモリD2の
系統の処理と同様にして行なわれる。
従つて、メモリD1〜D3の系統の処理を終了
した段階では、メモリD3の系統の遅延時間をx3
とすると、レジスタR11に記憶される内容は、
GD(t−x1)+GD(t−x2)+GD(t−x3)
となり、またメモリD3に記憶される内容は
K17・GD(t−j)+K20・GD(t−x3)
となる。
このような処理は遅延回路2000B,200
0Cにおいても同様に行なわれる。
従つて、遅延回路2000BにおけるメモリD
4,D5,D6の各系統の遅延時間をそれぞれ
x4、x5、x6とし、また遅延回路2000Cにおけ
るメモリD7,D8,D9の各系統の遅延時間を
それぞれx7、x8、x9とすると、遅延時間2000
A〜2000Cの全ての処理を終了した段階にお
けるレジスタR11の内容は、
RVD1=9
〓
〓n=1
GD(t−xo)=GD(t−x1)+GD(t−x2)+GD(
t−x3)
+GD(t−x4)+GD(t−x5)+GD(t−x6)+GD
(t−x7)+GD(t−x8)+GD(t−x9)
となる。この結果、初期反射音に続き、第13図
に示すように遅延時間間隔が粗く、そして振幅レ
ベルおよび遅延時間が規則的に変化する残響音が
得られる。なお、第13図においては、時間関係
が複雑になるため、遅延回路2000Aについて
のみの残響音を図示している。
以上のようにして形成された遅延時間間隔の粗
い残響音データRVD1は、第2残響音形成部30
00に入力される。
第2残響音形成部3000は、周波数特性が平
坦なオールパス型フイルタ構成の遅延回路300
0A,3000B,3000Cが直列に設けられ
ている。
3個の遅延回路3000A,3000B,30
00Cを直列に設けているのは、第1残響音形成
部2000において得られた残響音データRVD1
より密な遅延時間間隔の残響音データRVD2を形
成するためである。従つて、この第2残響音形成
部3000における各遅延回路3000A,30
00B,3000Cの遅延時間は、第1残響音形
成部2000における各遅延回路2000A,2
000B,2000Cの遅延時間よりも短く設定
される。そして、各遅延回路3000A,300
0B,3000Cは遅延時間の設定が異なるのみ
でその構成は全て同じである。従つて、図におい
ては、遅延回路3000B,3000Cについて
は乗算器、レジスタ、メモリの番号を示すのみ
で、遅延回路3000Aについてのみ群細構成を
示している。
まず、第1残響音形成部2000から出力され
る残響音データRVD1は遅延回路3000Aのレ
ジスタR12に供給されるが、このデータRVD1
をレジスタR12に記憶させる前に、まず512語
の記憶アドレスを有するメモリMD0にy1時間前
に書込まれたデータRVD1(t−y1)を読出すた
め、遅延時間y1時間に対応するメモリMD0のア
ドレスが指定される。これによつて、メモリMD
0からy1時間前に書込まれたデータRVD1(t−
y1)が読出される。次に、このデータRVD1(t
−y1)には乗算器M30において、振幅レベル制
御用の係数K30が乗算され、その乗算値K30・
RVD1(t−y1)はメモリMD0の入力側に帰還さ
れる。そして、次にこの帰還データK30・RVD1
(t−y1)と第1残響音形成部2000から現在
時刻tに供給されるデータRVD1(t)と加算さ
れ、その加算値「RVD1(t)+K30・RVD1(t−
y1)」はレジスタR12に一時記憶される。次に、
遅延時間y1に対応するメモリMD0のアドレスが
再び指定され、メモリMD0からy1時間前に書込
まれたデータRVD1(t−y1)が再び読出され、
その読出しデータRVD1(t−y1)がレジスタR
13に一時記憶される。次に、レジスタR12に
一時記憶されたデータ「RVD1(t)+K30・
RVD1(t−y1)」と振幅レベル制御用の定数K29
とが乗算器M29において乗算される。そして、
その乗算値
K29・{RVD1(t)+K30・RVD1(t−y1)}
はレジスタR13に一時記憶されている値RVD1
(t−y1)と加算され、その加算値
RVD1(t−y1)+K29・{RVD1(t)
+K30・RVD1(t−y1)}
はレジスタR13に一時記憶される。次に、レジ
スタR12に一時記憶されているデータ「RVD
(t)+K30・RVD1(t−y1)」を現在時刻tより
y1時間遅れたサンプリング時刻(t+y1)におい
て使用するため、該データ「RVD1(t)+K30・
RVD1(t−y1)」はy1時間前のデータRVD1(t−
y1)が記憶されていたアドレスと同一アドレスに
書込まれる。
このようにして遅延回路3000Aによる処理
が終了すると、レジスタR13に記憶されたデー
タ
RVD1(t−y1)+K29・{RVD1(t)
+K30・RVD1(t−y1)}
は遅延回路3000Bに送られ、この遅延回路3
000Bにおいて回路3000Aの場合と同様の
処理が行なわれる。
ここで、遅延回路3000A,3000B,3
000Cの出力データをRVD2A、RVD2B、
RVD2Cで表わし、回路3000Bの遅延時間を
y2、回路3000Cの遅延時間をy3とすると、回
路3000A,3000B,3000Cのレジス
タR13,R15,R17の出力データは次の第
(4)式〜第(6)式によつて表わされる。
RVD2A=RVD1(t−y1)+K29・{RVD1(t)+K30
・RVD1(t−y1)}
RVD2A=RVD1(t−y1)+K29・{RVD1(t)+K30
・RVD1(t−y1)}
RVD2B=RVD2A(t−y2)+K31・{RVD2A(t)+K32・R
VD2A(t−y2)}
RVD2A=RVD1(t−y1)+K29・{RVD1(t)+K30
・RVD1(t−y1)}
RVD2B=RVD2A(t−y2)+K31・{RVD2A(t)+K32・R
VD2A(t−y2)}
RVD2C=RVD2B(t−y3)+K33・{RVD2B(t)+K34・R
VD2B(t−y3)}……(4)
……(5)
……(6)
そして、遅延回路3000Cの出力データ
RVD2Cは初期反射音に続く残響音を発生させる
ためのデータとしてスイツチ回路SWを経由して
出力される。
ここで、各遅延回路3000A,3000B,
3000Cの遅延時間を、
y1>y2>y3
の関係に設定した場合、第14図に示すように遅
延時間間隔の密な残響音を形成することができ
る。すなわち、遅延回路3000Aは第1残響音
形成部2000で形成された遅延時間間隔の粗い
残響音データRVD1に基づき、第1残響音形成部
2000の遅延時間間隔よりも短い時間間隔y1で
第1の残響音データRVD2Aを形成し、遅延回路
3000Bは回路3000Aの遅延時間間隔y1よ
りもさらに短い時間間隔y2で第2の残響音データ
RVD2Bを形成する。このため、遅延回路300
0A〜3000Cにおける残響音の形成処理が進
行するに伴つて遅延時間間隔の密な残響音が形成
されるようになる。
なお、遅延回路3000A,3000B,30
00CにおけるレジスタR12,R14,R16
は、自己の回路に関する処理が終了した後は次の
サンプリング周期まで使用しないので、時分割的
に共用することができる。
次に、第6図に示す実施例の具体的構成および
動作について説明する。なお、以下の説明では、
第6図に示す装置が上述した第8図の機能にした
がつて残響音の形成を行なうものとして述べる。
実施例の具体的構成
第6図に示す実施例の残響音付加装置は、大別
すると、記憶部19、時間情報発生部20、アド
レス情報発生部30、演算部40とから構成され
ている。
記憶部19は、第9図における遅延用のデイジ
タルメモリDMに相当するもので、ここでは複数
のメモリブロツクを有するデータメモリ190と
ラツチ191とから構成されている。データメモ
リ190においては、複数のメモリブロツクを利
用して、第15図に示すように、1語(16ビツ
ト)のメモリSD0〜SD15と、512語(1語は
16ビツト)のメモリMD0〜MD15と、2048語
(1語は16ビツト)のメモリD0〜D15が設け
られている。そして、このメモリSD0〜SD1
5,MD0〜MD15,D0〜D15に記憶すべ
きデータは演算部40から与えられ、データの記
憶アドレスおよび読出しアドレスはアドレス情報
発生部30から出力されるアドレス情報DM・
ADRによつて指定され、また各メモリSD0〜D
15から読出されたデータはラツチ191を介し
て演算部40に供給される構成になつている。
時間情報発生部20は第9図におけるデイレイ
レングスデータメモリDDMに相当するものであ
り、パラメータ指定回路200とデイレイレング
スデータメモリ201とを備え、ここではデイレ
イレングスデータメモリ201はパラメータ指定
回路200からの指示により、残響特性の異なる
8種類の残響音(初期反射音も含む)それぞれに
対応して各データ遅延用のメモリD0〜D15,
MD0〜MD15に関する遅延時間情報DLDm
〔n〕(n:D0〜D15、MD0〜MD15のメモリを
指示、m:1〜8の種類を指示)のうちいずれか
1つの種類を選択的に出力するように構成されて
いる。すなわち、デイレイレングスデータメモリ
201は、第16図に示すように、データ遅延用
のメモリD0〜D15,MD0〜MD15それぞ
れに対応したメモリブロツクMB(D0)〜MB
(D15)、MB(MD0)〜MB(MD15)を備
え、この各メモリブロツクMB(D0)〜MB
(MD15)はそれぞれ上述した8種類の残響音
に対応して8つの記憶アドレス「0」〜「7」を
有し、各メモリブロツクMB(D0)〜MB(MD
15)の各記憶アドレス「0」〜「7」にはそれ
ぞれ異なる遅延時間情報DLD1〔D0〕〜DLD8
〔D0〕、DLD1〔D1〕〜DLD8〔D1〕、……
DLD1〔D15〕〜DLD8〔D15〕、DLD1〔MD0〕
〜DLD8〔MD0〕、……DLD1〔MD15〕〜DLD8
〔MD15〕が予め記憶されている。そして、発
生すべき残響音の残響特性を指示する3ビツト構
成のパラメータ指定情報PSLが下位アドレス情報
としてパラメータ指定回路200から供給され、
さらにメモリMD0〜MD15,D0〜D15の
メモリ番号「0〜15」を指定する4ビツト構成の
メモリ番号情報DLo(n:0〜15)およびメモリ
の種別「D、MD、SD」を指定する2ビツト構
成のメモリ種別情報DLk(k:D、MD、SD)が
上位アドレス情報としてアドレス情報発生部30
から供給されると、情報DLoおよびDLkで指定さ
れるメモリブロツク(MB(D0)〜MB(MD1
5)のうち1つ)のうち、情報PSLで指定される
記憶アドレス(「0」〜「7」のうち1つ)に記
憶されている遅延時間情報DLDm〔n〕が読出さ
れ、パラメータ指定回路200で指定した所望の
残響特性の残響音の遅延時間関係を規定する情報
としてアドレス情報発生部30へ供給される。な
お、メモリSD0〜SD15については、遅延時間
が固定(1・T0)であるため、このメモリSD0
〜SD15に対する遅延時間情報は必要としない。
また、パラメータ指定回路200からは、パラメ
ータ指定情報PSLとともに、8種類の残響音を形
成するための制御プログラムのうち所望の制御プ
ログラムの1つを選択する3ビツト構成のプログ
ラム選択情報PSGが出力される。
次に、アドレス情報発生部30は、時間情報発
生部20から出力される遅延時間情報DLDm〔n〕
およびプログム選択情報PGSと、制御プログラ
ムの1ステツプの周期を定めるマスタクロツクパ
ルスφ0とに基づき、所望の残響特性の残響音を
形成するためのデータメモリ190に対するアド
レス情報DM・ADRを発生すると共に、各部回
路の動作を制御する各種の制御信号を発生するも
のであり、プログラムメモリ300、プログラム
カウンタ301、プログラムデコードメモリ30
2、制御信号出力レジスタ303、セレクタ30
4、アドレスカウンタ305、ラツチ306、減
算回路307、最大値検出回路308、アドレス
情報出力回路309とを備えている。
プログラムメモリ300には、8種類の残響特
性の残響音を形成するために8種類の制御プログ
ラムが予め記憶されており、どの種類の制御プロ
グラムを出力すべきかはパラメータ指定回路20
0からのプログラム選択情報PGSによつて指定
される。そして、指定された制御プログラムの内
容はマスタクロツクパルスφ0をカウントするプ
ログラムカウンタ301の出力情報PCによつて
1ステツプ毎に順次読出される。
この場合、第7図で説明した初期反射音形成部
1、バンドパスフイルタBPF、第1残響音形成
部2000、第2残響音形成部3000の全ての
処理を1サンプリング周期(T0)内で終了させ
るために、サンプリング周波数を25KHz、マスタ
クロツクパルスφ0の周波数を4.8MHzとすると、
1つの制御プログムのステツプ数は4800/25=192以
内で構成され、この192ステツプの制御プログラ
ム内容が各サンプリング周期T0毎に実行される。
そして、各ステツプにおける制御プログラムとし
ては、第2表に示すように、1ステツプが16ビツ
トの情報から成るタイプ1、タイプ2、タイプ3
の3種類の内容が準備されており、初期反射音の
形成、フイルタ処理、残響音の形成はこれら3種
類の制御プログラムの出力順序および各ビツト情
報の内容を適宜組合せることによつて行なわれ
る。[Table] The data ECH(t) selectively output by this switch circuit SW is converted into an analog signal by the DA converter 12 in FIG. pronounced as Therefore, the first reflected sound ECH 1 to the 10th reflected sound ECH 10
By varying the delay time i o and the coefficient K o for amplitude level control, it is possible to obtain an early reflected sound whose amplitude level and delay time vary randomly, as shown in FIG. Here, the sampling period T 0 of the input musical tone is 0.04
ms (25KHz), if musical tone data GD (t-1626) stored at an address 1626 words away from the write address ADR (t) of musical tone data GD (t) at current time t is read, The delay time i is i=1626×0.04≒65ms, and the early reflection sound is delayed by about 65ms from the input musical tone.
Can generate ECH o . On the other hand, the musical tone data GD(t) obtained by sampling the input musical tone at a predetermined period T 0 is also supplied to the second delay circuit series that forms the reverberant sound after the initial reflected sound is generated. This second delay circuit series is connected to the musical tone data GD.
(t) is delayed by j hours to create a bandpass filter BPF.
a delay memory D10 supplied to
A digital band-pass filter BPF consisting of a low-pass filter LPF and a high-pass filter HPF that pass only a predetermined frequency band component of GD (t-j); and the band-pass filter BPF.
A first reverberation sound forming section 2000 having a comb-type filter configuration forms reverberation sound data RVD 1 with a coarse delay time interval based on the musical sound data GD (t-j) that has passed through the
and a second reverberant sound forming section 3000 having an all-pass filter configuration that forms reverberant sound data RVD 2 with dense delay time intervals based on the reverberant sound data RVD 1 . In such a configuration, the musical tone data GD(t) at the current time t is written to the address ADR(t) corresponding to the current time t among the 2048 word storage addresses in the memory D10. Next, memory D1
In order to read the data GD (t-j) of j hours ago from among the musical tone data GD (t) stored in 0, the address of the memory D10 corresponding to the delay time j is specified, and the data j hours ago from the address is specified. Sampled musical tone data GD (t-j) is read out. In this case, the address for reading out the musical tone data GD (t-j) of j hours ago is determined by the above-mentioned equation (1), as in the case of forming the early reflected sound.
And the delay time j here is the 10th reflected sound ECH 10
The delay time for i is slightly larger than 10 (j>i 10 )
It is set. The musical tone data GD(t-j) with a delay time j thus read out from the memory D10 is input to the multiplier M11 of the low-pass filter LPF, where it is multiplied by a predetermined coefficient K11 . and,
The multiplied value K11 ·GD(tj) is temporarily stored in register R1. Next, from memory SD0 having a storage address of one word, one sampling time (1.
T 0 ) Previously written musical tone data GD (t-j-1)
is read out, and this data GD(t-j-1) is multiplied by a predetermined coefficient K12 in a multiplier M12. Next, the multiplication value output of multiplier M12 K 12・GD
(t-j-1) and musical tone data K11・GD(t-j) from j hours ago temporarily stored in register R1, and the added value “ K12・GD(t-j-
1) +K 11 ·GD(t-j)'' is temporarily stored in register R1 and also temporarily stored in register R2. Next, musical tone data GD ( t
-j-1) is read out again from memory SD0, and this data GD(t-j-1) is multiplied by a predetermined coefficient K13 in multiplier M13. Then, this multiplication value K 13 · GD (t-j-1) is the value "K 12 · GD (t-j-1) +
K 11・GD(t−j)” and the added value K 12・GD(t−j−1) +K 11・GD(t−j) +K 13・GD(t−j−1) is stored in the register. It is temporarily stored again in R2. Next, the value “K 12・GD” temporarily stored in register R1 is
(t-j-1)+K 11・GD(t-j)" is used in the next sampling period (t+1), so this value "K 12・GD(t-j-1)+K 11・GD(t -j)” is written to the memory SD0. By performing such an operation every sampling period T0 , the low pass filter LPF
The register R2 outputs musical tone data GD (t-j) of j hours ago from which high frequency components in a predetermined band have been removed, and this musical tone data GD (t-j) is sent to a high-pass filter HPF. Then, the high-pass filter HPF removes low frequency components in a predetermined band from the musical tone data GD (t-j) of j hours ago in the same way as the low-pass filter LPF. That is, the output data GD (t-j) of the register R2 of the low-pass filter LPF is input to the multiplier M14.
is inputted into the multiplier M14 and multiplied by a predetermined coefficient K14 . Then, the multiplication value K 14・
GD(t-j) is temporarily stored in register R3.
Next, memory SD1 has a storage address of one word.
The musical tone data GD (t-j-1) written before the sampling time (1·T 0 ) is read out from , and a predetermined coefficient K 15 is added to this data GD (t-j-1) in the multiplier M15. Multiplyed. Next, the multiplier M
Multiply value K 15・GD (t-j-1) obtained from 15
is added to the musical tone data K 14 · GD (t-j) from j hours ago, which is temporarily stored in register R3, and the added value is "K 14 · GD (t-j) + K 15 · GD (t-j-
1)” is temporarily stored in register R3, and
It is also temporarily stored in register R4. Next, the data GD (t-j-1) written one sampling time (1・T 0 ) before the current time t is stored in the memory SD1.
This read data GD(t-
j-1) by a predetermined coefficient K16 in a multiplier M16. Then, this multiplication value K 16・GD(t
-j-1) is the value temporarily stored in register R4 "K 14・GD (t-j) + K 15・GD (t-j-1)"
The added value K16.GD (t-j-1)+ K14.GD (t-j)+ K15.GD (t-j-1) is temporarily stored in register R4. Next, the value “ K14・GD(t−
j)+K 15・GD(t-j-1)" is used in the next sampling period (t+1), so this value "K 14・GD(t-j)+K 15・GD(t-j-1) " is written to memory SD1. By performing such an operation every sampling period T0 , the register R4 of the high-pass filter HPF outputs musical tone data GD (t-j) of j hours ago from which low frequency components in a predetermined band have been removed. Note that register R1 of the low-pass filter LPF
After writing the contents of the register to memory SD0, it is not used until the next sampling period, so
It can be shared with register R3 of high pass filter HPF. In this way, the bandpass filter BPF removes the low frequency components and high frequency components of a predetermined band from musical tone data GD(t-j) j hours ago.
is input to the first reverberant sound forming section 2000. The first reverberation sound forming section 2000 includes delay circuits 2000A and 20 having comb-type filter configurations having different delay times.
00B and 2000C are provided in parallel. 3
delay circuits 2000A, 2000B, 2000
The reason why C is provided in parallel is to flatten the frequency characteristics of a delay circuit with a comb-type filter configuration, which would be wavy as shown by symbols A, B, and C in Figure 12 if it were used alone. It's for a reason. In other words, three delay circuits 2000A and 2000 with different delay times
By providing 00B and 2000C in parallel,
The overall frequency characteristic can be flattened as shown by symbol D in FIG. In this case, the degree of flattening improves as the number of parallel connection of delay circuits increases. In this embodiment, the delay time of delay circuit 2000A is set to be the longest, followed by the longest delay time of delay circuit 2000B, and the delay time of delay circuit 2000C is set to be the shortest. And each delay circuit 200
0A, 2000B, and 2000C have the same configuration except for the delay time settings. Therefore, in the figure, circuits 2000B and 20
Regarding 00C, only the numbers of multipliers, registers, and memories are shown, and only the delay circuit 2000A is shown in detail. In the first reverberation sound forming section 2000 having such a configuration, the j that has passed through the bandpass filter BPF is
The previous musical tone data GD (t-j) is first given a coefficient K 17 for amplitude level control in the multiplier M17.
is multiplied. Then, the multiplication value K 17・GD(t
-j) is temporarily stored in register R5 in multiplier M17. Next, musical tone data written x 1 hour ago in memory D1 having a memory address of 2048 words
In order to read GD(t-x 1 ), the address of the memory D1 corresponding to the delay time x 1 is specified. As a result, musical tone data from memory D1 x 1 hour ago
GD(t-x 1 ) is read. Then, this musical tone data GD (t-x 1 ) is supplied to the adder SUM2,
In this adder SUM2, other memories D2 and D
3 output data and delay circuit 2000B, 20
It is added to the output data of the memories D4 to D6 and D7 to D9 of 00C, and is temporarily stored in the register R11 in the adder SUM2. In this case, memory D1
The read operation of the memories D1 to D9 is performed sequentially in time division from the memories D1 to D9, and when the read operation of the memory D1 is performed, no data is output from the other memories D2 to D9. Therefore, the contents written to register R11 in adder SUM2 are as follows:
Data GD read from memory D1 (t-x 1 )
becomes. On the other hand, musical tone data read from memory D1
GD(t-x 1 ) is multiplied by a coefficient K 18 for amplitude level control in a multiplier M18, and then fed back to the input side of the memory D1. And this multiplication value K 18・
GD(t-x 1 ) is the register R at the current time t.
It is added to the data K 17 · GD (t-j) temporarily stored in register R6, and the added value K 17 · GD (t-j) + K 18 · GD (t-x 1 ) is temporarily stored in register R6. . Next, the musical tone data “K 17・GD(t-
j)+K 18 ·GD(t-x 1 )" is written to the same address where the musical tone data GD(t-x 1 ) x 1 hours ago was stored. After this, register R
The contents of 6 are reset. The reason why the contents of register R6 are reset is because this register R6 will be used also for processing of the memory D2 system in the next stage. When the processing of the memory D1 system is completed in this way, the processing of the memory D2 system is then performed in the same manner. That is, memory D with 2048 word addresses
Musical tone data GD ( t-
x 2 ), the address of the memory D2 corresponding to the delay time x 2 is specified. As a result, musical tone data GD (t-x 2 ) sampled x 2 hours ago is read from the memory D2. Then, this musical tone data GD(t-x 2 ) is added to the contents of the register R11 (the contents read from the memory D1) GD(t-x 1 ) in the adder SUM2, and the added value ``GD(t-x 1 )+GD(t- x2 )" is register R
11 is temporarily stored. On the other hand, musical tone data read from memory D2
GD (t-x 2 ) is multiplied by a coefficient K 18 for amplitude level control in the multiplier M19, and then stored in the memory D2.
is fed back to the input side. And its multiplication value
K 19・GD (t−x 2 ) is added to the value K 17・GD (t−j) temporarily stored in register R5, and the added value “K 17・GD (t−j) + K 19・GD (t-x 2 )"
is temporarily stored in register R6. The data stored in this register R6 is “K 17・GD(t−j)+
K 19・GD(t−x 2 )” is the data GD x 2 hours ago
(t-x 2 ) is stored at the same address where it was stored. After this, the contents of register R6 are reset. Next, the processing of the memory D3 system is performed in the same manner as the processing of the memory D2 system. Therefore, at the stage when processing of the memory systems D1 to D3 is completed, the delay time of the memory system D3 is x 3
Then, the contents stored in register R11 are GD (t-x 1 ) + GD (t-x 2 ) + GD (t-x 3 ), and the contents stored in memory D3 are K 17 · GD (t −j)+K 20・GD(t−x 3 ). Such processing is performed by the delay circuits 2000B and 200
The same operation is performed at 0C. Therefore, memory D in delay circuit 2000B
The delay time of each system of 4, D5, and D6 is
Assuming that x 4 , x 5 , x 6 and the delay times of each system of memories D7, D8, and D9 in delay circuit 2000C are x 7 , x 8 , and x 9 respectively, the delay time is 2000.
The contents of register R11 at the stage when all processing of A to 2000C are completed are RVD 1 = 9 〓 〓 n=1 GD (t-x o ) = GD (t-x 1 ) + GD (t-x 2 ) + GD (
t-x 3 ) + GD (t-x 4 ) + GD (t-x 5 ) + GD (t-x 6 ) + GD
(t- x7 )+GD(t- x8 )+GD(t- x9 ). As a result, following the initial reflected sound, reverberant sound with coarse delay time intervals and regularly changing amplitude level and delay time is obtained, as shown in FIG. Note that in FIG. 13, the reverberant sound only for the delay circuit 2000A is illustrated because the time relationship is complicated. The reverberant sound data RVD 1 with a coarse delay time interval formed as described above is transmitted to the second reverberant sound forming unit 30.
00 is input. The second reverberation sound forming section 3000 includes a delay circuit 300 having an all-pass filter configuration with flat frequency characteristics.
0A, 3000B, and 3000C are provided in series. 3 delay circuits 3000A, 3000B, 30
00C is provided in series with the reverberant sound data RVD 1 obtained in the first reverberant sound forming section 2000.
This is to form reverberant sound data RVD 2 with closer delay time intervals. Therefore, each delay circuit 3000A, 30 in this second reverberation sound forming section 3000
The delay times of 00B and 3000C are the delay times of each delay circuit 2000A and 2 in the first reverberation sound forming section 2000.
The delay time is set shorter than the delay time of 000B and 2000C. And each delay circuit 3000A, 300
0B and 3000C have the same configuration except for the delay time setting. Therefore, in the figure, only the numbers of multipliers, registers, and memories are shown for delay circuits 3000B and 3000C, and the detailed configuration of only delay circuit 3000A is shown. First, the reverberant sound data RVD 1 output from the first reverberant sound forming section 2000 is supplied to the register R12 of the delay circuit 3000A.
Before storing in register R12, data RVD 1 (t-y 1 ) written y 1 hour ago is first read out from memory MD0 having a storage address of 512 words, which corresponds to a delay time y 1 hour. The address of memory MD0 to be stored is specified. This allows memory MD
0 to y Data written 1 hour ago RVD 1 (t-
y 1 ) is read. Next, this data RVD 1 (t
-y 1 ) is multiplied by a coefficient K 30 for amplitude level control in the multiplier M30, and the multiplier value K 30
RVD 1 (ty 1 ) is fed back to the input side of memory MD0. And then this return data K 30・RVD 1
(t-y 1 ) and the data RVD 1 (t) supplied from the first reverberation sound forming section 2000 at the current time t, and the added value "RVD 1 (t) + K 30 · RVD 1 (t-
y 1 )” is temporarily stored in register R12. next,
The address of the memory MD0 corresponding to the delay time y1 is specified again, and the data RVD1 (t- y1 ) written y1 hours ago is read out from the memory MD0 again.
The read data RVD 1 (t-y 1 ) is stored in register R.
13 is temporarily stored. Next, the data temporarily stored in register R12 “RVD 1 (t)+K 30・
RVD 1 (t−y 1 )” and constant K 29 for amplitude level control
are multiplied by the multiplier M29. and,
The multiplied value K 29 {RVD 1 (t) + K 30 · RVD 1 (t-y 1 )} is the value RVD 1 temporarily stored in register R13.
(t-y 1 ), and the added value RVD 1 (t-y 1 ) + K 29 · {RVD 1 (t) + K 30 · RVD 1 (t-y 1 )} is temporarily stored in register R13. . Next, the data “RVD” temporarily stored in register R12 is
(t)+K 30・RVD 1 (t-y 1 )'' from the current time t.
Since it is used at the sampling time (t+y 1 ) delayed by y 1 hour, the data "RVD 1 (t)+K 30・
RVD 1 (t- y 1 )" is the data RVD 1 (t-
y 1 ) is written to the same address where it was stored. When the processing by the delay circuit 3000A is completed in this way, the data stored in the register R13 RVD 1 (t-y 1 ) + K 29 · {RVD 1 (t) + K 30 · RVD 1 (t-y 1 )} is is sent to delay circuit 3000B, and this delay circuit 3
At 000B, the same processing as in the case of circuit 3000A is performed. Here, delay circuits 3000A, 3000B, 3
000C output data as RVD 2A , RVD 2B ,
Expressed as RVD 2C , the delay time of circuit 3000B is
y 2 and the delay time of circuit 3000C is y 3 , the output data of registers R13, R15, and R17 of circuits 3000A, 3000B, and 3000C are as follows:
It is expressed by equations (4) to (6). RVD 2A = RVD 1 (t-y 1 ) + K 29・{RVD 1 (t) + K 30
・RVD 1 (t-y 1 )} RVD 2A = RVD 1 (t-y 1 )+K 29・{RVD 1 (t)+K 30
・RVD 1 (t-y 1 )} RVD 2B = RVD 2A (t-y 2 )+K 31・{RVD 2A (t)+K 32・R
VD 2A (t-y 2 )} RVD 2A = RVD 1 (t-y 1 ) + K 29・{RVD 1 (t) + K 30
・RVD 1 (t-y 1 )} RVD 2B = RVD 2A (t-y 2 )+K 31・{RVD 2A (t)+K 32・R
VD 2A (t-y 2 )} RVD 2C = RVD 2B (t-y 3 )+K 33・{RVD 2B (t)+K 34・R
VD 2B (t-y 3 )}...(4)...(5)...(6) And the output data of the delay circuit 3000C
RVD 2C is output via the switch circuit SW as data for generating reverberant sound following the initial reflected sound. Here, each delay circuit 3000A, 3000B,
When the delay time of 3000 C is set in the relationship y 1 > y 2 > y 3 , reverberant sound with dense delay time intervals can be formed as shown in FIG. That is, the delay circuit 3000A generates the first reverberation sound at a time interval y 1 shorter than the delay time interval of the first reverberation sound formation unit 2000 based on the reverberation sound data RVD 1 with a coarse delay time interval formed by the first reverberation sound formation unit 2000 . 1 reverberant sound data RVD 2A , and the delay circuit 3000B generates the second reverberant sound data at a time interval y2 shorter than the delay time interval y1 of the circuit 3000A.
Form RVD 2B . Therefore, the delay circuit 300
As the reverberation sound formation process from 0A to 3000C progresses, reverberation sounds with dense delay time intervals are formed. In addition, the delay circuits 3000A, 3000B, 30
Registers R12, R14, R16 at 00C
Since it is not used until the next sampling period after the processing related to its own circuit is completed, it can be shared in a time-sharing manner. Next, the specific configuration and operation of the embodiment shown in FIG. 6 will be explained. In addition, in the following explanation,
The following description will be made assuming that the apparatus shown in FIG. 6 forms reverberation sound according to the function shown in FIG. 8 described above. Specific Configuration of the Embodiment The reverberation sound adding device of the embodiment shown in FIG. 6 is roughly divided into a storage section 19, a time information generation section 20, an address information generation section 30, and a calculation section 40. The storage section 19 corresponds to the delay digital memory DM in FIG. 9, and here is composed of a data memory 190 having a plurality of memory blocks and a latch 191. The data memory 190 uses a plurality of memory blocks to store one word (16 bits) of memories SD0 to SD15 and 512 words (one word
16 bits) memories MD0 to MD15 and 2048 word memories (one word is 16 bits) D0 to D15 are provided. And this memory SD0~SD1
5. The data to be stored in MD0 to MD15 and D0 to D15 is given from the calculation unit 40, and the storage address and read address of the data are determined by the address information DM.
specified by ADR, and each memory SD0~D
The data read from 15 is supplied to arithmetic unit 40 via latch 191. The time information generating section 20 corresponds to the delay length data memory DDM in FIG. 9, and includes a parameter designation circuit 200 and a delay length data memory 201. According to the instructions, each data delay memory D0 to D15, corresponding to each of the eight types of reverberation sounds (including early reflection sounds) with different reverberation characteristics,
Delay time information regarding MD0 to MD15 DLD m
It is configured to selectively output one of the types [n] (n: designates memories D0 to D15, MD0 to MD15, m: designates types 1 to 8). That is, as shown in FIG. 16, the delay length data memory 201 includes memory blocks MB (D0) to MB corresponding to the data delay memories D0 to D15 and MD0 to MD15, respectively.
(D15), MB (MD0) to MB (MD15), and each of these memory blocks MB (D0) to MB
(MD15) has eight memory addresses "0" to "7" corresponding to the eight types of reverberant sounds described above, and each memory block MB(D0) to MB(MD
15), each memory address “0” to “7” has different delay time information DLD 1 [D0] to DLD 8
[D0], DLD 1 [D1] ~ DLD 8 [D1], ...
DLD 1 [D15] ~ DLD 8 [D15], DLD 1 [MD0]
~DLD 8 [MD0],...DLD 1 [MD15] ~DLD 8
[MD15] is stored in advance. Then, 3-bit parameter designation information PSL indicating the reverberation characteristics of the reverberant sound to be generated is supplied from the parameter designation circuit 200 as lower address information,
Furthermore, specify the 4-bit memory number information DL o (n: 0 to 15) that specifies the memory number “0 to 15” of the memories MD0 to MD15 and D0 to D15, and the memory type “D, MD, SD”. 2-bit memory type information DL k (k: D, MD, SD) is used as upper address information by the address information generation unit 30.
When supplied from the memory block (MB(D0) to MB(MD1) specified by the information DL o and DL k
5), the delay time information DLD m [n] stored in the storage address (one of "0" to "7") specified by the information PSL is read out, and the parameter specification is performed. The information is supplied to the address information generating section 30 as information defining the delay time relationship of reverberant sound having the desired reverberation characteristics specified by the circuit 200. Note that for memories SD0 to SD15, the delay time is fixed (1・T 0 ), so this memory SD0
- Delay time information for SD15 is not required.
In addition, the parameter designation circuit 200 outputs, together with the parameter designation information PSL, 3-bit program selection information PSG for selecting a desired control program from among the eight types of control programs for forming reverberation sound. Ru. Next, the address information generation unit 30 generates delay time information DLD m [n] output from the time information generation unit 20.
Based on the program selection information PGS and the master clock pulse φ 0 that determines the cycle of one step of the control program, address information DM/ADR for the data memory 190 for forming reverberant sound with desired reverberation characteristics is generated. It also generates various control signals to control the operation of each circuit, and includes a program memory 300, a program counter 301, and a program decode memory 30.
2. Control signal output register 303, selector 30
4, an address counter 305, a latch 306, a subtraction circuit 307, a maximum value detection circuit 308, and an address information output circuit 309. Eight types of control programs are stored in advance in the program memory 300 in order to form reverberant sounds with eight types of reverberation characteristics, and the parameter specifying circuit 200 determines which type of control program should be output.
It is designated by program selection information PGS starting from 0. Then, the contents of the designated control program are sequentially read out step by step by the output information PC of the program counter 301 that counts the master clock pulse φ 0 . In this case, all the processes of the early reflected sound forming section 1, bandpass filter BPF, first reverberant sound forming section 2000, and second reverberating sound forming section 3000 explained in FIG. 7 are performed within one sampling period (T 0 ). To finish, if the sampling frequency is 25KHz and the frequency of master clock pulse φ 0 is 4.8MHz,
The number of steps in one control program is within 4800/25=192, and the contents of the 192-step control program are executed every sampling period T0 .
As shown in Table 2, the control programs for each step are Type 1, Type 2, and Type 3, each step consisting of 16 bits of information.
Three types of content are prepared, and the formation of early reflection sound, filter processing, and reverberation sound formation are performed by appropriately combining the output order of these three types of control programs and the content of each bit information. .
【表】
この場合、16ビツトから成る1ステツプの制御
プログラムは、情報OF・ADRo、RGo、DLo、
ADR〔Kn〕の如く制御信号出力レジスタ303
を介してそのまま出力されるものと、メモリの書
込み制御信号WR1などの如くプログラムデコー
ドメモリ302によつてデコードされた後制御信
号出力レジスタ303を介して出力されるものと
が有り、後者はオペレーシヨンコードOPCとし
てプログラムメモリ300からプログラムデコー
ドメモリ302に与えられる。なお、第2表の内
容の詳細については全体の動作説明とともに後述
する。
一方、アドレスカウンタ305は第17図に示
すように遅延用のメモリD0〜D15,MD0〜
MD15のそれぞれに対応したアドレスカウンタ
AC(D0)〜AC(D15)、AC(MD0)〜AC
(MD15)を備えている。このアドレスカウン
タ305における各カウンタAC(D0)〜AC(D
15)、AC(MD0)〜AC(MD15)は、メモ
リ番号情報DLoおよびメモリ種別情報DLkによつ
て選択的に動作状態とされる。情報DLoおよび
DLkによつて動作状態となつたアドレスカウンタ
AC(n)(n:D0〜D15,MD0〜MD15)
のカウント出力情報ADR〔n〕はラツチ306を
介してアドレス情報出力回路309へ供給される
と共に、減算回路307へ供給される。この場
合、アドレスカウンタAC(n)の出力情報ADR
〔n〕はメモリD0〜D15,MD0〜MD15
のうちメモリD0〜D15が2048語のアドレス長
となつているため、2048語までのアドレス範囲を
指定できるように11ビツトで構成されている。な
お、アドレスカウンタ305はRAMから構成さ
れる。
演算回路307は、ラツチ306を介して入力
されたアドレスカウンタAC(n)の出力内容
ADR〔n〕から「1」を減じ、その減算値
「ADR〔n〕−1」を次のサンプリング周期(t+
1)において使用するためセレクタ304のA側
入力に帰還する。同時に、最大値検出回路308
に供給する。最大値検出回路308は第9図の検
出回路MXDに相当するものであり、メモリ番号
情報DLoおよびメモリ種別情報DLkにより指定さ
れたアドレスカウンタAC(n)の出力情報ADR
〔n〕から「1」を減じた情報「ADR〔n〕−1」
が最大値(全ビツトが“1”)に達したことを検
出すると、セレクタ304に対しB側入力を選択
させるセレクト制御信号SLBを出力する。セレ
クタ304においては、A側入力に減算回路30
7の出力情報「ADR〔n〕−1」が入力され、B
側入力にデイレイレングスデータメモリ201の
出力情報DLDm〔n〕が入力され、その出力はア
ドレスカウンタ305のデータ入力に供給されて
情報DLo,DLkにより指定されるアドレスカウン
タAc(n)に対して書込み制御信号WR3により
書込まれる(プリセツトされる)構成となつてい
る。従つて、情報DLo,DLkにより指定されたア
ドレスカウンタAc(n)においては、最大値検出
回路308からセレクト制御信号SLBが発生さ
れていない条件では、1サンプリング周期毎に現
在値ADR〔n〕から「1」を減じた値「ADR
〔n〕−1」が書込まれることになり、その出力情
報ADR〔n〕は時間経過とともに「0」の方向へ
減少する。ところが、値「ADR(n)−1」が最
大値になると、最大値検出回路308からセレク
ト制御信号SLBが発生されるため、アドレスカ
ウンタAC(n)にはセレクタ304を介して遅延
時間情報DLDm〔n〕が入力され、書込まれる。
従つて、アドレスカウンタAC(n)の内容は、セ
レクト制御信号SLBの発生により「DLDm〔n〕」
になつた後、サンプリング時刻の経過とともに
「0」の方向へ順次変化するものとなる。すなわ
ち、セレクタ304、アドレスカウンタ305、
ラツチ306、減算回路307、最大値検出回路
308とから成る部分では、情報DLo,DLkで指
定されるアドレスカウンタAC(n)において遅延
時間情報DLDm〔n〕に対応する遅延時間に等し
い周期で一巡するアドレス情報ADR〔n〕が形成
される。
このアドレス情報ADR〔n〕はアドレス情報出
力回路309へ供給される。
アドレス情報出力回路309は、メモリSD0
〜SD15、メモリD0〜D15、メモリMD0
〜MD15に対する情報の読出しおよび書込みの
ためのアドレス情報を出力するものである。この
アドレス情報出力回路309は、メモリD0から
io時間遅れた情報を読出して初期反射音ECH(t)
を形成する場合には、メモリD0に関するアドレ
ス情報ADR〔D0〕と第1反射音ECH1〜第10反
射音ECH10の各遅延時間ioに対応する11ビツトの
アドレス情報OF・ADRo(=OF・ADR1〜OF・
ADR10:制御信号出力レジスタ303から出力
される)との加算値を下位アドレス情報とし、そ
の上位にメモリ番号情報DLo(=DL0)およびメ
モリ種別情報DLk(=DLD)を付加し、この1組
の情報ADR〔D0〕+OF・ADRo,DLo,DLkを
アドレス情報DM・ADRとして出力する。また、
現在時刻でサンプリングした楽音データGD(t)
をメモリD0に書込む場合、メモリD0に対応す
るアドレスカウンタAC(D0)の出力情報ADR
〔D0〕を下位アドレス情報とし、その上位にメ
モリD0を指定する情報DLo(=DL0)およびDLk
(=DLD)を付加し、この1組の情報ADR〔D
0〕,DLo,DLkをアドレス情報DM・ADRとし
て出力する。また、メモリSD0〜SD15に対し
てデータの書込みおよび読出しを行う場合、下位
アドレス情報の全ビツトを“0”とし、その上位
にメモリSD0〜SD15を指定する情報DLo(=
DL0〜DL15)およびDLk(=DLSD)を付加してア
ドレス情報DM・ADRとして出力する。また、
残響音RVD1、RVD2を形成する場合には、メモ
リD1〜D15、MD0〜MD15のそれぞれに
対応するアドレスカウンタAC(D1)〜AC(D1
5),AC(MD0)〜AC(MD15)の各出力情
報ADR〔D1〕〜ADR〔D15〕,ADR〔MD0〕
〜ADR〔MD15〕を下位アドレス情報とし、そ
の上位に情報DLoおよびDLkを付加し、これら1
組の情報ADR〔n〕,DLo,DLkをアドレス情報
DM・ADRとして出力する。この場合、情報DLo
およびDLkの下位に情報ADR〔n〕+OF・ADRo
を付加すべき時には制御信号出力レジスタ303
から制御パルスGP1が出力される。また、情報
DLoおよびDLkの下位に付加する下位アドレス情
報の全ビツトを“0”にすべき時には、制御信号
出力レジスタ303から制御パルスGP2が出力
される。
なお、アドレス情報出力回路309は、情報
DLoおよびDLkを一時記憶するレジスタを内部に
備えている。
次に、演算部40は、メモリD0〜D15,
MD0〜MD15、SD0〜SD15に記憶させる
データおよび各メモリから読出したデータの振幅
レベル制御を行うもので、係数メモリ400、セ
レクタ401、演算回路402、テンポラリレジ
スタ403、ラツチ404とを備えている。
係数メモリ400は、デイレイレングスデータ
メモリと同様、残響特性の異なる8種類の残響音
に対応して8個のメモリブロツクを有し、各メモ
リブロツクには各種類別の残響音を形成するため
に必要な一組の係数Ko(n:1〜64)が予め記憶
されている。そして、パラメータ指定回路200
からパラメータ指定情報PSLが供給され、かつ係
数Koを指定するアドレス情報ADR〔Ko〕が制御
信号出力レジスタ303から供給されると、情報
PSLで指定されるメモリブロツクのうち情報
ADR〔Ko〕で指定されるアドレスから係数Koが
読出され、演算回路402の演算入力Aに供給さ
れる構成になつている。セレクタ401は、A側
入力にサンプリングされた楽音データGD(t)
が入力され、B側入力に記憶部19からの読出し
データMRDが入力され、C側入力にラツチ40
4を介してテンポラリレジスタ403の出力デー
タRGDが入力されており、これらの入力データ
GD(t)、MRD、RGDは制御信号出力レジスタ
303から出力されるセレクト制御信号SL1
(2ビツト構成)によつていずれか1つが選択さ
れ、演算回路402の演算入力(X)に供給され
ている。
演算回路402は、演算入力(A)に係数メモリ4
00から読出された係数Koが入力され、演算入
力(B)にラツチ404を介してテンポラリレジスタ
403の出力データRGDが入力され、演算入力
(X)にセレクタ401の選択出力データ(SPD
(t)、MRD、RGD)が入力され、制御信号出力
レジスタ303から出力される演算制御信号
CTL(3ビツト構成)により、
(Y)=(A)・(X)+(B)……(7−1)
(Y)=(X)+(B) ……(7−2)
(Y)=(X) ……(7−3)
(Y)=(B) ……(7−4)
(Y)=(0) ……(7−5)
の演算を実行し、その演算値(Y)をテンポラリ
レジスタ403、記憶部19、出力レジスタ50
0に供給する構成になつている。
テンポラリレジスタ403は、初期反射音
ECH(t)、残響音RVD1,RVD2の形成過程にお
ける演算回路402の演算値(Y)を一時記憶
し、その記憶内容をレジスタ出力データRGDと
してセレクタ401のC側入力および演算回路4
02の演算入力Bに帰還するもので、5ビツト構
成のレジスタ指定情報RGo(n:0〜31)により
指定される32個のレジスタR0〜R31を有し、
入力データは情報RGoにより指定されたレジスタ
(R0〜R31)に対し書込み制御信号WR1の制御
によつて書込まれる。
次に、出力レジスタ500は、演算回路402
の演算値(Y)として得られた初期反射音の瞬時
値ECH(t)および初期反射音に続く残響音の瞬
時値RVD(t)を書込み制御信号WR2によつて
取込み、この取込みデータを減衰器501を介し
て第1図のDA変換器12に供給する。
なお、セレクタ401におけるセレクト制御信
号SL1および演算回路402における演算制御
信号CTLは、制御信号出力レジスタ303から
出力されるオペレーシヨンコードOPCに含まれ
るものである。
次に、以上の構成の動作について説明する。
動作説明
a 初期反射音の形成動作
(1) まず、現在時刻tでサンプリングした楽音
データGD(t)をメモリD0に書込むため、
SL1;SELECT(A)
CTL;(Y)=(X)
で示される内容のセレクト制御信号SL1お
よび演算制御信号CTLがオペレーシヨンコ
ードOPCとして制御信号出力レジスタ30
3から出力される。これによつて、セレクタ
401は楽音データGD(t)を演算回路4
02の演算入力(X)に供給する。また、演
算回路402は、演算入力(X)に入力され
た楽音データGD(t)を演算値(Y)とし
て出力する。
(2) 次に、現在のサンプリング時刻(t)に対
応したメモリD0のアドレスを指定した上、
このアドレスに演算回路402の出力データ
GD(t)を書込むため、
DLo;DL0
DLk;DLD
WR4;“1”(WRITE)
L3;“1”(LATCH)
で示される内容のメモリ種別情報DLk、書込
み制御信号WR4、ラツチ制御信号L3がオ
ペレーシヨンコードOPCとして、またメモ
リ番号情報DLoが制御信号出力レジスタ30
3から出力される。
これによつて、メモリ、D0に対応したア
ドレスカウンタAC(D0)の出力情報ADR
〔D0〕が現在時刻tの楽音データGD(t)
を書込むための下位アドレス情報としてラツ
チ306にラツチされる。そして、このラツ
チされた下位アドレス情報ADR〔D0〕は、
アドレス情報出力回路309においてその上
位にメモリ番号情報DLo(=DL0)およびメ
モリ種別情報DLk(=DLD)が付加されてメ
モリD0に対する楽音データGD(t)の書
込みアドレス情報DM・ADRとして出力さ
れる。これにより、演算回路402を介して
データメモリ190のメモリD0のデータ入
力に与えられている現在時刻tの楽音データ
GD(t)は書込み制御信号WR4によつて現
在時刻tに対応したアドレスに書込まれる。
(3) 次に、各サンプリング時刻毎の初期反射音
の合成値を記憶するレジスタR0をクリアす
るため、
RGo;R0
CTL;(Y)=0
WR1;“1”(WRITE)
で示される内容の演算制御信号CTL、書込
み制御信号WR1がオペレーシヨンコード
OPCとして、またレジスタ番号情報RGoが
制御信号出力レジスタ303から出力され
る。
これによつて、レジスタR0には「0」が
書込まれる。すなわち、レジスタR0はクリ
アされる。
(4) 次に、第1反射音ECH1を形成するため、
OF・ADRo;OF・ADR1
DLk;DLD
GP1;“1”
L2;“1”(LATCH)
で示される内容のメモリ種別情報DLk、制御
パルスGP1、ラツチ制御信号L2がオペレ
ーシヨンコードOPCとして、また第1反射
音ECH1の遅延時間i1に対応したアドレス情
報OF・ADR1が制御信号出力レジスタ30
3から出力される。この場合、アドレス情報
出力回路309には前記ステツプ(2)における
メモリ番号情報DLo(=DL0)が保持されて
いる。
これによつて、アドレス情報出力回路30
9は、ラツチ306にラツチされているアド
レス情報ADR〔D0〕と遅延時間i1に対応し
たアドレス情報OF・ADR1とを加算してそ
の加算値を下位アドレス情報とし、メモリ番
号情報DLo(=DL0)、メモリ種別情報DLk(=
DLDを上位アドレス情報とし、メモリD0か
らi1時間前に書込んだ楽音データGD(t−i1)
を読出すためのアドレス情報DM・ADRと
して出力する。これにより、メモリD0から
i1時間前の楽音データGD(t−i1)が読出さ
れ、この読出しデータGD(t−i1)はラツチ
制御信号L2によつてラツチ191にラツチ
される。
(5) 次に、レジスタR0の現在値をラツチ40
4に転送するため、
RGo;R0
L1;“1”(LATCH)
で示される内容のラツチ制御信号L1がオペ
レーシヨンコードとして、またレジスタ番号
情報RGoが制御信号出力レジスタ303から
出力される。これによつて、レジスタR0の
現在値はラツチ404に転送されて記憶され
る。
(6) 次に、i1時間前の楽音データGD(t−i1)
に振幅レベル制御用の係数K1を乗算し、第
1反射音ECH1に関する瞬時値K1・GD(t−
i1)を得るため、
ADR〔Ko〕;ADR〔K1〕
SL1;SELECT(B)
CTL;(A)・(X)+(B)=(Y)
で示されるセレクト制御信号SL1、演算制
御信号CTLがオペレーシヨンコードOPCと
して、また定数読出し用のアドレス情報
ADR〔Ko〕が制御信号出力レジスタ303
から出力される。
これによつて、係数メモリ400から第1
反射音ECH1に関する係数K1が読出されて演
算回路402の演算入力(A)に供給される。ま
た、セレクタ401は、B側選択入力にラツ
チ191から供給されているi1時間前の楽音
データGD(t−i1)を選択し、該データGD
(t−i1)を演算回路402の演算入力(X)
に供給する。また、演算回路402は
(Y)=(A)・(X)+(B)=K1・GD(t−i1)+
〔R0〕
で示される演算を行なう。この場合、レジス
タR0の内容は前述のステツプ(3)においてク
リアされているため、ここでは第1反射音
ECH1に関する瞬時値K1・GD(t−i1)が演
算回路402の演算値(Y)として得られ
る。
(7) 次に、第1反射音ECH1の瞬時値K1・GD
(t−i1)をレジスタR0に転送して記憶さ
せるため、
RGo;R0
WR1;“1”(WRITE)
で示される内容の書込み制御信号WR1がオ
ペレーシヨンコードOPCとして、またレジ
スタ番号情報RGoが制御信号出力レジスタ3
03から出力される。
これによつて、演算回路402の出力デー
タ(Y)=K1・GD(t−i1)がレジスタR0
に書込まれる。
ここまでのステツプを終了することによ
り、レジスタR0には第1反射音ECH1の瞬
時値K1・GD(t−i1)が得られる。
(8) 次に、第2反射音ECH2〜第10反射音
ECH10に関する瞬時値K2・GD(t−i2)〜
K10・GD(t−i10)が前述のステツプ(4)〜(7)
と同様にして形成される。従つて、第10反射
音ECH10に関するステツプ(7)の動作を終了し
た段階では、レジスタR0には第1反射音
ECH1〜第10反射音ECH10の瞬時値の総和10
〓n=1
Ko・GD(t−io)が得られる。そして、この
総和10
〓n=1
Ko・GD(t−io)は出力レジスタ5
00に対して書込み制御信号WR2によつて
書込まれ、減衰器501に転送される。
b フイルタ動作
(1) まず、メモリD10からj時間前の楽音デ
ータGD(t−j)を読出すため、
DLo;DL
DLk;DLD
L3;“1”(LATCH)
L2;“1”(LATCH)
で示される内容のメモリ種別情報DLk、ラツ
チ制御信号L3,L2がオペレーシヨンコー
ドOPCとして、またメモリ番号情報DLoが制
御信号出力レジスタ303から出力される。
これによつて、メモリD10に対応したア
ドレスカウンタAC(D10)の出力情報
ADR〔D10〕がj時間前の楽音データGD
(t−j)を読出すための下位アドレス情報
としてラツチ306にラツチされる。そし
て、このラツチされた下位アドレス情報
ADR〔D10〕は、アドレス情報出力回路3
09においてその上位にメモリ番号情報DLo
(=DL10)およびメモリ種別情報DLk(=
DLD)が付加されてデータメモリ190のメ
モリD10に対して楽音データGD(t−j)
の読出しアドレス情報DM・ADRとして出
力される。これにより、メモリD10からj
時間前の楽音データGD(t−j)が読出さ
れ、この読出しデータGD(t−j)はラツ
チ制御信号L2によりラツチ191にラツチ
される。
(2) 次に、現在時刻tでサンプリングした楽音
データGD(t)をデータGD(t−j)の読
出しアドレスと同一アドレスに書込むため、
SL1;SELECT(A)
CTL;(Y)=(X)
で示される内容のセレクト制御信号SL1お
よび演算制御信号CTLがオペレーシヨンコ
ードOPCとして制御信号出力レジスタ30
3から出力される。これによつて、セレクタ
401は楽音データGD(t)を演算回路4
02の演算入力Xに供給する。また、演算回
路402は、演算入力Xに入力された楽音デ
ータGD(t)を演算値(Y)として出力す
る。
(3) 次に、楽音データGD(t)をメモリD1
0に書込むため、
DLo;DL10
DLk;DLD
WR4;“1”(WRITE)
L3;“1”(LATCH)
で示される内容のメモリ種別情報DLk、書込
み制御信号WR4、ラツチ制御信号L3がオ
ペレーシヨンコードOPCとして、またメモ
リ番号情報DLoが制御信号出力レジスタ30
3から出力される。
これによつて、メモリD10に対応したア
ドレスカウンタAC(D10)の出力情報
ADR〔D10〕が現在時刻tの楽音データ
GD(t)を書込むための下位アドレス情報
としてラツチ306にラツチされる。そし
て、このラツチされた下位アドレス情報
ADR〔D10〕は、アドレス情報出力回路3
09においてその上位にメモリ番号情報DLo
(=DL10)およびメモリ種別情報DLk(=
DLD)が付加されてメモリD10に対する楽
音データGD(t)の書込みアドレス情報
DM・ADRとして出力される。これにより、
演算回路402を介してデータメモリ190
のメモリD10のデータ入力に与えられてい
る現在時刻tの楽音データGD(t)は書込
み制御信号WR4によつて現在時刻tに対応
したアドレスに書込まれる。
(4) 次に、ローパスフイルタLPFにおいて、
レジスタR1の内容、係数K11、j時間前の
楽音データGD(t−j)により、
〔R1〕+K11・GD(t−j)
を演算し、この演算値をレジスタR1に再び
記憶させるため、まず、
RGo;R1
L1;“1”(LATCH)
の内容で示されるラツチ制御信号L1がオペ
レーシヨンコードOPCとして、またレジス
タ番号情報RGoが制御信号出力レジスタ30
3から出力され、レジスタR1の内容がラツ
チ404に転送される。
(5) 次に、K11・GD(t−j)の演算を行うた
め、
ADR〔Ko〕;ADR〔K11〕
SL1;SELECT(B)
CTL;(Y)=(A)・(X)+(B)
で示される内容のセレクト制御信号SL1、
演算制御信号CTLがオペレーシヨンコード
OPCとして、また定数読出し用のアドレス
情報ADR〔Ko〕が制御信号出力レジスタ3
03から出力される。
これによつて、係数メモリ400から係数
K11が読出されて演算回路402の演算入力
Aに供給される。また、セレクタ401は先
のb−(1)のステツプでラツチ191にラツチ
されている楽音データGD(t−j)を選択
し、演算回路402の演算入力(X)に給す
る。これによつて、演算回路402は、
(Y)=(A)・(X)+(B)
=K11・GD(t−j)+R1
の演算を行う。この場合、レジスタR1の内
容は前回のサンプリング時刻(t−1)にお
けるフイルタ処理が終了した段階でクリアさ
れているため、このステツプではK11・GD
(t−j)が演算値(Y)として得られる。
(6) 次に、この演算値(Y)=K11・GD(t−
j)をレジスタR1に記憶させるため、
RGo;R1
WR1;“1”(WRITE)
の内容で示される書込み制御信号WR1がオ
ペレーシヨンコードOPCとして、またレジ
スタ番号情報RGoが制御信号出力レジスタ3
03から出力される。
これによつて、演算回路402の出力デー
タK11・GD(t−j)がレジスタR1に記憶
される。
(7) 次に、メモリSD0から(j−1)時間前
の楽音データGD(t−j−1)を読出すた
め、
DLo;DL0
DLk;DLSD
GP2;“1”
L2;“1”(LATCH)
で示される内容のメモリ種別情報DLk、ラツ
チ制御信号L2、ゲートパルス信号GP2が
オペレーシヨンコードOPCとして、またメ
モリ番号情報DLoが制御信号出力レジスタ3
03から出力される。すると、アドレス情報
出力回路309は、下位アドレス情報の全ビ
ツトを“0”にし、その上位にメモリ番号情
報DLo(=DL0)およびメモリ種別情報DLk
(DLSD)を付加し、メモリSD0に対するア
ドレス情報DM・ADRとして出力する。こ
れにより、メモリSD0から(j−1)時間
前の楽音データGD(t−j−1)が読出さ
れ、ラツチ191にラツチされる。
(8) 次に、レジスタR1の内容K11・GD(t−
j)、係数K12、ラツチ191にラツチされ
ている楽音データGD(t−j−1)により
K12・GD(t−j−1)+〔R1〕
を演算し、この演算値をレジスタR1に再び
記憶させるため、まず
RGo;R1
L1;“1”(LATCH)
で示される内容のラツチ制御信号L1がオペ
レーシヨンコードOPCとして、またレジス
タ番号情報RGoが制御信号出力レジスタ30
3から出力され、レジスタR1の内容K11・
GD(t−j)がラツチ404に転送される。
(9) 次に、K12・GD(t−j−1)+〔R1〕の演
算を行うため、
ADR〔Ko〕;ADR〔K12〕
SL1;SELECT(B)
CTL;(Y)=(A)・(X)+(B)
で示される内容の信号SL1,CTLがオペレ
ーシヨンコードOPCとして、またアドレス
情報ADR(Ko)が制御信号出力レジスタ3
03から出力される。
これによつて、係数メモリ400から係数
K12が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ191にラツチされている楽音データ
GD(t−j−1)を選択して演算回路40
2の演算入力(X)に供給する。これによつ
て、演算回路402は
(Y)=(A)・(X)+(B)
=K12・GD(t−j−1)+K11・GD(t−
j)
の演算値(Y)を出力する。そして、この演
算値(Y)は次のステツプでレジスタR1お
よびR2に記憶される。これにより、レジス
タR1およびレジスタR2の内容は、
〔R1〕=〔R2〕=K12・GD(t−j−1)
+K11・GD(t−j)
となる。
(10) 次に、レジスタR2の内容、係数K13、メ
モリSD0に記憶されている(j−1)時間
前の楽音データGD(t−j−1)により、
K13・GD(t−j−1)+〔R2〕の演算を行う
ため、まず、レジスタR2の内容をラツチ4
04に転送するため、前述のb−(8)のステツ
プと同様にしてレジスタR2の内容K12・
GD(t−j−1)+K11・GD(t−j)がラ
ツチ404へ転送される。
(11) 次に、係数K13を読出してK13・GD(t−
j−1)+〔R2〕の演算を行うため、前述の
b−(9)のステツプと同様にして
ADR〔Ko〕;ADR〔K13〕
SL1;SELECT(B)
CTL;(Y)=(A)・(X)+(B)
で示される内容の信号SL1,STLがオペレ
ーシヨンコードOPCとして、またアドレス
情報ADR〔Ko〕が制御信号出力レジスタ3
03から出力される。
これによつて、係数メモリ400から係数
K13が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ191にラツチされている楽音データ
GD(t−j−1)を選択して演算回路40
2の演算入力Xに供給する。
これにより、演算回路402は
(Y)=(A)・(X)+(B)=K13・GD(t−j−
1)
+K12・GD(t−j−1)+K11・GD(t−
j)
の演算値(Y)を出力する。そして、この演
算値(Y)は次のステツプでレジスタR2に
記憶され、このレジスタR2を介してハイパ
スフイルタHPFに供給される。
(12) ローパスフイルタLPFにおける最終ステ
ツプでは、レジスタR1の内容をメモリSD
0に書込み、次のサンプル時刻(t+1)で
使用するため、まずレジスタR1の内容
「K12・GD(t−j−1)+K11・SPD(t−
j)」が前述のb−(8)のステツプと同様にし
てラツチ404に転送された後、演算回路4
02に(Y)=(B)の演算を行なわせ、その演
算値「(Y)=K12・GD(t−j−1)+K11・
GD(t−j)」がメモリSD0に書込まれる。
この書込み動作は、
DLo;DL0
DLk;DLSD
GP2;“1”
WR4;“1”(WRITE)
で示される内容のオペレーシヨンコード
OPCとメモリ番号情報DLoが制御信号出力レ
ジスタ303から出力されることによつて行
なわれる。
ローパスフイルタLPFの動作が終了する
と次にハイパスフイルタHPFの動作が行な
われるが、このハイパスフイルタHPFの動
作については動明を省略する。
次に、遅延時間間隔の粗い残響音RVD1の
形成動作について説明する。
c 残響音RVD1の形成動作
(1) まず、ハイパスフイルタHPFのレジスタ
R4の記憶データGD(t−j)に係数K17を
乗算し、その乗算値K17・GD(t−j)をレ
ジスタR5に記憶させるため、
RGo;R4
L1;“1”(LATCH)
で示される内容のラツチ制御信号L1および
レジスタ番号情報RGoが制御信号出力レジス
タ303から出力され、レジスタR4の内容
GD(t−j)がラツチ404に転送される。
(2) 次に、K17・GD(t−j)を演算するた
め、
ADR〔Ko〕;ADR〔K17〕
SL1;SELECT(C)
CTL;(Y)=(A)・(X)
で示される内容のセレクト制御信号SL1、
演算制御信号CTL、係数読出し用のアドレ
ス情報ADR〔Ko〕が制御信号出力レジスタ
303から出力される。
これにより、係数メモリ400から係数
K17が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ404にラツチされているデータGD
(t−j)を選択して演算回路402の演算
入力(X)に供給する。
これにより、演算回路402は
(Y)=(A)・(X)=K17・GD(t−j)
の演算値(Y)を出力する。この演算値
(Y)は次のステツプでレジスタR5に記憶
される。
(3) 次に、データメモリ190のメモリD1か
らx1時間前の楽音データGD(t−x1)を読
出し、このデータGD(t−x1)とレジスタ
R11の現在値とを加算し、その加算値を再
びレジスタR11に記憶させるため、まず、
DLo;DL1
DLk;DLD
L3;“1”(LATCH)
L2;“1”(LATCH)
で示される内容のラツチ制御信号L3,L2
と、メモリ番号情報DLoおよびメモリ種別情
報DLkが制御信号出力レジスタ303から出
力される。
これにより、メモリD1に対応したアドレ
スカウンタAC(D1)の出力情報ADR〔D
1〕が楽音データGD(t−x1)を読出すた
めの下位アドレス情報としてラツチ306に
ラツチされる。そして、この下位アドレス情
報ADR〔D1〕はアドレス情報出力回路30
9においてその上位にメモリ番号情報DLoお
よびメモリ種別情報DLkが付加されて、デー
タメモリ190に対してメモリD1のアドレ
ス情報DM・ADRとして出力される。これ
により、メモリD1からx1時間前の楽音デー
タGD(t−x1)が読出され、ラツチ191
にラツチされる。
(4) 次に、この読出しデータGD(t−x1)と
レジスタR11の現在値とを加算するため、
レジスタR11の内容がラツチ404に転送
された後、
SL1;SELECT(B)
CTL;(Y)=(X)+(B)
で示される内容のセレクト制御信号SL1お
よび演算制御信号CTLが制御信号出力レジ
スタ303から出力される。
すると、セレクタ401はラツチ191に
ラツチされている楽音データGD(t−x1)
を選択して演算回路402の演算入力(X)
に供給する。これにより、演算回路402は
(Y)=(X)+(B)=〔R11〕+GD(t−x1)
で示される演算値(Y)を出力する。この場
合、レジスタR11の内容は前回のサンプリ
ング時刻(t−1)における動作を終了した
段階でクリアされている。このため、このス
テツプ(4)における演算値(Y)はGD(t−
x1)となる。この後、演算値(Y)はレジス
タR11に転送されて記憶される。
(5) 次に、メモリD1から楽音データGD(t
−x1)を読出し、これに係数K18を乗算し、
さらにその乗算値K18・GD(t−x1)とレジ
スタR5の内容「K17・GD(t−j)」との
加算値をレジスタR6に再び記憶させるた
め、まず前述のc−(1)のステツプと同様にし
てレジスタR5の内容「K17・GD(t−j)」
がラツチ404に転送される。
(6) 次に、ラツチ191にラツチされている楽
音データGD(t−x1)、ラツチ404にラツ
チされているデータ「K17・GD(t−j)」、
係数K18とにより、
(Y)=K18・GD(t−x1)+K17・GD(t−
j)
の演算を行うため、
ADR〔Ko〕;ADR〔K18〕
SL1;SELECT(B)
CTL;(Y)=(A)・(X)+(B)
で示される内容のセレクト制御信号SL1、
演算制御信号CTL、係数読出し用のアドレ
ス情報ADR〔Ko〕が制御信号レジスタ30
3から出力される。
これにより、係数メモリ400から係数
K18が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ191にラツチされている楽音データ
GD(t−x1)を選択して演算回路402の
演算入力(X)に供給する。
これにより、演算回路402は
(Y)=(A)・(X)+(B)
=K18・GD(t−x1)+K17・GD(t−j)
を出力する。そして、この演算値(Y)は次
のステツプでレジスタR6を介してメモリD
1の現在時刻tに対応したアドレスに書込ま
れる。この後、レジスタR6はメモリD2の
系統の処理を行うためクリアされる。
(7) 次に、メモリD2〜D9の各系統に関する
処理が前述のc−(3)〜c−(6)のステツプと同
様にして行なわれる。そして、メモリD1〜
D9の各系統の処理を終了すると、レジスタ
R11には
RVD1(t)=9
〓n=1
GD(t−xo)
で表わされる残響音RVD1に関する情報が得られ
る。
次に、遅延時間間隔の密な残響音RVD2の形成
動作について説明する。
d 残響音RVD2の形成動作
(1) まず、メモリMD0からy1時間前の残響音
データRVD1(t−y1)を読出すため、
DLo;DL0
DLk;DLMD
L3;“1”(LATCH)
L2;“1”(LATCH)
で示される内容のラツチ制御信号L3,L1
と、メモリ番号情報DLoおよびメモリ種別情
報DLkが制御信号出力レジスタ303から出
力される。これにより、アドレス情報出力回
路309において前述のc−(3)のステツプと
同様にしてメモリMD0に対するアドレス情
報DM・ADRが形成され、メモリMD0から
y1時間前のデータRVD1(t−y1)が読出さ
れる。そして、このデータRVD1(t−y1)
はラツチ191にラツチされる。
(2) 次に、ラツチ191にラツチされたデータ
RVD1(t−y1)、レジスタR11の出力デー
タRVD1(t)、係数K30により、
K30・RVD1(t−y1)+RVD1(t)
を演算し、その演算値をレジスタR12に記
憶させるため、まず、レジスタR11の出力
データRVD1(t)がラツチ404に転送さ
れた後、
ADR〔Ko〕;ADR〔K30〕
SL1;SELECT(B)
CTL;(Y)=(A)・(X)+(B)
で示される内容のセレクト制御信号SL1、
演算制御信号CTLおよび係数読出し用のア
ドレス情報ADR〔Ko〕が制御信号出力レジ
スタ303から出力される。
これにより、演算回路402には前述のc
−(6)のステツプと同様にして係数K30が演算
入力(A)に供給され、またデータRVD1(t−
y1)が演算入力(X)に供給される。これに
より、演算回路402は
(Y)=(A)・(X)+(B)
=K30・RVD1(t−y1)+RVD1(t)
の演算値(Y)を出力する。そして、この演
算値(Y)は次のステツプにおいてレジスタ
R12に記憶される。
(3) 次に、レジスタR12の内容「K30・
RVD1(t−y1)+RVD1(t)」に係数K29を乗
算するため、まずレジスタR12の内容がラ
ツチ404に転送された後、
ADR〔Ko〕;ADR〔K29〕
SL1;SELECT(C)
CTL;(Y)=(A)・(X)
で示される内容のセレクト制御信号SL1、
演算制御信号CTLと、係数読出し用のアド
レス情報ADR〔Ko〕が制御信号出力レジス
タ303から出力される。
これにより、演算回路402には係数K30
が演算入力(A)に供給され、またデータ
「K30・RVD1(t−y1)+RVD1(t)」が演算
入力(X)に供給される。これにより、演算
回路402は
(Y)=(A)・(X)
=K29・{K30・RVD1(t−y1)+RVD1
(t)}
で示される演算値(Y)を出力する。この演
算値(Y)は次のステツプにおいてレジスタ
R13に記憶される。
(4) 次に、レジスタR13の内容とy1時間前の
データRVD1(t−y1)(前述のd−(1)のステ
ツプでラツチ191にラツチされている)と
を加算し、その加算値をレジスタR13に再
び記憶させるため、前述のd−(2)のステツプ
と同様にしてレジスタR13の内容「K29・
{K30・RVD1(t−y1)+RVD1(t)}」がラツ
チ404に転送された後、
SL1;SELECT(B)
CTL;(Y)=(B)+(X)
で示される内容のセレクト制御信号SL1、
演算制御信号CTLが制御信号出力レジスタ
303から出力される。これにより、演算回
路402は
(Y)=(B)+(X)=RVD1(t−y1)
+K29・{K30・RVD1(t−y1)+RVD1
(t)}
で示される演算値(Y)を出力する。この演
算値(Y)は次のステツプにおいてレジスタ
R13に記憶され、残響音情報RVD2Aとし
て出力される。
(5) 次に、レジスタR12の内容「K30・
RVD1(t−y1)+RVD1(t)」をy1時間遅れ
たサンプリング時刻(t+y1)で使用するた
め、レジスタR12の内容がメモリMD0の
現在時刻tに対応したアドレスに書込まれ
る。
(6) この後、y1時間間隔よりさらに密な残響音
RVD2B,RVD2Cが同様にして形成される。
なお、第6図(第7図)の実施例ではバン
ドパスフイルタBPFを設けているが、これ
は必要に応じて省略するようにしても良い。
また、第18図の機能ブロツク図に示すよう
に、メモリD10の出力データをハイパスフ
イルタHPF、バンドパスフイルタBPF、ロ
ーパスフイルタLPFにより3系列の周波数
帯域に分け、第1残響音形成部2000にお
いて各周波数帯域別に異なる残響音を形成す
るようにしてもよい。これは、制御プログラ
ムの内容を変更するのみで容易に実現でき
る。
このようにこの実施例の残響音付加装置は
デイジタルメモリを遅延素子として利用する
ようにしたものであるため、残響時間を長く
してもS/N比が低下せず、自然の残響音と
同質の残響音を発生させることができる。ま
た、残響時間はデイジタルメモリのアドレス
間隔を変えることによつて自由に変更できる
利点がある。また、1つの演算回路を時分割
的に共用でき、構成を簡単にすることができ
るなどの利点がある。
以上説明したように、この発明による電子楽器
は複数の楽音系列を有するものにおいて、残響音
を付加すべき系列を任意に選択可能としたので、
各系列の楽音音色等に応じて残響音を付加した
り、しなかつたりすることが自由にできる。
さらに、残響音付加手段を、残響音の残響特性
を複数の中から選択的に指示する残響特性指示手
段と、この残響特性指示手段において指示可能な
残響特性のそれぞれに対応した残響音を形成する
ための制御プログラムを複数記憶しており、指示
された残響特性に対応する制御プログラムを出力
する制御プログラムメモリと、指示された各残響
特性に関するパラメータを制御プログラムに従つ
て出力するパラメータ発生手段と、少なくとも上
記制御プログラムに応じてメモリ用の書込み・読
出し、アドレス指定の制御をなすメモリ制御信号
および演算用の演算制御をなす演算制御信号を出
力する制御手段と、上記パラメータおよび上記演
算制御信号に従つて指示された残響特性に対応し
た所定の演算を行なう演算手段および、複数のア
ドレスを有し上記メモリ制御信号に従つて演算手
段の出力の書込み・読出しを行なうメモリからな
り、この両者の組合わせによつて入力されたデイ
ジタル楽音信号に指示手段で指示された残響特性
を付加して出力する残響音形成手段とから構成
し、デイジタル構成としたので、簡単な構成によ
つて、S/N比が良好な残響音が形成でき、かつ
残響特性の変更を演奏途中においてもきわめて容
易に行なうことができ、演奏効果をさらに高める
ことができる等優れた効果がある。[Table] In this case, the one-step control program consisting of 16 bits is the information OF・ADR o , RG o , DL o ,
Control signal output register 303 like ADR [Kn]
There are two types: one is output as is through the memory write control signal WR1, and the other is decoded by the program decode memory 302 and output via the control signal output register 303, such as the memory write control signal WR1. The code OPC is given from program memory 300 to program decode memory 302. Note that details of the contents of Table 2 will be described later together with an explanation of the overall operation. On the other hand, the address counter 305 is connected to delay memories D0 to D15, MD0 to
Address counter corresponding to each MD15
AC (D0) ~ AC (D15), AC (MD0) ~ AC
(MD15). Each counter AC(D0) to AC(D
15), AC(MD0) to AC(MD15) are selectively put into an operating state according to memory number information DL o and memory type information DL k . Information DL o and
Address counter activated by DL k
AC (n) (n: D0 to D15, MD0 to MD15)
The count output information ADR[n] is supplied to the address information output circuit 309 via the latch 306 and also to the subtraction circuit 307. In this case, the output information ADR of address counter AC(n)
[n] is memory D0 to D15, MD0 to MD15
Since the memories D0 to D15 have an address length of 2048 words, they are composed of 11 bits so that an address range of up to 2048 words can be specified. Note that the address counter 305 is composed of RAM. The arithmetic circuit 307 calculates the output content of the address counter AC(n) input via the latch 306.
Subtract “1” from ADR[n] and apply the subtracted value “ADR[n]-1” to the next sampling period (t+
It is fed back to the A side input of the selector 304 for use in step 1). At the same time, the maximum value detection circuit 308
supply to. The maximum value detection circuit 308 corresponds to the detection circuit MXD in FIG .
Information “ADR[n]-1” which is obtained by subtracting “1” from [n]
When it is detected that has reached the maximum value (all bits are "1"), it outputs a select control signal SLB that causes the selector 304 to select the B side input. In the selector 304, the subtraction circuit 30 is connected to the A side input.
7's output information "ADR[n]-1" is input, and B
Output information DLD m [n] of the delay length data memory 201 is input to the side input, and its output is supplied to the data input of the address counter 305 and input to the address counter Ac(n) specified by the information DL o and DL k . On the other hand, it is configured to be written (preset) by a write control signal WR3. Therefore, in the address counter Ac(n) specified by the information DL o and DL k , the current value ADR[n ] minus “1” is the value “ADR
[n]-1" is written, and the output information ADR[n] decreases toward "0" as time passes. However, when the value "ADR(n)-1" reaches the maximum value, the select control signal SLB is generated from the maximum value detection circuit 308, so the delay time information DLD is sent to the address counter AC(n) via the selector 304. m [n] is input and written.
Therefore, the contents of the address counter AC(n) become "DLD m [n]" due to the generation of the select control signal SLB.
After that, it changes sequentially toward "0" as the sampling time passes. That is, selector 304, address counter 305,
In the part consisting of the latch 306, the subtraction circuit 307, and the maximum value detection circuit 308 , the delay time corresponding to the delay time information DLD m [n] is equal to the address counter AC(n) specified by the information DL o and DL k . Address information ADR[n] that goes around in a cycle is formed. This address information ADR[n] is supplied to the address information output circuit 309. The address information output circuit 309 is the memory SD0
~SD15, memory D0~D15, memory MD0
- Address information for reading and writing information to the MD 15 is output. This address information output circuit 309 outputs data from memory D0.
i o Read out time-delayed information and generate early reflection sound ECH (t)
When forming address information ADR [D0 ] regarding memory D0 and 11 -bit address information OF· ADR o (= OF・ADR 1 ~OF・
ADR 10 : The sum of the value (output from the control signal output register 303) is used as the lower address information, and the memory number information DL o (=DL 0 ) and memory type information DL k (=DL D ) are added to the upper part. , this set of information ADR[D0]+OF·ADR o , DL o , DL k is output as address information DM·ADR. Also,
Musical sound data GD(t) sampled at the current time
When writing to memory D0, output information ADR of address counter AC (D0) corresponding to memory D0
[D0] is the lower address information, and information DL o (=DL 0 ) and DL k specifying the memory D0 above it
(=DL D ) and add this set of information ADR [D
0], DL o , and DL k as address information DM/ADR. Furthermore, when writing and reading data to and from the memories SD0 to SD15, all bits of the lower address information are set to "0", and information DL o (=
DL 0 to DL 15 ) and DL k (=DL SD ) are added and output as address information DM/ADR. Also,
When forming reverberant sounds RVD 1 and RVD 2 , address counters AC(D1) to AC(D1) corresponding to memories D1 to D15 and MD0 to MD15, respectively, are used.
5), AC (MD0) to AC (MD15) output information ADR [D1] to ADR [D15], ADR [MD0]
~ADR [MD15] is the lower address information, information DL o and DL k are added to the upper part, and these 1
Set information ADR [n], DL o , DL k as address information
Output as DM/ADR. In this case, the information DL o
and information below DL k ADR [n] + OF・ADR o
When it is necessary to add the control signal output register 303
Control pulse GP1 is output from. Also, information
When all bits of the lower address information added to the lower order of DL o and DL k are to be set to "0", a control pulse GP2 is output from the control signal output register 303. Note that the address information output circuit 309 outputs information
It has internal registers to temporarily store DL o and DL k . Next, the calculation unit 40 stores the memories D0 to D15,
It controls the amplitude level of data stored in MD0 to MD15 and SD0 to SD15 and data read from each memory, and includes a coefficient memory 400, a selector 401, an arithmetic circuit 402, a temporary register 403, and a latch 404. Like the delay length data memory, the coefficient memory 400 has eight memory blocks corresponding to eight types of reverberant sounds with different reverberation characteristics, and each memory block has the memory blocks necessary to form each type of reverberant sound. A set of coefficients K o (n: 1 to 64) is stored in advance. And the parameter specification circuit 200
When the parameter specification information PSL is supplied from the control signal output register 303 and the address information ADR [K o ] specifying the coefficient K o is supplied from the control signal output register 303, the information
Information about memory blocks specified by PSL
The coefficient K o is read from the address specified by ADR [K o ] and is supplied to the arithmetic input A of the arithmetic circuit 402 . The selector 401 inputs sampled musical tone data GD(t) to the A side input.
is input, the read data MRD from the storage unit 19 is input to the B side input, and the latch 40 is input to the C side input.
The output data RGD of the temporary register 403 is input through 4, and these input data
GD(t), MRD, and RGD are the select control signal SL1 output from the control signal output register 303.
(2-bit configuration), one of them is selected and supplied to the calculation input (X) of the calculation circuit 402. The arithmetic circuit 402 has a coefficient memory 4 at the arithmetic input (A).
The coefficient K o read from 00 is input, the output data RGD of the temporary register 403 is input to the calculation input (B) via the latch 404, and the selected output data (SPD) of the selector 401 is input to the calculation input (X).
(t), MRD, RGD) are input, and the calculation control signal is output from the control signal output register 303.
With CTL (3-bit configuration), (Y)=(A)・(X)+(B)...(7-1) (Y)=(X)+(B)...(7-2) (Y ) = (X) ... (7-3) (Y) = (B) ... (7-4) (Y) = (0) ... (7-5) Y) in the temporary register 403, storage section 19, output register 50
0. The temporary register 403 stores the early reflection sound.
ECH (t), the calculated value (Y) of the calculation circuit 402 in the process of forming the reverberant sounds RVD 1 and RVD 2 is temporarily stored, and the stored contents are used as register output data RGD to input the C side of the selector 401 and the calculation circuit 4
It is fed back to the calculation input B of 02, and has 32 registers R0 to R31 specified by register designation information RG o (n: 0 to 31) of 5 bits.
Input data is written into registers (R0 to R31) specified by information RG o under the control of write control signal WR1. Next, the output register 500 is connected to the arithmetic circuit 402.
The instantaneous value ECH (t) of the early reflected sound obtained as the calculated value (Y) of The signal is supplied to the DA converter 12 in FIG. 1 via the converter 501. Note that the selection control signal SL1 in the selector 401 and the calculation control signal CTL in the calculation circuit 402 are included in the operation code OPC output from the control signal output register 303. Next, the operation of the above configuration will be explained. Operation explanation a Early reflection sound formation operation (1) First, in order to write the musical sound data GD (t) sampled at the current time t to the memory D0, SL1; SELECT (A) CTL; (Y) = (X) The select control signal SL1 and calculation control signal CTL with the contents shown are outputted to the control signal output register 30 as the operation code OPC.
Output from 3. As a result, the selector 401 transfers musical tone data GD(t) to the arithmetic circuit 4.
02 calculation input (X). Further, the arithmetic circuit 402 outputs musical tone data GD(t) inputted to the arithmetic input (X) as a calculated value (Y). (2) Next, after specifying the address of memory D0 corresponding to the current sampling time (t),
The output data of the arithmetic circuit 402 is placed at this address.
In order to write GD(t), the memory type information DL k with the contents indicated by DL o ; DL 0 DL k ; DL D WR4; “1” (WRITE) L3; “1” (LATCH), and the write control signal WR4. , the latch control signal L3 is used as the operation code OPC, and the memory number information DL o is used as the control signal output register 30.
Output from 3. As a result, the output information ADR of address counter AC (D0) corresponding to memory D0
[D0] is musical tone data GD(t) at current time t
is latched in latch 306 as lower address information for writing. This latched lower address information ADR [D0] is
In the address information output circuit 309, memory number information DL o (=DL 0 ) and memory type information DL k (=DL D ) are added to the upper part of the address information output circuit 309 to write address information DM/ADR of musical tone data GD(t) to memory D0. is output as Thereby, the musical tone data at the current time t which is applied to the data input of the memory D0 of the data memory 190 via the arithmetic circuit 402.
GD(t) is written to the address corresponding to the current time t by the write control signal WR4. (3) Next, in order to clear the register R0 that stores the composite value of early reflection sounds for each sampling time, the contents indicated by RG o ; R0 CTL; (Y) = 0 WR1; “1” (WRITE) The calculation control signal CTL and write control signal WR1 are the operation code.
Register number information RG o is also output from the control signal output register 303 as OPC. As a result, "0" is written into register R0. That is, register R0 is cleared. (4) Next, in order to form the first reflected sound ECH 1 , the memory with the contents shown as OF・ADR o ;OF・ADR 1 DL k ;DL D GP1; “1” L2; “1” (LATCH) The type information DL k , control pulse GP1, and latch control signal L2 are used as the operation code OPC, and the address information OF/ADR 1 corresponding to the delay time i 1 of the first reflected sound ECH 1 is used as the control signal output register 30.
Output from 3. In this case, the address information output circuit 309 holds the memory number information DL o (=DL 0 ) in step (2). As a result, the address information output circuit 30
9 adds the address information ADR [D0] latched in the latch 306 and the address information OF·ADR 1 corresponding to the delay time i 1 , sets the added value as lower address information, and sets the memory number information DL o ( = DL 0 ), memory type information DL k (=
With DL D as upper address information, musical tone data GD written from memory D0 i 1 hour ago (t-i 1 )
Output as address information DM/ADR for reading. As a result, from memory D0
Musical tone data GD (t-i 1 ) from one hour before i is read out, and this read data GD (t-i 1 ) is latched in latch 191 by latch control signal L2. (5) Next, latch 40 the current value of register R0.
4, the latch control signal L1 with the contents indicated by RG o ; R0 L1; "1" (LATCH) is output as an operation code and the register number information RG o is output from the control signal output register 303 . This causes the current value of register R0 to be transferred to latch 404 and stored. (6) Next, musical tone data GD (t-i 1 ) from i 1 hour ago
is multiplied by the coefficient K 1 for amplitude level control, and the instantaneous value K 1 · GD (t-
i 1 ), select control signal SL1 shown as ADR [K o ]; ADR [K 1 ] SL1; SELECT(B) CTL; (A)・(X)+(B)=(Y), calculation Control signal CTL serves as operation code OPC and address information for reading constants.
ADR [K o ] is the control signal output register 303
is output from. As a result, the first
The coefficient K 1 related to the reflected sound ECH 1 is read out and supplied to the calculation input (A) of the calculation circuit 402 . In addition, the selector 401 selects the musical tone data GD (t-i 1 ) of i 1 hour ago supplied from the latch 191 to the B-side selection input, and
(t-i 1 ) is the calculation input (X) of the calculation circuit 402
supply to. In addition, the arithmetic circuit 402 (Y)=(A)・(X)+(B)=K 1・GD(t−i 1 )+
Perform the operation indicated by [R0]. In this case, the contents of register R0 were cleared in step (3) above, so here we will discuss the first reflected sound.
The instantaneous value K 1 ·GD (ti 1 ) regarding ECH 1 is obtained as the calculation value (Y) of the calculation circuit 402. (7) Next, the instantaneous value K 1・GD of the first reflected sound ECH 1
(t-i 1 ) is transferred to register R0 and stored, write control signal WR1 with the content indicated by RG o ; R0 WR1; "1" (WRITE) is used as operation code OPC and register number information RG. o is control signal output register 3
Output from 03. As a result, the output data (Y) = K 1 · GD (ti 1 ) of the arithmetic circuit 402 is transferred to the register R0.
written to. By completing the steps up to this point, the instantaneous value K1 ·GD(t- i1 ) of the first reflected sound ECH1 is obtained in the register R0. (8) Next, 2nd reflected sound ECH 2 ~ 10th reflected sound
Instantaneous value K 2 · GD (t-i 2 ) for ECH 10 ~
K 10・GD (t−i 10 ) is the step (4) to (7) mentioned above.
It is formed in the same way. Therefore, when the operation of step (7) regarding the 10th reflected sound ECH 10 is completed, the first reflected sound is stored in the register R0.
Total of instantaneous values of ECH 1 to 10th reflected sound ECH 10 10 〓 n=1
K o ·GD (t-i o ) is obtained. And this total 10 〓 n=1 K o・GD (t−i o ) is the output register 5
00 by write control signal WR2 and transferred to attenuator 501. b Filter operation (1) First, to read musical tone data GD (t-j) from memory D10 from j hours ago, DL o ; DL DL k ; DL D L3; "1" (LATCH) L2; "1" Memory type information DL k with the contents indicated by (LATCH), latch control signals L3 and L2 are output as an operation code OPC, and memory number information DL o is output from the control signal output register 303 . As a result, the output information of address counter AC (D10) corresponding to memory D10
ADR [D10] is musical tone data GD j hours ago
(t-j) is latched into latch 306 as lower address information for reading. And this latched lower address information
ADR [D10] is the address information output circuit 3
In 09, memory number information DL o
(=DL 10 ) and memory type information DL k (=
DL D ) is added to the memory D10 of the data memory 190, and musical tone data GD(t-j) is added.
The read address information is output as DM/ADR. As a result, j
The previous musical tone data GD (t-j) is read out, and this read data GD (t-j) is latched in the latch 191 by the latch control signal L2. (2) Next, in order to write the musical tone data GD (t) sampled at the current time t to the same address as the read address of the data GD (t-j), SL1; SELECT (A) CTL; (Y) = ( The select control signal SL1 and calculation control signal CTL with the contents indicated by X) are sent to the control signal output register 30 as the operation code OPC.
Output from 3. As a result, the selector 401 transfers musical tone data GD(t) to the arithmetic circuit 4.
02 calculation input X. Further, the arithmetic circuit 402 outputs musical tone data GD(t) inputted to the arithmetic input X as a calculated value (Y). (3) Next, musical tone data GD(t) is stored in memory D1.
To write to 0, DL o ; DL 10 DL k ; DL D WR4; “1” (WRITE) L3; “1” (LATCH) Memory type information DL k of the contents indicated by DL k , write control signal WR4, latch control The signal L3 is used as the operation code OPC, and the memory number information DL o is used as the control signal output register 30.
Output from 3. As a result, the output information of address counter AC (D10) corresponding to memory D10
ADR [D10] is musical tone data at current time t
It is latched in latch 306 as lower address information for writing GD(t). And this latched lower address information
ADR [D10] is the address information output circuit 3
In 09, memory number information DL o
(=DL 10 ) and memory type information DL k (=
DL D ) is added to write address information of musical tone data GD(t) to memory D10.
Output as DM/ADR. This results in
Data memory 190 via arithmetic circuit 402
Musical tone data GD(t) at the current time t, which is applied to the data input of the memory D10, is written to the address corresponding to the current time t by the write control signal WR4. (4) Next, in the low pass filter LPF,
To calculate [R1] + K 11 · GD (t-j) using the contents of register R1, coefficient K 11 , and musical tone data GD (t-j) from j hours ago, and store this calculated value in register R1 again. , First, the latch control signal L1 indicated by the contents of RG o ;
3 and the contents of register R1 are transferred to latch 404. (5) Next, in order to calculate K 11・GD(t−j), ADR [K o ]; ADR [K 11 ] SL1; SELECT(B) CTL; (Y)=(A)・(X ) + (B) Select control signal SL1 with the content shown as
Arithmetic control signal CTL is the operation code
As OPC, address information ADR [K o ] for reading constants is used as control signal output register 3.
Output from 03. As a result, the coefficients are stored in the coefficient memory 400.
K 11 is read out and supplied to calculation input A of calculation circuit 402 . Further, the selector 401 selects the musical tone data GD (t-j) latched in the latch 191 in the previous step b-(1), and supplies it to the calculation input (X) of the calculation circuit 402. Thereby, the calculation circuit 402 performs the calculation (Y)=(A)·(X)+(B)=K 11 ·GD(t−j)+R1. In this case, the contents of register R1 were cleared at the stage when the filter processing at the previous sampling time (t-1) was completed, so in this step, K11・GD
(t-j) is obtained as the calculated value (Y). (6) Next, this calculated value (Y) = K 11・GD (t-
j) in the register R1 , the write control signal WR1 indicated by the contents of RG o ;
Output from 03. As a result, output data K11 ·GD(tj) of the arithmetic circuit 402 is stored in the register R1. (7) Next, in order to read musical tone data GD (t-j-1) of (j-1) time ago from memory SD0, DL o ; DL 0 DL k ; DL SD GP2; "1"L2;" 1” (LATCH), the memory type information DL k , the latch control signal L2, and the gate pulse signal GP2 are used as the operation code OPC, and the memory number information DL o is used as the control signal output register 3.
Output from 03. Then, the address information output circuit 309 sets all bits of the lower address information to "0" and stores memory number information DL o (=DL 0 ) and memory type information DL k in the upper part.
(DL SD ) is added and output as address information DM/ADR for memory SD0. As a result, the musical tone data GD (t-j-1) of (j-1) time ago is read from the memory SD0 and latched in the latch 191. (8) Next, the contents of register R1 K 11・GD(t−
J), coefficient K 12 , and musical tone data GD (t-j-1) latched in latch 191, calculate K 12 GD (t-j-1) + [R1], and store this calculated value in register R1. In order to store it again, first, the latch control signal L1 with the contents indicated by RG o ; R1 L1;
3 and the contents of register R1 K11・
GD(t-j) is transferred to latch 404. (9) Next, in order to calculate K 12 · GD (t-j-1) + [R1], ADR [K o ]; ADR [K 12 ] SL1; SELECT (B) CTL; (Y) = The signals SL1 and CTL with the contents shown by (A) and (X) + (B) are used as the operation code OPC, and the address information ADR (K o ) is used as the control signal output register 3.
Output from 03. As a result, the coefficients are stored in the coefficient memory 400.
K12 is read out and is the calculation input to the calculation circuit 402.
(A) is supplied. In addition, the selector 401 selects the tone data latched in the latch 191.
GD (t-j-1) is selected and the arithmetic circuit 40
It is supplied to the calculation input (X) of No.2. As a result, the arithmetic circuit 402 calculates (Y)=(A)・(X)+(B)=K 12・GD(t−j−1)+ K11・GD(t−
j) Outputs the calculated value (Y). This calculated value (Y) is then stored in registers R1 and R2 in the next step. As a result, the contents of register R1 and register R2 become as follows: [R1]=[R2]= K12 *GD(t-j-1)+ K11 *GD(t-j). (10) Next, based on the contents of register R2, coefficient K 13 , and musical tone data GD (t-j-1) of (j-1) time ago stored in memory SD0,
In order to perform the operation K13・GD(t-j-1)+[R2], first, the contents of register R2 are latch 4.
04, the contents of register R2 are transferred to K12.04 in the same manner as in step b-(8) above.
GD(t−j−1)+K 11 ·GD(t−j) is transferred to latch 404. (11) Next, read out the coefficient K 13 and calculate K 13・GD(t−
In order to calculate j-1) + [R2], ADR [K o ]; ADR [K 13 ] SL1; SELECT (B) CTL; (Y) = The signals SL1 and STL with the contents shown by (A) and (X) + (B) are used as the operation code OPC, and the address information ADR [K o ] is used as the control signal output register 3.
Output from 03. As a result, the coefficients are stored in the coefficient memory 400.
K13 is read out and is the calculation input to the calculation circuit 402.
(A) is supplied. In addition, the selector 401 selects the tone data latched in the latch 191.
GD (t-j-1) is selected and the arithmetic circuit 40
It is supplied to the calculation input X of No.2. As a result, the arithmetic circuit 402 calculates (Y)=(A)・(X)+(B)=K 13・GD(t−j−
1) +K 12・GD (t-j-1) +K 11・GD (t-
j) Outputs the calculated value (Y). This calculated value (Y) is then stored in register R2 in the next step, and is supplied to the high pass filter HPF via register R2. (12) In the final step in the low-pass filter LPF, the contents of register R1 are stored in the memory SD
0 and use it at the next sample time (t+1), first write the contents of register R1 to ``K 12 · GD (t-j-1) + K 11 · SPD (t-
j)” is transferred to the latch 404 in the same manner as in step b-(8) above, and then the arithmetic circuit 4
. _
GD(t-j)" is written to the memory SD0.
This write operation is executed by the operation code indicated by DL o ; DL 0 DL k ; DL SD GP2; “1” WR4; “1” (WRITE)
This is performed by outputting OPC and memory number information DL o from the control signal output register 303 . After the operation of the low-pass filter LPF is completed, the operation of the high-pass filter HPF is performed next, but a description of the operation of this high-pass filter HPF will be omitted. Next, the operation of forming the reverberant sound RVD 1 with coarse delay time intervals will be explained. c Formation operation of reverberant sound RVD 1 (1) First, the data GD(t-j) stored in register R4 of the high-pass filter HPF is multiplied by a coefficient K17 , and the multiplied value K17・GD(t-j) is stored in the register. In order to store it in R5, the latch control signal L1 and register number information RG o with the contents indicated by RG o ; R4 L1; "1" (LATCH) are output from the control signal output register 303, and the contents of register R4 are
GD(t-j) is transferred to latch 404. (2) Next, to calculate K 17 · GD (t-j), ADR [K o ]; ADR [K 17 ] SL1; SELECT (C) CTL; (Y) = (A) · (X) Select control signal SL1 with the content shown in
The arithmetic control signal CTL and the address information ADR [K o ] for reading coefficients are output from the control signal output register 303 . This allows the coefficients to be saved from the coefficient memory 400.
K17 is read out and is the calculation input to the calculation circuit 402.
(A) is supplied. In addition, the selector 401 selects the data GD latched in the latch 404.
(tj) is selected and supplied to the calculation input (X) of the calculation circuit 402. As a result, the arithmetic circuit 402 outputs the calculated value (Y) of (Y)=(A)·(X)=K 17 ·GD(t−j). This calculated value (Y) is stored in register R5 in the next step. (3) Next, read musical tone data GD (t-x 1 ) x 1 hours ago from memory D1 of data memory 190, add this data GD (t-x 1 ) and the current value of register R11, In order to store the added value in the register R11 again, first, the latch control signal L3 with the content shown as DL o ; DL 1 DL k ; DL D L3; "1" (LATCH) L2; "1" (LATCH) is L2
Then, memory number information DL o and memory type information DL k are output from the control signal output register 303 . As a result, the output information ADR [D
1] is latched in latch 306 as lower address information for reading musical tone data GD (t-x 1 ). This lower address information ADR [D1] is then sent to the address information output circuit 30.
9, memory number information DL o and memory type information DL k are added to the higher order, and outputted to the data memory 190 as address information DM/ADR of the memory D1. As a result, the musical tone data GD (t-x 1 ) x 1 hours ago is read out from the memory D1, and the latch 191
is latched to. (4) Next, in order to add this read data GD (t-x 1 ) and the current value of register R11,
After the contents of register R11 are transferred to the latch 404, the select control signal SL1 and calculation control signal CTL with the contents shown by SL1; SELECT (B) CTL; (Y) = (X) + (B) are output as control signals. It is output from register 303. Then, the selector 401 selects the musical tone data GD(t-x 1 ) latched in the latch 191.
Select the calculation input (X) of the calculation circuit 402
supply to. As a result, the arithmetic circuit 402 outputs the arithmetic value (Y) expressed as (Y)=(X)+(B)=[R11]+GD(t- x1 ). In this case, the contents of the register R11 are cleared at the stage when the operation at the previous sampling time (t-1) is completed. Therefore, the calculated value (Y) in step (4) is GD(t-
x 1 ). Thereafter, the calculated value (Y) is transferred to and stored in register R11. (5) Next, musical tone data GD (t
−x 1 ) and multiply it by the coefficient K 18 ,
Furthermore, in order to store the added value of the multiplied value K 18 · GD (t-x 1 ) and the content "K 17 · GD (t-j)" of the register R5 again in the register R6, first, the above-mentioned c-(1 ), the content of register R5 is "K 17・GD(t-j)".
is transferred to latch 404. (6) Next, the musical tone data GD (t-x 1 ) latched in the latch 191, the data "K 17 GD (t-j)" latched in the latch 404,
Due to the coefficient K 18 , (Y) = K 18・GD (t-x 1 ) + K 17・GD (t-
j) To perform the calculation, ADR [K o ]; ADR [K 18 ] SL1; SELECT (B) CTL; select control signal with the content shown as (Y) = (A)・(X) + (B) SL1,
The arithmetic control signal CTL and the address information ADR [K o ] for reading coefficients are in the control signal register 30.
Output from 3. This allows the coefficients to be saved from the coefficient memory 400.
K18 is read and is the calculation input to the calculation circuit 402.
(A) is supplied. In addition, the selector 401 selects the tone data latched in the latch 191.
GD (t-x 1 ) is selected and supplied to the calculation input (X) of the calculation circuit 402. As a result, the arithmetic circuit 402 outputs (Y)=(A)*(X)+(B)= K18 *GD(t- x1 )+ K17 *GD(t-j). This calculated value (Y) is then transferred to the memory D via register R6 in the next step.
1 is written to the address corresponding to the current time t. After this, the register R6 is cleared in order to perform the processing of the memory D2 system. (7) Next, processing regarding each system of memories D2 to D9 is performed in the same manner as steps c-(3) to c-(6) described above. And memory D1~
When the processing of each system of D9 is completed, information regarding the reverberant sound RVD 1 expressed as RVD 1 (t)= 9 〓 n=1 GD (t−x o ) is obtained in the register R11. Next, the operation of forming reverberant sound RVD 2 with dense delay time intervals will be explained. d Formation operation of reverberant sound RVD 2 (1) First, in order to read the reverberant sound data RVD 1 (t-y 1 ) of y 1 hour ago from memory MD0, DL o ; DL 0 DL k ; DL MD L3; 1” (LATCH) L2; Latch control signals L3, L1 with contents indicated by “1” (LATCH)
Then, memory number information DL o and memory type information DL k are output from the control signal output register 303 . As a result, the address information DM/ADR for the memory MD0 is formed in the address information output circuit 309 in the same manner as in step c-(3) above, and the address information DM/ADR is formed from the memory MD0.
Data RVD 1 (t-y 1 ) of one hour before y is read. And this data RVD 1 (t-y 1 )
is latched by latch 191. (2) Next, the data latched in latch 191
Using RVD 1 (t-y 1 ), the output data RVD 1 (t) of register R11, and the coefficient K 30 , calculate K 30 · RVD 1 (t-y 1 ) + RVD 1 (t), and store the calculated value in the register. In order to store it in R12, first, the output data RVD 1 (t) of register R11 is transferred to latch 404, and then ADR [K o ]; ADR [K 30 ] SL1; SELECT (B) CTL; (Y) = Select control signal SL1 with contents shown by (A)・(X)+(B),
Arithmetic control signal CTL and address information ADR [K o ] for reading coefficients are output from control signal output register 303 . As a result, the arithmetic circuit 402 has the above-mentioned c
- Similarly to step (6), the coefficient K 30 is supplied to the calculation input (A), and the data RVD 1 (t-
y 1 ) is supplied to the calculation input (X). As a result, the arithmetic circuit 402 outputs the calculated value (Y) of (Y)=(A)·(X)+(B)=K 30 ·RVD 1 (t−y 1 )+RVD 1 (t). This calculated value (Y) is then stored in register R12 in the next step. (3) Next, the contents of register R12 “K 30・
In order to multiply "RVD 1 (t-y 1 ) + RVD 1 (t)" by the coefficient K 29 , the contents of register R12 are first transferred to latch 404, and then ADR [K o ]; ADR [K 29 ] SL1; SELECT(C) CTL; Select control signal SL1 with the content shown by (Y) = (A)・(X),
The arithmetic control signal CTL and address information ADR [K o ] for reading coefficients are output from the control signal output register 303 . As a result, the calculation circuit 402 has a coefficient K 30
is supplied to the calculation input (A), and data "K 30 ·RVD 1 (t-y 1 )+RVD 1 (t)" is supplied to the calculation input (X). As a result, the arithmetic circuit 402 calculates (Y)=(A)・(X)=K 29・{K 30・RVD 1 (t−y 1 )+RVD 1
(t)} The calculated value (Y) is output. This calculated value (Y) is stored in register R13 in the next step. (4) Next, add the contents of register R13 and the data y 1 hour ago RVD 1 (t-y 1 ) (latched in latch 191 in step d-(1) above), and In order to store the added value in register R13 again, the contents of register R13 " K29 .
After {K 30 · RVD 1 (t-y 1 ) + RVD 1 (t)}'' is transferred to latch 404, SL1; SELECT (B) CTL; (Y) = (B) + (X) Content selection control signal SL1,
A calculation control signal CTL is output from the control signal output register 303. As a result, the arithmetic circuit 402 calculates (Y)=(B)+(X)= RVD1 (t- y1 )+ K29・{ K30・RVD1 (t- y1 )+ RVD1
(t)} The calculated value (Y) is output. This calculated value (Y) is stored in the register R13 in the next step and output as reverberation sound information RVD 2A . (5) Next, the contents of register R12 “K 30・
RVD 1 (t-y 1 ) + RVD 1 (t)'' is used at the sampling time (t + y 1 ) delayed by y 1 hour, so the contents of register R12 are written to the address corresponding to the current time t in memory MD0. . (6) After this, the reverberation sound is denser than the y 1 hour interval.
RVD 2B and RVD 2C are formed in the same manner. In the embodiment shown in FIG. 6 (FIG. 7), a band pass filter BPF is provided, but this may be omitted if necessary.
In addition, as shown in the functional block diagram of FIG. 18, the output data of the memory D10 is divided into three series of frequency bands by a high pass filter HPF, a band pass filter BPF, and a low pass filter LPF. Different reverberation sounds may be generated for each frequency band. This can be easily achieved by simply changing the contents of the control program. As described above, since the reverberation sound adding device of this embodiment utilizes digital memory as a delay element, the S/N ratio does not decrease even if the reverberation time is increased, and the reverberation sound quality is the same as that of natural reverberation. can generate reverberant sound. Another advantage is that the reverberation time can be freely changed by changing the address interval of the digital memory. Further, there are advantages in that one arithmetic circuit can be shared in a time-division manner and the configuration can be simplified. As explained above, since the electronic musical instrument according to the present invention has a plurality of musical tone series, it is possible to arbitrarily select the series to which reverberant sound is to be added.
Reverberation can be freely added or omitted depending on the musical timbre of each series. Further, the reverberation sound adding means includes a reverberation characteristic indicating means for selectively instructing reverberation characteristics of the reverberant sound from among a plurality of reverberation characteristics, and a reverberant sound corresponding to each of the reverberation characteristics that can be specified by the reverberation characteristic indicating means. a control program memory that stores a plurality of control programs for the specified reverberation characteristics and outputs a control program corresponding to the specified reverberation characteristics; and a parameter generation means that outputs parameters related to each specified reverberation characteristic according to the control program; At least a control means for outputting a memory control signal for controlling writing/reading and addressing of the memory in accordance with the above-mentioned control program and an arithmetic control signal for controlling arithmetic operations; and a memory which has a plurality of addresses and which writes and reads the output of the calculation means in accordance with the memory control signal, and a combination of the two. and a reverberation sound forming means that adds reverberation characteristics instructed by the instruction means to the digital musical tone signal inputted by the instruction means and outputs the resultant signal.Since it has a digital structure, it is possible to improve the S/N ratio with a simple structure. It has excellent effects such as being able to form a good reverberant sound, and changing the reverberation characteristics very easily even during the performance, further enhancing the performance effect.
第1図はこの発明による電子楽器の一実施例を
示すブロツク図、第2図および第4図は第1図に
おける楽音データアキユムレータの具体例をそれ
ぞれ示す回路図、第3図はその動作を説明するた
めのタイムチヤート、第5図は残響音付加装置に
供給する楽音データのサンプリングレートを変更
するための回路の一例を示す図、第6図はこの発
明に用いる残響音付加装置の一実施例を示すブロ
ツク図、第7図は第6図の実施例を機能的に表わ
した機能ブロツク図、第8図および第9図は遅延
回路の基本的構成を示すブロツク図、第10図は
第8図の遅延回路の動作を説明するためのタイム
チヤート、第11図は第6図の実施例において発
生される初期反射音の特性図、第12図は櫛型フ
イルタ構成の遅延回路の周波数特性を示す図、第
13図および第14図は第6図の実施例において
発生される残響音の特性図、第15図は第6図の
実施例におけるデータメモリの構造を示す図、第
16図は第6図の実施例におけるデイレイレング
スデータメモリの構造を示す図、第17図は第6
図の実施例におけるアドレスカウンタの構造を示
す図、第18図はこの発明に用いる残響音付加装
置の他の実施例を示す機能ブロツク図である。
1……上鍵盤、2……下鍵盤、3……ペダル鍵
盤、6……楽音信号発生回路、8……楽音データ
アキユムレータ、9……楽音データ選択回路、1
0……残響音付加鍵盤選択回路、11……残響音
付加装置、19……記憶部、20……時間情報発
生部、30……アドレス情報発生部、40……演
算部、1000……初期反射音形成部、2000
……第1残響音形成部、3000……第2残響音
形成部。
FIG. 1 is a block diagram showing an embodiment of the electronic musical instrument according to the present invention, FIGS. 2 and 4 are circuit diagrams showing specific examples of the musical tone data accumulator shown in FIG. 1, and FIG. 3 is its operation. 5 is a diagram showing an example of a circuit for changing the sampling rate of musical sound data supplied to the reverberation sound adding device, and FIG. 6 is a diagram showing one example of the reverberation sound adding device used in the present invention. 7 is a functional block diagram functionally representing the embodiment of FIG. 6, FIGS. 8 and 9 are block diagrams showing the basic configuration of the delay circuit, and FIG. 10 is a block diagram showing the basic configuration of the delay circuit. FIG. 8 is a time chart for explaining the operation of the delay circuit, FIG. 11 is a characteristic diagram of the early reflected sound generated in the embodiment of FIG. 6, and FIG. 12 is the frequency of the delay circuit having a comb filter configuration. Figures 13 and 14 are diagrams showing the characteristics of reverberant sound generated in the embodiment of Figure 6. Figure 15 is a diagram showing the structure of the data memory in the embodiment of Figure 6. This figure shows the structure of the delay length data memory in the embodiment of FIG. 6, and FIG.
FIG. 18 is a functional block diagram showing another embodiment of the reverberation sound adding device used in the present invention. 1... Upper keyboard, 2... Lower keyboard, 3... Pedal keyboard, 6... Musical tone signal generation circuit, 8... Musical tone data accumulator, 9... Musical tone data selection circuit, 1
0...Reverberation sound addition keyboard selection circuit, 11...Reverberation sound addition device, 19...Storage unit, 20...Time information generation unit, 30...Address information generation unit, 40...Arithmetic unit, 1000...Initial stage Reflected sound forming section, 2000
...first reverberant sound forming section, 3000...second reverberant sound forming section.
Claims (1)
タル楽音信号を発生する楽音信号発生手段と、 入力されるデイジタル楽音信号に残響音を付加
して出力するデイジタル型の残響音付加手段と、 上記複数系列のデイジタル楽音信号のうち所望
の系列のデイジタル楽音信号を上記残響音付加手
段に選択的に供給する選択手段と、 を備え、 上記残響音付加手段は、 残響音の残響特性を複数の中から選択的に指示
する残響音指示手段と、 該残響音指示手段において指示可能な残響特性
のそれぞれに対応した残響音を形成するための制
御プログラムを複数記憶しており、上記残響特性
指示手段で指示された残響特性に対応する制御プ
ログラムを出力する制御プログラムメモリと、 演算手段および複数のアドレスを有するデータ
メモリを含む残響音形成手段と、 上記残響特性指示手段において指示された残響
特性に対応する、遅延時間に関するパラメータお
よび演算係数に関するパラメータを上記制御プロ
グラムメモリの出力に従つて発生するパラメータ
発生手段と、 上記制御プログラムメモリの出力および上記遅
延時間に関するパラメータに基づき上記データメ
モリに対する書き込み、読み出し、アドレス指定
のためのメモリ制御信号を出力するとともに、上
記制御プログラムメモリの出力に基づき上記演算
手段に対する演算制御信号を出力する制御手段と
から構成され、 上記残響音形成手段では、上記メモリ制御信号
に従つて上記データメモリから読み出された信号
と、上記演算係数と、デイジタル楽音信号とで所
定の演算を行うことにより上記デイジタル楽音信
号に対して上記残響特性指示手段において指示さ
れた残響特性を付加して出力することを特徴とす
る電子楽器。[Scope of Claims] 1. Musical sound signal generation means that generates a plurality of series of digital musical sound signals having different musical sound characteristics such as timbre, and a digital reverberation sound addition device that adds reverberation sound to an input digital musical sound signal and outputs the resultant signal. and selecting means for selectively supplying a desired series of digital musical sound signals from the plurality of series of digital musical sound signals to the reverberant sound adding means, and the reverberant sound adding means has reverberation characteristics of the reverberant sound. a reverberant sound instructing means for selectively instructing from a plurality of reverberant characteristics, and a plurality of control programs for forming reverberant sounds corresponding to each of the reverberation characteristics that can be instructable in the reverberant sound instructing means; a control program memory for outputting a control program corresponding to the reverberation characteristics specified by the characteristic indication means; a reverberation sound forming means including a calculation means and a data memory having a plurality of addresses; parameter generating means for generating a parameter related to delay time and a parameter related to calculation coefficient corresponding to the characteristic according to the output of the control program memory; and writing to the data memory based on the output of the control program memory and the parameter related to the delay time. , a control means for outputting a memory control signal for reading and addressing, and a control means for outputting an arithmetic control signal for the arithmetic means based on the output of the control program memory; By performing a predetermined operation on the signal read from the data memory in accordance with the control signal, the calculation coefficient, and the digital musical tone signal, the reverberation specified by the reverberation characteristic indicating means for the digital musical tone signal is obtained. An electronic musical instrument characterized by output with added characteristics.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56137298A JPS5838999A (en) | 1981-08-31 | 1981-08-31 | Electronic musical instrument |
| US06/658,139 US4586417A (en) | 1981-07-28 | 1984-10-05 | Electronic musical instruments provided with reverberation tone generating apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56137298A JPS5838999A (en) | 1981-08-31 | 1981-08-31 | Electronic musical instrument |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5838999A JPS5838999A (en) | 1983-03-07 |
| JPH0117595B2 true JPH0117595B2 (en) | 1989-03-31 |
Family
ID=15195410
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56137298A Granted JPS5838999A (en) | 1981-07-28 | 1981-08-31 | Electronic musical instrument |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5838999A (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0266596A (en) * | 1988-09-01 | 1990-03-06 | Kawai Musical Instr Mfg Co Ltd | reverb device |
| JPH0293693A (en) * | 1988-09-30 | 1990-04-04 | Kawai Musical Instr Mfg Co Ltd | reverb device |
| JPH02264998A (en) * | 1989-04-05 | 1990-10-29 | Casio Comput Co Ltd | Musical sound generating device of electronic musical instrument |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5642292A (en) * | 1979-09-14 | 1981-04-20 | Nippon Musical Instruments Mfg | Sound effect device |
-
1981
- 1981-08-31 JP JP56137298A patent/JPS5838999A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5838999A (en) | 1983-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0119593B2 (en) | ||
| JPH079588B2 (en) | Musical sound generator | |
| JPH0412476B2 (en) | ||
| US4681007A (en) | Sound generator for electronic musical instrument | |
| JPS648838B2 (en) | ||
| JPH0883066A (en) | Electronic musical instrument | |
| JPH0496000A (en) | Musical sound synthesizer | |
| JPH0157799B2 (en) | ||
| JP2004317615A (en) | Resonator, resonance method, and computer program for resonance | |
| JPH0117595B2 (en) | ||
| JPS6255158B2 (en) | ||
| JPH0363079B2 (en) | ||
| JPS61204698A (en) | Tone signal generator | |
| JPH0243199B2 (en) | ||
| JPH0254559B2 (en) | ||
| JPH0112320Y2 (en) | ||
| JPH0157800B2 (en) | ||
| JPH0583917B2 (en) | ||
| JPH01269995A (en) | Signal interpolator for musical sound signal generating device | |
| JP3520553B2 (en) | Sound source device | |
| JP2591160B2 (en) | Waveform selection and synthesis device | |
| JP2910632B2 (en) | Waveform memory sound generator | |
| JPS61204697A (en) | Tone signal generator | |
| JP3104873B2 (en) | Sound source device | |
| JPS61110199A (en) | Musical sound signal generator |