JPH0157800B2 - - Google Patents

Info

Publication number
JPH0157800B2
JPH0157800B2 JP56120400A JP12040081A JPH0157800B2 JP H0157800 B2 JPH0157800 B2 JP H0157800B2 JP 56120400 A JP56120400 A JP 56120400A JP 12040081 A JP12040081 A JP 12040081A JP H0157800 B2 JPH0157800 B2 JP H0157800B2
Authority
JP
Japan
Prior art keywords
spd
memory
register
output
delay
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
Application number
JP56120400A
Other languages
Japanese (ja)
Other versions
JPS5821299A (en
Inventor
Takeshi Nimase
Atsumi Kato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP56120400A priority Critical patent/JPS5821299A/en
Publication of JPS5821299A publication Critical patent/JPS5821299A/en
Priority to US06/654,387 priority patent/US4570523A/en
Publication of JPH0157800B2 publication Critical patent/JPH0157800B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

この発明は残響音付加装置に関し、特に遅延時
間および振幅レベルが不規な残響音と規則的な残
響音とを合成して発生する残響音付加装置に関す
るものである。 従来において、残響音を電子回路によつて形成
する装置としては、BBD(Bucket Brigade
Device)やCCD(Charge Coupled Device)など
のアナログ遅延素子を用いたものが多いが、この
場合の回路構成としては、第1図にその代表例を
示すように、自己の遅延信号出力を入力側に帰還
する帰還ループFBLを有し、入力楽音信号と帰
還信号とを加算した信号をBBD等からなる遅延
回路DCによりDT時間遅延して出力するように
したものがある。 このような構成の回路によれば、第2図に示す
ように、遅延回路DCの遅延時間DTと帰還ルー
プFBLのゲインgによつて決まる規則的なイン
パルス応答を示す残響音が得られる。 ところが、コンサートホール等における実際の
残響音を分析してみると、第3図のインパルス応
答特性図に示すように、壁面や床面から反射した
振幅レベルおよび遅延時間の不規則な初期反射音
ECHが最初に現われ、この後振幅レベルおよび
残響時間が規則的な残響音RVが現われるという
特性になつている。従つて、第1図の如き構成で
はコンサートホール等で得られるような自然性の
ある残響音を発生させることはできない。 そこで、第4図に示すように、遅延時間がラン
ダムに設定された複数の遅延回路DC1〜DCoを直
列に接続した後、各遅延回路DC1〜DCoの遅延信
号レベルをレベル制御回路GC1〜GCoによつて独
立して制御し、これらを合成回路CCにて合成し
て第3図のインパルス応答特性を示す初期反射音
ECHおよび残響音RVを発生させるようにしたも
のがある。 しかし、第4図の如き構成により自然性のある
残響音を発生させるためには、非常に多くの遅延
回路を設けなければならず、装置規模が大きくな
ると共に、経済性に劣るという欠点があつた。 この発明は上述した従来の残響音付加装置の欠
点に鑑みなされたもので、その目的は小規模構成
および経済的構成で自然性のある残響音を発生し
得るようにした残響音付加装置を提供することに
ある。 このためにこの発明による残響音付加装置は、
入力楽音信号とそれぞれ異なる遅延時間遅延した
複数の遅延楽音信号を出力する第1の遅延回路
と、上記複数の遅延楽音信号のレベルをそれぞれ
独立して制御して出力するレベル制御回路と、入
力楽音信号を上記第1の遅延回路から出力される
複数の遅延楽音信号より長く遅延して出力する第
2の遅延回路と、自己の遅延信号出力を入力側に
帰還する帰還ループを有し、上記第2の遅延回路
の出力信号と自己の遅延信号出力とを所定比率で
合成した信号を所定の遅延時間遅延して出力する
第3の遅延回路と、上記レベル制御回路の出力信
号と上記第3の遅延回路の出力信号とを合成し、
その合成信号を入力楽音信号の残響音信号として
出力する合成回路とを具備してなるものである。 以下、この発明を実施例に基づき詳細に説明す
る。 第5図はこの発明による残響音付加装置の一実
施例を示すブロツク図、第6図はこの実施例の構
成を機能的に表わした機能ブロツク図、第7図お
よび第8図はデイジタルメモリを用いて所望の遅
延時間の残響音を発生させるための遅延回路の基
本的構成を示すブロツク図である。 説明の便宜上、まず第7図および第8図に示す
遅延回路の基本的構成およびその動作を説明し、
次に第6図の機能ブロツク図により残響音の形成
過程を説明し、その次に第5図に示す実施例の具
体的構成および動作を説明する。 デイジタルメモリを用いた遅延回路の基本構成 デイジタルメモリに対し所定のサンプリング周
期Toで順次サンプリングした入力楽音信号の振
幅データSPD(t)を時間経過に従つて順次記憶
させるようにした場合、時刻(t−i)で記憶し
た振幅データSPD(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)で記憶させた振
幅データSPD(t−i)を i=ΔADR×To ……(3) で表わされるi時間遅れて読出すことができる。
すなわち、所望の遅延時間iに対応するアドレス
間隔ΔADRを遅延時間情報として与えれば、時
刻(t−i)で記憶させた振幅データSPD(t−
i)をi時間遅れて読出すことができる。この場
合、上記第(1)式によつて時刻(t−i)における
アドレス情報ADR(t−i)を求めるものは、振
幅データSPD(t)を時間経過に伴つて高位アド
レスから低位アドレスへ向けて順次記憶させる場
合に適用される。また、第2式によるものは、振
幅データSPD(t)を低位アドレスから高位アド
レスへ向けて順次記憶させる場合に適用される。 従つて、この発明における遅延回路は、振幅デ
ータSPD(t)を順次記憶するデイジタルメモリ
DMと、上記第(1)式または第(2)式で示される読出
し用のアドレス情報ADR(t−i)を形成するア
ドレス情報発生回路AGと、上記アドレス間隔
ΔADRを遅延時間情報DLDとして発生するデイ
レイレングスデータメモリDDMとが基本的に設
けられる。 第7図はこのような考え方に基づく遅延回路の
一例を示すブロツク図であつて、デイジタルメモ
リDM、アドレス情報発生回路AG、デイレイレ
ングスデータメモリDDM、乗算器Mを備えてい
る。 デイジタルメモリDMは、第9図のタイムチヤ
ートに示すように、クロツクパルスφに従つて所
定周期Toでサンプリングした振幅データSPD
(t)を「0」〜「9」の各アドレスに高位アド
レス「9」側から低位アドレス「0」に向けて順
に記憶するものであり、例えばRAM(ランダム
アクセスメモリ)やシフトレジスタにより構成さ
れる。 このデイジタルメモリDMにおける振幅データ
SPD(t)の書込みアドレスおよび読出しアドレ
スの指定は、アドレス情報発生回路AGによつて
行なわれる。すなわち、アドレス情報発生回路
AGはアドレスカウンタACと加算器ADとを備
え、サンプリング時刻の更新に伴つて値が更新さ
れる書込みアドレス情報ADR(t),ADR(t+
1),ADR(t+2),……ADR(t+i)を形成
すると共に、前述の第(1)式で表わされる読出しア
ドレス情報ADR(t−i)を形成し、これをデイ
ジタルメモリDMのアドレス情報DM・ADRとし
ては出力する。すなわち、アドレスカウンタAC
は周期Toのクロツクパルスφをカウントし、そ
のカウント値を現在のサンプリング時刻tにおけ
る振幅データSPD(t)の書込みアドレス情報
ADR(t)として出力し、この情報ADR(t)を
加算器ADに供給する。一方、デイレイレングス
データメモリDDMは所望の遅延時間iに対応す
る時間情報DLD(ΔADR=i/To)を加算器AD
の他の加算入力に供給する。すると、加算器AD
は当該サンプリング時刻tにおいて、まず前述の
第(1)式で表わされる演算を行いその演算値をi時
間前の振幅データSPD(t−i)の読出しアドレ
ス情報ADR(t−i)として出力し、続いてアド
レスカウンタACの出力情報ADR(t)とそのま
ま現在時刻tにおける振幅データSPD(t)の書
込みアドレス情報ADR(t)として出力する。 これによつて、デイジタルメモリDMからは、
時刻tにおいて、i時間前の時刻(t−i)で記
憶させた振幅データSPD(t−i)が読出される
と共に、現在時刻tにおける振幅データSPD
(t)がアドレス情報ADR(t)で指定されるア
ドレスに記憶される。 このようにしてデイジタルメモリDMからi時
間遅れて読出された振幅データSPD(t−i)
は、乗算器Mにおいて振幅レベル制御用の係数K
が乗算されてレベル制御される。そして、レベル
制御された振幅データK・SPD(t−i)は図示
しないDA変換器によりアドレス信号に変換され
る。このような動作は各サンプリング時刻毎に行
なわれる。この結果、入力楽音よりi時間遅れた
残響音を発生させることができる。この場合、1
つのサンプリング時間において異なる複数の遅延
時間情報DLDを時分割で順次与えれば、同一サ
ンプリング時間内に遅延時間の異なる複数の残響
音に関する情報を取り出すことができる。従つ
て、この発明の実施例では、第7図に示す遅延回
路は、周囲の壁などの反射体への距離の差によつ
て振幅レベルや遅延時間がランダムに異なる複数
な残響特性の初期反射音を形成するために利用さ
れる。 第8図は遅延回路の他の例を示すブロツク図で
あつて、この例の遅延回路はアドレス情報発生回
路AGのアドレスカウンタACをプリセツト型の
ダウンカウンタで構成する。そしてアドレスカウ
ンタACに対して所望の遅延時間iに対応する遅
延時間情報DLDをプリセツトしてこのプリセツ
ト値(DLD)からダウンカウント動作させるこ
とにより、該アドレスカウンタACから出力され
るアドレス情報ADR(t),ADR(t+1),…
ADR(t+i)の繰り返し周期が遅延時間情報
DLDにより指定される遅延時間と一致するよう
にし、現在時刻tにおける振幅データSPD(t)
を記憶させるべきアドレスからi時間前に記憶さ
せた振幅データSPD(t−i)を読出すようにし
たものである。 換言すれば、デイジタルメモリDMが第8図の
如く10語で構成される場合にはアドレス間隔の最
大値が「10」となるため、最大で10・To時間遅
れた振幅データSPD(t−10)を読出すことが可
能であるが、所望の遅延時間iを例えば6・To
とする場合、アドレスカウンタACの出力情報
DM・ADRを5、4、3、2、1、0、5、…
…0の繰り返しとし、デイジタルメモリDMにお
いて使用するアドレスの範囲を所望の遅延時間i
(i=6・To)に対応して縮小し、現在時刻tに
おいてサンプリングした振幅データSPD(t)を
書込もうとするアドレスを、ちようどi時間前の
振幅データSPD(t−i)を書込んだアドレスに
一致させ、現在時刻tにおける振幅データSPD
(t)を書込むべきアドレスからi時間前に書込
んだ振幅データSPD(t−i)を読出すようにし
たものである。このために、この第8図の遅延回
路では、アドレスカウンタACの出力情報DM・
ADRが「0」から「9」に変化したことを検出
し、この検出信号によりデイレイレングスデータ
メモリDDMから出力されている時間情報DLDを
アドレスカウンタACにプリセツトする最大値検
出回路MXDが設けられている。 一方、この第8図の遅延回路は、現在時刻tに
おいてサンプリングした振幅データSPD(t)を
そのままデイジタルメモリDMに書込まず、i時
間前の振幅データSPD(t−i)を所定割合いで
帰還し、その帰還値K・SPD(t−i)と現在時
刻tにおいてサンプリングした振幅データSPD
(t)との加算値を書込むようにしたものである。
このために、デイジタルメモリDMから読出され
たi時間前の振幅データSPD(t−i)に係数K
を乗算してデイジタルメモリDMのデータ入力側
に帰還する乗算器Mと、乗算器Mの出力データ
K・SPD(t−i)と現在時刻tの振幅データ
SPD(t)とを加算し、その加算値「SPD(t)+
K・SPD(t−i)」をデイジタルメモリDMのデ
ータ入力に供給する加算器ADとが設けられてい
る。 従つて、このように構成された遅延回路におい
ては、所望の遅延時間iを6・Toとする場合、
アドレスカウンタACには該カウンタACの出力情
報DM・ADRが「0」から最大値(この例では
「9」)に変化した時点で、 DLD=6−1=5 で表わされる遅延時間情報DLDがプリセツトさ
れる。これによつて、アドレスカウンタACはサ
ンプリング時刻の進行に伴つて(サンプリング周
期To毎に)5、4、3、2、1、0、5、……
0という具合に変化するアドレス情報DM・
ADRを繰り返し出力するようになる。そして、
各サンプリング時刻においては、アドレス情報
DM・ADRで指定されるアドレスに記憶されて
いるi時間前の振幅データSPD(t−i)がまず
読出され、続いてこの読出しアドレスと同一アド
レスに対しi時間前の振幅データSPD(t−i)
と現在時刻tでサンプリングした振幅データ
SPD(t)とを所定割合いで加算したデータ
「SPD(t)+K・SPD(t−i)」が書込まれる。 従つて、このように構成した遅延回路では、現
在のサンプリング時刻tにおける振幅データ
SPD(t)の書込みアドレスとi時間前の振幅デ
ータSPD(t−i)の読出しアドレスとが同一
で、かつi時間前の振幅データSPD(t−i)が
帰還されているため、振幅レベルや遅延時間が規
則的に変化する残響音に関するデータを取り出す
ことができる。従つて、この発明の実施例では、
第8図に示す遅延回路は初期反射音発生後の規則
的残響特性の残響音を発生するために用いられて
いる。 なお、振幅データSPDに係数Kを乗算してい
くと、最終的に得られる残響音に関するデータは
元の振幅データSPDよりレベルが大きくなつて
しまうため、実際にはこの残響音に関するデータ
は減衰器を通して残響音の出力部に導かれる。 この場合、係数Kを「−1<K<0」とするよ
うにすれば、減衰器を必要としない。 次に、第6図に示す機能ブロツク図を用いて残
響音の形成過程を説明する。 残響音の形成過程 まず、第6図の実施例における残響音の形成過
程は、振幅レベルおよび遅延時間がランダムに変
化する初期反射音を形成する過程と、この初期反
射音に続く、振幅レベルおよび遅延時間が規則的
に変化する残響音を形成する過程とに大別され
る。そして、ここではこれらの初期反射音および
残響音は互いに独立した遅延回路系列で形成する
ように構成されている。これにより、両者は互い
に全く独立して制御が可能となる。 第6図において、入力楽音信号を所定周期To
でサンプリングした振幅データSPD(t)は第1
の遅延回路系列である初期反射音形成部1に供給
される。 初期反射音形成部1は、第7図に示した遅延回
路を利用したもので、2048語の記憶アドレスを有
するメモリD0(第1の遅延回路に相当)と、現
在のサンプリング時刻tにおいて上記メモリD0
から読出した互いに遅延時間の異なるio時間(n
=1〜10)の前の10種類の振幅データSPD(t−
i1),SPD(t−i2),…SPD(t−i10)に対して任
意の振幅レベル制御用係数Ko(n=1〜10)を乗
算する乗算器A1〜M10と、これら乗算器M1
〜M10の乗算値出力K1・SPD(t−i1),K2
SPD(t−i2),……K10・SPD(t−i10)の緩和 10n=1 Ko ・SPD(t−io)を求め、該総和10n=1 Ko ・SPD(t−io)を現在時刻tにおける初期反射
音の瞬時値ECH(t)として出力する加算器
SUMとから構成されている。乗算器M1〜M1
0と加算器SUMからレベル制御回路が構成され
る。 なお、加算器SUMは、上記総和 10n=1 Ko・SPD(t−io)を次のサンプリング 時刻(t+1)まで一時記憶するレジスタROを
内蔵している。 このような構成の初期反射音形成部1におい
て、現在時刻tでサンプリングされた入力楽音の
振幅データSPD(t)は、メモリD0の2048語の
記憶アドレスのうち現在時刻tに対応したアドレ
スに書込まれる。次に、加算器SUM内のレジス
タR0には前回のサンプリング時刻(t−1)に
おける総和 10n=1 Ko・SPD(t−1−io)が記憶されて いるため、このレジスタR0の内容ががリセツト
される。次に、io時間前の10種類の振幅データ
SPD(t−i1)〜SPD(t−i10)のうち、遅延時間
i1の振幅データSPD(t−i1)をメモリD0から読
出すため、遅延時間i1に対応するメモリD0のア
ドレスが指定され、該アドレスからi1時間前にサ
ンプリングした振幅データSPD(t−i1)が読出
される。この場合、i1時間前の振幅データSPD
(t−i1)を読出すためのアドレスは前述した第
(1)式によつて求められる。 このようにして読出された遅延時間i1の振幅デ
ータSPD(t−i1)は、乗算器M1に入力されこ
の乗算器M1において遅延時間i1の第1反射音
ECH1に対応する振幅レベル制御用の係数K1と乗
算される。そして、その乗算値K1・SPD(t−i1
は加算器SUMに入力され、レジスタR0の現在値
と加算され、その加算値はレジスタR0に再び記
憶される。この場合、レジスタR0の内容は、現
在時刻tの振幅データSPD(t)の書込みの直後
にリセツトされているため、この時レジスタR0
に書込まれる内容はデータK1・SPD(t−i1)と
なる。 このようにして、遅延時間i1の振幅データSPD
(t−i1の読出し処理およびレベル制御処理が終
了すると、すなわち第1反射音ECH1に関する処
理が終了すると、次に遅延時間i2の第2反射音
ECH2に関する振幅データSPD(t−i2)の読出し
処理およびレベル制御処理が第1反射音ECH1
形成処理と同様にして行なわれる。この結果、加
算器SUM内のレジスタR0には、第1反射音
ECH1に関するデータK1・SPD(t−i2)と第2
反射音ECH2に関するデータK2・SPD(t−i2
との加算値「K1・SPD(t−i1)+K2・SPD(t−
i2)」が記憶される。 このような処理は第3反射音ECH3〜第10反射
音ECH10についても同様に行なわれる。この結
果、レジスタR0には第1反射音ECH1〜第10反
射音ECH10に関する振幅データK1・SPD(t−i1
〜K10・SPD(t−i10)の総和 10n=1 Ko・SPD(t−io)が記憶される。 そして、この総和10n=1 Ko・SPD(t−io) は第1反射音ECH1〜第10反射音ECH10からなる
初期反射音の瞬時値ECH(t)としてスイツチ回
路SWを介して出力される。 スイツチ回路SWは、次の第1表に示すよう
に、1サンプリング周期To内の初期反射音の形
成処理時間TaにおいてはレジスタR0の出力を
選択出力し、初期反射音の形成処理後の時間Tb
においては第2の遅延回路系列の出力を選択出力
するものである。
The present invention relates to a reverberant sound adding device, and more particularly to a reverberant sound adding device that generates by synthesizing reverberant sound with irregular delay time and amplitude level and regular reverberant sound. Conventionally, the BBD (Bucket Brigade) is a device that creates reverberation sound using an electronic circuit.
Many devices use analog delay elements such as devices (Devices) and CCDs (Charge Coupled Devices), but the circuit configuration in this case is to connect its own delayed signal output to the input side, as shown in Figure 1, a typical example. Some devices have a feedback loop FBL that feeds back to the input musical tone signal and the feedback signal, and a signal obtained by adding the input musical tone signal and the feedback signal is output after being delayed by the time DT using a delay circuit DC made of a BBD or the like. According to the circuit having such a configuration, as shown in FIG. 2, reverberant sound exhibiting a regular impulse response determined by the delay time DT of the delay circuit DC and the gain g of the feedback loop FBL can be obtained. However, when we analyze the actual reverberant sound in concert halls, etc., we find that the initial reflections reflected from walls and floors have irregular amplitude levels and delay times, as shown in the impulse response characteristic diagram in Figure 3.
ECH appears first, followed by reverberant sound RV with regular amplitude level and reverberation time. Therefore, with the configuration as shown in FIG. 1, it is not possible to generate natural reverberant sound such as that obtained in a concert hall or the like. Therefore, as shown in FIG. 4, after connecting a plurality of delay circuits DC 1 to DC o in series with randomly set delay times, the delayed signal level of each delay circuit DC 1 to DC o is controlled by a level control circuit. Controlled independently by GC 1 to GC o , these are synthesized by a synthesis circuit CC to produce early reflections that exhibit the impulse response characteristics shown in Figure 3.
There are some that generate ECH and reverberant sound RV. However, in order to generate natural reverberant sound with the configuration shown in Figure 4, it is necessary to provide a large number of delay circuits, which has the disadvantage of increasing the scale of the device and being less economical. Ta. The present invention was made in view of the drawbacks of the conventional reverberation sound adding devices described above, and its purpose is to provide a reverberation sound adding device that can generate natural reverberation sound with a small-scale and economical configuration. It's about doing. For this purpose, the reverberation sound adding device according to the present invention is
a first delay circuit that outputs a plurality of delayed musical tone signals delayed by different delay times from the input musical tone signal; a level control circuit that independently controls and outputs the levels of the plurality of delayed musical tone signals; and an input musical tone. a second delay circuit that outputs the signal with a delay longer than the plurality of delayed musical tone signals output from the first delay circuit; and a feedback loop that feeds back its own delayed signal output to the input side; a third delay circuit that outputs a signal obtained by synthesizing the output signal of the second delay circuit and its own delayed signal output at a predetermined ratio, after delaying the signal by a predetermined delay time; Combines the output signal of the delay circuit and
The synthesizer includes a synthesis circuit that outputs the synthesized signal as a reverberation signal of the input musical tone signal. Hereinafter, this invention will be explained in detail based on examples. FIG. 5 is a block diagram showing an embodiment of the reverberation sound adding device according to the present invention, FIG. 6 is a functional block diagram functionally representing the configuration of this embodiment, and FIGS. 7 and 8 are diagrams showing a digital memory. FIG. 2 is a block diagram showing the basic configuration of a delay circuit used to generate reverberation sound with a desired delay time. For convenience of explanation, we will first explain the basic configuration and operation of the delay circuit shown in FIGS. 7 and 8,
Next, the process of forming reverberant sound will be explained with reference to the functional block diagram of FIG. 6, and then the specific structure and operation of the embodiment shown in FIG. 5 will be explained. Basic configuration of a delay circuit using digital memory When the amplitude data SPD(t) of an input musical tone signal sampled sequentially at a predetermined sampling period To is sequentially stored in a digital memory as time elapses, the time (t - To read out the amplitude data SPD(t-i) stored in step i) at time t when i time has elapsed, when the sampling time is t, the address information ADR(t) must be changed during i time. The address interval ΔADR is added or subtracted as shown in the following equation (1) or (2), and 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). Amplitude data SPD (t-i) can be read out with a delay of i time expressed as i=ΔADR×To (3).
That is, if the address interval ΔADR corresponding to the desired delay time i is given as delay time information, the amplitude data SPD (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 the above equation (1), the amplitude data SPD (t) is changed from a high-order address to a low-order address as time passes. This is applied when sequentially storing the Further, the second equation is applied when the amplitude data SPD(t) is stored sequentially from a low address to a high address. Therefore, the delay circuit in this invention is a digital memory that sequentially stores amplitude data SPD(t).
DM, an address information generation circuit AG that forms read address information ADR (t-i) shown in equation (1) or equation (2) above, and generates the address interval ΔADR as delay time information DLD. A delay length data memory DDM is basically provided. FIG. 7 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. The digital memory DM stores amplitude data SPD sampled at a predetermined period To according to the clock pulse φ, as shown in the time chart of FIG.
(t) is stored in each address from ``0'' to ``9'' in order from the high address ``9'' to the low address ``0.'' Ru. Amplitude data in this digital memory DM
Designation of the write address and read address of SPD(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), ADR(t+
1), ADR(t+2),...ADR(t+i), and also form the read address information ADR(t-i) expressed by the above equation (1), and use this as address information of the digital memory DM. Output as DM/ADR. i.e. address counter AC
counts the clock pulses φ with the period To, and uses the count value as the write address information of the amplitude data SPD(t) at the current sampling time t.
The information ADR(t) is outputted as ADR(t), and this information ADR(t) is supplied to the adder AD. On the other hand, the delay length data memory DDM transfers the time information DLD (ΔADR=i/To) corresponding to the desired delay time i to the adder AD.
feeds the other summing input of . Then, the adder AD
At the sampling time t, first performs the calculation expressed by the above equation (1) and outputs the calculated value as the read address information ADR (t-i) of the amplitude data SPD (t-i) from i time ago. , and then outputs the output information ADR(t) of the address counter AC as is and the write address information ADR(t) of the amplitude data SPD(t) at the current time t. As a result, from the digital memory DM,
At time t, amplitude data SPD (t-i) stored at time (t-i) i hours ago is read out, and amplitude data SPD at current time t is read out.
(t) is stored at the address specified by address information ADR(t). Amplitude data SPD (t-i) read out from digital memory DM with a delay of i time in this way
is the coefficient K for amplitude level control in the multiplier M
is multiplied and the level is controlled. The level-controlled amplitude data K·SPD(ti) is then converted into an address signal by a DA converter (not shown). 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, 1
If a plurality of different delay time information DLDs are sequentially provided in a time-sharing manner at one sampling time, information regarding a plurality of reverberant sounds having different delay times can be extracted within the same sampling time. Therefore, in the embodiment of the present invention, the delay circuit shown in FIG. Used to shape sound. FIG. 8 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 amplitude data SPD(t) at the current time t is set to match the delay time specified by DLD.
The amplitude data SPD(t-i) stored i hours ago is read from the address where the data should be stored. In other words, when the digital memory DM is composed of 10 words as shown in Fig. 8, the maximum value of the address interval is "10", so the amplitude data SPD (t-10 ), but the desired delay time i can be read out by e.g. 6・To
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・To), and change the address to which the amplitude data SPD(t) sampled at the current time t is to be written to the amplitude data SPD(t-i) just i time ago. match the written address, and obtain the amplitude data SPD at the current time t.
The amplitude data SPD (t-i) written i hours ago is read from the address to which (t) is to be written. For this reason, in the delay circuit of FIG. 8, 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. 8 does not directly write the amplitude data SPD(t) sampled at the current time t into the digital memory DM, but returns the amplitude data SPD(t-i) from i hours ago at a predetermined rate. Then, the feedback value K・SPD(t−i) and the amplitude data SPD 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・SPD(t−i) of the multiplier M and the amplitude data at the current time t.
SPD (t) and the added value “SPD (t) +
An adder AD is provided which supplies "K.SPD(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·To,
When the output information DM/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, . . . (for each sampling period To) 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
The amplitude data SPD (t-i) of i hours ago stored at the address specified by DM・ADR is first read out, and then the amplitude data SPD (t-i) of i hours ago is read from the same address as this read address. i)
and the amplitude data sampled at the current time t
Data "SPD(t)+K·SPD(t-i)" obtained by adding SPD(t) at a predetermined ratio is written. Therefore, in the delay circuit configured in this way, the amplitude data at the current sampling time t
The write address of SPD(t) is the same as the read address of amplitude data SPD(t-i) from i hours ago, and the amplitude data SPD(t-i) from i hours ago is fed back, so the amplitude level It is possible to extract data related to reverberant sound whose delay time changes regularly. Therefore, in an embodiment of the invention,
The delay circuit shown in FIG. 8 is used to generate reverberant sound with regular reverberant characteristics after the initial reflected sound occurs. Note that when the amplitude data SPD is multiplied by the coefficient K, the level of the finally obtained reverberant sound data becomes higher than the original amplitude data SPD, so in reality, this reverberant sound data is stored in the attenuator. The reverberant sound is guided to the output section through the 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. This allows both to be controlled completely independently of each other. In FIG. 6, the input musical tone signal is
The amplitude data SPD(t) sampled at
The signal is supplied to the early reflected sound forming section 1, which is a delay circuit series. The early reflected sound forming unit 1 utilizes the delay circuit shown in FIG. D0
i o times (n
= 1 to 10) before 10 types of amplitude data SPD (t-
i 1 ), SPD (t-i 2 ), ...SPD (t-i 10 ) by an arbitrary amplitude level control coefficient K o (n=1 to 10); Multiplier M1
~M10 multiplication value output K 1・SPD (ti 1 ), K 2
Find the relaxation of SPD(t-i 2 ),...K 10・SPD(t-i 10 ) 10n=1 K o・SPD(t-i o ), and calculate the sum 10n=1 K o・Adder that outputs SPD (t-i o ) as the instantaneous value ECH (t) of the early reflected sound at the current time t
It consists of SUM. Multiplier M1-M1
0 and the adder SUM constitute a level control circuit. Note that the adder SUM has a built-in register RO that temporarily stores the above-mentioned total sum 10n=1 K o ·SPD (t-i o ) until the next sampling time (t+1). In the early reflected sound forming section 1 having such a configuration, the amplitude data SPD(t) of the input musical tone 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. be included. Next, the register R0 in the adder SUM stores the total sum 10n=1 K o・SPD (t−1−i o ) at the previous sampling time (t−1), so this register R0 The contents of will be reset. Next, 10 types of amplitude data before i o time
Among SPD (t-i 1 ) to SPD (t-i 10 ), delay time
In order to read the amplitude data SPD (t-i 1 ) of i 1 from the memory D0, the address of the memory D0 corresponding to the delay time i 1 is specified, and the amplitude data SPD (t −i 1 ) is read. In this case, i 1 hour ago amplitude data SPD
The address for reading (t-i 1 ) is the address mentioned above.
It is determined by equation (1). The amplitude data SPD(t-i 1 ) of the delay time i 1 thus read out is input to the multiplier M1, and the first reflected sound of the delay time i 1 is inputted to the multiplier M1.
Multiplied by coefficient K 1 for amplitude level control corresponding to ECH 1 . And the multiplication value K 1・SPD(t−i 1 )
is input to the adder SUM 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 register R0 are reset immediately after writing the amplitude data SPD(t) at current time t, so at this time register R0 is
The content written to is data K 1 ·SPD (t−i 1 ). In this way, the amplitude data SPD 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 processing and level control processing of the amplitude data SPD (t-i 2 ) regarding ECH 2 are performed in the same manner as the processing for forming the first reflected sound ECH 1 . As a result, register R0 in adder SUM contains the first reflected sound.
Data regarding ECH 1 K 1 SPD (t-i 2 ) and the second
Data regarding reflected sound ECH 2 K 2 SPD (ti 2 )
The added value “K 1・SPD(t−i 1 )+K 2・SPD(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, the amplitude data K1 ·SPD(t- i1 ) regarding the first reflected sound ECH1 to the tenth reflected sound ECH10 is stored in the register R0.
The sum of ~K 10 · SPD (t-i 10 ) 10n=1 K o ·SPD (t-i o ) is stored. Then, this total sum 10n=1 K o・SPD (t−i o ) is the instantaneous value ECH (t) of the early reflected sound consisting of the first reflected sound ECH 1 to the 10th reflected sound ECH 10 , and the switch circuit SW is output via As shown in Table 1 below, the switch circuit SW selects and outputs the output of the register R0 during the initial reflection sound formation processing time Ta within one sampling period To, and outputs the output of the register R0 at a time Tb after the initial reflection sound formation processing.
In this case, the output of the second delay circuit series is selectively output.

【表】 このスイツチ回路SWによつて選択出力される
情報タECH(t)は、図示しないDA変換器にお
いてアナログ信号に変換された後スピーカに加え
られ、入力楽音に対する初期反射音として発音さ
れる。 従つて、第1反射音ECH1〜第10反射音ECH10
の遅延時間ioおよび振幅レベル制御用の係数Ko
それぞれ異ならせることにより、第10図に示す
ように振幅レベルおよび遅延時間がランダムに変
化する初期反射音を得ることができる。 ここで、入力楽音のサンプリング周期Toを
0.04ms(25KHz)とした場合、現在時刻tの振幅
データSPD(t)の書込みアドレスADR(t)よ
り例えば1626語離れたアドレスに記憶されている
振幅データSPD(t−1626)を読出した場合、そ
の遅延時間iは i=1626×0.04≒65ms となり、入力楽音より約65ms遅れた初期反射音
ECHoを発生させることができる。 一方、入力楽音を所定周期Toでサンプリング
した振幅データSPD(t)は、初期反射音発生後
の残響音を形成する第2の遅延回路系列にも供給
される。 この第2の遅延回路系列は、前記遅延用のメモ
リD0とは別個に設けられ、振幅データSPD(t)
をj時間遅らせてバンドパスフイルタBPFに供
給する遅延用のメモリD10(第3の遅延回路に
相当)と、このメモリD10(第2の遅延回路に
相当)から供給される遅延時間jの振幅データ
SPD(t−j)の所定周波数帯域成分のみを通過
させるローパスフイルタLPFおよびハイパスフ
イルタHPFとから成るデイジタル型のバンドパ
スフイルタBPFと、該バンドパスフイルタBPF
を通過した振幅データSPD(t−j)に基づき遅
延時間間隔の粗い残響音データRVD1を形成する
櫛型フイルタ構成の第1残響音形成部2と、前記
残響音データRVD1に基づき遅延時間間隔が密な
残響音データRVD2を形成するオールパスフイル
タ構成の第2残響音形成部3とから構成されてい
る。 このような構成において、現在時刻tでサンプ
リングした振幅データSPD(t)は、メモリD1
0における2048語の記憶アドレスのうち現在時刻
tに対応したアドレスADR(t)に書込まれる。
次に、メモリD10に記憶した振幅データSPD
(t)のうち、j時間前のデータSPD(t−j)
を読出すため、遅延時間jに対応するメモリD1
0のアドレスが指定され、該アドレスからj時間
前にサンプリングした振幅データSPD(t−j)
が読出される。この場合、j時間前の振幅データ
SPD(t−j)を読出すためのアドレスは、初期
反射音の形成の場合と同様に、前述した第(1)式に
よつて求められる。遅延時間jは、メモリD10
のアドレスの大きさに応じた値から0まで任意に
設定でき、かつ初期反射音の設定とも全く無関係
に設定できるが、一般的な残響とする場合、第10
反射音ECH10に関する遅延時間i10よりやや大き
く(j>i10)設定されている。 このようにしてメモリD10から読出された遅
延時間jの振幅データSPD(t−j)はローパス
フイルタLPFの乗算器M11に入力され、ここ
において所定の係数K11と乗算される。そして、
その乗算値K11・SPD(t−j)はレジスタR1
に一時記憶される。次に、1語の記憶アドレスを
有するメモリSD0から1サンプリング時間(1・
To)前に書込まれた振幅データSPD(t−j−
1)が読出され、このデータSPD(t−j−1)
に所定の係数K12が乗算器M12において乗算さ
れる。次に、乗算器M12の乗算値出力K12
SPD(t−j−1)とレジスタR1に一時記憶さ
れているj時間前の振幅データK11・SPD(t−
j)とが加算され、その加算値「K12・SPD(t
−j−1)+K11・SPD(t−j)」は再びレジス
タR1に一時記憶されると共に、レジスタR2に
も一時記憶される。次に、現在時刻tより1サン
プリング時間(1・To)前に書込された振幅デ
ータSPD(t−j−1)がメモリSD0から再び読
出され、このデータSPD(t−j−1)に所定の
係数K13が乗算器M13において乗算される。そ
して、この乗算値K13・SPD(t−j−1)はレ
ジスタR2に一時記憶されている値「K12・SPD
(t−j−1)+K11・SPD(t−j)」と加算さ
れ、その加算値 K12・SPD(t−j−1) +K11・SPD(t−j) +K13・SPD(t−j−1) はレジスタR2に再び一時記憶される。次に、レ
ジスタR1に一時記憶されている値「K12・SPD
(t−j−1)+K11・SPD(t−j)」を次にサン
プリング周期(t+1)で使用するため、この値
「K12・SPD(t−j−1)+K11・SPD(t−j)」
がメモリSD0に書込まれる。 このような動作が各サンプリング訟期To毎に
行なわれることにより、ローパスフイルタLPF
のレジスタR2からは所定帯域の高周波成分を除
去したj時間前の振幅データSPD(t−j)が出
力され、この振幅データSPD(t−j)はハイパ
スフイルタHPFに送られる。 すると、ハイパスフイルタHPFでは、ローパ
スフイルタの場合と同様にしてj時間前の振幅デ
ータSPD(t−j)から所定帯域の低周波成分の
除去が行なわれる。 すなわち、ローパスフイルタLPFのレジスタ
R2の出力データSPD(t−j)は乗算器M14
に入力され、この乗算器M14において所定の係
数K14と乗算される。そして、その乗算値K14
SPD(t−j)はレジスタR3に一時記憶され
る。次に、1語の記憶アドレスを有するメモリ
SD1から1サンプリング時間(1・To)前に書
込まれた振幅データSPD(t−j−1)が読出さ
れ、このデータSPD(t−j−1)に所定の係数
K15が乗算器M15において乗算される。次に、
乗算器M15から得られた乗算値K15・SPD(t
−j−1)はレジスタR3に一時記憶されている
j時間前の振幅データK14・SPD(t−j)と加
算され、その加算値「K14・SPD(t−j)+
K15・SPD(t−j−1)」はレジスタR3に一時
記憶されると共に、レジスタR4にも一時記憶さ
れる。次に、現在時刻tより1サンプリング時間
(1・To)前に書込まれたデータSPD(t−j−
1)がメモリSD1から再び読出され、この読出
しデータSPD(t−j−1)に所定の係数K16
乗算器M16において乗算される。そして、この
乗算値K16・SPD(t−j−1)はレジスタR4
に一時記憶されている値「K14・SPD(t−j)+
K15・SPD(t−j−1)」と加算され、その加算
値 K16・SPD(t−j−1) +K14・SPD(t−j) +K15.SPD(t−j−1) はレジスタR4に一時記憶される。次に、レジス
タR3に一時記憶されている値「K14・SPD(t
−j)+K15・SPD(t−j−1)を次のサンプリ
ング周期(t+1)で使用するため、この値
「K14・SPD(t−j)+K15・SPD(t−j−1)」
がメモリSD1に書込まれる。 このような動作がサンプリング周期To毎に行
なわれることにより、ハイパスフイルタHPFの
レジスタR4からは所定帯域の低周波成分を除去
したj時間前の振幅データSPD(t−j)が出力
される。 なお、ローパスフイルタLPFのレジスタR1
は、該レジスタの内容をメモリSD0に書込んだ
後は次のサンプリング周期まで使用しないので、
ハイパスフイルタHPFのレジスタR3と共用す
ることができる。 このようにして、所定帯域の低周波成分および
高周波成分の除去されたj時間前の振幅データ
SPD(t−j)は第1残響音形成部2に入力され
る。 第1残響音形成部2は、遅延時間の異なる櫛型
フイルタ構成の遅延回路2A,2B,2Cが3回
路並列に設けられている。3個の遅延回路2A,
2B,2Cを並列に設けているのは、櫛型フイル
タ構成の遅延回路の周波数特性が単独の場合には
第11図の記号A,B,Cで示す如く波状となつ
てしまうのでこれを平坦化するためである。すな
わち、遅延時間の異なる3個の遅延回路2A,2
B,2Cを並列に設けることにより、全体として
の周波数特性を第11図の記号Dで示すように平
坦化することができる。この場合、平坦化の度合
いは遅延回路の並列接続数を増加するほど良くな
る。 この実施例では、遅延回路2Aの遅延時間が最
も長く、次に遅延回路2Bの遅延時間が長く、遅
延回路2Cの遅延時間が最も短く設定されてい
る。そして、各遅延回路2A,2B,2Cは遅延
時間の設定が異なるのみで、その構成は全て同一
である。従つて、図においては、回路2Bおよび
2Cについては乗算器、レジスタ、メモリの番号
を示すのみで、遅延回路2Aのみを詳細に図示し
ている。 このような構成の第1残響音形成部2におい
て、バンドパスフイルタBPFを通過したj時間
前の振幅データSPD(t−j)には、まず乗算器
M17において振幅レベル制御用の係数K17が乗
算される。そして、その乗算値K17・SPD(t−
j)は乗算器M17内のレジスタR5に一時記憶
される。次に、2048語の記憶アドレスを有するメ
モリD1にx1時間前に書込まれた振幅データ
SPD(t−x1)を読出すため、遅延時間x1に対応
するメモリD1のアドレスが指定される。これに
よつて、メモリD1からx1時間前の振幅データ
SPD(t−x1)が読出される。そして、この振幅
データSPD(t−x1)は加算器SUMに供給され、
この加算器SUMにおいて他のメモリD2,D3
の出力データおよび遅延回路2B,2Cのメモリ
D4〜D6,D7〜D9の出力データと加算さ
れ、該加算器SUM内のレジスタR11に一時記
憶される。この場合、メモリD1〜D9の読出し
動作はメモリD1からD9まで順に時分割で行な
われるようになつており、メモリD1の読出し動
作時には他のメモリD2〜D9からはデータが出
力されていない。このため、加算器SUM内のレ
ジスタR11への書込み内容は、メモリD1から
読出されたデータSPD(t−x1)となる。 一方、メモリD1から読出された振幅データ
SPD(t−x1)は乗算器M18において振幅レベ
ル制御用の係数K18が乗算された後メモリD1の
入力側に帰還される。そして、この乗算値K18
SPD(t−x1)は現在時刻tにおいてレジスタR
5に一時記憶させたデータK17・SPD(t−j)
と加算され、その加算値 K17・SPD(t-j)+K18・SPD(t-x1) はレジスタR6に一時記憶される。次に、レジス
タR6に記憶された振幅データ「K17・SPD(t
−j)+K18・SPD(t−x1)」は、x1時間前の振
幅データSPD(t−x1)が記憶されていたアドレ
スと同一アドレスに書込まれる。この後、レジス
タR6の内容はリセツトされる。レジスタR6の
内容をリセツトするのは、このレジスタR6を次
の段階でメモリD2の系統の処理に兼用している
ためである。 このようにしてメモリD1の系統の処理が終了
すると、次にメモリD2の系統の処理が同様にし
て行なわれる。 すなわち、2048語のアドレスを有するメモリD
2にx2時間前に書込まれた振幅データSPD(t−
x2)円読出すため、遅延時間x2に対応するメモリ
D2のアドレスが指定される。これによつて、メ
モリD2からx2時間前にサンプリングした振幅デ
ータSPD(t−x2)が読出される。そして、この
振幅データSPD(t−x2)は加算器SUMにおいて
レジスタR11の内容(メモリD1から読出され
た内容)SPD(t−x1)と加算され、その加算値
「SPD(t−x1)+SPD(t−x2)」はレジスタR1
1に一時記憶される。 一方、メモリD2から読出された振幅データ
SPD(t−x2)は乗算器M19において振幅レベ
ル制御用の係数K18が乗算された後、メモリD2
の入力側に帰還される。そして、その乗算値
K19・SPD(t−x2)はレジスタR5に一時記憶
されている値K17・SPD(t−j)と加算され、
その加算値「K17・SPD(t−j)+K19・SPD(t
−x2)」はレジスタR6に一時記憶される。この
レジスタR6に記憶されたデータ「K17・SPD
(t−j)+K19・SPD(t−x2)」は、x2時間前の
データSPD(t−x2)が記憶されていたアドレス
と同一アドレスに記憶され。この後、レジスタR
6の内容はリセツトされる。 次に、メモリD3の系統の処理がメモリD2の
系統の処理と同様にして行なわれる。以上のメモ
リD1,D2,D3により第3の遅延回路が構成
される。 従つて、メモリD1〜D3の系統の処理を終了
した段階では、メモリD3の系統の遅延時間をx3
とすると、レジスタR11に記憶される内容は、 SPD(t-x1)+SPD (t-x2)+SPD(t-x3) となり、またメモリD3に記憶される内容は K17・SPD(t-j)+K20・SPD(t-x3) となる。 このような処理は遅延回路2B,2Cにおいて
も同様に行なわれる。 従つて、遅延回路2BにおけるメモリD4,D
5,D6の各系統の遅延時間をそれぞれx4,x5
x6とし、また遅延回路2CにおけるメモリD7,
D8,D9の各系統の遅延時間をそれぞれx7
x8,x9とすると、遅延回路2A〜2Cの全ての処
理を終了した段階におけるレジスタR11の内容
は、 RVD19n=1 SPD(t−xo) =SPD(t−x1)+SPD(t−x2)+SPD(t−x3
+SPD(t−x4)+SPD(t−x5) +SPD(t−x6)+SPD(t−x7)+SPD(t−x8
+SPD(t−x9) となる。この結果、初期反射音に続き、第12図
に示すように遅延時間間隔が粗く、そして振幅レ
ベルおよび遅延時間が規則的に変化する残響音が
得られる。なお、第12図においては、時間関係
が複雑になるため、遅延回路2Aについてのみの
残響音を図示している。 以上のようにして形成された遅延時間間隔の粗
い残響音データRVD1は、第2残響音形成部3に
入力される。 第2残響音形成部3は、周波数特性が平坦なオ
ールパス型フイルタ構成の遅延回路3A,3B,
3Cが直列に設けられている。 3個の遅延回路3A,3B,3Cを直列に設け
ているのは、第1残響音形成部2において得られ
た残響音データRVD1より密な遅延時間間隔の残
響音データRVD2を形成するためである。従つ
て、この第2残響音形成部3における各遅延回路
3A,3B,3Cの遅延時間は、第1残響音形成
部2における各遅延回路2A,2B,2Cの遅延
時間よりも短く設定される。そして、各遅延回路
3A,3B,3Cは遅延時間の設定が異なるのみ
でその構成は全て同じである。従つて、図におい
ては、遅延回路3B,3Cについては乗算器、レ
ジスタ、メモリの番号を示すのみで、遅延回路3
Aについてのみ詳細構成を示している。 まず、第2残響音形成部2から出力される残響
音データRVD1は遅延回路3AのレジスタR12
に供給されるが、このデータRVD1をレジスタR
12に記憶させる前に、まず512語の記憶アドレ
スを有するメモリMD0にy1時間前に書込まれた
データRVD1(t−y1)を読出すため、遅延時間
y1時間に対応するメモリMD0のアドレスが設定
される。これによつて、メモリMD0かららy1
間前に書込まれたデータRVD1(t−y1)が読出
される。次に、このデータRVD1(t−y1)には
乗算器M30において、振幅レベル制御用の係数
K30が乗算され、その乗算値K30・RVD1(t−y1
はメモリMD0の入力側に帰還される。そして、
次にこの帰還データK30・RVD1(t−y1)と第1
残響音形成部2から現在時刻tに供給されるデー
タRVD1(t)とが加算され、その加算値「RVD1
(t)+K30・RVD1(t−y1)」はレジスタR12
に一時記憶される。次に遅延時間y1に対応するメ
モリMD0のアドレスが再び指定され、メモリ
MD0からy1時間前に書込まれたデータRVD1(t
−y1)が再び読出され、その読出しデータRVD1
(t−y1)がレジスタR13に一時記憶される。
次に、レジスタ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)が記憶されていたアドレスと同一アドレスに
書込まれる。 このようにして遅延回路3Aによる処理が終了
すると、レジスタR13に記憶されたデータ RVD1(t−y1)+K29・{RVD1(t) +K30・RVD1(t−y1)} は遅延回路3Bに送られ、その遅延回路3Bにお
いて回路3Aの場合と同様の処理が行なわれる。 ここで、遅延回路3A,3B,3Cの出力デー
タをRVD2A,RVD2B,RVD2Cで表わし、回路3
Bの遅延時間をy2、回路3Cの遅延時間y3とする
と、回路3A,3B,3CのレジスタR13,R
15,R17の出力データは次の第(4)式〜第(6)式
によつて表わされる。 RVD2A=RVD1(t−y1)+K29・{RVD1(t) +K30・RVD1(t−y1)} ……(4) RVD2BRVD2A(t−y2)+K31・{RVD2A(t) +K32・RVD2A(t−y2)} ……(5) RVD2CRVD2B(t−y3)+K33・{RVD2B(t) +K34・RVD2B(t−y3)} ……(6) そして、遅延回路3Cの出力データRVD2C
初期反射音に続く残響音を発生させるためのデー
タとしてスイツチ回路SWを経由して出力され
る。 ここで、各遅延回路3A,3B,3Cの遅延時
間を、 y1>y2>y3 の関係に設定した場合、第13図に示すように遅
延時間間隔の密な残響音を形成することができ
る。すなわち、遅延回路3Aは第1残響音形成部
2で形成された遅延時間間隔の粗い残響音データ
RVD1に基づき、第1残響音形成部2の遅延時間
間隔よりも短い時間間隔y1で第1の残響音データ
RVD2Aを形成し、遅延回路3Bは回路3Aの遅
延時間間隔y1よりもさらに短い時間間隔y2で第2
の残響音データRVD2Bを形成する。このため、
遅延回路3A〜3Cにおける残響音の形成処理が
進行するに伴つて遅延時間間隔の密な残響音が形
成されるようになる。 なお、遅延回路3A,3B,3Cにおけるレジ
スタR12,R14,R16は、自己の回路に関
する処理が終了した後は次のサンプリング周期ま
で使用しないので、時分割的に共用することがで
きる。 次に、第5図に示す実施例の具体的構成および
動作について説明する。なお、以下の説明では、
第5図に示す装置が上述した第6図の機能にした
がつて残響音の形成を行なうものとして述べる。 実施例の具体的構成 第5図に示す実施例の残響音付加装置は、大別
すると、記憶部10、時間情報発生部20、アド
レス情報発生部30、演算部40とから構成され
ている。 記憶部10は、第8図における遅延用のデイジ
タルメモリDMに相当するもので、ここでは複数
のメモリブロツクを有するデータメモリ100と
ラツチ101とから構成されている。データメモ
リ100においては、複数のメモリブロツクを利
用して、第14図に示すように、1語(16ビツ
ト)のメモリSD0〜SP15と、512語(1語は
16ビツト)のメモリMD0〜MD15と、2048語
(1語は16ビツト)のメモリD0〜D15が設け
られている。そして、このメモリSD0〜SD1
5,MD0〜MD15,D0〜D15に記憶すべ
きデータは演算部40から与えられ、データの記
憶アドレスおよび読出しアドレスはアドレス情報
発生部30から出力されるアドレス情報DM,
ADRによつて指定され、また各メモリSD0〜D
15から読出されたデータはラツチ101を介し
て演算部40に供給される構成になつている。 時間情報発生部20は第8図におけるデイレイ
レングスデータメモリDDMに相当するものであ
り、パラメーラ指定回路200とデイレイレング
スデータメモリ201とを備え、ここではデイレ
イレングスデータメモリ201はパラメータ指定
回路200からの指示により、残響特性の異なる
8種類の残響音(初期反射音も含む)それぞれに
対応して各データ遅延用のメモリD0〜D15,
MD0〜MD15に関する遅延時間情報DLDm
〔n〕(n:D0〜D15,MD0〜MD15のメ
モリを指示、m:1〜8の種類を指示)のうちい
ずれか1つの種類を選択的に出力するように構成
されている。すなわち、デイレイレングスデータ
メモリ201は、第15図に示すように、データ
遅延用のメモリD0〜D15,MD0〜MD15
それぞれに対応したメモリブロツクMB(D0)
〜MB(D15),MB(MD0)〜MB(MD15)
を備え、この各メモリブロツクMB(D0)〜
MB(MD15)はそれぞれ上述した8種類の残
響音に対応して8つの記憶アドレス「0」〜
「7」を有し、各メモリブロツクMB(D0)〜
MB(MD15)の各記憶アドレス「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〜D
15のメモリ番号「0〜15〓を指定する4ビツト
構成のメモリ番号情報DLn(n:0〜15)および
メモリの種別「D、MD、SD」を指定する2ビ
ツト構成のメモリ種別情報DLk(k:D、MD、
SD)が上位アドレス情報としてアドレス情報発
生部から供給されると、情報DLnおよびDLkで
指定されるメモリブロツク(MB(D0)〜MB
(MD15)のうち1つ)のうち、情報PSLで指
定される記記憶アドレス(「0」〜「7」)のうち
1つ)に記憶されている遅延時間情報DLDm〔n〕
が読出され、パラメータ指定回路200で指定し
た所望の残響特性の残響音の遅延時間関係を規定
する情報としてアドレス情報発生部30へ供給さ
れる。なお、メモリSD0〜SD15については、
遅延時間が固定(1・To)であるため、このメ
モリSD0〜SD15に対する遅延時間情報は必要
としない。また、パラメータ指定回路200から
は、パラメータ指定情報PSLとともに、8種類の
残響音を形成するための制御プログラムのうち所
望の制御プログラムの1つを選択する3ビツト構
成のプログラム選択情報PGSが出力される。 次に、アドレス情報発生部30は、時間情報発
生部20から出力される遅延時間情報DLDm〔n〕
およびプログラム選択情報PGSと、制御プログ
ラムの1ステツプの周期を定めるマスタクロツク
パルスφoとに基づき、所望の残響特性の残響音
を形成するためのデータメモリ100に対するア
ドレス情報DM・ADRを発生すると共に、各部
回路の動作を制御する各種の制御信号を発生する
ものであり、プログラムメモリ300、プログラ
ムカウンタ301、プログラムデコードメモリ3
02、制御信号出力レジスタ303、セレクタ3
04、アドレスカウンタ305、ラツチ306、
減算回路307、最大値検出回路308、アドレ
ス情報出力回路309とを備えている。 プログラムメモリ300には、8種類の残響特
性の残響音を形成するために8種類の制御プログ
ラムが予め記憶されており、どの種類の制御プロ
グラムを出力すべきかはパラメータ指定回路20
0からのプログラム選択情報PGSによつて指定
される。そして、指定された制御プログラムの内
容はマスタクロツクパルスφoをカウントするプ
ログラムカウンタ301の出力情報PCによつて
1ステツプ毎に順次読出される。 この場合、第6図で説明した初期反射音形成部
1、バンドパスフイルタBPF、第1残響音形成
部2、第2残響音形成部3の全ての処理を1サン
プリング周期(To)内で終了させるために、サ
ンプリング周波数を25KHz、マスタクロツクパル
スφoの周波数を4.8MHzとすると、1つの制御プ
ログラムのステツプ数は4800/25=192以内で構成さ れ、この192ステツプの制御プログラム内容が各
サンプリング周期To毎に実行される。そして、
各ステツプにおける制御プログラムとしては、第
2表に示すように、1ステツプが16ビツトの情報
から成るタイプ1、タイプ2、タイプ3の3種類
の内容が準備されており、初期反射音の形成、フ
イルタ処理、残響音の形成はこれら3種類の制御
プログラムの出力順序および各ビツト情報の内容
を適宜組合せることによつて行なわれる。
[Table] The information data ECH(t) selectively output by this switch circuit SW is converted into an analog signal by a DA converter (not shown) and then applied to a speaker, where it is produced as an early reflection sound for the input musical tone. . 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 randomly change as shown in FIG. 10. Here, the sampling period To of the input musical tone is
When the setting is 0.04ms (25KHz), when reading the amplitude data SPD (t-1626) stored at an address 1626 words away from the write address ADR (t) of the amplitude data SPD (t) at the current time t. , 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 amplitude data SPD(t) obtained by sampling the input musical tone at a predetermined period To 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 provided separately from the delay memory D0, and the amplitude data SPD(t)
A delay memory D10 (corresponding to the third delay circuit) delays j times and supplies the signal to the bandpass filter BPF, and amplitude data for delay time j supplied from this memory D10 (corresponding to the second delay circuit)
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 SPD (t-j), and the band-pass filter BPF.
A first reverberation sound forming section 2 having a comb-type filter configuration forms reverberation sound data RVD 1 with a coarse delay time interval based on the amplitude data SPD (t-j) that has passed through the reverberation sound data RVD 1 ; and a second reverberation sound forming section 3 having an all-pass filter configuration that forms reverberation sound data RVD 2 with close intervals. In such a configuration, the amplitude data SPD(t) sampled at the current time t is stored in the memory D1.
Of the 2048 word storage addresses at 0, the address ADR(t) corresponding to the current time t is written.
Next, the amplitude data SPD stored in the memory D10
Of (t), data SPD from j hours ago (t-j)
In order to read out the memory D1 corresponding to the delay time j
0 address is specified, and the amplitude data SPD (t-j) sampled j hours ago from the address
is read out. In this case, the amplitude data j hours ago
The address for reading SPD(t-j) is determined by the above-mentioned equation (1), as in the case of forming the early reflection sound. The delay time j is the memory D10
It can be set arbitrarily from a value according to the size of the address of 0 to 0, and can be set completely unrelated to the setting of early reflection sound.
The delay time i 10 for the reflected sound ECH 10 is set slightly larger (j>i 10 ). The amplitude data SPD(t-j) of the delay time j thus read 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・SPD(t-j) is stored in register R1
is temporarily stored. Next, one sampling time (1.
To) previously written amplitude data SPD (t-j-
1) is read and this data SPD(t-j-1)
is multiplied by a predetermined coefficient K12 in a multiplier M12. Next, the multiplication value output K12 of the multiplier M12
SPD(t-j-1) and the amplitude data K11・SPD(t-
j) are added, and the added value “K 12・SPD(t
−j−1)+K 11 ·SPD(t−j)” is temporarily stored again in register R1 and also temporarily stored in register R2. Next, the amplitude data SPD (t-j-1) written one sampling time (1.To) before the current time t is read out from the memory SD0 again, and this data SPD (t-j-1) is Multiplyed by a predetermined coefficient K13 in multiplier M13. Then, this multiplication value K13・SPD(t-j-1) is the value "K12・SPD" temporarily stored in register R2.
(t-j-1)+K 11・SPD(t-j)'', and the added value K 12・SPD(t-j-1) +K 11・SPD(t-j) +K 13・SPD(t -j-1) is again temporarily stored in register R2. Next, the value “K 12・SPD” temporarily stored in register R1 is
(t-j-1)+K 11・SPD(t-j)" is used in the next sampling period (t+1), so this value "K 12・SPD(t-j-1)+K 11・SPD(t −j)”
is written to memory SD0. By performing this operation for each sampling period, the low pass filter LPF
Amplitude data SPD (t-j) of j hours ago from which high frequency components in a predetermined band have been removed is output from register R2, and this amplitude data SPD (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 amplitude data SPD (t-j) of j hours ago in the same way as the low-pass filter. That is, the output data SPD (t-j) of the register R2 of the low-pass filter LPF is transmitted to the multiplier M14.
and is multiplied by a predetermined coefficient K14 in this multiplier M14. Then, the multiplication value K 14
SPD(t-j) is temporarily stored in register R3. Then a memory with one word storage address
Amplitude data SPD (t-j-1) written one sampling time (1.To) before is read from SD1, and a predetermined coefficient is applied to this data SPD (t-j-1).
K 15 is multiplied in multiplier M15. next,
Multiply value K15・SPD(t
−j−1) is added to the amplitude data K 14・SPD(t−j) from j hours ago temporarily stored in the register R3, and the added value “K 14・SPD(t−j)+
K15 ·SPD(t-j-1)'' is temporarily stored in register R3 and also temporarily stored in register R4. Next, the data SPD (t-j-
1) is read out again from the memory SD1, and this read data SPD(t-j-1) is multiplied by a predetermined coefficient K16 in the multiplier M16. Then, this multiplication value K16・SPD(t-j-1) is stored in register R4.
The value temporarily stored in “K 14・SPD(t−j)+
K 15・SPD(t−j−1)” and the added value K 16・SPD(t−j−1) +K 14・SPD(t−j) +K 15 .SPD(t−j−1) is temporarily stored in register R4. Next, the value “K 14・SPD(t
−j)+K 15・SPD(t−j−1) is used in the next sampling period (t+1), so this value “K 14・SPD(t−j)+K 15・SPD(t−j−1) ”
is written to memory SD1. By performing such an operation every sampling period To, the register R4 of the high-pass filter HPF outputs amplitude data SPD (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 amplitude data j hours ago from which low frequency components and high frequency components in a predetermined band are removed
SPD(tj) is input to the first reverberation sound forming section 2. The first reverberation sound forming section 2 includes three delay circuits 2A, 2B, and 2C arranged in parallel, each having a comb-type filter configuration having different delay times. 3 delay circuits 2A,
The reason why 2B and 2C are provided in parallel is that if the frequency characteristics of a delay circuit with a comb-type filter configuration were used alone, they would be wavy as shown by symbols A, B, and C in Figure 11, so this is to flatten the frequency characteristics. This is to make it more effective. That is, three delay circuits 2A, 2 with different delay times
By providing B and 2C in parallel, the overall frequency characteristics 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 the delay circuit 2A is set to be the longest, the delay time of the delay circuit 2B is the second longest, and the delay time of the delay circuit 2C is set to be the shortest. Each of the delay circuits 2A, 2B, and 2C has the same configuration, except for the delay time setting. Therefore, in the figure, only the numbers of multipliers, registers, and memories are shown for circuits 2B and 2C, and only delay circuit 2A is shown in detail. In the first reverberant sound forming section 2 having such a configuration, the amplitude data SPD (t-j) of j hours ago that has passed through the bandpass filter BPF is first subjected to a coefficient K17 for amplitude level control in the multiplier M17. Multiplyed. Then, the multiplication value K 17・SPD(t−
j) is temporarily stored in register R5 in multiplier M17. Next, the amplitude data written x 1 hour ago in memory D1 with storage address of 2048 words
In order to read SPD(t-x 1 ), the address of memory D1 corresponding to delay time x 1 is specified. By this, the amplitude data of x 1 hour ago is stored from memory D1.
SPD(t-x 1 ) is read. This amplitude data SPD (t-x 1 ) is then supplied to the adder SUM,
In this adder SUM, other memories D2 and D3
and the output data of the memories D4 to D6 and D7 to D9 of the delay circuits 2B and 2C, and are temporarily stored in the register R11 in the adder SUM. In this case, 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 content written to the register R11 in the adder SUM becomes the data SPD (t-x 1 ) read from the memory D1. On the other hand, the amplitude data read from memory D1
SPD(t-x 1 ) is multiplied by a coefficient K 18 for amplitude level control in multiplier M18 and then fed back to the input side of memory D1. And this multiplication value K 18
SPD (t-x 1 ) is the register R at the current time t.
Data temporarily stored in 5 K 17・SPD (t-j)
The added value K 17 ·SPD(tj)+K 18 ·SPD(tx 1 ) is temporarily stored in register R6. Next, the amplitude data “K 17・SPD(t
−j)+K 18 ·SPD(t−x 1 )” is written to the same address as the address where the amplitude data SPD(t−x 1 ) x 1 hours ago was stored. After this, the contents of register R6 are reset. The reason why the contents of register R6 are reset is because this register R6 will also be used for the 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
Amplitude data SPD (t-
x 2 ) For circular reading, the address of the memory D2 corresponding to the delay time x 2 is specified. As a result, the amplitude data SPD (t-x 2 ) sampled x 2 hours ago is read from the memory D2. Then, this amplitude data SPD (t-x 2 ) is added to the contents of the register R11 (the contents read from the memory D1) SPD (t-x 1 ) in the adder SUM, and the added value "SPD (t-x 1 )+SPD(t-x 2 )" is register R1
1 is temporarily stored. On the other hand, the amplitude data read from memory D2
SPD (t-x 2 ) is multiplied by a coefficient K 18 for amplitude level control in multiplier M19, and then stored in memory D2.
is fed back to the input side. And its multiplication value
K 19 · SPD (t-x 2 ) is added to the value K 17 · SPD (t-j) temporarily stored in register R5,
The added value “K 17・SPD (t-j) + K 19・SPD (t
-x 2 )" is temporarily stored in register R6. The data stored in this register R6 “K 17・SPD
(t-j)+ K19 ·SPD(t- x2 )'' is stored at the same address where the data SPD(t- x2 ) x 2 hours ago was stored. After this, register R
The contents of 6 are reset. Next, the processing of the memory D3 system is performed in the same manner as the processing of the memory D2 system. A third delay circuit is constituted by the above-mentioned memories D1, D2, and D3. 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 SPD(tx 1 ) + SPD (tx 2 ) + SPD(tx 3 ), and the contents stored in memory D3 are K 17・SPD(tj)+K 20・SPD( tx 3 ). Such processing is similarly performed in delay circuits 2B and 2C. Therefore, memories D4 and D in the delay circuit 2B
5, the delay time of each system of D6 is x 4 , x 5 ,
x 6 , and the memory D7 in the delay circuit 2C,
The delay time of each system of D8 and D9 is x 7 ,
x 8 and x 9 , the contents of the register R11 at the stage when all processes of the delay circuits 2A to 2C are completed are RVD 1 = 9n=1 SPD (t-x o ) = SPD (t-x 1 ) + SPD (t-x 2 ) + SPD (t-x 3 )
+SPD(t- x4 )+SPD(t- x5 ) +SPD(t- x6 )+SPD(t- x7 )+SPD(t- x8 )
+SPD(t- x9 ). As a result, following the early reflected sound, a reverberant sound is obtained in which the delay time interval is coarse and the amplitude level and delay time change regularly, as shown in FIG. Note that in FIG. 12, the reverberation sound only for the delay circuit 2A 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 input to the second reverberant sound forming section 3. The second reverberation sound forming section 3 includes delay circuits 3A, 3B having an all-pass filter configuration with flat frequency characteristics,
3C are provided in series. The reason why the three delay circuits 3A, 3B, and 3C are provided in series is to form reverberant sound data RVD 2 with a closer delay time interval than the reverberant sound data RVD 1 obtained in the first reverberant sound forming section 2 . It's for a reason. Therefore, the delay time of each delay circuit 3A, 3B, 3C in the second reverberant sound forming section 3 is set shorter than the delay time of each delay circuit 2A, 2B, 2C in the first reverberant sound forming section 2. . The delay circuits 3A, 3B, and 3C have the same configuration except for the delay time settings. Therefore, in the diagram, only the numbers of multipliers, registers, and memories are shown for delay circuits 3B and 3C, and delay circuit 3
The detailed configuration of only A is shown. First, the reverberant sound data RVD 1 output from the second reverberant sound forming section 2 is sent to the register R12 of the delay circuit 3A.
This data RVD 1 is sent to register R
12, the data RVD 1 (t-y 1 ) written y 1 hour ago is first read into the memory MD0 having a storage address of 512 words, so a delay time is required.
y The address of memory MD0 corresponding to 1 hour is set. As a result, data RVD 1 (t-y 1 ) written y 1 hour ago is read from memory MD0. Next, this data RVD 1 (t-y 1 ) is given a coefficient for amplitude level control in the multiplier M30.
K 30 is multiplied, and the multiplied value K 30・RVD 1 (t-y 1 )
is fed back to the input side of memory MD0. and,
Next, this feedback data K 30・RVD 1 (t−y 1 ) and the first
The data RVD 1 (t) supplied from the reverberation sound forming unit 2 at the current time t are added, and the added value “RVD 1
(t)+K 30・RVD 1 (t-y 1 )” is register R12
is temporarily stored. Next, the address of memory MD0 corresponding to delay time y 1 is specified again, and the memory
MD0 to y Data written 1 hour ago RVD 1 (t
−y 1 ) is read out again, and its read data RVD 1
(ty 1 ) is temporarily stored in register R13.
Next, the data “RVD 1 (t)+K 30 ·RVD 1 (t−y 1 )” temporarily stored in the register R12 is multiplied by the constant K 29 for amplitude level control in the multiplier M29. The multiplied value K 29 {RVD 1 (t) + K 30 · RVD 1 (t-y 1 )} is the value RVD 1 temporarily stored in the 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 3A is completed in this way, the data stored in the register R13 is RVD 1 (t-y 1 ) + K 29 · {RVD 1 (t) + K 30 · RVD 1 (t-y 1 )} The signal is sent to delay circuit 3B, and the same processing as in circuit 3A is performed in delay circuit 3B. Here, the output data of delay circuits 3A, 3B, and 3C are represented by RVD 2A , RVD 2B , and RVD 2C , and circuit 3
Assuming that the delay time of circuit B is y 2 and the delay time of circuit 3C is y 3 , registers R13 and R of circuits 3A, 3B, and 3C are
The output data of R15 and R17 are expressed by the following equations (4) to (6). RVD 2A = RVD 1 (t-y 1 ) + K 29・{RVD 1 (t) +K 30・RVD 1 (t-y 1 )} ...(4) RVD 2B RVD 2A (t-y 2 )+K 31・{RVD 2A (t) +K 32・RVD 2A (t-y 2 )} ...(5) RVD 2C RVD 2B (t-y 3 )+K 33・{RVD 2B (t) +K 34・RVD 2B (t- y 3 )} ...(6) Then, the output data RVD 2C of the delay circuit 3C is outputted via the switch circuit SW as data for generating reverberant sound following the initial reflected sound. Here, when the delay times of each delay circuit 3A, 3B, and 3C are set in the relationship y 1 > y 2 > y 3 , reverberant sound with dense delay time intervals is formed as shown in FIG. Can be done. That is, the delay circuit 3A uses the reverberant sound data formed by the first reverberant sound forming section 2 with a coarse delay time interval.
Based on RVD 1 , the first reverberant sound data is generated at a time interval y 1 shorter than the delay time interval of the first reverberant sound forming unit 2.
RVD 2A , and the delay circuit 3B performs a second delay at a time interval y 2 shorter than the delay time interval y 1 of the circuit 3A.
form the reverberant sound data RVD 2B . For this reason,
As the reverberation sound formation processing in the delay circuits 3A to 3C progresses, reverberation sounds with dense delay time intervals are formed. Note that the registers R12, R14, and R16 in the delay circuits 3A, 3B, and 3C are not used until the next sampling period after the processing related to their own circuits is completed, so that they can be shared in a time-division manner. Next, the specific configuration and operation of the embodiment shown in FIG. 5 will be explained. In addition, in the following explanation,
The following description will be made assuming that the apparatus shown in FIG. 5 forms reverberation sound according to the function shown in FIG. 6 described above. Specific Configuration of the Embodiment The reverberation sound adding device of the embodiment shown in FIG. 5 is roughly divided into a storage section 10, a time information generation section 20, an address information generation section 30, and a calculation section 40. The storage section 10 corresponds to the delay digital memory DM in FIG. 8, and here is composed of a data memory 100 having a plurality of memory blocks and a latch 101. The data memory 100 uses a plurality of memory blocks to store one word (16 bits) of memory SD0 to SP15 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 the address information DM, which is output from the address information generation unit 30.
specified by ADR, and each memory SD0~D
The data read from the latch 15 is supplied to the arithmetic unit 40 via the latch 101. The time information generating section 20 corresponds to the delay length data memory DDM in FIG. 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
[n] (n: indicates the memory types D0 to D15, MD0 to MD15, m: indicates the types 1 to 8) is configured to selectively output one type. That is, as shown in FIG. 15, the delay length data memory 201 includes data delay memories D0 to D15 and MD0 to MD15.
Memory block MB (D0) corresponding to each
~MB (D15), MB (MD0) ~MB (MD15)
Each memory block MB (D0) ~
MB (MD15) has eight memory addresses "0" to "0" corresponding to the eight types of reverberant sounds mentioned above.
Each memory block MB (D0) ~
Each memory address “0” to “7” of MB (MD15)
Each has different delay time information DLD 1 [D0]
~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 instruction information PSL indicating the reverberation characteristics of the reverberant sound to be generated is supplied from the parameter instruction circuit 200 as lower address information, and is further supplied to the memories MD0 to MD15, D0 to D.
Memory number information DLn (n: 0 to 15) with a 4-bit configuration that specifies the 15 memory numbers “0 to 15〓, and memory type information DLk (n: 0 to 15) with a 2-bit configuration that specifies the memory type “D, MD, SD” ( k: D, MD,
SD) is supplied from the address information generator as upper address information, the memory blocks (MB (D0) to MB
Delay time information DLD m [n] stored in one of the storage addresses (“0” to “7”) specified by the information PSL among (one of (MD15))
is read out and supplied to the address information generating section 30 as information defining the delay time relationship of reverberant sound having the desired reverberation characteristic specified by the parameter specifying circuit 200. Regarding memory SD0 to SD15,
Since the delay time is fixed (1.To), delay time information for the memories SD0 to SD15 is not required. In addition, the parameter designation circuit 200 outputs, together with the parameter designation information PSL, 3-bit program selection information PGS for selecting one of the desired control programs from among the eight types of control programs for forming reverberant sounds. 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 φo that determines the period of one step of the control program, address information DM/ADR for the data memory 100 for forming reverberant sound with desired reverberation characteristics is generated. , a program memory 300, a program counter 301, and a program decode memory 3.
02, control signal output register 303, selector 3
04, address counter 305, latch 306,
It includes 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 φo. In this case, all processes of the early reflected sound forming section 1, bandpass filter BPF, first reverberant sound forming section 2, and second reverberating sound forming section 3 explained in FIG. 6 are completed within one sampling period (To). If the sampling frequency is 25 KHz and the frequency of the master clock pulse φo is 4.8 MHz, the number of steps in one control program is within 4800/25 = 192, and the control program contents of these 192 steps are Executed every cycle To. and,
As shown in Table 2, three types of control programs are prepared for each step: type 1, type 2, and type 3, each step consisting of 16 bits of information. The filter processing and the formation of reverberant sound 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・ADRn,RGn,DLn,
ADR〔Kn〕の如く制御信号出力レジスタ303
を介してそのまま出力されるものと、メモリの書
込み制御信号WR1などの如くプログラムデコー
ドメモリ302によつてデコードされた後制御信
号出力レジスタ303を介して出力されるものと
が有り、後者はオペレーシヨンコードOPCとし
てプログラムメモリ300からプログラムデコー
ドメモリ302に与えられる。なお、第2表の内
容の詳細については全体の動作説明とともに後述
する。 一方、アドレスカウンタ305は第16図に示
すように遅延用のメモリD0〜D15,MD0〜
MD15のそれぞれに対応したアドレスカウンタ
AC(D0)〜AC(D15),AC(MD0)〜AC
(MD15)を備えている。このアドレスカウン
タ305における各カウンタAC(D0)〜AC(D
15),AC(MD0)〜AC(MD15)は、メモ
リ番号情報DLnおよびメモリ種別情報DLkによ
つて選択的に動作状態とされる。情報DLnおよび
DLkによつて動作状態となつたアドレスカウン
タAC(n)(n:D0〜D15,MD0〜MD1
5)のカウント出力情報ADR〔n〕はラツチ30
6を介してアドレス情報出力回路309へ供給さ
れると共に、減算回路307へ供給される。この
場合、アドレスカウンタAC(n)の出力情報
ADR〔n〕はメモリD0〜D15,MD0〜MD
15のうちメモリD0〜D15が2048語のアドレ
ス長となつているため、2048語までのアドレス範
囲を指定できるように11ビツトで構成されてい
る。なお、アドレスカウンタ305はRAMから
構成される。 減算回路307は、ラツチ306を介して入力
されたアドレスカウンタAC(n)の出力内容
ADR〔n〕から「1」を減じ、その減算値
「ADR〔n〕−1」を次のサンプリング周期(t+
1)において使用するためセレクタ304のA側
入力に帰還する。同時に、最大値検出回路308
に供給する。最大値検出回路308は第8図の検
出回路MXDに相当するものであり、メモリ番号
情報DLnおよびメモリ種別情報DLkにより指定
されたアドレスカウンタAC(n)の出力情報
ADR〔n〕から〔1〕を減じた情報「ADR〔n〕
−1」が最大値(全ビツトが“1”)に達したこ
とを検出すると、セレクタ304に対しB側入力
を選択させるセレクタ制御信号SLBを出力する。
セレクタ304においては、A側入力に減算回路
307の出力情報「ADR〔n〕−1」が入力され、
B側入力にデイレイレングスデータメモリ201
の出力情報DLDm〔n〕が入力され、その出力は
アドレスカウンタ305のデータ入力に供給され
て情報DLn,DLkにより指定されるアドレスカ
ウンタAC(n)に対して書込み制御信号WR3に
より書込まれる(プリセツトされる)構成となつ
ている。従つて、情報DLn,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〕が入力され、書込み制
御信号WR3により書込まれる。従つて、アドレ
スカウンタAC(n)の内容は、セレクタ制御信号
SLBの発生により「DLDm〔n〕」になつた後、サ
ンプリング時刻の経過とともに「0」の方向へ順
次変化するものとなる。すなわち、セレクタ30
4、アドレスカウンタ305、ラツチ306、減
算回路307、最大値検出回路308とから成る
部分では、情報DLn、DLkで指定されるアドレ
スカウンタAC(n)において遅延時間情報DLDm
〔n〕に対応する遅延時間に等しい周期で一巡す
るアドレス情報ADR〔n〕が形成される。 このアドレス情報ADR〔n〕はアドレス情報出
力回路309へ供給される。 アドレス情報出力回路309は、メモリSD0
〜SD15、メモリD0〜D15、メモリMD0
〜MD15に対する情報の読出しおよび書込みの
ためのアドレス情報を出力するものである。この
アドレス情報出力回路309は、メモリD0から
io時間遅れた情報を読出して初期反射音ECH(t)
を形成する場合には、第1反射音ECH1〜第10反
射音ECH10の各遅延時間ioに対応する11ビツトの
アドレス情報OF・ADRo(制御信号出力レジスタ
303から出力される)を下位アドレス情報と
し、その上位にメモリ番号情報DLnおよびメモリ
種別情報DLkを付加し、この1組の情報OF,
ADRn,DLn,DLkをアドレス情報DM・ADR
として出力する。また、現在時刻でサンプリング
した振幅データSPD(t)をメモリD0に書込む
場合、メモリD0に対応するアドレスカウンタ
AC(D0)の出力情報ADR〔D0〕を下位アドレ
ス情報とし、その上位にメモリD0を指定する情
報DLn(=DLo)およびDLk(=DLD)を付加し、
この1組の情報ADR〔D0〕,DLn,DLkをアド
レス情報DM・ADRとして出力する。また、メ
モリSD0〜〜SD15に対して振幅データの書込
みおよび読出しを行う場合、下位アドレス情報の
全ビツトを“0”とし、その上位にメモリSD0
〜SD15を指定する情報DLn(=DL0〜DL15)お
よびDLk(=DLSD)を付加してアドレス情報
DM・ADRとして出力する。また、残響音
RVD1,RVD2を形成する場合には、メモリD1
〜D15,MD0〜MD15のそれぞれに対応す
るアドレスカウンタAC(D1)〜AC(D15),
AC(MD0)〜AC(MD15)の各出力情報ADR
〔D1〕〜ADR〔D15〕,ADR〔MD0〕〜ADR
(MD15〕を下位アドレス情報とし、その上位
に情報DLnおよびDLkを付加し、これら1組の
情報ADR〔n〕,DLn,DLkをアドレス情報DM,
ADRとして出力する。この場合、情報DLnおよ
びDLkの下位に情報OF,ADRoを付加すべき時
には制御信号出力レジスタ303から制御パルス
GP1が出力される。また、情報DLnおよびDLk
の下位に付加する下位アドレス情報の全ビツトを
“0”にすべき時には、制御信号出力レジスタ3
03から制御パルスGP2が出力される。 なお、アドレス情報出力回路309は、情報
DLnおよびDLkを一時記憶するレジスタを内部
に備えている。 次に、演算部40は、メモリD0〜D15,
MD0〜MD15,SD0〜SD15に記憶させる
データおよび各メモリから読出したデータの振幅
レベル制御を行うもので、係数メモリ400、セ
レクタ401、演算回路402、テンポラレジス
タ403、ラツチ404とを備えている。 係数メモリ400は、デイレイレングスデータ
メモリと同様、残響特性の異なる8種類の残響音
に対応して8個のメモリブロツクを有し、各メモ
リブロツクには各種類別の残響音を形成するため
に必要な一組の係数Kn(n:1〜32)が予め記憶
されている。そして、パラメータ指定回路200
からパラメータ指定情報PSLが供給され、かつ係
数Knを指定するアドレス情報ADR〔Kn〕が制御
信号出力レジスタ303から供給されると、情報
PSLで指定されるメモリブロツクのうち情報
ADR〔Kn〕で指定されるアドレスから係数Knが
読出され、演算回路402の演算入力(A)に供給さ
れる構成になつている。 セレクタ401は、A側入力にサンプルホール
ド回路SPHによりサンプリングされた入力楽音
の振幅データSPD(t)が入力され、B側入力に
記憶部10からの読出しデータMRDが入力さ
れ、C側入力にラツチ404を介してテンポラリ
レジスタ403の出力データRGDがが入力され
ており、これらの入力データSPD(t),MRD,
RGDは制御信号出力レジスタ303から出力さ
れるセレクタ制御信号SL1(2ビツト構成)に
よつていずれか1つが選択され、演算回路402
の演算入力(X)に供給されている。 演算回路402は、演算入力(A)に係数メモリ4
00から読出された係数Knが入力され、演算入
力(B)にラツチ04を介してテンポラリレジスタ4
03の出力データ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、記憶部10、出力レジスタ50
0に供給する構成になつている。 テンポラリレジスタ403は、初期反射音
ECH(t)、残響音RVD1,RVD2の形成過程にお
ける演算回路402の演算値(Y)を一時記憶
し、その記憶内容をレジスタ出力データRGDと
してセレクタ401のC側入力および演算回路4
02の演算入力(B)に帰還するもので、5ビツト構
成のレジスタ指定情報RGn(n:1〜32)により
指定される32個のレジスタR0〜R31を有し、
入力データは情報RGnにより指定されたレジス
タR0〜R31に対し書込み制御信号WR1の制
御によつて書込まれる。 次に、出力レジスタ500は、演算回路402
の演算値(Y)として得られた初期反射音の瞬時
値ECH(t)および初期反射音に続く残響音の瞬
時値RVD(t)を書込み制御信号WR2によつて
取込み、この取込みデータを減衰器501を介し
てDA変換器(DAC)502に供給する。 なお、セレクタ401におけるセレクタ制御信
号SL1および演算回路402における演算制御
信号CTLは、制御信号出力レジスタ303から
出力されるオペレーシヨンコードOPCに含まれ
るものである。 次に、以上の構成の動作について説明する。 動作説明 a 初期反射音の形成動作 初期反射音BCH(t)を形成する場合、 (1) まず、現在時刻tでサンプリングした入力
楽音の振幅データSPD(t)をメモリD0に
書込むため、 SL1;SELECT(A) CTL;(Y)=(X) で示される内容のセレクタ制御信号SL1お
よび演算制御信号CTLがオペレーシヨンコ
ードOPCとして制御信号出力レジスタ30
3から出力される。これによつて、セレクタ
401はサンプリングホールド回路SPHか
ら出力される振幅データSPD(t)を演算回
路402の演算入力(X)に供給する。ま
た、演算回路402は、演算入力(X)に入
力された振幅データSPD(t)を演算値
(Y)として出力する。 (2) 次に、現在のサンプリング時刻(t)に対
応したメモリD0のアドレスを指定した上、
このアドレスに演算回路402の出力データ
SPD(t)を書込むため、 DLn;DLo DLk;DLD WR4;“1”(WRITE) L3 ;“1”(LATCH) で示される内容のメモリ種別情報DLk、書
込み制御信号WR4、ラツチ制御信号L3が
オペレーシヨンコードOPCとして、またメ
モリ番号情報DLnが制御信号出力レジスタ3
03から出力される。 これによつて、メモリD0に対応したアド
レスカウンタAC(D0)の出力情報ADR〔D
0〕が現在時刻tの振幅データSPD(t)を
書込むための下位アドレス情報としてラツチ
306にラツチされる。そして、このラツチ
された下位アドレス情報ADR〔D0〕は、ア
ドレス情報出力回路309においてその上位
にメモリ番号情報DLn(=DLo)およびメモ
リ種別情報DLk(=DLD)が付加されてメモ
リD0に対する振幅データSPD(t)の書込
みアドレス情報DM・ADRとして出力され
る。これにより、演算回路402を介してメ
モリD0のデータ入力に与えられている現在
時刻tの振幅データSPD(t)は書込み制御
信号WR4によつて現在時刻tに対応したア
ドレスに書込まれる。 (3) 次に、各サンプリング時刻毎の初期反射音
の合成値を記憶するレジスタR0をクリアす
るため、 RGn;R0 CTL;(Y)=0 WR1;“1”(WRITE) で示される内容の演算制御信号CTL、書込
み制御信号WR1がオペレーシヨンコード
OPCとして、またレジスタ番号情報RGnが
制御信号出力レジスタ303から出力され
る。 これによつて、レジスタR0には「0」が
書込まれる。すなわち、レジスタR0はクリ
アされる。 (4) 次に、第1反射音ECH1を形成するため、 OF・ADRn;OF・ADR1 DLk;DLD GP1;“1” L2;“1”(LATCH) で示される内容のメモリ種別情報DLk、制
御パルスGP1、ラツチ制御信号L2がオペ
レーシヨンコードOPCとして、また第1反
射音ECH1の遅延時間i1に対応したアドレス
情報OF・ADRnが制御信号出力レジスタ3
03から出力される。この場合、アドレス情
報出力回路309には前記ステツプ(3)におけ
るメモリ番号情報DLn(=DLo)が保持され
ている。 これによつて、アドレス情報出力回路30
9は、遅延時間i1に対応したアドレス情報
OF・ADR1を下位アドレス情報とし、メモ
リ番号情報DLn(=DLo)、メモリ種別情報
DLk(=DLD)を上位アドレス情報とし、メ
モリD0からi1時間前に書込んだ振幅データ
SPD(t−i1)を読出すためのアドレス情報
DM・ADRとして出力する。これにより、
メモリD0からi1時間前の振幅データSPD
(t−i1)が読出され、この読出しデータ
SPD(t−i1)はラツチ制御信号L2によつ
てラツチ101にラツチされる。 (5) 次に、レジスタR0の現在値をラツチ40
4に転送するため、 RGn;R0 L1 ;“1”(LATCH) で示される内容のラツチ制御信号L1がオペ
レーシヨンコードとして、またレジスタ番号
情報RGnが制御信号出力レジスタ303か
ら出力される。これによつて、レジスタR0
の現在値はラツチ404に転送されて記憶さ
れる。 (6) 次に、i1時間前の振幅データSPD(t−i1
に振幅レベル制御用の係数K1を乗算し、第
1反射音ECH1に関する瞬時値K1・SPD(t
−i1)を得るため、 ADR〔Kn〕;ADR〔K1〕 SL1;SELECT(B) CTL;(A)・(X)+(B)〕(Y) で示されるセレクト制御信号SL1、演算制
御信号CTLがオペレーシヨンコードOPCと
して、また定数読出し用のアドレス情報
ADR〔Kn〕が制御信号出力レジスタ303
から出力される。 これによつて、係数メモリ400から第1
反射音ECH1に関する係数K1が読出されて演
算回路402の演算入力(A)に供給される。ま
た、セレクタ401は、B側選択入力にラツ
チ101から供給されているi1時間前の振幅
データSPD(t−i1)を選択し、該データ
SPD(t−i1)を演算回路402の演算入力
(X)に供給する。また、演算回路402は (Y)=(A)・(X)+(B)=K1・SPD(t−i1)+
〔R0〕 で示される演算を行なう。この場合、レジス
タR0の内容は前述のステツプ(3)においてク
リアされているため、ここでは第1反射音
ECH1に関する瞬時値K1・SPD(t−i1)が
演算回路402の演算値(Y)として得られ
る。 (7) 次に、第1反射音ECH1の瞬時値K1・SPD
(t−i1)をレジスタR0に転送して記憶さ
せるため、 RGn=R0 WR1;“1”(WRITE) で示される内容の書込み制御信号WR1がオ
ペレーシヨンコードORCとして、またレジ
スタ番号情報RGnが制御信号出力レジスタ
303から出力される。 これによつて、演算回路402の出力デー
タ(Y)=K1・SPD(t−i1)がレジスタR0
に書込まれる。 ここまでのステツプを終了することによ
り、レジスタR0には第1反射音ECH1の瞬
時値K1・SPD(t−i1)が得られる。 (8) 次に、第2反射音ECH2〜第10反射音
ECH10に関する瞬時値K2・SPD(t−i2)〜
K10・SPD(t−i10)が前述のステツプ(4)〜
(7)と同様にして形成される。従つて、第10反
射音ECH10に関するステツプ(7)の動作を終了
した段階では、レジスタR0には第1反射音
ECH1〜第10反射音ECH10の瞬時値の総和 10n=1 Kn×SPD(t−io)が得られる。 そして、この総和10n=1 Kn・SPD(t−io) は出力レジスタ500に対して書込み制御信号
WR2によつて書込まれ、減衰器501に転送さ
れる。 b フイルタ動作 フイルタ動作を行う場合 (1) まず、メモリD10からj時間前の振幅デ
ータSPD(t−j)を読出すため、 DLn;DL10 DLk;DLD L3 ;“1”(LATCH) L2 ;“1”(LATCH) で示される内容のメモリ種別情報DLk、ラ
ツチ制御信号L3,L2がオペレーシヨンコ
ードOPCとして、またメモリ番号情報DLn
が制御信号出力レジスタ303から出力され
る。 これによつて、メモリD10に対応したア
ドレスカウンタAC(D10)の出力情報
ADR〔D10〕がj時間前の振幅データSPD
(t−j)を読出すための下位アドレス情報
としてラツチ306にラツチされる。そし
て、このラツチされた下位アドレス情報
ADR〔D10〕は、アドレス情報出力回路3
09においてその上位にメモリ番号情報DLn
(=DL10)およびメモリ種別情報DLk(=
DLD)が付加されてデータメモリ100のD
10に対して振幅データSPD(t−j)の読
出しアドレス情報DM・ADRとして出力さ
れる。これにより、メモリD10からj時間
前の振幅データSPD(t−j)が読出され、
この読出しデータSPD(t−j)はラツチ制
御信号L2によりラツチ101にラツチされ
る。 (2) 次に、現在時刻tでサンプリングした振幅
データSPD(t)を振幅データSPD(t−j)
の読出しアドレスと同一アドレスに書込むた
め、 SL1;SELECT(A) CTL;(Y)=(X) で示される内容のセレクト制御信号SL1お
よび演算制御信号CTLがオペレーシヨンコ
ードOPCとして制御信号出力レジスタ30
3から出力される。これによつて、セレクタ
401はサンプリングホールド回路SPHか
ら出力される振幅データSPD(t)を演算回
路402の演算入力(X)に供給する。ま
た、演算回路402は、演算入力(X)に入
力された振幅データSPD(t)を演算値
(Y)として出力する。 (3) 次に、振幅データSPD(t)をメモリD1
0に書込むため、 DLn;DL10 DLk;DLD WR4;“1”(WRITE) L3 ;“1”(LATCH) で示される内容のメモリ種別情報DLk、書
込み制御信号WR4、ラツチ制御信号L3が
オペレーシヨンコードOPCとして、またメ
モリ番号情報DLnが制御信号出力レジスタ3
03から出力される。 これによつて、メモリD10に対応したア
ドレスカウンタAC(D10)の出力情報
ADR〔D10〕が現在時刻tの振幅データ
SPD(t)を書込むための下位アドレス情報
としてラツチ306にラツチされる。そし
て、このラツチされた下位アドレス情報
ADR〔D10〕は、アドレス情報出力回路3
09においてその上位にメモリ番号情報DLn
(=DL10)およびメモリ種別情報DLk(=
DLD)が付加されてメモリD10に対する振
幅データSPD(t)の書込みアドレス情報
DM・ADRとして出力される。これにより、
演算回路402を介してメモリD10のデー
タ入力に与えられている現在時刻tの振幅デ
ータSPD(t)は書込み制御信号WR4によ
つて現在時刻tに対応したアドレスに書込ま
れる。 (4) 次に、ローパスフイルタLPFにおいて、
レジスタR1の内容、係数K11、j時間前の
振幅データSPD(t−j)により、 〔R1〕+K11・SPD(t−j) を演算し、この演算値をレジスタR1に再び
記憶させるため、まず、 RGn;R1 L1;“1”(LATCH) の内容で示されるラツチ制御信号L1がオペ
レーシヨンコードORCとして、またレジス
タ番号情報RGnが制御信号出力レジスタ3
03から出力され、レジスタR1の内容がラ
ツチ404に転送される。 (5) 次に、K11・SPD(t−j)の演算を行う
ため、 ADR〔Kn);ADR〔K11〕 SL1;SELECT(B) CTL;(Y)=(A)・(X)+(B) で示される内容のセレクタ制御信号SL1、
演算制御信号CTLがオペレーシヨンコード
ORCとして、また定数読出し用のアドレス
情報ADR〔Kn〕が制御信号出力レジスタ3
03から出力される。 これによつて、係数メモリ400から係数
K11が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401は先
のb−(1)のステツプでラツチ101にラツチ
されている振幅データSPD(t−j)を選択
し、演算回路402の演算入力(X)に供給
する。これによつて、演算回路402は、 (Y)=A・(X)+(B) =K11・SPD(t−j)+R1 の演算を行う。この場合、レジスタR1の内
容は前回のサンプリング時刻(t−1)にお
けるフイルタ処理が終了した段階でクリアさ
れているため、このステツプではK11・SPD
(t−j)が演算値(Y)として得られる。 (6) 次に、この演算値(Y)=K11・SPD(t−
j)をレジスタR1に記載させるため、 RGn;R1 WR1;“1”(WRITE) の内容で示される書込み制御信号WR1がオ
ペレーシヨンコードORCとして、またレジ
スタ番号情報RGnが制御信号出力レジスタ
303から出力される。 これによつて、演算回路402の出力デー
タK11・SPD(t−j)がレジスタR1に記
憶される。 (7) 次に、メモリSD0から(j−1)時間前
の振幅データSPD(t−j−1)を読出すた
め、 DLn;DLo DLk;DLSD GP2;“1” L2 ;“1”(LATCH) で示される内容のメモリ種別情報DLk、ラ
ツチ制御信号L2、ゲートパルス信号GP2
がオペレーシヨンコードORCとして、また
メモリ番号情報DLnが制御信号出力レジスタ
303から出力される。すると、アドレス情
報出力回路309は、下位アドレス情報の全
ビツトを“0”にし、その上位にメモリ番号
情報DLn(=DLo)およびメモリ種別情報
DLk(wDLSD)を付加し、メモリSD0に対す
るアドレス情報DM・ADRとして出力する。
これにより、メモリSD0から(j−1)時
間前の振幅データSPD(t−j−1)が読出
され、ラツチ101にラツチされる。 (8) 次に、レジスタR1の内容K11・SPD(t
−j)、係数K12、ラツチ101にラツチさ
れている振幅データSPD(t−j−1)によ
り K12・SPD(t−j−1)+〔R1〕 を演算し、この演算値をレジスタR1に再び
記憶させるため、まず RGn;R1 L1 ;“1”(LATCH) で示される内容のラツチ制御信号L1がオペ
レーシヨンコードORCとして、またレジス
タ番号情報RGnが制御信号出力レジスタ3
03から出力され、レジスタR1の内容
K11・SPD(t−j)がラツチ404に転送
される。 (9) 次に、K12・SPD(t−j−1)+〔R1〕の
演算を行うため、 ADR〔Kn〕;ADR〔K12〕 SL1;SELECT(B) CHL;(Y)=(A)・(X)+(B) で示される内容の信号SL1,STLがオペレ
ーシヨンコードOPCとして、またアドレス
情報ADR〔Kn〕が制御信号出力レジスタ3
03から出力される。 これによつて、係数メモリ400から係数
K11が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ101にラツチされている振幅データ
SPD(t−j−1)を選択して演算回路40
2の演算入力(X)に供給する。これによつ
て、演算回路402は (Y)=(A)・(X)+(B) =K12・SPD(t-j-1) +K11・SPD(t-j) の演算値(Y)を出力する。そして、この演
算値(Y)は次のステツプでレジスタR1お
よびR2に記憶される。これにより、レジス
タR1およびR2の内容は、 〔R1〕=〔R2〕=K12・SPD(t−j−1)+
K11・SPD(t−j)となる。 (10) 次に、レジスタR2の内容、係数K13、メ
モリSD0に記憶されている(j−1)時間
前の振幅データSPD(t−j−1)により、
K13・SPD(t−j−1)+〔R2〕の演算を行
うため、まず、前述のb−(7)のステツプと同
様にして振幅データSPD(t−j−1)がメ
モリSD0から読出され、ラツチ101にラ
ツチされる。 (11) 次に、レジスタR2の内容をラツチ404
に転送するため、前述のb−(8)のステツプと
同様にしてレジスタR2の内容K12・SPD
(t−j−1)+K11・SPD(t−j)がラツ
チ404へ転送される。 (12) 次に、係数K13を読出してK13・SPD(t−
j−1)+〔R2〕の演算を行うため、 ADR〔Kn〕;ADR〔K13〕 SL1;SELECT(B) CTL;(Y)=(A)・(X)+(B) で示される内容の信号SL1,CTLがオペレ
ーシヨンコードORCとして、またアドレス
情報ADR〔Kn〕が制御信号出力レジスタ3
03から出力される。 これによつて、係数メモリ400から係数
K11が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ101にラツチされている振幅データ
SPD(t−j−1)を選択して演算回路40
2の演算入力(X)に供給する。 これにより、演算回路402は (Y)=(A)・(X)+(B) =K13・SPD(t−j−1) +K12・SPD(t-j-1) +K11・SPD(t-j) の演算値(Y)を出力する。そして、この演
算値(Y)は次のステツプでレジスタR2に
記憶され、このレジスタR2を介してハイパ
スフイルタHPFに供給される。 (13) ローパスフイルタLPFにおける最終ステ
ツプでは、レジスタR1の内容をメモリSD
0に書込み、次のサンプリング時刻(t+
1)で使用するため、まずレジスタR1の内
容「K12・SPD(t−j−1)+K11・SPD(t
−j)」が前述のb−(8)のステツプと同様に
してラツチ404に転送された後、演算回路
402に(Y)=(B)の演算を行なわせ、その
演算値「(Y)=K12・SPD(t−j−1)+
K11・SPD(t−j」がメモリSD0に書込ま
れる。この書込み動作は、 DLn;DLo DLk;DLSD GP2;“1” WR4;“1”(WRITE) で示される内容のオペレーシヨンコード
ORCとメモリ番号情報DLn制御信号出力レ
ジスタ303から出力されることによつて行
なわれる。 ローパスフイルタLPFの動作が終了する
と次にハイパスフイルタHPFの動作が行な
われるが、このハイパスフイルタHPFの動
作については説明を省略する。 次に、遅延時間間隔の粗い残響音RVD1
形成動作について説明する。 c 残響音RVD1の形成動作 残響音RVD1を形成する場合、 (1) まず、ハイパスフイルタHPFのレジスタ
R4の記憶データSPD(t−j)に係数K17
を乗算し、その乗算値K17・SPD(t−j)
をレジスタR5に記憶させるため、 RGn;R4 L1 ;“1”(LATCH) で示される内容のラツチ制御信号L1および
レジスタ番号情報RGnが制御信号出力レジ
スタ303から出力され、レジスタR4の内
容SPD(t−j)がラツチ404に転送され
る。 (2) 次に、K17・SPD(t−j)を演算するた
め、 ADR〔Kn〕;ADR〔K17〕 SL1;SELECT(C) CTL;(Y)=(A)・(X) で示される内容のセレクタ制御信号SL1、
演算制御信号CTL、係数読出し用のアドレ
ス情報ADR〔Kn〕が制御信号出力レジスタ
303から出力される。 これにより、係数メモリ400から係数
K17が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ404にラツチされているデータSPD
(t−j)を選択して演算回路402の演算
入力(X)に供給する。 これにより、演算回路402は (Y)=(A)・(X)=K17・SPD(t−j) の演算値(Y)を出力する。この演算値
(Y)は次のステツプでレジスタR5に記憶
される。 (3) 次に、メモリD1からx1時間前の振幅デー
タSPD(t−x1)を読出し、このデータSPD
(t−x1)とレジスタR11の現在値とを加
算し、その加算値を再びレジスタR11に記
憶させるため、まず、 DLn;DL1 DLk;DLD L3 ;“1”(LATCH) L2 ;“1”(LATCH) で示される内容のラツチ制御信号L3,L2
と、メモリ番号情報DLnおよびメモリ種別情
報DLkが制御信号出力レジスタ303から
出力される。 これにより、メモリD1に対応したアドレ
スカウンタAC(D1)の出力情報ADR〔D
1〕が振幅データSPD(t−x1)を読出すた
めの下位アドレス情報としてラツチ306に
ラツチされる。そして、この下位アドレス情
報ADR〔D1〕はアドレス情報出力回路30
9においてその上位にメモリ番号情報DLnお
よびメモリ種別情報DLkが付加されて、デ
ータメモリ100に対してメモリD1のアド
レス情報DM・ADRとして出力される。こ
れにより、メモリD1からx1時間前の振幅デ
ータSPD(t−x1)が読出され、ラツチ10
1にラツチされる。 (4) 次に、この読出しデータSPD(t−x1)と
レジスタR11の現在値とを加算するため、
レジスタR11の内容がラツチ404に転送
された後、 SL1;SELECT(B) CTL;(Y)=(Y)+(B) で示される内容のセレクタ制御信号SL1お
よび演算制御信号CTLが制御信号出力レジ
スタ303から出力される。 すると、セレクタ401はラツチ101に
ラツチされている振幅データSPD(t−x1
を選択して演算回路402の演算入力(X)
に供給する。これにより、演算回路402は (Y)=(X)+(B)=〔R11〕+SPD(t−x1) で示される演算値(Y)を出力する。この場
合、レジスタR11の内容は前回のサンプリ
ング時刻(t−1)における動作を終了した
段階でクリアされている。このため、このス
テツプ(4)における演算値(Y)はSPD(t−
x1)となる。この後、演算値(Y)はレジス
タR11に転送されて記憶される。 (5) 次に、メモリD1から振幅データSPD(t
−x1)を読出し、これに係数K18を乗算し、
さらにその乗算値K18・SPD(t−x1)とレ
ジスタR5の内容「K17・SPD(t−j)」と
の加算値をレジスタR6に再び記憶させるた
め、まず前述のc−(1)のステツプと同様にし
てレジスタR5の内容「K17・SPD(t−
j)」がラツチ404に転送される。 (6) 次に、ラツチ101にラツチされている振
幅データSPD(t−x1)、ラツチ404にラ
ツチされているデータ「K17・SPD(t−
j)」、係数K18とにより、 (Y)=K18・SPD(t−x1)+K17・SPD(t
−j) の演算を行うため、 ADR〔Kn〕;ADR〔K18〕 SL1;SELECT(B) CTL;(Y)=(A)・(X)+(B) で示される内容のセレクタ制御信号SL1、
演算制御信号CTL、係数読出し用のアドレ
ス情報ADR〔Kn〕が制御信号出力レジスタ
303から出力される。 これにより、係数メモリ400から係数
K18が読出されて演算回路402の演算入力
(A)に供給される。また、セレクタ401はラ
ツチ101にラツチされている振幅データ
SPD(t−x1)を選択して演算回路402の
演算入力(X)に供給する。 これにより、演算回路402は (Y)=(A)・(X)+(B) =K18・SPD(t−x1) +K17・SPD(t−j) を出力する。そして、この演算値(Y)は次
のステツプでレジスタR6を介してメモリD
1の現在時刻tに対応したアドレスに書込ま
れる。この後、レジスタR6はメモリD2の
系統の処理を行うためクリアされる。 (7) 次に、メモリD2〜D9の各系統に関する
処理が前述のc−(3)〜c−(6)のステツプと同
様にして行なわれる。そして、メモリD1〜
D9の各系統の処理を終了すると、レジスタ
R11には RVD1(t)=9n=1 SPD(t−x1) で表わされる残響音RVD1に関する情報が得られ
る。 次に、遅延時間間隔の密な残響音RVD2の形成
動作について説明する。 d 残響音RVD2の形成動作 残響音RVD2を形成する場合、 (1) まず、メモリMD0からy1時間前の振幅デ
ータRVD1(t−y1)を読出すため、 DLn=DLo DLk;DLMD L3 ;“1”(LATCH) L2 ;“1”(LATCH) で示される内容のラツチ制御信号L3,L1
と、メモリ番号情報DLnおよびメモリ種別情
報DLkが制御信号出力レジスタ303から
出力される。これにより、アドレス情報出力
回路309において前述のc−(3)のステツプ
と同様にしてメモリMD0に対するアドレス
情報DM・ADRが形成され、メモリMD0か
らy1時間前の振幅データRVD1(t−y1)が
読出される。そして、このデータRVD1(t
−y1)はラツチ101にラツチされる。 (2) 次に、ラツチ101にラツチされた振幅デ
ータRVD1(t−y1)、レジスタR11の出力
データRVD1(t)、係数K30により、 K30・RVD1(t−y1)+RVD1(t) を演算し、その演算値をレジスタR12に記
憶させるため、まず、レジスタR11の出力
データRVD1(t)がラツチ404に転送さ
れた後、 ADR〔Kn〕;ADR〔K30〕 SL1;SELECT(B) CTL;(Y)=(A)・(X)+(B) で示される内容のセレクト制御信号SL1、
演算制御信号CTLおよび係数読出し用のア
ドレス情報ADR〔Kn〕が制御信号出力レジ
スタ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〔Kn〕;ADR〔K29〕 SL1;SELECT(C) CTL;(Y)=(A)・(X) で示される内容のセレクタ制御信号SL1、
演算制御信号CTLと、係数読出し用のアド
レス情報ADR〔Kn〕が制御信号出力レジス
タ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)とを加算し、その加
算値をレジスタR13に再び記憶させるた
め、前述のd−(1)のステツプと同様にしてメ
モリMD0からy1時間前のデータRVD1(t−
y1)が読出されてラツチ101にラツチされ
る。この後、レジスタR13の内容「K29
{K30・RVD1(t−y1)+RVD1(t)}」がラツ
チ404に転送された後、 SL1;SELECT(B) CHL;(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が同様にして形成される。 なお、第5図(第6図)の実施例ではバン
ドパスフイルタを設けているが、これは必要
に応じて省略するようにしても良い。また、
第13図の機能ブロツク図に示すように、メ
モリD10の出力データをハイパスフイルタ
HPF、バンドパスフイルタBPF、ローパス
フイルタLPFにより3系列の周波数帯域に
分け、第1残響音形成部2において各周波数
帯域別に異なる残響音を形成するようにして
もよい。これは、制御プログラムの内容を変
更するのみで容易に実現できる。 さらに、上記実施例では遅延回路をデイジ
タルメモリにより構成したが、遅延回路は任
意に構成し得るものであり、BBDやCCDな
どのアナログ遅延素子を利用するようにして
も良い。 以上のようにこの発明による残響音付加装置
は、入力楽音信号をそれぞれ異なる遅延時間遅延
した複数の遅延楽音信号をそれぞれ独立してレベ
ル制御することにより遅延時間およびレベルが不
規則な初期反射音信号を形成するとともに、第2
の遅延回路で遅延させた入力楽音信号と自己の帰
還遅延信号とを所定比率で合成した信号を所定の
遅延時間遅延することにより遅延時間およびレベ
ルが規則的な残響音信号を形成し、これらの信号
を合成したものであり、このような構成により、
初期反射音と残響音を完全に独立して任意に設定
することができ、しかも初期反射音は複数形成す
るので、残響がより自然になり、かつ種々の音場
環境や複雑な残響特性の実現が可能となる。この
ため、コンサートホール等で得られるような自然
性のある残響音を小規模構成で発生させることが
できる。また、遅延回路としてデイジタルメモリ
を用いるようにすれば、残響時間を長くしても
S/Nが低下せず、音質の良い残響音を発生させ
ることができる。この場合にはさらに、残響時間
をデイジタルメモリのアドレス間隔を変えること
により自由に変更できるため、各種の室内条件や
環境条件に応じた残響音の模擬を行うことができ
る利点がある。
[Table] In this case, the one-step control program consisting of 16 bits is the information OF, ADRn, RGn, DLn,
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 by memory number information DLn and memory type information DLk. Information DLn and
Address counter AC(n) (n: D0 to D15, MD0 to MD1
The count output information ADR [n] of 5) is the latch 30.
6 to the address information output circuit 309 and also to the subtraction circuit 307. In this case, the output information of address counter AC(n)
ADR [n] is memory D0 to D15, MD0 to MD
Of the 15 memories, memories D0 to D15 have an address length of 2048 words, so they are configured with 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 subtraction circuit 307 receives 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]” obtained by subtracting [1] from ADR[n]
-1'' has reached the maximum value (all bits are "1"), it outputs a selector control signal SLB that causes the selector 304 to select the B-side input.
In the selector 304, the output information "ADR[n]-1" of the subtraction circuit 307 is input to the A side input,
Delay length data memory 201 on B side input
The output information DLD m [n] is input, and its output is supplied to the data input of the address counter 305 and written to the address counter AC(n) specified by the information DLn and DLk by the write control signal WR3. (preset) configuration. Therefore, in the address counter AC(n) specified by the information DLn and DLk, under the condition that the selector control signal SLB is not generated from the maximum value detection circuit 308, the current value ADR[n] is changed every sampling period. A value "ADR[n]-1" obtained by subtracting "1" is written, and the output information ADR[n] decreases toward "0" as time passes. However, the value "ADR(n)-1"
When reaches the maximum value, the selector control signal SLB is generated from the maximum value detection circuit 308, so the delay time information DLD m [n] is input to the address counter AC(n) via the selector 304, and the write control signal Written by WR3. Therefore, the contents of address counter AC(n) are the selector control signal
After becoming "DLD m [n]" due to the occurrence of SLB, it changes sequentially toward "0" as the sampling time passes. That is, the selector 30
4. In the part consisting of the address counter 305, latch 306, subtraction circuit 307, and maximum value detection circuit 308, the delay time information DLD m is detected at the address counter AC(n) specified by the information DLn and DLk.
Address information ADR [n] that goes around in a cycle equal to the delay time corresponding to [n] 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)
, the 11-bit address information OF• ADRO (output from the control signal output register 303) corresponding to each delay time io of the first reflected sound ECH 1 to the tenth reflected sound ECH 10 is used. This set of information OF,
ADRn, DLn, DLk as address information DM/ADR
Output as . In addition, when writing the amplitude data SPD(t) sampled at the current time to the memory D0, the address counter corresponding to the memory D0
The output information ADR [D0] of AC (D0) is set as low-order address information, and information DLn (=DLo) and DLk (=DL D ) specifying memory D0 is added to the upper part thereof,
This set of information ADR [D0], DLn, and DLk is output as address information DM/ADR. In addition, when writing and reading amplitude data to and from memories SD0 to SD15, all bits of the lower address information are set to "0", and the memory SD0 is written to the upper address.
Address information by adding information DLn (=DL 0 to DL 15 ) and DLk (=DL SD ) specifying ~SD15
Output as DM/ADR. Also, reverberation
When forming RVD 1 and RVD 2 , memory D1
Address counters AC(D1) to AC(D15) corresponding to ~D15, MD0 to MD15, respectively;
AC (MD0) to AC (MD15) output information ADR
[D1] ~ADR [D15], ADR [MD0] ~ADR
(MD15) is the lower address information, information DLn and DLk are added to the upper part, and this set of information ADR[n], DLn, DLk is the address information DM,
Output as ADR. In this case, when the information OF and ADR o should be added to the lower part of the information DLn and DLk, a control pulse is sent from the control signal output register 303.
GP1 is output. Also information DLn and DLk
When all bits of the lower address information added to the lower part of the address should be set to "0", the control signal output register 3
Control pulse GP2 is output from 03. Note that the address information output circuit 309 outputs information
It has internal registers to temporarily store DLn and DLk. 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 Kn (n: 1 to 32) 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 [Kn] specifying the coefficient Kn is supplied from the control signal output register 303, the information
Information about memory blocks specified by PSL
The coefficient Kn is read from the address specified by ADR[Kn] and is supplied to the calculation input (A) of the calculation circuit 402. In the selector 401, the amplitude data SPD(t) of the input musical tone sampled by the sample-and-hold circuit SPH is input to the A side input, the read data MRD from the storage unit 10 is input to the B side input, and the latch is input to the C side input. The output data RGD of the temporary register 403 is input through the register 404, and these input data SPD(t), MRD,
One of the RGDs is selected by the selector control signal SL1 (2-bit configuration) output from the control signal output register 303, and the arithmetic circuit 402
is supplied to the calculation input (X) of The arithmetic circuit 402 has a coefficient memory 4 at the arithmetic input (A).
The coefficient Kn read from 00 is input, and is input to the calculation input (B) through latch 04 to temporary register 4.
The output data RGD of 03 is input, and the selected output data SPD of the selector 401 is input to the calculation input (X).
(t), MRD, and RGD are input, and the calculation control signal CTL is output from the control signal output register 303.
(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) Execute the calculation and calculate the calculated value (Y ) as temporary register 403, storage unit 10, 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 operation input (B) of 02, and has 32 registers R0 to R31 specified by register designation information RGn (n: 1 to 32) of 5 bits.
Input data is written into registers R0 to R31 designated by information RGn 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 a DA converter (DAC) 502 via a converter 501. Note that the selector 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 When forming the early reflection sound BCH (t), (1) First, in order to write the amplitude data SPD (t) of the input musical sound sampled at the current time t to the memory D0, SL1 ;SELECT(A) CTL;(Y)=(X) The selector 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. Thereby, the selector 401 supplies the amplitude data SPD(t) output from the sampling hold circuit SPH to the calculation input (X) of the calculation circuit 402. Further, the arithmetic circuit 402 outputs the amplitude data SPD(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.
To write SPD(t), DLn; DLo DLk; DL D WR4; “1” (WRITE) L3; “1” (LATCH) Memory type information DLk, write control signal WR4, latch control signal L3 is the operation code OPC, and memory number information DLn is the control signal output register 3.
Output from 03. As a result, the output information ADR [D
0] is latched in the latch 306 as lower address information for writing the amplitude data SPD(t) at the current time t. Then, this latched lower address information ADR [D0] is added with memory number information DLn (=DLo) and memory type information DLk (=DL D ) to its upper part in the address information output circuit 309, and the amplitude with respect to memory D0 is added. It is output as write address information DM/ADR of data SPD(t). As a result, the amplitude data SPD(t) at the current time t, which is applied to the data input of the memory D0 via the arithmetic circuit 402, 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 RGn; R0 CTL; (Y) = 0 WR1; “1” (WRITE) are cleared. Arithmetic control signal CTL and write control signal WR1 are operation codes
As OPC, register number information RGn is also output from the control signal output register 303. 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 type information of the content indicated by OF・ADRn;OF・ADR 1 DLk;DL D GP1;“1” L2;“1” (LATCH) DLk, control pulse GP1, and latch control signal L2 are used as the operation code OPC, and address information OF/ADRn corresponding to the delay time i1 of the first reflected sound ECH1 is sent to the control signal output register 3.
Output from 03. In this case, the address information output circuit 309 holds the memory number information DLn (=DLo) in step (3). As a result, the address information output circuit 30
9 is address information corresponding to delay time i 1
OF・ADR 1 is the lower address information, memory number information DLn (=DLo), memory type information
Amplitude data written from memory D0 to i 1 hour ago with DLk (=DL D ) as upper address information
Address information for reading SPD (ti 1 )
Output as DM/ADR. This results in
Memory D0 to i Amplitude data SPD from 1 hour ago
(t-i 1 ) is read, and this read data
SPD(t-i 1 ) is latched into latch 101 by latch control signal L2. (5) Next, latch 40 the current value of register R0.
4, the latch control signal L1 with the content indicated by RGn; R0 L1 ; "1" (LATCH) is output as an operation code and register number information RGn is output from the control signal output register 303. This allows register R0
The current value of is transferred to latch 404 and stored. (6) Next, the amplitude data SPD (t−i 1 ) 1 hour before i
is multiplied by the coefficient K 1 for amplitude level control, and the instantaneous value K 1 · SPD (t
−i 1 ), the select control signal SL1, shown as ADR[Kn];ADR[K 1 ] SL1;SELECT(B) CTL;(A)・(X)+(B)](Y), is calculated. Control signal CTL serves as operation code OPC and address information for reading constants.
ADR [Kn] 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 amplitude data SPD (t-i 1 ) of i 1 hour ago supplied from the latch 101 to the B-side selection input, and
SPD (ti 1 ) is supplied to the calculation input (X) of the calculation circuit 402. In addition, the arithmetic circuit 402 (Y)=(A)・(X)+(B)=K 1・SPD(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 ·SPD (ti 1 ) regarding ECH 1 is obtained as the calculated value (Y) of the calculation circuit 402. (7) Next, the instantaneous value K 1・SPD of the first reflected sound ECH 1
(t-i 1 ) is transferred to register R0 and stored, the write control signal WR1 with the content indicated by RGn=R0 WR1; “1” (WRITE) is used as the operation code ORC, and the register number information RGn is It is output from the control signal output register 303. As a result, the output data (Y) = K 1 · SPD (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 · SPD(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 · SPD (t-i 2 ) for ECH 10 ~
K 10・SPD (t−i 10 ) is the step (4) above
It is formed in the same manner as (7). 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.
The sum of the instantaneous values of ECH 1 to 10th reflected sound ECH 10 is obtained: 10n=1 Kn×SPD (t− io ). Then, this sum 10n=1 Kn・SPD(t−i o ) is the write control signal for the output register 500.
Written by WR2 and forwarded to attenuator 501. b Filter operation When performing filter operation (1) First, in order to read the amplitude data SPD (t-j) of j hours ago from memory D10, DLn; DL 10 DLk; DL D L3 ; “1” (LATCH) L2 ; Memory type information DLk and latch control signals L3 and L2 with the content indicated by “1” (LATCH) are used as the operation code OPC and memory number information DLn.
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 amplitude data SPD 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 DLn is placed above it.
(=DL 10 ) and memory type information DLk (=
DL D ) is added to D of data memory 100.
10, the amplitude data SPD(tj) is output as read address information DM/ADR. As a result, the amplitude data SPD (t-j) of j hours ago is read from the memory D10,
This read data SPD(t-j) is latched in latch 101 by latch control signal L2. (2) Next, the amplitude data SPD(t) sampled at the current time t is converted into the amplitude data SPD(t-j)
In order to write to the same address as the read address, the select control signal SL1 and calculation control signal CTL with the contents shown as SL1; SELECT(A) CTL; (Y) = (X) are sent to the control signal output register as the operation code OPC. 30
Output from 3. Thereby, the selector 401 supplies the amplitude data SPD(t) output from the sampling hold circuit SPH to the calculation input (X) of the calculation circuit 402. Further, the arithmetic circuit 402 outputs the amplitude data SPD(t) inputted to the arithmetic input (X) as a calculated value (Y). (3) Next, the amplitude data SPD(t) is stored in the memory D1.
To write to 0, the memory type information DLk, the write control signal WR4 , and the latch control signal L3 are As the operation code OPC and the memory number information DLn is the control signal output register 3
Output from 03. As a result, the output information of address counter AC (D10) corresponding to memory D10
ADR [D10] is the amplitude data at the current time t
It is latched in latch 306 as lower address information for writing SPD(t). And this latched lower address information
ADR [D10] is the address information output circuit 3
In 09, memory number information DLn is placed above it.
(=DL 10 ) and memory type information DLk (=
DL D ) is added to write address information of amplitude data SPD(t) to memory D10.
Output as DM/ADR. This results in
The amplitude data SPD(t) at the current time t, which is applied to the data input of the memory D10 via the arithmetic circuit 402, 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 · SPD (t-j) using the contents of register R1, coefficient K 11 , and amplitude data SPD (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 RGn;R1 L1;“1” (LATCH) is used as the operation code ORC, and the register number information RGn is used as the control signal output register 3.
03 and the contents of register R1 are transferred to latch 404. (5) Next, to calculate K 11・SPD(t−j), ADR[Kn); ADR[K 11 ] SL1; SELECT(B) CTL; (Y)=(A)・(X) +(B) Selector control signal SL1 with the content indicated by
Arithmetic control signal CTL is the operation code
As ORC, address information ADR [Kn] for constant reading is control signal output register 3.
Output from 03. As a result, the coefficients are stored in the coefficient memory 400.
K11 is read and is the calculation input to the calculation circuit 402.
(A) is supplied. Further, the selector 401 selects the amplitude data SPD (t-j) latched in the latch 101 in the previous step b-(1), and supplies it to the calculation input (X) of the calculation circuit 402. Thereby, the arithmetic circuit 402 performs the calculation (Y)=A*(X)+(B)= K11 *SPD(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・SPD
(t-j) is obtained as the calculated value (Y). (6) Next, this calculated value (Y) = K 11・SPD (t-
j) in the register R1, the write control signal WR1 indicated by the contents of RGn;R1 WR1;“1” (WRITE) is output as the operation code ORC, and the register number information RGn is output from the control signal output register 303. be done. As a result, the output data K11 ·SPD(tj) of the arithmetic circuit 402 is stored in the register R1. (7) Next, in order to read the amplitude data SPD (t-j-1) of (j-1) time ago from memory SD0, DLn; DLo DLk; DL SD GP2; “1” L2; “1” ( LATCH) Memory type information DLk, latch control signal L2, gate pulse signal GP2
is output as the operation code ORC and memory number information DLn is output from the control signal output register 303. Then, the address information output circuit 309 sets all bits of the lower address information to "0" and outputs memory number information DLn (=DLo) and memory type information in the upper order.
DLk (wDL SD ) is added and output as address information DM/ADR for memory SD0.
As a result, the amplitude data SPD (t-j-1) of (j-1) time ago is read from the memory SD0 and latched in the latch 101. (8) Next, the contents of register R1 K 11・SPD(t
-j), the coefficient K12 , and the amplitude data SPD (t-j-1) latched in the latch 101, calculate K12・SPD(t-j-1)+[R1], and store this calculated value in the register. In order to store it again in R1, first, the latch control signal L1 with the contents indicated by RGn;
Output from 03, contents of register R1
K 11 ·SPD(t-j) is transferred to latch 404. (9) Next, in order to calculate K 12・SPD (t-j-1) + [R1], ADR [Kn]; ADR [K 12 ] SL1; SELECT (B) CHL; (Y) = ( The signals SL1 and STL with the contents shown by A)・(X)+(B) are used as the operation code OPC, and the address information ADR [Kn] is used as the control signal output register 3.
Output from 03. As a result, the coefficients are stored in the coefficient memory 400.
K11 is read and is the calculation input to the calculation circuit 402.
(A) is supplied. Also, the selector 401 selects the amplitude data latched in the latch 101.
SPD (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 outputs the calculated value (Y) of (Y)=(A)・(X)+(B)=K 12・SPD(tj-1) +K 11・SPD(tj) . This calculated value (Y) is then stored in registers R1 and R2 in the next step. As a result, the contents of registers R1 and R2 are as follows: [R1] = [R2] = K 12・SPD(t−j−1)+
K 11・SPD(t-j). (10) Next, using the contents of register R2, coefficient K 13 , and amplitude data SPD (t-j-1) of (j-1) time ago stored in memory SD0,
In order to calculate K13・SPD(t-j-1)+[R2], first, the amplitude data SPD(t-j-1) is obtained from memory SD0 in the same manner as in step b-(7) above. It is read out and latched into latch 101. (11) Next, the contents of register R2 are latched 404
In order to transfer the contents of register R2 to K12・SPD in the same manner as in step b-(8) above,
(t−j−1)+K 11 ·SPD(t−j) is transferred to latch 404. (12) Next, read out the coefficient K 13 and calculate K 13・SPD(t−
In order to perform the operation of j-1) + [R2], it is shown as ADR [Kn]; ADR [K 13 ] SL1; SELECT (B) CTL; (Y) = (A)・(X) + (B) The content signals SL1 and CTL are used as the operation code ORC, and the address information ADR [Kn] is used as the control signal output register 3.
Output from 03. As a result, the coefficients are stored in the coefficient memory 400.
K11 is read and is the calculation input to the calculation circuit 402.
(A) is supplied. Also, the selector 401 selects the amplitude data latched in the latch 101.
SPD (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・SPD(t−j−1) +K 12・SPD(tj−1) +K 11・SPD(tj) The calculated value (Y) is output. 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. (13) In the final step in the low-pass filter LPF, the contents of register R1 are stored in the memory SD
0, and the next sampling time (t+
1), first write the contents of register R1 “K 12・SPD(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 402 is made to perform the calculation (Y)=(B), and the calculated value ``(Y) =K 12・SPD(t-j-1)+
K 11・SPD(t-j) is written to memory SD0. This write operation is performed using the operation code indicated by DLn; DLo DLk; DL SD GP2; “1” WR4; “1” (WRITE)
This is done by outputting from the ORC and memory number information DLn control signal output register 303. When 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 When forming reverberant sound RVD 1 , (1) First, coefficient K 17 is added to the stored data SPD (t-j) of register R4 of high-pass filter HPF.
Multiply the multiplication value K 17・SPD(t-j)
In order to store this in register R5, the latch control signal L1 and register number information RGn with the contents indicated by RGn; -j) is transferred to latch 404. (2) Next, to calculate K 17・SPD(t−j), ADR[Kn];ADR[K 17 ] SL1;SELECT(C) CTL;(Y)=(A)・(X) selector control signal SL1 with the contents shown;
The arithmetic control signal CTL and the address information ADR [Kn] 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 SPD 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 ·SPD(t−j). This calculated value (Y) is stored in register R5 in the next step. (3) Next, read the amplitude data SPD (t-x 1 ) from memory D1 x 1 hours ago, and use this data SPD
(t-x 1 ) and the current value of register R11 and store the added value in register R11 again, first, DLn; DL 1 DLk; DL D L3 ; “1” (LATCH) L2 ; “ 1” (LATCH) Latch control signals L3 and L2 with contents indicated by
Then, memory number information DLn and memory type information DLk are output from 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 amplitude data SPD (t-x 1 ). This lower address information ADR [D1] is then sent to the address information output circuit 30.
In step 9, memory number information DLn and memory type information DLk are added to the higher order, and outputted to the data memory 100 as address information DM/ADR of the memory D1. As a result, the amplitude data SPD (t-x 1 ) x 1 hours ago is read out from the memory D1, and the latch 10
It is latched at 1. (4) Next, in order to add this read data SPD (t-x 1 ) and the current value of register R11,
After the contents of register R11 are transferred to the latch 404, the selector control signal SL1 and calculation control signal CTL with the contents shown by SL1; SELECT (B) CTL; (Y) = (Y) + (B) are output as control signals. It is output from register 303. Then, the selector 401 selects the amplitude data SPD(t-x 1 ) latched in the latch 101.
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]+SPD(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 SPD(t-
x 1 ). Thereafter, the calculated value (Y) is transferred to and stored in register R11. (5) Next, amplitude data SPD (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 · SPD (t-x 1 ) and the content "K 17 · SPD (t-j)" of the register R5 again in the register R6, first, the above-mentioned c-(1 ), the contents of register R5 “ K17・SPD(t-
j)” is transferred to latch 404. (6) Next, the amplitude data SPD (t-x 1 ) latched in the latch 101 and the data "K 17 · SPD (t-x 1 ) latched in the latch 404
j)'' and the coefficient K 18 , (Y)=K 18・SPD(t−x 1 )+K 17・SPD(t
−j), selector control signal with contents shown as ADR[Kn];ADR[K 18 ] SL1;SELECT(B) CTL;(Y)=(A)・(X)+(B) SL1,
The arithmetic control signal CTL and the address information ADR [Kn] for reading coefficients are output from the control signal output register 303. 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. Also, the selector 401 selects the amplitude data latched in the latch 101.
SPD (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 *SPD(t- x1 )+ K17 *SPD(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)= 9n=1 SPD (t−x 1 ) 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 When forming reverberant sound RVD 2 , (1) First, to read amplitude data y 1 hour ago RVD 1 (t-y 1 ) from memory MD0, DLn=DLo DLk; DL MD L3 ; “1” (LATCH) L2 ; “1” (LATCH) Latch control signals L3, L1 with the contents indicated by
Then, memory number information DLn and memory type information DLk are output from 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 amplitude data RVD 1 (t-y 1 ) is read. Then, this data RVD 1 (t
-y 1 ) is latched in latch 101 . (2) Next, by using the amplitude data RVD 1 (t-y 1 ) latched in the latch 101, the output data RVD 1 (t) of the register R11, and the coefficient K 30 , K 30・RVD 1 (t-y 1 ) is obtained. In order to calculate +RVD 1 (t) and store the calculated value in register R12, first, the output data RVD 1 (t) of register R11 is transferred to latch 404, and then ADR[Kn]; ADR[K 30 ] SL1; SELECT(B) CTL; Select control signal SL1 with the content shown as (Y) = (A)・(X) + (B),
Arithmetic control signal CTL and address information ADR[Kn] 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 (ty 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 [Kn]; ADR [K 29 ] SL1; SELECT (C) CTL; Selector control signal SL1 with the content shown by (Y) = (A)・(X),
The arithmetic control signal CTL and the address information ADR [Kn] 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 calculation circuit 402 outputs the calculation value (Y) shown as (Y)=(A)・(X)=K 29・{K 30・RVD 1 (t−y 1 )+RVD 1 (t)} do. This calculated value (Y) is stored in register R13 in the next step. (4) Next, in order to add the contents of register R13 and the data RVD 1 (t-y 1 ) from y 1 hour ago and store the added value in register R13 again, perform the steps in d-(1) above. Data from memory MD0 to y 1 hour ago RVD 1 (t-
y 1 ) is read out and latched into latch 101. After this, the contents of register R13 “K 29
After {K 30 · RVD 1 (t-y 1 ) + RVD 1 (t)}'' is transferred to latch 404, SL1; SELECT (B) CHL; (Y) = (B) + (X) Content selector control signal SL1,
A calculation control signal CTL is output from the control signal output register 303. As a result, the arithmetic circuit 402 is expressed as (Y)=(B)+(X)= RVD1 (t- y1 )+ K29・{ K30RVD1 (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. Although a bandpass filter is provided in the embodiment shown in FIG. 5 (FIG. 6), this may be omitted if necessary. Also,
As shown in the functional block diagram of FIG.
It is also possible to divide the frequency bands into three series using an HPF, a bandpass filter BPF, and a low-pass filter LPF, and to form different reverberant sounds for each frequency band in the first reverberant sound forming section 2. This can be easily achieved by simply changing the contents of the control program. Further, in the above embodiments, the delay circuit is configured by a digital memory, but the delay circuit can be configured arbitrarily, and analog delay elements such as BBDs and CCDs may be used. As described above, the reverberation sound adding device according to the present invention independently controls the level of a plurality of delayed musical sound signals obtained by delaying an input musical sound signal by different delay times, thereby producing early reflection sound signals with irregular delay times and levels. and the second
By delaying a signal obtained by synthesizing the input musical tone signal delayed by the delay circuit and its own feedback delay signal at a predetermined ratio by a predetermined delay time, a reverberant sound signal with regular delay time and level is formed. It is a composite of signals, and with this configuration,
Early reflected sound and reverberant sound can be set completely independently and arbitrarily, and multiple early reflected sounds are formed, making the reverberation more natural and realizing various sound field environments and complex reverberation characteristics. becomes possible. Therefore, natural reverberant sound such as that obtained in a concert hall or the like can be generated with a small-scale configuration. Furthermore, if a digital memory is used as the delay circuit, the S/N ratio will not decrease even if the reverberation time is increased, and reverberant sound with good sound quality can be generated. In this case, since the reverberation time can be freely changed by changing the address interval of the digital memory, there is an advantage that reverberant sound can be simulated according to various indoor conditions and environmental conditions.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は従来における残響音付加装置の代表的
な回路構成を示す図、第2図はそのインパルス応
答特性図、第3図はコンサートホール等における
残響音のインパルス応答特性図、第4図は従来に
おける残響音付加装置の他の例を示す回路構成
図、第5図はこの発明による残響音付加装置の一
実施例を示すブロツク図、第6図は第5図の実施
例を機能的に表わした機能ブロツク図、第7図お
よび第8図は遅延回路の基本的構成を示すブロツ
ク図、第9図は第7図の遅延回路の動作を説明す
るためのタイムチヤート、第10図は第5図の実
施例において発生される初期反射音の特性図、第
11図は櫛型フイルタ構成の遅延回路の周波数特
性を示す図、第12図および第13図は第5図の
実施例において発生される残響音の特性図、第1
4図は第5図の実施例におけるデータメモリの構
造を示す図、第15図は第5図の実施例における
デイレイレングスデータメモリの構造を示す図、
第16図は第5図の実施例におけるアドレスカウ
ンタの構造を示す図、第17図はこの発明による
残響音付加装置の他の実施例を示す機能ブロツク
図である。 1……初期反射音形成部、2……第1残響音形
成部、3……第2残響音形成部、BPF……バン
ドパスフイタ、10……記憶部、20……時間情
報発生部、30……アドレス情報発生部、40…
…演算部。
Figure 1 is a diagram showing a typical circuit configuration of a conventional reverberation sound adding device, Figure 2 is its impulse response characteristic diagram, Figure 3 is an impulse response characteristic diagram of reverberant sound in a concert hall, etc., and Figure 4 is a diagram showing a typical circuit configuration of a conventional reverberation sound adding device. A circuit configuration diagram showing another example of a conventional reverberation sound adding device, FIG. 5 is a block diagram showing an embodiment of the reverberation sound adding device according to the present invention, and FIG. 6 is a functional diagram of the embodiment of FIG. 7 and 8 are block diagrams showing the basic configuration of the delay circuit, FIG. 9 is a time chart for explaining the operation of the delay circuit in FIG. 7, and FIG. 10 is a block diagram showing the basic configuration of the delay circuit. A characteristic diagram of the early reflected sound generated in the embodiment shown in FIG. 5, FIG. 11 is a diagram showing the frequency characteristics of a delay circuit having a comb filter configuration, and FIGS. Characteristic diagram of reverberant sound, 1st
4 is a diagram showing the structure of the data memory in the embodiment of FIG. 5, FIG. 15 is a diagram showing the structure of the delay length data memory in the embodiment of FIG. 5,
FIG. 16 is a diagram showing the structure of the address counter in the embodiment of FIG. 5, and FIG. 17 is a functional block diagram showing another embodiment of the reverberation sound adding apparatus according to the present invention. DESCRIPTION OF SYMBOLS 1...Early reflected sound forming unit, 2...First reverberant sound forming unit, 3...Second reverberant sound forming unit, BPF...Band pass filter, 10...Storage unit, 20...Time information generating unit, 30...Address information generation section, 40...
...Arithmetic section.

Claims (1)

【特許請求の範囲】 1 入力楽音信号をそれぞれ異なる遅延時間遅延
した複数の遅延楽音信号を出力する第1の遅延回
路と、 上記複数の遅延楽音信号のレベルをそれぞれ独
立して制御して出力するレベル制御回路と、 入力楽音信号を上記第1の遅延回路から出力さ
れる複数の遅延楽音信号より長く遅延して出力す
る第2の遅延回路と、 自己の遅延信号出力を入力側に帰還する帰還ル
ープを有し、上記第2の遅延回路の出力信号と自
己の遅延信号出力とを所定比率で合成した信号を
所定の遅延時間遅延して出力する第3の遅延回路
と、 上記レベル制御回路の出力信号と上記第3の遅
延回路の出力信号とを合成し、その合成信号を入
力楽音信号の残響音信号として出力する合成回路
とを具備してなる残響音付加装置。
[Scope of Claims] 1. A first delay circuit that outputs a plurality of delayed musical tone signals obtained by delaying an input musical tone signal by different delay times, and that independently controls and outputs the levels of the plurality of delayed musical tone signals. a level control circuit; a second delay circuit that outputs the input musical tone signal with a delay longer than the plurality of delayed musical tone signals output from the first delay circuit; and a feedback circuit that feeds back its own delayed signal output to the input side. a third delay circuit which has a loop and outputs a signal obtained by combining the output signal of the second delay circuit and its own delayed signal output at a predetermined ratio with a delay of a predetermined delay time; A reverberation sound adding device comprising a synthesis circuit that synthesizes the output signal and the output signal of the third delay circuit and outputs the synthesized signal as a reverberation signal of an input musical tone signal.
JP56120400A 1981-07-30 1981-07-30 Reverberation sound adding apparatus Granted JPS5821299A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP56120400A JPS5821299A (en) 1981-07-30 1981-07-30 Reverberation sound adding apparatus
US06/654,387 US4570523A (en) 1981-07-30 1984-09-25 Reverberation tone generating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56120400A JPS5821299A (en) 1981-07-30 1981-07-30 Reverberation sound adding apparatus

Publications (2)

Publication Number Publication Date
JPS5821299A JPS5821299A (en) 1983-02-08
JPH0157800B2 true JPH0157800B2 (en) 1989-12-07

Family

ID=14785269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56120400A Granted JPS5821299A (en) 1981-07-30 1981-07-30 Reverberation sound adding apparatus

Country Status (1)

Country Link
JP (1) JPS5821299A (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60169954A (en) * 1984-02-15 1985-09-03 Fuji Electric Co Ltd Memory access system
JPS6199198U (en) * 1984-11-30 1986-06-25
JPS6444439U (en) * 1987-09-14 1989-03-16
JPH0324599A (en) * 1989-06-21 1991-02-01 Pioneer Electron Corp Audio signal data processor
US7590460B2 (en) 2003-10-29 2009-09-15 Yamaha Corporation Audio signal processor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4172035A (en) * 1978-07-10 1979-10-23 Amsted Industries Incorporated Conveyor belt attachment means
JPS55157796A (en) * 1979-05-28 1980-12-08 Sony Corp Reverberation adding unit

Also Published As

Publication number Publication date
JPS5821299A (en) 1983-02-08

Similar Documents

Publication Publication Date Title
JPH0119593B2 (en)
US4731835A (en) Reverberation tone generating apparatus
JPH0157799B2 (en)
US4570523A (en) Reverberation tone generating apparatus
EP0405915B1 (en) Audio signal data processing system
JPH0496000A (en) Musical sound synthesizer
JPH0883066A (en) Electronic musical instrument
JPS6255158B2 (en)
JPH0115075B2 (en)
JPS648838B2 (en)
JPH0112320Y2 (en)
JPS58100191A (en) Electronic musical instrument
JP2679511B2 (en) Reverberation device
JPH01198797A (en) electronic musical instruments
JPH0117595B2 (en)
JPH03269583A (en) Electronic musical instrument
JPH06318092A (en) Variable delay circuit
US5687105A (en) Processing device performing plural operations for plural tones in response to readout of one program instruction
JPS639240B2 (en)
JP2663496B2 (en) Signal interpolator for musical tone signal generator
JP3036417B2 (en) Signal processing device
JP3552265B2 (en) Sound source device and audio signal forming method
JP3094759B2 (en) Music signal distribution processor
JPH07271376A (en) Sound source device
JPH0544040B2 (en)