Proc. of the 7th Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004

COMPUTATION OF NONLINEAR FILTER NETWORKS CONTAINING DELAY-FREE PATHS

Federico Fontana, Davide Rocchesso Federico Avanzini

Dept. of Computer Science Dept. of Information Engineering University of Verona University of Padova Strada le Grazie 15, 37134 Verona, Italy Via Gradenigo 6/A, 35131 Padova, Italy [email protected] [email protected] [email protected]

ABSTRACT rect counterpart in a corresponding linear digital filter network. Al- ternatively, analog transfer characteristics of linear elasto-mechanic A method for solving filter networks made of linear and nonlin- and fluid-dynamic systems can be computed in the Laplace domain ear filters is presented. The method is valid independently of the [6]. From there, several techniques can be invoked to transform presence of delay-free paths in the network, provided that the non- the analog characteristics into corresponding discrete-time trans- linearities in the system respect certain (weak) hypotheses verified fer functions and, finally, into a digital filter network [7, 8]. by a wide class of real components: in particular, that the contribu- In principle the discretization of an analog system does not tion to the output due to the memory of the nonlinear blocks can be prevent the final digital filter network to contain delay-free paths. extracted from each nonlinearity separately. The method translates In the linear case such a network can be always rearranged into into a general procedure for computing the filter network, hence it a new filter network in which the delay-free paths have been for- can serve as a testbed for offline testing of complex audio systems mally solved by composing the filters belonging to them into big- and as a starting point toward further code optimizations aimed at ger linear structures that “embed” the loop [3]. Nevertheless there achieving real time. are cases where this rearrangement is deprecated. These include situations in which the access to the filter parameters becomes too 1. INTRODUCTION complicated after the rearrangement. Furthermore, the elimina- tion of a delay-free path implies that all the branches belonging The history of audio effects design traces back to the world of to it cannot be used any longer as input/output points where to analog circuits, perhaps even before [1, 2]. It was not long after inject/extract the to/from the system: this problem is par- the digital architectures had appeared, that scientists considered ticularly relevant in the design of virtual musical instruments by the possibility to reproduce in the digital domain the analog and physical modeling [9, 10]. electro-acoustic mechanisms the early audio effects were based The analog-to-digital conversion becomes even more compli- upon: at first with the aim of improving their quality by modeling cated when one or more nonlinearities exist in the continuous-time them through digital filters; later on, with the goal of simulating system. Linearizing the system before the conversion is often for- these effects on digital equipment ranging from specialized hard- bidden since the nonlinearity adds unique features, impossible to ware available in the studio to more common PC’s, audio cards reproduce with a linear behavior. As long as nonlinearities are in- and other consumer electronic devices. volved in the conversion new problems come into play, the most The conversion into a sequence of discrete computations of important of which is certainly the preservation of the system sta- a continuous-time process, such as the one realized by an analog bility along with a precise simulation of the nonlinear character- electronic, electro-acoustic, fluid-dynamic or mechanical system, istic [11, 12, 13, 14]. One further complication arises if a nonlin- must move through a number of steps each one potentially in- earity is part of a delay-free path: in this case there is no general troducing approximations that progressively shift the model away procedure to rearrange the transfer functions of the loop to come from the original system. Sometimes such approximations intro- up with a new linear structure in which to embed the delay-free duce negligible effects, if any at all. Conversely, there are cases path. in which they generate intolerable problems, often resulting in Moved by the idea of defining a general method for the repre- heavy artifacts affecting the system response or, even, preventing sentation of nonlinear filter networks, we have pointed out a strat- the model to work correctly. egy that in principle enables to model a network of (one-dimensio- The theory of digital suggests how a discrete- nal, although the method can be extended to the multi-dimensional time system can be realized in the form of a network of filters, case) nonlinear and linear filter realizations, even in presence of suitable for implementation on a real-time processor. In the most delay-free paths. Here we will assume that each filter block—both simple case these filters are linear, furthermore they all run at one linear and nonlinear—has been already precisely modeled, and it single sampling frequency over networks that do not contain delay- is ready to be included in the network. free paths [3]. We also implicitly assume the stability of the resulting sys- Various methods taken from the numerical analysis allow to tem. This assumption, because the method does not deal with the represent continuous-time systems in terms of networks made of analog-to-digital conversion problem and the related stability is- individual interconnected processing blocks [4, 5], that have a di- sues [19, 4, 14]. Instead, it focuses on the way linear and nonlinear

DAFX-1 Proc. of the 7th Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004

