GB2102613A - Reverberation tone generating apparatus - Google Patents
Reverberation tone generating apparatus Download PDFInfo
- Publication number
- GB2102613A GB2102613A GB08220683A GB8220683A GB2102613A GB 2102613 A GB2102613 A GB 2102613A GB 08220683 A GB08220683 A GB 08220683A GB 8220683 A GB8220683 A GB 8220683A GB 2102613 A GB2102613 A GB 2102613A
- Authority
- GB
- United Kingdom
- Prior art keywords
- tone
- reverberation
- spd
- amplitude
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0091—Means for obtaining special acoustic effects
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/155—Musical effects
- G10H2210/265—Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
- G10H2210/281—Reverberation or echo
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
A memory device 10 sequentially stores amplitude data representing an amplitude value of an input musical tone according to clock pulses having a predetermined period, delay time information is generated (20) to determine a delay time of a reverberation tone to be generated, a first address information is generated (30) for designating a first area in said memory device to store amplitude input data which is the amplitude data of said musical tone at a present time and a second address information is generated (30) for designating a second area in said memory device to read out an amplitude output data which is equal to the amplitude input data stored in the memory device at a time preceding the present time by a time interval designated by the delay time information. Level control means 501 controls the level of the amplitude output data and converting means 502 converts the level-controlled data to a reverberation tone of the input musical tone. <IMAGE>
Description
SPECIFICATION
Reverberation tone generating apparatus
This invention relates to a reverberation tone generating apparatus.
The apparatus utilized for adding a reverberation tone to a musical tone can be classified into a mechanical reverberation apparatus, and an electronic circuit utilizing such an analog delay element as a BBD (bucket brigade device) or a CCD (charge coupled device). However, since the former involves various problems regarding constructions and characteristics, the latter type is used in recent years. An example of using a BBD is disclosed in U.S.P. No. 4093820. In the apparatus utilizing such analog delay element, however, as the reverberation time is elongated, or as the number of serially connected stages of the analog delay elements increases, the output level decreases to greatly decrease the S/N ratio, thus making it impossible to obtain a natural reverberation tone.Moreover, as the reverberation tone time is principally determined by the number of stages of the serially connected analogue delay elements, when the reverberation time is once set, it is difficult to simply change it thereafter.
When adding a reverberation tone to a performed musical tone it is desirable to change the reverberation tone characteristics (length, depth, etc.) in accordance with the frequency band of the performed tone depending upon the tone color or the like of the performed musical tone so as to improve the performance effect.
Where a musical tone is performed in an indoor room, the low frequency component of the performed musical tone has a long reverberation time, while the high frequency component has a short reverberation time period. For this reason, an ideal reverberation tone having uniform reverberation characteristics over entire frequency range can be obtained by varying the reverberation characteristics in accordance with the frequency band of the performed musical tone.
In the prior art reverberation tone generating or adding apparatus, however, a reverberation tone is added to a musical tone signal produced by such a musical tone source as an electronic musical instrument without dividing the signal into different frequency bands so that it has been impossible to add an optimum reverberation tone suitable for the tone colour of the performed musical tone or a place of performance.
Accordingly, it is an object of this invention to provide a novel reverberation tone generating apparatus in which the S/N ratio is not degraded even when the reverberation time is elongated and the reverberation time can be varied readily.
Another object of this invention is to provide an improved reverberation tone generating apparatus capable of adding an optimum reverberation tone suitable for the tone colour of a performed tone and a place of performance.
Still another object of this invention is to provide a reverberation tone generating apparatus capable of generating a reverberation tone having complicated characteristics with circuits of small size.
According to this invention there is provided a reverberation tone generating apparatus comprising a memory device for sequentially storing amplitude data representing an amplitude value of an input musical tone according to clock pulses having a predetermined period, delay time information generating means for generating a delay time information that determines a delay time of a reverberation tone to be generated, address information generating means for generating a first address information for designating a first area in said memory device to store amplitude input data which is the amplitude data of said musical tone at a present time and a second address information for designating a second area in said memory device to read out an amplitude output data which is equal to the amplitude input data stored in the memory device at a time preceding the present time by a time interval designated by the delay time information, level control means for controlling a level of the amplitude output data, and converting means for converting the level-controlled amplitude output data to a reverberation tone of the input musical tone.
In the accompanying drawings:
Figure 1 is a block diagram showing one embodiment of the reverberation tone generating apparatus embodying the invention;
Figure 2 is a functional block diagram showing the performances of the embodiment shown in
Fig. 1;
Figures 3 and 4 are block diagrams showing basic constructions of two types of delay circuits;
Figure 5 is a timing chart useful to explain the operation of the delay circuit shown in Fig. 3;
Figure 6 is a graph showing the initial reflected tone (echo) generated in the embodiment shown in Fig. 1;
Figure 7 is a graph showing the frequency characteristic of a delay circuit having a comb type filter construction;
Figures 8 and 9 are graphs showing the characteristics of reverberation tones generated in the embodiment shown in Fig. 1;;
Figure 10 is a block diagram showing the construction of a data memory device utilized in the embodiment shown in Fig. 1;
Figure 11 is a block diagram showing the construction of a delay length data memory device utilized in embodiment shown in Fig. 1;
Figure 12 is a block diagram showing the construction of the address counter utilized in the embodiment shown in Fig. 1;
Figure 13 is a functional block diagram showing another embodiment of the reverberation tone generating apparatus according to this invention;
Figure 14 is a block diagram showing a modification of the address information generator;
Figure 15 is a block diagram showing a modified embodiment of this invention;
Figures 76a through 20a are block diagrams showing other embodiments of this invention;;
Figures 76b through 20b show reverberation characteristics generated by the embodiments shown in Figs. 1 6a through 20b respectively; and
Figure 21 is a block diagram showing still another embodiment of this invention.
For the sake of description, the basic construction and operation of the delay circuits shown in
Figs. 3 and 4 will be firstly described. Then the process of forming a reverberation tone will be described with reference to the performance block diagram shown in Fig. 2 and finally the preferred embodiment shown in Fig. 1 will be described in detail.
Basic construction of a delay circuit utilizing a digital memory device
Where amplitude data SPD (t) of an input musical tone signal sequentially sampled at a predetermined sampling period To are to be sequentially stored in a digital memory device and an amplitude data SPD (t-i) stored at a time (t-i) is to be read out at a time later by interval an address interval A ADR representing a change during the interval i is added to or subtracted from an address information ADR (t) at a sampling time t according to the following equation (1) or (2) to determine an address information ADR(t-i) at time (t-i), and then the address information ADR(t-i) is applied to the address input of the digital memory device.
ADR(t-i) = ADR(t) + hADR (1)
ADR(t-i) = ADR(t) - AADR (2)
Thus, the amplitude data SPD(t-i) stored at time (t-i) can be read out at a time later by expressed by i = AADR x To (3) In other words, where an address interval AADR corresponding to the desired delay time i is applied as a delay time information it is possible to read out the amplitude data SPD(t-i) stored at the time (t-i) at a time later by the interval i. The equation (1) that determines the address information ADR(t-i) at time (t-i) is applicable to a case where the amplitude data SPD (t) is sequentially stored from a higher order address toward the lower order address as the time elapses.The equation (2) is applicable where the amplitude data SPD (t) is sequentially stored from the lower order address toward the higher order address.
Accordingly, the delay circuit according to this invention comprises, as the fundamental elements, a digital memory device DM sequentially storing the amplitude data SPD (t), an address information generator AG that forms the read address information shown in equation (1) or (2), and a delay length data memory device DDM which generates the address interval
A ADR as a delay time information DLD.
Fig. 3 shows one example of the delay circuit based on this concept and constituted by the digital memory device DM, the address information generator AG, a delay length data memory device DDM and a multiplier M.
As shown by the timing chart shown in Fig. 5, the dital memory device DM sequentially stores in its memory areas of addresses 0 through 9 the amplitude data SPD (t) sampled at a predetermined period To according to a clock pulse < p starting from the higher order address 9 toward the lower order address, and is constituted by a random access memory device (RAM) or a shift register.
The designation of the write and read addresses of the amplitude data SPD (t) in the digital memory device DM is effected by the address information generator AG which comprises an address counter AC and an adder AD and forms write address informations ADR (t), ADR (t + 1),
ADR (t + 2), . ADR (t + i) whose values are renewed with the sampling time and an read address information ADR (t-i) shown by equation (1) and these write and read address informations are outputted as an address information DM ADR for the digital memory device
DM. More particularly the address counter AC counts the number of clock pulses having the period To to output its count as the write address information ADR (t) of the amplitude data SPD (t) at the present sampling time, and the information ADR (t) is applied to one input of the adder
AD.The delay length data memory device DDM supplies a time information DLD (AADR = i/To) corresponding to a desired delay time i to the other input of the adder AD. Then the adder performs an arithmetic operation represented by equation (1) at a given sampling time to output the result of addition as a read address information ADR (t-i of the amplitude data SPD (t-i) before interval i, and then outputs the output information ADR (t) of the address counter AC as the write address information ADR (t) of the amplitude data SPD (t) at the present time, as it is.
In this manner, at time t, the amplitude data SPD (t-i which was stored at time (t-i) before an interval i is read out from the digital memory device DM, while the amplitude data SPD (t) at the present time t is stored in the area of the address designated by the address information ADR (t).
The amplitude data SPD (t-i) thus read out from the digital memory device DM later by the interval i is multiplied with a coefficient K for controlling the amplitude level in the multiplier M so. that the level of the amplitude data is controlled, and the level-controlled amplitude data K
SPD (t-i) is converted into an analog signal by a digital to analog (D/A) converter not shown.
Such operation is performed at each sampling time. As a consequence, a reverberation tone time later than the input musical tone can be produced. In this case, when a plurality of delay time informations DLD which are different from each other at a sampling time are given sequentially, on the time diversion basis, a plurality of informations regarding reverberation tones having different delay times at the same sampling time can be produced. Accordingly, in this embodiment, the delay circuit shown in Fig. 3 is utilized to form intitial reflected tones having complicated reverberation characteristics whose amplitude level and delay time differ depending upon the difference in the distances to the reflecting members such as surrounding walls.
Fig. 4 shows another example of the delay circuit, in which the address counter AC of the address information generator AG is constituted by a preset type down counter. Thus, a delay time information DLD corresponding to a desired delay time i is preset in the address counter AC and the preset value is counted down so as to match the repetition period of the address informations ADR (t), ADR (t + I) . . ADR (t + i) outputted from the address counter AC with a delay time designated by the delay time information DLD, whereby an amplitude data SPD (t-i) stored before the interval i is read out from an area of an address in which the amplitude data
SPD (t) at the present time t is to be stored.
In other words, where the digital memory device DM has 10 words as shown in Fig. 4, the maximum value of the address interval becomes 10 so that it is possible to read out an amplitude data SPD (t-10) delayed a maximum of 10 To. However, where the desired delay time is made to be 6 To, for example, an address in which the address data SPD (t) sampled at the present time t is to be written is matched with an address in which an amplitude data SPD (t-i) before the interval i was stored by making the output information DMADR outputted from the address counter AC to be a repetition of 5, 4, 3, 2, 1;; 5. .O so as to reduce the range of the addresses utilized in the digital memory device DM, thereby reading out the amplitude data SPD (t-i) written the interval i before from an address in which the amplitude data SPD (t) at the present time is to be written. To this end, in the delay circuit shown in Fig. 4, a maximum value detector MXD is provided for detecting the fact that the output information DM ADR from the address counter AC has changed from 0 to 9 and for presetting the delay time information
DLD outputted from the delay length data memory device DDM in the address counter AC.
The delay circuit shown in Fig. 4 is constructed such that instead of storing the amplitude data SPD (t) sampled at the present time tin the digital memory device DM as it is, the amplitude data SPD (t-i) before the interval i is fed back at a predetermined ratio so as to write the sum of the fed back value K SPD (t-i) and the amplitude data SPD (t) sampled at the present time t.To this end, there are provided a multiplier M which multiplies the amplitude data SPD (t-i) read out from the digital memory device DM before the interval i with a coefficient K and feeds back the multiplied amplitude data to the data input of the digital memory device DM, and an adder AD which adds together the output data K SPD (t-i) from the multiplier M and the amplitude data SPD (t) at the present time t and supplies the sum [SPD (t)
+ K SPD (t-i) to the data input of the digital memory device DM.
Accordingly, with the delay circuit shown in Fig. 4, where the desired delay time i is equal to 6 To, the address counter AC is preset with a delay time information DLD represented by DLD
= 6-1 = 5 at a time when the output information DMADR of the address counter AC changes from 0 to the maximum value, in this example 9, whereby the address counter AC repeatedly outputs an address information DMADR whic varies as 5, 4, 3, 2, 1, 0, 5,...0 as the sampling time proceeds in each sampling period T,. At each sampling time, the amplitude data SPD (t-i) stored before the interval i in the area of the address designated by the address information DMADR is firstly read out and then data [SPD (t) + K SPD (t-j) ] formed by adding together at a predetermined ratio the amplitude data SPD (t-i) and the amplitude data SPD (t) sampled at the present time t is written in the area of the address from which the amplitude value SPD (t-i) has been read out.
Accordingly, with the delay circuit shown in Fig. 4, the address in which the amplitude data
SPD (t) at the present time t is written and the address from which the amplitude data SPD (t-i) before an interval i is read out are the same, and the amplitude data SPD (t-i) before the interval i is fed back so that it is possible to take out data regarding a reverberation tone whose amplitude value and the delay time vary regularly. Thus, in this embodiment, the delay circuit shown in Fig. 4 is utilized to generate a reverberation tone following an initial reflected tone (echo) and having a regular reverberation characteristic.
When the amplitude data SPD is multiplied with the coefficient K, the data regarding the finally obtained reverberation tone would have a level larger than that of the original amplitude data. Accordingly, in an actual circuit, the data regarding the reverberation tone is applied to the output side terminal through an attenuator. Where the coefficient K is selected such that - < K < O, such attenuator is not necessary.
The process of forming the reverberation tone will now be described with reference to the functional block diagram shown in Fig. 2.
Process of forming the reverberation tone
The process of forming the reverberation tone in the embodiment shown in Fig. 2 comprises the step of forming an initial reflected tone whose amplitude level and delay time vary randomly and the step of forming a reverberation tone whose amplitude level and the delay time vary regularly. In Fig. 2, the initial reflected tone and the reverberation tone are formed by independent delay circuit systems.
In Fig. 2, the amplitude data SPD (t) obtained by sampling an input musical tone signal at a predetermined period To is supplied to a first delay circuit system, that is an initial reflected tone forming unit 1, which utilizes the delay circuit shown in Fig. 3 and made up of a memory device
DO having memory addresses for 2048 words, multipliers M1 through M10 respectively multiplying ten types of the amplitude data SPD (t-i), SPD (t-i2) . . . SPD (t-i10) before intervals in (n = 1 to 10) which are read out from the memory device DO at the present sampling time and having different delay times with any amplitude level control coefficient Kn (n = 1 to 10), and an adder which adds together the outputs K, SPD (t-i,), K2 SPD (t-i2) .. K10 SPD (t-i10) for producing a total sum
as an initial value ECH (t) of the initial reflected tone at the present time t. The adder SUM contains a register RO which temporarily stores the sum
until the next sampling time (t + 1).
In the initial reflected tone forming unit 1 described above, the amplitude data SPD (t) of the input musical tone at the present time t is written in the area of the address corresponding to the present time t among the memory addresses of the memory device DO for 2048 words.
Since the total sum
at the previous sampling time (t-1) is stored in the register RO in the adder SUM, the content of this register RO would be reset. Then, for the purpose of reading out an amplitude data having a delay time of i, from the memory device DO among ten types of the amplitude data SPD (t-i,) through SPD (t-i10) before interval in, an address of the memory device DO corresponding to the delay time i1 is designated so as to read out from that address the amplitude data (t-i1) sampled i1 interval before. The address of the area where the amplitude data SPD (t-i1) i1 interval before is read out is calculated by equation (1).
The amplitude data SPD (t-i1) thus read out and having a delay time i1 is inputted to the multiplier M1 to be multiplied with an amplitude level control coefficient K1 corresponding to the first reflected tone ECH1 having a delay time i1. The output K, SPD (t-i,) of the multiplier M1 is supplied to the adder SUM to be added with the present value of the register RO, and the sum is stored again in the register RO. At this time, since the content of the register RO has been reset immediately after the writing of the amplitude data SPD (t) at the present time t, the data written into the register RO at this time is the data K, SPD (t-i,).
As above described, when the processings of reading out the amplitude data SPD (t-i,) having a delay time of i, and of the level control are completed, in other words, when the processing regarding the first reflected tone ECH1 is completed, processing of reading out the amplitude data SPD (t-i2) regarding the second reflected tone ECH2 having a delay time of i2 and of the level control are performed in the same manner as the processing of forming the first reflected tone ECH,. As a consequence, the sum of the data K, SPD (t-1) regarding the first reflected tone ECH1 and the data K2 SPD (t-i2) regarding the second reflected tone ECH2, that is [K1 SPD (t-i, + K2 SPD (t-i2) ] is stored in the register RO in the adder SUM.
Similar processings are also performed for the third reflected tone ECH3 through the tenth reflected tone ECH10. As a consequence, the total sum
of the amplitude data K, SPD (t-i,) through K10 SPD (t-i,O) regarding the first reflected tone
ECH, through the tenth reflected tone ECH10 would be stored in the register RO, and this total sum
is outputted through a switch circuit SW as the instantaneous value of the initial reflected tone consisting of the first to 10th reflected tones ECH, through ECH10.
As shown in the following Table I, the switch circuit SW selects the the output of the register
R0 during an interval Ta in which the initial reflected tone is formed, whereas selects and outputs the output of the second delay circuit system at a time Tb following the forming of the initial reflected tone, the sum of Ta and Tb being sampling period To.
Table I
sampling period To (= Ta + Tb
Ta Tb formation of the formation of the initial reflected tone reverberation tone
The information ECH (t) selected by the switch circuit SW is converted into an analog signal by a D/A converter, not shown, and then supplied to a loudspeaker to be produced as an initial reflected tone for the input musical tone.
Consequently, by making different the delay times in of the first to 1 0th reflected tones ECH1 through ECH10 and the amplitude level control coefficients K,, it is possible to produce an initial reflected tone whose amplitude level and the delay time vary randomly.
Where the sampling period To of the input musical tone is 0.04 ms (25 KHz) and when an amplitude data SPD (t-1626) stored at an address spaced by 1626 words, for example, from the write address for the amplitude data SPD (t) at the present time t is read out, the delay time i becomes
i = 1626 x 0.04=65ms whereby an initial reflected tone delayed about 65 ms from the input musical tone can be produced.
The amplitude data obtained by sampling the input musical tone at a predetermined period To is also supplied to the second delay circuit system for forming a reverberation tone after forming the initial reflected tone.
This second delay circuit system comprises a delay memory device D10 which supplies to a digital bandpass filter BPF the amplitude data SPD (t) after delaying the same by an interval j, a bandpass filter BPF including a low pass filter LPF and a high pass filter HPF which passes only a predetermined frequency band component of the amplitude data SPD (t-j) delayed by j, a first reverberation tone forming unit 2 of a comb filter and adapted to form a reverberation tone data
RVD1 having a coarse delay time spacing based on the amplitude data SPD (t-j) passed through the band pass filter, and a second reverberation tone forming unit 3 having an all pass filter construction and adapted to form a reverberation tone data RVD2 having a short delay time spacing based on the reverberation tone data RVD'.
In the circuit shown in Fig. 2, the amplitude data SPD (t) sampled at the present time t is stored in the area of the address ADR (t) corresponding to the present time t among 2048 memory addresses of the memory device D10. For the purpose of reading out an amplitude data SPD (t-j) sampled before an interval j among a number of amplitude data SPD (t) stored in the memory device 10, an address of the memory D10 corresponding to the delay time designated. The address of the area where the amplitude data SPD (t-j) sampled an interval before is read out is determined by equation (1) in the case of forming the initial reflected tone.
The delay time j at this time is selected to be slightly larger than the delay time i10 regarding the tenth reflected tone ECH10 that is j > i10 The amplitude data SPD (t-j) having the delay time j thus read out of the memory device D10 is inputted to the multiplier M41 of the low pass filter LPF to be multiplied with a predetermined coecoefficient K" and the product K" SPD (t-j) is temporarily stored in the register R1. Then, an amplitude data SPD (t-j-1) written one sampling time (1-"') before is read out from the memory device SDO having memory area of one word and then multiplied with a predermined coefficient 1 < ,2 in the multiplier M12.Then, the output K SPD (t-j-1) of the multiplier M12 and the amplitude data K, SPD (t-j) before interval j temporarily stored in the register R1 are added together. The sum [K,2 SPD (t-j-1) + K1, SPD (t-j) ] is again temporarily stored in the register R1 and the register R2. Then, the amplitude data SPD (t-j-1) written at a time one sampling time (1 To) before the present time t is again read out from the memory device SD and then multiplied with a predetermined coefficient K,, in the multiplier M13.The product K,3 SPD (t-j-1) thus formed is added to a value [|\12 [K, SPD (t-j-l)] temporarily stored in the register R2 and the sum [1 < 12 SPD (t-j-1) + 1 < 11 SPD (t-j) + K,3 SPD (t-j-1) ] is again temporarily stored in the register R2. For the purpose of utilizing the value [K,2 SPD (t-j-1) + K" SPD (t-j) ] temporarily stored in the register R1 in the next sampling period (t + 1), this value is stored in the memory device SDO.
By performing these operations at each sampling period To an amplitude data SPD (t-j) before time j and removed with high frequency components in a predetermined bandwidth is outputted from the register R2 of the low pass filter LPF and sent to the high pass filter HPF.
Then the high pass filter HPF removes low frequency components in a predetermined bandwidth from the amplitude data SPD (t-j) before interval j in the same manner as in the low pass filter.
Then, the output data SPD (t-9j) of the register R2 of the low pass filter LPF is supplied to the multiplier M14 to be multiplied with a predetermined coefficient K,4 and the product K,4
SPD (t-j) is temporarily stored in the register R3. Then the amplitude data SPD (t-j-1) written one sampling time (1 To) before is read out from the memory device SD1 having memory area of a single word and multiplied with a predetermined coefficient Krs in the multiplier M15. The product K15 SPD (t-j-1) thus obtained is added to the amplitude data K,, 1(,4 SPD (t-j) before time j and has been temporarily stored in the register 1 < 3 and the sum [1 < 14 SPD (t-j) + Kr SPD (t-j-1) ] is temporarily stored in the registers R3 and R4.The amplitude data SPD (t-j-1) written at a time before one sampling time (1 T0) than the present time t is again read out from the memory device SD1 and multiplied with a predetermined coefficient K,6 in the multiplier
M16 and the product 1 < 16 SPD (t-j-l) is added to [K,4 SPD (t-j) + K15 SPD (t-j-1) ] stored temporarily in the register R4 and the sum [1 < 15 SPD (t-j-l) + K,4 SPD (t-j + K,s SPD (t-j-l) ] is temporarily stored in the register R4.For the purpose of using the value [K14 SPD (t-j) + K15 SPD (t-j-l) ] temporarily stored in the register R3 in the next sampling period (t + 1), this value is written into the memory device SD1.
These operations are performed in each sampling period To so as to produce the amplitude data SPD (t-j) before time j and removed with low frequency components in a predetermined bandwidth from the register R4 of the high pass filter HPF.
Since the register R1 of the low pass filter LPF is not utilized until the next sampling period after writing its content into the memory device SDO, the register R3 of the high pass filter HPF can be used as the register R1.
The amplitude data SPD (t-j) before the interval j and removed with the low and high frequency components in a predetermined bandwidth is inputted to the first reverberation tone forming unit 2.
The first reverberartion tone forming unit 2 is provided with three parallelly connected delay circuits 2A, 2B and 2C of the comb filter construction. With a single delay circuit of the comb filter construction the frequency characteristic becomes wavy as shown by A, B and C in Fig. 7 so that three delay circuits 2A, 2B and 2C are connected in parallel. More particularly, parallel connection of three delay circuits 2A, 2B and 2C having different delay times flattens the overall frequency characteristic as shown by D in Fig. 7. The degree of flatness can be improved as the number of parallelly connected delay circuits increase.
In this embodiment, the delay circuit 2A has the longest delay time, the delay circuit 2B has the next delay time, and the delay circuit 2C has the shortest delay time. Although delay circuits 2A, 2B and 2C have different delay times they have the same construction. Accordingly, the construction of only the delay circuit 2A is shown in detail, but delay circuits 2B and 2C are shown only with the reference charactors of their multipliers registers and memory devices.
In the first reverberation tone forming unit 2 described above, the amplitude data SPD (t-j) before time j and passed through the band pass filter BPF is multiplied with an amplitude level control coefficient K17 in a multiplier K17. The product K,7 SPD (t-j) thus produced is temporarily stored in a register R5 in the multiplier M17. For the purpose of reading out amplitude data SPD (t-x1) written in a memory device D1 having memory addresses for 2048 words x, time before, an address of the memory device D1 corresponding to the delay time x, is designated.The read out amplitude data SPD (t-x,) is applied to an adder SUM where it is added to the outputs of other memory devices D2 and D3 and to the outputs of the memory devices D4 through D6 and D7 through D9 of the delay circuits 2B and 2C, and the sum is temporarily stored in a register R11 in the adder SUM. In this case, the reading operations of the memory devices D1 through D9 are sequentially performed on the time division base in the order of from D1 to D9. Accordingly, during the reading of the memory device D1, no data is outputted from other memory devices D2 through D9. As a consequence, the data written into the register R11 in the adder SUM is the data SPD (t-x1) read out from the memory device D1.
The amplitude data SPD (t-x1) read out from the memory device D1 is multiplied with an amplitude level control coefficient K13 in a multiplier 1 8 and then fed back to the input side of the memory device D1. The product K13 SPD (t-x1) is added to data K17 SPD (t-j) temporarily stored in the register R5 at the present time t and the sum [K,7 SPD (t-j) + K19 SPD (t-x1)] in temporarilly stored in a register R6. Then the amplitude data [K17 SPD (t-j) + K18 SPD (t-x1)] stored in the register R6 is written into the same address which is storing the amplitude data SPD (t-x1) before time x1 Thereafter, the content of the register R6 is reset.The reason for resetting the register R6 is to use this register for the processing of the system including the memory device D2 in the next stage.
Upon completion of the processing of the system including the memory device D1, the processing of the system including the memory device D2 is executed in the same manner.
More particularly, for the purpose of reading out the amplitude data SPD (t-x2) written x3 time before, into the memory device D2 having 2048 word addresses an address of the memory device D2 corresponding to the delay time x2 is designated, thereby to read out the amplitude data SPD (t-x2) sampled x2 time before from the memory device D2. This read out amplitude data SPD (t-x2) is added to the content SPD (t-x1) of a register R11 (the content read out from the memory device D1) by the adder SUM and the sum [SPD (t-x1) + SPD (t-x2)] is temporarily stored in the register R 11.
The amplitude data SPD (t-x2) read out from the memory section D2 is multiplied with an amplitude level cocontrol coefficient K18 in a multiplier 1 9 and then fed back to the input side of the memory device D2. Theproduct K, > SPD (t-x2) is added to the vvalue K17 SPD (t-j) temporarily stored in a register R5, and the sum [K17 SPD (t-j) + K19 SPD (t-x2) ] is temporarily stored in a register R6. The data [K17 SPD (t-j) + K19 SPD (t-x2) ] to be stored in the register R6 is stored in the same address storing the data SPD (t-x2), x3 time before.
Thereafter, the content of the register R6 is reset.
Thereafter, the processing of the system including the memory section D3 is executed in the same manner as that of the system including the memory device D2.
Denoting the delay time of the system including the memory device D3 by x3, at the time of completing the processings of the systems including memory sections D1, D2 and D3, the data to be stored in the register R11 is expressed by
SPD (t-x1) + SPD (t-x2) + SPD (t-x3) whereas the data to be stored in the memory device D3 is expressed by
K17 SPD (t-j) + K20 SPD (t-x3)
Similar processings are executed in the delay circuits 2B and 2C.
Denoting the delay times of the systems including memory sections D4, D5 and D6 of the delay circuit 2B by x4, x5 and x6 respectively, and the delay times of the systems including memory sections D7, D8 and D9 of the delay circuit 2C by x7, x8 and x9 respectively, then the content of the register 11 at the time when all processings of the delay circuits 2A, 2B and 2C have completed is expressed by the following equation
= SPD (t-x1) + SPD (t-x2) + SPD (t-x3) + SPD (t-x4) + SPD (t-x5) + SPD (t-x5) + SPD (t-x7) + SPD (t-xg) + SPD (t-x9) Consequently, following the initial reflected tone. a reverberation tone can be obtained having a long delay time and in which the amplitude level and the delay time vary regularly as shown in Fig. 8, in which the reverberation tone of the delay circuit 2A alone is depicted for the sake of simplicity.
The reverberation tone data RVD' thus formed and having a long delay time interval is supplied to the second reverberation tone forming unit 3.
The second reverberation tone forming unit 3 is provided with serially connected delay circuits 3A, 3B and 3C of the all pass type filter construction having a flat frequency characteristic.
The three delay circuits 3A, 38 and 3C are connected in series to form a reverberation tone data RVD2 having a shorter delay time interval than the reverberation tone RVD' formed by the first reverberation tone forming unit 2. For ths reason, the delay times of the delay circuits 3A, 3B and 3C of the second reverberation tone forming unit 3 are set to be shorter than the delay times of the delay circuits 2A, 2B and 2C of the first reverberation tone forming unit 2. The delay circuits 3A, 38 and 3C are set with different delay times but have the same construction.
Accordingly, the construction of only the delay circuit 3A is shown in detail but delay circuits 3B and 3C are shown with the reference charactors of their multipliers, registers and memory devices.
The reverberation tone data RVD' outputted from the second reverberation tone forming unit 2 is supplied to a register R12 of the delay circuit 3A, but prior to store this data RVD' in the register R12, for the purpose of reading out y, time before data RVD' (t-y,) written into a memory section MDO having 512 word memory addresses, an address of the memory device
MDO corresponding to the delay time y, is designated, thus reading out the data RVD' (t-y,) from the memory device MDO written before the time y,. The data RVD' (t-y,) is multiplied with an amplitude level control coefficient K30 in a multiplier Vi30, and the product K30 RVD' (t-y) is fed back to the input side of the memory section MDO.Then the fed back data K30 RVD' (t-y,) is added to data RVD' (t) supplied from the first reverberation tone forming unit 2 at the present time and the sum [RVD1 (t) + K30 - RVD' (t-y,) ] is temporarily stored in the register R12. Thereafter, the address of the memory section MDO corresponding to the delay time y, is designaed again and the data RVD' (t-y,) written y, time before is again read out from the memory section MDO. The read out data RVD' (t-y1) is temporarily stored in the register R13.
Then the data [RVD' (t) + K30 RVD' (t-y,) ] temporarily stored in register R12 is multiplied with an amplitude control coefficient K20 in a multiplier 29 and the product K28 [RVD' (t) +
K30 RVD' (t-y,) ] is added to a value RVD' (t-y1) temporarily stored in the register R13. The sum RVD (t-y,) + K,, K29 [RVD' (t) + K30 RVD' (t-y1) ] is temporarily stored in the register
R13.For the purpose of utilizing the data [RVD (t) + K,, K30 RVD' (t-y,) ] temporarily stored in the register R12 at a sampling time (t + y,) later than the present time t by an interval y1, the data [RVD' (t) + K30 RVD (t-y,) ] is stored in the address in which the data RVD' (t-y,) was stored.
When the processing executed by the delay circuit 3A is completed, the data RVD' (t-y,) +
K29 [RVD' (t) + K30 RVD' (t-y,) ] is sent to the delay circuit 3B in which this data is processed in the same manner as the delay circuit 3A.
Denoting the output data from the delay circuits 3A, 3B and 3C by RVD2A, RVD28 and RVD2C respectively and denoting the delay time of the delay circuit 3B by y2, and the delay time of the delay circuit 3C by y3, then the output data of the registers R 1 3, Tri 5 and Tri 7 of the delay circuits 3A, 3B and 3C can be expressed by the following equations (4), (5) and (6).
RVD2A = RVD1 (t-y1) + K29 [RVD' (t) + K30 RVD' (t-y,) ] (4)
RVD2B = RVD2A (t-y2) + 1 < 31 [RVD2A (t) + K32 - RVD2A (t-y2) ] (5)
RVD2C = RVDB (t-y3) + K32 [RVD2B (t) + K34 RVD2B (t-y3) ] (6)
The output data RVD2C of the delay circuit 3C is outputted via a switch circuit SW as data for producing a reverberation tone following the initial reflected tone.
Where the relation among the delay times of the delay circuits 3A, 3B and 3C is selected as y1 > y2 > y3 it is possible to form a reverberation tone having a short delay time spacing as shown in Fig. 9. More particularly, based on the reverberation tone data RVD' formed by the first reverberation tone forming unit 2 and having a long delay time spacing, the delay circuit 3A forms a first reverberation tone data RVD2A having a spacing shorter than the delay timne spacing of the first reverberation tone forming unit 2, while the delay circuit 3B forms a second reverberation tone data RVD2B having a spacing y2 shorter than the delay time spacing y, of the delay circuit 3A. For this reason, as the forming processings of the reverberation tones by the delay circuits 3A, 3B and 3C proceed, reverberation tones having shorter delay time spacings would be formed.
Since the registers R12, R14 and R16 in the delay circuits 3A, 38 and 3C are not used until the next sampling period, once the processing executed by them are completed they can be used commonly on the time division basis.
Obviously, in the delay circuits 3A, 3B and 3C, the multiplier M29 may directly receive the data RVD' or the output of the first reverberation iorming unit 2 as shown at dotted line and similarly, the multiplier M30 may be connected to receive the output of the register R13.
The detail of the construction and operation of the embodiment shown in Fig. 1 will now be described. In the following description, it is assumed that the circuit shown in Fig. 1 forms the reverberation tone according to the performances described in connection with Fig. 2.
Detailed Construction of one embodiment
The reverberation tone generating apparatus of the embodiment shown in Fig. 1 generally comprises a memory unit 10, a time information generator 20, an address information generator 30 and a calculating unit 40.
The memory unit 10 corresponds to the delay digital memory device DM shown in Fig. 4 and constituted by a data memory device 100 having a plurality of memory blocks and a latch circuit 101. By utilizing the plurality of memory blocks there are formed memory sections SDO through SD15 each for one word (16 bits), memory sections MDO through MD15 for 512 words (each 16 bits), and memory sections DO through D15 for 2048 words (each 16 bits). The data to be stored in these memory sections SDO through Sd 15, MDO through MD15 and DO through D15 are given from the calculating unit 40, and a data storing address and a data read out address are designated by address informations DM ADR outputted from an address information generator 30. Data read out from respective memory section SDO through SD15 are supplied to the calculating unit 40 via the latch circuit 101.
The time information generator 20 corresponds to the delay length data memory device DDM and comprises a parameter designating circuit 200 and a delay data memory device 201. The delay length data memory device 201 is constructed to select and output either one of the delay time informations DLDm (n) (where n designates memory sections DO through D15 and MDO through MD15, and m designates types 1 through 8) relating to respective data delay memory sections DO through D15 and MDO through MD15 respectively corresponding to 8 types of the reverberation tones (including the initial reflected tone) having different reverberation characteristics in accordance with a designation from the parameter designating circuit 200.More partcularly, as shown in Fig. 11, the delay length data memory device 201 comprises memory blocks MB (DO) through MB (D15); MB (MDO) through MB (MD15) respectively corresponding to the data delay memory sections DO through D15 and MDO through MDL1 5. Each of the memory blocks MB (DO) through MB (MD15) comprises 8 memory addresses 0 through 7 corresponding to the 8 types of the reveration tones. Respective memory addresses 0 through 7 of the memory blocks MB (DO) through MB (MD15) prestore different ones of the delay time informations DLD' (DO) through DLD8 (DO), DLD' (D1) through
Dd8 (D1). . . DLD1 (D15) through DLD3 (D15),
DLD' (MDO) through DLD8 (MDO), .DLD1 (MD15) through DLD8 (MD15). 3 bit parameter designation information PSL designating the reverberation tone characteristic of a reverberation tone to be generated is supplied from the parameter designating circuit 200 as a lower order address information when a bit memory number information DLn (n = 0 through 15) that designate one of the memory numbers 0 through 15 of the memory secions MDO through
MD15 and a 2 bit memory type information DLK (k = D, MD, SD) that designates the type D,
MD and SD of the memory sections are supplied from the address information generator 30 as upper order address informations, the delay time information DLDm (n) which has been stored in a memory address (one of 0 through n) designated by the information DSL in a memory block (one of MB (DO) through MB (MD15) designated by the informations DLn and DLk is read out and supplied to the address information generator 30 as an information that determines the delay time relation of a reverberation tone having a desired reverberation characteristic designated by the parameter designating circuit 200. The delay time of the memory sections
SDO through Sd15 is fixed to 1 To/ so that any delay time information is not necessary for these memory sections SDO through Sd 15.In addition to the parameter designation information PSL, the parameter designating circuit 200 produces a 3 bit program selection information PGS that selects desired one of the control programs prepared for forming 8 types of the reverberation tones.
Based on the delay time information DLDm (n) and the program selection information PGS outputted from the time information generator 20 and a master clock pulse f0 that determines the one step period of the control program, the address information generator 30 produces an address information DM ADR for the data memory device 100 necessary to form a reverberation tone of a desired reverberation characteristic and various control signals for controlling the operations of various circuits. The address information generator 30 comprises a program memory device 300, a program counter 301, a program decoding memory device 302, a control signal output register 303, a selector 304, an address counter 305, a latch circuit 306, a subtractor 307, a maximum value detector 308 and an address information output circuit 309.
8 types of the control programs are prestored in the program memory device 300 for forming 8 types of reverberation tones having different reverberation characteristics, and which one of the control programs is to be outputted is designated by a program selection information PGS outputted from the parameter designation circuit 200. The content of the designated program is sequentially read out at each step by the output information PC of the program counter 301 which counts the number of the master clock pulses f0.
In order to complete in one sampling period To all processings of the initial reflected tone forming unit 1, the bandpass filter BPF, the first reverberation tone forming unit 2 and the second reverberation tone forming unit 3, when the ssampling frequency is selected to be 25
KHz, and the frequency of the master clock pulse 0 to be 4.8 MHz, then the number of steps of one control program becomes less than 4800/25 = 1 92 and the content of the control program having 1 92 steps is executed at each sampling period T,. As shown in the following
Table II, as the control programs at respective steps. three types of contents are prepared, that is first, second and third types in which one step is constituted by a 1 6 bit information.The forming of the initial reflected tone, filter processing and the forming of the reverberation tone are implemented by approximately combining the sequence of these three type control programs and the contents of each bit information.
Table II Bit Type 1 Type 2 Type 3
read address register number
BOO information of designation
01 coefficient Ki information
02 ADR (Kn) (6 bits) RGn (5 bits)
03
04 offset address
05 "0" = initia information of
SLO reflected OF ADRn tone DO = = reververa- tion tone
06 designation designation
07 informatio information DLn
08 DLn (6 bits) (6 bits) of
09 of delay delay circuit
circuit
10 control control
11 information information 1 2 OPC (4 bits) OPC (4 bits) control
13 information
OPC (5 bits) B1 5 In this example, the one step control programs each consisting of 1 6 bits can be classified into two types, one outputted through the control signal output register 303 as they are as informations OFADRn, RGn, DLn, and ADR (kn) and the other outputted through the control signal output register after being decoded by the program decoding memory device 302 as the memory write control signal WR1, the latter type signal being applied to the program decoding memory device 302 from the program memory device 300 to act as an operation code OPC.
The content Il will be described later in detail together with the operation.
As shown in Fig. 1 2 , the address counter 305 comprises address counters AC (DO) (DO) through AC (D15), AC (MDO) through AC (MD15) respectively corresponding to delay memory sections DO through D15, MDO through MD15. Respective counters AC (DO) through AC (D15) and AC (MDO) through AC (MD15) of the address counter 305 are selectively actuated by a memory number information DLn and a memory type information DLk. The count output informations ADR (n) of the address counters AC (n) (n: DO through D15, MDO through MD15) which are actuated by informations DLn and DLk are supplied to the address information output circuit 309 through the latch circuit 306 and also to the subtractor 307. In this example, the output informations ADR (n) of the address counters AC (n) is constituted by 11 bits so that they can designate an address range up to 2048 words, because memory sections DO through D15 among the memory sections DO through D15 and MDO through MD15 are constructed to have an address information length of 2048 words. The address counter 305 is constituted by a
RAM.
The subtractor 307 subtracts [1] from the output content ADR (n) of the address counters AC (n) inputted via the latch circuit 306 and feeds back the difference [ADR (n)-1] to the A input of the selector 304 for the purpose of using the difference in the next sampling period (t + 1). At the same time, the difference is also supplied to the maximum detection circuit 308 which corresponds to the detector MXD shown in Fig. 4.When the maximum value detection circuit 308 detects the fact that an information [ADR (n)-1] obtained by subtracting [1] from the output information ADR (n) of the address counter AC (n) designated by the memory number information DLn and the memory type information DLk has reached the maximum value (all bits are "1", the maximum value detection circuit 308 applies a selection control signal SLB to the selector 304 causing the same to select the input B.The output information [ADR (n)-1] of the subtractor 307 is inputted to the input A of the selector 304, and the output information DLDm (n) of the delay length data memory data memory device 201 is inputted to the input B of the selector 304 so that its output is supplied to one input of the address counter 305 so as to be written (preset) in an address counter AC (n) designated by informations DLn and DLK in accordance with a write control signal WR3.Consequently, under a condition in which the maximum value detection circuit 308 does not produce any selection control signal SLB, a value [ADR (n)-1] obtained by subtracting [1] from the present value ADR (n) would be written in the address counter AC (n) designated by informations DLn and DLk, at each sampling period, so that the output information ADR (n) of the address counter AC (n) decreases toward zero as the time elapses. However, when the value [ADR (n)-1] reaches the maximum value, the maximum value detection circuit 308 produces a selection control signal so that a delay time information DLDm (n) is applied to the address counter AC (n) via the selector 304 and written into the address counter AC (n) in accordance with the write the write control signal WR3.Consequently when the selector control signal SLB is generated, the content of the address counter AC (n) becomes DLDm (n) and then sequentially changes toward zero as the sampling time elapses. In other words, in a portion constituted by a selector 304, an address counter 305, the latch circuit 306, the subtractor 307 and the maximum value detection circuit 308, the address counter AC (n) designated by the informations DLn and DLk forms an address information ADR (n) that completes one cycle with a period equal to a delay time corresponding to the delay time information DLDm (n). The address information ADR (n) is supplied to the address information output circuit 309.
The purpose of the address information output circuit 309 is to output address informations for reading out and writing informations into the memory sections SDO through SD15, DO through D15 and MDO through MD15. Where an information delayed by an interval in is read out from the memory section DO to form an initial reflected tone ECH (t), the address information output circuit 309 formes one set of informations OFADRn, DLn, and DLk and outputs this set as an address information DM ADR by utilizing an 11 bit address information
OF ADRn corresponding to respective delay times in of the first to 10th reflected tones ECH, through ECH10 (outputted by the control signal output register 303) as a lower order address information and then adding a memory number information DLn and a memory type information
DLk. Where an amplitude data SPD (t) sampled at the present time is to be written into the memory section DO, the adress information output circuit 309 outputs a set of informations
ADR (DO), DLn and DLk as an address information DM ADR, the set being formed by utilizing the output information ADR (DO) of the address counter AC (DO) corresponding to the memory section DO as a lower order address information and adding informations DLn (= DLO) and DLk (= DLO) that designate the memory section Do to the upper order.When an amplitude data is written into and read out from the memory sections SDO through SD 15, all bits of a lower order address information are made "0" and informations DLn (= DL0 to DL,5) and and DLk (= DLSD) designating memory sections SDO through SD15 are added to an upper order to form and output an address information DMADR. Where reverberation tones RVD' and RVD2 are to be formed, the output informations ADR (D1) through ADR (D15) and ADR (MDO) through ADR (MD15) of respective address counters AC (D1) through AC (D15) and AC (MDO) through AC (MD15) respectively corresponding to memory sections D1 through D 15 and MD 0 through
MD 1 5 are utilized as the lower order informations and informations DLn and DLk are added to their upper orders.These one sset of informations ADR (n), DLn and DLk are outputted as an address information DMADR. In this case, at a time when the information OFADRn is to be added to the lower orders of the information DLn and DLk, the control signal output register 303 outputs a control pulse GP1. When all bits of the lower address information to be added to the lower orders of the informations DLn and DLk are to be made to "0", the control signal output register 303 produces a control pulse GP2. The address information output circuit 309 contains therein a register that temporarily stores informations DLn and Dlk.
The purpose of the calculating unit 40 is to effect amplitude level control of the data to be stored in memory sections DO through D15, MDO through MD15 and SDO through SD15 and of the data read out from respective memory sections. The calculating unit 40 comprises a coefficient memory device 400, a selector 401, a calculating or operation circuit 402, a temporary register 403 and a latch circuit 404.
Similar to the delay length data memory device. the coefficient memory device 400 includes 8 memory blocks corresponding to 8 types of the reverberation tones having different reverberation characteristics and respective memory blocks prestore a set of coefficients Kn (n = 1 to 32) necessary to form reverberation tones of different types. When supplied with a parameter designation information PSL from the parameter designation circuit 200, and an address information ADR (kn) designating the coefficient Kr among the memory blocks designated by the information PSL, a coefficTer ! < -- is read out from an address designated by the information ADR (gun) and supplied to an r,;si.'l; of the calculating circuit 402.
The amplitude data SPD (t) of the input musical tone sampled by a sample and hold circuit
SPH is inputted to the input A of the selector 401 data MRD read out from the memory device 10 is inputted to the input B and the output c':d 67GOD ot the temporary register 403 is supplied to the input C via the latch circuit 404. Either one of these input data SPD (t), MRD and RGD is selected by a selection control signal SL 1 (2 bits) and then applied to the input X of the calculating circuit 402.
A coefficient l < n read out from the coefficient memory device 400 is applied to input A of the calculating circuit 402, and the output data ROD from the temporary register 402 is inputted to the input B through the latch curcuit 404 and data SPD (t) MRD. RGD selected by the selector 401 are applied to the input X so that the calculating circuit 402 performs the following calculations in accordance with a calculation control signal CTL (3 bits) outputted from the control signal output registre 303.
(Y) = (A) (X) + (B) (7-1) (Y) = ()() + (B) (7-2) (Y) = ()') (7-3) (Y) = (B) (7-4) (Y) = (O) (7-5)
The results (Y) of calculations are supplied tc the temporary register 403, the memory device 10 and the output register 500.
The temporary register 403 temporarily stores the values calculated by the calculating circuit 402 while the initial reflected tone ECH (t) and the everberation tones RVD' and RVD2 are being formed. and feeds back its content to the input C of the selector 401 and input B of the calculating circuit 402 to act as the register output data RGD. The temporary resistor 403 has 32 registers RO through R31 designated by register designation informations RGn (n = 1 to 32) of a 5 bit construction and the input data are written into registers RO through R31 designated by the informations RGn under the control of the write control signal WR1.
The output register 500 stores the instantaneous value ECH (t) of the initial reflected tone obtained as a value Y calculated by the calculating circuit 402 and the instantaneous value RVD (t) of a reverberation tone following the initial reflected tone under the control of a control signal
WR2 and supplies the data thus stored to a D/A converter 502 via an attenuator 501.
The selection control signal SL1 applied to the calculation control signal CTL applied to the calculation circuit 402 are contained in an operation code OPC outputted from the control signal output register 303.
The reverberation tone generating apparatus described above operates as follows.
Operation (a) Formation of the initial reflected tone FCH (t).
(1) For the purpose of writing the amplitude data SPD (t) of an input musical tone sampled at the present time t into the memory device DO, 2 selection control signal SL1 and the calculation control signal CTL respectively represented by
SL 1 SELECT (A) CTL : (Y) = (X) are outputted from the control signal output register 303 as an operation code OPC, whereby the selector 401 supplies the amplitude data SPD (t) outputted from the sample and hold circuit
SPH to the input X of the calculating circuit 402. The calculating circuit 402 outputs the amplitude data SPD (t) inputted to its A as a calculated value (Y).
(2) Then after an address of the memory device DO corresponding to the present sampling time t has been designated, for the purpose of writing the output data SPD (t) of the calculating circuit 402 into the designated address a memory type information DLk, a write control signal
WR4 and a latch control signal L3 respectively represented by
DLn DLo DLK: DLD
WR4; "1" (WRITE) L3 : "1" (LATCH) are outputted from the control signal output register 303 together with a memory number information DLn.
Accordingly, the output information ADR (DO) of the address counter AC (DO) corresponding to the memory device DO is latched by the latch circuit 306 as a lower order address information for writing the amplitude data SPD (t) at the present time t. In the address information output circuit 309, to the upper order of the lower order address information ADR (DO) is added the memory number information DLN (= DLo) and the memory type information DLk (= DLD to form a write address information DM ADR of the amplitude data SPD (t) for the memory device DO, and the formed write address information is outputted.As a consequence the amplitude data SPD (t) at the present time t applied to the data input of the memory device
DO via the calculating circuit 402 is written into an address corresponding to the present time t by the write control signal WR4.
(3) Then, for the purpose of clearing the register RO storing the synthesized value of the initial reflected tones at respective sampling times, an operation control signal CTL, a write control signal WR1 acting as operation codes and respectively expressed by
CTL: (Y) = O WR1:"1"(WRITE) are outputted from the control signal output register 303 together with a register number information RGn expressed by RGn = RO.
Consequently [O] is written into the register RO. In other words, the register RO is cleared.
(4) Then, for the purpose of forming the first reflected tone ECH" a memory type information DLK, a control pulse GP1 and a latch control signal L2 acting as operation codes and respectively expressed by DLk : DLD GP1 : "1"
L2: "i" (LATCH) are outputted from the control signal output register 303 together with an address information
OF ADRn = OF ADR1 corresponding to the delay time i, of the first reflected tone ECH,. In this case, the address information output circuit 309 is storing the memory number information
DLn (= DLo) at the step (3).
Consequently, the address information output circuit 309 outputs an address information DM
ADR for reading out from the memory device DO the amplitude data SPD (t-i,) written before an interval i, by utilizing the address information OF ADR, corresponding to the delay time i, as a lower order information, and by utilizing the memory number information DLn (= DLo) and the memory type information DLK (= DLD) as the upper order address information, whereby an amplitude data SPD (t-,), an interval i, before is read out from the memory device and the amplitude data SPD (t-i) thus read out is latched by the latch circuit by a latch control signal
L2.
(5) for the purpose of transferring the present value of the register RO to the latch circuit 404 a latch control signal L1 = "1" (LATCH) acting as an operation code and a register nunber information RGn = RO are outputted from the control signal output register 303, whereby the present value of the register RO is transferred to the latch circuit 404 to be stored therein.
(6) Then for the purpose of obtaining an instantaneous value K, SPD (t-i,) regarding the first reflected tone ECH, by multiplying an amplitude data SPD (t-i,) before time i, with an amplitude level controlling coefficient K1, a select control signal SL1 = SELECT (B) and an calculation control signal CTL = (A). (X) + (B) = (Y) which constitute an operation code are outputted from the control signal output register 303 together with a constant reading out address information ADR (Kn) = ADR (Kn) = ADR (K,).
Consequently, a coefficient K1 regarding the first reflected tone ECH, is read out from the coefficient memory device 400 and supplied to the input A of the calculating circuit 402. On the other hand, the selector 401 selects the amplitude data SPD (t-i1), i, time before and supplied to its input B from the latch circuit 101 and applies the selected data SPD (t-i,) to the input X of the calculating circuit 402 which performs the following calculation.
(Y) = (A) (X) + (B) = K, SPD (t-i,) + [RO]
Since the content of the register RO has been cleared at step (3) described above, at this time, an instantaneous value K, SPD (t-i,) regarding the first reflected tone ECH is obtained as the calculated value (Y) of the calculation circuit 402.
(7) Then, for the purpose of transferring the instantaneous value K, SPD (t-i1) of the first reflected tone ECH1 to the register RO and to store therein a write control signalWR1 = "1" (WRITE) acting as the operation code OPC is, outputted from the control signal output register 303 together with a register number information RGn = RO, whereby the output data (Y) =
K, SPD (t-i,) of the calculation circuit 402 is written into the register RO.
When various steps described above are completed, the Instantaneous value K, - SPD (t-i,) of the first reflected tone ECH1 can be obtained.
(8) Then the instantaneous values K2 SPD (t-i2) through Kncss SPD (t-i,o) respectively regarding the second to 10th reflected tones ECH2 through ECH1 are formed at steps (4) through (7) as a consequence at a time when the step regarding the 1 0th reflected tone ECH10 has completed, the register RO stores the total sum
of the instantaneous values of the first to 10th reflected tones ECH, through ECH,, and the total sum is written into the output register 500 by the write control signal WR 2 and then transferred to the attenuator 501.
(b) Filter operation
(1) For the purpose of reading out from the memory device D10 the amplitude data SPD (t-j), j time before, a memory type information DLk = DLD latch control signals L3 = "1" (LATCH) and L2 = "1" (LATCH) which constitute the operation code OPC are outputted from the control signal output register 303 together with a memory number information DLn = DL,o From the address counter AC (D10) corresponding to the memory section D 10 is latched by the latch circuit 306 as a lower order address information for reading out the amplitude data SPD (t-j), j time before.The lower order address information ADR (D10) thus latched is added to its upper order the memory number information DLn (= DL,) and the memory type information
DLK (= DLD) in the address information output circuit 309 to form a read address information
DM ADR for reading out the amplitude data SPD (t-j) from the memory section D10 of the data memory device 100, wahereby the amplitude data SPD (t-j), an interval j before, is read out from the memory section D10 and the read out data is latched by the latch circuit 101 according to the latch control signal L2.
(2) For the purpose of writing the amplitude data SPD (t) sampled at the present time t into the same address from which the amplitude data SPD (t-j) has been read out, a selection control signal SL1 = SELECT (A) and a calculation control signal CTV = (Y) = (X) which constitute the operation code are outputted from the control signal output register 303.
Consequently, the selector 401 supplies to the input X of the calculation circuit 402, amplitude data SPD (t) outputted from the sample and hold circuit SPH. Furthermore, the calculation circuit 402 outputs the amplitude data SPD (t) inputted to its input X as a calculated value (Y).
(3) For the purpose of writing the amplitude data SPD (t) into the memory section D10 a memory type information DLk = DLD, a write control signal WR4 = "1" (WRiTE), and a latch control signal L3 = "1" (LATCH) which constitute the operation code OPC, and a memory number information DLn = DL10 are outputted from the control signal output register 303.
Accordingly. the output information ADR (D10) of the address counter AC (D10) corresponding to the memory section D10 is latched by the latch circuit 306 as a lower address information for writing the amplitude data SPD (t) at the present time t. In the address information output circuit 309, to the lower order address information ADR (D10) thus latched are added the memory number information DLn (= DL10) and the memory type information DLk (= DLD) to form and output an address information DM ADR for writing the amplitude data SPD (t) in the memory section D10. As a consequence, the amplitude data SPD (t) at the present time t applied to the data input of the memory section D10 via the calculation circuit 402 is written into an address corresponding to the present time t by the write control signal WR4.
(4) Then, in the low pass filter LPF, the following equation [Ri] + K, - SPD (t-j) is calculated according to the content of the register Ri, the coefficient K" and the amplitude data SPD (t-j), j time before. For storing again the calculated value in the register R1, a latch control signal L1 = "1" (LATCH) acting as the operation code OPC and a register number control signal RGn = R1 are outputted from the control signal output register 302 and the content of the register R1 is transferred to the latch circuit 404.
(5) For the purpose of calculating K, - SPD (t-j), the control signal output register 303 outputs a selection control signal SL 1 (SELECT (B) ) and a calculation control signal CTL which constitute the operation code OPC and a cor first read out address ;nforriiation ADR (l < n).
Consequently, a coefficient K1, is read out from the coefficient memory device 400 and supplied to the input A of the calculating circuit 402. The selector 401 selects the amplitude data SPD (t-j) which was latched in the latch circuit 101 at the preceding step b- (1) and supplies the selected data SPD (t-j) to the input X of the calculation circuit 402. Accordingly, the calculation circuits 402 calculates the following equation (Y) = (A) (X) + (B)
= K, SPD (t-j) + R1 At this time, since the content of the register R1 has been cleared at a time when the filtering processing at the previous sampling time (t-l) has completed, data K,1 SPD (t-j) is obtained as the calculated value (Y) at this step.
(6) For the purpose of storing this calculated value (Y) = K11 SPD (t-j) in the register R1, the control signal output register 303 outputs a write control signal WR 1 = "1" (WRITE) utilized as the operation code OPC and a register number informatin RGn = R1, whereby the output data K11 SPD (t-j) of the calculation circuit 402 is stored in the register R1.
(7) Then for the purpose of reading out the amplitude data SPD (t-j-l), a (j-l) interval before, the control signal output register 303 outputs a memory type information DLK = DLSD a latch control signal L2 = "1" (LATCH), and a gate pulse signal GP2 = "1" which constitute the operation code OPC, and a memory number signal DLn = DLo. Then the address information output circuit 309 changes to "O" all bits of the lower order address information and adds the memory type information DLk (= DLsD) and the memory number information DLN (= DLo) to the upper order to form and output an address information DM ADR for the memory section SDO, whereby the amplitude data SPD (t-j-l), a (j-1) time before, is read out from the memory section SDO and latched by the latch circuit 101.
(8) Then an equation K12.SPD(t-j-1) + SPD (t-j-1) + [R1] is calculated in accordance with the content K11 SPD (t-j) of the register R1, the coefficient K12 and the amplitude data SPD (t-j-1) latched in the latch circuit 101, and for the purpose of storing again the calculated value in the register R1, the control signal output register 303 outputs a latch control signal L1 = "1" (LATCH) acting as the operation code OPC and a register number information RGn = R1 so as to transfer the content K1, SPD (t-j) of the register R1 to the latch circuit 404.
(9) Then, for the purpose of calculating an equation K12, SPD(t-j-1) + SPD + [R1] the control signal output register 303 outputs a signal SL1 = SELECT (B) and a signal CTL = (Y) = (A) (X) + (B) which constitute the operation code OPC and an address information ADR (Kn) = ADR (K12) , whereby a coefficient K11 is read out from the coefficient memory device 400 and then applied to the input of the calculation circuit 402. The selector 401 selects the amplitude data SPD (t-j-1) latched in the latch circuit 101 and supplies it to the input x of the calculation circuit 402.Hence this circuit 402 outputs the result of calculation (Y) of the following equation (Y) = (A) (X) + (B)
= K.2 SPD (t-j-1) + K" SPD (t-j)
This calculated value Y is stored in the resistors R1 and R2 in the next step so that their contents are changed as follows.
[R1] = [R2] = K12 SPD (t-j-1) + K11 SPD (t-j) (10) For the purpose of calculating an equation K13 SPD (t-j-i) + [R2] by utilizing the content of the register R2, the coefficient K,2 and the amplitude data SPD (t-j-l), a (j-l) before and stored in the memory section SD0, the amplitude data SPD (t-j-1) is read out from the memory section SDO and latched in the latch circuit 101 in the same manner as in steps (b)-(7).
(11) In the same manner as the step (b)-(8), the content K,2 SPD (t-j-1) + K11 SPD (t-j) of the register R2 is transferred to the latch circuit 404.
(12) Then for the purpose of reading out the coefficient K,3 to calculate an equation K,3
SPD (t-j-1) + [R2], the control signal output register 303 outputs a signal SL1 = SELECT (B), and CTL = (Y) = (A) (X) + (B) which constitute the operation code OPC and an address information ADR (Kn) (k,3), whereby a coefficient K11 is read out from the coefficient memory device 400 and supplied to the input A of the calculation circuit 402.The selector 401 selects the amplitude data SPD (t-j-l) latched in the latch circuit 101 and supplies it to the input X of the calculationcircuit 402, whereby it calculated an equation (Y) = (A) (X) + (B)
= K,3 - SPD (t-j-l) + K,2 - SPD (t-j-1)
= K" SPD (t-j)
This calculated value (Y) is stored in the register R2 at the next step and then applied to the high pass filter HPF from this register R2.
(13) At the last step of the low pass filter LPF. for the purpose of writing the content of the register R1 in the memory section SDO for use at the next sampling time (t + 1), at first the content K,2 SPD (t-j-l) + K11 SPD (t-j) of the register R1 is transferred to the latch circuit 404 in the same manner as the step (b)-(8) for causing the operation circuit 402 to calculate (Y) = (B). The calculated value (Y) = K12 - SPD (t-j-i) + Fizz - SPD (t-j) is written in the memory section SDO.This writing operation is performed by outputting the operation code OPC constituted by DLK = DL9D GP2 = "1" and WR4 = "1", and a memory number information DLn = DL0 from the control signal output register 303.
After the operation of the low pass filter LPF completes, the high pass filter HPF operate in the same manner.
The formation of a reverberation tone RVD' having a large delay time interval will now be described.
(c) Formation of the reverberation tone RVD1
(1) At first, the data SPD (t-j) stored in the register R4 of the high pass filter HPF is multiplied with a coefficient K,7 and for the purpose of storing the product K,7 - SPD (t-j) in the register R5, a latch control signal L1 = "1" (LATCH), and a register number information RGn are outputted from the register 303 and the content SPD (t-j) of the register R4 is transferred to the latch circuit 404.
(2) Then for the purpose of calculating data K,7 - SPD (t-j) the control signal output register 303 outputs a section control signal SL1 = SELECT (c), a calculation control signal CTL = (Y)
= (A) - (X) and a coefficient read address information ADR (Kn) = ADR (K,7), whereby a coefficient K,7 is read out from the coefficient memory device 400 and applied to the input A of the calculation circuit. The selector 401 selects the data SPD (t-j) latched in the latch circuit 404 and applies it to the input X of the calculation circuit 402, whereby the calculation circuit calculates the following equation (Y) = (A) - (X) = K,7 - SPD (t-j) and this calculated valjue Y is stored in the register R5 in the next step.
(3) Then, for the purpose of reading out the amplitude data SPD (t-x,), x, interval before from the memory device D1, adding the read out data to the present value of the register R11 and storing again the sum in the register R ii, the control signal output register 303 outputs a latch control signals L3 = "1" (LATCH) and L2 = "1" (LATCH) a memory number information DLn = DL, and a memory type information DLk = DLD, whereby the output information ADR (D1) of the address counter AC (D1) corresponding to the memory section Di would be latched in the latch circuit 306 as a lower order information for reading out the amplitude data SPD (t-x,). The memory number information DLn and the memory type information DLk are added to the upper order of the lower order address information ADR (D1) to form an address information DM - ADR for the memory section D1 of the data memory device 1 00. Consequently, the amplitude data SPD (t-x,) , x, time before is read out from the memory section D1 and latched by the latch circuit 101.
(4) To add together the read out data SPD (t-x,) and the preswent value of the register Tri 1, the content of the register R 11 is transferred to the latch circuit 404 and thereafter the control signal output register 303 outputs a selection control signal SL1 = SELECT (B) and a calculation control signal CTL = (Y) = (X) + (B).
Then the selector 401 selects the amplitude data SPD (t-x,) latched in the latch circuit 101 and supplies it to the input X of the calculation circuit 402, whereby the calculation circuit 402 calculates an equation (Y) = (X) + (B) = [R 11] + SPD (t-x,)
Before this time, the content of the register R11 has ben cleared at a time when the operation at the preceding sampling time (t-l) was completed, so that the calculated value Y at this step (4) is equal to SPD (t-x,). Thereafter, the calculated value Y is transferred to the register R11 to be stored therein.
(5) Then, for the purpose of reading out the amplitude data SPD (t-x,) from the memory device D1, multipying the amplitude data with a coefficient K,8 and for storing again the sum of the product K18 - SPD (t-x,) and the content K,7 SPD (t-j) of the register R5 in the register R6, the content K,7 - SPD (t-j) of the register R5 is transferred to the latch circuit 404 in the same manner as in the step (c)-(l).
(6) Then, for the purpose of calculating equation
(Y) = K18 SPD (tX1) + K,7 SPD (t-j) based upon the amplitude data SPD (t-x,) latched by the latch circuit 101, the data latched by the latch circuit 404 and the coefficient K,8 the control signal output register 303 outputs a selection control signal SL1 = SELECT (B) , a calculatuion control signal CTL = (Y) = (A) (X)
+ (B), and a coefficient read out information ADR (Kn) = ADR (K18) , whereby the coefficient
K,8 is read out from the coefficient memory device 400 and applied to the input A of the calculation circuit 402.On the other hand, the selector 401 selects the amplitude data SPD (t-x,) latched by the latch circuit 101 and applies it to the input X of the calculation circuit 402, whereby this calculation circuit calculates an equation (Y) = (A) (X) + (B)
= Ka8 SPD (t-x,) + K,7 SPS (t-j) This calculated value Y is written into an address of memory section D1 corresponding to the present time t via the register R6 in the next step. Thereafter, the register R6 is cleared for processing a system including the memory section D2.
(7) Then the processings regarding the systems respectively including memory sections are executed in the same manner as steps (c)-(3) through (c)-(6). Upon completion of the processings of respective systems respectively including memory sections D1 through D9, the register R11 produces an information regarding a reverberation tone RVD1 represented by
RVD1 =
The operation of forming a reverberation tone RVD2 having a short delay time interval will now be described.
(d) Formation of the reverberation tone RVD2
(1) For the purpose of reading out the amplitude data RVD1 (t-y,) from the memory section
MDO, the control signal output register 303 outputs a latch control signal L3 = "1" (LATCH) and L2 = "1" (LATCH), a memory number information DLk = DLMD and a memory type information DLk = DLMD Consequently in the same manner as the step (c)-(3), an address information DM ADR for the memory section MDO is formed in the address information output circuit 309 for reading out the amplitude data RVD1 (t-y,), a y, time before, from the memory section MDO. This read out data RVD1 (t-y,) is latched by the latch circuit 101.
(2) The, data K30 RVD, (t-y1) + RVD1 (t) is calculated by using the amplitude data RVD1 (t-y,) latched by the latch circuit 101, the output data RVD1 (t) of the register R11 and the coefficient K30 then to store the calculated value Y in the register R12, after transferring the output data RVD1 from the register Tri 1 to the latch circuit 401, the control signal output register 303 outputs a selection control signal SL1
= SELECT (B), a calculation control signal CTL = (Y) = (A) (X) + (B), and a coefficient read address information ADR (Kn) = ADR (K30) As a consequence, the coefficient K30 is applied to the input A of the calculation circuit 402 in the same manner as the step (c)-(6) described above, and the data RVD1 (t-y1) is supplied to the input X of the calculation circuit 402, with the result that the calculation circuit calculates an equation (Y) = (A) (X) + (B)
= K30 RVD' (t-y1) + RVD' (t) and this calculated value (Y) is stored in the register R12 at the next step.
(3) Then, for the purpose of multiplying the content [1 < 30 - RVD1 (t-y,) + RVD' (t) ] of the register Tri 2 with a coefficient K29 the content of the register Tri 2 is transferred to the latch circuit 404 and the control signal output register 303 outputs a selection control signal SL1 =
SELECT (C), a calculation control signal CTL = Y = (A) - (X) and a coefficient read address information ADR (Kn) = ADR (K29).
Accordingly, the coefficient K30 is applied to the input A of the calculation circuit 402, while the data [K30 - RVD' (t-y,) + RVD' (t) ] is being supplied to the input X of the calculation circuit 402, with the result that the calculation circuit 402 calculates an equation (Y) = (A) (X)
= K29 [K30 RVD1 (t-y,) + RVD1 (t) ]
This calculated value Y is stored in the register R1 3 at the next step.
(4) Then, for the purpose of adding the content of the register R13 to the data RVD' (t-y,), y, time before, and storing again the sum in the register R 1 3, in the same manner as the step (d)-(1), the data RVD' (t-y,), y, time before is read out from the memory section MDO and latched by the latch circuit 101.After transferring the content K29 - [K30 RVD' (t-y,) + RVD' (t) ] of the register R13 to the latch circuit 404, the control signal output register 303 produces a selection control signal SL1 = SELECT (B) and a calculation control signal CTL, whereby the calculating circuit 402 produces a calculated value Y shown by (Y) = (B) + (X)
= RVD' (t-y,) + K29 - [K30 - RVD' (t-y,) + RVD1 (t)] This calculated value Y is stored in the resistor R 1 3 and then outputted as a reverberation tone information RVD2A at the next step.
(5) Then the content of the register R12 is written into an address of the memory section
MDO corresponding to the present time t for the purpose of utilizing the content [K30 - RVD' (t-y,) + RVD' (t) ] of the register Tri 2 at a sampling time (t + y,) later by a time y,.
(6) Thereafter a reverberation tones RVD23 and RVD2C having shorter intervals than (t) are formed in the same manner.
Although in the embodiment shown in Figs. 1 and 2, 2, a bandpass filter 1 6 provided, it may be omitted in a certain case. Furthermore, as shown in the performance block diagram shown in
Fig. 13, the data may be divided into 3 frequency bands by using a high pass filter HPF, a bandpass filter BPF and a low pass filter LPF for forming different reverberation tones for respective frequency bands in the first reverberation tone forming unit 2. This can readily be realized by changing the content of a control program.
It should be understood that the invention is not limited to the specific embodiment described above and that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the appended claims. For example, Fig. 14 shows a modification of the address information generator 30 shown in Fig. 1 in which a delay length information DLD" (n) sent from the delay length memory device 201 is compared by a comparator 360 with the output of a + 1 350 which adds + 1 to the output of a latch circuit 306 which latches the output of an address counter 305. The comparator 360 is supplied with the delay time information DLD" (n) at its input A and the output of the adder 350 at its input
B. Where both input signals are not equal, the comparator 360 does not produce any output.
Consequently, the output of the adder 350 is stored via a gate circuit 370 in the address counter 305 constituted by a RAM at a position thereof selected by the memory number information DLn and the memory type information DLk, and read out again from that position.
When the two inputs to the comprator 360 coincide with each other, an output is sent to an inverter 380 from an A = B output terminal to stop the output of the inverter 380 which has been supplied to an enabling terminal EN of the gate circuit 370. Thus, at this time since no input is applied to th position of the address counter 305 selected by the information DLn and
DLk, the address counter would be cleared to return to the initial state. The output to the address information circuit 309 is derived out from the latch circuit in the same manner as in
Fig. 1.
For the modified address information generator shown in Fig. 14, the address information DM ADR adapted to read out a delay information from the memory device 1 50 can be formed in the same manner as above described.
In the following, modifications of this invention will be desdribed wherein an input musical tone is divided into a plurality of frequency bands so as to generate and add independent reverberation tones to respective frequency bands.
Fig. 1 5 shows the principle of this modified reverberation tone generating apparatus in which an input musical tone signal is commonly applied to a band pass filter, BPF, a high pass filter
HPF and a low pass filter LPF. Thus, the input musical tone signal MS is divided into three frequency bands by these filters and the separated signals are applied to respective reverberation tone forming circuits REV G1, REV G2 and REV G3 which form reverberation tone signals REV" REV2 and REV3 having different delay time lengths and amplitudes in response to the input musical tone signal divided into 3 frequency bands.The reverberation tone signals REV1 through REV3 are mixed together by a mixer MX and then produced as reverberation tones to be added to the input musical tone by a sound system SS. Where a musical tone is produced in an ordinary house room, the delay time of the reverberation tone forming circuit REV G3 supplied with the output signal of the lowpass filter LPF is set to be shorter than that of the reverberation tone forming circuit REV G2 supplied with the output signal of the high pass filter HPF. In this manner, a reverberation tone having uniform reverberation characteristics over the entire frequency bands can be formed.
Figs. 16a, 17a, 1 8 a, 1 9a and 20a show modifications of the embodiment shown in fig. 1 5 in which depending upon the tone colors of the performed tone of such musical instruments as a flute, a string ensemble, an organ, etc., the relative connections of the reverberation tone forming circuit REV G, through REV G3, the low pass filter LPF, the high pass filter HPF, and the bandpass filter BPF, the frequency characteristics of respective filters, the reverberation tone lengths and depths formed by the reverberation tone forming circuits are changed. With these modifications, it is possible to generate reverberation tones having different reverberation characteristics as shown in Figs. 16b, 17b, 18b, 19b, and 20b. Similar reverberation tones can also be added to a rhythm tone.The constructions of the circuits shown in Figs. 1 6a through 20a and the characteristics shown in Figs. 1 6b through 20b respectively correspond to tone colors of a flute, a string ensemble, an organ, a saxophone, a vibraphone, and a trumpet as shown in the following Table Ill.
Table 111 length of
charac- residual tone color construction teristics tone depth flute Fig. 1 6a Fig. 1 6b short medium
(about 1 ms) string Fig. 1 7a Fig. 1 7b medium slightly ensemble (about 2ms) deep organ Fig. 1 8a Fig. 1 8b long deep
(about 3ms) saxophone Fig. 1 9a Fig. 1 9c short shallow vibraphone Fig. 1 6a Fig. 1 6b short shallow tranpet Fig. 20a Fig. 20b medium medium
The circuit construction of the reverberation tone generating apparatus for producing different reverberation tones described above is identical to that shown in Fig. 1 and the functional block diagram thereof is shown in Fig. 21.
The functional block diagram shown in Fig. 21 has substantially the same conctruction as that shown in Fig. 1 3 except that the bandpass filter BPF is constituted by a low pass filter LPF, and a high pass filter HPF1, that the high pass filter HPF in Fig. 13 is shown as HPF2 in Fig. 21, and that the low pass filter LPF shown in Fig. 13 is shown as LPF2 in Fig. 21. However the high pass filter HPF2 and low pass filter LPF2 are constructed similar to the filters HPF, and LPF2 in the band pass filter BPF so that an amplitude data SPD (t-j) removed with low and high frequency components in given frequency bands is applied to the first reverberation tone forming unit.
Furthermore, comb filter type delay circuits 2A, 2B and 2C having different delay times are provided between the adder SUM and the band pass filter BPF1, the high pass filter HPF2 and the low pass filter LPF2 the operation of the circuit shown in Fig. 21 is generally similar to that of Fig. 13. In this case, the content of the register R15, when all processings of the delay circuit 2A through 2C have completed, is expressed by RVDa = RVD, + RVD2 + RVD3
= SPD (t-x,) + SPD (t-x2) + SPD (t-x3)
+ SPD (t-x4) + SPD (t-x5) + SPD (t-x6)
+ SPD (t-x7) + SPD (t-x8) + SPD (t-x9) Kwhich is equal to the content RVD1 of register R11.Consequently, reverberation tones whose amplitude levels and delay times vary regularly as shown in Fig. 1 3 can be produced,
The reverberation tone RVD1, RVD2 and RVD; for respective frequency bands formed by delay circuits 2A through 2C respectively are synthesized by the adder SUM produce a reverberation tone data RVDa which is applied to a second ,everberation tone forming unit 3A constituted by serially connected delay circuits 3A, 3B and 3C identical to those shown in Fig. 1 3.
The purpose of providing the second reverberation tone forming unit 3 is to form reverberation tone data RVDb having shorter delay timne spacings based on the reverberation tone data
RVDa formed by the first reverberation tone forming unit 2.
The operatin of the circuit shown in Fig. 21 can readily be understood from the descriptions regarding FIGS. 2 and 1 3.
As above described in the reverberation tone generating apparatus embodying the invention, a digital memory device is used as a delay element, so that even when the reverberation time is elongated the S/N ratio would not be lowered, thus enabling to produce a reverberation tone having the same quality as the natural reverberation tone. Moreover, the reverberation time can be varied as desired by changing address spacing of the digital memory device. Moreover, it is possible to commonly use a single calculation circuit on the time division basis, thus simplifying the circuit construction. since a reverberation tone whose delay time and amplitude level are irregular, and a reverberation tone whose delay time and amplitude level are regular are formed by independent circuits, there is an additional advantage that reverberation tones having complicated characteristics can be formed with a small scale circuit.
In other words, according to the modified embodiments of this invention, an optimum reverberation effect can be added to a musical tone suitable for the tone color of a performed musical tone and a place of performance.
Claims (14)
1. A reverberation tone generating apparatus of the type including a reverberation tone generator for producing a reverberation tone based upon an input musical tone, characterized in that said reverberation tone generator comprises:
a memory device for sequentially storing amplitude data representing an amplitude value of an input musical tone according to clock pulses having a predetermined period;
delay time information generating means for generating a delay time information that determines a delay time of a reverberation tone to be generated;;
address information generating means for generating a first address information for designating a first area in said memory device to store amplitude input data which is the amplitude data of said input musical tone at a present time and a second address information for designating a second area in said memory device to read out an amplitude output data which is equal to the amplitude input data stored in said memory device at a time preceding said present time by a time interval designated by said delay time information;
level control means for controlling a level of said amplitude output data; and
converting means for converting said level-controlled amplitude output data to a reverberation tone of said input musical tone.
2. A reverberation tone generating apparatus according to claim 1 further comprising sampling means for sampling said input musical tone at said predetermined period and outputting said amplitude data as sampled result.
3. A reverberation tone generating apparatus according to claim 1 or 2 wherein said address information generating means comprises a pulse generator for generating said clock pulses; a counter device which counts the number of said clock pulses and produces said first address information; and calculating means for calculating based on said first address information and said delay time information and for outputting said second address information.
4. A reverberation tone generating apparatus according to claim 1 or 2 wherein said address information generating means comprises a pulse generator for producing said clock pulses; and a counter device which counts the number of said clock pulses and outputs said first address information and said second address information, said first address information and said second address information being the same.
5. A reverberation tone generating apparatus according to claim 4 wherein said counter device comprises a counter and determining means for determining a count period of said counter.
6. A reverberation tone generating appear ',s according to cam 4 wherein said counter device is of a presettable counter.
7. A reverberation tone generations apparatus according to claim 4 wherein said counter device comprises a counter, a comparator for comparing said delay time information with an output of said counter, means for setting a count of said counter to an initial value in accordance with an output of said comparator, and increasing means for increasing the count of said counter at a predetermined period.
8. A reverberation tone generating apparatus according to claim 1 or 2 wherein a plurality of said memory devices, said delay time information generating means and said level control means are provided for forming a plurality of reverberation tones having different delay times for said input musical tone.
9. A reverberation tone generating apparatus according to claim 1 or 2 which further comprises means for calculating, at a predetermined ratio, said amplitude output data and said amplitude input data, and means for storing a calculated result into said memory device.
.
10. A reverberation tone generating apparatus according to claim 1 or 2 which further comprises means for calculating, at a predetermined ratio, said amplitude input data and said amplitude output data, and means for applying a calculated result by said calculating means to said level control means.
11. A reverberation tone generating apparatus according to claim 1 wherein said memory device comprises a plurality of memory sections and said address informations generating means and said level control means are operated on a time division basis.
1 2. A reverberation tone generating apapratus according to claim 8 or 11 which further comprises a reverberation tone pattern setter for designating a pattern of the reverberation tone to be generated and a control signal generator responsive to an output of said setter for producing various control signals adapted to control said memory device, said delay time information generating means, said address information generating means and said level control means.
1 3. A reverberation tone generating apparatus according to claim 1 wherein said address information generator comprises a presettable down counter.
14. A reverberation tone generating apparatus according to claim 1 which further comprises a filter circuit which divides an input musical tone signal into a plurality of signals having different frequency characteristics and a plurality of reverberation tone forming channels for adding reverberation tones having different reverberation characteristics to said respective signals, each of said reverbaration tone forming channel being constituted by said reverbaration tone generator.
1 5. A reverberation tone generating apparatus substantially as described herein with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56113122A JPS5814898A (en) | 1981-07-20 | 1981-07-20 | Reverberation adding apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
GB2102613A true GB2102613A (en) | 1983-02-02 |
GB2102613B GB2102613B (en) | 1985-06-19 |
Family
ID=14604073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB08220683A Expired GB2102613B (en) | 1981-07-20 | 1982-07-16 | Reverberation tone generating apparatus |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPS5814898A (en) |
DE (1) | DE3226637C2 (en) |
GB (1) | GB2102613B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0405915A2 (en) * | 1989-06-26 | 1991-01-02 | Pioneer Electronic Corporation | Audio signal data processing system |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60177713A (en) * | 1984-02-23 | 1985-09-11 | Matsushita Electric Ind Co Ltd | Sound field correction equalizer |
JP2532363B2 (en) * | 1984-06-22 | 1996-09-11 | 松下電器産業株式会社 | Delay device |
JPS6199198U (en) * | 1984-11-30 | 1986-06-25 | ||
JP2542616Y2 (en) * | 1987-08-20 | 1997-07-30 | カシオ計算機株式会社 | Reverberation device |
JPS6469115A (en) * | 1987-09-10 | 1989-03-15 | Anritsu Corp | Digital signal processing circuit |
US5000074A (en) * | 1988-06-23 | 1991-03-19 | Yamaha Corporation | Effect imparting device for an electronic musical instrument or the like apparatus |
JP2605887B2 (en) * | 1989-10-04 | 1997-04-30 | ヤマハ株式会社 | Sound source waveform recording / playback method |
JP2669073B2 (en) * | 1989-09-22 | 1997-10-27 | ヤマハ株式会社 | PCM sound source device |
JPH0787337B2 (en) * | 1990-01-05 | 1995-09-20 | ヤマハ株式会社 | Acoustic signal processor |
JPH0413193A (en) * | 1990-05-02 | 1992-01-17 | Kawai Musical Instr Mfg Co Ltd | Musical sound generating device |
JPH057079U (en) * | 1991-07-19 | 1993-02-02 | 桐生 信夫 | Fishing tackle |
JP2006101461A (en) * | 2004-09-30 | 2006-04-13 | Yamaha Corp | Stereophonic acoustic reproducing apparatus |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2360983B2 (en) * | 1973-12-07 | 1979-07-05 | Deutsche Itt Industries Gmbh, 7800 Freiburg | Reverberation facility |
DE2431989A1 (en) * | 1974-07-03 | 1976-01-22 | Polygram Gmbh | PROCESS AND EQUIPMENT FOR GENERATING ARTIFICIAL REVIEWS |
DE2447226A1 (en) * | 1974-10-03 | 1976-04-08 | Gerard Daleiden | Electronic delay line for producing echos and reverberations - converts analog samples into digital for stored and delayed read-out and re conversion |
JPS5573099A (en) * | 1978-11-28 | 1980-06-02 | Sony Corp | Repercussion adding device |
JPS55157796A (en) * | 1979-05-28 | 1980-12-08 | Sony Corp | Reverberation adding unit |
GB2059726B (en) * | 1979-10-03 | 1984-06-27 | Nippon Telegraph & Telephone | Sound synthesizer |
-
1981
- 1981-07-20 JP JP56113122A patent/JPS5814898A/en active Granted
-
1982
- 1982-07-16 GB GB08220683A patent/GB2102613B/en not_active Expired
- 1982-07-16 DE DE19823226637 patent/DE3226637C2/en not_active Expired
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0405915A2 (en) * | 1989-06-26 | 1991-01-02 | Pioneer Electronic Corporation | Audio signal data processing system |
EP0405915A3 (en) * | 1989-06-26 | 1992-12-16 | Pioneer Electronic Corporation | Audio signal data processing system |
Also Published As
Publication number | Publication date |
---|---|
JPS5814898A (en) | 1983-01-27 |
DE3226637C2 (en) | 1987-02-12 |
DE3226637A1 (en) | 1983-02-03 |
GB2102613B (en) | 1985-06-19 |
JPH0157799B2 (en) | 1989-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4731835A (en) | Reverberation tone generating apparatus | |
US4586417A (en) | Electronic musical instruments provided with reverberation tone generating apparatus | |
GB2102613A (en) | Reverberation tone generating apparatus | |
EP0149896A2 (en) | Method and apparatus for dynamic reproduction of transient and steady state voices in an electronic musical instrument | |
US4570523A (en) | Reverberation tone generating apparatus | |
JPH0496000A (en) | Musical sound synthesizer | |
JPS6328478Y2 (en) | ||
JPS5855518B2 (en) | electronic musical instruments | |
JPS648838B2 (en) | ||
JPH01198797A (en) | Electronic musical instrument | |
JPS6255158B2 (en) | ||
JPH03269583A (en) | Electronic musical instrument | |
JPH0112320Y2 (en) | ||
JPS6035077B2 (en) | electronic musical instruments | |
JPH0583917B2 (en) | ||
JPS5858678B2 (en) | electronic musical instruments | |
JP2727089B2 (en) | Electronic musical instrument sound generator | |
US5229535A (en) | Electronic musical instrument with a filter device having a relay | |
JP2590997B2 (en) | Speech synthesizer | |
JPH05134690A (en) | Reverberation sound adding device | |
US5070757A (en) | Electronic tone generator | |
JPH0117595B2 (en) | ||
JPH02110500A (en) | Electronic musical instrument | |
JPS5921038B2 (en) | electronic musical instruments | |
JPH0157359B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PE20 | Patent expired after termination of 20 years |
Effective date: 20020715 |