11.07.2015 Views

Physical Modeling of Plucked String Instruments with Application to ...

Physical Modeling of Plucked String Instruments with Application to ...

Physical Modeling of Plucked String Instruments with Application to ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

VALIMAKI ETAL.PAPERSrecursive filters. This method was tested in the context the filter. For/-/l(Z) tO be a stable low-pass transfer func<strong>of</strong>string modeling [27]. An extensive review <strong>of</strong> digital tion, we require that - 1 < al < 0. The numera<strong>to</strong>r 1 +'filter approximations for fractional delay has been pre- a I scales the frequency response (divided by g) at 0 <strong>to</strong>sented by Laakso et al. [25]. unity, thus allowing control <strong>of</strong> the gain at co = 0 usingReal strings are more or less stiff so that the wave the coefficient g. We require that Igl_< 1.propagation is dispersive, that is, the <strong>to</strong>tal loop delay is Fig. 10 shows the magnitude response and the groupfrequency dependent. In principle, a single filter may delay <strong>of</strong> the loop filter HI(z) [Eq. (6)] <strong>with</strong> three differentimplement both the magnitude and the phase in the string values <strong>of</strong> coefficient a1. These values have been chosenmodel loop, but in practice it is easier <strong>to</strong> use three filters so that they represent cases found in practice. In this exam<strong>to</strong>control the three parts separately-- a linear-phase all- ple g = 0.99. (A change in g merely shifts the magnitudepass approximation F(z)<strong>to</strong> control the fundamental fre- response curve vertically.) Note that the group delay <strong>of</strong>quency, the loop filter Hi(z) <strong>to</strong> control the magnitude the loop filter is very small in all three cases.response, and an all-pass filter D (z) <strong>to</strong> adjust the frequen- Fig. 11 shows the impulse response <strong>of</strong> the string modelcy-dependent overall phase delay. See [29], [30] for a S(z) <strong>with</strong> the three loop filters <strong>of</strong> Fig. 10. Here the lengthdiscussion on the implementation <strong>of</strong> dispersive waveguidemodels using all-pass filters. For low strings, especiallyor crucial on the <strong>to</strong> piano the timbre [31], <strong>of</strong> [32], sound dispersivity synthesis. isFor important higher xp(n) '_'ri_ )_Ht(z_ Il L y(n)strings the dispersivity is relatively small. In mostplucked string instruments the effect due <strong>to</strong> dispersion Fig. 9. Block diagram <strong>of</strong> the string model S(z). F(z)--FIR orcan be neglected and the filter D(z) may be left out <strong>of</strong> all-pass-type fractional delay filter; Hl(z)--loo p filter.the model.To conclude our discussion on the frequency depen- i' 'al:-o00, _dence <strong>of</strong> the string length, let us express L((o) by means 41=---¢_i<strong>of</strong>L(co) the three = L I filters + 'tH(CO) discussed, + 'TF(00 ) "{- 'rD(la) ) (5) _0.95i _'0'9 tai_085'0 0.05 0:l 0.15 0'.2 0.25 0'.3 0.35 0.4 0.45 0.5where L[ is the integer number <strong>of</strong> unit delays in the·delay N.... lized Frequencyline, and Xn(CO),xr(co)m, and 'rD(m)are the phase delays(a)<strong>of</strong> the loop filter Hi(z), the fractional delay filter F(z), _______ . , ..,_and the dispersion filter D(z), respectively. Fig. 9 illus- 0.052.3trateSLoopthe In the original implementationFilter KS model <strong>of</strong> the thestring loop model filter Hl(z S(z). ) is a _0_-0o5........{_l_ -- -- _'"'"_ _ !ltwo-tap averager which is easy <strong>to</strong> implement <strong>with</strong>out Normalized Frequency----__i_alal =-0.01= -0.001' -0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5multiplications [3]. This simple filter, however, cannot (b)match the frequency-dependent damping <strong>of</strong> a physical Fig. 10. Magnitude response and group delay <strong>of</strong> one-pole loopstring. We feel that an FIR filter is not suited <strong>to</strong> this filter for three different values <strong>of</strong> a I. g = 0.99 in all cases.purpose since its order should be rather high <strong>to</strong> matchthe desired characteristics. Instead we suggest the useal = -0.001, g = 0.99, L = 19o a,m ,owpass.,terforsimu,ati. 'ILIILL Li III1I thcharacteristics <strong>of</strong> a physical string. The same decision ?was made in [12]. From [17], [33] it can be concluded _0.5that a second- or third-order all-pole filter could be suita- < 0_10 100 260 300 400 560 600 700 800 900 1000ble for a loop filter. It is important <strong>to</strong> use the simplest Sample Indexsatisfying loop filte r since one such filter is needed for 41=-0.ol.g=o.99. L=19static filter, but its coefficients should be changed as a _0_tll 1the function model<strong>of</strong> <strong>of</strong> theach string string.Also, length and other loop playing filteris param- not a < o/tit i ].,j '_ i 'eters. This is easiest <strong>to</strong> achieve using a low-order IIR 0 100 200 300 400 500 600 700 800 900 1000· Sample Indexfilter. We found that a reasonable approximation mayal = -O.O5,g =0.99, L = 19be obtainedusinga first-orderall-polefilter, i .........1 + a I (6) _0.5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!