filters can be connected each other from a purely structural view- In practice this class of nonlinear functions is sufficiently expres- point, preserving their original position in the network in terms of sive for a wide range of audio applications [12, 14, 20]. input/output mutual relations. In particular we will deal with the On the other hand, in the linear case the historical component case when nonlinear blocks are part of a delay-free loop, and pro- qi can be immediately found out in every transfer function by gath- vide a method to compute those loops without rearranging them ering all past components together in the time-domain version of into a different topology. (1):

y [n] = b x [n] + q [n] , i = 1, . . . , m (4) 2. FORMAL SOLUTION OF NONLINEAR DELAY-FREE i i i i L PATHS Zi Pi qi[n] = bk,ixi[n k] + ak,iy[n k] (5) X − X − A technique to compute simple linear delay-free paths without re- k=1 k=1 arranging the loopback topology has been first proposed by Harm¨ a¨ in which the coefficient b0,i has been simply denoted as bi. [15]. This technique has been successfully employed for the com- putation of warped IIR filters [16] and magnitude-complementary parametric equalizers [17], and it has been generalized to linear 2.2. Connections between blocks filter networks containing an arbitrary delay-free path configura- Without loss of generality we can assume that the whole network tion [18]. Here we will extend the same technique to networks forms one single delay-free loop. Alternatively we can extract containing nonlinear blocks. from the filter network a number of subgraphs forming individual We need to: delay-free subnetworks, then treat each of them separately using 1. rearrange every linear and nonlinear transfer function, in the method presented below, and finally feed the remaining blocks order to separate the contribution of the instantaneous from in the network with the output from such subnetworks1 [21]. the historical component in the function; For each of the mL + mN block inputs we consider the Ri 2. define additional equations accounting for the connections outputs from other blocks that feed that input, possibly with the between blocks; addition of an external signal ui directed to the same input:

3. evaluate the historical component in every (both linear and Ri nonlinear) block; x [n] = y [n] + u [n] , i = 1, . . . , m + m . (6) i X ik i L N 4. substitute the linear constraints into the nonlinear equations. k=1 Hence, if possible, solve the nonlinearities (that is, compute Note that the paths that connect y and x directly must be treated the signal output from every nonlinear block); i i as separate network branches. In other words, the condition 5. compute, if possible, the output from every linear block; 6. correctly update the historical components in each block. ik = i , k = 1,...,Ri (7) 6 In the following we address each point in detail. must be satisfied for any i. For this purpose, such branches must result in corresponding equations that are a particular case of (4): 2.1. Rearrangement of the transfer characteristics yi = xi. Equations (6) establish the correction between all the blocks. The network is made of mL linear filters, here expressed using their transfer function Figure 1 depicts the situation in the case of a branch formed by a linear block: in this case the historical component is computed Zi k simply by feeding the filter with a null value [15]. b z− X k,i k=0 Hi(z) = , i = 1, . . . , mL, (1) u Pi i k 1 ak,iz− y − X i1 k=1 x i b i + + + y i and mN nonlinear blocks, specified by writing their transfer char- y acteristic in the discrete time from the input xi to the output yi: iR q i H (z) i yi[n] = fi xi[n], pi[n] , i = 1, . . . , mN . (2) i  In writing (2), it is implicitly assumed that the nonlinear blocks respect two hypotheses: Figure 1: Structure of a linear filter branch. The output yi is ob- tained as a superposition of the instantaneous component xi, plus the output yi can be made explicit. More weakly, that every • the historical component qi. The input is the result of summing the nonlinearity admits the existence of a transfer function fi outputs yi , . . . yi from other branches plus one (possibly null) in the form expressed by (2) [19]; 1 Ri external input ui. pi contains only the contribution of the historical compo- • nents in the function in a way that we can evaluate the non- For the nonlinear blocks the situation is slightly different, in linearity for past input and output values, thus obtaining a that the scheme depicted in figure 1 becomes computable as long new function in the single variable xi: as pi is known by (3). yi[n] = fi xi[n], pi[n] , i = 1, . . . , mN  1Although in the pure linear case the proposed method works for any pi[n] = pi(xi[n 1], yi[n 1], pi[n 1],...) (3) − − − network topology [18].

DAFX-2 Proc. of the 7th Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004

2.3. Solution of the system with

