Method and system for implementing a modal processor
10825443 ยท 2020-11-03
Inventors
Cpc classification
G10H1/366
PHYSICS
G10H2210/311
PHYSICS
G10H5/007
PHYSICS
G01R23/00
PHYSICS
G10H2210/291
PHYSICS
International classification
G06F17/15
PHYSICS
Abstract
The implementation of modal processors, which involve the parallel combination resonant filters, may be costly for applications such as artificial reverberation that can require thousands of modes. In one embodiment, the input signal is decomposed into a plurality of subbands, the outputs of which are downsampled. In each downsampled band, resonant filters are applied at the downsampled sampling rate, and their output is upsampled and filtered to form the band output.
Claims
1. A method comprising: receiving a source signal; and applying artificial reverberation to the source signal by processing the source signal in parallel using a plurality of mode filters having respective mode frequencies, the processing includes: processing the source signal in frequency subbands defined by a bank of filters, at least two of the filters having non-overlapping pass bands, transition bands, and stop bands, and with each frequency in the audio band appearing in either a single pass band, or a pair of transition bands, wherein each mode filter of the plurality of mode filters is assigned to a single subband or a pair of subbands according to its respective mode frequency.
2. The method of claim 1, further comprising: forming downsampled subband signals; and processing the downsampled subband signals with an associated down sampled mode filter.
3. The method of claim 1, further comprising: forming downsampled subbands through a process that includes heterodyning, low-pass filtering, and downsampling.
4. The method of claim 3, wherein the mode frequencies are adjusted according to the heterodyning frequency and downsampling factor.
5. The method of claim 1, wherein the mode filters have respective mode gains, and wherein the mode gains are adjusted according to the characteristics of filters used to split the signal into subbands.
6. The method of claim 5, wherein the adjustments accommodate pass band ripple.
7. The method of claim 1, wherein the mode frequencies are used to design subband frequency ranges and associated downsampling factors.
8. The method of claim 7, wherein the downsampling factors and subband frequency ranges are configured to accommodate increased bandwidth from pitch processing.
9. The method of claim 1, wherein processing further includes: initially processing distortion products or frequency shifted components in one subband; and adding the distortion products or frequency shifted components into other subbands at the same downsampling factor.
10. The method of claim 1, wherein each of the filters in the bank of filters has a respective pass band, transition band and stop band corresponding to a respective one of the frequency subbands, and wherein the mode filters operate on the source signal after processing by the bank of filters.
11. A method comprising: receiving a source signal; and applying artificial reverberation to the source signal by processing the source signal in parallel using a plurality of mode filters having respective mode frequencies, the processing includes: processing the source signal in frequency subbands defined by a bank of filters, at least two of the filters having non-overlapping pass bands, transition bands, and stop bands, and with each frequency in the audio band appearing in either a single pass band, or a pair of transition bands, wherein each mode filter of the plurality of mode filters is assigned to a single subband or a pair of subbands according to its respective mode frequency; and applying a wideband residual filter in parallel with the subband processing.
12. A method comprising: receiving a source signal; and applying artificial reverberation to the source signal by processing the source signal in parallel using a plurality of mode filters having respective mode frequencies, the processing includes: processing the source signal in frequency subbands defined by a bank of filters, at least two of the filters having overlapping pass bands, and with each frequency in the audio band appearing in either a single pass band, or a pair of transition bands, wherein each mode filter of the plurality of mode filters is assigned to a single subband or a pair of subbands according to its respective mode frequency.
13. The method of claim 1, further comprising: summing outputs of the plurality of mode filters to produce an artificially reverberated version of the source signal.
14. The method of claim 12, wherein the plurality of mode filters have been designed in accordance with desired properties of one of a room and a resonating object.
15. The method of claim 14, wherein the plurality of mode filters have been designed by measuring an impulse response of the room and selecting a plurality of mode frequencies using the measured impulse response.
16. The method of claim 15, wherein the plurality of mode filters respectively correspond to the plurality of selected mode frequencies.
17. The method of claim 15, wherein the plurality of mode frequencies have been selected by comparing a measured amplitude of each of the plurality of mode frequencies with a threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and other aspects and features of the present embodiments will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments in conjunction with the accompanying figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) The present embodiments will now be described in detail with reference to the drawings, which are provided as illustrative examples of the embodiments so as to enable those skilled in the art to practice the embodiments and alternatives apparent to those skilled in the art. Notably, the figures and examples below are not meant to limit the scope of the present embodiments to a single embodiment, but other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the present embodiments can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present embodiments will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the present embodiments. Embodiments described as being implemented in software should not be limited thereto, but can include embodiments implemented in hardware, or combinations of software and hardware, and vice-versa, as will be apparent to those skilled in the art, unless otherwise specified herein. In the present specification, an embodiment showing a singular component should not be considered limiting; rather, the present disclosure is intended to encompass other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the present embodiments encompass present and future known equivalents to the known components referred to herein by way of illustration.
(15) According to certain aspects, the present embodiments build upon and extend principles of the modal reverberator architecture described in U.S. Pat. Nos. 10,262,645 and 10,019,980, the contents of which are incorporated herein by reference in their entireties.
(16) The modal reverberator architecture is shown in
(17)
(18) The system output y(t) in response to an input x(t), that is the convolution
y(t)=h(t)*x(t), (2)
(19) is then seen to be the sum of mode outputs
(20)
where the mth mode output y.sub.m(t) is the mth mode response convolved with the input. The modal reverberator 200 simply implements this parallel combination by 204 of mode responses 202 determined by (3), as shown in
(21) Typically, the mode responses h.sub.m(t) are complex exponentials, each characterized by a mode frequency .sub.m, mode damping .sub.m and complex mode amplitude .sub.m,
h.sub.m(t)=.sub.m exp {(j.sub.m.sub.m)t}. (4)
(22) The mode frequencies and dampings are properties of the room or object. They describe, respectively, the various mode oscillation frequencies and decay times. The mode amplitudes are determined by the sound source and listener positions (e.g., driver and pick-up positions for an electro-mechanical device, or loudspeaker and microphone positions for a room), according to the mode spatial patterns.
(23) Note that even for short reverberation times of just a few hundred milliseconds, the mode responses h.sub.m(t) are very resonant, and last many thousands of samples at typical audio sampling rates. Example transfer function magnitudes are shown in
(24) Such strongly resonant systems present numerical implementation challenges, which standard biquad forms might not overcome. One method with good numerics is the phasor filter (see, e.g., M. Mathews, J. O. Smith III, Methods for synthesizing very high Q parametrically well behaved two pole filters, in Stockholm Musical Acoustics Conference (SMAC), Stockholm, Sweden, Aug. 6-9 2003 and D. Massie, Coefficient interpolation for the Max Mathews phasor filter, in Audio Engineering Society Convention, San Francisco, Calif., Oct. 26-29 2012, vol. 133), in which each mode filter is implemented as a complex first-order update,
y.sub.m(t)=.sub.mx(t)+e.sup.(j.sup.
(25) Another approach is to implement the mode filtering as shown in
y.sub.m(t)=e.sup.j.sup.
(26) The heterodyning and modulation steps implement the mode frequency, and the smoothing filter generates the mode envelope, in this case an exponential decay.
(27) As described in [3], if the modulator e.sup.jmt were replaced with one at a different frequency, c.sup.jvmt, the mode filter output would be frequency shifted. Similarly, by resampling the term in parentheses in (6), the filter output will be time stretched. Also, by applying a memoryless nonlinearity to or otherwise replacing the modulator, the filter output will be distorted.
(28) The present applicant recognizes that there are a number of settings in which it is desired to process signals in separate frequency subbands. For example, in audio data compression, high-frequency bands are allocated fewer bits than low-frequency bands, according to the sensitivity of human hearing. In the present embodiments, the modal filter is processed in subbands, with each mode of the system appearing in only a few, preferably just one or two, frequency bands. This is made possible since mode filters have such strong resonances. For a typical filterbank, energy at the mode output would appear in at most two adjacent bands. By separating the input signal into downsampled subbands, the cost of implementing the mode filters may be significantly reduced. This is because the computational cost of the recursive mode filters is proportional to the sampling rate, and therefore inversely proportional to the downsampling ratio. For instance, at a sampling rate of 48 kHz, a filterbank having 16 bands could produce more than a factor of eight reduction in computational cost.
(29) An example system according to embodiments is shown in
(30) In this system, the modal filter
(31)
is divided into N frequency subbands according to the band splitting filters b.sub.n(t). In the nth band, the filtered modal response g.sub.n(t) is
(32)
(33) Assuming that each resonant mode filter h.sub.m(t) contains significant energy in only a few bands, and that the band splitting filter is approximately flat over its pass band, the band filtered modal response is approximately
(34)
where the summation is over those mode filters having mode frequencies in the range:
[f.sub.n.sup., f.sub.n.sup.+]
according to the corresponding frequency subband. Because each subband n occupies only a limited frequency range, the subband signal may be downsampled, for example by a factor of R.sub.n, without loss of information. The downsampling ratio R.sub.n is typically the largest integer less than the Nyquist limit f.sub.s/2 divided by the nth subband bandwidth. To avoid aliasing artifacts, while maintaining computational efficiency, that integer might be reduced. By processing the mode filters at the downsampled sampling rate, computational cost will be reduced by roughly the downsampling ratio R.sub.n.
(35) The output of the system (ignoring aliasing effects from the downsampling and upsampling, which may be minimized by choice of b.sub.n(t) and c.sub.n(t)) is
(36)
which approximates h(t). The approximation may be made more accurate by adjusting the mode amplitudes in each subband according to the band splitting and reconstruction filters, respectively, b.sub.n(t) and c.sub.n(t), to account for pass band ripple and other effects. For instance if the pass band through the system is down 1 dB at the mode frequency of a given mode filter, then its associated mode amplitude could be increased by 1 dB. Similarly, if multiple subbands contain a given mode filter, and their complex amplitudes don't sum to the desired complex amplitude (or ) magnitude, for instance) at the system output, one or more of the complex amplitudes could be adjusted to produce the desired sum.
(37) The approximation may also be improved by including a parallel wideband filter 514, r(t),
(38)
(39) This additional wideband filter would account for mode filter energy outside of their assigned subbands, as well as subtle differences in their assigned subbands. This residual filter may be designed using the difference between the desired modal response h(t) and the subband processing response h{circumflex over ()}(t) as a target impulse response.
(40) The subband processing may be done using filtering and downsampling, as shown in
where the mode frequencies and dampings are adjusted according to the subband n downsampling ratio R.sub.n,
where rem( )represents the remainder function, and t is the downsampled sample number. Note that the scaling of the decay rate by the downsampling ratio is due to the downsampled samples covering a factor of R.sub.n, more time. Similarly, the modal frequency is increased by a factor of R.sub.n, and aliased to the downsampled unit circle. The amplitude is likewise increased by the factor R.sub.m, as the downsampling and upsampling reduce the amplitude of the subband signal by the downsampling ratio. After applying the subband mode filters, the signal is upsampled at 608, filtered at 610, and summed to form the output.
(41) Note that the band filters b.sub.n(t) may be designed so that their transition bands overlap, while their pass bands don't overlap, as shown in
(42) Similarly, the band filters b.sub.n(t) may be designed to have overlapping pass bands, as seen in the example of
(43) For a given modal filter having a set of mode frequencies, and processed according to the subband processing of
(44) The subband processing may also be done using heterodyning and modulation, as illustrated in
as the original mode frequency .sub.p becomes .sub.p.sub.n when it is heterodyned to baseband. The processed downsampled signal is then upsampled at 910, filtered at 912, and modulated at 914 to its output frequency band, typically by n, the same frequency used to heterodyne the band.
(45) Another approach to band processing using real-valued signals is shown in
(46) As an example of the processing performed by the embodiment of
(47) In certain implementations of the modal filter, a frequency shifting is implemented, in effect modulating the mode envelope by an output frequency v.sub.m that is different from the mode frequency .sub.m (e.g., [3]). In the context of subband processing, a group of modes that are shifted to higher frequencies will occupy a greater output bandwidth, as shown in
(48) In the presence of distortion processing, additional partials are generated. Such additional partials would significantly increase the bandwidth of the subband output, and reduce the computational savings afforded by the subband architecture. In this case, as seen in
(49) Note that this architecture is also applicable to any case in which a mode frequency is shifted out of its respective band. In such cases, the matrix M could be sparse, having only one nonzero entry for each mode filter p.
(50) While the processor of
(51) Although the present embodiments have been particularly described with reference to preferred examples thereof, it should be readily apparent to those of ordinary skill in the art that changes and modifications in the form and details may be made without departing from the spirit and scope of the present disclosure. It is intended that the appended claims encompass such changes and modifications.