This invention is applicable in the field of Digital Audio Processing and, in particular, to aliasing cancellation in an audio effects algorithm.
Audio effects such as delay, echo, reverberation, flanging and chorus are indispensable in music production and performance. Most of these effects today are implemented using digital signal processors. The modulating delay line forms the basis of many of these standard audio effects. The “dry” input is mixed with the effect signal, which is usually a linear function of the modulating delay.
Delay modulators introduce interpolation and aliasing artifacts. Previously, DSP processor were limited in their processing power and so it was understandable that algorithms made no extra effort to correct such errors. However, today, processing power is becoming lesser and lesser the limiting factor. In such a setting it is important that high quality be achieved by removing all artifacts and distortion.
In accordance with the disclosed embodiment of the present invention, there is provided a method and apparatus for effecting aliasing cancellation in an audio effects algorithm using a delay modulated signal, derived from interpolation of a delay modulator at an instantaneous sampling frequency, including:
Preferably, the delay modulated signal of a sampled version x[n] of the band limited analogue signal x(t) is expressed as
y[n]=x({n+D/2sin(won)}Ts)
Preferably, interpolation of the delay modulated signal y[n] is computed using
Preferably, the instantaneous sampling frequency, for a generalised modulating function g(n) is derived from
Tisf=[1+g(n)−g(n−1)]Ts
In accordance with another aspect of the invention, a method of aliasing cancellation is provided that includes determining the instantaneous sampling frequency 1/Tisf for analogue input signal x(t);
In accordance with another aspect of the foregoing embodiment, the method further includes interpolating the delay modulation signal by using
In accordance with yet another embodiment of the invention, an audio signal device for generating audio effects as provided that comprises:
Consider a uniformly sampled version x[n] of the bandlimited analog signal x(t). A single reflection or echo of the signal can be implemented by the following filter, which adds to the direct signal a delayed copy of itself
y[n]=ax[n]+(1−a)*x[n+d(n)], 1>a>0 (1)
For echo the delay d(n)=D, which essentially means that delay is constant. Note that although the equation (1) is noncausal the actual system can be made causal by adding an overall delay.
More interesting audio effects, such as flanging, chorus and reverberation can be created by allowing the delay d(n) to vary in time e.g.
d(n)=D/2sin (won)
Therefore, the delay keeps oscillating between −D/2 and D/2, about the centre point. For the simple implementations of (1) the effect is like two singers—the lead singer sings normally while the other singer keeps racing up and down.
Consider the delay modulator (also known as vibrato)
y(n)=x[n+d(n)]
in (1). It essentially attempts to perform non-uniform sampling of the signal x(t) i.e.
y[n]=x({n+D/2sin(won)}Ts)
Since the only information about x(t) that is available to the system is that of values at discrete times nTs, some forms of interpolation is required to compute y[n]. The simplest approach is to use linear, cubic or lagrange interpolation
n′=1NT(n+D/2sin(won))
and
Δt=[n+D/2sin(won)]Ts−nTs
What these interpolation methods overlook is the aliasing resulting from sampling below the Nyquist limit.
Consider the instantaneous sampling frequency (1/Tisf) at time nTs+Δt
To remove aliasing errors from the interpolated signal, the signal x[n] should be first bandlimited to ½Tisf. The interpolation and filtering however can be combined into one operation by using the analog reconstruction filter model. We now show how this is possible.
We know from sampling theorem that the signal x(t), bandlimited to F/2, can be reconstructed from its samples x(nTs) as
Since the new sampling frequency is Fisf=1/Tisf (and if Fisf<F1) the limit in the above equation should be changed accordingly, thus leading to
Upon simplification the above Eq leads to
Finally, the summation must be limited to a finite range, for practical implementation. Therefore
y[n]=xc(n′Ts+Δt)
evaluated by considering 2N+1 sample points (x[n]) about nTs, is equivalent to
In the above example the modulating function was the sinusoidal sin won. If a general modulating function g(n) is used the above formulation still works with the definition of the instantaneous sampling frequency as (1/Tisf) as
Tisf=(1+g(n)−g(n−1)]Ts
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SG99/00129 | 11/24/1999 | WO | 00 | 11/8/2002 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO01/39171 | 5/31/2001 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4607642 | Powers | Aug 1986 | A |
4942799 | Suzuki | Jul 1990 | A |
5648778 | Linz et al. | Jul 1997 | A |
5789689 | Doidie et al. | Aug 1998 | A |
5814750 | Wang et al. | Sep 1998 | A |
5815580 | Craven et al. | Sep 1998 | A |
5920842 | Cooper et al. | Jul 1999 | A |
6591241 | Absar et al. | Jul 2003 | B1 |
20010000313 | Zhang | Apr 2001 | A1 |
Number | Date | Country |
---|---|---|
0 178 840 | Apr 1986 | EP |
0 474 177 | Mar 1992 | EP |