Once the previous algebra has been carried out we come up with 1 W = C BF − (14a) the following equations: 3 NL LL W 1 = W 3CLN + CNN (14b) yi[n] = fi xi[n], pi[n] , i = 1, . . . , mN   W 2 = W 3CLL + CNL (14c)   yi[n] = bixi[n] + qi[n], i = mN +1, . . . , mN +mL  . Ri 2.4. Solving nonlinearities x [n] = y [n] + u [n], i = 1, . . . , m + m  i ik i N L  X  k=1 Equation (13) defines the inputs xN [n] to the nonlinear blocks  in terms of known quantities: the historical components q[n] and Such equations can be rewritten in matrix form as the external inputs uL[n], uN [n]. In addition the matrix W 1 iso- lates the instantaneous dependence of xN [n] on y [n]. From (8a) yN [n] = f xN [n], p[n] , (8a) N  and (13), the nonlinear equations can be written as yL[n] = BxL[n] + q[n], (8b) x[n] = Cy[n] + u[n], (8c) yN [n] = f W 1yN [n] + W 2q[n] + W 3uL[n] + uN [n], p[n] . (15) in which the column vectors xN , yN , xL, yL, p, q, u collect the respective signal components and y,, x, f are defined as Recall that p contains only the contributions of historical compo- nents (see equation (3). Therefore at each time step yn is the only f1 x1, p1 unknown in (15) and p parametrizes the function f: yN xN  y = , x = , f xN , p = ... . yL xL  ˜ fm xm , pm y [n] = f W 1y [n] + x˜N [n] , (16) N N N  N p N  Furthermore B is a diagonal matrix containing the linear coeffi- f˜ = f , p[n] x˜ [n] = W q[n]+W u [n]+ cients b , . . . , b and C accounts for the connections between where p and N 2 3 L 1 mL u [n] · ·  blocks: if the element c is equal to one then the jth output block N collects the contribution of known quantities to the input ij x is connected to the ith input block, otherwise it is equal to zero. N . Note that the property (7) translates into the fact that every diago- Equation (16) provides a formulation which has strong simi- nal element in C is equal to zero. larities with that developed in [19]. According to it, the nonlinear ˜ In particular, C can be seen as composed of four sub-matrices function f p defines implicitly the dependence of yN [n] on x˜N [n]. In addition to the formulation given in [19], the nonlinearity is here respectively accounting for the connections from (CNN ) nonlin- parametrized by the historical components p. ear to nonlinear, (CNL) linear to nonlinear, (CLN ) nonlinear to linear, and finally (CLL) linear to linear blocks. For this reason in It was shown in [19] that, under appropriate conditions for (8c) we also split the vector u into uN and uL: the matrix W 1, the implicit dependence yN (x˜N ) admits a global representation, and can therefore be precomputed and stored in a x C C y u N = NN NL N + N . (9) look-up table for efficient implementation. However, the efficiency xL CLN CLL yL uL of a table look-up drops dramatically with increasing dimension- ality of the input. Furthermore, in our case the input to the table Substitution of equations (8a) and (8b) in (9) gives comprises not only x˜N , but also the historical components p.

xN = CNN f xN , p + CNL(BxL + q) + uN (10a) An alternative choice to table look-up is iterative search: at  each time step the value yN [n] is found by searching a local zero xL = CLN f xN , p + CLL(BxL + q) + uL.(10b)  of the function Let I denote the identity matrix, then in (10a) and (10b) we can g[y ] = f˜ W 1y + x˜N y (17) move all terms to the left-hand side except for the linear historical N p N  − N components and the external inputs, respectively: The Newton-Raphson algorithm operates the search in this way: xN CNN f xN , p CNLBxL = CNLq + uN , (11a) −  − CLN f xN , p + (I CLLB)xL = CLLq + uL. (11b) −  − yN0 = yN [n 1] 2 − If the matrixI CLLB =4 F LL is invertible then we can isolate k = 1 − xL in (11b): while (err > Errmax)

1 1 Compute g(yNk) from Eq. (17) xL = F LL− CLN f xN , p + F LL− (CLLq + uL), (12) 1  Compute yN(k+1) = yNk J k− g(yNk) Compute err = abs(y − · y ) and substitute this formula inside (11a) in a way that xL is elim- N(k+1) − Nk inated and xN remains the only unknown vector in that equation. k = k + 1 After some algebraic manipulation (11a) is in fact carried out as: end yN [n] = yNk xN = W 1f xN , p + W 2q + W 3uL + uN (13)  2It can be shown that the inverse matrix exists if the linear part of the ∂gi network respects the hypothesis of being causal [18]. where J k = ∂(y ) is the Jacobian of g evaluated in yNk.  N j yNk

DAFX-3 Proc. of the 7th Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004

y1

ymN

y H mN+1 x 1 mN+1 q 1 −1 FLL y mN+mL x mN+mL H mL q mL

C + LN

x 1 + f1 CLL p 1 W1

x mN u fmN L W3 Newton− pmN Raphson

+ + + W2

uN

Figure 2: Schematic of the proposed method.

2.5. Filter update Though, no computations are necessary if the filters are re- alized in transposed direct form [3, 18]. Once the values of xN [n] and yN [n] have been found, we can 2 compute xL[n] from (12), and yL[n] from (8b). In the time-invariant case the method requires O (mN + mL) At this point of the procedure the system not only produces computations to compute the output at each temporal step, plus the output y[n] but it is also ready to update all the nonlinear and those needed to solve (17). Although the quadratic complexity is linear blocks correctly, that is, to inject the components of x[n] competitive especially when a network contains many filter con- to the respective blocks. As a consequence of the latter operation nections [18], nevertheless the effort taken to solve the nonlinear- new values of the historical components, p[n + 1] and q[n + 1], ity can play a major role in the overall computational complex- become available for the next step of the procedure. ity if the Newton-Raphson algorithm converges slowly. For this reason, a real time implementation should rather consider to use 2.6. Summary of the procedure pre-computed solutions of (17), hence turning time into space (i.e., memory) consumption, except for specific cases in which Newton- It is convenient to summarize the overall computations that take Raphson is guaranteed to converge in a given number of steps. place in the system during each step (refer also to figure 2):

1. yN [n] is computed by means of (16) using the external in- 3. AN EXAMPLE: NONLINEAR CONTACTING puts uN [n] and uL[n], and the historical components p[n] and q[n]; RESONATORS 2. x [n] is computed from (13); N In order to provide an example application, the method presented 3. xL[n] is computed from (12); above has been tested on a physical model of two colliding res- 4. yL[n] is computed from (8b); onators. 5. p[n + 1] is found out by collecting the historical compo- nents from every nonlinear block, according to (3)—as al- 3.1. Modal description ready mentioned, we do not investigate particular forms that this equation takes; The contacting objects are modeled as modal resonators, follow- 6. q[n + 1] is produced by collecting the historical compo- ing the approach described in [22]. However, here the modal de- nents from every linear filter, for instance using (5) or, al- scription is extended in order to account for non-constant center ternatively, by feeding each filter with a null signal [15]. frequency of the resonator modes. Each mode of the resonator is

DAFX-4 Proc. of the 7th Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004 therefore described in the continuous-time domain as: In order to compute the contact force (21), the inter-penetration α velocity y˙c is also needed. This is estimated in the discrete-time (r) (r) 2 2 (r) j (r) 1 (r) y¨j + gj y˙j + ω0j + ω1j yj yj = ftot , (18) domain using the bilinear transformation:  ·  mj

y˙c[n] = 2Fs(yc[n] yc[n 1]) y˙c[n 1] where y(r) is the displacement of the jth mode of the resonator and − − − − (24) j = 2Fsxm [n] + pm [n], (r) N N ftot represents the net sum of forces that drive the resonator. The parameter gj is the modal damping coefficient, and 1/mj controls where the historical component pmN [n] is defined as the “inertial” properties of the mode (mj has the dimension of a αj p [n] := 2F x [n 1] +y ˙ [n 1] ω2 y(r) mN s mN c (25) mass). Note that a nonlinear correction 1j j has been = 4F x [n − 1] p [−n 1] · s mN mN added to the center frequency ω0i. − − − The effect of this correction is to increase the instantaneous The nonlinear characteristics are then given as center frequency with increasing displacement3. 2 αj +1 Equation (18) can be rewritten as fi(xi, pi) := mj ω xi , (26a) − 1j ·  (i = 1, . . . m 1, j : ω = 0), 1 αj +1 N 1j y¨(r)+g y˙(r)+ω2 y(r) = f (r) m ω2 (y(r)) y(r) , − 6 j j j 0j j tot j 1j sgn j j f (x , p ) := f (x , 2F x + p ). (26b) mj  − ·  mN mN mN c mN s mN mN (19) where a second order linear oscillator is recognized on the left- Linear blocks hand side, and the nonlinear correction is provided as an input to the oscillator on the right-hand side. The inputs to the linear blocks are defined as follows: r xi := yi m + ( 1) ym , 3.2. Contact − N − N (i = mN + 1,... 2mN 1), r − (27) xi := ( 1) ym Given two nonlinear modal resonators (r = 1, 2) as described − N above, an impulsive contact (collision) between them is modeled (i = 2mN , . . . mN + mL), by assuming that the force acting on each mode is given by with r(= 1, 2) such that the ith input belongs to resonator r. The (r) (r) r external inputs u are simply f = f + ( 1) fc, (20) L tot ext − (r) where fc represents the contact force that occurs during collision. ui := fext, (i = mN + 1, . . . mN + mL) (28) This is generated using the nonlinear model discussed in [22]: with r(= 1, 2) such that the ith input belongs to resonator r. α α kyc + λyc y˙c yc > 0, Correspondingly, the outputs from the linear blocks are the fc(yc, y˙c) =  · (21) 0 yc 0, modal displacements: ≤ (1) (2) (r) where yc = y y is the inter-penetration of the two ob- yi := yj (i = mN + 1, . . . , mN + mL, j = 1, . . . , mL). jects and y(1), y(2)−are the object displacements, obtained as linear (29) combinations of the respective modal displacements (see [22]). In order to compute the transfer functions Hi(z) between the forces xi and the modal displacements yi (i = mN + 1, . . . , mN + 3.3. Discrete-time system mL, j = 1, . . . , mL), equation (19) is discretized with the bilin- ear transformation. It can be seen that the filter coefficients ak,i The simple mechanical system described above can be transposed and bk,i defined in (1) are given by into the discrete-time domain using the formulation outlined in 2 2 2 2 section 2. The number mL of linear blocks equals the total num- ω0j 4Fs ω0j + 4Fs a1,i = − , a2,i = 1, ber of linear oscillators (19). The number mN of nonlinear blocks 2∆j 2∆j − equals the number of non-null correction terms ω1j plus one, i.e. 1 1 (30) b0,i = b2,i = , b1,i = , the contact force (21). 4mj 2mj (i = mN + 1, . . . , mN + mL, j = 1, . . . , mL). Nonlinear blocks 2 2 where the quantity ∆j is given by ∆j = Fs +gj Fs/2+[ω0j ] /4. The inputs to the nonlinear blocks are defined as follows:

(r) 3.4. Summary of the example xi := y , (i = 1, . . . mN 1, j : ω1j = 0), j − 6 (22) xmN := yc, The above discussion has shown that the mechanical system under consideration can be assembled using three kind of computational The external inputs uL are zero. The historical components p are blocks. all zero except for the last one: The second-order filter whose coefficients are given in (30) • pi = 0 (i = 1, . . . mN 1). (23) is instantiated as many times as the number of modeled res- − onating modes. 3Note however that no attempt is made here to provide a quantitative physical description of the nonlinear correction. We are only interested in The nonlinear memoryless block (26a) is instantiated as • its qualitative effect, and its implications on the computational structure. many times as the number of non-null correction terms ω1,j .

DAFX-5 Proc. of the 7th Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004

The nonlinear block with memory (26b) is instantiated once [8] A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal • ad accounts for the contact force. Processing, Prentice-Hall, Inc., Englewood Cliffs, NJ, 1989. The computational blocks are then connected according to the topol- [9] J. O. Smith, “Physical modeling using digital waveguides,” ogy specified by equations (22) and (27): note that these equations Computer Music Journal, vol. 16, no. 4, pp. 74–91, Winter define implicitly the connection matrix C given in (9). Finally, the 1992. computation of the resulting system is performed according to the [10] G. De Poli and D. Rocchesso, “Physically-based sound mod- procedure summarized in section 2. eling,” Organised Sound, vol. 3, no. 1, 1998. [11] S. A. Van Duyne and J. O. Smith, “A simplified approach 4. CONCLUSION to modeling dispersion caused by stiffness in strings and We have presented a general procedure that enables to model a plates,” in Proc. Int. Computer Music Conf., Aarhus, Den- generic network of nonlinear and linear computational blocks that mark, Sept. 1994, ICMA, pp. 407–410. satisfy weak hypotheses. [12] G. Borin and G. De Poli, “A Hysteretic Hammer-String It has been shown that the network can be solved even in the Interaction Model for Physical Model Synthesis,” in presence of delay-free paths that involve nonlinear blocks. More- Proc. Nordic Acoustical Meeting (NAM-96), Helsinki, Fin- over, the proposed solution does not require any rearrangement of land, June 1996, pp. 399–406. the network and preserves the original topology of the network, in [13] F. Avanzini and D. Rocchesso, “Modeling collision sounds: terms of mutual input/output relations between blocks. Non-linear contact force,” in Proc. Conf. on Digital Audio The example application provided in section 3 has shown that Effects (DAFX-01), Limerick, Ireland, Dec. 2001, pp. 61–66. the proposed procedure allows for a highly modular formulation of the system. Each computational block has a clear physical mean- [14] F. Avanzini and D. Rocchesso, “Efficiency, accuracy, and ing: in the example the linear blocks are second order oscillators stability issues in discrete time simulations of single reed in- that represent modes of resonating objects, while nonlinear blocks struments,” J. of the Acoustical Society of America, vol. 111, are forces. no. 5, pp. 2293–2301, May 2002. Each computational block can therefore be modeled indepen- [15] A. Harm¨ a,¨ “Implementation of frequency-warped recursive dently. Then, provided that a connection topology is specified, filters,” EURASIP Signal Processing, vol. 80, no. 3, pp. 543– the global computational structure for the complete system is con- 548, Mar. 2000. structed automatically using the procedure given in section 2. [16] A. Harm¨ a,¨ M. Karjalainen, L. Savioja, V. Valim¨ aki,¨ U. K. In the context of this research, the most desirable feature of Laine, and J. Huopaniemi, “Frequency-warped signal pro- this methodology would be to establish general criteria to guaran- cessing for audio applications,” J. of the Audio Engineering tee the preservation of the structural properties of the system while Society, vol. 48, no. 11, pp. 1011–1031, Nov. 2000. moving from the analog to the digital domain, in a way that at the end of such a translation each filter block has a clear physical [17] F. Fontana and M. Karjalainen, “A digital bandpass/bandstop meaning. We are currently working on extending the scope of the complementary equalization filter with independent tuning method in this direction. characteristics,” IEEE Signal Processing Letters, vol. 10, no. 4, pp. 88–91, Apr. 2003. 5. REFERENCES [18] F. Fontana, “Computation of linear filter networks containing delay-free loops, with an application to the waveguide mesh,” [1] Hammond Organ Company, Franklin Park, IL, Hammond IEEE Trans. on Speech and Audio Processing, vol. 11, no. 6, B-3 Service Manual. pp. 774–782, Nov. 2003. [2] B. Blesser, “An interdisciplinary synthesis of reverberation [19] G. Borin, G. De Poli, and D. Rocchesso, “Elimination of viewpoints,” J. of the Audio Engineering Society, vol. 49, no. delay-free loops in discrete-time models of nonlinear acous- 10, 2001. tic systems,” IEEE Trans. on Speech and Audio Processing, [3] S. K. Mitra, Digital Signal Processing. A computer-Based vol. 8, no. 5, pp. 597–605, 2000. Approach, McGraw-Hill, New York, 1998. [20] F. Fontana and M. Bricchi, “Process for noise reduction, [4] S. Bilbao, Wave and Scattering Methods for the Numeri- particularly for audio systems, device and computer program cal Integration of Partial Differential Equations, Ph.D. the- product therefor,” US Requested Patent US2003004591, Jan. sis, CCRMA, Stanford University, Stanford (CA), May 2001, 2003. available at http://ccrma-www.stanford.edu/∼bilbao/. [21] J. Szczupak and S. K. Mitra, “Detection, location, and re- [5] L. Trautmann and R. Rabenstein, “Digital sound synthesis moval of delay-free loops in digital filter configurations,” based on transfer function models,” in Proc. IEEE Workshop IEEE Trans. on Acoustics, Speech and Signal Processing, on Applications of Signal Processing to Audio and Acoustics, vol. ASSP-23, no. 6, pp. 558–562, 1975. New Paltz, NY, 1999, pp. 83–86. [22] F. Avanzini, M. Rath, D. Rocchesso, and L. Ottaviani, “Low- [6] C. Cadoz, A. Luciani, and J.-L. Florens, “CORDIS-ANIMA: level models: resonators, interactions, surface textures,” in A Modeling and Simulation System for Sound Synthesis - The Sounding Object, D. Rocchesso and F. Fontana, Eds., pp. The General Formalism,” Computer Music Journal, vol. 17, 137–172. Edizioni Mondo Estremo, Florence, Italy, 2003. no. 1, pp. 19–29, Spring 1993. [7] A. C. Constantinides, “Spectral transformations for digital filters,” Proc. IEE, vol. 117, pp. 1585–1590, 1970.

DAFX-6