HK1111004B - Unnatural reverberation - Google Patents
Unnatural reverberation Download PDFInfo
- Publication number
- HK1111004B HK1111004B HK08105622.7A HK08105622A HK1111004B HK 1111004 B HK1111004 B HK 1111004B HK 08105622 A HK08105622 A HK 08105622A HK 1111004 B HK1111004 B HK 1111004B
- Authority
- HK
- Hong Kong
- Prior art keywords
- value
- gain
- delay line
- values
- sample
- Prior art date
Links
Description
Cross Reference to Related Applications
This application claims priority to a provisional application 60/622,294 entitled "unnaturalreviberation" filed on 26.10.2004.
Technical Field
The present invention relates to audio systems, and more particularly to an improved method and apparatus for providing reverberation.
Background
A listener in a room hears a combined sound of a direct sound emanating from a sound source and a series of reflections from the room's surfaces, which occur at different times. Due to comb filtering, the frequency response at the listener position comprises many peaks and valleys, since all such reflections and direct sound add vectorially together. Early attempts to use speakers and microphones in an electro-reverberant manner in non-absorptive rooms. Later, space was saved by replacing the room with a metal disk or spring. When an electronic analog delay becomes available, a train of decaying pulses may be generated by cycling the output back to the input with a slightly reduced gain. The development of computational, analog-to-digital, and digital-to-analog converters allows the same column of decaying analog pulses to be generated in the digital domain.
The reverberation can be characterized by its impulse response. Arithmetically convolving the music signal with this impulse response produces a reverberation signal. Therefore, the development of reverberation has focused on how to obtain the desired impulse response. A recent approach to generating electronic reverberation, which has now become popular, is to utilize sampling. Impulse responses within a concert hall are recorded and fed into a convolver such that a non-reverberant music source sounds somewhat like it was generated within that concert hall.
Due to the large concert hall, sound absorption by listeners and surfaces, and sound velocity of approximately 1090 feet per second, listeners in an optimal concert hall hear direct sound even before the first significant surface reflections reach at least 15 milliseconds. The very high frequency content of the reflected sound is greatly attenuated relative to the direct sound. At low frequencies, the reverberant sound typically exceeds the loudness of the direct sound, depending on the seat position. Some people prefer to sing in shower cubicles laid in tiles, where the reflected sound is very fast to reach and has a higher frequency content.
Electronic reverberation systems used in modern sound recording technology have similar characteristics and provide an initial delay of more than 15 milliseconds and attenuated high frequencies. The delay in acoustic or artificial reverberation and the lack of high frequency content allow any noise or imperfections in the direct sound obtained by the microphone to be clearly heard.
Most people are unaware that they are listening to beat frequencies that occur between multiple instruments or sounds of the same pitch. Depending on the frequency, phase and harmonic differences, the listener may hear the effect of flicker or high frequency noise. In addition, bowstring instruments produce mechanical noise and wind instruments produce wind noise and sometimes annoying harshness. Percussion instruments have a slap sound and the sound may be harsh on certain tones. Compact speaker technology typically amplifies these drawbacks.
Recording, transmission and reproduction devices may create their own defects or amplify those defects that are already present. For example, some recording engineers dislike the conventional Pulse Code Modulation (PCM) recording procedure because they believe that the high frequency components of the stimulus that should not be present in the live microphone signal. Lossy bit compression systems (such as MPEG-3) are also considered by some sound recording engineers to distort sound quality. The programs commonly accepted by these same engineers are older analog tape recordings and new direct digital stream coding (DSD) recordings used to record Super Audio Compact Discs (SACDs). Unlike the 16-bit PCM used to compress optical discs at 44.1KHz, the DSD is a 1-bit PCM at 2.7 MHz.
Despite the non-ideality of high frequency sources, the cumulative result is that almost all existing recordings include the instants when the high frequency stimulus is present, which is sufficient for the listener to turn the volume down below the maximum point for listening to other programs — sometimes only off. By attenuating such high frequencies with an equalizer, high frequency stimulation may be reduced. However, attenuating the high frequency sufficiently results in an unsatisfactory loss of high frequency detail.
What is needed, therefore, is a system and method for reducing such imperfections, distortions and/or irritating effects caused by sound recording material.
Disclosure of Invention
In accordance with the present invention, a method and apparatus are disclosed for reducing defects in audio recording material by means of improved artificial reverberation. The presently disclosed system produces smooth, non-irritating high frequency sound without sacrificing high frequency detail or producing muffled sound.
More specifically, the disclosed system receives a series of digitized input waveform samples (known as a dry signal or a direct signal) and temporarily stores each input waveform sample within a cyclical delay line having a predetermined number of delay line positions. The delay line is conceptually a first-in-first-out (FIFO) buffer. The delay line may be implemented as a circular delay line in computer memory or as a FIFO if implemented in hardware. A computation element uses a column of gain value pairs to generate a reverberation signal comprising a succession of samples of the reverberation waveform, each sample having an associated amplitude. Each gain value pair includes a first value identifying a position within the delay line relative to the current sample position and a second value specifying a gain factor.
Each reverberation sample is calculated by the calculation component in real time. To calculate the current reverberation sample, the calculation component accesses each gain value pair of the column of gain value pairs. For each gain value pair, the calculation component calculates an intermediate value by accessing a preceding input sample amplitude from an associated delay line position specified by a first value within the corresponding gain value pair, and by multiplying the amplitude by a second value or gain factor within the corresponding gain value pair. The calculation component calculates an intermediate value by performing this multiplication for each delay line position specified within the column of gain values, and adds all of the intermediate values to produce the current reverberation waveform sample. The reverberation signal is a series of samples of the reverberation waveform (known as the wet signal).
A composite digital audio signal consisting of a series of composite waveform samples having respective sample amplitudes is generated by attenuating each current reverberation waveform sample and adding the attenuated reverberation waveform sample to the current input waveform sample.
Such column gain value pairs may be generated in various ways. In one embodiment, the operator sets controls that establish certain parameters for generating the column of gain value pairs. The calculation component accesses the parameters and calculates the gain value pairs according to control settings established by the user. If the control settings are changed, the computing component generates a new list of gain value pairs based on the new control settings. Because adjustment of the control settings results in a change to the column of gain value pairs used to generate the reverberation signal, the operator can adjust the characteristics of the reverberation signal by adjusting the controls.
In another embodiment, the reverberation component generates a reverberation signal using a list of pre-generated gain value pairs. One or more columns of pre-generated pairs of gain values that produce varying reverberation signal characteristics may be provided. In situations where multiple column pre-generated gain value pairs are available, the operator may select via the interface which of the column gain value pairs is used to generate the reverberation signal.
First and second values in the column of pairs of gain values describe an attenuation curve, including a leading portion, a flat portion, and a decaying portion, the first value defining an X-axis value and the second value defining a Y-axis value. Parameters related to the portions of the decay curve may be adjusted via the operator control when such a control is used.
Unlike conventional reverberation systems, the column of gain value pairs in certain embodiments includes an initial gain value pair having a first value specifying a delay line position that is delayed from a current time by a time of less than 15 milliseconds. The first value of the additional pair of gain values in the column of pairs of gain values may also identify a delay line position that is less than or equal to 15 milliseconds of delay from the current time.
In many useful waveforms, the reverberant energy is less than the energy of the direct sound at low and medium frequencies, and gradually increases above the direct sound at very high frequencies. The reverberation energy does not have to increase every second at high frequencies. The direct sound may be exceeded if it decays as the frequency increases.
Other features, aspects, and advantages of the systems and methods disclosed herein will become apparent to those skilled in the art from consideration of the following detailed description of the invention.
Drawings
The present invention may be more completely understood in consideration of the detailed description of the invention in connection with the accompanying drawings, in which:
FIG. 1 is a block diagram depicting a system employing a single tapped delay line and a computational unit in accordance with the present invention;
fig. 2 is a diagram illustrating a method for calculating the current reverberation waveform sample amplitude in accordance with the present invention;
FIG. 3 is a block diagram depicting a system that uses a first computational element in conjunction with a first delay line to generate a first reverberation signal that is fed into a second delay line that in conjunction with a second computational element generates a second reverberation signal;
FIG. 4 is a representation of user controls for setting parameters used to generate a list of gain value pairs;
FIGS. 5a and 5b are block diagrams illustrating signal processing for implementing processor-generated reverberation in accordance with the present invention;
FIG. 6 is a diagram depicting exemplary reverberation decay curves generated in the components of FIGS. 2a and 2 b;
FIG. 7 is a schematic diagram depicting gain versus time for a setting in a system operating in accordance with the present invention;
FIG. 8 is another schematic diagram depicting gain versus time for a setting in a system operating in accordance with the present invention;
FIG. 9 is a schematic diagram depicting gain versus time for the delay line output of the second of two delay lines in a reverb system using cascaded delay lines;
fig. 10 is a schematic diagram depicting gain versus time for the delay line output of the first of two delay lines in a reverb system using cascaded delay lines.
Detailed Description
U.S. provisional patent application 60/622,294, entitled "Unnatural reversion" and filed on 26/10/2004, is incorporated herein by reference.
Improved systems and methods for generating reverberation are disclosed. The disclosed system receives an input signal having a periodic series of digital input waveform samples. Each sample having an associated amplitude. The system is designed to use audio input that is sampled at a common audio sampling rate of 44100, 48000, 88200, or 96000 samples per second, and in one embodiment each sample of each channel is a 32-bit floating point number representing the instantaneous signal amplitude.
System operation
A system for generating artificial reverberation according to the invention is depicted in fig. 1. Referring to fig. 1, the system includes an equalizer 1102 that receives a digital audio source at its input. The output of the equalizer 1102 is coupled to an input of an equalizer 2104, and the output of the equalizer 2104 is coupled to an input of a tapped delay line 106. The output of equalizer 1102 in fig. 1 feeds equalizer 2104 and summer 110, and is referred to herein as the input signal, direct signal, or dry signal. The computation element 108 cooperates with the tapped delay line 106 to produce a reverberation signal, as described in detail below.
In typical operation, the equalizer 2104 is set to boost the reverberant signal to high frequencies above 2kHz and to attenuate frequencies below 200 Hz. The equalizer 1102 reduces the high frequencies for the reverberant signal and the direct signal from the source input. The net effect on the frequency response of the composite output signal is a flat response that is fairly uniform or rippled due to comb filtering.
Due to the equalizer 104, the high frequency increase range at 20kHz and the attenuation range at 15Hz may be very extreme-e.g., +40dB at 20kHz to-40 dB at 15 Hz. The corresponding high frequency attenuation produced by equalizer 1102 for the rebalanced sound is about 30dB at 20 kHz. In this example, the reverberation content of the composite signal exceeds the direct signal component by about 30dB at 20 kHz. At 15Hz, the direct signal component exceeds the reverberation by about 40 dB. (the reverberation process itself may enhance bass by 10dB or about 10 dB.) the listening effect is clean and music high frequencies with bass are not cloudy.
More specifically, the output of the equalizer 1 comprises a signal that is considered to be an input signal having a series of digital waveform samples. Each input waveform sample has an associated amplitude. These input waveform samples are processed by an equalizer 2104 and coupled to a delay line 106, which delay line 106 is conceptually a first-in-first-out buffer. Depending on the implementation, the delay line 106 may include a FIFO hardware buffer. The delay line 106 may also be implemented as a circular buffer of predetermined length within a memory.
In one embodiment, the delay line 106 is a contiguous portion of memory storing 529,200 fixed points of 24 bits or a number of floating points of 32 bits representing the sample amplitude of 6 seconds of audio at a sample rate of 88,200 Hz. In an illustrative embodiment, the samples from the equalizer 2104 padding are clocked in or stored in a first location of the delay line 106 every 11.337868 microseconds. One of ordinary skill in the art will appreciate that the particular sampling rate, buffer size, clock speed, etc. may be modified to accommodate particular design requirements.
Each sample that arrives after the delay line 106 has been filled replaces the oldest stored sample. Thus, in the illustrated embodiment, the delay line 106 supplies a continuous sample input at 88,200Hz, and always holds the sample for 6 seconds relative to the current (most recent) sample position. When the delay line 106 is implemented as a circular buffer in memory, the previously stored samples are accessed by counting down from the position of the current sample, as will be illustrated later.
The computation component 108 generates a reverberation signal, which is a series of reverberation waveform samples. Each reverberation waveform sample has a reverberation sample amplitude. The reverberation waveform signal is fed to a summer 110. The summer 110 sums the attenuated or scaled versions of the reverberation waveform samples output from the computation component 108 with the input waveform samples, which may also be arbitrarily scaled. The output of the summer is a complex signal having a series of complex waveform samples. Each complex waveform sample has a complex waveform sample amplitude. The scaling of the summer 110 mixes the reverberant signal with the direct signal from the equalizer 1102 in the appropriate ratio.
Each reverberation sample generated by the calculation component 108 is calculated in real time. The computation component computes the amplitude of each current reverberation waveform sample using a column of gain pairs. Each gain value pair includes a first value identifying a location within the delay line 106 and a second value specifying a gain factor.
The manner in which the delay line or circular buffer 106 operates and the manner in which the computation element 108 cooperates with the delay line 106 and the column gain values to generate the amplitude of each current reverberation waveform sample may be more fully understood with reference to the simplified illustration of fig. 2. Fig. 2 depicts the delay line 106 (shown in fig. 1) implemented as a circular buffer within the memory. For purposes of discussion, a circular buffer having 15 contiguous memory locations (labeled as addresses 0-14) is shown. It should be noted that in practice the circular buffer may take thousands of locations in memory, and the size of the circular buffer is a matter of design choice. The operation of the circular buffer with respect to storing the most recently received input samples is described below.
After receiving each new input sample, the computation element 108 (shown in FIG. 1) uses the current sample pointer 150 and stores the new sample at the next consecutive location in the circular buffer. The calculation component 108 then modifies the current sample pointer value to point to the new sample. For example, assume that a series of input samples 1-17 have an amplitude a1-a17And is assumed to have an amplitude a1First arrives with amplitude a17The sample 17 arrives last, the calculation unit 108 stores a at address 01Store a at address 12Etc. and store a at address 1415. The next input sample (i.e. having amplitude a)16Sample 16) arrives, the computation component 108 stores the sample at the next logical location of the circular buffer (i.e., address 0), which address 0 includes the then oldest (oldest) input sample in the buffer (i.e., having amplitude a)1Sample 1) of (1). When having an amplitude a16Has an amplitude a when written to address 01Sample 1 is overwritten and sample 1 effectively exits the circular buffer as shown in figure 2. Similarly, in the case of a signal having an amplitude of a17After arrival of input sample 17, sample 17 is written to the memory address (i.e., address 1) in the buffer that then holds the oldest sample. By storing a sample 17 at address 1, having an amplitude a2Sample 2 is overwritten and effectively exits the delay line or buffer 106. Storing at address 1 a value having an amplitude a17After sample 17, the current sample pointer 150 points to the most recently received sample, as illustrated in fig. 2. For the purpose of explaining how the current reverberation sample is calculated below, it is assumed that the circular buffer includes the sample amplitude described in fig. 2, and that the current sample pointer is pointing to the current input sample within address 1.
As previously described, the computation component 108, in conjunction with the circular buffer and the column gain value pairs, produces each current reverberation waveform sample during a single sample interval. The manner in which each current reverberation waveform sample Rc is calculated is also depicted in fig. 2.
To calculate the current reverberation waveform sample, the calculation component 108 generates a plurality of intermediate values. The calculation component 108 then sums all of these intermediate values to obtain the amplitude of the current reverberation waveform sample Rc. These intermediate values correspond to a number of entries (entries) within the column of pairs of gain values. A selected one of the amplitudes in the circular buffer is obtained by using a sample identifier in one of the pairs of gain values, and each intermediate value is calculated by multiplying the gain factor in the pair of gain values associated with the sample identifier by the obtained amplitude.
By way of example, the first pair of gain values within the illustrated column of pairs of gain values is 3, 1.2. The value 3 is a number used to count down within the circular buffer to identify the location within the circular buffer used to follow the computed content. The second value in the pair of gain values is a gain factor. Thus, to calculate the first intermediate value, the calculation component 108 identifies the address of the current sample pointer (address 1 in the immediate example) and counts down within the buffer to identify the buffer location that was used to generate the corresponding intermediate value. The computation component 108 recognizes that the amplitude a is included by back counting 3 logical positions from the current value pointer 150 within the buffer14Address 13 of (a). To obtain a first intermediate value corresponding to a first pair of gain values within the column of pairs of gain values, the calculation component 108 multiplies the gain factor 1.2 within the first pair of gain values by the amplitude a14. The calculation section 108 stores the first intermediate value and then calculates the second intermediate value. More particularly, to calculate the second intermediate value, the calculation component 108 back-counts 4 logical positions from the address of the current sample pointer 150 using the value 4 of the sample identifier from the second gain value pair. The calculation section 108 recognizes in this way that the content a including the second intermediate value is used for calculation13Address 12. The calculation section 108 acquires the amplitude a13And multiplies the magnitude by a gain factor of 1.0 found within the second gain value pair to obtain a second intermediate value. This process is repeated for each gain value pair untilUntil all intermediate values have been calculated, as shown in fig. 2. All intermediate values are then summed to obtain the amplitude value Rc, i.e., the current reverberation waveform sample.
In one embodiment, the calculation component 108 calculates a new reverberation waveform sample component every 11.337868 microseconds, and performs all the multiplications and additions required to produce the above value Rc at this time frame.
Additionally, in the embodiment depicted in fig. 3 (described below), the computation components 108.1 and 108.2 compute new current first and second reverberation waveform samples every 11.337868 microseconds in the manner described above with respect to the computation component 108 and perform all necessary multiplications and additions at this time frame.
The computing component 106 may include a processor executing preprogrammed instructions stored in memory, a Digital Signal Processor (DSP), a custom or semi-custom integrated circuit, or any combination thereof configured to perform the functions described herein.
The summer 110 may be implemented within the computing component 108 as a software module or alternatively as any hardware or processor-based component operable to perform the summing functions described herein. More particularly, referring to fig. 1, the summer 110 adds K1 times the current reverberation sample amplitude Y to K2 times the input sample amplitude X, 88,200 times per second, to produce a composite waveform sample output.
Using a high-speed Pentium (Pentium) processor for the computing component 106, all of the described operations from taking input samples to delivering corresponding composite outputs may occur over a single 11.337868 microsecond sample period. Other systems may be designed to use additional sampling periods for processing.
Because the presently described system is a linear system, the order of the blocks is adjustable. For example, the equalizer 2104 may be after the calculating component 807, rather than before the delay line 106. The equalizer 2104 may also be set differently and fed directly by the input rather than by the output of the equalizer 1102. The arrangement shown is chosen to facilitate having a tone control within the equalizer 1102 to affect the direct signal and the reverberant signal and the best signal-to-noise ratio.
In one embodiment, the delay line 106 stores one sample every 11.337868 microseconds and supplies 529,200 samples. This corresponds to 6 seconds of audio at a sampling rate of 88,200 Hz. At this sampling rate, the computation component 108 produces a series of reverberation waveform samples that change in magnitude and polarity over time. The polarity of the corresponding reverberation waveform samples is governed by the sign of the gain coefficients within the corresponding pairs of gain values. The manner in which the polarity is assigned is described below.
The column gain value pairs represent the impulse response of the reverberation generator. The computation element 108 produces a single reverberation sample by accessing the entire column of samples of the delay line 106 identified within the column gain value pair. For each sample time of a gain value pair, when the delay line 106 forms a circular buffer in memory, the computation component 108 subtracts the first value of the gain value pair from the current sample position in memory to obtain the amplitude of the appropriately longer sample. If the sought position is before the start of the delay line 106, the counting continues from the other end. Each derived amplitude is multiplied by its corresponding gain in the column and all products are added together to form a single reverberation sample as described above. At 88,200Hz, the reverberation calculation sums 19,668,600(223 × 88,200) multiplicative accumulations and other operations for each audio channel.
By equalizing the direct signal and the reverberant signal separately before adding them, an energy relation between the reverberant signal and the direct signal can be generated. To obtain dense sound, the initial delay is very short, approximately less than or equal to 15 milliseconds, unlike real or existing artificial reverberation. More particularly, the time between the current time and the time at which the most recently stored sample (used in the calculation of the current reverberation waveform sample) was received is approximately less than or equal to 15 milliseconds. The shorter initial delay helps clarify and smooth the reproduction of high frequency percussion instruments such as cymbals, triangular bells and tambourines. It also facilitates vocal reproduction and is useful when playing DVD movies. Many of the useful reverberation waveforms produced by the presently disclosed systems have an initial delay as short as possible, e.g., 40 microseconds.
Another characteristic of the most effective reverberation waveform is a very high density of delays immediately following the initial delay, unlike real or previous artificial reverberation. A delay interval as small as 30 microseconds and alternating polarity with increasing intervals produces a comb filter effect with a large number of peaks and valleys (ranging as much as 16.7 kHz). These peaks and valleys in the frequency response that produce high frequencies appear bright and pleasing.
A single delay in the impulse response corresponds to a reflection from the interior surface of the acoustic chamber. Unlike indoors, whether of the same or opposite polarity, each delay is an ideal broadband replica of the input delay in time.
Generation of a cascaded reverberation signal
Fig. 3 generally depicts a system as shown in fig. 1. But a cascaded reverberation waveform generator is used. More particularly, referring to fig. 3, the system includes a first reverberation waveform generator for generating a first reverberation waveform signal including a first delay line 106.1 and a first calculation component 108.1. The system also comprises a second mixed waveform generator for generating a second reverberant waveform signal comprising a second delay line 106.2 and a second calculating component 108.2. Functionally, the output of the first reverberation waveform generator is fed into the input of the second reverberation waveform generator, and the output of the second reverberation waveform generator is coupled to the summer 110. These first and second reverberation waveform generators 107.1 and 107.2 may utilize the same series of gain values, which may be adjusted for the polarity of the gain coefficients in one of the series. In addition, these first and second waveform generators 107.1 and 107.2 may utilize separate gain value pair columns, which may or may not include the same gain value pair. Furthermore, if separate columns of gain value pairs are used for the two reverberation waveform generators 107.1 and 107.2, separate user controls (e.g. as described below) may be provided to allow control of the generation of each column of gain value pairs.
These calculation means 108.1 and 108.2 may each generate a gain value pair for their respective column. It is noted that these computing means 108.1 and 108.2 may comprise reusable software modules and/or routines. Further, the first calculation component 108.1 can include a processor that executes one or more software modules and/or routines using the first column gain value pair to generate the first reverberation waveform sample. Further, the second calculation component 108.2 may comprise the same processor, executing the same modules and/or routines with the second column gain value pair to generate the second reverberation waveform sample. Furthermore, the column gain value pairs used by the two reverberation waveform sample generators may be the same column with a polarity adjustment of the gain coefficients.
This effectively increases the number of reverberation delays to p × q when the first reverberation waveform generator 107.1 uses a column of gain value pairs with p gain value pairs and the second reverberation waveform generator 107.2 uses a column of gain value pairs with q gain value pairs. The system is selectively operable in a low density mode in which only a single reverberation subsystem is used, or a high density mode in which the output of the first subsystem is fed to the second subsystem to increase the effective number of delays in the second reverberation waveform samples.
The reverberation characteristics produced by the cascaded reverberation waveform subsystem (as described above) are determined by different sets of controls that specify the parameters used to calculate multi-column gain value pairs for each reverberation waveform generator. In addition, a common set of controls may produce two columns of pairs of gain values that are identical except for the polarity of their second values.
Control member
These reverberation controls allow the user to modify the parameters used to generate the column of gain value pairs.
These column gain value pairs may be pre-generated and stored prior to operation of the reverb system or alternatively generated immediately. In the case where the column gain value pairs are pre-generated, most of the user controls described below are not necessary for the runtime system.
In addition, one or more columns of gain value pairs may be provided when the column gain value pairs are pre-generated. Each column of gain value pairs defines a particular reverberation characteristic. Where multiple sets of gain value pairs are available, the particular column being used may be selected by the user through a graphical user interface or through any other suitable selection technique. In the case where pre-generated sets of gain value pairs are used, it is noted that the reverberation control described above is not used.
The controls described below are provided primarily to allow the user to adjust the reverberation characteristics of the operating system by modifying the column of gain value pairs.
The following discussion describes an exemplary technique for generating a list of gain value pairs based on these user control settings.
The reverb system control is provided on a personal computer as a graphical user interface 8, as generally depicted in fig. 4. The settings of the controls 10a-10h are used to define the characteristics of the reverberation decay curve. The reverberation decay curve specifies the magnitude of the gain coefficients of the column of gain value pairs as a function of delay time.
The widgets 12a-12h determine the input frequency response to these reverberation widgets. Wet and dry DB controls 14a and 14b control the mixing of the reverberant (wet) signal output and the direct (dry) signal output, respectively. More particularly, the graphical user interface 8 comprises controls of the form: a leading edge time control 10a, a flat time control 10b, a minimum time control 10c, a maximum time control 10d, a delay number control 10e, a leading edge DB control 10f, a maximum attenuation control 10g, and a attenuation linear control 10 h. Referring to fig. 5a, the system uses a time scale table 202, which time scale table 202 assigns a delay time from time 0 to the relevant delay point for each delay (1793 delay points in the current example). A description of the individual controls is provided below. The delay time values produced by the various controls refer to the impulse response of the reverberation and correspond to the previous sample position within the cyclic delay line associated with the current sample.
Leading edge time (LEADING EDGE TIME) (mSec) -leading edge time control 10a specifies the amount of time between the zero delay and the time at which the reverberation decay curve begins to decay to zero DB or a flat portion (shown in fig. 6). Referring to fig. 5a, by way of example, the leading edge time control 10a is set to 9.376 (read rounded to 9.38) milliseconds.
FLAT TIME (FLAT TIME) (mSec) -the delay decay curve applied to the input signal may include a FLAT portion with 0DB decay or a specified fixed reference decay different from 0DB (shown in fig. 6). The length of the flat time decay portion may be adjusted by the user through the flat time control 10 b. The flat decay portion begins at the end of the time period setting using the leading edge time control 10a and ends at a delay time equal to the sum of the time specified by the leading edge time control 10a plus the time (in mSec) specified by the flat time control 10 b.
Minimum DELAY (MIN DELAY) (mSec) -the minimum DELAY control 10c specifies a DELAY period in milliseconds that is added to all DELAY times in the time scale table 202 (shown in FIG. 5 a).
Maximum DELAY (MAX DELAY) (mSec) -the DELAY time used by maximum DELAY control 10d to the last DELAY line position. In one exemplary embodiment, the maximum delay time to the last delay line position is 5.1 seconds.
Delay (delay) (#) -the delay control 10e specifies the number of delay line positions to be used to calculate the current reverberation waveform sample. In the illustrated embodiment, the number of delay line positions to be used is selected from a range of minimum 1 to maximum 1611.
Leading edge DB (DB) -leading edge DB control 10f (shown in FIG. 5 b) specifies the maximum gain in DB during the leading edge of the reverb decay curve (shown in FIG. 6). The leading edge DB control 10f in one embodiment allows the leading edge maximum gain to be adjusted between-40 and +40 DB.
Fade DB (DB) -fade DB control 10g specifies the maximum attenuation of the signal at the last delay line position used to calculate the current reverberation waveform sample. The decay DB control 10g allows the attenuation at the last delay line position to be adjusted between +10DB to-90 DB.
Decay Linear (DECAY LINEARITY) — the decay Linear control 10h (shown in FIG. 5 b) modifies the shape of the decay curve of the reverberation after the flat part of the decay curve (shown in FIG. 6).
High Density/Low Density Selection-the system allows for the Selection of either High Density or Low Density reverberation mode. In the low density mode, the number of delays specified by the delay control 10e is not cascaded. In the high density mode, the output of the first reverberation signal generator is cascaded with the second reverberation signal generator to generate a number of reverberation waveform samples, as discussed subsequently. The selection may be made by a check box (shown in FIG. 4) or any other suitable selection technique. By way of example, if the delay control 10e is set to specify 23 samples and the high density mode is selected, each of these 23 delays produces an additional 23 delays, resulting in 23 × 23 — 529 reverberation delays.
Processing techniques to generate a list of gain value pairs
The signal processing technique in the presently disclosed system to generate a list of gain value pairs using parameters from user controls is illustrated in fig. 5a-5 b.
The system 200 for generating a list of gain value pairs includes a time scale table 202 that includes the number of delays or samples and corresponding times from the input signal to points on the reverberation decay curve. The delay is a delayed replica of the input signal produced by a circular buffer in memory as a tapped delay line 106 (shown in fig. 1). A good sounding reverberation has a monotonically increasing time between delays. The fixed intervals produce a buzzing or ringing effect, the random intervals produce noise, and too many intervals vary to produce the perception of a rapid decrease in pitch when the reverberation signal is nearly unattenuated. If one listens carefully to applause, the reverberation that appears in a real room produces a reduced pitch as reflections arrive from surfaces at greater and greater distances. Too much of this effect is generally considered unpleasant.
The time scale table 202 can be generated by using arbitrary numbers, formulas that increase the interval exponentially, or separate formulas that delay different portions, or by plotting a curve and measuring values at different points along the curve. In the exemplary time scale table 202 depicted in fig. 5a, the first three and last two delay times show that the interval starts at approximately 12 microseconds and ends at 5 milliseconds, with the last delay (number 1793) occurring at 6 seconds and the interval rate being 417/1. This separation ratio is different from existing electronic reverberations and reverberations generated in a real room, typically in the latter case no reflected signal is observed during the first 15 milliseconds directly or after the input signal.
In the illustrated embodiment, the maximum reverberation delay (in the low density mode, as described later) is 6 seconds. Although in the illustrated embodiment the maximum reverberation delay is 6 seconds (in the low density mode), it will be appreciated that the maximum reverberation time for a given system is a matter of design choice. The actual reverberation duration using only a portion of the 6 second timescale is selected on the computer display by using a mouse actuated maximum time control 10d (shown in fig. 4 and 5 a). This total reverberation period is divided into four periods, namely the minimum time, the leading edge time, the flat time and the remaining decay time. An exemplary decay curve is illustrated in fig. 6. As shown, the decay curve includes an offset time determined by the minimum time control 10c (shown in FIGS. 4 and 5 a). In one embodiment, the leading portion of the decay curve (designated LE) comprises a portion of a sinusoidal waveform extending generally between 90 and 270 degrees. The length of the leading edge portion of the decay curve is determined by the leading edge time control 10a (shown in fig. 4 and 5 a). The peak gain of the leading portion of the decay curve is set by the leading DB control 10f (shown in FIGS. 4 and 5 b). The peak gain corresponds to the gain at the beginning (or leftmost edge) of the leading portion of the attenuation curve. After the leading portion, the decay curve includes a Flat Time (FT) portion during which the reverberation decay curve exhibits a fixed gain, e.g., unity gain. To prevent the reverberation waveform signal from overwriting the input signal, the gain of the flat portion of the decay curve is less than unity. The length of the flat time portion of the decay curve is specified by the flat time control 10b (shown in fig. 4 and 5 a). After the flat time portion of the decay curve, the decay curve includes a Decay Time (DT) portion. The decay time portion extends from the end of the flat time portion of the decay curve to the end of the reverberation waveform, which is equal to the period specified by the maximum time control 10d (shown in fig. 4 and 5 a).
Referring to fig. 5a, the leading edge schedule 204 shows the first three and last two delays of the leading edge period, which in the illustrative example is set at 9.376 milliseconds by the leading edge time control 10 a. In the Leading Edge (LE) time portion (shown in fig. 6), the gain is reduced from the maximum gain of 6.3DB to 0DB or unity gain at the number of delays 147 at the end of the leading edge period in the example shown. The lead edge schedule 204 may be included in a table other than the time scale table 202 or, as an entry within the time scale table 202, designated as a constituent of the lead edge schedule 204 entry.
The flat schedule 206 shows the first three and last two delays of the flat period starting at 9.376 milliseconds and ending at 59.377 milliseconds, delay number 278. As exemplarily depicted in fig. 5a, the flat period is designated as 50 milliseconds, and the flat period begins at 9.376 milliseconds, which corresponds to the end of the leading portion of the decay curve. During the flat period, the curve shows a fixed gain (i.e., 0DB in the example shown). Because in the example shown, the flat time control 10b specifies a flat period (FT) of 50.00 milliseconds, which ends at approximately a rounding to 59.377 milliseconds, corresponding to sample 278 at 59.377 milliseconds depicted in the flat schedule 206. In one embodiment, the actual full scale range of the lead time control 10a and the flat time control 10b is varied with the setting of the maximum time control 10d to make the maximum time setting as short as 10 milliseconds.
The minimum time control 10c specifies a time offset that is added to all times in the time scale table 202. In the illustrative embodiment, the minimum time control 10c allows any offset time from 40 microseconds to 100 milliseconds for all times in the time scale table 202. As illustrated in fig. 5a, the minimum time (3 milliseconds) specified by the minimum time control 10c is added to the time scale table 202 to produce an added minimum time table 208. In this example, the additive minimum schedule 208 illustrates that the times in the time scale table 202 have all been increased by 3 milliseconds specified by the minimum time control 10 c. The remaining time after the flat time portion is the portion of the decay curve that extends to the end of the decay curve specified by the maximum time control 10d during which the reverberant signal gain decays.
As previously mentioned, the delay control 10e sets the total number of delays to be used. In this example, the delay or number of samples may be between 21 and 1611, depending on the maximum time setting determined by the maximum time control 10 d.
In the illustrative example depicted in FIG. 5a, the maximum time control 10d is set at 1003 milliseconds. This selection cuts off the additive minimum schedule 208 at delay 769 to produce the maximum schedule 210. It is noted that the maximum schedule 210 may be provided as an option or subset of the additive minimum schedule 208.
The delay control 10e is actually a delay density control but reads the total delay number. Its full scale range is affected by the maximum time control setting, providing more delay for longer times. At the full-scale setting of the maximum time control 10d, the delay control 10e ranges from 202 to 1611 delays. The 1611 delays correspond to 5 seconds on the time scale table 202. The range of delay control in the illustrated example is between 21 and 138 when the shortest maximum and minimum time settings add up to only 10 milliseconds. A single delay setting may also be provided.
By jumping some rows within maximum schedule 210, the delay control 10e operates to produce a less delayed table 212. At the 1003 ms maximum established by the maximum time control 10d, delay control 10e is set to have 223 delays, the result being displayed in the less delay table 212. Within the less delay table 212, the delay time is converted to a sample time at the assumed sample rate of 88200Hz by rounding to the nearest sample. Recur every 11.338 microseconds samples. More particularly, the first of these 223 samples occurs at 3.011 milliseconds. The result of dividing 3.011 milliseconds by the sample time of 11.337868 microseconds is approximately equal to 266, indicating that the first delayed sample corresponds to the 266 th sample time. Similarly, the 223 th delay time occurs at the maximum time established by the maximum time control 10d, which in the present example is 1003 milliseconds. 1003 milliseconds corresponds to the 88465 th sample, sampled at a sampling rate of 88200 Hz.
By using those samples remaining after skipping 2 or 3 samples between those samples included in the maximum schedule 210 within the maximum schedule 210, certain samples may be reduced. In the maximum schedule 210, the last delay is a number 769, whereas in the less delay table 212, the number of delays is only 223 delays, the last delay occurring at a time of the number of delays 769 (i.e., 1003 milliseconds). The ratio 769/223 equals 3.448. Thus, by skipping every 3.448-1-2.448 samples within the maximum schedule 210, the number of samples is reduced from 769 to 223. Since it is not possible to skip fractional numbers of samples, it is necessary to round to the nearest number of samples, which skipped number becomes 2 or 3 (on average near 2.448).
The leading edge DB control 10f, the decay DB control 10g, and the decay linear control 10h (shown in fig. 5 b) modify each sampling gain that occurs at the leading edge time and decay period. These controls operate by skipping rows only for the delays selected within the lesser delay table 212 (shown in fig. 5 a). More particularly, these controls operate on only 223 selected delays in the present example. The leading edge DB control 10f in this example has set the gain of the first delay at +6.3 DB. Thereafter, the gain of each successive delay is low, reaching 0.0DB at delay 43 (corresponding to delay 147 in the leading edge schedule 204), which is the end of the Leading Edge (LE) portion of the reverberation decay curve. The leading edge DB table 214 (shown in fig. 5 b) shows the gains of the first three and last two delays in the leading edge portion of the reverberation decay curve. The shape of this decay versus delay number may again be specified by the designer. A linear delay may be used. To emphasize some of the first delays more, in one embodiment, a half-sine waveform is used. The full range of the leading edge DB control 10f is from 40DB overshoot to 40DB undershoot.
The flat time portion, which in this example extends from delay 43 to delay 81, the gain is 1.00 for each delay (or other fixed gain less than unity as may be specified). Between delay 81 and delay 223 of the present example, the gain is gradually decreased from 0DB to-48.6 DB as shown in the decay DB table 216 (shown in FIG. 5 b) as established by the decay DB control 10 g. If the gain decreases linearly, i.e., at-0.34 DB for each successive delay, the midpoint delay number 152 has a gain of-24.3 DB, which is half of the maximum attenuation.
To produce the desired reverberation effect, the shape of the decaying portion of the reverberation decay curve can be modified from a straight line to a convex or concave curve (or other desired curve) (shown in fig. 6) using the decaying linear control 10h (shown in fig. 5 b). The results of setting the control to be below the straight line in this example to produce concave decay are shown in the decay linear table 218 (shown in FIG. 5 b). As depicted in fig. 5b and 6, the DB variation between successive delays increases at the beginning of the decay period and decreases at the end of the decay period. The midpoint delay 152 now has a reduced gain of-30.4. The reverberation of the listening effect increases for longer periods of time and decreases for shorter periods of time.
The gain versus delay number for the exemplary control setting is described within DB versus delay table 220, and an exemplary polarity assignment for each delay is specified within polarity table 222 (shown in fig. 5 b). The basis for selecting the polarity for the respective delay will be discussed in detail later.
The output of the DB to delay table 220 is a set of coefficients that are sent to the tapped delay line 106 (shown in fig. 1) and need to be converted to a number of samples and gain with a specified polarity. A column polarity within polarity table 222 defines a polarity for each sample. Typically for low density reverberation as shown in fig. 5b, first about 25% of the delays are assigned alternating polarity and the remaining 75% are assigned the same positive polarity as the direct signal. Reversing some polarities is necessary for a particular setup to avoid prominent peaks in the frequency response and to provide a fairly uniform comb filter.
In one v embodiment, the exemplary list of gain values shown in output block 224 (shown in FIG. 5 b) is designated to produce a series of delayed versions of the input signal having a greater gain at high frequencies (i.e., > 2 kHz) than at low frequencies (i.e., < 200 Hz) (shown in FIG. 8) relative to the gain of the input signal set by equalizers 102 and 104. The relationship between the frequency response with respect to the input signal and the frequency response of the reverberation waveform signal has been observed to produce the generally desirable reverberation characteristics for certain music sources.
The output block 224 includes a sample identifier and a gain coefficient for each gain value pair in the column. For purposes of simplifying the illustration, only the starting and ending sample numbers for each section are shown along with the gain available for each gain value pair. The decaying portion also shows the gain of the midpoint sample.
Adjustment of these controls results in the generation of several tables. The entries in the respective tables are used at run-time to provide a fixed constant related to a particular number of samples.
Increasing the intermediate value as previously described may produce a reverberation waveform signal that is too large relative to the direct signal. Therefore, attenuation is necessary. Wet gain control 14a (shown in fig. 4) is associated with the output block 224 (shown in fig. 5 b) and provides the necessary attenuation. This control may also provide a scalar used within the summer 110 to provide the desired attenuation. By adjusting the control while listening, it can typically be set. Each slider control has an effect on the reverberation loudness and its characteristics. The slider control has an associated empirically improved gain correction for each of the 8 sliders so that the slider setting has very little effect on gain. When an adjustment is applied to an individual slider control, the wet gain of the output block 224 is modified accordingly. However, careful adjustment of the reverberation gain by the listener is required for each piece of music, since the reverberation balance to the direct signal must be within 0.5 DB. The gain adjustment need not be done in the output block 224. Which can also be performed on the input signal to the reverberation system.
When used in a high density (cascaded) configuration, there are two almost identical output blocks 224, one delivering coefficients to delay line 106.1 and the other delivering coefficients to delay line 106.2 (shown in fig. 3). As discussed subsequently, the lists in the first output box have alternating gain polarities, while all lists in the second output box have positive polarities. In combination, the differential effect of the first output block and the integral effect of the second output block produce a fairly uniform comb filtered output with several delayed squares. This does not eliminate the need for equalization, but reduces the amount of equalization required.
The controls provided to the user may control multiple channels or individual channels. For example, one set of controls may specify reverberation characteristics for the front center channels, while another set of controls may specify reverberation characteristics for the front left and front right channels. In addition, the same controls for the front left and front right channels may also be used for the front center channel after user selection. In addition, another set of controls may be provided for the back left and back right channels, and the same controls may also be used for the side left and side right channels or using a separate set after user selection.
Reverberation decay curve
Comb filtering occurs when a delayed version of the direct signal is added to the direct signal. For a sinusoidal waveform input, the phase shift of the delayed signal is proportional to both its delay and its frequency. As the frequency increases, its phase cycles from being in phase with the direct signal to being out of phase, the sum resulting in alternating peaks and valleys in the frequency response.
The problem caused by the short initial delay and the high density of reflections at the beginning is the uncomfortable acoustics, large, slow variations in the comb filter frequency response due to the vector sum of the direct signal and all reflections (delays). Three methods are disclosed for effectively tuning out these variations by controlling the polarity of the individual delays. Other factors that affect tuning are the shape and time of decay of the reverberation and the total number of delays.
If the polarities of these delays are all positive (meaning in phase with the direct signal), as specified in the polarity table 222, the effect is similar to the integration of the signal. The frequency response decays towards high frequencies, similar to an integrator. This makes the sound very heavy in the bass region. If the polarity is changed so that half of the delay is positive and the other half is negative, the effect is similar to the differentiation of the signal. The frequency response increases towards high frequencies, similar to a differentiator, making the sound very faint. In each case, the detailed frequency response is not a straight line; the frequency response has ripples due to comb filtering.
These two effects are combined by alternating the first approximately 25% of the delay polarity while the remaining ones are positive to produce reverberation with bass and treble enhancement. This polarity configuration is depicted in fig. 7. This effect produces a pleasing acoustic reverberation when added to the direct signal in an appropriate amount. Individual pitch controlled equalization is added to the reverberation and the direct signal to further purify the sound.
A second method to effectively tune out the dominant variations in the comb filter frequency response is to use two cascaded reverberation generators, one with alternating polarity and the other with a single polarity. The cascaded reverberation generators (known in the art) have the following advantages: the number of delays in all generators is multiplied by each other to obtain a high density at long delays. One generator with a rising frequency response is used to feed another generator with a falling frequency response to produce a high density system with a fairly horizontal comb filter response. Combined with a small amount of equalization, this system works well over a wide range of reverberations from short to long.
A third way to call out the main variations in the comb filter frequency response is to select the polarity of each delay individually. This can be easily achieved, for example, by using a computer screen that includes hundreds of check boxes. The polarity may be adjusted when pink noise (the same noise power in each octave) is heard and an audible peak is called out. The average gain may be measured using the octave noise band of 1/3 or other means of spectral analysis. Selecting many polarities is time consuming. This has the further disadvantage that the rather random sequence of polarity inversions of the result produces audible noise when listening to the pure low frequency tones that become modulated. Therefore, this method is best used to fine tune the first two methods. Sometimes it only requires one or two polarity reversals to reduce the small peaks left by other methods.
In previous artificial reverberation systems, in addition to simulating real reverberation, two reasons to avoid short initial delays in reproducing tap transients are the frequency response of the spike averages and the loss of intelligibility. When the high frequency reverberation exceeds the direct signal, there is an opportunity to enhance the percussive transient by shaping the amplitude decay versus time. If the first few milliseconds of delay is a few DB gains greater than the subsequent delay (overshoot), the effect is similar to a leading edge volume booster, giving a more influential tapping transient. Furthermore, the first approximately 50 milliseconds of the high frequency reverberation have the effect of widening transients in time, making them more audible.
Another benefit of the shaped decay curve is that dense sounds and hot, long reverberation lasting 1 second or more than 1 second can be obtained. For the singer, this is similar to singing suddenly in a bathroom, in a medium-sized room, and in a larger concert hall. By providing a fixed or nearly fixed delay gain region within the first 100 milliseconds, less spatial resolution can be achieved.
In principle, reverberation can be achieved simultaneously for three different size rooms by using three different reverberation systems connected to the same input of their output sums. By shaping the decay curve, the presently disclosed system eliminates this complexity. The reverberant very high frequency content works particularly well when it effectively replaces the high frequency content of the direct signal by equalizing each signal. For variations in room size, the correct shape is achievable.
The waveform diagrams depicted in fig. 7, 8, 9 and 10 illustrate the above description. Fig. 7 shows the magnitude and polarity of each delay versus time typical for an exemplary single delay line system, such as that shown in fig. 5a-5 b. Note that the time scale is similar to, but not exactly logarithmic. The choice of time scale allows the individual delays to appear separated by equal intervals at first sight. However, with reference to actual time, the delay interval continuously increases from 50 microseconds to 17.5 milliseconds over the 350 to 1 range. For purposes of illustration, the number of delays shown is close to the minimum available number for a 488.6 millisecond reverberation waveform.
In this illustrative example, a delay line that is at least 488.6 milliseconds long produces all delay line positions. The height of each vertical line represents the gain factor (positive or negative) for a particular delay. All samples of the delayed waveform may be summed to produce a reverberation waveform signal. Figure 7 represents the impulse response of the tapped delay line if the width of each vertical line is close to zero.
The vector addition of all taps at the output of the tapped delay line 806 produces comb filtering and in the case of fig. 7 bass and treble enhancement. The overall frequency response of the system is further modified by the gain and phase shift of the two equalizers and the vector addition of summer 808. What happens at the total output when these equalizers are set such that the system sounds balanced is that the direct signal is gradually replaced by reverberation above 2 KHz. Below 300Hz, the reverberation may be lower than the direct signal 12DB or more to prevent blurred bass. When the detailed response has a wobble due to comb filtering, the average frequency response may only deviate from the flat part by some DB.
In fig. 7, the first approximately 25% of the delay shows alternating polarity. The remaining delays are all positive. As explained previously, the alternating delays tend to differentiate the signal so that the high frequency response is increased. Delays with the same polarity tend to integrate the signal so that the low frequency response is increased. The combined effect is bass enhancement and treble enhancement with a dip at the intermediate frequency close to 500 Hz. The system vector sum frequency response is further affected by: fading shapes from 2.4 ms to 488.6 ms, selection of a short initial delay of 2.4 ms, and phase shift in these equalizers.
The decay curve depicted in fig. 7 has three regions: an overshoot lasting only 5 milliseconds, a fixed gain between 5 and 42 milliseconds, and a decay from 42 milliseconds to 488.6 milliseconds. This overshoot region enhances the tapping transient. The fixed gain region smoothes high frequencies without causing muffled sound. The degraded area increases the thermal intensity of the smaller room.
It is noted in this illustrated example that approximately 25% of the delays with alternating polarity occur within 7.4 milliseconds after the 2.4 millisecond initial delay, unlike real or previous artificial reverberation. These delays are spaced closely starting at 50 microseconds in the figure but typically starting at 30 microseconds in a practical system. This is what is actually lost but is necessary to achieve true clear smooth acoustic high frequencies without loss of detail.
Fig. 7 represents a first method of tuning out unwanted peaks in the average frequency response. The combination of reverberation waveform samples DE having alternating polarity (all followed by positive polarity) produces a comb filter frequency response whose average can be properly balanced by the equalizer over a wide range of maximum and minimum delays. For combinations that are not fully compensated by the equalizer, small changes in the shape of the fading curve, the total number of delays, and the initial and maximum delays generally can achieve pleasing results. In a small number of combinations, the final tuning may be aided by changing the polarity of some of the delays.
For longer reverberations with higher density delays, the single reverberation waveform sample generator described in fig. 1 may be replaced by first and second reverberation waveform sample generators 107.1 and 107.2 (shown in fig. 3).
Fig. 8 shows a diagram of pairs of gain values with alternating polarity representing the attenuation curve used by the first reverberation generator 107.1 (shown in fig. 3).
Fig. 9 shows all positive gain value pairs representing an exemplary list of gain value pairs used by the second reverberation waveform sample generator 107.2 (shown in fig. 3). When the first waveform sample generator generates the first current waveform sample, these samples are input to the second reverberation waveform sample generator 107.2 (shown in fig. 3). If the column gain values used to generate the first and second current reverberation waveform samples are the same, the effect is to square the number of pulses within the impulse response of the second series of reverberation waveform samples. The differential effect of the alternating polarity of the column of gain value pairs used by the first reverberation waveform generator 107.1 and the integral effect of the positive polarity of the second column of gain value pairs subsequently used by the second reverberation waveform sample generator 107.2 is reduced but fails to eliminate the need for equalization. It is noted that when two cascaded reverb generators 107.1 and 107.2 are used, the total initial and maximum delays can be doubled, assuming the same controls are used to generate these column gain value pairs.
In each of fig. 8 and 9, the amplitude decays continuously without overshoot and a fixed gain region. A curve of this type may produce a clear sound if there is a sufficiently fast decay during the first 100 milliseconds. Otherwise at least some overshoot is required.
Fig. 10 shows the decay of the slower rate over the first 50 milliseconds. This type of curve is useful for deliberately adding deep sounds to vowels. To enhance the sharpness, some overshoot is preferably added.
Correlation
In a real room, the reverberation of the left channel is different from the reverberation of the right channel due to the natural asymmetry of the reflecting surfaces. The left and right reverberation components are uncorrelated. The audible decorrelation effect relaxes the sound image. The system described herein produces correlated reverberation if the time scale tables of all channels are the same, resulting in an image matching the direct signal. For some music, some degree of decorrelation makes the sound more pleasing. In one embodiment of this system, an additional slider control (not shown) adjusts all of the delay times of the channel time scale tables so that they differ from each other by a controllable amount, resulting in a controllable decorrelation. For example, for a slight decorrelation resulting in a slightly wider stereo image, the left channel time may be multiplied by 1.005, while the right channel time may be multiplied by 0.995. For very high degrees of decorrelation, the left channel time may be multiplied by 1.1 when the right channel time is multiplied by 0.90. Similar controls in various combinations can produce temporal differences between the front, back, and side channels for effective control of the acoustic spatial shape perceived by the listener.
The digital processing functions described above may be performed using a programmed computer executing instructions out of memory, within a hardware controller performing the functions described herein, or within a combination of hardware and software. Further, the operations performed by the computation element and the summer may be performed by a single element, such as a pre-programmed processor, a DSP, or any other suitable hardware or software element, alone or in combination.
While systems and methods for providing improved reverberation are described herein, it will be appreciated by those skilled in the art that various modifications and changes may be made to the systems and methods without departing from the inventive concepts disclosed herein. Accordingly, the invention is to be limited only by the scope and spirit of the appended claims.
Claims (48)
1. A system for electronically generating an artificial reverberation waveform from an input waveform comprising a series of digital samples having associated input sample amplitudes, the system comprising:
a first digital delay line for receiving and storing input samples having associated input sample amplitudes, said first digital delay line having a plurality of first delay line positions;
at least one memory including a first column of gain value pairs, each of the gain value pairs including a first value associated with one of the first delay line positions and a second value corresponding to a gain value, wherein the gain value pairs include first, second and third sets of gain value pairs, wherein a first value within the first set is less than a first value within the second set and a first value within the second set is less than a first value within the third set, wherein a magnitude of the second value within the second set is equal to a reference value, a magnitude of the second value within the first set is greater than a magnitude of the reference value and is defined by a predetermined function representative of a reverberation decay curve of the first set, and a magnitude of the second value within the third set is less than the reference value; and
a first calculation component for generating the artificial reverberation waveform including first current reverberation samples having associated amplitudes, the first calculation component calculating the amplitude of each first current reverberation sample by:
identifying particular ones of the first delay line positions using the first values within the first column of gain value pairs,
for each identified first delay line position, generating a first intermediate value as a function of the amplitude included in the respective first delay line position and a second value associated with the first value identifying the respective first delay line position, and
the plurality of first intermediate values are summed to obtain a corresponding first current reverberation sample amplitude.
2. The system of claim 1, further comprising a summer for generating first complex waveform samples having first complex waveform sample amplitudes by summing the scaled amplitude of each first current reverberation sample with the scaled amplitude of the current input waveform sample.
3. The system of claim 1, wherein the first computation component periodically computes the first current reverberation sample amplitude at a rate equal to the received input sample rate.
4. The system of claim 1, wherein a time delay between a current sample of the input waveform and a most recently received input sample within the digital delay line used to generate one of the first intermediate values is less than or equal to 15 milliseconds.
5. The system of claim 1, wherein the first computation component is further to add a specified offset value to the value used to generate the first value for each gain value pair.
6. The system of claim 1, wherein the first computation component generates each first intermediate value by multiplying the second value associated with the first value used to identify the respective first delay line position by the magnitude included within the respective first delay line position.
7. The system of claim 1, wherein at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of the same polarity and at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of alternating polarity.
8. The system of claim 1, wherein the first computation component generates the second value of the gain value pair by at least one of:
selecting the value from at least one table;
generating the value using at least one formula;
generating said values from data representing a graph; and
the value is generated from the measurement.
9. The system of claim 1, wherein the first computing component comprises a processor executing instructions from the at least one memory.
10. The system of claim 1, further comprising:
a first user-settable control for specifying a number of gain value pairs;
a second user-settable control for specifying a maximum time delay value within the second set of pairs of gain values; and
a third user-settable control for specifying a time interval between first and last time delay values within the first set of pairs of gain values.
11. The system of claim 1, wherein the memory includes a plurality of columns of accessible gain-value pairs, the system further comprising a selector for selecting, by a user, one of the plurality of columns of accessible gain-value pairs to be used as the first column of gain-value pairs.
12. The system of claim 1, further comprising:
an equalizer interposed between a source of said input waveform samples and said first digital delay line, said equalizer for generating an input signal to said first digital delay line with increased gain at high frequencies to generate a first reverb waveform having a higher gain at frequencies above 2 kilohertz than at frequencies below 200 hertz relative to said input waveform.
13. The system of claim 1, further comprising:
a second digital delay line in communication with the first computational component and receiving the first current reverberation sample, the second digital delay line having a plurality of second delay line positions;
the at least one memory includes a second column of pairs of gain values, each of the pairs of gain values in the second column including a first value associated with one of the second delay line positions and a second value corresponding to a gain value, wherein the pairs of gain values include first, second and third sets of pairs of gain values, wherein a first value within the first set is less than a first value within the second set and a first value within the second set is less than a first value within the third set, wherein a magnitude of the second value within the second set is equal to a reference value, a magnitude of the second value within the first set is greater than a magnitude of the reference value, and a magnitude of the second value within the third set is less than the reference value;
second calculating means for generating second current reverberation samples having associated amplitudes, said second calculating means calculating each second current reverberation sample amplitude by:
identifying particular ones of the second delay line positions using the first values within the second column gain value pair,
for each identified second delay line position, generating a second intermediate value as a function of the amplitude included in the respective second delay line position and a second value associated with the first value identifying the respective second delay line position, and
the plurality of second intermediate values are summed to obtain a corresponding second current reverberation sample amplitude.
14. The system of claim 13, further comprising a summer for generating a series of complex waveform sample amplitudes by summing the scaled current input sample amplitude and the scaled second current reverberation sample amplitude.
15. The system of claim 13, wherein the magnitude of the second value within corresponding entries in the first and second column pairs of gain values is the same.
16. The system of claim 13, wherein the first and second computing components comprise the same computing component.
17. The system of claim 13, wherein at least some consecutive pairs of gain values in the second column of pairs of gain values have second values of the same polarity and at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of alternating polarity.
18. The system of claim 13, wherein all of said second values of one of said first and second column pairs of gain values have the same polarity and all of said second values of the other of said first and second column pairs of gain values have alternating polarities.
19. A system for electronically generating an artificial reverberation waveform from an input waveform comprising a series of digital samples having associated input sample amplitudes, the system comprising:
a first digital delay line for receiving and storing the input samples, the first digital delay line having a plurality of first delay line positions;
at least one memory including a first column of gain value pairs, each of the pairs of gain values including a first value associated with a selected one of the first delay line positions and a second value corresponding to a gain value;
a first calculation component for generating the artificial reverberation waveform including first current reverberation samples having associated amplitudes, the first calculation component calculating the amplitude of each first current reverberation sample by:
identifying particular ones of the first delay line positions using the first values within the first column of gain value pairs,
for each identified first delay line position, generating a first intermediate value as a function of an amplitude included in the respective first delay line position and a second value associated with the first value identifying the respective first delay line position, wherein a time delay between a current sample of the input waveform and a most recently received input sample within the first digital delay line used to generate one of the first intermediate values is less than or equal to 15 milliseconds; and
summing the plurality of first intermediate sample values to obtain a corresponding first current reverberation sample amplitude; and
a summer for summing the scaled amplitude of each first current reverberation sample and the scaled amplitude of each current input waveform sample to produce a first complex waveform sample having a first complex waveform sample amplitude.
20. The system of claim 19, wherein the first computation component periodically computes the first current reverberation sample amplitude at a rate equal to the received input sample rate.
21. The system of claim 19, wherein the first computation component is further configured to add a specified offset value to the value used to generate the first value for each gain value pair.
22. The system of claim 19, wherein the first computation component generates the first intermediate sample value by multiplying the second value associated with the first value used to identify the respective first delay line position by the magnitude included within the respective first delay line position.
23. The system of claim 19, wherein at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of the same polarity and at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of alternating polarity.
24. The system of claim 19, wherein the first computation component generates the second value of the gain value pair by at least one of:
selecting the value from at least one table;
generating the value using at least one formula;
generating said values from data representing a graph; and
the value is generated from the measurement.
25. The system of claim 19, wherein the first computing component comprises a processor executing instructions from the at least one memory.
26. The system of claim 19, wherein the memory includes a plurality of columns of accessible gain-value pairs, the system further comprising a selector for selecting, by a user, one of the plurality of columns of accessible gain-value pairs to be used as the first column of gain-value pairs.
27. The system of claim 19, further comprising:
an equalizer interposed between a source of said input waveform samples and said first digital delay line, said equalizer for generating an input signal to said first digital delay line with increased gain at high frequencies to generate a first reverb waveform having a higher gain at frequencies above 2 kilohertz than at frequencies below 200 hertz relative to said input waveform.
28. The system of claim 19, further comprising:
a second digital delay line in communication with the first computational component and receiving the first current reverberation sample, the second digital delay line having a plurality of second delay line positions;
the at least one memory comprises a second column of pairs of gain values, in which each of the pairs of gain values comprises a first value associated with a selected one of the second delay line positions and a second value corresponding to a gain value;
a second calculating component for generating second current reverberation sample amplitudes, said second calculating component calculating each second current reverberation sample amplitude by:
identifying particular ones of the second delay line positions using the first values within the second column gain value pair,
for each identified second delay line position, generating a second intermediate value as a function of the amplitude included in the respective second delay line position and a second value associated with the first value identifying the respective second delay line position, and
the plurality of second intermediate values are summed to obtain a corresponding second current reverberation sample amplitude.
29. The system of claim 28, further comprising a summer for generating first complex waveform samples having first complex waveform sample amplitudes by summing the scaled amplitude of each first current reverberation sample with the scaled amplitude of the current input waveform sample.
30. The system of claim 28, wherein the magnitude of the second value within corresponding entries in the first and second column pairs of gain values is the same.
31. The system of claim 28, wherein the first and second computing components are included within a single computing component.
32. The system of claim 28, wherein at least some consecutive pairs of gain values in the second column of pairs of gain values have second values of the same polarity and at least some consecutive pairs of gain values in the second column of pairs of gain values have second values of alternating polarity.
33. The system of claim 28, wherein all second values in one of the column gain value pairs have the same polarity and all second values in the other of the column gain value pairs have alternating polarities.
34. A system for electronically generating an artificial reverberation waveform from an input waveform comprising a series of digital samples having associated input sample amplitudes, the system comprising:
a first digital delay line having a plurality of first delay line positions;
a second digital delay line having a plurality of second delay line positions;
at least one memory including a first column and a second column of gain value pairs, each pair of the gain value pairs in the first column including a first value associated with a selected one of the first delay line positions and a second value corresponding to a gain value, each pair of the gain value pairs in the second column including a first value associated with a selected one of the second delay line positions and a second value corresponding to a gain value;
the first digital delay line is for receiving and storing successive input samples having the input sample amplitude; and
a first calculation component for generating first current reverberation samples having associated amplitudes, said first calculation component calculating the amplitude of each first current reverberation sample by:
identifying particular ones of the first delay line positions using the first values within the first column of gain value pairs,
for each identified first delay line position, generating a first intermediate value as a function of the amplitude included in the corresponding first delay line position and a second value associated with the first value identifying the corresponding first delay line position, and
summing a plurality of the first intermediate values to obtain a respective amplitude for each first current reverberation sample;
the second digital delay line is for receiving and storing the first current reverberation sample;
second calculating means for generating second current reverberation samples having associated sample amplitudes, said second calculating means calculating each second current reverberation sample amplitude by:
identifying particular ones of the second delay line positions using the first values within the second column gain value pair,
for each identified second delay line position, generating a second intermediate value as a function of the amplitude included in the respective second delay line position and a second value associated with the first value identifying the respective second delay line position,
summing the plurality of second intermediate values to obtain a corresponding second current reverberation sample amplitude, an
At least some pairs of consecutive gain values in one of the first and second columns include second values of alternating polarity and at least some pairs of consecutive gain values in the other of the first and second columns include second values of the same polarity.
35. The system of claim 34, further comprising a summer for generating a first complex waveform sample having a first complex waveform sample amplitude by summing the scaled amplitude of each second current reverberation sample and the scaled amplitude of each current input waveform sample.
36. The system of claim 34, wherein the first and second computation components periodically compute respective first and second current reverberation samples having associated first and second current reverberation sample amplitudes, respectively, at a rate equal to a received input sample rate.
37. The system of claim 34 wherein the first and second calculation components generate respective first and second intermediate values by multiplying respective second values associated with first values identifying respective ones of the first and second delay line positions in respective pairs of gain values by amplitudes included in the respective first and second delay line positions.
38. The system of claim 34, wherein at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of the same polarity and at least some consecutive pairs of gain values in the first column of pairs of gain values have second values of alternating polarity.
39. The system of claim 34, wherein the first and second computation components generate the second value of the gain value pair by at least one of:
selecting the value from at least one table;
generating the value using at least one formula;
generating said values from data representing a graph; and
the value is generated from the measurement.
40. The system of claim 34, wherein the first and second computing components comprise at least one processor executing instructions from the at least one memory.
41. The system of claim 34, wherein the memory includes a plurality of sets of accessible pairs of gain values, each set including a first column of pairs of gain values and a second column of pairs of gain values, the system further comprising a selector for selecting one of the sets of pairs of gain values to be used by the system by a user.
42. The system of claim 34, further comprising:
an equalizer interposed between a source of said input waveform samples and said first digital delay line, said equalizer for generating an input signal to said first digital delay line with increased gain at high frequencies to generate a second reverb waveform having a higher gain at frequencies above 2 kilohertz than at frequencies below 200 hertz relative to said input waveform.
43. The system of claim 34, wherein the first and second columns each have the same number of gain value pairs and the magnitude of the second value within the corresponding entries of the first and second column gain value pairs is the same.
44. The system of claim 34, wherein the first and second computing components are included within a single computing component.
45. The system of claim 34, wherein all of the second values of one of the first and second column gain value pairs have the same polarity and all of the second values of the other of the first and second column gain value pairs have alternating polarities.
46. A method for generating an artificial reverberation waveform from an input waveform comprising a series of digital samples having associated input sample amplitudes, the method comprising:
sequentially storing input samples having an input sample magnitude within a digital delay line, the digital delay line having a plurality of delay line positions;
providing a column of gain values, each of the gain values being associated with one of the plurality of delay line positions, wherein the gain values comprise first, second and third sets of gain values, and wherein the gain values within the second set have magnitudes equal to a reference value, the gain values within the first set have magnitudes greater than the reference value, and the gain values within the third set have magnitudes less than the reference value; and
generating the artificial reverberation waveform comprising a succession of current reverberation samples having associated amplitudes, each current reverberation sample being calculated by:
identifying a particular delay line position associated with the gain value within the column gain values,
for each identified delay line position, generating an intermediate value by multiplying the amplitude included in the respective delay line position with a gain value associated with the respective delay line position, and
summing a plurality of said intermediate values to obtain the amplitude of the corresponding current reverberation sample amplitude; and
a composite output waveform is generated by summing the current reverberation sample and the current input sample.
47. A method for generating an artificial reverberation waveform from an input waveform comprising a series of digital samples having associated input sample amplitudes, the method comprising:
sequentially storing input samples having respective input sample amplitudes within a first digital delay line, the first digital delay line having a plurality of delay line positions;
providing a column of pairs of gain values, each of the pairs of gain values comprising a first value related to a time delay and a second value corresponding to a gain value;
generating the artificial reverberation waveform comprising a succession of current reverberation samples having associated amplitudes, each current reverberation sample being calculated by:
identifying a particular delay line position associated with the gain value within the column gain values,
multiplying each input sample amplitude stored in an identified one of the delay line positions with a gain value associated with the respective delay line position to produce a plurality of intermediate values, wherein a time delay between a current sample of the input waveform and a most recently received input sample within the first digital delay line used to produce one of the intermediate values is less than or equal to 15 milliseconds;
summing a plurality of said intermediate values to obtain a corresponding first current reverberation sample amplitude; and
generating a composite output waveform by summing the current reverberation sample and current input samples, wherein at least the current reverberation sample or the current input sample is scaled prior to summing each current reverberation sample and corresponding current reverberation sample.
48. A method for generating an artificial reverberation waveform from an input waveform comprising a series of digital samples having associated input sample amplitudes, the method comprising:
sequentially storing input samples having an input sample magnitude within a digital delay line, the digital delay line having a plurality of delay line positions;
providing a column of gain values, each of said gain values being associated with a selected one of said delay line positions, at least some of the logically adjacent gain values in said column comprising gain values of alternating polarity and at least some of the logically adjacent gain values in said column comprising gain values of the same polarity;
generating the artificial reverberation waveform by generating a series of current reverberation samples having associated amplitudes, each current reverberation sample being calculated by:
identifying particular ones of the delay line positions associated with the gain values within the column gain values,
for each identified delay line position, generating an intermediate value by multiplying the amplitude included in the respective delay line position with a gain value associated with the respective delay line position, and
summing a plurality of the intermediate values to obtain the current reverberation sample amplitude; and
a composite output waveform is generated by summing the current reverberation sample and the current input sample.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62229404P | 2004-10-26 | 2004-10-26 | |
| US60/622,294 | 2004-10-26 | ||
| PCT/US2005/038126 WO2006047387A2 (en) | 2004-10-26 | 2005-10-21 | Unnatural reverberation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1111004A1 HK1111004A1 (en) | 2008-07-25 |
| HK1111004B true HK1111004B (en) | 2011-07-08 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101091309B (en) | unnatural reverberation | |
| Gardner | The virtual acoustic room | |
| US6091824A (en) | Reduced-memory early reflection and reverberation simulator and method | |
| KR101118922B1 (en) | Acoustical virtual reality engine and advanced techniques for enhancing delivered sound | |
| JP5057535B1 (en) | Mixing apparatus, mixing signal processing apparatus, mixing program, and mixing method | |
| RU2666316C2 (en) | Device and method of improving audio, system of sound improvement | |
| US7257230B2 (en) | Impulse response collecting method, sound effect adding apparatus, and recording medium | |
| KR20010029508A (en) | A reduced-memory reverberation simulator in a sound synthesizer | |
| CN103137136B (en) | Sound processing device | |
| CN1325222A (en) | Time-domain noise inhibition | |
| JP2005530432A (en) | Method for digital equalization of sound from loudspeakers in a room and use of this method | |
| JP4747835B2 (en) | Audio reproduction effect adding method and apparatus | |
| JP2011133906A (en) | Effect adding method of audio reproduction and device therefor | |
| HK1111004B (en) | Unnatural reverberation | |
| CN110225433A (en) | A kind of nonlinear measurement of speaker system and sound quality tuning methods | |
| CN110213708B (en) | A nonlinear measurement and sound quality tuning system for loudspeaker systems | |
| Brereton et al. | The Virtual Singing Studio: A loudspeaker-based room acoustics simulation for real-time musical performance | |
| JP3287970B2 (en) | Method and apparatus for adding reverberation | |
| Varghese et al. | Comparative Study and Detailed Graphical Analysis of Equalizer, Chorus, Panning and Reverb Digital Audio Effects Using MATLAB | |
| Uncini | Digital Audio Effects | |
| KR970004178B1 (en) | Audio echo sound adding device | |
| Prawda | Room Reverberation Prediction and Synthesis | |
| Park | Measurement of oral-binaural room impulse response by singing scales | |
| Bazil | Sound Equalization Tips and Tricks | |
| Extra et al. | Artificial Reverberation: Comparing algorithms by using monaural analysis tools |